Snap for 7256110 from fa91e13f76f3f4f269e0c9bbb2c90d1f089d62f2 to sc-v2-release

Change-Id: I5f8632f2d9a768b29ff5b9e3912d238307f75b04
diff --git a/current b/current
deleted file mode 120000
index e8a156f..0000000
--- a/current
+++ /dev/null
@@ -1 +0,0 @@
-r21
\ No newline at end of file
diff --git a/r23/source.properties b/current/source.properties
similarity index 100%
rename from r23/source.properties
rename to current/source.properties
diff --git a/r21/sources/android/cpufeatures/Android.mk b/current/sources/android/cpufeatures/Android.mk
similarity index 100%
rename from r21/sources/android/cpufeatures/Android.mk
rename to current/sources/android/cpufeatures/Android.mk
diff --git a/r21/sources/android/cpufeatures/NOTICE b/current/sources/android/cpufeatures/NOTICE
similarity index 100%
rename from r21/sources/android/cpufeatures/NOTICE
rename to current/sources/android/cpufeatures/NOTICE
diff --git a/r23/sources/android/cpufeatures/cpu-features.c b/current/sources/android/cpufeatures/cpu-features.c
similarity index 100%
rename from r23/sources/android/cpufeatures/cpu-features.c
rename to current/sources/android/cpufeatures/cpu-features.c
diff --git a/r23/sources/android/cpufeatures/cpu-features.h b/current/sources/android/cpufeatures/cpu-features.h
similarity index 100%
rename from r23/sources/android/cpufeatures/cpu-features.h
rename to current/sources/android/cpufeatures/cpu-features.h
diff --git a/r21/sources/android/native_app_glue/Android.mk b/current/sources/android/native_app_glue/Android.mk
similarity index 100%
rename from r21/sources/android/native_app_glue/Android.mk
rename to current/sources/android/native_app_glue/Android.mk
diff --git a/r23/sources/android/native_app_glue/NOTICE b/current/sources/android/native_app_glue/NOTICE
similarity index 100%
rename from r23/sources/android/native_app_glue/NOTICE
rename to current/sources/android/native_app_glue/NOTICE
diff --git a/r23/sources/android/native_app_glue/android_native_app_glue.c b/current/sources/android/native_app_glue/android_native_app_glue.c
similarity index 100%
rename from r23/sources/android/native_app_glue/android_native_app_glue.c
rename to current/sources/android/native_app_glue/android_native_app_glue.c
diff --git a/r23/sources/android/native_app_glue/android_native_app_glue.h b/current/sources/android/native_app_glue/android_native_app_glue.h
similarity index 100%
rename from r23/sources/android/native_app_glue/android_native_app_glue.h
rename to current/sources/android/native_app_glue/android_native_app_glue.h
diff --git a/r23/sources/android/support/Android.mk b/current/sources/android/support/Android.mk
similarity index 100%
rename from r23/sources/android/support/Android.mk
rename to current/sources/android/support/Android.mk
diff --git a/r21/sources/android/support/NOTICE b/current/sources/android/support/NOTICE
similarity index 100%
rename from r21/sources/android/support/NOTICE
rename to current/sources/android/support/NOTICE
diff --git a/r23/sources/android/support/include/inttypes.h b/current/sources/android/support/include/inttypes.h
similarity index 100%
rename from r23/sources/android/support/include/inttypes.h
rename to current/sources/android/support/include/inttypes.h
diff --git a/r23/sources/android/support/include/locale.h b/current/sources/android/support/include/locale.h
similarity index 100%
rename from r23/sources/android/support/include/locale.h
rename to current/sources/android/support/include/locale.h
diff --git a/r23/sources/android/support/include/math.h b/current/sources/android/support/include/math.h
similarity index 100%
rename from r23/sources/android/support/include/math.h
rename to current/sources/android/support/include/math.h
diff --git a/r23/sources/android/support/include/stdlib.h b/current/sources/android/support/include/stdlib.h
similarity index 100%
rename from r23/sources/android/support/include/stdlib.h
rename to current/sources/android/support/include/stdlib.h
diff --git a/r23/sources/android/support/include/uchar.h b/current/sources/android/support/include/uchar.h
similarity index 100%
rename from r23/sources/android/support/include/uchar.h
rename to current/sources/android/support/include/uchar.h
diff --git a/r23/sources/android/support/include/wchar.h b/current/sources/android/support/include/wchar.h
similarity index 100%
rename from r23/sources/android/support/include/wchar.h
rename to current/sources/android/support/include/wchar.h
diff --git a/r23/sources/android/support/include/wctype.h b/current/sources/android/support/include/wctype.h
similarity index 100%
rename from r23/sources/android/support/include/wctype.h
rename to current/sources/android/support/include/wctype.h
diff --git a/r21/sources/android/support/regenerate-NOTICE.sh b/current/sources/android/support/regenerate-NOTICE.sh
similarity index 100%
rename from r21/sources/android/support/regenerate-NOTICE.sh
rename to current/sources/android/support/regenerate-NOTICE.sh
diff --git a/r23/sources/android/support/src/UniquePtr.h b/current/sources/android/support/src/UniquePtr.h
similarity index 100%
rename from r23/sources/android/support/src/UniquePtr.h
rename to current/sources/android/support/src/UniquePtr.h
diff --git a/r21/sources/android/support/src/locale_support.cpp b/current/sources/android/support/src/locale_support.cpp
similarity index 100%
rename from r21/sources/android/support/src/locale_support.cpp
rename to current/sources/android/support/src/locale_support.cpp
diff --git a/r21/sources/android/support/src/posix_memalign.cpp b/current/sources/android/support/src/posix_memalign.cpp
similarity index 100%
rename from r21/sources/android/support/src/posix_memalign.cpp
rename to current/sources/android/support/src/posix_memalign.cpp
diff --git a/r21/sources/android/support/src/support_preinclude.h b/current/sources/android/support/src/support_preinclude.h
similarity index 100%
rename from r21/sources/android/support/src/support_preinclude.h
rename to current/sources/android/support/src/support_preinclude.h
diff --git a/r21/sources/android/support/src/swprintf.cpp b/current/sources/android/support/src/swprintf.cpp
similarity index 100%
rename from r21/sources/android/support/src/swprintf.cpp
rename to current/sources/android/support/src/swprintf.cpp
diff --git a/r21/sources/android/support/src/wcstox.cpp b/current/sources/android/support/src/wcstox.cpp
similarity index 100%
rename from r21/sources/android/support/src/wcstox.cpp
rename to current/sources/android/support/src/wcstox.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++/Android.mk b/current/sources/cxx-stl/llvm-libc++/Android.mk
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/Android.mk
rename to current/sources/cxx-stl/llvm-libc++/Android.mk
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/CMakeLists.txt b/current/sources/cxx-stl/llvm-libc++/include/CMakeLists.txt
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/CMakeLists.txt
rename to current/sources/cxx-stl/llvm-libc++/include/CMakeLists.txt
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__bit_reference b/current/sources/cxx-stl/llvm-libc++/include/__bit_reference
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__bit_reference
rename to current/sources/cxx-stl/llvm-libc++/include/__bit_reference
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__bsd_locale_defaults.h b/current/sources/cxx-stl/llvm-libc++/include/__bsd_locale_defaults.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__bsd_locale_defaults.h
rename to current/sources/cxx-stl/llvm-libc++/include/__bsd_locale_defaults.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__bsd_locale_fallbacks.h b/current/sources/cxx-stl/llvm-libc++/include/__bsd_locale_fallbacks.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__bsd_locale_fallbacks.h
rename to current/sources/cxx-stl/llvm-libc++/include/__bsd_locale_fallbacks.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__config b/current/sources/cxx-stl/llvm-libc++/include/__config
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__config
rename to current/sources/cxx-stl/llvm-libc++/include/__config
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__config_site.in b/current/sources/cxx-stl/llvm-libc++/include/__config_site.in
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__config_site.in
rename to current/sources/cxx-stl/llvm-libc++/include/__config_site.in
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__debug b/current/sources/cxx-stl/llvm-libc++/include/__debug
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__debug
rename to current/sources/cxx-stl/llvm-libc++/include/__debug
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__errc b/current/sources/cxx-stl/llvm-libc++/include/__errc
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__errc
rename to current/sources/cxx-stl/llvm-libc++/include/__errc
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__functional_03 b/current/sources/cxx-stl/llvm-libc++/include/__functional_03
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__functional_03
rename to current/sources/cxx-stl/llvm-libc++/include/__functional_03
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__functional_base b/current/sources/cxx-stl/llvm-libc++/include/__functional_base
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__functional_base
rename to current/sources/cxx-stl/llvm-libc++/include/__functional_base
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__functional_base_03 b/current/sources/cxx-stl/llvm-libc++/include/__functional_base_03
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__functional_base_03
rename to current/sources/cxx-stl/llvm-libc++/include/__functional_base_03
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__hash_table b/current/sources/cxx-stl/llvm-libc++/include/__hash_table
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__hash_table
rename to current/sources/cxx-stl/llvm-libc++/include/__hash_table
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__libcpp_version b/current/sources/cxx-stl/llvm-libc++/include/__libcpp_version
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__libcpp_version
rename to current/sources/cxx-stl/llvm-libc++/include/__libcpp_version
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__locale b/current/sources/cxx-stl/llvm-libc++/include/__locale
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__locale
rename to current/sources/cxx-stl/llvm-libc++/include/__locale
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__mutex_base b/current/sources/cxx-stl/llvm-libc++/include/__mutex_base
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__mutex_base
rename to current/sources/cxx-stl/llvm-libc++/include/__mutex_base
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__node_handle b/current/sources/cxx-stl/llvm-libc++/include/__node_handle
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__node_handle
rename to current/sources/cxx-stl/llvm-libc++/include/__node_handle
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__nullptr b/current/sources/cxx-stl/llvm-libc++/include/__nullptr
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__nullptr
rename to current/sources/cxx-stl/llvm-libc++/include/__nullptr
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__split_buffer b/current/sources/cxx-stl/llvm-libc++/include/__split_buffer
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__split_buffer
rename to current/sources/cxx-stl/llvm-libc++/include/__split_buffer
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__sso_allocator b/current/sources/cxx-stl/llvm-libc++/include/__sso_allocator
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__sso_allocator
rename to current/sources/cxx-stl/llvm-libc++/include/__sso_allocator
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__std_stream b/current/sources/cxx-stl/llvm-libc++/include/__std_stream
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__std_stream
rename to current/sources/cxx-stl/llvm-libc++/include/__std_stream
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__string b/current/sources/cxx-stl/llvm-libc++/include/__string
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__string
rename to current/sources/cxx-stl/llvm-libc++/include/__string
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__threading_support b/current/sources/cxx-stl/llvm-libc++/include/__threading_support
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__threading_support
rename to current/sources/cxx-stl/llvm-libc++/include/__threading_support
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__tree b/current/sources/cxx-stl/llvm-libc++/include/__tree
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__tree
rename to current/sources/cxx-stl/llvm-libc++/include/__tree
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__tuple b/current/sources/cxx-stl/llvm-libc++/include/__tuple
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/__tuple
rename to current/sources/cxx-stl/llvm-libc++/include/__tuple
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__undef_macros b/current/sources/cxx-stl/llvm-libc++/include/__undef_macros
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/__undef_macros
rename to current/sources/cxx-stl/llvm-libc++/include/__undef_macros
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/algorithm b/current/sources/cxx-stl/llvm-libc++/include/algorithm
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/algorithm
rename to current/sources/cxx-stl/llvm-libc++/include/algorithm
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/any b/current/sources/cxx-stl/llvm-libc++/include/any
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/any
rename to current/sources/cxx-stl/llvm-libc++/include/any
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/array b/current/sources/cxx-stl/llvm-libc++/include/array
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/array
rename to current/sources/cxx-stl/llvm-libc++/include/array
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/atomic b/current/sources/cxx-stl/llvm-libc++/include/atomic
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/atomic
rename to current/sources/cxx-stl/llvm-libc++/include/atomic
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/barrier b/current/sources/cxx-stl/llvm-libc++/include/barrier
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/barrier
rename to current/sources/cxx-stl/llvm-libc++/include/barrier
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/bit b/current/sources/cxx-stl/llvm-libc++/include/bit
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/bit
rename to current/sources/cxx-stl/llvm-libc++/include/bit
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/bitset b/current/sources/cxx-stl/llvm-libc++/include/bitset
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/bitset
rename to current/sources/cxx-stl/llvm-libc++/include/bitset
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cassert b/current/sources/cxx-stl/llvm-libc++/include/cassert
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cassert
rename to current/sources/cxx-stl/llvm-libc++/include/cassert
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ccomplex b/current/sources/cxx-stl/llvm-libc++/include/ccomplex
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/ccomplex
rename to current/sources/cxx-stl/llvm-libc++/include/ccomplex
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cctype b/current/sources/cxx-stl/llvm-libc++/include/cctype
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cctype
rename to current/sources/cxx-stl/llvm-libc++/include/cctype
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cerrno b/current/sources/cxx-stl/llvm-libc++/include/cerrno
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cerrno
rename to current/sources/cxx-stl/llvm-libc++/include/cerrno
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cfenv b/current/sources/cxx-stl/llvm-libc++/include/cfenv
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cfenv
rename to current/sources/cxx-stl/llvm-libc++/include/cfenv
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cfloat b/current/sources/cxx-stl/llvm-libc++/include/cfloat
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cfloat
rename to current/sources/cxx-stl/llvm-libc++/include/cfloat
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/charconv b/current/sources/cxx-stl/llvm-libc++/include/charconv
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/charconv
rename to current/sources/cxx-stl/llvm-libc++/include/charconv
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/chrono b/current/sources/cxx-stl/llvm-libc++/include/chrono
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/chrono
rename to current/sources/cxx-stl/llvm-libc++/include/chrono
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cinttypes b/current/sources/cxx-stl/llvm-libc++/include/cinttypes
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cinttypes
rename to current/sources/cxx-stl/llvm-libc++/include/cinttypes
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ciso646 b/current/sources/cxx-stl/llvm-libc++/include/ciso646
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/ciso646
rename to current/sources/cxx-stl/llvm-libc++/include/ciso646
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/climits b/current/sources/cxx-stl/llvm-libc++/include/climits
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/climits
rename to current/sources/cxx-stl/llvm-libc++/include/climits
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/clocale b/current/sources/cxx-stl/llvm-libc++/include/clocale
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/clocale
rename to current/sources/cxx-stl/llvm-libc++/include/clocale
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cmath b/current/sources/cxx-stl/llvm-libc++/include/cmath
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/cmath
rename to current/sources/cxx-stl/llvm-libc++/include/cmath
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/codecvt b/current/sources/cxx-stl/llvm-libc++/include/codecvt
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/codecvt
rename to current/sources/cxx-stl/llvm-libc++/include/codecvt
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/compare b/current/sources/cxx-stl/llvm-libc++/include/compare
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/compare
rename to current/sources/cxx-stl/llvm-libc++/include/compare
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/complex b/current/sources/cxx-stl/llvm-libc++/include/complex
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/complex
rename to current/sources/cxx-stl/llvm-libc++/include/complex
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/complex.h b/current/sources/cxx-stl/llvm-libc++/include/complex.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/complex.h
rename to current/sources/cxx-stl/llvm-libc++/include/complex.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/concepts b/current/sources/cxx-stl/llvm-libc++/include/concepts
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/concepts
rename to current/sources/cxx-stl/llvm-libc++/include/concepts
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/condition_variable b/current/sources/cxx-stl/llvm-libc++/include/condition_variable
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/condition_variable
rename to current/sources/cxx-stl/llvm-libc++/include/condition_variable
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/csetjmp b/current/sources/cxx-stl/llvm-libc++/include/csetjmp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/csetjmp
rename to current/sources/cxx-stl/llvm-libc++/include/csetjmp
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/csignal b/current/sources/cxx-stl/llvm-libc++/include/csignal
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/csignal
rename to current/sources/cxx-stl/llvm-libc++/include/csignal
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cstdarg b/current/sources/cxx-stl/llvm-libc++/include/cstdarg
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cstdarg
rename to current/sources/cxx-stl/llvm-libc++/include/cstdarg
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cstdbool b/current/sources/cxx-stl/llvm-libc++/include/cstdbool
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cstdbool
rename to current/sources/cxx-stl/llvm-libc++/include/cstdbool
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cstddef b/current/sources/cxx-stl/llvm-libc++/include/cstddef
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/cstddef
rename to current/sources/cxx-stl/llvm-libc++/include/cstddef
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cstdint b/current/sources/cxx-stl/llvm-libc++/include/cstdint
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cstdint
rename to current/sources/cxx-stl/llvm-libc++/include/cstdint
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cstdio b/current/sources/cxx-stl/llvm-libc++/include/cstdio
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/cstdio
rename to current/sources/cxx-stl/llvm-libc++/include/cstdio
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cstdlib b/current/sources/cxx-stl/llvm-libc++/include/cstdlib
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/cstdlib
rename to current/sources/cxx-stl/llvm-libc++/include/cstdlib
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cstring b/current/sources/cxx-stl/llvm-libc++/include/cstring
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cstring
rename to current/sources/cxx-stl/llvm-libc++/include/cstring
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ctgmath b/current/sources/cxx-stl/llvm-libc++/include/ctgmath
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/ctgmath
rename to current/sources/cxx-stl/llvm-libc++/include/ctgmath
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ctime b/current/sources/cxx-stl/llvm-libc++/include/ctime
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/ctime
rename to current/sources/cxx-stl/llvm-libc++/include/ctime
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ctype.h b/current/sources/cxx-stl/llvm-libc++/include/ctype.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/ctype.h
rename to current/sources/cxx-stl/llvm-libc++/include/ctype.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cwchar b/current/sources/cxx-stl/llvm-libc++/include/cwchar
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cwchar
rename to current/sources/cxx-stl/llvm-libc++/include/cwchar
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cwctype b/current/sources/cxx-stl/llvm-libc++/include/cwctype
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/cwctype
rename to current/sources/cxx-stl/llvm-libc++/include/cwctype
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/deque b/current/sources/cxx-stl/llvm-libc++/include/deque
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/deque
rename to current/sources/cxx-stl/llvm-libc++/include/deque
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/errno.h b/current/sources/cxx-stl/llvm-libc++/include/errno.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/errno.h
rename to current/sources/cxx-stl/llvm-libc++/include/errno.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/exception b/current/sources/cxx-stl/llvm-libc++/include/exception
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/exception
rename to current/sources/cxx-stl/llvm-libc++/include/exception
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/execution b/current/sources/cxx-stl/llvm-libc++/include/execution
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/execution
rename to current/sources/cxx-stl/llvm-libc++/include/execution
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/__config b/current/sources/cxx-stl/llvm-libc++/include/experimental/__config
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/__config
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/__config
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/__memory b/current/sources/cxx-stl/llvm-libc++/include/experimental/__memory
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/__memory
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/__memory
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/algorithm b/current/sources/cxx-stl/llvm-libc++/include/experimental/algorithm
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/algorithm
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/algorithm
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/coroutine b/current/sources/cxx-stl/llvm-libc++/include/experimental/coroutine
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/experimental/coroutine
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/coroutine
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/deque b/current/sources/cxx-stl/llvm-libc++/include/experimental/deque
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/deque
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/deque
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/filesystem b/current/sources/cxx-stl/llvm-libc++/include/experimental/filesystem
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/filesystem
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/filesystem
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/forward_list b/current/sources/cxx-stl/llvm-libc++/include/experimental/forward_list
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/forward_list
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/forward_list
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/functional b/current/sources/cxx-stl/llvm-libc++/include/experimental/functional
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/experimental/functional
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/functional
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/iterator b/current/sources/cxx-stl/llvm-libc++/include/experimental/iterator
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/experimental/iterator
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/iterator
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/list b/current/sources/cxx-stl/llvm-libc++/include/experimental/list
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/list
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/list
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/map b/current/sources/cxx-stl/llvm-libc++/include/experimental/map
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/map
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/map
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/memory_resource b/current/sources/cxx-stl/llvm-libc++/include/experimental/memory_resource
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/memory_resource
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/memory_resource
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/propagate_const b/current/sources/cxx-stl/llvm-libc++/include/experimental/propagate_const
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/experimental/propagate_const
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/propagate_const
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/regex b/current/sources/cxx-stl/llvm-libc++/include/experimental/regex
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/regex
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/regex
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/set b/current/sources/cxx-stl/llvm-libc++/include/experimental/set
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/set
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/set
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/simd b/current/sources/cxx-stl/llvm-libc++/include/experimental/simd
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/simd
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/simd
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/string b/current/sources/cxx-stl/llvm-libc++/include/experimental/string
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/string
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/string
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/type_traits b/current/sources/cxx-stl/llvm-libc++/include/experimental/type_traits
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/experimental/type_traits
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/type_traits
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/unordered_map b/current/sources/cxx-stl/llvm-libc++/include/experimental/unordered_map
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/unordered_map
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/unordered_map
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/unordered_set b/current/sources/cxx-stl/llvm-libc++/include/experimental/unordered_set
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/unordered_set
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/unordered_set
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/utility b/current/sources/cxx-stl/llvm-libc++/include/experimental/utility
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/utility
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/utility
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/vector b/current/sources/cxx-stl/llvm-libc++/include/experimental/vector
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/experimental/vector
rename to current/sources/cxx-stl/llvm-libc++/include/experimental/vector
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ext/__hash b/current/sources/cxx-stl/llvm-libc++/include/ext/__hash
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/ext/__hash
rename to current/sources/cxx-stl/llvm-libc++/include/ext/__hash
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ext/hash_map b/current/sources/cxx-stl/llvm-libc++/include/ext/hash_map
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/ext/hash_map
rename to current/sources/cxx-stl/llvm-libc++/include/ext/hash_map
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ext/hash_set b/current/sources/cxx-stl/llvm-libc++/include/ext/hash_set
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/ext/hash_set
rename to current/sources/cxx-stl/llvm-libc++/include/ext/hash_set
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/fenv.h b/current/sources/cxx-stl/llvm-libc++/include/fenv.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/fenv.h
rename to current/sources/cxx-stl/llvm-libc++/include/fenv.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/filesystem b/current/sources/cxx-stl/llvm-libc++/include/filesystem
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/filesystem
rename to current/sources/cxx-stl/llvm-libc++/include/filesystem
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/float.h b/current/sources/cxx-stl/llvm-libc++/include/float.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/float.h
rename to current/sources/cxx-stl/llvm-libc++/include/float.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/forward_list b/current/sources/cxx-stl/llvm-libc++/include/forward_list
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/forward_list
rename to current/sources/cxx-stl/llvm-libc++/include/forward_list
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/fstream b/current/sources/cxx-stl/llvm-libc++/include/fstream
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/fstream
rename to current/sources/cxx-stl/llvm-libc++/include/fstream
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/functional b/current/sources/cxx-stl/llvm-libc++/include/functional
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/functional
rename to current/sources/cxx-stl/llvm-libc++/include/functional
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/future b/current/sources/cxx-stl/llvm-libc++/include/future
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/future
rename to current/sources/cxx-stl/llvm-libc++/include/future
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/initializer_list b/current/sources/cxx-stl/llvm-libc++/include/initializer_list
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/initializer_list
rename to current/sources/cxx-stl/llvm-libc++/include/initializer_list
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/inttypes.h b/current/sources/cxx-stl/llvm-libc++/include/inttypes.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/inttypes.h
rename to current/sources/cxx-stl/llvm-libc++/include/inttypes.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/iomanip b/current/sources/cxx-stl/llvm-libc++/include/iomanip
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/iomanip
rename to current/sources/cxx-stl/llvm-libc++/include/iomanip
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ios b/current/sources/cxx-stl/llvm-libc++/include/ios
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/ios
rename to current/sources/cxx-stl/llvm-libc++/include/ios
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/iosfwd b/current/sources/cxx-stl/llvm-libc++/include/iosfwd
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/iosfwd
rename to current/sources/cxx-stl/llvm-libc++/include/iosfwd
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/iostream b/current/sources/cxx-stl/llvm-libc++/include/iostream
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/iostream
rename to current/sources/cxx-stl/llvm-libc++/include/iostream
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/istream b/current/sources/cxx-stl/llvm-libc++/include/istream
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/istream
rename to current/sources/cxx-stl/llvm-libc++/include/istream
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/iterator b/current/sources/cxx-stl/llvm-libc++/include/iterator
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/iterator
rename to current/sources/cxx-stl/llvm-libc++/include/iterator
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/latch b/current/sources/cxx-stl/llvm-libc++/include/latch
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/latch
rename to current/sources/cxx-stl/llvm-libc++/include/latch
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/limits b/current/sources/cxx-stl/llvm-libc++/include/limits
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/limits
rename to current/sources/cxx-stl/llvm-libc++/include/limits
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/limits.h b/current/sources/cxx-stl/llvm-libc++/include/limits.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/limits.h
rename to current/sources/cxx-stl/llvm-libc++/include/limits.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/list b/current/sources/cxx-stl/llvm-libc++/include/list
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/list
rename to current/sources/cxx-stl/llvm-libc++/include/list
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/locale b/current/sources/cxx-stl/llvm-libc++/include/locale
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/locale
rename to current/sources/cxx-stl/llvm-libc++/include/locale
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/locale.h b/current/sources/cxx-stl/llvm-libc++/include/locale.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/locale.h
rename to current/sources/cxx-stl/llvm-libc++/include/locale.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/map b/current/sources/cxx-stl/llvm-libc++/include/map
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/map
rename to current/sources/cxx-stl/llvm-libc++/include/map
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/math.h b/current/sources/cxx-stl/llvm-libc++/include/math.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/math.h
rename to current/sources/cxx-stl/llvm-libc++/include/math.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/memory b/current/sources/cxx-stl/llvm-libc++/include/memory
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/memory
rename to current/sources/cxx-stl/llvm-libc++/include/memory
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/module.modulemap b/current/sources/cxx-stl/llvm-libc++/include/module.modulemap
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/module.modulemap
rename to current/sources/cxx-stl/llvm-libc++/include/module.modulemap
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/mutex b/current/sources/cxx-stl/llvm-libc++/include/mutex
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/mutex
rename to current/sources/cxx-stl/llvm-libc++/include/mutex
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/new b/current/sources/cxx-stl/llvm-libc++/include/new
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/new
rename to current/sources/cxx-stl/llvm-libc++/include/new
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/numeric b/current/sources/cxx-stl/llvm-libc++/include/numeric
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/numeric
rename to current/sources/cxx-stl/llvm-libc++/include/numeric
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/optional b/current/sources/cxx-stl/llvm-libc++/include/optional
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/optional
rename to current/sources/cxx-stl/llvm-libc++/include/optional
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ostream b/current/sources/cxx-stl/llvm-libc++/include/ostream
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/ostream
rename to current/sources/cxx-stl/llvm-libc++/include/ostream
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/queue b/current/sources/cxx-stl/llvm-libc++/include/queue
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/queue
rename to current/sources/cxx-stl/llvm-libc++/include/queue
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/random b/current/sources/cxx-stl/llvm-libc++/include/random
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/random
rename to current/sources/cxx-stl/llvm-libc++/include/random
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ratio b/current/sources/cxx-stl/llvm-libc++/include/ratio
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/ratio
rename to current/sources/cxx-stl/llvm-libc++/include/ratio
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/regex b/current/sources/cxx-stl/llvm-libc++/include/regex
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/regex
rename to current/sources/cxx-stl/llvm-libc++/include/regex
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/scoped_allocator b/current/sources/cxx-stl/llvm-libc++/include/scoped_allocator
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/scoped_allocator
rename to current/sources/cxx-stl/llvm-libc++/include/scoped_allocator
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/semaphore b/current/sources/cxx-stl/llvm-libc++/include/semaphore
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/semaphore
rename to current/sources/cxx-stl/llvm-libc++/include/semaphore
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/set b/current/sources/cxx-stl/llvm-libc++/include/set
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/set
rename to current/sources/cxx-stl/llvm-libc++/include/set
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/setjmp.h b/current/sources/cxx-stl/llvm-libc++/include/setjmp.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/setjmp.h
rename to current/sources/cxx-stl/llvm-libc++/include/setjmp.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/shared_mutex b/current/sources/cxx-stl/llvm-libc++/include/shared_mutex
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/shared_mutex
rename to current/sources/cxx-stl/llvm-libc++/include/shared_mutex
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/span b/current/sources/cxx-stl/llvm-libc++/include/span
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/span
rename to current/sources/cxx-stl/llvm-libc++/include/span
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/sstream b/current/sources/cxx-stl/llvm-libc++/include/sstream
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/sstream
rename to current/sources/cxx-stl/llvm-libc++/include/sstream
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/stack b/current/sources/cxx-stl/llvm-libc++/include/stack
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/stack
rename to current/sources/cxx-stl/llvm-libc++/include/stack
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/stdbool.h b/current/sources/cxx-stl/llvm-libc++/include/stdbool.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/stdbool.h
rename to current/sources/cxx-stl/llvm-libc++/include/stdbool.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/stddef.h b/current/sources/cxx-stl/llvm-libc++/include/stddef.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/stddef.h
rename to current/sources/cxx-stl/llvm-libc++/include/stddef.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/stdexcept b/current/sources/cxx-stl/llvm-libc++/include/stdexcept
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/stdexcept
rename to current/sources/cxx-stl/llvm-libc++/include/stdexcept
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/stdint.h b/current/sources/cxx-stl/llvm-libc++/include/stdint.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/stdint.h
rename to current/sources/cxx-stl/llvm-libc++/include/stdint.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/stdio.h b/current/sources/cxx-stl/llvm-libc++/include/stdio.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/stdio.h
rename to current/sources/cxx-stl/llvm-libc++/include/stdio.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/stdlib.h b/current/sources/cxx-stl/llvm-libc++/include/stdlib.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/stdlib.h
rename to current/sources/cxx-stl/llvm-libc++/include/stdlib.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/streambuf b/current/sources/cxx-stl/llvm-libc++/include/streambuf
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/streambuf
rename to current/sources/cxx-stl/llvm-libc++/include/streambuf
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/string b/current/sources/cxx-stl/llvm-libc++/include/string
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/string
rename to current/sources/cxx-stl/llvm-libc++/include/string
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/string.h b/current/sources/cxx-stl/llvm-libc++/include/string.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/string.h
rename to current/sources/cxx-stl/llvm-libc++/include/string.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/string_view b/current/sources/cxx-stl/llvm-libc++/include/string_view
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/string_view
rename to current/sources/cxx-stl/llvm-libc++/include/string_view
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/strstream b/current/sources/cxx-stl/llvm-libc++/include/strstream
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/strstream
rename to current/sources/cxx-stl/llvm-libc++/include/strstream
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/android/locale_bionic.h b/current/sources/cxx-stl/llvm-libc++/include/support/android/locale_bionic.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/support/android/locale_bionic.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/android/locale_bionic.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/fuchsia/xlocale.h b/current/sources/cxx-stl/llvm-libc++/include/support/fuchsia/xlocale.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/fuchsia/xlocale.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/fuchsia/xlocale.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/ibm/limits.h b/current/sources/cxx-stl/llvm-libc++/include/support/ibm/limits.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/ibm/limits.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/ibm/limits.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/ibm/locale_mgmt_aix.h b/current/sources/cxx-stl/llvm-libc++/include/support/ibm/locale_mgmt_aix.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/ibm/locale_mgmt_aix.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/ibm/locale_mgmt_aix.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/ibm/support.h b/current/sources/cxx-stl/llvm-libc++/include/support/ibm/support.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/ibm/support.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/ibm/support.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/xlocale.h b/current/sources/cxx-stl/llvm-libc++/include/support/ibm/xlocale.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/support/ibm/xlocale.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/ibm/xlocale.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/musl/xlocale.h b/current/sources/cxx-stl/llvm-libc++/include/support/musl/xlocale.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/musl/xlocale.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/musl/xlocale.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/newlib/xlocale.h b/current/sources/cxx-stl/llvm-libc++/include/support/newlib/xlocale.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/newlib/xlocale.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/newlib/xlocale.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/solaris/floatingpoint.h b/current/sources/cxx-stl/llvm-libc++/include/support/solaris/floatingpoint.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/solaris/floatingpoint.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/solaris/floatingpoint.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/solaris/wchar.h b/current/sources/cxx-stl/llvm-libc++/include/support/solaris/wchar.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/support/solaris/wchar.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/solaris/wchar.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/solaris/xlocale.h b/current/sources/cxx-stl/llvm-libc++/include/support/solaris/xlocale.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/solaris/xlocale.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/solaris/xlocale.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/win32/limits_msvc_win32.h b/current/sources/cxx-stl/llvm-libc++/include/support/win32/limits_msvc_win32.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/win32/limits_msvc_win32.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/win32/limits_msvc_win32.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/win32/locale_win32.h b/current/sources/cxx-stl/llvm-libc++/include/support/win32/locale_win32.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/support/win32/locale_win32.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/win32/locale_win32.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/xlocale/__nop_locale_mgmt.h b/current/sources/cxx-stl/llvm-libc++/include/support/xlocale/__nop_locale_mgmt.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/xlocale/__nop_locale_mgmt.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/xlocale/__nop_locale_mgmt.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/xlocale/__posix_l_fallback.h b/current/sources/cxx-stl/llvm-libc++/include/support/xlocale/__posix_l_fallback.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/xlocale/__posix_l_fallback.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/xlocale/__posix_l_fallback.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/xlocale/__strtonum_fallback.h b/current/sources/cxx-stl/llvm-libc++/include/support/xlocale/__strtonum_fallback.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/support/xlocale/__strtonum_fallback.h
rename to current/sources/cxx-stl/llvm-libc++/include/support/xlocale/__strtonum_fallback.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/system_error b/current/sources/cxx-stl/llvm-libc++/include/system_error
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/system_error
rename to current/sources/cxx-stl/llvm-libc++/include/system_error
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/tgmath.h b/current/sources/cxx-stl/llvm-libc++/include/tgmath.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/tgmath.h
rename to current/sources/cxx-stl/llvm-libc++/include/tgmath.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/thread b/current/sources/cxx-stl/llvm-libc++/include/thread
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/thread
rename to current/sources/cxx-stl/llvm-libc++/include/thread
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/tuple b/current/sources/cxx-stl/llvm-libc++/include/tuple
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/tuple
rename to current/sources/cxx-stl/llvm-libc++/include/tuple
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/type_traits b/current/sources/cxx-stl/llvm-libc++/include/type_traits
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/type_traits
rename to current/sources/cxx-stl/llvm-libc++/include/type_traits
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/typeindex b/current/sources/cxx-stl/llvm-libc++/include/typeindex
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/typeindex
rename to current/sources/cxx-stl/llvm-libc++/include/typeindex
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/typeinfo b/current/sources/cxx-stl/llvm-libc++/include/typeinfo
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/typeinfo
rename to current/sources/cxx-stl/llvm-libc++/include/typeinfo
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/unordered_map b/current/sources/cxx-stl/llvm-libc++/include/unordered_map
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/unordered_map
rename to current/sources/cxx-stl/llvm-libc++/include/unordered_map
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/unordered_set b/current/sources/cxx-stl/llvm-libc++/include/unordered_set
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/unordered_set
rename to current/sources/cxx-stl/llvm-libc++/include/unordered_set
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/utility b/current/sources/cxx-stl/llvm-libc++/include/utility
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/utility
rename to current/sources/cxx-stl/llvm-libc++/include/utility
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/valarray b/current/sources/cxx-stl/llvm-libc++/include/valarray
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/valarray
rename to current/sources/cxx-stl/llvm-libc++/include/valarray
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/variant b/current/sources/cxx-stl/llvm-libc++/include/variant
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/variant
rename to current/sources/cxx-stl/llvm-libc++/include/variant
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/vector b/current/sources/cxx-stl/llvm-libc++/include/vector
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/vector
rename to current/sources/cxx-stl/llvm-libc++/include/vector
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/version b/current/sources/cxx-stl/llvm-libc++/include/version
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/include/version
rename to current/sources/cxx-stl/llvm-libc++/include/version
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/wchar.h b/current/sources/cxx-stl/llvm-libc++/include/wchar.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/wchar.h
rename to current/sources/cxx-stl/llvm-libc++/include/wchar.h
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/wctype.h b/current/sources/cxx-stl/llvm-libc++/include/wctype.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++/include/wctype.h
rename to current/sources/cxx-stl/llvm-libc++/include/wctype.h
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so b/current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so
rename to current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a b/current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a
rename to current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a b/current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a
rename to current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libunwind.a b/current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libunwind.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libunwind.a
rename to current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libunwind.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a b/current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a
rename to current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so b/current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so
rename to current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a b/current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a
rename to current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a b/current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a
rename to current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a b/current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a
rename to current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a b/current/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a
rename to current/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so b/current/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so
rename to current/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a b/current/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a
rename to current/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a b/current/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a
rename to current/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86/libunwind.a b/current/sources/cxx-stl/llvm-libc++/libs/x86/libunwind.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86/libunwind.a
rename to current/sources/cxx-stl/llvm-libc++/libs/x86/libunwind.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so b/current/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so
rename to current/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a b/current/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a
rename to current/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a b/current/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a
rename to current/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a
Binary files differ
diff --git a/r23/sources/cxx-stl/llvm-libc++/libs/x86_64/libunwind.a b/current/sources/cxx-stl/llvm-libc++/libs/x86_64/libunwind.a
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++/libs/x86_64/libunwind.a
rename to current/sources/cxx-stl/llvm-libc++/libs/x86_64/libunwind.a
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/.clang-format b/current/sources/cxx-stl/llvm-libc++abi/.clang-format
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/.clang-format
rename to current/sources/cxx-stl/llvm-libc++abi/.clang-format
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/Android.mk b/current/sources/cxx-stl/llvm-libc++abi/Android.mk
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/Android.mk
rename to current/sources/cxx-stl/llvm-libc++abi/Android.mk
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/CMakeLists.txt b/current/sources/cxx-stl/llvm-libc++abi/CMakeLists.txt
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/CMakeLists.txt
rename to current/sources/cxx-stl/llvm-libc++abi/CMakeLists.txt
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/CREDITS.TXT b/current/sources/cxx-stl/llvm-libc++abi/CREDITS.TXT
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/CREDITS.TXT
rename to current/sources/cxx-stl/llvm-libc++abi/CREDITS.TXT
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/LICENSE.TXT b/current/sources/cxx-stl/llvm-libc++abi/LICENSE.TXT
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/LICENSE.TXT
rename to current/sources/cxx-stl/llvm-libc++abi/LICENSE.TXT
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/NOTICE b/current/sources/cxx-stl/llvm-libc++abi/NOTICE
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/NOTICE
rename to current/sources/cxx-stl/llvm-libc++abi/NOTICE
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleCompilerRT.cmake b/current/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleCompilerRT.cmake
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleCompilerRT.cmake
rename to current/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleCompilerRT.cmake
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleLibcxxabiFlags.cmake b/current/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleLibcxxabiFlags.cmake
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleLibcxxabiFlags.cmake
rename to current/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleLibcxxabiFlags.cmake
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleOutOfTreeLLVM.cmake b/current/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleOutOfTreeLLVM.cmake
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleOutOfTreeLLVM.cmake
rename to current/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleOutOfTreeLLVM.cmake
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake b/current/sources/cxx-stl/llvm-libc++abi/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake
rename to current/sources/cxx-stl/llvm-libc++abi/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/cmake/config-ix.cmake b/current/sources/cxx-stl/llvm-libc++abi/cmake/config-ix.cmake
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/cmake/config-ix.cmake
rename to current/sources/cxx-stl/llvm-libc++abi/cmake/config-ix.cmake
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/fuzz/CMakeLists.txt b/current/sources/cxx-stl/llvm-libc++abi/fuzz/CMakeLists.txt
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/fuzz/CMakeLists.txt
rename to current/sources/cxx-stl/llvm-libc++abi/fuzz/CMakeLists.txt
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/fuzz/cxa_demangle_fuzzer.cpp b/current/sources/cxx-stl/llvm-libc++abi/fuzz/cxa_demangle_fuzzer.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/fuzz/cxa_demangle_fuzzer.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/fuzz/cxa_demangle_fuzzer.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/include/__cxxabi_config.h b/current/sources/cxx-stl/llvm-libc++abi/include/__cxxabi_config.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/include/__cxxabi_config.h
rename to current/sources/cxx-stl/llvm-libc++abi/include/__cxxabi_config.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/include/cxxabi.h b/current/sources/cxx-stl/llvm-libc++abi/include/cxxabi.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/include/cxxabi.h
rename to current/sources/cxx-stl/llvm-libc++abi/include/cxxabi.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/lib/exceptions.exp b/current/sources/cxx-stl/llvm-libc++abi/lib/exceptions.exp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/lib/exceptions.exp
rename to current/sources/cxx-stl/llvm-libc++abi/lib/exceptions.exp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/lib/itanium-base.exp b/current/sources/cxx-stl/llvm-libc++abi/lib/itanium-base.exp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/lib/itanium-base.exp
rename to current/sources/cxx-stl/llvm-libc++abi/lib/itanium-base.exp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/lib/new-delete.exp b/current/sources/cxx-stl/llvm-libc++abi/lib/new-delete.exp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/lib/new-delete.exp
rename to current/sources/cxx-stl/llvm-libc++abi/lib/new-delete.exp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/lib/personality-sjlj.exp b/current/sources/cxx-stl/llvm-libc++abi/lib/personality-sjlj.exp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/lib/personality-sjlj.exp
rename to current/sources/cxx-stl/llvm-libc++abi/lib/personality-sjlj.exp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/lib/personality-v0.exp b/current/sources/cxx-stl/llvm-libc++abi/lib/personality-v0.exp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/lib/personality-v0.exp
rename to current/sources/cxx-stl/llvm-libc++abi/lib/personality-v0.exp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/CMakeLists.txt b/current/sources/cxx-stl/llvm-libc++abi/src/CMakeLists.txt
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/CMakeLists.txt
rename to current/sources/cxx-stl/llvm-libc++abi/src/CMakeLists.txt
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/abort_message.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/abort_message.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/abort_message.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/abort_message.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/abort_message.h b/current/sources/cxx-stl/llvm-libc++abi/src/abort_message.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/abort_message.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/abort_message.h
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_aux_runtime.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_aux_runtime.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/cxa_aux_runtime.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_aux_runtime.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_default_handlers.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_default_handlers.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_default_handlers.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_default_handlers.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_demangle.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_demangle.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_demangle.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_demangle.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.h b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_exception_storage.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_exception_storage.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_exception_storage.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_exception_storage.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_guard.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_guard.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/cxa_guard.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_guard.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_guard_impl.h b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_guard_impl.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_guard_impl.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_guard_impl.h
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.h b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_noexception.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_noexception.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_noexception.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_noexception.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_personality.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_personality.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_personality.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_personality.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_thread_atexit.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_thread_atexit.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_thread_atexit.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_thread_atexit.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_unexpected.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_unexpected.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/cxa_unexpected.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_unexpected.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_vector.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_vector.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/cxa_vector.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_vector.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_virtual.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/cxa_virtual.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/cxa_virtual.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/cxa_virtual.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/.clang-format b/current/sources/cxx-stl/llvm-libc++abi/src/demangle/.clang-format
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/demangle/.clang-format
rename to current/sources/cxx-stl/llvm-libc++abi/src/demangle/.clang-format
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/DemangleConfig.h b/current/sources/cxx-stl/llvm-libc++abi/src/demangle/DemangleConfig.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/demangle/DemangleConfig.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/demangle/DemangleConfig.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/ItaniumDemangle.h b/current/sources/cxx-stl/llvm-libc++abi/src/demangle/ItaniumDemangle.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/demangle/ItaniumDemangle.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/demangle/ItaniumDemangle.h
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/README.txt b/current/sources/cxx-stl/llvm-libc++abi/src/demangle/README.txt
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/demangle/README.txt
rename to current/sources/cxx-stl/llvm-libc++abi/src/demangle/README.txt
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/StringView.h b/current/sources/cxx-stl/llvm-libc++abi/src/demangle/StringView.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/demangle/StringView.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/demangle/StringView.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/Utility.h b/current/sources/cxx-stl/llvm-libc++abi/src/demangle/Utility.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/demangle/Utility.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/demangle/Utility.h
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/cp-to-llvm.sh b/current/sources/cxx-stl/llvm-libc++abi/src/demangle/cp-to-llvm.sh
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/demangle/cp-to-llvm.sh
rename to current/sources/cxx-stl/llvm-libc++abi/src/demangle/cp-to-llvm.sh
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.h b/current/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/include/atomic_support.h b/current/sources/cxx-stl/llvm-libc++abi/src/include/atomic_support.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/include/atomic_support.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/include/atomic_support.h
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/include/refstring.h b/current/sources/cxx-stl/llvm-libc++abi/src/include/refstring.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/include/refstring.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/include/refstring.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.h b/current/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.h
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.h
rename to current/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.h
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/stdlib_exception.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/stdlib_exception.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/stdlib_exception.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/stdlib_exception.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/stdlib_new_delete.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/stdlib_new_delete.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/stdlib_new_delete.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/stdlib_new_delete.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/stdlib_stdexcept.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/stdlib_stdexcept.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/stdlib_stdexcept.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/stdlib_stdexcept.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/stdlib_typeinfo.cpp b/current/sources/cxx-stl/llvm-libc++abi/src/stdlib_typeinfo.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/src/stdlib_typeinfo.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/src/stdlib_typeinfo.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/CMakeLists.txt b/current/sources/cxx-stl/llvm-libc++abi/test/CMakeLists.txt
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/CMakeLists.txt
rename to current/sources/cxx-stl/llvm-libc++abi/test/CMakeLists.txt
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/backtrace_test.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/backtrace_test.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/backtrace_test.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/backtrace_test.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_array_01.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_array_01.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_array_01.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_array_01.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_array_02.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_array_02.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_array_02.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_array_02.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_class_01.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_class_01.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_class_01.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_class_01.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_class_02.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_class_02.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_class_02.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_class_02.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_class_03.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_class_03.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_class_03.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_class_03.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_class_04.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_class_04.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_class_04.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_class_04.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_const_pointer_nullptr.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_const_pointer_nullptr.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_const_pointer_nullptr.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_const_pointer_nullptr.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_function_01.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_function_01.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_function_01.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_function_01.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_function_02.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_function_02.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_function_02.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_function_02.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_function_03.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_function_03.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_function_03.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_function_03.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_in_noexcept.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_in_noexcept.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_in_noexcept.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_in_noexcept.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_member_data_pointer_01.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_member_data_pointer_01.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_member_data_pointer_01.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_member_data_pointer_01.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_01.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_01.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_01.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_01.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_02.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_02.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_02.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_02.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_member_pointer_nullptr.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_member_pointer_nullptr.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_member_pointer_nullptr.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_member_pointer_nullptr.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_multi_level_pointer.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_multi_level_pointer.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_multi_level_pointer.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_multi_level_pointer.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_nullptr.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_nullptr.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_nullptr.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_nullptr.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_reference.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_reference.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_reference.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_reference.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_ptr.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_ptr.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_ptr.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_ptr.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_ptr_02.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_ptr_02.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_ptr_02.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_ptr_02.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/catch_reference_nullptr.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/catch_reference_nullptr.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/catch_reference_nullptr.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/catch_reference_nullptr.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_cast.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_cast.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_cast.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_cast.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_typeid.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_typeid.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_typeid.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_typeid.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/cxa_thread_atexit_test.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/cxa_thread_atexit_test.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/cxa_thread_atexit_test.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/cxa_thread_atexit_test.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_vec_new_overflow_PR41395.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/cxa_vec_new_overflow_PR41395.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/cxa_vec_new_overflow_PR41395.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/cxa_vec_new_overflow_PR41395.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast14.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast14.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast14.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast14.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast3.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast3.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast3.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast3.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast5.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast5.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast5.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast5.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast_stress.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast_stress.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast_stress.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast_stress.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.2.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.2.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.2.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.2.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/guard_test_basic.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/guard_test_basic.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/guard_test_basic.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/guard_test_basic.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/guard_threaded_test.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/guard_threaded_test.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/guard_threaded_test.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/guard_threaded_test.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/incomplete_type.sh.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/incomplete_type.sh.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/incomplete_type.sh.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/incomplete_type.sh.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/inherited_exception.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/inherited_exception.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/inherited_exception.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/inherited_exception.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/__init__.py b/current/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/__init__.py
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/__init__.py
rename to current/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/__init__.py
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/__init__.py b/current/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/__init__.py
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/__init__.py
rename to current/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/__init__.py
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/config.py b/current/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/config.py
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/config.py
rename to current/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/config.py
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/lit.cfg b/current/sources/cxx-stl/llvm-libc++abi/test/lit.cfg
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/lit.cfg
rename to current/sources/cxx-stl/llvm-libc++abi/test/lit.cfg
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/lit.site.cfg.in b/current/sources/cxx-stl/llvm-libc++abi/test/lit.site.cfg.in
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/lit.site.cfg.in
rename to current/sources/cxx-stl/llvm-libc++abi/test/lit.site.cfg.in
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/lit.local.cfg b/current/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/lit.local.cfg
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/lit.local.cfg
rename to current/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/lit.local.cfg
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-00.pass.sh.s b/current/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-00.pass.sh.s
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-00.pass.sh.s
rename to current/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-00.pass.sh.s
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-90.pass.sh.s b/current/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-90.pass.sh.s
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-90.pass.sh.s
rename to current/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-90.pass.sh.s
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/noexception1.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/noexception1.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/noexception1.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/noexception1.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/noexception2.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/noexception2.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/noexception2.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/noexception2.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/noexception3.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/noexception3.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/noexception3.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/noexception3.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/noexception4.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/noexception4.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/noexception4.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/noexception4.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/support/timer.h b/current/sources/cxx-stl/llvm-libc++abi/test/support/timer.h
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/support/timer.h
rename to current/sources/cxx-stl/llvm-libc++abi/test/support/timer.h
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime_op_array_new.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime_op_array_new.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime_op_array_new.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime_op_array_new.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_demangle.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_demangle.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/test_demangle.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_demangle.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_exception_address_alignment.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_exception_address_alignment.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/test_exception_address_alignment.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_exception_address_alignment.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_exception_storage.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_exception_storage.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/test_exception_storage.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_exception_storage.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_fallback_malloc.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_fallback_malloc.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/test_fallback_malloc.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_fallback_malloc.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_guard.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_guard.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/test_guard.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_guard.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_vector1.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_vector1.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/test_vector1.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_vector1.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_vector2.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_vector2.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/test_vector2.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_vector2.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_vector3.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/test_vector3.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/test_vector3.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/test_vector3.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/thread_local_destruction_order.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/thread_local_destruction_order.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/thread_local_destruction_order.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/thread_local_destruction_order.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/uncaught_exception.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/uncaught_exception.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/uncaught_exception.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/uncaught_exception.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/uncaught_exceptions.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/uncaught_exceptions.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/uncaught_exceptions.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/uncaught_exceptions.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/unittest_demangle.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/unittest_demangle.pass.cpp
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/test/unittest_demangle.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/unittest_demangle.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/unwind_01.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/unwind_01.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/unwind_01.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/unwind_01.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/unwind_02.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/unwind_02.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/unwind_02.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/unwind_02.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/unwind_03.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/unwind_03.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/unwind_03.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/unwind_03.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/unwind_04.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/unwind_04.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/unwind_04.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/unwind_04.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/unwind_05.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/unwind_05.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/unwind_05.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/unwind_05.pass.cpp
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/unwind_06.pass.cpp b/current/sources/cxx-stl/llvm-libc++abi/test/unwind_06.pass.cpp
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/test/unwind_06.pass.cpp
rename to current/sources/cxx-stl/llvm-libc++abi/test/unwind_06.pass.cpp
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/www/content.css b/current/sources/cxx-stl/llvm-libc++abi/www/content.css
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/www/content.css
rename to current/sources/cxx-stl/llvm-libc++abi/www/content.css
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/www/index.html b/current/sources/cxx-stl/llvm-libc++abi/www/index.html
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/www/index.html
rename to current/sources/cxx-stl/llvm-libc++abi/www/index.html
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/www/menu.css b/current/sources/cxx-stl/llvm-libc++abi/www/menu.css
similarity index 100%
rename from r21/sources/cxx-stl/llvm-libc++abi/www/menu.css
rename to current/sources/cxx-stl/llvm-libc++abi/www/menu.css
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/www/spec.html b/current/sources/cxx-stl/llvm-libc++abi/www/spec.html
similarity index 100%
rename from r23/sources/cxx-stl/llvm-libc++abi/www/spec.html
rename to current/sources/cxx-stl/llvm-libc++abi/www/spec.html
diff --git a/r21/sources/cxx-stl/system/MODULE_LICENSE_BSD b/current/sources/cxx-stl/system/MODULE_LICENSE_BSD
similarity index 100%
rename from r21/sources/cxx-stl/system/MODULE_LICENSE_BSD
rename to current/sources/cxx-stl/system/MODULE_LICENSE_BSD
diff --git a/r21/sources/cxx-stl/system/NOTICE b/current/sources/cxx-stl/system/NOTICE
similarity index 100%
rename from r21/sources/cxx-stl/system/NOTICE
rename to current/sources/cxx-stl/system/NOTICE
diff --git a/r21/sources/cxx-stl/system/include/cassert b/current/sources/cxx-stl/system/include/cassert
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cassert
rename to current/sources/cxx-stl/system/include/cassert
diff --git a/r21/sources/cxx-stl/system/include/cctype b/current/sources/cxx-stl/system/include/cctype
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cctype
rename to current/sources/cxx-stl/system/include/cctype
diff --git a/r21/sources/cxx-stl/system/include/cerrno b/current/sources/cxx-stl/system/include/cerrno
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cerrno
rename to current/sources/cxx-stl/system/include/cerrno
diff --git a/r21/sources/cxx-stl/system/include/cfloat b/current/sources/cxx-stl/system/include/cfloat
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cfloat
rename to current/sources/cxx-stl/system/include/cfloat
diff --git a/r21/sources/cxx-stl/system/include/climits b/current/sources/cxx-stl/system/include/climits
similarity index 100%
rename from r21/sources/cxx-stl/system/include/climits
rename to current/sources/cxx-stl/system/include/climits
diff --git a/r21/sources/cxx-stl/system/include/cmath b/current/sources/cxx-stl/system/include/cmath
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cmath
rename to current/sources/cxx-stl/system/include/cmath
diff --git a/r21/sources/cxx-stl/system/include/csetjmp b/current/sources/cxx-stl/system/include/csetjmp
similarity index 100%
rename from r21/sources/cxx-stl/system/include/csetjmp
rename to current/sources/cxx-stl/system/include/csetjmp
diff --git a/r21/sources/cxx-stl/system/include/csignal b/current/sources/cxx-stl/system/include/csignal
similarity index 100%
rename from r21/sources/cxx-stl/system/include/csignal
rename to current/sources/cxx-stl/system/include/csignal
diff --git a/r21/sources/cxx-stl/system/include/cstddef b/current/sources/cxx-stl/system/include/cstddef
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cstddef
rename to current/sources/cxx-stl/system/include/cstddef
diff --git a/r21/sources/cxx-stl/system/include/cstdint b/current/sources/cxx-stl/system/include/cstdint
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cstdint
rename to current/sources/cxx-stl/system/include/cstdint
diff --git a/r21/sources/cxx-stl/system/include/cstdio b/current/sources/cxx-stl/system/include/cstdio
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cstdio
rename to current/sources/cxx-stl/system/include/cstdio
diff --git a/r23/sources/cxx-stl/system/include/cstdlib b/current/sources/cxx-stl/system/include/cstdlib
similarity index 100%
rename from r23/sources/cxx-stl/system/include/cstdlib
rename to current/sources/cxx-stl/system/include/cstdlib
diff --git a/r21/sources/cxx-stl/system/include/cstring b/current/sources/cxx-stl/system/include/cstring
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cstring
rename to current/sources/cxx-stl/system/include/cstring
diff --git a/r21/sources/cxx-stl/system/include/ctime b/current/sources/cxx-stl/system/include/ctime
similarity index 100%
rename from r21/sources/cxx-stl/system/include/ctime
rename to current/sources/cxx-stl/system/include/ctime
diff --git a/r21/sources/cxx-stl/system/include/cwchar b/current/sources/cxx-stl/system/include/cwchar
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cwchar
rename to current/sources/cxx-stl/system/include/cwchar
diff --git a/r21/sources/cxx-stl/system/include/cwctype_is_not_supported b/current/sources/cxx-stl/system/include/cwctype_is_not_supported
similarity index 100%
rename from r21/sources/cxx-stl/system/include/cwctype_is_not_supported
rename to current/sources/cxx-stl/system/include/cwctype_is_not_supported
diff --git a/r21/sources/cxx-stl/system/include/new b/current/sources/cxx-stl/system/include/new
similarity index 100%
rename from r21/sources/cxx-stl/system/include/new
rename to current/sources/cxx-stl/system/include/new
diff --git a/r21/sources/cxx-stl/system/include/stl_pair.h b/current/sources/cxx-stl/system/include/stl_pair.h
similarity index 100%
rename from r21/sources/cxx-stl/system/include/stl_pair.h
rename to current/sources/cxx-stl/system/include/stl_pair.h
diff --git a/r21/sources/cxx-stl/system/include/typeinfo b/current/sources/cxx-stl/system/include/typeinfo
similarity index 100%
rename from r21/sources/cxx-stl/system/include/typeinfo
rename to current/sources/cxx-stl/system/include/typeinfo
diff --git a/r21/sources/cxx-stl/system/include/utility b/current/sources/cxx-stl/system/include/utility
similarity index 100%
rename from r21/sources/cxx-stl/system/include/utility
rename to current/sources/cxx-stl/system/include/utility
diff --git a/r21/source.properties b/r21/source.properties
deleted file mode 100644
index 4f32bc9..0000000
--- a/r21/source.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-Pkg.Desc = Android NDK
-Pkg.Revision = 21.3.6528147
diff --git a/r21/sources/android/cpufeatures/cpu-features.c b/r21/sources/android/cpufeatures/cpu-features.c
deleted file mode 100644
index e2bd749..0000000
--- a/r21/sources/android/cpufeatures/cpu-features.c
+++ /dev/null
@@ -1,1313 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-/* ChangeLog for this library:
- *
- * NDK r10e?: Add MIPS MSA feature.
- *
- * NDK r10: Support for 64-bit CPUs (Intel, ARM & MIPS).
- *
- * NDK r8d: Add android_setCpu().
- *
- * NDK r8c: Add new ARM CPU features: VFPv2, VFP_D32, VFP_FP16,
- *          VFP_FMA, NEON_FMA, IDIV_ARM, IDIV_THUMB2 and iWMMXt.
- *
- *          Rewrite the code to parse /proc/self/auxv instead of
- *          the "Features" field in /proc/cpuinfo.
- *
- *          Dynamically allocate the buffer that hold the content
- *          of /proc/cpuinfo to deal with newer hardware.
- *
- * NDK r7c: Fix CPU count computation. The old method only reported the
- *           number of _active_ CPUs when the library was initialized,
- *           which could be less than the real total.
- *
- * NDK r5: Handle buggy kernels which report a CPU Architecture number of 7
- *         for an ARMv6 CPU (see below).
- *
- *         Handle kernels that only report 'neon', and not 'vfpv3'
- *         (VFPv3 is mandated by the ARM architecture is Neon is implemented)
- *
- *         Handle kernels that only report 'vfpv3d16', and not 'vfpv3'
- *
- *         Fix x86 compilation. Report ANDROID_CPU_FAMILY_X86 in
- *         android_getCpuFamily().
- *
- * NDK r4: Initial release
- */
-
-#include "cpu-features.h"
-
-#include <dlfcn.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/system_properties.h>
-#include <unistd.h>
-
-static  pthread_once_t     g_once;
-static  int                g_inited;
-static  AndroidCpuFamily   g_cpuFamily;
-static  uint64_t           g_cpuFeatures;
-static  int                g_cpuCount;
-
-#ifdef __arm__
-static  uint32_t           g_cpuIdArm;
-#endif
-
-static const int android_cpufeatures_debug = 0;
-
-#define  D(...) \
-    do { \
-        if (android_cpufeatures_debug) { \
-            printf(__VA_ARGS__); fflush(stdout); \
-        } \
-    } while (0)
-
-#ifdef __i386__
-static __inline__ void x86_cpuid(int func, int values[4])
-{
-    int a, b, c, d;
-    /* We need to preserve ebx since we're compiling PIC code */
-    /* this means we can't use "=b" for the second output register */
-    __asm__ __volatile__ ( \
-      "push %%ebx\n"
-      "cpuid\n" \
-      "mov %%ebx, %1\n"
-      "pop %%ebx\n"
-      : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
-      : "a" (func) \
-    );
-    values[0] = a;
-    values[1] = b;
-    values[2] = c;
-    values[3] = d;
-}
-#elif defined(__x86_64__)
-static __inline__ void x86_cpuid(int func, int values[4])
-{
-    int64_t a, b, c, d;
-    /* We need to preserve ebx since we're compiling PIC code */
-    /* this means we can't use "=b" for the second output register */
-    __asm__ __volatile__ ( \
-      "push %%rbx\n"
-      "cpuid\n" \
-      "mov %%rbx, %1\n"
-      "pop %%rbx\n"
-      : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
-      : "a" (func) \
-    );
-    values[0] = a;
-    values[1] = b;
-    values[2] = c;
-    values[3] = d;
-}
-#endif
-
-/* Get the size of a file by reading it until the end. This is needed
- * because files under /proc do not always return a valid size when
- * using fseek(0, SEEK_END) + ftell(). Nor can they be mmap()-ed.
- */
-static int
-get_file_size(const char* pathname)
-{
-
-   int fd, result = 0;
-    char buffer[256];
-
-    fd = open(pathname, O_RDONLY);
-    if (fd < 0) {
-        D("Can't open %s: %s\n", pathname, strerror(errno));
-        return -1;
-    }
-
-    for (;;) {
-        int ret = read(fd, buffer, sizeof buffer);
-        if (ret < 0) {
-            if (errno == EINTR)
-                continue;
-            D("Error while reading %s: %s\n", pathname, strerror(errno));
-            break;
-        }
-        if (ret == 0)
-            break;
-
-        result += ret;
-    }
-    close(fd);
-    return result;
-}
-
-/* Read the content of /proc/cpuinfo into a user-provided buffer.
- * Return the length of the data, or -1 on error. Does *not*
- * zero-terminate the content. Will not read more
- * than 'buffsize' bytes.
- */
-static int
-read_file(const char*  pathname, char*  buffer, size_t  buffsize)
-{
-    int  fd, count;
-
-    fd = open(pathname, O_RDONLY);
-    if (fd < 0) {
-        D("Could not open %s: %s\n", pathname, strerror(errno));
-        return -1;
-    }
-    count = 0;
-    while (count < (int)buffsize) {
-        int ret = read(fd, buffer + count, buffsize - count);
-        if (ret < 0) {
-            if (errno == EINTR)
-                continue;
-            D("Error while reading from %s: %s\n", pathname, strerror(errno));
-            if (count == 0)
-                count = -1;
-            break;
-        }
-        if (ret == 0)
-            break;
-        count += ret;
-    }
-    close(fd);
-    return count;
-}
-
-#ifdef __arm__
-/* Extract the content of a the first occurence of a given field in
- * the content of /proc/cpuinfo and return it as a heap-allocated
- * string that must be freed by the caller.
- *
- * Return NULL if not found
- */
-static char*
-extract_cpuinfo_field(const char* buffer, int buflen, const char* field)
-{
-    int  fieldlen = strlen(field);
-    const char* bufend = buffer + buflen;
-    char* result = NULL;
-    int len;
-    const char *p, *q;
-
-    /* Look for first field occurence, and ensures it starts the line. */
-    p = buffer;
-    for (;;) {
-        p = memmem(p, bufend-p, field, fieldlen);
-        if (p == NULL)
-            goto EXIT;
-
-        if (p == buffer || p[-1] == '\n')
-            break;
-
-        p += fieldlen;
-    }
-
-    /* Skip to the first column followed by a space */
-    p += fieldlen;
-    p  = memchr(p, ':', bufend-p);
-    if (p == NULL || p[1] != ' ')
-        goto EXIT;
-
-    /* Find the end of the line */
-    p += 2;
-    q = memchr(p, '\n', bufend-p);
-    if (q == NULL)
-        q = bufend;
-
-    /* Copy the line into a heap-allocated buffer */
-    len = q-p;
-    result = malloc(len+1);
-    if (result == NULL)
-        goto EXIT;
-
-    memcpy(result, p, len);
-    result[len] = '\0';
-
-EXIT:
-    return result;
-}
-
-/* Checks that a space-separated list of items contains one given 'item'.
- * Returns 1 if found, 0 otherwise.
- */
-static int
-has_list_item(const char* list, const char* item)
-{
-    const char*  p = list;
-    int itemlen = strlen(item);
-
-    if (list == NULL)
-        return 0;
-
-    while (*p) {
-        const char*  q;
-
-        /* skip spaces */
-        while (*p == ' ' || *p == '\t')
-            p++;
-
-        /* find end of current list item */
-        q = p;
-        while (*q && *q != ' ' && *q != '\t')
-            q++;
-
-        if (itemlen == q-p && !memcmp(p, item, itemlen))
-            return 1;
-
-        /* skip to next item */
-        p = q;
-    }
-    return 0;
-}
-#endif /* __arm__ */
-
-/* Parse a number starting from 'input', but not going further
- * than 'limit'. Return the value into '*result'.
- *
- * NOTE: Does not skip over leading spaces, or deal with sign characters.
- * NOTE: Ignores overflows.
- *
- * The function returns NULL in case of error (bad format), or the new
- * position after the decimal number in case of success (which will always
- * be <= 'limit').
- */
-static const char*
-parse_number(const char* input, const char* limit, int base, int* result)
-{
-    const char* p = input;
-    int val = 0;
-    while (p < limit) {
-        int d = (*p - '0');
-        if ((unsigned)d >= 10U) {
-            d = (*p - 'a');
-            if ((unsigned)d >= 6U)
-              d = (*p - 'A');
-            if ((unsigned)d >= 6U)
-              break;
-            d += 10;
-        }
-        if (d >= base)
-          break;
-        val = val*base + d;
-        p++;
-    }
-    if (p == input)
-        return NULL;
-
-    *result = val;
-    return p;
-}
-
-static const char*
-parse_decimal(const char* input, const char* limit, int* result)
-{
-    return parse_number(input, limit, 10, result);
-}
-
-#ifdef __arm__
-static const char*
-parse_hexadecimal(const char* input, const char* limit, int* result)
-{
-    return parse_number(input, limit, 16, result);
-}
-#endif /* __arm__ */
-
-/* This small data type is used to represent a CPU list / mask, as read
- * from sysfs on Linux. See http://www.kernel.org/doc/Documentation/cputopology.txt
- *
- * For now, we don't expect more than 32 cores on mobile devices, so keep
- * everything simple.
- */
-typedef struct {
-    uint32_t mask;
-} CpuList;
-
-static __inline__ void
-cpulist_init(CpuList* list) {
-    list->mask = 0;
-}
-
-static __inline__ void
-cpulist_and(CpuList* list1, CpuList* list2) {
-    list1->mask &= list2->mask;
-}
-
-static __inline__ void
-cpulist_set(CpuList* list, int index) {
-    if ((unsigned)index < 32) {
-        list->mask |= (uint32_t)(1U << index);
-    }
-}
-
-static __inline__ int
-cpulist_count(CpuList* list) {
-    return __builtin_popcount(list->mask);
-}
-
-/* Parse a textual list of cpus and store the result inside a CpuList object.
- * Input format is the following:
- * - comma-separated list of items (no spaces)
- * - each item is either a single decimal number (cpu index), or a range made
- *   of two numbers separated by a single dash (-). Ranges are inclusive.
- *
- * Examples:   0
- *             2,4-127,128-143
- *             0-1
- */
-static void
-cpulist_parse(CpuList* list, const char* line, int line_len)
-{
-    const char* p = line;
-    const char* end = p + line_len;
-    const char* q;
-
-    /* NOTE: the input line coming from sysfs typically contains a
-     * trailing newline, so take care of it in the code below
-     */
-    while (p < end && *p != '\n')
-    {
-        int val, start_value, end_value;
-
-        /* Find the end of current item, and put it into 'q' */
-        q = memchr(p, ',', end-p);
-        if (q == NULL) {
-            q = end;
-        }
-
-        /* Get first value */
-        p = parse_decimal(p, q, &start_value);
-        if (p == NULL)
-            goto BAD_FORMAT;
-
-        end_value = start_value;
-
-        /* If we're not at the end of the item, expect a dash and
-         * and integer; extract end value.
-         */
-        if (p < q && *p == '-') {
-            p = parse_decimal(p+1, q, &end_value);
-            if (p == NULL)
-                goto BAD_FORMAT;
-        }
-
-        /* Set bits CPU list bits */
-        for (val = start_value; val <= end_value; val++) {
-            cpulist_set(list, val);
-        }
-
-        /* Jump to next item */
-        p = q;
-        if (p < end)
-            p++;
-    }
-
-BAD_FORMAT:
-    ;
-}
-
-/* Read a CPU list from one sysfs file */
-static void
-cpulist_read_from(CpuList* list, const char* filename)
-{
-    char   file[64];
-    int    filelen;
-
-    cpulist_init(list);
-
-    filelen = read_file(filename, file, sizeof file);
-    if (filelen < 0) {
-        D("Could not read %s: %s\n", filename, strerror(errno));
-        return;
-    }
-
-    cpulist_parse(list, file, filelen);
-}
-#if defined(__aarch64__)
-// see <uapi/asm/hwcap.h> kernel header
-#define HWCAP_FP                (1 << 0)
-#define HWCAP_ASIMD             (1 << 1)
-#define HWCAP_AES               (1 << 3)
-#define HWCAP_PMULL             (1 << 4)
-#define HWCAP_SHA1              (1 << 5)
-#define HWCAP_SHA2              (1 << 6)
-#define HWCAP_CRC32             (1 << 7)
-#endif
-
-#if defined(__arm__)
-
-// See <asm/hwcap.h> kernel header.
-#define HWCAP_VFP       (1 << 6)
-#define HWCAP_IWMMXT    (1 << 9)
-#define HWCAP_NEON      (1 << 12)
-#define HWCAP_VFPv3     (1 << 13)
-#define HWCAP_VFPv3D16  (1 << 14)
-#define HWCAP_VFPv4     (1 << 16)
-#define HWCAP_IDIVA     (1 << 17)
-#define HWCAP_IDIVT     (1 << 18)
-
-// see <uapi/asm/hwcap.h> kernel header
-#define HWCAP2_AES     (1 << 0)
-#define HWCAP2_PMULL   (1 << 1)
-#define HWCAP2_SHA1    (1 << 2)
-#define HWCAP2_SHA2    (1 << 3)
-#define HWCAP2_CRC32   (1 << 4)
-
-// This is the list of 32-bit ARMv7 optional features that are _always_
-// supported by ARMv8 CPUs, as mandated by the ARM Architecture Reference
-// Manual.
-#define HWCAP_SET_FOR_ARMV8  \
-  ( HWCAP_VFP | \
-    HWCAP_NEON | \
-    HWCAP_VFPv3 | \
-    HWCAP_VFPv4 | \
-    HWCAP_IDIVA | \
-    HWCAP_IDIVT )
-#endif
-
-#if defined(__mips__)
-// see <uapi/asm/hwcap.h> kernel header
-#define HWCAP_MIPS_R6           (1 << 0)
-#define HWCAP_MIPS_MSA          (1 << 1)
-#endif
-
-#if defined(__arm__) || defined(__aarch64__) || defined(__mips__)
-
-#define AT_HWCAP 16
-#define AT_HWCAP2 26
-
-// Probe the system's C library for a 'getauxval' function and call it if
-// it exits, or return 0 for failure. This function is available since API
-// level 20.
-//
-// This code does *NOT* check for '__ANDROID_API__ >= 20' to support the
-// edge case where some NDK developers use headers for a platform that is
-// newer than the one really targetted by their application.
-// This is typically done to use newer native APIs only when running on more
-// recent Android versions, and requires careful symbol management.
-//
-// Note that getauxval() can't really be re-implemented here, because
-// its implementation does not parse /proc/self/auxv. Instead it depends
-// on values  that are passed by the kernel at process-init time to the
-// C runtime initialization layer.
-static uint32_t
-get_elf_hwcap_from_getauxval(int hwcap_type) {
-    typedef unsigned long getauxval_func_t(unsigned long);
-
-    dlerror();
-    void* libc_handle = dlopen("libc.so", RTLD_NOW);
-    if (!libc_handle) {
-        D("Could not dlopen() C library: %s\n", dlerror());
-        return 0;
-    }
-
-    uint32_t ret = 0;
-    getauxval_func_t* func = (getauxval_func_t*)
-            dlsym(libc_handle, "getauxval");
-    if (!func) {
-        D("Could not find getauxval() in C library\n");
-    } else {
-        // Note: getauxval() returns 0 on failure. Doesn't touch errno.
-        ret = (uint32_t)(*func)(hwcap_type);
-    }
-    dlclose(libc_handle);
-    return ret;
-}
-#endif
-
-#if defined(__arm__)
-// Parse /proc/self/auxv to extract the ELF HW capabilities bitmap for the
-// current CPU. Note that this file is not accessible from regular
-// application processes on some Android platform releases.
-// On success, return new ELF hwcaps, or 0 on failure.
-static uint32_t
-get_elf_hwcap_from_proc_self_auxv(void) {
-    const char filepath[] = "/proc/self/auxv";
-    int fd = TEMP_FAILURE_RETRY(open(filepath, O_RDONLY));
-    if (fd < 0) {
-        D("Could not open %s: %s\n", filepath, strerror(errno));
-        return 0;
-    }
-
-    struct { uint32_t tag; uint32_t value; } entry;
-
-    uint32_t result = 0;
-    for (;;) {
-        int ret = TEMP_FAILURE_RETRY(read(fd, (char*)&entry, sizeof entry));
-        if (ret < 0) {
-            D("Error while reading %s: %s\n", filepath, strerror(errno));
-            break;
-        }
-        // Detect end of list.
-        if (ret == 0 || (entry.tag == 0 && entry.value == 0))
-          break;
-        if (entry.tag == AT_HWCAP) {
-          result = entry.value;
-          break;
-        }
-    }
-    close(fd);
-    return result;
-}
-
-/* Compute the ELF HWCAP flags from the content of /proc/cpuinfo.
- * This works by parsing the 'Features' line, which lists which optional
- * features the device's CPU supports, on top of its reference
- * architecture.
- */
-static uint32_t
-get_elf_hwcap_from_proc_cpuinfo(const char* cpuinfo, int cpuinfo_len) {
-    uint32_t hwcaps = 0;
-    long architecture = 0;
-    char* cpuArch = extract_cpuinfo_field(cpuinfo, cpuinfo_len, "CPU architecture");
-    if (cpuArch) {
-        architecture = strtol(cpuArch, NULL, 10);
-        free(cpuArch);
-
-        if (architecture >= 8L) {
-            // This is a 32-bit ARM binary running on a 64-bit ARM64 kernel.
-            // The 'Features' line only lists the optional features that the
-            // device's CPU supports, compared to its reference architecture
-            // which are of no use for this process.
-            D("Faking 32-bit ARM HWCaps on ARMv%ld CPU\n", architecture);
-            return HWCAP_SET_FOR_ARMV8;
-        }
-    }
-
-    char* cpuFeatures = extract_cpuinfo_field(cpuinfo, cpuinfo_len, "Features");
-    if (cpuFeatures != NULL) {
-        D("Found cpuFeatures = '%s'\n", cpuFeatures);
-
-        if (has_list_item(cpuFeatures, "vfp"))
-            hwcaps |= HWCAP_VFP;
-        if (has_list_item(cpuFeatures, "vfpv3"))
-            hwcaps |= HWCAP_VFPv3;
-        if (has_list_item(cpuFeatures, "vfpv3d16"))
-            hwcaps |= HWCAP_VFPv3D16;
-        if (has_list_item(cpuFeatures, "vfpv4"))
-            hwcaps |= HWCAP_VFPv4;
-        if (has_list_item(cpuFeatures, "neon"))
-            hwcaps |= HWCAP_NEON;
-        if (has_list_item(cpuFeatures, "idiva"))
-            hwcaps |= HWCAP_IDIVA;
-        if (has_list_item(cpuFeatures, "idivt"))
-            hwcaps |= HWCAP_IDIVT;
-        if (has_list_item(cpuFeatures, "idiv"))
-            hwcaps |= HWCAP_IDIVA | HWCAP_IDIVT;
-        if (has_list_item(cpuFeatures, "iwmmxt"))
-            hwcaps |= HWCAP_IWMMXT;
-
-        free(cpuFeatures);
-    }
-    return hwcaps;
-}
-#endif  /* __arm__ */
-
-/* Return the number of cpus present on a given device.
- *
- * To handle all weird kernel configurations, we need to compute the
- * intersection of the 'present' and 'possible' CPU lists and count
- * the result.
- */
-static int
-get_cpu_count(void)
-{
-    CpuList cpus_present[1];
-    CpuList cpus_possible[1];
-
-    cpulist_read_from(cpus_present, "/sys/devices/system/cpu/present");
-    cpulist_read_from(cpus_possible, "/sys/devices/system/cpu/possible");
-
-    /* Compute the intersection of both sets to get the actual number of
-     * CPU cores that can be used on this device by the kernel.
-     */
-    cpulist_and(cpus_present, cpus_possible);
-
-    return cpulist_count(cpus_present);
-}
-
-static void
-android_cpuInitFamily(void)
-{
-#if defined(__arm__)
-    g_cpuFamily = ANDROID_CPU_FAMILY_ARM;
-#elif defined(__i386__)
-    g_cpuFamily = ANDROID_CPU_FAMILY_X86;
-#elif defined(__mips64)
-/* Needs to be before __mips__ since the compiler defines both */
-    g_cpuFamily = ANDROID_CPU_FAMILY_MIPS64;
-#elif defined(__mips__)
-    g_cpuFamily = ANDROID_CPU_FAMILY_MIPS;
-#elif defined(__aarch64__)
-    g_cpuFamily = ANDROID_CPU_FAMILY_ARM64;
-#elif defined(__x86_64__)
-    g_cpuFamily = ANDROID_CPU_FAMILY_X86_64;
-#else
-    g_cpuFamily = ANDROID_CPU_FAMILY_UNKNOWN;
-#endif
-}
-
-static void
-android_cpuInit(void)
-{
-    char* cpuinfo = NULL;
-    int   cpuinfo_len;
-
-    android_cpuInitFamily();
-
-    g_cpuFeatures = 0;
-    g_cpuCount    = 1;
-    g_inited      = 1;
-
-    cpuinfo_len = get_file_size("/proc/cpuinfo");
-    if (cpuinfo_len < 0) {
-      D("cpuinfo_len cannot be computed!");
-      return;
-    }
-    cpuinfo = malloc(cpuinfo_len);
-    if (cpuinfo == NULL) {
-      D("cpuinfo buffer could not be allocated");
-      return;
-    }
-    cpuinfo_len = read_file("/proc/cpuinfo", cpuinfo, cpuinfo_len);
-    D("cpuinfo_len is (%d):\n%.*s\n", cpuinfo_len,
-      cpuinfo_len >= 0 ? cpuinfo_len : 0, cpuinfo);
-
-    if (cpuinfo_len < 0)  /* should not happen */ {
-        free(cpuinfo);
-        return;
-    }
-
-    /* Count the CPU cores, the value may be 0 for single-core CPUs */
-    g_cpuCount = get_cpu_count();
-    if (g_cpuCount == 0) {
-        g_cpuCount = 1;
-    }
-
-    D("found cpuCount = %d\n", g_cpuCount);
-
-#ifdef __arm__
-    {
-        /* Extract architecture from the "CPU Architecture" field.
-         * The list is well-known, unlike the the output of
-         * the 'Processor' field which can vary greatly.
-         *
-         * See the definition of the 'proc_arch' array in
-         * $KERNEL/arch/arm/kernel/setup.c and the 'c_show' function in
-         * same file.
-         */
-        char* cpuArch = extract_cpuinfo_field(cpuinfo, cpuinfo_len, "CPU architecture");
-
-        if (cpuArch != NULL) {
-            char*  end;
-            long   archNumber;
-            int    hasARMv7 = 0;
-
-            D("found cpuArch = '%s'\n", cpuArch);
-
-            /* read the initial decimal number, ignore the rest */
-            archNumber = strtol(cpuArch, &end, 10);
-
-            /* Note that ARMv8 is upwards compatible with ARMv7. */
-            if (end > cpuArch && archNumber >= 7) {
-                hasARMv7 = 1;
-            }
-
-            /* Unfortunately, it seems that certain ARMv6-based CPUs
-             * report an incorrect architecture number of 7!
-             *
-             * See http://code.google.com/p/android/issues/detail?id=10812
-             *
-             * We try to correct this by looking at the 'elf_format'
-             * field reported by the 'Processor' field, which is of the
-             * form of "(v7l)" for an ARMv7-based CPU, and "(v6l)" for
-             * an ARMv6-one.
-             */
-            if (hasARMv7) {
-                char* cpuProc = extract_cpuinfo_field(cpuinfo, cpuinfo_len,
-                                                      "Processor");
-                if (cpuProc != NULL) {
-                    D("found cpuProc = '%s'\n", cpuProc);
-                    if (has_list_item(cpuProc, "(v6l)")) {
-                        D("CPU processor and architecture mismatch!!\n");
-                        hasARMv7 = 0;
-                    }
-                    free(cpuProc);
-                }
-            }
-
-            if (hasARMv7) {
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_ARMv7;
-            }
-
-            /* The LDREX / STREX instructions are available from ARMv6 */
-            if (archNumber >= 6) {
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_LDREX_STREX;
-            }
-
-            free(cpuArch);
-        }
-
-        /* Extract the list of CPU features from ELF hwcaps */
-        uint32_t hwcaps = 0;
-        hwcaps = get_elf_hwcap_from_getauxval(AT_HWCAP);
-        if (!hwcaps) {
-            D("Parsing /proc/self/auxv to extract ELF hwcaps!\n");
-            hwcaps = get_elf_hwcap_from_proc_self_auxv();
-        }
-        if (!hwcaps) {
-            // Parsing /proc/self/auxv will fail from regular application
-            // processes on some Android platform versions, when this happens
-            // parse proc/cpuinfo instead.
-            D("Parsing /proc/cpuinfo to extract ELF hwcaps!\n");
-            hwcaps = get_elf_hwcap_from_proc_cpuinfo(cpuinfo, cpuinfo_len);
-        }
-
-        if (hwcaps != 0) {
-            int has_vfp = (hwcaps & HWCAP_VFP);
-            int has_vfpv3 = (hwcaps & HWCAP_VFPv3);
-            int has_vfpv3d16 = (hwcaps & HWCAP_VFPv3D16);
-            int has_vfpv4 = (hwcaps & HWCAP_VFPv4);
-            int has_neon = (hwcaps & HWCAP_NEON);
-            int has_idiva = (hwcaps & HWCAP_IDIVA);
-            int has_idivt = (hwcaps & HWCAP_IDIVT);
-            int has_iwmmxt = (hwcaps & HWCAP_IWMMXT);
-
-            // The kernel does a poor job at ensuring consistency when
-            // describing CPU features. So lots of guessing is needed.
-
-            // 'vfpv4' implies VFPv3|VFP_FMA|FP16
-            if (has_vfpv4)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_VFPv3    |
-                                 ANDROID_CPU_ARM_FEATURE_VFP_FP16 |
-                                 ANDROID_CPU_ARM_FEATURE_VFP_FMA;
-
-            // 'vfpv3' or 'vfpv3d16' imply VFPv3. Note that unlike GCC,
-            // a value of 'vfpv3' doesn't necessarily mean that the D32
-            // feature is present, so be conservative. All CPUs in the
-            // field that support D32 also support NEON, so this should
-            // not be a problem in practice.
-            if (has_vfpv3 || has_vfpv3d16)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_VFPv3;
-
-            // 'vfp' is super ambiguous. Depending on the kernel, it can
-            // either mean VFPv2 or VFPv3. Make it depend on ARMv7.
-            if (has_vfp) {
-              if (g_cpuFeatures & ANDROID_CPU_ARM_FEATURE_ARMv7)
-                  g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_VFPv3;
-              else
-                  g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_VFPv2;
-            }
-
-            // Neon implies VFPv3|D32, and if vfpv4 is detected, NEON_FMA
-            if (has_neon) {
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_VFPv3 |
-                                 ANDROID_CPU_ARM_FEATURE_NEON |
-                                 ANDROID_CPU_ARM_FEATURE_VFP_D32;
-              if (has_vfpv4)
-                  g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_NEON_FMA;
-            }
-
-            // VFPv3 implies VFPv2 and ARMv7
-            if (g_cpuFeatures & ANDROID_CPU_ARM_FEATURE_VFPv3)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_VFPv2 |
-                                 ANDROID_CPU_ARM_FEATURE_ARMv7;
-
-            if (has_idiva)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_IDIV_ARM;
-            if (has_idivt)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_IDIV_THUMB2;
-
-            if (has_iwmmxt)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_iWMMXt;
-        }
-
-        /* Extract the list of CPU features from ELF hwcaps2 */
-        uint32_t hwcaps2 = 0;
-        hwcaps2 = get_elf_hwcap_from_getauxval(AT_HWCAP2);
-        if (hwcaps2 != 0) {
-            int has_aes     = (hwcaps2 & HWCAP2_AES);
-            int has_pmull   = (hwcaps2 & HWCAP2_PMULL);
-            int has_sha1    = (hwcaps2 & HWCAP2_SHA1);
-            int has_sha2    = (hwcaps2 & HWCAP2_SHA2);
-            int has_crc32   = (hwcaps2 & HWCAP2_CRC32);
-
-            if (has_aes)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_AES;
-            if (has_pmull)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_PMULL;
-            if (has_sha1)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_SHA1;
-            if (has_sha2)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_SHA2;
-            if (has_crc32)
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_CRC32;
-        }
-        /* Extract the cpuid value from various fields */
-        // The CPUID value is broken up in several entries in /proc/cpuinfo.
-        // This table is used to rebuild it from the entries.
-        static const struct CpuIdEntry {
-            const char* field;
-            char        format;
-            char        bit_lshift;
-            char        bit_length;
-        } cpu_id_entries[] = {
-            { "CPU implementer", 'x', 24, 8 },
-            { "CPU variant", 'x', 20, 4 },
-            { "CPU part", 'x', 4, 12 },
-            { "CPU revision", 'd', 0, 4 },
-        };
-        size_t i;
-        D("Parsing /proc/cpuinfo to recover CPUID\n");
-        for (i = 0;
-             i < sizeof(cpu_id_entries)/sizeof(cpu_id_entries[0]);
-             ++i) {
-            const struct CpuIdEntry* entry = &cpu_id_entries[i];
-            char* value = extract_cpuinfo_field(cpuinfo,
-                                                cpuinfo_len,
-                                                entry->field);
-            if (value == NULL)
-                continue;
-
-            D("field=%s value='%s'\n", entry->field, value);
-            char* value_end = value + strlen(value);
-            int val = 0;
-            const char* start = value;
-            const char* p;
-            if (value[0] == '0' && (value[1] == 'x' || value[1] == 'X')) {
-              start += 2;
-              p = parse_hexadecimal(start, value_end, &val);
-            } else if (entry->format == 'x')
-              p = parse_hexadecimal(value, value_end, &val);
-            else
-              p = parse_decimal(value, value_end, &val);
-
-            if (p > (const char*)start) {
-              val &= ((1 << entry->bit_length)-1);
-              val <<= entry->bit_lshift;
-              g_cpuIdArm |= (uint32_t) val;
-            }
-
-            free(value);
-        }
-
-        // Handle kernel configuration bugs that prevent the correct
-        // reporting of CPU features.
-        static const struct CpuFix {
-            uint32_t  cpuid;
-            uint64_t  or_flags;
-        } cpu_fixes[] = {
-            /* The Nexus 4 (Qualcomm Krait) kernel configuration
-             * forgets to report IDIV support. */
-            { 0x510006f2, ANDROID_CPU_ARM_FEATURE_IDIV_ARM |
-                          ANDROID_CPU_ARM_FEATURE_IDIV_THUMB2 },
-            { 0x510006f3, ANDROID_CPU_ARM_FEATURE_IDIV_ARM |
-                          ANDROID_CPU_ARM_FEATURE_IDIV_THUMB2 },
-        };
-        size_t n;
-        for (n = 0; n < sizeof(cpu_fixes)/sizeof(cpu_fixes[0]); ++n) {
-            const struct CpuFix* entry = &cpu_fixes[n];
-
-            if (g_cpuIdArm == entry->cpuid)
-                g_cpuFeatures |= entry->or_flags;
-        }
-
-        // Special case: The emulator-specific Android 4.2 kernel fails
-        // to report support for the 32-bit ARM IDIV instruction.
-        // Technically, this is a feature of the virtual CPU implemented
-        // by the emulator. Note that it could also support Thumb IDIV
-        // in the future, and this will have to be slightly updated.
-        char* hardware = extract_cpuinfo_field(cpuinfo,
-                                               cpuinfo_len,
-                                               "Hardware");
-        if (hardware) {
-            if (!strcmp(hardware, "Goldfish") &&
-                g_cpuIdArm == 0x4100c080 &&
-                (g_cpuFamily & ANDROID_CPU_ARM_FEATURE_ARMv7) != 0) {
-                g_cpuFeatures |= ANDROID_CPU_ARM_FEATURE_IDIV_ARM;
-            }
-            free(hardware);
-        }
-    }
-#endif /* __arm__ */
-#ifdef __aarch64__
-    {
-        /* Extract the list of CPU features from ELF hwcaps */
-        uint32_t hwcaps = 0;
-        hwcaps = get_elf_hwcap_from_getauxval(AT_HWCAP);
-        if (hwcaps != 0) {
-            int has_fp      = (hwcaps & HWCAP_FP);
-            int has_asimd   = (hwcaps & HWCAP_ASIMD);
-            int has_aes     = (hwcaps & HWCAP_AES);
-            int has_pmull   = (hwcaps & HWCAP_PMULL);
-            int has_sha1    = (hwcaps & HWCAP_SHA1);
-            int has_sha2    = (hwcaps & HWCAP_SHA2);
-            int has_crc32   = (hwcaps & HWCAP_CRC32);
-
-            if(has_fp == 0) {
-                D("ERROR: Floating-point unit missing, but is required by Android on AArch64 CPUs\n");
-            }
-            if(has_asimd == 0) {
-                D("ERROR: ASIMD unit missing, but is required by Android on AArch64 CPUs\n");
-            }
-
-            if (has_fp)
-                g_cpuFeatures |= ANDROID_CPU_ARM64_FEATURE_FP;
-            if (has_asimd)
-                g_cpuFeatures |= ANDROID_CPU_ARM64_FEATURE_ASIMD;
-            if (has_aes)
-                g_cpuFeatures |= ANDROID_CPU_ARM64_FEATURE_AES;
-            if (has_pmull)
-                g_cpuFeatures |= ANDROID_CPU_ARM64_FEATURE_PMULL;
-            if (has_sha1)
-                g_cpuFeatures |= ANDROID_CPU_ARM64_FEATURE_SHA1;
-            if (has_sha2)
-                g_cpuFeatures |= ANDROID_CPU_ARM64_FEATURE_SHA2;
-            if (has_crc32)
-                g_cpuFeatures |= ANDROID_CPU_ARM64_FEATURE_CRC32;
-        }
-    }
-#endif /* __aarch64__ */
-
-#if defined(__i386__) || defined(__x86_64__)
-    int regs[4];
-
-/* According to http://en.wikipedia.org/wiki/CPUID */
-#define VENDOR_INTEL_b  0x756e6547
-#define VENDOR_INTEL_c  0x6c65746e
-#define VENDOR_INTEL_d  0x49656e69
-
-    x86_cpuid(0, regs);
-    int vendorIsIntel = (regs[1] == VENDOR_INTEL_b &&
-                         regs[2] == VENDOR_INTEL_c &&
-                         regs[3] == VENDOR_INTEL_d);
-
-    x86_cpuid(1, regs);
-    if ((regs[2] & (1 << 9)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_SSSE3;
-    }
-    if ((regs[2] & (1 << 23)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_POPCNT;
-    }
-    if ((regs[2] & (1 << 19)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_SSE4_1;
-    }
-    if ((regs[2] & (1 << 20)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_SSE4_2;
-    }
-    if (vendorIsIntel && (regs[2] & (1 << 22)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_MOVBE;
-    }
-    if ((regs[2] & (1 << 25)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_AES_NI;
-    }
-    if ((regs[2] & (1 << 28)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_AVX;
-    }
-    if ((regs[2] & (1 << 30)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_RDRAND;
-    }
-
-    x86_cpuid(7, regs);
-    if ((regs[1] & (1 << 5)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_AVX2;
-    }
-    if ((regs[1] & (1 << 29)) != 0) {
-        g_cpuFeatures |= ANDROID_CPU_X86_FEATURE_SHA_NI;
-    }
-
-
-#endif
-#if defined( __mips__)
-    {   /* MIPS and MIPS64 */
-        /* Extract the list of CPU features from ELF hwcaps */
-        uint32_t hwcaps = 0;
-        hwcaps = get_elf_hwcap_from_getauxval(AT_HWCAP);
-        if (hwcaps != 0) {
-            int has_r6      = (hwcaps & HWCAP_MIPS_R6);
-            int has_msa     = (hwcaps & HWCAP_MIPS_MSA);
-            if (has_r6)
-                g_cpuFeatures |= ANDROID_CPU_MIPS_FEATURE_R6;
-            if (has_msa)
-                g_cpuFeatures |= ANDROID_CPU_MIPS_FEATURE_MSA;
-        }
-    }
-#endif /* __mips__ */
-
-    free(cpuinfo);
-}
-
-
-AndroidCpuFamily
-android_getCpuFamily(void)
-{
-    pthread_once(&g_once, android_cpuInit);
-    return g_cpuFamily;
-}
-
-
-uint64_t
-android_getCpuFeatures(void)
-{
-    pthread_once(&g_once, android_cpuInit);
-    return g_cpuFeatures;
-}
-
-
-int
-android_getCpuCount(void)
-{
-    pthread_once(&g_once, android_cpuInit);
-    return g_cpuCount;
-}
-
-static void
-android_cpuInitDummy(void)
-{
-    g_inited = 1;
-}
-
-int
-android_setCpu(int cpu_count, uint64_t cpu_features)
-{
-    /* Fail if the library was already initialized. */
-    if (g_inited)
-        return 0;
-
-    android_cpuInitFamily();
-    g_cpuCount = (cpu_count <= 0 ? 1 : cpu_count);
-    g_cpuFeatures = cpu_features;
-    pthread_once(&g_once, android_cpuInitDummy);
-
-    return 1;
-}
-
-#ifdef __arm__
-uint32_t
-android_getCpuIdArm(void)
-{
-    pthread_once(&g_once, android_cpuInit);
-    return g_cpuIdArm;
-}
-
-int
-android_setCpuArm(int cpu_count, uint64_t cpu_features, uint32_t cpu_id)
-{
-    if (!android_setCpu(cpu_count, cpu_features))
-        return 0;
-
-    g_cpuIdArm = cpu_id;
-    return 1;
-}
-#endif  /* __arm__ */
-
-/*
- * Technical note: Making sense of ARM's FPU architecture versions.
- *
- * FPA was ARM's first attempt at an FPU architecture. There is no Android
- * device that actually uses it since this technology was already obsolete
- * when the project started. If you see references to FPA instructions
- * somewhere, you can be sure that this doesn't apply to Android at all.
- *
- * FPA was followed by "VFP", soon renamed "VFPv1" due to the emergence of
- * new versions / additions to it. ARM considers this obsolete right now,
- * and no known Android device implements it either.
- *
- * VFPv2 added a few instructions to VFPv1, and is an *optional* extension
- * supported by some ARMv5TE, ARMv6 and ARMv6T2 CPUs. Note that a device
- * supporting the 'armeabi' ABI doesn't necessarily support these.
- *
- * VFPv3-D16 adds a few instructions on top of VFPv2 and is typically used
- * on ARMv7-A CPUs which implement a FPU. Note that it is also mandated
- * by the Android 'armeabi-v7a' ABI. The -D16 suffix in its name means
- * that it provides 16 double-precision FPU registers (d0-d15) and 32
- * single-precision ones (s0-s31) which happen to be mapped to the same
- * register banks.
- *
- * VFPv3-D32 is the name of an extension to VFPv3-D16 that provides 16
- * additional double precision registers (d16-d31). Note that there are
- * still only 32 single precision registers.
- *
- * VFPv3xD is a *subset* of VFPv3-D16 that only provides single-precision
- * registers. It is only used on ARMv7-M (i.e. on micro-controllers) which
- * are not supported by Android. Note that it is not compatible with VFPv2.
- *
- * NOTE: The term 'VFPv3' usually designate either VFPv3-D16 or VFPv3-D32
- *       depending on context. For example GCC uses it for VFPv3-D32, but
- *       the Linux kernel code uses it for VFPv3-D16 (especially in
- *       /proc/cpuinfo). Always try to use the full designation when
- *       possible.
- *
- * NEON, a.k.a. "ARM Advanced SIMD" is an extension that provides
- * instructions to perform parallel computations on vectors of 8, 16,
- * 32, 64 and 128 bit quantities. NEON requires VFPv32-D32 since all
- * NEON registers are also mapped to the same register banks.
- *
- * VFPv4-D16, adds a few instructions on top of VFPv3-D16 in order to
- * perform fused multiply-accumulate on VFP registers, as well as
- * half-precision (16-bit) conversion operations.
- *
- * VFPv4-D32 is VFPv4-D16 with 32, instead of 16, FPU double precision
- * registers.
- *
- * VPFv4-NEON is VFPv4-D32 with NEON instructions. It also adds fused
- * multiply-accumulate instructions that work on the NEON registers.
- *
- * NOTE: Similarly, "VFPv4" might either reference VFPv4-D16 or VFPv4-D32
- *       depending on context.
- *
- * The following information was determined by scanning the binutils-2.22
- * sources:
- *
- * Basic VFP instruction subsets:
- *
- * #define FPU_VFP_EXT_V1xD 0x08000000     // Base VFP instruction set.
- * #define FPU_VFP_EXT_V1   0x04000000     // Double-precision insns.
- * #define FPU_VFP_EXT_V2   0x02000000     // ARM10E VFPr1.
- * #define FPU_VFP_EXT_V3xD 0x01000000     // VFPv3 single-precision.
- * #define FPU_VFP_EXT_V3   0x00800000     // VFPv3 double-precision.
- * #define FPU_NEON_EXT_V1  0x00400000     // Neon (SIMD) insns.
- * #define FPU_VFP_EXT_D32  0x00200000     // Registers D16-D31.
- * #define FPU_VFP_EXT_FP16 0x00100000     // Half-precision extensions.
- * #define FPU_NEON_EXT_FMA 0x00080000     // Neon fused multiply-add
- * #define FPU_VFP_EXT_FMA  0x00040000     // VFP fused multiply-add
- *
- * FPU types (excluding NEON)
- *
- * FPU_VFP_V1xD (EXT_V1xD)
- *    |
- *    +--------------------------+
- *    |                          |
- * FPU_VFP_V1 (+EXT_V1)       FPU_VFP_V3xD (+EXT_V2+EXT_V3xD)
- *    |                          |
- *    |                          |
- * FPU_VFP_V2 (+EXT_V2)       FPU_VFP_V4_SP_D16 (+EXT_FP16+EXT_FMA)
- *    |
- * FPU_VFP_V3D16 (+EXT_Vx3D+EXT_V3)
- *    |
- *    +--------------------------+
- *    |                          |
- * FPU_VFP_V3 (+EXT_D32)     FPU_VFP_V4D16 (+EXT_FP16+EXT_FMA)
- *    |                          |
- *    |                      FPU_VFP_V4 (+EXT_D32)
- *    |
- * FPU_VFP_HARD (+EXT_FMA+NEON_EXT_FMA)
- *
- * VFP architectures:
- *
- * ARCH_VFP_V1xD  (EXT_V1xD)
- *   |
- *   +------------------+
- *   |                  |
- *   |             ARCH_VFP_V3xD (+EXT_V2+EXT_V3xD)
- *   |                  |
- *   |             ARCH_VFP_V3xD_FP16 (+EXT_FP16)
- *   |                  |
- *   |             ARCH_VFP_V4_SP_D16 (+EXT_FMA)
- *   |
- * ARCH_VFP_V1 (+EXT_V1)
- *   |
- * ARCH_VFP_V2 (+EXT_V2)
- *   |
- * ARCH_VFP_V3D16 (+EXT_V3xD+EXT_V3)
- *   |
- *   +-------------------+
- *   |                   |
- *   |         ARCH_VFP_V3D16_FP16  (+EXT_FP16)
- *   |
- *   +-------------------+
- *   |                   |
- *   |         ARCH_VFP_V4_D16 (+EXT_FP16+EXT_FMA)
- *   |                   |
- *   |         ARCH_VFP_V4 (+EXT_D32)
- *   |                   |
- *   |         ARCH_NEON_VFP_V4 (+EXT_NEON+EXT_NEON_FMA)
- *   |
- * ARCH_VFP_V3 (+EXT_D32)
- *   |
- *   +-------------------+
- *   |                   |
- *   |         ARCH_VFP_V3_FP16 (+EXT_FP16)
- *   |
- * ARCH_VFP_V3_PLUS_NEON_V1 (+EXT_NEON)
- *   |
- * ARCH_NEON_FP16 (+EXT_FP16)
- *
- * -fpu=<name> values and their correspondance with FPU architectures above:
- *
- *   {"vfp",               FPU_ARCH_VFP_V2},
- *   {"vfp9",              FPU_ARCH_VFP_V2},
- *   {"vfp3",              FPU_ARCH_VFP_V3}, // For backwards compatbility.
- *   {"vfp10",             FPU_ARCH_VFP_V2},
- *   {"vfp10-r0",          FPU_ARCH_VFP_V1},
- *   {"vfpxd",             FPU_ARCH_VFP_V1xD},
- *   {"vfpv2",             FPU_ARCH_VFP_V2},
- *   {"vfpv3",             FPU_ARCH_VFP_V3},
- *   {"vfpv3-fp16",        FPU_ARCH_VFP_V3_FP16},
- *   {"vfpv3-d16",         FPU_ARCH_VFP_V3D16},
- *   {"vfpv3-d16-fp16",    FPU_ARCH_VFP_V3D16_FP16},
- *   {"vfpv3xd",           FPU_ARCH_VFP_V3xD},
- *   {"vfpv3xd-fp16",      FPU_ARCH_VFP_V3xD_FP16},
- *   {"neon",              FPU_ARCH_VFP_V3_PLUS_NEON_V1},
- *   {"neon-fp16",         FPU_ARCH_NEON_FP16},
- *   {"vfpv4",             FPU_ARCH_VFP_V4},
- *   {"vfpv4-d16",         FPU_ARCH_VFP_V4D16},
- *   {"fpv4-sp-d16",       FPU_ARCH_VFP_V4_SP_D16},
- *   {"neon-vfpv4",        FPU_ARCH_NEON_VFP_V4},
- *
- *
- * Simplified diagram that only includes FPUs supported by Android:
- * Only ARCH_VFP_V3D16 is actually mandated by the armeabi-v7a ABI,
- * all others are optional and must be probed at runtime.
- *
- * ARCH_VFP_V3D16 (EXT_V1xD+EXT_V1+EXT_V2+EXT_V3xD+EXT_V3)
- *   |
- *   +-------------------+
- *   |                   |
- *   |         ARCH_VFP_V3D16_FP16  (+EXT_FP16)
- *   |
- *   +-------------------+
- *   |                   |
- *   |         ARCH_VFP_V4_D16 (+EXT_FP16+EXT_FMA)
- *   |                   |
- *   |         ARCH_VFP_V4 (+EXT_D32)
- *   |                   |
- *   |         ARCH_NEON_VFP_V4 (+EXT_NEON+EXT_NEON_FMA)
- *   |
- * ARCH_VFP_V3 (+EXT_D32)
- *   |
- *   +-------------------+
- *   |                   |
- *   |         ARCH_VFP_V3_FP16 (+EXT_FP16)
- *   |
- * ARCH_VFP_V3_PLUS_NEON_V1 (+EXT_NEON)
- *   |
- * ARCH_NEON_FP16 (+EXT_FP16)
- *
- */
diff --git a/r21/sources/android/cpufeatures/cpu-features.h b/r21/sources/android/cpufeatures/cpu-features.h
deleted file mode 100644
index 1e97241..0000000
--- a/r21/sources/android/cpufeatures/cpu-features.h
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-#ifndef CPU_FEATURES_H
-#define CPU_FEATURES_H
-
-#include <sys/cdefs.h>
-#include <stdint.h>
-
-__BEGIN_DECLS
-
-/* A list of valid values returned by android_getCpuFamily().
- * They describe the CPU Architecture of the current process.
- */
-typedef enum {
-    ANDROID_CPU_FAMILY_UNKNOWN = 0,
-    ANDROID_CPU_FAMILY_ARM,
-    ANDROID_CPU_FAMILY_X86,
-    ANDROID_CPU_FAMILY_MIPS,
-    ANDROID_CPU_FAMILY_ARM64,
-    ANDROID_CPU_FAMILY_X86_64,
-    ANDROID_CPU_FAMILY_MIPS64,
-
-    ANDROID_CPU_FAMILY_MAX  /* do not remove */
-
-} AndroidCpuFamily;
-
-/* Return the CPU family of the current process.
- *
- * Note that this matches the bitness of the current process. I.e. when
- * running a 32-bit binary on a 64-bit capable CPU, this will return the
- * 32-bit CPU family value.
- */
-extern AndroidCpuFamily android_getCpuFamily(void);
-
-/* Return a bitmap describing a set of optional CPU features that are
- * supported by the current device's CPU. The exact bit-flags returned
- * depend on the value returned by android_getCpuFamily(). See the
- * documentation for the ANDROID_CPU_*_FEATURE_* flags below for details.
- */
-extern uint64_t android_getCpuFeatures(void);
-
-/* The list of feature flags for ANDROID_CPU_FAMILY_ARM that can be
- * recognized by the library (see note below for 64-bit ARM). Value details
- * are:
- *
- *   VFPv2:
- *     CPU supports the VFPv2 instruction set. Many, but not all, ARMv6 CPUs
- *     support these instructions. VFPv2 is a subset of VFPv3 so this will
- *     be set whenever VFPv3 is set too.
- *
- *   ARMv7:
- *     CPU supports the ARMv7-A basic instruction set.
- *     This feature is mandated by the 'armeabi-v7a' ABI.
- *
- *   VFPv3:
- *     CPU supports the VFPv3-D16 instruction set, providing hardware FPU
- *     support for single and double precision floating point registers.
- *     Note that only 16 FPU registers are available by default, unless
- *     the D32 bit is set too. This feature is also mandated by the
- *     'armeabi-v7a' ABI.
- *
- *   VFP_D32:
- *     CPU VFP optional extension that provides 32 FPU registers,
- *     instead of 16. Note that ARM mandates this feature is the 'NEON'
- *     feature is implemented by the CPU.
- *
- *   NEON:
- *     CPU FPU supports "ARM Advanced SIMD" instructions, also known as
- *     NEON. Note that this mandates the VFP_D32 feature as well, per the
- *     ARM Architecture specification.
- *
- *   VFP_FP16:
- *     Half-width floating precision VFP extension. If set, the CPU
- *     supports instructions to perform floating-point operations on
- *     16-bit registers. This is part of the VFPv4 specification, but
- *     not mandated by any Android ABI.
- *
- *   VFP_FMA:
- *     Fused multiply-accumulate VFP instructions extension. Also part of
- *     the VFPv4 specification, but not mandated by any Android ABI.
- *
- *   NEON_FMA:
- *     Fused multiply-accumulate NEON instructions extension. Optional
- *     extension from the VFPv4 specification, but not mandated by any
- *     Android ABI.
- *
- *   IDIV_ARM:
- *     Integer division available in ARM mode. Only available
- *     on recent CPUs (e.g. Cortex-A15).
- *
- *   IDIV_THUMB2:
- *     Integer division available in Thumb-2 mode. Only available
- *     on recent CPUs (e.g. Cortex-A15).
- *
- *   iWMMXt:
- *     Optional extension that adds MMX registers and operations to an
- *     ARM CPU. This is only available on a few XScale-based CPU designs
- *     sold by Marvell. Pretty rare in practice.
- *
- *   AES:
- *     CPU supports AES instructions. These instructions are only
- *     available for 32-bit applications running on ARMv8 CPU.
- *
- *   CRC32:
- *     CPU supports CRC32 instructions. These instructions are only
- *     available for 32-bit applications running on ARMv8 CPU.
- *
- *   SHA2:
- *     CPU supports SHA2 instructions. These instructions are only
- *     available for 32-bit applications running on ARMv8 CPU.
- *
- *   SHA1:
- *     CPU supports SHA1 instructions. These instructions are only
- *     available for 32-bit applications running on ARMv8 CPU.
- *
- *   PMULL:
- *     CPU supports 64-bit PMULL and PMULL2 instructions. These
- *     instructions are only available for 32-bit applications
- *     running on ARMv8 CPU.
- *
- * If you want to tell the compiler to generate code that targets one of
- * the feature set above, you should probably use one of the following
- * flags (for more details, see technical note at the end of this file):
- *
- *   -mfpu=vfp
- *   -mfpu=vfpv2
- *     These are equivalent and tell GCC to use VFPv2 instructions for
- *     floating-point operations. Use this if you want your code to
- *     run on *some* ARMv6 devices, and any ARMv7-A device supported
- *     by Android.
- *
- *     Generated code requires VFPv2 feature.
- *
- *   -mfpu=vfpv3-d16
- *     Tell GCC to use VFPv3 instructions (using only 16 FPU registers).
- *     This should be generic code that runs on any CPU that supports the
- *     'armeabi-v7a' Android ABI. Note that no ARMv6 CPU supports this.
- *
- *     Generated code requires VFPv3 feature.
- *
- *   -mfpu=vfpv3
- *     Tell GCC to use VFPv3 instructions with 32 FPU registers.
- *     Generated code requires VFPv3|VFP_D32 features.
- *
- *   -mfpu=neon
- *     Tell GCC to use VFPv3 instructions with 32 FPU registers, and
- *     also support NEON intrinsics (see <arm_neon.h>).
- *     Generated code requires VFPv3|VFP_D32|NEON features.
- *
- *   -mfpu=vfpv4-d16
- *     Generated code requires VFPv3|VFP_FP16|VFP_FMA features.
- *
- *   -mfpu=vfpv4
- *     Generated code requires VFPv3|VFP_FP16|VFP_FMA|VFP_D32 features.
- *
- *   -mfpu=neon-vfpv4
- *     Generated code requires VFPv3|VFP_FP16|VFP_FMA|VFP_D32|NEON|NEON_FMA
- *     features.
- *
- *   -mcpu=cortex-a7
- *   -mcpu=cortex-a15
- *     Generated code requires VFPv3|VFP_FP16|VFP_FMA|VFP_D32|
- *                             NEON|NEON_FMA|IDIV_ARM|IDIV_THUMB2
- *     This flag implies -mfpu=neon-vfpv4.
- *
- *   -mcpu=iwmmxt
- *     Allows the use of iWMMXt instrinsics with GCC.
- *
- * IMPORTANT NOTE: These flags should only be tested when
- * android_getCpuFamily() returns ANDROID_CPU_FAMILY_ARM, i.e. this is a
- * 32-bit process.
- *
- * When running a 64-bit ARM process on an ARMv8 CPU,
- * android_getCpuFeatures() will return a different set of bitflags
- */
-enum {
-    ANDROID_CPU_ARM_FEATURE_ARMv7       = (1 << 0),
-    ANDROID_CPU_ARM_FEATURE_VFPv3       = (1 << 1),
-    ANDROID_CPU_ARM_FEATURE_NEON        = (1 << 2),
-    ANDROID_CPU_ARM_FEATURE_LDREX_STREX = (1 << 3),
-    ANDROID_CPU_ARM_FEATURE_VFPv2       = (1 << 4),
-    ANDROID_CPU_ARM_FEATURE_VFP_D32     = (1 << 5),
-    ANDROID_CPU_ARM_FEATURE_VFP_FP16    = (1 << 6),
-    ANDROID_CPU_ARM_FEATURE_VFP_FMA     = (1 << 7),
-    ANDROID_CPU_ARM_FEATURE_NEON_FMA    = (1 << 8),
-    ANDROID_CPU_ARM_FEATURE_IDIV_ARM    = (1 << 9),
-    ANDROID_CPU_ARM_FEATURE_IDIV_THUMB2 = (1 << 10),
-    ANDROID_CPU_ARM_FEATURE_iWMMXt      = (1 << 11),
-    ANDROID_CPU_ARM_FEATURE_AES         = (1 << 12),
-    ANDROID_CPU_ARM_FEATURE_PMULL       = (1 << 13),
-    ANDROID_CPU_ARM_FEATURE_SHA1        = (1 << 14),
-    ANDROID_CPU_ARM_FEATURE_SHA2        = (1 << 15),
-    ANDROID_CPU_ARM_FEATURE_CRC32       = (1 << 16),
-};
-
-/* The bit flags corresponding to the output of android_getCpuFeatures()
- * when android_getCpuFamily() returns ANDROID_CPU_FAMILY_ARM64. Value details
- * are:
- *
- *   FP:
- *     CPU has Floating-point unit.
- *
- *   ASIMD:
- *     CPU has Advanced SIMD unit.
- *
- *   AES:
- *     CPU supports AES instructions.
- *
- *   CRC32:
- *     CPU supports CRC32 instructions.
- *
- *   SHA2:
- *     CPU supports SHA2 instructions.
- *
- *   SHA1:
- *     CPU supports SHA1 instructions.
- *
- *   PMULL:
- *     CPU supports 64-bit PMULL and PMULL2 instructions.
- */
-enum {
-    ANDROID_CPU_ARM64_FEATURE_FP      = (1 << 0),
-    ANDROID_CPU_ARM64_FEATURE_ASIMD   = (1 << 1),
-    ANDROID_CPU_ARM64_FEATURE_AES     = (1 << 2),
-    ANDROID_CPU_ARM64_FEATURE_PMULL   = (1 << 3),
-    ANDROID_CPU_ARM64_FEATURE_SHA1    = (1 << 4),
-    ANDROID_CPU_ARM64_FEATURE_SHA2    = (1 << 5),
-    ANDROID_CPU_ARM64_FEATURE_CRC32   = (1 << 6),
-};
-
-/* The bit flags corresponding to the output of android_getCpuFeatures()
- * when android_getCpuFamily() returns ANDROID_CPU_FAMILY_X86 or
- * ANDROID_CPU_FAMILY_X86_64.
- */
-enum {
-    ANDROID_CPU_X86_FEATURE_SSSE3  = (1 << 0),
-    ANDROID_CPU_X86_FEATURE_POPCNT = (1 << 1),
-    ANDROID_CPU_X86_FEATURE_MOVBE  = (1 << 2),
-    ANDROID_CPU_X86_FEATURE_SSE4_1 = (1 << 3),
-    ANDROID_CPU_X86_FEATURE_SSE4_2 = (1 << 4),
-    ANDROID_CPU_X86_FEATURE_AES_NI = (1 << 5),
-    ANDROID_CPU_X86_FEATURE_AVX =    (1 << 6),
-    ANDROID_CPU_X86_FEATURE_RDRAND = (1 << 7),
-    ANDROID_CPU_X86_FEATURE_AVX2 =   (1 << 8),
-    ANDROID_CPU_X86_FEATURE_SHA_NI = (1 << 9),
-};
-
-/* The bit flags corresponding to the output of android_getCpuFeatures()
- * when android_getCpuFamily() returns ANDROID_CPU_FAMILY_MIPS
- * or ANDROID_CPU_FAMILY_MIPS64.  Values are:
- *
- *   R6:
- *     CPU executes MIPS Release 6 instructions natively, and
- *     supports obsoleted R1..R5 instructions only via kernel traps.
- *
- *   MSA:
- *     CPU supports Mips SIMD Architecture instructions.
- */
-enum {
-    ANDROID_CPU_MIPS_FEATURE_R6    = (1 << 0),
-    ANDROID_CPU_MIPS_FEATURE_MSA   = (1 << 1),
-};
-
-
-/* Return the number of CPU cores detected on this device. */
-extern int android_getCpuCount(void);
-
-/* The following is used to force the CPU count and features
- * mask in sandboxed processes. Under 4.1 and higher, these processes
- * cannot access /proc, which is the only way to get information from
- * the kernel about the current hardware (at least on ARM).
- *
- * It _must_ be called only once, and before any android_getCpuXXX
- * function, any other case will fail.
- *
- * This function return 1 on success, and 0 on failure.
- */
-extern int android_setCpu(int      cpu_count,
-                          uint64_t cpu_features);
-
-#ifdef __arm__
-/* Retrieve the ARM 32-bit CPUID value from the kernel.
- * Note that this cannot work on sandboxed processes under 4.1 and
- * higher, unless you called android_setCpuArm() before.
- */
-extern uint32_t android_getCpuIdArm(void);
-
-/* An ARM-specific variant of android_setCpu() that also allows you
- * to set the ARM CPUID field.
- */
-extern int android_setCpuArm(int      cpu_count,
-                             uint64_t cpu_features,
-                             uint32_t cpu_id);
-#endif
-
-__END_DECLS
-
-#endif /* CPU_FEATURES_H */
diff --git a/r21/sources/android/native_app_glue/NOTICE b/r21/sources/android/native_app_glue/NOTICE
deleted file mode 100644
index d6c0922..0000000
--- a/r21/sources/android/native_app_glue/NOTICE
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (C) 2016 The Android Open Source Project
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/r21/sources/android/native_app_glue/android_native_app_glue.c b/r21/sources/android/native_app_glue/android_native_app_glue.c
deleted file mode 100644
index 7eada08..0000000
--- a/r21/sources/android/native_app_glue/android_native_app_glue.c
+++ /dev/null
@@ -1,442 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <jni.h>
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/resource.h>
-
-#include "android_native_app_glue.h"
-#include <android/log.h>
-
-#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "threaded_app", __VA_ARGS__))
-#define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, "threaded_app", __VA_ARGS__))
-
-/* For debug builds, always enable the debug traces in this library */
-#ifndef NDEBUG
-#  define LOGV(...)  ((void)__android_log_print(ANDROID_LOG_VERBOSE, "threaded_app", __VA_ARGS__))
-#else
-#  define LOGV(...)  ((void)0)
-#endif
-
-static void free_saved_state(struct android_app* android_app) {
-    pthread_mutex_lock(&android_app->mutex);
-    if (android_app->savedState != NULL) {
-        free(android_app->savedState);
-        android_app->savedState = NULL;
-        android_app->savedStateSize = 0;
-    }
-    pthread_mutex_unlock(&android_app->mutex);
-}
-
-int8_t android_app_read_cmd(struct android_app* android_app) {
-    int8_t cmd;
-    if (read(android_app->msgread, &cmd, sizeof(cmd)) == sizeof(cmd)) {
-        switch (cmd) {
-            case APP_CMD_SAVE_STATE:
-                free_saved_state(android_app);
-                break;
-        }
-        return cmd;
-    } else {
-        LOGE("No data on command pipe!");
-    }
-    return -1;
-}
-
-static void print_cur_config(struct android_app* android_app) {
-    char lang[2], country[2];
-    AConfiguration_getLanguage(android_app->config, lang);
-    AConfiguration_getCountry(android_app->config, country);
-
-    LOGV("Config: mcc=%d mnc=%d lang=%c%c cnt=%c%c orien=%d touch=%d dens=%d "
-            "keys=%d nav=%d keysHid=%d navHid=%d sdk=%d size=%d long=%d "
-            "modetype=%d modenight=%d",
-            AConfiguration_getMcc(android_app->config),
-            AConfiguration_getMnc(android_app->config),
-            lang[0], lang[1], country[0], country[1],
-            AConfiguration_getOrientation(android_app->config),
-            AConfiguration_getTouchscreen(android_app->config),
-            AConfiguration_getDensity(android_app->config),
-            AConfiguration_getKeyboard(android_app->config),
-            AConfiguration_getNavigation(android_app->config),
-            AConfiguration_getKeysHidden(android_app->config),
-            AConfiguration_getNavHidden(android_app->config),
-            AConfiguration_getSdkVersion(android_app->config),
-            AConfiguration_getScreenSize(android_app->config),
-            AConfiguration_getScreenLong(android_app->config),
-            AConfiguration_getUiModeType(android_app->config),
-            AConfiguration_getUiModeNight(android_app->config));
-}
-
-void android_app_pre_exec_cmd(struct android_app* android_app, int8_t cmd) {
-    switch (cmd) {
-        case APP_CMD_INPUT_CHANGED:
-            LOGV("APP_CMD_INPUT_CHANGED\n");
-            pthread_mutex_lock(&android_app->mutex);
-            if (android_app->inputQueue != NULL) {
-                AInputQueue_detachLooper(android_app->inputQueue);
-            }
-            android_app->inputQueue = android_app->pendingInputQueue;
-            if (android_app->inputQueue != NULL) {
-                LOGV("Attaching input queue to looper");
-                AInputQueue_attachLooper(android_app->inputQueue,
-                        android_app->looper, LOOPER_ID_INPUT, NULL,
-                        &android_app->inputPollSource);
-            }
-            pthread_cond_broadcast(&android_app->cond);
-            pthread_mutex_unlock(&android_app->mutex);
-            break;
-
-        case APP_CMD_INIT_WINDOW:
-            LOGV("APP_CMD_INIT_WINDOW\n");
-            pthread_mutex_lock(&android_app->mutex);
-            android_app->window = android_app->pendingWindow;
-            pthread_cond_broadcast(&android_app->cond);
-            pthread_mutex_unlock(&android_app->mutex);
-            break;
-
-        case APP_CMD_TERM_WINDOW:
-            LOGV("APP_CMD_TERM_WINDOW\n");
-            pthread_cond_broadcast(&android_app->cond);
-            break;
-
-        case APP_CMD_RESUME:
-        case APP_CMD_START:
-        case APP_CMD_PAUSE:
-        case APP_CMD_STOP:
-            LOGV("activityState=%d\n", cmd);
-            pthread_mutex_lock(&android_app->mutex);
-            android_app->activityState = cmd;
-            pthread_cond_broadcast(&android_app->cond);
-            pthread_mutex_unlock(&android_app->mutex);
-            break;
-
-        case APP_CMD_CONFIG_CHANGED:
-            LOGV("APP_CMD_CONFIG_CHANGED\n");
-            AConfiguration_fromAssetManager(android_app->config,
-                    android_app->activity->assetManager);
-            print_cur_config(android_app);
-            break;
-
-        case APP_CMD_DESTROY:
-            LOGV("APP_CMD_DESTROY\n");
-            android_app->destroyRequested = 1;
-            break;
-    }
-}
-
-void android_app_post_exec_cmd(struct android_app* android_app, int8_t cmd) {
-    switch (cmd) {
-        case APP_CMD_TERM_WINDOW:
-            LOGV("APP_CMD_TERM_WINDOW\n");
-            pthread_mutex_lock(&android_app->mutex);
-            android_app->window = NULL;
-            pthread_cond_broadcast(&android_app->cond);
-            pthread_mutex_unlock(&android_app->mutex);
-            break;
-
-        case APP_CMD_SAVE_STATE:
-            LOGV("APP_CMD_SAVE_STATE\n");
-            pthread_mutex_lock(&android_app->mutex);
-            android_app->stateSaved = 1;
-            pthread_cond_broadcast(&android_app->cond);
-            pthread_mutex_unlock(&android_app->mutex);
-            break;
-
-        case APP_CMD_RESUME:
-            free_saved_state(android_app);
-            break;
-    }
-}
-
-void app_dummy() {
-
-}
-
-static void android_app_destroy(struct android_app* android_app) {
-    LOGV("android_app_destroy!");
-    free_saved_state(android_app);
-    pthread_mutex_lock(&android_app->mutex);
-    if (android_app->inputQueue != NULL) {
-        AInputQueue_detachLooper(android_app->inputQueue);
-    }
-    AConfiguration_delete(android_app->config);
-    android_app->destroyed = 1;
-    pthread_cond_broadcast(&android_app->cond);
-    pthread_mutex_unlock(&android_app->mutex);
-    // Can't touch android_app object after this.
-}
-
-static void process_input(struct android_app* app, struct android_poll_source* source) {
-    AInputEvent* event = NULL;
-    while (AInputQueue_getEvent(app->inputQueue, &event) >= 0) {
-        LOGV("New input event: type=%d\n", AInputEvent_getType(event));
-        if (AInputQueue_preDispatchEvent(app->inputQueue, event)) {
-            continue;
-        }
-        int32_t handled = 0;
-        if (app->onInputEvent != NULL) handled = app->onInputEvent(app, event);
-        AInputQueue_finishEvent(app->inputQueue, event, handled);
-    }
-}
-
-static void process_cmd(struct android_app* app, struct android_poll_source* source) {
-    int8_t cmd = android_app_read_cmd(app);
-    android_app_pre_exec_cmd(app, cmd);
-    if (app->onAppCmd != NULL) app->onAppCmd(app, cmd);
-    android_app_post_exec_cmd(app, cmd);
-}
-
-static void* android_app_entry(void* param) {
-    struct android_app* android_app = (struct android_app*)param;
-
-    android_app->config = AConfiguration_new();
-    AConfiguration_fromAssetManager(android_app->config, android_app->activity->assetManager);
-
-    print_cur_config(android_app);
-
-    android_app->cmdPollSource.id = LOOPER_ID_MAIN;
-    android_app->cmdPollSource.app = android_app;
-    android_app->cmdPollSource.process = process_cmd;
-    android_app->inputPollSource.id = LOOPER_ID_INPUT;
-    android_app->inputPollSource.app = android_app;
-    android_app->inputPollSource.process = process_input;
-
-    ALooper* looper = ALooper_prepare(ALOOPER_PREPARE_ALLOW_NON_CALLBACKS);
-    ALooper_addFd(looper, android_app->msgread, LOOPER_ID_MAIN, ALOOPER_EVENT_INPUT, NULL,
-            &android_app->cmdPollSource);
-    android_app->looper = looper;
-
-    pthread_mutex_lock(&android_app->mutex);
-    android_app->running = 1;
-    pthread_cond_broadcast(&android_app->cond);
-    pthread_mutex_unlock(&android_app->mutex);
-
-    android_main(android_app);
-
-    android_app_destroy(android_app);
-    return NULL;
-}
-
-// --------------------------------------------------------------------
-// Native activity interaction (called from main thread)
-// --------------------------------------------------------------------
-
-static struct android_app* android_app_create(ANativeActivity* activity,
-        void* savedState, size_t savedStateSize) {
-    struct android_app* android_app = (struct android_app*)malloc(sizeof(struct android_app));
-    memset(android_app, 0, sizeof(struct android_app));
-    android_app->activity = activity;
-
-    pthread_mutex_init(&android_app->mutex, NULL);
-    pthread_cond_init(&android_app->cond, NULL);
-
-    if (savedState != NULL) {
-        android_app->savedState = malloc(savedStateSize);
-        android_app->savedStateSize = savedStateSize;
-        memcpy(android_app->savedState, savedState, savedStateSize);
-    }
-
-    int msgpipe[2];
-    if (pipe(msgpipe)) {
-        LOGE("could not create pipe: %s", strerror(errno));
-        return NULL;
-    }
-    android_app->msgread = msgpipe[0];
-    android_app->msgwrite = msgpipe[1];
-
-    pthread_attr_t attr; 
-    pthread_attr_init(&attr);
-    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
-    pthread_create(&android_app->thread, &attr, android_app_entry, android_app);
-
-    // Wait for thread to start.
-    pthread_mutex_lock(&android_app->mutex);
-    while (!android_app->running) {
-        pthread_cond_wait(&android_app->cond, &android_app->mutex);
-    }
-    pthread_mutex_unlock(&android_app->mutex);
-
-    return android_app;
-}
-
-static void android_app_write_cmd(struct android_app* android_app, int8_t cmd) {
-    if (write(android_app->msgwrite, &cmd, sizeof(cmd)) != sizeof(cmd)) {
-        LOGE("Failure writing android_app cmd: %s\n", strerror(errno));
-    }
-}
-
-static void android_app_set_input(struct android_app* android_app, AInputQueue* inputQueue) {
-    pthread_mutex_lock(&android_app->mutex);
-    android_app->pendingInputQueue = inputQueue;
-    android_app_write_cmd(android_app, APP_CMD_INPUT_CHANGED);
-    while (android_app->inputQueue != android_app->pendingInputQueue) {
-        pthread_cond_wait(&android_app->cond, &android_app->mutex);
-    }
-    pthread_mutex_unlock(&android_app->mutex);
-}
-
-static void android_app_set_window(struct android_app* android_app, ANativeWindow* window) {
-    pthread_mutex_lock(&android_app->mutex);
-    if (android_app->pendingWindow != NULL) {
-        android_app_write_cmd(android_app, APP_CMD_TERM_WINDOW);
-    }
-    android_app->pendingWindow = window;
-    if (window != NULL) {
-        android_app_write_cmd(android_app, APP_CMD_INIT_WINDOW);
-    }
-    while (android_app->window != android_app->pendingWindow) {
-        pthread_cond_wait(&android_app->cond, &android_app->mutex);
-    }
-    pthread_mutex_unlock(&android_app->mutex);
-}
-
-static void android_app_set_activity_state(struct android_app* android_app, int8_t cmd) {
-    pthread_mutex_lock(&android_app->mutex);
-    android_app_write_cmd(android_app, cmd);
-    while (android_app->activityState != cmd) {
-        pthread_cond_wait(&android_app->cond, &android_app->mutex);
-    }
-    pthread_mutex_unlock(&android_app->mutex);
-}
-
-static void android_app_free(struct android_app* android_app) {
-    pthread_mutex_lock(&android_app->mutex);
-    android_app_write_cmd(android_app, APP_CMD_DESTROY);
-    while (!android_app->destroyed) {
-        pthread_cond_wait(&android_app->cond, &android_app->mutex);
-    }
-    pthread_mutex_unlock(&android_app->mutex);
-
-    close(android_app->msgread);
-    close(android_app->msgwrite);
-    pthread_cond_destroy(&android_app->cond);
-    pthread_mutex_destroy(&android_app->mutex);
-    free(android_app);
-}
-
-static void onDestroy(ANativeActivity* activity) {
-    LOGV("Destroy: %p\n", activity);
-    android_app_free((struct android_app*)activity->instance);
-}
-
-static void onStart(ANativeActivity* activity) {
-    LOGV("Start: %p\n", activity);
-    android_app_set_activity_state((struct android_app*)activity->instance, APP_CMD_START);
-}
-
-static void onResume(ANativeActivity* activity) {
-    LOGV("Resume: %p\n", activity);
-    android_app_set_activity_state((struct android_app*)activity->instance, APP_CMD_RESUME);
-}
-
-static void* onSaveInstanceState(ANativeActivity* activity, size_t* outLen) {
-    struct android_app* android_app = (struct android_app*)activity->instance;
-    void* savedState = NULL;
-
-    LOGV("SaveInstanceState: %p\n", activity);
-    pthread_mutex_lock(&android_app->mutex);
-    android_app->stateSaved = 0;
-    android_app_write_cmd(android_app, APP_CMD_SAVE_STATE);
-    while (!android_app->stateSaved) {
-        pthread_cond_wait(&android_app->cond, &android_app->mutex);
-    }
-
-    if (android_app->savedState != NULL) {
-        savedState = android_app->savedState;
-        *outLen = android_app->savedStateSize;
-        android_app->savedState = NULL;
-        android_app->savedStateSize = 0;
-    }
-
-    pthread_mutex_unlock(&android_app->mutex);
-
-    return savedState;
-}
-
-static void onPause(ANativeActivity* activity) {
-    LOGV("Pause: %p\n", activity);
-    android_app_set_activity_state((struct android_app*)activity->instance, APP_CMD_PAUSE);
-}
-
-static void onStop(ANativeActivity* activity) {
-    LOGV("Stop: %p\n", activity);
-    android_app_set_activity_state((struct android_app*)activity->instance, APP_CMD_STOP);
-}
-
-static void onConfigurationChanged(ANativeActivity* activity) {
-    struct android_app* android_app = (struct android_app*)activity->instance;
-    LOGV("ConfigurationChanged: %p\n", activity);
-    android_app_write_cmd(android_app, APP_CMD_CONFIG_CHANGED);
-}
-
-static void onLowMemory(ANativeActivity* activity) {
-    struct android_app* android_app = (struct android_app*)activity->instance;
-    LOGV("LowMemory: %p\n", activity);
-    android_app_write_cmd(android_app, APP_CMD_LOW_MEMORY);
-}
-
-static void onWindowFocusChanged(ANativeActivity* activity, int focused) {
-    LOGV("WindowFocusChanged: %p -- %d\n", activity, focused);
-    android_app_write_cmd((struct android_app*)activity->instance,
-            focused ? APP_CMD_GAINED_FOCUS : APP_CMD_LOST_FOCUS);
-}
-
-static void onNativeWindowCreated(ANativeActivity* activity, ANativeWindow* window) {
-    LOGV("NativeWindowCreated: %p -- %p\n", activity, window);
-    android_app_set_window((struct android_app*)activity->instance, window);
-}
-
-static void onNativeWindowDestroyed(ANativeActivity* activity, ANativeWindow* window) {
-    LOGV("NativeWindowDestroyed: %p -- %p\n", activity, window);
-    android_app_set_window((struct android_app*)activity->instance, NULL);
-}
-
-static void onInputQueueCreated(ANativeActivity* activity, AInputQueue* queue) {
-    LOGV("InputQueueCreated: %p -- %p\n", activity, queue);
-    android_app_set_input((struct android_app*)activity->instance, queue);
-}
-
-static void onInputQueueDestroyed(ANativeActivity* activity, AInputQueue* queue) {
-    LOGV("InputQueueDestroyed: %p -- %p\n", activity, queue);
-    android_app_set_input((struct android_app*)activity->instance, NULL);
-}
-
-JNIEXPORT
-void ANativeActivity_onCreate(ANativeActivity* activity, void* savedState,
-                              size_t savedStateSize) {
-    LOGV("Creating: %p\n", activity);
-    activity->callbacks->onDestroy = onDestroy;
-    activity->callbacks->onStart = onStart;
-    activity->callbacks->onResume = onResume;
-    activity->callbacks->onSaveInstanceState = onSaveInstanceState;
-    activity->callbacks->onPause = onPause;
-    activity->callbacks->onStop = onStop;
-    activity->callbacks->onConfigurationChanged = onConfigurationChanged;
-    activity->callbacks->onLowMemory = onLowMemory;
-    activity->callbacks->onWindowFocusChanged = onWindowFocusChanged;
-    activity->callbacks->onNativeWindowCreated = onNativeWindowCreated;
-    activity->callbacks->onNativeWindowDestroyed = onNativeWindowDestroyed;
-    activity->callbacks->onInputQueueCreated = onInputQueueCreated;
-    activity->callbacks->onInputQueueDestroyed = onInputQueueDestroyed;
-
-    activity->instance = android_app_create(activity, savedState, savedStateSize);
-}
diff --git a/r21/sources/android/native_app_glue/android_native_app_glue.h b/r21/sources/android/native_app_glue/android_native_app_glue.h
deleted file mode 100644
index c99d6e1..0000000
--- a/r21/sources/android/native_app_glue/android_native_app_glue.h
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef _ANDROID_NATIVE_APP_GLUE_H
-#define _ANDROID_NATIVE_APP_GLUE_H
-
-#include <poll.h>
-#include <pthread.h>
-#include <sched.h>
-
-#include <android/configuration.h>
-#include <android/looper.h>
-#include <android/native_activity.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * The native activity interface provided by <android/native_activity.h>
- * is based on a set of application-provided callbacks that will be called
- * by the Activity's main thread when certain events occur.
- *
- * This means that each one of this callbacks _should_ _not_ block, or they
- * risk having the system force-close the application. This programming
- * model is direct, lightweight, but constraining.
- *
- * The 'android_native_app_glue' static library is used to provide a different
- * execution model where the application can implement its own main event
- * loop in a different thread instead. Here's how it works:
- *
- * 1/ The application must provide a function named "android_main()" that
- *    will be called when the activity is created, in a new thread that is
- *    distinct from the activity's main thread.
- *
- * 2/ android_main() receives a pointer to a valid "android_app" structure
- *    that contains references to other important objects, e.g. the
- *    ANativeActivity obejct instance the application is running in.
- *
- * 3/ the "android_app" object holds an ALooper instance that already
- *    listens to two important things:
- *
- *      - activity lifecycle events (e.g. "pause", "resume"). See APP_CMD_XXX
- *        declarations below.
- *
- *      - input events coming from the AInputQueue attached to the activity.
- *
- *    Each of these correspond to an ALooper identifier returned by
- *    ALooper_pollOnce with values of LOOPER_ID_MAIN and LOOPER_ID_INPUT,
- *    respectively.
- *
- *    Your application can use the same ALooper to listen to additional
- *    file-descriptors.  They can either be callback based, or with return
- *    identifiers starting with LOOPER_ID_USER.
- *
- * 4/ Whenever you receive a LOOPER_ID_MAIN or LOOPER_ID_INPUT event,
- *    the returned data will point to an android_poll_source structure.  You
- *    can call the process() function on it, and fill in android_app->onAppCmd
- *    and android_app->onInputEvent to be called for your own processing
- *    of the event.
- *
- *    Alternatively, you can call the low-level functions to read and process
- *    the data directly...  look at the process_cmd() and process_input()
- *    implementations in the glue to see how to do this.
- *
- * See the sample named "native-activity" that comes with the NDK with a
- * full usage example.  Also look at the JavaDoc of NativeActivity.
- */
-
-struct android_app;
-
-/**
- * Data associated with an ALooper fd that will be returned as the "outData"
- * when that source has data ready.
- */
-struct android_poll_source {
-    // The identifier of this source.  May be LOOPER_ID_MAIN or
-    // LOOPER_ID_INPUT.
-    int32_t id;
-
-    // The android_app this ident is associated with.
-    struct android_app* app;
-
-    // Function to call to perform the standard processing of data from
-    // this source.
-    void (*process)(struct android_app* app, struct android_poll_source* source);
-};
-
-/**
- * This is the interface for the standard glue code of a threaded
- * application.  In this model, the application's code is running
- * in its own thread separate from the main thread of the process.
- * It is not required that this thread be associated with the Java
- * VM, although it will need to be in order to make JNI calls any
- * Java objects.
- */
-struct android_app {
-    // The application can place a pointer to its own state object
-    // here if it likes.
-    void* userData;
-
-    // Fill this in with the function to process main app commands (APP_CMD_*)
-    void (*onAppCmd)(struct android_app* app, int32_t cmd);
-
-    // Fill this in with the function to process input events.  At this point
-    // the event has already been pre-dispatched, and it will be finished upon
-    // return.  Return 1 if you have handled the event, 0 for any default
-    // dispatching.
-    int32_t (*onInputEvent)(struct android_app* app, AInputEvent* event);
-
-    // The ANativeActivity object instance that this app is running in.
-    ANativeActivity* activity;
-
-    // The current configuration the app is running in.
-    AConfiguration* config;
-
-    // This is the last instance's saved state, as provided at creation time.
-    // It is NULL if there was no state.  You can use this as you need; the
-    // memory will remain around until you call android_app_exec_cmd() for
-    // APP_CMD_RESUME, at which point it will be freed and savedState set to NULL.
-    // These variables should only be changed when processing a APP_CMD_SAVE_STATE,
-    // at which point they will be initialized to NULL and you can malloc your
-    // state and place the information here.  In that case the memory will be
-    // freed for you later.
-    void* savedState;
-    size_t savedStateSize;
-
-    // The ALooper associated with the app's thread.
-    ALooper* looper;
-
-    // When non-NULL, this is the input queue from which the app will
-    // receive user input events.
-    AInputQueue* inputQueue;
-
-    // When non-NULL, this is the window surface that the app can draw in.
-    ANativeWindow* window;
-
-    // Current content rectangle of the window; this is the area where the
-    // window's content should be placed to be seen by the user.
-    ARect contentRect;
-
-    // Current state of the app's activity.  May be either APP_CMD_START,
-    // APP_CMD_RESUME, APP_CMD_PAUSE, or APP_CMD_STOP; see below.
-    int activityState;
-
-    // This is non-zero when the application's NativeActivity is being
-    // destroyed and waiting for the app thread to complete.
-    int destroyRequested;
-
-    // -------------------------------------------------
-    // Below are "private" implementation of the glue code.
-
-    pthread_mutex_t mutex;
-    pthread_cond_t cond;
-
-    int msgread;
-    int msgwrite;
-
-    pthread_t thread;
-
-    struct android_poll_source cmdPollSource;
-    struct android_poll_source inputPollSource;
-
-    int running;
-    int stateSaved;
-    int destroyed;
-    int redrawNeeded;
-    AInputQueue* pendingInputQueue;
-    ANativeWindow* pendingWindow;
-    ARect pendingContentRect;
-};
-
-enum {
-    /**
-     * Looper data ID of commands coming from the app's main thread, which
-     * is returned as an identifier from ALooper_pollOnce().  The data for this
-     * identifier is a pointer to an android_poll_source structure.
-     * These can be retrieved and processed with android_app_read_cmd()
-     * and android_app_exec_cmd().
-     */
-    LOOPER_ID_MAIN = 1,
-
-    /**
-     * Looper data ID of events coming from the AInputQueue of the
-     * application's window, which is returned as an identifier from
-     * ALooper_pollOnce().  The data for this identifier is a pointer to an
-     * android_poll_source structure.  These can be read via the inputQueue
-     * object of android_app.
-     */
-    LOOPER_ID_INPUT = 2,
-
-    /**
-     * Start of user-defined ALooper identifiers.
-     */
-    LOOPER_ID_USER = 3,
-};
-
-enum {
-    /**
-     * Command from main thread: the AInputQueue has changed.  Upon processing
-     * this command, android_app->inputQueue will be updated to the new queue
-     * (or NULL).
-     */
-    APP_CMD_INPUT_CHANGED,
-
-    /**
-     * Command from main thread: a new ANativeWindow is ready for use.  Upon
-     * receiving this command, android_app->window will contain the new window
-     * surface.
-     */
-    APP_CMD_INIT_WINDOW,
-
-    /**
-     * Command from main thread: the existing ANativeWindow needs to be
-     * terminated.  Upon receiving this command, android_app->window still
-     * contains the existing window; after calling android_app_exec_cmd
-     * it will be set to NULL.
-     */
-    APP_CMD_TERM_WINDOW,
-
-    /**
-     * Command from main thread: the current ANativeWindow has been resized.
-     * Please redraw with its new size.
-     */
-    APP_CMD_WINDOW_RESIZED,
-
-    /**
-     * Command from main thread: the system needs that the current ANativeWindow
-     * be redrawn.  You should redraw the window before handing this to
-     * android_app_exec_cmd() in order to avoid transient drawing glitches.
-     */
-    APP_CMD_WINDOW_REDRAW_NEEDED,
-
-    /**
-     * Command from main thread: the content area of the window has changed,
-     * such as from the soft input window being shown or hidden.  You can
-     * find the new content rect in android_app::contentRect.
-     */
-    APP_CMD_CONTENT_RECT_CHANGED,
-
-    /**
-     * Command from main thread: the app's activity window has gained
-     * input focus.
-     */
-    APP_CMD_GAINED_FOCUS,
-
-    /**
-     * Command from main thread: the app's activity window has lost
-     * input focus.
-     */
-    APP_CMD_LOST_FOCUS,
-
-    /**
-     * Command from main thread: the current device configuration has changed.
-     */
-    APP_CMD_CONFIG_CHANGED,
-
-    /**
-     * Command from main thread: the system is running low on memory.
-     * Try to reduce your memory use.
-     */
-    APP_CMD_LOW_MEMORY,
-
-    /**
-     * Command from main thread: the app's activity has been started.
-     */
-    APP_CMD_START,
-
-    /**
-     * Command from main thread: the app's activity has been resumed.
-     */
-    APP_CMD_RESUME,
-
-    /**
-     * Command from main thread: the app should generate a new saved state
-     * for itself, to restore from later if needed.  If you have saved state,
-     * allocate it with malloc and place it in android_app.savedState with
-     * the size in android_app.savedStateSize.  The will be freed for you
-     * later.
-     */
-    APP_CMD_SAVE_STATE,
-
-    /**
-     * Command from main thread: the app's activity has been paused.
-     */
-    APP_CMD_PAUSE,
-
-    /**
-     * Command from main thread: the app's activity has been stopped.
-     */
-    APP_CMD_STOP,
-
-    /**
-     * Command from main thread: the app's activity is being destroyed,
-     * and waiting for the app thread to clean up and exit before proceeding.
-     */
-    APP_CMD_DESTROY,
-};
-
-/**
- * Call when ALooper_pollAll() returns LOOPER_ID_MAIN, reading the next
- * app command message.
- */
-int8_t android_app_read_cmd(struct android_app* android_app);
-
-/**
- * Call with the command returned by android_app_read_cmd() to do the
- * initial pre-processing of the given command.  You can perform your own
- * actions for the command after calling this function.
- */
-void android_app_pre_exec_cmd(struct android_app* android_app, int8_t cmd);
-
-/**
- * Call with the command returned by android_app_read_cmd() to do the
- * final post-processing of the given command.  You must have done your own
- * actions for the command before calling this function.
- */
-void android_app_post_exec_cmd(struct android_app* android_app, int8_t cmd);
-
-/**
- * Dummy function that used to be used to prevent the linker from stripping app
- * glue code. No longer necessary, since __attribute__((visibility("default")))
- * does this for us.
- */
-__attribute__((
-    deprecated("Calls to app_dummy are no longer necessary. See "
-               "https://github.com/android-ndk/ndk/issues/381."))) void
-app_dummy();
-
-/**
- * This is the function that application code must implement, representing
- * the main entry to the app.
- */
-extern void android_main(struct android_app* app);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ANDROID_NATIVE_APP_GLUE_H */
diff --git a/r21/sources/android/support/Android.mk b/r21/sources/android/support/Android.mk
deleted file mode 100644
index b98f9af..0000000
--- a/r21/sources/android/support/Android.mk
+++ /dev/null
@@ -1,137 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-# libandroid_support is only needed on LP32.
-ifeq ($(filter $(NDK_KNOWN_DEVICE_ABI64S),$(TARGET_ARCH_ABI)),)
-
-ifneq ($(LIBCXX_FORCE_REBUILD),true) # Using prebuilt
-
-LIBCXX_LIBS := ../../cxx-stl/llvm-libc++/libs/$(TARGET_ARCH_ABI)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := android_support
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := $(LIBCXX_LIBS)/lib$(LOCAL_MODULE)$(TARGET_LIB_EXTENSION)
-include $(PREBUILT_STATIC_LIBRARY)
-
-else # Building
-
-android_support_cflags := \
-    -Drestrict=__restrict__ \
-    -ffunction-sections \
-    -fdata-sections \
-    -fvisibility=hidden \
-
-android_support_c_includes := \
-    $(BIONIC_PATH)/libc \
-    $(BIONIC_PATH)/libc/upstream-openbsd/android/include \
-    $(BIONIC_PATH)/libm \
-    $(BIONIC_PATH)/libm/upstream-freebsd/android/include \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src \
-
-android_support_cflags += \
-    -include freebsd-compat.h \
-    -include openbsd-compat.h \
-    -include $(LOCAL_PATH)/src/support_preinclude.h \
-    -D__BIONIC_BUILD_FOR_ANDROID_SUPPORT \
-    -Werror \
-
-android_support_sources := \
-    $(BIONIC_PATH)/libc/bionic/c32rtomb.cpp \
-    $(BIONIC_PATH)/libc/bionic/locale.cpp \
-    $(BIONIC_PATH)/libc/bionic/mbrtoc32.cpp \
-    $(BIONIC_PATH)/libc/bionic/wchar.cpp \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcscat.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcschr.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcslen.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcsncmp.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcsncpy.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcspbrk.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcsrchr.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcsspn.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcsstr.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wcstok.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wmemchr.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wmemcmp.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wmemcpy.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wmemmove.c \
-    $(BIONIC_PATH)/libc/upstream-freebsd/lib/libc/string/wmemset.c \
-    $(BIONIC_PATH)/libc/upstream-openbsd/lib/libc/locale/mbtowc.c \
-    $(BIONIC_PATH)/libc/upstream-openbsd/lib/libc/stdlib/imaxabs.c \
-    $(BIONIC_PATH)/libc/upstream-openbsd/lib/libc/stdlib/imaxdiv.c \
-    $(BIONIC_PATH)/libm/digittoint.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_acos.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_acosh.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_asin.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_atan2.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_atanh.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_cosh.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_exp.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_hypot.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_log.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_log10.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_log2.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_log2f.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_logf.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_remainder.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_sinh.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/e_sqrt.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/k_cos.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/k_exp.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/k_rem_pio2.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/k_sin.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/k_tan.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_asinh.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_atan.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_cbrt.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_cos.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_erf.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_exp2.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_expm1.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_frexp.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_frexpf.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_log1p.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_logb.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_nextafter.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_remquo.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_rint.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_sin.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_tan.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_tanh.c \
-    src/locale_support.cpp \
-    src/posix_memalign.cpp \
-    src/swprintf.cpp \
-    src/wcstox.cpp \
-
-ifeq (x86,$(TARGET_ARCH_ABI))
-# Replaces broken implementations in x86 libm.so
-android_support_sources += \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_scalbln.c \
-    $(BIONIC_PATH)/libm/upstream-freebsd/lib/msun/src/s_scalbn.c \
-
-# fake_long_double.c doesn't define this for x86.
-# TODO: seems like we don't pass .S files to the assembler?
-#android_support_c_includes += $(BIONIC_PATH)/libc/arch-x86/include
-#android_support_sources += $(BIONIC_PATH)/libm/x86/lrint.S
-endif
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := android_support
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := $(android_support_sources)
-LOCAL_C_INCLUDES := $(android_support_c_includes)
-LOCAL_CFLAGS := $(android_support_cflags)
-LOCAL_ARM_NEON := false
-
-LOCAL_CPPFLAGS := \
-    -fvisibility-inlines-hidden \
-    -std=c++11 \
-
-include $(BUILD_STATIC_LIBRARY)
-
-endif # Prebuilt/building
-
-endif # LP32
diff --git a/r21/sources/android/support/include/inttypes.h b/r21/sources/android/support/include/inttypes.h
deleted file mode 100644
index 00887bc..0000000
--- a/r21/sources/android/support/include/inttypes.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef NDK_ANDROID_SUPPORT_INTTYPES_H
-#define NDK_ANDROID_SUPPORT_INTTYPES_H
-
-#include_next <inttypes.h>
-
-__BEGIN_DECLS
-
-#if __ANDROID_API__ < __ANDROID_API_K__
-intmax_t imaxabs(intmax_t) __attribute_const__;
-imaxdiv_t imaxdiv(intmax_t, intmax_t) __attribute_const__;
-#endif
-
-#if __ANDROID_API__ < __ANDROID_API_L__
-intmax_t wcstoimax(const wchar_t* __restrict, wchar_t** __restrict, int);
-uintmax_t wcstoumax(const wchar_t* __restrict, wchar_t** __restrict, int);
-#endif
-
-__END_DECLS
-
-#endif
diff --git a/r21/sources/android/support/include/locale.h b/r21/sources/android/support/include/locale.h
deleted file mode 100644
index 72f847b..0000000
--- a/r21/sources/android/support/include/locale.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef NDK_ANDROID_SUPPORT_LOCALE_H
-#define NDK_ANDROID_SUPPORT_LOCALE_H
-
-#include_next <locale.h>
-
-__BEGIN_DECLS
-
-#if __ANDROID_API__ < __ANDROID_API_L__
-struct lconv* localeconv(void);
-locale_t duplocale(locale_t);
-void freelocale(locale_t);
-locale_t newlocale(int, const char*, locale_t);
-locale_t uselocale(locale_t);
-#endif
-
-__END_DECLS
-
-#endif
diff --git a/r21/sources/android/support/include/math.h b/r21/sources/android/support/include/math.h
deleted file mode 100644
index 11d50cc..0000000
--- a/r21/sources/android/support/include/math.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef NDK_ANDROID_SUPPORT_MATH_H
-#define NDK_ANDROID_SUPPORT_MATH_H
-
-#include_next <math.h>
-
-__BEGIN_DECLS
-
-#if __ANDROID_API__ < __ANDROID_API_J_MR2__
-double        log2(double);
-float         log2f(float);
-long double   log2l(long double);
-long double   logbl(long double);
-float         tgammaf(float);
-#endif
-
-#if __ANDROID_API__ < __ANDROID_API_L__
-long double   acoshl(long double);
-long double   acosl(long double);
-long double   asinhl(long double);
-long double   asinl(long double);
-long double   atan2l(long double, long double);
-long double   atanhl(long double);
-long double   atanl(long double);
-long double   cbrtl(long double);
-long double   coshl(long double);
-long double   cosl(long double);
-long double   erfcl(long double);
-long double   erfl(long double);
-long double   exp2l(long double);
-long double   expl(long double);
-long double   expm1l(long double);
-long double   fmodl(long double, long double);
-long double   hypotl(long double, long double);
-long double   lgammal(long double);
-long double   log10l(long double);
-long double   log1pl(long double);
-long double   logl(long double);
-long double   modfl(long double, long double*);
-long double   nearbyintl(long double);
-long double   powl(long double, long double);
-long double   remainderl(long double, long double);
-long double   remquol(long double, long double, int*);
-long double   rintl(long double);
-long double   sinhl(long double);
-long double   sinl(long double);
-long double   sqrtl(long double);
-long double   tanhl(long double);
-long double   tanl(long double);
-long double   tgammal(long double);
-long int      lrintl(long double);
-long long int llrintl(long double);
-#endif
-
-__END_DECLS
-
-#endif
diff --git a/r21/sources/android/support/include/stdlib.h b/r21/sources/android/support/include/stdlib.h
deleted file mode 100644
index 93e384d..0000000
--- a/r21/sources/android/support/include/stdlib.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef NDK_ANDROID_SUPPORT_STDLIB_H
-#define NDK_ANDROID_SUPPORT_STDLIB_H
-
-#include_next <stdlib.h>
-
-__BEGIN_DECLS
-
-#if __ANDROID_API__ < __ANDROID_API_J_MR1__
-int posix_memalign(void** memptr, size_t alignment, size_t size);
-#endif
-
-#if __ANDROID_API__ < __ANDROID_API_L__
-long double strtold_l(const char*, char**, locale_t);
-long long strtoll_l(const char*, char**, int, locale_t);
-unsigned long long strtoull_l(const char*, char**, int, locale_t);
-int mbtowc(wchar_t*, const char*, size_t);
-int at_quick_exit(void (*)(void));
-void quick_exit(int) __noreturn;
-#endif
-
-__END_DECLS
-
-#endif
diff --git a/r21/sources/android/support/include/uchar.h b/r21/sources/android/support/include/uchar.h
deleted file mode 100644
index 42942c4..0000000
--- a/r21/sources/android/support/include/uchar.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef NDK_ANDROID_SUPPORT_UCHAR_H
-#define NDK_ANDROID_SUPPORT_UCHAR_H
-
-#include_next <uchar.h>
-
-__BEGIN_DECLS
-
-#if __ANDROID_API__ < __ANDROID_API_L__
-size_t c16rtomb(char* __restrict, char16_t, mbstate_t* __restrict);
-size_t c32rtomb(char* __restrict, char32_t, mbstate_t* __restrict);
-size_t mbrtoc16(char16_t* __restrict, const char* __restrict, size_t, mbstate_t* __restrict);
-size_t mbrtoc32(char32_t* __restrict, const char* __restrict, size_t, mbstate_t* __restrict);
-#endif
-
-__END_DECLS
-
-#endif
diff --git a/r21/sources/android/support/include/wchar.h b/r21/sources/android/support/include/wchar.h
deleted file mode 100644
index 9152cfe..0000000
--- a/r21/sources/android/support/include/wchar.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef NDK_ANDROID_SUPPORT_WCHAR_H
-#define NDK_ANDROID_SUPPORT_WCHAR_H
-
-#include_next <wchar.h>
-
-__BEGIN_DECLS
-
-#if __ANDROID_API__ < __ANDROID_API_L__
-int vfwscanf(FILE*, const wchar_t*, va_list);
-int vswscanf(const wchar_t*, const wchar_t*, va_list);
-int vwscanf(const wchar_t*, va_list);
-size_t mbsnrtowcs(wchar_t*, const char**, size_t, size_t, mbstate_t*);
-size_t wcsnrtombs(char*, const wchar_t**, size_t, size_t, mbstate_t*);
-float wcstof(const wchar_t*, wchar_t**);
-long long wcstoll(const wchar_t*, wchar_t**, int);
-unsigned long long wcstoull(const wchar_t*, wchar_t**, int);
-#endif
-
-__END_DECLS
-
-#endif
diff --git a/r21/sources/android/support/include/wctype.h b/r21/sources/android/support/include/wctype.h
deleted file mode 100644
index 31d015d..0000000
--- a/r21/sources/android/support/include/wctype.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef NDK_ANDROID_SUPPORT_WCTYPE_H
-#define NDK_ANDROID_SUPPORT_WCTYPE_H
-
-#include_next <wctype.h>
-
-__BEGIN_DECLS
-
-#if __ANDROID_API__ < __ANDROID_API_L__
-#include <ctype.h>
-static __inline int iswblank(wint_t ch) { return isblank(ch); }
-#endif
-
-__END_DECLS
-
-#endif
diff --git a/r21/sources/android/support/src/UniquePtr.h b/r21/sources/android/support/src/UniquePtr.h
deleted file mode 100644
index 7479bcf..0000000
--- a/r21/sources/android/support/src/UniquePtr.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-#ifndef ANDROID_SUPPORT_UNIQUE_PTR_H
-#define ANDROID_SUPPORT_UNIQUE_PTR_H
-
-namespace {
-
-#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
-  TypeName(const TypeName&) = delete;      \
-  void operator=(const TypeName&) = delete
-
-template <typename T>
-struct DefaultDelete {
-  enum { type_must_be_complete = sizeof(T) };
-  DefaultDelete() {
-  }
-  void operator()(T* p) const {
-    delete p;
-  }
-};
-
-template <typename T>
-struct DefaultDelete<T[]> {
-  enum { type_must_be_complete = sizeof(T) };
-  void operator()(T* p) const {
-    delete[] p;
-  }
-};
-
-template <typename T, typename D = DefaultDelete<T> >
-class UniquePtr {
- public:
-  explicit UniquePtr(T* ptr = NULL) : mPtr(ptr) {
-  }
-
-  ~UniquePtr() {
-    reset();
-  }
-
-  T& operator*() const {
-    return *mPtr;
-  }
-  T* operator->() const {
-    return mPtr;
-  }
-  T* get() const {
-    return mPtr;
-  }
-
-  T* release() __attribute__((warn_unused_result)) {
-    T* result = mPtr;
-    mPtr = NULL;
-    return result;
-  }
-
-  void reset(T* ptr = NULL) {
-    if (ptr != mPtr) {
-      D()(mPtr);
-      mPtr = ptr;
-    }
-  }
-
- private:
-  T* mPtr;
-
-  template <typename T2>
-  bool operator==(const UniquePtr<T2>& p) const;
-  template <typename T2>
-  bool operator!=(const UniquePtr<T2>& p) const;
-
-  DISALLOW_COPY_AND_ASSIGN(UniquePtr);
-};
-
-// Partial specialization for array types. Like std::unique_ptr, this removes
-// operator* and operator-> but adds operator[].
-template <typename T, typename D>
-class UniquePtr<T[], D> {
- public:
-  explicit UniquePtr(T* ptr = NULL) : mPtr(ptr) {
-  }
-
-  ~UniquePtr() {
-    reset();
-  }
-
-  T& operator[](size_t i) const {
-    return mPtr[i];
-  }
-  T* get() const {
-    return mPtr;
-  }
-
-  T* release() __attribute__((warn_unused_result)) {
-    T* result = mPtr;
-    mPtr = NULL;
-    return result;
-  }
-
-  void reset(T* ptr = NULL) {
-    if (ptr != mPtr) {
-      D()(mPtr);
-      mPtr = ptr;
-    }
-  }
-
- private:
-  T* mPtr;
-
-  DISALLOW_COPY_AND_ASSIGN(UniquePtr);
-};
-
-} // anonymous namespace
-
-#endif  /* ANDROID_SUPPORT_UNIQUE_PTR_H */
diff --git a/r21/sources/cxx-stl/llvm-libc++/Android.mk b/r21/sources/cxx-stl/llvm-libc++/Android.mk
deleted file mode 100644
index a728c34..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/Android.mk
+++ /dev/null
@@ -1,230 +0,0 @@
-# This file is dual licensed under the MIT and the University of Illinois Open
-# Source Licenses. See LICENSE.TXT for details.
-
-LOCAL_PATH := $(call my-dir)
-
-# Normally, we distribute the NDK with prebuilt binaries of libc++
-# in $LOCAL_PATH/libs/<abi>/. However,
-#
-
-LIBCXX_FORCE_REBUILD := $(strip $(LIBCXX_FORCE_REBUILD))
-ifndef LIBCXX_FORCE_REBUILD
-  ifeq (,$(strip $(wildcard $(LOCAL_PATH)/libs/$(TARGET_ARCH_ABI)/libc++_static$(TARGET_LIB_EXTENSION))))
-    $(call __ndk_info,WARNING: Rebuilding libc++ libraries from sources!)
-    $(call __ndk_info,You might want to use $$NDK/build/tools/build-cxx-stl.sh --stl=libc++)
-    $(call __ndk_info,in order to build prebuilt versions to speed up your builds!)
-    LIBCXX_FORCE_REBUILD := true
-  endif
-endif
-
-libcxx_includes := $(LOCAL_PATH)/include
-libcxx_export_includes := $(libcxx_includes)
-libcxx_sources := \
-    algorithm.cpp \
-    any.cpp \
-    bind.cpp \
-    charconv.cpp \
-    chrono.cpp \
-    condition_variable.cpp \
-    condition_variable_destructor.cpp \
-    debug.cpp \
-    exception.cpp \
-    functional.cpp \
-    future.cpp \
-    hash.cpp \
-    ios.cpp \
-    iostream.cpp \
-    locale.cpp \
-    memory.cpp \
-    mutex.cpp \
-    mutex_destructor.cpp \
-    new.cpp \
-    optional.cpp \
-    random.cpp \
-    regex.cpp \
-    shared_mutex.cpp \
-    stdexcept.cpp \
-    string.cpp \
-    strstream.cpp \
-    system_error.cpp \
-    thread.cpp \
-    typeinfo.cpp \
-    utility.cpp \
-    valarray.cpp \
-    variant.cpp \
-    vector.cpp \
-
-libcxx_sources := $(libcxx_sources:%=src/%)
-
-libcxx_export_cxxflags :=
-
-ifeq (,$(filter clang%,$(NDK_TOOLCHAIN_VERSION)))
-# Add -fno-strict-aliasing because __list_imp::_end_ breaks TBAA rules by declaring
-# simply as __list_node_base then casted to __list_node derived from that.  See
-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61571 for details
-libcxx_export_cxxflags += -fno-strict-aliasing
-endif
-
-libcxx_cxxflags := \
-    -std=c++1z \
-    -DLIBCXX_BUILDING_LIBCXXABI \
-    -D_LIBCPP_BUILDING_LIBRARY \
-    -D__STDC_FORMAT_MACROS \
-    $(libcxx_export_cxxflags) \
-
-libcxx_ldflags :=
-libcxx_export_ldflags :=
-# Need to make sure the unwinder is always linked with hidden visibility.
-ifneq (,$(filter armeabi%,$(TARGET_ARCH_ABI)))
-    libcxx_ldflags += -Wl,--exclude-libs,libunwind.a
-    libcxx_export_ldflags += -Wl,--exclude-libs,libunwind.a
-endif
-
-ifneq ($(LIBCXX_FORCE_REBUILD),true)
-
-$(call ndk_log,Using prebuilt libc++ libraries)
-
-libcxxabi_c_includes := $(LOCAL_PATH)/../llvm-libc++abi/include
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := c++_static
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE)$(TARGET_LIB_EXTENSION)
-LOCAL_EXPORT_C_INCLUDES := $(libcxx_export_includes)
-LOCAL_STATIC_LIBRARIES := libc++abi
-LOCAL_EXPORT_CPPFLAGS := $(libcxx_export_cxxflags)
-LOCAL_EXPORT_LDFLAGS := $(libcxx_export_ldflags)
-LOCAL_EXPORT_STATIC_LIBRARIES := libc++abi
-
-ifeq ($(NDK_PLATFORM_NEEDS_ANDROID_SUPPORT),true)
-    # This doesn't affect the prebuilt itself since this is a prebuilt library,
-    # but the build system needs to know about the dependency so we can sort the
-    # exported includes properly.
-    LOCAL_STATIC_LIBRARIES += libandroid_support
-    LOCAL_EXPORT_STATIC_LIBRARIES += libandroid_support
-endif
-
-# We use the LLVM unwinder for 32-bit ARM.
-ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
-    LOCAL_EXPORT_STATIC_LIBRARIES += libunwind
-endif
-include $(PREBUILT_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := c++_shared
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE)$(TARGET_SONAME_EXTENSION)
-LOCAL_EXPORT_C_INCLUDES := \
-    $(libcxx_export_includes) \
-    $(libcxxabi_c_includes) \
-
-LOCAL_EXPORT_CPPFLAGS := $(libcxx_export_cxxflags)
-LOCAL_EXPORT_LDFLAGS := $(libcxx_export_ldflags)
-
-ifeq ($(NDK_PLATFORM_NEEDS_ANDROID_SUPPORT),true)
-    # This doesn't affect the prebuilt itself since this is a prebuilt library,
-    # but the build system needs to know about the dependency so we can sort the
-    # exported includes properly.
-    LOCAL_STATIC_LIBRARIES := libandroid_support
-    LOCAL_EXPORT_STATIC_LIBRARIES := libandroid_support
-endif
-
-# We use the LLVM unwinder for 32-bit ARM.
-ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
-    LOCAL_EXPORT_STATIC_LIBRARIES += libunwind
-endif
-include $(PREBUILT_SHARED_LIBRARY)
-
-ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
-# We define this module here rather than in a separate cxx-stl/libunwind because
-# we don't actually want to make the API available (yet).
-include $(CLEAR_VARS)
-LOCAL_MODULE := libunwind
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/$(LOCAL_MODULE)$(TARGET_LIB_EXTENSION)
-LOCAL_EXPORT_LDLIBS := -ldl
-include $(PREBUILT_STATIC_LIBRARY)
-endif
-
-$(call import-module, cxx-stl/llvm-libc++abi)
-
-else
-# LIBCXX_FORCE_REBUILD == true
-
-$(call ndk_log,Rebuilding libc++ libraries from sources)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := c++_static
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := $(libcxx_sources)
-LOCAL_C_INCLUDES := $(libcxx_includes)
-LOCAL_CPPFLAGS := $(libcxx_cxxflags) -ffunction-sections -fdata-sections
-LOCAL_CPP_FEATURES := rtti exceptions
-LOCAL_EXPORT_C_INCLUDES := $(libcxx_export_includes)
-LOCAL_EXPORT_CPPFLAGS := $(libcxx_export_cxxflags)
-LOCAL_EXPORT_LDFLAGS := $(libcxx_export_ldflags)
-LOCAL_STATIC_LIBRARIES := libc++abi
-LOCAL_ARM_NEON := false
-
-ifeq ($(NDK_PLATFORM_NEEDS_ANDROID_SUPPORT),true)
-    LOCAL_STATIC_LIBRARIES += android_support
-endif
-
-# We use the LLVM unwinder for all the 32-bit ARM targets.
-ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
-    LOCAL_STATIC_LIBRARIES += libunwind
-    LOCAL_EXPORT_STATIC_LIBRARIES += libunwind
-endif
-
-include $(BUILD_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := c++_shared
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_STRIP_MODE := none
-LOCAL_SRC_FILES := $(libcxx_sources)
-LOCAL_C_INCLUDES := $(libcxx_includes)
-LOCAL_CPPFLAGS := $(libcxx_cxxflags) -fno-function-sections -fno-data-sections
-LOCAL_CPP_FEATURES := rtti exceptions
-LOCAL_WHOLE_STATIC_LIBRARIES := libc++abi
-LOCAL_EXPORT_C_INCLUDES := $(libcxx_export_includes)
-LOCAL_EXPORT_CPPFLAGS := $(libcxx_export_cxxflags)
-LOCAL_EXPORT_LDFLAGS := $(libcxx_export_ldflags)
-ifeq ($(NDK_PLATFORM_NEEDS_ANDROID_SUPPORT),true)
-    LOCAL_STATIC_LIBRARIES := android_support
-endif
-LOCAL_LDFLAGS := $(libcxx_ldflags)
-# Use --as-needed to strip the DT_NEEDED on libstdc++.so (bionic's) that the
-# driver always links for C++ but we don't use.
-# See https://github.com/android-ndk/ndk/issues/105
-LOCAL_LDFLAGS += -Wl,--as-needed
-LOCAL_ARM_NEON := false
-
-# We use the LLVM unwinder for all the 32-bit ARM targets.
-ifneq (,$(filter armeabi%,$(TARGET_ARCH_ABI)))
-    LOCAL_STATIC_LIBRARIES += libunwind
-    LOCAL_EXPORT_STATIC_LIBRARIES += libunwind
-endif
-
-# But only need -latomic for armeabi.
-ifeq ($(TARGET_ARCH_ABI),armeabi)
-    LOCAL_LDLIBS += -latomic
-endif
-include $(BUILD_SHARED_LIBRARY)
-
-$(call import-add-path, $(LOCAL_PATH)/../..)
-$(call import-module, external/libcxxabi)
-
-endif # LIBCXX_FORCE_REBUILD == true
-
-$(call import-module, android/support)
diff --git a/r21/sources/cxx-stl/llvm-libc++/NOTICE b/r21/sources/cxx-stl/llvm-libc++/NOTICE
deleted file mode 100644
index e159d28..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/NOTICE
+++ /dev/null
@@ -1,311 +0,0 @@
-==============================================================================
-The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
-==============================================================================
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-    1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-    2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-    3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-    4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-    5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-    6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-    7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-    8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-    9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-    END OF TERMS AND CONDITIONS
-
-    APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-    Copyright [yyyy] [name of copyright owner]
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
-
----- LLVM Exceptions to the Apache 2.0 License ----
-
-As an exception, if, as a result of your compiling your source code, portions
-of this Software are embedded into an Object form of such source code, you
-may redistribute such embedded portions in such Object form without complying
-with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
-
-In addition, if you combine or link compiled forms of this Software with
-software that is licensed under the GPLv2 ("Combined Software") and if a
-court of competent jurisdiction determines that the patent provision (Section
-3), the indemnity provision (Section 9) or other Section of the License
-conflicts with the conditions of the GPLv2, you may retroactively and
-prospectively choose to deem waived or otherwise exclude such Section(s) of
-the License, but only in their entirety and only with respect to the Combined
-Software.
-
-==============================================================================
-Software from third parties included in the LLVM Project:
-==============================================================================
-The LLVM Project contains third party software which is under different license
-terms. All such code will be identified clearly using at least one of two
-mechanisms:
-1) It will be in a separate directory tree with its own `LICENSE.txt` or
-   `LICENSE` file at the top containing the specific license and restrictions
-   which apply to that software, or
-2) It will contain specific license and restriction terms at the top of every
-   file.
-
-==============================================================================
-Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
-==============================================================================
-
-The libc++ library is dual licensed under both the University of Illinois
-"BSD-Like" license and the MIT license.  As a user of this code you may choose
-to use it under either license.  As a contributor, you agree to allow your code
-to be used under both.
-
-Full text of the relevant licenses is included below.
-
-==============================================================================
-
-University of Illinois/NCSA
-Open Source License
-
-Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT
-
-All rights reserved.
-
-Developed by:
-
-    LLVM Team
-
-    University of Illinois at Urbana-Champaign
-
-    http://llvm.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal with
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimers.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimers in the
-      documentation and/or other materials provided with the distribution.
-
-    * Neither the names of the LLVM Team, University of Illinois at
-      Urbana-Champaign, nor the names of its contributors may be used to
-      endorse or promote products derived from this Software without specific
-      prior written permission.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
-SOFTWARE.
-
-==============================================================================
-
-Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/CMakeLists.txt b/r21/sources/cxx-stl/llvm-libc++/include/CMakeLists.txt
deleted file mode 100644
index e12068a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/CMakeLists.txt
+++ /dev/null
@@ -1,274 +0,0 @@
-set(files
-  __bit_reference
-  __bsd_locale_defaults.h
-  __bsd_locale_fallbacks.h
-  __errc
-  __debug
-  __functional_03
-  __functional_base
-  __functional_base_03
-  __hash_table
-  __libcpp_version
-  __locale
-  __mutex_base
-  __node_handle
-  __nullptr
-  __split_buffer
-  __sso_allocator
-  __std_stream
-  __string
-  __threading_support
-  __tree
-  __tuple
-  __undef_macros
-  algorithm
-  any
-  array
-  atomic
-  bit
-  bitset
-  cassert
-  ccomplex
-  cctype
-  cerrno
-  cfenv
-  cfloat
-  charconv
-  chrono
-  cinttypes
-  ciso646
-  climits
-  clocale
-  cmath
-  codecvt
-  compare
-  complex
-  complex.h
-  condition_variable
-  csetjmp
-  csignal
-  cstdarg
-  cstdbool
-  cstddef
-  cstdint
-  cstdio
-  cstdlib
-  cstring
-  ctgmath
-  ctime
-  ctype.h
-  cwchar
-  cwctype
-  deque
-  errno.h
-  exception
-  execution
-  experimental/__config
-  experimental/__memory
-  experimental/algorithm
-  experimental/coroutine
-  experimental/deque
-  experimental/filesystem
-  experimental/forward_list
-  experimental/functional
-  experimental/iterator
-  experimental/list
-  experimental/map
-  experimental/memory_resource
-  experimental/propagate_const
-  experimental/regex
-  experimental/set
-  experimental/simd
-  experimental/string
-  experimental/type_traits
-  experimental/unordered_map
-  experimental/unordered_set
-  experimental/utility
-  experimental/vector
-  ext/__hash
-  ext/hash_map
-  ext/hash_set
-  fenv.h
-  filesystem
-  float.h
-  forward_list
-  fstream
-  functional
-  future
-  initializer_list
-  inttypes.h
-  iomanip
-  ios
-  iosfwd
-  iostream
-  istream
-  iterator
-  limits
-  limits.h
-  list
-  locale
-  locale.h
-  map
-  math.h
-  memory
-  module.modulemap
-  mutex
-  new
-  numeric
-  optional
-  ostream
-  queue
-  random
-  ratio
-  regex
-  scoped_allocator
-  set
-  setjmp.h
-  shared_mutex
-  span
-  sstream
-  stack
-  stdbool.h
-  stddef.h
-  stdexcept
-  stdint.h
-  stdio.h
-  stdlib.h
-  streambuf
-  string
-  string.h
-  string_view
-  strstream
-  system_error
-  tgmath.h
-  thread
-  tuple
-  type_traits
-  typeindex
-  typeinfo
-  unordered_map
-  unordered_set
-  utility
-  valarray
-  variant
-  vector
-  version
-  wchar.h
-  wctype.h
-  )
-
-if(LIBCXX_INSTALL_SUPPORT_HEADERS)
-  set(files
-    ${files}
-    support/android/locale_bionic.h
-    support/fuchsia/xlocale.h
-    support/ibm/limits.h
-    support/ibm/locale_mgmt_aix.h
-    support/ibm/support.h
-    support/ibm/xlocale.h
-    support/musl/xlocale.h
-    support/newlib/xlocale.h
-    support/solaris/floatingpoint.h
-    support/solaris/wchar.h
-    support/solaris/xlocale.h
-    support/win32/limits_msvc_win32.h
-    support/win32/locale_win32.h
-    support/xlocale/__nop_locale_mgmt.h
-    support/xlocale/__posix_l_fallback.h
-    support/xlocale/__strtonum_fallback.h
-    )
-endif()
-
-if (LIBCXX_NEEDS_SITE_CONFIG)
-  # Generate a custom __config header. The new header is created
-  # by prepending __config_site to the current __config header.
-  add_custom_command(OUTPUT ${LIBCXX_BINARY_DIR}/__generated_config
-    COMMAND ${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/cat_files.py
-      ${LIBCXX_BINARY_DIR}/__config_site
-      ${LIBCXX_SOURCE_DIR}/include/__config
-      -o ${LIBCXX_BINARY_DIR}/__generated_config
-    DEPENDS ${LIBCXX_SOURCE_DIR}/include/__config
-            ${LIBCXX_BINARY_DIR}/__config_site
-  )
-  # Add a target that executes the generation commands.
-  add_custom_target(cxx-generated-config ALL
-    DEPENDS ${LIBCXX_BINARY_DIR}/__generated_config)
-  set(generated_config_deps cxx-generated-config)
-else()
-  set(files
-    ${files}
-    __config
-    )
-endif()
-
-# In some build configuraitons (like boostrapping clang), we need to be able to
-# install the libcxx headers before CMake configuraiton for libcxx runs. Making
-# the name of this target configurable allows LLVM/runtimes/CMakeLists.txt to
-# add this subdirectory to the LLVM build to put libcxx's headers in place
-# before libcxx's build configuration is run.
-if (NOT CXX_HEADER_TARGET)
-  set(CXX_HEADER_TARGET cxx-headers)
-endif()
-if(NOT LIBCXX_USING_INSTALLED_LLVM AND LIBCXX_HEADER_DIR)
-  set(output_dir ${LIBCXX_HEADER_DIR}/include/c++/v1)
-
-  set(out_files)
-  foreach(f ${files})
-    set(src ${CMAKE_CURRENT_SOURCE_DIR}/${f})
-    set(dst ${output_dir}/${f})
-    add_custom_command(OUTPUT ${dst}
-      DEPENDS ${src}
-      COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
-      COMMENT "Copying CXX header ${f}")
-    list(APPEND out_files ${dst})
-  endforeach()
-
-  if (LIBCXX_NEEDS_SITE_CONFIG)
-    # Copy the generated header as __config into build directory.
-    set(src ${LIBCXX_BINARY_DIR}/__generated_config)
-    set(dst ${output_dir}/__config)
-    add_custom_command(OUTPUT ${dst}
-        DEPENDS ${src} ${generated_config_deps}
-        COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
-        COMMENT "Copying CXX __config")
-    list(APPEND out_files ${dst})
-  endif()
-
-  add_custom_target(${CXX_HEADER_TARGET} ALL DEPENDS ${out_files} ${LIBCXX_CXX_ABI_HEADER_TARGET})
-else()
-  add_custom_target(${CXX_HEADER_TARGET})
-endif()
-set_target_properties(${CXX_HEADER_TARGET} PROPERTIES FOLDER "Misc")
-
-if (LIBCXX_INSTALL_HEADERS)
-  foreach(file ${files})
-    get_filename_component(dir ${file} DIRECTORY)
-    install(FILES ${file}
-      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir}
-      COMPONENT ${CXX_HEADER_TARGET}
-      PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-    )
-  endforeach()
-
-  if (LIBCXX_NEEDS_SITE_CONFIG)
-    # Install the generated header as __config.
-    install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
-      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1
-      PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-      RENAME __config
-      COMPONENT ${CXX_HEADER_TARGET})
-  endif()
-
-  if (NOT CMAKE_CONFIGURATION_TYPES)
-    add_custom_target(install-${CXX_HEADER_TARGET}
-                      DEPENDS ${CXX_HEADER_TARGET} ${generated_config_deps}
-                      COMMAND "${CMAKE_COMMAND}"
-                              -DCMAKE_INSTALL_COMPONENT=${CXX_HEADER_TARGET}
-                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
-    # Stripping is a no-op for headers
-    add_custom_target(install-${CXX_HEADER_TARGET}-stripped DEPENDS install-${CXX_HEADER_TARGET})
-
-    add_custom_target(install-libcxx-headers DEPENDS install-${CXX_HEADER_TARGET})
-    add_custom_target(install-libcxx-headers-stripped DEPENDS install-${CXX_HEADER_TARGET}-stripped)
-  endif()
-endif()
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__bit_reference b/r21/sources/cxx-stl/llvm-libc++/include/__bit_reference
deleted file mode 100644
index cce74fb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__bit_reference
+++ /dev/null
@@ -1,1280 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___BIT_REFERENCE
-#define _LIBCPP___BIT_REFERENCE
-
-#include <__config>
-#include <bit>
-#include <algorithm>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Cp, bool _IsConst, typename _Cp::__storage_type = 0> class __bit_iterator;
-template <class _Cp> class __bit_const_reference;
-
-template <class _Tp>
-struct __has_storage_type
-{
-    static const bool value = false;
-};
-
-template <class _Cp, bool = __has_storage_type<_Cp>::value>
-class __bit_reference
-{
-    typedef typename _Cp::__storage_type    __storage_type;
-    typedef typename _Cp::__storage_pointer __storage_pointer;
-
-    __storage_pointer __seg_;
-    __storage_type    __mask_;
-
-    friend typename _Cp::__self;
-
-    friend class __bit_const_reference<_Cp>;
-    friend class __bit_iterator<_Cp, false>;
-public:
-    _LIBCPP_INLINE_VISIBILITY operator bool() const _NOEXCEPT
-        {return static_cast<bool>(*__seg_ & __mask_);}
-    _LIBCPP_INLINE_VISIBILITY bool operator ~() const _NOEXCEPT
-        {return !static_cast<bool>(*this);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __bit_reference& operator=(bool __x) _NOEXCEPT
-    {
-        if (__x)
-            *__seg_ |= __mask_;
-        else
-            *__seg_ &= ~__mask_;
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __bit_reference& operator=(const __bit_reference& __x) _NOEXCEPT
-        {return operator=(static_cast<bool>(__x));}
-
-    _LIBCPP_INLINE_VISIBILITY void flip() _NOEXCEPT {*__seg_ ^= __mask_;}
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator<_Cp, false> operator&() const _NOEXCEPT
-        {return __bit_iterator<_Cp, false>(__seg_, static_cast<unsigned>(__libcpp_ctz(__mask_)));}
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    __bit_reference(__storage_pointer __s, __storage_type __m) _NOEXCEPT
-        : __seg_(__s), __mask_(__m) {}
-};
-
-template <class _Cp>
-class __bit_reference<_Cp, false>
-{
-};
-
-template <class _Cp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__bit_reference<_Cp> __x, __bit_reference<_Cp> __y) _NOEXCEPT
-{
-    bool __t = __x;
-    __x = __y;
-    __y = __t;
-}
-
-template <class _Cp, class _Dp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__bit_reference<_Cp> __x, __bit_reference<_Dp> __y) _NOEXCEPT
-{
-    bool __t = __x;
-    __x = __y;
-    __y = __t;
-}
-
-template <class _Cp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__bit_reference<_Cp> __x, bool& __y) _NOEXCEPT
-{
-    bool __t = __x;
-    __x = __y;
-    __y = __t;
-}
-
-template <class _Cp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(bool& __x, __bit_reference<_Cp> __y) _NOEXCEPT
-{
-    bool __t = __x;
-    __x = __y;
-    __y = __t;
-}
-
-template <class _Cp>
-class __bit_const_reference
-{
-    typedef typename _Cp::__storage_type          __storage_type;
-    typedef typename _Cp::__const_storage_pointer __storage_pointer;
-
-    __storage_pointer        __seg_;
-    __storage_type __mask_;
-
-    friend typename _Cp::__self;
-    friend class __bit_iterator<_Cp, true>;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __bit_const_reference(const __bit_reference<_Cp>& __x) _NOEXCEPT
-        : __seg_(__x.__seg_), __mask_(__x.__mask_) {}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR operator bool() const _NOEXCEPT
-        {return static_cast<bool>(*__seg_ & __mask_);}
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator<_Cp, true> operator&() const _NOEXCEPT
-        {return __bit_iterator<_Cp, true>(__seg_, static_cast<unsigned>(__libcpp_ctz(__mask_)));}
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR
-    __bit_const_reference(__storage_pointer __s, __storage_type __m) _NOEXCEPT
-        : __seg_(__s), __mask_(__m) {}
-
-    __bit_const_reference& operator=(const __bit_const_reference& __x);
-};
-
-// find
-
-template <class _Cp, bool _IsConst>
-__bit_iterator<_Cp, _IsConst>
-__find_bool_true(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n)
-{
-    typedef __bit_iterator<_Cp, _IsConst> _It;
-    typedef typename _It::__storage_type __storage_type;
-    static const int __bits_per_word = _It::__bits_per_word;
-    // do first partial word
-    if (__first.__ctz_ != 0)
-    {
-        __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
-        __storage_type __dn = _VSTD::min(__clz_f, __n);
-        __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-        __storage_type __b = *__first.__seg_ & __m;
-        if (__b)
-            return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__libcpp_ctz(__b)));
-        if (__n == __dn)
-            return __first + __n;
-        __n -= __dn;
-        ++__first.__seg_;
-    }
-    // do middle whole words
-    for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word)
-        if (*__first.__seg_)
-            return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__libcpp_ctz(*__first.__seg_)));
-    // do last partial word
-    if (__n > 0)
-    {
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        __storage_type __b = *__first.__seg_ & __m;
-        if (__b)
-            return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__libcpp_ctz(__b)));
-    }
-    return _It(__first.__seg_, static_cast<unsigned>(__n));
-}
-
-template <class _Cp, bool _IsConst>
-__bit_iterator<_Cp, _IsConst>
-__find_bool_false(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n)
-{
-    typedef __bit_iterator<_Cp, _IsConst> _It;
-    typedef typename _It::__storage_type __storage_type;
-    const int __bits_per_word = _It::__bits_per_word;
-    // do first partial word
-    if (__first.__ctz_ != 0)
-    {
-        __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
-        __storage_type __dn = _VSTD::min(__clz_f, __n);
-        __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-        __storage_type __b = ~*__first.__seg_ & __m;
-        if (__b)
-            return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__libcpp_ctz(__b)));
-        if (__n == __dn)
-            return __first + __n;
-        __n -= __dn;
-        ++__first.__seg_;
-    }
-    // do middle whole words
-    for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word)
-    {
-        __storage_type __b = ~*__first.__seg_;
-        if (__b)
-            return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__libcpp_ctz(__b)));
-    }
-    // do last partial word
-    if (__n > 0)
-    {
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        __storage_type __b = ~*__first.__seg_ & __m;
-        if (__b)
-            return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__libcpp_ctz(__b)));
-    }
-    return _It(__first.__seg_, static_cast<unsigned>(__n));
-}
-
-template <class _Cp, bool _IsConst, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_Cp, _IsConst>
-find(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value_)
-{
-    if (static_cast<bool>(__value_))
-        return __find_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));
-    return __find_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));
-}
-
-// count
-
-template <class _Cp, bool _IsConst>
-typename __bit_iterator<_Cp, _IsConst>::difference_type
-__count_bool_true(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n)
-{
-    typedef __bit_iterator<_Cp, _IsConst> _It;
-    typedef typename _It::__storage_type __storage_type;
-    typedef typename _It::difference_type difference_type;
-    const int __bits_per_word = _It::__bits_per_word;
-    difference_type __r = 0;
-    // do first partial word
-    if (__first.__ctz_ != 0)
-    {
-        __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
-        __storage_type __dn = _VSTD::min(__clz_f, __n);
-        __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-        __r = _VSTD::__libcpp_popcount(*__first.__seg_ & __m);
-        __n -= __dn;
-        ++__first.__seg_;
-    }
-    // do middle whole words
-    for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word)
-        __r += _VSTD::__libcpp_popcount(*__first.__seg_);
-    // do last partial word
-    if (__n > 0)
-    {
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        __r += _VSTD::__libcpp_popcount(*__first.__seg_ & __m);
-    }
-    return __r;
-}
-
-template <class _Cp, bool _IsConst>
-typename __bit_iterator<_Cp, _IsConst>::difference_type
-__count_bool_false(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n)
-{
-    typedef __bit_iterator<_Cp, _IsConst> _It;
-    typedef typename _It::__storage_type __storage_type;
-    typedef typename _It::difference_type difference_type;
-    const int __bits_per_word = _It::__bits_per_word;
-    difference_type __r = 0;
-    // do first partial word
-    if (__first.__ctz_ != 0)
-    {
-        __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
-        __storage_type __dn = _VSTD::min(__clz_f, __n);
-        __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-        __r = _VSTD::__libcpp_popcount(~*__first.__seg_ & __m);
-        __n -= __dn;
-        ++__first.__seg_;
-    }
-    // do middle whole words
-    for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word)
-        __r += _VSTD::__libcpp_popcount(~*__first.__seg_);
-    // do last partial word
-    if (__n > 0)
-    {
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        __r += _VSTD::__libcpp_popcount(~*__first.__seg_ & __m);
-    }
-    return __r;
-}
-
-template <class _Cp, bool _IsConst, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __bit_iterator<_Cp, _IsConst>::difference_type
-count(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value_)
-{
-    if (static_cast<bool>(__value_))
-        return __count_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));
-    return __count_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));
-}
-
-// fill_n
-
-template <class _Cp>
-void
-__fill_n_false(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
-{
-    typedef __bit_iterator<_Cp, false> _It;
-    typedef typename _It::__storage_type __storage_type;
-    const int __bits_per_word = _It::__bits_per_word;
-    // do first partial word
-    if (__first.__ctz_ != 0)
-    {
-        __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
-        __storage_type __dn = _VSTD::min(__clz_f, __n);
-        __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-        *__first.__seg_ &= ~__m;
-        __n -= __dn;
-        ++__first.__seg_;
-    }
-    // do middle whole words
-    __storage_type __nw = __n / __bits_per_word;
-    _VSTD::memset(_VSTD::__to_raw_pointer(__first.__seg_), 0, __nw * sizeof(__storage_type));
-    __n -= __nw * __bits_per_word;
-    // do last partial word
-    if (__n > 0)
-    {
-        __first.__seg_ += __nw;
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        *__first.__seg_ &= ~__m;
-    }
-}
-
-template <class _Cp>
-void
-__fill_n_true(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
-{
-    typedef __bit_iterator<_Cp, false> _It;
-    typedef typename _It::__storage_type __storage_type;
-    const int __bits_per_word = _It::__bits_per_word;
-    // do first partial word
-    if (__first.__ctz_ != 0)
-    {
-        __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
-        __storage_type __dn = _VSTD::min(__clz_f, __n);
-        __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-        *__first.__seg_ |= __m;
-        __n -= __dn;
-        ++__first.__seg_;
-    }
-    // do middle whole words
-    __storage_type __nw = __n / __bits_per_word;
-    _VSTD::memset(_VSTD::__to_raw_pointer(__first.__seg_), -1, __nw * sizeof(__storage_type));
-    __n -= __nw * __bits_per_word;
-    // do last partial word
-    if (__n > 0)
-    {
-        __first.__seg_ += __nw;
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        *__first.__seg_ |= __m;
-    }
-}
-
-template <class _Cp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-fill_n(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n, bool __value_)
-{
-    if (__n > 0)
-    {
-        if (__value_)
-            __fill_n_true(__first, __n);
-        else
-            __fill_n_false(__first, __n);
-    }
-}
-
-// fill
-
-template <class _Cp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-fill(__bit_iterator<_Cp, false> __first, __bit_iterator<_Cp, false> __last, bool __value_)
-{
-    _VSTD::fill_n(__first, static_cast<typename _Cp::size_type>(__last - __first), __value_);
-}
-
-// copy
-
-template <class _Cp, bool _IsConst>
-__bit_iterator<_Cp, false>
-__copy_aligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
-                                                     __bit_iterator<_Cp, false> __result)
-{
-    typedef __bit_iterator<_Cp, _IsConst> _In;
-    typedef  typename _In::difference_type difference_type;
-    typedef typename _In::__storage_type __storage_type;
-    const int __bits_per_word = _In::__bits_per_word;
-    difference_type __n = __last - __first;
-    if (__n > 0)
-    {
-        // do first word
-        if (__first.__ctz_ != 0)
-        {
-            unsigned __clz = __bits_per_word - __first.__ctz_;
-            difference_type __dn = _VSTD::min(static_cast<difference_type>(__clz), __n);
-            __n -= __dn;
-            __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz - __dn));
-            __storage_type __b = *__first.__seg_ & __m;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b;
-            __result.__seg_ += (__dn + __result.__ctz_) / __bits_per_word;
-            __result.__ctz_ = static_cast<unsigned>((__dn + __result.__ctz_)  % __bits_per_word);
-            ++__first.__seg_;
-            // __first.__ctz_ = 0;
-        }
-        // __first.__ctz_ == 0;
-        // do middle words
-        __storage_type __nw = __n / __bits_per_word;
-        _VSTD::memmove(_VSTD::__to_raw_pointer(__result.__seg_),
-                       _VSTD::__to_raw_pointer(__first.__seg_),
-                       __nw * sizeof(__storage_type));
-        __n -= __nw * __bits_per_word;
-        __result.__seg_ += __nw;
-        // do last word
-        if (__n > 0)
-        {
-            __first.__seg_ += __nw;
-            __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-            __storage_type __b = *__first.__seg_ & __m;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b;
-            __result.__ctz_ = static_cast<unsigned>(__n);
-        }
-    }
-    return __result;
-}
-
-template <class _Cp, bool _IsConst>
-__bit_iterator<_Cp, false>
-__copy_unaligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
-                                                       __bit_iterator<_Cp, false> __result)
-{
-    typedef __bit_iterator<_Cp, _IsConst> _In;
-    typedef  typename _In::difference_type difference_type;
-    typedef typename _In::__storage_type __storage_type;
-    static const int __bits_per_word = _In::__bits_per_word;
-    difference_type __n = __last - __first;
-    if (__n > 0)
-    {
-        // do first word
-        if (__first.__ctz_ != 0)
-        {
-            unsigned __clz_f = __bits_per_word - __first.__ctz_;
-            difference_type __dn = _VSTD::min(static_cast<difference_type>(__clz_f), __n);
-            __n -= __dn;
-            __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-            __storage_type __b = *__first.__seg_ & __m;
-            unsigned __clz_r = __bits_per_word - __result.__ctz_;
-            __storage_type __ddn = _VSTD::min<__storage_type>(__dn, __clz_r);
-            __m = (~__storage_type(0) << __result.__ctz_) & (~__storage_type(0) >> (__clz_r - __ddn));
-            *__result.__seg_ &= ~__m;
-            if (__result.__ctz_ > __first.__ctz_)
-                *__result.__seg_ |= __b << (__result.__ctz_ - __first.__ctz_);
-            else
-                *__result.__seg_ |= __b >> (__first.__ctz_ - __result.__ctz_);
-            __result.__seg_ += (__ddn + __result.__ctz_) / __bits_per_word;
-            __result.__ctz_ = static_cast<unsigned>((__ddn + __result.__ctz_)  % __bits_per_word);
-            __dn -= __ddn;
-            if (__dn > 0)
-            {
-                __m = ~__storage_type(0) >> (__bits_per_word - __dn);
-                *__result.__seg_ &= ~__m;
-                *__result.__seg_ |= __b >> (__first.__ctz_ + __ddn);
-                __result.__ctz_ = static_cast<unsigned>(__dn);
-            }
-            ++__first.__seg_;
-            // __first.__ctz_ = 0;
-        }
-        // __first.__ctz_ == 0;
-        // do middle words
-        unsigned __clz_r = __bits_per_word - __result.__ctz_;
-        __storage_type __m = ~__storage_type(0) << __result.__ctz_;
-        for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first.__seg_)
-        {
-            __storage_type __b = *__first.__seg_;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b << __result.__ctz_;
-            ++__result.__seg_;
-            *__result.__seg_ &= __m;
-            *__result.__seg_ |= __b >> __clz_r;
-        }
-        // do last word
-        if (__n > 0)
-        {
-            __m = ~__storage_type(0) >> (__bits_per_word - __n);
-            __storage_type __b = *__first.__seg_ & __m;
-            __storage_type __dn = _VSTD::min(__n, static_cast<difference_type>(__clz_r));
-            __m = (~__storage_type(0) << __result.__ctz_) & (~__storage_type(0) >> (__clz_r - __dn));
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b << __result.__ctz_;
-            __result.__seg_ += (__dn + __result.__ctz_) / __bits_per_word;
-            __result.__ctz_ = static_cast<unsigned>((__dn + __result.__ctz_)  % __bits_per_word);
-            __n -= __dn;
-            if (__n > 0)
-            {
-                __m = ~__storage_type(0) >> (__bits_per_word - __n);
-                *__result.__seg_ &= ~__m;
-                *__result.__seg_ |= __b >> __dn;
-                __result.__ctz_ = static_cast<unsigned>(__n);
-            }
-        }
-    }
-    return __result;
-}
-
-template <class _Cp, bool _IsConst>
-inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_Cp, false>
-copy(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
-{
-    if (__first.__ctz_ == __result.__ctz_)
-        return __copy_aligned(__first, __last, __result);
-    return __copy_unaligned(__first, __last, __result);
-}
-
-// copy_backward
-
-template <class _Cp, bool _IsConst>
-__bit_iterator<_Cp, false>
-__copy_backward_aligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
-                                                     __bit_iterator<_Cp, false> __result)
-{
-    typedef __bit_iterator<_Cp, _IsConst> _In;
-    typedef  typename _In::difference_type difference_type;
-    typedef typename _In::__storage_type __storage_type;
-    const int __bits_per_word = _In::__bits_per_word;
-    difference_type __n = __last - __first;
-    if (__n > 0)
-    {
-        // do first word
-        if (__last.__ctz_ != 0)
-        {
-            difference_type __dn = _VSTD::min(static_cast<difference_type>(__last.__ctz_), __n);
-            __n -= __dn;
-            unsigned __clz = __bits_per_word - __last.__ctz_;
-            __storage_type __m = (~__storage_type(0) << (__last.__ctz_ - __dn)) & (~__storage_type(0) >> __clz);
-            __storage_type __b = *__last.__seg_ & __m;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b;
-            __result.__ctz_ = static_cast<unsigned>(((-__dn & (__bits_per_word - 1)) +
-                                                       __result.__ctz_)  % __bits_per_word);
-            // __last.__ctz_ = 0
-         }
-        // __last.__ctz_ == 0 || __n == 0
-        // __result.__ctz_ == 0 || __n == 0
-        // do middle words
-        __storage_type __nw = __n / __bits_per_word;
-        __result.__seg_ -= __nw;
-        __last.__seg_ -= __nw;
-        _VSTD::memmove(_VSTD::__to_raw_pointer(__result.__seg_),
-                       _VSTD::__to_raw_pointer(__last.__seg_),
-                       __nw * sizeof(__storage_type));
-        __n -= __nw * __bits_per_word;
-        // do last word
-        if (__n > 0)
-        {
-            __storage_type __m = ~__storage_type(0) << (__bits_per_word - __n);
-            __storage_type __b = *--__last.__seg_ & __m;
-            *--__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b;
-            __result.__ctz_ = static_cast<unsigned>(-__n & (__bits_per_word - 1));
-        }
-    }
-    return __result;
-}
-
-template <class _Cp, bool _IsConst>
-__bit_iterator<_Cp, false>
-__copy_backward_unaligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
-                                                       __bit_iterator<_Cp, false> __result)
-{
-    typedef __bit_iterator<_Cp, _IsConst> _In;
-    typedef  typename _In::difference_type difference_type;
-    typedef typename _In::__storage_type __storage_type;
-    const int __bits_per_word = _In::__bits_per_word;
-    difference_type __n = __last - __first;
-    if (__n > 0)
-    {
-        // do first word
-        if (__last.__ctz_ != 0)
-        {
-            difference_type __dn = _VSTD::min(static_cast<difference_type>(__last.__ctz_), __n);
-            __n -= __dn;
-            unsigned __clz_l = __bits_per_word - __last.__ctz_;
-            __storage_type __m = (~__storage_type(0) << (__last.__ctz_ - __dn)) & (~__storage_type(0) >> __clz_l);
-            __storage_type __b = *__last.__seg_ & __m;
-            unsigned __clz_r = __bits_per_word - __result.__ctz_;
-            __storage_type __ddn = _VSTD::min(__dn, static_cast<difference_type>(__result.__ctz_));
-            if (__ddn > 0)
-            {
-                __m = (~__storage_type(0) << (__result.__ctz_ - __ddn)) & (~__storage_type(0) >> __clz_r);
-                *__result.__seg_ &= ~__m;
-                if (__result.__ctz_ > __last.__ctz_)
-                    *__result.__seg_ |= __b << (__result.__ctz_ - __last.__ctz_);
-                else
-                    *__result.__seg_ |= __b >> (__last.__ctz_ - __result.__ctz_);
-                __result.__ctz_ = static_cast<unsigned>(((-__ddn & (__bits_per_word - 1)) +
-                                                         __result.__ctz_)  % __bits_per_word);
-                __dn -= __ddn;
-            }
-            if (__dn > 0)
-            {
-                // __result.__ctz_ == 0
-                --__result.__seg_;
-                __result.__ctz_ = static_cast<unsigned>(-__dn & (__bits_per_word - 1));
-                __m = ~__storage_type(0) << __result.__ctz_;
-                *__result.__seg_ &= ~__m;
-                __last.__ctz_ -= __dn + __ddn;
-                *__result.__seg_ |= __b << (__result.__ctz_ - __last.__ctz_);
-            }
-            // __last.__ctz_ = 0
-         }
-        // __last.__ctz_ == 0 || __n == 0
-        // __result.__ctz_ != 0 || __n == 0
-        // do middle words
-        unsigned __clz_r = __bits_per_word - __result.__ctz_;
-        __storage_type __m = ~__storage_type(0) >> __clz_r;
-        for (; __n >= __bits_per_word; __n -= __bits_per_word)
-        {
-            __storage_type __b = *--__last.__seg_;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b >> __clz_r;
-            *--__result.__seg_ &= __m;
-            *__result.__seg_ |= __b << __result.__ctz_;
-        }
-        // do last word
-        if (__n > 0)
-        {
-            __m = ~__storage_type(0) << (__bits_per_word - __n);
-            __storage_type __b = *--__last.__seg_ & __m;
-            __clz_r = __bits_per_word - __result.__ctz_;
-            __storage_type __dn = _VSTD::min(__n, static_cast<difference_type>(__result.__ctz_));
-            __m = (~__storage_type(0) << (__result.__ctz_ - __dn)) & (~__storage_type(0) >> __clz_r);
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b >> (__bits_per_word - __result.__ctz_);
-            __result.__ctz_ = static_cast<unsigned>(((-__dn & (__bits_per_word - 1)) +
-                                                     __result.__ctz_)  % __bits_per_word);
-            __n -= __dn;
-            if (__n > 0)
-            {
-                // __result.__ctz_ == 0
-                --__result.__seg_;
-                __result.__ctz_ = static_cast<unsigned>(-__n & (__bits_per_word - 1));
-                __m = ~__storage_type(0) << __result.__ctz_;
-                *__result.__seg_ &= ~__m;
-                *__result.__seg_ |= __b << (__result.__ctz_ - (__bits_per_word - __n - __dn));
-            }
-        }
-    }
-    return __result;
-}
-
-template <class _Cp, bool _IsConst>
-inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_Cp, false>
-copy_backward(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
-{
-    if (__last.__ctz_ == __result.__ctz_)
-        return __copy_backward_aligned(__first, __last, __result);
-    return __copy_backward_unaligned(__first, __last, __result);
-}
-
-// move
-
-template <class _Cp, bool _IsConst>
-inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_Cp, false>
-move(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
-{
-    return _VSTD::copy(__first, __last, __result);
-}
-
-// move_backward
-
-template <class _Cp, bool _IsConst>
-inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_Cp, false>
-move_backward(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
-{
-    return _VSTD::copy_backward(__first, __last, __result);
-}
-
-// swap_ranges
-
-template <class __C1, class __C2>
-__bit_iterator<__C2, false>
-__swap_ranges_aligned(__bit_iterator<__C1, false> __first, __bit_iterator<__C1, false> __last,
-                      __bit_iterator<__C2, false> __result)
-{
-    typedef __bit_iterator<__C1, false> _I1;
-    typedef  typename _I1::difference_type difference_type;
-    typedef typename _I1::__storage_type __storage_type;
-    const int __bits_per_word = _I1::__bits_per_word;
-    difference_type __n = __last - __first;
-    if (__n > 0)
-    {
-        // do first word
-        if (__first.__ctz_ != 0)
-        {
-            unsigned __clz = __bits_per_word - __first.__ctz_;
-            difference_type __dn = _VSTD::min(static_cast<difference_type>(__clz), __n);
-            __n -= __dn;
-            __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz - __dn));
-            __storage_type __b1 = *__first.__seg_ & __m;
-            *__first.__seg_ &= ~__m;
-            __storage_type __b2 = *__result.__seg_ & __m;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b1;
-            *__first.__seg_  |= __b2;
-            __result.__seg_ += (__dn + __result.__ctz_) / __bits_per_word;
-            __result.__ctz_ = static_cast<unsigned>((__dn + __result.__ctz_)  % __bits_per_word);
-            ++__first.__seg_;
-            // __first.__ctz_ = 0;
-        }
-        // __first.__ctz_ == 0;
-        // do middle words
-        for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first.__seg_, ++__result.__seg_)
-            swap(*__first.__seg_, *__result.__seg_);
-        // do last word
-        if (__n > 0)
-        {
-            __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-            __storage_type __b1 = *__first.__seg_ & __m;
-            *__first.__seg_ &= ~__m;
-            __storage_type __b2 = *__result.__seg_ & __m;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b1;
-            *__first.__seg_  |= __b2;
-            __result.__ctz_ = static_cast<unsigned>(__n);
-        }
-    }
-    return __result;
-}
-
-template <class __C1, class __C2>
-__bit_iterator<__C2, false>
-__swap_ranges_unaligned(__bit_iterator<__C1, false> __first, __bit_iterator<__C1, false> __last,
-                        __bit_iterator<__C2, false> __result)
-{
-    typedef __bit_iterator<__C1, false> _I1;
-    typedef  typename _I1::difference_type difference_type;
-    typedef typename _I1::__storage_type __storage_type;
-    const int __bits_per_word = _I1::__bits_per_word;
-    difference_type __n = __last - __first;
-    if (__n > 0)
-    {
-        // do first word
-        if (__first.__ctz_ != 0)
-        {
-            unsigned __clz_f = __bits_per_word - __first.__ctz_;
-            difference_type __dn = _VSTD::min(static_cast<difference_type>(__clz_f), __n);
-            __n -= __dn;
-            __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-            __storage_type __b1 = *__first.__seg_ & __m;
-            *__first.__seg_ &= ~__m;
-            unsigned __clz_r = __bits_per_word - __result.__ctz_;
-            __storage_type __ddn = _VSTD::min<__storage_type>(__dn, __clz_r);
-            __m = (~__storage_type(0) << __result.__ctz_) & (~__storage_type(0) >> (__clz_r - __ddn));
-            __storage_type __b2 = *__result.__seg_ & __m;
-            *__result.__seg_ &= ~__m;
-            if (__result.__ctz_ > __first.__ctz_)
-            {
-                unsigned __s = __result.__ctz_ - __first.__ctz_;
-                *__result.__seg_ |= __b1 << __s;
-                *__first.__seg_  |= __b2 >> __s;
-            }
-            else
-            {
-                unsigned __s = __first.__ctz_ - __result.__ctz_;
-                *__result.__seg_ |= __b1 >> __s;
-                *__first.__seg_  |= __b2 << __s;
-            }
-            __result.__seg_ += (__ddn + __result.__ctz_) / __bits_per_word;
-            __result.__ctz_ = static_cast<unsigned>((__ddn + __result.__ctz_)  % __bits_per_word);
-            __dn -= __ddn;
-            if (__dn > 0)
-            {
-                __m = ~__storage_type(0) >> (__bits_per_word - __dn);
-                __b2 = *__result.__seg_ & __m;
-                *__result.__seg_ &= ~__m;
-                unsigned __s = __first.__ctz_ + __ddn;
-                *__result.__seg_ |= __b1 >> __s;
-                *__first.__seg_  |= __b2 << __s;
-                __result.__ctz_ = static_cast<unsigned>(__dn);
-            }
-            ++__first.__seg_;
-            // __first.__ctz_ = 0;
-        }
-        // __first.__ctz_ == 0;
-        // do middle words
-        __storage_type __m = ~__storage_type(0) << __result.__ctz_;
-        unsigned __clz_r = __bits_per_word - __result.__ctz_;
-        for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first.__seg_)
-        {
-            __storage_type __b1 = *__first.__seg_;
-            __storage_type __b2 = *__result.__seg_ & __m;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b1 << __result.__ctz_;
-            *__first.__seg_  = __b2 >> __result.__ctz_;
-            ++__result.__seg_;
-            __b2 = *__result.__seg_ & ~__m;
-            *__result.__seg_ &= __m;
-            *__result.__seg_ |= __b1 >> __clz_r;
-            *__first.__seg_  |= __b2 << __clz_r;
-        }
-        // do last word
-        if (__n > 0)
-        {
-            __m = ~__storage_type(0) >> (__bits_per_word - __n);
-            __storage_type __b1 = *__first.__seg_ & __m;
-            *__first.__seg_ &= ~__m;
-            __storage_type __dn = _VSTD::min<__storage_type>(__n, __clz_r);
-            __m = (~__storage_type(0) << __result.__ctz_) & (~__storage_type(0) >> (__clz_r - __dn));
-            __storage_type __b2 = *__result.__seg_ & __m;
-            *__result.__seg_ &= ~__m;
-            *__result.__seg_ |= __b1 << __result.__ctz_;
-            *__first.__seg_  |= __b2 >> __result.__ctz_;
-            __result.__seg_ += (__dn + __result.__ctz_) / __bits_per_word;
-            __result.__ctz_ = static_cast<unsigned>((__dn + __result.__ctz_)  % __bits_per_word);
-            __n -= __dn;
-            if (__n > 0)
-            {
-                __m = ~__storage_type(0) >> (__bits_per_word - __n);
-                __b2 = *__result.__seg_ & __m;
-                *__result.__seg_ &= ~__m;
-                *__result.__seg_ |= __b1 >> __dn;
-                *__first.__seg_  |= __b2 << __dn;
-                __result.__ctz_ = static_cast<unsigned>(__n);
-            }
-        }
-    }
-    return __result;
-}
-
-template <class __C1, class __C2>
-inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<__C2, false>
-swap_ranges(__bit_iterator<__C1, false> __first1, __bit_iterator<__C1, false> __last1,
-            __bit_iterator<__C2, false> __first2)
-{
-    if (__first1.__ctz_ == __first2.__ctz_)
-        return __swap_ranges_aligned(__first1, __last1, __first2);
-    return __swap_ranges_unaligned(__first1, __last1, __first2);
-}
-
-// rotate
-
-template <class _Cp>
-struct __bit_array
-{
-    typedef typename _Cp::difference_type difference_type;
-    typedef typename _Cp::__storage_type  __storage_type;
-    typedef typename _Cp::__storage_pointer __storage_pointer;
-    typedef typename _Cp::iterator        iterator;
-    static const unsigned __bits_per_word = _Cp::__bits_per_word;
-    static const unsigned _Np = 4;
-
-    difference_type __size_;
-    __storage_type __word_[_Np];
-
-    _LIBCPP_INLINE_VISIBILITY static difference_type capacity()
-        {return static_cast<difference_type>(_Np * __bits_per_word);}
-    _LIBCPP_INLINE_VISIBILITY explicit __bit_array(difference_type __s) : __size_(__s) {}
-    _LIBCPP_INLINE_VISIBILITY iterator begin()
-    {
-        return iterator(pointer_traits<__storage_pointer>::pointer_to(__word_[0]), 0);
-    }
-    _LIBCPP_INLINE_VISIBILITY iterator end()
-    {
-        return iterator(pointer_traits<__storage_pointer>::pointer_to(__word_[0]) + __size_ / __bits_per_word,
-                                                  static_cast<unsigned>(__size_ % __bits_per_word));
-    }
-};
-
-template <class _Cp>
-__bit_iterator<_Cp, false>
-rotate(__bit_iterator<_Cp, false> __first, __bit_iterator<_Cp, false> __middle, __bit_iterator<_Cp, false> __last)
-{
-    typedef __bit_iterator<_Cp, false> _I1;
-    typedef  typename _I1::difference_type difference_type;
-    difference_type __d1 = __middle - __first;
-    difference_type __d2 = __last - __middle;
-    _I1 __r = __first + __d2;
-    while (__d1 != 0 && __d2 != 0)
-    {
-        if (__d1 <= __d2)
-        {
-            if (__d1 <= __bit_array<_Cp>::capacity())
-            {
-                __bit_array<_Cp> __b(__d1);
-                _VSTD::copy(__first, __middle, __b.begin());
-                _VSTD::copy(__b.begin(), __b.end(), _VSTD::copy(__middle, __last, __first));
-                break;
-            }
-            else
-            {
-                __bit_iterator<_Cp, false> __mp = _VSTD::swap_ranges(__first, __middle, __middle);
-                __first = __middle;
-                __middle = __mp;
-                __d2 -= __d1;
-            }
-        }
-        else
-        {
-            if (__d2 <= __bit_array<_Cp>::capacity())
-            {
-                __bit_array<_Cp> __b(__d2);
-                _VSTD::copy(__middle, __last, __b.begin());
-                _VSTD::copy_backward(__b.begin(), __b.end(), _VSTD::copy_backward(__first, __middle, __last));
-                break;
-            }
-            else
-            {
-                __bit_iterator<_Cp, false> __mp = __first + __d2;
-                _VSTD::swap_ranges(__first, __mp, __middle);
-                __first = __mp;
-                __d1 -= __d2;
-            }
-        }
-    }
-    return __r;
-}
-
-// equal
-
-template <class _Cp, bool _IC1, bool _IC2>
-bool
-__equal_unaligned(__bit_iterator<_Cp, _IC1> __first1, __bit_iterator<_Cp, _IC1> __last1,
-                  __bit_iterator<_Cp, _IC2> __first2)
-{
-    typedef __bit_iterator<_Cp, _IC1> _It;
-    typedef  typename _It::difference_type difference_type;
-    typedef typename _It::__storage_type __storage_type;
-    static const int __bits_per_word = _It::__bits_per_word;
-    difference_type __n = __last1 - __first1;
-    if (__n > 0)
-    {
-        // do first word
-        if (__first1.__ctz_ != 0)
-        {
-            unsigned __clz_f = __bits_per_word - __first1.__ctz_;
-            difference_type __dn = _VSTD::min(static_cast<difference_type>(__clz_f), __n);
-            __n -= __dn;
-            __storage_type __m = (~__storage_type(0) << __first1.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
-            __storage_type __b = *__first1.__seg_ & __m;
-            unsigned __clz_r = __bits_per_word - __first2.__ctz_;
-            __storage_type __ddn = _VSTD::min<__storage_type>(__dn, __clz_r);
-            __m = (~__storage_type(0) << __first2.__ctz_) & (~__storage_type(0) >> (__clz_r - __ddn));
-            if (__first2.__ctz_ > __first1.__ctz_)
-            {
-                if ((*__first2.__seg_ & __m) != (__b << (__first2.__ctz_ - __first1.__ctz_)))
-                    return false;
-            }
-            else
-            {
-                if ((*__first2.__seg_ & __m) != (__b >> (__first1.__ctz_ - __first2.__ctz_)))
-                    return false;
-            }
-            __first2.__seg_ += (__ddn + __first2.__ctz_) / __bits_per_word;
-            __first2.__ctz_ = static_cast<unsigned>((__ddn + __first2.__ctz_)  % __bits_per_word);
-            __dn -= __ddn;
-            if (__dn > 0)
-            {
-                __m = ~__storage_type(0) >> (__bits_per_word - __dn);
-                if ((*__first2.__seg_ & __m) != (__b >> (__first1.__ctz_ + __ddn)))
-                    return false;
-                __first2.__ctz_ = static_cast<unsigned>(__dn);
-            }
-            ++__first1.__seg_;
-            // __first1.__ctz_ = 0;
-        }
-        // __first1.__ctz_ == 0;
-        // do middle words
-        unsigned __clz_r = __bits_per_word - __first2.__ctz_;
-        __storage_type __m = ~__storage_type(0) << __first2.__ctz_;
-        for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first1.__seg_)
-        {
-            __storage_type __b = *__first1.__seg_;
-            if ((*__first2.__seg_ & __m) != (__b << __first2.__ctz_))
-                return false;
-            ++__first2.__seg_;
-            if ((*__first2.__seg_ & ~__m) != (__b >> __clz_r))
-                return false;
-        }
-        // do last word
-        if (__n > 0)
-        {
-            __m = ~__storage_type(0) >> (__bits_per_word - __n);
-            __storage_type __b = *__first1.__seg_ & __m;
-            __storage_type __dn = _VSTD::min(__n, static_cast<difference_type>(__clz_r));
-            __m = (~__storage_type(0) << __first2.__ctz_) & (~__storage_type(0) >> (__clz_r - __dn));
-            if ((*__first2.__seg_ & __m) != (__b << __first2.__ctz_))
-                return false;
-            __first2.__seg_ += (__dn + __first2.__ctz_) / __bits_per_word;
-            __first2.__ctz_ = static_cast<unsigned>((__dn + __first2.__ctz_)  % __bits_per_word);
-            __n -= __dn;
-            if (__n > 0)
-            {
-                __m = ~__storage_type(0) >> (__bits_per_word - __n);
-                if ((*__first2.__seg_ & __m) != (__b >> __dn))
-                    return false;
-            }
-        }
-    }
-    return true;
-}
-
-template <class _Cp, bool _IC1, bool _IC2>
-bool
-__equal_aligned(__bit_iterator<_Cp, _IC1> __first1, __bit_iterator<_Cp, _IC1> __last1,
-                __bit_iterator<_Cp, _IC2> __first2)
-{
-    typedef __bit_iterator<_Cp, _IC1> _It;
-    typedef  typename _It::difference_type difference_type;
-    typedef typename _It::__storage_type __storage_type;
-    static const int __bits_per_word = _It::__bits_per_word;
-    difference_type __n = __last1 - __first1;
-    if (__n > 0)
-    {
-        // do first word
-        if (__first1.__ctz_ != 0)
-        {
-            unsigned __clz = __bits_per_word - __first1.__ctz_;
-            difference_type __dn = _VSTD::min(static_cast<difference_type>(__clz), __n);
-            __n -= __dn;
-            __storage_type __m = (~__storage_type(0) << __first1.__ctz_) & (~__storage_type(0) >> (__clz - __dn));
-            if ((*__first2.__seg_ & __m) != (*__first1.__seg_ & __m))
-                return false;
-            ++__first2.__seg_;
-            ++__first1.__seg_;
-            // __first1.__ctz_ = 0;
-            // __first2.__ctz_ = 0;
-        }
-        // __first1.__ctz_ == 0;
-        // __first2.__ctz_ == 0;
-        // do middle words
-        for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first1.__seg_, ++__first2.__seg_)
-            if (*__first2.__seg_ != *__first1.__seg_)
-                return false;
-        // do last word
-        if (__n > 0)
-        {
-            __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-            if ((*__first2.__seg_ & __m) != (*__first1.__seg_ & __m))
-                return false;
-        }
-    }
-    return true;
-}
-
-template <class _Cp, bool _IC1, bool _IC2>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-equal(__bit_iterator<_Cp, _IC1> __first1, __bit_iterator<_Cp, _IC1> __last1, __bit_iterator<_Cp, _IC2> __first2)
-{
-    if (__first1.__ctz_ == __first2.__ctz_)
-        return __equal_aligned(__first1, __last1, __first2);
-    return __equal_unaligned(__first1, __last1, __first2);
-}
-
-template <class _Cp, bool _IsConst,
-          typename _Cp::__storage_type>
-class __bit_iterator
-{
-public:
-    typedef typename _Cp::difference_type                                                          difference_type;
-    typedef bool                                                                                  value_type;
-    typedef __bit_iterator                                                                        pointer;
-    typedef typename conditional<_IsConst, __bit_const_reference<_Cp>, __bit_reference<_Cp> >::type reference;
-    typedef random_access_iterator_tag                                                            iterator_category;
-
-private:
-    typedef typename _Cp::__storage_type                                           __storage_type;
-    typedef typename conditional<_IsConst, typename _Cp::__const_storage_pointer,
-                                           typename _Cp::__storage_pointer>::type  __storage_pointer;
-    static const unsigned __bits_per_word = _Cp::__bits_per_word;
-
-    __storage_pointer __seg_;
-    unsigned          __ctz_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator() _NOEXCEPT
-#if _LIBCPP_STD_VER > 11
-    : __seg_(nullptr), __ctz_(0)
-#endif
-    {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __bit_iterator(const __bit_iterator<_Cp, false>& __it) _NOEXCEPT
-        : __seg_(__it.__seg_), __ctz_(__it.__ctz_) {}
-
-    _LIBCPP_INLINE_VISIBILITY reference operator*() const _NOEXCEPT
-        {return reference(__seg_, __storage_type(1) << __ctz_);}
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator& operator++()
-    {
-        if (__ctz_ != __bits_per_word-1)
-            ++__ctz_;
-        else
-        {
-            __ctz_ = 0;
-            ++__seg_;
-        }
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator operator++(int)
-    {
-        __bit_iterator __tmp = *this;
-        ++(*this);
-        return __tmp;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator& operator--()
-    {
-        if (__ctz_ != 0)
-            --__ctz_;
-        else
-        {
-            __ctz_ = __bits_per_word - 1;
-            --__seg_;
-        }
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator operator--(int)
-    {
-        __bit_iterator __tmp = *this;
-        --(*this);
-        return __tmp;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator& operator+=(difference_type __n)
-    {
-        if (__n >= 0)
-            __seg_ += (__n + __ctz_) / __bits_per_word;
-        else
-            __seg_ += static_cast<difference_type>(__n - __bits_per_word + __ctz_ + 1)
-                    / static_cast<difference_type>(__bits_per_word);
-        __n &= (__bits_per_word - 1);
-        __ctz_ = static_cast<unsigned>((__n + __ctz_)  % __bits_per_word);
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator& operator-=(difference_type __n)
-    {
-        return *this += -__n;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator operator+(difference_type __n) const
-    {
-        __bit_iterator __t(*this);
-        __t += __n;
-        return __t;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator operator-(difference_type __n) const
-    {
-        __bit_iterator __t(*this);
-        __t -= __n;
-        return __t;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    friend __bit_iterator operator+(difference_type __n, const __bit_iterator& __it) {return __it + __n;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    friend difference_type operator-(const __bit_iterator& __x, const __bit_iterator& __y)
-        {return (__x.__seg_ - __y.__seg_) * __bits_per_word + __x.__ctz_ - __y.__ctz_;}
-
-    _LIBCPP_INLINE_VISIBILITY reference operator[](difference_type __n) const {return *(*this + __n);}
-
-    _LIBCPP_INLINE_VISIBILITY friend bool operator==(const __bit_iterator& __x, const __bit_iterator& __y)
-        {return __x.__seg_ == __y.__seg_ && __x.__ctz_ == __y.__ctz_;}
-
-    _LIBCPP_INLINE_VISIBILITY friend bool operator!=(const __bit_iterator& __x, const __bit_iterator& __y)
-        {return !(__x == __y);}
-
-    _LIBCPP_INLINE_VISIBILITY friend bool operator<(const __bit_iterator& __x, const __bit_iterator& __y)
-        {return __x.__seg_ < __y.__seg_ || (__x.__seg_ == __y.__seg_ && __x.__ctz_ < __y.__ctz_);}
-
-    _LIBCPP_INLINE_VISIBILITY friend bool operator>(const __bit_iterator& __x, const __bit_iterator& __y)
-        {return __y < __x;}
-
-    _LIBCPP_INLINE_VISIBILITY friend bool operator<=(const __bit_iterator& __x, const __bit_iterator& __y)
-        {return !(__y < __x);}
-
-    _LIBCPP_INLINE_VISIBILITY friend bool operator>=(const __bit_iterator& __x, const __bit_iterator& __y)
-        {return !(__x < __y);}
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    __bit_iterator(__storage_pointer __s, unsigned __ctz) _NOEXCEPT
-        : __seg_(__s), __ctz_(__ctz) {}
-
-    friend typename _Cp::__self;
-
-    friend class __bit_reference<_Cp>;
-    friend class __bit_const_reference<_Cp>;
-    friend class __bit_iterator<_Cp, true>;
-    template <class _Dp> friend struct __bit_array;
-    template <class _Dp> friend void __fill_n_false(__bit_iterator<_Dp, false> __first, typename _Dp::size_type __n);
-    template <class _Dp> friend void __fill_n_true(__bit_iterator<_Dp, false> __first, typename _Dp::size_type __n);
-    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_aligned(__bit_iterator<_Dp, _IC> __first,
-                                                                                  __bit_iterator<_Dp, _IC> __last,
-                                                                                  __bit_iterator<_Dp, false> __result);
-    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_unaligned(__bit_iterator<_Dp, _IC> __first,
-                                                                                    __bit_iterator<_Dp, _IC> __last,
-                                                                                    __bit_iterator<_Dp, false> __result);
-    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> copy(__bit_iterator<_Dp, _IC> __first,
-                                                                        __bit_iterator<_Dp, _IC> __last,
-                                                                        __bit_iterator<_Dp, false> __result);
-    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_backward_aligned(__bit_iterator<_Dp, _IC> __first,
-                                                                                           __bit_iterator<_Dp, _IC> __last,
-                                                                                           __bit_iterator<_Dp, false> __result);
-    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_backward_unaligned(__bit_iterator<_Dp, _IC> __first,
-                                                                                             __bit_iterator<_Dp, _IC> __last,
-                                                                                             __bit_iterator<_Dp, false> __result);
-    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> copy_backward(__bit_iterator<_Dp, _IC> __first,
-                                                                                 __bit_iterator<_Dp, _IC> __last,
-                                                                                 __bit_iterator<_Dp, false> __result);
-    template <class __C1, class __C2>friend __bit_iterator<__C2, false> __swap_ranges_aligned(__bit_iterator<__C1, false>,
-                                                                                           __bit_iterator<__C1, false>,
-                                                                                           __bit_iterator<__C2, false>);
-    template <class __C1, class __C2>friend __bit_iterator<__C2, false> __swap_ranges_unaligned(__bit_iterator<__C1, false>,
-                                                                                             __bit_iterator<__C1, false>,
-                                                                                             __bit_iterator<__C2, false>);
-    template <class __C1, class __C2>friend __bit_iterator<__C2, false> swap_ranges(__bit_iterator<__C1, false>,
-                                                                                 __bit_iterator<__C1, false>,
-                                                                                 __bit_iterator<__C2, false>);
-    template <class _Dp> friend __bit_iterator<_Dp, false> rotate(__bit_iterator<_Dp, false>,
-                                                                __bit_iterator<_Dp, false>,
-                                                                __bit_iterator<_Dp, false>);
-    template <class _Dp, bool _IC1, bool _IC2> friend bool __equal_aligned(__bit_iterator<_Dp, _IC1>,
-                                                    __bit_iterator<_Dp, _IC1>,
-                                                    __bit_iterator<_Dp, _IC2>);
-    template <class _Dp, bool _IC1, bool _IC2> friend bool __equal_unaligned(__bit_iterator<_Dp, _IC1>,
-                                                      __bit_iterator<_Dp, _IC1>,
-                                                      __bit_iterator<_Dp, _IC2>);
-    template <class _Dp, bool _IC1, bool _IC2> friend bool equal(__bit_iterator<_Dp, _IC1>,
-                                                                __bit_iterator<_Dp, _IC1>,
-                                                                __bit_iterator<_Dp, _IC2>);
-    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, _IC> __find_bool_true(__bit_iterator<_Dp, _IC>,
-                                                                          typename _Dp::size_type);
-    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, _IC> __find_bool_false(__bit_iterator<_Dp, _IC>,
-                                                                           typename _Dp::size_type);
-    template <class _Dp, bool _IC> friend typename __bit_iterator<_Dp, _IC>::difference_type
-                   __count_bool_true(__bit_iterator<_Dp, _IC>, typename _Dp::size_type);
-    template <class _Dp, bool _IC> friend typename __bit_iterator<_Dp, _IC>::difference_type
-                   __count_bool_false(__bit_iterator<_Dp, _IC>, typename _Dp::size_type);
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP___BIT_REFERENCE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__config b/r21/sources/cxx-stl/llvm-libc++/include/__config
deleted file mode 100644
index 961acdb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__config
+++ /dev/null
@@ -1,1431 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- __config ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CONFIG
-#define _LIBCPP_CONFIG
-
-#if defined(_MSC_VER) && !defined(__clang__)
-#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#    define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
-#  endif
-#endif
-
-#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-
-#ifdef __GNUC__
-#  define _GNUC_VER (__GNUC__ * 100 + __GNUC_MINOR__)
-// The _GNUC_VER_NEW macro better represents the new GCC versioning scheme
-// introduced in GCC 5.0.
-#  define _GNUC_VER_NEW (_GNUC_VER * 10 + __GNUC_PATCHLEVEL__)
-#else
-#  define _GNUC_VER 0
-#  define _GNUC_VER_NEW 0
-#endif
-
-#define _LIBCPP_VERSION 10000
-
-#ifndef _LIBCPP_ABI_VERSION
-#  define _LIBCPP_ABI_VERSION 1
-#endif
-
-#ifndef __STDC_HOSTED__
-#  define _LIBCPP_FREESTANDING
-#endif
-
-#ifndef _LIBCPP_STD_VER
-#  if  __cplusplus <= 201103L
-#    define _LIBCPP_STD_VER 11
-#  elif __cplusplus <= 201402L
-#    define _LIBCPP_STD_VER 14
-#  elif __cplusplus <= 201703L
-#    define _LIBCPP_STD_VER 17
-#  else
-#    define _LIBCPP_STD_VER 18  // current year, or date of c++2a ratification
-#  endif
-#endif  // _LIBCPP_STD_VER
-
-#if defined(__ELF__)
-#  define _LIBCPP_OBJECT_FORMAT_ELF   1
-#elif defined(__MACH__)
-#  define _LIBCPP_OBJECT_FORMAT_MACHO 1
-#elif defined(_WIN32)
-#  define _LIBCPP_OBJECT_FORMAT_COFF  1
-#elif defined(__wasm__)
-#  define _LIBCPP_OBJECT_FORMAT_WASM  1
-#else
-#  error Unknown object file format
-#endif
-
-#if defined(_LIBCPP_ABI_UNSTABLE) || _LIBCPP_ABI_VERSION >= 2
-// Change short string representation so that string data starts at offset 0,
-// improving its alignment in some cases.
-#  define _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-// Fix deque iterator type in order to support incomplete types.
-#  define _LIBCPP_ABI_INCOMPLETE_TYPES_IN_DEQUE
-// Fix undefined behavior in how std::list stores its linked nodes.
-#  define _LIBCPP_ABI_LIST_REMOVE_NODE_POINTER_UB
-// Fix undefined behavior in  how __tree stores its end and parent nodes.
-#  define _LIBCPP_ABI_TREE_REMOVE_NODE_POINTER_UB
-// Fix undefined behavior in how __hash_table stores its pointer types.
-#  define _LIBCPP_ABI_FIX_UNORDERED_NODE_POINTER_UB
-#  define _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB
-#  define _LIBCPP_ABI_FIX_UNORDERED_CONTAINER_SIZE_TYPE
-// Don't use a nullptr_t simulation type in C++03 instead using C++11 nullptr
-// provided under the alternate keyword __nullptr, which changes the mangling
-// of nullptr_t. This option is ABI incompatible with GCC in C++03 mode.
-#  define _LIBCPP_ABI_ALWAYS_USE_CXX11_NULLPTR
-// Define the `pointer_safety` enum as a C++11 strongly typed enumeration
-// instead of as a class simulating an enum. If this option is enabled
-// `pointer_safety` and `get_pointer_safety()` will no longer be available
-// in C++03.
-#  define _LIBCPP_ABI_POINTER_SAFETY_ENUM_TYPE
-// Define a key function for `bad_function_call` in the library, to centralize
-// its vtable and typeinfo to libc++ rather than having all other libraries
-// using that class define their own copies.
-#  define _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION
-// Enable optimized version of __do_get_(un)signed which avoids redundant copies.
-#  define _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
-// Use the smallest possible integer type to represent the index of the variant.
-// Previously libc++ used "unsigned int" exclusively.
-#  define _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION
-// Unstable attempt to provide a more optimized std::function
-#  define _LIBCPP_ABI_OPTIMIZED_FUNCTION
-// All the regex constants must be distinct and nonzero.
-#  define _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO
-#elif _LIBCPP_ABI_VERSION == 1
-#  if !defined(_LIBCPP_OBJECT_FORMAT_COFF)
-// Enable compiling copies of now inline methods into the dylib to support
-// applications compiled against older libraries. This is unnecessary with
-// COFF dllexport semantics, since dllexport forces a non-inline definition
-// of inline functions to be emitted anyway. Our own non-inline copy would
-// conflict with the dllexport-emitted copy, so we disable it.
-#    define _LIBCPP_DEPRECATED_ABI_LEGACY_LIBRARY_DEFINITIONS_FOR_INLINE_FUNCTIONS
-#  endif
-// Feature macros for disabling pre ABI v1 features. All of these options
-// are deprecated.
-#  if defined(__FreeBSD__)
-#    define _LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR
-#  endif
-#endif
-
-#ifdef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR
-#error "_LIBCPP_TRIVIAL_PAIR_COPY_CTOR" is no longer supported. \
-       use _LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR instead
-#endif
-
-#define _LIBCPP_CONCAT1(_LIBCPP_X,_LIBCPP_Y) _LIBCPP_X##_LIBCPP_Y
-#define _LIBCPP_CONCAT(_LIBCPP_X,_LIBCPP_Y) _LIBCPP_CONCAT1(_LIBCPP_X,_LIBCPP_Y)
-
-#ifndef _LIBCPP_ABI_NAMESPACE
-# define _LIBCPP_ABI_NAMESPACE _LIBCPP_CONCAT(__ndk,_LIBCPP_ABI_VERSION)
-#endif
-
-#if __cplusplus < 201103L
-#define _LIBCPP_CXX03_LANG
-#endif
-
-#ifndef __has_attribute
-#define __has_attribute(__x) 0
-#endif
-
-#ifndef __has_builtin
-#define __has_builtin(__x) 0
-#endif
-
-#ifndef __has_extension
-#define __has_extension(__x) 0
-#endif
-
-#ifndef __has_feature
-#define __has_feature(__x) 0
-#endif
-
-#ifndef __has_cpp_attribute
-#define __has_cpp_attribute(__x) 0
-#endif
-
-// '__is_identifier' returns '0' if '__x' is a reserved identifier provided by
-// the compiler and '1' otherwise.
-#ifndef __is_identifier
-#define __is_identifier(__x) 1
-#endif
-
-#ifndef __has_declspec_attribute
-#define __has_declspec_attribute(__x) 0
-#endif
-
-#define __has_keyword(__x) !(__is_identifier(__x))
-
-#ifndef __has_include
-#define __has_include(...) 0
-#endif
-
-#if defined(__clang__)
-#  define _LIBCPP_COMPILER_CLANG
-#  ifndef __apple_build_version__
-#    define _LIBCPP_CLANG_VER (__clang_major__ * 100 + __clang_minor__)
-#  endif
-#elif defined(__GNUC__)
-#  define _LIBCPP_COMPILER_GCC
-#elif defined(_MSC_VER)
-#  define _LIBCPP_COMPILER_MSVC
-#elif defined(__IBMCPP__)
-#  define _LIBCPP_COMPILER_IBM
-#endif
-
-#if defined(_LIBCPP_COMPILER_GCC) && __cplusplus < 201103L
-#error "libc++ does not support using GCC with C++03. Please enable C++11"
-#endif
-
-// FIXME: ABI detection should be done via compiler builtin macros. This
-// is just a placeholder until Clang implements such macros. For now assume
-// that Windows compilers pretending to be MSVC++ target the Microsoft ABI,
-// and allow the user to explicitly specify the ABI to handle cases where this
-// heuristic falls short.
-#if defined(_LIBCPP_ABI_FORCE_ITANIUM) && defined(_LIBCPP_ABI_FORCE_MICROSOFT)
-#  error "Only one of _LIBCPP_ABI_FORCE_ITANIUM and _LIBCPP_ABI_FORCE_MICROSOFT can be defined"
-#elif defined(_LIBCPP_ABI_FORCE_ITANIUM)
-#  define _LIBCPP_ABI_ITANIUM
-#elif defined(_LIBCPP_ABI_FORCE_MICROSOFT)
-#  define _LIBCPP_ABI_MICROSOFT
-#else
-#  if defined(_WIN32) && defined(_MSC_VER)
-#    define _LIBCPP_ABI_MICROSOFT
-#  else
-#    define _LIBCPP_ABI_ITANIUM
-#  endif
-#endif
-
-#if defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_NO_VCRUNTIME)
-# define _LIBCPP_ABI_VCRUNTIME
-#endif
-
-// Need to detect which libc we're using if we're on Linux.
-#if defined(__linux__)
-#  include <features.h>
-#  if defined(__GLIBC_PREREQ)
-#    define _LIBCPP_GLIBC_PREREQ(a, b) __GLIBC_PREREQ(a, b)
-#  else
-#    define _LIBCPP_GLIBC_PREREQ(a, b) 0
-#  endif // defined(__GLIBC_PREREQ)
-#endif // defined(__linux__)
-
-#ifdef __LITTLE_ENDIAN__
-#  if __LITTLE_ENDIAN__
-#    define _LIBCPP_LITTLE_ENDIAN
-#  endif  // __LITTLE_ENDIAN__
-#endif  // __LITTLE_ENDIAN__
-
-#ifdef __BIG_ENDIAN__
-#  if __BIG_ENDIAN__
-#    define _LIBCPP_BIG_ENDIAN
-#  endif  // __BIG_ENDIAN__
-#endif  // __BIG_ENDIAN__
-
-#ifdef __BYTE_ORDER__
-#  if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-#    define _LIBCPP_LITTLE_ENDIAN
-#  elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-#    define _LIBCPP_BIG_ENDIAN
-#  endif // __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-#endif // __BYTE_ORDER__
-
-#ifdef __FreeBSD__
-#  include <sys/endian.h>
-#  if _BYTE_ORDER == _LITTLE_ENDIAN
-#    define _LIBCPP_LITTLE_ENDIAN
-#  else  // _BYTE_ORDER == _LITTLE_ENDIAN
-#    define _LIBCPP_BIG_ENDIAN
-#  endif  // _BYTE_ORDER == _LITTLE_ENDIAN
-#  ifndef __LONG_LONG_SUPPORTED
-#    define _LIBCPP_HAS_NO_LONG_LONG
-#  endif  // __LONG_LONG_SUPPORTED
-#endif  // __FreeBSD__
-
-#ifdef __NetBSD__
-#  include <sys/endian.h>
-#  if _BYTE_ORDER == _LITTLE_ENDIAN
-#    define _LIBCPP_LITTLE_ENDIAN
-#  else  // _BYTE_ORDER == _LITTLE_ENDIAN
-#    define _LIBCPP_BIG_ENDIAN
-#  endif  // _BYTE_ORDER == _LITTLE_ENDIAN
-#  define _LIBCPP_HAS_QUICK_EXIT
-#endif  // __NetBSD__
-
-#if defined(_WIN32)
-#  define _LIBCPP_WIN32API
-#  define _LIBCPP_LITTLE_ENDIAN
-#  define _LIBCPP_SHORT_WCHAR   1
-// Both MinGW and native MSVC provide a "MSVC"-like environment
-#  define _LIBCPP_MSVCRT_LIKE
-// If mingw not explicitly detected, assume using MS C runtime only if
-// a MS compatibility version is specified.
-#  if defined(_MSC_VER) && !defined(__MINGW32__)
-#    define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library
-#  endif
-#  if (defined(_M_AMD64) || defined(__x86_64__)) || (defined(_M_ARM) || defined(__arm__))
-#    define _LIBCPP_HAS_BITSCAN64
-#  endif
-#  define _LIBCPP_HAS_OPEN_WITH_WCHAR
-#  if defined(_LIBCPP_MSVCRT)
-#    define _LIBCPP_HAS_QUICK_EXIT
-#  endif
-
-// Some CRT APIs are unavailable to store apps
-#  if defined(WINAPI_FAMILY)
-#    include <winapifamily.h>
-#    if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) &&                  \
-        (!defined(WINAPI_PARTITION_SYSTEM) ||                                  \
-         !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_SYSTEM))
-#      define _LIBCPP_WINDOWS_STORE_APP
-#    endif
-#  endif
-#endif // defined(_WIN32)
-
-#ifdef __sun__
-#  include <sys/isa_defs.h>
-#  ifdef _LITTLE_ENDIAN
-#    define _LIBCPP_LITTLE_ENDIAN
-#  else
-#    define _LIBCPP_BIG_ENDIAN
-#  endif
-#endif // __sun__
-
-#if defined(__CloudABI__)
-   // Certain architectures provide arc4random(). Prefer using
-   // arc4random() over /dev/{u,}random to make it possible to obtain
-   // random data even when using sandboxing mechanisms such as chroots,
-   // Capsicum, etc.
-#  define _LIBCPP_USING_ARC4_RANDOM
-#elif defined(__Fuchsia__) || defined(__wasi__)
-#  define _LIBCPP_USING_GETENTROPY
-#elif defined(__native_client__)
-   // NaCl's sandbox (which PNaCl also runs in) doesn't allow filesystem access,
-   // including accesses to the special files under /dev. C++11's
-   // std::random_device is instead exposed through a NaCl syscall.
-#  define _LIBCPP_USING_NACL_RANDOM
-#elif defined(_LIBCPP_WIN32API)
-#  define _LIBCPP_USING_WIN32_RANDOM
-#else
-#  define _LIBCPP_USING_DEV_RANDOM
-#endif
-
-#if !defined(_LIBCPP_LITTLE_ENDIAN) && !defined(_LIBCPP_BIG_ENDIAN)
-#  include <endian.h>
-#  if __BYTE_ORDER == __LITTLE_ENDIAN
-#    define _LIBCPP_LITTLE_ENDIAN
-#  elif __BYTE_ORDER == __BIG_ENDIAN
-#    define _LIBCPP_BIG_ENDIAN
-#  else  // __BYTE_ORDER == __BIG_ENDIAN
-#    error unable to determine endian
-#  endif
-#endif  // !defined(_LIBCPP_LITTLE_ENDIAN) && !defined(_LIBCPP_BIG_ENDIAN)
-
-#if __has_attribute(__no_sanitize__) && !defined(_LIBCPP_COMPILER_GCC)
-#  define _LIBCPP_NO_CFI __attribute__((__no_sanitize__("cfi")))
-#else
-#  define _LIBCPP_NO_CFI
-#endif
-
-#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L
-#  if defined(__FreeBSD__)
-#    define _LIBCPP_HAS_QUICK_EXIT
-#    define _LIBCPP_HAS_C11_FEATURES
-#  elif defined(__Fuchsia__) || defined(__wasi__)
-#    define _LIBCPP_HAS_QUICK_EXIT
-#    define _LIBCPP_HAS_TIMESPEC_GET
-#    define _LIBCPP_HAS_C11_FEATURES
-#  elif defined(__linux__)
-#    if !defined(_LIBCPP_HAS_MUSL_LIBC)
-#      if _LIBCPP_GLIBC_PREREQ(2, 15) || defined(__BIONIC__)
-#        define _LIBCPP_HAS_QUICK_EXIT
-#      endif
-#      if _LIBCPP_GLIBC_PREREQ(2, 17)
-#        define _LIBCPP_HAS_C11_FEATURES
-#        define _LIBCPP_HAS_TIMESPEC_GET
-#      endif
-#    else // defined(_LIBCPP_HAS_MUSL_LIBC)
-#      define _LIBCPP_HAS_QUICK_EXIT
-#      define _LIBCPP_HAS_TIMESPEC_GET
-#      define _LIBCPP_HAS_C11_FEATURES
-#    endif
-#  endif // __linux__
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-# define _LIBCPP_ALIGNOF(_Tp) alignof(_Tp)
-#elif defined(_LIBCPP_COMPILER_CLANG)
-# define _LIBCPP_ALIGNOF(_Tp) _Alignof(_Tp)
-#else
-// This definition is potentially buggy, but it's only taken with GCC in C++03,
-// which we barely support anyway. See llvm.org/PR39713
-# define _LIBCPP_ALIGNOF(_Tp) __alignof(_Tp)
-#endif
-
-#define _LIBCPP_PREFERRED_ALIGNOF(_Tp) __alignof(_Tp)
-
-#if defined(_LIBCPP_COMPILER_CLANG)
-
-// _LIBCPP_ALTERNATE_STRING_LAYOUT is an old name for
-// _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT left here for backward compatibility.
-#if (defined(__APPLE__) && !defined(__i386__) && !defined(__x86_64__) &&       \
-     (!defined(__arm__) || __ARM_ARCH_7K__ >= 2)) ||                           \
-    defined(_LIBCPP_ALTERNATE_STRING_LAYOUT)
-#define _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-#endif
-
-#if __has_feature(cxx_alignas)
-#  define _ALIGNAS_TYPE(x) alignas(x)
-#  define _ALIGNAS(x) alignas(x)
-#else
-#  define _ALIGNAS_TYPE(x) __attribute__((__aligned__(_LIBCPP_ALIGNOF(x))))
-#  define _ALIGNAS(x) __attribute__((__aligned__(x)))
-#endif
-
-#if __cplusplus < 201103L
-typedef __char16_t char16_t;
-typedef __char32_t char32_t;
-#endif
-
-#if !(__has_feature(cxx_exceptions)) && !defined(_LIBCPP_NO_EXCEPTIONS)
-#define _LIBCPP_NO_EXCEPTIONS
-#endif
-
-#if !(__has_feature(cxx_rtti)) && !defined(_LIBCPP_NO_RTTI)
-#define _LIBCPP_NO_RTTI
-#endif
-
-#if !(__has_feature(cxx_strong_enums))
-#define _LIBCPP_HAS_NO_STRONG_ENUMS
-#endif
-
-#if __has_feature(cxx_attributes)
-#  define _LIBCPP_NORETURN [[noreturn]]
-#else
-#  define _LIBCPP_NORETURN __attribute__ ((noreturn))
-#endif
-
-#if !(__has_feature(cxx_lambdas))
-#define _LIBCPP_HAS_NO_LAMBDAS
-#endif
-
-#if !(__has_feature(cxx_nullptr))
-#  if (__has_extension(cxx_nullptr) || __has_keyword(__nullptr)) && defined(_LIBCPP_ABI_ALWAYS_USE_CXX11_NULLPTR)
-#    define nullptr __nullptr
-#  else
-#    define _LIBCPP_HAS_NO_NULLPTR
-#  endif
-#endif
-
-#if !(__has_feature(cxx_rvalue_references))
-#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#endif
-
-#if !(__has_feature(cxx_auto_type))
-#define _LIBCPP_HAS_NO_AUTO_TYPE
-#endif
-
-#if !(__has_feature(cxx_variadic_templates))
-#define _LIBCPP_HAS_NO_VARIADICS
-#endif
-
-// Objective-C++ features (opt-in)
-#if __has_feature(objc_arc)
-#define _LIBCPP_HAS_OBJC_ARC
-#endif
-
-#if __has_feature(objc_arc_weak)
-#define _LIBCPP_HAS_OBJC_ARC_WEAK
-#endif
-
-#if !(__has_feature(cxx_relaxed_constexpr))
-#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
-#endif
-
-#if !(__has_feature(cxx_variable_templates))
-#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
-#endif
-
-#if !(__has_feature(cxx_noexcept))
-#define _LIBCPP_HAS_NO_NOEXCEPT
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_ASAN) && !__has_feature(address_sanitizer)
-#define _LIBCPP_HAS_NO_ASAN
-#endif
-
-// Allow for build-time disabling of unsigned integer sanitization
-#if !defined(_LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK) && __has_attribute(no_sanitize)
-#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK __attribute__((__no_sanitize__("unsigned-integer-overflow")))
-#endif
-
-#if __has_builtin(__builtin_launder)
-#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER
-#endif
-
-#if !__is_identifier(__has_unique_object_representations)
-#define _LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS
-#endif
-
-#define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__))
-
-// Literal operators ""d and ""y are supported starting with LLVM Clang 8 and AppleClang 10.0.1
-#if (defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER < 800) || \
-    (defined(__apple_build_version__) && __apple_build_version__ < 10010000)
-#define _LIBCPP_HAS_NO_CXX20_CHRONO_LITERALS
-#endif
-
-#elif defined(_LIBCPP_COMPILER_GCC)
-
-#define _ALIGNAS(x) __attribute__((__aligned__(x)))
-#define _ALIGNAS_TYPE(x) __attribute__((__aligned__(_LIBCPP_ALIGNOF(x))))
-
-#define _LIBCPP_NORETURN __attribute__((noreturn))
-
-#if !__EXCEPTIONS && !defined(_LIBCPP_NO_EXCEPTIONS)
-#define _LIBCPP_NO_EXCEPTIONS
-#endif
-
-// Determine if GCC supports relaxed constexpr
-#if !defined(__cpp_constexpr) || __cpp_constexpr < 201304L
-#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
-#endif
-
-// GCC 5 supports variable templates
-#if !defined(__cpp_variable_templates) || __cpp_variable_templates < 201304L
-#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_ASAN) && !defined(__SANITIZE_ADDRESS__)
-#define _LIBCPP_HAS_NO_ASAN
-#endif
-
-#if _GNUC_VER >= 700
-#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER
-#endif
-
-#if _GNUC_VER >= 700
-#define _LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS
-#endif
-
-#define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__))
-
-#elif defined(_LIBCPP_COMPILER_MSVC)
-
-#define _LIBCPP_TOSTRING2(x) #x
-#define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x)
-#define _LIBCPP_WARNING(x) __pragma(message(__FILE__ "(" _LIBCPP_TOSTRING(__LINE__) ") : warning note: " x))
-
-#if _MSC_VER < 1900
-#error "MSVC versions prior to Visual Studio 2015 are not supported"
-#endif
-
-#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
-#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
-#define __alignof__ __alignof
-#define _LIBCPP_NORETURN __declspec(noreturn)
-#define _ALIGNAS(x) __declspec(align(x))
-#define _ALIGNAS_TYPE(x) alignas(x)
-
-#define _LIBCPP_WEAK
-
-#define _LIBCPP_HAS_NO_ASAN
-
-#define _LIBCPP_ALWAYS_INLINE __forceinline
-
-#define _LIBCPP_HAS_NO_VECTOR_EXTENSION
-
-#elif defined(_LIBCPP_COMPILER_IBM)
-
-#define _ALIGNAS(x) __attribute__((__aligned__(x)))
-#define _ALIGNAS_TYPE(x) __attribute__((__aligned__(_LIBCPP_ALIGNOF(x))))
-#define _ATTRIBUTE(x) __attribute__((x))
-#define _LIBCPP_NORETURN __attribute__((noreturn))
-
-#define _LIBCPP_HAS_NO_UNICODE_CHARS
-#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
-
-#if defined(_AIX)
-#define __MULTILOCALE_API
-#endif
-
-#define _LIBCPP_HAS_NO_ASAN
-
-#define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__))
-
-#define _LIBCPP_HAS_NO_VECTOR_EXTENSION
-
-#endif // _LIBCPP_COMPILER_[CLANG|GCC|MSVC|IBM]
-
-#if defined(_LIBCPP_OBJECT_FORMAT_COFF)
-
-#ifdef _DLL
-#  define _LIBCPP_CRT_FUNC __declspec(dllimport)
-#else
-#  define _LIBCPP_CRT_FUNC
-#endif
-
-#if defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-#  define _LIBCPP_DLL_VIS
-#  define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
-#  define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
-#  define _LIBCPP_OVERRIDABLE_FUNC_VIS
-#  define _LIBCPP_EXPORTED_FROM_ABI
-#elif defined(_LIBCPP_BUILDING_LIBRARY)
-#  define _LIBCPP_DLL_VIS __declspec(dllexport)
-#  if defined(__MINGW32__)
-#    define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_DLL_VIS
-#    define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
-#  else
-#    define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
-#    define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS _LIBCPP_DLL_VIS
-#  endif
-#  define _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_DLL_VIS
-#  define _LIBCPP_EXPORTED_FROM_ABI __declspec(dllexport)
-#else
-#  define _LIBCPP_DLL_VIS __declspec(dllimport)
-#  define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_DLL_VIS
-#  define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
-#  define _LIBCPP_OVERRIDABLE_FUNC_VIS
-#  define _LIBCPP_EXPORTED_FROM_ABI __declspec(dllimport)
-#endif
-
-#define _LIBCPP_TYPE_VIS            _LIBCPP_DLL_VIS
-#define _LIBCPP_FUNC_VIS            _LIBCPP_DLL_VIS
-#define _LIBCPP_EXCEPTION_ABI       _LIBCPP_DLL_VIS
-#define _LIBCPP_HIDDEN
-#define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-#define _LIBCPP_TEMPLATE_VIS
-#define _LIBCPP_ENUM_VIS
-
-#endif // defined(_LIBCPP_OBJECT_FORMAT_COFF)
-
-#ifndef _LIBCPP_HIDDEN
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-#    define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden")))
-#  else
-#    define _LIBCPP_HIDDEN
-#  endif
-#endif
-
-#ifndef _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-// The inline should be removed once PR32114 is resolved
-#    define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS inline _LIBCPP_HIDDEN
-#  else
-#    define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-#  endif
-#endif
-
-#ifndef _LIBCPP_FUNC_VIS
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-#    define _LIBCPP_FUNC_VIS __attribute__ ((__visibility__("default")))
-#  else
-#    define _LIBCPP_FUNC_VIS
-#  endif
-#endif
-
-#ifndef _LIBCPP_TYPE_VIS
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-#    define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default")))
-#  else
-#    define _LIBCPP_TYPE_VIS
-#  endif
-#endif
-
-#ifndef _LIBCPP_TEMPLATE_VIS
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-#    if __has_attribute(__type_visibility__)
-#      define _LIBCPP_TEMPLATE_VIS __attribute__ ((__type_visibility__("default")))
-#    else
-#      define _LIBCPP_TEMPLATE_VIS __attribute__ ((__visibility__("default")))
-#    endif
-#  else
-#    define _LIBCPP_TEMPLATE_VIS
-#  endif
-#endif
-
-#ifndef _LIBCPP_EXPORTED_FROM_ABI
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-#    define _LIBCPP_EXPORTED_FROM_ABI __attribute__((__visibility__("default")))
-#  else
-#    define _LIBCPP_EXPORTED_FROM_ABI
-#  endif
-#endif
-
-#ifndef _LIBCPP_OVERRIDABLE_FUNC_VIS
-#define _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_FUNC_VIS
-#endif
-
-#ifndef _LIBCPP_EXCEPTION_ABI
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-#    define _LIBCPP_EXCEPTION_ABI __attribute__ ((__visibility__("default")))
-#  else
-#    define _LIBCPP_EXCEPTION_ABI
-#  endif
-#endif
-
-#ifndef _LIBCPP_ENUM_VIS
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) && __has_attribute(__type_visibility__)
-#    define _LIBCPP_ENUM_VIS __attribute__ ((__type_visibility__("default")))
-#  else
-#    define _LIBCPP_ENUM_VIS
-#  endif
-#endif
-
-#ifndef _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) && __has_attribute(__type_visibility__)
-#    define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __attribute__ ((__visibility__("default")))
-#  else
-#    define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
-#  endif
-#endif
-
-#ifndef _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
-#define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
-#endif
-
-#if __has_attribute(internal_linkage)
-#  define _LIBCPP_INTERNAL_LINKAGE __attribute__ ((internal_linkage))
-#else
-#  define _LIBCPP_INTERNAL_LINKAGE _LIBCPP_ALWAYS_INLINE
-#endif
-
-#if __has_attribute(exclude_from_explicit_instantiation)
-#  define _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION __attribute__ ((__exclude_from_explicit_instantiation__))
-#else
-   // Try to approximate the effect of exclude_from_explicit_instantiation
-   // (which is that entities are not assumed to be provided by explicit
-   // template instantiations in the dylib) by always inlining those entities.
-#  define _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION _LIBCPP_ALWAYS_INLINE
-#endif
-
-#ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU
-#  ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT
-#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 0
-#  else
-#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 1
-#  endif
-#endif
-
-#ifndef _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT
-# ifdef _LIBCPP_OBJECT_FORMAT_COFF // Windows binaries can't merge typeinfos.
-# define _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT 0
-#else
-// TODO: This isn't strictly correct on ELF platforms due to llvm.org/PR37398
-// And we should consider defaulting to OFF.
-# define _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT 1
-#endif
-#endif
-
-#ifndef _LIBCPP_HIDE_FROM_ABI
-#  if _LIBCPP_HIDE_FROM_ABI_PER_TU
-#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_INTERNAL_LINKAGE
-#  else
-#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
-#  endif
-#endif
-
-#ifdef _LIBCPP_BUILDING_LIBRARY
-#  if _LIBCPP_ABI_VERSION > 1
-#    define _LIBCPP_HIDE_FROM_ABI_AFTER_V1 _LIBCPP_HIDE_FROM_ABI
-#  else
-#    define _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-#  endif
-#else
-#  define _LIBCPP_HIDE_FROM_ABI_AFTER_V1 _LIBCPP_HIDE_FROM_ABI
-#endif
-
-// Just so we can migrate to the new macros gradually.
-#define _LIBCPP_INLINE_VISIBILITY _LIBCPP_HIDE_FROM_ABI
-
-// Inline namespaces are available in Clang/GCC/MSVC regardless of C++ dialect.
-#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { inline namespace _LIBCPP_ABI_NAMESPACE {
-#define _LIBCPP_END_NAMESPACE_STD  } }
-#define _VSTD std::_LIBCPP_ABI_NAMESPACE
-_LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER >= 17
-#define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM \
-  _LIBCPP_BEGIN_NAMESPACE_STD inline namespace __fs { namespace filesystem {
-#else
-#define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM \
-  _LIBCPP_BEGIN_NAMESPACE_STD namespace __fs { namespace filesystem {
-#endif
-
-#define _LIBCPP_END_NAMESPACE_FILESYSTEM \
-  _LIBCPP_END_NAMESPACE_STD } }
-
-#define _VSTD_FS _VSTD::__fs::filesystem
-
-#ifndef _LIBCPP_PREFERRED_OVERLOAD
-#  if __has_attribute(__enable_if__)
-#    define _LIBCPP_PREFERRED_OVERLOAD __attribute__ ((__enable_if__(true, "")))
-#  endif
-#endif
-
-#ifndef _LIBCPP_HAS_NO_NOEXCEPT
-#  define _NOEXCEPT noexcept
-#  define _NOEXCEPT_(x) noexcept(x)
-#else
-#  define _NOEXCEPT throw()
-#  define _NOEXCEPT_(x)
-#endif
-
-#ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
-typedef unsigned short char16_t;
-typedef unsigned int   char32_t;
-#endif  // _LIBCPP_HAS_NO_UNICODE_CHARS
-
-#ifndef __SIZEOF_INT128__
-#define _LIBCPP_HAS_NO_INT128
-#endif
-
-#ifdef _LIBCPP_CXX03_LANG
-# define static_assert(...) _Static_assert(__VA_ARGS__)
-# define decltype(...) __decltype(__VA_ARGS__)
-#endif  // _LIBCPP_CXX03_LANG
-
-#ifdef _LIBCPP_CXX03_LANG
-#  define _LIBCPP_CONSTEXPR
-#else
-#  define _LIBCPP_CONSTEXPR constexpr
-#endif
-
-#ifdef _LIBCPP_CXX03_LANG
-#  define _LIBCPP_DEFAULT {}
-#else
-#  define _LIBCPP_DEFAULT = default;
-#endif
-
-#ifdef _LIBCPP_CXX03_LANG
-#  define _LIBCPP_EQUAL_DELETE
-#else
-#  define _LIBCPP_EQUAL_DELETE = delete
-#endif
-
-#ifdef __GNUC__
-#  define _LIBCPP_NOALIAS __attribute__((__malloc__))
-#else
-#  define _LIBCPP_NOALIAS
-#endif
-
-#if __has_feature(cxx_explicit_conversions) || defined(__IBMCPP__) || \
-    (!defined(_LIBCPP_CXX03_LANG) && defined(__GNUC__)) // All supported GCC versions
-#  define _LIBCPP_EXPLICIT explicit
-#else
-#  define _LIBCPP_EXPLICIT
-#endif
-
-#if !__has_builtin(__builtin_operator_new) || !__has_builtin(__builtin_operator_delete)
-#define _LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE
-#endif
-
-#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
-#  define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_TYPE_VIS x { enum __lx
-#  define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \
-     __lx __v_; \
-     _LIBCPP_INLINE_VISIBILITY x(__lx __v) : __v_(__v) {} \
-     _LIBCPP_INLINE_VISIBILITY explicit x(int __v) : __v_(static_cast<__lx>(__v)) {} \
-     _LIBCPP_INLINE_VISIBILITY operator int() const {return __v_;} \
-     };
-#else  // _LIBCPP_HAS_NO_STRONG_ENUMS
-#  define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_ENUM_VIS x
-#  define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x)
-#endif  // _LIBCPP_HAS_NO_STRONG_ENUMS
-
-#ifdef _LIBCPP_DEBUG
-#  if _LIBCPP_DEBUG == 0
-#    define _LIBCPP_DEBUG_LEVEL 1
-#  elif _LIBCPP_DEBUG == 1
-#    define _LIBCPP_DEBUG_LEVEL 2
-#  else
-#    error Supported values for _LIBCPP_DEBUG are 0 and 1
-#  endif
-#  if !defined(_LIBCPP_BUILDING_LIBRARY)
-#    define _LIBCPP_EXTERN_TEMPLATE(...)
-#  endif
-#endif
-
-#ifdef _LIBCPP_DISABLE_EXTERN_TEMPLATE
-#define _LIBCPP_EXTERN_TEMPLATE(...)
-#define _LIBCPP_EXTERN_TEMPLATE2(...)
-#endif
-
-#ifndef _LIBCPP_EXTERN_TEMPLATE
-#define _LIBCPP_EXTERN_TEMPLATE(...)
-#endif
-
-#ifndef _LIBCPP_EXTERN_TEMPLATE2
-#define _LIBCPP_EXTERN_TEMPLATE2(...) extern template __VA_ARGS__;
-#endif
-
-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_LIBCPP_MSVCRT_LIKE) || \
-    defined(__sun__) || defined(__NetBSD__) || defined(__CloudABI__)
-#define _LIBCPP_LOCALE__L_EXTENSIONS 1
-#endif
-
-#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
-// Most unix variants have catopen.  These are the specific ones that don't.
-#  if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION)
-#    define _LIBCPP_HAS_CATOPEN 1
-#  endif
-#endif
-
-#ifdef __FreeBSD__
-#define _DECLARE_C99_LDBL_MATH 1
-#endif
-
-// If we are getting operator new from the MSVC CRT, then allocation overloads
-// for align_val_t were added in 19.12, aka VS 2017 version 15.3.
-#if defined(_LIBCPP_MSVCRT) && defined(_MSC_VER) && _MSC_VER < 1912
-#  define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
-#elif defined(_LIBCPP_ABI_VCRUNTIME) && !defined(__cpp_aligned_new)
-   // We're deferring to Microsoft's STL to provide aligned new et al. We don't
-   // have it unless the language feature test macro is defined.
-#  define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
-#endif
-
-#if defined(__APPLE__)
-#  if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \
-      defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
-#    define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
-#  endif
-#endif // defined(__APPLE__)
-
-#if !defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION) && \
-    (defined(_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION) || \
-    (!defined(__cpp_aligned_new) || __cpp_aligned_new < 201606))
-#  define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
-#endif
-
-#if defined(__APPLE__) || defined(__FreeBSD__)
-#define _LIBCPP_HAS_DEFAULTRUNELOCALE
-#endif
-
-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)
-#define _LIBCPP_WCTYPE_IS_MASK
-#endif
-
-#if _LIBCPP_STD_VER <= 17 || !defined(__cpp_char8_t)
-#define _LIBCPP_NO_HAS_CHAR8_T
-#endif
-
-// Deprecation macros.
-//
-// Deprecations warnings are always enabled, except when users explicitly opt-out
-// by defining _LIBCPP_DISABLE_DEPRECATION_WARNINGS.
-#if !defined(_LIBCPP_DISABLE_DEPRECATION_WARNINGS)
-#  if __has_attribute(deprecated)
-#    define _LIBCPP_DEPRECATED __attribute__ ((deprecated))
-#  elif _LIBCPP_STD_VER > 11
-#    define _LIBCPP_DEPRECATED [[deprecated]]
-#  else
-#    define _LIBCPP_DEPRECATED
-#  endif
-#else
-#  define _LIBCPP_DEPRECATED
-#endif
-
-#if !defined(_LIBCPP_CXX03_LANG)
-#  define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED
-#else
-#  define _LIBCPP_DEPRECATED_IN_CXX11
-#endif
-
-#if _LIBCPP_STD_VER >= 14
-#  define _LIBCPP_DEPRECATED_IN_CXX14 _LIBCPP_DEPRECATED
-#else
-#  define _LIBCPP_DEPRECATED_IN_CXX14
-#endif
-
-#if _LIBCPP_STD_VER >= 17
-#  define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
-#else
-#  define _LIBCPP_DEPRECATED_IN_CXX17
-#endif
-
-#if _LIBCPP_STD_VER <= 11
-#  define _LIBCPP_EXPLICIT_AFTER_CXX11
-#else
-#  define _LIBCPP_EXPLICIT_AFTER_CXX11 explicit
-#endif
-
-#if _LIBCPP_STD_VER > 11 && !defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
-#  define _LIBCPP_CONSTEXPR_AFTER_CXX11 constexpr
-#else
-#  define _LIBCPP_CONSTEXPR_AFTER_CXX11
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
-#  define _LIBCPP_CONSTEXPR_AFTER_CXX14 constexpr
-#else
-#  define _LIBCPP_CONSTEXPR_AFTER_CXX14
-#endif
-
-#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
-#  define _LIBCPP_CONSTEXPR_AFTER_CXX17 constexpr
-#else
-#  define _LIBCPP_CONSTEXPR_AFTER_CXX17
-#endif
-
-// The _LIBCPP_NODISCARD_ATTRIBUTE should only be used to define other
-// NODISCARD macros to the correct attribute.
-#if __has_cpp_attribute(nodiscard) || defined(_LIBCPP_COMPILER_MSVC)
-#  define _LIBCPP_NODISCARD_ATTRIBUTE [[nodiscard]]
-#elif defined(_LIBCPP_COMPILER_CLANG) && !defined(_LIBCPP_CXX03_LANG)
-#  define _LIBCPP_NODISCARD_ATTRIBUTE [[clang::warn_unused_result]]
-#else
-// We can't use GCC's [[gnu::warn_unused_result]] and
-// __attribute__((warn_unused_result)), because GCC does not silence them via
-// (void) cast.
-#  define _LIBCPP_NODISCARD_ATTRIBUTE
-#endif
-
-// _LIBCPP_NODISCARD_EXT may be used to apply [[nodiscard]] to entities not
-// specified as such as an extension.
-#if defined(_LIBCPP_ENABLE_NODISCARD) && !defined(_LIBCPP_DISABLE_NODISCARD_EXT)
-#  define _LIBCPP_NODISCARD_EXT _LIBCPP_NODISCARD_ATTRIBUTE
-#else
-#  define _LIBCPP_NODISCARD_EXT
-#endif
-
-#if !defined(_LIBCPP_DISABLE_NODISCARD_AFTER_CXX17) && \
-    (_LIBCPP_STD_VER > 17 || defined(_LIBCPP_ENABLE_NODISCARD))
-#  define _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_NODISCARD_ATTRIBUTE
-#else
-#  define _LIBCPP_NODISCARD_AFTER_CXX17
-#endif
-
-#if _LIBCPP_STD_VER > 14 && defined(__cpp_inline_variables) && (__cpp_inline_variables >= 201606L)
-#  define _LIBCPP_INLINE_VAR inline
-#else
-#  define _LIBCPP_INLINE_VAR
-#endif
-
-#ifdef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#  define _LIBCPP_EXPLICIT_MOVE(x) _VSTD::move(x)
-#else
-#  define _LIBCPP_EXPLICIT_MOVE(x) (x)
-#endif
-
-#ifndef _LIBCPP_CONSTEXPR_IF_NODEBUG
-#if defined(_LIBCPP_DEBUG) || defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
-#define _LIBCPP_CONSTEXPR_IF_NODEBUG
-#else
-#define _LIBCPP_CONSTEXPR_IF_NODEBUG constexpr
-#endif
-#endif
-
-#if __has_attribute(no_destroy)
-#  define _LIBCPP_NO_DESTROY __attribute__((__no_destroy__))
-#else
-#  define _LIBCPP_NO_DESTROY
-#endif
-
-#ifndef _LIBCPP_HAS_NO_ASAN
-_LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(
-  const void *, const void *, const void *, const void *);
-#endif
-
-// Try to find out if RTTI is disabled.
-// g++ and cl.exe have RTTI on by default and define a macro when it is.
-// g++ only defines the macro in 4.3.2 and onwards.
-#if !defined(_LIBCPP_NO_RTTI)
-#  if defined(__GNUC__) && \
-      ((__GNUC__ >= 5) || \
-       (__GNUC__ == 4 && (__GNUC_MINOR__ >= 3 || __GNUC_PATCHLEVEL__ >= 2))) && \
-      !defined(__GXX_RTTI)
-#    define _LIBCPP_NO_RTTI
-#  elif defined(_LIBCPP_COMPILER_MSVC) && !defined(_CPPRTTI)
-#    define _LIBCPP_NO_RTTI
-#  endif
-#endif
-
-#ifndef _LIBCPP_WEAK
-#define _LIBCPP_WEAK __attribute__((__weak__))
-#endif
-
-// Thread API
-#if !defined(_LIBCPP_HAS_NO_THREADS) && \
-    !defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && \
-    !defined(_LIBCPP_HAS_THREAD_API_WIN32) && \
-    !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
-#  if defined(__FreeBSD__) || \
-      defined(__Fuchsia__) || \
-      defined(__wasi__) || \
-      defined(__NetBSD__) || \
-      defined(__linux__) || \
-      defined(__GNU__) || \
-      defined(__APPLE__) || \
-      defined(__CloudABI__) || \
-      defined(__sun__) || \
-      (defined(__MINGW32__) && __has_include(<pthread.h>))
-#    define _LIBCPP_HAS_THREAD_API_PTHREAD
-#  elif defined(_LIBCPP_WIN32API)
-#    define _LIBCPP_HAS_THREAD_API_WIN32
-#  else
-#    error "No thread API"
-#  endif // _LIBCPP_HAS_THREAD_API
-#endif // _LIBCPP_HAS_NO_THREADS
-
-#if defined(_LIBCPP_HAS_NO_THREADS) && defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
-#error _LIBCPP_HAS_THREAD_API_PTHREAD may only be defined when \
-       _LIBCPP_HAS_NO_THREADS is not defined.
-#endif
-
-#if defined(_LIBCPP_HAS_NO_THREADS) && defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
-#error _LIBCPP_HAS_THREAD_API_EXTERNAL may not be defined when \
-       _LIBCPP_HAS_NO_THREADS is defined.
-#endif
-
-#if defined(_LIBCPP_HAS_NO_MONOTONIC_CLOCK) && !defined(_LIBCPP_HAS_NO_THREADS)
-#error _LIBCPP_HAS_NO_MONOTONIC_CLOCK may only be defined when \
-       _LIBCPP_HAS_NO_THREADS is defined.
-#endif
-
-#if defined(__STDCPP_THREADS__) && defined(_LIBCPP_HAS_NO_THREADS)
-#error _LIBCPP_HAS_NO_THREADS cannot be set when __STDCPP_THREADS__ is set.
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(__STDCPP_THREADS__)
-#define __STDCPP_THREADS__ 1
-#endif
-
-// The glibc and Bionic implementation of pthreads implements
-// pthread_mutex_destroy as nop for regular mutexes. Additionally, Win32
-// mutexes have no destroy mechanism.
-//
-// This optimization can't be performed on Apple platforms, where
-// pthread_mutex_destroy can allow the kernel to release resources.
-// See https://llvm.org/D64298 for details.
-//
-// TODO(EricWF): Enable this optimization on Bionic after speaking to their
-//               respective stakeholders.
-#if (defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && defined(__GLIBC__)) \
-  || defined(_LIBCPP_HAS_THREAD_API_WIN32)
-# define _LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION
-#endif
-
-// Destroying a condvar is a nop on Windows.
-//
-// This optimization can't be performed on Apple platforms, where
-// pthread_cond_destroy can allow the kernel to release resources.
-// See https://llvm.org/D64298 for details.
-//
-// TODO(EricWF): This is potentially true for some pthread implementations
-// as well.
-#if defined(_LIBCPP_HAS_THREAD_API_WIN32)
-# define _LIBCPP_HAS_TRIVIAL_CONDVAR_DESTRUCTION
-#endif
-
-// Systems that use capability-based security (FreeBSD with Capsicum,
-// Nuxi CloudABI) may only provide local filesystem access (using *at()).
-// Functions like open(), rename(), unlink() and stat() should not be
-// used, as they attempt to access the global filesystem namespace.
-#ifdef __CloudABI__
-#define _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-#endif
-
-// CloudABI is intended for running networked services. Processes do not
-// have standard input and output channels.
-#ifdef __CloudABI__
-#define _LIBCPP_HAS_NO_STDIN
-#define _LIBCPP_HAS_NO_STDOUT
-#endif
-
-#if defined(__BIONIC__) || defined(__CloudABI__) ||                            \
-    defined(__Fuchsia__) || defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC)
-#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
-#endif
-
-// Thread-unsafe functions such as strtok() and localtime()
-// are not available.
-#ifdef __CloudABI__
-#define _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
-#endif
-
-#if __has_feature(cxx_atomic) || __has_extension(c_atomic) || __has_keyword(_Atomic)
-#  define _LIBCPP_HAS_C_ATOMIC_IMP
-#elif defined(_LIBCPP_COMPILER_GCC)
-#  define _LIBCPP_HAS_GCC_ATOMIC_IMP
-#endif
-
-#if (!defined(_LIBCPP_HAS_C_ATOMIC_IMP) && \
-     !defined(_LIBCPP_HAS_GCC_ATOMIC_IMP) && \
-     !defined(_LIBCPP_HAS_EXTERNAL_ATOMIC_IMP)) \
-     || defined(_LIBCPP_HAS_NO_THREADS)
-#  define _LIBCPP_HAS_NO_ATOMIC_HEADER
-#else
-#  ifndef _LIBCPP_ATOMIC_FLAG_TYPE
-#    define _LIBCPP_ATOMIC_FLAG_TYPE bool
-#  endif
-#  ifdef _LIBCPP_FREESTANDING
-#    define _LIBCPP_ATOMIC_ONLY_USE_BUILTINS
-#  endif
-#endif
-
-#ifndef _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-#endif
-
-#if defined(_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS)
-#  if defined(__clang__) && __has_attribute(acquire_capability)
-// Work around the attribute handling in clang.  When both __declspec and
-// __attribute__ are present, the processing goes awry preventing the definition
-// of the types.
-#    if !defined(_LIBCPP_OBJECT_FORMAT_COFF)
-#      define _LIBCPP_HAS_THREAD_SAFETY_ANNOTATIONS
-#    endif
-#  endif
-#endif
-
-#if __has_attribute(require_constant_initialization)
-#  define _LIBCPP_SAFE_STATIC __attribute__((__require_constant_initialization__))
-#else
-#  define _LIBCPP_SAFE_STATIC
-#endif
-
-#if !__has_builtin(__builtin_addressof) && _GNUC_VER < 700
-#define _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF
-#endif
-
-#if !__has_builtin(__builtin_is_constant_evaluated) && _GNUC_VER < 900
-#define _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS)
-#  if defined(_LIBCPP_MSVCRT) || defined(_NEWLIB_VERSION)
-#    define _LIBCPP_HAS_NO_OFF_T_FUNCTIONS
-#  endif
-#endif
-
-#if __has_attribute(diagnose_if) && !defined(_LIBCPP_DISABLE_ADDITIONAL_DIAGNOSTICS)
-#  define _LIBCPP_DIAGNOSE_WARNING(...) \
-     __attribute__((diagnose_if(__VA_ARGS__, "warning")))
-#  define _LIBCPP_DIAGNOSE_ERROR(...) \
-     __attribute__((diagnose_if(__VA_ARGS__, "error")))
-#else
-#  define _LIBCPP_DIAGNOSE_WARNING(...)
-#  define _LIBCPP_DIAGNOSE_ERROR(...)
-#endif
-
-// Use a function like macro to imply that it must be followed by a semicolon
-#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
-#  define _LIBCPP_FALLTHROUGH() [[fallthrough]]
-#elif __has_cpp_attribute(clang::fallthrough)
-#  define _LIBCPP_FALLTHROUGH() [[clang::fallthrough]]
-#elif __has_attribute(fallthough) || _GNUC_VER >= 700
-#  define _LIBCPP_FALLTHROUGH() __attribute__((__fallthrough__))
-#else
-#  define _LIBCPP_FALLTHROUGH() ((void)0)
-#endif
-
-#if __has_attribute(__nodebug__)
-#define _LIBCPP_NODEBUG __attribute__((__nodebug__))
-#else
-#define _LIBCPP_NODEBUG
-#endif
-
-#ifndef _LIBCPP_NODEBUG_TYPE
-#if __has_attribute(__nodebug__) && \
-    (defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER >= 900)
-#define _LIBCPP_NODEBUG_TYPE __attribute__((nodebug))
-#else
-#define _LIBCPP_NODEBUG_TYPE
-#endif
-#endif // !defined(_LIBCPP_NODEBUG_TYPE)
-
-#if defined(_LIBCPP_ABI_MICROSOFT) && \
-    (defined(_LIBCPP_COMPILER_MSVC) || __has_declspec_attribute(empty_bases))
-#  define _LIBCPP_DECLSPEC_EMPTY_BASES __declspec(empty_bases)
-#else
-#  define _LIBCPP_DECLSPEC_EMPTY_BASES
-#endif
-
-#if defined(_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES)
-#define _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR
-#define _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS
-#define _LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE
-#define _LIBCPP_ENABLE_CXX17_REMOVED_BINDERS
-#endif // _LIBCPP_ENABLE_CXX17_REMOVED_FEATURES
-
-#if !defined(__cpp_deduction_guides) || __cpp_deduction_guides < 201611
-#define _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-#endif
-
-#if !__has_keyword(__is_aggregate) && (_GNUC_VER_NEW < 7001)
-#define _LIBCPP_HAS_NO_IS_AGGREGATE
-#endif
-
-#if !defined(__cpp_coroutines) || __cpp_coroutines < 201703L
-#define _LIBCPP_HAS_NO_COROUTINES
-#endif
-
-// FIXME: Correct this macro when either (A) a feature test macro for the
-// spaceship operator is provided, or (B) a compiler provides a complete
-// implementation.
-#define _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-
-// Decide whether to use availability macros.
-#if !defined(_LIBCPP_BUILDING_LIBRARY) &&                                      \
-    !defined(_LIBCPP_DISABLE_AVAILABILITY) &&                                  \
-    __has_feature(attribute_availability_with_strict) &&                       \
-    __has_feature(attribute_availability_in_templates) &&                      \
-    __has_extension(pragma_clang_attribute_external_declaration)
-#  ifdef __APPLE__
-#    define _LIBCPP_USE_AVAILABILITY_APPLE
-#  endif
-#endif
-
-// Define availability macros.
-#if defined(_LIBCPP_USE_AVAILABILITY_APPLE)
-#  define _LIBCPP_AVAILABILITY_SHARED_MUTEX                                    \
-     __attribute__((availability(macosx,strict,introduced=10.12)))             \
-     __attribute__((availability(ios,strict,introduced=10.0)))                 \
-     __attribute__((availability(tvos,strict,introduced=10.0)))                \
-     __attribute__((availability(watchos,strict,introduced=3.0)))
-#  define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS                             \
-     __attribute__((availability(macosx,strict,introduced=10.14)))             \
-     __attribute__((availability(ios,strict,introduced=12.0)))                 \
-     __attribute__((availability(tvos,strict,introduced=12.0)))                \
-     __attribute__((availability(watchos,strict,introduced=5.0)))
-#  define _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS                              \
-     _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
-#  define _LIBCPP_AVAILABILITY_BAD_ANY_CAST                                    \
-     _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
-#  define _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS                             \
-     __attribute__((availability(macosx,strict,introduced=10.12)))             \
-     __attribute__((availability(ios,strict,introduced=10.0)))                 \
-     __attribute__((availability(tvos,strict,introduced=10.0)))                \
-     __attribute__((availability(watchos,strict,introduced=3.0)))
-#  define _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE                                \
-     __attribute__((availability(macosx,strict,introduced=10.12)))             \
-     __attribute__((availability(ios,strict,introduced=10.0)))                 \
-     __attribute__((availability(tvos,strict,introduced=10.0)))                \
-     __attribute__((availability(watchos,strict,introduced=3.0)))
-#  define _LIBCPP_AVAILABILITY_FUTURE_ERROR                                    \
-     __attribute__((availability(ios,strict,introduced=6.0)))
-#  define _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE                                 \
-     __attribute__((availability(macosx,strict,introduced=10.9)))              \
-     __attribute__((availability(ios,strict,introduced=7.0)))
-#  define _LIBCPP_AVAILABILITY_LOCALE_CATEGORY                                 \
-     __attribute__((availability(macosx,strict,introduced=10.9)))              \
-     __attribute__((availability(ios,strict,introduced=7.0)))
-#  define _LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR                               \
-     __attribute__((availability(macosx,strict,introduced=10.9)))              \
-     __attribute__((availability(ios,strict,introduced=7.0)))
-#  define _LIBCPP_AVAILABILITY_FILESYSTEM                                      \
-     __attribute__((availability(macosx,strict,introduced=10.15)))             \
-     __attribute__((availability(ios,strict,introduced=13.0)))                 \
-     __attribute__((availability(tvos,strict,introduced=13.0)))                \
-     __attribute__((availability(watchos,strict,introduced=6.0)))
-#  define _LIBCPP_AVAILABILITY_FILESYSTEM_PUSH                                 \
-     _Pragma("clang attribute push(__attribute__((availability(macosx,strict,introduced=10.15))), apply_to=any(function,record))") \
-     _Pragma("clang attribute push(__attribute__((availability(ios,strict,introduced=13.0))), apply_to=any(function,record))")     \
-     _Pragma("clang attribute push(__attribute__((availability(tvos,strict,introduced=13.0))), apply_to=any(function,record))")    \
-     _Pragma("clang attribute push(__attribute__((availability(watchos,strict,introduced=6.0))), apply_to=any(function,record))")
-#  define _LIBCPP_AVAILABILITY_FILESYSTEM_POP                                  \
-     _Pragma("clang attribute pop")                                            \
-     _Pragma("clang attribute pop")                                            \
-     _Pragma("clang attribute pop")                                            \
-     _Pragma("clang attribute pop")
-#else
-#  define _LIBCPP_AVAILABILITY_SHARED_MUTEX
-#  define _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS
-#  define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
-#  define _LIBCPP_AVAILABILITY_BAD_ANY_CAST
-#  define _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS
-#  define _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE
-#  define _LIBCPP_AVAILABILITY_FUTURE_ERROR
-#  define _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE
-#  define _LIBCPP_AVAILABILITY_LOCALE_CATEGORY
-#  define _LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-#  define _LIBCPP_AVAILABILITY_FILESYSTEM
-#  define _LIBCPP_AVAILABILITY_FILESYSTEM_PUSH
-#  define _LIBCPP_AVAILABILITY_FILESYSTEM_POP
-#endif
-
-// Define availability that depends on _LIBCPP_NO_EXCEPTIONS.
-#ifdef _LIBCPP_NO_EXCEPTIONS
-#  define _LIBCPP_AVAILABILITY_FUTURE
-#  define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
-#  define _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
-#  define _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-#else
-#  define _LIBCPP_AVAILABILITY_FUTURE                    _LIBCPP_AVAILABILITY_FUTURE_ERROR
-#  define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST        _LIBCPP_AVAILABILITY_BAD_ANY_CAST
-#  define _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
-#  define _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS  _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS
-#endif
-
-// The stream API was dropped and re-added in the dylib shipped on macOS
-// and iOS. We can only assume the dylib to provide these definitions for
-// macosx >= 10.9 and ios >= 7.0. Otherwise, the definitions are available
-// from the headers, but not from the dylib. Explicit instantiation
-// declarations for streams exist conditionally to this; if we provide
-// an explicit instantiation declaration and we try to deploy to a dylib
-// that does not provide those symbols, we'll get a load-time error.
-#if !defined(_LIBCPP_BUILDING_LIBRARY) &&                                      \
-    ((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) &&                \
-      __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1090) ||                 \
-     (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) &&               \
-      __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 70000))
-#  define _LIBCPP_DO_NOT_ASSUME_STREAMS_EXPLICIT_INSTANTIATION_IN_DYLIB
-#endif
-
-#if defined(_LIBCPP_COMPILER_IBM)
-#define _LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO
-#endif
-
-#if defined(_LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO)
-#  define _LIBCPP_PUSH_MACROS
-#  define _LIBCPP_POP_MACROS
-#else
-  // Don't warn about macro conflicts when we can restore them at the
-  // end of the header.
-#  ifndef _LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS
-#    define _LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS
-#  endif
-#  if defined(_LIBCPP_COMPILER_MSVC)
-#    define _LIBCPP_PUSH_MACROS    \
-       __pragma(push_macro("min")) \
-       __pragma(push_macro("max"))
-#    define _LIBCPP_POP_MACROS     \
-       __pragma(pop_macro("min"))  \
-       __pragma(pop_macro("max"))
-#  else
-#    define _LIBCPP_PUSH_MACROS        \
-       _Pragma("push_macro(\"min\")")  \
-       _Pragma("push_macro(\"max\")")
-#    define _LIBCPP_POP_MACROS         \
-       _Pragma("pop_macro(\"min\")")   \
-       _Pragma("pop_macro(\"max\")")
-#  endif
-#endif // defined(_LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO)
-
-#ifndef _LIBCPP_NO_AUTO_LINK
-#  if defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_BUILDING_LIBRARY)
-#    if defined(_DLL)
-#      pragma comment(lib, "c++.lib")
-#    else
-#      pragma comment(lib, "libc++.lib")
-#    endif
-#  endif // defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_BUILDING_LIBRARY)
-#endif // _LIBCPP_NO_AUTO_LINK
-
-#define _LIBCPP_UNUSED_VAR(x) ((void)(x))
-
-#endif // __cplusplus
-
-#endif // _LIBCPP_CONFIG
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__debug b/r21/sources/cxx-stl/llvm-libc++/include/__debug
deleted file mode 100644
index 524c5ff..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__debug
+++ /dev/null
@@ -1,279 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- __debug ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_DEBUG_H
-#define _LIBCPP_DEBUG_H
-
-#include <__config>
-#include <iosfwd>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#if defined(_LIBCPP_HAS_NO_NULLPTR)
-# include <cstddef>
-#endif
-
-#if _LIBCPP_DEBUG_LEVEL >= 1 || defined(_LIBCPP_BUILDING_LIBRARY)
-#   include <cstdlib>
-#   include <cstdio>
-#   include <cstddef>
-#endif
-
-#if _LIBCPP_DEBUG_LEVEL >= 1 && !defined(_LIBCPP_ASSERT)
-# define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : \
-  _VSTD::__libcpp_debug_function(_VSTD::__libcpp_debug_info(__FILE__, __LINE__, #x, m)))
-#endif
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-#ifndef _LIBCPP_DEBUG_ASSERT
-#define _LIBCPP_DEBUG_ASSERT(x, m) _LIBCPP_ASSERT(x, m)
-#endif
-#define _LIBCPP_DEBUG_MODE(...) __VA_ARGS__
-#endif
-
-#ifndef _LIBCPP_ASSERT
-#   define _LIBCPP_ASSERT(x, m) ((void)0)
-#endif
-#ifndef _LIBCPP_DEBUG_ASSERT
-#   define _LIBCPP_DEBUG_ASSERT(x, m) ((void)0)
-#endif
-#ifndef _LIBCPP_DEBUG_MODE
-#define _LIBCPP_DEBUG_MODE(...) ((void)0)
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-struct _LIBCPP_TEMPLATE_VIS __libcpp_debug_info {
-  _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-  __libcpp_debug_info()
-      : __file_(nullptr), __line_(-1), __pred_(nullptr), __msg_(nullptr) {}
-  _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-  __libcpp_debug_info(const char* __f, int __l, const char* __p, const char* __m)
-    : __file_(__f), __line_(__l), __pred_(__p), __msg_(__m) {}
-
-  _LIBCPP_FUNC_VIS std::string what() const;
-
-  const char* __file_;
-  int __line_;
-  const char* __pred_;
-  const char* __msg_;
-};
-
-/// __libcpp_debug_function_type - The type of the assertion failure handler.
-typedef void(*__libcpp_debug_function_type)(__libcpp_debug_info const&);
-
-/// __libcpp_debug_function - The handler function called when a _LIBCPP_ASSERT
-///    fails.
-extern _LIBCPP_EXPORTED_FROM_ABI __libcpp_debug_function_type __libcpp_debug_function;
-
-/// __libcpp_abort_debug_function - A debug handler that aborts when called.
-_LIBCPP_NORETURN _LIBCPP_FUNC_VIS
-void __libcpp_abort_debug_function(__libcpp_debug_info const&);
-
-/// __libcpp_set_debug_function - Set the debug handler to the specified
-///    function.
-_LIBCPP_FUNC_VIS
-bool __libcpp_set_debug_function(__libcpp_debug_function_type __func);
-
-#if _LIBCPP_DEBUG_LEVEL >= 2 || defined(_LIBCPP_BUILDING_LIBRARY)
-
-struct _LIBCPP_TYPE_VIS __c_node;
-
-struct _LIBCPP_TYPE_VIS __i_node
-{
-    void* __i_;
-    __i_node* __next_;
-    __c_node* __c_;
-
-#ifndef _LIBCPP_CXX03_LANG
-    __i_node(const __i_node&) = delete;
-    __i_node& operator=(const __i_node&) = delete;
-#else
-private:
-    __i_node(const __i_node&);
-    __i_node& operator=(const __i_node&);
-public:
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    __i_node(void* __i, __i_node* __next, __c_node* __c)
-        : __i_(__i), __next_(__next), __c_(__c) {}
-    ~__i_node();
-};
-
-struct _LIBCPP_TYPE_VIS __c_node
-{
-    void* __c_;
-    __c_node* __next_;
-    __i_node** beg_;
-    __i_node** end_;
-    __i_node** cap_;
-
-#ifndef _LIBCPP_CXX03_LANG
-    __c_node(const __c_node&) = delete;
-    __c_node& operator=(const __c_node&) = delete;
-#else
-private:
-    __c_node(const __c_node&);
-    __c_node& operator=(const __c_node&);
-public:
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    __c_node(void* __c, __c_node* __next)
-        : __c_(__c), __next_(__next), beg_(nullptr), end_(nullptr), cap_(nullptr) {}
-    virtual ~__c_node();
-
-    virtual bool __dereferenceable(const void*) const = 0;
-    virtual bool __decrementable(const void*) const = 0;
-    virtual bool __addable(const void*, ptrdiff_t) const = 0;
-    virtual bool __subscriptable(const void*, ptrdiff_t) const = 0;
-
-    void __add(__i_node* __i);
-    _LIBCPP_HIDDEN void __remove(__i_node* __i);
-};
-
-template <class _Cont>
-struct _C_node
-    : public __c_node
-{
-    _C_node(void* __c, __c_node* __n)
-        : __c_node(__c, __n) {}
-
-    virtual bool __dereferenceable(const void*) const;
-    virtual bool __decrementable(const void*) const;
-    virtual bool __addable(const void*, ptrdiff_t) const;
-    virtual bool __subscriptable(const void*, ptrdiff_t) const;
-};
-
-template <class _Cont>
-inline bool
-_C_node<_Cont>::__dereferenceable(const void* __i) const
-{
-    typedef typename _Cont::const_iterator iterator;
-    const iterator* __j = static_cast<const iterator*>(__i);
-    _Cont* _Cp = static_cast<_Cont*>(__c_);
-    return _Cp->__dereferenceable(__j);
-}
-
-template <class _Cont>
-inline bool
-_C_node<_Cont>::__decrementable(const void* __i) const
-{
-    typedef typename _Cont::const_iterator iterator;
-    const iterator* __j = static_cast<const iterator*>(__i);
-    _Cont* _Cp = static_cast<_Cont*>(__c_);
-    return _Cp->__decrementable(__j);
-}
-
-template <class _Cont>
-inline bool
-_C_node<_Cont>::__addable(const void* __i, ptrdiff_t __n) const
-{
-    typedef typename _Cont::const_iterator iterator;
-    const iterator* __j = static_cast<const iterator*>(__i);
-    _Cont* _Cp = static_cast<_Cont*>(__c_);
-    return _Cp->__addable(__j, __n);
-}
-
-template <class _Cont>
-inline bool
-_C_node<_Cont>::__subscriptable(const void* __i, ptrdiff_t __n) const
-{
-    typedef typename _Cont::const_iterator iterator;
-    const iterator* __j = static_cast<const iterator*>(__i);
-    _Cont* _Cp = static_cast<_Cont*>(__c_);
-    return _Cp->__subscriptable(__j, __n);
-}
-
-class _LIBCPP_TYPE_VIS __libcpp_db
-{
-    __c_node** __cbeg_;
-    __c_node** __cend_;
-    size_t   __csz_;
-    __i_node** __ibeg_;
-    __i_node** __iend_;
-    size_t   __isz_;
-
-    __libcpp_db();
-public:
-#ifndef _LIBCPP_CXX03_LANG
-    __libcpp_db(const __libcpp_db&) = delete;
-    __libcpp_db& operator=(const __libcpp_db&) = delete;
-#else
-private:
-    __libcpp_db(const __libcpp_db&);
-    __libcpp_db& operator=(const __libcpp_db&);
-public:
-#endif
-    ~__libcpp_db();
-
-    class __db_c_iterator;
-    class __db_c_const_iterator;
-    class __db_i_iterator;
-    class __db_i_const_iterator;
-
-    __db_c_const_iterator __c_end() const;
-    __db_i_const_iterator __i_end() const;
-
-    typedef __c_node*(_InsertConstruct)(void*, void*, __c_node*);
-
-    template <class _Cont>
-    _LIBCPP_INLINE_VISIBILITY static __c_node* __create_C_node(void *__mem, void *__c, __c_node *__next) {
-        return ::new(__mem) _C_node<_Cont>(__c, __next);
-    }
-
-    template <class _Cont>
-    _LIBCPP_INLINE_VISIBILITY
-    void __insert_c(_Cont* __c)
-    {
-        __insert_c(static_cast<void*>(__c), &__create_C_node<_Cont>);
-    }
-
-    void __insert_i(void* __i);
-    void __insert_c(void* __c, _InsertConstruct* __fn);
-    void __erase_c(void* __c);
-
-    void __insert_ic(void* __i, const void* __c);
-    void __iterator_copy(void* __i, const void* __i0);
-    void __erase_i(void* __i);
-
-    void* __find_c_from_i(void* __i) const;
-    void __invalidate_all(void* __c);
-    __c_node* __find_c_and_lock(void* __c) const;
-    __c_node* __find_c(void* __c) const;
-    void unlock() const;
-
-    void swap(void* __c1, void* __c2);
-
-
-    bool __dereferenceable(const void* __i) const;
-    bool __decrementable(const void* __i) const;
-    bool __addable(const void* __i, ptrdiff_t __n) const;
-    bool __subscriptable(const void* __i, ptrdiff_t __n) const;
-    bool __less_than_comparable(const void* __i, const void* __j) const;
-private:
-    _LIBCPP_HIDDEN
-    __i_node* __insert_iterator(void* __i);
-    _LIBCPP_HIDDEN
-    __i_node* __find_iterator(const void* __i) const;
-
-    friend _LIBCPP_FUNC_VIS __libcpp_db* __get_db();
-};
-
-_LIBCPP_FUNC_VIS __libcpp_db* __get_db();
-_LIBCPP_FUNC_VIS const __libcpp_db* __get_const_db();
-
-
-#endif // _LIBCPP_DEBUG_LEVEL >= 2 || defined(_LIBCPP_BUILDING_LIBRARY)
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_DEBUG_H
-
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__functional_03 b/r21/sources/cxx-stl/llvm-libc++/include/__functional_03
deleted file mode 100644
index a90cbb7..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__functional_03
+++ /dev/null
@@ -1,1591 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FUNCTIONAL_03
-#define _LIBCPP_FUNCTIONAL_03
-
-// manual variadic expansion for <functional>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-namespace __function {
-
-template<class _Fp> class __base;
-
-template<class _Rp>
-class __base<_Rp()>
-{
-    __base(const __base&);
-    __base& operator=(const __base&);
-public:
-    __base() {}
-    virtual ~__base() {}
-    virtual __base* __clone() const = 0;
-    virtual void __clone(__base*) const = 0;
-    virtual void destroy() = 0;
-    virtual void destroy_deallocate() = 0;
-    virtual _Rp operator()() = 0;
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const = 0;
-    virtual const std::type_info& target_type() const = 0;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Rp, class _A0>
-class __base<_Rp(_A0)>
-{
-    __base(const __base&);
-    __base& operator=(const __base&);
-public:
-    __base() {}
-    virtual ~__base() {}
-    virtual __base* __clone() const = 0;
-    virtual void __clone(__base*) const = 0;
-    virtual void destroy() = 0;
-    virtual void destroy_deallocate() = 0;
-    virtual _Rp operator()(_A0) = 0;
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const = 0;
-    virtual const std::type_info& target_type() const = 0;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Rp, class _A0, class _A1>
-class __base<_Rp(_A0, _A1)>
-{
-    __base(const __base&);
-    __base& operator=(const __base&);
-public:
-    __base() {}
-    virtual ~__base() {}
-    virtual __base* __clone() const = 0;
-    virtual void __clone(__base*) const = 0;
-    virtual void destroy() = 0;
-    virtual void destroy_deallocate() = 0;
-    virtual _Rp operator()(_A0, _A1) = 0;
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const = 0;
-    virtual const std::type_info& target_type() const = 0;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Rp, class _A0, class _A1, class _A2>
-class __base<_Rp(_A0, _A1, _A2)>
-{
-    __base(const __base&);
-    __base& operator=(const __base&);
-public:
-    __base() {}
-    virtual ~__base() {}
-    virtual __base* __clone() const = 0;
-    virtual void __clone(__base*) const = 0;
-    virtual void destroy() = 0;
-    virtual void destroy_deallocate() = 0;
-    virtual _Rp operator()(_A0, _A1, _A2) = 0;
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const = 0;
-    virtual const std::type_info& target_type() const = 0;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _FD, class _Alloc, class _FB> class __func;
-
-template<class _Fp, class _Alloc, class _Rp>
-class __func<_Fp, _Alloc, _Rp()>
-    : public  __base<_Rp()>
-{
-    __compressed_pair<_Fp, _Alloc> __f_;
-public:
-    explicit __func(_Fp __f) : __f_(_VSTD::move(__f)) {}
-    explicit __func(_Fp __f, _Alloc __a) : __f_(_VSTD::move(__f), _VSTD::move(__a)) {}
-    virtual __base<_Rp()>* __clone() const;
-    virtual void __clone(__base<_Rp()>*) const;
-    virtual void destroy();
-    virtual void destroy_deallocate();
-    virtual _Rp operator()();
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const;
-    virtual const std::type_info& target_type() const;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Fp, class _Alloc, class _Rp>
-__base<_Rp()>*
-__func<_Fp, _Alloc, _Rp()>::__clone() const
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.second());
-    typedef __allocator_destructor<_Ap> _Dp;
-    unique_ptr<__func, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-    ::new (__hold.get()) __func(__f_.first(), _Alloc(__a));
-    return __hold.release();
-}
-
-template<class _Fp, class _Alloc, class _Rp>
-void
-__func<_Fp, _Alloc, _Rp()>::__clone(__base<_Rp()>* __p) const
-{
-    ::new (__p) __func(__f_.first(), __f_.second());
-}
-
-template<class _Fp, class _Alloc, class _Rp>
-void
-__func<_Fp, _Alloc, _Rp()>::destroy()
-{
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-}
-
-template<class _Fp, class _Alloc, class _Rp>
-void
-__func<_Fp, _Alloc, _Rp()>::destroy_deallocate()
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.second());
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-    __a.deallocate(this, 1);
-}
-
-template<class _Fp, class _Alloc, class _Rp>
-_Rp
-__func<_Fp, _Alloc, _Rp()>::operator()()
-{
-    typedef __invoke_void_return_wrapper<_Rp> _Invoker;
-    return _Invoker::__call(__f_.first());
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Fp, class _Alloc, class _Rp>
-const void*
-__func<_Fp, _Alloc, _Rp()>::target(const type_info& __ti) const
-{
-    if (__ti == typeid(_Fp))
-        return &__f_.first();
-    return (const void*)0;
-}
-
-template<class _Fp, class _Alloc, class _Rp>
-const std::type_info&
-__func<_Fp, _Alloc, _Rp()>::target_type() const
-{
-    return typeid(_Fp);
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template<class _Fp, class _Alloc, class _Rp, class _A0>
-class __func<_Fp, _Alloc, _Rp(_A0)>
-    : public  __base<_Rp(_A0)>
-{
-    __compressed_pair<_Fp, _Alloc> __f_;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit __func(_Fp __f) : __f_(_VSTD::move(__f)) {}
-    _LIBCPP_INLINE_VISIBILITY explicit __func(_Fp __f, _Alloc __a)
-        : __f_(_VSTD::move(__f), _VSTD::move(__a)) {}
-    virtual __base<_Rp(_A0)>* __clone() const;
-    virtual void __clone(__base<_Rp(_A0)>*) const;
-    virtual void destroy();
-    virtual void destroy_deallocate();
-    virtual _Rp operator()(_A0);
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const;
-    virtual const std::type_info& target_type() const;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Fp, class _Alloc, class _Rp, class _A0>
-__base<_Rp(_A0)>*
-__func<_Fp, _Alloc, _Rp(_A0)>::__clone() const
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.second());
-    typedef __allocator_destructor<_Ap> _Dp;
-    unique_ptr<__func, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-    ::new (__hold.get()) __func(__f_.first(), _Alloc(__a));
-    return __hold.release();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0>
-void
-__func<_Fp, _Alloc, _Rp(_A0)>::__clone(__base<_Rp(_A0)>* __p) const
-{
-    ::new (__p) __func(__f_.first(), __f_.second());
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0>
-void
-__func<_Fp, _Alloc, _Rp(_A0)>::destroy()
-{
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0>
-void
-__func<_Fp, _Alloc, _Rp(_A0)>::destroy_deallocate()
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.second());
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-    __a.deallocate(this, 1);
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0>
-_Rp
-__func<_Fp, _Alloc, _Rp(_A0)>::operator()(_A0 __a0)
-{
-    typedef __invoke_void_return_wrapper<_Rp> _Invoker;
-    return _Invoker::__call(__f_.first(), __a0);
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Fp, class _Alloc, class _Rp, class _A0>
-const void*
-__func<_Fp, _Alloc, _Rp(_A0)>::target(const type_info& __ti) const
-{
-    if (__ti == typeid(_Fp))
-        return &__f_.first();
-    return (const void*)0;
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0>
-const std::type_info&
-__func<_Fp, _Alloc, _Rp(_A0)>::target_type() const
-{
-    return typeid(_Fp);
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1>
-class __func<_Fp, _Alloc, _Rp(_A0, _A1)>
-    : public  __base<_Rp(_A0, _A1)>
-{
-    __compressed_pair<_Fp, _Alloc> __f_;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit __func(_Fp __f) : __f_(_VSTD::move(__f)) {}
-    _LIBCPP_INLINE_VISIBILITY explicit __func(_Fp __f, _Alloc __a)
-        : __f_(_VSTD::move(__f), _VSTD::move(__a)) {}
-    virtual __base<_Rp(_A0, _A1)>* __clone() const;
-    virtual void __clone(__base<_Rp(_A0, _A1)>*) const;
-    virtual void destroy();
-    virtual void destroy_deallocate();
-    virtual _Rp operator()(_A0, _A1);
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const;
-    virtual const std::type_info& target_type() const;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1>
-__base<_Rp(_A0, _A1)>*
-__func<_Fp, _Alloc, _Rp(_A0, _A1)>::__clone() const
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.second());
-    typedef __allocator_destructor<_Ap> _Dp;
-    unique_ptr<__func, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-    ::new (__hold.get()) __func(__f_.first(), _Alloc(__a));
-    return __hold.release();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1>
-void
-__func<_Fp, _Alloc, _Rp(_A0, _A1)>::__clone(__base<_Rp(_A0, _A1)>* __p) const
-{
-    ::new (__p) __func(__f_.first(), __f_.second());
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1>
-void
-__func<_Fp, _Alloc, _Rp(_A0, _A1)>::destroy()
-{
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1>
-void
-__func<_Fp, _Alloc, _Rp(_A0, _A1)>::destroy_deallocate()
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.second());
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-    __a.deallocate(this, 1);
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1>
-_Rp
-__func<_Fp, _Alloc, _Rp(_A0, _A1)>::operator()(_A0 __a0, _A1 __a1)
-{
-    typedef __invoke_void_return_wrapper<_Rp> _Invoker;
-    return _Invoker::__call(__f_.first(), __a0, __a1);
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1>
-const void*
-__func<_Fp, _Alloc, _Rp(_A0, _A1)>::target(const type_info& __ti) const
-{
-    if (__ti == typeid(_Fp))
-        return &__f_.first();
-    return (const void*)0;
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1>
-const std::type_info&
-__func<_Fp, _Alloc, _Rp(_A0, _A1)>::target_type() const
-{
-    return typeid(_Fp);
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1, class _A2>
-class __func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>
-    : public  __base<_Rp(_A0, _A1, _A2)>
-{
-    __compressed_pair<_Fp, _Alloc> __f_;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit __func(_Fp __f) : __f_(_VSTD::move(__f)) {}
-    _LIBCPP_INLINE_VISIBILITY explicit __func(_Fp __f, _Alloc __a)
-        : __f_(_VSTD::move(__f), _VSTD::move(__a)) {}
-    virtual __base<_Rp(_A0, _A1, _A2)>* __clone() const;
-    virtual void __clone(__base<_Rp(_A0, _A1, _A2)>*) const;
-    virtual void destroy();
-    virtual void destroy_deallocate();
-    virtual _Rp operator()(_A0, _A1, _A2);
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const;
-    virtual const std::type_info& target_type() const;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1, class _A2>
-__base<_Rp(_A0, _A1, _A2)>*
-__func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>::__clone() const
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.second());
-    typedef __allocator_destructor<_Ap> _Dp;
-    unique_ptr<__func, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-    ::new (__hold.get()) __func(__f_.first(), _Alloc(__a));
-    return __hold.release();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1, class _A2>
-void
-__func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>::__clone(__base<_Rp(_A0, _A1, _A2)>* __p) const
-{
-    ::new (__p) __func(__f_.first(), __f_.second());
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1, class _A2>
-void
-__func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>::destroy()
-{
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1, class _A2>
-void
-__func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>::destroy_deallocate()
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.second());
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-    __a.deallocate(this, 1);
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1, class _A2>
-_Rp
-__func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>::operator()(_A0 __a0, _A1 __a1, _A2 __a2)
-{
-    typedef __invoke_void_return_wrapper<_Rp> _Invoker;
-    return _Invoker::__call(__f_.first(), __a0, __a1, __a2);
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1, class _A2>
-const void*
-__func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>::target(const type_info& __ti) const
-{
-    if (__ti == typeid(_Fp))
-        return &__f_.first();
-    return (const void*)0;
-}
-
-template<class _Fp, class _Alloc, class _Rp, class _A0, class _A1, class _A2>
-const std::type_info&
-__func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>::target_type() const
-{
-    return typeid(_Fp);
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-}  // __function
-
-template<class _Rp>
-class _LIBCPP_TEMPLATE_VIS function<_Rp()>
-{
-    typedef __function::__base<_Rp()> __base;
-    aligned_storage<3*sizeof(void*)>::type __buf_;
-    __base* __f_;
-
-public:
-    typedef _Rp result_type;
-
-    // 20.7.16.2.1, construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY explicit function() : __f_(0) {}
-    _LIBCPP_INLINE_VISIBILITY function(nullptr_t) : __f_(0) {}
-    function(const function&);
-    template<class _Fp>
-      function(_Fp,
-               typename enable_if<!is_integral<_Fp>::value>::type* = 0);
-
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&) : __f_(0) {}
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&, nullptr_t) : __f_(0) {}
-    template<class _Alloc>
-      function(allocator_arg_t, const _Alloc&, const function&);
-    template<class _Fp, class _Alloc>
-      function(allocator_arg_t, const _Alloc& __a, _Fp __f,
-               typename enable_if<!is_integral<_Fp>::value>::type* = 0);
-
-    function& operator=(const function&);
-    function& operator=(nullptr_t);
-    template<class _Fp>
-      typename enable_if
-      <
-        !is_integral<_Fp>::value,
-        function&
-      >::type
-      operator=(_Fp);
-
-    ~function();
-
-    // 20.7.16.2.2, function modifiers:
-    void swap(function&);
-    template<class _Fp, class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      void assign(_Fp __f, const _Alloc& __a)
-        {function(allocator_arg, __a, __f).swap(*this);}
-
-    // 20.7.16.2.3, function capacity:
-    _LIBCPP_INLINE_VISIBILITY operator bool() const {return __f_;}
-
-private:
-    // deleted overloads close possible hole in the type system
-    template<class _R2>
-      bool operator==(const function<_R2()>&) const;// = delete;
-    template<class _R2>
-      bool operator!=(const function<_R2()>&) const;// = delete;
-public:
-    // 20.7.16.2.4, function invocation:
-    _Rp operator()() const;
-
-#ifndef _LIBCPP_NO_RTTI
-    // 20.7.16.2.5, function target access:
-    const std::type_info& target_type() const;
-    template <typename _Tp> _Tp* target();
-    template <typename _Tp> const _Tp* target() const;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Rp>
-function<_Rp()>::function(const function& __f)
-{
-    if (__f.__f_ == 0)
-        __f_ = 0;
-    else if (__f.__f_ == (const __base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__clone(__f_);
-    }
-    else
-        __f_ = __f.__f_->__clone();
-}
-
-template<class _Rp>
-template<class _Alloc>
-function<_Rp()>::function(allocator_arg_t, const _Alloc&, const function& __f)
-{
-    if (__f.__f_ == 0)
-        __f_ = 0;
-    else if (__f.__f_ == (const __base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__clone(__f_);
-    }
-    else
-        __f_ = __f.__f_->__clone();
-}
-
-template<class _Rp>
-template <class _Fp>
-function<_Rp()>::function(_Fp __f,
-                                     typename enable_if<!is_integral<_Fp>::value>::type*)
-    : __f_(0)
-{
-    if (__function::__not_null(__f))
-    {
-        typedef __function::__func<_Fp, allocator<_Fp>, _Rp()> _FF;
-        if (sizeof(_FF) <= sizeof(__buf_))
-        {
-            __f_ = (__base*)&__buf_;
-            ::new (__f_) _FF(__f);
-        }
-        else
-        {
-            typedef allocator<_FF> _Ap;
-            _Ap __a;
-            typedef __allocator_destructor<_Ap> _Dp;
-            unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-            ::new (__hold.get()) _FF(__f, allocator<_Fp>(__a));
-            __f_ = __hold.release();
-        }
-    }
-}
-
-template<class _Rp>
-template <class _Fp, class _Alloc>
-function<_Rp()>::function(allocator_arg_t, const _Alloc& __a0, _Fp __f,
-                                     typename enable_if<!is_integral<_Fp>::value>::type*)
-    : __f_(0)
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    if (__function::__not_null(__f))
-    {
-        typedef __function::__func<_Fp, _Alloc, _Rp()> _FF;
-        if (sizeof(_FF) <= sizeof(__buf_))
-        {
-            __f_ = (__base*)&__buf_;
-            ::new (__f_) _FF(__f, __a0);
-        }
-        else
-        {
-            typedef typename __rebind_alloc_helper<__alloc_traits, _FF>::type _Ap;
-            _Ap __a(__a0);
-            typedef __allocator_destructor<_Ap> _Dp;
-            unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-            ::new (__hold.get()) _FF(__f, _Alloc(__a));
-            __f_ = __hold.release();
-        }
-    }
-}
-
-template<class _Rp>
-function<_Rp()>&
-function<_Rp()>::operator=(const function& __f)
-{
-    if (__f)
-        function(__f).swap(*this);
-    else
-        *this = nullptr;
-    return *this;
-}
-
-template<class _Rp>
-function<_Rp()>&
-function<_Rp()>::operator=(nullptr_t)
-{
-    __base* __t = __f_;
-    __f_ = 0;
-    if (__t == (__base*)&__buf_)
-        __t->destroy();
-    else if (__t)
-        __t->destroy_deallocate();
-    return *this;
-}
-
-template<class _Rp>
-template <class _Fp>
-typename enable_if
-<
-    !is_integral<_Fp>::value,
-    function<_Rp()>&
->::type
-function<_Rp()>::operator=(_Fp __f)
-{
-    function(_VSTD::move(__f)).swap(*this);
-    return *this;
-}
-
-template<class _Rp>
-function<_Rp()>::~function()
-{
-    if (__f_ == (__base*)&__buf_)
-        __f_->destroy();
-    else if (__f_)
-        __f_->destroy_deallocate();
-}
-
-template<class _Rp>
-void
-function<_Rp()>::swap(function& __f)
-{
-    if (_VSTD::addressof(__f) == this)
-      return;
-    if (__f_ == (__base*)&__buf_ && __f.__f_ == (__base*)&__f.__buf_)
-    {
-        typename aligned_storage<sizeof(__buf_)>::type __tempbuf;
-        __base* __t = (__base*)&__tempbuf;
-        __f_->__clone(__t);
-        __f_->destroy();
-        __f_ = 0;
-        __f.__f_->__clone((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = 0;
-        __f_ = (__base*)&__buf_;
-        __t->__clone((__base*)&__f.__buf_);
-        __t->destroy();
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f_ == (__base*)&__buf_)
-    {
-        __f_->__clone((__base*)&__f.__buf_);
-        __f_->destroy();
-        __f_ = __f.__f_;
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f.__f_ == (__base*)&__f.__buf_)
-    {
-        __f.__f_->__clone((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = __f_;
-        __f_ = (__base*)&__buf_;
-    }
-    else
-        _VSTD::swap(__f_, __f.__f_);
-}
-
-template<class _Rp>
-_Rp
-function<_Rp()>::operator()() const
-{
-    if (__f_ == 0)
-        __throw_bad_function_call();
-    return (*__f_)();
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Rp>
-const std::type_info&
-function<_Rp()>::target_type() const
-{
-    if (__f_ == 0)
-        return typeid(void);
-    return __f_->target_type();
-}
-
-template<class _Rp>
-template <typename _Tp>
-_Tp*
-function<_Rp()>::target()
-{
-    if (__f_ == 0)
-        return (_Tp*)0;
-    return (_Tp*) const_cast<void *>(__f_->target(typeid(_Tp)));
-}
-
-template<class _Rp>
-template <typename _Tp>
-const _Tp*
-function<_Rp()>::target() const
-{
-    if (__f_ == 0)
-        return (const _Tp*)0;
-    return (const _Tp*)__f_->target(typeid(_Tp));
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template<class _Rp, class _A0>
-class _LIBCPP_TEMPLATE_VIS function<_Rp(_A0)>
-    : public unary_function<_A0, _Rp>
-{
-    typedef __function::__base<_Rp(_A0)> __base;
-    aligned_storage<3*sizeof(void*)>::type __buf_;
-    __base* __f_;
-
-public:
-    typedef _Rp result_type;
-
-    // 20.7.16.2.1, construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY explicit function() : __f_(0) {}
-    _LIBCPP_INLINE_VISIBILITY function(nullptr_t) : __f_(0) {}
-    function(const function&);
-    template<class _Fp>
-      function(_Fp,
-               typename enable_if<!is_integral<_Fp>::value>::type* = 0);
-
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&) : __f_(0) {}
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&, nullptr_t) : __f_(0) {}
-    template<class _Alloc>
-      function(allocator_arg_t, const _Alloc&, const function&);
-    template<class _Fp, class _Alloc>
-      function(allocator_arg_t, const _Alloc& __a, _Fp __f,
-               typename enable_if<!is_integral<_Fp>::value>::type* = 0);
-
-    function& operator=(const function&);
-    function& operator=(nullptr_t);
-    template<class _Fp>
-      typename enable_if
-      <
-        !is_integral<_Fp>::value,
-        function&
-      >::type
-      operator=(_Fp);
-
-    ~function();
-
-    // 20.7.16.2.2, function modifiers:
-    void swap(function&);
-    template<class _Fp, class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      void assign(_Fp __f, const _Alloc& __a)
-        {function(allocator_arg, __a, __f).swap(*this);}
-
-    // 20.7.16.2.3, function capacity:
-    _LIBCPP_INLINE_VISIBILITY operator bool() const {return __f_;}
-
-private:
-    // deleted overloads close possible hole in the type system
-    template<class _R2, class _B0>
-      bool operator==(const function<_R2(_B0)>&) const;// = delete;
-    template<class _R2, class _B0>
-      bool operator!=(const function<_R2(_B0)>&) const;// = delete;
-public:
-    // 20.7.16.2.4, function invocation:
-    _Rp operator()(_A0) const;
-
-#ifndef _LIBCPP_NO_RTTI
-    // 20.7.16.2.5, function target access:
-    const std::type_info& target_type() const;
-    template <typename _Tp> _Tp* target();
-    template <typename _Tp> const _Tp* target() const;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Rp, class _A0>
-function<_Rp(_A0)>::function(const function& __f)
-{
-    if (__f.__f_ == 0)
-        __f_ = 0;
-    else if (__f.__f_ == (const __base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__clone(__f_);
-    }
-    else
-        __f_ = __f.__f_->__clone();
-}
-
-template<class _Rp, class _A0>
-template<class _Alloc>
-function<_Rp(_A0)>::function(allocator_arg_t, const _Alloc&, const function& __f)
-{
-    if (__f.__f_ == 0)
-        __f_ = 0;
-    else if (__f.__f_ == (const __base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__clone(__f_);
-    }
-    else
-        __f_ = __f.__f_->__clone();
-}
-
-template<class _Rp, class _A0>
-template <class _Fp>
-function<_Rp(_A0)>::function(_Fp __f,
-                                     typename enable_if<!is_integral<_Fp>::value>::type*)
-    : __f_(0)
-{
-    if (__function::__not_null(__f))
-    {
-        typedef __function::__func<_Fp, allocator<_Fp>, _Rp(_A0)> _FF;
-        if (sizeof(_FF) <= sizeof(__buf_))
-        {
-            __f_ = (__base*)&__buf_;
-            ::new (__f_) _FF(__f);
-        }
-        else
-        {
-            typedef allocator<_FF> _Ap;
-            _Ap __a;
-            typedef __allocator_destructor<_Ap> _Dp;
-            unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-            ::new (__hold.get()) _FF(__f, allocator<_Fp>(__a));
-            __f_ = __hold.release();
-        }
-    }
-}
-
-template<class _Rp, class _A0>
-template <class _Fp, class _Alloc>
-function<_Rp(_A0)>::function(allocator_arg_t, const _Alloc& __a0, _Fp __f,
-                                     typename enable_if<!is_integral<_Fp>::value>::type*)
-    : __f_(0)
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    if (__function::__not_null(__f))
-    {
-        typedef __function::__func<_Fp, _Alloc, _Rp(_A0)> _FF;
-        if (sizeof(_FF) <= sizeof(__buf_))
-        {
-            __f_ = (__base*)&__buf_;
-            ::new (__f_) _FF(__f, __a0);
-        }
-        else
-        {
-            typedef typename __rebind_alloc_helper<__alloc_traits, _FF>::type _Ap;
-            _Ap __a(__a0);
-            typedef __allocator_destructor<_Ap> _Dp;
-            unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-            ::new (__hold.get()) _FF(__f, _Alloc(__a));
-            __f_ = __hold.release();
-        }
-    }
-}
-
-template<class _Rp, class _A0>
-function<_Rp(_A0)>&
-function<_Rp(_A0)>::operator=(const function& __f)
-{
-    if (__f)
-        function(__f).swap(*this);
-    else
-        *this = nullptr;
-    return *this;
-}
-
-template<class _Rp, class _A0>
-function<_Rp(_A0)>&
-function<_Rp(_A0)>::operator=(nullptr_t)
-{
-    __base* __t = __f_;
-    __f_ = 0;
-    if (__t == (__base*)&__buf_)
-        __t->destroy();
-    else if (__t)
-        __t->destroy_deallocate();
-    return *this;
-}
-
-template<class _Rp, class _A0>
-template <class _Fp>
-typename enable_if
-<
-    !is_integral<_Fp>::value,
-    function<_Rp(_A0)>&
->::type
-function<_Rp(_A0)>::operator=(_Fp __f)
-{
-    function(_VSTD::move(__f)).swap(*this);
-    return *this;
-}
-
-template<class _Rp, class _A0>
-function<_Rp(_A0)>::~function()
-{
-    if (__f_ == (__base*)&__buf_)
-        __f_->destroy();
-    else if (__f_)
-        __f_->destroy_deallocate();
-}
-
-template<class _Rp, class _A0>
-void
-function<_Rp(_A0)>::swap(function& __f)
-{
-    if (_VSTD::addressof(__f) == this)
-      return;
-    if (__f_ == (__base*)&__buf_ && __f.__f_ == (__base*)&__f.__buf_)
-    {
-        typename aligned_storage<sizeof(__buf_)>::type __tempbuf;
-        __base* __t = (__base*)&__tempbuf;
-        __f_->__clone(__t);
-        __f_->destroy();
-        __f_ = 0;
-        __f.__f_->__clone((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = 0;
-        __f_ = (__base*)&__buf_;
-        __t->__clone((__base*)&__f.__buf_);
-        __t->destroy();
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f_ == (__base*)&__buf_)
-    {
-        __f_->__clone((__base*)&__f.__buf_);
-        __f_->destroy();
-        __f_ = __f.__f_;
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f.__f_ == (__base*)&__f.__buf_)
-    {
-        __f.__f_->__clone((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = __f_;
-        __f_ = (__base*)&__buf_;
-    }
-    else
-        _VSTD::swap(__f_, __f.__f_);
-}
-
-template<class _Rp, class _A0>
-_Rp
-function<_Rp(_A0)>::operator()(_A0 __a0) const
-{
-    if (__f_ == 0)
-        __throw_bad_function_call();
-    return (*__f_)(__a0);
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Rp, class _A0>
-const std::type_info&
-function<_Rp(_A0)>::target_type() const
-{
-    if (__f_ == 0)
-        return typeid(void);
-    return __f_->target_type();
-}
-
-template<class _Rp, class _A0>
-template <typename _Tp>
-_Tp*
-function<_Rp(_A0)>::target()
-{
-    if (__f_ == 0)
-        return (_Tp*)0;
-    return (_Tp*) const_cast<void *>(__f_->target(typeid(_Tp)));
-}
-
-template<class _Rp, class _A0>
-template <typename _Tp>
-const _Tp*
-function<_Rp(_A0)>::target() const
-{
-    if (__f_ == 0)
-        return (const _Tp*)0;
-    return (const _Tp*)__f_->target(typeid(_Tp));
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template<class _Rp, class _A0, class _A1>
-class _LIBCPP_TEMPLATE_VIS function<_Rp(_A0, _A1)>
-    : public binary_function<_A0, _A1, _Rp>
-{
-    typedef __function::__base<_Rp(_A0, _A1)> __base;
-    aligned_storage<3*sizeof(void*)>::type __buf_;
-    __base* __f_;
-
-public:
-    typedef _Rp result_type;
-
-    // 20.7.16.2.1, construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY explicit function() : __f_(0) {}
-    _LIBCPP_INLINE_VISIBILITY function(nullptr_t) : __f_(0) {}
-    function(const function&);
-    template<class _Fp>
-      function(_Fp,
-               typename enable_if<!is_integral<_Fp>::value>::type* = 0);
-
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&) : __f_(0) {}
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&, nullptr_t) : __f_(0) {}
-    template<class _Alloc>
-      function(allocator_arg_t, const _Alloc&, const function&);
-    template<class _Fp, class _Alloc>
-      function(allocator_arg_t, const _Alloc& __a, _Fp __f,
-               typename enable_if<!is_integral<_Fp>::value>::type* = 0);
-
-    function& operator=(const function&);
-    function& operator=(nullptr_t);
-    template<class _Fp>
-      typename enable_if
-      <
-        !is_integral<_Fp>::value,
-        function&
-      >::type
-      operator=(_Fp);
-
-    ~function();
-
-    // 20.7.16.2.2, function modifiers:
-    void swap(function&);
-    template<class _Fp, class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      void assign(_Fp __f, const _Alloc& __a)
-        {function(allocator_arg, __a, __f).swap(*this);}
-
-    // 20.7.16.2.3, function capacity:
-    operator bool() const {return __f_;}
-
-private:
-    // deleted overloads close possible hole in the type system
-    template<class _R2, class _B0, class _B1>
-      bool operator==(const function<_R2(_B0, _B1)>&) const;// = delete;
-    template<class _R2, class _B0, class _B1>
-      bool operator!=(const function<_R2(_B0, _B1)>&) const;// = delete;
-public:
-    // 20.7.16.2.4, function invocation:
-    _Rp operator()(_A0, _A1) const;
-
-#ifndef _LIBCPP_NO_RTTI
-    // 20.7.16.2.5, function target access:
-    const std::type_info& target_type() const;
-    template <typename _Tp> _Tp* target();
-    template <typename _Tp> const _Tp* target() const;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Rp, class _A0, class _A1>
-function<_Rp(_A0, _A1)>::function(const function& __f)
-{
-    if (__f.__f_ == 0)
-        __f_ = 0;
-    else if (__f.__f_ == (const __base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__clone(__f_);
-    }
-    else
-        __f_ = __f.__f_->__clone();
-}
-
-template<class _Rp, class _A0, class _A1>
-template<class _Alloc>
-function<_Rp(_A0, _A1)>::function(allocator_arg_t, const _Alloc&, const function& __f)
-{
-    if (__f.__f_ == 0)
-        __f_ = 0;
-    else if (__f.__f_ == (const __base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__clone(__f_);
-    }
-    else
-        __f_ = __f.__f_->__clone();
-}
-
-template<class _Rp, class _A0, class _A1>
-template <class _Fp>
-function<_Rp(_A0, _A1)>::function(_Fp __f,
-                                 typename enable_if<!is_integral<_Fp>::value>::type*)
-    : __f_(0)
-{
-    if (__function::__not_null(__f))
-    {
-        typedef __function::__func<_Fp, allocator<_Fp>, _Rp(_A0, _A1)> _FF;
-        if (sizeof(_FF) <= sizeof(__buf_))
-        {
-            __f_ = (__base*)&__buf_;
-            ::new (__f_) _FF(__f);
-        }
-        else
-        {
-            typedef allocator<_FF> _Ap;
-            _Ap __a;
-            typedef __allocator_destructor<_Ap> _Dp;
-            unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-            ::new (__hold.get()) _FF(__f, allocator<_Fp>(__a));
-            __f_ = __hold.release();
-        }
-    }
-}
-
-template<class _Rp, class _A0, class _A1>
-template <class _Fp, class _Alloc>
-function<_Rp(_A0, _A1)>::function(allocator_arg_t, const _Alloc& __a0, _Fp __f,
-                                 typename enable_if<!is_integral<_Fp>::value>::type*)
-    : __f_(0)
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    if (__function::__not_null(__f))
-    {
-        typedef __function::__func<_Fp, _Alloc, _Rp(_A0, _A1)> _FF;
-        if (sizeof(_FF) <= sizeof(__buf_))
-        {
-            __f_ = (__base*)&__buf_;
-            ::new (__f_) _FF(__f, __a0);
-        }
-        else
-        {
-            typedef typename __rebind_alloc_helper<__alloc_traits, _FF>::type _Ap;
-            _Ap __a(__a0);
-            typedef __allocator_destructor<_Ap> _Dp;
-            unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-            ::new (__hold.get()) _FF(__f, _Alloc(__a));
-            __f_ = __hold.release();
-        }
-    }
-}
-
-template<class _Rp, class _A0, class _A1>
-function<_Rp(_A0, _A1)>&
-function<_Rp(_A0, _A1)>::operator=(const function& __f)
-{
-    if (__f)
-        function(__f).swap(*this);
-    else
-        *this = nullptr;
-    return *this;
-}
-
-template<class _Rp, class _A0, class _A1>
-function<_Rp(_A0, _A1)>&
-function<_Rp(_A0, _A1)>::operator=(nullptr_t)
-{
-    __base* __t = __f_;
-    __f_ = 0;
-    if (__t == (__base*)&__buf_)
-        __t->destroy();
-    else if (__t)
-        __t->destroy_deallocate();
-    return *this;
-}
-
-template<class _Rp, class _A0, class _A1>
-template <class _Fp>
-typename enable_if
-<
-    !is_integral<_Fp>::value,
-    function<_Rp(_A0, _A1)>&
->::type
-function<_Rp(_A0, _A1)>::operator=(_Fp __f)
-{
-    function(_VSTD::move(__f)).swap(*this);
-    return *this;
-}
-
-template<class _Rp, class _A0, class _A1>
-function<_Rp(_A0, _A1)>::~function()
-{
-    if (__f_ == (__base*)&__buf_)
-        __f_->destroy();
-    else if (__f_)
-        __f_->destroy_deallocate();
-}
-
-template<class _Rp, class _A0, class _A1>
-void
-function<_Rp(_A0, _A1)>::swap(function& __f)
-{
-    if (_VSTD::addressof(__f) == this)
-      return;
-    if (__f_ == (__base*)&__buf_ && __f.__f_ == (__base*)&__f.__buf_)
-    {
-        typename aligned_storage<sizeof(__buf_)>::type __tempbuf;
-        __base* __t = (__base*)&__tempbuf;
-        __f_->__clone(__t);
-        __f_->destroy();
-        __f_ = 0;
-        __f.__f_->__clone((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = 0;
-        __f_ = (__base*)&__buf_;
-        __t->__clone((__base*)&__f.__buf_);
-        __t->destroy();
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f_ == (__base*)&__buf_)
-    {
-        __f_->__clone((__base*)&__f.__buf_);
-        __f_->destroy();
-        __f_ = __f.__f_;
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f.__f_ == (__base*)&__f.__buf_)
-    {
-        __f.__f_->__clone((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = __f_;
-        __f_ = (__base*)&__buf_;
-    }
-    else
-        _VSTD::swap(__f_, __f.__f_);
-}
-
-template<class _Rp, class _A0, class _A1>
-_Rp
-function<_Rp(_A0, _A1)>::operator()(_A0 __a0, _A1 __a1) const
-{
-    if (__f_ == 0)
-        __throw_bad_function_call();
-    return (*__f_)(__a0, __a1);
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Rp, class _A0, class _A1>
-const std::type_info&
-function<_Rp(_A0, _A1)>::target_type() const
-{
-    if (__f_ == 0)
-        return typeid(void);
-    return __f_->target_type();
-}
-
-template<class _Rp, class _A0, class _A1>
-template <typename _Tp>
-_Tp*
-function<_Rp(_A0, _A1)>::target()
-{
-    if (__f_ == 0)
-        return (_Tp*)0;
-    return (_Tp*) const_cast<void *>(__f_->target(typeid(_Tp)));
-}
-
-template<class _Rp, class _A0, class _A1>
-template <typename _Tp>
-const _Tp*
-function<_Rp(_A0, _A1)>::target() const
-{
-    if (__f_ == 0)
-        return (const _Tp*)0;
-    return (const _Tp*)__f_->target(typeid(_Tp));
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template<class _Rp, class _A0, class _A1, class _A2>
-class _LIBCPP_TEMPLATE_VIS function<_Rp(_A0, _A1, _A2)>
-{
-    typedef __function::__base<_Rp(_A0, _A1, _A2)> __base;
-    aligned_storage<3*sizeof(void*)>::type __buf_;
-    __base* __f_;
-
-public:
-    typedef _Rp result_type;
-
-    // 20.7.16.2.1, construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY explicit function() : __f_(0) {}
-    _LIBCPP_INLINE_VISIBILITY function(nullptr_t) : __f_(0) {}
-    function(const function&);
-    template<class _Fp>
-      function(_Fp,
-               typename enable_if<!is_integral<_Fp>::value>::type* = 0);
-
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&) : __f_(0) {}
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&, nullptr_t) : __f_(0) {}
-    template<class _Alloc>
-      function(allocator_arg_t, const _Alloc&, const function&);
-    template<class _Fp, class _Alloc>
-      function(allocator_arg_t, const _Alloc& __a, _Fp __f,
-               typename enable_if<!is_integral<_Fp>::value>::type* = 0);
-
-    function& operator=(const function&);
-    function& operator=(nullptr_t);
-    template<class _Fp>
-      typename enable_if
-      <
-        !is_integral<_Fp>::value,
-        function&
-      >::type
-      operator=(_Fp);
-
-    ~function();
-
-    // 20.7.16.2.2, function modifiers:
-    void swap(function&);
-    template<class _Fp, class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      void assign(_Fp __f, const _Alloc& __a)
-        {function(allocator_arg, __a, __f).swap(*this);}
-
-    // 20.7.16.2.3, function capacity:
-    _LIBCPP_INLINE_VISIBILITY operator bool() const {return __f_;}
-
-private:
-    // deleted overloads close possible hole in the type system
-    template<class _R2, class _B0, class _B1, class _B2>
-      bool operator==(const function<_R2(_B0, _B1, _B2)>&) const;// = delete;
-    template<class _R2, class _B0, class _B1, class _B2>
-      bool operator!=(const function<_R2(_B0, _B1, _B2)>&) const;// = delete;
-public:
-    // 20.7.16.2.4, function invocation:
-    _Rp operator()(_A0, _A1, _A2) const;
-
-#ifndef _LIBCPP_NO_RTTI
-    // 20.7.16.2.5, function target access:
-    const std::type_info& target_type() const;
-    template <typename _Tp> _Tp* target();
-    template <typename _Tp> const _Tp* target() const;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Rp, class _A0, class _A1, class _A2>
-function<_Rp(_A0, _A1, _A2)>::function(const function& __f)
-{
-    if (__f.__f_ == 0)
-        __f_ = 0;
-    else if (__f.__f_ == (const __base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__clone(__f_);
-    }
-    else
-        __f_ = __f.__f_->__clone();
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-template<class _Alloc>
-function<_Rp(_A0, _A1, _A2)>::function(allocator_arg_t, const _Alloc&,
-                                      const function& __f)
-{
-    if (__f.__f_ == 0)
-        __f_ = 0;
-    else if (__f.__f_ == (const __base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__clone(__f_);
-    }
-    else
-        __f_ = __f.__f_->__clone();
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-template <class _Fp>
-function<_Rp(_A0, _A1, _A2)>::function(_Fp __f,
-                                     typename enable_if<!is_integral<_Fp>::value>::type*)
-    : __f_(0)
-{
-    if (__function::__not_null(__f))
-    {
-        typedef __function::__func<_Fp, allocator<_Fp>, _Rp(_A0, _A1, _A2)> _FF;
-        if (sizeof(_FF) <= sizeof(__buf_))
-        {
-            __f_ = (__base*)&__buf_;
-            ::new (__f_) _FF(__f);
-        }
-        else
-        {
-            typedef allocator<_FF> _Ap;
-            _Ap __a;
-            typedef __allocator_destructor<_Ap> _Dp;
-            unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-            ::new (__hold.get()) _FF(__f, allocator<_Fp>(__a));
-            __f_ = __hold.release();
-        }
-    }
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-template <class _Fp, class _Alloc>
-function<_Rp(_A0, _A1, _A2)>::function(allocator_arg_t, const _Alloc& __a0, _Fp __f,
-                                     typename enable_if<!is_integral<_Fp>::value>::type*)
-    : __f_(0)
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    if (__function::__not_null(__f))
-    {
-        typedef __function::__func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)> _FF;
-        if (sizeof(_FF) <= sizeof(__buf_))
-        {
-            __f_ = (__base*)&__buf_;
-            ::new (__f_) _FF(__f, __a0);
-        }
-        else
-        {
-            typedef typename __rebind_alloc_helper<__alloc_traits, _FF>::type _Ap;
-            _Ap __a(__a0);
-            typedef __allocator_destructor<_Ap> _Dp;
-            unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-            ::new (__hold.get()) _FF(__f, _Alloc(__a));
-            __f_ = __hold.release();
-        }
-    }
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-function<_Rp(_A0, _A1, _A2)>&
-function<_Rp(_A0, _A1, _A2)>::operator=(const function& __f)
-{
-    if (__f)
-        function(__f).swap(*this);
-    else
-        *this = nullptr;
-    return *this;
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-function<_Rp(_A0, _A1, _A2)>&
-function<_Rp(_A0, _A1, _A2)>::operator=(nullptr_t)
-{
-    __base* __t = __f_;
-    __f_ = 0;
-    if (__t == (__base*)&__buf_)
-        __t->destroy();
-    else if (__t)
-        __t->destroy_deallocate();
-    return *this;
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-template <class _Fp>
-typename enable_if
-<
-    !is_integral<_Fp>::value,
-    function<_Rp(_A0, _A1, _A2)>&
->::type
-function<_Rp(_A0, _A1, _A2)>::operator=(_Fp __f)
-{
-    function(_VSTD::move(__f)).swap(*this);
-    return *this;
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-function<_Rp(_A0, _A1, _A2)>::~function()
-{
-    if (__f_ == (__base*)&__buf_)
-        __f_->destroy();
-    else if (__f_)
-        __f_->destroy_deallocate();
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-void
-function<_Rp(_A0, _A1, _A2)>::swap(function& __f)
-{
-    if (_VSTD::addressof(__f) == this)
-      return;
-    if (__f_ == (__base*)&__buf_ && __f.__f_ == (__base*)&__f.__buf_)
-    {
-        typename aligned_storage<sizeof(__buf_)>::type __tempbuf;
-        __base* __t = (__base*)&__tempbuf;
-        __f_->__clone(__t);
-        __f_->destroy();
-        __f_ = 0;
-        __f.__f_->__clone((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = 0;
-        __f_ = (__base*)&__buf_;
-        __t->__clone((__base*)&__f.__buf_);
-        __t->destroy();
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f_ == (__base*)&__buf_)
-    {
-        __f_->__clone((__base*)&__f.__buf_);
-        __f_->destroy();
-        __f_ = __f.__f_;
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f.__f_ == (__base*)&__f.__buf_)
-    {
-        __f.__f_->__clone((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = __f_;
-        __f_ = (__base*)&__buf_;
-    }
-    else
-        _VSTD::swap(__f_, __f.__f_);
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-_Rp
-function<_Rp(_A0, _A1, _A2)>::operator()(_A0 __a0, _A1 __a1, _A2 __a2) const
-{
-    if (__f_ == 0)
-        __throw_bad_function_call();
-    return (*__f_)(__a0, __a1, __a2);
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Rp, class _A0, class _A1, class _A2>
-const std::type_info&
-function<_Rp(_A0, _A1, _A2)>::target_type() const
-{
-    if (__f_ == 0)
-        return typeid(void);
-    return __f_->target_type();
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-template <typename _Tp>
-_Tp*
-function<_Rp(_A0, _A1, _A2)>::target()
-{
-    if (__f_ == 0)
-        return (_Tp*)0;
-    return (_Tp*) const_cast<void *>(__f_->target(typeid(_Tp)));
-}
-
-template<class _Rp, class _A0, class _A1, class _A2>
-template <typename _Tp>
-const _Tp*
-function<_Rp(_A0, _A1, _A2)>::target() const
-{
-    if (__f_ == 0)
-        return (const _Tp*)0;
-    return (const _Tp*)__f_->target(typeid(_Tp));
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template <class _Fp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const function<_Fp>& __f, nullptr_t) {return !__f;}
-
-template <class _Fp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(nullptr_t, const function<_Fp>& __f) {return !__f;}
-
-template <class _Fp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const function<_Fp>& __f, nullptr_t) {return (bool)__f;}
-
-template <class _Fp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(nullptr_t, const function<_Fp>& __f) {return (bool)__f;}
-
-template <class _Fp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(function<_Fp>& __x, function<_Fp>& __y)
-{return __x.swap(__y);}
-
-#endif  // _LIBCPP_FUNCTIONAL_03
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__functional_base b/r21/sources/cxx-stl/llvm-libc++/include/__functional_base
deleted file mode 100644
index 9587d7a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__functional_base
+++ /dev/null
@@ -1,652 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FUNCTIONAL_BASE
-#define _LIBCPP_FUNCTIONAL_BASE
-
-#include <__config>
-#include <type_traits>
-#include <typeinfo>
-#include <exception>
-#include <new>
-#include <utility>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Arg1, class _Arg2, class _Result>
-struct _LIBCPP_TEMPLATE_VIS binary_function
-{
-    typedef _Arg1   first_argument_type;
-    typedef _Arg2   second_argument_type;
-    typedef _Result result_type;
-};
-
-template <class _Tp>
-struct __has_result_type
-{
-private:
-    struct __two {char __lx; char __lxx;};
-    template <class _Up> static __two __test(...);
-    template <class _Up> static char __test(typename _Up::result_type* = 0);
-public:
-    static const bool value = sizeof(__test<_Tp>(0)) == 1;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS less : binary_function<_Tp, _Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x < __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS less<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) < _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) < _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) < _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-// __weak_result_type
-
-template <class _Tp>
-struct __derives_from_unary_function
-{
-private:
-    struct __two {char __lx; char __lxx;};
-    static __two __test(...);
-    template <class _Ap, class _Rp>
-        static unary_function<_Ap, _Rp>
-        __test(const volatile unary_function<_Ap, _Rp>*);
-public:
-    static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value;
-    typedef decltype(__test((_Tp*)0)) type;
-};
-
-template <class _Tp>
-struct __derives_from_binary_function
-{
-private:
-    struct __two {char __lx; char __lxx;};
-    static __two __test(...);
-    template <class _A1, class _A2, class _Rp>
-        static binary_function<_A1, _A2, _Rp>
-        __test(const volatile binary_function<_A1, _A2, _Rp>*);
-public:
-    static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value;
-    typedef decltype(__test((_Tp*)0)) type;
-};
-
-template <class _Tp, bool = __derives_from_unary_function<_Tp>::value>
-struct __maybe_derive_from_unary_function  // bool is true
-    : public __derives_from_unary_function<_Tp>::type
-{
-};
-
-template <class _Tp>
-struct __maybe_derive_from_unary_function<_Tp, false>
-{
-};
-
-template <class _Tp, bool = __derives_from_binary_function<_Tp>::value>
-struct __maybe_derive_from_binary_function  // bool is true
-    : public __derives_from_binary_function<_Tp>::type
-{
-};
-
-template <class _Tp>
-struct __maybe_derive_from_binary_function<_Tp, false>
-{
-};
-
-template <class _Tp, bool = __has_result_type<_Tp>::value>
-struct __weak_result_type_imp // bool is true
-    : public __maybe_derive_from_unary_function<_Tp>,
-      public __maybe_derive_from_binary_function<_Tp>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Tp::result_type result_type;
-};
-
-template <class _Tp>
-struct __weak_result_type_imp<_Tp, false>
-    : public __maybe_derive_from_unary_function<_Tp>,
-      public __maybe_derive_from_binary_function<_Tp>
-{
-};
-
-template <class _Tp>
-struct __weak_result_type
-    : public __weak_result_type_imp<_Tp>
-{
-};
-
-// 0 argument case
-
-template <class _Rp>
-struct __weak_result_type<_Rp ()>
-{
-    typedef _LIBCPP_NODEBUG_TYPE  _Rp result_type;
-};
-
-template <class _Rp>
-struct __weak_result_type<_Rp (&)()>
-{
-    typedef _LIBCPP_NODEBUG_TYPE  _Rp result_type;
-};
-
-template <class _Rp>
-struct __weak_result_type<_Rp (*)()>
-{
-    typedef _LIBCPP_NODEBUG_TYPE  _Rp result_type;
-};
-
-// 1 argument case
-
-template <class _Rp, class _A1>
-struct __weak_result_type<_Rp (_A1)>
-    : public unary_function<_A1, _Rp>
-{
-};
-
-template <class _Rp, class _A1>
-struct __weak_result_type<_Rp (&)(_A1)>
-    : public unary_function<_A1, _Rp>
-{
-};
-
-template <class _Rp, class _A1>
-struct __weak_result_type<_Rp (*)(_A1)>
-    : public unary_function<_A1, _Rp>
-{
-};
-
-template <class _Rp, class _Cp>
-struct __weak_result_type<_Rp (_Cp::*)()>
-    : public unary_function<_Cp*, _Rp>
-{
-};
-
-template <class _Rp, class _Cp>
-struct __weak_result_type<_Rp (_Cp::*)() const>
-    : public unary_function<const _Cp*, _Rp>
-{
-};
-
-template <class _Rp, class _Cp>
-struct __weak_result_type<_Rp (_Cp::*)() volatile>
-    : public unary_function<volatile _Cp*, _Rp>
-{
-};
-
-template <class _Rp, class _Cp>
-struct __weak_result_type<_Rp (_Cp::*)() const volatile>
-    : public unary_function<const volatile _Cp*, _Rp>
-{
-};
-
-// 2 argument case
-
-template <class _Rp, class _A1, class _A2>
-struct __weak_result_type<_Rp (_A1, _A2)>
-    : public binary_function<_A1, _A2, _Rp>
-{
-};
-
-template <class _Rp, class _A1, class _A2>
-struct __weak_result_type<_Rp (*)(_A1, _A2)>
-    : public binary_function<_A1, _A2, _Rp>
-{
-};
-
-template <class _Rp, class _A1, class _A2>
-struct __weak_result_type<_Rp (&)(_A1, _A2)>
-    : public binary_function<_A1, _A2, _Rp>
-{
-};
-
-template <class _Rp, class _Cp, class _A1>
-struct __weak_result_type<_Rp (_Cp::*)(_A1)>
-    : public binary_function<_Cp*, _A1, _Rp>
-{
-};
-
-template <class _Rp, class _Cp, class _A1>
-struct __weak_result_type<_Rp (_Cp::*)(_A1) const>
-    : public binary_function<const _Cp*, _A1, _Rp>
-{
-};
-
-template <class _Rp, class _Cp, class _A1>
-struct __weak_result_type<_Rp (_Cp::*)(_A1) volatile>
-    : public binary_function<volatile _Cp*, _A1, _Rp>
-{
-};
-
-template <class _Rp, class _Cp, class _A1>
-struct __weak_result_type<_Rp (_Cp::*)(_A1) const volatile>
-    : public binary_function<const volatile _Cp*, _A1, _Rp>
-{
-};
-
-
-#ifndef _LIBCPP_CXX03_LANG
-// 3 or more arguments
-
-template <class _Rp, class _A1, class _A2, class _A3, class ..._A4>
-struct __weak_result_type<_Rp (_A1, _A2, _A3, _A4...)>
-{
-    typedef _Rp result_type;
-};
-
-template <class _Rp, class _A1, class _A2, class _A3, class ..._A4>
-struct __weak_result_type<_Rp (&)(_A1, _A2, _A3, _A4...)>
-{
-    typedef _Rp result_type;
-};
-
-template <class _Rp, class _A1, class _A2, class _A3, class ..._A4>
-struct __weak_result_type<_Rp (*)(_A1, _A2, _A3, _A4...)>
-{
-    typedef _Rp result_type;
-};
-
-template <class _Rp, class _Cp, class _A1, class _A2, class ..._A3>
-struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...)>
-{
-    typedef _Rp result_type;
-};
-
-template <class _Rp, class _Cp, class _A1, class _A2, class ..._A3>
-struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) const>
-{
-    typedef _Rp result_type;
-};
-
-template <class _Rp, class _Cp, class _A1, class _A2, class ..._A3>
-struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) volatile>
-{
-    typedef _Rp result_type;
-};
-
-template <class _Rp, class _Cp, class _A1, class _A2, class ..._A3>
-struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) const volatile>
-{
-    typedef _Rp result_type;
-};
-
-template <class _Tp, class ..._Args>
-struct __invoke_return
-{
-    typedef decltype(__invoke(_VSTD::declval<_Tp>(), _VSTD::declval<_Args>()...)) type;
-};
-
-#else // defined(_LIBCPP_CXX03_LANG)
-
-#include <__functional_base_03>
-
-#endif  // !defined(_LIBCPP_CXX03_LANG)
-
-
-template <class _Ret>
-struct __invoke_void_return_wrapper
-{
-#ifndef _LIBCPP_CXX03_LANG
-    template <class ..._Args>
-    static _Ret __call(_Args&&... __args) {
-        return __invoke(_VSTD::forward<_Args>(__args)...);
-    }
-#else
-    template <class _Fn>
-    static _Ret __call(_Fn __f) {
-        return __invoke(__f);
-    }
-
-    template <class _Fn, class _A0>
-    static _Ret __call(_Fn __f, _A0& __a0) {
-        return __invoke(__f, __a0);
-    }
-
-    template <class _Fn, class _A0, class _A1>
-    static _Ret __call(_Fn __f, _A0& __a0, _A1& __a1) {
-        return __invoke(__f, __a0, __a1);
-    }
-
-    template <class _Fn, class _A0, class _A1, class _A2>
-    static _Ret __call(_Fn __f, _A0& __a0, _A1& __a1, _A2& __a2){
-        return __invoke(__f, __a0, __a1, __a2);
-    }
-#endif
-};
-
-template <>
-struct __invoke_void_return_wrapper<void>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    template <class ..._Args>
-    static void __call(_Args&&... __args) {
-        __invoke(_VSTD::forward<_Args>(__args)...);
-    }
-#else
-    template <class _Fn>
-    static void __call(_Fn __f) {
-        __invoke(__f);
-    }
-
-    template <class _Fn, class _A0>
-    static void __call(_Fn __f, _A0& __a0) {
-        __invoke(__f, __a0);
-    }
-
-    template <class _Fn, class _A0, class _A1>
-    static void __call(_Fn __f, _A0& __a0, _A1& __a1) {
-        __invoke(__f, __a0, __a1);
-    }
-
-    template <class _Fn, class _A0, class _A1, class _A2>
-    static void __call(_Fn __f, _A0& __a0, _A1& __a1, _A2& __a2) {
-        __invoke(__f, __a0, __a1, __a2);
-    }
-#endif
-};
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS reference_wrapper
-    : public __weak_result_type<_Tp>
-{
-public:
-    // types
-    typedef _Tp type;
-private:
-    type* __f_;
-
-public:
-    // construct/copy/destroy
-    _LIBCPP_INLINE_VISIBILITY reference_wrapper(type& __f) _NOEXCEPT
-        : __f_(_VSTD::addressof(__f)) {}
-#ifndef _LIBCPP_CXX03_LANG
-    private: reference_wrapper(type&&); public: // = delete; // do not bind to temps
-#endif
-
-    // access
-    _LIBCPP_INLINE_VISIBILITY operator type&    () const _NOEXCEPT {return *__f_;}
-    _LIBCPP_INLINE_VISIBILITY          type& get() const _NOEXCEPT {return *__f_;}
-
-#ifndef _LIBCPP_CXX03_LANG
-    // invoke
-    template <class... _ArgTypes>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_of<type&, _ArgTypes...>::type
-    operator() (_ArgTypes&&... __args) const {
-        return __invoke(get(), _VSTD::forward<_ArgTypes>(__args)...);
-    }
-#else
-
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return<type>::type
-    operator() () const {
-        return __invoke(get());
-    }
-
-    template <class _A0>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return0<type, _A0>::type
-    operator() (_A0& __a0) const {
-        return __invoke(get(), __a0);
-    }
-
-    template <class _A0>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return0<type, _A0 const>::type
-    operator() (_A0 const& __a0) const {
-        return __invoke(get(), __a0);
-    }
-
-    template <class _A0, class _A1>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return1<type, _A0, _A1>::type
-    operator() (_A0& __a0, _A1& __a1) const {
-        return __invoke(get(), __a0, __a1);
-    }
-
-    template <class _A0, class _A1>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return1<type, _A0 const, _A1>::type
-    operator() (_A0 const& __a0, _A1& __a1) const {
-        return __invoke(get(), __a0, __a1);
-    }
-
-    template <class _A0, class _A1>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return1<type, _A0, _A1 const>::type
-    operator() (_A0& __a0, _A1 const& __a1) const {
-        return __invoke(get(), __a0, __a1);
-    }
-
-    template <class _A0, class _A1>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return1<type, _A0 const, _A1 const>::type
-    operator() (_A0 const& __a0, _A1 const& __a1) const {
-        return __invoke(get(), __a0, __a1);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0, _A1, _A2>::type
-    operator() (_A0& __a0, _A1& __a1, _A2& __a2) const {
-        return __invoke(get(), __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0 const, _A1, _A2>::type
-    operator() (_A0 const& __a0, _A1& __a1, _A2& __a2) const {
-        return __invoke(get(), __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0, _A1 const, _A2>::type
-    operator() (_A0& __a0, _A1 const& __a1, _A2& __a2) const {
-        return __invoke(get(), __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0, _A1, _A2 const>::type
-    operator() (_A0& __a0, _A1& __a1, _A2 const& __a2) const {
-        return __invoke(get(), __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0 const, _A1 const, _A2>::type
-    operator() (_A0 const& __a0, _A1 const& __a1, _A2& __a2) const {
-        return __invoke(get(), __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0 const, _A1, _A2 const>::type
-    operator() (_A0 const& __a0, _A1& __a1, _A2 const& __a2) const {
-        return __invoke(get(), __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0, _A1 const, _A2 const>::type
-    operator() (_A0& __a0, _A1 const& __a1, _A2 const& __a2) const {
-        return __invoke(get(), __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0 const, _A1 const, _A2 const>::type
-    operator() (_A0 const& __a0, _A1 const& __a1, _A2 const& __a2) const {
-        return __invoke(get(), __a0, __a1, __a2);
-    }
-#endif // _LIBCPP_CXX03_LANG
-};
-
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-reference_wrapper<_Tp>
-ref(_Tp& __t) _NOEXCEPT
-{
-    return reference_wrapper<_Tp>(__t);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-reference_wrapper<_Tp>
-ref(reference_wrapper<_Tp> __t) _NOEXCEPT
-{
-    return ref(__t.get());
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-reference_wrapper<const _Tp>
-cref(const _Tp& __t) _NOEXCEPT
-{
-    return reference_wrapper<const _Tp>(__t);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-reference_wrapper<const _Tp>
-cref(reference_wrapper<_Tp> __t) _NOEXCEPT
-{
-    return cref(__t.get());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp> void ref(const _Tp&&) = delete;
-template <class _Tp> void cref(const _Tp&&) = delete;
-#endif
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp, class, class = void>
-struct __is_transparent : false_type {};
-
-template <class _Tp, class _Up>
-struct __is_transparent<_Tp, _Up,
-                        typename __void_t<typename _Tp::is_transparent>::type>
-   : true_type {};
-#endif
-
-// allocator_arg_t
-
-struct _LIBCPP_TEMPLATE_VIS allocator_arg_t { };
-
-#if defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_LIBRARY)
-extern _LIBCPP_EXPORTED_FROM_ABI const allocator_arg_t allocator_arg;
-#else
-/* _LIBCPP_INLINE_VAR */ constexpr allocator_arg_t allocator_arg = allocator_arg_t();
-#endif
-
-// uses_allocator
-
-template <class _Tp>
-struct __has_allocator_type
-{
-private:
-    struct __two {char __lx; char __lxx;};
-    template <class _Up> static __two __test(...);
-    template <class _Up> static char __test(typename _Up::allocator_type* = 0);
-public:
-    static const bool value = sizeof(__test<_Tp>(0)) == 1;
-};
-
-template <class _Tp, class _Alloc, bool = __has_allocator_type<_Tp>::value>
-struct __uses_allocator
-    : public integral_constant<bool,
-        is_convertible<_Alloc, typename _Tp::allocator_type>::value>
-{
-};
-
-template <class _Tp, class _Alloc>
-struct __uses_allocator<_Tp, _Alloc, false>
-    : public false_type
-{
-};
-
-template <class _Tp, class _Alloc>
-struct _LIBCPP_TEMPLATE_VIS uses_allocator
-    : public __uses_allocator<_Tp, _Alloc>
-{
-};
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp, class _Alloc>
-_LIBCPP_INLINE_VAR constexpr size_t uses_allocator_v = uses_allocator<_Tp, _Alloc>::value;
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-// allocator construction
-
-template <class _Tp, class _Alloc, class ..._Args>
-struct __uses_alloc_ctor_imp
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename __uncvref<_Alloc>::type _RawAlloc;
-    static const bool __ua = uses_allocator<_Tp, _RawAlloc>::value;
-    static const bool __ic =
-        is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value;
-    static const int value = __ua ? 2 - __ic : 0;
-};
-
-template <class _Tp, class _Alloc, class ..._Args>
-struct __uses_alloc_ctor
-    : integral_constant<int, __uses_alloc_ctor_imp<_Tp, _Alloc, _Args...>::value>
-    {};
-
-template <class _Tp, class _Allocator, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-void __user_alloc_construct_impl (integral_constant<int, 0>, _Tp *__storage, const _Allocator &, _Args &&... __args )
-{
-    new (__storage) _Tp (_VSTD::forward<_Args>(__args)...);
-}
-
-// FIXME: This should have a version which takes a non-const alloc.
-template <class _Tp, class _Allocator, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-void __user_alloc_construct_impl (integral_constant<int, 1>, _Tp *__storage, const _Allocator &__a, _Args &&... __args )
-{
-    new (__storage) _Tp (allocator_arg, __a, _VSTD::forward<_Args>(__args)...);
-}
-
-// FIXME: This should have a version which takes a non-const alloc.
-template <class _Tp, class _Allocator, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-void __user_alloc_construct_impl (integral_constant<int, 2>, _Tp *__storage, const _Allocator &__a, _Args &&... __args )
-{
-    new (__storage) _Tp (_VSTD::forward<_Args>(__args)..., __a);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_FUNCTIONAL_BASE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__hash_table b/r21/sources/cxx-stl/llvm-libc++/include/__hash_table
deleted file mode 100644
index 0b953f5..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__hash_table
+++ /dev/null
@@ -1,2913 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP__HASH_TABLE
-#define _LIBCPP__HASH_TABLE
-
-#include <__config>
-#include <initializer_list>
-#include <memory>
-#include <iterator>
-#include <algorithm>
-#include <cmath>
-#include <utility>
-#include <type_traits>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Key, class _Tp>
-struct __hash_value_type;
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp>
-struct __is_hash_value_type_imp : false_type {};
-
-template <class _Key, class _Value>
-struct __is_hash_value_type_imp<__hash_value_type<_Key, _Value>> : true_type {};
-
-template <class ..._Args>
-struct __is_hash_value_type : false_type {};
-
-template <class _One>
-struct __is_hash_value_type<_One> : __is_hash_value_type_imp<typename __uncvref<_One>::type> {};
-#endif
-
-_LIBCPP_FUNC_VIS
-size_t __next_prime(size_t __n);
-
-template <class _NodePtr>
-struct __hash_node_base
-{
-    typedef typename pointer_traits<_NodePtr>::element_type __node_type;
-    typedef __hash_node_base __first_node;
-    typedef typename __rebind_pointer<_NodePtr, __first_node>::type __node_base_pointer;
-    typedef _NodePtr __node_pointer;
-
-#if defined(_LIBCPP_ABI_FIX_UNORDERED_NODE_POINTER_UB)
-  typedef __node_base_pointer __next_pointer;
-#else
-  typedef typename conditional<
-      is_pointer<__node_pointer>::value,
-      __node_base_pointer,
-      __node_pointer>::type   __next_pointer;
-#endif
-
-    __next_pointer    __next_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __next_pointer __ptr() _NOEXCEPT {
-        return static_cast<__next_pointer>(
-            pointer_traits<__node_base_pointer>::pointer_to(*this));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __node_pointer __upcast() _NOEXCEPT {
-        return static_cast<__node_pointer>(
-            pointer_traits<__node_base_pointer>::pointer_to(*this));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t __hash() const _NOEXCEPT {
-        return static_cast<__node_type const&>(*this).__hash_;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __hash_node_base() _NOEXCEPT : __next_(nullptr) {}
-};
-
-template <class _Tp, class _VoidPtr>
-struct __hash_node
-    : public __hash_node_base
-             <
-                 typename __rebind_pointer<_VoidPtr, __hash_node<_Tp, _VoidPtr> >::type
-             >
-{
-    typedef _Tp __node_value_type;
-
-    size_t            __hash_;
-    __node_value_type __value_;
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-__is_hash_power2(size_t __bc)
-{
-    return __bc > 2 && !(__bc & (__bc - 1));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-size_t
-__constrain_hash(size_t __h, size_t __bc)
-{
-    return !(__bc & (__bc - 1)) ? __h & (__bc - 1) :
-        (__h < __bc ? __h : __h % __bc);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-size_t
-__next_hash_pow2(size_t __n)
-{
-    return __n < 2 ? __n : (size_t(1) << (std::numeric_limits<size_t>::digits - __libcpp_clz(__n-1)));
-}
-
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc> class __hash_table;
-
-template <class _NodePtr>      class _LIBCPP_TEMPLATE_VIS __hash_iterator;
-template <class _ConstNodePtr> class _LIBCPP_TEMPLATE_VIS __hash_const_iterator;
-template <class _NodePtr>      class _LIBCPP_TEMPLATE_VIS __hash_local_iterator;
-template <class _ConstNodePtr> class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator;
-template <class _HashIterator> class _LIBCPP_TEMPLATE_VIS __hash_map_iterator;
-template <class _HashIterator> class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator;
-
-template <class _Tp>
-struct __hash_key_value_types {
-  static_assert(!is_reference<_Tp>::value && !is_const<_Tp>::value, "");
-  typedef _Tp key_type;
-  typedef _Tp __node_value_type;
-  typedef _Tp __container_value_type;
-  static const bool __is_map = false;
-
-  _LIBCPP_INLINE_VISIBILITY
-  static key_type const& __get_key(_Tp const& __v) {
-    return __v;
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type const& __get_value(__node_value_type const& __v) {
-    return __v;
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type* __get_ptr(__node_value_type& __n) {
-    return _VSTD::addressof(__n);
-  }
-#ifndef _LIBCPP_CXX03_LANG
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type&& __move(__node_value_type& __v) {
-    return _VSTD::move(__v);
-  }
-#endif
-};
-
-template <class _Key, class _Tp>
-struct __hash_key_value_types<__hash_value_type<_Key, _Tp> > {
-  typedef _Key                                         key_type;
-  typedef _Tp                                          mapped_type;
-  typedef __hash_value_type<_Key, _Tp>                 __node_value_type;
-  typedef pair<const _Key, _Tp>                        __container_value_type;
-  typedef __container_value_type                       __map_value_type;
-  static const bool __is_map = true;
-
-  _LIBCPP_INLINE_VISIBILITY
-  static key_type const& __get_key(__container_value_type const& __v) {
-    return __v.first;
-  }
-
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-  static typename enable_if<__is_same_uncvref<_Up, __node_value_type>::value,
-      __container_value_type const&>::type
-  __get_value(_Up& __t) {
-    return __t.__get_value();
-  }
-
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-  static typename enable_if<__is_same_uncvref<_Up, __container_value_type>::value,
-      __container_value_type const&>::type
-  __get_value(_Up& __t) {
-    return __t;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type* __get_ptr(__node_value_type& __n) {
-    return _VSTD::addressof(__n.__get_value());
-  }
-#ifndef _LIBCPP_CXX03_LANG
-  _LIBCPP_INLINE_VISIBILITY
-  static pair<key_type&&, mapped_type&&> __move(__node_value_type& __v) {
-    return __v.__move();
-  }
-#endif
-
-};
-
-template <class _Tp, class _AllocPtr, class _KVTypes = __hash_key_value_types<_Tp>,
-          bool = _KVTypes::__is_map>
-struct __hash_map_pointer_types {};
-
-template <class _Tp, class _AllocPtr, class _KVTypes>
-struct __hash_map_pointer_types<_Tp, _AllocPtr, _KVTypes, true> {
-  typedef typename _KVTypes::__map_value_type   _Mv;
-  typedef typename __rebind_pointer<_AllocPtr, _Mv>::type
-                                                       __map_value_type_pointer;
-  typedef typename __rebind_pointer<_AllocPtr, const _Mv>::type
-                                                 __const_map_value_type_pointer;
-};
-
-template <class _NodePtr, class _NodeT = typename pointer_traits<_NodePtr>::element_type>
-struct __hash_node_types;
-
-template <class _NodePtr, class _Tp, class _VoidPtr>
-struct __hash_node_types<_NodePtr, __hash_node<_Tp, _VoidPtr> >
-    : public __hash_key_value_types<_Tp>, __hash_map_pointer_types<_Tp, _VoidPtr>
-
-{
-  typedef __hash_key_value_types<_Tp>           __base;
-
-public:
-  typedef ptrdiff_t difference_type;
-  typedef size_t size_type;
-
-  typedef typename __rebind_pointer<_NodePtr, void>::type       __void_pointer;
-
-  typedef typename pointer_traits<_NodePtr>::element_type       __node_type;
-  typedef _NodePtr                                              __node_pointer;
-
-  typedef __hash_node_base<__node_pointer>                      __node_base_type;
-  typedef typename __rebind_pointer<_NodePtr, __node_base_type>::type
-                                                             __node_base_pointer;
-
-  typedef typename __node_base_type::__next_pointer          __next_pointer;
-
-  typedef _Tp                                                 __node_value_type;
-  typedef typename __rebind_pointer<_VoidPtr, __node_value_type>::type
-                                                      __node_value_type_pointer;
-  typedef typename __rebind_pointer<_VoidPtr, const __node_value_type>::type
-                                                __const_node_value_type_pointer;
-
-private:
-    static_assert(!is_const<__node_type>::value,
-                "_NodePtr should never be a pointer to const");
-    static_assert((is_same<typename pointer_traits<_VoidPtr>::element_type, void>::value),
-                  "_VoidPtr does not point to unqualified void type");
-    static_assert((is_same<typename __rebind_pointer<_VoidPtr, __node_type>::type,
-                          _NodePtr>::value), "_VoidPtr does not rebind to _NodePtr.");
-};
-
-template <class _HashIterator>
-struct __hash_node_types_from_iterator;
-template <class _NodePtr>
-struct __hash_node_types_from_iterator<__hash_iterator<_NodePtr> > : __hash_node_types<_NodePtr> {};
-template <class _NodePtr>
-struct __hash_node_types_from_iterator<__hash_const_iterator<_NodePtr> > : __hash_node_types<_NodePtr> {};
-template <class _NodePtr>
-struct __hash_node_types_from_iterator<__hash_local_iterator<_NodePtr> > : __hash_node_types<_NodePtr> {};
-template <class _NodePtr>
-struct __hash_node_types_from_iterator<__hash_const_local_iterator<_NodePtr> > : __hash_node_types<_NodePtr> {};
-
-
-template <class _NodeValueTp, class _VoidPtr>
-struct __make_hash_node_types {
-  typedef __hash_node<_NodeValueTp, _VoidPtr> _NodeTp;
-  typedef typename __rebind_pointer<_VoidPtr, _NodeTp>::type _NodePtr;
-  typedef __hash_node_types<_NodePtr> type;
-};
-
-template <class _NodePtr>
-class _LIBCPP_TEMPLATE_VIS __hash_iterator
-{
-    typedef __hash_node_types<_NodePtr> _NodeTypes;
-    typedef _NodePtr                            __node_pointer;
-    typedef typename _NodeTypes::__next_pointer __next_pointer;
-
-    __next_pointer            __node_;
-
-public:
-    typedef forward_iterator_tag                           iterator_category;
-    typedef typename _NodeTypes::__node_value_type         value_type;
-    typedef typename _NodeTypes::difference_type           difference_type;
-    typedef value_type&                                    reference;
-    typedef typename _NodeTypes::__node_value_type_pointer pointer;
-
-    _LIBCPP_INLINE_VISIBILITY __hash_iterator() _NOEXCEPT : __node_(nullptr) {
-        _LIBCPP_DEBUG_MODE(__get_db()->__insert_i(this));
-    }
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_iterator(const __hash_iterator& __i)
-        : __node_(__i.__node_)
-    {
-        __get_db()->__iterator_copy(this, &__i);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__hash_iterator()
-    {
-        __get_db()->__erase_i(this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_iterator& operator=(const __hash_iterator& __i)
-    {
-        if (this != &__i)
-        {
-            __get_db()->__iterator_copy(this, &__i);
-            __node_ = __i.__node_;
-        }
-        return *this;
-    }
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                             "Attempted to dereference a non-dereferenceable unordered container iterator");
-        return __node_->__upcast()->__value_;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                           "Attempted to dereference a non-dereferenceable unordered container iterator");
-        return pointer_traits<pointer>::pointer_to(__node_->__upcast()->__value_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_iterator& operator++() {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to increment non-incrementable unordered container iterator");
-        __node_ = __node_->__next_;
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_iterator operator++(int)
-    {
-        __hash_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __hash_iterator& __x, const __hash_iterator& __y)
-    {
-        return __x.__node_ == __y.__node_;
-    }
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __hash_iterator& __x, const __hash_iterator& __y)
-        {return !(__x == __y);}
-
-private:
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_iterator(__next_pointer __node, const void* __c) _NOEXCEPT
-        : __node_(__node)
-        {
-            __get_db()->__insert_ic(this, __c);
-        }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_iterator(__next_pointer __node) _NOEXCEPT
-        : __node_(__node)
-        {}
-#endif
-    template <class, class, class, class> friend class __hash_table;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_map_iterator;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_map;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_multimap;
-};
-
-template <class _NodePtr>
-class _LIBCPP_TEMPLATE_VIS __hash_const_iterator
-{
-    static_assert(!is_const<typename pointer_traits<_NodePtr>::element_type>::value, "");
-    typedef __hash_node_types<_NodePtr> _NodeTypes;
-    typedef _NodePtr                            __node_pointer;
-    typedef typename _NodeTypes::__next_pointer __next_pointer;
-
-    __next_pointer __node_;
-
-public:
-    typedef __hash_iterator<_NodePtr> __non_const_iterator;
-
-    typedef forward_iterator_tag                                 iterator_category;
-    typedef typename _NodeTypes::__node_value_type               value_type;
-    typedef typename _NodeTypes::difference_type                 difference_type;
-    typedef const value_type&                                    reference;
-    typedef typename _NodeTypes::__const_node_value_type_pointer pointer;
-
-
-    _LIBCPP_INLINE_VISIBILITY __hash_const_iterator() _NOEXCEPT : __node_(nullptr) {
-        _LIBCPP_DEBUG_MODE(__get_db()->__insert_i(this));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_iterator(const __non_const_iterator& __x) _NOEXCEPT
-        : __node_(__x.__node_)
-    {
-        _LIBCPP_DEBUG_MODE(__get_db()->__iterator_copy(this, &__x));
-    }
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_iterator(const __hash_const_iterator& __i)
-        : __node_(__i.__node_)
-    {
-        __get_db()->__iterator_copy(this, &__i);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__hash_const_iterator()
-    {
-        __get_db()->__erase_i(this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_iterator& operator=(const __hash_const_iterator& __i)
-    {
-        if (this != &__i)
-        {
-            __get_db()->__iterator_copy(this, &__i);
-            __node_ = __i.__node_;
-        }
-        return *this;
-    }
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                           "Attempted to dereference a non-dereferenceable unordered container const_iterator");
-        return __node_->__upcast()->__value_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                           "Attempted to dereference a non-dereferenceable unordered container const_iterator");
-        return pointer_traits<pointer>::pointer_to(__node_->__upcast()->__value_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_iterator& operator++() {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                             "Attempted to increment non-incrementable unordered container const_iterator");
-        __node_ = __node_->__next_;
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_iterator operator++(int)
-    {
-        __hash_const_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __hash_const_iterator& __x, const __hash_const_iterator& __y)
-    {
-        return __x.__node_ == __y.__node_;
-    }
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __hash_const_iterator& __x, const __hash_const_iterator& __y)
-        {return !(__x == __y);}
-
-private:
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_iterator(__next_pointer __node, const void* __c) _NOEXCEPT
-        : __node_(__node)
-        {
-            __get_db()->__insert_ic(this, __c);
-        }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_iterator(__next_pointer __node) _NOEXCEPT
-        : __node_(__node)
-        {}
-#endif
-    template <class, class, class, class> friend class __hash_table;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_map;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_multimap;
-};
-
-template <class _NodePtr>
-class _LIBCPP_TEMPLATE_VIS __hash_local_iterator
-{
-    typedef __hash_node_types<_NodePtr> _NodeTypes;
-    typedef _NodePtr                            __node_pointer;
-    typedef typename _NodeTypes::__next_pointer __next_pointer;
-
-    __next_pointer         __node_;
-    size_t                 __bucket_;
-    size_t                 __bucket_count_;
-
-public:
-    typedef forward_iterator_tag                                iterator_category;
-    typedef typename _NodeTypes::__node_value_type              value_type;
-    typedef typename _NodeTypes::difference_type                difference_type;
-    typedef value_type&                                         reference;
-    typedef typename _NodeTypes::__node_value_type_pointer      pointer;
-
-    _LIBCPP_INLINE_VISIBILITY __hash_local_iterator() _NOEXCEPT : __node_(nullptr) {
-        _LIBCPP_DEBUG_MODE(__get_db()->__insert_i(this));
-    }
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_local_iterator(const __hash_local_iterator& __i)
-        : __node_(__i.__node_),
-          __bucket_(__i.__bucket_),
-          __bucket_count_(__i.__bucket_count_)
-    {
-        __get_db()->__iterator_copy(this, &__i);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__hash_local_iterator()
-    {
-        __get_db()->__erase_i(this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_local_iterator& operator=(const __hash_local_iterator& __i)
-    {
-        if (this != &__i)
-        {
-            __get_db()->__iterator_copy(this, &__i);
-            __node_ = __i.__node_;
-            __bucket_ = __i.__bucket_;
-            __bucket_count_ = __i.__bucket_count_;
-        }
-        return *this;
-    }
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                           "Attempted to dereference a non-dereferenceable unordered container local_iterator");
-        return __node_->__upcast()->__value_;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                             "Attempted to dereference a non-dereferenceable unordered container local_iterator");
-        return pointer_traits<pointer>::pointer_to(__node_->__upcast()->__value_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_local_iterator& operator++() {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to increment non-incrementable unordered container local_iterator");
-        __node_ = __node_->__next_;
-        if (__node_ != nullptr && __constrain_hash(__node_->__hash(), __bucket_count_) != __bucket_)
-            __node_ = nullptr;
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_local_iterator operator++(int)
-    {
-        __hash_local_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __hash_local_iterator& __x, const __hash_local_iterator& __y)
-    {
-        return __x.__node_ == __y.__node_;
-    }
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __hash_local_iterator& __x, const __hash_local_iterator& __y)
-        {return !(__x == __y);}
-
-private:
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_local_iterator(__next_pointer __node, size_t __bucket,
-                          size_t __bucket_count, const void* __c) _NOEXCEPT
-        : __node_(__node),
-          __bucket_(__bucket),
-          __bucket_count_(__bucket_count)
-        {
-            __get_db()->__insert_ic(this, __c);
-            if (__node_ != nullptr)
-                __node_ = __node_->__next_;
-        }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_local_iterator(__next_pointer __node, size_t __bucket,
-                          size_t __bucket_count) _NOEXCEPT
-        : __node_(__node),
-          __bucket_(__bucket),
-          __bucket_count_(__bucket_count)
-        {
-            if (__node_ != nullptr)
-                __node_ = __node_->__next_;
-        }
-#endif
-    template <class, class, class, class> friend class __hash_table;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_map_iterator;
-};
-
-template <class _ConstNodePtr>
-class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator
-{
-    typedef __hash_node_types<_ConstNodePtr> _NodeTypes;
-    typedef _ConstNodePtr                       __node_pointer;
-    typedef typename _NodeTypes::__next_pointer __next_pointer;
-
-    __next_pointer         __node_;
-    size_t                 __bucket_;
-    size_t                 __bucket_count_;
-
-    typedef pointer_traits<__node_pointer>          __pointer_traits;
-    typedef typename __pointer_traits::element_type __node;
-    typedef typename remove_const<__node>::type     __non_const_node;
-    typedef typename __rebind_pointer<__node_pointer, __non_const_node>::type
-        __non_const_node_pointer;
-public:
-    typedef __hash_local_iterator<__non_const_node_pointer>
-                                                    __non_const_iterator;
-
-    typedef forward_iterator_tag                                 iterator_category;
-    typedef typename _NodeTypes::__node_value_type               value_type;
-    typedef typename _NodeTypes::difference_type                 difference_type;
-    typedef const value_type&                                    reference;
-    typedef typename _NodeTypes::__const_node_value_type_pointer pointer;
-
-
-    _LIBCPP_INLINE_VISIBILITY __hash_const_local_iterator() _NOEXCEPT : __node_(nullptr) {
-        _LIBCPP_DEBUG_MODE(__get_db()->__insert_i(this));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_local_iterator(const __non_const_iterator& __x) _NOEXCEPT
-        : __node_(__x.__node_),
-          __bucket_(__x.__bucket_),
-          __bucket_count_(__x.__bucket_count_)
-    {
-        _LIBCPP_DEBUG_MODE(__get_db()->__iterator_copy(this, &__x));
-    }
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_local_iterator(const __hash_const_local_iterator& __i)
-        : __node_(__i.__node_),
-          __bucket_(__i.__bucket_),
-          __bucket_count_(__i.__bucket_count_)
-    {
-        __get_db()->__iterator_copy(this, &__i);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__hash_const_local_iterator()
-    {
-        __get_db()->__erase_i(this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_local_iterator& operator=(const __hash_const_local_iterator& __i)
-    {
-        if (this != &__i)
-        {
-            __get_db()->__iterator_copy(this, &__i);
-            __node_ = __i.__node_;
-            __bucket_ = __i.__bucket_;
-            __bucket_count_ = __i.__bucket_count_;
-        }
-        return *this;
-    }
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                           "Attempted to dereference a non-dereferenceable unordered container const_local_iterator");
-        return __node_->__upcast()->__value_;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                           "Attempted to dereference a non-dereferenceable unordered container const_local_iterator");
-        return pointer_traits<pointer>::pointer_to(__node_->__upcast()->__value_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_local_iterator& operator++() {
-        _LIBCPP_DEBUG_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to increment non-incrementable unordered container const_local_iterator");
-        __node_ = __node_->__next_;
-        if (__node_ != nullptr && __constrain_hash(__node_->__hash(), __bucket_count_) != __bucket_)
-            __node_ = nullptr;
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_local_iterator operator++(int)
-    {
-        __hash_const_local_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __hash_const_local_iterator& __x, const __hash_const_local_iterator& __y)
-    {
-        return __x.__node_ == __y.__node_;
-    }
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __hash_const_local_iterator& __x, const __hash_const_local_iterator& __y)
-        {return !(__x == __y);}
-
-private:
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_local_iterator(__next_pointer __node, size_t __bucket,
-                                size_t __bucket_count, const void* __c) _NOEXCEPT
-        : __node_(__node),
-          __bucket_(__bucket),
-          __bucket_count_(__bucket_count)
-        {
-            __get_db()->__insert_ic(this, __c);
-            if (__node_ != nullptr)
-                __node_ = __node_->__next_;
-        }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_const_local_iterator(__next_pointer __node, size_t __bucket,
-                                size_t __bucket_count) _NOEXCEPT
-        : __node_(__node),
-          __bucket_(__bucket),
-          __bucket_count_(__bucket_count)
-        {
-            if (__node_ != nullptr)
-                __node_ = __node_->__next_;
-        }
-#endif
-    template <class, class, class, class> friend class __hash_table;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator;
-};
-
-template <class _Alloc>
-class __bucket_list_deallocator
-{
-    typedef _Alloc                                          allocator_type;
-    typedef allocator_traits<allocator_type>                __alloc_traits;
-    typedef typename __alloc_traits::size_type              size_type;
-
-    __compressed_pair<size_type, allocator_type> __data_;
-public:
-    typedef typename __alloc_traits::pointer pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __bucket_list_deallocator()
-        _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
-        : __data_(0) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __bucket_list_deallocator(const allocator_type& __a, size_type __size)
-        _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
-        : __data_(__size, __a) {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __bucket_list_deallocator(__bucket_list_deallocator&& __x)
-        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
-        : __data_(_VSTD::move(__x.__data_))
-    {
-        __x.size() = 0;
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type& size() _NOEXCEPT {return __data_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type  size() const _NOEXCEPT {return __data_.first();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type& __alloc() _NOEXCEPT {return __data_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const allocator_type& __alloc() const _NOEXCEPT {return __data_.second();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()(pointer __p) _NOEXCEPT
-    {
-        __alloc_traits::deallocate(__alloc(), __p, size());
-    }
-};
-
-template <class _Alloc> class __hash_map_node_destructor;
-
-template <class _Alloc>
-class __hash_node_destructor
-{
-    typedef _Alloc                                          allocator_type;
-    typedef allocator_traits<allocator_type>                __alloc_traits;
-
-public:
-    typedef typename __alloc_traits::pointer                pointer;
-private:
-    typedef __hash_node_types<pointer> _NodeTypes;
-
-    allocator_type& __na_;
-
-    __hash_node_destructor& operator=(const __hash_node_destructor&);
-
-public:
-    bool __value_constructed;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __hash_node_destructor(allocator_type& __na,
-                                    bool __constructed = false) _NOEXCEPT
-        : __na_(__na),
-          __value_constructed(__constructed)
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()(pointer __p) _NOEXCEPT
-    {
-        if (__value_constructed)
-            __alloc_traits::destroy(__na_, _NodeTypes::__get_ptr(__p->__value_));
-        if (__p)
-            __alloc_traits::deallocate(__na_, __p, 1);
-    }
-
-    template <class> friend class __hash_map_node_destructor;
-};
-
-#if _LIBCPP_STD_VER > 14
-template <class _NodeType, class _Alloc>
-struct __generic_container_node_destructor;
-
-template <class _Tp, class _VoidPtr, class _Alloc>
-struct __generic_container_node_destructor<__hash_node<_Tp, _VoidPtr>, _Alloc>
-    : __hash_node_destructor<_Alloc>
-{
-    using __hash_node_destructor<_Alloc>::__hash_node_destructor;
-};
-#endif
-
-template <class _Key, class _Hash, class _Equal>
-struct __enforce_unordered_container_requirements {
-#ifndef _LIBCPP_CXX03_LANG
-    static_assert(__check_hash_requirements<_Key, _Hash>::value,
-    "the specified hash does not meet the Hash requirements");
-    static_assert(is_copy_constructible<_Equal>::value,
-    "the specified comparator is required to be copy constructible");
-#endif
-    typedef int type;
-};
-
-template <class _Key, class _Hash, class _Equal>
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_DIAGNOSE_WARNING(!__invokable<_Equal const&, _Key const&, _Key const&>::value,
-    "the specified comparator type does not provide a viable const call operator")
-    _LIBCPP_DIAGNOSE_WARNING(!__invokable<_Hash const&, _Key const&>::value,
-    "the specified hash functor does not provide a viable const call operator")
-#endif
-typename __enforce_unordered_container_requirements<_Key, _Hash, _Equal>::type
-__diagnose_unordered_container_requirements(int);
-
-// This dummy overload is used so that the compiler won't emit a spurious
-// "no matching function for call to __diagnose_unordered_xxx" diagnostic
-// when the overload above causes a hard error.
-template <class _Key, class _Hash, class _Equal>
-int __diagnose_unordered_container_requirements(void*);
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-class __hash_table
-{
-public:
-    typedef _Tp    value_type;
-    typedef _Hash  hasher;
-    typedef _Equal key_equal;
-    typedef _Alloc allocator_type;
-
-private:
-    typedef allocator_traits<allocator_type> __alloc_traits;
-    typedef typename
-      __make_hash_node_types<value_type, typename __alloc_traits::void_pointer>::type
-                                                                     _NodeTypes;
-public:
-
-    typedef typename _NodeTypes::__node_value_type           __node_value_type;
-    typedef typename _NodeTypes::__container_value_type      __container_value_type;
-    typedef typename _NodeTypes::key_type                    key_type;
-    typedef value_type&                              reference;
-    typedef const value_type&                        const_reference;
-    typedef typename __alloc_traits::pointer         pointer;
-    typedef typename __alloc_traits::const_pointer   const_pointer;
-#ifndef _LIBCPP_ABI_FIX_UNORDERED_CONTAINER_SIZE_TYPE
-    typedef typename __alloc_traits::size_type       size_type;
-#else
-    typedef typename _NodeTypes::size_type           size_type;
-#endif
-    typedef typename _NodeTypes::difference_type     difference_type;
-public:
-    // Create __node
-
-    typedef typename _NodeTypes::__node_type __node;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __node>::type __node_allocator;
-    typedef allocator_traits<__node_allocator>       __node_traits;
-    typedef typename _NodeTypes::__void_pointer      __void_pointer;
-    typedef typename _NodeTypes::__node_pointer      __node_pointer;
-    typedef typename _NodeTypes::__node_pointer      __node_const_pointer;
-    typedef typename _NodeTypes::__node_base_type    __first_node;
-    typedef typename _NodeTypes::__node_base_pointer __node_base_pointer;
-    typedef typename _NodeTypes::__next_pointer      __next_pointer;
-
-private:
-    // check for sane allocator pointer rebinding semantics. Rebinding the
-    // allocator for a new pointer type should be exactly the same as rebinding
-    // the pointer using 'pointer_traits'.
-    static_assert((is_same<__node_pointer, typename __node_traits::pointer>::value),
-                  "Allocator does not rebind pointers in a sane manner.");
-    typedef typename __rebind_alloc_helper<__node_traits, __first_node>::type
-        __node_base_allocator;
-    typedef allocator_traits<__node_base_allocator> __node_base_traits;
-    static_assert((is_same<__node_base_pointer, typename __node_base_traits::pointer>::value),
-                 "Allocator does not rebind pointers in a sane manner.");
-
-private:
-
-    typedef typename __rebind_alloc_helper<__node_traits, __next_pointer>::type __pointer_allocator;
-    typedef __bucket_list_deallocator<__pointer_allocator> __bucket_list_deleter;
-    typedef unique_ptr<__next_pointer[], __bucket_list_deleter> __bucket_list;
-    typedef allocator_traits<__pointer_allocator>          __pointer_alloc_traits;
-    typedef typename __bucket_list_deleter::pointer       __node_pointer_pointer;
-
-    // --- Member data begin ---
-    __bucket_list                                         __bucket_list_;
-    __compressed_pair<__first_node, __node_allocator>     __p1_;
-    __compressed_pair<size_type, hasher>                  __p2_;
-    __compressed_pair<float, key_equal>                   __p3_;
-    // --- Member data end ---
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type& size() _NOEXCEPT {return __p2_.first();}
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    size_type  size() const _NOEXCEPT {return __p2_.first();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher& hash_function() _NOEXCEPT {return __p2_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const hasher& hash_function() const _NOEXCEPT {return __p2_.second();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    float& max_load_factor() _NOEXCEPT {return __p3_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-    float  max_load_factor() const _NOEXCEPT {return __p3_.first();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal& key_eq() _NOEXCEPT {return __p3_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const key_equal& key_eq() const _NOEXCEPT {return __p3_.second();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __node_allocator& __node_alloc() _NOEXCEPT {return __p1_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const __node_allocator& __node_alloc() const _NOEXCEPT
-        {return __p1_.second();}
-
-public:
-    typedef __hash_iterator<__node_pointer>                   iterator;
-    typedef __hash_const_iterator<__node_pointer>             const_iterator;
-    typedef __hash_local_iterator<__node_pointer>             local_iterator;
-    typedef __hash_const_local_iterator<__node_pointer>       const_local_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_table()
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<__bucket_list>::value &&
-            is_nothrow_default_constructible<__first_node>::value &&
-            is_nothrow_default_constructible<__node_allocator>::value &&
-            is_nothrow_default_constructible<hasher>::value &&
-            is_nothrow_default_constructible<key_equal>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_table(const hasher& __hf, const key_equal& __eql);
-    __hash_table(const hasher& __hf, const key_equal& __eql,
-                 const allocator_type& __a);
-    explicit __hash_table(const allocator_type& __a);
-    __hash_table(const __hash_table& __u);
-    __hash_table(const __hash_table& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
-    __hash_table(__hash_table&& __u)
-        _NOEXCEPT_(
-            is_nothrow_move_constructible<__bucket_list>::value &&
-            is_nothrow_move_constructible<__first_node>::value &&
-            is_nothrow_move_constructible<__node_allocator>::value &&
-            is_nothrow_move_constructible<hasher>::value &&
-            is_nothrow_move_constructible<key_equal>::value);
-    __hash_table(__hash_table&& __u, const allocator_type& __a);
-#endif  // _LIBCPP_CXX03_LANG
-    ~__hash_table();
-
-    __hash_table& operator=(const __hash_table& __u);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_table& operator=(__hash_table&& __u)
-        _NOEXCEPT_(
-            __node_traits::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<__node_allocator>::value &&
-            is_nothrow_move_assignable<hasher>::value &&
-            is_nothrow_move_assignable<key_equal>::value);
-#endif
-    template <class _InputIterator>
-        void __assign_unique(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        void __assign_multi(_InputIterator __first, _InputIterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT
-    {
-        return std::min<size_type>(
-            __node_traits::max_size(__node_alloc()),
-            numeric_limits<difference_type >::max()
-        );
-    }
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    __next_pointer __node_insert_multi_prepare(size_t __cp_hash,
-                                               value_type& __cp_val);
-    _LIBCPP_INLINE_VISIBILITY
-    void __node_insert_multi_perform(__node_pointer __cp,
-                                     __next_pointer __pn) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __next_pointer __node_insert_unique_prepare(size_t __nd_hash,
-                                                value_type& __nd_val);
-    _LIBCPP_INLINE_VISIBILITY
-    void __node_insert_unique_perform(__node_pointer __ptr) _NOEXCEPT;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __node_insert_unique(__node_pointer __nd);
-    _LIBCPP_INLINE_VISIBILITY
-    iterator             __node_insert_multi(__node_pointer __nd);
-    _LIBCPP_INLINE_VISIBILITY
-    iterator             __node_insert_multi(const_iterator __p,
-                                             __node_pointer __nd);
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Key, class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __emplace_unique_key_args(_Key const& __k, _Args&&... __args);
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __emplace_unique_impl(_Args&&... __args);
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __emplace_unique(_Pp&& __x) {
-      return __emplace_unique_extract_key(_VSTD::forward<_Pp>(__x),
-                                          __can_extract_key<_Pp, key_type>());
-    }
-
-    template <class _First, class _Second>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<
-        __can_extract_map_key<_First, key_type, __container_value_type>::value,
-        pair<iterator, bool>
-    >::type __emplace_unique(_First&& __f, _Second&& __s) {
-        return __emplace_unique_key_args(__f, _VSTD::forward<_First>(__f),
-                                              _VSTD::forward<_Second>(__s));
-    }
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __emplace_unique(_Args&&... __args) {
-      return __emplace_unique_impl(_VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-    __emplace_unique_extract_key(_Pp&& __x, __extract_key_fail_tag) {
-      return __emplace_unique_impl(_VSTD::forward<_Pp>(__x));
-    }
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-    __emplace_unique_extract_key(_Pp&& __x, __extract_key_self_tag) {
-      return __emplace_unique_key_args(__x, _VSTD::forward<_Pp>(__x));
-    }
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-    __emplace_unique_extract_key(_Pp&& __x, __extract_key_first_tag) {
-      return __emplace_unique_key_args(__x.first, _VSTD::forward<_Pp>(__x));
-    }
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __emplace_multi(_Args&&... __args);
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __emplace_hint_multi(const_iterator __p, _Args&&... __args);
-
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-    __insert_unique(__container_value_type&& __x) {
-      return __emplace_unique_key_args(_NodeTypes::__get_key(__x), _VSTD::move(__x));
-    }
-
-    template <class _Pp, class = typename enable_if<
-            !__is_same_uncvref<_Pp, __container_value_type>::value
-        >::type>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __insert_unique(_Pp&& __x) {
-      return __emplace_unique(_VSTD::forward<_Pp>(__x));
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_multi(_Pp&& __x) {
-      return __emplace_multi(_VSTD::forward<_Pp>(__x));
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_multi(const_iterator __p, _Pp&& __x) {
-        return __emplace_hint_multi(__p, _VSTD::forward<_Pp>(__x));
-    }
-
-#else  // !defined(_LIBCPP_CXX03_LANG)
-    template <class _Key, class _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __emplace_unique_key_args(_Key const&, _Args& __args);
-
-    iterator __insert_multi(const __container_value_type& __x);
-    iterator __insert_multi(const_iterator __p, const __container_value_type& __x);
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __insert_unique(const __container_value_type& __x) {
-        return __emplace_unique_key_args(_NodeTypes::__get_key(__x), __x);
-    }
-
-#if _LIBCPP_STD_VER > 14
-    template <class _NodeHandle, class _InsertReturnType>
-    _LIBCPP_INLINE_VISIBILITY
-    _InsertReturnType __node_handle_insert_unique(_NodeHandle&& __nh);
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __node_handle_insert_unique(const_iterator __hint,
-                                         _NodeHandle&& __nh);
-    template <class _Table>
-    _LIBCPP_INLINE_VISIBILITY
-    void __node_handle_merge_unique(_Table& __source);
-
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __node_handle_insert_multi(_NodeHandle&& __nh);
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __node_handle_insert_multi(const_iterator __hint, _NodeHandle&& __nh);
-    template <class _Table>
-    _LIBCPP_INLINE_VISIBILITY
-    void __node_handle_merge_multi(_Table& __source);
-
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    _NodeHandle __node_handle_extract(key_type const& __key);
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    _NodeHandle __node_handle_extract(const_iterator __it);
-#endif
-
-    void clear() _NOEXCEPT;
-    void rehash(size_type __n);
-    _LIBCPP_INLINE_VISIBILITY void reserve(size_type __n)
-        {rehash(static_cast<size_type>(ceil(__n / max_load_factor())));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const _NOEXCEPT
-    {
-        return __bucket_list_.get_deleter().size();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT;
-
-    template <class _Key>
-        _LIBCPP_INLINE_VISIBILITY
-        size_type bucket(const _Key& __k) const
-        {
-            _LIBCPP_ASSERT(bucket_count() > 0,
-                "unordered container::bucket(key) called when bucket_count() == 0");
-            return __constrain_hash(hash_function()(__k), bucket_count());
-        }
-
-    template <class _Key>
-        iterator       find(const _Key& __x);
-    template <class _Key>
-        const_iterator find(const _Key& __x) const;
-
-    typedef __hash_node_destructor<__node_allocator> _Dp;
-    typedef unique_ptr<__node, _Dp> __node_holder;
-
-    iterator erase(const_iterator __p);
-    iterator erase(const_iterator __first, const_iterator __last);
-    template <class _Key>
-        size_type __erase_unique(const _Key& __k);
-    template <class _Key>
-        size_type __erase_multi(const _Key& __k);
-    __node_holder remove(const_iterator __p) _NOEXCEPT;
-
-    template <class _Key>
-        _LIBCPP_INLINE_VISIBILITY
-        size_type __count_unique(const _Key& __k) const;
-    template <class _Key>
-        size_type __count_multi(const _Key& __k) const;
-
-    template <class _Key>
-        pair<iterator, iterator>
-        __equal_range_unique(const _Key& __k);
-    template <class _Key>
-        pair<const_iterator, const_iterator>
-        __equal_range_unique(const _Key& __k) const;
-
-    template <class _Key>
-        pair<iterator, iterator>
-        __equal_range_multi(const _Key& __k);
-    template <class _Key>
-        pair<const_iterator, const_iterator>
-        __equal_range_multi(const _Key& __k) const;
-
-    void swap(__hash_table& __u)
-#if _LIBCPP_STD_VER <= 11
-        _NOEXCEPT_(
-            __is_nothrow_swappable<hasher>::value && __is_nothrow_swappable<key_equal>::value
-            && (!allocator_traits<__pointer_allocator>::propagate_on_container_swap::value
-                  || __is_nothrow_swappable<__pointer_allocator>::value)
-            && (!__node_traits::propagate_on_container_swap::value
-                  || __is_nothrow_swappable<__node_allocator>::value)
-            );
-#else
-     _NOEXCEPT_(__is_nothrow_swappable<hasher>::value && __is_nothrow_swappable<key_equal>::value);
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const _NOEXCEPT
-        {return max_size(); }
-    size_type bucket_size(size_type __n) const;
-    _LIBCPP_INLINE_VISIBILITY float load_factor() const _NOEXCEPT
-    {
-        size_type __bc = bucket_count();
-        return __bc != 0 ? (float)size() / __bc : 0.f;
-    }
-    _LIBCPP_INLINE_VISIBILITY void max_load_factor(float __mlf) _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__mlf > 0,
-            "unordered container::max_load_factor(lf) called with lf <= 0");
-        max_load_factor() = _VSTD::max(__mlf, load_factor());
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator
-    begin(size_type __n)
-    {
-        _LIBCPP_ASSERT(__n < bucket_count(),
-            "unordered container::begin(n) called with n >= bucket_count()");
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return local_iterator(__bucket_list_[__n], __n, bucket_count(), this);
-#else
-        return local_iterator(__bucket_list_[__n], __n, bucket_count());
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator
-    end(size_type __n)
-    {
-        _LIBCPP_ASSERT(__n < bucket_count(),
-            "unordered container::end(n) called with n >= bucket_count()");
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return local_iterator(nullptr, __n, bucket_count(), this);
-#else
-        return local_iterator(nullptr, __n, bucket_count());
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator
-    cbegin(size_type __n) const
-    {
-        _LIBCPP_ASSERT(__n < bucket_count(),
-            "unordered container::cbegin(n) called with n >= bucket_count()");
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return const_local_iterator(__bucket_list_[__n], __n, bucket_count(), this);
-#else
-        return const_local_iterator(__bucket_list_[__n], __n, bucket_count());
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator
-    cend(size_type __n) const
-    {
-        _LIBCPP_ASSERT(__n < bucket_count(),
-            "unordered container::cend(n) called with n >= bucket_count()");
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return const_local_iterator(nullptr, __n, bucket_count(), this);
-#else
-        return const_local_iterator(nullptr, __n, bucket_count());
-#endif
-    }
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    bool __dereferenceable(const const_iterator* __i) const;
-    bool __decrementable(const const_iterator* __i) const;
-    bool __addable(const const_iterator* __i, ptrdiff_t __n) const;
-    bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const;
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-private:
-    void __rehash(size_type __n);
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class ..._Args>
-    __node_holder __construct_node(_Args&& ...__args);
-
-    template <class _First, class ..._Rest>
-    __node_holder __construct_node_hash(size_t __hash, _First&& __f, _Rest&&... __rest);
-#else // _LIBCPP_CXX03_LANG
-    __node_holder __construct_node(const __container_value_type& __v);
-    __node_holder __construct_node_hash(size_t __hash, const __container_value_type& __v);
-#endif
-
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __hash_table& __u)
-        {__copy_assign_alloc(__u, integral_constant<bool,
-             __node_traits::propagate_on_container_copy_assignment::value>());}
-    void __copy_assign_alloc(const __hash_table& __u, true_type);
-    _LIBCPP_INLINE_VISIBILITY
-        void __copy_assign_alloc(const __hash_table&, false_type) {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    void __move_assign(__hash_table& __u, false_type);
-    void __move_assign(__hash_table& __u, true_type)
-        _NOEXCEPT_(
-            is_nothrow_move_assignable<__node_allocator>::value &&
-            is_nothrow_move_assignable<hasher>::value &&
-            is_nothrow_move_assignable<key_equal>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__hash_table& __u)
-        _NOEXCEPT_(
-            !__node_traits::propagate_on_container_move_assignment::value ||
-            (is_nothrow_move_assignable<__pointer_allocator>::value &&
-             is_nothrow_move_assignable<__node_allocator>::value))
-        {__move_assign_alloc(__u, integral_constant<bool,
-             __node_traits::propagate_on_container_move_assignment::value>());}
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__hash_table& __u, true_type)
-        _NOEXCEPT_(
-            is_nothrow_move_assignable<__pointer_allocator>::value &&
-            is_nothrow_move_assignable<__node_allocator>::value)
-    {
-        __bucket_list_.get_deleter().__alloc() =
-                _VSTD::move(__u.__bucket_list_.get_deleter().__alloc());
-        __node_alloc() = _VSTD::move(__u.__node_alloc());
-    }
-    _LIBCPP_INLINE_VISIBILITY
-        void __move_assign_alloc(__hash_table&, false_type) _NOEXCEPT {}
-#endif // _LIBCPP_CXX03_LANG
-
-    void __deallocate_node(__next_pointer __np) _NOEXCEPT;
-    __next_pointer __detach() _NOEXCEPT;
-
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_map;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_multimap;
-};
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-inline
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table()
-    _NOEXCEPT_(
-        is_nothrow_default_constructible<__bucket_list>::value &&
-        is_nothrow_default_constructible<__first_node>::value &&
-        is_nothrow_default_constructible<__node_allocator>::value &&
-        is_nothrow_default_constructible<hasher>::value &&
-        is_nothrow_default_constructible<key_equal>::value)
-    : __p2_(0),
-      __p3_(1.0f)
-{
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-inline
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const hasher& __hf,
-                                                       const key_equal& __eql)
-    : __bucket_list_(nullptr, __bucket_list_deleter()),
-      __p1_(),
-      __p2_(0, __hf),
-      __p3_(1.0f, __eql)
-{
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const hasher& __hf,
-                                                       const key_equal& __eql,
-                                                       const allocator_type& __a)
-    : __bucket_list_(nullptr, __bucket_list_deleter(__pointer_allocator(__a), 0)),
-      __p1_(__second_tag(), __node_allocator(__a)),
-      __p2_(0, __hf),
-      __p3_(1.0f, __eql)
-{
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const allocator_type& __a)
-    : __bucket_list_(nullptr, __bucket_list_deleter(__pointer_allocator(__a), 0)),
-      __p1_(__second_tag(), __node_allocator(__a)),
-      __p2_(0),
-      __p3_(1.0f)
-{
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const __hash_table& __u)
-    : __bucket_list_(nullptr,
-          __bucket_list_deleter(allocator_traits<__pointer_allocator>::
-              select_on_container_copy_construction(
-                  __u.__bucket_list_.get_deleter().__alloc()), 0)),
-      __p1_(__second_tag(), allocator_traits<__node_allocator>::
-          select_on_container_copy_construction(__u.__node_alloc())),
-      __p2_(0, __u.hash_function()),
-      __p3_(__u.__p3_)
-{
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const __hash_table& __u,
-                                                       const allocator_type& __a)
-    : __bucket_list_(nullptr, __bucket_list_deleter(__pointer_allocator(__a), 0)),
-      __p1_(__second_tag(), __node_allocator(__a)),
-      __p2_(0, __u.hash_function()),
-      __p3_(__u.__p3_)
-{
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(__hash_table&& __u)
-        _NOEXCEPT_(
-            is_nothrow_move_constructible<__bucket_list>::value &&
-            is_nothrow_move_constructible<__first_node>::value &&
-            is_nothrow_move_constructible<__node_allocator>::value &&
-            is_nothrow_move_constructible<hasher>::value &&
-            is_nothrow_move_constructible<key_equal>::value)
-    : __bucket_list_(_VSTD::move(__u.__bucket_list_)),
-      __p1_(_VSTD::move(__u.__p1_)),
-      __p2_(_VSTD::move(__u.__p2_)),
-      __p3_(_VSTD::move(__u.__p3_))
-{
-    if (size() > 0)
-    {
-        __bucket_list_[__constrain_hash(__p1_.first().__next_->__hash(), bucket_count())] =
-            __p1_.first().__ptr();
-        __u.__p1_.first().__next_ = nullptr;
-        __u.size() = 0;
-    }
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(__hash_table&& __u,
-                                                       const allocator_type& __a)
-    : __bucket_list_(nullptr, __bucket_list_deleter(__pointer_allocator(__a), 0)),
-      __p1_(__second_tag(), __node_allocator(__a)),
-      __p2_(0, _VSTD::move(__u.hash_function())),
-      __p3_(_VSTD::move(__u.__p3_))
-{
-    if (__a == allocator_type(__u.__node_alloc()))
-    {
-        __bucket_list_.reset(__u.__bucket_list_.release());
-        __bucket_list_.get_deleter().size() = __u.__bucket_list_.get_deleter().size();
-        __u.__bucket_list_.get_deleter().size() = 0;
-        if (__u.size() > 0)
-        {
-            __p1_.first().__next_ = __u.__p1_.first().__next_;
-            __u.__p1_.first().__next_ = nullptr;
-            __bucket_list_[__constrain_hash(__p1_.first().__next_->__hash(), bucket_count())] =
-                __p1_.first().__ptr();
-            size() = __u.size();
-            __u.size() = 0;
-        }
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::~__hash_table()
-{
-#if defined(_LIBCPP_CXX03_LANG)
-    static_assert((is_copy_constructible<key_equal>::value),
-                 "Predicate must be copy-constructible.");
-    static_assert((is_copy_constructible<hasher>::value),
-                 "Hasher must be copy-constructible.");
-#endif
-
-    __deallocate_node(__p1_.first().__next_);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__erase_c(this);
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__copy_assign_alloc(
-        const __hash_table& __u, true_type)
-{
-    if (__node_alloc() != __u.__node_alloc())
-    {
-        clear();
-        __bucket_list_.reset();
-        __bucket_list_.get_deleter().size() = 0;
-    }
-    __bucket_list_.get_deleter().__alloc() = __u.__bucket_list_.get_deleter().__alloc();
-    __node_alloc() = __u.__node_alloc();
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>&
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::operator=(const __hash_table& __u)
-{
-    if (this != &__u)
-    {
-        __copy_assign_alloc(__u);
-        hash_function() = __u.hash_function();
-        key_eq() = __u.key_eq();
-        max_load_factor() = __u.max_load_factor();
-        __assign_multi(__u.begin(), __u.end());
-    }
-    return *this;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__deallocate_node(__next_pointer __np)
-    _NOEXCEPT
-{
-    __node_allocator& __na = __node_alloc();
-    while (__np != nullptr)
-    {
-        __next_pointer __next = __np->__next_;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __c_node* __c = __get_db()->__find_c_and_lock(this);
-        for (__i_node** __p = __c->end_; __p != __c->beg_; )
-        {
-            --__p;
-            iterator* __i = static_cast<iterator*>((*__p)->__i_);
-            if (__i->__node_ == __np)
-            {
-                (*__p)->__c_ = nullptr;
-                if (--__c->end_ != __p)
-                    memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
-            }
-        }
-        __get_db()->unlock();
-#endif
-        __node_pointer __real_np = __np->__upcast();
-        __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_));
-        __node_traits::deallocate(__na, __real_np, 1);
-        __np = __next;
-    }
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__next_pointer
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__detach() _NOEXCEPT
-{
-    size_type __bc = bucket_count();
-    for (size_type __i = 0; __i < __bc; ++__i)
-        __bucket_list_[__i] = nullptr;
-    size() = 0;
-    __next_pointer __cache = __p1_.first().__next_;
-    __p1_.first().__next_ = nullptr;
-    return __cache;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__move_assign(
-        __hash_table& __u, true_type)
-    _NOEXCEPT_(
-        is_nothrow_move_assignable<__node_allocator>::value &&
-        is_nothrow_move_assignable<hasher>::value &&
-        is_nothrow_move_assignable<key_equal>::value)
-{
-    clear();
-    __bucket_list_.reset(__u.__bucket_list_.release());
-    __bucket_list_.get_deleter().size() = __u.__bucket_list_.get_deleter().size();
-    __u.__bucket_list_.get_deleter().size() = 0;
-    __move_assign_alloc(__u);
-    size() = __u.size();
-    hash_function() = _VSTD::move(__u.hash_function());
-    max_load_factor() = __u.max_load_factor();
-    key_eq() = _VSTD::move(__u.key_eq());
-    __p1_.first().__next_ = __u.__p1_.first().__next_;
-    if (size() > 0)
-    {
-        __bucket_list_[__constrain_hash(__p1_.first().__next_->__hash(), bucket_count())] =
-            __p1_.first().__ptr();
-        __u.__p1_.first().__next_ = nullptr;
-        __u.size() = 0;
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__move_assign(
-        __hash_table& __u, false_type)
-{
-    if (__node_alloc() == __u.__node_alloc())
-        __move_assign(__u, true_type());
-    else
-    {
-        hash_function() = _VSTD::move(__u.hash_function());
-        key_eq() = _VSTD::move(__u.key_eq());
-        max_load_factor() = __u.max_load_factor();
-        if (bucket_count() != 0)
-        {
-            __next_pointer __cache = __detach();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-            try
-            {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-                const_iterator __i = __u.begin();
-                while (__cache != nullptr && __u.size() != 0)
-                {
-                    __cache->__upcast()->__value_ =
-                        _VSTD::move(__u.remove(__i++)->__value_);
-                    __next_pointer __next = __cache->__next_;
-                    __node_insert_multi(__cache->__upcast());
-                    __cache = __next;
-                }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-            }
-            catch (...)
-            {
-                __deallocate_node(__cache);
-                throw;
-            }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            __deallocate_node(__cache);
-        }
-        const_iterator __i = __u.begin();
-        while (__u.size() != 0)
-        {
-            __node_holder __h = __construct_node(_NodeTypes::__move(__u.remove(__i++)->__value_));
-            __node_insert_multi(__h.get());
-            __h.release();
-        }
-    }
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-inline
-__hash_table<_Tp, _Hash, _Equal, _Alloc>&
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::operator=(__hash_table&& __u)
-    _NOEXCEPT_(
-        __node_traits::propagate_on_container_move_assignment::value &&
-        is_nothrow_move_assignable<__node_allocator>::value &&
-        is_nothrow_move_assignable<hasher>::value &&
-        is_nothrow_move_assignable<key_equal>::value)
-{
-    __move_assign(__u, integral_constant<bool,
-                  __node_traits::propagate_on_container_move_assignment::value>());
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _InputIterator>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__assign_unique(_InputIterator __first,
-                                                          _InputIterator __last)
-{
-    typedef iterator_traits<_InputIterator> _ITraits;
-    typedef typename _ITraits::value_type _ItValueType;
-    static_assert((is_same<_ItValueType, __container_value_type>::value),
-                  "__assign_unique may only be called with the containers value type");
-
-    if (bucket_count() != 0)
-    {
-        __next_pointer __cache = __detach();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (; __cache != nullptr && __first != __last; ++__first)
-            {
-                __cache->__upcast()->__value_ = *__first;
-                __next_pointer __next = __cache->__next_;
-                __node_insert_unique(__cache->__upcast());
-                __cache = __next;
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __deallocate_node(__cache);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __deallocate_node(__cache);
-    }
-    for (; __first != __last; ++__first)
-        __insert_unique(*__first);
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _InputIterator>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__assign_multi(_InputIterator __first,
-                                                         _InputIterator __last)
-{
-    typedef iterator_traits<_InputIterator> _ITraits;
-    typedef typename _ITraits::value_type _ItValueType;
-    static_assert((is_same<_ItValueType, __container_value_type>::value ||
-                  is_same<_ItValueType, __node_value_type>::value),
-                  "__assign_multi may only be called with the containers value type"
-                  " or the nodes value type");
-    if (bucket_count() != 0)
-    {
-        __next_pointer __cache = __detach();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (; __cache != nullptr && __first != __last; ++__first)
-            {
-                __cache->__upcast()->__value_ = *__first;
-                __next_pointer __next = __cache->__next_;
-                __node_insert_multi(__cache->__upcast());
-                __cache = __next;
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __deallocate_node(__cache);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __deallocate_node(__cache);
-    }
-    for (; __first != __last; ++__first)
-        __insert_multi(_NodeTypes::__get_value(*__first));
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-inline
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() _NOEXCEPT
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(__p1_.first().__next_, this);
-#else
-    return iterator(__p1_.first().__next_);
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-inline
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::end() _NOEXCEPT
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(nullptr, this);
-#else
-    return iterator(nullptr);
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-inline
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() const _NOEXCEPT
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return const_iterator(__p1_.first().__next_, this);
-#else
-    return const_iterator(__p1_.first().__next_);
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-inline
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::end() const _NOEXCEPT
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return const_iterator(nullptr, this);
-#else
-    return const_iterator(nullptr);
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::clear() _NOEXCEPT
-{
-    if (size() > 0)
-    {
-        __deallocate_node(__p1_.first().__next_);
-        __p1_.first().__next_ = nullptr;
-        size_type __bc = bucket_count();
-        for (size_type __i = 0; __i < __bc; ++__i)
-            __bucket_list_[__i] = nullptr;
-        size() = 0;
-    }
-}
-
-
-// Prepare the container for an insertion of the value __value with the hash
-// __hash. This does a lookup into the container to see if __value is already
-// present, and performs a rehash if necessary. Returns a pointer to the
-// existing element if it exists, otherwise nullptr.
-//
-// Note that this function does forward exceptions if key_eq() throws, and never
-// mutates __value or actually inserts into the map.
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-_LIBCPP_INLINE_VISIBILITY
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__next_pointer
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_insert_unique_prepare(
-    size_t __hash, value_type& __value)
-{
-    size_type __bc = bucket_count();
-
-    if (__bc != 0)
-    {
-        size_t __chash = __constrain_hash(__hash, __bc);
-        __next_pointer __ndptr = __bucket_list_[__chash];
-        if (__ndptr != nullptr)
-        {
-            for (__ndptr = __ndptr->__next_; __ndptr != nullptr &&
-                                             __constrain_hash(__ndptr->__hash(), __bc) == __chash;
-                                                     __ndptr = __ndptr->__next_)
-            {
-                if (key_eq()(__ndptr->__upcast()->__value_, __value))
-                    return __ndptr;
-            }
-        }
-    }
-    if (size()+1 > __bc * max_load_factor() || __bc == 0)
-    {
-        rehash(_VSTD::max<size_type>(2 * __bc + !__is_hash_power2(__bc),
-                                     size_type(ceil(float(size() + 1) / max_load_factor()))));
-    }
-    return nullptr;
-}
-
-// Insert the node __nd into the container by pushing it into the right bucket,
-// and updating size(). Assumes that __nd->__hash is up-to-date, and that
-// rehashing has already occurred and that no element with the same key exists
-// in the map.
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-_LIBCPP_INLINE_VISIBILITY
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_insert_unique_perform(
-    __node_pointer __nd) _NOEXCEPT
-{
-    size_type __bc = bucket_count();
-    size_t __chash = __constrain_hash(__nd->__hash(), __bc);
-    // insert_after __bucket_list_[__chash], or __first_node if bucket is null
-    __next_pointer __pn = __bucket_list_[__chash];
-    if (__pn == nullptr)
-    {
-        __pn =__p1_.first().__ptr();
-        __nd->__next_ = __pn->__next_;
-        __pn->__next_ = __nd->__ptr();
-        // fix up __bucket_list_
-        __bucket_list_[__chash] = __pn;
-        if (__nd->__next_ != nullptr)
-            __bucket_list_[__constrain_hash(__nd->__next_->__hash(), __bc)] = __nd->__ptr();
-    }
-    else
-    {
-        __nd->__next_ = __pn->__next_;
-        __pn->__next_ = __nd->__ptr();
-    }
-    ++size();
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-pair<typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator, bool>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_insert_unique(__node_pointer __nd)
-{
-    __nd->__hash_ = hash_function()(__nd->__value_);
-    __next_pointer __existing_node =
-        __node_insert_unique_prepare(__nd->__hash(), __nd->__value_);
-
-    // Insert the node, unless it already exists in the container.
-    bool __inserted = false;
-    if (__existing_node == nullptr)
-    {
-        __node_insert_unique_perform(__nd);
-        __existing_node = __nd->__ptr();
-        __inserted = true;
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return pair<iterator, bool>(iterator(__existing_node, this), __inserted);
-#else
-    return pair<iterator, bool>(iterator(__existing_node), __inserted);
-#endif
-}
-
-// Prepare the container for an insertion of the value __cp_val with the hash
-// __cp_hash. This does a lookup into the container to see if __cp_value is
-// already present, and performs a rehash if necessary. Returns a pointer to the
-// last occurance of __cp_val in the map.
-//
-// Note that this function does forward exceptions if key_eq() throws, and never
-// mutates __value or actually inserts into the map.
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__next_pointer
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_insert_multi_prepare(
-    size_t __cp_hash, value_type& __cp_val)
-{
-    size_type __bc = bucket_count();
-    if (size()+1 > __bc * max_load_factor() || __bc == 0)
-    {
-        rehash(_VSTD::max<size_type>(2 * __bc + !__is_hash_power2(__bc),
-                       size_type(ceil(float(size() + 1) / max_load_factor()))));
-        __bc = bucket_count();
-    }
-    size_t __chash = __constrain_hash(__cp_hash, __bc);
-    __next_pointer __pn = __bucket_list_[__chash];
-    if (__pn != nullptr)
-    {
-        for (bool __found = false; __pn->__next_ != nullptr &&
-                                   __constrain_hash(__pn->__next_->__hash(), __bc) == __chash;
-                                                           __pn = __pn->__next_)
-        {
-            //      __found    key_eq()     action
-            //      false       false       loop
-            //      true        true        loop
-            //      false       true        set __found to true
-            //      true        false       break
-            if (__found != (__pn->__next_->__hash() == __cp_hash &&
-                            key_eq()(__pn->__next_->__upcast()->__value_, __cp_val)))
-            {
-                if (!__found)
-                    __found = true;
-                else
-                    break;
-            }
-        }
-    }
-    return __pn;
-}
-
-// Insert the node __cp into the container after __pn (which is the last node in
-// the bucket that compares equal to __cp). Rehashing, and checking for
-// uniqueness has already been performed (in __node_insert_multi_prepare), so
-// all we need to do is update the bucket and size(). Assumes that __cp->__hash
-// is up-to-date.
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_insert_multi_perform(
-    __node_pointer __cp, __next_pointer __pn) _NOEXCEPT
-{
-    size_type __bc = bucket_count();
-    size_t __chash = __constrain_hash(__cp->__hash_, __bc);
-    if (__pn == nullptr)
-    {
-        __pn =__p1_.first().__ptr();
-        __cp->__next_ = __pn->__next_;
-        __pn->__next_ = __cp->__ptr();
-        // fix up __bucket_list_
-        __bucket_list_[__chash] = __pn;
-        if (__cp->__next_ != nullptr)
-            __bucket_list_[__constrain_hash(__cp->__next_->__hash(), __bc)]
-                = __cp->__ptr();
-    }
-    else
-    {
-        __cp->__next_ = __pn->__next_;
-        __pn->__next_ = __cp->__ptr();
-        if (__cp->__next_ != nullptr)
-        {
-            size_t __nhash = __constrain_hash(__cp->__next_->__hash(), __bc);
-            if (__nhash != __chash)
-                __bucket_list_[__nhash] = __cp->__ptr();
-        }
-    }
-    ++size();
-}
-
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_insert_multi(__node_pointer __cp)
-{
-    __cp->__hash_ = hash_function()(__cp->__value_);
-    __next_pointer __pn = __node_insert_multi_prepare(__cp->__hash(), __cp->__value_);
-    __node_insert_multi_perform(__cp, __pn);
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(__cp->__ptr(), this);
-#else
-    return iterator(__cp->__ptr());
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_insert_multi(
-        const_iterator __p, __node_pointer __cp)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "unordered container::emplace_hint(const_iterator, args...) called with an iterator not"
-        " referring to this unordered container");
-#endif
-    if (__p != end() && key_eq()(*__p, __cp->__value_))
-    {
-        __next_pointer __np = __p.__node_;
-        __cp->__hash_ = __np->__hash();
-        size_type __bc = bucket_count();
-        if (size()+1 > __bc * max_load_factor() || __bc == 0)
-        {
-            rehash(_VSTD::max<size_type>(2 * __bc + !__is_hash_power2(__bc),
-                           size_type(ceil(float(size() + 1) / max_load_factor()))));
-            __bc = bucket_count();
-        }
-        size_t __chash = __constrain_hash(__cp->__hash_, __bc);
-        __next_pointer __pp = __bucket_list_[__chash];
-        while (__pp->__next_ != __np)
-            __pp = __pp->__next_;
-        __cp->__next_ = __np;
-        __pp->__next_ = static_cast<__next_pointer>(__cp);
-        ++size();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return iterator(static_cast<__next_pointer>(__cp), this);
-#else
-        return iterator(static_cast<__next_pointer>(__cp));
-#endif
-    }
-    return __node_insert_multi(__cp);
-}
-
-
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key, class ..._Args>
-pair<typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator, bool>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__emplace_unique_key_args(_Key const& __k, _Args&&... __args)
-#else
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key, class _Args>
-pair<typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator, bool>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__emplace_unique_key_args(_Key const& __k, _Args& __args)
-#endif
-{
-
-    size_t __hash = hash_function()(__k);
-    size_type __bc = bucket_count();
-    bool __inserted = false;
-    __next_pointer __nd;
-    size_t __chash;
-    if (__bc != 0)
-    {
-        __chash = __constrain_hash(__hash, __bc);
-        __nd = __bucket_list_[__chash];
-        if (__nd != nullptr)
-        {
-            for (__nd = __nd->__next_; __nd != nullptr &&
-                (__nd->__hash() == __hash || __constrain_hash(__nd->__hash(), __bc) == __chash);
-                                                           __nd = __nd->__next_)
-            {
-                if (key_eq()(__nd->__upcast()->__value_, __k))
-                    goto __done;
-            }
-        }
-    }
-    {
-#ifndef _LIBCPP_CXX03_LANG
-        __node_holder __h = __construct_node_hash(__hash, _VSTD::forward<_Args>(__args)...);
-#else
-        __node_holder __h = __construct_node_hash(__hash, __args);
-#endif
-        if (size()+1 > __bc * max_load_factor() || __bc == 0)
-        {
-            rehash(_VSTD::max<size_type>(2 * __bc + !__is_hash_power2(__bc),
-                           size_type(ceil(float(size() + 1) / max_load_factor()))));
-            __bc = bucket_count();
-            __chash = __constrain_hash(__hash, __bc);
-        }
-        // insert_after __bucket_list_[__chash], or __first_node if bucket is null
-        __next_pointer __pn = __bucket_list_[__chash];
-        if (__pn == nullptr)
-        {
-            __pn = __p1_.first().__ptr();
-            __h->__next_ = __pn->__next_;
-            __pn->__next_ = __h.get()->__ptr();
-            // fix up __bucket_list_
-            __bucket_list_[__chash] = __pn;
-            if (__h->__next_ != nullptr)
-                __bucket_list_[__constrain_hash(__h->__next_->__hash(), __bc)]
-                    = __h.get()->__ptr();
-        }
-        else
-        {
-            __h->__next_ = __pn->__next_;
-            __pn->__next_ = static_cast<__next_pointer>(__h.get());
-        }
-        __nd = static_cast<__next_pointer>(__h.release());
-        // increment size
-        ++size();
-        __inserted = true;
-    }
-__done:
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return pair<iterator, bool>(iterator(__nd, this), __inserted);
-#else
-    return pair<iterator, bool>(iterator(__nd), __inserted);
-#endif
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class... _Args>
-pair<typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator, bool>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__emplace_unique_impl(_Args&&... __args)
-{
-    __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-    pair<iterator, bool> __r = __node_insert_unique(__h.get());
-    if (__r.second)
-        __h.release();
-    return __r;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class... _Args>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__emplace_multi(_Args&&... __args)
-{
-    __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-    iterator __r = __node_insert_multi(__h.get());
-    __h.release();
-    return __r;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class... _Args>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__emplace_hint_multi(
-        const_iterator __p, _Args&&... __args)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "unordered container::emplace_hint(const_iterator, args...) called with an iterator not"
-        " referring to this unordered container");
-#endif
-    __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-    iterator __r = __node_insert_multi(__p, __h.get());
-    __h.release();
-    return __r;
-}
-
-#else // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__insert_multi(const __container_value_type& __x)
-{
-    __node_holder __h = __construct_node(__x);
-    iterator __r = __node_insert_multi(__h.get());
-    __h.release();
-    return __r;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__insert_multi(const_iterator __p,
-                                                         const __container_value_type& __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "unordered container::insert(const_iterator, lvalue) called with an iterator not"
-        " referring to this unordered container");
-#endif
-    __node_holder __h = __construct_node(__x);
-    iterator __r = __node_insert_multi(__p, __h.get());
-    __h.release();
-    return __r;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _NodeHandle, class _InsertReturnType>
-_LIBCPP_INLINE_VISIBILITY
-_InsertReturnType
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_handle_insert_unique(
-    _NodeHandle&& __nh)
-{
-    if (__nh.empty())
-        return _InsertReturnType{end(), false, _NodeHandle()};
-    pair<iterator, bool> __result = __node_insert_unique(__nh.__ptr_);
-    if (__result.second)
-        __nh.__release_ptr();
-    return _InsertReturnType{__result.first, __result.second, _VSTD::move(__nh)};
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_handle_insert_unique(
-    const_iterator, _NodeHandle&& __nh)
-{
-    if (__nh.empty())
-        return end();
-    pair<iterator, bool> __result = __node_insert_unique(__nh.__ptr_);
-    if (__result.second)
-        __nh.__release_ptr();
-    return __result.first;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-_NodeHandle
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_handle_extract(
-    key_type const& __key)
-{
-    iterator __i = find(__key);
-    if (__i == end())
-        return _NodeHandle();
-    return __node_handle_extract<_NodeHandle>(__i);
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-_NodeHandle
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_handle_extract(
-    const_iterator __p)
-{
-    allocator_type __alloc(__node_alloc());
-    return _NodeHandle(remove(__p).release(), __alloc);
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Table>
-_LIBCPP_INLINE_VISIBILITY
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_handle_merge_unique(
-    _Table& __source)
-{
-    static_assert(is_same<__node, typename _Table::__node>::value, "");
-
-    for (typename _Table::iterator __it = __source.begin();
-         __it != __source.end();)
-    {
-        __node_pointer __src_ptr = __it.__node_->__upcast();
-        size_t __hash = hash_function()(__src_ptr->__value_);
-        __next_pointer __existing_node =
-            __node_insert_unique_prepare(__hash, __src_ptr->__value_);
-        auto __prev_iter = __it++;
-        if (__existing_node == nullptr)
-        {
-            (void)__source.remove(__prev_iter).release();
-            __src_ptr->__hash_ = __hash;
-            __node_insert_unique_perform(__src_ptr);
-        }
-    }
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_handle_insert_multi(
-    _NodeHandle&& __nh)
-{
-    if (__nh.empty())
-        return end();
-    iterator __result = __node_insert_multi(__nh.__ptr_);
-    __nh.__release_ptr();
-    return __result;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_handle_insert_multi(
-    const_iterator __hint, _NodeHandle&& __nh)
-{
-    if (__nh.empty())
-        return end();
-    iterator __result = __node_insert_multi(__hint, __nh.__ptr_);
-    __nh.__release_ptr();
-    return __result;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Table>
-_LIBCPP_INLINE_VISIBILITY
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_handle_merge_multi(
-    _Table& __source)
-{
-    static_assert(is_same<typename _Table::__node, __node>::value, "");
-
-    for (typename _Table::iterator __it = __source.begin();
-         __it != __source.end();)
-    {
-        __node_pointer __src_ptr = __it.__node_->__upcast();
-        size_t __src_hash = hash_function()(__src_ptr->__value_);
-        __next_pointer __pn =
-            __node_insert_multi_prepare(__src_hash, __src_ptr->__value_);
-        (void)__source.remove(__it++).release();
-        __src_ptr->__hash_ = __src_hash;
-        __node_insert_multi_perform(__src_ptr, __pn);
-    }
-}
-#endif  // _LIBCPP_STD_VER > 14
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::rehash(size_type __n)
-_LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-{
-    if (__n == 1)
-        __n = 2;
-    else if (__n & (__n - 1))
-        __n = __next_prime(__n);
-    size_type __bc = bucket_count();
-    if (__n > __bc)
-        __rehash(__n);
-    else if (__n < __bc)
-    {
-        __n = _VSTD::max<size_type>
-              (
-                  __n,
-                  __is_hash_power2(__bc) ? __next_hash_pow2(size_t(ceil(float(size()) / max_load_factor()))) :
-                                           __next_prime(size_t(ceil(float(size()) / max_load_factor())))
-              );
-        if (__n < __bc)
-            __rehash(__n);
-    }
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__rehash(size_type __nbc)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__invalidate_all(this);
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-    __pointer_allocator& __npa = __bucket_list_.get_deleter().__alloc();
-    __bucket_list_.reset(__nbc > 0 ?
-                      __pointer_alloc_traits::allocate(__npa, __nbc) : nullptr);
-    __bucket_list_.get_deleter().size() = __nbc;
-    if (__nbc > 0)
-    {
-        for (size_type __i = 0; __i < __nbc; ++__i)
-            __bucket_list_[__i] = nullptr;
-        __next_pointer __pp = __p1_.first().__ptr();
-        __next_pointer __cp = __pp->__next_;
-        if (__cp != nullptr)
-        {
-            size_type __chash = __constrain_hash(__cp->__hash(), __nbc);
-            __bucket_list_[__chash] = __pp;
-            size_type __phash = __chash;
-            for (__pp = __cp, __cp = __cp->__next_; __cp != nullptr;
-                                                           __cp = __pp->__next_)
-            {
-                __chash = __constrain_hash(__cp->__hash(), __nbc);
-                if (__chash == __phash)
-                    __pp = __cp;
-                else
-                {
-                    if (__bucket_list_[__chash] == nullptr)
-                    {
-                        __bucket_list_[__chash] = __pp;
-                        __pp = __cp;
-                        __phash = __chash;
-                    }
-                    else
-                    {
-                        __next_pointer __np = __cp;
-                        for (; __np->__next_ != nullptr &&
-                               key_eq()(__cp->__upcast()->__value_,
-                                        __np->__next_->__upcast()->__value_);
-                                                           __np = __np->__next_)
-                            ;
-                        __pp->__next_ = __np->__next_;
-                        __np->__next_ = __bucket_list_[__chash]->__next_;
-                        __bucket_list_[__chash]->__next_ = __cp;
-
-                    }
-                }
-            }
-        }
-    }
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::find(const _Key& __k)
-{
-    size_t __hash = hash_function()(__k);
-    size_type __bc = bucket_count();
-    if (__bc != 0)
-    {
-        size_t __chash = __constrain_hash(__hash, __bc);
-        __next_pointer __nd = __bucket_list_[__chash];
-        if (__nd != nullptr)
-        {
-            for (__nd = __nd->__next_; __nd != nullptr &&
-                (__nd->__hash() == __hash
-                  || __constrain_hash(__nd->__hash(), __bc) == __chash);
-                                                           __nd = __nd->__next_)
-            {
-                if ((__nd->__hash() == __hash)
-                    && key_eq()(__nd->__upcast()->__value_, __k))
-#if _LIBCPP_DEBUG_LEVEL >= 2
-                    return iterator(__nd, this);
-#else
-                    return iterator(__nd);
-#endif
-            }
-        }
-    }
-    return end();
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::find(const _Key& __k) const
-{
-    size_t __hash = hash_function()(__k);
-    size_type __bc = bucket_count();
-    if (__bc != 0)
-    {
-        size_t __chash = __constrain_hash(__hash, __bc);
-        __next_pointer __nd = __bucket_list_[__chash];
-        if (__nd != nullptr)
-        {
-            for (__nd = __nd->__next_; __nd != nullptr &&
-                (__hash == __nd->__hash()
-                    || __constrain_hash(__nd->__hash(), __bc) == __chash);
-                                                           __nd = __nd->__next_)
-            {
-                if ((__nd->__hash() == __hash)
-                    && key_eq()(__nd->__upcast()->__value_, __k))
-#if _LIBCPP_DEBUG_LEVEL >= 2
-                    return const_iterator(__nd, this);
-#else
-                    return const_iterator(__nd);
-#endif
-            }
-        }
-
-    }
-    return end();
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class ..._Args>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__construct_node(_Args&& ...__args)
-{
-    static_assert(!__is_hash_value_type<_Args...>::value,
-                  "Construct cannot be called with a hash value type");
-    __node_allocator& __na = __node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _NodeTypes::__get_ptr(__h->__value_), _VSTD::forward<_Args>(__args)...);
-    __h.get_deleter().__value_constructed = true;
-    __h->__hash_ = hash_function()(__h->__value_);
-    __h->__next_ = nullptr;
-    return __h;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _First, class ..._Rest>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__construct_node_hash(
-    size_t __hash, _First&& __f, _Rest&& ...__rest)
-{
-    static_assert(!__is_hash_value_type<_First, _Rest...>::value,
-                  "Construct cannot be called with a hash value type");
-    __node_allocator& __na = __node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _NodeTypes::__get_ptr(__h->__value_),
-                             _VSTD::forward<_First>(__f),
-                             _VSTD::forward<_Rest>(__rest)...);
-    __h.get_deleter().__value_constructed = true;
-    __h->__hash_ = __hash;
-    __h->__next_ = nullptr;
-    return __h;
-}
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__construct_node(const __container_value_type& __v)
-{
-    __node_allocator& __na = __node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _NodeTypes::__get_ptr(__h->__value_), __v);
-    __h.get_deleter().__value_constructed = true;
-    __h->__hash_ = hash_function()(__h->__value_);
-    __h->__next_ = nullptr;
-    return _LIBCPP_EXPLICIT_MOVE(__h);  // explicitly moved for C++03
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__construct_node_hash(size_t __hash,
-                                                                const __container_value_type& __v)
-{
-    __node_allocator& __na = __node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _NodeTypes::__get_ptr(__h->__value_), __v);
-    __h.get_deleter().__value_constructed = true;
-    __h->__hash_ = __hash;
-    __h->__next_ = nullptr;
-    return _LIBCPP_EXPLICIT_MOVE(__h);  // explicitly moved for C++03
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::erase(const_iterator __p)
-{
-    __next_pointer __np = __p.__node_;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "unordered container erase(iterator) called with an iterator not"
-        " referring to this container");
-    _LIBCPP_ASSERT(__p != end(),
-        "unordered container erase(iterator) called with a non-dereferenceable iterator");
-    iterator __r(__np, this);
-#else
-    iterator __r(__np);
-#endif
-    ++__r;
-    remove(__p);
-    return __r;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::erase(const_iterator __first,
-                                                const_iterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__first) == this,
-        "unodered container::erase(iterator, iterator) called with an iterator not"
-        " referring to this unodered container");
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__last) == this,
-        "unodered container::erase(iterator, iterator) called with an iterator not"
-        " referring to this unodered container");
-#endif
-    for (const_iterator __p = __first; __first != __last; __p = __first)
-    {
-        ++__first;
-        erase(__p);
-    }
-    __next_pointer __np = __last.__node_;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator (__np, this);
-#else
-    return iterator (__np);
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::size_type
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__erase_unique(const _Key& __k)
-{
-    iterator __i = find(__k);
-    if (__i == end())
-        return 0;
-    erase(__i);
-    return 1;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::size_type
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__erase_multi(const _Key& __k)
-{
-    size_type __r = 0;
-    iterator __i = find(__k);
-    if (__i != end())
-    {
-        iterator __e = end();
-        do
-        {
-            erase(__i++);
-            ++__r;
-        } while (__i != __e && key_eq()(*__i, __k));
-    }
-    return __r;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::remove(const_iterator __p) _NOEXCEPT
-{
-    // current node
-    __next_pointer __cn = __p.__node_;
-    size_type __bc = bucket_count();
-    size_t __chash = __constrain_hash(__cn->__hash(), __bc);
-    // find previous node
-    __next_pointer __pn = __bucket_list_[__chash];
-    for (; __pn->__next_ != __cn; __pn = __pn->__next_)
-        ;
-    // Fix up __bucket_list_
-        // if __pn is not in same bucket (before begin is not in same bucket) &&
-        //    if __cn->__next_ is not in same bucket (nullptr is not in same bucket)
-    if (__pn == __p1_.first().__ptr()
-            || __constrain_hash(__pn->__hash(), __bc) != __chash)
-    {
-        if (__cn->__next_ == nullptr
-            || __constrain_hash(__cn->__next_->__hash(), __bc) != __chash)
-            __bucket_list_[__chash] = nullptr;
-    }
-        // if __cn->__next_ is not in same bucket (nullptr is in same bucket)
-    if (__cn->__next_ != nullptr)
-    {
-        size_t __nhash = __constrain_hash(__cn->__next_->__hash(), __bc);
-        if (__nhash != __chash)
-            __bucket_list_[__nhash] = __pn;
-    }
-    // remove __cn
-    __pn->__next_ = __cn->__next_;
-    __cn->__next_ = nullptr;
-    --size();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __c_node* __c = __get_db()->__find_c_and_lock(this);
-    for (__i_node** __dp = __c->end_; __dp != __c->beg_; )
-    {
-        --__dp;
-        iterator* __i = static_cast<iterator*>((*__dp)->__i_);
-        if (__i->__node_ == __cn)
-        {
-            (*__dp)->__c_ = nullptr;
-            if (--__c->end_ != __dp)
-                memmove(__dp, __dp+1, (__c->end_ - __dp)*sizeof(__i_node*));
-        }
-    }
-    __get_db()->unlock();
-#endif
-    return __node_holder(__cn->__upcast(), _Dp(__node_alloc(), true));
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-inline
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::size_type
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__count_unique(const _Key& __k) const
-{
-    return static_cast<size_type>(find(__k) != end());
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::size_type
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__count_multi(const _Key& __k) const
-{
-    size_type __r = 0;
-    const_iterator __i = find(__k);
-    if (__i != end())
-    {
-        const_iterator __e = end();
-        do
-        {
-            ++__i;
-            ++__r;
-        } while (__i != __e && key_eq()(*__i, __k));
-    }
-    return __r;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-pair<typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator,
-     typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__equal_range_unique(
-        const _Key& __k)
-{
-    iterator __i = find(__k);
-    iterator __j = __i;
-    if (__i != end())
-        ++__j;
-    return pair<iterator, iterator>(__i, __j);
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-pair<typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator,
-     typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__equal_range_unique(
-        const _Key& __k) const
-{
-    const_iterator __i = find(__k);
-    const_iterator __j = __i;
-    if (__i != end())
-        ++__j;
-    return pair<const_iterator, const_iterator>(__i, __j);
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-pair<typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator,
-     typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__equal_range_multi(
-        const _Key& __k)
-{
-    iterator __i = find(__k);
-    iterator __j = __i;
-    if (__i != end())
-    {
-        iterator __e = end();
-        do
-        {
-            ++__j;
-        } while (__j != __e && key_eq()(*__j, __k));
-    }
-    return pair<iterator, iterator>(__i, __j);
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-template <class _Key>
-pair<typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator,
-     typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator>
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__equal_range_multi(
-        const _Key& __k) const
-{
-    const_iterator __i = find(__k);
-    const_iterator __j = __i;
-    if (__i != end())
-    {
-        const_iterator __e = end();
-        do
-        {
-            ++__j;
-        } while (__j != __e && key_eq()(*__j, __k));
-    }
-    return pair<const_iterator, const_iterator>(__i, __j);
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-void
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::swap(__hash_table& __u)
-#if _LIBCPP_STD_VER <= 11
-    _NOEXCEPT_(
-        __is_nothrow_swappable<hasher>::value && __is_nothrow_swappable<key_equal>::value
-        && (!allocator_traits<__pointer_allocator>::propagate_on_container_swap::value
-              || __is_nothrow_swappable<__pointer_allocator>::value)
-        && (!__node_traits::propagate_on_container_swap::value
-              || __is_nothrow_swappable<__node_allocator>::value)
-            )
-#else
-  _NOEXCEPT_(__is_nothrow_swappable<hasher>::value && __is_nothrow_swappable<key_equal>::value)
-#endif
-{
-    _LIBCPP_ASSERT(__node_traits::propagate_on_container_swap::value ||
-                   this->__node_alloc() == __u.__node_alloc(),
-                   "list::swap: Either propagate_on_container_swap must be true"
-                   " or the allocators must compare equal");
-    {
-    __node_pointer_pointer __npp = __bucket_list_.release();
-    __bucket_list_.reset(__u.__bucket_list_.release());
-    __u.__bucket_list_.reset(__npp);
-    }
-    _VSTD::swap(__bucket_list_.get_deleter().size(), __u.__bucket_list_.get_deleter().size());
-    __swap_allocator(__bucket_list_.get_deleter().__alloc(),
-             __u.__bucket_list_.get_deleter().__alloc());
-    __swap_allocator(__node_alloc(), __u.__node_alloc());
-    _VSTD::swap(__p1_.first().__next_, __u.__p1_.first().__next_);
-    __p2_.swap(__u.__p2_);
-    __p3_.swap(__u.__p3_);
-    if (size() > 0)
-        __bucket_list_[__constrain_hash(__p1_.first().__next_->__hash(), bucket_count())] =
-            __p1_.first().__ptr();
-    if (__u.size() > 0)
-        __u.__bucket_list_[__constrain_hash(__u.__p1_.first().__next_->__hash(), __u.bucket_count())] =
-            __u.__p1_.first().__ptr();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::size_type
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::bucket_size(size_type __n) const
-{
-    _LIBCPP_ASSERT(__n < bucket_count(),
-        "unordered container::bucket_size(n) called with n >= bucket_count()");
-    __next_pointer __np = __bucket_list_[__n];
-    size_type __bc = bucket_count();
-    size_type __r = 0;
-    if (__np != nullptr)
-    {
-        for (__np = __np->__next_; __np != nullptr &&
-                                   __constrain_hash(__np->__hash(), __bc) == __n;
-                                                    __np = __np->__next_, ++__r)
-            ;
-    }
-    return __r;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__hash_table<_Tp, _Hash, _Equal, _Alloc>& __x,
-     __hash_table<_Tp, _Hash, _Equal, _Alloc>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-bool
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__dereferenceable(const const_iterator* __i) const
-{
-    return __i->__node_ != nullptr;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-bool
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__decrementable(const const_iterator*) const
-{
-    return false;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-bool
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__addable(const const_iterator*, ptrdiff_t) const
-{
-    return false;
-}
-
-template <class _Tp, class _Hash, class _Equal, class _Alloc>
-bool
-__hash_table<_Tp, _Hash, _Equal, _Alloc>::__subscriptable(const const_iterator*, ptrdiff_t) const
-{
-    return false;
-}
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP__HASH_TABLE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__libcpp_version b/r21/sources/cxx-stl/llvm-libc++/include/__libcpp_version
deleted file mode 100644
index 5caff40..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__libcpp_version
+++ /dev/null
@@ -1 +0,0 @@
-10000
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__locale b/r21/sources/cxx-stl/llvm-libc++/include/__locale
deleted file mode 100644
index 8cda6f0..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__locale
+++ /dev/null
@@ -1,1557 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___LOCALE
-#define _LIBCPP___LOCALE
-
-#include <__config>
-#include <string>
-#include <memory>
-#include <utility>
-#include <mutex>
-#include <cstdint>
-#include <cctype>
-#include <locale.h>
-#if defined(_LIBCPP_MSVCRT_LIKE)
-# include <cstring>
-# include <support/win32/locale_win32.h>
-#elif defined(_AIX)
-# include <support/ibm/xlocale.h>
-#elif defined(__ANDROID__)
-# include <support/android/locale_bionic.h>
-#elif defined(__sun__)
-# include <xlocale.h>
-# include <support/solaris/xlocale.h>
-#elif defined(_NEWLIB_VERSION)
-# include <support/newlib/xlocale.h>
-#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
-    || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
-# include <xlocale.h>
-#elif defined(__Fuchsia__)
-# include <support/fuchsia/xlocale.h>
-#elif defined(__wasi__)
-// WASI libc uses musl's locales support.
-# include <support/musl/xlocale.h>
-#elif defined(_LIBCPP_HAS_MUSL_LIBC)
-# include <support/musl/xlocale.h>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if !defined(_LIBCPP_LOCALE__L_EXTENSIONS)
-struct __libcpp_locale_guard {
-  _LIBCPP_INLINE_VISIBILITY
-  __libcpp_locale_guard(locale_t& __loc) : __old_loc_(uselocale(__loc)) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  ~__libcpp_locale_guard() {
-    if (__old_loc_)
-      uselocale(__old_loc_);
-  }
-
-  locale_t __old_loc_;
-private:
-  __libcpp_locale_guard(__libcpp_locale_guard const&);
-  __libcpp_locale_guard& operator=(__libcpp_locale_guard const&);
-};
-#elif defined(_LIBCPP_MSVCRT_LIKE)
-struct __libcpp_locale_guard {
-    __libcpp_locale_guard(locale_t __l) :
-        __status(_configthreadlocale(_ENABLE_PER_THREAD_LOCALE)) {
-      // Setting the locale can be expensive even when the locale given is
-      // already the current locale, so do an explicit check to see if the
-      // current locale is already the one we want.
-      const char* __lc = __setlocale(nullptr);
-      // If every category is the same, the locale string will simply be the
-      // locale name, otherwise it will be a semicolon-separated string listing
-      // each category.  In the second case, we know at least one category won't
-      // be what we want, so we only have to check the first case.
-      if (strcmp(__l.__get_locale(), __lc) != 0) {
-        __locale_all = _strdup(__lc);
-        if (__locale_all == nullptr)
-          __throw_bad_alloc();
-        __setlocale(__l.__get_locale());
-      }
-    }
-    ~__libcpp_locale_guard() {
-      // The CRT documentation doesn't explicitly say, but setlocale() does the
-      // right thing when given a semicolon-separated list of locale settings
-      // for the different categories in the same format as returned by
-      // setlocale(LC_ALL, nullptr).
-      if (__locale_all != nullptr) {
-        __setlocale(__locale_all);
-        free(__locale_all);
-      }
-      _configthreadlocale(__status);
-    }
-    static const char* __setlocale(const char* __locale) {
-      const char* __new_locale = setlocale(LC_ALL, __locale);
-      if (__new_locale == nullptr)
-        __throw_bad_alloc();
-      return __new_locale;
-    }
-    int __status;
-    char* __locale_all = nullptr;
-};
-#endif
-
-
-class _LIBCPP_TYPE_VIS locale;
-
-template <class _Facet>
-_LIBCPP_INLINE_VISIBILITY
-bool
-has_facet(const locale&) _NOEXCEPT;
-
-template <class _Facet>
-_LIBCPP_INLINE_VISIBILITY
-const _Facet&
-use_facet(const locale&);
-
-class _LIBCPP_TYPE_VIS locale
-{
-public:
-    // types:
-    class _LIBCPP_TYPE_VIS facet;
-    class _LIBCPP_TYPE_VIS id;
-
-    typedef int category;
-    _LIBCPP_AVAILABILITY_LOCALE_CATEGORY
-    static const category // values assigned here are for exposition only
-        none     = 0,
-        collate  = LC_COLLATE_MASK,
-        ctype    = LC_CTYPE_MASK,
-        monetary = LC_MONETARY_MASK,
-        numeric  = LC_NUMERIC_MASK,
-        time     = LC_TIME_MASK,
-        messages = LC_MESSAGES_MASK,
-        all = collate | ctype | monetary | numeric | time | messages;
-
-    // construct/copy/destroy:
-    locale()  _NOEXCEPT;
-    locale(const locale&)  _NOEXCEPT;
-    explicit locale(const char*);
-    explicit locale(const string&);
-    locale(const locale&, const char*, category);
-    locale(const locale&, const string&, category);
-    template <class _Facet>
-        _LIBCPP_INLINE_VISIBILITY locale(const locale&, _Facet*);
-    locale(const locale&, const locale&, category);
-
-    ~locale();
-
-    const locale& operator=(const locale&)  _NOEXCEPT;
-
-    template <class _Facet>
-      _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-      locale combine(const locale&) const;
-
-    // locale operations:
-    string name() const;
-    bool operator==(const locale&) const;
-    bool operator!=(const locale& __y) const {return !(*this == __y);}
-    template <class _CharT, class _Traits, class _Allocator>
-      _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-      bool operator()(const basic_string<_CharT, _Traits, _Allocator>&,
-                      const basic_string<_CharT, _Traits, _Allocator>&) const;
-
-    // global locale objects:
-    static locale global(const locale&);
-    static const locale& classic();
-
-private:
-    class __imp;
-    __imp* __locale_;
-
-    void __install_ctor(const locale&, facet*, long);
-    static locale& __global();
-    bool has_facet(id&) const;
-    const facet* use_facet(id&) const;
-
-    template <class _Facet> friend bool has_facet(const locale&)  _NOEXCEPT;
-    template <class _Facet> friend const _Facet& use_facet(const locale&);
-};
-
-class _LIBCPP_TYPE_VIS locale::facet
-    : public __shared_count
-{
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit facet(size_t __refs = 0)
-        : __shared_count(static_cast<long>(__refs)-1) {}
-
-    virtual ~facet();
-
-//    facet(const facet&) = delete;     // effectively done in __shared_count
-//    void operator=(const facet&) = delete;
-private:
-    virtual void __on_zero_shared() _NOEXCEPT;
-};
-
-class _LIBCPP_TYPE_VIS locale::id
-{
-    once_flag      __flag_;
-    int32_t        __id_;
-
-    static int32_t __next_id;
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR id() :__id_(0) {}
-private:
-    void __init();
-    void operator=(const id&); // = delete;
-    id(const id&); // = delete;
-public:  // only needed for tests
-    long __get();
-
-    friend class locale;
-    friend class locale::__imp;
-};
-
-template <class _Facet>
-inline _LIBCPP_INLINE_VISIBILITY
-locale::locale(const locale& __other, _Facet* __f)
-{
-    __install_ctor(__other, __f, __f ? __f->id.__get() : 0);
-}
-
-template <class _Facet>
-locale
-locale::combine(const locale& __other) const
-{
-    if (!_VSTD::has_facet<_Facet>(__other))
-        __throw_runtime_error("locale::combine: locale missing facet");
-
-    return locale(*this, &const_cast<_Facet&>(_VSTD::use_facet<_Facet>(__other)));
-}
-
-template <class _Facet>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-has_facet(const locale& __l)  _NOEXCEPT
-{
-    return __l.has_facet(_Facet::id);
-}
-
-template <class _Facet>
-inline _LIBCPP_INLINE_VISIBILITY
-const _Facet&
-use_facet(const locale& __l)
-{
-    return static_cast<const _Facet&>(*__l.use_facet(_Facet::id));
-}
-
-// template <class _CharT> class collate;
-
-template <class _CharT>
-class _LIBCPP_TEMPLATE_VIS collate
-    : public locale::facet
-{
-public:
-    typedef _CharT char_type;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit collate(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    int compare(const char_type* __lo1, const char_type* __hi1,
-                const char_type* __lo2, const char_type* __hi2) const
-    {
-        return do_compare(__lo1, __hi1, __lo2, __hi2);
-    }
-
-    // FIXME(EricWF): The _LIBCPP_ALWAYS_INLINE is needed on Windows to work
-    // around a dllimport bug that expects an external instantiation.
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_ALWAYS_INLINE
-    string_type transform(const char_type* __lo, const char_type* __hi) const
-    {
-        return do_transform(__lo, __hi);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    long hash(const char_type* __lo, const char_type* __hi) const
-    {
-        return do_hash(__lo, __hi);
-    }
-
-    static locale::id id;
-
-protected:
-    ~collate();
-    virtual int do_compare(const char_type* __lo1, const char_type* __hi1,
-                           const char_type* __lo2, const char_type* __hi2) const;
-    virtual string_type do_transform(const char_type* __lo, const char_type* __hi) const
-        {return string_type(__lo, __hi);}
-    virtual long do_hash(const char_type* __lo, const char_type* __hi) const;
-};
-
-template <class _CharT> locale::id collate<_CharT>::id;
-
-template <class _CharT>
-collate<_CharT>::~collate()
-{
-}
-
-template <class _CharT>
-int
-collate<_CharT>::do_compare(const char_type* __lo1, const char_type* __hi1,
-                            const char_type* __lo2, const char_type* __hi2) const
-{
-    for (; __lo2 != __hi2; ++__lo1, ++__lo2)
-    {
-        if (__lo1 == __hi1 || *__lo1 < *__lo2)
-            return -1;
-        if (*__lo2 < *__lo1)
-            return 1;
-    }
-    return __lo1 != __hi1;
-}
-
-template <class _CharT>
-long
-collate<_CharT>::do_hash(const char_type* __lo, const char_type* __hi) const
-{
-    size_t __h = 0;
-    const size_t __sr = __CHAR_BIT__ * sizeof(size_t) - 8;
-    const size_t __mask = size_t(0xF) << (__sr + 4);
-    for(const char_type* __p = __lo; __p != __hi; ++__p)
-    {
-        __h = (__h << 4) + static_cast<size_t>(*__p);
-        size_t __g = __h & __mask;
-        __h ^= __g | (__g >> __sr);
-    }
-    return static_cast<long>(__h);
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS collate<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS collate<wchar_t>)
-
-// template <class CharT> class collate_byname;
-
-template <class _CharT> class _LIBCPP_TEMPLATE_VIS collate_byname;
-
-template <>
-class _LIBCPP_TYPE_VIS collate_byname<char>
-    : public collate<char>
-{
-    locale_t __l;
-public:
-    typedef char char_type;
-    typedef basic_string<char_type> string_type;
-
-    explicit collate_byname(const char* __n, size_t __refs = 0);
-    explicit collate_byname(const string& __n, size_t __refs = 0);
-
-protected:
-    ~collate_byname();
-    virtual int do_compare(const char_type* __lo1, const char_type* __hi1,
-                           const char_type* __lo2, const char_type* __hi2) const;
-    virtual string_type do_transform(const char_type* __lo, const char_type* __hi) const;
-};
-
-template <>
-class _LIBCPP_TYPE_VIS collate_byname<wchar_t>
-    : public collate<wchar_t>
-{
-    locale_t __l;
-public:
-    typedef wchar_t char_type;
-    typedef basic_string<char_type> string_type;
-
-    explicit collate_byname(const char* __n, size_t __refs = 0);
-    explicit collate_byname(const string& __n, size_t __refs = 0);
-
-protected:
-    ~collate_byname();
-
-    virtual int do_compare(const char_type* __lo1, const char_type* __hi1,
-                           const char_type* __lo2, const char_type* __hi2) const;
-    virtual string_type do_transform(const char_type* __lo, const char_type* __hi) const;
-};
-
-template <class _CharT, class _Traits, class _Allocator>
-bool
-locale::operator()(const basic_string<_CharT, _Traits, _Allocator>& __x,
-                   const basic_string<_CharT, _Traits, _Allocator>& __y) const
-{
-    return _VSTD::use_facet<_VSTD::collate<_CharT> >(*this).compare(
-                                       __x.data(), __x.data() + __x.size(),
-                                       __y.data(), __y.data() + __y.size()) < 0;
-}
-
-// template <class charT> class ctype
-
-class _LIBCPP_TYPE_VIS ctype_base
-{
-public:
-#if defined(__GLIBC__)
-    typedef unsigned short mask;
-    static const mask space  = _ISspace;
-    static const mask print  = _ISprint;
-    static const mask cntrl  = _IScntrl;
-    static const mask upper  = _ISupper;
-    static const mask lower  = _ISlower;
-    static const mask alpha  = _ISalpha;
-    static const mask digit  = _ISdigit;
-    static const mask punct  = _ISpunct;
-    static const mask xdigit = _ISxdigit;
-    static const mask blank  = _ISblank;
-#if defined(__mips__)
-    static const mask __regex_word = static_cast<mask>(_ISbit(15));
-#else
-    static const mask __regex_word = 0x80;
-#endif
-#elif defined(_LIBCPP_MSVCRT_LIKE)
-    typedef unsigned short mask;
-    static const mask space  = _SPACE;
-    static const mask print  = _BLANK|_PUNCT|_ALPHA|_DIGIT;
-    static const mask cntrl  = _CONTROL;
-    static const mask upper  = _UPPER;
-    static const mask lower  = _LOWER;
-    static const mask alpha  = _ALPHA;
-    static const mask digit  = _DIGIT;
-    static const mask punct  = _PUNCT;
-    static const mask xdigit = _HEX;
-    static const mask blank  = _BLANK;
-    static const mask __regex_word = 0x80;
-# define _LIBCPP_CTYPE_MASK_IS_COMPOSITE_PRINT
-#elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__EMSCRIPTEN__) || defined(__NetBSD__)
-# ifdef __APPLE__
-    typedef __uint32_t mask;
-# elif defined(__FreeBSD__)
-    typedef unsigned long mask;
-# elif defined(__EMSCRIPTEN__) || defined(__NetBSD__)
-    typedef unsigned short mask;
-# endif
-    static const mask space  = _CTYPE_S;
-    static const mask print  = _CTYPE_R;
-    static const mask cntrl  = _CTYPE_C;
-    static const mask upper  = _CTYPE_U;
-    static const mask lower  = _CTYPE_L;
-    static const mask alpha  = _CTYPE_A;
-    static const mask digit  = _CTYPE_D;
-    static const mask punct  = _CTYPE_P;
-    static const mask xdigit = _CTYPE_X;
-
-# if defined(__NetBSD__)
-    static const mask blank  = _CTYPE_BL;
-    // NetBSD defines classes up to 0x2000
-    // see sys/ctype_bits.h, _CTYPE_Q
-    static const mask __regex_word = 0x8000;
-# else
-    static const mask blank  = _CTYPE_B;
-    static const mask __regex_word = 0x80;
-# endif
-#elif defined(__sun__) || defined(_AIX)
-    typedef unsigned int mask;
-    static const mask space  = _ISSPACE;
-    static const mask print  = _ISPRINT;
-    static const mask cntrl  = _ISCNTRL;
-    static const mask upper  = _ISUPPER;
-    static const mask lower  = _ISLOWER;
-    static const mask alpha  = _ISALPHA;
-    static const mask digit  = _ISDIGIT;
-    static const mask punct  = _ISPUNCT;
-    static const mask xdigit = _ISXDIGIT;
-    static const mask blank  = _ISBLANK;
-    static const mask __regex_word = 0x80;
-#elif defined(_NEWLIB_VERSION)
-    // Same type as Newlib's _ctype_ array in newlib/libc/include/ctype.h.
-    typedef char mask;
-    static const mask space  = _S;
-    static const mask print  = _P | _U | _L | _N | _B;
-    static const mask cntrl  = _C;
-    static const mask upper  = _U;
-    static const mask lower  = _L;
-    static const mask alpha  = _U | _L;
-    static const mask digit  = _N;
-    static const mask punct  = _P;
-    static const mask xdigit = _X | _N;
-    static const mask blank  = _B;
-    static const mask __regex_word = 0x80;
-# define _LIBCPP_CTYPE_MASK_IS_COMPOSITE_PRINT
-# define _LIBCPP_CTYPE_MASK_IS_COMPOSITE_ALPHA
-# define _LIBCPP_CTYPE_MASK_IS_COMPOSITE_XDIGIT
-#else
-    typedef unsigned long mask;
-    static const mask space  = 1<<0;
-    static const mask print  = 1<<1;
-    static const mask cntrl  = 1<<2;
-    static const mask upper  = 1<<3;
-    static const mask lower  = 1<<4;
-    static const mask alpha  = 1<<5;
-    static const mask digit  = 1<<6;
-    static const mask punct  = 1<<7;
-    static const mask xdigit = 1<<8;
-    static const mask blank  = 1<<9;
-#if defined(__BIONIC__)
-    static const mask __regex_word = 0x8000;
-#else
-    static const mask __regex_word = 1<<10;
-#endif // defined(__BIONIC__)
-#endif
-    static const mask alnum  = alpha | digit;
-    static const mask graph  = alnum | punct;
-
-    _LIBCPP_INLINE_VISIBILITY ctype_base() {}
-};
-
-template <class _CharT> class _LIBCPP_TEMPLATE_VIS ctype;
-
-template <>
-class _LIBCPP_TYPE_VIS ctype<wchar_t>
-    : public locale::facet,
-      public ctype_base
-{
-public:
-    typedef wchar_t char_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit ctype(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool is(mask __m, char_type __c) const
-    {
-        return do_is(__m, __c);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* is(const char_type* __low, const char_type* __high, mask* __vec) const
-    {
-        return do_is(__low, __high, __vec);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* scan_is(mask __m, const char_type* __low, const char_type* __high) const
-    {
-        return do_scan_is(__m, __low, __high);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* scan_not(mask __m, const char_type* __low, const char_type* __high) const
-    {
-        return do_scan_not(__m, __low, __high);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    char_type toupper(char_type __c) const
-    {
-        return do_toupper(__c);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* toupper(char_type* __low, const char_type* __high) const
-    {
-        return do_toupper(__low, __high);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    char_type tolower(char_type __c) const
-    {
-        return do_tolower(__c);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* tolower(char_type* __low, const char_type* __high) const
-    {
-        return do_tolower(__low, __high);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    char_type widen(char __c) const
-    {
-        return do_widen(__c);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char* widen(const char* __low, const char* __high, char_type* __to) const
-    {
-        return do_widen(__low, __high, __to);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    char narrow(char_type __c, char __dfault) const
-    {
-        return do_narrow(__c, __dfault);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* narrow(const char_type* __low, const char_type* __high, char __dfault, char* __to) const
-    {
-        return do_narrow(__low, __high, __dfault, __to);
-    }
-
-    static locale::id id;
-
-protected:
-    ~ctype();
-    virtual bool do_is(mask __m, char_type __c) const;
-    virtual const char_type* do_is(const char_type* __low, const char_type* __high, mask* __vec) const;
-    virtual const char_type* do_scan_is(mask __m, const char_type* __low, const char_type* __high) const;
-    virtual const char_type* do_scan_not(mask __m, const char_type* __low, const char_type* __high) const;
-    virtual char_type do_toupper(char_type) const;
-    virtual const char_type* do_toupper(char_type* __low, const char_type* __high) const;
-    virtual char_type do_tolower(char_type) const;
-    virtual const char_type* do_tolower(char_type* __low, const char_type* __high) const;
-    virtual char_type do_widen(char) const;
-    virtual const char* do_widen(const char* __low, const char* __high, char_type* __dest) const;
-    virtual char do_narrow(char_type, char __dfault) const;
-    virtual const char_type* do_narrow(const char_type* __low, const char_type* __high, char __dfault, char* __dest) const;
-};
-
-template <>
-class _LIBCPP_TYPE_VIS ctype<char>
-    : public locale::facet, public ctype_base
-{
-    const mask* __tab_;
-    bool        __del_;
-public:
-    typedef char char_type;
-
-    explicit ctype(const mask* __tab = 0, bool __del = false, size_t __refs = 0);
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool is(mask __m, char_type __c) const
-    {
-        return isascii(__c) ? (__tab_[static_cast<int>(__c)] & __m) !=0 : false;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* is(const char_type* __low, const char_type* __high, mask* __vec) const
-    {
-        for (; __low != __high; ++__low, ++__vec)
-            *__vec = isascii(*__low) ? __tab_[static_cast<int>(*__low)] : 0;
-        return __low;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* scan_is (mask __m, const char_type* __low, const char_type* __high) const
-    {
-        for (; __low != __high; ++__low)
-            if (isascii(*__low) && (__tab_[static_cast<int>(*__low)] & __m))
-                break;
-        return __low;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* scan_not(mask __m, const char_type* __low, const char_type* __high) const
-    {
-        for (; __low != __high; ++__low)
-            if (!(isascii(*__low) && (__tab_[static_cast<int>(*__low)] & __m)))
-                break;
-        return __low;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    char_type toupper(char_type __c) const
-    {
-        return do_toupper(__c);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* toupper(char_type* __low, const char_type* __high) const
-    {
-        return do_toupper(__low, __high);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    char_type tolower(char_type __c) const
-    {
-        return do_tolower(__c);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char_type* tolower(char_type* __low, const char_type* __high) const
-    {
-        return do_tolower(__low, __high);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    char_type widen(char __c) const
-    {
-        return do_widen(__c);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char* widen(const char* __low, const char* __high, char_type* __to) const
-    {
-        return do_widen(__low, __high, __to);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    char narrow(char_type __c, char __dfault) const
-    {
-        return do_narrow(__c, __dfault);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char* narrow(const char_type* __low, const char_type* __high, char __dfault, char* __to) const
-    {
-        return do_narrow(__low, __high, __dfault, __to);
-    }
-
-    static locale::id id;
-
-#ifdef _CACHED_RUNES
-    static const size_t table_size = _CACHED_RUNES;
-#else
-    static const size_t table_size = 256;  // FIXME: Don't hardcode this.
-#endif
-    _LIBCPP_INLINE_VISIBILITY const mask* table() const  _NOEXCEPT {return __tab_;}
-    static const mask* classic_table()  _NOEXCEPT;
-#if defined(__GLIBC__) || defined(__EMSCRIPTEN__)
-    static const int* __classic_upper_table() _NOEXCEPT;
-    static const int* __classic_lower_table() _NOEXCEPT;
-#endif
-#if defined(__NetBSD__)
-    static const short* __classic_upper_table() _NOEXCEPT;
-    static const short* __classic_lower_table() _NOEXCEPT;
-#endif
-
-protected:
-    ~ctype();
-    virtual char_type do_toupper(char_type __c) const;
-    virtual const char_type* do_toupper(char_type* __low, const char_type* __high) const;
-    virtual char_type do_tolower(char_type __c) const;
-    virtual const char_type* do_tolower(char_type* __low, const char_type* __high) const;
-    virtual char_type do_widen(char __c) const;
-    virtual const char* do_widen(const char* __low, const char* __high, char_type* __to) const;
-    virtual char do_narrow(char_type __c, char __dfault) const;
-    virtual const char* do_narrow(const char_type* __low, const char_type* __high, char __dfault, char* __to) const;
-};
-
-// template <class CharT> class ctype_byname;
-
-template <class _CharT> class _LIBCPP_TEMPLATE_VIS ctype_byname;
-
-template <>
-class _LIBCPP_TYPE_VIS ctype_byname<char>
-    : public ctype<char>
-{
-    locale_t __l;
-
-public:
-    explicit ctype_byname(const char*, size_t = 0);
-    explicit ctype_byname(const string&, size_t = 0);
-
-protected:
-    ~ctype_byname();
-    virtual char_type do_toupper(char_type) const;
-    virtual const char_type* do_toupper(char_type* __low, const char_type* __high) const;
-    virtual char_type do_tolower(char_type) const;
-    virtual const char_type* do_tolower(char_type* __low, const char_type* __high) const;
-};
-
-template <>
-class _LIBCPP_TYPE_VIS ctype_byname<wchar_t>
-    : public ctype<wchar_t>
-{
-    locale_t __l;
-
-public:
-    explicit ctype_byname(const char*, size_t = 0);
-    explicit ctype_byname(const string&, size_t = 0);
-
-protected:
-    ~ctype_byname();
-    virtual bool do_is(mask __m, char_type __c) const;
-    virtual const char_type* do_is(const char_type* __low, const char_type* __high, mask* __vec) const;
-    virtual const char_type* do_scan_is(mask __m, const char_type* __low, const char_type* __high) const;
-    virtual const char_type* do_scan_not(mask __m, const char_type* __low, const char_type* __high) const;
-    virtual char_type do_toupper(char_type) const;
-    virtual const char_type* do_toupper(char_type* __low, const char_type* __high) const;
-    virtual char_type do_tolower(char_type) const;
-    virtual const char_type* do_tolower(char_type* __low, const char_type* __high) const;
-    virtual char_type do_widen(char) const;
-    virtual const char* do_widen(const char* __low, const char* __high, char_type* __dest) const;
-    virtual char do_narrow(char_type, char __dfault) const;
-    virtual const char_type* do_narrow(const char_type* __low, const char_type* __high, char __dfault, char* __dest) const;
-};
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isspace(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isprint(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-iscntrl(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isupper(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-islower(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isalpha(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isdigit(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-ispunct(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isxdigit(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isalnum(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isgraph(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-_CharT
-toupper(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).toupper(__c);
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-_CharT
-tolower(_CharT __c, const locale& __loc)
-{
-    return use_facet<ctype<_CharT> >(__loc).tolower(__c);
-}
-
-// codecvt_base
-
-class _LIBCPP_TYPE_VIS codecvt_base
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY codecvt_base() {}
-    enum result {ok, partial, error, noconv};
-};
-
-// template <class internT, class externT, class stateT> class codecvt;
-
-template <class _InternT, class _ExternT, class _StateT> class _LIBCPP_TEMPLATE_VIS codecvt;
-
-// template <> class codecvt<char, char, mbstate_t>
-
-template <>
-class _LIBCPP_TYPE_VIS codecvt<char, char, mbstate_t>
-    : public locale::facet,
-      public codecvt_base
-{
-public:
-    typedef char      intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const
-    {
-        return do_out(__st, __frm, __frm_end, __frm_nxt, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const
-    {
-        return do_unshift(__st, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const
-    {
-        return do_in(__st, __frm, __frm_end, __frm_nxt, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int encoding() const  _NOEXCEPT
-    {
-        return do_encoding();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool always_noconv() const  _NOEXCEPT
-    {
-        return do_always_noconv();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int length(state_type& __st, const extern_type* __frm, const extern_type* __end, size_t __mx) const
-    {
-        return do_length(__st, __frm, __end, __mx);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int max_length() const  _NOEXCEPT
-    {
-        return do_max_length();
-    }
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt(const char*, size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    ~codecvt();
-
-    virtual result do_out(state_type& __st,
-                          const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-                          extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result do_in(state_type& __st,
-                         const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-                         intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result do_unshift(state_type& __st,
-                              extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const  _NOEXCEPT;
-    virtual bool do_always_noconv() const  _NOEXCEPT;
-    virtual int do_length(state_type& __st, const extern_type* __frm, const extern_type* __end, size_t __mx) const;
-    virtual int do_max_length() const  _NOEXCEPT;
-};
-
-// template <> class codecvt<wchar_t, char, mbstate_t>
-
-template <>
-class _LIBCPP_TYPE_VIS codecvt<wchar_t, char, mbstate_t>
-    : public locale::facet,
-      public codecvt_base
-{
-    locale_t __l;
-public:
-    typedef wchar_t   intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    explicit codecvt(size_t __refs = 0);
-
-    _LIBCPP_INLINE_VISIBILITY
-    result out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const
-    {
-        return do_out(__st, __frm, __frm_end, __frm_nxt, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const
-    {
-        return do_unshift(__st, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const
-    {
-        return do_in(__st, __frm, __frm_end, __frm_nxt, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int encoding() const  _NOEXCEPT
-    {
-        return do_encoding();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool always_noconv() const  _NOEXCEPT
-    {
-        return do_always_noconv();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int length(state_type& __st, const extern_type* __frm, const extern_type* __end, size_t __mx) const
-    {
-        return do_length(__st, __frm, __end, __mx);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int max_length() const  _NOEXCEPT
-    {
-        return do_max_length();
-    }
-
-    static locale::id id;
-
-protected:
-    explicit codecvt(const char*, size_t __refs = 0);
-
-    ~codecvt();
-
-    virtual result do_out(state_type& __st,
-                          const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-                          extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result do_in(state_type& __st,
-                         const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-                         intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result do_unshift(state_type& __st,
-                              extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const  _NOEXCEPT;
-    virtual bool do_always_noconv() const  _NOEXCEPT;
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const;
-    virtual int do_max_length() const  _NOEXCEPT;
-};
-
-// template <> class codecvt<char16_t, char, mbstate_t>
-
-template <>
-class _LIBCPP_TYPE_VIS codecvt<char16_t, char, mbstate_t>
-    : public locale::facet,
-      public codecvt_base
-{
-public:
-    typedef char16_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const
-    {
-        return do_out(__st, __frm, __frm_end, __frm_nxt, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const
-    {
-        return do_unshift(__st, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const
-    {
-        return do_in(__st, __frm, __frm_end, __frm_nxt, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int encoding() const  _NOEXCEPT
-    {
-        return do_encoding();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool always_noconv() const  _NOEXCEPT
-    {
-        return do_always_noconv();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int length(state_type& __st, const extern_type* __frm, const extern_type* __end, size_t __mx) const
-    {
-        return do_length(__st, __frm, __end, __mx);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int max_length() const  _NOEXCEPT
-    {
-        return do_max_length();
-    }
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt(const char*, size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    ~codecvt();
-
-    virtual result do_out(state_type& __st,
-                          const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-                          extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result do_in(state_type& __st,
-                         const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-                         intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result do_unshift(state_type& __st,
-                              extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const  _NOEXCEPT;
-    virtual bool do_always_noconv() const  _NOEXCEPT;
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const;
-    virtual int do_max_length() const  _NOEXCEPT;
-};
-
-// template <> class codecvt<char32_t, char, mbstate_t>
-
-template <>
-class _LIBCPP_TYPE_VIS codecvt<char32_t, char, mbstate_t>
-    : public locale::facet,
-      public codecvt_base
-{
-public:
-    typedef char32_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const
-    {
-        return do_out(__st, __frm, __frm_end, __frm_nxt, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const
-    {
-        return do_unshift(__st, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const
-    {
-        return do_in(__st, __frm, __frm_end, __frm_nxt, __to, __to_end, __to_nxt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int encoding() const  _NOEXCEPT
-    {
-        return do_encoding();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool always_noconv() const  _NOEXCEPT
-    {
-        return do_always_noconv();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int length(state_type& __st, const extern_type* __frm, const extern_type* __end, size_t __mx) const
-    {
-        return do_length(__st, __frm, __end, __mx);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int max_length() const  _NOEXCEPT
-    {
-        return do_max_length();
-    }
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt(const char*, size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    ~codecvt();
-
-    virtual result do_out(state_type& __st,
-                          const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-                          extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result do_in(state_type& __st,
-                         const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-                         intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result do_unshift(state_type& __st,
-                              extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const  _NOEXCEPT;
-    virtual bool do_always_noconv() const  _NOEXCEPT;
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const;
-    virtual int do_max_length() const  _NOEXCEPT;
-};
-
-// template <class _InternT, class _ExternT, class _StateT> class codecvt_byname
-
-template <class _InternT, class _ExternT, class _StateT>
-class _LIBCPP_TEMPLATE_VIS codecvt_byname
-    : public codecvt<_InternT, _ExternT, _StateT>
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt_byname(const char* __nm, size_t __refs = 0)
-        : codecvt<_InternT, _ExternT, _StateT>(__nm, __refs) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt_byname(const string& __nm, size_t __refs = 0)
-        : codecvt<_InternT, _ExternT, _StateT>(__nm.c_str(), __refs) {}
-protected:
-    ~codecvt_byname();
-};
-
-template <class _InternT, class _ExternT, class _StateT>
-codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname()
-{
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char, char, mbstate_t>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<wchar_t, char, mbstate_t>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char16_t, char, mbstate_t>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char32_t, char, mbstate_t>)
-
-template <size_t _Np>
-struct __narrow_to_utf8
-{
-    template <class _OutputIterator, class _CharT>
-    _OutputIterator
-    operator()(_OutputIterator __s, const _CharT* __wb, const _CharT* __we) const;
-};
-
-template <>
-struct __narrow_to_utf8<8>
-{
-    template <class _OutputIterator, class _CharT>
-    _LIBCPP_INLINE_VISIBILITY
-    _OutputIterator
-    operator()(_OutputIterator __s, const _CharT* __wb, const _CharT* __we) const
-    {
-        for (; __wb < __we; ++__wb, ++__s)
-            *__s = *__wb;
-        return __s;
-    }
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS __narrow_to_utf8<16>
-    : public codecvt<char16_t, char, mbstate_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    __narrow_to_utf8() : codecvt<char16_t, char, mbstate_t>(1) {}
-
-    _LIBCPP_EXPORTED_FROM_ABI ~__narrow_to_utf8();
-
-    template <class _OutputIterator, class _CharT>
-    _LIBCPP_INLINE_VISIBILITY
-    _OutputIterator
-    operator()(_OutputIterator __s, const _CharT* __wb, const _CharT* __we) const
-    {
-        result __r = ok;
-        mbstate_t __mb;
-        while (__wb < __we && __r != error)
-        {
-            const int __sz = 32;
-            char __buf[__sz];
-            char* __bn;
-            const char16_t* __wn = (const char16_t*)__wb;
-            __r = do_out(__mb, (const char16_t*)__wb, (const char16_t*)__we, __wn,
-                         __buf, __buf+__sz, __bn);
-            if (__r == codecvt_base::error || __wn == (const char16_t*)__wb)
-                __throw_runtime_error("locale not supported");
-            for (const char* __p = __buf; __p < __bn; ++__p, ++__s)
-                *__s = *__p;
-            __wb = (const _CharT*)__wn;
-        }
-        return __s;
-    }
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS __narrow_to_utf8<32>
-    : public codecvt<char32_t, char, mbstate_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    __narrow_to_utf8() : codecvt<char32_t, char, mbstate_t>(1) {}
-
-    _LIBCPP_EXPORTED_FROM_ABI ~__narrow_to_utf8();
-
-    template <class _OutputIterator, class _CharT>
-    _LIBCPP_INLINE_VISIBILITY
-    _OutputIterator
-    operator()(_OutputIterator __s, const _CharT* __wb, const _CharT* __we) const
-    {
-        result __r = ok;
-        mbstate_t __mb;
-        while (__wb < __we && __r != error)
-        {
-            const int __sz = 32;
-            char __buf[__sz];
-            char* __bn;
-            const char32_t* __wn = (const char32_t*)__wb;
-            __r = do_out(__mb, (const char32_t*)__wb, (const char32_t*)__we, __wn,
-                         __buf, __buf+__sz, __bn);
-            if (__r == codecvt_base::error || __wn == (const char32_t*)__wb)
-                __throw_runtime_error("locale not supported");
-            for (const char* __p = __buf; __p < __bn; ++__p, ++__s)
-                *__s = *__p;
-            __wb = (const _CharT*)__wn;
-        }
-        return __s;
-    }
-};
-
-template <size_t _Np>
-struct __widen_from_utf8
-{
-    template <class _OutputIterator>
-    _OutputIterator
-    operator()(_OutputIterator __s, const char* __nb, const char* __ne) const;
-};
-
-template <>
-struct __widen_from_utf8<8>
-{
-    template <class _OutputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-    _OutputIterator
-    operator()(_OutputIterator __s, const char* __nb, const char* __ne) const
-    {
-        for (; __nb < __ne; ++__nb, ++__s)
-            *__s = *__nb;
-        return __s;
-    }
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS __widen_from_utf8<16>
-    : public codecvt<char16_t, char, mbstate_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    __widen_from_utf8() : codecvt<char16_t, char, mbstate_t>(1) {}
-
-    _LIBCPP_EXPORTED_FROM_ABI ~__widen_from_utf8();
-
-    template <class _OutputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-    _OutputIterator
-    operator()(_OutputIterator __s, const char* __nb, const char* __ne) const
-    {
-        result __r = ok;
-        mbstate_t __mb;
-        while (__nb < __ne && __r != error)
-        {
-            const int __sz = 32;
-            char16_t __buf[__sz];
-            char16_t* __bn;
-            const char* __nn = __nb;
-            __r = do_in(__mb, __nb, __ne - __nb > __sz ? __nb+__sz : __ne, __nn,
-                        __buf, __buf+__sz, __bn);
-            if (__r == codecvt_base::error || __nn == __nb)
-                __throw_runtime_error("locale not supported");
-            for (const char16_t* __p = __buf; __p < __bn; ++__p, ++__s)
-                *__s = (wchar_t)*__p;
-            __nb = __nn;
-        }
-        return __s;
-    }
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS __widen_from_utf8<32>
-    : public codecvt<char32_t, char, mbstate_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    __widen_from_utf8() : codecvt<char32_t, char, mbstate_t>(1) {}
-
-    _LIBCPP_EXPORTED_FROM_ABI ~__widen_from_utf8();
-
-    template <class _OutputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-    _OutputIterator
-    operator()(_OutputIterator __s, const char* __nb, const char* __ne) const
-    {
-        result __r = ok;
-        mbstate_t __mb;
-        while (__nb < __ne && __r != error)
-        {
-            const int __sz = 32;
-            char32_t __buf[__sz];
-            char32_t* __bn;
-            const char* __nn = __nb;
-            __r = do_in(__mb, __nb, __ne - __nb > __sz ? __nb+__sz : __ne, __nn,
-                        __buf, __buf+__sz, __bn);
-            if (__r == codecvt_base::error || __nn == __nb)
-                __throw_runtime_error("locale not supported");
-            for (const char32_t* __p = __buf; __p < __bn; ++__p, ++__s)
-                *__s = (wchar_t)*__p;
-            __nb = __nn;
-        }
-        return __s;
-    }
-};
-
-// template <class charT> class numpunct
-
-template <class _CharT> class _LIBCPP_TEMPLATE_VIS numpunct;
-
-template <>
-class _LIBCPP_TYPE_VIS numpunct<char>
-    : public locale::facet
-{
-public:
-    typedef char char_type;
-    typedef basic_string<char_type> string_type;
-
-    explicit numpunct(size_t __refs = 0);
-
-    _LIBCPP_INLINE_VISIBILITY char_type decimal_point() const {return do_decimal_point();}
-    _LIBCPP_INLINE_VISIBILITY char_type thousands_sep() const {return do_thousands_sep();}
-    _LIBCPP_INLINE_VISIBILITY string grouping() const         {return do_grouping();}
-    _LIBCPP_INLINE_VISIBILITY string_type truename() const    {return do_truename();}
-    _LIBCPP_INLINE_VISIBILITY string_type falsename() const   {return do_falsename();}
-
-    static locale::id id;
-
-protected:
-    ~numpunct();
-    virtual char_type do_decimal_point() const;
-    virtual char_type do_thousands_sep() const;
-    virtual string do_grouping() const;
-    virtual string_type do_truename() const;
-    virtual string_type do_falsename() const;
-
-    char_type __decimal_point_;
-    char_type __thousands_sep_;
-    string __grouping_;
-};
-
-template <>
-class _LIBCPP_TYPE_VIS numpunct<wchar_t>
-    : public locale::facet
-{
-public:
-    typedef wchar_t char_type;
-    typedef basic_string<char_type> string_type;
-
-    explicit numpunct(size_t __refs = 0);
-
-    _LIBCPP_INLINE_VISIBILITY char_type decimal_point() const {return do_decimal_point();}
-    _LIBCPP_INLINE_VISIBILITY char_type thousands_sep() const {return do_thousands_sep();}
-    _LIBCPP_INLINE_VISIBILITY string grouping() const         {return do_grouping();}
-    _LIBCPP_INLINE_VISIBILITY string_type truename() const    {return do_truename();}
-    _LIBCPP_INLINE_VISIBILITY string_type falsename() const   {return do_falsename();}
-
-    static locale::id id;
-
-protected:
-    ~numpunct();
-    virtual char_type do_decimal_point() const;
-    virtual char_type do_thousands_sep() const;
-    virtual string do_grouping() const;
-    virtual string_type do_truename() const;
-    virtual string_type do_falsename() const;
-
-    char_type __decimal_point_;
-    char_type __thousands_sep_;
-    string __grouping_;
-};
-
-// template <class charT> class numpunct_byname
-
-template <class _CharT> class _LIBCPP_TEMPLATE_VIS numpunct_byname;
-
-template <>
-class _LIBCPP_TYPE_VIS numpunct_byname<char>
-: public numpunct<char>
-{
-public:
-    typedef char char_type;
-    typedef basic_string<char_type> string_type;
-
-    explicit numpunct_byname(const char* __nm, size_t __refs = 0);
-    explicit numpunct_byname(const string& __nm, size_t __refs = 0);
-
-protected:
-    ~numpunct_byname();
-
-private:
-    void __init(const char*);
-};
-
-template <>
-class _LIBCPP_TYPE_VIS numpunct_byname<wchar_t>
-: public numpunct<wchar_t>
-{
-public:
-    typedef wchar_t char_type;
-    typedef basic_string<char_type> string_type;
-
-    explicit numpunct_byname(const char* __nm, size_t __refs = 0);
-    explicit numpunct_byname(const string& __nm, size_t __refs = 0);
-
-protected:
-    ~numpunct_byname();
-
-private:
-    void __init(const char*);
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP___LOCALE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__mutex_base b/r21/sources/cxx-stl/llvm-libc++/include/__mutex_base
deleted file mode 100644
index a85ded8..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__mutex_base
+++ /dev/null
@@ -1,430 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___MUTEX_BASE
-#define _LIBCPP___MUTEX_BASE
-
-#include <__config>
-#include <chrono>
-#include <system_error>
-#include <__threading_support>
-
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifndef _LIBCPP_HAS_NO_THREADS
-
-#ifndef _LIBCPP_THREAD_SAFETY_ANNOTATION
-#  ifdef _LIBCPP_HAS_THREAD_SAFETY_ANNOTATIONS
-#    define _LIBCPP_THREAD_SAFETY_ANNOTATION(x) __attribute__((x))
-#  else
-#    define _LIBCPP_THREAD_SAFETY_ANNOTATION(x)
-#  endif
-#endif  // _LIBCPP_THREAD_SAFETY_ANNOTATION
-
-
-class _LIBCPP_TYPE_VIS _LIBCPP_THREAD_SAFETY_ANNOTATION(capability("mutex")) mutex
-{
-    __libcpp_mutex_t __m_ = _LIBCPP_MUTEX_INITIALIZER;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR mutex() = default;
-
-    mutex(const mutex&) = delete;
-    mutex& operator=(const mutex&) = delete;
-
-#if defined(_LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION)
-    ~mutex() = default;
-#else
-    ~mutex() _NOEXCEPT;
-#endif
-
-    void lock() _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability());
-    bool try_lock() _NOEXCEPT _LIBCPP_THREAD_SAFETY_ANNOTATION(try_acquire_capability(true));
-    void unlock() _NOEXCEPT _LIBCPP_THREAD_SAFETY_ANNOTATION(release_capability());
-
-    typedef __libcpp_mutex_t* native_handle_type;
-    _LIBCPP_INLINE_VISIBILITY native_handle_type native_handle() {return &__m_;}
-};
-
-static_assert(is_nothrow_default_constructible<mutex>::value,
-              "the default constructor for std::mutex must be nothrow");
-
-struct _LIBCPP_TYPE_VIS defer_lock_t {};
-struct _LIBCPP_TYPE_VIS try_to_lock_t {};
-struct _LIBCPP_TYPE_VIS adopt_lock_t {};
-
-#if defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_LIBRARY)
-
-extern _LIBCPP_EXPORTED_FROM_ABI const defer_lock_t  defer_lock;
-extern _LIBCPP_EXPORTED_FROM_ABI const try_to_lock_t try_to_lock;
-extern _LIBCPP_EXPORTED_FROM_ABI const adopt_lock_t  adopt_lock;
-
-#else
-
-/* _LIBCPP_INLINE_VAR */ constexpr defer_lock_t  defer_lock  = defer_lock_t();
-/* _LIBCPP_INLINE_VAR */ constexpr try_to_lock_t try_to_lock = try_to_lock_t();
-/* _LIBCPP_INLINE_VAR */ constexpr adopt_lock_t  adopt_lock  = adopt_lock_t();
-
-#endif
-
-template <class _Mutex>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_THREAD_SAFETY_ANNOTATION(scoped_lockable)
-lock_guard
-{
-public:
-    typedef _Mutex mutex_type;
-
-private:
-    mutex_type& __m_;
-public:
-
-    _LIBCPP_NODISCARD_EXT _LIBCPP_INLINE_VISIBILITY
-    explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m))
-        : __m_(__m) {__m_.lock();}
-
-    _LIBCPP_NODISCARD_EXT _LIBCPP_INLINE_VISIBILITY
-    lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m))
-        : __m_(__m) {}
-    _LIBCPP_INLINE_VISIBILITY
-    ~lock_guard() _LIBCPP_THREAD_SAFETY_ANNOTATION(release_capability()) {__m_.unlock();}
-
-private:
-    lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE;
-    lock_guard& operator=(lock_guard const&) _LIBCPP_EQUAL_DELETE;
-};
-
-template <class _Mutex>
-class _LIBCPP_TEMPLATE_VIS unique_lock
-{
-public:
-    typedef _Mutex mutex_type;
-
-private:
-    mutex_type* __m_;
-    bool __owns_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    unique_lock() _NOEXCEPT : __m_(nullptr), __owns_(false) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit unique_lock(mutex_type& __m)
-        : __m_(_VSTD::addressof(__m)), __owns_(true) {__m_->lock();}
-    _LIBCPP_INLINE_VISIBILITY
-    unique_lock(mutex_type& __m, defer_lock_t) _NOEXCEPT
-        : __m_(_VSTD::addressof(__m)), __owns_(false) {}
-    _LIBCPP_INLINE_VISIBILITY
-    unique_lock(mutex_type& __m, try_to_lock_t)
-        : __m_(_VSTD::addressof(__m)), __owns_(__m.try_lock()) {}
-    _LIBCPP_INLINE_VISIBILITY
-    unique_lock(mutex_type& __m, adopt_lock_t)
-        : __m_(_VSTD::addressof(__m)), __owns_(true) {}
-    template <class _Clock, class _Duration>
-    _LIBCPP_INLINE_VISIBILITY
-        unique_lock(mutex_type& __m, const chrono::time_point<_Clock, _Duration>& __t)
-            : __m_(_VSTD::addressof(__m)), __owns_(__m.try_lock_until(__t)) {}
-    template <class _Rep, class _Period>
-    _LIBCPP_INLINE_VISIBILITY
-        unique_lock(mutex_type& __m, const chrono::duration<_Rep, _Period>& __d)
-            : __m_(_VSTD::addressof(__m)), __owns_(__m.try_lock_for(__d)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    ~unique_lock()
-    {
-        if (__owns_)
-            __m_->unlock();
-    }
-
-private:
-    unique_lock(unique_lock const&); // = delete;
-    unique_lock& operator=(unique_lock const&); // = delete;
-
-public:
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unique_lock(unique_lock&& __u) _NOEXCEPT
-        : __m_(__u.__m_), __owns_(__u.__owns_)
-        {__u.__m_ = nullptr; __u.__owns_ = false;}
-    _LIBCPP_INLINE_VISIBILITY
-    unique_lock& operator=(unique_lock&& __u) _NOEXCEPT
-        {
-            if (__owns_)
-                __m_->unlock();
-            __m_ = __u.__m_;
-            __owns_ = __u.__owns_;
-            __u.__m_ = nullptr;
-            __u.__owns_ = false;
-            return *this;
-        }
-
-#endif  // _LIBCPP_CXX03_LANG
-
-    void lock();
-    bool try_lock();
-
-    template <class _Rep, class _Period>
-        bool try_lock_for(const chrono::duration<_Rep, _Period>& __d);
-    template <class _Clock, class _Duration>
-        bool try_lock_until(const chrono::time_point<_Clock, _Duration>& __t);
-
-    void unlock();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(unique_lock& __u) _NOEXCEPT
-    {
-        _VSTD::swap(__m_, __u.__m_);
-        _VSTD::swap(__owns_, __u.__owns_);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    mutex_type* release() _NOEXCEPT
-    {
-        mutex_type* __m = __m_;
-        __m_ = nullptr;
-        __owns_ = false;
-        return __m;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool owns_lock() const _NOEXCEPT {return __owns_;}
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_EXPLICIT
-        operator bool () const _NOEXCEPT {return __owns_;}
-    _LIBCPP_INLINE_VISIBILITY
-    mutex_type* mutex() const _NOEXCEPT {return __m_;}
-};
-
-template <class _Mutex>
-void
-unique_lock<_Mutex>::lock()
-{
-    if (__m_ == nullptr)
-        __throw_system_error(EPERM, "unique_lock::lock: references null mutex");
-    if (__owns_)
-        __throw_system_error(EDEADLK, "unique_lock::lock: already locked");
-    __m_->lock();
-    __owns_ = true;
-}
-
-template <class _Mutex>
-bool
-unique_lock<_Mutex>::try_lock()
-{
-    if (__m_ == nullptr)
-        __throw_system_error(EPERM, "unique_lock::try_lock: references null mutex");
-    if (__owns_)
-        __throw_system_error(EDEADLK, "unique_lock::try_lock: already locked");
-    __owns_ = __m_->try_lock();
-    return __owns_;
-}
-
-template <class _Mutex>
-template <class _Rep, class _Period>
-bool
-unique_lock<_Mutex>::try_lock_for(const chrono::duration<_Rep, _Period>& __d)
-{
-    if (__m_ == nullptr)
-        __throw_system_error(EPERM, "unique_lock::try_lock_for: references null mutex");
-    if (__owns_)
-        __throw_system_error(EDEADLK, "unique_lock::try_lock_for: already locked");
-    __owns_ = __m_->try_lock_for(__d);
-    return __owns_;
-}
-
-template <class _Mutex>
-template <class _Clock, class _Duration>
-bool
-unique_lock<_Mutex>::try_lock_until(const chrono::time_point<_Clock, _Duration>& __t)
-{
-    if (__m_ == nullptr)
-        __throw_system_error(EPERM, "unique_lock::try_lock_until: references null mutex");
-    if (__owns_)
-        __throw_system_error(EDEADLK, "unique_lock::try_lock_until: already locked");
-    __owns_ = __m_->try_lock_until(__t);
-    return __owns_;
-}
-
-template <class _Mutex>
-void
-unique_lock<_Mutex>::unlock()
-{
-    if (!__owns_)
-        __throw_system_error(EPERM, "unique_lock::unlock: not locked");
-    __m_->unlock();
-    __owns_ = false;
-}
-
-template <class _Mutex>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) _NOEXCEPT
-    {__x.swap(__y);}
-
-//enum class cv_status
-_LIBCPP_DECLARE_STRONG_ENUM(cv_status)
-{
-    no_timeout,
-    timeout
-};
-_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(cv_status)
-
-class _LIBCPP_TYPE_VIS condition_variable
-{
-    __libcpp_condvar_t __cv_ = _LIBCPP_CONDVAR_INITIALIZER;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR condition_variable() _NOEXCEPT = default;
-
-#ifdef _LIBCPP_HAS_TRIVIAL_CONDVAR_DESTRUCTION
-    ~condition_variable() = default;
-#else
-    ~condition_variable();
-#endif
-
-    condition_variable(const condition_variable&) = delete;
-    condition_variable& operator=(const condition_variable&) = delete;
-
-    void notify_one() _NOEXCEPT;
-    void notify_all() _NOEXCEPT;
-
-    void wait(unique_lock<mutex>& __lk) _NOEXCEPT;
-    template <class _Predicate>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        void wait(unique_lock<mutex>& __lk, _Predicate __pred);
-
-    template <class _Clock, class _Duration>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        cv_status
-        wait_until(unique_lock<mutex>& __lk,
-                   const chrono::time_point<_Clock, _Duration>& __t);
-
-    template <class _Clock, class _Duration, class _Predicate>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        bool
-        wait_until(unique_lock<mutex>& __lk,
-                   const chrono::time_point<_Clock, _Duration>& __t,
-                   _Predicate __pred);
-
-    template <class _Rep, class _Period>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        cv_status
-        wait_for(unique_lock<mutex>& __lk,
-                 const chrono::duration<_Rep, _Period>& __d);
-
-    template <class _Rep, class _Period, class _Predicate>
-        bool
-        _LIBCPP_INLINE_VISIBILITY
-        wait_for(unique_lock<mutex>& __lk,
-                 const chrono::duration<_Rep, _Period>& __d,
-                 _Predicate __pred);
-
-    typedef __libcpp_condvar_t* native_handle_type;
-    _LIBCPP_INLINE_VISIBILITY native_handle_type native_handle() {return &__cv_;}
-
-private:
-    void __do_timed_wait(unique_lock<mutex>& __lk,
-       chrono::time_point<chrono::system_clock, chrono::nanoseconds>) _NOEXCEPT;
-};
-#endif // !_LIBCPP_HAS_NO_THREADS
-
-template <class _To, class _Rep, class _Period>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    chrono::__is_duration<_To>::value,
-    _To
->::type
-__ceil(chrono::duration<_Rep, _Period> __d)
-{
-    using namespace chrono;
-    _To __r = duration_cast<_To>(__d);
-    if (__r < __d)
-        ++__r;
-    return __r;
-}
-
-#ifndef _LIBCPP_HAS_NO_THREADS
-template <class _Predicate>
-void
-condition_variable::wait(unique_lock<mutex>& __lk, _Predicate __pred)
-{
-    while (!__pred())
-        wait(__lk);
-}
-
-template <class _Clock, class _Duration>
-cv_status
-condition_variable::wait_until(unique_lock<mutex>& __lk,
-                               const chrono::time_point<_Clock, _Duration>& __t)
-{
-    using namespace chrono;
-    wait_for(__lk, __t - _Clock::now());
-    return _Clock::now() < __t ? cv_status::no_timeout : cv_status::timeout;
-}
-
-template <class _Clock, class _Duration, class _Predicate>
-bool
-condition_variable::wait_until(unique_lock<mutex>& __lk,
-                   const chrono::time_point<_Clock, _Duration>& __t,
-                   _Predicate __pred)
-{
-    while (!__pred())
-    {
-        if (wait_until(__lk, __t) == cv_status::timeout)
-            return __pred();
-    }
-    return true;
-}
-
-template <class _Rep, class _Period>
-cv_status
-condition_variable::wait_for(unique_lock<mutex>& __lk,
-                             const chrono::duration<_Rep, _Period>& __d)
-{
-    using namespace chrono;
-    if (__d <= __d.zero())
-        return cv_status::timeout;
-    typedef time_point<system_clock, duration<long double, nano> > __sys_tpf;
-    typedef time_point<system_clock, nanoseconds> __sys_tpi;
-    __sys_tpf _Max = __sys_tpi::max();
-    steady_clock::time_point __c_now = steady_clock::now();
-    system_clock::time_point __s_now = system_clock::now();
-    if (_Max - __d > __s_now)
-        __do_timed_wait(__lk, __s_now + __ceil<nanoseconds>(__d));
-    else
-        __do_timed_wait(__lk, __sys_tpi::max());
-    return steady_clock::now() - __c_now < __d ? cv_status::no_timeout :
-                                                 cv_status::timeout;
-}
-
-template <class _Rep, class _Period, class _Predicate>
-inline
-bool
-condition_variable::wait_for(unique_lock<mutex>& __lk,
-                             const chrono::duration<_Rep, _Period>& __d,
-                             _Predicate __pred)
-{
-    return wait_until(__lk, chrono::steady_clock::now() + __d,
-                      _VSTD::move(__pred));
-}
-
-#endif // !_LIBCPP_HAS_NO_THREADS
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP___MUTEX_BASE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__split_buffer b/r21/sources/cxx-stl/llvm-libc++/include/__split_buffer
deleted file mode 100644
index 095fe89..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__split_buffer
+++ /dev/null
@@ -1,644 +0,0 @@
-// -*- C++ -*-
-#ifndef _LIBCPP_SPLIT_BUFFER
-#define _LIBCPP_SPLIT_BUFFER
-
-#include <__config>
-#include <type_traits>
-#include <algorithm>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <bool>
-class __split_buffer_common
-{
-protected:
-    void __throw_length_error() const;
-    void __throw_out_of_range() const;
-};
-
-template <class _Tp, class _Allocator = allocator<_Tp> >
-struct __split_buffer
-    : private __split_buffer_common<true>
-{
-private:
-    __split_buffer(const __split_buffer&);
-    __split_buffer& operator=(const __split_buffer&);
-public:
-    typedef _Tp                                             value_type;
-    typedef _Allocator                                      allocator_type;
-    typedef typename remove_reference<allocator_type>::type __alloc_rr;
-    typedef allocator_traits<__alloc_rr>                    __alloc_traits;
-    typedef value_type&                                     reference;
-    typedef const value_type&                               const_reference;
-    typedef typename __alloc_traits::size_type              size_type;
-    typedef typename __alloc_traits::difference_type        difference_type;
-    typedef typename __alloc_traits::pointer                pointer;
-    typedef typename __alloc_traits::const_pointer          const_pointer;
-    typedef pointer                                         iterator;
-    typedef const_pointer                                   const_iterator;
-
-    pointer                                         __first_;
-    pointer                                         __begin_;
-    pointer                                         __end_;
-    __compressed_pair<pointer, allocator_type> __end_cap_;
-
-    typedef typename add_lvalue_reference<allocator_type>::type __alloc_ref;
-    typedef typename add_lvalue_reference<allocator_type>::type __alloc_const_ref;
-
-    _LIBCPP_INLINE_VISIBILITY __alloc_rr&           __alloc() _NOEXCEPT         {return __end_cap_.second();}
-    _LIBCPP_INLINE_VISIBILITY const __alloc_rr&     __alloc() const _NOEXCEPT   {return __end_cap_.second();}
-    _LIBCPP_INLINE_VISIBILITY pointer&              __end_cap() _NOEXCEPT       {return __end_cap_.first();}
-    _LIBCPP_INLINE_VISIBILITY const pointer&        __end_cap() const _NOEXCEPT {return __end_cap_.first();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __split_buffer()
-        _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __split_buffer(__alloc_rr& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __split_buffer(const __alloc_rr& __a);
-    __split_buffer(size_type __cap, size_type __start, __alloc_rr& __a);
-    ~__split_buffer();
-
-#ifndef _LIBCPP_CXX03_LANG
-    __split_buffer(__split_buffer&& __c)
-        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
-    __split_buffer(__split_buffer&& __c, const __alloc_rr& __a);
-    __split_buffer& operator=(__split_buffer&& __c)
-        _NOEXCEPT_((__alloc_traits::propagate_on_container_move_assignment::value &&
-                is_nothrow_move_assignable<allocator_type>::value) ||
-               !__alloc_traits::propagate_on_container_move_assignment::value);
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY       iterator begin() _NOEXCEPT       {return __begin_;}
-    _LIBCPP_INLINE_VISIBILITY const_iterator begin() const _NOEXCEPT {return __begin_;}
-    _LIBCPP_INLINE_VISIBILITY       iterator end() _NOEXCEPT         {return __end_;}
-    _LIBCPP_INLINE_VISIBILITY const_iterator end() const _NOEXCEPT   {return __end_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT
-        {__destruct_at_end(__begin_);}
-    _LIBCPP_INLINE_VISIBILITY size_type size() const {return static_cast<size_type>(__end_ - __begin_);}
-    _LIBCPP_INLINE_VISIBILITY bool empty()     const {return __end_ == __begin_;}
-    _LIBCPP_INLINE_VISIBILITY size_type capacity() const {return static_cast<size_type>(__end_cap() - __first_);}
-    _LIBCPP_INLINE_VISIBILITY size_type __front_spare() const {return static_cast<size_type>(__begin_ - __first_);}
-    _LIBCPP_INLINE_VISIBILITY size_type __back_spare() const {return static_cast<size_type>(__end_cap() - __end_);}
-
-    _LIBCPP_INLINE_VISIBILITY       reference front()       {return *__begin_;}
-    _LIBCPP_INLINE_VISIBILITY const_reference front() const {return *__begin_;}
-    _LIBCPP_INLINE_VISIBILITY       reference back()        {return *(__end_ - 1);}
-    _LIBCPP_INLINE_VISIBILITY const_reference back() const  {return *(__end_ - 1);}
-
-    void reserve(size_type __n);
-    void shrink_to_fit() _NOEXCEPT;
-    void push_front(const_reference __x);
-    _LIBCPP_INLINE_VISIBILITY void push_back(const_reference __x);
-#ifndef _LIBCPP_CXX03_LANG
-    void push_front(value_type&& __x);
-    void push_back(value_type&& __x);
-    template <class... _Args>
-        void emplace_back(_Args&&... __args);
-#endif  // !defined(_LIBCPP_CXX03_LANG)
-
-    _LIBCPP_INLINE_VISIBILITY void pop_front() {__destruct_at_begin(__begin_+1);}
-    _LIBCPP_INLINE_VISIBILITY void pop_back() {__destruct_at_end(__end_-1);}
-
-    void __construct_at_end(size_type __n);
-    void __construct_at_end(size_type __n, const_reference __x);
-    template <class _InputIter>
-        typename enable_if
-        <
-            __is_input_iterator<_InputIter>::value &&
-           !__is_forward_iterator<_InputIter>::value,
-            void
-        >::type
-        __construct_at_end(_InputIter __first, _InputIter __last);
-    template <class _ForwardIterator>
-        typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value,
-            void
-        >::type
-        __construct_at_end(_ForwardIterator __first, _ForwardIterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY void __destruct_at_begin(pointer __new_begin)
-        {__destruct_at_begin(__new_begin, is_trivially_destructible<value_type>());}
-        _LIBCPP_INLINE_VISIBILITY
-        void __destruct_at_begin(pointer __new_begin, false_type);
-        _LIBCPP_INLINE_VISIBILITY
-        void __destruct_at_begin(pointer __new_begin, true_type);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __destruct_at_end(pointer __new_last) _NOEXCEPT
-        {__destruct_at_end(__new_last, false_type());}
-    _LIBCPP_INLINE_VISIBILITY
-        void __destruct_at_end(pointer __new_last, false_type) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-        void __destruct_at_end(pointer __new_last, true_type) _NOEXCEPT;
-
-    void swap(__split_buffer& __x)
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value||
-                   __is_nothrow_swappable<__alloc_rr>::value);
-
-    bool __invariants() const;
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__split_buffer& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-        {
-            __alloc() = _VSTD::move(__c.__alloc());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__split_buffer&, false_type) _NOEXCEPT
-        {}
-
-    struct _ConstructTransaction {
-      explicit _ConstructTransaction(pointer* __p, size_type __n) _NOEXCEPT
-      : __pos_(*__p), __end_(*__p + __n), __dest_(__p) {
-      }
-      ~_ConstructTransaction() {
-        *__dest_ = __pos_;
-      }
-      pointer __pos_;
-     const pointer __end_;
-    private:
-     pointer *__dest_;
-    };
-};
-
-template <class _Tp, class _Allocator>
-bool
-__split_buffer<_Tp, _Allocator>::__invariants() const
-{
-    if (__first_ == nullptr)
-    {
-        if (__begin_ != nullptr)
-            return false;
-        if (__end_ != nullptr)
-            return false;
-        if (__end_cap() != nullptr)
-            return false;
-    }
-    else
-    {
-        if (__begin_ < __first_)
-            return false;
-        if (__end_ < __begin_)
-            return false;
-        if (__end_cap() < __end_)
-            return false;
-    }
-    return true;
-}
-
-//  Default constructs __n objects starting at __end_
-//  throws if construction throws
-//  Precondition:  __n > 0
-//  Precondition:  size() + __n <= capacity()
-//  Postcondition:  size() == size() + __n
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n)
-{
-    _ConstructTransaction __tx(&this->__end_, __n);
-    for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_) {
-        __alloc_traits::construct(this->__alloc(), _VSTD::__to_raw_pointer(__tx.__pos_));
-    }
-}
-
-//  Copy constructs __n objects starting at __end_ from __x
-//  throws if construction throws
-//  Precondition:  __n > 0
-//  Precondition:  size() + __n <= capacity()
-//  Postcondition:  size() == old size() + __n
-//  Postcondition:  [i] == __x for all i in [size() - __n, __n)
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x)
-{
-    _ConstructTransaction __tx(&this->__end_, __n);
-    for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_) {
-        __alloc_traits::construct(this->__alloc(),
-            _VSTD::__to_raw_pointer(__tx.__pos_), __x);
-    }
-}
-
-template <class _Tp, class _Allocator>
-template <class _InputIter>
-typename enable_if
-<
-     __is_input_iterator<_InputIter>::value &&
-    !__is_forward_iterator<_InputIter>::value,
-    void
->::type
-__split_buffer<_Tp, _Allocator>::__construct_at_end(_InputIter __first, _InputIter __last)
-{
-    __alloc_rr& __a = this->__alloc();
-    for (; __first != __last; ++__first)
-    {
-        if (__end_ == __end_cap())
-        {
-            size_type __old_cap = __end_cap() - __first_;
-            size_type __new_cap = _VSTD::max<size_type>(2 * __old_cap, 8);
-            __split_buffer __buf(__new_cap, 0, __a);
-            for (pointer __p = __begin_; __p != __end_; ++__p, ++__buf.__end_)
-                __alloc_traits::construct(__buf.__alloc(),
-                        _VSTD::__to_raw_pointer(__buf.__end_), _VSTD::move(*__p));
-            swap(__buf);
-        }
-        __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_), *__first);
-        ++this->__end_;
-    }
-}
-
-template <class _Tp, class _Allocator>
-template <class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value,
-    void
->::type
-__split_buffer<_Tp, _Allocator>::__construct_at_end(_ForwardIterator __first, _ForwardIterator __last)
-{
-    _ConstructTransaction __tx(&this->__end_, std::distance(__first, __last));
-    for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_, ++__first) {
-        __alloc_traits::construct(this->__alloc(),
-            _VSTD::__to_raw_pointer(__tx.__pos_), *__first);
-    }
-}
-
-template <class _Tp, class _Allocator>
-inline
-void
-__split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_type)
-{
-    while (__begin_ != __new_begin)
-        __alloc_traits::destroy(__alloc(), __to_raw_pointer(__begin_++));
-}
-
-template <class _Tp, class _Allocator>
-inline
-void
-__split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, true_type)
-{
-    __begin_ = __new_begin;
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__split_buffer<_Tp, _Allocator>::__destruct_at_end(pointer __new_last, false_type) _NOEXCEPT
-{
-    while (__new_last != __end_)
-        __alloc_traits::destroy(__alloc(), __to_raw_pointer(--__end_));
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__split_buffer<_Tp, _Allocator>::__destruct_at_end(pointer __new_last, true_type) _NOEXCEPT
-{
-    __end_ = __new_last;
-}
-
-template <class _Tp, class _Allocator>
-__split_buffer<_Tp, _Allocator>::__split_buffer(size_type __cap, size_type __start, __alloc_rr& __a)
-    : __end_cap_(nullptr, __a)
-{
-    __first_ = __cap != 0 ? __alloc_traits::allocate(__alloc(), __cap) : nullptr;
-    __begin_ = __end_ = __first_ + __start;
-    __end_cap() = __first_ + __cap;
-}
-
-template <class _Tp, class _Allocator>
-inline
-__split_buffer<_Tp, _Allocator>::__split_buffer()
-    _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
-    : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr)
-{
-}
-
-template <class _Tp, class _Allocator>
-inline
-__split_buffer<_Tp, _Allocator>::__split_buffer(__alloc_rr& __a)
-    : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a)
-{
-}
-
-template <class _Tp, class _Allocator>
-inline
-__split_buffer<_Tp, _Allocator>::__split_buffer(const __alloc_rr& __a)
-    : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a)
-{
-}
-
-template <class _Tp, class _Allocator>
-__split_buffer<_Tp, _Allocator>::~__split_buffer()
-{
-    clear();
-    if (__first_)
-        __alloc_traits::deallocate(__alloc(), __first_, capacity());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-__split_buffer<_Tp, _Allocator>::__split_buffer(__split_buffer&& __c)
-    _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
-    : __first_(_VSTD::move(__c.__first_)),
-      __begin_(_VSTD::move(__c.__begin_)),
-      __end_(_VSTD::move(__c.__end_)),
-      __end_cap_(_VSTD::move(__c.__end_cap_))
-{
-    __c.__first_ = nullptr;
-    __c.__begin_ = nullptr;
-    __c.__end_ = nullptr;
-    __c.__end_cap() = nullptr;
-}
-
-template <class _Tp, class _Allocator>
-__split_buffer<_Tp, _Allocator>::__split_buffer(__split_buffer&& __c, const __alloc_rr& __a)
-    : __end_cap_(__second_tag(), __a)
-{
-    if (__a == __c.__alloc())
-    {
-        __first_ = __c.__first_;
-        __begin_ = __c.__begin_;
-        __end_ = __c.__end_;
-        __end_cap() = __c.__end_cap();
-        __c.__first_ = nullptr;
-        __c.__begin_ = nullptr;
-        __c.__end_ = nullptr;
-        __c.__end_cap() = nullptr;
-    }
-    else
-    {
-        size_type __cap = __c.size();
-        __first_ = __alloc_traits::allocate(__alloc(), __cap);
-        __begin_ = __end_ = __first_;
-        __end_cap() = __first_ + __cap;
-        typedef move_iterator<iterator> _Ip;
-        __construct_at_end(_Ip(__c.begin()), _Ip(__c.end()));
-    }
-}
-
-template <class _Tp, class _Allocator>
-__split_buffer<_Tp, _Allocator>&
-__split_buffer<_Tp, _Allocator>::operator=(__split_buffer&& __c)
-    _NOEXCEPT_((__alloc_traits::propagate_on_container_move_assignment::value &&
-                is_nothrow_move_assignable<allocator_type>::value) ||
-               !__alloc_traits::propagate_on_container_move_assignment::value)
-{
-    clear();
-    shrink_to_fit();
-    __first_ = __c.__first_;
-    __begin_ = __c.__begin_;
-    __end_ = __c.__end_;
-    __end_cap() = __c.__end_cap();
-    __move_assign_alloc(__c,
-        integral_constant<bool,
-                          __alloc_traits::propagate_on_container_move_assignment::value>());
-    __c.__first_ = __c.__begin_ = __c.__end_ = __c.__end_cap() = nullptr;
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::swap(__split_buffer& __x)
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value||
-                   __is_nothrow_swappable<__alloc_rr>::value)
-{
-    _VSTD::swap(__first_, __x.__first_);
-    _VSTD::swap(__begin_, __x.__begin_);
-    _VSTD::swap(__end_, __x.__end_);
-    _VSTD::swap(__end_cap(), __x.__end_cap());
-    __swap_allocator(__alloc(), __x.__alloc());
-}
-
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::reserve(size_type __n)
-{
-    if (__n < capacity())
-    {
-        __split_buffer<value_type, __alloc_rr&> __t(__n, 0, __alloc());
-        __t.__construct_at_end(move_iterator<pointer>(__begin_),
-                               move_iterator<pointer>(__end_));
-        _VSTD::swap(__first_, __t.__first_);
-        _VSTD::swap(__begin_, __t.__begin_);
-        _VSTD::swap(__end_, __t.__end_);
-        _VSTD::swap(__end_cap(), __t.__end_cap());
-    }
-}
-
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::shrink_to_fit() _NOEXCEPT
-{
-    if (capacity() > size())
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            __split_buffer<value_type, __alloc_rr&> __t(size(), 0, __alloc());
-            __t.__construct_at_end(move_iterator<pointer>(__begin_),
-                                   move_iterator<pointer>(__end_));
-            __t.__end_ = __t.__begin_ + (__end_ - __begin_);
-            _VSTD::swap(__first_, __t.__first_);
-            _VSTD::swap(__begin_, __t.__begin_);
-            _VSTD::swap(__end_, __t.__end_);
-            _VSTD::swap(__end_cap(), __t.__end_cap());
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::push_front(const_reference __x)
-{
-    if (__begin_ == __first_)
-    {
-        if (__end_ < __end_cap())
-        {
-            difference_type __d = __end_cap() - __end_;
-            __d = (__d + 1) / 2;
-            __begin_ = _VSTD::move_backward(__begin_, __end_, __end_ + __d);
-            __end_ += __d;
-        }
-        else
-        {
-            size_type __c = max<size_type>(2 * static_cast<size_t>(__end_cap() - __first_), 1);
-            __split_buffer<value_type, __alloc_rr&> __t(__c, (__c + 3) / 4, __alloc());
-            __t.__construct_at_end(move_iterator<pointer>(__begin_),
-                                   move_iterator<pointer>(__end_));
-            _VSTD::swap(__first_, __t.__first_);
-            _VSTD::swap(__begin_, __t.__begin_);
-            _VSTD::swap(__end_, __t.__end_);
-            _VSTD::swap(__end_cap(), __t.__end_cap());
-        }
-    }
-    __alloc_traits::construct(__alloc(), _VSTD::__to_raw_pointer(__begin_-1), __x);
-    --__begin_;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::push_front(value_type&& __x)
-{
-    if (__begin_ == __first_)
-    {
-        if (__end_ < __end_cap())
-        {
-            difference_type __d = __end_cap() - __end_;
-            __d = (__d + 1) / 2;
-            __begin_ = _VSTD::move_backward(__begin_, __end_, __end_ + __d);
-            __end_ += __d;
-        }
-        else
-        {
-            size_type __c = max<size_type>(2 * static_cast<size_t>(__end_cap() - __first_), 1);
-            __split_buffer<value_type, __alloc_rr&> __t(__c, (__c + 3) / 4, __alloc());
-            __t.__construct_at_end(move_iterator<pointer>(__begin_),
-                                   move_iterator<pointer>(__end_));
-            _VSTD::swap(__first_, __t.__first_);
-            _VSTD::swap(__begin_, __t.__begin_);
-            _VSTD::swap(__end_, __t.__end_);
-            _VSTD::swap(__end_cap(), __t.__end_cap());
-        }
-    }
-    __alloc_traits::construct(__alloc(), _VSTD::__to_raw_pointer(__begin_-1),
-            _VSTD::move(__x));
-    --__begin_;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__split_buffer<_Tp, _Allocator>::push_back(const_reference __x)
-{
-    if (__end_ == __end_cap())
-    {
-        if (__begin_ > __first_)
-        {
-            difference_type __d = __begin_ - __first_;
-            __d = (__d + 1) / 2;
-            __end_ = _VSTD::move(__begin_, __end_, __begin_ - __d);
-            __begin_ -= __d;
-        }
-        else
-        {
-            size_type __c = max<size_type>(2 * static_cast<size_t>(__end_cap() - __first_), 1);
-            __split_buffer<value_type, __alloc_rr&> __t(__c, __c / 4, __alloc());
-            __t.__construct_at_end(move_iterator<pointer>(__begin_),
-                                   move_iterator<pointer>(__end_));
-            _VSTD::swap(__first_, __t.__first_);
-            _VSTD::swap(__begin_, __t.__begin_);
-            _VSTD::swap(__end_, __t.__end_);
-            _VSTD::swap(__end_cap(), __t.__end_cap());
-        }
-    }
-    __alloc_traits::construct(__alloc(), _VSTD::__to_raw_pointer(__end_), __x);
-    ++__end_;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::push_back(value_type&& __x)
-{
-    if (__end_ == __end_cap())
-    {
-        if (__begin_ > __first_)
-        {
-            difference_type __d = __begin_ - __first_;
-            __d = (__d + 1) / 2;
-            __end_ = _VSTD::move(__begin_, __end_, __begin_ - __d);
-            __begin_ -= __d;
-        }
-        else
-        {
-            size_type __c = max<size_type>(2 * static_cast<size_t>(__end_cap() - __first_), 1);
-            __split_buffer<value_type, __alloc_rr&> __t(__c, __c / 4, __alloc());
-            __t.__construct_at_end(move_iterator<pointer>(__begin_),
-                                   move_iterator<pointer>(__end_));
-            _VSTD::swap(__first_, __t.__first_);
-            _VSTD::swap(__begin_, __t.__begin_);
-            _VSTD::swap(__end_, __t.__end_);
-            _VSTD::swap(__end_cap(), __t.__end_cap());
-        }
-    }
-    __alloc_traits::construct(__alloc(), _VSTD::__to_raw_pointer(__end_),
-            _VSTD::move(__x));
-    ++__end_;
-}
-
-template <class _Tp, class _Allocator>
-template <class... _Args>
-void
-__split_buffer<_Tp, _Allocator>::emplace_back(_Args&&... __args)
-{
-    if (__end_ == __end_cap())
-    {
-        if (__begin_ > __first_)
-        {
-            difference_type __d = __begin_ - __first_;
-            __d = (__d + 1) / 2;
-            __end_ = _VSTD::move(__begin_, __end_, __begin_ - __d);
-            __begin_ -= __d;
-        }
-        else
-        {
-            size_type __c = max<size_type>(2 * static_cast<size_t>(__end_cap() - __first_), 1);
-            __split_buffer<value_type, __alloc_rr&> __t(__c, __c / 4, __alloc());
-            __t.__construct_at_end(move_iterator<pointer>(__begin_),
-                                   move_iterator<pointer>(__end_));
-            _VSTD::swap(__first_, __t.__first_);
-            _VSTD::swap(__begin_, __t.__begin_);
-            _VSTD::swap(__end_, __t.__end_);
-            _VSTD::swap(__end_cap(), __t.__end_cap());
-        }
-    }
-    __alloc_traits::construct(__alloc(), _VSTD::__to_raw_pointer(__end_),
-                              _VSTD::forward<_Args>(__args)...);
-    ++__end_;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__split_buffer<_Tp, _Allocator>& __x, __split_buffer<_Tp, _Allocator>& __y)
-        _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_SPLIT_BUFFER
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__string b/r21/sources/cxx-stl/llvm-libc++/include/__string
deleted file mode 100644
index a88b976..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__string
+++ /dev/null
@@ -1,973 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- __string ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___STRING
-#define _LIBCPP___STRING
-
-/*
-    string synopsis
-
-namespace std
-{
-
-template <class charT>
-struct char_traits
-{
-    typedef charT     char_type;
-    typedef ...       int_type;
-    typedef streamoff off_type;
-    typedef streampos pos_type;
-    typedef mbstate_t state_type;
-
-    static constexpr void assign(char_type& c1, const char_type& c2) noexcept;
-    static constexpr bool eq(char_type c1, char_type c2) noexcept;
-    static constexpr bool lt(char_type c1, char_type c2) noexcept;
-
-    static constexpr int    compare(const char_type* s1, const char_type* s2, size_t n);
-    static constexpr size_t length(const char_type* s);
-    static constexpr const char_type* 
-                            find(const char_type* s, size_t n, const char_type& a);
-    static char_type*       move(char_type* s1, const char_type* s2, size_t n);
-    static char_type*       copy(char_type* s1, const char_type* s2, size_t n);
-    static char_type*       assign(char_type* s, size_t n, char_type a);
-
-    static constexpr int_type  not_eof(int_type c) noexcept;
-    static constexpr char_type to_char_type(int_type c) noexcept;
-    static constexpr int_type  to_int_type(char_type c) noexcept;
-    static constexpr bool      eq_int_type(int_type c1, int_type c2) noexcept;
-    static constexpr int_type  eof() noexcept;
-};
-
-template <> struct char_traits<char>;
-template <> struct char_traits<wchar_t>;
-template <> struct char_traits<char8_t>;  // c++20
-
-}  // std
-
-*/
-
-#include <__config>
-#include <algorithm>  // for search and min
-#include <cstdio>     // For EOF.
-#include <memory>     // for __murmur2_or_cityhash
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// char_traits
-
-template <class _CharT>
-struct _LIBCPP_TEMPLATE_VIS char_traits
-{
-    typedef _CharT    char_type;
-    typedef int       int_type;
-    typedef streamoff off_type;
-    typedef streampos pos_type;
-    typedef mbstate_t state_type;
-
-    static inline void _LIBCPP_CONSTEXPR_AFTER_CXX14
-        assign(char_type& __c1, const char_type& __c2) _NOEXCEPT {__c1 = __c2;}
-    static inline _LIBCPP_CONSTEXPR bool eq(char_type __c1, char_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT
-        {return __c1 < __c2;}
-
-    static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    int compare(const char_type* __s1, const char_type* __s2, size_t __n);
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    size_t length(const char_type* __s);
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const char_type* find(const char_type* __s, size_t __n, const char_type& __a);
-    static char_type*       move(char_type* __s1, const char_type* __s2, size_t __n);
-    _LIBCPP_INLINE_VISIBILITY
-    static char_type*       copy(char_type* __s1, const char_type* __s2, size_t __n);
-    _LIBCPP_INLINE_VISIBILITY
-    static char_type*       assign(char_type* __s, size_t __n, char_type __a);
-
-    static inline _LIBCPP_CONSTEXPR int_type  not_eof(int_type __c) _NOEXCEPT
-        {return eq_int_type(__c, eof()) ? ~eof() : __c;}
-    static inline _LIBCPP_CONSTEXPR char_type to_char_type(int_type __c) _NOEXCEPT
-        {return char_type(__c);}
-    static inline _LIBCPP_CONSTEXPR int_type  to_int_type(char_type __c) _NOEXCEPT
-        {return int_type(__c);}
-    static inline _LIBCPP_CONSTEXPR bool      eq_int_type(int_type __c1, int_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR int_type  eof() _NOEXCEPT
-        {return int_type(EOF);}
-};
-
-template <class _CharT>
-_LIBCPP_CONSTEXPR_AFTER_CXX14 int
-char_traits<_CharT>::compare(const char_type* __s1, const char_type* __s2, size_t __n)
-{
-    for (; __n; --__n, ++__s1, ++__s2)
-    {
-        if (lt(*__s1, *__s2))
-            return -1;
-        if (lt(*__s2, *__s1))
-            return 1;
-    }
-    return 0;
-}
-
-template <class _CharT>
-inline
-_LIBCPP_CONSTEXPR_AFTER_CXX14 size_t
-char_traits<_CharT>::length(const char_type* __s)
-{
-    size_t __len = 0;
-    for (; !eq(*__s, char_type(0)); ++__s)
-        ++__len;
-    return __len;
-}
-
-template <class _CharT>
-inline
-_LIBCPP_CONSTEXPR_AFTER_CXX14 const _CharT*
-char_traits<_CharT>::find(const char_type* __s, size_t __n, const char_type& __a)
-{
-    for (; __n; --__n)
-    {
-        if (eq(*__s, __a))
-            return __s;
-        ++__s;
-    }
-    return 0;
-}
-
-template <class _CharT>
-_CharT*
-char_traits<_CharT>::move(char_type* __s1, const char_type* __s2, size_t __n)
-{
-    char_type* __r = __s1;
-    if (__s1 < __s2)
-    {
-        for (; __n; --__n, ++__s1, ++__s2)
-            assign(*__s1, *__s2);
-    }
-    else if (__s2 < __s1)
-    {
-        __s1 += __n;
-        __s2 += __n;
-        for (; __n; --__n)
-            assign(*--__s1, *--__s2);
-    }
-    return __r;
-}
-
-template <class _CharT>
-inline
-_CharT*
-char_traits<_CharT>::copy(char_type* __s1, const char_type* __s2, size_t __n)
-{
-    _LIBCPP_ASSERT(__s2 < __s1 || __s2 >= __s1+__n, "char_traits::copy overlapped range");
-    char_type* __r = __s1;
-    for (; __n; --__n, ++__s1, ++__s2)
-        assign(*__s1, *__s2);
-    return __r;
-}
-
-template <class _CharT>
-inline
-_CharT*
-char_traits<_CharT>::assign(char_type* __s, size_t __n, char_type __a)
-{
-    char_type* __r = __s;
-    for (; __n; --__n, ++__s)
-        assign(*__s, __a);
-    return __r;
-}
-
-// char_traits<char>
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS char_traits<char>
-{
-    typedef char      char_type;
-    typedef int       int_type;
-    typedef streamoff off_type;
-    typedef streampos pos_type;
-    typedef mbstate_t state_type;
-
-    static inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-    void assign(char_type& __c1, const char_type& __c2) _NOEXCEPT {__c1 = __c2;}
-    static inline _LIBCPP_CONSTEXPR bool eq(char_type __c1, char_type __c2) _NOEXCEPT
-            {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT
-        {return (unsigned char)__c1 < (unsigned char)__c2;}
-
-    static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    int compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-    static inline size_t _LIBCPP_CONSTEXPR_AFTER_CXX14
-    length(const char_type* __s)  _NOEXCEPT {return __builtin_strlen(__s);}
-    static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const char_type* find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT;
-    static inline char_type* move(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-        {return __n == 0 ? __s1 : (char_type*) memmove(__s1, __s2, __n);}
-    static inline char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-        {
-            _LIBCPP_ASSERT(__s2 < __s1 || __s2 >= __s1+__n, "char_traits::copy overlapped range");
-            return __n == 0 ? __s1 : (char_type*)memcpy(__s1, __s2, __n);
-        }
-    static inline char_type* assign(char_type* __s, size_t __n, char_type __a) _NOEXCEPT
-        {return __n == 0 ? __s : (char_type*)memset(__s, to_int_type(__a), __n);}
-
-    static inline _LIBCPP_CONSTEXPR int_type  not_eof(int_type __c) _NOEXCEPT
-        {return eq_int_type(__c, eof()) ? ~eof() : __c;}
-    static inline _LIBCPP_CONSTEXPR char_type to_char_type(int_type __c) _NOEXCEPT
-        {return char_type(__c);}
-    static inline _LIBCPP_CONSTEXPR int_type to_int_type(char_type __c) _NOEXCEPT
-        {return int_type((unsigned char)__c);}
-    static inline _LIBCPP_CONSTEXPR bool eq_int_type(int_type __c1, int_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR int_type  eof() _NOEXCEPT
-        {return int_type(EOF);}
-};
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-int
-char_traits<char>::compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-    if (__n == 0)
-        return 0;
-#if __has_feature(cxx_constexpr_string_builtins)
-    return __builtin_memcmp(__s1, __s2, __n);
-#elif _LIBCPP_STD_VER <= 14
-    return memcmp(__s1, __s2, __n);
-#else
-    for (; __n; --__n, ++__s1, ++__s2)
-    {
-        if (lt(*__s1, *__s2))
-            return -1;
-        if (lt(*__s2, *__s1))
-            return 1;
-    }
-    return 0;
-#endif
-}
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-const char*
-char_traits<char>::find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT
-{
-    if (__n == 0)
-        return nullptr;
-#if __has_feature(cxx_constexpr_string_builtins)
-    return __builtin_char_memchr(__s, to_int_type(__a), __n);
-#elif _LIBCPP_STD_VER <= 14
-    return (const char_type*) memchr(__s, to_int_type(__a), __n);
-#else
-    for (; __n; --__n)
-    {
-        if (eq(*__s, __a))
-            return __s;
-        ++__s;
-    }
-    return nullptr;
-#endif
-}
-
-
-// char_traits<wchar_t>
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS char_traits<wchar_t>
-{
-    typedef wchar_t   char_type;
-    typedef wint_t    int_type;
-    typedef streamoff off_type;
-    typedef streampos pos_type;
-    typedef mbstate_t state_type;
-
-    static inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-    void assign(char_type& __c1, const char_type& __c2) _NOEXCEPT {__c1 = __c2;}
-    static inline _LIBCPP_CONSTEXPR bool eq(char_type __c1, char_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT
-        {return __c1 < __c2;}
-
-    static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    int compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-    static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    size_t length(const char_type* __s) _NOEXCEPT;
-    static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const char_type* find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT;
-    static inline char_type* move(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-        {return __n == 0 ? __s1 : (char_type*)wmemmove(__s1, __s2, __n);}
-    static inline char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-        {
-            _LIBCPP_ASSERT(__s2 < __s1 || __s2 >= __s1+__n, "char_traits::copy overlapped range");
-            return __n == 0 ? __s1 : (char_type*)wmemcpy(__s1, __s2, __n);
-        }
-    static inline char_type* assign(char_type* __s, size_t __n, char_type __a) _NOEXCEPT
-        {return __n == 0 ? __s : (char_type*)wmemset(__s, __a, __n);}
-
-    static inline _LIBCPP_CONSTEXPR int_type  not_eof(int_type __c) _NOEXCEPT
-        {return eq_int_type(__c, eof()) ? ~eof() : __c;}
-    static inline _LIBCPP_CONSTEXPR char_type to_char_type(int_type __c) _NOEXCEPT
-        {return char_type(__c);}
-    static inline _LIBCPP_CONSTEXPR int_type to_int_type(char_type __c) _NOEXCEPT
-        {return int_type(__c);}
-    static inline _LIBCPP_CONSTEXPR bool eq_int_type(int_type __c1, int_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR int_type eof() _NOEXCEPT
-        {return int_type(WEOF);}
-};
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-int
-char_traits<wchar_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-    if (__n == 0)
-        return 0;
-#if __has_feature(cxx_constexpr_string_builtins)
-    return __builtin_wmemcmp(__s1, __s2, __n);
-#elif _LIBCPP_STD_VER <= 14
-    return wmemcmp(__s1, __s2, __n);
-#else
-    for (; __n; --__n, ++__s1, ++__s2)
-    {
-        if (lt(*__s1, *__s2))
-            return -1;
-        if (lt(*__s2, *__s1))
-            return 1;
-    }
-    return 0;
-#endif
-}
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-size_t
-char_traits<wchar_t>::length(const char_type* __s) _NOEXCEPT
-{
-#if __has_feature(cxx_constexpr_string_builtins)
-    return __builtin_wcslen(__s);
-#elif _LIBCPP_STD_VER <= 14
-    return wcslen(__s);
-#else
-    size_t __len = 0;
-    for (; !eq(*__s, char_type(0)); ++__s)
-        ++__len;
-    return __len;
-#endif
-}
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-const wchar_t*
-char_traits<wchar_t>::find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT
-{
-    if (__n == 0)
-        return nullptr;
-#if __has_feature(cxx_constexpr_string_builtins)
-    return __builtin_wmemchr(__s, __a, __n);
-#elif _LIBCPP_STD_VER <= 14
-    return wmemchr(__s, __a, __n);
-#else
-    for (; __n; --__n)
-    {
-        if (eq(*__s, __a))
-            return __s;
-        ++__s;
-    }
-    return nullptr;
-#endif
-}
-
-
-#ifndef _LIBCPP_NO_HAS_CHAR8_T
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS char_traits<char8_t>
-{
-    typedef char8_t        char_type;
-    typedef unsigned int   int_type;
-    typedef streamoff      off_type;
-    typedef u8streampos    pos_type;
-    typedef mbstate_t      state_type;
-
-    static inline constexpr void assign(char_type& __c1, const char_type& __c2) noexcept
-        {__c1 = __c2;}
-    static inline constexpr bool eq(char_type __c1, char_type __c2) noexcept
-        {return __c1 == __c2;}
-    static inline constexpr bool lt(char_type __c1, char_type __c2) noexcept
-        {return __c1 < __c2;}
-
-    static constexpr
-    int              compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-
-    static constexpr
-    size_t           length(const char_type* __s) _NOEXCEPT;
- 
-    _LIBCPP_INLINE_VISIBILITY static constexpr
-    const char_type* find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT;
- 
-    static char_type*       move(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-        {return __n == 0 ? __s1 : (char_type*) memmove(__s1, __s2, __n);}
- 
-    static char_type*       copy(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-       {
-            _LIBCPP_ASSERT(__s2 < __s1 || __s2 >= __s1+__n, "char_traits::copy overlapped range");
-            return __n == 0 ? __s1 : (char_type*)memcpy(__s1, __s2, __n);
-       }
- 
-    static char_type*       assign(char_type* __s, size_t __n, char_type __a) _NOEXCEPT
-        {return __n == 0 ? __s : (char_type*)memset(__s, to_int_type(__a), __n);}
-
-    static inline constexpr int_type  not_eof(int_type __c) noexcept
-        {return eq_int_type(__c, eof()) ? ~eof() : __c;}
-    static inline constexpr char_type to_char_type(int_type __c) noexcept
-        {return char_type(__c);}
-    static inline constexpr int_type to_int_type(char_type __c) noexcept
-        {return int_type(__c);}
-    static inline constexpr bool eq_int_type(int_type __c1, int_type __c2) noexcept
-        {return __c1 == __c2;}
-    static inline constexpr int_type eof() noexcept
-        {return int_type(EOF);}
-};
-
-// TODO use '__builtin_strlen' if it ever supports char8_t ??
-inline constexpr
-size_t
-char_traits<char8_t>::length(const char_type* __s) _NOEXCEPT
-{
-    size_t __len = 0;
-    for (; !eq(*__s, char_type(0)); ++__s)
-        ++__len;
-    return __len;
-}
-
-inline constexpr
-int
-char_traits<char8_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-#if __has_feature(cxx_constexpr_string_builtins)
-    return __builtin_memcmp(__s1, __s2, __n);
-#else
-    for (; __n; --__n, ++__s1, ++__s2)
-    {
-        if (lt(*__s1, *__s2))
-            return -1;
-        if (lt(*__s2, *__s1))
-            return 1;
-    }
-    return 0;
-#endif
-}
-
-// TODO use '__builtin_char_memchr' if it ever supports char8_t ??
-inline constexpr
-const char8_t*
-char_traits<char8_t>::find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT
-{
-    for (; __n; --__n)
-    {
-        if (eq(*__s, __a))
-            return __s;
-        ++__s;
-    }
-    return 0;
-}
-
-#endif // #_LIBCPP_NO_HAS_CHAR8_T
-
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS char_traits<char16_t>
-{
-    typedef char16_t       char_type;
-    typedef uint_least16_t int_type;
-    typedef streamoff      off_type;
-    typedef u16streampos   pos_type;
-    typedef mbstate_t      state_type;
-
-    static inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-    void assign(char_type& __c1, const char_type& __c2) _NOEXCEPT {__c1 = __c2;}
-    static inline _LIBCPP_CONSTEXPR bool eq(char_type __c1, char_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT
-        {return __c1 < __c2;}
-
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    int              compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    size_t           length(const char_type* __s) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const char_type* find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    static char_type*       move(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    static char_type*       copy(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    static char_type*       assign(char_type* __s, size_t __n, char_type __a) _NOEXCEPT;
-
-    static inline _LIBCPP_CONSTEXPR int_type  not_eof(int_type __c) _NOEXCEPT
-        {return eq_int_type(__c, eof()) ? ~eof() : __c;}
-    static inline _LIBCPP_CONSTEXPR char_type to_char_type(int_type __c) _NOEXCEPT
-        {return char_type(__c);}
-    static inline _LIBCPP_CONSTEXPR int_type to_int_type(char_type __c) _NOEXCEPT
-        {return int_type(__c);}
-    static inline _LIBCPP_CONSTEXPR bool eq_int_type(int_type __c1, int_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR int_type eof() _NOEXCEPT
-        {return int_type(0xFFFF);}
-};
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-int
-char_traits<char16_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-    for (; __n; --__n, ++__s1, ++__s2)
-    {
-        if (lt(*__s1, *__s2))
-            return -1;
-        if (lt(*__s2, *__s1))
-            return 1;
-    }
-    return 0;
-}
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-size_t
-char_traits<char16_t>::length(const char_type* __s) _NOEXCEPT
-{
-    size_t __len = 0;
-    for (; !eq(*__s, char_type(0)); ++__s)
-        ++__len;
-    return __len;
-}
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-const char16_t*
-char_traits<char16_t>::find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT
-{
-    for (; __n; --__n)
-    {
-        if (eq(*__s, __a))
-            return __s;
-        ++__s;
-    }
-    return 0;
-}
-
-inline
-char16_t*
-char_traits<char16_t>::move(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-    char_type* __r = __s1;
-    if (__s1 < __s2)
-    {
-        for (; __n; --__n, ++__s1, ++__s2)
-            assign(*__s1, *__s2);
-    }
-    else if (__s2 < __s1)
-    {
-        __s1 += __n;
-        __s2 += __n;
-        for (; __n; --__n)
-            assign(*--__s1, *--__s2);
-    }
-    return __r;
-}
-
-inline
-char16_t*
-char_traits<char16_t>::copy(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s2 < __s1 || __s2 >= __s1+__n, "char_traits::copy overlapped range");
-    char_type* __r = __s1;
-    for (; __n; --__n, ++__s1, ++__s2)
-        assign(*__s1, *__s2);
-    return __r;
-}
-
-inline
-char16_t*
-char_traits<char16_t>::assign(char_type* __s, size_t __n, char_type __a) _NOEXCEPT
-{
-    char_type* __r = __s;
-    for (; __n; --__n, ++__s)
-        assign(*__s, __a);
-    return __r;
-}
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS char_traits<char32_t>
-{
-    typedef char32_t       char_type;
-    typedef uint_least32_t int_type;
-    typedef streamoff      off_type;
-    typedef u32streampos   pos_type;
-    typedef mbstate_t      state_type;
-
-    static inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-    void assign(char_type& __c1, const char_type& __c2) _NOEXCEPT {__c1 = __c2;}
-    static inline _LIBCPP_CONSTEXPR bool eq(char_type __c1, char_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT
-        {return __c1 < __c2;}
-
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    int              compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    size_t           length(const char_type* __s) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const char_type* find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    static char_type*       move(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    static char_type*       copy(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    static char_type*       assign(char_type* __s, size_t __n, char_type __a) _NOEXCEPT;
-
-    static inline _LIBCPP_CONSTEXPR int_type  not_eof(int_type __c) _NOEXCEPT
-        {return eq_int_type(__c, eof()) ? ~eof() : __c;}
-    static inline _LIBCPP_CONSTEXPR char_type to_char_type(int_type __c) _NOEXCEPT
-        {return char_type(__c);}
-    static inline _LIBCPP_CONSTEXPR int_type to_int_type(char_type __c) _NOEXCEPT
-        {return int_type(__c);}
-    static inline _LIBCPP_CONSTEXPR bool eq_int_type(int_type __c1, int_type __c2) _NOEXCEPT
-        {return __c1 == __c2;}
-    static inline _LIBCPP_CONSTEXPR int_type eof() _NOEXCEPT
-        {return int_type(0xFFFFFFFF);}
-};
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-int
-char_traits<char32_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-    for (; __n; --__n, ++__s1, ++__s2)
-    {
-        if (lt(*__s1, *__s2))
-            return -1;
-        if (lt(*__s2, *__s1))
-            return 1;
-    }
-    return 0;
-}
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-size_t
-char_traits<char32_t>::length(const char_type* __s) _NOEXCEPT
-{
-    size_t __len = 0;
-    for (; !eq(*__s, char_type(0)); ++__s)
-        ++__len;
-    return __len;
-}
-
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-const char32_t*
-char_traits<char32_t>::find(const char_type* __s, size_t __n, const char_type& __a) _NOEXCEPT
-{
-    for (; __n; --__n)
-    {
-        if (eq(*__s, __a))
-            return __s;
-        ++__s;
-    }
-    return 0;
-}
-
-inline
-char32_t*
-char_traits<char32_t>::move(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-    char_type* __r = __s1;
-    if (__s1 < __s2)
-    {
-        for (; __n; --__n, ++__s1, ++__s2)
-            assign(*__s1, *__s2);
-    }
-    else if (__s2 < __s1)
-    {
-        __s1 += __n;
-        __s2 += __n;
-        for (; __n; --__n)
-            assign(*--__s1, *--__s2);
-    }
-    return __r;
-}
-
-inline
-char32_t*
-char_traits<char32_t>::copy(char_type* __s1, const char_type* __s2, size_t __n) _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s2 < __s1 || __s2 >= __s1+__n, "char_traits::copy overlapped range");
-    char_type* __r = __s1;
-    for (; __n; --__n, ++__s1, ++__s2)
-        assign(*__s1, *__s2);
-    return __r;
-}
-
-inline
-char32_t*
-char_traits<char32_t>::assign(char_type* __s, size_t __n, char_type __a) _NOEXCEPT
-{
-    char_type* __r = __s;
-    for (; __n; --__n, ++__s)
-        assign(*__s, __a);
-    return __r;
-}
-
-#endif  // _LIBCPP_HAS_NO_UNICODE_CHARS
-
-// helper fns for basic_string and string_view
-
-// __str_find
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_find(const _CharT *__p, _SizeT __sz, 
-             _CharT __c, _SizeT __pos) _NOEXCEPT
-{
-    if (__pos >= __sz)
-        return __npos;
-    const _CharT* __r = _Traits::find(__p + __pos, __sz - __pos, __c);
-    if (__r == 0)
-        return __npos;
-    return static_cast<_SizeT>(__r - __p);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_CONSTEXPR_AFTER_CXX11 const _CharT *
-__search_substring(const _CharT *__first1, const _CharT *__last1,
-                   const _CharT *__first2, const _CharT *__last2) {
-  // Take advantage of knowing source and pattern lengths.
-  // Stop short when source is smaller than pattern.
-  const ptrdiff_t __len2 = __last2 - __first2;
-  if (__len2 == 0)
-    return __first1;
-
-  ptrdiff_t __len1 = __last1 - __first1;
-  if (__len1 < __len2)
-    return __last1;
-
-  // First element of __first2 is loop invariant.
-  _CharT __f2 = *__first2;
-  while (true) {
-    __len1 = __last1 - __first1;
-    // Check whether __first1 still has at least __len2 bytes.
-    if (__len1 < __len2)
-      return __last1;
-
-    // Find __f2 the first byte matching in __first1.
-    __first1 = _Traits::find(__first1, __len1 - __len2 + 1, __f2);
-    if (__first1 == 0)
-      return __last1;
-
-    // It is faster to compare from the first byte of __first1 even if we
-    // already know that it matches the first byte of __first2: this is because
-    // __first2 is most likely aligned, as it is user's "pattern" string, and
-    // __first1 + 1 is most likely not aligned, as the match is in the middle of
-    // the string.
-    if (_Traits::compare(__first1, __first2, __len2) == 0)
-      return __first1;
-
-    ++__first1;
-  }
-}
-
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_find(const _CharT *__p, _SizeT __sz, 
-       const _CharT* __s, _SizeT __pos, _SizeT __n) _NOEXCEPT
-{
-    if (__pos > __sz)
-        return __npos;
-
-    if (__n == 0) // There is nothing to search, just return __pos.
-        return __pos;
-
-    const _CharT *__r = __search_substring<_CharT, _Traits>(
-        __p + __pos, __p + __sz, __s, __s + __n);
-
-    if (__r == __p + __sz)
-        return __npos;
-    return static_cast<_SizeT>(__r - __p);
-}
-
-
-// __str_rfind
-
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_rfind(const _CharT *__p, _SizeT __sz, 
-              _CharT __c, _SizeT __pos) _NOEXCEPT
-{
-    if (__sz < 1)
-        return __npos;
-    if (__pos < __sz)
-        ++__pos;
-    else
-        __pos = __sz;
-    for (const _CharT* __ps = __p + __pos; __ps != __p;)
-    {
-        if (_Traits::eq(*--__ps, __c))
-            return static_cast<_SizeT>(__ps - __p);
-    }
-    return __npos;
-}
-
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_rfind(const _CharT *__p, _SizeT __sz, 
-        const _CharT* __s, _SizeT __pos, _SizeT __n) _NOEXCEPT
-{
-    __pos = _VSTD::min(__pos, __sz);
-    if (__n < __sz - __pos)
-        __pos += __n;
-    else
-        __pos = __sz;
-    const _CharT* __r = _VSTD::__find_end(
-                  __p, __p + __pos, __s, __s + __n, _Traits::eq, 
-                        random_access_iterator_tag(), random_access_iterator_tag());
-    if (__n > 0 && __r == __p + __pos)
-        return __npos;
-    return static_cast<_SizeT>(__r - __p);
-}
-
-// __str_find_first_of
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_find_first_of(const _CharT *__p, _SizeT __sz,
-                const _CharT* __s, _SizeT __pos, _SizeT __n) _NOEXCEPT
-{
-    if (__pos >= __sz || __n == 0)
-        return __npos;
-    const _CharT* __r = _VSTD::__find_first_of_ce
-        (__p + __pos, __p + __sz, __s, __s + __n, _Traits::eq );
-    if (__r == __p + __sz)
-        return __npos;
-    return static_cast<_SizeT>(__r - __p);
-}
-
-
-// __str_find_last_of
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_find_last_of(const _CharT *__p, _SizeT __sz,
-               const _CharT* __s, _SizeT __pos, _SizeT __n) _NOEXCEPT
-    {
-    if (__n != 0)
-    {
-        if (__pos < __sz)
-            ++__pos;
-        else
-            __pos = __sz;
-        for (const _CharT* __ps = __p + __pos; __ps != __p;)
-        {
-            const _CharT* __r = _Traits::find(__s, __n, *--__ps);
-            if (__r)
-                return static_cast<_SizeT>(__ps - __p);
-        }
-    }
-    return __npos;
-}
-
-
-// __str_find_first_not_of
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_find_first_not_of(const _CharT *__p, _SizeT __sz,
-                    const _CharT* __s, _SizeT __pos, _SizeT __n) _NOEXCEPT
-{
-    if (__pos < __sz)
-    {
-        const _CharT* __pe = __p + __sz;
-        for (const _CharT* __ps = __p + __pos; __ps != __pe; ++__ps)
-            if (_Traits::find(__s, __n, *__ps) == 0)
-                return static_cast<_SizeT>(__ps - __p);
-    }
-    return __npos;
-}
-
-
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_find_first_not_of(const _CharT *__p, _SizeT __sz,
-                          _CharT __c, _SizeT __pos) _NOEXCEPT
-{
-    if (__pos < __sz)
-    {
-        const _CharT* __pe = __p + __sz;
-        for (const _CharT* __ps = __p + __pos; __ps != __pe; ++__ps)
-            if (!_Traits::eq(*__ps, __c))
-                return static_cast<_SizeT>(__ps - __p);
-    }
-    return __npos;
-}
-
-
-// __str_find_last_not_of
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_find_last_not_of(const _CharT *__p, _SizeT __sz,
-                   const _CharT* __s, _SizeT __pos, _SizeT __n) _NOEXCEPT
-{
-    if (__pos < __sz)
-        ++__pos;
-    else
-        __pos = __sz;
-    for (const _CharT* __ps = __p + __pos; __ps != __p;)
-        if (_Traits::find(__s, __n, *--__ps) == 0)
-            return static_cast<_SizeT>(__ps - __p);
-    return __npos;
-}
-
-
-template<class _CharT, class _SizeT, class _Traits, _SizeT __npos>
-inline _SizeT _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-__str_find_last_not_of(const _CharT *__p, _SizeT __sz,
-                         _CharT __c, _SizeT __pos) _NOEXCEPT
-{
-    if (__pos < __sz)
-        ++__pos;
-    else
-        __pos = __sz;
-    for (const _CharT* __ps = __p + __pos; __ps != __p;)
-        if (!_Traits::eq(*--__ps, __c))
-            return static_cast<_SizeT>(__ps - __p);
-    return __npos;
-}
-
-template<class _Ptr>
-inline _LIBCPP_INLINE_VISIBILITY
-size_t __do_string_hash(_Ptr __p, _Ptr __e)
-{
-    typedef typename iterator_traits<_Ptr>::value_type value_type;
-    return __murmur2_or_cityhash<size_t>()(__p, (__e-__p)*sizeof(value_type));
-}
-
-template <class _CharT, class _Iter, class _Traits=char_traits<_CharT> >
-struct __quoted_output_proxy
-{
-    _Iter  __first;
-    _Iter  __last;
-    _CharT  __delim;
-    _CharT  __escape;
-
-    __quoted_output_proxy(_Iter __f, _Iter __l, _CharT __d, _CharT __e)
-    : __first(__f), __last(__l), __delim(__d), __escape(__e) {}
-    //  This would be a nice place for a string_ref 
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP___STRING
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__threading_support b/r21/sources/cxx-stl/llvm-libc++/include/__threading_support
deleted file mode 100644
index 0d1f1e6..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__threading_support
+++ /dev/null
@@ -1,490 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_THREADING_SUPPORT
-#define _LIBCPP_THREADING_SUPPORT
-
-#include <__config>
-#include <chrono>
-#include <iosfwd>
-#include <errno.h>
-
-#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
-#pragma GCC system_header
-#endif
-
-#if defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
-# include <__external_threading>
-#elif !defined(_LIBCPP_HAS_NO_THREADS)
-
-#if defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
-# include <pthread.h>
-# include <sched.h>
-#endif
-
-#if defined(_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL) || \
-    defined(_LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL) || \
-    defined(_LIBCPP_HAS_THREAD_API_WIN32)
-#define _LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_FUNC_VIS
-#else
-#define _LIBCPP_THREAD_ABI_VISIBILITY inline _LIBCPP_INLINE_VISIBILITY
-#endif
-
-#if defined(__FreeBSD__) && defined(__clang__) && __has_attribute(no_thread_safety_analysis)
-#define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS __attribute__((no_thread_safety_analysis))
-#else
-#define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-#endif
-
-typedef ::timespec __libcpp_timespec_t;
-#endif // !defined(_LIBCPP_HAS_NO_THREADS)
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if !defined(_LIBCPP_HAS_NO_THREADS)
-
-#if defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
-// Mutex
-typedef pthread_mutex_t __libcpp_mutex_t;
-#define _LIBCPP_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
-
-typedef pthread_mutex_t __libcpp_recursive_mutex_t;
-
-// Condition Variable
-typedef pthread_cond_t __libcpp_condvar_t;
-#define _LIBCPP_CONDVAR_INITIALIZER PTHREAD_COND_INITIALIZER
-
-// Execute once
-typedef pthread_once_t __libcpp_exec_once_flag;
-#define _LIBCPP_EXEC_ONCE_INITIALIZER PTHREAD_ONCE_INIT
-
-// Thread id
-typedef pthread_t __libcpp_thread_id;
-
-// Thread
-#define _LIBCPP_NULL_THREAD 0U
-
-typedef pthread_t __libcpp_thread_t;
-
-// Thread Local Storage
-typedef pthread_key_t __libcpp_tls_key;
-
-#define _LIBCPP_TLS_DESTRUCTOR_CC
-#elif !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
-// Mutex
-typedef void* __libcpp_mutex_t;
-#define _LIBCPP_MUTEX_INITIALIZER 0
-
-#if defined(_M_IX86) || defined(__i386__) || defined(_M_ARM) || defined(__arm__)
-typedef void* __libcpp_recursive_mutex_t[6];
-#elif defined(_M_AMD64) || defined(__x86_64__) || defined(_M_ARM64) || defined(__aarch64__)
-typedef void* __libcpp_recursive_mutex_t[5];
-#else
-# error Unsupported architecture
-#endif
-
-// Condition Variable
-typedef void* __libcpp_condvar_t;
-#define _LIBCPP_CONDVAR_INITIALIZER 0
-
-// Execute Once
-typedef void* __libcpp_exec_once_flag;
-#define _LIBCPP_EXEC_ONCE_INITIALIZER 0
-
-// Thread ID
-typedef long __libcpp_thread_id;
-
-// Thread
-#define _LIBCPP_NULL_THREAD 0U
-
-typedef void* __libcpp_thread_t;
-
-// Thread Local Storage
-typedef long __libcpp_tls_key;
-
-#define _LIBCPP_TLS_DESTRUCTOR_CC __stdcall
-#endif // !defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
-
-#if !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
-// Mutex
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_recursive_mutex_init(__libcpp_recursive_mutex_t *__m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t *__m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-int __libcpp_recursive_mutex_unlock(__libcpp_recursive_mutex_t *__m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_recursive_mutex_destroy(__libcpp_recursive_mutex_t *__m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-int __libcpp_mutex_lock(__libcpp_mutex_t *__m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-bool __libcpp_mutex_trylock(__libcpp_mutex_t *__m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-int __libcpp_mutex_unlock(__libcpp_mutex_t *__m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_mutex_destroy(__libcpp_mutex_t *__m);
-
-// Condition variable
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_condvar_signal(__libcpp_condvar_t* __cv);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_condvar_broadcast(__libcpp_condvar_t* __cv);
-
-_LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-int __libcpp_condvar_wait(__libcpp_condvar_t* __cv, __libcpp_mutex_t* __m);
-
-_LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-int __libcpp_condvar_timedwait(__libcpp_condvar_t *__cv, __libcpp_mutex_t *__m,
-                               __libcpp_timespec_t *__ts);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_condvar_destroy(__libcpp_condvar_t* __cv);
-
-// Execute once
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
-                          void (*init_routine)());
-
-// Thread id
-_LIBCPP_THREAD_ABI_VISIBILITY
-bool __libcpp_thread_id_equal(__libcpp_thread_id t1, __libcpp_thread_id t2);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-bool __libcpp_thread_id_less(__libcpp_thread_id t1, __libcpp_thread_id t2);
-
-// Thread
-_LIBCPP_THREAD_ABI_VISIBILITY
-bool __libcpp_thread_isnull(const __libcpp_thread_t *__t);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_thread_create(__libcpp_thread_t *__t, void *(*__func)(void *),
-                           void *__arg);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-__libcpp_thread_id __libcpp_thread_get_current_id();
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-__libcpp_thread_id __libcpp_thread_get_id(const __libcpp_thread_t *__t);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_thread_join(__libcpp_thread_t *__t);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_thread_detach(__libcpp_thread_t *__t);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-void __libcpp_thread_yield();
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-void __libcpp_thread_sleep_for(const chrono::nanoseconds& __ns);
-
-// Thread local storage
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_tls_create(__libcpp_tls_key* __key,
-                        void(_LIBCPP_TLS_DESTRUCTOR_CC* __at_exit)(void*));
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-void *__libcpp_tls_get(__libcpp_tls_key __key);
-
-_LIBCPP_THREAD_ABI_VISIBILITY
-int __libcpp_tls_set(__libcpp_tls_key __key, void *__p);
-
-#endif // !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
-
-#if (!defined(_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL) || \
-     defined(_LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL)) && \
-    defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
-
-int __libcpp_recursive_mutex_init(__libcpp_recursive_mutex_t *__m)
-{
-  pthread_mutexattr_t attr;
-  int __ec = pthread_mutexattr_init(&attr);
-  if (__ec)
-    return __ec;
-  __ec = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
-  if (__ec) {
-    pthread_mutexattr_destroy(&attr);
-    return __ec;
-  }
-  __ec = pthread_mutex_init(__m, &attr);
-  if (__ec) {
-    pthread_mutexattr_destroy(&attr);
-    return __ec;
-  }
-  __ec = pthread_mutexattr_destroy(&attr);
-  if (__ec) {
-    pthread_mutex_destroy(__m);
-    return __ec;
-  }
-  return 0;
-}
-
-int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t *__m)
-{
-  return pthread_mutex_lock(__m);
-}
-
-bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m)
-{
-  return pthread_mutex_trylock(__m) == 0;
-}
-
-int __libcpp_recursive_mutex_unlock(__libcpp_mutex_t *__m)
-{
-  return pthread_mutex_unlock(__m);
-}
-
-int __libcpp_recursive_mutex_destroy(__libcpp_recursive_mutex_t *__m)
-{
-  return pthread_mutex_destroy(__m);
-}
-
-int __libcpp_mutex_lock(__libcpp_mutex_t *__m)
-{
-  return pthread_mutex_lock(__m);
-}
-
-bool __libcpp_mutex_trylock(__libcpp_mutex_t *__m)
-{
-  return pthread_mutex_trylock(__m) == 0;
-}
-
-int __libcpp_mutex_unlock(__libcpp_mutex_t *__m)
-{
-  return pthread_mutex_unlock(__m);
-}
-
-int __libcpp_mutex_destroy(__libcpp_mutex_t *__m)
-{
-  return pthread_mutex_destroy(__m);
-}
-
-// Condition Variable
-int __libcpp_condvar_signal(__libcpp_condvar_t *__cv)
-{
-  return pthread_cond_signal(__cv);
-}
-
-int __libcpp_condvar_broadcast(__libcpp_condvar_t *__cv)
-{
-  return pthread_cond_broadcast(__cv);
-}
-
-int __libcpp_condvar_wait(__libcpp_condvar_t *__cv, __libcpp_mutex_t *__m)
-{
-  return pthread_cond_wait(__cv, __m);
-}
-
-int __libcpp_condvar_timedwait(__libcpp_condvar_t *__cv, __libcpp_mutex_t *__m,
-                               __libcpp_timespec_t *__ts)
-{
-  return pthread_cond_timedwait(__cv, __m, __ts);
-}
-
-int __libcpp_condvar_destroy(__libcpp_condvar_t *__cv)
-{
-  return pthread_cond_destroy(__cv);
-}
-
-// Execute once
-int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
-                          void (*init_routine)()) {
-  return pthread_once(flag, init_routine);
-}
-
-// Thread id
-// Returns non-zero if the thread ids are equal, otherwise 0
-bool __libcpp_thread_id_equal(__libcpp_thread_id t1, __libcpp_thread_id t2)
-{
-  return pthread_equal(t1, t2) != 0;
-}
-
-// Returns non-zero if t1 < t2, otherwise 0
-bool __libcpp_thread_id_less(__libcpp_thread_id t1, __libcpp_thread_id t2)
-{
-  return t1 < t2;
-}
-
-// Thread
-bool __libcpp_thread_isnull(const __libcpp_thread_t *__t) {
-  return *__t == 0;
-}
-
-int __libcpp_thread_create(__libcpp_thread_t *__t, void *(*__func)(void *),
-                           void *__arg)
-{
-  return pthread_create(__t, 0, __func, __arg);
-}
-
-__libcpp_thread_id __libcpp_thread_get_current_id()
-{
-  return pthread_self();
-}
-
-__libcpp_thread_id __libcpp_thread_get_id(const __libcpp_thread_t *__t)
-{
-  return *__t;
-}
-
-int __libcpp_thread_join(__libcpp_thread_t *__t)
-{
-  return pthread_join(*__t, 0);
-}
-
-int __libcpp_thread_detach(__libcpp_thread_t *__t)
-{
-  return pthread_detach(*__t);
-}
-
-void __libcpp_thread_yield()
-{
-  sched_yield();
-}
-
-void __libcpp_thread_sleep_for(const chrono::nanoseconds& __ns)
-{
-   using namespace chrono;
-   seconds __s = duration_cast<seconds>(__ns);
-   __libcpp_timespec_t __ts;
-   typedef decltype(__ts.tv_sec) ts_sec;
-   _LIBCPP_CONSTEXPR ts_sec __ts_sec_max = numeric_limits<ts_sec>::max();
-
-   if (__s.count() < __ts_sec_max)
-   {
-     __ts.tv_sec = static_cast<ts_sec>(__s.count());
-     __ts.tv_nsec = static_cast<decltype(__ts.tv_nsec)>((__ns - __s).count());
-   }
-   else
-   {
-     __ts.tv_sec = __ts_sec_max;
-     __ts.tv_nsec = 999999999; // (10^9 - 1)
-   }
-
-   while (nanosleep(&__ts, &__ts) == -1 && errno == EINTR);
-}
-
-// Thread local storage
-int __libcpp_tls_create(__libcpp_tls_key *__key, void (*__at_exit)(void *))
-{
-  return pthread_key_create(__key, __at_exit);
-}
-
-void *__libcpp_tls_get(__libcpp_tls_key __key)
-{
-  return pthread_getspecific(__key);
-}
-
-int __libcpp_tls_set(__libcpp_tls_key __key, void *__p)
-{
-    return pthread_setspecific(__key, __p);
-}
-
-#endif // !_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL || _LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL
-
-class _LIBCPP_TYPE_VIS thread;
-class _LIBCPP_TYPE_VIS __thread_id;
-
-namespace this_thread
-{
-
-_LIBCPP_INLINE_VISIBILITY __thread_id get_id() _NOEXCEPT;
-
-}  // this_thread
-
-template<> struct hash<__thread_id>;
-
-class _LIBCPP_TEMPLATE_VIS __thread_id
-{
-    // FIXME: pthread_t is a pointer on Darwin but a long on Linux.
-    // NULL is the no-thread value on Darwin.  Someone needs to check
-    // on other platforms.  We assume 0 works everywhere for now.
-    __libcpp_thread_id __id_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __thread_id() _NOEXCEPT : __id_(0) {}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(__thread_id __x, __thread_id __y) _NOEXCEPT
-        { // don't pass id==0 to underlying routines
-        if (__x.__id_ == 0) return __y.__id_ == 0;
-        if (__y.__id_ == 0) return false;
-        return __libcpp_thread_id_equal(__x.__id_, __y.__id_);
-        }
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(__thread_id __x, __thread_id __y) _NOEXCEPT
-        {return !(__x == __y);}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator< (__thread_id __x, __thread_id __y) _NOEXCEPT
-        { // id==0 is always less than any other thread_id
-        if (__x.__id_ == 0) return __y.__id_ != 0;
-        if (__y.__id_ == 0) return false;
-        return  __libcpp_thread_id_less(__x.__id_, __y.__id_);
-        }
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator<=(__thread_id __x, __thread_id __y) _NOEXCEPT
-        {return !(__y < __x);}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator> (__thread_id __x, __thread_id __y) _NOEXCEPT
-        {return   __y < __x ;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator>=(__thread_id __x, __thread_id __y) _NOEXCEPT
-        {return !(__x < __y);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __reset() { __id_ = 0; }
-    
-    template<class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, __thread_id __id);
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    __thread_id(__libcpp_thread_id __id) : __id_(__id) {}
-
-    friend __thread_id this_thread::get_id() _NOEXCEPT;
-    friend class _LIBCPP_TYPE_VIS thread;
-    friend struct _LIBCPP_TEMPLATE_VIS hash<__thread_id>;
-};
-
-namespace this_thread
-{
-
-inline _LIBCPP_INLINE_VISIBILITY
-__thread_id
-get_id() _NOEXCEPT
-{
-    return __libcpp_thread_get_current_id();
-}
-
-}  // this_thread
-
-#endif // !_LIBCPP_HAS_NO_THREADS
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif // _LIBCPP_THREADING_SUPPORT
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__tree b/r21/sources/cxx-stl/llvm-libc++/include/__tree
deleted file mode 100644
index 15b03ec..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__tree
+++ /dev/null
@@ -1,2843 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TREE
-#define _LIBCPP___TREE
-
-#include <__config>
-#include <iterator>
-#include <memory>
-#include <stdexcept>
-#include <algorithm>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if defined(__GNUC__) && !defined(__clang__) // gcc.gnu.org/PR37804
-template <class, class, class, class> class _LIBCPP_TEMPLATE_VIS map;
-template <class, class, class, class> class _LIBCPP_TEMPLATE_VIS multimap;
-template <class, class, class> class _LIBCPP_TEMPLATE_VIS set;
-template <class, class, class> class _LIBCPP_TEMPLATE_VIS multiset;
-#endif
-
-template <class _Tp, class _Compare, class _Allocator> class __tree;
-template <class _Tp, class _NodePtr, class _DiffType>
-    class _LIBCPP_TEMPLATE_VIS __tree_iterator;
-template <class _Tp, class _ConstNodePtr, class _DiffType>
-    class _LIBCPP_TEMPLATE_VIS __tree_const_iterator;
-
-template <class _Pointer> class __tree_end_node;
-template <class _VoidPtr> class __tree_node_base;
-template <class _Tp, class _VoidPtr> class __tree_node;
-
-template <class _Key, class _Value>
-struct __value_type;
-
-template <class _Allocator> class __map_node_destructor;
-template <class _TreeIterator> class _LIBCPP_TEMPLATE_VIS __map_iterator;
-template <class _TreeIterator> class _LIBCPP_TEMPLATE_VIS __map_const_iterator;
-
-/*
-
-_NodePtr algorithms
-
-The algorithms taking _NodePtr are red black tree algorithms.  Those
-algorithms taking a parameter named __root should assume that __root
-points to a proper red black tree (unless otherwise specified).
-
-Each algorithm herein assumes that __root->__parent_ points to a non-null
-structure which has a member __left_ which points back to __root.  No other
-member is read or written to at __root->__parent_.
-
-__root->__parent_ will be referred to below (in comments only) as end_node.
-end_node->__left_ is an externably accessible lvalue for __root, and can be
-changed by node insertion and removal (without explicit reference to end_node).
-
-All nodes (with the exception of end_node), even the node referred to as
-__root, have a non-null __parent_ field.
-
-*/
-
-// Returns:  true if __x is a left child of its parent, else false
-// Precondition:  __x != nullptr.
-template <class _NodePtr>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-__tree_is_left_child(_NodePtr __x) _NOEXCEPT
-{
-    return __x == __x->__parent_->__left_;
-}
-
-// Determines if the subtree rooted at __x is a proper red black subtree.  If
-//    __x is a proper subtree, returns the black height (null counts as 1).  If
-//    __x is an improper subtree, returns 0.
-template <class _NodePtr>
-unsigned
-__tree_sub_invariant(_NodePtr __x)
-{
-    if (__x == nullptr)
-        return 1;
-    // parent consistency checked by caller
-    // check __x->__left_ consistency
-    if (__x->__left_ != nullptr && __x->__left_->__parent_ != __x)
-        return 0;
-    // check __x->__right_ consistency
-    if (__x->__right_ != nullptr && __x->__right_->__parent_ != __x)
-        return 0;
-    // check __x->__left_ != __x->__right_ unless both are nullptr
-    if (__x->__left_ == __x->__right_ && __x->__left_ != nullptr)
-        return 0;
-    // If this is red, neither child can be red
-    if (!__x->__is_black_)
-    {
-        if (__x->__left_ && !__x->__left_->__is_black_)
-            return 0;
-        if (__x->__right_ && !__x->__right_->__is_black_)
-            return 0;
-    }
-    unsigned __h = __tree_sub_invariant(__x->__left_);
-    if (__h == 0)
-        return 0;  // invalid left subtree
-    if (__h != __tree_sub_invariant(__x->__right_))
-        return 0;  // invalid or different height right subtree
-    return __h + __x->__is_black_;  // return black height of this node
-}
-
-// Determines if the red black tree rooted at __root is a proper red black tree.
-//    __root == nullptr is a proper tree.  Returns true is __root is a proper
-//    red black tree, else returns false.
-template <class _NodePtr>
-bool
-__tree_invariant(_NodePtr __root)
-{
-    if (__root == nullptr)
-        return true;
-    // check __x->__parent_ consistency
-    if (__root->__parent_ == nullptr)
-        return false;
-    if (!__tree_is_left_child(__root))
-        return false;
-    // root must be black
-    if (!__root->__is_black_)
-        return false;
-    // do normal node checks
-    return __tree_sub_invariant(__root) != 0;
-}
-
-// Returns:  pointer to the left-most node under __x.
-// Precondition:  __x != nullptr.
-template <class _NodePtr>
-inline _LIBCPP_INLINE_VISIBILITY
-_NodePtr
-__tree_min(_NodePtr __x) _NOEXCEPT
-{
-    while (__x->__left_ != nullptr)
-        __x = __x->__left_;
-    return __x;
-}
-
-// Returns:  pointer to the right-most node under __x.
-// Precondition:  __x != nullptr.
-template <class _NodePtr>
-inline _LIBCPP_INLINE_VISIBILITY
-_NodePtr
-__tree_max(_NodePtr __x) _NOEXCEPT
-{
-    while (__x->__right_ != nullptr)
-        __x = __x->__right_;
-    return __x;
-}
-
-// Returns:  pointer to the next in-order node after __x.
-// Precondition:  __x != nullptr.
-template <class _NodePtr>
-_NodePtr
-__tree_next(_NodePtr __x) _NOEXCEPT
-{
-    if (__x->__right_ != nullptr)
-        return __tree_min(__x->__right_);
-    while (!__tree_is_left_child(__x))
-        __x = __x->__parent_unsafe();
-    return __x->__parent_unsafe();
-}
-
-template <class _EndNodePtr, class _NodePtr>
-inline _LIBCPP_INLINE_VISIBILITY
-_EndNodePtr
-__tree_next_iter(_NodePtr __x) _NOEXCEPT
-{
-    if (__x->__right_ != nullptr)
-        return static_cast<_EndNodePtr>(__tree_min(__x->__right_));
-    while (!__tree_is_left_child(__x))
-        __x = __x->__parent_unsafe();
-    return static_cast<_EndNodePtr>(__x->__parent_);
-}
-
-// Returns:  pointer to the previous in-order node before __x.
-// Precondition:  __x != nullptr.
-// Note: __x may be the end node.
-template <class _NodePtr, class _EndNodePtr>
-inline _LIBCPP_INLINE_VISIBILITY
-_NodePtr
-__tree_prev_iter(_EndNodePtr __x) _NOEXCEPT
-{
-    if (__x->__left_ != nullptr)
-        return __tree_max(__x->__left_);
-    _NodePtr __xx = static_cast<_NodePtr>(__x);
-    while (__tree_is_left_child(__xx))
-        __xx = __xx->__parent_unsafe();
-    return __xx->__parent_unsafe();
-}
-
-// Returns:  pointer to a node which has no children
-// Precondition:  __x != nullptr.
-template <class _NodePtr>
-_NodePtr
-__tree_leaf(_NodePtr __x) _NOEXCEPT
-{
-    while (true)
-    {
-        if (__x->__left_ != nullptr)
-        {
-            __x = __x->__left_;
-            continue;
-        }
-        if (__x->__right_ != nullptr)
-        {
-            __x = __x->__right_;
-            continue;
-        }
-        break;
-    }
-    return __x;
-}
-
-// Effects:  Makes __x->__right_ the subtree root with __x as its left child
-//           while preserving in-order order.
-// Precondition:  __x->__right_ != nullptr
-template <class _NodePtr>
-void
-__tree_left_rotate(_NodePtr __x) _NOEXCEPT
-{
-    _NodePtr __y = __x->__right_;
-    __x->__right_ = __y->__left_;
-    if (__x->__right_ != nullptr)
-        __x->__right_->__set_parent(__x);
-    __y->__parent_ = __x->__parent_;
-    if (__tree_is_left_child(__x))
-        __x->__parent_->__left_ = __y;
-    else
-        __x->__parent_unsafe()->__right_ = __y;
-    __y->__left_ = __x;
-    __x->__set_parent(__y);
-}
-
-// Effects:  Makes __x->__left_ the subtree root with __x as its right child
-//           while preserving in-order order.
-// Precondition:  __x->__left_ != nullptr
-template <class _NodePtr>
-void
-__tree_right_rotate(_NodePtr __x) _NOEXCEPT
-{
-    _NodePtr __y = __x->__left_;
-    __x->__left_ = __y->__right_;
-    if (__x->__left_ != nullptr)
-        __x->__left_->__set_parent(__x);
-    __y->__parent_ = __x->__parent_;
-    if (__tree_is_left_child(__x))
-        __x->__parent_->__left_ = __y;
-    else
-        __x->__parent_unsafe()->__right_ = __y;
-    __y->__right_ = __x;
-    __x->__set_parent(__y);
-}
-
-// Effects:  Rebalances __root after attaching __x to a leaf.
-// Precondition:  __root != nulptr && __x != nullptr.
-//                __x has no children.
-//                __x == __root or == a direct or indirect child of __root.
-//                If __x were to be unlinked from __root (setting __root to
-//                  nullptr if __root == __x), __tree_invariant(__root) == true.
-// Postcondition: __tree_invariant(end_node->__left_) == true.  end_node->__left_
-//                may be different than the value passed in as __root.
-template <class _NodePtr>
-void
-__tree_balance_after_insert(_NodePtr __root, _NodePtr __x) _NOEXCEPT
-{
-    __x->__is_black_ = __x == __root;
-    while (__x != __root && !__x->__parent_unsafe()->__is_black_)
-    {
-        // __x->__parent_ != __root because __x->__parent_->__is_black == false
-        if (__tree_is_left_child(__x->__parent_unsafe()))
-        {
-            _NodePtr __y = __x->__parent_unsafe()->__parent_unsafe()->__right_;
-            if (__y != nullptr && !__y->__is_black_)
-            {
-                __x = __x->__parent_unsafe();
-                __x->__is_black_ = true;
-                __x = __x->__parent_unsafe();
-                __x->__is_black_ = __x == __root;
-                __y->__is_black_ = true;
-            }
-            else
-            {
-                if (!__tree_is_left_child(__x))
-                {
-                    __x = __x->__parent_unsafe();
-                    __tree_left_rotate(__x);
-                }
-                __x = __x->__parent_unsafe();
-                __x->__is_black_ = true;
-                __x = __x->__parent_unsafe();
-                __x->__is_black_ = false;
-                __tree_right_rotate(__x);
-                break;
-            }
-        }
-        else
-        {
-            _NodePtr __y = __x->__parent_unsafe()->__parent_->__left_;
-            if (__y != nullptr && !__y->__is_black_)
-            {
-                __x = __x->__parent_unsafe();
-                __x->__is_black_ = true;
-                __x = __x->__parent_unsafe();
-                __x->__is_black_ = __x == __root;
-                __y->__is_black_ = true;
-            }
-            else
-            {
-                if (__tree_is_left_child(__x))
-                {
-                    __x = __x->__parent_unsafe();
-                    __tree_right_rotate(__x);
-                }
-                __x = __x->__parent_unsafe();
-                __x->__is_black_ = true;
-                __x = __x->__parent_unsafe();
-                __x->__is_black_ = false;
-                __tree_left_rotate(__x);
-                break;
-            }
-        }
-    }
-}
-
-// Precondition:  __root != nullptr && __z != nullptr.
-//                __tree_invariant(__root) == true.
-//                __z == __root or == a direct or indirect child of __root.
-// Effects:  unlinks __z from the tree rooted at __root, rebalancing as needed.
-// Postcondition: __tree_invariant(end_node->__left_) == true && end_node->__left_
-//                nor any of its children refer to __z.  end_node->__left_
-//                may be different than the value passed in as __root.
-template <class _NodePtr>
-void
-__tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
-{
-    // __z will be removed from the tree.  Client still needs to destruct/deallocate it
-    // __y is either __z, or if __z has two children, __tree_next(__z).
-    // __y will have at most one child.
-    // __y will be the initial hole in the tree (make the hole at a leaf)
-    _NodePtr __y = (__z->__left_ == nullptr || __z->__right_ == nullptr) ?
-                    __z : __tree_next(__z);
-    // __x is __y's possibly null single child
-    _NodePtr __x = __y->__left_ != nullptr ? __y->__left_ : __y->__right_;
-    // __w is __x's possibly null uncle (will become __x's sibling)
-    _NodePtr __w = nullptr;
-    // link __x to __y's parent, and find __w
-    if (__x != nullptr)
-        __x->__parent_ = __y->__parent_;
-    if (__tree_is_left_child(__y))
-    {
-        __y->__parent_->__left_ = __x;
-        if (__y != __root)
-            __w = __y->__parent_unsafe()->__right_;
-        else
-            __root = __x;  // __w == nullptr
-    }
-    else
-    {
-        __y->__parent_unsafe()->__right_ = __x;
-        // __y can't be root if it is a right child
-        __w = __y->__parent_->__left_;
-    }
-    bool __removed_black = __y->__is_black_;
-    // If we didn't remove __z, do so now by splicing in __y for __z,
-    //    but copy __z's color.  This does not impact __x or __w.
-    if (__y != __z)
-    {
-        // __z->__left_ != nulptr but __z->__right_ might == __x == nullptr
-        __y->__parent_ = __z->__parent_;
-        if (__tree_is_left_child(__z))
-            __y->__parent_->__left_ = __y;
-        else
-            __y->__parent_unsafe()->__right_ = __y;
-        __y->__left_ = __z->__left_;
-        __y->__left_->__set_parent(__y);
-        __y->__right_ = __z->__right_;
-        if (__y->__right_ != nullptr)
-            __y->__right_->__set_parent(__y);
-        __y->__is_black_ = __z->__is_black_;
-        if (__root == __z)
-            __root = __y;
-    }
-    // There is no need to rebalance if we removed a red, or if we removed
-    //     the last node.
-    if (__removed_black && __root != nullptr)
-    {
-        // Rebalance:
-        // __x has an implicit black color (transferred from the removed __y)
-        //    associated with it, no matter what its color is.
-        // If __x is __root (in which case it can't be null), it is supposed
-        //    to be black anyway, and if it is doubly black, then the double
-        //    can just be ignored.
-        // If __x is red (in which case it can't be null), then it can absorb
-        //    the implicit black just by setting its color to black.
-        // Since __y was black and only had one child (which __x points to), __x
-        //   is either red with no children, else null, otherwise __y would have
-        //   different black heights under left and right pointers.
-        // if (__x == __root || __x != nullptr && !__x->__is_black_)
-        if (__x != nullptr)
-            __x->__is_black_ = true;
-        else
-        {
-            //  Else __x isn't root, and is "doubly black", even though it may
-            //     be null.  __w can not be null here, else the parent would
-            //     see a black height >= 2 on the __x side and a black height
-            //     of 1 on the __w side (__w must be a non-null black or a red
-            //     with a non-null black child).
-            while (true)
-            {
-                if (!__tree_is_left_child(__w))  // if x is left child
-                {
-                    if (!__w->__is_black_)
-                    {
-                        __w->__is_black_ = true;
-                        __w->__parent_unsafe()->__is_black_ = false;
-                        __tree_left_rotate(__w->__parent_unsafe());
-                        // __x is still valid
-                        // reset __root only if necessary
-                        if (__root == __w->__left_)
-                            __root = __w;
-                        // reset sibling, and it still can't be null
-                        __w = __w->__left_->__right_;
-                    }
-                    // __w->__is_black_ is now true, __w may have null children
-                    if ((__w->__left_  == nullptr || __w->__left_->__is_black_) &&
-                        (__w->__right_ == nullptr || __w->__right_->__is_black_))
-                    {
-                        __w->__is_black_ = false;
-                        __x = __w->__parent_unsafe();
-                        // __x can no longer be null
-                        if (__x == __root || !__x->__is_black_)
-                        {
-                            __x->__is_black_ = true;
-                            break;
-                        }
-                        // reset sibling, and it still can't be null
-                        __w = __tree_is_left_child(__x) ?
-                                    __x->__parent_unsafe()->__right_ :
-                                    __x->__parent_->__left_;
-                        // continue;
-                    }
-                    else  // __w has a red child
-                    {
-                        if (__w->__right_ == nullptr || __w->__right_->__is_black_)
-                        {
-                            // __w left child is non-null and red
-                            __w->__left_->__is_black_ = true;
-                            __w->__is_black_ = false;
-                            __tree_right_rotate(__w);
-                            // __w is known not to be root, so root hasn't changed
-                            // reset sibling, and it still can't be null
-                            __w = __w->__parent_unsafe();
-                        }
-                        // __w has a right red child, left child may be null
-                        __w->__is_black_ = __w->__parent_unsafe()->__is_black_;
-                        __w->__parent_unsafe()->__is_black_ = true;
-                        __w->__right_->__is_black_ = true;
-                        __tree_left_rotate(__w->__parent_unsafe());
-                        break;
-                    }
-                }
-                else
-                {
-                    if (!__w->__is_black_)
-                    {
-                        __w->__is_black_ = true;
-                        __w->__parent_unsafe()->__is_black_ = false;
-                        __tree_right_rotate(__w->__parent_unsafe());
-                        // __x is still valid
-                        // reset __root only if necessary
-                        if (__root == __w->__right_)
-                            __root = __w;
-                        // reset sibling, and it still can't be null
-                        __w = __w->__right_->__left_;
-                    }
-                    // __w->__is_black_ is now true, __w may have null children
-                    if ((__w->__left_  == nullptr || __w->__left_->__is_black_) &&
-                        (__w->__right_ == nullptr || __w->__right_->__is_black_))
-                    {
-                        __w->__is_black_ = false;
-                        __x = __w->__parent_unsafe();
-                        // __x can no longer be null
-                        if (!__x->__is_black_ || __x == __root)
-                        {
-                            __x->__is_black_ = true;
-                            break;
-                        }
-                        // reset sibling, and it still can't be null
-                        __w = __tree_is_left_child(__x) ?
-                                    __x->__parent_unsafe()->__right_ :
-                                    __x->__parent_->__left_;
-                        // continue;
-                    }
-                    else  // __w has a red child
-                    {
-                        if (__w->__left_ == nullptr || __w->__left_->__is_black_)
-                        {
-                            // __w right child is non-null and red
-                            __w->__right_->__is_black_ = true;
-                            __w->__is_black_ = false;
-                            __tree_left_rotate(__w);
-                            // __w is known not to be root, so root hasn't changed
-                            // reset sibling, and it still can't be null
-                            __w = __w->__parent_unsafe();
-                        }
-                        // __w has a left red child, right child may be null
-                        __w->__is_black_ = __w->__parent_unsafe()->__is_black_;
-                        __w->__parent_unsafe()->__is_black_ = true;
-                        __w->__left_->__is_black_ = true;
-                        __tree_right_rotate(__w->__parent_unsafe());
-                        break;
-                    }
-                }
-            }
-        }
-    }
-}
-
-// node traits
-
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp>
-struct __is_tree_value_type_imp : false_type {};
-
-template <class _Key, class _Value>
-struct __is_tree_value_type_imp<__value_type<_Key, _Value>> : true_type {};
-
-template <class ..._Args>
-struct __is_tree_value_type : false_type {};
-
-template <class _One>
-struct __is_tree_value_type<_One> : __is_tree_value_type_imp<typename __uncvref<_One>::type> {};
-#endif
-
-template <class _Tp>
-struct __tree_key_value_types {
-  typedef _Tp key_type;
-  typedef _Tp __node_value_type;
-  typedef _Tp __container_value_type;
-  static const bool __is_map = false;
-
-  _LIBCPP_INLINE_VISIBILITY
-  static key_type const& __get_key(_Tp const& __v) {
-    return __v;
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type const& __get_value(__node_value_type const& __v) {
-    return __v;
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type* __get_ptr(__node_value_type& __n) {
-    return _VSTD::addressof(__n);
-  }
-#ifndef _LIBCPP_CXX03_LANG
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type&& __move(__node_value_type& __v) {
-    return _VSTD::move(__v);
-  }
-#endif
-};
-
-template <class _Key, class _Tp>
-struct __tree_key_value_types<__value_type<_Key, _Tp> > {
-  typedef _Key                                         key_type;
-  typedef _Tp                                          mapped_type;
-  typedef __value_type<_Key, _Tp>                      __node_value_type;
-  typedef pair<const _Key, _Tp>                        __container_value_type;
-  typedef __container_value_type                       __map_value_type;
-  static const bool __is_map = true;
-
-  _LIBCPP_INLINE_VISIBILITY
-  static key_type const&
-  __get_key(__node_value_type const& __t) {
-    return __t.__get_value().first;
-  }
-
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-  static typename enable_if<__is_same_uncvref<_Up, __container_value_type>::value,
-      key_type const&>::type
-  __get_key(_Up& __t) {
-    return __t.first;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type const&
-  __get_value(__node_value_type const& __t) {
-    return __t.__get_value();
-  }
-
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-  static typename enable_if<__is_same_uncvref<_Up, __container_value_type>::value,
-      __container_value_type const&>::type
-  __get_value(_Up& __t) {
-    return __t;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  static __container_value_type* __get_ptr(__node_value_type& __n) {
-    return _VSTD::addressof(__n.__get_value());
-  }
-
-#ifndef _LIBCPP_CXX03_LANG
-  _LIBCPP_INLINE_VISIBILITY
-  static pair<key_type&&, mapped_type&&> __move(__node_value_type& __v) {
-    return __v.__move();
-  }
-#endif
-};
-
-template <class _VoidPtr>
-struct __tree_node_base_types {
-  typedef _VoidPtr                                               __void_pointer;
-
-  typedef __tree_node_base<__void_pointer>                      __node_base_type;
-  typedef typename __rebind_pointer<_VoidPtr, __node_base_type>::type
-                                                             __node_base_pointer;
-
-  typedef __tree_end_node<__node_base_pointer>                  __end_node_type;
-  typedef typename __rebind_pointer<_VoidPtr, __end_node_type>::type
-                                                             __end_node_pointer;
-#if defined(_LIBCPP_ABI_TREE_REMOVE_NODE_POINTER_UB)
-  typedef __end_node_pointer __parent_pointer;
-#else
-  typedef typename conditional<
-      is_pointer<__end_node_pointer>::value,
-        __end_node_pointer,
-        __node_base_pointer>::type __parent_pointer;
-#endif
-
-private:
-  static_assert((is_same<typename pointer_traits<_VoidPtr>::element_type, void>::value),
-                  "_VoidPtr does not point to unqualified void type");
-};
-
-template <class _Tp, class _AllocPtr, class _KVTypes = __tree_key_value_types<_Tp>,
-         bool = _KVTypes::__is_map>
-struct __tree_map_pointer_types {};
-
-template <class _Tp, class _AllocPtr, class _KVTypes>
-struct __tree_map_pointer_types<_Tp, _AllocPtr, _KVTypes, true> {
-  typedef typename _KVTypes::__map_value_type   _Mv;
-  typedef typename __rebind_pointer<_AllocPtr, _Mv>::type
-                                                       __map_value_type_pointer;
-  typedef typename __rebind_pointer<_AllocPtr, const _Mv>::type
-                                                 __const_map_value_type_pointer;
-};
-
-template <class _NodePtr, class _NodeT = typename pointer_traits<_NodePtr>::element_type>
-struct __tree_node_types;
-
-template <class _NodePtr, class _Tp, class _VoidPtr>
-struct __tree_node_types<_NodePtr, __tree_node<_Tp, _VoidPtr> >
-    : public __tree_node_base_types<_VoidPtr>,
-             __tree_key_value_types<_Tp>,
-             __tree_map_pointer_types<_Tp, _VoidPtr>
-{
-  typedef __tree_node_base_types<_VoidPtr> __base;
-  typedef __tree_key_value_types<_Tp>      __key_base;
-  typedef __tree_map_pointer_types<_Tp, _VoidPtr> __map_pointer_base;
-public:
-
-  typedef typename pointer_traits<_NodePtr>::element_type       __node_type;
-  typedef _NodePtr                                              __node_pointer;
-
-  typedef _Tp                                                 __node_value_type;
-  typedef typename __rebind_pointer<_VoidPtr, __node_value_type>::type
-                                                      __node_value_type_pointer;
-  typedef typename __rebind_pointer<_VoidPtr, const __node_value_type>::type
-                                                __const_node_value_type_pointer;
-#if defined(_LIBCPP_ABI_TREE_REMOVE_NODE_POINTER_UB)
-  typedef typename __base::__end_node_pointer __iter_pointer;
-#else
-  typedef typename conditional<
-      is_pointer<__node_pointer>::value,
-        typename __base::__end_node_pointer,
-        __node_pointer>::type __iter_pointer;
-#endif
-private:
-    static_assert(!is_const<__node_type>::value,
-                "_NodePtr should never be a pointer to const");
-    static_assert((is_same<typename __rebind_pointer<_VoidPtr, __node_type>::type,
-                          _NodePtr>::value), "_VoidPtr does not rebind to _NodePtr.");
-};
-
-template <class _ValueTp, class _VoidPtr>
-struct __make_tree_node_types {
-  typedef typename __rebind_pointer<_VoidPtr, __tree_node<_ValueTp, _VoidPtr> >::type
-                                                                        _NodePtr;
-  typedef __tree_node_types<_NodePtr> type;
-};
-
-// node
-
-template <class _Pointer>
-class __tree_end_node
-{
-public:
-    typedef _Pointer pointer;
-    pointer __left_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_end_node() _NOEXCEPT : __left_() {}
-};
-
-template <class _VoidPtr>
-class __tree_node_base
-    : public __tree_node_base_types<_VoidPtr>::__end_node_type
-{
-    typedef __tree_node_base_types<_VoidPtr> _NodeBaseTypes;
-
-public:
-    typedef typename _NodeBaseTypes::__node_base_pointer pointer;
-    typedef typename _NodeBaseTypes::__parent_pointer __parent_pointer;
-
-    pointer          __right_;
-    __parent_pointer __parent_;
-    bool __is_black_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    pointer __parent_unsafe() const { return static_cast<pointer>(__parent_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __set_parent(pointer __p) {
-        __parent_ = static_cast<__parent_pointer>(__p);
-    }
-
-private:
-  ~__tree_node_base() _LIBCPP_EQUAL_DELETE;
-  __tree_node_base(__tree_node_base const&) _LIBCPP_EQUAL_DELETE;
-  __tree_node_base& operator=(__tree_node_base const&) _LIBCPP_EQUAL_DELETE;
-};
-
-template <class _Tp, class _VoidPtr>
-class __tree_node
-    : public __tree_node_base<_VoidPtr>
-{
-public:
-    typedef _Tp __node_value_type;
-
-    __node_value_type __value_;
-
-private:
-  ~__tree_node() _LIBCPP_EQUAL_DELETE;
-  __tree_node(__tree_node const&) _LIBCPP_EQUAL_DELETE;
-  __tree_node& operator=(__tree_node const&) _LIBCPP_EQUAL_DELETE;
-};
-
-
-template <class _Allocator>
-class __tree_node_destructor
-{
-    typedef _Allocator                                      allocator_type;
-    typedef allocator_traits<allocator_type>                __alloc_traits;
-
-public:
-    typedef typename __alloc_traits::pointer                pointer;
-private:
-    typedef __tree_node_types<pointer> _NodeTypes;
-    allocator_type& __na_;
-
-    __tree_node_destructor& operator=(const __tree_node_destructor&);
-
-public:
-    bool __value_constructed;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __tree_node_destructor(allocator_type& __na, bool __val = false) _NOEXCEPT
-        : __na_(__na),
-          __value_constructed(__val)
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()(pointer __p) _NOEXCEPT
-    {
-        if (__value_constructed)
-            __alloc_traits::destroy(__na_, _NodeTypes::__get_ptr(__p->__value_));
-        if (__p)
-            __alloc_traits::deallocate(__na_, __p, 1);
-    }
-
-    template <class> friend class __map_node_destructor;
-};
-
-#if _LIBCPP_STD_VER > 14
-template <class _NodeType, class _Alloc>
-struct __generic_container_node_destructor;
-template <class _Tp, class _VoidPtr, class _Alloc>
-struct __generic_container_node_destructor<__tree_node<_Tp, _VoidPtr>, _Alloc>
-    : __tree_node_destructor<_Alloc>
-{
-    using __tree_node_destructor<_Alloc>::__tree_node_destructor;
-};
-#endif
-
-template <class _Tp, class _NodePtr, class _DiffType>
-class _LIBCPP_TEMPLATE_VIS __tree_iterator
-{
-    typedef __tree_node_types<_NodePtr>                     _NodeTypes;
-    typedef _NodePtr                                        __node_pointer;
-    typedef typename _NodeTypes::__node_base_pointer        __node_base_pointer;
-    typedef typename _NodeTypes::__end_node_pointer         __end_node_pointer;
-    typedef typename _NodeTypes::__iter_pointer             __iter_pointer;
-    typedef pointer_traits<__node_pointer> __pointer_traits;
-
-    __iter_pointer __ptr_;
-
-public:
-    typedef bidirectional_iterator_tag                     iterator_category;
-    typedef _Tp                                            value_type;
-    typedef _DiffType                                      difference_type;
-    typedef value_type&                                    reference;
-    typedef typename _NodeTypes::__node_value_type_pointer pointer;
-
-    _LIBCPP_INLINE_VISIBILITY __tree_iterator() _NOEXCEPT
-#if _LIBCPP_STD_VER > 11
-    : __ptr_(nullptr)
-#endif
-    {}
-
-    _LIBCPP_INLINE_VISIBILITY reference operator*() const
-        {return __get_np()->__value_;}
-    _LIBCPP_INLINE_VISIBILITY pointer operator->() const
-        {return pointer_traits<pointer>::pointer_to(__get_np()->__value_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_iterator& operator++() {
-      __ptr_ = static_cast<__iter_pointer>(
-          __tree_next_iter<__end_node_pointer>(static_cast<__node_base_pointer>(__ptr_)));
-      return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_iterator operator++(int)
-        {__tree_iterator __t(*this); ++(*this); return __t;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_iterator& operator--() {
-      __ptr_ = static_cast<__iter_pointer>(__tree_prev_iter<__node_base_pointer>(
-          static_cast<__end_node_pointer>(__ptr_)));
-      return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_iterator operator--(int)
-        {__tree_iterator __t(*this); --(*this); return __t;}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const __tree_iterator& __x, const __tree_iterator& __y)
-        {return __x.__ptr_ == __y.__ptr_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const __tree_iterator& __x, const __tree_iterator& __y)
-        {return !(__x == __y);}
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __tree_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __tree_iterator(__end_node_pointer __p) _NOEXCEPT : __ptr_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    __node_pointer __get_np() const { return static_cast<__node_pointer>(__ptr_); }
-    template <class, class, class> friend class __tree;
-    template <class, class, class> friend class _LIBCPP_TEMPLATE_VIS __tree_const_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __map_iterator;
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS map;
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS multimap;
-    template <class, class, class> friend class _LIBCPP_TEMPLATE_VIS set;
-    template <class, class, class> friend class _LIBCPP_TEMPLATE_VIS multiset;
-};
-
-template <class _Tp, class _NodePtr, class _DiffType>
-class _LIBCPP_TEMPLATE_VIS __tree_const_iterator
-{
-    typedef __tree_node_types<_NodePtr>                     _NodeTypes;
-    typedef typename _NodeTypes::__node_pointer             __node_pointer;
-    typedef typename _NodeTypes::__node_base_pointer        __node_base_pointer;
-    typedef typename _NodeTypes::__end_node_pointer         __end_node_pointer;
-    typedef typename _NodeTypes::__iter_pointer             __iter_pointer;
-    typedef pointer_traits<__node_pointer> __pointer_traits;
-
-    __iter_pointer __ptr_;
-
-public:
-    typedef bidirectional_iterator_tag                           iterator_category;
-    typedef _Tp                                                  value_type;
-    typedef _DiffType                                            difference_type;
-    typedef const value_type&                                    reference;
-    typedef typename _NodeTypes::__const_node_value_type_pointer pointer;
-
-    _LIBCPP_INLINE_VISIBILITY __tree_const_iterator() _NOEXCEPT
-#if _LIBCPP_STD_VER > 11
-    : __ptr_(nullptr)
-#endif
-    {}
-
-private:
-    typedef __tree_iterator<value_type, __node_pointer, difference_type>
-                                                           __non_const_iterator;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_const_iterator(__non_const_iterator __p) _NOEXCEPT
-        : __ptr_(__p.__ptr_) {}
-
-    _LIBCPP_INLINE_VISIBILITY reference operator*() const
-        {return __get_np()->__value_;}
-    _LIBCPP_INLINE_VISIBILITY pointer operator->() const
-        {return pointer_traits<pointer>::pointer_to(__get_np()->__value_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_const_iterator& operator++() {
-      __ptr_ = static_cast<__iter_pointer>(
-          __tree_next_iter<__end_node_pointer>(static_cast<__node_base_pointer>(__ptr_)));
-      return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_const_iterator operator++(int)
-        {__tree_const_iterator __t(*this); ++(*this); return __t;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_const_iterator& operator--() {
-      __ptr_ = static_cast<__iter_pointer>(__tree_prev_iter<__node_base_pointer>(
-          static_cast<__end_node_pointer>(__ptr_)));
-      return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tree_const_iterator operator--(int)
-        {__tree_const_iterator __t(*this); --(*this); return __t;}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const __tree_const_iterator& __x, const __tree_const_iterator& __y)
-        {return __x.__ptr_ == __y.__ptr_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const __tree_const_iterator& __x, const __tree_const_iterator& __y)
-        {return !(__x == __y);}
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __tree_const_iterator(__node_pointer __p) _NOEXCEPT
-        : __ptr_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __tree_const_iterator(__end_node_pointer __p) _NOEXCEPT
-        : __ptr_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    __node_pointer __get_np() const { return static_cast<__node_pointer>(__ptr_); }
-
-    template <class, class, class> friend class __tree;
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS map;
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS multimap;
-    template <class, class, class> friend class _LIBCPP_TEMPLATE_VIS set;
-    template <class, class, class> friend class _LIBCPP_TEMPLATE_VIS multiset;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __map_const_iterator;
-
-};
-
-template<class _Tp, class _Compare>
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_DIAGNOSE_WARNING(!std::__invokable<_Compare const&, _Tp const&, _Tp const&>::value,
-        "the specified comparator type does not provide a viable const call operator")
-#endif
-int __diagnose_non_const_comparator();
-
-template <class _Tp, class _Compare, class _Allocator>
-class __tree
-{
-public:
-    typedef _Tp                                      value_type;
-    typedef _Compare                                 value_compare;
-    typedef _Allocator                               allocator_type;
-
-private:
-    typedef allocator_traits<allocator_type>         __alloc_traits;
-    typedef typename __make_tree_node_types<value_type,
-        typename __alloc_traits::void_pointer>::type
-                                                    _NodeTypes;
-    typedef typename _NodeTypes::key_type           key_type;
-public:
-    typedef typename _NodeTypes::__node_value_type      __node_value_type;
-    typedef typename _NodeTypes::__container_value_type __container_value_type;
-
-    typedef typename __alloc_traits::pointer         pointer;
-    typedef typename __alloc_traits::const_pointer   const_pointer;
-    typedef typename __alloc_traits::size_type       size_type;
-    typedef typename __alloc_traits::difference_type difference_type;
-
-public:
-    typedef typename _NodeTypes::__void_pointer        __void_pointer;
-
-    typedef typename _NodeTypes::__node_type           __node;
-    typedef typename _NodeTypes::__node_pointer        __node_pointer;
-
-    typedef typename _NodeTypes::__node_base_type      __node_base;
-    typedef typename _NodeTypes::__node_base_pointer   __node_base_pointer;
-
-    typedef typename _NodeTypes::__end_node_type       __end_node_t;
-    typedef typename _NodeTypes::__end_node_pointer    __end_node_ptr;
-
-    typedef typename _NodeTypes::__parent_pointer      __parent_pointer;
-    typedef typename _NodeTypes::__iter_pointer        __iter_pointer;
-
-    typedef typename __rebind_alloc_helper<__alloc_traits, __node>::type __node_allocator;
-    typedef allocator_traits<__node_allocator>         __node_traits;
-
-private:
-    // check for sane allocator pointer rebinding semantics. Rebinding the
-    // allocator for a new pointer type should be exactly the same as rebinding
-    // the pointer using 'pointer_traits'.
-    static_assert((is_same<__node_pointer, typename __node_traits::pointer>::value),
-                  "Allocator does not rebind pointers in a sane manner.");
-    typedef typename __rebind_alloc_helper<__node_traits, __node_base>::type
-        __node_base_allocator;
-    typedef allocator_traits<__node_base_allocator> __node_base_traits;
-    static_assert((is_same<__node_base_pointer, typename __node_base_traits::pointer>::value),
-                 "Allocator does not rebind pointers in a sane manner.");
-
-private:
-    __iter_pointer                                     __begin_node_;
-    __compressed_pair<__end_node_t, __node_allocator>  __pair1_;
-    __compressed_pair<size_type, value_compare>        __pair3_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __iter_pointer __end_node() _NOEXCEPT
-    {
-        return static_cast<__iter_pointer>(
-                pointer_traits<__end_node_ptr>::pointer_to(__pair1_.first())
-        );
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __iter_pointer __end_node() const _NOEXCEPT
-    {
-        return static_cast<__iter_pointer>(
-            pointer_traits<__end_node_ptr>::pointer_to(
-                const_cast<__end_node_t&>(__pair1_.first())
-            )
-        );
-    }
-    _LIBCPP_INLINE_VISIBILITY
-          __node_allocator& __node_alloc() _NOEXCEPT {return __pair1_.second();}
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    const __node_allocator& __node_alloc() const _NOEXCEPT
-        {return __pair1_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-          __iter_pointer& __begin_node() _NOEXCEPT {return __begin_node_;}
-    _LIBCPP_INLINE_VISIBILITY
-    const __iter_pointer& __begin_node() const _NOEXCEPT {return __begin_node_;}
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type __alloc() const _NOEXCEPT
-        {return allocator_type(__node_alloc());}
-private:
-    _LIBCPP_INLINE_VISIBILITY
-          size_type& size() _NOEXCEPT {return __pair3_.first();}
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    const size_type& size() const _NOEXCEPT {return __pair3_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-          value_compare& value_comp() _NOEXCEPT {return __pair3_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const value_compare& value_comp() const _NOEXCEPT
-        {return __pair3_.second();}
-public:
-
-    _LIBCPP_INLINE_VISIBILITY
-    __node_pointer __root() const _NOEXCEPT
-        {return static_cast<__node_pointer>(__end_node()->__left_);}
-
-    __node_base_pointer* __root_ptr() const _NOEXCEPT {
-        return _VSTD::addressof(__end_node()->__left_);
-    }
-
-    typedef __tree_iterator<value_type, __node_pointer, difference_type>             iterator;
-    typedef __tree_const_iterator<value_type, __node_pointer, difference_type> const_iterator;
-
-    explicit __tree(const value_compare& __comp)
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<__node_allocator>::value &&
-            is_nothrow_copy_constructible<value_compare>::value);
-    explicit __tree(const allocator_type& __a);
-    __tree(const value_compare& __comp, const allocator_type& __a);
-    __tree(const __tree& __t);
-    __tree& operator=(const __tree& __t);
-    template <class _ForwardIterator>
-        void __assign_unique(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _InputIterator>
-        void __assign_multi(_InputIterator __first, _InputIterator __last);
-#ifndef _LIBCPP_CXX03_LANG
-    __tree(__tree&& __t)
-        _NOEXCEPT_(
-            is_nothrow_move_constructible<__node_allocator>::value &&
-            is_nothrow_move_constructible<value_compare>::value);
-    __tree(__tree&& __t, const allocator_type& __a);
-    __tree& operator=(__tree&& __t)
-        _NOEXCEPT_(
-            __node_traits::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<value_compare>::value &&
-            is_nothrow_move_assignable<__node_allocator>::value);
-#endif // _LIBCPP_CXX03_LANG
-
-    ~__tree();
-
-    _LIBCPP_INLINE_VISIBILITY
-          iterator begin()  _NOEXCEPT {return       iterator(__begin_node());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT {return const_iterator(__begin_node());}
-    _LIBCPP_INLINE_VISIBILITY
-          iterator end() _NOEXCEPT {return       iterator(__end_node());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT {return const_iterator(__end_node());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT
-        {return std::min<size_type>(
-                __node_traits::max_size(__node_alloc()),
-                numeric_limits<difference_type >::max());}
-
-    void clear() _NOEXCEPT;
-
-    void swap(__tree& __t)
-#if _LIBCPP_STD_VER <= 11
-        _NOEXCEPT_(
-            __is_nothrow_swappable<value_compare>::value
-            && (!__node_traits::propagate_on_container_swap::value ||
-                 __is_nothrow_swappable<__node_allocator>::value)
-            );
-#else
-        _NOEXCEPT_(__is_nothrow_swappable<value_compare>::value);
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Key, class ..._Args>
-    pair<iterator, bool>
-    __emplace_unique_key_args(_Key const&, _Args&&... __args);
-    template <class _Key, class ..._Args>
-    iterator
-    __emplace_hint_unique_key_args(const_iterator, _Key const&, _Args&&...);
-
-    template <class... _Args>
-    pair<iterator, bool> __emplace_unique_impl(_Args&&... __args);
-
-    template <class... _Args>
-    iterator __emplace_hint_unique_impl(const_iterator __p, _Args&&... __args);
-
-    template <class... _Args>
-    iterator __emplace_multi(_Args&&... __args);
-
-    template <class... _Args>
-    iterator __emplace_hint_multi(const_iterator __p, _Args&&... __args);
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __emplace_unique(_Pp&& __x) {
-        return __emplace_unique_extract_key(_VSTD::forward<_Pp>(__x),
-                                            __can_extract_key<_Pp, key_type>());
-    }
-
-    template <class _First, class _Second>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<
-        __can_extract_map_key<_First, key_type, __container_value_type>::value,
-        pair<iterator, bool>
-    >::type __emplace_unique(_First&& __f, _Second&& __s) {
-        return __emplace_unique_key_args(__f, _VSTD::forward<_First>(__f),
-                                              _VSTD::forward<_Second>(__s));
-    }
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __emplace_unique(_Args&&... __args) {
-        return __emplace_unique_impl(_VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-    __emplace_unique_extract_key(_Pp&& __x, __extract_key_fail_tag) {
-      return __emplace_unique_impl(_VSTD::forward<_Pp>(__x));
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-    __emplace_unique_extract_key(_Pp&& __x, __extract_key_self_tag) {
-      return __emplace_unique_key_args(__x, _VSTD::forward<_Pp>(__x));
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-    __emplace_unique_extract_key(_Pp&& __x, __extract_key_first_tag) {
-      return __emplace_unique_key_args(__x.first, _VSTD::forward<_Pp>(__x));
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __emplace_hint_unique(const_iterator __p, _Pp&& __x) {
-        return __emplace_hint_unique_extract_key(__p, _VSTD::forward<_Pp>(__x),
-                                            __can_extract_key<_Pp, key_type>());
-    }
-
-    template <class _First, class _Second>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<
-        __can_extract_map_key<_First, key_type, __container_value_type>::value,
-        iterator
-    >::type __emplace_hint_unique(const_iterator __p, _First&& __f, _Second&& __s) {
-        return __emplace_hint_unique_key_args(__p, __f,
-                                              _VSTD::forward<_First>(__f),
-                                              _VSTD::forward<_Second>(__s));
-    }
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __emplace_hint_unique(const_iterator __p, _Args&&... __args) {
-        return __emplace_hint_unique_impl(__p, _VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator
-    __emplace_hint_unique_extract_key(const_iterator __p, _Pp&& __x, __extract_key_fail_tag) {
-      return __emplace_hint_unique_impl(__p, _VSTD::forward<_Pp>(__x));
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator
-    __emplace_hint_unique_extract_key(const_iterator __p, _Pp&& __x, __extract_key_self_tag) {
-      return __emplace_hint_unique_key_args(__p, __x, _VSTD::forward<_Pp>(__x));
-    }
-
-    template <class _Pp>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator
-    __emplace_hint_unique_extract_key(const_iterator __p, _Pp&& __x, __extract_key_first_tag) {
-      return __emplace_hint_unique_key_args(__p, __x.first, _VSTD::forward<_Pp>(__x));
-    }
-
-#else
-    template <class _Key, class _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __emplace_unique_key_args(_Key const&, _Args& __args);
-    template <class _Key, class _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __emplace_hint_unique_key_args(const_iterator, _Key const&, _Args&);
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __insert_unique(const __container_value_type& __v) {
-        return __emplace_unique_key_args(_NodeTypes::__get_key(__v), __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_unique(const_iterator __p, const __container_value_type& __v) {
-        return __emplace_hint_unique_key_args(__p, _NodeTypes::__get_key(__v), __v);
-    }
-
-#ifdef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_multi(const __container_value_type& __v);
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_multi(const_iterator __p, const __container_value_type& __v);
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __insert_unique(__container_value_type&& __v) {
-        return __emplace_unique_key_args(_NodeTypes::__get_key(__v), _VSTD::move(__v));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_unique(const_iterator __p, __container_value_type&& __v) {
-        return __emplace_hint_unique_key_args(__p, _NodeTypes::__get_key(__v), _VSTD::move(__v));
-    }
-
-    template <class _Vp, class = typename enable_if<
-            !is_same<typename __unconstref<_Vp>::type,
-                     __container_value_type
-            >::value
-        >::type>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __insert_unique(_Vp&& __v) {
-        return __emplace_unique(_VSTD::forward<_Vp>(__v));
-    }
-
-    template <class _Vp, class = typename enable_if<
-            !is_same<typename __unconstref<_Vp>::type,
-                     __container_value_type
-            >::value
-        >::type>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_unique(const_iterator __p, _Vp&& __v) {
-        return __emplace_hint_unique(__p, _VSTD::forward<_Vp>(__v));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_multi(__container_value_type&& __v) {
-        return __emplace_multi(_VSTD::move(__v));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_multi(const_iterator __p, __container_value_type&& __v) {
-        return __emplace_hint_multi(__p, _VSTD::move(__v));
-    }
-
-    template <class _Vp>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_multi(_Vp&& __v) {
-        return __emplace_multi(_VSTD::forward<_Vp>(__v));
-    }
-
-    template <class _Vp>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __insert_multi(const_iterator __p, _Vp&& __v) {
-        return __emplace_hint_multi(__p, _VSTD::forward<_Vp>(__v));
-    }
-
-#endif // !_LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> __node_assign_unique(const __container_value_type& __v, __node_pointer __dest);
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __node_insert_multi(__node_pointer __nd);
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __node_insert_multi(const_iterator __p, __node_pointer __nd);
-
-
-    _LIBCPP_INLINE_VISIBILITY iterator
-    __remove_node_pointer(__node_pointer) _NOEXCEPT;
-
-#if _LIBCPP_STD_VER > 14
-    template <class _NodeHandle, class _InsertReturnType>
-    _LIBCPP_INLINE_VISIBILITY
-    _InsertReturnType __node_handle_insert_unique(_NodeHandle&&);
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __node_handle_insert_unique(const_iterator, _NodeHandle&&);
-    template <class _Tree>
-    _LIBCPP_INLINE_VISIBILITY
-    void __node_handle_merge_unique(_Tree& __source);
-
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __node_handle_insert_multi(_NodeHandle&&);
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __node_handle_insert_multi(const_iterator, _NodeHandle&&);
-    template <class _Tree>
-    _LIBCPP_INLINE_VISIBILITY
-    void __node_handle_merge_multi(_Tree& __source);
-
-
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    _NodeHandle __node_handle_extract(key_type const&);
-    template <class _NodeHandle>
-    _LIBCPP_INLINE_VISIBILITY
-    _NodeHandle __node_handle_extract(const_iterator);
-#endif
-
-    iterator erase(const_iterator __p);
-    iterator erase(const_iterator __f, const_iterator __l);
-    template <class _Key>
-        size_type __erase_unique(const _Key& __k);
-    template <class _Key>
-        size_type __erase_multi(const _Key& __k);
-
-    void __insert_node_at(__parent_pointer     __parent,
-                          __node_base_pointer& __child,
-                          __node_base_pointer __new_node) _NOEXCEPT;
-
-    template <class _Key>
-        iterator find(const _Key& __v);
-    template <class _Key>
-        const_iterator find(const _Key& __v) const;
-
-    template <class _Key>
-        size_type __count_unique(const _Key& __k) const;
-    template <class _Key>
-        size_type __count_multi(const _Key& __k) const;
-
-    template <class _Key>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator lower_bound(const _Key& __v)
-            {return __lower_bound(__v, __root(), __end_node());}
-    template <class _Key>
-        iterator __lower_bound(const _Key& __v,
-                               __node_pointer __root,
-                               __iter_pointer __result);
-    template <class _Key>
-        _LIBCPP_INLINE_VISIBILITY
-        const_iterator lower_bound(const _Key& __v) const
-            {return __lower_bound(__v, __root(), __end_node());}
-    template <class _Key>
-        const_iterator __lower_bound(const _Key& __v,
-                                     __node_pointer __root,
-                                     __iter_pointer __result) const;
-    template <class _Key>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator upper_bound(const _Key& __v)
-            {return __upper_bound(__v, __root(), __end_node());}
-    template <class _Key>
-        iterator __upper_bound(const _Key& __v,
-                               __node_pointer __root,
-                               __iter_pointer __result);
-    template <class _Key>
-        _LIBCPP_INLINE_VISIBILITY
-        const_iterator upper_bound(const _Key& __v) const
-            {return __upper_bound(__v, __root(), __end_node());}
-    template <class _Key>
-        const_iterator __upper_bound(const _Key& __v,
-                                     __node_pointer __root,
-                                     __iter_pointer __result) const;
-    template <class _Key>
-        pair<iterator, iterator>
-        __equal_range_unique(const _Key& __k);
-    template <class _Key>
-        pair<const_iterator, const_iterator>
-        __equal_range_unique(const _Key& __k) const;
-
-    template <class _Key>
-        pair<iterator, iterator>
-        __equal_range_multi(const _Key& __k);
-    template <class _Key>
-        pair<const_iterator, const_iterator>
-        __equal_range_multi(const _Key& __k) const;
-
-    typedef __tree_node_destructor<__node_allocator> _Dp;
-    typedef unique_ptr<__node, _Dp> __node_holder;
-
-    __node_holder remove(const_iterator __p) _NOEXCEPT;
-private:
-    __node_base_pointer&
-        __find_leaf_low(__parent_pointer& __parent, const key_type& __v);
-    __node_base_pointer&
-        __find_leaf_high(__parent_pointer& __parent, const key_type& __v);
-    __node_base_pointer&
-        __find_leaf(const_iterator __hint,
-                    __parent_pointer& __parent, const key_type& __v);
-    // FIXME: Make this function const qualified. Unfortunetly doing so
-    // breaks existing code which uses non-const callable comparators.
-    template <class _Key>
-    __node_base_pointer&
-        __find_equal(__parent_pointer& __parent, const _Key& __v);
-    template <class _Key>
-    _LIBCPP_INLINE_VISIBILITY __node_base_pointer&
-    __find_equal(__parent_pointer& __parent, const _Key& __v) const {
-      return const_cast<__tree*>(this)->__find_equal(__parent, __v);
-    }
-    template <class _Key>
-    __node_base_pointer&
-        __find_equal(const_iterator __hint, __parent_pointer& __parent,
-                     __node_base_pointer& __dummy,
-                     const _Key& __v);
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class ..._Args>
-    __node_holder __construct_node(_Args&& ...__args);
-#else
-    __node_holder __construct_node(const __container_value_type& __v);
-#endif
-
-    void destroy(__node_pointer __nd) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __tree& __t)
-        {__copy_assign_alloc(__t, integral_constant<bool,
-             __node_traits::propagate_on_container_copy_assignment::value>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __tree& __t, true_type)
-        {
-        if (__node_alloc() != __t.__node_alloc())
-            clear();
-        __node_alloc() = __t.__node_alloc();
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __tree&, false_type) {}
-
-    void __move_assign(__tree& __t, false_type);
-    void __move_assign(__tree& __t, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<value_compare>::value &&
-                   is_nothrow_move_assignable<__node_allocator>::value);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__tree& __t)
-        _NOEXCEPT_(
-            !__node_traits::propagate_on_container_move_assignment::value ||
-            is_nothrow_move_assignable<__node_allocator>::value)
-        {__move_assign_alloc(__t, integral_constant<bool,
-             __node_traits::propagate_on_container_move_assignment::value>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__tree& __t, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value)
-        {__node_alloc() = _VSTD::move(__t.__node_alloc());}
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__tree&, false_type) _NOEXCEPT {}
-
-    struct _DetachedTreeCache {
-      _LIBCPP_INLINE_VISIBILITY
-      explicit _DetachedTreeCache(__tree *__t) _NOEXCEPT : __t_(__t),
-        __cache_root_(__detach_from_tree(__t)) {
-          __advance();
-        }
-
-      _LIBCPP_INLINE_VISIBILITY
-      __node_pointer __get() const _NOEXCEPT {
-        return __cache_elem_;
-      }
-
-      _LIBCPP_INLINE_VISIBILITY
-      void __advance() _NOEXCEPT {
-        __cache_elem_ = __cache_root_;
-        if (__cache_root_) {
-          __cache_root_ = __detach_next(__cache_root_);
-        }
-      }
-
-      _LIBCPP_INLINE_VISIBILITY
-      ~_DetachedTreeCache() {
-        __t_->destroy(__cache_elem_);
-        if (__cache_root_) {
-          while (__cache_root_->__parent_ != nullptr)
-            __cache_root_ = static_cast<__node_pointer>(__cache_root_->__parent_);
-          __t_->destroy(__cache_root_);
-        }
-      }
-
-       _DetachedTreeCache(_DetachedTreeCache const&) = delete;
-       _DetachedTreeCache& operator=(_DetachedTreeCache const&) = delete;
-
-    private:
-      _LIBCPP_INLINE_VISIBILITY
-      static __node_pointer __detach_from_tree(__tree *__t) _NOEXCEPT;
-      _LIBCPP_INLINE_VISIBILITY
-      static __node_pointer __detach_next(__node_pointer) _NOEXCEPT;
-
-      __tree *__t_;
-      __node_pointer __cache_root_;
-      __node_pointer __cache_elem_;
-    };
-
-
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS map;
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS multimap;
-};
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>::__tree(const value_compare& __comp)
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<__node_allocator>::value &&
-            is_nothrow_copy_constructible<value_compare>::value)
-    : __pair3_(0, __comp)
-{
-    __begin_node() = __end_node();
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>::__tree(const allocator_type& __a)
-    : __begin_node_(__iter_pointer()),
-      __pair1_(__second_tag(), __node_allocator(__a)),
-      __pair3_(0)
-{
-    __begin_node() = __end_node();
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>::__tree(const value_compare& __comp,
-                                           const allocator_type& __a)
-    : __begin_node_(__iter_pointer()),
-      __pair1_(__second_tag(), __node_allocator(__a)),
-      __pair3_(0, __comp)
-{
-    __begin_node() = __end_node();
-}
-
-// Precondition:  size() != 0
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::__node_pointer
-__tree<_Tp, _Compare, _Allocator>::_DetachedTreeCache::__detach_from_tree(__tree *__t) _NOEXCEPT
-{
-    __node_pointer __cache = static_cast<__node_pointer>(__t->__begin_node());
-    __t->__begin_node() = __t->__end_node();
-    __t->__end_node()->__left_->__parent_ = nullptr;
-    __t->__end_node()->__left_ = nullptr;
-    __t->size() = 0;
-    // __cache->__left_ == nullptr
-    if (__cache->__right_ != nullptr)
-        __cache = static_cast<__node_pointer>(__cache->__right_);
-    // __cache->__left_ == nullptr
-    // __cache->__right_ == nullptr
-    return __cache;
-}
-
-// Precondition:  __cache != nullptr
-//    __cache->left_ == nullptr
-//    __cache->right_ == nullptr
-//    This is no longer a red-black tree
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::__node_pointer
-__tree<_Tp, _Compare, _Allocator>::_DetachedTreeCache::__detach_next(__node_pointer __cache) _NOEXCEPT
-{
-    if (__cache->__parent_ == nullptr)
-        return nullptr;
-    if (__tree_is_left_child(static_cast<__node_base_pointer>(__cache)))
-    {
-        __cache->__parent_->__left_ = nullptr;
-        __cache = static_cast<__node_pointer>(__cache->__parent_);
-        if (__cache->__right_ == nullptr)
-            return __cache;
-        return static_cast<__node_pointer>(__tree_leaf(__cache->__right_));
-    }
-    // __cache is right child
-    __cache->__parent_unsafe()->__right_ = nullptr;
-    __cache = static_cast<__node_pointer>(__cache->__parent_);
-    if (__cache->__left_ == nullptr)
-        return __cache;
-    return static_cast<__node_pointer>(__tree_leaf(__cache->__left_));
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>&
-__tree<_Tp, _Compare, _Allocator>::operator=(const __tree& __t)
-{
-    if (this != &__t)
-    {
-        value_comp() = __t.value_comp();
-        __copy_assign_alloc(__t);
-        __assign_multi(__t.begin(), __t.end());
-    }
-    return *this;
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _ForwardIterator>
-void
-__tree<_Tp, _Compare, _Allocator>::__assign_unique(_ForwardIterator __first, _ForwardIterator __last)
-{
-    typedef iterator_traits<_ForwardIterator> _ITraits;
-    typedef typename _ITraits::value_type _ItValueType;
-    static_assert((is_same<_ItValueType, __container_value_type>::value),
-                  "__assign_unique may only be called with the containers value type");
-    static_assert(__is_forward_iterator<_ForwardIterator>::value,
-                  "__assign_unique requires a forward iterator");
-    if (size() != 0)
-    {
-        _DetachedTreeCache __cache(this);
-          for (; __cache.__get() != nullptr && __first != __last; ++__first) {
-              if (__node_assign_unique(*__first, __cache.__get()).second)
-                  __cache.__advance();
-            }
-    }
-    for (; __first != __last; ++__first)
-        __insert_unique(*__first);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _InputIterator>
-void
-__tree<_Tp, _Compare, _Allocator>::__assign_multi(_InputIterator __first, _InputIterator __last)
-{
-    typedef iterator_traits<_InputIterator> _ITraits;
-    typedef typename _ITraits::value_type _ItValueType;
-    static_assert((is_same<_ItValueType, __container_value_type>::value ||
-                  is_same<_ItValueType, __node_value_type>::value),
-                  "__assign_multi may only be called with the containers value type"
-                  " or the nodes value type");
-    if (size() != 0)
-    {
-        _DetachedTreeCache __cache(this);
-        for (; __cache.__get() && __first != __last; ++__first) {
-            __cache.__get()->__value_ = *__first;
-            __node_insert_multi(__cache.__get());
-            __cache.__advance();
-        }
-    }
-    for (; __first != __last; ++__first)
-        __insert_multi(_NodeTypes::__get_value(*__first));
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>::__tree(const __tree& __t)
-    : __begin_node_(__iter_pointer()),
-      __pair1_(__second_tag(), __node_traits::select_on_container_copy_construction(__t.__node_alloc())),
-      __pair3_(0, __t.value_comp())
-{
-    __begin_node() = __end_node();
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>::__tree(__tree&& __t)
-    _NOEXCEPT_(
-        is_nothrow_move_constructible<__node_allocator>::value &&
-        is_nothrow_move_constructible<value_compare>::value)
-    : __begin_node_(_VSTD::move(__t.__begin_node_)),
-      __pair1_(_VSTD::move(__t.__pair1_)),
-      __pair3_(_VSTD::move(__t.__pair3_))
-{
-    if (size() == 0)
-        __begin_node() = __end_node();
-    else
-    {
-        __end_node()->__left_->__parent_ = static_cast<__parent_pointer>(__end_node());
-        __t.__begin_node() = __t.__end_node();
-        __t.__end_node()->__left_ = nullptr;
-        __t.size() = 0;
-    }
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>::__tree(__tree&& __t, const allocator_type& __a)
-    : __pair1_(__second_tag(), __node_allocator(__a)),
-      __pair3_(0, _VSTD::move(__t.value_comp()))
-{
-    if (__a == __t.__alloc())
-    {
-        if (__t.size() == 0)
-            __begin_node() = __end_node();
-        else
-        {
-            __begin_node() = __t.__begin_node();
-            __end_node()->__left_ = __t.__end_node()->__left_;
-            __end_node()->__left_->__parent_ = static_cast<__parent_pointer>(__end_node());
-            size() = __t.size();
-            __t.__begin_node() = __t.__end_node();
-            __t.__end_node()->__left_ = nullptr;
-            __t.size() = 0;
-        }
-    }
-    else
-    {
-        __begin_node() = __end_node();
-    }
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-void
-__tree<_Tp, _Compare, _Allocator>::__move_assign(__tree& __t, true_type)
-    _NOEXCEPT_(is_nothrow_move_assignable<value_compare>::value &&
-               is_nothrow_move_assignable<__node_allocator>::value)
-{
-    destroy(static_cast<__node_pointer>(__end_node()->__left_));
-    __begin_node_ = __t.__begin_node_;
-    __pair1_.first() = __t.__pair1_.first();
-    __move_assign_alloc(__t);
-    __pair3_ = _VSTD::move(__t.__pair3_);
-    if (size() == 0)
-        __begin_node() = __end_node();
-    else
-    {
-        __end_node()->__left_->__parent_ = static_cast<__parent_pointer>(__end_node());
-        __t.__begin_node() = __t.__end_node();
-        __t.__end_node()->__left_ = nullptr;
-        __t.size() = 0;
-    }
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-void
-__tree<_Tp, _Compare, _Allocator>::__move_assign(__tree& __t, false_type)
-{
-    if (__node_alloc() == __t.__node_alloc())
-        __move_assign(__t, true_type());
-    else
-    {
-        value_comp() = _VSTD::move(__t.value_comp());
-        const_iterator __e = end();
-        if (size() != 0)
-        {
-            _DetachedTreeCache __cache(this);
-            while (__cache.__get() != nullptr && __t.size() != 0) {
-              __cache.__get()->__value_ = _VSTD::move(__t.remove(__t.begin())->__value_);
-              __node_insert_multi(__cache.__get());
-              __cache.__advance();
-            }
-        }
-        while (__t.size() != 0)
-            __insert_multi(__e, _NodeTypes::__move(__t.remove(__t.begin())->__value_));
-    }
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>&
-__tree<_Tp, _Compare, _Allocator>::operator=(__tree&& __t)
-    _NOEXCEPT_(
-        __node_traits::propagate_on_container_move_assignment::value &&
-        is_nothrow_move_assignable<value_compare>::value &&
-        is_nothrow_move_assignable<__node_allocator>::value)
-
-{
-    __move_assign(__t, integral_constant<bool,
-                  __node_traits::propagate_on_container_move_assignment::value>());
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Compare, class _Allocator>
-__tree<_Tp, _Compare, _Allocator>::~__tree()
-{
-    static_assert((is_copy_constructible<value_compare>::value),
-                 "Comparator must be copy-constructible.");
-  destroy(__root());
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-void
-__tree<_Tp, _Compare, _Allocator>::destroy(__node_pointer __nd) _NOEXCEPT
-{
-    if (__nd != nullptr)
-    {
-        destroy(static_cast<__node_pointer>(__nd->__left_));
-        destroy(static_cast<__node_pointer>(__nd->__right_));
-        __node_allocator& __na = __node_alloc();
-        __node_traits::destroy(__na, _NodeTypes::__get_ptr(__nd->__value_));
-        __node_traits::deallocate(__na, __nd, 1);
-    }
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-void
-__tree<_Tp, _Compare, _Allocator>::swap(__tree& __t)
-#if _LIBCPP_STD_VER <= 11
-        _NOEXCEPT_(
-            __is_nothrow_swappable<value_compare>::value
-            && (!__node_traits::propagate_on_container_swap::value ||
-                 __is_nothrow_swappable<__node_allocator>::value)
-            )
-#else
-        _NOEXCEPT_(__is_nothrow_swappable<value_compare>::value)
-#endif
-{
-    using _VSTD::swap;
-    swap(__begin_node_, __t.__begin_node_);
-    swap(__pair1_.first(), __t.__pair1_.first());
-    __swap_allocator(__node_alloc(), __t.__node_alloc());
-    __pair3_.swap(__t.__pair3_);
-    if (size() == 0)
-        __begin_node() = __end_node();
-    else
-        __end_node()->__left_->__parent_ = static_cast<__parent_pointer>(__end_node());
-    if (__t.size() == 0)
-        __t.__begin_node() = __t.__end_node();
-    else
-        __t.__end_node()->__left_->__parent_ = static_cast<__parent_pointer>(__t.__end_node());
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-void
-__tree<_Tp, _Compare, _Allocator>::clear() _NOEXCEPT
-{
-    destroy(__root());
-    size() = 0;
-    __begin_node() = __end_node();
-    __end_node()->__left_ = nullptr;
-}
-
-// Find lower_bound place to insert
-// Set __parent to parent of null leaf
-// Return reference to null leaf
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::__node_base_pointer&
-__tree<_Tp, _Compare, _Allocator>::__find_leaf_low(__parent_pointer& __parent,
-                                                   const key_type& __v)
-{
-    __node_pointer __nd = __root();
-    if (__nd != nullptr)
-    {
-        while (true)
-        {
-            if (value_comp()(__nd->__value_, __v))
-            {
-                if (__nd->__right_ != nullptr)
-                    __nd = static_cast<__node_pointer>(__nd->__right_);
-                else
-                {
-                    __parent = static_cast<__parent_pointer>(__nd);
-                    return __nd->__right_;
-                }
-            }
-            else
-            {
-                if (__nd->__left_ != nullptr)
-                    __nd = static_cast<__node_pointer>(__nd->__left_);
-                else
-                {
-                    __parent = static_cast<__parent_pointer>(__nd);
-                    return __parent->__left_;
-                }
-            }
-        }
-    }
-    __parent = static_cast<__parent_pointer>(__end_node());
-    return __parent->__left_;
-}
-
-// Find upper_bound place to insert
-// Set __parent to parent of null leaf
-// Return reference to null leaf
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::__node_base_pointer&
-__tree<_Tp, _Compare, _Allocator>::__find_leaf_high(__parent_pointer& __parent,
-                                                    const key_type& __v)
-{
-    __node_pointer __nd = __root();
-    if (__nd != nullptr)
-    {
-        while (true)
-        {
-            if (value_comp()(__v, __nd->__value_))
-            {
-                if (__nd->__left_ != nullptr)
-                    __nd = static_cast<__node_pointer>(__nd->__left_);
-                else
-                {
-                    __parent = static_cast<__parent_pointer>(__nd);
-                    return __parent->__left_;
-                }
-            }
-            else
-            {
-                if (__nd->__right_ != nullptr)
-                    __nd = static_cast<__node_pointer>(__nd->__right_);
-                else
-                {
-                    __parent = static_cast<__parent_pointer>(__nd);
-                    return __nd->__right_;
-                }
-            }
-        }
-    }
-    __parent = static_cast<__parent_pointer>(__end_node());
-    return __parent->__left_;
-}
-
-// Find leaf place to insert closest to __hint
-// First check prior to __hint.
-// Next check after __hint.
-// Next do O(log N) search.
-// Set __parent to parent of null leaf
-// Return reference to null leaf
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::__node_base_pointer&
-__tree<_Tp, _Compare, _Allocator>::__find_leaf(const_iterator __hint,
-                                               __parent_pointer& __parent,
-                                               const key_type& __v)
-{
-    if (__hint == end() || !value_comp()(*__hint, __v))  // check before
-    {
-        // __v <= *__hint
-        const_iterator __prior = __hint;
-        if (__prior == begin() || !value_comp()(__v, *--__prior))
-        {
-            // *prev(__hint) <= __v <= *__hint
-            if (__hint.__ptr_->__left_ == nullptr)
-            {
-                __parent = static_cast<__parent_pointer>(__hint.__ptr_);
-                return __parent->__left_;
-            }
-            else
-            {
-                __parent = static_cast<__parent_pointer>(__prior.__ptr_);
-                return static_cast<__node_base_pointer>(__prior.__ptr_)->__right_;
-            }
-        }
-        // __v < *prev(__hint)
-        return __find_leaf_high(__parent, __v);
-    }
-    // else __v > *__hint
-    return __find_leaf_low(__parent, __v);
-}
-
-// Find place to insert if __v doesn't exist
-// Set __parent to parent of null leaf
-// Return reference to null leaf
-// If __v exists, set parent to node of __v and return reference to node of __v
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::__node_base_pointer&
-__tree<_Tp, _Compare, _Allocator>::__find_equal(__parent_pointer& __parent,
-                                                const _Key& __v)
-{
-    __node_pointer __nd = __root();
-    __node_base_pointer* __nd_ptr = __root_ptr();
-    if (__nd != nullptr)
-    {
-        while (true)
-        {
-            if (value_comp()(__v, __nd->__value_))
-            {
-                if (__nd->__left_ != nullptr) {
-                    __nd_ptr = _VSTD::addressof(__nd->__left_);
-                    __nd = static_cast<__node_pointer>(__nd->__left_);
-                } else {
-                    __parent = static_cast<__parent_pointer>(__nd);
-                    return __parent->__left_;
-                }
-            }
-            else if (value_comp()(__nd->__value_, __v))
-            {
-                if (__nd->__right_ != nullptr) {
-                    __nd_ptr = _VSTD::addressof(__nd->__right_);
-                    __nd = static_cast<__node_pointer>(__nd->__right_);
-                } else {
-                    __parent = static_cast<__parent_pointer>(__nd);
-                    return __nd->__right_;
-                }
-            }
-            else
-            {
-                __parent = static_cast<__parent_pointer>(__nd);
-                return *__nd_ptr;
-            }
-        }
-    }
-    __parent = static_cast<__parent_pointer>(__end_node());
-    return __parent->__left_;
-}
-
-// Find place to insert if __v doesn't exist
-// First check prior to __hint.
-// Next check after __hint.
-// Next do O(log N) search.
-// Set __parent to parent of null leaf
-// Return reference to null leaf
-// If __v exists, set parent to node of __v and return reference to node of __v
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::__node_base_pointer&
-__tree<_Tp, _Compare, _Allocator>::__find_equal(const_iterator __hint,
-                                                __parent_pointer& __parent,
-                                                __node_base_pointer& __dummy,
-                                                const _Key& __v)
-{
-    if (__hint == end() || value_comp()(__v, *__hint))  // check before
-    {
-        // __v < *__hint
-        const_iterator __prior = __hint;
-        if (__prior == begin() || value_comp()(*--__prior, __v))
-        {
-            // *prev(__hint) < __v < *__hint
-            if (__hint.__ptr_->__left_ == nullptr)
-            {
-                __parent = static_cast<__parent_pointer>(__hint.__ptr_);
-                return __parent->__left_;
-            }
-            else
-            {
-                __parent = static_cast<__parent_pointer>(__prior.__ptr_);
-                return static_cast<__node_base_pointer>(__prior.__ptr_)->__right_;
-            }
-        }
-        // __v <= *prev(__hint)
-        return __find_equal(__parent, __v);
-    }
-    else if (value_comp()(*__hint, __v))  // check after
-    {
-        // *__hint < __v
-        const_iterator __next = _VSTD::next(__hint);
-        if (__next == end() || value_comp()(__v, *__next))
-        {
-            // *__hint < __v < *_VSTD::next(__hint)
-            if (__hint.__get_np()->__right_ == nullptr)
-            {
-                __parent = static_cast<__parent_pointer>(__hint.__ptr_);
-                return static_cast<__node_base_pointer>(__hint.__ptr_)->__right_;
-            }
-            else
-            {
-                __parent = static_cast<__parent_pointer>(__next.__ptr_);
-                return __parent->__left_;
-            }
-        }
-        // *next(__hint) <= __v
-        return __find_equal(__parent, __v);
-    }
-    // else __v == *__hint
-    __parent = static_cast<__parent_pointer>(__hint.__ptr_);
-    __dummy = static_cast<__node_base_pointer>(__hint.__ptr_);
-    return __dummy;
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-void __tree<_Tp, _Compare, _Allocator>::__insert_node_at(
-    __parent_pointer __parent, __node_base_pointer& __child,
-    __node_base_pointer __new_node) _NOEXCEPT
-{
-    __new_node->__left_   = nullptr;
-    __new_node->__right_  = nullptr;
-    __new_node->__parent_ = __parent;
-    // __new_node->__is_black_ is initialized in __tree_balance_after_insert
-    __child = __new_node;
-    if (__begin_node()->__left_ != nullptr)
-        __begin_node() = static_cast<__iter_pointer>(__begin_node()->__left_);
-    __tree_balance_after_insert(__end_node()->__left_, __child);
-    ++size();
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key, class... _Args>
-pair<typename __tree<_Tp, _Compare, _Allocator>::iterator, bool>
-__tree<_Tp, _Compare, _Allocator>::__emplace_unique_key_args(_Key const& __k, _Args&&... __args)
-#else
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key, class _Args>
-pair<typename __tree<_Tp, _Compare, _Allocator>::iterator, bool>
-__tree<_Tp, _Compare, _Allocator>::__emplace_unique_key_args(_Key const& __k, _Args& __args)
-#endif
-{
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_equal(__parent, __k);
-    __node_pointer __r = static_cast<__node_pointer>(__child);
-    bool __inserted = false;
-    if (__child == nullptr)
-    {
-#ifndef _LIBCPP_CXX03_LANG
-        __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-#else
-        __node_holder __h = __construct_node(__args);
-#endif
-        __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-        __r = __h.release();
-        __inserted = true;
-    }
-    return pair<iterator, bool>(iterator(__r), __inserted);
-}
-
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key, class... _Args>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__emplace_hint_unique_key_args(
-    const_iterator __p, _Key const& __k, _Args&&... __args)
-#else
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key, class _Args>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__emplace_hint_unique_key_args(
-    const_iterator __p, _Key const& __k, _Args& __args)
-#endif
-{
-    __parent_pointer __parent;
-    __node_base_pointer __dummy;
-    __node_base_pointer& __child = __find_equal(__p, __parent, __dummy, __k);
-    __node_pointer __r = static_cast<__node_pointer>(__child);
-    if (__child == nullptr)
-    {
-#ifndef _LIBCPP_CXX03_LANG
-        __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-#else
-        __node_holder __h = __construct_node(__args);
-#endif
-        __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-        __r = __h.release();
-    }
-    return iterator(__r);
-}
-
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class ..._Args>
-typename __tree<_Tp, _Compare, _Allocator>::__node_holder
-__tree<_Tp, _Compare, _Allocator>::__construct_node(_Args&& ...__args)
-{
-    static_assert(!__is_tree_value_type<_Args...>::value,
-                  "Cannot construct from __value_type");
-    __node_allocator& __na = __node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _NodeTypes::__get_ptr(__h->__value_), _VSTD::forward<_Args>(__args)...);
-    __h.get_deleter().__value_constructed = true;
-    return __h;
-}
-
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class... _Args>
-pair<typename __tree<_Tp, _Compare, _Allocator>::iterator, bool>
-__tree<_Tp, _Compare, _Allocator>::__emplace_unique_impl(_Args&&... __args)
-{
-    __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_equal(__parent, __h->__value_);
-    __node_pointer __r = static_cast<__node_pointer>(__child);
-    bool __inserted = false;
-    if (__child == nullptr)
-    {
-        __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-        __r = __h.release();
-        __inserted = true;
-    }
-    return pair<iterator, bool>(iterator(__r), __inserted);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class... _Args>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__emplace_hint_unique_impl(const_iterator __p, _Args&&... __args)
-{
-    __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-    __parent_pointer __parent;
-    __node_base_pointer __dummy;
-    __node_base_pointer& __child = __find_equal(__p, __parent, __dummy, __h->__value_);
-    __node_pointer __r = static_cast<__node_pointer>(__child);
-    if (__child == nullptr)
-    {
-        __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-        __r = __h.release();
-    }
-    return iterator(__r);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class... _Args>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__emplace_multi(_Args&&... __args)
-{
-    __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_leaf_high(__parent, _NodeTypes::__get_key(__h->__value_));
-    __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-    return iterator(static_cast<__node_pointer>(__h.release()));
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class... _Args>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__emplace_hint_multi(const_iterator __p,
-                                                        _Args&&... __args)
-{
-    __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_leaf(__p, __parent, _NodeTypes::__get_key(__h->__value_));
-    __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-    return iterator(static_cast<__node_pointer>(__h.release()));
-}
-
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::__node_holder
-__tree<_Tp, _Compare, _Allocator>::__construct_node(const __container_value_type& __v)
-{
-    __node_allocator& __na = __node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _NodeTypes::__get_ptr(__h->__value_), __v);
-    __h.get_deleter().__value_constructed = true;
-    return _LIBCPP_EXPLICIT_MOVE(__h);  // explicitly moved for C++03
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#ifdef _LIBCPP_CXX03_LANG
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__insert_multi(const __container_value_type& __v)
-{
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_leaf_high(__parent, _NodeTypes::__get_key(__v));
-    __node_holder __h = __construct_node(__v);
-    __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-    return iterator(__h.release());
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__insert_multi(const_iterator __p, const __container_value_type& __v)
-{
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_leaf(__p, __parent, _NodeTypes::__get_key(__v));
-    __node_holder __h = __construct_node(__v);
-    __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-    return iterator(__h.release());
-}
-#endif
-
-template <class _Tp, class _Compare, class _Allocator>
-pair<typename __tree<_Tp, _Compare, _Allocator>::iterator, bool>
-__tree<_Tp, _Compare, _Allocator>::__node_assign_unique(const __container_value_type& __v, __node_pointer __nd)
-{
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_equal(__parent, _NodeTypes::__get_key(__v));
-    __node_pointer __r = static_cast<__node_pointer>(__child);
-    bool __inserted = false;
-    if (__child == nullptr)
-    {
-        __nd->__value_ = __v;
-        __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__nd));
-        __r = __nd;
-        __inserted = true;
-    }
-    return pair<iterator, bool>(iterator(__r), __inserted);
-}
-
-
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__node_insert_multi(__node_pointer __nd)
-{
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_leaf_high(__parent, _NodeTypes::__get_key(__nd->__value_));
-    __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__nd));
-    return iterator(__nd);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__node_insert_multi(const_iterator __p,
-                                                       __node_pointer __nd)
-{
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_leaf(__p, __parent, _NodeTypes::__get_key(__nd->__value_));
-    __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__nd));
-    return iterator(__nd);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__remove_node_pointer(__node_pointer __ptr) _NOEXCEPT
-{
-    iterator __r(__ptr);
-    ++__r;
-    if (__begin_node() == __ptr)
-        __begin_node() = __r.__ptr_;
-    --size();
-    __tree_remove(__end_node()->__left_,
-                  static_cast<__node_base_pointer>(__ptr));
-    return __r;
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp, class _Compare, class _Allocator>
-template <class _NodeHandle, class _InsertReturnType>
-_LIBCPP_INLINE_VISIBILITY
-_InsertReturnType
-__tree<_Tp, _Compare, _Allocator>::__node_handle_insert_unique(
-    _NodeHandle&& __nh)
-{
-    if (__nh.empty())
-        return _InsertReturnType{end(), false, _NodeHandle()};
-
-    __node_pointer __ptr = __nh.__ptr_;
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_equal(__parent,
-                                                __ptr->__value_);
-    if (__child != nullptr)
-        return _InsertReturnType{
-            iterator(static_cast<__node_pointer>(__child)),
-            false, _VSTD::move(__nh)};
-
-    __insert_node_at(__parent, __child,
-                     static_cast<__node_base_pointer>(__ptr));
-    __nh.__release_ptr();
-    return _InsertReturnType{iterator(__ptr), true, _NodeHandle()};
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__node_handle_insert_unique(
-    const_iterator __hint, _NodeHandle&& __nh)
-{
-    if (__nh.empty())
-        return end();
-
-    __node_pointer __ptr = __nh.__ptr_;
-    __parent_pointer __parent;
-    __node_base_pointer __dummy;
-    __node_base_pointer& __child = __find_equal(__hint, __parent, __dummy,
-                                                __ptr->__value_);
-    __node_pointer __r = static_cast<__node_pointer>(__child);
-    if (__child == nullptr)
-    {
-        __insert_node_at(__parent, __child,
-                         static_cast<__node_base_pointer>(__ptr));
-        __r = __ptr;
-        __nh.__release_ptr();
-    }
-    return iterator(__r);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-_NodeHandle
-__tree<_Tp, _Compare, _Allocator>::__node_handle_extract(key_type const& __key)
-{
-    iterator __it = find(__key);
-    if (__it == end())
-        return _NodeHandle();
-    return __node_handle_extract<_NodeHandle>(__it);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-_NodeHandle
-__tree<_Tp, _Compare, _Allocator>::__node_handle_extract(const_iterator __p)
-{
-    __node_pointer __np = __p.__get_np();
-    __remove_node_pointer(__np);
-    return _NodeHandle(__np, __alloc());
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Tree>
-_LIBCPP_INLINE_VISIBILITY
-void
-__tree<_Tp, _Compare, _Allocator>::__node_handle_merge_unique(_Tree& __source)
-{
-    static_assert(is_same<typename _Tree::__node_pointer, __node_pointer>::value, "");
-
-    for (typename _Tree::iterator __i = __source.begin();
-         __i != __source.end();)
-    {
-        __node_pointer __src_ptr = __i.__get_np();
-        __parent_pointer __parent;
-        __node_base_pointer& __child =
-            __find_equal(__parent, _NodeTypes::__get_key(__src_ptr->__value_));
-        ++__i;
-        if (__child != nullptr)
-            continue;
-        __source.__remove_node_pointer(__src_ptr);
-        __insert_node_at(__parent, __child,
-                         static_cast<__node_base_pointer>(__src_ptr));
-    }
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__node_handle_insert_multi(_NodeHandle&& __nh)
-{
-    if (__nh.empty())
-        return end();
-    __node_pointer __ptr = __nh.__ptr_;
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_leaf_high(
-        __parent, _NodeTypes::__get_key(__ptr->__value_));
-    __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__ptr));
-    __nh.__release_ptr();
-    return iterator(__ptr);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _NodeHandle>
-_LIBCPP_INLINE_VISIBILITY
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__node_handle_insert_multi(
-    const_iterator __hint, _NodeHandle&& __nh)
-{
-    if (__nh.empty())
-        return end();
-
-    __node_pointer __ptr = __nh.__ptr_;
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __find_leaf(__hint, __parent,
-                                               _NodeTypes::__get_key(__ptr->__value_));
-    __insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__ptr));
-    __nh.__release_ptr();
-    return iterator(__ptr);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Tree>
-_LIBCPP_INLINE_VISIBILITY
-void
-__tree<_Tp, _Compare, _Allocator>::__node_handle_merge_multi(_Tree& __source)
-{
-    static_assert(is_same<typename _Tree::__node_pointer, __node_pointer>::value, "");
-
-    for (typename _Tree::iterator __i = __source.begin();
-         __i != __source.end();)
-    {
-        __node_pointer __src_ptr = __i.__get_np();
-        __parent_pointer __parent;
-        __node_base_pointer& __child = __find_leaf_high(
-            __parent, _NodeTypes::__get_key(__src_ptr->__value_));
-        ++__i;
-        __source.__remove_node_pointer(__src_ptr);
-        __insert_node_at(__parent, __child,
-                         static_cast<__node_base_pointer>(__src_ptr));
-    }
-}
-
-#endif  // _LIBCPP_STD_VER > 14
-
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::erase(const_iterator __p)
-{
-    __node_pointer __np = __p.__get_np();
-    iterator __r = __remove_node_pointer(__np);
-    __node_allocator& __na = __node_alloc();
-    __node_traits::destroy(__na, _NodeTypes::__get_ptr(
-        const_cast<__node_value_type&>(*__p)));
-    __node_traits::deallocate(__na, __np, 1);
-    return __r;
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::erase(const_iterator __f, const_iterator __l)
-{
-    while (__f != __l)
-        __f = erase(__f);
-    return iterator(__l.__ptr_);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::size_type
-__tree<_Tp, _Compare, _Allocator>::__erase_unique(const _Key& __k)
-{
-    iterator __i = find(__k);
-    if (__i == end())
-        return 0;
-    erase(__i);
-    return 1;
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::size_type
-__tree<_Tp, _Compare, _Allocator>::__erase_multi(const _Key& __k)
-{
-    pair<iterator, iterator> __p = __equal_range_multi(__k);
-    size_type __r = 0;
-    for (; __p.first != __p.second; ++__r)
-        __p.first = erase(__p.first);
-    return __r;
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::find(const _Key& __v)
-{
-    iterator __p = __lower_bound(__v, __root(), __end_node());
-    if (__p != end() && !value_comp()(__v, *__p))
-        return __p;
-    return end();
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::const_iterator
-__tree<_Tp, _Compare, _Allocator>::find(const _Key& __v) const
-{
-    const_iterator __p = __lower_bound(__v, __root(), __end_node());
-    if (__p != end() && !value_comp()(__v, *__p))
-        return __p;
-    return end();
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::size_type
-__tree<_Tp, _Compare, _Allocator>::__count_unique(const _Key& __k) const
-{
-    __node_pointer __rt = __root();
-    while (__rt != nullptr)
-    {
-        if (value_comp()(__k, __rt->__value_))
-        {
-            __rt = static_cast<__node_pointer>(__rt->__left_);
-        }
-        else if (value_comp()(__rt->__value_, __k))
-            __rt = static_cast<__node_pointer>(__rt->__right_);
-        else
-            return 1;
-    }
-    return 0;
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::size_type
-__tree<_Tp, _Compare, _Allocator>::__count_multi(const _Key& __k) const
-{
-    __iter_pointer __result = __end_node();
-    __node_pointer __rt = __root();
-    while (__rt != nullptr)
-    {
-        if (value_comp()(__k, __rt->__value_))
-        {
-            __result = static_cast<__iter_pointer>(__rt);
-            __rt = static_cast<__node_pointer>(__rt->__left_);
-        }
-        else if (value_comp()(__rt->__value_, __k))
-            __rt = static_cast<__node_pointer>(__rt->__right_);
-        else
-            return _VSTD::distance(
-                __lower_bound(__k, static_cast<__node_pointer>(__rt->__left_), static_cast<__iter_pointer>(__rt)),
-                __upper_bound(__k, static_cast<__node_pointer>(__rt->__right_), __result)
-            );
-    }
-    return 0;
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__lower_bound(const _Key& __v,
-                                                 __node_pointer __root,
-                                                 __iter_pointer __result)
-{
-    while (__root != nullptr)
-    {
-        if (!value_comp()(__root->__value_, __v))
-        {
-            __result = static_cast<__iter_pointer>(__root);
-            __root = static_cast<__node_pointer>(__root->__left_);
-        }
-        else
-            __root = static_cast<__node_pointer>(__root->__right_);
-    }
-    return iterator(__result);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::const_iterator
-__tree<_Tp, _Compare, _Allocator>::__lower_bound(const _Key& __v,
-                                                 __node_pointer __root,
-                                                 __iter_pointer __result) const
-{
-    while (__root != nullptr)
-    {
-        if (!value_comp()(__root->__value_, __v))
-        {
-            __result = static_cast<__iter_pointer>(__root);
-            __root = static_cast<__node_pointer>(__root->__left_);
-        }
-        else
-            __root = static_cast<__node_pointer>(__root->__right_);
-    }
-    return const_iterator(__result);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::iterator
-__tree<_Tp, _Compare, _Allocator>::__upper_bound(const _Key& __v,
-                                                 __node_pointer __root,
-                                                 __iter_pointer __result)
-{
-    while (__root != nullptr)
-    {
-        if (value_comp()(__v, __root->__value_))
-        {
-            __result = static_cast<__iter_pointer>(__root);
-            __root = static_cast<__node_pointer>(__root->__left_);
-        }
-        else
-            __root = static_cast<__node_pointer>(__root->__right_);
-    }
-    return iterator(__result);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-typename __tree<_Tp, _Compare, _Allocator>::const_iterator
-__tree<_Tp, _Compare, _Allocator>::__upper_bound(const _Key& __v,
-                                                 __node_pointer __root,
-                                                 __iter_pointer __result) const
-{
-    while (__root != nullptr)
-    {
-        if (value_comp()(__v, __root->__value_))
-        {
-            __result = static_cast<__iter_pointer>(__root);
-            __root = static_cast<__node_pointer>(__root->__left_);
-        }
-        else
-            __root = static_cast<__node_pointer>(__root->__right_);
-    }
-    return const_iterator(__result);
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-pair<typename __tree<_Tp, _Compare, _Allocator>::iterator,
-     typename __tree<_Tp, _Compare, _Allocator>::iterator>
-__tree<_Tp, _Compare, _Allocator>::__equal_range_unique(const _Key& __k)
-{
-    typedef pair<iterator, iterator> _Pp;
-    __iter_pointer __result = __end_node();
-    __node_pointer __rt = __root();
-    while (__rt != nullptr)
-    {
-        if (value_comp()(__k, __rt->__value_))
-        {
-            __result = static_cast<__iter_pointer>(__rt);
-            __rt = static_cast<__node_pointer>(__rt->__left_);
-        }
-        else if (value_comp()(__rt->__value_, __k))
-            __rt = static_cast<__node_pointer>(__rt->__right_);
-        else
-            return _Pp(iterator(__rt),
-                      iterator(
-                          __rt->__right_ != nullptr ?
-                              static_cast<__iter_pointer>(__tree_min(__rt->__right_))
-                            : __result));
-    }
-    return _Pp(iterator(__result), iterator(__result));
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-pair<typename __tree<_Tp, _Compare, _Allocator>::const_iterator,
-     typename __tree<_Tp, _Compare, _Allocator>::const_iterator>
-__tree<_Tp, _Compare, _Allocator>::__equal_range_unique(const _Key& __k) const
-{
-    typedef pair<const_iterator, const_iterator> _Pp;
-    __iter_pointer __result = __end_node();
-    __node_pointer __rt = __root();
-    while (__rt != nullptr)
-    {
-        if (value_comp()(__k, __rt->__value_))
-        {
-            __result = static_cast<__iter_pointer>(__rt);
-            __rt = static_cast<__node_pointer>(__rt->__left_);
-        }
-        else if (value_comp()(__rt->__value_, __k))
-            __rt = static_cast<__node_pointer>(__rt->__right_);
-        else
-            return _Pp(const_iterator(__rt),
-                      const_iterator(
-                          __rt->__right_ != nullptr ?
-                              static_cast<__iter_pointer>(__tree_min(__rt->__right_))
-                            : __result));
-    }
-    return _Pp(const_iterator(__result), const_iterator(__result));
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-pair<typename __tree<_Tp, _Compare, _Allocator>::iterator,
-     typename __tree<_Tp, _Compare, _Allocator>::iterator>
-__tree<_Tp, _Compare, _Allocator>::__equal_range_multi(const _Key& __k)
-{
-    typedef pair<iterator, iterator> _Pp;
-    __iter_pointer __result = __end_node();
-    __node_pointer __rt = __root();
-    while (__rt != nullptr)
-    {
-        if (value_comp()(__k, __rt->__value_))
-        {
-            __result = static_cast<__iter_pointer>(__rt);
-            __rt = static_cast<__node_pointer>(__rt->__left_);
-        }
-        else if (value_comp()(__rt->__value_, __k))
-            __rt = static_cast<__node_pointer>(__rt->__right_);
-        else
-            return _Pp(__lower_bound(__k, static_cast<__node_pointer>(__rt->__left_), static_cast<__iter_pointer>(__rt)),
-                      __upper_bound(__k, static_cast<__node_pointer>(__rt->__right_), __result));
-    }
-    return _Pp(iterator(__result), iterator(__result));
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-template <class _Key>
-pair<typename __tree<_Tp, _Compare, _Allocator>::const_iterator,
-     typename __tree<_Tp, _Compare, _Allocator>::const_iterator>
-__tree<_Tp, _Compare, _Allocator>::__equal_range_multi(const _Key& __k) const
-{
-    typedef pair<const_iterator, const_iterator> _Pp;
-    __iter_pointer __result = __end_node();
-    __node_pointer __rt = __root();
-    while (__rt != nullptr)
-    {
-        if (value_comp()(__k, __rt->__value_))
-        {
-            __result = static_cast<__iter_pointer>(__rt);
-            __rt = static_cast<__node_pointer>(__rt->__left_);
-        }
-        else if (value_comp()(__rt->__value_, __k))
-            __rt = static_cast<__node_pointer>(__rt->__right_);
-        else
-            return _Pp(__lower_bound(__k, static_cast<__node_pointer>(__rt->__left_), static_cast<__iter_pointer>(__rt)),
-                      __upper_bound(__k, static_cast<__node_pointer>(__rt->__right_), __result));
-    }
-    return _Pp(const_iterator(__result), const_iterator(__result));
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-typename __tree<_Tp, _Compare, _Allocator>::__node_holder
-__tree<_Tp, _Compare, _Allocator>::remove(const_iterator __p) _NOEXCEPT
-{
-    __node_pointer __np = __p.__get_np();
-    if (__begin_node() == __p.__ptr_)
-    {
-        if (__np->__right_ != nullptr)
-            __begin_node() = static_cast<__iter_pointer>(__np->__right_);
-        else
-            __begin_node() = static_cast<__iter_pointer>(__np->__parent_);
-    }
-    --size();
-    __tree_remove(__end_node()->__left_,
-                  static_cast<__node_base_pointer>(__np));
-    return __node_holder(__np, _Dp(__node_alloc(), true));
-}
-
-template <class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__tree<_Tp, _Compare, _Allocator>& __x,
-     __tree<_Tp, _Compare, _Allocator>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP___TREE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/__tuple b/r21/sources/cxx-stl/llvm-libc++/include/__tuple
deleted file mode 100644
index 196f3c2..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/__tuple
+++ /dev/null
@@ -1,550 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___TUPLE
-#define _LIBCPP___TUPLE
-
-#include <__config>
-#include <cstddef>
-#include <type_traits>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS tuple_size;
-
-#if !defined(_LIBCPP_CXX03_LANG)
-template <class _Tp, class...>
-using __enable_if_tuple_size_imp = _Tp;
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp<
-    const _Tp,
-    typename enable_if<!is_volatile<_Tp>::value>::type,
-    integral_constant<size_t, sizeof(tuple_size<_Tp>)>>>
-    : public integral_constant<size_t, tuple_size<_Tp>::value> {};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp<
-    volatile _Tp,
-    typename enable_if<!is_const<_Tp>::value>::type,
-    integral_constant<size_t, sizeof(tuple_size<_Tp>)>>>
-    : public integral_constant<size_t, tuple_size<_Tp>::value> {};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp<
-    const volatile _Tp,
-    integral_constant<size_t, sizeof(tuple_size<_Tp>)>>>
-    : public integral_constant<size_t, tuple_size<_Tp>::value> {};
-
-#else
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS tuple_size<const _Tp> : public tuple_size<_Tp> {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS tuple_size<volatile _Tp> : public tuple_size<_Tp> {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS tuple_size<const volatile _Tp> : public tuple_size<_Tp> {};
-#endif
-
-template <size_t _Ip, class _Tp> struct _LIBCPP_TEMPLATE_VIS tuple_element;
-
-template <size_t _Ip, class _Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const _Tp>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename add_const<typename tuple_element<_Ip, _Tp>::type>::type type;
-};
-
-template <size_t _Ip, class _Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, volatile _Tp>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename add_volatile<typename tuple_element<_Ip, _Tp>::type>::type type;
-};
-
-template <size_t _Ip, class _Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const volatile _Tp>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename add_cv<typename tuple_element<_Ip, _Tp>::type>::type type;
-};
-
-template <class _Tp> struct __tuple_like : false_type {};
-
-template <class _Tp> struct __tuple_like<const _Tp> : public __tuple_like<_Tp> {};
-template <class _Tp> struct __tuple_like<volatile _Tp> : public __tuple_like<_Tp> {};
-template <class _Tp> struct __tuple_like<const volatile _Tp> : public __tuple_like<_Tp> {};
-
-// tuple specializations
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <size_t...> struct __tuple_indices {};
-
-template <class _IdxType, _IdxType... _Values>
-struct __integer_sequence {
-  template <template <class _OIdxType, _OIdxType...> class _ToIndexSeq, class _ToIndexType>
-  using __convert = _ToIndexSeq<_ToIndexType, _Values...>;
-
-  template <size_t _Sp>
-  using __to_tuple_indices = __tuple_indices<(_Values + _Sp)...>;
-};
-
-#if !__has_builtin(__make_integer_seq) || defined(_LIBCPP_TESTING_FALLBACK_MAKE_INTEGER_SEQUENCE)
-namespace __detail {
-
-template<typename _Tp, size_t ..._Extra> struct __repeat;
-template<typename _Tp, _Tp ..._Np, size_t ..._Extra> struct __repeat<__integer_sequence<_Tp, _Np...>, _Extra...> {
-  typedef _LIBCPP_NODEBUG_TYPE __integer_sequence<_Tp,
-                           _Np...,
-                           sizeof...(_Np) + _Np...,
-                           2 * sizeof...(_Np) + _Np...,
-                           3 * sizeof...(_Np) + _Np...,
-                           4 * sizeof...(_Np) + _Np...,
-                           5 * sizeof...(_Np) + _Np...,
-                           6 * sizeof...(_Np) + _Np...,
-                           7 * sizeof...(_Np) + _Np...,
-                           _Extra...> type;
-};
-
-template<size_t _Np> struct __parity;
-template<size_t _Np> struct __make : __parity<_Np % 8>::template __pmake<_Np> {};
-
-template<> struct __make<0> { typedef __integer_sequence<size_t> type; };
-template<> struct __make<1> { typedef __integer_sequence<size_t, 0> type; };
-template<> struct __make<2> { typedef __integer_sequence<size_t, 0, 1> type; };
-template<> struct __make<3> { typedef __integer_sequence<size_t, 0, 1, 2> type; };
-template<> struct __make<4> { typedef __integer_sequence<size_t, 0, 1, 2, 3> type; };
-template<> struct __make<5> { typedef __integer_sequence<size_t, 0, 1, 2, 3, 4> type; };
-template<> struct __make<6> { typedef __integer_sequence<size_t, 0, 1, 2, 3, 4, 5> type; };
-template<> struct __make<7> { typedef __integer_sequence<size_t, 0, 1, 2, 3, 4, 5, 6> type; };
-
-template<> struct __parity<0> { template<size_t _Np> struct __pmake : __repeat<typename __make<_Np / 8>::type> {}; };
-template<> struct __parity<1> { template<size_t _Np> struct __pmake : __repeat<typename __make<_Np / 8>::type, _Np - 1> {}; };
-template<> struct __parity<2> { template<size_t _Np> struct __pmake : __repeat<typename __make<_Np / 8>::type, _Np - 2, _Np - 1> {}; };
-template<> struct __parity<3> { template<size_t _Np> struct __pmake : __repeat<typename __make<_Np / 8>::type, _Np - 3, _Np - 2, _Np - 1> {}; };
-template<> struct __parity<4> { template<size_t _Np> struct __pmake : __repeat<typename __make<_Np / 8>::type, _Np - 4, _Np - 3, _Np - 2, _Np - 1> {}; };
-template<> struct __parity<5> { template<size_t _Np> struct __pmake : __repeat<typename __make<_Np / 8>::type, _Np - 5, _Np - 4, _Np - 3, _Np - 2, _Np - 1> {}; };
-template<> struct __parity<6> { template<size_t _Np> struct __pmake : __repeat<typename __make<_Np / 8>::type, _Np - 6, _Np - 5, _Np - 4, _Np - 3, _Np - 2, _Np - 1> {}; };
-template<> struct __parity<7> { template<size_t _Np> struct __pmake : __repeat<typename __make<_Np / 8>::type, _Np - 7, _Np - 6, _Np - 5, _Np - 4, _Np - 3, _Np - 2, _Np - 1> {}; };
-
-} // namespace detail
-
-#endif  // !__has_builtin(__make_integer_seq) || defined(_LIBCPP_TESTING_FALLBACK_MAKE_INTEGER_SEQUENCE)
-
-#if __has_builtin(__make_integer_seq)
-template <size_t _Ep, size_t _Sp>
-using __make_indices_imp =
-    typename __make_integer_seq<__integer_sequence, size_t, _Ep - _Sp>::template
-    __to_tuple_indices<_Sp>;
-#else
-template <size_t _Ep, size_t _Sp>
-using __make_indices_imp =
-    typename __detail::__make<_Ep - _Sp>::type::template __to_tuple_indices<_Sp>;
-
-#endif
-
-template <size_t _Ep, size_t _Sp = 0>
-struct __make_tuple_indices
-{
-    static_assert(_Sp <= _Ep, "__make_tuple_indices input error");
-    typedef __make_indices_imp<_Ep, _Sp> type;
-};
-
-
-template <class ..._Tp> class _LIBCPP_TEMPLATE_VIS tuple;
-
-template <class... _Tp> struct __tuple_like<tuple<_Tp...> > : true_type {};
-
-template <class ..._Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_size<tuple<_Tp...> >
-    : public integral_constant<size_t, sizeof...(_Tp)>
-{
-};
-
-template <size_t _Ip, class ..._Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename tuple_element<_Ip, tuple<_Tp...> >::type&
-get(tuple<_Tp...>&) _NOEXCEPT;
-
-template <size_t _Ip, class ..._Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const typename tuple_element<_Ip, tuple<_Tp...> >::type&
-get(const tuple<_Tp...>&) _NOEXCEPT;
-
-template <size_t _Ip, class ..._Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename tuple_element<_Ip, tuple<_Tp...> >::type&&
-get(tuple<_Tp...>&&) _NOEXCEPT;
-
-template <size_t _Ip, class ..._Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const typename tuple_element<_Ip, tuple<_Tp...> >::type&&
-get(const tuple<_Tp...>&&) _NOEXCEPT;
-
-#endif // !defined(_LIBCPP_CXX03_LANG)
-
-// pair specializations
-
-template <class _T1, class _T2> struct __tuple_like<pair<_T1, _T2> > : true_type {};
-
-template <size_t _Ip, class _T1, class _T2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename tuple_element<_Ip, pair<_T1, _T2> >::type&
-get(pair<_T1, _T2>&) _NOEXCEPT;
-
-template <size_t _Ip, class _T1, class _T2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const typename tuple_element<_Ip, pair<_T1, _T2> >::type&
-get(const pair<_T1, _T2>&) _NOEXCEPT;
-
-#ifndef _LIBCPP_CXX03_LANG
-template <size_t _Ip, class _T1, class _T2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename tuple_element<_Ip, pair<_T1, _T2> >::type&&
-get(pair<_T1, _T2>&&) _NOEXCEPT;
-
-template <size_t _Ip, class _T1, class _T2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const typename tuple_element<_Ip, pair<_T1, _T2> >::type&&
-get(const pair<_T1, _T2>&&) _NOEXCEPT;
-#endif
-
-// array specializations
-
-template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
-
-template <class _Tp, size_t _Size> struct __tuple_like<array<_Tp, _Size> > : true_type {};
-
-template <size_t _Ip, class _Tp, size_t _Size>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp&
-get(array<_Tp, _Size>&) _NOEXCEPT;
-
-template <size_t _Ip, class _Tp, size_t _Size>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Tp&
-get(const array<_Tp, _Size>&) _NOEXCEPT;
-
-#ifndef _LIBCPP_CXX03_LANG
-template <size_t _Ip, class _Tp, size_t _Size>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp&&
-get(array<_Tp, _Size>&&) _NOEXCEPT;
-
-template <size_t _Ip, class _Tp, size_t _Size>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Tp&&
-get(const array<_Tp, _Size>&&) _NOEXCEPT;
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-// __tuple_types
-
-template <class ..._Tp> struct __tuple_types {};
-
-#if !__has_builtin(__type_pack_element)
-
-namespace __indexer_detail {
-
-template <size_t _Idx, class _Tp>
-struct __indexed { using type _LIBCPP_NODEBUG_TYPE = _Tp; };
-
-template <class _Types, class _Indexes> struct __indexer;
-
-template <class ..._Types, size_t ..._Idx>
-struct __indexer<__tuple_types<_Types...>, __tuple_indices<_Idx...>>
-    : __indexed<_Idx, _Types>...
-{};
-
-template <size_t _Idx, class _Tp>
-__indexed<_Idx, _Tp> __at_index(__indexed<_Idx, _Tp> const&);
-
-} // namespace __indexer_detail
-
-template <size_t _Idx, class ..._Types>
-using __type_pack_element _LIBCPP_NODEBUG_TYPE = typename decltype(
-    __indexer_detail::__at_index<_Idx>(
-        __indexer_detail::__indexer<
-            __tuple_types<_Types...>,
-            typename __make_tuple_indices<sizeof...(_Types)>::type
-        >{})
-  )::type;
-#endif
-
-template <size_t _Ip, class ..._Types>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, __tuple_types<_Types...>>
-{
-    static_assert(_Ip < sizeof...(_Types), "tuple_element index out of range");
-    typedef _LIBCPP_NODEBUG_TYPE __type_pack_element<_Ip, _Types...> type;
-};
-
-
-template <class ..._Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_size<__tuple_types<_Tp...> >
-    : public integral_constant<size_t, sizeof...(_Tp)>
-{
-};
-
-template <class... _Tp> struct __tuple_like<__tuple_types<_Tp...> > : true_type {};
-
-template <bool _ApplyLV, bool _ApplyConst, bool _ApplyVolatile>
-struct __apply_cv_mf;
-template <>
-struct __apply_cv_mf<false, false, false> {
-  template <class _Tp> using __apply = _Tp;
-};
-template <>
-struct __apply_cv_mf<false, true, false> {
-  template <class _Tp> using __apply _LIBCPP_NODEBUG_TYPE  = const _Tp;
-};
-template <>
-struct __apply_cv_mf<false, false, true> {
-  template <class _Tp> using __apply _LIBCPP_NODEBUG_TYPE  = volatile _Tp;
-};
-template <>
-struct __apply_cv_mf<false, true, true> {
-  template <class _Tp> using __apply _LIBCPP_NODEBUG_TYPE  = const volatile _Tp;
-};
-template <>
-struct __apply_cv_mf<true, false, false> {
-  template <class _Tp> using __apply _LIBCPP_NODEBUG_TYPE  = _Tp&;
-};
-template <>
-struct __apply_cv_mf<true, true, false> {
-  template <class _Tp> using __apply _LIBCPP_NODEBUG_TYPE  = const _Tp&;
-};
-template <>
-struct __apply_cv_mf<true, false, true> {
-  template <class _Tp> using __apply _LIBCPP_NODEBUG_TYPE  = volatile _Tp&;
-};
-template <>
-struct __apply_cv_mf<true, true, true> {
-  template <class _Tp> using __apply _LIBCPP_NODEBUG_TYPE = const volatile _Tp&;
-};
-template <class _Tp, class _RawTp = typename remove_reference<_Tp>::type>
-using __apply_cv_t _LIBCPP_NODEBUG_TYPE  = __apply_cv_mf<
-    is_lvalue_reference<_Tp>::value,
-    is_const<_RawTp>::value,
-    is_volatile<_RawTp>::value>;
-
-// __make_tuple_types
-
-// __make_tuple_types<_Tuple<_Types...>, _Ep, _Sp>::type is a
-// __tuple_types<_Types...> using only those _Types in the range [_Sp, _Ep).
-// _Sp defaults to 0 and _Ep defaults to tuple_size<_Tuple>.  If _Tuple is a
-// lvalue_reference type, then __tuple_types<_Types&...> is the result.
-
-template <class _TupleTypes, class _TupleIndices>
-struct __make_tuple_types_flat;
-
-template <template <class...> class _Tuple, class ..._Types, size_t ..._Idx>
-struct __make_tuple_types_flat<_Tuple<_Types...>, __tuple_indices<_Idx...>> {
-  // Specialization for pair, tuple, and __tuple_types
-  template <class _Tp, class _ApplyFn = __apply_cv_t<_Tp>>
-  using __apply_quals _LIBCPP_NODEBUG_TYPE = __tuple_types<
-      typename _ApplyFn::template __apply<__type_pack_element<_Idx, _Types...>>...
-    >;
-};
-
-template <class _Vt, size_t _Np, size_t ..._Idx>
-struct __make_tuple_types_flat<array<_Vt, _Np>, __tuple_indices<_Idx...>> {
-  template <size_t>
-  using __value_type = _Vt;
-  template <class _Tp, class _ApplyFn = __apply_cv_t<_Tp>>
-  using __apply_quals = __tuple_types<
-      typename _ApplyFn::template __apply<__value_type<_Idx>>...
-    >;
-};
-
-template <class _Tp, size_t _Ep = tuple_size<typename remove_reference<_Tp>::type>::value,
-          size_t _Sp = 0,
-          bool _SameSize = (_Ep == tuple_size<typename remove_reference<_Tp>::type>::value)>
-struct __make_tuple_types
-{
-    static_assert(_Sp <= _Ep, "__make_tuple_types input error");
-    using _RawTp = typename remove_cv<typename remove_reference<_Tp>::type>::type;
-    using _Maker = __make_tuple_types_flat<_RawTp, typename __make_tuple_indices<_Ep, _Sp>::type>;
-    using type = typename _Maker::template __apply_quals<_Tp>;
-};
-
-template <class ..._Types, size_t _Ep>
-struct __make_tuple_types<tuple<_Types...>, _Ep, 0, true> {
-  typedef _LIBCPP_NODEBUG_TYPE __tuple_types<_Types...> type;
-};
-
-template <class ..._Types, size_t _Ep>
-struct __make_tuple_types<__tuple_types<_Types...>, _Ep, 0, true> {
-  typedef _LIBCPP_NODEBUG_TYPE __tuple_types<_Types...> type;
-};
-
-template <bool ..._Preds>
-struct __all_dummy;
-
-template <bool ..._Pred>
-using __all = _IsSame<__all_dummy<_Pred...>, __all_dummy<((void)_Pred, true)...>>;
-
-struct __tuple_sfinae_base {
-  template <template <class, class...> class _Trait,
-            class ..._LArgs, class ..._RArgs>
-  static auto __do_test(__tuple_types<_LArgs...>, __tuple_types<_RArgs...>)
-    -> __all<typename enable_if<_Trait<_LArgs, _RArgs>::value, bool>::type{true}...>;
-  template <template <class...> class>
-  static auto __do_test(...) -> false_type;
-
-  template <class _FromArgs, class _ToArgs>
-  using __constructible = decltype(__do_test<is_constructible>(_ToArgs{}, _FromArgs{}));
-  template <class _FromArgs, class _ToArgs>
-  using __convertible = decltype(__do_test<is_convertible>(_FromArgs{}, _ToArgs{}));
-  template <class _FromArgs, class _ToArgs>
-  using __assignable = decltype(__do_test<is_assignable>(_ToArgs{}, _FromArgs{}));
-};
-
-// __tuple_convertible
-
-template <class _Tp, class _Up, bool = __tuple_like<typename remove_reference<_Tp>::type>::value,
-                                bool = __tuple_like<_Up>::value>
-struct __tuple_convertible
-    : public false_type {};
-
-template <class _Tp, class _Up>
-struct __tuple_convertible<_Tp, _Up, true, true>
-    : public __tuple_sfinae_base::__convertible<
-      typename __make_tuple_types<_Tp>::type
-    , typename __make_tuple_types<_Up>::type
-    >
-{};
-
-// __tuple_constructible
-
-template <class _Tp, class _Up, bool = __tuple_like<typename remove_reference<_Tp>::type>::value,
-                                bool = __tuple_like<_Up>::value>
-struct __tuple_constructible
-    : public false_type {};
-
-template <class _Tp, class _Up>
-struct __tuple_constructible<_Tp, _Up, true, true>
-    : public __tuple_sfinae_base::__constructible<
-      typename __make_tuple_types<_Tp>::type
-    , typename __make_tuple_types<_Up>::type
-    >
-{};
-
-// __tuple_assignable
-
-template <class _Tp, class _Up, bool = __tuple_like<typename remove_reference<_Tp>::type>::value,
-                                bool = __tuple_like<_Up>::value>
-struct __tuple_assignable
-    : public false_type {};
-
-template <class _Tp, class _Up>
-struct __tuple_assignable<_Tp, _Up, true, true>
-    : public __tuple_sfinae_base::__assignable<
-      typename __make_tuple_types<_Tp>::type
-    , typename __make_tuple_types<_Up&>::type
-    >
-{};
-
-
-template <size_t _Ip, class ..._Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, tuple<_Tp...> >
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <size_t _Ip, class ..._Tp>
-using tuple_element_t _LIBCPP_NODEBUG_TYPE  = typename tuple_element <_Ip, _Tp...>::type;
-#endif
-
-template <bool _IsTuple, class _SizeTrait, size_t _Expected>
-struct __tuple_like_with_size_imp : false_type {};
-
-template <class _SizeTrait, size_t _Expected>
-struct __tuple_like_with_size_imp<true, _SizeTrait, _Expected>
-    : integral_constant<bool, _SizeTrait::value == _Expected> {};
-
-template <class _Tuple, size_t _ExpectedSize,
-          class _RawTuple = typename __uncvref<_Tuple>::type>
-using __tuple_like_with_size _LIBCPP_NODEBUG_TYPE = __tuple_like_with_size_imp<
-                                   __tuple_like<_RawTuple>::value,
-                                   tuple_size<_RawTuple>, _ExpectedSize
-                              >;
-
-struct _LIBCPP_TYPE_VIS __check_tuple_constructor_fail {
-    template <class ...>
-    static constexpr bool __enable_default() { return false; }
-    template <class ...>
-    static constexpr bool __enable_explicit() { return false; }
-    template <class ...>
-    static constexpr bool __enable_implicit() { return false; }
-    template <class ...>
-    static constexpr bool __enable_assign() { return false; }
-};
-#endif // !defined(_LIBCPP_CXX03_LANG)
-
-#if _LIBCPP_STD_VER > 14
-
-template <bool _CanCopy, bool _CanMove>
-struct __sfinae_ctor_base {};
-template <>
-struct __sfinae_ctor_base<false, false> {
-  __sfinae_ctor_base() = default;
-  __sfinae_ctor_base(__sfinae_ctor_base const&) = delete;
-  __sfinae_ctor_base(__sfinae_ctor_base &&) = delete;
-  __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default;
-  __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default;
-};
-template <>
-struct __sfinae_ctor_base<true, false> {
-  __sfinae_ctor_base() = default;
-  __sfinae_ctor_base(__sfinae_ctor_base const&) = default;
-  __sfinae_ctor_base(__sfinae_ctor_base &&) = delete;
-  __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default;
-  __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default;
-};
-template <>
-struct __sfinae_ctor_base<false, true> {
-  __sfinae_ctor_base() = default;
-  __sfinae_ctor_base(__sfinae_ctor_base const&) = delete;
-  __sfinae_ctor_base(__sfinae_ctor_base &&) = default;
-  __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default;
-  __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default;
-};
-
-template <bool _CanCopy, bool _CanMove>
-struct __sfinae_assign_base {};
-template <>
-struct __sfinae_assign_base<false, false> {
-  __sfinae_assign_base() = default;
-  __sfinae_assign_base(__sfinae_assign_base const&) = default;
-  __sfinae_assign_base(__sfinae_assign_base &&) = default;
-  __sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete;
-  __sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete;
-};
-template <>
-struct __sfinae_assign_base<true, false> {
-  __sfinae_assign_base() = default;
-  __sfinae_assign_base(__sfinae_assign_base const&) = default;
-  __sfinae_assign_base(__sfinae_assign_base &&) = default;
-  __sfinae_assign_base& operator=(__sfinae_assign_base const&) = default;
-  __sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete;
-};
-template <>
-struct __sfinae_assign_base<false, true> {
-  __sfinae_assign_base() = default;
-  __sfinae_assign_base(__sfinae_assign_base const&) = default;
-  __sfinae_assign_base(__sfinae_assign_base &&) = default;
-  __sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete;
-  __sfinae_assign_base& operator=(__sfinae_assign_base&&) = default;
-};
-#endif // _LIBCPP_STD_VER > 14
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP___TUPLE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/algorithm b/r21/sources/cxx-stl/llvm-libc++/include/algorithm
deleted file mode 100644
index 55ea5eb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/algorithm
+++ /dev/null
@@ -1,5685 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- algorithm ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_ALGORITHM
-#define _LIBCPP_ALGORITHM
-
-/*
-    algorithm synopsis
-
-#include <initializer_list>
-
-namespace std
-{
-
-template <class InputIterator, class Predicate>
-    constexpr bool     // constexpr in C++20
-    all_of(InputIterator first, InputIterator last, Predicate pred);
-
-template <class InputIterator, class Predicate>
-    constexpr bool     // constexpr in C++20
-    any_of(InputIterator first, InputIterator last, Predicate pred);
-
-template <class InputIterator, class Predicate>
-    constexpr bool     // constexpr in C++20
-    none_of(InputIterator first, InputIterator last, Predicate pred);
-
-template <class InputIterator, class Function>
-    constexpr Function          // constexpr in C++20
-    for_each(InputIterator first, InputIterator last, Function f);
-
-template<class InputIterator, class Size, class Function>
-    constexpr InputIterator     // constexpr in C++20
-    for_each_n(InputIterator first, Size n, Function f); // C++17
-
-template <class InputIterator, class T>
-    constexpr InputIterator     // constexpr in C++20
-    find(InputIterator first, InputIterator last, const T& value);
-
-template <class InputIterator, class Predicate>
-    constexpr InputIterator     // constexpr in C++20
-    find_if(InputIterator first, InputIterator last, Predicate pred);
-
-template<class InputIterator, class Predicate>
-    InputIterator               // constexpr in C++20
-    find_if_not(InputIterator first, InputIterator last, Predicate pred);
-
-template <class ForwardIterator1, class ForwardIterator2>
-    ForwardIterator1            // constexpr in C++20
-    find_end(ForwardIterator1 first1, ForwardIterator1 last1,
-             ForwardIterator2 first2, ForwardIterator2 last2);
-
-template <class ForwardIterator1, class ForwardIterator2, class BinaryPredicate>
-    ForwardIterator1            // constexpr in C++20
-    find_end(ForwardIterator1 first1, ForwardIterator1 last1,
-             ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred);
-
-template <class ForwardIterator1, class ForwardIterator2>
-    constexpr ForwardIterator1  // constexpr in C++20
-    find_first_of(ForwardIterator1 first1, ForwardIterator1 last1,
-                  ForwardIterator2 first2, ForwardIterator2 last2);
-
-template <class ForwardIterator1, class ForwardIterator2, class BinaryPredicate>
-    constexpr ForwardIterator1  // constexpr in C++20
-    find_first_of(ForwardIterator1 first1, ForwardIterator1 last1,
-                  ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred);
-
-template <class ForwardIterator>
-    constexpr ForwardIterator   // constexpr in C++20
-    adjacent_find(ForwardIterator first, ForwardIterator last);
-
-template <class ForwardIterator, class BinaryPredicate>
-    constexpr ForwardIterator   // constexpr in C++20
-    adjacent_find(ForwardIterator first, ForwardIterator last, BinaryPredicate pred);
-
-template <class InputIterator, class T>
-    constexpr typename iterator_traits<InputIterator>::difference_type  // constexpr in C++20
-    count(InputIterator first, InputIterator last, const T& value);
-
-template <class InputIterator, class Predicate>
-    constexpr typename iterator_traits<InputIterator>::difference_type // constexpr in C++20
-    count_if(InputIterator first, InputIterator last, Predicate pred);
-
-template <class InputIterator1, class InputIterator2>
-    constexpr pair<InputIterator1, InputIterator2>   // constexpr in C++20
-    mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2);
-
-template <class InputIterator1, class InputIterator2>
-    constexpr pair<InputIterator1, InputIterator2>   // constexpr in C++20
-    mismatch(InputIterator1 first1, InputIterator1 last1,
-             InputIterator2 first2, InputIterator2 last2); // **C++14**
-
-template <class InputIterator1, class InputIterator2, class BinaryPredicate>
-    constexpr pair<InputIterator1, InputIterator2>   // constexpr in C++20
-    mismatch(InputIterator1 first1, InputIterator1 last1,
-             InputIterator2 first2, BinaryPredicate pred);
-
-template <class InputIterator1, class InputIterator2, class BinaryPredicate>
-    constexpr pair<InputIterator1, InputIterator2>   // constexpr in C++20
-    mismatch(InputIterator1 first1, InputIterator1 last1,
-             InputIterator2 first2, InputIterator2 last2,
-             BinaryPredicate pred); // **C++14**
-
-template <class InputIterator1, class InputIterator2>
-    constexpr bool      // constexpr in C++20
-    equal(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2);
-
-template <class InputIterator1, class InputIterator2>
-    constexpr bool      // constexpr in C++20
-    equal(InputIterator1 first1, InputIterator1 last1,
-          InputIterator2 first2, InputIterator2 last2); // **C++14**
-
-template <class InputIterator1, class InputIterator2, class BinaryPredicate>
-    constexpr bool      // constexpr in C++20
-    equal(InputIterator1 first1, InputIterator1 last1,
-          InputIterator2 first2, BinaryPredicate pred);
-
-template <class InputIterator1, class InputIterator2, class BinaryPredicate>
-    constexpr bool      // constexpr in C++20
-    equal(InputIterator1 first1, InputIterator1 last1,
-          InputIterator2 first2, InputIterator2 last2,
-          BinaryPredicate pred); // **C++14**
-
-template<class ForwardIterator1, class ForwardIterator2>
-    constexpr bool      // constexpr in C++20
-    is_permutation(ForwardIterator1 first1, ForwardIterator1 last1,
-                   ForwardIterator2 first2);
-
-template<class ForwardIterator1, class ForwardIterator2>
-    constexpr bool      // constexpr in C++20
-    is_permutation(ForwardIterator1 first1, ForwardIterator1 last1,
-                   ForwardIterator2 first2, ForwardIterator2 last2); // **C++14**
-
-template<class ForwardIterator1, class ForwardIterator2, class BinaryPredicate>
-    constexpr bool      // constexpr in C++20
-    is_permutation(ForwardIterator1 first1, ForwardIterator1 last1,
-                   ForwardIterator2 first2, BinaryPredicate pred);
-
-template<class ForwardIterator1, class ForwardIterator2, class BinaryPredicate>
-    constexpr bool      // constexpr in C++20
-    is_permutation(ForwardIterator1 first1, ForwardIterator1 last1,
-                   ForwardIterator2 first2, ForwardIterator2 last2,
-                   BinaryPredicate pred);  // **C++14**
-
-template <class ForwardIterator1, class ForwardIterator2>
-    constexpr ForwardIterator1      // constexpr in C++20
-    search(ForwardIterator1 first1, ForwardIterator1 last1,
-           ForwardIterator2 first2, ForwardIterator2 last2);
-
-template <class ForwardIterator1, class ForwardIterator2, class BinaryPredicate>
-    constexpr ForwardIterator1      // constexpr in C++20
-    search(ForwardIterator1 first1, ForwardIterator1 last1,
-           ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred);
-
-template <class ForwardIterator, class Size, class T>
-    constexpr ForwardIterator       // constexpr in C++20
-    search_n(ForwardIterator first, ForwardIterator last, Size count, const T& value);
-
-template <class ForwardIterator, class Size, class T, class BinaryPredicate>
-    constexpr ForwardIterator       // constexpr in C++20
-    search_n(ForwardIterator first, ForwardIterator last,
-             Size count, const T& value, BinaryPredicate pred);
-
-template <class InputIterator, class OutputIterator>
-    OutputIterator
-    copy(InputIterator first, InputIterator last, OutputIterator result);
-
-template<class InputIterator, class OutputIterator, class Predicate>
-    OutputIterator
-    copy_if(InputIterator first, InputIterator last,
-            OutputIterator result, Predicate pred);
-
-template<class InputIterator, class Size, class OutputIterator>
-    OutputIterator
-    copy_n(InputIterator first, Size n, OutputIterator result);
-
-template <class BidirectionalIterator1, class BidirectionalIterator2>
-    BidirectionalIterator2
-    copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last,
-                  BidirectionalIterator2 result);
-
-template <class ForwardIterator1, class ForwardIterator2>
-    ForwardIterator2
-    swap_ranges(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2);
-
-template <class ForwardIterator1, class ForwardIterator2>
-    void
-    iter_swap(ForwardIterator1 a, ForwardIterator2 b);
-
-template <class InputIterator, class OutputIterator, class UnaryOperation>
-    constexpr OutputIterator      // constexpr in C++20
-    transform(InputIterator first, InputIterator last, OutputIterator result, UnaryOperation op);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator, class BinaryOperation>
-    constexpr OutputIterator      // constexpr in C++20
-    transform(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2,
-              OutputIterator result, BinaryOperation binary_op);
-
-template <class ForwardIterator, class T>
-    constexpr void      // constexpr in C++20
-    replace(ForwardIterator first, ForwardIterator last, const T& old_value, const T& new_value);
-
-template <class ForwardIterator, class Predicate, class T>
-    constexpr void      // constexpr in C++20
-    replace_if(ForwardIterator first, ForwardIterator last, Predicate pred, const T& new_value);
-
-template <class InputIterator, class OutputIterator, class T>
-    constexpr OutputIterator      // constexpr in C++20
-    replace_copy(InputIterator first, InputIterator last, OutputIterator result,
-                 const T& old_value, const T& new_value);
-
-template <class InputIterator, class OutputIterator, class Predicate, class T>
-    constexpr OutputIterator      // constexpr in C++20
-    replace_copy_if(InputIterator first, InputIterator last, OutputIterator result, Predicate pred, const T& new_value);
-
-template <class ForwardIterator, class T>
-    constexpr void      // constexpr in C++20
-    fill(ForwardIterator first, ForwardIterator last, const T& value);
-
-template <class OutputIterator, class Size, class T>
-    constexpr OutputIterator      // constexpr in C++20
-    fill_n(OutputIterator first, Size n, const T& value);
-
-template <class ForwardIterator, class Generator>
-    constexpr void      // constexpr in C++20
-    generate(ForwardIterator first, ForwardIterator last, Generator gen);
-
-template <class OutputIterator, class Size, class Generator>
-    constexpr OutputIterator      // constexpr in C++20
-    generate_n(OutputIterator first, Size n, Generator gen);
-
-template <class ForwardIterator, class T>
-    constexpr ForwardIterator     // constexpr in C++20
-    remove(ForwardIterator first, ForwardIterator last, const T& value);
-
-template <class ForwardIterator, class Predicate>
-    constexpr ForwardIterator     // constexpr in C++20
-    remove_if(ForwardIterator first, ForwardIterator last, Predicate pred);
-
-template <class InputIterator, class OutputIterator, class T>
-    constexpr OutputIterator     // constexpr in C++20
-    remove_copy(InputIterator first, InputIterator last, OutputIterator result, const T& value);
-
-template <class InputIterator, class OutputIterator, class Predicate>
-    constexpr OutputIterator     // constexpr in C++20
-    remove_copy_if(InputIterator first, InputIterator last, OutputIterator result, Predicate pred);
-
-template <class ForwardIterator>
-    ForwardIterator
-    unique(ForwardIterator first, ForwardIterator last);
-
-template <class ForwardIterator, class BinaryPredicate>
-    ForwardIterator
-    unique(ForwardIterator first, ForwardIterator last, BinaryPredicate pred);
-
-template <class InputIterator, class OutputIterator>
-    OutputIterator
-    unique_copy(InputIterator first, InputIterator last, OutputIterator result);
-
-template <class InputIterator, class OutputIterator, class BinaryPredicate>
-    OutputIterator
-    unique_copy(InputIterator first, InputIterator last, OutputIterator result, BinaryPredicate pred);
-
-template <class BidirectionalIterator>
-    void
-    reverse(BidirectionalIterator first, BidirectionalIterator last);
-
-template <class BidirectionalIterator, class OutputIterator>
-    constexpr OutputIterator       // constexpr in C++20
-    reverse_copy(BidirectionalIterator first, BidirectionalIterator last, OutputIterator result);
-
-template <class ForwardIterator>
-    ForwardIterator
-    rotate(ForwardIterator first, ForwardIterator middle, ForwardIterator last);
-
-template <class ForwardIterator, class OutputIterator>
-    OutputIterator
-    rotate_copy(ForwardIterator first, ForwardIterator middle, ForwardIterator last, OutputIterator result);
-
-template <class RandomAccessIterator>
-    void
-    random_shuffle(RandomAccessIterator first, RandomAccessIterator last); // deprecated in C++14, removed in C++17
-
-template <class RandomAccessIterator, class RandomNumberGenerator>
-    void
-    random_shuffle(RandomAccessIterator first, RandomAccessIterator last,
-                   RandomNumberGenerator& rand);  // deprecated in C++14, removed in C++17
-
-template<class PopulationIterator, class SampleIterator,
-         class Distance, class UniformRandomBitGenerator>
-    SampleIterator sample(PopulationIterator first, PopulationIterator last,
-                          SampleIterator out, Distance n,
-                          UniformRandomBitGenerator&& g); // C++17
-
-template<class RandomAccessIterator, class UniformRandomNumberGenerator>
-    void shuffle(RandomAccessIterator first, RandomAccessIterator last,
-                 UniformRandomNumberGenerator&& g);
-
-template <class InputIterator, class Predicate>
-    constexpr bool  // constexpr in C++20
-    is_partitioned(InputIterator first, InputIterator last, Predicate pred);
-
-template <class ForwardIterator, class Predicate>
-    ForwardIterator
-    partition(ForwardIterator first, ForwardIterator last, Predicate pred);
-
-template <class InputIterator, class OutputIterator1,
-          class OutputIterator2, class Predicate>
-    constexpr pair<OutputIterator1, OutputIterator2>   // constexpr in C++20
-    partition_copy(InputIterator first, InputIterator last,
-                   OutputIterator1 out_true, OutputIterator2 out_false,
-                   Predicate pred);
-
-template <class ForwardIterator, class Predicate>
-    ForwardIterator
-    stable_partition(ForwardIterator first, ForwardIterator last, Predicate pred);
-
-template<class ForwardIterator, class Predicate>
-    constexpr ForwardIterator  // constexpr in C++20
-    partition_point(ForwardIterator first, ForwardIterator last, Predicate pred);
-
-template <class ForwardIterator>
-    constexpr bool  // constexpr in C++20
-    is_sorted(ForwardIterator first, ForwardIterator last);
-
-template <class ForwardIterator, class Compare>
-    bool
-    is_sorted(ForwardIterator first, ForwardIterator last, Compare comp);
-
-template<class ForwardIterator>
-    constexpr ForwardIterator    // constexpr in C++20
-    is_sorted_until(ForwardIterator first, ForwardIterator last);
-
-template <class ForwardIterator, class Compare>
-    constexpr ForwardIterator    // constexpr in C++20
-    is_sorted_until(ForwardIterator first, ForwardIterator last, Compare comp);
-
-template <class RandomAccessIterator>
-    void
-    sort(RandomAccessIterator first, RandomAccessIterator last);
-
-template <class RandomAccessIterator, class Compare>
-    void
-    sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
-
-template <class RandomAccessIterator>
-    void
-    stable_sort(RandomAccessIterator first, RandomAccessIterator last);
-
-template <class RandomAccessIterator, class Compare>
-    void
-    stable_sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
-
-template <class RandomAccessIterator>
-    void
-    partial_sort(RandomAccessIterator first, RandomAccessIterator middle, RandomAccessIterator last);
-
-template <class RandomAccessIterator, class Compare>
-    void
-    partial_sort(RandomAccessIterator first, RandomAccessIterator middle, RandomAccessIterator last, Compare comp);
-
-template <class InputIterator, class RandomAccessIterator>
-    RandomAccessIterator
-    partial_sort_copy(InputIterator first, InputIterator last,
-                      RandomAccessIterator result_first, RandomAccessIterator result_last);
-
-template <class InputIterator, class RandomAccessIterator, class Compare>
-    RandomAccessIterator
-    partial_sort_copy(InputIterator first, InputIterator last,
-                      RandomAccessIterator result_first, RandomAccessIterator result_last, Compare comp);
-
-template <class RandomAccessIterator>
-    void
-    nth_element(RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last);
-
-template <class RandomAccessIterator, class Compare>
-    void
-    nth_element(RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last, Compare comp);
-
-template <class ForwardIterator, class T>
-    constexpr ForwardIterator                         // constexpr in C++20
-    lower_bound(ForwardIterator first, ForwardIterator last, const T& value);
-
-template <class ForwardIterator, class T, class Compare>
-    constexpr ForwardIterator                         // constexpr in C++20
-    lower_bound(ForwardIterator first, ForwardIterator last, const T& value, Compare comp);
-
-template <class ForwardIterator, class T>
-    constexpr ForwardIterator                         // constexpr in C++20
-    upper_bound(ForwardIterator first, ForwardIterator last, const T& value);
-
-template <class ForwardIterator, class T, class Compare>
-    constexpr ForwardIterator                         // constexpr in C++20
-    upper_bound(ForwardIterator first, ForwardIterator last, const T& value, Compare comp);
-
-template <class ForwardIterator, class T>
-    constexpr pair<ForwardIterator, ForwardIterator>  // constexpr in C++20
-    equal_range(ForwardIterator first, ForwardIterator last, const T& value);
-
-template <class ForwardIterator, class T, class Compare>
-    constexpr pair<ForwardIterator, ForwardIterator>  // constexpr in C++20
-    equal_range(ForwardIterator first, ForwardIterator last, const T& value, Compare comp);
-
-template <class ForwardIterator, class T>
-    constexpr bool                                    // constexpr in C++20
-    binary_search(ForwardIterator first, ForwardIterator last, const T& value);
-
-template <class ForwardIterator, class T, class Compare>
-    constexpr bool                                    // constexpr in C++20
-    binary_search(ForwardIterator first, ForwardIterator last, const T& value, Compare comp);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator>
-    OutputIterator
-    merge(InputIterator1 first1, InputIterator1 last1,
-          InputIterator2 first2, InputIterator2 last2, OutputIterator result);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator, class Compare>
-    OutputIterator
-    merge(InputIterator1 first1, InputIterator1 last1,
-          InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp);
-
-template <class BidirectionalIterator>
-    void
-    inplace_merge(BidirectionalIterator first, BidirectionalIterator middle, BidirectionalIterator last);
-
-template <class BidirectionalIterator, class Compare>
-    void
-    inplace_merge(BidirectionalIterator first, BidirectionalIterator middle, BidirectionalIterator last, Compare comp);
-
-template <class InputIterator1, class InputIterator2>
-    constexpr bool                                    // constexpr in C++20
-    includes(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2);
-
-template <class InputIterator1, class InputIterator2, class Compare>
-    constexpr bool                                    // constexpr in C++20
-    includes(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, Compare comp);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator>
-    OutputIterator
-    set_union(InputIterator1 first1, InputIterator1 last1,
-              InputIterator2 first2, InputIterator2 last2, OutputIterator result);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator, class Compare>
-    OutputIterator
-    set_union(InputIterator1 first1, InputIterator1 last1,
-              InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator>
-    constexpr OutputIterator                         // constexpr in C++20
-    set_intersection(InputIterator1 first1, InputIterator1 last1,
-                     InputIterator2 first2, InputIterator2 last2, OutputIterator result);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator, class Compare>
-    constexpr OutputIterator                         // constexpr in C++20
-    set_intersection(InputIterator1 first1, InputIterator1 last1,
-                     InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator>
-    OutputIterator
-    set_difference(InputIterator1 first1, InputIterator1 last1,
-                   InputIterator2 first2, InputIterator2 last2, OutputIterator result);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator, class Compare>
-    OutputIterator
-    set_difference(InputIterator1 first1, InputIterator1 last1,
-                   InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator>
-    OutputIterator
-    set_symmetric_difference(InputIterator1 first1, InputIterator1 last1,
-                             InputIterator2 first2, InputIterator2 last2, OutputIterator result);
-
-template <class InputIterator1, class InputIterator2, class OutputIterator, class Compare>
-    OutputIterator
-    set_symmetric_difference(InputIterator1 first1, InputIterator1 last1,
-                             InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp);
-
-template <class RandomAccessIterator>
-    void
-    push_heap(RandomAccessIterator first, RandomAccessIterator last);
-
-template <class RandomAccessIterator, class Compare>
-    void
-    push_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
-
-template <class RandomAccessIterator>
-    void
-    pop_heap(RandomAccessIterator first, RandomAccessIterator last);
-
-template <class RandomAccessIterator, class Compare>
-    void
-    pop_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
-
-template <class RandomAccessIterator>
-    void
-    make_heap(RandomAccessIterator first, RandomAccessIterator last);
-
-template <class RandomAccessIterator, class Compare>
-    void
-    make_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
-
-template <class RandomAccessIterator>
-    void
-    sort_heap(RandomAccessIterator first, RandomAccessIterator last);
-
-template <class RandomAccessIterator, class Compare>
-    void
-    sort_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
-
-template <class RandomAccessIterator>
-    constexpr bool   // constexpr in C++20
-    is_heap(RandomAccessIterator first, RandomAccessiterator last);
-
-template <class RandomAccessIterator, class Compare>
-    constexpr bool   // constexpr in C++20
-    is_heap(RandomAccessIterator first, RandomAccessiterator last, Compare comp);
-
-template <class RandomAccessIterator>
-    constexpr RandomAccessIterator   // constexpr in C++20
-    is_heap_until(RandomAccessIterator first, RandomAccessiterator last);
-
-template <class RandomAccessIterator, class Compare>
-    constexpr RandomAccessIterator   // constexpr in C++20
-    is_heap_until(RandomAccessIterator first, RandomAccessiterator last, Compare comp);
-
-template <class ForwardIterator>
-    ForwardIterator
-    min_element(ForwardIterator first, ForwardIterator last);  // constexpr in C++14
-
-template <class ForwardIterator, class Compare>
-    ForwardIterator
-    min_element(ForwardIterator first, ForwardIterator last, Compare comp);  // constexpr in C++14
-
-template <class T>
-    const T&
-    min(const T& a, const T& b);  // constexpr in C++14
-
-template <class T, class Compare>
-    const T&
-    min(const T& a, const T& b, Compare comp);  // constexpr in C++14
-
-template<class T>
-    T
-    min(initializer_list<T> t);  // constexpr in C++14
-
-template<class T, class Compare>
-    T
-    min(initializer_list<T> t, Compare comp);  // constexpr in C++14
-
-template<class T>
-    constexpr const T& clamp( const T& v, const T& lo, const T& hi );               // C++17
-
-template<class T, class Compare>
-    constexpr const T& clamp( const T& v, const T& lo, const T& hi, Compare comp ); // C++17
-
-template <class ForwardIterator>
-    ForwardIterator
-    max_element(ForwardIterator first, ForwardIterator last);  // constexpr in C++14
-
-template <class ForwardIterator, class Compare>
-    ForwardIterator
-    max_element(ForwardIterator first, ForwardIterator last, Compare comp);  // constexpr in C++14
-
-template <class T>
-    const T&
-    max(const T& a, const T& b); // constexpr in C++14
-
-template <class T, class Compare>
-    const T&
-    max(const T& a, const T& b, Compare comp);  // constexpr in C++14
-
-template<class T>
-    T
-    max(initializer_list<T> t);  // constexpr in C++14
-
-template<class T, class Compare>
-    T
-    max(initializer_list<T> t, Compare comp);  // constexpr in C++14
-
-template<class ForwardIterator>
-    pair<ForwardIterator, ForwardIterator>
-    minmax_element(ForwardIterator first, ForwardIterator last);   // constexpr in C++14
-
-template<class ForwardIterator, class Compare>
-    pair<ForwardIterator, ForwardIterator>
-    minmax_element(ForwardIterator first, ForwardIterator last, Compare comp);   // constexpr in C++14
-
-template<class T>
-    pair<const T&, const T&>
-    minmax(const T& a, const T& b);  // constexpr in C++14
-
-template<class T, class Compare>
-    pair<const T&, const T&>
-    minmax(const T& a, const T& b, Compare comp);  // constexpr in C++14
-
-template<class T>
-    pair<T, T>
-    minmax(initializer_list<T> t);  // constexpr in C++14
-
-template<class T, class Compare>
-    pair<T, T>
-    minmax(initializer_list<T> t, Compare comp);  // constexpr in C++14
-
-template <class InputIterator1, class InputIterator2>
-    constexpr bool     // constexpr in C++20
-    lexicographical_compare(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2);
-
-template <class InputIterator1, class InputIterator2, class Compare>
-    constexpr bool     // constexpr in C++20
-    lexicographical_compare(InputIterator1 first1, InputIterator1 last1,
-                            InputIterator2 first2, InputIterator2 last2, Compare comp);
-
-template <class BidirectionalIterator>
-    bool
-    next_permutation(BidirectionalIterator first, BidirectionalIterator last);
-
-template <class BidirectionalIterator, class Compare>
-    bool
-    next_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp);
-
-template <class BidirectionalIterator>
-    bool
-    prev_permutation(BidirectionalIterator first, BidirectionalIterator last);
-
-template <class BidirectionalIterator, class Compare>
-    bool
-    prev_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <initializer_list>
-#include <type_traits>
-#include <cstring>
-#include <utility> // needed to provide swap_ranges.
-#include <memory>
-#include <functional>
-#include <iterator>
-#include <cstddef>
-#include <bit>
-#include <version>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// I'd like to replace these with _VSTD::equal_to<void>, but can't because:
-//   * That only works with C++14 and later, and
-//   * We haven't included <functional> here.
-template <class _T1, class _T2 = _T1>
-struct __equal_to
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 bool operator()(const _T1& __x, const _T2& __y) const {return __x == __y;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 bool operator()(const _T2& __x, const _T1& __y) const {return __x == __y;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 bool operator()(const _T2& __x, const _T2& __y) const {return __x == __y;}
-};
-
-template <class _T1>
-struct __equal_to<_T1, _T1>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;}
-};
-
-template <class _T1>
-struct __equal_to<const _T1, _T1>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;}
-};
-
-template <class _T1>
-struct __equal_to<_T1, const _T1>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;}
-};
-
-template <class _T1, class _T2 = _T1>
-struct __less
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T1& __x, const _T2& __y) const {return __x < __y;}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T2& __x, const _T1& __y) const {return __x < __y;}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T2& __x, const _T2& __y) const {return __x < __y;}
-};
-
-template <class _T1>
-struct __less<_T1, _T1>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;}
-};
-
-template <class _T1>
-struct __less<const _T1, _T1>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;}
-};
-
-template <class _T1>
-struct __less<_T1, const _T1>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;}
-};
-
-template <class _Predicate>
-class __invert // invert the sense of a comparison
-{
-private:
-    _Predicate __p_;
-public:
-    _LIBCPP_INLINE_VISIBILITY __invert() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __invert(_Predicate __p) : __p_(__p) {}
-
-    template <class _T1>
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _T1& __x) {return !__p_(__x);}
-
-    template <class _T1, class _T2>
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _T1& __x, const _T2& __y) {return __p_(__y, __x);}
-};
-
-// Perform division by two quickly for positive integers (llvm.org/PR39129)
-
-template <typename _Integral>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    is_integral<_Integral>::value,
-    _Integral
->::type
-__half_positive(_Integral __value)
-{
-    return static_cast<_Integral>(static_cast<typename make_unsigned<_Integral>::type>(__value) / 2);
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    !is_integral<_Tp>::value,
-    _Tp
->::type
-__half_positive(_Tp __value)
-{
-    return __value / 2;
-}
-
-#ifdef _LIBCPP_DEBUG
-
-template <class _Compare>
-struct __debug_less
-{
-    _Compare &__comp_;
-    _LIBCPP_CONSTEXPR_AFTER_CXX17
-    __debug_less(_Compare& __c) : __comp_(__c) {}
-
-    template <class _Tp, class _Up>
-    _LIBCPP_CONSTEXPR_AFTER_CXX17
-    bool operator()(const _Tp& __x,  const _Up& __y)
-    {
-        bool __r = __comp_(__x, __y);
-        if (__r)
-            __do_compare_assert(0, __y, __x);
-        return __r;
-    }
-
-    template <class _Tp, class _Up>
-    _LIBCPP_CONSTEXPR_AFTER_CXX17
-    bool operator()(_Tp& __x,  _Up& __y)
-    {
-        bool __r = __comp_(__x, __y);
-        if (__r)
-            __do_compare_assert(0, __y, __x);
-        return __r;
-    }
-
-    template <class _LHS, class _RHS>
-    _LIBCPP_CONSTEXPR_AFTER_CXX17
-    inline _LIBCPP_INLINE_VISIBILITY
-    decltype((void)_VSTD::declval<_Compare&>()(
-        _VSTD::declval<_LHS &>(), _VSTD::declval<_RHS &>()))
-    __do_compare_assert(int, _LHS & __l, _RHS & __r) {
-        _LIBCPP_ASSERT(!__comp_(__l, __r),
-            "Comparator does not induce a strict weak ordering");
-    }
-
-    template <class _LHS, class _RHS>
-    _LIBCPP_CONSTEXPR_AFTER_CXX17
-    inline _LIBCPP_INLINE_VISIBILITY
-    void __do_compare_assert(long, _LHS &, _RHS &) {}
-};
-
-#endif // _LIBCPP_DEBUG
-
-template <class _Comp>
-struct __comp_ref_type {
-  // Pass the comparator by lvalue reference. Or in debug mode, using a
-  // debugging wrapper that stores a reference.
-#ifndef _LIBCPP_DEBUG
-  typedef typename add_lvalue_reference<_Comp>::type type;
-#else
-  typedef __debug_less<_Comp> type;
-#endif
-};
-
-// all_of
-
-template <class _InputIterator, class _Predicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-        if (!__pred(*__first))
-            return false;
-    return true;
-}
-
-// any_of
-
-template <class _InputIterator, class _Predicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-        if (__pred(*__first))
-            return true;
-    return false;
-}
-
-// none_of
-
-template <class _InputIterator, class _Predicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-        if (__pred(*__first))
-            return false;
-    return true;
-}
-
-// for_each
-
-template <class _InputIterator, class _Function>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_Function
-for_each(_InputIterator __first, _InputIterator __last, _Function __f)
-{
-    for (; __first != __last; ++__first)
-        __f(*__first);
-    return __f;
-}
-
-#if _LIBCPP_STD_VER > 14
-// for_each_n
-
-template <class _InputIterator, class _Size, class _Function>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_InputIterator
-for_each_n(_InputIterator __first, _Size __orig_n, _Function __f)
-{
-    typedef decltype(__convert_to_integral(__orig_n)) _IntegralSize;
-    _IntegralSize __n = __orig_n;
-    while (__n > 0)
-    {
-         __f(*__first);
-         ++__first;
-         --__n;
-    }
-    return __first;
-}
-#endif
-
-// find
-
-template <class _InputIterator, class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_InputIterator
-find(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
-{
-    for (; __first != __last; ++__first)
-        if (*__first == __value_)
-            break;
-    return __first;
-}
-
-// find_if
-
-template <class _InputIterator, class _Predicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_InputIterator
-find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-        if (__pred(*__first))
-            break;
-    return __first;
-}
-
-// find_if_not
-
-template<class _InputIterator, class _Predicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_InputIterator
-find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-        if (!__pred(*__first))
-            break;
-    return __first;
-}
-
-// find_end
-
-template <class _BinaryPredicate, class _ForwardIterator1, class _ForwardIterator2>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator1
-__find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-           _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred,
-           forward_iterator_tag, forward_iterator_tag)
-{
-    // modeled after search algorithm
-    _ForwardIterator1 __r = __last1;  // __last1 is the "default" answer
-    if (__first2 == __last2)
-        return __r;
-    while (true)
-    {
-        while (true)
-        {
-            if (__first1 == __last1)         // if source exhausted return last correct answer
-                return __r;                  //    (or __last1 if never found)
-            if (__pred(*__first1, *__first2))
-                break;
-            ++__first1;
-        }
-        // *__first1 matches *__first2, now match elements after here
-        _ForwardIterator1 __m1 = __first1;
-        _ForwardIterator2 __m2 = __first2;
-        while (true)
-        {
-            if (++__m2 == __last2)
-            {                         // Pattern exhaused, record answer and search for another one
-                __r = __first1;
-                ++__first1;
-                break;
-            }
-            if (++__m1 == __last1)     // Source exhausted, return last answer
-                return __r;
-            if (!__pred(*__m1, *__m2))  // mismatch, restart with a new __first
-            {
-                ++__first1;
-                break;
-            }  // else there is a match, check next elements
-        }
-    }
-}
-
-template <class _BinaryPredicate, class _BidirectionalIterator1, class _BidirectionalIterator2>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _BidirectionalIterator1
-__find_end(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1,
-           _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BinaryPredicate __pred,
-           bidirectional_iterator_tag, bidirectional_iterator_tag)
-{
-    // modeled after search algorithm (in reverse)
-    if (__first2 == __last2)
-        return __last1;  // Everything matches an empty sequence
-    _BidirectionalIterator1 __l1 = __last1;
-    _BidirectionalIterator2 __l2 = __last2;
-    --__l2;
-    while (true)
-    {
-        // Find last element in sequence 1 that matchs *(__last2-1), with a mininum of loop checks
-        while (true)
-        {
-            if (__first1 == __l1)  // return __last1 if no element matches *__first2
-                return __last1;
-            if (__pred(*--__l1, *__l2))
-                break;
-        }
-        // *__l1 matches *__l2, now match elements before here
-        _BidirectionalIterator1 __m1 = __l1;
-        _BidirectionalIterator2 __m2 = __l2;
-        while (true)
-        {
-            if (__m2 == __first2)  // If pattern exhausted, __m1 is the answer (works for 1 element pattern)
-                return __m1;
-            if (__m1 == __first1)  // Otherwise if source exhaused, pattern not found
-                return __last1;
-            if (!__pred(*--__m1, *--__m2))  // if there is a mismatch, restart with a new __l1
-            {
-                break;
-            }  // else there is a match, check next elements
-        }
-    }
-}
-
-template <class _BinaryPredicate, class _RandomAccessIterator1, class _RandomAccessIterator2>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _RandomAccessIterator1
-__find_end(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
-           _RandomAccessIterator2 __first2, _RandomAccessIterator2 __last2, _BinaryPredicate __pred,
-           random_access_iterator_tag, random_access_iterator_tag)
-{
-    // Take advantage of knowing source and pattern lengths.  Stop short when source is smaller than pattern
-    typename iterator_traits<_RandomAccessIterator2>::difference_type __len2 = __last2 - __first2;
-    if (__len2 == 0)
-        return __last1;
-    typename iterator_traits<_RandomAccessIterator1>::difference_type __len1 = __last1 - __first1;
-    if (__len1 < __len2)
-        return __last1;
-    const _RandomAccessIterator1 __s = __first1 + (__len2 - 1);  // End of pattern match can't go before here
-    _RandomAccessIterator1 __l1 = __last1;
-    _RandomAccessIterator2 __l2 = __last2;
-    --__l2;
-    while (true)
-    {
-        while (true)
-        {
-            if (__s == __l1)
-                return __last1;
-            if (__pred(*--__l1, *__l2))
-                break;
-        }
-        _RandomAccessIterator1 __m1 = __l1;
-        _RandomAccessIterator2 __m2 = __l2;
-        while (true)
-        {
-            if (__m2 == __first2)
-                return __m1;
-                                 // no need to check range on __m1 because __s guarantees we have enough source
-            if (!__pred(*--__m1, *--__m2))
-            {
-                break;
-            }
-        }
-    }
-}
-
-template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator1
-find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-         _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
-{
-    return _VSTD::__find_end<typename add_lvalue_reference<_BinaryPredicate>::type>
-                         (__first1, __last1, __first2, __last2, __pred,
-                          typename iterator_traits<_ForwardIterator1>::iterator_category(),
-                          typename iterator_traits<_ForwardIterator2>::iterator_category());
-}
-
-template <class _ForwardIterator1, class _ForwardIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator1
-find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-         _ForwardIterator2 __first2, _ForwardIterator2 __last2)
-{
-    typedef typename iterator_traits<_ForwardIterator1>::value_type __v1;
-    typedef typename iterator_traits<_ForwardIterator2>::value_type __v2;
-    return _VSTD::find_end(__first1, __last1, __first2, __last2, __equal_to<__v1, __v2>());
-}
-
-// find_first_of
-
-template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _ForwardIterator1
-__find_first_of_ce(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-              _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
-{
-    for (; __first1 != __last1; ++__first1)
-        for (_ForwardIterator2 __j = __first2; __j != __last2; ++__j)
-            if (__pred(*__first1, *__j))
-                return __first1;
-    return __last1;
-}
-
-
-template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator1
-find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-              _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
-{
-    return _VSTD::__find_first_of_ce(__first1, __last1, __first2, __last2, __pred);
-}
-
-template <class _ForwardIterator1, class _ForwardIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator1
-find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-              _ForwardIterator2 __first2, _ForwardIterator2 __last2)
-{
-    typedef typename iterator_traits<_ForwardIterator1>::value_type __v1;
-    typedef typename iterator_traits<_ForwardIterator2>::value_type __v2;
-    return _VSTD::__find_first_of_ce(__first1, __last1, __first2, __last2, __equal_to<__v1, __v2>());
-}
-
-// adjacent_find
-
-template <class _ForwardIterator, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __i = __first;
-        while (++__i != __last)
-        {
-            if (__pred(*__first, *__i))
-                return __first;
-            __first = __i;
-        }
-    }
-    return __last;
-}
-
-template <class _ForwardIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
-{
-    typedef typename iterator_traits<_ForwardIterator>::value_type __v;
-    return _VSTD::adjacent_find(__first, __last, __equal_to<__v>());
-}
-
-// count
-
-template <class _InputIterator, class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-typename iterator_traits<_InputIterator>::difference_type
-count(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
-{
-    typename iterator_traits<_InputIterator>::difference_type __r(0);
-    for (; __first != __last; ++__first)
-        if (*__first == __value_)
-            ++__r;
-    return __r;
-}
-
-// count_if
-
-template <class _InputIterator, class _Predicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-typename iterator_traits<_InputIterator>::difference_type
-count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
-{
-    typename iterator_traits<_InputIterator>::difference_type __r(0);
-    for (; __first != __last; ++__first)
-        if (__pred(*__first))
-            ++__r;
-    return __r;
-}
-
-// mismatch
-
-template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-pair<_InputIterator1, _InputIterator2>
-mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-         _InputIterator2 __first2, _BinaryPredicate __pred)
-{
-    for (; __first1 != __last1; ++__first1, (void) ++__first2)
-        if (!__pred(*__first1, *__first2))
-            break;
-    return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
-}
-
-template <class _InputIterator1, class _InputIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-pair<_InputIterator1, _InputIterator2>
-mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2)
-{
-    typedef typename iterator_traits<_InputIterator1>::value_type __v1;
-    typedef typename iterator_traits<_InputIterator2>::value_type __v2;
-    return _VSTD::mismatch(__first1, __last1, __first2, __equal_to<__v1, __v2>());
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-pair<_InputIterator1, _InputIterator2>
-mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-         _InputIterator2 __first2, _InputIterator2 __last2,
-         _BinaryPredicate __pred)
-{
-    for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void) ++__first2)
-        if (!__pred(*__first1, *__first2))
-            break;
-    return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
-}
-
-template <class _InputIterator1, class _InputIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-pair<_InputIterator1, _InputIterator2>
-mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-         _InputIterator2 __first2, _InputIterator2 __last2)
-{
-    typedef typename iterator_traits<_InputIterator1>::value_type __v1;
-    typedef typename iterator_traits<_InputIterator2>::value_type __v2;
-    return _VSTD::mismatch(__first1, __last1, __first2, __last2, __equal_to<__v1, __v2>());
-}
-#endif
-
-// equal
-
-template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __pred)
-{
-    for (; __first1 != __last1; ++__first1, (void) ++__first2)
-        if (!__pred(*__first1, *__first2))
-            return false;
-    return true;
-}
-
-template <class _InputIterator1, class _InputIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2)
-{
-    typedef typename iterator_traits<_InputIterator1>::value_type __v1;
-    typedef typename iterator_traits<_InputIterator2>::value_type __v2;
-    return _VSTD::equal(__first1, __last1, __first2, __equal_to<__v1, __v2>());
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _BinaryPredicate, class _InputIterator1, class _InputIterator2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-__equal(_InputIterator1 __first1, _InputIterator1 __last1,
-        _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __pred,
-        input_iterator_tag, input_iterator_tag )
-{
-    for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void) ++__first2)
-        if (!__pred(*__first1, *__first2))
-            return false;
-    return __first1 == __last1 && __first2 == __last2;
-}
-
-template <class _BinaryPredicate, class _RandomAccessIterator1, class _RandomAccessIterator2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-__equal(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
-        _RandomAccessIterator2 __first2, _RandomAccessIterator2 __last2, _BinaryPredicate __pred,
-      random_access_iterator_tag, random_access_iterator_tag )
-{
-    if ( _VSTD::distance(__first1, __last1) != _VSTD::distance(__first2, __last2))
-        return false;
-    return _VSTD::equal<_RandomAccessIterator1, _RandomAccessIterator2,
-                        typename add_lvalue_reference<_BinaryPredicate>::type>
-                       (__first1, __last1, __first2, __pred );
-}
-
-template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-equal(_InputIterator1 __first1, _InputIterator1 __last1,
-      _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __pred )
-{
-    return _VSTD::__equal<typename add_lvalue_reference<_BinaryPredicate>::type>
-       (__first1, __last1, __first2, __last2, __pred,
-        typename iterator_traits<_InputIterator1>::iterator_category(),
-        typename iterator_traits<_InputIterator2>::iterator_category());
-}
-
-template <class _InputIterator1, class _InputIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-equal(_InputIterator1 __first1, _InputIterator1 __last1,
-      _InputIterator2 __first2, _InputIterator2 __last2)
-{
-    typedef typename iterator_traits<_InputIterator1>::value_type __v1;
-    typedef typename iterator_traits<_InputIterator2>::value_type __v2;
-    return _VSTD::__equal(__first1, __last1, __first2, __last2, __equal_to<__v1, __v2>(),
-        typename iterator_traits<_InputIterator1>::iterator_category(),
-        typename iterator_traits<_InputIterator2>::iterator_category());
-}
-#endif
-
-// is_permutation
-
-template<class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-               _ForwardIterator2 __first2, _BinaryPredicate __pred)
-{
-//  shorten sequences as much as possible by lopping of any equal prefix
-    for (; __first1 != __last1; ++__first1, (void) ++__first2)
-        if (!__pred(*__first1, *__first2))
-            break;
-    if (__first1 == __last1)
-        return true;
-
-//  __first1 != __last1 && *__first1 != *__first2
-    typedef typename iterator_traits<_ForwardIterator1>::difference_type _D1;
-    _D1 __l1 = _VSTD::distance(__first1, __last1);
-    if (__l1 == _D1(1))
-        return false;
-    _ForwardIterator2 __last2 = _VSTD::next(__first2, __l1);
-    // For each element in [f1, l1) see if there are the same number of
-    //    equal elements in [f2, l2)
-    for (_ForwardIterator1 __i = __first1; __i != __last1; ++__i)
-    {
-    //  Have we already counted the number of *__i in [f1, l1)?
-        _ForwardIterator1 __match = __first1;
-        for (; __match != __i; ++__match)
-            if (__pred(*__match, *__i))
-                break;
-        if (__match == __i) {
-            // Count number of *__i in [f2, l2)
-            _D1 __c2 = 0;
-            for (_ForwardIterator2 __j = __first2; __j != __last2; ++__j)
-                if (__pred(*__i, *__j))
-                    ++__c2;
-            if (__c2 == 0)
-                return false;
-            // Count number of *__i in [__i, l1) (we can start with 1)
-            _D1 __c1 = 1;
-            for (_ForwardIterator1 __j = _VSTD::next(__i); __j != __last1; ++__j)
-                if (__pred(*__i, *__j))
-                    ++__c1;
-            if (__c1 != __c2)
-                return false;
-        }
-    }
-    return true;
-}
-
-template<class _ForwardIterator1, class _ForwardIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-               _ForwardIterator2 __first2)
-{
-    typedef typename iterator_traits<_ForwardIterator1>::value_type __v1;
-    typedef typename iterator_traits<_ForwardIterator2>::value_type __v2;
-    return _VSTD::is_permutation(__first1, __last1, __first2, __equal_to<__v1, __v2>());
-}
-
-#if _LIBCPP_STD_VER > 11
-template<class _BinaryPredicate, class _ForwardIterator1, class _ForwardIterator2>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-__is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-                 _ForwardIterator2 __first2, _ForwardIterator2 __last2,
-                 _BinaryPredicate __pred,
-                 forward_iterator_tag, forward_iterator_tag )
-{
-//  shorten sequences as much as possible by lopping of any equal prefix
-    for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void) ++__first2)
-        if (!__pred(*__first1, *__first2))
-            break;
-    if (__first1 == __last1)
-        return __first2 == __last2;
-    else if (__first2 == __last2)
-        return false;
-
-    typedef typename iterator_traits<_ForwardIterator1>::difference_type _D1;
-    _D1 __l1 = _VSTD::distance(__first1, __last1);
-
-    typedef typename iterator_traits<_ForwardIterator2>::difference_type _D2;
-    _D2 __l2 = _VSTD::distance(__first2, __last2);
-    if (__l1 != __l2)
-        return false;
-
-    // For each element in [f1, l1) see if there are the same number of
-    //    equal elements in [f2, l2)
-    for (_ForwardIterator1 __i = __first1; __i != __last1; ++__i)
-    {
-    //  Have we already counted the number of *__i in [f1, l1)?
-        _ForwardIterator1 __match = __first1;
-        for (; __match != __i; ++__match)
-            if (__pred(*__match, *__i))
-                break;
-        if (__match == __i) {
-            // Count number of *__i in [f2, l2)
-            _D1 __c2 = 0;
-            for (_ForwardIterator2 __j = __first2; __j != __last2; ++__j)
-                if (__pred(*__i, *__j))
-                    ++__c2;
-            if (__c2 == 0)
-                return false;
-            // Count number of *__i in [__i, l1) (we can start with 1)
-            _D1 __c1 = 1;
-            for (_ForwardIterator1 __j = _VSTD::next(__i); __j != __last1; ++__j)
-                if (__pred(*__i, *__j))
-                    ++__c1;
-            if (__c1 != __c2)
-                return false;
-        }
-    }
-    return true;
-}
-
-template<class _BinaryPredicate, class _RandomAccessIterator1, class _RandomAccessIterator2>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-__is_permutation(_RandomAccessIterator1 __first1, _RandomAccessIterator2 __last1,
-               _RandomAccessIterator1 __first2, _RandomAccessIterator2 __last2,
-               _BinaryPredicate __pred,
-               random_access_iterator_tag, random_access_iterator_tag )
-{
-    if ( _VSTD::distance(__first1, __last1) != _VSTD::distance(__first2, __last2))
-        return false;
-    return _VSTD::is_permutation<_RandomAccessIterator1, _RandomAccessIterator2,
-                                 typename add_lvalue_reference<_BinaryPredicate>::type>
-                                (__first1, __last1, __first2, __pred );
-}
-
-template<class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-               _ForwardIterator2 __first2, _ForwardIterator2 __last2,
-               _BinaryPredicate __pred )
-{
-    return _VSTD::__is_permutation<typename add_lvalue_reference<_BinaryPredicate>::type>
-       (__first1, __last1, __first2, __last2, __pred,
-        typename iterator_traits<_ForwardIterator1>::iterator_category(),
-        typename iterator_traits<_ForwardIterator2>::iterator_category());
-}
-
-template<class _ForwardIterator1, class _ForwardIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-               _ForwardIterator2 __first2, _ForwardIterator2 __last2)
-{
-    typedef typename iterator_traits<_ForwardIterator1>::value_type __v1;
-    typedef typename iterator_traits<_ForwardIterator2>::value_type __v2;
-    return _VSTD::__is_permutation(__first1, __last1, __first2, __last2,
-        __equal_to<__v1, __v2>(),
-        typename iterator_traits<_ForwardIterator1>::iterator_category(),
-        typename iterator_traits<_ForwardIterator2>::iterator_category());
-}
-#endif
-
-// search
-// __search is in <functional>
-
-template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator1
-search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-       _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
-{
-    return _VSTD::__search<typename add_lvalue_reference<_BinaryPredicate>::type>
-                         (__first1, __last1, __first2, __last2, __pred,
-                          typename iterator_traits<_ForwardIterator1>::iterator_category(),
-                          typename iterator_traits<_ForwardIterator2>::iterator_category())
-            .first;
-}
-
-template <class _ForwardIterator1, class _ForwardIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator1
-search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
-{
-    typedef typename iterator_traits<_ForwardIterator1>::value_type __v1;
-    typedef typename iterator_traits<_ForwardIterator2>::value_type __v2;
-    return _VSTD::search(__first1, __last1, __first2, __last2, __equal_to<__v1, __v2>());
-}
-
-
-#if _LIBCPP_STD_VER > 14
-template <class _ForwardIterator, class _Searcher>
-_LIBCPP_NODISCARD_EXT _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s)
-{ return __s(__f, __l).first; }
-#endif
-
-// search_n
-
-template <class _BinaryPredicate, class _ForwardIterator, class _Size, class _Tp>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-__search_n(_ForwardIterator __first, _ForwardIterator __last,
-           _Size __count, const _Tp& __value_, _BinaryPredicate __pred, forward_iterator_tag)
-{
-    if (__count <= 0)
-        return __first;
-    while (true)
-    {
-        // Find first element in sequence that matchs __value_, with a mininum of loop checks
-        while (true)
-        {
-            if (__first == __last)  // return __last if no element matches __value_
-                return __last;
-            if (__pred(*__first, __value_))
-                break;
-            ++__first;
-        }
-        // *__first matches __value_, now match elements after here
-        _ForwardIterator __m = __first;
-        _Size __c(0);
-        while (true)
-        {
-            if (++__c == __count)  // If pattern exhausted, __first is the answer (works for 1 element pattern)
-                return __first;
-            if (++__m == __last)  // Otherwise if source exhaused, pattern not found
-                return __last;
-            if (!__pred(*__m, __value_))  // if there is a mismatch, restart with a new __first
-            {
-                __first = __m;
-                ++__first;
-                break;
-            }  // else there is a match, check next elements
-        }
-    }
-}
-
-template <class _BinaryPredicate, class _RandomAccessIterator, class _Size, class _Tp>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _RandomAccessIterator
-__search_n(_RandomAccessIterator __first, _RandomAccessIterator __last,
-           _Size __count, const _Tp& __value_, _BinaryPredicate __pred, random_access_iterator_tag)
-{
-    if (__count <= 0)
-        return __first;
-    _Size __len = static_cast<_Size>(__last - __first);
-    if (__len < __count)
-        return __last;
-    const _RandomAccessIterator __s = __last - (__count - 1);  // Start of pattern match can't go beyond here
-    while (true)
-    {
-        // Find first element in sequence that matchs __value_, with a mininum of loop checks
-        while (true)
-        {
-            if (__first >= __s)  // return __last if no element matches __value_
-                return __last;
-            if (__pred(*__first, __value_))
-                break;
-            ++__first;
-        }
-        // *__first matches __value_, now match elements after here
-        _RandomAccessIterator __m = __first;
-        _Size __c(0);
-        while (true)
-        {
-            if (++__c == __count)  // If pattern exhausted, __first is the answer (works for 1 element pattern)
-                return __first;
-             ++__m;          // no need to check range on __m because __s guarantees we have enough source
-            if (!__pred(*__m, __value_))  // if there is a mismatch, restart with a new __first
-            {
-                __first = __m;
-                ++__first;
-                break;
-            }  // else there is a match, check next elements
-        }
-    }
-}
-
-template <class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-search_n(_ForwardIterator __first, _ForwardIterator __last,
-         _Size __count, const _Tp& __value_, _BinaryPredicate __pred)
-{
-    return _VSTD::__search_n<typename add_lvalue_reference<_BinaryPredicate>::type>
-           (__first, __last, __convert_to_integral(__count), __value_, __pred,
-           typename iterator_traits<_ForwardIterator>::iterator_category());
-}
-
-template <class _ForwardIterator, class _Size, class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-search_n(_ForwardIterator __first, _ForwardIterator __last, _Size __count, const _Tp& __value_)
-{
-    typedef typename iterator_traits<_ForwardIterator>::value_type __v;
-    return _VSTD::search_n(__first, __last, __convert_to_integral(__count),
-                           __value_, __equal_to<__v, _Tp>());
-}
-
-// copy
-template <class _Iter>
-inline _LIBCPP_INLINE_VISIBILITY
-_Iter
-__unwrap_iter(_Iter __i)
-{
-    return __i;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_trivially_copy_assignable<_Tp>::value,
-    _Tp*
->::type
-__unwrap_iter(move_iterator<_Tp*> __i)
-{
-    return __i.base();
-}
-
-#if _LIBCPP_DEBUG_LEVEL < 2
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-typename enable_if
-<
-    is_trivially_copy_assignable<_Tp>::value,
-    _Tp*
->::type
-__unwrap_iter(__wrap_iter<_Tp*> __i)
-{
-    return __i.base();
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-typename enable_if
-<
-    is_trivially_copy_assignable<_Tp>::value,
-    const _Tp*
->::type
-__unwrap_iter(__wrap_iter<const _Tp*> __i)
-{
-    return __i.base();
-}
-
-#else
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-typename enable_if
-<
-    is_trivially_copy_assignable<_Tp>::value,
-    __wrap_iter<_Tp*>
->::type
-__unwrap_iter(__wrap_iter<_Tp*> __i)
-{
-    return __i;
-}
-
-#endif  // _LIBCPP_DEBUG_LEVEL < 2
-
-template <class _InputIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-__copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
-{
-    for (; __first != __last; ++__first, (void) ++__result)
-        *__result = *__first;
-    return __result;
-}
-
-template <class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_same<typename remove_const<_Tp>::type, _Up>::value &&
-    is_trivially_copy_assignable<_Up>::value,
-    _Up*
->::type
-__copy(_Tp* __first, _Tp* __last, _Up* __result)
-{
-    const size_t __n = static_cast<size_t>(__last - __first);
-    if (__n > 0)
-        _VSTD::memmove(__result, __first, __n * sizeof(_Up));
-    return __result + __n;
-}
-
-template <class _InputIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
-{
-    return _VSTD::__copy(__unwrap_iter(__first), __unwrap_iter(__last), __unwrap_iter(__result));
-}
-
-// copy_backward
-
-template <class _BidirectionalIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-__copy_backward(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result)
-{
-    while (__first != __last)
-        *--__result = *--__last;
-    return __result;
-}
-
-template <class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_same<typename remove_const<_Tp>::type, _Up>::value &&
-    is_trivially_copy_assignable<_Up>::value,
-    _Up*
->::type
-__copy_backward(_Tp* __first, _Tp* __last, _Up* __result)
-{
-    const size_t __n = static_cast<size_t>(__last - __first);
-    if (__n > 0)
-    {
-        __result -= __n;
-        _VSTD::memmove(__result, __first, __n * sizeof(_Up));
-    }
-    return __result;
-}
-
-template <class _BidirectionalIterator1, class _BidirectionalIterator2>
-inline _LIBCPP_INLINE_VISIBILITY
-_BidirectionalIterator2
-copy_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last,
-              _BidirectionalIterator2 __result)
-{
-    return _VSTD::__copy_backward(__unwrap_iter(__first),
-                                  __unwrap_iter(__last),
-                                  __unwrap_iter(__result));
-}
-
-// copy_if
-
-template<class _InputIterator, class _OutputIterator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-copy_if(_InputIterator __first, _InputIterator __last,
-        _OutputIterator __result, _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-    {
-        if (__pred(*__first))
-        {
-            *__result = *__first;
-            ++__result;
-        }
-    }
-    return __result;
-}
-
-// copy_n
-
-template<class _InputIterator, class _Size, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_input_iterator<_InputIterator>::value &&
-   !__is_random_access_iterator<_InputIterator>::value,
-    _OutputIterator
->::type
-copy_n(_InputIterator __first, _Size __orig_n, _OutputIterator __result)
-{
-    typedef decltype(__convert_to_integral(__orig_n)) _IntegralSize;
-    _IntegralSize __n = __orig_n;
-    if (__n > 0)
-    {
-        *__result = *__first;
-        ++__result;
-        for (--__n; __n > 0; --__n)
-        {
-            ++__first;
-            *__result = *__first;
-            ++__result;
-        }
-    }
-    return __result;
-}
-
-template<class _InputIterator, class _Size, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_random_access_iterator<_InputIterator>::value,
-    _OutputIterator
->::type
-copy_n(_InputIterator __first, _Size __orig_n, _OutputIterator __result)
-{
-    typedef decltype(__convert_to_integral(__orig_n)) _IntegralSize;
-    _IntegralSize __n = __orig_n;
-    return _VSTD::copy(__first, __first + __n, __result);
-}
-
-// move
-
-template <class _InputIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-__move(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
-{
-    for (; __first != __last; ++__first, (void) ++__result)
-        *__result = _VSTD::move(*__first);
-    return __result;
-}
-
-template <class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_same<typename remove_const<_Tp>::type, _Up>::value &&
-    is_trivially_copy_assignable<_Up>::value,
-    _Up*
->::type
-__move(_Tp* __first, _Tp* __last, _Up* __result)
-{
-    const size_t __n = static_cast<size_t>(__last - __first);
-    if (__n > 0)
-        _VSTD::memmove(__result, __first, __n * sizeof(_Up));
-    return __result + __n;
-}
-
-template <class _InputIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-move(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
-{
-    return _VSTD::__move(__unwrap_iter(__first), __unwrap_iter(__last), __unwrap_iter(__result));
-}
-
-// move_backward
-
-template <class _InputIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-__move_backward(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
-{
-    while (__first != __last)
-        *--__result = _VSTD::move(*--__last);
-    return __result;
-}
-
-template <class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_same<typename remove_const<_Tp>::type, _Up>::value &&
-    is_trivially_copy_assignable<_Up>::value,
-    _Up*
->::type
-__move_backward(_Tp* __first, _Tp* __last, _Up* __result)
-{
-    const size_t __n = static_cast<size_t>(__last - __first);
-    if (__n > 0)
-    {
-        __result -= __n;
-        _VSTD::memmove(__result, __first, __n * sizeof(_Up));
-    }
-    return __result;
-}
-
-template <class _BidirectionalIterator1, class _BidirectionalIterator2>
-inline _LIBCPP_INLINE_VISIBILITY
-_BidirectionalIterator2
-move_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last,
-              _BidirectionalIterator2 __result)
-{
-    return _VSTD::__move_backward(__unwrap_iter(__first), __unwrap_iter(__last), __unwrap_iter(__result));
-}
-
-// iter_swap
-
-// moved to <type_traits> for better swap / noexcept support
-
-// transform
-
-template <class _InputIterator, class _OutputIterator, class _UnaryOperation>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __op)
-{
-    for (; __first != __last; ++__first, (void) ++__result)
-        *__result = __op(*__first);
-    return __result;
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _BinaryOperation>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-transform(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2,
-          _OutputIterator __result, _BinaryOperation __binary_op)
-{
-    for (; __first1 != __last1; ++__first1, (void) ++__first2, ++__result)
-        *__result = __binary_op(*__first1, *__first2);
-    return __result;
-}
-
-// replace
-
-template <class _ForwardIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-void
-replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new_value)
-{
-    for (; __first != __last; ++__first)
-        if (*__first == __old_value)
-            *__first = __new_value;
-}
-
-// replace_if
-
-template <class _ForwardIterator, class _Predicate, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-void
-replace_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp& __new_value)
-{
-    for (; __first != __last; ++__first)
-        if (__pred(*__first))
-            *__first = __new_value;
-}
-
-// replace_copy
-
-template <class _InputIterator, class _OutputIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-replace_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result,
-             const _Tp& __old_value, const _Tp& __new_value)
-{
-    for (; __first != __last; ++__first, (void) ++__result)
-        if (*__first == __old_value)
-            *__result = __new_value;
-        else
-            *__result = *__first;
-    return __result;
-}
-
-// replace_copy_if
-
-template <class _InputIterator, class _OutputIterator, class _Predicate, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-replace_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result,
-                _Predicate __pred, const _Tp& __new_value)
-{
-    for (; __first != __last; ++__first, (void) ++__result)
-        if (__pred(*__first))
-            *__result = __new_value;
-        else
-            *__result = *__first;
-    return __result;
-}
-
-// fill_n
-
-template <class _OutputIterator, class _Size, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-__fill_n(_OutputIterator __first, _Size __n, const _Tp& __value_)
-{
-    for (; __n > 0; ++__first, (void) --__n)
-        *__first = __value_;
-    return __first;
-}
-
-template <class _OutputIterator, class _Size, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-fill_n(_OutputIterator __first, _Size __n, const _Tp& __value_)
-{
-   return _VSTD::__fill_n(__first, __convert_to_integral(__n), __value_);
-}
-
-// fill
-
-template <class _ForwardIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-void
-__fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, forward_iterator_tag)
-{
-    for (; __first != __last; ++__first)
-        *__first = __value_;
-}
-
-template <class _RandomAccessIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-void
-__fill(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __value_, random_access_iterator_tag)
-{
-    _VSTD::fill_n(__first, __last - __first, __value_);
-}
-
-template <class _ForwardIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-void
-fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
-{
-    _VSTD::__fill(__first, __last, __value_, typename iterator_traits<_ForwardIterator>::iterator_category());
-}
-
-// generate
-
-template <class _ForwardIterator, class _Generator>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-void
-generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen)
-{
-    for (; __first != __last; ++__first)
-        *__first = __gen();
-}
-
-// generate_n
-
-template <class _OutputIterator, class _Size, class _Generator>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-generate_n(_OutputIterator __first, _Size __orig_n, _Generator __gen)
-{
-    typedef decltype(__convert_to_integral(__orig_n)) _IntegralSize;
-    _IntegralSize __n = __orig_n;
-    for (; __n > 0; ++__first, (void) --__n)
-        *__first = __gen();
-    return __first;
-}
-
-// remove
-
-template <class _ForwardIterator, class _Tp>
-_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
-{
-    __first = _VSTD::find(__first, __last, __value_);
-    if (__first != __last)
-    {
-        _ForwardIterator __i = __first;
-        while (++__i != __last)
-        {
-            if (!(*__i == __value_))
-            {
-                *__first = _VSTD::move(*__i);
-                ++__first;
-            }
-        }
-    }
-    return __first;
-}
-
-// remove_if
-
-template <class _ForwardIterator, class _Predicate>
-_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
-{
-    __first = _VSTD::find_if<_ForwardIterator, typename add_lvalue_reference<_Predicate>::type>
-                           (__first, __last, __pred);
-    if (__first != __last)
-    {
-        _ForwardIterator __i = __first;
-        while (++__i != __last)
-        {
-            if (!__pred(*__i))
-            {
-                *__first = _VSTD::move(*__i);
-                ++__first;
-            }
-        }
-    }
-    return __first;
-}
-
-// remove_copy
-
-template <class _InputIterator, class _OutputIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-remove_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __value_)
-{
-    for (; __first != __last; ++__first)
-    {
-        if (!(*__first == __value_))
-        {
-            *__result = *__first;
-            ++__result;
-        }
-    }
-    return __result;
-}
-
-// remove_copy_if
-
-template <class _InputIterator, class _OutputIterator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-    {
-        if (!__pred(*__first))
-        {
-            *__result = *__first;
-            ++__result;
-        }
-    }
-    return __result;
-}
-
-// unique
-
-template <class _ForwardIterator, class _BinaryPredicate>
-_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred)
-{
-    __first = _VSTD::adjacent_find<_ForwardIterator, typename add_lvalue_reference<_BinaryPredicate>::type>
-                                 (__first, __last, __pred);
-    if (__first != __last)
-    {
-        // ...  a  a  ?  ...
-        //      f     i
-        _ForwardIterator __i = __first;
-        for (++__i; ++__i != __last;)
-            if (!__pred(*__first, *__i))
-                *++__first = _VSTD::move(*__i);
-        ++__first;
-    }
-    return __first;
-}
-
-template <class _ForwardIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-unique(_ForwardIterator __first, _ForwardIterator __last)
-{
-    typedef typename iterator_traits<_ForwardIterator>::value_type __v;
-    return _VSTD::unique(__first, __last, __equal_to<__v>());
-}
-
-// unique_copy
-
-template <class _BinaryPredicate, class _InputIterator, class _OutputIterator>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _OutputIterator
-__unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred,
-              input_iterator_tag, output_iterator_tag)
-{
-    if (__first != __last)
-    {
-        typename iterator_traits<_InputIterator>::value_type __t(*__first);
-        *__result = __t;
-        ++__result;
-        while (++__first != __last)
-        {
-            if (!__pred(__t, *__first))
-            {
-                __t = *__first;
-                *__result = __t;
-                ++__result;
-            }
-        }
-    }
-    return __result;
-}
-
-template <class _BinaryPredicate, class _ForwardIterator, class _OutputIterator>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _OutputIterator
-__unique_copy(_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, _BinaryPredicate __pred,
-              forward_iterator_tag, output_iterator_tag)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __i = __first;
-        *__result = *__i;
-        ++__result;
-        while (++__first != __last)
-        {
-            if (!__pred(*__i, *__first))
-            {
-                *__result = *__first;
-                ++__result;
-                __i = __first;
-            }
-        }
-    }
-    return __result;
-}
-
-template <class _BinaryPredicate, class _InputIterator, class _ForwardIterator>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-__unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __pred,
-              input_iterator_tag, forward_iterator_tag)
-{
-    if (__first != __last)
-    {
-        *__result = *__first;
-        while (++__first != __last)
-            if (!__pred(*__result, *__first))
-                *++__result = *__first;
-        ++__result;
-    }
-    return __result;
-}
-
-template <class _InputIterator, class _OutputIterator, class _BinaryPredicate>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred)
-{
-    return _VSTD::__unique_copy<typename add_lvalue_reference<_BinaryPredicate>::type>
-                              (__first, __last, __result, __pred,
-                               typename iterator_traits<_InputIterator>::iterator_category(),
-                               typename iterator_traits<_OutputIterator>::iterator_category());
-}
-
-template <class _InputIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
-{
-    typedef typename iterator_traits<_InputIterator>::value_type __v;
-    return _VSTD::unique_copy(__first, __last, __result, __equal_to<__v>());
-}
-
-// reverse
-
-template <class _BidirectionalIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag)
-{
-    while (__first != __last)
-    {
-        if (__first == --__last)
-            break;
-        _VSTD::iter_swap(__first, __last);
-        ++__first;
-    }
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)
-{
-    if (__first != __last)
-        for (; __first < --__last; ++__first)
-            _VSTD::iter_swap(__first, __last);
-}
-
-template <class _BidirectionalIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
-{
-    _VSTD::__reverse(__first, __last, typename iterator_traits<_BidirectionalIterator>::iterator_category());
-}
-
-// reverse_copy
-
-template <class _BidirectionalIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result)
-{
-    for (; __first != __last; ++__result)
-        *__result = *--__last;
-    return __result;
-}
-
-// rotate
-
-template <class _ForwardIterator>
-_ForwardIterator
-__rotate_left(_ForwardIterator __first, _ForwardIterator __last)
-{
-    typedef typename iterator_traits<_ForwardIterator>::value_type value_type;
-    value_type __tmp = _VSTD::move(*__first);
-    _ForwardIterator __lm1 = _VSTD::move(_VSTD::next(__first), __last, __first);
-    *__lm1 = _VSTD::move(__tmp);
-    return __lm1;
-}
-
-template <class _BidirectionalIterator>
-_BidirectionalIterator
-__rotate_right(_BidirectionalIterator __first, _BidirectionalIterator __last)
-{
-    typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type;
-    _BidirectionalIterator __lm1 = _VSTD::prev(__last);
-    value_type __tmp = _VSTD::move(*__lm1);
-    _BidirectionalIterator __fp1 = _VSTD::move_backward(__first, __lm1, __last);
-    *__first = _VSTD::move(__tmp);
-    return __fp1;
-}
-
-template <class _ForwardIterator>
-_ForwardIterator
-__rotate_forward(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last)
-{
-    _ForwardIterator __i = __middle;
-    while (true)
-    {
-        swap(*__first, *__i);
-        ++__first;
-        if (++__i == __last)
-            break;
-        if (__first == __middle)
-            __middle = __i;
-    }
-    _ForwardIterator __r = __first;
-    if (__first != __middle)
-    {
-        __i = __middle;
-        while (true)
-        {
-            swap(*__first, *__i);
-            ++__first;
-            if (++__i == __last)
-            {
-                if (__first == __middle)
-                    break;
-                __i = __middle;
-            }
-            else if (__first == __middle)
-                __middle = __i;
-        }
-    }
-    return __r;
-}
-
-template<typename _Integral>
-inline _LIBCPP_INLINE_VISIBILITY
-_Integral
-__algo_gcd(_Integral __x, _Integral __y)
-{
-    do
-    {
-        _Integral __t = __x % __y;
-        __x = __y;
-        __y = __t;
-    } while (__y);
-    return __x;
-}
-
-template<typename _RandomAccessIterator>
-_RandomAccessIterator
-__rotate_gcd(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-
-    const difference_type __m1 = __middle - __first;
-    const difference_type __m2 = __last - __middle;
-    if (__m1 == __m2)
-    {
-        _VSTD::swap_ranges(__first, __middle, __middle);
-        return __middle;
-    }
-    const difference_type __g = _VSTD::__algo_gcd(__m1, __m2);
-    for (_RandomAccessIterator __p = __first + __g; __p != __first;)
-    {
-        value_type __t(_VSTD::move(*--__p));
-        _RandomAccessIterator __p1 = __p;
-        _RandomAccessIterator __p2 = __p1 + __m1;
-        do
-        {
-            *__p1 = _VSTD::move(*__p2);
-            __p1 = __p2;
-            const difference_type __d = __last - __p2;
-            if (__m1 < __d)
-                __p2 += __m1;
-            else
-                __p2 = __first + (__m1 - __d);
-        } while (__p2 != __p);
-        *__p1 = _VSTD::move(__t);
-    }
-    return __first + __m2;
-}
-
-template <class _ForwardIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_ForwardIterator
-__rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last,
-         _VSTD::forward_iterator_tag)
-{
-    typedef typename _VSTD::iterator_traits<_ForwardIterator>::value_type value_type;
-    if (_VSTD::is_trivially_move_assignable<value_type>::value)
-    {
-        if (_VSTD::next(__first) == __middle)
-            return _VSTD::__rotate_left(__first, __last);
-    }
-    return _VSTD::__rotate_forward(__first, __middle, __last);
-}
-
-template <class _BidirectionalIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_BidirectionalIterator
-__rotate(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last,
-         _VSTD::bidirectional_iterator_tag)
-{
-    typedef typename _VSTD::iterator_traits<_BidirectionalIterator>::value_type value_type;
-    if (_VSTD::is_trivially_move_assignable<value_type>::value)
-    {
-        if (_VSTD::next(__first) == __middle)
-            return _VSTD::__rotate_left(__first, __last);
-        if (_VSTD::next(__middle) == __last)
-            return _VSTD::__rotate_right(__first, __last);
-    }
-    return _VSTD::__rotate_forward(__first, __middle, __last);
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_RandomAccessIterator
-__rotate(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last,
-         _VSTD::random_access_iterator_tag)
-{
-    typedef typename _VSTD::iterator_traits<_RandomAccessIterator>::value_type value_type;
-    if (_VSTD::is_trivially_move_assignable<value_type>::value)
-    {
-        if (_VSTD::next(__first) == __middle)
-            return _VSTD::__rotate_left(__first, __last);
-        if (_VSTD::next(__middle) == __last)
-            return _VSTD::__rotate_right(__first, __last);
-        return _VSTD::__rotate_gcd(__first, __middle, __last);
-    }
-    return _VSTD::__rotate_forward(__first, __middle, __last);
-}
-
-template <class _ForwardIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_ForwardIterator
-rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last)
-{
-    if (__first == __middle)
-        return __last;
-    if (__middle == __last)
-        return __first;
-    return _VSTD::__rotate(__first, __middle, __last,
-                           typename _VSTD::iterator_traits<_ForwardIterator>::iterator_category());
-}
-
-// rotate_copy
-
-template <class _ForwardIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result)
-{
-    return _VSTD::copy(__first, __middle, _VSTD::copy(__middle, __last, __result));
-}
-
-// min_element
-
-template <class _ForwardIterator, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_ForwardIterator
-min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
-{
-    static_assert(__is_forward_iterator<_ForwardIterator>::value,
-        "std::min_element requires a ForwardIterator");
-    if (__first != __last)
-    {
-        _ForwardIterator __i = __first;
-        while (++__i != __last)
-            if (__comp(*__i, *__first))
-                __first = __i;
-    }
-    return __first;
-}
-
-template <class _ForwardIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_ForwardIterator
-min_element(_ForwardIterator __first, _ForwardIterator __last)
-{
-    return _VSTD::min_element(__first, __last,
-              __less<typename iterator_traits<_ForwardIterator>::value_type>());
-}
-
-// min
-
-template <class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Tp&
-min(const _Tp& __a, const _Tp& __b, _Compare __comp)
-{
-    return __comp(__b, __a) ? __b : __a;
-}
-
-template <class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Tp&
-min(const _Tp& __a, const _Tp& __b)
-{
-    return _VSTD::min(__a, __b, __less<_Tp>());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp
-min(initializer_list<_Tp> __t, _Compare __comp)
-{
-    return *_VSTD::min_element(__t.begin(), __t.end(), __comp);
-}
-
-template<class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp
-min(initializer_list<_Tp> __t)
-{
-    return *_VSTD::min_element(__t.begin(), __t.end(), __less<_Tp>());
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-// max_element
-
-template <class _ForwardIterator, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_ForwardIterator
-max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
-{
-    static_assert(__is_forward_iterator<_ForwardIterator>::value,
-        "std::max_element requires a ForwardIterator");
-    if (__first != __last)
-    {
-        _ForwardIterator __i = __first;
-        while (++__i != __last)
-            if (__comp(*__first, *__i))
-                __first = __i;
-    }
-    return __first;
-}
-
-
-template <class _ForwardIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_ForwardIterator
-max_element(_ForwardIterator __first, _ForwardIterator __last)
-{
-    return _VSTD::max_element(__first, __last,
-              __less<typename iterator_traits<_ForwardIterator>::value_type>());
-}
-
-// max
-
-template <class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Tp&
-max(const _Tp& __a, const _Tp& __b, _Compare __comp)
-{
-    return __comp(__a, __b) ? __b : __a;
-}
-
-template <class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Tp&
-max(const _Tp& __a, const _Tp& __b)
-{
-    return _VSTD::max(__a, __b, __less<_Tp>());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp
-max(initializer_list<_Tp> __t, _Compare __comp)
-{
-    return *_VSTD::max_element(__t.begin(), __t.end(), __comp);
-}
-
-template<class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp
-max(initializer_list<_Tp> __t)
-{
-    return *_VSTD::max_element(__t.begin(), __t.end(), __less<_Tp>());
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#if _LIBCPP_STD_VER > 14
-// clamp
-template<class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-const _Tp&
-clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
-{
-    _LIBCPP_ASSERT(!__comp(__hi, __lo), "Bad bounds passed to std::clamp");
-    return __comp(__v, __lo) ? __lo : __comp(__hi, __v) ? __hi : __v;
-
-}
-
-template<class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-const _Tp&
-clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi)
-{
-    return _VSTD::clamp(__v, __lo, __hi, __less<_Tp>());
-}
-#endif
-
-// minmax_element
-
-template <class _ForwardIterator, class _Compare>
-_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX11
-std::pair<_ForwardIterator, _ForwardIterator>
-minmax_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
-{
-  static_assert(__is_forward_iterator<_ForwardIterator>::value,
-        "std::minmax_element requires a ForwardIterator");
-  std::pair<_ForwardIterator, _ForwardIterator> __result(__first, __first);
-  if (__first != __last)
-  {
-      if (++__first != __last)
-      {
-          if (__comp(*__first, *__result.first))
-              __result.first = __first;
-          else
-              __result.second = __first;
-          while (++__first != __last)
-          {
-              _ForwardIterator __i = __first;
-              if (++__first == __last)
-              {
-                  if (__comp(*__i, *__result.first))
-                      __result.first = __i;
-                  else if (!__comp(*__i, *__result.second))
-                      __result.second = __i;
-                  break;
-              }
-              else
-              {
-                  if (__comp(*__first, *__i))
-                  {
-                      if (__comp(*__first, *__result.first))
-                          __result.first = __first;
-                      if (!__comp(*__i, *__result.second))
-                          __result.second = __i;
-                  }
-                  else
-                  {
-                      if (__comp(*__i, *__result.first))
-                          __result.first = __i;
-                      if (!__comp(*__first, *__result.second))
-                          __result.second = __first;
-                  }
-              }
-          }
-      }
-  }
-  return __result;
-}
-
-template <class _ForwardIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-std::pair<_ForwardIterator, _ForwardIterator>
-minmax_element(_ForwardIterator __first, _ForwardIterator __last)
-{
-    return _VSTD::minmax_element(__first, __last,
-              __less<typename iterator_traits<_ForwardIterator>::value_type>());
-}
-
-// minmax
-
-template<class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-pair<const _Tp&, const _Tp&>
-minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
-{
-    return __comp(__b, __a) ? pair<const _Tp&, const _Tp&>(__b, __a) :
-                              pair<const _Tp&, const _Tp&>(__a, __b);
-}
-
-template<class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-pair<const _Tp&, const _Tp&>
-minmax(const _Tp& __a, const _Tp& __b)
-{
-    return _VSTD::minmax(__a, __b, __less<_Tp>());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-pair<_Tp, _Tp>
-minmax(initializer_list<_Tp> __t, _Compare __comp)
-{
-    typedef typename initializer_list<_Tp>::const_iterator _Iter;
-    _Iter __first = __t.begin();
-    _Iter __last  = __t.end();
-    std::pair<_Tp, _Tp> __result(*__first, *__first);
-
-    ++__first;
-    if (__t.size() % 2 == 0)
-    {
-        if (__comp(*__first,  __result.first))
-            __result.first  = *__first;
-        else
-            __result.second = *__first;
-        ++__first;
-    }
-
-    while (__first != __last)
-    {
-        _Tp __prev = *__first++;
-        if (__comp(*__first, __prev)) {
-            if ( __comp(*__first, __result.first)) __result.first  = *__first;
-            if (!__comp(__prev, __result.second))  __result.second = __prev;
-            }
-        else {
-            if ( __comp(__prev, __result.first))    __result.first  = __prev;
-            if (!__comp(*__first, __result.second)) __result.second = *__first;
-            }
-
-        __first++;
-    }
-    return __result;
-}
-
-template<class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-pair<_Tp, _Tp>
-minmax(initializer_list<_Tp> __t)
-{
-    return _VSTD::minmax(__t, __less<_Tp>());
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-// random_shuffle
-
-// __independent_bits_engine
-
-template <unsigned long long _Xp, size_t _Rp>
-struct __log2_imp
-{
-    static const size_t value = _Xp & ((unsigned long long)(1) << _Rp) ? _Rp
-                                           : __log2_imp<_Xp, _Rp - 1>::value;
-};
-
-template <unsigned long long _Xp>
-struct __log2_imp<_Xp, 0>
-{
-    static const size_t value = 0;
-};
-
-template <size_t _Rp>
-struct __log2_imp<0, _Rp>
-{
-    static const size_t value = _Rp + 1;
-};
-
-template <class _UIntType, _UIntType _Xp>
-struct __log2
-{
-    static const size_t value = __log2_imp<_Xp,
-                                         sizeof(_UIntType) * __CHAR_BIT__ - 1>::value;
-};
-
-template<class _Engine, class _UIntType>
-class __independent_bits_engine
-{
-public:
-    // types
-    typedef _UIntType result_type;
-
-private:
-    typedef typename _Engine::result_type _Engine_result_type;
-    typedef typename conditional
-        <
-            sizeof(_Engine_result_type) <= sizeof(result_type),
-                result_type,
-                _Engine_result_type
-        >::type _Working_result_type;
-
-    _Engine& __e_;
-    size_t __w_;
-    size_t __w0_;
-    size_t __n_;
-    size_t __n0_;
-    _Working_result_type __y0_;
-    _Working_result_type __y1_;
-    _Engine_result_type __mask0_;
-    _Engine_result_type __mask1_;
-
-#ifdef _LIBCPP_CXX03_LANG
-    static const _Working_result_type _Rp = _Engine::_Max - _Engine::_Min
-                                          + _Working_result_type(1);
-#else
-    static _LIBCPP_CONSTEXPR const _Working_result_type _Rp = _Engine::max() - _Engine::min()
-                                                      + _Working_result_type(1);
-#endif
-    static _LIBCPP_CONSTEXPR const size_t __m = __log2<_Working_result_type, _Rp>::value;
-    static _LIBCPP_CONSTEXPR const size_t _WDt = numeric_limits<_Working_result_type>::digits;
-    static _LIBCPP_CONSTEXPR const size_t _EDt = numeric_limits<_Engine_result_type>::digits;
-
-public:
-    // constructors and seeding functions
-    __independent_bits_engine(_Engine& __e, size_t __w);
-
-    // generating functions
-    result_type operator()() {return __eval(integral_constant<bool, _Rp != 0>());}
-
-private:
-    result_type __eval(false_type);
-    result_type __eval(true_type);
-};
-
-template<class _Engine, class _UIntType>
-__independent_bits_engine<_Engine, _UIntType>
-    ::__independent_bits_engine(_Engine& __e, size_t __w)
-        : __e_(__e),
-          __w_(__w)
-{
-    __n_ = __w_ / __m + (__w_ % __m != 0);
-    __w0_ = __w_ / __n_;
-    if (_Rp == 0)
-        __y0_ = _Rp;
-    else if (__w0_ < _WDt)
-        __y0_ = (_Rp >> __w0_) << __w0_;
-    else
-        __y0_ = 0;
-    if (_Rp - __y0_ > __y0_ / __n_)
-    {
-        ++__n_;
-        __w0_ = __w_ / __n_;
-        if (__w0_ < _WDt)
-            __y0_ = (_Rp >> __w0_) << __w0_;
-        else
-            __y0_ = 0;
-    }
-    __n0_ = __n_ - __w_ % __n_;
-    if (__w0_ < _WDt - 1)
-        __y1_ = (_Rp >> (__w0_ + 1)) << (__w0_ + 1);
-    else
-        __y1_ = 0;
-    __mask0_ = __w0_ > 0 ? _Engine_result_type(~0) >> (_EDt - __w0_) :
-                          _Engine_result_type(0);
-    __mask1_ = __w0_ < _EDt - 1 ?
-                               _Engine_result_type(~0) >> (_EDt - (__w0_ + 1)) :
-                               _Engine_result_type(~0);
-}
-
-template<class _Engine, class _UIntType>
-inline
-_UIntType
-__independent_bits_engine<_Engine, _UIntType>::__eval(false_type)
-{
-    return static_cast<result_type>(__e_() & __mask0_);
-}
-
-template<class _Engine, class _UIntType>
-_UIntType
-__independent_bits_engine<_Engine, _UIntType>::__eval(true_type)
-{
-    const size_t _WRt = numeric_limits<result_type>::digits;
-    result_type _Sp = 0;
-    for (size_t __k = 0; __k < __n0_; ++__k)
-    {
-        _Engine_result_type __u;
-        do
-        {
-            __u = __e_() - _Engine::min();
-        } while (__u >= __y0_);
-        if (__w0_ < _WRt)
-            _Sp <<= __w0_;
-        else
-            _Sp = 0;
-        _Sp += __u & __mask0_;
-    }
-    for (size_t __k = __n0_; __k < __n_; ++__k)
-    {
-        _Engine_result_type __u;
-        do
-        {
-            __u = __e_() - _Engine::min();
-        } while (__u >= __y1_);
-        if (__w0_ < _WRt - 1)
-            _Sp <<= __w0_ + 1;
-        else
-            _Sp = 0;
-        _Sp += __u & __mask1_;
-    }
-    return _Sp;
-}
-
-// uniform_int_distribution
-
-template<class _IntType = int>
-class uniform_int_distribution
-{
-public:
-    // types
-    typedef _IntType result_type;
-
-    class param_type
-    {
-        result_type __a_;
-        result_type __b_;
-    public:
-        typedef uniform_int_distribution distribution_type;
-
-        explicit param_type(result_type __a = 0,
-                            result_type __b = numeric_limits<result_type>::max())
-            : __a_(__a), __b_(__b) {}
-
-        result_type a() const {return __a_;}
-        result_type b() const {return __b_;}
-
-        friend bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_;}
-        friend bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructors and reset functions
-    explicit uniform_int_distribution(result_type __a = 0,
-                                      result_type __b = numeric_limits<result_type>::max())
-        : __p_(param_type(__a, __b)) {}
-    explicit uniform_int_distribution(const param_type& __p) : __p_(__p) {}
-    void reset() {}
-
-    // generating functions
-    template<class _URNG> result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    result_type a() const {return __p_.a();}
-    result_type b() const {return __p_.b();}
-
-    param_type param() const {return __p_;}
-    void param(const param_type& __p) {__p_ = __p;}
-
-    result_type min() const {return a();}
-    result_type max() const {return b();}
-
-    friend bool operator==(const uniform_int_distribution& __x,
-                           const uniform_int_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend bool operator!=(const uniform_int_distribution& __x,
-                           const uniform_int_distribution& __y)
-            {return !(__x == __y);}
-};
-
-template<class _IntType>
-template<class _URNG>
-typename uniform_int_distribution<_IntType>::result_type
-uniform_int_distribution<_IntType>::operator()(_URNG& __g, const param_type& __p)
-_LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-{
-    typedef typename conditional<sizeof(result_type) <= sizeof(uint32_t),
-                                            uint32_t, uint64_t>::type _UIntType;
-    const _UIntType _Rp = _UIntType(__p.b()) - _UIntType(__p.a()) + _UIntType(1);
-    if (_Rp == 1)
-        return __p.a();
-    const size_t _Dt = numeric_limits<_UIntType>::digits;
-    typedef __independent_bits_engine<_URNG, _UIntType> _Eng;
-    if (_Rp == 0)
-        return static_cast<result_type>(_Eng(__g, _Dt)());
-    size_t __w = _Dt - __libcpp_clz(_Rp) - 1;
-    if ((_Rp & (std::numeric_limits<_UIntType>::max() >> (_Dt - __w))) != 0)
-        ++__w;
-    _Eng __e(__g, __w);
-    _UIntType __u;
-    do
-    {
-        __u = __e();
-    } while (__u >= _Rp);
-    return static_cast<result_type>(__u + __p.a());
-}
-
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE) \
-  || defined(_LIBCPP_BUILDING_LIBRARY)
-class _LIBCPP_TYPE_VIS __rs_default;
-
-_LIBCPP_FUNC_VIS __rs_default __rs_get();
-
-class _LIBCPP_TYPE_VIS __rs_default
-{
-    static unsigned __c_;
-
-    __rs_default();
-public:
-    typedef uint_fast32_t result_type;
-
-    static const result_type _Min = 0;
-    static const result_type _Max = 0xFFFFFFFF;
-
-    __rs_default(const __rs_default&);
-    ~__rs_default();
-
-    result_type operator()();
-
-    static _LIBCPP_CONSTEXPR result_type min() {return _Min;}
-    static _LIBCPP_CONSTEXPR result_type max() {return _Max;}
-
-    friend _LIBCPP_FUNC_VIS __rs_default __rs_get();
-};
-
-_LIBCPP_FUNC_VIS __rs_default __rs_get();
-
-template <class _RandomAccessIterator>
-_LIBCPP_DEPRECATED_IN_CXX14 void
-random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    typedef uniform_int_distribution<ptrdiff_t> _Dp;
-    typedef typename _Dp::param_type _Pp;
-    difference_type __d = __last - __first;
-    if (__d > 1)
-    {
-        _Dp __uid;
-        __rs_default __g = __rs_get();
-        for (--__last, (void) --__d; __first < __last; ++__first, (void) --__d)
-        {
-            difference_type __i = __uid(__g, _Pp(0, __d));
-            if (__i != difference_type(0))
-                swap(*__first, *(__first + __i));
-        }
-    }
-}
-
-template <class _RandomAccessIterator, class _RandomNumberGenerator>
-_LIBCPP_DEPRECATED_IN_CXX14 void
-random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
-#ifndef _LIBCPP_CXX03_LANG
-               _RandomNumberGenerator&& __rand)
-#else
-               _RandomNumberGenerator& __rand)
-#endif
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    difference_type __d = __last - __first;
-    if (__d > 1)
-    {
-        for (--__last; __first < __last; ++__first, (void) --__d)
-        {
-            difference_type __i = __rand(__d);
-            if (__i != difference_type(0))
-              swap(*__first, *(__first + __i));
-        }
-    }
-}
-#endif
-
-template <class _PopulationIterator, class _SampleIterator, class _Distance,
-          class _UniformRandomNumberGenerator>
-_LIBCPP_INLINE_VISIBILITY
-_SampleIterator __sample(_PopulationIterator __first,
-                         _PopulationIterator __last, _SampleIterator __output_iter,
-                         _Distance __n,
-                         _UniformRandomNumberGenerator & __g,
-                         input_iterator_tag) {
-
-  _Distance __k = 0;
-  for (; __first != __last && __k < __n; ++__first, (void) ++__k)
-    __output_iter[__k] = *__first;
-  _Distance __sz = __k;
-  for (; __first != __last; ++__first, (void) ++__k) {
-    _Distance __r = _VSTD::uniform_int_distribution<_Distance>(0, __k)(__g);
-    if (__r < __sz)
-      __output_iter[__r] = *__first;
-  }
-  return __output_iter + _VSTD::min(__n, __k);
-}
-
-template <class _PopulationIterator, class _SampleIterator, class _Distance,
-          class _UniformRandomNumberGenerator>
-_LIBCPP_INLINE_VISIBILITY
-_SampleIterator __sample(_PopulationIterator __first,
-                         _PopulationIterator __last, _SampleIterator __output_iter,
-                         _Distance __n,
-                         _UniformRandomNumberGenerator& __g,
-                         forward_iterator_tag) {
-  _Distance __unsampled_sz = _VSTD::distance(__first, __last);
-  for (__n = _VSTD::min(__n, __unsampled_sz); __n != 0; ++__first) {
-    _Distance __r =
-        _VSTD::uniform_int_distribution<_Distance>(0, --__unsampled_sz)(__g);
-    if (__r < __n) {
-      *__output_iter++ = *__first;
-      --__n;
-    }
-  }
-  return __output_iter;
-}
-
-template <class _PopulationIterator, class _SampleIterator, class _Distance,
-          class _UniformRandomNumberGenerator>
-_LIBCPP_INLINE_VISIBILITY
-_SampleIterator __sample(_PopulationIterator __first,
-                         _PopulationIterator __last, _SampleIterator __output_iter,
-                         _Distance __n, _UniformRandomNumberGenerator& __g) {
-  typedef typename iterator_traits<_PopulationIterator>::iterator_category
-        _PopCategory;
-  typedef typename iterator_traits<_PopulationIterator>::difference_type
-        _Difference;
-  static_assert(__is_forward_iterator<_PopulationIterator>::value ||
-                __is_random_access_iterator<_SampleIterator>::value,
-                "SampleIterator must meet the requirements of RandomAccessIterator");
-  typedef typename common_type<_Distance, _Difference>::type _CommonType;
-  _LIBCPP_ASSERT(__n >= 0, "N must be a positive number.");
-  return _VSTD::__sample(
-      __first, __last, __output_iter, _CommonType(__n),
-      __g, _PopCategory());
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _PopulationIterator, class _SampleIterator, class _Distance,
-          class _UniformRandomNumberGenerator>
-inline _LIBCPP_INLINE_VISIBILITY
-_SampleIterator sample(_PopulationIterator __first,
-                       _PopulationIterator __last, _SampleIterator __output_iter,
-                       _Distance __n, _UniformRandomNumberGenerator&& __g) {
-    return _VSTD::__sample(__first, __last, __output_iter, __n, __g);
-}
-#endif // _LIBCPP_STD_VER > 14
-
-template<class _RandomAccessIterator, class _UniformRandomNumberGenerator>
-    void shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
-                 _UniformRandomNumberGenerator&& __g)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    typedef uniform_int_distribution<ptrdiff_t> _Dp;
-    typedef typename _Dp::param_type _Pp;
-    difference_type __d = __last - __first;
-    if (__d > 1)
-    {
-        _Dp __uid;
-        for (--__last, (void) --__d; __first < __last; ++__first, (void) --__d)
-        {
-            difference_type __i = __uid(__g, _Pp(0, __d));
-            if (__i != difference_type(0))
-                swap(*__first, *(__first + __i));
-        }
-    }
-}
-
-template <class _InputIterator, class _Predicate>
-_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-        if (!__pred(*__first))
-            break;
-    if ( __first == __last )
-        return true;
-    ++__first;
-    for (; __first != __last; ++__first)
-        if (__pred(*__first))
-            return false;
-    return true;
-}
-
-// partition
-
-template <class _Predicate, class _ForwardIterator>
-_ForwardIterator
-__partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag)
-{
-    while (true)
-    {
-        if (__first == __last)
-            return __first;
-        if (!__pred(*__first))
-            break;
-        ++__first;
-    }
-    for (_ForwardIterator __p = __first; ++__p != __last;)
-    {
-        if (__pred(*__p))
-        {
-            swap(*__first, *__p);
-            ++__first;
-        }
-    }
-    return __first;
-}
-
-template <class _Predicate, class _BidirectionalIterator>
-_BidirectionalIterator
-__partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred,
-            bidirectional_iterator_tag)
-{
-    while (true)
-    {
-        while (true)
-        {
-            if (__first == __last)
-                return __first;
-            if (!__pred(*__first))
-                break;
-            ++__first;
-        }
-        do
-        {
-            if (__first == --__last)
-                return __first;
-        } while (!__pred(*__last));
-        swap(*__first, *__last);
-        ++__first;
-    }
-}
-
-template <class _ForwardIterator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-_ForwardIterator
-partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
-{
-    return _VSTD::__partition<typename add_lvalue_reference<_Predicate>::type>
-                            (__first, __last, __pred, typename iterator_traits<_ForwardIterator>::iterator_category());
-}
-
-// partition_copy
-
-template <class _InputIterator, class _OutputIterator1,
-          class _OutputIterator2, class _Predicate>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 pair<_OutputIterator1, _OutputIterator2>
-partition_copy(_InputIterator __first, _InputIterator __last,
-               _OutputIterator1 __out_true, _OutputIterator2 __out_false,
-               _Predicate __pred)
-{
-    for (; __first != __last; ++__first)
-    {
-        if (__pred(*__first))
-        {
-            *__out_true = *__first;
-            ++__out_true;
-        }
-        else
-        {
-            *__out_false = *__first;
-            ++__out_false;
-        }
-    }
-    return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false);
-}
-
-// partition_point
-
-template<class _ForwardIterator, class _Predicate>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-partition_point(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
-{
-    typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type;
-    difference_type __len = _VSTD::distance(__first, __last);
-    while (__len != 0)
-    {
-        difference_type __l2 = _VSTD::__half_positive(__len);
-        _ForwardIterator __m = __first;
-        _VSTD::advance(__m, __l2);
-        if (__pred(*__m))
-        {
-            __first = ++__m;
-            __len -= __l2 + 1;
-        }
-        else
-            __len = __l2;
-    }
-    return __first;
-}
-
-// stable_partition
-
-template <class _Predicate, class _ForwardIterator, class _Distance, class _Pair>
-_ForwardIterator
-__stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred,
-                   _Distance __len, _Pair __p, forward_iterator_tag __fit)
-{
-    // *__first is known to be false
-    // __len >= 1
-    if (__len == 1)
-        return __first;
-    if (__len == 2)
-    {
-        _ForwardIterator __m = __first;
-        if (__pred(*++__m))
-        {
-            swap(*__first, *__m);
-            return __m;
-        }
-        return __first;
-    }
-    if (__len <= __p.second)
-    {   // The buffer is big enough to use
-        typedef typename iterator_traits<_ForwardIterator>::value_type value_type;
-        __destruct_n __d(0);
-        unique_ptr<value_type, __destruct_n&> __h(__p.first, __d);
-        // Move the falses into the temporary buffer, and the trues to the front of the line
-        // Update __first to always point to the end of the trues
-        value_type* __t = __p.first;
-        ::new(__t) value_type(_VSTD::move(*__first));
-        __d.__incr((value_type*)0);
-        ++__t;
-        _ForwardIterator __i = __first;
-        while (++__i != __last)
-        {
-            if (__pred(*__i))
-            {
-                *__first = _VSTD::move(*__i);
-                ++__first;
-            }
-            else
-            {
-                ::new(__t) value_type(_VSTD::move(*__i));
-                __d.__incr((value_type*)0);
-                ++__t;
-            }
-        }
-        // All trues now at start of range, all falses in buffer
-        // Move falses back into range, but don't mess up __first which points to first false
-        __i = __first;
-        for (value_type* __t2 = __p.first; __t2 < __t; ++__t2, (void) ++__i)
-            *__i = _VSTD::move(*__t2);
-        // __h destructs moved-from values out of the temp buffer, but doesn't deallocate buffer
-        return __first;
-    }
-    // Else not enough buffer, do in place
-    // __len >= 3
-    _ForwardIterator __m = __first;
-    _Distance __len2 = __len / 2;  // __len2 >= 2
-    _VSTD::advance(__m, __len2);
-    // recurse on [__first, __m), *__first know to be false
-    // F?????????????????
-    // f       m         l
-    typedef typename add_lvalue_reference<_Predicate>::type _PredRef;
-    _ForwardIterator __first_false = __stable_partition<_PredRef>(__first, __m, __pred, __len2, __p, __fit);
-    // TTTFFFFF??????????
-    // f  ff   m         l
-    // recurse on [__m, __last], except increase __m until *(__m) is false, *__last know to be true
-    _ForwardIterator __m1 = __m;
-    _ForwardIterator __second_false = __last;
-    _Distance __len_half = __len - __len2;
-    while (__pred(*__m1))
-    {
-        if (++__m1 == __last)
-            goto __second_half_done;
-        --__len_half;
-    }
-    // TTTFFFFFTTTF??????
-    // f  ff   m  m1     l
-    __second_false = __stable_partition<_PredRef>(__m1, __last, __pred, __len_half, __p, __fit);
-__second_half_done:
-    // TTTFFFFFTTTTTFFFFF
-    // f  ff   m    sf   l
-    return _VSTD::rotate(__first_false, __m, __second_false);
-    // TTTTTTTTFFFFFFFFFF
-    //         |
-}
-
-struct __return_temporary_buffer
-{
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY void operator()(_Tp* __p) const {_VSTD::return_temporary_buffer(__p);}
-};
-
-template <class _Predicate, class _ForwardIterator>
-_ForwardIterator
-__stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred,
-                   forward_iterator_tag)
-{
-    const unsigned __alloc_limit = 3;  // might want to make this a function of trivial assignment
-    // Either prove all true and return __first or point to first false
-    while (true)
-    {
-        if (__first == __last)
-            return __first;
-        if (!__pred(*__first))
-            break;
-        ++__first;
-    }
-    // We now have a reduced range [__first, __last)
-    // *__first is known to be false
-    typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type;
-    typedef typename iterator_traits<_ForwardIterator>::value_type value_type;
-    difference_type __len = _VSTD::distance(__first, __last);
-    pair<value_type*, ptrdiff_t> __p(0, 0);
-    unique_ptr<value_type, __return_temporary_buffer> __h;
-    if (__len >= __alloc_limit)
-    {
-        __p = _VSTD::get_temporary_buffer<value_type>(__len);
-        __h.reset(__p.first);
-    }
-    return __stable_partition<typename add_lvalue_reference<_Predicate>::type>
-                             (__first, __last, __pred, __len, __p, forward_iterator_tag());
-}
-
-template <class _Predicate, class _BidirectionalIterator, class _Distance, class _Pair>
-_BidirectionalIterator
-__stable_partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred,
-                   _Distance __len, _Pair __p, bidirectional_iterator_tag __bit)
-{
-    // *__first is known to be false
-    // *__last is known to be true
-    // __len >= 2
-    if (__len == 2)
-    {
-        swap(*__first, *__last);
-        return __last;
-    }
-    if (__len == 3)
-    {
-        _BidirectionalIterator __m = __first;
-        if (__pred(*++__m))
-        {
-            swap(*__first, *__m);
-            swap(*__m, *__last);
-            return __last;
-        }
-        swap(*__m, *__last);
-        swap(*__first, *__m);
-        return __m;
-    }
-    if (__len <= __p.second)
-    {   // The buffer is big enough to use
-        typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type;
-        __destruct_n __d(0);
-        unique_ptr<value_type, __destruct_n&> __h(__p.first, __d);
-        // Move the falses into the temporary buffer, and the trues to the front of the line
-        // Update __first to always point to the end of the trues
-        value_type* __t = __p.first;
-        ::new(__t) value_type(_VSTD::move(*__first));
-        __d.__incr((value_type*)0);
-        ++__t;
-        _BidirectionalIterator __i = __first;
-        while (++__i != __last)
-        {
-            if (__pred(*__i))
-            {
-                *__first = _VSTD::move(*__i);
-                ++__first;
-            }
-            else
-            {
-                ::new(__t) value_type(_VSTD::move(*__i));
-                __d.__incr((value_type*)0);
-                ++__t;
-            }
-        }
-        // move *__last, known to be true
-        *__first = _VSTD::move(*__i);
-        __i = ++__first;
-        // All trues now at start of range, all falses in buffer
-        // Move falses back into range, but don't mess up __first which points to first false
-        for (value_type* __t2 = __p.first; __t2 < __t; ++__t2, (void) ++__i)
-            *__i = _VSTD::move(*__t2);
-        // __h destructs moved-from values out of the temp buffer, but doesn't deallocate buffer
-        return __first;
-    }
-    // Else not enough buffer, do in place
-    // __len >= 4
-    _BidirectionalIterator __m = __first;
-    _Distance __len2 = __len / 2;  // __len2 >= 2
-    _VSTD::advance(__m, __len2);
-    // recurse on [__first, __m-1], except reduce __m-1 until *(__m-1) is true, *__first know to be false
-    // F????????????????T
-    // f       m        l
-    _BidirectionalIterator __m1 = __m;
-    _BidirectionalIterator __first_false = __first;
-    _Distance __len_half = __len2;
-    while (!__pred(*--__m1))
-    {
-        if (__m1 == __first)
-            goto __first_half_done;
-        --__len_half;
-    }
-    // F???TFFF?????????T
-    // f   m1  m        l
-    typedef typename add_lvalue_reference<_Predicate>::type _PredRef;
-    __first_false = __stable_partition<_PredRef>(__first, __m1, __pred, __len_half, __p, __bit);
-__first_half_done:
-    // TTTFFFFF?????????T
-    // f  ff   m        l
-    // recurse on [__m, __last], except increase __m until *(__m) is false, *__last know to be true
-    __m1 = __m;
-    _BidirectionalIterator __second_false = __last;
-    ++__second_false;
-    __len_half = __len - __len2;
-    while (__pred(*__m1))
-    {
-        if (++__m1 == __last)
-            goto __second_half_done;
-        --__len_half;
-    }
-    // TTTFFFFFTTTF?????T
-    // f  ff   m  m1    l
-    __second_false = __stable_partition<_PredRef>(__m1, __last, __pred, __len_half, __p, __bit);
-__second_half_done:
-    // TTTFFFFFTTTTTFFFFF
-    // f  ff   m    sf  l
-    return _VSTD::rotate(__first_false, __m, __second_false);
-    // TTTTTTTTFFFFFFFFFF
-    //         |
-}
-
-template <class _Predicate, class _BidirectionalIterator>
-_BidirectionalIterator
-__stable_partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred,
-                   bidirectional_iterator_tag)
-{
-    typedef typename iterator_traits<_BidirectionalIterator>::difference_type difference_type;
-    typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type;
-    const difference_type __alloc_limit = 4;  // might want to make this a function of trivial assignment
-    // Either prove all true and return __first or point to first false
-    while (true)
-    {
-        if (__first == __last)
-            return __first;
-        if (!__pred(*__first))
-            break;
-        ++__first;
-    }
-    // __first points to first false, everything prior to __first is already set.
-    // Either prove [__first, __last) is all false and return __first, or point __last to last true
-    do
-    {
-        if (__first == --__last)
-            return __first;
-    } while (!__pred(*__last));
-    // We now have a reduced range [__first, __last]
-    // *__first is known to be false
-    // *__last is known to be true
-    // __len >= 2
-    difference_type __len = _VSTD::distance(__first, __last) + 1;
-    pair<value_type*, ptrdiff_t> __p(0, 0);
-    unique_ptr<value_type, __return_temporary_buffer> __h;
-    if (__len >= __alloc_limit)
-    {
-        __p = _VSTD::get_temporary_buffer<value_type>(__len);
-        __h.reset(__p.first);
-    }
-    return __stable_partition<typename add_lvalue_reference<_Predicate>::type>
-                             (__first, __last, __pred, __len, __p, bidirectional_iterator_tag());
-}
-
-template <class _ForwardIterator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-_ForwardIterator
-stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
-{
-    return __stable_partition<typename add_lvalue_reference<_Predicate>::type>
-                             (__first, __last, __pred, typename iterator_traits<_ForwardIterator>::iterator_category());
-}
-
-// is_sorted_until
-
-template <class _ForwardIterator, class _Compare>
-_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __i = __first;
-        while (++__i != __last)
-        {
-            if (__comp(*__i, *__first))
-                return __i;
-            __first = __i;
-        }
-    }
-    return __last;
-}
-
-template<class _ForwardIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
-{
-    return _VSTD::is_sorted_until(__first, __last, __less<typename iterator_traits<_ForwardIterator>::value_type>());
-}
-
-// is_sorted
-
-template <class _ForwardIterator, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-is_sorted(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
-{
-    return _VSTD::is_sorted_until(__first, __last, __comp) == __last;
-}
-
-template<class _ForwardIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-is_sorted(_ForwardIterator __first, _ForwardIterator __last)
-{
-    return _VSTD::is_sorted(__first, __last, __less<typename iterator_traits<_ForwardIterator>::value_type>());
-}
-
-// sort
-
-// stable, 2-3 compares, 0-2 swaps
-
-template <class _Compare, class _ForwardIterator>
-unsigned
-__sort3(_ForwardIterator __x, _ForwardIterator __y, _ForwardIterator __z, _Compare __c)
-{
-    unsigned __r = 0;
-    if (!__c(*__y, *__x))          // if x <= y
-    {
-        if (!__c(*__z, *__y))      // if y <= z
-            return __r;            // x <= y && y <= z
-                                   // x <= y && y > z
-        swap(*__y, *__z);          // x <= z && y < z
-        __r = 1;
-        if (__c(*__y, *__x))       // if x > y
-        {
-            swap(*__x, *__y);      // x < y && y <= z
-            __r = 2;
-        }
-        return __r;                // x <= y && y < z
-    }
-    if (__c(*__z, *__y))           // x > y, if y > z
-    {
-        swap(*__x, *__z);          // x < y && y < z
-        __r = 1;
-        return __r;
-    }
-    swap(*__x, *__y);              // x > y && y <= z
-    __r = 1;                       // x < y && x <= z
-    if (__c(*__z, *__y))           // if y > z
-    {
-        swap(*__y, *__z);          // x <= y && y < z
-        __r = 2;
-    }
-    return __r;
-}                                  // x <= y && y <= z
-
-// stable, 3-6 compares, 0-5 swaps
-
-template <class _Compare, class _ForwardIterator>
-unsigned
-__sort4(_ForwardIterator __x1, _ForwardIterator __x2, _ForwardIterator __x3,
-            _ForwardIterator __x4, _Compare __c)
-{
-    unsigned __r = __sort3<_Compare>(__x1, __x2, __x3, __c);
-    if (__c(*__x4, *__x3))
-    {
-        swap(*__x3, *__x4);
-        ++__r;
-        if (__c(*__x3, *__x2))
-        {
-            swap(*__x2, *__x3);
-            ++__r;
-            if (__c(*__x2, *__x1))
-            {
-                swap(*__x1, *__x2);
-                ++__r;
-            }
-        }
-    }
-    return __r;
-}
-
-// stable, 4-10 compares, 0-9 swaps
-
-template <class _Compare, class _ForwardIterator>
-_LIBCPP_HIDDEN
-unsigned
-__sort5(_ForwardIterator __x1, _ForwardIterator __x2, _ForwardIterator __x3,
-            _ForwardIterator __x4, _ForwardIterator __x5, _Compare __c)
-{
-    unsigned __r = __sort4<_Compare>(__x1, __x2, __x3, __x4, __c);
-    if (__c(*__x5, *__x4))
-    {
-        swap(*__x4, *__x5);
-        ++__r;
-        if (__c(*__x4, *__x3))
-        {
-            swap(*__x3, *__x4);
-            ++__r;
-            if (__c(*__x3, *__x2))
-            {
-                swap(*__x2, *__x3);
-                ++__r;
-                if (__c(*__x2, *__x1))
-                {
-                    swap(*__x1, *__x2);
-                    ++__r;
-                }
-            }
-        }
-    }
-    return __r;
-}
-
-// Assumes size > 0
-template <class _Compare, class _BirdirectionalIterator>
-void
-__selection_sort(_BirdirectionalIterator __first, _BirdirectionalIterator __last, _Compare __comp)
-{
-    _BirdirectionalIterator __lm1 = __last;
-    for (--__lm1; __first != __lm1; ++__first)
-    {
-        _BirdirectionalIterator __i = _VSTD::min_element<_BirdirectionalIterator,
-                                                        typename add_lvalue_reference<_Compare>::type>
-                                                       (__first, __last, __comp);
-        if (__i != __first)
-            swap(*__first, *__i);
-    }
-}
-
-template <class _Compare, class _BirdirectionalIterator>
-void
-__insertion_sort(_BirdirectionalIterator __first, _BirdirectionalIterator __last, _Compare __comp)
-{
-    typedef typename iterator_traits<_BirdirectionalIterator>::value_type value_type;
-    if (__first != __last)
-    {
-        _BirdirectionalIterator __i = __first;
-        for (++__i; __i != __last; ++__i)
-        {
-            _BirdirectionalIterator __j = __i;
-            value_type __t(_VSTD::move(*__j));
-            for (_BirdirectionalIterator __k = __i; __k != __first && __comp(__t,  *--__k); --__j)
-                *__j = _VSTD::move(*__k);
-            *__j = _VSTD::move(__t);
-        }
-    }
-}
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__insertion_sort_3(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-    _RandomAccessIterator __j = __first+2;
-    __sort3<_Compare>(__first, __first+1, __j, __comp);
-    for (_RandomAccessIterator __i = __j+1; __i != __last; ++__i)
-    {
-        if (__comp(*__i, *__j))
-        {
-            value_type __t(_VSTD::move(*__i));
-            _RandomAccessIterator __k = __j;
-            __j = __i;
-            do
-            {
-                *__j = _VSTD::move(*__k);
-                __j = __k;
-            } while (__j != __first && __comp(__t, *--__k));
-            *__j = _VSTD::move(__t);
-        }
-        __j = __i;
-    }
-}
-
-template <class _Compare, class _RandomAccessIterator>
-bool
-__insertion_sort_incomplete(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    switch (__last - __first)
-    {
-    case 0:
-    case 1:
-        return true;
-    case 2:
-        if (__comp(*--__last, *__first))
-            swap(*__first, *__last);
-        return true;
-    case 3:
-        _VSTD::__sort3<_Compare>(__first, __first+1, --__last, __comp);
-        return true;
-    case 4:
-        _VSTD::__sort4<_Compare>(__first, __first+1, __first+2, --__last, __comp);
-        return true;
-    case 5:
-        _VSTD::__sort5<_Compare>(__first, __first+1, __first+2, __first+3, --__last, __comp);
-        return true;
-    }
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-    _RandomAccessIterator __j = __first+2;
-    __sort3<_Compare>(__first, __first+1, __j, __comp);
-    const unsigned __limit = 8;
-    unsigned __count = 0;
-    for (_RandomAccessIterator __i = __j+1; __i != __last; ++__i)
-    {
-        if (__comp(*__i, *__j))
-        {
-            value_type __t(_VSTD::move(*__i));
-            _RandomAccessIterator __k = __j;
-            __j = __i;
-            do
-            {
-                *__j = _VSTD::move(*__k);
-                __j = __k;
-            } while (__j != __first && __comp(__t, *--__k));
-            *__j = _VSTD::move(__t);
-            if (++__count == __limit)
-                return ++__i == __last;
-        }
-        __j = __i;
-    }
-    return true;
-}
-
-template <class _Compare, class _BirdirectionalIterator>
-void
-__insertion_sort_move(_BirdirectionalIterator __first1, _BirdirectionalIterator __last1,
-                      typename iterator_traits<_BirdirectionalIterator>::value_type* __first2, _Compare __comp)
-{
-    typedef typename iterator_traits<_BirdirectionalIterator>::value_type value_type;
-    if (__first1 != __last1)
-    {
-        __destruct_n __d(0);
-        unique_ptr<value_type, __destruct_n&> __h(__first2, __d);
-        value_type* __last2 = __first2;
-        ::new(__last2) value_type(_VSTD::move(*__first1));
-        __d.__incr((value_type*)0);
-        for (++__last2; ++__first1 != __last1; ++__last2)
-        {
-            value_type* __j2 = __last2;
-            value_type* __i2 = __j2;
-            if (__comp(*__first1, *--__i2))
-            {
-                ::new(__j2) value_type(_VSTD::move(*__i2));
-                __d.__incr((value_type*)0);
-                for (--__j2; __i2 != __first2 && __comp(*__first1,  *--__i2); --__j2)
-                    *__j2 = _VSTD::move(*__i2);
-                *__j2 = _VSTD::move(*__first1);
-            }
-            else
-            {
-                ::new(__j2) value_type(_VSTD::move(*__first1));
-                __d.__incr((value_type*)0);
-            }
-        }
-        __h.release();
-    }
-}
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    // _Compare is known to be a reference type
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-    const difference_type __limit = is_trivially_copy_constructible<value_type>::value &&
-                                    is_trivially_copy_assignable<value_type>::value ? 30 : 6;
-    while (true)
-    {
-    __restart:
-        difference_type __len = __last - __first;
-        switch (__len)
-        {
-        case 0:
-        case 1:
-            return;
-        case 2:
-            if (__comp(*--__last, *__first))
-                swap(*__first, *__last);
-            return;
-        case 3:
-            _VSTD::__sort3<_Compare>(__first, __first+1, --__last, __comp);
-            return;
-        case 4:
-            _VSTD::__sort4<_Compare>(__first, __first+1, __first+2, --__last, __comp);
-            return;
-        case 5:
-            _VSTD::__sort5<_Compare>(__first, __first+1, __first+2, __first+3, --__last, __comp);
-            return;
-        }
-        if (__len <= __limit)
-        {
-            _VSTD::__insertion_sort_3<_Compare>(__first, __last, __comp);
-            return;
-        }
-        // __len > 5
-        _RandomAccessIterator __m = __first;
-        _RandomAccessIterator __lm1 = __last;
-        --__lm1;
-        unsigned __n_swaps;
-        {
-        difference_type __delta;
-        if (__len >= 1000)
-        {
-            __delta = __len/2;
-            __m += __delta;
-            __delta /= 2;
-            __n_swaps = _VSTD::__sort5<_Compare>(__first, __first + __delta, __m, __m+__delta, __lm1, __comp);
-        }
-        else
-        {
-            __delta = __len/2;
-            __m += __delta;
-            __n_swaps = _VSTD::__sort3<_Compare>(__first, __m, __lm1, __comp);
-        }
-        }
-        // *__m is median
-        // partition [__first, __m) < *__m and *__m <= [__m, __last)
-        // (this inhibits tossing elements equivalent to __m around unnecessarily)
-        _RandomAccessIterator __i = __first;
-        _RandomAccessIterator __j = __lm1;
-        // j points beyond range to be tested, *__m is known to be <= *__lm1
-        // The search going up is known to be guarded but the search coming down isn't.
-        // Prime the downward search with a guard.
-        if (!__comp(*__i, *__m))  // if *__first == *__m
-        {
-            // *__first == *__m, *__first doesn't go in first part
-            // manually guard downward moving __j against __i
-            while (true)
-            {
-                if (__i == --__j)
-                {
-                    // *__first == *__m, *__m <= all other elements
-                    // Parition instead into [__first, __i) == *__first and *__first < [__i, __last)
-                    ++__i;  // __first + 1
-                    __j = __last;
-                    if (!__comp(*__first, *--__j))  // we need a guard if *__first == *(__last-1)
-                    {
-                        while (true)
-                        {
-                            if (__i == __j)
-                                return;  // [__first, __last) all equivalent elements
-                            if (__comp(*__first, *__i))
-                            {
-                                swap(*__i, *__j);
-                                ++__n_swaps;
-                                ++__i;
-                                break;
-                            }
-                            ++__i;
-                        }
-                    }
-                    // [__first, __i) == *__first and *__first < [__j, __last) and __j == __last - 1
-                    if (__i == __j)
-                        return;
-                    while (true)
-                    {
-                        while (!__comp(*__first, *__i))
-                            ++__i;
-                        while (__comp(*__first, *--__j))
-                            ;
-                        if (__i >= __j)
-                            break;
-                        swap(*__i, *__j);
-                        ++__n_swaps;
-                        ++__i;
-                    }
-                    // [__first, __i) == *__first and *__first < [__i, __last)
-                    // The first part is sorted, sort the secod part
-                    // _VSTD::__sort<_Compare>(__i, __last, __comp);
-                    __first = __i;
-                    goto __restart;
-                }
-                if (__comp(*__j, *__m))
-                {
-                    swap(*__i, *__j);
-                    ++__n_swaps;
-                    break;  // found guard for downward moving __j, now use unguarded partition
-                }
-            }
-        }
-        // It is known that *__i < *__m
-        ++__i;
-        // j points beyond range to be tested, *__m is known to be <= *__lm1
-        // if not yet partitioned...
-        if (__i < __j)
-        {
-            // known that *(__i - 1) < *__m
-            // known that __i <= __m
-            while (true)
-            {
-                // __m still guards upward moving __i
-                while (__comp(*__i, *__m))
-                    ++__i;
-                // It is now known that a guard exists for downward moving __j
-                while (!__comp(*--__j, *__m))
-                    ;
-                if (__i > __j)
-                    break;
-                swap(*__i, *__j);
-                ++__n_swaps;
-                // It is known that __m != __j
-                // If __m just moved, follow it
-                if (__m == __i)
-                    __m = __j;
-                ++__i;
-            }
-        }
-        // [__first, __i) < *__m and *__m <= [__i, __last)
-        if (__i != __m && __comp(*__m, *__i))
-        {
-            swap(*__i, *__m);
-            ++__n_swaps;
-        }
-        // [__first, __i) < *__i and *__i <= [__i+1, __last)
-        // If we were given a perfect partition, see if insertion sort is quick...
-        if (__n_swaps == 0)
-        {
-            bool __fs = _VSTD::__insertion_sort_incomplete<_Compare>(__first, __i, __comp);
-            if (_VSTD::__insertion_sort_incomplete<_Compare>(__i+1, __last, __comp))
-            {
-                if (__fs)
-                    return;
-                __last = __i;
-                continue;
-            }
-            else
-            {
-                if (__fs)
-                {
-                    __first = ++__i;
-                    continue;
-                }
-            }
-        }
-        // sort smaller range with recursive call and larger with tail recursion elimination
-        if (__i - __first < __last - __i)
-        {
-            _VSTD::__sort<_Compare>(__first, __i, __comp);
-            // _VSTD::__sort<_Compare>(__i+1, __last, __comp);
-            __first = ++__i;
-        }
-        else
-        {
-            _VSTD::__sort<_Compare>(__i+1, __last, __comp);
-            // _VSTD::__sort<_Compare>(__first, __i, __comp);
-            __last = __i;
-        }
-    }
-}
-
-// This forwarder keeps the top call and the recursive calls using the same instantiation, forcing a reference _Compare
-template <class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    _VSTD::__sort<_Comp_ref>(__first, __last, _Comp_ref(__comp));
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    _VSTD::sort(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-sort(_Tp** __first, _Tp** __last)
-{
-    _VSTD::sort((size_t*)__first, (size_t*)__last, __less<size_t>());
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-sort(__wrap_iter<_Tp*> __first, __wrap_iter<_Tp*> __last)
-{
-    _VSTD::sort(__first.base(), __last.base());
-}
-
-template <class _Tp, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-sort(__wrap_iter<_Tp*> __first, __wrap_iter<_Tp*> __last, _Compare __comp)
-{
-    typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
-    _VSTD::sort<_Tp*, _Comp_ref>(__first.base(), __last.base(), __comp);
-}
-
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<char>&, char*>(char*, char*, __less<char>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<short>&, short*>(short*, short*, __less<short>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<int>&, int*>(int*, int*, __less<int>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<long>&, long*>(long*, long*, __less<long>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<long long>&, long long*>(long long*, long long*, __less<long long>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<float>&, float*>(float*, float*, __less<float>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<double>&, double*>(double*, double*, __less<double>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<long double>&, long double*>(long double*, long double*, __less<long double>&))
-
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<char>&, char*>(char*, char*, __less<char>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<short>&, short*>(short*, short*, __less<short>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<int>&, int*>(int*, int*, __less<int>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<long>&, long*>(long*, long*, __less<long>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<long long>&, long long*>(long long*, long long*, __less<long long>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<float>&, float*>(float*, float*, __less<float>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<double>&, double*>(double*, double*, __less<double>&))
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<long double>&, long double*>(long double*, long double*, __less<long double>&))
-
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS unsigned __sort5<__less<long double>&, long double*>(long double*, long double*, long double*, long double*, long double*, __less<long double>&))
-
-// lower_bound
-
-template <class _Compare, class _ForwardIterator, class _Tp>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-__lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
-{
-    typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type;
-    difference_type __len = _VSTD::distance(__first, __last);
-    while (__len != 0)
-    {
-        difference_type __l2 = _VSTD::__half_positive(__len);
-        _ForwardIterator __m = __first;
-        _VSTD::advance(__m, __l2);
-        if (__comp(*__m, __value_))
-        {
-            __first = ++__m;
-            __len -= __l2 + 1;
-        }
-        else
-            __len = __l2;
-    }
-    return __first;
-}
-
-template <class _ForwardIterator, class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
-{
-    typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
-    return __lower_bound<_Comp_ref>(__first, __last, __value_, __comp);
-}
-
-template <class _ForwardIterator, class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
-{
-    return _VSTD::lower_bound(__first, __last, __value_,
-                             __less<typename iterator_traits<_ForwardIterator>::value_type, _Tp>());
-}
-
-// upper_bound
-
-template <class _Compare, class _ForwardIterator, class _Tp>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
-__upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
-{
-    typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type;
-    difference_type __len = _VSTD::distance(__first, __last);
-    while (__len != 0)
-    {
-        difference_type __l2 = _VSTD::__half_positive(__len);
-        _ForwardIterator __m = __first;
-        _VSTD::advance(__m, __l2);
-        if (__comp(__value_, *__m))
-            __len = __l2;
-        else
-        {
-            __first = ++__m;
-            __len -= __l2 + 1;
-        }
-    }
-    return __first;
-}
-
-template <class _ForwardIterator, class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
-{
-    typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
-    return __upper_bound<_Comp_ref>(__first, __last, __value_, __comp);
-}
-
-template <class _ForwardIterator, class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator
-upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
-{
-    return _VSTD::upper_bound(__first, __last, __value_,
-                             __less<_Tp, typename iterator_traits<_ForwardIterator>::value_type>());
-}
-
-// equal_range
-
-template <class _Compare, class _ForwardIterator, class _Tp>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 pair<_ForwardIterator, _ForwardIterator>
-__equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
-{
-    typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type;
-    difference_type __len = _VSTD::distance(__first, __last);
-    while (__len != 0)
-    {
-        difference_type __l2 = _VSTD::__half_positive(__len);
-        _ForwardIterator __m = __first;
-        _VSTD::advance(__m, __l2);
-        if (__comp(*__m, __value_))
-        {
-            __first = ++__m;
-            __len -= __l2 + 1;
-        }
-        else if (__comp(__value_, *__m))
-        {
-            __last = __m;
-            __len = __l2;
-        }
-        else
-        {
-            _ForwardIterator __mp1 = __m;
-            return pair<_ForwardIterator, _ForwardIterator>
-                   (
-                      __lower_bound<_Compare>(__first, __m, __value_, __comp),
-                      __upper_bound<_Compare>(++__mp1, __last, __value_, __comp)
-                   );
-        }
-    }
-    return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
-}
-
-template <class _ForwardIterator, class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-pair<_ForwardIterator, _ForwardIterator>
-equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __equal_range<_Comp_ref>(__first, __last, __value_, __comp);
-}
-
-template <class _ForwardIterator, class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-pair<_ForwardIterator, _ForwardIterator>
-equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
-{
-    return _VSTD::equal_range(__first, __last, __value_,
-                             __less<typename iterator_traits<_ForwardIterator>::value_type, _Tp>());
-}
-
-// binary_search
-
-template <class _Compare, class _ForwardIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-__binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
-{
-    __first = __lower_bound<_Compare>(__first, __last, __value_, __comp);
-    return __first != __last && !__comp(__value_, *__first);
-}
-
-template <class _ForwardIterator, class _Tp, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __binary_search<_Comp_ref>(__first, __last, __value_, __comp);
-}
-
-template <class _ForwardIterator, class _Tp>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
-{
-    return _VSTD::binary_search(__first, __last, __value_,
-                             __less<typename iterator_traits<_ForwardIterator>::value_type, _Tp>());
-}
-
-// merge
-
-template <class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator>
-_OutputIterator
-__merge(_InputIterator1 __first1, _InputIterator1 __last1,
-        _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    for (; __first1 != __last1; ++__result)
-    {
-        if (__first2 == __last2)
-            return _VSTD::copy(__first1, __last1, __result);
-        if (__comp(*__first2, *__first1))
-        {
-            *__result = *__first2;
-            ++__first2;
-        }
-        else
-        {
-            *__result = *__first1;
-            ++__first1;
-        }
-    }
-    return _VSTD::copy(__first2, __last2, __result);
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-merge(_InputIterator1 __first1, _InputIterator1 __last1,
-      _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return _VSTD::__merge<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-merge(_InputIterator1 __first1, _InputIterator1 __last1,
-      _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
-{
-    typedef typename iterator_traits<_InputIterator1>::value_type __v1;
-    typedef typename iterator_traits<_InputIterator2>::value_type __v2;
-    return _VSTD::merge(__first1, __last1, __first2, __last2, __result, __less<__v1, __v2>());
-}
-
-// inplace_merge
-
-template <class _Compare, class _InputIterator1, class _InputIterator2,
-          class _OutputIterator>
-void __half_inplace_merge(_InputIterator1 __first1, _InputIterator1 __last1,
-                          _InputIterator2 __first2, _InputIterator2 __last2,
-                          _OutputIterator __result, _Compare __comp)
-{
-    for (; __first1 != __last1; ++__result)
-    {
-        if (__first2 == __last2)
-        {
-            _VSTD::move(__first1, __last1, __result);
-            return;
-        }
-
-        if (__comp(*__first2, *__first1))
-        {
-            *__result = _VSTD::move(*__first2);
-            ++__first2;
-        }
-        else
-        {
-            *__result = _VSTD::move(*__first1);
-            ++__first1;
-        }
-    }
-    // __first2 through __last2 are already in the right spot.
-}
-
-template <class _Compare, class _BidirectionalIterator>
-void
-__buffered_inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last,
-                _Compare __comp, typename iterator_traits<_BidirectionalIterator>::difference_type __len1,
-                                 typename iterator_traits<_BidirectionalIterator>::difference_type __len2,
-                typename iterator_traits<_BidirectionalIterator>::value_type* __buff)
-{
-    typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type;
-    __destruct_n __d(0);
-    unique_ptr<value_type, __destruct_n&> __h2(__buff, __d);
-    if (__len1 <= __len2)
-    {
-        value_type* __p = __buff;
-        for (_BidirectionalIterator __i = __first; __i != __middle; __d.__incr((value_type*)0), (void) ++__i, (void) ++__p)
-            ::new(__p) value_type(_VSTD::move(*__i));
-        __half_inplace_merge(__buff, __p, __middle, __last, __first, __comp);
-    }
-    else
-    {
-        value_type* __p = __buff;
-        for (_BidirectionalIterator __i = __middle; __i != __last; __d.__incr((value_type*)0), (void) ++__i, (void) ++__p)
-            ::new(__p) value_type(_VSTD::move(*__i));
-        typedef reverse_iterator<_BidirectionalIterator> _RBi;
-        typedef reverse_iterator<value_type*> _Rv;
-        __half_inplace_merge(_Rv(__p), _Rv(__buff),
-                             _RBi(__middle), _RBi(__first),
-                             _RBi(__last), __invert<_Compare>(__comp));
-    }
-}
-
-template <class _Compare, class _BidirectionalIterator>
-void
-__inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last,
-                _Compare __comp, typename iterator_traits<_BidirectionalIterator>::difference_type __len1,
-                                 typename iterator_traits<_BidirectionalIterator>::difference_type __len2,
-                typename iterator_traits<_BidirectionalIterator>::value_type* __buff, ptrdiff_t __buff_size)
-{
-    typedef typename iterator_traits<_BidirectionalIterator>::difference_type difference_type;
-    while (true)
-    {
-        // if __middle == __last, we're done
-        if (__len2 == 0)
-            return;
-        if (__len1 <= __buff_size || __len2 <= __buff_size)
-            return __buffered_inplace_merge<_Compare>
-                   (__first, __middle, __last, __comp, __len1, __len2, __buff);
-        // shrink [__first, __middle) as much as possible (with no moves), returning if it shrinks to 0
-        for (; true; ++__first, (void) --__len1)
-        {
-            if (__len1 == 0)
-                return;
-            if (__comp(*__middle, *__first))
-                break;
-        }
-        // __first < __middle < __last
-        // *__first > *__middle
-        // partition [__first, __m1) [__m1, __middle) [__middle, __m2) [__m2, __last) such that
-        //     all elements in:
-        //         [__first, __m1)  <= [__middle, __m2)
-        //         [__middle, __m2) <  [__m1, __middle)
-        //         [__m1, __middle) <= [__m2, __last)
-        //     and __m1 or __m2 is in the middle of its range
-        _BidirectionalIterator __m1;  // "median" of [__first, __middle)
-        _BidirectionalIterator __m2;  // "median" of [__middle, __last)
-        difference_type __len11;      // distance(__first, __m1)
-        difference_type __len21;      // distance(__middle, __m2)
-        // binary search smaller range
-        if (__len1 < __len2)
-        {   // __len >= 1, __len2 >= 2
-            __len21 = __len2 / 2;
-            __m2 = __middle;
-            _VSTD::advance(__m2, __len21);
-            __m1 = __upper_bound<_Compare>(__first, __middle, *__m2, __comp);
-            __len11 = _VSTD::distance(__first, __m1);
-        }
-        else
-        {
-            if (__len1 == 1)
-            {   // __len1 >= __len2 && __len2 > 0, therefore __len2 == 1
-                // It is known *__first > *__middle
-                swap(*__first, *__middle);
-                return;
-            }
-            // __len1 >= 2, __len2 >= 1
-            __len11 = __len1 / 2;
-            __m1 = __first;
-            _VSTD::advance(__m1, __len11);
-            __m2 = __lower_bound<_Compare>(__middle, __last, *__m1, __comp);
-            __len21 = _VSTD::distance(__middle, __m2);
-        }
-        difference_type __len12 = __len1 - __len11;  // distance(__m1, __middle)
-        difference_type __len22 = __len2 - __len21;  // distance(__m2, __last)
-        // [__first, __m1) [__m1, __middle) [__middle, __m2) [__m2, __last)
-        // swap middle two partitions
-        __middle = _VSTD::rotate(__m1, __middle, __m2);
-        // __len12 and __len21 now have swapped meanings
-        // merge smaller range with recurisve call and larger with tail recursion elimination
-        if (__len11 + __len21 < __len12 + __len22)
-        {
-            __inplace_merge<_Compare>(__first, __m1, __middle, __comp, __len11, __len21, __buff, __buff_size);
-//          __inplace_merge<_Compare>(__middle, __m2, __last, __comp, __len12, __len22, __buff, __buff_size);
-            __first = __middle;
-            __middle = __m2;
-            __len1 = __len12;
-            __len2 = __len22;
-        }
-        else
-        {
-            __inplace_merge<_Compare>(__middle, __m2, __last, __comp, __len12, __len22, __buff, __buff_size);
-//          __inplace_merge<_Compare>(__first, __m1, __middle, __comp, __len11, __len21, __buff, __buff_size);
-            __last = __middle;
-            __middle = __m1;
-            __len1 = __len11;
-            __len2 = __len21;
-        }
-    }
-}
-
-template <class _BidirectionalIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last,
-              _Compare __comp)
-{
-    typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type;
-    typedef typename iterator_traits<_BidirectionalIterator>::difference_type difference_type;
-    difference_type __len1 = _VSTD::distance(__first, __middle);
-    difference_type __len2 = _VSTD::distance(__middle, __last);
-    difference_type __buf_size = _VSTD::min(__len1, __len2);
-    pair<value_type*, ptrdiff_t> __buf = _VSTD::get_temporary_buffer<value_type>(__buf_size);
-    unique_ptr<value_type, __return_temporary_buffer> __h(__buf.first);
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return _VSTD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __comp, __len1, __len2,
-                                            __buf.first, __buf.second);
-}
-
-template <class _BidirectionalIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last)
-{
-    _VSTD::inplace_merge(__first, __middle, __last,
-                        __less<typename iterator_traits<_BidirectionalIterator>::value_type>());
-}
-
-// stable_sort
-
-template <class _Compare, class _InputIterator1, class _InputIterator2>
-void
-__merge_move_construct(_InputIterator1 __first1, _InputIterator1 __last1,
-        _InputIterator2 __first2, _InputIterator2 __last2,
-        typename iterator_traits<_InputIterator1>::value_type* __result, _Compare __comp)
-{
-    typedef typename iterator_traits<_InputIterator1>::value_type value_type;
-    __destruct_n __d(0);
-    unique_ptr<value_type, __destruct_n&> __h(__result, __d);
-    for (; true; ++__result)
-    {
-        if (__first1 == __last1)
-        {
-            for (; __first2 != __last2; ++__first2, ++__result, (void) __d.__incr((value_type*)0))
-                ::new (__result) value_type(_VSTD::move(*__first2));
-            __h.release();
-            return;
-        }
-        if (__first2 == __last2)
-        {
-            for (; __first1 != __last1; ++__first1, ++__result, (void) __d.__incr((value_type*)0))
-                ::new (__result) value_type(_VSTD::move(*__first1));
-            __h.release();
-            return;
-        }
-        if (__comp(*__first2, *__first1))
-        {
-            ::new (__result) value_type(_VSTD::move(*__first2));
-            __d.__incr((value_type*)0);
-            ++__first2;
-        }
-        else
-        {
-            ::new (__result) value_type(_VSTD::move(*__first1));
-            __d.__incr((value_type*)0);
-            ++__first1;
-        }
-    }
-}
-
-template <class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator>
-void
-__merge_move_assign(_InputIterator1 __first1, _InputIterator1 __last1,
-        _InputIterator2 __first2, _InputIterator2 __last2,
-        _OutputIterator __result, _Compare __comp)
-{
-    for (; __first1 != __last1; ++__result)
-    {
-        if (__first2 == __last2)
-        {
-            for (; __first1 != __last1; ++__first1, (void) ++__result)
-                *__result = _VSTD::move(*__first1);
-            return;
-        }
-        if (__comp(*__first2, *__first1))
-        {
-            *__result = _VSTD::move(*__first2);
-            ++__first2;
-        }
-        else
-        {
-            *__result = _VSTD::move(*__first1);
-            ++__first1;
-        }
-    }
-    for (; __first2 != __last2; ++__first2, (void) ++__result)
-        *__result = _VSTD::move(*__first2);
-}
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp,
-              typename iterator_traits<_RandomAccessIterator>::difference_type __len,
-              typename iterator_traits<_RandomAccessIterator>::value_type* __buff, ptrdiff_t __buff_size);
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__stable_sort_move(_RandomAccessIterator __first1, _RandomAccessIterator __last1, _Compare __comp,
-                   typename iterator_traits<_RandomAccessIterator>::difference_type __len,
-                   typename iterator_traits<_RandomAccessIterator>::value_type* __first2)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-    switch (__len)
-    {
-    case 0:
-        return;
-    case 1:
-        ::new(__first2) value_type(_VSTD::move(*__first1));
-        return;
-    case 2:
-        __destruct_n __d(0);
-        unique_ptr<value_type, __destruct_n&> __h2(__first2, __d);
-        if (__comp(*--__last1, *__first1))
-        {
-            ::new(__first2) value_type(_VSTD::move(*__last1));
-            __d.__incr((value_type*)0);
-            ++__first2;
-            ::new(__first2) value_type(_VSTD::move(*__first1));
-        }
-        else
-        {
-            ::new(__first2) value_type(_VSTD::move(*__first1));
-            __d.__incr((value_type*)0);
-            ++__first2;
-            ::new(__first2) value_type(_VSTD::move(*__last1));
-        }
-        __h2.release();
-        return;
-    }
-    if (__len <= 8)
-    {
-        __insertion_sort_move<_Compare>(__first1, __last1, __first2, __comp);
-        return;
-    }
-    typename iterator_traits<_RandomAccessIterator>::difference_type __l2 = __len / 2;
-    _RandomAccessIterator __m = __first1 + __l2;
-    __stable_sort<_Compare>(__first1, __m, __comp, __l2, __first2, __l2);
-    __stable_sort<_Compare>(__m, __last1, __comp, __len - __l2, __first2 + __l2, __len - __l2);
-    __merge_move_construct<_Compare>(__first1, __m, __m, __last1, __first2, __comp);
-}
-
-template <class _Tp>
-struct __stable_sort_switch
-{
-    static const unsigned value = 128*is_trivially_copy_assignable<_Tp>::value;
-};
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp,
-              typename iterator_traits<_RandomAccessIterator>::difference_type __len,
-              typename iterator_traits<_RandomAccessIterator>::value_type* __buff, ptrdiff_t __buff_size)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    switch (__len)
-    {
-    case 0:
-    case 1:
-        return;
-    case 2:
-        if (__comp(*--__last, *__first))
-            swap(*__first, *__last);
-        return;
-    }
-    if (__len <= static_cast<difference_type>(__stable_sort_switch<value_type>::value))
-    {
-        __insertion_sort<_Compare>(__first, __last, __comp);
-        return;
-    }
-    typename iterator_traits<_RandomAccessIterator>::difference_type __l2 = __len / 2;
-    _RandomAccessIterator __m = __first + __l2;
-    if (__len <= __buff_size)
-    {
-        __destruct_n __d(0);
-        unique_ptr<value_type, __destruct_n&> __h2(__buff, __d);
-        __stable_sort_move<_Compare>(__first, __m, __comp, __l2, __buff);
-        __d.__set(__l2, (value_type*)0);
-        __stable_sort_move<_Compare>(__m, __last, __comp, __len - __l2, __buff + __l2);
-        __d.__set(__len, (value_type*)0);
-        __merge_move_assign<_Compare>(__buff, __buff + __l2, __buff + __l2, __buff + __len, __first, __comp);
-//         __merge<_Compare>(move_iterator<value_type*>(__buff),
-//                           move_iterator<value_type*>(__buff + __l2),
-//                           move_iterator<_RandomAccessIterator>(__buff + __l2),
-//                           move_iterator<_RandomAccessIterator>(__buff + __len),
-//                           __first, __comp);
-        return;
-    }
-    __stable_sort<_Compare>(__first, __m, __comp, __l2, __buff, __buff_size);
-    __stable_sort<_Compare>(__m, __last, __comp, __len - __l2, __buff, __buff_size);
-    __inplace_merge<_Compare>(__first, __m, __last, __comp, __l2, __len - __l2, __buff, __buff_size);
-}
-
-template <class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    difference_type __len = __last - __first;
-    pair<value_type*, ptrdiff_t> __buf(0, 0);
-    unique_ptr<value_type, __return_temporary_buffer> __h;
-    if (__len > static_cast<difference_type>(__stable_sort_switch<value_type>::value))
-    {
-        __buf = _VSTD::get_temporary_buffer<value_type>(__len);
-        __h.reset(__buf.first);
-    }
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    __stable_sort<_Comp_ref>(__first, __last, __comp, __len, __buf.first, __buf.second);
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    _VSTD::stable_sort(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// is_heap_until
-
-template <class _RandomAccessIterator, class _Compare>
-_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _RandomAccessIterator
-is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename _VSTD::iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    difference_type __len = __last - __first;
-    difference_type __p = 0;
-    difference_type __c = 1;
-    _RandomAccessIterator __pp = __first;
-    while (__c < __len)
-    {
-        _RandomAccessIterator __cp = __first + __c;
-        if (__comp(*__pp, *__cp))
-            return __cp;
-        ++__c;
-        ++__cp;
-        if (__c == __len)
-            return __last;
-        if (__comp(*__pp, *__cp))
-            return __cp;
-        ++__p;
-        ++__pp;
-        __c = 2 * __p + 1;
-    }
-    return __last;
-}
-
-template<class _RandomAccessIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_RandomAccessIterator
-is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    return _VSTD::is_heap_until(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// is_heap
-
-template <class _RandomAccessIterator, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    return _VSTD::is_heap_until(__first, __last, __comp) == __last;
-}
-
-template<class _RandomAccessIterator>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    return _VSTD::is_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// push_heap
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__sift_up(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp,
-          typename iterator_traits<_RandomAccessIterator>::difference_type __len)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-    if (__len > 1)
-    {
-        __len = (__len - 2) / 2;
-        _RandomAccessIterator __ptr = __first + __len;
-        if (__comp(*__ptr, *--__last))
-        {
-            value_type __t(_VSTD::move(*__last));
-            do
-            {
-                *__last = _VSTD::move(*__ptr);
-                __last = __ptr;
-                if (__len == 0)
-                    break;
-                __len = (__len - 1) / 2;
-                __ptr = __first + __len;
-            } while (__comp(*__ptr, __t));
-            *__last = _VSTD::move(__t);
-        }
-    }
-}
-
-template <class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    __sift_up<_Comp_ref>(__first, __last, __comp, __last - __first);
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    _VSTD::push_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// pop_heap
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__sift_down(_RandomAccessIterator __first, _RandomAccessIterator /*__last*/,
-            _Compare __comp,
-            typename iterator_traits<_RandomAccessIterator>::difference_type __len,
-            _RandomAccessIterator __start)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
-    // left-child of __start is at 2 * __start + 1
-    // right-child of __start is at 2 * __start + 2
-    difference_type __child = __start - __first;
-
-    if (__len < 2 || (__len - 2) / 2 < __child)
-        return;
-
-    __child = 2 * __child + 1;
-    _RandomAccessIterator __child_i = __first + __child;
-
-    if ((__child + 1) < __len && __comp(*__child_i, *(__child_i + 1))) {
-        // right-child exists and is greater than left-child
-        ++__child_i;
-        ++__child;
-    }
-
-    // check if we are in heap-order
-    if (__comp(*__child_i, *__start))
-        // we are, __start is larger than it's largest child
-        return;
-
-    value_type __top(_VSTD::move(*__start));
-    do
-    {
-        // we are not in heap-order, swap the parent with it's largest child
-        *__start = _VSTD::move(*__child_i);
-        __start = __child_i;
-
-        if ((__len - 2) / 2 < __child)
-            break;
-
-        // recompute the child based off of the updated parent
-        __child = 2 * __child + 1;
-        __child_i = __first + __child;
-
-        if ((__child + 1) < __len && __comp(*__child_i, *(__child_i + 1))) {
-            // right-child exists and is greater than left-child
-            ++__child_i;
-            ++__child;
-        }
-
-        // check if we are in heap-order
-    } while (!__comp(*__child_i, __top));
-    *__start = _VSTD::move(__top);
-}
-
-template <class _Compare, class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp,
-           typename iterator_traits<_RandomAccessIterator>::difference_type __len)
-{
-    if (__len > 1)
-    {
-        swap(*__first, *--__last);
-        __sift_down<_Compare>(__first, __last, __comp, __len - 1, __first);
-    }
-}
-
-template <class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    __pop_heap<_Comp_ref>(__first, __last, __comp, __last - __first);
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    _VSTD::pop_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// make_heap
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    difference_type __n = __last - __first;
-    if (__n > 1)
-    {
-        // start from the first parent, there is no need to consider children
-        for (difference_type __start = (__n - 2) / 2; __start >= 0; --__start)
-        {
-            __sift_down<_Compare>(__first, __last, __comp, __n, __first + __start);
-        }
-    }
-}
-
-template <class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    __make_heap<_Comp_ref>(__first, __last, __comp);
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    _VSTD::make_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// sort_heap
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    for (difference_type __n = __last - __first; __n > 1; --__last, (void) --__n)
-        __pop_heap<_Compare>(__first, __last, __comp, __n);
-}
-
-template <class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    __sort_heap<_Comp_ref>(__first, __last, __comp);
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    _VSTD::sort_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// partial_sort
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last,
-             _Compare __comp)
-{
-    __make_heap<_Compare>(__first, __middle, __comp);
-    typename iterator_traits<_RandomAccessIterator>::difference_type __len = __middle - __first;
-    for (_RandomAccessIterator __i = __middle; __i != __last; ++__i)
-    {
-        if (__comp(*__i, *__first))
-        {
-            swap(*__i, *__first);
-            __sift_down<_Compare>(__first, __middle, __comp, __len, __first);
-        }
-    }
-    __sort_heap<_Compare>(__first, __middle, __comp);
-}
-
-template <class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last,
-             _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    __partial_sort<_Comp_ref>(__first, __middle, __last, __comp);
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last)
-{
-    _VSTD::partial_sort(__first, __middle, __last,
-                       __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// partial_sort_copy
-
-template <class _Compare, class _InputIterator, class _RandomAccessIterator>
-_RandomAccessIterator
-__partial_sort_copy(_InputIterator __first, _InputIterator __last,
-                    _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp)
-{
-    _RandomAccessIterator __r = __result_first;
-    if (__r != __result_last)
-    {
-        for (; __first != __last && __r != __result_last; ++__first, (void) ++__r)
-            *__r = *__first;
-        __make_heap<_Compare>(__result_first, __r, __comp);
-        typename iterator_traits<_RandomAccessIterator>::difference_type __len = __r - __result_first;
-        for (; __first != __last; ++__first)
-            if (__comp(*__first, *__result_first))
-            {
-                *__result_first = *__first;
-                __sift_down<_Compare>(__result_first, __r, __comp, __len, __result_first);
-            }
-        __sort_heap<_Compare>(__result_first, __r, __comp);
-    }
-    return __r;
-}
-
-template <class _InputIterator, class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-_RandomAccessIterator
-partial_sort_copy(_InputIterator __first, _InputIterator __last,
-                  _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __comp);
-}
-
-template <class _InputIterator, class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_RandomAccessIterator
-partial_sort_copy(_InputIterator __first, _InputIterator __last,
-                  _RandomAccessIterator __result_first, _RandomAccessIterator __result_last)
-{
-    return _VSTD::partial_sort_copy(__first, __last, __result_first, __result_last,
-                                   __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// nth_element
-
-template <class _Compare, class _RandomAccessIterator>
-void
-__nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp)
-{
-    // _Compare is known to be a reference type
-    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
-    const difference_type __limit = 7;
-    while (true)
-    {
-    __restart:
-        if (__nth == __last)
-            return;
-        difference_type __len = __last - __first;
-        switch (__len)
-        {
-        case 0:
-        case 1:
-            return;
-        case 2:
-            if (__comp(*--__last, *__first))
-                swap(*__first, *__last);
-            return;
-        case 3:
-            {
-            _RandomAccessIterator __m = __first;
-            _VSTD::__sort3<_Compare>(__first, ++__m, --__last, __comp);
-            return;
-            }
-        }
-        if (__len <= __limit)
-        {
-            __selection_sort<_Compare>(__first, __last, __comp);
-            return;
-        }
-        // __len > __limit >= 3
-        _RandomAccessIterator __m = __first + __len/2;
-        _RandomAccessIterator __lm1 = __last;
-        unsigned __n_swaps = _VSTD::__sort3<_Compare>(__first, __m, --__lm1, __comp);
-        // *__m is median
-        // partition [__first, __m) < *__m and *__m <= [__m, __last)
-        // (this inhibits tossing elements equivalent to __m around unnecessarily)
-        _RandomAccessIterator __i = __first;
-        _RandomAccessIterator __j = __lm1;
-        // j points beyond range to be tested, *__lm1 is known to be <= *__m
-        // The search going up is known to be guarded but the search coming down isn't.
-        // Prime the downward search with a guard.
-        if (!__comp(*__i, *__m))  // if *__first == *__m
-        {
-            // *__first == *__m, *__first doesn't go in first part
-            // manually guard downward moving __j against __i
-            while (true)
-            {
-                if (__i == --__j)
-                {
-                    // *__first == *__m, *__m <= all other elements
-                    // Parition instead into [__first, __i) == *__first and *__first < [__i, __last)
-                    ++__i;  // __first + 1
-                    __j = __last;
-                    if (!__comp(*__first, *--__j))  // we need a guard if *__first == *(__last-1)
-                    {
-                        while (true)
-                        {
-                            if (__i == __j)
-                                return;  // [__first, __last) all equivalent elements
-                            if (__comp(*__first, *__i))
-                            {
-                                swap(*__i, *__j);
-                                ++__n_swaps;
-                                ++__i;
-                                break;
-                            }
-                            ++__i;
-                        }
-                    }
-                    // [__first, __i) == *__first and *__first < [__j, __last) and __j == __last - 1
-                    if (__i == __j)
-                        return;
-                    while (true)
-                    {
-                        while (!__comp(*__first, *__i))
-                            ++__i;
-                        while (__comp(*__first, *--__j))
-                            ;
-                        if (__i >= __j)
-                            break;
-                        swap(*__i, *__j);
-                        ++__n_swaps;
-                        ++__i;
-                    }
-                    // [__first, __i) == *__first and *__first < [__i, __last)
-                    // The first part is sorted,
-                    if (__nth < __i)
-                        return;
-                    // __nth_element the secod part
-                    // __nth_element<_Compare>(__i, __nth, __last, __comp);
-                    __first = __i;
-                    goto __restart;
-                }
-                if (__comp(*__j, *__m))
-                {
-                    swap(*__i, *__j);
-                    ++__n_swaps;
-                    break;  // found guard for downward moving __j, now use unguarded partition
-                }
-            }
-        }
-        ++__i;
-        // j points beyond range to be tested, *__lm1 is known to be <= *__m
-        // if not yet partitioned...
-        if (__i < __j)
-        {
-            // known that *(__i - 1) < *__m
-            while (true)
-            {
-                // __m still guards upward moving __i
-                while (__comp(*__i, *__m))
-                    ++__i;
-                // It is now known that a guard exists for downward moving __j
-                while (!__comp(*--__j, *__m))
-                    ;
-                if (__i >= __j)
-                    break;
-                swap(*__i, *__j);
-                ++__n_swaps;
-                // It is known that __m != __j
-                // If __m just moved, follow it
-                if (__m == __i)
-                    __m = __j;
-                ++__i;
-            }
-        }
-        // [__first, __i) < *__m and *__m <= [__i, __last)
-        if (__i != __m && __comp(*__m, *__i))
-        {
-            swap(*__i, *__m);
-            ++__n_swaps;
-        }
-        // [__first, __i) < *__i and *__i <= [__i+1, __last)
-        if (__nth == __i)
-            return;
-        if (__n_swaps == 0)
-        {
-            // We were given a perfectly partitioned sequence.  Coincidence?
-            if (__nth < __i)
-            {
-                // Check for [__first, __i) already sorted
-                __j = __m = __first;
-                while (++__j != __i)
-                {
-                    if (__comp(*__j, *__m))
-                        // not yet sorted, so sort
-                        goto not_sorted;
-                    __m = __j;
-                }
-                // [__first, __i) sorted
-                return;
-            }
-            else
-            {
-                // Check for [__i, __last) already sorted
-                __j = __m = __i;
-                while (++__j != __last)
-                {
-                    if (__comp(*__j, *__m))
-                        // not yet sorted, so sort
-                        goto not_sorted;
-                    __m = __j;
-                }
-                // [__i, __last) sorted
-                return;
-            }
-        }
-not_sorted:
-        // __nth_element on range containing __nth
-        if (__nth < __i)
-        {
-            // __nth_element<_Compare>(__first, __nth, __i, __comp);
-            __last = __i;
-        }
-        else
-        {
-            // __nth_element<_Compare>(__i+1, __nth, __last, __comp);
-            __first = ++__i;
-        }
-    }
-}
-
-template <class _RandomAccessIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    __nth_element<_Comp_ref>(__first, __nth, __last, __comp);
-}
-
-template <class _RandomAccessIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last)
-{
-    _VSTD::nth_element(__first, __nth, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>());
-}
-
-// includes
-
-template <class _Compare, class _InputIterator1, class _InputIterator2>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-__includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2,
-           _Compare __comp)
-{
-    for (; __first2 != __last2; ++__first1)
-    {
-        if (__first1 == __last1 || __comp(*__first2, *__first1))
-            return false;
-        if (!__comp(*__first1, *__first2))
-            ++__first2;
-    }
-    return true;
-}
-
-template <class _InputIterator1, class _InputIterator2, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2,
-         _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __includes<_Comp_ref>(__first1, __last1, __first2, __last2, __comp);
-}
-
-template <class _InputIterator1, class _InputIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
-{
-    return _VSTD::includes(__first1, __last1, __first2, __last2,
-                          __less<typename iterator_traits<_InputIterator1>::value_type,
-                                 typename iterator_traits<_InputIterator2>::value_type>());
-}
-
-// set_union
-
-template <class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator>
-_OutputIterator
-__set_union(_InputIterator1 __first1, _InputIterator1 __last1,
-            _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    for (; __first1 != __last1; ++__result)
-    {
-        if (__first2 == __last2)
-            return _VSTD::copy(__first1, __last1, __result);
-        if (__comp(*__first2, *__first1))
-        {
-            *__result = *__first2;
-            ++__first2;
-        }
-        else
-        {
-            if (!__comp(*__first1, *__first2))
-                ++__first2;
-            *__result = *__first1;
-            ++__first1;
-        }
-    }
-    return _VSTD::copy(__first2, __last2, __result);
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-set_union(_InputIterator1 __first1, _InputIterator1 __last1,
-          _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __set_union<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-set_union(_InputIterator1 __first1, _InputIterator1 __last1,
-          _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
-{
-    return _VSTD::set_union(__first1, __last1, __first2, __last2, __result,
-                          __less<typename iterator_traits<_InputIterator1>::value_type,
-                                 typename iterator_traits<_InputIterator2>::value_type>());
-}
-
-// set_intersection
-
-template <class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _OutputIterator
-__set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
-                   _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    while (__first1 != __last1 && __first2 != __last2)
-    {
-        if (__comp(*__first1, *__first2))
-            ++__first1;
-        else
-        {
-            if (!__comp(*__first2, *__first1))
-            {
-                *__result = *__first1;
-                ++__result;
-                ++__first1;
-            }
-            ++__first2;
-        }
-    }
-    return __result;
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
-                 _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __set_intersection<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_OutputIterator
-set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
-                 _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
-{
-    return _VSTD::set_intersection(__first1, __last1, __first2, __last2, __result,
-                                  __less<typename iterator_traits<_InputIterator1>::value_type,
-                                         typename iterator_traits<_InputIterator2>::value_type>());
-}
-
-// set_difference
-
-template <class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator>
-_OutputIterator
-__set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
-                 _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    while (__first1 != __last1)
-    {
-        if (__first2 == __last2)
-            return _VSTD::copy(__first1, __last1, __result);
-        if (__comp(*__first1, *__first2))
-        {
-            *__result = *__first1;
-            ++__result;
-            ++__first1;
-        }
-        else
-        {
-            if (!__comp(*__first2, *__first1))
-                ++__first1;
-            ++__first2;
-        }
-    }
-    return __result;
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
-               _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __set_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
-               _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
-{
-    return _VSTD::set_difference(__first1, __last1, __first2, __last2, __result,
-                                __less<typename iterator_traits<_InputIterator1>::value_type,
-                                       typename iterator_traits<_InputIterator2>::value_type>());
-}
-
-// set_symmetric_difference
-
-template <class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator>
-_OutputIterator
-__set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
-                           _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    while (__first1 != __last1)
-    {
-        if (__first2 == __last2)
-            return _VSTD::copy(__first1, __last1, __result);
-        if (__comp(*__first1, *__first2))
-        {
-            *__result = *__first1;
-            ++__result;
-            ++__first1;
-        }
-        else
-        {
-            if (__comp(*__first2, *__first1))
-            {
-                *__result = *__first2;
-                ++__result;
-            }
-            else
-                ++__first1;
-            ++__first2;
-        }
-    }
-    return _VSTD::copy(__first2, __last2, __result);
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
-                         _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __set_symmetric_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
-}
-
-template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
-                         _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
-{
-    return _VSTD::set_symmetric_difference(__first1, __last1, __first2, __last2, __result,
-                                          __less<typename iterator_traits<_InputIterator1>::value_type,
-                                                 typename iterator_traits<_InputIterator2>::value_type>());
-}
-
-// lexicographical_compare
-
-template <class _Compare, class _InputIterator1, class _InputIterator2>
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-__lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
-                          _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
-{
-    for (; __first2 != __last2; ++__first1, (void) ++__first2)
-    {
-        if (__first1 == __last1 || __comp(*__first1, *__first2))
-            return true;
-        if (__comp(*__first2, *__first1))
-            return false;
-    }
-    return false;
-}
-
-template <class _InputIterator1, class _InputIterator2, class _Compare>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
-                        _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __lexicographical_compare<_Comp_ref>(__first1, __last1, __first2, __last2, __comp);
-}
-
-template <class _InputIterator1, class _InputIterator2>
-_LIBCPP_NODISCARD_EXT inline
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-bool
-lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
-                        _InputIterator2 __first2, _InputIterator2 __last2)
-{
-    return _VSTD::lexicographical_compare(__first1, __last1, __first2, __last2,
-                                         __less<typename iterator_traits<_InputIterator1>::value_type,
-                                                typename iterator_traits<_InputIterator2>::value_type>());
-}
-
-// next_permutation
-
-template <class _Compare, class _BidirectionalIterator>
-bool
-__next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
-{
-    _BidirectionalIterator __i = __last;
-    if (__first == __last || __first == --__i)
-        return false;
-    while (true)
-    {
-        _BidirectionalIterator __ip1 = __i;
-        if (__comp(*--__i, *__ip1))
-        {
-            _BidirectionalIterator __j = __last;
-            while (!__comp(*__i, *--__j))
-                ;
-            swap(*__i, *__j);
-            _VSTD::reverse(__ip1, __last);
-            return true;
-        }
-        if (__i == __first)
-        {
-            _VSTD::reverse(__first, __last);
-            return false;
-        }
-    }
-}
-
-template <class _BidirectionalIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __next_permutation<_Comp_ref>(__first, __last, __comp);
-}
-
-template <class _BidirectionalIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
-{
-    return _VSTD::next_permutation(__first, __last,
-                                  __less<typename iterator_traits<_BidirectionalIterator>::value_type>());
-}
-
-// prev_permutation
-
-template <class _Compare, class _BidirectionalIterator>
-bool
-__prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
-{
-    _BidirectionalIterator __i = __last;
-    if (__first == __last || __first == --__i)
-        return false;
-    while (true)
-    {
-        _BidirectionalIterator __ip1 = __i;
-        if (__comp(*__ip1, *--__i))
-        {
-            _BidirectionalIterator __j = __last;
-            while (!__comp(*--__j, *__i))
-                ;
-            swap(*__i, *__j);
-            _VSTD::reverse(__ip1, __last);
-            return true;
-        }
-        if (__i == __first)
-        {
-            _VSTD::reverse(__first, __last);
-            return false;
-        }
-    }
-}
-
-template <class _BidirectionalIterator, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
-{
-    typedef typename __comp_ref_type<_Compare>::type _Comp_ref;
-    return __prev_permutation<_Comp_ref>(__first, __last, __comp);
-}
-
-template <class _BidirectionalIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
-{
-    return _VSTD::prev_permutation(__first, __last,
-                                  __less<typename iterator_traits<_BidirectionalIterator>::value_type>());
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17
-#   include <__pstl_algorithm>
-#endif
-
-#endif  // _LIBCPP_ALGORITHM
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/array b/r21/sources/cxx-stl/llvm-libc++/include/array
deleted file mode 100644
index 88e9d57..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/array
+++ /dev/null
@@ -1,484 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- array -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_ARRAY
-#define _LIBCPP_ARRAY
-
-/*
-    array synopsis
-
-namespace std
-{
-template <class T, size_t N >
-struct array
-{
-    // types:
-    typedef T & reference;
-    typedef const T & const_reference;
-    typedef implementation defined iterator;
-    typedef implementation defined const_iterator;
-    typedef size_t size_type;
-    typedef ptrdiff_t difference_type;
-    typedef T value_type;
-    typedef T* pointer;
-    typedef const T* const_pointer;
-    typedef std::reverse_iterator<iterator> reverse_iterator;
-    typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
-    // No explicit construct/copy/destroy for aggregate type
-    void fill(const T& u);
-    void swap(array& a) noexcept(is_nothrow_swappable_v<T>);
-
-    // iterators:
-    iterator begin() noexcept;
-    const_iterator begin() const noexcept;
-    iterator end() noexcept;
-    const_iterator end() const noexcept;
-
-    reverse_iterator rbegin() noexcept;
-    const_reverse_iterator rbegin() const noexcept;
-    reverse_iterator rend() noexcept;
-    const_reverse_iterator rend() const noexcept;
-
-    const_iterator cbegin() const noexcept;
-    const_iterator cend() const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend() const noexcept;
-
-    // capacity:
-    constexpr size_type size() const noexcept;
-    constexpr size_type max_size() const noexcept;
-    constexpr bool empty() const noexcept;
-
-    // element access:
-    reference operator[](size_type n);
-    const_reference operator[](size_type n) const; // constexpr in C++14
-    const_reference at(size_type n) const; // constexpr in C++14
-    reference at(size_type n);
-
-    reference front();
-    const_reference front() const; // constexpr in C++14
-    reference back();
-    const_reference back() const; // constexpr in C++14
-
-    T* data() noexcept;
-    const T* data() const noexcept;
-};
-
-  template <class T, class... U>
-    array(T, U...) -> array<T, 1 + sizeof...(U)>;
-
-template <class T, size_t N>
-  bool operator==(const array<T,N>& x, const array<T,N>& y);
-template <class T, size_t N>
-  bool operator!=(const array<T,N>& x, const array<T,N>& y);
-template <class T, size_t N>
-  bool operator<(const array<T,N>& x, const array<T,N>& y);
-template <class T, size_t N>
-  bool operator>(const array<T,N>& x, const array<T,N>& y);
-template <class T, size_t N>
-  bool operator<=(const array<T,N>& x, const array<T,N>& y);
-template <class T, size_t N>
-  bool operator>=(const array<T,N>& x, const array<T,N>& y);
-
-template <class T, size_t N >
-  void swap(array<T,N>& x, array<T,N>& y) noexcept(noexcept(x.swap(y))); // C++17
-
-template <class T> struct tuple_size;
-template <size_t I, class T> struct tuple_element;
-template <class T, size_t N> struct tuple_size<array<T, N>>;
-template <size_t I, class T, size_t N> struct tuple_element<I, array<T, N>>;
-template <size_t I, class T, size_t N> T& get(array<T, N>&) noexcept; // constexpr in C++14
-template <size_t I, class T, size_t N> const T& get(const array<T, N>&) noexcept; // constexpr in C++14
-template <size_t I, class T, size_t N> T&& get(array<T, N>&&) noexcept; // constexpr in C++14
-template <size_t I, class T, size_t N> const T&& get(const array<T, N>&&) noexcept; // constexpr in C++14
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__tuple>
-#include <type_traits>
-#include <utility>
-#include <iterator>
-#include <algorithm>
-#include <stdexcept>
-#include <cstdlib> // for _LIBCPP_UNREACHABLE
-#include <version>
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-
-template <class _Tp, size_t _Size>
-struct _LIBCPP_TEMPLATE_VIS array
-{
-    // types:
-    typedef array __self;
-    typedef _Tp                                   value_type;
-    typedef value_type&                           reference;
-    typedef const value_type&                     const_reference;
-    typedef value_type*                           iterator;
-    typedef const value_type*                     const_iterator;
-    typedef value_type*                           pointer;
-    typedef const value_type*                     const_pointer;
-    typedef size_t                                size_type;
-    typedef ptrdiff_t                             difference_type;
-    typedef std::reverse_iterator<iterator>       reverse_iterator;
-    typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
-    _Tp __elems_[_Size];
-
-    // No explicit construct/copy/destroy for aggregate type
-    _LIBCPP_INLINE_VISIBILITY void fill(const value_type& __u) {
-      _VSTD::fill_n(__elems_, _Size, __u);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(array& __a) _NOEXCEPT_(__is_nothrow_swappable<_Tp>::value) {
-      std::swap_ranges(__elems_, __elems_ + _Size, __a.__elems_);
-    }
-
-    // iterators:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    iterator begin() _NOEXCEPT {return iterator(data());}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const_iterator begin() const _NOEXCEPT {return const_iterator(data());}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    iterator end() _NOEXCEPT {return iterator(data() + _Size);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const_iterator end() const _NOEXCEPT {return const_iterator(data() + _Size);}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator rbegin() _NOEXCEPT {return reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const_reverse_iterator rbegin() const _NOEXCEPT {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator rend() _NOEXCEPT {return reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const_reverse_iterator rend() const _NOEXCEPT {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const_iterator cbegin() const _NOEXCEPT {return begin();}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const_iterator cend() const _NOEXCEPT {return end();}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const_reverse_iterator crend() const _NOEXCEPT {return rend();}
-
-    // capacity:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR size_type size() const _NOEXCEPT {return _Size;}
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR size_type max_size() const _NOEXCEPT {return _Size;}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR bool empty() const _NOEXCEPT {return false; }
-
-    // element access:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reference operator[](size_type __n)             _NOEXCEPT {return __elems_[__n];}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const_reference operator[](size_type __n) const _NOEXCEPT {return __elems_[__n];}
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX14       reference at(size_type __n);
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 const_reference at(size_type __n) const;
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 reference front()             _NOEXCEPT {return __elems_[0];}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const_reference front() const _NOEXCEPT {return __elems_[0];}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 reference back()              _NOEXCEPT {return __elems_[_Size - 1];}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const_reference back() const  _NOEXCEPT {return __elems_[_Size - 1];}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    value_type* data() _NOEXCEPT {return __elems_;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    const value_type* data() const _NOEXCEPT {return __elems_;}
-};
-
-
-template <class _Tp, size_t _Size>
-_LIBCPP_CONSTEXPR_AFTER_CXX14
-typename array<_Tp, _Size>::reference
-array<_Tp, _Size>::at(size_type __n)
-{
-    if (__n >= _Size)
-        __throw_out_of_range("array::at");
-
-    return __elems_[__n];
-}
-
-template <class _Tp, size_t _Size>
-_LIBCPP_CONSTEXPR_AFTER_CXX11
-typename array<_Tp, _Size>::const_reference
-array<_Tp, _Size>::at(size_type __n) const
-{
-    if (__n >= _Size)
-        __throw_out_of_range("array::at");
-    return __elems_[__n];
-}
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS array<_Tp, 0>
-{
-    // types:
-    typedef array __self;
-    typedef _Tp                                   value_type;
-    typedef value_type&                           reference;
-    typedef const value_type&                     const_reference;
-    typedef value_type*                           iterator;
-    typedef const value_type*                     const_iterator;
-    typedef value_type*                           pointer;
-    typedef const value_type*                     const_pointer;
-    typedef size_t                                size_type;
-    typedef ptrdiff_t                             difference_type;
-    typedef std::reverse_iterator<iterator>       reverse_iterator;
-    typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
-    typedef typename conditional<is_const<_Tp>::value, const char,
-                                char>::type _CharType;
-
-    struct  _ArrayInStructT { _Tp __data_[1]; };
-    _ALIGNAS_TYPE(_ArrayInStructT) _CharType __elems_[sizeof(_ArrayInStructT)];
-
-    // No explicit construct/copy/destroy for aggregate type
-    _LIBCPP_INLINE_VISIBILITY void fill(const value_type&) {
-      static_assert(!is_const<_Tp>::value,
-                    "cannot fill zero-sized array of type 'const T'");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(array&) _NOEXCEPT {
-      static_assert(!is_const<_Tp>::value,
-                    "cannot swap zero-sized array of type 'const T'");
-    }
-
-    // iterators:
-    _LIBCPP_INLINE_VISIBILITY
-    iterator begin() _NOEXCEPT {return iterator(data());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT {return const_iterator(data());}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator end() _NOEXCEPT {return iterator(data());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT {return const_iterator(data());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator rbegin() _NOEXCEPT {return reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin() const _NOEXCEPT {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator rend() _NOEXCEPT {return reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend() const _NOEXCEPT {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT {return begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend() const _NOEXCEPT {return end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend() const _NOEXCEPT {return rend();}
-
-    // capacity:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR size_type size() const _NOEXCEPT {return 0; }
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR size_type max_size() const _NOEXCEPT {return 0;}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR bool empty() const _NOEXCEPT {return true;}
-
-    // element access:
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator[](size_type) _NOEXCEPT {
-      _LIBCPP_ASSERT(false, "cannot call array<T, 0>::operator[] on a zero-sized array");
-      _LIBCPP_UNREACHABLE();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const_reference operator[](size_type) const _NOEXCEPT {
-      _LIBCPP_ASSERT(false, "cannot call array<T, 0>::operator[] on a zero-sized array");
-      _LIBCPP_UNREACHABLE();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference at(size_type) {
-      __throw_out_of_range("array<T, 0>::at");
-      _LIBCPP_UNREACHABLE();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference at(size_type) const {
-      __throw_out_of_range("array<T, 0>::at");
-      _LIBCPP_UNREACHABLE();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference front() _NOEXCEPT {
-      _LIBCPP_ASSERT(false, "cannot call array<T, 0>::front() on a zero-sized array");
-      _LIBCPP_UNREACHABLE();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference front() const _NOEXCEPT {
-      _LIBCPP_ASSERT(false, "cannot call array<T, 0>::front() on a zero-sized array");
-      _LIBCPP_UNREACHABLE();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference back() _NOEXCEPT {
-      _LIBCPP_ASSERT(false, "cannot call array<T, 0>::back() on a zero-sized array");
-      _LIBCPP_UNREACHABLE();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference back() const _NOEXCEPT {
-      _LIBCPP_ASSERT(false, "cannot call array<T, 0>::back() on a zero-sized array");
-      _LIBCPP_UNREACHABLE();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type* data() _NOEXCEPT {return reinterpret_cast<value_type*>(__elems_);}
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type* data() const _NOEXCEPT {return reinterpret_cast<const value_type*>(__elems_);}
-};
-
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _Tp, class... _Args,
-         class = typename enable_if<(is_same_v<_Tp, _Args> && ...), void>::type
-         >
-array(_Tp, _Args...)
-  -> array<_Tp, 1 + sizeof...(_Args)>;
-#endif
-
-template <class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
-{
-    return _VSTD::equal(__x.begin(), __x.end(), __y.begin());
-}
-
-template <class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(),
-                                          __y.begin(), __y.end());
-}
-
-template <class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-operator>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-operator<=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
-operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    _Size == 0 ||
-    __is_swappable<_Tp>::value,
-    void
->::type
-swap(array<_Tp, _Size>& __x, array<_Tp, _Size>& __y)
-                                  _NOEXCEPT_(noexcept(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-template <class _Tp, size_t _Size>
-struct _LIBCPP_TEMPLATE_VIS tuple_size<array<_Tp, _Size> >
-    : public integral_constant<size_t, _Size> {};
-
-template <size_t _Ip, class _Tp, size_t _Size>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, array<_Tp, _Size> >
-{
-    static_assert(_Ip < _Size, "Index out of bounds in std::tuple_element<> (std::array)");
-    typedef _Tp type;
-};
-
-template <size_t _Ip, class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp&
-get(array<_Tp, _Size>& __a) _NOEXCEPT
-{
-    static_assert(_Ip < _Size, "Index out of bounds in std::get<> (std::array)");
-    return __a.__elems_[_Ip];
-}
-
-template <size_t _Ip, class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Tp&
-get(const array<_Tp, _Size>& __a) _NOEXCEPT
-{
-    static_assert(_Ip < _Size, "Index out of bounds in std::get<> (const std::array)");
-    return __a.__elems_[_Ip];
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <size_t _Ip, class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp&&
-get(array<_Tp, _Size>&& __a) _NOEXCEPT
-{
-    static_assert(_Ip < _Size, "Index out of bounds in std::get<> (std::array &&)");
-    return _VSTD::move(__a.__elems_[_Ip]);
-}
-
-template <size_t _Ip, class _Tp, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Tp&&
-get(const array<_Tp, _Size>&& __a) _NOEXCEPT
-{
-    static_assert(_Ip < _Size, "Index out of bounds in std::get<> (const std::array &&)");
-    return _VSTD::move(__a.__elems_[_Ip]);
-}
-
-#endif  // !_LIBCPP_CXX03_LANG
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_ARRAY
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/atomic b/r21/sources/cxx-stl/llvm-libc++/include/atomic
deleted file mode 100644
index afb431e..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/atomic
+++ /dev/null
@@ -1,2442 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- atomic -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_ATOMIC
-#define _LIBCPP_ATOMIC
-
-/*
-    atomic synopsis
-
-namespace std
-{
-
-// feature test macro
-
-#define __cpp_lib_atomic_is_always_lock_free // as specified by SG10
-
- // order and consistency
-
- enum memory_order: unspecified // enum class in C++20
- {
-    relaxed,
-    consume, // load-consume
-    acquire, // load-acquire
-    release, // store-release
-    acq_rel, // store-release load-acquire
-    seq_cst // store-release load-acquire
- };
-
- inline constexpr auto memory_order_relaxed = memory_order::relaxed;
- inline constexpr auto memory_order_consume = memory_order::consume;
- inline constexpr auto memory_order_acquire = memory_order::acquire;
- inline constexpr auto memory_order_release = memory_order::release;
- inline constexpr auto memory_order_acq_rel = memory_order::acq_rel;
- inline constexpr auto memory_order_seq_cst = memory_order::seq_cst;
-
-template <class T> T kill_dependency(T y) noexcept;
-
-// lock-free property
-
-#define ATOMIC_BOOL_LOCK_FREE unspecified
-#define ATOMIC_CHAR_LOCK_FREE unspecified
-#define ATOMIC_CHAR16_T_LOCK_FREE unspecified
-#define ATOMIC_CHAR32_T_LOCK_FREE unspecified
-#define ATOMIC_WCHAR_T_LOCK_FREE unspecified
-#define ATOMIC_SHORT_LOCK_FREE unspecified
-#define ATOMIC_INT_LOCK_FREE unspecified
-#define ATOMIC_LONG_LOCK_FREE unspecified
-#define ATOMIC_LLONG_LOCK_FREE unspecified
-#define ATOMIC_POINTER_LOCK_FREE unspecified
-
-// flag type and operations
-
-typedef struct atomic_flag
-{
-    bool test_and_set(memory_order m = memory_order_seq_cst) volatile noexcept;
-    bool test_and_set(memory_order m = memory_order_seq_cst) noexcept;
-    void clear(memory_order m = memory_order_seq_cst) volatile noexcept;
-    void clear(memory_order m = memory_order_seq_cst) noexcept;
-    atomic_flag()  noexcept = default;
-    atomic_flag(const atomic_flag&) = delete;
-    atomic_flag& operator=(const atomic_flag&) = delete;
-    atomic_flag& operator=(const atomic_flag&) volatile = delete;
-} atomic_flag;
-
-bool
-    atomic_flag_test_and_set(volatile atomic_flag* obj) noexcept;
-
-bool
-    atomic_flag_test_and_set(atomic_flag* obj) noexcept;
-
-bool
-    atomic_flag_test_and_set_explicit(volatile atomic_flag* obj,
-                                      memory_order m) noexcept;
-
-bool
-    atomic_flag_test_and_set_explicit(atomic_flag* obj, memory_order m) noexcept;
-
-void
-    atomic_flag_clear(volatile atomic_flag* obj) noexcept;
-
-void
-    atomic_flag_clear(atomic_flag* obj) noexcept;
-
-void
-    atomic_flag_clear_explicit(volatile atomic_flag* obj, memory_order m) noexcept;
-
-void
-    atomic_flag_clear_explicit(atomic_flag* obj, memory_order m) noexcept;
-
-#define ATOMIC_FLAG_INIT see below
-#define ATOMIC_VAR_INIT(value) see below
-
-template <class T>
-struct atomic
-{
-    static constexpr bool is_always_lock_free;
-    bool is_lock_free() const volatile noexcept;
-    bool is_lock_free() const noexcept;
-    void store(T desr, memory_order m = memory_order_seq_cst) volatile noexcept;
-    void store(T desr, memory_order m = memory_order_seq_cst) noexcept;
-    T load(memory_order m = memory_order_seq_cst) const volatile noexcept;
-    T load(memory_order m = memory_order_seq_cst) const noexcept;
-    operator T() const volatile noexcept;
-    operator T() const noexcept;
-    T exchange(T desr, memory_order m = memory_order_seq_cst) volatile noexcept;
-    T exchange(T desr, memory_order m = memory_order_seq_cst) noexcept;
-    bool compare_exchange_weak(T& expc, T desr,
-                               memory_order s, memory_order f) volatile noexcept;
-    bool compare_exchange_weak(T& expc, T desr, memory_order s, memory_order f) noexcept;
-    bool compare_exchange_strong(T& expc, T desr,
-                                 memory_order s, memory_order f) volatile noexcept;
-    bool compare_exchange_strong(T& expc, T desr,
-                                 memory_order s, memory_order f) noexcept;
-    bool compare_exchange_weak(T& expc, T desr,
-                               memory_order m = memory_order_seq_cst) volatile noexcept;
-    bool compare_exchange_weak(T& expc, T desr,
-                               memory_order m = memory_order_seq_cst) noexcept;
-    bool compare_exchange_strong(T& expc, T desr,
-                                memory_order m = memory_order_seq_cst) volatile noexcept;
-    bool compare_exchange_strong(T& expc, T desr,
-                                 memory_order m = memory_order_seq_cst) noexcept;
-
-    atomic() noexcept = default;
-    constexpr atomic(T desr) noexcept;
-    atomic(const atomic&) = delete;
-    atomic& operator=(const atomic&) = delete;
-    atomic& operator=(const atomic&) volatile = delete;
-    T operator=(T) volatile noexcept;
-    T operator=(T) noexcept;
-};
-
-template <>
-struct atomic<integral>
-{
-    static constexpr bool is_always_lock_free;
-    bool is_lock_free() const volatile noexcept;
-    bool is_lock_free() const noexcept;
-    void store(integral desr, memory_order m = memory_order_seq_cst) volatile noexcept;
-    void store(integral desr, memory_order m = memory_order_seq_cst) noexcept;
-    integral load(memory_order m = memory_order_seq_cst) const volatile noexcept;
-    integral load(memory_order m = memory_order_seq_cst) const noexcept;
-    operator integral() const volatile noexcept;
-    operator integral() const noexcept;
-    integral exchange(integral desr,
-                      memory_order m = memory_order_seq_cst) volatile noexcept;
-    integral exchange(integral desr, memory_order m = memory_order_seq_cst) noexcept;
-    bool compare_exchange_weak(integral& expc, integral desr,
-                               memory_order s, memory_order f) volatile noexcept;
-    bool compare_exchange_weak(integral& expc, integral desr,
-                               memory_order s, memory_order f) noexcept;
-    bool compare_exchange_strong(integral& expc, integral desr,
-                                 memory_order s, memory_order f) volatile noexcept;
-    bool compare_exchange_strong(integral& expc, integral desr,
-                                 memory_order s, memory_order f) noexcept;
-    bool compare_exchange_weak(integral& expc, integral desr,
-                               memory_order m = memory_order_seq_cst) volatile noexcept;
-    bool compare_exchange_weak(integral& expc, integral desr,
-                               memory_order m = memory_order_seq_cst) noexcept;
-    bool compare_exchange_strong(integral& expc, integral desr,
-                                memory_order m = memory_order_seq_cst) volatile noexcept;
-    bool compare_exchange_strong(integral& expc, integral desr,
-                                 memory_order m = memory_order_seq_cst) noexcept;
-
-    integral
-        fetch_add(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
-    integral fetch_add(integral op, memory_order m = memory_order_seq_cst) noexcept;
-    integral
-        fetch_sub(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
-    integral fetch_sub(integral op, memory_order m = memory_order_seq_cst) noexcept;
-    integral
-        fetch_and(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
-    integral fetch_and(integral op, memory_order m = memory_order_seq_cst) noexcept;
-    integral
-        fetch_or(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
-    integral fetch_or(integral op, memory_order m = memory_order_seq_cst) noexcept;
-    integral
-        fetch_xor(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
-    integral fetch_xor(integral op, memory_order m = memory_order_seq_cst) noexcept;
-
-    atomic() noexcept = default;
-    constexpr atomic(integral desr) noexcept;
-    atomic(const atomic&) = delete;
-    atomic& operator=(const atomic&) = delete;
-    atomic& operator=(const atomic&) volatile = delete;
-    integral operator=(integral desr) volatile noexcept;
-    integral operator=(integral desr) noexcept;
-
-    integral operator++(int) volatile noexcept;
-    integral operator++(int) noexcept;
-    integral operator--(int) volatile noexcept;
-    integral operator--(int) noexcept;
-    integral operator++() volatile noexcept;
-    integral operator++() noexcept;
-    integral operator--() volatile noexcept;
-    integral operator--() noexcept;
-    integral operator+=(integral op) volatile noexcept;
-    integral operator+=(integral op) noexcept;
-    integral operator-=(integral op) volatile noexcept;
-    integral operator-=(integral op) noexcept;
-    integral operator&=(integral op) volatile noexcept;
-    integral operator&=(integral op) noexcept;
-    integral operator|=(integral op) volatile noexcept;
-    integral operator|=(integral op) noexcept;
-    integral operator^=(integral op) volatile noexcept;
-    integral operator^=(integral op) noexcept;
-};
-
-template <class T>
-struct atomic<T*>
-{
-    static constexpr bool is_always_lock_free;
-    bool is_lock_free() const volatile noexcept;
-    bool is_lock_free() const noexcept;
-    void store(T* desr, memory_order m = memory_order_seq_cst) volatile noexcept;
-    void store(T* desr, memory_order m = memory_order_seq_cst) noexcept;
-    T* load(memory_order m = memory_order_seq_cst) const volatile noexcept;
-    T* load(memory_order m = memory_order_seq_cst) const noexcept;
-    operator T*() const volatile noexcept;
-    operator T*() const noexcept;
-    T* exchange(T* desr, memory_order m = memory_order_seq_cst) volatile noexcept;
-    T* exchange(T* desr, memory_order m = memory_order_seq_cst) noexcept;
-    bool compare_exchange_weak(T*& expc, T* desr,
-                               memory_order s, memory_order f) volatile noexcept;
-    bool compare_exchange_weak(T*& expc, T* desr,
-                               memory_order s, memory_order f) noexcept;
-    bool compare_exchange_strong(T*& expc, T* desr,
-                                 memory_order s, memory_order f) volatile noexcept;
-    bool compare_exchange_strong(T*& expc, T* desr,
-                                 memory_order s, memory_order f) noexcept;
-    bool compare_exchange_weak(T*& expc, T* desr,
-                               memory_order m = memory_order_seq_cst) volatile noexcept;
-    bool compare_exchange_weak(T*& expc, T* desr,
-                               memory_order m = memory_order_seq_cst) noexcept;
-    bool compare_exchange_strong(T*& expc, T* desr,
-                                memory_order m = memory_order_seq_cst) volatile noexcept;
-    bool compare_exchange_strong(T*& expc, T* desr,
-                                 memory_order m = memory_order_seq_cst) noexcept;
-    T* fetch_add(ptrdiff_t op, memory_order m = memory_order_seq_cst) volatile noexcept;
-    T* fetch_add(ptrdiff_t op, memory_order m = memory_order_seq_cst) noexcept;
-    T* fetch_sub(ptrdiff_t op, memory_order m = memory_order_seq_cst) volatile noexcept;
-    T* fetch_sub(ptrdiff_t op, memory_order m = memory_order_seq_cst) noexcept;
-
-    atomic() noexcept = default;
-    constexpr atomic(T* desr) noexcept;
-    atomic(const atomic&) = delete;
-    atomic& operator=(const atomic&) = delete;
-    atomic& operator=(const atomic&) volatile = delete;
-
-    T* operator=(T*) volatile noexcept;
-    T* operator=(T*) noexcept;
-    T* operator++(int) volatile noexcept;
-    T* operator++(int) noexcept;
-    T* operator--(int) volatile noexcept;
-    T* operator--(int) noexcept;
-    T* operator++() volatile noexcept;
-    T* operator++() noexcept;
-    T* operator--() volatile noexcept;
-    T* operator--() noexcept;
-    T* operator+=(ptrdiff_t op) volatile noexcept;
-    T* operator+=(ptrdiff_t op) noexcept;
-    T* operator-=(ptrdiff_t op) volatile noexcept;
-    T* operator-=(ptrdiff_t op) noexcept;
-};
-
-
-template <class T>
-    bool
-    atomic_is_lock_free(const volatile atomic<T>* obj) noexcept;
-
-template <class T>
-    bool
-    atomic_is_lock_free(const atomic<T>* obj) noexcept;
-
-template <class T>
-    void
-    atomic_init(volatile atomic<T>* obj, T desr) noexcept;
-
-template <class T>
-    void
-    atomic_init(atomic<T>* obj, T desr) noexcept;
-
-template <class T>
-    void
-    atomic_store(volatile atomic<T>* obj, T desr) noexcept;
-
-template <class T>
-    void
-    atomic_store(atomic<T>* obj, T desr) noexcept;
-
-template <class T>
-    void
-    atomic_store_explicit(volatile atomic<T>* obj, T desr, memory_order m) noexcept;
-
-template <class T>
-    void
-    atomic_store_explicit(atomic<T>* obj, T desr, memory_order m) noexcept;
-
-template <class T>
-    T
-    atomic_load(const volatile atomic<T>* obj) noexcept;
-
-template <class T>
-    T
-    atomic_load(const atomic<T>* obj) noexcept;
-
-template <class T>
-    T
-    atomic_load_explicit(const volatile atomic<T>* obj, memory_order m) noexcept;
-
-template <class T>
-    T
-    atomic_load_explicit(const atomic<T>* obj, memory_order m) noexcept;
-
-template <class T>
-    T
-    atomic_exchange(volatile atomic<T>* obj, T desr) noexcept;
-
-template <class T>
-    T
-    atomic_exchange(atomic<T>* obj, T desr) noexcept;
-
-template <class T>
-    T
-    atomic_exchange_explicit(volatile atomic<T>* obj, T desr, memory_order m) noexcept;
-
-template <class T>
-    T
-    atomic_exchange_explicit(atomic<T>* obj, T desr, memory_order m) noexcept;
-
-template <class T>
-    bool
-    atomic_compare_exchange_weak(volatile atomic<T>* obj, T* expc, T desr) noexcept;
-
-template <class T>
-    bool
-    atomic_compare_exchange_weak(atomic<T>* obj, T* expc, T desr) noexcept;
-
-template <class T>
-    bool
-    atomic_compare_exchange_strong(volatile atomic<T>* obj, T* expc, T desr) noexcept;
-
-template <class T>
-    bool
-    atomic_compare_exchange_strong(atomic<T>* obj, T* expc, T desr) noexcept;
-
-template <class T>
-    bool
-    atomic_compare_exchange_weak_explicit(volatile atomic<T>* obj, T* expc,
-                                          T desr,
-                                          memory_order s, memory_order f) noexcept;
-
-template <class T>
-    bool
-    atomic_compare_exchange_weak_explicit(atomic<T>* obj, T* expc, T desr,
-                                          memory_order s, memory_order f) noexcept;
-
-template <class T>
-    bool
-    atomic_compare_exchange_strong_explicit(volatile atomic<T>* obj,
-                                            T* expc, T desr,
-                                            memory_order s, memory_order f) noexcept;
-
-template <class T>
-    bool
-    atomic_compare_exchange_strong_explicit(atomic<T>* obj, T* expc,
-                                            T desr,
-                                            memory_order s, memory_order f) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_add(volatile atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_add(atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_add_explicit(volatile atomic<Integral>* obj, Integral op,
-                              memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_add_explicit(atomic<Integral>* obj, Integral op,
-                              memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_sub(volatile atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_sub(atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_sub_explicit(volatile atomic<Integral>* obj, Integral op,
-                              memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_sub_explicit(atomic<Integral>* obj, Integral op,
-                              memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_and(volatile atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_and(atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_and_explicit(volatile atomic<Integral>* obj, Integral op,
-                              memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_and_explicit(atomic<Integral>* obj, Integral op,
-                              memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_or(volatile atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_or(atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_or_explicit(volatile atomic<Integral>* obj, Integral op,
-                             memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_or_explicit(atomic<Integral>* obj, Integral op,
-                             memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_xor(volatile atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_xor(atomic<Integral>* obj, Integral op) noexcept;
-
-template <class Integral>
-    Integral
-    atomic_fetch_xor_explicit(volatile atomic<Integral>* obj, Integral op,
-                              memory_order m) noexcept;
-template <class Integral>
-    Integral
-    atomic_fetch_xor_explicit(atomic<Integral>* obj, Integral op,
-                              memory_order m) noexcept;
-
-template <class T>
-    T*
-    atomic_fetch_add(volatile atomic<T*>* obj, ptrdiff_t op) noexcept;
-
-template <class T>
-    T*
-    atomic_fetch_add(atomic<T*>* obj, ptrdiff_t op) noexcept;
-
-template <class T>
-    T*
-    atomic_fetch_add_explicit(volatile atomic<T*>* obj, ptrdiff_t op,
-                              memory_order m) noexcept;
-template <class T>
-    T*
-    atomic_fetch_add_explicit(atomic<T*>* obj, ptrdiff_t op, memory_order m) noexcept;
-
-template <class T>
-    T*
-    atomic_fetch_sub(volatile atomic<T*>* obj, ptrdiff_t op) noexcept;
-
-template <class T>
-    T*
-    atomic_fetch_sub(atomic<T*>* obj, ptrdiff_t op) noexcept;
-
-template <class T>
-    T*
-    atomic_fetch_sub_explicit(volatile atomic<T*>* obj, ptrdiff_t op,
-                              memory_order m) noexcept;
-template <class T>
-    T*
-    atomic_fetch_sub_explicit(atomic<T*>* obj, ptrdiff_t op, memory_order m) noexcept;
-
-// Atomics for standard typedef types
-
-typedef atomic<bool>               atomic_bool;
-typedef atomic<char>               atomic_char;
-typedef atomic<signed char>        atomic_schar;
-typedef atomic<unsigned char>      atomic_uchar;
-typedef atomic<short>              atomic_short;
-typedef atomic<unsigned short>     atomic_ushort;
-typedef atomic<int>                atomic_int;
-typedef atomic<unsigned int>       atomic_uint;
-typedef atomic<long>               atomic_long;
-typedef atomic<unsigned long>      atomic_ulong;
-typedef atomic<long long>          atomic_llong;
-typedef atomic<unsigned long long> atomic_ullong;
-typedef atomic<char16_t>           atomic_char16_t;
-typedef atomic<char32_t>           atomic_char32_t;
-typedef atomic<wchar_t>            atomic_wchar_t;
-
-typedef atomic<int_least8_t>   atomic_int_least8_t;
-typedef atomic<uint_least8_t>  atomic_uint_least8_t;
-typedef atomic<int_least16_t>  atomic_int_least16_t;
-typedef atomic<uint_least16_t> atomic_uint_least16_t;
-typedef atomic<int_least32_t>  atomic_int_least32_t;
-typedef atomic<uint_least32_t> atomic_uint_least32_t;
-typedef atomic<int_least64_t>  atomic_int_least64_t;
-typedef atomic<uint_least64_t> atomic_uint_least64_t;
-
-typedef atomic<int_fast8_t>   atomic_int_fast8_t;
-typedef atomic<uint_fast8_t>  atomic_uint_fast8_t;
-typedef atomic<int_fast16_t>  atomic_int_fast16_t;
-typedef atomic<uint_fast16_t> atomic_uint_fast16_t;
-typedef atomic<int_fast32_t>  atomic_int_fast32_t;
-typedef atomic<uint_fast32_t> atomic_uint_fast32_t;
-typedef atomic<int_fast64_t>  atomic_int_fast64_t;
-typedef atomic<uint_fast64_t> atomic_uint_fast64_t;
-
-typedef atomic<int8_t>   atomic_int8_t;
-typedef atomic<uint8_t>  atomic_uint8_t;
-typedef atomic<int16_t>  atomic_int16_t;
-typedef atomic<uint16_t> atomic_uint16_t;
-typedef atomic<int32_t>  atomic_int32_t;
-typedef atomic<uint32_t> atomic_uint32_t;
-typedef atomic<int64_t>  atomic_int64_t;
-typedef atomic<uint64_t> atomic_uint64_t;
-
-typedef atomic<intptr_t>  atomic_intptr_t;
-typedef atomic<uintptr_t> atomic_uintptr_t;
-typedef atomic<size_t>    atomic_size_t;
-typedef atomic<ptrdiff_t> atomic_ptrdiff_t;
-typedef atomic<intmax_t>  atomic_intmax_t;
-typedef atomic<uintmax_t> atomic_uintmax_t;
-
-// fences
-
-void atomic_thread_fence(memory_order m) noexcept;
-void atomic_signal_fence(memory_order m) noexcept;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <cstddef>
-#include <cstdint>
-#include <type_traits>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef _LIBCPP_HAS_NO_THREADS
-# error <atomic> is not supported on this single threaded system
-#endif
-#ifdef _LIBCPP_HAS_NO_ATOMIC_HEADER
-# error <atomic> is not implemented
-#endif
-#ifdef kill_dependency
-# error C++ standard library is incompatible with <stdatomic.h>
-#endif
-
-#define _LIBCPP_CHECK_STORE_MEMORY_ORDER(__m) \
-  _LIBCPP_DIAGNOSE_WARNING(__m == memory_order_consume || \
-                           __m == memory_order_acquire || \
-                           __m == memory_order_acq_rel,   \
-                        "memory order argument to atomic operation is invalid")
-
-#define _LIBCPP_CHECK_LOAD_MEMORY_ORDER(__m) \
-  _LIBCPP_DIAGNOSE_WARNING(__m == memory_order_release || \
-                           __m == memory_order_acq_rel,   \
-                        "memory order argument to atomic operation is invalid")
-
-#define _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__m, __f) \
-  _LIBCPP_DIAGNOSE_WARNING(__f == memory_order_release || \
-                           __f == memory_order_acq_rel,   \
-                        "memory order argument to atomic operation is invalid")
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// Figure out what the underlying type for `memory_order` would be if it were
-// declared as an unscoped enum (accounting for -fshort-enums). Use this result
-// to pin the underlying type in C++20.
-enum __legacy_memory_order {
-    __mo_relaxed,
-    __mo_consume,
-    __mo_acquire,
-    __mo_release,
-    __mo_acq_rel,
-    __mo_seq_cst
-};
-
-typedef underlying_type<__legacy_memory_order>::type __memory_order_underlying_t;
-
-#if _LIBCPP_STD_VER > 17
-
-enum class memory_order : __memory_order_underlying_t {
-  relaxed = __mo_relaxed,
-  consume = __mo_consume,
-  acquire = __mo_acquire,
-  release = __mo_release,
-  acq_rel = __mo_acq_rel,
-  seq_cst = __mo_seq_cst
-};
-
-inline constexpr auto memory_order_relaxed = memory_order::relaxed;
-inline constexpr auto memory_order_consume = memory_order::consume;
-inline constexpr auto memory_order_acquire = memory_order::acquire;
-inline constexpr auto memory_order_release = memory_order::release;
-inline constexpr auto memory_order_acq_rel = memory_order::acq_rel;
-inline constexpr auto memory_order_seq_cst = memory_order::seq_cst;
-
-#else
-
-typedef enum memory_order {
-  memory_order_relaxed = __mo_relaxed,
-  memory_order_consume = __mo_consume,
-  memory_order_acquire = __mo_acquire,
-  memory_order_release = __mo_release,
-  memory_order_acq_rel = __mo_acq_rel,
-  memory_order_seq_cst = __mo_seq_cst,
-} memory_order;
-
-#endif // _LIBCPP_STD_VER > 17
-
-static_assert((is_same<underlying_type<memory_order>::type, __memory_order_underlying_t>::value),
-  "unexpected underlying type for std::memory_order");
-
-#if defined(_LIBCPP_HAS_GCC_ATOMIC_IMP) || \
-	defined(_LIBCPP_ATOMIC_ONLY_USE_BUILTINS)
-
-// [atomics.types.generic]p1 guarantees _Tp is trivially copyable. Because
-// the default operator= in an object is not volatile, a byte-by-byte copy
-// is required.
-template <typename _Tp, typename _Tv> _LIBCPP_INLINE_VISIBILITY
-typename enable_if<is_assignable<_Tp&, _Tv>::value>::type
-__cxx_atomic_assign_volatile(_Tp& __a_value, _Tv const& __val) {
-  __a_value = __val;
-}
-template <typename _Tp, typename _Tv> _LIBCPP_INLINE_VISIBILITY
-typename enable_if<is_assignable<_Tp&, _Tv>::value>::type
-__cxx_atomic_assign_volatile(_Tp volatile& __a_value, _Tv volatile const& __val) {
-  volatile char* __to = reinterpret_cast<volatile char*>(&__a_value);
-  volatile char* __end = __to + sizeof(_Tp);
-  volatile const char* __from = reinterpret_cast<volatile const char*>(&__val);
-  while (__to != __end)
-    *__to++ = *__from++;
-}
-
-#endif
-
-#if defined(_LIBCPP_HAS_GCC_ATOMIC_IMP)
-
-template <typename _Tp>
-struct __cxx_atomic_base_impl {
-
-  _LIBCPP_INLINE_VISIBILITY
-#ifndef _LIBCPP_CXX03_LANG
-    __cxx_atomic_base_impl() _NOEXCEPT = default;
-#else
-    __cxx_atomic_base_impl() _NOEXCEPT : __a_value() {}
-#endif // _LIBCPP_CXX03_LANG
-  _LIBCPP_CONSTEXPR explicit __cxx_atomic_base_impl(_Tp value) _NOEXCEPT
-    : __a_value(value) {}
-  _Tp __a_value;
-};
-
-_LIBCPP_INLINE_VISIBILITY inline _LIBCPP_CONSTEXPR int __to_gcc_order(memory_order __order) {
-  // Avoid switch statement to make this a constexpr.
-  return __order == memory_order_relaxed ? __ATOMIC_RELAXED:
-         (__order == memory_order_acquire ? __ATOMIC_ACQUIRE:
-          (__order == memory_order_release ? __ATOMIC_RELEASE:
-           (__order == memory_order_seq_cst ? __ATOMIC_SEQ_CST:
-            (__order == memory_order_acq_rel ? __ATOMIC_ACQ_REL:
-              __ATOMIC_CONSUME))));
-}
-
-_LIBCPP_INLINE_VISIBILITY inline _LIBCPP_CONSTEXPR int __to_gcc_failure_order(memory_order __order) {
-  // Avoid switch statement to make this a constexpr.
-  return __order == memory_order_relaxed ? __ATOMIC_RELAXED:
-         (__order == memory_order_acquire ? __ATOMIC_ACQUIRE:
-          (__order == memory_order_release ? __ATOMIC_RELAXED:
-           (__order == memory_order_seq_cst ? __ATOMIC_SEQ_CST:
-            (__order == memory_order_acq_rel ? __ATOMIC_ACQUIRE:
-              __ATOMIC_CONSUME))));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_init(volatile __cxx_atomic_base_impl<_Tp>* __a,  _Tp __val) {
-  __cxx_atomic_assign_volatile(__a->__a_value, __val);
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_init(__cxx_atomic_base_impl<_Tp>* __a,  _Tp __val) {
-  __a->__a_value = __val;
-}
-
-_LIBCPP_INLINE_VISIBILITY inline
-void __cxx_atomic_thread_fence(memory_order __order) {
-  __atomic_thread_fence(__to_gcc_order(__order));
-}
-
-_LIBCPP_INLINE_VISIBILITY inline
-void __cxx_atomic_signal_fence(memory_order __order) {
-  __atomic_signal_fence(__to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_store(volatile __cxx_atomic_base_impl<_Tp>* __a,  _Tp __val,
-                        memory_order __order) {
-  __atomic_store(&__a->__a_value, &__val,
-                 __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp>* __a,  _Tp __val,
-                        memory_order __order) {
-  __atomic_store(&__a->__a_value, &__val,
-                 __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_load(const volatile __cxx_atomic_base_impl<_Tp>* __a,
-                      memory_order __order) {
-  _Tp __ret;
-  __atomic_load(&__a->__a_value, &__ret,
-                __to_gcc_order(__order));
-  return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_load(const __cxx_atomic_base_impl<_Tp>* __a, memory_order __order) {
-  _Tp __ret;
-  __atomic_load(&__a->__a_value, &__ret,
-                __to_gcc_order(__order));
-  return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_exchange(volatile __cxx_atomic_base_impl<_Tp>* __a,
-                          _Tp __value, memory_order __order) {
-  _Tp __ret;
-  __atomic_exchange(&__a->__a_value, &__value, &__ret,
-                    __to_gcc_order(__order));
-  return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp>* __a, _Tp __value,
-                          memory_order __order) {
-  _Tp __ret;
-  __atomic_exchange(&__a->__a_value, &__value, &__ret,
-                    __to_gcc_order(__order));
-  return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_strong(
-    volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value,
-    memory_order __success, memory_order __failure) {
-  return __atomic_compare_exchange(&__a->__a_value, __expected, &__value,
-                                   false,
-                                   __to_gcc_order(__success),
-                                   __to_gcc_failure_order(__failure));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_strong(
-    __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success,
-    memory_order __failure) {
-  return __atomic_compare_exchange(&__a->__a_value, __expected, &__value,
-                                   false,
-                                   __to_gcc_order(__success),
-                                   __to_gcc_failure_order(__failure));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_weak(
-    volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value,
-    memory_order __success, memory_order __failure) {
-  return __atomic_compare_exchange(&__a->__a_value, __expected, &__value,
-                                   true,
-                                   __to_gcc_order(__success),
-                                   __to_gcc_failure_order(__failure));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_weak(
-    __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success,
-    memory_order __failure) {
-  return __atomic_compare_exchange(&__a->__a_value, __expected, &__value,
-                                   true,
-                                   __to_gcc_order(__success),
-                                   __to_gcc_failure_order(__failure));
-}
-
-template <typename _Tp>
-struct __skip_amt { enum {value = 1}; };
-
-template <typename _Tp>
-struct __skip_amt<_Tp*> { enum {value = sizeof(_Tp)}; };
-
-// FIXME: Haven't figured out what the spec says about using arrays with
-// atomic_fetch_add. Force a failure rather than creating bad behavior.
-template <typename _Tp>
-struct __skip_amt<_Tp[]> { };
-template <typename _Tp, int n>
-struct __skip_amt<_Tp[n]> { };
-
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_add(volatile __cxx_atomic_base_impl<_Tp>* __a,
-                           _Td __delta, memory_order __order) {
-  return __atomic_fetch_add(&__a->__a_value, __delta * __skip_amt<_Tp>::value,
-                            __to_gcc_order(__order));
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp>* __a, _Td __delta,
-                           memory_order __order) {
-  return __atomic_fetch_add(&__a->__a_value, __delta * __skip_amt<_Tp>::value,
-                            __to_gcc_order(__order));
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_sub(volatile __cxx_atomic_base_impl<_Tp>* __a,
-                           _Td __delta, memory_order __order) {
-  return __atomic_fetch_sub(&__a->__a_value, __delta * __skip_amt<_Tp>::value,
-                            __to_gcc_order(__order));
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp>* __a, _Td __delta,
-                           memory_order __order) {
-  return __atomic_fetch_sub(&__a->__a_value, __delta * __skip_amt<_Tp>::value,
-                            __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_and(volatile __cxx_atomic_base_impl<_Tp>* __a,
-                           _Tp __pattern, memory_order __order) {
-  return __atomic_fetch_and(&__a->__a_value, __pattern,
-                            __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_and(__cxx_atomic_base_impl<_Tp>* __a,
-                           _Tp __pattern, memory_order __order) {
-  return __atomic_fetch_and(&__a->__a_value, __pattern,
-                            __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_or(volatile __cxx_atomic_base_impl<_Tp>* __a,
-                          _Tp __pattern, memory_order __order) {
-  return __atomic_fetch_or(&__a->__a_value, __pattern,
-                           __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_or(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern,
-                          memory_order __order) {
-  return __atomic_fetch_or(&__a->__a_value, __pattern,
-                           __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_xor(volatile __cxx_atomic_base_impl<_Tp>* __a,
-                           _Tp __pattern, memory_order __order) {
-  return __atomic_fetch_xor(&__a->__a_value, __pattern,
-                            __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_xor(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern,
-                           memory_order __order) {
-  return __atomic_fetch_xor(&__a->__a_value, __pattern,
-                            __to_gcc_order(__order));
-}
-
-#define __cxx_atomic_is_lock_free(__s) __atomic_is_lock_free(__s, 0)
-
-#elif defined(_LIBCPP_HAS_C_ATOMIC_IMP)
-
-template <typename _Tp>
-struct __cxx_atomic_base_impl {
-
-  _LIBCPP_INLINE_VISIBILITY
-#ifndef _LIBCPP_CXX03_LANG
-    __cxx_atomic_base_impl() _NOEXCEPT = default;
-#else
-    __cxx_atomic_base_impl() _NOEXCEPT : __a_value() {}
-#endif // _LIBCPP_CXX03_LANG
-  _LIBCPP_CONSTEXPR explicit __cxx_atomic_base_impl(_Tp value) _NOEXCEPT
-    : __a_value(value) {}
-  _Atomic(_Tp) __a_value;
-};
-
-#define __cxx_atomic_is_lock_free(__s) __c11_atomic_is_lock_free(__s)
-
-_LIBCPP_INLINE_VISIBILITY inline
-void __cxx_atomic_thread_fence(memory_order __order) _NOEXCEPT {
-    __c11_atomic_thread_fence(static_cast<__memory_order_underlying_t>(__order));
-}
-
-_LIBCPP_INLINE_VISIBILITY inline
-void __cxx_atomic_signal_fence(memory_order __order) _NOEXCEPT {
-    __c11_atomic_signal_fence(static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_init(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __val) _NOEXCEPT {
-    __c11_atomic_init(&__a->__a_value, __val);
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_init(__cxx_atomic_base_impl<_Tp> * __a, _Tp __val) _NOEXCEPT {
-    __c11_atomic_init(&__a->__a_value, __val);
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __val, memory_order __order) _NOEXCEPT {
-    __c11_atomic_store(&__a->__a_value, __val, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp> * __a, _Tp __val, memory_order __order) _NOEXCEPT {
-    __c11_atomic_store(&__a->__a_value, __val, static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_load(__cxx_atomic_base_impl<_Tp> const volatile* __a, memory_order __order) _NOEXCEPT {
-    using __ptr_type = typename remove_const<decltype(__a->__a_value)>::type*;
-    return __c11_atomic_load(const_cast<__ptr_type>(&__a->__a_value), static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_load(__cxx_atomic_base_impl<_Tp> const* __a, memory_order __order) _NOEXCEPT {
-    using __ptr_type = typename remove_const<decltype(__a->__a_value)>::type*;
-    return __c11_atomic_load(const_cast<__ptr_type>(&__a->__a_value), static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __value, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_exchange(&__a->__a_value, __value, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp> * __a, _Tp __value, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_exchange(&__a->__a_value, __value, static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_strong(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) _NOEXCEPT {
-    return __c11_atomic_compare_exchange_strong(&__a->__a_value, __expected, __value, static_cast<__memory_order_underlying_t>(__success), static_cast<__memory_order_underlying_t>(__failure));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_strong(__cxx_atomic_base_impl<_Tp> * __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) _NOEXCEPT {
-    return __c11_atomic_compare_exchange_strong(&__a->__a_value, __expected, __value, static_cast<__memory_order_underlying_t>(__success), static_cast<__memory_order_underlying_t>(__failure));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_weak(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) _NOEXCEPT {
-    return __c11_atomic_compare_exchange_weak(&__a->__a_value, __expected, __value, static_cast<__memory_order_underlying_t>(__success), static_cast<__memory_order_underlying_t>(__failure));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_weak(__cxx_atomic_base_impl<_Tp> * __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) _NOEXCEPT {
-    return __c11_atomic_compare_exchange_weak(&__a->__a_value, __expected, __value,  static_cast<__memory_order_underlying_t>(__success), static_cast<__memory_order_underlying_t>(__failure));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __delta, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_add(&__a->__a_value, __delta, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp> * __a, _Tp __delta, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_add(&__a->__a_value, __delta, static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp* __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp*> volatile* __a, ptrdiff_t __delta, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_add(&__a->__a_value, __delta, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp* __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp*> * __a, ptrdiff_t __delta, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_add(&__a->__a_value, __delta, static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __delta, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_sub(&__a->__a_value, __delta, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp> * __a, _Tp __delta, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_sub(&__a->__a_value, __delta, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp* __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp*> volatile* __a, ptrdiff_t __delta, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_sub(&__a->__a_value, __delta, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp* __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp*> * __a, ptrdiff_t __delta, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_sub(&__a->__a_value, __delta, static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_and(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __pattern, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_and(&__a->__a_value, __pattern, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_and(__cxx_atomic_base_impl<_Tp> * __a, _Tp __pattern, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_and(&__a->__a_value, __pattern, static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_or(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __pattern, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_or(&__a->__a_value, __pattern, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_or(__cxx_atomic_base_impl<_Tp> * __a, _Tp __pattern, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_or(&__a->__a_value, __pattern, static_cast<__memory_order_underlying_t>(__order));
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_xor(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __pattern, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_xor(&__a->__a_value, __pattern, static_cast<__memory_order_underlying_t>(__order));
-}
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_xor(__cxx_atomic_base_impl<_Tp> * __a, _Tp __pattern, memory_order __order) _NOEXCEPT {
-    return __c11_atomic_fetch_xor(&__a->__a_value, __pattern, static_cast<__memory_order_underlying_t>(__order));
-}
-
-#endif // _LIBCPP_HAS_GCC_ATOMIC_IMP, _LIBCPP_HAS_C_ATOMIC_IMP
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp kill_dependency(_Tp __y) _NOEXCEPT
-{
-    return __y;
-}
-
-#if defined(__CLANG_ATOMIC_BOOL_LOCK_FREE)
-# define ATOMIC_BOOL_LOCK_FREE      __CLANG_ATOMIC_BOOL_LOCK_FREE
-# define ATOMIC_CHAR_LOCK_FREE      __CLANG_ATOMIC_CHAR_LOCK_FREE
-# define ATOMIC_CHAR16_T_LOCK_FREE  __CLANG_ATOMIC_CHAR16_T_LOCK_FREE
-# define ATOMIC_CHAR32_T_LOCK_FREE  __CLANG_ATOMIC_CHAR32_T_LOCK_FREE
-# define ATOMIC_WCHAR_T_LOCK_FREE   __CLANG_ATOMIC_WCHAR_T_LOCK_FREE
-# define ATOMIC_SHORT_LOCK_FREE     __CLANG_ATOMIC_SHORT_LOCK_FREE
-# define ATOMIC_INT_LOCK_FREE       __CLANG_ATOMIC_INT_LOCK_FREE
-# define ATOMIC_LONG_LOCK_FREE      __CLANG_ATOMIC_LONG_LOCK_FREE
-# define ATOMIC_LLONG_LOCK_FREE     __CLANG_ATOMIC_LLONG_LOCK_FREE
-# define ATOMIC_POINTER_LOCK_FREE   __CLANG_ATOMIC_POINTER_LOCK_FREE
-#elif defined(__GCC_ATOMIC_BOOL_LOCK_FREE)
-# define ATOMIC_BOOL_LOCK_FREE      __GCC_ATOMIC_BOOL_LOCK_FREE
-# define ATOMIC_CHAR_LOCK_FREE      __GCC_ATOMIC_CHAR_LOCK_FREE
-# define ATOMIC_CHAR16_T_LOCK_FREE  __GCC_ATOMIC_CHAR16_T_LOCK_FREE
-# define ATOMIC_CHAR32_T_LOCK_FREE  __GCC_ATOMIC_CHAR32_T_LOCK_FREE
-# define ATOMIC_WCHAR_T_LOCK_FREE   __GCC_ATOMIC_WCHAR_T_LOCK_FREE
-# define ATOMIC_SHORT_LOCK_FREE     __GCC_ATOMIC_SHORT_LOCK_FREE
-# define ATOMIC_INT_LOCK_FREE       __GCC_ATOMIC_INT_LOCK_FREE
-# define ATOMIC_LONG_LOCK_FREE      __GCC_ATOMIC_LONG_LOCK_FREE
-# define ATOMIC_LLONG_LOCK_FREE     __GCC_ATOMIC_LLONG_LOCK_FREE
-# define ATOMIC_POINTER_LOCK_FREE   __GCC_ATOMIC_POINTER_LOCK_FREE
-#endif
-
-#ifdef _LIBCPP_ATOMIC_ONLY_USE_BUILTINS
-
-template<typename _Tp>
-struct __cxx_atomic_lock_impl {
-
-  _LIBCPP_INLINE_VISIBILITY
-  __cxx_atomic_lock_impl() _NOEXCEPT
-    : __a_value(), __a_lock(0) {}
-  _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR explicit
-  __cxx_atomic_lock_impl(_Tp value) _NOEXCEPT
-    : __a_value(value), __a_lock(0) {}
-
-  _Tp __a_value;
-  mutable __cxx_atomic_base_impl<_LIBCPP_ATOMIC_FLAG_TYPE> __a_lock;
-
-  _LIBCPP_INLINE_VISIBILITY void __lock() const volatile {
-    while(1 == __cxx_atomic_exchange(&__a_lock, _LIBCPP_ATOMIC_FLAG_TYPE(true), memory_order_acquire))
-        /*spin*/;
-  }
-  _LIBCPP_INLINE_VISIBILITY void __lock() const {
-    while(1 == __cxx_atomic_exchange(&__a_lock, _LIBCPP_ATOMIC_FLAG_TYPE(true), memory_order_acquire))
-        /*spin*/;
-  }
-  _LIBCPP_INLINE_VISIBILITY void __unlock() const volatile {
-    __cxx_atomic_store(&__a_lock, _LIBCPP_ATOMIC_FLAG_TYPE(false), memory_order_release);
-  }
-  _LIBCPP_INLINE_VISIBILITY void __unlock() const {
-    __cxx_atomic_store(&__a_lock, _LIBCPP_ATOMIC_FLAG_TYPE(false), memory_order_release);
-  }
-  _LIBCPP_INLINE_VISIBILITY _Tp __read() const volatile {
-    __lock();
-    _Tp __old;
-    __cxx_atomic_assign_volatile(__old, __a_value);
-    __unlock();
-    return __old;
-  }
-  _LIBCPP_INLINE_VISIBILITY _Tp __read() const {
-    __lock();
-    _Tp __old = __a_value;
-    __unlock();
-    return __old;
-  }
-};
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_init(volatile __cxx_atomic_lock_impl<_Tp>* __a,  _Tp __val) {
-  __cxx_atomic_assign_volatile(__a->__a_value, __val);
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_init(__cxx_atomic_lock_impl<_Tp>* __a,  _Tp __val) {
-  __a->__a_value = __val;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_store(volatile __cxx_atomic_lock_impl<_Tp>* __a,  _Tp __val, memory_order) {
-  __a->__lock();
-  __cxx_atomic_assign_volatile(__a->__a_value, __val);
-  __a->__unlock();
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __cxx_atomic_store(__cxx_atomic_lock_impl<_Tp>* __a,  _Tp __val, memory_order) {
-  __a->__lock();
-  __a->__a_value = __val;
-  __a->__unlock();
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_load(const volatile __cxx_atomic_lock_impl<_Tp>* __a, memory_order) {
-  return __a->__read();
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_load(const __cxx_atomic_lock_impl<_Tp>* __a, memory_order) {
-  return __a->__read();
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_exchange(volatile __cxx_atomic_lock_impl<_Tp>* __a, _Tp __value, memory_order) {
-  __a->__lock();
-  _Tp __old;
-  __cxx_atomic_assign_volatile(__old, __a->__a_value);
-  __cxx_atomic_assign_volatile(__a->__a_value, __value);
-  __a->__unlock();
-  return __old;
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_exchange(__cxx_atomic_lock_impl<_Tp>* __a, _Tp __value, memory_order) {
-  __a->__lock();
-  _Tp __old = __a->__a_value;
-  __a->__a_value = __value;
-  __a->__unlock();
-  return __old;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_strong(volatile __cxx_atomic_lock_impl<_Tp>* __a,
-                                          _Tp* __expected, _Tp __value, memory_order, memory_order) {
-  __a->__lock();
-  _Tp temp;
-  __cxx_atomic_assign_volatile(temp, __a->__a_value);
-  bool __ret = temp == *__expected;
-  if(__ret)
-    __cxx_atomic_assign_volatile(__a->__a_value, __value);
-  else
-    __cxx_atomic_assign_volatile(*__expected, __a->__a_value);
-  __a->__unlock();
-  return __ret;
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_strong(__cxx_atomic_lock_impl<_Tp>* __a,
-                                          _Tp* __expected, _Tp __value, memory_order, memory_order) {
-  __a->__lock();
-  bool __ret = __a->__a_value == *__expected;
-  if(__ret)
-    __a->__a_value = __value;
-  else
-    *__expected = __a->__a_value;
-  __a->__unlock();
-  return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_weak(volatile __cxx_atomic_lock_impl<_Tp>* __a,
-                                        _Tp* __expected, _Tp __value, memory_order, memory_order) {
-  __a->__lock();
-  _Tp temp;
-  __cxx_atomic_assign_volatile(temp, __a->__a_value);
-  bool __ret = temp == *__expected;
-  if(__ret)
-    __cxx_atomic_assign_volatile(__a->__a_value, __value);
-  else
-    __cxx_atomic_assign_volatile(*__expected, __a->__a_value);
-  __a->__unlock();
-  return __ret;
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool __cxx_atomic_compare_exchange_weak(__cxx_atomic_lock_impl<_Tp>* __a,
-                                        _Tp* __expected, _Tp __value, memory_order, memory_order) {
-  __a->__lock();
-  bool __ret = __a->__a_value == *__expected;
-  if(__ret)
-    __a->__a_value = __value;
-  else
-    *__expected = __a->__a_value;
-  __a->__unlock();
-  return __ret;
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_add(volatile __cxx_atomic_lock_impl<_Tp>* __a,
-                           _Td __delta, memory_order) {
-  __a->__lock();
-  _Tp __old;
-  __cxx_atomic_assign_volatile(__old, __a->__a_value);
-  __cxx_atomic_assign_volatile(__a->__a_value, _Tp(__old + __delta));
-  __a->__unlock();
-  return __old;
-}
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_add(__cxx_atomic_lock_impl<_Tp>* __a,
-                           _Td __delta, memory_order) {
-  __a->__lock();
-  _Tp __old = __a->__a_value;
-  __a->__a_value += __delta;
-  __a->__unlock();
-  return __old;
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp* __cxx_atomic_fetch_add(volatile __cxx_atomic_lock_impl<_Tp*>* __a,
-                           ptrdiff_t __delta, memory_order) {
-  __a->__lock();
-  _Tp* __old;
-  __cxx_atomic_assign_volatile(__old, __a->__a_value);
-  __cxx_atomic_assign_volatile(__a->__a_value, __old + __delta);
-  __a->__unlock();
-  return __old;
-}
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp* __cxx_atomic_fetch_add(__cxx_atomic_lock_impl<_Tp*>* __a,
-                           ptrdiff_t __delta, memory_order) {
-  __a->__lock();
-  _Tp* __old = __a->__a_value;
-  __a->__a_value += __delta;
-  __a->__unlock();
-  return __old;
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_sub(volatile __cxx_atomic_lock_impl<_Tp>* __a,
-                           _Td __delta, memory_order) {
-  __a->__lock();
-  _Tp __old;
-  __cxx_atomic_assign_volatile(__old, __a->__a_value);
-  __cxx_atomic_assign_volatile(__a->__a_value, _Tp(__old - __delta));
-  __a->__unlock();
-  return __old;
-}
-template <typename _Tp, typename _Td>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_sub(__cxx_atomic_lock_impl<_Tp>* __a,
-                           _Td __delta, memory_order) {
-  __a->__lock();
-  _Tp __old = __a->__a_value;
-  __a->__a_value -= __delta;
-  __a->__unlock();
-  return __old;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_and(volatile __cxx_atomic_lock_impl<_Tp>* __a,
-                           _Tp __pattern, memory_order) {
-  __a->__lock();
-  _Tp __old;
-  __cxx_atomic_assign_volatile(__old, __a->__a_value);
-  __cxx_atomic_assign_volatile(__a->__a_value, _Tp(__old & __pattern));
-  __a->__unlock();
-  return __old;
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_and(__cxx_atomic_lock_impl<_Tp>* __a,
-                           _Tp __pattern, memory_order) {
-  __a->__lock();
-  _Tp __old = __a->__a_value;
-  __a->__a_value &= __pattern;
-  __a->__unlock();
-  return __old;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_or(volatile __cxx_atomic_lock_impl<_Tp>* __a,
-                          _Tp __pattern, memory_order) {
-  __a->__lock();
-  _Tp __old;
-  __cxx_atomic_assign_volatile(__old, __a->__a_value);
-  __cxx_atomic_assign_volatile(__a->__a_value, _Tp(__old | __pattern));
-  __a->__unlock();
-  return __old;
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_or(__cxx_atomic_lock_impl<_Tp>* __a,
-                          _Tp __pattern, memory_order) {
-  __a->__lock();
-  _Tp __old = __a->__a_value;
-  __a->__a_value |= __pattern;
-  __a->__unlock();
-  return __old;
-}
-
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_xor(volatile __cxx_atomic_lock_impl<_Tp>* __a,
-                           _Tp __pattern, memory_order) {
-  __a->__lock();
-  _Tp __old;
-  __cxx_atomic_assign_volatile(__old, __a->__a_value);
-  __cxx_atomic_assign_volatile(__a->__a_value, _Tp(__old ^ __pattern));
-  __a->__unlock();
-  return __old;
-}
-template <typename _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __cxx_atomic_fetch_xor(__cxx_atomic_lock_impl<_Tp>* __a,
-                           _Tp __pattern, memory_order) {
-  __a->__lock();
-  _Tp __old = __a->__a_value;
-  __a->__a_value ^= __pattern;
-  __a->__unlock();
-  return __old;
-}
-
-#ifdef __cpp_lib_atomic_is_always_lock_free
-
-template<typename _Tp> struct __cxx_is_always_lock_free {
-    enum { __value = __atomic_always_lock_free(sizeof(_Tp), 0) }; };
-
-#else
-
-template<typename _Tp> struct __cxx_is_always_lock_free { enum { __value = false }; };
-// Implementations must match the C ATOMIC_*_LOCK_FREE macro values.
-template<> struct __cxx_is_always_lock_free<bool> { enum { __value = 2 == ATOMIC_BOOL_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<char> { enum { __value = 2 == ATOMIC_CHAR_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<signed char> { enum { __value = 2 == ATOMIC_CHAR_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<unsigned char> { enum { __value = 2 == ATOMIC_CHAR_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<char16_t> { enum { __value = 2 == ATOMIC_CHAR16_T_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<char32_t> { enum { __value = 2 == ATOMIC_CHAR32_T_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<wchar_t> { enum { __value = 2 == ATOMIC_WCHAR_T_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<short> { enum { __value = 2 == ATOMIC_SHORT_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<unsigned short> { enum { __value = 2 == ATOMIC_SHORT_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<int> { enum { __value = 2 == ATOMIC_INT_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<unsigned int> { enum { __value = 2 == ATOMIC_INT_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<long> { enum { __value = 2 == ATOMIC_LONG_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<unsigned long> { enum { __value = 2 == ATOMIC_LONG_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<long long> { enum { __value = 2 == ATOMIC_LLONG_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<unsigned long long> { enum { __value = 2 == ATOMIC_LLONG_LOCK_FREE }; };
-template<typename _Tp> struct __cxx_is_always_lock_free<_Tp*> { enum { __value = 2 == ATOMIC_POINTER_LOCK_FREE }; };
-template<> struct __cxx_is_always_lock_free<std::nullptr_t> { enum { __value = 2 == ATOMIC_POINTER_LOCK_FREE }; };
-
-#endif //__cpp_lib_atomic_is_always_lock_free
-
-template <typename _Tp,
-          typename _Base = typename conditional<__cxx_is_always_lock_free<_Tp>::__value,
-                                                __cxx_atomic_base_impl<_Tp>,
-                                                __cxx_atomic_lock_impl<_Tp> >::type>
-#else
-template <typename _Tp,
-          typename _Base = __cxx_atomic_base_impl<_Tp> >
-#endif //_LIBCPP_ATOMIC_ONLY_USE_BUILTINS
-struct __cxx_atomic_impl : public _Base {
-
-#if _GNUC_VER >= 501
-    static_assert(is_trivially_copyable<_Tp>::value,
-      "std::atomic<Tp> requires that 'Tp' be a trivially copyable type");
-#endif
-
-  _LIBCPP_INLINE_VISIBILITY __cxx_atomic_impl() _NOEXCEPT _LIBCPP_DEFAULT
-  _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR explicit __cxx_atomic_impl(_Tp value) _NOEXCEPT
-    : _Base(value) {}
-};
-
-// general atomic<T>
-
-template <class _Tp, bool = is_integral<_Tp>::value && !is_same<_Tp, bool>::value>
-struct __atomic_base  // false
-{
-    mutable __cxx_atomic_impl<_Tp> __a_;
-
-#if defined(__cpp_lib_atomic_is_always_lock_free)
-  static _LIBCPP_CONSTEXPR bool is_always_lock_free = __atomic_always_lock_free(sizeof(__a_), 0);
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool is_lock_free() const volatile _NOEXCEPT
-        {return __cxx_atomic_is_lock_free(sizeof(_Tp));}
-    _LIBCPP_INLINE_VISIBILITY
-    bool is_lock_free() const _NOEXCEPT
-        {return static_cast<__atomic_base const volatile*>(this)->is_lock_free();}
-    _LIBCPP_INLINE_VISIBILITY
-    void store(_Tp __d, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-      _LIBCPP_CHECK_STORE_MEMORY_ORDER(__m)
-        {__cxx_atomic_store(&__a_, __d, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    void store(_Tp __d, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-      _LIBCPP_CHECK_STORE_MEMORY_ORDER(__m)
-        {__cxx_atomic_store(&__a_, __d, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp load(memory_order __m = memory_order_seq_cst) const volatile _NOEXCEPT
-      _LIBCPP_CHECK_LOAD_MEMORY_ORDER(__m)
-        {return __cxx_atomic_load(&__a_, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp load(memory_order __m = memory_order_seq_cst) const _NOEXCEPT
-      _LIBCPP_CHECK_LOAD_MEMORY_ORDER(__m)
-        {return __cxx_atomic_load(&__a_, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    operator _Tp() const volatile _NOEXCEPT {return load();}
-    _LIBCPP_INLINE_VISIBILITY
-    operator _Tp() const _NOEXCEPT          {return load();}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp exchange(_Tp __d, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_exchange(&__a_, __d, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp exchange(_Tp __d, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_exchange(&__a_, __d, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool compare_exchange_weak(_Tp& __e, _Tp __d,
-                               memory_order __s, memory_order __f) volatile _NOEXCEPT
-      _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__s, __f)
-        {return __cxx_atomic_compare_exchange_weak(&__a_, &__e, __d, __s, __f);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool compare_exchange_weak(_Tp& __e, _Tp __d,
-                               memory_order __s, memory_order __f) _NOEXCEPT
-      _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__s, __f)
-        {return __cxx_atomic_compare_exchange_weak(&__a_, &__e, __d, __s, __f);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool compare_exchange_strong(_Tp& __e, _Tp __d,
-                                 memory_order __s, memory_order __f) volatile _NOEXCEPT
-      _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__s, __f)
-        {return __cxx_atomic_compare_exchange_strong(&__a_, &__e, __d, __s, __f);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool compare_exchange_strong(_Tp& __e, _Tp __d,
-                                 memory_order __s, memory_order __f) _NOEXCEPT
-      _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__s, __f)
-        {return __cxx_atomic_compare_exchange_strong(&__a_, &__e, __d, __s, __f);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool compare_exchange_weak(_Tp& __e, _Tp __d,
-                              memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_compare_exchange_weak(&__a_, &__e, __d, __m, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool compare_exchange_weak(_Tp& __e, _Tp __d,
-                               memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_compare_exchange_weak(&__a_, &__e, __d, __m, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool compare_exchange_strong(_Tp& __e, _Tp __d,
-                              memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_compare_exchange_strong(&__a_, &__e, __d, __m, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool compare_exchange_strong(_Tp& __e, _Tp __d,
-                                 memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_compare_exchange_strong(&__a_, &__e, __d, __m, __m);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __atomic_base() _NOEXCEPT _LIBCPP_DEFAULT
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    __atomic_base(_Tp __d) _NOEXCEPT : __a_(__d) {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    __atomic_base(const __atomic_base&) = delete;
-    __atomic_base& operator=(const __atomic_base&) = delete;
-    __atomic_base& operator=(const __atomic_base&) volatile = delete;
-#else
-private:
-    __atomic_base(const __atomic_base&);
-    __atomic_base& operator=(const __atomic_base&);
-    __atomic_base& operator=(const __atomic_base&) volatile;
-#endif
-};
-
-#if defined(__cpp_lib_atomic_is_always_lock_free)
-template <class _Tp, bool __b>
-_LIBCPP_CONSTEXPR bool __atomic_base<_Tp, __b>::is_always_lock_free;
-#endif
-
-// atomic<Integral>
-
-template <class _Tp>
-struct __atomic_base<_Tp, true>
-    : public __atomic_base<_Tp, false>
-{
-    typedef __atomic_base<_Tp, false> __base;
-    _LIBCPP_INLINE_VISIBILITY
-    __atomic_base() _NOEXCEPT _LIBCPP_DEFAULT
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR __atomic_base(_Tp __d) _NOEXCEPT : __base(__d) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_fetch_add(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_fetch_add(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_fetch_sub(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_fetch_sub(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_fetch_and(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_fetch_and(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_fetch_or(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_fetch_or(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_fetch_xor(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_fetch_xor(&this->__a_, __op, __m);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator++(int) volatile _NOEXCEPT      {return fetch_add(_Tp(1));}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator++(int) _NOEXCEPT               {return fetch_add(_Tp(1));}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator--(int) volatile _NOEXCEPT      {return fetch_sub(_Tp(1));}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator--(int) _NOEXCEPT               {return fetch_sub(_Tp(1));}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator++() volatile _NOEXCEPT         {return fetch_add(_Tp(1)) + _Tp(1);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator++() _NOEXCEPT                  {return fetch_add(_Tp(1)) + _Tp(1);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator--() volatile _NOEXCEPT         {return fetch_sub(_Tp(1)) - _Tp(1);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator--() _NOEXCEPT                  {return fetch_sub(_Tp(1)) - _Tp(1);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator+=(_Tp __op) volatile _NOEXCEPT {return fetch_add(__op) + __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator+=(_Tp __op) _NOEXCEPT          {return fetch_add(__op) + __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator-=(_Tp __op) volatile _NOEXCEPT {return fetch_sub(__op) - __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator-=(_Tp __op) _NOEXCEPT          {return fetch_sub(__op) - __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator&=(_Tp __op) volatile _NOEXCEPT {return fetch_and(__op) & __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator&=(_Tp __op) _NOEXCEPT          {return fetch_and(__op) & __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator|=(_Tp __op) volatile _NOEXCEPT {return fetch_or(__op) | __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator|=(_Tp __op) _NOEXCEPT          {return fetch_or(__op) | __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator^=(_Tp __op) volatile _NOEXCEPT {return fetch_xor(__op) ^ __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator^=(_Tp __op) _NOEXCEPT          {return fetch_xor(__op) ^ __op;}
-};
-
-// atomic<T>
-
-template <class _Tp>
-struct atomic
-    : public __atomic_base<_Tp>
-{
-    typedef __atomic_base<_Tp> __base;
-    _LIBCPP_INLINE_VISIBILITY
-    atomic() _NOEXCEPT _LIBCPP_DEFAULT
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR atomic(_Tp __d) _NOEXCEPT : __base(__d) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator=(_Tp __d) volatile _NOEXCEPT
-        {__base::store(__d); return __d;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator=(_Tp __d) _NOEXCEPT
-        {__base::store(__d); return __d;}
-};
-
-// atomic<T*>
-
-template <class _Tp>
-struct atomic<_Tp*>
-    : public __atomic_base<_Tp*>
-{
-    typedef __atomic_base<_Tp*> __base;
-    _LIBCPP_INLINE_VISIBILITY
-    atomic() _NOEXCEPT _LIBCPP_DEFAULT
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR atomic(_Tp* __d) _NOEXCEPT : __base(__d) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator=(_Tp* __d) volatile _NOEXCEPT
-        {__base::store(__d); return __d;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator=(_Tp* __d) _NOEXCEPT
-        {__base::store(__d); return __d;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* fetch_add(ptrdiff_t __op, memory_order __m = memory_order_seq_cst)
-                                                                        volatile _NOEXCEPT
-        {return __cxx_atomic_fetch_add(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* fetch_add(ptrdiff_t __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_fetch_add(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* fetch_sub(ptrdiff_t __op, memory_order __m = memory_order_seq_cst)
-                                                                        volatile _NOEXCEPT
-        {return __cxx_atomic_fetch_sub(&this->__a_, __op, __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* fetch_sub(ptrdiff_t __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_fetch_sub(&this->__a_, __op, __m);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator++(int) volatile _NOEXCEPT            {return fetch_add(1);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator++(int) _NOEXCEPT                     {return fetch_add(1);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator--(int) volatile _NOEXCEPT            {return fetch_sub(1);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator--(int) _NOEXCEPT                     {return fetch_sub(1);}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator++() volatile _NOEXCEPT               {return fetch_add(1) + 1;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator++() _NOEXCEPT                        {return fetch_add(1) + 1;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator--() volatile _NOEXCEPT               {return fetch_sub(1) - 1;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator--() _NOEXCEPT                        {return fetch_sub(1) - 1;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator+=(ptrdiff_t __op) volatile _NOEXCEPT {return fetch_add(__op) + __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator+=(ptrdiff_t __op) _NOEXCEPT          {return fetch_add(__op) + __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator-=(ptrdiff_t __op) volatile _NOEXCEPT {return fetch_sub(__op) - __op;}
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* operator-=(ptrdiff_t __op) _NOEXCEPT          {return fetch_sub(__op) - __op;}
-};
-
-// atomic_is_lock_free
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_is_lock_free(const volatile atomic<_Tp>* __o) _NOEXCEPT
-{
-    return __o->is_lock_free();
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_is_lock_free(const atomic<_Tp>* __o) _NOEXCEPT
-{
-    return __o->is_lock_free();
-}
-
-// atomic_init
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void
-atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
-{
-    __cxx_atomic_init(&__o->__a_, __d);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void
-atomic_init(atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
-{
-    __cxx_atomic_init(&__o->__a_, __d);
-}
-
-// atomic_store
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void
-atomic_store(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
-{
-    __o->store(__d);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void
-atomic_store(atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
-{
-    __o->store(__d);
-}
-
-// atomic_store_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void
-atomic_store_explicit(volatile atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
-  _LIBCPP_CHECK_STORE_MEMORY_ORDER(__m)
-{
-    __o->store(__d, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-void
-atomic_store_explicit(atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
-  _LIBCPP_CHECK_STORE_MEMORY_ORDER(__m)
-{
-    __o->store(__d, __m);
-}
-
-// atomic_load
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp
-atomic_load(const volatile atomic<_Tp>* __o) _NOEXCEPT
-{
-    return __o->load();
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp
-atomic_load(const atomic<_Tp>* __o) _NOEXCEPT
-{
-    return __o->load();
-}
-
-// atomic_load_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp
-atomic_load_explicit(const volatile atomic<_Tp>* __o, memory_order __m) _NOEXCEPT
-  _LIBCPP_CHECK_LOAD_MEMORY_ORDER(__m)
-{
-    return __o->load(__m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp
-atomic_load_explicit(const atomic<_Tp>* __o, memory_order __m) _NOEXCEPT
-  _LIBCPP_CHECK_LOAD_MEMORY_ORDER(__m)
-{
-    return __o->load(__m);
-}
-
-// atomic_exchange
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp
-atomic_exchange(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
-{
-    return __o->exchange(__d);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp
-atomic_exchange(atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
-{
-    return __o->exchange(__d);
-}
-
-// atomic_exchange_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp
-atomic_exchange_explicit(volatile atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
-{
-    return __o->exchange(__d, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp
-atomic_exchange_explicit(atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
-{
-    return __o->exchange(__d, __m);
-}
-
-// atomic_compare_exchange_weak
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_compare_exchange_weak(volatile atomic<_Tp>* __o, _Tp* __e, _Tp __d) _NOEXCEPT
-{
-    return __o->compare_exchange_weak(*__e, __d);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_compare_exchange_weak(atomic<_Tp>* __o, _Tp* __e, _Tp __d) _NOEXCEPT
-{
-    return __o->compare_exchange_weak(*__e, __d);
-}
-
-// atomic_compare_exchange_strong
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_compare_exchange_strong(volatile atomic<_Tp>* __o, _Tp* __e, _Tp __d) _NOEXCEPT
-{
-    return __o->compare_exchange_strong(*__e, __d);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_compare_exchange_strong(atomic<_Tp>* __o, _Tp* __e, _Tp __d) _NOEXCEPT
-{
-    return __o->compare_exchange_strong(*__e, __d);
-}
-
-// atomic_compare_exchange_weak_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_compare_exchange_weak_explicit(volatile atomic<_Tp>* __o, _Tp* __e,
-                                      _Tp __d,
-                                      memory_order __s, memory_order __f) _NOEXCEPT
-  _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__s, __f)
-{
-    return __o->compare_exchange_weak(*__e, __d, __s, __f);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_compare_exchange_weak_explicit(atomic<_Tp>* __o, _Tp* __e, _Tp __d,
-                                      memory_order __s, memory_order __f) _NOEXCEPT
-  _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__s, __f)
-{
-    return __o->compare_exchange_weak(*__e, __d, __s, __f);
-}
-
-// atomic_compare_exchange_strong_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_compare_exchange_strong_explicit(volatile atomic<_Tp>* __o,
-                                        _Tp* __e, _Tp __d,
-                                        memory_order __s, memory_order __f) _NOEXCEPT
-  _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__s, __f)
-{
-    return __o->compare_exchange_strong(*__e, __d, __s, __f);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-atomic_compare_exchange_strong_explicit(atomic<_Tp>* __o, _Tp* __e,
-                                        _Tp __d,
-                                        memory_order __s, memory_order __f) _NOEXCEPT
-  _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__s, __f)
-{
-    return __o->compare_exchange_strong(*__e, __d, __s, __f);
-}
-
-// atomic_fetch_add
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_add(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_add(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_add(atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_add(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-atomic_fetch_add(volatile atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
-{
-    return __o->fetch_add(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-atomic_fetch_add(atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
-{
-    return __o->fetch_add(__op);
-}
-
-// atomic_fetch_add_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_add_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_add(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_add_explicit(atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_add(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-atomic_fetch_add_explicit(volatile atomic<_Tp*>* __o, ptrdiff_t __op,
-                          memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_add(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-atomic_fetch_add_explicit(atomic<_Tp*>* __o, ptrdiff_t __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_add(__op, __m);
-}
-
-// atomic_fetch_sub
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_sub(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_sub(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_sub(atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_sub(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-atomic_fetch_sub(volatile atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
-{
-    return __o->fetch_sub(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-atomic_fetch_sub(atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
-{
-    return __o->fetch_sub(__op);
-}
-
-// atomic_fetch_sub_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_sub_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_sub(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_sub_explicit(atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_sub(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-atomic_fetch_sub_explicit(volatile atomic<_Tp*>* __o, ptrdiff_t __op,
-                          memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_sub(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-atomic_fetch_sub_explicit(atomic<_Tp*>* __o, ptrdiff_t __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_sub(__op, __m);
-}
-
-// atomic_fetch_and
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_and(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_and(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_and(atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_and(__op);
-}
-
-// atomic_fetch_and_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_and_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_and(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_and_explicit(atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_and(__op, __m);
-}
-
-// atomic_fetch_or
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_or(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_or(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_or(atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_or(__op);
-}
-
-// atomic_fetch_or_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_or_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_or(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_or_explicit(atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_or(__op, __m);
-}
-
-// atomic_fetch_xor
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_xor(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_xor(__op);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_xor(atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
-{
-    return __o->fetch_xor(__op);
-}
-
-// atomic_fetch_xor_explicit
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_xor_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_xor(__op, __m);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value && !is_same<_Tp, bool>::value,
-    _Tp
->::type
-atomic_fetch_xor_explicit(atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
-{
-    return __o->fetch_xor(__op, __m);
-}
-
-// flag type and operations
-
-typedef struct atomic_flag
-{
-    __cxx_atomic_impl<_LIBCPP_ATOMIC_FLAG_TYPE> __a_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool test_and_set(memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {return __cxx_atomic_exchange(&__a_, _LIBCPP_ATOMIC_FLAG_TYPE(true), __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool test_and_set(memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {return __cxx_atomic_exchange(&__a_, _LIBCPP_ATOMIC_FLAG_TYPE(true), __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear(memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
-        {__cxx_atomic_store(&__a_, _LIBCPP_ATOMIC_FLAG_TYPE(false), __m);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear(memory_order __m = memory_order_seq_cst) _NOEXCEPT
-        {__cxx_atomic_store(&__a_, _LIBCPP_ATOMIC_FLAG_TYPE(false), __m);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    atomic_flag() _NOEXCEPT _LIBCPP_DEFAULT
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    atomic_flag(bool __b) _NOEXCEPT : __a_(__b) {} // EXTENSION
-
-#ifndef _LIBCPP_CXX03_LANG
-    atomic_flag(const atomic_flag&) = delete;
-    atomic_flag& operator=(const atomic_flag&) = delete;
-    atomic_flag& operator=(const atomic_flag&) volatile = delete;
-#else
-private:
-    atomic_flag(const atomic_flag&);
-    atomic_flag& operator=(const atomic_flag&);
-    atomic_flag& operator=(const atomic_flag&) volatile;
-#endif
-} atomic_flag;
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-atomic_flag_test_and_set(volatile atomic_flag* __o) _NOEXCEPT
-{
-    return __o->test_and_set();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-atomic_flag_test_and_set(atomic_flag* __o) _NOEXCEPT
-{
-    return __o->test_and_set();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-atomic_flag_test_and_set_explicit(volatile atomic_flag* __o, memory_order __m) _NOEXCEPT
-{
-    return __o->test_and_set(__m);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-atomic_flag_test_and_set_explicit(atomic_flag* __o, memory_order __m) _NOEXCEPT
-{
-    return __o->test_and_set(__m);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-atomic_flag_clear(volatile atomic_flag* __o) _NOEXCEPT
-{
-    __o->clear();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-atomic_flag_clear(atomic_flag* __o) _NOEXCEPT
-{
-    __o->clear();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-atomic_flag_clear_explicit(volatile atomic_flag* __o, memory_order __m) _NOEXCEPT
-{
-    __o->clear(__m);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-atomic_flag_clear_explicit(atomic_flag* __o, memory_order __m) _NOEXCEPT
-{
-    __o->clear(__m);
-}
-
-// fences
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-atomic_thread_fence(memory_order __m) _NOEXCEPT
-{
-    __cxx_atomic_thread_fence(__m);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-atomic_signal_fence(memory_order __m) _NOEXCEPT
-{
-    __cxx_atomic_signal_fence(__m);
-}
-
-// Atomics for standard typedef types
-
-typedef atomic<bool>               atomic_bool;
-typedef atomic<char>               atomic_char;
-typedef atomic<signed char>        atomic_schar;
-typedef atomic<unsigned char>      atomic_uchar;
-typedef atomic<short>              atomic_short;
-typedef atomic<unsigned short>     atomic_ushort;
-typedef atomic<int>                atomic_int;
-typedef atomic<unsigned int>       atomic_uint;
-typedef atomic<long>               atomic_long;
-typedef atomic<unsigned long>      atomic_ulong;
-typedef atomic<long long>          atomic_llong;
-typedef atomic<unsigned long long> atomic_ullong;
-typedef atomic<char16_t>           atomic_char16_t;
-typedef atomic<char32_t>           atomic_char32_t;
-typedef atomic<wchar_t>            atomic_wchar_t;
-
-typedef atomic<int_least8_t>   atomic_int_least8_t;
-typedef atomic<uint_least8_t>  atomic_uint_least8_t;
-typedef atomic<int_least16_t>  atomic_int_least16_t;
-typedef atomic<uint_least16_t> atomic_uint_least16_t;
-typedef atomic<int_least32_t>  atomic_int_least32_t;
-typedef atomic<uint_least32_t> atomic_uint_least32_t;
-typedef atomic<int_least64_t>  atomic_int_least64_t;
-typedef atomic<uint_least64_t> atomic_uint_least64_t;
-
-typedef atomic<int_fast8_t>   atomic_int_fast8_t;
-typedef atomic<uint_fast8_t>  atomic_uint_fast8_t;
-typedef atomic<int_fast16_t>  atomic_int_fast16_t;
-typedef atomic<uint_fast16_t> atomic_uint_fast16_t;
-typedef atomic<int_fast32_t>  atomic_int_fast32_t;
-typedef atomic<uint_fast32_t> atomic_uint_fast32_t;
-typedef atomic<int_fast64_t>  atomic_int_fast64_t;
-typedef atomic<uint_fast64_t> atomic_uint_fast64_t;
-
-typedef atomic< int8_t>  atomic_int8_t;
-typedef atomic<uint8_t>  atomic_uint8_t;
-typedef atomic< int16_t> atomic_int16_t;
-typedef atomic<uint16_t> atomic_uint16_t;
-typedef atomic< int32_t> atomic_int32_t;
-typedef atomic<uint32_t> atomic_uint32_t;
-typedef atomic< int64_t> atomic_int64_t;
-typedef atomic<uint64_t> atomic_uint64_t;
-
-typedef atomic<intptr_t>  atomic_intptr_t;
-typedef atomic<uintptr_t> atomic_uintptr_t;
-typedef atomic<size_t>    atomic_size_t;
-typedef atomic<ptrdiff_t> atomic_ptrdiff_t;
-typedef atomic<intmax_t>  atomic_intmax_t;
-typedef atomic<uintmax_t> atomic_uintmax_t;
-
-#define ATOMIC_FLAG_INIT {false}
-#define ATOMIC_VAR_INIT(__v) {__v}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_ATOMIC
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/bit b/r21/sources/cxx-stl/llvm-libc++/include/bit
deleted file mode 100644
index 8800b22..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/bit
+++ /dev/null
@@ -1,486 +0,0 @@
-// -*- C++ -*-
-//===------------------------------ bit ----------------------------------===//
-//
-// 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
-//
-//===---------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_BIT
-#define _LIBCPP_BIT
-
-/*
-    bit synopsis
-
-namespace std {
-
-  template <class T>
-    constexpr bool ispow2(T x) noexcept; // C++20
-  template <class T>
-    constexpr T ceil2(T x);              // C++20
-  template <class T>
-    constexpr T floor2(T x) noexcept;    // C++20
-  template <class T>
-    constexpr T log2p1(T x) noexcept;    // C++20
-
-  // 23.20.2, rotating
-  template<class T>
-    constexpr T rotl(T x, unsigned int s) noexcept; // C++20
-  template<class T>
-    constexpr T rotr(T x, unsigned int s) noexcept; // C++20
-
-  // 23.20.3, counting
-  template<class T>
-    constexpr int countl_zero(T x) noexcept;  // C++20
-  template<class T>
-    constexpr int countl_one(T x) noexcept;   // C++20
-  template<class T>
-    constexpr int countr_zero(T x) noexcept;  // C++20
-  template<class T>
-    constexpr int countr_one(T x) noexcept;   // C++20
-  template<class T>
-    constexpr int popcount(T x) noexcept;     // C++20
-
-  // 20.15.9, endian 
-  enum class endian {
-    little = see below,        // C++20
-    big = see below,           // C++20
-    native = see below         // C++20
-};
-
-} // namespace std
-
-*/
-
-#include <__config>
-#include <limits>
-#include <type_traits>
-#include <version>
-#include <__debug>
-
-#if defined(__IBMCPP__)
-#include "support/ibm/support.h"
-#endif
-#if defined(_LIBCPP_COMPILER_MSVC)
-#include <intrin.h>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifndef _LIBCPP_COMPILER_MSVC
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_ctz(unsigned __x)           _NOEXCEPT { return __builtin_ctz(__x); }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_ctz(unsigned long __x)      _NOEXCEPT { return __builtin_ctzl(__x); }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_ctz(unsigned long long __x) _NOEXCEPT { return __builtin_ctzll(__x); }
-
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_clz(unsigned __x)           _NOEXCEPT { return __builtin_clz(__x); }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_clz(unsigned long __x)      _NOEXCEPT { return __builtin_clzl(__x); }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_clz(unsigned long long __x) _NOEXCEPT { return __builtin_clzll(__x); }
-
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_popcount(unsigned __x)           _NOEXCEPT { return __builtin_popcount(__x); }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_popcount(unsigned long __x)      _NOEXCEPT { return __builtin_popcountl(__x); }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __libcpp_popcount(unsigned long long __x) _NOEXCEPT { return __builtin_popcountll(__x); }
-
-#else  // _LIBCPP_COMPILER_MSVC
-
-// Precondition:  __x != 0
-inline _LIBCPP_INLINE_VISIBILITY
-int __libcpp_ctz(unsigned __x) {
-  static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
-  static_assert(sizeof(unsigned long) == 4, "");
-  unsigned long __where;
-  if (_BitScanForward(&__where, __x))
-    return static_cast<int>(__where);
-  return 32;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-int __libcpp_ctz(unsigned long __x) {
-    static_assert(sizeof(unsigned long) == sizeof(unsigned), "");
-    return __ctz(static_cast<unsigned>(__x));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-int __libcpp_ctz(unsigned long long __x) {
-    unsigned long __where;
-#if defined(_LIBCPP_HAS_BITSCAN64)
-    (defined(_M_AMD64) || defined(__x86_64__))
-  if (_BitScanForward64(&__where, __x))
-    return static_cast<int>(__where);
-#else
-  // Win32 doesn't have _BitScanForward64 so emulate it with two 32 bit calls.
-  if (_BitScanForward(&__where, static_cast<unsigned long>(__x)))
-    return static_cast<int>(__where);
-  if (_BitScanForward(&__where, static_cast<unsigned long>(__x >> 32)))
-    return static_cast<int>(__where + 32);
-#endif
-  return 64;
-}
-
-// Precondition:  __x != 0
-inline _LIBCPP_INLINE_VISIBILITY
-int __libcpp_clz(unsigned __x) {
-  static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
-  static_assert(sizeof(unsigned long) == 4, "");
-  unsigned long __where;
-  if (_BitScanReverse(&__where, __x))
-    return static_cast<int>(31 - __where);
-  return 32; // Undefined Behavior.
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-int __libcpp_clz(unsigned long __x) {
-    static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
-    return __libcpp_clz(static_cast<unsigned>(__x));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-int __libcpp_clz(unsigned long long __x) {
-  unsigned long __where;
-#if defined(_LIBCPP_HAS_BITSCAN64)
-  if (_BitScanReverse64(&__where, __x))
-    return static_cast<int>(63 - __where);
-#else
-  // Win32 doesn't have _BitScanReverse64 so emulate it with two 32 bit calls.
-  if (_BitScanReverse(&__where, static_cast<unsigned long>(__x >> 32)))
-    return static_cast<int>(63 - (__where + 32));
-  if (_BitScanReverse(&__where, static_cast<unsigned long>(__x)))
-    return static_cast<int>(63 - __where);
-#endif
-  return 64; // Undefined Behavior.
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned __x) {
-  static_assert(sizeof(unsigned) == 4, "");
-  return __popcnt(__x);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned long __x) {
-  static_assert(sizeof(unsigned long) == 4, "");
-  return __popcnt(__x);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned long long __x) {
-  static_assert(sizeof(unsigned long long) == 8, "");
-  return __popcnt64(__x);
-}
-
-#endif // _LIBCPP_COMPILER_MSVC
-
-template <class _Tp>
-using __bitop_unsigned_integer _LIBCPP_NODEBUG_TYPE = integral_constant<bool,
-         is_integral<_Tp>::value &&
-         is_unsigned<_Tp>::value &&
-        _IsNotSame<typename remove_cv<_Tp>::type, bool>::value &&
-        _IsNotSame<typename remove_cv<_Tp>::type, signed char>::value &&
-        _IsNotSame<typename remove_cv<_Tp>::type, wchar_t>::value &&
-        _IsNotSame<typename remove_cv<_Tp>::type, char16_t>::value &&
-        _IsNotSame<typename remove_cv<_Tp>::type, char32_t>::value
-    >;
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp __rotl(_Tp __t, unsigned int __cnt) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__rotl requires unsigned");
-    const unsigned int __dig = numeric_limits<_Tp>::digits;
-    if ((__cnt % __dig) == 0)
-        return __t;
-    return (__t << (__cnt % __dig)) | (__t >> (__dig - (__cnt % __dig)));
-}
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp __rotr(_Tp __t, unsigned int __cnt) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__rotr requires unsigned");
-    const unsigned int __dig = numeric_limits<_Tp>::digits;
-    if ((__cnt % __dig) == 0)
-        return __t;
-    return (__t >> (__cnt % __dig)) | (__t << (__dig - (__cnt % __dig)));
-}
-
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-int __countr_zero(_Tp __t) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__countr_zero requires unsigned");
-    if (__t == 0)
-        return numeric_limits<_Tp>::digits;
-
-    if      (sizeof(_Tp) <= sizeof(unsigned int))
-        return __libcpp_ctz(static_cast<unsigned int>(__t));
-    else if (sizeof(_Tp) <= sizeof(unsigned long))
-        return __libcpp_ctz(static_cast<unsigned long>(__t));
-    else if (sizeof(_Tp) <= sizeof(unsigned long long))
-        return __libcpp_ctz(static_cast<unsigned long long>(__t));
-    else
-    {
-        int __ret = 0;
-        int __iter = 0;
-        const unsigned int __ulldigits = numeric_limits<unsigned long long>::digits;
-        while ((__iter = __libcpp_ctz(static_cast<unsigned long long>(__t))) == __ulldigits)
-        {
-            __ret += __iter;
-            __t >>= __ulldigits;
-        }
-        return __ret + __iter;
-    }
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-int __countl_zero(_Tp __t) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__countl_zero requires unsigned");
-    if (__t == 0)
-        return numeric_limits<_Tp>::digits;
-
-    if      (sizeof(_Tp) <= sizeof(unsigned int))
-        return __libcpp_clz(static_cast<unsigned int>(__t))
-              - (numeric_limits<unsigned int>::digits - numeric_limits<_Tp>::digits);
-    else if (sizeof(_Tp) <= sizeof(unsigned long))
-        return __libcpp_clz(static_cast<unsigned long>(__t))
-              - (numeric_limits<unsigned long>::digits - numeric_limits<_Tp>::digits);
-    else if (sizeof(_Tp) <= sizeof(unsigned long long))
-        return __libcpp_clz(static_cast<unsigned long long>(__t))
-              - (numeric_limits<unsigned long long>::digits - numeric_limits<_Tp>::digits);
-    else
-    {
-        int __ret = 0;
-        int __iter = 0;
-        const unsigned int __ulldigits = numeric_limits<unsigned long long>::digits;
-        while (true) {
-            __t = __rotr(__t, __ulldigits);
-            if ((__iter = __countl_zero(static_cast<unsigned long long>(__t))) != __ulldigits)
-                break;
-            __ret += __iter;
-            }
-        return __ret + __iter;
-    }
-}
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-int __countl_one(_Tp __t) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__countl_one requires unsigned");
-    return __t != numeric_limits<_Tp>::max()
-        ? __countl_zero(static_cast<_Tp>(~__t))
-        : numeric_limits<_Tp>::digits;
-}
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-int __countr_one(_Tp __t) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__countr_one requires unsigned");
-    return __t != numeric_limits<_Tp>::max()
-        ? __countr_zero(static_cast<_Tp>(~__t))
-        : numeric_limits<_Tp>::digits;
-}
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-int
-__popcount(_Tp __t) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__libcpp_popcount requires unsigned");
-    if      (sizeof(_Tp) <= sizeof(unsigned int))
-        return __libcpp_popcount(static_cast<unsigned int>(__t));
-    else if (sizeof(_Tp) <= sizeof(unsigned long))
-        return __libcpp_popcount(static_cast<unsigned long>(__t));
-    else if (sizeof(_Tp) <= sizeof(unsigned long long))
-        return __libcpp_popcount(static_cast<unsigned long long>(__t));
-    else
-    {
-        int __ret = 0;
-        while (__t != 0)
-        {
-            __ret += __libcpp_popcount(static_cast<unsigned long long>(__t));
-            __t >>= numeric_limits<unsigned long long>::digits;
-        }
-        return __ret;
-    }
-}
-
-
-// integral log base 2
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-unsigned __bit_log2(_Tp __t) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__bit_log2 requires unsigned");
-    return std::numeric_limits<_Tp>::digits - 1 - __countl_zero(__t);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-bool __ispow2(_Tp __t) _NOEXCEPT
-{
-    static_assert(__bitop_unsigned_integer<_Tp>::value, "__ispow2 requires unsigned");
-	return __t != 0 && (((__t & (__t - 1)) == 0)); 
-}
-
-
-#if _LIBCPP_STD_VER > 17
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, _Tp>
-rotl(_Tp __t, unsigned int __cnt) noexcept
-{
-    return __rotl(__t, __cnt);
-}
-
-
-// rotr
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, _Tp>
-rotr(_Tp __t, unsigned int __cnt) noexcept
-{
-    return __rotr(__t, __cnt);
-}
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
-countl_zero(_Tp __t) noexcept
-{
-    return __countl_zero(__t);
-}
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
-countl_one(_Tp __t) noexcept
-{
-    return __countl_one(__t);
-}
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
-countr_zero(_Tp __t) noexcept
-{
-	return __countr_zero(__t);
-}
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
-countr_one(_Tp __t) noexcept
-{
-    return __countr_one(__t);
-}
-
-
-template<class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, int>
-popcount(_Tp __t) noexcept
-{
-    return __popcount(__t);
-}
-
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, bool>
-ispow2(_Tp __t) noexcept
-{
-    return __ispow2(__t);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, _Tp>
-floor2(_Tp __t) noexcept
-{
-    return __t == 0 ? 0 : _Tp{1} << __bit_log2(__t);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, _Tp>
-ceil2(_Tp __t) noexcept
-{
-    if (__t < 2) return 1;
-    const unsigned __n = numeric_limits<_Tp>::digits - countl_zero((_Tp)(__t - 1u));
-    _LIBCPP_DEBUG_ASSERT(__libcpp_is_constant_evaluated() || __n != numeric_limits<_Tp>::digits, "Bad input to ceil2");
-
-    if constexpr (sizeof(_Tp) >= sizeof(unsigned))
-        return _Tp{1} << __n;
-    else
-    {
-        const unsigned __extra = numeric_limits<unsigned>::digits  - numeric_limits<_Tp>::digits;
-        const unsigned __retVal = 1u << (__n + __extra);
-        return (_Tp) (__retVal >> __extra);
-    }
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<__bitop_unsigned_integer<_Tp>::value, _Tp>
-log2p1(_Tp __t) noexcept
-{
-    return __t == 0 ? 0 : __bit_log2(__t) + 1;
-}
-
-
-enum class endian
-{
-    little = 0xDEAD,
-    big    = 0xFACE,
-#if defined(_LIBCPP_LITTLE_ENDIAN)
-    native = little
-#elif defined(_LIBCPP_BIG_ENDIAN)
-    native = big
-#else
-    native = 0xCAFE
-#endif
-};
-
-#endif // _LIBCPP_STD_VER > 17
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif // _LIBCPP_BIT
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/charconv b/r21/sources/cxx-stl/llvm-libc++/include/charconv
deleted file mode 100644
index a644fe0..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/charconv
+++ /dev/null
@@ -1,616 +0,0 @@
-// -*- C++ -*-
-//===------------------------------ charconv ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CHARCONV
-#define _LIBCPP_CHARCONV
-
-/*
-    charconv synopsis
-
-namespace std {
-
-  // floating-point format for primitive numerical conversion
-  enum class chars_format {
-    scientific = unspecified,
-    fixed = unspecified,
-    hex = unspecified,
-    general = fixed | scientific
-  };
-
-  // 23.20.2, primitive numerical output conversion
-  struct to_chars_result {
-    char* ptr;
-    errc ec;
-  };
-
-  to_chars_result to_chars(char* first, char* last, see below value,
-                           int base = 10);
-
-  to_chars_result to_chars(char* first, char* last, float value);
-  to_chars_result to_chars(char* first, char* last, double value);
-  to_chars_result to_chars(char* first, char* last, long double value);
-
-  to_chars_result to_chars(char* first, char* last, float value,
-                           chars_format fmt);
-  to_chars_result to_chars(char* first, char* last, double value,
-                           chars_format fmt);
-  to_chars_result to_chars(char* first, char* last, long double value,
-                           chars_format fmt);
-
-  to_chars_result to_chars(char* first, char* last, float value,
-                           chars_format fmt, int precision);
-  to_chars_result to_chars(char* first, char* last, double value,
-                           chars_format fmt, int precision);
-  to_chars_result to_chars(char* first, char* last, long double value,
-                           chars_format fmt, int precision);
-
-  // 23.20.3, primitive numerical input conversion
-  struct from_chars_result {
-    const char* ptr;
-    errc ec;
-  };
-
-  from_chars_result from_chars(const char* first, const char* last,
-                               see below& value, int base = 10);
-
-  from_chars_result from_chars(const char* first, const char* last,
-                               float& value,
-                               chars_format fmt = chars_format::general);
-  from_chars_result from_chars(const char* first, const char* last,
-                               double& value,
-                               chars_format fmt = chars_format::general);
-  from_chars_result from_chars(const char* first, const char* last,
-                               long double& value,
-                               chars_format fmt = chars_format::general);
-
-} // namespace std
-
-*/
-
-#include <__errc>
-#include <type_traits>
-#include <limits>
-#include <stdint.h>
-#include <string.h>
-#include <math.h>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-namespace __itoa {
-_LIBCPP_FUNC_VIS char* __u64toa(uint64_t __value, char* __buffer);
-_LIBCPP_FUNC_VIS char* __u32toa(uint32_t __value, char* __buffer);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-enum class _LIBCPP_ENUM_VIS chars_format
-{
-    scientific = 0x1,
-    fixed = 0x2,
-    hex = 0x4,
-    general = fixed | scientific
-};
-
-struct _LIBCPP_TYPE_VIS to_chars_result
-{
-    char* ptr;
-    errc ec;
-};
-
-struct _LIBCPP_TYPE_VIS from_chars_result
-{
-    const char* ptr;
-    errc ec;
-};
-
-void to_chars(char*, char*, bool, int = 10) = delete;
-void from_chars(const char*, const char*, bool, int = 10) = delete;
-
-namespace __itoa
-{
-
-static _LIBCPP_CONSTEXPR uint64_t __pow10_64[] = {
-    UINT64_C(0),
-    UINT64_C(10),
-    UINT64_C(100),
-    UINT64_C(1000),
-    UINT64_C(10000),
-    UINT64_C(100000),
-    UINT64_C(1000000),
-    UINT64_C(10000000),
-    UINT64_C(100000000),
-    UINT64_C(1000000000),
-    UINT64_C(10000000000),
-    UINT64_C(100000000000),
-    UINT64_C(1000000000000),
-    UINT64_C(10000000000000),
-    UINT64_C(100000000000000),
-    UINT64_C(1000000000000000),
-    UINT64_C(10000000000000000),
-    UINT64_C(100000000000000000),
-    UINT64_C(1000000000000000000),
-    UINT64_C(10000000000000000000),
-};
-
-static _LIBCPP_CONSTEXPR uint32_t __pow10_32[] = {
-    UINT32_C(0),          UINT32_C(10),       UINT32_C(100),
-    UINT32_C(1000),       UINT32_C(10000),    UINT32_C(100000),
-    UINT32_C(1000000),    UINT32_C(10000000), UINT32_C(100000000),
-    UINT32_C(1000000000),
-};
-
-template <typename _Tp, typename = void>
-struct _LIBCPP_HIDDEN __traits_base
-{
-    using type = uint64_t;
-
-#if !defined(_LIBCPP_COMPILER_MSVC)
-    static _LIBCPP_INLINE_VISIBILITY int __width(_Tp __v)
-    {
-        auto __t = (64 - __builtin_clzll(__v | 1)) * 1233 >> 12;
-        return __t - (__v < __pow10_64[__t]) + 1;
-    }
-#endif
-
-    static _LIBCPP_INLINE_VISIBILITY char* __convert(_Tp __v, char* __p)
-    {
-        return __u64toa(__v, __p);
-    }
-
-    static _LIBCPP_INLINE_VISIBILITY decltype(__pow10_64)& __pow() { return __pow10_64; }
-};
-
-template <typename _Tp>
-struct _LIBCPP_HIDDEN
-    __traits_base<_Tp, decltype(void(uint32_t{declval<_Tp>()}))>
-{
-    using type = uint32_t;
-
-#if !defined(_LIBCPP_COMPILER_MSVC)
-    static _LIBCPP_INLINE_VISIBILITY int __width(_Tp __v)
-    {
-        auto __t = (32 - __builtin_clz(__v | 1)) * 1233 >> 12;
-        return __t - (__v < __pow10_32[__t]) + 1;
-    }
-#endif
-
-    static _LIBCPP_INLINE_VISIBILITY char* __convert(_Tp __v, char* __p)
-    {
-        return __u32toa(__v, __p);
-    }
-
-    static _LIBCPP_INLINE_VISIBILITY decltype(__pow10_32)& __pow() { return __pow10_32; }
-};
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY bool
-__mul_overflowed(unsigned char __a, _Tp __b, unsigned char& __r)
-{
-    auto __c = __a * __b;
-    __r = __c;
-    return __c > (numeric_limits<unsigned char>::max)();
-}
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY bool
-__mul_overflowed(unsigned short __a, _Tp __b, unsigned short& __r)
-{
-    auto __c = __a * __b;
-    __r = __c;
-    return __c > (numeric_limits<unsigned short>::max)();
-}
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY bool
-__mul_overflowed(_Tp __a, _Tp __b, _Tp& __r)
-{
-    static_assert(is_unsigned<_Tp>::value, "");
-#if !defined(_LIBCPP_COMPILER_MSVC)
-    return __builtin_mul_overflow(__a, __b, &__r);
-#else
-    bool __did = __b && ((numeric_limits<_Tp>::max)() / __b) < __a;
-    __r = __a * __b;
-    return __did;
-#endif
-}
-
-template <typename _Tp, typename _Up>
-inline _LIBCPP_INLINE_VISIBILITY bool
-__mul_overflowed(_Tp __a, _Up __b, _Tp& __r)
-{
-    return __mul_overflowed(__a, static_cast<_Tp>(__b), __r);
-}
-
-template <typename _Tp>
-struct _LIBCPP_HIDDEN __traits : __traits_base<_Tp>
-{
-    static _LIBCPP_CONSTEXPR int digits = numeric_limits<_Tp>::digits10 + 1;
-    using __traits_base<_Tp>::__pow;
-    using typename __traits_base<_Tp>::type;
-
-    // precondition: at least one non-zero character available
-    static _LIBCPP_INLINE_VISIBILITY char const*
-    __read(char const* __p, char const* __ep, type& __a, type& __b)
-    {
-        type __cprod[digits];
-        int __j = digits - 1;
-        int __i = digits;
-        do
-        {
-            if (!('0' <= *__p && *__p <= '9'))
-                break;
-            __cprod[--__i] = *__p++ - '0';
-        } while (__p != __ep && __i != 0);
-
-        __a = __inner_product(__cprod + __i + 1, __cprod + __j, __pow() + 1,
-                              __cprod[__i]);
-        if (__mul_overflowed(__cprod[__j], __pow()[__j - __i], __b))
-            --__p;
-        return __p;
-    }
-
-    template <typename _It1, typename _It2, class _Up>
-    static _LIBCPP_INLINE_VISIBILITY _Up
-    __inner_product(_It1 __first1, _It1 __last1, _It2 __first2, _Up __init)
-    {
-        for (; __first1 < __last1; ++__first1, ++__first2)
-            __init = __init + *__first1 * *__first2;
-        return __init;
-    }
-};
-
-}  // namespace __itoa
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _Tp
-__complement(_Tp __x)
-{
-    static_assert(is_unsigned<_Tp>::value, "cast to unsigned first");
-    return _Tp(~__x + 1);
-}
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY typename make_unsigned<_Tp>::type
-__to_unsigned(_Tp __x)
-{
-    return static_cast<typename make_unsigned<_Tp>::type>(__x);
-}
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY to_chars_result
-__to_chars_itoa(char* __first, char* __last, _Tp __value, true_type)
-{
-    auto __x = __to_unsigned(__value);
-    if (__value < 0 && __first != __last)
-    {
-        *__first++ = '-';
-        __x = __complement(__x);
-    }
-
-    return __to_chars_itoa(__first, __last, __x, false_type());
-}
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY to_chars_result
-__to_chars_itoa(char* __first, char* __last, _Tp __value, false_type)
-{
-    using __tx = __itoa::__traits<_Tp>;
-    auto __diff = __last - __first;
-
-#if !defined(_LIBCPP_COMPILER_MSVC)
-    if (__tx::digits <= __diff || __tx::__width(__value) <= __diff)
-        return {__tx::__convert(__value, __first), errc(0)};
-    else
-        return {__last, errc::value_too_large};
-#else
-    if (__tx::digits <= __diff)
-        return {__tx::__convert(__value, __first), {}};
-    else
-    {
-        char __buf[__tx::digits];
-        auto __p = __tx::__convert(__value, __buf);
-        auto __len = __p - __buf;
-        if (__len <= __diff)
-        {
-            memcpy(__first, __buf, __len);
-            return {__first + __len, {}};
-        }
-        else
-            return {__last, errc::value_too_large};
-    }
-#endif
-}
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY to_chars_result
-__to_chars_integral(char* __first, char* __last, _Tp __value, int __base,
-                    true_type)
-{
-    auto __x = __to_unsigned(__value);
-    if (__value < 0 && __first != __last)
-    {
-        *__first++ = '-';
-        __x = __complement(__x);
-    }
-
-    return __to_chars_integral(__first, __last, __x, __base, false_type());
-}
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY to_chars_result
-__to_chars_integral(char* __first, char* __last, _Tp __value, int __base,
-                    false_type)
-{
-    if (__base == 10)
-        return __to_chars_itoa(__first, __last, __value, false_type());
-
-    auto __p = __last;
-    while (__p != __first)
-    {
-        auto __c = __value % __base;
-        __value /= __base;
-        *--__p = "0123456789abcdefghijklmnopqrstuvwxyz"[__c];
-        if (__value == 0)
-            break;
-    }
-
-    auto __len = __last - __p;
-    if (__value != 0 || !__len)
-        return {__last, errc::value_too_large};
-    else
-    {
-        memmove(__first, __p, __len);
-        return {__first + __len, {}};
-    }
-}
-
-template <typename _Tp, typename enable_if<is_integral<_Tp>::value, int>::type = 0>
-inline _LIBCPP_INLINE_VISIBILITY to_chars_result
-to_chars(char* __first, char* __last, _Tp __value)
-{
-    return __to_chars_itoa(__first, __last, __value, is_signed<_Tp>());
-}
-
-template <typename _Tp, typename enable_if<is_integral<_Tp>::value, int>::type = 0>
-inline _LIBCPP_INLINE_VISIBILITY to_chars_result
-to_chars(char* __first, char* __last, _Tp __value, int __base)
-{
-    _LIBCPP_ASSERT(2 <= __base && __base <= 36, "base not in [2, 36]");
-    return __to_chars_integral(__first, __last, __value, __base,
-                               is_signed<_Tp>());
-}
-
-template <typename _It, typename _Tp, typename _Fn, typename... _Ts>
-inline _LIBCPP_INLINE_VISIBILITY from_chars_result
-__sign_combinator(_It __first, _It __last, _Tp& __value, _Fn __f, _Ts... __args)
-{
-    using __tl = numeric_limits<_Tp>;
-    decltype(__to_unsigned(__value)) __x;
-
-    bool __neg = (__first != __last && *__first == '-');
-    auto __r = __f(__neg ? __first + 1 : __first, __last, __x, __args...);
-    switch (__r.ec)
-    {
-    case errc::invalid_argument:
-        return {__first, __r.ec};
-    case errc::result_out_of_range:
-        return __r;
-    default:
-        break;
-    }
-
-    if (__neg)
-    {
-        if (__x <= __complement(__to_unsigned(__tl::min())))
-        {
-            __x = __complement(__x);
-            memcpy(&__value, &__x, sizeof(__x));
-            return __r;
-        }
-    }
-    else
-    {
-        if (__x <= (__tl::max)())
-        {
-            __value = __x;
-            return __r;
-        }
-    }
-
-    return {__r.ptr, errc::result_out_of_range};
-}
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY bool
-__in_pattern(_Tp __c)
-{
-    return '0' <= __c && __c <= '9';
-}
-
-struct _LIBCPP_HIDDEN __in_pattern_result
-{
-    bool __ok;
-    int __val;
-
-    explicit _LIBCPP_INLINE_VISIBILITY operator bool() const { return __ok; }
-};
-
-template <typename _Tp>
-inline _LIBCPP_INLINE_VISIBILITY __in_pattern_result
-__in_pattern(_Tp __c, int __base)
-{
-    if (__base <= 10)
-        return {'0' <= __c && __c < '0' + __base, __c - '0'};
-    else if (__in_pattern(__c))
-        return {true, __c - '0'};
-    else if ('a' <= __c && __c < 'a' + __base - 10)
-        return {true, __c - 'a' + 10};
-    else
-        return {'A' <= __c && __c < 'A' + __base - 10, __c - 'A' + 10};
-}
-
-template <typename _It, typename _Tp, typename _Fn, typename... _Ts>
-inline _LIBCPP_INLINE_VISIBILITY from_chars_result
-__subject_seq_combinator(_It __first, _It __last, _Tp& __value, _Fn __f,
-                         _Ts... __args)
-{
-    auto __find_non_zero = [](_It __first, _It __last) {
-        for (; __first != __last; ++__first)
-            if (*__first != '0')
-                break;
-        return __first;
-    };
-
-    auto __p = __find_non_zero(__first, __last);
-    if (__p == __last || !__in_pattern(*__p, __args...))
-    {
-        if (__p == __first)
-            return {__first, errc::invalid_argument};
-        else
-        {
-            __value = 0;
-            return {__p, {}};
-        }
-    }
-
-    auto __r = __f(__p, __last, __value, __args...);
-    if (__r.ec == errc::result_out_of_range)
-    {
-        for (; __r.ptr != __last; ++__r.ptr)
-        {
-            if (!__in_pattern(*__r.ptr, __args...))
-                break;
-        }
-    }
-
-    return __r;
-}
-
-template <typename _Tp, typename enable_if<is_unsigned<_Tp>::value, int>::type = 0>
-inline _LIBCPP_INLINE_VISIBILITY from_chars_result
-__from_chars_atoi(const char* __first, const char* __last, _Tp& __value)
-{
-    using __tx = __itoa::__traits<_Tp>;
-    using __output_type = typename __tx::type;
-
-    return __subject_seq_combinator(
-        __first, __last, __value,
-        [](const char* __first, const char* __last,
-           _Tp& __value) -> from_chars_result {
-            __output_type __a, __b;
-            auto __p = __tx::__read(__first, __last, __a, __b);
-            if (__p == __last || !__in_pattern(*__p))
-            {
-                __output_type __m = (numeric_limits<_Tp>::max)();
-                if (__m >= __a && __m - __a >= __b)
-                {
-                    __value = __a + __b;
-                    return {__p, {}};
-                }
-            }
-            return {__p, errc::result_out_of_range};
-        });
-}
-
-template <typename _Tp, typename enable_if<is_signed<_Tp>::value, int>::type = 0>
-inline _LIBCPP_INLINE_VISIBILITY from_chars_result
-__from_chars_atoi(const char* __first, const char* __last, _Tp& __value)
-{
-    using __t = decltype(__to_unsigned(__value));
-    return __sign_combinator(__first, __last, __value, __from_chars_atoi<__t>);
-}
-
-template <typename _Tp, typename enable_if<is_unsigned<_Tp>::value, int>::type = 0>
-inline _LIBCPP_INLINE_VISIBILITY from_chars_result
-__from_chars_integral(const char* __first, const char* __last, _Tp& __value,
-                      int __base)
-{
-    if (__base == 10)
-        return __from_chars_atoi(__first, __last, __value);
-
-    return __subject_seq_combinator(
-        __first, __last, __value,
-        [](const char* __p, const char* __last, _Tp& __value,
-           int __base) -> from_chars_result {
-            using __tl = numeric_limits<_Tp>;
-            auto __digits = __tl::digits / log2f(float(__base));
-            _Tp __a = __in_pattern(*__p++, __base).__val, __b = 0;
-
-            for (int __i = 1; __p != __last; ++__i, ++__p)
-            {
-                if (auto __c = __in_pattern(*__p, __base))
-                {
-                    if (__i < __digits - 1)
-                        __a = __a * __base + __c.__val;
-                    else
-                    {
-                        if (!__itoa::__mul_overflowed(__a, __base, __a))
-                            ++__p;
-                        __b = __c.__val;
-                        break;
-                    }
-                }
-                else
-                    break;
-            }
-
-            if (__p == __last || !__in_pattern(*__p, __base))
-            {
-                if ((__tl::max)() - __a >= __b)
-                {
-                    __value = __a + __b;
-                    return {__p, {}};
-                }
-            }
-            return {__p, errc::result_out_of_range};
-        },
-        __base);
-}
-
-template <typename _Tp, typename enable_if<is_signed<_Tp>::value, int>::type = 0>
-inline _LIBCPP_INLINE_VISIBILITY from_chars_result
-__from_chars_integral(const char* __first, const char* __last, _Tp& __value,
-                      int __base)
-{
-    using __t = decltype(__to_unsigned(__value));
-    return __sign_combinator(__first, __last, __value,
-                             __from_chars_integral<__t>, __base);
-}
-
-template <typename _Tp, typename enable_if<is_integral<_Tp>::value, int>::type = 0>
-inline _LIBCPP_INLINE_VISIBILITY from_chars_result
-from_chars(const char* __first, const char* __last, _Tp& __value)
-{
-    return __from_chars_atoi(__first, __last, __value);
-}
-
-template <typename _Tp, typename enable_if<is_integral<_Tp>::value, int>::type = 0>
-inline _LIBCPP_INLINE_VISIBILITY from_chars_result
-from_chars(const char* __first, const char* __last, _Tp& __value, int __base)
-{
-    _LIBCPP_ASSERT(2 <= __base && __base <= 36, "base not in [2, 36]");
-    return __from_chars_integral(__first, __last, __value, __base);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_CHARCONV
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/chrono b/r21/sources/cxx-stl/llvm-libc++/include/chrono
deleted file mode 100644
index 0e4cf9a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/chrono
+++ /dev/null
@@ -1,2960 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- chrono ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CHRONO
-#define _LIBCPP_CHRONO
-
-/*
-    chrono synopsis
-
-namespace std
-{
-namespace chrono
-{
-
-template <class ToDuration, class Rep, class Period>
-constexpr
-ToDuration
-duration_cast(const duration<Rep, Period>& fd);
-
-template <class Rep> struct treat_as_floating_point : is_floating_point<Rep> {};
-
-template <class Rep> inline constexpr bool treat_as_floating_point_v
-    = treat_as_floating_point<Rep>::value;                       // C++17
-
-template <class Rep>
-struct duration_values
-{
-public:
-    static constexpr Rep zero(); // noexcept in C++20
-    static constexpr Rep max();  // noexcept in C++20
-    static constexpr Rep min();  // noexcept in C++20
-};
-
-// duration
-
-template <class Rep, class Period = ratio<1>>
-class duration
-{
-    static_assert(!__is_duration<Rep>::value, "A duration representation can not be a duration");
-    static_assert(__is_ratio<Period>::value, "Second template parameter of duration must be a std::ratio");
-    static_assert(Period::num > 0, "duration period must be positive");
-public:
-    typedef Rep rep;
-    typedef typename _Period::type period;
-
-    constexpr duration() = default;
-    template <class Rep2>
-        constexpr explicit duration(const Rep2& r,
-            typename enable_if
-            <
-               is_convertible<Rep2, rep>::value &&
-               (treat_as_floating_point<rep>::value ||
-               !treat_as_floating_point<rep>::value && !treat_as_floating_point<Rep2>::value)
-            >::type* = 0);
-
-    // conversions
-    template <class Rep2, class Period2>
-        constexpr duration(const duration<Rep2, Period2>& d,
-            typename enable_if
-            <
-                treat_as_floating_point<rep>::value ||
-                ratio_divide<Period2, period>::type::den == 1
-            >::type* = 0);
-
-    // observer
-
-    constexpr rep count() const;
-
-    // arithmetic
-
-    constexpr common_type<duration>::type  operator+() const;
-    constexpr common_type<duration>::type  operator-() const;
-    constexpr duration& operator++();    // constexpr in C++17
-    constexpr duration  operator++(int); // constexpr in C++17
-    constexpr duration& operator--();    // constexpr in C++17
-    constexpr duration  operator--(int); // constexpr in C++17
-
-    constexpr duration& operator+=(const duration& d);  // constexpr in C++17
-    constexpr duration& operator-=(const duration& d);  // constexpr in C++17
-
-    duration& operator*=(const rep& rhs);       // constexpr in C++17
-    duration& operator/=(const rep& rhs);       // constexpr in C++17
-    duration& operator%=(const rep& rhs);       // constexpr in C++17
-    duration& operator%=(const duration& rhs);  // constexpr in C++17
-
-    // special values
-
-    static constexpr duration zero(); // noexcept in C++20
-    static constexpr duration min();  // noexcept in C++20
-    static constexpr duration max();  // noexcept in C++20
-};
-
-typedef duration<long long,         nano> nanoseconds;
-typedef duration<long long,        micro> microseconds;
-typedef duration<long long,        milli> milliseconds;
-typedef duration<long long              > seconds;
-typedef duration<     long, ratio<  60> > minutes;
-typedef duration<     long, ratio<3600> > hours;
-
-template <class Clock, class Duration = typename Clock::duration>
-class time_point
-{
-public:
-    typedef Clock                     clock;
-    typedef Duration                  duration;
-    typedef typename duration::rep    rep;
-    typedef typename duration::period period;
-private:
-    duration d_;  // exposition only
-
-public:
-    time_point();  // has value "epoch" // constexpr in C++14
-    explicit time_point(const duration& d);  // same as time_point() + d // constexpr in C++14
-
-    // conversions
-    template <class Duration2>
-       time_point(const time_point<clock, Duration2>& t); // constexpr in C++14
-
-    // observer
-
-    duration time_since_epoch() const; // constexpr in C++14
-
-    // arithmetic
-
-    time_point& operator+=(const duration& d); // constexpr in C++17
-    time_point& operator-=(const duration& d); // constexpr in C++17
-
-    // special values
-
-    static constexpr time_point min();  // noexcept in C++20
-    static constexpr time_point max();  // noexcept in C++20
-};
-
-} // chrono
-
-// common_type traits
-template <class Rep1, class Period1, class Rep2, class Period2>
-  struct common_type<chrono::duration<Rep1, Period1>, chrono::duration<Rep2, Period2>>;
-
-template <class Clock, class Duration1, class Duration2>
-  struct common_type<chrono::time_point<Clock, Duration1>, chrono::time_point<Clock, Duration2>>;
-
-namespace chrono {
-
-
-template<class T> struct is_clock;  // C++20
-template<class T> inline constexpr bool is_clock_v = is_clock<T>::value;   // C++20
-
-
-// duration arithmetic
-template <class Rep1, class Period1, class Rep2, class Period2>
-  constexpr
-  typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
-  operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Rep1, class Period1, class Rep2, class Period2>
-  constexpr
-  typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
-  operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Rep1, class Period, class Rep2>
-  constexpr
-  duration<typename common_type<Rep1, Rep2>::type, Period>
-  operator*(const duration<Rep1, Period>& d, const Rep2& s);
-template <class Rep1, class Period, class Rep2>
-  constexpr
-  duration<typename common_type<Rep1, Rep2>::type, Period>
-  operator*(const Rep1& s, const duration<Rep2, Period>& d);
-template <class Rep1, class Period, class Rep2>
-  constexpr
-  duration<typename common_type<Rep1, Rep2>::type, Period>
-  operator/(const duration<Rep1, Period>& d, const Rep2& s);
-template <class Rep1, class Period1, class Rep2, class Period2>
-  constexpr
-  typename common_type<Rep1, Rep2>::type
-  operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-
-// duration comparisons
-template <class Rep1, class Period1, class Rep2, class Period2>
-   constexpr
-   bool operator==(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Rep1, class Period1, class Rep2, class Period2>
-   constexpr
-   bool operator!=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Rep1, class Period1, class Rep2, class Period2>
-   constexpr
-   bool operator< (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Rep1, class Period1, class Rep2, class Period2>
-   constexpr
-   bool operator<=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Rep1, class Period1, class Rep2, class Period2>
-   constexpr
-   bool operator> (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Rep1, class Period1, class Rep2, class Period2>
-   constexpr
-   bool operator>=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
-
-// duration_cast
-template <class ToDuration, class Rep, class Period>
-  ToDuration duration_cast(const duration<Rep, Period>& d);
-
-template <class ToDuration, class Rep, class Period>
-    constexpr ToDuration floor(const duration<Rep, Period>& d);    // C++17
-template <class ToDuration, class Rep, class Period>
-    constexpr ToDuration ceil(const duration<Rep, Period>& d);     // C++17
-template <class ToDuration, class Rep, class Period>
-    constexpr ToDuration round(const duration<Rep, Period>& d);    // C++17
-
-// duration I/O is elsewhere
-
-// time_point arithmetic (all constexpr in C++14)
-template <class Clock, class Duration1, class Rep2, class Period2>
-  time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type>
-  operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Rep1, class Period1, class Clock, class Duration2>
-  time_point<Clock, typename common_type<duration<Rep1, Period1>, Duration2>::type>
-  operator+(const duration<Rep1, Period1>& lhs, const time_point<Clock, Duration2>& rhs);
-template <class Clock, class Duration1, class Rep2, class Period2>
-  time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type>
-  operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
-template <class Clock, class Duration1, class Duration2>
-  typename common_type<Duration1, Duration2>::type
-  operator-(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
-
-// time_point comparisons (all constexpr in C++14)
-template <class Clock, class Duration1, class Duration2>
-   bool operator==(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
-template <class Clock, class Duration1, class Duration2>
-   bool operator!=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
-template <class Clock, class Duration1, class Duration2>
-   bool operator< (const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
-template <class Clock, class Duration1, class Duration2>
-   bool operator<=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
-template <class Clock, class Duration1, class Duration2>
-   bool operator> (const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
-template <class Clock, class Duration1, class Duration2>
-   bool operator>=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
-
-// time_point_cast (constexpr in C++14)
-
-template <class ToDuration, class Clock, class Duration>
-  time_point<Clock, ToDuration> time_point_cast(const time_point<Clock, Duration>& t);
-
-template <class ToDuration, class Clock, class Duration>
-    constexpr time_point<Clock, ToDuration>
-    floor(const time_point<Clock, Duration>& tp);                  // C++17
-
-template <class ToDuration, class Clock, class Duration>
-    constexpr time_point<Clock, ToDuration>
-    ceil(const time_point<Clock, Duration>& tp);                   // C++17
-
-template <class ToDuration, class Clock, class Duration>
-    constexpr time_point<Clock, ToDuration>
-    round(const time_point<Clock, Duration>& tp);                  // C++17
-
-template <class Rep, class Period>
-    constexpr duration<Rep, Period> abs(duration<Rep, Period> d);  // C++17
-
-// Clocks
-
-class system_clock
-{
-public:
-    typedef microseconds                     duration;
-    typedef duration::rep                    rep;
-    typedef duration::period                 period;
-    typedef chrono::time_point<system_clock> time_point;
-    static const bool is_steady =            false; // constexpr in C++14
-
-    static time_point now() noexcept;
-    static time_t     to_time_t  (const time_point& __t) noexcept;
-    static time_point from_time_t(time_t __t) noexcept;
-};
-
-template <class Duration>
-  using sys_time  = time_point<system_clock, Duration>; // C++20
-using sys_seconds = sys_time<seconds>;                  // C++20
-using sys_days    = sys_time<days>;                     // C++20
-
-class utc_clock;                                        // C++20
-
-template <class Duration>
-  using utc_time  = time_point<utc_clock, Duration>;    // C++20
-using utc_seconds = utc_time<seconds>;                  // C++20
-
-class tai_clock;                                        // C++20
-
-template <class Duration>
-  using tai_time  = time_point<tai_clock, Duration>;    // C++20
-using tai_seconds = tai_time<seconds>;                  // C++20
-
-class file_clock;                                       // C++20
-
-template<class Duration>
-  using file_time = time_point<file_clock, Duration>;   // C++20
-
-class steady_clock
-{
-public:
-    typedef nanoseconds                                   duration;
-    typedef duration::rep                                 rep;
-    typedef duration::period                              period;
-    typedef chrono::time_point<steady_clock, duration>    time_point;
-    static const bool is_steady =                         true; // constexpr in C++14
-
-    static time_point now() noexcept;
-};
-
-typedef steady_clock high_resolution_clock;
-
-// 25.7.8, local time           // C++20
-struct local_t {};
-template<class Duration>
-  using local_time  = time_point<local_t, Duration>;
-using local_seconds = local_time<seconds>;
-using local_days    = local_time<days>;
-
-// 25.7.9, time_point conversions template<class DestClock, class SourceClock>    // C++20
-struct clock_time_conversion;
-
-template<class DestClock, class SourceClock, class Duration>
-  auto clock_cast(const time_point<SourceClock, Duration>& t);
-
-// 25.8.2, class last_spec    // C++20
-struct last_spec;
-
-// 25.8.3, class day          // C++20
-
-class day;
-constexpr bool operator==(const day& x, const day& y) noexcept;
-constexpr bool operator!=(const day& x, const day& y) noexcept;
-constexpr bool operator< (const day& x, const day& y) noexcept;
-constexpr bool operator> (const day& x, const day& y) noexcept;
-constexpr bool operator<=(const day& x, const day& y) noexcept;
-constexpr bool operator>=(const day& x, const day& y) noexcept;
-constexpr day  operator+(const day&  x, const days& y) noexcept;
-constexpr day  operator+(const days& x, const day&  y) noexcept;
-constexpr day  operator-(const day&  x, const days& y) noexcept;
-constexpr days operator-(const day&  x, const day&  y) noexcept;
-
-// 25.8.4, class month    // C++20
-class month;
-constexpr bool operator==(const month& x, const month& y) noexcept;
-constexpr bool operator!=(const month& x, const month& y) noexcept;
-constexpr bool operator< (const month& x, const month& y) noexcept;
-constexpr bool operator> (const month& x, const month& y) noexcept;
-constexpr bool operator<=(const month& x, const month& y) noexcept;
-constexpr bool operator>=(const month& x, const month& y) noexcept;
-constexpr month  operator+(const month&  x, const months& y) noexcept;
-constexpr month  operator+(const months& x,  const month& y) noexcept;
-constexpr month  operator-(const month&  x, const months& y) noexcept;
-constexpr months operator-(const month&  x,  const month& y) noexcept;
-
-// 25.8.5, class year    // C++20
-class year;
-constexpr bool operator==(const year& x, const year& y) noexcept;
-constexpr bool operator!=(const year& x, const year& y) noexcept;
-constexpr bool operator< (const year& x, const year& y) noexcept;
-constexpr bool operator> (const year& x, const year& y) noexcept;
-constexpr bool operator<=(const year& x, const year& y) noexcept;
-constexpr bool operator>=(const year& x, const year& y) noexcept;
-constexpr year  operator+(const year&  x, const years& y) noexcept;
-constexpr year  operator+(const years& x, const year&  y) noexcept;
-constexpr year  operator-(const year&  x, const years& y) noexcept;
-constexpr years operator-(const year&  x, const year&  y) noexcept;
-
-// 25.8.6, class weekday    // C++20
-class weekday;
-
-constexpr bool operator==(const weekday& x, const weekday& y) noexcept;
-constexpr bool operator!=(const weekday& x, const weekday& y) noexcept;
-constexpr weekday operator+(const weekday& x, const days&    y) noexcept;
-constexpr weekday operator+(const days&    x, const weekday& y) noexcept;
-constexpr weekday operator-(const weekday& x, const days&    y) noexcept;
-constexpr days    operator-(const weekday& x, const weekday& y) noexcept;
-
-// 25.8.7, class weekday_indexed    // C++20
-
-class weekday_indexed;
-constexpr bool operator==(const weekday_indexed& x, const weekday_indexed& y) noexcept;
-constexpr bool operator!=(const weekday_indexed& x, const weekday_indexed& y) noexcept;
-
-// 25.8.8, class weekday_last    // C++20
-class weekday_last;
-
-constexpr bool operator==(const weekday_last& x, const weekday_last& y) noexcept;
-constexpr bool operator!=(const weekday_last& x, const weekday_last& y) noexcept;
-
-// 25.8.9, class month_day    // C++20
-class month_day;
-
-constexpr bool operator==(const month_day& x, const month_day& y) noexcept;
-constexpr bool operator!=(const month_day& x, const month_day& y) noexcept;
-constexpr bool operator< (const month_day& x, const month_day& y) noexcept;
-constexpr bool operator> (const month_day& x, const month_day& y) noexcept;
-constexpr bool operator<=(const month_day& x, const month_day& y) noexcept;
-constexpr bool operator>=(const month_day& x, const month_day& y) noexcept;
-
-
-// 25.8.10, class month_day_last    // C++20
-class month_day_last;
-
-constexpr bool operator==(const month_day_last& x, const month_day_last& y) noexcept;
-constexpr bool operator!=(const month_day_last& x, const month_day_last& y) noexcept;
-constexpr bool operator< (const month_day_last& x, const month_day_last& y) noexcept;
-constexpr bool operator> (const month_day_last& x, const month_day_last& y) noexcept;
-constexpr bool operator<=(const month_day_last& x, const month_day_last& y) noexcept;
-constexpr bool operator>=(const month_day_last& x, const month_day_last& y) noexcept;
-
-// 25.8.11, class month_weekday    // C++20
-class month_weekday;
-
-constexpr bool operator==(const month_weekday& x, const month_weekday& y) noexcept;
-constexpr bool operator!=(const month_weekday& x, const month_weekday& y) noexcept;
-
-// 25.8.12, class month_weekday_last    // C++20
-class month_weekday_last;
-
-constexpr bool operator==(const month_weekday_last& x, const month_weekday_last& y) noexcept;
-constexpr bool operator!=(const month_weekday_last& x, const month_weekday_last& y) noexcept;
-
-
-// 25.8.13, class year_month    // C++20
-class year_month;
-
-constexpr bool operator==(const year_month& x, const year_month& y) noexcept;
-constexpr bool operator!=(const year_month& x, const year_month& y) noexcept;
-constexpr bool operator< (const year_month& x, const year_month& y) noexcept;
-constexpr bool operator> (const year_month& x, const year_month& y) noexcept;
-constexpr bool operator<=(const year_month& x, const year_month& y) noexcept;
-constexpr bool operator>=(const year_month& x, const year_month& y) noexcept;
-
-constexpr year_month operator+(const year_month& ym, const months& dm) noexcept;
-constexpr year_month operator+(const months& dm, const year_month& ym) noexcept;
-constexpr year_month operator-(const year_month& ym, const months& dm) noexcept;
-constexpr months operator-(const year_month& x, const year_month& y) noexcept;
-constexpr year_month operator+(const year_month& ym, const years& dy) noexcept;
-constexpr year_month operator+(const years& dy, const year_month& ym) noexcept;
-constexpr year_month operator-(const year_month& ym, const years& dy) noexcept;
-
-// 25.8.14, class year_month_day class    // C++20
-year_month_day;
-
-constexpr bool operator==(const year_month_day& x, const year_month_day& y) noexcept;
-constexpr bool operator!=(const year_month_day& x, const year_month_day& y) noexcept;
-constexpr bool operator< (const year_month_day& x, const year_month_day& y) noexcept;
-constexpr bool operator> (const year_month_day& x, const year_month_day& y) noexcept;
-constexpr bool operator<=(const year_month_day& x, const year_month_day& y) noexcept;
-constexpr bool operator>=(const year_month_day& x, const year_month_day& y) noexcept;
-
-constexpr year_month_day operator+(const year_month_day& ymd, const months& dm) noexcept;
-constexpr year_month_day operator+(const months& dm, const year_month_day& ymd) noexcept;
-constexpr year_month_day operator+(const year_month_day& ymd, const years& dy) noexcept;
-constexpr year_month_day operator+(const years& dy, const year_month_day& ymd) noexcept;
-constexpr year_month_day operator-(const year_month_day& ymd, const months& dm) noexcept;
-constexpr year_month_day operator-(const year_month_day& ymd, const years& dy) noexcept;
-
-
-// 25.8.15, class year_month_day_last    // C++20
-class year_month_day_last;
-
-constexpr bool operator==(const year_month_day_last& x,
-                          const year_month_day_last& y) noexcept;
-constexpr bool operator!=(const year_month_day_last& x,
-                          const year_month_day_last& y) noexcept;
-constexpr bool operator< (const year_month_day_last& x,
-                          const year_month_day_last& y) noexcept;
-constexpr bool operator> (const year_month_day_last& x,
-                          const year_month_day_last& y) noexcept;
-constexpr bool operator<=(const year_month_day_last& x,
-                          const year_month_day_last& y) noexcept;
-constexpr bool operator>=(const year_month_day_last& x,
-                          const year_month_day_last& y) noexcept;
-
-constexpr year_month_day_last
-  operator+(const year_month_day_last& ymdl, const months& dm) noexcept;
-constexpr year_month_day_last
-  operator+(const months& dm, const year_month_day_last& ymdl) noexcept;
-constexpr year_month_day_last
-  operator+(const year_month_day_last& ymdl, const years& dy) noexcept;
-constexpr year_month_day_last
-  operator+(const years& dy, const year_month_day_last& ymdl) noexcept;
-constexpr year_month_day_last
-  operator-(const year_month_day_last& ymdl, const months& dm) noexcept;
-constexpr year_month_day_last
-  operator-(const year_month_day_last& ymdl, const years& dy) noexcept;
-
-// 25.8.16, class year_month_weekday    // C++20
-class year_month_weekday;
-
-constexpr bool operator==(const year_month_weekday& x,
-                          const year_month_weekday& y) noexcept;
-constexpr bool operator!=(const year_month_weekday& x,
-                          const year_month_weekday& y) noexcept;
-
-constexpr year_month_weekday
-  operator+(const year_month_weekday& ymwd, const months& dm) noexcept;
-constexpr year_month_weekday
-  operator+(const months& dm, const year_month_weekday& ymwd) noexcept;
-constexpr year_month_weekday
-  operator+(const year_month_weekday& ymwd, const years& dy) noexcept;
-constexpr year_month_weekday
-  operator+(const years& dy, const year_month_weekday& ymwd) noexcept;
-constexpr year_month_weekday
-  operator-(const year_month_weekday& ymwd, const months& dm) noexcept;
-constexpr year_month_weekday
-  operator-(const year_month_weekday& ymwd, const years& dy) noexcept;
-
-// 25.8.17, class year_month_weekday_last    // C++20
-class year_month_weekday_last;
-
-constexpr bool operator==(const year_month_weekday_last& x,
-                          const year_month_weekday_last& y) noexcept;
-constexpr bool operator!=(const year_month_weekday_last& x,
-                          const year_month_weekday_last& y) noexcept;
-constexpr year_month_weekday_last
-  operator+(const year_month_weekday_last& ymwdl, const months& dm) noexcept;
-constexpr year_month_weekday_last
-  operator+(const months& dm, const year_month_weekday_last& ymwdl) noexcept;
-constexpr year_month_weekday_last
-  operator+(const year_month_weekday_last& ymwdl, const years& dy) noexcept;
-constexpr year_month_weekday_last
-  operator+(const years& dy, const year_month_weekday_last& ymwdl) noexcept;
-constexpr year_month_weekday_last
-  operator-(const year_month_weekday_last& ymwdl, const months& dm) noexcept;
-constexpr year_month_weekday_last
-  operator-(const year_month_weekday_last& ymwdl, const years& dy) noexcept;
-
-// 25.8.18, civil calendar conventional syntax operators    // C++20
-constexpr year_month
-  operator/(const year& y, const month& m) noexcept;
-constexpr year_month
-  operator/(const year& y, int m) noexcept;
-constexpr month_day
-  operator/(const month& m, const day& d) noexcept;
-constexpr month_day
-  operator/(const month& m, int d) noexcept;
-constexpr month_day
-  operator/(int m, const day& d) noexcept;
-constexpr month_day
-  operator/(const day& d, const month& m) noexcept;
-constexpr month_day
-  operator/(const day& d, int m) noexcept;
-constexpr month_day_last
-  operator/(const month& m, last_spec) noexcept;
-constexpr month_day_last
-  operator/(int m, last_spec) noexcept;
-constexpr month_day_last
-  operator/(last_spec, const month& m) noexcept;
-constexpr month_day_last
-  operator/(last_spec, int m) noexcept;
-constexpr month_weekday
-  operator/(const month& m, const weekday_indexed& wdi) noexcept;
-constexpr month_weekday
-  operator/(int m, const weekday_indexed& wdi) noexcept;
-constexpr month_weekday
-  operator/(const weekday_indexed& wdi, const month& m) noexcept;
-constexpr month_weekday
-  operator/(const weekday_indexed& wdi, int m) noexcept;
-constexpr month_weekday_last
-  operator/(const month& m, const weekday_last& wdl) noexcept;
-constexpr month_weekday_last
-  operator/(int m, const weekday_last& wdl) noexcept;
-constexpr month_weekday_last
-  operator/(const weekday_last& wdl, const month& m) noexcept;
-constexpr month_weekday_last
-  operator/(const weekday_last& wdl, int m) noexcept;
-constexpr year_month_day
-  operator/(const year_month& ym, const day& d) noexcept;
-constexpr year_month_day
-  operator/(const year_month& ym, int d) noexcept;
-constexpr year_month_day
-  operator/(const year& y, const month_day& md) noexcept;
-constexpr year_month_day
-  operator/(int y, const month_day& md) noexcept;
-constexpr year_month_day
-  operator/(const month_day& md, const year& y) noexcept;
-constexpr year_month_day
-  operator/(const month_day& md, int y) noexcept;
-constexpr year_month_day_last
-  operator/(const year_month& ym, last_spec) noexcept;
-constexpr year_month_day_last
-  operator/(const year& y, const month_day_last& mdl) noexcept;
-constexpr year_month_day_last
-  operator/(int y, const month_day_last& mdl) noexcept;
-constexpr year_month_day_last
-  operator/(const month_day_last& mdl, const year& y) noexcept;
-constexpr year_month_day_last
-  operator/(const month_day_last& mdl, int y) noexcept;
-constexpr year_month_weekday
-  operator/(const year_month& ym, const weekday_indexed& wdi) noexcept;
-constexpr year_month_weekday
-  operator/(const year& y, const month_weekday& mwd) noexcept;
-constexpr year_month_weekday
-  operator/(int y, const month_weekday& mwd) noexcept;
-constexpr year_month_weekday
-  operator/(const month_weekday& mwd, const year& y) noexcept;
-constexpr year_month_weekday
-  operator/(const month_weekday& mwd, int y) noexcept;
-constexpr year_month_weekday_last
-  operator/(const year_month& ym, const weekday_last& wdl) noexcept;
-constexpr year_month_weekday_last
-  operator/(const year& y, const month_weekday_last& mwdl) noexcept;
-constexpr year_month_weekday_last
-  operator/(int y, const month_weekday_last& mwdl) noexcept;
-constexpr year_month_weekday_last
-  operator/(const month_weekday_last& mwdl, const year& y) noexcept;
-constexpr year_month_weekday_last
-  operator/(const month_weekday_last& mwdl, int y) noexcept;
-
-// 26.9, class template hh_mm_ss
-template <class Duration>
-class hh_mm_ss
-{
-    bool            is_neg; // exposition only
-    chrono::hours   h;      // exposition only
-    chrono::minutes m;      // exposition only
-    chrono::seconds s;      // exposition only
-    precision       ss;     // exposition only
-
-public:
-    static unsigned constexpr fractional_width = see below;
-    using precision                            = see below;
-
-    constexpr hh_mm_ss() noexcept : hh_mm_ss{Duration::zero()} {}
-    constexpr explicit hh_mm_ss(Duration d) noexcept;
-
-    constexpr bool is_negative() const noexcept;
-    constexpr chrono::hours hours() const noexcept;
-    constexpr chrono::minutes minutes() const noexcept;
-    constexpr chrono::seconds seconds() const noexcept;
-    constexpr precision subseconds() const noexcept;
-
-    constexpr explicit operator  precision()   const noexcept;
-    constexpr          precision to_duration() const noexcept;
-};
-
-template <class charT, class traits, class Duration>
-  basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os, hh_mm_ss<Duration> const& hms);
-
-// 26.10, 12/24 hour functions
-constexpr bool is_am(hours const& h) noexcept;
-constexpr bool is_pm(hours const& h) noexcept;
-constexpr hours make12(const hours& h) noexcept;
-constexpr hours make24(const hours& h, bool is_pm) noexcept;
-
-
-// 25.10.2, time zone database     // C++20
-struct tzdb;
-class tzdb_list;
-
-// 25.10.2.3, time zone database access    // C++20
-const tzdb& get_tzdb();
-tzdb_list& get_tzdb_list();
-const time_zone* locate_zone(string_view tz_name);
-const time_zone* current_zone();
-
-// 25.10.2.4, remote time zone database support    // C++20
-const tzdb& reload_tzdb();
-string remote_version();
-
-// 25.10.3, exception classes    // C++20
-class nonexistent_local_time;
-class ambiguous_local_time;
-
-// 25.10.4, information classes    // C++20
-struct sys_info;
-struct local_info;
-
-// 25.10.5, class time_zone    // C++20
-enum class choose {earliest, latest};
-class time_zone;
-bool operator==(const time_zone& x, const time_zone& y) noexcept;
-bool operator!=(const time_zone& x, const time_zone& y) noexcept;
-bool operator<(const time_zone& x, const time_zone& y) noexcept;
-bool operator>(const time_zone& x, const time_zone& y) noexcept;
-bool operator<=(const time_zone& x, const time_zone& y) noexcept;
-bool operator>=(const time_zone& x, const time_zone& y) noexcept;
-
-// 25.10.6, class template zoned_traits    // C++20
-template<class T> struct zoned_traits;
-
-// 25.10.7, class template zoned_time    // C++20
-template<class Duration, class TimeZonePtr = const time_zone*> class zoned_time;
-using zoned_seconds = zoned_time<seconds>;
-
-template<class Duration1, class Duration2, class TimeZonePtr>
-  bool operator==(const zoned_time<Duration1, TimeZonePtr>& x,
-                  const zoned_time<Duration2, TimeZonePtr>& y);
-template<class Duration1, class Duration2, class TimeZonePtr>
-  bool operator!=(const zoned_time<Duration1, TimeZonePtr>& x,
-                  const zoned_time<Duration2, TimeZonePtr>& y);
-
-// 25.10.8, leap second support    // C++20
-class leap;
-
-bool operator==(const leap& x, const leap& y);
-bool operator!=(const leap& x, const leap& y);
-bool operator< (const leap& x, const leap& y);
-bool operator> (const leap& x, const leap& y);
-bool operator<=(const leap& x, const leap& y);
-bool operator>=(const leap& x, const leap& y);
-template<class Duration>
-  bool operator==(const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator==(const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator!=(const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator!=(const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator< (const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator< (const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator> (const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator> (const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator<=(const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator<=(const sys_time<Duration>& x, const leap& y);
-template<class Duration>
-  bool operator>=(const leap& x, const sys_time<Duration>& y);
-template<class Duration>
-  bool operator>=(const sys_time<Duration>& x, const leap& y);
-
-// 25.10.9, class link    // C++20
-class link;
-bool operator==(const link& x, const link& y);
-bool operator!=(const link& x, const link& y);
-bool operator< (const link& x, const link& y);
-bool operator> (const link& x, const link& y);
-bool operator<=(const link& x, const link& y);
-bool operator>=(const link& x, const link& y);
-
-// 25.11, formatting    // C++20
-template<class charT, class Streamable>
-  basic_string<charT>
-    format(const charT* fmt, const Streamable& s);
-
-template<class charT, class Streamable>
-  basic_string<charT>
-    format(const locale& loc, const charT* fmt, const Streamable& s);
-
-template<class charT, class traits, class Alloc, class Streamable>
-  basic_string<charT, traits, Alloc>
-    format(const basic_string<charT, traits, Alloc>& fmt, const Streamable& s);
-
-template<class charT, class traits, class Alloc, class Streamable>
-  basic_string<charT, traits, Alloc>
-    format(const locale& loc, const basic_string<charT, traits, Alloc>& fmt,
-           const Streamable& s);
-
-// 25.12, parsing    // C++20
-template<class charT, class traits, class Alloc, class Parsable>
-unspecified
-    parse(const basic_string<charT, traits, Alloc>& format, Parsable& tp);
-
-template<class charT, class traits, class Alloc, class Parsable>
-unspecified
-    parse(const basic_string<charT, traits, Alloc>& format, Parsable& tp,
-          basic_string<charT, traits, Alloc>& abbrev);
-
-template<class charT, class traits, class Alloc, class Parsable>
-unspecified
-    parse(const basic_string<charT, traits, Alloc>& format, Parsable& tp,
-          minutes& offset);
-
-template<class charT, class traits, class Alloc, class Parsable>
-unspecified
-    parse(const basic_string<charT, traits, Alloc>& format, Parsable& tp,
-          basic_string<charT, traits, Alloc>& abbrev, minutes& offset);
-
-// calendrical constants
-inline constexpr last_spec                              last{};       // C++20
-inline constexpr chrono::weekday                        Sunday{0};    // C++20
-inline constexpr chrono::weekday                        Monday{1};    // C++20
-inline constexpr chrono::weekday                        Tuesday{2};   // C++20
-inline constexpr chrono::weekday                        Wednesday{3}; // C++20
-inline constexpr chrono::weekday                        Thursday{4};  // C++20
-inline constexpr chrono::weekday                        Friday{5};    // C++20
-inline constexpr chrono::weekday                        Saturday{6};  // C++20
-
-inline constexpr chrono::month                          January{1};   // C++20
-inline constexpr chrono::month                          February{2};  // C++20
-inline constexpr chrono::month                          March{3};     // C++20
-inline constexpr chrono::month                          April{4};     // C++20
-inline constexpr chrono::month                          May{5};       // C++20
-inline constexpr chrono::month                          June{6};      // C++20
-inline constexpr chrono::month                          July{7};      // C++20
-inline constexpr chrono::month                          August{8};    // C++20
-inline constexpr chrono::month                          September{9}; // C++20
-inline constexpr chrono::month                          October{10};  // C++20
-inline constexpr chrono::month                          November{11}; // C++20
-inline constexpr chrono::month                          December{12}; // C++20
-}  // chrono
-
-inline namespace literals {
-  inline namespace chrono_literals {
-constexpr chrono::hours                                 operator ""h(unsigned long long); // C++14
-constexpr chrono::duration<unspecified , ratio<3600,1>> operator ""h(long double); // C++14
-constexpr chrono::minutes                               operator ""min(unsigned long long); // C++14
-constexpr chrono::duration<unspecified , ratio<60,1>>   operator ""min(long double); // C++14
-constexpr chrono::seconds                               operator ""s(unsigned long long); // C++14
-constexpr chrono::duration<unspecified >                operator ""s(long double); // C++14
-constexpr chrono::milliseconds                          operator ""ms(unsigned long long); // C++14
-constexpr chrono::duration<unspecified , milli>         operator ""ms(long double); // C++14
-constexpr chrono::microseconds                          operator ""us(unsigned long long); // C++14
-constexpr chrono::duration<unspecified , micro>         operator ""us(long double); // C++14
-constexpr chrono::nanoseconds                           operator ""ns(unsigned long long); // C++14
-constexpr chrono::duration<unspecified , nano>          operator ""ns(long double); // C++14
-constexpr chrono::day                                   operator ""d(unsigned long long d) noexcept; // C++20
-constexpr chrono::year                                  operator ""y(unsigned long long y) noexcept; // C++20
-}  // chrono_literals
-}  // literals
-
-}  // std
-*/
-
-#include <__config>
-#include <ctime>
-#include <type_traits>
-#include <ratio>
-#include <limits>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-#ifndef _LIBCPP_CXX03_LANG
-_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
-struct _FilesystemClock;
-_LIBCPP_END_NAMESPACE_FILESYSTEM
-#endif // !_LIBCPP_CXX03_LANG
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-namespace chrono
-{
-
-template <class _Rep, class _Period = ratio<1> > class _LIBCPP_TEMPLATE_VIS duration;
-
-template <class _Tp>
-struct __is_duration : false_type {};
-
-template <class _Rep, class _Period>
-struct __is_duration<duration<_Rep, _Period> > : true_type  {};
-
-template <class _Rep, class _Period>
-struct __is_duration<const duration<_Rep, _Period> > : true_type  {};
-
-template <class _Rep, class _Period>
-struct __is_duration<volatile duration<_Rep, _Period> > : true_type  {};
-
-template <class _Rep, class _Period>
-struct __is_duration<const volatile duration<_Rep, _Period> > : true_type  {};
-
-} // chrono
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-struct _LIBCPP_TEMPLATE_VIS common_type<chrono::duration<_Rep1, _Period1>,
-                                         chrono::duration<_Rep2, _Period2> >
-{
-    typedef chrono::duration<typename common_type<_Rep1, _Rep2>::type,
-                             typename __ratio_gcd<_Period1, _Period2>::type> type;
-};
-
-namespace chrono {
-
-// duration_cast
-
-template <class _FromDuration, class _ToDuration,
-          class _Period = typename ratio_divide<typename _FromDuration::period, typename _ToDuration::period>::type,
-          bool = _Period::num == 1,
-          bool = _Period::den == 1>
-struct __duration_cast;
-
-template <class _FromDuration, class _ToDuration, class _Period>
-struct __duration_cast<_FromDuration, _ToDuration, _Period, true, true>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    _ToDuration operator()(const _FromDuration& __fd) const
-    {
-        return _ToDuration(static_cast<typename _ToDuration::rep>(__fd.count()));
-    }
-};
-
-template <class _FromDuration, class _ToDuration, class _Period>
-struct __duration_cast<_FromDuration, _ToDuration, _Period, true, false>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    _ToDuration operator()(const _FromDuration& __fd) const
-    {
-        typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct;
-        return _ToDuration(static_cast<typename _ToDuration::rep>(
-                           static_cast<_Ct>(__fd.count()) / static_cast<_Ct>(_Period::den)));
-    }
-};
-
-template <class _FromDuration, class _ToDuration, class _Period>
-struct __duration_cast<_FromDuration, _ToDuration, _Period, false, true>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    _ToDuration operator()(const _FromDuration& __fd) const
-    {
-        typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct;
-        return _ToDuration(static_cast<typename _ToDuration::rep>(
-                           static_cast<_Ct>(__fd.count()) * static_cast<_Ct>(_Period::num)));
-    }
-};
-
-template <class _FromDuration, class _ToDuration, class _Period>
-struct __duration_cast<_FromDuration, _ToDuration, _Period, false, false>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    _ToDuration operator()(const _FromDuration& __fd) const
-    {
-        typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct;
-        return _ToDuration(static_cast<typename _ToDuration::rep>(
-                           static_cast<_Ct>(__fd.count()) * static_cast<_Ct>(_Period::num)
-                                                          / static_cast<_Ct>(_Period::den)));
-    }
-};
-
-template <class _ToDuration, class _Rep, class _Period>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename enable_if
-<
-    __is_duration<_ToDuration>::value,
-    _ToDuration
->::type
-duration_cast(const duration<_Rep, _Period>& __fd)
-{
-    return __duration_cast<duration<_Rep, _Period>, _ToDuration>()(__fd);
-}
-
-template <class _Rep>
-struct _LIBCPP_TEMPLATE_VIS treat_as_floating_point : is_floating_point<_Rep> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Rep>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool treat_as_floating_point_v
-    = treat_as_floating_point<_Rep>::value;
-#endif
-
-template <class _Rep>
-struct _LIBCPP_TEMPLATE_VIS duration_values
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR _Rep zero() _NOEXCEPT {return _Rep(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR _Rep max()  _NOEXCEPT {return numeric_limits<_Rep>::max();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR _Rep min()  _NOEXCEPT {return numeric_limits<_Rep>::lowest();}
-};
-
-#if _LIBCPP_STD_VER > 14
-template <class _ToDuration, class _Rep, class _Period>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    __is_duration<_ToDuration>::value,
-    _ToDuration
->::type
-floor(const duration<_Rep, _Period>& __d)
-{
-    _ToDuration __t = duration_cast<_ToDuration>(__d);
-    if (__t > __d)
-        __t = __t - _ToDuration{1};
-    return __t;
-}
-
-template <class _ToDuration, class _Rep, class _Period>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    __is_duration<_ToDuration>::value,
-    _ToDuration
->::type
-ceil(const duration<_Rep, _Period>& __d)
-{
-    _ToDuration __t = duration_cast<_ToDuration>(__d);
-    if (__t < __d)
-        __t = __t + _ToDuration{1};
-    return __t;
-}
-
-template <class _ToDuration, class _Rep, class _Period>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    __is_duration<_ToDuration>::value,
-    _ToDuration
->::type
-round(const duration<_Rep, _Period>& __d)
-{
-    _ToDuration __lower = floor<_ToDuration>(__d);
-    _ToDuration __upper = __lower + _ToDuration{1};
-    auto __lowerDiff = __d - __lower;
-    auto __upperDiff = __upper - __d;
-    if (__lowerDiff < __upperDiff)
-        return __lower;
-    if (__lowerDiff > __upperDiff)
-        return __upper;
-    return __lower.count() & 1 ? __upper : __lower;
-}
-#endif
-
-// duration
-
-template <class _Rep, class _Period>
-class _LIBCPP_TEMPLATE_VIS duration
-{
-    static_assert(!__is_duration<_Rep>::value, "A duration representation can not be a duration");
-    static_assert(__is_ratio<_Period>::value, "Second template parameter of duration must be a std::ratio");
-    static_assert(_Period::num > 0, "duration period must be positive");
-
-    template <class _R1, class _R2>
-    struct __no_overflow
-    {
-    private:
-        static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value;
-        static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value;
-        static const intmax_t __n1 = _R1::num / __gcd_n1_n2;
-        static const intmax_t __d1 = _R1::den / __gcd_d1_d2;
-        static const intmax_t __n2 = _R2::num / __gcd_n1_n2;
-        static const intmax_t __d2 = _R2::den / __gcd_d1_d2;
-        static const intmax_t max = -((intmax_t(1) << (sizeof(intmax_t) * CHAR_BIT - 1)) + 1);
-
-        template <intmax_t _Xp, intmax_t _Yp, bool __overflow>
-        struct __mul    // __overflow == false
-        {
-            static const intmax_t value = _Xp * _Yp;
-        };
-
-        template <intmax_t _Xp, intmax_t _Yp>
-        struct __mul<_Xp, _Yp, true>
-        {
-            static const intmax_t value = 1;
-        };
-
-    public:
-        static const bool value = (__n1 <= max / __d2) && (__n2 <= max / __d1);
-        typedef ratio<__mul<__n1, __d2, !value>::value,
-                      __mul<__n2, __d1, !value>::value> type;
-    };
-
-public:
-    typedef _Rep rep;
-    typedef typename _Period::type period;
-private:
-    rep __rep_;
-public:
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-#ifndef _LIBCPP_CXX03_LANG
-        duration() = default;
-#else
-        duration() {}
-#endif
-
-    template <class _Rep2>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-        explicit duration(const _Rep2& __r,
-            typename enable_if
-            <
-               is_convertible<_Rep2, rep>::value &&
-               (treat_as_floating_point<rep>::value ||
-               !treat_as_floating_point<_Rep2>::value)
-            >::type* = 0)
-                : __rep_(__r) {}
-
-    // conversions
-    template <class _Rep2, class _Period2>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-        duration(const duration<_Rep2, _Period2>& __d,
-            typename enable_if
-            <
-                __no_overflow<_Period2, period>::value && (
-                treat_as_floating_point<rep>::value ||
-                (__no_overflow<_Period2, period>::type::den == 1 &&
-                 !treat_as_floating_point<_Rep2>::value))
-            >::type* = 0)
-                : __rep_(_VSTD::chrono::duration_cast<duration>(__d).count()) {}
-
-    // observer
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR rep count() const {return __rep_;}
-
-    // arithmetic
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR typename common_type<duration>::type operator+() const {return typename common_type<duration>::type(*this);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR typename common_type<duration>::type operator-() const {return typename common_type<duration>::type(-__rep_);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration& operator++()      {++__rep_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration  operator++(int)   {return duration(__rep_++);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration& operator--()      {--__rep_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration  operator--(int)   {return duration(__rep_--);}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration& operator+=(const duration& __d) {__rep_ += __d.count(); return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration& operator-=(const duration& __d) {__rep_ -= __d.count(); return *this;}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration& operator*=(const rep& rhs) {__rep_ *= rhs; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration& operator/=(const rep& rhs) {__rep_ /= rhs; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration& operator%=(const rep& rhs) {__rep_ %= rhs; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 duration& operator%=(const duration& rhs) {__rep_ %= rhs.count(); return *this;}
-
-    // special values
-
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR duration zero() _NOEXCEPT {return duration(duration_values<rep>::zero());}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR duration min()  _NOEXCEPT {return duration(duration_values<rep>::min());}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR duration max()  _NOEXCEPT {return duration(duration_values<rep>::max());}
-};
-
-typedef duration<long long,         nano> nanoseconds;
-typedef duration<long long,        micro> microseconds;
-typedef duration<long long,        milli> milliseconds;
-typedef duration<long long              > seconds;
-typedef duration<     long, ratio<  60> > minutes;
-typedef duration<     long, ratio<3600> > hours;
-#if _LIBCPP_STD_VER > 17
-typedef duration<     int, ratio_multiply<ratio<24>, hours::period>>         days;
-typedef duration<     int, ratio_multiply<ratio<7>,   days::period>>         weeks;
-typedef duration<     int, ratio_multiply<ratio<146097, 400>, days::period>> years;
-typedef duration<     int, ratio_divide<years::period, ratio<12>>>           months;
-#endif
-// Duration ==
-
-template <class _LhsDuration, class _RhsDuration>
-struct __duration_eq
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    bool operator()(const _LhsDuration& __lhs, const _RhsDuration& __rhs) const
-        {
-            typedef typename common_type<_LhsDuration, _RhsDuration>::type _Ct;
-            return _Ct(__lhs).count() == _Ct(__rhs).count();
-        }
-};
-
-template <class _LhsDuration>
-struct __duration_eq<_LhsDuration, _LhsDuration>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    bool operator()(const _LhsDuration& __lhs, const _LhsDuration& __rhs) const
-        {return __lhs.count() == __rhs.count();}
-};
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-bool
-operator==(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    return __duration_eq<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >()(__lhs, __rhs);
-}
-
-// Duration !=
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-bool
-operator!=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    return !(__lhs == __rhs);
-}
-
-// Duration <
-
-template <class _LhsDuration, class _RhsDuration>
-struct __duration_lt
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    bool operator()(const _LhsDuration& __lhs, const _RhsDuration& __rhs) const
-        {
-            typedef typename common_type<_LhsDuration, _RhsDuration>::type _Ct;
-            return _Ct(__lhs).count() < _Ct(__rhs).count();
-        }
-};
-
-template <class _LhsDuration>
-struct __duration_lt<_LhsDuration, _LhsDuration>
-{
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    bool operator()(const _LhsDuration& __lhs, const _LhsDuration& __rhs) const
-        {return __lhs.count() < __rhs.count();}
-};
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-bool
-operator< (const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    return __duration_lt<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >()(__lhs, __rhs);
-}
-
-// Duration >
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-bool
-operator> (const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    return __rhs < __lhs;
-}
-
-// Duration <=
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-bool
-operator<=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    return !(__rhs < __lhs);
-}
-
-// Duration >=
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-bool
-operator>=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    return !(__lhs < __rhs);
-}
-
-// Duration +
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type
-operator+(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd;
-    return _Cd(_Cd(__lhs).count() + _Cd(__rhs).count());
-}
-
-// Duration -
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type
-operator-(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd;
-    return _Cd(_Cd(__lhs).count() - _Cd(__rhs).count());
-}
-
-// Duration *
-
-template <class _Rep1, class _Period, class _Rep2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename enable_if
-<
-    is_convertible<_Rep2, typename common_type<_Rep1, _Rep2>::type>::value,
-    duration<typename common_type<_Rep1, _Rep2>::type, _Period>
->::type
-operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
-{
-    typedef typename common_type<_Rep1, _Rep2>::type _Cr;
-    typedef duration<_Cr, _Period> _Cd;
-    return _Cd(_Cd(__d).count() * static_cast<_Cr>(__s));
-}
-
-template <class _Rep1, class _Period, class _Rep2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename enable_if
-<
-    is_convertible<_Rep1, typename common_type<_Rep1, _Rep2>::type>::value,
-    duration<typename common_type<_Rep1, _Rep2>::type, _Period>
->::type
-operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d)
-{
-    return __d * __s;
-}
-
-// Duration /
-
-template <class _Rep1, class _Period, class _Rep2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename enable_if
-<
-    !__is_duration<_Rep2>::value &&
-      is_convertible<_Rep2, typename common_type<_Rep1, _Rep2>::type>::value,
-    duration<typename common_type<_Rep1, _Rep2>::type, _Period>
->::type
-operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
-{
-    typedef typename common_type<_Rep1, _Rep2>::type _Cr;
-    typedef duration<_Cr, _Period> _Cd;
-    return _Cd(_Cd(__d).count() / static_cast<_Cr>(__s));
-}
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename common_type<_Rep1, _Rep2>::type
-operator/(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Ct;
-    return _Ct(__lhs).count() / _Ct(__rhs).count();
-}
-
-// Duration %
-
-template <class _Rep1, class _Period, class _Rep2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename enable_if
-<
-    !__is_duration<_Rep2>::value &&
-      is_convertible<_Rep2, typename common_type<_Rep1, _Rep2>::type>::value,
-    duration<typename common_type<_Rep1, _Rep2>::type, _Period>
->::type
-operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
-{
-    typedef typename common_type<_Rep1, _Rep2>::type _Cr;
-    typedef duration<_Cr, _Period> _Cd;
-    return _Cd(_Cd(__d).count() % static_cast<_Cr>(__s));
-}
-
-template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type
-operator%(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    typedef typename common_type<_Rep1, _Rep2>::type _Cr;
-    typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd;
-    return _Cd(static_cast<_Cr>(_Cd(__lhs).count()) % static_cast<_Cr>(_Cd(__rhs).count()));
-}
-
-//////////////////////////////////////////////////////////
-///////////////////// time_point /////////////////////////
-//////////////////////////////////////////////////////////
-
-template <class _Clock, class _Duration = typename _Clock::duration>
-class _LIBCPP_TEMPLATE_VIS time_point
-{
-    static_assert(__is_duration<_Duration>::value,
-                  "Second template parameter of time_point must be a std::chrono::duration");
-public:
-    typedef _Clock                    clock;
-    typedef _Duration                 duration;
-    typedef typename duration::rep    rep;
-    typedef typename duration::period period;
-private:
-    duration __d_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 time_point() : __d_(duration::zero()) {}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 explicit time_point(const duration& __d) : __d_(__d) {}
-
-    // conversions
-    template <class _Duration2>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    time_point(const time_point<clock, _Duration2>& t,
-        typename enable_if
-        <
-            is_convertible<_Duration2, duration>::value
-        >::type* = 0)
-            : __d_(t.time_since_epoch()) {}
-
-    // observer
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 duration time_since_epoch() const {return __d_;}
-
-    // arithmetic
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 time_point& operator+=(const duration& __d) {__d_ += __d; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 time_point& operator-=(const duration& __d) {__d_ -= __d; return *this;}
-
-    // special values
-
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR time_point min() _NOEXCEPT {return time_point(duration::min());}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR time_point max() _NOEXCEPT {return time_point(duration::max());}
-};
-
-} // chrono
-
-template <class _Clock, class _Duration1, class _Duration2>
-struct _LIBCPP_TEMPLATE_VIS common_type<chrono::time_point<_Clock, _Duration1>,
-                                         chrono::time_point<_Clock, _Duration2> >
-{
-    typedef chrono::time_point<_Clock, typename common_type<_Duration1, _Duration2>::type> type;
-};
-
-namespace chrono {
-
-template <class _ToDuration, class _Clock, class _Duration>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-time_point<_Clock, _ToDuration>
-time_point_cast(const time_point<_Clock, _Duration>& __t)
-{
-    return time_point<_Clock, _ToDuration>(_VSTD::chrono::duration_cast<_ToDuration>(__t.time_since_epoch()));
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _ToDuration, class _Clock, class _Duration>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    __is_duration<_ToDuration>::value,
-    time_point<_Clock, _ToDuration>
->::type
-floor(const time_point<_Clock, _Duration>& __t)
-{
-    return time_point<_Clock, _ToDuration>{floor<_ToDuration>(__t.time_since_epoch())};
-}
-
-template <class _ToDuration, class _Clock, class _Duration>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    __is_duration<_ToDuration>::value,
-    time_point<_Clock, _ToDuration>
->::type
-ceil(const time_point<_Clock, _Duration>& __t)
-{
-    return time_point<_Clock, _ToDuration>{ceil<_ToDuration>(__t.time_since_epoch())};
-}
-
-template <class _ToDuration, class _Clock, class _Duration>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    __is_duration<_ToDuration>::value,
-    time_point<_Clock, _ToDuration>
->::type
-round(const time_point<_Clock, _Duration>& __t)
-{
-    return time_point<_Clock, _ToDuration>{round<_ToDuration>(__t.time_since_epoch())};
-}
-
-template <class _Rep, class _Period>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if
-<
-    numeric_limits<_Rep>::is_signed,
-    duration<_Rep, _Period>
->::type
-abs(duration<_Rep, _Period> __d)
-{
-    return __d >= __d.zero() ? +__d : -__d;
-}
-#endif
-
-// time_point ==
-
-template <class _Clock, class _Duration1, class _Duration2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator==(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs)
-{
-    return __lhs.time_since_epoch() == __rhs.time_since_epoch();
-}
-
-// time_point !=
-
-template <class _Clock, class _Duration1, class _Duration2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator!=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs)
-{
-    return !(__lhs == __rhs);
-}
-
-// time_point <
-
-template <class _Clock, class _Duration1, class _Duration2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator<(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs)
-{
-    return __lhs.time_since_epoch() < __rhs.time_since_epoch();
-}
-
-// time_point >
-
-template <class _Clock, class _Duration1, class _Duration2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator>(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs)
-{
-    return __rhs < __lhs;
-}
-
-// time_point <=
-
-template <class _Clock, class _Duration1, class _Duration2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator<=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs)
-{
-    return !(__rhs < __lhs);
-}
-
-// time_point >=
-
-template <class _Clock, class _Duration1, class _Duration2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator>=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs)
-{
-    return !(__lhs < __rhs);
-}
-
-// time_point operator+(time_point x, duration y);
-
-template <class _Clock, class _Duration1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type>
-operator+(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    typedef time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> _Tr;
-    return _Tr (__lhs.time_since_epoch() + __rhs);
-}
-
-// time_point operator+(duration x, time_point y);
-
-template <class _Rep1, class _Period1, class _Clock, class _Duration2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-time_point<_Clock, typename common_type<duration<_Rep1, _Period1>, _Duration2>::type>
-operator+(const duration<_Rep1, _Period1>& __lhs, const time_point<_Clock, _Duration2>& __rhs)
-{
-    return __rhs + __lhs;
-}
-
-// time_point operator-(time_point x, duration y);
-
-template <class _Clock, class _Duration1, class _Rep2, class _Period2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type>
-operator-(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Period2>& __rhs)
-{
-    typedef time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> _Ret;
-    return _Ret(__lhs.time_since_epoch() -__rhs);
-}
-
-// duration operator-(time_point x, time_point y);
-
-template <class _Clock, class _Duration1, class _Duration2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename common_type<_Duration1, _Duration2>::type
-operator-(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs)
-{
-    return __lhs.time_since_epoch() - __rhs.time_since_epoch();
-}
-
-//////////////////////////////////////////////////////////
-/////////////////////// clocks ///////////////////////////
-//////////////////////////////////////////////////////////
-
-class _LIBCPP_TYPE_VIS system_clock
-{
-public:
-    typedef microseconds                     duration;
-    typedef duration::rep                    rep;
-    typedef duration::period                 period;
-    typedef chrono::time_point<system_clock> time_point;
-    static _LIBCPP_CONSTEXPR_AFTER_CXX11 const bool is_steady = false;
-
-    static time_point now() _NOEXCEPT;
-    static time_t     to_time_t  (const time_point& __t) _NOEXCEPT;
-    static time_point from_time_t(time_t __t) _NOEXCEPT;
-};
-
-#ifndef _LIBCPP_HAS_NO_MONOTONIC_CLOCK
-class _LIBCPP_TYPE_VIS steady_clock
-{
-public:
-    typedef nanoseconds                                   duration;
-    typedef duration::rep                                 rep;
-    typedef duration::period                              period;
-    typedef chrono::time_point<steady_clock, duration>    time_point;
-    static _LIBCPP_CONSTEXPR_AFTER_CXX11 const bool is_steady = true;
-
-    static time_point now() _NOEXCEPT;
-};
-
-typedef steady_clock high_resolution_clock;
-#else
-typedef system_clock high_resolution_clock;
-#endif
-
-#if _LIBCPP_STD_VER > 17
-// [time.clock.file], type file_clock
-using file_clock = _VSTD_FS::_FilesystemClock;
-
-template<class _Duration>
-using file_time = time_point<file_clock, _Duration>;
-
-
-template <class _Duration>
-using sys_time    = time_point<system_clock, _Duration>;
-using sys_seconds = sys_time<seconds>;
-using sys_days    = sys_time<days>;
-
-struct local_t {};
-template<class Duration>
-using local_time  = time_point<local_t, Duration>;
-using local_seconds = local_time<seconds>;
-using local_days    = local_time<days>;
-
-
-struct last_spec { explicit last_spec() = default; };
-
-class day {
-private:
-    unsigned char __d;
-public:
-    day() = default;
-    explicit inline constexpr day(unsigned __val) noexcept : __d(static_cast<unsigned char>(__val)) {}
-    inline constexpr day& operator++()    noexcept { ++__d; return *this; }
-    inline constexpr day  operator++(int) noexcept { day __tmp = *this; ++(*this); return __tmp; }
-    inline constexpr day& operator--()    noexcept { --__d; return *this; }
-    inline constexpr day  operator--(int) noexcept { day __tmp = *this; --(*this); return __tmp; }
-           constexpr day& operator+=(const days& __dd) noexcept;
-           constexpr day& operator-=(const days& __dd) noexcept;
-    explicit inline constexpr operator unsigned() const noexcept { return __d; }
-    inline constexpr bool ok() const noexcept { return __d >= 1 && __d <= 31; }
-  };
-
-
-inline constexpr
-bool operator==(const day& __lhs, const day& __rhs) noexcept
-{ return static_cast<unsigned>(__lhs) == static_cast<unsigned>(__rhs); }
-
-inline constexpr
-bool operator!=(const day& __lhs, const day& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-bool operator< (const day& __lhs, const day& __rhs) noexcept
-{ return static_cast<unsigned>(__lhs) <  static_cast<unsigned>(__rhs); }
-
-inline constexpr
-bool operator> (const day& __lhs, const day& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const day& __lhs, const day& __rhs) noexcept
-{ return !(__rhs < __lhs);}
-
-inline constexpr
-bool operator>=(const day& __lhs, const day& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-inline constexpr
-day operator+ (const day& __lhs, const days& __rhs) noexcept
-{ return day(static_cast<unsigned>(__lhs) + __rhs.count()); }
-
-inline constexpr
-day operator+ (const days& __lhs, const day& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-day operator- (const day& __lhs, const days& __rhs) noexcept
-{ return __lhs + -__rhs; }
-
-inline constexpr
-days operator-(const day& __lhs, const day& __rhs) noexcept
-{ return days(static_cast<int>(static_cast<unsigned>(__lhs)) -
-              static_cast<int>(static_cast<unsigned>(__rhs))); }
-
-inline constexpr day& day::operator+=(const days& __dd) noexcept
-{ *this = *this + __dd; return *this; }
-
-inline constexpr day& day::operator-=(const days& __dd) noexcept
-{ *this = *this - __dd; return *this; }
-
-
-class month {
-private:
-    unsigned char __m;
-public:
-    month() = default;
-    explicit inline constexpr month(unsigned __val) noexcept : __m(static_cast<unsigned char>(__val)) {}
-    inline constexpr month& operator++()    noexcept { ++__m; return *this; }
-    inline constexpr month  operator++(int) noexcept { month __tmp = *this; ++(*this); return __tmp; }
-    inline constexpr month& operator--()    noexcept { --__m; return *this; }
-    inline constexpr month  operator--(int) noexcept { month __tmp = *this; --(*this); return __tmp; }
-           constexpr month& operator+=(const months& __m1) noexcept;
-           constexpr month& operator-=(const months& __m1) noexcept;
-    explicit inline constexpr operator unsigned() const noexcept { return __m; }
-    inline constexpr bool ok() const noexcept { return __m >= 1 && __m <= 12; }
-};
-
-
-inline constexpr
-bool operator==(const month& __lhs, const month& __rhs) noexcept
-{ return static_cast<unsigned>(__lhs) == static_cast<unsigned>(__rhs); }
-
-inline constexpr
-bool operator!=(const month& __lhs, const month& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-bool operator< (const month& __lhs, const month& __rhs) noexcept
-{ return static_cast<unsigned>(__lhs)  < static_cast<unsigned>(__rhs); }
-
-inline constexpr
-bool operator> (const month& __lhs, const month& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const month& __lhs, const month& __rhs) noexcept
-{ return !(__rhs < __lhs); }
-
-inline constexpr
-bool operator>=(const month& __lhs, const month& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-inline constexpr
-month operator+ (const month& __lhs, const months& __rhs) noexcept
-{
-    auto const __mu = static_cast<long long>(static_cast<unsigned>(__lhs)) + (__rhs.count() - 1);
-    auto const __yr = (__mu >= 0 ? __mu : __mu - 11) / 12;
-    return month{static_cast<unsigned>(__mu - __yr * 12 + 1)};
-}
-
-inline constexpr
-month operator+ (const months& __lhs, const month& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-month operator- (const month& __lhs, const months& __rhs) noexcept
-{ return __lhs + -__rhs; }
-
-inline constexpr
-months operator-(const month& __lhs, const month& __rhs) noexcept
-{
-    auto const __dm = static_cast<unsigned>(__lhs) - static_cast<unsigned>(__rhs);
-    return months(__dm <= 11 ? __dm : __dm + 12);
-}
-
-inline constexpr month& month::operator+=(const months& __dm) noexcept
-{ *this = *this + __dm; return *this; }
-
-inline constexpr month& month::operator-=(const months& __dm) noexcept
-{ *this = *this - __dm; return *this; }
-
-
-class year {
-private:
-    short __y;
-public:
-    year() = default;
-    explicit inline constexpr year(int __val) noexcept : __y(static_cast<short>(__val)) {}
-
-    inline constexpr year& operator++()    noexcept { ++__y; return *this; }
-    inline constexpr year  operator++(int) noexcept { year __tmp = *this; ++(*this); return __tmp; }
-    inline constexpr year& operator--()    noexcept { --__y; return *this; }
-    inline constexpr year  operator--(int) noexcept { year __tmp = *this; --(*this); return __tmp; }
-           constexpr year& operator+=(const years& __dy) noexcept;
-           constexpr year& operator-=(const years& __dy) noexcept;
-    inline constexpr year operator+() const noexcept { return *this; }
-    inline constexpr year operator-() const noexcept { return year{-__y}; }
-
-    inline constexpr bool is_leap() const noexcept { return __y % 4 == 0 && (__y % 100 != 0 || __y % 400 == 0); }
-    explicit inline constexpr operator int() const noexcept { return __y; }
-           constexpr bool ok() const noexcept;
-    static inline constexpr year min() noexcept { return year{-32767}; }
-    static inline constexpr year max() noexcept { return year{ 32767}; }
-};
-
-
-inline constexpr
-bool operator==(const year& __lhs, const year& __rhs) noexcept
-{ return static_cast<int>(__lhs) == static_cast<int>(__rhs); }
-
-inline constexpr
-bool operator!=(const year& __lhs, const year& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-bool operator< (const year& __lhs, const year& __rhs) noexcept
-{ return static_cast<int>(__lhs)  < static_cast<int>(__rhs); }
-
-inline constexpr
-bool operator> (const year& __lhs, const year& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const year& __lhs, const year& __rhs) noexcept
-{ return !(__rhs < __lhs); }
-
-inline constexpr
-bool operator>=(const year& __lhs, const year& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-inline constexpr
-year operator+ (const year& __lhs, const years& __rhs) noexcept
-{ return year(static_cast<int>(__lhs) + __rhs.count()); }
-
-inline constexpr
-year operator+ (const years& __lhs, const year& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year operator- (const year& __lhs, const years& __rhs) noexcept
-{ return __lhs + -__rhs; }
-
-inline constexpr
-years operator-(const year& __lhs, const year& __rhs) noexcept
-{ return years{static_cast<int>(__lhs) - static_cast<int>(__rhs)}; }
-
-
-inline constexpr year& year::operator+=(const years& __dy) noexcept
-{ *this = *this + __dy; return *this; }
-
-inline constexpr year& year::operator-=(const years& __dy) noexcept
-{ *this = *this - __dy; return *this; }
-
-inline constexpr bool year::ok() const noexcept
-{ return static_cast<int>(min()) <= __y && __y <= static_cast<int>(max()); }
-
-class weekday_indexed;
-class weekday_last;
-
-class weekday {
-private:
-    unsigned char __wd;
-public:
-  weekday() = default;
-  inline explicit constexpr weekday(unsigned __val) noexcept : __wd(static_cast<unsigned char>(__val == 7 ? 0 : __val)) {}
-  inline constexpr          weekday(const sys_days& __sysd) noexcept
-          : __wd(__weekday_from_days(__sysd.time_since_epoch().count())) {}
-  inline explicit constexpr weekday(const local_days& __locd) noexcept
-          : __wd(__weekday_from_days(__locd.time_since_epoch().count())) {}
-
-  inline constexpr weekday& operator++()    noexcept { __wd = (__wd == 6 ? 0 : __wd + 1); return *this; }
-  inline constexpr weekday  operator++(int) noexcept { weekday __tmp = *this; ++(*this); return __tmp; }
-  inline constexpr weekday& operator--()    noexcept { __wd = (__wd == 0 ? 6 : __wd - 1); return *this; }
-  inline constexpr weekday  operator--(int) noexcept { weekday __tmp = *this; --(*this); return __tmp; }
-         constexpr weekday& operator+=(const days& __dd) noexcept;
-         constexpr weekday& operator-=(const days& __dd) noexcept;
-  inline constexpr unsigned c_encoding()   const noexcept { return __wd; }
-  inline constexpr unsigned iso_encoding() const noexcept { return __wd == 0u ? 7 : __wd; }
-  inline constexpr bool ok() const noexcept { return __wd <= 6; }
-         constexpr weekday_indexed operator[](unsigned __index) const noexcept;
-         constexpr weekday_last    operator[](last_spec) const noexcept;
-
-  static constexpr unsigned char __weekday_from_days(int __days) noexcept;
-};
-
-
-// https://howardhinnant.github.io/date_algorithms.html#weekday_from_days
-inline constexpr
-unsigned char weekday::__weekday_from_days(int __days) noexcept
-{
-    return static_cast<unsigned char>(
-              static_cast<unsigned>(__days >= -4 ? (__days+4) % 7 : (__days+5) % 7 + 6)
-           );
-}
-
-inline constexpr
-bool operator==(const weekday& __lhs, const weekday& __rhs) noexcept
-{ return __lhs.c_encoding() == __rhs.c_encoding(); }
-
-inline constexpr
-bool operator!=(const weekday& __lhs, const weekday& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-bool operator< (const weekday& __lhs, const weekday& __rhs) noexcept
-{ return __lhs.c_encoding() < __rhs.c_encoding(); }
-
-inline constexpr
-bool operator> (const weekday& __lhs, const weekday& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const weekday& __lhs, const weekday& __rhs) noexcept
-{ return !(__rhs < __lhs);}
-
-inline constexpr
-bool operator>=(const weekday& __lhs, const weekday& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-constexpr weekday operator+(const weekday& __lhs, const days& __rhs) noexcept
-{
-    auto const __mu = static_cast<long long>(__lhs.c_encoding()) + __rhs.count();
-    auto const __yr = (__mu >= 0 ? __mu : __mu - 6) / 7;
-    return weekday{static_cast<unsigned>(__mu - __yr * 7)};
-}
-
-constexpr weekday operator+(const days& __lhs, const weekday& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-constexpr weekday operator-(const weekday& __lhs, const days& __rhs) noexcept
-{ return __lhs + -__rhs; }
-
-constexpr days operator-(const weekday& __lhs, const weekday& __rhs) noexcept
-{
-    const int __wdu = __lhs.c_encoding() - __rhs.c_encoding();
-    const int __wk = (__wdu >= 0 ? __wdu : __wdu-6) / 7;
-    return days{__wdu - __wk * 7};
-}
-
-inline constexpr weekday& weekday::operator+=(const days& __dd) noexcept
-{ *this = *this + __dd; return *this; }
-
-inline constexpr weekday& weekday::operator-=(const days& __dd) noexcept
-{ *this = *this - __dd; return *this; }
-
-
-class weekday_indexed {
-private:
-    _VSTD::chrono::weekday __wd;
-    unsigned char          __idx;
-public:
-    weekday_indexed() = default;
-    inline constexpr weekday_indexed(const _VSTD::chrono::weekday& __wdval, unsigned __idxval) noexcept
-        : __wd{__wdval}, __idx(__idxval) {}
-    inline constexpr _VSTD::chrono::weekday weekday() const noexcept { return __wd; }
-    inline constexpr unsigned                 index() const noexcept { return __idx; }
-    inline constexpr bool ok() const noexcept { return __wd.ok() && __idx >= 1 && __idx <= 5; }
-};
-
-inline constexpr
-bool operator==(const weekday_indexed& __lhs, const weekday_indexed& __rhs) noexcept
-{ return __lhs.weekday() == __rhs.weekday() && __lhs.index() == __rhs.index(); }
-
-inline constexpr
-bool operator!=(const weekday_indexed& __lhs, const weekday_indexed& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-
-class weekday_last {
-private:
-    _VSTD::chrono::weekday __wd;
-public:
-    explicit constexpr weekday_last(const _VSTD::chrono::weekday& __val) noexcept
-        : __wd{__val} {}
-    constexpr _VSTD::chrono::weekday weekday() const noexcept { return __wd; }
-    constexpr bool ok() const noexcept { return __wd.ok(); }
-};
-
-inline constexpr
-bool operator==(const weekday_last& __lhs, const weekday_last& __rhs) noexcept
-{ return __lhs.weekday() == __rhs.weekday(); }
-
-inline constexpr
-bool operator!=(const weekday_last& __lhs, const weekday_last& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-weekday_indexed weekday::operator[](unsigned __index) const noexcept { return weekday_indexed{*this, __index}; }
-
-inline constexpr
-weekday_last    weekday::operator[](last_spec) const noexcept { return weekday_last{*this}; }
-
-
-inline constexpr last_spec last{};
-inline constexpr weekday   Sunday{0};
-inline constexpr weekday   Monday{1};
-inline constexpr weekday   Tuesday{2};
-inline constexpr weekday   Wednesday{3};
-inline constexpr weekday   Thursday{4};
-inline constexpr weekday   Friday{5};
-inline constexpr weekday   Saturday{6};
-
-inline constexpr month January{1};
-inline constexpr month February{2};
-inline constexpr month March{3};
-inline constexpr month April{4};
-inline constexpr month May{5};
-inline constexpr month June{6};
-inline constexpr month July{7};
-inline constexpr month August{8};
-inline constexpr month September{9};
-inline constexpr month October{10};
-inline constexpr month November{11};
-inline constexpr month December{12};
-
-
-class month_day {
-private:
-   chrono::month __m;
-   chrono::day   __d;
-public:
-    month_day() = default;
-    constexpr month_day(const chrono::month& __mval, const chrono::day& __dval) noexcept
-        : __m{__mval}, __d{__dval} {}
-    inline constexpr chrono::month month() const noexcept { return __m; }
-    inline constexpr chrono::day   day()   const noexcept { return __d; }
-    constexpr bool ok() const noexcept;
-};
-
-inline constexpr
-bool month_day::ok() const noexcept
-{
-    if (!__m.ok()) return false;
-    const unsigned __dval = static_cast<unsigned>(__d);
-    if (__dval < 1 || __dval > 31) return false;
-    if (__dval <= 29) return true;
-//  Now we've got either 30 or 31
-    const unsigned __mval = static_cast<unsigned>(__m);
-    if (__mval == 2) return false;
-    if (__mval == 4 || __mval == 6 || __mval == 9 || __mval == 11)
-        return __dval == 30;
-    return true;
-}
-
-inline constexpr
-bool operator==(const month_day& __lhs, const month_day& __rhs) noexcept
-{ return __lhs.month() == __rhs.month() && __lhs.day() == __rhs.day(); }
-
-inline constexpr
-bool operator!=(const month_day& __lhs, const month_day& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-month_day operator/(const month& __lhs, const day& __rhs) noexcept
-{ return month_day{__lhs, __rhs}; }
-
-constexpr
-month_day operator/(const day& __lhs, const month& __rhs) noexcept
-{ return __rhs / __lhs; }
-
-inline constexpr
-month_day operator/(const month& __lhs, int __rhs) noexcept
-{ return __lhs / day(__rhs); }
-
-constexpr
-month_day operator/(int __lhs, const day& __rhs) noexcept
-{ return month(__lhs) / __rhs; }
-
-constexpr
-month_day operator/(const day& __lhs, int __rhs) noexcept
-{ return month(__rhs) / __lhs; }
-
-
-inline constexpr
-bool operator< (const month_day& __lhs, const month_day& __rhs) noexcept
-{ return __lhs.month() != __rhs.month() ? __lhs.month() < __rhs.month() : __lhs.day() < __rhs.day(); }
-
-inline constexpr
-bool operator> (const month_day& __lhs, const month_day& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const month_day& __lhs, const month_day& __rhs) noexcept
-{ return !(__rhs < __lhs);}
-
-inline constexpr
-bool operator>=(const month_day& __lhs, const month_day& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-
-
-class month_day_last {
-private:
-    chrono::month __m;
-public:
-    explicit constexpr month_day_last(const chrono::month& __val) noexcept
-        : __m{__val} {}
-    inline constexpr chrono::month month() const noexcept { return __m; }
-    inline constexpr bool ok() const noexcept { return __m.ok(); }
-};
-
-inline constexpr
-bool operator==(const month_day_last& __lhs, const month_day_last& __rhs) noexcept
-{ return __lhs.month() == __rhs.month(); }
-
-inline constexpr
-bool operator!=(const month_day_last& __lhs, const month_day_last& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-bool operator< (const month_day_last& __lhs, const month_day_last& __rhs) noexcept
-{ return __lhs.month() < __rhs.month(); }
-
-inline constexpr
-bool operator> (const month_day_last& __lhs, const month_day_last& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const month_day_last& __lhs, const month_day_last& __rhs) noexcept
-{ return !(__rhs < __lhs);}
-
-inline constexpr
-bool operator>=(const month_day_last& __lhs, const month_day_last& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-inline constexpr
-month_day_last operator/(const month& __lhs, last_spec) noexcept
-{ return month_day_last{__lhs}; }
-
-inline constexpr
-month_day_last operator/(last_spec, const month& __rhs) noexcept
-{ return month_day_last{__rhs}; }
-
-inline constexpr
-month_day_last operator/(int __lhs, last_spec) noexcept
-{ return month_day_last{month(__lhs)}; }
-
-inline constexpr
-month_day_last operator/(last_spec, int __rhs) noexcept
-{ return month_day_last{month(__rhs)}; }
-
-
-class month_weekday {
-private:
-    chrono::month __m;
-    chrono::weekday_indexed __wdi;
-public:
-    month_weekday() = default;
-    constexpr month_weekday(const chrono::month& __mval, const chrono::weekday_indexed& __wdival) noexcept
-        : __m{__mval}, __wdi{__wdival} {}
-    inline constexpr chrono::month                     month() const noexcept { return __m; }
-    inline constexpr chrono::weekday_indexed weekday_indexed() const noexcept { return __wdi; }
-    inline constexpr bool                                 ok() const noexcept { return __m.ok() && __wdi.ok(); }
-};
-
-inline constexpr
-bool operator==(const month_weekday& __lhs, const month_weekday& __rhs) noexcept
-{ return __lhs.month() == __rhs.month() && __lhs.weekday_indexed() == __rhs.weekday_indexed(); }
-
-inline constexpr
-bool operator!=(const month_weekday& __lhs, const month_weekday& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-month_weekday operator/(const month& __lhs, const weekday_indexed& __rhs) noexcept
-{ return month_weekday{__lhs, __rhs}; }
-
-inline constexpr
-month_weekday operator/(int __lhs, const weekday_indexed& __rhs) noexcept
-{ return month_weekday{month(__lhs), __rhs}; }
-
-inline constexpr
-month_weekday operator/(const weekday_indexed& __lhs, const month& __rhs) noexcept
-{ return month_weekday{__rhs, __lhs}; }
-
-inline constexpr
-month_weekday operator/(const weekday_indexed& __lhs, int __rhs) noexcept
-{ return month_weekday{month(__rhs), __lhs}; }
-
-
-class month_weekday_last {
-    chrono::month        __m;
-    chrono::weekday_last __wdl;
-  public:
-    constexpr month_weekday_last(const chrono::month& __mval, const chrono::weekday_last& __wdlval) noexcept
-        : __m{__mval}, __wdl{__wdlval} {}
-    inline constexpr chrono::month               month() const noexcept { return __m; }
-    inline constexpr chrono::weekday_last weekday_last() const noexcept { return __wdl; }
-    inline constexpr bool                           ok() const noexcept { return __m.ok() && __wdl.ok(); }
-};
-
-inline constexpr
-bool operator==(const month_weekday_last& __lhs, const month_weekday_last& __rhs) noexcept
-{ return __lhs.month() == __rhs.month() && __lhs.weekday_last() == __rhs.weekday_last(); }
-
-inline constexpr
-bool operator!=(const month_weekday_last& __lhs, const month_weekday_last& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-
-inline constexpr
-month_weekday_last operator/(const month& __lhs, const weekday_last& __rhs) noexcept
-{ return month_weekday_last{__lhs, __rhs}; }
-
-inline constexpr
-month_weekday_last operator/(int __lhs, const weekday_last& __rhs) noexcept
-{ return month_weekday_last{month(__lhs), __rhs}; }
-
-inline constexpr
-month_weekday_last operator/(const weekday_last& __lhs, const month& __rhs) noexcept
-{ return month_weekday_last{__rhs, __lhs}; }
-
-inline constexpr
-month_weekday_last operator/(const weekday_last& __lhs, int __rhs) noexcept
-{ return month_weekday_last{month(__rhs), __lhs}; }
-
-
-class year_month {
-    chrono::year  __y;
-    chrono::month __m;
-public:
-    year_month() = default;
-    constexpr year_month(const chrono::year& __yval, const chrono::month& __mval) noexcept
-        : __y{__yval}, __m{__mval} {}
-    inline constexpr chrono::year  year()  const noexcept { return __y; }
-    inline constexpr chrono::month month() const noexcept { return __m; }
-    inline constexpr year_month& operator+=(const months& __dm) noexcept { this->__m += __dm; return *this; }
-    inline constexpr year_month& operator-=(const months& __dm) noexcept { this->__m -= __dm; return *this; }
-    inline constexpr year_month& operator+=(const years& __dy)  noexcept { this->__y += __dy; return *this; }
-    inline constexpr year_month& operator-=(const years& __dy)  noexcept { this->__y -= __dy; return *this; }
-    inline constexpr bool ok() const noexcept { return __y.ok() && __m.ok(); }
-};
-
-inline constexpr
-year_month operator/(const year& __y, const month& __m) noexcept { return year_month{__y, __m}; }
-
-inline constexpr
-year_month operator/(const year& __y, int __m) noexcept { return year_month{__y, month(__m)}; }
-
-inline constexpr
-bool operator==(const year_month& __lhs, const year_month& __rhs) noexcept
-{ return __lhs.year() == __rhs.year() && __lhs.month() == __rhs.month(); }
-
-inline constexpr
-bool operator!=(const year_month& __lhs, const year_month& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-bool operator< (const year_month& __lhs, const year_month& __rhs) noexcept
-{ return __lhs.year() != __rhs.year() ? __lhs.year() < __rhs.year() : __lhs.month() < __rhs.month(); }
-
-inline constexpr
-bool operator> (const year_month& __lhs, const year_month& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const year_month& __lhs, const year_month& __rhs) noexcept
-{ return !(__rhs < __lhs);}
-
-inline constexpr
-bool operator>=(const year_month& __lhs, const year_month& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-constexpr year_month operator+(const year_month& __lhs, const months& __rhs) noexcept
-{
-    int __dmi = static_cast<int>(static_cast<unsigned>(__lhs.month())) - 1 + __rhs.count();
-    const int __dy = (__dmi >= 0 ? __dmi : __dmi-11) / 12;
-    __dmi = __dmi - __dy * 12 + 1;
-    return (__lhs.year() + years(__dy)) / month(static_cast<unsigned>(__dmi));
-}
-
-constexpr year_month operator+(const months& __lhs, const year_month& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-constexpr year_month operator+(const year_month& __lhs, const years& __rhs) noexcept
-{ return (__lhs.year() + __rhs) / __lhs.month(); }
-
-constexpr year_month operator+(const years& __lhs, const year_month& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-constexpr months     operator-(const year_month& __lhs, const year_month& __rhs) noexcept
-{ return (__lhs.year() - __rhs.year()) + months(static_cast<unsigned>(__lhs.month()) - static_cast<unsigned>(__rhs.month())); }
-
-constexpr year_month operator-(const year_month& __lhs, const months& __rhs) noexcept
-{ return __lhs + -__rhs; }
-
-constexpr year_month operator-(const year_month& __lhs, const years& __rhs) noexcept
-{ return __lhs + -__rhs; }
-
-class year_month_day_last;
-
-class year_month_day {
-private:
-    chrono::year  __y;
-    chrono::month __m;
-    chrono::day   __d;
-public:
-     year_month_day() = default;
-     inline constexpr year_month_day(
-            const chrono::year& __yval, const chrono::month& __mval, const chrono::day& __dval) noexcept
-            : __y{__yval}, __m{__mval}, __d{__dval} {}
-            constexpr year_month_day(const year_month_day_last& __ymdl) noexcept;
-     inline constexpr year_month_day(const sys_days& __sysd) noexcept
-            : year_month_day(__from_days(__sysd.time_since_epoch())) {}
-     inline explicit constexpr year_month_day(const local_days& __locd) noexcept
-            : year_month_day(__from_days(__locd.time_since_epoch())) {}
-
-            constexpr year_month_day& operator+=(const months& __dm) noexcept;
-            constexpr year_month_day& operator-=(const months& __dm) noexcept;
-            constexpr year_month_day& operator+=(const years& __dy)  noexcept;
-            constexpr year_month_day& operator-=(const years& __dy)  noexcept;
-
-     inline constexpr chrono::year   year() const noexcept { return __y; }
-     inline constexpr chrono::month month() const noexcept { return __m; }
-     inline constexpr chrono::day     day() const noexcept { return __d; }
-     inline constexpr operator   sys_days() const noexcept          { return   sys_days{__to_days()}; }
-     inline explicit constexpr operator local_days() const noexcept { return local_days{__to_days()}; }
-
-            constexpr bool             ok() const noexcept;
-
-     static constexpr year_month_day __from_days(days __d) noexcept;
-     constexpr days __to_days() const noexcept;
-};
-
-
-// https://howardhinnant.github.io/date_algorithms.html#civil_from_days
-inline constexpr
-year_month_day
-year_month_day::__from_days(days __d) noexcept
-{
-    static_assert(std::numeric_limits<unsigned>::digits >= 18, "");
-    static_assert(std::numeric_limits<int>::digits >= 20     , "");
-    const int      __z = __d.count() + 719468;
-    const int      __era = (__z >= 0 ? __z : __z - 146096) / 146097;
-    const unsigned __doe = static_cast<unsigned>(__z - __era * 146097);              // [0, 146096]
-    const unsigned __yoe = (__doe - __doe/1460 + __doe/36524 - __doe/146096) / 365;  // [0, 399]
-    const int      __yr = static_cast<int>(__yoe) + __era * 400;
-    const unsigned __doy = __doe - (365 * __yoe + __yoe/4 - __yoe/100);              // [0, 365]
-    const unsigned __mp = (5 * __doy + 2)/153;                                       // [0, 11]
-    const unsigned __dy = __doy - (153 * __mp + 2)/5 + 1;                            // [1, 31]
-    const unsigned __mth = __mp + (__mp < 10 ? 3 : -9);                              // [1, 12]
-    return year_month_day{chrono::year{__yr + (__mth <= 2)}, chrono::month{__mth}, chrono::day{__dy}};
-}
-
-// https://howardhinnant.github.io/date_algorithms.html#days_from_civil
-inline constexpr days year_month_day::__to_days() const noexcept
-{
-    static_assert(std::numeric_limits<unsigned>::digits >= 18, "");
-    static_assert(std::numeric_limits<int>::digits >= 20     , "");
-
-    const int      __yr  = static_cast<int>(__y) - (__m <= February);
-    const unsigned __mth = static_cast<unsigned>(__m);
-    const unsigned __dy  = static_cast<unsigned>(__d);
-
-    const int      __era = (__yr >= 0 ? __yr : __yr - 399) / 400;
-    const unsigned __yoe = static_cast<unsigned>(__yr - __era * 400);                // [0, 399]
-    const unsigned __doy = (153 * (__mth + (__mth > 2 ? -3 : 9)) + 2) / 5 + __dy-1;  // [0, 365]
-    const unsigned __doe = __yoe * 365 + __yoe/4 - __yoe/100 + __doy;                // [0, 146096]
-    return days{__era * 146097 + static_cast<int>(__doe) - 719468};
-}
-
-inline constexpr
-bool operator==(const year_month_day& __lhs, const year_month_day& __rhs) noexcept
-{ return __lhs.year() == __rhs.year() && __lhs.month() == __rhs.month() && __lhs.day() == __rhs.day(); }
-
-inline constexpr
-bool operator!=(const year_month_day& __lhs, const year_month_day& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-bool operator< (const year_month_day& __lhs, const year_month_day& __rhs) noexcept
-{
-    if (__lhs.year() < __rhs.year()) return true;
-    if (__lhs.year() > __rhs.year()) return false;
-    if (__lhs.month() < __rhs.month()) return true;
-    if (__lhs.month() > __rhs.month()) return false;
-    return __lhs.day() < __rhs.day();
-}
-
-inline constexpr
-bool operator> (const year_month_day& __lhs, const year_month_day& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const year_month_day& __lhs, const year_month_day& __rhs) noexcept
-{ return !(__rhs < __lhs);}
-
-inline constexpr
-bool operator>=(const year_month_day& __lhs, const year_month_day& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-inline constexpr
-year_month_day operator/(const year_month& __lhs, const day& __rhs) noexcept
-{ return year_month_day{__lhs.year(), __lhs.month(), __rhs}; }
-
-inline constexpr
-year_month_day operator/(const year_month& __lhs, int __rhs) noexcept
-{ return __lhs / day(__rhs); }
-
-inline constexpr
-year_month_day operator/(const year& __lhs, const month_day& __rhs) noexcept
-{ return __lhs / __rhs.month() / __rhs.day(); }
-
-inline constexpr
-year_month_day operator/(int __lhs, const month_day& __rhs) noexcept
-{ return year(__lhs) / __rhs; }
-
-inline constexpr
-year_month_day operator/(const month_day& __lhs, const year& __rhs) noexcept
-{ return __rhs / __lhs; }
-
-inline constexpr
-year_month_day operator/(const month_day& __lhs, int __rhs) noexcept
-{ return year(__rhs) / __lhs; }
-
-
-inline constexpr
-year_month_day operator+(const year_month_day& __lhs, const months& __rhs) noexcept
-{ return (__lhs.year()/__lhs.month() + __rhs)/__lhs.day(); }
-
-inline constexpr
-year_month_day operator+(const months& __lhs, const year_month_day& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year_month_day operator-(const year_month_day& __lhs, const months& __rhs) noexcept
-{ return __lhs + -__rhs; }
-
-inline constexpr
-year_month_day operator+(const year_month_day& __lhs, const years& __rhs) noexcept
-{ return (__lhs.year() + __rhs) / __lhs.month() / __lhs.day(); }
-
-inline constexpr
-year_month_day operator+(const years& __lhs, const year_month_day& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year_month_day operator-(const year_month_day& __lhs, const years& __rhs) noexcept
-{ return __lhs + -__rhs; }
-
-inline constexpr year_month_day& year_month_day::operator+=(const months& __dm) noexcept { *this = *this + __dm; return *this; }
-inline constexpr year_month_day& year_month_day::operator-=(const months& __dm) noexcept { *this = *this - __dm; return *this; }
-inline constexpr year_month_day& year_month_day::operator+=(const years& __dy)  noexcept { *this = *this + __dy; return *this; }
-inline constexpr year_month_day& year_month_day::operator-=(const years& __dy)  noexcept { *this = *this - __dy; return *this; }
-
-class year_month_day_last {
-private:
-    chrono::year           __y;
-    chrono::month_day_last __mdl;
-public:
-     constexpr year_month_day_last(const year& __yval, const month_day_last& __mdlval) noexcept
-        : __y{__yval}, __mdl{__mdlval} {}
-
-     constexpr year_month_day_last& operator+=(const months& __m) noexcept;
-     constexpr year_month_day_last& operator-=(const months& __m) noexcept;
-     constexpr year_month_day_last& operator+=(const years& __y)  noexcept;
-     constexpr year_month_day_last& operator-=(const years& __y)  noexcept;
-
-     inline constexpr chrono::year                     year() const noexcept { return __y; }
-     inline constexpr chrono::month                   month() const noexcept { return __mdl.month(); }
-     inline constexpr chrono::month_day_last month_day_last() const noexcept { return __mdl; }
-            constexpr chrono::day                       day() const noexcept;
-     inline constexpr operator                     sys_days() const noexcept { return   sys_days{year()/month()/day()}; }
-     inline explicit constexpr operator          local_days() const noexcept { return local_days{year()/month()/day()}; }
-     inline constexpr bool                               ok() const noexcept { return __y.ok() && __mdl.ok(); }
-};
-
-inline constexpr
-chrono::day year_month_day_last::day() const noexcept
-{
-    constexpr chrono::day __d[] =
-    {
-        chrono::day(31), chrono::day(28), chrono::day(31),
-        chrono::day(30), chrono::day(31), chrono::day(30),
-        chrono::day(31), chrono::day(31), chrono::day(30),
-        chrono::day(31), chrono::day(30), chrono::day(31)
-    };
-    return month() != February || !__y.is_leap() ?
-        __d[static_cast<unsigned>(month()) - 1] : chrono::day{29};
-}
-
-inline constexpr
-bool operator==(const year_month_day_last& __lhs, const year_month_day_last& __rhs) noexcept
-{ return __lhs.year() == __rhs.year() && __lhs.month_day_last() == __rhs.month_day_last(); }
-
-inline constexpr
-bool operator!=(const year_month_day_last& __lhs, const year_month_day_last& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-bool operator< (const year_month_day_last& __lhs, const year_month_day_last& __rhs) noexcept
-{
-    if (__lhs.year() < __rhs.year()) return true;
-    if (__lhs.year() > __rhs.year()) return false;
-    return __lhs.month_day_last() < __rhs.month_day_last();
-}
-
-inline constexpr
-bool operator> (const year_month_day_last& __lhs, const year_month_day_last& __rhs) noexcept
-{ return __rhs < __lhs; }
-
-inline constexpr
-bool operator<=(const year_month_day_last& __lhs, const year_month_day_last& __rhs) noexcept
-{ return !(__rhs < __lhs);}
-
-inline constexpr
-bool operator>=(const year_month_day_last& __lhs, const year_month_day_last& __rhs) noexcept
-{ return !(__lhs < __rhs); }
-
-inline constexpr year_month_day_last operator/(const year_month& __lhs, last_spec) noexcept
-{ return year_month_day_last{__lhs.year(), month_day_last{__lhs.month()}}; }
-
-inline constexpr year_month_day_last operator/(const year& __lhs, const month_day_last& __rhs) noexcept
-{ return year_month_day_last{__lhs, __rhs}; }
-
-inline constexpr year_month_day_last operator/(int __lhs, const month_day_last& __rhs) noexcept
-{ return year_month_day_last{year{__lhs}, __rhs}; }
-
-inline constexpr year_month_day_last operator/(const month_day_last& __lhs, const year& __rhs) noexcept
-{ return __rhs / __lhs; }
-
-inline constexpr year_month_day_last operator/(const month_day_last& __lhs, int __rhs) noexcept
-{ return year{__rhs} / __lhs; }
-
-
-inline constexpr
-year_month_day_last operator+(const year_month_day_last& __lhs, const months& __rhs) noexcept
-{ return (__lhs.year() / __lhs.month() + __rhs) / last; }
-
-inline constexpr
-year_month_day_last operator+(const months& __lhs, const year_month_day_last& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year_month_day_last operator-(const year_month_day_last& __lhs, const months& __rhs) noexcept
-{ return __lhs + (-__rhs); }
-
-inline constexpr
-year_month_day_last operator+(const year_month_day_last& __lhs, const years& __rhs) noexcept
-{ return year_month_day_last{__lhs.year() + __rhs, __lhs.month_day_last()}; }
-
-inline constexpr
-year_month_day_last operator+(const years& __lhs, const year_month_day_last& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year_month_day_last operator-(const year_month_day_last& __lhs, const years& __rhs) noexcept
-{ return __lhs + (-__rhs); }
-
-inline constexpr year_month_day_last& year_month_day_last::operator+=(const months& __dm) noexcept { *this = *this + __dm; return *this; }
-inline constexpr year_month_day_last& year_month_day_last::operator-=(const months& __dm) noexcept { *this = *this - __dm; return *this; }
-inline constexpr year_month_day_last& year_month_day_last::operator+=(const years& __dy)  noexcept { *this = *this + __dy; return *this; }
-inline constexpr year_month_day_last& year_month_day_last::operator-=(const years& __dy)  noexcept { *this = *this - __dy; return *this; }
-
-inline constexpr year_month_day::year_month_day(const year_month_day_last& __ymdl) noexcept
-    : __y{__ymdl.year()}, __m{__ymdl.month()}, __d{__ymdl.day()} {}
-
-inline constexpr bool year_month_day::ok() const noexcept
-{
-    if (!__y.ok() || !__m.ok()) return false;
-    return chrono::day{1} <= __d && __d <= (__y / __m / last).day();
-}
-
-class year_month_weekday {
-    chrono::year            __y;
-    chrono::month           __m;
-    chrono::weekday_indexed __wdi;
-public:
-    year_month_weekday() = default;
-    constexpr year_month_weekday(const chrono::year& __yval, const chrono::month& __mval,
-                               const chrono::weekday_indexed& __wdival) noexcept
-        : __y{__yval}, __m{__mval}, __wdi{__wdival} {}
-    constexpr year_month_weekday(const sys_days& __sysd) noexcept
-            : year_month_weekday(__from_days(__sysd.time_since_epoch())) {}
-    inline explicit constexpr year_month_weekday(const local_days& __locd) noexcept
-            : year_month_weekday(__from_days(__locd.time_since_epoch())) {}
-    constexpr year_month_weekday& operator+=(const months& m) noexcept;
-    constexpr year_month_weekday& operator-=(const months& m) noexcept;
-    constexpr year_month_weekday& operator+=(const years& y)  noexcept;
-    constexpr year_month_weekday& operator-=(const years& y)  noexcept;
-
-    inline constexpr chrono::year                       year() const noexcept { return __y; }
-    inline constexpr chrono::month                     month() const noexcept { return __m; }
-    inline constexpr chrono::weekday                 weekday() const noexcept { return __wdi.weekday(); }
-    inline constexpr unsigned                          index() const noexcept { return __wdi.index(); }
-    inline constexpr chrono::weekday_indexed weekday_indexed() const noexcept { return __wdi; }
-
-    inline constexpr                       operator sys_days() const noexcept { return   sys_days{__to_days()}; }
-    inline explicit constexpr operator            local_days() const noexcept { return local_days{__to_days()}; }
-    inline constexpr bool ok() const noexcept
-    {
-        if (!__y.ok() || !__m.ok() || !__wdi.ok()) return false;
-    //  TODO: make sure it's a valid date
-        return true;
-    }
-
-    static constexpr year_month_weekday __from_days(days __d) noexcept;
-    constexpr days __to_days() const noexcept;
-};
-
-inline constexpr
-year_month_weekday year_month_weekday::__from_days(days __d) noexcept
-{
-    const sys_days      __sysd{__d};
-    const chrono::weekday __wd = chrono::weekday(__sysd);
-    const year_month_day __ymd = year_month_day(__sysd);
-    return year_month_weekday{__ymd.year(), __ymd.month(),
-                              __wd[(static_cast<unsigned>(__ymd.day())-1)/7+1]};
-}
-
-inline constexpr
-days year_month_weekday::__to_days() const noexcept
-{
-    const sys_days __sysd = sys_days(__y/__m/1);
-    return (__sysd + (__wdi.weekday() - chrono::weekday(__sysd) + days{(__wdi.index()-1)*7}))
-                .time_since_epoch();
-}
-
-inline constexpr
-bool operator==(const year_month_weekday& __lhs, const year_month_weekday& __rhs) noexcept
-{ return __lhs.year() == __rhs.year() && __lhs.month() == __rhs.month() && __lhs.weekday_indexed() == __rhs.weekday_indexed(); }
-
-inline constexpr
-bool operator!=(const year_month_weekday& __lhs, const year_month_weekday& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-inline constexpr
-year_month_weekday operator/(const year_month& __lhs, const weekday_indexed& __rhs) noexcept
-{ return year_month_weekday{__lhs.year(), __lhs.month(), __rhs}; }
-
-inline constexpr
-year_month_weekday operator/(const year& __lhs, const month_weekday& __rhs) noexcept
-{ return year_month_weekday{__lhs, __rhs.month(), __rhs.weekday_indexed()}; }
-
-inline constexpr
-year_month_weekday operator/(int __lhs, const month_weekday& __rhs) noexcept
-{ return year(__lhs) / __rhs; }
-
-inline constexpr
-year_month_weekday operator/(const month_weekday& __lhs, const year& __rhs) noexcept
-{ return __rhs / __lhs; }
-
-inline constexpr
-year_month_weekday operator/(const month_weekday& __lhs, int __rhs) noexcept
-{ return year(__rhs) / __lhs; }
-
-
-inline constexpr
-year_month_weekday operator+(const year_month_weekday& __lhs, const months& __rhs) noexcept
-{ return (__lhs.year() / __lhs.month() + __rhs) / __lhs.weekday_indexed(); }
-
-inline constexpr
-year_month_weekday operator+(const months& __lhs, const year_month_weekday& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year_month_weekday operator-(const year_month_weekday& __lhs, const months& __rhs) noexcept
-{ return __lhs + (-__rhs); }
-
-inline constexpr
-year_month_weekday operator+(const year_month_weekday& __lhs, const years& __rhs) noexcept
-{ return year_month_weekday{__lhs.year() + __rhs, __lhs.month(), __lhs.weekday_indexed()}; }
-
-inline constexpr
-year_month_weekday operator+(const years& __lhs, const year_month_weekday& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year_month_weekday operator-(const year_month_weekday& __lhs, const years& __rhs) noexcept
-{ return __lhs + (-__rhs); }
-
-
-inline constexpr year_month_weekday& year_month_weekday::operator+=(const months& __dm) noexcept { *this = *this + __dm; return *this; }
-inline constexpr year_month_weekday& year_month_weekday::operator-=(const months& __dm) noexcept { *this = *this - __dm; return *this; }
-inline constexpr year_month_weekday& year_month_weekday::operator+=(const years& __dy)  noexcept { *this = *this + __dy; return *this; }
-inline constexpr year_month_weekday& year_month_weekday::operator-=(const years& __dy)  noexcept { *this = *this - __dy; return *this; }
-
-class year_month_weekday_last {
-private:
-    chrono::year         __y;
-    chrono::month        __m;
-    chrono::weekday_last __wdl;
-public:
-    constexpr year_month_weekday_last(const chrono::year& __yval, const chrono::month& __mval,
-                                      const chrono::weekday_last& __wdlval) noexcept
-                : __y{__yval}, __m{__mval}, __wdl{__wdlval} {}
-    constexpr year_month_weekday_last& operator+=(const months& __dm) noexcept;
-    constexpr year_month_weekday_last& operator-=(const months& __dm) noexcept;
-    constexpr year_month_weekday_last& operator+=(const years& __dy)  noexcept;
-    constexpr year_month_weekday_last& operator-=(const years& __dy)  noexcept;
-
-    inline constexpr chrono::year                 year() const noexcept { return __y; }
-    inline constexpr chrono::month               month() const noexcept { return __m; }
-    inline constexpr chrono::weekday           weekday() const noexcept { return __wdl.weekday(); }
-    inline constexpr chrono::weekday_last weekday_last() const noexcept { return __wdl; }
-    inline constexpr operator                 sys_days() const noexcept { return   sys_days{__to_days()}; }
-    inline explicit constexpr operator      local_days() const noexcept { return local_days{__to_days()}; }
-    inline constexpr bool ok() const noexcept { return __y.ok() && __m.ok() && __wdl.ok(); }
-
-    constexpr days __to_days() const noexcept;
-
-};
-
-inline constexpr
-days year_month_weekday_last::__to_days() const noexcept
-{
-    const sys_days __last = sys_days{__y/__m/last};
-    return (__last - (chrono::weekday{__last} - __wdl.weekday())).time_since_epoch();
-
-}
-
-inline constexpr
-bool operator==(const year_month_weekday_last& __lhs, const year_month_weekday_last& __rhs) noexcept
-{ return __lhs.year() == __rhs.year() && __lhs.month() == __rhs.month() && __lhs.weekday_last() == __rhs.weekday_last(); }
-
-inline constexpr
-bool operator!=(const year_month_weekday_last& __lhs, const year_month_weekday_last& __rhs) noexcept
-{ return !(__lhs == __rhs); }
-
-
-inline constexpr
-year_month_weekday_last operator/(const year_month& __lhs, const weekday_last& __rhs) noexcept
-{ return year_month_weekday_last{__lhs.year(), __lhs.month(), __rhs}; }
-
-inline constexpr
-year_month_weekday_last operator/(const year& __lhs, const month_weekday_last& __rhs) noexcept
-{ return year_month_weekday_last{__lhs, __rhs.month(), __rhs.weekday_last()}; }
-
-inline constexpr
-year_month_weekday_last operator/(int __lhs, const month_weekday_last& __rhs) noexcept
-{ return year(__lhs) / __rhs; }
-
-inline constexpr
-year_month_weekday_last operator/(const month_weekday_last& __lhs, const year& __rhs) noexcept
-{ return __rhs / __lhs; }
-
-inline constexpr
-year_month_weekday_last operator/(const month_weekday_last& __lhs, int __rhs) noexcept
-{ return year(__rhs) / __lhs; }
-
-
-inline constexpr
-year_month_weekday_last operator+(const year_month_weekday_last& __lhs, const months& __rhs) noexcept
-{ return (__lhs.year() / __lhs.month() + __rhs) / __lhs.weekday_last(); }
-
-inline constexpr
-year_month_weekday_last operator+(const months& __lhs, const year_month_weekday_last& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year_month_weekday_last operator-(const year_month_weekday_last& __lhs, const months& __rhs) noexcept
-{ return __lhs + (-__rhs); }
-
-inline constexpr
-year_month_weekday_last operator+(const year_month_weekday_last& __lhs, const years& __rhs) noexcept
-{ return year_month_weekday_last{__lhs.year() + __rhs, __lhs.month(), __lhs.weekday_last()}; }
-
-inline constexpr
-year_month_weekday_last operator+(const years& __lhs, const year_month_weekday_last& __rhs) noexcept
-{ return __rhs + __lhs; }
-
-inline constexpr
-year_month_weekday_last operator-(const year_month_weekday_last& __lhs, const years& __rhs) noexcept
-{ return __lhs + (-__rhs); }
-
-inline constexpr year_month_weekday_last& year_month_weekday_last::operator+=(const months& __dm) noexcept { *this = *this + __dm; return *this; }
-inline constexpr year_month_weekday_last& year_month_weekday_last::operator-=(const months& __dm) noexcept { *this = *this - __dm; return *this; }
-inline constexpr year_month_weekday_last& year_month_weekday_last::operator+=(const years& __dy)  noexcept { *this = *this + __dy; return *this; }
-inline constexpr year_month_weekday_last& year_month_weekday_last::operator-=(const years& __dy)  noexcept { *this = *this - __dy; return *this; }
-
-
-template <class _Duration>
-class hh_mm_ss
-{
-private:
-    static_assert(__is_duration<_Duration>::value, "template parameter of hh_mm_ss must be a std::chrono::duration");
-    using __CommonType = common_type_t<_Duration, chrono::seconds>;
-
-    static constexpr uint64_t __pow10(unsigned __exp)
-    {
-        uint64_t __ret = 1;
-        for (unsigned __i = 0; __i < __exp; ++__i)
-            __ret *= 10U;
-        return __ret;
-    }
-
-    static constexpr unsigned __width(uint64_t __n, uint64_t __d = 10, unsigned __w = 0)
-    {
-        if (__n >= 2 && __d != 0 && __w < 19)
-            return 1 + __width(__n, __d % __n * 10, __w+1);
-        return 0;
-    }
-
-public:
-    static unsigned constexpr fractional_width = __width(__CommonType::period::den) < 19 ?
-                                                 __width(__CommonType::period::den) : 6u;
-    using precision = duration<typename __CommonType::rep, ratio<1, __pow10(fractional_width)>>;
-
-    constexpr hh_mm_ss() noexcept : hh_mm_ss{_Duration::zero()} {}
-
-    constexpr explicit hh_mm_ss(_Duration __d) noexcept :
-        __is_neg(__d < _Duration(0)),
-        __h(duration_cast<chrono::hours>  (abs(__d))),
-        __m(duration_cast<chrono::minutes>(abs(__d) - hours())),
-        __s(duration_cast<chrono::seconds>(abs(__d) - hours() - minutes())),
-        __f(duration_cast<precision>      (abs(__d) - hours() - minutes() - seconds()))
-        {}
-
-    constexpr bool is_negative()        const noexcept { return __is_neg; }
-    constexpr chrono::hours hours()     const noexcept { return __h; }
-    constexpr chrono::minutes minutes() const noexcept { return __m; }
-    constexpr chrono::seconds seconds() const noexcept { return __s; }
-    constexpr precision subseconds()    const noexcept { return __f; }
-
-    constexpr precision to_duration() const noexcept
-    {
-        auto __dur = __h + __m + __s + __f;
-        return __is_neg ? -__dur : __dur;
-    }
-
-    constexpr explicit operator precision() const noexcept { return to_duration(); }
-
-private:
-    bool            __is_neg;
-    chrono::hours   __h;
-    chrono::minutes __m;
-    chrono::seconds __s;
-    precision       __f;
-};
-
-constexpr bool is_am(const hours& __h) noexcept { return __h >= hours( 0) && __h < hours(12); }
-constexpr bool is_pm(const hours& __h) noexcept { return __h >= hours(12) && __h < hours(24); }
-
-constexpr hours make12(const hours& __h) noexcept
-{
-    if      (__h == hours( 0)) return hours(12);
-    else if (__h <= hours(12)) return __h;
-    else                       return __h - hours(12);
-}
-
-constexpr hours make24(const hours& __h, bool __is_pm) noexcept
-{
-    if (__is_pm)
-        return __h == hours(12) ? __h : __h + hours(12);
-    else
-        return __h == hours(12) ? hours(0) : __h;
-}
-
-#endif // _LIBCPP_STD_VER > 17
-} // chrono
-
-#if _LIBCPP_STD_VER > 11
-// Suffixes for duration literals [time.duration.literals]
-inline namespace literals
-{
-  inline namespace chrono_literals
-  {
-
-    constexpr chrono::hours operator""h(unsigned long long __h)
-    {
-        return chrono::hours(static_cast<chrono::hours::rep>(__h));
-    }
-
-    constexpr chrono::duration<long double, ratio<3600,1>> operator""h(long double __h)
-    {
-        return chrono::duration<long double, ratio<3600,1>>(__h);
-    }
-
-
-    constexpr chrono::minutes operator""min(unsigned long long __m)
-    {
-        return chrono::minutes(static_cast<chrono::minutes::rep>(__m));
-    }
-
-    constexpr chrono::duration<long double, ratio<60,1>> operator""min(long double __m)
-    {
-        return chrono::duration<long double, ratio<60,1>> (__m);
-    }
-
-
-    constexpr chrono::seconds operator""s(unsigned long long __s)
-    {
-        return chrono::seconds(static_cast<chrono::seconds::rep>(__s));
-    }
-
-    constexpr chrono::duration<long double> operator""s(long double __s)
-    {
-        return chrono::duration<long double> (__s);
-    }
-
-
-    constexpr chrono::milliseconds operator""ms(unsigned long long __ms)
-    {
-        return chrono::milliseconds(static_cast<chrono::milliseconds::rep>(__ms));
-    }
-
-    constexpr chrono::duration<long double, milli> operator""ms(long double __ms)
-    {
-        return chrono::duration<long double, milli>(__ms);
-    }
-
-
-    constexpr chrono::microseconds operator""us(unsigned long long __us)
-    {
-        return chrono::microseconds(static_cast<chrono::microseconds::rep>(__us));
-    }
-
-    constexpr chrono::duration<long double, micro> operator""us(long double __us)
-    {
-        return chrono::duration<long double, micro> (__us);
-    }
-
-
-    constexpr chrono::nanoseconds operator""ns(unsigned long long __ns)
-    {
-        return chrono::nanoseconds(static_cast<chrono::nanoseconds::rep>(__ns));
-    }
-
-    constexpr chrono::duration<long double, nano> operator""ns(long double __ns)
-    {
-        return chrono::duration<long double, nano> (__ns);
-    }
-
-#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CXX20_CHRONO_LITERALS)
-    constexpr chrono::day operator ""d(unsigned long long __d) noexcept
-    {
-        return chrono::day(static_cast<unsigned>(__d));
-    }
-
-    constexpr chrono::year operator ""y(unsigned long long __y) noexcept
-    {
-        return chrono::year(static_cast<int>(__y));
-    }
-#endif
-}}
-
-namespace chrono { // hoist the literals into namespace std::chrono
-   using namespace literals::chrono_literals;
-}
-
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#ifndef _LIBCPP_CXX03_LANG
-_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
-struct _FilesystemClock {
-#if !defined(_LIBCPP_HAS_NO_INT128)
-  typedef __int128_t rep;
-  typedef nano period;
-#else
-  typedef long long rep;
-  typedef nano period;
-#endif
-
-  typedef chrono::duration<rep, period> duration;
-  typedef chrono::time_point<_FilesystemClock> time_point;
-
-  _LIBCPP_EXPORTED_FROM_ABI
-  static _LIBCPP_CONSTEXPR_AFTER_CXX11 const bool is_steady = false;
-
-  _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_FUNC_VIS static time_point now() noexcept;
-
-  _LIBCPP_INLINE_VISIBILITY
-  static time_t to_time_t(const time_point& __t) noexcept {
-      typedef chrono::duration<rep> __secs;
-      return time_t(
-          chrono::duration_cast<__secs>(__t.time_since_epoch()).count());
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  static time_point from_time_t(time_t __t) noexcept {
-      typedef chrono::duration<rep> __secs;
-      return time_point(__secs(__t));
-  }
-};
-_LIBCPP_END_NAMESPACE_FILESYSTEM
-#endif // !_LIBCPP_CXX03_LANG
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_CHRONO
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cmath b/r21/sources/cxx-stl/llvm-libc++/include/cmath
deleted file mode 100644
index 62c055d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/cmath
+++ /dev/null
@@ -1,673 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- cmath -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CMATH
-#define _LIBCPP_CMATH
-
-/*
-    cmath synopsis
-
-Macros:
-
-    HUGE_VAL
-    HUGE_VALF               // C99
-    HUGE_VALL               // C99
-    INFINITY                // C99
-    NAN                     // C99
-    FP_INFINITE             // C99
-    FP_NAN                  // C99
-    FP_NORMAL               // C99
-    FP_SUBNORMAL            // C99
-    FP_ZERO                 // C99
-    FP_FAST_FMA             // C99
-    FP_FAST_FMAF            // C99
-    FP_FAST_FMAL            // C99
-    FP_ILOGB0               // C99
-    FP_ILOGBNAN             // C99
-    MATH_ERRNO              // C99
-    MATH_ERREXCEPT          // C99
-    math_errhandling        // C99
-
-namespace std
-{
-
-Types:
-
-    float_t                 // C99
-    double_t                // C99
-
-// C90
-
-floating_point abs(floating_point x);
-
-floating_point acos (arithmetic x);
-float          acosf(float x);
-long double    acosl(long double x);
-
-floating_point asin (arithmetic x);
-float          asinf(float x);
-long double    asinl(long double x);
-
-floating_point atan (arithmetic x);
-float          atanf(float x);
-long double    atanl(long double x);
-
-floating_point atan2 (arithmetic y, arithmetic x);
-float          atan2f(float y, float x);
-long double    atan2l(long double y, long double x);
-
-floating_point ceil (arithmetic x);
-float          ceilf(float x);
-long double    ceill(long double x);
-
-floating_point cos (arithmetic x);
-float          cosf(float x);
-long double    cosl(long double x);
-
-floating_point cosh (arithmetic x);
-float          coshf(float x);
-long double    coshl(long double x);
-
-floating_point exp (arithmetic x);
-float          expf(float x);
-long double    expl(long double x);
-
-floating_point fabs (arithmetic x);
-float          fabsf(float x);
-long double    fabsl(long double x);
-
-floating_point floor (arithmetic x);
-float          floorf(float x);
-long double    floorl(long double x);
-
-floating_point fmod (arithmetic x, arithmetic y);
-float          fmodf(float x, float y);
-long double    fmodl(long double x, long double y);
-
-floating_point frexp (arithmetic value, int* exp);
-float          frexpf(float value, int* exp);
-long double    frexpl(long double value, int* exp);
-
-floating_point ldexp (arithmetic value, int exp);
-float          ldexpf(float value, int exp);
-long double    ldexpl(long double value, int exp);
-
-floating_point log (arithmetic x);
-float          logf(float x);
-long double    logl(long double x);
-
-floating_point log10 (arithmetic x);
-float          log10f(float x);
-long double    log10l(long double x);
-
-floating_point modf (floating_point value, floating_point* iptr);
-float          modff(float value, float* iptr);
-long double    modfl(long double value, long double* iptr);
-
-floating_point pow (arithmetic x, arithmetic y);
-float          powf(float x, float y);
-long double    powl(long double x, long double y);
-
-floating_point sin (arithmetic x);
-float          sinf(float x);
-long double    sinl(long double x);
-
-floating_point sinh (arithmetic x);
-float          sinhf(float x);
-long double    sinhl(long double x);
-
-floating_point sqrt (arithmetic x);
-float          sqrtf(float x);
-long double    sqrtl(long double x);
-
-floating_point tan (arithmetic x);
-float          tanf(float x);
-long double    tanl(long double x);
-
-floating_point tanh (arithmetic x);
-float          tanhf(float x);
-long double    tanhl(long double x);
-
-//  C99
-
-bool signbit(arithmetic x);
-
-int fpclassify(arithmetic x);
-
-bool isfinite(arithmetic x);
-bool isinf(arithmetic x);
-bool isnan(arithmetic x);
-bool isnormal(arithmetic x);
-
-bool isgreater(arithmetic x, arithmetic y);
-bool isgreaterequal(arithmetic x, arithmetic y);
-bool isless(arithmetic x, arithmetic y);
-bool islessequal(arithmetic x, arithmetic y);
-bool islessgreater(arithmetic x, arithmetic y);
-bool isunordered(arithmetic x, arithmetic y);
-
-floating_point acosh (arithmetic x);
-float          acoshf(float x);
-long double    acoshl(long double x);
-
-floating_point asinh (arithmetic x);
-float          asinhf(float x);
-long double    asinhl(long double x);
-
-floating_point atanh (arithmetic x);
-float          atanhf(float x);
-long double    atanhl(long double x);
-
-floating_point cbrt (arithmetic x);
-float          cbrtf(float x);
-long double    cbrtl(long double x);
-
-floating_point copysign (arithmetic x, arithmetic y);
-float          copysignf(float x, float y);
-long double    copysignl(long double x, long double y);
-
-floating_point erf (arithmetic x);
-float          erff(float x);
-long double    erfl(long double x);
-
-floating_point erfc (arithmetic x);
-float          erfcf(float x);
-long double    erfcl(long double x);
-
-floating_point exp2 (arithmetic x);
-float          exp2f(float x);
-long double    exp2l(long double x);
-
-floating_point expm1 (arithmetic x);
-float          expm1f(float x);
-long double    expm1l(long double x);
-
-floating_point fdim (arithmetic x, arithmetic y);
-float          fdimf(float x, float y);
-long double    fdiml(long double x, long double y);
-
-floating_point fma (arithmetic x, arithmetic y, arithmetic z);
-float          fmaf(float x, float y, float z);
-long double    fmal(long double x, long double y, long double z);
-
-floating_point fmax (arithmetic x, arithmetic y);
-float          fmaxf(float x, float y);
-long double    fmaxl(long double x, long double y);
-
-floating_point fmin (arithmetic x, arithmetic y);
-float          fminf(float x, float y);
-long double    fminl(long double x, long double y);
-
-floating_point hypot (arithmetic x, arithmetic y);
-float          hypotf(float x, float y);
-long double    hypotl(long double x, long double y);
-
-double       hypot(double x, double y, double z);                // C++17
-float        hypot(float x, float y, float z);                   // C++17
-long double  hypot(long double x, long double y, long double z); // C++17
-
-int ilogb (arithmetic x);
-int ilogbf(float x);
-int ilogbl(long double x);
-
-floating_point lgamma (arithmetic x);
-float          lgammaf(float x);
-long double    lgammal(long double x);
-
-long long llrint (arithmetic x);
-long long llrintf(float x);
-long long llrintl(long double x);
-
-long long llround (arithmetic x);
-long long llroundf(float x);
-long long llroundl(long double x);
-
-floating_point log1p (arithmetic x);
-float          log1pf(float x);
-long double    log1pl(long double x);
-
-floating_point log2 (arithmetic x);
-float          log2f(float x);
-long double    log2l(long double x);
-
-floating_point logb (arithmetic x);
-float          logbf(float x);
-long double    logbl(long double x);
-
-long lrint (arithmetic x);
-long lrintf(float x);
-long lrintl(long double x);
-
-long lround (arithmetic x);
-long lroundf(float x);
-long lroundl(long double x);
-
-double      nan (const char* str);
-float       nanf(const char* str);
-long double nanl(const char* str);
-
-floating_point nearbyint (arithmetic x);
-float          nearbyintf(float x);
-long double    nearbyintl(long double x);
-
-floating_point nextafter (arithmetic x, arithmetic y);
-float          nextafterf(float x, float y);
-long double    nextafterl(long double x, long double y);
-
-floating_point nexttoward (arithmetic x, long double y);
-float          nexttowardf(float x, long double y);
-long double    nexttowardl(long double x, long double y);
-
-floating_point remainder (arithmetic x, arithmetic y);
-float          remainderf(float x, float y);
-long double    remainderl(long double x, long double y);
-
-floating_point remquo (arithmetic x, arithmetic y, int* pquo);
-float          remquof(float x, float y, int* pquo);
-long double    remquol(long double x, long double y, int* pquo);
-
-floating_point rint (arithmetic x);
-float          rintf(float x);
-long double    rintl(long double x);
-
-floating_point round (arithmetic x);
-float          roundf(float x);
-long double    roundl(long double x);
-
-floating_point scalbln (arithmetic x, long ex);
-float          scalblnf(float x, long ex);
-long double    scalblnl(long double x, long ex);
-
-floating_point scalbn (arithmetic x, int ex);
-float          scalbnf(float x, int ex);
-long double    scalbnl(long double x, int ex);
-
-floating_point tgamma (arithmetic x);
-float          tgammaf(float x);
-long double    tgammal(long double x);
-
-floating_point trunc (arithmetic x);
-float          truncf(float x);
-long double    truncl(long double x);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <math.h>
-#include <version>
-#include <type_traits>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::signbit;
-using ::fpclassify;
-using ::isfinite;
-using ::isinf;
-using ::isnan;
-using ::isnormal;
-using ::isgreater;
-using ::isgreaterequal;
-using ::isless;
-using ::islessequal;
-using ::islessgreater;
-using ::isunordered;
-using ::isunordered;
-
-using ::float_t;
-using ::double_t;
-
-#ifndef _AIX
-using ::abs;
-#endif
-
-using ::acos;
-using ::acosf;
-using ::asin;
-using ::asinf;
-using ::atan;
-using ::atanf;
-using ::atan2;
-using ::atan2f;
-using ::ceil;
-using ::ceilf;
-using ::cos;
-using ::cosf;
-using ::cosh;
-using ::coshf;
-
-using ::exp;
-using ::expf;
-
-using ::fabs;
-using ::fabsf;
-using ::floor;
-using ::floorf;
-
-using ::fmod;
-using ::fmodf;
-
-using ::frexp;
-using ::frexpf;
-using ::ldexp;
-using ::ldexpf;
-
-using ::log;
-using ::logf;
-
-using ::log10;
-using ::log10f;
-using ::modf;
-using ::modff;
-
-using ::pow;
-using ::powf;
-
-using ::sin;
-using ::sinf;
-using ::sinh;
-using ::sinhf;
-
-using ::sqrt;
-using ::sqrtf;
-using ::tan;
-using ::tanf;
-
-using ::tanh;
-using ::tanhf;
-
-using ::acosh;
-using ::acoshf;
-using ::asinh;
-using ::asinhf;
-using ::atanh;
-using ::atanhf;
-using ::cbrt;
-using ::cbrtf;
-
-using ::copysign;
-using ::copysignf;
-
-using ::erf;
-using ::erff;
-using ::erfc;
-using ::erfcf;
-using ::exp2;
-using ::exp2f;
-using ::expm1;
-using ::expm1f;
-using ::fdim;
-using ::fdimf;
-using ::fmaf;
-using ::fma;
-using ::fmax;
-using ::fmaxf;
-using ::fmin;
-using ::fminf;
-using ::hypot;
-using ::hypotf;
-using ::ilogb;
-using ::ilogbf;
-using ::lgamma;
-using ::lgammaf;
-using ::llrint;
-using ::llrintf;
-using ::llround;
-using ::llroundf;
-using ::log1p;
-using ::log1pf;
-using ::log2;
-using ::log2f;
-using ::logb;
-using ::logbf;
-using ::lrint;
-using ::lrintf;
-using ::lround;
-using ::lroundf;
-
-using ::nan;
-using ::nanf;
-
-using ::nearbyint;
-using ::nearbyintf;
-using ::nextafter;
-using ::nextafterf;
-using ::nexttoward;
-using ::nexttowardf;
-using ::remainder;
-using ::remainderf;
-using ::remquo;
-using ::remquof;
-using ::rint;
-using ::rintf;
-using ::round;
-using ::roundf;
-using ::scalbln;
-using ::scalblnf;
-using ::scalbn;
-using ::scalbnf;
-using ::tgamma;
-using ::tgammaf;
-using ::trunc;
-using ::truncf;
-
-using ::acosl;
-using ::asinl;
-using ::atanl;
-using ::atan2l;
-using ::ceill;
-using ::cosl;
-using ::coshl;
-using ::expl;
-using ::fabsl;
-using ::floorl;
-using ::fmodl;
-using ::frexpl;
-using ::ldexpl;
-using ::logl;
-using ::log10l;
-using ::modfl;
-using ::powl;
-using ::sinl;
-using ::sinhl;
-using ::sqrtl;
-using ::tanl;
-
-using ::tanhl;
-using ::acoshl;
-using ::asinhl;
-using ::atanhl;
-using ::cbrtl;
-
-using ::copysignl;
-
-using ::erfl;
-using ::erfcl;
-using ::exp2l;
-using ::expm1l;
-using ::fdiml;
-using ::fmal;
-using ::fmaxl;
-using ::fminl;
-using ::hypotl;
-using ::ilogbl;
-using ::lgammal;
-using ::llrintl;
-using ::llroundl;
-using ::log1pl;
-using ::log2l;
-using ::logbl;
-using ::lrintl;
-using ::lroundl;
-using ::nanl;
-using ::nearbyintl;
-using ::nextafterl;
-using ::nexttowardl;
-using ::remainderl;
-using ::remquol;
-using ::rintl;
-using ::roundl;
-using ::scalblnl;
-using ::scalbnl;
-using ::tgammal;
-using ::truncl;
-
-#if _LIBCPP_STD_VER > 14
-inline _LIBCPP_INLINE_VISIBILITY float       hypot(       float x,       float y,       float z ) { return sqrt(x*x + y*y + z*z); }
-inline _LIBCPP_INLINE_VISIBILITY double      hypot(      double x,      double y,      double z ) { return sqrt(x*x + y*y + z*z); }
-inline _LIBCPP_INLINE_VISIBILITY long double hypot( long double x, long double y, long double z ) { return sqrt(x*x + y*y + z*z); }
-
-template <class _A1, class _A2, class _A3>
-inline _LIBCPP_INLINE_VISIBILITY
-typename _EnableIf
-<
-    is_arithmetic<_A1>::value &&
-    is_arithmetic<_A2>::value &&
-    is_arithmetic<_A3>::value,
-    __promote<_A1, _A2, _A3>
->::type
-hypot(_A1 __lcpp_x, _A2 __lcpp_y, _A3 __lcpp_z) _NOEXCEPT
-{
-    typedef typename __promote<_A1, _A2, _A3>::type __result_type;
-    static_assert((!(is_same<_A1, __result_type>::value &&
-                     is_same<_A2, __result_type>::value &&
-                     is_same<_A3, __result_type>::value)), "");
-    return hypot((__result_type)__lcpp_x, (__result_type)__lcpp_y, (__result_type)__lcpp_z);
-}
-#endif
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR typename enable_if<is_floating_point<_A1>::value, bool>::type
-__libcpp_isnan_or_builtin(_A1 __lcpp_x) _NOEXCEPT
-{
-#if __has_builtin(__builtin_isnan)
-    return __builtin_isnan(__lcpp_x);
-#else
-    return isnan(__lcpp_x);
-#endif
-}
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR typename enable_if<!is_floating_point<_A1>::value, bool>::type
-__libcpp_isnan_or_builtin(_A1 __lcpp_x) _NOEXCEPT
-{
-    return isnan(__lcpp_x);
-}
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR typename enable_if<is_floating_point<_A1>::value, bool>::type
-__libcpp_isinf_or_builtin(_A1 __lcpp_x) _NOEXCEPT
-{
-#if __has_builtin(__builtin_isinf)
-    return __builtin_isinf(__lcpp_x);
-#else
-    return isinf(__lcpp_x);
-#endif
-}
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR typename enable_if<!is_floating_point<_A1>::value, bool>::type
-__libcpp_isinf_or_builtin(_A1 __lcpp_x) _NOEXCEPT
-{
-    return isinf(__lcpp_x);
-}
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR typename enable_if<is_floating_point<_A1>::value, bool>::type
-__libcpp_isfinite_or_builtin(_A1 __lcpp_x) _NOEXCEPT
-{
-#if __has_builtin(__builtin_isfinite)
-    return __builtin_isfinite(__lcpp_x);
-#else
-    return isfinite(__lcpp_x);
-#endif
-}
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR typename enable_if<!is_floating_point<_A1>::value, bool>::type
-__libcpp_isfinite_or_builtin(_A1 __lcpp_x) _NOEXCEPT
-{
-    return isfinite(__lcpp_x);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <typename _Fp>
-constexpr
-_Fp __lerp(_Fp __a, _Fp __b, _Fp __t) noexcept {
-    if ((__a <= 0 && __b >= 0) || (__a >= 0 && __b <= 0))
-        return __t * __b + (1 - __t) * __a;
-
-    if (__t == 1) return __b;
-    const _Fp __x = __a + __t * (__b - __a);
-    if (__t > 1 == __b > __a)
-    	return __b < __x ? __x : __b;
-    else
-    	return __x < __b ? __x : __b;
-}
-
-constexpr float
-lerp(float __a, float __b, float __t)                   _NOEXCEPT { return __lerp(__a, __b, __t); }
-
-constexpr double
-lerp(double __a, double __b, double __t)                _NOEXCEPT { return __lerp(__a, __b, __t); }
-
-constexpr long double
-lerp(long double __a, long double __b, long double __t) _NOEXCEPT { return __lerp(__a, __b, __t); }
-
-#endif // _LIBCPP_STD_VER > 17
-
-template <class _IntT, class _FloatT,
-    bool _FloatBigger = (numeric_limits<_FloatT>::digits > numeric_limits<_IntT>::digits),
-    int _Bits = (numeric_limits<_IntT>::digits - numeric_limits<_FloatT>::digits)>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR _IntT __max_representable_int_for_float() _NOEXCEPT {
-  static_assert(is_floating_point<_FloatT>::value, "must be a floating point type");
-  static_assert(is_integral<_IntT>::value, "must be an integral type");
-  static_assert(numeric_limits<_FloatT>::radix == 2, "FloatT has incorrect radix");
-  static_assert(is_same<_FloatT, float>::value || is_same<_FloatT, double>::value
-               || is_same<_FloatT,long double>::value, "unsupported floating point type");
-  return _FloatBigger ? numeric_limits<_IntT>::max() :  (numeric_limits<_IntT>::max() >> _Bits << _Bits);
-}
-
-// Convert a floating point number to the specified integral type after
-// clamping to the integral types representable range.
-//
-// The behavior is undefined if `__r` is NaN.
-template <class _IntT, class _RealT>
-_LIBCPP_INLINE_VISIBILITY
-_IntT __clamp_to_integral(_RealT __r) _NOEXCEPT {
-  using _Lim = std::numeric_limits<_IntT>;
-  const _IntT _MaxVal = std::__max_representable_int_for_float<_IntT, _RealT>();
-  if (__r >= ::nextafter(static_cast<_RealT>(_MaxVal), INFINITY)) {
-    return _Lim::max();
-  } else if (__r <= _Lim::lowest()) {
-    return _Lim::min();
-  }
-  return static_cast<_IntT>(__r);
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_CMATH
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/codecvt b/r21/sources/cxx-stl/llvm-libc++/include/codecvt
deleted file mode 100644
index 5ea411e..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/codecvt
+++ /dev/null
@@ -1,549 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- codecvt -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CODECVT
-#define _LIBCPP_CODECVT
-
-/*
-    codecvt synopsis
-
-namespace std
-{
-
-enum codecvt_mode
-{
-    consume_header = 4,
-    generate_header = 2,
-    little_endian = 1
-};
-
-template <class Elem, unsigned long Maxcode = 0x10ffff,
-          codecvt_mode Mode = (codecvt_mode)0>
-class codecvt_utf8
-    : public codecvt<Elem, char, mbstate_t>
-{
-    explicit codecvt_utf8(size_t refs = 0);
-    ~codecvt_utf8();
-};
-
-template <class Elem, unsigned long Maxcode = 0x10ffff,
-          codecvt_mode Mode = (codecvt_mode)0>
-class codecvt_utf16
-    : public codecvt<Elem, char, mbstate_t>
-{
-    explicit codecvt_utf16(size_t refs = 0);
-    ~codecvt_utf16();
-};
-
-template <class Elem, unsigned long Maxcode = 0x10ffff,
-          codecvt_mode Mode = (codecvt_mode)0>
-class codecvt_utf8_utf16
-    : public codecvt<Elem, char, mbstate_t>
-{
-    explicit codecvt_utf8_utf16(size_t refs = 0);
-    ~codecvt_utf8_utf16();
-};
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__locale>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-enum codecvt_mode
-{
-    consume_header = 4,
-    generate_header = 2,
-    little_endian = 1
-};
-
-// codecvt_utf8
-
-template <class _Elem> class __codecvt_utf8;
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8<wchar_t>
-    : public codecvt<wchar_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef wchar_t   intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8<char16_t>
-    : public codecvt<char16_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef char16_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8<char32_t>
-    : public codecvt<char32_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef char32_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf8(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <class _Elem, unsigned long _Maxcode = 0x10ffff,
-          codecvt_mode _Mode = (codecvt_mode)0>
-class _LIBCPP_TEMPLATE_VIS codecvt_utf8
-    : public __codecvt_utf8<_Elem>
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt_utf8(size_t __refs = 0)
-        : __codecvt_utf8<_Elem>(__refs, _Maxcode, _Mode) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~codecvt_utf8() {}
-};
-
-// codecvt_utf16
-
-template <class _Elem, bool _LittleEndian> class __codecvt_utf16;
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, false>
-    : public codecvt<wchar_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef wchar_t   intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<wchar_t, true>
-    : public codecvt<wchar_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef wchar_t   intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, false>
-    : public codecvt<char16_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef char16_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<char16_t, true>
-    : public codecvt<char16_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef char16_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, false>
-    : public codecvt<char32_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef char32_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf16<char32_t, true>
-    : public codecvt<char32_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef char32_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <class _Elem, unsigned long _Maxcode = 0x10ffff,
-          codecvt_mode _Mode = (codecvt_mode)0>
-class _LIBCPP_TEMPLATE_VIS codecvt_utf16
-    : public __codecvt_utf16<_Elem, _Mode & little_endian>
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt_utf16(size_t __refs = 0)
-        : __codecvt_utf16<_Elem, _Mode & little_endian>(__refs, _Maxcode, _Mode) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~codecvt_utf16() {}
-};
-
-// codecvt_utf8_utf16
-
-template <class _Elem> class __codecvt_utf8_utf16;
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<wchar_t>
-    : public codecvt<wchar_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef wchar_t   intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<wchar_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<char32_t>
-    : public codecvt<char32_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef char32_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<char32_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <>
-class _LIBCPP_TYPE_VIS __codecvt_utf8_utf16<char16_t>
-    : public codecvt<char16_t, char, mbstate_t>
-{
-    unsigned long _Maxcode_;
-    codecvt_mode _Mode_;
-public:
-    typedef char16_t  intern_type;
-    typedef char      extern_type;
-    typedef mbstate_t state_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __codecvt_utf8_utf16(size_t __refs, unsigned long _Maxcode,
-                            codecvt_mode _Mode)
-        : codecvt<char16_t, char, mbstate_t>(__refs), _Maxcode_(_Maxcode),
-          _Mode_(_Mode) {}
-protected:
-    virtual result
-        do_out(state_type& __st,
-               const intern_type* __frm, const intern_type* __frm_end, const intern_type*& __frm_nxt,
-               extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual result
-        do_in(state_type& __st,
-              const extern_type* __frm, const extern_type* __frm_end, const extern_type*& __frm_nxt,
-              intern_type* __to, intern_type* __to_end, intern_type*& __to_nxt) const;
-    virtual result
-        do_unshift(state_type& __st,
-                   extern_type* __to, extern_type* __to_end, extern_type*& __to_nxt) const;
-    virtual int do_encoding() const throw();
-    virtual bool do_always_noconv() const throw();
-    virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end,
-                          size_t __mx) const;
-    virtual int do_max_length() const throw();
-};
-
-template <class _Elem, unsigned long _Maxcode = 0x10ffff,
-          codecvt_mode _Mode = (codecvt_mode)0>
-class _LIBCPP_TEMPLATE_VIS codecvt_utf8_utf16
-    : public __codecvt_utf8_utf16<_Elem>
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit codecvt_utf8_utf16(size_t __refs = 0)
-        : __codecvt_utf8_utf16<_Elem>(__refs, _Maxcode, _Mode) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~codecvt_utf8_utf16() {}
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CODECVT
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/complex b/r21/sources/cxx-stl/llvm-libc++/include/complex
deleted file mode 100644
index c168406..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/complex
+++ /dev/null
@@ -1,1495 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- complex ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_COMPLEX
-#define _LIBCPP_COMPLEX
-
-/*
-    complex synopsis
-
-namespace std
-{
-
-template<class T>
-class complex
-{
-public:
-    typedef T value_type;
-
-    complex(const T& re = T(), const T& im = T()); // constexpr in C++14
-    complex(const complex&);  // constexpr in C++14
-    template<class X> complex(const complex<X>&);  // constexpr in C++14
-
-    T real() const; // constexpr in C++14
-    T imag() const; // constexpr in C++14
-
-    void real(T);
-    void imag(T);
-
-    complex<T>& operator= (const T&);
-    complex<T>& operator+=(const T&);
-    complex<T>& operator-=(const T&);
-    complex<T>& operator*=(const T&);
-    complex<T>& operator/=(const T&);
-
-    complex& operator=(const complex&);
-    template<class X> complex<T>& operator= (const complex<X>&);
-    template<class X> complex<T>& operator+=(const complex<X>&);
-    template<class X> complex<T>& operator-=(const complex<X>&);
-    template<class X> complex<T>& operator*=(const complex<X>&);
-    template<class X> complex<T>& operator/=(const complex<X>&);
-};
-
-template<>
-class complex<float>
-{
-public:
-    typedef float value_type;
-
-    constexpr complex(float re = 0.0f, float im = 0.0f);
-    explicit constexpr complex(const complex<double>&);
-    explicit constexpr complex(const complex<long double>&);
-
-    constexpr float real() const;
-    void real(float);
-    constexpr float imag() const;
-    void imag(float);
-
-    complex<float>& operator= (float);
-    complex<float>& operator+=(float);
-    complex<float>& operator-=(float);
-    complex<float>& operator*=(float);
-    complex<float>& operator/=(float);
-
-    complex<float>& operator=(const complex<float>&);
-    template<class X> complex<float>& operator= (const complex<X>&);
-    template<class X> complex<float>& operator+=(const complex<X>&);
-    template<class X> complex<float>& operator-=(const complex<X>&);
-    template<class X> complex<float>& operator*=(const complex<X>&);
-    template<class X> complex<float>& operator/=(const complex<X>&);
-};
-
-template<>
-class complex<double>
-{
-public:
-    typedef double value_type;
-
-    constexpr complex(double re = 0.0, double im = 0.0);
-    constexpr complex(const complex<float>&);
-    explicit constexpr complex(const complex<long double>&);
-
-    constexpr double real() const;
-    void real(double);
-    constexpr double imag() const;
-    void imag(double);
-
-    complex<double>& operator= (double);
-    complex<double>& operator+=(double);
-    complex<double>& operator-=(double);
-    complex<double>& operator*=(double);
-    complex<double>& operator/=(double);
-    complex<double>& operator=(const complex<double>&);
-
-    template<class X> complex<double>& operator= (const complex<X>&);
-    template<class X> complex<double>& operator+=(const complex<X>&);
-    template<class X> complex<double>& operator-=(const complex<X>&);
-    template<class X> complex<double>& operator*=(const complex<X>&);
-    template<class X> complex<double>& operator/=(const complex<X>&);
-};
-
-template<>
-class complex<long double>
-{
-public:
-    typedef long double value_type;
-
-    constexpr complex(long double re = 0.0L, long double im = 0.0L);
-    constexpr complex(const complex<float>&);
-    constexpr complex(const complex<double>&);
-
-    constexpr long double real() const;
-    void real(long double);
-    constexpr long double imag() const;
-    void imag(long double);
-
-    complex<long double>& operator=(const complex<long double>&);
-    complex<long double>& operator= (long double);
-    complex<long double>& operator+=(long double);
-    complex<long double>& operator-=(long double);
-    complex<long double>& operator*=(long double);
-    complex<long double>& operator/=(long double);
-
-    template<class X> complex<long double>& operator= (const complex<X>&);
-    template<class X> complex<long double>& operator+=(const complex<X>&);
-    template<class X> complex<long double>& operator-=(const complex<X>&);
-    template<class X> complex<long double>& operator*=(const complex<X>&);
-    template<class X> complex<long double>& operator/=(const complex<X>&);
-};
-
-// 26.3.6 operators:
-template<class T> complex<T> operator+(const complex<T>&, const complex<T>&);
-template<class T> complex<T> operator+(const complex<T>&, const T&);
-template<class T> complex<T> operator+(const T&, const complex<T>&);
-template<class T> complex<T> operator-(const complex<T>&, const complex<T>&);
-template<class T> complex<T> operator-(const complex<T>&, const T&);
-template<class T> complex<T> operator-(const T&, const complex<T>&);
-template<class T> complex<T> operator*(const complex<T>&, const complex<T>&);
-template<class T> complex<T> operator*(const complex<T>&, const T&);
-template<class T> complex<T> operator*(const T&, const complex<T>&);
-template<class T> complex<T> operator/(const complex<T>&, const complex<T>&);
-template<class T> complex<T> operator/(const complex<T>&, const T&);
-template<class T> complex<T> operator/(const T&, const complex<T>&);
-template<class T> complex<T> operator+(const complex<T>&);
-template<class T> complex<T> operator-(const complex<T>&);
-template<class T> bool operator==(const complex<T>&, const complex<T>&); // constexpr in C++14
-template<class T> bool operator==(const complex<T>&, const T&); // constexpr in C++14
-template<class T> bool operator==(const T&, const complex<T>&); // constexpr in C++14
-template<class T> bool operator!=(const complex<T>&, const complex<T>&); // constexpr in C++14
-template<class T> bool operator!=(const complex<T>&, const T&); // constexpr in C++14
-template<class T> bool operator!=(const T&, const complex<T>&); // constexpr in C++14
-
-template<class T, class charT, class traits>
-  basic_istream<charT, traits>&
-  operator>>(basic_istream<charT, traits>&, complex<T>&);
-template<class T, class charT, class traits>
-  basic_ostream<charT, traits>&
-  operator<<(basic_ostream<charT, traits>&, const complex<T>&);
-
-// 26.3.7 values:
-
-template<class T>              T real(const complex<T>&); // constexpr in C++14
-                     long double real(long double);       // constexpr in C++14
-                          double real(double);            // constexpr in C++14
-template<Integral T>      double real(T);                 // constexpr in C++14
-                          float  real(float);             // constexpr in C++14
-
-template<class T>              T imag(const complex<T>&); // constexpr in C++14
-                     long double imag(long double);       // constexpr in C++14
-                          double imag(double);            // constexpr in C++14
-template<Integral T>      double imag(T);                 // constexpr in C++14
-                          float  imag(float);             // constexpr in C++14
-
-template<class T> T abs(const complex<T>&);
-
-template<class T>              T arg(const complex<T>&);
-                     long double arg(long double);
-                          double arg(double);
-template<Integral T>      double arg(T);
-                          float  arg(float);
-
-template<class T>              T norm(const complex<T>&);
-                     long double norm(long double);
-                          double norm(double);
-template<Integral T>      double norm(T);
-                          float  norm(float);
-
-template<class T>      complex<T>           conj(const complex<T>&);
-                       complex<long double> conj(long double);
-                       complex<double>      conj(double);
-template<Integral T>   complex<double>      conj(T);
-                       complex<float>       conj(float);
-
-template<class T>    complex<T>           proj(const complex<T>&);
-                     complex<long double> proj(long double);
-                     complex<double>      proj(double);
-template<Integral T> complex<double>      proj(T);
-                     complex<float>       proj(float);
-
-template<class T> complex<T> polar(const T&, const T& = T());
-
-// 26.3.8 transcendentals:
-template<class T> complex<T> acos(const complex<T>&);
-template<class T> complex<T> asin(const complex<T>&);
-template<class T> complex<T> atan(const complex<T>&);
-template<class T> complex<T> acosh(const complex<T>&);
-template<class T> complex<T> asinh(const complex<T>&);
-template<class T> complex<T> atanh(const complex<T>&);
-template<class T> complex<T> cos (const complex<T>&);
-template<class T> complex<T> cosh (const complex<T>&);
-template<class T> complex<T> exp (const complex<T>&);
-template<class T> complex<T> log (const complex<T>&);
-template<class T> complex<T> log10(const complex<T>&);
-
-template<class T> complex<T> pow(const complex<T>&, const T&);
-template<class T> complex<T> pow(const complex<T>&, const complex<T>&);
-template<class T> complex<T> pow(const T&, const complex<T>&);
-
-template<class T> complex<T> sin (const complex<T>&);
-template<class T> complex<T> sinh (const complex<T>&);
-template<class T> complex<T> sqrt (const complex<T>&);
-template<class T> complex<T> tan (const complex<T>&);
-template<class T> complex<T> tanh (const complex<T>&);
-
-template<class T, class charT, class traits>
-  basic_istream<charT, traits>&
-  operator>>(basic_istream<charT, traits>& is, complex<T>& x);
-
-template<class T, class charT, class traits>
-  basic_ostream<charT, traits>&
-  operator<<(basic_ostream<charT, traits>& o, const complex<T>& x);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <type_traits>
-#include <stdexcept>
-#include <cmath>
-#include <sstream>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template<class _Tp> class _LIBCPP_TEMPLATE_VIS complex;
-
-template<class _Tp> complex<_Tp> operator*(const complex<_Tp>& __z, const complex<_Tp>& __w);
-template<class _Tp> complex<_Tp> operator/(const complex<_Tp>& __x, const complex<_Tp>& __y);
-
-template<class _Tp>
-class _LIBCPP_TEMPLATE_VIS complex
-{
-public:
-    typedef _Tp value_type;
-private:
-    value_type __re_;
-    value_type __im_;
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    complex(const value_type& __re = value_type(), const value_type& __im = value_type())
-        : __re_(__re), __im_(__im) {}
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    complex(const complex<_Xp>& __c)
-        : __re_(__c.real()), __im_(__c.imag()) {}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 value_type real() const {return __re_;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 value_type imag() const {return __im_;}
-
-    _LIBCPP_INLINE_VISIBILITY void real(value_type __re) {__re_ = __re;}
-    _LIBCPP_INLINE_VISIBILITY void imag(value_type __im) {__im_ = __im;}
-
-    _LIBCPP_INLINE_VISIBILITY complex& operator= (const value_type& __re)
-        {__re_ = __re; __im_ = value_type(); return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator+=(const value_type& __re) {__re_ += __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator-=(const value_type& __re) {__re_ -= __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator*=(const value_type& __re) {__re_ *= __re; __im_ *= __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator/=(const value_type& __re) {__re_ /= __re; __im_ /= __re; return *this;}
-
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator= (const complex<_Xp>& __c)
-        {
-            __re_ = __c.real();
-            __im_ = __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator+=(const complex<_Xp>& __c)
-        {
-            __re_ += __c.real();
-            __im_ += __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator-=(const complex<_Xp>& __c)
-        {
-            __re_ -= __c.real();
-            __im_ -= __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator*=(const complex<_Xp>& __c)
-        {
-            *this = *this * complex(__c.real(), __c.imag());
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator/=(const complex<_Xp>& __c)
-        {
-            *this = *this / complex(__c.real(), __c.imag());
-            return *this;
-        }
-};
-
-template<> class _LIBCPP_TEMPLATE_VIS complex<double>;
-template<> class _LIBCPP_TEMPLATE_VIS complex<long double>;
-
-template<>
-class _LIBCPP_TEMPLATE_VIS complex<float>
-{
-    float __re_;
-    float __im_;
-public:
-    typedef float value_type;
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(float __re = 0.0f, float __im = 0.0f)
-        : __re_(__re), __im_(__im) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit _LIBCPP_CONSTEXPR complex(const complex<double>& __c);
-    _LIBCPP_INLINE_VISIBILITY
-    explicit _LIBCPP_CONSTEXPR complex(const complex<long double>& __c);
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR float real() const {return __re_;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR float imag() const {return __im_;}
-
-    _LIBCPP_INLINE_VISIBILITY void real(value_type __re) {__re_ = __re;}
-    _LIBCPP_INLINE_VISIBILITY void imag(value_type __im) {__im_ = __im;}
-
-    _LIBCPP_INLINE_VISIBILITY complex& operator= (float __re)
-        {__re_ = __re; __im_ = value_type(); return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator+=(float __re) {__re_ += __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator-=(float __re) {__re_ -= __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator*=(float __re) {__re_ *= __re; __im_ *= __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator/=(float __re) {__re_ /= __re; __im_ /= __re; return *this;}
-
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator= (const complex<_Xp>& __c)
-        {
-            __re_ = __c.real();
-            __im_ = __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator+=(const complex<_Xp>& __c)
-        {
-            __re_ += __c.real();
-            __im_ += __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator-=(const complex<_Xp>& __c)
-        {
-            __re_ -= __c.real();
-            __im_ -= __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator*=(const complex<_Xp>& __c)
-        {
-            *this = *this * complex(__c.real(), __c.imag());
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator/=(const complex<_Xp>& __c)
-        {
-            *this = *this / complex(__c.real(), __c.imag());
-            return *this;
-        }
-};
-
-template<>
-class _LIBCPP_TEMPLATE_VIS complex<double>
-{
-    double __re_;
-    double __im_;
-public:
-    typedef double value_type;
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(double __re = 0.0, double __im = 0.0)
-        : __re_(__re), __im_(__im) {}
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR complex(const complex<float>& __c);
-    _LIBCPP_INLINE_VISIBILITY
-    explicit _LIBCPP_CONSTEXPR complex(const complex<long double>& __c);
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR double real() const {return __re_;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR double imag() const {return __im_;}
-
-    _LIBCPP_INLINE_VISIBILITY void real(value_type __re) {__re_ = __re;}
-    _LIBCPP_INLINE_VISIBILITY void imag(value_type __im) {__im_ = __im;}
-
-    _LIBCPP_INLINE_VISIBILITY complex& operator= (double __re)
-        {__re_ = __re; __im_ = value_type(); return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator+=(double __re) {__re_ += __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator-=(double __re) {__re_ -= __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator*=(double __re) {__re_ *= __re; __im_ *= __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator/=(double __re) {__re_ /= __re; __im_ /= __re; return *this;}
-
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator= (const complex<_Xp>& __c)
-        {
-            __re_ = __c.real();
-            __im_ = __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator+=(const complex<_Xp>& __c)
-        {
-            __re_ += __c.real();
-            __im_ += __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator-=(const complex<_Xp>& __c)
-        {
-            __re_ -= __c.real();
-            __im_ -= __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator*=(const complex<_Xp>& __c)
-        {
-            *this = *this * complex(__c.real(), __c.imag());
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator/=(const complex<_Xp>& __c)
-        {
-            *this = *this / complex(__c.real(), __c.imag());
-            return *this;
-        }
-};
-
-template<>
-class _LIBCPP_TEMPLATE_VIS complex<long double>
-{
-    long double __re_;
-    long double __im_;
-public:
-    typedef long double value_type;
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(long double __re = 0.0L, long double __im = 0.0L)
-        : __re_(__re), __im_(__im) {}
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR complex(const complex<float>& __c);
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR complex(const complex<double>& __c);
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR long double real() const {return __re_;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR long double imag() const {return __im_;}
-
-    _LIBCPP_INLINE_VISIBILITY void real(value_type __re) {__re_ = __re;}
-    _LIBCPP_INLINE_VISIBILITY void imag(value_type __im) {__im_ = __im;}
-
-    _LIBCPP_INLINE_VISIBILITY complex& operator= (long double __re)
-        {__re_ = __re; __im_ = value_type(); return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator+=(long double __re) {__re_ += __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator-=(long double __re) {__re_ -= __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator*=(long double __re) {__re_ *= __re; __im_ *= __re; return *this;}
-    _LIBCPP_INLINE_VISIBILITY complex& operator/=(long double __re) {__re_ /= __re; __im_ /= __re; return *this;}
-
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator= (const complex<_Xp>& __c)
-        {
-            __re_ = __c.real();
-            __im_ = __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator+=(const complex<_Xp>& __c)
-        {
-            __re_ += __c.real();
-            __im_ += __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator-=(const complex<_Xp>& __c)
-        {
-            __re_ -= __c.real();
-            __im_ -= __c.imag();
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator*=(const complex<_Xp>& __c)
-        {
-            *this = *this * complex(__c.real(), __c.imag());
-            return *this;
-        }
-    template<class _Xp> _LIBCPP_INLINE_VISIBILITY complex& operator/=(const complex<_Xp>& __c)
-        {
-            *this = *this / complex(__c.real(), __c.imag());
-            return *this;
-        }
-};
-
-inline
-_LIBCPP_CONSTEXPR
-complex<float>::complex(const complex<double>& __c)
-    : __re_(__c.real()), __im_(__c.imag()) {}
-
-inline
-_LIBCPP_CONSTEXPR
-complex<float>::complex(const complex<long double>& __c)
-    : __re_(__c.real()), __im_(__c.imag()) {}
-
-inline
-_LIBCPP_CONSTEXPR
-complex<double>::complex(const complex<float>& __c)
-    : __re_(__c.real()), __im_(__c.imag()) {}
-
-inline
-_LIBCPP_CONSTEXPR
-complex<double>::complex(const complex<long double>& __c)
-    : __re_(__c.real()), __im_(__c.imag()) {}
-
-inline
-_LIBCPP_CONSTEXPR
-complex<long double>::complex(const complex<float>& __c)
-    : __re_(__c.real()), __im_(__c.imag()) {}
-
-inline
-_LIBCPP_CONSTEXPR
-complex<long double>::complex(const complex<double>& __c)
-    : __re_(__c.real()), __im_(__c.imag()) {}
-
-// 26.3.6 operators:
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator+(const complex<_Tp>& __x, const complex<_Tp>& __y)
-{
-    complex<_Tp> __t(__x);
-    __t += __y;
-    return __t;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator+(const complex<_Tp>& __x, const _Tp& __y)
-{
-    complex<_Tp> __t(__x);
-    __t += __y;
-    return __t;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator+(const _Tp& __x, const complex<_Tp>& __y)
-{
-    complex<_Tp> __t(__y);
-    __t += __x;
-    return __t;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator-(const complex<_Tp>& __x, const complex<_Tp>& __y)
-{
-    complex<_Tp> __t(__x);
-    __t -= __y;
-    return __t;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator-(const complex<_Tp>& __x, const _Tp& __y)
-{
-    complex<_Tp> __t(__x);
-    __t -= __y;
-    return __t;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator-(const _Tp& __x, const complex<_Tp>& __y)
-{
-    complex<_Tp> __t(-__y);
-    __t += __x;
-    return __t;
-}
-
-template<class _Tp>
-complex<_Tp>
-operator*(const complex<_Tp>& __z, const complex<_Tp>& __w)
-{
-    _Tp __a = __z.real();
-    _Tp __b = __z.imag();
-    _Tp __c = __w.real();
-    _Tp __d = __w.imag();
-    _Tp __ac = __a * __c;
-    _Tp __bd = __b * __d;
-    _Tp __ad = __a * __d;
-    _Tp __bc = __b * __c;
-    _Tp __x = __ac - __bd;
-    _Tp __y = __ad + __bc;
-    if (__libcpp_isnan_or_builtin(__x) && __libcpp_isnan_or_builtin(__y))
-    {
-        bool __recalc = false;
-        if (__libcpp_isinf_or_builtin(__a) || __libcpp_isinf_or_builtin(__b))
-        {
-            __a = copysign(__libcpp_isinf_or_builtin(__a) ? _Tp(1) : _Tp(0), __a);
-            __b = copysign(__libcpp_isinf_or_builtin(__b) ? _Tp(1) : _Tp(0), __b);
-            if (__libcpp_isnan_or_builtin(__c))
-                __c = copysign(_Tp(0), __c);
-            if (__libcpp_isnan_or_builtin(__d))
-                __d = copysign(_Tp(0), __d);
-            __recalc = true;
-        }
-        if (__libcpp_isinf_or_builtin(__c) || __libcpp_isinf_or_builtin(__d))
-        {
-            __c = copysign(__libcpp_isinf_or_builtin(__c) ? _Tp(1) : _Tp(0), __c);
-            __d = copysign(__libcpp_isinf_or_builtin(__d) ? _Tp(1) : _Tp(0), __d);
-            if (__libcpp_isnan_or_builtin(__a))
-                __a = copysign(_Tp(0), __a);
-            if (__libcpp_isnan_or_builtin(__b))
-                __b = copysign(_Tp(0), __b);
-            __recalc = true;
-        }
-        if (!__recalc && (__libcpp_isinf_or_builtin(__ac) || __libcpp_isinf_or_builtin(__bd) ||
-                          __libcpp_isinf_or_builtin(__ad) || __libcpp_isinf_or_builtin(__bc)))
-        {
-            if (__libcpp_isnan_or_builtin(__a))
-                __a = copysign(_Tp(0), __a);
-            if (__libcpp_isnan_or_builtin(__b))
-                __b = copysign(_Tp(0), __b);
-            if (__libcpp_isnan_or_builtin(__c))
-                __c = copysign(_Tp(0), __c);
-            if (__libcpp_isnan_or_builtin(__d))
-                __d = copysign(_Tp(0), __d);
-            __recalc = true;
-        }
-        if (__recalc)
-        {
-            __x = _Tp(INFINITY) * (__a * __c - __b * __d);
-            __y = _Tp(INFINITY) * (__a * __d + __b * __c);
-        }
-    }
-    return complex<_Tp>(__x, __y);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator*(const complex<_Tp>& __x, const _Tp& __y)
-{
-    complex<_Tp> __t(__x);
-    __t *= __y;
-    return __t;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator*(const _Tp& __x, const complex<_Tp>& __y)
-{
-    complex<_Tp> __t(__y);
-    __t *= __x;
-    return __t;
-}
-
-template<class _Tp>
-complex<_Tp>
-operator/(const complex<_Tp>& __z, const complex<_Tp>& __w)
-{
-    int __ilogbw = 0;
-    _Tp __a = __z.real();
-    _Tp __b = __z.imag();
-    _Tp __c = __w.real();
-    _Tp __d = __w.imag();
-    _Tp __logbw = logb(fmax(fabs(__c), fabs(__d)));
-    if (__libcpp_isfinite_or_builtin(__logbw))
-    {
-        __ilogbw = static_cast<int>(__logbw);
-        __c = scalbn(__c, -__ilogbw);
-        __d = scalbn(__d, -__ilogbw);
-    }
-    _Tp __denom = __c * __c + __d * __d;
-    _Tp __x = scalbn((__a * __c + __b * __d) / __denom, -__ilogbw);
-    _Tp __y = scalbn((__b * __c - __a * __d) / __denom, -__ilogbw);
-    if (__libcpp_isnan_or_builtin(__x) && __libcpp_isnan_or_builtin(__y))
-    {
-        if ((__denom == _Tp(0)) && (!__libcpp_isnan_or_builtin(__a) || !__libcpp_isnan_or_builtin(__b)))
-        {
-            __x = copysign(_Tp(INFINITY), __c) * __a;
-            __y = copysign(_Tp(INFINITY), __c) * __b;
-        }
-        else if ((__libcpp_isinf_or_builtin(__a) || __libcpp_isinf_or_builtin(__b)) && __libcpp_isfinite_or_builtin(__c) && __libcpp_isfinite_or_builtin(__d))
-        {
-            __a = copysign(__libcpp_isinf_or_builtin(__a) ? _Tp(1) : _Tp(0), __a);
-            __b = copysign(__libcpp_isinf_or_builtin(__b) ? _Tp(1) : _Tp(0), __b);
-            __x = _Tp(INFINITY) * (__a * __c + __b * __d);
-            __y = _Tp(INFINITY) * (__b * __c - __a * __d);
-        }
-        else if (__libcpp_isinf_or_builtin(__logbw) && __logbw > _Tp(0) && __libcpp_isfinite_or_builtin(__a) && __libcpp_isfinite_or_builtin(__b))
-        {
-            __c = copysign(__libcpp_isinf_or_builtin(__c) ? _Tp(1) : _Tp(0), __c);
-            __d = copysign(__libcpp_isinf_or_builtin(__d) ? _Tp(1) : _Tp(0), __d);
-            __x = _Tp(0) * (__a * __c + __b * __d);
-            __y = _Tp(0) * (__b * __c - __a * __d);
-        }
-    }
-    return complex<_Tp>(__x, __y);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator/(const complex<_Tp>& __x, const _Tp& __y)
-{
-    return complex<_Tp>(__x.real() / __y, __x.imag() / __y);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator/(const _Tp& __x, const complex<_Tp>& __y)
-{
-    complex<_Tp> __t(__x);
-    __t /= __y;
-    return __t;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator+(const complex<_Tp>& __x)
-{
-    return __x;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-operator-(const complex<_Tp>& __x)
-{
-    return complex<_Tp>(-__x.real(), -__x.imag());
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator==(const complex<_Tp>& __x, const complex<_Tp>& __y)
-{
-    return __x.real() == __y.real() && __x.imag() == __y.imag();
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator==(const complex<_Tp>& __x, const _Tp& __y)
-{
-    return __x.real() == __y && __x.imag() == 0;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator==(const _Tp& __x, const complex<_Tp>& __y)
-{
-    return __x == __y.real() && 0 == __y.imag();
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y)
-{
-    return !(__x == __y);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator!=(const complex<_Tp>& __x, const _Tp& __y)
-{
-    return !(__x == __y);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator!=(const _Tp& __x, const complex<_Tp>& __y)
-{
-    return !(__x == __y);
-}
-
-// 26.3.7 values:
-
-template <class _Tp, bool = is_integral<_Tp>::value,
-                     bool = is_floating_point<_Tp>::value
-                     >
-struct __libcpp_complex_overload_traits {};
-
-// Integral Types
-template <class _Tp>
-struct __libcpp_complex_overload_traits<_Tp, true, false>
-{
-    typedef double _ValueType;
-    typedef complex<double> _ComplexType;
-};
-
-// Floating point types
-template <class _Tp>
-struct __libcpp_complex_overload_traits<_Tp, false, true>
-{
-    typedef _Tp _ValueType;
-    typedef complex<_Tp> _ComplexType;
-};
-
-// real
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp
-real(const complex<_Tp>& __c)
-{
-    return __c.real();
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename __libcpp_complex_overload_traits<_Tp>::_ValueType
-real(_Tp __re)
-{
-    return __re;
-}
-
-// imag
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp
-imag(const complex<_Tp>& __c)
-{
-    return __c.imag();
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename __libcpp_complex_overload_traits<_Tp>::_ValueType
-imag(_Tp)
-{
-    return 0;
-}
-
-// abs
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-abs(const complex<_Tp>& __c)
-{
-    return hypot(__c.real(), __c.imag());
-}
-
-// arg
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-arg(const complex<_Tp>& __c)
-{
-    return atan2(__c.imag(), __c.real());
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if<
-    is_same<_Tp, long double>::value,
-    long double
->::type
-arg(_Tp __re)
-{
-    return atan2l(0.L, __re);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value || is_same<_Tp, double>::value,
-    double
->::type
-arg(_Tp __re)
-{
-    return atan2(0., __re);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if<
-    is_same<_Tp, float>::value,
-    float
->::type
-arg(_Tp __re)
-{
-    return atan2f(0.F, __re);
-}
-
-// norm
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-norm(const complex<_Tp>& __c)
-{
-    if (__libcpp_isinf_or_builtin(__c.real()))
-        return abs(__c.real());
-    if (__libcpp_isinf_or_builtin(__c.imag()))
-        return abs(__c.imag());
-    return __c.real() * __c.real() + __c.imag() * __c.imag();
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __libcpp_complex_overload_traits<_Tp>::_ValueType
-norm(_Tp __re)
-{
-    typedef typename __libcpp_complex_overload_traits<_Tp>::_ValueType _ValueType;
-    return static_cast<_ValueType>(__re) * __re;
-}
-
-// conj
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-conj(const complex<_Tp>& __c)
-{
-    return complex<_Tp>(__c.real(), -__c.imag());
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __libcpp_complex_overload_traits<_Tp>::_ComplexType
-conj(_Tp __re)
-{
-    typedef typename __libcpp_complex_overload_traits<_Tp>::_ComplexType _ComplexType;
-    return _ComplexType(__re);
-}
-
-
-
-// proj
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-proj(const complex<_Tp>& __c)
-{
-    std::complex<_Tp> __r = __c;
-    if (__libcpp_isinf_or_builtin(__c.real()) || __libcpp_isinf_or_builtin(__c.imag()))
-        __r = complex<_Tp>(INFINITY, copysign(_Tp(0), __c.imag()));
-    return __r;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_floating_point<_Tp>::value,
-    typename __libcpp_complex_overload_traits<_Tp>::_ComplexType
->::type
-proj(_Tp __re)
-{
-    if (__libcpp_isinf_or_builtin(__re))
-        __re = abs(__re);
-    return complex<_Tp>(__re);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_integral<_Tp>::value,
-    typename __libcpp_complex_overload_traits<_Tp>::_ComplexType
->::type
-proj(_Tp __re)
-{
-    typedef typename __libcpp_complex_overload_traits<_Tp>::_ComplexType _ComplexType;
-    return _ComplexType(__re);
-}
-
-// polar
-
-template<class _Tp>
-complex<_Tp>
-polar(const _Tp& __rho, const _Tp& __theta = _Tp())
-{
-    if (__libcpp_isnan_or_builtin(__rho) || signbit(__rho))
-        return complex<_Tp>(_Tp(NAN), _Tp(NAN));
-    if (__libcpp_isnan_or_builtin(__theta))
-    {
-        if (__libcpp_isinf_or_builtin(__rho))
-            return complex<_Tp>(__rho, __theta);
-        return complex<_Tp>(__theta, __theta);
-    }
-    if (__libcpp_isinf_or_builtin(__theta))
-    {
-        if (__libcpp_isinf_or_builtin(__rho))
-            return complex<_Tp>(__rho, _Tp(NAN));
-        return complex<_Tp>(_Tp(NAN), _Tp(NAN));
-    }
-    _Tp __x = __rho * cos(__theta);
-    if (__libcpp_isnan_or_builtin(__x))
-        __x = 0;
-    _Tp __y = __rho * sin(__theta);
-    if (__libcpp_isnan_or_builtin(__y))
-        __y = 0;
-    return complex<_Tp>(__x, __y);
-}
-
-// log
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-log(const complex<_Tp>& __x)
-{
-    return complex<_Tp>(log(abs(__x)), arg(__x));
-}
-
-// log10
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-log10(const complex<_Tp>& __x)
-{
-    return log(__x) / log(_Tp(10));
-}
-
-// sqrt
-
-template<class _Tp>
-complex<_Tp>
-sqrt(const complex<_Tp>& __x)
-{
-    if (__libcpp_isinf_or_builtin(__x.imag()))
-        return complex<_Tp>(_Tp(INFINITY), __x.imag());
-    if (__libcpp_isinf_or_builtin(__x.real()))
-    {
-        if (__x.real() > _Tp(0))
-            return complex<_Tp>(__x.real(), __libcpp_isnan_or_builtin(__x.imag()) ? __x.imag() : copysign(_Tp(0), __x.imag()));
-        return complex<_Tp>(__libcpp_isnan_or_builtin(__x.imag()) ? __x.imag() : _Tp(0), copysign(__x.real(), __x.imag()));
-    }
-    return polar(sqrt(abs(__x)), arg(__x) / _Tp(2));
-}
-
-// exp
-
-template<class _Tp>
-complex<_Tp>
-exp(const complex<_Tp>& __x)
-{
-    _Tp __i = __x.imag();
-    if (__libcpp_isinf_or_builtin(__x.real()))
-    {
-        if (__x.real() < _Tp(0))
-        {
-            if (!__libcpp_isfinite_or_builtin(__i))
-                __i = _Tp(1);
-        }
-        else if (__i == 0 || !__libcpp_isfinite_or_builtin(__i))
-        {
-            if (__libcpp_isinf_or_builtin(__i))
-                __i = _Tp(NAN);
-            return complex<_Tp>(__x.real(), __i);
-        }
-    }
-    else if (__libcpp_isnan_or_builtin(__x.real()) && __x.imag() == 0)
-        return __x;
-    _Tp __e = exp(__x.real());
-    return complex<_Tp>(__e * cos(__i), __e * sin(__i));
-}
-
-// pow
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
-{
-    return exp(__y * log(__x));
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<typename __promote<_Tp, _Up>::type>
-pow(const complex<_Tp>& __x, const complex<_Up>& __y)
-{
-    typedef complex<typename __promote<_Tp, _Up>::type> result_type;
-    return _VSTD::pow(result_type(__x), result_type(__y));
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_arithmetic<_Up>::value,
-    complex<typename __promote<_Tp, _Up>::type>
->::type
-pow(const complex<_Tp>& __x, const _Up& __y)
-{
-    typedef complex<typename __promote<_Tp, _Up>::type> result_type;
-    return _VSTD::pow(result_type(__x), result_type(__y));
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_arithmetic<_Tp>::value,
-    complex<typename __promote<_Tp, _Up>::type>
->::type
-pow(const _Tp& __x, const complex<_Up>& __y)
-{
-    typedef complex<typename __promote<_Tp, _Up>::type> result_type;
-    return _VSTD::pow(result_type(__x), result_type(__y));
-}
-
-// __sqr, computes pow(x, 2)
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-__sqr(const complex<_Tp>& __x)
-{
-    return complex<_Tp>((__x.real() - __x.imag()) * (__x.real() + __x.imag()),
-                        _Tp(2) * __x.real() * __x.imag());
-}
-
-// asinh
-
-template<class _Tp>
-complex<_Tp>
-asinh(const complex<_Tp>& __x)
-{
-    const _Tp __pi(atan2(+0., -0.));
-    if (__libcpp_isinf_or_builtin(__x.real()))
-    {
-        if (__libcpp_isnan_or_builtin(__x.imag()))
-            return __x;
-        if (__libcpp_isinf_or_builtin(__x.imag()))
-            return complex<_Tp>(__x.real(), copysign(__pi * _Tp(0.25), __x.imag()));
-        return complex<_Tp>(__x.real(), copysign(_Tp(0), __x.imag()));
-    }
-    if (__libcpp_isnan_or_builtin(__x.real()))
-    {
-        if (__libcpp_isinf_or_builtin(__x.imag()))
-            return complex<_Tp>(__x.imag(), __x.real());
-        if (__x.imag() == 0)
-            return __x;
-        return complex<_Tp>(__x.real(), __x.real());
-    }
-    if (__libcpp_isinf_or_builtin(__x.imag()))
-        return complex<_Tp>(copysign(__x.imag(), __x.real()), copysign(__pi/_Tp(2), __x.imag()));
-    complex<_Tp> __z = log(__x + sqrt(__sqr(__x) + _Tp(1)));
-    return complex<_Tp>(copysign(__z.real(), __x.real()), copysign(__z.imag(), __x.imag()));
-}
-
-// acosh
-
-template<class _Tp>
-complex<_Tp>
-acosh(const complex<_Tp>& __x)
-{
-    const _Tp __pi(atan2(+0., -0.));
-    if (__libcpp_isinf_or_builtin(__x.real()))
-    {
-        if (__libcpp_isnan_or_builtin(__x.imag()))
-            return complex<_Tp>(abs(__x.real()), __x.imag());
-        if (__libcpp_isinf_or_builtin(__x.imag()))
-        {
-            if (__x.real() > 0)
-                return complex<_Tp>(__x.real(), copysign(__pi * _Tp(0.25), __x.imag()));
-            else
-                return complex<_Tp>(-__x.real(), copysign(__pi * _Tp(0.75), __x.imag()));
-        }
-        if (__x.real() < 0)
-            return complex<_Tp>(-__x.real(), copysign(__pi, __x.imag()));
-        return complex<_Tp>(__x.real(), copysign(_Tp(0), __x.imag()));
-    }
-    if (__libcpp_isnan_or_builtin(__x.real()))
-    {
-        if (__libcpp_isinf_or_builtin(__x.imag()))
-            return complex<_Tp>(abs(__x.imag()), __x.real());
-        return complex<_Tp>(__x.real(), __x.real());
-    }
-    if (__libcpp_isinf_or_builtin(__x.imag()))
-        return complex<_Tp>(abs(__x.imag()), copysign(__pi/_Tp(2), __x.imag()));
-    complex<_Tp> __z = log(__x + sqrt(__sqr(__x) - _Tp(1)));
-    return complex<_Tp>(copysign(__z.real(), _Tp(0)), copysign(__z.imag(), __x.imag()));
-}
-
-// atanh
-
-template<class _Tp>
-complex<_Tp>
-atanh(const complex<_Tp>& __x)
-{
-    const _Tp __pi(atan2(+0., -0.));
-    if (__libcpp_isinf_or_builtin(__x.imag()))
-    {
-        return complex<_Tp>(copysign(_Tp(0), __x.real()), copysign(__pi/_Tp(2), __x.imag()));
-    }
-    if (__libcpp_isnan_or_builtin(__x.imag()))
-    {
-        if (__libcpp_isinf_or_builtin(__x.real()) || __x.real() == 0)
-            return complex<_Tp>(copysign(_Tp(0), __x.real()), __x.imag());
-        return complex<_Tp>(__x.imag(), __x.imag());
-    }
-    if (__libcpp_isnan_or_builtin(__x.real()))
-    {
-        return complex<_Tp>(__x.real(), __x.real());
-    }
-    if (__libcpp_isinf_or_builtin(__x.real()))
-    {
-        return complex<_Tp>(copysign(_Tp(0), __x.real()), copysign(__pi/_Tp(2), __x.imag()));
-    }
-    if (abs(__x.real()) == _Tp(1) && __x.imag() == _Tp(0))
-    {
-        return complex<_Tp>(copysign(_Tp(INFINITY), __x.real()), copysign(_Tp(0), __x.imag()));
-    }
-    complex<_Tp> __z = log((_Tp(1) + __x) / (_Tp(1) - __x)) / _Tp(2);
-    return complex<_Tp>(copysign(__z.real(), __x.real()), copysign(__z.imag(), __x.imag()));
-}
-
-// sinh
-
-template<class _Tp>
-complex<_Tp>
-sinh(const complex<_Tp>& __x)
-{
-    if (__libcpp_isinf_or_builtin(__x.real()) && !__libcpp_isfinite_or_builtin(__x.imag()))
-        return complex<_Tp>(__x.real(), _Tp(NAN));
-    if (__x.real() == 0 && !__libcpp_isfinite_or_builtin(__x.imag()))
-        return complex<_Tp>(__x.real(), _Tp(NAN));
-    if (__x.imag() == 0 && !__libcpp_isfinite_or_builtin(__x.real()))
-        return __x;
-    return complex<_Tp>(sinh(__x.real()) * cos(__x.imag()), cosh(__x.real()) * sin(__x.imag()));
-}
-
-// cosh
-
-template<class _Tp>
-complex<_Tp>
-cosh(const complex<_Tp>& __x)
-{
-    if (__libcpp_isinf_or_builtin(__x.real()) && !__libcpp_isfinite_or_builtin(__x.imag()))
-        return complex<_Tp>(abs(__x.real()), _Tp(NAN));
-    if (__x.real() == 0 && !__libcpp_isfinite_or_builtin(__x.imag()))
-        return complex<_Tp>(_Tp(NAN), __x.real());
-    if (__x.real() == 0 && __x.imag() == 0)
-        return complex<_Tp>(_Tp(1), __x.imag());
-    if (__x.imag() == 0 && !__libcpp_isfinite_or_builtin(__x.real()))
-        return complex<_Tp>(abs(__x.real()), __x.imag());
-    return complex<_Tp>(cosh(__x.real()) * cos(__x.imag()), sinh(__x.real()) * sin(__x.imag()));
-}
-
-// tanh
-
-template<class _Tp>
-complex<_Tp>
-tanh(const complex<_Tp>& __x)
-{
-    if (__libcpp_isinf_or_builtin(__x.real()))
-    {
-        if (!__libcpp_isfinite_or_builtin(__x.imag()))
-            return complex<_Tp>(_Tp(1), _Tp(0));
-        return complex<_Tp>(_Tp(1), copysign(_Tp(0), sin(_Tp(2) * __x.imag())));
-    }
-    if (__libcpp_isnan_or_builtin(__x.real()) && __x.imag() == 0)
-        return __x;
-    _Tp __2r(_Tp(2) * __x.real());
-    _Tp __2i(_Tp(2) * __x.imag());
-    _Tp __d(cosh(__2r) + cos(__2i));
-    _Tp __2rsh(sinh(__2r));
-    if (__libcpp_isinf_or_builtin(__2rsh) && __libcpp_isinf_or_builtin(__d))
-        return complex<_Tp>(__2rsh > _Tp(0) ? _Tp(1) : _Tp(-1),
-                            __2i > _Tp(0) ? _Tp(0) : _Tp(-0.));
-    return  complex<_Tp>(__2rsh/__d, sin(__2i)/__d);
-}
-
-// asin
-
-template<class _Tp>
-complex<_Tp>
-asin(const complex<_Tp>& __x)
-{
-    complex<_Tp> __z = asinh(complex<_Tp>(-__x.imag(), __x.real()));
-    return complex<_Tp>(__z.imag(), -__z.real());
-}
-
-// acos
-
-template<class _Tp>
-complex<_Tp>
-acos(const complex<_Tp>& __x)
-{
-    const _Tp __pi(atan2(+0., -0.));
-    if (__libcpp_isinf_or_builtin(__x.real()))
-    {
-        if (__libcpp_isnan_or_builtin(__x.imag()))
-            return complex<_Tp>(__x.imag(), __x.real());
-        if (__libcpp_isinf_or_builtin(__x.imag()))
-        {
-            if (__x.real() < _Tp(0))
-                return complex<_Tp>(_Tp(0.75) * __pi, -__x.imag());
-            return complex<_Tp>(_Tp(0.25) * __pi, -__x.imag());
-        }
-        if (__x.real() < _Tp(0))
-            return complex<_Tp>(__pi, signbit(__x.imag()) ? -__x.real() : __x.real());
-        return complex<_Tp>(_Tp(0), signbit(__x.imag()) ? __x.real() : -__x.real());
-    }
-    if (__libcpp_isnan_or_builtin(__x.real()))
-    {
-        if (__libcpp_isinf_or_builtin(__x.imag()))
-            return complex<_Tp>(__x.real(), -__x.imag());
-        return complex<_Tp>(__x.real(), __x.real());
-    }
-    if (__libcpp_isinf_or_builtin(__x.imag()))
-        return complex<_Tp>(__pi/_Tp(2), -__x.imag());
-    if (__x.real() == 0 && (__x.imag() == 0 || isnan(__x.imag())))
-        return complex<_Tp>(__pi/_Tp(2), -__x.imag());
-    complex<_Tp> __z = log(__x + sqrt(__sqr(__x) - _Tp(1)));
-    if (signbit(__x.imag()))
-        return complex<_Tp>(abs(__z.imag()), abs(__z.real()));
-    return complex<_Tp>(abs(__z.imag()), -abs(__z.real()));
-}
-
-// atan
-
-template<class _Tp>
-complex<_Tp>
-atan(const complex<_Tp>& __x)
-{
-    complex<_Tp> __z = atanh(complex<_Tp>(-__x.imag(), __x.real()));
-    return complex<_Tp>(__z.imag(), -__z.real());
-}
-
-// sin
-
-template<class _Tp>
-complex<_Tp>
-sin(const complex<_Tp>& __x)
-{
-    complex<_Tp> __z = sinh(complex<_Tp>(-__x.imag(), __x.real()));
-    return complex<_Tp>(__z.imag(), -__z.real());
-}
-
-// cos
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-complex<_Tp>
-cos(const complex<_Tp>& __x)
-{
-    return cosh(complex<_Tp>(-__x.imag(), __x.real()));
-}
-
-// tan
-
-template<class _Tp>
-complex<_Tp>
-tan(const complex<_Tp>& __x)
-{
-    complex<_Tp> __z = tanh(complex<_Tp>(-__x.imag(), __x.real()));
-    return complex<_Tp>(__z.imag(), -__z.real());
-}
-
-template<class _Tp, class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __x)
-{
-    if (__is.good())
-    {
-        ws(__is);
-        if (__is.peek() == _CharT('('))
-        {
-            __is.get();
-            _Tp __r;
-            __is >> __r;
-            if (!__is.fail())
-            {
-                ws(__is);
-                _CharT __c = __is.peek();
-                if (__c == _CharT(','))
-                {
-                    __is.get();
-                    _Tp __i;
-                    __is >> __i;
-                    if (!__is.fail())
-                    {
-                        ws(__is);
-                        __c = __is.peek();
-                        if (__c == _CharT(')'))
-                        {
-                            __is.get();
-                            __x = complex<_Tp>(__r, __i);
-                        }
-                        else
-                            __is.setstate(ios_base::failbit);
-                    }
-                    else
-                        __is.setstate(ios_base::failbit);
-                }
-                else if (__c == _CharT(')'))
-                {
-                    __is.get();
-                    __x = complex<_Tp>(__r, _Tp(0));
-                }
-                else
-                    __is.setstate(ios_base::failbit);
-            }
-            else
-                __is.setstate(ios_base::failbit);
-        }
-        else
-        {
-            _Tp __r;
-            __is >> __r;
-            if (!__is.fail())
-                __x = complex<_Tp>(__r, _Tp(0));
-            else
-                __is.setstate(ios_base::failbit);
-        }
-    }
-    else
-        __is.setstate(ios_base::failbit);
-    return __is;
-}
-
-template<class _Tp, class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x)
-{
-    basic_ostringstream<_CharT, _Traits> __s;
-    __s.flags(__os.flags());
-    __s.imbue(__os.getloc());
-    __s.precision(__os.precision());
-    __s << '(' << __x.real() << ',' << __x.imag() << ')';
-    return __os << __s.str();
-}
-
-#if _LIBCPP_STD_VER > 11
-// Literal suffix for complex number literals [complex.literals]
-inline namespace literals
-{
-  inline namespace complex_literals
-  {
-    constexpr complex<long double> operator""il(long double __im)
-    {
-        return { 0.0l, __im };
-    }
-
-    constexpr complex<long double> operator""il(unsigned long long __im)
-    {
-        return { 0.0l, static_cast<long double>(__im) };
-    }
-
-
-    constexpr complex<double> operator""i(long double __im)
-    {
-        return { 0.0, static_cast<double>(__im) };
-    }
-
-    constexpr complex<double> operator""i(unsigned long long __im)
-    {
-        return { 0.0, static_cast<double>(__im) };
-    }
-
-
-    constexpr complex<float> operator""if(long double __im)
-    {
-        return { 0.0f, static_cast<float>(__im) };
-    }
-
-    constexpr complex<float> operator""if(unsigned long long __im)
-    {
-        return { 0.0f, static_cast<float>(__im) };
-    }
-  }
-}
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_COMPLEX
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cstddef b/r21/sources/cxx-stl/llvm-libc++/include/cstddef
deleted file mode 100644
index bd62d6d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/cstddef
+++ /dev/null
@@ -1,113 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cstddef ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSTDDEF
-#define _LIBCPP_CSTDDEF
-
-/*
-    cstddef synopsis
-
-Macros:
-
-    offsetof(type,member-designator)
-    NULL
-
-namespace std
-{
-
-Types:
-
-    ptrdiff_t
-    size_t
-    max_align_t
-    nullptr_t
-    byte // C++17
-
-}  // std
-
-*/
-
-#include <__config>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-// Don't include our own <stddef.h>; we don't want to declare ::nullptr_t.
-#include_next <stddef.h>
-#include <__nullptr>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::ptrdiff_t;
-using ::size_t;
-
-#if defined(__CLANG_MAX_ALIGN_T_DEFINED) || defined(_GCC_MAX_ALIGN_T) || \
-    defined(__DEFINED_max_align_t) || defined(__NetBSD__)
-// Re-use the compiler's <stddef.h> max_align_t where possible.
-using ::max_align_t;
-#else
-typedef long double max_align_t;
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER > 14
-namespace std  // purposefully not versioned
-{
-enum class byte : unsigned char {};
-
-constexpr byte  operator| (byte  __lhs, byte __rhs) noexcept
-{
-    return static_cast<byte>(
-      static_cast<unsigned char>(
-         static_cast<unsigned int>(__lhs) | static_cast<unsigned int>(__rhs)
-    ));
-}
-
-constexpr byte& operator|=(byte& __lhs, byte __rhs) noexcept
-{ return __lhs = __lhs | __rhs; }
-
-constexpr byte  operator& (byte  __lhs, byte __rhs) noexcept
-{
-    return static_cast<byte>(
-      static_cast<unsigned char>(
-         static_cast<unsigned int>(__lhs) & static_cast<unsigned int>(__rhs)
-    ));
-}
-
-constexpr byte& operator&=(byte& __lhs, byte __rhs) noexcept
-{ return __lhs = __lhs & __rhs; }
-
-constexpr byte  operator^ (byte  __lhs, byte __rhs) noexcept
-{
-    return static_cast<byte>(
-      static_cast<unsigned char>(
-         static_cast<unsigned int>(__lhs) ^ static_cast<unsigned int>(__rhs)
-    ));
-}
-
-constexpr byte& operator^=(byte& __lhs, byte __rhs) noexcept
-{ return __lhs = __lhs ^ __rhs; }
-
-constexpr byte  operator~ (byte __b) noexcept
-{
-    return static_cast<byte>(
-      static_cast<unsigned char>(
-        ~static_cast<unsigned int>(__b)
-    ));
-}
-
-}
-
-#include <type_traits>  // rest of byte
-#endif
-
-#endif  // _LIBCPP_CSTDDEF
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cstdio b/r21/sources/cxx-stl/llvm-libc++/include/cstdio
deleted file mode 100644
index 1e680f7..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/cstdio
+++ /dev/null
@@ -1,177 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- cstdio ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSTDIO
-#define _LIBCPP_CSTDIO
-
-/*
-    cstdio synopsis
-
-Macros:
-
-    BUFSIZ
-    EOF
-    FILENAME_MAX
-    FOPEN_MAX
-    L_tmpnam
-    NULL
-    SEEK_CUR
-    SEEK_END
-    SEEK_SET
-    TMP_MAX
-    _IOFBF
-    _IOLBF
-    _IONBF
-    stderr
-    stdin
-    stdout
-
-namespace std
-{
-
-Types:
-
-FILE
-fpos_t
-size_t
-
-int remove(const char* filename);
-int rename(const char* old, const char* new);
-FILE* tmpfile(void);
-char* tmpnam(char* s);
-int fclose(FILE* stream);
-int fflush(FILE* stream);
-FILE* fopen(const char* restrict filename, const char* restrict mode);
-FILE* freopen(const char* restrict filename, const char * restrict mode,
-              FILE * restrict stream);
-void setbuf(FILE* restrict stream, char* restrict buf);
-int setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size);
-int fprintf(FILE* restrict stream, const char* restrict format, ...);
-int fscanf(FILE* restrict stream, const char * restrict format, ...);
-int printf(const char* restrict format, ...);
-int scanf(const char* restrict format, ...);
-int snprintf(char* restrict s, size_t n, const char* restrict format, ...);    // C99
-int sprintf(char* restrict s, const char* restrict format, ...);
-int sscanf(const char* restrict s, const char* restrict format, ...);
-int vfprintf(FILE* restrict stream, const char* restrict format, va_list arg);
-int vfscanf(FILE* restrict stream, const char* restrict format, va_list arg);  // C99
-int vprintf(const char* restrict format, va_list arg);
-int vscanf(const char* restrict format, va_list arg);                          // C99
-int vsnprintf(char* restrict s, size_t n, const char* restrict format,         // C99
-              va_list arg);
-int vsprintf(char* restrict s, const char* restrict format, va_list arg);
-int vsscanf(const char* restrict s, const char* restrict format, va_list arg); // C99
-int fgetc(FILE* stream);
-char* fgets(char* restrict s, int n, FILE* restrict stream);
-int fputc(int c, FILE* stream);
-int fputs(const char* restrict s, FILE* restrict stream);
-int getc(FILE* stream);
-int getchar(void);
-char* gets(char* s);  // removed in C++14
-int putc(int c, FILE* stream);
-int putchar(int c);
-int puts(const char* s);
-int ungetc(int c, FILE* stream);
-size_t fread(void* restrict ptr, size_t size, size_t nmemb,
-             FILE* restrict stream);
-size_t fwrite(const void* restrict ptr, size_t size, size_t nmemb,
-              FILE* restrict stream);
-int fgetpos(FILE* restrict stream, fpos_t* restrict pos);
-int fseek(FILE* stream, long offset, int whence);
-int fsetpos(FILE*stream, const fpos_t* pos);
-long ftell(FILE* stream);
-void rewind(FILE* stream);
-void clearerr(FILE* stream);
-int feof(FILE* stream);
-int ferror(FILE* stream);
-void perror(const char* s);
-
-}  // std
-*/
-
-#include <__config>
-#include <stdio.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::FILE;
-using ::fpos_t;
-using ::size_t;
-
-using ::fclose;
-using ::fflush;
-using ::setbuf;
-using ::setvbuf;
-using ::fprintf;
-using ::fscanf;
-using ::snprintf;
-using ::sprintf;
-using ::sscanf;
-using ::vfprintf;
-using ::vfscanf;
-using ::vsscanf;
-using ::vsnprintf;
-using ::vsprintf;
-using ::fgetc;
-using ::fgets;
-using ::fputc;
-using ::fputs;
-using ::getc;
-using ::putc;
-using ::ungetc;
-using ::fread;
-using ::fwrite;
-#if !defined(__ANDROID__) || !defined(__USE_FILE_OFFSET64) ||                  \
-    (__ANDROID_API__ >= __ANDROID_API_N__)
-using ::fgetpos;
-#endif
-using ::fseek;
-#if !defined(__ANDROID__) || !defined(__USE_FILE_OFFSET64) ||                  \
-    (__ANDROID_API__ >= __ANDROID_API_N__)
-using ::fsetpos;
-#endif
-using ::ftell;
-using ::rewind;
-using ::clearerr;
-using ::feof;
-using ::ferror;
-using ::perror;
-
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-using ::fopen;
-using ::freopen;
-using ::remove;
-using ::rename;
-using ::tmpfile;
-using ::tmpnam;
-#endif
-
-#ifndef _LIBCPP_HAS_NO_STDIN
-using ::getchar;
-#if _LIBCPP_STD_VER <= 11 && !defined(_LIBCPP_MSVCRT)
-using ::gets;
-#endif
-using ::scanf;
-using ::vscanf;
-#endif
-
-#ifndef _LIBCPP_HAS_NO_STDOUT
-using ::printf;
-using ::putchar;
-using ::puts;
-using ::vprintf;
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CSTDIO
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/cstdlib b/r21/sources/cxx-stl/llvm-libc++/include/cstdlib
deleted file mode 100644
index 68b3ded..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/cstdlib
+++ /dev/null
@@ -1,163 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cstdlib ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSTDLIB
-#define _LIBCPP_CSTDLIB
-
-/*
-    cstdlib synopsis
-
-Macros:
-
-    EXIT_FAILURE
-    EXIT_SUCCESS
-    MB_CUR_MAX
-    NULL
-    RAND_MAX
-
-namespace std
-{
-
-Types:
-
-    size_t
-    div_t
-    ldiv_t
-    lldiv_t                                                               // C99
-
-double    atof (const char* nptr);
-int       atoi (const char* nptr);
-long      atol (const char* nptr);
-long long atoll(const char* nptr);                                        // C99
-double             strtod  (const char* restrict nptr, char** restrict endptr);
-float              strtof  (const char* restrict nptr, char** restrict endptr); // C99
-long double        strtold (const char* restrict nptr, char** restrict endptr); // C99
-long               strtol  (const char* restrict nptr, char** restrict endptr, int base);
-long long          strtoll (const char* restrict nptr, char** restrict endptr, int base); // C99
-unsigned long      strtoul (const char* restrict nptr, char** restrict endptr, int base);
-unsigned long long strtoull(const char* restrict nptr, char** restrict endptr, int base); // C99
-int rand(void);
-void srand(unsigned int seed);
-void* calloc(size_t nmemb, size_t size);
-void free(void* ptr);
-void* malloc(size_t size);
-void* realloc(void* ptr, size_t size);
-void abort(void);
-int atexit(void (*func)(void));
-void exit(int status);
-void _Exit(int status);
-char* getenv(const char* name);
-int system(const char* string);
-void* bsearch(const void* key, const void* base, size_t nmemb, size_t size,
-              int (*compar)(const void *, const void *));
-void qsort(void* base, size_t nmemb, size_t size,
-           int (*compar)(const void *, const void *));
-int         abs(      int j);
-long        abs(     long j);
-long long   abs(long long j);                                             // C++0X
-long       labs(     long j);
-long long llabs(long long j);                                             // C99
-div_t     div(      int numer,       int denom);
-ldiv_t    div(     long numer,      long denom);
-lldiv_t   div(long long numer, long long denom);                          // C++0X
-ldiv_t   ldiv(     long numer,      long denom);
-lldiv_t lldiv(long long numer, long long denom);                          // C99
-int mblen(const char* s, size_t n);
-int mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n);
-int wctomb(char* s, wchar_t wchar);
-size_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n);
-size_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n);
-int at_quick_exit(void (*func)(void))                                     // C++11
-void quick_exit(int status);                                              // C++11
-void *aligned_alloc(size_t alignment, size_t size);                       // C11
-
-}  // std
-
-*/
-
-#include <__config>
-#include <stdlib.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef __GNUC__
-#define _LIBCPP_UNREACHABLE() __builtin_unreachable()
-#else
-#define _LIBCPP_UNREACHABLE() _VSTD::abort()
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::size_t;
-using ::div_t;
-using ::ldiv_t;
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-using ::lldiv_t;
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-using ::atof;
-using ::atoi;
-using ::atol;
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-using ::atoll;
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-using ::strtod;
-using ::strtof;
-using ::strtold;
-using ::strtol;
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-using ::strtoll;
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-using ::strtoul;
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-using ::strtoull;
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-using ::rand;
-using ::srand;
-using ::calloc;
-using ::free;
-using ::malloc;
-using ::realloc;
-using ::abort;
-using ::atexit;
-using ::exit;
-using ::_Exit;
-#ifndef _LIBCPP_WINDOWS_STORE_APP
-using ::getenv;
-using ::system;
-#endif
-using ::bsearch;
-using ::qsort;
-using ::abs;
-using ::labs;
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-using ::llabs;
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-using ::div;
-using ::ldiv;
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-using ::lldiv;
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-using ::mblen;
-using ::mbtowc;
-using ::wctomb;
-using ::mbstowcs;
-using ::wcstombs;
-#if !defined(_LIBCPP_CXX03_LANG) && defined(_LIBCPP_HAS_QUICK_EXIT)
-using ::at_quick_exit;
-using ::quick_exit;
-#endif
-#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_C11_FEATURES)
-using ::aligned_alloc;
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CSTDLIB
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ctime b/r21/sources/cxx-stl/llvm-libc++/include/ctime
deleted file mode 100644
index cb8474f..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/ctime
+++ /dev/null
@@ -1,81 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- ctime -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CTIME
-#define _LIBCPP_CTIME
-
-/*
-    ctime synopsis
-
-Macros:
-
-    NULL
-    CLOCKS_PER_SEC
-    TIME_UTC // C++17
-    
-namespace std
-{
-
-Types:
-
-    clock_t
-    size_t
-    time_t
-    tm
-    timespec // C++17
-    
-clock_t clock();
-double difftime(time_t time1, time_t time0);
-time_t mktime(tm* timeptr);
-time_t time(time_t* timer);
-char* asctime(const tm* timeptr);
-char* ctime(const time_t* timer);
-tm*    gmtime(const time_t* timer);
-tm* localtime(const time_t* timer);
-size_t strftime(char* restrict s, size_t maxsize, const char* restrict format,
-                const tm* restrict timeptr);
-int timespec_get( struct timespec *ts, int base); // C++17
-}  // std
-
-*/
-
-#include <__config>
-#include <time.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::clock_t;
-using ::size_t;
-using ::time_t;
-using ::tm;
-#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_C11_FEATURES)
-using ::timespec;
-#endif
-using ::clock;
-using ::difftime;
-using ::mktime;
-using ::time;
-#ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
-using ::asctime;
-using ::ctime;
-using ::gmtime;
-using ::localtime;
-#endif
-using ::strftime;
-#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_TIMESPEC_GET)
-using ::timespec_get;
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CTIME
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/deque b/r21/sources/cxx-stl/llvm-libc++/include/deque
deleted file mode 100644
index cb7e4e5..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/deque
+++ /dev/null
@@ -1,3039 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- deque -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_DEQUE
-#define _LIBCPP_DEQUE
-
-/*
-    deque synopsis
-
-namespace std
-{
-
-template <class T, class Allocator = allocator<T> >
-class deque
-{
-public:
-    // types:
-    typedef T value_type;
-    typedef Allocator allocator_type;
-
-    typedef typename allocator_type::reference       reference;
-    typedef typename allocator_type::const_reference const_reference;
-    typedef implementation-defined                   iterator;
-    typedef implementation-defined                   const_iterator;
-    typedef typename allocator_type::size_type       size_type;
-    typedef typename allocator_type::difference_type difference_type;
-
-    typedef typename allocator_type::pointer         pointer;
-    typedef typename allocator_type::const_pointer   const_pointer;
-    typedef std::reverse_iterator<iterator>          reverse_iterator;
-    typedef std::reverse_iterator<const_iterator>    const_reverse_iterator;
-
-    // construct/copy/destroy:
-    deque() noexcept(is_nothrow_default_constructible<allocator_type>::value);
-    explicit deque(const allocator_type& a);
-    explicit deque(size_type n);
-    explicit deque(size_type n, const allocator_type& a); // C++14
-    deque(size_type n, const value_type& v);
-    deque(size_type n, const value_type& v, const allocator_type& a);
-    template <class InputIterator>
-        deque(InputIterator f, InputIterator l);
-    template <class InputIterator>
-        deque(InputIterator f, InputIterator l, const allocator_type& a);
-    deque(const deque& c);
-    deque(deque&& c)
-        noexcept(is_nothrow_move_constructible<allocator_type>::value);
-    deque(initializer_list<value_type> il, const Allocator& a = allocator_type());
-    deque(const deque& c, const allocator_type& a);
-    deque(deque&& c, const allocator_type& a);
-    ~deque();
-
-    deque& operator=(const deque& c);
-    deque& operator=(deque&& c)
-        noexcept(
-             allocator_type::propagate_on_container_move_assignment::value &&
-             is_nothrow_move_assignable<allocator_type>::value);
-    deque& operator=(initializer_list<value_type> il);
-
-    template <class InputIterator>
-        void assign(InputIterator f, InputIterator l);
-    void assign(size_type n, const value_type& v);
-    void assign(initializer_list<value_type> il);
-
-    allocator_type get_allocator() const noexcept;
-
-    // iterators:
-
-    iterator       begin() noexcept;
-    const_iterator begin() const noexcept;
-    iterator       end() noexcept;
-    const_iterator end() const noexcept;
-
-    reverse_iterator       rbegin() noexcept;
-    const_reverse_iterator rbegin() const noexcept;
-    reverse_iterator       rend() noexcept;
-    const_reverse_iterator rend() const noexcept;
-
-    const_iterator         cbegin() const noexcept;
-    const_iterator         cend() const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend() const noexcept;
-
-    // capacity:
-    size_type size() const noexcept;
-    size_type max_size() const noexcept;
-    void resize(size_type n);
-    void resize(size_type n, const value_type& v);
-    void shrink_to_fit();
-    bool empty() const noexcept;
-
-    // element access:
-    reference operator[](size_type i);
-    const_reference operator[](size_type i) const;
-    reference at(size_type i);
-    const_reference at(size_type i) const;
-    reference front();
-    const_reference front() const;
-    reference back();
-    const_reference back() const;
-
-    // modifiers:
-    void push_front(const value_type& v);
-    void push_front(value_type&& v);
-    void push_back(const value_type& v);
-    void push_back(value_type&& v);
-    template <class... Args> reference emplace_front(Args&&... args);  // reference in C++17
-    template <class... Args> reference emplace_back(Args&&... args);   // reference in C++17
-    template <class... Args> iterator emplace(const_iterator p, Args&&... args);
-    iterator insert(const_iterator p, const value_type& v);
-    iterator insert(const_iterator p, value_type&& v);
-    iterator insert(const_iterator p, size_type n, const value_type& v);
-    template <class InputIterator>
-        iterator insert(const_iterator p, InputIterator f, InputIterator l);
-    iterator insert(const_iterator p, initializer_list<value_type> il);
-    void pop_front();
-    void pop_back();
-    iterator erase(const_iterator p);
-    iterator erase(const_iterator f, const_iterator l);
-    void swap(deque& c)
-        noexcept(allocator_traits<allocator_type>::is_always_equal::value);  // C++17
-    void clear() noexcept;
-};
-
-template <class InputIterator, class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
-   deque(InputIterator, InputIterator, Allocator = Allocator())
-   -> deque<typename iterator_traits<InputIterator>::value_type, Allocator>;
-
-template <class T, class Allocator>
-    bool operator==(const deque<T,Allocator>& x, const deque<T,Allocator>& y);
-template <class T, class Allocator>
-    bool operator< (const deque<T,Allocator>& x, const deque<T,Allocator>& y);
-template <class T, class Allocator>
-    bool operator!=(const deque<T,Allocator>& x, const deque<T,Allocator>& y);
-template <class T, class Allocator>
-    bool operator> (const deque<T,Allocator>& x, const deque<T,Allocator>& y);
-template <class T, class Allocator>
-    bool operator>=(const deque<T,Allocator>& x, const deque<T,Allocator>& y);
-template <class T, class Allocator>
-    bool operator<=(const deque<T,Allocator>& x, const deque<T,Allocator>& y);
-
-// specialized algorithms:
-template <class T, class Allocator>
-    void swap(deque<T,Allocator>& x, deque<T,Allocator>& y)
-         noexcept(noexcept(x.swap(y)));
-
-template <class T, class Allocator, class U>
-    void erase(deque<T, Allocator>& c, const U& value);       // C++20
-template <class T, class Allocator, class Predicate>
-    void erase_if(deque<T, Allocator>& c, Predicate pred);    // C++20
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__split_buffer>
-#include <type_traits>
-#include <initializer_list>
-#include <iterator>
-#include <algorithm>
-#include <stdexcept>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp, class _Allocator> class __deque_base;
-template <class _Tp, class _Allocator = allocator<_Tp> > class _LIBCPP_TEMPLATE_VIS deque;
-
-template <class _ValueType, class _Pointer, class _Reference, class _MapPointer,
-          class _DiffType, _DiffType _BlockSize>
-class _LIBCPP_TEMPLATE_VIS __deque_iterator;
-
-template <class _RAIter,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-copy(_RAIter __f,
-     _RAIter __l,
-     __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-     typename enable_if<__is_random_access_iterator<_RAIter>::value>::type* = 0);
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _OutputIterator>
-_OutputIterator
-copy(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-     __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-     _OutputIterator __r);
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-copy(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-     __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-     __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r);
-
-template <class _RAIter,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-copy_backward(_RAIter __f,
-              _RAIter __l,
-              __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-              typename enable_if<__is_random_access_iterator<_RAIter>::value>::type* = 0);
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _OutputIterator>
-_OutputIterator
-copy_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-              __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-              _OutputIterator __r);
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-copy_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-              __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-              __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r);
-
-template <class _RAIter,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-move(_RAIter __f,
-     _RAIter __l,
-     __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-     typename enable_if<__is_random_access_iterator<_RAIter>::value>::type* = 0);
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _OutputIterator>
-_OutputIterator
-move(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-     __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-     _OutputIterator __r);
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-move(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-     __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-     __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r);
-
-template <class _RAIter,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-move_backward(_RAIter __f,
-              _RAIter __l,
-              __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-              typename enable_if<__is_random_access_iterator<_RAIter>::value>::type* = 0);
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _OutputIterator>
-_OutputIterator
-move_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-              __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-              _OutputIterator __r);
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-move_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-              __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-              __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r);
-
-template <class _ValueType, class _DiffType>
-struct __deque_block_size {
-  static const _DiffType value = sizeof(_ValueType) < 256 ? 4096 / sizeof(_ValueType) : 16;
-};
-
-template <class _ValueType, class _Pointer, class _Reference, class _MapPointer,
-          class _DiffType, _DiffType _BS =
-#ifdef _LIBCPP_ABI_INCOMPLETE_TYPES_IN_DEQUE
-// Keep template parameter to avoid changing all template declarations thoughout
-// this file.
-                               0
-#else
-                               __deque_block_size<_ValueType, _DiffType>::value
-#endif
-          >
-class _LIBCPP_TEMPLATE_VIS __deque_iterator
-{
-    typedef _MapPointer __map_iterator;
-public:
-    typedef _Pointer  pointer;
-    typedef _DiffType difference_type;
-private:
-    __map_iterator __m_iter_;
-    pointer        __ptr_;
-
-    static const difference_type __block_size;
-public:
-    typedef _ValueType                  value_type;
-    typedef random_access_iterator_tag  iterator_category;
-    typedef _Reference                  reference;
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator() _NOEXCEPT
-#if _LIBCPP_STD_VER > 11
-     : __m_iter_(nullptr), __ptr_(nullptr)
-#endif
-     {}
-
-    template <class _Pp, class _Rp, class _MP>
-    _LIBCPP_INLINE_VISIBILITY
-    __deque_iterator(const __deque_iterator<value_type, _Pp, _Rp, _MP, difference_type, _BS>& __it,
-                typename enable_if<is_convertible<_Pp, pointer>::value>::type* = 0) _NOEXCEPT
-        : __m_iter_(__it.__m_iter_), __ptr_(__it.__ptr_) {}
-
-    _LIBCPP_INLINE_VISIBILITY reference operator*() const {return *__ptr_;}
-    _LIBCPP_INLINE_VISIBILITY pointer operator->() const {return __ptr_;}
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator& operator++()
-    {
-        if (++__ptr_ - *__m_iter_ == __block_size)
-        {
-            ++__m_iter_;
-            __ptr_ = *__m_iter_;
-        }
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator operator++(int)
-    {
-        __deque_iterator __tmp = *this;
-        ++(*this);
-        return __tmp;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator& operator--()
-    {
-        if (__ptr_ == *__m_iter_)
-        {
-            --__m_iter_;
-            __ptr_ = *__m_iter_ + __block_size;
-        }
-        --__ptr_;
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator operator--(int)
-    {
-        __deque_iterator __tmp = *this;
-        --(*this);
-        return __tmp;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator& operator+=(difference_type __n)
-    {
-        if (__n != 0)
-        {
-            __n += __ptr_ - *__m_iter_;
-            if (__n > 0)
-            {
-                __m_iter_ += __n / __block_size;
-                __ptr_ = *__m_iter_ + __n % __block_size;
-            }
-            else // (__n < 0)
-            {
-                difference_type __z = __block_size - 1 - __n;
-                __m_iter_ -= __z / __block_size;
-                __ptr_ = *__m_iter_ + (__block_size - 1 - __z % __block_size);
-            }
-        }
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator& operator-=(difference_type __n)
-    {
-        return *this += -__n;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator operator+(difference_type __n) const
-    {
-        __deque_iterator __t(*this);
-        __t += __n;
-        return __t;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator operator-(difference_type __n) const
-    {
-        __deque_iterator __t(*this);
-        __t -= __n;
-        return __t;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    friend __deque_iterator operator+(difference_type __n, const __deque_iterator& __it)
-        {return __it + __n;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    friend difference_type operator-(const __deque_iterator& __x, const __deque_iterator& __y)
-    {
-        if (__x != __y)
-            return (__x.__m_iter_ - __y.__m_iter_) * __block_size
-                 + (__x.__ptr_ - *__x.__m_iter_)
-                 - (__y.__ptr_ - *__y.__m_iter_);
-        return 0;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY reference operator[](difference_type __n) const
-        {return *(*this + __n);}
-
-    _LIBCPP_INLINE_VISIBILITY friend
-        bool operator==(const __deque_iterator& __x, const __deque_iterator& __y)
-        {return __x.__ptr_ == __y.__ptr_;}
-
-    _LIBCPP_INLINE_VISIBILITY friend
-        bool operator!=(const __deque_iterator& __x, const __deque_iterator& __y)
-        {return !(__x == __y);}
-
-    _LIBCPP_INLINE_VISIBILITY friend
-        bool operator<(const __deque_iterator& __x, const __deque_iterator& __y)
-        {return __x.__m_iter_ < __y.__m_iter_ ||
-               (__x.__m_iter_ == __y.__m_iter_ && __x.__ptr_ < __y.__ptr_);}
-
-    _LIBCPP_INLINE_VISIBILITY friend
-        bool operator>(const __deque_iterator& __x, const __deque_iterator& __y)
-        {return __y < __x;}
-
-    _LIBCPP_INLINE_VISIBILITY friend
-        bool operator<=(const __deque_iterator& __x, const __deque_iterator& __y)
-        {return !(__y < __x);}
-
-    _LIBCPP_INLINE_VISIBILITY friend
-        bool operator>=(const __deque_iterator& __x, const __deque_iterator& __y)
-        {return !(__x < __y);}
-
-private:
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator(__map_iterator __m, pointer __p) _NOEXCEPT
-        : __m_iter_(__m), __ptr_(__p) {}
-
-    template <class _Tp, class _Ap> friend class __deque_base;
-    template <class _Tp, class _Ap> friend class _LIBCPP_TEMPLATE_VIS deque;
-    template <class _Vp, class _Pp, class _Rp, class _MP, class _Dp, _Dp>
-        friend class _LIBCPP_TEMPLATE_VIS __deque_iterator;
-
-    template <class _RAIter,
-              class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-    friend
-    __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-    copy(_RAIter __f,
-         _RAIter __l,
-         __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-         typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*);
-
-    template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-              class _OutputIterator>
-    friend
-    _OutputIterator
-    copy(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-         __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-         _OutputIterator __r);
-
-    template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-              class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-    friend
-    __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-    copy(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-         __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-         __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r);
-
-    template <class _RAIter,
-              class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-    friend
-    __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-    copy_backward(_RAIter __f,
-                  _RAIter __l,
-                  __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-                  typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*);
-
-    template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-              class _OutputIterator>
-    friend
-    _OutputIterator
-    copy_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-                  __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-                  _OutputIterator __r);
-
-    template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-              class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-    friend
-    __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-    copy_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-                  __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-                  __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r);
-
-    template <class _RAIter,
-              class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-    friend
-    __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-    move(_RAIter __f,
-         _RAIter __l,
-         __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-         typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*);
-
-    template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-              class _OutputIterator>
-    friend
-    _OutputIterator
-    move(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-         __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-         _OutputIterator __r);
-
-    template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-              class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-    friend
-    __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-    move(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-         __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-         __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r);
-
-    template <class _RAIter,
-              class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-    friend
-    __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-    move_backward(_RAIter __f,
-                  _RAIter __l,
-                  __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-                  typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*);
-
-    template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-              class _OutputIterator>
-    friend
-    _OutputIterator
-    move_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-                  __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-                  _OutputIterator __r);
-
-    template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-              class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-    friend
-    __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-    move_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-                  __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-                  __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r);
-};
-
-template <class _ValueType, class _Pointer, class _Reference, class _MapPointer,
-          class _DiffType, _DiffType _BlockSize>
-const _DiffType __deque_iterator<_ValueType, _Pointer, _Reference, _MapPointer,
-                                 _DiffType, _BlockSize>::__block_size =
-    __deque_block_size<_ValueType, _DiffType>::value;
-
-// copy
-
-template <class _RAIter,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-copy(_RAIter __f,
-     _RAIter __l,
-     __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-     typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*)
-{
-    typedef typename __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::difference_type difference_type;
-    typedef typename __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::pointer pointer;
-    const difference_type __block_size = __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::__block_size;
-    while (__f != __l)
-    {
-        pointer __rb = __r.__ptr_;
-        pointer __re = *__r.__m_iter_ + __block_size;
-        difference_type __bs = __re - __rb;
-        difference_type __n = __l - __f;
-        _RAIter __m = __l;
-        if (__n > __bs)
-        {
-            __n = __bs;
-            __m = __f + __n;
-        }
-        _VSTD::copy(__f, __m, __rb);
-        __f = __m;
-        __r += __n;
-    }
-    return __r;
-}
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _OutputIterator>
-_OutputIterator
-copy(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-     __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-     _OutputIterator __r)
-{
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::difference_type difference_type;
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::pointer pointer;
-    const difference_type __block_size = __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::__block_size;
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        pointer __fb = __f.__ptr_;
-        pointer __fe = *__f.__m_iter_ + __block_size;
-        difference_type __bs = __fe - __fb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __fe = __fb + __bs;
-        }
-        __r = _VSTD::copy(__fb, __fe, __r);
-        __n -= __bs;
-        __f += __bs;
-    }
-    return __r;
-}
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-copy(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-     __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-     __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r)
-{
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::difference_type difference_type;
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::pointer pointer;
-    const difference_type __block_size = __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::__block_size;
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        pointer __fb = __f.__ptr_;
-        pointer __fe = *__f.__m_iter_ + __block_size;
-        difference_type __bs = __fe - __fb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __fe = __fb + __bs;
-        }
-        __r = _VSTD::copy(__fb, __fe, __r);
-        __n -= __bs;
-        __f += __bs;
-    }
-    return __r;
-}
-
-// copy_backward
-
-template <class _RAIter,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-copy_backward(_RAIter __f,
-              _RAIter __l,
-              __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-              typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*)
-{
-    typedef typename __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::difference_type difference_type;
-    typedef typename __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::pointer pointer;
-    while (__f != __l)
-    {
-        __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __rp = _VSTD::prev(__r);
-        pointer __rb = *__rp.__m_iter_;
-        pointer __re = __rp.__ptr_ + 1;
-        difference_type __bs = __re - __rb;
-        difference_type __n = __l - __f;
-        _RAIter __m = __f;
-        if (__n > __bs)
-        {
-            __n = __bs;
-            __m = __l - __n;
-        }
-        _VSTD::copy_backward(__m, __l, __re);
-        __l = __m;
-        __r -= __n;
-    }
-    return __r;
-}
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _OutputIterator>
-_OutputIterator
-copy_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-              __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-              _OutputIterator __r)
-{
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::difference_type difference_type;
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::pointer pointer;
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        --__l;
-        pointer __lb = *__l.__m_iter_;
-        pointer __le = __l.__ptr_ + 1;
-        difference_type __bs = __le - __lb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __lb = __le - __bs;
-        }
-        __r = _VSTD::copy_backward(__lb, __le, __r);
-        __n -= __bs;
-        __l -= __bs - 1;
-    }
-    return __r;
-}
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-copy_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-              __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-              __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r)
-{
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::difference_type difference_type;
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::pointer pointer;
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        --__l;
-        pointer __lb = *__l.__m_iter_;
-        pointer __le = __l.__ptr_ + 1;
-        difference_type __bs = __le - __lb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __lb = __le - __bs;
-        }
-        __r = _VSTD::copy_backward(__lb, __le, __r);
-        __n -= __bs;
-        __l -= __bs - 1;
-    }
-    return __r;
-}
-
-// move
-
-template <class _RAIter,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-move(_RAIter __f,
-     _RAIter __l,
-     __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-     typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*)
-{
-    typedef typename __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::difference_type difference_type;
-    typedef typename __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::pointer pointer;
-    const difference_type __block_size = __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::__block_size;
-    while (__f != __l)
-    {
-        pointer __rb = __r.__ptr_;
-        pointer __re = *__r.__m_iter_ + __block_size;
-        difference_type __bs = __re - __rb;
-        difference_type __n = __l - __f;
-        _RAIter __m = __l;
-        if (__n > __bs)
-        {
-            __n = __bs;
-            __m = __f + __n;
-        }
-        _VSTD::move(__f, __m, __rb);
-        __f = __m;
-        __r += __n;
-    }
-    return __r;
-}
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _OutputIterator>
-_OutputIterator
-move(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-     __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-     _OutputIterator __r)
-{
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::difference_type difference_type;
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::pointer pointer;
-    const difference_type __block_size = __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::__block_size;
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        pointer __fb = __f.__ptr_;
-        pointer __fe = *__f.__m_iter_ + __block_size;
-        difference_type __bs = __fe - __fb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __fe = __fb + __bs;
-        }
-        __r = _VSTD::move(__fb, __fe, __r);
-        __n -= __bs;
-        __f += __bs;
-    }
-    return __r;
-}
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-move(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-     __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-     __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r)
-{
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::difference_type difference_type;
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::pointer pointer;
-    const difference_type __block_size = __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::__block_size;
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        pointer __fb = __f.__ptr_;
-        pointer __fe = *__f.__m_iter_ + __block_size;
-        difference_type __bs = __fe - __fb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __fe = __fb + __bs;
-        }
-        __r = _VSTD::move(__fb, __fe, __r);
-        __n -= __bs;
-        __f += __bs;
-    }
-    return __r;
-}
-
-// move_backward
-
-template <class _RAIter,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-move_backward(_RAIter __f,
-              _RAIter __l,
-              __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r,
-              typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*)
-{
-    typedef typename __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::difference_type difference_type;
-    typedef typename __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>::pointer pointer;
-    while (__f != __l)
-    {
-        __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __rp = _VSTD::prev(__r);
-        pointer __rb = *__rp.__m_iter_;
-        pointer __re = __rp.__ptr_ + 1;
-        difference_type __bs = __re - __rb;
-        difference_type __n = __l - __f;
-        _RAIter __m = __f;
-        if (__n > __bs)
-        {
-            __n = __bs;
-            __m = __l - __n;
-        }
-        _VSTD::move_backward(__m, __l, __re);
-        __l = __m;
-        __r -= __n;
-    }
-    return __r;
-}
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _OutputIterator>
-_OutputIterator
-move_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-              __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-              _OutputIterator __r)
-{
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::difference_type difference_type;
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::pointer pointer;
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        --__l;
-        pointer __lb = *__l.__m_iter_;
-        pointer __le = __l.__ptr_ + 1;
-        difference_type __bs = __le - __lb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __lb = __le - __bs;
-        }
-        __r = _VSTD::move_backward(__lb, __le, __r);
-        __n -= __bs;
-        __l -= __bs - 1;
-    }
-    return __r;
-}
-
-template <class _V1, class _P1, class _R1, class _M1, class _D1, _D1 _B1,
-          class _V2, class _P2, class _R2, class _M2, class _D2, _D2 _B2>
-__deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2>
-move_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f,
-              __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __l,
-              __deque_iterator<_V2, _P2, _R2, _M2, _D2, _B2> __r)
-{
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::difference_type difference_type;
-    typedef typename __deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1>::pointer pointer;
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        --__l;
-        pointer __lb = *__l.__m_iter_;
-        pointer __le = __l.__ptr_ + 1;
-        difference_type __bs = __le - __lb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __lb = __le - __bs;
-        }
-        __r = _VSTD::move_backward(__lb, __le, __r);
-        __n -= __bs;
-        __l -= __bs - 1;
-    }
-    return __r;
-}
-
-template <bool>
-class __deque_base_common
-{
-protected:
-    _LIBCPP_NORETURN void __throw_length_error() const;
-    _LIBCPP_NORETURN void __throw_out_of_range() const;
-};
-
-template <bool __b>
-void
-__deque_base_common<__b>::__throw_length_error() const
-{
-    _VSTD::__throw_length_error("deque");
-}
-
-template <bool __b>
-void
-__deque_base_common<__b>::__throw_out_of_range() const
-{
-    _VSTD::__throw_out_of_range("deque");
-}
-
-template <class _Tp, class _Allocator>
-class __deque_base
-    : protected __deque_base_common<true>
-{
-    __deque_base(const __deque_base& __c);
-    __deque_base& operator=(const __deque_base& __c);
-public:
-    typedef _Allocator                               allocator_type;
-    typedef allocator_traits<allocator_type>         __alloc_traits;
-    typedef typename __alloc_traits::size_type       size_type;
-
-    typedef _Tp                                      value_type;
-    typedef value_type&                              reference;
-    typedef const value_type&                        const_reference;
-    typedef typename __alloc_traits::difference_type difference_type;
-    typedef typename __alloc_traits::pointer         pointer;
-    typedef typename __alloc_traits::const_pointer   const_pointer;
-
-    static const difference_type __block_size;
-
-    typedef typename __rebind_alloc_helper<__alloc_traits, pointer>::type __pointer_allocator;
-    typedef allocator_traits<__pointer_allocator>        __map_traits;
-    typedef typename __map_traits::pointer               __map_pointer;
-    typedef typename __rebind_alloc_helper<__alloc_traits, const_pointer>::type __const_pointer_allocator;
-    typedef typename allocator_traits<__const_pointer_allocator>::const_pointer __map_const_pointer;
-    typedef __split_buffer<pointer, __pointer_allocator> __map;
-
-    typedef __deque_iterator<value_type, pointer, reference, __map_pointer,
-                             difference_type>    iterator;
-    typedef __deque_iterator<value_type, const_pointer, const_reference, __map_const_pointer,
-                             difference_type>    const_iterator;
-
-    struct __deque_block_range {
-      explicit __deque_block_range(pointer __b, pointer __e) _NOEXCEPT : __begin_(__b), __end_(__e) {}
-      const pointer __begin_;
-      const pointer __end_;
-    };
-
-    struct __deque_range {
-      iterator __pos_;
-      const iterator __end_;
-
-      __deque_range(iterator __pos, iterator __e) _NOEXCEPT
-        : __pos_(__pos), __end_(__e) {}
-
-      explicit operator bool() const _NOEXCEPT {
-        return __pos_ != __end_;
-      }
-
-      __deque_range begin() const {
-        return *this;
-      }
-
-      __deque_range end() const {
-        return __deque_range(__end_, __end_);
-      }
-      __deque_block_range operator*() const _NOEXCEPT {
-         if (__pos_.__m_iter_ == __end_.__m_iter_) {
-          return __deque_block_range(__pos_.__ptr_, __end_.__ptr_);
-        }
-        return __deque_block_range(__pos_.__ptr_, *__pos_.__m_iter_ + __block_size);
-      }
-
-      __deque_range& operator++() _NOEXCEPT {
-        if (__pos_.__m_iter_ == __end_.__m_iter_) {
-          __pos_ = __end_;
-        } else {
-          ++__pos_.__m_iter_;
-          __pos_.__ptr_ = *__pos_.__m_iter_;
-        }
-        return *this;
-      }
-
-
-      friend bool operator==(__deque_range const& __lhs, __deque_range const& __rhs) {
-        return __lhs.__pos_ == __rhs.__pos_;
-      }
-      friend bool operator!=(__deque_range const& __lhs, __deque_range const& __rhs) {
-        return !(__lhs == __rhs);
-      }
-    };
-
-
-
-    struct _ConstructTransaction {
-      _ConstructTransaction(__deque_base* __db, __deque_block_range& __r)
-        : __pos_(__r.__begin_), __end_(__r.__end_), __begin_(__r.__begin_), __base_(__db) {}
-
-
-      ~_ConstructTransaction() {
-        __base_->size() += (__pos_ - __begin_);
-      }
-
-      pointer __pos_;
-      const pointer __end_;
-    private:
-      const pointer __begin_;
-      __deque_base * const __base_;
-    };
-
-protected:
-    __map __map_;
-    size_type __start_;
-    __compressed_pair<size_type, allocator_type> __size_;
-
-    iterator       begin() _NOEXCEPT;
-    const_iterator begin() const _NOEXCEPT;
-    iterator       end() _NOEXCEPT;
-    const_iterator end() const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY size_type&            size()          {return __size_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-    const size_type& size() const _NOEXCEPT {return __size_.first();}
-    _LIBCPP_INLINE_VISIBILITY allocator_type&       __alloc()       {return __size_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const allocator_type& __alloc() const _NOEXCEPT {return __size_.second();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __deque_base()
-        _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __deque_base(const allocator_type& __a);
-public:
-    ~__deque_base();
-
-#ifndef _LIBCPP_CXX03_LANG
-    __deque_base(__deque_base&& __c)
-        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
-    __deque_base(__deque_base&& __c, const allocator_type& __a);
-#endif  // _LIBCPP_CXX03_LANG
-
-    void swap(__deque_base& __c)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value);
-#endif
-protected:
-    void clear() _NOEXCEPT;
-
-    bool __invariants() const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign(__deque_base& __c)
-        _NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value &&
-                   is_nothrow_move_assignable<allocator_type>::value)
-    {
-        __map_ = _VSTD::move(__c.__map_);
-        __start_ = __c.__start_;
-        size() = __c.size();
-        __move_assign_alloc(__c);
-        __c.__start_ = __c.size() = 0;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__deque_base& __c)
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_move_assignment::value ||
-                   is_nothrow_move_assignable<allocator_type>::value)
-        {__move_assign_alloc(__c, integral_constant<bool,
-                      __alloc_traits::propagate_on_container_move_assignment::value>());}
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__deque_base& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-        {
-            __alloc() = _VSTD::move(__c.__alloc());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__deque_base&, false_type) _NOEXCEPT
-        {}
-};
-
-template <class _Tp, class _Allocator>
-const typename __deque_base<_Tp, _Allocator>::difference_type
-    __deque_base<_Tp, _Allocator>::__block_size =
-        __deque_block_size<value_type, difference_type>::value;
-
-template <class _Tp, class _Allocator>
-bool
-__deque_base<_Tp, _Allocator>::__invariants() const
-{
-    if (!__map_.__invariants())
-        return false;
-    if (__map_.size() >= size_type(-1) / __block_size)
-        return false;
-    for (typename __map::const_iterator __i = __map_.begin(), __e = __map_.end();
-         __i != __e; ++__i)
-        if (*__i == nullptr)
-            return false;
-    if (__map_.size() != 0)
-    {
-        if (size() >= __map_.size() * __block_size)
-            return false;
-        if (__start_ >= __map_.size() * __block_size - size())
-            return false;
-    }
-    else
-    {
-        if (size() != 0)
-            return false;
-        if (__start_ != 0)
-            return false;
-    }
-    return true;
-}
-
-template <class _Tp, class _Allocator>
-typename __deque_base<_Tp, _Allocator>::iterator
-__deque_base<_Tp, _Allocator>::begin() _NOEXCEPT
-{
-    __map_pointer __mp = __map_.begin() + __start_ / __block_size;
-    return iterator(__mp, __map_.empty() ? 0 : *__mp + __start_ % __block_size);
-}
-
-template <class _Tp, class _Allocator>
-typename __deque_base<_Tp, _Allocator>::const_iterator
-__deque_base<_Tp, _Allocator>::begin() const _NOEXCEPT
-{
-    __map_const_pointer __mp = static_cast<__map_const_pointer>(__map_.begin() + __start_ / __block_size);
-    return const_iterator(__mp, __map_.empty() ? 0 : *__mp + __start_ % __block_size);
-}
-
-template <class _Tp, class _Allocator>
-typename __deque_base<_Tp, _Allocator>::iterator
-__deque_base<_Tp, _Allocator>::end() _NOEXCEPT
-{
-    size_type __p = size() + __start_;
-    __map_pointer __mp = __map_.begin() + __p / __block_size;
-    return iterator(__mp, __map_.empty() ? 0 : *__mp + __p % __block_size);
-}
-
-template <class _Tp, class _Allocator>
-typename __deque_base<_Tp, _Allocator>::const_iterator
-__deque_base<_Tp, _Allocator>::end() const _NOEXCEPT
-{
-    size_type __p = size() + __start_;
-    __map_const_pointer __mp = static_cast<__map_const_pointer>(__map_.begin() + __p / __block_size);
-    return const_iterator(__mp, __map_.empty() ? 0 : *__mp + __p % __block_size);
-}
-
-template <class _Tp, class _Allocator>
-inline
-__deque_base<_Tp, _Allocator>::__deque_base()
-    _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
-    : __start_(0), __size_(0) {}
-
-template <class _Tp, class _Allocator>
-inline
-__deque_base<_Tp, _Allocator>::__deque_base(const allocator_type& __a)
-    : __map_(__pointer_allocator(__a)), __start_(0), __size_(0, __a) {}
-
-template <class _Tp, class _Allocator>
-__deque_base<_Tp, _Allocator>::~__deque_base()
-{
-    clear();
-    typename __map::iterator __i = __map_.begin();
-    typename __map::iterator __e = __map_.end();
-    for (; __i != __e; ++__i)
-        __alloc_traits::deallocate(__alloc(), *__i, __block_size);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-__deque_base<_Tp, _Allocator>::__deque_base(__deque_base&& __c)
-    _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
-    : __map_(_VSTD::move(__c.__map_)),
-      __start_(_VSTD::move(__c.__start_)),
-      __size_(_VSTD::move(__c.__size_))
-{
-    __c.__start_ = 0;
-    __c.size() = 0;
-}
-
-template <class _Tp, class _Allocator>
-__deque_base<_Tp, _Allocator>::__deque_base(__deque_base&& __c, const allocator_type& __a)
-    : __map_(_VSTD::move(__c.__map_), __pointer_allocator(__a)),
-      __start_(_VSTD::move(__c.__start_)),
-      __size_(_VSTD::move(__c.size()), __a)
-{
-    if (__a == __c.__alloc())
-    {
-        __c.__start_ = 0;
-        __c.size() = 0;
-    }
-    else
-    {
-        __map_.clear();
-        __start_ = 0;
-        size() = 0;
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-void
-__deque_base<_Tp, _Allocator>::swap(__deque_base& __c)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value)
-#endif
-{
-    __map_.swap(__c.__map_);
-    _VSTD::swap(__start_, __c.__start_);
-    _VSTD::swap(size(), __c.size());
-    __swap_allocator(__alloc(), __c.__alloc());
-}
-
-template <class _Tp, class _Allocator>
-void
-__deque_base<_Tp, _Allocator>::clear() _NOEXCEPT
-{
-    allocator_type& __a = __alloc();
-    for (iterator __i = begin(), __e = end(); __i != __e; ++__i)
-        __alloc_traits::destroy(__a, _VSTD::addressof(*__i));
-    size() = 0;
-    while (__map_.size() > 2)
-    {
-        __alloc_traits::deallocate(__a, __map_.front(), __block_size);
-        __map_.pop_front();
-    }
-    switch (__map_.size())
-    {
-    case 1:
-        __start_ = __block_size / 2;
-        break;
-    case 2:
-        __start_ = __block_size;
-        break;
-    }
-}
-
-template <class _Tp, class _Allocator /*= allocator<_Tp>*/>
-class _LIBCPP_TEMPLATE_VIS deque
-    : private __deque_base<_Tp, _Allocator>
-{
-public:
-    // types:
-
-    typedef _Tp value_type;
-    typedef _Allocator allocator_type;
-
-    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
-                  "Allocator::value_type must be same type as value_type");
-
-    typedef __deque_base<value_type, allocator_type> __base;
-
-    typedef typename __base::__alloc_traits        __alloc_traits;
-    typedef typename __base::reference             reference;
-    typedef typename __base::const_reference       const_reference;
-    typedef typename __base::iterator              iterator;
-    typedef typename __base::const_iterator        const_iterator;
-    typedef typename __base::size_type             size_type;
-    typedef typename __base::difference_type       difference_type;
-
-    typedef typename __base::pointer               pointer;
-    typedef typename __base::const_pointer         const_pointer;
-    typedef _VSTD::reverse_iterator<iterator>       reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator;
-
-    using typename __base::__deque_range;
-    using typename __base::__deque_block_range;
-    using typename __base::_ConstructTransaction;
-
-    // construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY
-    deque()
-        _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
-        {}
-    _LIBCPP_INLINE_VISIBILITY explicit deque(const allocator_type& __a) : __base(__a) {}
-    explicit deque(size_type __n);
-#if _LIBCPP_STD_VER > 11
-    explicit deque(size_type __n, const _Allocator& __a);
-#endif
-    deque(size_type __n, const value_type& __v);
-    deque(size_type __n, const value_type& __v, const allocator_type& __a);
-    template <class _InputIter>
-        deque(_InputIter __f, _InputIter __l,
-              typename enable_if<__is_input_iterator<_InputIter>::value>::type* = 0);
-    template <class _InputIter>
-        deque(_InputIter __f, _InputIter __l, const allocator_type& __a,
-              typename enable_if<__is_input_iterator<_InputIter>::value>::type* = 0);
-    deque(const deque& __c);
-    deque(const deque& __c, const allocator_type& __a);
-
-    deque& operator=(const deque& __c);
-
-#ifndef _LIBCPP_CXX03_LANG
-    deque(initializer_list<value_type> __il);
-    deque(initializer_list<value_type> __il, const allocator_type& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    deque& operator=(initializer_list<value_type> __il) {assign(__il); return *this;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    deque(deque&& __c) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    deque(deque&& __c, const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    deque& operator=(deque&& __c)
-        _NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value &&
-                   is_nothrow_move_assignable<allocator_type>::value);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void assign(initializer_list<value_type> __il) {assign(__il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    template <class _InputIter>
-        void assign(_InputIter __f, _InputIter __l,
-                    typename enable_if<__is_input_iterator<_InputIter>::value &&
-                                      !__is_random_access_iterator<_InputIter>::value>::type* = 0);
-    template <class _RAIter>
-        void assign(_RAIter __f, _RAIter __l,
-                    typename enable_if<__is_random_access_iterator<_RAIter>::value>::type* = 0);
-    void assign(size_type __n, const value_type& __v);
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT;
-
-    // iterators:
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin() _NOEXCEPT       {return __base::begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT {return __base::begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end() _NOEXCEPT         {return __base::end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()   const _NOEXCEPT {return __base::end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator       rbegin() _NOEXCEPT
-        {return       reverse_iterator(__base::end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin() const _NOEXCEPT
-        {return const_reverse_iterator(__base::end());}
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator       rend() _NOEXCEPT
-        {return       reverse_iterator(__base::begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend()   const _NOEXCEPT
-        {return const_reverse_iterator(__base::begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator         cbegin()  const _NOEXCEPT
-        {return __base::begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator         cend()    const _NOEXCEPT
-        {return __base::end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT
-        {return const_reverse_iterator(__base::end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend()   const _NOEXCEPT
-        {return const_reverse_iterator(__base::begin());}
-
-    // capacity:
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT {return __base::size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT
-        {return std::min<size_type>(
-            __alloc_traits::max_size(__base::__alloc()),
-            numeric_limits<difference_type>::max());}
-    void resize(size_type __n);
-    void resize(size_type __n, const value_type& __v);
-    void shrink_to_fit() _NOEXCEPT;
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT {return __base::size() == 0;}
-
-    // element access:
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator[](size_type __i) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference operator[](size_type __i) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    reference at(size_type __i);
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference at(size_type __i) const;
-    _LIBCPP_INLINE_VISIBILITY
-    reference front() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference front() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    reference back() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference back() const _NOEXCEPT;
-
-    // 23.2.2.3 modifiers:
-    void push_front(const value_type& __v);
-    void push_back(const value_type& __v);
-#ifndef _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER > 14
-    template <class... _Args> reference emplace_front(_Args&&... __args);
-    template <class... _Args> reference emplace_back (_Args&&... __args);
-#else
-    template <class... _Args> void      emplace_front(_Args&&... __args);
-    template <class... _Args> void      emplace_back (_Args&&... __args);
-#endif
-    template <class... _Args> iterator emplace(const_iterator __p, _Args&&... __args);
-
-    void push_front(value_type&& __v);
-    void push_back(value_type&& __v);
-    iterator insert(const_iterator __p, value_type&& __v);
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, initializer_list<value_type> __il)
-        {return insert(__p, __il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-    iterator insert(const_iterator __p, const value_type& __v);
-    iterator insert(const_iterator __p, size_type __n, const value_type& __v);
-    template <class _InputIter>
-        iterator insert(const_iterator __p, _InputIter __f, _InputIter __l,
-                         typename enable_if<__is_input_iterator<_InputIter>::value
-                                         &&!__is_forward_iterator<_InputIter>::value>::type* = 0);
-    template <class _ForwardIterator>
-        iterator insert(const_iterator __p, _ForwardIterator __f, _ForwardIterator __l,
-                               typename enable_if<__is_forward_iterator<_ForwardIterator>::value
-                                         &&!__is_bidirectional_iterator<_ForwardIterator>::value>::type* = 0);
-    template <class _BiIter>
-        iterator insert(const_iterator __p, _BiIter __f, _BiIter __l,
-                         typename enable_if<__is_bidirectional_iterator<_BiIter>::value>::type* = 0);
-
-    void pop_front();
-    void pop_back();
-    iterator erase(const_iterator __p);
-    iterator erase(const_iterator __f, const_iterator __l);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(deque& __c)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                   __is_nothrow_swappable<allocator_type>::value);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool __invariants() const {return __base::__invariants();}
-
-    typedef typename __base::__map_const_pointer __map_const_pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    static size_type __recommend_blocks(size_type __n)
-    {
-        return __n / __base::__block_size + (__n % __base::__block_size != 0);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __capacity() const
-    {
-        return __base::__map_.size() == 0 ? 0 : __base::__map_.size() * __base::__block_size - 1;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __block_count() const
-    {
-        return __base::__map_.size();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __front_spare() const
-    {
-        return __base::__start_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __front_spare_blocks() const {
-      return __front_spare() / __base::__block_size;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __back_spare() const
-    {
-        return __capacity() - (__base::__start_ + __base::size());
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __back_spare_blocks() const {
-      return __back_spare() / __base::__block_size;
-    }
-
- private:
-    _LIBCPP_INLINE_VISIBILITY
-    bool __maybe_remove_front_spare(bool __keep_one = true) {
-      if (__front_spare_blocks() >= 2 || (!__keep_one && __front_spare_blocks())) {
-        __alloc_traits::deallocate(__base::__alloc(), __base::__map_.front(),
-                                   __base::__block_size);
-        __base::__map_.pop_front();
-        __base::__start_ -= __base::__block_size;
-        return true;
-      }
-      return false;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool __maybe_remove_back_spare(bool __keep_one = true) {
-      if (__back_spare_blocks() >= 2 || (!__keep_one && __back_spare_blocks())) {
-        __alloc_traits::deallocate(__base::__alloc(), __base::__map_.back(),
-                                   __base::__block_size);
-        __base::__map_.pop_back();
-        return true;
-      }
-      return false;
-    }
-
-    template <class _InpIter>
-        void __append(_InpIter __f, _InpIter __l,
-                 typename enable_if<__is_input_iterator<_InpIter>::value &&
-                                   !__is_forward_iterator<_InpIter>::value>::type* = 0);
-    template <class _ForIter>
-        void __append(_ForIter __f, _ForIter __l,
-                      typename enable_if<__is_forward_iterator<_ForIter>::value>::type* = 0);
-    void __append(size_type __n);
-    void __append(size_type __n, const value_type& __v);
-    void __erase_to_end(const_iterator __f);
-    void __add_front_capacity();
-    void __add_front_capacity(size_type __n);
-    void __add_back_capacity();
-    void __add_back_capacity(size_type __n);
-    iterator __move_and_check(iterator __f, iterator __l, iterator __r,
-                              const_pointer& __vt);
-    iterator __move_backward_and_check(iterator __f, iterator __l, iterator __r,
-                                       const_pointer& __vt);
-    void __move_construct_and_check(iterator __f, iterator __l,
-                                    iterator __r, const_pointer& __vt);
-    void __move_construct_backward_and_check(iterator __f, iterator __l,
-                                             iterator __r, const_pointer& __vt);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const deque& __c)
-        {__copy_assign_alloc(__c, integral_constant<bool,
-                      __alloc_traits::propagate_on_container_copy_assignment::value>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const deque& __c, true_type)
-        {
-            if (__base::__alloc() != __c.__alloc())
-            {
-                clear();
-                shrink_to_fit();
-            }
-            __base::__alloc() = __c.__alloc();
-            __base::__map_.__alloc() = __c.__map_.__alloc();
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const deque&, false_type)
-        {}
-
-    void __move_assign(deque& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value);
-    void __move_assign(deque& __c, false_type);
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Alloc = typename std::allocator<typename iterator_traits<_InputIterator>::value_type>,
-         class = typename enable_if<__is_allocator<_Alloc>::value, void>::type
-         >
-deque(_InputIterator, _InputIterator)
-  -> deque<typename iterator_traits<_InputIterator>::value_type, _Alloc>;
-
-template<class _InputIterator,
-         class _Alloc,
-         class = typename enable_if<__is_allocator<_Alloc>::value, void>::type
-         >
-deque(_InputIterator, _InputIterator, _Alloc)
-  -> deque<typename iterator_traits<_InputIterator>::value_type, _Alloc>;
-#endif
-
-
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>::deque(size_type __n)
-{
-    if (__n > 0)
-        __append(__n);
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>::deque(size_type __n, const _Allocator& __a)
-    : __base(__a)
-{
-    if (__n > 0)
-        __append(__n);
-}
-#endif
-
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>::deque(size_type __n, const value_type& __v)
-{
-    if (__n > 0)
-        __append(__n, __v);
-}
-
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>::deque(size_type __n, const value_type& __v, const allocator_type& __a)
-    : __base(__a)
-{
-    if (__n > 0)
-        __append(__n, __v);
-}
-
-template <class _Tp, class _Allocator>
-template <class _InputIter>
-deque<_Tp, _Allocator>::deque(_InputIter __f, _InputIter __l,
-              typename enable_if<__is_input_iterator<_InputIter>::value>::type*)
-{
-    __append(__f, __l);
-}
-
-template <class _Tp, class _Allocator>
-template <class _InputIter>
-deque<_Tp, _Allocator>::deque(_InputIter __f, _InputIter __l, const allocator_type& __a,
-              typename enable_if<__is_input_iterator<_InputIter>::value>::type*)
-    : __base(__a)
-{
-    __append(__f, __l);
-}
-
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>::deque(const deque& __c)
-    : __base(__alloc_traits::select_on_container_copy_construction(__c.__alloc()))
-{
-    __append(__c.begin(), __c.end());
-}
-
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>::deque(const deque& __c, const allocator_type& __a)
-    : __base(__a)
-{
-    __append(__c.begin(), __c.end());
-}
-
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>&
-deque<_Tp, _Allocator>::operator=(const deque& __c)
-{
-    if (this != &__c)
-    {
-        __copy_assign_alloc(__c);
-        assign(__c.begin(), __c.end());
-    }
-    return *this;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>::deque(initializer_list<value_type> __il)
-{
-    __append(__il.begin(), __il.end());
-}
-
-template <class _Tp, class _Allocator>
-deque<_Tp, _Allocator>::deque(initializer_list<value_type> __il, const allocator_type& __a)
-    : __base(__a)
-{
-    __append(__il.begin(), __il.end());
-}
-
-template <class _Tp, class _Allocator>
-inline
-deque<_Tp, _Allocator>::deque(deque&& __c)
-    _NOEXCEPT_(is_nothrow_move_constructible<__base>::value)
-    : __base(_VSTD::move(__c))
-{
-}
-
-template <class _Tp, class _Allocator>
-inline
-deque<_Tp, _Allocator>::deque(deque&& __c, const allocator_type& __a)
-    : __base(_VSTD::move(__c), __a)
-{
-    if (__a != __c.__alloc())
-    {
-        typedef move_iterator<iterator> _Ip;
-        assign(_Ip(__c.begin()), _Ip(__c.end()));
-    }
-}
-
-template <class _Tp, class _Allocator>
-inline
-deque<_Tp, _Allocator>&
-deque<_Tp, _Allocator>::operator=(deque&& __c)
-        _NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value &&
-                   is_nothrow_move_assignable<allocator_type>::value)
-{
-    __move_assign(__c, integral_constant<bool,
-          __alloc_traits::propagate_on_container_move_assignment::value>());
-    return *this;
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__move_assign(deque& __c, false_type)
-{
-    if (__base::__alloc() != __c.__alloc())
-    {
-        typedef move_iterator<iterator> _Ip;
-        assign(_Ip(__c.begin()), _Ip(__c.end()));
-    }
-    else
-        __move_assign(__c, true_type());
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__move_assign(deque& __c, true_type)
-    _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-{
-    clear();
-    shrink_to_fit();
-    __base::__move_assign(__c);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-template <class _InputIter>
-void
-deque<_Tp, _Allocator>::assign(_InputIter __f, _InputIter __l,
-                               typename enable_if<__is_input_iterator<_InputIter>::value &&
-                                                 !__is_random_access_iterator<_InputIter>::value>::type*)
-{
-    iterator __i = __base::begin();
-    iterator __e = __base::end();
-    for (; __f != __l && __i != __e; ++__f, (void) ++__i)
-        *__i = *__f;
-    if (__f != __l)
-        __append(__f, __l);
-    else
-        __erase_to_end(__i);
-}
-
-template <class _Tp, class _Allocator>
-template <class _RAIter>
-void
-deque<_Tp, _Allocator>::assign(_RAIter __f, _RAIter __l,
-                               typename enable_if<__is_random_access_iterator<_RAIter>::value>::type*)
-{
-    if (static_cast<size_type>(__l - __f) > __base::size())
-    {
-        _RAIter __m = __f + __base::size();
-        _VSTD::copy(__f, __m, __base::begin());
-        __append(__m, __l);
-    }
-    else
-        __erase_to_end(_VSTD::copy(__f, __l, __base::begin()));
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::assign(size_type __n, const value_type& __v)
-{
-    if (__n > __base::size())
-    {
-        _VSTD::fill_n(__base::begin(), __base::size(), __v);
-        __n -= __base::size();
-        __append(__n, __v);
-    }
-    else
-        __erase_to_end(_VSTD::fill_n(__base::begin(), __n, __v));
-}
-
-template <class _Tp, class _Allocator>
-inline
-_Allocator
-deque<_Tp, _Allocator>::get_allocator() const _NOEXCEPT
-{
-    return __base::__alloc();
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::resize(size_type __n)
-{
-    if (__n > __base::size())
-        __append(__n - __base::size());
-    else if (__n < __base::size())
-        __erase_to_end(__base::begin() + __n);
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::resize(size_type __n, const value_type& __v)
-{
-    if (__n > __base::size())
-        __append(__n - __base::size(), __v);
-    else if (__n < __base::size())
-        __erase_to_end(__base::begin() + __n);
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::shrink_to_fit() _NOEXCEPT
-{
-    allocator_type& __a = __base::__alloc();
-    if (empty())
-    {
-        while (__base::__map_.size() > 0)
-        {
-            __alloc_traits::deallocate(__a, __base::__map_.back(), __base::__block_size);
-            __base::__map_.pop_back();
-        }
-        __base::__start_ = 0;
-    }
-    else
-    {
-      __maybe_remove_front_spare(/*__keep_one=*/false);
-      __maybe_remove_back_spare(/*__keep_one=*/false);
-    }
-    __base::__map_.shrink_to_fit();
-}
-
-template <class _Tp, class _Allocator>
-inline
-typename deque<_Tp, _Allocator>::reference
-deque<_Tp, _Allocator>::operator[](size_type __i) _NOEXCEPT
-{
-    size_type __p = __base::__start_ + __i;
-    return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
-}
-
-template <class _Tp, class _Allocator>
-inline
-typename deque<_Tp, _Allocator>::const_reference
-deque<_Tp, _Allocator>::operator[](size_type __i) const _NOEXCEPT
-{
-    size_type __p = __base::__start_ + __i;
-    return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
-}
-
-template <class _Tp, class _Allocator>
-inline
-typename deque<_Tp, _Allocator>::reference
-deque<_Tp, _Allocator>::at(size_type __i)
-{
-    if (__i >= __base::size())
-        __base::__throw_out_of_range();
-    size_type __p = __base::__start_ + __i;
-    return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
-}
-
-template <class _Tp, class _Allocator>
-inline
-typename deque<_Tp, _Allocator>::const_reference
-deque<_Tp, _Allocator>::at(size_type __i) const
-{
-    if (__i >= __base::size())
-        __base::__throw_out_of_range();
-    size_type __p = __base::__start_ + __i;
-    return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
-}
-
-template <class _Tp, class _Allocator>
-inline
-typename deque<_Tp, _Allocator>::reference
-deque<_Tp, _Allocator>::front() _NOEXCEPT
-{
-    return *(*(__base::__map_.begin() + __base::__start_ / __base::__block_size)
-                                      + __base::__start_ % __base::__block_size);
-}
-
-template <class _Tp, class _Allocator>
-inline
-typename deque<_Tp, _Allocator>::const_reference
-deque<_Tp, _Allocator>::front() const _NOEXCEPT
-{
-    return *(*(__base::__map_.begin() + __base::__start_ / __base::__block_size)
-                                      + __base::__start_ % __base::__block_size);
-}
-
-template <class _Tp, class _Allocator>
-inline
-typename deque<_Tp, _Allocator>::reference
-deque<_Tp, _Allocator>::back() _NOEXCEPT
-{
-    size_type __p = __base::size() + __base::__start_ - 1;
-    return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
-}
-
-template <class _Tp, class _Allocator>
-inline
-typename deque<_Tp, _Allocator>::const_reference
-deque<_Tp, _Allocator>::back() const _NOEXCEPT
-{
-    size_type __p = __base::size() + __base::__start_ - 1;
-    return *(*(__base::__map_.begin() + __p / __base::__block_size) + __p % __base::__block_size);
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::push_back(const value_type& __v)
-{
-    allocator_type& __a = __base::__alloc();
-    if (__back_spare() == 0)
-        __add_back_capacity();
-    // __back_spare() >= 1
-    __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), __v);
-    ++__base::size();
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::push_front(const value_type& __v)
-{
-    allocator_type& __a = __base::__alloc();
-    if (__front_spare() == 0)
-        __add_front_capacity();
-    // __front_spare() >= 1
-    __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), __v);
-    --__base::__start_;
-    ++__base::size();
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::push_back(value_type&& __v)
-{
-    allocator_type& __a = __base::__alloc();
-    if (__back_spare() == 0)
-        __add_back_capacity();
-    // __back_spare() >= 1
-    __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), _VSTD::move(__v));
-    ++__base::size();
-}
-
-template <class _Tp, class _Allocator>
-template <class... _Args>
-#if _LIBCPP_STD_VER > 14
-typename deque<_Tp, _Allocator>::reference
-#else
-void
-#endif
-deque<_Tp, _Allocator>::emplace_back(_Args&&... __args)
-{
-    allocator_type& __a = __base::__alloc();
-    if (__back_spare() == 0)
-        __add_back_capacity();
-    // __back_spare() >= 1
-    __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()),
-                              _VSTD::forward<_Args>(__args)...);
-    ++__base::size();
-#if _LIBCPP_STD_VER > 14
-    return *--__base::end();
-#endif
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::push_front(value_type&& __v)
-{
-    allocator_type& __a = __base::__alloc();
-    if (__front_spare() == 0)
-        __add_front_capacity();
-    // __front_spare() >= 1
-    __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), _VSTD::move(__v));
-    --__base::__start_;
-    ++__base::size();
-}
-
-
-template <class _Tp, class _Allocator>
-template <class... _Args>
-#if _LIBCPP_STD_VER > 14
-typename deque<_Tp, _Allocator>::reference
-#else
-void
-#endif
-deque<_Tp, _Allocator>::emplace_front(_Args&&... __args)
-{
-    allocator_type& __a = __base::__alloc();
-    if (__front_spare() == 0)
-        __add_front_capacity();
-    // __front_spare() >= 1
-    __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), _VSTD::forward<_Args>(__args)...);
-    --__base::__start_;
-    ++__base::size();
-#if _LIBCPP_STD_VER > 14
-    return *__base::begin();
-#endif
-}
-
-template <class _Tp, class _Allocator>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::insert(const_iterator __p, value_type&& __v)
-{
-    size_type __pos = __p - __base::begin();
-    size_type __to_end = __base::size() - __pos;
-    allocator_type& __a = __base::__alloc();
-    if (__pos < __to_end)
-    {   // insert by shifting things backward
-        if (__front_spare() == 0)
-            __add_front_capacity();
-        // __front_spare() >= 1
-        if (__pos == 0)
-        {
-            __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), _VSTD::move(__v));
-            --__base::__start_;
-            ++__base::size();
-        }
-        else
-        {
-            iterator __b = __base::begin();
-            iterator __bm1 = _VSTD::prev(__b);
-            __alloc_traits::construct(__a, _VSTD::addressof(*__bm1), _VSTD::move(*__b));
-            --__base::__start_;
-            ++__base::size();
-            if (__pos > 1)
-                __b = _VSTD::move(_VSTD::next(__b), __b + __pos, __b);
-            *__b = _VSTD::move(__v);
-        }
-    }
-    else
-    {   // insert by shifting things forward
-        if (__back_spare() == 0)
-            __add_back_capacity();
-        // __back_capacity >= 1
-        size_type __de = __base::size() - __pos;
-        if (__de == 0)
-        {
-            __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), _VSTD::move(__v));
-            ++__base::size();
-        }
-        else
-        {
-            iterator __e = __base::end();
-            iterator __em1 = _VSTD::prev(__e);
-            __alloc_traits::construct(__a, _VSTD::addressof(*__e), _VSTD::move(*__em1));
-            ++__base::size();
-            if (__de > 1)
-                __e = _VSTD::move_backward(__e - __de, __em1, __e);
-            *--__e = _VSTD::move(__v);
-        }
-    }
-    return __base::begin() + __pos;
-}
-
-template <class _Tp, class _Allocator>
-template <class... _Args>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::emplace(const_iterator __p, _Args&&... __args)
-{
-    size_type __pos = __p - __base::begin();
-    size_type __to_end = __base::size() - __pos;
-    allocator_type& __a = __base::__alloc();
-    if (__pos < __to_end)
-    {   // insert by shifting things backward
-        if (__front_spare() == 0)
-            __add_front_capacity();
-        // __front_spare() >= 1
-        if (__pos == 0)
-        {
-            __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), _VSTD::forward<_Args>(__args)...);
-            --__base::__start_;
-            ++__base::size();
-        }
-        else
-        {
-            __temp_value<value_type, _Allocator> __tmp(this->__alloc(), _VSTD::forward<_Args>(__args)...);
-            iterator __b = __base::begin();
-            iterator __bm1 = _VSTD::prev(__b);
-            __alloc_traits::construct(__a, _VSTD::addressof(*__bm1), _VSTD::move(*__b));
-            --__base::__start_;
-            ++__base::size();
-            if (__pos > 1)
-                __b = _VSTD::move(_VSTD::next(__b), __b + __pos, __b);
-            *__b = _VSTD::move(__tmp.get());
-        }
-    }
-    else
-    {   // insert by shifting things forward
-        if (__back_spare() == 0)
-            __add_back_capacity();
-        // __back_capacity >= 1
-        size_type __de = __base::size() - __pos;
-        if (__de == 0)
-        {
-            __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), _VSTD::forward<_Args>(__args)...);
-            ++__base::size();
-        }
-        else
-        {
-            __temp_value<value_type, _Allocator> __tmp(this->__alloc(), _VSTD::forward<_Args>(__args)...);
-            iterator __e = __base::end();
-            iterator __em1 = _VSTD::prev(__e);
-            __alloc_traits::construct(__a, _VSTD::addressof(*__e), _VSTD::move(*__em1));
-            ++__base::size();
-            if (__de > 1)
-                __e = _VSTD::move_backward(__e - __de, __em1, __e);
-            *--__e = _VSTD::move(__tmp.get());
-        }
-    }
-    return __base::begin() + __pos;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-
-template <class _Tp, class _Allocator>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::insert(const_iterator __p, const value_type& __v)
-{
-    size_type __pos = __p - __base::begin();
-    size_type __to_end = __base::size() - __pos;
-    allocator_type& __a = __base::__alloc();
-    if (__pos < __to_end)
-    {   // insert by shifting things backward
-        if (__front_spare() == 0)
-            __add_front_capacity();
-        // __front_spare() >= 1
-        if (__pos == 0)
-        {
-            __alloc_traits::construct(__a, _VSTD::addressof(*--__base::begin()), __v);
-            --__base::__start_;
-            ++__base::size();
-        }
-        else
-        {
-            const_pointer __vt = pointer_traits<const_pointer>::pointer_to(__v);
-            iterator __b = __base::begin();
-            iterator __bm1 = _VSTD::prev(__b);
-            if (__vt == pointer_traits<const_pointer>::pointer_to(*__b))
-                __vt = pointer_traits<const_pointer>::pointer_to(*__bm1);
-            __alloc_traits::construct(__a, _VSTD::addressof(*__bm1), _VSTD::move(*__b));
-            --__base::__start_;
-            ++__base::size();
-            if (__pos > 1)
-                __b = __move_and_check(_VSTD::next(__b), __b + __pos, __b, __vt);
-            *__b = *__vt;
-        }
-    }
-    else
-    {   // insert by shifting things forward
-        if (__back_spare() == 0)
-            __add_back_capacity();
-        // __back_capacity >= 1
-        size_type __de = __base::size() - __pos;
-        if (__de == 0)
-        {
-            __alloc_traits::construct(__a, _VSTD::addressof(*__base::end()), __v);
-            ++__base::size();
-        }
-        else
-        {
-            const_pointer __vt = pointer_traits<const_pointer>::pointer_to(__v);
-            iterator __e = __base::end();
-            iterator __em1 = _VSTD::prev(__e);
-            if (__vt == pointer_traits<const_pointer>::pointer_to(*__em1))
-                __vt = pointer_traits<const_pointer>::pointer_to(*__e);
-            __alloc_traits::construct(__a, _VSTD::addressof(*__e), _VSTD::move(*__em1));
-            ++__base::size();
-            if (__de > 1)
-                __e = __move_backward_and_check(__e - __de, __em1, __e, __vt);
-            *--__e = *__vt;
-        }
-    }
-    return __base::begin() + __pos;
-}
-
-template <class _Tp, class _Allocator>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::insert(const_iterator __p, size_type __n, const value_type& __v)
-{
-    size_type __pos = __p - __base::begin();
-    size_type __to_end = __base::size() - __pos;
-    allocator_type& __a = __base::__alloc();
-    if (__pos < __to_end)
-    {   // insert by shifting things backward
-        if (__n > __front_spare())
-            __add_front_capacity(__n - __front_spare());
-        // __n <= __front_spare()
-        iterator __old_begin = __base::begin();
-        iterator __i = __old_begin;
-        if (__n > __pos)
-        {
-            for (size_type __m = __n - __pos; __m; --__m, --__base::__start_, ++__base::size())
-                __alloc_traits::construct(__a, _VSTD::addressof(*--__i), __v);
-            __n = __pos;
-        }
-        if (__n > 0)
-        {
-            const_pointer __vt = pointer_traits<const_pointer>::pointer_to(__v);
-            iterator __obn = __old_begin + __n;
-            __move_construct_backward_and_check(__old_begin, __obn, __i, __vt);
-            if (__n < __pos)
-                __old_begin = __move_and_check(__obn, __old_begin + __pos, __old_begin, __vt);
-            _VSTD::fill_n(__old_begin, __n, *__vt);
-        }
-    }
-    else
-    {   // insert by shifting things forward
-        size_type __back_capacity = __back_spare();
-        if (__n > __back_capacity)
-            __add_back_capacity(__n - __back_capacity);
-        // __n <= __back_capacity
-        iterator __old_end = __base::end();
-        iterator __i = __old_end;
-        size_type __de = __base::size() - __pos;
-        if (__n > __de)
-        {
-            for (size_type __m = __n - __de; __m; --__m, ++__i, ++__base::size())
-                __alloc_traits::construct(__a, _VSTD::addressof(*__i), __v);
-            __n = __de;
-        }
-        if (__n > 0)
-        {
-            const_pointer __vt = pointer_traits<const_pointer>::pointer_to(__v);
-            iterator __oen = __old_end - __n;
-            __move_construct_and_check(__oen, __old_end, __i, __vt);
-            if (__n < __de)
-                __old_end = __move_backward_and_check(__old_end - __de, __oen, __old_end, __vt);
-            _VSTD::fill_n(__old_end - __n, __n, *__vt);
-        }
-    }
-    return __base::begin() + __pos;
-}
-
-template <class _Tp, class _Allocator>
-template <class _InputIter>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::insert(const_iterator __p, _InputIter __f, _InputIter __l,
-                               typename enable_if<__is_input_iterator<_InputIter>::value
-                                               &&!__is_forward_iterator<_InputIter>::value>::type*)
-{
-    __split_buffer<value_type, allocator_type&> __buf(__base::__alloc());
-    __buf.__construct_at_end(__f, __l);
-    typedef typename __split_buffer<value_type, allocator_type&>::iterator __bi;
-    return insert(__p, move_iterator<__bi>(__buf.begin()), move_iterator<__bi>(__buf.end()));
-}
-
-template <class _Tp, class _Allocator>
-template <class _ForwardIterator>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::insert(const_iterator __p, _ForwardIterator __f, _ForwardIterator __l,
-                               typename enable_if<__is_forward_iterator<_ForwardIterator>::value
-                                               &&!__is_bidirectional_iterator<_ForwardIterator>::value>::type*)
-{
-    size_type __n = _VSTD::distance(__f, __l);
-    __split_buffer<value_type, allocator_type&> __buf(__n, 0, __base::__alloc());
-    __buf.__construct_at_end(__f, __l);
-    typedef typename __split_buffer<value_type, allocator_type&>::iterator __fwd;
-    return insert(__p, move_iterator<__fwd>(__buf.begin()), move_iterator<__fwd>(__buf.end()));
-}
-
-template <class _Tp, class _Allocator>
-template <class _BiIter>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::insert(const_iterator __p, _BiIter __f, _BiIter __l,
-                               typename enable_if<__is_bidirectional_iterator<_BiIter>::value>::type*)
-{
-    size_type __n = _VSTD::distance(__f, __l);
-    size_type __pos = __p - __base::begin();
-    size_type __to_end = __base::size() - __pos;
-    allocator_type& __a = __base::__alloc();
-    if (__pos < __to_end)
-    {   // insert by shifting things backward
-        if (__n > __front_spare())
-            __add_front_capacity(__n - __front_spare());
-        // __n <= __front_spare()
-        iterator __old_begin = __base::begin();
-        iterator __i = __old_begin;
-        _BiIter __m = __f;
-        if (__n > __pos)
-        {
-            __m = __pos < __n / 2 ? _VSTD::prev(__l, __pos) : _VSTD::next(__f, __n - __pos);
-            for (_BiIter __j = __m; __j != __f; --__base::__start_, ++__base::size())
-                __alloc_traits::construct(__a, _VSTD::addressof(*--__i), *--__j);
-            __n = __pos;
-        }
-        if (__n > 0)
-        {
-            iterator __obn = __old_begin + __n;
-            for (iterator __j = __obn; __j != __old_begin;)
-            {
-                __alloc_traits::construct(__a, _VSTD::addressof(*--__i), _VSTD::move(*--__j));
-                --__base::__start_;
-                ++__base::size();
-            }
-            if (__n < __pos)
-                __old_begin = _VSTD::move(__obn, __old_begin + __pos, __old_begin);
-            _VSTD::copy(__m, __l, __old_begin);
-        }
-    }
-    else
-    {   // insert by shifting things forward
-        size_type __back_capacity = __back_spare();
-        if (__n > __back_capacity)
-            __add_back_capacity(__n - __back_capacity);
-        // __n <= __back_capacity
-        iterator __old_end = __base::end();
-        iterator __i = __old_end;
-        _BiIter __m = __l;
-        size_type __de = __base::size() - __pos;
-        if (__n > __de)
-        {
-            __m = __de < __n / 2 ? _VSTD::next(__f, __de) : _VSTD::prev(__l, __n - __de);
-            for (_BiIter __j = __m; __j != __l; ++__i, (void) ++__j, ++__base::size())
-                __alloc_traits::construct(__a, _VSTD::addressof(*__i), *__j);
-            __n = __de;
-        }
-        if (__n > 0)
-        {
-            iterator __oen = __old_end - __n;
-            for (iterator __j = __oen; __j != __old_end; ++__i, ++__j, ++__base::size())
-                __alloc_traits::construct(__a, _VSTD::addressof(*__i), _VSTD::move(*__j));
-            if (__n < __de)
-                __old_end = _VSTD::move_backward(__old_end - __de, __oen, __old_end);
-            _VSTD::copy_backward(__f, __m, __old_end);
-        }
-    }
-    return __base::begin() + __pos;
-}
-
-template <class _Tp, class _Allocator>
-template <class _InpIter>
-void
-deque<_Tp, _Allocator>::__append(_InpIter __f, _InpIter __l,
-                                 typename enable_if<__is_input_iterator<_InpIter>::value &&
-                                                   !__is_forward_iterator<_InpIter>::value>::type*)
-{
-    for (; __f != __l; ++__f)
-#ifdef _LIBCPP_CXX03_LANG
-        push_back(*__f);
-#else
-        emplace_back(*__f);
-#endif
-}
-
-template <class _Tp, class _Allocator>
-template <class _ForIter>
-void
-deque<_Tp, _Allocator>::__append(_ForIter __f, _ForIter __l,
-                                 typename enable_if<__is_forward_iterator<_ForIter>::value>::type*)
-{
-    size_type __n = _VSTD::distance(__f, __l);
-    allocator_type& __a = __base::__alloc();
-    size_type __back_capacity = __back_spare();
-    if (__n > __back_capacity)
-        __add_back_capacity(__n - __back_capacity);
-    // __n <= __back_capacity
-    for (__deque_block_range __br : __deque_range(__base::end(), __base::end() + __n)) {
-      _ConstructTransaction __tx(this, __br);
-      for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_, (void)++__f) {
-        __alloc_traits::construct(__a, std::__to_raw_pointer(__tx.__pos_), *__f);
-      }
-    }
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__append(size_type __n)
-{
-    allocator_type& __a = __base::__alloc();
-    size_type __back_capacity = __back_spare();
-    if (__n > __back_capacity)
-        __add_back_capacity(__n - __back_capacity);
-    // __n <= __back_capacity
-    for (__deque_block_range __br : __deque_range(__base::end(), __base::end() + __n)) {
-      _ConstructTransaction __tx(this, __br);
-      for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_) {
-        __alloc_traits::construct(__a, std::__to_raw_pointer(__tx.__pos_));
-      }
-    }
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__append(size_type __n, const value_type& __v)
-{
-    allocator_type& __a = __base::__alloc();
-    size_type __back_capacity = __back_spare();
-    if (__n > __back_capacity)
-        __add_back_capacity(__n - __back_capacity);
-    // __n <= __back_capacity
-    for (__deque_block_range __br : __deque_range(__base::end(), __base::end() + __n)) {
-      _ConstructTransaction __tx(this, __br);
-      for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_) {
-        __alloc_traits::construct(__a, std::__to_raw_pointer(__tx.__pos_), __v);
-      }
-    }
-
-}
-
-// Create front capacity for one block of elements.
-// Strong guarantee.  Either do it or don't touch anything.
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__add_front_capacity()
-{
-    allocator_type& __a = __base::__alloc();
-    if (__back_spare() >= __base::__block_size)
-    {
-        __base::__start_ += __base::__block_size;
-        pointer __pt = __base::__map_.back();
-        __base::__map_.pop_back();
-        __base::__map_.push_front(__pt);
-    }
-    // Else if __base::__map_.size() < __base::__map_.capacity() then we need to allocate 1 buffer
-    else if (__base::__map_.size() < __base::__map_.capacity())
-    {   // we can put the new buffer into the map, but don't shift things around
-        // until all buffers are allocated.  If we throw, we don't need to fix
-        // anything up (any added buffers are undetectible)
-        if (__base::__map_.__front_spare() > 0)
-            __base::__map_.push_front(__alloc_traits::allocate(__a, __base::__block_size));
-        else
-        {
-            __base::__map_.push_back(__alloc_traits::allocate(__a, __base::__block_size));
-            // Done allocating, reorder capacity
-            pointer __pt = __base::__map_.back();
-            __base::__map_.pop_back();
-            __base::__map_.push_front(__pt);
-        }
-        __base::__start_ = __base::__map_.size() == 1 ?
-                               __base::__block_size / 2 :
-                               __base::__start_ + __base::__block_size;
-    }
-    // Else need to allocate 1 buffer, *and* we need to reallocate __map_.
-    else
-    {
-        __split_buffer<pointer, typename __base::__pointer_allocator&>
-            __buf(max<size_type>(2 * __base::__map_.capacity(), 1),
-                  0, __base::__map_.__alloc());
-
-        typedef __allocator_destructor<_Allocator> _Dp;
-        unique_ptr<pointer, _Dp> __hold(
-            __alloc_traits::allocate(__a, __base::__block_size),
-                _Dp(__a, __base::__block_size));
-        __buf.push_back(__hold.get());
-        __hold.release();
-
-        for (typename __base::__map_pointer __i = __base::__map_.begin();
-                __i != __base::__map_.end(); ++__i)
-            __buf.push_back(*__i);
-        _VSTD::swap(__base::__map_.__first_, __buf.__first_);
-        _VSTD::swap(__base::__map_.__begin_, __buf.__begin_);
-        _VSTD::swap(__base::__map_.__end_, __buf.__end_);
-        _VSTD::swap(__base::__map_.__end_cap(), __buf.__end_cap());
-        __base::__start_ = __base::__map_.size() == 1 ?
-                               __base::__block_size / 2 :
-                               __base::__start_ + __base::__block_size;
-    }
-}
-
-// Create front capacity for __n elements.
-// Strong guarantee.  Either do it or don't touch anything.
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__add_front_capacity(size_type __n)
-{
-    allocator_type& __a = __base::__alloc();
-    size_type __nb = __recommend_blocks(__n + __base::__map_.empty());
-    // Number of unused blocks at back:
-    size_type __back_capacity = __back_spare() / __base::__block_size;
-    __back_capacity = _VSTD::min(__back_capacity, __nb);  // don't take more than you need
-    __nb -= __back_capacity;  // number of blocks need to allocate
-    // If __nb == 0, then we have sufficient capacity.
-    if (__nb == 0)
-    {
-        __base::__start_ += __base::__block_size * __back_capacity;
-        for (; __back_capacity > 0; --__back_capacity)
-        {
-            pointer __pt = __base::__map_.back();
-            __base::__map_.pop_back();
-            __base::__map_.push_front(__pt);
-        }
-    }
-    // Else if __nb <= __map_.capacity() - __map_.size() then we need to allocate __nb buffers
-    else if (__nb <= __base::__map_.capacity() - __base::__map_.size())
-    {   // we can put the new buffers into the map, but don't shift things around
-        // until all buffers are allocated.  If we throw, we don't need to fix
-        // anything up (any added buffers are undetectible)
-        for (; __nb > 0; --__nb, __base::__start_ += __base::__block_size - (__base::__map_.size() == 1))
-        {
-            if (__base::__map_.__front_spare() == 0)
-                break;
-            __base::__map_.push_front(__alloc_traits::allocate(__a, __base::__block_size));
-        }
-        for (; __nb > 0; --__nb, ++__back_capacity)
-            __base::__map_.push_back(__alloc_traits::allocate(__a, __base::__block_size));
-        // Done allocating, reorder capacity
-        __base::__start_ += __back_capacity * __base::__block_size;
-        for (; __back_capacity > 0; --__back_capacity)
-        {
-            pointer __pt = __base::__map_.back();
-            __base::__map_.pop_back();
-            __base::__map_.push_front(__pt);
-        }
-    }
-    // Else need to allocate __nb buffers, *and* we need to reallocate __map_.
-    else
-    {
-        size_type __ds = (__nb + __back_capacity) * __base::__block_size - __base::__map_.empty();
-        __split_buffer<pointer, typename __base::__pointer_allocator&>
-            __buf(max<size_type>(2* __base::__map_.capacity(),
-                                 __nb + __base::__map_.size()),
-                  0, __base::__map_.__alloc());
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (; __nb > 0; --__nb)
-                __buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            for (typename __base::__map_pointer __i = __buf.begin();
-                    __i != __buf.end(); ++__i)
-                __alloc_traits::deallocate(__a, *__i, __base::__block_size);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        for (; __back_capacity > 0; --__back_capacity)
-        {
-            __buf.push_back(__base::__map_.back());
-            __base::__map_.pop_back();
-        }
-        for (typename __base::__map_pointer __i = __base::__map_.begin();
-                __i != __base::__map_.end(); ++__i)
-            __buf.push_back(*__i);
-        _VSTD::swap(__base::__map_.__first_, __buf.__first_);
-        _VSTD::swap(__base::__map_.__begin_, __buf.__begin_);
-        _VSTD::swap(__base::__map_.__end_, __buf.__end_);
-        _VSTD::swap(__base::__map_.__end_cap(), __buf.__end_cap());
-        __base::__start_ += __ds;
-    }
-}
-
-// Create back capacity for one block of elements.
-// Strong guarantee.  Either do it or don't touch anything.
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__add_back_capacity()
-{
-    allocator_type& __a = __base::__alloc();
-    if (__front_spare() >= __base::__block_size)
-    {
-        __base::__start_ -= __base::__block_size;
-        pointer __pt = __base::__map_.front();
-        __base::__map_.pop_front();
-        __base::__map_.push_back(__pt);
-    }
-    // Else if __nb <= __map_.capacity() - __map_.size() then we need to allocate __nb buffers
-    else if (__base::__map_.size() < __base::__map_.capacity())
-    {   // we can put the new buffer into the map, but don't shift things around
-        // until it is allocated.  If we throw, we don't need to fix
-        // anything up (any added buffers are undetectible)
-        if (__base::__map_.__back_spare() != 0)
-            __base::__map_.push_back(__alloc_traits::allocate(__a, __base::__block_size));
-        else
-        {
-            __base::__map_.push_front(__alloc_traits::allocate(__a, __base::__block_size));
-            // Done allocating, reorder capacity
-            pointer __pt = __base::__map_.front();
-            __base::__map_.pop_front();
-            __base::__map_.push_back(__pt);
-        }
-    }
-    // Else need to allocate 1 buffer, *and* we need to reallocate __map_.
-    else
-    {
-        __split_buffer<pointer, typename __base::__pointer_allocator&>
-            __buf(max<size_type>(2* __base::__map_.capacity(), 1),
-                  __base::__map_.size(),
-                  __base::__map_.__alloc());
-
-        typedef __allocator_destructor<_Allocator> _Dp;
-        unique_ptr<pointer, _Dp> __hold(
-            __alloc_traits::allocate(__a, __base::__block_size),
-                _Dp(__a, __base::__block_size));
-        __buf.push_back(__hold.get());
-        __hold.release();
-
-        for (typename __base::__map_pointer __i = __base::__map_.end();
-                __i != __base::__map_.begin();)
-            __buf.push_front(*--__i);
-        _VSTD::swap(__base::__map_.__first_, __buf.__first_);
-        _VSTD::swap(__base::__map_.__begin_, __buf.__begin_);
-        _VSTD::swap(__base::__map_.__end_, __buf.__end_);
-        _VSTD::swap(__base::__map_.__end_cap(), __buf.__end_cap());
-    }
-}
-
-// Create back capacity for __n elements.
-// Strong guarantee.  Either do it or don't touch anything.
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__add_back_capacity(size_type __n)
-{
-    allocator_type& __a = __base::__alloc();
-    size_type __nb = __recommend_blocks(__n + __base::__map_.empty());
-    // Number of unused blocks at front:
-    size_type __front_capacity = __front_spare() / __base::__block_size;
-    __front_capacity = _VSTD::min(__front_capacity, __nb);  // don't take more than you need
-    __nb -= __front_capacity;  // number of blocks need to allocate
-    // If __nb == 0, then we have sufficient capacity.
-    if (__nb == 0)
-    {
-        __base::__start_ -= __base::__block_size * __front_capacity;
-        for (; __front_capacity > 0; --__front_capacity)
-        {
-            pointer __pt = __base::__map_.front();
-            __base::__map_.pop_front();
-            __base::__map_.push_back(__pt);
-        }
-    }
-    // Else if __nb <= __map_.capacity() - __map_.size() then we need to allocate __nb buffers
-    else if (__nb <= __base::__map_.capacity() - __base::__map_.size())
-    {   // we can put the new buffers into the map, but don't shift things around
-        // until all buffers are allocated.  If we throw, we don't need to fix
-        // anything up (any added buffers are undetectible)
-        for (; __nb > 0; --__nb)
-        {
-            if (__base::__map_.__back_spare() == 0)
-                break;
-            __base::__map_.push_back(__alloc_traits::allocate(__a, __base::__block_size));
-        }
-        for (; __nb > 0; --__nb, ++__front_capacity, __base::__start_ +=
-                                 __base::__block_size - (__base::__map_.size() == 1))
-            __base::__map_.push_front(__alloc_traits::allocate(__a, __base::__block_size));
-        // Done allocating, reorder capacity
-        __base::__start_ -= __base::__block_size * __front_capacity;
-        for (; __front_capacity > 0; --__front_capacity)
-        {
-            pointer __pt = __base::__map_.front();
-            __base::__map_.pop_front();
-            __base::__map_.push_back(__pt);
-        }
-    }
-    // Else need to allocate __nb buffers, *and* we need to reallocate __map_.
-    else
-    {
-        size_type __ds = __front_capacity * __base::__block_size;
-        __split_buffer<pointer, typename __base::__pointer_allocator&>
-            __buf(max<size_type>(2* __base::__map_.capacity(),
-                                 __nb + __base::__map_.size()),
-                  __base::__map_.size() - __front_capacity,
-                  __base::__map_.__alloc());
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (; __nb > 0; --__nb)
-                __buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            for (typename __base::__map_pointer __i = __buf.begin();
-                    __i != __buf.end(); ++__i)
-                __alloc_traits::deallocate(__a, *__i, __base::__block_size);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        for (; __front_capacity > 0; --__front_capacity)
-        {
-            __buf.push_back(__base::__map_.front());
-            __base::__map_.pop_front();
-        }
-        for (typename __base::__map_pointer __i = __base::__map_.end();
-                __i != __base::__map_.begin();)
-            __buf.push_front(*--__i);
-        _VSTD::swap(__base::__map_.__first_, __buf.__first_);
-        _VSTD::swap(__base::__map_.__begin_, __buf.__begin_);
-        _VSTD::swap(__base::__map_.__end_, __buf.__end_);
-        _VSTD::swap(__base::__map_.__end_cap(), __buf.__end_cap());
-        __base::__start_ -= __ds;
-    }
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::pop_front()
-{
-    allocator_type& __a = __base::__alloc();
-    __alloc_traits::destroy(__a, __to_raw_pointer(*(__base::__map_.begin() +
-                                                    __base::__start_ / __base::__block_size) +
-                                                    __base::__start_ % __base::__block_size));
-    --__base::size();
-    ++__base::__start_;
-    __maybe_remove_front_spare();
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::pop_back()
-{
-    _LIBCPP_ASSERT(!empty(), "deque::pop_back called for empty deque");
-    allocator_type& __a = __base::__alloc();
-    size_type __p = __base::size() + __base::__start_ - 1;
-    __alloc_traits::destroy(__a, __to_raw_pointer(*(__base::__map_.begin() +
-                                                    __p / __base::__block_size) +
-                                                    __p % __base::__block_size));
-    --__base::size();
-    __maybe_remove_back_spare();
-}
-
-// move assign [__f, __l) to [__r, __r + (__l-__f)).
-// If __vt points into [__f, __l), then subtract (__f - __r) from __vt.
-template <class _Tp, class _Allocator>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::__move_and_check(iterator __f, iterator __l, iterator __r,
-                                         const_pointer& __vt)
-{
-    // as if
-    //   for (; __f != __l; ++__f, ++__r)
-    //       *__r = _VSTD::move(*__f);
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        pointer __fb = __f.__ptr_;
-        pointer __fe = *__f.__m_iter_ + __base::__block_size;
-        difference_type __bs = __fe - __fb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __fe = __fb + __bs;
-        }
-        if (__fb <= __vt && __vt < __fe)
-            __vt = (const_iterator(static_cast<__map_const_pointer>(__f.__m_iter_), __vt) -= __f - __r).__ptr_;
-        __r = _VSTD::move(__fb, __fe, __r);
-        __n -= __bs;
-        __f += __bs;
-    }
-    return __r;
-}
-
-// move assign [__f, __l) to [__r - (__l-__f), __r) backwards.
-// If __vt points into [__f, __l), then add (__r - __l) to __vt.
-template <class _Tp, class _Allocator>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::__move_backward_and_check(iterator __f, iterator __l, iterator __r,
-                                                  const_pointer& __vt)
-{
-    // as if
-    //   while (__f != __l)
-    //       *--__r = _VSTD::move(*--__l);
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        --__l;
-        pointer __lb = *__l.__m_iter_;
-        pointer __le = __l.__ptr_ + 1;
-        difference_type __bs = __le - __lb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __lb = __le - __bs;
-        }
-        if (__lb <= __vt && __vt < __le)
-            __vt = (const_iterator(static_cast<__map_const_pointer>(__l.__m_iter_), __vt) += __r - __l - 1).__ptr_;
-        __r = _VSTD::move_backward(__lb, __le, __r);
-        __n -= __bs;
-        __l -= __bs - 1;
-    }
-    return __r;
-}
-
-// move construct [__f, __l) to [__r, __r + (__l-__f)).
-// If __vt points into [__f, __l), then add (__r - __f) to __vt.
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__move_construct_and_check(iterator __f, iterator __l,
-                                                   iterator __r, const_pointer& __vt)
-{
-    allocator_type& __a = __base::__alloc();
-    // as if
-    //   for (; __f != __l; ++__r, ++__f, ++__base::size())
-    //       __alloc_traits::construct(__a, _VSTD::addressof(*__r), _VSTD::move(*__f));
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        pointer __fb = __f.__ptr_;
-        pointer __fe = *__f.__m_iter_ + __base::__block_size;
-        difference_type __bs = __fe - __fb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __fe = __fb + __bs;
-        }
-        if (__fb <= __vt && __vt < __fe)
-            __vt = (const_iterator(static_cast<__map_const_pointer>(__f.__m_iter_), __vt) += __r - __f).__ptr_;
-        for (; __fb != __fe; ++__fb, ++__r, ++__base::size())
-            __alloc_traits::construct(__a, _VSTD::addressof(*__r), _VSTD::move(*__fb));
-        __n -= __bs;
-        __f += __bs;
-    }
-}
-
-// move construct [__f, __l) to [__r - (__l-__f), __r) backwards.
-// If __vt points into [__f, __l), then subtract (__l - __r) from __vt.
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__move_construct_backward_and_check(iterator __f, iterator __l,
-                                                            iterator __r, const_pointer& __vt)
-{
-    allocator_type& __a = __base::__alloc();
-    // as if
-    //   for (iterator __j = __l; __j != __f;)
-    //   {
-    //       __alloc_traitsconstruct(__a, _VSTD::addressof(*--__r), _VSTD::move(*--__j));
-    //       --__base::__start_;
-    //       ++__base::size();
-    //   }
-    difference_type __n = __l - __f;
-    while (__n > 0)
-    {
-        --__l;
-        pointer __lb = *__l.__m_iter_;
-        pointer __le = __l.__ptr_ + 1;
-        difference_type __bs = __le - __lb;
-        if (__bs > __n)
-        {
-            __bs = __n;
-            __lb = __le - __bs;
-        }
-        if (__lb <= __vt && __vt < __le)
-            __vt = (const_iterator(static_cast<__map_const_pointer>(__l.__m_iter_), __vt) -= __l - __r + 1).__ptr_;
-        while (__le != __lb)
-        {
-            __alloc_traits::construct(__a, _VSTD::addressof(*--__r), _VSTD::move(*--__le));
-            --__base::__start_;
-            ++__base::size();
-        }
-        __n -= __bs;
-        __l -= __bs - 1;
-    }
-}
-
-template <class _Tp, class _Allocator>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::erase(const_iterator __f)
-{
-    iterator __b = __base::begin();
-    difference_type __pos = __f - __b;
-    iterator __p = __b + __pos;
-    allocator_type& __a = __base::__alloc();
-    if (static_cast<size_t>(__pos) <= (__base::size() - 1) / 2)
-    {   // erase from front
-        _VSTD::move_backward(__b, __p, _VSTD::next(__p));
-        __alloc_traits::destroy(__a, _VSTD::addressof(*__b));
-        --__base::size();
-        ++__base::__start_;
-        __maybe_remove_front_spare();
-    }
-    else
-    {   // erase from back
-        iterator __i = _VSTD::move(_VSTD::next(__p), __base::end(), __p);
-        __alloc_traits::destroy(__a, _VSTD::addressof(*__i));
-        --__base::size();
-        __maybe_remove_back_spare();
-    }
-    return __base::begin() + __pos;
-}
-
-template <class _Tp, class _Allocator>
-typename deque<_Tp, _Allocator>::iterator
-deque<_Tp, _Allocator>::erase(const_iterator __f, const_iterator __l)
-{
-    difference_type __n = __l - __f;
-    iterator __b = __base::begin();
-    difference_type __pos = __f - __b;
-    iterator __p = __b + __pos;
-    if (__n > 0)
-    {
-        allocator_type& __a = __base::__alloc();
-        if (static_cast<size_t>(__pos) <= (__base::size() - __n) / 2)
-        {   // erase from front
-            iterator __i = _VSTD::move_backward(__b, __p, __p + __n);
-            for (; __b != __i; ++__b)
-                __alloc_traits::destroy(__a, _VSTD::addressof(*__b));
-            __base::size() -= __n;
-            __base::__start_ += __n;
-            while (__maybe_remove_front_spare()) {
-            }
-        }
-        else
-        {   // erase from back
-            iterator __i = _VSTD::move(__p + __n, __base::end(), __p);
-            for (iterator __e = __base::end(); __i != __e; ++__i)
-                __alloc_traits::destroy(__a, _VSTD::addressof(*__i));
-            __base::size() -= __n;
-            while (__maybe_remove_back_spare()) {
-            }
-        }
-    }
-    return __base::begin() + __pos;
-}
-
-template <class _Tp, class _Allocator>
-void
-deque<_Tp, _Allocator>::__erase_to_end(const_iterator __f)
-{
-    iterator __e = __base::end();
-    difference_type __n = __e - __f;
-    if (__n > 0)
-    {
-        allocator_type& __a = __base::__alloc();
-        iterator __b = __base::begin();
-        difference_type __pos = __f - __b;
-        for (iterator __p = __b + __pos; __p != __e; ++__p)
-            __alloc_traits::destroy(__a, _VSTD::addressof(*__p));
-        __base::size() -= __n;
-        while (__maybe_remove_back_spare()) {
-        }
-    }
-}
-
-template <class _Tp, class _Allocator>
-inline
-void
-deque<_Tp, _Allocator>::swap(deque& __c)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value)
-#endif
-{
-    __base::swap(__c);
-}
-
-template <class _Tp, class _Allocator>
-inline
-void
-deque<_Tp, _Allocator>::clear() _NOEXCEPT
-{
-    __base::clear();
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y)
-{
-    const typename deque<_Tp, _Allocator>::size_type __sz = __x.size();
-    return __sz == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(deque<_Tp, _Allocator>& __x, deque<_Tp, _Allocator>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Tp, class _Allocator, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase(deque<_Tp, _Allocator>& __c, const _Up& __v)
-{ __c.erase(_VSTD::remove(__c.begin(), __c.end(), __v), __c.end()); }
-
-template <class _Tp, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(deque<_Tp, _Allocator>& __c, _Predicate __pred)
-{ __c.erase(_VSTD::remove_if(__c.begin(), __c.end(), __pred), __c.end()); }
-#endif
-
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_DEQUE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/exception b/r21/sources/cxx-stl/llvm-libc++/include/exception
deleted file mode 100644
index c7dcac2..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/exception
+++ /dev/null
@@ -1,329 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- exception ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXCEPTION
-#define _LIBCPP_EXCEPTION
-
-/*
-    exception synopsis
-
-namespace std
-{
-
-class exception
-{
-public:
-    exception() noexcept;
-    exception(const exception&) noexcept;
-    exception& operator=(const exception&) noexcept;
-    virtual ~exception() noexcept;
-    virtual const char* what() const noexcept;
-};
-
-class bad_exception
-    : public exception
-{
-public:
-    bad_exception() noexcept;
-    bad_exception(const bad_exception&) noexcept;
-    bad_exception& operator=(const bad_exception&) noexcept;
-    virtual ~bad_exception() noexcept;
-    virtual const char* what() const noexcept;
-};
-
-typedef void (*unexpected_handler)();
-unexpected_handler set_unexpected(unexpected_handler  f ) noexcept;
-unexpected_handler get_unexpected() noexcept;
-[[noreturn]] void unexpected();
-
-typedef void (*terminate_handler)();
-terminate_handler set_terminate(terminate_handler  f ) noexcept;
-terminate_handler get_terminate() noexcept;
-[[noreturn]] void terminate() noexcept;
-
-bool uncaught_exception()  noexcept;
-int  uncaught_exceptions() noexcept;  // C++17
-
-typedef unspecified exception_ptr;
-
-exception_ptr current_exception() noexcept;
-void rethrow_exception [[noreturn]] (exception_ptr p);
-template<class E> exception_ptr make_exception_ptr(E e) noexcept;
-
-class nested_exception
-{
-public:
-    nested_exception() noexcept;
-    nested_exception(const nested_exception&) noexcept = default;
-    nested_exception& operator=(const nested_exception&) noexcept = default;
-    virtual ~nested_exception() = default;
-
-    // access functions
-    [[noreturn]] void rethrow_nested() const;
-    exception_ptr nested_ptr() const noexcept;
-};
-
-template <class T> [[noreturn]] void throw_with_nested(T&& t);
-template <class E> void rethrow_if_nested(const E& e);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <cstddef>
-#include <cstdlib>
-#include <type_traits>
-#include <version>
-
-#if defined(_LIBCPP_ABI_VCRUNTIME)
-#include <vcruntime_exception.h>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-namespace std  // purposefully not using versioning namespace
-{
-
-#if !defined(_LIBCPP_ABI_VCRUNTIME)
-class _LIBCPP_EXCEPTION_ABI exception
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY exception() _NOEXCEPT {}
-    virtual ~exception() _NOEXCEPT;
-    virtual const char* what() const _NOEXCEPT;
-};
-
-class _LIBCPP_EXCEPTION_ABI bad_exception
-    : public exception
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY bad_exception() _NOEXCEPT {}
-    virtual ~bad_exception() _NOEXCEPT;
-    virtual const char* what() const _NOEXCEPT;
-};
-#endif // !_LIBCPP_ABI_VCRUNTIME
-
-#if _LIBCPP_STD_VER <= 14 \
-    || defined(_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS) \
-    || defined(_LIBCPP_BUILDING_LIBRARY)
-typedef void (*unexpected_handler)();
-_LIBCPP_FUNC_VIS unexpected_handler set_unexpected(unexpected_handler) _NOEXCEPT;
-_LIBCPP_FUNC_VIS unexpected_handler get_unexpected() _NOEXCEPT;
-_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void unexpected();
-#endif
-
-typedef void (*terminate_handler)();
-_LIBCPP_FUNC_VIS terminate_handler set_terminate(terminate_handler) _NOEXCEPT;
-_LIBCPP_FUNC_VIS terminate_handler get_terminate() _NOEXCEPT;
-_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void terminate() _NOEXCEPT;
-
-_LIBCPP_FUNC_VIS bool uncaught_exception() _NOEXCEPT;
-_LIBCPP_FUNC_VIS _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS int uncaught_exceptions() _NOEXCEPT;
-
-class _LIBCPP_TYPE_VIS exception_ptr;
-
-_LIBCPP_FUNC_VIS exception_ptr current_exception() _NOEXCEPT;
-_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void rethrow_exception(exception_ptr);
-
-#ifndef _LIBCPP_ABI_MICROSOFT
-
-class _LIBCPP_TYPE_VIS exception_ptr
-{
-    void* __ptr_;
-public:
-    _LIBCPP_INLINE_VISIBILITY exception_ptr() _NOEXCEPT : __ptr_() {}
-    _LIBCPP_INLINE_VISIBILITY exception_ptr(nullptr_t) _NOEXCEPT : __ptr_() {}
-
-    exception_ptr(const exception_ptr&) _NOEXCEPT;
-    exception_ptr& operator=(const exception_ptr&) _NOEXCEPT;
-    ~exception_ptr() _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT
-    {return __ptr_ != nullptr;}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT
-        {return __x.__ptr_ == __y.__ptr_;}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT
-        {return !(__x == __y);}
-
-    friend _LIBCPP_FUNC_VIS exception_ptr current_exception() _NOEXCEPT;
-    friend _LIBCPP_FUNC_VIS void rethrow_exception(exception_ptr);
-};
-
-template<class _Ep>
-_LIBCPP_INLINE_VISIBILITY exception_ptr
-make_exception_ptr(_Ep __e) _NOEXCEPT
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-        throw __e;
-    }
-    catch (...)
-    {
-        return current_exception();
-    }
-#else
-    ((void)__e);
-    _VSTD::abort();
-#endif
-}
-
-#else // _LIBCPP_ABI_MICROSOFT
-
-class _LIBCPP_TYPE_VIS exception_ptr
-{
-#if defined(__clang__)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wunused-private-field"
-#endif
-    void* __ptr1_;
-    void* __ptr2_;
-#if defined(__clang__)
-#pragma clang diagnostic pop
-#endif
-public:
-    exception_ptr() _NOEXCEPT;
-    exception_ptr(nullptr_t) _NOEXCEPT;
-    exception_ptr(const exception_ptr& __other) _NOEXCEPT;
-    exception_ptr& operator=(const exception_ptr& __other) _NOEXCEPT;
-    exception_ptr& operator=(nullptr_t) _NOEXCEPT;
-    ~exception_ptr() _NOEXCEPT;
-    _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT;
-};
-
-_LIBCPP_FUNC_VIS
-bool operator==(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT;
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator!=(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT
-    {return !(__x == __y);}
-
-_LIBCPP_FUNC_VIS void swap(exception_ptr&, exception_ptr&) _NOEXCEPT;
-
-_LIBCPP_FUNC_VIS exception_ptr __copy_exception_ptr(void *__except, const void* __ptr);
-_LIBCPP_FUNC_VIS exception_ptr current_exception() _NOEXCEPT;
-_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void rethrow_exception(exception_ptr p);
-
-// This is a built-in template function which automagically extracts the required
-// information.
-template <class _E> void *__GetExceptionInfo(_E);
-
-template<class _Ep>
-_LIBCPP_INLINE_VISIBILITY exception_ptr
-make_exception_ptr(_Ep __e) _NOEXCEPT
-{
-  return __copy_exception_ptr(_VSTD::addressof(__e), __GetExceptionInfo(__e));
-}
-
-#endif // _LIBCPP_ABI_MICROSOFT
-// nested_exception
-
-class _LIBCPP_EXCEPTION_ABI nested_exception
-{
-    exception_ptr __ptr_;
-public:
-    nested_exception() _NOEXCEPT;
-//     nested_exception(const nested_exception&) noexcept = default;
-//     nested_exception& operator=(const nested_exception&) noexcept = default;
-    virtual ~nested_exception() _NOEXCEPT;
-
-    // access functions
-    _LIBCPP_NORETURN void rethrow_nested() const;
-    _LIBCPP_INLINE_VISIBILITY exception_ptr nested_ptr() const _NOEXCEPT {return __ptr_;}
-};
-
-template <class _Tp>
-struct __nested
-    : public _Tp,
-      public nested_exception
-{
-    _LIBCPP_INLINE_VISIBILITY explicit __nested(const _Tp& __t) : _Tp(__t) {}
-};
-
-#ifndef _LIBCPP_NO_EXCEPTIONS
-template <class _Tp, class _Up, bool>
-struct __throw_with_nested;
-
-template <class _Tp, class _Up>
-struct __throw_with_nested<_Tp, _Up, true> {
-    _LIBCPP_NORETURN static inline _LIBCPP_INLINE_VISIBILITY void
-    __do_throw(_Tp&& __t)
-    {
-        throw __nested<_Up>(_VSTD::forward<_Tp>(__t));
-    }
-};
-
-template <class _Tp, class _Up>
-struct __throw_with_nested<_Tp, _Up, false> {
-    _LIBCPP_NORETURN static inline _LIBCPP_INLINE_VISIBILITY void
-#ifndef _LIBCPP_CXX03_LANG
-    __do_throw(_Tp&& __t)
-#else
-    __do_throw (_Tp& __t)
-#endif  // _LIBCPP_CXX03_LANG
-    {
-        throw _VSTD::forward<_Tp>(__t);
-    }
-};
-#endif
-
-template <class _Tp>
-_LIBCPP_NORETURN
-void
-throw_with_nested(_Tp&& __t)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    typedef typename decay<_Tp>::type _Up;
-    static_assert( is_copy_constructible<_Up>::value, "type thrown must be CopyConstructible");
-    __throw_with_nested<_Tp, _Up,
-        is_class<_Up>::value &&
-        !is_base_of<nested_exception, _Up>::value &&
-        !__libcpp_is_final<_Up>::value>::
-            __do_throw(_VSTD::forward<_Tp>(__t));
-#else
-    ((void)__t);
-    // FIXME: Make this abort
-#endif
-}
-
-template <class _From, class _To>
-struct __can_dynamic_cast : public _LIBCPP_BOOL_CONSTANT(
-              is_polymorphic<_From>::value &&
-                 (!is_base_of<_To, _From>::value ||
-                   is_convertible<const _From*, const _To*>::value)) {};
-
-template <class _Ep>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-rethrow_if_nested(const _Ep& __e,
-                  typename enable_if< __can_dynamic_cast<_Ep, nested_exception>::value>::type* = 0)
-{
-    const nested_exception* __nep = dynamic_cast<const nested_exception*>(_VSTD::addressof(__e));
-    if (__nep)
-        __nep->rethrow_nested();
-}
-
-template <class _Ep>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-rethrow_if_nested(const _Ep&,
-                  typename enable_if<!__can_dynamic_cast<_Ep, nested_exception>::value>::type* = 0)
-{
-}
-
-}  // std
-
-#endif  // _LIBCPP_EXCEPTION
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/coroutine b/r21/sources/cxx-stl/llvm-libc++/include/experimental/coroutine
deleted file mode 100644
index e2f0a25..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/experimental/coroutine
+++ /dev/null
@@ -1,335 +0,0 @@
-// -*- C++ -*-
-//===----------------------------- coroutine -----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_COROUTINE
-#define _LIBCPP_EXPERIMENTAL_COROUTINE
-
-/**
-    experimental/coroutine synopsis
-
-// C++next
-
-namespace std {
-namespace experimental {
-inline namespace coroutines_v1 {
-
-  // 18.11.1 coroutine traits
-template <typename R, typename... ArgTypes>
-class coroutine_traits;
-// 18.11.2 coroutine handle
-template <typename Promise = void>
-class coroutine_handle;
-// 18.11.2.7 comparison operators:
-bool operator==(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT;
-bool operator!=(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT;
-bool operator<(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT;
-bool operator<=(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT;
-bool operator>=(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT;
-bool operator>(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT;
-// 18.11.3 trivial awaitables
-struct suspend_never;
-struct suspend_always;
-// 18.11.2.8 hash support:
-template <class T> struct hash;
-template <class P> struct hash<coroutine_handle<P>>;
-
-} // namespace coroutines_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <new>
-#include <type_traits>
-#include <functional>
-#include <memory> // for hash<T*>
-#include <cstddef>
-#include <cassert>
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef _LIBCPP_HAS_NO_COROUTINES
-# if defined(_LIBCPP_WARNING)
-    _LIBCPP_WARNING("<experimental/coroutine> cannot be used with this compiler")
-# else
-#   warning <experimental/coroutine> cannot be used with this compiler
-# endif
-#endif
-
-#ifndef _LIBCPP_HAS_NO_COROUTINES
-
-_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_COROUTINES
-
-template <class _Tp, class = void>
-struct __coroutine_traits_sfinae {};
-
-template <class _Tp>
-struct __coroutine_traits_sfinae<
-    _Tp, typename __void_t<typename _Tp::promise_type>::type>
-{
-  using promise_type = typename _Tp::promise_type;
-};
-
-template <typename _Ret, typename... _Args>
-struct coroutine_traits
-    : public __coroutine_traits_sfinae<_Ret>
-{
-};
-
-template <typename _Promise = void>
-class _LIBCPP_TEMPLATE_VIS coroutine_handle;
-
-template <>
-class _LIBCPP_TEMPLATE_VIS coroutine_handle<void> {
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR coroutine_handle() _NOEXCEPT : __handle_(nullptr) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR coroutine_handle(nullptr_t) _NOEXCEPT : __handle_(nullptr) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    coroutine_handle& operator=(nullptr_t) _NOEXCEPT {
-        __handle_ = nullptr;
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR void* address() const _NOEXCEPT { return __handle_; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR explicit operator bool() const _NOEXCEPT { return __handle_; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()() { resume(); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void resume() {
-      _LIBCPP_ASSERT(__is_suspended(),
-                     "resume() can only be called on suspended coroutines");
-      _LIBCPP_ASSERT(!done(),
-                "resume() has undefined behavior when the coroutine is done");
-      __builtin_coro_resume(__handle_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void destroy() {
-      _LIBCPP_ASSERT(__is_suspended(),
-                     "destroy() can only be called on suspended coroutines");
-      __builtin_coro_destroy(__handle_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool done() const {
-      _LIBCPP_ASSERT(__is_suspended(),
-                     "done() can only be called on suspended coroutines");
-      return __builtin_coro_done(__handle_);
-    }
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    static coroutine_handle from_address(void* __addr) _NOEXCEPT {
-        coroutine_handle __tmp;
-        __tmp.__handle_ = __addr;
-        return __tmp;
-    }
-
-    // FIXME: Should from_address(nullptr) be allowed?
-    _LIBCPP_INLINE_VISIBILITY
-    static coroutine_handle from_address(nullptr_t) _NOEXCEPT {
-      return coroutine_handle(nullptr);
-    }
-
-    template <class _Tp, bool _CallIsValid = false>
-    static coroutine_handle from_address(_Tp*) {
-      static_assert(_CallIsValid,
-       "coroutine_handle<void>::from_address cannot be called with "
-        "non-void pointers");
-    }
-
-private:
-  bool __is_suspended() const _NOEXCEPT  {
-    // FIXME actually implement a check for if the coro is suspended.
-    return __handle_;
-  }
-
-  template <class _PromiseT> friend class coroutine_handle;
-  void* __handle_;
-};
-
-// 18.11.2.7 comparison operators:
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator==(coroutine_handle<> __x, coroutine_handle<> __y) _NOEXCEPT {
-    return __x.address() == __y.address();
-}
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator!=(coroutine_handle<> __x, coroutine_handle<> __y) _NOEXCEPT {
-    return !(__x == __y);
-}
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator<(coroutine_handle<> __x, coroutine_handle<> __y) _NOEXCEPT {
-    return less<void*>()(__x.address(), __y.address());
-}
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator>(coroutine_handle<> __x, coroutine_handle<> __y) _NOEXCEPT {
-    return __y < __x;
-}
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator<=(coroutine_handle<> __x, coroutine_handle<> __y) _NOEXCEPT {
-    return !(__x > __y);
-}
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator>=(coroutine_handle<> __x, coroutine_handle<> __y) _NOEXCEPT {
-    return !(__x < __y);
-}
-
-template <typename _Promise>
-class _LIBCPP_TEMPLATE_VIS coroutine_handle : public coroutine_handle<> {
-    using _Base = coroutine_handle<>;
-public:
-#ifndef _LIBCPP_CXX03_LANG
-    // 18.11.2.1 construct/reset
-    using coroutine_handle<>::coroutine_handle;
-#else
-    _LIBCPP_INLINE_VISIBILITY coroutine_handle() _NOEXCEPT : _Base() {}
-    _LIBCPP_INLINE_VISIBILITY coroutine_handle(nullptr_t) _NOEXCEPT : _Base(nullptr) {}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    coroutine_handle& operator=(nullptr_t) _NOEXCEPT {
-        _Base::operator=(nullptr);
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Promise& promise() const {
-        return *static_cast<_Promise*>(
-            __builtin_coro_promise(this->__handle_, _LIBCPP_ALIGNOF(_Promise), false));
-    }
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    static coroutine_handle from_address(void* __addr) _NOEXCEPT {
-        coroutine_handle __tmp;
-        __tmp.__handle_ = __addr;
-        return __tmp;
-    }
-
-    // NOTE: this overload isn't required by the standard but is needed so
-    // the deleted _Promise* overload doesn't make from_address(nullptr)
-    // ambiguous.
-    // FIXME: should from_address work with nullptr?
-    _LIBCPP_INLINE_VISIBILITY
-    static coroutine_handle from_address(nullptr_t) _NOEXCEPT {
-      return coroutine_handle(nullptr);
-    }
-
-    template <class _Tp, bool _CallIsValid = false>
-    static coroutine_handle from_address(_Tp*) {
-      static_assert(_CallIsValid,
-       "coroutine_handle<promise_type>::from_address cannot be called with "
-        "non-void pointers");
-    }
-
-    template <bool _CallIsValid = false>
-    static coroutine_handle from_address(_Promise*) {
-      static_assert(_CallIsValid,
-       "coroutine_handle<promise_type>::from_address cannot be used with "
-        "pointers to the coroutine's promise type; use 'from_promise' instead");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static coroutine_handle from_promise(_Promise& __promise) _NOEXCEPT {
-        typedef typename remove_cv<_Promise>::type _RawPromise;
-        coroutine_handle __tmp;
-        __tmp.__handle_ = __builtin_coro_promise(
-            _VSTD::addressof(const_cast<_RawPromise&>(__promise)),
-             _LIBCPP_ALIGNOF(_Promise), true);
-        return __tmp;
-    }
-};
-
-#if __has_builtin(__builtin_coro_noop)
-struct noop_coroutine_promise {};
-
-template <>
-class _LIBCPP_TEMPLATE_VIS coroutine_handle<noop_coroutine_promise>
-    : public coroutine_handle<> {
-  using _Base = coroutine_handle<>;
-  using _Promise = noop_coroutine_promise;
-public:
-
-  _LIBCPP_INLINE_VISIBILITY
-  _Promise& promise() const {
-    return *static_cast<_Promise*>(
-      __builtin_coro_promise(this->__handle_, _LIBCPP_ALIGNOF(_Promise), false));
-  }
-
-  _LIBCPP_CONSTEXPR explicit operator bool() const _NOEXCEPT { return true; }
-  _LIBCPP_CONSTEXPR bool done() const _NOEXCEPT { return false; }
-
-  _LIBCPP_CONSTEXPR_AFTER_CXX17 void operator()() const _NOEXCEPT {}
-  _LIBCPP_CONSTEXPR_AFTER_CXX17 void resume() const _NOEXCEPT {}
-  _LIBCPP_CONSTEXPR_AFTER_CXX17 void destroy() const _NOEXCEPT {}
-
-private:
-  _LIBCPP_INLINE_VISIBILITY
-  friend coroutine_handle<noop_coroutine_promise> noop_coroutine() _NOEXCEPT;
-
-  _LIBCPP_INLINE_VISIBILITY coroutine_handle() _NOEXCEPT {
-    this->__handle_ = __builtin_coro_noop();
-  }
-};
-
-using noop_coroutine_handle = coroutine_handle<noop_coroutine_promise>;
-
-inline _LIBCPP_INLINE_VISIBILITY
-noop_coroutine_handle noop_coroutine() _NOEXCEPT {
-  return noop_coroutine_handle();
-}
-#endif // __has_builtin(__builtin_coro_noop)
-
-struct suspend_never {
-  _LIBCPP_INLINE_VISIBILITY
-  bool await_ready() const _NOEXCEPT { return true; }
-  _LIBCPP_INLINE_VISIBILITY
-  void await_suspend(coroutine_handle<>) const _NOEXCEPT {}
-  _LIBCPP_INLINE_VISIBILITY
-  void await_resume() const _NOEXCEPT {}
-};
-
-struct suspend_always {
-  _LIBCPP_INLINE_VISIBILITY
-  bool await_ready() const _NOEXCEPT { return false; }
-  _LIBCPP_INLINE_VISIBILITY
-  void await_suspend(coroutine_handle<>) const _NOEXCEPT {}
-  _LIBCPP_INLINE_VISIBILITY
-  void await_resume() const _NOEXCEPT {}
-};
-
-_LIBCPP_END_NAMESPACE_EXPERIMENTAL_COROUTINES
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp>
-struct hash<_VSTD_CORO::coroutine_handle<_Tp> > {
-    using __arg_type = _VSTD_CORO::coroutine_handle<_Tp>;
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(__arg_type const& __v) const _NOEXCEPT
-    {return hash<void*>()(__v.address());}
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // !defined(_LIBCPP_HAS_NO_COROUTINES)
-
-#endif /* _LIBCPP_EXPERIMENTAL_COROUTINE */
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/functional b/r21/sources/cxx-stl/llvm-libc++/include/experimental/functional
deleted file mode 100644
index 755eda6..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/experimental/functional
+++ /dev/null
@@ -1,458 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- functional --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_FUNCTIONAL
-#define _LIBCPP_EXPERIMENTAL_FUNCTIONAL
-
-/*
-   experimental/functional synopsis
-
-#include <algorithm>
-
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-
-    // See C++14 20.9.9, Function object binders
-    template <class T> constexpr bool is_bind_expression_v
-      = is_bind_expression<T>::value;
-    template <class T> constexpr int is_placeholder_v
-      = is_placeholder<T>::value;
-
-    // 4.2, Class template function
-    template<class> class function; // undefined
-    template<class R, class... ArgTypes> class function<R(ArgTypes...)>;
-
-    template<class R, class... ArgTypes>
-    void swap(function<R(ArgTypes...)>&, function<R(ArgTypes...)>&);
-
-    template<class R, class... ArgTypes>
-    bool operator==(const function<R(ArgTypes...)>&, nullptr_t) noexcept;
-    template<class R, class... ArgTypes>
-    bool operator==(nullptr_t, const function<R(ArgTypes...)>&) noexcept;
-    template<class R, class... ArgTypes>
-    bool operator!=(const function<R(ArgTypes...)>&, nullptr_t) noexcept;
-    template<class R, class... ArgTypes>
-    bool operator!=(nullptr_t, const function<R(ArgTypes...)>&) noexcept;
-
-    // 4.3, Searchers
-    template<class ForwardIterator, class BinaryPredicate = equal_to<>>
-      class default_searcher;
-
-    template<class RandomAccessIterator,
-             class Hash = hash<typename iterator_traits<RandomAccessIterator>::value_type>,
-             class BinaryPredicate = equal_to<>>
-      class boyer_moore_searcher;
-
-    template<class RandomAccessIterator,
-             class Hash = hash<typename iterator_traits<RandomAccessIterator>::value_type>,
-             class BinaryPredicate = equal_to<>>
-      class boyer_moore_horspool_searcher;
-
-    template<class ForwardIterator, class BinaryPredicate = equal_to<>>
-    default_searcher<ForwardIterator, BinaryPredicate>
-    make_default_searcher(ForwardIterator pat_first, ForwardIterator pat_last,
-                          BinaryPredicate pred = BinaryPredicate());
-
-    template<class RandomAccessIterator,
-             class Hash = hash<typename iterator_traits<RandomAccessIterator>::value_type>,
-             class BinaryPredicate = equal_to<>>
-    boyer_moore_searcher<RandomAccessIterator, Hash, BinaryPredicate>
-    make_boyer_moore_searcher(
-        RandomAccessIterator pat_first, RandomAccessIterator pat_last,
-        Hash hf = Hash(), BinaryPredicate pred = BinaryPredicate());
-
-    template<class RandomAccessIterator,
-             class Hash = hash<typename iterator_traits<RandomAccessIterator>::value_type>,
-             class BinaryPredicate = equal_to<>>
-    boyer_moore_horspool_searcher<RandomAccessIterator, Hash, BinaryPredicate>
-    make_boyer_moore_horspool_searcher(
-        RandomAccessIterator pat_first, RandomAccessIterator pat_last,
-        Hash hf = Hash(), BinaryPredicate pred = BinaryPredicate());
-
-  } // namespace fundamentals_v1
-  } // namespace experimental
-
-  template<class R, class... ArgTypes, class Alloc>
-  struct uses_allocator<experimental::function<R(ArgTypes...)>, Alloc>;
-
-} // namespace std
-
-*/
-
-#include <experimental/__config>
-#include <functional>
-#include <algorithm>
-#include <type_traits>
-#include <vector>
-#include <array>
-#include <unordered_map>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS
-
-#if _LIBCPP_STD_VER > 11
-// default searcher
-template<class _ForwardIterator, class _BinaryPredicate = equal_to<>>
-class _LIBCPP_TYPE_VIS default_searcher {
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    default_searcher(_ForwardIterator __f, _ForwardIterator __l, 
-                       _BinaryPredicate __p = _BinaryPredicate())
-        : __first_(__f), __last_(__l), __pred_(__p) {}
-
-    template <typename _ForwardIterator2>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<_ForwardIterator2, _ForwardIterator2>
-    operator () (_ForwardIterator2 __f, _ForwardIterator2 __l) const
-    {
-        return _VSTD::__search(__f, __l, __first_, __last_, __pred_,
-            typename _VSTD::iterator_traits<_ForwardIterator>::iterator_category(),
-            typename _VSTD::iterator_traits<_ForwardIterator2>::iterator_category());
-    }
-
-private:
-    _ForwardIterator __first_;
-    _ForwardIterator __last_;
-    _BinaryPredicate __pred_;
-    };
-
-template<class _ForwardIterator, class _BinaryPredicate = equal_to<>>
-_LIBCPP_INLINE_VISIBILITY
-default_searcher<_ForwardIterator, _BinaryPredicate>
-make_default_searcher( _ForwardIterator __f, _ForwardIterator __l, _BinaryPredicate __p = _BinaryPredicate ())
-{
-    return default_searcher<_ForwardIterator, _BinaryPredicate>(__f, __l, __p);
-}
-
-template<class _Key, class _Value, class _Hash, class _BinaryPredicate, bool /*useArray*/> class _BMSkipTable;
-
-//  General case for BM data searching; use a map
-template<class _Key, typename _Value, class _Hash, class _BinaryPredicate>
-class _BMSkipTable<_Key, _Value, _Hash, _BinaryPredicate, false> {
-public: // TODO private:
-    typedef _Value value_type;
-    typedef _Key   key_type;
-
-    const _Value __default_value_;
-    std::unordered_map<_Key, _Value, _Hash, _BinaryPredicate> __table;
-    
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _BMSkipTable(std::size_t __sz, _Value __default, _Hash __hf, _BinaryPredicate __pred)
-        : __default_value_(__default), __table(__sz, __hf, __pred) {}
-    
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(const key_type &__key, value_type __val)
-    {
-        __table [__key] = __val;    // Would skip_.insert (val) be better here?
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type operator [](const key_type & __key) const
-    {
-        auto __it = __table.find (__key);
-        return __it == __table.end() ? __default_value_ : __it->second;
-    }
-};
-    
-
-//  Special case small numeric values; use an array
-template<class _Key, typename _Value, class _Hash, class _BinaryPredicate>
-class _BMSkipTable<_Key, _Value, _Hash, _BinaryPredicate, true> {
-private:
-    typedef _Value value_type;
-    typedef _Key   key_type;
-
-    typedef typename std::make_unsigned<key_type>::type unsigned_key_type;
-    typedef std::array<value_type, _VSTD::numeric_limits<unsigned_key_type>::max()> skip_map;
-    skip_map __table;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _BMSkipTable(std::size_t /*__sz*/, _Value __default, _Hash /*__hf*/, _BinaryPredicate /*__pred*/)
-    {
-        std::fill_n(__table.begin(), __table.size(), __default);
-    }
-    
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(key_type __key, value_type __val)
-    {
-        __table[static_cast<unsigned_key_type>(__key)] = __val;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type operator [](key_type __key) const
-    {
-        return __table[static_cast<unsigned_key_type>(__key)];
-    }
-};
-
-
-template <class _RandomAccessIterator1, 
-          class _Hash = hash<typename iterator_traits<_RandomAccessIterator1>::value_type>, 
-          class _BinaryPredicate = equal_to<>>
-class _LIBCPP_TYPE_VIS boyer_moore_searcher {
-private:
-    typedef typename std::iterator_traits<_RandomAccessIterator1>::difference_type difference_type;
-    typedef typename std::iterator_traits<_RandomAccessIterator1>::value_type      value_type;
-    typedef _BMSkipTable<value_type, difference_type, _Hash, _BinaryPredicate,
-                    _VSTD::is_integral<value_type>::value && // what about enums?
-                    sizeof(value_type) == 1 &&
-                    is_same<_Hash, hash<value_type>>::value &&
-                    is_same<_BinaryPredicate, equal_to<>>::value
-            > skip_table_type;
-    
-public:
-    boyer_moore_searcher(_RandomAccessIterator1 __f, _RandomAccessIterator1 __l, 
-                _Hash __hf = _Hash(), _BinaryPredicate __pred = _BinaryPredicate())
-            : __first_(__f), __last_(__l), __pred_(__pred),
-              __pattern_length_(_VSTD::distance(__first_, __last_)),
-              __skip_{make_shared<skip_table_type>(__pattern_length_, -1, __hf, __pred_)},
-              __suffix_{make_shared<vector<difference_type>>(__pattern_length_ + 1)}
-        {
-    //  build the skip table
-        for ( difference_type __i = 0; __f != __l; ++__f, (void) ++__i )
-            __skip_->insert(*__f, __i);
-
-        this->__build_suffix_table ( __first_, __last_, __pred_ );
-        }
-        
-    template <typename _RandomAccessIterator2>
-    pair<_RandomAccessIterator2, _RandomAccessIterator2>
-    operator ()(_RandomAccessIterator2 __f, _RandomAccessIterator2 __l) const
-    {
-        static_assert ( std::is_same<
-                typename std::__uncvref<typename std::iterator_traits<_RandomAccessIterator1>::value_type>::type, 
-                typename std::__uncvref<typename std::iterator_traits<_RandomAccessIterator2>::value_type>::type
-                    >::value,
-                "Corpus and Pattern iterators must point to the same type" );
-
-        if (__f      == __l )    return make_pair(__l, __l); // empty corpus
-        if (__first_ == __last_) return make_pair(__f, __f); // empty pattern
-
-    //  If the pattern is larger than the corpus, we can't find it!
-        if ( __pattern_length_ > _VSTD::distance (__f, __l)) 
-            return make_pair(__l, __l);
-
-    //  Do the search 
-        return this->__search(__f, __l);
-    }
-        
-public: // TODO private:
-    _RandomAccessIterator1               __first_;
-    _RandomAccessIterator1               __last_;
-    _BinaryPredicate                     __pred_;
-    difference_type                      __pattern_length_;
-    shared_ptr<skip_table_type>          __skip_;
-    shared_ptr<vector<difference_type>>  __suffix_;
-
-    template <typename _RandomAccessIterator2>
-    pair<_RandomAccessIterator2, _RandomAccessIterator2>
-    __search(_RandomAccessIterator2 __f, _RandomAccessIterator2 __l) const
-    {
-        _RandomAccessIterator2 __cur = __f;
-        const _RandomAccessIterator2 __last = __l - __pattern_length_;
-        const skip_table_type &         __skip   = *__skip_.get();
-        const vector<difference_type> & __suffix = *__suffix_.get();
-        
-        while (__cur <= __last)
-        {
-
-        //  Do we match right where we are?
-            difference_type __j = __pattern_length_;
-            while (__pred_(__first_ [__j-1], __cur [__j-1])) {
-                __j--;
-            //  We matched - we're done!
-                if ( __j == 0 )
-                    return make_pair(__cur, __cur + __pattern_length_);
-                }
-            
-        //  Since we didn't match, figure out how far to skip forward
-            difference_type __k = __skip[__cur [ __j - 1 ]];
-            difference_type __m = __j - __k - 1;
-            if (__k < __j && __m > __suffix[ __j ])
-                __cur += __m;
-            else
-                __cur += __suffix[ __j ];
-        }
-    
-        return make_pair(__l, __l);     // We didn't find anything
-    }
-
-
-    template<typename _Iterator, typename _Container>
-    void __compute_bm_prefix ( _Iterator __f, _Iterator __l, _BinaryPredicate __pred, _Container &__prefix )
-    {
-        const std::size_t __count = _VSTD::distance(__f, __l);
-                        
-        __prefix[0] = 0;
-        std::size_t __k = 0;
-        for ( std::size_t __i = 1; __i < __count; ++__i )
-        {
-            while ( __k > 0 && !__pred ( __f[__k], __f[__i] ))
-                __k = __prefix [ __k - 1 ];
-                
-            if ( __pred ( __f[__k], __f[__i] ))
-                __k++;
-            __prefix [ __i ] = __k;
-        }
-    }
-
-    void __build_suffix_table(_RandomAccessIterator1 __f, _RandomAccessIterator1 __l, 
-                                                    _BinaryPredicate __pred)
-    {
-        const std::size_t __count = _VSTD::distance(__f, __l);
-        vector<difference_type> & __suffix = *__suffix_.get();
-        if (__count > 0)
-        {
-            _VSTD::vector<value_type> __scratch(__count);
-            
-            __compute_bm_prefix(__f, __l, __pred, __scratch);
-            for ( std::size_t __i = 0; __i <= __count; __i++ )
-                __suffix[__i] = __count - __scratch[__count-1];
-    
-            typedef _VSTD::reverse_iterator<_RandomAccessIterator1> _RevIter;
-            __compute_bm_prefix(_RevIter(__l), _RevIter(__f), __pred, __scratch);
-     
-            for ( std::size_t __i = 0; __i < __count; __i++ )
-            {
-                const std::size_t     __j = __count - __scratch[__i];
-                const difference_type __k = __i     - __scratch[__i] + 1;
-     
-                if (__suffix[__j] > __k)
-                    __suffix[__j] = __k;
-            }
-        }
-    }
-
-};
-
-template<class _RandomAccessIterator, 
-         class _Hash = hash<typename iterator_traits<_RandomAccessIterator>::value_type>, 
-         class _BinaryPredicate = equal_to<>>
-_LIBCPP_INLINE_VISIBILITY
-boyer_moore_searcher<_RandomAccessIterator, _Hash, _BinaryPredicate>
-make_boyer_moore_searcher( _RandomAccessIterator __f, _RandomAccessIterator __l, 
-                    _Hash __hf = _Hash(), _BinaryPredicate __p = _BinaryPredicate ())
-{
-    return boyer_moore_searcher<_RandomAccessIterator, _Hash, _BinaryPredicate>(__f, __l, __hf, __p);
-}
-
-// boyer-moore-horspool
-template <class _RandomAccessIterator1, 
-          class _Hash = hash<typename iterator_traits<_RandomAccessIterator1>::value_type>, 
-          class _BinaryPredicate = equal_to<>>
-class _LIBCPP_TYPE_VIS boyer_moore_horspool_searcher {
-private:
-    typedef typename std::iterator_traits<_RandomAccessIterator1>::difference_type difference_type;
-    typedef typename std::iterator_traits<_RandomAccessIterator1>::value_type      value_type;
-    typedef _BMSkipTable<value_type, difference_type, _Hash, _BinaryPredicate,
-                    _VSTD::is_integral<value_type>::value && // what about enums?
-                    sizeof(value_type) == 1 &&
-                    is_same<_Hash, hash<value_type>>::value &&
-                    is_same<_BinaryPredicate, equal_to<>>::value
-            > skip_table_type;
-
-public:
-    boyer_moore_horspool_searcher(_RandomAccessIterator1 __f, _RandomAccessIterator1 __l, 
-                _Hash __hf = _Hash(), _BinaryPredicate __pred = _BinaryPredicate())
-            : __first_(__f), __last_(__l), __pred_(__pred),
-              __pattern_length_(_VSTD::distance(__first_, __last_)),
-              __skip_{_VSTD::make_shared<skip_table_type>(__pattern_length_, __pattern_length_, __hf, __pred_)}
-        {
-    //  build the skip table
-            if ( __f != __l )
-            {
-                __l = __l - 1;
-                for ( difference_type __i = 0; __f != __l; ++__f, (void) ++__i )
-                    __skip_->insert(*__f, __pattern_length_ - 1 - __i);
-            }
-        }
-            
-    template <typename _RandomAccessIterator2>
-    pair<_RandomAccessIterator2, _RandomAccessIterator2>
-    operator ()(_RandomAccessIterator2 __f, _RandomAccessIterator2 __l) const
-    {
-        static_assert ( std::is_same<
-                typename std::__uncvref<typename std::iterator_traits<_RandomAccessIterator1>::value_type>::type, 
-                typename std::__uncvref<typename std::iterator_traits<_RandomAccessIterator2>::value_type>::type
-                    >::value,
-                "Corpus and Pattern iterators must point to the same type" );
-
-        if (__f      == __l )    return make_pair(__l, __l); // empty corpus
-        if (__first_ == __last_) return make_pair(__f, __f); // empty pattern
-
-    //  If the pattern is larger than the corpus, we can't find it!
-        if ( __pattern_length_ > _VSTD::distance (__f, __l)) 
-            return make_pair(__l, __l);
-
-    //  Do the search 
-        return this->__search(__f, __l);
-    }
-        
-private:
-    _RandomAccessIterator1      __first_;
-    _RandomAccessIterator1      __last_;
-    _BinaryPredicate            __pred_;
-    difference_type             __pattern_length_;
-    shared_ptr<skip_table_type> __skip_;
-
-    template <typename _RandomAccessIterator2>
-    pair<_RandomAccessIterator2, _RandomAccessIterator2>
-    __search ( _RandomAccessIterator2 __f, _RandomAccessIterator2 __l ) const {
-        _RandomAccessIterator2 __cur = __f;
-        const _RandomAccessIterator2 __last = __l - __pattern_length_;
-        const skip_table_type & __skip = *__skip_.get();
-
-        while (__cur <= __last)
-        {
-        //  Do we match right where we are?
-            difference_type __j = __pattern_length_;
-            while (__pred_(__first_[__j-1], __cur[__j-1]))
-            {
-                __j--;
-            //  We matched - we're done!
-                if ( __j == 0 )
-                    return make_pair(__cur, __cur + __pattern_length_);
-            }
-            __cur += __skip[__cur[__pattern_length_-1]];
-        }
-        
-        return make_pair(__l, __l);
-    }
-};
-
-template<class _RandomAccessIterator, 
-         class _Hash = hash<typename iterator_traits<_RandomAccessIterator>::value_type>, 
-         class _BinaryPredicate = equal_to<>>
-_LIBCPP_INLINE_VISIBILITY
-boyer_moore_horspool_searcher<_RandomAccessIterator, _Hash, _BinaryPredicate>
-make_boyer_moore_horspool_searcher( _RandomAccessIterator __f, _RandomAccessIterator __l, 
-                    _Hash __hf = _Hash(), _BinaryPredicate __p = _BinaryPredicate ())
-{
-    return boyer_moore_horspool_searcher<_RandomAccessIterator, _Hash, _BinaryPredicate>(__f, __l, __hf, __p);
-}
-
-#endif // _LIBCPP_STD_VER > 11
-
-_LIBCPP_END_NAMESPACE_LFTS
-
-_LIBCPP_POP_MACROS
-
-#endif /* _LIBCPP_EXPERIMENTAL_FUNCTIONAL */
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/iterator b/r21/sources/cxx-stl/llvm-libc++/include/experimental/iterator
deleted file mode 100644
index 6a6e51d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/experimental/iterator
+++ /dev/null
@@ -1,113 +0,0 @@
-// -*- C++ -*-
-//===----------------------------- iterator -------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_ITERATOR
-#define _LIBCPP_EXPERIMENTAL_ITERATOR
-
-/*
-namespace std {
-  namespace experimental {
-    inline namespace fundamentals_v2 {
-
-    template <class DelimT, class charT = char, class traits = char_traits<charT>>
-        class ostream_joiner {
-        public:
-         typedef charT                        char_type;
-         typedef traits                       traits_type;
-         typedef basic_ostream<charT, traits> ostream_type;
-         typedef output_iterator_tag          iterator_category;
-         typedef void                         value_type;
-         typedef void                         difference_type;
-         typedef void                         pointer;
-         typedef void                         reference;
-      
-         ostream_joiner(ostream_type& s, const DelimT& delimiter);
-         ostream_joiner(ostream_type& s, DelimT&& delimiter);
-
-         template<typename T>  
-         ostream_joiner& operator=(const T& value);
-
-         ostream_joiner& operator*() noexcept;
-         ostream_joiner& operator++() noexcept;
-         ostream_joiner& operator++(int) noexcept;
-   private:
-      ostream_type* out_stream;   // exposition only 
-      DelimT delim;               // exposition only 
-      bool first_element;         // exposition only
-   };
-
-  template <class charT, class traits, class DelimT>
-    ostream_joiner<decay_t<DelimT>, charT, traits>
-    make_ostream_joiner(basic_ostream<charT, traits>& os, DelimT&& delimiter);
-
-    } // inline namespace fundamentals_v2
-  } // namespace experimental
-} // namespace std
-
-*/
-
-#include <experimental/__config>
-
-#if _LIBCPP_STD_VER > 11
-
-#include <iterator>
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS
-
-template <class _Delim, class _CharT = char, class _Traits = char_traits<_CharT>>
-class ostream_joiner {
-public:
-
-    typedef _CharT                               char_type;
-    typedef _Traits                              traits_type;
-    typedef basic_ostream<char_type,traits_type> ostream_type;
-    typedef output_iterator_tag                  iterator_category;
-    typedef void                                 value_type;
-    typedef void                                 difference_type;
-    typedef void                                 pointer;
-    typedef void                                 reference;
-
-    ostream_joiner(ostream_type& __os, _Delim&& __d)
-        : __output_iter(_VSTD::addressof(__os)), __delim(_VSTD::move(__d)), __first(true) {}
-        
-    ostream_joiner(ostream_type& __os, const _Delim& __d)
-        : __output_iter(_VSTD::addressof(__os)), __delim(__d), __first(true) {}
-    
-
-    template<typename _Tp>
-    ostream_joiner& operator=(const _Tp& __v)
-    {
-        if (!__first)
-            *__output_iter << __delim;
-        __first = false;
-        *__output_iter << __v;
-        return *this;
-    }
-
-    ostream_joiner& operator*()     _NOEXCEPT { return *this; }
-    ostream_joiner& operator++()    _NOEXCEPT { return *this; }
-    ostream_joiner& operator++(int) _NOEXCEPT { return *this; }
-
-private:
-    ostream_type*   __output_iter;
-    _Delim          __delim;
-    bool            __first;
-};
-
-
-template <class _CharT, class _Traits, class _Delim>
-ostream_joiner<typename decay<_Delim>::type, _CharT, _Traits>
-make_ostream_joiner(basic_ostream<_CharT, _Traits>& __os, _Delim && __d)
-{ return ostream_joiner<typename decay<_Delim>::type, _CharT, _Traits>(__os, _VSTD::forward<_Delim>(__d)); }
-
-_LIBCPP_END_NAMESPACE_LFTS
-
-#endif /* _LIBCPP_STD_VER > 11 */
-
-#endif // _LIBCPP_EXPERIMENTAL_ITERATOR
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/propagate_const b/r21/sources/cxx-stl/llvm-libc++/include/experimental/propagate_const
deleted file mode 100644
index 092b013..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/experimental/propagate_const
+++ /dev/null
@@ -1,578 +0,0 @@
-// -*- C++ -*-
-//===------------------------ propagate_const -----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_PROPAGATE_CONST
-#define _LIBCPP_EXPERIMENTAL_PROPAGATE_CONST
-/*
-    propagate_const synopsis
-
-    namespace std { namespace experimental { inline namespace fundamentals_v2 {
-
-    // [propagate_const]
-    template <class T> class propagate_const;
-
-    // [propagate_const.underlying], underlying pointer access
-    constexpr const _Tp& _VSTD_LFTS_V2::get_underlying(const propagate_const<T>& pt) noexcept;
-    constexpr T& _VSTD_LFTS_V2::get_underlying(propagate_const<T>& pt) noexcept;
-
-    // [propagate_const.relational], relational operators
-    template <class T> constexpr bool operator==(const propagate_const<T>& pt, nullptr_t);
-    template <class T> constexpr bool operator==(nullptr_t, const propagate_const<T>& pu);
-    template <class T> constexpr bool operator!=(const propagate_const<T>& pt, nullptr_t);
-    template <class T> constexpr bool operator!=(nullptr_t, const propagate_const<T>& pu);
-    template <class T, class U> constexpr bool operator==(const propagate_const<T>& pt, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator!=(const propagate_const<T>& pt, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator<(const propagate_const<T>& pt, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator>(const propagate_const<T>& pt, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator<=(const propagate_const<T>& pt, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator>=(const propagate_const<T>& pt, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator==(const propagate_const<T>& pt, const _Up& u);
-    template <class T, class U> constexpr bool operator!=(const propagate_const<T>& pt, const _Up& u);
-    template <class T, class U> constexpr bool operator<(const propagate_const<T>& pt, const _Up& u);
-    template <class T, class U> constexpr bool operator>(const propagate_const<T>& pt, const _Up& u);
-    template <class T, class U> constexpr bool operator<=(const propagate_const<T>& pt, const _Up& u);
-    template <class T, class U> constexpr bool operator>=(const propagate_const<T>& pt, const _Up& u);
-    template <class T, class U> constexpr bool operator==(const _Tp& t, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator!=(const _Tp& t, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator<(const _Tp& t, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator>(const _Tp& t, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator<=(const _Tp& t, const propagate_const<_Up>& pu);
-    template <class T, class U> constexpr bool operator>=(const _Tp& t, const propagate_const<_Up>& pu);
-
-    // [propagate_const.algorithms], specialized algorithms
-    template <class T> constexpr void swap(propagate_const<T>& pt, propagate_const<T>& pu) noexcept(see below);
-
-    template <class T>
-    class propagate_const
-    {
-
-    public:
-      typedef remove_reference_t<decltype(*declval<T&>())> element_type;
-
-      // [propagate_const.ctor], constructors
-      constexpr propagate_const() = default;
-      propagate_const(const propagate_const& p) = delete;
-      constexpr propagate_const(propagate_const&& p) = default;
-      template <class U> EXPLICIT constexpr propagate_const(propagate_const<_Up>&& pu); // see below
-      template <class U> EXPLICIT constexpr propagate_const(U&& u); // see below
-
-      // [propagate_const.assignment], assignment
-      propagate_const& operator=(const propagate_const& p) = delete;
-      constexpr propagate_const& operator=(propagate_const&& p) = default;
-      template <class U> constexpr propagate_const& operator=(propagate_const<_Up>&& pu);
-      template <class U> constexpr propagate_const& operator=(U&& u); // see below
-
-      // [propagate_const.const_observers], const observers
-      explicit constexpr operator bool() const;
-      constexpr const element_type* operator->() const;
-      constexpr operator const element_type*() const; // Not always defined
-      constexpr const element_type& operator*() const;
-      constexpr const element_type* get() const;
-
-      // [propagate_const.non_const_observers], non-const observers
-      constexpr element_type* operator->();
-      constexpr operator element_type*(); // Not always defined
-      constexpr element_type& operator*();
-      constexpr element_type* get();
-
-      // [propagate_const.modifiers], modifiers
-      constexpr void swap(propagate_const& pt) noexcept(see below)
-
-    private:
-      T t_; // exposition only
-    };
-
-  } // namespace fundamentals_v2
-  } // namespace experimental
-
-  // [propagate_const.hash], hash support
-  template <class T> struct hash<experimental::fundamentals_v2::propagate_const<T>>;
-
-  // [propagate_const.comparison_function_objects], comparison function objects
-  template <class T> struct equal_to<experimental::fundamentals_v2::propagate_const<T>>;
-  template <class T> struct not_equal_to<experimental::fundamentals_v2::propagate_const<T>>;
-  template <class T> struct less<experimental::fundamentals_v2::propagate_const<T>>;
-  template <class T> struct greater<experimental::fundamentals_v2::propagate_const<T>>;
-  template <class T> struct less_equal<experimental::fundamentals_v2::propagate_const<T>>;
-  template <class T> struct greater_equal<experimental::fundamentals_v2::propagate_const<T>>;
-
-} // namespace std
-
-*/
-
-#include <experimental/__config>
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#if _LIBCPP_STD_VER > 11
-
-#include <type_traits>
-#include <utility>
-#include <functional>
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_V2
-
-
-template <class _Tp>
-class propagate_const;
-
-template <class _Up>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-const _Up& get_underlying(const propagate_const<_Up>& __pu) _NOEXCEPT;
-
-template <class _Up>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-_Up& get_underlying(propagate_const<_Up>& __pu) _NOEXCEPT;
-
-template <class _Tp>
-class propagate_const
-{
-public:
-  typedef remove_reference_t<decltype(*_VSTD::declval<_Tp&>())> element_type;
-
-  static_assert(!is_array<_Tp>::value,
-      "Instantiation of propagate_const with an array type is ill-formed.");
-  static_assert(!is_reference<_Tp>::value,
-      "Instantiation of propagate_const with a reference type is ill-formed.");
-  static_assert(!(is_pointer<_Tp>::value && is_function<typename remove_pointer<_Tp>::type>::value),
-      "Instantiation of propagate_const with a function-pointer type is ill-formed.");
-  static_assert(!(is_pointer<_Tp>::value && is_same<typename remove_cv<typename remove_pointer<_Tp>::type>::type, void>::value),
-      "Instantiation of propagate_const with a pointer to (possibly cv-qualified) void is ill-formed.");
-
-private:
-  template <class _Up>
-  static _LIBCPP_CONSTEXPR element_type* __get_pointer(_Up* __u)
-  {
-    return __u;
-  }
-
-  template <class _Up>
-  static _LIBCPP_CONSTEXPR element_type* __get_pointer(_Up& __u)
-  {
-    return __get_pointer(__u.get());
-  }
-
-  template <class _Up>
-  static _LIBCPP_CONSTEXPR const element_type* __get_pointer(const _Up* __u)
-  {
-    return __u;
-  }
-
-  template <class _Up>
-  static _LIBCPP_CONSTEXPR const element_type* __get_pointer(const _Up& __u)
-  {
-    return __get_pointer(__u.get());
-  }
-
-  template <class _Up>
-  struct __is_propagate_const : false_type
-  {
-  };
-
-  template <class _Up>
-  struct __is_propagate_const<propagate_const<_Up>> : true_type
-  {
-  };
-
-  _Tp __t_;
-
-public:
-
-  template <class _Up> friend _LIBCPP_CONSTEXPR const _Up& ::_VSTD_LFTS_V2::get_underlying(const propagate_const<_Up>& __pu) _NOEXCEPT;
-  template <class _Up> friend _LIBCPP_CONSTEXPR _Up& ::_VSTD_LFTS_V2::get_underlying(propagate_const<_Up>& __pu) _NOEXCEPT;
-
-  _LIBCPP_CONSTEXPR propagate_const() = default;
-
-  propagate_const(const propagate_const&) = delete;
-
-  _LIBCPP_CONSTEXPR propagate_const(propagate_const&&) = default;
-
-  template <class _Up, enable_if_t<!is_convertible<_Up, _Tp>::value &&
-                                 is_constructible<_Tp, _Up&&>::value,bool> = true>
-  explicit _LIBCPP_CONSTEXPR propagate_const(propagate_const<_Up>&& __pu)
-      : __t_(std::move(_VSTD_LFTS_V2::get_underlying(__pu)))
-  {
-  }
-
-  template <class _Up, enable_if_t<is_convertible<_Up&&, _Tp>::value &&
-                                 is_constructible<_Tp, _Up&&>::value,bool> = false>
-  _LIBCPP_CONSTEXPR propagate_const(propagate_const<_Up>&& __pu)
-      : __t_(std::move(_VSTD_LFTS_V2::get_underlying(__pu)))
-  {
-  }
-
-  template <class _Up, enable_if_t<!is_convertible<_Up&&, _Tp>::value &&
-                                 is_constructible<_Tp, _Up&&>::value &&
-                                 !__is_propagate_const<decay_t<_Up>>::value,bool> = true>
-  explicit _LIBCPP_CONSTEXPR propagate_const(_Up&& __u)
-      : __t_(std::forward<_Up>(__u))
-  {
-  }
-
-  template <class _Up, enable_if_t<is_convertible<_Up&&, _Tp>::value &&
-                                 is_constructible<_Tp, _Up&&>::value &&
-                                 !__is_propagate_const<decay_t<_Up>>::value,bool> = false>
-  _LIBCPP_CONSTEXPR propagate_const(_Up&& __u)
-      : __t_(std::forward<_Up>(__u))
-  {
-  }
-
-  propagate_const& operator=(const propagate_const&) = delete;
-
-  _LIBCPP_CONSTEXPR propagate_const& operator=(propagate_const&&) = default;
-
-  template <class _Up>
-  _LIBCPP_CONSTEXPR propagate_const& operator=(propagate_const<_Up>&& __pu)
-  {
-    __t_ = std::move(_VSTD_LFTS_V2::get_underlying(__pu));
-    return *this;
-  }
-
-  template <class _Up, class _Vp = enable_if_t<!__is_propagate_const<decay_t<_Up>>::value>>
-  _LIBCPP_CONSTEXPR propagate_const& operator=(_Up&& __u)
-  {
-    __t_ = std::forward<_Up>(__u);
-    return *this;
-  }
-
-  _LIBCPP_CONSTEXPR const element_type* get() const
-  {
-    return __get_pointer(__t_);
-  }
-
-  _LIBCPP_CONSTEXPR element_type* get()
-  {
-    return __get_pointer(__t_);
-  }
-
-  explicit _LIBCPP_CONSTEXPR operator bool() const
-  {
-    return get() != nullptr;
-  }
-
-  _LIBCPP_CONSTEXPR const element_type* operator->() const
-  {
-    return get();
-  }
-
-  template <class _Tp_ = _Tp, class _Up = enable_if_t<is_convertible<
-                                  const _Tp_, const element_type *>::value>>
-  _LIBCPP_CONSTEXPR operator const element_type *() const {
-    return get();
-  }
-
-  _LIBCPP_CONSTEXPR const element_type& operator*() const
-  {
-    return *get();
-  }
-
-  _LIBCPP_CONSTEXPR element_type* operator->()
-  {
-    return get();
-  }
-
-  template <class _Tp_ = _Tp, class _Up = enable_if_t<
-                                  is_convertible<_Tp_, element_type *>::value>>
-  _LIBCPP_CONSTEXPR operator element_type *() {
-    return get();
-  }
-
-  _LIBCPP_CONSTEXPR element_type& operator*()
-  {
-    return *get();
-  }
-
-  _LIBCPP_CONSTEXPR void swap(propagate_const& __pt) _NOEXCEPT_(__is_nothrow_swappable<_Tp>::value)
-  {
-    using _VSTD::swap;
-    swap(__t_, __pt.__t_);
-  }
-};
-
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator==(const propagate_const<_Tp>& __pt, nullptr_t)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) == nullptr;
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator==(nullptr_t, const propagate_const<_Tp>& __pt)
-{
-  return nullptr == _VSTD_LFTS_V2::get_underlying(__pt);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator!=(const propagate_const<_Tp>& __pt, nullptr_t)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) != nullptr;
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator!=(nullptr_t, const propagate_const<_Tp>& __pt)
-{
-  return nullptr != _VSTD_LFTS_V2::get_underlying(__pt);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator==(const propagate_const<_Tp>& __pt,
-                          const propagate_const<_Up>& __pu)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) == _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator!=(const propagate_const<_Tp>& __pt,
-                          const propagate_const<_Up>& __pu)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) != _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator<(const propagate_const<_Tp>& __pt,
-                         const propagate_const<_Up>& __pu)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) < _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator>(const propagate_const<_Tp>& __pt,
-                         const propagate_const<_Up>& __pu)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) > _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator<=(const propagate_const<_Tp>& __pt,
-                          const propagate_const<_Up>& __pu)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) <= _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator>=(const propagate_const<_Tp>& __pt,
-                          const propagate_const<_Up>& __pu)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) >= _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator==(const propagate_const<_Tp>& __pt, const _Up& __u)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) == __u;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator!=(const propagate_const<_Tp>& __pt, const _Up& __u)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) != __u;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator<(const propagate_const<_Tp>& __pt, const _Up& __u)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) < __u;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator>(const propagate_const<_Tp>& __pt, const _Up& __u)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) > __u;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator<=(const propagate_const<_Tp>& __pt, const _Up& __u)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) <= __u;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator>=(const propagate_const<_Tp>& __pt, const _Up& __u)
-{
-  return _VSTD_LFTS_V2::get_underlying(__pt) >= __u;
-}
-
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator==(const _Tp& __t, const propagate_const<_Up>& __pu)
-{
-  return __t == _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator!=(const _Tp& __t, const propagate_const<_Up>& __pu)
-{
-  return __t != _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator<(const _Tp& __t, const propagate_const<_Up>& __pu)
-{
-  return __t < _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator>(const _Tp& __t, const propagate_const<_Up>& __pu)
-{
-  return __t > _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator<=(const _Tp& __t, const propagate_const<_Up>& __pu)
-{
-  return __t <= _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR bool operator>=(const _Tp& __t, const propagate_const<_Up>& __pu)
-{
-  return __t >= _VSTD_LFTS_V2::get_underlying(__pu);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR void swap(propagate_const<_Tp>& __pc1, propagate_const<_Tp>& __pc2) _NOEXCEPT_(__is_nothrow_swappable<_Tp>::value)
-{
-  __pc1.swap(__pc2);
-}
-
-template <class _Tp>
-_LIBCPP_CONSTEXPR const _Tp& get_underlying(const propagate_const<_Tp>& __pt) _NOEXCEPT
-{
-  return __pt.__t_;
-}
-
-template <class _Tp>
-_LIBCPP_CONSTEXPR _Tp& get_underlying(propagate_const<_Tp>& __pt) _NOEXCEPT
-{
-  return __pt.__t_;
-}
-
-_LIBCPP_END_NAMESPACE_LFTS_V2
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp>
-struct hash<experimental::fundamentals_v2::propagate_const<_Tp>>
-{
-  typedef size_t result_type;
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> argument_type;
-
-  size_t operator()(const experimental::fundamentals_v2::propagate_const<_Tp>& __pc1) const
-  {
-    return std::hash<_Tp>()(_VSTD_LFTS_V2::get_underlying(__pc1));
-  }
-};
-
-template <class _Tp>
-struct equal_to<experimental::fundamentals_v2::propagate_const<_Tp>>
-{
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> first_argument_type;
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> second_argument_type;
-
-  bool operator()(const experimental::fundamentals_v2::propagate_const<_Tp>& __pc1,
-      const experimental::fundamentals_v2::propagate_const<_Tp>& __pc2) const
-  {
-    return std::equal_to<_Tp>()(_VSTD_LFTS_V2::get_underlying(__pc1), _VSTD_LFTS_V2::get_underlying(__pc2));
-  }
-};
-
-template <class _Tp>
-struct not_equal_to<experimental::fundamentals_v2::propagate_const<_Tp>>
-{
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> first_argument_type;
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> second_argument_type;
-
-  bool operator()(const experimental::fundamentals_v2::propagate_const<_Tp>& __pc1,
-      const experimental::fundamentals_v2::propagate_const<_Tp>& __pc2) const
-  {
-    return std::not_equal_to<_Tp>()(_VSTD_LFTS_V2::get_underlying(__pc1), _VSTD_LFTS_V2::get_underlying(__pc2));
-  }
-};
-
-template <class _Tp>
-struct less<experimental::fundamentals_v2::propagate_const<_Tp>>
-{
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> first_argument_type;
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> second_argument_type;
-
-  bool operator()(const experimental::fundamentals_v2::propagate_const<_Tp>& __pc1,
-      const experimental::fundamentals_v2::propagate_const<_Tp>& __pc2) const
-  {
-    return std::less<_Tp>()(_VSTD_LFTS_V2::get_underlying(__pc1), _VSTD_LFTS_V2::get_underlying(__pc2));
-  }
-};
-
-template <class _Tp>
-struct greater<experimental::fundamentals_v2::propagate_const<_Tp>>
-{
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> first_argument_type;
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> second_argument_type;
-
-  bool operator()(const experimental::fundamentals_v2::propagate_const<_Tp>& __pc1,
-      const experimental::fundamentals_v2::propagate_const<_Tp>& __pc2) const
-  {
-    return std::greater<_Tp>()(_VSTD_LFTS_V2::get_underlying(__pc1), _VSTD_LFTS_V2::get_underlying(__pc2));
-  }
-};
-
-template <class _Tp>
-struct less_equal<experimental::fundamentals_v2::propagate_const<_Tp>>
-{
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> first_argument_type;
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> second_argument_type;
-
-  bool operator()(const experimental::fundamentals_v2::propagate_const<_Tp>& __pc1,
-      const experimental::fundamentals_v2::propagate_const<_Tp>& __pc2) const
-  {
-    return std::less_equal<_Tp>()(_VSTD_LFTS_V2::get_underlying(__pc1), _VSTD_LFTS_V2::get_underlying(__pc2));
-  }
-};
-
-template <class _Tp>
-struct greater_equal<experimental::fundamentals_v2::propagate_const<_Tp>>
-{
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> first_argument_type;
-  typedef experimental::fundamentals_v2::propagate_const<_Tp> second_argument_type;
-
-  bool operator()(const experimental::fundamentals_v2::propagate_const<_Tp>& __pc1,
-      const experimental::fundamentals_v2::propagate_const<_Tp>& __pc2) const
-  {
-    return std::greater_equal<_Tp>()(_VSTD_LFTS_V2::get_underlying(__pc1), _VSTD_LFTS_V2::get_underlying(__pc2));
-  }
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP_STD_VER > 11
-#endif // _LIBCPP_EXPERIMENTAL_PROPAGATE_CONST
-
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/experimental/type_traits b/r21/sources/cxx-stl/llvm-libc++/include/experimental/type_traits
deleted file mode 100644
index 19466e9..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/experimental/type_traits
+++ /dev/null
@@ -1,154 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- type_traits -------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_TYPE_TRAITS
-#define _LIBCPP_EXPERIMENTAL_TYPE_TRAITS
-
-/**
-    experimental/type_traits synopsis
-
-// C++1y
-#include <type_traits>
-
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-
-  // 3.3.2, Other type transformations
-  template <class> class invocation_type; // not defined
-  template <class F, class... ArgTypes> class invocation_type<F(ArgTypes...)>;
-  template <class> class raw_invocation_type; // not defined
-  template <class F, class... ArgTypes> class raw_invocation_type<F(ArgTypes...)>;
-
-  template <class T>
-    using invocation_type_t = typename invocation_type<T>::type;
-  template <class T>
-    using raw_invocation_type_t = typename raw_invocation_type<T>::type;
-
-  // 3.3.4, Detection idiom
-  template <class...> using void_t = void;
-
-  struct nonesuch {
-    nonesuch() = delete;
-    ~nonesuch() = delete;
-    nonesuch(nonesuch const&) = delete;
-    void operator=(nonesuch const&) = delete;
-  };
-
-  template <template<class...> class Op, class... Args>
-    using is_detected = see below;
-  template <template<class...> class Op, class... Args>
-    constexpr bool is_detected_v = is_detected<Op, Args...>::value;
-  template <template<class...> class Op, class... Args>
-    using detected_t = see below;
-  template <class Default, template<class...> class Op, class... Args>
-    using detected_or = see below;
-  template <class Default, template<class...> class Op, class... Args>
-    using detected_or_t = typename detected_or<Default, Op, Args...>::type;
-  template <class Expected, template<class...> class Op, class... Args>
-    using is_detected_exact = is_same<Expected, detected_t<Op, Args...>>;
-  template <class Expected, template<class...> class Op, class... Args>
-    constexpr bool is_detected_exact_v
-      = is_detected_exact<Expected, Op, Args...>::value;
-  template <class To, template<class...> class Op, class... Args>
-     using is_detected_convertible = is_convertible<detected_t<Op, Args...>, To>;
-  template <class To, template<class...> class Op, class... Args>
-     constexpr bool is_detected_convertible_v
-       = is_detected_convertible<To, Op, Args...>::value;  
-
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-
-#if _LIBCPP_STD_VER > 11
-
-#include <initializer_list>
-#include <type_traits>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS
-
-// 3.3.2, Other type transformations
-/*
-template <class>
-class _LIBCPP_TEMPLATE_VIS raw_invocation_type;
-
-template <class _Fn, class ..._Args>
-class _LIBCPP_TEMPLATE_VIS raw_invocation_type<_Fn(_Args...)>;
-
-template <class>
-class _LIBCPP_TEMPLATE_VIS invokation_type;
-
-template <class _Fn, class ..._Args>
-class _LIBCPP_TEMPLATE_VIS invokation_type<_Fn(_Args...)>;
-
-template <class _Tp>
-using invokation_type_t = typename invokation_type<_Tp>::type;
-
-template <class _Tp>
-using raw_invocation_type_t = typename raw_invocation_type<_Tp>::type;
-*/
-
-// 3.3.4, Detection idiom
-template <class...> using void_t = void;
-
-struct nonesuch : private _VSTD::__nat { // make nonesuch "not an aggregate"
-  ~nonesuch() = delete;
-  nonesuch      (nonesuch const&) = delete;
-  void operator=(nonesuch const&) = delete;
-  };
-
-template <class _Default, class _AlwaysVoid, template <class...> class _Op, class... _Args>
-struct _DETECTOR {
-   using value_t = false_type;
-   using type = _Default;
-   };
-
-template <class _Default, template <class...> class _Op, class... _Args>
-struct _DETECTOR<_Default, void_t<_Op<_Args...>>, _Op, _Args...> {
-   using value_t = true_type;
-   using type = _Op<_Args...>;
-   };
-     
-
-template <template<class...> class _Op, class... _Args>
-  using is_detected = typename _DETECTOR<nonesuch, void, _Op, _Args...>::value_t;
-template <template<class...> class _Op, class... _Args>
-  using detected_t = typename _DETECTOR<nonesuch, void, _Op, _Args...>::type;
-template <template<class...> class _Op, class... _Args>
-  _LIBCPP_CONSTEXPR bool is_detected_v = is_detected<_Op, _Args...>::value;
-
-template <class Default, template<class...> class _Op, class... _Args>
-  using detected_or = _DETECTOR<Default, void, _Op, _Args...>;
-template <class Default, template<class...> class _Op, class... _Args>
-  using detected_or_t = typename detected_or<Default, _Op, _Args...>::type;
-
-template <class Expected, template<class...> class _Op, class... _Args>
-  using is_detected_exact = is_same<Expected, detected_t<_Op, _Args...>>;
-template <class Expected, template<class...> class _Op, class... _Args>
-  _LIBCPP_CONSTEXPR bool is_detected_exact_v = is_detected_exact<Expected, _Op, _Args...>::value;
-
-template <class To, template<class...> class _Op, class... _Args>
-  using is_detected_convertible = is_convertible<detected_t<_Op, _Args...>, To>;
-template <class To, template<class...> class _Op, class... _Args>
-  _LIBCPP_CONSTEXPR bool is_detected_convertible_v = is_detected_convertible<To, _Op, _Args...>::value;  
-
-
-_LIBCPP_END_NAMESPACE_LFTS
-
-#endif /* _LIBCPP_STD_VER > 11 */
-
-#endif /* _LIBCPP_EXPERIMENTAL_TYPE_TRAITS */
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ext/hash_map b/r21/sources/cxx-stl/llvm-libc++/include/ext/hash_map
deleted file mode 100644
index 20f778b..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/ext/hash_map
+++ /dev/null
@@ -1,983 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- hash_map ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_HASH_MAP
-#define _LIBCPP_HASH_MAP
-
-/*
-
-    hash_map synopsis
-
-namespace __gnu_cxx
-{
-
-template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>,
-          class Alloc = allocator<pair<const Key, T>>>
-class hash_map
-{
-public:
-    // types
-    typedef Key                                                        key_type;
-    typedef T                                                          mapped_type;
-    typedef Hash                                                       hasher;
-    typedef Pred                                                       key_equal;
-    typedef Alloc                                                      allocator_type;
-    typedef pair<const key_type, mapped_type>                          value_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef /unspecified/ iterator;
-    typedef /unspecified/ const_iterator;
-
-    hash_map();
-    explicit hash_map(size_type n, const hasher& hf = hasher(),
-                           const key_equal& eql = key_equal(),
-                           const allocator_type& a = allocator_type());
-    template <class InputIterator>
-    hash_map(InputIterator f, InputIterator l);
-    template <class InputIterator>
-    hash_map(InputIterator f, InputIterator l,
-                size_type n, const hasher& hf = hasher(),
-                const key_equal& eql = key_equal(),
-                const allocator_type& a = allocator_type());
-    hash_map(const hash_map&);
-    ~hash_map();
-    hash_map& operator=(const hash_map&);
-
-    allocator_type get_allocator() const;
-
-    bool      empty() const;
-    size_type size() const;
-    size_type max_size() const;
-
-    iterator       begin();
-    iterator       end();
-    const_iterator begin()  const;
-    const_iterator end()    const;
-
-    pair<iterator, bool> insert(const value_type& obj);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-
-    void erase(const_iterator position);
-    size_type erase(const key_type& k);
-    void erase(const_iterator first, const_iterator last);
-    void clear();
-
-    void swap(hash_map&);
-
-    hasher hash_funct() const;
-    key_equal key_eq() const;
-
-    iterator       find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    size_type count(const key_type& k) const;
-    pair<iterator, iterator>             equal_range(const key_type& k);
-    pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
-
-    mapped_type& operator[](const key_type& k);
-
-    size_type bucket_count() const;
-    size_type max_bucket_count() const;
-
-    size_type elems_in_bucket(size_type n) const;
-
-    void resize(size_type n);
-};
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    void swap(hash_map<Key, T, Hash, Pred, Alloc>& x,
-              hash_map<Key, T, Hash, Pred, Alloc>& y);
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    bool
-    operator==(const hash_map<Key, T, Hash, Pred, Alloc>& x,
-               const hash_map<Key, T, Hash, Pred, Alloc>& y);
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    bool
-    operator!=(const hash_map<Key, T, Hash, Pred, Alloc>& x,
-               const hash_map<Key, T, Hash, Pred, Alloc>& y);
-
-template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>,
-          class Alloc = allocator<pair<const Key, T>>>
-class hash_multimap
-{
-public:
-    // types
-    typedef Key                                                        key_type;
-    typedef T                                                          mapped_type;
-    typedef Hash                                                       hasher;
-    typedef Pred                                                       key_equal;
-    typedef Alloc                                                      allocator_type;
-    typedef pair<const key_type, mapped_type>                          value_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef /unspecified/ iterator;
-    typedef /unspecified/ const_iterator;
-
-    explicit hash_multimap(size_type n = 193, const hasher& hf = hasher(),
-                           const key_equal& eql = key_equal(),
-                           const allocator_type& a = allocator_type());
-    template <class InputIterator>
-        hash_multimap(InputIterator f, InputIterator l,
-                      size_type n = 193, const hasher& hf = hasher(),
-                      const key_equal& eql = key_equal(),
-                      const allocator_type& a = allocator_type());
-    explicit hash_multimap(const allocator_type&);
-    hash_multimap(const hash_multimap&);
-    ~hash_multimap();
-    hash_multimap& operator=(const hash_multimap&);
-
-    allocator_type get_allocator() const;
-
-    bool      empty() const;
-    size_type size() const;
-    size_type max_size() const;
-
-    iterator       begin();
-    iterator       end();
-    const_iterator begin()  const;
-    const_iterator end()    const;
-
-    iterator insert(const value_type& obj);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-
-    void erase(const_iterator position);
-    size_type erase(const key_type& k);
-    void erase(const_iterator first, const_iterator last);
-    void clear();
-
-    void swap(hash_multimap&);
-
-    hasher hash_funct() const;
-    key_equal key_eq() const;
-
-    iterator       find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    size_type count(const key_type& k) const;
-    pair<iterator, iterator>             equal_range(const key_type& k);
-    pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
-
-    size_type bucket_count() const;
-    size_type max_bucket_count() const;
-
-    size_type elems_in_bucket(size_type n) const;
-
-    void resize(size_type n);
-};
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    void swap(hash_multimap<Key, T, Hash, Pred, Alloc>& x,
-              hash_multimap<Key, T, Hash, Pred, Alloc>& y);
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    bool
-    operator==(const hash_multimap<Key, T, Hash, Pred, Alloc>& x,
-               const hash_multimap<Key, T, Hash, Pred, Alloc>& y);
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    bool
-    operator!=(const hash_multimap<Key, T, Hash, Pred, Alloc>& x,
-               const hash_multimap<Key, T, Hash, Pred, Alloc>& y);
-
-}  // __gnu_cxx
-
-*/
-
-#include <__config>
-#include <__hash_table>
-#include <functional>
-#include <stdexcept>
-#include <type_traits>
-#include <ext/__hash>
-
-#if __DEPRECATED
-#if defined(_LIBCPP_WARNING)
-    _LIBCPP_WARNING("Use of the header <ext/hash_map> is deprecated.  Migrate to <unordered_map>")
-#else
-#   warning Use of the header <ext/hash_map> is deprecated.  Migrate to <unordered_map>
-#endif
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-namespace __gnu_cxx {
-
-template <class _Tp, class _Hash,
-          bool = std::is_empty<_Hash>::value && !std::__libcpp_is_final<_Hash>::value
-        >
-class __hash_map_hasher
-    : private _Hash
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY __hash_map_hasher() : _Hash() {}
-    _LIBCPP_INLINE_VISIBILITY __hash_map_hasher(const _Hash& __h) : _Hash(__h) {}
-    _LIBCPP_INLINE_VISIBILITY const _Hash& hash_function() const {return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const _Tp& __x) const
-        {return static_cast<const _Hash&>(*this)(__x.first);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const typename _Tp::first_type& __x) const
-        {return static_cast<const _Hash&>(*this)(__x);}
-};
-
-template <class _Tp, class _Hash>
-class __hash_map_hasher<_Tp, _Hash, false>
-{
-    _Hash __hash_;
-public:
-    _LIBCPP_INLINE_VISIBILITY __hash_map_hasher() : __hash_() {}
-    _LIBCPP_INLINE_VISIBILITY __hash_map_hasher(const _Hash& __h) : __hash_(__h) {}
-    _LIBCPP_INLINE_VISIBILITY const _Hash& hash_function() const {return __hash_;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const _Tp& __x) const
-        {return __hash_(__x.first);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const typename _Tp::first_type& __x) const
-        {return __hash_(__x);}
-};
-
-template <class _Tp, class _Pred,
-          bool = std::is_empty<_Pred>::value && !std::__libcpp_is_final<_Pred>::value
-         >
-class __hash_map_equal
-    : private _Pred
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY __hash_map_equal() : _Pred() {}
-    _LIBCPP_INLINE_VISIBILITY __hash_map_equal(const _Pred& __p) : _Pred(__p) {}
-    _LIBCPP_INLINE_VISIBILITY const _Pred& key_eq() const {return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return static_cast<const _Pred&>(*this)(__x.first, __y.first);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const typename _Tp::first_type& __x, const _Tp& __y) const
-        {return static_cast<const _Pred&>(*this)(__x, __y.first);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const typename _Tp::first_type& __y) const
-        {return static_cast<const _Pred&>(*this)(__x.first, __y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const typename _Tp::first_type& __x,
-                    const typename _Tp::first_type& __y) const
-        {return static_cast<const _Pred&>(*this)(__x, __y);}
-};
-
-template <class _Tp, class _Pred>
-class __hash_map_equal<_Tp, _Pred, false>
-{
-    _Pred __pred_;
-public:
-    _LIBCPP_INLINE_VISIBILITY __hash_map_equal() : __pred_() {}
-    _LIBCPP_INLINE_VISIBILITY __hash_map_equal(const _Pred& __p) : __pred_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY const _Pred& key_eq() const {return __pred_;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __pred_(__x.first, __y.first);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const typename _Tp::first_type& __x, const _Tp& __y) const
-        {return __pred_(__x, __y.first);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const typename _Tp::first_type& __y) const
-        {return __pred_(__x.first, __y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const typename _Tp::first_type& __x,
-                    const typename _Tp::first_type& __y) const
-        {return __pred_(__x, __y);}
-};
-
-template <class _Alloc>
-class __hash_map_node_destructor
-{
-    typedef _Alloc                              allocator_type;
-    typedef std::allocator_traits<allocator_type>    __alloc_traits;
-    typedef typename __alloc_traits::value_type::__node_value_type value_type;
-public:
-    typedef typename __alloc_traits::pointer    pointer;
-private:
-    typedef typename value_type::first_type     first_type;
-    typedef typename value_type::second_type    second_type;
-
-    allocator_type& __na_;
-
-    __hash_map_node_destructor& operator=(const __hash_map_node_destructor&);
-
-public:
-    bool __first_constructed;
-    bool __second_constructed;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __hash_map_node_destructor(allocator_type& __na)
-        : __na_(__na),
-          __first_constructed(false),
-          __second_constructed(false)
-        {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_node_destructor(std::__hash_node_destructor<allocator_type>&& __x)
-        : __na_(__x.__na_),
-          __first_constructed(__x.__value_constructed),
-          __second_constructed(__x.__value_constructed)
-        {
-            __x.__value_constructed = false;
-        }
-#else  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_node_destructor(const std::__hash_node_destructor<allocator_type>& __x)
-        : __na_(__x.__na_),
-          __first_constructed(__x.__value_constructed),
-          __second_constructed(__x.__value_constructed)
-        {
-            const_cast<bool&>(__x.__value_constructed) = false;
-        }
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()(pointer __p)
-    {
-        if (__second_constructed)
-            __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.second));
-        if (__first_constructed)
-            __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.first));
-        if (__p)
-            __alloc_traits::deallocate(__na_, __p, 1);
-    }
-};
-
-template <class _HashIterator>
-class _LIBCPP_TEMPLATE_VIS __hash_map_iterator
-{
-    _HashIterator __i_;
-
-    typedef const typename _HashIterator::value_type::first_type key_type;
-    typedef typename _HashIterator::value_type::second_type      mapped_type;
-public:
-    typedef std::forward_iterator_tag                            iterator_category;
-    typedef std::pair<key_type, mapped_type>                     value_type;
-    typedef typename _HashIterator::difference_type              difference_type;
-    typedef value_type&                                          reference;
-    typedef typename std::__rebind_pointer<typename _HashIterator::pointer, value_type>::type
-        pointer;
-
-    _LIBCPP_INLINE_VISIBILITY __hash_map_iterator() {}
-
-    _LIBCPP_INLINE_VISIBILITY __hash_map_iterator(_HashIterator __i) : __i_(__i) {}
-
-    _LIBCPP_INLINE_VISIBILITY reference operator*() const {return *operator->();}
-    _LIBCPP_INLINE_VISIBILITY pointer operator->() const {return (pointer)__i_.operator->();}
-
-    _LIBCPP_INLINE_VISIBILITY __hash_map_iterator& operator++() {++__i_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_iterator operator++(int)
-    {
-        __hash_map_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY 
-    bool operator==(const __hash_map_iterator& __x, const __hash_map_iterator& __y)
-        {return __x.__i_ == __y.__i_;}
-    friend _LIBCPP_INLINE_VISIBILITY 
-    bool operator!=(const __hash_map_iterator& __x, const __hash_map_iterator& __y)
-        {return __x.__i_ != __y.__i_;}
-
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS hash_map;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS hash_multimap;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator;
-};
-
-template <class _HashIterator>
-class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator
-{
-    _HashIterator __i_;
-
-    typedef const typename _HashIterator::value_type::first_type key_type;
-    typedef typename _HashIterator::value_type::second_type      mapped_type;
-public:
-    typedef std::forward_iterator_tag                            iterator_category;
-    typedef std::pair<key_type, mapped_type>                     value_type;
-    typedef typename _HashIterator::difference_type              difference_type;
-    typedef const value_type&                                    reference;
-    typedef typename std::__rebind_pointer<typename _HashIterator::pointer, const value_type>::type
-        pointer;
-
-    _LIBCPP_INLINE_VISIBILITY __hash_map_const_iterator() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator(_HashIterator __i) : __i_(__i) {}
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator(
-            __hash_map_iterator<typename _HashIterator::__non_const_iterator> __i)
-                : __i_(__i.__i_) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {return *operator->();}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {return (pointer)__i_.operator->();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator& operator++() {++__i_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator operator++(int)
-    {
-        __hash_map_const_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y)
-        {return __x.__i_ == __y.__i_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y)
-        {return __x.__i_ != __y.__i_;}
-
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS hash_map;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS hash_multimap;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator;
-};
-
-template <class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = std::equal_to<_Key>,
-          class _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
-class _LIBCPP_TEMPLATE_VIS hash_map
-{
-public:
-    // types
-    typedef _Key                                           key_type;
-    typedef _Tp                                            mapped_type;
-    typedef _Tp                                            data_type;
-    typedef _Hash                                          hasher;
-    typedef _Pred                                          key_equal;
-    typedef _Alloc                                         allocator_type;
-    typedef std::pair<const key_type, mapped_type>         value_type;
-    typedef value_type&                                    reference;
-    typedef const value_type&                              const_reference;
-
-private:
-    typedef std::pair<key_type, mapped_type>                    __value_type;
-    typedef __hash_map_hasher<__value_type, hasher>   __hasher;
-    typedef __hash_map_equal<__value_type, key_equal> __key_equal;
-    typedef typename std::__rebind_alloc_helper<
-        std::allocator_traits<allocator_type>, __value_type>::type __allocator_type;
-
-    typedef std::__hash_table<__value_type, __hasher,
-                         __key_equal,  __allocator_type>   __table;
-
-    __table __table_;
-
-    typedef typename __table::__node_pointer               __node_pointer;
-    typedef typename __table::__node_const_pointer         __node_const_pointer;
-    typedef typename __table::__node_traits                __node_traits;
-    typedef typename __table::__node_allocator             __node_allocator;
-    typedef typename __table::__node                       __node;
-    typedef __hash_map_node_destructor<__node_allocator>   _Dp;
-    typedef std::unique_ptr<__node, _Dp>                   __node_holder;
-    typedef std::allocator_traits<allocator_type>          __alloc_traits;
-public:
-    typedef typename __alloc_traits::pointer         pointer;
-    typedef typename __alloc_traits::const_pointer   const_pointer;
-    typedef typename __alloc_traits::size_type       size_type;
-    typedef typename __alloc_traits::difference_type difference_type;
-
-    typedef __hash_map_iterator<typename __table::iterator>       iterator;
-    typedef __hash_map_const_iterator<typename __table::const_iterator> const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY hash_map() { }
-    explicit hash_map(size_type __n, const hasher& __hf = hasher(),
-                           const key_equal& __eql = key_equal());
-    hash_map(size_type __n, const hasher& __hf,
-                  const key_equal& __eql,
-                  const allocator_type& __a);
-    template <class _InputIterator>
-        hash_map(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        hash_map(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf = hasher(),
-                      const key_equal& __eql = key_equal());
-    template <class _InputIterator>
-        hash_map(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf,
-                      const key_equal& __eql,
-                      const allocator_type& __a);
-    hash_map(const hash_map& __u);
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const
-        {return allocator_type(__table_.__node_alloc());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const {return __table_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const  {return __table_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const {return __table_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin()        {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end()          {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const {return __table_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<iterator, bool> insert(const value_type& __x)
-        {return __table_.__insert_unique(__x);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator, const value_type& __x) {return insert(__x).first;}
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __first, _InputIterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void erase(const_iterator __p) {__table_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    void erase(const_iterator __first, const_iterator __last)
-        {__table_.erase(__first.__i_, __last.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() {__table_.clear();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(hash_map& __u) {__table_.swap(__u.__table_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher hash_funct() const
-        {return __table_.hash_function().hash_function();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal key_eq() const
-        {return __table_.key_eq().key_eq();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       find(const key_type& __k)       {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type count(const key_type& __k) const {return __table_.__count_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<iterator, iterator>             equal_range(const key_type& __k)
-        {return __table_.__equal_range_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
-        {return __table_.__equal_range_unique(__k);}
-
-    mapped_type& operator[](const key_type& __k);
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const {return __table_.bucket_count();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const {return __table_.max_bucket_count();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type elems_in_bucket(size_type __n) const
-        {return __table_.bucket_size(__n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void resize(size_type __n) {__table_.rehash(__n);}
-
-private:
-    __node_holder __construct_node(const key_type& __k);
-};
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_map(
-        size_type __n, const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-    __table_.rehash(__n);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_map(
-        size_type __n, const hasher& __hf, const key_equal& __eql,
-        const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-    __table_.rehash(__n);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_map(
-        _InputIterator __first, _InputIterator __last)
-{
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_map(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_map(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_map(
-        const hash_map& __u)
-    : __table_(__u.__table_)
-{
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-typename hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(const key_type& __k)
-{
-    __node_allocator& __na = __table_.__node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _VSTD::addressof(__h->__value_.first), __k);
-    __h.get_deleter().__first_constructed = true;
-    __node_traits::construct(__na, _VSTD::addressof(__h->__value_.second));
-    __h.get_deleter().__second_constructed = true;
-    return _LIBCPP_EXPLICIT_MOVE(__h);  // explicitly moved for C++03
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-inline
-void
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
-                                                       _InputIterator __last)
-{
-    for (; __first != __last; ++__first)
-        __table_.__insert_unique(*__first);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-_Tp&
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type& __k)
-{
-    iterator __i = find(__k);
-    if (__i != end())
-        return __i->second;
-    __node_holder __h = __construct_node(__k);
-    std::pair<iterator, bool> __r = __table_.__node_insert_unique(__h.get());
-    __h.release();
-    return __r.first->second;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-     hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-bool
-operator==(const hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-           const hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    if (__x.size() != __y.size())
-        return false;
-    typedef typename hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator
-                                                                 const_iterator;
-    for (const_iterator __i = __x.begin(), __ex = __x.end(), __ey = __y.end();
-            __i != __ex; ++__i)
-    {
-        const_iterator __j = __y.find(__i->first);
-        if (__j == __ey || !(*__i == *__j))
-            return false;
-    }
-    return true;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-           const hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = std::equal_to<_Key>,
-          class _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
-class _LIBCPP_TEMPLATE_VIS hash_multimap
-{
-public:
-    // types
-    typedef _Key                                           key_type;
-    typedef _Tp                                            mapped_type;
-    typedef _Tp                                            data_type;
-    typedef _Hash                                          hasher;
-    typedef _Pred                                          key_equal;
-    typedef _Alloc                                         allocator_type;
-    typedef std::pair<const key_type, mapped_type>         value_type;
-    typedef value_type&                                    reference;
-    typedef const value_type&                              const_reference;
-
-private:
-    typedef std::pair<key_type, mapped_type>               __value_type;
-    typedef __hash_map_hasher<__value_type, hasher>   __hasher;
-    typedef __hash_map_equal<__value_type, key_equal> __key_equal;
-    typedef typename std::__rebind_alloc_helper<std::allocator_traits<allocator_type>, __value_type>::type __allocator_type;
-
-    typedef std::__hash_table<__value_type, __hasher,
-                         __key_equal,  __allocator_type>   __table;
-
-    __table __table_;
-
-    typedef typename __table::__node_traits                __node_traits;
-    typedef typename __table::__node_allocator             __node_allocator;
-    typedef typename __table::__node                       __node;
-    typedef __hash_map_node_destructor<__node_allocator>   _Dp;
-    typedef std::unique_ptr<__node, _Dp>                         __node_holder;
-    typedef std::allocator_traits<allocator_type>               __alloc_traits;
-public:
-    typedef typename __alloc_traits::pointer         pointer;
-    typedef typename __alloc_traits::const_pointer   const_pointer;
-    typedef typename __alloc_traits::size_type       size_type;
-    typedef typename __alloc_traits::difference_type difference_type;
-
-    typedef __hash_map_iterator<typename __table::iterator>       iterator;
-    typedef __hash_map_const_iterator<typename __table::const_iterator> const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    hash_multimap() { }
-    explicit hash_multimap(size_type __n, const hasher& __hf = hasher(),
-                                const key_equal& __eql = key_equal());
-    hash_multimap(size_type __n, const hasher& __hf,
-                                const key_equal& __eql,
-                                const allocator_type& __a);
-    template <class _InputIterator>
-        hash_multimap(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        hash_multimap(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf = hasher(),
-                      const key_equal& __eql = key_equal());
-    template <class _InputIterator>
-        hash_multimap(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf,
-                      const key_equal& __eql,
-                      const allocator_type& __a);
-    hash_multimap(const hash_multimap& __u);
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const
-        {return allocator_type(__table_.__node_alloc());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const {return __table_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const  {return __table_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const {return __table_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin()        {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end()          {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const {return __table_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator, const value_type& __x) {return insert(__x);}
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __first, _InputIterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void erase(const_iterator __p) {__table_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __table_.__erase_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    void erase(const_iterator __first, const_iterator __last)
-        {__table_.erase(__first.__i_, __last.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() {__table_.clear();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(hash_multimap& __u) {__table_.swap(__u.__table_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher hash_funct() const
-        {return __table_.hash_function().hash_function();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal key_eq() const
-        {return __table_.key_eq().key_eq();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       find(const key_type& __k)       {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type count(const key_type& __k) const {return __table_.__count_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<iterator, iterator>             equal_range(const key_type& __k)
-        {return __table_.__equal_range_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
-        {return __table_.__equal_range_multi(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const {return __table_.bucket_count();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const {return __table_.max_bucket_count();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type elems_in_bucket(size_type __n) const
-        {return __table_.bucket_size(__n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void resize(size_type __n) {__table_.rehash(__n);}
-};
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(
-        size_type __n, const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-    __table_.rehash(__n);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(
-        size_type __n, const hasher& __hf, const key_equal& __eql,
-        const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-    __table_.rehash(__n);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(
-        _InputIterator __first, _InputIterator __last)
-{
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(
-        const hash_multimap& __u)
-    : __table_(__u.__table_)
-{
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-inline
-void
-hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
-                                                            _InputIterator __last)
-{
-    for (; __first != __last; ++__first)
-        __table_.__insert_multi(*__first);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-     hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-bool
-operator==(const hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-           const hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    if (__x.size() != __y.size())
-        return false;
-    typedef typename hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator
-                                                                 const_iterator;
-    typedef std::pair<const_iterator, const_iterator> _EqRng;
-    for (const_iterator __i = __x.begin(), __ex = __x.end(); __i != __ex;)
-    {
-        _EqRng __xeq = __x.equal_range(__i->first);
-        _EqRng __yeq = __y.equal_range(__i->first);
-        if (_VSTD::distance(__xeq.first, __xeq.second) !=
-            _VSTD::distance(__yeq.first, __yeq.second) ||
-                  !_VSTD::is_permutation(__xeq.first, __xeq.second, __yeq.first))
-            return false;
-        __i = __xeq.second;
-    }
-    return true;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-           const hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-} // __gnu_cxx
-
-#endif  // _LIBCPP_HASH_MAP
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/filesystem b/r21/sources/cxx-stl/llvm-libc++/include/filesystem
deleted file mode 100644
index 9020a12..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/filesystem
+++ /dev/null
@@ -1,2644 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- filesystem -------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FILESYSTEM
-#define _LIBCPP_FILESYSTEM
-/*
-    filesystem synopsis
-
-    namespace std { namespace filesystem {
-
-    class path;
-
-    void swap(path& lhs, path& rhs) noexcept;
-    size_t hash_value(const path& p) noexcept;
-
-    bool operator==(const path& lhs, const path& rhs) noexcept;
-    bool operator!=(const path& lhs, const path& rhs) noexcept;
-    bool operator< (const path& lhs, const path& rhs) noexcept;
-    bool operator<=(const path& lhs, const path& rhs) noexcept;
-    bool operator> (const path& lhs, const path& rhs) noexcept;
-    bool operator>=(const path& lhs, const path& rhs) noexcept;
-
-    path operator/ (const path& lhs, const path& rhs);
-
-    // fs.path.io operators are friends of path.
-    template <class charT, class traits>
-    friend basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os, const path& p);
-
-    template <class charT, class traits>
-    friend basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is, path& p);
-
-    template <class Source>
-      path u8path(const Source& source);
-    template <class InputIterator>
-      path u8path(InputIterator first, InputIterator last);
-
-    class filesystem_error;
-    class directory_entry;
-
-    class directory_iterator;
-
-    // enable directory_iterator range-based for statements
-    directory_iterator begin(directory_iterator iter) noexcept;
-    directory_iterator end(const directory_iterator&) noexcept;
-
-    class recursive_directory_iterator;
-
-    // enable recursive_directory_iterator range-based for statements
-    recursive_directory_iterator begin(recursive_directory_iterator iter) noexcept;
-    recursive_directory_iterator end(const recursive_directory_iterator&) noexcept;
-
-    class file_status;
-
-    struct space_info
-    {
-      uintmax_t capacity;
-      uintmax_t free;
-      uintmax_t available;
-    };
-
-    enum class file_type;
-    enum class perms;
-    enum class perm_options;
-    enum class copy_options;
-    enum class directory_options;
-
-    typedef chrono::time_point<trivial-clock>  file_time_type;
-
-    // operational functions
-
-    path absolute(const path& p);
-    path absolute(const path& p, error_code &ec);
-
-    path canonical(const path& p);
-    path canonical(const path& p, error_code& ec);
-
-    void copy(const path& from, const path& to);
-    void copy(const path& from, const path& to, error_code& ec);
-    void copy(const path& from, const path& to, copy_options options);
-    void copy(const path& from, const path& to, copy_options options,
-                   error_code& ec);
-
-    bool copy_file(const path& from, const path& to);
-    bool copy_file(const path& from, const path& to, error_code& ec);
-    bool copy_file(const path& from, const path& to, copy_options option);
-    bool copy_file(const path& from, const path& to, copy_options option,
-                           error_code& ec);
-
-    void copy_symlink(const path& existing_symlink, const path& new_symlink);
-    void copy_symlink(const path& existing_symlink, const path& new_symlink,
-                              error_code& ec) noexcept;
-
-    bool create_directories(const path& p);
-    bool create_directories(const path& p, error_code& ec);
-
-    bool create_directory(const path& p);
-    bool create_directory(const path& p, error_code& ec) noexcept;
-
-    bool create_directory(const path& p, const path& attributes);
-    bool create_directory(const path& p, const path& attributes,
-                                  error_code& ec) noexcept;
-
-    void create_directory_symlink(const path& to, const path& new_symlink);
-    void create_directory_symlink(const path& to, const path& new_symlink,
-                                          error_code& ec) noexcept;
-
-    void create_hard_link(const path& to, const path& new_hard_link);
-    void create_hard_link(const path& to, const path& new_hard_link,
-                                  error_code& ec) noexcept;
-
-    void create_symlink(const path& to, const path& new_symlink);
-    void create_symlink(const path& to, const path& new_symlink,
-                                error_code& ec) noexcept;
-
-    path current_path();
-    path current_path(error_code& ec);
-    void current_path(const path& p);
-    void current_path(const path& p, error_code& ec) noexcept;
-
-    bool exists(file_status s) noexcept;
-    bool exists(const path& p);
-    bool exists(const path& p, error_code& ec) noexcept;
-
-    bool equivalent(const path& p1, const path& p2);
-    bool equivalent(const path& p1, const path& p2, error_code& ec) noexcept;
-
-    uintmax_t    file_size(const path& p);
-    uintmax_t    file_size(const path& p, error_code& ec) noexcept;
-
-    uintmax_t    hard_link_count(const path& p);
-    uintmax_t    hard_link_count(const path& p, error_code& ec) noexcept;
-
-    bool is_block_file(file_status s) noexcept;
-    bool is_block_file(const path& p);
-    bool is_block_file(const path& p, error_code& ec) noexcept;
-
-    bool is_character_file(file_status s) noexcept;
-    bool is_character_file(const path& p);
-    bool is_character_file(const path& p, error_code& ec) noexcept;
-
-    bool is_directory(file_status s) noexcept;
-    bool is_directory(const path& p);
-    bool is_directory(const path& p, error_code& ec) noexcept;
-
-    bool is_empty(const path& p);
-    bool is_empty(const path& p, error_code& ec) noexcept;
-
-    bool is_fifo(file_status s) noexcept;
-    bool is_fifo(const path& p);
-    bool is_fifo(const path& p, error_code& ec) noexcept;
-
-    bool is_other(file_status s) noexcept;
-    bool is_other(const path& p);
-    bool is_other(const path& p, error_code& ec) noexcept;
-
-    bool is_regular_file(file_status s) noexcept;
-    bool is_regular_file(const path& p);
-    bool is_regular_file(const path& p, error_code& ec) noexcept;
-
-    bool is_socket(file_status s) noexcept;
-    bool is_socket(const path& p);
-    bool is_socket(const path& p, error_code& ec) noexcept;
-
-    bool is_symlink(file_status s) noexcept;
-    bool is_symlink(const path& p);
-    bool is_symlink(const path& p, error_code& ec) noexcept;
-
-    file_time_type  last_write_time(const path& p);
-    file_time_type  last_write_time(const path& p, error_code& ec) noexcept;
-    void last_write_time(const path& p, file_time_type new_time);
-    void last_write_time(const path& p, file_time_type new_time,
-                                 error_code& ec) noexcept;
-
-    void permissions(const path& p, perms prms,
-                     perm_options opts=perm_options::replace);
-    void permissions(const path& p, perms prms, error_code& ec) noexcept;
-    void permissions(const path& p, perms prms, perm_options opts,
-                     error_code& ec);
-
-    path proximate(const path& p, error_code& ec);
-    path proximate(const path& p, const path& base = current_path());
-    path proximate(const path& p, const path& base, error_code &ec);
-
-    path read_symlink(const path& p);
-    path read_symlink(const path& p, error_code& ec);
-
-    path relative(const path& p, error_code& ec);
-    path relative(const path& p, const path& base=current_path());
-    path relative(const path& p, const path& base, error_code& ec);
-
-    bool remove(const path& p);
-    bool remove(const path& p, error_code& ec) noexcept;
-
-    uintmax_t    remove_all(const path& p);
-    uintmax_t    remove_all(const path& p, error_code& ec);
-
-    void rename(const path& from, const path& to);
-    void rename(const path& from, const path& to, error_code& ec) noexcept;
-
-    void resize_file(const path& p, uintmax_t size);
-    void resize_file(const path& p, uintmax_t size, error_code& ec) noexcept;
-
-    space_info   space(const path& p);
-    space_info   space(const path& p, error_code& ec) noexcept;
-
-    file_status  status(const path& p);
-    file_status  status(const path& p, error_code& ec) noexcept;
-
-    bool status_known(file_status s) noexcept;
-
-    file_status  symlink_status(const path& p);
-    file_status  symlink_status(const path& p, error_code& ec) noexcept;
-
-    path temp_directory_path();
-    path temp_directory_path(error_code& ec);
-
-    path weakly_canonical(path const& p);
-    path weakly_canonical(path const& p, error_code& ec);
-
-
-} }  // namespaces std::filesystem
-
-*/
-
-#include <__config>
-#include <cstddef>
-#include <cstdlib>
-#include <chrono>
-#include <iterator>
-#include <iosfwd>
-#include <locale>
-#include <memory>
-#include <stack>
-#include <string>
-#include <system_error>
-#include <utility>
-#include <iomanip> // for quoted
-#include <string_view>
-#include <version>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-#ifndef _LIBCPP_CXX03_LANG
-
-_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
-
-_LIBCPP_AVAILABILITY_FILESYSTEM_PUSH
-
-typedef chrono::time_point<_FilesystemClock> file_time_type;
-
-struct _LIBCPP_TYPE_VIS space_info {
-  uintmax_t capacity;
-  uintmax_t free;
-  uintmax_t available;
-};
-
-enum class _LIBCPP_ENUM_VIS file_type : signed char {
-  none = 0,
-  not_found = -1,
-  regular = 1,
-  directory = 2,
-  symlink = 3,
-  block = 4,
-  character = 5,
-  fifo = 6,
-  socket = 7,
-  unknown = 8
-};
-
-enum class _LIBCPP_ENUM_VIS perms : unsigned {
-  none = 0,
-
-  owner_read = 0400,
-  owner_write = 0200,
-  owner_exec = 0100,
-  owner_all = 0700,
-
-  group_read = 040,
-  group_write = 020,
-  group_exec = 010,
-  group_all = 070,
-
-  others_read = 04,
-  others_write = 02,
-  others_exec = 01,
-  others_all = 07,
-
-  all = 0777,
-
-  set_uid = 04000,
-  set_gid = 02000,
-  sticky_bit = 01000,
-  mask = 07777,
-  unknown = 0xFFFF,
-};
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr perms operator&(perms _LHS, perms _RHS) {
-  return static_cast<perms>(static_cast<unsigned>(_LHS) &
-                            static_cast<unsigned>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr perms operator|(perms _LHS, perms _RHS) {
-  return static_cast<perms>(static_cast<unsigned>(_LHS) |
-                            static_cast<unsigned>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr perms operator^(perms _LHS, perms _RHS) {
-  return static_cast<perms>(static_cast<unsigned>(_LHS) ^
-                            static_cast<unsigned>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr perms operator~(perms _LHS) {
-  return static_cast<perms>(~static_cast<unsigned>(_LHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline perms& operator&=(perms& _LHS, perms _RHS) { return _LHS = _LHS & _RHS; }
-
-_LIBCPP_INLINE_VISIBILITY
-inline perms& operator|=(perms& _LHS, perms _RHS) { return _LHS = _LHS | _RHS; }
-
-_LIBCPP_INLINE_VISIBILITY
-inline perms& operator^=(perms& _LHS, perms _RHS) { return _LHS = _LHS ^ _RHS; }
-
-enum class _LIBCPP_ENUM_VIS perm_options : unsigned char {
-  replace = 1,
-  add = 2,
-  remove = 4,
-  nofollow = 8
-};
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr perm_options operator&(perm_options _LHS, perm_options _RHS) {
-  return static_cast<perm_options>(static_cast<unsigned>(_LHS) &
-                                   static_cast<unsigned>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr perm_options operator|(perm_options _LHS, perm_options _RHS) {
-  return static_cast<perm_options>(static_cast<unsigned>(_LHS) |
-                                   static_cast<unsigned>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr perm_options operator^(perm_options _LHS, perm_options _RHS) {
-  return static_cast<perm_options>(static_cast<unsigned>(_LHS) ^
-                                   static_cast<unsigned>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr perm_options operator~(perm_options _LHS) {
-  return static_cast<perm_options>(~static_cast<unsigned>(_LHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline perm_options& operator&=(perm_options& _LHS, perm_options _RHS) {
-  return _LHS = _LHS & _RHS;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline perm_options& operator|=(perm_options& _LHS, perm_options _RHS) {
-  return _LHS = _LHS | _RHS;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline perm_options& operator^=(perm_options& _LHS, perm_options _RHS) {
-  return _LHS = _LHS ^ _RHS;
-}
-
-enum class _LIBCPP_ENUM_VIS copy_options : unsigned short {
-  none = 0,
-  skip_existing = 1,
-  overwrite_existing = 2,
-  update_existing = 4,
-  recursive = 8,
-  copy_symlinks = 16,
-  skip_symlinks = 32,
-  directories_only = 64,
-  create_symlinks = 128,
-  create_hard_links = 256,
-  __in_recursive_copy = 512,
-};
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr copy_options operator&(copy_options _LHS, copy_options _RHS) {
-  return static_cast<copy_options>(static_cast<unsigned short>(_LHS) &
-                                   static_cast<unsigned short>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr copy_options operator|(copy_options _LHS, copy_options _RHS) {
-  return static_cast<copy_options>(static_cast<unsigned short>(_LHS) |
-                                   static_cast<unsigned short>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr copy_options operator^(copy_options _LHS, copy_options _RHS) {
-  return static_cast<copy_options>(static_cast<unsigned short>(_LHS) ^
-                                   static_cast<unsigned short>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr copy_options operator~(copy_options _LHS) {
-  return static_cast<copy_options>(~static_cast<unsigned short>(_LHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline copy_options& operator&=(copy_options& _LHS, copy_options _RHS) {
-  return _LHS = _LHS & _RHS;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline copy_options& operator|=(copy_options& _LHS, copy_options _RHS) {
-  return _LHS = _LHS | _RHS;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline copy_options& operator^=(copy_options& _LHS, copy_options _RHS) {
-  return _LHS = _LHS ^ _RHS;
-}
-
-enum class _LIBCPP_ENUM_VIS directory_options : unsigned char {
-  none = 0,
-  follow_directory_symlink = 1,
-  skip_permission_denied = 2
-};
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr directory_options operator&(directory_options _LHS,
-                                             directory_options _RHS) {
-  return static_cast<directory_options>(static_cast<unsigned char>(_LHS) &
-                                        static_cast<unsigned char>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr directory_options operator|(directory_options _LHS,
-                                             directory_options _RHS) {
-  return static_cast<directory_options>(static_cast<unsigned char>(_LHS) |
-                                        static_cast<unsigned char>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr directory_options operator^(directory_options _LHS,
-                                             directory_options _RHS) {
-  return static_cast<directory_options>(static_cast<unsigned char>(_LHS) ^
-                                        static_cast<unsigned char>(_RHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr directory_options operator~(directory_options _LHS) {
-  return static_cast<directory_options>(~static_cast<unsigned char>(_LHS));
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline directory_options& operator&=(directory_options& _LHS,
-                                     directory_options _RHS) {
-  return _LHS = _LHS & _RHS;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline directory_options& operator|=(directory_options& _LHS,
-                                     directory_options _RHS) {
-  return _LHS = _LHS | _RHS;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline directory_options& operator^=(directory_options& _LHS,
-                                     directory_options _RHS) {
-  return _LHS = _LHS ^ _RHS;
-}
-
-class _LIBCPP_TYPE_VIS file_status {
-public:
-  // constructors
-  _LIBCPP_INLINE_VISIBILITY
-  file_status() noexcept : file_status(file_type::none) {}
-  _LIBCPP_INLINE_VISIBILITY
-  explicit file_status(file_type __ft, perms __prms = perms::unknown) noexcept
-      : __ft_(__ft),
-        __prms_(__prms) {}
-
-  file_status(const file_status&) noexcept = default;
-  file_status(file_status&&) noexcept = default;
-
-  _LIBCPP_INLINE_VISIBILITY
-  ~file_status() {}
-
-  file_status& operator=(const file_status&) noexcept = default;
-  file_status& operator=(file_status&&) noexcept = default;
-
-  // observers
-  _LIBCPP_INLINE_VISIBILITY
-  file_type type() const noexcept { return __ft_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  perms permissions() const noexcept { return __prms_; }
-
-  // modifiers
-  _LIBCPP_INLINE_VISIBILITY
-  void type(file_type __ft) noexcept { __ft_ = __ft; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void permissions(perms __p) noexcept { __prms_ = __p; }
-
-private:
-  file_type __ft_;
-  perms __prms_;
-};
-
-class _LIBCPP_TYPE_VIS directory_entry;
-
-template <class _Tp>
-struct __can_convert_char {
-  static const bool value = false;
-};
-template <class _Tp>
-struct __can_convert_char<const _Tp> : public __can_convert_char<_Tp> {};
-template <>
-struct __can_convert_char<char> {
-  static const bool value = true;
-  using __char_type = char;
-};
-template <>
-struct __can_convert_char<wchar_t> {
-  static const bool value = true;
-  using __char_type = wchar_t;
-};
-template <>
-struct __can_convert_char<char16_t> {
-  static const bool value = true;
-  using __char_type = char16_t;
-};
-template <>
-struct __can_convert_char<char32_t> {
-  static const bool value = true;
-  using __char_type = char32_t;
-};
-
-template <class _ECharT>
-typename enable_if<__can_convert_char<_ECharT>::value, bool>::type
-__is_separator(_ECharT __e) {
-  return __e == _ECharT('/');
-}
-
-struct _NullSentinal {};
-
-template <class _Tp>
-using _Void = void;
-
-template <class _Tp, class = void>
-struct __is_pathable_string : public false_type {};
-
-template <class _ECharT, class _Traits, class _Alloc>
-struct __is_pathable_string<
-    basic_string<_ECharT, _Traits, _Alloc>,
-    _Void<typename __can_convert_char<_ECharT>::__char_type> >
-    : public __can_convert_char<_ECharT> {
-  using _Str = basic_string<_ECharT, _Traits, _Alloc>;
-  using _Base = __can_convert_char<_ECharT>;
-  static _ECharT const* __range_begin(_Str const& __s) { return __s.data(); }
-  static _ECharT const* __range_end(_Str const& __s) {
-    return __s.data() + __s.length();
-  }
-  static _ECharT __first_or_null(_Str const& __s) {
-    return __s.empty() ? _ECharT{} : __s[0];
-  }
-};
-
-template <class _ECharT, class _Traits>
-struct __is_pathable_string<
-    basic_string_view<_ECharT, _Traits>,
-    _Void<typename __can_convert_char<_ECharT>::__char_type> >
-    : public __can_convert_char<_ECharT> {
-  using _Str = basic_string_view<_ECharT, _Traits>;
-  using _Base = __can_convert_char<_ECharT>;
-  static _ECharT const* __range_begin(_Str const& __s) { return __s.data(); }
-  static _ECharT const* __range_end(_Str const& __s) {
-    return __s.data() + __s.length();
-  }
-  static _ECharT __first_or_null(_Str const& __s) {
-    return __s.empty() ? _ECharT{} : __s[0];
-  }
-};
-
-template <class _Source, class _DS = typename decay<_Source>::type,
-          class _UnqualPtrType =
-              typename remove_const<typename remove_pointer<_DS>::type>::type,
-          bool _IsCharPtr = is_pointer<_DS>::value&&
-              __can_convert_char<_UnqualPtrType>::value>
-struct __is_pathable_char_array : false_type {};
-
-template <class _Source, class _ECharT, class _UPtr>
-struct __is_pathable_char_array<_Source, _ECharT*, _UPtr, true>
-    : __can_convert_char<typename remove_const<_ECharT>::type> {
-  using _Base = __can_convert_char<typename remove_const<_ECharT>::type>;
-
-  static _ECharT const* __range_begin(const _ECharT* __b) { return __b; }
-  static _ECharT const* __range_end(const _ECharT* __b) {
-    using _Iter = const _ECharT*;
-    const _ECharT __sentinal = _ECharT{};
-    _Iter __e = __b;
-    for (; *__e != __sentinal; ++__e)
-      ;
-    return __e;
-  }
-
-  static _ECharT __first_or_null(const _ECharT* __b) { return *__b; }
-};
-
-template <class _Iter, bool _IsIt = __is_input_iterator<_Iter>::value,
-          class = void>
-struct __is_pathable_iter : false_type {};
-
-template <class _Iter>
-struct __is_pathable_iter<
-    _Iter, true,
-    _Void<typename __can_convert_char<
-        typename iterator_traits<_Iter>::value_type>::__char_type> >
-    : __can_convert_char<typename iterator_traits<_Iter>::value_type> {
-  using _ECharT = typename iterator_traits<_Iter>::value_type;
-  using _Base = __can_convert_char<_ECharT>;
-
-  static _Iter __range_begin(_Iter __b) { return __b; }
-  static _NullSentinal __range_end(_Iter) { return _NullSentinal{}; }
-
-  static _ECharT __first_or_null(_Iter __b) { return *__b; }
-};
-
-template <class _Tp, bool _IsStringT = __is_pathable_string<_Tp>::value,
-          bool _IsCharIterT = __is_pathable_char_array<_Tp>::value,
-          bool _IsIterT = !_IsCharIterT && __is_pathable_iter<_Tp>::value>
-struct __is_pathable : false_type {
-  static_assert(!_IsStringT && !_IsCharIterT && !_IsIterT, "Must all be false");
-};
-
-template <class _Tp>
-struct __is_pathable<_Tp, true, false, false> : __is_pathable_string<_Tp> {};
-
-template <class _Tp>
-struct __is_pathable<_Tp, false, true, false> : __is_pathable_char_array<_Tp> {
-};
-
-template <class _Tp>
-struct __is_pathable<_Tp, false, false, true> : __is_pathable_iter<_Tp> {};
-
-template <class _ECharT>
-struct _PathCVT {
-  static_assert(__can_convert_char<_ECharT>::value,
-                "Char type not convertible");
-
-  typedef __narrow_to_utf8<sizeof(_ECharT) * __CHAR_BIT__> _Narrower;
-
-  static void __append_range(string& __dest, _ECharT const* __b,
-                             _ECharT const* __e) {
-    _Narrower()(back_inserter(__dest), __b, __e);
-  }
-
-  template <class _Iter>
-  static void __append_range(string& __dest, _Iter __b, _Iter __e) {
-    static_assert(!is_same<_Iter, _ECharT*>::value, "Call const overload");
-    if (__b == __e)
-      return;
-    basic_string<_ECharT> __tmp(__b, __e);
-    _Narrower()(back_inserter(__dest), __tmp.data(),
-                __tmp.data() + __tmp.length());
-  }
-
-  template <class _Iter>
-  static void __append_range(string& __dest, _Iter __b, _NullSentinal) {
-    static_assert(!is_same<_Iter, _ECharT*>::value, "Call const overload");
-    const _ECharT __sentinal = _ECharT{};
-    if (*__b == __sentinal)
-      return;
-    basic_string<_ECharT> __tmp;
-    for (; *__b != __sentinal; ++__b)
-      __tmp.push_back(*__b);
-    _Narrower()(back_inserter(__dest), __tmp.data(),
-                __tmp.data() + __tmp.length());
-  }
-
-  template <class _Source>
-  static void __append_source(string& __dest, _Source const& __s) {
-    using _Traits = __is_pathable<_Source>;
-    __append_range(__dest, _Traits::__range_begin(__s),
-                   _Traits::__range_end(__s));
-  }
-};
-
-template <>
-struct _PathCVT<char> {
-
-  template <class _Iter>
-  static typename enable_if<__is_exactly_input_iterator<_Iter>::value>::type
-  __append_range(string& __dest, _Iter __b, _Iter __e) {
-    for (; __b != __e; ++__b)
-      __dest.push_back(*__b);
-  }
-
-  template <class _Iter>
-  static typename enable_if<__is_forward_iterator<_Iter>::value>::type
-  __append_range(string& __dest, _Iter __b, _Iter __e) {
-    __dest.__append_forward_unsafe(__b, __e);
-  }
-
-  template <class _Iter>
-  static void __append_range(string& __dest, _Iter __b, _NullSentinal) {
-    const char __sentinal = char{};
-    for (; *__b != __sentinal; ++__b)
-      __dest.push_back(*__b);
-  }
-
-  template <class _Source>
-  static void __append_source(string& __dest, _Source const& __s) {
-    using _Traits = __is_pathable<_Source>;
-    __append_range(__dest, _Traits::__range_begin(__s),
-                   _Traits::__range_end(__s));
-  }
-};
-
-class _LIBCPP_TYPE_VIS path {
-  template <class _SourceOrIter, class _Tp = path&>
-  using _EnableIfPathable =
-      typename enable_if<__is_pathable<_SourceOrIter>::value, _Tp>::type;
-
-  template <class _Tp>
-  using _SourceChar = typename __is_pathable<_Tp>::__char_type;
-
-  template <class _Tp>
-  using _SourceCVT = _PathCVT<_SourceChar<_Tp> >;
-
-public:
-  typedef char value_type;
-  typedef basic_string<value_type> string_type;
-  typedef _VSTD::string_view __string_view;
-  static constexpr value_type preferred_separator = '/';
-
-  enum class _LIBCPP_ENUM_VIS format : unsigned char {
-    auto_format,
-    native_format,
-    generic_format
-  };
-
-  // constructors and destructor
-  _LIBCPP_INLINE_VISIBILITY path() noexcept {}
-  _LIBCPP_INLINE_VISIBILITY path(const path& __p) : __pn_(__p.__pn_) {}
-  _LIBCPP_INLINE_VISIBILITY path(path&& __p) noexcept
-      : __pn_(_VSTD::move(__p.__pn_)) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  path(string_type&& __s, format = format::auto_format) noexcept
-      : __pn_(_VSTD::move(__s)) {}
-
-  template <class _Source, class = _EnableIfPathable<_Source, void> >
-  path(const _Source& __src, format = format::auto_format) {
-    _SourceCVT<_Source>::__append_source(__pn_, __src);
-  }
-
-  template <class _InputIt>
-  path(_InputIt __first, _InputIt __last, format = format::auto_format) {
-    typedef typename iterator_traits<_InputIt>::value_type _ItVal;
-    _PathCVT<_ItVal>::__append_range(__pn_, __first, __last);
-  }
-
-  // TODO Implement locale conversions.
-  template <class _Source, class = _EnableIfPathable<_Source, void> >
-  path(const _Source& __src, const locale& __loc, format = format::auto_format);
-  template <class _InputIt>
-  path(_InputIt __first, _InputIt _last, const locale& __loc,
-       format = format::auto_format);
-
-  _LIBCPP_INLINE_VISIBILITY
-  ~path() = default;
-
-  // assignments
-  _LIBCPP_INLINE_VISIBILITY
-  path& operator=(const path& __p) {
-    __pn_ = __p.__pn_;
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  path& operator=(path&& __p) noexcept {
-    __pn_ = _VSTD::move(__p.__pn_);
-    return *this;
-  }
-
-  template <class = void>
-  _LIBCPP_INLINE_VISIBILITY path& operator=(string_type&& __s) noexcept {
-    __pn_ = _VSTD::move(__s);
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  path& assign(string_type&& __s) noexcept {
-    __pn_ = _VSTD::move(__s);
-    return *this;
-  }
-
-  template <class _Source>
-  _LIBCPP_INLINE_VISIBILITY _EnableIfPathable<_Source>
-  operator=(const _Source& __src) {
-    return this->assign(__src);
-  }
-
-  template <class _Source>
-  _EnableIfPathable<_Source> assign(const _Source& __src) {
-    __pn_.clear();
-    _SourceCVT<_Source>::__append_source(__pn_, __src);
-    return *this;
-  }
-
-  template <class _InputIt>
-  path& assign(_InputIt __first, _InputIt __last) {
-    typedef typename iterator_traits<_InputIt>::value_type _ItVal;
-    __pn_.clear();
-    _PathCVT<_ItVal>::__append_range(__pn_, __first, __last);
-    return *this;
-  }
-
-private:
-  template <class _ECharT>
-  static bool __source_is_absolute(_ECharT __first_or_null) {
-    return __is_separator(__first_or_null);
-  }
-
-public:
-  // appends
-  path& operator/=(const path& __p) {
-    if (__p.is_absolute()) {
-      __pn_ = __p.__pn_;
-      return *this;
-    }
-    if (has_filename())
-      __pn_ += preferred_separator;
-    __pn_ += __p.native();
-    return *this;
-  }
-
-  // FIXME: Use _LIBCPP_DIAGNOSE_WARNING to produce a diagnostic when __src
-  // is known at compile time to be "/' since the user almost certainly intended
-  // to append a separator instead of overwriting the path with "/"
-  template <class _Source>
-  _LIBCPP_INLINE_VISIBILITY _EnableIfPathable<_Source>
-  operator/=(const _Source& __src) {
-    return this->append(__src);
-  }
-
-  template <class _Source>
-  _EnableIfPathable<_Source> append(const _Source& __src) {
-    using _Traits = __is_pathable<_Source>;
-    using _CVT = _PathCVT<_SourceChar<_Source> >;
-    if (__source_is_absolute(_Traits::__first_or_null(__src)))
-      __pn_.clear();
-    else if (has_filename())
-      __pn_ += preferred_separator;
-    _CVT::__append_source(__pn_, __src);
-    return *this;
-  }
-
-  template <class _InputIt>
-  path& append(_InputIt __first, _InputIt __last) {
-    typedef typename iterator_traits<_InputIt>::value_type _ItVal;
-    static_assert(__can_convert_char<_ItVal>::value, "Must convertible");
-    using _CVT = _PathCVT<_ItVal>;
-    if (__first != __last && __source_is_absolute(*__first))
-      __pn_.clear();
-    else if (has_filename())
-      __pn_ += preferred_separator;
-    _CVT::__append_range(__pn_, __first, __last);
-    return *this;
-  }
-
-  // concatenation
-  _LIBCPP_INLINE_VISIBILITY
-  path& operator+=(const path& __x) {
-    __pn_ += __x.__pn_;
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  path& operator+=(const string_type& __x) {
-    __pn_ += __x;
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  path& operator+=(__string_view __x) {
-    __pn_ += __x;
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  path& operator+=(const value_type* __x) {
-    __pn_ += __x;
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  path& operator+=(value_type __x) {
-    __pn_ += __x;
-    return *this;
-  }
-
-  template <class _ECharT>
-  typename enable_if<__can_convert_char<_ECharT>::value, path&>::type
-  operator+=(_ECharT __x) {
-    basic_string<_ECharT> __tmp;
-    __tmp += __x;
-    _PathCVT<_ECharT>::__append_source(__pn_, __tmp);
-    return *this;
-  }
-
-  template <class _Source>
-  _EnableIfPathable<_Source> operator+=(const _Source& __x) {
-    return this->concat(__x);
-  }
-
-  template <class _Source>
-  _EnableIfPathable<_Source> concat(const _Source& __x) {
-    _SourceCVT<_Source>::__append_source(__pn_, __x);
-    return *this;
-  }
-
-  template <class _InputIt>
-  path& concat(_InputIt __first, _InputIt __last) {
-    typedef typename iterator_traits<_InputIt>::value_type _ItVal;
-    _PathCVT<_ItVal>::__append_range(__pn_, __first, __last);
-    return *this;
-  }
-
-  // modifiers
-  _LIBCPP_INLINE_VISIBILITY
-  void clear() noexcept { __pn_.clear(); }
-
-  path& make_preferred() { return *this; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  path& remove_filename() {
-    auto __fname = __filename();
-    if (!__fname.empty())
-      __pn_.erase(__fname.data() - __pn_.data());
-    return *this;
-  }
-
-  path& replace_filename(const path& __replacement) {
-    remove_filename();
-    return (*this /= __replacement);
-  }
-
-  path& replace_extension(const path& __replacement = path());
-
-  _LIBCPP_INLINE_VISIBILITY
-  void swap(path& __rhs) noexcept { __pn_.swap(__rhs.__pn_); }
-
-  // private helper to allow reserving memory in the path
-  _LIBCPP_INLINE_VISIBILITY
-  void __reserve(size_t __s) { __pn_.reserve(__s); }
-
-  // native format observers
-  _LIBCPP_INLINE_VISIBILITY
-  const string_type& native() const noexcept { return __pn_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  const value_type* c_str() const noexcept { return __pn_.c_str(); }
-
-  _LIBCPP_INLINE_VISIBILITY operator string_type() const { return __pn_; }
-
-  template <class _ECharT, class _Traits = char_traits<_ECharT>,
-            class _Allocator = allocator<_ECharT> >
-  basic_string<_ECharT, _Traits, _Allocator>
-  string(const _Allocator& __a = _Allocator()) const {
-    using _CVT = __widen_from_utf8<sizeof(_ECharT) * __CHAR_BIT__>;
-    using _Str = basic_string<_ECharT, _Traits, _Allocator>;
-    _Str __s(__a);
-    __s.reserve(__pn_.size());
-    _CVT()(back_inserter(__s), __pn_.data(), __pn_.data() + __pn_.size());
-    return __s;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY std::string string() const { return __pn_; }
-  _LIBCPP_INLINE_VISIBILITY std::wstring wstring() const {
-    return string<wchar_t>();
-  }
-  _LIBCPP_INLINE_VISIBILITY std::string u8string() const { return __pn_; }
-  _LIBCPP_INLINE_VISIBILITY std::u16string u16string() const {
-    return string<char16_t>();
-  }
-  _LIBCPP_INLINE_VISIBILITY std::u32string u32string() const {
-    return string<char32_t>();
-  }
-
-  // generic format observers
-  template <class _ECharT, class _Traits = char_traits<_ECharT>,
-            class _Allocator = allocator<_ECharT> >
-  basic_string<_ECharT, _Traits, _Allocator>
-  generic_string(const _Allocator& __a = _Allocator()) const {
-    return string<_ECharT, _Traits, _Allocator>(__a);
-  }
-
-  std::string generic_string() const { return __pn_; }
-  std::wstring generic_wstring() const { return string<wchar_t>(); }
-  std::string generic_u8string() const { return __pn_; }
-  std::u16string generic_u16string() const { return string<char16_t>(); }
-  std::u32string generic_u32string() const { return string<char32_t>(); }
-
-private:
-  int __compare(__string_view) const;
-  __string_view __root_name() const;
-  __string_view __root_directory() const;
-  __string_view __root_path_raw() const;
-  __string_view __relative_path() const;
-  __string_view __parent_path() const;
-  __string_view __filename() const;
-  __string_view __stem() const;
-  __string_view __extension() const;
-
-public:
-  // compare
-  _LIBCPP_INLINE_VISIBILITY int compare(const path& __p) const noexcept {
-    return __compare(__p.__pn_);
-  }
-  _LIBCPP_INLINE_VISIBILITY int compare(const string_type& __s) const {
-    return __compare(__s);
-  }
-  _LIBCPP_INLINE_VISIBILITY int compare(__string_view __s) const {
-    return __compare(__s);
-  }
-  _LIBCPP_INLINE_VISIBILITY int compare(const value_type* __s) const {
-    return __compare(__s);
-  }
-
-  // decomposition
-  _LIBCPP_INLINE_VISIBILITY path root_name() const {
-    return string_type(__root_name());
-  }
-  _LIBCPP_INLINE_VISIBILITY path root_directory() const {
-    return string_type(__root_directory());
-  }
-  _LIBCPP_INLINE_VISIBILITY path root_path() const {
-    return root_name().append(string_type(__root_directory()));
-  }
-  _LIBCPP_INLINE_VISIBILITY path relative_path() const {
-    return string_type(__relative_path());
-  }
-  _LIBCPP_INLINE_VISIBILITY path parent_path() const {
-    return string_type(__parent_path());
-  }
-  _LIBCPP_INLINE_VISIBILITY path filename() const {
-    return string_type(__filename());
-  }
-  _LIBCPP_INLINE_VISIBILITY path stem() const { return string_type(__stem()); }
-  _LIBCPP_INLINE_VISIBILITY path extension() const {
-    return string_type(__extension());
-  }
-
-  // query
-  _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY bool
-  empty() const noexcept {
-    return __pn_.empty();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY bool has_root_name() const {
-    return !__root_name().empty();
-  }
-  _LIBCPP_INLINE_VISIBILITY bool has_root_directory() const {
-    return !__root_directory().empty();
-  }
-  _LIBCPP_INLINE_VISIBILITY bool has_root_path() const {
-    return !__root_path_raw().empty();
-  }
-  _LIBCPP_INLINE_VISIBILITY bool has_relative_path() const {
-    return !__relative_path().empty();
-  }
-  _LIBCPP_INLINE_VISIBILITY bool has_parent_path() const {
-    return !__parent_path().empty();
-  }
-  _LIBCPP_INLINE_VISIBILITY bool has_filename() const {
-    return !__filename().empty();
-  }
-  _LIBCPP_INLINE_VISIBILITY bool has_stem() const { return !__stem().empty(); }
-  _LIBCPP_INLINE_VISIBILITY bool has_extension() const {
-    return !__extension().empty();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY bool is_absolute() const {
-    return has_root_directory();
-  }
-  _LIBCPP_INLINE_VISIBILITY bool is_relative() const { return !is_absolute(); }
-
-  // relative paths
-  path lexically_normal() const;
-  path lexically_relative(const path& __base) const;
-
-  _LIBCPP_INLINE_VISIBILITY path lexically_proximate(const path& __base) const {
-    path __result = this->lexically_relative(__base);
-    if (__result.native().empty())
-      return *this;
-    return __result;
-  }
-
-  // iterators
-  class _LIBCPP_TYPE_VIS iterator;
-  typedef iterator const_iterator;
-
-  iterator begin() const;
-  iterator end() const;
-
-  template <class _CharT, class _Traits>
-  _LIBCPP_INLINE_VISIBILITY friend
-      typename enable_if<is_same<_CharT, char>::value &&
-                             is_same<_Traits, char_traits<char> >::value,
-                         basic_ostream<_CharT, _Traits>&>::type
-      operator<<(basic_ostream<_CharT, _Traits>& __os, const path& __p) {
-    __os << std::__quoted(__p.native());
-    return __os;
-  }
-
-  template <class _CharT, class _Traits>
-  _LIBCPP_INLINE_VISIBILITY friend
-      typename enable_if<!is_same<_CharT, char>::value ||
-                             !is_same<_Traits, char_traits<char> >::value,
-                         basic_ostream<_CharT, _Traits>&>::type
-      operator<<(basic_ostream<_CharT, _Traits>& __os, const path& __p) {
-    __os << std::__quoted(__p.string<_CharT, _Traits>());
-    return __os;
-  }
-
-  template <class _CharT, class _Traits>
-  _LIBCPP_INLINE_VISIBILITY friend basic_istream<_CharT, _Traits>&
-  operator>>(basic_istream<_CharT, _Traits>& __is, path& __p) {
-    basic_string<_CharT, _Traits> __tmp;
-    __is >> __quoted(__tmp);
-    __p = __tmp;
-    return __is;
-  }
-
-  friend _LIBCPP_INLINE_VISIBILITY bool operator==(const path& __lhs, const path& __rhs) noexcept {
-    return __lhs.compare(__rhs) == 0;
-  }
-  friend _LIBCPP_INLINE_VISIBILITY bool operator!=(const path& __lhs, const path& __rhs) noexcept {
-    return __lhs.compare(__rhs) != 0;
-  }
-  friend _LIBCPP_INLINE_VISIBILITY bool operator<(const path& __lhs, const path& __rhs) noexcept {
-    return __lhs.compare(__rhs) < 0;
-  }
-  friend _LIBCPP_INLINE_VISIBILITY bool operator<=(const path& __lhs, const path& __rhs) noexcept {
-    return __lhs.compare(__rhs) <= 0;
-  }
-  friend _LIBCPP_INLINE_VISIBILITY bool operator>(const path& __lhs, const path& __rhs) noexcept {
-    return __lhs.compare(__rhs) > 0;
-  }
-  friend _LIBCPP_INLINE_VISIBILITY bool operator>=(const path& __lhs, const path& __rhs) noexcept {
-    return __lhs.compare(__rhs) >= 0;
-  }
-
-  friend _LIBCPP_INLINE_VISIBILITY path operator/(const path& __lhs,
-                                                  const path& __rhs) {
-    path __result(__lhs);
-    __result /= __rhs;
-    return __result;
-  }
-private:
-  inline _LIBCPP_INLINE_VISIBILITY path&
-  __assign_view(__string_view const& __s) noexcept {
-    __pn_ = string_type(__s);
-    return *this;
-  }
-  string_type __pn_;
-};
-
-inline _LIBCPP_INLINE_VISIBILITY void swap(path& __lhs, path& __rhs) noexcept {
-  __lhs.swap(__rhs);
-}
-
-_LIBCPP_FUNC_VIS
-size_t hash_value(const path& __p) noexcept;
-
-template <class _Source>
-_LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_pathable<_Source>::value, path>::type
-    u8path(const _Source& __s) {
-  static_assert(
-      is_same<typename __is_pathable<_Source>::__char_type, char>::value,
-      "u8path(Source const&) requires Source have a character type of type "
-      "'char'");
-  return path(__s);
-}
-
-template <class _InputIt>
-_LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_pathable<_InputIt>::value, path>::type
-    u8path(_InputIt __f, _InputIt __l) {
-  static_assert(
-      is_same<typename __is_pathable<_InputIt>::__char_type, char>::value,
-      "u8path(Iter, Iter) requires Iter have a value_type of type 'char'");
-  return path(__f, __l);
-}
-
-class _LIBCPP_TYPE_VIS path::iterator {
-public:
-  enum _ParserState : unsigned char {
-    _Singular,
-    _BeforeBegin,
-    _InRootName,
-    _InRootDir,
-    _InFilenames,
-    _InTrailingSep,
-    _AtEnd
-  };
-
-public:
-  typedef bidirectional_iterator_tag iterator_category;
-
-  typedef path value_type;
-  typedef std::ptrdiff_t difference_type;
-  typedef const path* pointer;
-  typedef const path& reference;
-
-  typedef void
-      __stashing_iterator_tag; // See reverse_iterator and __is_stashing_iterator
-
-public:
-  _LIBCPP_INLINE_VISIBILITY
-  iterator()
-      : __stashed_elem_(), __path_ptr_(nullptr), __entry_(),
-        __state_(_Singular) {}
-
-  iterator(const iterator&) = default;
-  ~iterator() = default;
-
-  iterator& operator=(const iterator&) = default;
-
-  _LIBCPP_INLINE_VISIBILITY
-  reference operator*() const { return __stashed_elem_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  pointer operator->() const { return &__stashed_elem_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  iterator& operator++() {
-    _LIBCPP_ASSERT(__state_ != _Singular,
-                   "attempting to increment a singular iterator");
-    _LIBCPP_ASSERT(__state_ != _AtEnd,
-                   "attempting to increment the end iterator");
-    return __increment();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  iterator operator++(int) {
-    iterator __it(*this);
-    this->operator++();
-    return __it;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  iterator& operator--() {
-    _LIBCPP_ASSERT(__state_ != _Singular,
-                   "attempting to decrement a singular iterator");
-    _LIBCPP_ASSERT(__entry_.data() != __path_ptr_->native().data(),
-                   "attempting to decrement the begin iterator");
-    return __decrement();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  iterator operator--(int) {
-    iterator __it(*this);
-    this->operator--();
-    return __it;
-  }
-
-private:
-  friend class path;
-
-  inline _LIBCPP_INLINE_VISIBILITY friend bool operator==(const iterator&,
-                                                          const iterator&);
-
-  iterator& __increment();
-  iterator& __decrement();
-
-  path __stashed_elem_;
-  const path* __path_ptr_;
-  path::__string_view __entry_;
-  _ParserState __state_;
-};
-
-inline _LIBCPP_INLINE_VISIBILITY bool operator==(const path::iterator& __lhs,
-                                                 const path::iterator& __rhs) {
-  return __lhs.__path_ptr_ == __rhs.__path_ptr_ &&
-         __lhs.__entry_.data() == __rhs.__entry_.data();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool operator!=(const path::iterator& __lhs,
-                                                 const path::iterator& __rhs) {
-  return !(__lhs == __rhs);
-}
-
-// TODO(ldionne): We need to pop the pragma and push it again after
-//                filesystem_error to work around PR41078.
-_LIBCPP_AVAILABILITY_FILESYSTEM_POP
-
-class _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_EXCEPTION_ABI filesystem_error : public system_error {
-public:
-  _LIBCPP_INLINE_VISIBILITY
-  filesystem_error(const string& __what, error_code __ec)
-      : system_error(__ec, __what),
-        __storage_(make_shared<_Storage>(path(), path())) {
-    __create_what(0);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  filesystem_error(const string& __what, const path& __p1, error_code __ec)
-      : system_error(__ec, __what),
-        __storage_(make_shared<_Storage>(__p1, path())) {
-    __create_what(1);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  filesystem_error(const string& __what, const path& __p1, const path& __p2,
-                   error_code __ec)
-      : system_error(__ec, __what),
-        __storage_(make_shared<_Storage>(__p1, __p2)) {
-    __create_what(2);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  const path& path1() const noexcept { return __storage_->__p1_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  const path& path2() const noexcept { return __storage_->__p2_; }
-
-  ~filesystem_error() override; // key function
-
-  _LIBCPP_INLINE_VISIBILITY
-  const char* what() const noexcept override {
-    return __storage_->__what_.c_str();
-  }
-
-  void __create_what(int __num_paths);
-
-private:
-  struct _LIBCPP_HIDDEN _Storage {
-    _LIBCPP_INLINE_VISIBILITY
-    _Storage(const path& __p1, const path& __p2) : __p1_(__p1), __p2_(__p2) {}
-
-    path __p1_;
-    path __p2_;
-    string __what_;
-  };
-  shared_ptr<_Storage> __storage_;
-};
-
-_LIBCPP_AVAILABILITY_FILESYSTEM_PUSH
-
-template <class... _Args>
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-#ifndef _LIBCPP_NO_EXCEPTIONS
-void __throw_filesystem_error(_Args&&... __args) {
-  throw filesystem_error(std::forward<_Args>(__args)...);
-}
-#else
-void __throw_filesystem_error(_Args&&...) {
-  _VSTD::abort();
-}
-#endif
-
-// operational functions
-
-_LIBCPP_FUNC_VIS
-path __absolute(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-path __canonical(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __copy(const path& __from, const path& __to, copy_options __opt,
-            error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-bool __copy_file(const path& __from, const path& __to, copy_options __opt,
-                 error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __copy_symlink(const path& __existing_symlink, const path& __new_symlink,
-                    error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-bool __create_directories(const path& p, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-bool __create_directory(const path& p, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-bool __create_directory(const path& p, const path& attributes,
-                        error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __create_directory_symlink(const path& __to, const path& __new_symlink,
-                                error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __create_hard_link(const path& __to, const path& __new_hard_link,
-                        error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __create_symlink(const path& __to, const path& __new_symlink,
-                      error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-path __current_path(error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __current_path(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-bool __equivalent(const path&, const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-uintmax_t __file_size(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-uintmax_t __hard_link_count(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-bool __fs_is_empty(const path& p, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-file_time_type __last_write_time(const path& p, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __last_write_time(const path& p, file_time_type new_time,
-                       error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __permissions(const path&, perms, perm_options, error_code* = nullptr);
-_LIBCPP_FUNC_VIS
-path __read_symlink(const path& p, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-bool __remove(const path& p, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-uintmax_t __remove_all(const path& p, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __rename(const path& from, const path& to, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-void __resize_file(const path& p, uintmax_t size, error_code* ec = nullptr);
-_LIBCPP_FUNC_VIS
-space_info __space(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-file_status __status(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-file_status __symlink_status(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-path __system_complete(const path&, error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-path __temp_directory_path(error_code* __ec = nullptr);
-_LIBCPP_FUNC_VIS
-path __weakly_canonical(path const& __p, error_code* __ec = nullptr);
-
-inline _LIBCPP_INLINE_VISIBILITY path current_path() {
-  return __current_path();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path current_path(error_code& __ec) {
-  return __current_path(&__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void current_path(const path& __p) {
-  __current_path(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void current_path(const path& __p,
-                                                   error_code& __ec) noexcept {
-  __current_path(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path absolute(const path& __p) {
-  return __absolute(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path absolute(const path& __p,
-                                               error_code& __ec) {
-  return __absolute(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path canonical(const path& __p) {
-  return __canonical(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path canonical(const path& __p,
-                                                error_code& __ec) {
-  return __canonical(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void copy(const path& __from,
-                                           const path& __to) {
-  __copy(__from, __to, copy_options::none);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void copy(const path& __from, const path& __to,
-                                           error_code& __ec) {
-  __copy(__from, __to, copy_options::none, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void copy(const path& __from, const path& __to,
-                                           copy_options __opt) {
-  __copy(__from, __to, __opt);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void copy(const path& __from, const path& __to,
-                                           copy_options __opt,
-                                           error_code& __ec) {
-  __copy(__from, __to, __opt, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool copy_file(const path& __from,
-                                                const path& __to) {
-  return __copy_file(__from, __to, copy_options::none);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-copy_file(const path& __from, const path& __to, error_code& __ec) {
-  return __copy_file(__from, __to, copy_options::none, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-copy_file(const path& __from, const path& __to, copy_options __opt) {
-  return __copy_file(__from, __to, __opt);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool copy_file(const path& __from,
-                                                const path& __to,
-                                                copy_options __opt,
-                                                error_code& __ec) {
-  return __copy_file(__from, __to, __opt, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void copy_symlink(const path& __existing,
-                                                   const path& __new) {
-  __copy_symlink(__existing, __new);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-copy_symlink(const path& __ext, const path& __new, error_code& __ec) noexcept {
-  __copy_symlink(__ext, __new, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool create_directories(const path& __p) {
-  return __create_directories(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool create_directories(const path& __p,
-                                                         error_code& __ec) {
-  return __create_directories(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool create_directory(const path& __p) {
-  return __create_directory(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-create_directory(const path& __p, error_code& __ec) noexcept {
-  return __create_directory(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool create_directory(const path& __p,
-                                                       const path& __attrs) {
-  return __create_directory(__p, __attrs);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-create_directory(const path& __p, const path& __attrs,
-                 error_code& __ec) noexcept {
-  return __create_directory(__p, __attrs, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-create_directory_symlink(const path& __to, const path& __new) {
-  __create_directory_symlink(__to, __new);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-create_directory_symlink(const path& __to, const path& __new,
-                         error_code& __ec) noexcept {
-  __create_directory_symlink(__to, __new, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void create_hard_link(const path& __to,
-                                                       const path& __new) {
-  __create_hard_link(__to, __new);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-create_hard_link(const path& __to, const path& __new,
-                 error_code& __ec) noexcept {
-  __create_hard_link(__to, __new, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void create_symlink(const path& __to,
-                                                     const path& __new) {
-  __create_symlink(__to, __new);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-create_symlink(const path& __to, const path& __new, error_code& __ec) noexcept {
-  return __create_symlink(__to, __new, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool status_known(file_status __s) noexcept {
-  return __s.type() != file_type::none;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool exists(file_status __s) noexcept {
-  return status_known(__s) && __s.type() != file_type::not_found;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool exists(const path& __p) {
-  return exists(__status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool exists(const path& __p,
-                                             error_code& __ec) noexcept {
-  auto __s = __status(__p, &__ec);
-  if (status_known(__s))
-    __ec.clear();
-  return exists(__s);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool equivalent(const path& __p1,
-                                                 const path& __p2) {
-  return __equivalent(__p1, __p2);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-equivalent(const path& __p1, const path& __p2, error_code& __ec) noexcept {
-  return __equivalent(__p1, __p2, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY uintmax_t file_size(const path& __p) {
-  return __file_size(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY uintmax_t
-file_size(const path& __p, error_code& __ec) noexcept {
-  return __file_size(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY uintmax_t hard_link_count(const path& __p) {
-  return __hard_link_count(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY uintmax_t
-hard_link_count(const path& __p, error_code& __ec) noexcept {
-  return __hard_link_count(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_block_file(file_status __s) noexcept {
-  return __s.type() == file_type::block;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_block_file(const path& __p) {
-  return is_block_file(__status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_block_file(const path& __p,
-                                                    error_code& __ec) noexcept {
-  return is_block_file(__status(__p, &__ec));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-is_character_file(file_status __s) noexcept {
-  return __s.type() == file_type::character;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_character_file(const path& __p) {
-  return is_character_file(__status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-is_character_file(const path& __p, error_code& __ec) noexcept {
-  return is_character_file(__status(__p, &__ec));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_directory(file_status __s) noexcept {
-  return __s.type() == file_type::directory;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_directory(const path& __p) {
-  return is_directory(__status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_directory(const path& __p,
-                                                   error_code& __ec) noexcept {
-  return is_directory(__status(__p, &__ec));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_empty(const path& __p) {
-  return __fs_is_empty(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_empty(const path& __p,
-                                               error_code& __ec) {
-  return __fs_is_empty(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_fifo(file_status __s) noexcept {
-  return __s.type() == file_type::fifo;
-}
-inline _LIBCPP_INLINE_VISIBILITY bool is_fifo(const path& __p) {
-  return is_fifo(__status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_fifo(const path& __p,
-                                              error_code& __ec) noexcept {
-  return is_fifo(__status(__p, &__ec));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-is_regular_file(file_status __s) noexcept {
-  return __s.type() == file_type::regular;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_regular_file(const path& __p) {
-  return is_regular_file(__status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-is_regular_file(const path& __p, error_code& __ec) noexcept {
-  return is_regular_file(__status(__p, &__ec));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_socket(file_status __s) noexcept {
-  return __s.type() == file_type::socket;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_socket(const path& __p) {
-  return is_socket(__status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_socket(const path& __p,
-                                                error_code& __ec) noexcept {
-  return is_socket(__status(__p, &__ec));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_symlink(file_status __s) noexcept {
-  return __s.type() == file_type::symlink;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_symlink(const path& __p) {
-  return is_symlink(__symlink_status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_symlink(const path& __p,
-                                                 error_code& __ec) noexcept {
-  return is_symlink(__symlink_status(__p, &__ec));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_other(file_status __s) noexcept {
-  return exists(__s) && !is_regular_file(__s) && !is_directory(__s) &&
-         !is_symlink(__s);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_other(const path& __p) {
-  return is_other(__status(__p));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool is_other(const path& __p,
-                                               error_code& __ec) noexcept {
-  return is_other(__status(__p, &__ec));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY file_time_type
-last_write_time(const path& __p) {
-  return __last_write_time(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY file_time_type
-last_write_time(const path& __p, error_code& __ec) noexcept {
-  return __last_write_time(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void last_write_time(const path& __p,
-                                                      file_time_type __t) {
-  __last_write_time(__p, __t);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-last_write_time(const path& __p, file_time_type __t,
-                error_code& __ec) noexcept {
-  __last_write_time(__p, __t, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-permissions(const path& __p, perms __prms,
-            perm_options __opts = perm_options::replace) {
-  __permissions(__p, __prms, __opts);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void permissions(const path& __p, perms __prms,
-                                                  error_code& __ec) noexcept {
-  __permissions(__p, __prms, perm_options::replace, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void permissions(const path& __p, perms __prms,
-                                                  perm_options __opts,
-                                                  error_code& __ec) {
-  __permissions(__p, __prms, __opts, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path proximate(const path& __p,
-                                                const path& __base,
-                                                error_code& __ec) {
-  path __tmp = __weakly_canonical(__p, &__ec);
-  if (__ec)
-    return {};
-  path __tmp_base = __weakly_canonical(__base, &__ec);
-  if (__ec)
-    return {};
-  return __tmp.lexically_proximate(__tmp_base);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path proximate(const path& __p,
-                                                error_code& __ec) {
-  return proximate(__p, current_path(), __ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path
-proximate(const path& __p, const path& __base = current_path()) {
-  return __weakly_canonical(__p).lexically_proximate(
-      __weakly_canonical(__base));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path read_symlink(const path& __p) {
-  return __read_symlink(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path read_symlink(const path& __p,
-                                                   error_code& __ec) {
-  return __read_symlink(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path relative(const path& __p,
-                                               const path& __base,
-                                               error_code& __ec) {
-  path __tmp = __weakly_canonical(__p, &__ec);
-  if (__ec)
-    return path();
-  path __tmpbase = __weakly_canonical(__base, &__ec);
-  if (__ec)
-    return path();
-  return __tmp.lexically_relative(__tmpbase);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path relative(const path& __p,
-                                               error_code& __ec) {
-  return relative(__p, current_path(), __ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path
-relative(const path& __p, const path& __base = current_path()) {
-  return __weakly_canonical(__p).lexically_relative(__weakly_canonical(__base));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool remove(const path& __p) {
-  return __remove(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool remove(const path& __p,
-                                             error_code& __ec) noexcept {
-  return __remove(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY uintmax_t remove_all(const path& __p) {
-  return __remove_all(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY uintmax_t remove_all(const path& __p,
-                                                      error_code& __ec) {
-  return __remove_all(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void rename(const path& __from,
-                                             const path& __to) {
-  return __rename(__from, __to);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-rename(const path& __from, const path& __to, error_code& __ec) noexcept {
-  return __rename(__from, __to, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void resize_file(const path& __p,
-                                                  uintmax_t __ns) {
-  return __resize_file(__p, __ns);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void
-resize_file(const path& __p, uintmax_t __ns, error_code& __ec) noexcept {
-  return __resize_file(__p, __ns, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY space_info space(const path& __p) {
-  return __space(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY space_info space(const path& __p,
-                                                  error_code& __ec) noexcept {
-  return __space(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY file_status status(const path& __p) {
-  return __status(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY file_status status(const path& __p,
-                                                    error_code& __ec) noexcept {
-  return __status(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY file_status symlink_status(const path& __p) {
-  return __symlink_status(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY file_status
-symlink_status(const path& __p, error_code& __ec) noexcept {
-  return __symlink_status(__p, &__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path temp_directory_path() {
-  return __temp_directory_path();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path temp_directory_path(error_code& __ec) {
-  return __temp_directory_path(&__ec);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path weakly_canonical(path const& __p) {
-  return __weakly_canonical(__p);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY path weakly_canonical(path const& __p,
-                                                       error_code& __ec) {
-  return __weakly_canonical(__p, &__ec);
-}
-
-class directory_iterator;
-class recursive_directory_iterator;
-class _LIBCPP_HIDDEN __dir_stream;
-
-class directory_entry {
-  typedef _VSTD_FS::path _Path;
-
-public:
-  // constructors and destructors
-  directory_entry() noexcept = default;
-  directory_entry(directory_entry const&) = default;
-  directory_entry(directory_entry&&) noexcept = default;
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit directory_entry(_Path const& __p) : __p_(__p) {
-    error_code __ec;
-    __refresh(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  directory_entry(_Path const& __p, error_code& __ec) : __p_(__p) {
-    __refresh(&__ec);
-  }
-
-  ~directory_entry() {}
-
-  directory_entry& operator=(directory_entry const&) = default;
-  directory_entry& operator=(directory_entry&&) noexcept = default;
-
-  _LIBCPP_INLINE_VISIBILITY
-  void assign(_Path const& __p) {
-    __p_ = __p;
-    error_code __ec;
-    __refresh(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void assign(_Path const& __p, error_code& __ec) {
-    __p_ = __p;
-    __refresh(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void replace_filename(_Path const& __p) {
-    __p_.replace_filename(__p);
-    error_code __ec;
-    __refresh(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void replace_filename(_Path const& __p, error_code& __ec) {
-    __p_ = __p_.parent_path() / __p;
-    __refresh(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void refresh() { __refresh(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void refresh(error_code& __ec) noexcept { __refresh(&__ec); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  _Path const& path() const noexcept { return __p_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  operator const _Path&() const noexcept { return __p_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool exists() const { return _VSTD_FS::exists(file_status{__get_ft()}); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool exists(error_code& __ec) const noexcept {
-    return _VSTD_FS::exists(file_status{__get_ft(&__ec)});
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_block_file() const { return __get_ft() == file_type::block; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_block_file(error_code& __ec) const noexcept {
-    return __get_ft(&__ec) == file_type::block;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_character_file() const { return __get_ft() == file_type::character; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_character_file(error_code& __ec) const noexcept {
-    return __get_ft(&__ec) == file_type::character;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_directory() const { return __get_ft() == file_type::directory; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_directory(error_code& __ec) const noexcept {
-    return __get_ft(&__ec) == file_type::directory;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_fifo() const { return __get_ft() == file_type::fifo; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_fifo(error_code& __ec) const noexcept {
-    return __get_ft(&__ec) == file_type::fifo;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_other() const { return _VSTD_FS::is_other(file_status{__get_ft()}); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_other(error_code& __ec) const noexcept {
-    return _VSTD_FS::is_other(file_status{__get_ft(&__ec)});
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_regular_file() const { return __get_ft() == file_type::regular; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_regular_file(error_code& __ec) const noexcept {
-    return __get_ft(&__ec) == file_type::regular;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_socket() const { return __get_ft() == file_type::socket; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_socket(error_code& __ec) const noexcept {
-    return __get_ft(&__ec) == file_type::socket;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_symlink() const { return __get_sym_ft() == file_type::symlink; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool is_symlink(error_code& __ec) const noexcept {
-    return __get_sym_ft(&__ec) == file_type::symlink;
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  uintmax_t file_size() const { return __get_size(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  uintmax_t file_size(error_code& __ec) const noexcept {
-    return __get_size(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  uintmax_t hard_link_count() const { return __get_nlink(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  uintmax_t hard_link_count(error_code& __ec) const noexcept {
-    return __get_nlink(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_time_type last_write_time() const { return __get_write_time(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_time_type last_write_time(error_code& __ec) const noexcept {
-    return __get_write_time(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_status status() const { return __get_status(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_status status(error_code& __ec) const noexcept {
-    return __get_status(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_status symlink_status() const { return __get_symlink_status(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_status symlink_status(error_code& __ec) const noexcept {
-    return __get_symlink_status(&__ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool operator<(directory_entry const& __rhs) const noexcept {
-    return __p_ < __rhs.__p_;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool operator==(directory_entry const& __rhs) const noexcept {
-    return __p_ == __rhs.__p_;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool operator!=(directory_entry const& __rhs) const noexcept {
-    return __p_ != __rhs.__p_;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool operator<=(directory_entry const& __rhs) const noexcept {
-    return __p_ <= __rhs.__p_;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool operator>(directory_entry const& __rhs) const noexcept {
-    return __p_ > __rhs.__p_;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool operator>=(directory_entry const& __rhs) const noexcept {
-    return __p_ >= __rhs.__p_;
-  }
-
-private:
-  friend class directory_iterator;
-  friend class recursive_directory_iterator;
-  friend class __dir_stream;
-
-  enum _CacheType : unsigned char {
-    _Empty,
-    _IterSymlink,
-    _IterNonSymlink,
-    _RefreshSymlink,
-    _RefreshSymlinkUnresolved,
-    _RefreshNonSymlink
-  };
-
-  struct __cached_data {
-    uintmax_t __size_;
-    uintmax_t __nlink_;
-    file_time_type __write_time_;
-    perms __sym_perms_;
-    perms __non_sym_perms_;
-    file_type __type_;
-    _CacheType __cache_type_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __cached_data() noexcept { __reset(); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __reset() {
-      __cache_type_ = _Empty;
-      __type_ = file_type::none;
-      __sym_perms_ = __non_sym_perms_ = perms::unknown;
-      __size_ = __nlink_ = uintmax_t(-1);
-      __write_time_ = file_time_type::min();
-    }
-  };
-
-  _LIBCPP_INLINE_VISIBILITY
-  static __cached_data __create_iter_result(file_type __ft) {
-    __cached_data __data;
-    __data.__type_ = __ft;
-    __data.__cache_type_ = [&]() {
-      switch (__ft) {
-      case file_type::none:
-        return _Empty;
-      case file_type::symlink:
-        return _IterSymlink;
-      default:
-        return _IterNonSymlink;
-      }
-    }();
-    return __data;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void __assign_iter_entry(_Path&& __p, __cached_data __dt) {
-    __p_ = std::move(__p);
-    __data_ = __dt;
-  }
-
-  _LIBCPP_FUNC_VIS
-  error_code __do_refresh() noexcept;
-
-  _LIBCPP_INLINE_VISIBILITY
-  static bool __is_dne_error(error_code const& __ec) {
-    if (!__ec)
-      return true;
-    switch (static_cast<errc>(__ec.value())) {
-    case errc::no_such_file_or_directory:
-    case errc::not_a_directory:
-      return true;
-    default:
-      return false;
-    }
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void __handle_error(const char* __msg, error_code* __dest_ec,
-                      error_code const& __ec, bool __allow_dne = false) const {
-    if (__dest_ec) {
-      *__dest_ec = __ec;
-      return;
-    }
-    if (__ec && (!__allow_dne || !__is_dne_error(__ec)))
-      __throw_filesystem_error(__msg, __p_, __ec);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void __refresh(error_code* __ec = nullptr) {
-    __handle_error("in directory_entry::refresh", __ec, __do_refresh(),
-                   /*allow_dne*/ true);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_type __get_sym_ft(error_code* __ec = nullptr) const {
-    switch (__data_.__cache_type_) {
-    case _Empty:
-      return __symlink_status(__p_, __ec).type();
-    case _IterSymlink:
-    case _RefreshSymlink:
-    case _RefreshSymlinkUnresolved:
-      if (__ec)
-        __ec->clear();
-      return file_type::symlink;
-    case _IterNonSymlink:
-    case _RefreshNonSymlink:
-      file_status __st(__data_.__type_);
-      if (__ec && !_VSTD_FS::exists(__st))
-        *__ec = make_error_code(errc::no_such_file_or_directory);
-      else if (__ec)
-        __ec->clear();
-      return __data_.__type_;
-    }
-    _LIBCPP_UNREACHABLE();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_type __get_ft(error_code* __ec = nullptr) const {
-    switch (__data_.__cache_type_) {
-    case _Empty:
-    case _IterSymlink:
-    case _RefreshSymlinkUnresolved:
-      return __status(__p_, __ec).type();
-    case _IterNonSymlink:
-    case _RefreshNonSymlink:
-    case _RefreshSymlink: {
-      file_status __st(__data_.__type_);
-      if (__ec && !_VSTD_FS::exists(__st))
-        *__ec = make_error_code(errc::no_such_file_or_directory);
-      else if (__ec)
-        __ec->clear();
-      return __data_.__type_;
-    }
-    }
-    _LIBCPP_UNREACHABLE();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_status __get_status(error_code* __ec = nullptr) const {
-    switch (__data_.__cache_type_) {
-    case _Empty:
-    case _IterNonSymlink:
-    case _IterSymlink:
-    case _RefreshSymlinkUnresolved:
-      return __status(__p_, __ec);
-    case _RefreshNonSymlink:
-    case _RefreshSymlink:
-      return file_status(__get_ft(__ec), __data_.__non_sym_perms_);
-    }
-    _LIBCPP_UNREACHABLE();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_status __get_symlink_status(error_code* __ec = nullptr) const {
-    switch (__data_.__cache_type_) {
-    case _Empty:
-    case _IterNonSymlink:
-    case _IterSymlink:
-      return __symlink_status(__p_, __ec);
-    case _RefreshNonSymlink:
-      return file_status(__get_sym_ft(__ec), __data_.__non_sym_perms_);
-    case _RefreshSymlink:
-    case _RefreshSymlinkUnresolved:
-      return file_status(__get_sym_ft(__ec), __data_.__sym_perms_);
-    }
-    _LIBCPP_UNREACHABLE();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  uintmax_t __get_size(error_code* __ec = nullptr) const {
-    switch (__data_.__cache_type_) {
-    case _Empty:
-    case _IterNonSymlink:
-    case _IterSymlink:
-    case _RefreshSymlinkUnresolved:
-      return _VSTD_FS::__file_size(__p_, __ec);
-    case _RefreshSymlink:
-    case _RefreshNonSymlink: {
-      error_code __m_ec;
-      file_status __st(__get_ft(&__m_ec));
-      __handle_error("in directory_entry::file_size", __ec, __m_ec);
-      if (_VSTD_FS::exists(__st) && !_VSTD_FS::is_regular_file(__st)) {
-        errc __err_kind = _VSTD_FS::is_directory(__st) ? errc::is_a_directory
-                                                       : errc::not_supported;
-        __handle_error("in directory_entry::file_size", __ec,
-                       make_error_code(__err_kind));
-      }
-      return __data_.__size_;
-    }
-    }
-    _LIBCPP_UNREACHABLE();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  uintmax_t __get_nlink(error_code* __ec = nullptr) const {
-    switch (__data_.__cache_type_) {
-    case _Empty:
-    case _IterNonSymlink:
-    case _IterSymlink:
-    case _RefreshSymlinkUnresolved:
-      return _VSTD_FS::__hard_link_count(__p_, __ec);
-    case _RefreshSymlink:
-    case _RefreshNonSymlink: {
-      error_code __m_ec;
-      (void)__get_ft(&__m_ec);
-      __handle_error("in directory_entry::hard_link_count", __ec, __m_ec);
-      return __data_.__nlink_;
-    }
-    }
-    _LIBCPP_UNREACHABLE();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  file_time_type __get_write_time(error_code* __ec = nullptr) const {
-    switch (__data_.__cache_type_) {
-    case _Empty:
-    case _IterNonSymlink:
-    case _IterSymlink:
-    case _RefreshSymlinkUnresolved:
-      return _VSTD_FS::__last_write_time(__p_, __ec);
-    case _RefreshSymlink:
-    case _RefreshNonSymlink: {
-      error_code __m_ec;
-      file_status __st(__get_ft(&__m_ec));
-      __handle_error("in directory_entry::last_write_time", __ec, __m_ec);
-      if (_VSTD_FS::exists(__st) &&
-          __data_.__write_time_ == file_time_type::min())
-        __handle_error("in directory_entry::last_write_time", __ec,
-                       make_error_code(errc::value_too_large));
-      return __data_.__write_time_;
-    }
-    }
-    _LIBCPP_UNREACHABLE();
-  }
-
-private:
-  _Path __p_;
-  __cached_data __data_;
-};
-
-class __dir_element_proxy {
-public:
-  inline _LIBCPP_INLINE_VISIBILITY directory_entry operator*() {
-    return _VSTD::move(__elem_);
-  }
-
-private:
-  friend class directory_iterator;
-  friend class recursive_directory_iterator;
-  explicit __dir_element_proxy(directory_entry const& __e) : __elem_(__e) {}
-  __dir_element_proxy(__dir_element_proxy&& __o)
-      : __elem_(_VSTD::move(__o.__elem_)) {}
-  directory_entry __elem_;
-};
-
-class directory_iterator {
-public:
-  typedef directory_entry value_type;
-  typedef ptrdiff_t difference_type;
-  typedef value_type const* pointer;
-  typedef value_type const& reference;
-  typedef input_iterator_tag iterator_category;
-
-public:
-  //ctor & dtor
-  directory_iterator() noexcept {}
-
-  explicit directory_iterator(const path& __p)
-      : directory_iterator(__p, nullptr) {}
-
-  directory_iterator(const path& __p, directory_options __opts)
-      : directory_iterator(__p, nullptr, __opts) {}
-
-  directory_iterator(const path& __p, error_code& __ec)
-      : directory_iterator(__p, &__ec) {}
-
-  directory_iterator(const path& __p, directory_options __opts,
-                     error_code& __ec)
-      : directory_iterator(__p, &__ec, __opts) {}
-
-  directory_iterator(const directory_iterator&) = default;
-  directory_iterator(directory_iterator&&) = default;
-  directory_iterator& operator=(const directory_iterator&) = default;
-
-  directory_iterator& operator=(directory_iterator&& __o) noexcept {
-    // non-default implementation provided to support self-move assign.
-    if (this != &__o) {
-      __imp_ = _VSTD::move(__o.__imp_);
-    }
-    return *this;
-  }
-
-  ~directory_iterator() = default;
-
-  const directory_entry& operator*() const {
-    _LIBCPP_ASSERT(__imp_, "The end iterator cannot be dereferenced");
-    return __dereference();
-  }
-
-  const directory_entry* operator->() const { return &**this; }
-
-  directory_iterator& operator++() { return __increment(); }
-
-  __dir_element_proxy operator++(int) {
-    __dir_element_proxy __p(**this);
-    __increment();
-    return __p;
-  }
-
-  directory_iterator& increment(error_code& __ec) { return __increment(&__ec); }
-
-private:
-  inline _LIBCPP_INLINE_VISIBILITY friend bool
-  operator==(const directory_iterator& __lhs,
-             const directory_iterator& __rhs) noexcept;
-
-  // construct the dir_stream
-  _LIBCPP_FUNC_VIS
-  directory_iterator(const path&, error_code*,
-                     directory_options = directory_options::none);
-
-  _LIBCPP_FUNC_VIS
-  directory_iterator& __increment(error_code* __ec = nullptr);
-
-  _LIBCPP_FUNC_VIS
-  const directory_entry& __dereference() const;
-
-private:
-  shared_ptr<__dir_stream> __imp_;
-};
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-operator==(const directory_iterator& __lhs,
-           const directory_iterator& __rhs) noexcept {
-  return __lhs.__imp_ == __rhs.__imp_;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-operator!=(const directory_iterator& __lhs,
-           const directory_iterator& __rhs) noexcept {
-  return !(__lhs == __rhs);
-}
-
-// enable directory_iterator range-based for statements
-inline _LIBCPP_INLINE_VISIBILITY directory_iterator
-begin(directory_iterator __iter) noexcept {
-  return __iter;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY directory_iterator
-end(const directory_iterator&) noexcept {
-  return directory_iterator();
-}
-
-class recursive_directory_iterator {
-public:
-  using value_type = directory_entry;
-  using difference_type = std::ptrdiff_t;
-  using pointer = directory_entry const*;
-  using reference = directory_entry const&;
-  using iterator_category = std::input_iterator_tag;
-
-public:
-  // constructors and destructor
-  _LIBCPP_INLINE_VISIBILITY
-  recursive_directory_iterator() noexcept : __rec_(false) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit recursive_directory_iterator(
-      const path& __p, directory_options __xoptions = directory_options::none)
-      : recursive_directory_iterator(__p, __xoptions, nullptr) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  recursive_directory_iterator(const path& __p, directory_options __xoptions,
-                               error_code& __ec)
-      : recursive_directory_iterator(__p, __xoptions, &__ec) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  recursive_directory_iterator(const path& __p, error_code& __ec)
-      : recursive_directory_iterator(__p, directory_options::none, &__ec) {}
-
-  recursive_directory_iterator(const recursive_directory_iterator&) = default;
-  recursive_directory_iterator(recursive_directory_iterator&&) = default;
-
-  recursive_directory_iterator&
-  operator=(const recursive_directory_iterator&) = default;
-
-  _LIBCPP_INLINE_VISIBILITY
-  recursive_directory_iterator&
-  operator=(recursive_directory_iterator&& __o) noexcept {
-    // non-default implementation provided to support self-move assign.
-    if (this != &__o) {
-      __imp_ = _VSTD::move(__o.__imp_);
-      __rec_ = __o.__rec_;
-    }
-    return *this;
-  }
-
-  ~recursive_directory_iterator() = default;
-
-  _LIBCPP_INLINE_VISIBILITY
-  const directory_entry& operator*() const { return __dereference(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  const directory_entry* operator->() const { return &__dereference(); }
-
-  recursive_directory_iterator& operator++() { return __increment(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  __dir_element_proxy operator++(int) {
-    __dir_element_proxy __p(**this);
-    __increment();
-    return __p;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  recursive_directory_iterator& increment(error_code& __ec) {
-    return __increment(&__ec);
-  }
-
-  _LIBCPP_FUNC_VIS directory_options options() const;
-  _LIBCPP_FUNC_VIS int depth() const;
-
-  _LIBCPP_INLINE_VISIBILITY
-  void pop() { __pop(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void pop(error_code& __ec) { __pop(&__ec); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  bool recursion_pending() const { return __rec_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void disable_recursion_pending() { __rec_ = false; }
-
-private:
-  _LIBCPP_FUNC_VIS
-  recursive_directory_iterator(const path& __p, directory_options __opt,
-                               error_code* __ec);
-
-  _LIBCPP_FUNC_VIS
-  const directory_entry& __dereference() const;
-
-  _LIBCPP_FUNC_VIS
-  bool __try_recursion(error_code* __ec);
-
-  _LIBCPP_FUNC_VIS
-  void __advance(error_code* __ec = nullptr);
-
-  _LIBCPP_FUNC_VIS
-  recursive_directory_iterator& __increment(error_code* __ec = nullptr);
-
-  _LIBCPP_FUNC_VIS
-  void __pop(error_code* __ec = nullptr);
-
-  inline _LIBCPP_INLINE_VISIBILITY friend bool
-  operator==(const recursive_directory_iterator&,
-             const recursive_directory_iterator&) noexcept;
-
-  struct _LIBCPP_HIDDEN __shared_imp;
-  shared_ptr<__shared_imp> __imp_;
-  bool __rec_;
-}; // class recursive_directory_iterator
-
-inline _LIBCPP_INLINE_VISIBILITY bool
-operator==(const recursive_directory_iterator& __lhs,
-           const recursive_directory_iterator& __rhs) noexcept {
-  return __lhs.__imp_ == __rhs.__imp_;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline bool operator!=(const recursive_directory_iterator& __lhs,
-                       const recursive_directory_iterator& __rhs) noexcept {
-  return !(__lhs == __rhs);
-}
-// enable recursive_directory_iterator range-based for statements
-inline _LIBCPP_INLINE_VISIBILITY recursive_directory_iterator
-begin(recursive_directory_iterator __iter) noexcept {
-  return __iter;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY recursive_directory_iterator
-end(const recursive_directory_iterator&) noexcept {
-  return recursive_directory_iterator();
-}
-
-_LIBCPP_AVAILABILITY_FILESYSTEM_POP
-
-_LIBCPP_END_NAMESPACE_FILESYSTEM
-
-#endif // !_LIBCPP_CXX03_LANG
-
-_LIBCPP_POP_MACROS
-
-#endif // _LIBCPP_FILESYSTEM
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/forward_list b/r21/sources/cxx-stl/llvm-libc++/include/forward_list
deleted file mode 100644
index d59ddd4..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/forward_list
+++ /dev/null
@@ -1,1781 +0,0 @@
-// -*- C++ -*-
-//===----------------------- forward_list ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FORWARD_LIST
-#define _LIBCPP_FORWARD_LIST
-
-/*
-    forward_list synopsis
-
-namespace std
-{
-
-template <class T, class Allocator = allocator<T>>
-class forward_list
-{
-public:
-    typedef T         value_type;
-    typedef Allocator allocator_type;
-
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef <details> iterator;
-    typedef <details> const_iterator;
-
-    forward_list()
-        noexcept(is_nothrow_default_constructible<allocator_type>::value);
-    explicit forward_list(const allocator_type& a);
-    explicit forward_list(size_type n);
-    explicit forward_list(size_type n, const allocator_type& a); // C++14
-    forward_list(size_type n, const value_type& v);
-    forward_list(size_type n, const value_type& v, const allocator_type& a);
-    template <class InputIterator>
-        forward_list(InputIterator first, InputIterator last);
-    template <class InputIterator>
-        forward_list(InputIterator first, InputIterator last, const allocator_type& a);
-    forward_list(const forward_list& x);
-    forward_list(const forward_list& x, const allocator_type& a);
-    forward_list(forward_list&& x)
-        noexcept(is_nothrow_move_constructible<allocator_type>::value);
-    forward_list(forward_list&& x, const allocator_type& a);
-    forward_list(initializer_list<value_type> il);
-    forward_list(initializer_list<value_type> il, const allocator_type& a);
-
-    ~forward_list();
-
-    forward_list& operator=(const forward_list& x);
-    forward_list& operator=(forward_list&& x)
-        noexcept(
-             allocator_type::propagate_on_container_move_assignment::value &&
-             is_nothrow_move_assignable<allocator_type>::value);
-    forward_list& operator=(initializer_list<value_type> il);
-
-    template <class InputIterator>
-        void assign(InputIterator first, InputIterator last);
-    void assign(size_type n, const value_type& v);
-    void assign(initializer_list<value_type> il);
-
-    allocator_type get_allocator() const noexcept;
-
-    iterator       begin() noexcept;
-    const_iterator begin() const noexcept;
-    iterator       end() noexcept;
-    const_iterator end() const noexcept;
-
-    const_iterator cbegin() const noexcept;
-    const_iterator cend() const noexcept;
-
-    iterator       before_begin() noexcept;
-    const_iterator before_begin() const noexcept;
-    const_iterator cbefore_begin() const noexcept;
-
-    bool empty() const noexcept;
-    size_type max_size() const noexcept;
-
-    reference       front();
-    const_reference front() const;
-
-    template <class... Args> reference emplace_front(Args&&... args);  // reference in C++17
-    void push_front(const value_type& v);
-    void push_front(value_type&& v);
-
-    void pop_front();
-
-    template <class... Args>
-        iterator emplace_after(const_iterator p, Args&&... args);
-    iterator insert_after(const_iterator p, const value_type& v);
-    iterator insert_after(const_iterator p, value_type&& v);
-    iterator insert_after(const_iterator p, size_type n, const value_type& v);
-    template <class InputIterator>
-        iterator insert_after(const_iterator p,
-                              InputIterator first, InputIterator last);
-    iterator insert_after(const_iterator p, initializer_list<value_type> il);
-
-    iterator erase_after(const_iterator p);
-    iterator erase_after(const_iterator first, const_iterator last);
-
-    void swap(forward_list& x)
-        noexcept(allocator_traits<allocator_type>::is_always_equal::value);  // C++17
-
-    void resize(size_type n);
-    void resize(size_type n, const value_type& v);
-    void clear() noexcept;
-
-    void splice_after(const_iterator p, forward_list& x);
-    void splice_after(const_iterator p, forward_list&& x);
-    void splice_after(const_iterator p, forward_list& x, const_iterator i);
-    void splice_after(const_iterator p, forward_list&& x, const_iterator i);
-    void splice_after(const_iterator p, forward_list& x,
-                      const_iterator first, const_iterator last);
-    void splice_after(const_iterator p, forward_list&& x,
-                      const_iterator first, const_iterator last);
-    size_type remove(const value_type& v);           // void before C++20
-    template <class Predicate>
-      size_type remove_if(Predicate pred);           // void before C++20
-    size_type unique();                              // void before C++20
-    template <class BinaryPredicate>
-      size_type unique(BinaryPredicate binary_pred); // void before C++20
-    void merge(forward_list& x);
-    void merge(forward_list&& x);
-    template <class Compare> void merge(forward_list& x, Compare comp);
-    template <class Compare> void merge(forward_list&& x, Compare comp);
-    void sort();
-    template <class Compare> void sort(Compare comp);
-    void reverse() noexcept;
-};
-
-
-template <class InputIterator, class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
-    forward_list(InputIterator, InputIterator, Allocator = Allocator())
-    -> forward_list<typename iterator_traits<InputIterator>::value_type, Allocator>;  // C++17
-
-template <class T, class Allocator>
-    bool operator==(const forward_list<T, Allocator>& x,
-                    const forward_list<T, Allocator>& y);
-
-template <class T, class Allocator>
-    bool operator< (const forward_list<T, Allocator>& x,
-                    const forward_list<T, Allocator>& y);
-
-template <class T, class Allocator>
-    bool operator!=(const forward_list<T, Allocator>& x,
-                    const forward_list<T, Allocator>& y);
-
-template <class T, class Allocator>
-    bool operator> (const forward_list<T, Allocator>& x,
-                    const forward_list<T, Allocator>& y);
-
-template <class T, class Allocator>
-    bool operator>=(const forward_list<T, Allocator>& x,
-                    const forward_list<T, Allocator>& y);
-
-template <class T, class Allocator>
-    bool operator<=(const forward_list<T, Allocator>& x,
-                    const forward_list<T, Allocator>& y);
-
-template <class T, class Allocator>
-    void swap(forward_list<T, Allocator>& x, forward_list<T, Allocator>& y)
-         noexcept(noexcept(x.swap(y)));
-
-template <class T, class Allocator, class U>
-    void erase(forward_list<T, Allocator>& c, const U& value);       // C++20
-template <class T, class Allocator, class Predicate>
-    void erase_if(forward_list<T, Allocator>& c, Predicate pred);    // C++20
-
-}  // std
-
-*/
-
-#include <__config>
-#include <initializer_list>
-#include <memory>
-#include <limits>
-#include <iterator>
-#include <algorithm>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp, class _VoidPtr> struct __forward_list_node;
-template <class _NodePtr> struct __forward_begin_node;
-
-
-template <class>
-struct __forward_list_node_value_type;
-
-template <class _Tp, class _VoidPtr>
-struct __forward_list_node_value_type<__forward_list_node<_Tp, _VoidPtr> > {
-  typedef _Tp type;
-};
-
-template <class _NodePtr>
-struct __forward_node_traits {
-
-  typedef typename remove_cv<
-        typename pointer_traits<_NodePtr>::element_type>::type  __node;
-  typedef typename __forward_list_node_value_type<__node>::type __node_value_type;
-  typedef _NodePtr                                              __node_pointer;
-  typedef __forward_begin_node<_NodePtr>                        __begin_node;
-  typedef typename __rebind_pointer<_NodePtr, __begin_node>::type
-                                                                __begin_node_pointer;
-  typedef typename __rebind_pointer<_NodePtr, void>::type       __void_pointer;
-
-#if defined(_LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB)
-  typedef __begin_node_pointer __iter_node_pointer;
-#else
-  typedef typename conditional<
-          is_pointer<__void_pointer>::value,
-          __begin_node_pointer,
-          __node_pointer
-    >::type __iter_node_pointer;
-#endif
-
-  typedef typename conditional<
-          is_same<__iter_node_pointer, __node_pointer>::value,
-          __begin_node_pointer,
-          __node_pointer
-    >::type __non_iter_node_pointer;
-
-  _LIBCPP_INLINE_VISIBILITY
-  static __iter_node_pointer __as_iter_node(__iter_node_pointer __p) {
-      return __p;
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  static __iter_node_pointer __as_iter_node(__non_iter_node_pointer __p) {
-      return static_cast<__iter_node_pointer>(static_cast<__void_pointer>(__p));
-  }
-};
-
-template <class _NodePtr>
-struct __forward_begin_node
-{
-    typedef _NodePtr pointer;
-    typedef typename __rebind_pointer<_NodePtr, __forward_begin_node>::type __begin_node_pointer;
-
-    pointer __next_;
-
-    _LIBCPP_INLINE_VISIBILITY __forward_begin_node() : __next_(nullptr) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __begin_node_pointer __next_as_begin() const {
-        return static_cast<__begin_node_pointer>(__next_);
-    }
-};
-
-template <class _Tp, class _VoidPtr>
-struct _LIBCPP_HIDDEN __begin_node_of
-{
-    typedef __forward_begin_node<
-        typename __rebind_pointer<_VoidPtr, __forward_list_node<_Tp, _VoidPtr> >::type
-    > type;
-};
-
-template <class _Tp, class _VoidPtr>
-struct __forward_list_node
-    : public __begin_node_of<_Tp, _VoidPtr>::type
-{
-    typedef _Tp value_type;
-
-    value_type __value_;
-};
-
-
-template <class _Tp, class _Alloc = allocator<_Tp> > class _LIBCPP_TEMPLATE_VIS forward_list;
-template<class _NodeConstPtr> class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator;
-
-template <class _NodePtr>
-class _LIBCPP_TEMPLATE_VIS __forward_list_iterator
-{
-    typedef __forward_node_traits<_NodePtr>         __traits;
-    typedef typename __traits::__node_pointer       __node_pointer;
-    typedef typename __traits::__begin_node_pointer __begin_node_pointer;
-    typedef typename __traits::__iter_node_pointer  __iter_node_pointer;
-    typedef typename __traits::__void_pointer       __void_pointer;
-
-    __iter_node_pointer __ptr_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __begin_node_pointer __get_begin() const {
-        return static_cast<__begin_node_pointer>(
-                static_cast<__void_pointer>(__ptr_));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __node_pointer __get_unsafe_node_pointer() const {
-        return static_cast<__node_pointer>(
-                static_cast<__void_pointer>(__ptr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __forward_list_iterator(nullptr_t) _NOEXCEPT : __ptr_(nullptr) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __forward_list_iterator(__begin_node_pointer __p) _NOEXCEPT
-        : __ptr_(__traits::__as_iter_node(__p)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __forward_list_iterator(__node_pointer __p) _NOEXCEPT
-        : __ptr_(__traits::__as_iter_node(__p)) {}
-
-    template<class, class> friend class _LIBCPP_TEMPLATE_VIS forward_list;
-    template<class> friend class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator;
-
-public:
-    typedef forward_iterator_tag                              iterator_category;
-    typedef typename __traits::__node_value_type              value_type;
-    typedef value_type&                                       reference;
-    typedef typename pointer_traits<__node_pointer>::difference_type
-                                                              difference_type;
-    typedef typename __rebind_pointer<__node_pointer, value_type>::type pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_iterator() _NOEXCEPT : __ptr_(nullptr) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {return __get_unsafe_node_pointer()->__value_;}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {
-        return pointer_traits<pointer>::pointer_to(__get_unsafe_node_pointer()->__value_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_iterator& operator++()
-    {
-        __ptr_ = __traits::__as_iter_node(__ptr_->__next_);
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_iterator operator++(int)
-    {
-        __forward_list_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __forward_list_iterator& __x,
-                    const __forward_list_iterator& __y)
-        {return __x.__ptr_ == __y.__ptr_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __forward_list_iterator& __x,
-                    const __forward_list_iterator& __y)
-        {return !(__x == __y);}
-};
-
-template <class _NodeConstPtr>
-class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator
-{
-    static_assert((!is_const<typename pointer_traits<_NodeConstPtr>::element_type>::value), "");
-    typedef _NodeConstPtr _NodePtr;
-
-    typedef __forward_node_traits<_NodePtr>         __traits;
-    typedef typename __traits::__node               __node;
-    typedef typename __traits::__node_pointer       __node_pointer;
-    typedef typename __traits::__begin_node_pointer __begin_node_pointer;
-    typedef typename __traits::__iter_node_pointer  __iter_node_pointer;
-    typedef typename __traits::__void_pointer       __void_pointer;
-
-    __iter_node_pointer __ptr_;
-
-    __begin_node_pointer __get_begin() const {
-        return static_cast<__begin_node_pointer>(
-                static_cast<__void_pointer>(__ptr_));
-    }
-    __node_pointer __get_unsafe_node_pointer() const {
-        return static_cast<__node_pointer>(
-                static_cast<__void_pointer>(__ptr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __forward_list_const_iterator(nullptr_t) _NOEXCEPT
-        : __ptr_(nullptr) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __forward_list_const_iterator(__begin_node_pointer __p) _NOEXCEPT
-        : __ptr_(__traits::__as_iter_node(__p)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __forward_list_const_iterator(__node_pointer __p) _NOEXCEPT
-        : __ptr_(__traits::__as_iter_node(__p)) {}
-
-
-    template<class, class> friend class forward_list;
-
-public:
-    typedef forward_iterator_tag                              iterator_category;
-    typedef typename __traits::__node_value_type              value_type;
-    typedef const value_type&                                 reference;
-    typedef typename pointer_traits<__node_pointer>::difference_type
-                                                              difference_type;
-    typedef typename __rebind_pointer<__node_pointer, const value_type>::type
-                                                              pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_const_iterator() _NOEXCEPT : __ptr_(nullptr) {}
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_const_iterator(__forward_list_iterator<__node_pointer> __p) _NOEXCEPT
-        : __ptr_(__p.__ptr_) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {return __get_unsafe_node_pointer()->__value_;}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {return pointer_traits<pointer>::pointer_to(
-                __get_unsafe_node_pointer()->__value_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_const_iterator& operator++()
-    {
-        __ptr_ = __traits::__as_iter_node(__ptr_->__next_);
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_const_iterator operator++(int)
-    {
-        __forward_list_const_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __forward_list_const_iterator& __x,
-                    const __forward_list_const_iterator& __y)
-        {return __x.__ptr_ == __y.__ptr_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __forward_list_const_iterator& __x,
-                           const __forward_list_const_iterator& __y)
-        {return !(__x == __y);}
-};
-
-template <class _Tp, class _Alloc>
-class __forward_list_base
-{
-protected:
-    typedef _Tp    value_type;
-    typedef _Alloc allocator_type;
-
-    typedef typename allocator_traits<allocator_type>::void_pointer  void_pointer;
-    typedef __forward_list_node<value_type, void_pointer>            __node;
-    typedef typename __begin_node_of<value_type, void_pointer>::type __begin_node;
-    typedef typename __rebind_alloc_helper<allocator_traits<allocator_type>, __node>::type __node_allocator;
-    typedef allocator_traits<__node_allocator>        __node_traits;
-    typedef typename __node_traits::pointer           __node_pointer;
-
-    typedef typename __rebind_alloc_helper<
-        allocator_traits<allocator_type>, __begin_node
-    >::type                                           __begin_node_allocator;
-    typedef typename allocator_traits<__begin_node_allocator>::pointer
-                                                      __begin_node_pointer;
-
-    static_assert((!is_same<allocator_type, __node_allocator>::value),
-                  "internal allocator type must differ from user-specified "
-                  "type; otherwise overload resolution breaks");
-
-    __compressed_pair<__begin_node, __node_allocator> __before_begin_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __begin_node_pointer        __before_begin() _NOEXCEPT
-        {return pointer_traits<__begin_node_pointer>::pointer_to(__before_begin_.first());}
-    _LIBCPP_INLINE_VISIBILITY
-    __begin_node_pointer __before_begin() const _NOEXCEPT
-        {return pointer_traits<__begin_node_pointer>::pointer_to(const_cast<__begin_node&>(__before_begin_.first()));}
-
-    _LIBCPP_INLINE_VISIBILITY
-          __node_allocator& __alloc() _NOEXCEPT
-            {return __before_begin_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const __node_allocator& __alloc() const _NOEXCEPT
-        {return __before_begin_.second();}
-
-    typedef __forward_list_iterator<__node_pointer>             iterator;
-    typedef __forward_list_const_iterator<__node_pointer>       const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_base()
-        _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value)
-        : __before_begin_(__begin_node()) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __forward_list_base(const allocator_type& __a)
-        : __before_begin_(__begin_node(), __node_allocator(__a)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __forward_list_base(const __node_allocator& __a)
-        : __before_begin_(__begin_node(), __a) {}
-#ifndef _LIBCPP_CXX03_LANG
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_base(__forward_list_base&& __x)
-        _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    __forward_list_base(__forward_list_base&& __x, const allocator_type& __a);
-#endif  // _LIBCPP_CXX03_LANG
-
-private:
-    __forward_list_base(const __forward_list_base&);
-    __forward_list_base& operator=(const __forward_list_base&);
-
-public:
-    ~__forward_list_base();
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __forward_list_base& __x)
-        {__copy_assign_alloc(__x, integral_constant<bool,
-              __node_traits::propagate_on_container_copy_assignment::value>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__forward_list_base& __x)
-        _NOEXCEPT_(!__node_traits::propagate_on_container_move_assignment::value ||
-                   is_nothrow_move_assignable<__node_allocator>::value)
-        {__move_assign_alloc(__x, integral_constant<bool,
-              __node_traits::propagate_on_container_move_assignment::value>());}
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(__forward_list_base& __x)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(!__node_traits::propagate_on_container_move_assignment::value ||
-                    __is_nothrow_swappable<__node_allocator>::value);
-#endif
-protected:
-    void clear() _NOEXCEPT;
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __forward_list_base&, false_type) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __forward_list_base& __x, true_type)
-    {
-        if (__alloc() != __x.__alloc())
-            clear();
-        __alloc() = __x.__alloc();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__forward_list_base&, false_type) _NOEXCEPT
-        {}
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__forward_list_base& __x, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value)
-        {__alloc() = _VSTD::move(__x.__alloc());}
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-inline
-__forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x)
-        _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value)
-    : __before_begin_(_VSTD::move(__x.__before_begin_))
-{
-    __x.__before_begin()->__next_ = nullptr;
-}
-
-template <class _Tp, class _Alloc>
-inline
-__forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x,
-                                                      const allocator_type& __a)
-    : __before_begin_(__begin_node(), __node_allocator(__a))
-{
-    if (__alloc() == __x.__alloc())
-    {
-        __before_begin()->__next_ = __x.__before_begin()->__next_;
-        __x.__before_begin()->__next_ = nullptr;
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-__forward_list_base<_Tp, _Alloc>::~__forward_list_base()
-{
-    clear();
-}
-
-template <class _Tp, class _Alloc>
-inline
-void
-__forward_list_base<_Tp, _Alloc>::swap(__forward_list_base& __x)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT
-#else
-        _NOEXCEPT_(!__node_traits::propagate_on_container_move_assignment::value ||
-                    __is_nothrow_swappable<__node_allocator>::value)
-#endif
-{
-    __swap_allocator(__alloc(), __x.__alloc(),
-            integral_constant<bool, __node_traits::propagate_on_container_swap::value>());
-    using _VSTD::swap;
-    swap(__before_begin()->__next_, __x.__before_begin()->__next_);
-}
-
-template <class _Tp, class _Alloc>
-void
-__forward_list_base<_Tp, _Alloc>::clear() _NOEXCEPT
-{
-    __node_allocator& __a = __alloc();
-    for (__node_pointer __p = __before_begin()->__next_; __p != nullptr;)
-    {
-        __node_pointer __next = __p->__next_;
-        __node_traits::destroy(__a, _VSTD::addressof(__p->__value_));
-        __node_traits::deallocate(__a, __p, 1);
-        __p = __next;
-    }
-    __before_begin()->__next_ = nullptr;
-}
-
-template <class _Tp, class _Alloc /*= allocator<_Tp>*/>
-class _LIBCPP_TEMPLATE_VIS forward_list
-    : private __forward_list_base<_Tp, _Alloc>
-{
-    typedef __forward_list_base<_Tp, _Alloc> base;
-    typedef typename base::__node_allocator  __node_allocator;
-    typedef typename base::__node               __node;
-    typedef typename base::__node_traits        __node_traits;
-    typedef typename base::__node_pointer       __node_pointer;
-    typedef typename base::__begin_node_pointer __begin_node_pointer;
-
-public:
-    typedef _Tp    value_type;
-    typedef _Alloc allocator_type;
-
-    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
-                  "Allocator::value_type must be same type as value_type");
-
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef typename base::iterator       iterator;
-    typedef typename base::const_iterator const_iterator;
-#if _LIBCPP_STD_VER > 17
-    typedef size_type                                __remove_return_type;
-#else
-    typedef void                                     __remove_return_type;
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    forward_list()
-        _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value)
-        {} // = default;
-    _LIBCPP_INLINE_VISIBILITY
-    explicit forward_list(const allocator_type& __a);
-    explicit forward_list(size_type __n);
-#if _LIBCPP_STD_VER > 11
-    explicit forward_list(size_type __n, const allocator_type& __a);
-#endif
-    forward_list(size_type __n, const value_type& __v);
-    forward_list(size_type __n, const value_type& __v, const allocator_type& __a);
-    template <class _InputIterator>
-        forward_list(_InputIterator __f, _InputIterator __l,
-                     typename enable_if<
-                       __is_input_iterator<_InputIterator>::value
-                     >::type* = nullptr);
-    template <class _InputIterator>
-        forward_list(_InputIterator __f, _InputIterator __l,
-                     const allocator_type& __a,
-                     typename enable_if<
-                       __is_input_iterator<_InputIterator>::value
-                     >::type* = nullptr);
-    forward_list(const forward_list& __x);
-    forward_list(const forward_list& __x, const allocator_type& __a);
-
-    forward_list& operator=(const forward_list& __x);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    forward_list(forward_list&& __x)
-        _NOEXCEPT_(is_nothrow_move_constructible<base>::value)
-        : base(_VSTD::move(__x)) {}
-    forward_list(forward_list&& __x, const allocator_type& __a);
-
-    forward_list(initializer_list<value_type> __il);
-    forward_list(initializer_list<value_type> __il, const allocator_type& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    forward_list& operator=(forward_list&& __x)
-        _NOEXCEPT_(
-             __node_traits::propagate_on_container_move_assignment::value &&
-             is_nothrow_move_assignable<allocator_type>::value);
-
-    _LIBCPP_INLINE_VISIBILITY
-    forward_list& operator=(initializer_list<value_type> __il);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void assign(initializer_list<value_type> __il);
-#endif  // _LIBCPP_CXX03_LANG
-
-    // ~forward_list() = default;
-
-    template <class _InputIterator>
-        typename enable_if
-        <
-            __is_input_iterator<_InputIterator>::value,
-            void
-        >::type
-        assign(_InputIterator __f, _InputIterator __l);
-    void assign(size_type __n, const value_type& __v);
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT
-        {return allocator_type(base::__alloc());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin() _NOEXCEPT
-        {return       iterator(base::__before_begin()->__next_);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT
-        {return const_iterator(base::__before_begin()->__next_);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end() _NOEXCEPT
-        {return       iterator(nullptr);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT
-        {return const_iterator(nullptr);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT
-        {return const_iterator(base::__before_begin()->__next_);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend() const _NOEXCEPT
-        {return const_iterator(nullptr);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       before_begin() _NOEXCEPT
-        {return       iterator(base::__before_begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator before_begin() const _NOEXCEPT
-        {return const_iterator(base::__before_begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbefore_begin() const _NOEXCEPT
-        {return const_iterator(base::__before_begin());}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT
-        {return base::__before_begin()->__next_ == nullptr;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {
-        return std::min<size_type>(
-            __node_traits::max_size(base::__alloc()),
-            numeric_limits<difference_type>::max());
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference       front()       {return base::__before_begin()->__next_->__value_;}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference front() const {return base::__before_begin()->__next_->__value_;}
-
-#ifndef _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER > 14
-    template <class... _Args> reference emplace_front(_Args&&... __args);
-#else
-    template <class... _Args> void      emplace_front(_Args&&... __args);
-#endif
-    void push_front(value_type&& __v);
-#endif  // _LIBCPP_CXX03_LANG
-    void push_front(const value_type& __v);
-
-    void pop_front();
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class... _Args>
-        iterator emplace_after(const_iterator __p, _Args&&... __args);
-
-    iterator insert_after(const_iterator __p, value_type&& __v);
-    iterator insert_after(const_iterator __p, initializer_list<value_type> __il)
-        {return insert_after(__p, __il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-    iterator insert_after(const_iterator __p, const value_type& __v);
-    iterator insert_after(const_iterator __p, size_type __n, const value_type& __v);
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __is_input_iterator<_InputIterator>::value,
-            iterator
-        >::type
-        insert_after(const_iterator __p, _InputIterator __f, _InputIterator __l);
-
-    iterator erase_after(const_iterator __p);
-    iterator erase_after(const_iterator __f, const_iterator __l);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(forward_list& __x)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT
-#else
-        _NOEXCEPT_(!__node_traits::propagate_on_container_swap::value ||
-                   __is_nothrow_swappable<__node_allocator>::value)
-#endif
-        {base::swap(__x);}
-
-    void resize(size_type __n);
-    void resize(size_type __n, const value_type& __v);
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {base::clear();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void splice_after(const_iterator __p, forward_list&& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    void splice_after(const_iterator __p, forward_list&& __x, const_iterator __i);
-    _LIBCPP_INLINE_VISIBILITY
-    void splice_after(const_iterator __p, forward_list&& __x,
-                      const_iterator __f, const_iterator __l);
-    void splice_after(const_iterator __p, forward_list& __x);
-    void splice_after(const_iterator __p, forward_list& __x, const_iterator __i);
-    void splice_after(const_iterator __p, forward_list& __x,
-                      const_iterator __f, const_iterator __l);
-    __remove_return_type remove(const value_type& __v);
-    template <class _Predicate> __remove_return_type remove_if(_Predicate __pred);
-    _LIBCPP_INLINE_VISIBILITY
-    __remove_return_type unique() {return unique(__equal_to<value_type>());}
-    template <class _BinaryPredicate> __remove_return_type unique(_BinaryPredicate __binary_pred);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(forward_list&& __x) {merge(__x, __less<value_type>());}
-    template <class _Compare>
-        _LIBCPP_INLINE_VISIBILITY
-        void merge(forward_list&& __x, _Compare __comp)
-        {merge(__x, _VSTD::move(__comp));}
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(forward_list& __x) {merge(__x, __less<value_type>());}
-    template <class _Compare> void merge(forward_list& __x, _Compare __comp);
-    _LIBCPP_INLINE_VISIBILITY
-    void sort() {sort(__less<value_type>());}
-    template <class _Compare> _LIBCPP_INLINE_VISIBILITY void sort(_Compare __comp);
-    void reverse() _NOEXCEPT;
-
-private:
-
-#ifndef _LIBCPP_CXX03_LANG
-    void __move_assign(forward_list& __x, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value);
-    void __move_assign(forward_list& __x, false_type);
-#endif  // _LIBCPP_CXX03_LANG
-
-    template <class _Compare>
-        static
-        __node_pointer
-        __merge(__node_pointer __f1, __node_pointer __f2, _Compare& __comp);
-
-    template <class _Compare>
-        static
-        __node_pointer
-        __sort(__node_pointer __f, difference_type __sz, _Compare& __comp);
-};
-
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Alloc = typename std::allocator<typename iterator_traits<_InputIterator>::value_type>,
-         class = typename enable_if<__is_allocator<_Alloc>::value, void>::type
-         >
-forward_list(_InputIterator, _InputIterator)
-  -> forward_list<typename iterator_traits<_InputIterator>::value_type, _Alloc>;
-
-template<class _InputIterator,
-         class _Alloc,
-         class = typename enable_if<__is_allocator<_Alloc>::value, void>::type
-         >
-forward_list(_InputIterator, _InputIterator, _Alloc)
-  -> forward_list<typename iterator_traits<_InputIterator>::value_type, _Alloc>;
-#endif
-
-template <class _Tp, class _Alloc>
-inline
-forward_list<_Tp, _Alloc>::forward_list(const allocator_type& __a)
-    : base(__a)
-{
-}
-
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(size_type __n)
-{
-    if (__n > 0)
-    {
-        __node_allocator& __a = base::__alloc();
-        typedef __allocator_destructor<__node_allocator> _Dp;
-        unique_ptr<__node, _Dp> __h(nullptr, _Dp(__a, 1));
-        for (__begin_node_pointer __p = base::__before_begin(); __n > 0; --__n,
-                                                             __p = __p->__next_as_begin())
-        {
-            __h.reset(__node_traits::allocate(__a, 1));
-            __node_traits::construct(__a, _VSTD::addressof(__h->__value_));
-            __h->__next_ = nullptr;
-            __p->__next_ = __h.release();
-        }
-    }
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(size_type __n,
-                                        const allocator_type& __base_alloc)
-    : base ( __base_alloc )
-{
-    if (__n > 0)
-    {
-        __node_allocator& __a = base::__alloc();
-        typedef __allocator_destructor<__node_allocator> _Dp;
-        unique_ptr<__node, _Dp> __h(nullptr, _Dp(__a, 1));
-        for (__begin_node_pointer __p = base::__before_begin(); __n > 0; --__n,
-                                                             __p = __p->__next_as_begin())
-        {
-            __h.reset(__node_traits::allocate(__a, 1));
-            __node_traits::construct(__a, _VSTD::addressof(__h->__value_));
-            __h->__next_ = nullptr;
-            __p->__next_ = __h.release();
-        }
-    }
-}
-#endif
-
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(size_type __n, const value_type& __v)
-{
-    insert_after(cbefore_begin(), __n, __v);
-}
-
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(size_type __n, const value_type& __v,
-                                        const allocator_type& __a)
-    : base(__a)
-{
-    insert_after(cbefore_begin(), __n, __v);
-}
-
-template <class _Tp, class _Alloc>
-template <class _InputIterator>
-forward_list<_Tp, _Alloc>::forward_list(_InputIterator __f, _InputIterator __l,
-                                        typename enable_if<
-                                          __is_input_iterator<_InputIterator>::value
-                                        >::type*)
-{
-    insert_after(cbefore_begin(), __f, __l);
-}
-
-template <class _Tp, class _Alloc>
-template <class _InputIterator>
-forward_list<_Tp, _Alloc>::forward_list(_InputIterator __f, _InputIterator __l,
-                                        const allocator_type& __a,
-                                        typename enable_if<
-                                          __is_input_iterator<_InputIterator>::value
-                                        >::type*)
-    : base(__a)
-{
-    insert_after(cbefore_begin(), __f, __l);
-}
-
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(const forward_list& __x)
-    : base(
-          __node_traits::select_on_container_copy_construction(__x.__alloc())) {
-  insert_after(cbefore_begin(), __x.begin(), __x.end());
-}
-
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(const forward_list& __x,
-                                        const allocator_type& __a)
-    : base(__a)
-{
-    insert_after(cbefore_begin(), __x.begin(), __x.end());
-}
-
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>&
-forward_list<_Tp, _Alloc>::operator=(const forward_list& __x)
-{
-    if (this != &__x)
-    {
-        base::__copy_assign_alloc(__x);
-        assign(__x.begin(), __x.end());
-    }
-    return *this;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(forward_list&& __x,
-                                        const allocator_type& __a)
-    : base(_VSTD::move(__x), __a)
-{
-    if (base::__alloc() != __x.__alloc())
-    {
-        typedef move_iterator<iterator> _Ip;
-        insert_after(cbefore_begin(), _Ip(__x.begin()), _Ip(__x.end()));
-    }
-}
-
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(initializer_list<value_type> __il)
-{
-    insert_after(cbefore_begin(), __il.begin(), __il.end());
-}
-
-template <class _Tp, class _Alloc>
-forward_list<_Tp, _Alloc>::forward_list(initializer_list<value_type> __il,
-                                        const allocator_type& __a)
-    : base(__a)
-{
-    insert_after(cbefore_begin(), __il.begin(), __il.end());
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::__move_assign(forward_list& __x, true_type)
-    _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-{
-    clear();
-    base::__move_assign_alloc(__x);
-    base::__before_begin()->__next_ = __x.__before_begin()->__next_;
-    __x.__before_begin()->__next_ = nullptr;
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::__move_assign(forward_list& __x, false_type)
-{
-    if (base::__alloc() == __x.__alloc())
-        __move_assign(__x, true_type());
-    else
-    {
-        typedef move_iterator<iterator> _Ip;
-        assign(_Ip(__x.begin()), _Ip(__x.end()));
-    }
-}
-
-template <class _Tp, class _Alloc>
-inline
-forward_list<_Tp, _Alloc>&
-forward_list<_Tp, _Alloc>::operator=(forward_list&& __x)
-    _NOEXCEPT_(
-             __node_traits::propagate_on_container_move_assignment::value &&
-             is_nothrow_move_assignable<allocator_type>::value)
-{
-    __move_assign(__x, integral_constant<bool,
-          __node_traits::propagate_on_container_move_assignment::value>());
-    return *this;
-}
-
-template <class _Tp, class _Alloc>
-inline
-forward_list<_Tp, _Alloc>&
-forward_list<_Tp, _Alloc>::operator=(initializer_list<value_type> __il)
-{
-    assign(__il.begin(), __il.end());
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-template <class _InputIterator>
-typename enable_if
-<
-    __is_input_iterator<_InputIterator>::value,
-    void
->::type
-forward_list<_Tp, _Alloc>::assign(_InputIterator __f, _InputIterator __l)
-{
-    iterator __i = before_begin();
-    iterator __j = _VSTD::next(__i);
-    iterator __e = end();
-    for (; __j != __e && __f != __l; ++__i, (void) ++__j, ++__f)
-        *__j = *__f;
-    if (__j == __e)
-        insert_after(__i, __f, __l);
-    else
-        erase_after(__i, __e);
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::assign(size_type __n, const value_type& __v)
-{
-    iterator __i = before_begin();
-    iterator __j = _VSTD::next(__i);
-    iterator __e = end();
-    for (; __j != __e && __n > 0; --__n, ++__i, ++__j)
-        *__j = __v;
-    if (__j == __e)
-        insert_after(__i, __n, __v);
-    else
-        erase_after(__i, __e);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-inline
-void
-forward_list<_Tp, _Alloc>::assign(initializer_list<value_type> __il)
-{
-    assign(__il.begin(), __il.end());
-}
-
-template <class _Tp, class _Alloc>
-template <class... _Args>
-#if _LIBCPP_STD_VER > 14
-typename forward_list<_Tp, _Alloc>::reference
-#else
-void
-#endif
-forward_list<_Tp, _Alloc>::emplace_front(_Args&&... __args)
-{
-    __node_allocator& __a = base::__alloc();
-    typedef __allocator_destructor<__node_allocator> _Dp;
-    unique_ptr<__node, _Dp> __h(__node_traits::allocate(__a, 1), _Dp(__a, 1));
-    __node_traits::construct(__a, _VSTD::addressof(__h->__value_),
-                                  _VSTD::forward<_Args>(__args)...);
-    __h->__next_ = base::__before_begin()->__next_;
-    base::__before_begin()->__next_ = __h.release();
-#if _LIBCPP_STD_VER > 14
-    return base::__before_begin()->__next_->__value_;
-#endif
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::push_front(value_type&& __v)
-{
-    __node_allocator& __a = base::__alloc();
-    typedef __allocator_destructor<__node_allocator> _Dp;
-    unique_ptr<__node, _Dp> __h(__node_traits::allocate(__a, 1), _Dp(__a, 1));
-    __node_traits::construct(__a, _VSTD::addressof(__h->__value_), _VSTD::move(__v));
-    __h->__next_ = base::__before_begin()->__next_;
-    base::__before_begin()->__next_ = __h.release();
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::push_front(const value_type& __v)
-{
-    __node_allocator& __a = base::__alloc();
-    typedef __allocator_destructor<__node_allocator> _Dp;
-    unique_ptr<__node, _Dp> __h(__node_traits::allocate(__a, 1), _Dp(__a, 1));
-    __node_traits::construct(__a, _VSTD::addressof(__h->__value_), __v);
-    __h->__next_ = base::__before_begin()->__next_;
-    base::__before_begin()->__next_ = __h.release();
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::pop_front()
-{
-    __node_allocator& __a = base::__alloc();
-    __node_pointer __p = base::__before_begin()->__next_;
-    base::__before_begin()->__next_ = __p->__next_;
-    __node_traits::destroy(__a, _VSTD::addressof(__p->__value_));
-    __node_traits::deallocate(__a, __p, 1);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-template <class... _Args>
-typename forward_list<_Tp, _Alloc>::iterator
-forward_list<_Tp, _Alloc>::emplace_after(const_iterator __p, _Args&&... __args)
-{
-    __begin_node_pointer const __r = __p.__get_begin();
-    __node_allocator& __a = base::__alloc();
-    typedef __allocator_destructor<__node_allocator> _Dp;
-    unique_ptr<__node, _Dp> __h(__node_traits::allocate(__a, 1), _Dp(__a, 1));
-    __node_traits::construct(__a, _VSTD::addressof(__h->__value_),
-                                  _VSTD::forward<_Args>(__args)...);
-    __h->__next_ = __r->__next_;
-    __r->__next_ = __h.release();
-    return iterator(__r->__next_);
-}
-
-template <class _Tp, class _Alloc>
-typename forward_list<_Tp, _Alloc>::iterator
-forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, value_type&& __v)
-{
-    __begin_node_pointer const __r = __p.__get_begin();
-    __node_allocator& __a = base::__alloc();
-    typedef __allocator_destructor<__node_allocator> _Dp;
-    unique_ptr<__node, _Dp> __h(__node_traits::allocate(__a, 1), _Dp(__a, 1));
-    __node_traits::construct(__a, _VSTD::addressof(__h->__value_), _VSTD::move(__v));
-    __h->__next_ = __r->__next_;
-    __r->__next_ = __h.release();
-    return iterator(__r->__next_);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-typename forward_list<_Tp, _Alloc>::iterator
-forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, const value_type& __v)
-{
-    __begin_node_pointer const __r = __p.__get_begin();
-    __node_allocator& __a = base::__alloc();
-    typedef __allocator_destructor<__node_allocator> _Dp;
-    unique_ptr<__node, _Dp> __h(__node_traits::allocate(__a, 1), _Dp(__a, 1));
-    __node_traits::construct(__a, _VSTD::addressof(__h->__value_), __v);
-    __h->__next_ = __r->__next_;
-    __r->__next_ = __h.release();
-    return iterator(__r->__next_);
-}
-
-template <class _Tp, class _Alloc>
-typename forward_list<_Tp, _Alloc>::iterator
-forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, size_type __n,
-                                        const value_type& __v)
-{
-    __begin_node_pointer __r = __p.__get_begin();
-    if (__n > 0)
-    {
-        __node_allocator& __a = base::__alloc();
-        typedef __allocator_destructor<__node_allocator> _Dp;
-        unique_ptr<__node, _Dp> __h(__node_traits::allocate(__a, 1), _Dp(__a, 1));
-        __node_traits::construct(__a, _VSTD::addressof(__h->__value_), __v);
-        __node_pointer __first = __h.release();
-        __node_pointer __last = __first;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (--__n; __n != 0; --__n, __last = __last->__next_)
-            {
-                __h.reset(__node_traits::allocate(__a, 1));
-                __node_traits::construct(__a, _VSTD::addressof(__h->__value_), __v);
-                __last->__next_ = __h.release();
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            while (__first != nullptr)
-            {
-                __node_pointer __next = __first->__next_;
-                __node_traits::destroy(__a, _VSTD::addressof(__first->__value_));
-                __node_traits::deallocate(__a, __first, 1);
-                __first = __next;
-            }
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __last->__next_ = __r->__next_;
-        __r->__next_ = __first;
-        __r = static_cast<__begin_node_pointer>(__last);
-    }
-    return iterator(__r);
-}
-
-template <class _Tp, class _Alloc>
-template <class _InputIterator>
-typename enable_if
-<
-    __is_input_iterator<_InputIterator>::value,
-    typename forward_list<_Tp, _Alloc>::iterator
->::type
-forward_list<_Tp, _Alloc>::insert_after(const_iterator __p,
-                                        _InputIterator __f, _InputIterator __l)
-{
-    __begin_node_pointer __r = __p.__get_begin();
-    if (__f != __l)
-    {
-        __node_allocator& __a = base::__alloc();
-        typedef __allocator_destructor<__node_allocator> _Dp;
-        unique_ptr<__node, _Dp> __h(__node_traits::allocate(__a, 1), _Dp(__a, 1));
-        __node_traits::construct(__a, _VSTD::addressof(__h->__value_), *__f);
-        __node_pointer __first = __h.release();
-        __node_pointer __last = __first;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (++__f; __f != __l; ++__f, ((void)(__last = __last->__next_)))
-            {
-                __h.reset(__node_traits::allocate(__a, 1));
-                __node_traits::construct(__a, _VSTD::addressof(__h->__value_), *__f);
-                __last->__next_ = __h.release();
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            while (__first != nullptr)
-            {
-                __node_pointer __next = __first->__next_;
-                __node_traits::destroy(__a, _VSTD::addressof(__first->__value_));
-                __node_traits::deallocate(__a, __first, 1);
-                __first = __next;
-            }
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __last->__next_ = __r->__next_;
-        __r->__next_ = __first;
-        __r = static_cast<__begin_node_pointer>(__last);
-    }
-    return iterator(__r);
-}
-
-template <class _Tp, class _Alloc>
-typename forward_list<_Tp, _Alloc>::iterator
-forward_list<_Tp, _Alloc>::erase_after(const_iterator __f)
-{
-    __begin_node_pointer __p = __f.__get_begin();
-    __node_pointer __n = __p->__next_;
-    __p->__next_ = __n->__next_;
-    __node_allocator& __a = base::__alloc();
-    __node_traits::destroy(__a, _VSTD::addressof(__n->__value_));
-    __node_traits::deallocate(__a, __n, 1);
-    return iterator(__p->__next_);
-}
-
-template <class _Tp, class _Alloc>
-typename forward_list<_Tp, _Alloc>::iterator
-forward_list<_Tp, _Alloc>::erase_after(const_iterator __f, const_iterator __l)
-{
-    __node_pointer __e = __l.__get_unsafe_node_pointer();
-    if (__f != __l)
-    {
-        __begin_node_pointer __bp = __f.__get_begin();
-
-        __node_pointer __n = __bp->__next_;
-        if (__n != __e)
-        {
-            __bp->__next_ = __e;
-            __node_allocator& __a = base::__alloc();
-            do
-            {
-                __node_pointer __tmp = __n->__next_;
-                __node_traits::destroy(__a, _VSTD::addressof(__n->__value_));
-                __node_traits::deallocate(__a, __n, 1);
-                __n = __tmp;
-            } while (__n != __e);
-        }
-    }
-    return iterator(__e);
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::resize(size_type __n)
-{
-    size_type __sz = 0;
-    iterator __p = before_begin();
-    iterator __i = begin();
-    iterator __e = end();
-    for (; __i != __e && __sz < __n; ++__p, ++__i, ++__sz)
-        ;
-    if (__i != __e)
-        erase_after(__p, __e);
-    else
-    {
-        __n -= __sz;
-        if (__n > 0)
-        {
-            __node_allocator& __a = base::__alloc();
-            typedef __allocator_destructor<__node_allocator> _Dp;
-            unique_ptr<__node, _Dp> __h(nullptr, _Dp(__a, 1));
-            for (__begin_node_pointer __ptr = __p.__get_begin(); __n > 0; --__n,
-                                                         __ptr = __ptr->__next_as_begin())
-            {
-                __h.reset(__node_traits::allocate(__a, 1));
-                __node_traits::construct(__a, _VSTD::addressof(__h->__value_));
-                __h->__next_ = nullptr;
-                __ptr->__next_ = __h.release();
-            }
-        }
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::resize(size_type __n, const value_type& __v)
-{
-    size_type __sz = 0;
-    iterator __p = before_begin();
-    iterator __i = begin();
-    iterator __e = end();
-    for (; __i != __e && __sz < __n; ++__p, ++__i, ++__sz)
-        ;
-    if (__i != __e)
-        erase_after(__p, __e);
-    else
-    {
-        __n -= __sz;
-        if (__n > 0)
-        {
-            __node_allocator& __a = base::__alloc();
-            typedef __allocator_destructor<__node_allocator> _Dp;
-            unique_ptr<__node, _Dp> __h(nullptr, _Dp(__a, 1));
-            for (__begin_node_pointer __ptr = __p.__get_begin(); __n > 0; --__n,
-                                                         __ptr = __ptr->__next_as_begin())
-            {
-                __h.reset(__node_traits::allocate(__a, 1));
-                __node_traits::construct(__a, _VSTD::addressof(__h->__value_), __v);
-                __h->__next_ = nullptr;
-                __ptr->__next_ = __h.release();
-            }
-        }
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::splice_after(const_iterator __p,
-                                        forward_list& __x)
-{
-    if (!__x.empty())
-    {
-        if (__p.__get_begin()->__next_ != nullptr)
-        {
-            const_iterator __lm1 = __x.before_begin();
-            while (__lm1.__get_begin()->__next_ != nullptr)
-                ++__lm1;
-            __lm1.__get_begin()->__next_ = __p.__get_begin()->__next_;
-        }
-        __p.__get_begin()->__next_ = __x.__before_begin()->__next_;
-        __x.__before_begin()->__next_ = nullptr;
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::splice_after(const_iterator __p,
-                                        forward_list& /*__other*/,
-                                        const_iterator __i)
-{
-    const_iterator __lm1 = _VSTD::next(__i);
-    if (__p != __i && __p != __lm1)
-    {
-        __i.__get_begin()->__next_ = __lm1.__get_begin()->__next_;
-        __lm1.__get_begin()->__next_ = __p.__get_begin()->__next_;
-        __p.__get_begin()->__next_ = __lm1.__get_unsafe_node_pointer();
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::splice_after(const_iterator __p,
-                                        forward_list& /*__other*/,
-                                        const_iterator __f, const_iterator __l)
-{
-    if (__f != __l && __p != __f)
-    {
-        const_iterator __lm1 = __f;
-        while (__lm1.__get_begin()->__next_ != __l.__get_begin())
-            ++__lm1;
-        if (__f != __lm1)
-        {
-            __lm1.__get_begin()->__next_ = __p.__get_begin()->__next_;
-            __p.__get_begin()->__next_ = __f.__get_begin()->__next_;
-            __f.__get_begin()->__next_ = __l.__get_unsafe_node_pointer();
-        }
-    }
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-forward_list<_Tp, _Alloc>::splice_after(const_iterator __p,
-                                        forward_list&& __x)
-{
-    splice_after(__p, __x);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-forward_list<_Tp, _Alloc>::splice_after(const_iterator __p,
-                                        forward_list&& __x,
-                                        const_iterator __i)
-{
-    splice_after(__p, __x, __i);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-forward_list<_Tp, _Alloc>::splice_after(const_iterator __p,
-                                        forward_list&& __x,
-                                        const_iterator __f, const_iterator __l)
-{
-    splice_after(__p, __x, __f, __l);
-}
-
-template <class _Tp, class _Alloc>
-typename forward_list<_Tp, _Alloc>::__remove_return_type
-forward_list<_Tp, _Alloc>::remove(const value_type& __v)
-{
-    forward_list<_Tp, _Alloc> __deleted_nodes(get_allocator()); // collect the nodes we're removing
-    typename forward_list<_Tp, _Alloc>::size_type __count_removed = 0;
-    const iterator __e = end();
-    for (iterator __i = before_begin(); __i.__get_begin()->__next_ != nullptr;)
-    {
-        if (__i.__get_begin()->__next_->__value_ == __v)
-        {
-            ++__count_removed;
-            iterator __j = _VSTD::next(__i, 2);
-            for (; __j != __e && *__j == __v; ++__j)
-                ++__count_removed;
-            __deleted_nodes.splice_after(__deleted_nodes.before_begin(), *this, __i, __j);
-            if (__j == __e)
-                break;
-            __i = __j;
-        }
-        else
-            ++__i;
-    }
-    
-    return (__remove_return_type) __count_removed;
-}
-
-template <class _Tp, class _Alloc>
-template <class _Predicate>
-typename forward_list<_Tp, _Alloc>::__remove_return_type
-forward_list<_Tp, _Alloc>::remove_if(_Predicate __pred)
-{
-    forward_list<_Tp, _Alloc> __deleted_nodes(get_allocator()); // collect the nodes we're removing
-    typename forward_list<_Tp, _Alloc>::size_type __count_removed = 0;
-    const iterator __e = end();
-    for (iterator __i = before_begin(); __i.__get_begin()->__next_ != nullptr;)
-    {
-        if (__pred(__i.__get_begin()->__next_->__value_))
-        {
-            ++__count_removed;
-            iterator __j = _VSTD::next(__i, 2);
-            for (; __j != __e && __pred(*__j); ++__j)
-                ++__count_removed;
-            __deleted_nodes.splice_after(__deleted_nodes.before_begin(), *this, __i, __j);
-            if (__j == __e)
-                break;
-            __i = __j;
-        }
-        else
-            ++__i;
-    }
-    
-    return (__remove_return_type) __count_removed;
-}
-
-template <class _Tp, class _Alloc>
-template <class _BinaryPredicate>
-typename forward_list<_Tp, _Alloc>::__remove_return_type
-forward_list<_Tp, _Alloc>::unique(_BinaryPredicate __binary_pred)
-{
-    forward_list<_Tp, _Alloc> __deleted_nodes(get_allocator()); // collect the nodes we're removing
-    typename forward_list<_Tp, _Alloc>::size_type __count_removed = 0;
-    for (iterator __i = begin(), __e = end(); __i != __e;)
-    {
-        iterator __j = _VSTD::next(__i);
-        for (; __j != __e && __binary_pred(*__i, *__j); ++__j)
-            ++__count_removed;
-        if (__i.__get_begin()->__next_ != __j.__get_unsafe_node_pointer())
-            __deleted_nodes.splice_after(__deleted_nodes.before_begin(), *this, __i, __j);
-        __i = __j;
-    }
-    
-    return (__remove_return_type) __count_removed;
-}
-
-template <class _Tp, class _Alloc>
-template <class _Compare>
-void
-forward_list<_Tp, _Alloc>::merge(forward_list& __x, _Compare __comp)
-{
-    if (this != &__x)
-    {
-        base::__before_begin()->__next_ = __merge(base::__before_begin()->__next_,
-                                                    __x.__before_begin()->__next_,
-                                                    __comp);
-        __x.__before_begin()->__next_ = nullptr;
-    }
-}
-
-template <class _Tp, class _Alloc>
-template <class _Compare>
-typename forward_list<_Tp, _Alloc>::__node_pointer
-forward_list<_Tp, _Alloc>::__merge(__node_pointer __f1, __node_pointer __f2,
-                                   _Compare& __comp)
-{
-    if (__f1 == nullptr)
-        return __f2;
-    if (__f2 == nullptr)
-        return __f1;
-    __node_pointer __r;
-    if (__comp(__f2->__value_, __f1->__value_))
-    {
-        __node_pointer __t = __f2;
-        while (__t->__next_ != nullptr &&
-                             __comp(__t->__next_->__value_, __f1->__value_))
-            __t = __t->__next_;
-        __r = __f2;
-        __f2 = __t->__next_;
-        __t->__next_ = __f1;
-    }
-    else
-        __r = __f1;
-    __node_pointer __p = __f1;
-    __f1 = __f1->__next_;
-    while (__f1 != nullptr && __f2 != nullptr)
-    {
-        if (__comp(__f2->__value_, __f1->__value_))
-        {
-            __node_pointer __t = __f2;
-            while (__t->__next_ != nullptr &&
-                                 __comp(__t->__next_->__value_, __f1->__value_))
-                __t = __t->__next_;
-            __p->__next_ = __f2;
-            __f2 = __t->__next_;
-            __t->__next_ = __f1;
-        }
-        __p = __f1;
-        __f1 = __f1->__next_;
-    }
-    if (__f2 != nullptr)
-        __p->__next_ = __f2;
-    return __r;
-}
-
-template <class _Tp, class _Alloc>
-template <class _Compare>
-inline
-void
-forward_list<_Tp, _Alloc>::sort(_Compare __comp)
-{
-    base::__before_begin()->__next_ = __sort(base::__before_begin()->__next_,
-                                       _VSTD::distance(begin(), end()), __comp);
-}
-
-template <class _Tp, class _Alloc>
-template <class _Compare>
-typename forward_list<_Tp, _Alloc>::__node_pointer
-forward_list<_Tp, _Alloc>::__sort(__node_pointer __f1, difference_type __sz,
-                                  _Compare& __comp)
-{
-    switch (__sz)
-    {
-    case 0:
-    case 1:
-        return __f1;
-    case 2:
-        if (__comp(__f1->__next_->__value_, __f1->__value_))
-        {
-            __node_pointer __t = __f1->__next_;
-            __t->__next_ = __f1;
-            __f1->__next_ = nullptr;
-            __f1 = __t;
-        }
-        return __f1;
-    }
-    difference_type __sz1 = __sz / 2;
-    difference_type __sz2 = __sz - __sz1;
-    __node_pointer __t = _VSTD::next(iterator(__f1), __sz1 - 1).__get_unsafe_node_pointer();
-    __node_pointer __f2 = __t->__next_;
-    __t->__next_ = nullptr;
-    return __merge(__sort(__f1, __sz1, __comp),
-                   __sort(__f2, __sz2, __comp), __comp);
-}
-
-template <class _Tp, class _Alloc>
-void
-forward_list<_Tp, _Alloc>::reverse() _NOEXCEPT
-{
-    __node_pointer __p = base::__before_begin()->__next_;
-    if (__p != nullptr)
-    {
-        __node_pointer __f = __p->__next_;
-        __p->__next_ = nullptr;
-        while (__f != nullptr)
-        {
-            __node_pointer __t = __f->__next_;
-            __f->__next_ = __p;
-            __p = __f;
-            __f = __t;
-        }
-        base::__before_begin()->__next_ = __p;
-    }
-}
-
-template <class _Tp, class _Alloc>
-bool operator==(const forward_list<_Tp, _Alloc>& __x,
-                const forward_list<_Tp, _Alloc>& __y)
-{
-    typedef forward_list<_Tp, _Alloc> _Cp;
-    typedef typename _Cp::const_iterator _Ip;
-    _Ip __ix = __x.begin();
-    _Ip __ex = __x.end();
-    _Ip __iy = __y.begin();
-    _Ip __ey = __y.end();
-    for (; __ix != __ex && __iy != __ey; ++__ix, ++__iy)
-        if (!(*__ix == *__iy))
-            return false;
-    return (__ix == __ex) == (__iy == __ey);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator!=(const forward_list<_Tp, _Alloc>& __x,
-                const forward_list<_Tp, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator< (const forward_list<_Tp, _Alloc>& __x,
-                const forward_list<_Tp, _Alloc>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(),
-                                         __y.begin(), __y.end());
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator> (const forward_list<_Tp, _Alloc>& __x,
-                const forward_list<_Tp, _Alloc>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator>=(const forward_list<_Tp, _Alloc>& __x,
-                const forward_list<_Tp, _Alloc>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator<=(const forward_list<_Tp, _Alloc>& __x,
-                const forward_list<_Tp, _Alloc>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(forward_list<_Tp, _Alloc>& __x, forward_list<_Tp, _Alloc>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Tp, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(forward_list<_Tp, _Allocator>& __c, _Predicate __pred)
-{ __c.remove_if(__pred); }
-
-template <class _Tp, class _Allocator, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase(forward_list<_Tp, _Allocator>& __c, const _Up& __v)
-{ _VSTD::erase_if(__c, [&](auto& __elem) { return __elem == __v; }); }
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_FORWARD_LIST
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/fstream b/r21/sources/cxx-stl/llvm-libc++/include/fstream
deleted file mode 100644
index 7db9017..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/fstream
+++ /dev/null
@@ -1,1763 +0,0 @@
-// -*- C++ -*-
-//===------------------------- fstream ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FSTREAM
-#define _LIBCPP_FSTREAM
-
-/*
-    fstream synopsis
-
-template <class charT, class traits = char_traits<charT> >
-class basic_filebuf
-    : public basic_streambuf<charT, traits>
-{
-public:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    // 27.9.1.2 Constructors/destructor:
-    basic_filebuf();
-    basic_filebuf(basic_filebuf&& rhs);
-    virtual ~basic_filebuf();
-
-    // 27.9.1.3 Assign/swap:
-    basic_filebuf& operator=(basic_filebuf&& rhs);
-    void swap(basic_filebuf& rhs);
-
-    // 27.9.1.4 Members:
-    bool is_open() const;
-    basic_filebuf* open(const char* s, ios_base::openmode mode);
-    basic_filebuf* open(const string& s, ios_base::openmode mode);
-    basic_filebuf* open(const filesystem::path& p, ios_base::openmode mode); // C++17
-    basic_filebuf* close();
-
-protected:
-    // 27.9.1.5 Overridden virtual functions:
-    virtual streamsize showmanyc();
-    virtual int_type underflow();
-    virtual int_type uflow();
-    virtual int_type pbackfail(int_type c = traits_type::eof());
-    virtual int_type overflow (int_type c = traits_type::eof());
-    virtual basic_streambuf<char_type, traits_type>* setbuf(char_type* s, streamsize n);
-    virtual pos_type seekoff(off_type off, ios_base::seekdir way,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-    virtual pos_type seekpos(pos_type sp,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-    virtual int sync();
-    virtual void imbue(const locale& loc);
-};
-
-template <class charT, class traits>
-  void
-  swap(basic_filebuf<charT, traits>& x, basic_filebuf<charT, traits>& y);
-
-typedef basic_filebuf<char>    filebuf;
-typedef basic_filebuf<wchar_t> wfilebuf;
-
-template <class charT, class traits = char_traits<charT> >
-class basic_ifstream
-    : public basic_istream<charT,traits>
-{
-public:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    basic_ifstream();
-    explicit basic_ifstream(const char* s, ios_base::openmode mode = ios_base::in);
-    explicit basic_ifstream(const string& s, ios_base::openmode mode = ios_base::in);
-    explicit basic_ifstream(const filesystem::path& p,
-                            ios_base::openmode mode = ios_base::in); // C++17
-    basic_ifstream(basic_ifstream&& rhs);
-
-    basic_ifstream& operator=(basic_ifstream&& rhs);
-    void swap(basic_ifstream& rhs);
-
-    basic_filebuf<char_type, traits_type>* rdbuf() const;
-    bool is_open() const;
-    void open(const char* s, ios_base::openmode mode = ios_base::in);
-    void open(const string& s, ios_base::openmode mode = ios_base::in);
-    void open(const filesystem::path& s, ios_base::openmode mode = ios_base::in); // C++17
-
-    void close();
-};
-
-template <class charT, class traits>
-  void
-  swap(basic_ifstream<charT, traits>& x, basic_ifstream<charT, traits>& y);
-
-typedef basic_ifstream<char>    ifstream;
-typedef basic_ifstream<wchar_t> wifstream;
-
-template <class charT, class traits = char_traits<charT> >
-class basic_ofstream
-    : public basic_ostream<charT,traits>
-{
-public:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    basic_ofstream();
-    explicit basic_ofstream(const char* s, ios_base::openmode mode = ios_base::out);
-    explicit basic_ofstream(const string& s, ios_base::openmode mode = ios_base::out);
-    explicit basic_ofstream(const filesystem::path& p,
-                            ios_base::openmode mode = ios_base::out); // C++17
-    basic_ofstream(basic_ofstream&& rhs);
-
-    basic_ofstream& operator=(basic_ofstream&& rhs);
-    void swap(basic_ofstream& rhs);
-
-    basic_filebuf<char_type, traits_type>* rdbuf() const;
-    bool is_open() const;
-    void open(const char* s, ios_base::openmode mode = ios_base::out);
-    void open(const string& s, ios_base::openmode mode = ios_base::out);
-    void open(const filesystem::path& p,
-              ios_base::openmode mode = ios_base::out); // C++17
-
-    void close();
-};
-
-template <class charT, class traits>
-  void
-  swap(basic_ofstream<charT, traits>& x, basic_ofstream<charT, traits>& y);
-
-typedef basic_ofstream<char>    ofstream;
-typedef basic_ofstream<wchar_t> wofstream;
-
-template <class charT, class traits=char_traits<charT> >
-class basic_fstream
-    : public basic_iostream<charT,traits>
-{
-public:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    basic_fstream();
-    explicit basic_fstream(const char* s, ios_base::openmode mode = ios_base::in|ios_base::out);
-    explicit basic_fstream(const string& s, ios_base::openmode mode = ios_base::in|ios_base::out);
-    explicit basic_fstream(const filesystem::path& p,
-                           ios_base::openmode mode = ios_base::in|ios_base::out); C++17
-    basic_fstream(basic_fstream&& rhs);
-
-    basic_fstream& operator=(basic_fstream&& rhs);
-    void swap(basic_fstream& rhs);
-
-    basic_filebuf<char_type, traits_type>* rdbuf() const;
-    bool is_open() const;
-    void open(const char* s, ios_base::openmode mode = ios_base::in|ios_base::out);
-    void open(const string& s, ios_base::openmode mode = ios_base::in|ios_base::out);
-    void open(const filesystem::path& s,
-              ios_base::openmode mode = ios_base::in|ios_base::out); // C++17
-
-    void close();
-};
-
-template <class charT, class traits>
-  void swap(basic_fstream<charT, traits>& x, basic_fstream<charT, traits>& y);
-
-typedef basic_fstream<char>    fstream;
-typedef basic_fstream<wchar_t> wfstream;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <ostream>
-#include <istream>
-#include <__locale>
-#include <cstdio>
-#include <cstdlib>
-#include <filesystem>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_filebuf
-    : public basic_streambuf<_CharT, _Traits>
-{
-public:
-    typedef _CharT                           char_type;
-    typedef _Traits                          traits_type;
-    typedef typename traits_type::int_type   int_type;
-    typedef typename traits_type::pos_type   pos_type;
-    typedef typename traits_type::off_type   off_type;
-    typedef typename traits_type::state_type state_type;
-
-    // 27.9.1.2 Constructors/destructor:
-    basic_filebuf();
-#ifndef _LIBCPP_CXX03_LANG
-    basic_filebuf(basic_filebuf&& __rhs);
-#endif
-    virtual ~basic_filebuf();
-
-    // 27.9.1.3 Assign/swap:
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_filebuf& operator=(basic_filebuf&& __rhs);
-#endif
-    void swap(basic_filebuf& __rhs);
-
-    // 27.9.1.4 Members:
-    _LIBCPP_INLINE_VISIBILITY
-    bool is_open() const;
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-    basic_filebuf* open(const char* __s, ios_base::openmode __mode);
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-    basic_filebuf* open(const wchar_t* __s, ios_base::openmode __mode);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    basic_filebuf* open(const string& __s, ios_base::openmode __mode);
-
-#if _LIBCPP_STD_VER >= 17
-    _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
-    basic_filebuf* open(const _VSTD_FS::path& __p, ios_base::openmode __mode) {
-      return open(__p.c_str(), __mode);
-    }
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    basic_filebuf* __open(int __fd, ios_base::openmode __mode);
-#endif
-    basic_filebuf* close();
-
-    _LIBCPP_INLINE_VISIBILITY
-    inline static const char*
-    __make_mdstring(ios_base::openmode __mode) _NOEXCEPT;
-
-  protected:
-    // 27.9.1.5 Overridden virtual functions:
-    virtual int_type underflow();
-    virtual int_type pbackfail(int_type __c = traits_type::eof());
-    virtual int_type overflow (int_type __c = traits_type::eof());
-    virtual basic_streambuf<char_type, traits_type>* setbuf(char_type* __s, streamsize __n);
-    virtual pos_type seekoff(off_type __off, ios_base::seekdir __way,
-                             ios_base::openmode __wch = ios_base::in | ios_base::out);
-    virtual pos_type seekpos(pos_type __sp,
-                             ios_base::openmode __wch = ios_base::in | ios_base::out);
-    virtual int sync();
-    virtual void imbue(const locale& __loc);
-
-private:
-  char* __extbuf_;
-  const char* __extbufnext_;
-  const char* __extbufend_;
-  char __extbuf_min_[8];
-  size_t __ebs_;
-  char_type* __intbuf_;
-  size_t __ibs_;
-  FILE* __file_;
-  const codecvt<char_type, char, state_type>* __cv_;
-  state_type __st_;
-  state_type __st_last_;
-  ios_base::openmode __om_;
-  ios_base::openmode __cm_;
-  bool __owns_eb_;
-  bool __owns_ib_;
-  bool __always_noconv_;
-
-  bool __read_mode();
-  void __write_mode();
-};
-
-template <class _CharT, class _Traits>
-basic_filebuf<_CharT, _Traits>::basic_filebuf()
-    : __extbuf_(0),
-      __extbufnext_(0),
-      __extbufend_(0),
-      __ebs_(0),
-      __intbuf_(0),
-      __ibs_(0),
-      __file_(0),
-      __cv_(nullptr),
-      __st_(),
-      __st_last_(),
-      __om_(0),
-      __cm_(0),
-      __owns_eb_(false),
-      __owns_ib_(false),
-      __always_noconv_(false)
-{
-    if (has_facet<codecvt<char_type, char, state_type> >(this->getloc()))
-    {
-        __cv_ = &use_facet<codecvt<char_type, char, state_type> >(this->getloc());
-        __always_noconv_ = __cv_->always_noconv();
-    }
-    setbuf(0, 4096);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-basic_filebuf<_CharT, _Traits>::basic_filebuf(basic_filebuf&& __rhs)
-    : basic_streambuf<_CharT, _Traits>(__rhs)
-{
-    if (__rhs.__extbuf_ == __rhs.__extbuf_min_)
-    {
-        __extbuf_ = __extbuf_min_;
-        __extbufnext_ = __extbuf_ + (__rhs.__extbufnext_ - __rhs.__extbuf_);
-        __extbufend_ = __extbuf_ + (__rhs.__extbufend_ - __rhs.__extbuf_);
-    }
-    else
-    {
-        __extbuf_ = __rhs.__extbuf_;
-        __extbufnext_ = __rhs.__extbufnext_;
-        __extbufend_ = __rhs.__extbufend_;
-    }
-    __ebs_ = __rhs.__ebs_;
-    __intbuf_ = __rhs.__intbuf_;
-    __ibs_ = __rhs.__ibs_;
-    __file_ = __rhs.__file_;
-    __cv_ = __rhs.__cv_;
-    __st_ = __rhs.__st_;
-    __st_last_ = __rhs.__st_last_;
-    __om_ = __rhs.__om_;
-    __cm_ = __rhs.__cm_;
-    __owns_eb_ = __rhs.__owns_eb_;
-    __owns_ib_ = __rhs.__owns_ib_;
-    __always_noconv_ = __rhs.__always_noconv_;
-    if (__rhs.pbase())
-    {
-        if (__rhs.pbase() == __rhs.__intbuf_)
-            this->setp(__intbuf_, __intbuf_ + (__rhs. epptr() - __rhs.pbase()));
-        else
-            this->setp((char_type*)__extbuf_,
-                       (char_type*)__extbuf_ + (__rhs. epptr() - __rhs.pbase()));
-        this->__pbump(__rhs. pptr() - __rhs.pbase());
-    }
-    else if (__rhs.eback())
-    {
-        if (__rhs.eback() == __rhs.__intbuf_)
-            this->setg(__intbuf_, __intbuf_ + (__rhs.gptr() - __rhs.eback()),
-                                  __intbuf_ + (__rhs.egptr() - __rhs.eback()));
-        else
-            this->setg((char_type*)__extbuf_,
-                       (char_type*)__extbuf_ + (__rhs.gptr() - __rhs.eback()),
-                       (char_type*)__extbuf_ + (__rhs.egptr() - __rhs.eback()));
-    }
-    __rhs.__extbuf_ = 0;
-    __rhs.__extbufnext_ = 0;
-    __rhs.__extbufend_ = 0;
-    __rhs.__ebs_ = 0;
-    __rhs.__intbuf_ = 0;
-    __rhs.__ibs_ = 0;
-    __rhs.__file_ = 0;
-    __rhs.__st_ = state_type();
-    __rhs.__st_last_ = state_type();
-    __rhs.__om_ = 0;
-    __rhs.__cm_ = 0;
-    __rhs.__owns_eb_ = false;
-    __rhs.__owns_ib_ = false;
-    __rhs.setg(0, 0, 0);
-    __rhs.setp(0, 0);
-}
-
-template <class _CharT, class _Traits>
-inline
-basic_filebuf<_CharT, _Traits>&
-basic_filebuf<_CharT, _Traits>::operator=(basic_filebuf&& __rhs)
-{
-    close();
-    swap(__rhs);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-basic_filebuf<_CharT, _Traits>::~basic_filebuf()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        close();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    if (__owns_eb_)
-        delete [] __extbuf_;
-    if (__owns_ib_)
-        delete [] __intbuf_;
-}
-
-template <class _CharT, class _Traits>
-void
-basic_filebuf<_CharT, _Traits>::swap(basic_filebuf& __rhs)
-{
-    basic_streambuf<char_type, traits_type>::swap(__rhs);
-    if (__extbuf_ != __extbuf_min_ && __rhs.__extbuf_ != __rhs.__extbuf_min_)
-    {
-        _VSTD::swap(__extbuf_, __rhs.__extbuf_);
-        _VSTD::swap(__extbufnext_, __rhs.__extbufnext_);
-        _VSTD::swap(__extbufend_, __rhs.__extbufend_);
-    }
-    else
-    {
-        ptrdiff_t __ln = __extbufnext_ - __extbuf_;
-        ptrdiff_t __le = __extbufend_ - __extbuf_;
-        ptrdiff_t __rn = __rhs.__extbufnext_ - __rhs.__extbuf_;
-        ptrdiff_t __re = __rhs.__extbufend_ - __rhs.__extbuf_;
-        if (__extbuf_ == __extbuf_min_ && __rhs.__extbuf_ != __rhs.__extbuf_min_)
-        {
-            __extbuf_ = __rhs.__extbuf_;
-            __rhs.__extbuf_ = __rhs.__extbuf_min_;
-        }
-        else if (__extbuf_ != __extbuf_min_ && __rhs.__extbuf_ == __rhs.__extbuf_min_)
-        {
-            __rhs.__extbuf_ = __extbuf_;
-            __extbuf_ = __extbuf_min_;
-        }
-        __extbufnext_ = __extbuf_ + __rn;
-        __extbufend_ = __extbuf_ + __re;
-        __rhs.__extbufnext_ = __rhs.__extbuf_ + __ln;
-        __rhs.__extbufend_ = __rhs.__extbuf_ + __le;
-    }
-    _VSTD::swap(__ebs_, __rhs.__ebs_);
-    _VSTD::swap(__intbuf_, __rhs.__intbuf_);
-    _VSTD::swap(__ibs_, __rhs.__ibs_);
-    _VSTD::swap(__file_, __rhs.__file_);
-    _VSTD::swap(__cv_, __rhs.__cv_);
-    _VSTD::swap(__st_, __rhs.__st_);
-    _VSTD::swap(__st_last_, __rhs.__st_last_);
-    _VSTD::swap(__om_, __rhs.__om_);
-    _VSTD::swap(__cm_, __rhs.__cm_);
-    _VSTD::swap(__owns_eb_, __rhs.__owns_eb_);
-    _VSTD::swap(__owns_ib_, __rhs.__owns_ib_);
-    _VSTD::swap(__always_noconv_, __rhs.__always_noconv_);
-    if (this->eback() == (char_type*)__rhs.__extbuf_min_)
-    {
-        ptrdiff_t __n = this->gptr() - this->eback();
-        ptrdiff_t __e = this->egptr() - this->eback();
-        this->setg((char_type*)__extbuf_min_,
-                   (char_type*)__extbuf_min_ + __n,
-                   (char_type*)__extbuf_min_ + __e);
-    }
-    else if (this->pbase() == (char_type*)__rhs.__extbuf_min_)
-    {
-        ptrdiff_t __n = this->pptr() - this->pbase();
-        ptrdiff_t __e = this->epptr() - this->pbase();
-        this->setp((char_type*)__extbuf_min_,
-                   (char_type*)__extbuf_min_ + __e);
-        this->__pbump(__n);
-    }
-    if (__rhs.eback() == (char_type*)__extbuf_min_)
-    {
-        ptrdiff_t __n = __rhs.gptr() - __rhs.eback();
-        ptrdiff_t __e = __rhs.egptr() - __rhs.eback();
-        __rhs.setg((char_type*)__rhs.__extbuf_min_,
-                   (char_type*)__rhs.__extbuf_min_ + __n,
-                   (char_type*)__rhs.__extbuf_min_ + __e);
-    }
-    else if (__rhs.pbase() == (char_type*)__extbuf_min_)
-    {
-        ptrdiff_t __n = __rhs.pptr() - __rhs.pbase();
-        ptrdiff_t __e = __rhs.epptr() - __rhs.pbase();
-        __rhs.setp((char_type*)__rhs.__extbuf_min_,
-                   (char_type*)__rhs.__extbuf_min_ + __e);
-        __rhs.__pbump(__n);
-    }
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_filebuf<_CharT, _Traits>& __x, basic_filebuf<_CharT, _Traits>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _CharT, class _Traits>
-inline
-bool
-basic_filebuf<_CharT, _Traits>::is_open() const
-{
-    return __file_ != 0;
-}
-
-template <class _CharT, class _Traits>
-const char* basic_filebuf<_CharT, _Traits>::__make_mdstring(
-    ios_base::openmode __mode) _NOEXCEPT {
-  switch (__mode & ~ios_base::ate) {
-  case ios_base::out:
-  case ios_base::out | ios_base::trunc:
-    return "w";
-  case ios_base::out | ios_base::app:
-  case ios_base::app:
-    return "a";
-  case ios_base::in:
-    return "r";
-  case ios_base::in | ios_base::out:
-    return "r+";
-  case ios_base::in | ios_base::out | ios_base::trunc:
-    return "w+";
-  case ios_base::in | ios_base::out | ios_base::app:
-  case ios_base::in | ios_base::app:
-    return "a+";
-  case ios_base::out | ios_base::binary:
-  case ios_base::out | ios_base::trunc | ios_base::binary:
-    return "wb";
-  case ios_base::out | ios_base::app | ios_base::binary:
-  case ios_base::app | ios_base::binary:
-    return "ab";
-  case ios_base::in | ios_base::binary:
-    return "rb";
-  case ios_base::in | ios_base::out | ios_base::binary:
-    return "r+b";
-  case ios_base::in | ios_base::out | ios_base::trunc | ios_base::binary:
-    return "w+b";
-  case ios_base::in | ios_base::out | ios_base::app | ios_base::binary:
-  case ios_base::in | ios_base::app | ios_base::binary:
-    return "a+b";
-  default:
-    return nullptr;
-  }
-  _LIBCPP_UNREACHABLE();
-}
-
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-template <class _CharT, class _Traits>
-basic_filebuf<_CharT, _Traits>*
-basic_filebuf<_CharT, _Traits>::open(const char* __s, ios_base::openmode __mode)
-{
-    basic_filebuf<_CharT, _Traits>* __rt = 0;
-    if (__file_ == 0)
-    {
-      if (const char* __mdstr = __make_mdstring(__mode)) {
-        __rt = this;
-        __file_ = fopen(__s, __mdstr);
-        if (__file_) {
-          __om_ = __mode;
-          if (__mode & ios_base::ate) {
-            if (fseek(__file_, 0, SEEK_END)) {
-              fclose(__file_);
-              __file_ = 0;
-              __rt = 0;
-            }
-          }
-        } else
-          __rt = 0;
-      }
-    }
-    return __rt;
-}
-
-template <class _CharT, class _Traits>
-_LIBCPP_INLINE_VISIBILITY basic_filebuf<_CharT, _Traits>*
-basic_filebuf<_CharT, _Traits>::__open(int __fd, ios_base::openmode __mode) {
-  basic_filebuf<_CharT, _Traits>* __rt = 0;
-  if (__file_ == 0) {
-    if (const char* __mdstr = __make_mdstring(__mode)) {
-      __rt = this;
-      __file_ = fdopen(__fd, __mdstr);
-      if (__file_) {
-        __om_ = __mode;
-        if (__mode & ios_base::ate) {
-          if (fseek(__file_, 0, SEEK_END)) {
-            fclose(__file_);
-            __file_ = 0;
-            __rt = 0;
-          }
-        }
-      } else
-        __rt = 0;
-    }
-  }
-  return __rt;
-}
-
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-// This is basically the same as the char* overload except that it uses _wfopen
-// and long mode strings.
-template <class _CharT, class _Traits>
-basic_filebuf<_CharT, _Traits>*
-basic_filebuf<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmode __mode)
-{
-    basic_filebuf<_CharT, _Traits>* __rt = 0;
-    if (__file_ == 0)
-    {
-        __rt = this;
-        const wchar_t* __mdstr;
-        switch (__mode & ~ios_base::ate)
-        {
-        case ios_base::out:
-        case ios_base::out | ios_base::trunc:
-            __mdstr = L"w";
-            break;
-        case ios_base::out | ios_base::app:
-        case ios_base::app:
-            __mdstr = L"a";
-            break;
-        case ios_base::in:
-            __mdstr = L"r";
-            break;
-        case ios_base::in | ios_base::out:
-            __mdstr = L"r+";
-            break;
-        case ios_base::in | ios_base::out | ios_base::trunc:
-            __mdstr = L"w+";
-            break;
-        case ios_base::in | ios_base::out | ios_base::app:
-        case ios_base::in | ios_base::app:
-            __mdstr = L"a+";
-            break;
-        case ios_base::out | ios_base::binary:
-        case ios_base::out | ios_base::trunc | ios_base::binary:
-            __mdstr = L"wb";
-            break;
-        case ios_base::out | ios_base::app | ios_base::binary:
-        case ios_base::app | ios_base::binary:
-            __mdstr = L"ab";
-            break;
-        case ios_base::in | ios_base::binary:
-            __mdstr = L"rb";
-            break;
-        case ios_base::in | ios_base::out | ios_base::binary:
-            __mdstr = L"r+b";
-            break;
-        case ios_base::in | ios_base::out | ios_base::trunc | ios_base::binary:
-            __mdstr = L"w+b";
-            break;
-        case ios_base::in | ios_base::out | ios_base::app | ios_base::binary:
-        case ios_base::in | ios_base::app | ios_base::binary:
-            __mdstr = L"a+b";
-            break;
-        default:
-            __rt = 0;
-            break;
-        }
-        if (__rt)
-        {
-            __file_ = _wfopen(__s, __mdstr);
-            if (__file_)
-            {
-                __om_ = __mode;
-                if (__mode & ios_base::ate)
-                {
-                    if (fseek(__file_, 0, SEEK_END))
-                    {
-                        fclose(__file_);
-                        __file_ = 0;
-                        __rt = 0;
-                    }
-                }
-            }
-            else
-                __rt = 0;
-        }
-    }
-    return __rt;
-}
-#endif
-
-template <class _CharT, class _Traits>
-inline
-basic_filebuf<_CharT, _Traits>*
-basic_filebuf<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode)
-{
-    return open(__s.c_str(), __mode);
-}
-#endif
-
-template <class _CharT, class _Traits>
-basic_filebuf<_CharT, _Traits>*
-basic_filebuf<_CharT, _Traits>::close()
-{
-    basic_filebuf<_CharT, _Traits>* __rt = 0;
-    if (__file_)
-    {
-        __rt = this;
-        unique_ptr<FILE, int(*)(FILE*)> __h(__file_, fclose);
-        if (sync())
-            __rt = 0;
-        if (fclose(__h.release()))
-            __rt = 0;
-        __file_ = 0;
-        setbuf(0, 0);
-    }
-    return __rt;
-}
-
-template <class _CharT, class _Traits>
-typename basic_filebuf<_CharT, _Traits>::int_type
-basic_filebuf<_CharT, _Traits>::underflow()
-{
-    if (__file_ == 0)
-        return traits_type::eof();
-    bool __initial = __read_mode();
-    char_type __1buf;
-    if (this->gptr() == 0)
-        this->setg(&__1buf, &__1buf+1, &__1buf+1);
-    const size_t __unget_sz = __initial ? 0 : min<size_t>((this->egptr() - this->eback()) / 2, 4);
-    int_type __c = traits_type::eof();
-    if (this->gptr() == this->egptr())
-    {
-        memmove(this->eback(), this->egptr() - __unget_sz, __unget_sz * sizeof(char_type));
-        if (__always_noconv_)
-        {
-            size_t __nmemb = static_cast<size_t>(this->egptr() - this->eback() - __unget_sz);
-            __nmemb = fread(this->eback() + __unget_sz, 1, __nmemb, __file_);
-            if (__nmemb != 0)
-            {
-                this->setg(this->eback(),
-                           this->eback() + __unget_sz,
-                           this->eback() + __unget_sz + __nmemb);
-                __c = traits_type::to_int_type(*this->gptr());
-            }
-        }
-        else
-        {
-            _LIBCPP_ASSERT ( !(__extbufnext_ == NULL && (__extbufend_ != __extbufnext_)), "underflow moving from NULL" );
-            if (__extbufend_ != __extbufnext_)
-                memmove(__extbuf_, __extbufnext_, __extbufend_ - __extbufnext_);
-            __extbufnext_ = __extbuf_ + (__extbufend_ - __extbufnext_);
-            __extbufend_ = __extbuf_ + (__extbuf_ == __extbuf_min_ ? sizeof(__extbuf_min_) : __ebs_);
-            size_t __nmemb = _VSTD::min(static_cast<size_t>(__ibs_ - __unget_sz),
-                                 static_cast<size_t>(__extbufend_ - __extbufnext_));
-            codecvt_base::result __r;
-            __st_last_ = __st_;
-            size_t __nr = fread((void*) const_cast<char *>(__extbufnext_), 1, __nmemb, __file_);
-            if (__nr != 0)
-            {
-                if (!__cv_)
-                    __throw_bad_cast();
-
-                __extbufend_ = __extbufnext_ + __nr;
-                char_type*  __inext;
-                __r = __cv_->in(__st_, __extbuf_, __extbufend_, __extbufnext_,
-                                       this->eback() + __unget_sz,
-                                       this->eback() + __ibs_, __inext);
-                if (__r == codecvt_base::noconv)
-                {
-                    this->setg((char_type*)__extbuf_, (char_type*)__extbuf_,
-                                          (char_type*)const_cast<char *>(__extbufend_));
-                    __c = traits_type::to_int_type(*this->gptr());
-                }
-                else if (__inext != this->eback() + __unget_sz)
-                {
-                    this->setg(this->eback(), this->eback() + __unget_sz, __inext);
-                    __c = traits_type::to_int_type(*this->gptr());
-                }
-            }
-        }
-    }
-    else
-        __c = traits_type::to_int_type(*this->gptr());
-    if (this->eback() == &__1buf)
-        this->setg(0, 0, 0);
-    return __c;
-}
-
-template <class _CharT, class _Traits>
-typename basic_filebuf<_CharT, _Traits>::int_type
-basic_filebuf<_CharT, _Traits>::pbackfail(int_type __c)
-{
-    if (__file_ && this->eback() < this->gptr())
-    {
-        if (traits_type::eq_int_type(__c, traits_type::eof()))
-        {
-            this->gbump(-1);
-            return traits_type::not_eof(__c);
-        }
-        if ((__om_ & ios_base::out) ||
-            traits_type::eq(traits_type::to_char_type(__c), this->gptr()[-1]))
-        {
-            this->gbump(-1);
-            *this->gptr() = traits_type::to_char_type(__c);
-            return __c;
-        }
-    }
-    return traits_type::eof();
-}
-
-template <class _CharT, class _Traits>
-typename basic_filebuf<_CharT, _Traits>::int_type
-basic_filebuf<_CharT, _Traits>::overflow(int_type __c)
-{
-    if (__file_ == 0)
-        return traits_type::eof();
-    __write_mode();
-    char_type __1buf;
-    char_type* __pb_save = this->pbase();
-    char_type* __epb_save = this->epptr();
-    if (!traits_type::eq_int_type(__c, traits_type::eof()))
-    {
-        if (this->pptr() == 0)
-            this->setp(&__1buf, &__1buf+1);
-        *this->pptr() = traits_type::to_char_type(__c);
-        this->pbump(1);
-    }
-    if (this->pptr() != this->pbase())
-    {
-        if (__always_noconv_)
-        {
-            size_t __nmemb = static_cast<size_t>(this->pptr() - this->pbase());
-            if (fwrite(this->pbase(), sizeof(char_type), __nmemb, __file_) != __nmemb)
-                return traits_type::eof();
-        }
-        else
-        {
-            char* __extbe = __extbuf_;
-            codecvt_base::result __r;
-            do
-            {
-                if (!__cv_)
-                    __throw_bad_cast();
-
-                const char_type* __e;
-                __r = __cv_->out(__st_, this->pbase(), this->pptr(), __e,
-                                        __extbuf_, __extbuf_ + __ebs_, __extbe);
-                if (__e == this->pbase())
-                    return traits_type::eof();
-                if (__r == codecvt_base::noconv)
-                {
-                    size_t __nmemb = static_cast<size_t>(this->pptr() - this->pbase());
-                    if (fwrite(this->pbase(), 1, __nmemb, __file_) != __nmemb)
-                        return traits_type::eof();
-                }
-                else if (__r == codecvt_base::ok || __r == codecvt_base::partial)
-                {
-                    size_t __nmemb = static_cast<size_t>(__extbe - __extbuf_);
-                    if (fwrite(__extbuf_, 1, __nmemb, __file_) != __nmemb)
-                        return traits_type::eof();
-                    if (__r == codecvt_base::partial)
-                    {
-                        this->setp(const_cast<char_type*>(__e), this->pptr());
-                        this->__pbump(this->epptr() - this->pbase());
-                    }
-                }
-                else
-                    return traits_type::eof();
-            } while (__r == codecvt_base::partial);
-        }
-        this->setp(__pb_save, __epb_save);
-    }
-    return traits_type::not_eof(__c);
-}
-
-template <class _CharT, class _Traits>
-basic_streambuf<_CharT, _Traits>*
-basic_filebuf<_CharT, _Traits>::setbuf(char_type* __s, streamsize __n)
-{
-    this->setg(0, 0, 0);
-    this->setp(0, 0);
-    if (__owns_eb_)
-        delete [] __extbuf_;
-    if (__owns_ib_)
-        delete [] __intbuf_;
-    __ebs_ = __n;
-    if (__ebs_ > sizeof(__extbuf_min_))
-    {
-        if (__always_noconv_ && __s)
-        {
-            __extbuf_ = (char*)__s;
-            __owns_eb_ = false;
-        }
-        else
-        {
-            __extbuf_ = new char[__ebs_];
-            __owns_eb_ = true;
-        }
-    }
-    else
-    {
-        __extbuf_ = __extbuf_min_;
-        __ebs_ = sizeof(__extbuf_min_);
-        __owns_eb_ = false;
-    }
-    if (!__always_noconv_)
-    {
-        __ibs_ = max<streamsize>(__n, sizeof(__extbuf_min_));
-        if (__s && __ibs_ >= sizeof(__extbuf_min_))
-        {
-            __intbuf_ = __s;
-            __owns_ib_ = false;
-        }
-        else
-        {
-            __intbuf_ = new char_type[__ibs_];
-            __owns_ib_ = true;
-        }
-    }
-    else
-    {
-        __ibs_ = 0;
-        __intbuf_ = 0;
-        __owns_ib_ = false;
-    }
-    return this;
-}
-
-template <class _CharT, class _Traits>
-typename basic_filebuf<_CharT, _Traits>::pos_type
-basic_filebuf<_CharT, _Traits>::seekoff(off_type __off, ios_base::seekdir __way,
-                                        ios_base::openmode)
-{
-    if (!__cv_)
-        __throw_bad_cast();
-
-    int __width = __cv_->encoding();
-    if (__file_ == 0 || (__width <= 0 && __off != 0) || sync())
-        return pos_type(off_type(-1));
-    // __width > 0 || __off == 0
-    int __whence;
-    switch (__way)
-    {
-    case ios_base::beg:
-        __whence = SEEK_SET;
-        break;
-    case ios_base::cur:
-        __whence = SEEK_CUR;
-        break;
-    case ios_base::end:
-        __whence = SEEK_END;
-        break;
-    default:
-        return pos_type(off_type(-1));
-    }
-#if defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS)
-    if (fseek(__file_, __width > 0 ? __width * __off : 0, __whence))
-        return pos_type(off_type(-1));
-    pos_type __r = ftell(__file_);
-#else
-    if (fseeko(__file_, __width > 0 ? __width * __off : 0, __whence))
-        return pos_type(off_type(-1));
-    pos_type __r = ftello(__file_);
-#endif
-    __r.state(__st_);
-    return __r;
-}
-
-template <class _CharT, class _Traits>
-typename basic_filebuf<_CharT, _Traits>::pos_type
-basic_filebuf<_CharT, _Traits>::seekpos(pos_type __sp, ios_base::openmode)
-{
-    if (__file_ == 0 || sync())
-        return pos_type(off_type(-1));
-#if defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS)
-    if (fseek(__file_, __sp, SEEK_SET))
-        return pos_type(off_type(-1));
-#else
-    if (fseeko(__file_, __sp, SEEK_SET))
-        return pos_type(off_type(-1));
-#endif
-    __st_ = __sp.state();
-    return __sp;
-}
-
-template <class _CharT, class _Traits>
-int
-basic_filebuf<_CharT, _Traits>::sync()
-{
-    if (__file_ == 0)
-        return 0;
-    if (!__cv_)
-        __throw_bad_cast();
-
-    if (__cm_ & ios_base::out)
-    {
-        if (this->pptr() != this->pbase())
-            if (overflow() == traits_type::eof())
-                return -1;
-        codecvt_base::result __r;
-        do
-        {
-            char* __extbe;
-            __r = __cv_->unshift(__st_, __extbuf_, __extbuf_ + __ebs_, __extbe);
-            size_t __nmemb = static_cast<size_t>(__extbe - __extbuf_);
-            if (fwrite(__extbuf_, 1, __nmemb, __file_) != __nmemb)
-                return -1;
-        } while (__r == codecvt_base::partial);
-        if (__r == codecvt_base::error)
-            return -1;
-        if (fflush(__file_))
-            return -1;
-    }
-    else if (__cm_ & ios_base::in)
-    {
-        off_type __c;
-        state_type __state = __st_last_;
-        bool __update_st = false;
-        if (__always_noconv_)
-            __c = this->egptr() - this->gptr();
-        else
-        {
-            int __width = __cv_->encoding();
-            __c = __extbufend_ - __extbufnext_;
-            if (__width > 0)
-                __c += __width * (this->egptr() - this->gptr());
-            else
-            {
-                if (this->gptr() != this->egptr())
-                {
-                    const int __off =  __cv_->length(__state, __extbuf_,
-                                                     __extbufnext_,
-                                                     this->gptr() - this->eback());
-                    __c += __extbufnext_ - __extbuf_ - __off;
-                    __update_st = true;
-                }
-            }
-        }
-#if defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS)
-        if (fseek(__file_, -__c, SEEK_CUR))
-            return -1;
-#else
-        if (fseeko(__file_, -__c, SEEK_CUR))
-            return -1;
-#endif
-        if (__update_st)
-            __st_ = __state;
-        __extbufnext_ = __extbufend_ = __extbuf_;
-        this->setg(0, 0, 0);
-        __cm_ = 0;
-    }
-    return 0;
-}
-
-template <class _CharT, class _Traits>
-void
-basic_filebuf<_CharT, _Traits>::imbue(const locale& __loc)
-{
-    sync();
-    __cv_ = &use_facet<codecvt<char_type, char, state_type> >(__loc);
-    bool __old_anc = __always_noconv_;
-    __always_noconv_ = __cv_->always_noconv();
-    if (__old_anc != __always_noconv_)
-    {
-        this->setg(0, 0, 0);
-        this->setp(0, 0);
-        // invariant, char_type is char, else we couldn't get here
-        if (__always_noconv_)  // need to dump __intbuf_
-        {
-            if (__owns_eb_)
-                delete [] __extbuf_;
-            __owns_eb_ = __owns_ib_;
-            __ebs_ = __ibs_;
-            __extbuf_ = (char*)__intbuf_;
-            __ibs_ = 0;
-            __intbuf_ = 0;
-            __owns_ib_ = false;
-        }
-        else  // need to obtain an __intbuf_.
-        {     // If __extbuf_ is user-supplied, use it, else new __intbuf_
-            if (!__owns_eb_ && __extbuf_ != __extbuf_min_)
-            {
-                __ibs_ = __ebs_;
-                __intbuf_ = (char_type*)__extbuf_;
-                __owns_ib_ = false;
-                __extbuf_ = new char[__ebs_];
-                __owns_eb_ = true;
-            }
-            else
-            {
-                __ibs_ = __ebs_;
-                __intbuf_ = new char_type[__ibs_];
-                __owns_ib_ = true;
-            }
-        }
-    }
-}
-
-template <class _CharT, class _Traits>
-bool
-basic_filebuf<_CharT, _Traits>::__read_mode()
-{
-    if (!(__cm_ & ios_base::in))
-    {
-        this->setp(0, 0);
-        if (__always_noconv_)
-            this->setg((char_type*)__extbuf_,
-                       (char_type*)__extbuf_ + __ebs_,
-                       (char_type*)__extbuf_ + __ebs_);
-        else
-            this->setg(__intbuf_, __intbuf_ + __ibs_, __intbuf_ + __ibs_);
-        __cm_ = ios_base::in;
-        return true;
-    }
-    return false;
-}
-
-template <class _CharT, class _Traits>
-void
-basic_filebuf<_CharT, _Traits>::__write_mode()
-{
-    if (!(__cm_ & ios_base::out))
-    {
-        this->setg(0, 0, 0);
-        if (__ebs_ > sizeof(__extbuf_min_))
-        {
-            if (__always_noconv_)
-                this->setp((char_type*)__extbuf_,
-                           (char_type*)__extbuf_ + (__ebs_ - 1));
-            else
-                this->setp(__intbuf_, __intbuf_ + (__ibs_ - 1));
-        }
-        else
-            this->setp(0, 0);
-        __cm_ = ios_base::out;
-    }
-}
-
-// basic_ifstream
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_ifstream
-    : public basic_istream<_CharT, _Traits>
-{
-public:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ifstream();
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in);
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ifstream(const wchar_t* __s, ios_base::openmode __mode = ios_base::in);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in);
-#if _LIBCPP_STD_VER >= 17
-    _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ifstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in)
-      : basic_ifstream(__p.c_str(), __mode) {}
-#endif // _LIBCPP_STD_VER >= 17
-#endif
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ifstream(basic_ifstream&& __rhs);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ifstream& operator=(basic_ifstream&& __rhs);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_ifstream& __rhs);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_filebuf<char_type, traits_type>* rdbuf() const;
-    _LIBCPP_INLINE_VISIBILITY
-    bool is_open() const;
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-    void open(const char* __s, ios_base::openmode __mode = ios_base::in);
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-    void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in);
-#endif
-    void open(const string& __s, ios_base::openmode __mode = ios_base::in);
-#if _LIBCPP_STD_VER >= 17
-    _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
-    void open(const filesystem::path& __p,
-              ios_base::openmode __mode = ios_base::in) {
-      return open(__p.c_str(), __mode);
-    }
-#endif // _LIBCPP_STD_VER >= 17
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __open(int __fd, ios_base::openmode __mode);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void close();
-
-private:
-    basic_filebuf<char_type, traits_type> __sb_;
-};
-
-template <class _CharT, class _Traits>
-inline
-basic_ifstream<_CharT, _Traits>::basic_ifstream()
-    : basic_istream<char_type, traits_type>(&__sb_)
-{
-}
-
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-template <class _CharT, class _Traits>
-inline
-basic_ifstream<_CharT, _Traits>::basic_ifstream(const char* __s, ios_base::openmode __mode)
-    : basic_istream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode | ios_base::in) == 0)
-        this->setstate(ios_base::failbit);
-}
-
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-template <class _CharT, class _Traits>
-inline
-basic_ifstream<_CharT, _Traits>::basic_ifstream(const wchar_t* __s, ios_base::openmode __mode)
-    : basic_istream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode | ios_base::in) == 0)
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-inline
-basic_ifstream<_CharT, _Traits>::basic_ifstream(const string& __s, ios_base::openmode __mode)
-    : basic_istream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode | ios_base::in) == 0)
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-inline
-basic_ifstream<_CharT, _Traits>::basic_ifstream(basic_ifstream&& __rhs)
-    : basic_istream<char_type, traits_type>(_VSTD::move(__rhs)),
-      __sb_(_VSTD::move(__rhs.__sb_))
-{
-    this->set_rdbuf(&__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline
-basic_ifstream<_CharT, _Traits>&
-basic_ifstream<_CharT, _Traits>::operator=(basic_ifstream&& __rhs)
-{
-    basic_istream<char_type, traits_type>::operator=(_VSTD::move(__rhs));
-    __sb_ = _VSTD::move(__rhs.__sb_);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-inline
-void
-basic_ifstream<_CharT, _Traits>::swap(basic_ifstream& __rhs)
-{
-    basic_istream<char_type, traits_type>::swap(__rhs);
-    __sb_.swap(__rhs.__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_ifstream<_CharT, _Traits>& __x, basic_ifstream<_CharT, _Traits>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _CharT, class _Traits>
-inline
-basic_filebuf<_CharT, _Traits>*
-basic_ifstream<_CharT, _Traits>::rdbuf() const
-{
-    return const_cast<basic_filebuf<char_type, traits_type>*>(&__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline
-bool
-basic_ifstream<_CharT, _Traits>::is_open() const
-{
-    return __sb_.is_open();
-}
-
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-template <class _CharT, class _Traits>
-void
-basic_ifstream<_CharT, _Traits>::open(const char* __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode | ios_base::in))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-template <class _CharT, class _Traits>
-void
-basic_ifstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode | ios_base::in))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-void
-basic_ifstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode | ios_base::in))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-
-template <class _CharT, class _Traits>
-void basic_ifstream<_CharT, _Traits>::__open(int __fd,
-                                             ios_base::openmode __mode) {
-  if (__sb_.__open(__fd, __mode | ios_base::in))
-    this->clear();
-  else
-    this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-inline
-void
-basic_ifstream<_CharT, _Traits>::close()
-{
-    if (__sb_.close() == 0)
-        this->setstate(ios_base::failbit);
-}
-
-// basic_ofstream
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_ofstream
-    : public basic_ostream<_CharT, _Traits>
-{
-public:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ofstream();
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ofstream(const char* __s, ios_base::openmode __mode = ios_base::out);
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ofstream(const wchar_t* __s, ios_base::openmode __mode = ios_base::out);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ofstream(const string& __s, ios_base::openmode __mode = ios_base::out);
-
-#if _LIBCPP_STD_VER >= 17
-    _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ofstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out)
-      : basic_ofstream(__p.c_str(), __mode) {}
-#endif // _LIBCPP_STD_VER >= 17
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ofstream(basic_ofstream&& __rhs);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ofstream& operator=(basic_ofstream&& __rhs);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_ofstream& __rhs);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_filebuf<char_type, traits_type>* rdbuf() const;
-    _LIBCPP_INLINE_VISIBILITY
-    bool is_open() const;
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-    void open(const char* __s, ios_base::openmode __mode = ios_base::out);
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-    void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::out);
-#endif
-    void open(const string& __s, ios_base::openmode __mode = ios_base::out);
-
-#if _LIBCPP_STD_VER >= 17
-    _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
-    void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out)
-    { return open(__p.c_str(), __mode); }
-#endif // _LIBCPP_STD_VER >= 17
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __open(int __fd, ios_base::openmode __mode);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void close();
-
-private:
-    basic_filebuf<char_type, traits_type> __sb_;
-};
-
-template <class _CharT, class _Traits>
-inline
-basic_ofstream<_CharT, _Traits>::basic_ofstream()
-    : basic_ostream<char_type, traits_type>(&__sb_)
-{
-}
-
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-template <class _CharT, class _Traits>
-inline
-basic_ofstream<_CharT, _Traits>::basic_ofstream(const char* __s, ios_base::openmode __mode)
-    : basic_ostream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode | ios_base::out) == 0)
-        this->setstate(ios_base::failbit);
-}
-
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-template <class _CharT, class _Traits>
-inline
-basic_ofstream<_CharT, _Traits>::basic_ofstream(const wchar_t* __s, ios_base::openmode __mode)
-    : basic_ostream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode | ios_base::out) == 0)
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-inline
-basic_ofstream<_CharT, _Traits>::basic_ofstream(const string& __s, ios_base::openmode __mode)
-    : basic_ostream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode | ios_base::out) == 0)
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-inline
-basic_ofstream<_CharT, _Traits>::basic_ofstream(basic_ofstream&& __rhs)
-    : basic_ostream<char_type, traits_type>(_VSTD::move(__rhs)),
-      __sb_(_VSTD::move(__rhs.__sb_))
-{
-    this->set_rdbuf(&__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline
-basic_ofstream<_CharT, _Traits>&
-basic_ofstream<_CharT, _Traits>::operator=(basic_ofstream&& __rhs)
-{
-    basic_ostream<char_type, traits_type>::operator=(_VSTD::move(__rhs));
-    __sb_ = _VSTD::move(__rhs.__sb_);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-inline
-void
-basic_ofstream<_CharT, _Traits>::swap(basic_ofstream& __rhs)
-{
-    basic_ostream<char_type, traits_type>::swap(__rhs);
-    __sb_.swap(__rhs.__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_ofstream<_CharT, _Traits>& __x, basic_ofstream<_CharT, _Traits>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _CharT, class _Traits>
-inline
-basic_filebuf<_CharT, _Traits>*
-basic_ofstream<_CharT, _Traits>::rdbuf() const
-{
-    return const_cast<basic_filebuf<char_type, traits_type>*>(&__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline
-bool
-basic_ofstream<_CharT, _Traits>::is_open() const
-{
-    return __sb_.is_open();
-}
-
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-template <class _CharT, class _Traits>
-void
-basic_ofstream<_CharT, _Traits>::open(const char* __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode | ios_base::out))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-template <class _CharT, class _Traits>
-void
-basic_ofstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode | ios_base::out))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-void
-basic_ofstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode | ios_base::out))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-
-template <class _CharT, class _Traits>
-void basic_ofstream<_CharT, _Traits>::__open(int __fd,
-                                             ios_base::openmode __mode) {
-  if (__sb_.__open(__fd, __mode | ios_base::out))
-    this->clear();
-  else
-    this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-inline
-void
-basic_ofstream<_CharT, _Traits>::close()
-{
-    if (__sb_.close() == 0)
-        this->setstate(ios_base::failbit);
-}
-
-// basic_fstream
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_fstream
-    : public basic_iostream<_CharT, _Traits>
-{
-public:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_fstream();
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_fstream(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_fstream(const wchar_t* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_fstream(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-
-#if _LIBCPP_STD_VER >= 17
-    _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
-    explicit basic_fstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in | ios_base::out)
-      : basic_fstream(__p.c_str(), __mode) {}
-#endif // _LIBCPP_STD_VER >= 17
-
-#endif
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_fstream(basic_fstream&& __rhs);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_fstream& operator=(basic_fstream&& __rhs);
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_fstream& __rhs);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_filebuf<char_type, traits_type>* rdbuf() const;
-    _LIBCPP_INLINE_VISIBILITY
-    bool is_open() const;
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-    void open(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-    void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-#endif
-    void open(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-
-#if _LIBCPP_STD_VER >= 17
-    _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
-    void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in|ios_base::out)
-    { return open(__p.c_str(), __mode); }
-#endif // _LIBCPP_STD_VER >= 17
-
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void close();
-
-private:
-    basic_filebuf<char_type, traits_type> __sb_;
-};
-
-template <class _CharT, class _Traits>
-inline
-basic_fstream<_CharT, _Traits>::basic_fstream()
-    : basic_iostream<char_type, traits_type>(&__sb_)
-{
-}
-
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-template <class _CharT, class _Traits>
-inline
-basic_fstream<_CharT, _Traits>::basic_fstream(const char* __s, ios_base::openmode __mode)
-    : basic_iostream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode) == 0)
-        this->setstate(ios_base::failbit);
-}
-
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-template <class _CharT, class _Traits>
-inline
-basic_fstream<_CharT, _Traits>::basic_fstream(const wchar_t* __s, ios_base::openmode __mode)
-    : basic_iostream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode) == 0)
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-inline
-basic_fstream<_CharT, _Traits>::basic_fstream(const string& __s, ios_base::openmode __mode)
-    : basic_iostream<char_type, traits_type>(&__sb_)
-{
-    if (__sb_.open(__s, __mode) == 0)
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-inline
-basic_fstream<_CharT, _Traits>::basic_fstream(basic_fstream&& __rhs)
-    : basic_iostream<char_type, traits_type>(_VSTD::move(__rhs)),
-      __sb_(_VSTD::move(__rhs.__sb_))
-{
-    this->set_rdbuf(&__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline
-basic_fstream<_CharT, _Traits>&
-basic_fstream<_CharT, _Traits>::operator=(basic_fstream&& __rhs)
-{
-    basic_iostream<char_type, traits_type>::operator=(_VSTD::move(__rhs));
-    __sb_ = _VSTD::move(__rhs.__sb_);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-inline
-void
-basic_fstream<_CharT, _Traits>::swap(basic_fstream& __rhs)
-{
-    basic_iostream<char_type, traits_type>::swap(__rhs);
-    __sb_.swap(__rhs.__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_fstream<_CharT, _Traits>& __x, basic_fstream<_CharT, _Traits>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _CharT, class _Traits>
-inline
-basic_filebuf<_CharT, _Traits>*
-basic_fstream<_CharT, _Traits>::rdbuf() const
-{
-    return const_cast<basic_filebuf<char_type, traits_type>*>(&__sb_);
-}
-
-template <class _CharT, class _Traits>
-inline
-bool
-basic_fstream<_CharT, _Traits>::is_open() const
-{
-    return __sb_.is_open();
-}
-
-#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-template <class _CharT, class _Traits>
-void
-basic_fstream<_CharT, _Traits>::open(const char* __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-
-#ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
-template <class _CharT, class _Traits>
-void
-basic_fstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-void
-basic_fstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode)
-{
-    if (__sb_.open(__s, __mode))
-        this->clear();
-    else
-        this->setstate(ios_base::failbit);
-}
-#endif
-
-template <class _CharT, class _Traits>
-inline
-void
-basic_fstream<_CharT, _Traits>::close()
-{
-    if (__sb_.close() == 0)
-        this->setstate(ios_base::failbit);
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_FSTREAM
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/functional b/r21/sources/cxx-stl/llvm-libc++/include/functional
deleted file mode 100644
index 865a281..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/functional
+++ /dev/null
@@ -1,3096 +0,0 @@
-// -*- C++ -*-
-//===------------------------ functional ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FUNCTIONAL
-#define _LIBCPP_FUNCTIONAL
-
-/*
-    functional synopsis
-
-namespace std
-{
-
-template <class Arg, class Result>
-struct unary_function
-{
-    typedef Arg    argument_type;
-    typedef Result result_type;
-};
-
-template <class Arg1, class Arg2, class Result>
-struct binary_function
-{
-    typedef Arg1   first_argument_type;
-    typedef Arg2   second_argument_type;
-    typedef Result result_type;
-};
-
-template <class T>
-class reference_wrapper
-    : public unary_function<T1, R> // if wrapping a unary functor
-    : public binary_function<T1, T2, R> // if wraping a binary functor
-{
-public:
-    // types
-    typedef T type;
-    typedef see below result_type; // Not always defined
-
-    // construct/copy/destroy
-    reference_wrapper(T&) noexcept;
-    reference_wrapper(T&&) = delete; // do not bind to temps
-    reference_wrapper(const reference_wrapper<T>& x) noexcept;
-
-    // assignment
-    reference_wrapper& operator=(const reference_wrapper<T>& x) noexcept;
-
-    // access
-    operator T& () const noexcept;
-    T& get() const noexcept;
-
-    // invoke
-    template <class... ArgTypes>
-      typename result_of<T&(ArgTypes&&...)>::type
-          operator() (ArgTypes&&...) const;
-};
-
-template <class T> reference_wrapper<T> ref(T& t) noexcept;
-template <class T> void ref(const T&& t) = delete;
-template <class T> reference_wrapper<T> ref(reference_wrapper<T>t) noexcept;
-
-template <class T> reference_wrapper<const T> cref(const T& t) noexcept;
-template <class T> void cref(const T&& t) = delete;
-template <class T> reference_wrapper<const T> cref(reference_wrapper<T> t) noexcept;
-
-template <class T> struct unwrap_reference;                                       // since C++20
-template <class T> struct unwrap_ref_decay : unwrap_reference<decay_t<T>> { };    // since C++20
-template <class T> using unwrap_reference_t = typename unwrap_reference<T>::type; // since C++20
-template <class T> using unwrap_ref_decay_t = typename unwrap_ref_decay<T>::type; // since C++20
-
-template <class T> // <class T=void> in C++14
-struct plus : binary_function<T, T, T>
-{
-    T operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct minus : binary_function<T, T, T>
-{
-    T operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct multiplies : binary_function<T, T, T>
-{
-    T operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct divides : binary_function<T, T, T>
-{
-    T operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct modulus : binary_function<T, T, T>
-{
-    T operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct negate : unary_function<T, T>
-{
-    T operator()(const T& x) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct equal_to : binary_function<T, T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct not_equal_to : binary_function<T, T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct greater : binary_function<T, T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct less : binary_function<T, T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct greater_equal : binary_function<T, T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct less_equal : binary_function<T, T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct logical_and : binary_function<T, T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct logical_or : binary_function<T, T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct logical_not : unary_function<T, bool>
-{
-    bool operator()(const T& x) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct bit_and : unary_function<T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct bit_or : unary_function<T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T> // <class T=void> in C++14
-struct bit_xor : unary_function<T, bool>
-{
-    bool operator()(const T& x, const T& y) const;
-};
-
-template <class T=void> // C++14
-struct bit_xor : unary_function<T, bool>
-{
-    bool operator()(const T& x) const;
-};
-
-template <class Predicate>
-class unary_negate // deprecated in C++17
-    : public unary_function<typename Predicate::argument_type, bool>
-{
-public:
-    explicit unary_negate(const Predicate& pred);
-    bool operator()(const typename Predicate::argument_type& x) const;
-};
-
-template <class Predicate> // deprecated in C++17
-unary_negate<Predicate> not1(const Predicate& pred);
-
-template <class Predicate>
-class binary_negate // deprecated in C++17
-    : public binary_function<typename Predicate::first_argument_type,
-                             typename Predicate::second_argument_type,
-                             bool>
-{
-public:
-    explicit binary_negate(const Predicate& pred);
-    bool operator()(const typename Predicate::first_argument_type& x,
-                    const typename Predicate::second_argument_type& y) const;
-};
-
-template <class Predicate> // deprecated in C++17
-binary_negate<Predicate> not2(const Predicate& pred);
-
-template <class F> unspecified not_fn(F&& f); // C++17
-
-template<class T> struct is_bind_expression;
-template<class T> struct is_placeholder;
-
-    // See C++14 20.9.9, Function object binders
-template <class T> inline constexpr bool is_bind_expression_v
-  = is_bind_expression<T>::value; // C++17
-template <class T> inline constexpr int is_placeholder_v
-  = is_placeholder<T>::value; // C++17
-
-
-template<class Fn, class... BoundArgs>
-  unspecified bind(Fn&&, BoundArgs&&...);
-template<class R, class Fn, class... BoundArgs>
-  unspecified bind(Fn&&, BoundArgs&&...);
-
-template<class F, class... Args>
- invoke_result_t<F, Args...> invoke(F&& f, Args&&... args) // C++17
-    noexcept(is_nothrow_invocable_v<F, Args...>);
-
-namespace placeholders {
-  // M is the implementation-defined number of placeholders
-  extern unspecified _1;
-  extern unspecified _2;
-  .
-  .
-  .
-  extern unspecified _Mp;
-}
-
-template <class Operation>
-class binder1st     // deprecated in C++11, removed in C++17
-    : public unary_function<typename Operation::second_argument_type,
-                            typename Operation::result_type>
-{
-protected:
-    Operation                               op;
-    typename Operation::first_argument_type value;
-public:
-    binder1st(const Operation& x, const typename Operation::first_argument_type y);
-    typename Operation::result_type operator()(      typename Operation::second_argument_type& x) const;
-    typename Operation::result_type operator()(const typename Operation::second_argument_type& x) const;
-};
-
-template <class Operation, class T>
-binder1st<Operation> bind1st(const Operation& op, const T& x);  // deprecated in C++11, removed in C++17
-
-template <class Operation>
-class binder2nd     // deprecated in C++11, removed in C++17
-    : public unary_function<typename Operation::first_argument_type,
-                            typename Operation::result_type>
-{
-protected:
-    Operation                                op;
-    typename Operation::second_argument_type value;
-public:
-    binder2nd(const Operation& x, const typename Operation::second_argument_type y);
-    typename Operation::result_type operator()(      typename Operation::first_argument_type& x) const;
-    typename Operation::result_type operator()(const typename Operation::first_argument_type& x) const;
-};
-
-template <class Operation, class T>
-binder2nd<Operation> bind2nd(const Operation& op, const T& x);  // deprecated in C++11, removed in C++17
-
-template <class Arg, class Result>      // deprecated in C++11, removed in C++17
-class pointer_to_unary_function : public unary_function<Arg, Result>
-{
-public:
-    explicit pointer_to_unary_function(Result (*f)(Arg));
-    Result operator()(Arg x) const;
-};
-
-template <class Arg, class Result>
-pointer_to_unary_function<Arg,Result> ptr_fun(Result (*f)(Arg));      // deprecated in C++11, removed in C++17
-
-template <class Arg1, class Arg2, class Result>      // deprecated in C++11, removed in C++17
-class pointer_to_binary_function : public binary_function<Arg1, Arg2, Result>
-{
-public:
-    explicit pointer_to_binary_function(Result (*f)(Arg1, Arg2));
-    Result operator()(Arg1 x, Arg2 y) const;
-};
-
-template <class Arg1, class Arg2, class Result>
-pointer_to_binary_function<Arg1,Arg2,Result> ptr_fun(Result (*f)(Arg1,Arg2));      // deprecated in C++11, removed in C++17
-
-template<class S, class T>      // deprecated in C++11, removed in C++17
-class mem_fun_t : public unary_function<T*, S>
-{
-public:
-    explicit mem_fun_t(S (T::*p)());
-    S operator()(T* p) const;
-};
-
-template<class S, class T, class A>
-class mem_fun1_t : public binary_function<T*, A, S>      // deprecated in C++11, removed in C++17
-{
-public:
-    explicit mem_fun1_t(S (T::*p)(A));
-    S operator()(T* p, A x) const;
-};
-
-template<class S, class T>          mem_fun_t<S,T>    mem_fun(S (T::*f)());      // deprecated in C++11, removed in C++17
-template<class S, class T, class A> mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A));     // deprecated in C++11, removed in C++17
-
-template<class S, class T>
-class mem_fun_ref_t : public unary_function<T, S>      // deprecated in C++11, removed in C++17
-{
-public:
-    explicit mem_fun_ref_t(S (T::*p)());
-    S operator()(T& p) const;
-};
-
-template<class S, class T, class A>
-class mem_fun1_ref_t : public binary_function<T, A, S>      // deprecated in C++11, removed in C++17
-{
-public:
-    explicit mem_fun1_ref_t(S (T::*p)(A));
-    S operator()(T& p, A x) const;
-};
-
-template<class S, class T>          mem_fun_ref_t<S,T>    mem_fun_ref(S (T::*f)());      // deprecated in C++11, removed in C++17
-template<class S, class T, class A> mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A));     // deprecated in C++11, removed in C++17
-
-template <class S, class T>
-class const_mem_fun_t : public unary_function<const T*, S>      // deprecated in C++11, removed in C++17
-{
-public:
-    explicit const_mem_fun_t(S (T::*p)() const);
-    S operator()(const T* p) const;
-};
-
-template <class S, class T, class A>
-class const_mem_fun1_t : public binary_function<const T*, A, S>      // deprecated in C++11, removed in C++17
-{
-public:
-    explicit const_mem_fun1_t(S (T::*p)(A) const);
-    S operator()(const T* p, A x) const;
-};
-
-template <class S, class T>          const_mem_fun_t<S,T>    mem_fun(S (T::*f)() const);      // deprecated in C++11, removed in C++17
-template <class S, class T, class A> const_mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A) const);     // deprecated in C++11, removed in C++17
-
-template <class S, class T>
-class const_mem_fun_ref_t : public unary_function<T, S>      // deprecated in C++11, removed in C++17
-{
-public:
-    explicit const_mem_fun_ref_t(S (T::*p)() const);
-    S operator()(const T& p) const;
-};
-
-template <class S, class T, class A>
-class const_mem_fun1_ref_t : public binary_function<T, A, S>      // deprecated in C++11, removed in C++17
-{
-public:
-    explicit const_mem_fun1_ref_t(S (T::*p)(A) const);
-    S operator()(const T& p, A x) const;
-};
-
-template <class S, class T>          const_mem_fun_ref_t<S,T>    mem_fun_ref(S (T::*f)() const);   // deprecated in C++11, removed in C++17
-template <class S, class T, class A> const_mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A) const);  // deprecated in C++11, removed in C++17
-
-template<class R, class T> unspecified mem_fn(R T::*);
-
-class bad_function_call
-    : public exception
-{
-};
-
-template<class> class function; // undefined
-
-template<class R, class... ArgTypes>
-class function<R(ArgTypes...)>
-  : public unary_function<T1, R>      // iff sizeof...(ArgTypes) == 1 and
-                                      // ArgTypes contains T1
-  : public binary_function<T1, T2, R> // iff sizeof...(ArgTypes) == 2 and
-                                      // ArgTypes contains T1 and T2
-{
-public:
-    typedef R result_type;
-
-    // construct/copy/destroy:
-    function() noexcept;
-    function(nullptr_t) noexcept;
-    function(const function&);
-    function(function&&) noexcept;
-    template<class F>
-      function(F);
-    template<Allocator Alloc>
-      function(allocator_arg_t, const Alloc&) noexcept;            // removed in C++17
-    template<Allocator Alloc>
-      function(allocator_arg_t, const Alloc&, nullptr_t) noexcept; // removed in C++17
-    template<Allocator Alloc>
-      function(allocator_arg_t, const Alloc&, const function&);    // removed in C++17
-    template<Allocator Alloc>
-      function(allocator_arg_t, const Alloc&, function&&);         // removed in C++17
-    template<class F, Allocator Alloc>
-      function(allocator_arg_t, const Alloc&, F);                  // removed in C++17
-
-    function& operator=(const function&);
-    function& operator=(function&&) noexcept;
-    function& operator=(nullptr_t) noexcept;
-    template<class F>
-      function& operator=(F&&);
-    template<class F>
-      function& operator=(reference_wrapper<F>) noexcept;
-
-    ~function();
-
-    // function modifiers:
-    void swap(function&) noexcept;
-    template<class F, class Alloc>
-      void assign(F&&, const Alloc&);                 // Removed in C++17
-
-    // function capacity:
-    explicit operator bool() const noexcept;
-
-    // function invocation:
-    R operator()(ArgTypes...) const;
-
-    // function target access:
-    const std::type_info& target_type() const noexcept;
-    template <typename T>       T* target() noexcept;
-    template <typename T> const T* target() const noexcept;
-};
-
-// Deduction guides
-template<class R, class ...Args>
-function(R(*)(Args...)) -> function<R(Args...)>; // since C++17
-
-template<class F>
-function(F) -> function<see-below>; // since C++17
-
-// Null pointer comparisons:
-template <class R, class ... ArgTypes>
-  bool operator==(const function<R(ArgTypes...)>&, nullptr_t) noexcept;
-
-template <class R, class ... ArgTypes>
-  bool operator==(nullptr_t, const function<R(ArgTypes...)>&) noexcept;
-
-template <class R, class ... ArgTypes>
-  bool operator!=(const function<R(ArgTypes...)>&, nullptr_t) noexcept;
-
-template <class  R, class ... ArgTypes>
-  bool operator!=(nullptr_t, const function<R(ArgTypes...)>&) noexcept;
-
-// specialized algorithms:
-template <class  R, class ... ArgTypes>
-  void swap(function<R(ArgTypes...)>&, function<R(ArgTypes...)>&) noexcept;
-
-template <class T> struct hash;
-
-template <> struct hash<bool>;
-template <> struct hash<char>;
-template <> struct hash<signed char>;
-template <> struct hash<unsigned char>;
-template <> struct hash<char16_t>;
-template <> struct hash<char32_t>;
-template <> struct hash<wchar_t>;
-template <> struct hash<short>;
-template <> struct hash<unsigned short>;
-template <> struct hash<int>;
-template <> struct hash<unsigned int>;
-template <> struct hash<long>;
-template <> struct hash<long long>;
-template <> struct hash<unsigned long>;
-template <> struct hash<unsigned long long>;
-
-template <> struct hash<float>;
-template <> struct hash<double>;
-template <> struct hash<long double>;
-
-template<class T> struct hash<T*>;
-template <> struct hash<nullptr_t>;  // C++17
-
-}  // std
-
-POLICY:  For non-variadic implementations, the number of arguments is limited
-         to 3.  It is hoped that the need for non-variadic implementations
-         will be minimal.
-
-*/
-
-#include <__config>
-#include <type_traits>
-#include <typeinfo>
-#include <exception>
-#include <memory>
-#include <tuple>
-#include <utility>
-#include <version>
-
-#include <__functional_base>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS plus : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x + __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS plus<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) + _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) + _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) + _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS minus : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x - __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS minus<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) - _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) - _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) - _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS multiplies : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x * __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS multiplies<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) * _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) * _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) * _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS divides : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x / __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS divides<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) / _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) / _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) / _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS modulus : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x % __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS modulus<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) % _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) % _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) % _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS negate : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return -__x;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS negate<void>
-{
-    template <class _Tp>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_Tp&& __x) const
-    _NOEXCEPT_(noexcept(- _VSTD::forward<_Tp>(__x)))
-    -> decltype        (- _VSTD::forward<_Tp>(__x))
-        { return        - _VSTD::forward<_Tp>(__x); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS equal_to : binary_function<_Tp, _Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x == __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS equal_to<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) == _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) == _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) == _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS not_equal_to : binary_function<_Tp, _Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x != __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS not_equal_to<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) != _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) != _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) != _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS greater : binary_function<_Tp, _Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x > __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS greater<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) > _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) > _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) > _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-// less in <__functional_base>
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS greater_equal : binary_function<_Tp, _Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x >= __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS greater_equal<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) >= _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) >= _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) >= _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS less_equal : binary_function<_Tp, _Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x <= __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS less_equal<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) <= _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) <= _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) <= _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS logical_and : binary_function<_Tp, _Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x && __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS logical_and<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) && _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) && _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) && _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS logical_or : binary_function<_Tp, _Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x || __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS logical_or<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) || _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) || _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) || _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS logical_not : unary_function<_Tp, bool>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Tp& __x) const
-        {return !__x;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS logical_not<void>
-{
-    template <class _Tp>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_Tp&& __x) const
-    _NOEXCEPT_(noexcept(!_VSTD::forward<_Tp>(__x)))
-    -> decltype        (!_VSTD::forward<_Tp>(__x))
-        { return        !_VSTD::forward<_Tp>(__x); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS bit_and : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x & __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS bit_and<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) & _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) & _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) & _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS bit_or : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x | __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS bit_or<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) | _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) | _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) | _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-#else
-template <class _Tp>
-#endif
-struct _LIBCPP_TEMPLATE_VIS bit_xor : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x ^ __y;}
-};
-
-#if _LIBCPP_STD_VER > 11
-template <>
-struct _LIBCPP_TEMPLATE_VIS bit_xor<void>
-{
-    template <class _T1, class _T2>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_T1&& __t, _T2&& __u) const
-    _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) ^ _VSTD::forward<_T2>(__u)))
-    -> decltype        (_VSTD::forward<_T1>(__t) ^ _VSTD::forward<_T2>(__u))
-        { return        _VSTD::forward<_T1>(__t) ^ _VSTD::forward<_T2>(__u); }
-    typedef void is_transparent;
-};
-#endif
-
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp = void>
-struct _LIBCPP_TEMPLATE_VIS bit_not : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return ~__x;}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS bit_not<void>
-{
-    template <class _Tp>
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_Tp&& __x) const
-    _NOEXCEPT_(noexcept(~_VSTD::forward<_Tp>(__x)))
-    -> decltype        (~_VSTD::forward<_Tp>(__x))
-        { return        ~_VSTD::forward<_Tp>(__x); }
-    typedef void is_transparent;
-};
-#endif
-
-template <class _Predicate>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 unary_negate
-    : public unary_function<typename _Predicate::argument_type, bool>
-{
-    _Predicate __pred_;
-public:
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    explicit unary_negate(const _Predicate& __pred)
-        : __pred_(__pred) {}
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const typename _Predicate::argument_type& __x) const
-        {return !__pred_(__x);}
-};
-
-template <class _Predicate>
-_LIBCPP_DEPRECATED_IN_CXX17 inline _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-unary_negate<_Predicate>
-not1(const _Predicate& __pred) {return unary_negate<_Predicate>(__pred);}
-
-template <class _Predicate>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 binary_negate
-    : public binary_function<typename _Predicate::first_argument_type,
-                             typename _Predicate::second_argument_type,
-                             bool>
-{
-    _Predicate __pred_;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit _LIBCPP_CONSTEXPR_AFTER_CXX11
-    binary_negate(const _Predicate& __pred) : __pred_(__pred) {}
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const typename _Predicate::first_argument_type& __x,
-                    const typename _Predicate::second_argument_type& __y) const
-        {return !__pred_(__x, __y);}
-};
-
-template <class _Predicate>
-_LIBCPP_DEPRECATED_IN_CXX17 inline _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-binary_negate<_Predicate>
-not2(const _Predicate& __pred) {return binary_negate<_Predicate>(__pred);}
-
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS)
-template <class __Operation>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 binder1st
-    : public unary_function<typename __Operation::second_argument_type,
-                            typename __Operation::result_type>
-{
-protected:
-    __Operation                               op;
-    typename __Operation::first_argument_type value;
-public:
-    _LIBCPP_INLINE_VISIBILITY binder1st(const __Operation& __x,
-                               const typename __Operation::first_argument_type __y)
-        : op(__x), value(__y) {}
-    _LIBCPP_INLINE_VISIBILITY typename __Operation::result_type operator()
-        (typename __Operation::second_argument_type& __x) const
-            {return op(value, __x);}
-    _LIBCPP_INLINE_VISIBILITY typename __Operation::result_type operator()
-        (const typename __Operation::second_argument_type& __x) const
-            {return op(value, __x);}
-};
-
-template <class __Operation, class _Tp>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-binder1st<__Operation>
-bind1st(const __Operation& __op, const _Tp& __x)
-    {return binder1st<__Operation>(__op, __x);}
-
-template <class __Operation>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 binder2nd
-    : public unary_function<typename __Operation::first_argument_type,
-                            typename __Operation::result_type>
-{
-protected:
-    __Operation                                op;
-    typename __Operation::second_argument_type value;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    binder2nd(const __Operation& __x, const typename __Operation::second_argument_type __y)
-        : op(__x), value(__y) {}
-    _LIBCPP_INLINE_VISIBILITY typename __Operation::result_type operator()
-        (      typename __Operation::first_argument_type& __x) const
-            {return op(__x, value);}
-    _LIBCPP_INLINE_VISIBILITY typename __Operation::result_type operator()
-        (const typename __Operation::first_argument_type& __x) const
-            {return op(__x, value);}
-};
-
-template <class __Operation, class _Tp>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-binder2nd<__Operation>
-bind2nd(const __Operation& __op, const _Tp& __x)
-    {return binder2nd<__Operation>(__op, __x);}
-
-template <class _Arg, class _Result>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 pointer_to_unary_function
-    : public unary_function<_Arg, _Result>
-{
-    _Result (*__f_)(_Arg);
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit pointer_to_unary_function(_Result (*__f)(_Arg))
-        : __f_(__f) {}
-    _LIBCPP_INLINE_VISIBILITY _Result operator()(_Arg __x) const
-        {return __f_(__x);}
-};
-
-template <class _Arg, class _Result>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-pointer_to_unary_function<_Arg,_Result>
-ptr_fun(_Result (*__f)(_Arg))
-    {return pointer_to_unary_function<_Arg,_Result>(__f);}
-
-template <class _Arg1, class _Arg2, class _Result>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 pointer_to_binary_function
-    : public binary_function<_Arg1, _Arg2, _Result>
-{
-    _Result (*__f_)(_Arg1, _Arg2);
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit pointer_to_binary_function(_Result (*__f)(_Arg1, _Arg2))
-        : __f_(__f) {}
-    _LIBCPP_INLINE_VISIBILITY _Result operator()(_Arg1 __x, _Arg2 __y) const
-        {return __f_(__x, __y);}
-};
-
-template <class _Arg1, class _Arg2, class _Result>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-pointer_to_binary_function<_Arg1,_Arg2,_Result>
-ptr_fun(_Result (*__f)(_Arg1,_Arg2))
-    {return pointer_to_binary_function<_Arg1,_Arg2,_Result>(__f);}
-
-template<class _Sp, class _Tp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 mem_fun_t
-    : public unary_function<_Tp*, _Sp>
-{
-    _Sp (_Tp::*__p_)();
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit mem_fun_t(_Sp (_Tp::*__p)())
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY _Sp operator()(_Tp* __p) const
-        {return (__p->*__p_)();}
-};
-
-template<class _Sp, class _Tp, class _Ap>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 mem_fun1_t
-    : public binary_function<_Tp*, _Ap, _Sp>
-{
-    _Sp (_Tp::*__p_)(_Ap);
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit mem_fun1_t(_Sp (_Tp::*__p)(_Ap))
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY _Sp operator()(_Tp* __p, _Ap __x) const
-        {return (__p->*__p_)(__x);}
-};
-
-template<class _Sp, class _Tp>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-mem_fun_t<_Sp,_Tp>
-mem_fun(_Sp (_Tp::*__f)())
-    {return mem_fun_t<_Sp,_Tp>(__f);}
-
-template<class _Sp, class _Tp, class _Ap>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-mem_fun1_t<_Sp,_Tp,_Ap>
-mem_fun(_Sp (_Tp::*__f)(_Ap))
-    {return mem_fun1_t<_Sp,_Tp,_Ap>(__f);}
-
-template<class _Sp, class _Tp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 mem_fun_ref_t
-    : public unary_function<_Tp, _Sp>
-{
-    _Sp (_Tp::*__p_)();
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit mem_fun_ref_t(_Sp (_Tp::*__p)())
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY _Sp operator()(_Tp& __p) const
-        {return (__p.*__p_)();}
-};
-
-template<class _Sp, class _Tp, class _Ap>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 mem_fun1_ref_t
-    : public binary_function<_Tp, _Ap, _Sp>
-{
-    _Sp (_Tp::*__p_)(_Ap);
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit mem_fun1_ref_t(_Sp (_Tp::*__p)(_Ap))
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY _Sp operator()(_Tp& __p, _Ap __x) const
-        {return (__p.*__p_)(__x);}
-};
-
-template<class _Sp, class _Tp>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-mem_fun_ref_t<_Sp,_Tp>
-mem_fun_ref(_Sp (_Tp::*__f)())
-    {return mem_fun_ref_t<_Sp,_Tp>(__f);}
-
-template<class _Sp, class _Tp, class _Ap>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-mem_fun1_ref_t<_Sp,_Tp,_Ap>
-mem_fun_ref(_Sp (_Tp::*__f)(_Ap))
-    {return mem_fun1_ref_t<_Sp,_Tp,_Ap>(__f);}
-
-template <class _Sp, class _Tp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 const_mem_fun_t
-    : public unary_function<const _Tp*, _Sp>
-{
-    _Sp (_Tp::*__p_)() const;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit const_mem_fun_t(_Sp (_Tp::*__p)() const)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY _Sp operator()(const _Tp* __p) const
-        {return (__p->*__p_)();}
-};
-
-template <class _Sp, class _Tp, class _Ap>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 const_mem_fun1_t
-    : public binary_function<const _Tp*, _Ap, _Sp>
-{
-    _Sp (_Tp::*__p_)(_Ap) const;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit const_mem_fun1_t(_Sp (_Tp::*__p)(_Ap) const)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY _Sp operator()(const _Tp* __p, _Ap __x) const
-        {return (__p->*__p_)(__x);}
-};
-
-template <class _Sp, class _Tp>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-const_mem_fun_t<_Sp,_Tp>
-mem_fun(_Sp (_Tp::*__f)() const)
-    {return const_mem_fun_t<_Sp,_Tp>(__f);}
-
-template <class _Sp, class _Tp, class _Ap>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-const_mem_fun1_t<_Sp,_Tp,_Ap>
-mem_fun(_Sp (_Tp::*__f)(_Ap) const)
-    {return const_mem_fun1_t<_Sp,_Tp,_Ap>(__f);}
-
-template <class _Sp, class _Tp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 const_mem_fun_ref_t
-    : public unary_function<_Tp, _Sp>
-{
-    _Sp (_Tp::*__p_)() const;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit const_mem_fun_ref_t(_Sp (_Tp::*__p)() const)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY _Sp operator()(const _Tp& __p) const
-        {return (__p.*__p_)();}
-};
-
-template <class _Sp, class _Tp, class _Ap>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 const_mem_fun1_ref_t
-    : public binary_function<_Tp, _Ap, _Sp>
-{
-    _Sp (_Tp::*__p_)(_Ap) const;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit const_mem_fun1_ref_t(_Sp (_Tp::*__p)(_Ap) const)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY _Sp operator()(const _Tp& __p, _Ap __x) const
-        {return (__p.*__p_)(__x);}
-};
-
-template <class _Sp, class _Tp>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-const_mem_fun_ref_t<_Sp,_Tp>
-mem_fun_ref(_Sp (_Tp::*__f)() const)
-    {return const_mem_fun_ref_t<_Sp,_Tp>(__f);}
-
-template <class _Sp, class _Tp, class _Ap>
-_LIBCPP_DEPRECATED_IN_CXX11 inline _LIBCPP_INLINE_VISIBILITY
-const_mem_fun1_ref_t<_Sp,_Tp,_Ap>
-mem_fun_ref(_Sp (_Tp::*__f)(_Ap) const)
-    {return const_mem_fun1_ref_t<_Sp,_Tp,_Ap>(__f);}
-#endif
-
-////////////////////////////////////////////////////////////////////////////////
-//                                MEMFUN
-//==============================================================================
-
-template <class _Tp>
-class __mem_fn
-    : public __weak_result_type<_Tp>
-{
-public:
-    // types
-    typedef _Tp type;
-private:
-    type __f_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY __mem_fn(type __f) _NOEXCEPT : __f_(__f) {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    // invoke
-    template <class... _ArgTypes>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return<type, _ArgTypes...>::type
-    operator() (_ArgTypes&&... __args) const {
-        return __invoke(__f_, _VSTD::forward<_ArgTypes>(__args)...);
-    }
-#else
-
-    template <class _A0>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return0<type, _A0>::type
-    operator() (_A0& __a0) const {
-        return __invoke(__f_, __a0);
-    }
-
-    template <class _A0>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return0<type, _A0 const>::type
-    operator() (_A0 const& __a0) const {
-        return __invoke(__f_, __a0);
-    }
-
-    template <class _A0, class _A1>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return1<type, _A0, _A1>::type
-    operator() (_A0& __a0, _A1& __a1) const {
-        return __invoke(__f_, __a0, __a1);
-    }
-
-    template <class _A0, class _A1>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return1<type, _A0 const, _A1>::type
-    operator() (_A0 const& __a0, _A1& __a1) const {
-        return __invoke(__f_, __a0, __a1);
-    }
-
-    template <class _A0, class _A1>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return1<type, _A0, _A1 const>::type
-    operator() (_A0& __a0, _A1 const& __a1) const {
-        return __invoke(__f_, __a0, __a1);
-    }
-
-    template <class _A0, class _A1>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return1<type, _A0 const, _A1 const>::type
-    operator() (_A0 const& __a0, _A1 const& __a1) const {
-        return __invoke(__f_, __a0, __a1);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0, _A1, _A2>::type
-    operator() (_A0& __a0, _A1& __a1, _A2& __a2) const {
-        return __invoke(__f_, __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0 const, _A1, _A2>::type
-    operator() (_A0 const& __a0, _A1& __a1, _A2& __a2) const {
-        return __invoke(__f_, __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0, _A1 const, _A2>::type
-    operator() (_A0& __a0, _A1 const& __a1, _A2& __a2) const {
-        return __invoke(__f_, __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0, _A1, _A2 const>::type
-    operator() (_A0& __a0, _A1& __a1, _A2 const& __a2) const {
-        return __invoke(__f_, __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0 const, _A1 const, _A2>::type
-    operator() (_A0 const& __a0, _A1 const& __a1, _A2& __a2) const {
-        return __invoke(__f_, __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0 const, _A1, _A2 const>::type
-    operator() (_A0 const& __a0, _A1& __a1, _A2 const& __a2) const {
-        return __invoke(__f_, __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0, _A1 const, _A2 const>::type
-    operator() (_A0& __a0, _A1 const& __a1, _A2 const& __a2) const {
-        return __invoke(__f_, __a0, __a1, __a2);
-    }
-
-    template <class _A0, class _A1, class _A2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename __invoke_return2<type, _A0 const, _A1 const, _A2 const>::type
-    operator() (_A0 const& __a0, _A1 const& __a1, _A2 const& __a2) const {
-        return __invoke(__f_, __a0, __a1, __a2);
-    }
-#endif
-};
-
-template<class _Rp, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-__mem_fn<_Rp _Tp::*>
-mem_fn(_Rp _Tp::* __pm) _NOEXCEPT
-{
-    return __mem_fn<_Rp _Tp::*>(__pm);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//                                FUNCTION
-//==============================================================================
-
-// bad_function_call
-
-class _LIBCPP_EXCEPTION_ABI bad_function_call
-    : public exception
-{
-#ifdef _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION
-public:
-    virtual ~bad_function_call() _NOEXCEPT;
-
-    virtual const char* what() const _NOEXCEPT;
-#endif
-};
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_bad_function_call()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw bad_function_call();
-#else
-    _VSTD::abort();
-#endif
-}
-
-template<class _Fp> class _LIBCPP_TEMPLATE_VIS function; // undefined
-
-namespace __function
-{
-
-template<class _Rp>
-struct __maybe_derive_from_unary_function
-{
-};
-
-template<class _Rp, class _A1>
-struct __maybe_derive_from_unary_function<_Rp(_A1)>
-    : public unary_function<_A1, _Rp>
-{
-};
-
-template<class _Rp>
-struct __maybe_derive_from_binary_function
-{
-};
-
-template<class _Rp, class _A1, class _A2>
-struct __maybe_derive_from_binary_function<_Rp(_A1, _A2)>
-    : public binary_function<_A1, _A2, _Rp>
-{
-};
-
-template <class _Fp>
-_LIBCPP_INLINE_VISIBILITY
-bool __not_null(_Fp const&) { return true; }
-
-template <class _Fp>
-_LIBCPP_INLINE_VISIBILITY
-bool __not_null(_Fp* __ptr) { return __ptr; }
-
-template <class _Ret, class _Class>
-_LIBCPP_INLINE_VISIBILITY
-bool __not_null(_Ret _Class::*__ptr) { return __ptr; }
-
-template <class _Fp>
-_LIBCPP_INLINE_VISIBILITY
-bool __not_null(function<_Fp> const& __f) { return !!__f; }
-
-} // namespace __function
-
-#ifndef _LIBCPP_CXX03_LANG
-
-namespace __function {
-
-// __alloc_func holds a functor and an allocator.
-
-template <class _Fp, class _Ap, class _FB> class __alloc_func;
-template <class _Fp, class _FB>
-class __default_alloc_func;
-
-template <class _Fp, class _Ap, class _Rp, class... _ArgTypes>
-class __alloc_func<_Fp, _Ap, _Rp(_ArgTypes...)>
-{
-    __compressed_pair<_Fp, _Ap> __f_;
-
-  public:
-    typedef _LIBCPP_NODEBUG_TYPE _Fp _Target;
-    typedef _LIBCPP_NODEBUG_TYPE _Ap _Alloc;
-
-    _LIBCPP_INLINE_VISIBILITY
-    const _Target& __target() const { return __f_.first(); }
-
-    // WIN32 APIs may define __allocator, so use __get_allocator instead.
-    _LIBCPP_INLINE_VISIBILITY
-    const _Alloc& __get_allocator() const { return __f_.second(); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __alloc_func(_Target&& __f)
-        : __f_(piecewise_construct, _VSTD::forward_as_tuple(_VSTD::move(__f)),
-               _VSTD::forward_as_tuple())
-    {
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __alloc_func(const _Target& __f, const _Alloc& __a)
-        : __f_(piecewise_construct, _VSTD::forward_as_tuple(__f),
-               _VSTD::forward_as_tuple(__a))
-    {
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __alloc_func(const _Target& __f, _Alloc&& __a)
-        : __f_(piecewise_construct, _VSTD::forward_as_tuple(__f),
-               _VSTD::forward_as_tuple(_VSTD::move(__a)))
-    {
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __alloc_func(_Target&& __f, _Alloc&& __a)
-        : __f_(piecewise_construct, _VSTD::forward_as_tuple(_VSTD::move(__f)),
-               _VSTD::forward_as_tuple(_VSTD::move(__a)))
-    {
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Rp operator()(_ArgTypes&&... __arg)
-    {
-        typedef __invoke_void_return_wrapper<_Rp> _Invoker;
-        return _Invoker::__call(__f_.first(),
-                                _VSTD::forward<_ArgTypes>(__arg)...);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __alloc_func* __clone() const
-    {
-        typedef allocator_traits<_Alloc> __alloc_traits;
-        typedef
-            typename __rebind_alloc_helper<__alloc_traits, __alloc_func>::type
-                _AA;
-        _AA __a(__f_.second());
-        typedef __allocator_destructor<_AA> _Dp;
-        unique_ptr<__alloc_func, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-        ::new ((void*)__hold.get()) __alloc_func(__f_.first(), _Alloc(__a));
-        return __hold.release();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void destroy() _NOEXCEPT { __f_.~__compressed_pair<_Target, _Alloc>(); }
-
-    static void __destroy_and_delete(__alloc_func* __f) {
-      typedef allocator_traits<_Alloc> __alloc_traits;
-      typedef typename __rebind_alloc_helper<__alloc_traits, __alloc_func>::type
-          _FunAlloc;
-      _FunAlloc __a(__f->__get_allocator());
-      __f->destroy();
-      __a.deallocate(__f, 1);
-    }
-};
-
-template <class _Fp, class _Rp, class... _ArgTypes>
-class __default_alloc_func<_Fp, _Rp(_ArgTypes...)> {
-  _Fp __f_;
-
-public:
-  typedef _LIBCPP_NODEBUG_TYPE _Fp _Target;
-
-  _LIBCPP_INLINE_VISIBILITY
-  const _Target& __target() const { return __f_; }
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit __default_alloc_func(_Target&& __f) : __f_(std::move(__f)) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit __default_alloc_func(const _Target& __f) : __f_(__f) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  _Rp operator()(_ArgTypes&&... __arg) {
-    typedef __invoke_void_return_wrapper<_Rp> _Invoker;
-    return _Invoker::__call(__f_, _VSTD::forward<_ArgTypes>(__arg)...);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  __default_alloc_func* __clone() const {
-      __builtin_new_allocator::__holder_t __hold =
-        __builtin_new_allocator::__allocate_type<__default_alloc_func>(1);
-    __default_alloc_func* __res =
-        ::new (__hold.get()) __default_alloc_func(__f_);
-    (void)__hold.release();
-    return __res;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void destroy() _NOEXCEPT { __f_.~_Target(); }
-
-  static void __destroy_and_delete(__default_alloc_func* __f) {
-    __f->destroy();
-      __builtin_new_allocator::__deallocate_type<__default_alloc_func>(__f, 1);
-  }
-};
-
-// __base provides an abstract interface for copyable functors.
-
-template<class _Fp> class __base;
-
-template<class _Rp, class ..._ArgTypes>
-class __base<_Rp(_ArgTypes...)>
-{
-    __base(const __base&);
-    __base& operator=(const __base&);
-public:
-    _LIBCPP_INLINE_VISIBILITY __base() {}
-    _LIBCPP_INLINE_VISIBILITY virtual ~__base() {}
-    virtual __base* __clone() const = 0;
-    virtual void __clone(__base*) const = 0;
-    virtual void destroy() _NOEXCEPT = 0;
-    virtual void destroy_deallocate() _NOEXCEPT = 0;
-    virtual _Rp operator()(_ArgTypes&& ...) = 0;
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const _NOEXCEPT = 0;
-    virtual const std::type_info& target_type() const _NOEXCEPT = 0;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-// __func implements __base for a given functor type.
-
-template<class _FD, class _Alloc, class _FB> class __func;
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-class __func<_Fp, _Alloc, _Rp(_ArgTypes...)>
-    : public  __base<_Rp(_ArgTypes...)>
-{
-    __alloc_func<_Fp, _Alloc, _Rp(_ArgTypes...)> __f_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __func(_Fp&& __f)
-        : __f_(_VSTD::move(__f)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __func(const _Fp& __f, const _Alloc& __a)
-        : __f_(__f, __a) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __func(const _Fp& __f, _Alloc&& __a)
-        : __f_(__f, _VSTD::move(__a)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __func(_Fp&& __f, _Alloc&& __a)
-        : __f_(_VSTD::move(__f), _VSTD::move(__a)) {}
-
-    virtual __base<_Rp(_ArgTypes...)>* __clone() const;
-    virtual void __clone(__base<_Rp(_ArgTypes...)>*) const;
-    virtual void destroy() _NOEXCEPT;
-    virtual void destroy_deallocate() _NOEXCEPT;
-    virtual _Rp operator()(_ArgTypes&&... __arg);
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* target(const type_info&) const _NOEXCEPT;
-    virtual const std::type_info& target_type() const _NOEXCEPT;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-__base<_Rp(_ArgTypes...)>*
-__func<_Fp, _Alloc, _Rp(_ArgTypes...)>::__clone() const
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.__get_allocator());
-    typedef __allocator_destructor<_Ap> _Dp;
-    unique_ptr<__func, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-    ::new ((void*)__hold.get()) __func(__f_.__target(), _Alloc(__a));
-    return __hold.release();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-void
-__func<_Fp, _Alloc, _Rp(_ArgTypes...)>::__clone(__base<_Rp(_ArgTypes...)>* __p) const
-{
-    ::new (__p) __func(__f_.__target(), __f_.__get_allocator());
-}
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-void
-__func<_Fp, _Alloc, _Rp(_ArgTypes...)>::destroy() _NOEXCEPT
-{
-    __f_.destroy();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-void
-__func<_Fp, _Alloc, _Rp(_ArgTypes...)>::destroy_deallocate() _NOEXCEPT
-{
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __func>::type _Ap;
-    _Ap __a(__f_.__get_allocator());
-    __f_.destroy();
-    __a.deallocate(this, 1);
-}
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-_Rp
-__func<_Fp, _Alloc, _Rp(_ArgTypes...)>::operator()(_ArgTypes&& ... __arg)
-{
-    return __f_(_VSTD::forward<_ArgTypes>(__arg)...);
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-const void*
-__func<_Fp, _Alloc, _Rp(_ArgTypes...)>::target(const type_info& __ti) const _NOEXCEPT
-{
-    if (__ti == typeid(_Fp))
-        return &__f_.__target();
-    return (const void*)0;
-}
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-const std::type_info&
-__func<_Fp, _Alloc, _Rp(_ArgTypes...)>::target_type() const _NOEXCEPT
-{
-    return typeid(_Fp);
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-// __value_func creates a value-type from a __func.
-
-template <class _Fp> class __value_func;
-
-template <class _Rp, class... _ArgTypes> class __value_func<_Rp(_ArgTypes...)>
-{
-    typename aligned_storage<3 * sizeof(void*)>::type __buf_;
-
-    typedef __base<_Rp(_ArgTypes...)> __func;
-    __func* __f_;
-
-    _LIBCPP_NO_CFI static __func* __as_base(void* p)
-    {
-        return reinterpret_cast<__func*>(p);
-    }
-
-  public:
-    _LIBCPP_INLINE_VISIBILITY
-    __value_func() _NOEXCEPT : __f_(0) {}
-
-    template <class _Fp, class _Alloc>
-    _LIBCPP_INLINE_VISIBILITY __value_func(_Fp&& __f, const _Alloc& __a)
-        : __f_(0)
-    {
-        typedef allocator_traits<_Alloc> __alloc_traits;
-        typedef __function::__func<_Fp, _Alloc, _Rp(_ArgTypes...)> _Fun;
-        typedef typename __rebind_alloc_helper<__alloc_traits, _Fun>::type
-            _FunAlloc;
-
-        if (__function::__not_null(__f))
-        {
-            _FunAlloc __af(__a);
-            if (sizeof(_Fun) <= sizeof(__buf_) &&
-                is_nothrow_copy_constructible<_Fp>::value &&
-                is_nothrow_copy_constructible<_FunAlloc>::value)
-            {
-                __f_ =
-                    ::new ((void*)&__buf_) _Fun(_VSTD::move(__f), _Alloc(__af));
-            }
-            else
-            {
-                typedef __allocator_destructor<_FunAlloc> _Dp;
-                unique_ptr<__func, _Dp> __hold(__af.allocate(1), _Dp(__af, 1));
-                ::new ((void*)__hold.get()) _Fun(_VSTD::move(__f), _Alloc(__a));
-                __f_ = __hold.release();
-            }
-        }
-    }
-
-    template <class _Fp,
-        class = typename enable_if<!is_same<typename decay<_Fp>::type, __value_func>::value>::type>
-    _LIBCPP_INLINE_VISIBILITY explicit __value_func(_Fp&& __f)
-        : __value_func(std::forward<_Fp>(__f), allocator<_Fp>()) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __value_func(const __value_func& __f)
-    {
-        if (__f.__f_ == 0)
-            __f_ = 0;
-        else if ((void*)__f.__f_ == &__f.__buf_)
-        {
-            __f_ = __as_base(&__buf_);
-            __f.__f_->__clone(__f_);
-        }
-        else
-            __f_ = __f.__f_->__clone();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __value_func(__value_func&& __f) _NOEXCEPT
-    {
-        if (__f.__f_ == 0)
-            __f_ = 0;
-        else if ((void*)__f.__f_ == &__f.__buf_)
-        {
-            __f_ = __as_base(&__buf_);
-            __f.__f_->__clone(__f_);
-        }
-        else
-        {
-            __f_ = __f.__f_;
-            __f.__f_ = 0;
-        }
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__value_func()
-    {
-        if ((void*)__f_ == &__buf_)
-            __f_->destroy();
-        else if (__f_)
-            __f_->destroy_deallocate();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __value_func& operator=(__value_func&& __f)
-    {
-        *this = nullptr;
-        if (__f.__f_ == 0)
-            __f_ = 0;
-        else if ((void*)__f.__f_ == &__f.__buf_)
-        {
-            __f_ = __as_base(&__buf_);
-            __f.__f_->__clone(__f_);
-        }
-        else
-        {
-            __f_ = __f.__f_;
-            __f.__f_ = 0;
-        }
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __value_func& operator=(nullptr_t)
-    {
-        __func* __f = __f_;
-        __f_ = 0;
-        if ((void*)__f == &__buf_)
-            __f->destroy();
-        else if (__f)
-            __f->destroy_deallocate();
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Rp operator()(_ArgTypes&&... __args) const
-    {
-        if (__f_ == 0)
-            __throw_bad_function_call();
-        return (*__f_)(_VSTD::forward<_ArgTypes>(__args)...);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(__value_func& __f) _NOEXCEPT
-    {
-        if (&__f == this)
-            return;
-        if ((void*)__f_ == &__buf_ && (void*)__f.__f_ == &__f.__buf_)
-        {
-            typename aligned_storage<sizeof(__buf_)>::type __tempbuf;
-            __func* __t = __as_base(&__tempbuf);
-            __f_->__clone(__t);
-            __f_->destroy();
-            __f_ = 0;
-            __f.__f_->__clone(__as_base(&__buf_));
-            __f.__f_->destroy();
-            __f.__f_ = 0;
-            __f_ = __as_base(&__buf_);
-            __t->__clone(__as_base(&__f.__buf_));
-            __t->destroy();
-            __f.__f_ = __as_base(&__f.__buf_);
-        }
-        else if ((void*)__f_ == &__buf_)
-        {
-            __f_->__clone(__as_base(&__f.__buf_));
-            __f_->destroy();
-            __f_ = __f.__f_;
-            __f.__f_ = __as_base(&__f.__buf_);
-        }
-        else if ((void*)__f.__f_ == &__f.__buf_)
-        {
-            __f.__f_->__clone(__as_base(&__buf_));
-            __f.__f_->destroy();
-            __f.__f_ = __f_;
-            __f_ = __as_base(&__buf_);
-        }
-        else
-            _VSTD::swap(__f_, __f.__f_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT { return __f_ != 0; }
-
-#ifndef _LIBCPP_NO_RTTI
-    _LIBCPP_INLINE_VISIBILITY
-    const std::type_info& target_type() const _NOEXCEPT
-    {
-        if (__f_ == 0)
-            return typeid(void);
-        return __f_->target_type();
-    }
-
-    template <typename _Tp>
-    _LIBCPP_INLINE_VISIBILITY const _Tp* target() const _NOEXCEPT
-    {
-        if (__f_ == 0)
-            return 0;
-        return (const _Tp*)__f_->target(typeid(_Tp));
-    }
-#endif // _LIBCPP_NO_RTTI
-};
-
-// Storage for a functor object, to be used with __policy to manage copy and
-// destruction.
-union __policy_storage
-{
-    mutable char __small[sizeof(void*) * 2];
-    void* __large;
-};
-
-// True if _Fun can safely be held in __policy_storage.__small.
-template <typename _Fun>
-struct __use_small_storage
-    : public _VSTD::integral_constant<
-          bool, sizeof(_Fun) <= sizeof(__policy_storage) &&
-                    _LIBCPP_ALIGNOF(_Fun) <= _LIBCPP_ALIGNOF(__policy_storage) &&
-                    _VSTD::is_trivially_copy_constructible<_Fun>::value &&
-                    _VSTD::is_trivially_destructible<_Fun>::value> {};
-
-// Policy contains information about how to copy, destroy, and move the
-// underlying functor. You can think of it as a vtable of sorts.
-struct __policy
-{
-    // Used to copy or destroy __large values. null for trivial objects.
-    void* (*const __clone)(const void*);
-    void (*const __destroy)(void*);
-
-    // True if this is the null policy (no value).
-    const bool __is_null;
-
-    // The target type. May be null if RTTI is disabled.
-    const std::type_info* const __type_info;
-
-    // Returns a pointer to a static policy object suitable for the functor
-    // type.
-    template <typename _Fun>
-    _LIBCPP_INLINE_VISIBILITY static const __policy* __create()
-    {
-        return __choose_policy<_Fun>(__use_small_storage<_Fun>());
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static const __policy* __create_empty()
-    {
-        static const _LIBCPP_CONSTEXPR __policy __policy_ = {nullptr, nullptr,
-                                                             true,
-#ifndef _LIBCPP_NO_RTTI
-                                                             &typeid(void)
-#else
-                                                             nullptr
-#endif
-        };
-        return &__policy_;
-    }
-
-  private:
-    template <typename _Fun> static void* __large_clone(const void* __s)
-    {
-        const _Fun* __f = static_cast<const _Fun*>(__s);
-        return __f->__clone();
-    }
-
-    template <typename _Fun>
-    static void __large_destroy(void* __s) {
-      _Fun::__destroy_and_delete(static_cast<_Fun*>(__s));
-    }
-
-    template <typename _Fun>
-    _LIBCPP_INLINE_VISIBILITY static const __policy*
-    __choose_policy(/* is_small = */ false_type) {
-      static const _LIBCPP_CONSTEXPR __policy __policy_ = {
-          &__large_clone<_Fun>, &__large_destroy<_Fun>, false,
-#ifndef _LIBCPP_NO_RTTI
-          &typeid(typename _Fun::_Target)
-#else
-          nullptr
-#endif
-      };
-        return &__policy_;
-    }
-
-    template <typename _Fun>
-    _LIBCPP_INLINE_VISIBILITY static const __policy*
-        __choose_policy(/* is_small = */ true_type)
-    {
-        static const _LIBCPP_CONSTEXPR __policy __policy_ = {
-            nullptr, nullptr, false,
-#ifndef _LIBCPP_NO_RTTI
-            &typeid(typename _Fun::_Target)
-#else
-            nullptr
-#endif
-        };
-        return &__policy_;
-    }
-};
-
-// Used to choose between perfect forwarding or pass-by-value. Pass-by-value is
-// faster for types that can be passed in registers.
-template <typename _Tp>
-using __fast_forward =
-    typename _VSTD::conditional<_VSTD::is_scalar<_Tp>::value, _Tp, _Tp&&>::type;
-
-// __policy_invoker calls an instance of __alloc_func held in __policy_storage.
-
-template <class _Fp> struct __policy_invoker;
-
-template <class _Rp, class... _ArgTypes>
-struct __policy_invoker<_Rp(_ArgTypes...)>
-{
-    typedef _Rp (*__Call)(const __policy_storage*,
-                          __fast_forward<_ArgTypes>...);
-
-    __Call __call_;
-
-    // Creates an invoker that throws bad_function_call.
-    _LIBCPP_INLINE_VISIBILITY
-    __policy_invoker() : __call_(&__call_empty) {}
-
-    // Creates an invoker that calls the given instance of __func.
-    template <typename _Fun>
-    _LIBCPP_INLINE_VISIBILITY static __policy_invoker __create()
-    {
-        return __policy_invoker(&__call_impl<_Fun>);
-    }
-
-  private:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __policy_invoker(__Call __c) : __call_(__c) {}
-
-    static _Rp __call_empty(const __policy_storage*,
-                            __fast_forward<_ArgTypes>...)
-    {
-        __throw_bad_function_call();
-    }
-
-    template <typename _Fun>
-    static _Rp __call_impl(const __policy_storage* __buf,
-                           __fast_forward<_ArgTypes>... __args)
-    {
-        _Fun* __f = reinterpret_cast<_Fun*>(__use_small_storage<_Fun>::value
-                                                ? &__buf->__small
-                                                : __buf->__large);
-        return (*__f)(_VSTD::forward<_ArgTypes>(__args)...);
-    }
-};
-
-// __policy_func uses a __policy and __policy_invoker to create a type-erased,
-// copyable functor.
-
-template <class _Fp> class __policy_func;
-
-template <class _Rp, class... _ArgTypes> class __policy_func<_Rp(_ArgTypes...)>
-{
-    // Inline storage for small objects.
-    __policy_storage __buf_;
-
-    // Calls the value stored in __buf_. This could technically be part of
-    // policy, but storing it here eliminates a level of indirection inside
-    // operator().
-    typedef __function::__policy_invoker<_Rp(_ArgTypes...)> __invoker;
-    __invoker __invoker_;
-
-    // The policy that describes how to move / copy / destroy __buf_. Never
-    // null, even if the function is empty.
-    const __policy* __policy_;
-
-  public:
-    _LIBCPP_INLINE_VISIBILITY
-    __policy_func() : __policy_(__policy::__create_empty()) {}
-
-    template <class _Fp, class _Alloc>
-    _LIBCPP_INLINE_VISIBILITY __policy_func(_Fp&& __f, const _Alloc& __a)
-        : __policy_(__policy::__create_empty())
-    {
-        typedef __alloc_func<_Fp, _Alloc, _Rp(_ArgTypes...)> _Fun;
-        typedef allocator_traits<_Alloc> __alloc_traits;
-        typedef typename __rebind_alloc_helper<__alloc_traits, _Fun>::type
-            _FunAlloc;
-
-        if (__function::__not_null(__f))
-        {
-            __invoker_ = __invoker::template __create<_Fun>();
-            __policy_ = __policy::__create<_Fun>();
-
-            _FunAlloc __af(__a);
-            if (__use_small_storage<_Fun>())
-            {
-                ::new ((void*)&__buf_.__small)
-                    _Fun(_VSTD::move(__f), _Alloc(__af));
-            }
-            else
-            {
-                typedef __allocator_destructor<_FunAlloc> _Dp;
-                unique_ptr<_Fun, _Dp> __hold(__af.allocate(1), _Dp(__af, 1));
-                ::new ((void*)__hold.get())
-                    _Fun(_VSTD::move(__f), _Alloc(__af));
-                __buf_.__large = __hold.release();
-            }
-        }
-    }
-
-    template <class _Fp, class = typename enable_if<!is_same<typename decay<_Fp>::type, __policy_func>::value>::type>
-    _LIBCPP_INLINE_VISIBILITY explicit __policy_func(_Fp&& __f)
-        : __policy_(__policy::__create_empty()) {
-      typedef __default_alloc_func<_Fp, _Rp(_ArgTypes...)> _Fun;
-
-      if (__function::__not_null(__f)) {
-        __invoker_ = __invoker::template __create<_Fun>();
-        __policy_ = __policy::__create<_Fun>();
-        if (__use_small_storage<_Fun>()) {
-          ::new ((void*)&__buf_.__small) _Fun(_VSTD::move(__f));
-        } else {
-          __builtin_new_allocator::__holder_t __hold =
-              __builtin_new_allocator::__allocate_type<_Fun>(1);
-          __buf_.__large = ::new (__hold.get()) _Fun(_VSTD::move(__f));
-          (void)__hold.release();
-        }
-      }
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __policy_func(const __policy_func& __f)
-        : __buf_(__f.__buf_), __invoker_(__f.__invoker_),
-          __policy_(__f.__policy_)
-    {
-        if (__policy_->__clone)
-            __buf_.__large = __policy_->__clone(__f.__buf_.__large);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __policy_func(__policy_func&& __f)
-        : __buf_(__f.__buf_), __invoker_(__f.__invoker_),
-          __policy_(__f.__policy_)
-    {
-        if (__policy_->__destroy)
-        {
-            __f.__policy_ = __policy::__create_empty();
-            __f.__invoker_ = __invoker();
-        }
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__policy_func()
-    {
-        if (__policy_->__destroy)
-            __policy_->__destroy(__buf_.__large);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __policy_func& operator=(__policy_func&& __f)
-    {
-        *this = nullptr;
-        __buf_ = __f.__buf_;
-        __invoker_ = __f.__invoker_;
-        __policy_ = __f.__policy_;
-        __f.__policy_ = __policy::__create_empty();
-        __f.__invoker_ = __invoker();
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __policy_func& operator=(nullptr_t)
-    {
-        const __policy* __p = __policy_;
-        __policy_ = __policy::__create_empty();
-        __invoker_ = __invoker();
-        if (__p->__destroy)
-            __p->__destroy(__buf_.__large);
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Rp operator()(_ArgTypes&&... __args) const
-    {
-        return __invoker_.__call_(_VSTD::addressof(__buf_),
-                                  _VSTD::forward<_ArgTypes>(__args)...);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(__policy_func& __f)
-    {
-        _VSTD::swap(__invoker_, __f.__invoker_);
-        _VSTD::swap(__policy_, __f.__policy_);
-        _VSTD::swap(__buf_, __f.__buf_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit operator bool() const _NOEXCEPT
-    {
-        return !__policy_->__is_null;
-    }
-
-#ifndef _LIBCPP_NO_RTTI
-    _LIBCPP_INLINE_VISIBILITY
-    const std::type_info& target_type() const _NOEXCEPT
-    {
-        return *__policy_->__type_info;
-    }
-
-    template <typename _Tp>
-    _LIBCPP_INLINE_VISIBILITY const _Tp* target() const _NOEXCEPT
-    {
-        if (__policy_->__is_null || typeid(_Tp) != *__policy_->__type_info)
-            return nullptr;
-        if (__policy_->__clone) // Out of line storage.
-            return reinterpret_cast<const _Tp*>(__buf_.__large);
-        else
-            return reinterpret_cast<const _Tp*>(&__buf_.__small);
-    }
-#endif // _LIBCPP_NO_RTTI
-};
-
-}  // __function
-
-template<class _Rp, class ..._ArgTypes>
-class _LIBCPP_TEMPLATE_VIS function<_Rp(_ArgTypes...)>
-    : public __function::__maybe_derive_from_unary_function<_Rp(_ArgTypes...)>,
-      public __function::__maybe_derive_from_binary_function<_Rp(_ArgTypes...)>
-{
-#ifndef _LIBCPP_ABI_OPTIMIZED_FUNCTION
-    typedef __function::__value_func<_Rp(_ArgTypes...)> __func;
-#else
-    typedef __function::__policy_func<_Rp(_ArgTypes...)> __func;
-#endif
-
-    __func __f_;
-
-    template <class _Fp, bool = _And<
-        _IsNotSame<__uncvref_t<_Fp>, function>,
-        __invokable<_Fp&, _ArgTypes...>
-    >::value>
-    struct __callable;
-    template <class _Fp>
-        struct __callable<_Fp, true>
-        {
-            static const bool value = is_same<void, _Rp>::value ||
-                is_convertible<typename __invoke_of<_Fp&, _ArgTypes...>::type,
-                               _Rp>::value;
-        };
-    template <class _Fp>
-        struct __callable<_Fp, false>
-        {
-            static const bool value = false;
-        };
-
-  template <class _Fp>
-  using _EnableIfCallable = typename enable_if<__callable<_Fp>::value>::type;
-public:
-    typedef _Rp result_type;
-
-    // construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY
-    function() _NOEXCEPT { }
-    _LIBCPP_INLINE_VISIBILITY
-    function(nullptr_t) _NOEXCEPT {}
-    function(const function&);
-    function(function&&) _NOEXCEPT;
-    template<class _Fp, class = _EnableIfCallable<_Fp>>
-    function(_Fp);
-
-#if _LIBCPP_STD_VER <= 14
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&) _NOEXCEPT {}
-    template<class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      function(allocator_arg_t, const _Alloc&, nullptr_t) _NOEXCEPT {}
-    template<class _Alloc>
-      function(allocator_arg_t, const _Alloc&, const function&);
-    template<class _Alloc>
-      function(allocator_arg_t, const _Alloc&, function&&);
-    template<class _Fp, class _Alloc, class = _EnableIfCallable<_Fp>>
-      function(allocator_arg_t, const _Alloc& __a, _Fp __f);
-#endif
-
-    function& operator=(const function&);
-    function& operator=(function&&) _NOEXCEPT;
-    function& operator=(nullptr_t) _NOEXCEPT;
-    template<class _Fp, class = _EnableIfCallable<_Fp>>
-    function& operator=(_Fp&&);
-
-    ~function();
-
-    // function modifiers:
-    void swap(function&) _NOEXCEPT;
-
-#if _LIBCPP_STD_VER <= 14
-    template<class _Fp, class _Alloc>
-      _LIBCPP_INLINE_VISIBILITY
-      void assign(_Fp&& __f, const _Alloc& __a)
-        {function(allocator_arg, __a, _VSTD::forward<_Fp>(__f)).swap(*this);}
-#endif
-
-    // function capacity:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT {
-      return static_cast<bool>(__f_);
-    }
-
-    // deleted overloads close possible hole in the type system
-    template<class _R2, class... _ArgTypes2>
-      bool operator==(const function<_R2(_ArgTypes2...)>&) const = delete;
-    template<class _R2, class... _ArgTypes2>
-      bool operator!=(const function<_R2(_ArgTypes2...)>&) const = delete;
-public:
-    // function invocation:
-    _Rp operator()(_ArgTypes...) const;
-
-#ifndef _LIBCPP_NO_RTTI
-    // function target access:
-    const std::type_info& target_type() const _NOEXCEPT;
-    template <typename _Tp> _Tp* target() _NOEXCEPT;
-    template <typename _Tp> const _Tp* target() const _NOEXCEPT;
-#endif  // _LIBCPP_NO_RTTI
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _Rp, class ..._Ap>
-function(_Rp(*)(_Ap...)) -> function<_Rp(_Ap...)>;
-
-template<class _Fp>
-struct __strip_signature;
-
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...)> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) const> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) volatile> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) const volatile> { using type = _Rp(_Ap...); };
-
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) &> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) const &> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) volatile &> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) const volatile &> { using type = _Rp(_Ap...); };
-
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) noexcept> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) const noexcept> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) volatile noexcept> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) const volatile noexcept> { using type = _Rp(_Ap...); };
-
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) & noexcept> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) const & noexcept> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) volatile & noexcept> { using type = _Rp(_Ap...); };
-template<class _Rp, class _Gp, class ..._Ap>
-struct __strip_signature<_Rp (_Gp::*) (_Ap...) const volatile & noexcept> { using type = _Rp(_Ap...); };
-
-template<class _Fp, class _Stripped = typename __strip_signature<decltype(&_Fp::operator())>::type>
-function(_Fp) -> function<_Stripped>;
-#endif // !_LIBCPP_HAS_NO_DEDUCTION_GUIDES
-
-template<class _Rp, class ..._ArgTypes>
-function<_Rp(_ArgTypes...)>::function(const function& __f) : __f_(__f.__f_) {}
-
-#if _LIBCPP_STD_VER <= 14
-template<class _Rp, class ..._ArgTypes>
-template <class _Alloc>
-function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc&,
-                                     const function& __f) : __f_(__f.__f_) {}
-#endif
-
-template <class _Rp, class... _ArgTypes>
-function<_Rp(_ArgTypes...)>::function(function&& __f) _NOEXCEPT
-    : __f_(_VSTD::move(__f.__f_)) {}
-
-#if _LIBCPP_STD_VER <= 14
-template<class _Rp, class ..._ArgTypes>
-template <class _Alloc>
-function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc&,
-                                      function&& __f)
-    : __f_(_VSTD::move(__f.__f_)) {}
-#endif
-
-template <class _Rp, class... _ArgTypes>
-template <class _Fp, class>
-function<_Rp(_ArgTypes...)>::function(_Fp __f) : __f_(_VSTD::move(__f)) {}
-
-#if _LIBCPP_STD_VER <= 14
-template <class _Rp, class... _ArgTypes>
-template <class _Fp, class _Alloc, class>
-function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc& __a,
-                                      _Fp __f)
-    : __f_(_VSTD::move(__f), __a) {}
-#endif
-
-template<class _Rp, class ..._ArgTypes>
-function<_Rp(_ArgTypes...)>&
-function<_Rp(_ArgTypes...)>::operator=(const function& __f)
-{
-    function(__f).swap(*this);
-    return *this;
-}
-
-template<class _Rp, class ..._ArgTypes>
-function<_Rp(_ArgTypes...)>&
-function<_Rp(_ArgTypes...)>::operator=(function&& __f) _NOEXCEPT
-{
-    __f_ = std::move(__f.__f_);
-    return *this;
-}
-
-template<class _Rp, class ..._ArgTypes>
-function<_Rp(_ArgTypes...)>&
-function<_Rp(_ArgTypes...)>::operator=(nullptr_t) _NOEXCEPT
-{
-    __f_ = nullptr;
-    return *this;
-}
-
-template<class _Rp, class ..._ArgTypes>
-template <class _Fp, class>
-function<_Rp(_ArgTypes...)>&
-function<_Rp(_ArgTypes...)>::operator=(_Fp&& __f)
-{
-    function(_VSTD::forward<_Fp>(__f)).swap(*this);
-    return *this;
-}
-
-template<class _Rp, class ..._ArgTypes>
-function<_Rp(_ArgTypes...)>::~function() {}
-
-template<class _Rp, class ..._ArgTypes>
-void
-function<_Rp(_ArgTypes...)>::swap(function& __f) _NOEXCEPT
-{
-    __f_.swap(__f.__f_);
-}
-
-template<class _Rp, class ..._ArgTypes>
-_Rp
-function<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __arg) const
-{
-    return __f_(_VSTD::forward<_ArgTypes>(__arg)...);
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Rp, class ..._ArgTypes>
-const std::type_info&
-function<_Rp(_ArgTypes...)>::target_type() const _NOEXCEPT
-{
-    return __f_.target_type();
-}
-
-template<class _Rp, class ..._ArgTypes>
-template <typename _Tp>
-_Tp*
-function<_Rp(_ArgTypes...)>::target() _NOEXCEPT
-{
-    return (_Tp*)(__f_.template target<_Tp>());
-}
-
-template<class _Rp, class ..._ArgTypes>
-template <typename _Tp>
-const _Tp*
-function<_Rp(_ArgTypes...)>::target() const _NOEXCEPT
-{
-    return __f_.template target<_Tp>();
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template <class _Rp, class... _ArgTypes>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const function<_Rp(_ArgTypes...)>& __f, nullptr_t) _NOEXCEPT {return !__f;}
-
-template <class _Rp, class... _ArgTypes>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(nullptr_t, const function<_Rp(_ArgTypes...)>& __f) _NOEXCEPT {return !__f;}
-
-template <class _Rp, class... _ArgTypes>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const function<_Rp(_ArgTypes...)>& __f, nullptr_t) _NOEXCEPT {return (bool)__f;}
-
-template <class _Rp, class... _ArgTypes>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(nullptr_t, const function<_Rp(_ArgTypes...)>& __f) _NOEXCEPT {return (bool)__f;}
-
-template <class _Rp, class... _ArgTypes>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(function<_Rp(_ArgTypes...)>& __x, function<_Rp(_ArgTypes...)>& __y) _NOEXCEPT
-{return __x.swap(__y);}
-
-#else // _LIBCPP_CXX03_LANG
-
-#include <__functional_03>
-
-#endif
-
-////////////////////////////////////////////////////////////////////////////////
-//                                  BIND
-//==============================================================================
-
-template<class _Tp> struct __is_bind_expression : public false_type {};
-template<class _Tp> struct _LIBCPP_TEMPLATE_VIS is_bind_expression
-    : public __is_bind_expression<typename remove_cv<_Tp>::type> {};
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr size_t is_bind_expression_v = is_bind_expression<_Tp>::value;
-#endif
-
-template<class _Tp> struct __is_placeholder : public integral_constant<int, 0> {};
-template<class _Tp> struct _LIBCPP_TEMPLATE_VIS is_placeholder
-    : public __is_placeholder<typename remove_cv<_Tp>::type> {};
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr size_t is_placeholder_v = is_placeholder<_Tp>::value;
-#endif
-
-namespace placeholders
-{
-
-template <int _Np> struct __ph {};
-
-#if defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_LIBRARY)
-_LIBCPP_FUNC_VIS extern const __ph<1>   _1;
-_LIBCPP_FUNC_VIS extern const __ph<2>   _2;
-_LIBCPP_FUNC_VIS extern const __ph<3>   _3;
-_LIBCPP_FUNC_VIS extern const __ph<4>   _4;
-_LIBCPP_FUNC_VIS extern const __ph<5>   _5;
-_LIBCPP_FUNC_VIS extern const __ph<6>   _6;
-_LIBCPP_FUNC_VIS extern const __ph<7>   _7;
-_LIBCPP_FUNC_VIS extern const __ph<8>   _8;
-_LIBCPP_FUNC_VIS extern const __ph<9>   _9;
-_LIBCPP_FUNC_VIS extern const __ph<10> _10;
-#else
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<1>   _1{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<2>   _2{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<3>   _3{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<4>   _4{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<5>   _5{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<6>   _6{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<7>   _7{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<8>   _8{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<9>   _9{};
-/* _LIBCPP_INLINE_VAR */ constexpr __ph<10> _10{};
-#endif // defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_LIBRARY)
-
-}  // placeholders
-
-template<int _Np>
-struct __is_placeholder<placeholders::__ph<_Np> >
-    : public integral_constant<int, _Np> {};
-
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Uj>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp&
-__mu(reference_wrapper<_Tp> __t, _Uj&)
-{
-    return __t.get();
-}
-
-template <class _Ti, class ..._Uj, size_t ..._Indx>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __invoke_of<_Ti&, _Uj...>::type
-__mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
-{
-    return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
-}
-
-template <class _Ti, class ..._Uj>
-inline _LIBCPP_INLINE_VISIBILITY
-typename _EnableIf
-<
-    is_bind_expression<_Ti>::value,
-    __invoke_of<_Ti&, _Uj...>
->::type
-__mu(_Ti& __ti, tuple<_Uj...>& __uj)
-{
-    typedef typename __make_tuple_indices<sizeof...(_Uj)>::type __indices;
-    return  __mu_expand(__ti, __uj, __indices());
-}
-
-template <bool IsPh, class _Ti, class _Uj>
-struct __mu_return2 {};
-
-template <class _Ti, class _Uj>
-struct __mu_return2<true, _Ti, _Uj>
-{
-    typedef typename tuple_element<is_placeholder<_Ti>::value - 1, _Uj>::type type;
-};
-
-template <class _Ti, class _Uj>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    0 < is_placeholder<_Ti>::value,
-    typename __mu_return2<0 < is_placeholder<_Ti>::value, _Ti, _Uj>::type
->::type
-__mu(_Ti&, _Uj& __uj)
-{
-    const size_t _Indx = is_placeholder<_Ti>::value - 1;
-    return _VSTD::forward<typename tuple_element<_Indx, _Uj>::type>(_VSTD::get<_Indx>(__uj));
-}
-
-template <class _Ti, class _Uj>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_bind_expression<_Ti>::value &&
-    is_placeholder<_Ti>::value == 0 &&
-    !__is_reference_wrapper<_Ti>::value,
-    _Ti&
->::type
-__mu(_Ti& __ti, _Uj&)
-{
-    return __ti;
-}
-
-template <class _Ti, bool IsReferenceWrapper, bool IsBindEx, bool IsPh,
-          class _TupleUj>
-struct __mu_return_impl;
-
-template <bool _Invokable, class _Ti, class ..._Uj>
-struct __mu_return_invokable  // false
-{
-    typedef __nat type;
-};
-
-template <class _Ti, class ..._Uj>
-struct __mu_return_invokable<true, _Ti, _Uj...>
-{
-    typedef typename __invoke_of<_Ti&, _Uj...>::type type;
-};
-
-template <class _Ti, class ..._Uj>
-struct __mu_return_impl<_Ti, false, true, false, tuple<_Uj...> >
-    : public __mu_return_invokable<__invokable<_Ti&, _Uj...>::value, _Ti, _Uj...>
-{
-};
-
-template <class _Ti, class _TupleUj>
-struct __mu_return_impl<_Ti, false, false, true, _TupleUj>
-{
-    typedef typename tuple_element<is_placeholder<_Ti>::value - 1,
-                                   _TupleUj>::type&& type;
-};
-
-template <class _Ti, class _TupleUj>
-struct __mu_return_impl<_Ti, true, false, false, _TupleUj>
-{
-    typedef typename _Ti::type& type;
-};
-
-template <class _Ti, class _TupleUj>
-struct __mu_return_impl<_Ti, false, false, false, _TupleUj>
-{
-    typedef _Ti& type;
-};
-
-template <class _Ti, class _TupleUj>
-struct __mu_return
-    : public __mu_return_impl<_Ti,
-                              __is_reference_wrapper<_Ti>::value,
-                              is_bind_expression<_Ti>::value,
-                              0 < is_placeholder<_Ti>::value &&
-                              is_placeholder<_Ti>::value <= tuple_size<_TupleUj>::value,
-                              _TupleUj>
-{
-};
-
-template <class _Fp, class _BoundArgs, class _TupleUj>
-struct __is_valid_bind_return
-{
-    static const bool value = false;
-};
-
-template <class _Fp, class ..._BoundArgs, class _TupleUj>
-struct __is_valid_bind_return<_Fp, tuple<_BoundArgs...>, _TupleUj>
-{
-    static const bool value = __invokable<_Fp,
-                    typename __mu_return<_BoundArgs, _TupleUj>::type...>::value;
-};
-
-template <class _Fp, class ..._BoundArgs, class _TupleUj>
-struct __is_valid_bind_return<_Fp, const tuple<_BoundArgs...>, _TupleUj>
-{
-    static const bool value = __invokable<_Fp,
-                    typename __mu_return<const _BoundArgs, _TupleUj>::type...>::value;
-};
-
-template <class _Fp, class _BoundArgs, class _TupleUj,
-          bool = __is_valid_bind_return<_Fp, _BoundArgs, _TupleUj>::value>
-struct __bind_return;
-
-template <class _Fp, class ..._BoundArgs, class _TupleUj>
-struct __bind_return<_Fp, tuple<_BoundArgs...>, _TupleUj, true>
-{
-    typedef typename __invoke_of
-    <
-        _Fp&,
-        typename __mu_return
-        <
-            _BoundArgs,
-            _TupleUj
-        >::type...
-    >::type type;
-};
-
-template <class _Fp, class ..._BoundArgs, class _TupleUj>
-struct __bind_return<_Fp, const tuple<_BoundArgs...>, _TupleUj, true>
-{
-    typedef typename __invoke_of
-    <
-        _Fp&,
-        typename __mu_return
-        <
-            const _BoundArgs,
-            _TupleUj
-        >::type...
-    >::type type;
-};
-
-template <class _Fp, class _BoundArgs, size_t ..._Indx, class _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __bind_return<_Fp, _BoundArgs, _Args>::type
-__apply_functor(_Fp& __f, _BoundArgs& __bound_args, __tuple_indices<_Indx...>,
-                _Args&& __args)
-{
-    return _VSTD::__invoke(__f, _VSTD::__mu(_VSTD::get<_Indx>(__bound_args), __args)...);
-}
-
-template<class _Fp, class ..._BoundArgs>
-class __bind
-    : public __weak_result_type<typename decay<_Fp>::type>
-{
-protected:
-    typedef typename decay<_Fp>::type _Fd;
-    typedef tuple<typename decay<_BoundArgs>::type...> _Td;
-private:
-    _Fd __f_;
-    _Td __bound_args_;
-
-    typedef typename __make_tuple_indices<sizeof...(_BoundArgs)>::type __indices;
-public:
-    template <class _Gp, class ..._BA,
-              class = typename enable_if
-                               <
-                                  is_constructible<_Fd, _Gp>::value &&
-                                  !is_same<typename remove_reference<_Gp>::type,
-                                           __bind>::value
-                               >::type>
-      _LIBCPP_INLINE_VISIBILITY
-      explicit __bind(_Gp&& __f, _BA&& ...__bound_args)
-        : __f_(_VSTD::forward<_Gp>(__f)),
-          __bound_args_(_VSTD::forward<_BA>(__bound_args)...) {}
-
-    template <class ..._Args>
-        _LIBCPP_INLINE_VISIBILITY
-        typename __bind_return<_Fd, _Td, tuple<_Args&&...> >::type
-        operator()(_Args&& ...__args)
-        {
-            return _VSTD::__apply_functor(__f_, __bound_args_, __indices(),
-                                  tuple<_Args&&...>(_VSTD::forward<_Args>(__args)...));
-        }
-
-    template <class ..._Args>
-        _LIBCPP_INLINE_VISIBILITY
-        typename __bind_return<const _Fd, const _Td, tuple<_Args&&...> >::type
-        operator()(_Args&& ...__args) const
-        {
-            return _VSTD::__apply_functor(__f_, __bound_args_, __indices(),
-                                   tuple<_Args&&...>(_VSTD::forward<_Args>(__args)...));
-        }
-};
-
-template<class _Fp, class ..._BoundArgs>
-struct __is_bind_expression<__bind<_Fp, _BoundArgs...> > : public true_type {};
-
-template<class _Rp, class _Fp, class ..._BoundArgs>
-class __bind_r
-    : public __bind<_Fp, _BoundArgs...>
-{
-    typedef __bind<_Fp, _BoundArgs...> base;
-    typedef typename base::_Fd _Fd;
-    typedef typename base::_Td _Td;
-public:
-    typedef _Rp result_type;
-
-
-    template <class _Gp, class ..._BA,
-              class = typename enable_if
-                               <
-                                  is_constructible<_Fd, _Gp>::value &&
-                                  !is_same<typename remove_reference<_Gp>::type,
-                                           __bind_r>::value
-                               >::type>
-      _LIBCPP_INLINE_VISIBILITY
-      explicit __bind_r(_Gp&& __f, _BA&& ...__bound_args)
-        : base(_VSTD::forward<_Gp>(__f),
-               _VSTD::forward<_BA>(__bound_args)...) {}
-
-    template <class ..._Args>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            is_convertible<typename __bind_return<_Fd, _Td, tuple<_Args&&...> >::type,
-                           result_type>::value || is_void<_Rp>::value,
-            result_type
-        >::type
-        operator()(_Args&& ...__args)
-        {
-            typedef __invoke_void_return_wrapper<_Rp> _Invoker;
-            return _Invoker::__call(static_cast<base&>(*this), _VSTD::forward<_Args>(__args)...);
-        }
-
-    template <class ..._Args>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            is_convertible<typename __bind_return<const _Fd, const _Td, tuple<_Args&&...> >::type,
-                           result_type>::value || is_void<_Rp>::value,
-            result_type
-        >::type
-        operator()(_Args&& ...__args) const
-        {
-            typedef __invoke_void_return_wrapper<_Rp> _Invoker;
-            return _Invoker::__call(static_cast<base const&>(*this), _VSTD::forward<_Args>(__args)...);
-        }
-};
-
-template<class _Rp, class _Fp, class ..._BoundArgs>
-struct __is_bind_expression<__bind_r<_Rp, _Fp, _BoundArgs...> > : public true_type {};
-
-template<class _Fp, class ..._BoundArgs>
-inline _LIBCPP_INLINE_VISIBILITY
-__bind<_Fp, _BoundArgs...>
-bind(_Fp&& __f, _BoundArgs&&... __bound_args)
-{
-    typedef __bind<_Fp, _BoundArgs...> type;
-    return type(_VSTD::forward<_Fp>(__f), _VSTD::forward<_BoundArgs>(__bound_args)...);
-}
-
-template<class _Rp, class _Fp, class ..._BoundArgs>
-inline _LIBCPP_INLINE_VISIBILITY
-__bind_r<_Rp, _Fp, _BoundArgs...>
-bind(_Fp&& __f, _BoundArgs&&... __bound_args)
-{
-    typedef __bind_r<_Rp, _Fp, _BoundArgs...> type;
-    return type(_VSTD::forward<_Fp>(__f), _VSTD::forward<_BoundArgs>(__bound_args)...);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#if _LIBCPP_STD_VER > 14
-
-template <class _Fn, class ..._Args>
-invoke_result_t<_Fn, _Args...>
-invoke(_Fn&& __f, _Args&&... __args)
-    noexcept(is_nothrow_invocable_v<_Fn, _Args...>)
-{
-    return _VSTD::__invoke(_VSTD::forward<_Fn>(__f), _VSTD::forward<_Args>(__args)...);
-}
-
-template <class _DecayFunc>
-class _LIBCPP_TEMPLATE_VIS __not_fn_imp {
-  _DecayFunc __fd;
-
-public:
-    __not_fn_imp() = delete;
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_Args&& ...__args) &
-            noexcept(noexcept(!_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...)))
-        -> decltype(          !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...))
-        { return              !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...); }
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_Args&& ...__args) &&
-            noexcept(noexcept(!_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...)))
-        -> decltype(          !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...))
-        { return              !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...); }
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_Args&& ...__args) const&
-            noexcept(noexcept(!_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...)))
-        -> decltype(          !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...))
-        { return              !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...); }
-
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    auto operator()(_Args&& ...__args) const&&
-            noexcept(noexcept(!_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...)))
-        -> decltype(          !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...))
-        { return              !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...); }
-
-private:
-    template <class _RawFunc,
-              class = enable_if_t<!is_same<decay_t<_RawFunc>, __not_fn_imp>::value>>
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __not_fn_imp(_RawFunc&& __rf)
-        : __fd(_VSTD::forward<_RawFunc>(__rf)) {}
-
-    template <class _RawFunc>
-    friend inline _LIBCPP_INLINE_VISIBILITY
-    __not_fn_imp<decay_t<_RawFunc>> not_fn(_RawFunc&&);
-};
-
-template <class _RawFunc>
-inline _LIBCPP_INLINE_VISIBILITY
-__not_fn_imp<decay_t<_RawFunc>> not_fn(_RawFunc&& __fn) {
-    return __not_fn_imp<decay_t<_RawFunc>>(_VSTD::forward<_RawFunc>(__fn));
-}
-
-#endif
-
-// struct hash<T*> in <memory>
-
-template <class _BinaryPredicate, class _ForwardIterator1, class _ForwardIterator2>
-pair<_ForwardIterator1, _ForwardIterator1> _LIBCPP_CONSTEXPR_AFTER_CXX11
-__search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-         _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred,
-         forward_iterator_tag, forward_iterator_tag)
-{
-    if (__first2 == __last2)
-        return make_pair(__first1, __first1);  // Everything matches an empty sequence
-    while (true)
-    {
-        // Find first element in sequence 1 that matchs *__first2, with a mininum of loop checks
-        while (true)
-        {
-            if (__first1 == __last1)  // return __last1 if no element matches *__first2
-                return make_pair(__last1, __last1);
-            if (__pred(*__first1, *__first2))
-                break;
-            ++__first1;
-        }
-        // *__first1 matches *__first2, now match elements after here
-        _ForwardIterator1 __m1 = __first1;
-        _ForwardIterator2 __m2 = __first2;
-        while (true)
-        {
-            if (++__m2 == __last2)  // If pattern exhausted, __first1 is the answer (works for 1 element pattern)
-                return make_pair(__first1, __m1);
-            if (++__m1 == __last1)  // Otherwise if source exhaused, pattern not found
-                return make_pair(__last1, __last1);
-            if (!__pred(*__m1, *__m2))  // if there is a mismatch, restart with a new __first1
-            {
-                ++__first1;
-                break;
-            }  // else there is a match, check next elements
-        }
-    }
-}
-
-template <class _BinaryPredicate, class _RandomAccessIterator1, class _RandomAccessIterator2>
-_LIBCPP_CONSTEXPR_AFTER_CXX11
-pair<_RandomAccessIterator1, _RandomAccessIterator1>
-__search(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
-         _RandomAccessIterator2 __first2, _RandomAccessIterator2 __last2, _BinaryPredicate __pred,
-           random_access_iterator_tag, random_access_iterator_tag)
-{
-    typedef typename iterator_traits<_RandomAccessIterator1>::difference_type _D1;
-    typedef typename iterator_traits<_RandomAccessIterator2>::difference_type _D2;
-    // Take advantage of knowing source and pattern lengths.  Stop short when source is smaller than pattern
-    const _D2 __len2 = __last2 - __first2;
-    if (__len2 == 0)
-        return make_pair(__first1, __first1);
-    const _D1 __len1 = __last1 - __first1;
-    if (__len1 < __len2)
-        return make_pair(__last1, __last1);
-    const _RandomAccessIterator1 __s = __last1 - (__len2 - 1);  // Start of pattern match can't go beyond here
-
-    while (true)
-    {
-        while (true)
-        {
-            if (__first1 == __s)
-                return make_pair(__last1, __last1);
-            if (__pred(*__first1, *__first2))
-                break;
-            ++__first1;
-        }
-
-        _RandomAccessIterator1 __m1 = __first1;
-        _RandomAccessIterator2 __m2 = __first2;
-         while (true)
-         {
-             if (++__m2 == __last2)
-                 return make_pair(__first1, __first1 + __len2);
-             ++__m1;          // no need to check range on __m1 because __s guarantees we have enough source
-             if (!__pred(*__m1, *__m2))
-             {
-                 ++__first1;
-                 break;
-             }
-         }
-    }
-}
-
-#if _LIBCPP_STD_VER > 14
-
-// default searcher
-template<class _ForwardIterator, class _BinaryPredicate = equal_to<>>
-class _LIBCPP_TYPE_VIS default_searcher {
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    default_searcher(_ForwardIterator __f, _ForwardIterator __l,
-                       _BinaryPredicate __p = _BinaryPredicate())
-        : __first_(__f), __last_(__l), __pred_(__p) {}
-
-    template <typename _ForwardIterator2>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<_ForwardIterator2, _ForwardIterator2>
-    operator () (_ForwardIterator2 __f, _ForwardIterator2 __l) const
-    {
-        return _VSTD::__search(__f, __l, __first_, __last_, __pred_,
-            typename _VSTD::iterator_traits<_ForwardIterator>::iterator_category(),
-            typename _VSTD::iterator_traits<_ForwardIterator2>::iterator_category());
-    }
-
-private:
-    _ForwardIterator __first_;
-    _ForwardIterator __last_;
-    _BinaryPredicate __pred_;
-    };
-
-#endif // _LIBCPP_STD_VER > 14
-
-#if _LIBCPP_STD_VER > 17
-template <class _Tp>
-using unwrap_reference_t = typename unwrap_reference<_Tp>::type;
-
-template <class _Tp>
-using unwrap_ref_decay_t = typename unwrap_ref_decay<_Tp>::type;
-#endif // > C++17
-
-template <class _Container, class _Predicate>
-inline void __libcpp_erase_if_container( _Container& __c, _Predicate __pred)
-{
-	for (typename _Container::iterator __iter = __c.begin(), __last = __c.end(); __iter != __last;)
-	{
-		if (__pred(*__iter))
-			__iter = __c.erase(__iter);
-		else
-			++__iter;
-	}
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_FUNCTIONAL
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/future b/r21/sources/cxx-stl/llvm-libc++/include/future
deleted file mode 100644
index 6da88c6..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/future
+++ /dev/null
@@ -1,2608 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- future -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FUTURE
-#define _LIBCPP_FUTURE
-
-/*
-    future synopsis
-
-namespace std
-{
-
-enum class future_errc
-{
-    future_already_retrieved = 1,
-    promise_already_satisfied,
-    no_state,
-    broken_promise
-};
-
-enum class launch
-{
-    async = 1,
-    deferred = 2,
-    any = async | deferred
-};
-
-enum class future_status
-{
-    ready,
-    timeout,
-    deferred
-};
-
-template <> struct is_error_code_enum<future_errc> : public true_type { };
-error_code make_error_code(future_errc e) noexcept;
-error_condition make_error_condition(future_errc e) noexcept;
-
-const error_category& future_category() noexcept;
-
-class future_error
-    : public logic_error
-{
-public:
-    future_error(error_code ec);  // exposition only
-    explicit future_error(future_errc); // C++17
-    const error_code& code() const noexcept;
-    const char*       what() const noexcept;
-};
-
-template <class R>
-class promise
-{
-public:
-    promise();
-    template <class Allocator>
-        promise(allocator_arg_t, const Allocator& a);
-    promise(promise&& rhs) noexcept;
-    promise(const promise& rhs) = delete;
-    ~promise();
-
-    // assignment
-    promise& operator=(promise&& rhs) noexcept;
-    promise& operator=(const promise& rhs) = delete;
-    void swap(promise& other) noexcept;
-
-    // retrieving the result
-    future<R> get_future();
-
-    // setting the result
-    void set_value(const R& r);
-    void set_value(R&& r);
-    void set_exception(exception_ptr p);
-
-    // setting the result with deferred notification
-    void set_value_at_thread_exit(const R& r);
-    void set_value_at_thread_exit(R&& r);
-    void set_exception_at_thread_exit(exception_ptr p);
-};
-
-template <class R>
-class promise<R&>
-{
-public:
-    promise();
-    template <class Allocator>
-        promise(allocator_arg_t, const Allocator& a);
-    promise(promise&& rhs) noexcept;
-    promise(const promise& rhs) = delete;
-    ~promise();
-
-    // assignment
-    promise& operator=(promise&& rhs) noexcept;
-    promise& operator=(const promise& rhs) = delete;
-    void swap(promise& other) noexcept;
-
-    // retrieving the result
-    future<R&> get_future();
-
-    // setting the result
-    void set_value(R& r);
-    void set_exception(exception_ptr p);
-
-    // setting the result with deferred notification
-    void set_value_at_thread_exit(R&);
-    void set_exception_at_thread_exit(exception_ptr p);
-};
-
-template <>
-class promise<void>
-{
-public:
-    promise();
-    template <class Allocator>
-        promise(allocator_arg_t, const Allocator& a);
-    promise(promise&& rhs) noexcept;
-    promise(const promise& rhs) = delete;
-    ~promise();
-
-    // assignment
-    promise& operator=(promise&& rhs) noexcept;
-    promise& operator=(const promise& rhs) = delete;
-    void swap(promise& other) noexcept;
-
-    // retrieving the result
-    future<void> get_future();
-
-    // setting the result
-    void set_value();
-    void set_exception(exception_ptr p);
-
-    // setting the result with deferred notification
-    void set_value_at_thread_exit();
-    void set_exception_at_thread_exit(exception_ptr p);
-};
-
-template <class R> void swap(promise<R>& x, promise<R>& y) noexcept;
-
-template <class R, class Alloc>
-    struct uses_allocator<promise<R>, Alloc> : public true_type {};
-
-template <class R>
-class future
-{
-public:
-    future() noexcept;
-    future(future&&) noexcept;
-    future(const future& rhs) = delete;
-    ~future();
-    future& operator=(const future& rhs) = delete;
-    future& operator=(future&&) noexcept;
-    shared_future<R> share() noexcept;
-
-    // retrieving the value
-    R get();
-
-    // functions to check state
-    bool valid() const noexcept;
-
-    void wait() const;
-    template <class Rep, class Period>
-        future_status
-        wait_for(const chrono::duration<Rep, Period>& rel_time) const;
-    template <class Clock, class Duration>
-        future_status
-        wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
-};
-
-template <class R>
-class future<R&>
-{
-public:
-    future() noexcept;
-    future(future&&) noexcept;
-    future(const future& rhs) = delete;
-    ~future();
-    future& operator=(const future& rhs) = delete;
-    future& operator=(future&&) noexcept;
-    shared_future<R&> share() noexcept;
-
-    // retrieving the value
-    R& get();
-
-    // functions to check state
-    bool valid() const noexcept;
-
-    void wait() const;
-    template <class Rep, class Period>
-        future_status
-        wait_for(const chrono::duration<Rep, Period>& rel_time) const;
-    template <class Clock, class Duration>
-        future_status
-        wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
-};
-
-template <>
-class future<void>
-{
-public:
-    future() noexcept;
-    future(future&&) noexcept;
-    future(const future& rhs) = delete;
-    ~future();
-    future& operator=(const future& rhs) = delete;
-    future& operator=(future&&) noexcept;
-    shared_future<void> share() noexcept;
-
-    // retrieving the value
-    void get();
-
-    // functions to check state
-    bool valid() const noexcept;
-
-    void wait() const;
-    template <class Rep, class Period>
-        future_status
-        wait_for(const chrono::duration<Rep, Period>& rel_time) const;
-    template <class Clock, class Duration>
-        future_status
-        wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
-};
-
-template <class R>
-class shared_future
-{
-public:
-    shared_future() noexcept;
-    shared_future(const shared_future& rhs);
-    shared_future(future<R>&&) noexcept;
-    shared_future(shared_future&& rhs) noexcept;
-    ~shared_future();
-    shared_future& operator=(const shared_future& rhs);
-    shared_future& operator=(shared_future&& rhs) noexcept;
-
-    // retrieving the value
-    const R& get() const;
-
-    // functions to check state
-    bool valid() const noexcept;
-
-    void wait() const;
-    template <class Rep, class Period>
-        future_status
-        wait_for(const chrono::duration<Rep, Period>& rel_time) const;
-    template <class Clock, class Duration>
-        future_status
-        wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
-};
-
-template <class R>
-class shared_future<R&>
-{
-public:
-    shared_future() noexcept;
-    shared_future(const shared_future& rhs);
-    shared_future(future<R&>&&) noexcept;
-    shared_future(shared_future&& rhs) noexcept;
-    ~shared_future();
-    shared_future& operator=(const shared_future& rhs);
-    shared_future& operator=(shared_future&& rhs) noexcept;
-
-    // retrieving the value
-    R& get() const;
-
-    // functions to check state
-    bool valid() const noexcept;
-
-    void wait() const;
-    template <class Rep, class Period>
-        future_status
-        wait_for(const chrono::duration<Rep, Period>& rel_time) const;
-    template <class Clock, class Duration>
-        future_status
-        wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
-};
-
-template <>
-class shared_future<void>
-{
-public:
-    shared_future() noexcept;
-    shared_future(const shared_future& rhs);
-    shared_future(future<void>&&) noexcept;
-    shared_future(shared_future&& rhs) noexcept;
-    ~shared_future();
-    shared_future& operator=(const shared_future& rhs);
-    shared_future& operator=(shared_future&& rhs) noexcept;
-
-    // retrieving the value
-    void get() const;
-
-    // functions to check state
-    bool valid() const noexcept;
-
-    void wait() const;
-    template <class Rep, class Period>
-        future_status
-        wait_for(const chrono::duration<Rep, Period>& rel_time) const;
-    template <class Clock, class Duration>
-        future_status
-        wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
-};
-
-template <class F, class... Args>
-  future<typename result_of<typename decay<F>::type(typename decay<Args>::type...)>::type>
-  async(F&& f, Args&&... args);
-
-template <class F, class... Args>
-  future<typename result_of<typename decay<F>::type(typename decay<Args>::type...)>::type>
-  async(launch policy, F&& f, Args&&... args);
-
-template <class> class packaged_task; // undefined
-
-template <class R, class... ArgTypes>
-class packaged_task<R(ArgTypes...)>
-{
-public:
-    typedef R result_type; // extension
-
-    // construction and destruction
-    packaged_task() noexcept;
-    template <class F>
-        explicit packaged_task(F&& f);
-    template <class F, class Allocator>
-        packaged_task(allocator_arg_t, const Allocator& a, F&& f);
-    ~packaged_task();
-
-    // no copy
-    packaged_task(const packaged_task&) = delete;
-    packaged_task& operator=(const packaged_task&) = delete;
-
-    // move support
-    packaged_task(packaged_task&& other) noexcept;
-    packaged_task& operator=(packaged_task&& other) noexcept;
-    void swap(packaged_task& other) noexcept;
-
-    bool valid() const noexcept;
-
-    // result retrieval
-    future<R> get_future();
-
-    // execution
-    void operator()(ArgTypes... );
-    void make_ready_at_thread_exit(ArgTypes...);
-
-    void reset();
-};
-
-template <class R>
-  void swap(packaged_task<R(ArgTypes...)&, packaged_task<R(ArgTypes...)>&) noexcept;
-
-template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <system_error>
-#include <memory>
-#include <chrono>
-#include <exception>
-#include <mutex>
-#include <thread>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef _LIBCPP_HAS_NO_THREADS
-#error <future> is not supported on this single threaded system
-#else // !_LIBCPP_HAS_NO_THREADS
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-//enum class future_errc
-_LIBCPP_DECLARE_STRONG_ENUM(future_errc)
-{
-    future_already_retrieved = 1,
-    promise_already_satisfied,
-    no_state,
-    broken_promise
-};
-_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(future_errc)
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS is_error_code_enum<future_errc> : public true_type {};
-
-#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
-template <>
-struct _LIBCPP_TEMPLATE_VIS is_error_code_enum<future_errc::__lx> : public true_type { };
-#endif
-
-//enum class launch
-_LIBCPP_DECLARE_STRONG_ENUM(launch)
-{
-    async = 1,
-    deferred = 2,
-    any = async | deferred
-};
-_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(launch)
-
-#ifndef _LIBCPP_HAS_NO_STRONG_ENUMS
-
-typedef underlying_type<launch>::type __launch_underlying_type;
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-launch
-operator&(launch __x, launch __y)
-{
-    return static_cast<launch>(static_cast<__launch_underlying_type>(__x) &
-                               static_cast<__launch_underlying_type>(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-launch
-operator|(launch __x, launch __y)
-{
-    return static_cast<launch>(static_cast<__launch_underlying_type>(__x) |
-                               static_cast<__launch_underlying_type>(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-launch
-operator^(launch __x, launch __y)
-{
-    return static_cast<launch>(static_cast<__launch_underlying_type>(__x) ^
-                               static_cast<__launch_underlying_type>(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-launch
-operator~(launch __x)
-{
-    return static_cast<launch>(~static_cast<__launch_underlying_type>(__x) & 3);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-launch&
-operator&=(launch& __x, launch __y)
-{
-    __x = __x & __y; return __x;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-launch&
-operator|=(launch& __x, launch __y)
-{
-    __x = __x | __y; return __x;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-launch&
-operator^=(launch& __x, launch __y)
-{
-    __x = __x ^ __y; return __x;
-}
-
-#endif  // !_LIBCPP_HAS_NO_STRONG_ENUMS
-
-//enum class future_status
-_LIBCPP_DECLARE_STRONG_ENUM(future_status)
-{
-    ready,
-    timeout,
-    deferred
-};
-_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(future_status)
-
-_LIBCPP_FUNC_VIS
-const error_category& future_category() _NOEXCEPT;
-
-inline _LIBCPP_INLINE_VISIBILITY
-error_code
-make_error_code(future_errc __e) _NOEXCEPT
-{
-    return error_code(static_cast<int>(__e), future_category());
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-error_condition
-make_error_condition(future_errc __e) _NOEXCEPT
-{
-    return error_condition(static_cast<int>(__e), future_category());
-}
-
-class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_FUTURE_ERROR future_error
-    : public logic_error
-{
-    error_code __ec_;
-public:
-    future_error(error_code __ec);
-#if _LIBCPP_STD_VERS > 14
-    explicit future_error(future_errc _Ev) : logic_error(), __ec_(make_error_code(_Ev)) {}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    const error_code& code() const _NOEXCEPT {return __ec_;}
-
-    virtual ~future_error() _NOEXCEPT;
-};
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-#ifndef _LIBCPP_NO_EXCEPTIONS
-_LIBCPP_AVAILABILITY_FUTURE_ERROR
-#endif
-void __throw_future_error(future_errc _Ev)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw future_error(make_error_code(_Ev));
-#else
-    ((void)_Ev);
-    _VSTD::abort();
-#endif
-}
-
-class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_FUTURE __assoc_sub_state
-    : public __shared_count
-{
-protected:
-    exception_ptr __exception_;
-    mutable mutex __mut_;
-    mutable condition_variable __cv_;
-    unsigned __state_;
-
-    virtual void __on_zero_shared() _NOEXCEPT;
-    void __sub_wait(unique_lock<mutex>& __lk);
-public:
-    enum
-    {
-        __constructed = 1,
-        __future_attached = 2,
-        ready = 4,
-        deferred = 8
-    };
-
-    _LIBCPP_INLINE_VISIBILITY
-    __assoc_sub_state() : __state_(0) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool __has_value() const
-        {return (__state_ & __constructed) || (__exception_ != nullptr);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __attach_future() {
-        lock_guard<mutex> __lk(__mut_);
-        bool __has_future_attached = (__state_ & __future_attached) != 0;
-        if (__has_future_attached)
-            __throw_future_error(future_errc::future_already_retrieved);
-        this->__add_shared();
-        __state_ |= __future_attached;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __set_deferred() {__state_ |= deferred;}
-
-    void __make_ready();
-    _LIBCPP_INLINE_VISIBILITY
-    bool __is_ready() const {return (__state_ & ready) != 0;}
-
-    void set_value();
-    void set_value_at_thread_exit();
-
-    void set_exception(exception_ptr __p);
-    void set_exception_at_thread_exit(exception_ptr __p);
-
-    void copy();
-
-    void wait();
-    template <class _Rep, class _Period>
-        future_status
-        _LIBCPP_INLINE_VISIBILITY
-        wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const;
-    template <class _Clock, class _Duration>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        future_status
-        wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const;
-
-    virtual void __execute();
-};
-
-template <class _Clock, class _Duration>
-future_status
-__assoc_sub_state::wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
-{
-    unique_lock<mutex> __lk(__mut_);
-    if (__state_ & deferred)
-        return future_status::deferred;
-    while (!(__state_ & ready) && _Clock::now() < __abs_time)
-        __cv_.wait_until(__lk, __abs_time);
-    if (__state_ & ready)
-        return future_status::ready;
-    return future_status::timeout;
-}
-
-template <class _Rep, class _Period>
-inline
-future_status
-__assoc_sub_state::wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
-{
-    return wait_until(chrono::steady_clock::now() + __rel_time);
-}
-
-template <class _Rp>
-class _LIBCPP_AVAILABILITY_FUTURE __assoc_state
-    : public __assoc_sub_state
-{
-    typedef __assoc_sub_state base;
-    typedef typename aligned_storage<sizeof(_Rp), alignment_of<_Rp>::value>::type _Up;
-protected:
-    _Up __value_;
-
-    virtual void __on_zero_shared() _NOEXCEPT;
-public:
-
-    template <class _Arg>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-        void set_value(_Arg&& __arg);
-#else
-        void set_value(_Arg& __arg);
-#endif
-
-    template <class _Arg>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-        void set_value_at_thread_exit(_Arg&& __arg);
-#else
-        void set_value_at_thread_exit(_Arg& __arg);
-#endif
-
-    _Rp move();
-    typename add_lvalue_reference<_Rp>::type copy();
-};
-
-template <class _Rp>
-void
-__assoc_state<_Rp>::__on_zero_shared() _NOEXCEPT
-{
-    if (this->__state_ & base::__constructed)
-        reinterpret_cast<_Rp*>(&__value_)->~_Rp();
-    delete this;
-}
-
-template <class _Rp>
-template <class _Arg>
-_LIBCPP_AVAILABILITY_FUTURE
-void
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-__assoc_state<_Rp>::set_value(_Arg&& __arg)
-#else
-__assoc_state<_Rp>::set_value(_Arg& __arg)
-#endif
-{
-    unique_lock<mutex> __lk(this->__mut_);
-    if (this->__has_value())
-        __throw_future_error(future_errc::promise_already_satisfied);
-    ::new(&__value_) _Rp(_VSTD::forward<_Arg>(__arg));
-    this->__state_ |= base::__constructed | base::ready;
-    __cv_.notify_all();
-}
-
-template <class _Rp>
-template <class _Arg>
-void
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-__assoc_state<_Rp>::set_value_at_thread_exit(_Arg&& __arg)
-#else
-__assoc_state<_Rp>::set_value_at_thread_exit(_Arg& __arg)
-#endif
-{
-    unique_lock<mutex> __lk(this->__mut_);
-    if (this->__has_value())
-        __throw_future_error(future_errc::promise_already_satisfied);
-    ::new(&__value_) _Rp(_VSTD::forward<_Arg>(__arg));
-    this->__state_ |= base::__constructed;
-    __thread_local_data()->__make_ready_at_thread_exit(this);
-}
-
-template <class _Rp>
-_Rp
-__assoc_state<_Rp>::move()
-{
-    unique_lock<mutex> __lk(this->__mut_);
-    this->__sub_wait(__lk);
-    if (this->__exception_ != nullptr)
-        rethrow_exception(this->__exception_);
-    return _VSTD::move(*reinterpret_cast<_Rp*>(&__value_));
-}
-
-template <class _Rp>
-typename add_lvalue_reference<_Rp>::type
-__assoc_state<_Rp>::copy()
-{
-    unique_lock<mutex> __lk(this->__mut_);
-    this->__sub_wait(__lk);
-    if (this->__exception_ != nullptr)
-        rethrow_exception(this->__exception_);
-    return *reinterpret_cast<_Rp*>(&__value_);
-}
-
-template <class _Rp>
-class _LIBCPP_AVAILABILITY_FUTURE __assoc_state<_Rp&>
-    : public __assoc_sub_state
-{
-    typedef __assoc_sub_state base;
-    typedef _Rp* _Up;
-protected:
-    _Up __value_;
-
-    virtual void __on_zero_shared() _NOEXCEPT;
-public:
-
-    void set_value(_Rp& __arg);
-    void set_value_at_thread_exit(_Rp& __arg);
-
-    _Rp& copy();
-};
-
-template <class _Rp>
-void
-__assoc_state<_Rp&>::__on_zero_shared() _NOEXCEPT
-{
-    delete this;
-}
-
-template <class _Rp>
-void
-__assoc_state<_Rp&>::set_value(_Rp& __arg)
-{
-    unique_lock<mutex> __lk(this->__mut_);
-    if (this->__has_value())
-        __throw_future_error(future_errc::promise_already_satisfied);
-    __value_ = _VSTD::addressof(__arg);
-    this->__state_ |= base::__constructed | base::ready;
-    __cv_.notify_all();
-}
-
-template <class _Rp>
-void
-__assoc_state<_Rp&>::set_value_at_thread_exit(_Rp& __arg)
-{
-    unique_lock<mutex> __lk(this->__mut_);
-    if (this->__has_value())
-        __throw_future_error(future_errc::promise_already_satisfied);
-    __value_ = _VSTD::addressof(__arg);
-    this->__state_ |= base::__constructed;
-    __thread_local_data()->__make_ready_at_thread_exit(this);
-}
-
-template <class _Rp>
-_Rp&
-__assoc_state<_Rp&>::copy()
-{
-    unique_lock<mutex> __lk(this->__mut_);
-    this->__sub_wait(__lk);
-    if (this->__exception_ != nullptr)
-        rethrow_exception(this->__exception_);
-    return *__value_;
-}
-
-template <class _Rp, class _Alloc>
-class _LIBCPP_AVAILABILITY_FUTURE __assoc_state_alloc
-    : public __assoc_state<_Rp>
-{
-    typedef __assoc_state<_Rp> base;
-    _Alloc __alloc_;
-
-    virtual void __on_zero_shared() _NOEXCEPT;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __assoc_state_alloc(const _Alloc& __a)
-        : __alloc_(__a) {}
-};
-
-template <class _Rp, class _Alloc>
-void
-__assoc_state_alloc<_Rp, _Alloc>::__on_zero_shared() _NOEXCEPT
-{
-    if (this->__state_ & base::__constructed)
-        reinterpret_cast<_Rp*>(_VSTD::addressof(this->__value_))->~_Rp();
-    typedef typename __allocator_traits_rebind<_Alloc, __assoc_state_alloc>::type _Al;
-    typedef allocator_traits<_Al> _ATraits;
-    typedef pointer_traits<typename _ATraits::pointer> _PTraits;
-    _Al __a(__alloc_);
-    this->~__assoc_state_alloc();
-    __a.deallocate(_PTraits::pointer_to(*this), 1);
-}
-
-template <class _Rp, class _Alloc>
-class _LIBCPP_AVAILABILITY_FUTURE __assoc_state_alloc<_Rp&, _Alloc>
-    : public __assoc_state<_Rp&>
-{
-    typedef __assoc_state<_Rp&> base;
-    _Alloc __alloc_;
-
-    virtual void __on_zero_shared() _NOEXCEPT;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __assoc_state_alloc(const _Alloc& __a)
-        : __alloc_(__a) {}
-};
-
-template <class _Rp, class _Alloc>
-void
-__assoc_state_alloc<_Rp&, _Alloc>::__on_zero_shared() _NOEXCEPT
-{
-    typedef typename __allocator_traits_rebind<_Alloc, __assoc_state_alloc>::type _Al;
-    typedef allocator_traits<_Al> _ATraits;
-    typedef pointer_traits<typename _ATraits::pointer> _PTraits;
-    _Al __a(__alloc_);
-    this->~__assoc_state_alloc();
-    __a.deallocate(_PTraits::pointer_to(*this), 1);
-}
-
-template <class _Alloc>
-class _LIBCPP_AVAILABILITY_FUTURE __assoc_sub_state_alloc
-    : public __assoc_sub_state
-{
-    typedef __assoc_sub_state base;
-    _Alloc __alloc_;
-
-    virtual void __on_zero_shared() _NOEXCEPT;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __assoc_sub_state_alloc(const _Alloc& __a)
-        : __alloc_(__a) {}
-};
-
-template <class _Alloc>
-void
-__assoc_sub_state_alloc<_Alloc>::__on_zero_shared() _NOEXCEPT
-{
-    typedef typename __allocator_traits_rebind<_Alloc, __assoc_sub_state_alloc>::type _Al;
-    typedef allocator_traits<_Al> _ATraits;
-    typedef pointer_traits<typename _ATraits::pointer> _PTraits;
-    _Al __a(__alloc_);
-    this->~__assoc_sub_state_alloc();
-    __a.deallocate(_PTraits::pointer_to(*this), 1);
-}
-
-template <class _Rp, class _Fp>
-class _LIBCPP_AVAILABILITY_FUTURE __deferred_assoc_state
-    : public __assoc_state<_Rp>
-{
-    typedef __assoc_state<_Rp> base;
-
-    _Fp __func_;
-
-public:
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __deferred_assoc_state(_Fp&& __f);
-#endif
-
-    virtual void __execute();
-};
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Rp, class _Fp>
-inline
-__deferred_assoc_state<_Rp, _Fp>::__deferred_assoc_state(_Fp&& __f)
-    : __func_(_VSTD::forward<_Fp>(__f))
-{
-    this->__set_deferred();
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Rp, class _Fp>
-void
-__deferred_assoc_state<_Rp, _Fp>::__execute()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        this->set_value(__func_());
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->set_exception(current_exception());
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template <class _Fp>
-class _LIBCPP_AVAILABILITY_FUTURE __deferred_assoc_state<void, _Fp>
-    : public __assoc_sub_state
-{
-    typedef __assoc_sub_state base;
-
-    _Fp __func_;
-
-public:
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __deferred_assoc_state(_Fp&& __f);
-#endif
-
-    virtual void __execute();
-};
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Fp>
-inline
-__deferred_assoc_state<void, _Fp>::__deferred_assoc_state(_Fp&& __f)
-    : __func_(_VSTD::forward<_Fp>(__f))
-{
-    this->__set_deferred();
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Fp>
-void
-__deferred_assoc_state<void, _Fp>::__execute()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __func_();
-        this->set_value();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->set_exception(current_exception());
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template <class _Rp, class _Fp>
-class _LIBCPP_AVAILABILITY_FUTURE __async_assoc_state
-    : public __assoc_state<_Rp>
-{
-    typedef __assoc_state<_Rp> base;
-
-    _Fp __func_;
-
-    virtual void __on_zero_shared() _NOEXCEPT;
-public:
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __async_assoc_state(_Fp&& __f);
-#endif
-
-    virtual void __execute();
-};
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Rp, class _Fp>
-inline
-__async_assoc_state<_Rp, _Fp>::__async_assoc_state(_Fp&& __f)
-    : __func_(_VSTD::forward<_Fp>(__f))
-{
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Rp, class _Fp>
-void
-__async_assoc_state<_Rp, _Fp>::__execute()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        this->set_value(__func_());
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->set_exception(current_exception());
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template <class _Rp, class _Fp>
-void
-__async_assoc_state<_Rp, _Fp>::__on_zero_shared() _NOEXCEPT
-{
-    this->wait();
-    base::__on_zero_shared();
-}
-
-template <class _Fp>
-class _LIBCPP_AVAILABILITY_FUTURE __async_assoc_state<void, _Fp>
-    : public __assoc_sub_state
-{
-    typedef __assoc_sub_state base;
-
-    _Fp __func_;
-
-    virtual void __on_zero_shared() _NOEXCEPT;
-public:
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __async_assoc_state(_Fp&& __f);
-#endif
-
-    virtual void __execute();
-};
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Fp>
-inline
-__async_assoc_state<void, _Fp>::__async_assoc_state(_Fp&& __f)
-    : __func_(_VSTD::forward<_Fp>(__f))
-{
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Fp>
-void
-__async_assoc_state<void, _Fp>::__execute()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __func_();
-        this->set_value();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->set_exception(current_exception());
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template <class _Fp>
-void
-__async_assoc_state<void, _Fp>::__on_zero_shared() _NOEXCEPT
-{
-    this->wait();
-    base::__on_zero_shared();
-}
-
-template <class _Rp> class _LIBCPP_TEMPLATE_VIS promise;
-template <class _Rp> class _LIBCPP_TEMPLATE_VIS shared_future;
-
-// future
-
-template <class _Rp> class _LIBCPP_TEMPLATE_VIS future;
-
-template <class _Rp, class _Fp>
-future<_Rp>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-__make_deferred_assoc_state(_Fp&& __f);
-#else
-__make_deferred_assoc_state(_Fp __f);
-#endif
-
-template <class _Rp, class _Fp>
-future<_Rp>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-__make_async_assoc_state(_Fp&& __f);
-#else
-__make_async_assoc_state(_Fp __f);
-#endif
-
-template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE future
-{
-    __assoc_state<_Rp>* __state_;
-
-    explicit future(__assoc_state<_Rp>* __state);
-
-    template <class> friend class promise;
-    template <class> friend class shared_future;
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_deferred_assoc_state(_Fp&& __f);
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_async_assoc_state(_Fp&& __f);
-#else
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_deferred_assoc_state(_Fp __f);
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_async_assoc_state(_Fp __f);
-#endif
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    future() _NOEXCEPT : __state_(nullptr) {}
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    future(future&& __rhs) _NOEXCEPT
-        : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
-    future(const future&) = delete;
-    future& operator=(const future&) = delete;
-    _LIBCPP_INLINE_VISIBILITY
-    future& operator=(future&& __rhs) _NOEXCEPT
-        {
-            future(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    future(const future&);
-    future& operator=(const future&);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~future();
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future<_Rp> share() _NOEXCEPT;
-
-    // retrieving the value
-    _Rp get();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // functions to check state
-    _LIBCPP_INLINE_VISIBILITY
-    bool valid() const _NOEXCEPT {return __state_ != nullptr;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void wait() const {__state_->wait();}
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
-            {return __state_->wait_for(__rel_time);}
-    template <class _Clock, class _Duration>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
-            {return __state_->wait_until(__abs_time);}
-};
-
-template <class _Rp>
-future<_Rp>::future(__assoc_state<_Rp>* __state)
-    : __state_(__state)
-{
-    __state_->__attach_future();
-}
-
-struct __release_shared_count
-{
-    void operator()(__shared_count* p) {p->__release_shared();}
-};
-
-template <class _Rp>
-future<_Rp>::~future()
-{
-    if (__state_)
-        __state_->__release_shared();
-}
-
-template <class _Rp>
-_Rp
-future<_Rp>::get()
-{
-    unique_ptr<__shared_count, __release_shared_count> __(__state_);
-    __assoc_state<_Rp>* __s = __state_;
-    __state_ = nullptr;
-    return __s->move();
-}
-
-template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE future<_Rp&>
-{
-    __assoc_state<_Rp&>* __state_;
-
-    explicit future(__assoc_state<_Rp&>* __state);
-
-    template <class> friend class promise;
-    template <class> friend class shared_future;
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_deferred_assoc_state(_Fp&& __f);
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_async_assoc_state(_Fp&& __f);
-#else
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_deferred_assoc_state(_Fp __f);
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_async_assoc_state(_Fp __f);
-#endif
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    future() _NOEXCEPT : __state_(nullptr) {}
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    future(future&& __rhs) _NOEXCEPT
-        : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
-    future(const future&) = delete;
-    future& operator=(const future&) = delete;
-    _LIBCPP_INLINE_VISIBILITY
-    future& operator=(future&& __rhs) _NOEXCEPT
-        {
-            future(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    future(const future&);
-    future& operator=(const future&);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~future();
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future<_Rp&> share() _NOEXCEPT;
-
-    // retrieving the value
-    _Rp& get();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // functions to check state
-    _LIBCPP_INLINE_VISIBILITY
-    bool valid() const _NOEXCEPT {return __state_ != nullptr;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void wait() const {__state_->wait();}
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
-            {return __state_->wait_for(__rel_time);}
-    template <class _Clock, class _Duration>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
-            {return __state_->wait_until(__abs_time);}
-};
-
-template <class _Rp>
-future<_Rp&>::future(__assoc_state<_Rp&>* __state)
-    : __state_(__state)
-{
-    __state_->__attach_future();
-}
-
-template <class _Rp>
-future<_Rp&>::~future()
-{
-    if (__state_)
-        __state_->__release_shared();
-}
-
-template <class _Rp>
-_Rp&
-future<_Rp&>::get()
-{
-    unique_ptr<__shared_count, __release_shared_count> __(__state_);
-    __assoc_state<_Rp&>* __s = __state_;
-    __state_ = nullptr;
-    return __s->copy();
-}
-
-template <>
-class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_FUTURE future<void>
-{
-    __assoc_sub_state* __state_;
-
-    explicit future(__assoc_sub_state* __state);
-
-    template <class> friend class promise;
-    template <class> friend class shared_future;
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_deferred_assoc_state(_Fp&& __f);
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_async_assoc_state(_Fp&& __f);
-#else
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_deferred_assoc_state(_Fp __f);
-    template <class _R1, class _Fp>
-        friend future<_R1> __make_async_assoc_state(_Fp __f);
-#endif
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    future() _NOEXCEPT : __state_(nullptr) {}
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    future(future&& __rhs) _NOEXCEPT
-        : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
-    future(const future&) = delete;
-    future& operator=(const future&) = delete;
-    _LIBCPP_INLINE_VISIBILITY
-    future& operator=(future&& __rhs) _NOEXCEPT
-        {
-            future(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    future(const future&);
-    future& operator=(const future&);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~future();
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future<void> share() _NOEXCEPT;
-
-    // retrieving the value
-    void get();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // functions to check state
-    _LIBCPP_INLINE_VISIBILITY
-    bool valid() const _NOEXCEPT {return __state_ != nullptr;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void wait() const {__state_->wait();}
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
-            {return __state_->wait_for(__rel_time);}
-    template <class _Clock, class _Duration>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
-            {return __state_->wait_until(__abs_time);}
-};
-
-template <class _Rp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(future<_Rp>& __x, future<_Rp>& __y) _NOEXCEPT
-{
-    __x.swap(__y);
-}
-
-// promise<R>
-
-template <class _Callable> class packaged_task;
-
-template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE promise
-{
-    __assoc_state<_Rp>* __state_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit promise(nullptr_t) _NOEXCEPT : __state_(nullptr) {}
-
-    template <class> friend class packaged_task;
-public:
-    promise();
-    template <class _Alloc>
-        promise(allocator_arg_t, const _Alloc& __a);
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    promise(promise&& __rhs) _NOEXCEPT
-        : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
-    promise(const promise& __rhs) = delete;
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    promise(const promise& __rhs);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~promise();
-
-    // assignment
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    promise& operator=(promise&& __rhs) _NOEXCEPT
-        {
-            promise(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-    promise& operator=(const promise& __rhs) = delete;
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    promise& operator=(const promise& __rhs);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(promise& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // retrieving the result
-    future<_Rp> get_future();
-
-    // setting the result
-    void set_value(const _Rp& __r);
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    void set_value(_Rp&& __r);
-#endif
-    void set_exception(exception_ptr __p);
-
-    // setting the result with deferred notification
-    void set_value_at_thread_exit(const _Rp& __r);
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    void set_value_at_thread_exit(_Rp&& __r);
-#endif
-    void set_exception_at_thread_exit(exception_ptr __p);
-};
-
-template <class _Rp>
-promise<_Rp>::promise()
-    : __state_(new __assoc_state<_Rp>)
-{
-}
-
-template <class _Rp>
-template <class _Alloc>
-promise<_Rp>::promise(allocator_arg_t, const _Alloc& __a0)
-{
-    typedef __assoc_state_alloc<_Rp, _Alloc> _State;
-    typedef typename __allocator_traits_rebind<_Alloc, _State>::type _A2;
-    typedef __allocator_destructor<_A2> _D2;
-    _A2 __a(__a0);
-    unique_ptr<_State, _D2> __hold(__a.allocate(1), _D2(__a, 1));
-    ::new(static_cast<void*>(_VSTD::addressof(*__hold.get()))) _State(__a0);
-    __state_ = _VSTD::addressof(*__hold.release());
-}
-
-template <class _Rp>
-promise<_Rp>::~promise()
-{
-    if (__state_)
-    {
-        if (!__state_->__has_value() && __state_->use_count() > 1)
-            __state_->set_exception(make_exception_ptr(
-                      future_error(make_error_code(future_errc::broken_promise))
-                                                      ));
-        __state_->__release_shared();
-    }
-}
-
-template <class _Rp>
-future<_Rp>
-promise<_Rp>::get_future()
-{
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    return future<_Rp>(__state_);
-}
-
-template <class _Rp>
-void
-promise<_Rp>::set_value(const _Rp& __r)
-{
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_value(__r);
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Rp>
-void
-promise<_Rp>::set_value(_Rp&& __r)
-{
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_value(_VSTD::move(__r));
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Rp>
-void
-promise<_Rp>::set_exception(exception_ptr __p)
-{
-    _LIBCPP_ASSERT( __p != nullptr, "promise::set_exception: received nullptr" );
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_exception(__p);
-}
-
-template <class _Rp>
-void
-promise<_Rp>::set_value_at_thread_exit(const _Rp& __r)
-{
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_value_at_thread_exit(__r);
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Rp>
-void
-promise<_Rp>::set_value_at_thread_exit(_Rp&& __r)
-{
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_value_at_thread_exit(_VSTD::move(__r));
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class _Rp>
-void
-promise<_Rp>::set_exception_at_thread_exit(exception_ptr __p)
-{
-    _LIBCPP_ASSERT( __p != nullptr, "promise::set_exception_at_thread_exit: received nullptr" );
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_exception_at_thread_exit(__p);
-}
-
-// promise<R&>
-
-template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE promise<_Rp&>
-{
-    __assoc_state<_Rp&>* __state_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit promise(nullptr_t) _NOEXCEPT : __state_(nullptr) {}
-
-    template <class> friend class packaged_task;
-
-public:
-    promise();
-    template <class _Allocator>
-        promise(allocator_arg_t, const _Allocator& __a);
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    promise(promise&& __rhs) _NOEXCEPT
-        : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
-    promise(const promise& __rhs) = delete;
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    promise(const promise& __rhs);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~promise();
-
-    // assignment
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    promise& operator=(promise&& __rhs) _NOEXCEPT
-        {
-            promise(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-    promise& operator=(const promise& __rhs) = delete;
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    promise& operator=(const promise& __rhs);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(promise& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // retrieving the result
-    future<_Rp&> get_future();
-
-    // setting the result
-    void set_value(_Rp& __r);
-    void set_exception(exception_ptr __p);
-
-    // setting the result with deferred notification
-    void set_value_at_thread_exit(_Rp&);
-    void set_exception_at_thread_exit(exception_ptr __p);
-};
-
-template <class _Rp>
-promise<_Rp&>::promise()
-    : __state_(new __assoc_state<_Rp&>)
-{
-}
-
-template <class _Rp>
-template <class _Alloc>
-promise<_Rp&>::promise(allocator_arg_t, const _Alloc& __a0)
-{
-    typedef __assoc_state_alloc<_Rp&, _Alloc> _State;
-    typedef typename __allocator_traits_rebind<_Alloc, _State>::type _A2;
-    typedef __allocator_destructor<_A2> _D2;
-    _A2 __a(__a0);
-    unique_ptr<_State, _D2> __hold(__a.allocate(1), _D2(__a, 1));
-    ::new(static_cast<void*>(_VSTD::addressof(*__hold.get()))) _State(__a0);
-    __state_ = _VSTD::addressof(*__hold.release());
-}
-
-template <class _Rp>
-promise<_Rp&>::~promise()
-{
-    if (__state_)
-    {
-        if (!__state_->__has_value() && __state_->use_count() > 1)
-            __state_->set_exception(make_exception_ptr(
-                      future_error(make_error_code(future_errc::broken_promise))
-                                                      ));
-        __state_->__release_shared();
-    }
-}
-
-template <class _Rp>
-future<_Rp&>
-promise<_Rp&>::get_future()
-{
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    return future<_Rp&>(__state_);
-}
-
-template <class _Rp>
-void
-promise<_Rp&>::set_value(_Rp& __r)
-{
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_value(__r);
-}
-
-template <class _Rp>
-void
-promise<_Rp&>::set_exception(exception_ptr __p)
-{
-    _LIBCPP_ASSERT( __p != nullptr, "promise::set_exception: received nullptr" );
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_exception(__p);
-}
-
-template <class _Rp>
-void
-promise<_Rp&>::set_value_at_thread_exit(_Rp& __r)
-{
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_value_at_thread_exit(__r);
-}
-
-template <class _Rp>
-void
-promise<_Rp&>::set_exception_at_thread_exit(exception_ptr __p)
-{
-    _LIBCPP_ASSERT( __p != nullptr, "promise::set_exception_at_thread_exit: received nullptr" );
-    if (__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    __state_->set_exception_at_thread_exit(__p);
-}
-
-// promise<void>
-
-template <>
-class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_FUTURE promise<void>
-{
-    __assoc_sub_state* __state_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit promise(nullptr_t) _NOEXCEPT : __state_(nullptr) {}
-
-    template <class> friend class packaged_task;
-
-public:
-    promise();
-    template <class _Allocator>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        promise(allocator_arg_t, const _Allocator& __a);
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    promise(promise&& __rhs) _NOEXCEPT
-        : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
-    promise(const promise& __rhs) = delete;
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    promise(const promise& __rhs);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~promise();
-
-    // assignment
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    promise& operator=(promise&& __rhs) _NOEXCEPT
-        {
-            promise(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-    promise& operator=(const promise& __rhs) = delete;
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-private:
-    promise& operator=(const promise& __rhs);
-public:
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(promise& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // retrieving the result
-    future<void> get_future();
-
-    // setting the result
-    void set_value();
-    void set_exception(exception_ptr __p);
-
-    // setting the result with deferred notification
-    void set_value_at_thread_exit();
-    void set_exception_at_thread_exit(exception_ptr __p);
-};
-
-template <class _Alloc>
-promise<void>::promise(allocator_arg_t, const _Alloc& __a0)
-{
-    typedef __assoc_sub_state_alloc<_Alloc> _State;
-    typedef typename __allocator_traits_rebind<_Alloc, _State>::type _A2;
-    typedef __allocator_destructor<_A2> _D2;
-    _A2 __a(__a0);
-    unique_ptr<_State, _D2> __hold(__a.allocate(1), _D2(__a, 1));
-    ::new(static_cast<void*>(_VSTD::addressof(*__hold.get()))) _State(__a0);
-    __state_ = _VSTD::addressof(*__hold.release());
-}
-
-template <class _Rp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(promise<_Rp>& __x, promise<_Rp>& __y) _NOEXCEPT
-{
-    __x.swap(__y);
-}
-
-template <class _Rp, class _Alloc>
-    struct _LIBCPP_TEMPLATE_VIS uses_allocator<promise<_Rp>, _Alloc>
-        : public true_type {};
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-
-// packaged_task
-
-template<class _Fp> class __packaged_task_base;
-
-template<class _Rp, class ..._ArgTypes>
-class _LIBCPP_AVAILABILITY_FUTURE __packaged_task_base<_Rp(_ArgTypes...)>
-{
-    __packaged_task_base(const __packaged_task_base&);
-    __packaged_task_base& operator=(const __packaged_task_base&);
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __packaged_task_base() {}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual ~__packaged_task_base() {}
-    virtual void __move_to(__packaged_task_base*) _NOEXCEPT = 0;
-    virtual void destroy() = 0;
-    virtual void destroy_deallocate() = 0;
-    virtual _Rp operator()(_ArgTypes&& ...) = 0;
-};
-
-template<class _FD, class _Alloc, class _FB> class __packaged_task_func;
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-class _LIBCPP_AVAILABILITY_FUTURE __packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>
-    : public  __packaged_task_base<_Rp(_ArgTypes...)>
-{
-    __compressed_pair<_Fp, _Alloc> __f_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __packaged_task_func(const _Fp& __f) : __f_(__f) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __packaged_task_func(_Fp&& __f) : __f_(_VSTD::move(__f)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    __packaged_task_func(const _Fp& __f, const _Alloc& __a)
-        : __f_(__f, __a) {}
-    _LIBCPP_INLINE_VISIBILITY
-    __packaged_task_func(_Fp&& __f, const _Alloc& __a)
-        : __f_(_VSTD::move(__f), __a) {}
-    virtual void __move_to(__packaged_task_base<_Rp(_ArgTypes...)>*) _NOEXCEPT;
-    virtual void destroy();
-    virtual void destroy_deallocate();
-    virtual _Rp operator()(_ArgTypes&& ... __args);
-};
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-void
-__packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::__move_to(
-                              __packaged_task_base<_Rp(_ArgTypes...)>* __p) _NOEXCEPT
-{
-    ::new (__p) __packaged_task_func(_VSTD::move(__f_.first()), _VSTD::move(__f_.second()));
-}
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-void
-__packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::destroy()
-{
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-}
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-void
-__packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::destroy_deallocate()
-{
-    typedef typename __allocator_traits_rebind<_Alloc, __packaged_task_func>::type _Ap;
-    typedef allocator_traits<_Ap> _ATraits;
-    typedef pointer_traits<typename _ATraits::pointer> _PTraits;
-    _Ap __a(__f_.second());
-    __f_.~__compressed_pair<_Fp, _Alloc>();
-    __a.deallocate(_PTraits::pointer_to(*this), 1);
-}
-
-template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
-_Rp
-__packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::operator()(_ArgTypes&& ... __arg)
-{
-    return __invoke(__f_.first(), _VSTD::forward<_ArgTypes>(__arg)...);
-}
-
-template <class _Callable> class __packaged_task_function;
-
-template<class _Rp, class ..._ArgTypes>
-class _LIBCPP_AVAILABILITY_FUTURE __packaged_task_function<_Rp(_ArgTypes...)>
-{
-    typedef __packaged_task_base<_Rp(_ArgTypes...)> __base;
-    typename aligned_storage<3*sizeof(void*)>::type __buf_;
-    __base* __f_;
-
-public:
-    typedef _Rp result_type;
-
-    // construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY
-    __packaged_task_function() _NOEXCEPT : __f_(nullptr) {}
-    template<class _Fp>
-      __packaged_task_function(_Fp&& __f);
-    template<class _Fp, class _Alloc>
-      __packaged_task_function(allocator_arg_t, const _Alloc& __a, _Fp&& __f);
-
-    __packaged_task_function(__packaged_task_function&&) _NOEXCEPT;
-    __packaged_task_function& operator=(__packaged_task_function&&) _NOEXCEPT;
-
-    __packaged_task_function(const __packaged_task_function&) =  delete;
-    __packaged_task_function& operator=(const __packaged_task_function&) =  delete;
-
-    ~__packaged_task_function();
-
-    void swap(__packaged_task_function&) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Rp operator()(_ArgTypes...) const;
-};
-
-template<class _Rp, class ..._ArgTypes>
-__packaged_task_function<_Rp(_ArgTypes...)>::__packaged_task_function(__packaged_task_function&& __f) _NOEXCEPT
-{
-    if (__f.__f_ == nullptr)
-        __f_ = nullptr;
-    else if (__f.__f_ == (__base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__move_to(__f_);
-    }
-    else
-    {
-        __f_ = __f.__f_;
-        __f.__f_ = nullptr;
-    }
-}
-
-template<class _Rp, class ..._ArgTypes>
-template <class _Fp>
-__packaged_task_function<_Rp(_ArgTypes...)>::__packaged_task_function(_Fp&& __f)
-    : __f_(nullptr)
-{
-    typedef typename remove_reference<typename decay<_Fp>::type>::type _FR;
-    typedef __packaged_task_func<_FR, allocator<_FR>, _Rp(_ArgTypes...)> _FF;
-    if (sizeof(_FF) <= sizeof(__buf_))
-    {
-        __f_ = (__base*)&__buf_;
-        ::new (__f_) _FF(_VSTD::forward<_Fp>(__f));
-    }
-    else
-    {
-        typedef allocator<_FF> _Ap;
-        _Ap __a;
-        typedef __allocator_destructor<_Ap> _Dp;
-        unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-        ::new (__hold.get()) _FF(_VSTD::forward<_Fp>(__f), allocator<_FR>(__a));
-        __f_ = __hold.release();
-    }
-}
-
-template<class _Rp, class ..._ArgTypes>
-template <class _Fp, class _Alloc>
-__packaged_task_function<_Rp(_ArgTypes...)>::__packaged_task_function(
-                                  allocator_arg_t, const _Alloc& __a0, _Fp&& __f)
-    : __f_(nullptr)
-{
-    typedef typename remove_reference<typename decay<_Fp>::type>::type _FR;
-    typedef __packaged_task_func<_FR, _Alloc, _Rp(_ArgTypes...)> _FF;
-    if (sizeof(_FF) <= sizeof(__buf_))
-    {
-        __f_ = (__base*)&__buf_;
-        ::new (__f_) _FF(_VSTD::forward<_Fp>(__f));
-    }
-    else
-    {
-        typedef typename __allocator_traits_rebind<_Alloc, _FF>::type _Ap;
-        _Ap __a(__a0);
-        typedef __allocator_destructor<_Ap> _Dp;
-        unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-        ::new (static_cast<void*>(_VSTD::addressof(*__hold.get())))
-            _FF(_VSTD::forward<_Fp>(__f), _Alloc(__a));
-        __f_ = _VSTD::addressof(*__hold.release());
-    }
-}
-
-template<class _Rp, class ..._ArgTypes>
-__packaged_task_function<_Rp(_ArgTypes...)>&
-__packaged_task_function<_Rp(_ArgTypes...)>::operator=(__packaged_task_function&& __f) _NOEXCEPT
-{
-    if (__f_ == (__base*)&__buf_)
-        __f_->destroy();
-    else if (__f_)
-        __f_->destroy_deallocate();
-    __f_ = nullptr;
-    if (__f.__f_ == nullptr)
-        __f_ = nullptr;
-    else if (__f.__f_ == (__base*)&__f.__buf_)
-    {
-        __f_ = (__base*)&__buf_;
-        __f.__f_->__move_to(__f_);
-    }
-    else
-    {
-        __f_ = __f.__f_;
-        __f.__f_ = nullptr;
-    }
-    return *this;
-}
-
-template<class _Rp, class ..._ArgTypes>
-__packaged_task_function<_Rp(_ArgTypes...)>::~__packaged_task_function()
-{
-    if (__f_ == (__base*)&__buf_)
-        __f_->destroy();
-    else if (__f_)
-        __f_->destroy_deallocate();
-}
-
-template<class _Rp, class ..._ArgTypes>
-void
-__packaged_task_function<_Rp(_ArgTypes...)>::swap(__packaged_task_function& __f) _NOEXCEPT
-{
-    if (__f_ == (__base*)&__buf_ && __f.__f_ == (__base*)&__f.__buf_)
-    {
-        typename aligned_storage<sizeof(__buf_)>::type __tempbuf;
-        __base* __t = (__base*)&__tempbuf;
-        __f_->__move_to(__t);
-        __f_->destroy();
-        __f_ = nullptr;
-        __f.__f_->__move_to((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = nullptr;
-        __f_ = (__base*)&__buf_;
-        __t->__move_to((__base*)&__f.__buf_);
-        __t->destroy();
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f_ == (__base*)&__buf_)
-    {
-        __f_->__move_to((__base*)&__f.__buf_);
-        __f_->destroy();
-        __f_ = __f.__f_;
-        __f.__f_ = (__base*)&__f.__buf_;
-    }
-    else if (__f.__f_ == (__base*)&__f.__buf_)
-    {
-        __f.__f_->__move_to((__base*)&__buf_);
-        __f.__f_->destroy();
-        __f.__f_ = __f_;
-        __f_ = (__base*)&__buf_;
-    }
-    else
-        _VSTD::swap(__f_, __f.__f_);
-}
-
-template<class _Rp, class ..._ArgTypes>
-inline
-_Rp
-__packaged_task_function<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __arg) const
-{
-    return (*__f_)(_VSTD::forward<_ArgTypes>(__arg)...);
-}
-
-template<class _Rp, class ..._ArgTypes>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE packaged_task<_Rp(_ArgTypes...)>
-{
-public:
-    typedef _Rp result_type; // extension
-
-private:
-    __packaged_task_function<result_type(_ArgTypes...)> __f_;
-    promise<result_type>                                __p_;
-
-public:
-    // construction and destruction
-    _LIBCPP_INLINE_VISIBILITY
-    packaged_task() _NOEXCEPT : __p_(nullptr) {}
-    template <class _Fp,
-              class = typename enable_if
-              <
-                  !is_same<
-                      typename __uncvref<_Fp>::type,
-                      packaged_task
-                      >::value
-                  >::type
-             >
-        _LIBCPP_INLINE_VISIBILITY
-        explicit packaged_task(_Fp&& __f) : __f_(_VSTD::forward<_Fp>(__f)) {}
-    template <class _Fp, class _Allocator,
-              class = typename enable_if
-              <
-                  !is_same<
-                      typename __uncvref<_Fp>::type,
-                      packaged_task
-                      >::value
-                  >::type
-              >
-        _LIBCPP_INLINE_VISIBILITY
-        packaged_task(allocator_arg_t, const _Allocator& __a, _Fp&& __f)
-             : __f_(allocator_arg, __a, _VSTD::forward<_Fp>(__f)),
-               __p_(allocator_arg, __a) {}
-    // ~packaged_task() = default;
-
-    // no copy
-    packaged_task(const packaged_task&) = delete;
-    packaged_task& operator=(const packaged_task&) = delete;
-
-    // move support
-    _LIBCPP_INLINE_VISIBILITY
-    packaged_task(packaged_task&& __other) _NOEXCEPT
-        : __f_(_VSTD::move(__other.__f_)), __p_(_VSTD::move(__other.__p_)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    packaged_task& operator=(packaged_task&& __other) _NOEXCEPT
-    {
-        __f_ = _VSTD::move(__other.__f_);
-        __p_ = _VSTD::move(__other.__p_);
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(packaged_task& __other) _NOEXCEPT
-    {
-        __f_.swap(__other.__f_);
-        __p_.swap(__other.__p_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool valid() const _NOEXCEPT {return __p_.__state_ != nullptr;}
-
-    // result retrieval
-    _LIBCPP_INLINE_VISIBILITY
-    future<result_type> get_future() {return __p_.get_future();}
-
-    // execution
-    void operator()(_ArgTypes... __args);
-    void make_ready_at_thread_exit(_ArgTypes... __args);
-
-    void reset();
-};
-
-template<class _Rp, class ..._ArgTypes>
-void
-packaged_task<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __args)
-{
-    if (__p_.__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    if (__p_.__state_->__has_value())
-        __throw_future_error(future_errc::promise_already_satisfied);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __p_.set_value(__f_(_VSTD::forward<_ArgTypes>(__args)...));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __p_.set_exception(current_exception());
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template<class _Rp, class ..._ArgTypes>
-void
-packaged_task<_Rp(_ArgTypes...)>::make_ready_at_thread_exit(_ArgTypes... __args)
-{
-    if (__p_.__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    if (__p_.__state_->__has_value())
-        __throw_future_error(future_errc::promise_already_satisfied);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __p_.set_value_at_thread_exit(__f_(_VSTD::forward<_ArgTypes>(__args)...));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __p_.set_exception_at_thread_exit(current_exception());
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template<class _Rp, class ..._ArgTypes>
-void
-packaged_task<_Rp(_ArgTypes...)>::reset()
-{
-    if (!valid())
-        __throw_future_error(future_errc::no_state);
-    __p_ = promise<result_type>();
-}
-
-template<class ..._ArgTypes>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_AVAILABILITY_FUTURE packaged_task<void(_ArgTypes...)>
-{
-public:
-    typedef void result_type; // extension
-
-private:
-    __packaged_task_function<result_type(_ArgTypes...)> __f_;
-    promise<result_type>                                __p_;
-
-public:
-    // construction and destruction
-    _LIBCPP_INLINE_VISIBILITY
-    packaged_task() _NOEXCEPT : __p_(nullptr) {}
-    template <class _Fp,
-              class = typename enable_if
-              <
-                  !is_same<
-                      typename __uncvref<_Fp>::type,
-                      packaged_task
-                      >::value
-                  >::type
-              >
-        _LIBCPP_INLINE_VISIBILITY
-        explicit packaged_task(_Fp&& __f) : __f_(_VSTD::forward<_Fp>(__f)) {}
-    template <class _Fp, class _Allocator,
-              class = typename enable_if
-              <
-                  !is_same<
-                      typename __uncvref<_Fp>::type,
-                      packaged_task
-                      >::value
-                  >::type
-              >
-        _LIBCPP_INLINE_VISIBILITY
-        packaged_task(allocator_arg_t, const _Allocator& __a, _Fp&& __f)
-             : __f_(allocator_arg, __a, _VSTD::forward<_Fp>(__f)),
-               __p_(allocator_arg, __a) {}
-    // ~packaged_task() = default;
-
-    // no copy
-    packaged_task(const packaged_task&) = delete;
-    packaged_task& operator=(const packaged_task&) = delete;
-
-    // move support
-    _LIBCPP_INLINE_VISIBILITY
-    packaged_task(packaged_task&& __other) _NOEXCEPT
-        : __f_(_VSTD::move(__other.__f_)), __p_(_VSTD::move(__other.__p_)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    packaged_task& operator=(packaged_task&& __other) _NOEXCEPT
-    {
-        __f_ = _VSTD::move(__other.__f_);
-        __p_ = _VSTD::move(__other.__p_);
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(packaged_task& __other) _NOEXCEPT
-    {
-        __f_.swap(__other.__f_);
-        __p_.swap(__other.__p_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool valid() const _NOEXCEPT {return __p_.__state_ != nullptr;}
-
-    // result retrieval
-    _LIBCPP_INLINE_VISIBILITY
-    future<result_type> get_future() {return __p_.get_future();}
-
-    // execution
-    void operator()(_ArgTypes... __args);
-    void make_ready_at_thread_exit(_ArgTypes... __args);
-
-    void reset();
-};
-
-template<class ..._ArgTypes>
-void
-packaged_task<void(_ArgTypes...)>::operator()(_ArgTypes... __args)
-{
-    if (__p_.__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    if (__p_.__state_->__has_value())
-        __throw_future_error(future_errc::promise_already_satisfied);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __f_(_VSTD::forward<_ArgTypes>(__args)...);
-        __p_.set_value();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __p_.set_exception(current_exception());
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template<class ..._ArgTypes>
-void
-packaged_task<void(_ArgTypes...)>::make_ready_at_thread_exit(_ArgTypes... __args)
-{
-    if (__p_.__state_ == nullptr)
-        __throw_future_error(future_errc::no_state);
-    if (__p_.__state_->__has_value())
-        __throw_future_error(future_errc::promise_already_satisfied);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __f_(_VSTD::forward<_ArgTypes>(__args)...);
-        __p_.set_value_at_thread_exit();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __p_.set_exception_at_thread_exit(current_exception());
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template<class ..._ArgTypes>
-void
-packaged_task<void(_ArgTypes...)>::reset()
-{
-    if (!valid())
-        __throw_future_error(future_errc::no_state);
-    __p_ = promise<result_type>();
-}
-
-template <class _Callable>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(packaged_task<_Callable>& __x, packaged_task<_Callable>& __y) _NOEXCEPT
-{
-    __x.swap(__y);
-}
-
-template <class _Callable, class _Alloc>
-struct _LIBCPP_TEMPLATE_VIS uses_allocator<packaged_task<_Callable>, _Alloc>
-    : public true_type {};
-
-template <class _Rp, class _Fp>
-future<_Rp>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-__make_deferred_assoc_state(_Fp&& __f)
-#else
-__make_deferred_assoc_state(_Fp __f)
-#endif
-{
-    unique_ptr<__deferred_assoc_state<_Rp, _Fp>, __release_shared_count>
-        __h(new __deferred_assoc_state<_Rp, _Fp>(_VSTD::forward<_Fp>(__f)));
-    return future<_Rp>(__h.get());
-}
-
-template <class _Rp, class _Fp>
-future<_Rp>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-__make_async_assoc_state(_Fp&& __f)
-#else
-__make_async_assoc_state(_Fp __f)
-#endif
-{
-    unique_ptr<__async_assoc_state<_Rp, _Fp>, __release_shared_count>
-        __h(new __async_assoc_state<_Rp, _Fp>(_VSTD::forward<_Fp>(__f)));
-    _VSTD::thread(&__async_assoc_state<_Rp, _Fp>::__execute, __h.get()).detach();
-    return future<_Rp>(__h.get());
-}
-
-template <class _Fp, class... _Args>
-class __async_func
-{
-    tuple<_Fp, _Args...> __f_;
-
-public:
-    typedef typename __invoke_of<_Fp, _Args...>::type _Rp;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __async_func(_Fp&& __f, _Args&&... __args)
-        : __f_(_VSTD::move(__f), _VSTD::move(__args)...) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __async_func(__async_func&& __f) : __f_(_VSTD::move(__f.__f_)) {}
-
-    _Rp operator()()
-    {
-        typedef typename __make_tuple_indices<1+sizeof...(_Args), 1>::type _Index;
-        return __execute(_Index());
-    }
-private:
-    template <size_t ..._Indices>
-    _Rp
-    __execute(__tuple_indices<_Indices...>)
-    {
-        return __invoke(_VSTD::move(_VSTD::get<0>(__f_)), _VSTD::move(_VSTD::get<_Indices>(__f_))...);
-    }
-};
-
-inline _LIBCPP_INLINE_VISIBILITY bool __does_policy_contain(launch __policy, launch __value )
-{ return (int(__policy) & int(__value)) != 0; }
-
-template <class _Fp, class... _Args>
-_LIBCPP_NODISCARD_AFTER_CXX17
-future<typename __invoke_of<typename decay<_Fp>::type, typename decay<_Args>::type...>::type>
-async(launch __policy, _Fp&& __f, _Args&&... __args)
-{
-    typedef __async_func<typename decay<_Fp>::type, typename decay<_Args>::type...> _BF;
-    typedef typename _BF::_Rp _Rp;
-
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif
-        if (__does_policy_contain(__policy, launch::async))
-        return _VSTD::__make_async_assoc_state<_Rp>(_BF(__decay_copy(_VSTD::forward<_Fp>(__f)),
-                                                     __decay_copy(_VSTD::forward<_Args>(__args))...));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch ( ... ) { if (__policy == launch::async) throw ; }
-#endif
-
-    if (__does_policy_contain(__policy, launch::deferred))
-        return _VSTD::__make_deferred_assoc_state<_Rp>(_BF(__decay_copy(_VSTD::forward<_Fp>(__f)),
-                                                        __decay_copy(_VSTD::forward<_Args>(__args))...));
-    return future<_Rp>{};
-}
-
-template <class _Fp, class... _Args>
-_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY
-future<typename __invoke_of<typename decay<_Fp>::type, typename decay<_Args>::type...>::type>
-async(_Fp&& __f, _Args&&... __args)
-{
-    return _VSTD::async(launch::any, _VSTD::forward<_Fp>(__f),
-                                    _VSTD::forward<_Args>(__args)...);
-}
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-// shared_future
-
-template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS shared_future
-{
-    __assoc_state<_Rp>* __state_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future() _NOEXCEPT : __state_(nullptr) {}
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(const shared_future& __rhs)  _NOEXCEPT : __state_(__rhs.__state_)
-        {if (__state_) __state_->__add_shared();}
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(future<_Rp>&& __f) _NOEXCEPT : __state_(__f.__state_)
-        {__f.__state_ = nullptr;}
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(shared_future&& __rhs) _NOEXCEPT : __state_(__rhs.__state_)
-        {__rhs.__state_ = nullptr;}
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~shared_future();
-    shared_future& operator=(const shared_future& __rhs) _NOEXCEPT;
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future& operator=(shared_future&& __rhs) _NOEXCEPT
-        {
-            shared_future(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-    // retrieving the value
-    _LIBCPP_INLINE_VISIBILITY
-    const _Rp& get() const {return __state_->copy();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(shared_future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // functions to check state
-    _LIBCPP_INLINE_VISIBILITY
-    bool valid() const _NOEXCEPT {return __state_ != nullptr;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void wait() const {__state_->wait();}
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
-            {return __state_->wait_for(__rel_time);}
-    template <class _Clock, class _Duration>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
-            {return __state_->wait_until(__abs_time);}
-};
-
-template <class _Rp>
-shared_future<_Rp>::~shared_future()
-{
-    if (__state_)
-        __state_->__release_shared();
-}
-
-template <class _Rp>
-shared_future<_Rp>&
-shared_future<_Rp>::operator=(const shared_future& __rhs) _NOEXCEPT
-{
-    if (__rhs.__state_)
-        __rhs.__state_->__add_shared();
-    if (__state_)
-        __state_->__release_shared();
-    __state_ = __rhs.__state_;
-    return *this;
-}
-
-template <class _Rp>
-class _LIBCPP_TEMPLATE_VIS shared_future<_Rp&>
-{
-    __assoc_state<_Rp&>* __state_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future() _NOEXCEPT : __state_(nullptr) {}
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(const shared_future& __rhs) : __state_(__rhs.__state_)
-        {if (__state_) __state_->__add_shared();}
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(future<_Rp&>&& __f) _NOEXCEPT : __state_(__f.__state_)
-        {__f.__state_ = nullptr;}
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(shared_future&& __rhs) _NOEXCEPT : __state_(__rhs.__state_)
-        {__rhs.__state_ = nullptr;}
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~shared_future();
-    shared_future& operator=(const shared_future& __rhs);
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future& operator=(shared_future&& __rhs) _NOEXCEPT
-        {
-            shared_future(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-    // retrieving the value
-    _LIBCPP_INLINE_VISIBILITY
-    _Rp& get() const {return __state_->copy();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(shared_future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // functions to check state
-    _LIBCPP_INLINE_VISIBILITY
-    bool valid() const _NOEXCEPT {return __state_ != nullptr;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void wait() const {__state_->wait();}
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
-            {return __state_->wait_for(__rel_time);}
-    template <class _Clock, class _Duration>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
-            {return __state_->wait_until(__abs_time);}
-};
-
-template <class _Rp>
-shared_future<_Rp&>::~shared_future()
-{
-    if (__state_)
-        __state_->__release_shared();
-}
-
-template <class _Rp>
-shared_future<_Rp&>&
-shared_future<_Rp&>::operator=(const shared_future& __rhs)
-{
-    if (__rhs.__state_)
-        __rhs.__state_->__add_shared();
-    if (__state_)
-        __state_->__release_shared();
-    __state_ = __rhs.__state_;
-    return *this;
-}
-
-template <>
-class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_FUTURE shared_future<void>
-{
-    __assoc_sub_state* __state_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future() _NOEXCEPT : __state_(nullptr) {}
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(const shared_future& __rhs) : __state_(__rhs.__state_)
-        {if (__state_) __state_->__add_shared();}
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(future<void>&& __f) _NOEXCEPT : __state_(__f.__state_)
-        {__f.__state_ = nullptr;}
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future(shared_future&& __rhs) _NOEXCEPT : __state_(__rhs.__state_)
-        {__rhs.__state_ = nullptr;}
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~shared_future();
-    shared_future& operator=(const shared_future& __rhs);
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    shared_future& operator=(shared_future&& __rhs) _NOEXCEPT
-        {
-            shared_future(std::move(__rhs)).swap(*this);
-            return *this;
-        }
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-    // retrieving the value
-    _LIBCPP_INLINE_VISIBILITY
-    void get() const {__state_->copy();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(shared_future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
-
-    // functions to check state
-    _LIBCPP_INLINE_VISIBILITY
-    bool valid() const _NOEXCEPT {return __state_ != nullptr;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void wait() const {__state_->wait();}
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
-            {return __state_->wait_for(__rel_time);}
-    template <class _Clock, class _Duration>
-        _LIBCPP_INLINE_VISIBILITY
-        future_status
-        wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
-            {return __state_->wait_until(__abs_time);}
-};
-
-template <class _Rp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(shared_future<_Rp>& __x, shared_future<_Rp>& __y) _NOEXCEPT
-{
-    __x.swap(__y);
-}
-
-template <class _Rp>
-inline
-shared_future<_Rp>
-future<_Rp>::share() _NOEXCEPT
-{
-    return shared_future<_Rp>(_VSTD::move(*this));
-}
-
-template <class _Rp>
-inline
-shared_future<_Rp&>
-future<_Rp&>::share() _NOEXCEPT
-{
-    return shared_future<_Rp&>(_VSTD::move(*this));
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-inline
-shared_future<void>
-future<void>::share() _NOEXCEPT
-{
-    return shared_future<void>(_VSTD::move(*this));
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // !_LIBCPP_HAS_NO_THREADS
-
-#endif  // _LIBCPP_FUTURE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ios b/r21/sources/cxx-stl/llvm-libc++/include/ios
deleted file mode 100644
index 88efefb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/ios
+++ /dev/null
@@ -1,1066 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- ios -------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_IOS
-#define _LIBCPP_IOS
-
-/*
-    ios synopsis
-
-#include <iosfwd>
-
-namespace std
-{
-
-typedef OFF_T streamoff;
-typedef SZ_T streamsize;
-template <class stateT> class fpos;
-
-class ios_base
-{
-public:
-    class failure;
-
-    typedef T1 fmtflags;
-    static constexpr fmtflags boolalpha;
-    static constexpr fmtflags dec;
-    static constexpr fmtflags fixed;
-    static constexpr fmtflags hex;
-    static constexpr fmtflags internal;
-    static constexpr fmtflags left;
-    static constexpr fmtflags oct;
-    static constexpr fmtflags right;
-    static constexpr fmtflags scientific;
-    static constexpr fmtflags showbase;
-    static constexpr fmtflags showpoint;
-    static constexpr fmtflags showpos;
-    static constexpr fmtflags skipws;
-    static constexpr fmtflags unitbuf;
-    static constexpr fmtflags uppercase;
-    static constexpr fmtflags adjustfield;
-    static constexpr fmtflags basefield;
-    static constexpr fmtflags floatfield;
-
-    typedef T2 iostate;
-    static constexpr iostate badbit;
-    static constexpr iostate eofbit;
-    static constexpr iostate failbit;
-    static constexpr iostate goodbit;
-
-    typedef T3 openmode;
-    static constexpr openmode app;
-    static constexpr openmode ate;
-    static constexpr openmode binary;
-    static constexpr openmode in;
-    static constexpr openmode out;
-    static constexpr openmode trunc;
-
-    typedef T4 seekdir;
-    static constexpr seekdir beg;
-    static constexpr seekdir cur;
-    static constexpr seekdir end;
-
-    class Init;
-
-    // 27.5.2.2 fmtflags state:
-    fmtflags flags() const;
-    fmtflags flags(fmtflags fmtfl);
-    fmtflags setf(fmtflags fmtfl);
-    fmtflags setf(fmtflags fmtfl, fmtflags mask);
-    void unsetf(fmtflags mask);
-
-    streamsize precision() const;
-    streamsize precision(streamsize prec);
-    streamsize width() const;
-    streamsize width(streamsize wide);
-
-    // 27.5.2.3 locales:
-    locale imbue(const locale& loc);
-    locale getloc() const;
-
-    // 27.5.2.5 storage:
-    static int xalloc();
-    long& iword(int index);
-    void*& pword(int index);
-
-    // destructor
-    virtual ~ios_base();
-
-    // 27.5.2.6 callbacks;
-    enum event { erase_event, imbue_event, copyfmt_event };
-    typedef void (*event_callback)(event, ios_base&, int index);
-    void register_callback(event_callback fn, int index);
-
-    ios_base(const ios_base&) = delete;
-    ios_base& operator=(const ios_base&) = delete;
-
-    static bool sync_with_stdio(bool sync = true);
-
-protected:
-    ios_base();
-};
-
-template <class charT, class traits = char_traits<charT> >
-class basic_ios
-    : public ios_base
-{
-public:
-    // types:
-    typedef charT char_type;
-    typedef typename traits::int_type int_type;  // removed in C++17
-    typedef typename traits::pos_type pos_type;  // removed in C++17
-    typedef typename traits::off_type off_type;  // removed in C++17
-    typedef traits traits_type;
-
-    operator unspecified-bool-type() const;
-    bool operator!() const;
-    iostate rdstate() const;
-    void clear(iostate state = goodbit);
-    void setstate(iostate state);
-    bool good() const;
-    bool eof() const;
-    bool fail() const;
-    bool bad() const;
-
-    iostate exceptions() const;
-    void exceptions(iostate except);
-
-    // 27.5.4.1 Constructor/destructor:
-    explicit basic_ios(basic_streambuf<charT,traits>* sb);
-    virtual ~basic_ios();
-
-    // 27.5.4.2 Members:
-    basic_ostream<charT,traits>* tie() const;
-    basic_ostream<charT,traits>* tie(basic_ostream<charT,traits>* tiestr);
-
-    basic_streambuf<charT,traits>* rdbuf() const;
-    basic_streambuf<charT,traits>* rdbuf(basic_streambuf<charT,traits>* sb);
-
-    basic_ios& copyfmt(const basic_ios& rhs);
-
-    char_type fill() const;
-    char_type fill(char_type ch);
-
-    locale imbue(const locale& loc);
-
-    char narrow(char_type c, char dfault) const;
-    char_type widen(char c) const;
-
-    basic_ios(const basic_ios& ) = delete;
-    basic_ios& operator=(const basic_ios&) = delete;
-
-protected:
-    basic_ios();
-    void init(basic_streambuf<charT,traits>* sb);
-    void move(basic_ios& rhs);
-    void swap(basic_ios& rhs) noexcept;
-    void set_rdbuf(basic_streambuf<charT, traits>* sb);
-};
-
-// 27.5.5, manipulators:
-ios_base& boolalpha (ios_base& str);
-ios_base& noboolalpha(ios_base& str);
-ios_base& showbase (ios_base& str);
-ios_base& noshowbase (ios_base& str);
-ios_base& showpoint (ios_base& str);
-ios_base& noshowpoint(ios_base& str);
-ios_base& showpos (ios_base& str);
-ios_base& noshowpos (ios_base& str);
-ios_base& skipws (ios_base& str);
-ios_base& noskipws (ios_base& str);
-ios_base& uppercase (ios_base& str);
-ios_base& nouppercase(ios_base& str);
-ios_base& unitbuf (ios_base& str);
-ios_base& nounitbuf (ios_base& str);
-
-// 27.5.5.2 adjustfield:
-ios_base& internal (ios_base& str);
-ios_base& left (ios_base& str);
-ios_base& right (ios_base& str);
-
-// 27.5.5.3 basefield:
-ios_base& dec (ios_base& str);
-ios_base& hex (ios_base& str);
-ios_base& oct (ios_base& str);
-
-// 27.5.5.4 floatfield:
-ios_base& fixed (ios_base& str);
-ios_base& scientific (ios_base& str);
-ios_base& hexfloat (ios_base& str);
-ios_base& defaultfloat(ios_base& str);
-
-// 27.5.5.5 error reporting:
-enum class io_errc
-{
-    stream = 1
-};
-
-concept_map ErrorCodeEnum<io_errc> { };
-error_code make_error_code(io_errc e) noexcept;
-error_condition make_error_condition(io_errc e) noexcept;
-storage-class-specifier const error_category& iostream_category() noexcept;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <iosfwd>
-#include <__locale>
-#include <system_error>
-
-#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
-#include <atomic>     // for __xindex_
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-typedef ptrdiff_t streamsize;
-
-class _LIBCPP_TYPE_VIS ios_base
-{
-public:
-    class _LIBCPP_EXCEPTION_ABI failure;
-
-    typedef unsigned int fmtflags;
-    static const fmtflags boolalpha   = 0x0001;
-    static const fmtflags dec         = 0x0002;
-    static const fmtflags fixed       = 0x0004;
-    static const fmtflags hex         = 0x0008;
-    static const fmtflags internal    = 0x0010;
-    static const fmtflags left        = 0x0020;
-    static const fmtflags oct         = 0x0040;
-    static const fmtflags right       = 0x0080;
-    static const fmtflags scientific  = 0x0100;
-    static const fmtflags showbase    = 0x0200;
-    static const fmtflags showpoint   = 0x0400;
-    static const fmtflags showpos     = 0x0800;
-    static const fmtflags skipws      = 0x1000;
-    static const fmtflags unitbuf     = 0x2000;
-    static const fmtflags uppercase   = 0x4000;
-    static const fmtflags adjustfield = left | right | internal;
-    static const fmtflags basefield   = dec | oct | hex;
-    static const fmtflags floatfield  = scientific | fixed;
-
-    typedef unsigned int iostate;
-    static const iostate badbit  = 0x1;
-    static const iostate eofbit  = 0x2;
-    static const iostate failbit = 0x4;
-    static const iostate goodbit = 0x0;
-
-    typedef unsigned int openmode;
-    static const openmode app    = 0x01;
-    static const openmode ate    = 0x02;
-    static const openmode binary = 0x04;
-    static const openmode in     = 0x08;
-    static const openmode out    = 0x10;
-    static const openmode trunc  = 0x20;
-
-    enum seekdir {beg, cur, end};
-
-#if _LIBCPP_STD_VER <= 14
-    typedef iostate      io_state;
-    typedef openmode     open_mode;
-    typedef seekdir      seek_dir;
-
-    typedef _VSTD::streamoff streamoff;
-    typedef _VSTD::streampos streampos;
-#endif
-
-    class _LIBCPP_TYPE_VIS Init;
-
-    // 27.5.2.2 fmtflags state:
-    _LIBCPP_INLINE_VISIBILITY fmtflags flags() const;
-    _LIBCPP_INLINE_VISIBILITY fmtflags flags(fmtflags __fmtfl);
-    _LIBCPP_INLINE_VISIBILITY fmtflags setf(fmtflags __fmtfl);
-    _LIBCPP_INLINE_VISIBILITY fmtflags setf(fmtflags __fmtfl, fmtflags __mask);
-    _LIBCPP_INLINE_VISIBILITY void unsetf(fmtflags __mask);
-
-    _LIBCPP_INLINE_VISIBILITY streamsize precision() const;
-    _LIBCPP_INLINE_VISIBILITY streamsize precision(streamsize __prec);
-    _LIBCPP_INLINE_VISIBILITY streamsize width() const;
-    _LIBCPP_INLINE_VISIBILITY streamsize width(streamsize __wide);
-
-    // 27.5.2.3 locales:
-    locale imbue(const locale& __loc);
-    locale getloc() const;
-
-    // 27.5.2.5 storage:
-    static int xalloc();
-    long& iword(int __index);
-    void*& pword(int __index);
-
-    // destructor
-    virtual ~ios_base();
-
-    // 27.5.2.6 callbacks;
-    enum event { erase_event, imbue_event, copyfmt_event };
-    typedef void (*event_callback)(event, ios_base&, int __index);
-    void register_callback(event_callback __fn, int __index);
-
-private:
-    ios_base(const ios_base&); // = delete;
-    ios_base& operator=(const ios_base&); // = delete;
-
-public:
-    static bool sync_with_stdio(bool __sync = true);
-
-    _LIBCPP_INLINE_VISIBILITY iostate rdstate() const;
-    void clear(iostate __state = goodbit);
-    _LIBCPP_INLINE_VISIBILITY void setstate(iostate __state);
-
-    _LIBCPP_INLINE_VISIBILITY bool good() const;
-    _LIBCPP_INLINE_VISIBILITY bool eof() const;
-    _LIBCPP_INLINE_VISIBILITY bool fail() const;
-    _LIBCPP_INLINE_VISIBILITY bool bad() const;
-
-    _LIBCPP_INLINE_VISIBILITY iostate exceptions() const;
-    _LIBCPP_INLINE_VISIBILITY void exceptions(iostate __iostate);
-
-    void __set_badbit_and_consider_rethrow();
-    void __set_failbit_and_consider_rethrow();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __setstate_nothrow(iostate __state)
-    {
-        if (__rdbuf_)
-            __rdstate_ |= __state;
-        else
-            __rdstate_ |= __state | ios_base::badbit;
-    }
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ios_base() {// purposefully does no initialization
-               }
-
-    void init(void* __sb);
-    _LIBCPP_INLINE_VISIBILITY void* rdbuf() const {return __rdbuf_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void rdbuf(void* __sb)
-    {
-        __rdbuf_ = __sb;
-        clear();
-    }
-
-    void __call_callbacks(event);
-    void copyfmt(const ios_base&);
-    void move(ios_base&);
-    void swap(ios_base&) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void set_rdbuf(void* __sb)
-    {
-        __rdbuf_ = __sb;
-    }
-
-private:
-    // All data members must be scalars
-    fmtflags        __fmtflags_;
-    streamsize      __precision_;
-    streamsize      __width_;
-    iostate         __rdstate_;
-    iostate         __exceptions_;
-    void*           __rdbuf_;
-    void*           __loc_;
-    event_callback* __fn_;
-    int*            __index_;
-    size_t          __event_size_;
-    size_t          __event_cap_;
-// TODO(EricWF): Enable this for both Clang and GCC. Currently it is only
-// enabled with clang.
-#if defined(_LIBCPP_HAS_C_ATOMIC_IMP) && !defined(_LIBCPP_HAS_NO_THREADS)
-    static atomic<int> __xindex_;
-#else
-    static int      __xindex_;
-#endif
-    long*           __iarray_;
-    size_t          __iarray_size_;
-    size_t          __iarray_cap_;
-    void**          __parray_;
-    size_t          __parray_size_;
-    size_t          __parray_cap_;
-};
-
-//enum class io_errc
-_LIBCPP_DECLARE_STRONG_ENUM(io_errc)
-{
-    stream = 1
-};
-_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(io_errc)
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS is_error_code_enum<io_errc> : public true_type { };
-
-#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
-template <>
-struct _LIBCPP_TEMPLATE_VIS is_error_code_enum<io_errc::__lx> : public true_type { };
-#endif
-
-_LIBCPP_FUNC_VIS
-const error_category& iostream_category() _NOEXCEPT;
-
-inline _LIBCPP_INLINE_VISIBILITY
-error_code
-make_error_code(io_errc __e) _NOEXCEPT
-{
-    return error_code(static_cast<int>(__e), iostream_category());
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-error_condition
-make_error_condition(io_errc __e) _NOEXCEPT
-{
-    return error_condition(static_cast<int>(__e), iostream_category());
-}
-
-class _LIBCPP_EXCEPTION_ABI ios_base::failure
-    : public system_error
-{
-public:
-    explicit failure(const string& __msg, const error_code& __ec = io_errc::stream);
-    explicit failure(const char* __msg, const error_code& __ec = io_errc::stream);
-    virtual ~failure() throw();
-};
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_failure(char const* __msg) {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw ios_base::failure(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-class _LIBCPP_TYPE_VIS ios_base::Init
-{
-public:
-    Init();
-    ~Init();
-};
-
-// fmtflags
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base::fmtflags
-ios_base::flags() const
-{
-    return __fmtflags_;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base::fmtflags
-ios_base::flags(fmtflags __fmtfl)
-{
-    fmtflags __r = __fmtflags_;
-    __fmtflags_ = __fmtfl;
-    return __r;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base::fmtflags
-ios_base::setf(fmtflags __fmtfl)
-{
-    fmtflags __r = __fmtflags_;
-    __fmtflags_ |= __fmtfl;
-    return __r;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-ios_base::unsetf(fmtflags __mask)
-{
-    __fmtflags_ &= ~__mask;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base::fmtflags
-ios_base::setf(fmtflags __fmtfl, fmtflags __mask)
-{
-    fmtflags __r = __fmtflags_;
-    unsetf(__mask);
-    __fmtflags_ |= __fmtfl & __mask;
-    return __r;
-}
-
-// precision
-
-inline _LIBCPP_INLINE_VISIBILITY
-streamsize
-ios_base::precision() const
-{
-    return __precision_;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-streamsize
-ios_base::precision(streamsize __prec)
-{
-    streamsize __r = __precision_;
-    __precision_ = __prec;
-    return __r;
-}
-
-// width
-
-inline _LIBCPP_INLINE_VISIBILITY
-streamsize
-ios_base::width() const
-{
-    return __width_;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-streamsize
-ios_base::width(streamsize __wide)
-{
-    streamsize __r = __width_;
-    __width_ = __wide;
-    return __r;
-}
-
-// iostate
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base::iostate
-ios_base::rdstate() const
-{
-    return __rdstate_;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-ios_base::setstate(iostate __state)
-{
-    clear(__rdstate_ | __state);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-ios_base::good() const
-{
-    return __rdstate_ == 0;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-ios_base::eof() const
-{
-    return (__rdstate_ & eofbit) != 0;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-ios_base::fail() const
-{
-    return (__rdstate_ & (failbit | badbit)) != 0;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-ios_base::bad() const
-{
-    return (__rdstate_ & badbit) != 0;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base::iostate
-ios_base::exceptions() const
-{
-    return __exceptions_;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void
-ios_base::exceptions(iostate __iostate)
-{
-    __exceptions_ = __iostate;
-    clear(__rdstate_);
-}
-
-#if defined(_LIBCPP_CXX03_LANG)
-struct _LIBCPP_TYPE_VIS __cxx03_bool {
-  typedef void (__cxx03_bool::*__bool_type)();
-  void __true_value() {}
-};
-#endif
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_ios
-    : public ios_base
-{
-public:
-    // types:
-    typedef _CharT char_type;
-    typedef _Traits traits_type;
-
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    static_assert((is_same<_CharT, typename traits_type::char_type>::value),
-                  "traits_type::char_type must be the same type as CharT");
-
-  // __true_value will generate undefined references when linking unless
-  // we give it internal linkage.
-
-#if defined(_LIBCPP_CXX03_LANG)
-    _LIBCPP_INLINE_VISIBILITY
-    operator __cxx03_bool::__bool_type() const {
-        return !fail() ? &__cxx03_bool::__true_value : nullptr;
-    }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_EXPLICIT operator bool() const {return !fail();}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY bool operator!() const    {return  fail();}
-    _LIBCPP_INLINE_VISIBILITY iostate rdstate() const   {return ios_base::rdstate();}
-    _LIBCPP_INLINE_VISIBILITY void clear(iostate __state = goodbit) {ios_base::clear(__state);}
-    _LIBCPP_INLINE_VISIBILITY void setstate(iostate __state) {ios_base::setstate(__state);}
-    _LIBCPP_INLINE_VISIBILITY bool good() const {return ios_base::good();}
-    _LIBCPP_INLINE_VISIBILITY bool eof() const  {return ios_base::eof();}
-    _LIBCPP_INLINE_VISIBILITY bool fail() const {return ios_base::fail();}
-    _LIBCPP_INLINE_VISIBILITY bool bad() const  {return ios_base::bad();}
-
-    _LIBCPP_INLINE_VISIBILITY iostate exceptions() const {return ios_base::exceptions();}
-    _LIBCPP_INLINE_VISIBILITY void exceptions(iostate __iostate) {ios_base::exceptions(__iostate);}
-
-    // 27.5.4.1 Constructor/destructor:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ios(basic_streambuf<char_type,traits_type>* __sb);
-    virtual ~basic_ios();
-
-    // 27.5.4.2 Members:
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<char_type, traits_type>* tie() const;
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<char_type, traits_type>* tie(basic_ostream<char_type, traits_type>* __tiestr);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_streambuf<char_type, traits_type>* rdbuf() const;
-    _LIBCPP_INLINE_VISIBILITY
-    basic_streambuf<char_type, traits_type>* rdbuf(basic_streambuf<char_type, traits_type>* __sb);
-
-    basic_ios& copyfmt(const basic_ios& __rhs);
-
-    _LIBCPP_INLINE_VISIBILITY
-    char_type fill() const;
-    _LIBCPP_INLINE_VISIBILITY
-    char_type fill(char_type __ch);
-
-    _LIBCPP_INLINE_VISIBILITY
-    locale imbue(const locale& __loc);
-
-    _LIBCPP_INLINE_VISIBILITY
-    char narrow(char_type __c, char __dfault) const;
-    _LIBCPP_INLINE_VISIBILITY
-    char_type widen(char __c) const;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ios() {// purposefully does no initialization
-                }
-    _LIBCPP_INLINE_VISIBILITY
-    void init(basic_streambuf<char_type, traits_type>* __sb);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void move(basic_ios& __rhs);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void move(basic_ios&& __rhs) {move(__rhs);}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_ios& __rhs) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void set_rdbuf(basic_streambuf<char_type, traits_type>* __sb);
-private:
-    basic_ostream<char_type, traits_type>* __tie_;
-    mutable int_type __fill_;
-};
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ios<_CharT, _Traits>::basic_ios(basic_streambuf<char_type,traits_type>* __sb)
-{
-    init(__sb);
-}
-
-template <class _CharT, class _Traits>
-basic_ios<_CharT, _Traits>::~basic_ios()
-{
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-basic_ios<_CharT, _Traits>::init(basic_streambuf<char_type, traits_type>* __sb)
-{
-    ios_base::init(__sb);
-    __tie_ = 0;
-    __fill_ = traits_type::eof();
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>*
-basic_ios<_CharT, _Traits>::tie() const
-{
-    return __tie_;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>*
-basic_ios<_CharT, _Traits>::tie(basic_ostream<char_type, traits_type>* __tiestr)
-{
-    basic_ostream<char_type, traits_type>* __r = __tie_;
-    __tie_ = __tiestr;
-    return __r;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_streambuf<_CharT, _Traits>*
-basic_ios<_CharT, _Traits>::rdbuf() const
-{
-    return static_cast<basic_streambuf<char_type, traits_type>*>(ios_base::rdbuf());
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_streambuf<_CharT, _Traits>*
-basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<char_type, traits_type>* __sb)
-{
-    basic_streambuf<char_type, traits_type>* __r = rdbuf();
-    ios_base::rdbuf(__sb);
-    return __r;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-locale
-basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
-{
-    locale __r = getloc();
-    ios_base::imbue(__loc);
-    if (rdbuf())
-        rdbuf()->pubimbue(__loc);
-    return __r;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-char
-basic_ios<_CharT, _Traits>::narrow(char_type __c, char __dfault) const
-{
-    return use_facet<ctype<char_type> >(getloc()).narrow(__c, __dfault);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-_CharT
-basic_ios<_CharT, _Traits>::widen(char __c) const
-{
-    return use_facet<ctype<char_type> >(getloc()).widen(__c);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-_CharT
-basic_ios<_CharT, _Traits>::fill() const
-{
-    if (traits_type::eq_int_type(traits_type::eof(), __fill_))
-        __fill_ = widen(' ');
-    return __fill_;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-_CharT
-basic_ios<_CharT, _Traits>::fill(char_type __ch)
-{
-    char_type __r = __fill_;
-    __fill_ = __ch;
-    return __r;
-}
-
-template <class _CharT, class _Traits>
-basic_ios<_CharT, _Traits>&
-basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
-{
-    if (this != &__rhs)
-    {
-        __call_callbacks(erase_event);
-        ios_base::copyfmt(__rhs);
-        __tie_ = __rhs.__tie_;
-        __fill_ = __rhs.__fill_;
-        __call_callbacks(copyfmt_event);
-        exceptions(__rhs.exceptions());
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-basic_ios<_CharT, _Traits>::move(basic_ios& __rhs)
-{
-    ios_base::move(__rhs);
-    __tie_ = __rhs.__tie_;
-    __rhs.__tie_ = 0;
-    __fill_ = __rhs.__fill_;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-basic_ios<_CharT, _Traits>::swap(basic_ios& __rhs) _NOEXCEPT
-{
-    ios_base::swap(__rhs);
-    _VSTD::swap(__tie_, __rhs.__tie_);
-    _VSTD::swap(__fill_, __rhs.__fill_);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-basic_ios<_CharT, _Traits>::set_rdbuf(basic_streambuf<char_type, traits_type>* __sb)
-{
-    ios_base::set_rdbuf(__sb);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-boolalpha(ios_base& __str)
-{
-    __str.setf(ios_base::boolalpha);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-noboolalpha(ios_base& __str)
-{
-    __str.unsetf(ios_base::boolalpha);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-showbase(ios_base& __str)
-{
-    __str.setf(ios_base::showbase);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-noshowbase(ios_base& __str)
-{
-    __str.unsetf(ios_base::showbase);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-showpoint(ios_base& __str)
-{
-    __str.setf(ios_base::showpoint);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-noshowpoint(ios_base& __str)
-{
-    __str.unsetf(ios_base::showpoint);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-showpos(ios_base& __str)
-{
-    __str.setf(ios_base::showpos);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-noshowpos(ios_base& __str)
-{
-    __str.unsetf(ios_base::showpos);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-skipws(ios_base& __str)
-{
-    __str.setf(ios_base::skipws);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-noskipws(ios_base& __str)
-{
-    __str.unsetf(ios_base::skipws);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-uppercase(ios_base& __str)
-{
-    __str.setf(ios_base::uppercase);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-nouppercase(ios_base& __str)
-{
-    __str.unsetf(ios_base::uppercase);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-unitbuf(ios_base& __str)
-{
-    __str.setf(ios_base::unitbuf);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-nounitbuf(ios_base& __str)
-{
-    __str.unsetf(ios_base::unitbuf);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-internal(ios_base& __str)
-{
-    __str.setf(ios_base::internal, ios_base::adjustfield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-left(ios_base& __str)
-{
-    __str.setf(ios_base::left, ios_base::adjustfield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-right(ios_base& __str)
-{
-    __str.setf(ios_base::right, ios_base::adjustfield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-dec(ios_base& __str)
-{
-    __str.setf(ios_base::dec, ios_base::basefield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-hex(ios_base& __str)
-{
-    __str.setf(ios_base::hex, ios_base::basefield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-oct(ios_base& __str)
-{
-    __str.setf(ios_base::oct, ios_base::basefield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-fixed(ios_base& __str)
-{
-    __str.setf(ios_base::fixed, ios_base::floatfield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-scientific(ios_base& __str)
-{
-    __str.setf(ios_base::scientific, ios_base::floatfield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-hexfloat(ios_base& __str)
-{
-    __str.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
-    return __str;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-ios_base&
-defaultfloat(ios_base& __str)
-{
-    __str.unsetf(ios_base::floatfield);
-    return __str;
-}
-
-template <class _CharT, class _Traits>
-class __save_flags
-{
-    typedef basic_ios<_CharT, _Traits> __stream_type;
-    typedef typename __stream_type::fmtflags fmtflags;
-
-    __stream_type& __stream_;
-    fmtflags       __fmtflags_;
-    _CharT         __fill_;
-
-    __save_flags(const __save_flags&);
-    __save_flags& operator=(const __save_flags&);
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __save_flags(__stream_type& __stream)
-        : __stream_(__stream),
-          __fmtflags_(__stream.flags()),
-          __fill_(__stream.fill())
-        {}
-    _LIBCPP_INLINE_VISIBILITY
-    ~__save_flags()
-    {
-        __stream_.flags(__fmtflags_);
-        __stream_.fill(__fill_);
-    }
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_IOS
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/iterator b/r21/sources/cxx-stl/llvm-libc++/include/iterator
deleted file mode 100644
index 30801ea..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/iterator
+++ /dev/null
@@ -1,1938 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- iterator ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_ITERATOR
-#define _LIBCPP_ITERATOR
-
-/*
-    iterator synopsis
-
-namespace std
-{
-
-template<class Iterator>
-struct iterator_traits
-{
-    typedef typename Iterator::difference_type difference_type;
-    typedef typename Iterator::value_type value_type;
-    typedef typename Iterator::pointer pointer;
-    typedef typename Iterator::reference reference;
-    typedef typename Iterator::iterator_category iterator_category;
-};
-
-template<class T>
-struct iterator_traits<T*>
-{
-    typedef ptrdiff_t difference_type;
-    typedef T value_type;
-    typedef T* pointer;
-    typedef T& reference;
-    typedef random_access_iterator_tag iterator_category;
-};
-
-template<class Category, class T, class Distance = ptrdiff_t,
-         class Pointer = T*, class Reference = T&>
-struct iterator
-{
-    typedef T         value_type;
-    typedef Distance  difference_type;
-    typedef Pointer   pointer;
-    typedef Reference reference;
-    typedef Category  iterator_category;
-};
-
-struct input_iterator_tag  {};
-struct output_iterator_tag {};
-struct forward_iterator_tag       : public input_iterator_tag         {};
-struct bidirectional_iterator_tag : public forward_iterator_tag       {};
-struct random_access_iterator_tag : public bidirectional_iterator_tag {};
-
-// 27.4.3, iterator operations
-// extension: second argument not conforming to C++03
-template <class InputIterator>  // constexpr in C++17
-  constexpr void advance(InputIterator& i,
-             typename iterator_traits<InputIterator>::difference_type n);
-
-template <class InputIterator>  // constexpr in C++17
-  constexpr typename iterator_traits<InputIterator>::difference_type
-    distance(InputIterator first, InputIterator last);
-
-template <class InputIterator>  // constexpr in C++17
-  constexpr InputIterator next(InputIterator x,
-typename iterator_traits<InputIterator>::difference_type n = 1);
-
-template <class BidirectionalIterator>  // constexpr in C++17
-  constexpr BidirectionalIterator prev(BidirectionalIterator x,
-    typename iterator_traits<BidirectionalIterator>::difference_type n = 1);
-
-template <class Iterator>
-class reverse_iterator
-    : public iterator<typename iterator_traits<Iterator>::iterator_category,
-                      typename iterator_traits<Iterator>::value_type,
-                      typename iterator_traits<Iterator>::difference_type,
-                      typename iterator_traits<Iterator>::pointer,
-                      typename iterator_traits<Iterator>::reference>
-{
-protected:
-    Iterator current;
-public:
-    typedef Iterator                                            iterator_type;
-    typedef typename iterator_traits<Iterator>::difference_type difference_type;
-    typedef typename iterator_traits<Iterator>::reference       reference;
-    typedef typename iterator_traits<Iterator>::pointer         pointer;
-
-    constexpr reverse_iterator();
-    constexpr explicit reverse_iterator(Iterator x);
-    template <class U> constexpr reverse_iterator(const reverse_iterator<U>& u);
-    template <class U> constexpr reverse_iterator& operator=(const reverse_iterator<U>& u);
-    constexpr Iterator base() const;
-    constexpr reference operator*() const;
-    constexpr pointer   operator->() const;
-    constexpr reverse_iterator& operator++();
-    constexpr reverse_iterator  operator++(int);
-    constexpr reverse_iterator& operator--();
-    constexpr reverse_iterator  operator--(int);
-    constexpr reverse_iterator  operator+ (difference_type n) const;
-    constexpr reverse_iterator& operator+=(difference_type n);
-    constexpr reverse_iterator  operator- (difference_type n) const;
-    constexpr reverse_iterator& operator-=(difference_type n);
-    constexpr reference         operator[](difference_type n) const;
-};
-
-template <class Iterator1, class Iterator2>
-constexpr bool                          // constexpr in C++17
-operator==(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool                          // constexpr in C++17
-operator<(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool                          // constexpr in C++17
-operator!=(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool                          // constexpr in C++17
-operator>(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool                          // constexpr in C++17
-operator>=(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool                          // constexpr in C++17
-operator<=(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr auto
-operator-(const reverse_iterator<Iterator1>& x, const reverse_iterator<Iterator2>& y)
--> decltype(__y.base() - __x.base());   // constexpr in C++17
-
-template <class Iterator>
-constexpr reverse_iterator<Iterator>
-operator+(typename reverse_iterator<Iterator>::difference_type n,
-          const reverse_iterator<Iterator>& x);   // constexpr in C++17
-
-template <class Iterator>
-constexpr reverse_iterator<Iterator> make_reverse_iterator(Iterator i); // C++14, constexpr in C++17
-
-template <class Container>
-class back_insert_iterator
-{
-protected:
-    Container* container;
-public:
-    typedef Container                   container_type;
-    typedef void                        value_type;
-    typedef void                        difference_type;
-    typedef void                        reference;
-    typedef void                        pointer;
-
-    explicit back_insert_iterator(Container& x);
-    back_insert_iterator& operator=(const typename Container::value_type& value);
-    back_insert_iterator& operator*();
-    back_insert_iterator& operator++();
-    back_insert_iterator  operator++(int);
-};
-
-template <class Container> back_insert_iterator<Container> back_inserter(Container& x);
-
-template <class Container>
-class front_insert_iterator
-{
-protected:
-    Container* container;
-public:
-    typedef Container                    container_type;
-    typedef void                         value_type;
-    typedef void                         difference_type;
-    typedef void                         reference;
-    typedef void                         pointer;
-
-    explicit front_insert_iterator(Container& x);
-    front_insert_iterator& operator=(const typename Container::value_type& value);
-    front_insert_iterator& operator*();
-    front_insert_iterator& operator++();
-    front_insert_iterator  operator++(int);
-};
-
-template <class Container> front_insert_iterator<Container> front_inserter(Container& x);
-
-template <class Container>
-class insert_iterator
-{
-protected:
-    Container* container;
-    typename Container::iterator iter;
-public:
-    typedef Container              container_type;
-    typedef void                   value_type;
-    typedef void                   difference_type;
-    typedef void                   reference;
-    typedef void                   pointer;
-
-    insert_iterator(Container& x, typename Container::iterator i);
-    insert_iterator& operator=(const typename Container::value_type& value);
-    insert_iterator& operator*();
-    insert_iterator& operator++();
-    insert_iterator& operator++(int);
-};
-
-template <class Container, class Iterator>
-insert_iterator<Container> inserter(Container& x, Iterator i);
-
-template <class Iterator>
-class move_iterator {
-public:
-    typedef Iterator                                              iterator_type;
-    typedef typename iterator_traits<Iterator>::difference_type   difference_type;
-    typedef Iterator                                              pointer;
-    typedef typename iterator_traits<Iterator>::value_type        value_type;
-    typedef typename iterator_traits<Iterator>::iterator_category iterator_category;
-    typedef value_type&&                                          reference;
-
-    constexpr move_iterator();  // all the constexprs are in C++17
-    constexpr explicit move_iterator(Iterator i);
-    template <class U>
-      constexpr move_iterator(const move_iterator<U>& u);
-    template <class U>
-      constexpr move_iterator& operator=(const move_iterator<U>& u);
-    constexpr iterator_type base() const;
-    constexpr reference operator*() const;
-    constexpr pointer operator->() const;
-    constexpr move_iterator& operator++();
-    constexpr move_iterator operator++(int);
-    constexpr move_iterator& operator--();
-    constexpr move_iterator operator--(int);
-    constexpr move_iterator operator+(difference_type n) const;
-    constexpr move_iterator& operator+=(difference_type n);
-    constexpr move_iterator operator-(difference_type n) const;
-    constexpr move_iterator& operator-=(difference_type n);
-    constexpr unspecified operator[](difference_type n) const;
-private:
-    Iterator current; // exposition only
-};
-
-template <class Iterator1, class Iterator2>
-constexpr bool   // constexpr in C++17
-operator==(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool   // constexpr in C++17
-operator!=(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool   // constexpr in C++17
-operator<(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool   // constexpr in C++17
-operator<=(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool   // constexpr in C++17
-operator>(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr bool   // constexpr in C++17
-operator>=(const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y);
-
-template <class Iterator1, class Iterator2>
-constexpr auto   // constexpr in C++17
-operator-(const move_iterator<Iterator1>& x,
-          const move_iterator<Iterator2>& y) -> decltype(x.base() - y.base());
-
-template <class Iterator>
-constexpr move_iterator<Iterator> operator+(   // constexpr in C++17
-            typename move_iterator<Iterator>::difference_type n,
-            const move_iterator<Iterator>& x);
-
-template <class Iterator>   // constexpr in C++17
-constexpr  move_iterator<Iterator> make_move_iterator(const Iterator& i);
-
-
-template <class T, class charT = char, class traits = char_traits<charT>, class Distance = ptrdiff_t>
-class istream_iterator
-    : public iterator<input_iterator_tag, T, Distance, const T*, const T&>
-{
-public:
-    typedef charT char_type;
-    typedef traits traits_type;
-    typedef basic_istream<charT,traits> istream_type;
-
-    constexpr istream_iterator();
-    istream_iterator(istream_type& s);
-    istream_iterator(const istream_iterator& x);
-    ~istream_iterator();
-
-    const T& operator*() const;
-    const T* operator->() const;
-    istream_iterator& operator++();
-    istream_iterator  operator++(int);
-};
-
-template <class T, class charT, class traits, class Distance>
-bool operator==(const istream_iterator<T,charT,traits,Distance>& x,
-                const istream_iterator<T,charT,traits,Distance>& y);
-template <class T, class charT, class traits, class Distance>
-bool operator!=(const istream_iterator<T,charT,traits,Distance>& x,
-                const istream_iterator<T,charT,traits,Distance>& y);
-
-template <class T, class charT = char, class traits = char_traits<charT> >
-class ostream_iterator
-    : public iterator<output_iterator_tag, void, void, void ,void>
-{
-public:
-    typedef charT char_type;
-    typedef traits traits_type;
-    typedef basic_ostream<charT,traits> ostream_type;
-
-    ostream_iterator(ostream_type& s);
-    ostream_iterator(ostream_type& s, const charT* delimiter);
-    ostream_iterator(const ostream_iterator& x);
-    ~ostream_iterator();
-    ostream_iterator& operator=(const T& value);
-
-    ostream_iterator& operator*();
-    ostream_iterator& operator++();
-    ostream_iterator& operator++(int);
-};
-
-template<class charT, class traits = char_traits<charT> >
-class istreambuf_iterator
-    : public iterator<input_iterator_tag, charT,
-                      typename traits::off_type, unspecified,
-                      charT>
-{
-public:
-    typedef charT                         char_type;
-    typedef traits                        traits_type;
-    typedef typename traits::int_type     int_type;
-    typedef basic_streambuf<charT,traits> streambuf_type;
-    typedef basic_istream<charT,traits>   istream_type;
-
-    istreambuf_iterator() noexcept;
-    istreambuf_iterator(istream_type& s) noexcept;
-    istreambuf_iterator(streambuf_type* s) noexcept;
-    istreambuf_iterator(a-private-type) noexcept;
-
-    charT                operator*() const;
-    pointer operator->() const;
-    istreambuf_iterator& operator++();
-    a-private-type       operator++(int);
-
-    bool equal(const istreambuf_iterator& b) const;
-};
-
-template <class charT, class traits>
-bool operator==(const istreambuf_iterator<charT,traits>& a,
-                const istreambuf_iterator<charT,traits>& b);
-template <class charT, class traits>
-bool operator!=(const istreambuf_iterator<charT,traits>& a,
-                const istreambuf_iterator<charT,traits>& b);
-
-template <class charT, class traits = char_traits<charT> >
-class ostreambuf_iterator
-    : public iterator<output_iterator_tag, void, void, void, void>
-{
-public:
-    typedef charT                         char_type;
-    typedef traits                        traits_type;
-    typedef basic_streambuf<charT,traits> streambuf_type;
-    typedef basic_ostream<charT,traits>   ostream_type;
-
-    ostreambuf_iterator(ostream_type& s) noexcept;
-    ostreambuf_iterator(streambuf_type* s) noexcept;
-    ostreambuf_iterator& operator=(charT c);
-    ostreambuf_iterator& operator*();
-    ostreambuf_iterator& operator++();
-    ostreambuf_iterator& operator++(int);
-    bool failed() const noexcept;
-};
-
-template <class C> constexpr auto begin(C& c) -> decltype(c.begin());
-template <class C> constexpr auto begin(const C& c) -> decltype(c.begin());
-template <class C> constexpr auto end(C& c) -> decltype(c.end());
-template <class C> constexpr auto end(const C& c) -> decltype(c.end());
-template <class T, size_t N> constexpr T* begin(T (&array)[N]);
-template <class T, size_t N> constexpr T* end(T (&array)[N]);
-
-template <class C> auto constexpr cbegin(const C& c) -> decltype(std::begin(c));        // C++14
-template <class C> auto constexpr cend(const C& c) -> decltype(std::end(c));            // C++14
-template <class C> auto constexpr rbegin(C& c) -> decltype(c.rbegin());                 // C++14
-template <class C> auto constexpr rbegin(const C& c) -> decltype(c.rbegin());           // C++14
-template <class C> auto constexpr rend(C& c) -> decltype(c.rend());                     // C++14
-template <class C> constexpr auto rend(const C& c) -> decltype(c.rend());               // C++14
-template <class E> reverse_iterator<const E*> constexpr rbegin(initializer_list<E> il); // C++14
-template <class E> reverse_iterator<const E*> constexpr rend(initializer_list<E> il);   // C++14
-template <class T, size_t N> reverse_iterator<T*> constexpr rbegin(T (&array)[N]);      // C++14
-template <class T, size_t N> reverse_iterator<T*> constexpr rend(T (&array)[N]);        // C++14
-template <class C> constexpr auto crbegin(const C& c) -> decltype(std::rbegin(c));      // C++14
-template <class C> constexpr auto crend(const C& c) -> decltype(std::rend(c));          // C++14
-
-// 24.8, container access:
-template <class C> constexpr auto size(const C& c) -> decltype(c.size());         // C++17
-template <class T, size_t N> constexpr size_t size(const T (&array)[N]) noexcept; // C++17
-
-template <class C> constexpr auto ssize(const C& c)
-    -> common_type_t<ptrdiff_t, make_signed_t<decltype(c.size())>>;				       // C++20
-template <class T, ptrdiff_t> constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept; // C++20
-
-template <class C> constexpr auto empty(const C& c) -> decltype(c.empty());       // C++17
-template <class T, size_t N> constexpr bool empty(const T (&array)[N]) noexcept;  // C++17
-template <class E> constexpr bool empty(initializer_list<E> il) noexcept;         // C++17
-template <class C> constexpr auto data(C& c) -> decltype(c.data());               // C++17
-template <class C> constexpr auto data(const C& c) -> decltype(c.data());         // C++17
-template <class T, size_t N> constexpr T* data(T (&array)[N]) noexcept;           // C++17
-template <class E> constexpr const E* data(initializer_list<E> il) noexcept;      // C++17
-
-}  // std
-
-*/
-
-#include <__config>
-#include <iosfwd> // for forward declarations of vector and string.
-#include <__functional_base>
-#include <type_traits>
-#include <cstddef>
-#include <initializer_list>
-#include <version>
-#ifdef __APPLE__
-#include <Availability.h>
-#endif
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-struct _LIBCPP_TEMPLATE_VIS input_iterator_tag {};
-struct _LIBCPP_TEMPLATE_VIS output_iterator_tag {};
-struct _LIBCPP_TEMPLATE_VIS forward_iterator_tag       : public input_iterator_tag {};
-struct _LIBCPP_TEMPLATE_VIS bidirectional_iterator_tag : public forward_iterator_tag {};
-struct _LIBCPP_TEMPLATE_VIS random_access_iterator_tag : public bidirectional_iterator_tag {};
-
-template <class _Tp>
-struct __has_iterator_typedefs
-{
-private:
-    struct __two {char __lx; char __lxx;};
-    template <class _Up> static __two __test(...);
-    template <class _Up> static char __test(typename std::__void_t<typename _Up::iterator_category>::type* = 0,
-    										typename std::__void_t<typename _Up::difference_type>::type* = 0,
-    										typename std::__void_t<typename _Up::value_type>::type* = 0,
-    										typename std::__void_t<typename _Up::reference>::type* = 0,
-    										typename std::__void_t<typename _Up::pointer>::type* = 0
-    										);
-public:
-    static const bool value = sizeof(__test<_Tp>(0,0,0,0,0)) == 1;
-};
-
-
-template <class _Tp>
-struct __has_iterator_category
-{
-private:
-    struct __two {char __lx; char __lxx;};
-    template <class _Up> static __two __test(...);
-    template <class _Up> static char __test(typename _Up::iterator_category* = 0);
-public:
-    static const bool value = sizeof(__test<_Tp>(0)) == 1;
-};
-
-template <class _Iter, bool> struct __iterator_traits_impl {};
-
-template <class _Iter>
-struct __iterator_traits_impl<_Iter, true>
-{
-    typedef typename _Iter::difference_type   difference_type;
-    typedef typename _Iter::value_type        value_type;
-    typedef typename _Iter::pointer           pointer;
-    typedef typename _Iter::reference         reference;
-    typedef typename _Iter::iterator_category iterator_category;
-};
-
-template <class _Iter, bool> struct __iterator_traits {};
-
-template <class _Iter>
-struct __iterator_traits<_Iter, true>
-    :  __iterator_traits_impl
-      <
-        _Iter,
-        is_convertible<typename _Iter::iterator_category, input_iterator_tag>::value ||
-        is_convertible<typename _Iter::iterator_category, output_iterator_tag>::value
-      >
-{};
-
-// iterator_traits<Iterator> will only have the nested types if Iterator::iterator_category
-//    exists.  Else iterator_traits<Iterator> will be an empty class.  This is a
-//    conforming extension which allows some programs to compile and behave as
-//    the client expects instead of failing at compile time.
-
-template <class _Iter>
-struct _LIBCPP_TEMPLATE_VIS iterator_traits
-    : __iterator_traits<_Iter, __has_iterator_typedefs<_Iter>::value> {};
-
-template<class _Tp>
-struct _LIBCPP_TEMPLATE_VIS iterator_traits<_Tp*>
-{
-    typedef ptrdiff_t difference_type;
-    typedef typename remove_cv<_Tp>::type value_type;
-    typedef _Tp* pointer;
-    typedef _Tp& reference;
-    typedef random_access_iterator_tag iterator_category;
-};
-
-template <class _Tp, class _Up, bool = __has_iterator_category<iterator_traits<_Tp> >::value>
-struct __has_iterator_category_convertible_to
-    : public integral_constant<bool, is_convertible<typename iterator_traits<_Tp>::iterator_category, _Up>::value>
-{};
-
-template <class _Tp, class _Up>
-struct __has_iterator_category_convertible_to<_Tp, _Up, false> : public false_type {};
-
-template <class _Tp>
-struct __is_input_iterator : public __has_iterator_category_convertible_to<_Tp, input_iterator_tag> {};
-
-template <class _Tp>
-struct __is_forward_iterator : public __has_iterator_category_convertible_to<_Tp, forward_iterator_tag> {};
-
-template <class _Tp>
-struct __is_bidirectional_iterator : public __has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag> {};
-
-template <class _Tp>
-struct __is_random_access_iterator : public __has_iterator_category_convertible_to<_Tp, random_access_iterator_tag> {};
-
-template <class _Tp>
-struct __is_exactly_input_iterator
-    : public integral_constant<bool,
-         __has_iterator_category_convertible_to<_Tp, input_iterator_tag>::value &&
-        !__has_iterator_category_convertible_to<_Tp, forward_iterator_tag>::value> {};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator>
-using __iter_value_type = typename iterator_traits<_InputIterator>::value_type;
-
-template<class _InputIterator>
-using __iter_key_type = remove_const_t<typename iterator_traits<_InputIterator>::value_type::first_type>;
-
-template<class _InputIterator>
-using __iter_mapped_type = typename iterator_traits<_InputIterator>::value_type::second_type;
-
-template<class _InputIterator>
-using __iter_to_alloc_type = pair<
-    add_const_t<typename iterator_traits<_InputIterator>::value_type::first_type>,
-    typename iterator_traits<_InputIterator>::value_type::second_type>;
-#endif
-
-template<class _Category, class _Tp, class _Distance = ptrdiff_t,
-         class _Pointer = _Tp*, class _Reference = _Tp&>
-struct _LIBCPP_TEMPLATE_VIS iterator
-{
-    typedef _Tp        value_type;
-    typedef _Distance  difference_type;
-    typedef _Pointer   pointer;
-    typedef _Reference reference;
-    typedef _Category  iterator_category;
-};
-
-template <class _InputIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-void __advance(_InputIter& __i,
-             typename iterator_traits<_InputIter>::difference_type __n, input_iterator_tag)
-{
-    for (; __n > 0; --__n)
-        ++__i;
-}
-
-template <class _BiDirIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-void __advance(_BiDirIter& __i,
-             typename iterator_traits<_BiDirIter>::difference_type __n, bidirectional_iterator_tag)
-{
-    if (__n >= 0)
-        for (; __n > 0; --__n)
-            ++__i;
-    else
-        for (; __n < 0; ++__n)
-            --__i;
-}
-
-template <class _RandIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-void __advance(_RandIter& __i,
-             typename iterator_traits<_RandIter>::difference_type __n, random_access_iterator_tag)
-{
-   __i += __n;
-}
-
-template <class _InputIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-void advance(_InputIter& __i,
-             typename iterator_traits<_InputIter>::difference_type __n)
-{
-    _LIBCPP_ASSERT(__n >= 0 || __is_bidirectional_iterator<_InputIter>::value,
-                       "Attempt to advance(it, -n) on a non-bidi iterator");
-    __advance(__i, __n, typename iterator_traits<_InputIter>::iterator_category());
-}
-
-template <class _InputIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-typename iterator_traits<_InputIter>::difference_type
-__distance(_InputIter __first, _InputIter __last, input_iterator_tag)
-{
-    typename iterator_traits<_InputIter>::difference_type __r(0);
-    for (; __first != __last; ++__first)
-        ++__r;
-    return __r;
-}
-
-template <class _RandIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-typename iterator_traits<_RandIter>::difference_type
-__distance(_RandIter __first, _RandIter __last, random_access_iterator_tag)
-{
-    return __last - __first;
-}
-
-template <class _InputIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-typename iterator_traits<_InputIter>::difference_type
-distance(_InputIter __first, _InputIter __last)
-{
-    return __distance(__first, __last, typename iterator_traits<_InputIter>::iterator_category());
-}
-
-template <class _InputIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-typename enable_if
-<
-    __is_input_iterator<_InputIter>::value,
-    _InputIter
->::type
-next(_InputIter __x,
-     typename iterator_traits<_InputIter>::difference_type __n = 1)
-{
-    _LIBCPP_ASSERT(__n >= 0 || __is_bidirectional_iterator<_InputIter>::value,
-                       "Attempt to next(it, -n) on a non-bidi iterator");
-
-    _VSTD::advance(__x, __n);
-    return __x;
-}
-
-template <class _InputIter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-typename enable_if
-<
-    __is_input_iterator<_InputIter>::value,
-    _InputIter
->::type
-prev(_InputIter __x,
-     typename iterator_traits<_InputIter>::difference_type __n = 1)
-{
-    _LIBCPP_ASSERT(__n <= 0 || __is_bidirectional_iterator<_InputIter>::value,
-                       "Attempt to prev(it, +n) on a non-bidi iterator");
-    _VSTD::advance(__x, -__n);
-    return __x;
-}
-
-
-template <class _Tp, class = void>
-struct __is_stashing_iterator : false_type {};
-
-template <class _Tp>
-struct __is_stashing_iterator<_Tp, typename __void_t<typename _Tp::__stashing_iterator_tag>::type>
-  : true_type {};
-
-template <class _Iter>
-class _LIBCPP_TEMPLATE_VIS reverse_iterator
-    : public iterator<typename iterator_traits<_Iter>::iterator_category,
-                      typename iterator_traits<_Iter>::value_type,
-                      typename iterator_traits<_Iter>::difference_type,
-                      typename iterator_traits<_Iter>::pointer,
-                      typename iterator_traits<_Iter>::reference>
-{
-private:
-    /*mutable*/ _Iter __t;  // no longer used as of LWG #2360, not removed due to ABI break
-
-    static_assert(!__is_stashing_iterator<_Iter>::value,
-      "The specified iterator type cannot be used with reverse_iterator; "
-      "Using stashing iterators with reverse_iterator causes undefined behavior");
-
-protected:
-    _Iter current;
-public:
-    typedef _Iter                                            iterator_type;
-    typedef typename iterator_traits<_Iter>::difference_type difference_type;
-    typedef typename iterator_traits<_Iter>::reference       reference;
-    typedef typename iterator_traits<_Iter>::pointer         pointer;
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator() : __t(), current() {}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    explicit reverse_iterator(_Iter __x) : __t(__x), current(__x) {}
-    template <class _Up>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-        reverse_iterator(const reverse_iterator<_Up>& __u) : __t(__u.base()), current(__u.base()) {}
-    template <class _Up>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-        reverse_iterator& operator=(const reverse_iterator<_Up>& __u)
-            { __t = current = __u.base(); return *this; }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    _Iter base() const {return current;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reference operator*() const {_Iter __tmp = current; return *--__tmp;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    pointer  operator->() const {return _VSTD::addressof(operator*());}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator& operator++() {--current; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator  operator++(int) {reverse_iterator __tmp(*this); --current; return __tmp;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator& operator--() {++current; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator  operator--(int) {reverse_iterator __tmp(*this); ++current; return __tmp;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator  operator+ (difference_type __n) const {return reverse_iterator(current - __n);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator& operator+=(difference_type __n) {current -= __n; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator  operator- (difference_type __n) const {return reverse_iterator(current + __n);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reverse_iterator& operator-=(difference_type __n) {current += __n; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reference         operator[](difference_type __n) const {return *(*this + __n);}
-};
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator==(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
-{
-    return __x.base() == __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator<(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
-{
-    return __x.base() > __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
-{
-    return __x.base() != __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator>(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
-{
-    return __x.base() < __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator>=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
-{
-    return __x.base() <= __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator<=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
-{
-    return __x.base() >= __y.base();
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto
-operator-(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
--> decltype(__y.base() - __x.base())
-{
-    return __y.base() - __x.base();
-}
-#else
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename reverse_iterator<_Iter1>::difference_type
-operator-(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
-{
-    return __y.base() - __x.base();
-}
-#endif
-
-template <class _Iter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-reverse_iterator<_Iter>
-operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x)
-{
-    return reverse_iterator<_Iter>(__x.base() - __n);
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _Iter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-reverse_iterator<_Iter> make_reverse_iterator(_Iter __i)
-{
-    return reverse_iterator<_Iter>(__i);
-}
-#endif
-
-template <class _Container>
-class _LIBCPP_TEMPLATE_VIS back_insert_iterator
-    : public iterator<output_iterator_tag,
-                      void,
-                      void,
-                      void,
-                      void>
-{
-protected:
-    _Container* container;
-public:
-    typedef _Container container_type;
-
-    _LIBCPP_INLINE_VISIBILITY explicit back_insert_iterator(_Container& __x) : container(_VSTD::addressof(__x)) {}
-    _LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator=(const typename _Container::value_type& __value_)
-        {container->push_back(__value_); return *this;}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator=(typename _Container::value_type&& __value_)
-        {container->push_back(_VSTD::move(__value_)); return *this;}
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator*()     {return *this;}
-    _LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator++()    {return *this;}
-    _LIBCPP_INLINE_VISIBILITY back_insert_iterator  operator++(int) {return *this;}
-};
-
-template <class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-back_insert_iterator<_Container>
-back_inserter(_Container& __x)
-{
-    return back_insert_iterator<_Container>(__x);
-}
-
-template <class _Container>
-class _LIBCPP_TEMPLATE_VIS front_insert_iterator
-    : public iterator<output_iterator_tag,
-                      void,
-                      void,
-                      void,
-                      void>
-{
-protected:
-    _Container* container;
-public:
-    typedef _Container container_type;
-
-    _LIBCPP_INLINE_VISIBILITY explicit front_insert_iterator(_Container& __x) : container(_VSTD::addressof(__x)) {}
-    _LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator=(const typename _Container::value_type& __value_)
-        {container->push_front(__value_); return *this;}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator=(typename _Container::value_type&& __value_)
-        {container->push_front(_VSTD::move(__value_)); return *this;}
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator*()     {return *this;}
-    _LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator++()    {return *this;}
-    _LIBCPP_INLINE_VISIBILITY front_insert_iterator  operator++(int) {return *this;}
-};
-
-template <class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-front_insert_iterator<_Container>
-front_inserter(_Container& __x)
-{
-    return front_insert_iterator<_Container>(__x);
-}
-
-template <class _Container>
-class _LIBCPP_TEMPLATE_VIS insert_iterator
-    : public iterator<output_iterator_tag,
-                      void,
-                      void,
-                      void,
-                      void>
-{
-protected:
-    _Container* container;
-    typename _Container::iterator iter;
-public:
-    typedef _Container container_type;
-
-    _LIBCPP_INLINE_VISIBILITY insert_iterator(_Container& __x, typename _Container::iterator __i)
-        : container(_VSTD::addressof(__x)), iter(__i) {}
-    _LIBCPP_INLINE_VISIBILITY insert_iterator& operator=(const typename _Container::value_type& __value_)
-        {iter = container->insert(iter, __value_); ++iter; return *this;}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY insert_iterator& operator=(typename _Container::value_type&& __value_)
-        {iter = container->insert(iter, _VSTD::move(__value_)); ++iter; return *this;}
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY insert_iterator& operator*()        {return *this;}
-    _LIBCPP_INLINE_VISIBILITY insert_iterator& operator++()       {return *this;}
-    _LIBCPP_INLINE_VISIBILITY insert_iterator& operator++(int)    {return *this;}
-};
-
-template <class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-insert_iterator<_Container>
-inserter(_Container& __x, typename _Container::iterator __i)
-{
-    return insert_iterator<_Container>(__x, __i);
-}
-
-template <class _Tp, class _CharT = char,
-          class _Traits = char_traits<_CharT>, class _Distance = ptrdiff_t>
-class _LIBCPP_TEMPLATE_VIS istream_iterator
-    : public iterator<input_iterator_tag, _Tp, _Distance, const _Tp*, const _Tp&>
-{
-public:
-    typedef _CharT char_type;
-    typedef _Traits traits_type;
-    typedef basic_istream<_CharT,_Traits> istream_type;
-private:
-    istream_type* __in_stream_;
-    _Tp __value_;
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR istream_iterator() : __in_stream_(0), __value_() {}
-    _LIBCPP_INLINE_VISIBILITY istream_iterator(istream_type& __s) : __in_stream_(_VSTD::addressof(__s))
-        {
-            if (!(*__in_stream_ >> __value_))
-                __in_stream_ = 0;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY const _Tp& operator*() const {return __value_;}
-    _LIBCPP_INLINE_VISIBILITY const _Tp* operator->() const {return _VSTD::addressof((operator*()));}
-    _LIBCPP_INLINE_VISIBILITY istream_iterator& operator++()
-        {
-            if (!(*__in_stream_ >> __value_))
-                __in_stream_ = 0;
-            return *this;
-        }
-    _LIBCPP_INLINE_VISIBILITY istream_iterator  operator++(int)
-        {istream_iterator __t(*this); ++(*this); return __t;}
-
-    template <class _Up, class _CharU, class _TraitsU, class _DistanceU>
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool
-    operator==(const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __x,
-               const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __y);
-
-    template <class _Up, class _CharU, class _TraitsU, class _DistanceU>
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool
-    operator==(const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __x,
-               const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __y);
-};
-
-template <class _Tp, class _CharT, class _Traits, class _Distance>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
-           const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __y)
-{
-    return __x.__in_stream_ == __y.__in_stream_;
-}
-
-template <class _Tp, class _CharT, class _Traits, class _Distance>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
-           const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Tp, class _CharT = char, class _Traits = char_traits<_CharT> >
-class _LIBCPP_TEMPLATE_VIS ostream_iterator
-    : public iterator<output_iterator_tag, void, void, void, void>
-{
-public:
-    typedef _CharT char_type;
-    typedef _Traits traits_type;
-    typedef basic_ostream<_CharT,_Traits> ostream_type;
-private:
-    ostream_type* __out_stream_;
-    const char_type* __delim_;
-public:
-    _LIBCPP_INLINE_VISIBILITY ostream_iterator(ostream_type& __s) _NOEXCEPT
-        : __out_stream_(_VSTD::addressof(__s)), __delim_(0) {}
-    _LIBCPP_INLINE_VISIBILITY ostream_iterator(ostream_type& __s, const _CharT* __delimiter) _NOEXCEPT
-        : __out_stream_(_VSTD::addressof(__s)), __delim_(__delimiter) {}
-    _LIBCPP_INLINE_VISIBILITY ostream_iterator& operator=(const _Tp& __value_)
-        {
-            *__out_stream_ << __value_;
-            if (__delim_)
-                *__out_stream_ << __delim_;
-            return *this;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY ostream_iterator& operator*()     {return *this;}
-    _LIBCPP_INLINE_VISIBILITY ostream_iterator& operator++()    {return *this;}
-    _LIBCPP_INLINE_VISIBILITY ostream_iterator& operator++(int) {return *this;}
-};
-
-template<class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS istreambuf_iterator
-    : public iterator<input_iterator_tag, _CharT,
-                      typename _Traits::off_type, _CharT*,
-                      _CharT>
-{
-public:
-    typedef _CharT                          char_type;
-    typedef _Traits                         traits_type;
-    typedef typename _Traits::int_type      int_type;
-    typedef basic_streambuf<_CharT,_Traits> streambuf_type;
-    typedef basic_istream<_CharT,_Traits>   istream_type;
-private:
-    mutable streambuf_type* __sbuf_;
-
-    class __proxy
-    {
-        char_type __keep_;
-        streambuf_type* __sbuf_;
-        _LIBCPP_INLINE_VISIBILITY __proxy(char_type __c, streambuf_type* __s)
-            : __keep_(__c), __sbuf_(__s) {}
-        friend class istreambuf_iterator;
-    public:
-        _LIBCPP_INLINE_VISIBILITY char_type operator*() const {return __keep_;}
-    };
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool __test_for_eof() const
-    {
-        if (__sbuf_ && traits_type::eq_int_type(__sbuf_->sgetc(), traits_type::eof()))
-            __sbuf_ = 0;
-        return __sbuf_ == 0;
-    }
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR istreambuf_iterator() _NOEXCEPT : __sbuf_(0) {}
-    _LIBCPP_INLINE_VISIBILITY istreambuf_iterator(istream_type& __s) _NOEXCEPT
-        : __sbuf_(__s.rdbuf()) {}
-    _LIBCPP_INLINE_VISIBILITY istreambuf_iterator(streambuf_type* __s) _NOEXCEPT
-        : __sbuf_(__s) {}
-    _LIBCPP_INLINE_VISIBILITY istreambuf_iterator(const __proxy& __p) _NOEXCEPT
-        : __sbuf_(__p.__sbuf_) {}
-
-    _LIBCPP_INLINE_VISIBILITY char_type  operator*() const
-        {return static_cast<char_type>(__sbuf_->sgetc());}
-    _LIBCPP_INLINE_VISIBILITY istreambuf_iterator& operator++()
-        {
-            __sbuf_->sbumpc();
-            return *this;
-        }
-    _LIBCPP_INLINE_VISIBILITY __proxy              operator++(int)
-        {
-            return __proxy(__sbuf_->sbumpc(), __sbuf_);
-        }
-
-    _LIBCPP_INLINE_VISIBILITY bool equal(const istreambuf_iterator& __b) const
-        {return __test_for_eof() == __b.__test_for_eof();}
-};
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator==(const istreambuf_iterator<_CharT,_Traits>& __a,
-                const istreambuf_iterator<_CharT,_Traits>& __b)
-                {return __a.equal(__b);}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator!=(const istreambuf_iterator<_CharT,_Traits>& __a,
-                const istreambuf_iterator<_CharT,_Traits>& __b)
-                {return !__a.equal(__b);}
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator
-    : public iterator<output_iterator_tag, void, void, void, void>
-{
-public:
-    typedef _CharT                          char_type;
-    typedef _Traits                         traits_type;
-    typedef basic_streambuf<_CharT,_Traits> streambuf_type;
-    typedef basic_ostream<_CharT,_Traits>   ostream_type;
-private:
-    streambuf_type* __sbuf_;
-public:
-    _LIBCPP_INLINE_VISIBILITY ostreambuf_iterator(ostream_type& __s) _NOEXCEPT
-        : __sbuf_(__s.rdbuf()) {}
-    _LIBCPP_INLINE_VISIBILITY ostreambuf_iterator(streambuf_type* __s) _NOEXCEPT
-        : __sbuf_(__s) {}
-    _LIBCPP_INLINE_VISIBILITY ostreambuf_iterator& operator=(_CharT __c)
-        {
-            if (__sbuf_ && traits_type::eq_int_type(__sbuf_->sputc(__c), traits_type::eof()))
-                __sbuf_ = 0;
-            return *this;
-        }
-    _LIBCPP_INLINE_VISIBILITY ostreambuf_iterator& operator*()     {return *this;}
-    _LIBCPP_INLINE_VISIBILITY ostreambuf_iterator& operator++()    {return *this;}
-    _LIBCPP_INLINE_VISIBILITY ostreambuf_iterator& operator++(int) {return *this;}
-    _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;}
-
-    template <class _Ch, class _Tr>
-    friend
-    _LIBCPP_HIDDEN
-    ostreambuf_iterator<_Ch, _Tr>
-    __pad_and_output(ostreambuf_iterator<_Ch, _Tr> __s,
-                     const _Ch* __ob, const _Ch* __op, const _Ch* __oe,
-                     ios_base& __iob, _Ch __fl);
-};
-
-template <class _Iter>
-class _LIBCPP_TEMPLATE_VIS move_iterator
-{
-private:
-    _Iter __i;
-public:
-    typedef _Iter                                            iterator_type;
-    typedef typename iterator_traits<iterator_type>::iterator_category iterator_category;
-    typedef typename iterator_traits<iterator_type>::value_type value_type;
-    typedef typename iterator_traits<iterator_type>::difference_type difference_type;
-    typedef iterator_type pointer;
-#ifndef _LIBCPP_CXX03_LANG
-    typedef typename iterator_traits<iterator_type>::reference __reference;
-    typedef typename conditional<
-            is_reference<__reference>::value,
-            typename remove_reference<__reference>::type&&,
-            __reference
-        >::type reference;
-#else
-    typedef typename iterator_traits<iterator_type>::reference reference;
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator() : __i() {}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    explicit move_iterator(_Iter __x) : __i(__x) {}
-    template <class _Up>
-      _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-      move_iterator(const move_iterator<_Up>& __u) : __i(__u.base()) {}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 _Iter base() const {return __i;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reference operator*() const { return static_cast<reference>(*__i); }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    pointer  operator->() const { return __i;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator& operator++() {++__i; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator  operator++(int) {move_iterator __tmp(*this); ++__i; return __tmp;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator& operator--() {--__i; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator  operator--(int) {move_iterator __tmp(*this); --__i; return __tmp;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator  operator+ (difference_type __n) const {return move_iterator(__i + __n);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator& operator+=(difference_type __n) {__i += __n; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator  operator- (difference_type __n) const {return move_iterator(__i - __n);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    move_iterator& operator-=(difference_type __n) {__i -= __n; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-    reference operator[](difference_type __n) const { return static_cast<reference>(__i[__n]); }
-};
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator==(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
-{
-    return __x.base() == __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator<(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
-{
-    return __x.base() < __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator!=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
-{
-    return __x.base() != __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator>(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
-{
-    return __x.base() > __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator>=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
-{
-    return __x.base() >= __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-bool
-operator<=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
-{
-    return __x.base() <= __y.base();
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto
-operator-(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
--> decltype(__x.base() - __y.base())
-{
-    return __x.base() - __y.base();
-}
-#else
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename move_iterator<_Iter1>::difference_type
-operator-(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
-{
-    return __x.base() - __y.base();
-}
-#endif
-
-template <class _Iter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-move_iterator<_Iter>
-operator+(typename move_iterator<_Iter>::difference_type __n, const move_iterator<_Iter>& __x)
-{
-    return move_iterator<_Iter>(__x.base() + __n);
-}
-
-template <class _Iter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-move_iterator<_Iter>
-make_move_iterator(_Iter __i)
-{
-    return move_iterator<_Iter>(__i);
-}
-
-// __wrap_iter
-
-template <class _Iter> class __wrap_iter;
-
-template <class _Iter1, class _Iter2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-template <class _Iter1, class _Iter2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-template <class _Iter1, class _Iter2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-template <class _Iter1, class _Iter2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-template <class _Iter1, class _Iter2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-template <class _Iter1, class _Iter2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Iter1, class _Iter2>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-auto
-operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
--> decltype(__x.base() - __y.base());
-#else
-template <class _Iter1, class _Iter2>
-_LIBCPP_INLINE_VISIBILITY
-typename __wrap_iter<_Iter1>::difference_type
-operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-#endif
-
-template <class _Iter>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-__wrap_iter<_Iter>
-operator+(typename __wrap_iter<_Iter>::difference_type, __wrap_iter<_Iter>) _NOEXCEPT;
-
-template <class _Ip, class _Op> _Op _LIBCPP_INLINE_VISIBILITY copy(_Ip, _Ip, _Op);
-template <class _B1, class _B2> _B2 _LIBCPP_INLINE_VISIBILITY copy_backward(_B1, _B1, _B2);
-template <class _Ip, class _Op> _Op _LIBCPP_INLINE_VISIBILITY move(_Ip, _Ip, _Op);
-template <class _B1, class _B2> _B2 _LIBCPP_INLINE_VISIBILITY move_backward(_B1, _B1, _B2);
-
-#if _LIBCPP_DEBUG_LEVEL < 2
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-typename enable_if
-<
-    is_trivially_copy_assignable<_Tp>::value,
-    _Tp*
->::type
-__unwrap_iter(__wrap_iter<_Tp*>);
-
-#else
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-typename enable_if
-<
-    is_trivially_copy_assignable<_Tp>::value,
-    __wrap_iter<_Tp*>
->::type
-__unwrap_iter(__wrap_iter<_Tp*> __i);
-
-#endif
-
-template <class _Iter>
-class __wrap_iter
-{
-public:
-    typedef _Iter                                                      iterator_type;
-    typedef typename iterator_traits<iterator_type>::iterator_category iterator_category;
-    typedef typename iterator_traits<iterator_type>::value_type        value_type;
-    typedef typename iterator_traits<iterator_type>::difference_type   difference_type;
-    typedef typename iterator_traits<iterator_type>::pointer           pointer;
-    typedef typename iterator_traits<iterator_type>::reference         reference;
-private:
-    iterator_type __i;
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter() _NOEXCEPT
-#if _LIBCPP_STD_VER > 11
-                : __i{}
-#endif
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__insert_i(this);
-#endif
-    }
-    template <class _Up> _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-        __wrap_iter(const __wrap_iter<_Up>& __u,
-            typename enable_if<is_convertible<_Up, iterator_type>::value>::type* = 0) _NOEXCEPT
-            : __i(__u.base())
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__iterator_copy(this, &__u);
-#endif
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-    __wrap_iter(const __wrap_iter& __x)
-        : __i(__x.base())
-    {
-        __get_db()->__iterator_copy(this, &__x);
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-    __wrap_iter& operator=(const __wrap_iter& __x)
-    {
-        if (this != &__x)
-        {
-            __get_db()->__iterator_copy(this, &__x);
-            __i = __x.__i;
-        }
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-    ~__wrap_iter()
-    {
-        __get_db()->__erase_i(this);
-    }
-#endif
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG reference operator*() const _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to dereference a non-dereferenceable iterator");
-#endif
-        return *__i;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG pointer  operator->() const _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to dereference a non-dereferenceable iterator");
-#endif
-        return (pointer)_VSTD::addressof(*__i);
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter& operator++() _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to increment non-incrementable iterator");
-#endif
-        ++__i;
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter  operator++(int) _NOEXCEPT
-        {__wrap_iter __tmp(*this); ++(*this); return __tmp;}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter& operator--() _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__decrementable(this),
-                       "Attempted to decrement non-decrementable iterator");
-#endif
-        --__i;
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter  operator--(int) _NOEXCEPT
-        {__wrap_iter __tmp(*this); --(*this); return __tmp;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter  operator+ (difference_type __n) const _NOEXCEPT
-        {__wrap_iter __w(*this); __w += __n; return __w;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter& operator+=(difference_type __n) _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__addable(this, __n),
-                   "Attempted to add/subtract iterator outside of valid range");
-#endif
-        __i += __n;
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter  operator- (difference_type __n) const _NOEXCEPT
-        {return *this + (-__n);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter& operator-=(difference_type __n) _NOEXCEPT
-        {*this += -__n; return *this;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG reference    operator[](difference_type __n) const _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__subscriptable(this, __n),
-                   "Attempted to subscript iterator outside of valid range");
-#endif
-        return __i[__n];
-    }
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG iterator_type base() const _NOEXCEPT {return __i;}
-
-private:
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter(const void* __p, iterator_type __x) : __i(__x)
-    {
-        __get_db()->__insert_ic(this, __p);
-    }
-#else
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter(iterator_type __x) _NOEXCEPT : __i(__x) {}
-#endif
-
-    template <class _Up> friend class __wrap_iter;
-    template <class _CharT, class _Traits, class _Alloc> friend class basic_string;
-    template <class _Tp, class _Alloc> friend class _LIBCPP_TEMPLATE_VIS vector;
-    template <class _Tp, size_t> friend class _LIBCPP_TEMPLATE_VIS span;
-
-    template <class _Iter1, class _Iter2>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    bool
-    operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-    template <class _Iter1, class _Iter2>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    bool
-    operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-    template <class _Iter1, class _Iter2>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    bool
-    operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-    template <class _Iter1, class _Iter2>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    bool
-    operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-    template <class _Iter1, class _Iter2>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    bool
-    operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-    template <class _Iter1, class _Iter2>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    bool
-    operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Iter1, class _Iter2>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    auto
-    operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
-    -> decltype(__x.base() - __y.base());
-#else
-    template <class _Iter1, class _Iter2>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    typename __wrap_iter<_Iter1>::difference_type
-    operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT;
-#endif
-
-    template <class _Iter1>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    __wrap_iter<_Iter1>
-    operator+(typename __wrap_iter<_Iter1>::difference_type, __wrap_iter<_Iter1>) _NOEXCEPT;
-
-    template <class _Ip, class _Op> friend _Op copy(_Ip, _Ip, _Op);
-    template <class _B1, class _B2> friend _B2 copy_backward(_B1, _B1, _B2);
-    template <class _Ip, class _Op> friend _Op move(_Ip, _Ip, _Op);
-    template <class _B1, class _B2> friend _B2 move_backward(_B1, _B1, _B2);
-
-#if _LIBCPP_DEBUG_LEVEL < 2
-    template <class _Tp>
-    _LIBCPP_CONSTEXPR_IF_NODEBUG friend
-    typename enable_if
-    <
-        is_trivially_copy_assignable<_Tp>::value,
-        _Tp*
-    >::type
-    __unwrap_iter(__wrap_iter<_Tp*>);
-#else
-  template <class _Tp>
-  inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-  typename enable_if
-  <
-      is_trivially_copy_assignable<_Tp>::value,
-      __wrap_iter<_Tp*>
-  >::type
-  __unwrap_iter(__wrap_iter<_Tp*> __i);
-#endif
-};
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
-{
-    return __x.base() == __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__less_than_comparable(&__x, &__y),
-                   "Attempted to compare incomparable iterators");
-#endif
-    return __x.base() < __y.base();
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
-{
-    return !(__x == __y);
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
-{
-    return __y < __x;
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
-{
-    return !(__x < __y);
-}
-
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
-{
-    return !(__y < __x);
-}
-
-template <class _Iter1>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT
-{
-    return !(__x == __y);
-}
-
-template <class _Iter1>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT
-{
-    return __y < __x;
-}
-
-template <class _Iter1>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT
-{
-    return !(__x < __y);
-}
-
-template <class _Iter1>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-bool
-operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT
-{
-    return !(__y < __x);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-auto
-operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
--> decltype(__x.base() - __y.base())
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__less_than_comparable(&__x, &__y),
-                   "Attempted to subtract incompatible iterators");
-#endif
-    return __x.base() - __y.base();
-}
-#else
-template <class _Iter1, class _Iter2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-typename __wrap_iter<_Iter1>::difference_type
-operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__less_than_comparable(&__x, &__y),
-                   "Attempted to subtract incompatible iterators");
-#endif
-    return __x.base() - __y.base();
-}
-#endif
-
-template <class _Iter>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
-__wrap_iter<_Iter>
-operator+(typename __wrap_iter<_Iter>::difference_type __n,
-          __wrap_iter<_Iter> __x) _NOEXCEPT
-{
-    __x += __n;
-    return __x;
-}
-
-template <class _Iter>
-struct __libcpp_is_trivial_iterator
-    : public _LIBCPP_BOOL_CONSTANT(is_pointer<_Iter>::value) {};
-
-template <class _Iter>
-struct __libcpp_is_trivial_iterator<move_iterator<_Iter> >
-    : public _LIBCPP_BOOL_CONSTANT(__libcpp_is_trivial_iterator<_Iter>::value) {};
-
-template <class _Iter>
-struct __libcpp_is_trivial_iterator<reverse_iterator<_Iter> >
-    : public _LIBCPP_BOOL_CONSTANT(__libcpp_is_trivial_iterator<_Iter>::value) {};
-
-template <class _Iter>
-struct __libcpp_is_trivial_iterator<__wrap_iter<_Iter> >
-    : public _LIBCPP_BOOL_CONSTANT(__libcpp_is_trivial_iterator<_Iter>::value) {};
-
-
-template <class _Tp, size_t _Np>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp*
-begin(_Tp (&__array)[_Np])
-{
-    return __array;
-}
-
-template <class _Tp, size_t _Np>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-_Tp*
-end(_Tp (&__array)[_Np])
-{
-    return __array + _Np;
-}
-
-#if !defined(_LIBCPP_CXX03_LANG)
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto
-begin(_Cp& __c) -> decltype(__c.begin())
-{
-    return __c.begin();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto
-begin(const _Cp& __c) -> decltype(__c.begin())
-{
-    return __c.begin();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto
-end(_Cp& __c) -> decltype(__c.end())
-{
-    return __c.end();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto
-end(const _Cp& __c) -> decltype(__c.end())
-{
-    return __c.end();
-}
-
-#if _LIBCPP_STD_VER > 11
-
-template <class _Tp, size_t _Np>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-reverse_iterator<_Tp*> rbegin(_Tp (&__array)[_Np])
-{
-    return reverse_iterator<_Tp*>(__array + _Np);
-}
-
-template <class _Tp, size_t _Np>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-reverse_iterator<_Tp*> rend(_Tp (&__array)[_Np])
-{
-    return reverse_iterator<_Tp*>(__array);
-}
-
-template <class _Ep>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-reverse_iterator<const _Ep*> rbegin(initializer_list<_Ep> __il)
-{
-    return reverse_iterator<const _Ep*>(__il.end());
-}
-
-template <class _Ep>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-reverse_iterator<const _Ep*> rend(initializer_list<_Ep> __il)
-{
-    return reverse_iterator<const _Ep*>(__il.begin());
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-auto cbegin(const _Cp& __c) -> decltype(_VSTD::begin(__c))
-{
-    return _VSTD::begin(__c);
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-auto cend(const _Cp& __c) -> decltype(_VSTD::end(__c))
-{
-    return _VSTD::end(__c);
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto rbegin(_Cp& __c) -> decltype(__c.rbegin())
-{
-    return __c.rbegin();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto rbegin(const _Cp& __c) -> decltype(__c.rbegin())
-{
-    return __c.rbegin();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto rend(_Cp& __c) -> decltype(__c.rend())
-{
-    return __c.rend();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto rend(const _Cp& __c) -> decltype(__c.rend())
-{
-    return __c.rend();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto crbegin(const _Cp& __c) -> decltype(_VSTD::rbegin(__c))
-{
-    return _VSTD::rbegin(__c);
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-auto crend(const _Cp& __c) -> decltype(_VSTD::rend(__c))
-{
-    return _VSTD::rend(__c);
-}
-
-#endif
-
-
-#else  // defined(_LIBCPP_CXX03_LANG)
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY
-typename _Cp::iterator
-begin(_Cp& __c)
-{
-    return __c.begin();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY
-typename _Cp::const_iterator
-begin(const _Cp& __c)
-{
-    return __c.begin();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY
-typename _Cp::iterator
-end(_Cp& __c)
-{
-    return __c.end();
-}
-
-template <class _Cp>
-_LIBCPP_INLINE_VISIBILITY
-typename _Cp::const_iterator
-end(const _Cp& __c)
-{
-    return __c.end();
-}
-
-#endif  // !defined(_LIBCPP_CXX03_LANG)
-
-#if _LIBCPP_STD_VER > 14
-
-// #if _LIBCPP_STD_VER > 11
-// template <>
-// struct _LIBCPP_TEMPLATE_VIS plus<void>
-// {
-//     template <class _T1, class _T2>
-//     _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-//     auto operator()(_T1&& __t, _T2&& __u) const
-//     _NOEXCEPT_(noexcept(_VSTD::forward<_T1>(__t) + _VSTD::forward<_T2>(__u)))
-//     -> decltype        (_VSTD::forward<_T1>(__t) + _VSTD::forward<_T2>(__u))
-//         { return        _VSTD::forward<_T1>(__t) + _VSTD::forward<_T2>(__u); }
-//     typedef void is_transparent;
-// };
-// #endif
-
-template <class _Cont>
-_LIBCPP_INLINE_VISIBILITY
-constexpr auto size(const _Cont& __c)
-_NOEXCEPT_(noexcept(__c.size()))
--> decltype        (__c.size())
-{ return            __c.size(); }
-
-template <class _Tp, size_t _Sz>
-_LIBCPP_INLINE_VISIBILITY
-constexpr size_t size(const _Tp (&)[_Sz]) noexcept { return _Sz; }
-
-#if _LIBCPP_STD_VER > 17
-template <class _Cont>
-_LIBCPP_INLINE_VISIBILITY
-constexpr auto ssize(const _Cont& __c)
-_NOEXCEPT_(noexcept(static_cast<common_type_t<ptrdiff_t, make_signed_t<decltype(__c.size())>>>(__c.size())))
-->                              common_type_t<ptrdiff_t, make_signed_t<decltype(__c.size())>>
-{ return            static_cast<common_type_t<ptrdiff_t, make_signed_t<decltype(__c.size())>>>(__c.size()); }
-
-template <class _Tp, ptrdiff_t _Sz>
-_LIBCPP_INLINE_VISIBILITY
-constexpr ptrdiff_t ssize(const _Tp (&)[_Sz]) noexcept { return _Sz; }
-#endif
-
-template <class _Cont>
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-constexpr auto empty(const _Cont& __c)
-_NOEXCEPT_(noexcept(__c.empty()))
--> decltype        (__c.empty())
-{ return            __c.empty(); }
-
-template <class _Tp, size_t _Sz>
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-constexpr bool empty(const _Tp (&)[_Sz]) noexcept { return false; }
-
-template <class _Ep>
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-constexpr bool empty(initializer_list<_Ep> __il) noexcept { return __il.size() == 0; }
-
-template <class _Cont> constexpr
-_LIBCPP_INLINE_VISIBILITY
-auto data(_Cont& __c)
-_NOEXCEPT_(noexcept(__c.data()))
--> decltype        (__c.data())
-{ return            __c.data(); }
-
-template <class _Cont> constexpr
-_LIBCPP_INLINE_VISIBILITY
-auto data(const _Cont& __c)
-_NOEXCEPT_(noexcept(__c.data()))
--> decltype        (__c.data())
-{ return            __c.data(); }
-
-template <class _Tp, size_t _Sz>
-_LIBCPP_INLINE_VISIBILITY
-constexpr _Tp* data(_Tp (&__array)[_Sz]) noexcept { return __array; }
-
-template <class _Ep>
-_LIBCPP_INLINE_VISIBILITY
-constexpr const _Ep* data(initializer_list<_Ep> __il) noexcept { return __il.begin(); }
-#endif
-
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_ITERATOR
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/list b/r21/sources/cxx-stl/llvm-libc++/include/list
deleted file mode 100644
index c92ef79..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/list
+++ /dev/null
@@ -1,2488 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- list ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_LIST
-#define _LIBCPP_LIST
-
-/*
-    list synopsis
-
-namespace std
-{
-
-template <class T, class Alloc = allocator<T> >
-class list
-{
-public:
-
-    // types:
-    typedef T value_type;
-    typedef Alloc allocator_type;
-    typedef typename allocator_type::reference reference;
-    typedef typename allocator_type::const_reference const_reference;
-    typedef typename allocator_type::pointer pointer;
-    typedef typename allocator_type::const_pointer const_pointer;
-    typedef implementation-defined iterator;
-    typedef implementation-defined const_iterator;
-    typedef implementation-defined size_type;
-    typedef implementation-defined difference_type;
-    typedef reverse_iterator<iterator> reverse_iterator;
-    typedef reverse_iterator<const_iterator> const_reverse_iterator;
-
-    list()
-        noexcept(is_nothrow_default_constructible<allocator_type>::value);
-    explicit list(const allocator_type& a);
-    explicit list(size_type n);
-    explicit list(size_type n, const allocator_type& a); // C++14
-    list(size_type n, const value_type& value);
-    list(size_type n, const value_type& value, const allocator_type& a);
-    template <class Iter>
-        list(Iter first, Iter last);
-    template <class Iter>
-        list(Iter first, Iter last, const allocator_type& a);
-    list(const list& x);
-    list(const list&, const allocator_type& a);
-    list(list&& x)
-        noexcept(is_nothrow_move_constructible<allocator_type>::value);
-    list(list&&, const allocator_type& a);
-    list(initializer_list<value_type>);
-    list(initializer_list<value_type>, const allocator_type& a);
-
-    ~list();
-
-    list& operator=(const list& x);
-    list& operator=(list&& x)
-        noexcept(
-             allocator_type::propagate_on_container_move_assignment::value &&
-             is_nothrow_move_assignable<allocator_type>::value);
-    list& operator=(initializer_list<value_type>);
-    template <class Iter>
-        void assign(Iter first, Iter last);
-    void assign(size_type n, const value_type& t);
-    void assign(initializer_list<value_type>);
-
-    allocator_type get_allocator() const noexcept;
-
-    iterator begin() noexcept;
-    const_iterator begin() const noexcept;
-    iterator end() noexcept;
-    const_iterator end() const noexcept;
-    reverse_iterator rbegin() noexcept;
-    const_reverse_iterator rbegin() const noexcept;
-    reverse_iterator rend() noexcept;
-    const_reverse_iterator rend() const noexcept;
-    const_iterator cbegin() const noexcept;
-    const_iterator cend() const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend() const noexcept;
-
-    reference front();
-    const_reference front() const;
-    reference back();
-    const_reference back() const;
-
-    bool empty() const noexcept;
-    size_type size() const noexcept;
-    size_type max_size() const noexcept;
-
-    template <class... Args>
-        reference emplace_front(Args&&... args); // reference in C++17
-    void pop_front();
-    template <class... Args>
-        reference emplace_back(Args&&... args);  // reference in C++17
-    void pop_back();
-    void push_front(const value_type& x);
-    void push_front(value_type&& x);
-    void push_back(const value_type& x);
-    void push_back(value_type&& x);
-    template <class... Args>
-        iterator emplace(const_iterator position, Args&&... args);
-    iterator insert(const_iterator position, const value_type& x);
-    iterator insert(const_iterator position, value_type&& x);
-    iterator insert(const_iterator position, size_type n, const value_type& x);
-    template <class Iter>
-        iterator insert(const_iterator position, Iter first, Iter last);
-    iterator insert(const_iterator position, initializer_list<value_type> il);
-
-    iterator erase(const_iterator position);
-    iterator erase(const_iterator position, const_iterator last);
-
-    void resize(size_type sz);
-    void resize(size_type sz, const value_type& c);
-
-    void swap(list&)
-        noexcept(allocator_traits<allocator_type>::is_always_equal::value);  // C++17
-    void clear() noexcept;
-
-    void splice(const_iterator position, list& x);
-    void splice(const_iterator position, list&& x);
-    void splice(const_iterator position, list& x, const_iterator i);
-    void splice(const_iterator position, list&& x, const_iterator i);
-    void splice(const_iterator position, list& x, const_iterator first,
-                                                  const_iterator last);
-    void splice(const_iterator position, list&& x, const_iterator first,
-                                                  const_iterator last);
-
-    size_type remove(const value_type& value);       // void before C++20
-    template <class Pred>
-      size_type remove_if(Pred pred);                // void before C++20
-    size_type unique();                              // void before C++20
-    template <class BinaryPredicate>
-      size_type unique(BinaryPredicate binary_pred); // void before C++20
-    void merge(list& x);
-    void merge(list&& x);
-    template <class Compare>
-        void merge(list& x, Compare comp);
-    template <class Compare>
-        void merge(list&& x, Compare comp);
-    void sort();
-    template <class Compare>
-        void sort(Compare comp);
-    void reverse() noexcept;
-};
-
-
-template <class InputIterator, class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
-    list(InputIterator, InputIterator, Allocator = Allocator())
-    -> list<typename iterator_traits<InputIterator>::value_type, Allocator>;  // C++17
-
-template <class T, class Alloc>
-    bool operator==(const list<T,Alloc>& x, const list<T,Alloc>& y);
-template <class T, class Alloc>
-    bool operator< (const list<T,Alloc>& x, const list<T,Alloc>& y);
-template <class T, class Alloc>
-    bool operator!=(const list<T,Alloc>& x, const list<T,Alloc>& y);
-template <class T, class Alloc>
-    bool operator> (const list<T,Alloc>& x, const list<T,Alloc>& y);
-template <class T, class Alloc>
-    bool operator>=(const list<T,Alloc>& x, const list<T,Alloc>& y);
-template <class T, class Alloc>
-    bool operator<=(const list<T,Alloc>& x, const list<T,Alloc>& y);
-
-template <class T, class Alloc>
-    void swap(list<T,Alloc>& x, list<T,Alloc>& y)
-         noexcept(noexcept(x.swap(y)));
-
-template <class T, class Allocator, class U>
-    void erase(list<T, Allocator>& c, const U& value);       // C++20
-template <class T, class Allocator, class Predicate>
-    void erase_if(list<T, Allocator>& c, Predicate pred);    // C++20
-
-}  // std
-
-*/
-
-#include <__config>
-
-#include <memory>
-#include <limits>
-#include <initializer_list>
-#include <iterator>
-#include <algorithm>
-#include <type_traits>
-#include <version>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp, class _VoidPtr> struct __list_node;
-template <class _Tp, class _VoidPtr> struct __list_node_base;
-
-template <class _Tp, class _VoidPtr>
-struct __list_node_pointer_traits {
-  typedef typename __rebind_pointer<_VoidPtr, __list_node<_Tp, _VoidPtr> >::type
-        __node_pointer;
-  typedef typename __rebind_pointer<_VoidPtr, __list_node_base<_Tp, _VoidPtr> >::type
-        __base_pointer;
-
-#if defined(_LIBCPP_ABI_LIST_REMOVE_NODE_POINTER_UB)
-  typedef __base_pointer __link_pointer;
-#else
-  typedef typename conditional<
-          is_pointer<_VoidPtr>::value,
-          __base_pointer,
-          __node_pointer
-  >::type __link_pointer;
-#endif
-
-  typedef typename conditional<
-          is_same<__link_pointer, __node_pointer>::value,
-          __base_pointer,
-          __node_pointer
-  >::type __non_link_pointer;
-
-  static _LIBCPP_INLINE_VISIBILITY
-  __link_pointer __unsafe_link_pointer_cast(__link_pointer __p) {
-      return __p;
-  }
-
-  static _LIBCPP_INLINE_VISIBILITY
-  __link_pointer __unsafe_link_pointer_cast(__non_link_pointer __p) {
-      return static_cast<__link_pointer>(static_cast<_VoidPtr>(__p));
-  }
-
-};
-
-template <class _Tp, class _VoidPtr>
-struct __list_node_base
-{
-    typedef __list_node_pointer_traits<_Tp, _VoidPtr> _NodeTraits;
-    typedef typename _NodeTraits::__node_pointer __node_pointer;
-    typedef typename _NodeTraits::__base_pointer __base_pointer;
-    typedef typename _NodeTraits::__link_pointer __link_pointer;
-
-    __link_pointer __prev_;
-    __link_pointer __next_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_node_base() : __prev_(_NodeTraits::__unsafe_link_pointer_cast(__self())),
-                         __next_(_NodeTraits::__unsafe_link_pointer_cast(__self())) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __base_pointer __self() {
-        return pointer_traits<__base_pointer>::pointer_to(*this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __node_pointer __as_node() {
-        return static_cast<__node_pointer>(__self());
-    }
-};
-
-template <class _Tp, class _VoidPtr>
-struct __list_node
-    : public __list_node_base<_Tp, _VoidPtr>
-{
-    _Tp __value_;
-
-    typedef __list_node_base<_Tp, _VoidPtr> __base;
-    typedef typename __base::__link_pointer __link_pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __link_pointer __as_link() {
-        return static_cast<__link_pointer>(__base::__self());
-    }
-};
-
-template <class _Tp, class _Alloc = allocator<_Tp> > class _LIBCPP_TEMPLATE_VIS list;
-template <class _Tp, class _Alloc> class __list_imp;
-template <class _Tp, class _VoidPtr> class _LIBCPP_TEMPLATE_VIS __list_const_iterator;
-
-template <class _Tp, class _VoidPtr>
-class _LIBCPP_TEMPLATE_VIS __list_iterator
-{
-    typedef __list_node_pointer_traits<_Tp, _VoidPtr> _NodeTraits;
-    typedef typename _NodeTraits::__link_pointer __link_pointer;
-
-    __link_pointer __ptr_;
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __list_iterator(__link_pointer __p, const void* __c) _NOEXCEPT
-        : __ptr_(__p)
-    {
-        __get_db()->__insert_ic(this, __c);
-    }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __list_iterator(__link_pointer __p) _NOEXCEPT : __ptr_(__p) {}
-#endif
-
-
-
-    template<class, class> friend class list;
-    template<class, class> friend class __list_imp;
-    template<class, class> friend class __list_const_iterator;
-public:
-    typedef bidirectional_iterator_tag       iterator_category;
-    typedef _Tp                              value_type;
-    typedef value_type&                      reference;
-    typedef typename __rebind_pointer<_VoidPtr, value_type>::type pointer;
-    typedef typename pointer_traits<pointer>::difference_type difference_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_iterator() _NOEXCEPT : __ptr_(nullptr)
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__insert_i(this);
-#endif
-    }
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_iterator(const __list_iterator& __p)
-        : __ptr_(__p.__ptr_)
-    {
-        __get_db()->__iterator_copy(this, &__p);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__list_iterator()
-    {
-        __get_db()->__erase_i(this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_iterator& operator=(const __list_iterator& __p)
-    {
-        if (this != &__p)
-        {
-            __get_db()->__iterator_copy(this, &__p);
-            __ptr_ = __p.__ptr_;
-        }
-        return *this;
-    }
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to dereference a non-dereferenceable list::iterator");
-#endif
-        return __ptr_->__as_node()->__value_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to dereference a non-dereferenceable list::iterator");
-#endif
-        return pointer_traits<pointer>::pointer_to(__ptr_->__as_node()->__value_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_iterator& operator++()
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to increment non-incrementable list::iterator");
-#endif
-        __ptr_ = __ptr_->__next_;
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __list_iterator operator++(int) {__list_iterator __t(*this); ++(*this); return __t;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_iterator& operator--()
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__decrementable(this),
-                       "Attempted to decrement non-decrementable list::iterator");
-#endif
-        __ptr_ = __ptr_->__prev_;
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __list_iterator operator--(int) {__list_iterator __t(*this); --(*this); return __t;}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __list_iterator& __x, const __list_iterator& __y)
-    {
-        return __x.__ptr_ == __y.__ptr_;
-    }
-    friend _LIBCPP_INLINE_VISIBILITY
-     bool operator!=(const __list_iterator& __x, const __list_iterator& __y)
-        {return !(__x == __y);}
-};
-
-template <class _Tp, class _VoidPtr>
-class _LIBCPP_TEMPLATE_VIS __list_const_iterator
-{
-    typedef __list_node_pointer_traits<_Tp, _VoidPtr> _NodeTraits;
-    typedef typename _NodeTraits::__link_pointer __link_pointer;
-
-    __link_pointer __ptr_;
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __list_const_iterator(__link_pointer __p, const void* __c) _NOEXCEPT
-        : __ptr_(__p)
-    {
-        __get_db()->__insert_ic(this, __c);
-    }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __list_const_iterator(__link_pointer __p) _NOEXCEPT : __ptr_(__p) {}
-#endif
-
-    template<class, class> friend class list;
-    template<class, class> friend class __list_imp;
-public:
-    typedef bidirectional_iterator_tag       iterator_category;
-    typedef _Tp                              value_type;
-    typedef const value_type&                reference;
-    typedef typename __rebind_pointer<_VoidPtr, const value_type>::type pointer;
-    typedef typename pointer_traits<pointer>::difference_type difference_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_const_iterator() _NOEXCEPT : __ptr_(nullptr)
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__insert_i(this);
-#endif
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __list_const_iterator(const __list_iterator<_Tp, _VoidPtr>& __p) _NOEXCEPT
-        : __ptr_(__p.__ptr_)
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__iterator_copy(this, &__p);
-#endif
-    }
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_const_iterator(const __list_const_iterator& __p)
-        : __ptr_(__p.__ptr_)
-    {
-        __get_db()->__iterator_copy(this, &__p);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__list_const_iterator()
-    {
-        __get_db()->__erase_i(this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_const_iterator& operator=(const __list_const_iterator& __p)
-    {
-        if (this != &__p)
-        {
-            __get_db()->__iterator_copy(this, &__p);
-            __ptr_ = __p.__ptr_;
-        }
-        return *this;
-    }
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to dereference a non-dereferenceable list::const_iterator");
-#endif
-        return __ptr_->__as_node()->__value_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to dereference a non-dereferenceable list::const_iterator");
-#endif
-        return pointer_traits<pointer>::pointer_to(__ptr_->__as_node()->__value_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_const_iterator& operator++()
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
-                       "Attempted to increment non-incrementable list::const_iterator");
-#endif
-        __ptr_ = __ptr_->__next_;
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __list_const_iterator operator++(int) {__list_const_iterator __t(*this); ++(*this); return __t;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_const_iterator& operator--()
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__decrementable(this),
-                       "Attempted to decrement non-decrementable list::const_iterator");
-#endif
-        __ptr_ = __ptr_->__prev_;
-        return *this;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    __list_const_iterator operator--(int) {__list_const_iterator __t(*this); --(*this); return __t;}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __list_const_iterator& __x, const __list_const_iterator& __y)
-    {
-        return __x.__ptr_ == __y.__ptr_;
-    }
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __list_const_iterator& __x, const __list_const_iterator& __y)
-        {return !(__x == __y);}
-};
-
-template <class _Tp, class _Alloc>
-class __list_imp
-{
-    __list_imp(const __list_imp&);
-    __list_imp& operator=(const __list_imp&);
-public:
-    typedef _Alloc                                                  allocator_type;
-    typedef allocator_traits<allocator_type>                        __alloc_traits;
-    typedef typename __alloc_traits::size_type                      size_type;
-protected:
-    typedef _Tp                                                     value_type;
-    typedef typename __alloc_traits::void_pointer                   __void_pointer;
-    typedef __list_iterator<value_type, __void_pointer>             iterator;
-    typedef __list_const_iterator<value_type, __void_pointer>       const_iterator;
-    typedef __list_node_base<value_type, __void_pointer>            __node_base;
-    typedef __list_node<value_type, __void_pointer>                 __node;
-    typedef typename __rebind_alloc_helper<__alloc_traits, __node>::type __node_allocator;
-    typedef allocator_traits<__node_allocator>                       __node_alloc_traits;
-    typedef typename __node_alloc_traits::pointer                    __node_pointer;
-    typedef typename __node_alloc_traits::pointer                    __node_const_pointer;
-    typedef __list_node_pointer_traits<value_type, __void_pointer> __node_pointer_traits;
-    typedef typename __node_pointer_traits::__link_pointer __link_pointer;
-    typedef __link_pointer __link_const_pointer;
-    typedef typename __alloc_traits::pointer                         pointer;
-    typedef typename __alloc_traits::const_pointer                   const_pointer;
-    typedef typename __alloc_traits::difference_type                 difference_type;
-
-    typedef typename __rebind_alloc_helper<__alloc_traits, __node_base>::type __node_base_allocator;
-    typedef typename allocator_traits<__node_base_allocator>::pointer __node_base_pointer;
-    static_assert((!is_same<allocator_type, __node_allocator>::value),
-                  "internal allocator type must differ from user-specified "
-                  "type; otherwise overload resolution breaks");
-
-    __node_base __end_;
-    __compressed_pair<size_type, __node_allocator> __size_alloc_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __link_pointer __end_as_link() const _NOEXCEPT {
-        return __node_pointer_traits::__unsafe_link_pointer_cast(
-                const_cast<__node_base&>(__end_).__self());
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-          size_type& __sz() _NOEXCEPT {return __size_alloc_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-    const size_type& __sz() const _NOEXCEPT
-        {return __size_alloc_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-          __node_allocator& __node_alloc() _NOEXCEPT
-          {return __size_alloc_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const __node_allocator& __node_alloc() const _NOEXCEPT
-        {return __size_alloc_.second();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __node_alloc_max_size() const _NOEXCEPT {
-        return __node_alloc_traits::max_size(__node_alloc());
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    static void __unlink_nodes(__link_pointer __f, __link_pointer __l) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __list_imp()
-        _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    __list_imp(const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    __list_imp(const __node_allocator& __a);
-#ifndef _LIBCPP_CXX03_LANG
-    __list_imp(__node_allocator&& __a) _NOEXCEPT;
-#endif
-    ~__list_imp();
-    void clear() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT {return __sz() == 0;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator begin() _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return iterator(__end_.__next_, this);
-#else
-        return iterator(__end_.__next_);
-#endif
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const  _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return const_iterator(__end_.__next_, this);
-#else
-        return const_iterator(__end_.__next_);
-#endif
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator end() _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return iterator(__end_as_link(), this);
-#else
-        return iterator(__end_as_link());
-#endif
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        return const_iterator(__end_as_link(), this);
-#else
-        return const_iterator(__end_as_link());
-#endif
-    }
-
-    void swap(__list_imp& __c)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value);
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __list_imp& __c)
-        {__copy_assign_alloc(__c, integral_constant<bool,
-                      __node_alloc_traits::propagate_on_container_copy_assignment::value>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__list_imp& __c)
-        _NOEXCEPT_(
-            !__node_alloc_traits::propagate_on_container_move_assignment::value ||
-            is_nothrow_move_assignable<__node_allocator>::value)
-        {__move_assign_alloc(__c, integral_constant<bool,
-                      __node_alloc_traits::propagate_on_container_move_assignment::value>());}
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __list_imp& __c, true_type)
-        {
-            if (__node_alloc() != __c.__node_alloc())
-                clear();
-            __node_alloc() = __c.__node_alloc();
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __list_imp&, false_type)
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__list_imp& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value)
-        {
-            __node_alloc() = _VSTD::move(__c.__node_alloc());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__list_imp&, false_type)
-        _NOEXCEPT
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __invalidate_all_iterators() {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-      __get_db()->__invalidate_all(this);
-#endif
-    }
-};
-
-// Unlink nodes [__f, __l]
-template <class _Tp, class _Alloc>
-inline
-void
-__list_imp<_Tp, _Alloc>::__unlink_nodes(__link_pointer __f, __link_pointer __l)
-    _NOEXCEPT
-{
-    __f->__prev_->__next_ = __l->__next_;
-    __l->__next_->__prev_ = __f->__prev_;
-}
-
-template <class _Tp, class _Alloc>
-inline
-__list_imp<_Tp, _Alloc>::__list_imp()
-        _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value)
-    : __size_alloc_(0)
-{
-}
-
-template <class _Tp, class _Alloc>
-inline
-__list_imp<_Tp, _Alloc>::__list_imp(const allocator_type& __a)
-    : __size_alloc_(0, __node_allocator(__a))
-{
-}
-
-template <class _Tp, class _Alloc>
-inline __list_imp<_Tp, _Alloc>::__list_imp(const __node_allocator& __a)
-    : __size_alloc_(0, __a) {}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp, class _Alloc>
-inline __list_imp<_Tp, _Alloc>::__list_imp(__node_allocator&& __a) _NOEXCEPT
-    : __size_alloc_(0, std::move(__a)) {}
-#endif
-
-template <class _Tp, class _Alloc>
-__list_imp<_Tp, _Alloc>::~__list_imp() {
-  clear();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__erase_c(this);
-#endif
-}
-
-template <class _Tp, class _Alloc>
-void
-__list_imp<_Tp, _Alloc>::clear() _NOEXCEPT
-{
-    if (!empty())
-    {
-        __node_allocator& __na = __node_alloc();
-        __link_pointer __f = __end_.__next_;
-        __link_pointer __l = __end_as_link();
-        __unlink_nodes(__f, __l->__prev_);
-        __sz() = 0;
-        while (__f != __l)
-        {
-            __node_pointer __np = __f->__as_node();
-            __f = __f->__next_;
-            __node_alloc_traits::destroy(__na, _VSTD::addressof(__np->__value_));
-            __node_alloc_traits::deallocate(__na, __np, 1);
-        }
-        __invalidate_all_iterators();
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-__list_imp<_Tp, _Alloc>::swap(__list_imp& __c)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value)
-#endif
-{
-    _LIBCPP_ASSERT(__alloc_traits::propagate_on_container_swap::value ||
-                   this->__node_alloc() == __c.__node_alloc(),
-                   "list::swap: Either propagate_on_container_swap must be true"
-                   " or the allocators must compare equal");
-    using _VSTD::swap;
-    __swap_allocator(__node_alloc(), __c.__node_alloc());
-    swap(__sz(), __c.__sz());
-    swap(__end_, __c.__end_);
-    if (__sz() == 0)
-        __end_.__next_ = __end_.__prev_ = __end_as_link();
-    else
-        __end_.__prev_->__next_ = __end_.__next_->__prev_ = __end_as_link();
-    if (__c.__sz() == 0)
-        __c.__end_.__next_ = __c.__end_.__prev_ = __c.__end_as_link();
-    else
-        __c.__end_.__prev_->__next_ = __c.__end_.__next_->__prev_ = __c.__end_as_link();
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __libcpp_db* __db = __get_db();
-    __c_node* __cn1 = __db->__find_c_and_lock(this);
-    __c_node* __cn2 = __db->__find_c(&__c);
-    std::swap(__cn1->beg_, __cn2->beg_);
-    std::swap(__cn1->end_, __cn2->end_);
-    std::swap(__cn1->cap_, __cn2->cap_);
-    for (__i_node** __p = __cn1->end_; __p != __cn1->beg_;)
-    {
-        --__p;
-        const_iterator* __i = static_cast<const_iterator*>((*__p)->__i_);
-        if (__i->__ptr_ == __c.__end_as_link())
-        {
-            __cn2->__add(*__p);
-            if (--__cn1->end_ != __p)
-                memmove(__p, __p+1, (__cn1->end_ - __p)*sizeof(__i_node*));
-        }
-        else
-            (*__p)->__c_ = __cn1;
-    }
-    for (__i_node** __p = __cn2->end_; __p != __cn2->beg_;)
-    {
-        --__p;
-        const_iterator* __i = static_cast<const_iterator*>((*__p)->__i_);
-        if (__i->__ptr_ == __end_as_link())
-        {
-            __cn1->__add(*__p);
-            if (--__cn2->end_ != __p)
-                memmove(__p, __p+1, (__cn2->end_ - __p)*sizeof(__i_node*));
-        }
-        else
-            (*__p)->__c_ = __cn2;
-    }
-    __db->unlock();
-#endif
-}
-
-template <class _Tp, class _Alloc /*= allocator<_Tp>*/>
-class _LIBCPP_TEMPLATE_VIS list
-    : private __list_imp<_Tp, _Alloc>
-{
-    typedef __list_imp<_Tp, _Alloc> base;
-    typedef typename base::__node              __node;
-    typedef typename base::__node_allocator    __node_allocator;
-    typedef typename base::__node_pointer      __node_pointer;
-    typedef typename base::__node_alloc_traits __node_alloc_traits;
-    typedef typename base::__node_base         __node_base;
-    typedef typename base::__node_base_pointer __node_base_pointer;
-    typedef typename base::__link_pointer __link_pointer;
-
-public:
-    typedef _Tp                                      value_type;
-    typedef _Alloc                                   allocator_type;
-    static_assert((is_same<value_type, typename allocator_type::value_type>::value),
-                  "Invalid allocator::value_type");
-    typedef value_type&                              reference;
-    typedef const value_type&                        const_reference;
-    typedef typename base::pointer                   pointer;
-    typedef typename base::const_pointer             const_pointer;
-    typedef typename base::size_type                 size_type;
-    typedef typename base::difference_type           difference_type;
-    typedef typename base::iterator                  iterator;
-    typedef typename base::const_iterator            const_iterator;
-    typedef _VSTD::reverse_iterator<iterator>         reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator>   const_reverse_iterator;
-#if _LIBCPP_STD_VER > 17
-    typedef size_type                                __remove_return_type;
-#else
-    typedef void                                     __remove_return_type;
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    list()
-        _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value)
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__insert_c(this);
-#endif
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    explicit list(const allocator_type& __a) : base(__a)
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__insert_c(this);
-#endif
-    }
-    explicit list(size_type __n);
-#if _LIBCPP_STD_VER > 11
-    explicit list(size_type __n, const allocator_type& __a);
-#endif
-    list(size_type __n, const value_type& __x);
-    list(size_type __n, const value_type& __x, const allocator_type& __a);
-    template <class _InpIter>
-        list(_InpIter __f, _InpIter __l,
-             typename enable_if<__is_input_iterator<_InpIter>::value>::type* = 0);
-    template <class _InpIter>
-        list(_InpIter __f, _InpIter __l, const allocator_type& __a,
-             typename enable_if<__is_input_iterator<_InpIter>::value>::type* = 0);
-
-    list(const list& __c);
-    list(const list& __c, const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    list& operator=(const list& __c);
-#ifndef _LIBCPP_CXX03_LANG
-    list(initializer_list<value_type> __il);
-    list(initializer_list<value_type> __il, const allocator_type& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    list(list&& __c)
-        _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    list(list&& __c, const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    list& operator=(list&& __c)
-        _NOEXCEPT_(
-            __node_alloc_traits::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<__node_allocator>::value);
-
-    _LIBCPP_INLINE_VISIBILITY
-    list& operator=(initializer_list<value_type> __il)
-        {assign(__il.begin(), __il.end()); return *this;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void assign(initializer_list<value_type> __il)
-        {assign(__il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    template <class _InpIter>
-        void assign(_InpIter __f, _InpIter __l,
-             typename enable_if<__is_input_iterator<_InpIter>::value>::type* = 0);
-    void assign(size_type __n, const value_type& __x);
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT     {return base::__sz();}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT         {return base::empty();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT
-        {
-            return std::min<size_type>(
-                base::__node_alloc_max_size(),
-                numeric_limits<difference_type >::max());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-          iterator begin() _NOEXCEPT        {return base::begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const _NOEXCEPT {return base::begin();}
-    _LIBCPP_INLINE_VISIBILITY
-          iterator end() _NOEXCEPT          {return base::end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const _NOEXCEPT {return base::end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT {return base::begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend()   const _NOEXCEPT {return base::end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rbegin() _NOEXCEPT
-            {return       reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin()  const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rend() _NOEXCEPT
-            {return       reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend()    const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend()   const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference front()
-    {
-        _LIBCPP_ASSERT(!empty(), "list::front called on empty list");
-        return base::__end_.__next_->__as_node()->__value_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference front() const
-    {
-        _LIBCPP_ASSERT(!empty(), "list::front called on empty list");
-        return base::__end_.__next_->__as_node()->__value_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    reference back()
-    {
-        _LIBCPP_ASSERT(!empty(), "list::back called on empty list");
-        return base::__end_.__prev_->__as_node()->__value_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference back() const
-    {
-        _LIBCPP_ASSERT(!empty(), "list::back called on empty list");
-        return base::__end_.__prev_->__as_node()->__value_;
-    }
-
-#ifndef _LIBCPP_CXX03_LANG
-    void push_front(value_type&& __x);
-    void push_back(value_type&& __x);
-
-    template <class... _Args>
-#if _LIBCPP_STD_VER > 14
-       reference emplace_front(_Args&&... __args);
-#else
-       void      emplace_front(_Args&&... __args);
-#endif
-    template <class... _Args>
-#if _LIBCPP_STD_VER > 14
-        reference emplace_back(_Args&&... __args);
-#else
-       void       emplace_back(_Args&&... __args);
-#endif
-    template <class... _Args>
-        iterator emplace(const_iterator __p, _Args&&... __args);
-
-    iterator insert(const_iterator __p, value_type&& __x);
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, initializer_list<value_type> __il)
-        {return insert(__p, __il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    void push_front(const value_type& __x);
-    void push_back(const value_type& __x);
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Arg>
-    _LIBCPP_INLINE_VISIBILITY
-    void __emplace_back(_Arg&& __arg) { emplace_back(_VSTD::forward<_Arg>(__arg)); }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    void __emplace_back(value_type const& __arg) { push_back(__arg); }
-#endif
-
-    iterator insert(const_iterator __p, const value_type& __x);
-    iterator insert(const_iterator __p, size_type __n, const value_type& __x);
-    template <class _InpIter>
-        iterator insert(const_iterator __p, _InpIter __f, _InpIter __l,
-             typename enable_if<__is_input_iterator<_InpIter>::value>::type* = 0);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(list& __c)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT
-#else
-        _NOEXCEPT_(!__node_alloc_traits::propagate_on_container_swap::value ||
-                   __is_nothrow_swappable<__node_allocator>::value)
-#endif
-        {base::swap(__c);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {base::clear();}
-
-    void pop_front();
-    void pop_back();
-
-    iterator erase(const_iterator __p);
-    iterator erase(const_iterator __f, const_iterator __l);
-
-    void resize(size_type __n);
-    void resize(size_type __n, const value_type& __x);
-
-    void splice(const_iterator __p, list& __c);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void splice(const_iterator __p, list&& __c) {splice(__p, __c);}
-    _LIBCPP_INLINE_VISIBILITY
-    void splice(const_iterator __p, list&& __c, const_iterator __i)
-        {splice(__p, __c, __i);}
-    _LIBCPP_INLINE_VISIBILITY
-    void splice(const_iterator __p, list&& __c, const_iterator __f, const_iterator __l)
-        {splice(__p, __c, __f, __l);}
-#endif
-    void splice(const_iterator __p, list& __c, const_iterator __i);
-    void splice(const_iterator __p, list& __c, const_iterator __f, const_iterator __l);
-
-    __remove_return_type remove(const value_type& __x);
-    template <class _Pred> __remove_return_type remove_if(_Pred __pred);
-    _LIBCPP_INLINE_VISIBILITY
-    __remove_return_type unique() { return unique(__equal_to<value_type>()); }
-    template <class _BinaryPred>
-        __remove_return_type unique(_BinaryPred __binary_pred);
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(list& __c);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(list&& __c) {merge(__c);}
-
-    template <class _Comp>
-    _LIBCPP_INLINE_VISIBILITY
-        void merge(list&& __c, _Comp __comp) {merge(__c, __comp);}
-#endif
-    template <class _Comp>
-        void merge(list& __c, _Comp __comp);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void sort();
-    template <class _Comp>
-        _LIBCPP_INLINE_VISIBILITY
-        void sort(_Comp __comp);
-
-    void reverse() _NOEXCEPT;
-
-    bool __invariants() const;
-
-    typedef __allocator_destructor<__node_allocator> __node_destructor;
-    typedef unique_ptr<__node, __node_destructor> __hold_pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hold_pointer __allocate_node(__node_allocator& __na) {
-      __node_pointer __p = __node_alloc_traits::allocate(__na, 1);
-      __p->__prev_ = nullptr;
-      return __hold_pointer(__p, __node_destructor(__na, 1));
-    }
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    bool __dereferenceable(const const_iterator* __i) const;
-    bool __decrementable(const const_iterator* __i) const;
-    bool __addable(const const_iterator* __i, ptrdiff_t __n) const;
-    bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const;
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    static void __link_nodes  (__link_pointer __p, __link_pointer __f, __link_pointer __l);
-    _LIBCPP_INLINE_VISIBILITY
-    void __link_nodes_at_front(__link_pointer __f, __link_pointer __l);
-    _LIBCPP_INLINE_VISIBILITY
-    void __link_nodes_at_back (__link_pointer __f, __link_pointer __l);
-    iterator __iterator(size_type __n);
-    template <class _Comp>
-        static iterator __sort(iterator __f1, iterator __e2, size_type __n, _Comp& __comp);
-
-    void __move_assign(list& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value);
-    void __move_assign(list& __c, false_type);
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Alloc = typename std::allocator<typename iterator_traits<_InputIterator>::value_type>,
-         class = typename enable_if<__is_allocator<_Alloc>::value, void>::type
-         >
-list(_InputIterator, _InputIterator)
-  -> list<typename iterator_traits<_InputIterator>::value_type, _Alloc>;
-
-template<class _InputIterator,
-         class _Alloc,
-         class = typename enable_if<__is_allocator<_Alloc>::value, void>::type
-         >
-list(_InputIterator, _InputIterator, _Alloc)
-  -> list<typename iterator_traits<_InputIterator>::value_type, _Alloc>;
-#endif
-
-// Link in nodes [__f, __l] just prior to __p
-template <class _Tp, class _Alloc>
-inline
-void
-list<_Tp, _Alloc>::__link_nodes(__link_pointer __p, __link_pointer __f, __link_pointer __l)
-{
-    __p->__prev_->__next_ = __f;
-    __f->__prev_ = __p->__prev_;
-    __p->__prev_ = __l;
-    __l->__next_ = __p;
-}
-
-// Link in nodes [__f, __l] at the front of the list
-template <class _Tp, class _Alloc>
-inline
-void
-list<_Tp, _Alloc>::__link_nodes_at_front(__link_pointer __f, __link_pointer __l)
-{
-    __f->__prev_ = base::__end_as_link();
-    __l->__next_ = base::__end_.__next_;
-    __l->__next_->__prev_ = __l;
-    base::__end_.__next_ = __f;
-}
-
-// Link in nodes [__f, __l] at the back of the list
-template <class _Tp, class _Alloc>
-inline
-void
-list<_Tp, _Alloc>::__link_nodes_at_back(__link_pointer __f, __link_pointer __l)
-{
-    __l->__next_ = base::__end_as_link();
-    __f->__prev_ = base::__end_.__prev_;
-    __f->__prev_->__next_ = __f;
-    base::__end_.__prev_ = __l;
-}
-
-
-template <class _Tp, class _Alloc>
-inline
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::__iterator(size_type __n)
-{
-    return __n <= base::__sz() / 2 ? _VSTD::next(begin(), __n)
-                                   : _VSTD::prev(end(), base::__sz() - __n);
-}
-
-template <class _Tp, class _Alloc>
-list<_Tp, _Alloc>::list(size_type __n)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (; __n > 0; --__n)
-#ifndef _LIBCPP_CXX03_LANG
-        emplace_back();
-#else
-        push_back(value_type());
-#endif
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp, class _Alloc>
-list<_Tp, _Alloc>::list(size_type __n, const allocator_type& __a) : base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (; __n > 0; --__n)
-        emplace_back();
-}
-#endif
-
-template <class _Tp, class _Alloc>
-list<_Tp, _Alloc>::list(size_type __n, const value_type& __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (; __n > 0; --__n)
-        push_back(__x);
-}
-
-template <class _Tp, class _Alloc>
-list<_Tp, _Alloc>::list(size_type __n, const value_type& __x, const allocator_type& __a)
-    : base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (; __n > 0; --__n)
-        push_back(__x);
-}
-
-template <class _Tp, class _Alloc>
-template <class _InpIter>
-list<_Tp, _Alloc>::list(_InpIter __f, _InpIter __l,
-                        typename enable_if<__is_input_iterator<_InpIter>::value>::type*)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (; __f != __l; ++__f)
-        __emplace_back(*__f);
-}
-
-template <class _Tp, class _Alloc>
-template <class _InpIter>
-list<_Tp, _Alloc>::list(_InpIter __f, _InpIter __l, const allocator_type& __a,
-                        typename enable_if<__is_input_iterator<_InpIter>::value>::type*)
-    : base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (; __f != __l; ++__f)
-        __emplace_back(*__f);
-}
-
-template <class _Tp, class _Alloc>
-list<_Tp, _Alloc>::list(const list& __c)
-    : base(__node_alloc_traits::select_on_container_copy_construction(
-          __c.__node_alloc())) {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (const_iterator __i = __c.begin(), __e = __c.end(); __i != __e; ++__i)
-        push_back(*__i);
-}
-
-template <class _Tp, class _Alloc>
-list<_Tp, _Alloc>::list(const list& __c, const allocator_type& __a)
-    : base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (const_iterator __i = __c.begin(), __e = __c.end(); __i != __e; ++__i)
-        push_back(*__i);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-list<_Tp, _Alloc>::list(initializer_list<value_type> __il, const allocator_type& __a)
-    : base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (typename initializer_list<value_type>::const_iterator __i = __il.begin(),
-            __e = __il.end(); __i != __e; ++__i)
-        push_back(*__i);
-}
-
-template <class _Tp, class _Alloc>
-list<_Tp, _Alloc>::list(initializer_list<value_type> __il)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (typename initializer_list<value_type>::const_iterator __i = __il.begin(),
-            __e = __il.end(); __i != __e; ++__i)
-        push_back(*__i);
-}
-
-template <class _Tp, class _Alloc>
-inline list<_Tp, _Alloc>::list(list&& __c)
-    _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value)
-    : base(_VSTD::move(__c.__node_alloc())) {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    splice(end(), __c);
-}
-
-template <class _Tp, class _Alloc>
-inline
-list<_Tp, _Alloc>::list(list&& __c, const allocator_type& __a)
-    : base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__a == __c.get_allocator())
-        splice(end(), __c);
-    else
-    {
-        typedef move_iterator<iterator> _Ip;
-        assign(_Ip(__c.begin()), _Ip(__c.end()));
-    }
-}
-
-template <class _Tp, class _Alloc>
-inline
-list<_Tp, _Alloc>&
-list<_Tp, _Alloc>::operator=(list&& __c)
-        _NOEXCEPT_(
-            __node_alloc_traits::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<__node_allocator>::value)
-{
-    __move_assign(__c, integral_constant<bool,
-          __node_alloc_traits::propagate_on_container_move_assignment::value>());
-    return *this;
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::__move_assign(list& __c, false_type)
-{
-    if (base::__node_alloc() != __c.__node_alloc())
-    {
-        typedef move_iterator<iterator> _Ip;
-        assign(_Ip(__c.begin()), _Ip(__c.end()));
-    }
-    else
-        __move_assign(__c, true_type());
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::__move_assign(list& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value)
-{
-    clear();
-    base::__move_assign_alloc(__c);
-    splice(end(), __c);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-inline
-list<_Tp, _Alloc>&
-list<_Tp, _Alloc>::operator=(const list& __c)
-{
-    if (this != &__c)
-    {
-        base::__copy_assign_alloc(__c);
-        assign(__c.begin(), __c.end());
-    }
-    return *this;
-}
-
-template <class _Tp, class _Alloc>
-template <class _InpIter>
-void
-list<_Tp, _Alloc>::assign(_InpIter __f, _InpIter __l,
-                          typename enable_if<__is_input_iterator<_InpIter>::value>::type*)
-{
-    iterator __i = begin();
-    iterator __e = end();
-    for (; __f != __l && __i != __e; ++__f, ++__i)
-        *__i = *__f;
-    if (__i == __e)
-        insert(__e, __f, __l);
-    else
-        erase(__i, __e);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-      __get_db()->__invalidate_all(this);
-#endif
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::assign(size_type __n, const value_type& __x)
-{
-    iterator __i = begin();
-    iterator __e = end();
-    for (; __n > 0 && __i != __e; --__n, ++__i)
-        *__i = __x;
-    if (__i == __e)
-        insert(__e, __n, __x);
-    else
-        erase(__i, __e);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-      __get_db()->__invalidate_all(this);
-#endif
-}
-
-template <class _Tp, class _Alloc>
-inline
-_Alloc
-list<_Tp, _Alloc>::get_allocator() const _NOEXCEPT
-{
-    return allocator_type(base::__node_alloc());
-}
-
-template <class _Tp, class _Alloc>
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::insert(const_iterator __p, const value_type& __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::insert(iterator, x) called with an iterator not"
-        " referring to this list");
-#endif
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
-    __link_nodes(__p.__ptr_, __hold->__as_link(), __hold->__as_link());
-    ++base::__sz();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(__hold.release()->__as_link(), this);
-#else
-    return iterator(__hold.release()->__as_link());
-#endif
-}
-
-template <class _Tp, class _Alloc>
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::insert(const_iterator __p, size_type __n, const value_type& __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::insert(iterator, n, x) called with an iterator not"
-        " referring to this list");
-    iterator __r(__p.__ptr_, this);
-#else
-    iterator __r(__p.__ptr_);
-#endif
-    if (__n > 0)
-    {
-        size_type __ds = 0;
-        __node_allocator& __na = base::__node_alloc();
-        __hold_pointer __hold = __allocate_node(__na);
-        __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
-        ++__ds;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __r = iterator(__hold->__as_link(), this);
-#else
-        __r = iterator(__hold->__as_link());
-#endif
-        __hold.release();
-        iterator __e = __r;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (--__n; __n != 0; --__n, ++__e, ++__ds)
-            {
-                __hold.reset(__node_alloc_traits::allocate(__na, 1));
-                __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
-                __e.__ptr_->__next_ = __hold->__as_link();
-                __hold->__prev_ = __e.__ptr_;
-                __hold.release();
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            while (true)
-            {
-                __node_alloc_traits::destroy(__na, _VSTD::addressof(*__e));
-                __link_pointer __prev = __e.__ptr_->__prev_;
-                __node_alloc_traits::deallocate(__na, __e.__ptr_->__as_node(), 1);
-                if (__prev == 0)
-                    break;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-                __e = iterator(__prev, this);
-#else
-                __e = iterator(__prev);
-#endif
-            }
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __link_nodes(__p.__ptr_, __r.__ptr_, __e.__ptr_);
-        base::__sz() += __ds;
-    }
-    return __r;
-}
-
-template <class _Tp, class _Alloc>
-template <class _InpIter>
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::insert(const_iterator __p, _InpIter __f, _InpIter __l,
-             typename enable_if<__is_input_iterator<_InpIter>::value>::type*)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::insert(iterator, range) called with an iterator not"
-        " referring to this list");
-    iterator __r(__p.__ptr_, this);
-#else
-    iterator __r(__p.__ptr_);
-#endif
-    if (__f != __l)
-    {
-        size_type __ds = 0;
-        __node_allocator& __na = base::__node_alloc();
-        __hold_pointer __hold = __allocate_node(__na);
-        __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), *__f);
-        ++__ds;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __r = iterator(__hold.get()->__as_link(), this);
-#else
-        __r = iterator(__hold.get()->__as_link());
-#endif
-        __hold.release();
-        iterator __e = __r;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (++__f; __f != __l; ++__f, (void) ++__e, (void) ++__ds)
-            {
-                __hold.reset(__node_alloc_traits::allocate(__na, 1));
-                __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), *__f);
-                __e.__ptr_->__next_ = __hold.get()->__as_link();
-                __hold->__prev_ = __e.__ptr_;
-                __hold.release();
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            while (true)
-            {
-                __node_alloc_traits::destroy(__na, _VSTD::addressof(*__e));
-                __link_pointer __prev = __e.__ptr_->__prev_;
-                __node_alloc_traits::deallocate(__na, __e.__ptr_->__as_node(), 1);
-                if (__prev == 0)
-                    break;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-                __e = iterator(__prev, this);
-#else
-                __e = iterator(__prev);
-#endif
-            }
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __link_nodes(__p.__ptr_, __r.__ptr_, __e.__ptr_);
-        base::__sz() += __ds;
-    }
-    return __r;
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::push_front(const value_type& __x)
-{
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
-    __link_pointer __nl = __hold->__as_link();
-    __link_nodes_at_front(__nl, __nl);
-    ++base::__sz();
-    __hold.release();
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::push_back(const value_type& __x)
-{
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
-    __link_nodes_at_back(__hold.get()->__as_link(), __hold.get()->__as_link());
-    ++base::__sz();
-    __hold.release();
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::push_front(value_type&& __x)
-{
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::move(__x));
-    __link_nodes_at_front(__hold.get()->__as_link(), __hold.get()->__as_link());
-    ++base::__sz();
-    __hold.release();
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::push_back(value_type&& __x)
-{
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::move(__x));
-    __link_nodes_at_back(__hold.get()->__as_link(), __hold.get()->__as_link());
-    ++base::__sz();
-    __hold.release();
-}
-
-template <class _Tp, class _Alloc>
-template <class... _Args>
-#if _LIBCPP_STD_VER > 14
-typename list<_Tp, _Alloc>::reference
-#else
-void
-#endif
-list<_Tp, _Alloc>::emplace_front(_Args&&... __args)
-{
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::forward<_Args>(__args)...);
-    __link_nodes_at_front(__hold.get()->__as_link(), __hold.get()->__as_link());
-    ++base::__sz();
-#if _LIBCPP_STD_VER > 14
-    return __hold.release()->__value_;
-#else
-    __hold.release();
-#endif
-}
-
-template <class _Tp, class _Alloc>
-template <class... _Args>
-#if _LIBCPP_STD_VER > 14
-typename list<_Tp, _Alloc>::reference
-#else
-void
-#endif
-list<_Tp, _Alloc>::emplace_back(_Args&&... __args)
-{
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::forward<_Args>(__args)...);
-    __link_pointer __nl = __hold->__as_link();
-    __link_nodes_at_back(__nl, __nl);
-    ++base::__sz();
-#if _LIBCPP_STD_VER > 14
-    return __hold.release()->__value_;
-#else
-    __hold.release();
-#endif
-}
-
-template <class _Tp, class _Alloc>
-template <class... _Args>
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::emplace(const_iterator __p, _Args&&... __args)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::emplace(iterator, args...) called with an iterator not"
-        " referring to this list");
-#endif
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::forward<_Args>(__args)...);
-    __link_pointer __nl = __hold.get()->__as_link();
-    __link_nodes(__p.__ptr_, __nl, __nl);
-    ++base::__sz();
-    __hold.release();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(__nl, this);
-#else
-    return iterator(__nl);
-#endif
-}
-
-template <class _Tp, class _Alloc>
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::insert(const_iterator __p, value_type&& __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::insert(iterator, x) called with an iterator not"
-        " referring to this list");
-#endif
-    __node_allocator& __na = base::__node_alloc();
-    __hold_pointer __hold = __allocate_node(__na);
-    __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), _VSTD::move(__x));
-    __link_pointer __nl = __hold->__as_link();
-    __link_nodes(__p.__ptr_, __nl, __nl);
-    ++base::__sz();
-    __hold.release();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(__nl, this);
-#else
-    return iterator(__nl);
-#endif
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::pop_front()
-{
-    _LIBCPP_ASSERT(!empty(), "list::pop_front() called with empty list");
-    __node_allocator& __na = base::__node_alloc();
-    __link_pointer __n = base::__end_.__next_;
-    base::__unlink_nodes(__n, __n);
-    --base::__sz();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __c_node* __c = __get_db()->__find_c_and_lock(this);
-    for (__i_node** __p = __c->end_; __p != __c->beg_; )
-    {
-        --__p;
-        iterator* __i = static_cast<iterator*>((*__p)->__i_);
-        if (__i->__ptr_ == __n)
-        {
-            (*__p)->__c_ = nullptr;
-            if (--__c->end_ != __p)
-                memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
-        }
-    }
-    __get_db()->unlock();
-#endif
-    __node_pointer __np = __n->__as_node();
-    __node_alloc_traits::destroy(__na, _VSTD::addressof(__np->__value_));
-    __node_alloc_traits::deallocate(__na, __np, 1);
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::pop_back()
-{
-    _LIBCPP_ASSERT(!empty(), "list::pop_back() called with empty list");
-    __node_allocator& __na = base::__node_alloc();
-    __link_pointer __n = base::__end_.__prev_;
-    base::__unlink_nodes(__n, __n);
-    --base::__sz();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __c_node* __c = __get_db()->__find_c_and_lock(this);
-    for (__i_node** __p = __c->end_; __p != __c->beg_; )
-    {
-        --__p;
-        iterator* __i = static_cast<iterator*>((*__p)->__i_);
-        if (__i->__ptr_ == __n)
-        {
-            (*__p)->__c_ = nullptr;
-            if (--__c->end_ != __p)
-                memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
-        }
-    }
-    __get_db()->unlock();
-#endif
-    __node_pointer __np = __n->__as_node();
-    __node_alloc_traits::destroy(__na, _VSTD::addressof(__np->__value_));
-    __node_alloc_traits::deallocate(__na, __np, 1);
-}
-
-template <class _Tp, class _Alloc>
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::erase(const_iterator __p)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::erase(iterator) called with an iterator not"
-        " referring to this list");
-#endif
-    _LIBCPP_ASSERT(__p != end(),
-        "list::erase(iterator) called with a non-dereferenceable iterator");
-    __node_allocator& __na = base::__node_alloc();
-    __link_pointer __n = __p.__ptr_;
-    __link_pointer __r = __n->__next_;
-    base::__unlink_nodes(__n, __n);
-    --base::__sz();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __c_node* __c = __get_db()->__find_c_and_lock(this);
-    for (__i_node** __ip = __c->end_; __ip != __c->beg_; )
-    {
-        --__ip;
-        iterator* __i = static_cast<iterator*>((*__ip)->__i_);
-        if (__i->__ptr_ == __n)
-        {
-            (*__ip)->__c_ = nullptr;
-            if (--__c->end_ != __ip)
-                memmove(__ip, __ip+1, (__c->end_ - __ip)*sizeof(__i_node*));
-        }
-    }
-    __get_db()->unlock();
-#endif
-    __node_pointer __np = __n->__as_node();
-    __node_alloc_traits::destroy(__na, _VSTD::addressof(__np->__value_));
-    __node_alloc_traits::deallocate(__na, __np, 1);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(__r, this);
-#else
-    return iterator(__r);
-#endif
-}
-
-template <class _Tp, class _Alloc>
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::erase(const_iterator __f, const_iterator __l)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__f) == this,
-        "list::erase(iterator, iterator) called with an iterator not"
-        " referring to this list");
-   _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__l) == this,
-        "list::erase(iterator, iterator) called with an iterator not"
-        " referring to this list");
-#endif
-    if (__f != __l)
-    {
-        __node_allocator& __na = base::__node_alloc();
-        base::__unlink_nodes(__f.__ptr_, __l.__ptr_->__prev_);
-        while (__f != __l)
-        {
-            __link_pointer __n = __f.__ptr_;
-            ++__f;
-            --base::__sz();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-            __c_node* __c = __get_db()->__find_c_and_lock(this);
-            for (__i_node** __p = __c->end_; __p != __c->beg_; )
-            {
-                --__p;
-                iterator* __i = static_cast<iterator*>((*__p)->__i_);
-                if (__i->__ptr_ == __n)
-                {
-                    (*__p)->__c_ = nullptr;
-                    if (--__c->end_ != __p)
-                        memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
-                }
-            }
-            __get_db()->unlock();
-#endif
-            __node_pointer __np = __n->__as_node();
-            __node_alloc_traits::destroy(__na, _VSTD::addressof(__np->__value_));
-            __node_alloc_traits::deallocate(__na, __np, 1);
-        }
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(__l.__ptr_, this);
-#else
-    return iterator(__l.__ptr_);
-#endif
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::resize(size_type __n)
-{
-    if (__n < base::__sz())
-        erase(__iterator(__n), end());
-    else if (__n > base::__sz())
-    {
-        __n -= base::__sz();
-        size_type __ds = 0;
-        __node_allocator& __na = base::__node_alloc();
-        __hold_pointer __hold = __allocate_node(__na);
-        __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_));
-        ++__ds;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        iterator __r = iterator(__hold.release()->__as_link(), this);
-#else
-        iterator __r = iterator(__hold.release()->__as_link());
-#endif
-        iterator __e = __r;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (--__n; __n != 0; --__n, ++__e, ++__ds)
-            {
-                __hold.reset(__node_alloc_traits::allocate(__na, 1));
-                __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_));
-                __e.__ptr_->__next_ = __hold.get()->__as_link();
-                __hold->__prev_ = __e.__ptr_;
-                __hold.release();
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            while (true)
-            {
-                __node_alloc_traits::destroy(__na, _VSTD::addressof(*__e));
-                __link_pointer __prev = __e.__ptr_->__prev_;
-                __node_alloc_traits::deallocate(__na, __e.__ptr_->__as_node(), 1);
-                if (__prev == 0)
-                    break;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-                __e = iterator(__prev, this);
-#else
-                __e = iterator(__prev);
-#endif
-            }
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __link_nodes_at_back(__r.__ptr_, __e.__ptr_);
-        base::__sz() += __ds;
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::resize(size_type __n, const value_type& __x)
-{
-    if (__n < base::__sz())
-        erase(__iterator(__n), end());
-    else if (__n > base::__sz())
-    {
-        __n -= base::__sz();
-        size_type __ds = 0;
-        __node_allocator& __na = base::__node_alloc();
-        __hold_pointer __hold = __allocate_node(__na);
-        __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
-        ++__ds;
-        __link_pointer __nl = __hold.release()->__as_link();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        iterator __r = iterator(__nl, this);
-#else
-        iterator __r = iterator(__nl);
-#endif
-        iterator __e = __r;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (--__n; __n != 0; --__n, ++__e, ++__ds)
-            {
-                __hold.reset(__node_alloc_traits::allocate(__na, 1));
-                __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), __x);
-                __e.__ptr_->__next_ = __hold.get()->__as_link();
-                __hold->__prev_ = __e.__ptr_;
-                __hold.release();
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            while (true)
-            {
-                __node_alloc_traits::destroy(__na, _VSTD::addressof(*__e));
-                __link_pointer __prev = __e.__ptr_->__prev_;
-                __node_alloc_traits::deallocate(__na, __e.__ptr_->__as_node(), 1);
-                if (__prev == 0)
-                    break;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-                __e = iterator(__prev, this);
-#else
-                __e = iterator(__prev);
-#endif
-            }
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __link_nodes(base::__end_as_link(), __r.__ptr_, __e.__ptr_);
-        base::__sz() += __ds;
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::splice(const_iterator __p, list& __c)
-{
-    _LIBCPP_ASSERT(this != &__c,
-                   "list::splice(iterator, list) called with this == &list");
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::splice(iterator, list) called with an iterator not"
-        " referring to this list");
-#endif
-    if (!__c.empty())
-    {
-        __link_pointer __f = __c.__end_.__next_;
-        __link_pointer __l = __c.__end_.__prev_;
-        base::__unlink_nodes(__f, __l);
-        __link_nodes(__p.__ptr_, __f, __l);
-        base::__sz() += __c.__sz();
-        __c.__sz() = 0;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        if (&__c != this) {
-            __libcpp_db* __db = __get_db();
-            __c_node* __cn1 = __db->__find_c_and_lock(this);
-            __c_node* __cn2 = __db->__find_c(&__c);
-            for (__i_node** __ip = __cn2->end_; __ip != __cn2->beg_;)
-            {
-                --__ip;
-                iterator* __i = static_cast<iterator*>((*__ip)->__i_);
-                if (__i->__ptr_ != __c.__end_as_link())
-                {
-                    __cn1->__add(*__ip);
-                    (*__ip)->__c_ = __cn1;
-                    if (--__cn2->end_ != __ip)
-                        memmove(__ip, __ip+1, (__cn2->end_ - __ip)*sizeof(__i_node*));
-                }
-            }
-            __db->unlock();
-        }
-#endif
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::splice(const_iterator __p, list& __c, const_iterator __i)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::splice(iterator, list, iterator) called with first iterator not"
-        " referring to this list");
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__i) == &__c,
-        "list::splice(iterator, list, iterator) called with second iterator not"
-        " referring to list argument");
-    _LIBCPP_ASSERT(__get_const_db()->__dereferenceable(&__i),
-        "list::splice(iterator, list, iterator) called with second iterator not"
-        " derefereceable");
-#endif
-    if (__p.__ptr_ != __i.__ptr_ && __p.__ptr_ != __i.__ptr_->__next_)
-    {
-        __link_pointer __f = __i.__ptr_;
-        base::__unlink_nodes(__f, __f);
-        __link_nodes(__p.__ptr_, __f, __f);
-        --__c.__sz();
-        ++base::__sz();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        if (&__c != this) {
-            __libcpp_db* __db = __get_db();
-            __c_node* __cn1 = __db->__find_c_and_lock(this);
-            __c_node* __cn2 = __db->__find_c(&__c);
-            for (__i_node** __ip = __cn2->end_; __ip != __cn2->beg_;)
-            {
-                --__ip;
-                iterator* __j = static_cast<iterator*>((*__ip)->__i_);
-                if (__j->__ptr_ == __f)
-                {
-                    __cn1->__add(*__ip);
-                    (*__ip)->__c_ = __cn1;
-                    if (--__cn2->end_ != __ip)
-                        memmove(__ip, __ip+1, (__cn2->end_ - __ip)*sizeof(__i_node*));
-                }
-            }
-            __db->unlock();
-        }
-#endif
-    }
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::splice(const_iterator __p, list& __c, const_iterator __f, const_iterator __l)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-        "list::splice(iterator, list, iterator, iterator) called with first iterator not"
-        " referring to this list");
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__f) == &__c,
-        "list::splice(iterator, list, iterator, iterator) called with second iterator not"
-        " referring to list argument");
-    if (this == &__c)
-    {
-        for (const_iterator __i = __f; __i != __l; ++__i)
-            _LIBCPP_ASSERT(__i != __p,
-                           "list::splice(iterator, list, iterator, iterator)"
-                           " called with the first iterator within the range"
-                           " of the second and third iterators");
-    }
-#endif
-    if (__f != __l)
-    {
-        __link_pointer __first = __f.__ptr_;
-        --__l;
-        __link_pointer __last = __l.__ptr_;
-        if (this != &__c)
-        {
-            size_type __s = _VSTD::distance(__f, __l) + 1;
-            __c.__sz() -= __s;
-            base::__sz() += __s;
-        }
-        base::__unlink_nodes(__first, __last);
-        __link_nodes(__p.__ptr_, __first, __last);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        if (&__c != this) {
-            __libcpp_db* __db = __get_db();
-            __c_node* __cn1 = __db->__find_c_and_lock(this);
-            __c_node* __cn2 = __db->__find_c(&__c);
-            for (__i_node** __ip = __cn2->end_; __ip != __cn2->beg_;)
-            {
-                --__ip;
-                iterator* __j = static_cast<iterator*>((*__ip)->__i_);
-                for (__link_pointer __k = __f.__ptr_;
-                                              __k != __l.__ptr_; __k = __k->__next_)
-                {
-                    if (__j->__ptr_ == __k)
-                    {
-                        __cn1->__add(*__ip);
-                        (*__ip)->__c_ = __cn1;
-                        if (--__cn2->end_ != __ip)
-                            memmove(__ip, __ip+1, (__cn2->end_ - __ip)*sizeof(__i_node*));
-                    }
-                }
-            }
-            __db->unlock();
-        }
-#endif
-    }
-}
-
-template <class _Tp, class _Alloc>
-typename list<_Tp, _Alloc>::__remove_return_type
-list<_Tp, _Alloc>::remove(const value_type& __x)
-{
-    list<_Tp, _Alloc> __deleted_nodes(get_allocator()); // collect the nodes we're removing
-    for (const_iterator __i = begin(), __e = end(); __i != __e;)
-    {
-        if (*__i == __x)
-        {
-            const_iterator __j = _VSTD::next(__i);
-            for (; __j != __e && *__j == __x; ++__j)
-                ;
-            __deleted_nodes.splice(__deleted_nodes.end(), *this, __i, __j);
-            __i = __j;
-            if (__i != __e)
-                ++__i;
-        }
-        else
-            ++__i;
-    }
-
-    return (__remove_return_type) __deleted_nodes.size();
-}
-
-template <class _Tp, class _Alloc>
-template <class _Pred>
-typename list<_Tp, _Alloc>::__remove_return_type
-list<_Tp, _Alloc>::remove_if(_Pred __pred)
-{
-    list<_Tp, _Alloc> __deleted_nodes(get_allocator()); // collect the nodes we're removing
-    for (iterator __i = begin(), __e = end(); __i != __e;)
-    {
-        if (__pred(*__i))
-        {
-            iterator __j = _VSTD::next(__i);
-            for (; __j != __e && __pred(*__j); ++__j)
-                ;
-            __deleted_nodes.splice(__deleted_nodes.end(), *this, __i, __j);
-            __i = __j;
-            if (__i != __e)
-                ++__i;
-        }
-        else
-            ++__i;
-    }
-
-    return (__remove_return_type) __deleted_nodes.size();
-}
-
-template <class _Tp, class _Alloc>
-template <class _BinaryPred>
-typename list<_Tp, _Alloc>::__remove_return_type
-list<_Tp, _Alloc>::unique(_BinaryPred __binary_pred)
-{
-    list<_Tp, _Alloc> __deleted_nodes(get_allocator()); // collect the nodes we're removing
-    for (iterator __i = begin(), __e = end(); __i != __e;)
-    {
-        iterator __j = _VSTD::next(__i);
-        for (; __j != __e && __binary_pred(*__i, *__j); ++__j)
-            ;
-        if (++__i != __j) {
-            __deleted_nodes.splice(__deleted_nodes.end(), *this, __i, __j);
-            __i = __j;
-            }
-    }
-    
-    return (__remove_return_type) __deleted_nodes.size();
-}
-
-template <class _Tp, class _Alloc>
-inline
-void
-list<_Tp, _Alloc>::merge(list& __c)
-{
-    merge(__c, __less<value_type>());
-}
-
-template <class _Tp, class _Alloc>
-template <class _Comp>
-void
-list<_Tp, _Alloc>::merge(list& __c, _Comp __comp)
-{
-    if (this != _VSTD::addressof(__c))
-    {
-        iterator __f1 = begin();
-        iterator __e1 = end();
-        iterator __f2 = __c.begin();
-        iterator __e2 = __c.end();
-        while (__f1 != __e1 && __f2 != __e2)
-        {
-            if (__comp(*__f2, *__f1))
-            {
-                size_type __ds = 1;
-                iterator __m2 = _VSTD::next(__f2);
-                for (; __m2 != __e2 && __comp(*__m2, *__f1); ++__m2, ++__ds)
-                    ;
-                base::__sz() += __ds;
-                __c.__sz() -= __ds;
-                __link_pointer __f = __f2.__ptr_;
-                __link_pointer __l = __m2.__ptr_->__prev_;
-                __f2 = __m2;
-                base::__unlink_nodes(__f, __l);
-                __m2 = _VSTD::next(__f1);
-                __link_nodes(__f1.__ptr_, __f, __l);
-                __f1 = __m2;
-            }
-            else
-                ++__f1;
-        }
-        splice(__e1, __c);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __libcpp_db* __db = __get_db();
-        __c_node* __cn1 = __db->__find_c_and_lock(this);
-        __c_node* __cn2 = __db->__find_c(&__c);
-        for (__i_node** __p = __cn2->end_; __p != __cn2->beg_;)
-        {
-            --__p;
-            iterator* __i = static_cast<iterator*>((*__p)->__i_);
-            if (__i->__ptr_ != __c.__end_as_link())
-            {
-                __cn1->__add(*__p);
-                (*__p)->__c_ = __cn1;
-                if (--__cn2->end_ != __p)
-                    memmove(__p, __p+1, (__cn2->end_ - __p)*sizeof(__i_node*));
-            }
-        }
-        __db->unlock();
-#endif
-    }
-}
-
-template <class _Tp, class _Alloc>
-inline
-void
-list<_Tp, _Alloc>::sort()
-{
-    sort(__less<value_type>());
-}
-
-template <class _Tp, class _Alloc>
-template <class _Comp>
-inline
-void
-list<_Tp, _Alloc>::sort(_Comp __comp)
-{
-    __sort(begin(), end(), base::__sz(), __comp);
-}
-
-template <class _Tp, class _Alloc>
-template <class _Comp>
-typename list<_Tp, _Alloc>::iterator
-list<_Tp, _Alloc>::__sort(iterator __f1, iterator __e2, size_type __n, _Comp& __comp)
-{
-    switch (__n)
-    {
-    case 0:
-    case 1:
-        return __f1;
-    case 2:
-        if (__comp(*--__e2, *__f1))
-        {
-            __link_pointer __f = __e2.__ptr_;
-            base::__unlink_nodes(__f, __f);
-            __link_nodes(__f1.__ptr_, __f, __f);
-            return __e2;
-        }
-        return __f1;
-    }
-    size_type __n2 = __n / 2;
-    iterator __e1 = _VSTD::next(__f1, __n2);
-    iterator  __r = __f1 = __sort(__f1, __e1, __n2, __comp);
-    iterator __f2 = __e1 = __sort(__e1, __e2, __n - __n2, __comp);
-    if (__comp(*__f2, *__f1))
-    {
-        iterator __m2 = _VSTD::next(__f2);
-        for (; __m2 != __e2 && __comp(*__m2, *__f1); ++__m2)
-            ;
-        __link_pointer __f = __f2.__ptr_;
-        __link_pointer __l = __m2.__ptr_->__prev_;
-        __r = __f2;
-        __e1 = __f2 = __m2;
-        base::__unlink_nodes(__f, __l);
-        __m2 = _VSTD::next(__f1);
-        __link_nodes(__f1.__ptr_, __f, __l);
-        __f1 = __m2;
-    }
-    else
-        ++__f1;
-    while (__f1 != __e1 && __f2 != __e2)
-    {
-        if (__comp(*__f2, *__f1))
-        {
-            iterator __m2 = _VSTD::next(__f2);
-            for (; __m2 != __e2 && __comp(*__m2, *__f1); ++__m2)
-                ;
-            __link_pointer __f = __f2.__ptr_;
-            __link_pointer __l = __m2.__ptr_->__prev_;
-            if (__e1 == __f2)
-                __e1 = __m2;
-            __f2 = __m2;
-            base::__unlink_nodes(__f, __l);
-            __m2 = _VSTD::next(__f1);
-            __link_nodes(__f1.__ptr_, __f, __l);
-            __f1 = __m2;
-        }
-        else
-            ++__f1;
-    }
-    return __r;
-}
-
-template <class _Tp, class _Alloc>
-void
-list<_Tp, _Alloc>::reverse() _NOEXCEPT
-{
-    if (base::__sz() > 1)
-    {
-        iterator __e = end();
-        for (iterator __i = begin(); __i.__ptr_ != __e.__ptr_;)
-        {
-            _VSTD::swap(__i.__ptr_->__prev_, __i.__ptr_->__next_);
-            __i.__ptr_ = __i.__ptr_->__prev_;
-        }
-        _VSTD::swap(__e.__ptr_->__prev_, __e.__ptr_->__next_);
-    }
-}
-
-template <class _Tp, class _Alloc>
-bool
-list<_Tp, _Alloc>::__invariants() const
-{
-    return size() == _VSTD::distance(begin(), end());
-}
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-template <class _Tp, class _Alloc>
-bool
-list<_Tp, _Alloc>::__dereferenceable(const const_iterator* __i) const
-{
-    return __i->__ptr_ != this->__end_as_link();
-}
-
-template <class _Tp, class _Alloc>
-bool
-list<_Tp, _Alloc>::__decrementable(const const_iterator* __i) const
-{
-    return !empty() &&  __i->__ptr_ != base::__end_.__next_;
-}
-
-template <class _Tp, class _Alloc>
-bool
-list<_Tp, _Alloc>::__addable(const const_iterator*, ptrdiff_t) const
-{
-    return false;
-}
-
-template <class _Tp, class _Alloc>
-bool
-list<_Tp, _Alloc>::__subscriptable(const const_iterator*, ptrdiff_t) const
-{
-    return false;
-}
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
-{
-    return __x.size() == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Tp, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(list<_Tp, _Allocator>& __c, _Predicate __pred)
-{ __c.remove_if(__pred); }
-
-template <class _Tp, class _Allocator, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase(list<_Tp, _Allocator>& __c, const _Up& __v)
-{ _VSTD::erase_if(__c, [&](auto& __elem) { return __elem == __v; }); }
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_LIST
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/math.h b/r21/sources/cxx-stl/llvm-libc++/include/math.h
deleted file mode 100644
index 194df20..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/math.h
+++ /dev/null
@@ -1,1574 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- math.h ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_MATH_H
-#define _LIBCPP_MATH_H
-
-/*
-    math.h synopsis
-
-Macros:
-
-    HUGE_VAL
-    HUGE_VALF               // C99
-    HUGE_VALL               // C99
-    INFINITY                // C99
-    NAN                     // C99
-    FP_INFINITE             // C99
-    FP_NAN                  // C99
-    FP_NORMAL               // C99
-    FP_SUBNORMAL            // C99
-    FP_ZERO                 // C99
-    FP_FAST_FMA             // C99
-    FP_FAST_FMAF            // C99
-    FP_FAST_FMAL            // C99
-    FP_ILOGB0               // C99
-    FP_ILOGBNAN             // C99
-    MATH_ERRNO              // C99
-    MATH_ERREXCEPT          // C99
-    math_errhandling        // C99
-
-Types:
-
-    float_t                 // C99
-    double_t                // C99
-
-// C90
-
-floating_point abs(floating_point x);
-
-floating_point acos (arithmetic x);
-float          acosf(float x);
-long double    acosl(long double x);
-
-floating_point asin (arithmetic x);
-float          asinf(float x);
-long double    asinl(long double x);
-
-floating_point atan (arithmetic x);
-float          atanf(float x);
-long double    atanl(long double x);
-
-floating_point atan2 (arithmetic y, arithmetic x);
-float          atan2f(float y, float x);
-long double    atan2l(long double y, long double x);
-
-floating_point ceil (arithmetic x);
-float          ceilf(float x);
-long double    ceill(long double x);
-
-floating_point cos (arithmetic x);
-float          cosf(float x);
-long double    cosl(long double x);
-
-floating_point cosh (arithmetic x);
-float          coshf(float x);
-long double    coshl(long double x);
-
-floating_point exp (arithmetic x);
-float          expf(float x);
-long double    expl(long double x);
-
-floating_point fabs (arithmetic x);
-float          fabsf(float x);
-long double    fabsl(long double x);
-
-floating_point floor (arithmetic x);
-float          floorf(float x);
-long double    floorl(long double x);
-
-floating_point fmod (arithmetic x, arithmetic y);
-float          fmodf(float x, float y);
-long double    fmodl(long double x, long double y);
-
-floating_point frexp (arithmetic value, int* exp);
-float          frexpf(float value, int* exp);
-long double    frexpl(long double value, int* exp);
-
-floating_point ldexp (arithmetic value, int exp);
-float          ldexpf(float value, int exp);
-long double    ldexpl(long double value, int exp);
-
-floating_point log (arithmetic x);
-float          logf(float x);
-long double    logl(long double x);
-
-floating_point log10 (arithmetic x);
-float          log10f(float x);
-long double    log10l(long double x);
-
-floating_point modf (floating_point value, floating_point* iptr);
-float          modff(float value, float* iptr);
-long double    modfl(long double value, long double* iptr);
-
-floating_point pow (arithmetic x, arithmetic y);
-float          powf(float x, float y);
-long double    powl(long double x, long double y);
-
-floating_point sin (arithmetic x);
-float          sinf(float x);
-long double    sinl(long double x);
-
-floating_point sinh (arithmetic x);
-float          sinhf(float x);
-long double    sinhl(long double x);
-
-floating_point sqrt (arithmetic x);
-float          sqrtf(float x);
-long double    sqrtl(long double x);
-
-floating_point tan (arithmetic x);
-float          tanf(float x);
-long double    tanl(long double x);
-
-floating_point tanh (arithmetic x);
-float          tanhf(float x);
-long double    tanhl(long double x);
-
-//  C99
-
-bool signbit(arithmetic x);
-
-int fpclassify(arithmetic x);
-
-bool isfinite(arithmetic x);
-bool isinf(arithmetic x);
-bool isnan(arithmetic x);
-bool isnormal(arithmetic x);
-
-bool isgreater(arithmetic x, arithmetic y);
-bool isgreaterequal(arithmetic x, arithmetic y);
-bool isless(arithmetic x, arithmetic y);
-bool islessequal(arithmetic x, arithmetic y);
-bool islessgreater(arithmetic x, arithmetic y);
-bool isunordered(arithmetic x, arithmetic y);
-
-floating_point acosh (arithmetic x);
-float          acoshf(float x);
-long double    acoshl(long double x);
-
-floating_point asinh (arithmetic x);
-float          asinhf(float x);
-long double    asinhl(long double x);
-
-floating_point atanh (arithmetic x);
-float          atanhf(float x);
-long double    atanhl(long double x);
-
-floating_point cbrt (arithmetic x);
-float          cbrtf(float x);
-long double    cbrtl(long double x);
-
-floating_point copysign (arithmetic x, arithmetic y);
-float          copysignf(float x, float y);
-long double    copysignl(long double x, long double y);
-
-floating_point erf (arithmetic x);
-float          erff(float x);
-long double    erfl(long double x);
-
-floating_point erfc (arithmetic x);
-float          erfcf(float x);
-long double    erfcl(long double x);
-
-floating_point exp2 (arithmetic x);
-float          exp2f(float x);
-long double    exp2l(long double x);
-
-floating_point expm1 (arithmetic x);
-float          expm1f(float x);
-long double    expm1l(long double x);
-
-floating_point fdim (arithmetic x, arithmetic y);
-float          fdimf(float x, float y);
-long double    fdiml(long double x, long double y);
-
-floating_point fma (arithmetic x, arithmetic y, arithmetic z);
-float          fmaf(float x, float y, float z);
-long double    fmal(long double x, long double y, long double z);
-
-floating_point fmax (arithmetic x, arithmetic y);
-float          fmaxf(float x, float y);
-long double    fmaxl(long double x, long double y);
-
-floating_point fmin (arithmetic x, arithmetic y);
-float          fminf(float x, float y);
-long double    fminl(long double x, long double y);
-
-floating_point hypot (arithmetic x, arithmetic y);
-float          hypotf(float x, float y);
-long double    hypotl(long double x, long double y);
-
-int ilogb (arithmetic x);
-int ilogbf(float x);
-int ilogbl(long double x);
-
-floating_point lgamma (arithmetic x);
-float          lgammaf(float x);
-long double    lgammal(long double x);
-
-long long llrint (arithmetic x);
-long long llrintf(float x);
-long long llrintl(long double x);
-
-long long llround (arithmetic x);
-long long llroundf(float x);
-long long llroundl(long double x);
-
-floating_point log1p (arithmetic x);
-float          log1pf(float x);
-long double    log1pl(long double x);
-
-floating_point log2 (arithmetic x);
-float          log2f(float x);
-long double    log2l(long double x);
-
-floating_point logb (arithmetic x);
-float          logbf(float x);
-long double    logbl(long double x);
-
-long lrint (arithmetic x);
-long lrintf(float x);
-long lrintl(long double x);
-
-long lround (arithmetic x);
-long lroundf(float x);
-long lroundl(long double x);
-
-double      nan (const char* str);
-float       nanf(const char* str);
-long double nanl(const char* str);
-
-floating_point nearbyint (arithmetic x);
-float          nearbyintf(float x);
-long double    nearbyintl(long double x);
-
-floating_point nextafter (arithmetic x, arithmetic y);
-float          nextafterf(float x, float y);
-long double    nextafterl(long double x, long double y);
-
-floating_point nexttoward (arithmetic x, long double y);
-float          nexttowardf(float x, long double y);
-long double    nexttowardl(long double x, long double y);
-
-floating_point remainder (arithmetic x, arithmetic y);
-float          remainderf(float x, float y);
-long double    remainderl(long double x, long double y);
-
-floating_point remquo (arithmetic x, arithmetic y, int* pquo);
-float          remquof(float x, float y, int* pquo);
-long double    remquol(long double x, long double y, int* pquo);
-
-floating_point rint (arithmetic x);
-float          rintf(float x);
-long double    rintl(long double x);
-
-floating_point round (arithmetic x);
-float          roundf(float x);
-long double    roundl(long double x);
-
-floating_point scalbln (arithmetic x, long ex);
-float          scalblnf(float x, long ex);
-long double    scalblnl(long double x, long ex);
-
-floating_point scalbn (arithmetic x, int ex);
-float          scalbnf(float x, int ex);
-long double    scalbnl(long double x, int ex);
-
-floating_point tgamma (arithmetic x);
-float          tgammaf(float x);
-long double    tgammal(long double x);
-
-floating_point trunc (arithmetic x);
-float          truncf(float x);
-long double    truncl(long double x);
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#define _LIBCPP_STDLIB_INCLUDE_NEXT
-#include <stdlib.h>
-
-#include_next <math.h>
-
-#ifdef __cplusplus
-
-// We support including .h headers inside 'extern "C"' contexts, so switch
-// back to C++ linkage before including these C++ headers.
-extern "C++" {
-
-#include <type_traits>
-#include <limits>
-
-// signbit
-
-#ifdef signbit
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_signbit(_A1 __lcpp_x) _NOEXCEPT
-{
-    return signbit(__lcpp_x);
-}
-
-#undef signbit
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_floating_point<_A1>::value, bool>::type
-signbit(_A1 __lcpp_x) _NOEXCEPT
-{
-    return __libcpp_signbit((typename std::__promote<_A1>::type)__lcpp_x);
-}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<
-    std::is_integral<_A1>::value && std::is_signed<_A1>::value, bool>::type
-signbit(_A1 __lcpp_x) _NOEXCEPT
-{ return __lcpp_x < 0; }
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<
-    std::is_integral<_A1>::value && !std::is_signed<_A1>::value, bool>::type
-signbit(_A1) _NOEXCEPT
-{ return false; }
-
-#elif defined(_LIBCPP_MSVCRT)
-
-template <typename _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_floating_point<_A1>::value, bool>::type
-signbit(_A1 __lcpp_x) _NOEXCEPT
-{
-  return ::signbit(static_cast<typename std::__promote<_A1>::type>(__lcpp_x));
-}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<
-    std::is_integral<_A1>::value && std::is_signed<_A1>::value, bool>::type
-signbit(_A1 __lcpp_x) _NOEXCEPT
-{ return __lcpp_x < 0; }
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<
-    std::is_integral<_A1>::value && !std::is_signed<_A1>::value, bool>::type
-signbit(_A1) _NOEXCEPT
-{ return false; }
-
-#endif  // signbit
-
-// fpclassify
-
-#ifdef fpclassify
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-int
-__libcpp_fpclassify(_A1 __lcpp_x) _NOEXCEPT
-{
-    return fpclassify(__lcpp_x);
-}
-
-#undef fpclassify
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_floating_point<_A1>::value, int>::type
-fpclassify(_A1 __lcpp_x) _NOEXCEPT
-{
-    return __libcpp_fpclassify((typename std::__promote<_A1>::type)__lcpp_x);
-}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, int>::type
-fpclassify(_A1 __lcpp_x) _NOEXCEPT
-{ return __lcpp_x == 0 ? FP_ZERO : FP_NORMAL; }
-
-#elif defined(_LIBCPP_MSVCRT)
-
-template <typename _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_floating_point<_A1>::value, bool>::type
-fpclassify(_A1 __lcpp_x) _NOEXCEPT
-{
-  return ::fpclassify(static_cast<typename std::__promote<_A1>::type>(__lcpp_x));
-}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, int>::type
-fpclassify(_A1 __lcpp_x) _NOEXCEPT
-{ return __lcpp_x == 0 ? FP_ZERO : FP_NORMAL; }
-
-#endif  // fpclassify
-
-// isfinite
-
-#ifdef isfinite
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_isfinite(_A1 __lcpp_x) _NOEXCEPT
-{
-    return isfinite(__lcpp_x);
-}
-
-#undef isfinite
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<
-    std::is_arithmetic<_A1>::value && std::numeric_limits<_A1>::has_infinity,
-    bool>::type
-isfinite(_A1 __lcpp_x) _NOEXCEPT
-{
-    return __libcpp_isfinite((typename std::__promote<_A1>::type)__lcpp_x);
-}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<
-    std::is_arithmetic<_A1>::value && !std::numeric_limits<_A1>::has_infinity,
-    bool>::type
-isfinite(_A1) _NOEXCEPT
-{ return true; }
-
-#endif  // isfinite
-
-// isinf
-
-#ifdef isinf
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_isinf(_A1 __lcpp_x) _NOEXCEPT
-{
-    return isinf(__lcpp_x);
-}
-
-#undef isinf
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<
-    std::is_arithmetic<_A1>::value && std::numeric_limits<_A1>::has_infinity,
-    bool>::type
-isinf(_A1 __lcpp_x) _NOEXCEPT
-{
-    return __libcpp_isinf((typename std::__promote<_A1>::type)__lcpp_x);
-}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<
-    std::is_arithmetic<_A1>::value && !std::numeric_limits<_A1>::has_infinity,
-    bool>::type
-isinf(_A1) _NOEXCEPT
-{ return false; }
-
-#ifdef _LIBCPP_PREFERRED_OVERLOAD
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isinf(float __lcpp_x) _NOEXCEPT { return __libcpp_isinf(__lcpp_x); }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-bool
-isinf(double __lcpp_x) _NOEXCEPT { return __libcpp_isinf(__lcpp_x); }
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isinf(long double __lcpp_x) _NOEXCEPT { return __libcpp_isinf(__lcpp_x); }
-#endif
-
-#endif  // isinf
-
-// isnan
-
-#ifdef isnan
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_isnan(_A1 __lcpp_x) _NOEXCEPT
-{
-    return isnan(__lcpp_x);
-}
-
-#undef isnan
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_floating_point<_A1>::value, bool>::type
-isnan(_A1 __lcpp_x) _NOEXCEPT
-{
-    return __libcpp_isnan((typename std::__promote<_A1>::type)__lcpp_x);
-}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, bool>::type
-isnan(_A1) _NOEXCEPT
-{ return false; }
-
-#ifdef _LIBCPP_PREFERRED_OVERLOAD
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isnan(float __lcpp_x) _NOEXCEPT { return __libcpp_isnan(__lcpp_x); }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-bool
-isnan(double __lcpp_x) _NOEXCEPT { return __libcpp_isnan(__lcpp_x); }
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-isnan(long double __lcpp_x) _NOEXCEPT { return __libcpp_isnan(__lcpp_x); }
-#endif
-
-#endif  // isnan
-
-// isnormal
-
-#ifdef isnormal
-
-template <class _A1>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_isnormal(_A1 __lcpp_x) _NOEXCEPT
-{
-    return isnormal(__lcpp_x);
-}
-
-#undef isnormal
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_floating_point<_A1>::value, bool>::type
-isnormal(_A1 __lcpp_x) _NOEXCEPT
-{
-    return __libcpp_isnormal((typename std::__promote<_A1>::type)__lcpp_x);
-}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, bool>::type
-isnormal(_A1 __lcpp_x) _NOEXCEPT
-{ return __lcpp_x != 0; }
-
-#endif  // isnormal
-
-// isgreater
-
-#ifdef isgreater
-
-template <class _A1, class _A2>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_isgreater(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    return isgreater(__lcpp_x, __lcpp_y);
-}
-
-#undef isgreater
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    bool
->::type
-isgreater(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type type;
-    return __libcpp_isgreater((type)__lcpp_x, (type)__lcpp_y);
-}
-
-#endif  // isgreater
-
-// isgreaterequal
-
-#ifdef isgreaterequal
-
-template <class _A1, class _A2>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_isgreaterequal(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    return isgreaterequal(__lcpp_x, __lcpp_y);
-}
-
-#undef isgreaterequal
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    bool
->::type
-isgreaterequal(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type type;
-    return __libcpp_isgreaterequal((type)__lcpp_x, (type)__lcpp_y);
-}
-
-#endif  // isgreaterequal
-
-// isless
-
-#ifdef isless
-
-template <class _A1, class _A2>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_isless(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    return isless(__lcpp_x, __lcpp_y);
-}
-
-#undef isless
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    bool
->::type
-isless(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type type;
-    return __libcpp_isless((type)__lcpp_x, (type)__lcpp_y);
-}
-
-#endif  // isless
-
-// islessequal
-
-#ifdef islessequal
-
-template <class _A1, class _A2>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_islessequal(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    return islessequal(__lcpp_x, __lcpp_y);
-}
-
-#undef islessequal
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    bool
->::type
-islessequal(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type type;
-    return __libcpp_islessequal((type)__lcpp_x, (type)__lcpp_y);
-}
-
-#endif  // islessequal
-
-// islessgreater
-
-#ifdef islessgreater
-
-template <class _A1, class _A2>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_islessgreater(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    return islessgreater(__lcpp_x, __lcpp_y);
-}
-
-#undef islessgreater
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    bool
->::type
-islessgreater(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type type;
-    return __libcpp_islessgreater((type)__lcpp_x, (type)__lcpp_y);
-}
-
-#endif  // islessgreater
-
-// isunordered
-
-#ifdef isunordered
-
-template <class _A1, class _A2>
-_LIBCPP_INLINE_VISIBILITY
-bool
-__libcpp_isunordered(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    return isunordered(__lcpp_x, __lcpp_y);
-}
-
-#undef isunordered
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    bool
->::type
-isunordered(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type type;
-    return __libcpp_isunordered((type)__lcpp_x, (type)__lcpp_y);
-}
-
-#endif  // isunordered
-
-// abs
-
-#undef abs
-#undef labs
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-#undef llabs
-#endif
-
-// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
-#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
-inline _LIBCPP_INLINE_VISIBILITY long abs(long __x) _NOEXCEPT {
-  return ::labs(__x);
-}
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {
-  return ::llabs(__x);
-}
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-#endif // !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
-
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float abs(float __lcpp_x) _NOEXCEPT {
-  return ::fabsf(__lcpp_x);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY double abs(double __lcpp_x) _NOEXCEPT {
-  return ::fabs(__lcpp_x);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY long double
-abs(long double __lcpp_x) _NOEXCEPT {
-  return ::fabsl(__lcpp_x);
-}
-#endif // !(defined(_AIX) || defined(__sun__))
-
-// div
-
-#undef div
-#undef ldiv
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-#undef lldiv
-#endif
-
-// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
-#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
-inline _LIBCPP_INLINE_VISIBILITY ldiv_t div(long __x, long __y) _NOEXCEPT {
-  return ::ldiv(__x, __y);
-}
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x,
-                                             long long __y) _NOEXCEPT {
-  return ::lldiv(__x, __y);
-}
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-#endif // _LIBCPP_MSVCRT / __sun__ / _AIX
-
-// acos
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       acos(float __lcpp_x) _NOEXCEPT       {return ::acosf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) _NOEXCEPT {return ::acosl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-acos(_A1 __lcpp_x) _NOEXCEPT {return ::acos((double)__lcpp_x);}
-
-// asin
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       asin(float __lcpp_x) _NOEXCEPT       {return ::asinf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __lcpp_x) _NOEXCEPT {return ::asinl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-asin(_A1 __lcpp_x) _NOEXCEPT {return ::asin((double)__lcpp_x);}
-
-// atan
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       atan(float __lcpp_x) _NOEXCEPT       {return ::atanf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double atan(long double __lcpp_x) _NOEXCEPT {return ::atanl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-atan(_A1 __lcpp_x) _NOEXCEPT {return ::atan((double)__lcpp_x);}
-
-// atan2
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       atan2(float __lcpp_y, float __lcpp_x) _NOEXCEPT             {return ::atan2f(__lcpp_y, __lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double atan2(long double __lcpp_y, long double __lcpp_x) _NOEXCEPT {return ::atan2l(__lcpp_y, __lcpp_x);}
-#endif
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-atan2(_A1 __lcpp_y, _A2 __lcpp_x) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::atan2((__result_type)__lcpp_y, (__result_type)__lcpp_x);
-}
-
-// ceil
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       ceil(float __lcpp_x) _NOEXCEPT       {return ::ceilf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double ceil(long double __lcpp_x) _NOEXCEPT {return ::ceill(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-ceil(_A1 __lcpp_x) _NOEXCEPT {return ::ceil((double)__lcpp_x);}
-
-// cos
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       cos(float __lcpp_x) _NOEXCEPT       {return ::cosf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double cos(long double __lcpp_x) _NOEXCEPT {return ::cosl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-cos(_A1 __lcpp_x) _NOEXCEPT {return ::cos((double)__lcpp_x);}
-
-// cosh
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       cosh(float __lcpp_x) _NOEXCEPT       {return ::coshf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double cosh(long double __lcpp_x) _NOEXCEPT {return ::coshl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-cosh(_A1 __lcpp_x) _NOEXCEPT {return ::cosh((double)__lcpp_x);}
-
-// exp
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       exp(float __lcpp_x) _NOEXCEPT       {return ::expf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double exp(long double __lcpp_x) _NOEXCEPT {return ::expl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-exp(_A1 __lcpp_x) _NOEXCEPT {return ::exp((double)__lcpp_x);}
-
-// fabs
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       fabs(float __lcpp_x) _NOEXCEPT       {return ::fabsf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double fabs(long double __lcpp_x) _NOEXCEPT {return ::fabsl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-fabs(_A1 __lcpp_x) _NOEXCEPT {return ::fabs((double)__lcpp_x);}
-
-// floor
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       floor(float __lcpp_x) _NOEXCEPT       {return ::floorf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double floor(long double __lcpp_x) _NOEXCEPT {return ::floorl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-floor(_A1 __lcpp_x) _NOEXCEPT {return ::floor((double)__lcpp_x);}
-
-// fmod
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       fmod(float __lcpp_x, float __lcpp_y) _NOEXCEPT             {return ::fmodf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double fmod(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::fmodl(__lcpp_x, __lcpp_y);}
-#endif
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-fmod(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::fmod((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// frexp
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       frexp(float __lcpp_x, int* __lcpp_e) _NOEXCEPT       {return ::frexpf(__lcpp_x, __lcpp_e);}
-inline _LIBCPP_INLINE_VISIBILITY long double frexp(long double __lcpp_x, int* __lcpp_e) _NOEXCEPT {return ::frexpl(__lcpp_x, __lcpp_e);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-frexp(_A1 __lcpp_x, int* __lcpp_e) _NOEXCEPT {return ::frexp((double)__lcpp_x, __lcpp_e);}
-
-// ldexp
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       ldexp(float __lcpp_x, int __lcpp_e) _NOEXCEPT       {return ::ldexpf(__lcpp_x, __lcpp_e);}
-inline _LIBCPP_INLINE_VISIBILITY long double ldexp(long double __lcpp_x, int __lcpp_e) _NOEXCEPT {return ::ldexpl(__lcpp_x, __lcpp_e);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-ldexp(_A1 __lcpp_x, int __lcpp_e) _NOEXCEPT {return ::ldexp((double)__lcpp_x, __lcpp_e);}
-
-// log
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       log(float __lcpp_x) _NOEXCEPT       {return ::logf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double log(long double __lcpp_x) _NOEXCEPT {return ::logl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-log(_A1 __lcpp_x) _NOEXCEPT {return ::log((double)__lcpp_x);}
-
-// log10
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       log10(float __lcpp_x) _NOEXCEPT       {return ::log10f(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double log10(long double __lcpp_x) _NOEXCEPT {return ::log10l(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-log10(_A1 __lcpp_x) _NOEXCEPT {return ::log10((double)__lcpp_x);}
-
-// modf
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       modf(float __lcpp_x, float* __lcpp_y) _NOEXCEPT             {return ::modff(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double modf(long double __lcpp_x, long double* __lcpp_y) _NOEXCEPT {return ::modfl(__lcpp_x, __lcpp_y);}
-#endif
-
-// pow
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       pow(float __lcpp_x, float __lcpp_y) _NOEXCEPT             {return ::powf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double pow(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::powl(__lcpp_x, __lcpp_y);}
-#endif
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-pow(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::pow((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// sin
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       sin(float __lcpp_x) _NOEXCEPT       {return ::sinf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double sin(long double __lcpp_x) _NOEXCEPT {return ::sinl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-sin(_A1 __lcpp_x) _NOEXCEPT {return ::sin((double)__lcpp_x);}
-
-// sinh
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       sinh(float __lcpp_x) _NOEXCEPT       {return ::sinhf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double sinh(long double __lcpp_x) _NOEXCEPT {return ::sinhl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-sinh(_A1 __lcpp_x) _NOEXCEPT {return ::sinh((double)__lcpp_x);}
-
-// sqrt
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       sqrt(float __lcpp_x) _NOEXCEPT       {return ::sqrtf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double sqrt(long double __lcpp_x) _NOEXCEPT {return ::sqrtl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-sqrt(_A1 __lcpp_x) _NOEXCEPT {return ::sqrt((double)__lcpp_x);}
-
-// tan
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       tan(float __lcpp_x) _NOEXCEPT       {return ::tanf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double tan(long double __lcpp_x) _NOEXCEPT {return ::tanl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-tan(_A1 __lcpp_x) _NOEXCEPT {return ::tan((double)__lcpp_x);}
-
-// tanh
-
-#if !(defined(_AIX) || defined(__sun__))
-inline _LIBCPP_INLINE_VISIBILITY float       tanh(float __lcpp_x) _NOEXCEPT       {return ::tanhf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double tanh(long double __lcpp_x) _NOEXCEPT {return ::tanhl(__lcpp_x);}
-#endif
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-tanh(_A1 __lcpp_x) _NOEXCEPT {return ::tanh((double)__lcpp_x);}
-
-// acosh
-
-inline _LIBCPP_INLINE_VISIBILITY float       acosh(float __lcpp_x) _NOEXCEPT       {return ::acoshf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double acosh(long double __lcpp_x) _NOEXCEPT {return ::acoshl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-acosh(_A1 __lcpp_x) _NOEXCEPT {return ::acosh((double)__lcpp_x);}
-
-// asinh
-
-inline _LIBCPP_INLINE_VISIBILITY float       asinh(float __lcpp_x) _NOEXCEPT       {return ::asinhf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double asinh(long double __lcpp_x) _NOEXCEPT {return ::asinhl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-asinh(_A1 __lcpp_x) _NOEXCEPT {return ::asinh((double)__lcpp_x);}
-
-// atanh
-
-inline _LIBCPP_INLINE_VISIBILITY float       atanh(float __lcpp_x) _NOEXCEPT       {return ::atanhf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double atanh(long double __lcpp_x) _NOEXCEPT {return ::atanhl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-atanh(_A1 __lcpp_x) _NOEXCEPT {return ::atanh((double)__lcpp_x);}
-
-// cbrt
-
-inline _LIBCPP_INLINE_VISIBILITY float       cbrt(float __lcpp_x) _NOEXCEPT       {return ::cbrtf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double cbrt(long double __lcpp_x) _NOEXCEPT {return ::cbrtl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-cbrt(_A1 __lcpp_x) _NOEXCEPT {return ::cbrt((double)__lcpp_x);}
-
-// copysign
-
-inline _LIBCPP_INLINE_VISIBILITY float copysign(float __lcpp_x,
-                                                float __lcpp_y) _NOEXCEPT {
-  return ::copysignf(__lcpp_x, __lcpp_y);
-}
-inline _LIBCPP_INLINE_VISIBILITY long double
-copysign(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {
-  return ::copysignl(__lcpp_x, __lcpp_y);
-}
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-copysign(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::copysign((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// erf
-
-inline _LIBCPP_INLINE_VISIBILITY float       erf(float __lcpp_x) _NOEXCEPT       {return ::erff(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double erf(long double __lcpp_x) _NOEXCEPT {return ::erfl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-erf(_A1 __lcpp_x) _NOEXCEPT {return ::erf((double)__lcpp_x);}
-
-// erfc
-
-inline _LIBCPP_INLINE_VISIBILITY float       erfc(float __lcpp_x) _NOEXCEPT       {return ::erfcf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double erfc(long double __lcpp_x) _NOEXCEPT {return ::erfcl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-erfc(_A1 __lcpp_x) _NOEXCEPT {return ::erfc((double)__lcpp_x);}
-
-// exp2
-
-inline _LIBCPP_INLINE_VISIBILITY float       exp2(float __lcpp_x) _NOEXCEPT       {return ::exp2f(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double exp2(long double __lcpp_x) _NOEXCEPT {return ::exp2l(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-exp2(_A1 __lcpp_x) _NOEXCEPT {return ::exp2((double)__lcpp_x);}
-
-// expm1
-
-inline _LIBCPP_INLINE_VISIBILITY float       expm1(float __lcpp_x) _NOEXCEPT       {return ::expm1f(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double expm1(long double __lcpp_x) _NOEXCEPT {return ::expm1l(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-expm1(_A1 __lcpp_x) _NOEXCEPT {return ::expm1((double)__lcpp_x);}
-
-// fdim
-
-inline _LIBCPP_INLINE_VISIBILITY float       fdim(float __lcpp_x, float __lcpp_y) _NOEXCEPT             {return ::fdimf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double fdim(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::fdiml(__lcpp_x, __lcpp_y);}
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-fdim(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::fdim((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// fma
-
-inline _LIBCPP_INLINE_VISIBILITY float       fma(float __lcpp_x, float __lcpp_y, float __lcpp_z) _NOEXCEPT                   {return ::fmaf(__lcpp_x, __lcpp_y, __lcpp_z);}
-inline _LIBCPP_INLINE_VISIBILITY long double fma(long double __lcpp_x, long double __lcpp_y, long double __lcpp_z) _NOEXCEPT {return ::fmal(__lcpp_x, __lcpp_y, __lcpp_z);}
-
-template <class _A1, class _A2, class _A3>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value &&
-    std::is_arithmetic<_A3>::value,
-    std::__promote<_A1, _A2, _A3>
->::type
-fma(_A1 __lcpp_x, _A2 __lcpp_y, _A3 __lcpp_z) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2, _A3>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value &&
-                     std::_IsSame<_A3, __result_type>::value)), "");
-    return ::fma((__result_type)__lcpp_x, (__result_type)__lcpp_y, (__result_type)__lcpp_z);
-}
-
-// fmax
-
-inline _LIBCPP_INLINE_VISIBILITY float       fmax(float __lcpp_x, float __lcpp_y) _NOEXCEPT             {return ::fmaxf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double fmax(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::fmaxl(__lcpp_x, __lcpp_y);}
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-fmax(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::fmax((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// fmin
-
-inline _LIBCPP_INLINE_VISIBILITY float       fmin(float __lcpp_x, float __lcpp_y) _NOEXCEPT             {return ::fminf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double fmin(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::fminl(__lcpp_x, __lcpp_y);}
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-fmin(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::fmin((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// hypot
-
-inline _LIBCPP_INLINE_VISIBILITY float       hypot(float __lcpp_x, float __lcpp_y) _NOEXCEPT             {return ::hypotf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double hypot(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::hypotl(__lcpp_x, __lcpp_y);}
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-hypot(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::hypot((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// ilogb
-
-inline _LIBCPP_INLINE_VISIBILITY int ilogb(float __lcpp_x) _NOEXCEPT       {return ::ilogbf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY int ilogb(long double __lcpp_x) _NOEXCEPT {return ::ilogbl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, int>::type
-ilogb(_A1 __lcpp_x) _NOEXCEPT {return ::ilogb((double)__lcpp_x);}
-
-// lgamma
-
-inline _LIBCPP_INLINE_VISIBILITY float       lgamma(float __lcpp_x) _NOEXCEPT       {return ::lgammaf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double lgamma(long double __lcpp_x) _NOEXCEPT {return ::lgammal(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-lgamma(_A1 __lcpp_x) _NOEXCEPT {return ::lgamma((double)__lcpp_x);}
-
-// llrint
-
-inline _LIBCPP_INLINE_VISIBILITY long long llrint(float __lcpp_x) _NOEXCEPT       {return ::llrintf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long long llrint(long double __lcpp_x) _NOEXCEPT {return ::llrintl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, long long>::type
-llrint(_A1 __lcpp_x) _NOEXCEPT {return ::llrint((double)__lcpp_x);}
-
-// llround
-
-inline _LIBCPP_INLINE_VISIBILITY long long llround(float __lcpp_x) _NOEXCEPT       {return ::llroundf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long long llround(long double __lcpp_x) _NOEXCEPT {return ::llroundl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, long long>::type
-llround(_A1 __lcpp_x) _NOEXCEPT {return ::llround((double)__lcpp_x);}
-
-// log1p
-
-inline _LIBCPP_INLINE_VISIBILITY float       log1p(float __lcpp_x) _NOEXCEPT       {return ::log1pf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double log1p(long double __lcpp_x) _NOEXCEPT {return ::log1pl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-log1p(_A1 __lcpp_x) _NOEXCEPT {return ::log1p((double)__lcpp_x);}
-
-// log2
-
-inline _LIBCPP_INLINE_VISIBILITY float       log2(float __lcpp_x) _NOEXCEPT       {return ::log2f(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double log2(long double __lcpp_x) _NOEXCEPT {return ::log2l(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-log2(_A1 __lcpp_x) _NOEXCEPT {return ::log2((double)__lcpp_x);}
-
-// logb
-
-inline _LIBCPP_INLINE_VISIBILITY float       logb(float __lcpp_x) _NOEXCEPT       {return ::logbf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double logb(long double __lcpp_x) _NOEXCEPT {return ::logbl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-logb(_A1 __lcpp_x) _NOEXCEPT {return ::logb((double)__lcpp_x);}
-
-// lrint
-
-inline _LIBCPP_INLINE_VISIBILITY long lrint(float __lcpp_x) _NOEXCEPT       {return ::lrintf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long lrint(long double __lcpp_x) _NOEXCEPT {return ::lrintl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, long>::type
-lrint(_A1 __lcpp_x) _NOEXCEPT {return ::lrint((double)__lcpp_x);}
-
-// lround
-
-inline _LIBCPP_INLINE_VISIBILITY long lround(float __lcpp_x) _NOEXCEPT       {return ::lroundf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long lround(long double __lcpp_x) _NOEXCEPT {return ::lroundl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, long>::type
-lround(_A1 __lcpp_x) _NOEXCEPT {return ::lround((double)__lcpp_x);}
-
-// nan
-
-// nearbyint
-
-inline _LIBCPP_INLINE_VISIBILITY float       nearbyint(float __lcpp_x) _NOEXCEPT       {return ::nearbyintf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double nearbyint(long double __lcpp_x) _NOEXCEPT {return ::nearbyintl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-nearbyint(_A1 __lcpp_x) _NOEXCEPT {return ::nearbyint((double)__lcpp_x);}
-
-// nextafter
-
-inline _LIBCPP_INLINE_VISIBILITY float       nextafter(float __lcpp_x, float __lcpp_y) _NOEXCEPT             {return ::nextafterf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double nextafter(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::nextafterl(__lcpp_x, __lcpp_y);}
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-nextafter(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::nextafter((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// nexttoward
-
-inline _LIBCPP_INLINE_VISIBILITY float       nexttoward(float __lcpp_x, long double __lcpp_y) _NOEXCEPT       {return ::nexttowardf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double nexttoward(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::nexttowardl(__lcpp_x, __lcpp_y);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-nexttoward(_A1 __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::nexttoward((double)__lcpp_x, __lcpp_y);}
-
-// remainder
-
-inline _LIBCPP_INLINE_VISIBILITY float       remainder(float __lcpp_x, float __lcpp_y) _NOEXCEPT             {return ::remainderf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double remainder(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::remainderl(__lcpp_x, __lcpp_y);}
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-remainder(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::remainder((__result_type)__lcpp_x, (__result_type)__lcpp_y);
-}
-
-// remquo
-
-inline _LIBCPP_INLINE_VISIBILITY float       remquo(float __lcpp_x, float __lcpp_y, int* __lcpp_z) _NOEXCEPT             {return ::remquof(__lcpp_x, __lcpp_y, __lcpp_z);}
-inline _LIBCPP_INLINE_VISIBILITY long double remquo(long double __lcpp_x, long double __lcpp_y, int* __lcpp_z) _NOEXCEPT {return ::remquol(__lcpp_x, __lcpp_y, __lcpp_z);}
-
-template <class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::_EnableIf
-<
-    std::is_arithmetic<_A1>::value &&
-    std::is_arithmetic<_A2>::value,
-    std::__promote<_A1, _A2>
->::type
-remquo(_A1 __lcpp_x, _A2 __lcpp_y, int* __lcpp_z) _NOEXCEPT
-{
-    typedef typename std::__promote<_A1, _A2>::type __result_type;
-    static_assert((!(std::_IsSame<_A1, __result_type>::value &&
-                     std::_IsSame<_A2, __result_type>::value)), "");
-    return ::remquo((__result_type)__lcpp_x, (__result_type)__lcpp_y, __lcpp_z);
-}
-
-// rint
-
-inline _LIBCPP_INLINE_VISIBILITY float       rint(float __lcpp_x) _NOEXCEPT       {return ::rintf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double rint(long double __lcpp_x) _NOEXCEPT {return ::rintl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-rint(_A1 __lcpp_x) _NOEXCEPT {return ::rint((double)__lcpp_x);}
-
-// round
-
-inline _LIBCPP_INLINE_VISIBILITY float       round(float __lcpp_x) _NOEXCEPT       {return ::roundf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double round(long double __lcpp_x) _NOEXCEPT {return ::roundl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-round(_A1 __lcpp_x) _NOEXCEPT {return ::round((double)__lcpp_x);}
-
-// scalbln
-
-inline _LIBCPP_INLINE_VISIBILITY float       scalbln(float __lcpp_x, long __lcpp_y) _NOEXCEPT       {return ::scalblnf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double scalbln(long double __lcpp_x, long __lcpp_y) _NOEXCEPT {return ::scalblnl(__lcpp_x, __lcpp_y);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-scalbln(_A1 __lcpp_x, long __lcpp_y) _NOEXCEPT {return ::scalbln((double)__lcpp_x, __lcpp_y);}
-
-// scalbn
-
-inline _LIBCPP_INLINE_VISIBILITY float       scalbn(float __lcpp_x, int __lcpp_y) _NOEXCEPT       {return ::scalbnf(__lcpp_x, __lcpp_y);}
-inline _LIBCPP_INLINE_VISIBILITY long double scalbn(long double __lcpp_x, int __lcpp_y) _NOEXCEPT {return ::scalbnl(__lcpp_x, __lcpp_y);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-scalbn(_A1 __lcpp_x, int __lcpp_y) _NOEXCEPT {return ::scalbn((double)__lcpp_x, __lcpp_y);}
-
-// tgamma
-
-inline _LIBCPP_INLINE_VISIBILITY float       tgamma(float __lcpp_x) _NOEXCEPT       {return ::tgammaf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double tgamma(long double __lcpp_x) _NOEXCEPT {return ::tgammal(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-tgamma(_A1 __lcpp_x) _NOEXCEPT {return ::tgamma((double)__lcpp_x);}
-
-// trunc
-
-inline _LIBCPP_INLINE_VISIBILITY float       trunc(float __lcpp_x) _NOEXCEPT       {return ::truncf(__lcpp_x);}
-inline _LIBCPP_INLINE_VISIBILITY long double trunc(long double __lcpp_x) _NOEXCEPT {return ::truncl(__lcpp_x);}
-
-template <class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename std::enable_if<std::is_integral<_A1>::value, double>::type
-trunc(_A1 __lcpp_x) _NOEXCEPT {return ::trunc((double)__lcpp_x);}
-
-} // extern "C++"
-
-#endif // __cplusplus
-
-#else // _LIBCPP_MATH_H
-
-// This include lives outside the header guard in order to support an MSVC
-// extension which allows users to do:
-//
-// #define _USE_MATH_DEFINES
-// #include <math.h>
-//
-// and receive the definitions of mathematical constants, even if <math.h>
-// has previously been included.
-#if defined(_LIBCPP_MSVCRT) && defined(_USE_MATH_DEFINES)
-#include_next <math.h>
-#endif
-
-#endif  // _LIBCPP_MATH_H
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/memory b/r21/sources/cxx-stl/llvm-libc++/include/memory
deleted file mode 100644
index 321d5fe..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/memory
+++ /dev/null
@@ -1,5597 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- memory ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_MEMORY
-#define _LIBCPP_MEMORY
-
-/*
-    memory synopsis
-
-namespace std
-{
-
-struct allocator_arg_t { };
-inline constexpr allocator_arg_t allocator_arg = allocator_arg_t();
-
-template <class T, class Alloc> struct uses_allocator;
-
-template <class Ptr>
-struct pointer_traits
-{
-    typedef Ptr pointer;
-    typedef <details> element_type;
-    typedef <details> difference_type;
-
-    template <class U> using rebind = <details>;
-
-    static pointer pointer_to(<details>);
-};
-
-template <class T>
-struct pointer_traits<T*>
-{
-    typedef T* pointer;
-    typedef T element_type;
-    typedef ptrdiff_t difference_type;
-
-    template <class U> using rebind = U*;
-
-    static pointer pointer_to(<details>) noexcept; // constexpr in C++20
-};
-
-template <class T> constexpr T* to_address(T* p) noexcept; // C++20
-template <class Ptr> auto to_address(const Ptr& p) noexcept; // C++20
-
-template <class Alloc>
-struct allocator_traits
-{
-    typedef Alloc                        allocator_type;
-    typedef typename allocator_type::value_type
-                                         value_type;
-
-    typedef Alloc::pointer | value_type* pointer;
-    typedef Alloc::const_pointer
-          | pointer_traits<pointer>::rebind<const value_type>
-                                         const_pointer;
-    typedef Alloc::void_pointer
-          | pointer_traits<pointer>::rebind<void>
-                                         void_pointer;
-    typedef Alloc::const_void_pointer
-          | pointer_traits<pointer>::rebind<const void>
-                                         const_void_pointer;
-    typedef Alloc::difference_type
-          | pointer_traits<pointer>::difference_type
-                                         difference_type;
-    typedef Alloc::size_type
-          | make_unsigned<difference_type>::type
-                                         size_type;
-    typedef Alloc::propagate_on_container_copy_assignment
-          | false_type                   propagate_on_container_copy_assignment;
-    typedef Alloc::propagate_on_container_move_assignment
-          | false_type                   propagate_on_container_move_assignment;
-    typedef Alloc::propagate_on_container_swap
-          | false_type                   propagate_on_container_swap;
-    typedef Alloc::is_always_equal
-          | is_empty                     is_always_equal;
-
-    template <class T> using rebind_alloc  = Alloc::rebind<U>::other | Alloc<T, Args...>;
-    template <class T> using rebind_traits = allocator_traits<rebind_alloc<T>>;
-
-    static pointer allocate(allocator_type& a, size_type n);                          // [[nodiscard]] in C++20
-    static pointer allocate(allocator_type& a, size_type n, const_void_pointer hint); // [[nodiscard]] in C++20
-
-    static void deallocate(allocator_type& a, pointer p, size_type n) noexcept;
-
-    template <class T, class... Args>
-        static void construct(allocator_type& a, T* p, Args&&... args);
-
-    template <class T>
-        static void destroy(allocator_type& a, T* p);
-
-    static size_type max_size(const allocator_type& a); // noexcept in C++14
-
-    static allocator_type
-        select_on_container_copy_construction(const allocator_type& a);
-};
-
-template <>
-class allocator<void>
-{
-public:
-    typedef void*                                 pointer;
-    typedef const void*                           const_pointer;
-    typedef void                                  value_type;
-
-    template <class _Up> struct rebind {typedef allocator<_Up> other;};
-};
-
-template <class T>
-class allocator
-{
-public:
-    typedef size_t                                size_type;
-    typedef ptrdiff_t                             difference_type;
-    typedef T*                                    pointer;
-    typedef const T*                              const_pointer;
-    typedef typename add_lvalue_reference<T>::type       reference;
-    typedef typename add_lvalue_reference<const T>::type const_reference;
-    typedef T                                     value_type;
-
-    template <class U> struct rebind {typedef allocator<U> other;};
-
-    constexpr allocator() noexcept;                      // constexpr in C++20
-    constexpr allocator(const allocator&) noexcept;      // constexpr in C++20
-    template <class U>
-      constexpr allocator(const allocator<U>&) noexcept; // constexpr in C++20
-    ~allocator();
-    pointer address(reference x) const noexcept;
-    const_pointer address(const_reference x) const noexcept;
-    pointer allocate(size_type, allocator<void>::const_pointer hint = 0);
-    void deallocate(pointer p, size_type n) noexcept;
-    size_type max_size() const noexcept;
-    template<class U, class... Args>
-        void construct(U* p, Args&&... args);
-    template <class U>
-        void destroy(U* p);
-};
-
-template <class T, class U>
-bool operator==(const allocator<T>&, const allocator<U>&) noexcept;
-
-template <class T, class U>
-bool operator!=(const allocator<T>&, const allocator<U>&) noexcept;
-
-template <class OutputIterator, class T>
-class raw_storage_iterator
-    : public iterator<output_iterator_tag,
-                      T,                               // purposefully not C++03
-                      ptrdiff_t,                       // purposefully not C++03
-                      T*,                              // purposefully not C++03
-                      raw_storage_iterator&>           // purposefully not C++03
-{
-public:
-    explicit raw_storage_iterator(OutputIterator x);
-    raw_storage_iterator& operator*();
-    raw_storage_iterator& operator=(const T& element);
-    raw_storage_iterator& operator++();
-    raw_storage_iterator  operator++(int);
-};
-
-template <class T> pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n) noexcept;
-template <class T> void               return_temporary_buffer(T* p) noexcept;
-
-template <class T> T* addressof(T& r) noexcept;
-template <class T> T* addressof(const T&& r) noexcept = delete;
-
-template <class InputIterator, class ForwardIterator>
-ForwardIterator
-uninitialized_copy(InputIterator first, InputIterator last, ForwardIterator result);
-
-template <class InputIterator, class Size, class ForwardIterator>
-ForwardIterator
-uninitialized_copy_n(InputIterator first, Size n, ForwardIterator result);
-
-template <class ForwardIterator, class T>
-void uninitialized_fill(ForwardIterator first, ForwardIterator last, const T& x);
-
-template <class ForwardIterator, class Size, class T>
-ForwardIterator
-uninitialized_fill_n(ForwardIterator first, Size n, const T& x);
-
-template <class T>
-void destroy_at(T* location);
-
-template <class ForwardIterator>
- void destroy(ForwardIterator first, ForwardIterator last);
-
-template <class ForwardIterator, class Size>
- ForwardIterator destroy_n(ForwardIterator first, Size n);
-
-template <class InputIterator, class ForwardIterator>
- ForwardIterator uninitialized_move(InputIterator first, InputIterator last, ForwardIterator result);
-
-template <class InputIterator, class Size, class ForwardIterator>
- pair<InputIterator,ForwardIterator> uninitialized_move_n(InputIterator first, Size n, ForwardIterator result);
-
-template <class ForwardIterator>
- void uninitialized_value_construct(ForwardIterator first, ForwardIterator last);
-
-template <class ForwardIterator, class Size>
- ForwardIterator uninitialized_value_construct_n(ForwardIterator first, Size n);
-
-template <class ForwardIterator>
- void uninitialized_default_construct(ForwardIterator first, ForwardIterator last);
-
-template <class ForwardIterator, class Size>
- ForwardIterator uninitialized_default_construct_n(ForwardIterator first, Size n);
-
-template <class Y> struct auto_ptr_ref {};      // deprecated in C++11, removed in C++17
-
-template<class X>
-class auto_ptr                                  // deprecated in C++11, removed in C++17
-{
-public:
-    typedef X element_type;
-
-    explicit auto_ptr(X* p =0) throw();
-    auto_ptr(auto_ptr&) throw();
-    template<class Y> auto_ptr(auto_ptr<Y>&) throw();
-    auto_ptr& operator=(auto_ptr&) throw();
-    template<class Y> auto_ptr& operator=(auto_ptr<Y>&) throw();
-    auto_ptr& operator=(auto_ptr_ref<X> r) throw();
-    ~auto_ptr() throw();
-
-    typename add_lvalue_reference<X>::type operator*() const throw();
-    X* operator->() const throw();
-    X* get() const throw();
-    X* release() throw();
-    void reset(X* p =0) throw();
-
-    auto_ptr(auto_ptr_ref<X>) throw();
-    template<class Y> operator auto_ptr_ref<Y>() throw();
-    template<class Y> operator auto_ptr<Y>() throw();
-};
-
-template <class T>
-struct default_delete
-{
-    constexpr default_delete() noexcept = default;
-    template <class U> default_delete(const default_delete<U>&) noexcept;
-
-    void operator()(T*) const noexcept;
-};
-
-template <class T>
-struct default_delete<T[]>
-{
-    constexpr default_delete() noexcept = default;
-    void operator()(T*) const noexcept;
-    template <class U> void operator()(U*) const = delete;
-};
-
-template <class T, class D = default_delete<T>>
-class unique_ptr
-{
-public:
-    typedef see below pointer;
-    typedef T element_type;
-    typedef D deleter_type;
-
-    // constructors
-    constexpr unique_ptr() noexcept;
-    explicit unique_ptr(pointer p) noexcept;
-    unique_ptr(pointer p, see below d1) noexcept;
-    unique_ptr(pointer p, see below d2) noexcept;
-    unique_ptr(unique_ptr&& u) noexcept;
-    unique_ptr(nullptr_t) noexcept : unique_ptr() { }
-    template <class U, class E>
-        unique_ptr(unique_ptr<U, E>&& u) noexcept;
-    template <class U>
-        unique_ptr(auto_ptr<U>&& u) noexcept;       // removed in C++17
-
-    // destructor
-    ~unique_ptr();
-
-    // assignment
-    unique_ptr& operator=(unique_ptr&& u) noexcept;
-    template <class U, class E> unique_ptr& operator=(unique_ptr<U, E>&& u) noexcept;
-    unique_ptr& operator=(nullptr_t) noexcept;
-
-    // observers
-    typename add_lvalue_reference<T>::type operator*() const;
-    pointer operator->() const noexcept;
-    pointer get() const noexcept;
-    deleter_type& get_deleter() noexcept;
-    const deleter_type& get_deleter() const noexcept;
-    explicit operator bool() const noexcept;
-
-    // modifiers
-    pointer release() noexcept;
-    void reset(pointer p = pointer()) noexcept;
-    void swap(unique_ptr& u) noexcept;
-};
-
-template <class T, class D>
-class unique_ptr<T[], D>
-{
-public:
-    typedef implementation-defined pointer;
-    typedef T element_type;
-    typedef D deleter_type;
-
-    // constructors
-    constexpr unique_ptr() noexcept;
-    explicit unique_ptr(pointer p) noexcept;
-    unique_ptr(pointer p, see below d) noexcept;
-    unique_ptr(pointer p, see below d) noexcept;
-    unique_ptr(unique_ptr&& u) noexcept;
-    unique_ptr(nullptr_t) noexcept : unique_ptr() { }
-
-    // destructor
-    ~unique_ptr();
-
-    // assignment
-    unique_ptr& operator=(unique_ptr&& u) noexcept;
-    unique_ptr& operator=(nullptr_t) noexcept;
-
-    // observers
-    T& operator[](size_t i) const;
-    pointer get() const noexcept;
-    deleter_type& get_deleter() noexcept;
-    const deleter_type& get_deleter() const noexcept;
-    explicit operator bool() const noexcept;
-
-    // modifiers
-    pointer release() noexcept;
-    void reset(pointer p = pointer()) noexcept;
-    void reset(nullptr_t) noexcept;
-    template <class U> void reset(U) = delete;
-    void swap(unique_ptr& u) noexcept;
-};
-
-template <class T, class D>
-    void swap(unique_ptr<T, D>& x, unique_ptr<T, D>& y) noexcept;
-
-template <class T1, class D1, class T2, class D2>
-    bool operator==(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
-template <class T1, class D1, class T2, class D2>
-    bool operator!=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
-template <class T1, class D1, class T2, class D2>
-    bool operator<(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
-template <class T1, class D1, class T2, class D2>
-    bool operator<=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
-template <class T1, class D1, class T2, class D2>
-    bool operator>(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
-template <class T1, class D1, class T2, class D2>
-    bool operator>=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y);
-
-template <class T, class D>
-    bool operator==(const unique_ptr<T, D>& x, nullptr_t) noexcept;
-template <class T, class D>
-    bool operator==(nullptr_t, const unique_ptr<T, D>& y) noexcept;
-template <class T, class D>
-    bool operator!=(const unique_ptr<T, D>& x, nullptr_t) noexcept;
-template <class T, class D>
-    bool operator!=(nullptr_t, const unique_ptr<T, D>& y) noexcept;
-
-template <class T, class D>
-    bool operator<(const unique_ptr<T, D>& x, nullptr_t);
-template <class T, class D>
-    bool operator<(nullptr_t, const unique_ptr<T, D>& y);
-template <class T, class D>
-    bool operator<=(const unique_ptr<T, D>& x, nullptr_t);
-template <class T, class D>
-    bool operator<=(nullptr_t, const unique_ptr<T, D>& y);
-template <class T, class D>
-    bool operator>(const unique_ptr<T, D>& x, nullptr_t);
-template <class T, class D>
-    bool operator>(nullptr_t, const unique_ptr<T, D>& y);
-template <class T, class D>
-    bool operator>=(const unique_ptr<T, D>& x, nullptr_t);
-template <class T, class D>
-    bool operator>=(nullptr_t, const unique_ptr<T, D>& y);
-
-class bad_weak_ptr
-    : public std::exception
-{
-    bad_weak_ptr() noexcept;
-};
-
-template<class T, class... Args> unique_ptr<T> make_unique(Args&&... args);     // C++14
-template<class T>                unique_ptr<T> make_unique(size_t n);           // C++14
-template<class T, class... Args> unspecified   make_unique(Args&&...) = delete; // C++14, T == U[N]
-
-template<class E, class T, class Y, class D>
-    basic_ostream<E, T>& operator<< (basic_ostream<E, T>& os, unique_ptr<Y, D> const& p);
-
-template<class T>
-class shared_ptr
-{
-public:
-    typedef T element_type;
-    typedef weak_ptr<T> weak_type; // C++17
-
-    // constructors:
-    constexpr shared_ptr() noexcept;
-    template<class Y> explicit shared_ptr(Y* p);
-    template<class Y, class D> shared_ptr(Y* p, D d);
-    template<class Y, class D, class A> shared_ptr(Y* p, D d, A a);
-    template <class D> shared_ptr(nullptr_t p, D d);
-    template <class D, class A> shared_ptr(nullptr_t p, D d, A a);
-    template<class Y> shared_ptr(const shared_ptr<Y>& r, T *p) noexcept;
-    shared_ptr(const shared_ptr& r) noexcept;
-    template<class Y> shared_ptr(const shared_ptr<Y>& r) noexcept;
-    shared_ptr(shared_ptr&& r) noexcept;
-    template<class Y> shared_ptr(shared_ptr<Y>&& r) noexcept;
-    template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
-    template<class Y> shared_ptr(auto_ptr<Y>&& r);          // removed in C++17
-    template <class Y, class D> shared_ptr(unique_ptr<Y, D>&& r);
-    shared_ptr(nullptr_t) : shared_ptr() { }
-
-    // destructor:
-    ~shared_ptr();
-
-    // assignment:
-    shared_ptr& operator=(const shared_ptr& r) noexcept;
-    template<class Y> shared_ptr& operator=(const shared_ptr<Y>& r) noexcept;
-    shared_ptr& operator=(shared_ptr&& r) noexcept;
-    template<class Y> shared_ptr& operator=(shared_ptr<Y>&& r);
-    template<class Y> shared_ptr& operator=(auto_ptr<Y>&& r); // removed in C++17
-    template <class Y, class D> shared_ptr& operator=(unique_ptr<Y, D>&& r);
-
-    // modifiers:
-    void swap(shared_ptr& r) noexcept;
-    void reset() noexcept;
-    template<class Y> void reset(Y* p);
-    template<class Y, class D> void reset(Y* p, D d);
-    template<class Y, class D, class A> void reset(Y* p, D d, A a);
-
-    // observers:
-    T* get() const noexcept;
-    T& operator*() const noexcept;
-    T* operator->() const noexcept;
-    long use_count() const noexcept;
-    bool unique() const noexcept;
-    explicit operator bool() const noexcept;
-    template<class U> bool owner_before(shared_ptr<U> const& b) const noexcept;
-    template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
-};
-
-// shared_ptr comparisons:
-template<class T, class U>
-    bool operator==(shared_ptr<T> const& a, shared_ptr<U> const& b) noexcept;
-template<class T, class U>
-    bool operator!=(shared_ptr<T> const& a, shared_ptr<U> const& b) noexcept;
-template<class T, class U>
-    bool operator<(shared_ptr<T> const& a, shared_ptr<U> const& b) noexcept;
-template<class T, class U>
-    bool operator>(shared_ptr<T> const& a, shared_ptr<U> const& b) noexcept;
-template<class T, class U>
-    bool operator<=(shared_ptr<T> const& a, shared_ptr<U> const& b) noexcept;
-template<class T, class U>
-    bool operator>=(shared_ptr<T> const& a, shared_ptr<U> const& b) noexcept;
-
-template <class T>
-    bool operator==(const shared_ptr<T>& x, nullptr_t) noexcept;
-template <class T>
-    bool operator==(nullptr_t, const shared_ptr<T>& y) noexcept;
-template <class T>
-    bool operator!=(const shared_ptr<T>& x, nullptr_t) noexcept;
-template <class T>
-    bool operator!=(nullptr_t, const shared_ptr<T>& y) noexcept;
-template <class T>
-    bool operator<(const shared_ptr<T>& x, nullptr_t) noexcept;
-template <class T>
-bool operator<(nullptr_t, const shared_ptr<T>& y) noexcept;
-template <class T>
-    bool operator<=(const shared_ptr<T>& x, nullptr_t) noexcept;
-template <class T>
-    bool operator<=(nullptr_t, const shared_ptr<T>& y) noexcept;
-template <class T>
-    bool operator>(const shared_ptr<T>& x, nullptr_t) noexcept;
-template <class T>
-    bool operator>(nullptr_t, const shared_ptr<T>& y) noexcept;
-template <class T>
-    bool operator>=(const shared_ptr<T>& x, nullptr_t) noexcept;
-template <class T>
-    bool operator>=(nullptr_t, const shared_ptr<T>& y) noexcept;
-
-// shared_ptr specialized algorithms:
-template<class T> void swap(shared_ptr<T>& a, shared_ptr<T>& b) noexcept;
-
-// shared_ptr casts:
-template<class T, class U>
-    shared_ptr<T> static_pointer_cast(shared_ptr<U> const& r) noexcept;
-template<class T, class U>
-    shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const& r) noexcept;
-template<class T, class U>
-    shared_ptr<T> const_pointer_cast(shared_ptr<U> const& r) noexcept;
-
-// shared_ptr I/O:
-template<class E, class T, class Y>
-    basic_ostream<E, T>& operator<< (basic_ostream<E, T>& os, shared_ptr<Y> const& p);
-
-// shared_ptr get_deleter:
-template<class D, class T> D* get_deleter(shared_ptr<T> const& p) noexcept;
-
-template<class T, class... Args>
-    shared_ptr<T> make_shared(Args&&... args);
-template<class T, class A, class... Args>
-    shared_ptr<T> allocate_shared(const A& a, Args&&... args);
-
-template<class T>
-class weak_ptr
-{
-public:
-    typedef T element_type;
-
-    // constructors
-    constexpr weak_ptr() noexcept;
-    template<class Y> weak_ptr(shared_ptr<Y> const& r) noexcept;
-    weak_ptr(weak_ptr const& r) noexcept;
-    template<class Y> weak_ptr(weak_ptr<Y> const& r) noexcept;
-    weak_ptr(weak_ptr&& r) noexcept;                      // C++14
-    template<class Y> weak_ptr(weak_ptr<Y>&& r) noexcept; // C++14
-
-    // destructor
-    ~weak_ptr();
-
-    // assignment
-    weak_ptr& operator=(weak_ptr const& r) noexcept;
-    template<class Y> weak_ptr& operator=(weak_ptr<Y> const& r) noexcept;
-    template<class Y> weak_ptr& operator=(shared_ptr<Y> const& r) noexcept;
-    weak_ptr& operator=(weak_ptr&& r) noexcept;                      // C++14
-    template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; // C++14
-
-    // modifiers
-    void swap(weak_ptr& r) noexcept;
-    void reset() noexcept;
-
-    // observers
-    long use_count() const noexcept;
-    bool expired() const noexcept;
-    shared_ptr<T> lock() const noexcept;
-    template<class U> bool owner_before(shared_ptr<U> const& b) const noexcept;
-    template<class U> bool owner_before(weak_ptr<U> const& b) const noexcept;
-};
-
-// weak_ptr specialized algorithms:
-template<class T> void swap(weak_ptr<T>& a, weak_ptr<T>& b) noexcept;
-
-// class owner_less:
-template<class T> struct owner_less;
-
-template<class T>
-struct owner_less<shared_ptr<T> >
-    : binary_function<shared_ptr<T>, shared_ptr<T>, bool>
-{
-    typedef bool result_type;
-    bool operator()(shared_ptr<T> const&, shared_ptr<T> const&) const noexcept;
-    bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
-    bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
-};
-
-template<class T>
-struct owner_less<weak_ptr<T> >
-    : binary_function<weak_ptr<T>, weak_ptr<T>, bool>
-{
-    typedef bool result_type;
-    bool operator()(weak_ptr<T> const&, weak_ptr<T> const&) const noexcept;
-    bool operator()(shared_ptr<T> const&, weak_ptr<T> const&) const noexcept;
-    bool operator()(weak_ptr<T> const&, shared_ptr<T> const&) const noexcept;
-};
-
-template <>  // Added in C++14
-struct owner_less<void>
-{
-    template <class _Tp, class _Up>
-    bool operator()( shared_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const noexcept;
-    template <class _Tp, class _Up>
-    bool operator()( shared_ptr<_Tp> const& __x,   weak_ptr<_Up> const& __y) const noexcept;
-    template <class _Tp, class _Up>
-    bool operator()(   weak_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const noexcept;
-    template <class _Tp, class _Up>
-    bool operator()(   weak_ptr<_Tp> const& __x,   weak_ptr<_Up> const& __y) const noexcept;
-
-    typedef void is_transparent;
-};
-
-template<class T>
-class enable_shared_from_this
-{
-protected:
-    constexpr enable_shared_from_this() noexcept;
-    enable_shared_from_this(enable_shared_from_this const&) noexcept;
-    enable_shared_from_this& operator=(enable_shared_from_this const&) noexcept;
-    ~enable_shared_from_this();
-public:
-    shared_ptr<T> shared_from_this();
-    shared_ptr<T const> shared_from_this() const;
-};
-
-template<class T>
-    bool atomic_is_lock_free(const shared_ptr<T>* p);
-template<class T>
-    shared_ptr<T> atomic_load(const shared_ptr<T>* p);
-template<class T>
-    shared_ptr<T> atomic_load_explicit(const shared_ptr<T>* p, memory_order mo);
-template<class T>
-    void atomic_store(shared_ptr<T>* p, shared_ptr<T> r);
-template<class T>
-    void atomic_store_explicit(shared_ptr<T>* p, shared_ptr<T> r, memory_order mo);
-template<class T>
-    shared_ptr<T> atomic_exchange(shared_ptr<T>* p, shared_ptr<T> r);
-template<class T>
-    shared_ptr<T>
-    atomic_exchange_explicit(shared_ptr<T>* p, shared_ptr<T> r, memory_order mo);
-template<class T>
-    bool
-    atomic_compare_exchange_weak(shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w);
-template<class T>
-    bool
-    atomic_compare_exchange_strong( shared_ptr<T>* p, shared_ptr<T>* v, shared_ptr<T> w);
-template<class T>
-    bool
-    atomic_compare_exchange_weak_explicit(shared_ptr<T>* p, shared_ptr<T>* v,
-                                          shared_ptr<T> w, memory_order success,
-                                          memory_order failure);
-template<class T>
-    bool
-    atomic_compare_exchange_strong_explicit(shared_ptr<T>* p, shared_ptr<T>* v,
-                                            shared_ptr<T> w, memory_order success,
-                                            memory_order failure);
-// Hash support
-template <class T> struct hash;
-template <class T, class D> struct hash<unique_ptr<T, D> >;
-template <class T> struct hash<shared_ptr<T> >;
-
-template <class T, class Alloc>
-  inline constexpr bool uses_allocator_v = uses_allocator<T, Alloc>::value;
-
-// Pointer safety
-enum class pointer_safety { relaxed, preferred, strict };
-void declare_reachable(void *p);
-template <class T> T *undeclare_reachable(T *p);
-void declare_no_pointers(char *p, size_t n);
-void undeclare_no_pointers(char *p, size_t n);
-pointer_safety get_pointer_safety() noexcept;
-
-void* align(size_t alignment, size_t size, void*& ptr, size_t& space);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <type_traits>
-#include <typeinfo>
-#include <cstddef>
-#include <cstdint>
-#include <new>
-#include <utility>
-#include <limits>
-#include <iterator>
-#include <__functional_base>
-#include <iosfwd>
-#include <tuple>
-#include <stdexcept>
-#include <cstring>
-#include <cassert>
-#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
-#  include <atomic>
-#endif
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_ValueType __libcpp_relaxed_load(_ValueType const* __value) {
-#if !defined(_LIBCPP_HAS_NO_THREADS) && \
-    defined(__ATOMIC_RELAXED) &&        \
-    (__has_builtin(__atomic_load_n) || defined(_LIBCPP_COMPILER_GCC))
-    return __atomic_load_n(__value, __ATOMIC_RELAXED);
-#else
-    return *__value;
-#endif
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_ValueType __libcpp_acquire_load(_ValueType const* __value) {
-#if !defined(_LIBCPP_HAS_NO_THREADS) && \
-    defined(__ATOMIC_ACQUIRE) &&        \
-    (__has_builtin(__atomic_load_n) || defined(_LIBCPP_COMPILER_GCC))
-    return __atomic_load_n(__value, __ATOMIC_ACQUIRE);
-#else
-    return *__value;
-#endif
-}
-
-// addressof moved to <type_traits>
-
-template <class _Tp> class allocator;
-
-template <>
-class _LIBCPP_TEMPLATE_VIS allocator<void>
-{
-public:
-    typedef void*             pointer;
-    typedef const void*       const_pointer;
-    typedef void              value_type;
-
-    template <class _Up> struct rebind {typedef allocator<_Up> other;};
-};
-
-template <>
-class _LIBCPP_TEMPLATE_VIS allocator<const void>
-{
-public:
-    typedef const void*       pointer;
-    typedef const void*       const_pointer;
-    typedef const void        value_type;
-
-    template <class _Up> struct rebind {typedef allocator<_Up> other;};
-};
-
-// pointer_traits
-
-template <class _Tp, class = void>
-struct __has_element_type : false_type {};
-
-template <class _Tp>
-struct __has_element_type<_Tp,
-              typename __void_t<typename _Tp::element_type>::type> : true_type {};
-
-template <class _Ptr, bool = __has_element_type<_Ptr>::value>
-struct __pointer_traits_element_type;
-
-template <class _Ptr>
-struct __pointer_traits_element_type<_Ptr, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Ptr::element_type type;
-};
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-
-template <template <class, class...> class _Sp, class _Tp, class ..._Args>
-struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Sp<_Tp, _Args...>::element_type type;
-};
-
-template <template <class, class...> class _Sp, class _Tp, class ..._Args>
-struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, false>
-{
-    typedef _LIBCPP_NODEBUG_TYPE _Tp type;
-};
-
-#else  // _LIBCPP_HAS_NO_VARIADICS
-
-template <template <class> class _Sp, class _Tp>
-struct __pointer_traits_element_type<_Sp<_Tp>, true>
-{
-    typedef typename _Sp<_Tp>::element_type type;
-};
-
-template <template <class> class _Sp, class _Tp>
-struct __pointer_traits_element_type<_Sp<_Tp>, false>
-{
-    typedef _Tp type;
-};
-
-template <template <class, class> class _Sp, class _Tp, class _A0>
-struct __pointer_traits_element_type<_Sp<_Tp, _A0>, true>
-{
-    typedef typename _Sp<_Tp, _A0>::element_type type;
-};
-
-template <template <class, class> class _Sp, class _Tp, class _A0>
-struct __pointer_traits_element_type<_Sp<_Tp, _A0>, false>
-{
-    typedef _Tp type;
-};
-
-template <template <class, class, class> class _Sp, class _Tp, class _A0, class _A1>
-struct __pointer_traits_element_type<_Sp<_Tp, _A0, _A1>, true>
-{
-    typedef typename _Sp<_Tp, _A0, _A1>::element_type type;
-};
-
-template <template <class, class, class> class _Sp, class _Tp, class _A0, class _A1>
-struct __pointer_traits_element_type<_Sp<_Tp, _A0, _A1>, false>
-{
-    typedef _Tp type;
-};
-
-template <template <class, class, class, class> class _Sp, class _Tp, class _A0,
-                                                           class _A1, class _A2>
-struct __pointer_traits_element_type<_Sp<_Tp, _A0, _A1, _A2>, true>
-{
-    typedef typename _Sp<_Tp, _A0, _A1, _A2>::element_type type;
-};
-
-template <template <class, class, class, class> class _Sp, class _Tp, class _A0,
-                                                           class _A1, class _A2>
-struct __pointer_traits_element_type<_Sp<_Tp, _A0, _A1, _A2>, false>
-{
-    typedef _Tp type;
-};
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-template <class _Tp, class = void>
-struct __has_difference_type : false_type {};
-
-template <class _Tp>
-struct __has_difference_type<_Tp,
-            typename __void_t<typename _Tp::difference_type>::type> : true_type {};
-
-template <class _Ptr, bool = __has_difference_type<_Ptr>::value>
-struct __pointer_traits_difference_type
-{
-    typedef _LIBCPP_NODEBUG_TYPE ptrdiff_t type;
-};
-
-template <class _Ptr>
-struct __pointer_traits_difference_type<_Ptr, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Ptr::difference_type type;
-};
-
-template <class _Tp, class _Up>
-struct __has_rebind
-{
-private:
-    struct __two {char __lx; char __lxx;};
-    template <class _Xp> static __two __test(...);
-    template <class _Xp> static char __test(typename _Xp::template rebind<_Up>* = 0);
-public:
-    static const bool value = sizeof(__test<_Tp>(0)) == 1;
-};
-
-template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value>
-struct __pointer_traits_rebind
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef _LIBCPP_NODEBUG_TYPE typename _Tp::template rebind<_Up> type;
-#else
-    typedef _LIBCPP_NODEBUG_TYPE typename _Tp::template rebind<_Up>::other type;
-#endif
-};
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-
-template <template <class, class...> class _Sp, class _Tp, class ..._Args, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, true>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef _LIBCPP_NODEBUG_TYPE typename _Sp<_Tp, _Args...>::template rebind<_Up> type;
-#else
-    typedef _LIBCPP_NODEBUG_TYPE typename _Sp<_Tp, _Args...>::template rebind<_Up>::other type;
-#endif
-};
-
-template <template <class, class...> class _Sp, class _Tp, class ..._Args, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, false>
-{
-    typedef _Sp<_Up, _Args...> type;
-};
-
-#else  // _LIBCPP_HAS_NO_VARIADICS
-
-template <template <class> class _Sp, class _Tp, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp>, _Up, true>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef typename _Sp<_Tp>::template rebind<_Up> type;
-#else
-    typedef typename _Sp<_Tp>::template rebind<_Up>::other type;
-#endif
-};
-
-template <template <class> class _Sp, class _Tp, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp>, _Up, false>
-{
-    typedef _Sp<_Up> type;
-};
-
-template <template <class, class> class _Sp, class _Tp, class _A0, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp, _A0>, _Up, true>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef typename _Sp<_Tp, _A0>::template rebind<_Up> type;
-#else
-    typedef typename _Sp<_Tp, _A0>::template rebind<_Up>::other type;
-#endif
-};
-
-template <template <class, class> class _Sp, class _Tp, class _A0, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp, _A0>, _Up, false>
-{
-    typedef _Sp<_Up, _A0> type;
-};
-
-template <template <class, class, class> class _Sp, class _Tp, class _A0,
-                                         class _A1, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp, _A0, _A1>, _Up, true>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef typename _Sp<_Tp, _A0, _A1>::template rebind<_Up> type;
-#else
-    typedef typename _Sp<_Tp, _A0, _A1>::template rebind<_Up>::other type;
-#endif
-};
-
-template <template <class, class, class> class _Sp, class _Tp, class _A0,
-                                         class _A1, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp, _A0, _A1>, _Up, false>
-{
-    typedef _Sp<_Up, _A0, _A1> type;
-};
-
-template <template <class, class, class, class> class _Sp, class _Tp, class _A0,
-                                                class _A1, class _A2, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp, _A0, _A1, _A2>, _Up, true>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef typename _Sp<_Tp, _A0, _A1, _A2>::template rebind<_Up> type;
-#else
-    typedef typename _Sp<_Tp, _A0, _A1, _A2>::template rebind<_Up>::other type;
-#endif
-};
-
-template <template <class, class, class, class> class _Sp, class _Tp, class _A0,
-                                                class _A1, class _A2, class _Up>
-struct __pointer_traits_rebind<_Sp<_Tp, _A0, _A1, _A2>, _Up, false>
-{
-    typedef _Sp<_Up, _A0, _A1, _A2> type;
-};
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-template <class _Ptr>
-struct _LIBCPP_TEMPLATE_VIS pointer_traits
-{
-    typedef _Ptr                                                     pointer;
-    typedef typename __pointer_traits_element_type<pointer>::type    element_type;
-    typedef typename __pointer_traits_difference_type<pointer>::type difference_type;
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Up> using rebind = typename __pointer_traits_rebind<pointer, _Up>::type;
-#else
-    template <class _Up> struct rebind
-        {typedef typename __pointer_traits_rebind<pointer, _Up>::type other;};
-#endif  // _LIBCPP_CXX03_LANG
-
-private:
-    struct __nat {};
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    static pointer pointer_to(typename conditional<is_void<element_type>::value,
-                                           __nat, element_type>::type& __r)
-        {return pointer::pointer_to(__r);}
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS pointer_traits<_Tp*>
-{
-    typedef _Tp*      pointer;
-    typedef _Tp       element_type;
-    typedef ptrdiff_t difference_type;
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Up> using rebind = _Up*;
-#else
-    template <class _Up> struct rebind {typedef _Up* other;};
-#endif
-
-private:
-    struct __nat {};
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-    static pointer pointer_to(typename conditional<is_void<element_type>::value,
-                                      __nat, element_type>::type& __r) _NOEXCEPT
-        {return _VSTD::addressof(__r);}
-};
-
-template <class _From, class _To>
-struct __rebind_pointer {
-#ifndef _LIBCPP_CXX03_LANG
-    typedef typename pointer_traits<_From>::template rebind<_To>        type;
-#else
-    typedef typename pointer_traits<_From>::template rebind<_To>::other type;
-#endif
-};
-
-// allocator_traits
-
-template <class _Tp, class = void>
-struct __has_pointer_type : false_type {};
-
-template <class _Tp>
-struct __has_pointer_type<_Tp,
-          typename __void_t<typename _Tp::pointer>::type> : true_type {};
-
-namespace __pointer_type_imp
-{
-
-template <class _Tp, class _Dp, bool = __has_pointer_type<_Dp>::value>
-struct __pointer_type
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Dp::pointer type;
-};
-
-template <class _Tp, class _Dp>
-struct __pointer_type<_Tp, _Dp, false>
-{
-    typedef _LIBCPP_NODEBUG_TYPE _Tp* type;
-};
-
-}  // __pointer_type_imp
-
-template <class _Tp, class _Dp>
-struct __pointer_type
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename __pointer_type_imp::__pointer_type<_Tp, typename remove_reference<_Dp>::type>::type type;
-};
-
-template <class _Tp, class = void>
-struct __has_const_pointer : false_type {};
-
-template <class _Tp>
-struct __has_const_pointer<_Tp,
-            typename __void_t<typename _Tp::const_pointer>::type> : true_type {};
-
-template <class _Tp, class _Ptr, class _Alloc, bool = __has_const_pointer<_Alloc>::value>
-struct __const_pointer
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::const_pointer type;
-};
-
-template <class _Tp, class _Ptr, class _Alloc>
-struct __const_pointer<_Tp, _Ptr, _Alloc, false>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<const _Tp> type;
-#else
-    typedef typename pointer_traits<_Ptr>::template rebind<const _Tp>::other type;
-#endif
-};
-
-template <class _Tp, class = void>
-struct __has_void_pointer : false_type {};
-
-template <class _Tp>
-struct __has_void_pointer<_Tp,
-               typename __void_t<typename _Tp::void_pointer>::type> : true_type {};
-
-template <class _Ptr, class _Alloc, bool = __has_void_pointer<_Alloc>::value>
-struct __void_pointer
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::void_pointer type;
-};
-
-template <class _Ptr, class _Alloc>
-struct __void_pointer<_Ptr, _Alloc, false>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<void> type;
-#else
-    typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<void>::other type;
-#endif
-};
-
-template <class _Tp, class = void>
-struct __has_const_void_pointer : false_type {};
-
-template <class _Tp>
-struct __has_const_void_pointer<_Tp,
-            typename __void_t<typename _Tp::const_void_pointer>::type> : true_type {};
-
-template <class _Ptr, class _Alloc, bool = __has_const_void_pointer<_Alloc>::value>
-struct __const_void_pointer
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::const_void_pointer type;
-};
-
-template <class _Ptr, class _Alloc>
-struct __const_void_pointer<_Ptr, _Alloc, false>
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<const void> type;
-#else
-    typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<const void>::other type;
-#endif
-};
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-_Tp*
-__to_raw_pointer(_Tp* __p) _NOEXCEPT
-{
-    return __p;
-}
-
-#if _LIBCPP_STD_VER <= 17
-template <class _Pointer>
-inline _LIBCPP_INLINE_VISIBILITY
-typename pointer_traits<_Pointer>::element_type*
-__to_raw_pointer(_Pointer __p) _NOEXCEPT
-{
-    return _VSTD::__to_raw_pointer(__p.operator->());
-}
-#else
-template <class _Pointer>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__to_raw_pointer(const _Pointer& __p) _NOEXCEPT
--> decltype(pointer_traits<_Pointer>::to_address(__p))
-{
-    return pointer_traits<_Pointer>::to_address(__p);
-}
-
-template <class _Pointer, class... _None>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__to_raw_pointer(const _Pointer& __p, _None...) _NOEXCEPT
-{
-    return _VSTD::__to_raw_pointer(__p.operator->());
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY constexpr
-_Tp*
-to_address(_Tp* __p) _NOEXCEPT
-{
-    static_assert(!is_function_v<_Tp>, "_Tp is a function type");
-    return __p;
-}
-
-template <class _Pointer>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-to_address(const _Pointer& __p) _NOEXCEPT
-{
-    return _VSTD::__to_raw_pointer(__p);
-}
-#endif
-
-template <class _Tp, class = void>
-struct __has_size_type : false_type {};
-
-template <class _Tp>
-struct __has_size_type<_Tp,
-               typename __void_t<typename _Tp::size_type>::type> : true_type {};
-
-template <class _Alloc, class _DiffType, bool = __has_size_type<_Alloc>::value>
-struct __size_type
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename make_unsigned<_DiffType>::type type;
-};
-
-template <class _Alloc, class _DiffType>
-struct __size_type<_Alloc, _DiffType, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::size_type type;
-};
-
-template <class _Tp, class = void>
-struct __has_propagate_on_container_copy_assignment : false_type {};
-
-template <class _Tp>
-struct __has_propagate_on_container_copy_assignment<_Tp,
-    typename __void_t<typename _Tp::propagate_on_container_copy_assignment>::type>
-        : true_type {};
-
-template <class _Alloc, bool = __has_propagate_on_container_copy_assignment<_Alloc>::value>
-struct __propagate_on_container_copy_assignment
-{
-    typedef _LIBCPP_NODEBUG_TYPE false_type type;
-};
-
-template <class _Alloc>
-struct __propagate_on_container_copy_assignment<_Alloc, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::propagate_on_container_copy_assignment type;
-};
-
-template <class _Tp, class = void>
-struct __has_propagate_on_container_move_assignment : false_type {};
-
-template <class _Tp>
-struct __has_propagate_on_container_move_assignment<_Tp,
-           typename __void_t<typename _Tp::propagate_on_container_move_assignment>::type>
-               : true_type {};
-
-template <class _Alloc, bool = __has_propagate_on_container_move_assignment<_Alloc>::value>
-struct __propagate_on_container_move_assignment
-{
-    typedef false_type type;
-};
-
-template <class _Alloc>
-struct __propagate_on_container_move_assignment<_Alloc, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::propagate_on_container_move_assignment type;
-};
-
-template <class _Tp, class = void>
-struct __has_propagate_on_container_swap : false_type {};
-
-template <class _Tp>
-struct __has_propagate_on_container_swap<_Tp,
-           typename __void_t<typename _Tp::propagate_on_container_swap>::type>
-               : true_type {};
-
-template <class _Alloc, bool = __has_propagate_on_container_swap<_Alloc>::value>
-struct __propagate_on_container_swap
-{
-    typedef false_type type;
-};
-
-template <class _Alloc>
-struct __propagate_on_container_swap<_Alloc, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::propagate_on_container_swap type;
-};
-
-template <class _Tp, class = void>
-struct __has_is_always_equal : false_type {};
-
-template <class _Tp>
-struct __has_is_always_equal<_Tp,
-           typename __void_t<typename _Tp::is_always_equal>::type>
-               : true_type {};
-
-template <class _Alloc, bool = __has_is_always_equal<_Alloc>::value>
-struct __is_always_equal
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _VSTD::is_empty<_Alloc>::type type;
-};
-
-template <class _Alloc>
-struct __is_always_equal<_Alloc, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::is_always_equal type;
-};
-
-template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value>
-struct __has_rebind_other
-{
-private:
-    struct __two {char __lx; char __lxx;};
-    template <class _Xp> static __two __test(...);
-    template <class _Xp> static char __test(typename _Xp::template rebind<_Up>::other* = 0);
-public:
-    static const bool value = sizeof(__test<_Tp>(0)) == 1;
-};
-
-template <class _Tp, class _Up>
-struct __has_rebind_other<_Tp, _Up, false>
-{
-    static const bool value = false;
-};
-
-template <class _Tp, class _Up, bool = __has_rebind_other<_Tp, _Up>::value>
-struct __allocator_traits_rebind
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Tp::template rebind<_Up>::other type;
-};
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-
-template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc<_Tp, _Args...>::template rebind<_Up>::other type;
-};
-
-template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, false>
-{
-    typedef _LIBCPP_NODEBUG_TYPE _Alloc<_Up, _Args...> type;
-};
-
-#else  // _LIBCPP_HAS_NO_VARIADICS
-
-template <template <class> class _Alloc, class _Tp, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp>, _Up, true>
-{
-    typedef typename _Alloc<_Tp>::template rebind<_Up>::other type;
-};
-
-template <template <class> class _Alloc, class _Tp, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp>, _Up, false>
-{
-    typedef _Alloc<_Up> type;
-};
-
-template <template <class, class> class _Alloc, class _Tp, class _A0, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp, _A0>, _Up, true>
-{
-    typedef typename _Alloc<_Tp, _A0>::template rebind<_Up>::other type;
-};
-
-template <template <class, class> class _Alloc, class _Tp, class _A0, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp, _A0>, _Up, false>
-{
-    typedef _Alloc<_Up, _A0> type;
-};
-
-template <template <class, class, class> class _Alloc, class _Tp, class _A0,
-                                         class _A1, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1>, _Up, true>
-{
-    typedef typename _Alloc<_Tp, _A0, _A1>::template rebind<_Up>::other type;
-};
-
-template <template <class, class, class> class _Alloc, class _Tp, class _A0,
-                                         class _A1, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1>, _Up, false>
-{
-    typedef _Alloc<_Up, _A0, _A1> type;
-};
-
-template <template <class, class, class, class> class _Alloc, class _Tp, class _A0,
-                                                class _A1, class _A2, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1, _A2>, _Up, true>
-{
-    typedef typename _Alloc<_Tp, _A0, _A1, _A2>::template rebind<_Up>::other type;
-};
-
-template <template <class, class, class, class> class _Alloc, class _Tp, class _A0,
-                                                class _A1, class _A2, class _Up>
-struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1, _A2>, _Up, false>
-{
-    typedef _Alloc<_Up, _A0, _A1, _A2> type;
-};
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Alloc, class _SizeType, class _ConstVoidPtr>
-auto
-__has_allocate_hint_test(_Alloc&& __a, _SizeType&& __sz, _ConstVoidPtr&& __p)
-    -> decltype((void)__a.allocate(__sz, __p), true_type());
-
-template <class _Alloc, class _SizeType, class _ConstVoidPtr>
-auto
-__has_allocate_hint_test(const _Alloc& __a, _SizeType&& __sz, _ConstVoidPtr&& __p)
-    -> false_type;
-
-template <class _Alloc, class _SizeType, class _ConstVoidPtr>
-struct __has_allocate_hint
-    : integral_constant<bool,
-        is_same<
-            decltype(_VSTD::__has_allocate_hint_test(declval<_Alloc>(),
-                                          declval<_SizeType>(),
-                                          declval<_ConstVoidPtr>())),
-            true_type>::value>
-{
-};
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _Alloc, class _SizeType, class _ConstVoidPtr>
-struct __has_allocate_hint
-    : true_type
-{
-};
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#if !defined(_LIBCPP_CXX03_LANG)
-
-template <class _Alloc, class _Tp, class ..._Args>
-decltype(_VSTD::declval<_Alloc>().construct(_VSTD::declval<_Tp*>(),
-                                           _VSTD::declval<_Args>()...),
-                                           true_type())
-__has_construct_test(_Alloc&& __a, _Tp* __p, _Args&& ...__args);
-
-template <class _Alloc, class _Pointer, class ..._Args>
-false_type
-__has_construct_test(const _Alloc& __a, _Pointer&& __p, _Args&& ...__args);
-
-template <class _Alloc, class _Pointer, class ..._Args>
-struct __has_construct
-    : integral_constant<bool,
-        is_same<
-            decltype(_VSTD::__has_construct_test(declval<_Alloc>(),
-                                          declval<_Pointer>(),
-                                          declval<_Args>()...)),
-            true_type>::value>
-{
-};
-
-template <class _Alloc, class _Pointer>
-auto
-__has_destroy_test(_Alloc&& __a, _Pointer&& __p)
-    -> decltype(__a.destroy(__p), true_type());
-
-template <class _Alloc, class _Pointer>
-auto
-__has_destroy_test(const _Alloc& __a, _Pointer&& __p)
-    -> false_type;
-
-template <class _Alloc, class _Pointer>
-struct __has_destroy
-    : integral_constant<bool,
-        is_same<
-            decltype(_VSTD::__has_destroy_test(declval<_Alloc>(),
-                                        declval<_Pointer>())),
-            true_type>::value>
-{
-};
-
-template <class _Alloc>
-auto
-__has_max_size_test(_Alloc&& __a)
-    -> decltype(__a.max_size(), true_type());
-
-template <class _Alloc>
-auto
-__has_max_size_test(const volatile _Alloc& __a)
-    -> false_type;
-
-template <class _Alloc>
-struct __has_max_size
-    : integral_constant<bool,
-        is_same<
-            decltype(_VSTD::__has_max_size_test(declval<_Alloc&>())),
-            true_type>::value>
-{
-};
-
-template <class _Alloc>
-auto
-__has_select_on_container_copy_construction_test(_Alloc&& __a)
-    -> decltype(__a.select_on_container_copy_construction(), true_type());
-
-template <class _Alloc>
-auto
-__has_select_on_container_copy_construction_test(const volatile _Alloc& __a)
-    -> false_type;
-
-template <class _Alloc>
-struct __has_select_on_container_copy_construction
-    : integral_constant<bool,
-        is_same<
-            decltype(_VSTD::__has_select_on_container_copy_construction_test(declval<_Alloc&>())),
-            true_type>::value>
-{
-};
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _Alloc, class _Pointer, class _Tp, class = void>
-struct __has_construct : std::false_type {};
-
-template <class _Alloc, class _Pointer, class _Tp>
-struct __has_construct<_Alloc, _Pointer, _Tp, typename __void_t<
-    decltype(_VSTD::declval<_Alloc>().construct(_VSTD::declval<_Pointer>(), _VSTD::declval<_Tp>()))
->::type> : std::true_type {};
-
-template <class _Alloc, class _Pointer, class = void>
-struct __has_destroy : false_type {};
-
-template <class _Alloc, class _Pointer>
-struct __has_destroy<_Alloc, _Pointer, typename __void_t<
-    decltype(_VSTD::declval<_Alloc>().destroy(_VSTD::declval<_Pointer>()))
->::type> : std::true_type {};
-
-template <class _Alloc>
-struct __has_max_size
-    : true_type
-{
-};
-
-template <class _Alloc>
-struct __has_select_on_container_copy_construction
-    : false_type
-{
-};
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Alloc, class _Ptr, bool = __has_difference_type<_Alloc>::value>
-struct __alloc_traits_difference_type
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::difference_type type;
-};
-
-template <class _Alloc, class _Ptr>
-struct __alloc_traits_difference_type<_Alloc, _Ptr, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::difference_type type;
-};
-
-template <class _Tp>
-struct __is_default_allocator : false_type {};
-
-template <class _Tp>
-struct __is_default_allocator<_VSTD::allocator<_Tp> > : true_type {};
-
-template <class _Alloc>
-struct _LIBCPP_TEMPLATE_VIS allocator_traits
-{
-    typedef _Alloc                              allocator_type;
-    typedef typename allocator_type::value_type value_type;
-
-    typedef typename __pointer_type<value_type, allocator_type>::type pointer;
-    typedef typename __const_pointer<value_type, pointer, allocator_type>::type const_pointer;
-    typedef typename __void_pointer<pointer, allocator_type>::type void_pointer;
-    typedef typename __const_void_pointer<pointer, allocator_type>::type const_void_pointer;
-
-    typedef typename __alloc_traits_difference_type<allocator_type, pointer>::type difference_type;
-    typedef typename __size_type<allocator_type, difference_type>::type size_type;
-
-    typedef typename __propagate_on_container_copy_assignment<allocator_type>::type
-                     propagate_on_container_copy_assignment;
-    typedef typename __propagate_on_container_move_assignment<allocator_type>::type
-                     propagate_on_container_move_assignment;
-    typedef typename __propagate_on_container_swap<allocator_type>::type
-                     propagate_on_container_swap;
-    typedef typename __is_always_equal<allocator_type>::type
-                     is_always_equal;
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Tp> using rebind_alloc =
-                  typename __allocator_traits_rebind<allocator_type, _Tp>::type;
-    template <class _Tp> using rebind_traits = allocator_traits<rebind_alloc<_Tp> >;
-#else  // _LIBCPP_CXX03_LANG
-    template <class _Tp> struct rebind_alloc
-        {typedef typename __allocator_traits_rebind<allocator_type, _Tp>::type other;};
-    template <class _Tp> struct rebind_traits
-        {typedef allocator_traits<typename rebind_alloc<_Tp>::other> other;};
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    static pointer allocate(allocator_type& __a, size_type __n)
-        {return __a.allocate(__n);}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
-        {return __allocate(__a, __n, __hint,
-            __has_allocate_hint<allocator_type, size_type, const_void_pointer>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void deallocate(allocator_type& __a, pointer __p, size_type __n) _NOEXCEPT
-        {__a.deallocate(__p, __n);}
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-    template <class _Tp, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        static void construct(allocator_type& __a, _Tp* __p, _Args&&... __args)
-            {__construct(__has_construct<allocator_type, _Tp*, _Args...>(),
-                         __a, __p, _VSTD::forward<_Args>(__args)...);}
-#else  // _LIBCPP_HAS_NO_VARIADICS
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        static void construct(allocator_type&, _Tp* __p)
-            {
-                ::new ((void*)__p) _Tp();
-            }
-    template <class _Tp, class _A0>
-        _LIBCPP_INLINE_VISIBILITY
-        static void construct(allocator_type& __a, _Tp* __p, const _A0& __a0)
-            {
-                __construct(__has_construct<allocator_type, _Tp*, const _A0&>(),
-                            __a, __p, __a0);
-            }
-    template <class _Tp, class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        static void construct(allocator_type&, _Tp* __p, const _A0& __a0,
-                              const _A1& __a1)
-            {
-                ::new ((void*)__p) _Tp(__a0, __a1);
-            }
-    template <class _Tp, class _A0, class _A1, class _A2>
-        _LIBCPP_INLINE_VISIBILITY
-        static void construct(allocator_type&, _Tp* __p, const _A0& __a0,
-                              const _A1& __a1, const _A2& __a2)
-            {
-                ::new ((void*)__p) _Tp(__a0, __a1, __a2);
-            }
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        static void destroy(allocator_type& __a, _Tp* __p)
-            {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    static size_type max_size(const allocator_type& __a) _NOEXCEPT
-        {return __max_size(__has_max_size<const allocator_type>(), __a);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    static allocator_type
-        select_on_container_copy_construction(const allocator_type& __a)
-            {return __select_on_container_copy_construction(
-                __has_select_on_container_copy_construction<const allocator_type>(),
-                __a);}
-
-    template <class _Ptr>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        void
-        __construct_forward(allocator_type& __a, _Ptr __begin1, _Ptr __end1, _Ptr& __begin2)
-        {
-            for (; __begin1 != __end1; ++__begin1, (void) ++__begin2)
-                construct(__a, _VSTD::__to_raw_pointer(__begin2), _VSTD::move_if_noexcept(*__begin1));
-        }
-
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            (__is_default_allocator<allocator_type>::value
-                || !__has_construct<allocator_type, _Tp*, _Tp>::value) &&
-             is_trivially_move_constructible<_Tp>::value,
-            void
-        >::type
-        __construct_forward(allocator_type&, _Tp* __begin1, _Tp* __end1, _Tp*& __begin2)
-        {
-            ptrdiff_t _Np = __end1 - __begin1;
-            if (_Np > 0)
-            {
-                _VSTD::memcpy(__begin2, __begin1, _Np * sizeof(_Tp));
-                __begin2 += _Np;
-            }
-        }
-
-    template <class _Iter, class _Ptr>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        void
-        __construct_range_forward(allocator_type& __a, _Iter __begin1, _Iter __end1, _Ptr& __begin2)
-        {
-            for (; __begin1 != __end1; ++__begin1, (void) ++__begin2)
-                construct(__a, _VSTD::__to_raw_pointer(__begin2), *__begin1);
-        }
-
-    template <class _SourceTp, class _DestTp,
-              class _RawSourceTp = typename remove_const<_SourceTp>::type,
-              class _RawDestTp = typename remove_const<_DestTp>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            is_trivially_move_constructible<_DestTp>::value &&
-            is_same<_RawSourceTp, _RawDestTp>::value &&
-            (__is_default_allocator<allocator_type>::value ||
-             !__has_construct<allocator_type, _DestTp*, _SourceTp&>::value),
-            void
-        >::type
-        __construct_range_forward(allocator_type&, _SourceTp* __begin1, _SourceTp* __end1, _DestTp*& __begin2)
-        {
-            ptrdiff_t _Np = __end1 - __begin1;
-            if (_Np > 0)
-            {
-                _VSTD::memcpy(const_cast<_RawDestTp*>(__begin2), __begin1, _Np * sizeof(_DestTp));
-                __begin2 += _Np;
-            }
-        }
-
-    template <class _Ptr>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        void
-        __construct_backward(allocator_type& __a, _Ptr __begin1, _Ptr __end1, _Ptr& __end2)
-        {
-            while (__end1 != __begin1)
-            {
-                construct(__a, _VSTD::__to_raw_pointer(__end2-1), _VSTD::move_if_noexcept(*--__end1));
-                --__end2;
-            }
-        }
-
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            (__is_default_allocator<allocator_type>::value
-                || !__has_construct<allocator_type, _Tp*, _Tp>::value) &&
-             is_trivially_move_constructible<_Tp>::value,
-            void
-        >::type
-        __construct_backward(allocator_type&, _Tp* __begin1, _Tp* __end1, _Tp*& __end2)
-        {
-            ptrdiff_t _Np = __end1 - __begin1;
-            __end2 -= _Np;
-            if (_Np > 0)
-                _VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp));
-        }
-
-private:
-
-    _LIBCPP_INLINE_VISIBILITY
-    static pointer __allocate(allocator_type& __a, size_type __n,
-        const_void_pointer __hint, true_type)
-        {return __a.allocate(__n, __hint);}
-    _LIBCPP_INLINE_VISIBILITY
-    static pointer __allocate(allocator_type& __a, size_type __n,
-        const_void_pointer, false_type)
-        {return __a.allocate(__n);}
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-    template <class _Tp, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        static void __construct(true_type, allocator_type& __a, _Tp* __p, _Args&&... __args)
-            {__a.construct(__p, _VSTD::forward<_Args>(__args)...);}
-    template <class _Tp, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        static void __construct(false_type, allocator_type&, _Tp* __p, _Args&&... __args)
-            {
-                ::new ((void*)__p) _Tp(_VSTD::forward<_Args>(__args)...);
-            }
-#else  // _LIBCPP_HAS_NO_VARIADICS
-    template <class _Tp, class _A0>
-        _LIBCPP_INLINE_VISIBILITY
-        static void __construct(true_type, allocator_type& __a, _Tp* __p,
-                                const _A0& __a0)
-            {__a.construct(__p, __a0);}
-    template <class _Tp, class _A0>
-        _LIBCPP_INLINE_VISIBILITY
-        static void __construct(false_type, allocator_type&, _Tp* __p,
-                                const _A0& __a0)
-            {
-                ::new ((void*)__p) _Tp(__a0);
-            }
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        static void __destroy(true_type, allocator_type& __a, _Tp* __p)
-            {__a.destroy(__p);}
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        static void __destroy(false_type, allocator_type&, _Tp* __p)
-            {
-                __p->~_Tp();
-            }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static size_type __max_size(true_type, const allocator_type& __a) _NOEXCEPT
-            {return __a.max_size();}
-    _LIBCPP_INLINE_VISIBILITY
-    static size_type __max_size(false_type, const allocator_type&) _NOEXCEPT
-            {return numeric_limits<size_type>::max() / sizeof(value_type);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    static allocator_type
-        __select_on_container_copy_construction(true_type, const allocator_type& __a)
-            {return __a.select_on_container_copy_construction();}
-    _LIBCPP_INLINE_VISIBILITY
-    static allocator_type
-        __select_on_container_copy_construction(false_type, const allocator_type& __a)
-            {return __a;}
-};
-
-template <class _Traits, class _Tp>
-struct __rebind_alloc_helper
-{
-#ifndef _LIBCPP_CXX03_LANG
-    typedef _LIBCPP_NODEBUG_TYPE typename _Traits::template rebind_alloc<_Tp>        type;
-#else
-    typedef typename _Traits::template rebind_alloc<_Tp>::other type;
-#endif
-};
-
-// allocator
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS allocator
-{
-public:
-    typedef size_t            size_type;
-    typedef ptrdiff_t         difference_type;
-    typedef _Tp*              pointer;
-    typedef const _Tp*        const_pointer;
-    typedef _Tp&              reference;
-    typedef const _Tp&        const_reference;
-    typedef _Tp               value_type;
-
-    typedef true_type propagate_on_container_move_assignment;
-    typedef true_type is_always_equal;
-
-    template <class _Up> struct rebind {typedef allocator<_Up> other;};
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-    allocator() _NOEXCEPT {}
-
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-    allocator(const allocator<_Up>&) _NOEXCEPT {}
-
-    _LIBCPP_INLINE_VISIBILITY pointer address(reference __x) const _NOEXCEPT
-        {return _VSTD::addressof(__x);}
-    _LIBCPP_INLINE_VISIBILITY const_pointer address(const_reference __x) const _NOEXCEPT
-        {return _VSTD::addressof(__x);}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    pointer allocate(size_type __n, allocator<void>::const_pointer = 0)
-        {
-        if (__n > max_size())
-            __throw_length_error("allocator<T>::allocate(size_t n)"
-                                 " 'n' exceeds maximum supported size");
-        return static_cast<pointer>(_VSTD::__libcpp_allocate(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)));
-        }
-    _LIBCPP_INLINE_VISIBILITY void deallocate(pointer __p, size_type __n) _NOEXCEPT
-        {_VSTD::__libcpp_deallocate((void*)__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));}
-    _LIBCPP_INLINE_VISIBILITY size_type max_size() const _NOEXCEPT
-        {return size_type(~0) / sizeof(_Tp);}
-#if !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS)
-    template <class _Up, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(_Up* __p, _Args&&... __args)
-        {
-            ::new((void*)__p) _Up(_VSTD::forward<_Args>(__args)...);
-        }
-#else  // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS)
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p)
-        {
-            ::new((void*)__p) _Tp();
-        }
-# if defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES)
-
-    template <class _A0>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, _A0& __a0)
-        {
-            ::new((void*)__p) _Tp(__a0);
-        }
-    template <class _A0>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, const _A0& __a0)
-        {
-            ::new((void*)__p) _Tp(__a0);
-        }
-# endif  // defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES)
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, _A0& __a0, _A1& __a1)
-        {
-            ::new((void*)__p) _Tp(__a0, __a1);
-        }
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, const _A0& __a0, _A1& __a1)
-        {
-            ::new((void*)__p) _Tp(__a0, __a1);
-        }
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, _A0& __a0, const _A1& __a1)
-        {
-            ::new((void*)__p) _Tp(__a0, __a1);
-        }
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, const _A0& __a0, const _A1& __a1)
-        {
-            ::new((void*)__p) _Tp(__a0, __a1);
-        }
-#endif  // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS)
-    _LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
-};
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS allocator<const _Tp>
-{
-public:
-    typedef size_t            size_type;
-    typedef ptrdiff_t         difference_type;
-    typedef const _Tp*        pointer;
-    typedef const _Tp*        const_pointer;
-    typedef const _Tp&        reference;
-    typedef const _Tp&        const_reference;
-    typedef const _Tp         value_type;
-
-    typedef true_type propagate_on_container_move_assignment;
-    typedef true_type is_always_equal;
-
-    template <class _Up> struct rebind {typedef allocator<_Up> other;};
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-    allocator() _NOEXCEPT {}
-
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-    allocator(const allocator<_Up>&) _NOEXCEPT {}
-
-    _LIBCPP_INLINE_VISIBILITY const_pointer address(const_reference __x) const _NOEXCEPT
-        {return _VSTD::addressof(__x);}
-    _LIBCPP_INLINE_VISIBILITY pointer allocate(size_type __n, allocator<void>::const_pointer = 0)
-    {
-        if (__n > max_size())
-            __throw_length_error("allocator<const T>::allocate(size_t n)"
-                                 " 'n' exceeds maximum supported size");
-        return static_cast<pointer>(_VSTD::__libcpp_allocate(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)));
-    }
-    _LIBCPP_INLINE_VISIBILITY void deallocate(pointer __p, size_type __n) _NOEXCEPT
-        {_VSTD::__libcpp_deallocate((void*) const_cast<_Tp *>(__p), __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));}
-    _LIBCPP_INLINE_VISIBILITY size_type max_size() const _NOEXCEPT
-        {return size_type(~0) / sizeof(_Tp);}
-#if !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS)
-    template <class _Up, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(_Up* __p, _Args&&... __args)
-        {
-            ::new((void*)__p) _Up(_VSTD::forward<_Args>(__args)...);
-        }
-#else  // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS)
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p)
-        {
-            ::new((void*) const_cast<_Tp *>(__p)) _Tp();
-        }
-# if defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES)
-
-    template <class _A0>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, _A0& __a0)
-        {
-            ::new((void*) const_cast<_Tp *>(__p)) _Tp(__a0);
-        }
-    template <class _A0>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, const _A0& __a0)
-        {
-            ::new((void*) const_cast<_Tp *>(__p)) _Tp(__a0);
-        }
-# endif  // defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES)
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, _A0& __a0, _A1& __a1)
-        {
-            ::new((void*) const_cast<_Tp *>(__p)) _Tp(__a0, __a1);
-        }
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, const _A0& __a0, _A1& __a1)
-        {
-            ::new((void*) const_cast<_Tp *>(__p)) _Tp(__a0, __a1);
-        }
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, _A0& __a0, const _A1& __a1)
-        {
-            ::new((void*) const_cast<_Tp *>(__p)) _Tp(__a0, __a1);
-        }
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        void
-        construct(pointer __p, const _A0& __a0, const _A1& __a1)
-        {
-            ::new((void*) const_cast<_Tp *>(__p)) _Tp(__a0, __a1);
-        }
-#endif  // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS)
-    _LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
-};
-
-template <class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator==(const allocator<_Tp>&, const allocator<_Up>&) _NOEXCEPT {return true;}
-
-template <class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator!=(const allocator<_Tp>&, const allocator<_Up>&) _NOEXCEPT {return false;}
-
-template <class _OutputIterator, class _Tp>
-class _LIBCPP_TEMPLATE_VIS raw_storage_iterator
-    : public iterator<output_iterator_tag,
-                      _Tp,                                         // purposefully not C++03
-                      ptrdiff_t,                                   // purposefully not C++03
-                      _Tp*,                                        // purposefully not C++03
-                      raw_storage_iterator<_OutputIterator, _Tp>&> // purposefully not C++03
-{
-private:
-    _OutputIterator __x_;
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit raw_storage_iterator(_OutputIterator __x) : __x_(__x) {}
-    _LIBCPP_INLINE_VISIBILITY raw_storage_iterator& operator*() {return *this;}
-    _LIBCPP_INLINE_VISIBILITY raw_storage_iterator& operator=(const _Tp& __element)
-        {::new(_VSTD::addressof(*__x_)) _Tp(__element); return *this;}
-#if _LIBCPP_STD_VER >= 14
-    _LIBCPP_INLINE_VISIBILITY raw_storage_iterator& operator=(_Tp&& __element)
-        {::new(_VSTD::addressof(*__x_)) _Tp(_VSTD::move(__element)); return *this;}
-#endif
-    _LIBCPP_INLINE_VISIBILITY raw_storage_iterator& operator++() {++__x_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY raw_storage_iterator  operator++(int)
-        {raw_storage_iterator __t(*this); ++__x_; return __t;}
-#if _LIBCPP_STD_VER >= 14
-    _LIBCPP_INLINE_VISIBILITY _OutputIterator base() const { return __x_; }
-#endif
-};
-
-template <class _Tp>
-_LIBCPP_NODISCARD_EXT _LIBCPP_NO_CFI
-pair<_Tp*, ptrdiff_t>
-get_temporary_buffer(ptrdiff_t __n) _NOEXCEPT
-{
-    pair<_Tp*, ptrdiff_t> __r(0, 0);
-    const ptrdiff_t __m = (~ptrdiff_t(0) ^
-                           ptrdiff_t(ptrdiff_t(1) << (sizeof(ptrdiff_t) * __CHAR_BIT__ - 1)))
-                           / sizeof(_Tp);
-    if (__n > __m)
-        __n = __m;
-    while (__n > 0)
-    {
-#if !defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION)
-    if (__is_overaligned_for_new(_LIBCPP_ALIGNOF(_Tp)))
-        {
-            std::align_val_t __al =
-                std::align_val_t(std::alignment_of<_Tp>::value);
-            __r.first = static_cast<_Tp*>(::operator new(
-                __n * sizeof(_Tp), __al, nothrow));
-        } else {
-            __r.first = static_cast<_Tp*>(::operator new(
-                __n * sizeof(_Tp), nothrow));
-        }
-#else
-    if (__is_overaligned_for_new(_LIBCPP_ALIGNOF(_Tp)))
-        {
-            // Since aligned operator new is unavailable, return an empty
-            // buffer rather than one with invalid alignment.
-            return __r;
-        }
-
-        __r.first = static_cast<_Tp*>(::operator new(__n * sizeof(_Tp), nothrow));
-#endif
-
-        if (__r.first)
-        {
-            __r.second = __n;
-            break;
-        }
-        __n /= 2;
-    }
-    return __r;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-void return_temporary_buffer(_Tp* __p) _NOEXCEPT
-{
-  _VSTD::__libcpp_deallocate_unsized((void*)__p, _LIBCPP_ALIGNOF(_Tp));
-}
-
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-template <class _Tp>
-struct _LIBCPP_DEPRECATED_IN_CXX11 auto_ptr_ref
-{
-    _Tp* __ptr_;
-};
-
-template<class _Tp>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 auto_ptr
-{
-private:
-    _Tp* __ptr_;
-public:
-    typedef _Tp element_type;
-
-    _LIBCPP_INLINE_VISIBILITY explicit auto_ptr(_Tp* __p = 0) throw() : __ptr_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr& __p) throw() : __ptr_(__p.release()) {}
-    template<class _Up> _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr<_Up>& __p) throw()
-        : __ptr_(__p.release()) {}
-    _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr& __p) throw()
-        {reset(__p.release()); return *this;}
-    template<class _Up> _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr<_Up>& __p) throw()
-        {reset(__p.release()); return *this;}
-    _LIBCPP_INLINE_VISIBILITY auto_ptr& operator=(auto_ptr_ref<_Tp> __p) throw()
-        {reset(__p.__ptr_); return *this;}
-    _LIBCPP_INLINE_VISIBILITY ~auto_ptr() throw() {delete __ptr_;}
-
-    _LIBCPP_INLINE_VISIBILITY _Tp& operator*() const throw()
-        {return *__ptr_;}
-    _LIBCPP_INLINE_VISIBILITY _Tp* operator->() const throw() {return __ptr_;}
-    _LIBCPP_INLINE_VISIBILITY _Tp* get() const throw() {return __ptr_;}
-    _LIBCPP_INLINE_VISIBILITY _Tp* release() throw()
-    {
-        _Tp* __t = __ptr_;
-        __ptr_ = 0;
-        return __t;
-    }
-    _LIBCPP_INLINE_VISIBILITY void reset(_Tp* __p = 0) throw()
-    {
-        if (__ptr_ != __p)
-            delete __ptr_;
-        __ptr_ = __p;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr_ref<_Tp> __p) throw() : __ptr_(__p.__ptr_) {}
-    template<class _Up> _LIBCPP_INLINE_VISIBILITY operator auto_ptr_ref<_Up>() throw()
-        {auto_ptr_ref<_Up> __t; __t.__ptr_ = release(); return __t;}
-    template<class _Up> _LIBCPP_INLINE_VISIBILITY operator auto_ptr<_Up>() throw()
-        {return auto_ptr<_Up>(release());}
-};
-
-template <>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 auto_ptr<void>
-{
-public:
-    typedef void element_type;
-};
-#endif
-
-template <class _Tp, int _Idx,
-          bool _CanBeEmptyBase =
-              is_empty<_Tp>::value && !__libcpp_is_final<_Tp>::value>
-struct __compressed_pair_elem {
-  typedef _Tp _ParamT;
-  typedef _Tp& reference;
-  typedef const _Tp& const_reference;
-
-#ifndef _LIBCPP_CXX03_LANG
-  _LIBCPP_INLINE_VISIBILITY constexpr __compressed_pair_elem() : __value_() {}
-
-  template <class _Up, class = typename enable_if<
-      !is_same<__compressed_pair_elem, typename decay<_Up>::type>::value
-  >::type>
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr explicit
-  __compressed_pair_elem(_Up&& __u)
-      : __value_(_VSTD::forward<_Up>(__u))
-    {
-    }
-
-  template <class... _Args, size_t... _Indexes>
-  _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-  __compressed_pair_elem(piecewise_construct_t, tuple<_Args...> __args,
-                         __tuple_indices<_Indexes...>)
-      : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
-#else
-  _LIBCPP_INLINE_VISIBILITY __compressed_pair_elem() : __value_() {}
-  _LIBCPP_INLINE_VISIBILITY
-  __compressed_pair_elem(_ParamT __p) : __value_(std::forward<_ParamT>(__p)) {}
-#endif
-
-  _LIBCPP_INLINE_VISIBILITY reference __get() _NOEXCEPT { return __value_; }
-  _LIBCPP_INLINE_VISIBILITY
-  const_reference __get() const _NOEXCEPT { return __value_; }
-
-private:
-  _Tp __value_;
-};
-
-template <class _Tp, int _Idx>
-struct __compressed_pair_elem<_Tp, _Idx, true> : private _Tp {
-  typedef _Tp _ParamT;
-  typedef _Tp& reference;
-  typedef const _Tp& const_reference;
-  typedef _Tp __value_type;
-
-#ifndef _LIBCPP_CXX03_LANG
-  _LIBCPP_INLINE_VISIBILITY constexpr __compressed_pair_elem() = default;
-
-  template <class _Up, class = typename enable_if<
-        !is_same<__compressed_pair_elem, typename decay<_Up>::type>::value
-  >::type>
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr explicit
-  __compressed_pair_elem(_Up&& __u)
-      : __value_type(_VSTD::forward<_Up>(__u))
-  {}
-
-  template <class... _Args, size_t... _Indexes>
-  _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-  __compressed_pair_elem(piecewise_construct_t, tuple<_Args...> __args,
-                         __tuple_indices<_Indexes...>)
-      : __value_type(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
-#else
-  _LIBCPP_INLINE_VISIBILITY __compressed_pair_elem() : __value_type() {}
-  _LIBCPP_INLINE_VISIBILITY
-  __compressed_pair_elem(_ParamT __p)
-      : __value_type(std::forward<_ParamT>(__p)) {}
-#endif
-
-  _LIBCPP_INLINE_VISIBILITY reference __get() _NOEXCEPT { return *this; }
-  _LIBCPP_INLINE_VISIBILITY
-  const_reference __get() const _NOEXCEPT { return *this; }
-};
-
-// Tag used to construct the second element of the compressed pair.
-struct __second_tag {};
-
-template <class _T1, class _T2>
-class __compressed_pair : private __compressed_pair_elem<_T1, 0>,
-                          private __compressed_pair_elem<_T2, 1> {
-  typedef _LIBCPP_NODEBUG_TYPE __compressed_pair_elem<_T1, 0> _Base1;
-  typedef _LIBCPP_NODEBUG_TYPE __compressed_pair_elem<_T2, 1> _Base2;
-
-  // NOTE: This static assert should never fire because __compressed_pair
-  // is *almost never* used in a scenario where it's possible for T1 == T2.
-  // (The exception is std::function where it is possible that the function
-  //  object and the allocator have the same type).
-  static_assert((!is_same<_T1, _T2>::value),
-    "__compressed_pair cannot be instantated when T1 and T2 are the same type; "
-    "The current implementation is NOT ABI-compatible with the previous "
-    "implementation for this configuration");
-
-public:
-#ifndef _LIBCPP_CXX03_LANG
-  template <bool _Dummy = true,
-      class = typename enable_if<
-          __dependent_type<is_default_constructible<_T1>, _Dummy>::value &&
-          __dependent_type<is_default_constructible<_T2>, _Dummy>::value
-      >::type
-  >
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr __compressed_pair() {}
-
-  template <class _Tp, typename enable_if<!is_same<typename decay<_Tp>::type,
-                                                   __compressed_pair>::value,
-                                          bool>::type = true>
-  _LIBCPP_INLINE_VISIBILITY constexpr explicit
-  __compressed_pair(_Tp&& __t)
-      : _Base1(std::forward<_Tp>(__t)), _Base2() {}
-
-  template <class _Tp>
-  _LIBCPP_INLINE_VISIBILITY constexpr
-  __compressed_pair(__second_tag, _Tp&& __t)
-      : _Base1(), _Base2(std::forward<_Tp>(__t)) {}
-
-  template <class _U1, class _U2>
-  _LIBCPP_INLINE_VISIBILITY constexpr
-  __compressed_pair(_U1&& __t1, _U2&& __t2)
-      : _Base1(std::forward<_U1>(__t1)), _Base2(std::forward<_U2>(__t2)) {}
-
-  template <class... _Args1, class... _Args2>
-  _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14
-  __compressed_pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args,
-                    tuple<_Args2...> __second_args)
-      : _Base1(__pc, _VSTD::move(__first_args),
-               typename __make_tuple_indices<sizeof...(_Args1)>::type()),
-        _Base2(__pc, _VSTD::move(__second_args),
-               typename __make_tuple_indices<sizeof...(_Args2)>::type()) {}
-
-#else
-  _LIBCPP_INLINE_VISIBILITY
-  __compressed_pair() {}
-
-  _LIBCPP_INLINE_VISIBILITY explicit
-  __compressed_pair(_T1 __t1) : _Base1(_VSTD::forward<_T1>(__t1)) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  __compressed_pair(__second_tag, _T2 __t2)
-      : _Base1(), _Base2(_VSTD::forward<_T2>(__t2)) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  __compressed_pair(_T1 __t1, _T2 __t2)
-      : _Base1(_VSTD::forward<_T1>(__t1)), _Base2(_VSTD::forward<_T2>(__t2)) {}
-#endif
-
-  _LIBCPP_INLINE_VISIBILITY
-  typename _Base1::reference first() _NOEXCEPT {
-    return static_cast<_Base1&>(*this).__get();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  typename _Base1::const_reference first() const _NOEXCEPT {
-    return static_cast<_Base1 const&>(*this).__get();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  typename _Base2::reference second() _NOEXCEPT {
-    return static_cast<_Base2&>(*this).__get();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  typename _Base2::const_reference second() const _NOEXCEPT {
-    return static_cast<_Base2 const&>(*this).__get();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void swap(__compressed_pair& __x)
-    _NOEXCEPT_(__is_nothrow_swappable<_T1>::value &&
-               __is_nothrow_swappable<_T2>::value)
-  {
-    using std::swap;
-    swap(first(), __x.first());
-    swap(second(), __x.second());
-  }
-};
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-void swap(__compressed_pair<_T1, _T2>& __x, __compressed_pair<_T1, _T2>& __y)
-    _NOEXCEPT_(__is_nothrow_swappable<_T1>::value &&
-               __is_nothrow_swappable<_T2>::value) {
-  __x.swap(__y);
-}
-
-// default_delete
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS default_delete {
-    static_assert(!is_function<_Tp>::value,
-                  "default_delete cannot be instantiated for function types");
-#ifndef _LIBCPP_CXX03_LANG
-  _LIBCPP_INLINE_VISIBILITY constexpr default_delete() _NOEXCEPT = default;
-#else
-  _LIBCPP_INLINE_VISIBILITY default_delete() {}
-#endif
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-  default_delete(const default_delete<_Up>&,
-                 typename enable_if<is_convertible<_Up*, _Tp*>::value>::type* =
-                     0) _NOEXCEPT {}
-
-  _LIBCPP_INLINE_VISIBILITY void operator()(_Tp* __ptr) const _NOEXCEPT {
-    static_assert(sizeof(_Tp) > 0,
-                  "default_delete can not delete incomplete type");
-    static_assert(!is_void<_Tp>::value,
-                  "default_delete can not delete incomplete type");
-    delete __ptr;
-  }
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS default_delete<_Tp[]> {
-private:
-  template <class _Up>
-  struct _EnableIfConvertible
-      : enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value> {};
-
-public:
-#ifndef _LIBCPP_CXX03_LANG
-  _LIBCPP_INLINE_VISIBILITY constexpr default_delete() _NOEXCEPT = default;
-#else
-  _LIBCPP_INLINE_VISIBILITY default_delete() {}
-#endif
-
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-  default_delete(const default_delete<_Up[]>&,
-                 typename _EnableIfConvertible<_Up>::type* = 0) _NOEXCEPT {}
-
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-  typename _EnableIfConvertible<_Up>::type
-  operator()(_Up* __ptr) const _NOEXCEPT {
-    static_assert(sizeof(_Tp) > 0,
-                  "default_delete can not delete incomplete type");
-    static_assert(!is_void<_Tp>::value,
-                  "default_delete can not delete void type");
-    delete[] __ptr;
-  }
-};
-
-template <class _Deleter>
-struct __unique_ptr_deleter_sfinae {
-  static_assert(!is_reference<_Deleter>::value, "incorrect specialization");
-  typedef const _Deleter& __lval_ref_type;
-  typedef _Deleter&& __good_rval_ref_type;
-  typedef true_type __enable_rval_overload;
-};
-
-template <class _Deleter>
-struct __unique_ptr_deleter_sfinae<_Deleter const&> {
-  typedef const _Deleter& __lval_ref_type;
-  typedef const _Deleter&& __bad_rval_ref_type;
-  typedef false_type __enable_rval_overload;
-};
-
-template <class _Deleter>
-struct __unique_ptr_deleter_sfinae<_Deleter&> {
-  typedef _Deleter& __lval_ref_type;
-  typedef _Deleter&& __bad_rval_ref_type;
-  typedef false_type __enable_rval_overload;
-};
-
-template <class _Tp, class _Dp = default_delete<_Tp> >
-class _LIBCPP_TEMPLATE_VIS unique_ptr {
-public:
-  typedef _Tp element_type;
-  typedef _Dp deleter_type;
-  typedef _LIBCPP_NODEBUG_TYPE typename __pointer_type<_Tp, deleter_type>::type pointer;
-
-  static_assert(!is_rvalue_reference<deleter_type>::value,
-                "the specified deleter type cannot be an rvalue reference");
-
-private:
-  __compressed_pair<pointer, deleter_type> __ptr_;
-
-  struct __nat { int __for_bool_; };
-
-  typedef _LIBCPP_NODEBUG_TYPE __unique_ptr_deleter_sfinae<_Dp> _DeleterSFINAE;
-
-  template <bool _Dummy>
-  using _LValRefType _LIBCPP_NODEBUG_TYPE =
-      typename __dependent_type<_DeleterSFINAE, _Dummy>::__lval_ref_type;
-
-  template <bool _Dummy>
-  using _GoodRValRefType _LIBCPP_NODEBUG_TYPE =
-      typename __dependent_type<_DeleterSFINAE, _Dummy>::__good_rval_ref_type;
-
-  template <bool _Dummy>
-  using _BadRValRefType _LIBCPP_NODEBUG_TYPE  =
-      typename __dependent_type<_DeleterSFINAE, _Dummy>::__bad_rval_ref_type;
-
-  template <bool _Dummy, class _Deleter = typename __dependent_type<
-                             __identity<deleter_type>, _Dummy>::type>
-  using _EnableIfDeleterDefaultConstructible _LIBCPP_NODEBUG_TYPE =
-      typename enable_if<is_default_constructible<_Deleter>::value &&
-                         !is_pointer<_Deleter>::value>::type;
-
-  template <class _ArgType>
-  using _EnableIfDeleterConstructible _LIBCPP_NODEBUG_TYPE  =
-      typename enable_if<is_constructible<deleter_type, _ArgType>::value>::type;
-
-  template <class _UPtr, class _Up>
-  using _EnableIfMoveConvertible _LIBCPP_NODEBUG_TYPE  = typename enable_if<
-      is_convertible<typename _UPtr::pointer, pointer>::value &&
-      !is_array<_Up>::value
-  >::type;
-
-  template <class _UDel>
-  using _EnableIfDeleterConvertible _LIBCPP_NODEBUG_TYPE  = typename enable_if<
-      (is_reference<_Dp>::value && is_same<_Dp, _UDel>::value) ||
-      (!is_reference<_Dp>::value && is_convertible<_UDel, _Dp>::value)
-    >::type;
-
-  template <class _UDel>
-  using _EnableIfDeleterAssignable = typename enable_if<
-      is_assignable<_Dp&, _UDel&&>::value
-    >::type;
-
-public:
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterDefaultConstructible<_Dummy> >
-  _LIBCPP_INLINE_VISIBILITY
-  _LIBCPP_CONSTEXPR unique_ptr() _NOEXCEPT : __ptr_(pointer()) {}
-
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterDefaultConstructible<_Dummy> >
-  _LIBCPP_INLINE_VISIBILITY
-  _LIBCPP_CONSTEXPR unique_ptr(nullptr_t) _NOEXCEPT : __ptr_(pointer()) {}
-
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterDefaultConstructible<_Dummy> >
-  _LIBCPP_INLINE_VISIBILITY
-  explicit unique_ptr(pointer __p) _NOEXCEPT : __ptr_(__p) {}
-
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterConstructible<_LValRefType<_Dummy> > >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(pointer __p, _LValRefType<_Dummy> __d) _NOEXCEPT
-      : __ptr_(__p, __d) {}
-
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterConstructible<_GoodRValRefType<_Dummy> > >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(pointer __p, _GoodRValRefType<_Dummy> __d) _NOEXCEPT
-      : __ptr_(__p, _VSTD::move(__d)) {
-    static_assert(!is_reference<deleter_type>::value,
-                  "rvalue deleter bound to reference");
-  }
-
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterConstructible<_BadRValRefType<_Dummy> > >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(pointer __p, _BadRValRefType<_Dummy> __d) = delete;
-
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(unique_ptr&& __u) _NOEXCEPT
-      : __ptr_(__u.release(), _VSTD::forward<deleter_type>(__u.get_deleter())) {
-  }
-
-  template <class _Up, class _Ep,
-      class = _EnableIfMoveConvertible<unique_ptr<_Up, _Ep>, _Up>,
-      class = _EnableIfDeleterConvertible<_Ep>
-  >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(unique_ptr<_Up, _Ep>&& __u) _NOEXCEPT
-      : __ptr_(__u.release(), _VSTD::forward<_Ep>(__u.get_deleter())) {}
-
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(auto_ptr<_Up>&& __p,
-             typename enable_if<is_convertible<_Up*, _Tp*>::value &&
-                                    is_same<_Dp, default_delete<_Tp> >::value,
-                                __nat>::type = __nat()) _NOEXCEPT
-      : __ptr_(__p.release()) {}
-#endif
-
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr& operator=(unique_ptr&& __u) _NOEXCEPT {
-    reset(__u.release());
-    __ptr_.second() = _VSTD::forward<deleter_type>(__u.get_deleter());
-    return *this;
-  }
-
-  template <class _Up, class _Ep,
-      class = _EnableIfMoveConvertible<unique_ptr<_Up, _Ep>, _Up>,
-      class = _EnableIfDeleterAssignable<_Ep>
-  >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr& operator=(unique_ptr<_Up, _Ep>&& __u) _NOEXCEPT {
-    reset(__u.release());
-    __ptr_.second() = _VSTD::forward<_Ep>(__u.get_deleter());
-    return *this;
-  }
-
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-  template <class _Up>
-  _LIBCPP_INLINE_VISIBILITY
-      typename enable_if<is_convertible<_Up*, _Tp*>::value &&
-                             is_same<_Dp, default_delete<_Tp> >::value,
-                         unique_ptr&>::type
-      operator=(auto_ptr<_Up> __p) {
-    reset(__p.release());
-    return *this;
-  }
-#endif
-
-#ifdef _LIBCPP_CXX03_LANG
-  unique_ptr(unique_ptr const&) = delete;
-  unique_ptr& operator=(unique_ptr const&) = delete;
-#endif
-
-
-  _LIBCPP_INLINE_VISIBILITY
-  ~unique_ptr() { reset(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr& operator=(nullptr_t) _NOEXCEPT {
-    reset();
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  typename add_lvalue_reference<_Tp>::type
-  operator*() const {
-    return *__ptr_.first();
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  pointer operator->() const _NOEXCEPT {
-    return __ptr_.first();
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  pointer get() const _NOEXCEPT {
-    return __ptr_.first();
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  deleter_type& get_deleter() _NOEXCEPT {
-    return __ptr_.second();
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  const deleter_type& get_deleter() const _NOEXCEPT {
-    return __ptr_.second();
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT {
-    return __ptr_.first() != nullptr;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  pointer release() _NOEXCEPT {
-    pointer __t = __ptr_.first();
-    __ptr_.first() = pointer();
-    return __t;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void reset(pointer __p = pointer()) _NOEXCEPT {
-    pointer __tmp = __ptr_.first();
-    __ptr_.first() = __p;
-    if (__tmp)
-      __ptr_.second()(__tmp);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void swap(unique_ptr& __u) _NOEXCEPT {
-    __ptr_.swap(__u.__ptr_);
-  }
-};
-
-
-template <class _Tp, class _Dp>
-class _LIBCPP_TEMPLATE_VIS unique_ptr<_Tp[], _Dp> {
-public:
-  typedef _Tp element_type;
-  typedef _Dp deleter_type;
-  typedef typename __pointer_type<_Tp, deleter_type>::type pointer;
-
-private:
-  __compressed_pair<pointer, deleter_type> __ptr_;
-
-  template <class _From>
-  struct _CheckArrayPointerConversion : is_same<_From, pointer> {};
-
-  template <class _FromElem>
-  struct _CheckArrayPointerConversion<_FromElem*>
-      : integral_constant<bool,
-          is_same<_FromElem*, pointer>::value ||
-            (is_same<pointer, element_type*>::value &&
-             is_convertible<_FromElem(*)[], element_type(*)[]>::value)
-      >
-  {};
-
-  typedef __unique_ptr_deleter_sfinae<_Dp> _DeleterSFINAE;
-
-  template <bool _Dummy>
-  using _LValRefType _LIBCPP_NODEBUG_TYPE =
-      typename __dependent_type<_DeleterSFINAE, _Dummy>::__lval_ref_type;
-
-  template <bool _Dummy>
-  using _GoodRValRefType _LIBCPP_NODEBUG_TYPE =
-      typename __dependent_type<_DeleterSFINAE, _Dummy>::__good_rval_ref_type;
-
-  template <bool _Dummy>
-  using _BadRValRefType _LIBCPP_NODEBUG_TYPE =
-      typename __dependent_type<_DeleterSFINAE, _Dummy>::__bad_rval_ref_type;
-
-  template <bool _Dummy, class _Deleter = typename __dependent_type<
-                             __identity<deleter_type>, _Dummy>::type>
-  using _EnableIfDeleterDefaultConstructible _LIBCPP_NODEBUG_TYPE  =
-      typename enable_if<is_default_constructible<_Deleter>::value &&
-                         !is_pointer<_Deleter>::value>::type;
-
-  template <class _ArgType>
-  using _EnableIfDeleterConstructible _LIBCPP_NODEBUG_TYPE  =
-      typename enable_if<is_constructible<deleter_type, _ArgType>::value>::type;
-
-  template <class _Pp>
-  using _EnableIfPointerConvertible _LIBCPP_NODEBUG_TYPE  = typename enable_if<
-      _CheckArrayPointerConversion<_Pp>::value
-  >::type;
-
-  template <class _UPtr, class _Up,
-        class _ElemT = typename _UPtr::element_type>
-  using _EnableIfMoveConvertible _LIBCPP_NODEBUG_TYPE  = typename enable_if<
-      is_array<_Up>::value &&
-      is_same<pointer, element_type*>::value &&
-      is_same<typename _UPtr::pointer, _ElemT*>::value &&
-      is_convertible<_ElemT(*)[], element_type(*)[]>::value
-    >::type;
-
-  template <class _UDel>
-  using _EnableIfDeleterConvertible _LIBCPP_NODEBUG_TYPE  = typename enable_if<
-      (is_reference<_Dp>::value && is_same<_Dp, _UDel>::value) ||
-      (!is_reference<_Dp>::value && is_convertible<_UDel, _Dp>::value)
-    >::type;
-
-  template <class _UDel>
-  using _EnableIfDeleterAssignable _LIBCPP_NODEBUG_TYPE  = typename enable_if<
-      is_assignable<_Dp&, _UDel&&>::value
-    >::type;
-
-public:
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterDefaultConstructible<_Dummy> >
-  _LIBCPP_INLINE_VISIBILITY
-  _LIBCPP_CONSTEXPR unique_ptr() _NOEXCEPT : __ptr_(pointer()) {}
-
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterDefaultConstructible<_Dummy> >
-  _LIBCPP_INLINE_VISIBILITY
-  _LIBCPP_CONSTEXPR unique_ptr(nullptr_t) _NOEXCEPT : __ptr_(pointer()) {}
-
-  template <class _Pp, bool _Dummy = true,
-            class = _EnableIfDeleterDefaultConstructible<_Dummy>,
-            class = _EnableIfPointerConvertible<_Pp> >
-  _LIBCPP_INLINE_VISIBILITY
-  explicit unique_ptr(_Pp __p) _NOEXCEPT
-      : __ptr_(__p) {}
-
-  template <class _Pp, bool _Dummy = true,
-            class = _EnableIfDeleterConstructible<_LValRefType<_Dummy> >,
-            class = _EnableIfPointerConvertible<_Pp> >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(_Pp __p, _LValRefType<_Dummy> __d) _NOEXCEPT
-      : __ptr_(__p, __d) {}
-
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterConstructible<_LValRefType<_Dummy> > >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(nullptr_t, _LValRefType<_Dummy> __d) _NOEXCEPT
-      : __ptr_(nullptr, __d) {}
-
-  template <class _Pp, bool _Dummy = true,
-            class = _EnableIfDeleterConstructible<_GoodRValRefType<_Dummy> >,
-            class = _EnableIfPointerConvertible<_Pp> >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(_Pp __p, _GoodRValRefType<_Dummy> __d) _NOEXCEPT
-      : __ptr_(__p, _VSTD::move(__d)) {
-    static_assert(!is_reference<deleter_type>::value,
-                  "rvalue deleter bound to reference");
-  }
-
-  template <bool _Dummy = true,
-            class = _EnableIfDeleterConstructible<_GoodRValRefType<_Dummy> > >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(nullptr_t, _GoodRValRefType<_Dummy> __d) _NOEXCEPT
-      : __ptr_(nullptr, _VSTD::move(__d)) {
-    static_assert(!is_reference<deleter_type>::value,
-                  "rvalue deleter bound to reference");
-  }
-
-  template <class _Pp, bool _Dummy = true,
-            class = _EnableIfDeleterConstructible<_BadRValRefType<_Dummy> >,
-            class = _EnableIfPointerConvertible<_Pp> >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(_Pp __p, _BadRValRefType<_Dummy> __d) = delete;
-
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(unique_ptr&& __u) _NOEXCEPT
-      : __ptr_(__u.release(), _VSTD::forward<deleter_type>(__u.get_deleter())) {
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr& operator=(unique_ptr&& __u) _NOEXCEPT {
-    reset(__u.release());
-    __ptr_.second() = _VSTD::forward<deleter_type>(__u.get_deleter());
-    return *this;
-  }
-
-  template <class _Up, class _Ep,
-      class = _EnableIfMoveConvertible<unique_ptr<_Up, _Ep>, _Up>,
-      class = _EnableIfDeleterConvertible<_Ep>
-  >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr(unique_ptr<_Up, _Ep>&& __u) _NOEXCEPT
-      : __ptr_(__u.release(), _VSTD::forward<_Ep>(__u.get_deleter())) {
-  }
-
-  template <class _Up, class _Ep,
-      class = _EnableIfMoveConvertible<unique_ptr<_Up, _Ep>, _Up>,
-      class = _EnableIfDeleterAssignable<_Ep>
-  >
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr&
-  operator=(unique_ptr<_Up, _Ep>&& __u) _NOEXCEPT {
-    reset(__u.release());
-    __ptr_.second() = _VSTD::forward<_Ep>(__u.get_deleter());
-    return *this;
-  }
-
-#ifdef _LIBCPP_CXX03_LANG
-  unique_ptr(unique_ptr const&) = delete;
-  unique_ptr& operator=(unique_ptr const&) = delete;
-#endif
-
-public:
-  _LIBCPP_INLINE_VISIBILITY
-  ~unique_ptr() { reset(); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  unique_ptr& operator=(nullptr_t) _NOEXCEPT {
-    reset();
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  typename add_lvalue_reference<_Tp>::type
-  operator[](size_t __i) const {
-    return __ptr_.first()[__i];
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  pointer get() const _NOEXCEPT {
-    return __ptr_.first();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  deleter_type& get_deleter() _NOEXCEPT {
-    return __ptr_.second();
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  const deleter_type& get_deleter() const _NOEXCEPT {
-    return __ptr_.second();
-  }
-  _LIBCPP_INLINE_VISIBILITY
-  _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT {
-    return __ptr_.first() != nullptr;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  pointer release() _NOEXCEPT {
-    pointer __t = __ptr_.first();
-    __ptr_.first() = pointer();
-    return __t;
-  }
-
-  template <class _Pp>
-  _LIBCPP_INLINE_VISIBILITY
-  typename enable_if<
-      _CheckArrayPointerConversion<_Pp>::value
-  >::type
-  reset(_Pp __p) _NOEXCEPT {
-    pointer __tmp = __ptr_.first();
-    __ptr_.first() = __p;
-    if (__tmp)
-      __ptr_.second()(__tmp);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void reset(nullptr_t = nullptr) _NOEXCEPT {
-    pointer __tmp = __ptr_.first();
-    __ptr_.first() = nullptr;
-    if (__tmp)
-      __ptr_.second()(__tmp);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void swap(unique_ptr& __u) _NOEXCEPT {
-    __ptr_.swap(__u.__ptr_);
-  }
-
-};
-
-template <class _Tp, class _Dp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if<
-    __is_swappable<_Dp>::value,
-    void
->::type
-swap(unique_ptr<_Tp, _Dp>& __x, unique_ptr<_Tp, _Dp>& __y) _NOEXCEPT {__x.swap(__y);}
-
-template <class _T1, class _D1, class _T2, class _D2>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) {return __x.get() == __y.get();}
-
-template <class _T1, class _D1, class _T2, class _D2>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) {return !(__x == __y);}
-
-template <class _T1, class _D1, class _T2, class _D2>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y)
-{
-    typedef typename unique_ptr<_T1, _D1>::pointer _P1;
-    typedef typename unique_ptr<_T2, _D2>::pointer _P2;
-    typedef typename common_type<_P1, _P2>::type _Vp;
-    return less<_Vp>()(__x.get(), __y.get());
-}
-
-template <class _T1, class _D1, class _T2, class _D2>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) {return __y < __x;}
-
-template <class _T1, class _D1, class _T2, class _D2>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) {return !(__y < __x);}
-
-template <class _T1, class _D1, class _T2, class _D2>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) {return !(__x < __y);}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const unique_ptr<_T1, _D1>& __x, nullptr_t) _NOEXCEPT
-{
-    return !__x;
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(nullptr_t, const unique_ptr<_T1, _D1>& __x) _NOEXCEPT
-{
-    return !__x;
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const unique_ptr<_T1, _D1>& __x, nullptr_t) _NOEXCEPT
-{
-    return static_cast<bool>(__x);
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(nullptr_t, const unique_ptr<_T1, _D1>& __x) _NOEXCEPT
-{
-    return static_cast<bool>(__x);
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const unique_ptr<_T1, _D1>& __x, nullptr_t)
-{
-    typedef typename unique_ptr<_T1, _D1>::pointer _P1;
-    return less<_P1>()(__x.get(), nullptr);
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(nullptr_t, const unique_ptr<_T1, _D1>& __x)
-{
-    typedef typename unique_ptr<_T1, _D1>::pointer _P1;
-    return less<_P1>()(nullptr, __x.get());
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(const unique_ptr<_T1, _D1>& __x, nullptr_t)
-{
-    return nullptr < __x;
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(nullptr_t, const unique_ptr<_T1, _D1>& __x)
-{
-    return __x < nullptr;
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const unique_ptr<_T1, _D1>& __x, nullptr_t)
-{
-    return !(nullptr < __x);
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(nullptr_t, const unique_ptr<_T1, _D1>& __x)
-{
-    return !(__x < nullptr);
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const unique_ptr<_T1, _D1>& __x, nullptr_t)
-{
-    return !(__x < nullptr);
-}
-
-template <class _T1, class _D1>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(nullptr_t, const unique_ptr<_T1, _D1>& __x)
-{
-    return !(nullptr < __x);
-}
-
-#if _LIBCPP_STD_VER > 11
-
-template<class _Tp>
-struct __unique_if
-{
-    typedef unique_ptr<_Tp> __unique_single;
-};
-
-template<class _Tp>
-struct __unique_if<_Tp[]>
-{
-    typedef unique_ptr<_Tp[]> __unique_array_unknown_bound;
-};
-
-template<class _Tp, size_t _Np>
-struct __unique_if<_Tp[_Np]>
-{
-    typedef void __unique_array_known_bound;
-};
-
-template<class _Tp, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __unique_if<_Tp>::__unique_single
-make_unique(_Args&&... __args)
-{
-    return unique_ptr<_Tp>(new _Tp(_VSTD::forward<_Args>(__args)...));
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __unique_if<_Tp>::__unique_array_unknown_bound
-make_unique(size_t __n)
-{
-    typedef typename remove_extent<_Tp>::type _Up;
-    return unique_ptr<_Tp>(new _Up[__n]());
-}
-
-template<class _Tp, class... _Args>
-    typename __unique_if<_Tp>::__unique_array_known_bound
-    make_unique(_Args&&...) = delete;
-
-#endif  // _LIBCPP_STD_VER > 11
-
-template <class _Tp, class _Dp>
-#ifdef _LIBCPP_CXX03_LANG
-struct _LIBCPP_TEMPLATE_VIS hash<unique_ptr<_Tp, _Dp> >
-#else
-struct _LIBCPP_TEMPLATE_VIS hash<__enable_hash_helper<
-    unique_ptr<_Tp, _Dp>, typename unique_ptr<_Tp, _Dp>::pointer> >
-#endif
-{
-    typedef unique_ptr<_Tp, _Dp> argument_type;
-    typedef size_t               result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator()(const argument_type& __ptr) const
-    {
-        typedef typename argument_type::pointer pointer;
-        return hash<pointer>()(__ptr.get());
-    }
-};
-
-struct __destruct_n
-{
-private:
-    size_t __size_;
-
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY void __process(_Tp* __p, false_type) _NOEXCEPT
-        {for (size_t __i = 0; __i < __size_; ++__i, ++__p) __p->~_Tp();}
-
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY void __process(_Tp*, true_type) _NOEXCEPT
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY void __incr(false_type) _NOEXCEPT
-        {++__size_;}
-    _LIBCPP_INLINE_VISIBILITY void __incr(true_type) _NOEXCEPT
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY void __set(size_t __s, false_type) _NOEXCEPT
-        {__size_ = __s;}
-    _LIBCPP_INLINE_VISIBILITY void __set(size_t, true_type) _NOEXCEPT
-        {}
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit __destruct_n(size_t __s) _NOEXCEPT
-        : __size_(__s) {}
-
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY void __incr(_Tp*) _NOEXCEPT
-        {__incr(integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
-
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY void __set(size_t __s, _Tp*) _NOEXCEPT
-        {__set(__s, integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
-
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY void operator()(_Tp* __p) _NOEXCEPT
-        {__process(__p, integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
-};
-
-template <class _Alloc>
-class __allocator_destructor
-{
-    typedef _LIBCPP_NODEBUG_TYPE allocator_traits<_Alloc> __alloc_traits;
-public:
-    typedef _LIBCPP_NODEBUG_TYPE typename __alloc_traits::pointer pointer;
-    typedef _LIBCPP_NODEBUG_TYPE typename __alloc_traits::size_type size_type;
-private:
-    _Alloc& __alloc_;
-    size_type __s_;
-public:
-    _LIBCPP_INLINE_VISIBILITY __allocator_destructor(_Alloc& __a, size_type __s)
-             _NOEXCEPT
-        : __alloc_(__a), __s_(__s) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()(pointer __p) _NOEXCEPT
-        {__alloc_traits::deallocate(__alloc_, __p, __s_);}
-};
-
-template <class _InputIterator, class _ForwardIterator>
-_ForwardIterator
-uninitialized_copy(_InputIterator __f, _InputIterator __l, _ForwardIterator __r)
-{
-    typedef typename iterator_traits<_ForwardIterator>::value_type value_type;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    _ForwardIterator __s = __r;
-    try
-    {
-#endif
-        for (; __f != __l; ++__f, (void) ++__r)
-            ::new (static_cast<void*>(_VSTD::addressof(*__r))) value_type(*__f);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        for (; __s != __r; ++__s)
-            __s->~value_type();
-        throw;
-    }
-#endif
-    return __r;
-}
-
-template <class _InputIterator, class _Size, class _ForwardIterator>
-_ForwardIterator
-uninitialized_copy_n(_InputIterator __f, _Size __n, _ForwardIterator __r)
-{
-    typedef typename iterator_traits<_ForwardIterator>::value_type value_type;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    _ForwardIterator __s = __r;
-    try
-    {
-#endif
-        for (; __n > 0; ++__f, (void) ++__r, (void) --__n)
-            ::new (static_cast<void*>(_VSTD::addressof(*__r))) value_type(*__f);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        for (; __s != __r; ++__s)
-            __s->~value_type();
-        throw;
-    }
-#endif
-    return __r;
-}
-
-template <class _ForwardIterator, class _Tp>
-void
-uninitialized_fill(_ForwardIterator __f, _ForwardIterator __l, const _Tp& __x)
-{
-    typedef typename iterator_traits<_ForwardIterator>::value_type value_type;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    _ForwardIterator __s = __f;
-    try
-    {
-#endif
-        for (; __f != __l; ++__f)
-            ::new (static_cast<void*>(_VSTD::addressof(*__f))) value_type(__x);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        for (; __s != __f; ++__s)
-            __s->~value_type();
-        throw;
-    }
-#endif
-}
-
-template <class _ForwardIterator, class _Size, class _Tp>
-_ForwardIterator
-uninitialized_fill_n(_ForwardIterator __f, _Size __n, const _Tp& __x)
-{
-    typedef typename iterator_traits<_ForwardIterator>::value_type value_type;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    _ForwardIterator __s = __f;
-    try
-    {
-#endif
-        for (; __n > 0; ++__f, (void) --__n)
-            ::new (static_cast<void*>(_VSTD::addressof(*__f))) value_type(__x);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        for (; __s != __f; ++__s)
-            __s->~value_type();
-        throw;
-    }
-#endif
-    return __f;
-}
-
-#if _LIBCPP_STD_VER > 14
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-void destroy_at(_Tp* __loc) {
-    _LIBCPP_ASSERT(__loc, "null pointer given to destroy_at");
-    __loc->~_Tp();
-}
-
-template <class _ForwardIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void destroy(_ForwardIterator __first, _ForwardIterator __last) {
-    for (; __first != __last; ++__first)
-        _VSTD::destroy_at(_VSTD::addressof(*__first));
-}
-
-template <class _ForwardIterator, class _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_ForwardIterator destroy_n(_ForwardIterator __first, _Size __n) {
-    for (; __n > 0; (void)++__first, --__n)
-        _VSTD::destroy_at(_VSTD::addressof(*__first));
-    return __first;
-}
-
-template <class _ForwardIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void uninitialized_default_construct(_ForwardIterator __first, _ForwardIterator __last) {
-    using _Vt = typename iterator_traits<_ForwardIterator>::value_type;
-    auto __idx = __first;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try {
-#endif
-    for (; __idx != __last; ++__idx)
-        ::new((void*)_VSTD::addressof(*__idx)) _Vt;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    } catch (...) {
-        _VSTD::destroy(__first, __idx);
-        throw;
-    }
-#endif
-}
-
-template <class _ForwardIterator, class _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_ForwardIterator uninitialized_default_construct_n(_ForwardIterator __first, _Size __n) {
-    using _Vt = typename iterator_traits<_ForwardIterator>::value_type;
-    auto __idx = __first;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try {
-#endif
-    for (; __n > 0; (void)++__idx, --__n)
-        ::new((void*)_VSTD::addressof(*__idx)) _Vt;
-    return __idx;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    } catch (...) {
-        _VSTD::destroy(__first, __idx);
-        throw;
-    }
-#endif
-}
-
-
-template <class _ForwardIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-void uninitialized_value_construct(_ForwardIterator __first, _ForwardIterator __last) {
-    using _Vt = typename iterator_traits<_ForwardIterator>::value_type;
-    auto __idx = __first;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try {
-#endif
-    for (; __idx != __last; ++__idx)
-        ::new((void*)_VSTD::addressof(*__idx)) _Vt();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    } catch (...) {
-        _VSTD::destroy(__first, __idx);
-        throw;
-    }
-#endif
-}
-
-template <class _ForwardIterator, class _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_ForwardIterator uninitialized_value_construct_n(_ForwardIterator __first, _Size __n) {
-    using _Vt = typename iterator_traits<_ForwardIterator>::value_type;
-    auto __idx = __first;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try {
-#endif
-    for (; __n > 0; (void)++__idx, --__n)
-        ::new((void*)_VSTD::addressof(*__idx)) _Vt();
-    return __idx;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    } catch (...) {
-        _VSTD::destroy(__first, __idx);
-        throw;
-    }
-#endif
-}
-
-
-template <class _InputIt, class _ForwardIt>
-inline _LIBCPP_INLINE_VISIBILITY
-_ForwardIt uninitialized_move(_InputIt __first, _InputIt __last, _ForwardIt __first_res) {
-    using _Vt = typename iterator_traits<_ForwardIt>::value_type;
-    auto __idx = __first_res;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try {
-#endif
-    for (; __first != __last; (void)++__idx, ++__first)
-        ::new((void*)_VSTD::addressof(*__idx)) _Vt(std::move(*__first));
-    return __idx;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    } catch (...) {
-        _VSTD::destroy(__first_res, __idx);
-        throw;
-    }
-#endif
-}
-
-template <class _InputIt, class _Size, class _ForwardIt>
-inline _LIBCPP_INLINE_VISIBILITY
-pair<_InputIt, _ForwardIt>
-uninitialized_move_n(_InputIt __first, _Size __n, _ForwardIt __first_res) {
-    using _Vt = typename iterator_traits<_ForwardIt>::value_type;
-    auto __idx = __first_res;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try {
-#endif
-    for (; __n > 0; ++__idx, (void)++__first, --__n)
-        ::new((void*)_VSTD::addressof(*__idx)) _Vt(std::move(*__first));
-    return {__first, __idx};
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    } catch (...) {
-        _VSTD::destroy(__first_res, __idx);
-        throw;
-    }
-#endif
-}
-
-
-#endif // _LIBCPP_STD_VER > 14
-
-// NOTE: Relaxed and acq/rel atomics (for increment and decrement respectively)
-// should be sufficient for thread safety.
-// See https://bugs.llvm.org/show_bug.cgi?id=22803
-#if defined(__clang__) && __has_builtin(__atomic_add_fetch)          \
-                       && defined(__ATOMIC_RELAXED)                  \
-                       && defined(__ATOMIC_ACQ_REL)
-#   define _LIBCPP_HAS_BUILTIN_ATOMIC_SUPPORT
-#elif defined(_LIBCPP_COMPILER_GCC)
-#   define _LIBCPP_HAS_BUILTIN_ATOMIC_SUPPORT
-#endif
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _Tp
-__libcpp_atomic_refcount_increment(_Tp& __t) _NOEXCEPT
-{
-#if defined(_LIBCPP_HAS_BUILTIN_ATOMIC_SUPPORT) && !defined(_LIBCPP_HAS_NO_THREADS)
-    return __atomic_add_fetch(&__t, 1, __ATOMIC_RELAXED);
-#else
-    return __t += 1;
-#endif
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _Tp
-__libcpp_atomic_refcount_decrement(_Tp& __t) _NOEXCEPT
-{
-#if defined(_LIBCPP_HAS_BUILTIN_ATOMIC_SUPPORT) && !defined(_LIBCPP_HAS_NO_THREADS)
-    return __atomic_add_fetch(&__t, -1, __ATOMIC_ACQ_REL);
-#else
-    return __t -= 1;
-#endif
-}
-
-class _LIBCPP_EXCEPTION_ABI bad_weak_ptr
-    : public std::exception
-{
-public:
-    virtual ~bad_weak_ptr() _NOEXCEPT;
-    virtual const char* what() const  _NOEXCEPT;
-};
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_bad_weak_ptr()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw bad_weak_ptr();
-#else
-    _VSTD::abort();
-#endif
-}
-
-template<class _Tp> class _LIBCPP_TEMPLATE_VIS weak_ptr;
-
-class _LIBCPP_TYPE_VIS __shared_count
-{
-    __shared_count(const __shared_count&);
-    __shared_count& operator=(const __shared_count&);
-
-protected:
-    long __shared_owners_;
-    virtual ~__shared_count();
-private:
-    virtual void __on_zero_shared() _NOEXCEPT = 0;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __shared_count(long __refs = 0) _NOEXCEPT
-        : __shared_owners_(__refs) {}
-
-#if defined(_LIBCPP_BUILDING_LIBRARY) && \
-    defined(_LIBCPP_DEPRECATED_ABI_LEGACY_LIBRARY_DEFINITIONS_FOR_INLINE_FUNCTIONS)
-    void __add_shared() _NOEXCEPT;
-    bool __release_shared() _NOEXCEPT;
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_shared() _NOEXCEPT {
-      __libcpp_atomic_refcount_increment(__shared_owners_);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    bool __release_shared() _NOEXCEPT {
-      if (__libcpp_atomic_refcount_decrement(__shared_owners_) == -1) {
-        __on_zero_shared();
-        return true;
-      }
-      return false;
-    }
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    long use_count() const _NOEXCEPT {
-        return __libcpp_relaxed_load(&__shared_owners_) + 1;
-    }
-};
-
-class _LIBCPP_TYPE_VIS __shared_weak_count
-    : private __shared_count
-{
-    long __shared_weak_owners_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __shared_weak_count(long __refs = 0) _NOEXCEPT
-        : __shared_count(__refs),
-          __shared_weak_owners_(__refs) {}
-protected:
-    virtual ~__shared_weak_count();
-
-public:
-#if defined(_LIBCPP_BUILDING_LIBRARY) && \
-    defined(_LIBCPP_DEPRECATED_ABI_LEGACY_LIBRARY_DEFINITIONS_FOR_INLINE_FUNCTIONS)
-    void __add_shared() _NOEXCEPT;
-    void __add_weak() _NOEXCEPT;
-    void __release_shared() _NOEXCEPT;
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_shared() _NOEXCEPT {
-      __shared_count::__add_shared();
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_weak() _NOEXCEPT {
-      __libcpp_atomic_refcount_increment(__shared_weak_owners_);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    void __release_shared() _NOEXCEPT {
-      if (__shared_count::__release_shared())
-        __release_weak();
-    }
-#endif
-    void __release_weak() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    long use_count() const _NOEXCEPT {return __shared_count::use_count();}
-    __shared_weak_count* lock() _NOEXCEPT;
-
-    // Define the function out only if we build static libc++ without RTTI.
-    // Otherwise we may break clients who need to compile their projects with
-    // -fno-rtti and yet link against a libc++.dylib compiled
-    // without -fno-rtti.
-#if !defined(_LIBCPP_NO_RTTI) || !defined(_LIBCPP_BUILD_STATIC)
-    virtual const void* __get_deleter(const type_info&) const _NOEXCEPT;
-#endif
-private:
-    virtual void __on_zero_shared_weak() _NOEXCEPT = 0;
-};
-
-template <class _Tp, class _Dp, class _Alloc>
-class __shared_ptr_pointer
-    : public __shared_weak_count
-{
-    __compressed_pair<__compressed_pair<_Tp, _Dp>, _Alloc> __data_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __shared_ptr_pointer(_Tp __p, _Dp __d, _Alloc __a)
-        :  __data_(__compressed_pair<_Tp, _Dp>(__p, _VSTD::move(__d)), _VSTD::move(__a)) {}
-
-#ifndef _LIBCPP_NO_RTTI
-    virtual const void* __get_deleter(const type_info&) const _NOEXCEPT;
-#endif
-
-private:
-    virtual void __on_zero_shared() _NOEXCEPT;
-    virtual void __on_zero_shared_weak() _NOEXCEPT;
-};
-
-#ifndef _LIBCPP_NO_RTTI
-
-template <class _Tp, class _Dp, class _Alloc>
-const void*
-__shared_ptr_pointer<_Tp, _Dp, _Alloc>::__get_deleter(const type_info& __t) const _NOEXCEPT
-{
-    return __t == typeid(_Dp) ? _VSTD::addressof(__data_.first().second()) : nullptr;
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template <class _Tp, class _Dp, class _Alloc>
-void
-__shared_ptr_pointer<_Tp, _Dp, _Alloc>::__on_zero_shared() _NOEXCEPT
-{
-    __data_.first().second()(__data_.first().first());
-    __data_.first().second().~_Dp();
-}
-
-template <class _Tp, class _Dp, class _Alloc>
-void
-__shared_ptr_pointer<_Tp, _Dp, _Alloc>::__on_zero_shared_weak() _NOEXCEPT
-{
-    typedef typename __allocator_traits_rebind<_Alloc, __shared_ptr_pointer>::type _Al;
-    typedef allocator_traits<_Al> _ATraits;
-    typedef pointer_traits<typename _ATraits::pointer> _PTraits;
-
-    _Al __a(__data_.second());
-    __data_.second().~_Alloc();
-    __a.deallocate(_PTraits::pointer_to(*this), 1);
-}
-
-template <class _Tp, class _Alloc>
-class __shared_ptr_emplace
-    : public __shared_weak_count
-{
-    __compressed_pair<_Alloc, _Tp> __data_;
-public:
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-
-    _LIBCPP_INLINE_VISIBILITY
-    __shared_ptr_emplace(_Alloc __a)
-        :  __data_(_VSTD::move(__a)) {}
-
-    template <class ..._Args>
-        _LIBCPP_INLINE_VISIBILITY
-        __shared_ptr_emplace(_Alloc __a, _Args&& ...__args)
-            :  __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),
-                   _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...)) {}
-
-#else  // _LIBCPP_HAS_NO_VARIADICS
-
-    _LIBCPP_INLINE_VISIBILITY
-    __shared_ptr_emplace(_Alloc __a)
-        :  __data_(__a) {}
-
-    template <class _A0>
-        _LIBCPP_INLINE_VISIBILITY
-        __shared_ptr_emplace(_Alloc __a, _A0& __a0)
-            :  __data_(__a, _Tp(__a0)) {}
-
-    template <class _A0, class _A1>
-        _LIBCPP_INLINE_VISIBILITY
-        __shared_ptr_emplace(_Alloc __a, _A0& __a0, _A1& __a1)
-            :  __data_(__a, _Tp(__a0, __a1)) {}
-
-    template <class _A0, class _A1, class _A2>
-        _LIBCPP_INLINE_VISIBILITY
-        __shared_ptr_emplace(_Alloc __a, _A0& __a0, _A1& __a1, _A2& __a2)
-            :  __data_(__a, _Tp(__a0, __a1, __a2)) {}
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-private:
-    virtual void __on_zero_shared() _NOEXCEPT;
-    virtual void __on_zero_shared_weak() _NOEXCEPT;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp* get() _NOEXCEPT {return _VSTD::addressof(__data_.second());}
-};
-
-template <class _Tp, class _Alloc>
-void
-__shared_ptr_emplace<_Tp, _Alloc>::__on_zero_shared() _NOEXCEPT
-{
-    __data_.second().~_Tp();
-}
-
-template <class _Tp, class _Alloc>
-void
-__shared_ptr_emplace<_Tp, _Alloc>::__on_zero_shared_weak() _NOEXCEPT
-{
-    typedef typename __allocator_traits_rebind<_Alloc, __shared_ptr_emplace>::type _Al;
-    typedef allocator_traits<_Al> _ATraits;
-    typedef pointer_traits<typename _ATraits::pointer> _PTraits;
-    _Al __a(__data_.first());
-    __data_.first().~_Alloc();
-    __a.deallocate(_PTraits::pointer_to(*this), 1);
-}
-
-struct __shared_ptr_dummy_rebind_allocator_type;
-template <>
-class _LIBCPP_TEMPLATE_VIS allocator<__shared_ptr_dummy_rebind_allocator_type>
-{
-public:
-    template <class _Other>
-    struct rebind
-    {
-        typedef allocator<_Other> other;
-    };
-};
-
-template<class _Tp> class _LIBCPP_TEMPLATE_VIS enable_shared_from_this;
-
-template<class _Tp>
-class _LIBCPP_TEMPLATE_VIS shared_ptr
-{
-public:
-    typedef _Tp element_type;
-
-#if _LIBCPP_STD_VER > 14
-    typedef weak_ptr<_Tp> weak_type;
-#endif
-private:
-    element_type*      __ptr_;
-    __shared_weak_count* __cntrl_;
-
-    struct __nat {int __for_bool_;};
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR shared_ptr() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR shared_ptr(nullptr_t) _NOEXCEPT;
-    template<class _Yp>
-        explicit shared_ptr(_Yp* __p,
-                            typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat());
-    template<class _Yp, class _Dp>
-        shared_ptr(_Yp* __p, _Dp __d,
-                   typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat());
-    template<class _Yp, class _Dp, class _Alloc>
-        shared_ptr(_Yp* __p, _Dp __d, _Alloc __a,
-                   typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat());
-    template <class _Dp> shared_ptr(nullptr_t __p, _Dp __d);
-    template <class _Dp, class _Alloc> shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a);
-    template<class _Yp> _LIBCPP_INLINE_VISIBILITY shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    shared_ptr(const shared_ptr& __r) _NOEXCEPT;
-    template<class _Yp>
-        _LIBCPP_INLINE_VISIBILITY
-        shared_ptr(const shared_ptr<_Yp>& __r,
-                   typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat())
-                       _NOEXCEPT;
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    shared_ptr(shared_ptr&& __r) _NOEXCEPT;
-    template<class _Yp> _LIBCPP_INLINE_VISIBILITY  shared_ptr(shared_ptr<_Yp>&& __r,
-                   typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat())
-                       _NOEXCEPT;
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    template<class _Yp> explicit shared_ptr(const weak_ptr<_Yp>& __r,
-                   typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type= __nat());
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    template<class _Yp>
-        shared_ptr(auto_ptr<_Yp>&& __r,
-                   typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat());
-#else
-    template<class _Yp>
-        shared_ptr(auto_ptr<_Yp> __r,
-                   typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat());
-#endif
-#endif
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    template <class _Yp, class _Dp>
-        shared_ptr(unique_ptr<_Yp, _Dp>&&,
-                   typename enable_if
-                   <
-                       !is_lvalue_reference<_Dp>::value &&
-                       !is_array<_Yp>::value &&
-                       is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value,
-                       __nat
-                   >::type = __nat());
-    template <class _Yp, class _Dp>
-        shared_ptr(unique_ptr<_Yp, _Dp>&&,
-                   typename enable_if
-                   <
-                       is_lvalue_reference<_Dp>::value &&
-                       !is_array<_Yp>::value &&
-                       is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value,
-                       __nat
-                   >::type = __nat());
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    template <class _Yp, class _Dp>
-        shared_ptr(unique_ptr<_Yp, _Dp>,
-                   typename enable_if
-                   <
-                       !is_lvalue_reference<_Dp>::value &&
-                       !is_array<_Yp>::value &&
-                       is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value,
-                       __nat
-                   >::type = __nat());
-    template <class _Yp, class _Dp>
-        shared_ptr(unique_ptr<_Yp, _Dp>,
-                   typename enable_if
-                   <
-                       is_lvalue_reference<_Dp>::value &&
-                       !is_array<_Yp>::value &&
-                       is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value,
-                       __nat
-                   >::type = __nat());
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-    ~shared_ptr();
-
-    _LIBCPP_INLINE_VISIBILITY
-    shared_ptr& operator=(const shared_ptr& __r) _NOEXCEPT;
-    template<class _Yp>
-        typename enable_if
-        <
-            is_convertible<_Yp*, element_type*>::value,
-            shared_ptr&
-        >::type
-        _LIBCPP_INLINE_VISIBILITY
-        operator=(const shared_ptr<_Yp>& __r) _NOEXCEPT;
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    shared_ptr& operator=(shared_ptr&& __r) _NOEXCEPT;
-    template<class _Yp>
-        typename enable_if
-        <
-            is_convertible<_Yp*, element_type*>::value,
-            shared_ptr<_Tp>&
-        >::type
-        _LIBCPP_INLINE_VISIBILITY
-        operator=(shared_ptr<_Yp>&& __r);
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-    template<class _Yp>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            !is_array<_Yp>::value &&
-            is_convertible<_Yp*, element_type*>::value,
-            shared_ptr
-        >::type&
-        operator=(auto_ptr<_Yp>&& __r);
-#endif
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-    template<class _Yp>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            !is_array<_Yp>::value &&
-            is_convertible<_Yp*, element_type*>::value,
-            shared_ptr&
-        >::type
-        operator=(auto_ptr<_Yp> __r);
-#endif
-#endif
-    template <class _Yp, class _Dp>
-        typename enable_if
-        <
-            !is_array<_Yp>::value &&
-            is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value,
-            shared_ptr&
-        >::type
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-        _LIBCPP_INLINE_VISIBILITY
-        operator=(unique_ptr<_Yp, _Dp>&& __r);
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-        _LIBCPP_INLINE_VISIBILITY
-        operator=(unique_ptr<_Yp, _Dp> __r);
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(shared_ptr& __r) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() _NOEXCEPT;
-    template<class _Yp>
-        typename enable_if
-        <
-            is_convertible<_Yp*, element_type*>::value,
-            void
-        >::type
-        _LIBCPP_INLINE_VISIBILITY
-        reset(_Yp* __p);
-    template<class _Yp, class _Dp>
-        typename enable_if
-        <
-            is_convertible<_Yp*, element_type*>::value,
-            void
-        >::type
-        _LIBCPP_INLINE_VISIBILITY
-        reset(_Yp* __p, _Dp __d);
-    template<class _Yp, class _Dp, class _Alloc>
-        typename enable_if
-        <
-            is_convertible<_Yp*, element_type*>::value,
-            void
-        >::type
-        _LIBCPP_INLINE_VISIBILITY
-        reset(_Yp* __p, _Dp __d, _Alloc __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    element_type* get() const _NOEXCEPT {return __ptr_;}
-    _LIBCPP_INLINE_VISIBILITY
-    typename add_lvalue_reference<element_type>::type operator*() const _NOEXCEPT
-        {return *__ptr_;}
-    _LIBCPP_INLINE_VISIBILITY
-    element_type* operator->() const _NOEXCEPT {return __ptr_;}
-    _LIBCPP_INLINE_VISIBILITY
-    long use_count() const _NOEXCEPT {return __cntrl_ ? __cntrl_->use_count() : 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool unique() const _NOEXCEPT {return use_count() == 1;}
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT {return get() != 0;}
-    template <class _Up>
-        _LIBCPP_INLINE_VISIBILITY
-        bool owner_before(shared_ptr<_Up> const& __p) const _NOEXCEPT
-        {return __cntrl_ < __p.__cntrl_;}
-    template <class _Up>
-        _LIBCPP_INLINE_VISIBILITY
-        bool owner_before(weak_ptr<_Up> const& __p) const _NOEXCEPT
-        {return __cntrl_ < __p.__cntrl_;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool
-    __owner_equivalent(const shared_ptr& __p) const
-        {return __cntrl_ == __p.__cntrl_;}
-
-#ifndef _LIBCPP_NO_RTTI
-    template <class _Dp>
-        _LIBCPP_INLINE_VISIBILITY
-        _Dp* __get_deleter() const _NOEXCEPT
-            {return static_cast<_Dp*>(__cntrl_
-                    ? const_cast<void *>(__cntrl_->__get_deleter(typeid(_Dp)))
-                      : nullptr);}
-#endif  // _LIBCPP_NO_RTTI
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-
-    template<class ..._Args>
-        static
-        shared_ptr<_Tp>
-        make_shared(_Args&& ...__args);
-
-    template<class _Alloc, class ..._Args>
-        static
-        shared_ptr<_Tp>
-        allocate_shared(const _Alloc& __a, _Args&& ...__args);
-
-#else  // _LIBCPP_HAS_NO_VARIADICS
-
-    static shared_ptr<_Tp> make_shared();
-
-    template<class _A0>
-        static shared_ptr<_Tp> make_shared(_A0&);
-
-    template<class _A0, class _A1>
-        static shared_ptr<_Tp> make_shared(_A0&, _A1&);
-
-    template<class _A0, class _A1, class _A2>
-        static shared_ptr<_Tp> make_shared(_A0&, _A1&, _A2&);
-
-    template<class _Alloc>
-        static shared_ptr<_Tp>
-        allocate_shared(const _Alloc& __a);
-
-    template<class _Alloc, class _A0>
-        static shared_ptr<_Tp>
-        allocate_shared(const _Alloc& __a, _A0& __a0);
-
-    template<class _Alloc, class _A0, class _A1>
-        static shared_ptr<_Tp>
-        allocate_shared(const _Alloc& __a, _A0& __a0, _A1& __a1);
-
-    template<class _Alloc, class _A0, class _A1, class _A2>
-        static shared_ptr<_Tp>
-        allocate_shared(const _Alloc& __a, _A0& __a0, _A1& __a1, _A2& __a2);
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-private:
-    template <class _Yp, bool = is_function<_Yp>::value>
-        struct __shared_ptr_default_allocator
-        {
-            typedef allocator<_Yp> type;
-        };
-
-    template <class _Yp>
-        struct __shared_ptr_default_allocator<_Yp, true>
-        {
-            typedef allocator<__shared_ptr_dummy_rebind_allocator_type> type;
-        };
-
-    template <class _Yp, class _OrigPtr>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if<is_convertible<_OrigPtr*,
-                                          const enable_shared_from_this<_Yp>*
-        >::value,
-            void>::type
-        __enable_weak_this(const enable_shared_from_this<_Yp>* __e,
-                           _OrigPtr* __ptr) _NOEXCEPT
-        {
-            typedef typename remove_cv<_Yp>::type _RawYp;
-            if (__e && __e->__weak_this_.expired())
-            {
-                __e->__weak_this_ = shared_ptr<_RawYp>(*this,
-                    const_cast<_RawYp*>(static_cast<const _Yp*>(__ptr)));
-            }
-        }
-
-    _LIBCPP_INLINE_VISIBILITY void __enable_weak_this(...) _NOEXCEPT {}
-
-    template <class _Up> friend class _LIBCPP_TEMPLATE_VIS shared_ptr;
-    template <class _Up> friend class _LIBCPP_TEMPLATE_VIS weak_ptr;
-};
-
-
-template<class _Tp>
-inline
-_LIBCPP_CONSTEXPR
-shared_ptr<_Tp>::shared_ptr() _NOEXCEPT
-    : __ptr_(0),
-      __cntrl_(0)
-{
-}
-
-template<class _Tp>
-inline
-_LIBCPP_CONSTEXPR
-shared_ptr<_Tp>::shared_ptr(nullptr_t) _NOEXCEPT
-    : __ptr_(0),
-      __cntrl_(0)
-{
-}
-
-template<class _Tp>
-template<class _Yp>
-shared_ptr<_Tp>::shared_ptr(_Yp* __p,
-                            typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type)
-    : __ptr_(__p)
-{
-    unique_ptr<_Yp> __hold(__p);
-    typedef typename __shared_ptr_default_allocator<_Yp>::type _AllocT;
-    typedef __shared_ptr_pointer<_Yp*, default_delete<_Yp>, _AllocT > _CntrlBlk;
-    __cntrl_ = new _CntrlBlk(__p, default_delete<_Yp>(), _AllocT());
-    __hold.release();
-    __enable_weak_this(__p, __p);
-}
-
-template<class _Tp>
-template<class _Yp, class _Dp>
-shared_ptr<_Tp>::shared_ptr(_Yp* __p, _Dp __d,
-                            typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type)
-    : __ptr_(__p)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typedef typename __shared_ptr_default_allocator<_Yp>::type _AllocT;
-        typedef __shared_ptr_pointer<_Yp*, _Dp, _AllocT > _CntrlBlk;
-        __cntrl_ = new _CntrlBlk(__p, __d, _AllocT());
-        __enable_weak_this(__p, __p);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __d(__p);
-        throw;
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template<class _Tp>
-template<class _Dp>
-shared_ptr<_Tp>::shared_ptr(nullptr_t __p, _Dp __d)
-    : __ptr_(0)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typedef typename __shared_ptr_default_allocator<_Tp>::type _AllocT;
-        typedef __shared_ptr_pointer<nullptr_t, _Dp, _AllocT > _CntrlBlk;
-        __cntrl_ = new _CntrlBlk(__p, __d, _AllocT());
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __d(__p);
-        throw;
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template<class _Tp>
-template<class _Yp, class _Dp, class _Alloc>
-shared_ptr<_Tp>::shared_ptr(_Yp* __p, _Dp __d, _Alloc __a,
-                            typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type)
-    : __ptr_(__p)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typedef __shared_ptr_pointer<_Yp*, _Dp, _Alloc> _CntrlBlk;
-        typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _A2;
-        typedef __allocator_destructor<_A2> _D2;
-        _A2 __a2(__a);
-        unique_ptr<_CntrlBlk, _D2> __hold2(__a2.allocate(1), _D2(__a2, 1));
-        ::new(static_cast<void*>(_VSTD::addressof(*__hold2.get())))
-            _CntrlBlk(__p, __d, __a);
-        __cntrl_ = _VSTD::addressof(*__hold2.release());
-        __enable_weak_this(__p, __p);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __d(__p);
-        throw;
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template<class _Tp>
-template<class _Dp, class _Alloc>
-shared_ptr<_Tp>::shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a)
-    : __ptr_(0)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typedef __shared_ptr_pointer<nullptr_t, _Dp, _Alloc> _CntrlBlk;
-        typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _A2;
-        typedef __allocator_destructor<_A2> _D2;
-        _A2 __a2(__a);
-        unique_ptr<_CntrlBlk, _D2> __hold2(__a2.allocate(1), _D2(__a2, 1));
-        ::new(static_cast<void*>(_VSTD::addressof(*__hold2.get())))
-            _CntrlBlk(__p, __d, __a);
-        __cntrl_ = _VSTD::addressof(*__hold2.release());
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __d(__p);
-        throw;
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r, element_type *__p) _NOEXCEPT
-    : __ptr_(__p),
-      __cntrl_(__r.__cntrl_)
-{
-    if (__cntrl_)
-        __cntrl_->__add_shared();
-}
-
-template<class _Tp>
-inline
-shared_ptr<_Tp>::shared_ptr(const shared_ptr& __r) _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    if (__cntrl_)
-        __cntrl_->__add_shared();
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r,
-                            typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type)
-         _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    if (__cntrl_)
-        __cntrl_->__add_shared();
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template<class _Tp>
-inline
-shared_ptr<_Tp>::shared_ptr(shared_ptr&& __r) _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    __r.__ptr_ = 0;
-    __r.__cntrl_ = 0;
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-shared_ptr<_Tp>::shared_ptr(shared_ptr<_Yp>&& __r,
-                            typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type)
-         _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    __r.__ptr_ = 0;
-    __r.__cntrl_ = 0;
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-template<class _Tp>
-template<class _Yp>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp>&& __r,
-#else
-shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp> __r,
-#endif
-                            typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type)
-    : __ptr_(__r.get())
-{
-    typedef __shared_ptr_pointer<_Yp*, default_delete<_Yp>, allocator<_Yp> > _CntrlBlk;
-    __cntrl_ = new _CntrlBlk(__r.get(), default_delete<_Yp>(), allocator<_Yp>());
-    __enable_weak_this(__r.get(), __r.get());
-    __r.release();
-}
-#endif
-
-template<class _Tp>
-template <class _Yp, class _Dp>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp>&& __r,
-#else
-shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp> __r,
-#endif
-                            typename enable_if
-                            <
-                                !is_lvalue_reference<_Dp>::value &&
-                                !is_array<_Yp>::value &&
-                                is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value,
-                                __nat
-                            >::type)
-    : __ptr_(__r.get())
-{
-#if _LIBCPP_STD_VER > 11
-    if (__ptr_ == nullptr)
-        __cntrl_ = nullptr;
-    else
-#endif
-    {
-        typedef typename __shared_ptr_default_allocator<_Yp>::type _AllocT;
-        typedef __shared_ptr_pointer<_Yp*, _Dp, _AllocT > _CntrlBlk;
-        __cntrl_ = new _CntrlBlk(__r.get(), __r.get_deleter(), _AllocT());
-        __enable_weak_this(__r.get(), __r.get());
-    }
-    __r.release();
-}
-
-template<class _Tp>
-template <class _Yp, class _Dp>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp>&& __r,
-#else
-shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp> __r,
-#endif
-                            typename enable_if
-                            <
-                                is_lvalue_reference<_Dp>::value &&
-                                !is_array<_Yp>::value &&
-                                is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value,
-                                __nat
-                            >::type)
-    : __ptr_(__r.get())
-{
-#if _LIBCPP_STD_VER > 11
-    if (__ptr_ == nullptr)
-        __cntrl_ = nullptr;
-    else
-#endif
-    {
-        typedef typename __shared_ptr_default_allocator<_Yp>::type _AllocT;
-        typedef __shared_ptr_pointer<_Yp*,
-                                     reference_wrapper<typename remove_reference<_Dp>::type>,
-                                     _AllocT > _CntrlBlk;
-        __cntrl_ = new _CntrlBlk(__r.get(), ref(__r.get_deleter()), _AllocT());
-        __enable_weak_this(__r.get(), __r.get());
-    }
-    __r.release();
-}
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-
-template<class _Tp>
-template<class ..._Args>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::make_shared(_Args&& ...__args)
-{
-    static_assert( is_constructible<_Tp, _Args...>::value, "Can't construct object in make_shared" );
-    typedef __shared_ptr_emplace<_Tp, allocator<_Tp> > _CntrlBlk;
-    typedef allocator<_CntrlBlk> _A2;
-    typedef __allocator_destructor<_A2> _D2;
-    _A2 __a2;
-    unique_ptr<_CntrlBlk, _D2> __hold2(__a2.allocate(1), _D2(__a2, 1));
-    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = __hold2.release();
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-template<class _Tp>
-template<class _Alloc, class ..._Args>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::allocate_shared(const _Alloc& __a, _Args&& ...__args)
-{
-    static_assert( is_constructible<_Tp, _Args...>::value, "Can't construct object in allocate_shared" );
-    typedef __shared_ptr_emplace<_Tp, _Alloc> _CntrlBlk;
-    typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _A2;
-    typedef __allocator_destructor<_A2> _D2;
-    _A2 __a2(__a);
-    unique_ptr<_CntrlBlk, _D2> __hold2(__a2.allocate(1), _D2(__a2, 1));
-    ::new(static_cast<void*>(_VSTD::addressof(*__hold2.get())))
-        _CntrlBlk(__a, _VSTD::forward<_Args>(__args)...);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = _VSTD::addressof(*__hold2.release());
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-#else  // _LIBCPP_HAS_NO_VARIADICS
-
-template<class _Tp>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::make_shared()
-{
-    static_assert((is_constructible<_Tp>::value), "Can't construct object in make_shared" );
-    typedef __shared_ptr_emplace<_Tp, allocator<_Tp> > _CntrlBlk;
-    typedef allocator<_CntrlBlk> _Alloc2;
-    typedef __allocator_destructor<_Alloc2> _D2;
-    _Alloc2 __alloc2;
-    unique_ptr<_CntrlBlk, _D2> __hold2(__alloc2.allocate(1), _D2(__alloc2, 1));
-    ::new(__hold2.get()) _CntrlBlk(__alloc2);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = __hold2.release();
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-template<class _Tp>
-template<class _A0>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::make_shared(_A0& __a0)
-{
-    static_assert((is_constructible<_Tp, _A0>::value), "Can't construct object in make_shared" );
-    typedef __shared_ptr_emplace<_Tp, allocator<_Tp> > _CntrlBlk;
-    typedef allocator<_CntrlBlk> _Alloc2;
-    typedef __allocator_destructor<_Alloc2> _D2;
-    _Alloc2 __alloc2;
-    unique_ptr<_CntrlBlk, _D2> __hold2(__alloc2.allocate(1), _D2(__alloc2, 1));
-    ::new(__hold2.get()) _CntrlBlk(__alloc2, __a0);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = __hold2.release();
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-template<class _Tp>
-template<class _A0, class _A1>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::make_shared(_A0& __a0, _A1& __a1)
-{
-    static_assert((is_constructible<_Tp, _A0, _A1>::value), "Can't construct object in make_shared" );
-    typedef __shared_ptr_emplace<_Tp, allocator<_Tp> > _CntrlBlk;
-    typedef allocator<_CntrlBlk> _Alloc2;
-    typedef __allocator_destructor<_Alloc2> _D2;
-    _Alloc2 __alloc2;
-    unique_ptr<_CntrlBlk, _D2> __hold2(__alloc2.allocate(1), _D2(__alloc2, 1));
-    ::new(__hold2.get()) _CntrlBlk(__alloc2, __a0, __a1);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = __hold2.release();
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-template<class _Tp>
-template<class _A0, class _A1, class _A2>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::make_shared(_A0& __a0, _A1& __a1, _A2& __a2)
-{
-    static_assert((is_constructible<_Tp, _A0, _A1, _A2>::value), "Can't construct object in make_shared" );
-    typedef __shared_ptr_emplace<_Tp, allocator<_Tp> > _CntrlBlk;
-    typedef allocator<_CntrlBlk> _Alloc2;
-    typedef __allocator_destructor<_Alloc2> _D2;
-    _Alloc2 __alloc2;
-    unique_ptr<_CntrlBlk, _D2> __hold2(__alloc2.allocate(1), _D2(__alloc2, 1));
-    ::new(__hold2.get()) _CntrlBlk(__alloc2, __a0, __a1, __a2);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = __hold2.release();
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-template<class _Tp>
-template<class _Alloc>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::allocate_shared(const _Alloc& __a)
-{
-    static_assert((is_constructible<_Tp>::value), "Can't construct object in allocate_shared" );
-    typedef __shared_ptr_emplace<_Tp, _Alloc> _CntrlBlk;
-    typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _Alloc2;
-    typedef __allocator_destructor<_Alloc2> _D2;
-    _Alloc2 __alloc2(__a);
-    unique_ptr<_CntrlBlk, _D2> __hold2(__alloc2.allocate(1), _D2(__alloc2, 1));
-    ::new(static_cast<void*>(_VSTD::addressof(*__hold2.get())))
-        _CntrlBlk(__a);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = _VSTD::addressof(*__hold2.release());
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-template<class _Tp>
-template<class _Alloc, class _A0>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::allocate_shared(const _Alloc& __a, _A0& __a0)
-{
-    static_assert((is_constructible<_Tp, _A0>::value), "Can't construct object in allocate_shared" );
-    typedef __shared_ptr_emplace<_Tp, _Alloc> _CntrlBlk;
-    typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _Alloc2;
-    typedef __allocator_destructor<_Alloc2> _D2;
-    _Alloc2 __alloc2(__a);
-    unique_ptr<_CntrlBlk, _D2> __hold2(__alloc2.allocate(1), _D2(__alloc2, 1));
-    ::new(static_cast<void*>(_VSTD::addressof(*__hold2.get())))
-        _CntrlBlk(__a, __a0);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = _VSTD::addressof(*__hold2.release());
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-template<class _Tp>
-template<class _Alloc, class _A0, class _A1>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::allocate_shared(const _Alloc& __a, _A0& __a0, _A1& __a1)
-{
-    static_assert((is_constructible<_Tp, _A0, _A1>::value), "Can't construct object in allocate_shared" );
-    typedef __shared_ptr_emplace<_Tp, _Alloc> _CntrlBlk;
-    typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _Alloc2;
-    typedef __allocator_destructor<_Alloc2> _D2;
-    _Alloc2 __alloc2(__a);
-    unique_ptr<_CntrlBlk, _D2> __hold2(__alloc2.allocate(1), _D2(__alloc2, 1));
-    ::new(static_cast<void*>(_VSTD::addressof(*__hold2.get())))
-        _CntrlBlk(__a, __a0, __a1);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = _VSTD::addressof(*__hold2.release());
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-template<class _Tp>
-template<class _Alloc, class _A0, class _A1, class _A2>
-shared_ptr<_Tp>
-shared_ptr<_Tp>::allocate_shared(const _Alloc& __a, _A0& __a0, _A1& __a1, _A2& __a2)
-{
-    static_assert((is_constructible<_Tp, _A0, _A1, _A2>::value), "Can't construct object in allocate_shared" );
-    typedef __shared_ptr_emplace<_Tp, _Alloc> _CntrlBlk;
-    typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _Alloc2;
-    typedef __allocator_destructor<_Alloc2> _D2;
-    _Alloc2 __alloc2(__a);
-    unique_ptr<_CntrlBlk, _D2> __hold2(__alloc2.allocate(1), _D2(__alloc2, 1));
-    ::new(static_cast<void*>(_VSTD::addressof(*__hold2.get())))
-        _CntrlBlk(__a, __a0, __a1, __a2);
-    shared_ptr<_Tp> __r;
-    __r.__ptr_ = __hold2.get()->get();
-    __r.__cntrl_ = _VSTD::addressof(*__hold2.release());
-    __r.__enable_weak_this(__r.__ptr_, __r.__ptr_);
-    return __r;
-}
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-template<class _Tp>
-shared_ptr<_Tp>::~shared_ptr()
-{
-    if (__cntrl_)
-        __cntrl_->__release_shared();
-}
-
-template<class _Tp>
-inline
-shared_ptr<_Tp>&
-shared_ptr<_Tp>::operator=(const shared_ptr& __r) _NOEXCEPT
-{
-    shared_ptr(__r).swap(*this);
-    return *this;
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-typename enable_if
-<
-    is_convertible<_Yp*, typename shared_ptr<_Tp>::element_type*>::value,
-    shared_ptr<_Tp>&
->::type
-shared_ptr<_Tp>::operator=(const shared_ptr<_Yp>& __r) _NOEXCEPT
-{
-    shared_ptr(__r).swap(*this);
-    return *this;
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template<class _Tp>
-inline
-shared_ptr<_Tp>&
-shared_ptr<_Tp>::operator=(shared_ptr&& __r) _NOEXCEPT
-{
-    shared_ptr(_VSTD::move(__r)).swap(*this);
-    return *this;
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-typename enable_if
-<
-    is_convertible<_Yp*, typename shared_ptr<_Tp>::element_type*>::value,
-    shared_ptr<_Tp>&
->::type
-shared_ptr<_Tp>::operator=(shared_ptr<_Yp>&& __r)
-{
-    shared_ptr(_VSTD::move(__r)).swap(*this);
-    return *this;
-}
-
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-template<class _Tp>
-template<class _Yp>
-inline
-typename enable_if
-<
-    !is_array<_Yp>::value &&
-    is_convertible<_Yp*, typename shared_ptr<_Tp>::element_type*>::value,
-    shared_ptr<_Tp>
->::type&
-shared_ptr<_Tp>::operator=(auto_ptr<_Yp>&& __r)
-{
-    shared_ptr(_VSTD::move(__r)).swap(*this);
-    return *this;
-}
-#endif
-
-template<class _Tp>
-template <class _Yp, class _Dp>
-inline
-typename enable_if
-<
-    !is_array<_Yp>::value &&
-    is_convertible<typename unique_ptr<_Yp, _Dp>::pointer,
-                   typename shared_ptr<_Tp>::element_type*>::value,
-    shared_ptr<_Tp>&
->::type
-shared_ptr<_Tp>::operator=(unique_ptr<_Yp, _Dp>&& __r)
-{
-    shared_ptr(_VSTD::move(__r)).swap(*this);
-    return *this;
-}
-
-#else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-template<class _Tp>
-template<class _Yp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_array<_Yp>::value &&
-    is_convertible<_Yp*, typename shared_ptr<_Tp>::element_type*>::value,
-    shared_ptr<_Tp>&
->::type
-shared_ptr<_Tp>::operator=(auto_ptr<_Yp> __r)
-{
-    shared_ptr(__r).swap(*this);
-    return *this;
-}
-#endif
-
-template<class _Tp>
-template <class _Yp, class _Dp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_array<_Yp>::value &&
-    is_convertible<typename unique_ptr<_Yp, _Dp>::pointer,
-                   typename shared_ptr<_Tp>::element_type*>::value,
-    shared_ptr<_Tp>&
->::type
-shared_ptr<_Tp>::operator=(unique_ptr<_Yp, _Dp> __r)
-{
-    shared_ptr(_VSTD::move(__r)).swap(*this);
-    return *this;
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template<class _Tp>
-inline
-void
-shared_ptr<_Tp>::swap(shared_ptr& __r) _NOEXCEPT
-{
-    _VSTD::swap(__ptr_, __r.__ptr_);
-    _VSTD::swap(__cntrl_, __r.__cntrl_);
-}
-
-template<class _Tp>
-inline
-void
-shared_ptr<_Tp>::reset() _NOEXCEPT
-{
-    shared_ptr().swap(*this);
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-typename enable_if
-<
-    is_convertible<_Yp*, typename shared_ptr<_Tp>::element_type*>::value,
-    void
->::type
-shared_ptr<_Tp>::reset(_Yp* __p)
-{
-    shared_ptr(__p).swap(*this);
-}
-
-template<class _Tp>
-template<class _Yp, class _Dp>
-inline
-typename enable_if
-<
-    is_convertible<_Yp*, typename shared_ptr<_Tp>::element_type*>::value,
-    void
->::type
-shared_ptr<_Tp>::reset(_Yp* __p, _Dp __d)
-{
-    shared_ptr(__p, __d).swap(*this);
-}
-
-template<class _Tp>
-template<class _Yp, class _Dp, class _Alloc>
-inline
-typename enable_if
-<
-    is_convertible<_Yp*, typename shared_ptr<_Tp>::element_type*>::value,
-    void
->::type
-shared_ptr<_Tp>::reset(_Yp* __p, _Dp __d, _Alloc __a)
-{
-    shared_ptr(__p, __d, __a).swap(*this);
-}
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-
-template<class _Tp, class ..._Args>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_array<_Tp>::value,
-    shared_ptr<_Tp>
->::type
-make_shared(_Args&& ...__args)
-{
-    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
-}
-
-template<class _Tp, class _Alloc, class ..._Args>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_array<_Tp>::value,
-    shared_ptr<_Tp>
->::type
-allocate_shared(const _Alloc& __a, _Args&& ...__args)
-{
-    return shared_ptr<_Tp>::allocate_shared(__a, _VSTD::forward<_Args>(__args)...);
-}
-
-#else  // _LIBCPP_HAS_NO_VARIADICS
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-shared_ptr<_Tp>
-make_shared()
-{
-    return shared_ptr<_Tp>::make_shared();
-}
-
-template<class _Tp, class _A0>
-inline _LIBCPP_INLINE_VISIBILITY
-shared_ptr<_Tp>
-make_shared(_A0& __a0)
-{
-    return shared_ptr<_Tp>::make_shared(__a0);
-}
-
-template<class _Tp, class _A0, class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-shared_ptr<_Tp>
-make_shared(_A0& __a0, _A1& __a1)
-{
-    return shared_ptr<_Tp>::make_shared(__a0, __a1);
-}
-
-template<class _Tp, class _A0, class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-shared_ptr<_Tp>
-make_shared(_A0& __a0, _A1& __a1, _A2& __a2)
-{
-    return shared_ptr<_Tp>::make_shared(__a0, __a1, __a2);
-}
-
-template<class _Tp, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-shared_ptr<_Tp>
-allocate_shared(const _Alloc& __a)
-{
-    return shared_ptr<_Tp>::allocate_shared(__a);
-}
-
-template<class _Tp, class _Alloc, class _A0>
-inline _LIBCPP_INLINE_VISIBILITY
-shared_ptr<_Tp>
-allocate_shared(const _Alloc& __a, _A0& __a0)
-{
-    return shared_ptr<_Tp>::allocate_shared(__a, __a0);
-}
-
-template<class _Tp, class _Alloc, class _A0, class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-shared_ptr<_Tp>
-allocate_shared(const _Alloc& __a, _A0& __a0, _A1& __a1)
-{
-    return shared_ptr<_Tp>::allocate_shared(__a, __a0, __a1);
-}
-
-template<class _Tp, class _Alloc, class _A0, class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-shared_ptr<_Tp>
-allocate_shared(const _Alloc& __a, _A0& __a0, _A1& __a1, _A2& __a2)
-{
-    return shared_ptr<_Tp>::allocate_shared(__a, __a0, __a1, __a2);
-}
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
-{
-    return __x.get() == __y.get();
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
-{
-    return !(__x == __y);
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
-{
-#if _LIBCPP_STD_VER <= 11
-    typedef typename common_type<_Tp*, _Up*>::type _Vp;
-    return less<_Vp>()(__x.get(), __y.get());
-#else
-    return less<>()(__x.get(), __y.get());
-#endif
-
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
-{
-    return __y < __x;
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
-{
-    return !(__y < __x);
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
-{
-    return !(__x < __y);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
-{
-    return !__x;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
-{
-    return !__x;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
-{
-    return static_cast<bool>(__x);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
-{
-    return static_cast<bool>(__x);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
-{
-    return less<_Tp*>()(__x.get(), nullptr);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
-{
-    return less<_Tp*>()(nullptr, __x.get());
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
-{
-    return nullptr < __x;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
-{
-    return __x < nullptr;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
-{
-    return !(nullptr < __x);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
-{
-    return !(__x < nullptr);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
-{
-    return !(__x < nullptr);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
-{
-    return !(nullptr < __x);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(shared_ptr<_Tp>& __x, shared_ptr<_Tp>& __y) _NOEXCEPT
-{
-    __x.swap(__y);
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_array<_Tp>::value && !is_array<_Up>::value,
-    shared_ptr<_Tp>
->::type
-static_pointer_cast(const shared_ptr<_Up>& __r) _NOEXCEPT
-{
-    return shared_ptr<_Tp>(__r, static_cast<_Tp*>(__r.get()));
-}
-
-template<class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_array<_Tp>::value && !is_array<_Up>::value,
-    shared_ptr<_Tp>
->::type
-dynamic_pointer_cast(const shared_ptr<_Up>& __r) _NOEXCEPT
-{
-    _Tp* __p = dynamic_cast<_Tp*>(__r.get());
-    return __p ? shared_ptr<_Tp>(__r, __p) : shared_ptr<_Tp>();
-}
-
-template<class _Tp, class _Up>
-typename enable_if
-<
-    is_array<_Tp>::value == is_array<_Up>::value,
-    shared_ptr<_Tp>
->::type
-const_pointer_cast(const shared_ptr<_Up>& __r) _NOEXCEPT
-{
-    typedef typename remove_extent<_Tp>::type _RTp;
-    return shared_ptr<_Tp>(__r, const_cast<_RTp*>(__r.get()));
-}
-
-#ifndef _LIBCPP_NO_RTTI
-
-template<class _Dp, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Dp*
-get_deleter(const shared_ptr<_Tp>& __p) _NOEXCEPT
-{
-    return __p.template __get_deleter<_Dp>();
-}
-
-#endif  // _LIBCPP_NO_RTTI
-
-template<class _Tp>
-class _LIBCPP_TEMPLATE_VIS weak_ptr
-{
-public:
-    typedef _Tp element_type;
-private:
-    element_type*        __ptr_;
-    __shared_weak_count* __cntrl_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR weak_ptr() _NOEXCEPT;
-    template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(shared_ptr<_Yp> const& __r,
-                   typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0)
-                        _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    weak_ptr(weak_ptr const& __r) _NOEXCEPT;
-    template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(weak_ptr<_Yp> const& __r,
-                   typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0)
-                         _NOEXCEPT;
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    _LIBCPP_INLINE_VISIBILITY
-    weak_ptr(weak_ptr&& __r) _NOEXCEPT;
-    template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(weak_ptr<_Yp>&& __r,
-                   typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0)
-                         _NOEXCEPT;
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-    ~weak_ptr();
-
-    _LIBCPP_INLINE_VISIBILITY
-    weak_ptr& operator=(weak_ptr const& __r) _NOEXCEPT;
-    template<class _Yp>
-        typename enable_if
-        <
-            is_convertible<_Yp*, element_type*>::value,
-            weak_ptr&
-        >::type
-        _LIBCPP_INLINE_VISIBILITY
-        operator=(weak_ptr<_Yp> const& __r) _NOEXCEPT;
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-    _LIBCPP_INLINE_VISIBILITY
-    weak_ptr& operator=(weak_ptr&& __r) _NOEXCEPT;
-    template<class _Yp>
-        typename enable_if
-        <
-            is_convertible<_Yp*, element_type*>::value,
-            weak_ptr&
-        >::type
-        _LIBCPP_INLINE_VISIBILITY
-        operator=(weak_ptr<_Yp>&& __r) _NOEXCEPT;
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-    template<class _Yp>
-        typename enable_if
-        <
-            is_convertible<_Yp*, element_type*>::value,
-            weak_ptr&
-        >::type
-        _LIBCPP_INLINE_VISIBILITY
-        operator=(shared_ptr<_Yp> const& __r) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(weak_ptr& __r) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    long use_count() const _NOEXCEPT
-        {return __cntrl_ ? __cntrl_->use_count() : 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool expired() const _NOEXCEPT
-        {return __cntrl_ == 0 || __cntrl_->use_count() == 0;}
-    shared_ptr<_Tp> lock() const _NOEXCEPT;
-    template<class _Up>
-        _LIBCPP_INLINE_VISIBILITY
-        bool owner_before(const shared_ptr<_Up>& __r) const _NOEXCEPT
-        {return __cntrl_ < __r.__cntrl_;}
-    template<class _Up>
-        _LIBCPP_INLINE_VISIBILITY
-        bool owner_before(const weak_ptr<_Up>& __r) const _NOEXCEPT
-        {return __cntrl_ < __r.__cntrl_;}
-
-    template <class _Up> friend class _LIBCPP_TEMPLATE_VIS weak_ptr;
-    template <class _Up> friend class _LIBCPP_TEMPLATE_VIS shared_ptr;
-};
-
-template<class _Tp>
-inline
-_LIBCPP_CONSTEXPR
-weak_ptr<_Tp>::weak_ptr() _NOEXCEPT
-    : __ptr_(0),
-      __cntrl_(0)
-{
-}
-
-template<class _Tp>
-inline
-weak_ptr<_Tp>::weak_ptr(weak_ptr const& __r) _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    if (__cntrl_)
-        __cntrl_->__add_weak();
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> const& __r,
-                        typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type)
-                         _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    if (__cntrl_)
-        __cntrl_->__add_weak();
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp> const& __r,
-                        typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type)
-         _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    if (__cntrl_)
-        __cntrl_->__add_weak();
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template<class _Tp>
-inline
-weak_ptr<_Tp>::weak_ptr(weak_ptr&& __r) _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    __r.__ptr_ = 0;
-    __r.__cntrl_ = 0;
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp>&& __r,
-                        typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type)
-         _NOEXCEPT
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_)
-{
-    __r.__ptr_ = 0;
-    __r.__cntrl_ = 0;
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template<class _Tp>
-weak_ptr<_Tp>::~weak_ptr()
-{
-    if (__cntrl_)
-        __cntrl_->__release_weak();
-}
-
-template<class _Tp>
-inline
-weak_ptr<_Tp>&
-weak_ptr<_Tp>::operator=(weak_ptr const& __r) _NOEXCEPT
-{
-    weak_ptr(__r).swap(*this);
-    return *this;
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-typename enable_if
-<
-    is_convertible<_Yp*, _Tp*>::value,
-    weak_ptr<_Tp>&
->::type
-weak_ptr<_Tp>::operator=(weak_ptr<_Yp> const& __r) _NOEXCEPT
-{
-    weak_ptr(__r).swap(*this);
-    return *this;
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template<class _Tp>
-inline
-weak_ptr<_Tp>&
-weak_ptr<_Tp>::operator=(weak_ptr&& __r) _NOEXCEPT
-{
-    weak_ptr(_VSTD::move(__r)).swap(*this);
-    return *this;
-}
-
-template<class _Tp>
-template<class _Yp>
-inline
-typename enable_if
-<
-    is_convertible<_Yp*, _Tp*>::value,
-    weak_ptr<_Tp>&
->::type
-weak_ptr<_Tp>::operator=(weak_ptr<_Yp>&& __r) _NOEXCEPT
-{
-    weak_ptr(_VSTD::move(__r)).swap(*this);
-    return *this;
-}
-
-#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template<class _Tp>
-template<class _Yp>
-inline
-typename enable_if
-<
-    is_convertible<_Yp*, _Tp*>::value,
-    weak_ptr<_Tp>&
->::type
-weak_ptr<_Tp>::operator=(shared_ptr<_Yp> const& __r) _NOEXCEPT
-{
-    weak_ptr(__r).swap(*this);
-    return *this;
-}
-
-template<class _Tp>
-inline
-void
-weak_ptr<_Tp>::swap(weak_ptr& __r) _NOEXCEPT
-{
-    _VSTD::swap(__ptr_, __r.__ptr_);
-    _VSTD::swap(__cntrl_, __r.__cntrl_);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(weak_ptr<_Tp>& __x, weak_ptr<_Tp>& __y) _NOEXCEPT
-{
-    __x.swap(__y);
-}
-
-template<class _Tp>
-inline
-void
-weak_ptr<_Tp>::reset() _NOEXCEPT
-{
-    weak_ptr().swap(*this);
-}
-
-template<class _Tp>
-template<class _Yp>
-shared_ptr<_Tp>::shared_ptr(const weak_ptr<_Yp>& __r,
-                            typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type)
-    : __ptr_(__r.__ptr_),
-      __cntrl_(__r.__cntrl_ ? __r.__cntrl_->lock() : __r.__cntrl_)
-{
-    if (__cntrl_ == 0)
-        __throw_bad_weak_ptr();
-}
-
-template<class _Tp>
-shared_ptr<_Tp>
-weak_ptr<_Tp>::lock() const _NOEXCEPT
-{
-    shared_ptr<_Tp> __r;
-    __r.__cntrl_ = __cntrl_ ? __cntrl_->lock() : __cntrl_;
-    if (__r.__cntrl_)
-        __r.__ptr_ = __ptr_;
-    return __r;
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp = void> struct owner_less;
-#else
-template <class _Tp> struct owner_less;
-#endif
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS owner_less<shared_ptr<_Tp> >
-    : binary_function<shared_ptr<_Tp>, shared_ptr<_Tp>, bool>
-{
-    typedef bool result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(shared_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(shared_ptr<_Tp> const& __x,   weak_ptr<_Tp> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(  weak_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS owner_less<weak_ptr<_Tp> >
-    : binary_function<weak_ptr<_Tp>, weak_ptr<_Tp>, bool>
-{
-    typedef bool result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(  weak_ptr<_Tp> const& __x,   weak_ptr<_Tp> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(shared_ptr<_Tp> const& __x,   weak_ptr<_Tp> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(  weak_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-};
-
-#if _LIBCPP_STD_VER > 14
-template <>
-struct _LIBCPP_TEMPLATE_VIS owner_less<void>
-{
-    template <class _Tp, class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()( shared_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-    template <class _Tp, class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()( shared_ptr<_Tp> const& __x,   weak_ptr<_Up> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-    template <class _Tp, class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(   weak_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-    template <class _Tp, class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(   weak_ptr<_Tp> const& __x,   weak_ptr<_Up> const& __y) const _NOEXCEPT
-        {return __x.owner_before(__y);}
-    typedef void is_transparent;
-};
-#endif
-
-template<class _Tp>
-class _LIBCPP_TEMPLATE_VIS enable_shared_from_this
-{
-    mutable weak_ptr<_Tp> __weak_this_;
-protected:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    enable_shared_from_this() _NOEXCEPT {}
-    _LIBCPP_INLINE_VISIBILITY
-    enable_shared_from_this(enable_shared_from_this const&) _NOEXCEPT {}
-    _LIBCPP_INLINE_VISIBILITY
-    enable_shared_from_this& operator=(enable_shared_from_this const&) _NOEXCEPT
-        {return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    ~enable_shared_from_this() {}
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    shared_ptr<_Tp> shared_from_this()
-        {return shared_ptr<_Tp>(__weak_this_);}
-    _LIBCPP_INLINE_VISIBILITY
-    shared_ptr<_Tp const> shared_from_this() const
-        {return shared_ptr<const _Tp>(__weak_this_);}
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    weak_ptr<_Tp> weak_from_this() _NOEXCEPT
-       { return __weak_this_; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    weak_ptr<const _Tp> weak_from_this() const _NOEXCEPT
-        { return __weak_this_; }
-#endif // _LIBCPP_STD_VER > 14
-
-    template <class _Up> friend class shared_ptr;
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS hash<shared_ptr<_Tp> >
-{
-    typedef shared_ptr<_Tp>      argument_type;
-    typedef size_t               result_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator()(const argument_type& __ptr) const _NOEXCEPT
-    {
-        return hash<_Tp*>()(__ptr.get());
-    }
-};
-
-template<class _CharT, class _Traits, class _Yp>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p);
-
-
-#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
-
-class _LIBCPP_TYPE_VIS __sp_mut
-{
-    void* __lx;
-public:
-    void lock() _NOEXCEPT;
-    void unlock() _NOEXCEPT;
-
-private:
-    _LIBCPP_CONSTEXPR __sp_mut(void*) _NOEXCEPT;
-    __sp_mut(const __sp_mut&);
-    __sp_mut& operator=(const __sp_mut&);
-
-    friend _LIBCPP_FUNC_VIS __sp_mut& __get_sp_mut(const void*);
-};
-
-_LIBCPP_FUNC_VIS _LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-__sp_mut& __get_sp_mut(const void*);
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-atomic_is_lock_free(const shared_ptr<_Tp>*)
-{
-    return false;
-}
-
-template <class _Tp>
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-shared_ptr<_Tp>
-atomic_load(const shared_ptr<_Tp>* __p)
-{
-    __sp_mut& __m = __get_sp_mut(__p);
-    __m.lock();
-    shared_ptr<_Tp> __q = *__p;
-    __m.unlock();
-    return __q;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-shared_ptr<_Tp>
-atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
-{
-    return atomic_load(__p);
-}
-
-template <class _Tp>
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-void
-atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
-{
-    __sp_mut& __m = __get_sp_mut(__p);
-    __m.lock();
-    __p->swap(__r);
-    __m.unlock();
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-void
-atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order)
-{
-    atomic_store(__p, __r);
-}
-
-template <class _Tp>
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-shared_ptr<_Tp>
-atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
-{
-    __sp_mut& __m = __get_sp_mut(__p);
-    __m.lock();
-    __p->swap(__r);
-    __m.unlock();
-    return __r;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-shared_ptr<_Tp>
-atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order)
-{
-    return atomic_exchange(__p, __r);
-}
-
-template <class _Tp>
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-bool
-atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w)
-{
-    shared_ptr<_Tp> __temp;
-    __sp_mut& __m = __get_sp_mut(__p);
-    __m.lock();
-    if (__p->__owner_equivalent(*__v))
-    {
-        _VSTD::swap(__temp, *__p);
-        *__p = __w;
-        __m.unlock();
-        return true;
-    }
-    _VSTD::swap(__temp, *__v);
-    *__v = *__p;
-    __m.unlock();
-    return false;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-bool
-atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w)
-{
-    return atomic_compare_exchange_strong(__p, __v, __w);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-bool
-atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
-                                        shared_ptr<_Tp> __w, memory_order, memory_order)
-{
-    return atomic_compare_exchange_strong(__p, __v, __w);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
-bool
-atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
-                                      shared_ptr<_Tp> __w, memory_order, memory_order)
-{
-    return atomic_compare_exchange_weak(__p, __v, __w);
-}
-
-#endif  // !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
-
-//enum class
-#if defined(_LIBCPP_ABI_POINTER_SAFETY_ENUM_TYPE)
-# ifndef _LIBCPP_CXX03_LANG
-enum class pointer_safety : unsigned char {
-  relaxed,
-  preferred,
-  strict
-};
-# endif
-#else
-struct _LIBCPP_TYPE_VIS pointer_safety
-{
-    enum __lx
-    {
-        relaxed,
-        preferred,
-        strict
-    };
-
-    __lx __v_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    pointer_safety() : __v_() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    pointer_safety(__lx __v) : __v_(__v) {}
-    _LIBCPP_INLINE_VISIBILITY
-    operator int() const {return __v_;}
-};
-#endif
-
-#if !defined(_LIBCPP_ABI_POINTER_SAFETY_ENUM_TYPE) && \
-    defined(_LIBCPP_BUILDING_LIBRARY)
-_LIBCPP_FUNC_VIS pointer_safety get_pointer_safety() _NOEXCEPT;
-#else
-// This function is only offered in C++03 under ABI v1.
-# if !defined(_LIBCPP_ABI_POINTER_SAFETY_ENUM_TYPE) || !defined(_LIBCPP_CXX03_LANG)
-inline _LIBCPP_INLINE_VISIBILITY
-pointer_safety get_pointer_safety() _NOEXCEPT {
-  return pointer_safety::relaxed;
-}
-# endif
-#endif
-
-
-_LIBCPP_FUNC_VIS void declare_reachable(void* __p);
-_LIBCPP_FUNC_VIS void declare_no_pointers(char* __p, size_t __n);
-_LIBCPP_FUNC_VIS void undeclare_no_pointers(char* __p, size_t __n);
-_LIBCPP_FUNC_VIS void* __undeclare_reachable(void* __p);
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp*
-undeclare_reachable(_Tp* __p)
-{
-    return static_cast<_Tp*>(__undeclare_reachable(__p));
-}
-
-_LIBCPP_FUNC_VIS void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space);
-
-// --- Helper for container swap --
-template <typename _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void __swap_allocator(_Alloc & __a1, _Alloc & __a2)
-#if _LIBCPP_STD_VER >= 14
-    _NOEXCEPT
-#else
-    _NOEXCEPT_(__is_nothrow_swappable<_Alloc>::value)
-#endif
-{
-    __swap_allocator(__a1, __a2,
-      integral_constant<bool, _VSTD::allocator_traits<_Alloc>::propagate_on_container_swap::value>());
-}
-
-template <typename _Alloc>
-_LIBCPP_INLINE_VISIBILITY
-void __swap_allocator(_Alloc & __a1, _Alloc & __a2, true_type)
-#if _LIBCPP_STD_VER >= 14
-    _NOEXCEPT
-#else
-    _NOEXCEPT_(__is_nothrow_swappable<_Alloc>::value)
-#endif
-{
-    using _VSTD::swap;
-    swap(__a1, __a2);
-}
-
-template <typename _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void __swap_allocator(_Alloc &, _Alloc &, false_type) _NOEXCEPT {}
-
-template <typename _Alloc, typename _Traits=allocator_traits<_Alloc> >
-struct __noexcept_move_assign_container : public integral_constant<bool,
-    _Traits::propagate_on_container_move_assignment::value
-#if _LIBCPP_STD_VER > 14
-        || _Traits::is_always_equal::value
-#else
-        && is_nothrow_move_assignable<_Alloc>::value
-#endif
-    > {};
-
-
-#ifndef _LIBCPP_HAS_NO_VARIADICS
-template <class _Tp, class _Alloc>
-struct __temp_value {
-    typedef allocator_traits<_Alloc> _Traits;
-
-    typename aligned_storage<sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)>::type __v;
-    _Alloc &__a;
-
-    _Tp *__addr() { return reinterpret_cast<_Tp *>(addressof(__v)); }
-    _Tp &   get() { return *__addr(); }
-
-    template<class... _Args>
-    _LIBCPP_NO_CFI
-    __temp_value(_Alloc &__alloc, _Args&& ... __args) : __a(__alloc) {
-      _Traits::construct(__a, reinterpret_cast<_Tp*>(addressof(__v)),
-                         _VSTD::forward<_Args>(__args)...);
-    }
-
-    ~__temp_value() { _Traits::destroy(__a, __addr()); }
-    };
-#endif
-
-template<typename _Alloc, typename = void, typename = void>
-struct __is_allocator : false_type {};
-
-template<typename _Alloc>
-struct __is_allocator<_Alloc,
-       typename __void_t<typename _Alloc::value_type>::type,
-       typename __void_t<decltype(_VSTD::declval<_Alloc&>().allocate(size_t(0)))>::type
-     >
-   : true_type {};
-
-// __builtin_new_allocator -- A non-templated helper for allocating and
-// deallocating memory using __builtin_operator_new and
-// __builtin_operator_delete. It should be used in preference to
-// `std::allocator<T>` to avoid additional instantiations.
-struct __builtin_new_allocator {
-  struct __builtin_new_deleter {
-    typedef void* pointer_type;
-
-    _LIBCPP_CONSTEXPR explicit __builtin_new_deleter(size_t __size, size_t __align)
-        : __size_(__size), __align_(__align) {}
-
-    void operator()(void* p) const _NOEXCEPT {
-        std::__libcpp_deallocate(p, __size_, __align_);
-    }
-
-   private:
-    size_t __size_;
-    size_t __align_;
-  };
-
-  typedef unique_ptr<void, __builtin_new_deleter> __holder_t;
-
-  static __holder_t __allocate_bytes(size_t __s, size_t __align) {
-      return __holder_t(std::__libcpp_allocate(__s, __align),
-                     __builtin_new_deleter(__s, __align));
-  }
-
-  static void __deallocate_bytes(void* __p, size_t __s,
-                                 size_t __align) _NOEXCEPT {
-      std::__libcpp_deallocate(__p, __s, __align);
-  }
-
-  template <class _Tp>
-  _LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE
-  static __holder_t __allocate_type(size_t __n) {
-      return __allocate_bytes(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));
-  }
-
-  template <class _Tp>
-  _LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE
-  static void __deallocate_type(void* __p, size_t __n) _NOEXCEPT {
-      __deallocate_bytes(__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));
-  }
-};
-
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17
-#   include <__pstl_memory>
-#endif
-
-#endif  // _LIBCPP_MEMORY
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/module.modulemap b/r21/sources/cxx-stl/llvm-libc++/include/module.modulemap
deleted file mode 100644
index 31d39dd..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/module.modulemap
+++ /dev/null
@@ -1,612 +0,0 @@
-// define the module for __config outside of the top level 'std' module
-// since __config may be included from C headers which may create an
-// include cycle.
-module std_config [system] [extern_c] {
-    header "__config"
-}
-
-module std [system] {
-  export std_config
-  // FIXME: The standard does not require that each of these submodules
-  // re-exports its imported modules. We should provide an alternative form of
-  // export that issues a warning if a name from the submodule is used, and
-  // use that to provide a 'strict mode' for libc++.
-
-  // Deprecated C-compatibility headers. These can all be included from within
-  // an 'extern "C"' context.
-  module depr [extern_c] {
-    // <assert.h> provided by C library.
-    module ctype_h {
-      header "ctype.h"
-      export *
-    }
-    module errno_h {
-      header "errno.h"
-      export *
-    }
-    module fenv_h {
-      header "fenv.h"
-      export *
-    }
-    // <float.h> provided by compiler or C library.
-    module inttypes_h {
-      header "inttypes.h"
-      export stdint_h
-      export *
-    }
-    // <iso646.h> provided by compiler.
-    // <limits.h> provided by compiler or C library.
-    module locale_h {
-      header "locale.h"
-      export *
-    }
-    module math_h {
-      header "math.h"
-      export *
-    }
-    module setjmp_h {
-      header "setjmp.h"
-      export *
-    }
-    // FIXME: <stdalign.h> is missing.
-    // <signal.h> provided by C library.
-    // <stdarg.h> provided by compiler.
-    // <stdbool.h> provided by compiler.
-    module stddef_h {
-      // <stddef.h>'s __need_* macros require textual inclusion.
-      textual header "stddef.h"
-    }
-    module stdint_h {
-      header "stdint.h"
-      export *
-      // FIXME: This module only exists on OS X and for some reason the
-      // wildcard above doesn't export it.
-      export Darwin.C.stdint
-    }
-    module stdio_h {
-      // <stdio.h>'s __need_* macros require textual inclusion.
-      textual header "stdio.h"
-      export *
-      export Darwin.C.stdio
-    }
-    module stdlib_h {
-      // <stdlib.h>'s __need_* macros require textual inclusion.
-      textual header "stdlib.h"
-      export *
-    }
-    module string_h {
-      header "string.h"
-      export *
-    }
-    // FIXME: <uchar.h> is missing.
-    // <time.h> provided by C library.
-    module wchar_h {
-      // <wchar.h>'s __need_* macros require textual inclusion.
-      textual header "wchar.h"
-      export *
-    }
-    module wctype_h {
-      header "wctype.h"
-      export *
-    }
-  }
-
-  // <complex.h> and <tgmath.h> are not C headers in any real sense, do not
-  // allow their use in extern "C" contexts.
-  module complex_h {
-    header "complex.h"
-    export ccomplex
-    export *
-  }
-  module tgmath_h {
-    header "tgmath.h"
-    export ccomplex
-    export cmath
-    export *
-  }
-
-  // C compatibility headers.
-  module compat {
-    module cassert {
-      // <cassert>'s use of NDEBUG requires textual inclusion.
-      textual header "cassert"
-    }
-    module ccomplex {
-      header "ccomplex"
-      export complex
-      export *
-    }
-    module cctype {
-      header "cctype"
-      export *
-    }
-    module cerrno {
-      header "cerrno"
-      export *
-    }
-    module cfenv {
-      header "cfenv"
-      export *
-    }
-    module cfloat {
-      header "cfloat"
-      export *
-    }
-    module cinttypes {
-      header "cinttypes"
-      export cstdint
-      export *
-    }
-    module ciso646 {
-      header "ciso646"
-      export *
-    }
-    module climits {
-      header "climits"
-      export *
-    }
-    module clocale {
-      header "clocale"
-      export *
-    }
-    module cmath {
-      header "cmath"
-      export *
-    }
-    module csetjmp {
-      header "csetjmp"
-      export *
-    }
-    module csignal {
-      header "csignal"
-      export *
-    }
-    // FIXME: <cstdalign> is missing.
-    module cstdarg {
-      header "cstdarg"
-      export *
-    }
-    module cstdbool {
-      header "cstdbool"
-      export *
-    }
-    module cstddef {
-      header "cstddef"
-      export *
-    }
-    module cstdint {
-      header "cstdint"
-      export depr.stdint_h
-      export *
-    }
-    module cstdio {
-      header "cstdio"
-      export *
-    }
-    module cstdlib {
-      header "cstdlib"
-      export *
-    }
-    module cstring {
-      header "cstring"
-      export *
-    }
-    module ctgmath {
-      header "ctgmath"
-      export ccomplex
-      export cmath
-      export *
-    }
-    module ctime {
-      header "ctime"
-      export *
-    }
-    // FIXME: <cuchar> is missing.
-    module cwchar {
-      header "cwchar"
-      export depr.stdio_h
-      export *
-    }
-    module cwctype {
-      header "cwctype"
-      export *
-    }
-  }
-
-  module algorithm {
-    header "algorithm"
-    export initializer_list
-    export *
-  }
-  module any {
-    header "any"
-    export *
-  }
-  module array {
-    header "array"
-    export initializer_list
-    export *
-  }
-  module atomic {
-    header "atomic"
-    export *
-  }
-  module bit {
-    header "bit"
-    export *
-  }
-  module bitset {
-    header "bitset"
-    export string
-    export iosfwd
-    export *
-  }
-  // No submodule for cassert. It fundamentally needs repeated, textual inclusion.
-  module charconv {
-    header "charconv"
-    export *
-  }
-  module chrono {
-    header "chrono"
-    export *
-  }
-  module codecvt {
-    header "codecvt"
-    export *
-  }
-  module compare {
-    header "compare"
-    export *
-  }
-  module complex {
-    header "complex"
-    export *
-  }
-  module condition_variable {
-    header "condition_variable"
-    export *
-  }
-  module deque {
-    header "deque"
-    export initializer_list
-    export *
-  }
-  module exception {
-    header "exception"
-    export *
-  }
-  module execution {
-    header "execution"
-    export *
-  }
-  module filesystem {
-    header "filesystem"
-    export *
-  }
-  module forward_list {
-    header "forward_list"
-    export initializer_list
-    export *
-  }
-  module fstream {
-    header "fstream"
-    export *
-  }
-  module functional {
-    header "functional"
-    export *
-  }
-  module future {
-    header "future"
-    export *
-  }
-  module initializer_list {
-    header "initializer_list"
-    export *
-  }
-  module iomanip {
-    header "iomanip"
-    export *
-  }
-  module ios {
-    header "ios"
-    export iosfwd
-    export *
-  }
-  module iosfwd {
-    header "iosfwd"
-    export *
-  }
-  module iostream {
-    header "iostream"
-    export ios
-    export streambuf
-    export istream
-    export ostream
-    export *
-  }
-  module istream {
-    header "istream"
-    // FIXME: should re-export ios, streambuf?
-    export *
-  }
-  module iterator {
-    header "iterator"
-    export *
-  }
-  module limits {
-    header "limits"
-    export *
-  }
-  module list {
-    header "list"
-    export initializer_list
-    export *
-  }
-  module locale {
-    header "locale"
-    export *
-  }
-  module map {
-    header "map"
-    export initializer_list
-    export *
-  }
-  module memory {
-    header "memory"
-    export *
-  }
-  module mutex {
-    header "mutex"
-    export *
-  }
-  module new {
-    header "new"
-    export *
-  }
-  module numeric {
-    header "numeric"
-    export *
-  }
-  module optional {
-    header "optional"
-    export *
-  }
-  module ostream {
-    header "ostream"
-    // FIXME: should re-export ios, streambuf?
-    export *
-  }
-  module queue {
-    header "queue"
-    export initializer_list
-    export *
-  }
-  module random {
-    header "random"
-    export initializer_list
-    export *
-  }
-  module ratio {
-    header "ratio"
-    export *
-  }
-  module regex {
-    header "regex"
-    export initializer_list
-    export *
-  }
-  module scoped_allocator {
-    header "scoped_allocator"
-    export *
-  }
-  module set {
-    header "set"
-    export initializer_list
-    export *
-  }
-  module sstream {
-    header "sstream"
-    // FIXME: should re-export istream, ostream, ios, streambuf, string?
-    export *
-  }
-  module stack {
-    header "stack"
-    export initializer_list
-    export *
-  }
-  module stdexcept {
-    header "stdexcept"
-    export *
-  }
-  module streambuf {
-    header "streambuf"
-    export *
-  }
-  module string {
-    header "string"
-    export initializer_list
-    export string_view
-    export __string
-    export *
-  }
-  module string_view {
-    header "string_view"
-    export initializer_list
-    export __string
-    export *
-  }
-  module strstream {
-    header "strstream"
-    export *
-  }
-  module system_error {
-    header "system_error"
-    export *
-  }
-  module thread {
-    header "thread"
-    export *
-  }
-  module tuple {
-    header "tuple"
-    export *
-  }
-  module type_traits {
-    header "type_traits"
-    export *
-  }
-  module typeindex {
-    header "typeindex"
-    export *
-  }
-  module typeinfo {
-    header "typeinfo"
-    export *
-  }
-  module unordered_map {
-    header "unordered_map"
-    export initializer_list
-    export *
-  }
-  module unordered_set {
-    header "unordered_set"
-    export initializer_list
-    export *
-  }
-  module utility {
-    header "utility"
-    export initializer_list
-    export *
-  }
-  module valarray {
-    header "valarray"
-    export initializer_list
-    export *
-  }
-  module variant {
-    header "variant"
-    export *
-  }
-  module vector {
-    header "vector"
-    export initializer_list
-    export *
-  }
-  module version {
-    header "version"
-    export *
-  }
-
-  // FIXME: These should be private.
-  module __bit_reference { header "__bit_reference" export * }
-  module __debug { header "__debug" export * }
-  module __errc { header "__errc" export * }
-  module __functional_base { header "__functional_base" export * }
-  module __hash_table { header "__hash_table" export * }
-  module __locale { header "__locale" export * }
-  module __mutex_base { header "__mutex_base" export * }
-  module __split_buffer { header "__split_buffer" export * }
-  module __sso_allocator { header "__sso_allocator" export * }
-  module __std_stream { header "__std_stream" export * }
-  module __string { header "__string" export * }
-  module __tree { header "__tree" export * }
-  module __tuple { header "__tuple" export * }
-  module __undef_macros { header "__undef_macros" export * }
-  module __node_handle { header "__node_handle" export * }
-
-  module experimental {
-    requires cplusplus11
-
-    module algorithm {
-      header "experimental/algorithm"
-      export *
-    }
-     module coroutine {
-      requires coroutines
-      header "experimental/coroutine"
-      export *
-    }
-    module deque {
-      header "experimental/deque"
-      export *
-    }
-    module filesystem {
-      header "experimental/filesystem"
-      export *
-    }
-    module forward_list {
-      header "experimental/forward_list"
-      export *
-    }
-    module functional {
-      header "experimental/functional"
-      export *
-    }
-    module iterator {
-      header "experimental/iterator"
-      export *
-    }
-    module list {
-      header "experimental/list"
-      export *
-    }
-    module map {
-      header "experimental/map"
-      export *
-    }
-    module memory_resource {
-      header "experimental/memory_resource"
-      export *
-    }
-    module propagate_const {
-      header "experimental/propagate_const"
-      export *
-    }
-    module regex {
-      header "experimental/regex"
-      export *
-    }
-    module simd {
-      header "experimental/simd"
-      export *
-    }
-    module set {
-      header "experimental/set"
-      export *
-    }
-    module span {
-      header "span"
-      export *
-    }
-    module string {
-      header "experimental/string"
-      export *
-    }
-    module type_traits {
-      header "experimental/type_traits"
-      export *
-    }
-    module unordered_map {
-      header "experimental/unordered_map"
-      export *
-    }
-    module unordered_set {
-      header "experimental/unordered_set"
-      export *
-    }
-    module utility {
-      header "experimental/utility"
-      export *
-    }
-    module vector {
-      header "experimental/vector"
-      export *
-    }
-    // FIXME these should be private
-    module __memory {
-      header "experimental/__memory"
-      export *
-    }
-  } // end experimental
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/mutex b/r21/sources/cxx-stl/llvm-libc++/include/mutex
deleted file mode 100644
index dca6220..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/mutex
+++ /dev/null
@@ -1,711 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- mutex ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_MUTEX
-#define _LIBCPP_MUTEX
-
-/*
-    mutex synopsis
-
-namespace std
-{
-
-class mutex
-{
-public:
-     constexpr mutex() noexcept;
-     ~mutex();
-
-    mutex(const mutex&) = delete;
-    mutex& operator=(const mutex&) = delete;
-
-    void lock();
-    bool try_lock();
-    void unlock();
-
-    typedef pthread_mutex_t* native_handle_type;
-    native_handle_type native_handle();
-};
-
-class recursive_mutex
-{
-public:
-     recursive_mutex();
-     ~recursive_mutex();
-
-    recursive_mutex(const recursive_mutex&) = delete;
-    recursive_mutex& operator=(const recursive_mutex&) = delete;
-
-    void lock();
-    bool try_lock() noexcept;
-    void unlock();
-
-    typedef pthread_mutex_t* native_handle_type;
-    native_handle_type native_handle();
-};
-
-class timed_mutex
-{
-public:
-     timed_mutex();
-     ~timed_mutex();
-
-    timed_mutex(const timed_mutex&) = delete;
-    timed_mutex& operator=(const timed_mutex&) = delete;
-
-    void lock();
-    bool try_lock();
-    template <class Rep, class Period>
-        bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
-    template <class Clock, class Duration>
-        bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
-    void unlock();
-};
-
-class recursive_timed_mutex
-{
-public:
-     recursive_timed_mutex();
-     ~recursive_timed_mutex();
-
-    recursive_timed_mutex(const recursive_timed_mutex&) = delete;
-    recursive_timed_mutex& operator=(const recursive_timed_mutex&) = delete;
-
-    void lock();
-    bool try_lock() noexcept;
-    template <class Rep, class Period>
-        bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
-    template <class Clock, class Duration>
-        bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
-    void unlock();
-};
-
-struct defer_lock_t {};
-struct try_to_lock_t {};
-struct adopt_lock_t {};
-
-inline constexpr defer_lock_t  defer_lock{};
-inline constexpr try_to_lock_t try_to_lock{};
-inline constexpr adopt_lock_t  adopt_lock{};
-
-template <class Mutex>
-class lock_guard
-{
-public:
-    typedef Mutex mutex_type;
-
-    explicit lock_guard(mutex_type& m);
-    lock_guard(mutex_type& m, adopt_lock_t);
-    ~lock_guard();
-
-    lock_guard(lock_guard const&) = delete;
-    lock_guard& operator=(lock_guard const&) = delete;
-};
-
-template <class... MutexTypes>
-class scoped_lock // C++17
-{
-public:
-    using mutex_type = Mutex;  // If MutexTypes... consists of the single type Mutex
-
-    explicit scoped_lock(MutexTypes&... m);
-    scoped_lock(adopt_lock_t, MutexTypes&... m);
-    ~scoped_lock();
-    scoped_lock(scoped_lock const&) = delete;
-    scoped_lock& operator=(scoped_lock const&) = delete;
-private:
-    tuple<MutexTypes&...> pm; // exposition only
-};
-
-template <class Mutex>
-class unique_lock
-{
-public:
-    typedef Mutex mutex_type;
-    unique_lock() noexcept;
-    explicit unique_lock(mutex_type& m);
-    unique_lock(mutex_type& m, defer_lock_t) noexcept;
-    unique_lock(mutex_type& m, try_to_lock_t);
-    unique_lock(mutex_type& m, adopt_lock_t);
-    template <class Clock, class Duration>
-        unique_lock(mutex_type& m, const chrono::time_point<Clock, Duration>& abs_time);
-    template <class Rep, class Period>
-        unique_lock(mutex_type& m, const chrono::duration<Rep, Period>& rel_time);
-    ~unique_lock();
-
-    unique_lock(unique_lock const&) = delete;
-    unique_lock& operator=(unique_lock const&) = delete;
-
-    unique_lock(unique_lock&& u) noexcept;
-    unique_lock& operator=(unique_lock&& u) noexcept;
-
-    void lock();
-    bool try_lock();
-
-    template <class Rep, class Period>
-        bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
-    template <class Clock, class Duration>
-        bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
-
-    void unlock();
-
-    void swap(unique_lock& u) noexcept;
-    mutex_type* release() noexcept;
-
-    bool owns_lock() const noexcept;
-    explicit operator bool () const noexcept;
-    mutex_type* mutex() const noexcept;
-};
-
-template <class Mutex>
-  void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y) noexcept;
-
-template <class L1, class L2, class... L3>
-  int try_lock(L1&, L2&, L3&...);
-template <class L1, class L2, class... L3>
-  void lock(L1&, L2&, L3&...);
-
-struct once_flag
-{
-    constexpr once_flag() noexcept;
-
-    once_flag(const once_flag&) = delete;
-    once_flag& operator=(const once_flag&) = delete;
-};
-
-template<class Callable, class ...Args>
-  void call_once(once_flag& flag, Callable&& func, Args&&... args);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__mutex_base>
-#include <cstdint>
-#include <functional>
-#include <memory>
-#ifndef _LIBCPP_CXX03_LANG
-#include <tuple>
-#endif
-#include <version>
-#include <__threading_support>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifndef _LIBCPP_HAS_NO_THREADS
-
-class _LIBCPP_TYPE_VIS recursive_mutex
-{
-    __libcpp_recursive_mutex_t __m_;
-
-public:
-     recursive_mutex();
-     ~recursive_mutex();
-
-private:
-    recursive_mutex(const recursive_mutex&); // = delete;
-    recursive_mutex& operator=(const recursive_mutex&); // = delete;
-
-public:
-    void lock();
-    bool try_lock() _NOEXCEPT;
-    void unlock()  _NOEXCEPT;
-
-    typedef __libcpp_recursive_mutex_t* native_handle_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    native_handle_type native_handle() {return &__m_;}
-};
-
-class _LIBCPP_TYPE_VIS timed_mutex
-{
-    mutex              __m_;
-    condition_variable __cv_;
-    bool               __locked_;
-public:
-     timed_mutex();
-     ~timed_mutex();
-
-private:
-    timed_mutex(const timed_mutex&); // = delete;
-    timed_mutex& operator=(const timed_mutex&); // = delete;
-
-public:
-    void lock();
-    bool try_lock() _NOEXCEPT;
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        bool try_lock_for(const chrono::duration<_Rep, _Period>& __d)
-            {return try_lock_until(chrono::steady_clock::now() + __d);}
-    template <class _Clock, class _Duration>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        bool try_lock_until(const chrono::time_point<_Clock, _Duration>& __t);
-    void unlock() _NOEXCEPT;
-};
-
-template <class _Clock, class _Duration>
-bool
-timed_mutex::try_lock_until(const chrono::time_point<_Clock, _Duration>& __t)
-{
-    using namespace chrono;
-    unique_lock<mutex> __lk(__m_);
-    bool no_timeout = _Clock::now() < __t;
-    while (no_timeout && __locked_)
-        no_timeout = __cv_.wait_until(__lk, __t) == cv_status::no_timeout;
-    if (!__locked_)
-    {
-        __locked_ = true;
-        return true;
-    }
-    return false;
-}
-
-class _LIBCPP_TYPE_VIS recursive_timed_mutex
-{
-    mutex              __m_;
-    condition_variable __cv_;
-    size_t             __count_;
-    __thread_id        __id_;
-public:
-     recursive_timed_mutex();
-     ~recursive_timed_mutex();
-
-private:
-    recursive_timed_mutex(const recursive_timed_mutex&); // = delete;
-    recursive_timed_mutex& operator=(const recursive_timed_mutex&); // = delete;
-
-public:
-    void lock();
-    bool try_lock() _NOEXCEPT;
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        bool try_lock_for(const chrono::duration<_Rep, _Period>& __d)
-            {return try_lock_until(chrono::steady_clock::now() + __d);}
-    template <class _Clock, class _Duration>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        bool try_lock_until(const chrono::time_point<_Clock, _Duration>& __t);
-    void unlock() _NOEXCEPT;
-};
-
-template <class _Clock, class _Duration>
-bool
-recursive_timed_mutex::try_lock_until(const chrono::time_point<_Clock, _Duration>& __t)
-{
-    using namespace chrono;
-    __thread_id __id = this_thread::get_id();
-    unique_lock<mutex> lk(__m_);
-    if (__id == __id_)
-    {
-        if (__count_ == numeric_limits<size_t>::max())
-            return false;
-        ++__count_;
-        return true;
-    }
-    bool no_timeout = _Clock::now() < __t;
-    while (no_timeout && __count_ != 0)
-        no_timeout = __cv_.wait_until(lk, __t) == cv_status::no_timeout;
-    if (__count_ == 0)
-    {
-        __count_ = 1;
-        __id_ = __id;
-        return true;
-    }
-    return false;
-}
-
-template <class _L0, class _L1>
-int
-try_lock(_L0& __l0, _L1& __l1)
-{
-    unique_lock<_L0> __u0(__l0, try_to_lock);
-    if (__u0.owns_lock())
-    {
-        if (__l1.try_lock())
-        {
-            __u0.release();
-            return -1;
-        }
-        else
-            return 1;
-    }
-    return 0;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _L0, class _L1, class _L2, class... _L3>
-int
-try_lock(_L0& __l0, _L1& __l1, _L2& __l2, _L3&... __l3)
-{
-    int __r = 0;
-    unique_lock<_L0> __u0(__l0, try_to_lock);
-    if (__u0.owns_lock())
-    {
-        __r = try_lock(__l1, __l2, __l3...);
-        if (__r == -1)
-            __u0.release();
-        else
-            ++__r;
-    }
-    return __r;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _L0, class _L1>
-void
-lock(_L0& __l0, _L1& __l1)
-{
-    while (true)
-    {
-        {
-            unique_lock<_L0> __u0(__l0);
-            if (__l1.try_lock())
-            {
-                __u0.release();
-                break;
-            }
-        }
-        __libcpp_thread_yield();
-        {
-            unique_lock<_L1> __u1(__l1);
-            if (__l0.try_lock())
-            {
-                __u1.release();
-                break;
-            }
-        }
-        __libcpp_thread_yield();
-    }
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _L0, class _L1, class _L2, class ..._L3>
-void
-__lock_first(int __i, _L0& __l0, _L1& __l1, _L2& __l2, _L3& ...__l3)
-{
-    while (true)
-    {
-        switch (__i)
-        {
-        case 0:
-            {
-                unique_lock<_L0> __u0(__l0);
-                __i = try_lock(__l1, __l2, __l3...);
-                if (__i == -1)
-                {
-                    __u0.release();
-                    return;
-                }
-            }
-            ++__i;
-            __libcpp_thread_yield();
-            break;
-        case 1:
-            {
-                unique_lock<_L1> __u1(__l1);
-                __i = try_lock(__l2, __l3..., __l0);
-                if (__i == -1)
-                {
-                    __u1.release();
-                    return;
-                }
-            }
-            if (__i == sizeof...(_L3) + 1)
-                __i = 0;
-            else
-                __i += 2;
-            __libcpp_thread_yield();
-            break;
-        default:
-            __lock_first(__i - 2, __l2, __l3..., __l0, __l1);
-            return;
-        }
-    }
-}
-
-template <class _L0, class _L1, class _L2, class ..._L3>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-lock(_L0& __l0, _L1& __l1, _L2& __l2, _L3& ...__l3)
-{
-    __lock_first(0, __l0, __l1, __l2, __l3...);
-}
-
-template <class _L0>
-inline _LIBCPP_INLINE_VISIBILITY
-void __unlock(_L0& __l0) {
-    __l0.unlock();
-}
-
-template <class _L0, class _L1>
-inline _LIBCPP_INLINE_VISIBILITY
-void __unlock(_L0& __l0, _L1& __l1) {
-    __l0.unlock();
-    __l1.unlock();
-}
-
-template <class _L0, class _L1, class _L2, class ..._L3>
-inline _LIBCPP_INLINE_VISIBILITY
-void __unlock(_L0& __l0, _L1& __l1, _L2& __l2, _L3&... __l3) {
-    __l0.unlock();
-    __l1.unlock();
-    _VSTD::__unlock(__l2, __l3...);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#if _LIBCPP_STD_VER > 14
-template <class ..._Mutexes>
-class _LIBCPP_TEMPLATE_VIS scoped_lock;
-
-template <>
-class _LIBCPP_TEMPLATE_VIS scoped_lock<> {
-public:
-    explicit scoped_lock() {}
-    ~scoped_lock() = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit scoped_lock(adopt_lock_t) {}
-
-    scoped_lock(scoped_lock const&) = delete;
-    scoped_lock& operator=(scoped_lock const&) = delete;
-};
-
-template <class _Mutex>
-class _LIBCPP_TEMPLATE_VIS _LIBCPP_THREAD_SAFETY_ANNOTATION(scoped_lockable) scoped_lock<_Mutex> {
-public:
-    typedef _Mutex  mutex_type;
-private:
-    mutex_type& __m_;
-public:
-    explicit scoped_lock(mutex_type & __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m))
-        : __m_(__m) {__m_.lock();}
-
-    ~scoped_lock() _LIBCPP_THREAD_SAFETY_ANNOTATION(release_capability()) {__m_.unlock();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit scoped_lock(adopt_lock_t, mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m))
-        : __m_(__m) {}
-
-    scoped_lock(scoped_lock const&) = delete;
-    scoped_lock& operator=(scoped_lock const&) = delete;
-};
-
-template <class ..._MArgs>
-class _LIBCPP_TEMPLATE_VIS scoped_lock
-{
-    static_assert(sizeof...(_MArgs) > 1, "At least 2 lock types required");
-    typedef tuple<_MArgs&...> _MutexTuple;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit scoped_lock(_MArgs&... __margs)
-      : __t_(__margs...)
-    {
-        _VSTD::lock(__margs...);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    scoped_lock(adopt_lock_t, _MArgs&... __margs)
-        : __t_(__margs...)
-    {
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~scoped_lock() {
-        typedef typename __make_tuple_indices<sizeof...(_MArgs)>::type _Indices;
-        __unlock_unpack(_Indices{}, __t_);
-    }
-
-    scoped_lock(scoped_lock const&) = delete;
-    scoped_lock& operator=(scoped_lock const&) = delete;
-
-private:
-    template <size_t ..._Indx>
-    _LIBCPP_INLINE_VISIBILITY
-    static void __unlock_unpack(__tuple_indices<_Indx...>, _MutexTuple& __mt) {
-        _VSTD::__unlock(_VSTD::get<_Indx>(__mt)...);
-    }
-
-    _MutexTuple __t_;
-};
-
-#endif // _LIBCPP_STD_VER > 14
-#endif // !_LIBCPP_HAS_NO_THREADS
-
-struct _LIBCPP_TEMPLATE_VIS once_flag;
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _Callable, class... _Args>
-_LIBCPP_INLINE_VISIBILITY
-void call_once(once_flag&, _Callable&&, _Args&&...);
-
-#else  // _LIBCPP_CXX03_LANG
-
-template<class _Callable>
-_LIBCPP_INLINE_VISIBILITY
-void call_once(once_flag&, _Callable&);
-
-template<class _Callable>
-_LIBCPP_INLINE_VISIBILITY
-void call_once(once_flag&, const _Callable&);
-
-#endif  // _LIBCPP_CXX03_LANG
-
-struct _LIBCPP_TEMPLATE_VIS once_flag
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR
-        once_flag() _NOEXCEPT : __state_(0) {}
-
-#if defined(_LIBCPP_ABI_MICROSOFT)
-   typedef uintptr_t _State_type;
-#else
-   typedef unsigned long _State_type;
-#endif
-
-
-private:
-    once_flag(const once_flag&); // = delete;
-    once_flag& operator=(const once_flag&); // = delete;
-
-    _State_type __state_;
-
-#ifndef _LIBCPP_CXX03_LANG
-    template<class _Callable, class... _Args>
-    friend
-    void call_once(once_flag&, _Callable&&, _Args&&...);
-#else  // _LIBCPP_CXX03_LANG
-    template<class _Callable>
-    friend
-    void call_once(once_flag&, _Callable&);
-
-    template<class _Callable>
-    friend
-    void call_once(once_flag&, const _Callable&);
-#endif  // _LIBCPP_CXX03_LANG
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Fp>
-class __call_once_param
-{
-    _Fp& __f_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __call_once_param(_Fp& __f) : __f_(__f) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()()
-    {
-        typedef typename __make_tuple_indices<tuple_size<_Fp>::value, 1>::type _Index;
-        __execute(_Index());
-    }
-
-private:
-    template <size_t ..._Indices>
-    _LIBCPP_INLINE_VISIBILITY
-    void __execute(__tuple_indices<_Indices...>)
-    {
-        __invoke(_VSTD::get<0>(_VSTD::move(__f_)), _VSTD::get<_Indices>(_VSTD::move(__f_))...);
-    }
-};
-
-#else
-
-template <class _Fp>
-class __call_once_param
-{
-    _Fp& __f_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __call_once_param(_Fp& __f) : __f_(__f) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()()
-    {
-        __f_();
-    }
-};
-
-#endif
-
-template <class _Fp>
-void
-__call_once_proxy(void* __vp)
-{
-    __call_once_param<_Fp>* __p = static_cast<__call_once_param<_Fp>*>(__vp);
-    (*__p)();
-}
-
-_LIBCPP_FUNC_VIS void __call_once(volatile once_flag::_State_type&, void*,
-                                  void (*)(void*));
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _Callable, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-call_once(once_flag& __flag, _Callable&& __func, _Args&&... __args)
-{
-    if (__libcpp_acquire_load(&__flag.__state_) != ~once_flag::_State_type(0))
-    {
-        typedef tuple<_Callable&&, _Args&&...> _Gp;
-        _Gp __f(_VSTD::forward<_Callable>(__func), _VSTD::forward<_Args>(__args)...);
-        __call_once_param<_Gp> __p(__f);
-        __call_once(__flag.__state_, &__p, &__call_once_proxy<_Gp>);
-    }
-}
-
-#else  // _LIBCPP_CXX03_LANG
-
-template<class _Callable>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-call_once(once_flag& __flag, _Callable& __func)
-{
-    if (__libcpp_acquire_load(&__flag.__state_) != ~once_flag::_State_type(0))
-    {
-        __call_once_param<_Callable> __p(__func);
-        __call_once(__flag.__state_, &__p, &__call_once_proxy<_Callable>);
-    }
-}
-
-template<class _Callable>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-call_once(once_flag& __flag, const _Callable& __func)
-{
-    if (__libcpp_acquire_load(&__flag.__state_) != ~once_flag::_State_type(0))
-    {
-        __call_once_param<const _Callable> __p(__func);
-        __call_once(__flag.__state_, &__p, &__call_once_proxy<const _Callable>);
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_MUTEX
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/new b/r21/sources/cxx-stl/llvm-libc++/include/new
deleted file mode 100644
index 85e4c4b..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/new
+++ /dev/null
@@ -1,372 +0,0 @@
-// -*- C++ -*-
-//===----------------------------- new ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_NEW
-#define _LIBCPP_NEW
-
-/*
-    new synopsis
-
-namespace std
-{
-
-class bad_alloc
-    : public exception
-{
-public:
-    bad_alloc() noexcept;
-    bad_alloc(const bad_alloc&) noexcept;
-    bad_alloc& operator=(const bad_alloc&) noexcept;
-    virtual const char* what() const noexcept;
-};
-
-class bad_array_new_length : public bad_alloc // C++14
-{
-public:
-    bad_array_new_length() noexcept;
-};
-
-enum class align_val_t : size_t {}; // C++17
-
-struct destroying_delete_t { // C++20
-  explicit destroying_delete_t() = default;
-};
-inline constexpr destroying_delete_t destroying_delete{}; // C++20
-
-struct nothrow_t {};
-extern const nothrow_t nothrow;
-typedef void (*new_handler)();
-new_handler set_new_handler(new_handler new_p) noexcept;
-new_handler get_new_handler() noexcept;
-
-// 21.6.4, pointer optimization barrier
-template <class T> constexpr T* launder(T* p) noexcept; // C++17
-}  // std
-
-void* operator new(std::size_t size);                                   // replaceable, nodiscard in C++2a
-void* operator new(std::size_t size, std::align_val_t alignment);       // replaceable, C++17, nodiscard in C++2a
-void* operator new(std::size_t size, const std::nothrow_t&) noexcept;   // replaceable, nodiscard in C++2a
-void* operator new(std::size_t size, std::align_val_t alignment,
-                   const std::nothrow_t&) noexcept;                     // replaceable, C++17, nodiscard in C++2a
-void  operator delete(void* ptr) noexcept;                              // replaceable
-void  operator delete(void* ptr, std::size_t size) noexcept;            // replaceable, C++14
-void  operator delete(void* ptr, std::align_val_t alignment) noexcept;  // replaceable, C++17
-void  operator delete(void* ptr, std::size_t size,
-                      std::align_val_t alignment) noexcept;             // replaceable, C++17
-void  operator delete(void* ptr, const std::nothrow_t&) noexcept;       // replaceable
-void  operator delete(void* ptr, std:align_val_t alignment,
-                      const std::nothrow_t&) noexcept;                  // replaceable, C++17
-
-void* operator new[](std::size_t size);                                 // replaceable, nodiscard in C++2a
-void* operator new[](std::size_t size,
-                     std::align_val_t alignment) noexcept;              // replaceable, C++17, nodiscard in C++2a
-void* operator new[](std::size_t size, const std::nothrow_t&) noexcept; // replaceable, nodiscard in C++2a
-void* operator new[](std::size_t size, std::align_val_t alignment,
-                     const std::nothrow_t&) noexcept;                   // replaceable, C++17, nodiscard in C++2a
-void  operator delete[](void* ptr) noexcept;                            // replaceable
-void  operator delete[](void* ptr, std::size_t size) noexcept;          // replaceable, C++14
-void  operator delete[](void* ptr,
-                        std::align_val_t alignment) noexcept;           // replaceable, C++17
-void  operator delete[](void* ptr, std::size_t size,
-                        std::align_val_t alignment) noexcept;           // replaceable, C++17
-void  operator delete[](void* ptr, const std::nothrow_t&) noexcept;     // replaceable
-void  operator delete[](void* ptr, std::align_val_t alignment,
-                        const std::nothrow_t&) noexcept;                // replaceable, C++17
-
-void* operator new  (std::size_t size, void* ptr) noexcept;             // nodiscard in C++2a
-void* operator new[](std::size_t size, void* ptr) noexcept;             // nodiscard in C++2a
-void  operator delete  (void* ptr, void*) noexcept;
-void  operator delete[](void* ptr, void*) noexcept;
-
-*/
-
-#include <__config>
-#include <exception>
-#include <type_traits>
-#include <cstddef>
-#include <version>
-#ifdef _LIBCPP_NO_EXCEPTIONS
-#include <cstdlib>
-#endif
-
-#if defined(_LIBCPP_ABI_VCRUNTIME)
-#include <new.h>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#if !defined(__cpp_sized_deallocation) || __cpp_sized_deallocation  < 201309L
-#define _LIBCPP_HAS_NO_LANGUAGE_SIZED_DEALLOCATION
-#endif
-
-#if !defined(_LIBCPP_BUILDING_LIBRARY) && _LIBCPP_STD_VER < 14 && \
-    defined(_LIBCPP_HAS_NO_LANGUAGE_SIZED_DEALLOCATION)
-# define _LIBCPP_HAS_NO_LIBRARY_SIZED_DEALLOCATION
-#endif
-
-#if defined(_LIBCPP_HAS_NO_LIBRARY_SIZED_DEALLOCATION) || \
-    defined(_LIBCPP_HAS_NO_LANGUAGE_SIZED_DEALLOCATION)
-# define _LIBCPP_HAS_NO_SIZED_DEALLOCATION
-#endif
-
-#if !__has_builtin(__builtin_operator_new) || \
-   __has_builtin(__builtin_operator_new) < 201802L
-#define _LIBCPP_HAS_NO_BUILTIN_OVERLOADED_OPERATOR_NEW_DELETE
-#endif
-
-namespace std  // purposefully not using versioning namespace
-{
-
-#if !defined(_LIBCPP_ABI_VCRUNTIME)
-struct _LIBCPP_TYPE_VIS nothrow_t {};
-extern _LIBCPP_FUNC_VIS const nothrow_t nothrow;
-
-class _LIBCPP_EXCEPTION_ABI bad_alloc
-    : public exception
-{
-public:
-    bad_alloc() _NOEXCEPT;
-    virtual ~bad_alloc() _NOEXCEPT;
-    virtual const char* what() const _NOEXCEPT;
-};
-
-class _LIBCPP_EXCEPTION_ABI bad_array_new_length
-    : public bad_alloc
-{
-public:
-    bad_array_new_length() _NOEXCEPT;
-    virtual ~bad_array_new_length() _NOEXCEPT;
-    virtual const char* what() const _NOEXCEPT;
-};
-
-typedef void (*new_handler)();
-_LIBCPP_FUNC_VIS new_handler set_new_handler(new_handler) _NOEXCEPT;
-_LIBCPP_FUNC_VIS new_handler get_new_handler() _NOEXCEPT;
-
-#endif // !_LIBCPP_ABI_VCRUNTIME
-
-_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void __throw_bad_alloc();  // not in C++ spec
-
-#if !defined(_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION) && \
-    !defined(_LIBCPP_ABI_VCRUNTIME)
-#ifndef _LIBCPP_CXX03_LANG
-enum class _LIBCPP_ENUM_VIS align_val_t : size_t { };
-#else
-enum align_val_t { __zero = 0, __max = (size_t)-1 };
-#endif
-#endif
-
-#if _LIBCPP_STD_VER > 17
-// Enable the declaration even if the compiler doesn't support the language
-// feature.
-struct destroying_delete_t {
-  explicit destroying_delete_t() = default;
-};
-_LIBCPP_INLINE_VAR constexpr destroying_delete_t destroying_delete{};
-#endif // _LIBCPP_STD_VER > 17
-
-}  // std
-
-#if defined(_LIBCPP_CXX03_LANG)
-#define _THROW_BAD_ALLOC throw(std::bad_alloc)
-#else
-#define _THROW_BAD_ALLOC
-#endif
-
-#if !defined(_LIBCPP_ABI_VCRUNTIME)
-
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete(void* __p) _NOEXCEPT;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete(void* __p, const std::nothrow_t&) _NOEXCEPT;
-#ifndef _LIBCPP_HAS_NO_LIBRARY_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void  operator delete(void* __p, std::size_t __sz) _NOEXCEPT;
-#endif
-
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz) _THROW_BAD_ALLOC;
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete[](void* __p) _NOEXCEPT;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete[](void* __p, const std::nothrow_t&) _NOEXCEPT;
-#ifndef _LIBCPP_HAS_NO_LIBRARY_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void  operator delete[](void* __p, std::size_t __sz) _NOEXCEPT;
-#endif
-
-#ifndef _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete(void* __p, std::align_val_t) _NOEXCEPT;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete(void* __p, std::align_val_t, const std::nothrow_t&) _NOEXCEPT;
-#ifndef _LIBCPP_HAS_NO_LIBRARY_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void  operator delete(void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
-#endif
-
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
-_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete[](void* __p, std::align_val_t) _NOEXCEPT;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete[](void* __p, std::align_val_t, const std::nothrow_t&) _NOEXCEPT;
-#ifndef _LIBCPP_HAS_NO_LIBRARY_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE void  operator delete[](void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
-#endif
-#endif
-
-_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
-_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new[](std::size_t, void* __p) _NOEXCEPT {return __p;}
-inline _LIBCPP_INLINE_VISIBILITY void  operator delete  (void*, void*) _NOEXCEPT {}
-inline _LIBCPP_INLINE_VISIBILITY void  operator delete[](void*, void*) _NOEXCEPT {}
-
-#endif // !_LIBCPP_ABI_VCRUNTIME
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-_LIBCPP_CONSTEXPR inline _LIBCPP_INLINE_VISIBILITY bool __is_overaligned_for_new(size_t __align) _NOEXCEPT {
-#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__
-  return __align > __STDCPP_DEFAULT_NEW_ALIGNMENT__;
-#else
-  return __align > alignment_of<max_align_t>::value;
-#endif
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void *__libcpp_allocate(size_t __size, size_t __align) {
-#ifndef _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
-  if (__is_overaligned_for_new(__align)) {
-    const align_val_t __align_val = static_cast<align_val_t>(__align);
-# ifdef _LIBCPP_HAS_NO_BUILTIN_OVERLOADED_OPERATOR_NEW_DELETE
-    return ::operator new(__size, __align_val);
-# else
-    return __builtin_operator_new(__size, __align_val);
-# endif
-  }
-#else
-  ((void)__align);
-#endif
-#ifdef _LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE
-  return ::operator new(__size);
-#else
-  return __builtin_operator_new(__size);
-#endif
-}
-
-struct _DeallocateCaller {
-  static inline _LIBCPP_INLINE_VISIBILITY
-  void __do_deallocate_handle_size_align(void *__ptr, size_t __size, size_t __align) {
-#if defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION)
-    ((void)__align);
-    return __do_deallocate_handle_size(__ptr, __size);
-#else
-    if (__is_overaligned_for_new(__align)) {
-      const align_val_t __align_val = static_cast<align_val_t>(__align);
-      return __do_deallocate_handle_size(__ptr, __size, __align_val);
-    } else {
-      return __do_deallocate_handle_size(__ptr, __size);
-    }
-#endif
-  }
-
-  static inline _LIBCPP_INLINE_VISIBILITY
-  void __do_deallocate_handle_align(void *__ptr, size_t __align) {
-#if defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION)
-    ((void)__align);
-    return __do_call(__ptr);
-#else
-    if (__is_overaligned_for_new(__align)) {
-      const align_val_t __align_val = static_cast<align_val_t>(__align);
-      return __do_call(__ptr, __align_val);
-    } else {
-      return __do_call(__ptr);
-    }
-#endif
-  }
-
- private:
-  static inline void __do_deallocate_handle_size(void *__ptr, size_t __size) {
-#ifdef _LIBCPP_HAS_NO_SIZED_DEALLOCATION
-    ((void)__size);
-    return __do_call(__ptr);
-#else
-    return __do_call(__ptr, __size);
-#endif
-  }
-
-#ifndef _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
-  static inline void __do_deallocate_handle_size(void *__ptr, size_t __size, align_val_t __align) {
-#ifdef _LIBCPP_HAS_NO_SIZED_DEALLOCATION
-    ((void)__size);
-    return __do_call(__ptr, __align);
-#else
-    return __do_call(__ptr, __size, __align);
-#endif
-  }
-#endif
-
-private:
-  template <class _A1, class _A2>
-  static inline void __do_call(void *__ptr, _A1 __a1, _A2 __a2) {
-#if defined(_LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE) || \
-    defined(_LIBCPP_HAS_NO_BUILTIN_OVERLOADED_OPERATOR_NEW_DELETE)
-    return ::operator delete(__ptr, __a1, __a2);
-#else
-    return __builtin_operator_delete(__ptr, __a1, __a2);
-#endif
-  }
-
-  template <class _A1>
-  static inline void __do_call(void *__ptr, _A1 __a1) {
-#if defined(_LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE) || \
-    defined(_LIBCPP_HAS_NO_BUILTIN_OVERLOADED_OPERATOR_NEW_DELETE)
-    return ::operator delete(__ptr, __a1);
-#else
-    return __builtin_operator_delete(__ptr, __a1);
-#endif
-  }
-
-  static inline void __do_call(void *__ptr) {
-#ifdef _LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE
-    return ::operator delete(__ptr);
-#else
-    return __builtin_operator_delete(__ptr);
-#endif
-  }
-};
-
-inline _LIBCPP_INLINE_VISIBILITY void __libcpp_deallocate(void* __ptr, size_t __size, size_t __align) {
-  _DeallocateCaller::__do_deallocate_handle_size_align(__ptr, __size, __align);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY void __libcpp_deallocate_unsized(void* __ptr, size_t __align) {
-  _DeallocateCaller::__do_deallocate_handle_align(__ptr, __align);
-}
-
-template <class _Tp>
-_LIBCPP_NODISCARD_AFTER_CXX17 inline
-_LIBCPP_CONSTEXPR _Tp* __launder(_Tp* __p) _NOEXCEPT
-{
-    static_assert (!(is_function<_Tp>::value), "can't launder functions" );
-    static_assert (!(is_same<void, typename remove_cv<_Tp>::type>::value), "can't launder cv-void" );
-#ifdef _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER
-    return __builtin_launder(__p);
-#else
-    return __p;
-#endif
-}
-
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp>
-_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY
-constexpr _Tp* launder(_Tp* __p) noexcept
-{
-    return _VSTD::__launder(__p);
-}
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_NEW
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/numeric b/r21/sources/cxx-stl/llvm-libc++/include/numeric
deleted file mode 100644
index 854bbfa..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/numeric
+++ /dev/null
@@ -1,593 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- numeric ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_NUMERIC
-#define _LIBCPP_NUMERIC
-
-/*
-    numeric synopsis
-
-namespace std
-{
-
-template <class InputIterator, class T>
-    T
-    accumulate(InputIterator first, InputIterator last, T init);
-
-template <class InputIterator, class T, class BinaryOperation>
-    T
-    accumulate(InputIterator first, InputIterator last, T init, BinaryOperation binary_op);
-
-template<class InputIterator>
-    typename iterator_traits<InputIterator>::value_type
-    reduce(InputIterator first, InputIterator last);  // C++17
-
-template<class InputIterator, class T>
-    T
-    reduce(InputIterator first, InputIterator last, T init);  // C++17
-
-template<class InputIterator, class T, class BinaryOperation>
-    T
-    reduce(InputIterator first, InputIterator last, T init, BinaryOperation binary_op);  // C++17
-
-template <class InputIterator1, class InputIterator2, class T>
-    T
-    inner_product(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, T init);
-
-template <class InputIterator1, class InputIterator2, class T, class BinaryOperation1, class BinaryOperation2>
-    T
-    inner_product(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2,
-                  T init, BinaryOperation1 binary_op1, BinaryOperation2 binary_op2);
-
-
-template<class InputIterator1, class InputIterator2, class T>
-    T
-    transform_reduce(InputIterator1 first1, InputIterator1 last1,
-                     InputIterator2 first2, T init);  // C++17
-
-template<class InputIterator1, class InputIterator2, class T, class BinaryOperation1, class BinaryOperation2>
-    T
-    transform_reduce(InputIterator1 first1, InputIterator1 last1,
-                     InputIterator2 first2, T init,
-                     BinaryOperation1 binary_op1, BinaryOperation2 binary_op2);  // C++17
-
-template<class InputIterator, class T, class BinaryOperation, class UnaryOperation>
-    T
-    transform_reduce(InputIterator first, InputIterator last, T init,
-                     BinaryOperation binary_op, UnaryOperation unary_op);  // C++17
-
-template <class InputIterator, class OutputIterator>
-    OutputIterator
-    partial_sum(InputIterator first, InputIterator last, OutputIterator result);
-
-template <class InputIterator, class OutputIterator, class BinaryOperation>
-    OutputIterator
-    partial_sum(InputIterator first, InputIterator last, OutputIterator result, BinaryOperation binary_op);
-
-template<class InputIterator, class OutputIterator, class T>
-    OutputIterator
-    exclusive_scan(InputIterator first, InputIterator last,
-                   OutputIterator result, T init); // C++17
-
-template<class InputIterator, class OutputIterator, class T, class BinaryOperation>
-    OutputIterator
-    exclusive_scan(InputIterator first, InputIterator last,
-                   OutputIterator result, T init, BinaryOperation binary_op); // C++17
-
-template<class InputIterator, class OutputIterator>
-    OutputIterator
-    inclusive_scan(InputIterator first, InputIterator last, OutputIterator result);  // C++17
-
-template<class InputIterator, class OutputIterator, class BinaryOperation>
-    OutputIterator
-    inclusive_scan(InputIterator first, InputIterator last,
-                   OutputIterator result, BinaryOperation binary_op);  // C++17
-
-template<class InputIterator, class OutputIterator, class BinaryOperation, class T>
-    OutputIterator
-    inclusive_scan(InputIterator first, InputIterator last,
-                   OutputIterator result, BinaryOperation binary_op, T init);  // C++17
-
-template<class InputIterator, class OutputIterator, class T,
-         class BinaryOperation, class UnaryOperation>
-    OutputIterator
-    transform_exclusive_scan(InputIterator first, InputIterator last,
-                             OutputIterator result, T init,
-                             BinaryOperation binary_op, UnaryOperation unary_op);  // C++17
-
-template<class InputIterator, class OutputIterator,
-         class BinaryOperation, class UnaryOperation>
-    OutputIterator
-    transform_inclusive_scan(InputIterator first, InputIterator last,
-                             OutputIterator result,
-                             BinaryOperation binary_op, UnaryOperation unary_op);  // C++17
-
-template<class InputIterator, class OutputIterator,
-         class BinaryOperation, class UnaryOperation, class T>
-    OutputIterator
-    transform_inclusive_scan(InputIterator first, InputIterator last,
-                             OutputIterator result,
-                             BinaryOperation binary_op, UnaryOperation unary_op,
-                             T init);  // C++17
-
-template <class InputIterator, class OutputIterator>
-    OutputIterator
-    adjacent_difference(InputIterator first, InputIterator last, OutputIterator result);
-
-template <class InputIterator, class OutputIterator, class BinaryOperation>
-    OutputIterator
-    adjacent_difference(InputIterator first, InputIterator last, OutputIterator result, BinaryOperation binary_op);
-
-template <class ForwardIterator, class T>
-    void iota(ForwardIterator first, ForwardIterator last, T value);
-
-template <class M, class N>
-    constexpr common_type_t<M,N> gcd(M m, N n);    // C++17
-
-template <class M, class N>
-    constexpr common_type_t<M,N> lcm(M m, N n);    // C++17
-
-integer         midpoint(integer a, integer b);                  // C++20
-pointer         midpoint(pointer a, pointer b);                  // C++20
-floating_point  midpoint(floating_point a, floating_point b);    // C++20
-
-}  // std
-
-*/
-
-#include <__config>
-#include <iterator>
-#include <limits> // for numeric_limits
-#include <functional>
-#include <cmath> // for isnormal
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _InputIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-accumulate(_InputIterator __first, _InputIterator __last, _Tp __init)
-{
-    for (; __first != __last; ++__first)
-        __init = __init + *__first;
-    return __init;
-}
-
-template <class _InputIterator, class _Tp, class _BinaryOperation>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-accumulate(_InputIterator __first, _InputIterator __last, _Tp __init, _BinaryOperation __binary_op)
-{
-    for (; __first != __last; ++__first)
-        __init = __binary_op(__init, *__first);
-    return __init;
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _InputIterator, class _Tp, class _BinaryOp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-reduce(_InputIterator __first, _InputIterator __last, _Tp __init, _BinaryOp __b)
-{
-    for (; __first != __last; ++__first)
-        __init = __b(__init, *__first);
-    return __init;
-}
-
-template <class _InputIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-reduce(_InputIterator __first, _InputIterator __last, _Tp __init)
-{
-    return _VSTD::reduce(__first, __last, __init, _VSTD::plus<>());
-}
-
-template <class _InputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename iterator_traits<_InputIterator>::value_type
-reduce(_InputIterator __first, _InputIterator __last)
-{
-    return _VSTD::reduce(__first, __last,
-       typename iterator_traits<_InputIterator>::value_type{});
-}
-#endif
-
-template <class _InputIterator1, class _InputIterator2, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-inner_product(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init)
-{
-    for (; __first1 != __last1; ++__first1, (void) ++__first2)
-        __init = __init + *__first1 * *__first2;
-    return __init;
-}
-
-template <class _InputIterator1, class _InputIterator2, class _Tp, class _BinaryOperation1, class _BinaryOperation2>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-inner_product(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2,
-              _Tp __init, _BinaryOperation1 __binary_op1, _BinaryOperation2 __binary_op2)
-{
-    for (; __first1 != __last1; ++__first1, (void) ++__first2)
-        __init = __binary_op1(__init, __binary_op2(*__first1, *__first2));
-    return __init;
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _InputIterator, class _Tp, class _BinaryOp, class _UnaryOp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-transform_reduce(_InputIterator __first, _InputIterator __last,
-           _Tp __init,  _BinaryOp __b, _UnaryOp __u)
-{
-    for (; __first != __last; ++__first)
-        __init = __b(__init, __u(*__first));
-    return __init;
-}
-
-template <class _InputIterator1, class _InputIterator2,
-          class _Tp, class _BinaryOp1, class _BinaryOp2>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-transform_reduce(_InputIterator1 __first1, _InputIterator1 __last1,
-                 _InputIterator2 __first2, _Tp __init,  _BinaryOp1 __b1, _BinaryOp2 __b2)
-{
-    for (; __first1 != __last1; ++__first1, (void) ++__first2)
-        __init = __b1(__init, __b2(*__first1, *__first2));
-    return __init;
-}
-
-template <class _InputIterator1, class _InputIterator2, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp
-transform_reduce(_InputIterator1 __first1, _InputIterator1 __last1,
-                 _InputIterator2 __first2, _Tp __init)
-{
-    return _VSTD::transform_reduce(__first1, __last1, __first2, _VSTD::move(__init),
-                                   _VSTD::plus<>(), _VSTD::multiplies<>());
-}
-#endif
-
-template <class _InputIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-partial_sum(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
-{
-    if (__first != __last)
-    {
-        typename iterator_traits<_InputIterator>::value_type __t(*__first);
-        *__result = __t;
-        for (++__first, (void) ++__result; __first != __last; ++__first, (void) ++__result)
-        {
-            __t = __t + *__first;
-            *__result = __t;
-        }
-    }
-    return __result;
-}
-
-template <class _InputIterator, class _OutputIterator, class _BinaryOperation>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-partial_sum(_InputIterator __first, _InputIterator __last, _OutputIterator __result,
-              _BinaryOperation __binary_op)
-{
-    if (__first != __last)
-    {
-        typename iterator_traits<_InputIterator>::value_type __t(*__first);
-        *__result = __t;
-        for (++__first, (void) ++__result; __first != __last; ++__first, (void) ++__result)
-        {
-            __t = __binary_op(__t, *__first);
-            *__result = __t;
-        }
-    }
-    return __result;
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _InputIterator, class _OutputIterator, class _Tp, class _BinaryOp>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-exclusive_scan(_InputIterator __first, _InputIterator __last,
-               _OutputIterator __result, _Tp __init, _BinaryOp __b)
-{
-    if (__first != __last)
-    {
-        _Tp __saved = __init;
-        do
-        {
-            __init = __b(__init, *__first);
-            *__result = __saved;
-            __saved = __init;
-            ++__result;
-        } while (++__first != __last);
-    }
-    return __result;
-}
-
-template <class _InputIterator, class _OutputIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-exclusive_scan(_InputIterator __first, _InputIterator __last,
-               _OutputIterator __result, _Tp __init)
-{
-    return _VSTD::exclusive_scan(__first, __last, __result, __init, _VSTD::plus<>());
-}
-
-template <class _InputIterator, class _OutputIterator, class _Tp, class _BinaryOp>
-_OutputIterator inclusive_scan(_InputIterator __first, _InputIterator __last,
-                               _OutputIterator __result, _BinaryOp __b,  _Tp __init)
-{
-    for (; __first != __last; ++__first, (void) ++__result) {
-        __init = __b(__init, *__first);
-        *__result = __init;
-        }
-    return __result;
-}
-
-template <class _InputIterator, class _OutputIterator, class _BinaryOp>
-_OutputIterator inclusive_scan(_InputIterator __first, _InputIterator __last,
-                               _OutputIterator __result, _BinaryOp __b)
-{
-    if (__first != __last) {
-        typename std::iterator_traits<_InputIterator>::value_type __init = *__first;
-        *__result++ = __init;
-        if (++__first != __last)
-            return _VSTD::inclusive_scan(__first, __last, __result, __b, __init);
-        }
-
-    return __result;
-}
-
-template <class _InputIterator, class _OutputIterator>
-_OutputIterator inclusive_scan(_InputIterator __first, _InputIterator __last,
-                               _OutputIterator __result)
-{
-    return _VSTD::inclusive_scan(__first, __last, __result, std::plus<>());
-}
-
-template <class _InputIterator, class _OutputIterator, class _Tp,
-          class _BinaryOp, class _UnaryOp>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-transform_exclusive_scan(_InputIterator __first, _InputIterator __last,
-                           _OutputIterator __result, _Tp __init,
-                           _BinaryOp __b, _UnaryOp __u)
-{
-    if (__first != __last)
-    {
-        _Tp __saved = __init;
-        do
-        {
-            __init = __b(__init, __u(*__first));
-            *__result = __saved;
-            __saved = __init;
-            ++__result;
-        } while (++__first != __last);
-    }
-    return __result;
-}
-
-template <class _InputIterator, class _OutputIterator, class _Tp, class _BinaryOp, class _UnaryOp>
-_OutputIterator transform_inclusive_scan(_InputIterator __first, _InputIterator __last,
-                           _OutputIterator __result, _BinaryOp __b, _UnaryOp __u, _Tp __init)
-{
-    for (; __first != __last; ++__first, (void) ++__result) {
-        __init = __b(__init, __u(*__first));
-        *__result = __init;
-        }
-
-    return __result;
-}
-
-template <class _InputIterator, class _OutputIterator, class _BinaryOp, class _UnaryOp>
-_OutputIterator transform_inclusive_scan(_InputIterator __first, _InputIterator __last,
-                               _OutputIterator __result, _BinaryOp __b, _UnaryOp __u)
-{
-    if (__first != __last) {
-        typename std::iterator_traits<_InputIterator>::value_type __init = __u(*__first);
-        *__result++ = __init;
-        if (++__first != __last)
-            return _VSTD::transform_inclusive_scan(__first, __last, __result, __b, __u, __init);
-        }
-
-    return __result;
-}
-#endif
-
-template <class _InputIterator, class _OutputIterator>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-adjacent_difference(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
-{
-    if (__first != __last)
-    {
-        typename iterator_traits<_InputIterator>::value_type __t1(*__first);
-        *__result = __t1;
-        for (++__first, (void) ++__result; __first != __last; ++__first, (void) ++__result)
-        {
-            typename iterator_traits<_InputIterator>::value_type __t2(*__first);
-            *__result = __t2 - __t1;
-            __t1 = _VSTD::move(__t2);
-        }
-    }
-    return __result;
-}
-
-template <class _InputIterator, class _OutputIterator, class _BinaryOperation>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-adjacent_difference(_InputIterator __first, _InputIterator __last, _OutputIterator __result,
-                      _BinaryOperation __binary_op)
-{
-    if (__first != __last)
-    {
-        typename iterator_traits<_InputIterator>::value_type __t1(*__first);
-        *__result = __t1;
-        for (++__first, (void) ++__result; __first != __last; ++__first, (void) ++__result)
-        {
-            typename iterator_traits<_InputIterator>::value_type __t2(*__first);
-            *__result = __binary_op(__t2, __t1);
-            __t1 = _VSTD::move(__t2);
-        }
-    }
-    return __result;
-}
-
-template <class _ForwardIterator, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value_)
-{
-    for (; __first != __last; ++__first, (void) ++__value_)
-        *__first = __value_;
-}
-
-
-#if _LIBCPP_STD_VER > 14
-template <typename _Result, typename _Source, bool _IsSigned = is_signed<_Source>::value> struct __ct_abs;
-
-template <typename _Result, typename _Source>
-struct __ct_abs<_Result, _Source, true> {
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    _Result operator()(_Source __t) const noexcept
-    {
-    if (__t >= 0) return __t;
-    if (__t == numeric_limits<_Source>::min()) return -static_cast<_Result>(__t);
-    return -__t;
-    }
-};
-
-template <typename _Result, typename _Source>
-struct __ct_abs<_Result, _Source, false> {
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    _Result operator()(_Source __t) const noexcept { return __t; }
-};
-
-
-template<class _Tp>
-_LIBCPP_CONSTEXPR _LIBCPP_HIDDEN
-_Tp __gcd(_Tp __m, _Tp __n)
-{
-    static_assert((!is_signed<_Tp>::value), "");
-    return __n == 0 ? __m : _VSTD::__gcd<_Tp>(__n, __m % __n);
-}
-
-
-template<class _Tp, class _Up>
-_LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-common_type_t<_Tp,_Up>
-gcd(_Tp __m, _Up __n)
-{
-    static_assert((is_integral<_Tp>::value && is_integral<_Up>::value), "Arguments to gcd must be integer types");
-    static_assert((!is_same<typename remove_cv<_Tp>::type, bool>::value), "First argument to gcd cannot be bool" );
-    static_assert((!is_same<typename remove_cv<_Up>::type, bool>::value), "Second argument to gcd cannot be bool" );
-    using _Rp = common_type_t<_Tp,_Up>;
-    using _Wp = make_unsigned_t<_Rp>;
-    return static_cast<_Rp>(_VSTD::__gcd(
-        static_cast<_Wp>(__ct_abs<_Rp, _Tp>()(__m)),
-        static_cast<_Wp>(__ct_abs<_Rp, _Up>()(__n))));
-}
-
-template<class _Tp, class _Up>
-_LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-common_type_t<_Tp,_Up>
-lcm(_Tp __m, _Up __n)
-{
-    static_assert((is_integral<_Tp>::value && is_integral<_Up>::value), "Arguments to lcm must be integer types");
-    static_assert((!is_same<typename remove_cv<_Tp>::type, bool>::value), "First argument to lcm cannot be bool" );
-    static_assert((!is_same<typename remove_cv<_Up>::type, bool>::value), "Second argument to lcm cannot be bool" );
-    if (__m == 0 || __n == 0)
-        return 0;
-
-    using _Rp = common_type_t<_Tp,_Up>;
-    _Rp __val1 = __ct_abs<_Rp, _Tp>()(__m) / _VSTD::gcd(__m, __n);
-    _Rp __val2 = __ct_abs<_Rp, _Up>()(__n);
-    _LIBCPP_ASSERT((numeric_limits<_Rp>::max() / __val1 > __val2), "Overflow in lcm");
-    return __val1 * __val2;
-}
-
-#endif /* _LIBCPP_STD_VER > 14 */
-
-#if _LIBCPP_STD_VER > 17
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<is_integral_v<_Tp> && !is_same_v<bool, _Tp> && !is_null_pointer_v<_Tp>, _Tp>
-midpoint(_Tp __a, _Tp __b) noexcept
-_LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-{
-    using _Up = std::make_unsigned_t<_Tp>;
-
-    int __sign = 1;
-    _Up __m = __a;
-    _Up __M = __b;
-    if (__a > __b)
-    {
-        __sign = -1;
-        __m = __b;
-        __M = __a;
-    }
-     return __a + __sign * _Tp(_Up(__M-__m) >> 1);
-}
-
-
-template <class _TPtr>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<is_pointer_v<_TPtr>
-             && is_object_v<remove_pointer_t<_TPtr>>
-             && ! is_void_v<remove_pointer_t<_TPtr>>
-             && (sizeof(remove_pointer_t<_TPtr>) > 0), _TPtr>
-midpoint(_TPtr __a, _TPtr __b) noexcept
-{
-    return __a + _VSTD::midpoint(ptrdiff_t(0), __b - __a);
-}
-
-
-template <typename _Tp>
-constexpr int __sign(_Tp __val) {
-    return (_Tp(0) < __val) - (__val < _Tp(0));
-}
-
-template <typename _Fp>
-constexpr _Fp __fp_abs(_Fp __f) { return __f >= 0 ? __f : -__f; }
-
-template <class _Fp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-enable_if_t<is_floating_point_v<_Fp>, _Fp>
-midpoint(_Fp __a, _Fp __b) noexcept
-{
-	constexpr _Fp __lo = numeric_limits<_Fp>::min()*2;
-	constexpr _Fp __hi = numeric_limits<_Fp>::max()/2;
-    return __fp_abs(__a) <= __hi && __fp_abs(__b) <= __hi ?  // typical case: overflow is impossible
-      (__a + __b)/2 :                                        // always correctly rounded
-      __fp_abs(__a) < __lo ? __a + __b/2 :                   // not safe to halve a
-      __fp_abs(__a) < __lo ? __a/2 + __b :                   // not safe to halve b
-      __a/2 + __b/2;                                         // otherwise correctly rounded
-}
-
-#endif // _LIBCPP_STD_VER > 17
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17
-#   include <__pstl_numeric>
-#endif
-
-#endif  // _LIBCPP_NUMERIC
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/ostream b/r21/sources/cxx-stl/llvm-libc++/include/ostream
deleted file mode 100644
index e6cf9c9..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/ostream
+++ /dev/null
@@ -1,1107 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- ostream -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_OSTREAM
-#define _LIBCPP_OSTREAM
-
-/*
-    ostream synopsis
-
-template <class charT, class traits = char_traits<charT> >
-class basic_ostream
-    : virtual public basic_ios<charT,traits>
-{
-public:
-    // types (inherited from basic_ios (27.5.4)):
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    // 27.7.2.2 Constructor/destructor:
-    explicit basic_ostream(basic_streambuf<char_type,traits>* sb);
-    basic_ostream(basic_ostream&& rhs);
-    virtual ~basic_ostream();
-
-    // 27.7.2.3 Assign/swap
-    basic_ostream& operator=(const basic_ostream& rhs) = delete; // C++14
-    basic_ostream& operator=(basic_ostream&& rhs);
-    void swap(basic_ostream& rhs);
-
-    // 27.7.2.4 Prefix/suffix:
-    class sentry;
-
-    // 27.7.2.6 Formatted output:
-    basic_ostream& operator<<(basic_ostream& (*pf)(basic_ostream&));
-    basic_ostream& operator<<(basic_ios<charT, traits>& (*pf)(basic_ios<charT,traits>&));
-    basic_ostream& operator<<(ios_base& (*pf)(ios_base&));
-    basic_ostream& operator<<(bool n);
-    basic_ostream& operator<<(short n);
-    basic_ostream& operator<<(unsigned short n);
-    basic_ostream& operator<<(int n);
-    basic_ostream& operator<<(unsigned int n);
-    basic_ostream& operator<<(long n);
-    basic_ostream& operator<<(unsigned long n);
-    basic_ostream& operator<<(long long n);
-    basic_ostream& operator<<(unsigned long long n);
-    basic_ostream& operator<<(float f);
-    basic_ostream& operator<<(double f);
-    basic_ostream& operator<<(long double f);
-    basic_ostream& operator<<(const void* p);
-    basic_ostream& operator<<(basic_streambuf<char_type,traits>* sb);
-    basic_ostream& operator<<(nullptr_t);
-
-    // 27.7.2.7 Unformatted output:
-    basic_ostream& put(char_type c);
-    basic_ostream& write(const char_type* s, streamsize n);
-    basic_ostream& flush();
-
-    // 27.7.2.5 seeks:
-    pos_type tellp();
-    basic_ostream& seekp(pos_type);
-    basic_ostream& seekp(off_type, ios_base::seekdir);
-protected:
-    basic_ostream(const basic_ostream& rhs) = delete;
-    basic_ostream(basic_ostream&& rhs);
-    // 27.7.3.3 Assign/swap
-    basic_ostream& operator=(basic_ostream& rhs) = delete;
-    basic_ostream& operator=(const basic_ostream&& rhs);
-    void swap(basic_ostream& rhs);
-};
-
-// 27.7.2.6.4 character inserters
-
-template<class charT, class traits>
-  basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, charT);
-
-template<class charT, class traits>
-  basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, char);
-
-template<class traits>
-  basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, char);
-
-// signed and unsigned
-
-template<class traits>
-  basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, signed char);
-
-template<class traits>
-  basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, unsigned char);
-
-// NTBS
-template<class charT, class traits>
-  basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, const charT*);
-
-template<class charT, class traits>
-  basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, const char*);
-
-template<class traits>
-  basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const char*);
-
-// signed and unsigned
-template<class traits>
-basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const signed char*);
-
-template<class traits>
-  basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const unsigned char*);
-
-// swap:
-template <class charT, class traits>
-  void swap(basic_ostream<charT, traits>& x, basic_ostream<charT, traits>& y);
-
-template <class charT, class traits>
-  basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os);
-
-template <class charT, class traits>
-  basic_ostream<charT,traits>& ends(basic_ostream<charT,traits>& os);
-
-template <class charT, class traits>
-  basic_ostream<charT,traits>& flush(basic_ostream<charT,traits>& os);
-
-// rvalue stream insertion
-template <class charT, class traits, class T>
-  basic_ostream<charT, traits>&
-  operator<<(basic_ostream<charT, traits>&& os, const T& x);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <ios>
-#include <streambuf>
-#include <locale>
-#include <iterator>
-#include <bitset>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_ostream
-    : virtual public basic_ios<_CharT, _Traits>
-{
-public:
-    // types (inherited from basic_ios (27.5.4)):
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    // 27.7.2.2 Constructor/destructor:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    explicit basic_ostream(basic_streambuf<char_type, traits_type>* __sb)
-    { this->init(__sb); }
-    virtual ~basic_ostream();
-protected:
-#ifndef _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_ostream(basic_ostream&& __rhs);
-
-    // 27.7.2.3 Assign/swap
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_ostream& operator=(basic_ostream&& __rhs);
-#endif
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    void swap(basic_ostream& __rhs)
-    { basic_ios<char_type, traits_type>::swap(__rhs); }
-
-#ifndef _LIBCPP_CXX03_LANG
-    basic_ostream           (const basic_ostream& __rhs) = delete;
-    basic_ostream& operator=(const basic_ostream& __rhs) = delete;
-#else
-    basic_ostream           (const basic_ostream& __rhs); // not defined
-    basic_ostream& operator=(const basic_ostream& __rhs); // not defined
-#endif
-public:
-
-    // 27.7.2.4 Prefix/suffix:
-    class _LIBCPP_TEMPLATE_VIS sentry;
-
-    // 27.7.2.6 Formatted output:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_ostream& operator<<(basic_ostream& (*__pf)(basic_ostream&))
-    { return __pf(*this); }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_ostream& operator<<(basic_ios<char_type, traits_type>&
-                              (*__pf)(basic_ios<char_type,traits_type>&))
-    { __pf(*this); return *this; }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_ostream& operator<<(ios_base& (*__pf)(ios_base&))
-    { __pf(*this); return *this; }
-
-    basic_ostream& operator<<(bool __n);
-    basic_ostream& operator<<(short __n);
-    basic_ostream& operator<<(unsigned short __n);
-    basic_ostream& operator<<(int __n);
-    basic_ostream& operator<<(unsigned int __n);
-    basic_ostream& operator<<(long __n);
-    basic_ostream& operator<<(unsigned long __n);
-    basic_ostream& operator<<(long long __n);
-    basic_ostream& operator<<(unsigned long long __n);
-    basic_ostream& operator<<(float __f);
-    basic_ostream& operator<<(double __f);
-    basic_ostream& operator<<(long double __f);
-    basic_ostream& operator<<(const void* __p);
-    basic_ostream& operator<<(basic_streambuf<char_type, traits_type>* __sb);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream& operator<<(nullptr_t)
-    { return *this << "nullptr"; }
-
-    // 27.7.2.7 Unformatted output:
-    basic_ostream& put(char_type __c);
-    basic_ostream& write(const char_type* __s, streamsize __n);
-    basic_ostream& flush();
-
-    // 27.7.2.5 seeks:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    pos_type tellp();
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_ostream& seekp(pos_type __pos);
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_ostream& seekp(off_type __off, ios_base::seekdir __dir);
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream() {}  // extension, intentially does not initialize
-};
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_ostream<_CharT, _Traits>::sentry
-{
-    bool __ok_;
-    basic_ostream<_CharT, _Traits>& __os_;
-
-    sentry(const sentry&); // = delete;
-    sentry& operator=(const sentry&); // = delete;
-
-public:
-    explicit sentry(basic_ostream<_CharT, _Traits>& __os);
-    ~sentry();
-
-    _LIBCPP_INLINE_VISIBILITY
-        _LIBCPP_EXPLICIT
-        operator bool() const {return __ok_;}
-};
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>::sentry::sentry(basic_ostream<_CharT, _Traits>& __os)
-    : __ok_(false),
-      __os_(__os)
-{
-    if (__os.good())
-    {
-        if (__os.tie())
-            __os.tie()->flush();
-        __ok_ = true;
-    }
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>::sentry::~sentry()
-{
-    if (__os_.rdbuf() && __os_.good() && (__os_.flags() & ios_base::unitbuf)
-                      && !uncaught_exception())
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            if (__os_.rdbuf()->pubsync() == -1)
-                __os_.setstate(ios_base::badbit);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>::basic_ostream(basic_ostream&& __rhs)
-{
-    this->move(__rhs);
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator=(basic_ostream&& __rhs)
-{
-    swap(__rhs);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>::~basic_ostream()
-{
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(basic_streambuf<char_type, traits_type>* __sb)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            if (__sb)
-            {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-                try
-                {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-                    typedef istreambuf_iterator<_CharT, _Traits> _Ip;
-                    typedef ostreambuf_iterator<_CharT, _Traits> _Op;
-                    _Ip __i(__sb);
-                    _Ip __eof;
-                    _Op __o(*this);
-                    size_t __c = 0;
-                    for (; __i != __eof; ++__i, ++__o, ++__c)
-                    {
-                        *__o = *__i;
-                        if (__o.failed())
-                            break;
-                    }
-                    if (__c == 0)
-                        this->setstate(ios_base::failbit);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-                }
-                catch (...)
-                {
-                    this->__set_failbit_and_consider_rethrow();
-                }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            }
-            else
-                this->setstate(ios_base::badbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(bool __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), __n).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(short __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            ios_base::fmtflags __flags = ios_base::flags() & ios_base::basefield;
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(),
-                        __flags == ios_base::oct || __flags == ios_base::hex ?
-                        static_cast<long>(static_cast<unsigned short>(__n))  :
-                        static_cast<long>(__n)).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(unsigned short __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), static_cast<unsigned long>(__n)).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(int __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            ios_base::fmtflags __flags = ios_base::flags() & ios_base::basefield;
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(),
-                        __flags == ios_base::oct || __flags == ios_base::hex ?
-                        static_cast<long>(static_cast<unsigned int>(__n))  :
-                        static_cast<long>(__n)).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(unsigned int __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), static_cast<unsigned long>(__n)).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(long __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), __n).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(unsigned long __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), __n).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(long long __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), __n).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(unsigned long long __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), __n).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(float __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), static_cast<double>(__n)).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(double __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), __n).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(long double __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), __n).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::operator<<(const void* __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef num_put<char_type, ostreambuf_iterator<char_type, traits_type> > _Fp;
-            const _Fp& __f = use_facet<_Fp>(this->getloc());
-            if (__f.put(*this, *this, this->fill(), __n).failed())
-                this->setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-__put_character_sequence(basic_ostream<_CharT, _Traits>& __os,
-                          const _CharT* __str, size_t __len)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
-        if (__s)
-        {
-            typedef ostreambuf_iterator<_CharT, _Traits> _Ip;
-            if (__pad_and_output(_Ip(__os),
-                                 __str,
-                                 (__os.flags() & ios_base::adjustfield) == ios_base::left ?
-                                     __str + __len :
-                                     __str,
-                                 __str + __len,
-                                 __os,
-                                 __os.fill()).failed())
-                __os.setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __os.__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return __os;
-}
-
-
-template<class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, _CharT __c)
-{
-    return _VSTD::__put_character_sequence(__os, &__c, 1);
-}
-
-template<class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, char __cn)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
-        if (__s)
-        {
-            _CharT __c = __os.widen(__cn);
-            typedef ostreambuf_iterator<_CharT, _Traits> _Ip;
-            if (__pad_and_output(_Ip(__os),
-                                 &__c,
-                                 (__os.flags() & ios_base::adjustfield) == ios_base::left ?
-                                     &__c + 1 :
-                                     &__c,
-                                 &__c + 1,
-                                 __os,
-                                 __os.fill()).failed())
-                __os.setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __os.__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return __os;
-}
-
-template<class _Traits>
-basic_ostream<char, _Traits>&
-operator<<(basic_ostream<char, _Traits>& __os, char __c)
-{
-    return _VSTD::__put_character_sequence(__os, &__c, 1);
-}
-
-template<class _Traits>
-basic_ostream<char, _Traits>&
-operator<<(basic_ostream<char, _Traits>& __os, signed char __c)
-{
-    return _VSTD::__put_character_sequence(__os, (char *) &__c, 1);
-}
-
-template<class _Traits>
-basic_ostream<char, _Traits>&
-operator<<(basic_ostream<char, _Traits>& __os, unsigned char __c)
-{
-    return _VSTD::__put_character_sequence(__os, (char *) &__c, 1);
-}
-
-template<class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __str)
-{
-    return _VSTD::__put_character_sequence(__os, __str, _Traits::length(__str));
-}
-
-template<class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const char* __strn)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
-        if (__s)
-        {
-            typedef ostreambuf_iterator<_CharT, _Traits> _Ip;
-            size_t __len = char_traits<char>::length(__strn);
-            const int __bs = 100;
-            _CharT __wbb[__bs];
-            _CharT* __wb = __wbb;
-            unique_ptr<_CharT, void(*)(void*)> __h(0, free);
-            if (__len > __bs)
-            {
-                __wb = (_CharT*)malloc(__len*sizeof(_CharT));
-                if (__wb == 0)
-                    __throw_bad_alloc();
-                __h.reset(__wb);
-            }
-            for (_CharT* __p = __wb; *__strn != '\0'; ++__strn, ++__p)
-                *__p = __os.widen(*__strn);
-            if (__pad_and_output(_Ip(__os),
-                                 __wb,
-                                 (__os.flags() & ios_base::adjustfield) == ios_base::left ?
-                                     __wb + __len :
-                                     __wb,
-                                 __wb + __len,
-                                 __os,
-                                 __os.fill()).failed())
-                __os.setstate(ios_base::badbit | ios_base::failbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __os.__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return __os;
-}
-
-template<class _Traits>
-basic_ostream<char, _Traits>&
-operator<<(basic_ostream<char, _Traits>& __os, const char* __str)
-{
-    return _VSTD::__put_character_sequence(__os, __str, _Traits::length(__str));
-}
-
-template<class _Traits>
-basic_ostream<char, _Traits>&
-operator<<(basic_ostream<char, _Traits>& __os, const signed char* __str)
-{
-    const char *__s = (const char *) __str;
-    return _VSTD::__put_character_sequence(__os, __s, _Traits::length(__s));
-}
-
-template<class _Traits>
-basic_ostream<char, _Traits>&
-operator<<(basic_ostream<char, _Traits>& __os, const unsigned char* __str)
-{
-    const char *__s = (const char *) __str;
-    return _VSTD::__put_character_sequence(__os, __s, _Traits::length(__s));
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::put(char_type __c)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __s(*this);
-        if (__s)
-        {
-            typedef ostreambuf_iterator<_CharT, _Traits> _Op;
-            _Op __o(*this);
-            *__o = __c;
-            if (__o.failed())
-                this->setstate(ios_base::badbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::write(const char_type* __s, streamsize __n)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        sentry __sen(*this);
-        if (__sen && __n)
-        {
-            if (this->rdbuf()->sputn(__s, __n) != __n)
-                this->setstate(ios_base::badbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::flush()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        if (this->rdbuf())
-        {
-            sentry __s(*this);
-            if (__s)
-            {
-                if (this->rdbuf()->pubsync() == -1)
-                    this->setstate(ios_base::badbit);
-            }
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        this->__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-typename basic_ostream<_CharT, _Traits>::pos_type
-basic_ostream<_CharT, _Traits>::tellp()
-{
-    if (this->fail())
-        return pos_type(-1);
-    return this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::seekp(pos_type __pos)
-{
-    sentry __s(*this);
-    if (!this->fail())
-    {
-        if (this->rdbuf()->pubseekpos(__pos, ios_base::out) == pos_type(-1))
-            this->setstate(ios_base::failbit);
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-basic_ostream<_CharT, _Traits>::seekp(off_type __off, ios_base::seekdir __dir)
-{
-    sentry __s(*this);
-    if (!this->fail())
-    {
-        if (this->rdbuf()->pubseekoff(__off, __dir, ios_base::out) == pos_type(-1))
-            this->setstate(ios_base::failbit);
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-endl(basic_ostream<_CharT, _Traits>& __os)
-{
-    __os.put(__os.widen('\n'));
-    __os.flush();
-    return __os;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-ends(basic_ostream<_CharT, _Traits>& __os)
-{
-    __os.put(_CharT());
-    return __os;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-flush(basic_ostream<_CharT, _Traits>& __os)
-{
-    __os.flush();
-    return __os;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Stream, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    !is_lvalue_reference<_Stream>::value &&
-    is_base_of<ios_base, _Stream>::value,
-    _Stream&&
->::type
-operator<<(_Stream&& __os, const _Tp& __x)
-{
-    __os << __x;
-    return _VSTD::move(__os);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const basic_string<_CharT, _Traits, _Allocator>& __str)
-{
-    return _VSTD::__put_character_sequence(__os, __str.data(), __str.size());
-}
-
-template<class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const basic_string_view<_CharT, _Traits> __sv)
-{
-    return _VSTD::__put_character_sequence(__os, __sv.data(), __sv.size());
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __ec)
-{
-    return __os << __ec.category().name() << ':' << __ec.value();
-}
-
-template<class _CharT, class _Traits, class _Yp>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p)
-{
-    return __os << __p.get();
-}
-
-template<class _CharT, class _Traits, class _Yp, class _Dp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    is_same<void, typename __void_t<decltype((declval<basic_ostream<_CharT, _Traits>&>() << declval<typename unique_ptr<_Yp, _Dp>::pointer>()))>::type>::value,
-    basic_ostream<_CharT, _Traits>&
->::type
-operator<<(basic_ostream<_CharT, _Traits>& __os, unique_ptr<_Yp, _Dp> const& __p)
-{
-    return __os << __p.get();
-}
-
-template <class _CharT, class _Traits, size_t _Size>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const bitset<_Size>& __x)
-{
-    return __os << __x.template to_string<_CharT, _Traits>
-                        (use_facet<ctype<_CharT> >(__os.getloc()).widen('0'),
-                         use_facet<ctype<_CharT> >(__os.getloc()).widen('1'));
-}
-
-#ifndef _LIBCPP_DO_NOT_ASSUME_STREAMS_EXPLICIT_INSTANTIATION_IN_DYLIB
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostream<char>)
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostream<wchar_t>)
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_OSTREAM
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/queue b/r21/sources/cxx-stl/llvm-libc++/include/queue
deleted file mode 100644
index 97ec6f6..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/queue
+++ /dev/null
@@ -1,803 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- queue ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_QUEUE
-#define _LIBCPP_QUEUE
-
-/*
-    queue synopsis
-
-namespace std
-{
-
-template <class T, class Container = deque<T>>
-class queue
-{
-public:
-    typedef Container                                container_type;
-    typedef typename container_type::value_type      value_type;
-    typedef typename container_type::reference       reference;
-    typedef typename container_type::const_reference const_reference;
-    typedef typename container_type::size_type       size_type;
-
-protected:
-    container_type c;
-
-public:
-    queue() = default;
-    ~queue() = default;
-
-    queue(const queue& q) = default;
-    queue(queue&& q) = default;
-
-    queue& operator=(const queue& q) = default;
-    queue& operator=(queue&& q) = default;
-
-    explicit queue(const container_type& c);
-    explicit queue(container_type&& c)
-    template <class Alloc>
-        explicit queue(const Alloc& a);
-    template <class Alloc>
-        queue(const container_type& c, const Alloc& a);
-    template <class Alloc>
-        queue(container_type&& c, const Alloc& a);
-    template <class Alloc>
-        queue(const queue& q, const Alloc& a);
-    template <class Alloc>
-        queue(queue&& q, const Alloc& a);
-
-    bool      empty() const;
-    size_type size() const;
-
-    reference       front();
-    const_reference front() const;
-    reference       back();
-    const_reference back() const;
-
-    void push(const value_type& v);
-    void push(value_type&& v);
-    template <class... Args> reference emplace(Args&&... args); // reference in C++17
-    void pop();
-
-    void swap(queue& q) noexcept(is_nothrow_swappable_v<Container>)
-};
-
-template<class Container>
-  queue(Container) -> queue<typename Container::value_type, Container>; // C++17
-
-template<class Container, class Allocator>
-  queue(Container, Allocator) -> queue<typename Container::value_type, Container>; // C++17
-
-template <class T, class Container>
-  bool operator==(const queue<T, Container>& x,const queue<T, Container>& y);
-
-template <class T, class Container>
-  bool operator< (const queue<T, Container>& x,const queue<T, Container>& y);
-
-template <class T, class Container>
-  bool operator!=(const queue<T, Container>& x,const queue<T, Container>& y);
-
-template <class T, class Container>
-  bool operator> (const queue<T, Container>& x,const queue<T, Container>& y);
-
-template <class T, class Container>
-  bool operator>=(const queue<T, Container>& x,const queue<T, Container>& y);
-
-template <class T, class Container>
-  bool operator<=(const queue<T, Container>& x,const queue<T, Container>& y);
-
-template <class T, class Container>
-  void swap(queue<T, Container>& x, queue<T, Container>& y)
-  noexcept(noexcept(x.swap(y)));
-
-template <class T, class Container = vector<T>,
-          class Compare = less<typename Container::value_type>>
-class priority_queue
-{
-public:
-    typedef Container                                container_type;
-    typedef typename container_type::value_type      value_type;
-    typedef typename container_type::reference       reference;
-    typedef typename container_type::const_reference const_reference;
-    typedef typename container_type::size_type       size_type;
-
-protected:
-    container_type c;
-    Compare comp;
-
-public:
-    priority_queue() = default;
-    ~priority_queue() = default;
-
-    priority_queue(const priority_queue& q) = default;
-    priority_queue(priority_queue&& q) = default;
-
-    priority_queue& operator=(const priority_queue& q) = default;
-    priority_queue& operator=(priority_queue&& q) = default;
-
-    explicit priority_queue(const Compare& comp);
-    priority_queue(const Compare& comp, const container_type& c);
-    explicit priority_queue(const Compare& comp, container_type&& c);
-    template <class InputIterator>
-        priority_queue(InputIterator first, InputIterator last,
-                       const Compare& comp = Compare());
-    template <class InputIterator>
-        priority_queue(InputIterator first, InputIterator last,
-                       const Compare& comp, const container_type& c);
-    template <class InputIterator>
-        priority_queue(InputIterator first, InputIterator last,
-                       const Compare& comp, container_type&& c);
-    template <class Alloc>
-        explicit priority_queue(const Alloc& a);
-    template <class Alloc>
-        priority_queue(const Compare& comp, const Alloc& a);
-    template <class Alloc>
-        priority_queue(const Compare& comp, const container_type& c,
-                       const Alloc& a);
-    template <class Alloc>
-        priority_queue(const Compare& comp, container_type&& c,
-                       const Alloc& a);
-    template <class Alloc>
-        priority_queue(const priority_queue& q, const Alloc& a);
-    template <class Alloc>
-        priority_queue(priority_queue&& q, const Alloc& a);
-
-    bool            empty() const;
-    size_type       size() const;
-    const_reference top() const;
-
-    void push(const value_type& v);
-    void push(value_type&& v);
-    template <class... Args> void emplace(Args&&... args);
-    void pop();
-
-    void swap(priority_queue& q)
-        noexcept(is_nothrow_swappable_v<Container> &&
-                 is_nothrow_swappable_v<Comp>)
-};
-
-template <class Compare, class Container>
-priority_queue(Compare, Container)
-    -> priority_queue<typename Container::value_type, Container, Compare>; // C++17
-
-template<class InputIterator,
-         class Compare = less<typename iterator_traits<InputIterator>::value_type>,
-         class Container = vector<typename iterator_traits<InputIterator>::value_type>>
-priority_queue(InputIterator, InputIterator, Compare = Compare(), Container = Container())
-    -> priority_queue<typename iterator_traits<InputIterator>::value_type, Container, Compare>; // C++17
-
-template<class Compare, class Container, class Allocator>
-priority_queue(Compare, Container, Allocator)
-    -> priority_queue<typename Container::value_type, Container, Compare>; // C++17
-
-template <class T, class Container, class Compare>
-  void swap(priority_queue<T, Container, Compare>& x,
-            priority_queue<T, Container, Compare>& y)
-            noexcept(noexcept(x.swap(y)));
-
-}  // std
-
-*/
-
-#include <__config>
-#include <deque>
-#include <vector>
-#include <functional>
-#include <algorithm>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp, class _Container = deque<_Tp> > class _LIBCPP_TEMPLATE_VIS queue;
-
-template <class _Tp, class _Container>
-_LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y);
-
-template <class _Tp, class _Container>
-_LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y);
-
-template <class _Tp, class _Container /*= deque<_Tp>*/>
-class _LIBCPP_TEMPLATE_VIS queue
-{
-public:
-    typedef _Container                               container_type;
-    typedef typename container_type::value_type      value_type;
-    typedef typename container_type::reference       reference;
-    typedef typename container_type::const_reference const_reference;
-    typedef typename container_type::size_type       size_type;
-    static_assert((is_same<_Tp, value_type>::value), "" );
-
-protected:
-    container_type c;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    queue()
-        _NOEXCEPT_(is_nothrow_default_constructible<container_type>::value)
-        : c() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    queue(const queue& __q) : c(__q.c) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    queue& operator=(const queue& __q) {c = __q.c; return *this;}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    queue(queue&& __q)
-        _NOEXCEPT_(is_nothrow_move_constructible<container_type>::value)
-        : c(_VSTD::move(__q.c)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    queue& operator=(queue&& __q)
-        _NOEXCEPT_(is_nothrow_move_assignable<container_type>::value)
-        {c = _VSTD::move(__q.c); return *this;}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit queue(const container_type& __c)  : c(__c) {}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit queue(container_type&& __c) : c(_VSTD::move(__c)) {}
-#endif  // _LIBCPP_CXX03_LANG
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit queue(const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0)
-            : c(__a) {}
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        queue(const queue& __q, const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0)
-            : c(__q.c, __a) {}
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        queue(const container_type& __c, const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0)
-            : c(__c, __a) {}
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        queue(container_type&& __c, const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0)
-            : c(_VSTD::move(__c), __a) {}
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        queue(queue&& __q, const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0)
-            : c(_VSTD::move(__q.c), __a) {}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const {return c.empty();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const  {return c.size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference       front()       {return c.front();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference front() const {return c.front();}
-    _LIBCPP_INLINE_VISIBILITY
-    reference       back()        {return c.back();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference back() const  {return c.back();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void push(const value_type& __v) {c.push_back(__v);}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void push(value_type&& __v)      {c.push_back(_VSTD::move(__v));}
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-#if _LIBCPP_STD_VER > 14
-        decltype(auto) emplace(_Args&&... __args)
-            { return c.emplace_back(_VSTD::forward<_Args>(__args)...);}
-#else
-        void     emplace(_Args&&... __args)
-            {        c.emplace_back(_VSTD::forward<_Args>(__args)...);}
-#endif
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void pop() {c.pop_front();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(queue& __q)
-        _NOEXCEPT_(__is_nothrow_swappable<container_type>::value)
-    {
-        using _VSTD::swap;
-        swap(c, __q.c);
-    }
-
-    template <class _T1, class _C1>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    bool
-    operator==(const queue<_T1, _C1>& __x,const queue<_T1, _C1>& __y);
-
-    template <class _T1, class _C1>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    bool
-    operator< (const queue<_T1, _C1>& __x,const queue<_T1, _C1>& __y);
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _Container,
-         class = typename enable_if<!__is_allocator<_Container>::value, nullptr_t>::type
->
-queue(_Container)
-    -> queue<typename _Container::value_type, _Container>;
-
-template<class _Container,
-         class _Alloc,
-         class = typename enable_if<!__is_allocator<_Container>::value, nullptr_t>::type,
-         class = typename enable_if< __is_allocator<_Alloc>::value, nullptr_t>::type
->
-queue(_Container, _Alloc)
-    -> queue<typename _Container::value_type, _Container>;
-#endif
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y)
-{
-    return __x.c == __y.c;
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y)
-{
-    return __x.c < __y.c;
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if<
-    __is_swappable<_Container>::value,
-    void
->::type
-swap(queue<_Tp, _Container>& __x, queue<_Tp, _Container>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-template <class _Tp, class _Container, class _Alloc>
-struct _LIBCPP_TEMPLATE_VIS uses_allocator<queue<_Tp, _Container>, _Alloc>
-    : public uses_allocator<_Container, _Alloc>
-{
-};
-
-template <class _Tp, class _Container = vector<_Tp>,
-          class _Compare = less<typename _Container::value_type> >
-class _LIBCPP_TEMPLATE_VIS priority_queue
-{
-public:
-    typedef _Container                               container_type;
-    typedef _Compare                                 value_compare;
-    typedef typename container_type::value_type      value_type;
-    typedef typename container_type::reference       reference;
-    typedef typename container_type::const_reference const_reference;
-    typedef typename container_type::size_type       size_type;
-    static_assert((is_same<_Tp, value_type>::value), "" );
-
-protected:
-    container_type c;
-    value_compare comp;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    priority_queue()
-        _NOEXCEPT_(is_nothrow_default_constructible<container_type>::value &&
-                   is_nothrow_default_constructible<value_compare>::value)
-        : c(), comp() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    priority_queue(const priority_queue& __q) : c(__q.c), comp(__q.comp) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    priority_queue& operator=(const priority_queue& __q)
-        {c = __q.c; comp = __q.comp; return *this;}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    priority_queue(priority_queue&& __q)
-        _NOEXCEPT_(is_nothrow_move_constructible<container_type>::value &&
-                   is_nothrow_move_constructible<value_compare>::value)
-        : c(_VSTD::move(__q.c)), comp(_VSTD::move(__q.comp)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    priority_queue& operator=(priority_queue&& __q)
-        _NOEXCEPT_(is_nothrow_move_assignable<container_type>::value &&
-                   is_nothrow_move_assignable<value_compare>::value)
-        {c = _VSTD::move(__q.c); comp = _VSTD::move(__q.comp); return *this;}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit priority_queue(const value_compare& __comp)
-        : c(), comp(__comp) {}
-    _LIBCPP_INLINE_VISIBILITY
-    priority_queue(const value_compare& __comp, const container_type& __c);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit priority_queue(const value_compare& __comp, container_type&& __c);
-#endif
-    template <class _InputIter>
-        _LIBCPP_INLINE_VISIBILITY
-        priority_queue(_InputIter __f, _InputIter __l,
-                       const value_compare& __comp = value_compare());
-    template <class _InputIter>
-        _LIBCPP_INLINE_VISIBILITY
-        priority_queue(_InputIter __f, _InputIter __l,
-                       const value_compare& __comp, const container_type& __c);
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _InputIter>
-        _LIBCPP_INLINE_VISIBILITY
-        priority_queue(_InputIter __f, _InputIter __l,
-                       const value_compare& __comp, container_type&& __c);
-#endif  // _LIBCPP_CXX03_LANG
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit priority_queue(const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0);
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        priority_queue(const value_compare& __comp, const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0);
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        priority_queue(const value_compare& __comp, const container_type& __c,
-                       const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0);
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        priority_queue(const priority_queue& __q, const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0);
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        priority_queue(const value_compare& __comp, container_type&& __c,
-                       const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0);
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        priority_queue(priority_queue&& __q, const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0);
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool            empty() const {return c.empty();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type       size() const  {return c.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference top() const   {return c.front();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void push(const value_type& __v);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void push(value_type&& __v);
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    void emplace(_Args&&... __args);
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void pop();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(priority_queue& __q)
-        _NOEXCEPT_(__is_nothrow_swappable<container_type>::value &&
-                   __is_nothrow_swappable<value_compare>::value);
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template <class _Compare,
-          class _Container,
-          class = typename enable_if<!__is_allocator<_Compare>::value, nullptr_t>::type,
-          class = typename enable_if<!__is_allocator<_Container>::value, nullptr_t>::type
->
-priority_queue(_Compare, _Container)
-    -> priority_queue<typename _Container::value_type, _Container, _Compare>;
-
-template<class _InputIterator,
-         class _Compare   = less<typename iterator_traits<_InputIterator>::value_type>,
-         class _Container = vector<typename iterator_traits<_InputIterator>::value_type>,
-         class = typename enable_if< __is_input_iterator<_InputIterator>::value, nullptr_t>::type,
-         class = typename enable_if<!__is_allocator<_Compare>::value, nullptr_t>::type,
-         class = typename enable_if<!__is_allocator<_Container>::value, nullptr_t>::type
->
-priority_queue(_InputIterator, _InputIterator, _Compare = _Compare(), _Container = _Container())
-    -> priority_queue<typename iterator_traits<_InputIterator>::value_type, _Container, _Compare>;
-
-template<class _Compare,
-         class _Container,
-         class _Alloc,
-         class = typename enable_if<!__is_allocator<_Compare>::value, nullptr_t>::type,
-         class = typename enable_if<!__is_allocator<_Container>::value, nullptr_t>::type,
-         class = typename enable_if< __is_allocator<_Alloc>::value, nullptr_t>::type
->
-priority_queue(_Compare, _Container, _Alloc)
-    -> priority_queue<typename _Container::value_type, _Container, _Compare>;
-#endif
-
-template <class _Tp, class _Container, class _Compare>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Compare& __comp,
-                                                          const container_type& __c)
-    : c(__c),
-      comp(__comp)
-{
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Container, class _Compare>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp,
-                                                          container_type&& __c)
-    : c(_VSTD::move(__c)),
-      comp(__comp)
-{
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Container, class _Compare>
-template <class _InputIter>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l,
-                                                          const value_compare& __comp)
-    : c(__f, __l),
-      comp(__comp)
-{
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-template <class _Tp, class _Container, class _Compare>
-template <class _InputIter>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l,
-                                                          const value_compare& __comp,
-                                                          const container_type& __c)
-    : c(__c),
-      comp(__comp)
-{
-    c.insert(c.end(), __f, __l);
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Container, class _Compare>
-template <class _InputIter>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l,
-                                                          const value_compare& __comp,
-                                                          container_type&& __c)
-    : c(_VSTD::move(__c)),
-      comp(__comp)
-{
-    c.insert(c.end(), __f, __l);
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Container, class _Compare>
-template <class _Alloc>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type*)
-    : c(__a)
-{
-}
-
-template <class _Tp, class _Container, class _Compare>
-template <class _Alloc>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp,
-                                                          const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type*)
-    : c(__a),
-      comp(__comp)
-{
-}
-
-template <class _Tp, class _Container, class _Compare>
-template <class _Alloc>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp,
-                                                          const container_type& __c,
-                                                          const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type*)
-    : c(__c, __a),
-      comp(__comp)
-{
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-template <class _Tp, class _Container, class _Compare>
-template <class _Alloc>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(const priority_queue& __q,
-                                                          const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type*)
-    : c(__q.c, __a),
-      comp(__q.comp)
-{
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Container, class _Compare>
-template <class _Alloc>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp,
-                                                          container_type&& __c,
-                                                          const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type*)
-    : c(_VSTD::move(__c), __a),
-      comp(__comp)
-{
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-template <class _Tp, class _Container, class _Compare>
-template <class _Alloc>
-inline
-priority_queue<_Tp, _Container, _Compare>::priority_queue(priority_queue&& __q,
-                                                          const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type*)
-    : c(_VSTD::move(__q.c), __a),
-      comp(_VSTD::move(__q.comp))
-{
-    _VSTD::make_heap(c.begin(), c.end(), comp);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Container, class _Compare>
-inline
-void
-priority_queue<_Tp, _Container, _Compare>::push(const value_type& __v)
-{
-    c.push_back(__v);
-    _VSTD::push_heap(c.begin(), c.end(), comp);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Container, class _Compare>
-inline
-void
-priority_queue<_Tp, _Container, _Compare>::push(value_type&& __v)
-{
-    c.push_back(_VSTD::move(__v));
-    _VSTD::push_heap(c.begin(), c.end(), comp);
-}
-
-template <class _Tp, class _Container, class _Compare>
-template <class... _Args>
-inline
-void
-priority_queue<_Tp, _Container, _Compare>::emplace(_Args&&... __args)
-{
-    c.emplace_back(_VSTD::forward<_Args>(__args)...);
-    _VSTD::push_heap(c.begin(), c.end(), comp);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Container, class _Compare>
-inline
-void
-priority_queue<_Tp, _Container, _Compare>::pop()
-{
-    _VSTD::pop_heap(c.begin(), c.end(), comp);
-    c.pop_back();
-}
-
-template <class _Tp, class _Container, class _Compare>
-inline
-void
-priority_queue<_Tp, _Container, _Compare>::swap(priority_queue& __q)
-        _NOEXCEPT_(__is_nothrow_swappable<container_type>::value &&
-                   __is_nothrow_swappable<value_compare>::value)
-{
-    using _VSTD::swap;
-    swap(c, __q.c);
-    swap(comp, __q.comp);
-}
-
-template <class _Tp, class _Container, class _Compare>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if<
-    __is_swappable<_Container>::value
-    && __is_swappable<_Compare>::value,
-    void
->::type
-swap(priority_queue<_Tp, _Container, _Compare>& __x,
-     priority_queue<_Tp, _Container, _Compare>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-template <class _Tp, class _Container, class _Compare, class _Alloc>
-struct _LIBCPP_TEMPLATE_VIS uses_allocator<priority_queue<_Tp, _Container, _Compare>, _Alloc>
-    : public uses_allocator<_Container, _Alloc>
-{
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_QUEUE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/random b/r21/sources/cxx-stl/llvm-libc++/include/random
deleted file mode 100644
index 0cbc72d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/random
+++ /dev/null
@@ -1,6746 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- random -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_RANDOM
-#define _LIBCPP_RANDOM
-
-/*
-    random synopsis
-
-#include <initializer_list>
-
-namespace std
-{
-
-// Engines
-
-template <class UIntType, UIntType a, UIntType c, UIntType m>
-class linear_congruential_engine
-{
-public:
-    // types
-    typedef UIntType result_type;
-
-    // engine characteristics
-    static constexpr result_type multiplier = a;
-    static constexpr result_type increment = c;
-    static constexpr result_type modulus = m;
-    static constexpr result_type min() { return c == 0u ? 1u: 0u;}
-    static constexpr result_type max() { return m - 1u;}
-    static constexpr result_type default_seed = 1u;
-
-    // constructors and seeding functions
-    explicit linear_congruential_engine(result_type s = default_seed);
-    template<class Sseq> explicit linear_congruential_engine(Sseq& q);
-    void seed(result_type s = default_seed);
-    template<class Sseq> void seed(Sseq& q);
-
-    // generating functions
-    result_type operator()();
-    void discard(unsigned long long z);
-};
-
-template <class UIntType, UIntType a, UIntType c, UIntType m>
-bool
-operator==(const linear_congruential_engine<UIntType, a, c, m>& x,
-           const linear_congruential_engine<UIntType, a, c, m>& y);
-
-template <class UIntType, UIntType a, UIntType c, UIntType m>
-bool
-operator!=(const linear_congruential_engine<UIntType, a, c, m>& x,
-           const linear_congruential_engine<UIntType, a, c, m>& y);
-
-template <class charT, class traits,
-          class UIntType, UIntType a, UIntType c, UIntType m>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& os,
-           const linear_congruential_engine<UIntType, a, c, m>& x);
-
-template <class charT, class traits,
-          class UIntType, UIntType a, UIntType c, UIntType m>
-basic_istream<charT, traits>&
-operator>>(basic_istream<charT, traits>& is,
-           linear_congruential_engine<UIntType, a, c, m>& x);
-
-template <class UIntType, size_t w, size_t n, size_t m, size_t r,
-          UIntType a, size_t u, UIntType d, size_t s,
-          UIntType b, size_t t, UIntType c, size_t l, UIntType f>
-class mersenne_twister_engine
-{
-public:
-    // types
-    typedef UIntType result_type;
-
-    // engine characteristics
-    static constexpr size_t word_size = w;
-    static constexpr size_t state_size = n;
-    static constexpr size_t shift_size = m;
-    static constexpr size_t mask_bits = r;
-    static constexpr result_type xor_mask = a;
-    static constexpr size_t tempering_u = u;
-    static constexpr result_type tempering_d = d;
-    static constexpr size_t tempering_s = s;
-    static constexpr result_type tempering_b = b;
-    static constexpr size_t tempering_t = t;
-    static constexpr result_type tempering_c = c;
-    static constexpr size_t tempering_l = l;
-    static constexpr result_type initialization_multiplier = f;
-    static constexpr result_type min () { return 0; }
-    static constexpr result_type max() { return 2^w - 1; }
-    static constexpr result_type default_seed = 5489u;
-
-    // constructors and seeding functions
-    explicit mersenne_twister_engine(result_type value = default_seed);
-    template<class Sseq> explicit mersenne_twister_engine(Sseq& q);
-    void seed(result_type value = default_seed);
-    template<class Sseq> void seed(Sseq& q);
-
-    // generating functions
-    result_type operator()();
-    void discard(unsigned long long z);
-};
-
-template <class UIntType, size_t w, size_t n, size_t m, size_t r,
-          UIntType a, size_t u, UIntType d, size_t s,
-          UIntType b, size_t t, UIntType c, size_t l, UIntType f>
-bool
-operator==(
-    const mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>& x,
-    const mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>& y);
-
-template <class UIntType, size_t w, size_t n, size_t m, size_t r,
-          UIntType a, size_t u, UIntType d, size_t s,
-          UIntType b, size_t t, UIntType c, size_t l, UIntType f>
-bool
-operator!=(
-    const mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>& x,
-    const mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>& y);
-
-template <class charT, class traits,
-          class UIntType, size_t w, size_t n, size_t m, size_t r,
-          UIntType a, size_t u, UIntType d, size_t s,
-          UIntType b, size_t t, UIntType c, size_t l, UIntType f>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& os,
-           const mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>& x);
-
-template <class charT, class traits,
-          class UIntType, size_t w, size_t n, size_t m, size_t r,
-          UIntType a, size_t u, UIntType d, size_t s,
-          UIntType b, size_t t, UIntType c, size_t l, UIntType f>
-basic_istream<charT, traits>&
-operator>>(basic_istream<charT, traits>& is,
-           mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>& x);
-
-template<class UIntType, size_t w, size_t s, size_t r>
-class subtract_with_carry_engine
-{
-public:
-    // types
-    typedef UIntType result_type;
-
-    // engine characteristics
-    static constexpr size_t word_size = w;
-    static constexpr size_t short_lag = s;
-    static constexpr size_t long_lag = r;
-    static constexpr result_type min() { return 0; }
-    static constexpr result_type max() { return m-1; }
-    static constexpr result_type default_seed = 19780503u;
-
-    // constructors and seeding functions
-    explicit subtract_with_carry_engine(result_type value = default_seed);
-    template<class Sseq> explicit subtract_with_carry_engine(Sseq& q);
-    void seed(result_type value = default_seed);
-    template<class Sseq> void seed(Sseq& q);
-
-    // generating functions
-    result_type operator()();
-    void discard(unsigned long long z);
-};
-
-template<class UIntType, size_t w, size_t s, size_t r>
-bool
-operator==(
-    const subtract_with_carry_engine<UIntType, w, s, r>& x,
-    const subtract_with_carry_engine<UIntType, w, s, r>& y);
-
-template<class UIntType, size_t w, size_t s, size_t r>
-bool
-operator!=(
-    const subtract_with_carry_engine<UIntType, w, s, r>& x,
-    const subtract_with_carry_engine<UIntType, w, s, r>& y);
-
-template <class charT, class traits,
-          class UIntType, size_t w, size_t s, size_t r>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& os,
-           const subtract_with_carry_engine<UIntType, w, s, r>& x);
-
-template <class charT, class traits,
-          class UIntType, size_t w, size_t s, size_t r>
-basic_istream<charT, traits>&
-operator>>(basic_istream<charT, traits>& is,
-           subtract_with_carry_engine<UIntType, w, s, r>& x);
-
-template<class Engine, size_t p, size_t r>
-class discard_block_engine
-{
-public:
-    // types
-    typedef typename Engine::result_type result_type;
-
-    // engine characteristics
-    static constexpr size_t block_size = p;
-    static constexpr size_t used_block = r;
-    static constexpr result_type min() { return Engine::min(); }
-    static constexpr result_type max() { return Engine::max(); }
-
-    // constructors and seeding functions
-    discard_block_engine();
-    explicit discard_block_engine(const Engine& e);
-    explicit discard_block_engine(Engine&& e);
-    explicit discard_block_engine(result_type s);
-    template<class Sseq> explicit discard_block_engine(Sseq& q);
-    void seed();
-    void seed(result_type s);
-    template<class Sseq> void seed(Sseq& q);
-
-    // generating functions
-    result_type operator()();
-    void discard(unsigned long long z);
-
-    // property functions
-    const Engine& base() const noexcept;
-};
-
-template<class Engine, size_t p, size_t r>
-bool
-operator==(
-    const discard_block_engine<Engine, p, r>& x,
-    const discard_block_engine<Engine, p, r>& y);
-
-template<class Engine, size_t p, size_t r>
-bool
-operator!=(
-    const discard_block_engine<Engine, p, r>& x,
-    const discard_block_engine<Engine, p, r>& y);
-
-template <class charT, class traits,
-          class Engine, size_t p, size_t r>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& os,
-           const discard_block_engine<Engine, p, r>& x);
-
-template <class charT, class traits,
-          class Engine, size_t p, size_t r>
-basic_istream<charT, traits>&
-operator>>(basic_istream<charT, traits>& is,
-           discard_block_engine<Engine, p, r>& x);
-
-template<class Engine, size_t w, class UIntType>
-class independent_bits_engine
-{
-public:
-    // types
-    typedef UIntType result_type;
-
-    // engine characteristics
-    static constexpr result_type min() { return 0; }
-    static constexpr result_type max() { return 2^w - 1; }
-
-    // constructors and seeding functions
-    independent_bits_engine();
-    explicit independent_bits_engine(const Engine& e);
-    explicit independent_bits_engine(Engine&& e);
-    explicit independent_bits_engine(result_type s);
-    template<class Sseq> explicit independent_bits_engine(Sseq& q);
-    void seed();
-    void seed(result_type s);
-    template<class Sseq> void seed(Sseq& q);
-
-    // generating functions
-    result_type operator()(); void discard(unsigned long long z);
-
-    // property functions
-    const Engine& base() const noexcept;
-};
-
-template<class Engine, size_t w, class UIntType>
-bool
-operator==(
-    const independent_bits_engine<Engine, w, UIntType>& x,
-    const independent_bits_engine<Engine, w, UIntType>& y);
-
-template<class Engine, size_t w, class UIntType>
-bool
-operator!=(
-    const independent_bits_engine<Engine, w, UIntType>& x,
-    const independent_bits_engine<Engine, w, UIntType>& y);
-
-template <class charT, class traits,
-          class Engine, size_t w, class UIntType>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& os,
-           const independent_bits_engine<Engine, w, UIntType>& x);
-
-template <class charT, class traits,
-          class Engine, size_t w, class UIntType>
-basic_istream<charT, traits>&
-operator>>(basic_istream<charT, traits>& is,
-           independent_bits_engine<Engine, w, UIntType>& x);
-
-template<class Engine, size_t k>
-class shuffle_order_engine
-{
-public:
-    // types
-    typedef typename Engine::result_type result_type;
-
-    // engine characteristics
-    static constexpr size_t table_size = k;
-    static constexpr result_type min() { return Engine::min; }
-    static constexpr result_type max() { return Engine::max; }
-
-    // constructors and seeding functions
-    shuffle_order_engine();
-    explicit shuffle_order_engine(const Engine& e);
-    explicit shuffle_order_engine(Engine&& e);
-    explicit shuffle_order_engine(result_type s);
-    template<class Sseq> explicit shuffle_order_engine(Sseq& q);
-    void seed();
-    void seed(result_type s);
-    template<class Sseq> void seed(Sseq& q);
-
-    // generating functions
-    result_type operator()();
-    void discard(unsigned long long z);
-
-    // property functions
-    const Engine& base() const noexcept;
-};
-
-template<class Engine, size_t k>
-bool
-operator==(
-    const shuffle_order_engine<Engine, k>& x,
-    const shuffle_order_engine<Engine, k>& y);
-
-template<class Engine, size_t k>
-bool
-operator!=(
-    const shuffle_order_engine<Engine, k>& x,
-    const shuffle_order_engine<Engine, k>& y);
-
-template <class charT, class traits,
-          class Engine, size_t k>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& os,
-           const shuffle_order_engine<Engine, k>& x);
-
-template <class charT, class traits,
-          class Engine, size_t k>
-basic_istream<charT, traits>&
-operator>>(basic_istream<charT, traits>& is,
-           shuffle_order_engine<Engine, k>& x);
-
-typedef linear_congruential_engine<uint_fast32_t, 16807, 0, 2147483647>
-                                                                   minstd_rand0;
-typedef linear_congruential_engine<uint_fast32_t, 48271, 0, 2147483647>
-                                                                    minstd_rand;
-typedef mersenne_twister_engine<uint_fast32_t, 32, 624, 397, 31,
-                                0x9908b0df,
-                                11, 0xffffffff,
-                                7,  0x9d2c5680,
-                                15, 0xefc60000,
-                                18, 1812433253>                         mt19937;
-typedef mersenne_twister_engine<uint_fast64_t, 64, 312, 156, 31,
-                                0xb5026f5aa96619e9,
-                                29, 0x5555555555555555,
-                                17, 0x71d67fffeda60000,
-                                37, 0xfff7eee000000000,
-                                43, 6364136223846793005>             mt19937_64;
-typedef subtract_with_carry_engine<uint_fast32_t, 24, 10, 24>     ranlux24_base;
-typedef subtract_with_carry_engine<uint_fast64_t, 48,  5, 12>     ranlux48_base;
-typedef discard_block_engine<ranlux24_base, 223, 23>                   ranlux24;
-typedef discard_block_engine<ranlux48_base, 389, 11>                   ranlux48;
-typedef shuffle_order_engine<minstd_rand0, 256>                         knuth_b;
-typedef minstd_rand                                       default_random_engine;
-
-// Generators
-
-class random_device
-{
-public:
-    // types
-    typedef unsigned int result_type;
-
-    // generator characteristics
-    static constexpr result_type min() { return numeric_limits<result_type>::min(); }
-    static constexpr result_type max() { return numeric_limits<result_type>::max(); }
-
-    // constructors
-    explicit random_device(const string& token = "/dev/urandom");
-
-    // generating functions
-    result_type operator()();
-
-    // property functions
-    double entropy() const noexcept;
-
-    // no copy functions
-    random_device(const random_device& ) = delete;
-    void operator=(const random_device& ) = delete;
-};
-
-// Utilities
-
-class seed_seq
-{
-public:
-    // types
-    typedef uint_least32_t result_type;
-
-    // constructors
-    seed_seq();
-    template<class T>
-        seed_seq(initializer_list<T> il);
-    template<class InputIterator>
-        seed_seq(InputIterator begin, InputIterator end);
-
-    // generating functions
-    template<class RandomAccessIterator>
-        void generate(RandomAccessIterator begin, RandomAccessIterator end);
-
-    // property functions
-    size_t size() const;
-    template<class OutputIterator>
-        void param(OutputIterator dest) const;
-
-    // no copy functions
-    seed_seq(const seed_seq&) = delete;
-    void operator=(const seed_seq& ) = delete;
-};
-
-template<class RealType, size_t bits, class URNG>
-    RealType generate_canonical(URNG& g);
-
-// Distributions
-
-template<class IntType = int>
-class uniform_int_distribution
-{
-public:
-    // types
-    typedef IntType result_type;
-
-    class param_type
-    {
-    public:
-        typedef uniform_int_distribution distribution_type;
-
-        explicit param_type(IntType a = 0,
-                                    IntType b = numeric_limits<IntType>::max());
-
-        result_type a() const;
-        result_type b() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit uniform_int_distribution(IntType a = 0,
-                                    IntType b = numeric_limits<IntType>::max());
-    explicit uniform_int_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type a() const;
-    result_type b() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const uniform_int_distribution& x,
-                           const uniform_int_distribution& y);
-    friend bool operator!=(const uniform_int_distribution& x,
-                           const uniform_int_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const uniform_int_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               uniform_int_distribution& x);
-};
-
-template<class RealType = double>
-class uniform_real_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef uniform_real_distribution distribution_type;
-
-        explicit param_type(RealType a = 0,
-                            RealType b = 1);
-
-        result_type a() const;
-        result_type b() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit uniform_real_distribution(RealType a = 0.0, RealType b = 1.0);
-    explicit uniform_real_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type a() const;
-    result_type b() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const uniform_real_distribution& x,
-                           const uniform_real_distribution& y);
-    friend bool operator!=(const uniform_real_distribution& x,
-                           const uniform_real_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const uniform_real_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               uniform_real_distribution& x);
-};
-
-class bernoulli_distribution
-{
-public:
-    // types
-    typedef bool result_type;
-
-    class param_type
-    {
-    public:
-        typedef bernoulli_distribution distribution_type;
-
-        explicit param_type(double p = 0.5);
-
-        double p() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit bernoulli_distribution(double p = 0.5);
-    explicit bernoulli_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    double p() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const bernoulli_distribution& x,
-                           const bernoulli_distribution& y);
-    friend bool operator!=(const bernoulli_distribution& x,
-                           const bernoulli_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const bernoulli_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               bernoulli_distribution& x);
-};
-
-template<class IntType = int>
-class binomial_distribution
-{
-public:
-    // types
-    typedef IntType result_type;
-
-    class param_type
-    {
-    public:
-        typedef binomial_distribution distribution_type;
-
-        explicit param_type(IntType t = 1, double p = 0.5);
-
-        IntType t() const;
-        double p() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit binomial_distribution(IntType t = 1, double p = 0.5);
-    explicit binomial_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    IntType t() const;
-    double p() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const binomial_distribution& x,
-                           const binomial_distribution& y);
-    friend bool operator!=(const binomial_distribution& x,
-                           const binomial_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const binomial_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               binomial_distribution& x);
-};
-
-template<class IntType = int>
-class geometric_distribution
-{
-public:
-    // types
-    typedef IntType result_type;
-
-    class param_type
-    {
-    public:
-        typedef geometric_distribution distribution_type;
-
-        explicit param_type(double p = 0.5);
-
-        double p() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit geometric_distribution(double p = 0.5);
-    explicit geometric_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    double p() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const geometric_distribution& x,
-                           const geometric_distribution& y);
-    friend bool operator!=(const geometric_distribution& x,
-                           const geometric_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const geometric_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               geometric_distribution& x);
-};
-
-template<class IntType = int>
-class negative_binomial_distribution
-{
-public:
-    // types
-    typedef IntType result_type;
-
-    class param_type
-    {
-    public:
-        typedef negative_binomial_distribution distribution_type;
-
-        explicit param_type(result_type k = 1, double p = 0.5);
-
-        result_type k() const;
-        double p() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    explicit negative_binomial_distribution(result_type k = 1, double p = 0.5);
-    explicit negative_binomial_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type k() const;
-    double p() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const negative_binomial_distribution& x,
-                           const negative_binomial_distribution& y);
-    friend bool operator!=(const negative_binomial_distribution& x,
-                           const negative_binomial_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const negative_binomial_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               negative_binomial_distribution& x);
-};
-
-template<class IntType = int>
-class poisson_distribution
-{
-public:
-    // types
-    typedef IntType result_type;
-
-    class param_type
-    {
-    public:
-        typedef poisson_distribution distribution_type;
-
-        explicit param_type(double mean = 1.0);
-
-        double mean() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit poisson_distribution(double mean = 1.0);
-    explicit poisson_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    double mean() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const poisson_distribution& x,
-                           const poisson_distribution& y);
-    friend bool operator!=(const poisson_distribution& x,
-                           const poisson_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const poisson_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               poisson_distribution& x);
-};
-
-template<class RealType = double>
-class exponential_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef exponential_distribution distribution_type;
-
-        explicit param_type(result_type lambda = 1.0);
-
-        result_type lambda() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit exponential_distribution(result_type lambda = 1.0);
-    explicit exponential_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type lambda() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const exponential_distribution& x,
-                           const exponential_distribution& y);
-    friend bool operator!=(const exponential_distribution& x,
-                           const exponential_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const exponential_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               exponential_distribution& x);
-};
-
-template<class RealType = double>
-class gamma_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef gamma_distribution distribution_type;
-
-        explicit param_type(result_type alpha = 1, result_type beta = 1);
-
-        result_type alpha() const;
-        result_type beta() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit gamma_distribution(result_type alpha = 1, result_type beta = 1);
-    explicit gamma_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type alpha() const;
-    result_type beta() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const gamma_distribution& x,
-                           const gamma_distribution& y);
-    friend bool operator!=(const gamma_distribution& x,
-                           const gamma_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const gamma_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               gamma_distribution& x);
-};
-
-template<class RealType = double>
-class weibull_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef weibull_distribution distribution_type;
-
-        explicit param_type(result_type alpha = 1, result_type beta = 1);
-
-        result_type a() const;
-        result_type b() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    explicit weibull_distribution(result_type a = 1, result_type b = 1);
-    explicit weibull_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type a() const;
-    result_type b() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const weibull_distribution& x,
-                           const weibull_distribution& y);
-    friend bool operator!=(const weibull_distribution& x,
-                           const weibull_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const weibull_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               weibull_distribution& x);
-};
-
-template<class RealType = double>
-class extreme_value_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef extreme_value_distribution distribution_type;
-
-        explicit param_type(result_type a = 0, result_type b = 1);
-
-        result_type a() const;
-        result_type b() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    explicit extreme_value_distribution(result_type a = 0, result_type b = 1);
-    explicit extreme_value_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type a() const;
-    result_type b() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const extreme_value_distribution& x,
-                           const extreme_value_distribution& y);
-    friend bool operator!=(const extreme_value_distribution& x,
-                           const extreme_value_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const extreme_value_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               extreme_value_distribution& x);
-};
-
-template<class RealType = double>
-class normal_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef normal_distribution distribution_type;
-
-        explicit param_type(result_type mean = 0, result_type stddev = 1);
-
-        result_type mean() const;
-        result_type stddev() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructors and reset functions
-    explicit normal_distribution(result_type mean = 0, result_type stddev = 1);
-    explicit normal_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type mean() const;
-    result_type stddev() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const normal_distribution& x,
-                           const normal_distribution& y);
-    friend bool operator!=(const normal_distribution& x,
-                           const normal_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const normal_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               normal_distribution& x);
-};
-
-template<class RealType = double>
-class lognormal_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef lognormal_distribution distribution_type;
-
-        explicit param_type(result_type m = 0, result_type s = 1);
-
-        result_type m() const;
-        result_type s() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    explicit lognormal_distribution(result_type m = 0, result_type s = 1);
-    explicit lognormal_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type m() const;
-    result_type s() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const lognormal_distribution& x,
-                           const lognormal_distribution& y);
-    friend bool operator!=(const lognormal_distribution& x,
-                           const lognormal_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const lognormal_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               lognormal_distribution& x);
-};
-
-template<class RealType = double>
-class chi_squared_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef chi_squared_distribution distribution_type;
-
-        explicit param_type(result_type n = 1);
-
-        result_type n() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    explicit chi_squared_distribution(result_type n = 1);
-    explicit chi_squared_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type n() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const chi_squared_distribution& x,
-                           const chi_squared_distribution& y);
-    friend bool operator!=(const chi_squared_distribution& x,
-                           const chi_squared_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const chi_squared_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               chi_squared_distribution& x);
-};
-
-template<class RealType = double>
-class cauchy_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef cauchy_distribution distribution_type;
-
-        explicit param_type(result_type a = 0, result_type b = 1);
-
-        result_type a() const;
-        result_type b() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    explicit cauchy_distribution(result_type a = 0, result_type b = 1);
-    explicit cauchy_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type a() const;
-    result_type b() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const cauchy_distribution& x,
-                           const cauchy_distribution& y);
-    friend bool operator!=(const cauchy_distribution& x,
-                           const cauchy_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const cauchy_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               cauchy_distribution& x);
-};
-
-template<class RealType = double>
-class fisher_f_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef fisher_f_distribution distribution_type;
-
-        explicit param_type(result_type m = 1, result_type n = 1);
-
-        result_type m() const;
-        result_type n() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    explicit fisher_f_distribution(result_type m = 1, result_type n = 1);
-    explicit fisher_f_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type m() const;
-    result_type n() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const fisher_f_distribution& x,
-                           const fisher_f_distribution& y);
-    friend bool operator!=(const fisher_f_distribution& x,
-                           const fisher_f_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const fisher_f_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               fisher_f_distribution& x);
-};
-
-template<class RealType = double>
-class student_t_distribution
-{
-public:
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef student_t_distribution distribution_type;
-
-        explicit param_type(result_type n = 1);
-
-        result_type n() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    explicit student_t_distribution(result_type n = 1);
-    explicit student_t_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    result_type n() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const student_t_distribution& x,
-                           const student_t_distribution& y);
-    friend bool operator!=(const student_t_distribution& x,
-                           const student_t_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const student_t_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               student_t_distribution& x);
-};
-
-template<class IntType = int>
-class discrete_distribution
-{
-public:
-    // types
-    typedef IntType result_type;
-
-    class param_type
-    {
-    public:
-        typedef discrete_distribution distribution_type;
-
-        param_type();
-        template<class InputIterator>
-            param_type(InputIterator firstW, InputIterator lastW);
-        param_type(initializer_list<double> wl);
-        template<class UnaryOperation>
-            param_type(size_t nw, double xmin, double xmax, UnaryOperation fw);
-
-        vector<double> probabilities() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    discrete_distribution();
-    template<class InputIterator>
-        discrete_distribution(InputIterator firstW, InputIterator lastW);
-    discrete_distribution(initializer_list<double> wl);
-    template<class UnaryOperation>
-        discrete_distribution(size_t nw, double xmin, double xmax,
-                              UnaryOperation fw);
-    explicit discrete_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    vector<double> probabilities() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const discrete_distribution& x,
-                           const discrete_distribution& y);
-    friend bool operator!=(const discrete_distribution& x,
-                           const discrete_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const discrete_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               discrete_distribution& x);
-};
-
-template<class RealType = double>
-class piecewise_constant_distribution
-{
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef piecewise_constant_distribution distribution_type;
-
-        param_type();
-        template<class InputIteratorB, class InputIteratorW>
-            param_type(InputIteratorB firstB, InputIteratorB lastB,
-                       InputIteratorW firstW);
-        template<class UnaryOperation>
-            param_type(initializer_list<result_type> bl, UnaryOperation fw);
-        template<class UnaryOperation>
-            param_type(size_t nw, result_type xmin, result_type xmax,
-                       UnaryOperation fw);
-
-        vector<result_type> intervals() const;
-        vector<result_type> densities() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    piecewise_constant_distribution();
-    template<class InputIteratorB, class InputIteratorW>
-        piecewise_constant_distribution(InputIteratorB firstB,
-                                        InputIteratorB lastB,
-                                        InputIteratorW firstW);
-    template<class UnaryOperation>
-        piecewise_constant_distribution(initializer_list<result_type> bl,
-                                        UnaryOperation fw);
-    template<class UnaryOperation>
-        piecewise_constant_distribution(size_t nw, result_type xmin,
-                                        result_type xmax, UnaryOperation fw);
-    explicit piecewise_constant_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    vector<result_type> intervals() const;
-    vector<result_type> densities() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const piecewise_constant_distribution& x,
-                           const piecewise_constant_distribution& y);
-    friend bool operator!=(const piecewise_constant_distribution& x,
-                           const piecewise_constant_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const piecewise_constant_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               piecewise_constant_distribution& x);
-};
-
-template<class RealType = double>
-class piecewise_linear_distribution
-{
-    // types
-    typedef RealType result_type;
-
-    class param_type
-    {
-    public:
-        typedef piecewise_linear_distribution distribution_type;
-
-        param_type();
-        template<class InputIteratorB, class InputIteratorW>
-            param_type(InputIteratorB firstB, InputIteratorB lastB,
-                       InputIteratorW firstW);
-        template<class UnaryOperation>
-            param_type(initializer_list<result_type> bl, UnaryOperation fw);
-        template<class UnaryOperation>
-            param_type(size_t nw, result_type xmin, result_type xmax,
-                       UnaryOperation fw);
-
-        vector<result_type> intervals() const;
-        vector<result_type> densities() const;
-
-        friend bool operator==(const param_type& x, const param_type& y);
-        friend bool operator!=(const param_type& x, const param_type& y);
-    };
-
-    // constructor and reset functions
-    piecewise_linear_distribution();
-    template<class InputIteratorB, class InputIteratorW>
-        piecewise_linear_distribution(InputIteratorB firstB,
-                                      InputIteratorB lastB,
-                                      InputIteratorW firstW);
-
-    template<class UnaryOperation>
-        piecewise_linear_distribution(initializer_list<result_type> bl,
-                                      UnaryOperation fw);
-
-    template<class UnaryOperation>
-        piecewise_linear_distribution(size_t nw, result_type xmin,
-                                      result_type xmax, UnaryOperation fw);
-
-    explicit piecewise_linear_distribution(const param_type& parm);
-    void reset();
-
-    // generating functions
-    template<class URNG> result_type operator()(URNG& g);
-    template<class URNG> result_type operator()(URNG& g, const param_type& parm);
-
-    // property functions
-    vector<result_type> intervals() const;
-    vector<result_type> densities() const;
-
-    param_type param() const;
-    void param(const param_type& parm);
-
-    result_type min() const;
-    result_type max() const;
-
-    friend bool operator==(const piecewise_linear_distribution& x,
-                           const piecewise_linear_distribution& y);
-    friend bool operator!=(const piecewise_linear_distribution& x,
-                           const piecewise_linear_distribution& y);
-
-    template <class charT, class traits>
-    friend
-    basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os,
-               const piecewise_linear_distribution& x);
-
-    template <class charT, class traits>
-    friend
-    basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is,
-               piecewise_linear_distribution& x);
-};
-
-} // std
-*/
-
-#include <__config>
-#include <cstddef>
-#include <cstdint>
-#include <cmath>
-#include <type_traits>
-#include <initializer_list>
-#include <limits>
-#include <algorithm>
-#include <numeric>
-#include <vector>
-#include <string>
-#include <istream>
-#include <ostream>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// __is_seed_sequence
-
-template <class _Sseq, class _Engine>
-struct __is_seed_sequence
-{
-    static _LIBCPP_CONSTEXPR const bool value =
-              !is_convertible<_Sseq, typename _Engine::result_type>::value &&
-              !is_same<typename remove_cv<_Sseq>::type, _Engine>::value;
-};
-
-// linear_congruential_engine
-
-template <unsigned long long __a, unsigned long long __c,
-          unsigned long long __m, unsigned long long _Mp,
-          bool _MightOverflow = (__a != 0 && __m != 0 && __m-1 > (_Mp-__c)/__a)>
-struct __lce_ta;
-
-// 64
-
-template <unsigned long long __a, unsigned long long __c, unsigned long long __m>
-struct __lce_ta<__a, __c, __m, (unsigned long long)(~0), true>
-{
-    typedef unsigned long long result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        // Schrage's algorithm
-        const result_type __q = __m / __a;
-        const result_type __r = __m % __a;
-        const result_type __t0 = __a * (__x % __q);
-        const result_type __t1 = __r * (__x / __q);
-        __x = __t0 + (__t0 < __t1) * __m - __t1;
-        __x += __c - (__x >= __m - __c) * __m;
-        return __x;
-    }
-};
-
-template <unsigned long long __a, unsigned long long __m>
-struct __lce_ta<__a, 0, __m, (unsigned long long)(~0), true>
-{
-    typedef unsigned long long result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        // Schrage's algorithm
-        const result_type __q = __m / __a;
-        const result_type __r = __m % __a;
-        const result_type __t0 = __a * (__x % __q);
-        const result_type __t1 = __r * (__x / __q);
-        __x = __t0 + (__t0 < __t1) * __m - __t1;
-        return __x;
-    }
-};
-
-template <unsigned long long __a, unsigned long long __c, unsigned long long __m>
-struct __lce_ta<__a, __c, __m, (unsigned long long)(~0), false>
-{
-    typedef unsigned long long result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        return (__a * __x + __c) % __m;
-    }
-};
-
-template <unsigned long long __a, unsigned long long __c>
-struct __lce_ta<__a, __c, 0, (unsigned long long)(~0), false>
-{
-    typedef unsigned long long result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        return __a * __x + __c;
-    }
-};
-
-// 32
-
-template <unsigned long long _Ap, unsigned long long _Cp, unsigned long long _Mp>
-struct __lce_ta<_Ap, _Cp, _Mp, unsigned(~0), true>
-{
-    typedef unsigned result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        const result_type __a = static_cast<result_type>(_Ap);
-        const result_type __c = static_cast<result_type>(_Cp);
-        const result_type __m = static_cast<result_type>(_Mp);
-        // Schrage's algorithm
-        const result_type __q = __m / __a;
-        const result_type __r = __m % __a;
-        const result_type __t0 = __a * (__x % __q);
-        const result_type __t1 = __r * (__x / __q);
-        __x = __t0 + (__t0 < __t1) * __m - __t1;
-        __x += __c - (__x >= __m - __c) * __m;
-        return __x;
-    }
-};
-
-template <unsigned long long _Ap, unsigned long long _Mp>
-struct __lce_ta<_Ap, 0, _Mp, unsigned(~0), true>
-{
-    typedef unsigned result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        const result_type __a = static_cast<result_type>(_Ap);
-        const result_type __m = static_cast<result_type>(_Mp);
-        // Schrage's algorithm
-        const result_type __q = __m / __a;
-        const result_type __r = __m % __a;
-        const result_type __t0 = __a * (__x % __q);
-        const result_type __t1 = __r * (__x / __q);
-        __x = __t0 + (__t0 < __t1) * __m - __t1;
-        return __x;
-    }
-};
-
-template <unsigned long long _Ap, unsigned long long _Cp, unsigned long long _Mp>
-struct __lce_ta<_Ap, _Cp, _Mp, unsigned(~0), false>
-{
-    typedef unsigned result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        const result_type __a = static_cast<result_type>(_Ap);
-        const result_type __c = static_cast<result_type>(_Cp);
-        const result_type __m = static_cast<result_type>(_Mp);
-        return (__a * __x + __c) % __m;
-    }
-};
-
-template <unsigned long long _Ap, unsigned long long _Cp>
-struct __lce_ta<_Ap, _Cp, 0, unsigned(~0), false>
-{
-    typedef unsigned result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        const result_type __a = static_cast<result_type>(_Ap);
-        const result_type __c = static_cast<result_type>(_Cp);
-        return __a * __x + __c;
-    }
-};
-
-// 16
-
-template <unsigned long long __a, unsigned long long __c, unsigned long long __m, bool __b>
-struct __lce_ta<__a, __c, __m, (unsigned short)(~0), __b>
-{
-    typedef unsigned short result_type;
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type next(result_type __x)
-    {
-        return static_cast<result_type>(__lce_ta<__a, __c, __m, unsigned(~0)>::next(__x));
-    }
-};
-
-template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-class _LIBCPP_TEMPLATE_VIS linear_congruential_engine;
-
-template <class _CharT, class _Traits,
-          class _Up, _Up _Ap, _Up _Cp, _Up _Np>
-_LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const linear_congruential_engine<_Up, _Ap, _Cp, _Np>&);
-
-template <class _CharT, class _Traits,
-          class _Up, _Up _Ap, _Up _Cp, _Up _Np>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           linear_congruential_engine<_Up, _Ap, _Cp, _Np>& __x);
-
-template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-class _LIBCPP_TEMPLATE_VIS linear_congruential_engine
-{
-public:
-    // types
-    typedef _UIntType result_type;
-
-private:
-    result_type __x_;
-
-    static _LIBCPP_CONSTEXPR const result_type _Mp = result_type(~0);
-
-    static_assert(__m == 0 || __a < __m, "linear_congruential_engine invalid parameters");
-    static_assert(__m == 0 || __c < __m, "linear_congruential_engine invalid parameters");
-public:
-    static _LIBCPP_CONSTEXPR const result_type _Min = __c == 0u ? 1u: 0u;
-    static _LIBCPP_CONSTEXPR const result_type _Max = __m - 1u;
-    static_assert(_Min < _Max,           "linear_congruential_engine invalid parameters");
-
-    // engine characteristics
-    static _LIBCPP_CONSTEXPR const result_type multiplier = __a;
-    static _LIBCPP_CONSTEXPR const result_type increment = __c;
-    static _LIBCPP_CONSTEXPR const result_type modulus = __m;
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type min() {return _Min;}
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type max() {return _Max;}
-    static _LIBCPP_CONSTEXPR const result_type default_seed = 1u;
-
-    // constructors and seeding functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit linear_congruential_engine(result_type __s = default_seed)
-        {seed(__s);}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit linear_congruential_engine(_Sseq& __q,
-        typename enable_if<__is_seed_sequence<_Sseq, linear_congruential_engine>::value>::type* = 0)
-        {seed(__q);}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(result_type __s = default_seed)
-        {seed(integral_constant<bool, __m == 0>(),
-              integral_constant<bool, __c == 0>(), __s);}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __is_seed_sequence<_Sseq, linear_congruential_engine>::value,
-            void
-        >::type
-        seed(_Sseq& __q)
-            {__seed(__q, integral_constant<unsigned,
-                1 + (__m == 0 ? (sizeof(result_type) * __CHAR_BIT__ - 1)/32
-                             :  (__m > 0x100000000ull))>());}
-
-    // generating functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator()()
-        {return __x_ = static_cast<result_type>(__lce_ta<__a, __c, __m, _Mp>::next(__x_));}
-    _LIBCPP_INLINE_VISIBILITY
-    void discard(unsigned long long __z) {for (; __z; --__z) operator()();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const linear_congruential_engine& __x,
-                    const linear_congruential_engine& __y)
-        {return __x.__x_ == __y.__x_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const linear_congruential_engine& __x,
-                    const linear_congruential_engine& __y)
-        {return !(__x == __y);}
-
-private:
-
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(true_type, true_type, result_type __s) {__x_ = __s == 0 ? 1 : __s;}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(true_type, false_type, result_type __s) {__x_ = __s;}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(false_type, true_type, result_type __s) {__x_ = __s % __m == 0 ?
-                                                                 1 : __s % __m;}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(false_type, false_type, result_type __s) {__x_ = __s % __m;}
-
-    template<class _Sseq>
-        void __seed(_Sseq& __q, integral_constant<unsigned, 1>);
-    template<class _Sseq>
-        void __seed(_Sseq& __q, integral_constant<unsigned, 2>);
-
-    template <class _CharT, class _Traits,
-              class _Up, _Up _Ap, _Up _Cp, _Up _Np>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const linear_congruential_engine<_Up, _Ap, _Cp, _Np>&);
-
-    template <class _CharT, class _Traits,
-              class _Up, _Up _Ap, _Up _Cp, _Up _Np>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               linear_congruential_engine<_Up, _Ap, _Cp, _Np>& __x);
-};
-
-template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-    _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
-    linear_congruential_engine<_UIntType, __a, __c, __m>::multiplier;
-
-template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-    _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
-    linear_congruential_engine<_UIntType, __a, __c, __m>::increment;
-
-template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-    _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
-    linear_congruential_engine<_UIntType, __a, __c, __m>::modulus;
-
-template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-    _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
-    linear_congruential_engine<_UIntType, __a, __c, __m>::default_seed;
-
-template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-template<class _Sseq>
-void
-linear_congruential_engine<_UIntType, __a, __c, __m>::__seed(_Sseq& __q,
-                                                 integral_constant<unsigned, 1>)
-{
-    const unsigned __k = 1;
-    uint32_t __ar[__k+3];
-    __q.generate(__ar, __ar + __k + 3);
-    result_type __s = static_cast<result_type>(__ar[3] % __m);
-    __x_ = __c == 0 && __s == 0 ? result_type(1) : __s;
-}
-
-template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-template<class _Sseq>
-void
-linear_congruential_engine<_UIntType, __a, __c, __m>::__seed(_Sseq& __q,
-                                                 integral_constant<unsigned, 2>)
-{
-    const unsigned __k = 2;
-    uint32_t __ar[__k+3];
-    __q.generate(__ar, __ar + __k + 3);
-    result_type __s = static_cast<result_type>((__ar[3] +
-                                              ((uint64_t)__ar[4] << 32)) % __m);
-    __x_ = __c == 0 && __s == 0 ? result_type(1) : __s;
-}
-
-template <class _CharT, class _Traits,
-          class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const linear_congruential_engine<_UIntType, __a, __c, __m>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left);
-    __os.fill(__os.widen(' '));
-    return __os << __x.__x_;
-}
-
-template <class _CharT, class _Traits,
-          class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           linear_congruential_engine<_UIntType, __a, __c, __m>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    _UIntType __t;
-    __is >> __t;
-    if (!__is.fail())
-        __x.__x_ = __t;
-    return __is;
-}
-
-typedef linear_congruential_engine<uint_fast32_t, 16807, 0, 2147483647>
-                                                                   minstd_rand0;
-typedef linear_congruential_engine<uint_fast32_t, 48271, 0, 2147483647>
-                                                                    minstd_rand;
-typedef minstd_rand                                       default_random_engine;
-// mersenne_twister_engine
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-class _LIBCPP_TEMPLATE_VIS mersenne_twister_engine;
-
-template <class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-          _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-          _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-bool
-operator==(const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __x,
-           const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __y);
-
-template <class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-          _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-          _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __x,
-           const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __y);
-
-template <class _CharT, class _Traits,
-          class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-          _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-          _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __x);
-
-template <class _CharT, class _Traits,
-          class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-          _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-          _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                   _Bp, _Tp, _Cp, _Lp, _Fp>& __x);
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-class _LIBCPP_TEMPLATE_VIS mersenne_twister_engine
-{
-public:
-    // types
-    typedef _UIntType result_type;
-
-private:
-    result_type __x_[__n];
-    size_t      __i_;
-
-    static_assert(  0 <  __m, "mersenne_twister_engine invalid parameters");
-    static_assert(__m <= __n, "mersenne_twister_engine invalid parameters");
-    static _LIBCPP_CONSTEXPR const result_type _Dt = numeric_limits<result_type>::digits;
-    static_assert(__w <= _Dt, "mersenne_twister_engine invalid parameters");
-    static_assert(  2 <= __w, "mersenne_twister_engine invalid parameters");
-    static_assert(__r <= __w, "mersenne_twister_engine invalid parameters");
-    static_assert(__u <= __w, "mersenne_twister_engine invalid parameters");
-    static_assert(__s <= __w, "mersenne_twister_engine invalid parameters");
-    static_assert(__t <= __w, "mersenne_twister_engine invalid parameters");
-    static_assert(__l <= __w, "mersenne_twister_engine invalid parameters");
-public:
-    static _LIBCPP_CONSTEXPR const result_type _Min = 0;
-    static _LIBCPP_CONSTEXPR const result_type _Max = __w == _Dt ? result_type(~0) :
-                                                      (result_type(1) << __w) - result_type(1);
-    static_assert(_Min < _Max, "mersenne_twister_engine invalid parameters");
-    static_assert(__a <= _Max, "mersenne_twister_engine invalid parameters");
-    static_assert(__b <= _Max, "mersenne_twister_engine invalid parameters");
-    static_assert(__c <= _Max, "mersenne_twister_engine invalid parameters");
-    static_assert(__d <= _Max, "mersenne_twister_engine invalid parameters");
-    static_assert(__f <= _Max, "mersenne_twister_engine invalid parameters");
-
-    // engine characteristics
-    static _LIBCPP_CONSTEXPR const size_t word_size = __w;
-    static _LIBCPP_CONSTEXPR const size_t state_size = __n;
-    static _LIBCPP_CONSTEXPR const size_t shift_size = __m;
-    static _LIBCPP_CONSTEXPR const size_t mask_bits = __r;
-    static _LIBCPP_CONSTEXPR const result_type xor_mask = __a;
-    static _LIBCPP_CONSTEXPR const size_t tempering_u = __u;
-    static _LIBCPP_CONSTEXPR const result_type tempering_d = __d;
-    static _LIBCPP_CONSTEXPR const size_t tempering_s = __s;
-    static _LIBCPP_CONSTEXPR const result_type tempering_b = __b;
-    static _LIBCPP_CONSTEXPR const size_t tempering_t = __t;
-    static _LIBCPP_CONSTEXPR const result_type tempering_c = __c;
-    static _LIBCPP_CONSTEXPR const size_t tempering_l = __l;
-    static _LIBCPP_CONSTEXPR const result_type initialization_multiplier = __f;
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type min() { return _Min; }
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type max() { return _Max; }
-    static _LIBCPP_CONSTEXPR const result_type default_seed = 5489u;
-
-    // constructors and seeding functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit mersenne_twister_engine(result_type __sd = default_seed)
-        {seed(__sd);}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit mersenne_twister_engine(_Sseq& __q,
-        typename enable_if<__is_seed_sequence<_Sseq, mersenne_twister_engine>::value>::type* = 0)
-        {seed(__q);}
-    void seed(result_type __sd = default_seed);
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __is_seed_sequence<_Sseq, mersenne_twister_engine>::value,
-            void
-        >::type
-        seed(_Sseq& __q)
-            {__seed(__q, integral_constant<unsigned, 1 + (__w - 1) / 32>());}
-
-    // generating functions
-    result_type operator()();
-    _LIBCPP_INLINE_VISIBILITY
-    void discard(unsigned long long __z) {for (; __z; --__z) operator()();}
-
-    template <class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-              _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-              _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-    friend
-    bool
-    operator==(const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                             _Bp, _Tp, _Cp, _Lp, _Fp>& __x,
-               const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                             _Bp, _Tp, _Cp, _Lp, _Fp>& __y);
-
-    template <class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-              _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-              _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-    friend
-    bool
-    operator!=(const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                             _Bp, _Tp, _Cp, _Lp, _Fp>& __x,
-               const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                             _Bp, _Tp, _Cp, _Lp, _Fp>& __y);
-
-    template <class _CharT, class _Traits,
-              class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-              _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-              _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                             _Bp, _Tp, _Cp, _Lp, _Fp>& __x);
-
-    template <class _CharT, class _Traits,
-              class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-              _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-              _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                       _Bp, _Tp, _Cp, _Lp, _Fp>& __x);
-private:
-
-    template<class _Sseq>
-        void __seed(_Sseq& __q, integral_constant<unsigned, 1>);
-    template<class _Sseq>
-        void __seed(_Sseq& __q, integral_constant<unsigned, 2>);
-
-    template <size_t __count>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            __count < __w,
-            result_type
-        >::type
-        __lshift(result_type __x) {return (__x << __count) & _Max;}
-
-    template <size_t __count>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            (__count >= __w),
-            result_type
-        >::type
-        __lshift(result_type) {return result_type(0);}
-
-    template <size_t __count>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            __count < _Dt,
-            result_type
-        >::type
-        __rshift(result_type __x) {return __x >> __count;}
-
-    template <size_t __count>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            (__count >= _Dt),
-            result_type
-        >::type
-        __rshift(result_type) {return result_type(0);}
-};
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const size_t
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::word_size;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const size_t
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::state_size;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const size_t
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::shift_size;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const size_t
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::mask_bits;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::xor_mask;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const size_t
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_u;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_d;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const size_t
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_s;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_b;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const size_t
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_t;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_c;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const size_t
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_l;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::initialization_multiplier;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-    _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
-    mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::default_seed;
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-void
-mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b,
-    __t, __c, __l, __f>::seed(result_type __sd)
-    _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-{   // __w >= 2
-    __x_[0] = __sd & _Max;
-    for (size_t __i = 1; __i < __n; ++__i)
-        __x_[__i] = (__f * (__x_[__i-1] ^ __rshift<__w - 2>(__x_[__i-1])) + __i) & _Max;
-    __i_ = 0;
-}
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-template<class _Sseq>
-void
-mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b,
-    __t, __c, __l, __f>::__seed(_Sseq& __q, integral_constant<unsigned, 1>)
-{
-    const unsigned __k = 1;
-    uint32_t __ar[__n * __k];
-    __q.generate(__ar, __ar + __n * __k);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __x_[__i] = static_cast<result_type>(__ar[__i] & _Max);
-    const result_type __mask = __r == _Dt ? result_type(~0) :
-                                       (result_type(1) << __r) - result_type(1);
-    __i_ = 0;
-    if ((__x_[0] & ~__mask) == 0)
-    {
-        for (size_t __i = 1; __i < __n; ++__i)
-            if (__x_[__i] != 0)
-                return;
-        __x_[0] = result_type(1) << (__w - 1);
-    }
-}
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-template<class _Sseq>
-void
-mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b,
-    __t, __c, __l, __f>::__seed(_Sseq& __q, integral_constant<unsigned, 2>)
-{
-    const unsigned __k = 2;
-    uint32_t __ar[__n * __k];
-    __q.generate(__ar, __ar + __n * __k);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __x_[__i] = static_cast<result_type>(
-            (__ar[2 * __i] + ((uint64_t)__ar[2 * __i + 1] << 32)) & _Max);
-    const result_type __mask = __r == _Dt ? result_type(~0) :
-                                       (result_type(1) << __r) - result_type(1);
-    __i_ = 0;
-    if ((__x_[0] & ~__mask) == 0)
-    {
-        for (size_t __i = 1; __i < __n; ++__i)
-            if (__x_[__i] != 0)
-                return;
-        __x_[0] = result_type(1) << (__w - 1);
-    }
-}
-
-template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
-          _UIntType __a, size_t __u, _UIntType __d, size_t __s,
-          _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
-_UIntType
-mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b,
-    __t, __c, __l, __f>::operator()()
-{
-    const size_t __j = (__i_ + 1) % __n;
-    const result_type __mask = __r == _Dt ? result_type(~0) :
-                                       (result_type(1) << __r) - result_type(1);
-    const result_type _Yp = (__x_[__i_] & ~__mask) | (__x_[__j] & __mask);
-    const size_t __k = (__i_ + __m) % __n;
-    __x_[__i_] = __x_[__k] ^ __rshift<1>(_Yp) ^ (__a * (_Yp & 1));
-    result_type __z = __x_[__i_] ^ (__rshift<__u>(__x_[__i_]) & __d);
-    __i_ = __j;
-    __z ^= __lshift<__s>(__z) & __b;
-    __z ^= __lshift<__t>(__z) & __c;
-    return __z ^ __rshift<__l>(__z);
-}
-
-template <class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-          _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-          _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-bool
-operator==(const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __x,
-           const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __y)
-{
-    if (__x.__i_ == __y.__i_)
-        return _VSTD::equal(__x.__x_, __x.__x_ + _Np, __y.__x_);
-    if (__x.__i_ == 0 || __y.__i_ == 0)
-    {
-        size_t __j = _VSTD::min(_Np - __x.__i_, _Np - __y.__i_);
-        if (!_VSTD::equal(__x.__x_ + __x.__i_, __x.__x_ + __x.__i_ + __j,
-                         __y.__x_ + __y.__i_))
-            return false;
-        if (__x.__i_ == 0)
-            return _VSTD::equal(__x.__x_ + __j, __x.__x_ + _Np, __y.__x_);
-        return _VSTD::equal(__x.__x_, __x.__x_ + (_Np - __j), __y.__x_ + __j);
-    }
-    if (__x.__i_ < __y.__i_)
-    {
-        size_t __j = _Np - __y.__i_;
-        if (!_VSTD::equal(__x.__x_ + __x.__i_, __x.__x_ + (__x.__i_ + __j),
-                         __y.__x_ + __y.__i_))
-            return false;
-        if (!_VSTD::equal(__x.__x_ + (__x.__i_ + __j), __x.__x_ + _Np,
-                         __y.__x_))
-            return false;
-        return _VSTD::equal(__x.__x_, __x.__x_ + __x.__i_,
-                           __y.__x_ + (_Np - (__x.__i_ + __j)));
-    }
-    size_t __j = _Np - __x.__i_;
-    if (!_VSTD::equal(__y.__x_ + __y.__i_, __y.__x_ + (__y.__i_ + __j),
-                     __x.__x_ + __x.__i_))
-        return false;
-    if (!_VSTD::equal(__y.__x_ + (__y.__i_ + __j), __y.__x_ + _Np,
-                     __x.__x_))
-        return false;
-    return _VSTD::equal(__y.__x_, __y.__x_ + __y.__i_,
-                       __x.__x_ + (_Np - (__y.__i_ + __j)));
-}
-
-template <class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-          _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-          _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __x,
-           const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _CharT, class _Traits,
-          class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-          _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-          _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                         _Bp, _Tp, _Cp, _Lp, _Fp>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.__x_[__x.__i_];
-    for (size_t __j = __x.__i_ + 1; __j < _Np; ++__j)
-        __os << __sp << __x.__x_[__j];
-    for (size_t __j = 0; __j < __x.__i_; ++__j)
-        __os << __sp << __x.__x_[__j];
-    return __os;
-}
-
-template <class _CharT, class _Traits,
-          class _UInt, size_t _Wp, size_t _Np, size_t _Mp, size_t _Rp,
-          _UInt _Ap, size_t _Up, _UInt _Dp, size_t _Sp,
-          _UInt _Bp, size_t _Tp, _UInt _Cp, size_t _Lp, _UInt _Fp>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
-                                   _Bp, _Tp, _Cp, _Lp, _Fp>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    _UInt __t[_Np];
-    for (size_t __i = 0; __i < _Np; ++__i)
-        __is >> __t[__i];
-    if (!__is.fail())
-    {
-        for (size_t __i = 0; __i < _Np; ++__i)
-            __x.__x_[__i] = __t[__i];
-        __x.__i_ = 0;
-    }
-    return __is;
-}
-
-typedef mersenne_twister_engine<uint_fast32_t, 32, 624, 397, 31,
-                                0x9908b0df, 11, 0xffffffff,
-                                7,  0x9d2c5680,
-                                15, 0xefc60000,
-                                18, 1812433253>                         mt19937;
-typedef mersenne_twister_engine<uint_fast64_t, 64, 312, 156, 31,
-                                0xb5026f5aa96619e9ULL, 29, 0x5555555555555555ULL,
-                                17, 0x71d67fffeda60000ULL,
-                                37, 0xfff7eee000000000ULL,
-                                43, 6364136223846793005ULL>          mt19937_64;
-
-// subtract_with_carry_engine
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-class _LIBCPP_TEMPLATE_VIS subtract_with_carry_engine;
-
-template<class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-bool
-operator==(
-    const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x,
-    const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __y);
-
-template<class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-_LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(
-    const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x,
-    const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __y);
-
-template <class _CharT, class _Traits,
-          class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x);
-
-template <class _CharT, class _Traits,
-          class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x);
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-class _LIBCPP_TEMPLATE_VIS subtract_with_carry_engine
-{
-public:
-    // types
-    typedef _UIntType result_type;
-
-private:
-    result_type __x_[__r];
-    result_type  __c_;
-    size_t      __i_;
-
-    static _LIBCPP_CONSTEXPR const result_type _Dt = numeric_limits<result_type>::digits;
-    static_assert(  0 <  __w, "subtract_with_carry_engine invalid parameters");
-    static_assert(__w <= _Dt, "subtract_with_carry_engine invalid parameters");
-    static_assert(  0 <  __s, "subtract_with_carry_engine invalid parameters");
-    static_assert(__s <  __r, "subtract_with_carry_engine invalid parameters");
-public:
-    static _LIBCPP_CONSTEXPR const result_type _Min = 0;
-    static _LIBCPP_CONSTEXPR const result_type _Max = __w == _Dt ? result_type(~0) :
-                                                      (result_type(1) << __w) - result_type(1);
-    static_assert(_Min < _Max, "subtract_with_carry_engine invalid parameters");
-
-    // engine characteristics
-    static _LIBCPP_CONSTEXPR const size_t word_size = __w;
-    static _LIBCPP_CONSTEXPR const size_t short_lag = __s;
-    static _LIBCPP_CONSTEXPR const size_t long_lag = __r;
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type min() { return _Min; }
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type max() { return _Max; }
-    static _LIBCPP_CONSTEXPR const result_type default_seed = 19780503u;
-
-    // constructors and seeding functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit subtract_with_carry_engine(result_type __sd = default_seed)
-        {seed(__sd);}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit subtract_with_carry_engine(_Sseq& __q,
-        typename enable_if<__is_seed_sequence<_Sseq, subtract_with_carry_engine>::value>::type* = 0)
-        {seed(__q);}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(result_type __sd = default_seed)
-        {seed(__sd, integral_constant<unsigned, 1 + (__w - 1) / 32>());}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __is_seed_sequence<_Sseq, subtract_with_carry_engine>::value,
-            void
-        >::type
-        seed(_Sseq& __q)
-            {__seed(__q, integral_constant<unsigned, 1 + (__w - 1) / 32>());}
-
-    // generating functions
-    result_type operator()();
-    _LIBCPP_INLINE_VISIBILITY
-    void discard(unsigned long long __z) {for (; __z; --__z) operator()();}
-
-    template<class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-    friend
-    bool
-    operator==(
-        const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x,
-        const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __y);
-
-    template<class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-    friend
-    bool
-    operator!=(
-        const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x,
-        const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __y);
-
-    template <class _CharT, class _Traits,
-              class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x);
-
-    template <class _CharT, class _Traits,
-              class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x);
-
-private:
-
-    void seed(result_type __sd, integral_constant<unsigned, 1>);
-    void seed(result_type __sd, integral_constant<unsigned, 2>);
-    template<class _Sseq>
-        void __seed(_Sseq& __q, integral_constant<unsigned, 1>);
-    template<class _Sseq>
-        void __seed(_Sseq& __q, integral_constant<unsigned, 2>);
-};
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-    _LIBCPP_CONSTEXPR const size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::word_size;
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-    _LIBCPP_CONSTEXPR const size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::short_lag;
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-    _LIBCPP_CONSTEXPR const size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::long_lag;
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-    _LIBCPP_CONSTEXPR const typename subtract_with_carry_engine<_UIntType, __w, __s, __r>::result_type
-    subtract_with_carry_engine<_UIntType, __w, __s, __r>::default_seed;
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-void
-subtract_with_carry_engine<_UIntType, __w, __s, __r>::seed(result_type __sd,
-        integral_constant<unsigned, 1>)
-{
-    linear_congruential_engine<result_type, 40014u, 0u, 2147483563u>
-        __e(__sd == 0u ? default_seed : __sd);
-    for (size_t __i = 0; __i < __r; ++__i)
-        __x_[__i] = static_cast<result_type>(__e() & _Max);
-    __c_ = __x_[__r-1] == 0;
-    __i_ = 0;
-}
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-void
-subtract_with_carry_engine<_UIntType, __w, __s, __r>::seed(result_type __sd,
-        integral_constant<unsigned, 2>)
-{
-    linear_congruential_engine<result_type, 40014u, 0u, 2147483563u>
-        __e(__sd == 0u ? default_seed : __sd);
-    for (size_t __i = 0; __i < __r; ++__i)
-    {
-        result_type __e0 = __e();
-        __x_[__i] = static_cast<result_type>(
-                                    (__e0 + ((uint64_t)__e() << 32)) & _Max);
-    }
-    __c_ = __x_[__r-1] == 0;
-    __i_ = 0;
-}
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-template<class _Sseq>
-void
-subtract_with_carry_engine<_UIntType, __w, __s, __r>::__seed(_Sseq& __q,
-        integral_constant<unsigned, 1>)
-{
-    const unsigned __k = 1;
-    uint32_t __ar[__r * __k];
-    __q.generate(__ar, __ar + __r * __k);
-    for (size_t __i = 0; __i < __r; ++__i)
-        __x_[__i] = static_cast<result_type>(__ar[__i] & _Max);
-    __c_ = __x_[__r-1] == 0;
-    __i_ = 0;
-}
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-template<class _Sseq>
-void
-subtract_with_carry_engine<_UIntType, __w, __s, __r>::__seed(_Sseq& __q,
-        integral_constant<unsigned, 2>)
-{
-    const unsigned __k = 2;
-    uint32_t __ar[__r * __k];
-    __q.generate(__ar, __ar + __r * __k);
-    for (size_t __i = 0; __i < __r; ++__i)
-        __x_[__i] = static_cast<result_type>(
-                  (__ar[2 * __i] + ((uint64_t)__ar[2 * __i + 1] << 32)) & _Max);
-    __c_ = __x_[__r-1] == 0;
-    __i_ = 0;
-}
-
-template<class _UIntType, size_t __w, size_t __s, size_t __r>
-_UIntType
-subtract_with_carry_engine<_UIntType, __w, __s, __r>::operator()()
-{
-    const result_type& __xs = __x_[(__i_ + (__r - __s)) % __r];
-    result_type& __xr = __x_[__i_];
-    result_type __new_c = __c_ == 0 ? __xs < __xr : __xs != 0 ? __xs <= __xr : 1;
-    __xr = (__xs - __xr - __c_) & _Max;
-    __c_ = __new_c;
-    __i_ = (__i_ + 1) % __r;
-    return __xr;
-}
-
-template<class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-bool
-operator==(
-    const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x,
-    const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __y)
-{
-    if (__x.__c_ != __y.__c_)
-        return false;
-    if (__x.__i_ == __y.__i_)
-        return _VSTD::equal(__x.__x_, __x.__x_ + _Rp, __y.__x_);
-    if (__x.__i_ == 0 || __y.__i_ == 0)
-    {
-        size_t __j = _VSTD::min(_Rp - __x.__i_, _Rp - __y.__i_);
-        if (!_VSTD::equal(__x.__x_ + __x.__i_, __x.__x_ + __x.__i_ + __j,
-                         __y.__x_ + __y.__i_))
-            return false;
-        if (__x.__i_ == 0)
-            return _VSTD::equal(__x.__x_ + __j, __x.__x_ + _Rp, __y.__x_);
-        return _VSTD::equal(__x.__x_, __x.__x_ + (_Rp - __j), __y.__x_ + __j);
-    }
-    if (__x.__i_ < __y.__i_)
-    {
-        size_t __j = _Rp - __y.__i_;
-        if (!_VSTD::equal(__x.__x_ + __x.__i_, __x.__x_ + (__x.__i_ + __j),
-                         __y.__x_ + __y.__i_))
-            return false;
-        if (!_VSTD::equal(__x.__x_ + (__x.__i_ + __j), __x.__x_ + _Rp,
-                         __y.__x_))
-            return false;
-        return _VSTD::equal(__x.__x_, __x.__x_ + __x.__i_,
-                           __y.__x_ + (_Rp - (__x.__i_ + __j)));
-    }
-    size_t __j = _Rp - __x.__i_;
-    if (!_VSTD::equal(__y.__x_ + __y.__i_, __y.__x_ + (__y.__i_ + __j),
-                     __x.__x_ + __x.__i_))
-        return false;
-    if (!_VSTD::equal(__y.__x_ + (__y.__i_ + __j), __y.__x_ + _Rp,
-                     __x.__x_))
-        return false;
-    return _VSTD::equal(__y.__x_, __y.__x_ + __y.__i_,
-                       __x.__x_ + (_Rp - (__y.__i_ + __j)));
-}
-
-template<class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(
-    const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x,
-    const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _CharT, class _Traits,
-          class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.__x_[__x.__i_];
-    for (size_t __j = __x.__i_ + 1; __j < _Rp; ++__j)
-        __os << __sp << __x.__x_[__j];
-    for (size_t __j = 0; __j < __x.__i_; ++__j)
-        __os << __sp << __x.__x_[__j];
-    __os << __sp << __x.__c_;
-    return __os;
-}
-
-template <class _CharT, class _Traits,
-          class _UInt, size_t _Wp, size_t _Sp, size_t _Rp>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           subtract_with_carry_engine<_UInt, _Wp, _Sp, _Rp>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    _UInt __t[_Rp+1];
-    for (size_t __i = 0; __i < _Rp+1; ++__i)
-        __is >> __t[__i];
-    if (!__is.fail())
-    {
-        for (size_t __i = 0; __i < _Rp; ++__i)
-            __x.__x_[__i] = __t[__i];
-        __x.__c_ = __t[_Rp];
-        __x.__i_ = 0;
-    }
-    return __is;
-}
-
-typedef subtract_with_carry_engine<uint_fast32_t, 24, 10, 24>     ranlux24_base;
-typedef subtract_with_carry_engine<uint_fast64_t, 48,  5, 12>     ranlux48_base;
-
-// discard_block_engine
-
-template<class _Engine, size_t __p, size_t __r>
-class _LIBCPP_TEMPLATE_VIS discard_block_engine
-{
-    _Engine __e_;
-    int     __n_;
-
-    static_assert(  0 <  __r, "discard_block_engine invalid parameters");
-    static_assert(__r <= __p, "discard_block_engine invalid parameters");
-    static_assert(__r <= INT_MAX, "discard_block_engine invalid parameters");
-public:
-    // types
-    typedef typename _Engine::result_type result_type;
-
-    // engine characteristics
-    static _LIBCPP_CONSTEXPR const size_t block_size = __p;
-    static _LIBCPP_CONSTEXPR const size_t used_block = __r;
-
-#ifdef _LIBCPP_CXX03_LANG
-    static const result_type _Min = _Engine::_Min;
-    static const result_type _Max = _Engine::_Max;
-#else
-    static _LIBCPP_CONSTEXPR const result_type _Min = _Engine::min();
-    static _LIBCPP_CONSTEXPR const result_type _Max = _Engine::max();
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type min() { return _Engine::min(); }
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type max() { return _Engine::max(); }
-
-    // constructors and seeding functions
-    _LIBCPP_INLINE_VISIBILITY
-    discard_block_engine() : __n_(0) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit discard_block_engine(const _Engine& __e)
-        : __e_(__e), __n_(0) {}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit discard_block_engine(_Engine&& __e)
-        : __e_(_VSTD::move(__e)), __n_(0) {}
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit discard_block_engine(result_type __sd) : __e_(__sd), __n_(0) {}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit discard_block_engine(_Sseq& __q,
-        typename enable_if<__is_seed_sequence<_Sseq, discard_block_engine>::value &&
-                           !is_convertible<_Sseq, _Engine>::value>::type* = 0)
-        : __e_(__q), __n_(0) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed() {__e_.seed(); __n_ = 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(result_type __sd) {__e_.seed(__sd); __n_ = 0;}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __is_seed_sequence<_Sseq, discard_block_engine>::value,
-            void
-        >::type
-        seed(_Sseq& __q) {__e_.seed(__q); __n_ = 0;}
-
-    // generating functions
-    result_type operator()();
-    _LIBCPP_INLINE_VISIBILITY
-    void discard(unsigned long long __z) {for (; __z; --__z) operator()();}
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    const _Engine& base() const _NOEXCEPT {return __e_;}
-
-    template<class _Eng, size_t _Pp, size_t _Rp>
-    friend
-    bool
-    operator==(
-        const discard_block_engine<_Eng, _Pp, _Rp>& __x,
-        const discard_block_engine<_Eng, _Pp, _Rp>& __y);
-
-    template<class _Eng, size_t _Pp, size_t _Rp>
-    friend
-    bool
-    operator!=(
-        const discard_block_engine<_Eng, _Pp, _Rp>& __x,
-        const discard_block_engine<_Eng, _Pp, _Rp>& __y);
-
-    template <class _CharT, class _Traits,
-              class _Eng, size_t _Pp, size_t _Rp>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const discard_block_engine<_Eng, _Pp, _Rp>& __x);
-
-    template <class _CharT, class _Traits,
-              class _Eng, size_t _Pp, size_t _Rp>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               discard_block_engine<_Eng, _Pp, _Rp>& __x);
-};
-
-template<class _Engine, size_t __p, size_t __r>
-    _LIBCPP_CONSTEXPR const size_t discard_block_engine<_Engine, __p, __r>::block_size;
-
-template<class _Engine, size_t __p, size_t __r>
-    _LIBCPP_CONSTEXPR const size_t discard_block_engine<_Engine, __p, __r>::used_block;
-
-template<class _Engine, size_t __p, size_t __r>
-typename discard_block_engine<_Engine, __p, __r>::result_type
-discard_block_engine<_Engine, __p, __r>::operator()()
-{
-    if (__n_ >= static_cast<int>(__r))
-    {
-        __e_.discard(__p - __r);
-        __n_ = 0;
-    }
-    ++__n_;
-    return __e_();
-}
-
-template<class _Eng, size_t _Pp, size_t _Rp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const discard_block_engine<_Eng, _Pp, _Rp>& __x,
-           const discard_block_engine<_Eng, _Pp, _Rp>& __y)
-{
-    return __x.__n_ == __y.__n_ && __x.__e_ == __y.__e_;
-}
-
-template<class _Eng, size_t _Pp, size_t _Rp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const discard_block_engine<_Eng, _Pp, _Rp>& __x,
-           const discard_block_engine<_Eng, _Pp, _Rp>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _CharT, class _Traits,
-          class _Eng, size_t _Pp, size_t _Rp>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const discard_block_engine<_Eng, _Pp, _Rp>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    return __os << __x.__e_ << __sp << __x.__n_;
-}
-
-template <class _CharT, class _Traits,
-          class _Eng, size_t _Pp, size_t _Rp>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           discard_block_engine<_Eng, _Pp, _Rp>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    _Eng __e;
-    int __n;
-    __is >> __e >> __n;
-    if (!__is.fail())
-    {
-        __x.__e_ = __e;
-        __x.__n_ = __n;
-    }
-    return __is;
-}
-
-typedef discard_block_engine<ranlux24_base, 223, 23> ranlux24;
-typedef discard_block_engine<ranlux48_base, 389, 11> ranlux48;
-
-// independent_bits_engine
-
-template<class _Engine, size_t __w, class _UIntType>
-class _LIBCPP_TEMPLATE_VIS independent_bits_engine
-{
-    template <class _UInt, _UInt _R0, size_t _Wp, size_t _Mp>
-    class __get_n
-    {
-        static _LIBCPP_CONSTEXPR const size_t _Dt = numeric_limits<_UInt>::digits;
-        static _LIBCPP_CONSTEXPR const size_t _Np = _Wp / _Mp + (_Wp % _Mp != 0);
-        static _LIBCPP_CONSTEXPR const size_t _W0 = _Wp / _Np;
-        static _LIBCPP_CONSTEXPR const _UInt _Y0 = _W0 >= _Dt ? 0 : (_R0 >> _W0) << _W0;
-    public:
-        static _LIBCPP_CONSTEXPR const size_t value = _R0 - _Y0 > _Y0 / _Np ? _Np + 1 : _Np;
-    };
-public:
-    // types
-    typedef _UIntType result_type;
-
-private:
-    _Engine __e_;
-
-    static _LIBCPP_CONSTEXPR const result_type _Dt = numeric_limits<result_type>::digits;
-    static_assert(  0 <  __w, "independent_bits_engine invalid parameters");
-    static_assert(__w <= _Dt, "independent_bits_engine invalid parameters");
-
-    typedef typename _Engine::result_type _Engine_result_type;
-    typedef typename conditional
-        <
-            sizeof(_Engine_result_type) <= sizeof(result_type),
-                result_type,
-                _Engine_result_type
-        >::type _Working_result_type;
-#ifdef _LIBCPP_CXX03_LANG
-    static const _Working_result_type _Rp = _Engine::_Max - _Engine::_Min
-                                          + _Working_result_type(1);
-#else
-    static _LIBCPP_CONSTEXPR const _Working_result_type _Rp = _Engine::max() - _Engine::min()
-                                                            + _Working_result_type(1);
-#endif
-    static _LIBCPP_CONSTEXPR const size_t __m = __log2<_Working_result_type, _Rp>::value;
-    static _LIBCPP_CONSTEXPR const size_t __n = __get_n<_Working_result_type, _Rp, __w, __m>::value;
-    static _LIBCPP_CONSTEXPR const size_t __w0 = __w / __n;
-    static _LIBCPP_CONSTEXPR const size_t __n0 = __n - __w % __n;
-    static _LIBCPP_CONSTEXPR const size_t _WDt = numeric_limits<_Working_result_type>::digits;
-    static _LIBCPP_CONSTEXPR const size_t _EDt = numeric_limits<_Engine_result_type>::digits;
-    static _LIBCPP_CONSTEXPR const _Working_result_type __y0 = __w0 >= _WDt ? 0 :
-                                                               (_Rp >> __w0) << __w0;
-    static _LIBCPP_CONSTEXPR const _Working_result_type __y1 = __w0 >= _WDt - 1 ? 0 :
-                                                               (_Rp >> (__w0+1)) << (__w0+1);
-    static _LIBCPP_CONSTEXPR const _Engine_result_type __mask0 = __w0 > 0 ?
-                                _Engine_result_type(~0) >> (_EDt - __w0) :
-                                _Engine_result_type(0);
-    static _LIBCPP_CONSTEXPR const _Engine_result_type __mask1 = __w0 < _EDt - 1 ?
-                                _Engine_result_type(~0) >> (_EDt - (__w0 + 1)) :
-                                _Engine_result_type(~0);
-public:
-    static _LIBCPP_CONSTEXPR const result_type _Min = 0;
-    static _LIBCPP_CONSTEXPR const result_type _Max = __w == _Dt ? result_type(~0) :
-                                                      (result_type(1) << __w) - result_type(1);
-    static_assert(_Min < _Max, "independent_bits_engine invalid parameters");
-
-    // engine characteristics
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type min() { return _Min; }
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type max() { return _Max; }
-
-    // constructors and seeding functions
-    _LIBCPP_INLINE_VISIBILITY
-    independent_bits_engine() {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit independent_bits_engine(const _Engine& __e)
-        : __e_(__e) {}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit independent_bits_engine(_Engine&& __e)
-        : __e_(_VSTD::move(__e)) {}
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit independent_bits_engine(result_type __sd) : __e_(__sd) {}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit independent_bits_engine(_Sseq& __q,
-        typename enable_if<__is_seed_sequence<_Sseq, independent_bits_engine>::value &&
-                           !is_convertible<_Sseq, _Engine>::value>::type* = 0)
-         : __e_(__q) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed() {__e_.seed();}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(result_type __sd) {__e_.seed(__sd);}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __is_seed_sequence<_Sseq, independent_bits_engine>::value,
-            void
-        >::type
-        seed(_Sseq& __q) {__e_.seed(__q);}
-
-    // generating functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator()() {return __eval(integral_constant<bool, _Rp != 0>());}
-    _LIBCPP_INLINE_VISIBILITY
-    void discard(unsigned long long __z) {for (; __z; --__z) operator()();}
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    const _Engine& base() const _NOEXCEPT {return __e_;}
-
-    template<class _Eng, size_t _Wp, class _UInt>
-    friend
-    bool
-    operator==(
-        const independent_bits_engine<_Eng, _Wp, _UInt>& __x,
-        const independent_bits_engine<_Eng, _Wp, _UInt>& __y);
-
-    template<class _Eng, size_t _Wp, class _UInt>
-    friend
-    bool
-    operator!=(
-        const independent_bits_engine<_Eng, _Wp, _UInt>& __x,
-        const independent_bits_engine<_Eng, _Wp, _UInt>& __y);
-
-    template <class _CharT, class _Traits,
-              class _Eng, size_t _Wp, class _UInt>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const independent_bits_engine<_Eng, _Wp, _UInt>& __x);
-
-    template <class _CharT, class _Traits,
-              class _Eng, size_t _Wp, class _UInt>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               independent_bits_engine<_Eng, _Wp, _UInt>& __x);
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    result_type __eval(false_type);
-    result_type __eval(true_type);
-
-    template <size_t __count>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            __count < _Dt,
-            result_type
-        >::type
-        __lshift(result_type __x) {return __x << __count;}
-
-    template <size_t __count>
-        _LIBCPP_INLINE_VISIBILITY
-        static
-        typename enable_if
-        <
-            (__count >= _Dt),
-            result_type
-        >::type
-        __lshift(result_type) {return result_type(0);}
-};
-
-template<class _Engine, size_t __w, class _UIntType>
-inline
-_UIntType
-independent_bits_engine<_Engine, __w, _UIntType>::__eval(false_type)
-{
-    return static_cast<result_type>(__e_() & __mask0);
-}
-
-template<class _Engine, size_t __w, class _UIntType>
-_UIntType
-independent_bits_engine<_Engine, __w, _UIntType>::__eval(true_type)
-{
-    result_type _Sp = 0;
-    for (size_t __k = 0; __k < __n0; ++__k)
-    {
-        _Engine_result_type __u;
-        do
-        {
-            __u = __e_() - _Engine::min();
-        } while (__u >= __y0);
-        _Sp = static_cast<result_type>(__lshift<__w0>(_Sp) + (__u & __mask0));
-    }
-    for (size_t __k = __n0; __k < __n; ++__k)
-    {
-        _Engine_result_type __u;
-        do
-        {
-            __u = __e_() - _Engine::min();
-        } while (__u >= __y1);
-        _Sp = static_cast<result_type>(__lshift<__w0+1>(_Sp) + (__u & __mask1));
-    }
-    return _Sp;
-}
-
-template<class _Eng, size_t _Wp, class _UInt>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(
-    const independent_bits_engine<_Eng, _Wp, _UInt>& __x,
-    const independent_bits_engine<_Eng, _Wp, _UInt>& __y)
-{
-    return __x.base() == __y.base();
-}
-
-template<class _Eng, size_t _Wp, class _UInt>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(
-    const independent_bits_engine<_Eng, _Wp, _UInt>& __x,
-    const independent_bits_engine<_Eng, _Wp, _UInt>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _CharT, class _Traits,
-          class _Eng, size_t _Wp, class _UInt>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const independent_bits_engine<_Eng, _Wp, _UInt>& __x)
-{
-    return __os << __x.base();
-}
-
-template <class _CharT, class _Traits,
-          class _Eng, size_t _Wp, class _UInt>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           independent_bits_engine<_Eng, _Wp, _UInt>& __x)
-{
-    _Eng __e;
-    __is >> __e;
-    if (!__is.fail())
-        __x.__e_ = __e;
-    return __is;
-}
-
-// shuffle_order_engine
-
-template <uint64_t _Xp, uint64_t _Yp>
-struct __ugcd
-{
-    static _LIBCPP_CONSTEXPR const uint64_t value = __ugcd<_Yp, _Xp % _Yp>::value;
-};
-
-template <uint64_t _Xp>
-struct __ugcd<_Xp, 0>
-{
-    static _LIBCPP_CONSTEXPR const uint64_t value = _Xp;
-};
-
-template <uint64_t _Np, uint64_t _Dp>
-class __uratio
-{
-    static_assert(_Dp != 0, "__uratio divide by 0");
-    static _LIBCPP_CONSTEXPR const uint64_t __gcd = __ugcd<_Np, _Dp>::value;
-public:
-    static _LIBCPP_CONSTEXPR const uint64_t num = _Np / __gcd;
-    static _LIBCPP_CONSTEXPR const uint64_t den = _Dp / __gcd;
-
-    typedef __uratio<num, den> type;
-};
-
-template<class _Engine, size_t __k>
-class _LIBCPP_TEMPLATE_VIS shuffle_order_engine
-{
-    static_assert(0 < __k, "shuffle_order_engine invalid parameters");
-public:
-    // types
-    typedef typename _Engine::result_type result_type;
-
-private:
-    _Engine __e_;
-    result_type _V_[__k];
-    result_type _Y_;
-
-public:
-    // engine characteristics
-    static _LIBCPP_CONSTEXPR const size_t table_size = __k;
-
-#ifdef _LIBCPP_CXX03_LANG
-    static const result_type _Min = _Engine::_Min;
-    static const result_type _Max = _Engine::_Max;
-#else
-    static _LIBCPP_CONSTEXPR const result_type _Min = _Engine::min();
-    static _LIBCPP_CONSTEXPR const result_type _Max = _Engine::max();
-#endif
-    static_assert(_Min < _Max, "shuffle_order_engine invalid parameters");
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type min() { return _Min; }
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type max() { return _Max; }
-
-    static _LIBCPP_CONSTEXPR const unsigned long long _Rp = _Max - _Min + 1ull;
-
-    // constructors and seeding functions
-    _LIBCPP_INLINE_VISIBILITY
-    shuffle_order_engine() {__init();}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit shuffle_order_engine(const _Engine& __e)
-        : __e_(__e) {__init();}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit shuffle_order_engine(_Engine&& __e)
-        : __e_(_VSTD::move(__e)) {__init();}
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit shuffle_order_engine(result_type __sd) : __e_(__sd) {__init();}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit shuffle_order_engine(_Sseq& __q,
-        typename enable_if<__is_seed_sequence<_Sseq, shuffle_order_engine>::value &&
-                           !is_convertible<_Sseq, _Engine>::value>::type* = 0)
-         : __e_(__q) {__init();}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed() {__e_.seed(); __init();}
-    _LIBCPP_INLINE_VISIBILITY
-    void seed(result_type __sd) {__e_.seed(__sd); __init();}
-    template<class _Sseq>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __is_seed_sequence<_Sseq, shuffle_order_engine>::value,
-            void
-        >::type
-        seed(_Sseq& __q) {__e_.seed(__q); __init();}
-
-    // generating functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator()() {return __eval(integral_constant<bool, _Rp != 0>());}
-    _LIBCPP_INLINE_VISIBILITY
-    void discard(unsigned long long __z) {for (; __z; --__z) operator()();}
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    const _Engine& base() const _NOEXCEPT {return __e_;}
-
-private:
-    template<class _Eng, size_t _Kp>
-    friend
-    bool
-    operator==(
-        const shuffle_order_engine<_Eng, _Kp>& __x,
-        const shuffle_order_engine<_Eng, _Kp>& __y);
-
-    template<class _Eng, size_t _Kp>
-    friend
-    bool
-    operator!=(
-        const shuffle_order_engine<_Eng, _Kp>& __x,
-        const shuffle_order_engine<_Eng, _Kp>& __y);
-
-    template <class _CharT, class _Traits,
-              class _Eng, size_t _Kp>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const shuffle_order_engine<_Eng, _Kp>& __x);
-
-    template <class _CharT, class _Traits,
-              class _Eng, size_t _Kp>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               shuffle_order_engine<_Eng, _Kp>& __x);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __init()
-    {
-        for (size_t __i = 0; __i < __k; ++__i)
-            _V_[__i] = __e_();
-        _Y_ = __e_();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type __eval(false_type) {return __eval2(integral_constant<bool, __k & 1>());}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type __eval(true_type) {return __eval(__uratio<__k, _Rp>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type __eval2(false_type) {return __eval(__uratio<__k/2, 0x8000000000000000ull>());}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type __eval2(true_type) {return __evalf<__k, 0>();}
-
-    template <uint64_t _Np, uint64_t _Dp>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            (__uratio<_Np, _Dp>::num > 0xFFFFFFFFFFFFFFFFull / (_Max - _Min)),
-            result_type
-        >::type
-        __eval(__uratio<_Np, _Dp>)
-            {return __evalf<__uratio<_Np, _Dp>::num, __uratio<_Np, _Dp>::den>();}
-
-    template <uint64_t _Np, uint64_t _Dp>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __uratio<_Np, _Dp>::num <= 0xFFFFFFFFFFFFFFFFull / (_Max - _Min),
-            result_type
-        >::type
-        __eval(__uratio<_Np, _Dp>)
-        {
-            const size_t __j = static_cast<size_t>(__uratio<_Np, _Dp>::num * (_Y_ - _Min)
-                                                   / __uratio<_Np, _Dp>::den);
-            _Y_ = _V_[__j];
-            _V_[__j] = __e_();
-            return _Y_;
-        }
-
-    template <uint64_t __n, uint64_t __d>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type __evalf()
-        {
-            const double _Fp = __d == 0 ?
-                __n / (2. * 0x8000000000000000ull) :
-                __n / (double)__d;
-            const size_t __j = static_cast<size_t>(_Fp * (_Y_ - _Min));
-            _Y_ = _V_[__j];
-            _V_[__j] = __e_();
-            return _Y_;
-        }
-};
-
-template<class _Engine, size_t __k>
-    _LIBCPP_CONSTEXPR const size_t shuffle_order_engine<_Engine, __k>::table_size;
-
-template<class _Eng, size_t _Kp>
-bool
-operator==(
-    const shuffle_order_engine<_Eng, _Kp>& __x,
-    const shuffle_order_engine<_Eng, _Kp>& __y)
-{
-    return __x._Y_ == __y._Y_ && _VSTD::equal(__x._V_, __x._V_ + _Kp, __y._V_) &&
-           __x.__e_ == __y.__e_;
-}
-
-template<class _Eng, size_t _Kp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(
-    const shuffle_order_engine<_Eng, _Kp>& __x,
-    const shuffle_order_engine<_Eng, _Kp>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _CharT, class _Traits,
-          class _Eng, size_t _Kp>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const shuffle_order_engine<_Eng, _Kp>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.__e_ << __sp << __x._V_[0];
-    for (size_t __i = 1; __i < _Kp; ++__i)
-        __os << __sp << __x._V_[__i];
-    return __os << __sp << __x._Y_;
-}
-
-template <class _CharT, class _Traits,
-          class _Eng, size_t _Kp>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           shuffle_order_engine<_Eng, _Kp>& __x)
-{
-    typedef typename shuffle_order_engine<_Eng, _Kp>::result_type result_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    _Eng __e;
-    result_type _Vp[_Kp+1];
-    __is >> __e;
-    for (size_t __i = 0; __i < _Kp+1; ++__i)
-        __is >> _Vp[__i];
-    if (!__is.fail())
-    {
-        __x.__e_ = __e;
-        for (size_t __i = 0; __i < _Kp; ++__i)
-            __x._V_[__i] = _Vp[__i];
-        __x._Y_ = _Vp[_Kp];
-    }
-    return __is;
-}
-
-typedef shuffle_order_engine<minstd_rand0, 256>                         knuth_b;
-
-// random_device
-
-class _LIBCPP_TYPE_VIS random_device
-{
-#ifdef _LIBCPP_USING_DEV_RANDOM
-    int __f_;
-#endif // defined(_LIBCPP_USING_DEV_RANDOM)
-public:
-    // types
-    typedef unsigned result_type;
-
-    // generator characteristics
-    static _LIBCPP_CONSTEXPR const result_type _Min = 0;
-    static _LIBCPP_CONSTEXPR const result_type _Max = 0xFFFFFFFFu;
-
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type min() { return _Min;}
-    _LIBCPP_INLINE_VISIBILITY
-    static _LIBCPP_CONSTEXPR result_type max() { return _Max;}
-
-    // constructors
-    explicit random_device(const string& __token = "/dev/urandom");
-    ~random_device();
-
-    // generating functions
-    result_type operator()();
-
-    // property functions
-    double entropy() const _NOEXCEPT;
-
-private:
-    // no copy functions
-    random_device(const random_device&); // = delete;
-    random_device& operator=(const random_device&); // = delete;
-};
-
-// seed_seq
-
-class _LIBCPP_TEMPLATE_VIS seed_seq
-{
-public:
-    // types
-    typedef uint32_t result_type;
-
-private:
-    vector<result_type> __v_;
-
-    template<class _InputIterator>
-        void init(_InputIterator __first, _InputIterator __last);
-public:
-    // constructors
-    _LIBCPP_INLINE_VISIBILITY
-    seed_seq() _NOEXCEPT {}
-#ifndef _LIBCPP_CXX03_LANG
-    template<class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        seed_seq(initializer_list<_Tp> __il) {init(__il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    template<class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        seed_seq(_InputIterator __first, _InputIterator __last)
-             {init(__first, __last);}
-
-    // generating functions
-    template<class _RandomAccessIterator>
-        void generate(_RandomAccessIterator __first, _RandomAccessIterator __last);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const _NOEXCEPT {return __v_.size();}
-    template<class _OutputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void param(_OutputIterator __dest) const
-            {_VSTD::copy(__v_.begin(), __v_.end(), __dest);}
-
-private:
-    // no copy functions
-    seed_seq(const seed_seq&); // = delete;
-    void operator=(const seed_seq&); // = delete;
-
-    _LIBCPP_INLINE_VISIBILITY
-    static result_type _Tp(result_type __x) {return __x ^ (__x >> 27);}
-};
-
-template<class _InputIterator>
-void
-seed_seq::init(_InputIterator __first, _InputIterator __last)
-{
-    for (_InputIterator __s = __first; __s != __last; ++__s)
-        __v_.push_back(*__s & 0xFFFFFFFF);
-}
-
-template<class _RandomAccessIterator>
-void
-seed_seq::generate(_RandomAccessIterator __first, _RandomAccessIterator __last)
-{
-    if (__first != __last)
-    {
-        _VSTD::fill(__first, __last, 0x8b8b8b8b);
-        const size_t __n = static_cast<size_t>(__last - __first);
-        const size_t __s = __v_.size();
-        const size_t __t = (__n >= 623) ? 11
-                         : (__n >= 68) ? 7
-                         : (__n >= 39) ? 5
-                         : (__n >= 7)  ? 3
-                         : (__n - 1) / 2;
-        const size_t __p = (__n - __t) / 2;
-        const size_t __q = __p + __t;
-        const size_t __m = _VSTD::max(__s + 1, __n);
-        // __k = 0;
-        {
-            result_type __r = 1664525 * _Tp(__first[0] ^ __first[__p]
-                                                      ^  __first[__n - 1]);
-            __first[__p] += __r;
-            __r += __s;
-            __first[__q] += __r;
-            __first[0] = __r;
-        }
-        for (size_t __k = 1; __k <= __s; ++__k)
-        {
-            const size_t __kmodn = __k % __n;
-            const size_t __kpmodn = (__k + __p) % __n;
-            result_type __r = 1664525 * _Tp(__first[__kmodn] ^ __first[__kpmodn]
-                                           ^ __first[(__k - 1) % __n]);
-            __first[__kpmodn] += __r;
-            __r +=  __kmodn + __v_[__k-1];
-            __first[(__k + __q) % __n] += __r;
-            __first[__kmodn] = __r;
-        }
-        for (size_t __k = __s + 1; __k < __m; ++__k)
-        {
-            const size_t __kmodn = __k % __n;
-            const size_t __kpmodn = (__k + __p) % __n;
-            result_type __r = 1664525 * _Tp(__first[__kmodn] ^ __first[__kpmodn]
-                                           ^ __first[(__k - 1) % __n]);
-            __first[__kpmodn] += __r;
-            __r +=  __kmodn;
-            __first[(__k + __q) % __n] += __r;
-            __first[__kmodn] = __r;
-        }
-        for (size_t __k = __m; __k < __m + __n; ++__k)
-        {
-            const size_t __kmodn = __k % __n;
-            const size_t __kpmodn = (__k + __p) % __n;
-            result_type __r = 1566083941 * _Tp(__first[__kmodn] +
-                                              __first[__kpmodn] +
-                                              __first[(__k - 1) % __n]);
-            __first[__kpmodn] ^= __r;
-            __r -= __kmodn;
-            __first[(__k + __q) % __n] ^= __r;
-            __first[__kmodn] = __r;
-        }
-    }
-}
-
-// generate_canonical
-
-template<class _RealType, size_t __bits, class _URNG>
-_RealType
-generate_canonical(_URNG& __g)
-{
-    const size_t _Dt = numeric_limits<_RealType>::digits;
-    const size_t __b = _Dt < __bits ? _Dt : __bits;
-#ifdef _LIBCPP_CXX03_LANG
-    const size_t __logR = __log2<uint64_t, _URNG::_Max - _URNG::_Min + uint64_t(1)>::value;
-#else
-    const size_t __logR = __log2<uint64_t, _URNG::max() - _URNG::min() + uint64_t(1)>::value;
-#endif
-    const size_t __k = __b / __logR + (__b % __logR != 0) + (__b == 0);
-    const _RealType _Rp = static_cast<_RealType>(_URNG::max() - _URNG::min()) + _RealType(1);
-    _RealType __base = _Rp;
-    _RealType _Sp = __g() - _URNG::min();
-    for (size_t __i = 1; __i < __k; ++__i, __base *= _Rp)
-        _Sp += (__g() - _URNG::min()) * __base;
-    return _Sp / __base;
-}
-
-// uniform_int_distribution
-
-// in <algorithm>
-
-template <class _CharT, class _Traits, class _IT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const uniform_int_distribution<_IT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    return __os << __x.a() << __sp << __x.b();
-}
-
-template <class _CharT, class _Traits, class _IT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           uniform_int_distribution<_IT>& __x)
-{
-    typedef uniform_int_distribution<_IT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __a;
-    result_type __b;
-    __is >> __a >> __b;
-    if (!__is.fail())
-        __x.param(param_type(__a, __b));
-    return __is;
-}
-
-// uniform_real_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS uniform_real_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __a_;
-        result_type __b_;
-    public:
-        typedef uniform_real_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __a = 0,
-                            result_type __b = 1)
-            : __a_(__a), __b_(__b) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type a() const {return __a_;}
-        _LIBCPP_INLINE_VISIBILITY
-        result_type b() const {return __b_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructors and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit uniform_real_distribution(result_type __a = 0, result_type __b = 1)
-        : __p_(param_type(__a, __b)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit uniform_real_distribution(const param_type& __p) : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type a() const {return __p_.a();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type b() const {return __p_.b();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return a();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return b();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const uniform_real_distribution& __x,
-                        const uniform_real_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const uniform_real_distribution& __x,
-                        const uniform_real_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template<class _RealType>
-template<class _URNG>
-inline
-typename uniform_real_distribution<_RealType>::result_type
-uniform_real_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    return (__p.b() - __p.a())
-        * _VSTD::generate_canonical<_RealType, numeric_limits<_RealType>::digits>(__g)
-        + __p.a();
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const uniform_real_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    return __os << __x.a() << __sp << __x.b();
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           uniform_real_distribution<_RT>& __x)
-{
-    typedef uniform_real_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __a;
-    result_type __b;
-    __is >> __a >> __b;
-    if (!__is.fail())
-        __x.param(param_type(__a, __b));
-    return __is;
-}
-
-// bernoulli_distribution
-
-class _LIBCPP_TEMPLATE_VIS bernoulli_distribution
-{
-public:
-    // types
-    typedef bool result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        double __p_;
-    public:
-        typedef bernoulli_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(double __p = 0.5) : __p_(__p) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        double p() const {return __p_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__p_ == __y.__p_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructors and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit bernoulli_distribution(double __p = 0.5)
-        : __p_(param_type(__p)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit bernoulli_distribution(const param_type& __p) : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    double p() const {return __p_.p();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return false;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return true;}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const bernoulli_distribution& __x,
-                        const bernoulli_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const bernoulli_distribution& __x,
-                        const bernoulli_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template<class _URNG>
-inline
-bernoulli_distribution::result_type
-bernoulli_distribution::operator()(_URNG& __g, const param_type& __p)
-{
-    uniform_real_distribution<double> __gen;
-    return __gen(__g) < __p.p();
-}
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const bernoulli_distribution& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    return __os << __x.p();
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, bernoulli_distribution& __x)
-{
-    typedef bernoulli_distribution _Eng;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    double __p;
-    __is >> __p;
-    if (!__is.fail())
-        __x.param(param_type(__p));
-    return __is;
-}
-
-// binomial_distribution
-
-template<class _IntType = int>
-class _LIBCPP_TEMPLATE_VIS binomial_distribution
-{
-public:
-    // types
-    typedef _IntType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __t_;
-        double __p_;
-        double __pr_;
-        double __odds_ratio_;
-        result_type __r0_;
-    public:
-        typedef binomial_distribution distribution_type;
-
-        explicit param_type(result_type __t = 1, double __p = 0.5);
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type t() const {return __t_;}
-        _LIBCPP_INLINE_VISIBILITY
-        double p() const {return __p_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__t_ == __y.__t_ && __x.__p_ == __y.__p_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-
-        friend class binomial_distribution;
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructors and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit binomial_distribution(result_type __t = 1, double __p = 0.5)
-        : __p_(param_type(__t, __p)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit binomial_distribution(const param_type& __p) : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type t() const {return __p_.t();}
-    _LIBCPP_INLINE_VISIBILITY
-    double p() const {return __p_.p();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return t();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const binomial_distribution& __x,
-                        const binomial_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const binomial_distribution& __x,
-                        const binomial_distribution& __y)
-        {return !(__x == __y);}
-};
-
-#ifndef _LIBCPP_MSVCRT
-extern "C" double lgamma_r(double, int *);
-#endif
-
-inline _LIBCPP_INLINE_VISIBILITY double __libcpp_lgamma(double __d) {
-#if defined(_LIBCPP_MSVCRT)
-  return lgamma(__d);
-#else
-  int __sign;
-  return lgamma_r(__d, &__sign);
-#endif
-}
-
-template<class _IntType>
-binomial_distribution<_IntType>::param_type::param_type(const result_type __t, const double __p)
-    : __t_(__t), __p_(__p)
-{
-    if (0 < __p_ && __p_ < 1)
-    {
-        __r0_ = static_cast<result_type>((__t_ + 1) * __p_);
-        __pr_ = _VSTD::exp(__libcpp_lgamma(__t_ + 1.) -
-                           __libcpp_lgamma(__r0_ + 1.) -
-                           __libcpp_lgamma(__t_ - __r0_ + 1.) + __r0_ * _VSTD::log(__p_) +
-                           (__t_ - __r0_) * _VSTD::log(1 - __p_));
-        __odds_ratio_ = __p_ / (1 - __p_);
-    }
-}
-
-// Reference: Kemp, C.D. (1986). `A modal method for generating binomial
-//           variables', Commun. Statist. - Theor. Meth. 15(3), 805-813.
-template<class _IntType>
-template<class _URNG>
-_IntType
-binomial_distribution<_IntType>::operator()(_URNG& __g, const param_type& __pr)
-{
-    if (__pr.__t_ == 0 || __pr.__p_ == 0)
-        return 0;
-    if (__pr.__p_ == 1)
-        return __pr.__t_;
-    uniform_real_distribution<double> __gen;
-    double __u = __gen(__g) - __pr.__pr_;
-    if (__u < 0)
-        return __pr.__r0_;
-    double __pu = __pr.__pr_;
-    double __pd = __pu;
-    result_type __ru = __pr.__r0_;
-    result_type __rd = __ru;
-    while (true)
-    {
-        if (__rd >= 1)
-        {
-            __pd *= __rd / (__pr.__odds_ratio_ * (__pr.__t_ - __rd + 1));
-            __u -= __pd;
-            if (__u < 0)
-                return __rd - 1;
-        }
-        if ( __rd != 0 )
-            --__rd;
-        ++__ru;
-        if (__ru <= __pr.__t_)
-        {
-            __pu *= (__pr.__t_ - __ru + 1) * __pr.__odds_ratio_ / __ru;
-            __u -= __pu;
-            if (__u < 0)
-                return __ru;
-        }
-    }
-}
-
-template <class _CharT, class _Traits, class _IntType>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const binomial_distribution<_IntType>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    return __os << __x.t() << __sp << __x.p();
-}
-
-template <class _CharT, class _Traits, class _IntType>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           binomial_distribution<_IntType>& __x)
-{
-    typedef binomial_distribution<_IntType> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __t;
-    double __p;
-    __is >> __t >> __p;
-    if (!__is.fail())
-        __x.param(param_type(__t, __p));
-    return __is;
-}
-
-// exponential_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS exponential_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __lambda_;
-    public:
-        typedef exponential_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __lambda = 1) : __lambda_(__lambda) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type lambda() const {return __lambda_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__lambda_ == __y.__lambda_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructors and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit exponential_distribution(result_type __lambda = 1)
-        : __p_(param_type(__lambda)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit exponential_distribution(const param_type& __p) : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type lambda() const {return __p_.lambda();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const exponential_distribution& __x,
-                        const exponential_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const exponential_distribution& __x,
-                        const exponential_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _RealType>
-template<class _URNG>
-_RealType
-exponential_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    return -_VSTD::log
-                  (
-                      result_type(1) -
-                      _VSTD::generate_canonical<result_type,
-                                       numeric_limits<result_type>::digits>(__g)
-                  )
-                  / __p.lambda();
-}
-
-template <class _CharT, class _Traits, class _RealType>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const exponential_distribution<_RealType>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    return __os << __x.lambda();
-}
-
-template <class _CharT, class _Traits, class _RealType>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           exponential_distribution<_RealType>& __x)
-{
-    typedef exponential_distribution<_RealType> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __lambda;
-    __is >> __lambda;
-    if (!__is.fail())
-        __x.param(param_type(__lambda));
-    return __is;
-}
-
-// normal_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS normal_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __mean_;
-        result_type __stddev_;
-    public:
-        typedef normal_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __mean = 0, result_type __stddev = 1)
-            : __mean_(__mean), __stddev_(__stddev) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type mean() const {return __mean_;}
-        _LIBCPP_INLINE_VISIBILITY
-        result_type stddev() const {return __stddev_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__mean_ == __y.__mean_ && __x.__stddev_ == __y.__stddev_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-    result_type _V_;
-    bool _V_hot_;
-
-public:
-    // constructors and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit normal_distribution(result_type __mean = 0, result_type __stddev = 1)
-        : __p_(param_type(__mean, __stddev)), _V_hot_(false) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit normal_distribution(const param_type& __p)
-        : __p_(__p), _V_hot_(false) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {_V_hot_ = false;}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type mean() const {return __p_.mean();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type stddev() const {return __p_.stddev();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return -numeric_limits<result_type>::infinity();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const normal_distribution& __x,
-                        const normal_distribution& __y)
-        {return __x.__p_ == __y.__p_ && __x._V_hot_ == __y._V_hot_ &&
-                (!__x._V_hot_ || __x._V_ == __y._V_);}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const normal_distribution& __x,
-                        const normal_distribution& __y)
-        {return !(__x == __y);}
-
-    template <class _CharT, class _Traits, class _RT>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const normal_distribution<_RT>& __x);
-
-    template <class _CharT, class _Traits, class _RT>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               normal_distribution<_RT>& __x);
-};
-
-template <class _RealType>
-template<class _URNG>
-_RealType
-normal_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    result_type _Up;
-    if (_V_hot_)
-    {
-        _V_hot_ = false;
-        _Up = _V_;
-    }
-    else
-    {
-        uniform_real_distribution<result_type> _Uni(-1, 1);
-        result_type __u;
-        result_type __v;
-        result_type __s;
-        do
-        {
-            __u = _Uni(__g);
-            __v = _Uni(__g);
-            __s = __u * __u + __v * __v;
-        } while (__s > 1 || __s == 0);
-        result_type _Fp = _VSTD::sqrt(-2 * _VSTD::log(__s) / __s);
-        _V_ = __v * _Fp;
-        _V_hot_ = true;
-        _Up = __u * _Fp;
-    }
-    return _Up * __p.stddev() + __p.mean();
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const normal_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.mean() << __sp << __x.stddev() << __sp << __x._V_hot_;
-    if (__x._V_hot_)
-        __os << __sp << __x._V_;
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           normal_distribution<_RT>& __x)
-{
-    typedef normal_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __mean;
-    result_type __stddev;
-    result_type _Vp = 0;
-    bool _V_hot = false;
-    __is >> __mean >> __stddev >> _V_hot;
-    if (_V_hot)
-        __is >> _Vp;
-    if (!__is.fail())
-    {
-        __x.param(param_type(__mean, __stddev));
-        __x._V_hot_ = _V_hot;
-        __x._V_ = _Vp;
-    }
-    return __is;
-}
-
-// lognormal_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS lognormal_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        normal_distribution<result_type> __nd_;
-    public:
-        typedef lognormal_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __m = 0, result_type __s = 1)
-            : __nd_(__m, __s) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type m() const {return __nd_.mean();}
-        _LIBCPP_INLINE_VISIBILITY
-        result_type s() const {return __nd_.stddev();}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__nd_ == __y.__nd_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-        friend class lognormal_distribution;
-
-        template <class _CharT, class _Traits, class _RT>
-        friend
-        basic_ostream<_CharT, _Traits>&
-        operator<<(basic_ostream<_CharT, _Traits>& __os,
-                   const lognormal_distribution<_RT>& __x);
-
-        template <class _CharT, class _Traits, class _RT>
-        friend
-        basic_istream<_CharT, _Traits>&
-        operator>>(basic_istream<_CharT, _Traits>& __is,
-                   lognormal_distribution<_RT>& __x);
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit lognormal_distribution(result_type __m = 0, result_type __s = 1)
-        : __p_(param_type(__m, __s)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit lognormal_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {__p_.__nd_.reset();}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g, const param_type& __p)
-        {return _VSTD::exp(const_cast<normal_distribution<result_type>&>(__p.__nd_)(__g));}
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type m() const {return __p_.m();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type s() const {return __p_.s();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const lognormal_distribution& __x,
-                        const lognormal_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const lognormal_distribution& __x,
-                        const lognormal_distribution& __y)
-        {return !(__x == __y);}
-
-    template <class _CharT, class _Traits, class _RT>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const lognormal_distribution<_RT>& __x);
-
-    template <class _CharT, class _Traits, class _RT>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               lognormal_distribution<_RT>& __x);
-};
-
-template <class _CharT, class _Traits, class _RT>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const lognormal_distribution<_RT>& __x)
-{
-    return __os << __x.__p_.__nd_;
-}
-
-template <class _CharT, class _Traits, class _RT>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           lognormal_distribution<_RT>& __x)
-{
-    return __is >> __x.__p_.__nd_;
-}
-
-// poisson_distribution
-
-template<class _IntType = int>
-class _LIBCPP_TEMPLATE_VIS poisson_distribution
-{
-public:
-    // types
-    typedef _IntType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        double __mean_;
-        double __s_;
-        double __d_;
-        double __l_;
-        double __omega_;
-        double __c0_;
-        double __c1_;
-        double __c2_;
-        double __c3_;
-        double __c_;
-
-    public:
-        typedef poisson_distribution distribution_type;
-
-        explicit param_type(double __mean = 1.0);
-
-        _LIBCPP_INLINE_VISIBILITY
-        double mean() const {return __mean_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__mean_ == __y.__mean_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-
-        friend class poisson_distribution;
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructors and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit poisson_distribution(double __mean = 1.0) : __p_(__mean) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit poisson_distribution(const param_type& __p) : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    double mean() const {return __p_.mean();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::max();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const poisson_distribution& __x,
-                        const poisson_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const poisson_distribution& __x,
-                        const poisson_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template<class _IntType>
-poisson_distribution<_IntType>::param_type::param_type(double __mean)
-    // According to the standard `inf` is a valid input, but it causes the
-    // distribution to hang, so we replace it with the maximum representable
-    // mean.
-    : __mean_(isinf(__mean) ? numeric_limits<double>::max() : __mean)
-{
-    if (__mean_ < 10)
-    {
-        __s_ = 0;
-        __d_ = 0;
-        __l_ = _VSTD::exp(-__mean_);
-        __omega_ = 0;
-        __c3_ = 0;
-        __c2_ = 0;
-        __c1_ = 0;
-        __c0_ = 0;
-        __c_ = 0;
-    }
-    else
-    {
-        __s_ = _VSTD::sqrt(__mean_);
-        __d_ = 6 * __mean_ * __mean_;
-        __l_ = std::trunc(__mean_ - 1.1484);
-        __omega_ = .3989423 / __s_;
-        double __b1_ = .4166667E-1 / __mean_;
-        double __b2_ = .3 * __b1_ * __b1_;
-        __c3_ = .1428571 * __b1_ * __b2_;
-        __c2_ = __b2_ - 15. * __c3_;
-        __c1_ = __b1_ - 6. * __b2_ + 45. * __c3_;
-        __c0_ = 1. - __b1_ + 3. * __b2_ - 15. * __c3_;
-        __c_ = .1069 / __mean_;
-    }
-}
-
-template <class _IntType>
-template<class _URNG>
-_IntType
-poisson_distribution<_IntType>::operator()(_URNG& __urng, const param_type& __pr)
-{
-    double __tx;
-    uniform_real_distribution<double> __urd;
-    if (__pr.__mean_ < 10)
-    {
-         __tx = 0;
-        for (double __p = __urd(__urng); __p > __pr.__l_; ++__tx)
-            __p *= __urd(__urng);
-    }
-    else
-    {
-        double __difmuk;
-        double __g = __pr.__mean_ + __pr.__s_ * normal_distribution<double>()(__urng);
-        double __u;
-        if (__g > 0)
-        {
-            __tx = std::trunc(__g);
-            if (__tx >= __pr.__l_)
-                return std::__clamp_to_integral<result_type>(__tx);
-            __difmuk = __pr.__mean_ - __tx;
-            __u = __urd(__urng);
-            if (__pr.__d_ * __u >= __difmuk * __difmuk * __difmuk)
-                return std::__clamp_to_integral<result_type>(__tx);
-        }
-        exponential_distribution<double> __edist;
-        for (bool __using_exp_dist = false; true; __using_exp_dist = true)
-        {
-            double __e;
-            if (__using_exp_dist || __g <= 0)
-            {
-                double __t;
-                do
-                {
-                    __e = __edist(__urng);
-                    __u = __urd(__urng);
-                    __u += __u - 1;
-                    __t = 1.8 + (__u < 0 ? -__e : __e);
-                } while (__t <= -.6744);
-                __tx = std::trunc(__pr.__mean_ + __pr.__s_ * __t);
-                __difmuk = __pr.__mean_ - __tx;
-                __using_exp_dist = true;
-            }
-            double __px;
-            double __py;
-            if (__tx < 10 && __tx >= 0)
-            {
-                const double __fac[] = {1, 1, 2, 6, 24, 120, 720, 5040,
-                                             40320, 362880};
-                __px = -__pr.__mean_;
-                __py = _VSTD::pow(__pr.__mean_, (double)__tx) / __fac[static_cast<int>(__tx)];
-            }
-            else
-            {
-                double __del = .8333333E-1 / __tx;
-                __del -= 4.8 * __del * __del * __del;
-                double __v = __difmuk / __tx;
-                if (_VSTD::abs(__v) > 0.25)
-                    __px = __tx * _VSTD::log(1 + __v) - __difmuk - __del;
-                else
-                    __px = __tx * __v * __v * (((((((.1250060 * __v + -.1384794) *
-                           __v + .1421878) * __v + -.1661269) * __v + .2000118) *
-                           __v + -.2500068) * __v + .3333333) * __v + -.5) - __del;
-                __py = .3989423 / _VSTD::sqrt(__tx);
-            }
-            double __r = (0.5 - __difmuk) / __pr.__s_;
-            double __r2 = __r * __r;
-            double __fx = -0.5 * __r2;
-            double __fy = __pr.__omega_ * (((__pr.__c3_ * __r2 + __pr.__c2_) *
-                                        __r2 + __pr.__c1_) * __r2 + __pr.__c0_);
-            if (__using_exp_dist)
-            {
-                if (__pr.__c_ * _VSTD::abs(__u) <= __py * _VSTD::exp(__px + __e) -
-                                                   __fy * _VSTD::exp(__fx + __e))
-                    break;
-            }
-            else
-            {
-                if (__fy - __u * __fy <= __py * _VSTD::exp(__px - __fx))
-                    break;
-            }
-        }
-    }
-    return std::__clamp_to_integral<result_type>(__tx);
-}
-
-template <class _CharT, class _Traits, class _IntType>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const poisson_distribution<_IntType>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    return __os << __x.mean();
-}
-
-template <class _CharT, class _Traits, class _IntType>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           poisson_distribution<_IntType>& __x)
-{
-    typedef poisson_distribution<_IntType> _Eng;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    double __mean;
-    __is >> __mean;
-    if (!__is.fail())
-        __x.param(param_type(__mean));
-    return __is;
-}
-
-// weibull_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS weibull_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __a_;
-        result_type __b_;
-    public:
-        typedef weibull_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __a = 1, result_type __b = 1)
-            : __a_(__a), __b_(__b) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type a() const {return __a_;}
-        _LIBCPP_INLINE_VISIBILITY
-        result_type b() const {return __b_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit weibull_distribution(result_type __a = 1, result_type __b = 1)
-        : __p_(param_type(__a, __b)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit weibull_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g, const param_type& __p)
-        {return __p.b() *
-            _VSTD::pow(exponential_distribution<result_type>()(__g), 1/__p.a());}
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type a() const {return __p_.a();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type b() const {return __p_.b();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const weibull_distribution& __x,
-                        const weibull_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const weibull_distribution& __x,
-                        const weibull_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const weibull_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.a() << __sp << __x.b();
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           weibull_distribution<_RT>& __x)
-{
-    typedef weibull_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __a;
-    result_type __b;
-    __is >> __a >> __b;
-    if (!__is.fail())
-        __x.param(param_type(__a, __b));
-    return __is;
-}
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS extreme_value_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __a_;
-        result_type __b_;
-    public:
-        typedef extreme_value_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __a = 0, result_type __b = 1)
-            : __a_(__a), __b_(__b) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type a() const {return __a_;}
-        _LIBCPP_INLINE_VISIBILITY
-        result_type b() const {return __b_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit extreme_value_distribution(result_type __a = 0, result_type __b = 1)
-        : __p_(param_type(__a, __b)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit extreme_value_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type a() const {return __p_.a();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type b() const {return __p_.b();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return -numeric_limits<result_type>::infinity();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const extreme_value_distribution& __x,
-                        const extreme_value_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const extreme_value_distribution& __x,
-                        const extreme_value_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template<class _RealType>
-template<class _URNG>
-_RealType
-extreme_value_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    return __p.a() - __p.b() *
-         _VSTD::log(-_VSTD::log(1-uniform_real_distribution<result_type>()(__g)));
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const extreme_value_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.a() << __sp << __x.b();
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           extreme_value_distribution<_RT>& __x)
-{
-    typedef extreme_value_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __a;
-    result_type __b;
-    __is >> __a >> __b;
-    if (!__is.fail())
-        __x.param(param_type(__a, __b));
-    return __is;
-}
-
-// gamma_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS gamma_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __alpha_;
-        result_type __beta_;
-    public:
-        typedef gamma_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __alpha = 1, result_type __beta = 1)
-            : __alpha_(__alpha), __beta_(__beta) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type alpha() const {return __alpha_;}
-        _LIBCPP_INLINE_VISIBILITY
-        result_type beta() const {return __beta_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__alpha_ == __y.__alpha_ && __x.__beta_ == __y.__beta_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructors and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit gamma_distribution(result_type __alpha = 1, result_type __beta = 1)
-        : __p_(param_type(__alpha, __beta)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit gamma_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type alpha() const {return __p_.alpha();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type beta() const {return __p_.beta();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const gamma_distribution& __x,
-                        const gamma_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const gamma_distribution& __x,
-                        const gamma_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _RealType>
-template<class _URNG>
-_RealType
-gamma_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    result_type __a = __p.alpha();
-    uniform_real_distribution<result_type> __gen(0, 1);
-    exponential_distribution<result_type> __egen;
-    result_type __x;
-    if (__a == 1)
-        __x = __egen(__g);
-    else if (__a > 1)
-    {
-        const result_type __b = __a - 1;
-        const result_type __c = 3 * __a - result_type(0.75);
-        while (true)
-        {
-            const result_type __u = __gen(__g);
-            const result_type __v = __gen(__g);
-            const result_type __w = __u * (1 - __u);
-            if (__w != 0)
-            {
-                const result_type __y = _VSTD::sqrt(__c / __w) *
-                                        (__u - result_type(0.5));
-                __x = __b + __y;
-                if (__x >= 0)
-                {
-                    const result_type __z = 64 * __w * __w * __w * __v * __v;
-                    if (__z <= 1 - 2 * __y * __y / __x)
-                        break;
-                    if (_VSTD::log(__z) <= 2 * (__b * _VSTD::log(__x / __b) - __y))
-                        break;
-                }
-            }
-        }
-    }
-    else  // __a < 1
-    {
-        while (true)
-        {
-            const result_type __u = __gen(__g);
-            const result_type __es = __egen(__g);
-            if (__u <= 1 - __a)
-            {
-                __x = _VSTD::pow(__u, 1 / __a);
-                if (__x <= __es)
-                    break;
-            }
-            else
-            {
-                const result_type __e = -_VSTD::log((1-__u)/__a);
-                __x = _VSTD::pow(1 - __a + __a * __e, 1 / __a);
-                if (__x <= __e + __es)
-                    break;
-            }
-        }
-    }
-    return __x * __p.beta();
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const gamma_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.alpha() << __sp << __x.beta();
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           gamma_distribution<_RT>& __x)
-{
-    typedef gamma_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __alpha;
-    result_type __beta;
-    __is >> __alpha >> __beta;
-    if (!__is.fail())
-        __x.param(param_type(__alpha, __beta));
-    return __is;
-}
-
-// negative_binomial_distribution
-
-template<class _IntType = int>
-class _LIBCPP_TEMPLATE_VIS negative_binomial_distribution
-{
-public:
-    // types
-    typedef _IntType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __k_;
-        double __p_;
-    public:
-        typedef negative_binomial_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __k = 1, double __p = 0.5)
-            : __k_(__k), __p_(__p) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type k() const {return __k_;}
-        _LIBCPP_INLINE_VISIBILITY
-        double p() const {return __p_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__k_ == __y.__k_ && __x.__p_ == __y.__p_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit negative_binomial_distribution(result_type __k = 1, double __p = 0.5)
-        : __p_(__k, __p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit negative_binomial_distribution(const param_type& __p) : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type k() const {return __p_.k();}
-    _LIBCPP_INLINE_VISIBILITY
-    double p() const {return __p_.p();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::max();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const negative_binomial_distribution& __x,
-                        const negative_binomial_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const negative_binomial_distribution& __x,
-                        const negative_binomial_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _IntType>
-template<class _URNG>
-_IntType
-negative_binomial_distribution<_IntType>::operator()(_URNG& __urng, const param_type& __pr)
-{
-    result_type __k = __pr.k();
-    double __p = __pr.p();
-    if (__k <= 21 * __p)
-    {
-        bernoulli_distribution __gen(__p);
-        result_type __f = 0;
-        result_type __s = 0;
-        while (__s < __k)
-        {
-            if (__gen(__urng))
-                ++__s;
-            else
-                ++__f;
-        }
-        return __f;
-    }
-    return poisson_distribution<result_type>(gamma_distribution<double>
-                                            (__k, (1-__p)/__p)(__urng))(__urng);
-}
-
-template <class _CharT, class _Traits, class _IntType>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const negative_binomial_distribution<_IntType>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    return __os << __x.k() << __sp << __x.p();
-}
-
-template <class _CharT, class _Traits, class _IntType>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           negative_binomial_distribution<_IntType>& __x)
-{
-    typedef negative_binomial_distribution<_IntType> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __k;
-    double __p;
-    __is >> __k >> __p;
-    if (!__is.fail())
-        __x.param(param_type(__k, __p));
-    return __is;
-}
-
-// geometric_distribution
-
-template<class _IntType = int>
-class _LIBCPP_TEMPLATE_VIS geometric_distribution
-{
-public:
-    // types
-    typedef _IntType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        double __p_;
-    public:
-        typedef geometric_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(double __p = 0.5) : __p_(__p) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        double p() const {return __p_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__p_ == __y.__p_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructors and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit geometric_distribution(double __p = 0.5) : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit geometric_distribution(const param_type& __p) : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g, const param_type& __p)
-        {return negative_binomial_distribution<result_type>(1, __p.p())(__g);}
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    double p() const {return __p_.p();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::max();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const geometric_distribution& __x,
-                        const geometric_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const geometric_distribution& __x,
-                        const geometric_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _CharT, class _Traits, class _IntType>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const geometric_distribution<_IntType>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    return __os << __x.p();
-}
-
-template <class _CharT, class _Traits, class _IntType>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           geometric_distribution<_IntType>& __x)
-{
-    typedef geometric_distribution<_IntType> _Eng;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    double __p;
-    __is >> __p;
-    if (!__is.fail())
-        __x.param(param_type(__p));
-    return __is;
-}
-
-// chi_squared_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS chi_squared_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __n_;
-    public:
-        typedef chi_squared_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __n = 1) : __n_(__n) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type n() const {return __n_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__n_ == __y.__n_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit chi_squared_distribution(result_type __n = 1)
-        : __p_(param_type(__n)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit chi_squared_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g, const param_type& __p)
-        {return gamma_distribution<result_type>(__p.n() / 2, 2)(__g);}
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type n() const {return __p_.n();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const chi_squared_distribution& __x,
-                        const chi_squared_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const chi_squared_distribution& __x,
-                        const chi_squared_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const chi_squared_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    __os << __x.n();
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           chi_squared_distribution<_RT>& __x)
-{
-    typedef chi_squared_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __n;
-    __is >> __n;
-    if (!__is.fail())
-        __x.param(param_type(__n));
-    return __is;
-}
-
-// cauchy_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS cauchy_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __a_;
-        result_type __b_;
-    public:
-        typedef cauchy_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __a = 0, result_type __b = 1)
-            : __a_(__a), __b_(__b) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type a() const {return __a_;}
-        _LIBCPP_INLINE_VISIBILITY
-        result_type b() const {return __b_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit cauchy_distribution(result_type __a = 0, result_type __b = 1)
-        : __p_(param_type(__a, __b)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit cauchy_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type a() const {return __p_.a();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type b() const {return __p_.b();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return -numeric_limits<result_type>::infinity();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const cauchy_distribution& __x,
-                        const cauchy_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const cauchy_distribution& __x,
-                        const cauchy_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _RealType>
-template<class _URNG>
-inline
-_RealType
-cauchy_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    uniform_real_distribution<result_type> __gen;
-    // purposefully let tan arg get as close to pi/2 as it wants, tan will return a finite
-    return __p.a() + __p.b() * _VSTD::tan(3.1415926535897932384626433832795 * __gen(__g));
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const cauchy_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.a() << __sp << __x.b();
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           cauchy_distribution<_RT>& __x)
-{
-    typedef cauchy_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __a;
-    result_type __b;
-    __is >> __a >> __b;
-    if (!__is.fail())
-        __x.param(param_type(__a, __b));
-    return __is;
-}
-
-// fisher_f_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS fisher_f_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __m_;
-        result_type __n_;
-    public:
-        typedef fisher_f_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __m = 1, result_type __n = 1)
-            : __m_(__m), __n_(__n) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type m() const {return __m_;}
-        _LIBCPP_INLINE_VISIBILITY
-        result_type n() const {return __n_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__m_ == __y.__m_ && __x.__n_ == __y.__n_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit fisher_f_distribution(result_type __m = 1, result_type __n = 1)
-        : __p_(param_type(__m, __n)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit fisher_f_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type m() const {return __p_.m();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type n() const {return __p_.n();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const fisher_f_distribution& __x,
-                        const fisher_f_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const fisher_f_distribution& __x,
-                        const fisher_f_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _RealType>
-template<class _URNG>
-_RealType
-fisher_f_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    gamma_distribution<result_type> __gdm(__p.m() * result_type(.5));
-    gamma_distribution<result_type> __gdn(__p.n() * result_type(.5));
-    return __p.n() * __gdm(__g) / (__p.m() * __gdn(__g));
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const fisher_f_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    __os << __x.m() << __sp << __x.n();
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           fisher_f_distribution<_RT>& __x)
-{
-    typedef fisher_f_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __m;
-    result_type __n;
-    __is >> __m >> __n;
-    if (!__is.fail())
-        __x.param(param_type(__m, __n));
-    return __is;
-}
-
-// student_t_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS student_t_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        result_type __n_;
-    public:
-        typedef student_t_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        explicit param_type(result_type __n = 1) : __n_(__n) {}
-
-        _LIBCPP_INLINE_VISIBILITY
-        result_type n() const {return __n_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__n_ == __y.__n_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-    };
-
-private:
-    param_type __p_;
-    normal_distribution<result_type> __nd_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    explicit student_t_distribution(result_type __n = 1)
-        : __p_(param_type(__n)) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit student_t_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {__nd_.reset();}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    result_type n() const {return __p_.n();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return -numeric_limits<result_type>::infinity();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return numeric_limits<result_type>::infinity();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const student_t_distribution& __x,
-                        const student_t_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const student_t_distribution& __x,
-                        const student_t_distribution& __y)
-        {return !(__x == __y);}
-};
-
-template <class _RealType>
-template<class _URNG>
-_RealType
-student_t_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    gamma_distribution<result_type> __gd(__p.n() * .5, 2);
-    return __nd_(__g) * _VSTD::sqrt(__p.n()/__gd(__g));
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const student_t_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    __os << __x.n();
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           student_t_distribution<_RT>& __x)
-{
-    typedef student_t_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    typedef typename _Eng::param_type param_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    result_type __n;
-    __is >> __n;
-    if (!__is.fail())
-        __x.param(param_type(__n));
-    return __is;
-}
-
-// discrete_distribution
-
-template<class _IntType = int>
-class _LIBCPP_TEMPLATE_VIS discrete_distribution
-{
-public:
-    // types
-    typedef _IntType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        vector<double> __p_;
-    public:
-        typedef discrete_distribution distribution_type;
-
-        _LIBCPP_INLINE_VISIBILITY
-        param_type() {}
-        template<class _InputIterator>
-            _LIBCPP_INLINE_VISIBILITY
-            param_type(_InputIterator __f, _InputIterator __l)
-            : __p_(__f, __l) {__init();}
-#ifndef _LIBCPP_CXX03_LANG
-        _LIBCPP_INLINE_VISIBILITY
-        param_type(initializer_list<double> __wl)
-            : __p_(__wl.begin(), __wl.end()) {__init();}
-#endif  // _LIBCPP_CXX03_LANG
-        template<class _UnaryOperation>
-            param_type(size_t __nw, double __xmin, double __xmax,
-                       _UnaryOperation __fw);
-
-        vector<double> probabilities() const;
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__p_ == __y.__p_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-
-    private:
-        void __init();
-
-        friend class discrete_distribution;
-
-        template <class _CharT, class _Traits, class _IT>
-        friend
-        basic_ostream<_CharT, _Traits>&
-        operator<<(basic_ostream<_CharT, _Traits>& __os,
-                   const discrete_distribution<_IT>& __x);
-
-        template <class _CharT, class _Traits, class _IT>
-        friend
-        basic_istream<_CharT, _Traits>&
-        operator>>(basic_istream<_CharT, _Traits>& __is,
-                   discrete_distribution<_IT>& __x);
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    discrete_distribution() {}
-    template<class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        discrete_distribution(_InputIterator __f, _InputIterator __l)
-            : __p_(__f, __l) {}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    discrete_distribution(initializer_list<double> __wl)
-        : __p_(__wl) {}
-#endif  // _LIBCPP_CXX03_LANG
-    template<class _UnaryOperation>
-        _LIBCPP_INLINE_VISIBILITY
-        discrete_distribution(size_t __nw, double __xmin, double __xmax,
-                              _UnaryOperation __fw)
-        : __p_(__nw, __xmin, __xmax, __fw) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit discrete_distribution(const param_type& __p)
-        : __p_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    vector<double> probabilities() const {return __p_.probabilities();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return __p_.__p_.size();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const discrete_distribution& __x,
-                        const discrete_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const discrete_distribution& __x,
-                        const discrete_distribution& __y)
-        {return !(__x == __y);}
-
-    template <class _CharT, class _Traits, class _IT>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const discrete_distribution<_IT>& __x);
-
-    template <class _CharT, class _Traits, class _IT>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               discrete_distribution<_IT>& __x);
-};
-
-template<class _IntType>
-template<class _UnaryOperation>
-discrete_distribution<_IntType>::param_type::param_type(size_t __nw,
-                                                        double __xmin,
-                                                        double __xmax,
-                                                        _UnaryOperation __fw)
-{
-    if (__nw > 1)
-    {
-        __p_.reserve(__nw - 1);
-        double __d = (__xmax - __xmin) / __nw;
-        double __d2 = __d / 2;
-        for (size_t __k = 0; __k < __nw; ++__k)
-            __p_.push_back(__fw(__xmin + __k * __d + __d2));
-        __init();
-    }
-}
-
-template<class _IntType>
-void
-discrete_distribution<_IntType>::param_type::__init()
-{
-    if (!__p_.empty())
-    {
-        if (__p_.size() > 1)
-        {
-            double __s = _VSTD::accumulate(__p_.begin(), __p_.end(), 0.0);
-            for (_VSTD::vector<double>::iterator __i = __p_.begin(), __e = __p_.end();
-                                                                       __i < __e; ++__i)
-                *__i /= __s;
-            vector<double> __t(__p_.size() - 1);
-            _VSTD::partial_sum(__p_.begin(), __p_.end() - 1, __t.begin());
-            swap(__p_, __t);
-        }
-        else
-        {
-            __p_.clear();
-            __p_.shrink_to_fit();
-        }
-    }
-}
-
-template<class _IntType>
-vector<double>
-discrete_distribution<_IntType>::param_type::probabilities() const
-{
-    size_t __n = __p_.size();
-    _VSTD::vector<double> __p(__n+1);
-    _VSTD::adjacent_difference(__p_.begin(), __p_.end(), __p.begin());
-    if (__n > 0)
-        __p[__n] = 1 - __p_[__n-1];
-    else
-        __p[0] = 1;
-    return __p;
-}
-
-template<class _IntType>
-template<class _URNG>
-_IntType
-discrete_distribution<_IntType>::operator()(_URNG& __g, const param_type& __p)
-{
-    uniform_real_distribution<double> __gen;
-    return static_cast<_IntType>(
-           _VSTD::upper_bound(__p.__p_.begin(), __p.__p_.end(), __gen(__g)) -
-                                                              __p.__p_.begin());
-}
-
-template <class _CharT, class _Traits, class _IT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const discrete_distribution<_IT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    size_t __n = __x.__p_.__p_.size();
-    __os << __n;
-    for (size_t __i = 0; __i < __n; ++__i)
-        __os << __sp << __x.__p_.__p_[__i];
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _IT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           discrete_distribution<_IT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    size_t __n;
-    __is >> __n;
-    vector<double> __p(__n);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __is >> __p[__i];
-    if (!__is.fail())
-        swap(__x.__p_.__p_, __p);
-    return __is;
-}
-
-// piecewise_constant_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS piecewise_constant_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        vector<result_type> __b_;
-        vector<result_type> __densities_;
-        vector<result_type> __areas_;
-    public:
-        typedef piecewise_constant_distribution distribution_type;
-
-        param_type();
-        template<class _InputIteratorB, class _InputIteratorW>
-            param_type(_InputIteratorB __fB, _InputIteratorB __lB,
-                       _InputIteratorW __fW);
-#ifndef _LIBCPP_CXX03_LANG
-        template<class _UnaryOperation>
-            param_type(initializer_list<result_type> __bl, _UnaryOperation __fw);
-#endif  // _LIBCPP_CXX03_LANG
-        template<class _UnaryOperation>
-            param_type(size_t __nw, result_type __xmin, result_type __xmax,
-                       _UnaryOperation __fw);
-        param_type & operator=(const param_type& __rhs);
-
-        _LIBCPP_INLINE_VISIBILITY
-        vector<result_type> intervals() const {return __b_;}
-        _LIBCPP_INLINE_VISIBILITY
-        vector<result_type> densities() const {return __densities_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__densities_ == __y.__densities_ && __x.__b_ == __y.__b_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-
-    private:
-        void __init();
-
-        friend class piecewise_constant_distribution;
-
-        template <class _CharT, class _Traits, class _RT>
-        friend
-        basic_ostream<_CharT, _Traits>&
-        operator<<(basic_ostream<_CharT, _Traits>& __os,
-                   const piecewise_constant_distribution<_RT>& __x);
-
-        template <class _CharT, class _Traits, class _RT>
-        friend
-        basic_istream<_CharT, _Traits>&
-        operator>>(basic_istream<_CharT, _Traits>& __is,
-                   piecewise_constant_distribution<_RT>& __x);
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    piecewise_constant_distribution() {}
-    template<class _InputIteratorB, class _InputIteratorW>
-        _LIBCPP_INLINE_VISIBILITY
-        piecewise_constant_distribution(_InputIteratorB __fB,
-                                        _InputIteratorB __lB,
-                                        _InputIteratorW __fW)
-        : __p_(__fB, __lB, __fW) {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    template<class _UnaryOperation>
-        _LIBCPP_INLINE_VISIBILITY
-        piecewise_constant_distribution(initializer_list<result_type> __bl,
-                                        _UnaryOperation __fw)
-        : __p_(__bl, __fw) {}
-#endif  // _LIBCPP_CXX03_LANG
-
-    template<class _UnaryOperation>
-        _LIBCPP_INLINE_VISIBILITY
-        piecewise_constant_distribution(size_t __nw, result_type __xmin,
-                                        result_type __xmax, _UnaryOperation __fw)
-        : __p_(__nw, __xmin, __xmax, __fw) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit piecewise_constant_distribution(const param_type& __p)
-        : __p_(__p) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    vector<result_type> intervals() const {return __p_.intervals();}
-    _LIBCPP_INLINE_VISIBILITY
-    vector<result_type> densities() const {return __p_.densities();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return __p_.__b_.front();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return __p_.__b_.back();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const piecewise_constant_distribution& __x,
-                        const piecewise_constant_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const piecewise_constant_distribution& __x,
-                           const piecewise_constant_distribution& __y)
-        {return !(__x == __y);}
-
-    template <class _CharT, class _Traits, class _RT>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const piecewise_constant_distribution<_RT>& __x);
-
-    template <class _CharT, class _Traits, class _RT>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               piecewise_constant_distribution<_RT>& __x);
-};
-
-template<class _RealType>
-typename piecewise_constant_distribution<_RealType>::param_type &
-piecewise_constant_distribution<_RealType>::param_type::operator=
-                                                       (const param_type& __rhs)
-{
-//  These can throw
-    __b_.reserve        (__rhs.__b_.size ());
-    __densities_.reserve(__rhs.__densities_.size());
-    __areas_.reserve    (__rhs.__areas_.size());
-
-//  These can not throw
-    __b_         = __rhs.__b_;
-    __densities_ = __rhs.__densities_;
-    __areas_     =  __rhs.__areas_;
-    return *this;
-}
-
-template<class _RealType>
-void
-piecewise_constant_distribution<_RealType>::param_type::__init()
-{
-    // __densities_ contains non-normalized areas
-    result_type __total_area = _VSTD::accumulate(__densities_.begin(),
-                                                __densities_.end(),
-                                                result_type());
-    for (size_t __i = 0; __i < __densities_.size(); ++__i)
-        __densities_[__i] /= __total_area;
-    // __densities_ contains normalized areas
-    __areas_.assign(__densities_.size(), result_type());
-    _VSTD::partial_sum(__densities_.begin(), __densities_.end() - 1,
-                                                          __areas_.begin() + 1);
-    // __areas_ contains partial sums of normalized areas: [0, __densities_ - 1]
-    __densities_.back() = 1 - __areas_.back();  // correct round off error
-    for (size_t __i = 0; __i < __densities_.size(); ++__i)
-        __densities_[__i] /= (__b_[__i+1] - __b_[__i]);
-    // __densities_ now contains __densities_
-}
-
-template<class _RealType>
-piecewise_constant_distribution<_RealType>::param_type::param_type()
-    : __b_(2),
-      __densities_(1, 1.0),
-      __areas_(1, 0.0)
-{
-    __b_[1] = 1;
-}
-
-template<class _RealType>
-template<class _InputIteratorB, class _InputIteratorW>
-piecewise_constant_distribution<_RealType>::param_type::param_type(
-        _InputIteratorB __fB, _InputIteratorB __lB, _InputIteratorW __fW)
-    : __b_(__fB, __lB)
-{
-    if (__b_.size() < 2)
-    {
-        __b_.resize(2);
-        __b_[0] = 0;
-        __b_[1] = 1;
-        __densities_.assign(1, 1.0);
-        __areas_.assign(1, 0.0);
-    }
-    else
-    {
-        __densities_.reserve(__b_.size() - 1);
-        for (size_t __i = 0; __i < __b_.size() - 1; ++__i, ++__fW)
-            __densities_.push_back(*__fW);
-        __init();
-    }
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _RealType>
-template<class _UnaryOperation>
-piecewise_constant_distribution<_RealType>::param_type::param_type(
-        initializer_list<result_type> __bl, _UnaryOperation __fw)
-    : __b_(__bl.begin(), __bl.end())
-{
-    if (__b_.size() < 2)
-    {
-        __b_.resize(2);
-        __b_[0] = 0;
-        __b_[1] = 1;
-        __densities_.assign(1, 1.0);
-        __areas_.assign(1, 0.0);
-    }
-    else
-    {
-        __densities_.reserve(__b_.size() - 1);
-        for (size_t __i = 0; __i < __b_.size() - 1; ++__i)
-            __densities_.push_back(__fw((__b_[__i+1] + __b_[__i])*.5));
-        __init();
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template<class _RealType>
-template<class _UnaryOperation>
-piecewise_constant_distribution<_RealType>::param_type::param_type(
-        size_t __nw, result_type __xmin, result_type __xmax, _UnaryOperation __fw)
-    : __b_(__nw == 0 ? 2 : __nw + 1)
-{
-    size_t __n = __b_.size() - 1;
-    result_type __d = (__xmax - __xmin) / __n;
-    __densities_.reserve(__n);
-    for (size_t __i = 0; __i < __n; ++__i)
-    {
-        __b_[__i] = __xmin + __i * __d;
-        __densities_.push_back(__fw(__b_[__i] + __d*.5));
-    }
-    __b_[__n] = __xmax;
-    __init();
-}
-
-template<class _RealType>
-template<class _URNG>
-_RealType
-piecewise_constant_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    typedef uniform_real_distribution<result_type> _Gen;
-    result_type __u = _Gen()(__g);
-    ptrdiff_t __k = _VSTD::upper_bound(__p.__areas_.begin(), __p.__areas_.end(),
-                                      __u) - __p.__areas_.begin() - 1;
-    return (__u - __p.__areas_[__k]) / __p.__densities_[__k] + __p.__b_[__k];
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const piecewise_constant_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    size_t __n = __x.__p_.__b_.size();
-    __os << __n;
-    for (size_t __i = 0; __i < __n; ++__i)
-        __os << __sp << __x.__p_.__b_[__i];
-    __n = __x.__p_.__densities_.size();
-    __os << __sp << __n;
-    for (size_t __i = 0; __i < __n; ++__i)
-        __os << __sp << __x.__p_.__densities_[__i];
-    __n = __x.__p_.__areas_.size();
-    __os << __sp << __n;
-    for (size_t __i = 0; __i < __n; ++__i)
-        __os << __sp << __x.__p_.__areas_[__i];
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           piecewise_constant_distribution<_RT>& __x)
-{
-    typedef piecewise_constant_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    size_t __n;
-    __is >> __n;
-    vector<result_type> __b(__n);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __is >> __b[__i];
-    __is >> __n;
-    vector<result_type> __densities(__n);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __is >> __densities[__i];
-    __is >> __n;
-    vector<result_type> __areas(__n);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __is >> __areas[__i];
-    if (!__is.fail())
-    {
-        swap(__x.__p_.__b_, __b);
-        swap(__x.__p_.__densities_, __densities);
-        swap(__x.__p_.__areas_, __areas);
-    }
-    return __is;
-}
-
-// piecewise_linear_distribution
-
-template<class _RealType = double>
-class _LIBCPP_TEMPLATE_VIS piecewise_linear_distribution
-{
-public:
-    // types
-    typedef _RealType result_type;
-
-    class _LIBCPP_TEMPLATE_VIS param_type
-    {
-        vector<result_type> __b_;
-        vector<result_type> __densities_;
-        vector<result_type> __areas_;
-    public:
-        typedef piecewise_linear_distribution distribution_type;
-
-        param_type();
-        template<class _InputIteratorB, class _InputIteratorW>
-            param_type(_InputIteratorB __fB, _InputIteratorB __lB,
-                       _InputIteratorW __fW);
-#ifndef _LIBCPP_CXX03_LANG
-        template<class _UnaryOperation>
-            param_type(initializer_list<result_type> __bl, _UnaryOperation __fw);
-#endif  // _LIBCPP_CXX03_LANG
-        template<class _UnaryOperation>
-            param_type(size_t __nw, result_type __xmin, result_type __xmax,
-                       _UnaryOperation __fw);
-        param_type & operator=(const param_type& __rhs);
-
-        _LIBCPP_INLINE_VISIBILITY
-        vector<result_type> intervals() const {return __b_;}
-        _LIBCPP_INLINE_VISIBILITY
-        vector<result_type> densities() const {return __densities_;}
-
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator==(const param_type& __x, const param_type& __y)
-            {return __x.__densities_ == __y.__densities_ && __x.__b_ == __y.__b_;}
-        friend _LIBCPP_INLINE_VISIBILITY
-            bool operator!=(const param_type& __x, const param_type& __y)
-            {return !(__x == __y);}
-
-    private:
-        void __init();
-
-        friend class piecewise_linear_distribution;
-
-        template <class _CharT, class _Traits, class _RT>
-        friend
-        basic_ostream<_CharT, _Traits>&
-        operator<<(basic_ostream<_CharT, _Traits>& __os,
-                   const piecewise_linear_distribution<_RT>& __x);
-
-        template <class _CharT, class _Traits, class _RT>
-        friend
-        basic_istream<_CharT, _Traits>&
-        operator>>(basic_istream<_CharT, _Traits>& __is,
-                   piecewise_linear_distribution<_RT>& __x);
-    };
-
-private:
-    param_type __p_;
-
-public:
-    // constructor and reset functions
-    _LIBCPP_INLINE_VISIBILITY
-    piecewise_linear_distribution() {}
-    template<class _InputIteratorB, class _InputIteratorW>
-        _LIBCPP_INLINE_VISIBILITY
-        piecewise_linear_distribution(_InputIteratorB __fB,
-                                      _InputIteratorB __lB,
-                                      _InputIteratorW __fW)
-        : __p_(__fB, __lB, __fW) {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    template<class _UnaryOperation>
-        _LIBCPP_INLINE_VISIBILITY
-        piecewise_linear_distribution(initializer_list<result_type> __bl,
-                                      _UnaryOperation __fw)
-        : __p_(__bl, __fw) {}
-#endif  // _LIBCPP_CXX03_LANG
-
-    template<class _UnaryOperation>
-        _LIBCPP_INLINE_VISIBILITY
-        piecewise_linear_distribution(size_t __nw, result_type __xmin,
-                                      result_type __xmax, _UnaryOperation __fw)
-        : __p_(__nw, __xmin, __xmax, __fw) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit piecewise_linear_distribution(const param_type& __p)
-        : __p_(__p) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() {}
-
-    // generating functions
-    template<class _URNG>
-        _LIBCPP_INLINE_VISIBILITY
-        result_type operator()(_URNG& __g)
-        {return (*this)(__g, __p_);}
-    template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p);
-
-    // property functions
-    _LIBCPP_INLINE_VISIBILITY
-    vector<result_type> intervals() const {return __p_.intervals();}
-    _LIBCPP_INLINE_VISIBILITY
-    vector<result_type> densities() const {return __p_.densities();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    param_type param() const {return __p_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void param(const param_type& __p) {__p_ = __p;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const {return __p_.__b_.front();}
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const {return __p_.__b_.back();}
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const piecewise_linear_distribution& __x,
-                        const piecewise_linear_distribution& __y)
-        {return __x.__p_ == __y.__p_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const piecewise_linear_distribution& __x,
-                        const piecewise_linear_distribution& __y)
-        {return !(__x == __y);}
-
-    template <class _CharT, class _Traits, class _RT>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-               const piecewise_linear_distribution<_RT>& __x);
-
-    template <class _CharT, class _Traits, class _RT>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-               piecewise_linear_distribution<_RT>& __x);
-};
-
-template<class _RealType>
-typename piecewise_linear_distribution<_RealType>::param_type &
-piecewise_linear_distribution<_RealType>::param_type::operator=
-                                                       (const param_type& __rhs)
-{
-//  These can throw
-    __b_.reserve        (__rhs.__b_.size ());
-    __densities_.reserve(__rhs.__densities_.size());
-    __areas_.reserve    (__rhs.__areas_.size());
-
-//  These can not throw
-    __b_         = __rhs.__b_;
-    __densities_ = __rhs.__densities_;
-    __areas_     =  __rhs.__areas_;
-    return *this;
-}
-
-
-template<class _RealType>
-void
-piecewise_linear_distribution<_RealType>::param_type::__init()
-{
-    __areas_.assign(__densities_.size() - 1, result_type());
-    result_type _Sp = 0;
-    for (size_t __i = 0; __i < __areas_.size(); ++__i)
-    {
-        __areas_[__i] = (__densities_[__i+1] + __densities_[__i]) *
-                        (__b_[__i+1] - __b_[__i]) * .5;
-        _Sp += __areas_[__i];
-    }
-    for (size_t __i = __areas_.size(); __i > 1;)
-    {
-        --__i;
-        __areas_[__i] = __areas_[__i-1] / _Sp;
-    }
-    __areas_[0] = 0;
-    for (size_t __i = 1; __i < __areas_.size(); ++__i)
-        __areas_[__i] += __areas_[__i-1];
-    for (size_t __i = 0; __i < __densities_.size(); ++__i)
-        __densities_[__i] /= _Sp;
-}
-
-template<class _RealType>
-piecewise_linear_distribution<_RealType>::param_type::param_type()
-    : __b_(2),
-      __densities_(2, 1.0),
-      __areas_(1, 0.0)
-{
-    __b_[1] = 1;
-}
-
-template<class _RealType>
-template<class _InputIteratorB, class _InputIteratorW>
-piecewise_linear_distribution<_RealType>::param_type::param_type(
-        _InputIteratorB __fB, _InputIteratorB __lB, _InputIteratorW __fW)
-    : __b_(__fB, __lB)
-{
-    if (__b_.size() < 2)
-    {
-        __b_.resize(2);
-        __b_[0] = 0;
-        __b_[1] = 1;
-        __densities_.assign(2, 1.0);
-        __areas_.assign(1, 0.0);
-    }
-    else
-    {
-        __densities_.reserve(__b_.size());
-        for (size_t __i = 0; __i < __b_.size(); ++__i, ++__fW)
-            __densities_.push_back(*__fW);
-        __init();
-    }
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _RealType>
-template<class _UnaryOperation>
-piecewise_linear_distribution<_RealType>::param_type::param_type(
-        initializer_list<result_type> __bl, _UnaryOperation __fw)
-    : __b_(__bl.begin(), __bl.end())
-{
-    if (__b_.size() < 2)
-    {
-        __b_.resize(2);
-        __b_[0] = 0;
-        __b_[1] = 1;
-        __densities_.assign(2, 1.0);
-        __areas_.assign(1, 0.0);
-    }
-    else
-    {
-        __densities_.reserve(__b_.size());
-        for (size_t __i = 0; __i < __b_.size(); ++__i)
-            __densities_.push_back(__fw(__b_[__i]));
-        __init();
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template<class _RealType>
-template<class _UnaryOperation>
-piecewise_linear_distribution<_RealType>::param_type::param_type(
-        size_t __nw, result_type __xmin, result_type __xmax, _UnaryOperation __fw)
-    : __b_(__nw == 0 ? 2 : __nw + 1)
-{
-    size_t __n = __b_.size() - 1;
-    result_type __d = (__xmax - __xmin) / __n;
-    __densities_.reserve(__b_.size());
-    for (size_t __i = 0; __i < __n; ++__i)
-    {
-        __b_[__i] = __xmin + __i * __d;
-        __densities_.push_back(__fw(__b_[__i]));
-    }
-    __b_[__n] = __xmax;
-    __densities_.push_back(__fw(__b_[__n]));
-    __init();
-}
-
-template<class _RealType>
-template<class _URNG>
-_RealType
-piecewise_linear_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
-{
-    typedef uniform_real_distribution<result_type> _Gen;
-    result_type __u = _Gen()(__g);
-    ptrdiff_t __k = _VSTD::upper_bound(__p.__areas_.begin(), __p.__areas_.end(),
-                                      __u) - __p.__areas_.begin() - 1;
-    __u -= __p.__areas_[__k];
-    const result_type __dk = __p.__densities_[__k];
-    const result_type __dk1 = __p.__densities_[__k+1];
-    const result_type __deltad = __dk1 - __dk;
-    const result_type __bk = __p.__b_[__k];
-    if (__deltad == 0)
-        return __u / __dk + __bk;
-    const result_type __bk1 = __p.__b_[__k+1];
-    const result_type __deltab = __bk1 - __bk;
-    return (__bk * __dk1 - __bk1 * __dk +
-        _VSTD::sqrt(__deltab * (__deltab * __dk * __dk + 2 * __deltad * __u))) /
-        __deltad;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const piecewise_linear_distribution<_RT>& __x)
-{
-    __save_flags<_CharT, _Traits> __lx(__os);
-    __os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
-               ios_base::scientific);
-    _CharT __sp = __os.widen(' ');
-    __os.fill(__sp);
-    size_t __n = __x.__p_.__b_.size();
-    __os << __n;
-    for (size_t __i = 0; __i < __n; ++__i)
-        __os << __sp << __x.__p_.__b_[__i];
-    __n = __x.__p_.__densities_.size();
-    __os << __sp << __n;
-    for (size_t __i = 0; __i < __n; ++__i)
-        __os << __sp << __x.__p_.__densities_[__i];
-    __n = __x.__p_.__areas_.size();
-    __os << __sp << __n;
-    for (size_t __i = 0; __i < __n; ++__i)
-        __os << __sp << __x.__p_.__areas_[__i];
-    return __os;
-}
-
-template <class _CharT, class _Traits, class _RT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           piecewise_linear_distribution<_RT>& __x)
-{
-    typedef piecewise_linear_distribution<_RT> _Eng;
-    typedef typename _Eng::result_type result_type;
-    __save_flags<_CharT, _Traits> __lx(__is);
-    __is.flags(ios_base::dec | ios_base::skipws);
-    size_t __n;
-    __is >> __n;
-    vector<result_type> __b(__n);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __is >> __b[__i];
-    __is >> __n;
-    vector<result_type> __densities(__n);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __is >> __densities[__i];
-    __is >> __n;
-    vector<result_type> __areas(__n);
-    for (size_t __i = 0; __i < __n; ++__i)
-        __is >> __areas[__i];
-    if (!__is.fail())
-    {
-        swap(__x.__p_.__b_, __b);
-        swap(__x.__p_.__densities_, __densities);
-        swap(__x.__p_.__areas_, __areas);
-    }
-    return __is;
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_RANDOM
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/regex b/r21/sources/cxx-stl/llvm-libc++/include/regex
deleted file mode 100644
index 17ff781..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/regex
+++ /dev/null
@@ -1,6666 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- regex ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_REGEX
-#define _LIBCPP_REGEX
-
-/*
-    regex synopsis
-
-#include <initializer_list>
-
-namespace std
-{
-
-namespace regex_constants
-{
-
-emum syntax_option_type
-{
-    icase      = unspecified,
-    nosubs     = unspecified,
-    optimize   = unspecified,
-    collate    = unspecified,
-    ECMAScript = unspecified,
-    basic      = unspecified,
-    extended   = unspecified,
-    awk        = unspecified,
-    grep       = unspecified,
-    egrep      = unspecified
-};
-
-constexpr syntax_option_type operator~(syntax_option_type f);
-constexpr syntax_option_type operator&(syntax_option_type lhs, syntax_option_type rhs);
-constexpr syntax_option_type operator|(syntax_option_type lhs, syntax_option_type rhs);
-
-enum match_flag_type
-{
-    match_default     = 0,
-    match_not_bol     = unspecified,
-    match_not_eol     = unspecified,
-    match_not_bow     = unspecified,
-    match_not_eow     = unspecified,
-    match_any         = unspecified,
-    match_not_null    = unspecified,
-    match_continuous  = unspecified,
-    match_prev_avail  = unspecified,
-    format_default    = 0,
-    format_sed        = unspecified,
-    format_no_copy    = unspecified,
-    format_first_only = unspecified
-};
-
-constexpr match_flag_type operator~(match_flag_type f);
-constexpr match_flag_type operator&(match_flag_type lhs, match_flag_type rhs);
-constexpr match_flag_type operator|(match_flag_type lhs, match_flag_type rhs);
-
-enum error_type
-{
-    error_collate    = unspecified,
-    error_ctype      = unspecified,
-    error_escape     = unspecified,
-    error_backref    = unspecified,
-    error_brack      = unspecified,
-    error_paren      = unspecified,
-    error_brace      = unspecified,
-    error_badbrace   = unspecified,
-    error_range      = unspecified,
-    error_space      = unspecified,
-    error_badrepeat  = unspecified,
-    error_complexity = unspecified,
-    error_stack      = unspecified
-};
-
-}  // regex_constants
-
-class regex_error
-    : public runtime_error
-{
-public:
-    explicit regex_error(regex_constants::error_type ecode);
-    regex_constants::error_type code() const;
-};
-
-template <class charT>
-struct regex_traits
-{
-public:
-    typedef charT                   char_type;
-    typedef basic_string<char_type> string_type;
-    typedef locale                  locale_type;
-    typedef /bitmask_type/          char_class_type;
-
-    regex_traits();
-
-    static size_t length(const char_type* p);
-    charT translate(charT c) const;
-    charT translate_nocase(charT c) const;
-    template <class ForwardIterator>
-        string_type
-        transform(ForwardIterator first, ForwardIterator last) const;
-    template <class ForwardIterator>
-        string_type
-        transform_primary( ForwardIterator first, ForwardIterator last) const;
-    template <class ForwardIterator>
-        string_type
-        lookup_collatename(ForwardIterator first, ForwardIterator last) const;
-    template <class ForwardIterator>
-        char_class_type
-        lookup_classname(ForwardIterator first, ForwardIterator last,
-                         bool icase = false) const;
-    bool isctype(charT c, char_class_type f) const;
-    int value(charT ch, int radix) const;
-    locale_type imbue(locale_type l);
-    locale_type getloc()const;
-};
-
-template <class charT, class traits = regex_traits<charT>>
-class basic_regex
-{
-public:
-    // types:
-    typedef charT                               value_type;
-    typedef traits                              traits_type;
-    typedef typename traits::string_type        string_type;
-    typedef regex_constants::syntax_option_type flag_type;
-    typedef typename traits::locale_type        locale_type;
-
-    // constants:
-    static constexpr regex_constants::syntax_option_type icase = regex_constants::icase;
-    static constexpr regex_constants::syntax_option_type nosubs = regex_constants::nosubs;
-    static constexpr regex_constants::syntax_option_type optimize = regex_constants::optimize;
-    static constexpr regex_constants::syntax_option_type collate = regex_constants::collate;
-    static constexpr regex_constants::syntax_option_type ECMAScript = regex_constants::ECMAScript;
-    static constexpr regex_constants::syntax_option_type basic = regex_constants::basic;
-    static constexpr regex_constants::syntax_option_type extended = regex_constants::extended;
-    static constexpr regex_constants::syntax_option_type awk = regex_constants::awk;
-    static constexpr regex_constants::syntax_option_type grep = regex_constants::grep;
-    static constexpr regex_constants::syntax_option_type egrep = regex_constants::egrep;
-
-    // construct/copy/destroy:
-    basic_regex();
-    explicit basic_regex(const charT* p, flag_type f = regex_constants::ECMAScript);
-    basic_regex(const charT* p, size_t len, flag_type f = regex_constants::ECMAScript);
-    basic_regex(const basic_regex&);
-    basic_regex(basic_regex&&) noexcept;
-    template <class ST, class SA>
-        explicit basic_regex(const basic_string<charT, ST, SA>& p,
-                             flag_type f = regex_constants::ECMAScript);
-    template <class ForwardIterator>
-        basic_regex(ForwardIterator first, ForwardIterator last,
-                    flag_type f = regex_constants::ECMAScript);
-    basic_regex(initializer_list<charT>, flag_type = regex_constants::ECMAScript);
-
-    ~basic_regex();
-
-    basic_regex& operator=(const basic_regex&);
-    basic_regex& operator=(basic_regex&&) noexcept;
-    basic_regex& operator=(const charT* ptr);
-    basic_regex& operator=(initializer_list<charT> il);
-    template <class ST, class SA>
-        basic_regex& operator=(const basic_string<charT, ST, SA>& p);
-
-    // assign:
-    basic_regex& assign(const basic_regex& that);
-    basic_regex& assign(basic_regex&& that) noexcept;
-    basic_regex& assign(const charT* ptr, flag_type f = regex_constants::ECMAScript);
-    basic_regex& assign(const charT* p, size_t len, flag_type f);
-    template <class string_traits, class A>
-        basic_regex& assign(const basic_string<charT, string_traits, A>& s,
-                            flag_type f = regex_constants::ECMAScript);
-    template <class InputIterator>
-        basic_regex& assign(InputIterator first, InputIterator last,
-                            flag_type f = regex_constants::ECMAScript);
-    basic_regex& assign(initializer_list<charT>, flag_type = regex_constants::ECMAScript);
-
-    // const operations:
-    unsigned mark_count() const;
-    flag_type flags() const;
-
-    // locale:
-    locale_type imbue(locale_type loc);
-    locale_type getloc() const;
-
-    // swap:
-    void swap(basic_regex&);
-};
-
-template<class ForwardIterator>
-basic_regex(ForwardIterator, ForwardIterator,
-            regex_constants::syntax_option_type = regex_constants::ECMAScript)
-    -> basic_regex<typename iterator_traits<ForwardIterator>::value_type>; // C++17
-
-typedef basic_regex<char>    regex;
-typedef basic_regex<wchar_t> wregex;
-
-template <class charT, class traits>
-    void swap(basic_regex<charT, traits>& e1, basic_regex<charT, traits>& e2);
-
-template <class BidirectionalIterator>
-class sub_match
-    : public pair<BidirectionalIterator, BidirectionalIterator>
-{
-public:
-    typedef typename iterator_traits<BidirectionalIterator>::value_type value_type;
-    typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
-    typedef BidirectionalIterator                                      iterator;
-    typedef basic_string<value_type>                                string_type;
-
-    bool matched;
-
-    constexpr sub_match();
-
-    difference_type length() const;
-    operator string_type() const;
-    string_type str() const;
-
-    int compare(const sub_match& s) const;
-    int compare(const string_type& s) const;
-    int compare(const value_type* s) const;
-};
-
-typedef sub_match<const char*>             csub_match;
-typedef sub_match<const wchar_t*>          wcsub_match;
-typedef sub_match<string::const_iterator>  ssub_match;
-typedef sub_match<wstring::const_iterator> wssub_match;
-
-template <class BiIter>
-    bool
-    operator==(const sub_match<BiIter>& lhs, const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator!=(const sub_match<BiIter>& lhs, const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator<(const sub_match<BiIter>& lhs, const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator<=(const sub_match<BiIter>& lhs, const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator>=(const sub_match<BiIter>& lhs, const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator>(const sub_match<BiIter>& lhs, const sub_match<BiIter>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator==(const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator!=(const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator<(const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& lhs,
-              const sub_match<BiIter>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator>(const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& lhs,
-              const sub_match<BiIter>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool operator>=(const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& lhs,
-                    const sub_match<BiIter>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator<=(const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator==(const sub_match<BiIter>& lhs,
-               const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator!=(const sub_match<BiIter>& lhs,
-               const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator<(const sub_match<BiIter>& lhs,
-              const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool operator>(const sub_match<BiIter>& lhs,
-                   const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator>=(const sub_match<BiIter>& lhs,
-               const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& rhs);
-
-template <class BiIter, class ST, class SA>
-    bool
-    operator<=(const sub_match<BiIter>& lhs,
-               const basic_string<typename iterator_traits<BiIter>::value_type, ST, SA>& rhs);
-
-template <class BiIter>
-    bool
-    operator==(typename iterator_traits<BiIter>::value_type const* lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator!=(typename iterator_traits<BiIter>::value_type const* lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator<(typename iterator_traits<BiIter>::value_type const* lhs,
-              const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator>(typename iterator_traits<BiIter>::value_type const* lhs,
-              const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator>=(typename iterator_traits<BiIter>::value_type const* lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator<=(typename iterator_traits<BiIter>::value_type const* lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator==(const sub_match<BiIter>& lhs,
-               typename iterator_traits<BiIter>::value_type const* rhs);
-
-template <class BiIter>
-    bool
-    operator!=(const sub_match<BiIter>& lhs,
-               typename iterator_traits<BiIter>::value_type const* rhs);
-
-template <class BiIter>
-    bool
-    operator<(const sub_match<BiIter>& lhs,
-              typename iterator_traits<BiIter>::value_type const* rhs);
-
-template <class BiIter>
-    bool
-    operator>(const sub_match<BiIter>& lhs,
-              typename iterator_traits<BiIter>::value_type const* rhs);
-
-template <class BiIter>
-    bool
-    operator>=(const sub_match<BiIter>& lhs,
-               typename iterator_traits<BiIter>::value_type const* rhs);
-
-template <class BiIter>
-    bool
-    operator<=(const sub_match<BiIter>& lhs,
-               typename iterator_traits<BiIter>::value_type const* rhs);
-
-template <class BiIter>
-    bool
-    operator==(typename iterator_traits<BiIter>::value_type const& lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator!=(typename iterator_traits<BiIter>::value_type const& lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator<(typename iterator_traits<BiIter>::value_type const& lhs,
-              const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator>(typename iterator_traits<BiIter>::value_type const& lhs,
-              const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator>=(typename iterator_traits<BiIter>::value_type const& lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator<=(typename iterator_traits<BiIter>::value_type const& lhs,
-               const sub_match<BiIter>& rhs);
-
-template <class BiIter>
-    bool
-    operator==(const sub_match<BiIter>& lhs,
-               typename iterator_traits<BiIter>::value_type const& rhs);
-
-template <class BiIter>
-    bool
-    operator!=(const sub_match<BiIter>& lhs,
-               typename iterator_traits<BiIter>::value_type const& rhs);
-
-template <class BiIter>
-    bool
-    operator<(const sub_match<BiIter>& lhs,
-              typename iterator_traits<BiIter>::value_type const& rhs);
-
-template <class BiIter>
-    bool
-    operator>(const sub_match<BiIter>& lhs,
-              typename iterator_traits<BiIter>::value_type const& rhs);
-
-template <class BiIter>
-    bool
-    operator>=(const sub_match<BiIter>& lhs,
-               typename iterator_traits<BiIter>::value_type const& rhs);
-
-template <class BiIter>
-    bool
-    operator<=(const sub_match<BiIter>& lhs,
-               typename iterator_traits<BiIter>::value_type const& rhs);
-
-template <class charT, class ST, class BiIter>
-    basic_ostream<charT, ST>&
-    operator<<(basic_ostream<charT, ST>& os, const sub_match<BiIter>& m);
-
-template <class BidirectionalIterator,
-          class Allocator = allocator<sub_match<BidirectionalIterator>>>
-class match_results
-{
-public:
-    typedef sub_match<BidirectionalIterator>                  value_type;
-    typedef const value_type&                                 const_reference;
-    typedef value_type&                                       reference;
-    typedef /implementation-defined/                          const_iterator;
-    typedef const_iterator                                    iterator;
-    typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
-    typedef typename allocator_traits<Allocator>::size_type   size_type;
-    typedef Allocator                                         allocator_type;
-    typedef typename iterator_traits<BidirectionalIterator>::value_type char_type;
-    typedef basic_string<char_type>                           string_type;
-
-    // construct/copy/destroy:
-    explicit match_results(const Allocator& a = Allocator());
-    match_results(const match_results& m);
-    match_results(match_results&& m) noexcept;
-    match_results& operator=(const match_results& m);
-    match_results& operator=(match_results&& m);
-    ~match_results();
-
-    bool ready() const;
-
-    // size:
-    size_type size() const;
-    size_type max_size() const;
-    bool empty() const;
-
-    // element access:
-    difference_type length(size_type sub = 0) const;
-    difference_type position(size_type sub = 0) const;
-    string_type str(size_type sub = 0) const;
-    const_reference operator[](size_type n) const;
-
-    const_reference prefix() const;
-    const_reference suffix() const;
-
-    const_iterator begin() const;
-    const_iterator end() const;
-    const_iterator cbegin() const;
-    const_iterator cend() const;
-
-    // format:
-    template <class OutputIter>
-        OutputIter
-        format(OutputIter out, const char_type* fmt_first,
-               const char_type* fmt_last,
-               regex_constants::match_flag_type flags = regex_constants::format_default) const;
-    template <class OutputIter, class ST, class SA>
-        OutputIter
-        format(OutputIter out, const basic_string<char_type, ST, SA>& fmt,
-               regex_constants::match_flag_type flags = regex_constants::format_default) const;
-    template <class ST, class SA>
-        basic_string<char_type, ST, SA>
-        format(const basic_string<char_type, ST, SA>& fmt,
-               regex_constants::match_flag_type flags = regex_constants::format_default) const;
-    string_type
-        format(const char_type* fmt,
-               regex_constants::match_flag_type flags = regex_constants::format_default) const;
-
-    // allocator:
-    allocator_type get_allocator() const;
-
-    // swap:
-    void swap(match_results& that);
-};
-
-typedef match_results<const char*>             cmatch;
-typedef match_results<const wchar_t*>          wcmatch;
-typedef match_results<string::const_iterator>  smatch;
-typedef match_results<wstring::const_iterator> wsmatch;
-
-template <class BidirectionalIterator, class Allocator>
-    bool
-    operator==(const match_results<BidirectionalIterator, Allocator>& m1,
-               const match_results<BidirectionalIterator, Allocator>& m2);
-
-template <class BidirectionalIterator, class Allocator>
-    bool
-    operator!=(const match_results<BidirectionalIterator, Allocator>& m1,
-               const match_results<BidirectionalIterator, Allocator>& m2);
-
-template <class BidirectionalIterator, class Allocator>
-    void
-    swap(match_results<BidirectionalIterator, Allocator>& m1,
-         match_results<BidirectionalIterator, Allocator>& m2);
-
-template <class BidirectionalIterator, class Allocator, class charT, class traits>
-    bool
-    regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                match_results<BidirectionalIterator, Allocator>& m,
-                const basic_regex<charT, traits>& e,
-                regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class BidirectionalIterator, class charT, class traits>
-    bool
-    regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                const basic_regex<charT, traits>& e,
-                regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class charT, class Allocator, class traits>
-    bool
-    regex_match(const charT* str, match_results<const charT*, Allocator>& m,
-                const basic_regex<charT, traits>& e,
-                regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class ST, class SA, class Allocator, class charT, class traits>
-    bool
-    regex_match(const basic_string<charT, ST, SA>& s,
-                match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
-                const basic_regex<charT, traits>& e,
-                regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class ST, class SA, class Allocator, class charT, class traits>
-    bool
-    regex_match(const basic_string<charT, ST, SA>&& s,
-                match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
-                const basic_regex<charT, traits>& e,
-                regex_constants::match_flag_type flags = regex_constants::match_default) = delete; // C++14
-
-template <class charT, class traits>
-    bool
-    regex_match(const charT* str, const basic_regex<charT, traits>& e,
-                regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class ST, class SA, class charT, class traits>
-    bool
-    regex_match(const basic_string<charT, ST, SA>& s,
-                const basic_regex<charT, traits>& e,
-                regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class BidirectionalIterator, class Allocator, class charT, class traits>
-    bool
-    regex_search(BidirectionalIterator first, BidirectionalIterator last,
-                 match_results<BidirectionalIterator, Allocator>& m,
-                 const basic_regex<charT, traits>& e,
-                 regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class BidirectionalIterator, class charT, class traits>
-    bool
-    regex_search(BidirectionalIterator first, BidirectionalIterator last,
-                 const basic_regex<charT, traits>& e,
-                 regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class charT, class Allocator, class traits>
-    bool
-    regex_search(const charT* str, match_results<const charT*, Allocator>& m,
-                 const basic_regex<charT, traits>& e,
-                 regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class charT, class traits>
-    bool
-    regex_search(const charT* str, const basic_regex<charT, traits>& e,
-                 regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class ST, class SA, class charT, class traits>
-    bool
-    regex_search(const basic_string<charT, ST, SA>& s,
-                 const basic_regex<charT, traits>& e,
-                 regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class ST, class SA, class Allocator, class charT, class traits>
-    bool
-    regex_search(const basic_string<charT, ST, SA>& s,
-                 match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
-                 const basic_regex<charT, traits>& e,
-                 regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class ST, class SA, class Allocator, class charT, class traits>
-    bool
-    regex_search(const basic_string<charT, ST, SA>&& s,
-                 match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
-                 const basic_regex<charT, traits>& e,
-                 regex_constants::match_flag_type flags = regex_constants::match_default) = delete; // C++14
-
-template <class OutputIterator, class BidirectionalIterator,
-          class traits, class charT, class ST, class SA>
-    OutputIterator
-    regex_replace(OutputIterator out,
-                  BidirectionalIterator first, BidirectionalIterator last,
-                  const basic_regex<charT, traits>& e,
-                  const basic_string<charT, ST, SA>& fmt,
-                  regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class OutputIterator, class BidirectionalIterator,
-          class traits, class charT>
-    OutputIterator
-    regex_replace(OutputIterator out,
-                  BidirectionalIterator first, BidirectionalIterator last,
-                  const basic_regex<charT, traits>& e, const charT* fmt,
-                  regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class traits, class charT, class ST, class SA, class FST, class FSA>>
-    basic_string<charT, ST, SA>
-    regex_replace(const basic_string<charT, ST, SA>& s,
-                  const basic_regex<charT, traits>& e,
-                  const basic_string<charT, FST, FSA>& fmt,
-                  regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class traits, class charT, class ST, class SA>
-    basic_string<charT, ST, SA>
-    regex_replace(const basic_string<charT, ST, SA>& s,
-                  const basic_regex<charT, traits>& e, const charT* fmt,
-                  regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class traits, class charT, class ST, class SA>
-    basic_string<charT>
-    regex_replace(const charT* s,
-                  const basic_regex<charT, traits>& e,
-                  const basic_string<charT, ST, SA>& fmt,
-                  regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class traits, class charT>
-    basic_string<charT>
-    regex_replace(const charT* s,
-                  const basic_regex<charT, traits>& e,
-                  const charT* fmt,
-                  regex_constants::match_flag_type flags = regex_constants::match_default);
-
-template <class BidirectionalIterator,
-          class charT = typename iterator_traits< BidirectionalIterator>::value_type,
-          class traits = regex_traits<charT>>
-class regex_iterator
-{
-public:
-    typedef basic_regex<charT, traits>           regex_type;
-    typedef match_results<BidirectionalIterator> value_type;
-    typedef ptrdiff_t                            difference_type;
-    typedef const value_type*                    pointer;
-    typedef const value_type&                    reference;
-    typedef forward_iterator_tag                 iterator_category;
-
-    regex_iterator();
-    regex_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                   const regex_type& re,
-                   regex_constants::match_flag_type m = regex_constants::match_default);
-    regex_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                   const regex_type&& __re,
-                   regex_constants::match_flag_type __m
-                                     = regex_constants::match_default) = delete; // C++14
-    regex_iterator(const regex_iterator&);
-    regex_iterator& operator=(const regex_iterator&);
-
-    bool operator==(const regex_iterator&) const;
-    bool operator!=(const regex_iterator&) const;
-
-    const value_type& operator*() const;
-    const value_type* operator->() const;
-
-    regex_iterator& operator++();
-    regex_iterator operator++(int);
-};
-
-typedef regex_iterator<const char*>             cregex_iterator;
-typedef regex_iterator<const wchar_t*>          wcregex_iterator;
-typedef regex_iterator<string::const_iterator>  sregex_iterator;
-typedef regex_iterator<wstring::const_iterator> wsregex_iterator;
-
-template <class BidirectionalIterator,
-          class charT = typename iterator_traits< BidirectionalIterator>::value_type,
-          class traits = regex_traits<charT>>
-class regex_token_iterator
-{
-public:
-    typedef basic_regex<charT, traits>       regex_type;
-    typedef sub_match<BidirectionalIterator> value_type;
-    typedef ptrdiff_t                        difference_type;
-    typedef const value_type*                pointer;
-    typedef const value_type&                reference;
-    typedef forward_iterator_tag             iterator_category;
-
-    regex_token_iterator();
-    regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                         const regex_type& re, int submatch = 0,
-                         regex_constants::match_flag_type m = regex_constants::match_default);
-    regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                         const regex_type&& re, int submatch = 0,
-                         regex_constants::match_flag_type m = regex_constants::match_default) = delete; // C++14
-    regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                         const regex_type& re, const vector<int>& submatches,
-                         regex_constants::match_flag_type m = regex_constants::match_default);
-    regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                         const regex_type&& re, const vector<int>& submatches,
-                         regex_constants::match_flag_type m = regex_constants::match_default) = delete; // C++14
-    regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                         const regex_type& re, initializer_list<int> submatches,
-                         regex_constants::match_flag_type m = regex_constants::match_default);
-    regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                         const regex_type&& re, initializer_list<int> submatches,
-                         regex_constants::match_flag_type m = regex_constants::match_default) = delete; // C++14
-    template <size_t N>
-        regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                             const regex_type& re, const int (&submatches)[N],
-                             regex_constants::match_flag_type m = regex_constants::match_default);
-    template <size_t N>
-        regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
-                             const regex_type& re, const int (&submatches)[N],
-                             regex_constants::match_flag_type m = regex_constants::match_default) = delete // C++14;
-    regex_token_iterator(const regex_token_iterator&);
-    regex_token_iterator& operator=(const regex_token_iterator&);
-
-    bool operator==(const regex_token_iterator&) const;
-    bool operator!=(const regex_token_iterator&) const;
-
-    const value_type& operator*() const;
-    const value_type* operator->() const;
-
-    regex_token_iterator& operator++();
-    regex_token_iterator operator++(int);
-};
-
-typedef regex_token_iterator<const char*>             cregex_token_iterator;
-typedef regex_token_iterator<const wchar_t*>          wcregex_token_iterator;
-typedef regex_token_iterator<string::const_iterator>  sregex_token_iterator;
-typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
-
-} // std
-*/
-
-#include <__config>
-#include <stdexcept>
-#include <__locale>
-#include <initializer_list>
-#include <utility>
-#include <iterator>
-#include <string>
-#include <memory>
-#include <vector>
-#include <deque>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-#define _LIBCPP_REGEX_COMPLEXITY_FACTOR 4096
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-namespace regex_constants
-{
-
-// syntax_option_type
-
-enum syntax_option_type
-{
-    icase      = 1 << 0,
-    nosubs     = 1 << 1,
-    optimize   = 1 << 2,
-    collate    = 1 << 3,
-#ifdef _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO
-    ECMAScript = 1 << 9,
-#else
-    ECMAScript = 0,
-#endif
-    basic      = 1 << 4,
-    extended   = 1 << 5,
-    awk        = 1 << 6,
-    grep       = 1 << 7,
-    egrep      = 1 << 8
-};
-
-inline _LIBCPP_CONSTEXPR
-syntax_option_type __get_grammar(syntax_option_type __g)
-{
-#ifdef _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO
-    return static_cast<syntax_option_type>(__g & 0x3F0);
-#else
-    return static_cast<syntax_option_type>(__g & 0x1F0);
-#endif
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-syntax_option_type
-operator~(syntax_option_type __x)
-{
-    return syntax_option_type(~int(__x) & 0x1FF);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-syntax_option_type
-operator&(syntax_option_type __x, syntax_option_type __y)
-{
-    return syntax_option_type(int(__x) & int(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-syntax_option_type
-operator|(syntax_option_type __x, syntax_option_type __y)
-{
-    return syntax_option_type(int(__x) | int(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-syntax_option_type
-operator^(syntax_option_type __x, syntax_option_type __y)
-{
-    return syntax_option_type(int(__x) ^ int(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-syntax_option_type&
-operator&=(syntax_option_type& __x, syntax_option_type __y)
-{
-    __x = __x & __y;
-    return __x;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-syntax_option_type&
-operator|=(syntax_option_type& __x, syntax_option_type __y)
-{
-    __x = __x | __y;
-    return __x;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-syntax_option_type&
-operator^=(syntax_option_type& __x, syntax_option_type __y)
-{
-    __x = __x ^ __y;
-    return __x;
-}
-
-// match_flag_type
-
-enum match_flag_type
-{
-    match_default     = 0,
-    match_not_bol     = 1 << 0,
-    match_not_eol     = 1 << 1,
-    match_not_bow     = 1 << 2,
-    match_not_eow     = 1 << 3,
-    match_any         = 1 << 4,
-    match_not_null    = 1 << 5,
-    match_continuous  = 1 << 6,
-    match_prev_avail  = 1 << 7,
-    format_default    = 0,
-    format_sed        = 1 << 8,
-    format_no_copy    = 1 << 9,
-    format_first_only = 1 << 10,
-    __no_update_pos   = 1 << 11,
-    __full_match      = 1 << 12
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-match_flag_type
-operator~(match_flag_type __x)
-{
-    return match_flag_type(~int(__x) & 0x0FFF);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-match_flag_type
-operator&(match_flag_type __x, match_flag_type __y)
-{
-    return match_flag_type(int(__x) & int(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-match_flag_type
-operator|(match_flag_type __x, match_flag_type __y)
-{
-    return match_flag_type(int(__x) | int(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR
-match_flag_type
-operator^(match_flag_type __x, match_flag_type __y)
-{
-    return match_flag_type(int(__x) ^ int(__y));
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-match_flag_type&
-operator&=(match_flag_type& __x, match_flag_type __y)
-{
-    __x = __x & __y;
-    return __x;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-match_flag_type&
-operator|=(match_flag_type& __x, match_flag_type __y)
-{
-    __x = __x | __y;
-    return __x;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-match_flag_type&
-operator^=(match_flag_type& __x, match_flag_type __y)
-{
-    __x = __x ^ __y;
-    return __x;
-}
-
-enum error_type
-{
-    error_collate = 1,
-    error_ctype,
-    error_escape,
-    error_backref,
-    error_brack,
-    error_paren,
-    error_brace,
-    error_badbrace,
-    error_range,
-    error_space,
-    error_badrepeat,
-    error_complexity,
-    error_stack,
-    __re_err_grammar,
-    __re_err_empty,
-    __re_err_unknown
-};
-
-}  // regex_constants
-
-class _LIBCPP_EXCEPTION_ABI regex_error
-    : public runtime_error
-{
-    regex_constants::error_type __code_;
-public:
-    explicit regex_error(regex_constants::error_type __ecode);
-    virtual ~regex_error() throw();
-     _LIBCPP_INLINE_VISIBILITY
-    regex_constants::error_type code() const {return __code_;}
-};
-
-template <regex_constants::error_type _Ev>
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_regex_error()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw regex_error(_Ev);
-#else
-    _VSTD::abort();
-#endif
-}
-
-template <class _CharT>
-struct _LIBCPP_TEMPLATE_VIS regex_traits
-{
-public:
-    typedef _CharT                  char_type;
-    typedef basic_string<char_type> string_type;
-    typedef locale                  locale_type;
-#ifdef __BIONIC__
-    typedef uint16_t                char_class_type;
-#else
-    typedef ctype_base::mask        char_class_type;
-#endif
-
-    static const char_class_type __regex_word = ctype_base::__regex_word;
-private:
-    locale __loc_;
-    const ctype<char_type>* __ct_;
-    const collate<char_type>* __col_;
-
-public:
-    regex_traits();
-
-    _LIBCPP_INLINE_VISIBILITY
-    static size_t length(const char_type* __p)
-        {return char_traits<char_type>::length(__p);}
-    _LIBCPP_INLINE_VISIBILITY
-    char_type translate(char_type __c) const {return __c;}
-    char_type translate_nocase(char_type __c) const;
-    template <class _ForwardIterator>
-        string_type
-        transform(_ForwardIterator __f, _ForwardIterator __l) const;
-    template <class _ForwardIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        string_type
-        transform_primary( _ForwardIterator __f, _ForwardIterator __l) const
-            {return __transform_primary(__f, __l, char_type());}
-    template <class _ForwardIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        string_type
-        lookup_collatename(_ForwardIterator __f, _ForwardIterator __l) const
-            {return __lookup_collatename(__f, __l, char_type());}
-    template <class _ForwardIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        char_class_type
-        lookup_classname(_ForwardIterator __f, _ForwardIterator __l,
-                         bool __icase = false) const
-            {return __lookup_classname(__f, __l, __icase, char_type());}
-    bool isctype(char_type __c, char_class_type __m) const;
-    _LIBCPP_INLINE_VISIBILITY
-    int value(char_type __ch, int __radix) const
-        {return __regex_traits_value(__ch, __radix);}
-    locale_type imbue(locale_type __l);
-    _LIBCPP_INLINE_VISIBILITY
-    locale_type getloc()const {return __loc_;}
-
-private:
-    void __init();
-
-    template <class _ForwardIterator>
-        string_type
-        __transform_primary(_ForwardIterator __f, _ForwardIterator __l, char) const;
-    template <class _ForwardIterator>
-        string_type
-        __transform_primary(_ForwardIterator __f, _ForwardIterator __l, wchar_t) const;
-
-    template <class _ForwardIterator>
-        string_type
-        __lookup_collatename(_ForwardIterator __f, _ForwardIterator __l, char) const;
-    template <class _ForwardIterator>
-        string_type
-        __lookup_collatename(_ForwardIterator __f, _ForwardIterator __l, wchar_t) const;
-
-    template <class _ForwardIterator>
-        char_class_type
-        __lookup_classname(_ForwardIterator __f, _ForwardIterator __l,
-                           bool __icase, char) const;
-    template <class _ForwardIterator>
-        char_class_type
-        __lookup_classname(_ForwardIterator __f, _ForwardIterator __l,
-                           bool __icase, wchar_t) const;
-
-    static int __regex_traits_value(unsigned char __ch, int __radix);
-    _LIBCPP_INLINE_VISIBILITY
-    int __regex_traits_value(char __ch, int __radix) const
-        {return __regex_traits_value(static_cast<unsigned char>(__ch), __radix);}
-    _LIBCPP_INLINE_VISIBILITY
-    int __regex_traits_value(wchar_t __ch, int __radix) const;
-};
-
-template <class _CharT>
-const typename regex_traits<_CharT>::char_class_type
-regex_traits<_CharT>::__regex_word;
-
-template <class _CharT>
-regex_traits<_CharT>::regex_traits()
-{
-    __init();
-}
-
-template <class _CharT>
-typename regex_traits<_CharT>::char_type
-regex_traits<_CharT>::translate_nocase(char_type __c) const
-{
-    return __ct_->tolower(__c);
-}
-
-template <class _CharT>
-template <class _ForwardIterator>
-typename regex_traits<_CharT>::string_type
-regex_traits<_CharT>::transform(_ForwardIterator __f, _ForwardIterator __l) const
-{
-    string_type __s(__f, __l);
-    return __col_->transform(__s.data(), __s.data() + __s.size());
-}
-
-template <class _CharT>
-void
-regex_traits<_CharT>::__init()
-{
-    __ct_ = &use_facet<ctype<char_type> >(__loc_);
-    __col_ = &use_facet<collate<char_type> >(__loc_);
-}
-
-template <class _CharT>
-typename regex_traits<_CharT>::locale_type
-regex_traits<_CharT>::imbue(locale_type __l)
-{
-    locale __r = __loc_;
-    __loc_ = __l;
-    __init();
-    return __r;
-}
-
-// transform_primary is very FreeBSD-specific
-
-template <class _CharT>
-template <class _ForwardIterator>
-typename regex_traits<_CharT>::string_type
-regex_traits<_CharT>::__transform_primary(_ForwardIterator __f,
-                                          _ForwardIterator __l, char) const
-{
-    const string_type __s(__f, __l);
-    string_type __d = __col_->transform(__s.data(), __s.data() + __s.size());
-    switch (__d.size())
-    {
-    case 1:
-        break;
-    case 12:
-        __d[11] = __d[3];
-        break;
-    default:
-        __d.clear();
-        break;
-    }
-    return __d;
-}
-
-template <class _CharT>
-template <class _ForwardIterator>
-typename regex_traits<_CharT>::string_type
-regex_traits<_CharT>::__transform_primary(_ForwardIterator __f,
-                                          _ForwardIterator __l, wchar_t) const
-{
-    const string_type __s(__f, __l);
-    string_type __d = __col_->transform(__s.data(), __s.data() + __s.size());
-    switch (__d.size())
-    {
-    case 1:
-        break;
-    case 3:
-        __d[2] = __d[0];
-        break;
-    default:
-        __d.clear();
-        break;
-    }
-    return __d;
-}
-
-// lookup_collatename is very FreeBSD-specific
-
-_LIBCPP_FUNC_VIS string __get_collation_name(const char* __s);
-
-template <class _CharT>
-template <class _ForwardIterator>
-typename regex_traits<_CharT>::string_type
-regex_traits<_CharT>::__lookup_collatename(_ForwardIterator __f,
-                                           _ForwardIterator __l, char) const
-{
-    string_type __s(__f, __l);
-    string_type __r;
-    if (!__s.empty())
-    {
-        __r = __get_collation_name(__s.c_str());
-        if (__r.empty() && __s.size() <= 2)
-        {
-            __r = __col_->transform(__s.data(), __s.data() + __s.size());
-            if (__r.size() == 1 || __r.size() == 12)
-                __r = __s;
-            else
-                __r.clear();
-        }
-    }
-    return __r;
-}
-
-template <class _CharT>
-template <class _ForwardIterator>
-typename regex_traits<_CharT>::string_type
-regex_traits<_CharT>::__lookup_collatename(_ForwardIterator __f,
-                                           _ForwardIterator __l, wchar_t) const
-{
-    string_type __s(__f, __l);
-    string __n;
-    __n.reserve(__s.size());
-    for (typename string_type::const_iterator __i = __s.begin(), __e = __s.end();
-                                                              __i != __e; ++__i)
-    {
-        if (static_cast<unsigned>(*__i) >= 127)
-            return string_type();
-        __n.push_back(char(*__i));
-    }
-    string_type __r;
-    if (!__s.empty())
-    {
-        __n = __get_collation_name(__n.c_str());
-        if (!__n.empty())
-            __r.assign(__n.begin(), __n.end());
-        else if (__s.size() <= 2)
-        {
-            __r = __col_->transform(__s.data(), __s.data() + __s.size());
-            if (__r.size() == 1 || __r.size() == 3)
-                __r = __s;
-            else
-                __r.clear();
-        }
-    }
-    return __r;
-}
-
-// lookup_classname
-
-regex_traits<char>::char_class_type _LIBCPP_FUNC_VIS
-__get_classname(const char* __s, bool __icase);
-
-template <class _CharT>
-template <class _ForwardIterator>
-typename regex_traits<_CharT>::char_class_type
-regex_traits<_CharT>::__lookup_classname(_ForwardIterator __f,
-                                         _ForwardIterator __l,
-                                         bool __icase, char) const
-{
-    string_type __s(__f, __l);
-    __ct_->tolower(&__s[0], &__s[0] + __s.size());
-    return __get_classname(__s.c_str(), __icase);
-}
-
-template <class _CharT>
-template <class _ForwardIterator>
-typename regex_traits<_CharT>::char_class_type
-regex_traits<_CharT>::__lookup_classname(_ForwardIterator __f,
-                                         _ForwardIterator __l,
-                                         bool __icase, wchar_t) const
-{
-    string_type __s(__f, __l);
-    __ct_->tolower(&__s[0], &__s[0] + __s.size());
-    string __n;
-    __n.reserve(__s.size());
-    for (typename string_type::const_iterator __i = __s.begin(), __e = __s.end();
-                                                              __i != __e; ++__i)
-    {
-        if (static_cast<unsigned>(*__i) >= 127)
-            return char_class_type();
-        __n.push_back(char(*__i));
-    }
-    return __get_classname(__n.c_str(), __icase);
-}
-
-template <class _CharT>
-bool
-regex_traits<_CharT>::isctype(char_type __c, char_class_type __m) const
-{
-    if (__ct_->is(__m, __c))
-        return true;
-    return (__c == '_' && (__m & __regex_word));
-}
-
-template <class _CharT>
-int
-regex_traits<_CharT>::__regex_traits_value(unsigned char __ch, int __radix)
-{
-    if ((__ch & 0xF8u) == 0x30)  // '0' <= __ch && __ch <= '7'
-        return __ch - '0';
-    if (__radix != 8)
-    {
-        if ((__ch & 0xFEu) == 0x38)  // '8' <= __ch && __ch <= '9'
-            return __ch - '0';
-        if (__radix == 16)
-        {
-            __ch |= 0x20;  // tolower
-            if ('a' <= __ch && __ch <= 'f')
-                return __ch - ('a' - 10);
-        }
-    }
-    return -1;
-}
-
-template <class _CharT>
-inline
-int
-regex_traits<_CharT>::__regex_traits_value(wchar_t __ch, int __radix) const
-{
-    return __regex_traits_value(static_cast<unsigned char>(__ct_->narrow(__ch, char_type())), __radix);
-}
-
-template <class _CharT> class __node;
-
-template <class _BidirectionalIterator> class _LIBCPP_TEMPLATE_VIS sub_match;
-
-template <class _BidirectionalIterator,
-          class _Allocator = allocator<sub_match<_BidirectionalIterator> > >
-class _LIBCPP_TEMPLATE_VIS match_results;
-
-template <class _CharT>
-struct __state
-{
-    enum
-    {
-        __end_state = -1000,
-        __consume_input,  // -999
-        __begin_marked_expr, // -998
-        __end_marked_expr,   // -997
-        __pop_state,           // -996
-        __accept_and_consume,  // -995
-        __accept_but_not_consume,  // -994
-        __reject,                  // -993
-        __split,
-        __repeat
-    };
-
-    int __do_;
-    const _CharT* __first_;
-    const _CharT* __current_;
-    const _CharT* __last_;
-    vector<sub_match<const _CharT*> > __sub_matches_;
-    vector<pair<size_t, const _CharT*> > __loop_data_;
-    const __node<_CharT>* __node_;
-    regex_constants::match_flag_type __flags_;
-    bool __at_first_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __state()
-        : __do_(0), __first_(nullptr), __current_(nullptr), __last_(nullptr),
-          __node_(nullptr), __flags_() {}
-};
-
-// __node
-
-template <class _CharT>
-class __node
-{
-    __node(const __node&);
-    __node& operator=(const __node&);
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __node() {}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual ~__node() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    virtual void __exec(__state&) const {}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual void __exec_split(bool, __state&) const {}
-};
-
-// __end_state
-
-template <class _CharT>
-class __end_state
-    : public __node<_CharT>
-{
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __end_state() {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__end_state<_CharT>::__exec(__state& __s) const
-{
-    __s.__do_ = __state::__end_state;
-}
-
-// __has_one_state
-
-template <class _CharT>
-class __has_one_state
-    : public __node<_CharT>
-{
-    __node<_CharT>* __first_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __has_one_state(__node<_CharT>* __s)
-        : __first_(__s) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __node<_CharT>*  first() const {return __first_;}
-    _LIBCPP_INLINE_VISIBILITY
-    __node<_CharT>*& first()       {return __first_;}
-};
-
-// __owns_one_state
-
-template <class _CharT>
-class __owns_one_state
-    : public __has_one_state<_CharT>
-{
-    typedef __has_one_state<_CharT> base;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __owns_one_state(__node<_CharT>* __s)
-        : base(__s) {}
-
-    virtual ~__owns_one_state();
-};
-
-template <class _CharT>
-__owns_one_state<_CharT>::~__owns_one_state()
-{
-    delete this->first();
-}
-
-// __empty_state
-
-template <class _CharT>
-class __empty_state
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __empty_state(__node<_CharT>* __s)
-        : base(__s) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__empty_state<_CharT>::__exec(__state& __s) const
-{
-    __s.__do_ = __state::__accept_but_not_consume;
-    __s.__node_ = this->first();
-}
-
-// __empty_non_own_state
-
-template <class _CharT>
-class __empty_non_own_state
-    : public __has_one_state<_CharT>
-{
-    typedef __has_one_state<_CharT> base;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __empty_non_own_state(__node<_CharT>* __s)
-        : base(__s) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__empty_non_own_state<_CharT>::__exec(__state& __s) const
-{
-    __s.__do_ = __state::__accept_but_not_consume;
-    __s.__node_ = this->first();
-}
-
-// __repeat_one_loop
-
-template <class _CharT>
-class __repeat_one_loop
-    : public __has_one_state<_CharT>
-{
-    typedef __has_one_state<_CharT> base;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __repeat_one_loop(__node<_CharT>* __s)
-        : base(__s) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__repeat_one_loop<_CharT>::__exec(__state& __s) const
-{
-    __s.__do_ = __state::__repeat;
-    __s.__node_ = this->first();
-}
-
-// __owns_two_states
-
-template <class _CharT>
-class __owns_two_states
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    base* __second_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __owns_two_states(__node<_CharT>* __s1, base* __s2)
-        : base(__s1), __second_(__s2) {}
-
-    virtual ~__owns_two_states();
-
-    _LIBCPP_INLINE_VISIBILITY
-    base*  second() const {return __second_;}
-    _LIBCPP_INLINE_VISIBILITY
-    base*& second()       {return __second_;}
-};
-
-template <class _CharT>
-__owns_two_states<_CharT>::~__owns_two_states()
-{
-    delete __second_;
-}
-
-// __loop
-
-template <class _CharT>
-class __loop
-    : public __owns_two_states<_CharT>
-{
-    typedef __owns_two_states<_CharT> base;
-
-    size_t __min_;
-    size_t __max_;
-    unsigned __loop_id_;
-    unsigned __mexp_begin_;
-    unsigned __mexp_end_;
-    bool __greedy_;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __loop(unsigned __loop_id,
-                          __node<_CharT>* __s1, __owns_one_state<_CharT>* __s2,
-                          unsigned __mexp_begin, unsigned __mexp_end,
-                          bool __greedy = true,
-                          size_t __min = 0,
-                          size_t __max = numeric_limits<size_t>::max())
-        : base(__s1, __s2), __min_(__min), __max_(__max), __loop_id_(__loop_id),
-          __mexp_begin_(__mexp_begin), __mexp_end_(__mexp_end),
-          __greedy_(__greedy) {}
-
-    virtual void __exec(__state& __s) const;
-    virtual void __exec_split(bool __second, __state& __s) const;
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    void __init_repeat(__state& __s) const
-    {
-        __s.__loop_data_[__loop_id_].second = __s.__current_;
-        for (size_t __i = __mexp_begin_-1; __i != __mexp_end_-1; ++__i)
-        {
-            __s.__sub_matches_[__i].first = __s.__last_;
-            __s.__sub_matches_[__i].second = __s.__last_;
-            __s.__sub_matches_[__i].matched = false;
-        }
-    }
-};
-
-template <class _CharT>
-void
-__loop<_CharT>::__exec(__state& __s) const
-{
-    if (__s.__do_ == __state::__repeat)
-    {
-        bool __do_repeat = ++__s.__loop_data_[__loop_id_].first < __max_;
-        bool __do_alt = __s.__loop_data_[__loop_id_].first >= __min_;
-        if (__do_repeat && __do_alt &&
-                               __s.__loop_data_[__loop_id_].second == __s.__current_)
-            __do_repeat = false;
-        if (__do_repeat && __do_alt)
-            __s.__do_ = __state::__split;
-        else if (__do_repeat)
-        {
-            __s.__do_ = __state::__accept_but_not_consume;
-            __s.__node_ = this->first();
-            __init_repeat(__s);
-        }
-        else
-        {
-            __s.__do_ = __state::__accept_but_not_consume;
-            __s.__node_ = this->second();
-        }
-    }
-    else
-    {
-        __s.__loop_data_[__loop_id_].first = 0;
-        bool __do_repeat = 0 < __max_;
-        bool __do_alt = 0 >= __min_;
-        if (__do_repeat && __do_alt)
-            __s.__do_ = __state::__split;
-        else if (__do_repeat)
-        {
-            __s.__do_ = __state::__accept_but_not_consume;
-            __s.__node_ = this->first();
-            __init_repeat(__s);
-        }
-        else
-        {
-            __s.__do_ = __state::__accept_but_not_consume;
-            __s.__node_ = this->second();
-        }
-    }
-}
-
-template <class _CharT>
-void
-__loop<_CharT>::__exec_split(bool __second, __state& __s) const
-{
-    __s.__do_ = __state::__accept_but_not_consume;
-    if (__greedy_ != __second)
-    {
-        __s.__node_ = this->first();
-        __init_repeat(__s);
-    }
-    else
-        __s.__node_ = this->second();
-}
-
-// __alternate
-
-template <class _CharT>
-class __alternate
-    : public __owns_two_states<_CharT>
-{
-    typedef __owns_two_states<_CharT> base;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __alternate(__owns_one_state<_CharT>* __s1,
-                         __owns_one_state<_CharT>* __s2)
-        : base(__s1, __s2) {}
-
-    virtual void __exec(__state& __s) const;
-    virtual void __exec_split(bool __second, __state& __s) const;
-};
-
-template <class _CharT>
-void
-__alternate<_CharT>::__exec(__state& __s) const
-{
-    __s.__do_ = __state::__split;
-}
-
-template <class _CharT>
-void
-__alternate<_CharT>::__exec_split(bool __second, __state& __s) const
-{
-    __s.__do_ = __state::__accept_but_not_consume;
-    if (__second)
-        __s.__node_ = this->second();
-    else
-        __s.__node_ = this->first();
-}
-
-// __begin_marked_subexpression
-
-template <class _CharT>
-class __begin_marked_subexpression
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    unsigned __mexp_;
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __begin_marked_subexpression(unsigned __mexp, __node<_CharT>* __s)
-        : base(__s), __mexp_(__mexp) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__begin_marked_subexpression<_CharT>::__exec(__state& __s) const
-{
-    __s.__do_ = __state::__accept_but_not_consume;
-    __s.__sub_matches_[__mexp_-1].first = __s.__current_;
-    __s.__node_ = this->first();
-}
-
-// __end_marked_subexpression
-
-template <class _CharT>
-class __end_marked_subexpression
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    unsigned __mexp_;
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __end_marked_subexpression(unsigned __mexp, __node<_CharT>* __s)
-        : base(__s), __mexp_(__mexp) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__end_marked_subexpression<_CharT>::__exec(__state& __s) const
-{
-    __s.__do_ = __state::__accept_but_not_consume;
-    __s.__sub_matches_[__mexp_-1].second = __s.__current_;
-    __s.__sub_matches_[__mexp_-1].matched = true;
-    __s.__node_ = this->first();
-}
-
-// __back_ref
-
-template <class _CharT>
-class __back_ref
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    unsigned __mexp_;
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __back_ref(unsigned __mexp, __node<_CharT>* __s)
-        : base(__s), __mexp_(__mexp) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__back_ref<_CharT>::__exec(__state& __s) const
-{
-    if (__mexp_ > __s.__sub_matches_.size())
-        __throw_regex_error<regex_constants::error_backref>();
-    sub_match<const _CharT*>& __sm = __s.__sub_matches_[__mexp_-1];
-    if (__sm.matched)
-    {
-        ptrdiff_t __len = __sm.second - __sm.first;
-        if (__s.__last_ - __s.__current_ >= __len &&
-            _VSTD::equal(__sm.first, __sm.second, __s.__current_))
-        {
-            __s.__do_ = __state::__accept_but_not_consume;
-            __s.__current_ += __len;
-            __s.__node_ = this->first();
-        }
-        else
-        {
-            __s.__do_ = __state::__reject;
-            __s.__node_ = nullptr;
-        }
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __back_ref_icase
-
-template <class _CharT, class _Traits>
-class __back_ref_icase
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    _Traits __traits_;
-    unsigned __mexp_;
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __back_ref_icase(const _Traits& __traits, unsigned __mexp,
-                              __node<_CharT>* __s)
-        : base(__s), __traits_(__traits), __mexp_(__mexp) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT, class _Traits>
-void
-__back_ref_icase<_CharT, _Traits>::__exec(__state& __s) const
-{
-    sub_match<const _CharT*>& __sm = __s.__sub_matches_[__mexp_-1];
-    if (__sm.matched)
-    {
-        ptrdiff_t __len = __sm.second - __sm.first;
-        if (__s.__last_ - __s.__current_ >= __len)
-        {
-            for (ptrdiff_t __i = 0; __i < __len; ++__i)
-            {
-                if (__traits_.translate_nocase(__sm.first[__i]) !=
-                                __traits_.translate_nocase(__s.__current_[__i]))
-                    goto __not_equal;
-            }
-            __s.__do_ = __state::__accept_but_not_consume;
-            __s.__current_ += __len;
-            __s.__node_ = this->first();
-        }
-        else
-        {
-            __s.__do_ = __state::__reject;
-            __s.__node_ = nullptr;
-        }
-    }
-    else
-    {
-__not_equal:
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __back_ref_collate
-
-template <class _CharT, class _Traits>
-class __back_ref_collate
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    _Traits __traits_;
-    unsigned __mexp_;
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __back_ref_collate(const _Traits& __traits, unsigned __mexp,
-                              __node<_CharT>* __s)
-        : base(__s), __traits_(__traits), __mexp_(__mexp) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT, class _Traits>
-void
-__back_ref_collate<_CharT, _Traits>::__exec(__state& __s) const
-{
-    sub_match<const _CharT*>& __sm = __s.__sub_matches_[__mexp_-1];
-    if (__sm.matched)
-    {
-        ptrdiff_t __len = __sm.second - __sm.first;
-        if (__s.__last_ - __s.__current_ >= __len)
-        {
-            for (ptrdiff_t __i = 0; __i < __len; ++__i)
-            {
-                if (__traits_.translate(__sm.first[__i]) !=
-                                       __traits_.translate(__s.__current_[__i]))
-                    goto __not_equal;
-            }
-            __s.__do_ = __state::__accept_but_not_consume;
-            __s.__current_ += __len;
-            __s.__node_ = this->first();
-        }
-        else
-        {
-            __s.__do_ = __state::__reject;
-            __s.__node_ = nullptr;
-        }
-    }
-    else
-    {
-__not_equal:
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __word_boundary
-
-template <class _CharT, class _Traits>
-class __word_boundary
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    _Traits __traits_;
-    bool __invert_;
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __word_boundary(const _Traits& __traits, bool __invert,
-                             __node<_CharT>* __s)
-        : base(__s), __traits_(__traits), __invert_(__invert) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT, class _Traits>
-void
-__word_boundary<_CharT, _Traits>::__exec(__state& __s) const
-{
-    bool __is_word_b = false;
-    if (__s.__first_ != __s.__last_)
-    {
-        if (__s.__current_ == __s.__last_)
-        {
-            if (!(__s.__flags_ & regex_constants::match_not_eow))
-            {
-                _CharT __c = __s.__current_[-1];
-                __is_word_b = __c == '_' ||
-                              __traits_.isctype(__c, ctype_base::alnum);
-            }
-        }
-        else if (__s.__current_ == __s.__first_ &&
-                !(__s.__flags_ & regex_constants::match_prev_avail))
-        {
-            if (!(__s.__flags_ & regex_constants::match_not_bow))
-            {
-                _CharT __c = *__s.__current_;
-                __is_word_b = __c == '_' ||
-                              __traits_.isctype(__c, ctype_base::alnum);
-            }
-        }
-        else
-        {
-            _CharT __c1 = __s.__current_[-1];
-            _CharT __c2 = *__s.__current_;
-            bool __is_c1_b = __c1 == '_' ||
-                             __traits_.isctype(__c1, ctype_base::alnum);
-            bool __is_c2_b = __c2 == '_' ||
-                             __traits_.isctype(__c2, ctype_base::alnum);
-            __is_word_b = __is_c1_b != __is_c2_b;
-        }
-    }
-    if (__is_word_b != __invert_)
-    {
-        __s.__do_ = __state::__accept_but_not_consume;
-        __s.__node_ = this->first();
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __l_anchor
-
-template <class _CharT>
-class __l_anchor
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __l_anchor(__node<_CharT>* __s)
-        : base(__s) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__l_anchor<_CharT>::__exec(__state& __s) const
-{
-    if (__s.__at_first_ && __s.__current_ == __s.__first_ &&
-        !(__s.__flags_ & regex_constants::match_not_bol))
-    {
-        __s.__do_ = __state::__accept_but_not_consume;
-        __s.__node_ = this->first();
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __r_anchor
-
-template <class _CharT>
-class __r_anchor
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __r_anchor(__node<_CharT>* __s)
-        : base(__s) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__r_anchor<_CharT>::__exec(__state& __s) const
-{
-    if (__s.__current_ == __s.__last_ &&
-        !(__s.__flags_ & regex_constants::match_not_eol))
-    {
-        __s.__do_ = __state::__accept_but_not_consume;
-        __s.__node_ = this->first();
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __match_any
-
-template <class _CharT>
-class __match_any
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __match_any(__node<_CharT>* __s)
-        : base(__s) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__match_any<_CharT>::__exec(__state& __s) const
-{
-    if (__s.__current_ != __s.__last_ && *__s.__current_ != 0)
-    {
-        __s.__do_ = __state::__accept_and_consume;
-        ++__s.__current_;
-        __s.__node_ = this->first();
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __match_any_but_newline
-
-template <class _CharT>
-class __match_any_but_newline
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __match_any_but_newline(__node<_CharT>* __s)
-        : base(__s) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <> _LIBCPP_FUNC_VIS void __match_any_but_newline<char>::__exec(__state&) const;
-template <> _LIBCPP_FUNC_VIS void __match_any_but_newline<wchar_t>::__exec(__state&) const;
-
-// __match_char
-
-template <class _CharT>
-class __match_char
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    _CharT __c_;
-
-    __match_char(const __match_char&);
-    __match_char& operator=(const __match_char&);
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __match_char(_CharT __c, __node<_CharT>* __s)
-        : base(__s), __c_(__c) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT>
-void
-__match_char<_CharT>::__exec(__state& __s) const
-{
-    if (__s.__current_ != __s.__last_ && *__s.__current_ == __c_)
-    {
-        __s.__do_ = __state::__accept_and_consume;
-        ++__s.__current_;
-        __s.__node_ = this->first();
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __match_char_icase
-
-template <class _CharT, class _Traits>
-class __match_char_icase
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    _Traits __traits_;
-    _CharT __c_;
-
-    __match_char_icase(const __match_char_icase&);
-    __match_char_icase& operator=(const __match_char_icase&);
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __match_char_icase(const _Traits& __traits, _CharT __c, __node<_CharT>* __s)
-        : base(__s), __traits_(__traits), __c_(__traits.translate_nocase(__c)) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT, class _Traits>
-void
-__match_char_icase<_CharT, _Traits>::__exec(__state& __s) const
-{
-    if (__s.__current_ != __s.__last_ &&
-        __traits_.translate_nocase(*__s.__current_) == __c_)
-    {
-        __s.__do_ = __state::__accept_and_consume;
-        ++__s.__current_;
-        __s.__node_ = this->first();
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __match_char_collate
-
-template <class _CharT, class _Traits>
-class __match_char_collate
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    _Traits __traits_;
-    _CharT __c_;
-
-    __match_char_collate(const __match_char_collate&);
-    __match_char_collate& operator=(const __match_char_collate&);
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __match_char_collate(const _Traits& __traits, _CharT __c, __node<_CharT>* __s)
-        : base(__s), __traits_(__traits), __c_(__traits.translate(__c)) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT, class _Traits>
-void
-__match_char_collate<_CharT, _Traits>::__exec(__state& __s) const
-{
-    if (__s.__current_ != __s.__last_ &&
-        __traits_.translate(*__s.__current_) == __c_)
-    {
-        __s.__do_ = __state::__accept_and_consume;
-        ++__s.__current_;
-        __s.__node_ = this->first();
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-// __bracket_expression
-
-template <class _CharT, class _Traits>
-class __bracket_expression
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-    typedef typename _Traits::string_type string_type;
-
-    _Traits __traits_;
-    vector<_CharT> __chars_;
-    vector<_CharT> __neg_chars_;
-    vector<pair<string_type, string_type> > __ranges_;
-    vector<pair<_CharT, _CharT> > __digraphs_;
-    vector<string_type> __equivalences_;
-    typename regex_traits<_CharT>::char_class_type __mask_;
-    typename regex_traits<_CharT>::char_class_type __neg_mask_;
-    bool __negate_;
-    bool __icase_;
-    bool __collate_;
-    bool __might_have_digraph_;
-
-    __bracket_expression(const __bracket_expression&);
-    __bracket_expression& operator=(const __bracket_expression&);
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __bracket_expression(const _Traits& __traits, __node<_CharT>* __s,
-                                 bool __negate, bool __icase, bool __collate)
-        : base(__s), __traits_(__traits), __mask_(), __neg_mask_(),
-          __negate_(__negate), __icase_(__icase), __collate_(__collate),
-          __might_have_digraph_(__traits_.getloc().name() != "C") {}
-
-    virtual void __exec(__state&) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool __negated() const {return __negate_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_char(_CharT __c)
-        {
-            if (__icase_)
-                __chars_.push_back(__traits_.translate_nocase(__c));
-            else if (__collate_)
-                __chars_.push_back(__traits_.translate(__c));
-            else
-                __chars_.push_back(__c);
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_neg_char(_CharT __c)
-        {
-            if (__icase_)
-                __neg_chars_.push_back(__traits_.translate_nocase(__c));
-            else if (__collate_)
-                __neg_chars_.push_back(__traits_.translate(__c));
-            else
-                __neg_chars_.push_back(__c);
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_range(string_type __b, string_type __e)
-        {
-            if (__collate_)
-            {
-                if (__icase_)
-                {
-                    for (size_t __i = 0; __i < __b.size(); ++__i)
-                        __b[__i] = __traits_.translate_nocase(__b[__i]);
-                    for (size_t __i = 0; __i < __e.size(); ++__i)
-                        __e[__i] = __traits_.translate_nocase(__e[__i]);
-                }
-                else
-                {
-                    for (size_t __i = 0; __i < __b.size(); ++__i)
-                        __b[__i] = __traits_.translate(__b[__i]);
-                    for (size_t __i = 0; __i < __e.size(); ++__i)
-                        __e[__i] = __traits_.translate(__e[__i]);
-                }
-                __ranges_.push_back(make_pair(
-                                  __traits_.transform(__b.begin(), __b.end()),
-                                  __traits_.transform(__e.begin(), __e.end())));
-            }
-            else
-            {
-                if (__b.size() != 1 || __e.size() != 1)
-                    __throw_regex_error<regex_constants::error_range>();
-                if (__icase_)
-                {
-                    __b[0] = __traits_.translate_nocase(__b[0]);
-                    __e[0] = __traits_.translate_nocase(__e[0]);
-                }
-                __ranges_.push_back(make_pair(_VSTD::move(__b), _VSTD::move(__e)));
-            }
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_digraph(_CharT __c1, _CharT __c2)
-        {
-            if (__icase_)
-                __digraphs_.push_back(make_pair(__traits_.translate_nocase(__c1),
-                                                __traits_.translate_nocase(__c2)));
-            else if (__collate_)
-                __digraphs_.push_back(make_pair(__traits_.translate(__c1),
-                                                __traits_.translate(__c2)));
-            else
-                __digraphs_.push_back(make_pair(__c1, __c2));
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_equivalence(const string_type& __s)
-        {__equivalences_.push_back(__s);}
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_class(typename regex_traits<_CharT>::char_class_type __mask)
-        {__mask_ |= __mask;}
-    _LIBCPP_INLINE_VISIBILITY
-    void __add_neg_class(typename regex_traits<_CharT>::char_class_type __mask)
-        {__neg_mask_ |= __mask;}
-};
-
-template <class _CharT, class _Traits>
-void
-__bracket_expression<_CharT, _Traits>::__exec(__state& __s) const
-{
-    bool __found = false;
-    unsigned __consumed = 0;
-    if (__s.__current_ != __s.__last_)
-    {
-        ++__consumed;
-        if (__might_have_digraph_)
-        {
-            const _CharT* __next = _VSTD::next(__s.__current_);
-            if (__next != __s.__last_)
-            {
-                pair<_CharT, _CharT> __ch2(*__s.__current_, *__next);
-                if (__icase_)
-                {
-                    __ch2.first = __traits_.translate_nocase(__ch2.first);
-                    __ch2.second = __traits_.translate_nocase(__ch2.second);
-                }
-                else if (__collate_)
-                {
-                    __ch2.first = __traits_.translate(__ch2.first);
-                    __ch2.second = __traits_.translate(__ch2.second);
-                }
-                if (!__traits_.lookup_collatename(&__ch2.first, &__ch2.first+2).empty())
-                {
-                    // __ch2 is a digraph in this locale
-                    ++__consumed;
-                    for (size_t __i = 0; __i < __digraphs_.size(); ++__i)
-                    {
-                        if (__ch2 == __digraphs_[__i])
-                        {
-                            __found = true;
-                            goto __exit;
-                        }
-                    }
-                    if (__collate_ && !__ranges_.empty())
-                    {
-                        string_type __s2 = __traits_.transform(&__ch2.first,
-                                                               &__ch2.first + 2);
-                        for (size_t __i = 0; __i < __ranges_.size(); ++__i)
-                        {
-                            if (__ranges_[__i].first <= __s2 &&
-                                __s2 <= __ranges_[__i].second)
-                            {
-                                __found = true;
-                                goto __exit;
-                            }
-                        }
-                    }
-                    if (!__equivalences_.empty())
-                    {
-                        string_type __s2 = __traits_.transform_primary(&__ch2.first,
-                                                                       &__ch2.first + 2);
-                        for (size_t __i = 0; __i < __equivalences_.size(); ++__i)
-                        {
-                            if (__s2 == __equivalences_[__i])
-                            {
-                                __found = true;
-                                goto __exit;
-                            }
-                        }
-                    }
-                    if (__traits_.isctype(__ch2.first, __mask_) &&
-                        __traits_.isctype(__ch2.second, __mask_))
-                    {
-                        __found = true;
-                        goto __exit;
-                    }
-                    if (!__traits_.isctype(__ch2.first, __neg_mask_) &&
-                        !__traits_.isctype(__ch2.second, __neg_mask_))
-                    {
-                        __found = true;
-                        goto __exit;
-                    }
-                    goto __exit;
-                }
-            }
-        }
-        // test *__s.__current_ as not a digraph
-        _CharT __ch = *__s.__current_;
-        if (__icase_)
-            __ch = __traits_.translate_nocase(__ch);
-        else if (__collate_)
-            __ch = __traits_.translate(__ch);
-        for (size_t __i = 0; __i < __chars_.size(); ++__i)
-        {
-            if (__ch == __chars_[__i])
-            {
-                __found = true;
-                goto __exit;
-            }
-        }
-        // When there's at least one of __neg_chars_ and __neg_mask_, the set
-        // of "__found" chars is
-        //   union(complement(union(__neg_chars_, __neg_mask_)),
-        //         other cases...)
-        //
-        // It doesn't make sense to check this when there are no __neg_chars_
-        // and no __neg_mask_.
-        if (!(__neg_mask_ == 0 && __neg_chars_.empty()))
-        {
-            const bool __in_neg_mask = __traits_.isctype(__ch, __neg_mask_);
-          const bool __in_neg_chars =
-              std::find(__neg_chars_.begin(), __neg_chars_.end(), __ch) !=
-              __neg_chars_.end();
-          if (!(__in_neg_mask || __in_neg_chars))
-          {
-            __found = true;
-            goto __exit;
-          }
-        }
-        if (!__ranges_.empty())
-        {
-            string_type __s2 = __collate_ ?
-                                   __traits_.transform(&__ch, &__ch + 1) :
-                                   string_type(1, __ch);
-            for (size_t __i = 0; __i < __ranges_.size(); ++__i)
-            {
-                if (__ranges_[__i].first <= __s2 && __s2 <= __ranges_[__i].second)
-                {
-                    __found = true;
-                    goto __exit;
-                }
-            }
-        }
-        if (!__equivalences_.empty())
-        {
-            string_type __s2 = __traits_.transform_primary(&__ch, &__ch + 1);
-            for (size_t __i = 0; __i < __equivalences_.size(); ++__i)
-            {
-                if (__s2 == __equivalences_[__i])
-                {
-                    __found = true;
-                    goto __exit;
-                }
-            }
-        }
-        if (__traits_.isctype(__ch, __mask_))
-        {
-            __found = true;
-            goto __exit;
-        }
-    }
-    else
-        __found = __negate_;  // force reject
-__exit:
-    if (__found != __negate_)
-    {
-        __s.__do_ = __state::__accept_and_consume;
-        __s.__current_ += __consumed;
-        __s.__node_ = this->first();
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-template <class _CharT, class _Traits> class __lookahead;
-
-template <class _CharT, class _Traits = regex_traits<_CharT> >
-class _LIBCPP_TEMPLATE_VIS basic_regex
-{
-public:
-    // types:
-    typedef _CharT                              value_type;
-    typedef _Traits                             traits_type;
-    typedef typename _Traits::string_type       string_type;
-    typedef regex_constants::syntax_option_type flag_type;
-    typedef typename _Traits::locale_type       locale_type;
-
-private:
-    _Traits   __traits_;
-    flag_type __flags_;
-    unsigned __marked_count_;
-    unsigned __loop_count_;
-    int __open_count_;
-    shared_ptr<__empty_state<_CharT> > __start_;
-    __owns_one_state<_CharT>* __end_;
-
-    typedef _VSTD::__state<_CharT> __state;
-    typedef _VSTD::__node<_CharT> __node;
-
-public:
-    // constants:
-    static const regex_constants::syntax_option_type icase = regex_constants::icase;
-    static const regex_constants::syntax_option_type nosubs = regex_constants::nosubs;
-    static const regex_constants::syntax_option_type optimize = regex_constants::optimize;
-    static const regex_constants::syntax_option_type collate = regex_constants::collate;
-    static const regex_constants::syntax_option_type ECMAScript = regex_constants::ECMAScript;
-    static const regex_constants::syntax_option_type basic = regex_constants::basic;
-    static const regex_constants::syntax_option_type extended = regex_constants::extended;
-    static const regex_constants::syntax_option_type awk = regex_constants::awk;
-    static const regex_constants::syntax_option_type grep = regex_constants::grep;
-    static const regex_constants::syntax_option_type egrep = regex_constants::egrep;
-
-    // construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex()
-        : __flags_(regex_constants::ECMAScript), __marked_count_(0), __loop_count_(0), __open_count_(0),
-          __end_(0)
-        {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit basic_regex(const value_type* __p, flag_type __f = regex_constants::ECMAScript)
-        : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0),
-          __end_(0)
-        {
-        if (__get_grammar(__flags_) == 0) __flags_ |= regex_constants::ECMAScript;
-        __parse(__p, __p + __traits_.length(__p));
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex(const value_type* __p, size_t __len, flag_type __f = regex_constants::ECMAScript)
-        : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0),
-          __end_(0)
-        {
-        if (__get_grammar(__flags_) == 0) __flags_ |= regex_constants::ECMAScript;
-        __parse(__p, __p + __len);
-        }
-
-//     basic_regex(const basic_regex&) = default;
-//     basic_regex(basic_regex&&) = default;
-    template <class _ST, class _SA>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit basic_regex(const basic_string<value_type, _ST, _SA>& __p,
-                             flag_type __f = regex_constants::ECMAScript)
-        : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0),
-          __end_(0)
-        {
-        if (__get_grammar(__flags_) == 0) __flags_ |= regex_constants::ECMAScript;
-        __parse(__p.begin(), __p.end());
-        }
-
-    template <class _ForwardIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_regex(_ForwardIterator __first, _ForwardIterator __last,
-                    flag_type __f = regex_constants::ECMAScript)
-        : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0),
-          __end_(0)
-        {
-        if (__get_grammar(__flags_) == 0) __flags_ |= regex_constants::ECMAScript;
-        __parse(__first, __last);
-        }
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex(initializer_list<value_type> __il,
-                flag_type __f = regex_constants::ECMAScript)
-        : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0),
-          __end_(0)
-        {
-        if (__get_grammar(__flags_) == 0) __flags_ |= regex_constants::ECMAScript;
-        __parse(__il.begin(), __il.end());
-        }
-#endif  // _LIBCPP_CXX03_LANG
-
-//    ~basic_regex() = default;
-
-//     basic_regex& operator=(const basic_regex&) = default;
-//     basic_regex& operator=(basic_regex&&) = default;
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex& operator=(const value_type* __p)
-        {return assign(__p);}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex& operator=(initializer_list<value_type> __il)
-        {return assign(__il);}
-#endif  // _LIBCPP_CXX03_LANG
-    template <class _ST, class _SA>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_regex& operator=(const basic_string<value_type, _ST, _SA>& __p)
-        {return assign(__p);}
-
-    // assign:
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex& assign(const basic_regex& __that)
-        {return *this = __that;}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex& assign(basic_regex&& __that) _NOEXCEPT
-        {return *this = _VSTD::move(__that);}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex& assign(const value_type* __p, flag_type __f = regex_constants::ECMAScript)
-        {return assign(__p, __p + __traits_.length(__p), __f);}
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex& assign(const value_type* __p, size_t __len, flag_type __f)
-        {return assign(__p, __p + __len, __f);}
-    template <class _ST, class _SA>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_regex& assign(const basic_string<value_type, _ST, _SA>& __s,
-                            flag_type __f = regex_constants::ECMAScript)
-            {return assign(__s.begin(), __s.end(), __f);}
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-             __is_input_iterator  <_InputIterator>::value &&
-            !__is_forward_iterator<_InputIterator>::value,
-            basic_regex&
-        >::type
-        assign(_InputIterator __first, _InputIterator __last,
-                            flag_type __f = regex_constants::ECMAScript)
-        {
-            basic_string<_CharT> __t(__first, __last);
-            return assign(__t.begin(), __t.end(), __f);
-        }
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    void __member_init(flag_type __f)
-    {
-        __flags_ = __f;
-        __marked_count_ = 0;
-        __loop_count_ = 0;
-        __open_count_ = 0;
-        __end_ = nullptr;
-    }
-public:
-
-    template <class _ForwardIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value,
-            basic_regex&
-        >::type
-        assign(_ForwardIterator __first, _ForwardIterator __last,
-                            flag_type __f = regex_constants::ECMAScript)
-        {
-            return assign(basic_regex(__first, __last, __f));
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_regex& assign(initializer_list<value_type> __il,
-                        flag_type __f = regex_constants::ECMAScript)
-        {return assign(__il.begin(), __il.end(), __f);}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-    // const operations:
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned mark_count() const {return __marked_count_;}
-    _LIBCPP_INLINE_VISIBILITY
-    flag_type flags() const {return __flags_;}
-
-    // locale:
-    _LIBCPP_INLINE_VISIBILITY
-    locale_type imbue(locale_type __loc)
-    {
-        __member_init(ECMAScript);
-        __start_.reset();
-        return __traits_.imbue(__loc);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    locale_type getloc() const {return __traits_.getloc();}
-
-    // swap:
-    void swap(basic_regex& __r);
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned __loop_count() const {return __loop_count_;}
-
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_basic_reg_exp(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_RE_expression(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_simple_RE(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_nondupl_RE(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_one_char_or_coll_elem_RE(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_Back_open_paren(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_Back_close_paren(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_Back_open_brace(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_Back_close_brace(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_BACKREF(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_ORD_CHAR(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_QUOTED_CHAR(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_RE_dupl_symbol(_ForwardIterator __first, _ForwardIterator __last,
-                               __owns_one_state<_CharT>* __s,
-                               unsigned __mexp_begin, unsigned __mexp_end);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_ERE_dupl_symbol(_ForwardIterator __first, _ForwardIterator __last,
-                                __owns_one_state<_CharT>* __s,
-                                unsigned __mexp_begin, unsigned __mexp_end);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_bracket_expression(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_follow_list(_ForwardIterator __first, _ForwardIterator __last,
-                            __bracket_expression<_CharT, _Traits>* __ml);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_expression_term(_ForwardIterator __first, _ForwardIterator __last,
-                                __bracket_expression<_CharT, _Traits>* __ml);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_equivalence_class(_ForwardIterator __first, _ForwardIterator __last,
-                                  __bracket_expression<_CharT, _Traits>* __ml);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_character_class(_ForwardIterator __first, _ForwardIterator __last,
-                                __bracket_expression<_CharT, _Traits>* __ml);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_collating_symbol(_ForwardIterator __first, _ForwardIterator __last,
-                                 basic_string<_CharT>& __col_sym);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_DUP_COUNT(_ForwardIterator __first, _ForwardIterator __last, int& __c);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_extended_reg_exp(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_ERE_branch(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_ERE_expression(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_one_char_or_coll_elem_ERE(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_ORD_CHAR_ERE(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_QUOTED_CHAR_ERE(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_ecma_exp(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_alternative(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_term(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_assertion(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_atom(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_atom_escape(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_decimal_escape(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_character_class_escape(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_character_escape(_ForwardIterator __first, _ForwardIterator __last,
-                                 basic_string<_CharT>* __str = nullptr);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_pattern_character(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_grep(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_egrep(_ForwardIterator __first, _ForwardIterator __last);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_class_escape(_ForwardIterator __first, _ForwardIterator __last,
-                          basic_string<_CharT>& __str,
-                          __bracket_expression<_CharT, _Traits>* __ml);
-    template <class _ForwardIterator>
-        _ForwardIterator
-        __parse_awk_escape(_ForwardIterator __first, _ForwardIterator __last,
-                          basic_string<_CharT>* __str = nullptr);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __push_l_anchor();
-    void __push_r_anchor();
-    void __push_match_any();
-    void __push_match_any_but_newline();
-    _LIBCPP_INLINE_VISIBILITY
-    void __push_greedy_inf_repeat(size_t __min, __owns_one_state<_CharT>* __s,
-                                  unsigned __mexp_begin = 0, unsigned __mexp_end = 0)
-        {__push_loop(__min, numeric_limits<size_t>::max(), __s,
-                     __mexp_begin, __mexp_end);}
-    _LIBCPP_INLINE_VISIBILITY
-    void __push_nongreedy_inf_repeat(size_t __min, __owns_one_state<_CharT>* __s,
-                                  unsigned __mexp_begin = 0, unsigned __mexp_end = 0)
-        {__push_loop(__min, numeric_limits<size_t>::max(), __s,
-                     __mexp_begin, __mexp_end, false);}
-    void __push_loop(size_t __min, size_t __max, __owns_one_state<_CharT>* __s,
-                     size_t __mexp_begin = 0, size_t __mexp_end = 0,
-                     bool __greedy = true);
-    __bracket_expression<_CharT, _Traits>* __start_matching_list(bool __negate);
-    void __push_char(value_type __c);
-    void __push_back_ref(int __i);
-    void __push_alternation(__owns_one_state<_CharT>* __sa,
-                            __owns_one_state<_CharT>* __sb);
-    void __push_begin_marked_subexpression();
-    void __push_end_marked_subexpression(unsigned);
-    void __push_empty();
-    void __push_word_boundary(bool);
-    void __push_lookahead(const basic_regex&, bool, unsigned);
-
-    template <class _Allocator>
-        bool
-        __search(const _CharT* __first, const _CharT* __last,
-                 match_results<const _CharT*, _Allocator>& __m,
-                 regex_constants::match_flag_type __flags) const;
-
-    template <class _Allocator>
-        bool
-        __match_at_start(const _CharT* __first, const _CharT* __last,
-                 match_results<const _CharT*, _Allocator>& __m,
-                 regex_constants::match_flag_type __flags, bool) const;
-    template <class _Allocator>
-        bool
-        __match_at_start_ecma(const _CharT* __first, const _CharT* __last,
-                 match_results<const _CharT*, _Allocator>& __m,
-                 regex_constants::match_flag_type __flags, bool) const;
-    template <class _Allocator>
-        bool
-        __match_at_start_posix_nosubs(const _CharT* __first, const _CharT* __last,
-                 match_results<const _CharT*, _Allocator>& __m,
-                 regex_constants::match_flag_type __flags, bool) const;
-    template <class _Allocator>
-        bool
-        __match_at_start_posix_subs(const _CharT* __first, const _CharT* __last,
-                 match_results<const _CharT*, _Allocator>& __m,
-                 regex_constants::match_flag_type __flags, bool) const;
-
-    template <class _Bp, class _Ap, class _Cp, class _Tp>
-    friend
-    bool
-    regex_search(_Bp, _Bp, match_results<_Bp, _Ap>&, const basic_regex<_Cp, _Tp>&,
-                 regex_constants::match_flag_type);
-
-    template <class _Ap, class _Cp, class _Tp>
-    friend
-    bool
-    regex_search(const _Cp*, const _Cp*, match_results<const _Cp*, _Ap>&,
-                 const basic_regex<_Cp, _Tp>&, regex_constants::match_flag_type);
-
-    template <class _Bp, class _Cp, class _Tp>
-    friend
-    bool
-    regex_search(_Bp, _Bp, const basic_regex<_Cp, _Tp>&,
-                 regex_constants::match_flag_type);
-
-    template <class _Cp, class _Tp>
-    friend
-    bool
-    regex_search(const _Cp*, const _Cp*,
-                 const basic_regex<_Cp, _Tp>&, regex_constants::match_flag_type);
-
-    template <class _Cp, class _Ap, class _Tp>
-    friend
-    bool
-    regex_search(const _Cp*, match_results<const _Cp*, _Ap>&, const basic_regex<_Cp, _Tp>&,
-                 regex_constants::match_flag_type);
-
-    template <class _ST, class _SA, class _Cp, class _Tp>
-    friend
-    bool
-    regex_search(const basic_string<_Cp, _ST, _SA>& __s,
-                 const basic_regex<_Cp, _Tp>& __e,
-                 regex_constants::match_flag_type __flags);
-
-    template <class _ST, class _SA, class _Ap, class _Cp, class _Tp>
-    friend
-    bool
-    regex_search(const basic_string<_Cp, _ST, _SA>& __s,
-                 match_results<typename basic_string<_Cp, _ST, _SA>::const_iterator, _Ap>&,
-                 const basic_regex<_Cp, _Tp>& __e,
-                 regex_constants::match_flag_type __flags);
-
-    template <class _Iter, class _Ap, class _Cp, class _Tp>
-    friend
-    bool
-    regex_search(__wrap_iter<_Iter> __first,
-                 __wrap_iter<_Iter> __last,
-                 match_results<__wrap_iter<_Iter>, _Ap>& __m,
-                 const basic_regex<_Cp, _Tp>& __e,
-                 regex_constants::match_flag_type __flags);
-
-    template <class, class> friend class __lookahead;
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template <class _ForwardIterator,
-          class = typename enable_if<__is_forward_iterator<_ForwardIterator>::value, nullptr_t>::type
->
-basic_regex(_ForwardIterator, _ForwardIterator,
-            regex_constants::syntax_option_type = regex_constants::ECMAScript)
-    -> basic_regex<typename iterator_traits<_ForwardIterator>::value_type>;
-#endif
-
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::icase;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::nosubs;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::optimize;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::collate;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::ECMAScript;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::basic;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::extended;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::awk;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::grep;
-template <class _CharT, class _Traits>
-    const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::egrep;
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::swap(basic_regex& __r)
-{
-    using _VSTD::swap;
-    swap(__traits_, __r.__traits_);
-    swap(__flags_, __r.__flags_);
-    swap(__marked_count_, __r.__marked_count_);
-    swap(__loop_count_, __r.__loop_count_);
-    swap(__open_count_, __r.__open_count_);
-    swap(__start_, __r.__start_);
-    swap(__end_, __r.__end_);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_regex<_CharT, _Traits>& __x, basic_regex<_CharT, _Traits>& __y)
-{
-    return __x.swap(__y);
-}
-
-// __lookahead
-
-template <class _CharT, class _Traits>
-class __lookahead
-    : public __owns_one_state<_CharT>
-{
-    typedef __owns_one_state<_CharT> base;
-
-    basic_regex<_CharT, _Traits> __exp_;
-    unsigned __mexp_;
-    bool __invert_;
-
-    __lookahead(const __lookahead&);
-    __lookahead& operator=(const __lookahead&);
-public:
-    typedef _VSTD::__state<_CharT> __state;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __lookahead(const basic_regex<_CharT, _Traits>& __exp, bool __invert, __node<_CharT>* __s, unsigned __mexp)
-        : base(__s), __exp_(__exp), __mexp_(__mexp), __invert_(__invert) {}
-
-    virtual void __exec(__state&) const;
-};
-
-template <class _CharT, class _Traits>
-void
-__lookahead<_CharT, _Traits>::__exec(__state& __s) const
-{
-    match_results<const _CharT*> __m;
-    __m.__init(1 + __exp_.mark_count(), __s.__current_, __s.__last_);
-    bool __matched = __exp_.__match_at_start_ecma(
-        __s.__current_, __s.__last_,
-        __m,
-        (__s.__flags_ | regex_constants::match_continuous) &
-        ~regex_constants::__full_match,
-        __s.__at_first_ && __s.__current_ == __s.__first_);
-    if (__matched != __invert_)
-    {
-        __s.__do_ = __state::__accept_but_not_consume;
-        __s.__node_ = this->first();
-        for (unsigned __i = 1; __i < __m.size(); ++__i) {
-            __s.__sub_matches_[__mexp_ + __i - 1] = __m.__matches_[__i];
-        }
-    }
-    else
-    {
-        __s.__do_ = __state::__reject;
-        __s.__node_ = nullptr;
-    }
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse(_ForwardIterator __first,
-                                      _ForwardIterator __last)
-{
-    {
-        unique_ptr<__node> __h(new __end_state<_CharT>);
-        __start_.reset(new __empty_state<_CharT>(__h.get()));
-        __h.release();
-        __end_ = __start_.get();
-    }
-    switch (__get_grammar(__flags_))
-    {
-    case ECMAScript:
-        __first = __parse_ecma_exp(__first, __last);
-        break;
-    case basic:
-        __first = __parse_basic_reg_exp(__first, __last);
-        break;
-    case extended:
-    case awk:
-        __first = __parse_extended_reg_exp(__first, __last);
-        break;
-    case grep:
-        __first = __parse_grep(__first, __last);
-        break;
-    case egrep:
-        __first = __parse_egrep(__first, __last);
-        break;
-    default:
-        __throw_regex_error<regex_constants::__re_err_grammar>();
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_basic_reg_exp(_ForwardIterator __first,
-                                                    _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        if (*__first == '^')
-        {
-            __push_l_anchor();
-            ++__first;
-        }
-        if (__first != __last)
-        {
-            __first = __parse_RE_expression(__first, __last);
-            if (__first != __last)
-            {
-                _ForwardIterator __temp = _VSTD::next(__first);
-                if (__temp == __last && *__first == '$')
-                {
-                    __push_r_anchor();
-                    ++__first;
-                }
-            }
-        }
-        if (__first != __last)
-            __throw_regex_error<regex_constants::__re_err_empty>();
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_extended_reg_exp(_ForwardIterator __first,
-                                                       _ForwardIterator __last)
-{
-    __owns_one_state<_CharT>* __sa = __end_;
-    _ForwardIterator __temp = __parse_ERE_branch(__first, __last);
-    if (__temp == __first)
-        __throw_regex_error<regex_constants::__re_err_empty>();
-    __first = __temp;
-    while (__first != __last && *__first == '|')
-    {
-        __owns_one_state<_CharT>* __sb = __end_;
-        __temp = __parse_ERE_branch(++__first, __last);
-        if (__temp == __first)
-            __throw_regex_error<regex_constants::__re_err_empty>();
-        __push_alternation(__sa, __sb);
-        __first = __temp;
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_ERE_branch(_ForwardIterator __first,
-                                                 _ForwardIterator __last)
-{
-    _ForwardIterator __temp = __parse_ERE_expression(__first, __last);
-    if (__temp == __first)
-        __throw_regex_error<regex_constants::__re_err_empty>();
-    do
-    {
-        __first = __temp;
-        __temp = __parse_ERE_expression(__first, __last);
-    } while (__temp != __first);
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_ERE_expression(_ForwardIterator __first,
-                                                     _ForwardIterator __last)
-{
-    __owns_one_state<_CharT>* __e = __end_;
-    unsigned __mexp_begin = __marked_count_;
-    _ForwardIterator __temp = __parse_one_char_or_coll_elem_ERE(__first, __last);
-    if (__temp == __first && __temp != __last)
-    {
-        switch (*__temp)
-        {
-        case '^':
-            __push_l_anchor();
-            ++__temp;
-            break;
-        case '$':
-            __push_r_anchor();
-            ++__temp;
-            break;
-        case '(':
-            __push_begin_marked_subexpression();
-            unsigned __temp_count = __marked_count_;
-            ++__open_count_;
-            __temp = __parse_extended_reg_exp(++__temp, __last);
-            if (__temp == __last || *__temp != ')')
-                __throw_regex_error<regex_constants::error_paren>();
-            __push_end_marked_subexpression(__temp_count);
-            --__open_count_;
-            ++__temp;
-            break;
-        }
-    }
-    if (__temp != __first)
-        __temp = __parse_ERE_dupl_symbol(__temp, __last, __e, __mexp_begin+1,
-                                         __marked_count_+1);
-    __first = __temp;
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_RE_expression(_ForwardIterator __first,
-                                                    _ForwardIterator __last)
-{
-    while (true)
-    {
-        _ForwardIterator __temp = __parse_simple_RE(__first, __last);
-        if (__temp == __first)
-            break;
-        __first = __temp;
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_simple_RE(_ForwardIterator __first,
-                                                _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        __owns_one_state<_CharT>* __e = __end_;
-        unsigned __mexp_begin = __marked_count_;
-        _ForwardIterator __temp = __parse_nondupl_RE(__first, __last);
-        if (__temp != __first)
-            __first = __parse_RE_dupl_symbol(__temp, __last, __e,
-                                             __mexp_begin+1, __marked_count_+1);
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_nondupl_RE(_ForwardIterator __first,
-                                                 _ForwardIterator __last)
-{
-    _ForwardIterator __temp = __first;
-    __first = __parse_one_char_or_coll_elem_RE(__first, __last);
-    if (__temp == __first)
-    {
-        __temp = __parse_Back_open_paren(__first, __last);
-        if (__temp != __first)
-        {
-            __push_begin_marked_subexpression();
-            unsigned __temp_count = __marked_count_;
-            __first = __parse_RE_expression(__temp, __last);
-            __temp = __parse_Back_close_paren(__first, __last);
-            if (__temp == __first)
-                __throw_regex_error<regex_constants::error_paren>();
-            __push_end_marked_subexpression(__temp_count);
-            __first = __temp;
-        }
-        else
-            __first = __parse_BACKREF(__first, __last);
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_one_char_or_coll_elem_RE(
-                                                       _ForwardIterator __first,
-                                                       _ForwardIterator __last)
-{
-    _ForwardIterator __temp = __parse_ORD_CHAR(__first, __last);
-    if (__temp == __first)
-    {
-        __temp = __parse_QUOTED_CHAR(__first, __last);
-        if (__temp == __first)
-        {
-            if (__temp != __last && *__temp == '.')
-            {
-                __push_match_any();
-                ++__temp;
-            }
-            else
-                __temp = __parse_bracket_expression(__first, __last);
-        }
-    }
-    __first = __temp;
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_one_char_or_coll_elem_ERE(
-                                                       _ForwardIterator __first,
-                                                       _ForwardIterator __last)
-{
-    _ForwardIterator __temp = __parse_ORD_CHAR_ERE(__first, __last);
-    if (__temp == __first)
-    {
-        __temp = __parse_QUOTED_CHAR_ERE(__first, __last);
-        if (__temp == __first)
-        {
-            if (__temp != __last && *__temp == '.')
-            {
-                __push_match_any();
-                ++__temp;
-            }
-            else
-                __temp = __parse_bracket_expression(__first, __last);
-        }
-    }
-    __first = __temp;
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_Back_open_paren(_ForwardIterator __first,
-                                                      _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        if (__temp != __last)
-        {
-            if (*__first == '\\' && *__temp == '(')
-                __first = ++__temp;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_Back_close_paren(_ForwardIterator __first,
-                                                       _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        if (__temp != __last)
-        {
-            if (*__first == '\\' && *__temp == ')')
-                __first = ++__temp;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_Back_open_brace(_ForwardIterator __first,
-                                                      _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        if (__temp != __last)
-        {
-            if (*__first == '\\' && *__temp == '{')
-                __first = ++__temp;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_Back_close_brace(_ForwardIterator __first,
-                                                       _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        if (__temp != __last)
-        {
-            if (*__first == '\\' && *__temp == '}')
-                __first = ++__temp;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_BACKREF(_ForwardIterator __first,
-                                              _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        if (__temp != __last)
-        {
-            if (*__first == '\\')
-            {
-                int __val = __traits_.value(*__temp, 10);
-                if (__val >= 1 && __val <= 9)
-                {
-                    __push_back_ref(__val);
-                    __first = ++__temp;
-                }
-            }
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_ORD_CHAR(_ForwardIterator __first,
-                                               _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        if (__temp == __last && *__first == '$')
-            return __first;
-        // Not called inside a bracket
-        if (*__first == '.' || *__first == '\\' || *__first == '[')
-            return __first;
-        __push_char(*__first);
-        ++__first;
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_ORD_CHAR_ERE(_ForwardIterator __first,
-                                                   _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        switch (*__first)
-        {
-        case '^':
-        case '.':
-        case '[':
-        case '$':
-        case '(':
-        case '|':
-        case '*':
-        case '+':
-        case '?':
-        case '{':
-        case '\\':
-            break;
-        case ')':
-            if (__open_count_ == 0)
-            {
-                __push_char(*__first);
-                ++__first;
-            }
-            break;
-        default:
-            __push_char(*__first);
-            ++__first;
-            break;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_QUOTED_CHAR(_ForwardIterator __first,
-                                                  _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        if (__temp != __last)
-        {
-            if (*__first == '\\')
-            {
-                switch (*__temp)
-                {
-                case '^':
-                case '.':
-                case '*':
-                case '[':
-                case '$':
-                case '\\':
-                    __push_char(*__temp);
-                    __first = ++__temp;
-                    break;
-                }
-            }
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_QUOTED_CHAR_ERE(_ForwardIterator __first,
-                                                      _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        if (__temp != __last)
-        {
-            if (*__first == '\\')
-            {
-                switch (*__temp)
-                {
-                case '^':
-                case '.':
-                case '*':
-                case '[':
-                case '$':
-                case '\\':
-                case '(':
-                case ')':
-                case '|':
-                case '+':
-                case '?':
-                case '{':
-                case '}':
-                    __push_char(*__temp);
-                    __first = ++__temp;
-                    break;
-                default:
-                    if (__get_grammar(__flags_) == awk)
-                        __first = __parse_awk_escape(++__first, __last);
-                    break;
-                }
-            }
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_RE_dupl_symbol(_ForwardIterator __first,
-                                                     _ForwardIterator __last,
-                                                     __owns_one_state<_CharT>* __s,
-                                                     unsigned __mexp_begin,
-                                                     unsigned __mexp_end)
-{
-    if (__first != __last)
-    {
-        if (*__first == '*')
-        {
-            __push_greedy_inf_repeat(0, __s, __mexp_begin, __mexp_end);
-            ++__first;
-        }
-        else
-        {
-            _ForwardIterator __temp = __parse_Back_open_brace(__first, __last);
-            if (__temp != __first)
-            {
-                int __min = 0;
-                __first = __temp;
-                __temp = __parse_DUP_COUNT(__first, __last, __min);
-                if (__temp == __first)
-                    __throw_regex_error<regex_constants::error_badbrace>();
-                __first = __temp;
-                if (__first == __last)
-                    __throw_regex_error<regex_constants::error_brace>();
-                if (*__first != ',')
-                {
-                    __temp = __parse_Back_close_brace(__first, __last);
-                    if (__temp == __first)
-                        __throw_regex_error<regex_constants::error_brace>();
-                    __push_loop(__min, __min, __s, __mexp_begin, __mexp_end,
-                                    true);
-                    __first = __temp;
-                }
-                else
-                {
-                    ++__first;  // consume ','
-                    int __max = -1;
-                    __first = __parse_DUP_COUNT(__first, __last, __max);
-                    __temp = __parse_Back_close_brace(__first, __last);
-                    if (__temp == __first)
-                        __throw_regex_error<regex_constants::error_brace>();
-                    if (__max == -1)
-                        __push_greedy_inf_repeat(__min, __s, __mexp_begin, __mexp_end);
-                    else
-                    {
-                        if (__max < __min)
-                            __throw_regex_error<regex_constants::error_badbrace>();
-                        __push_loop(__min, __max, __s, __mexp_begin, __mexp_end,
-                                    true);
-                    }
-                    __first = __temp;
-                }
-            }
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_ERE_dupl_symbol(_ForwardIterator __first,
-                                                      _ForwardIterator __last,
-                                                      __owns_one_state<_CharT>* __s,
-                                                      unsigned __mexp_begin,
-                                                      unsigned __mexp_end)
-{
-    if (__first != __last)
-    {
-        unsigned __grammar = __get_grammar(__flags_);
-        switch (*__first)
-        {
-        case '*':
-            ++__first;
-            if (__grammar == ECMAScript && __first != __last && *__first == '?')
-            {
-                ++__first;
-                __push_nongreedy_inf_repeat(0, __s, __mexp_begin, __mexp_end);
-            }
-            else
-                __push_greedy_inf_repeat(0, __s, __mexp_begin, __mexp_end);
-            break;
-        case '+':
-            ++__first;
-            if (__grammar == ECMAScript && __first != __last && *__first == '?')
-            {
-                ++__first;
-                __push_nongreedy_inf_repeat(1, __s, __mexp_begin, __mexp_end);
-            }
-            else
-                __push_greedy_inf_repeat(1, __s, __mexp_begin, __mexp_end);
-            break;
-        case '?':
-            ++__first;
-            if (__grammar == ECMAScript && __first != __last && *__first == '?')
-            {
-                ++__first;
-                __push_loop(0, 1, __s, __mexp_begin, __mexp_end, false);
-            }
-            else
-                __push_loop(0, 1, __s, __mexp_begin, __mexp_end);
-            break;
-        case '{':
-            {
-                int __min;
-                _ForwardIterator __temp = __parse_DUP_COUNT(++__first, __last, __min);
-                if (__temp == __first)
-                    __throw_regex_error<regex_constants::error_badbrace>();
-                __first = __temp;
-                if (__first == __last)
-                    __throw_regex_error<regex_constants::error_brace>();
-                switch (*__first)
-                {
-                case '}':
-                    ++__first;
-                    if (__grammar == ECMAScript && __first != __last && *__first == '?')
-                    {
-                        ++__first;
-                        __push_loop(__min, __min, __s, __mexp_begin, __mexp_end, false);
-                    }
-                    else
-                        __push_loop(__min, __min, __s, __mexp_begin, __mexp_end);
-                    break;
-                case ',':
-                    ++__first;
-                    if (__first == __last)
-                        __throw_regex_error<regex_constants::error_badbrace>();
-                    if (*__first == '}')
-                    {
-                        ++__first;
-                        if (__grammar == ECMAScript && __first != __last && *__first == '?')
-                        {
-                            ++__first;
-                            __push_nongreedy_inf_repeat(__min, __s, __mexp_begin, __mexp_end);
-                        }
-                        else
-                            __push_greedy_inf_repeat(__min, __s, __mexp_begin, __mexp_end);
-                    }
-                    else
-                    {
-                        int __max = -1;
-                        __temp = __parse_DUP_COUNT(__first, __last, __max);
-                        if (__temp == __first)
-                            __throw_regex_error<regex_constants::error_brace>();
-                        __first = __temp;
-                        if (__first == __last || *__first != '}')
-                            __throw_regex_error<regex_constants::error_brace>();
-                        ++__first;
-                        if (__max < __min)
-                            __throw_regex_error<regex_constants::error_badbrace>();
-                        if (__grammar == ECMAScript && __first != __last && *__first == '?')
-                        {
-                            ++__first;
-                            __push_loop(__min, __max, __s, __mexp_begin, __mexp_end, false);
-                        }
-                        else
-                            __push_loop(__min, __max, __s, __mexp_begin, __mexp_end);
-                    }
-                    break;
-                default:
-                    __throw_regex_error<regex_constants::error_badbrace>();
-                }
-            }
-            break;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_bracket_expression(_ForwardIterator __first,
-                                                         _ForwardIterator __last)
-{
-    if (__first != __last && *__first == '[')
-    {
-        ++__first;
-        if (__first == __last)
-            __throw_regex_error<regex_constants::error_brack>();
-        bool __negate = false;
-        if (*__first == '^')
-        {
-            ++__first;
-            __negate = true;
-        }
-        __bracket_expression<_CharT, _Traits>* __ml = __start_matching_list(__negate);
-        // __ml owned by *this
-        if (__first == __last)
-            __throw_regex_error<regex_constants::error_brack>();
-        if (__get_grammar(__flags_) != ECMAScript && *__first == ']')
-        {
-            __ml->__add_char(']');
-            ++__first;
-        }
-        __first = __parse_follow_list(__first, __last, __ml);
-        if (__first == __last)
-            __throw_regex_error<regex_constants::error_brack>();
-        if (*__first == '-')
-        {
-            __ml->__add_char('-');
-            ++__first;
-        }
-        if (__first == __last || *__first != ']')
-            __throw_regex_error<regex_constants::error_brack>();
-        ++__first;
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_follow_list(_ForwardIterator __first,
-                                    _ForwardIterator __last,
-                                    __bracket_expression<_CharT, _Traits>* __ml)
-{
-    if (__first != __last)
-    {
-        while (true)
-        {
-            _ForwardIterator __temp = __parse_expression_term(__first, __last,
-                                                              __ml);
-            if (__temp == __first)
-                break;
-            __first = __temp;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_expression_term(_ForwardIterator __first,
-                                    _ForwardIterator __last,
-                                    __bracket_expression<_CharT, _Traits>* __ml)
-{
-    if (__first != __last && *__first != ']')
-    {
-        _ForwardIterator __temp = _VSTD::next(__first);
-        basic_string<_CharT> __start_range;
-        if (__temp != __last && *__first == '[')
-        {
-            if (*__temp == '=')
-                return __parse_equivalence_class(++__temp, __last, __ml);
-            else if (*__temp == ':')
-                return __parse_character_class(++__temp, __last, __ml);
-            else if (*__temp == '.')
-                __first = __parse_collating_symbol(++__temp, __last, __start_range);
-        }
-        unsigned __grammar = __get_grammar(__flags_);
-        if (__start_range.empty())
-        {
-            if ((__grammar == ECMAScript || __grammar == awk) && *__first == '\\')
-            {
-                if (__grammar == ECMAScript)
-                    __first = __parse_class_escape(++__first, __last, __start_range, __ml);
-                else
-                    __first = __parse_awk_escape(++__first, __last, &__start_range);
-            }
-            else
-            {
-                __start_range = *__first;
-                ++__first;
-            }
-        }
-        if (__first != __last && *__first != ']')
-        {
-            __temp = _VSTD::next(__first);
-            if (__temp != __last && *__first == '-' && *__temp != ']')
-            {
-                // parse a range
-                basic_string<_CharT> __end_range;
-                __first = __temp;
-                ++__temp;
-                if (__temp != __last && *__first == '[' && *__temp == '.')
-                    __first = __parse_collating_symbol(++__temp, __last, __end_range);
-                else
-                {
-                    if ((__grammar == ECMAScript || __grammar == awk) && *__first == '\\')
-                    {
-                        if (__grammar == ECMAScript)
-                            __first = __parse_class_escape(++__first, __last,
-                                                           __end_range, __ml);
-                        else
-                            __first = __parse_awk_escape(++__first, __last,
-                                                         &__end_range);
-                    }
-                    else
-                    {
-                        __end_range = *__first;
-                        ++__first;
-                    }
-                }
-                __ml->__add_range(_VSTD::move(__start_range), _VSTD::move(__end_range));
-            }
-            else if (!__start_range.empty())
-            {
-                if (__start_range.size() == 1)
-                    __ml->__add_char(__start_range[0]);
-                else
-                    __ml->__add_digraph(__start_range[0], __start_range[1]);
-            }
-        }
-        else if (!__start_range.empty())
-        {
-            if (__start_range.size() == 1)
-                __ml->__add_char(__start_range[0]);
-            else
-                __ml->__add_digraph(__start_range[0], __start_range[1]);
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_class_escape(_ForwardIterator __first,
-                          _ForwardIterator __last,
-                          basic_string<_CharT>& __str,
-                          __bracket_expression<_CharT, _Traits>* __ml)
-{
-    if (__first == __last)
-        __throw_regex_error<regex_constants::error_escape>();
-    switch (*__first)
-    {
-    case 0:
-        __str = *__first;
-        return ++__first;
-    case 'b':
-        __str = _CharT(8);
-        return ++__first;
-    case 'd':
-        __ml->__add_class(ctype_base::digit);
-        return ++__first;
-    case 'D':
-        __ml->__add_neg_class(ctype_base::digit);
-        return ++__first;
-    case 's':
-        __ml->__add_class(ctype_base::space);
-        return ++__first;
-    case 'S':
-        __ml->__add_neg_class(ctype_base::space);
-        return ++__first;
-    case 'w':
-        __ml->__add_class(ctype_base::alnum);
-        __ml->__add_char('_');
-        return ++__first;
-    case 'W':
-        __ml->__add_neg_class(ctype_base::alnum);
-        __ml->__add_neg_char('_');
-        return ++__first;
-    }
-    __first = __parse_character_escape(__first, __last, &__str);
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_awk_escape(_ForwardIterator __first,
-                          _ForwardIterator __last,
-                          basic_string<_CharT>* __str)
-{
-    if (__first == __last)
-        __throw_regex_error<regex_constants::error_escape>();
-    switch (*__first)
-    {
-    case '\\':
-    case '"':
-    case '/':
-        if (__str)
-            *__str = *__first;
-        else
-            __push_char(*__first);
-        return ++__first;
-    case 'a':
-        if (__str)
-            *__str = _CharT(7);
-        else
-            __push_char(_CharT(7));
-        return ++__first;
-    case 'b':
-        if (__str)
-            *__str = _CharT(8);
-        else
-            __push_char(_CharT(8));
-        return ++__first;
-    case 'f':
-        if (__str)
-            *__str = _CharT(0xC);
-        else
-            __push_char(_CharT(0xC));
-        return ++__first;
-    case 'n':
-        if (__str)
-            *__str = _CharT(0xA);
-        else
-            __push_char(_CharT(0xA));
-        return ++__first;
-    case 'r':
-        if (__str)
-            *__str = _CharT(0xD);
-        else
-            __push_char(_CharT(0xD));
-        return ++__first;
-    case 't':
-        if (__str)
-            *__str = _CharT(0x9);
-        else
-            __push_char(_CharT(0x9));
-        return ++__first;
-    case 'v':
-        if (__str)
-            *__str = _CharT(0xB);
-        else
-            __push_char(_CharT(0xB));
-        return ++__first;
-    }
-    if ('0' <= *__first && *__first <= '7')
-    {
-        unsigned __val = *__first - '0';
-        if (++__first != __last && ('0' <= *__first && *__first <= '7'))
-        {
-            __val = 8 * __val + *__first - '0';
-            if (++__first != __last && ('0' <= *__first && *__first <= '7'))
-                __val = 8 * __val + *__first++ - '0';
-        }
-        if (__str)
-            *__str = _CharT(__val);
-        else
-            __push_char(_CharT(__val));
-    }
-    else
-        __throw_regex_error<regex_constants::error_escape>();
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_equivalence_class(_ForwardIterator __first,
-                                    _ForwardIterator __last,
-                                    __bracket_expression<_CharT, _Traits>* __ml)
-{
-    // Found [=
-    //   This means =] must exist
-    value_type _Equal_close[2] = {'=', ']'};
-    _ForwardIterator __temp = _VSTD::search(__first, __last, _Equal_close,
-                                                            _Equal_close+2);
-    if (__temp == __last)
-        __throw_regex_error<regex_constants::error_brack>();
-    // [__first, __temp) contains all text in [= ... =]
-    string_type __collate_name =
-        __traits_.lookup_collatename(__first, __temp);
-    if (__collate_name.empty())
-        __throw_regex_error<regex_constants::error_collate>();
-    string_type __equiv_name =
-        __traits_.transform_primary(__collate_name.begin(),
-                                    __collate_name.end());
-    if (!__equiv_name.empty())
-        __ml->__add_equivalence(__equiv_name);
-    else
-    {
-        switch (__collate_name.size())
-        {
-        case 1:
-            __ml->__add_char(__collate_name[0]);
-            break;
-        case 2:
-            __ml->__add_digraph(__collate_name[0], __collate_name[1]);
-            break;
-        default:
-            __throw_regex_error<regex_constants::error_collate>();
-        }
-    }
-    __first = _VSTD::next(__temp, 2);
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_character_class(_ForwardIterator __first,
-                                    _ForwardIterator __last,
-                                    __bracket_expression<_CharT, _Traits>* __ml)
-{
-    // Found [:
-    //   This means :] must exist
-    value_type _Colon_close[2] = {':', ']'};
-    _ForwardIterator __temp = _VSTD::search(__first, __last, _Colon_close,
-                                                            _Colon_close+2);
-    if (__temp == __last)
-        __throw_regex_error<regex_constants::error_brack>();
-    // [__first, __temp) contains all text in [: ... :]
-    typedef typename _Traits::char_class_type char_class_type;
-    char_class_type __class_type =
-        __traits_.lookup_classname(__first, __temp, __flags_ & icase);
-    if (__class_type == 0)
-        __throw_regex_error<regex_constants::error_ctype>();
-    __ml->__add_class(__class_type);
-    __first = _VSTD::next(__temp, 2);
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_collating_symbol(_ForwardIterator __first,
-                                                _ForwardIterator __last,
-                                                basic_string<_CharT>& __col_sym)
-{
-    // Found [.
-    //   This means .] must exist
-    value_type _Dot_close[2] = {'.', ']'};
-    _ForwardIterator __temp = _VSTD::search(__first, __last, _Dot_close,
-                                                            _Dot_close+2);
-    if (__temp == __last)
-        __throw_regex_error<regex_constants::error_brack>();
-    // [__first, __temp) contains all text in [. ... .]
-    __col_sym = __traits_.lookup_collatename(__first, __temp);
-    switch (__col_sym.size())
-    {
-    case 1:
-    case 2:
-        break;
-    default:
-        __throw_regex_error<regex_constants::error_collate>();
-    }
-    __first = _VSTD::next(__temp, 2);
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_DUP_COUNT(_ForwardIterator __first,
-                                                _ForwardIterator __last,
-                                                int& __c)
-{
-    if (__first != __last )
-    {
-        int __val = __traits_.value(*__first, 10);
-        if ( __val != -1 )
-        {
-            __c = __val;
-            for (++__first;
-                 __first != __last && ( __val = __traits_.value(*__first, 10)) != -1;
-                 ++__first)
-            {
-                if (__c >= std::numeric_limits<int>::max() / 10)
-                    __throw_regex_error<regex_constants::error_badbrace>();
-                __c *= 10;
-                __c += __val;
-            }
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_ecma_exp(_ForwardIterator __first,
-                                               _ForwardIterator __last)
-{
-    __owns_one_state<_CharT>* __sa = __end_;
-    _ForwardIterator __temp = __parse_alternative(__first, __last);
-    if (__temp == __first)
-        __push_empty();
-    __first = __temp;
-    while (__first != __last && *__first == '|')
-    {
-        __owns_one_state<_CharT>* __sb = __end_;
-        __temp = __parse_alternative(++__first, __last);
-        if (__temp == __first)
-            __push_empty();
-        __push_alternation(__sa, __sb);
-        __first = __temp;
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_alternative(_ForwardIterator __first,
-                                                  _ForwardIterator __last)
-{
-    while (true)
-    {
-        _ForwardIterator __temp = __parse_term(__first, __last);
-        if (__temp == __first)
-            break;
-        __first = __temp;
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_term(_ForwardIterator __first,
-                                           _ForwardIterator __last)
-{
-    _ForwardIterator __temp = __parse_assertion(__first, __last);
-    if (__temp == __first)
-    {
-        __owns_one_state<_CharT>* __e = __end_;
-        unsigned __mexp_begin = __marked_count_;
-        __temp = __parse_atom(__first, __last);
-        if (__temp != __first)
-            __first = __parse_ERE_dupl_symbol(__temp, __last, __e,
-                                              __mexp_begin+1, __marked_count_+1);
-    }
-    else
-        __first = __temp;
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_assertion(_ForwardIterator __first,
-                                                _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        switch (*__first)
-        {
-        case '^':
-            __push_l_anchor();
-            ++__first;
-            break;
-        case '$':
-            __push_r_anchor();
-            ++__first;
-            break;
-        case '\\':
-            {
-                _ForwardIterator __temp = _VSTD::next(__first);
-                if (__temp != __last)
-                {
-                    if (*__temp == 'b')
-                    {
-                        __push_word_boundary(false);
-                        __first = ++__temp;
-                    }
-                    else if (*__temp == 'B')
-                    {
-                        __push_word_boundary(true);
-                        __first = ++__temp;
-                    }
-                }
-            }
-            break;
-        case '(':
-            {
-                _ForwardIterator __temp = _VSTD::next(__first);
-                if (__temp != __last && *__temp == '?')
-                {
-                    if (++__temp != __last)
-                    {
-                        switch (*__temp)
-                        {
-                        case '=':
-                            {
-                                basic_regex __exp;
-                                __exp.__flags_ = __flags_;
-                                __temp = __exp.__parse(++__temp, __last);
-                                unsigned __mexp = __exp.__marked_count_;
-                                __push_lookahead(_VSTD::move(__exp), false, __marked_count_);
-                                __marked_count_ += __mexp;
-                                if (__temp == __last || *__temp != ')')
-                                    __throw_regex_error<regex_constants::error_paren>();
-                                __first = ++__temp;
-                            }
-                            break;
-                        case '!':
-                            {
-                                basic_regex __exp;
-                                __exp.__flags_ = __flags_;
-                                __temp = __exp.__parse(++__temp, __last);
-                                unsigned __mexp = __exp.__marked_count_;
-                                __push_lookahead(_VSTD::move(__exp), true, __marked_count_);
-                                __marked_count_ += __mexp;
-                                if (__temp == __last || *__temp != ')')
-                                    __throw_regex_error<regex_constants::error_paren>();
-                                __first = ++__temp;
-                            }
-                            break;
-                        }
-                    }
-                }
-            }
-            break;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_atom(_ForwardIterator __first,
-                                           _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        switch (*__first)
-        {
-        case '.':
-            __push_match_any_but_newline();
-            ++__first;
-            break;
-        case '\\':
-            __first = __parse_atom_escape(__first, __last);
-            break;
-        case '[':
-            __first = __parse_bracket_expression(__first, __last);
-            break;
-        case '(':
-            {
-                ++__first;
-                if (__first == __last)
-                    __throw_regex_error<regex_constants::error_paren>();
-                _ForwardIterator __temp = _VSTD::next(__first);
-                if (__temp != __last && *__first == '?' && *__temp == ':')
-                {
-                    ++__open_count_;
-                    __first = __parse_ecma_exp(++__temp, __last);
-                    if (__first == __last || *__first != ')')
-                        __throw_regex_error<regex_constants::error_paren>();
-                    --__open_count_;
-                    ++__first;
-                }
-                else
-                {
-                    __push_begin_marked_subexpression();
-                    unsigned __temp_count = __marked_count_;
-                    ++__open_count_;
-                    __first = __parse_ecma_exp(__first, __last);
-                    if (__first == __last || *__first != ')')
-                        __throw_regex_error<regex_constants::error_paren>();
-                    __push_end_marked_subexpression(__temp_count);
-                    --__open_count_;
-                    ++__first;
-                }
-            }
-            break;
-        case '*':
-        case '+':
-        case '?':
-        case '{':
-            __throw_regex_error<regex_constants::error_badrepeat>();
-            break;
-        default:
-            __first = __parse_pattern_character(__first, __last);
-            break;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_atom_escape(_ForwardIterator __first,
-                                                  _ForwardIterator __last)
-{
-    if (__first != __last && *__first == '\\')
-    {
-        _ForwardIterator __t1 = _VSTD::next(__first);
-        if (__t1 == __last)
-            __throw_regex_error<regex_constants::error_escape>();
-
-        _ForwardIterator __t2 = __parse_decimal_escape(__t1, __last);
-        if (__t2 != __t1)
-            __first = __t2;
-        else
-        {
-            __t2 = __parse_character_class_escape(__t1, __last);
-            if (__t2 != __t1)
-                __first = __t2;
-            else
-            {
-                __t2 = __parse_character_escape(__t1, __last);
-                if (__t2 != __t1)
-                    __first = __t2;
-            }
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_decimal_escape(_ForwardIterator __first,
-                                                     _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        if (*__first == '0')
-        {
-            __push_char(_CharT());
-            ++__first;
-        }
-        else if ('1' <= *__first && *__first <= '9')
-        {
-            unsigned __v = *__first - '0';
-            for (++__first;
-                    __first != __last && '0' <= *__first && *__first <= '9'; ++__first)
-                {
-                if (__v >= std::numeric_limits<unsigned>::max() / 10)
-                    __throw_regex_error<regex_constants::error_backref>();
-                __v = 10 * __v + *__first - '0';
-                }
-            if (__v == 0 || __v > mark_count())
-                __throw_regex_error<regex_constants::error_backref>();
-            __push_back_ref(__v);
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_character_class_escape(_ForwardIterator __first,
-                                                             _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        __bracket_expression<_CharT, _Traits>* __ml;
-        switch (*__first)
-        {
-        case 'd':
-            __ml = __start_matching_list(false);
-            __ml->__add_class(ctype_base::digit);
-            ++__first;
-            break;
-        case 'D':
-            __ml = __start_matching_list(true);
-            __ml->__add_class(ctype_base::digit);
-            ++__first;
-            break;
-        case 's':
-            __ml = __start_matching_list(false);
-            __ml->__add_class(ctype_base::space);
-            ++__first;
-            break;
-        case 'S':
-            __ml = __start_matching_list(true);
-            __ml->__add_class(ctype_base::space);
-            ++__first;
-            break;
-        case 'w':
-            __ml = __start_matching_list(false);
-            __ml->__add_class(ctype_base::alnum);
-            __ml->__add_char('_');
-            ++__first;
-            break;
-        case 'W':
-            __ml = __start_matching_list(true);
-            __ml->__add_class(ctype_base::alnum);
-            __ml->__add_char('_');
-            ++__first;
-            break;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_character_escape(_ForwardIterator __first,
-                                                    _ForwardIterator __last,
-                                                    basic_string<_CharT>* __str)
-{
-    if (__first != __last)
-    {
-        _ForwardIterator __t;
-        unsigned __sum = 0;
-        int __hd;
-        switch (*__first)
-        {
-        case 'f':
-            if (__str)
-                *__str = _CharT(0xC);
-            else
-                __push_char(_CharT(0xC));
-            ++__first;
-            break;
-        case 'n':
-            if (__str)
-                *__str = _CharT(0xA);
-            else
-                __push_char(_CharT(0xA));
-            ++__first;
-            break;
-        case 'r':
-            if (__str)
-                *__str = _CharT(0xD);
-            else
-                __push_char(_CharT(0xD));
-            ++__first;
-            break;
-        case 't':
-            if (__str)
-                *__str = _CharT(0x9);
-            else
-                __push_char(_CharT(0x9));
-            ++__first;
-            break;
-        case 'v':
-            if (__str)
-                *__str = _CharT(0xB);
-            else
-                __push_char(_CharT(0xB));
-            ++__first;
-            break;
-        case 'c':
-            if ((__t = _VSTD::next(__first)) != __last)
-            {
-                if (('A' <= *__t && *__t <= 'Z') ||
-                    ('a' <= *__t && *__t <= 'z'))
-                {
-                    if (__str)
-                        *__str = _CharT(*__t % 32);
-                    else
-                        __push_char(_CharT(*__t % 32));
-                    __first = ++__t;
-                }
-                else
-                    __throw_regex_error<regex_constants::error_escape>();
-            }
-            else
-                __throw_regex_error<regex_constants::error_escape>();
-            break;
-        case 'u':
-            ++__first;
-            if (__first == __last)
-                __throw_regex_error<regex_constants::error_escape>();
-            __hd = __traits_.value(*__first, 16);
-            if (__hd == -1)
-                __throw_regex_error<regex_constants::error_escape>();
-            __sum = 16 * __sum + static_cast<unsigned>(__hd);
-            ++__first;
-            if (__first == __last)
-                __throw_regex_error<regex_constants::error_escape>();
-            __hd = __traits_.value(*__first, 16);
-            if (__hd == -1)
-                __throw_regex_error<regex_constants::error_escape>();
-            __sum = 16 * __sum + static_cast<unsigned>(__hd);
-            // drop through
-        case 'x':
-            ++__first;
-            if (__first == __last)
-                __throw_regex_error<regex_constants::error_escape>();
-            __hd = __traits_.value(*__first, 16);
-            if (__hd == -1)
-                __throw_regex_error<regex_constants::error_escape>();
-            __sum = 16 * __sum + static_cast<unsigned>(__hd);
-            ++__first;
-            if (__first == __last)
-                __throw_regex_error<regex_constants::error_escape>();
-            __hd = __traits_.value(*__first, 16);
-            if (__hd == -1)
-                __throw_regex_error<regex_constants::error_escape>();
-            __sum = 16 * __sum + static_cast<unsigned>(__hd);
-            if (__str)
-                *__str = _CharT(__sum);
-            else
-                __push_char(_CharT(__sum));
-            ++__first;
-            break;
-        case '0':
-            if (__str)
-                *__str = _CharT(0);
-            else
-                __push_char(_CharT(0));
-            ++__first;
-            break;
-        default:
-            if (*__first != '_' && !__traits_.isctype(*__first, ctype_base::alnum))
-            {
-                if (__str)
-                    *__str = *__first;
-                else
-                    __push_char(*__first);
-                ++__first;
-            }
-            else
-                __throw_regex_error<regex_constants::error_escape>();
-            break;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_pattern_character(_ForwardIterator __first,
-                                                        _ForwardIterator __last)
-{
-    if (__first != __last)
-    {
-        switch (*__first)
-        {
-        case '^':
-        case '$':
-        case '\\':
-        case '.':
-        case '*':
-        case '+':
-        case '?':
-        case '(':
-        case ')':
-        case '[':
-        case ']':
-        case '{':
-        case '}':
-        case '|':
-            break;
-        default:
-            __push_char(*__first);
-            ++__first;
-            break;
-        }
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_grep(_ForwardIterator __first,
-                                           _ForwardIterator __last)
-{
-    __owns_one_state<_CharT>* __sa = __end_;
-    _ForwardIterator __t1 = _VSTD::find(__first, __last, _CharT('\n'));
-    if (__t1 != __first)
-        __parse_basic_reg_exp(__first, __t1);
-    else
-        __push_empty();
-    __first = __t1;
-    if (__first != __last)
-        ++__first;
-    while (__first != __last)
-    {
-        __t1 = _VSTD::find(__first, __last, _CharT('\n'));
-        __owns_one_state<_CharT>* __sb = __end_;
-        if (__t1 != __first)
-            __parse_basic_reg_exp(__first, __t1);
-        else
-            __push_empty();
-        __push_alternation(__sa, __sb);
-        __first = __t1;
-        if (__first != __last)
-            ++__first;
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-template <class _ForwardIterator>
-_ForwardIterator
-basic_regex<_CharT, _Traits>::__parse_egrep(_ForwardIterator __first,
-                                            _ForwardIterator __last)
-{
-    __owns_one_state<_CharT>* __sa = __end_;
-    _ForwardIterator __t1 = _VSTD::find(__first, __last, _CharT('\n'));
-    if (__t1 != __first)
-        __parse_extended_reg_exp(__first, __t1);
-    else
-        __push_empty();
-    __first = __t1;
-    if (__first != __last)
-        ++__first;
-    while (__first != __last)
-    {
-        __t1 = _VSTD::find(__first, __last, _CharT('\n'));
-        __owns_one_state<_CharT>* __sb = __end_;
-        if (__t1 != __first)
-            __parse_extended_reg_exp(__first, __t1);
-        else
-            __push_empty();
-        __push_alternation(__sa, __sb);
-        __first = __t1;
-        if (__first != __last)
-            ++__first;
-    }
-    return __first;
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_loop(size_t __min, size_t __max,
-        __owns_one_state<_CharT>* __s, size_t __mexp_begin, size_t __mexp_end,
-        bool __greedy)
-{
-    unique_ptr<__empty_state<_CharT> > __e1(new __empty_state<_CharT>(__end_->first()));
-    __end_->first() = nullptr;
-    unique_ptr<__loop<_CharT> > __e2(new __loop<_CharT>(__loop_count_,
-                __s->first(), __e1.get(), __mexp_begin, __mexp_end, __greedy,
-                __min, __max));
-    __s->first() = nullptr;
-    __e1.release();
-    __end_->first() = new __repeat_one_loop<_CharT>(__e2.get());
-    __end_ = __e2->second();
-    __s->first() = __e2.release();
-    ++__loop_count_;
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_char(value_type __c)
-{
-    if (flags() & icase)
-        __end_->first() = new __match_char_icase<_CharT, _Traits>
-                                              (__traits_, __c, __end_->first());
-    else if (flags() & collate)
-        __end_->first() = new __match_char_collate<_CharT, _Traits>
-                                              (__traits_, __c, __end_->first());
-    else
-        __end_->first() = new __match_char<_CharT>(__c, __end_->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_begin_marked_subexpression()
-{
-    if (!(__flags_ & nosubs))
-    {
-        __end_->first() =
-                new __begin_marked_subexpression<_CharT>(++__marked_count_,
-                                                         __end_->first());
-        __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-    }
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_end_marked_subexpression(unsigned __sub)
-{
-    if (!(__flags_ & nosubs))
-    {
-        __end_->first() =
-                new __end_marked_subexpression<_CharT>(__sub, __end_->first());
-        __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-    }
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_l_anchor()
-{
-    __end_->first() = new __l_anchor<_CharT>(__end_->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_r_anchor()
-{
-    __end_->first() = new __r_anchor<_CharT>(__end_->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_match_any()
-{
-    __end_->first() = new __match_any<_CharT>(__end_->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_match_any_but_newline()
-{
-    __end_->first() = new __match_any_but_newline<_CharT>(__end_->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_empty()
-{
-    __end_->first() = new __empty_state<_CharT>(__end_->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_word_boundary(bool __invert)
-{
-    __end_->first() = new __word_boundary<_CharT, _Traits>(__traits_, __invert,
-                                                           __end_->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_back_ref(int __i)
-{
-    if (flags() & icase)
-        __end_->first() = new __back_ref_icase<_CharT, _Traits>
-                                              (__traits_, __i, __end_->first());
-    else if (flags() & collate)
-        __end_->first() = new __back_ref_collate<_CharT, _Traits>
-                                              (__traits_, __i, __end_->first());
-    else
-        __end_->first() = new __back_ref<_CharT>(__i, __end_->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_alternation(__owns_one_state<_CharT>* __sa,
-                                                 __owns_one_state<_CharT>* __ea)
-{
-    __sa->first() = new __alternate<_CharT>(
-                         static_cast<__owns_one_state<_CharT>*>(__sa->first()),
-                         static_cast<__owns_one_state<_CharT>*>(__ea->first()));
-    __ea->first() = nullptr;
-    __ea->first() = new __empty_state<_CharT>(__end_->first());
-    __end_->first() = nullptr;
-    __end_->first() = new __empty_non_own_state<_CharT>(__ea->first());
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__ea->first());
-}
-
-template <class _CharT, class _Traits>
-__bracket_expression<_CharT, _Traits>*
-basic_regex<_CharT, _Traits>::__start_matching_list(bool __negate)
-{
-    __bracket_expression<_CharT, _Traits>* __r =
-        new __bracket_expression<_CharT, _Traits>(__traits_, __end_->first(),
-                                                  __negate, __flags_ & icase,
-                                                  __flags_ & collate);
-    __end_->first() = __r;
-    __end_ = __r;
-    return __r;
-}
-
-template <class _CharT, class _Traits>
-void
-basic_regex<_CharT, _Traits>::__push_lookahead(const basic_regex& __exp,
-                                               bool __invert,
-                                               unsigned __mexp)
-{
-    __end_->first() = new __lookahead<_CharT, _Traits>(__exp, __invert,
-                                                           __end_->first(), __mexp);
-    __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first());
-}
-
-typedef basic_regex<char>    regex;
-typedef basic_regex<wchar_t> wregex;
-
-// sub_match
-
-template <class _BidirectionalIterator>
-class _LIBCPP_TEMPLATE_VIS sub_match
-    : public pair<_BidirectionalIterator, _BidirectionalIterator>
-{
-public:
-    typedef _BidirectionalIterator                              iterator;
-    typedef typename iterator_traits<iterator>::value_type      value_type;
-    typedef typename iterator_traits<iterator>::difference_type difference_type;
-    typedef basic_string<value_type>                            string_type;
-
-    bool matched;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR sub_match() : matched() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    difference_type length() const
-        {return matched ? _VSTD::distance(this->first, this->second) : 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    string_type str() const
-        {return matched ? string_type(this->first, this->second) : string_type();}
-    _LIBCPP_INLINE_VISIBILITY
-    operator string_type() const
-        {return str();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    int compare(const sub_match& __s) const
-        {return str().compare(__s.str());}
-    _LIBCPP_INLINE_VISIBILITY
-    int compare(const string_type& __s) const
-        {return str().compare(__s);}
-    _LIBCPP_INLINE_VISIBILITY
-    int compare(const value_type* __s) const
-        {return str().compare(__s);}
-};
-
-typedef sub_match<const char*>             csub_match;
-typedef sub_match<const wchar_t*>          wcsub_match;
-typedef sub_match<string::const_iterator>  ssub_match;
-typedef sub_match<wstring::const_iterator> wssub_match;
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const sub_match<_BiIter>& __x, const sub_match<_BiIter>& __y)
-{
-    return __x.compare(__y) == 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const sub_match<_BiIter>& __x, const sub_match<_BiIter>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const sub_match<_BiIter>& __x, const sub_match<_BiIter>& __y)
-{
-    return __x.compare(__y) < 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const sub_match<_BiIter>& __x, const sub_match<_BiIter>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const sub_match<_BiIter>& __x, const sub_match<_BiIter>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(const sub_match<_BiIter>& __x, const sub_match<_BiIter>& __y)
-{
-    return __y < __x;
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __x,
-           const sub_match<_BiIter>& __y)
-{
-    return __y.compare(typename sub_match<_BiIter>::string_type(__x.data(), __x.size())) == 0;
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __x,
-           const sub_match<_BiIter>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __x,
-          const sub_match<_BiIter>& __y)
-{
-    return __y.compare(typename sub_match<_BiIter>::string_type(__x.data(), __x.size())) > 0;
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __x,
-          const sub_match<_BiIter>& __y)
-{
-    return __y < __x;
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator>=(const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __x,
-                const sub_match<_BiIter>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __x,
-           const sub_match<_BiIter>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const sub_match<_BiIter>& __x,
-           const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __y)
-{
-    return __x.compare(typename sub_match<_BiIter>::string_type(__y.data(), __y.size())) == 0;
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const sub_match<_BiIter>& __x,
-           const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const sub_match<_BiIter>& __x,
-          const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __y)
-{
-    return __x.compare(typename sub_match<_BiIter>::string_type(__y.data(), __y.size())) < 0;
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator>(const sub_match<_BiIter>& __x,
-               const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __y)
-{
-    return __y < __x;
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const sub_match<_BiIter>& __x,
-           const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _BiIter, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const sub_match<_BiIter>& __x,
-           const basic_string<typename iterator_traits<_BiIter>::value_type, _ST, _SA>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(typename iterator_traits<_BiIter>::value_type const* __x,
-           const sub_match<_BiIter>& __y)
-{
-    return __y.compare(__x) == 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(typename iterator_traits<_BiIter>::value_type const* __x,
-           const sub_match<_BiIter>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(typename iterator_traits<_BiIter>::value_type const* __x,
-          const sub_match<_BiIter>& __y)
-{
-    return __y.compare(__x) > 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(typename iterator_traits<_BiIter>::value_type const* __x,
-          const sub_match<_BiIter>& __y)
-{
-    return __y < __x;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(typename iterator_traits<_BiIter>::value_type const* __x,
-           const sub_match<_BiIter>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(typename iterator_traits<_BiIter>::value_type const* __x,
-           const sub_match<_BiIter>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const sub_match<_BiIter>& __x,
-           typename iterator_traits<_BiIter>::value_type const* __y)
-{
-    return __x.compare(__y) == 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const sub_match<_BiIter>& __x,
-           typename iterator_traits<_BiIter>::value_type const* __y)
-{
-    return !(__x == __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const sub_match<_BiIter>& __x,
-          typename iterator_traits<_BiIter>::value_type const* __y)
-{
-    return __x.compare(__y) < 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(const sub_match<_BiIter>& __x,
-          typename iterator_traits<_BiIter>::value_type const* __y)
-{
-    return __y < __x;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const sub_match<_BiIter>& __x,
-           typename iterator_traits<_BiIter>::value_type const* __y)
-{
-    return !(__x < __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const sub_match<_BiIter>& __x,
-           typename iterator_traits<_BiIter>::value_type const* __y)
-{
-    return !(__y < __x);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(typename iterator_traits<_BiIter>::value_type const& __x,
-           const sub_match<_BiIter>& __y)
-{
-    typedef basic_string<typename iterator_traits<_BiIter>::value_type> string_type;
-    return __y.compare(string_type(1, __x)) == 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(typename iterator_traits<_BiIter>::value_type const& __x,
-           const sub_match<_BiIter>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(typename iterator_traits<_BiIter>::value_type const& __x,
-          const sub_match<_BiIter>& __y)
-{
-    typedef basic_string<typename iterator_traits<_BiIter>::value_type> string_type;
-    return __y.compare(string_type(1, __x)) > 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(typename iterator_traits<_BiIter>::value_type const& __x,
-          const sub_match<_BiIter>& __y)
-{
-    return __y < __x;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(typename iterator_traits<_BiIter>::value_type const& __x,
-           const sub_match<_BiIter>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(typename iterator_traits<_BiIter>::value_type const& __x,
-           const sub_match<_BiIter>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const sub_match<_BiIter>& __x,
-           typename iterator_traits<_BiIter>::value_type const& __y)
-{
-    typedef basic_string<typename iterator_traits<_BiIter>::value_type> string_type;
-    return __x.compare(string_type(1, __y)) == 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const sub_match<_BiIter>& __x,
-           typename iterator_traits<_BiIter>::value_type const& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const sub_match<_BiIter>& __x,
-          typename iterator_traits<_BiIter>::value_type const& __y)
-{
-    typedef basic_string<typename iterator_traits<_BiIter>::value_type> string_type;
-    return __x.compare(string_type(1, __y)) < 0;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>(const sub_match<_BiIter>& __x,
-          typename iterator_traits<_BiIter>::value_type const& __y)
-{
-    return __y < __x;
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const sub_match<_BiIter>& __x,
-           typename iterator_traits<_BiIter>::value_type const& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const sub_match<_BiIter>& __x,
-           typename iterator_traits<_BiIter>::value_type const& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _CharT, class _ST, class _BiIter>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _ST>&
-operator<<(basic_ostream<_CharT, _ST>& __os, const sub_match<_BiIter>& __m)
-{
-    return __os << __m.str();
-}
-
-template <class _BidirectionalIterator, class _Allocator>
-class _LIBCPP_TEMPLATE_VIS match_results
-{
-public:
-    typedef _Allocator                                        allocator_type;
-    typedef sub_match<_BidirectionalIterator>                 value_type;
-private:
-    typedef vector<value_type, allocator_type>                __container_type;
-
-    __container_type  __matches_;
-    value_type __unmatched_;
-    value_type __prefix_;
-    value_type __suffix_;
-    bool       __ready_;
-public:
-    _BidirectionalIterator __position_start_;
-    typedef const value_type&                                 const_reference;
-    typedef value_type&                                       reference;
-    typedef typename __container_type::const_iterator         const_iterator;
-    typedef const_iterator                                    iterator;
-    typedef typename iterator_traits<_BidirectionalIterator>::difference_type difference_type;
-    typedef typename allocator_traits<allocator_type>::size_type size_type;
-    typedef typename iterator_traits<_BidirectionalIterator>::value_type char_type;
-    typedef basic_string<char_type>                           string_type;
-
-    // construct/copy/destroy:
-    explicit match_results(const allocator_type& __a = allocator_type());
-//    match_results(const match_results&) = default;
-//    match_results& operator=(const match_results&) = default;
-//    match_results(match_results&& __m) = default;
-//    match_results& operator=(match_results&& __m) = default;
-//    ~match_results() = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool ready() const {return __ready_;}
-
-    // size:
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT {return __matches_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __matches_.max_size();}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT {return size() == 0;}
-
-    // element access:
-    _LIBCPP_INLINE_VISIBILITY
-    difference_type length(size_type __sub = 0) const
-        {
-        _LIBCPP_ASSERT(ready(), "match_results::length() called when not ready");
-        return (*this)[__sub].length();
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    difference_type position(size_type __sub = 0) const
-        {
-        _LIBCPP_ASSERT(ready(), "match_results::position() called when not ready");
-        return _VSTD::distance(__position_start_, (*this)[__sub].first);
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    string_type str(size_type __sub = 0) const
-        {
-        _LIBCPP_ASSERT(ready(), "match_results::str() called when not ready");
-        return (*this)[__sub].str();
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference operator[](size_type __n) const
-        {
-        _LIBCPP_ASSERT(ready(), "match_results::operator[]() called when not ready");
-        return __n < __matches_.size() ? __matches_[__n] : __unmatched_;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference prefix() const
-        {
-        _LIBCPP_ASSERT(ready(), "match_results::prefix() called when not ready");
-        return __prefix_;
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference suffix() const
-        {
-        _LIBCPP_ASSERT(ready(), "match_results::suffix() called when not ready");
-        return __suffix_;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const {return empty() ? __matches_.end() : __matches_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const {return __matches_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const {return empty() ? __matches_.end() : __matches_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend() const {return __matches_.end();}
-
-    // format:
-    template <class _OutputIter>
-        _OutputIter
-        format(_OutputIter __output_iter, const char_type* __fmt_first,
-               const char_type* __fmt_last,
-               regex_constants::match_flag_type __flags = regex_constants::format_default) const;
-    template <class _OutputIter, class _ST, class _SA>
-        _LIBCPP_INLINE_VISIBILITY
-        _OutputIter
-        format(_OutputIter __output_iter, const basic_string<char_type, _ST, _SA>& __fmt,
-               regex_constants::match_flag_type __flags = regex_constants::format_default) const
-            {return format(__output_iter, __fmt.data(), __fmt.data() + __fmt.size(), __flags);}
-    template <class _ST, class _SA>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_string<char_type, _ST, _SA>
-        format(const basic_string<char_type, _ST, _SA>& __fmt,
-               regex_constants::match_flag_type __flags = regex_constants::format_default) const
-        {
-            basic_string<char_type, _ST, _SA> __r;
-            format(back_inserter(__r), __fmt.data(), __fmt.data() + __fmt.size(),
-                   __flags);
-            return __r;
-        }
-    _LIBCPP_INLINE_VISIBILITY
-    string_type
-        format(const char_type* __fmt,
-               regex_constants::match_flag_type __flags = regex_constants::format_default) const
-        {
-            string_type __r;
-            format(back_inserter(__r), __fmt,
-                   __fmt + char_traits<char_type>::length(__fmt), __flags);
-            return __r;
-        }
-
-    // allocator:
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const {return __matches_.get_allocator();}
-
-    // swap:
-    void swap(match_results& __m);
-
-    template <class _Bp, class _Ap>
-        _LIBCPP_INLINE_VISIBILITY
-        void __assign(_BidirectionalIterator __f, _BidirectionalIterator __l,
-                      const match_results<_Bp, _Ap>& __m, bool __no_update_pos)
-    {
-        _Bp __mf = __m.prefix().first;
-        __matches_.resize(__m.size());
-        for (size_type __i = 0; __i < __matches_.size(); ++__i)
-        {
-            __matches_[__i].first = _VSTD::next(__f, _VSTD::distance(__mf, __m[__i].first));
-            __matches_[__i].second = _VSTD::next(__f, _VSTD::distance(__mf, __m[__i].second));
-            __matches_[__i].matched = __m[__i].matched;
-        }
-        __unmatched_.first   = __l;
-        __unmatched_.second  = __l;
-        __unmatched_.matched = false;
-        __prefix_.first = _VSTD::next(__f, _VSTD::distance(__mf, __m.prefix().first));
-        __prefix_.second = _VSTD::next(__f, _VSTD::distance(__mf, __m.prefix().second));
-        __prefix_.matched = __m.prefix().matched;
-        __suffix_.first = _VSTD::next(__f, _VSTD::distance(__mf, __m.suffix().first));
-        __suffix_.second = _VSTD::next(__f, _VSTD::distance(__mf, __m.suffix().second));
-        __suffix_.matched = __m.suffix().matched;
-        if (!__no_update_pos)
-            __position_start_ = __prefix_.first;
-        __ready_ = __m.ready();
-    }
-
-private:
-    void __init(unsigned __s,
-                _BidirectionalIterator __f, _BidirectionalIterator __l,
-                bool __no_update_pos = false);
-
-    template <class, class> friend class basic_regex;
-
-    template <class _Bp, class _Ap, class _Cp, class _Tp>
-    friend
-    bool
-    regex_match(_Bp, _Bp, match_results<_Bp, _Ap>&, const basic_regex<_Cp, _Tp>&,
-                regex_constants::match_flag_type);
-
-    template <class _Bp, class _Ap>
-    friend
-    bool
-    operator==(const match_results<_Bp, _Ap>&, const match_results<_Bp, _Ap>&);
-
-    template <class, class> friend class __lookahead;
-};
-
-template <class _BidirectionalIterator, class _Allocator>
-match_results<_BidirectionalIterator, _Allocator>::match_results(
-        const allocator_type& __a)
-    : __matches_(__a),
-      __unmatched_(),
-      __prefix_(),
-      __suffix_(),
-      __ready_(false),
-      __position_start_()
-{
-}
-
-template <class _BidirectionalIterator, class _Allocator>
-void
-match_results<_BidirectionalIterator, _Allocator>::__init(unsigned __s,
-                         _BidirectionalIterator __f, _BidirectionalIterator __l,
-                         bool __no_update_pos)
-{
-    __unmatched_.first   = __l;
-    __unmatched_.second  = __l;
-    __unmatched_.matched = false;
-    __matches_.assign(__s, __unmatched_);
-    __prefix_.first      = __f;
-    __prefix_.second     = __f;
-    __prefix_.matched    = false;
-    __suffix_ = __unmatched_;
-    if (!__no_update_pos)
-        __position_start_ = __prefix_.first;
-    __ready_ = true;
-}
-
-template <class _BidirectionalIterator, class _Allocator>
-template <class _OutputIter>
-_OutputIter
-match_results<_BidirectionalIterator, _Allocator>::format(_OutputIter __output_iter,
-        const char_type* __fmt_first, const char_type* __fmt_last,
-        regex_constants::match_flag_type __flags) const
-{
-    _LIBCPP_ASSERT(ready(), "match_results::format() called when not ready");
-    if (__flags & regex_constants::format_sed)
-    {
-        for (; __fmt_first != __fmt_last; ++__fmt_first)
-        {
-            if (*__fmt_first == '&')
-                __output_iter = _VSTD::copy(__matches_[0].first, __matches_[0].second,
-                                   __output_iter);
-            else if (*__fmt_first == '\\' && __fmt_first + 1 != __fmt_last)
-            {
-                ++__fmt_first;
-                if ('0' <= *__fmt_first && *__fmt_first <= '9')
-                {
-                    size_t __i = *__fmt_first - '0';
-                    __output_iter = _VSTD::copy((*this)[__i].first,
-                                        (*this)[__i].second, __output_iter);
-                }
-                else
-                {
-                    *__output_iter = *__fmt_first;
-                    ++__output_iter;
-                }
-            }
-            else
-            {
-                *__output_iter = *__fmt_first;
-                ++__output_iter;
-            }
-        }
-    }
-    else
-    {
-        for (; __fmt_first != __fmt_last; ++__fmt_first)
-        {
-            if (*__fmt_first == '$' && __fmt_first + 1 != __fmt_last)
-            {
-                switch (__fmt_first[1])
-                {
-                case '$':
-                    *__output_iter = *++__fmt_first;
-                    ++__output_iter;
-                    break;
-                case '&':
-                    ++__fmt_first;
-                    __output_iter = _VSTD::copy(__matches_[0].first, __matches_[0].second,
-                                       __output_iter);
-                    break;
-                case '`':
-                    ++__fmt_first;
-                    __output_iter = _VSTD::copy(__prefix_.first, __prefix_.second, __output_iter);
-                    break;
-                case '\'':
-                    ++__fmt_first;
-                    __output_iter = _VSTD::copy(__suffix_.first, __suffix_.second, __output_iter);
-                    break;
-                default:
-                    if ('0' <= __fmt_first[1] && __fmt_first[1] <= '9')
-                    {
-                        ++__fmt_first;
-                        size_t __idx = *__fmt_first - '0';
-                        if (__fmt_first + 1 != __fmt_last &&
-                            '0' <= __fmt_first[1] && __fmt_first[1] <= '9')
-                        {
-                            ++__fmt_first;
-                            if (__idx >= std::numeric_limits<size_t>::max() / 10)
-                                __throw_regex_error<regex_constants::error_escape>();
-                            __idx = 10 * __idx + *__fmt_first - '0';
-                        }
-                        __output_iter = _VSTD::copy((*this)[__idx].first,
-                                            (*this)[__idx].second, __output_iter);
-                    }
-                    else
-                    {
-                        *__output_iter = *__fmt_first;
-                        ++__output_iter;
-                    }
-                    break;
-                }
-            }
-            else
-            {
-                *__output_iter = *__fmt_first;
-                ++__output_iter;
-            }
-        }
-    }
-    return __output_iter;
-}
-
-template <class _BidirectionalIterator, class _Allocator>
-void
-match_results<_BidirectionalIterator, _Allocator>::swap(match_results& __m)
-{
-    using _VSTD::swap;
-    swap(__matches_, __m.__matches_);
-    swap(__unmatched_, __m.__unmatched_);
-    swap(__prefix_, __m.__prefix_);
-    swap(__suffix_, __m.__suffix_);
-    swap(__position_start_, __m.__position_start_);
-    swap(__ready_, __m.__ready_);
-}
-
-typedef match_results<const char*>             cmatch;
-typedef match_results<const wchar_t*>          wcmatch;
-typedef match_results<string::const_iterator>  smatch;
-typedef match_results<wstring::const_iterator> wsmatch;
-
-template <class _BidirectionalIterator, class _Allocator>
-bool
-operator==(const match_results<_BidirectionalIterator, _Allocator>& __x,
-           const match_results<_BidirectionalIterator, _Allocator>& __y)
-{
-    if (__x.__ready_ != __y.__ready_)
-        return false;
-    if (!__x.__ready_)
-        return true;
-    return __x.__matches_ == __y.__matches_ &&
-           __x.__prefix_ == __y.__prefix_ &&
-           __x.__suffix_ == __y.__suffix_;
-}
-
-template <class _BidirectionalIterator, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const match_results<_BidirectionalIterator, _Allocator>& __x,
-           const match_results<_BidirectionalIterator, _Allocator>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _BidirectionalIterator, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(match_results<_BidirectionalIterator, _Allocator>& __x,
-     match_results<_BidirectionalIterator, _Allocator>& __y)
-{
-    __x.swap(__y);
-}
-
-// regex_search
-
-template <class _CharT, class _Traits>
-template <class _Allocator>
-bool
-basic_regex<_CharT, _Traits>::__match_at_start_ecma(
-        const _CharT* __first, const _CharT* __last,
-        match_results<const _CharT*, _Allocator>& __m,
-        regex_constants::match_flag_type __flags, bool __at_first) const
-{
-    vector<__state> __states;
-    __node* __st = __start_.get();
-    if (__st)
-    {
-        sub_match<const _CharT*> __unmatched;
-        __unmatched.first   = __last;
-        __unmatched.second  = __last;
-        __unmatched.matched = false;
-
-        __states.push_back(__state());
-        __states.back().__do_ = 0;
-        __states.back().__first_ = __first;
-        __states.back().__current_ = __first;
-        __states.back().__last_ = __last;
-        __states.back().__sub_matches_.resize(mark_count(), __unmatched);
-        __states.back().__loop_data_.resize(__loop_count());
-        __states.back().__node_ = __st;
-        __states.back().__flags_ = __flags;
-        __states.back().__at_first_ = __at_first;
-        int __counter = 0;
-        int __length = __last - __first;
-        do
-        {
-            ++__counter;
-            if (__counter % _LIBCPP_REGEX_COMPLEXITY_FACTOR == 0 &&
-                __counter / _LIBCPP_REGEX_COMPLEXITY_FACTOR >= __length)
-              __throw_regex_error<regex_constants::error_complexity>();
-            __state& __s = __states.back();
-            if (__s.__node_)
-                __s.__node_->__exec(__s);
-            switch (__s.__do_)
-            {
-            case __state::__end_state:
-                if ((__flags & regex_constants::match_not_null) &&
-                    __s.__current_ == __first)
-                {
-                  __states.pop_back();
-                  break;
-                }
-                if ((__flags & regex_constants::__full_match) &&
-                    __s.__current_ != __last)
-                {
-                  __states.pop_back();
-                  break;
-                }
-                __m.__matches_[0].first = __first;
-                __m.__matches_[0].second = _VSTD::next(__first, __s.__current_ - __first);
-                __m.__matches_[0].matched = true;
-                for (unsigned __i = 0; __i < __s.__sub_matches_.size(); ++__i)
-                    __m.__matches_[__i+1] = __s.__sub_matches_[__i];
-                return true;
-            case __state::__accept_and_consume:
-            case __state::__repeat:
-            case __state::__accept_but_not_consume:
-                break;
-            case __state::__split:
-                {
-                __state __snext = __s;
-                __s.__node_->__exec_split(true, __s);
-                __snext.__node_->__exec_split(false, __snext);
-                __states.push_back(_VSTD::move(__snext));
-                }
-                break;
-            case __state::__reject:
-                __states.pop_back();
-                break;
-            default:
-                __throw_regex_error<regex_constants::__re_err_unknown>();
-                break;
-
-            }
-        } while (!__states.empty());
-    }
-    return false;
-}
-
-template <class _CharT, class _Traits>
-template <class _Allocator>
-bool
-basic_regex<_CharT, _Traits>::__match_at_start_posix_nosubs(
-        const _CharT* __first, const _CharT* __last,
-        match_results<const _CharT*, _Allocator>& __m,
-        regex_constants::match_flag_type __flags, bool __at_first) const
-{
-    deque<__state> __states;
-    ptrdiff_t __highest_j = 0;
-    ptrdiff_t _Np = _VSTD::distance(__first, __last);
-    __node* __st = __start_.get();
-    if (__st)
-    {
-        __states.push_back(__state());
-        __states.back().__do_ = 0;
-        __states.back().__first_ = __first;
-        __states.back().__current_ = __first;
-        __states.back().__last_ = __last;
-        __states.back().__loop_data_.resize(__loop_count());
-        __states.back().__node_ = __st;
-        __states.back().__flags_ = __flags;
-        __states.back().__at_first_ = __at_first;
-        bool __matched = false;
-        int __counter = 0;
-        int __length = __last - __first;
-        do
-        {
-            ++__counter;
-            if (__counter % _LIBCPP_REGEX_COMPLEXITY_FACTOR == 0 &&
-                __counter / _LIBCPP_REGEX_COMPLEXITY_FACTOR >= __length)
-              __throw_regex_error<regex_constants::error_complexity>();
-            __state& __s = __states.back();
-            if (__s.__node_)
-                __s.__node_->__exec(__s);
-            switch (__s.__do_)
-            {
-            case __state::__end_state:
-                if ((__flags & regex_constants::match_not_null) &&
-                    __s.__current_ == __first)
-                {
-                  __states.pop_back();
-                  break;
-                }
-                if ((__flags & regex_constants::__full_match) &&
-                    __s.__current_ != __last)
-                {
-                  __states.pop_back();
-                  break;
-                }
-                if (!__matched || __highest_j < __s.__current_ - __s.__first_)
-                    __highest_j = __s.__current_ - __s.__first_;
-                __matched = true;
-                if (__highest_j == _Np)
-                    __states.clear();
-                else
-                    __states.pop_back();
-                break;
-            case __state::__consume_input:
-                break;
-            case __state::__accept_and_consume:
-                __states.push_front(_VSTD::move(__s));
-                __states.pop_back();
-                break;
-            case __state::__repeat:
-            case __state::__accept_but_not_consume:
-                break;
-            case __state::__split:
-                {
-                __state __snext = __s;
-                __s.__node_->__exec_split(true, __s);
-                __snext.__node_->__exec_split(false, __snext);
-                __states.push_back(_VSTD::move(__snext));
-                }
-                break;
-            case __state::__reject:
-                __states.pop_back();
-                break;
-            default:
-                __throw_regex_error<regex_constants::__re_err_unknown>();
-                break;
-            }
-        } while (!__states.empty());
-        if (__matched)
-        {
-            __m.__matches_[0].first = __first;
-            __m.__matches_[0].second = _VSTD::next(__first, __highest_j);
-            __m.__matches_[0].matched = true;
-            return true;
-        }
-    }
-    return false;
-}
-
-template <class _CharT, class _Traits>
-template <class _Allocator>
-bool
-basic_regex<_CharT, _Traits>::__match_at_start_posix_subs(
-        const _CharT* __first, const _CharT* __last,
-        match_results<const _CharT*, _Allocator>& __m,
-        regex_constants::match_flag_type __flags, bool __at_first) const
-{
-    vector<__state> __states;
-    __state __best_state;
-    ptrdiff_t __j = 0;
-    ptrdiff_t __highest_j = 0;
-    ptrdiff_t _Np = _VSTD::distance(__first, __last);
-    __node* __st = __start_.get();
-    if (__st)
-    {
-        sub_match<const _CharT*> __unmatched;
-        __unmatched.first   = __last;
-        __unmatched.second  = __last;
-        __unmatched.matched = false;
-
-        __states.push_back(__state());
-        __states.back().__do_ = 0;
-        __states.back().__first_ = __first;
-        __states.back().__current_ = __first;
-        __states.back().__last_ = __last;
-        __states.back().__sub_matches_.resize(mark_count(), __unmatched);
-        __states.back().__loop_data_.resize(__loop_count());
-        __states.back().__node_ = __st;
-        __states.back().__flags_ = __flags;
-        __states.back().__at_first_ = __at_first;
-        const _CharT* __current = __first;
-        bool __matched = false;
-        int __counter = 0;
-        int __length = __last - __first;
-        do
-        {
-            ++__counter;
-            if (__counter % _LIBCPP_REGEX_COMPLEXITY_FACTOR == 0 &&
-                __counter / _LIBCPP_REGEX_COMPLEXITY_FACTOR >= __length)
-              __throw_regex_error<regex_constants::error_complexity>();
-            __state& __s = __states.back();
-            if (__s.__node_)
-                __s.__node_->__exec(__s);
-            switch (__s.__do_)
-            {
-            case __state::__end_state:
-                if ((__flags & regex_constants::match_not_null) &&
-                    __s.__current_ == __first)
-                {
-                  __states.pop_back();
-                  break;
-                }
-                if ((__flags & regex_constants::__full_match) &&
-                    __s.__current_ != __last)
-                {
-                  __states.pop_back();
-                  break;
-                }
-                if (!__matched || __highest_j < __s.__current_ - __s.__first_)
-                {
-                    __highest_j = __s.__current_ - __s.__first_;
-                    __best_state = __s;
-                }
-                __matched = true;
-                if (__highest_j == _Np)
-                    __states.clear();
-                else
-                    __states.pop_back();
-                break;
-            case __state::__accept_and_consume:
-                __j += __s.__current_ - __current;
-                __current = __s.__current_;
-                break;
-            case __state::__repeat:
-            case __state::__accept_but_not_consume:
-                break;
-            case __state::__split:
-                {
-                __state __snext = __s;
-                __s.__node_->__exec_split(true, __s);
-                __snext.__node_->__exec_split(false, __snext);
-                __states.push_back(_VSTD::move(__snext));
-                }
-                break;
-            case __state::__reject:
-                __states.pop_back();
-                break;
-            default:
-                __throw_regex_error<regex_constants::__re_err_unknown>();
-                break;
-            }
-        } while (!__states.empty());
-        if (__matched)
-        {
-            __m.__matches_[0].first = __first;
-            __m.__matches_[0].second = _VSTD::next(__first, __highest_j);
-            __m.__matches_[0].matched = true;
-            for (unsigned __i = 0; __i < __best_state.__sub_matches_.size(); ++__i)
-                __m.__matches_[__i+1] = __best_state.__sub_matches_[__i];
-            return true;
-        }
-    }
-    return false;
-}
-
-template <class _CharT, class _Traits>
-template <class _Allocator>
-bool
-basic_regex<_CharT, _Traits>::__match_at_start(
-        const _CharT* __first, const _CharT* __last,
-        match_results<const _CharT*, _Allocator>& __m,
-        regex_constants::match_flag_type __flags, bool __at_first) const
-{
-    if (__get_grammar(__flags_) == ECMAScript)
-        return __match_at_start_ecma(__first, __last, __m, __flags, __at_first);
-    if (mark_count() == 0)
-        return __match_at_start_posix_nosubs(__first, __last, __m, __flags, __at_first);
-    return __match_at_start_posix_subs(__first, __last, __m, __flags, __at_first);
-}
-
-template <class _CharT, class _Traits>
-template <class _Allocator>
-bool
-basic_regex<_CharT, _Traits>::__search(
-        const _CharT* __first, const _CharT* __last,
-        match_results<const _CharT*, _Allocator>& __m,
-        regex_constants::match_flag_type __flags) const
-{
-    __m.__init(1 + mark_count(), __first, __last,
-                                    __flags & regex_constants::__no_update_pos);
-    if (__match_at_start(__first, __last, __m, __flags,
-                                    !(__flags & regex_constants::__no_update_pos)))
-    {
-        __m.__prefix_.second = __m[0].first;
-        __m.__prefix_.matched = __m.__prefix_.first != __m.__prefix_.second;
-        __m.__suffix_.first = __m[0].second;
-        __m.__suffix_.matched = __m.__suffix_.first != __m.__suffix_.second;
-        return true;
-    }
-    if (__first != __last && !(__flags & regex_constants::match_continuous))
-    {
-        __flags |= regex_constants::match_prev_avail;
-        for (++__first; __first != __last; ++__first)
-        {
-            __m.__matches_.assign(__m.size(), __m.__unmatched_);
-            if (__match_at_start(__first, __last, __m, __flags, false))
-            {
-                __m.__prefix_.second = __m[0].first;
-                __m.__prefix_.matched = __m.__prefix_.first != __m.__prefix_.second;
-                __m.__suffix_.first = __m[0].second;
-                __m.__suffix_.matched = __m.__suffix_.first != __m.__suffix_.second;
-                return true;
-            }
-            __m.__matches_.assign(__m.size(), __m.__unmatched_);
-        }
-    }
-    __m.__matches_.clear();
-    return false;
-}
-
-template <class _BidirectionalIterator, class _Allocator, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(_BidirectionalIterator __first, _BidirectionalIterator __last,
-             match_results<_BidirectionalIterator, _Allocator>& __m,
-             const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    int __offset = (__flags & regex_constants::match_prev_avail) ? 1 : 0;
-    basic_string<_CharT> __s(_VSTD::prev(__first, __offset), __last);
-    match_results<const _CharT*> __mc;
-    bool __r = __e.__search(__s.data() + __offset, __s.data() + __s.size(), __mc, __flags);
-    __m.__assign(__first, __last, __mc, __flags & regex_constants::__no_update_pos);
-    return __r;
-}
-
-template <class _Iter, class _Allocator, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(__wrap_iter<_Iter> __first,
-             __wrap_iter<_Iter> __last,
-             match_results<__wrap_iter<_Iter>, _Allocator>& __m,
-             const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    match_results<const _CharT*> __mc;
-    bool __r = __e.__search(__first.base(), __last.base(), __mc, __flags);
-    __m.__assign(__first, __last, __mc, __flags & regex_constants::__no_update_pos);
-    return __r;
-}
-
-template <class _Allocator, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(const _CharT* __first, const _CharT* __last,
-             match_results<const _CharT*, _Allocator>& __m,
-             const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    return __e.__search(__first, __last, __m, __flags);
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(_BidirectionalIterator __first, _BidirectionalIterator __last,
-             const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    basic_string<_CharT> __s(__first, __last);
-    match_results<const _CharT*> __mc;
-    return __e.__search(__s.data(), __s.data() + __s.size(), __mc, __flags);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(const _CharT* __first, const _CharT* __last,
-             const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    match_results<const _CharT*> __mc;
-    return __e.__search(__first, __last, __mc, __flags);
-}
-
-template <class _CharT, class _Allocator, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(const _CharT* __str, match_results<const _CharT*, _Allocator>& __m,
-             const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    return __e.__search(__str, __str + _Traits::length(__str), __m, __flags);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(const _CharT* __str, const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    match_results<const _CharT*> __m;
-    return _VSTD::regex_search(__str, __m, __e, __flags);
-}
-
-template <class _ST, class _SA, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(const basic_string<_CharT, _ST, _SA>& __s,
-             const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    match_results<const _CharT*> __mc;
-    return __e.__search(__s.data(), __s.data() + __s.size(), __mc, __flags);
-}
-
-template <class _ST, class _SA, class _Allocator, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_search(const basic_string<_CharT, _ST, _SA>& __s,
-             match_results<typename basic_string<_CharT, _ST, _SA>::const_iterator, _Allocator>& __m,
-             const basic_regex<_CharT, _Traits>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    match_results<const _CharT*> __mc;
-    bool __r = __e.__search(__s.data(), __s.data() + __s.size(), __mc, __flags);
-    __m.__assign(__s.begin(), __s.end(), __mc, __flags & regex_constants::__no_update_pos);
-    return __r;
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _ST, class _SA, class _Ap, class _Cp, class _Tp>
-bool
-regex_search(const basic_string<_Cp, _ST, _SA>&& __s,
-             match_results<typename basic_string<_Cp, _ST, _SA>::const_iterator, _Ap>&,
-             const basic_regex<_Cp, _Tp>& __e,
-             regex_constants::match_flag_type __flags = regex_constants::match_default) = delete;
-#endif
-
-// regex_match
-
-template <class _BidirectionalIterator, class _Allocator, class _CharT, class _Traits>
-bool
-regex_match(_BidirectionalIterator __first, _BidirectionalIterator __last,
-            match_results<_BidirectionalIterator, _Allocator>& __m,
-            const basic_regex<_CharT, _Traits>& __e,
-            regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    bool __r = _VSTD::regex_search(
-        __first, __last, __m, __e,
-        __flags | regex_constants::match_continuous |
-        regex_constants::__full_match);
-    if (__r)
-    {
-        __r = !__m.suffix().matched;
-        if (!__r)
-            __m.__matches_.clear();
-    }
-    return __r;
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_match(_BidirectionalIterator __first, _BidirectionalIterator __last,
-            const basic_regex<_CharT, _Traits>& __e,
-            regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    match_results<_BidirectionalIterator> __m;
-    return _VSTD::regex_match(__first, __last, __m, __e, __flags);
-}
-
-template <class _CharT, class _Allocator, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_match(const _CharT* __str, match_results<const _CharT*, _Allocator>& __m,
-            const basic_regex<_CharT, _Traits>& __e,
-            regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    return _VSTD::regex_match(__str, __str + _Traits::length(__str), __m, __e, __flags);
-}
-
-template <class _ST, class _SA, class _Allocator, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_match(const basic_string<_CharT, _ST, _SA>& __s,
-            match_results<typename basic_string<_CharT, _ST, _SA>::const_iterator, _Allocator>& __m,
-            const basic_regex<_CharT, _Traits>& __e,
-            regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    return _VSTD::regex_match(__s.begin(), __s.end(), __m, __e, __flags);
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _ST, class _SA, class _Allocator, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_match(const basic_string<_CharT, _ST, _SA>&& __s,
-            match_results<typename basic_string<_CharT, _ST, _SA>::const_iterator, _Allocator>& __m,
-            const basic_regex<_CharT, _Traits>& __e,
-            regex_constants::match_flag_type __flags = regex_constants::match_default) = delete;
-#endif
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_match(const _CharT* __str, const basic_regex<_CharT, _Traits>& __e,
-            regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    return _VSTD::regex_match(__str, __str + _Traits::length(__str), __e, __flags);
-}
-
-template <class _ST, class _SA, class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-regex_match(const basic_string<_CharT, _ST, _SA>& __s,
-            const basic_regex<_CharT, _Traits>& __e,
-            regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    return _VSTD::regex_match(__s.begin(), __s.end(), __e, __flags);
-}
-
-// regex_iterator
-
-template <class _BidirectionalIterator,
-          class _CharT = typename iterator_traits<_BidirectionalIterator>::value_type,
-          class _Traits = regex_traits<_CharT> >
-class _LIBCPP_TEMPLATE_VIS regex_iterator
-{
-public:
-    typedef basic_regex<_CharT, _Traits>          regex_type;
-    typedef match_results<_BidirectionalIterator> value_type;
-    typedef ptrdiff_t                             difference_type;
-    typedef const value_type*                     pointer;
-    typedef const value_type&                     reference;
-    typedef forward_iterator_tag                  iterator_category;
-
-private:
-    _BidirectionalIterator           __begin_;
-    _BidirectionalIterator           __end_;
-    const regex_type*                __pregex_;
-    regex_constants::match_flag_type __flags_;
-    value_type                       __match_;
-
-public:
-    regex_iterator();
-    regex_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                   const regex_type& __re,
-                   regex_constants::match_flag_type __m
-                                              = regex_constants::match_default);
-#if _LIBCPP_STD_VER > 11
-    regex_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                   const regex_type&& __re,
-                   regex_constants::match_flag_type __m
-                                     = regex_constants::match_default) = delete;
-#endif
-
-    bool operator==(const regex_iterator& __x) const;
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const regex_iterator& __x) const {return !(*this == __x);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {return  __match_;}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const  {return _VSTD::addressof(__match_);}
-
-    regex_iterator& operator++();
-    _LIBCPP_INLINE_VISIBILITY
-    regex_iterator operator++(int)
-    {
-        regex_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-};
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_iterator<_BidirectionalIterator, _CharT, _Traits>::regex_iterator()
-    : __begin_(), __end_(), __pregex_(nullptr), __flags_(), __match_()
-{
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    regex_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                   const regex_type& __re, regex_constants::match_flag_type __m)
-    : __begin_(__a),
-      __end_(__b),
-      __pregex_(_VSTD::addressof(__re)),
-      __flags_(__m)
-{
-    _VSTD::regex_search(__begin_, __end_, __match_, *__pregex_, __flags_);
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-bool
-regex_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    operator==(const regex_iterator& __x) const
-{
-    if (__match_.empty() && __x.__match_.empty())
-        return true;
-    if (__match_.empty() || __x.__match_.empty())
-        return false;
-    return __begin_ == __x.__begin_       &&
-           __end_ == __x.__end_           &&
-           __pregex_ == __x.__pregex_     &&
-           __flags_ == __x.__flags_       &&
-           __match_[0] == __x.__match_[0];
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_iterator<_BidirectionalIterator, _CharT, _Traits>&
-regex_iterator<_BidirectionalIterator, _CharT, _Traits>::operator++()
-{
-    __flags_ |= regex_constants::__no_update_pos;
-    _BidirectionalIterator __start = __match_[0].second;
-    if (__match_[0].first == __match_[0].second)
-    {
-        if (__start == __end_)
-        {
-            __match_ = value_type();
-            return *this;
-        }
-        else if (_VSTD::regex_search(__start, __end_, __match_, *__pregex_,
-                                    __flags_ | regex_constants::match_not_null |
-                                    regex_constants::match_continuous))
-            return *this;
-        else
-            ++__start;
-    }
-    __flags_ |= regex_constants::match_prev_avail;
-    if (!_VSTD::regex_search(__start, __end_, __match_, *__pregex_, __flags_))
-        __match_ = value_type();
-    return *this;
-}
-
-typedef regex_iterator<const char*>             cregex_iterator;
-typedef regex_iterator<const wchar_t*>          wcregex_iterator;
-typedef regex_iterator<string::const_iterator>  sregex_iterator;
-typedef regex_iterator<wstring::const_iterator> wsregex_iterator;
-
-// regex_token_iterator
-
-template <class _BidirectionalIterator,
-          class _CharT = typename iterator_traits<_BidirectionalIterator>::value_type,
-          class _Traits = regex_traits<_CharT> >
-class _LIBCPP_TEMPLATE_VIS regex_token_iterator
-{
-public:
-    typedef basic_regex<_CharT, _Traits>      regex_type;
-    typedef sub_match<_BidirectionalIterator> value_type;
-    typedef ptrdiff_t                         difference_type;
-    typedef const value_type*                 pointer;
-    typedef const value_type&                 reference;
-    typedef forward_iterator_tag              iterator_category;
-
-private:
-    typedef regex_iterator<_BidirectionalIterator, _CharT, _Traits> _Position;
-
-    _Position         __position_;
-    const value_type* __result_;
-    value_type        __suffix_;
-    ptrdiff_t         __n_;
-    vector<int>       __subs_;
-
-public:
-    regex_token_iterator();
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type& __re, int __submatch = 0,
-                         regex_constants::match_flag_type __m =
-                                                regex_constants::match_default);
-#if _LIBCPP_STD_VER > 11
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type&& __re, int __submatch = 0,
-                         regex_constants::match_flag_type __m =
-                                       regex_constants::match_default) = delete;
-#endif
-
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type& __re, const vector<int>& __submatches,
-                         regex_constants::match_flag_type __m =
-                                                regex_constants::match_default);
-#if _LIBCPP_STD_VER > 11
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type&& __re, const vector<int>& __submatches,
-                         regex_constants::match_flag_type __m =
-                                     regex_constants::match_default) = delete;
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type& __re,
-                         initializer_list<int> __submatches,
-                         regex_constants::match_flag_type __m =
-                                                regex_constants::match_default);
-
-#if _LIBCPP_STD_VER > 11
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type&& __re,
-                         initializer_list<int> __submatches,
-                         regex_constants::match_flag_type __m =
-                                       regex_constants::match_default) = delete;
-#endif
-#endif  // _LIBCPP_CXX03_LANG
-    template <size_t _Np>
-        regex_token_iterator(_BidirectionalIterator __a,
-                             _BidirectionalIterator __b,
-                             const regex_type& __re,
-                             const int (&__submatches)[_Np],
-                             regex_constants::match_flag_type __m =
-                                                regex_constants::match_default);
-#if _LIBCPP_STD_VER > 11
-    template <std::size_t _Np>
-        regex_token_iterator(_BidirectionalIterator __a,
-                             _BidirectionalIterator __b,
-                             const regex_type&& __re,
-                             const int (&__submatches)[_Np],
-                             regex_constants::match_flag_type __m =
-                                      regex_constants::match_default) = delete;
-#endif
-
-    regex_token_iterator(const regex_token_iterator&);
-    regex_token_iterator& operator=(const regex_token_iterator&);
-
-    bool operator==(const regex_token_iterator& __x) const;
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const regex_token_iterator& __x) const {return !(*this == __x);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type& operator*() const {return *__result_;}
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type* operator->() const {return __result_;}
-
-    regex_token_iterator& operator++();
-    _LIBCPP_INLINE_VISIBILITY
-    regex_token_iterator operator++(int)
-    {
-        regex_token_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-private:
-    void __init(_BidirectionalIterator __a, _BidirectionalIterator __b);
-    void __establish_result () {
-        if (__subs_[__n_] == -1)
-            __result_ = &__position_->prefix();
-        else
-            __result_ = &(*__position_)[__subs_[__n_]];
-        }
-};
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    regex_token_iterator()
-    : __result_(nullptr),
-      __suffix_(),
-      __n_(0)
-{
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-void
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    __init(_BidirectionalIterator __a, _BidirectionalIterator __b)
-{
-    if (__position_ != _Position())
-        __establish_result ();
-    else if (__subs_[__n_] == -1)
-    {
-        __suffix_.matched = true;
-        __suffix_.first = __a;
-        __suffix_.second = __b;
-        __result_ = &__suffix_;
-    }
-    else
-        __result_ = nullptr;
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type& __re, int __submatch,
-                         regex_constants::match_flag_type __m)
-    : __position_(__a, __b, __re, __m),
-      __n_(0),
-      __subs_(1, __submatch)
-{
-    __init(__a, __b);
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type& __re, const vector<int>& __submatches,
-                         regex_constants::match_flag_type __m)
-    : __position_(__a, __b, __re, __m),
-      __n_(0),
-      __subs_(__submatches)
-{
-    __init(__a, __b);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                         const regex_type& __re,
-                         initializer_list<int> __submatches,
-                         regex_constants::match_flag_type __m)
-    : __position_(__a, __b, __re, __m),
-      __n_(0),
-      __subs_(__submatches)
-{
-    __init(__a, __b);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-template <size_t _Np>
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b,
-                             const regex_type& __re,
-                             const int (&__submatches)[_Np],
-                             regex_constants::match_flag_type __m)
-    : __position_(__a, __b, __re, __m),
-      __n_(0),
-      __subs_(begin(__submatches), end(__submatches))
-{
-    __init(__a, __b);
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    regex_token_iterator(const regex_token_iterator& __x)
-    : __position_(__x.__position_),
-      __result_(__x.__result_),
-      __suffix_(__x.__suffix_),
-      __n_(__x.__n_),
-      __subs_(__x.__subs_)
-{
-    if (__x.__result_ == &__x.__suffix_)
-        __result_ = &__suffix_;
-    else if ( __result_ != nullptr )
-        __establish_result ();
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>&
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    operator=(const regex_token_iterator& __x)
-{
-    if (this != &__x)
-    {
-        __position_ = __x.__position_;
-        if (__x.__result_ == &__x.__suffix_)
-            __result_ = &__suffix_;
-        else
-            __result_ = __x.__result_;
-        __suffix_ = __x.__suffix_;
-        __n_ = __x.__n_;
-        __subs_ = __x.__subs_;
-
-        if ( __result_ != nullptr && __result_ != &__suffix_ )
-            __establish_result();
-    }
-    return *this;
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-bool
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::
-    operator==(const regex_token_iterator& __x) const
-{
-    if (__result_ == nullptr && __x.__result_ == nullptr)
-        return true;
-    if (__result_ == &__suffix_ && __x.__result_ == &__x.__suffix_ &&
-            __suffix_ == __x.__suffix_)
-        return true;
-    if (__result_ == nullptr || __x.__result_ == nullptr)
-        return false;
-    if (__result_ == &__suffix_ || __x.__result_ == &__x.__suffix_)
-        return false;
-    return __position_ == __x.__position_ && __n_ == __x.__n_ &&
-           __subs_ == __x.__subs_;
-}
-
-template <class _BidirectionalIterator, class _CharT, class _Traits>
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>&
-regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::operator++()
-{
-    _Position __prev = __position_;
-    if (__result_ == &__suffix_)
-        __result_ = nullptr;
-    else if (static_cast<size_t>(__n_ + 1) < __subs_.size())
-    {
-        ++__n_;
-        __establish_result();
-    }
-    else
-    {
-        __n_ = 0;
-        ++__position_;
-        if (__position_ != _Position())
-            __establish_result();
-        else
-        {
-            if (_VSTD::find(__subs_.begin(), __subs_.end(), -1) != __subs_.end()
-                && __prev->suffix().length() != 0)
-            {
-                __suffix_.matched = true;
-                __suffix_.first = __prev->suffix().first;
-                __suffix_.second = __prev->suffix().second;
-                __result_ = &__suffix_;
-            }
-            else
-                __result_ = nullptr;
-        }
-    }
-    return *this;
-}
-
-typedef regex_token_iterator<const char*>             cregex_token_iterator;
-typedef regex_token_iterator<const wchar_t*>          wcregex_token_iterator;
-typedef regex_token_iterator<string::const_iterator>  sregex_token_iterator;
-typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
-
-// regex_replace
-
-template <class _OutputIterator, class _BidirectionalIterator,
-          class _Traits, class _CharT>
-_OutputIterator
-regex_replace(_OutputIterator __output_iter,
-              _BidirectionalIterator __first, _BidirectionalIterator __last,
-              const basic_regex<_CharT, _Traits>& __e, const _CharT* __fmt,
-              regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    typedef regex_iterator<_BidirectionalIterator, _CharT, _Traits> _Iter;
-    _Iter __i(__first, __last, __e, __flags);
-    _Iter __eof;
-    if (__i == __eof)
-    {
-        if (!(__flags & regex_constants::format_no_copy))
-            __output_iter = _VSTD::copy(__first, __last, __output_iter);
-    }
-    else
-    {
-        sub_match<_BidirectionalIterator> __lm;
-        for (size_t __len = char_traits<_CharT>::length(__fmt); __i != __eof; ++__i)
-        {
-            if (!(__flags & regex_constants::format_no_copy))
-                __output_iter = _VSTD::copy(__i->prefix().first, __i->prefix().second, __output_iter);
-            __output_iter = __i->format(__output_iter, __fmt, __fmt + __len, __flags);
-            __lm = __i->suffix();
-            if (__flags & regex_constants::format_first_only)
-                break;
-        }
-        if (!(__flags & regex_constants::format_no_copy))
-            __output_iter = _VSTD::copy(__lm.first, __lm.second, __output_iter);
-    }
-    return __output_iter;
-}
-
-template <class _OutputIterator, class _BidirectionalIterator,
-          class _Traits, class _CharT, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-_OutputIterator
-regex_replace(_OutputIterator __output_iter,
-              _BidirectionalIterator __first, _BidirectionalIterator __last,
-              const basic_regex<_CharT, _Traits>& __e,
-              const basic_string<_CharT, _ST, _SA>& __fmt,
-              regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    return _VSTD::regex_replace(__output_iter, __first, __last, __e, __fmt.c_str(), __flags);
-}
-
-template <class _Traits, class _CharT, class _ST, class _SA, class _FST,
-          class _FSA>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _ST, _SA>
-regex_replace(const basic_string<_CharT, _ST, _SA>& __s,
-              const basic_regex<_CharT, _Traits>& __e,
-              const basic_string<_CharT, _FST, _FSA>& __fmt,
-              regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    basic_string<_CharT, _ST, _SA> __r;
-    _VSTD::regex_replace(back_inserter(__r), __s.begin(), __s.end(), __e,
-                        __fmt.c_str(), __flags);
-    return __r;
-}
-
-template <class _Traits, class _CharT, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _ST, _SA>
-regex_replace(const basic_string<_CharT, _ST, _SA>& __s,
-              const basic_regex<_CharT, _Traits>& __e, const _CharT* __fmt,
-              regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    basic_string<_CharT, _ST, _SA> __r;
-    _VSTD::regex_replace(back_inserter(__r), __s.begin(), __s.end(), __e,
-                        __fmt, __flags);
-    return __r;
-}
-
-template <class _Traits, class _CharT, class _ST, class _SA>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT>
-regex_replace(const _CharT* __s,
-              const basic_regex<_CharT, _Traits>& __e,
-              const basic_string<_CharT, _ST, _SA>& __fmt,
-              regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    basic_string<_CharT> __r;
-    _VSTD::regex_replace(back_inserter(__r), __s,
-                        __s + char_traits<_CharT>::length(__s), __e,
-                        __fmt.c_str(), __flags);
-    return __r;
-}
-
-template <class _Traits, class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT>
-regex_replace(const _CharT* __s,
-              const basic_regex<_CharT, _Traits>& __e,
-              const _CharT* __fmt,
-              regex_constants::match_flag_type __flags = regex_constants::match_default)
-{
-    basic_string<_CharT> __r;
-    _VSTD::regex_replace(back_inserter(__r), __s,
-                        __s + char_traits<_CharT>::length(__s), __e,
-                        __fmt, __flags);
-    return __r;
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_REGEX
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/span b/r21/sources/cxx-stl/llvm-libc++/include/span
deleted file mode 100644
index 0694f51..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/span
+++ /dev/null
@@ -1,591 +0,0 @@
-// -*- C++ -*-
-//===------------------------------ span ---------------------------------===//
-//
-// 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
-//
-//===---------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SPAN
-#define _LIBCPP_SPAN
-
-/*
-    span synopsis
-
-namespace std {
-
-// constants
-inline constexpr size_t dynamic_extent = numeric_limits<size_t>::max();
-
-// [views.span], class template span
-template <class ElementType, size_t Extent = dynamic_extent>
-    class span;
-
-// [span.objectrep], views of object representation
-template <class ElementType, size_t Extent>
-    span<const byte, ((Extent == dynamic_extent) ? dynamic_extent :
-        (sizeof(ElementType) * Extent))> as_bytes(span<ElementType, Extent> s) noexcept;
-
-template <class ElementType, size_t Extent>
-    span<      byte, ((Extent == dynamic_extent) ? dynamic_extent :
-        (sizeof(ElementType) * Extent))> as_writable_bytes(span<ElementType, Extent> s) noexcept;
-
-
-namespace std {
-template <class ElementType, size_t Extent = dynamic_extent>
-class span {
-public:
-    // constants and types
-    using element_type = ElementType;
-    using value_type = remove_cv_t<ElementType>;
-    using index_type = size_t;
-    using difference_type = ptrdiff_t;
-    using pointer = element_type*;
-    using const_pointer = const element_type*;
-    using reference = element_type&;
-    using const_reference = const element_type&;
-    using iterator = implementation-defined;
-    using const_iterator = implementation-defined;
-    using reverse_iterator = std::reverse_iterator<iterator>;
-    using const_reverse_iterator = std::reverse_iterator<const_iterator>;
-    static constexpr index_type extent = Extent;
-
-    // [span.cons], span constructors, copy, assignment, and destructor
-    constexpr span() noexcept;
-    constexpr span(pointer ptr, index_type count);
-    constexpr span(pointer firstElem, pointer lastElem);
-    template <size_t N>
-        constexpr span(element_type (&arr)[N]) noexcept;
-    template <size_t N>
-        constexpr span(array<value_type, N>& arr) noexcept;
-    template <size_t N>
-        constexpr span(const array<value_type, N>& arr) noexcept;
-    template <class Container>
-        constexpr span(Container& cont);
-    template <class Container>
-        constexpr span(const Container& cont);
-    constexpr span(const span& other) noexcept = default;
-    template <class OtherElementType, size_t OtherExtent>
-        constexpr span(const span<OtherElementType, OtherExtent>& s) noexcept;
-    ~span() noexcept = default;
-    constexpr span& operator=(const span& other) noexcept = default;
-
-    // [span.sub], span subviews
-    template <size_t Count>
-        constexpr span<element_type, Count> first() const;
-    template <size_t Count>
-        constexpr span<element_type, Count> last() const;
-    template <size_t Offset, size_t Count = dynamic_extent>
-        constexpr span<element_type, see below> subspan() const;
-
-    constexpr span<element_type, dynamic_extent> first(index_type count) const;
-    constexpr span<element_type, dynamic_extent> last(index_type count) const;
-    constexpr span<element_type, dynamic_extent> subspan(index_type offset, index_type count = dynamic_extent) const;
-
-    // [span.obs], span observers
-    constexpr index_type size() const noexcept;
-    constexpr index_type size_bytes() const noexcept;
-    constexpr bool empty() const noexcept;
-
-    // [span.elem], span element access
-    constexpr reference operator[](index_type idx) const;
-    constexpr reference front() const;
-    constexpr reference back() const;
-    constexpr pointer data() const noexcept;
-
-    // [span.iterators], span iterator support
-    constexpr iterator begin() const noexcept;
-    constexpr iterator end() const noexcept;
-    constexpr const_iterator cbegin() const noexcept;
-    constexpr const_iterator cend() const noexcept;
-    constexpr reverse_iterator rbegin() const noexcept;
-    constexpr reverse_iterator rend() const noexcept;
-    constexpr const_reverse_iterator crbegin() const noexcept;
-    constexpr const_reverse_iterator crend() const noexcept;
-
-private:
-    pointer data_;     // exposition only
-    index_type size_;  // exposition only
-};
-
-template<class T, size_t N>
-    span(T (&)[N]) -> span<T, N>;
-
-template<class T, size_t N>
-    span(array<T, N>&) -> span<T, N>;
-
-template<class T, size_t N>
-    span(const array<T, N>&) -> span<const T, N>;
-
-template<class Container>
-    span(Container&) -> span<typename Container::value_type>;
-
-template<class Container>
-    span(const Container&) -> span<const typename Container::value_type>;
-
-} // namespace std
-
-*/
-
-#include <__config>
-#include <cstddef>      // for ptrdiff_t
-#include <iterator>     // for iterators
-#include <array>        // for array
-#include <type_traits>  // for remove_cv, etc
-#include <cstddef>      // for byte
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER > 17
-
-inline constexpr size_t dynamic_extent = numeric_limits<size_t>::max();
-template <typename _Tp, size_t _Extent = dynamic_extent> class span;
-
-
-template <class _Tp>
-struct __is_span_impl : public false_type {};
-
-template <class _Tp, size_t _Extent>
-struct __is_span_impl<span<_Tp, _Extent>> : public true_type {};
-
-template <class _Tp>
-struct __is_span : public __is_span_impl<remove_cv_t<_Tp>> {};
-
-template <class _Tp>
-struct __is_std_array_impl : public false_type {};
-
-template <class _Tp, size_t _Sz>
-struct __is_std_array_impl<array<_Tp, _Sz>> : public true_type {};
-
-template <class _Tp>
-struct __is_std_array : public __is_std_array_impl<remove_cv_t<_Tp>> {};
-
-template <class _Tp, class _ElementType, class = void>
-struct __is_span_compatible_container : public false_type {};
-
-template <class _Tp, class _ElementType>
-struct __is_span_compatible_container<_Tp, _ElementType,
-        void_t<
-        // is not a specialization of span
-            typename enable_if<!__is_span<_Tp>::value, nullptr_t>::type,
-        // is not a specialization of array
-            typename enable_if<!__is_std_array<_Tp>::value, nullptr_t>::type,
-        // is_array_v<Container> is false,
-            typename enable_if<!is_array_v<_Tp>, nullptr_t>::type,
-        // data(cont) and size(cont) are well formed
-            decltype(data(declval<_Tp>())),
-            decltype(size(declval<_Tp>())),
-        // remove_pointer_t<decltype(data(cont))>(*)[] is convertible to ElementType(*)[]
-            typename enable_if<
-                is_convertible_v<remove_pointer_t<decltype(data(declval<_Tp &>()))>(*)[],
-                                 _ElementType(*)[]>,
-                nullptr_t>::type
-        >>
-    : public true_type {};
-
-
-template <typename _Tp, size_t _Extent>
-class _LIBCPP_TEMPLATE_VIS span {
-public:
-//  constants and types
-    using element_type           = _Tp;
-    using value_type             = remove_cv_t<_Tp>;
-    using index_type             = size_t;
-    using difference_type        = ptrdiff_t;
-    using pointer                = _Tp *;
-    using const_pointer          = const _Tp *;
-    using reference              = _Tp &;
-    using const_reference        = const _Tp &;
-    using iterator               =  __wrap_iter<pointer>;
-    using const_iterator         =  __wrap_iter<const_pointer>;
-    using reverse_iterator       = _VSTD::reverse_iterator<iterator>;
-    using const_reverse_iterator = _VSTD::reverse_iterator<const_iterator>;
-
-    static constexpr index_type extent = _Extent;
-
-// [span.cons], span constructors, copy, assignment, and destructor
-    _LIBCPP_INLINE_VISIBILITY constexpr span() noexcept : __data{nullptr}
-    { static_assert(_Extent == 0, "Can't default construct a statically sized span with size > 0"); }
-
-    constexpr span           (const span&) noexcept = default;
-    constexpr span& operator=(const span&) noexcept = default;
-
-    _LIBCPP_INLINE_VISIBILITY constexpr span(pointer __ptr, index_type __count) : __data{__ptr}
-        { (void)__count; _LIBCPP_ASSERT(_Extent == __count, "size mismatch in span's constructor (ptr, len)"); }
-    _LIBCPP_INLINE_VISIBILITY constexpr span(pointer __f, pointer __l) : __data{__f}
-        { (void)__l;     _LIBCPP_ASSERT(_Extent == distance(__f, __l), "size mismatch in span's constructor (ptr, ptr)"); }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr span(element_type (&__arr)[_Extent])          noexcept : __data{__arr} {}
-    _LIBCPP_INLINE_VISIBILITY constexpr span(      array<value_type, _Extent>& __arr) noexcept : __data{__arr.data()} {}
-    _LIBCPP_INLINE_VISIBILITY constexpr span(const array<value_type, _Extent>& __arr) noexcept : __data{__arr.data()} {}
-
-    template <class _OtherElementType>
-    _LIBCPP_INLINE_VISIBILITY
-        constexpr span(const span<_OtherElementType, _Extent>& __other,
-                       enable_if_t<
-                          is_convertible_v<_OtherElementType(*)[], element_type (*)[]>,
-                          nullptr_t> = nullptr)
-        : __data{__other.data()} {}
-
-    template <class _OtherElementType>
-    _LIBCPP_INLINE_VISIBILITY
-        constexpr span(const span<_OtherElementType, dynamic_extent>& __other,
-                       enable_if_t<
-                          is_convertible_v<_OtherElementType(*)[], element_type (*)[]>,
-                          nullptr_t> = nullptr) noexcept
-        : __data{__other.data()} { _LIBCPP_ASSERT(_Extent == __other.size(), "size mismatch in span's constructor (other span)"); }
-
-
-//  ~span() noexcept = default;
-
-    template <size_t _Count>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, _Count> first() const noexcept
-    {
-        static_assert(_Count <= _Extent, "Count out of range in span::first()");
-        return {data(), _Count};
-    }
-
-    template <size_t _Count>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, _Count> last() const noexcept
-    {
-        static_assert(_Count <= _Extent, "Count out of range in span::last()");
-        return {data() + size() - _Count, _Count};
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, dynamic_extent> first(index_type __count) const noexcept
-    {
-        _LIBCPP_ASSERT(__count <= size(), "Count out of range in span::first(count)");
-        return {data(), __count};
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, dynamic_extent> last(index_type __count) const noexcept
-    {
-        _LIBCPP_ASSERT(__count <= size(), "Count out of range in span::last(count)");
-        return {data() + size() - __count, __count};
-    }
-
-    template <size_t _Offset, size_t _Count = dynamic_extent>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr auto subspan() const noexcept
-        -> span<element_type, _Count != dynamic_extent ? _Count : _Extent - _Offset>
-    {
-        static_assert(_Offset <= _Extent, "Offset out of range in span::subspan()");
-        return {data() + _Offset, _Count == dynamic_extent ? size() - _Offset : _Count};
-    }
-
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, dynamic_extent>
-       subspan(index_type __offset, index_type __count = dynamic_extent) const noexcept
-    {
-        _LIBCPP_ASSERT(__offset <= size(), "Offset out of range in span::subspan(offset, count)");
-        _LIBCPP_ASSERT(__count  <= size() || __count == dynamic_extent, "Count out of range in span::subspan(offset, count)");
-        if (__count == dynamic_extent)
-            return {data() + __offset, size() - __offset};
-        _LIBCPP_ASSERT(__offset <= size() - __count, "count + offset out of range in span::subspan(offset, count)");
-        return {data() + __offset, __count};
-    }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr index_type size()       const noexcept { return _Extent; }
-    _LIBCPP_INLINE_VISIBILITY constexpr index_type size_bytes() const noexcept { return _Extent * sizeof(element_type); }
-    _LIBCPP_INLINE_VISIBILITY constexpr bool empty()            const noexcept { return _Extent == 0; }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr reference operator[](index_type __idx) const noexcept
-    {
-        _LIBCPP_ASSERT(__idx >= 0 && __idx < size(), "span<T,N>[] index out of bounds");
-        return __data[__idx];
-    }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr reference front() const noexcept
-    {
-        static_assert(_Extent > 0, "span<T,N>[].front() on empty span");
-        return __data[0];
-    }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr reference back() const noexcept
-    {
-        static_assert(_Extent > 0, "span<T,N>[].back() on empty span");
-        return __data[size()-1];
-    }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr pointer data()                         const noexcept { return __data; }
-
-// [span.iter], span iterator support
-    _LIBCPP_INLINE_VISIBILITY constexpr iterator                 begin() const noexcept { return iterator(data()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr iterator                   end() const noexcept { return iterator(data() + size()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr const_iterator          cbegin() const noexcept { return const_iterator(data()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr const_iterator            cend() const noexcept { return const_iterator(data() + size()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr reverse_iterator        rbegin() const noexcept { return reverse_iterator(end()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr reverse_iterator          rend() const noexcept { return reverse_iterator(begin()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(cend()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr const_reverse_iterator   crend() const noexcept { return const_reverse_iterator(cbegin()); }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr void swap(span &__other) noexcept
-    {
-        pointer __p = __data;
-        __data = __other.__data;
-        __other.__data = __p;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY span<const byte, _Extent * sizeof(element_type)> __as_bytes() const noexcept
-    { return {reinterpret_cast<const byte *>(data()), size_bytes()}; }
-
-    _LIBCPP_INLINE_VISIBILITY span<byte, _Extent * sizeof(element_type)> __as_writable_bytes() const noexcept
-    { return {reinterpret_cast<byte *>(data()), size_bytes()}; }
-
-private:
-    pointer    __data;
-
-};
-
-
-template <typename _Tp>
-class _LIBCPP_TEMPLATE_VIS span<_Tp, dynamic_extent> {
-private:
-
-public:
-//  constants and types
-    using element_type           = _Tp;
-    using value_type             = remove_cv_t<_Tp>;
-    using index_type             = size_t;
-    using difference_type        = ptrdiff_t;
-    using pointer                = _Tp *;
-    using const_pointer          = const _Tp *;
-    using reference              = _Tp &;
-    using const_reference        = const _Tp &;
-    using iterator               =  __wrap_iter<pointer>;
-    using const_iterator         =  __wrap_iter<const_pointer>;
-    using reverse_iterator       = _VSTD::reverse_iterator<iterator>;
-    using const_reverse_iterator = _VSTD::reverse_iterator<const_iterator>;
-
-    static constexpr index_type extent = dynamic_extent;
-
-// [span.cons], span constructors, copy, assignment, and destructor
-    _LIBCPP_INLINE_VISIBILITY constexpr span() noexcept : __data{nullptr}, __size{0} {}
-
-    constexpr span           (const span&) noexcept = default;
-    constexpr span& operator=(const span&) noexcept = default;
-
-    _LIBCPP_INLINE_VISIBILITY constexpr span(pointer __ptr, index_type __count) : __data{__ptr}, __size{__count} {}
-    _LIBCPP_INLINE_VISIBILITY constexpr span(pointer __f, pointer __l) : __data{__f}, __size{static_cast<size_t>(distance(__f, __l))} {}
-
-    template <size_t _Sz>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span(element_type (&__arr)[_Sz])          noexcept : __data{__arr}, __size{_Sz} {}
-
-    template <size_t _Sz>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span(array<value_type, _Sz>& __arr)       noexcept : __data{__arr.data()}, __size{_Sz} {}
-
-    template <size_t _Sz>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span(const array<value_type, _Sz>& __arr) noexcept : __data{__arr.data()}, __size{_Sz} {}
-
-    template <class _Container>
-    _LIBCPP_INLINE_VISIBILITY
-        constexpr span(      _Container& __c,
-            enable_if_t<__is_span_compatible_container<_Container, _Tp>::value, nullptr_t> = nullptr)
-        : __data{_VSTD::data(__c)}, __size{(index_type) _VSTD::size(__c)} {}
-
-    template <class _Container>
-    _LIBCPP_INLINE_VISIBILITY
-        constexpr span(const _Container& __c,
-            enable_if_t<__is_span_compatible_container<const _Container, _Tp>::value, nullptr_t> = nullptr)
-        : __data{_VSTD::data(__c)}, __size{(index_type) _VSTD::size(__c)} {}
-
-
-    template <class _OtherElementType, size_t _OtherExtent>
-    _LIBCPP_INLINE_VISIBILITY
-        constexpr span(const span<_OtherElementType, _OtherExtent>& __other,
-                       enable_if_t<
-                          is_convertible_v<_OtherElementType(*)[], element_type (*)[]>,
-                          nullptr_t> = nullptr) noexcept
-        : __data{__other.data()}, __size{__other.size()} {}
-
-//    ~span() noexcept = default;
-
-    template <size_t _Count>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, _Count> first() const noexcept
-    {
-        _LIBCPP_ASSERT(_Count <= size(), "Count out of range in span::first()");
-        return {data(), _Count};
-    }
-
-    template <size_t _Count>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, _Count> last() const noexcept
-    {
-        _LIBCPP_ASSERT(_Count <= size(), "Count out of range in span::last()");
-        return {data() + size() - _Count, _Count};
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, dynamic_extent> first(index_type __count) const noexcept
-    {
-        _LIBCPP_ASSERT(__count <= size(), "Count out of range in span::first(count)");
-        return {data(), __count};
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<element_type, dynamic_extent> last (index_type __count) const noexcept
-    {
-        _LIBCPP_ASSERT(__count <= size(), "Count out of range in span::last(count)");
-        return {data() + size() - __count, __count};
-    }
-
-    template <size_t _Offset, size_t _Count = dynamic_extent>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr span<_Tp, dynamic_extent> subspan() const noexcept
-    {
-        _LIBCPP_ASSERT(_Offset <= size(), "Offset out of range in span::subspan()");
-        _LIBCPP_ASSERT(_Count == dynamic_extent || _Offset + _Count <= size(), "Count out of range in span::subspan()");
-        return {data() + _Offset, _Count == dynamic_extent ? size() - _Offset : _Count};
-    }
-
-    constexpr span<element_type, dynamic_extent>
-    _LIBCPP_INLINE_VISIBILITY
-    subspan(index_type __offset, index_type __count = dynamic_extent) const noexcept
-    {
-        _LIBCPP_ASSERT(__offset <= size(), "Offset out of range in span::subspan(offset, count)");
-        _LIBCPP_ASSERT(__count  <= size() || __count == dynamic_extent, "count out of range in span::subspan(offset, count)");
-        if (__count == dynamic_extent)
-            return {data() + __offset, size() - __offset};
-        _LIBCPP_ASSERT(__offset <= size() - __count, "Offset + count out of range in span::subspan(offset, count)");
-        return {data() + __offset, __count};
-    }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr index_type size()       const noexcept { return __size; }
-    _LIBCPP_INLINE_VISIBILITY constexpr index_type size_bytes() const noexcept { return __size * sizeof(element_type); }
-    _LIBCPP_INLINE_VISIBILITY constexpr bool empty()            const noexcept { return __size == 0; }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr reference operator[](index_type __idx) const noexcept
-    {
-        _LIBCPP_ASSERT(__idx >= 0 && __idx < size(), "span<T>[] index out of bounds");
-        return __data[__idx];
-    }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr reference front() const noexcept
-    {
-        _LIBCPP_ASSERT(!empty(), "span<T>[].front() on empty span");
-        return __data[0];
-    }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr reference back() const noexcept
-    {
-        _LIBCPP_ASSERT(!empty(), "span<T>[].back() on empty span");
-        return __data[size()-1];
-    }
-
-
-    _LIBCPP_INLINE_VISIBILITY constexpr pointer data()                         const noexcept { return __data; }
-
-// [span.iter], span iterator support
-    _LIBCPP_INLINE_VISIBILITY constexpr iterator                 begin() const noexcept { return iterator(data()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr iterator                   end() const noexcept { return iterator(data() + size()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr const_iterator          cbegin() const noexcept { return const_iterator(data()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr const_iterator            cend() const noexcept { return const_iterator(data() + size()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr reverse_iterator        rbegin() const noexcept { return reverse_iterator(end()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr reverse_iterator          rend() const noexcept { return reverse_iterator(begin()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(cend()); }
-    _LIBCPP_INLINE_VISIBILITY constexpr const_reverse_iterator   crend() const noexcept { return const_reverse_iterator(cbegin()); }
-
-    _LIBCPP_INLINE_VISIBILITY constexpr void swap(span &__other) noexcept
-    {
-        pointer __p = __data;
-        __data = __other.__data;
-        __other.__data = __p;
-
-        index_type __sz = __size;
-        __size = __other.__size;
-        __other.__size = __sz;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY span<const byte, dynamic_extent> __as_bytes() const noexcept
-    { return {reinterpret_cast<const byte *>(data()), size_bytes()}; }
-
-    _LIBCPP_INLINE_VISIBILITY span<byte, dynamic_extent> __as_writable_bytes() const noexcept
-    { return {reinterpret_cast<byte *>(data()), size_bytes()}; }
-
-private:
-    pointer    __data;
-    index_type __size;
-};
-
-//  tuple interface
-template <class _Tp, size_t _Size>
-struct _LIBCPP_TEMPLATE_VIS tuple_size<span<_Tp, _Size>>
-    : public integral_constant<size_t, _Size> {};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS tuple_size<span<_Tp, dynamic_extent>>; // declared but not defined
-
-
-template <size_t _Ip, class _Tp, size_t _Size>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, span<_Tp, _Size>>
-{
-    static_assert( dynamic_extent != _Size, "std::tuple_element<> not supported for std::span<T, dynamic_extent>");
-    static_assert(_Ip < _Size, "Index out of bounds in std::tuple_element<> (std::span)");
-    typedef _Tp type;
-};
-
-template <size_t _Ip, class _Tp, size_t _Size>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_Tp&
-get(span<_Tp, _Size> __s) noexcept
-{
-    static_assert( dynamic_extent != _Size, "std::get<> not supported for std::span<T, dynamic_extent>");
-    static_assert(_Ip < _Size, "Index out of bounds in std::get<> (std::span)");
-    return __s[_Ip];
-}
-
-
-//  as_bytes & as_writable_bytes
-template <class _Tp, size_t _Extent>
-_LIBCPP_INLINE_VISIBILITY
-auto as_bytes(span<_Tp, _Extent> __s) noexcept
--> decltype(__s.__as_bytes())
-{ return    __s.__as_bytes(); }
-
-template <class _Tp, size_t _Extent>
-_LIBCPP_INLINE_VISIBILITY
-auto as_writable_bytes(span<_Tp, _Extent> __s) noexcept
--> enable_if_t<!is_const_v<_Tp>, decltype(__s.__as_writable_bytes())>
-{ return __s.__as_writable_bytes(); }
-
-template <class _Tp, size_t _Extent>
-_LIBCPP_INLINE_VISIBILITY
-constexpr void swap(span<_Tp, _Extent> &__lhs, span<_Tp, _Extent> &__rhs) noexcept
-{ __lhs.swap(__rhs); }
-
-
-//  Deduction guides
-template<class _Tp, size_t _Sz>
-    span(_Tp (&)[_Sz]) -> span<_Tp, _Sz>;
-
-template<class _Tp, size_t _Sz>
-    span(array<_Tp, _Sz>&) -> span<_Tp, _Sz>;
-
-template<class _Tp, size_t _Sz>
-    span(const array<_Tp, _Sz>&) -> span<const _Tp, _Sz>;
-
-template<class _Container>
-    span(_Container&) -> span<typename _Container::value_type>;
-
-template<class _Container>
-    span(const _Container&) -> span<const typename _Container::value_type>;
-
-#endif // _LIBCPP_STD_VER > 17
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP_SPAN
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/stddef.h b/r21/sources/cxx-stl/llvm-libc++/include/stddef.h
deleted file mode 100644
index 6497dcd..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/stddef.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- stddef.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#if defined(__need_ptrdiff_t) || defined(__need_size_t) || \
-    defined(__need_wchar_t) || defined(__need_NULL) || defined(__need_wint_t)
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <stddef.h>
-
-#elif !defined(_LIBCPP_STDDEF_H)
-#define _LIBCPP_STDDEF_H
-
-/*
-    stddef.h synopsis
-
-Macros:
-
-    offsetof(type,member-designator)
-    NULL
-
-Types:
-
-    ptrdiff_t
-    size_t
-    max_align_t
-    nullptr_t
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <stddef.h>
-
-#ifdef __cplusplus
-
-extern "C++" {
-#include <__nullptr>
-using std::nullptr_t;
-}
-
-// Re-use the compiler's <stddef.h> max_align_t where possible.
-#if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T) && \
-    !defined(__DEFINED_max_align_t) && !defined(__NetBSD__)
-typedef long double max_align_t;
-#endif
-
-#endif
-
-#endif  // _LIBCPP_STDDEF_H
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/stdexcept b/r21/sources/cxx-stl/llvm-libc++/include/stdexcept
deleted file mode 100644
index 481f904..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/stdexcept
+++ /dev/null
@@ -1,304 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- stdexcept --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STDEXCEPT
-#define _LIBCPP_STDEXCEPT
-
-/*
-    stdexcept synopsis
-
-namespace std
-{
-
-class logic_error;
-    class domain_error;
-    class invalid_argument;
-    class length_error;
-    class out_of_range;
-class runtime_error;
-    class range_error;
-    class overflow_error;
-    class underflow_error;
-
-for each class xxx_error:
-
-class xxx_error : public exception // at least indirectly
-{
-public:
-    explicit xxx_error(const string& what_arg);
-    explicit xxx_error(const char*   what_arg);
-
-    virtual const char* what() const noexcept // returns what_arg
-};
-
-}  // std
-
-*/
-
-#include <__config>
-#include <exception>
-#include <iosfwd>  // for string forward decl
-#ifdef _LIBCPP_NO_EXCEPTIONS
-#include <cstdlib>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifndef _LIBCPP_ABI_VCRUNTIME
-class _LIBCPP_HIDDEN __libcpp_refstring
-{
-    const char* __imp_;
-
-    bool __uses_refcount() const;
-public:
-    explicit __libcpp_refstring(const char* __msg);
-    __libcpp_refstring(const __libcpp_refstring& __s) _NOEXCEPT;
-    __libcpp_refstring& operator=(const __libcpp_refstring& __s) _NOEXCEPT;
-    ~__libcpp_refstring();
-
-    const char* c_str() const _NOEXCEPT {return __imp_;}
-};
-#endif // !_LIBCPP_ABI_VCRUNTIME
-
-_LIBCPP_END_NAMESPACE_STD
-
-namespace std  // purposefully not using versioning namespace
-{
-
-class _LIBCPP_EXCEPTION_ABI logic_error
-    : public exception
-{
-#ifndef _LIBCPP_ABI_VCRUNTIME
-private:
-    _VSTD::__libcpp_refstring __imp_;
-public:
-    explicit logic_error(const string&);
-    explicit logic_error(const char*);
-
-    logic_error(const logic_error&) _NOEXCEPT;
-    logic_error& operator=(const logic_error&) _NOEXCEPT;
-
-    virtual ~logic_error() _NOEXCEPT;
-
-    virtual const char* what() const _NOEXCEPT;
-#else
-public:
-    explicit logic_error(const _VSTD::string&); // Symbol uses versioned std::string
-    _LIBCPP_INLINE_VISIBILITY explicit logic_error(const char* __s) : exception(__s) {}
-#endif
-};
-
-class _LIBCPP_EXCEPTION_ABI runtime_error
-    : public exception
-{
-#ifndef _LIBCPP_ABI_VCRUNTIME
-private:
-    _VSTD::__libcpp_refstring __imp_;
-public:
-    explicit runtime_error(const string&);
-    explicit runtime_error(const char*);
-
-    runtime_error(const runtime_error&) _NOEXCEPT;
-    runtime_error& operator=(const runtime_error&) _NOEXCEPT;
-
-    virtual ~runtime_error() _NOEXCEPT;
-
-    virtual const char* what() const _NOEXCEPT;
-#else
-public:
-   explicit runtime_error(const _VSTD::string&); // Symbol uses versioned std::string
-   _LIBCPP_INLINE_VISIBILITY explicit runtime_error(const char* __s) : exception(__s) {}
-#endif // _LIBCPP_ABI_VCRUNTIME
-};
-
-class _LIBCPP_EXCEPTION_ABI domain_error
-    : public logic_error
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit domain_error(const string& __s) : logic_error(__s) {}
-    _LIBCPP_INLINE_VISIBILITY explicit domain_error(const char* __s)   : logic_error(__s) {}
-
-#ifndef _LIBCPP_ABI_VCRUNTIME
-    virtual ~domain_error() _NOEXCEPT;
-#endif
-};
-
-class _LIBCPP_EXCEPTION_ABI invalid_argument
-    : public logic_error
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const string& __s) : logic_error(__s) {}
-    _LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const char* __s)   : logic_error(__s) {}
-
-#ifndef _LIBCPP_ABI_VCRUNTIME
-    virtual ~invalid_argument() _NOEXCEPT;
-#endif
-};
-
-class _LIBCPP_EXCEPTION_ABI length_error
-    : public logic_error
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit length_error(const string& __s) : logic_error(__s) {}
-    _LIBCPP_INLINE_VISIBILITY explicit length_error(const char* __s)   : logic_error(__s) {}
-#ifndef _LIBCPP_ABI_VCRUNTIME
-    virtual ~length_error() _NOEXCEPT;
-#endif
-};
-
-class _LIBCPP_EXCEPTION_ABI out_of_range
-    : public logic_error
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit out_of_range(const string& __s) : logic_error(__s) {}
-    _LIBCPP_INLINE_VISIBILITY explicit out_of_range(const char* __s)   : logic_error(__s) {}
-
-#ifndef _LIBCPP_ABI_VCRUNTIME
-    virtual ~out_of_range() _NOEXCEPT;
-#endif
-};
-
-class _LIBCPP_EXCEPTION_ABI range_error
-    : public runtime_error
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit range_error(const string& __s) : runtime_error(__s) {}
-    _LIBCPP_INLINE_VISIBILITY explicit range_error(const char* __s)   : runtime_error(__s) {}
-
-#ifndef _LIBCPP_ABI_VCRUNTIME
-    virtual ~range_error() _NOEXCEPT;
-#endif
-};
-
-class _LIBCPP_EXCEPTION_ABI overflow_error
-    : public runtime_error
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit overflow_error(const string& __s) : runtime_error(__s) {}
-    _LIBCPP_INLINE_VISIBILITY explicit overflow_error(const char* __s)   : runtime_error(__s) {}
-
-#ifndef _LIBCPP_ABI_VCRUNTIME
-    virtual ~overflow_error() _NOEXCEPT;
-#endif
-};
-
-class _LIBCPP_EXCEPTION_ABI underflow_error
-    : public runtime_error
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY explicit underflow_error(const string& __s) : runtime_error(__s) {}
-    _LIBCPP_INLINE_VISIBILITY explicit underflow_error(const char* __s)   : runtime_error(__s) {}
-
-#ifndef _LIBCPP_ABI_VCRUNTIME
-    virtual ~underflow_error() _NOEXCEPT;
-#endif
-};
-
-}  // std
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// in the dylib
-_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void __throw_runtime_error(const char*);
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_logic_error(const char*__msg)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw logic_error(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_domain_error(const char*__msg)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw domain_error(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_invalid_argument(const char*__msg)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw invalid_argument(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_length_error(const char*__msg)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw length_error(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_out_of_range(const char*__msg)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw out_of_range(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_range_error(const char*__msg)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw range_error(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_overflow_error(const char*__msg)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw overflow_error(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_underflow_error(const char*__msg)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw underflow_error(__msg);
-#else
-    ((void)__msg);
-    _VSTD::abort();
-#endif
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_STDEXCEPT
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/string b/r21/sources/cxx-stl/llvm-libc++/include/string
deleted file mode 100644
index 8adf6d9..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/string
+++ /dev/null
@@ -1,4365 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- string -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STRING
-#define _LIBCPP_STRING
-
-/*
-    string synopsis
-
-namespace std
-{
-
-template <class stateT>
-class fpos
-{
-private:
-    stateT st;
-public:
-    fpos(streamoff = streamoff());
-
-    operator streamoff() const;
-
-    stateT state() const;
-    void state(stateT);
-
-    fpos& operator+=(streamoff);
-    fpos  operator+ (streamoff) const;
-    fpos& operator-=(streamoff);
-    fpos  operator- (streamoff) const;
-};
-
-template <class stateT> streamoff operator-(const fpos<stateT>& x, const fpos<stateT>& y);
-
-template <class stateT> bool operator==(const fpos<stateT>& x, const fpos<stateT>& y);
-template <class stateT> bool operator!=(const fpos<stateT>& x, const fpos<stateT>& y);
-
-template <class charT>
-struct char_traits
-{
-    typedef charT     char_type;
-    typedef ...       int_type;
-    typedef streamoff off_type;
-    typedef streampos pos_type;
-    typedef mbstate_t state_type;
-
-    static void assign(char_type& c1, const char_type& c2) noexcept;
-    static constexpr bool eq(char_type c1, char_type c2) noexcept;
-    static constexpr bool lt(char_type c1, char_type c2) noexcept;
-
-    static int              compare(const char_type* s1, const char_type* s2, size_t n);
-    static size_t           length(const char_type* s);
-    static const char_type* find(const char_type* s, size_t n, const char_type& a);
-    static char_type*       move(char_type* s1, const char_type* s2, size_t n);
-    static char_type*       copy(char_type* s1, const char_type* s2, size_t n);
-    static char_type*       assign(char_type* s, size_t n, char_type a);
-
-    static constexpr int_type  not_eof(int_type c) noexcept;
-    static constexpr char_type to_char_type(int_type c) noexcept;
-    static constexpr int_type  to_int_type(char_type c) noexcept;
-    static constexpr bool      eq_int_type(int_type c1, int_type c2) noexcept;
-    static constexpr int_type  eof() noexcept;
-};
-
-template <> struct char_traits<char>;
-template <> struct char_traits<wchar_t>;
-
-template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-class basic_string
-{
-public:
-// types:
-    typedef traits traits_type;
-    typedef typename traits_type::char_type value_type;
-    typedef Allocator allocator_type;
-    typedef typename allocator_type::size_type size_type;
-    typedef typename allocator_type::difference_type difference_type;
-    typedef typename allocator_type::reference reference;
-    typedef typename allocator_type::const_reference const_reference;
-    typedef typename allocator_type::pointer pointer;
-    typedef typename allocator_type::const_pointer const_pointer;
-    typedef implementation-defined iterator;
-    typedef implementation-defined const_iterator;
-    typedef std::reverse_iterator<iterator> reverse_iterator;
-    typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
-    static const size_type npos = -1;
-
-    basic_string()
-        noexcept(is_nothrow_default_constructible<allocator_type>::value);
-    explicit basic_string(const allocator_type& a);
-    basic_string(const basic_string& str);
-    basic_string(basic_string&& str)
-        noexcept(is_nothrow_move_constructible<allocator_type>::value);
-    basic_string(const basic_string& str, size_type pos,
-                 const allocator_type& a = allocator_type());
-    basic_string(const basic_string& str, size_type pos, size_type n,
-                 const Allocator& a = Allocator());
-    template<class T>
-        basic_string(const T& t, size_type pos, size_type n, const Allocator& a = Allocator()); // C++17
-    template <class T>
-        explicit basic_string(const T& t, const Allocator& a = Allocator()); // C++17
-    basic_string(const value_type* s, const allocator_type& a = allocator_type());
-    basic_string(const value_type* s, size_type n, const allocator_type& a = allocator_type());
-    basic_string(size_type n, value_type c, const allocator_type& a = allocator_type());
-    template<class InputIterator>
-        basic_string(InputIterator begin, InputIterator end,
-                     const allocator_type& a = allocator_type());
-    basic_string(initializer_list<value_type>, const Allocator& = Allocator());
-    basic_string(const basic_string&, const Allocator&);
-    basic_string(basic_string&&, const Allocator&);
-
-    ~basic_string();
-
-    operator basic_string_view<charT, traits>() const noexcept;
-
-    basic_string& operator=(const basic_string& str);
-    template <class T>
-        basic_string& operator=(const T& t); // C++17
-    basic_string& operator=(basic_string&& str)
-        noexcept(
-             allocator_type::propagate_on_container_move_assignment::value ||
-             allocator_type::is_always_equal::value ); // C++17
-    basic_string& operator=(const value_type* s);
-    basic_string& operator=(value_type c);
-    basic_string& operator=(initializer_list<value_type>);
-
-    iterator       begin() noexcept;
-    const_iterator begin() const noexcept;
-    iterator       end() noexcept;
-    const_iterator end() const noexcept;
-
-    reverse_iterator       rbegin() noexcept;
-    const_reverse_iterator rbegin() const noexcept;
-    reverse_iterator       rend() noexcept;
-    const_reverse_iterator rend() const noexcept;
-
-    const_iterator         cbegin() const noexcept;
-    const_iterator         cend() const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend() const noexcept;
-
-    size_type size() const noexcept;
-    size_type length() const noexcept;
-    size_type max_size() const noexcept;
-    size_type capacity() const noexcept;
-
-    void resize(size_type n, value_type c);
-    void resize(size_type n);
-
-    void reserve(size_type res_arg = 0);
-    void shrink_to_fit();
-    void clear() noexcept;
-    bool empty() const noexcept;
-
-    const_reference operator[](size_type pos) const;
-    reference       operator[](size_type pos);
-
-    const_reference at(size_type n) const;
-    reference       at(size_type n);
-
-    basic_string& operator+=(const basic_string& str);
-    template <class T>
-        basic_string& operator+=(const T& t);              // C++17
-    basic_string& operator+=(const value_type* s);
-    basic_string& operator+=(value_type c);
-    basic_string& operator+=(initializer_list<value_type>);
-
-    basic_string& append(const basic_string& str);
-    template <class T>
-        basic_string& append(const T& t);                 // C++17
-    basic_string& append(const basic_string& str, size_type pos, size_type n=npos); //C++14
-    template <class T>
-        basic_string& append(const T& t, size_type pos, size_type n=npos); // C++17
-    basic_string& append(const value_type* s, size_type n);
-    basic_string& append(const value_type* s);
-    basic_string& append(size_type n, value_type c);
-    template<class InputIterator>
-        basic_string& append(InputIterator first, InputIterator last);
-    basic_string& append(initializer_list<value_type>);
-
-    void push_back(value_type c);
-    void pop_back();
-    reference       front();
-    const_reference front() const;
-    reference       back();
-    const_reference back() const;
-
-    basic_string& assign(const basic_string& str);
-    template <class T>
-        basic_string& assign(const T& t);  // C++17
-    basic_string& assign(basic_string&& str);
-    basic_string& assign(const basic_string& str, size_type pos, size_type n=npos); // C++14
-    template <class T>
-        basic_string& assign(const T& t, size_type pos, size_type n=npos); // C++17
-    basic_string& assign(const value_type* s, size_type n);
-    basic_string& assign(const value_type* s);
-    basic_string& assign(size_type n, value_type c);
-    template<class InputIterator>
-        basic_string& assign(InputIterator first, InputIterator last);
-    basic_string& assign(initializer_list<value_type>);
-
-    basic_string& insert(size_type pos1, const basic_string& str);
-    template <class T>
-        basic_string& insert(size_type pos1, const T& t);
-    basic_string& insert(size_type pos1, const basic_string& str,
-                         size_type pos2, size_type n);
-    template <class T>
-        basic_string& insert(size_type pos1, const T& t, size_type pos2, size_type n); // C++17
-    basic_string& insert(size_type pos, const value_type* s, size_type n=npos); //C++14
-    basic_string& insert(size_type pos, const value_type* s);
-    basic_string& insert(size_type pos, size_type n, value_type c);
-    iterator      insert(const_iterator p, value_type c);
-    iterator      insert(const_iterator p, size_type n, value_type c);
-    template<class InputIterator>
-        iterator insert(const_iterator p, InputIterator first, InputIterator last);
-    iterator      insert(const_iterator p, initializer_list<value_type>);
-
-    basic_string& erase(size_type pos = 0, size_type n = npos);
-    iterator      erase(const_iterator position);
-    iterator      erase(const_iterator first, const_iterator last);
-
-    basic_string& replace(size_type pos1, size_type n1, const basic_string& str);
-    template <class T>
-    basic_string& replace(size_type pos1, size_type n1, const T& t);  // C++17
-    basic_string& replace(size_type pos1, size_type n1, const basic_string& str,
-                          size_type pos2, size_type n2=npos); // C++14
-    template <class T>
-        basic_string& replace(size_type pos1, size_type n1, const T& t,
-                              size_type pos2, size_type n); // C++17
-    basic_string& replace(size_type pos, size_type n1, const value_type* s, size_type n2);
-    basic_string& replace(size_type pos, size_type n1, const value_type* s);
-    basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c);
-    basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str);
-    template <class T>
-        basic_string& replace(const_iterator i1, const_iterator i2, const T& t);  // C++17
-    basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s, size_type n);
-    basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s);
-    basic_string& replace(const_iterator i1, const_iterator i2, size_type n, value_type c);
-    template<class InputIterator>
-        basic_string& replace(const_iterator i1, const_iterator i2, InputIterator j1, InputIterator j2);
-    basic_string& replace(const_iterator i1, const_iterator i2, initializer_list<value_type>);
-
-    size_type copy(value_type* s, size_type n, size_type pos = 0) const;
-    basic_string substr(size_type pos = 0, size_type n = npos) const;
-
-    void swap(basic_string& str)
-        noexcept(allocator_traits<allocator_type>::propagate_on_container_swap::value ||
-                 allocator_traits<allocator_type>::is_always_equal::value);  // C++17
-
-    const value_type* c_str() const noexcept;
-    const value_type* data() const noexcept;
-          value_type* data()       noexcept;   // C++17
-
-    allocator_type get_allocator() const noexcept;
-
-    size_type find(const basic_string& str, size_type pos = 0) const noexcept;
-    template <class T>
-        size_type find(const T& t, size_type pos = 0) const;  // C++17
-    size_type find(const value_type* s, size_type pos, size_type n) const noexcept;
-    size_type find(const value_type* s, size_type pos = 0) const noexcept;
-    size_type find(value_type c, size_type pos = 0) const noexcept;
-
-    size_type rfind(const basic_string& str, size_type pos = npos) const noexcept;
-    template <class T>
-        size_type rfind(const T& t, size_type pos = npos) const;  // C++17
-    size_type rfind(const value_type* s, size_type pos, size_type n) const noexcept;
-    size_type rfind(const value_type* s, size_type pos = npos) const noexcept;
-    size_type rfind(value_type c, size_type pos = npos) const noexcept;
-
-    size_type find_first_of(const basic_string& str, size_type pos = 0) const noexcept;
-    template <class T>
-        size_type find_first_of(const T& t, size_type pos = 0) const; // C++17
-    size_type find_first_of(const value_type* s, size_type pos, size_type n) const noexcept;
-    size_type find_first_of(const value_type* s, size_type pos = 0) const noexcept;
-    size_type find_first_of(value_type c, size_type pos = 0) const noexcept;
-
-    size_type find_last_of(const basic_string& str, size_type pos = npos) const noexcept;
-    template <class T>
-        size_type find_last_of(const T& t, size_type pos = npos) const noexcept;  // C++17
-    size_type find_last_of(const value_type* s, size_type pos, size_type n) const noexcept;
-    size_type find_last_of(const value_type* s, size_type pos = npos) const noexcept;
-    size_type find_last_of(value_type c, size_type pos = npos) const noexcept;
-
-    size_type find_first_not_of(const basic_string& str, size_type pos = 0) const noexcept;
-    template <class T>
-        size_type find_first_not_of(const T& t, size_type pos = 0) const; // C++17
-    size_type find_first_not_of(const value_type* s, size_type pos, size_type n) const noexcept;
-    size_type find_first_not_of(const value_type* s, size_type pos = 0) const noexcept;
-    size_type find_first_not_of(value_type c, size_type pos = 0) const noexcept;
-
-    size_type find_last_not_of(const basic_string& str, size_type pos = npos) const noexcept;
-    template <class T>
-        size_type find_last_not_of(const T& t, size_type pos = npos) const; // C++17
-    size_type find_last_not_of(const value_type* s, size_type pos, size_type n) const noexcept;
-    size_type find_last_not_of(const value_type* s, size_type pos = npos) const noexcept;
-    size_type find_last_not_of(value_type c, size_type pos = npos) const noexcept;
-
-    int compare(const basic_string& str) const noexcept;
-    template <class T>
-        int compare(const T& t) const noexcept;  // C++17
-    int compare(size_type pos1, size_type n1, const basic_string& str) const;
-    template <class T>
-        int compare(size_type pos1, size_type n1, const T& t) const;  // C++17
-    int compare(size_type pos1, size_type n1, const basic_string& str,
-                size_type pos2, size_type n2=npos) const; // C++14
-    template <class T>
-        int compare(size_type pos1, size_type n1, const T& t,
-                    size_type pos2, size_type n2=npos) const; // C++17
-    int compare(const value_type* s) const noexcept;
-    int compare(size_type pos1, size_type n1, const value_type* s) const;
-    int compare(size_type pos1, size_type n1, const value_type* s, size_type n2) const;
-
-    bool starts_with(basic_string_view<charT, traits> sv) const noexcept; // C++2a
-    bool starts_with(charT c) const noexcept;                             // C++2a
-    bool starts_with(const charT* s) const;                               // C++2a
-    bool ends_with(basic_string_view<charT, traits> sv) const noexcept;   // C++2a
-    bool ends_with(charT c) const noexcept;                               // C++2a
-    bool ends_with(const charT* s) const;                                 // C++2a
-
-    bool __invariants() const;
-};
-
-template<class InputIterator,
-         class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
-basic_string(InputIterator, InputIterator, Allocator = Allocator())
-   -> basic_string<typename iterator_traits<InputIterator>::value_type,
-                  char_traits<typename iterator_traits<InputIterator>::value_type>,
-                  Allocator>;   // C++17
-
-template<class charT, class traits, class Allocator>
-basic_string<charT, traits, Allocator>
-operator+(const basic_string<charT, traits, Allocator>& lhs,
-          const basic_string<charT, traits, Allocator>& rhs);
-
-template<class charT, class traits, class Allocator>
-basic_string<charT, traits, Allocator>
-operator+(const charT* lhs , const basic_string<charT,traits,Allocator>&rhs);
-
-template<class charT, class traits, class Allocator>
-basic_string<charT, traits, Allocator>
-operator+(charT lhs, const basic_string<charT,traits,Allocator>& rhs);
-
-template<class charT, class traits, class Allocator>
-basic_string<charT, traits, Allocator>
-operator+(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs);
-
-template<class charT, class traits, class Allocator>
-basic_string<charT, traits, Allocator>
-operator+(const basic_string<charT, traits, Allocator>& lhs, charT rhs);
-
-template<class charT, class traits, class Allocator>
-bool operator==(const basic_string<charT, traits, Allocator>& lhs,
-                const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator==(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator==(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
-                const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator!=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator!=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator< (const basic_string<charT, traits, Allocator>& lhs,
-                const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator< (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator< (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator> (const basic_string<charT, traits, Allocator>& lhs,
-                const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator> (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator> (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator<=(const basic_string<charT, traits, Allocator>& lhs,
-                const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator<=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator<=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator>=(const basic_string<charT, traits, Allocator>& lhs,
-                const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator>=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-bool operator>=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
-
-template<class charT, class traits, class Allocator>
-void swap(basic_string<charT, traits, Allocator>& lhs,
-          basic_string<charT, traits, Allocator>& rhs)
-            noexcept(noexcept(lhs.swap(rhs)));
-
-template<class charT, class traits, class Allocator>
-basic_istream<charT, traits>&
-operator>>(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
-
-template<class charT, class traits, class Allocator>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& os, const basic_string<charT, traits, Allocator>& str);
-
-template<class charT, class traits, class Allocator>
-basic_istream<charT, traits>&
-getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str,
-        charT delim);
-
-template<class charT, class traits, class Allocator>
-basic_istream<charT, traits>&
-getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
-
-template<class charT, class traits, class Allocator, class U>
-void erase(basic_string<charT, traits, Allocator>& c, const U& value); // C++20
-template<class charT, class traits, class Allocator, class Predicate>
-void erase_if(basic_string<charT, traits, Allocator>& c, Predicate pred); // C++20
-
-typedef basic_string<char>    string;
-typedef basic_string<wchar_t> wstring;
-typedef basic_string<char16_t> u16string;
-typedef basic_string<char32_t> u32string;
-
-int                stoi  (const string& str, size_t* idx = 0, int base = 10);
-long               stol  (const string& str, size_t* idx = 0, int base = 10);
-unsigned long      stoul (const string& str, size_t* idx = 0, int base = 10);
-long long          stoll (const string& str, size_t* idx = 0, int base = 10);
-unsigned long long stoull(const string& str, size_t* idx = 0, int base = 10);
-
-float       stof (const string& str, size_t* idx = 0);
-double      stod (const string& str, size_t* idx = 0);
-long double stold(const string& str, size_t* idx = 0);
-
-string to_string(int val);
-string to_string(unsigned val);
-string to_string(long val);
-string to_string(unsigned long val);
-string to_string(long long val);
-string to_string(unsigned long long val);
-string to_string(float val);
-string to_string(double val);
-string to_string(long double val);
-
-int                stoi  (const wstring& str, size_t* idx = 0, int base = 10);
-long               stol  (const wstring& str, size_t* idx = 0, int base = 10);
-unsigned long      stoul (const wstring& str, size_t* idx = 0, int base = 10);
-long long          stoll (const wstring& str, size_t* idx = 0, int base = 10);
-unsigned long long stoull(const wstring& str, size_t* idx = 0, int base = 10);
-
-float       stof (const wstring& str, size_t* idx = 0);
-double      stod (const wstring& str, size_t* idx = 0);
-long double stold(const wstring& str, size_t* idx = 0);
-
-wstring to_wstring(int val);
-wstring to_wstring(unsigned val);
-wstring to_wstring(long val);
-wstring to_wstring(unsigned long val);
-wstring to_wstring(long long val);
-wstring to_wstring(unsigned long long val);
-wstring to_wstring(float val);
-wstring to_wstring(double val);
-wstring to_wstring(long double val);
-
-template <> struct hash<string>;
-template <> struct hash<u16string>;
-template <> struct hash<u32string>;
-template <> struct hash<wstring>;
-
-basic_string<char>     operator "" s( const char *str,     size_t len ); // C++14
-basic_string<wchar_t>  operator "" s( const wchar_t *str,  size_t len ); // C++14
-basic_string<char16_t> operator "" s( const char16_t *str, size_t len ); // C++14
-basic_string<char32_t> operator "" s( const char32_t *str, size_t len ); // C++14
-
-}  // std
-
-*/
-
-#include <__config>
-#include <string_view>
-#include <iosfwd>
-#include <cstring>
-#include <cstdio>  // For EOF.
-#include <cwchar>
-#include <algorithm>
-#include <iterator>
-#include <utility>
-#include <memory>
-#include <stdexcept>
-#include <type_traits>
-#include <initializer_list>
-#include <__functional_base>
-#include <version>
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-#include <cstdint>
-#endif
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// fpos
-
-template <class _StateT>
-class _LIBCPP_TEMPLATE_VIS fpos
-{
-private:
-    _StateT __st_;
-    streamoff __off_;
-public:
-    _LIBCPP_INLINE_VISIBILITY fpos(streamoff __off = streamoff()) : __st_(), __off_(__off) {}
-
-    _LIBCPP_INLINE_VISIBILITY operator streamoff() const {return __off_;}
-
-    _LIBCPP_INLINE_VISIBILITY _StateT state() const {return __st_;}
-    _LIBCPP_INLINE_VISIBILITY void state(_StateT __st) {__st_ = __st;}
-
-    _LIBCPP_INLINE_VISIBILITY fpos& operator+=(streamoff __off) {__off_ += __off; return *this;}
-    _LIBCPP_INLINE_VISIBILITY fpos  operator+ (streamoff __off) const {fpos __t(*this); __t += __off; return __t;}
-    _LIBCPP_INLINE_VISIBILITY fpos& operator-=(streamoff __off) {__off_ -= __off; return *this;}
-    _LIBCPP_INLINE_VISIBILITY fpos  operator- (streamoff __off) const {fpos __t(*this); __t -= __off; return __t;}
-};
-
-template <class _StateT>
-inline _LIBCPP_INLINE_VISIBILITY
-streamoff operator-(const fpos<_StateT>& __x, const fpos<_StateT>& __y)
-    {return streamoff(__x) - streamoff(__y);}
-
-template <class _StateT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator==(const fpos<_StateT>& __x, const fpos<_StateT>& __y)
-    {return streamoff(__x) == streamoff(__y);}
-
-template <class _StateT>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y)
-    {return streamoff(__x) != streamoff(__y);}
-
-// basic_string
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const basic_string<_CharT, _Traits, _Allocator>& __x,
-          const basic_string<_CharT, _Traits, _Allocator>& __y);
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const _CharT* __x, const basic_string<_CharT,_Traits,_Allocator>& __y);
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-operator+(_CharT __x, const basic_string<_CharT,_Traits,_Allocator>& __y);
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, const _CharT* __y);
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y);
-
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&))
-
-template <bool>
-class _LIBCPP_TEMPLATE_VIS __basic_string_common
-{
-protected:
-    _LIBCPP_NORETURN void __throw_length_error() const;
-    _LIBCPP_NORETURN void __throw_out_of_range() const;
-};
-
-template <bool __b>
-void
-__basic_string_common<__b>::__throw_length_error() const
-{
-    _VSTD::__throw_length_error("basic_string");
-}
-
-template <bool __b>
-void
-__basic_string_common<__b>::__throw_out_of_range() const
-{
-    _VSTD::__throw_out_of_range("basic_string");
-}
-
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __basic_string_common<true>)
-
-#ifdef _LIBCPP_NO_EXCEPTIONS
-template <class _Iter>
-struct __libcpp_string_gets_noexcept_iterator_impl : public true_type {};
-#elif defined(_LIBCPP_HAS_NO_NOEXCEPT)
-template <class _Iter>
-struct __libcpp_string_gets_noexcept_iterator_impl : public false_type {};
-#else
-template <class _Iter, bool = __is_forward_iterator<_Iter>::value>
-struct __libcpp_string_gets_noexcept_iterator_impl : public _LIBCPP_BOOL_CONSTANT((
-    noexcept(++(declval<_Iter&>())) &&
-    is_nothrow_assignable<_Iter&, _Iter>::value &&
-    noexcept(declval<_Iter>() == declval<_Iter>()) &&
-    noexcept(*declval<_Iter>())
-)) {};
-
-template <class _Iter>
-struct __libcpp_string_gets_noexcept_iterator_impl<_Iter, false> : public false_type {};
-#endif
-
-
-template <class _Iter>
-struct __libcpp_string_gets_noexcept_iterator
-    : public _LIBCPP_BOOL_CONSTANT(__libcpp_is_trivial_iterator<_Iter>::value || __libcpp_string_gets_noexcept_iterator_impl<_Iter>::value) {};
-
-template <class _CharT, class _Traits, class _Tp>
-struct __can_be_converted_to_string_view : public _LIBCPP_BOOL_CONSTANT(
-    ( is_convertible<const _Tp&, basic_string_view<_CharT, _Traits> >::value &&
-     !is_convertible<const _Tp&, const _CharT*>::value)) {};
-
-#ifdef _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-
-template <class _CharT, size_t = sizeof(_CharT)>
-struct __padding
-{
-    unsigned char __xx[sizeof(_CharT)-1];
-};
-
-template <class _CharT>
-struct __padding<_CharT, 1>
-{
-};
-
-#endif  // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-
-template<class _CharT, class _Traits, class _Allocator>
-class _LIBCPP_TEMPLATE_VIS basic_string
-    : private __basic_string_common<true>
-{
-public:
-    typedef basic_string                                 __self;
-    typedef basic_string_view<_CharT, _Traits>           __self_view;
-    typedef _Traits                                      traits_type;
-    typedef _CharT                                       value_type;
-    typedef _Allocator                                   allocator_type;
-    typedef allocator_traits<allocator_type>             __alloc_traits;
-    typedef typename __alloc_traits::size_type           size_type;
-    typedef typename __alloc_traits::difference_type     difference_type;
-    typedef value_type&                                  reference;
-    typedef const value_type&                            const_reference;
-    typedef typename __alloc_traits::pointer             pointer;
-    typedef typename __alloc_traits::const_pointer       const_pointer;
-
-    static_assert((!is_array<value_type>::value), "Character type of basic_string must not be an array");
-    static_assert(( is_standard_layout<value_type>::value), "Character type of basic_string must be standard-layout");
-    static_assert(( is_trivial<value_type>::value), "Character type of basic_string must be trivial");
-    static_assert(( is_same<_CharT, typename traits_type::char_type>::value),
-                  "traits_type::char_type must be the same type as CharT");
-    static_assert(( is_same<typename allocator_type::value_type, value_type>::value),
-                  "Allocator::value_type must be same type as value_type");
-
-#if defined(_LIBCPP_RAW_ITERATORS)
-    typedef pointer                                      iterator;
-    typedef const_pointer                                const_iterator;
-#else  // defined(_LIBCPP_RAW_ITERATORS)
-    typedef __wrap_iter<pointer>                         iterator;
-    typedef __wrap_iter<const_pointer>                   const_iterator;
-#endif  // defined(_LIBCPP_RAW_ITERATORS)
-    typedef _VSTD::reverse_iterator<iterator>             reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator>       const_reverse_iterator;
-
-private:
-
-#ifdef _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-
-    struct __long
-    {
-        pointer   __data_;
-        size_type __size_;
-        size_type __cap_;
-    };
-
-#ifdef _LIBCPP_BIG_ENDIAN
-    static const size_type __short_mask = 0x01;
-    static const size_type __long_mask  = 0x1ul;
-#else  // _LIBCPP_BIG_ENDIAN
-    static const size_type __short_mask = 0x80;
-    static const size_type __long_mask  = ~(size_type(~0) >> 1);
-#endif  // _LIBCPP_BIG_ENDIAN
-
-    enum {__min_cap = (sizeof(__long) - 1)/sizeof(value_type) > 2 ?
-                      (sizeof(__long) - 1)/sizeof(value_type) : 2};
-
-    struct __short
-    {
-        value_type __data_[__min_cap];
-        struct
-            : __padding<value_type>
-        {
-            unsigned char __size_;
-        };
-    };
-
-#else
-
-    struct __long
-    {
-        size_type __cap_;
-        size_type __size_;
-        pointer   __data_;
-    };
-
-#ifdef _LIBCPP_BIG_ENDIAN
-    static const size_type __short_mask = 0x80;
-    static const size_type __long_mask  = ~(size_type(~0) >> 1);
-#else  // _LIBCPP_BIG_ENDIAN
-    static const size_type __short_mask = 0x01;
-    static const size_type __long_mask  = 0x1ul;
-#endif  // _LIBCPP_BIG_ENDIAN
-
-    enum {__min_cap = (sizeof(__long) - 1)/sizeof(value_type) > 2 ?
-                      (sizeof(__long) - 1)/sizeof(value_type) : 2};
-
-    struct __short
-    {
-        union
-        {
-            unsigned char __size_;
-            value_type __lx;
-        };
-        value_type __data_[__min_cap];
-    };
-
-#endif  // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-
-    union __ulx{__long __lx; __short __lxx;};
-
-    enum {__n_words = sizeof(__ulx) / sizeof(size_type)};
-
-    struct __raw
-    {
-        size_type __words[__n_words];
-    };
-
-    struct __rep
-    {
-        union
-        {
-            __long  __l;
-            __short __s;
-            __raw   __r;
-        };
-    };
-
-    __compressed_pair<__rep, allocator_type> __r_;
-
-public:
-    static const size_type npos = -1;
-
-    _LIBCPP_INLINE_VISIBILITY basic_string()
-        _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
-
-    _LIBCPP_INLINE_VISIBILITY explicit basic_string(const allocator_type& __a)
-#if _LIBCPP_STD_VER <= 14
-        _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value);
-#else
-        _NOEXCEPT;
-#endif
-
-    basic_string(const basic_string& __str);
-    basic_string(const basic_string& __str, const allocator_type& __a);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(basic_string&& __str)
-#if _LIBCPP_STD_VER <= 14
-        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
-#else
-        _NOEXCEPT;
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(basic_string&& __str, const allocator_type& __a);
-#endif  // _LIBCPP_CXX03_LANG
-
-    template <class = typename enable_if<__is_allocator<_Allocator>::value, nullptr_t>::type>
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(const _CharT* __s) {
-      _LIBCPP_ASSERT(__s != nullptr, "basic_string(const char*) detected nullptr");
-      __init(__s, traits_type::length(__s));
-#   if _LIBCPP_DEBUG_LEVEL >= 2
-      __get_db()->__insert_c(this);
-#   endif
-    }
-
-    template <class = typename enable_if<__is_allocator<_Allocator>::value, nullptr_t>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_string(const _CharT* __s, const _Allocator& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(const _CharT* __s, size_type __n);
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(const _CharT* __s, size_type __n, const _Allocator& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(size_type __n, _CharT __c);
-
-    template <class = typename enable_if<__is_allocator<_Allocator>::value, nullptr_t>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_string(size_type __n, _CharT __c, const _Allocator& __a);
-
-    basic_string(const basic_string& __str, size_type __pos, size_type __n,
-                 const _Allocator& __a = _Allocator());
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(const basic_string& __str, size_type __pos,
-                 const _Allocator& __a = _Allocator());
-
-    template<class _Tp, class = typename enable_if<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, void>::type>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        basic_string(const _Tp& __t, size_type __pos, size_type __n,
-                              const allocator_type& __a = allocator_type());
-
-    template<class _Tp, class = typename enable_if<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, void>::type>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        explicit basic_string(const _Tp& __t);
-
-    template<class _Tp, class = typename enable_if<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, void>::type>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        explicit basic_string(const _Tp& __t, const allocator_type& __a);
-
-    template<class _InputIterator, class = typename enable_if<__is_input_iterator<_InputIterator>::value>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_string(_InputIterator __first, _InputIterator __last);
-    template<class _InputIterator, class = typename enable_if<__is_input_iterator<_InputIterator>::value>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_string(_InputIterator __first, _InputIterator __last, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(initializer_list<_CharT> __il);
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string(initializer_list<_CharT> __il, const _Allocator& __a);
-#endif  // _LIBCPP_CXX03_LANG
-
-    inline ~basic_string();
-
-    _LIBCPP_INLINE_VISIBILITY
-    operator __self_view() const _NOEXCEPT { return __self_view(data(), size()); }
-
-    basic_string& operator=(const basic_string& __str);
-
-    template <class _Tp, class = typename enable_if<__can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value, void>::type>
-    basic_string& operator=(const _Tp& __t)
-        {__self_view __sv = __t; return assign(__sv);}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& operator=(basic_string&& __str)
-        _NOEXCEPT_((__noexcept_move_assign_container<_Allocator, __alloc_traits>::value));
-     _LIBCPP_INLINE_VISIBILITY
-    basic_string& operator=(initializer_list<value_type> __il) {return assign(__il.begin(), __il.size());}
-#endif
-    _LIBCPP_INLINE_VISIBILITY basic_string& operator=(const value_type* __s) {return assign(__s);}
-    basic_string& operator=(value_type __c);
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    iterator begin() _NOEXCEPT
-        {return iterator(this, __get_pointer());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT
-        {return const_iterator(this, __get_pointer());}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator end() _NOEXCEPT
-        {return iterator(this, __get_pointer() + size());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT
-        {return const_iterator(this, __get_pointer() + size());}
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    iterator begin() _NOEXCEPT
-        {return iterator(__get_pointer());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT
-        {return const_iterator(__get_pointer());}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator end() _NOEXCEPT
-        {return iterator(__get_pointer() + size());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT
-        {return const_iterator(__get_pointer() + size());}
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator rbegin() _NOEXCEPT
-        {return reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin() const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator rend() _NOEXCEPT
-        {return reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend() const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT
-        {return begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend() const _NOEXCEPT
-        {return end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT
-        {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend() const _NOEXCEPT
-        {return rend();}
-
-    _LIBCPP_INLINE_VISIBILITY size_type size() const _NOEXCEPT
-        {return __is_long() ? __get_long_size() : __get_short_size();}
-    _LIBCPP_INLINE_VISIBILITY size_type length() const _NOEXCEPT {return size();}
-    _LIBCPP_INLINE_VISIBILITY size_type max_size() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY size_type capacity() const _NOEXCEPT
-        {return (__is_long() ? __get_long_cap()
-                             : static_cast<size_type>(__min_cap)) - 1;}
-
-    void resize(size_type __n, value_type __c);
-    _LIBCPP_INLINE_VISIBILITY void resize(size_type __n) {resize(__n, value_type());}
-
-    void reserve(size_type __res_arg);
-    _LIBCPP_INLINE_VISIBILITY void __resize_default_init(size_type __n);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void reserve() _NOEXCEPT {reserve(0);}
-    _LIBCPP_INLINE_VISIBILITY
-    void shrink_to_fit() _NOEXCEPT {reserve();}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT;
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT {return size() == 0;}
-
-    _LIBCPP_INLINE_VISIBILITY const_reference operator[](size_type __pos) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY reference       operator[](size_type __pos)       _NOEXCEPT;
-
-    const_reference at(size_type __n) const;
-    reference       at(size_type __n);
-
-    _LIBCPP_INLINE_VISIBILITY basic_string& operator+=(const basic_string& __str) {return append(__str);}
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                                            operator+=(const _Tp& __t)            {__self_view __sv = __t; return append(__sv);}
-    _LIBCPP_INLINE_VISIBILITY basic_string& operator+=(const value_type* __s)     {return append(__s);}
-    _LIBCPP_INLINE_VISIBILITY basic_string& operator+=(value_type __c)            {push_back(__c); return *this;}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY basic_string& operator+=(initializer_list<value_type> __il) {return append(__il);}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& append(const basic_string& __str);
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                  append(const _Tp& __t) { __self_view __sv = __t; return append(__sv.data(), __sv.size()); }
-    basic_string& append(const basic_string& __str, size_type __pos, size_type __n=npos);
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                  append(const _Tp& __t, size_type __pos, size_type __n=npos);
-    basic_string& append(const value_type* __s, size_type __n);
-    basic_string& append(const value_type* __s);
-    basic_string& append(size_type __n, value_type __c);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __append_default_init(size_type __n);
-
-    template <class _ForwardIterator>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    basic_string& __append_forward_unsafe(_ForwardIterator, _ForwardIterator);
-    template<class _InputIterator>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __is_exactly_input_iterator<_InputIterator>::value
-                || !__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
-            basic_string&
-        >::type
-    _LIBCPP_INLINE_VISIBILITY
-    append(_InputIterator __first, _InputIterator __last) {
-      const basic_string __temp (__first, __last, __alloc());
-      append(__temp.data(), __temp.size());
-      return *this;
-    }
-    template<class _ForwardIterator>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value
-                && __libcpp_string_gets_noexcept_iterator<_ForwardIterator>::value,
-            basic_string&
-        >::type
-    _LIBCPP_INLINE_VISIBILITY
-    append(_ForwardIterator __first, _ForwardIterator __last) {
-      return __append_forward_unsafe(__first, __last);
-    }
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& append(initializer_list<value_type> __il) {return append(__il.begin(), __il.size());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    void push_back(value_type __c);
-    _LIBCPP_INLINE_VISIBILITY
-    void pop_back();
-    _LIBCPP_INLINE_VISIBILITY reference       front() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY const_reference front() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY reference       back() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY const_reference back() const _NOEXCEPT;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                 assign(const _Tp & __t) { __self_view __sv = __t; return assign(__sv.data(), __sv.size()); }
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& assign(const basic_string& __str) { return *this = __str; }
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& assign(basic_string&& __str)
-        _NOEXCEPT_((__noexcept_move_assign_container<_Allocator, __alloc_traits>::value))
-        {*this = _VSTD::move(__str); return *this;}
-#endif
-    basic_string& assign(const basic_string& __str, size_type __pos, size_type __n=npos);
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                  assign(const _Tp & __t, size_type __pos, size_type __n=npos);
-    basic_string& assign(const value_type* __s, size_type __n);
-    basic_string& assign(const value_type* __s);
-    basic_string& assign(size_type __n, value_type __c);
-    template<class _InputIterator>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-           __is_exactly_input_iterator<_InputIterator>::value
-                || !__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
-            basic_string&
-        >::type
-        assign(_InputIterator __first, _InputIterator __last);
-    template<class _ForwardIterator>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value
-                 && __libcpp_string_gets_noexcept_iterator<_ForwardIterator>::value,
-            basic_string&
-        >::type
-        assign(_ForwardIterator __first, _ForwardIterator __last);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& assign(initializer_list<value_type> __il) {return assign(__il.begin(), __il.size());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& insert(size_type __pos1, const basic_string& __str);
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                 insert(size_type __pos1, const _Tp& __t)
-    { __self_view __sv = __t; return insert(__pos1, __sv.data(), __sv.size()); }
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                  insert(size_type __pos1, const _Tp& __t, size_type __pos2, size_type __n=npos);
-    basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n=npos);
-    basic_string& insert(size_type __pos, const value_type* __s, size_type __n);
-    basic_string& insert(size_type __pos, const value_type* __s);
-    basic_string& insert(size_type __pos, size_type __n, value_type __c);
-    iterator      insert(const_iterator __pos, value_type __c);
-    _LIBCPP_INLINE_VISIBILITY
-    iterator      insert(const_iterator __pos, size_type __n, value_type __c);
-    template<class _InputIterator>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-           __is_exactly_input_iterator<_InputIterator>::value
-                || !__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
-            iterator
-        >::type
-        insert(const_iterator __pos, _InputIterator __first, _InputIterator __last);
-    template<class _ForwardIterator>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value
-                 && __libcpp_string_gets_noexcept_iterator<_ForwardIterator>::value,
-            iterator
-        >::type
-        insert(const_iterator __pos, _ForwardIterator __first, _ForwardIterator __last);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __pos, initializer_list<value_type> __il)
-                    {return insert(__pos, __il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    basic_string& erase(size_type __pos = 0, size_type __n = npos);
-    _LIBCPP_INLINE_VISIBILITY
-    iterator      erase(const_iterator __pos);
-    _LIBCPP_INLINE_VISIBILITY
-    iterator      erase(const_iterator __first, const_iterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str);
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                  replace(size_type __pos1, size_type __n1, const _Tp& __t) { __self_view __sv = __t; return replace(__pos1, __n1, __sv.data(), __sv.size()); }
-    basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2=npos);
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                  replace(size_type __pos1, size_type __n1, const _Tp& __t, size_type __pos2, size_type __n2=npos);
-    basic_string& replace(size_type __pos, size_type __n1, const value_type* __s, size_type __n2);
-    basic_string& replace(size_type __pos, size_type __n1, const value_type* __s);
-    basic_string& replace(size_type __pos, size_type __n1, size_type __n2, value_type __c);
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& replace(const_iterator __i1, const_iterator __i2, const basic_string& __str);
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            basic_string&
-        >::type
-                  replace(const_iterator __i1, const_iterator __i2, const _Tp& __t) { __self_view __sv = __t; return replace(__i1 - begin(), __i2 - __i1, __sv); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& replace(const_iterator __i1, const_iterator __i2, const value_type* __s, size_type __n);
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& replace(const_iterator __i1, const_iterator __i2, const value_type* __s);
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& replace(const_iterator __i1, const_iterator __i2, size_type __n, value_type __c);
-    template<class _InputIterator>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __is_input_iterator<_InputIterator>::value,
-            basic_string&
-        >::type
-        replace(const_iterator __i1, const_iterator __i2, _InputIterator __j1, _InputIterator __j2);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string& replace(const_iterator __i1, const_iterator __i2, initializer_list<value_type> __il)
-        {return replace(__i1, __i2, __il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    size_type copy(value_type* __s, size_type __n, size_type __pos = 0) const;
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string substr(size_type __pos = 0, size_type __n = npos) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_string& __str)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value);
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type* c_str() const _NOEXCEPT {return data();}
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type* data() const _NOEXCEPT  {return _VSTD::__to_raw_pointer(__get_pointer());}
-#if _LIBCPP_STD_VER > 14 || defined(_LIBCPP_BUILDING_LIBRARY)
-    _LIBCPP_INLINE_VISIBILITY
-    value_type* data()             _NOEXCEPT  {return _VSTD::__to_raw_pointer(__get_pointer());}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT {return __alloc();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            size_type
-        >::type
-              find(const _Tp& __t, size_type __pos = 0) const;
-    size_type find(const value_type* __s, size_type __pos, size_type __n) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find(const value_type* __s, size_type __pos = 0) const _NOEXCEPT;
-    size_type find(value_type __c, size_type __pos = 0) const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type rfind(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            size_type
-        >::type
-              rfind(const _Tp& __t, size_type __pos = npos) const;
-    size_type rfind(const value_type* __s, size_type __pos, size_type __n) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type rfind(const value_type* __s, size_type __pos = npos) const _NOEXCEPT;
-    size_type rfind(value_type __c, size_type __pos = npos) const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            size_type
-        >::type
-              find_first_of(const _Tp& __t, size_type __pos = 0) const;
-    size_type find_first_of(const value_type* __s, size_type __pos, size_type __n) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_of(const value_type* __s, size_type __pos = 0) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_of(value_type __c, size_type __pos = 0) const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            size_type
-        >::type
-              find_last_of(const _Tp& __t, size_type __pos = npos) const;
-    size_type find_last_of(const value_type* __s, size_type __pos, size_type __n) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_of(const value_type* __s, size_type __pos = npos) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_of(value_type __c, size_type __pos = npos) const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_not_of(const basic_string& __str, size_type __pos = 0) const _NOEXCEPT;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            size_type
-        >::type
-              find_first_not_of(const _Tp &__t, size_type __pos = 0) const;
-    size_type find_first_not_of(const value_type* __s, size_type __pos, size_type __n) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_not_of(const value_type* __s, size_type __pos = 0) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_not_of(value_type __c, size_type __pos = 0) const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_not_of(const basic_string& __str, size_type __pos = npos) const _NOEXCEPT;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            size_type
-        >::type
-              find_last_not_of(const _Tp& __t, size_type __pos = npos) const;
-    size_type find_last_not_of(const value_type* __s, size_type __pos, size_type __n) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_not_of(const value_type* __s, size_type __pos = npos) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_not_of(value_type __c, size_type __pos = npos) const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    int compare(const basic_string& __str) const _NOEXCEPT;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            int
-        >::type
-        compare(const _Tp &__t) const;
-
-    template <class _Tp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            int
-        >::type
-         compare(size_type __pos1, size_type __n1, const _Tp& __t) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    int compare(size_type __pos1, size_type __n1, const basic_string& __str) const;
-    int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2=npos) const;
-
-    template <class _Tp>
-    inline _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-            int
-        >::type
-        compare(size_type __pos1, size_type __n1, const _Tp& __t, size_type __pos2, size_type __n2=npos) const;
-    int compare(const value_type* __s) const _NOEXCEPT;
-    int compare(size_type __pos1, size_type __n1, const value_type* __s) const;
-    int compare(size_type __pos1, size_type __n1, const value_type* __s, size_type __n2) const;
-
-#if _LIBCPP_STD_VER > 17
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool starts_with(__self_view __sv) const _NOEXCEPT
-    { return __self_view(data(), size()).starts_with(__sv); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool starts_with(value_type __c) const _NOEXCEPT
-    { return !empty() && _Traits::eq(front(), __c); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool starts_with(const value_type* __s) const _NOEXCEPT
-    { return starts_with(__self_view(__s)); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool ends_with(__self_view __sv) const _NOEXCEPT
-    { return __self_view(data(), size()).ends_with( __sv); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool ends_with(value_type __c) const _NOEXCEPT
-    { return !empty() && _Traits::eq(back(), __c); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool ends_with(const value_type* __s) const _NOEXCEPT
-    { return ends_with(__self_view(__s)); }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY bool __invariants() const;
-
-    _LIBCPP_INLINE_VISIBILITY void __clear_and_shrink() _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool __is_long() const _NOEXCEPT
-        {return bool(__r_.first().__s.__size_ & __short_mask);}
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    bool __dereferenceable(const const_iterator* __i) const;
-    bool __decrementable(const const_iterator* __i) const;
-    bool __addable(const const_iterator* __i, ptrdiff_t __n) const;
-    bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const;
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type& __alloc() _NOEXCEPT
-        {return __r_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const allocator_type& __alloc() const _NOEXCEPT
-        {return __r_.second();}
-
-#ifdef _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __set_short_size(size_type __s) _NOEXCEPT
-#   ifdef _LIBCPP_BIG_ENDIAN
-        {__r_.first().__s.__size_ = (unsigned char)(__s << 1);}
-#   else
-        {__r_.first().__s.__size_ = (unsigned char)(__s);}
-#   endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __get_short_size() const _NOEXCEPT
-#   ifdef _LIBCPP_BIG_ENDIAN
-        {return __r_.first().__s.__size_ >> 1;}
-#   else
-        {return __r_.first().__s.__size_;}
-#   endif
-
-#else  // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __set_short_size(size_type __s) _NOEXCEPT
-#   ifdef _LIBCPP_BIG_ENDIAN
-        {__r_.first().__s.__size_ = (unsigned char)(__s);}
-#   else
-        {__r_.first().__s.__size_ = (unsigned char)(__s << 1);}
-#   endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __get_short_size() const _NOEXCEPT
-#   ifdef _LIBCPP_BIG_ENDIAN
-        {return __r_.first().__s.__size_;}
-#   else
-        {return __r_.first().__s.__size_ >> 1;}
-#   endif
-
-#endif  // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __set_long_size(size_type __s) _NOEXCEPT
-        {__r_.first().__l.__size_ = __s;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __get_long_size() const _NOEXCEPT
-        {return __r_.first().__l.__size_;}
-    _LIBCPP_INLINE_VISIBILITY
-    void __set_size(size_type __s) _NOEXCEPT
-        {if (__is_long()) __set_long_size(__s); else __set_short_size(__s);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __set_long_cap(size_type __s) _NOEXCEPT
-        {__r_.first().__l.__cap_  = __long_mask | __s;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type __get_long_cap() const _NOEXCEPT
-        {return __r_.first().__l.__cap_ & size_type(~__long_mask);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __set_long_pointer(pointer __p) _NOEXCEPT
-        {__r_.first().__l.__data_ = __p;}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer __get_long_pointer() _NOEXCEPT
-        {return __r_.first().__l.__data_;}
-    _LIBCPP_INLINE_VISIBILITY
-    const_pointer __get_long_pointer() const _NOEXCEPT
-        {return __r_.first().__l.__data_;}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer __get_short_pointer() _NOEXCEPT
-        {return pointer_traits<pointer>::pointer_to(__r_.first().__s.__data_[0]);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_pointer __get_short_pointer() const _NOEXCEPT
-        {return pointer_traits<const_pointer>::pointer_to(__r_.first().__s.__data_[0]);}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer __get_pointer() _NOEXCEPT
-        {return __is_long() ? __get_long_pointer() : __get_short_pointer();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_pointer __get_pointer() const _NOEXCEPT
-        {return __is_long() ? __get_long_pointer() : __get_short_pointer();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __zero() _NOEXCEPT
-        {
-            size_type (&__a)[__n_words] = __r_.first().__r.__words;
-            for (unsigned __i = 0; __i < __n_words; ++__i)
-                __a[__i] = 0;
-        }
-
-    template <size_type __a> static
-        _LIBCPP_INLINE_VISIBILITY
-        size_type __align_it(size_type __s) _NOEXCEPT
-            {return (__s + (__a-1)) & ~(__a-1);}
-    enum {__alignment = 16};
-    static _LIBCPP_INLINE_VISIBILITY
-    size_type __recommend(size_type __s) _NOEXCEPT
-        {
-        if (__s < __min_cap) return static_cast<size_type>(__min_cap) - 1;
-        size_type __guess = __align_it<sizeof(value_type) < __alignment ?
-                     __alignment/sizeof(value_type) : 1 > (__s+1) - 1;
-        if (__guess == __min_cap) ++__guess;
-        return __guess;
-        }
-
-    inline
-    void __init(const value_type* __s, size_type __sz, size_type __reserve);
-    inline
-    void __init(const value_type* __s, size_type __sz);
-    inline
-    void __init(size_type __n, value_type __c);
-
-    template <class _InputIterator>
-    inline
-    typename enable_if
-    <
-        __is_exactly_input_iterator<_InputIterator>::value,
-        void
-    >::type
-    __init(_InputIterator __first, _InputIterator __last);
-
-    template <class _ForwardIterator>
-    inline
-    typename enable_if
-    <
-        __is_forward_iterator<_ForwardIterator>::value,
-        void
-    >::type
-    __init(_ForwardIterator __first, _ForwardIterator __last);
-
-    void __grow_by(size_type __old_cap, size_type __delta_cap, size_type __old_sz,
-                   size_type __n_copy,  size_type __n_del,     size_type __n_add = 0);
-    void __grow_by_and_replace(size_type __old_cap, size_type __delta_cap, size_type __old_sz,
-                               size_type __n_copy,  size_type __n_del,
-                               size_type __n_add, const value_type* __p_new_stuff);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __erase_to_end(size_type __pos);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const basic_string& __str)
-        {__copy_assign_alloc(__str, integral_constant<bool,
-                      __alloc_traits::propagate_on_container_copy_assignment::value>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const basic_string& __str, true_type)
-        {
-            if (__alloc() == __str.__alloc())
-                __alloc() = __str.__alloc();
-            else
-            {
-                if (!__str.__is_long())
-                {
-                    __clear_and_shrink();
-                    __alloc() = __str.__alloc();
-                }
-                else
-                {
-                    allocator_type __a = __str.__alloc();
-                    pointer __p = __alloc_traits::allocate(__a, __str.__get_long_cap());
-                    __clear_and_shrink();
-                    __alloc() = _VSTD::move(__a);
-                    __set_long_pointer(__p);
-                    __set_long_cap(__str.__get_long_cap());
-                    __set_long_size(__str.size());
-                }
-            }
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const basic_string&, false_type) _NOEXCEPT
-        {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign(basic_string& __str, false_type)
-        _NOEXCEPT_(__alloc_traits::is_always_equal::value);
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign(basic_string& __str, true_type)
-#if _LIBCPP_STD_VER > 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value);
-#endif
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void
-    __move_assign_alloc(basic_string& __str)
-        _NOEXCEPT_(
-            !__alloc_traits::propagate_on_container_move_assignment::value ||
-            is_nothrow_move_assignable<allocator_type>::value)
-    {__move_assign_alloc(__str, integral_constant<bool,
-                      __alloc_traits::propagate_on_container_move_assignment::value>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(basic_string& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-        {
-            __alloc() = _VSTD::move(__c.__alloc());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(basic_string&, false_type)
-        _NOEXCEPT
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY void __invalidate_all_iterators();
-    _LIBCPP_INLINE_VISIBILITY void __invalidate_iterators_past(size_type);
-
-    friend basic_string operator+<>(const basic_string&, const basic_string&);
-    friend basic_string operator+<>(const value_type*, const basic_string&);
-    friend basic_string operator+<>(value_type, const basic_string&);
-    friend basic_string operator+<>(const basic_string&, const value_type*);
-    friend basic_string operator+<>(const basic_string&, value_type);
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _CharT = typename iterator_traits<_InputIterator>::value_type,
-         class _Allocator = allocator<_CharT>,
-         class = typename enable_if<__is_input_iterator<_InputIterator>::value, void>::type,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type
-         >
-basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
-  -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
-
-template<class _CharT,
-         class _Traits,
-         class _Allocator = allocator<_CharT>,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type
-         >
-explicit basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
-  -> basic_string<_CharT, _Traits, _Allocator>;
-
-template<class _CharT,
-         class _Traits,
-         class _Allocator = allocator<_CharT>,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type,
-         class _Sz = typename allocator_traits<_Allocator>::size_type
-         >
-basic_string(basic_string_view<_CharT, _Traits>, _Sz, _Sz, const _Allocator& = _Allocator())
-  -> basic_string<_CharT, _Traits, _Allocator>;
-#endif
-
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::__invalidate_all_iterators()
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__invalidate_all(this);
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::__invalidate_iterators_past(size_type
-#if _LIBCPP_DEBUG_LEVEL >= 2
-                                                                        __pos
-#endif
-                                                                      )
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __c_node* __c = __get_db()->__find_c_and_lock(this);
-    if (__c)
-    {
-        const_pointer __new_last = __get_pointer() + __pos;
-        for (__i_node** __p = __c->end_; __p != __c->beg_; )
-        {
-            --__p;
-            const_iterator* __i = static_cast<const_iterator*>((*__p)->__i_);
-            if (__i->base() > __new_last)
-            {
-                (*__p)->__c_ = nullptr;
-                if (--__c->end_ != __p)
-                    memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
-            }
-        }
-        __get_db()->unlock();
-    }
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string()
-    _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __zero();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const allocator_type& __a)
-#if _LIBCPP_STD_VER <= 14
-        _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
-#else
-        _NOEXCEPT
-#endif
-: __r_(__second_tag(), __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __zero();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s,
-                                                       size_type __sz,
-                                                       size_type __reserve)
-{
-    if (__reserve > max_size())
-        this->__throw_length_error();
-    pointer __p;
-    if (__reserve < __min_cap)
-    {
-        __set_short_size(__sz);
-        __p = __get_short_pointer();
-    }
-    else
-    {
-        size_type __cap = __recommend(__reserve);
-        __p = __alloc_traits::allocate(__alloc(), __cap+1);
-        __set_long_pointer(__p);
-        __set_long_cap(__cap+1);
-        __set_long_size(__sz);
-    }
-    traits_type::copy(_VSTD::__to_raw_pointer(__p), __s, __sz);
-    traits_type::assign(__p[__sz], value_type());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_string<_CharT, _Traits, _Allocator>::__init(const value_type* __s, size_type __sz)
-{
-    if (__sz > max_size())
-        this->__throw_length_error();
-    pointer __p;
-    if (__sz < __min_cap)
-    {
-        __set_short_size(__sz);
-        __p = __get_short_pointer();
-    }
-    else
-    {
-        size_type __cap = __recommend(__sz);
-        __p = __alloc_traits::allocate(__alloc(), __cap+1);
-        __set_long_pointer(__p);
-        __set_long_cap(__cap+1);
-        __set_long_size(__sz);
-    }
-    traits_type::copy(_VSTD::__to_raw_pointer(__p), __s, __sz);
-    traits_type::assign(__p[__sz], value_type());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class>
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const _CharT* __s, const _Allocator& __a)
-    : __r_(__second_tag(), __a)
-{
-    _LIBCPP_ASSERT(__s != nullptr, "basic_string(const char*, allocator) detected nullptr");
-    __init(__s, traits_type::length(__s));
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const _CharT* __s, size_type __n)
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "basic_string(const char*, n) detected nullptr");
-    __init(__s, __n);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const _CharT* __s, size_type __n, const _Allocator& __a)
-    : __r_(__second_tag(), __a)
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "basic_string(const char*, n, allocator) detected nullptr");
-    __init(__s, __n);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const basic_string& __str)
-    : __r_(__second_tag(), __alloc_traits::select_on_container_copy_construction(__str.__alloc()))
-{
-    if (!__str.__is_long())
-        __r_.first().__r = __str.__r_.first().__r;
-    else
-        __init(_VSTD::__to_raw_pointer(__str.__get_long_pointer()), __str.__get_long_size());
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>::basic_string(
-    const basic_string& __str, const allocator_type& __a)
-    : __r_(__second_tag(), __a)
-{
-    if (!__str.__is_long())
-        __r_.first().__r = __str.__r_.first().__r;
-    else
-        __init(_VSTD::__to_raw_pointer(__str.__get_long_pointer()), __str.__get_long_size());
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(basic_string&& __str)
-#if _LIBCPP_STD_VER <= 14
-        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
-#else
-        _NOEXCEPT
-#endif
-    : __r_(_VSTD::move(__str.__r_))
-{
-    __str.__zero();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-    if (__is_long())
-        __get_db()->swap(this, &__str);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(basic_string&& __str, const allocator_type& __a)
-    : __r_(__second_tag(), __a)
-{
-    if (__str.__is_long() && __a != __str.__alloc()) // copy, not move
-        __init(_VSTD::__to_raw_pointer(__str.__get_long_pointer()), __str.__get_long_size());
-    else
-    {
-        __r_.first().__r = __str.__r_.first().__r;
-        __str.__zero();
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-    if (__is_long())
-        __get_db()->swap(this, &__str);
-#endif
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_string<_CharT, _Traits, _Allocator>::__init(size_type __n, value_type __c)
-{
-    if (__n > max_size())
-        this->__throw_length_error();
-    pointer __p;
-    if (__n < __min_cap)
-    {
-        __set_short_size(__n);
-        __p = __get_short_pointer();
-    }
-    else
-    {
-        size_type __cap = __recommend(__n);
-        __p = __alloc_traits::allocate(__alloc(), __cap+1);
-        __set_long_pointer(__p);
-        __set_long_cap(__cap+1);
-        __set_long_size(__n);
-    }
-    traits_type::assign(_VSTD::__to_raw_pointer(__p), __n, __c);
-    traits_type::assign(__p[__n], value_type());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(size_type __n, _CharT __c)
-{
-    __init(__n, __c);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class>
-basic_string<_CharT, _Traits, _Allocator>::basic_string(size_type __n, _CharT __c, const _Allocator& __a)
-    : __r_(__second_tag(), __a)
-{
-    __init(__n, __c);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const basic_string& __str,
-                                                        size_type __pos, size_type __n,
-                                                        const _Allocator& __a)
-    : __r_(__second_tag(), __a)
-{
-    size_type __str_sz = __str.size();
-    if (__pos > __str_sz)
-        this->__throw_out_of_range();
-    __init(__str.data() + __pos, _VSTD::min(__n, __str_sz - __pos));
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const basic_string& __str, size_type __pos,
-                                                        const _Allocator& __a)
-    : __r_(__second_tag(), __a)
-{
-    size_type __str_sz = __str.size();
-    if (__pos > __str_sz)
-        this->__throw_out_of_range();
-    __init(__str.data() + __pos, __str_sz - __pos);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp, class>
-basic_string<_CharT, _Traits, _Allocator>::basic_string(
-             const _Tp& __t, size_type __pos, size_type __n, const allocator_type& __a)
-    : __r_(__second_tag(), __a)
-{
-    __self_view __sv0 = __t;
-    __self_view __sv = __sv0.substr(__pos, __n);
-    __init(__sv.data(), __sv.size());
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp, class>
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const _Tp & __t)
-{
-    __self_view __sv = __t;
-    __init(__sv.data(), __sv.size());
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp, class>
-basic_string<_CharT, _Traits, _Allocator>::basic_string(const _Tp & __t, const _Allocator& __a)
-    : __r_(__second_tag(), __a)
-{
-    __self_view __sv = __t;
-    __init(__sv.data(), __sv.size());
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _InputIterator>
-typename enable_if
-<
-    __is_exactly_input_iterator<_InputIterator>::value,
-    void
->::type
-basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _InputIterator __last)
-{
-    __zero();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    for (; __first != __last; ++__first)
-        push_back(*__first);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        if (__is_long())
-            __alloc_traits::deallocate(__alloc(), __get_long_pointer(), __get_long_cap());
-        throw;
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value,
-    void
->::type
-basic_string<_CharT, _Traits, _Allocator>::__init(_ForwardIterator __first, _ForwardIterator __last)
-{
-    size_type __sz = static_cast<size_type>(_VSTD::distance(__first, __last));
-    if (__sz > max_size())
-        this->__throw_length_error();
-    pointer __p;
-    if (__sz < __min_cap)
-    {
-        __set_short_size(__sz);
-        __p = __get_short_pointer();
-    }
-    else
-    {
-        size_type __cap = __recommend(__sz);
-        __p = __alloc_traits::allocate(__alloc(), __cap+1);
-        __set_long_pointer(__p);
-        __set_long_cap(__cap+1);
-        __set_long_size(__sz);
-    }
-    for (; __first != __last; ++__first, (void) ++__p)
-        traits_type::assign(*__p, *__first);
-    traits_type::assign(*__p, value_type());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template<class _InputIterator, class>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(_InputIterator __first, _InputIterator __last)
-{
-    __init(__first, __last);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template<class _InputIterator, class>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(_InputIterator __first, _InputIterator __last,
-                                                        const allocator_type& __a)
-    : __r_(__second_tag(), __a)
-{
-    __init(__first, __last);
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>::basic_string(
-    initializer_list<_CharT> __il)
-{
-    __init(__il.begin(), __il.end());
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-
-basic_string<_CharT, _Traits, _Allocator>::basic_string(
-    initializer_list<_CharT> __il, const _Allocator& __a)
-    : __r_(__second_tag(), __a)
-{
-    __init(__il.begin(), __il.end());
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>::~basic_string()
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__erase_c(this);
-#endif
-    if (__is_long())
-        __alloc_traits::deallocate(__alloc(), __get_long_pointer(), __get_long_cap());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_string<_CharT, _Traits, _Allocator>::__grow_by_and_replace
-    (size_type __old_cap, size_type __delta_cap, size_type __old_sz,
-     size_type __n_copy,  size_type __n_del,     size_type __n_add, const value_type* __p_new_stuff)
-{
-    size_type __ms = max_size();
-    if (__delta_cap > __ms - __old_cap - 1)
-        this->__throw_length_error();
-    pointer __old_p = __get_pointer();
-    size_type __cap = __old_cap < __ms / 2 - __alignment ?
-                          __recommend(_VSTD::max(__old_cap + __delta_cap, 2 * __old_cap)) :
-                          __ms - 1;
-    pointer __p = __alloc_traits::allocate(__alloc(), __cap+1);
-    __invalidate_all_iterators();
-    if (__n_copy != 0)
-        traits_type::copy(_VSTD::__to_raw_pointer(__p),
-                          _VSTD::__to_raw_pointer(__old_p), __n_copy);
-    if (__n_add != 0)
-        traits_type::copy(_VSTD::__to_raw_pointer(__p) + __n_copy, __p_new_stuff, __n_add);
-    size_type __sec_cp_sz = __old_sz - __n_del - __n_copy;
-    if (__sec_cp_sz != 0)
-        traits_type::copy(_VSTD::__to_raw_pointer(__p) + __n_copy + __n_add,
-                          _VSTD::__to_raw_pointer(__old_p) + __n_copy + __n_del, __sec_cp_sz);
-    if (__old_cap+1 != __min_cap)
-        __alloc_traits::deallocate(__alloc(), __old_p, __old_cap+1);
-    __set_long_pointer(__p);
-    __set_long_cap(__cap+1);
-    __old_sz = __n_copy + __n_add + __sec_cp_sz;
-    __set_long_size(__old_sz);
-    traits_type::assign(__p[__old_sz], value_type());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_string<_CharT, _Traits, _Allocator>::__grow_by(size_type __old_cap, size_type __delta_cap, size_type __old_sz,
-                                                     size_type __n_copy,  size_type __n_del,     size_type __n_add)
-{
-    size_type __ms = max_size();
-    if (__delta_cap > __ms - __old_cap)
-        this->__throw_length_error();
-    pointer __old_p = __get_pointer();
-    size_type __cap = __old_cap < __ms / 2 - __alignment ?
-                          __recommend(_VSTD::max(__old_cap + __delta_cap, 2 * __old_cap)) :
-                          __ms - 1;
-    pointer __p = __alloc_traits::allocate(__alloc(), __cap+1);
-    __invalidate_all_iterators();
-    if (__n_copy != 0)
-        traits_type::copy(_VSTD::__to_raw_pointer(__p),
-                          _VSTD::__to_raw_pointer(__old_p), __n_copy);
-    size_type __sec_cp_sz = __old_sz - __n_del - __n_copy;
-    if (__sec_cp_sz != 0)
-        traits_type::copy(_VSTD::__to_raw_pointer(__p) + __n_copy + __n_add,
-                          _VSTD::__to_raw_pointer(__old_p) + __n_copy + __n_del,
-                          __sec_cp_sz);
-    if (__old_cap+1 != __min_cap)
-        __alloc_traits::deallocate(__alloc(), __old_p, __old_cap+1);
-    __set_long_pointer(__p);
-    __set_long_cap(__cap+1);
-}
-
-// assign
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s, size_type __n)
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::assign received nullptr");
-    size_type __cap = capacity();
-    if (__cap >= __n)
-    {
-        value_type* __p = _VSTD::__to_raw_pointer(__get_pointer());
-        traits_type::move(__p, __s, __n);
-        traits_type::assign(__p[__n], value_type());
-        __set_size(__n);
-        __invalidate_iterators_past(__n);
-    }
-    else
-    {
-        size_type __sz = size();
-        __grow_by_and_replace(__cap, __n - __cap, __sz, 0, __sz, __n, __s);
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::assign(size_type __n, value_type __c)
-{
-    size_type __cap = capacity();
-    if (__cap < __n)
-    {
-        size_type __sz = size();
-        __grow_by(__cap, __n - __cap, __sz, 0, __sz);
-    }
-    else
-        __invalidate_iterators_past(__n);
-    value_type* __p = _VSTD::__to_raw_pointer(__get_pointer());
-    traits_type::assign(__p, __n, __c);
-    traits_type::assign(__p[__n], value_type());
-    __set_size(__n);
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::operator=(value_type __c)
-{
-    pointer __p;
-    if (__is_long())
-    {
-        __p = __get_long_pointer();
-        __set_long_size(1);
-    }
-    else
-    {
-        __p = __get_short_pointer();
-        __set_short_size(1);
-    }
-    traits_type::assign(*__p, __c);
-    traits_type::assign(*++__p, value_type());
-    __invalidate_iterators_past(1);
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::operator=(const basic_string& __str)
-{
-    if (this != &__str)
-    {
-        __copy_assign_alloc(__str);
-        assign(__str.data(), __str.size());
-    }
-    return *this;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, false_type)
-    _NOEXCEPT_(__alloc_traits::is_always_equal::value)
-{
-    if (__alloc() != __str.__alloc())
-        assign(__str);
-    else
-        __move_assign(__str, true_type());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, true_type)
-#if _LIBCPP_STD_VER > 14
-    _NOEXCEPT
-#else
-    _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-#endif
-{
-    __clear_and_shrink();
-    __r_.first() = __str.__r_.first();
-    __move_assign_alloc(__str);
-    __str.__zero();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::operator=(basic_string&& __str)
-    _NOEXCEPT_((__noexcept_move_assign_container<_Allocator, __alloc_traits>::value))
-{
-    __move_assign(__str, integral_constant<bool,
-          __alloc_traits::propagate_on_container_move_assignment::value>());
-    return *this;
-}
-
-#endif
-
-template <class _CharT, class _Traits, class _Allocator>
-template<class _InputIterator>
-typename enable_if
-<
-     __is_exactly_input_iterator <_InputIterator>::value
-          || !__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
-    basic_string<_CharT, _Traits, _Allocator>&
->::type
-basic_string<_CharT, _Traits, _Allocator>::assign(_InputIterator __first, _InputIterator __last)
-{
-    const basic_string __temp(__first, __last, __alloc());
-    assign(__temp.data(), __temp.size());
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template<class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value
-         && __libcpp_string_gets_noexcept_iterator<_ForwardIterator>::value,
-    basic_string<_CharT, _Traits, _Allocator>&
->::type
-basic_string<_CharT, _Traits, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last)
-{
-    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
-    size_type __cap = capacity();
-    if (__cap < __n)
-    {
-        size_type __sz = size();
-        __grow_by(__cap, __n - __cap, __sz, 0, __sz);
-    }
-    else
-        __invalidate_iterators_past(__n);
-    pointer __p = __get_pointer();
-    for (; __first != __last; ++__first, ++__p)
-        traits_type::assign(*__p, *__first);
-    traits_type::assign(*__p, value_type());
-    __set_size(__n);
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::assign(const basic_string& __str, size_type __pos, size_type __n)
-{
-    size_type __sz = __str.size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    return assign(__str.data() + __pos, _VSTD::min(__n, __sz - __pos));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    basic_string<_CharT, _Traits, _Allocator>&
->::type
-basic_string<_CharT, _Traits, _Allocator>::assign(const _Tp & __t, size_type __pos, size_type __n)
-{
-    __self_view __sv = __t;
-    size_type __sz = __sv.size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    return assign(__sv.data() + __pos, _VSTD::min(__n, __sz - __pos));
-}
-
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::assign(const value_type* __s)
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::assign received nullptr");
-    return assign(__s, traits_type::length(__s));
-}
-
-// append
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s, size_type __n)
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::append received nullptr");
-    size_type __cap = capacity();
-    size_type __sz = size();
-    if (__cap - __sz >= __n)
-    {
-        if (__n)
-        {
-            value_type* __p = _VSTD::__to_raw_pointer(__get_pointer());
-            traits_type::copy(__p + __sz, __s, __n);
-            __sz += __n;
-            __set_size(__sz);
-            traits_type::assign(__p[__sz], value_type());
-        }
-    }
-    else
-        __grow_by_and_replace(__cap, __sz + __n - __cap, __sz, __sz, 0, __n, __s);
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::append(size_type __n, value_type __c)
-{
-    if (__n)
-    {
-        size_type __cap = capacity();
-        size_type __sz = size();
-        if (__cap - __sz < __n)
-            __grow_by(__cap, __sz + __n - __cap, __sz, __sz, 0);
-        pointer __p = __get_pointer();
-        traits_type::assign(_VSTD::__to_raw_pointer(__p) + __sz, __n, __c);
-        __sz += __n;
-        __set_size(__sz);
-        traits_type::assign(__p[__sz], value_type());
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline void
-basic_string<_CharT, _Traits, _Allocator>::__append_default_init(size_type __n)
-{
-    if (__n)
-    {
-        size_type __cap = capacity();
-        size_type __sz = size();
-        if (__cap - __sz < __n)
-            __grow_by(__cap, __sz + __n - __cap, __sz, __sz, 0);
-        pointer __p = __get_pointer();
-        __sz += __n;
-        __set_size(__sz);
-        traits_type::assign(__p[__sz], value_type());
-    }
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_string<_CharT, _Traits, _Allocator>::push_back(value_type __c)
-{
-    bool __is_short = !__is_long();
-    size_type __cap;
-    size_type __sz;
-    if (__is_short)
-    {
-        __cap = __min_cap - 1;
-        __sz = __get_short_size();
-    }
-    else
-    {
-        __cap = __get_long_cap() - 1;
-        __sz = __get_long_size();
-    }
-    if (__sz == __cap)
-    {
-        __grow_by(__cap, 1, __sz, __sz, 0);
-        __is_short = !__is_long();
-    }
-    pointer __p;
-    if (__is_short)
-    {
-        __p = __get_short_pointer() + __sz;
-        __set_short_size(__sz+1);
-    }
-    else
-    {
-        __p = __get_long_pointer() + __sz;
-        __set_long_size(__sz+1);
-    }
-    traits_type::assign(*__p, __c);
-    traits_type::assign(*++__p, value_type());
-}
-
-template <class _Tp>
-bool __ptr_in_range (const _Tp* __p, const _Tp* __first, const _Tp* __last)
-{
-    return __first <= __p && __p < __last;
-}
-
-template <class _Tp1, class _Tp2>
-bool __ptr_in_range (const _Tp1*, const _Tp2*, const _Tp2*)
-{
-    return false;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template<class _ForwardIterator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::__append_forward_unsafe(
-    _ForwardIterator __first, _ForwardIterator __last)
-{
-    static_assert(__is_forward_iterator<_ForwardIterator>::value,
-                  "function requires a ForwardIterator");
-    size_type __sz = size();
-    size_type __cap = capacity();
-    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
-    if (__n)
-    {
-        typedef typename iterator_traits<_ForwardIterator>::reference _CharRef;
-        _CharRef __tmp_ref = *__first;
-        if (__ptr_in_range(_VSTD::addressof(__tmp_ref), data(), data() + size()))
-        {
-            const basic_string __temp (__first, __last, __alloc());
-            append(__temp.data(), __temp.size());
-        }
-        else
-        {
-            if (__cap - __sz < __n)
-                __grow_by(__cap, __sz + __n - __cap, __sz, __sz, 0);
-            pointer __p = __get_pointer() + __sz;
-            for (; __first != __last; ++__p, ++__first)
-                traits_type::assign(*__p, *__first);
-            traits_type::assign(*__p, value_type());
-            __set_size(__sz + __n);
-        }
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::append(const basic_string& __str)
-{
-    return append(__str.data(), __str.size());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::append(const basic_string& __str, size_type __pos, size_type __n)
-{
-    size_type __sz = __str.size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    return append(__str.data() + __pos, _VSTD::min(__n, __sz - __pos));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-    typename enable_if
-    <
-        __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-        basic_string<_CharT, _Traits, _Allocator>&
-    >::type
-basic_string<_CharT, _Traits, _Allocator>::append(const _Tp & __t, size_type __pos, size_type __n)
-{
-    __self_view __sv = __t;
-    size_type __sz = __sv.size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    return append(__sv.data() + __pos, _VSTD::min(__n, __sz - __pos));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::append(const value_type* __s)
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::append received nullptr");
-    return append(__s, traits_type::length(__s));
-}
-
-// insert
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s, size_type __n)
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::insert received nullptr");
-    size_type __sz = size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    size_type __cap = capacity();
-    if (__cap - __sz >= __n)
-    {
-        if (__n)
-        {
-            value_type* __p = _VSTD::__to_raw_pointer(__get_pointer());
-            size_type __n_move = __sz - __pos;
-            if (__n_move != 0)
-            {
-                if (__p + __pos <= __s && __s < __p + __sz)
-                    __s += __n;
-                traits_type::move(__p + __pos + __n, __p + __pos, __n_move);
-            }
-            traits_type::move(__p + __pos, __s, __n);
-            __sz += __n;
-            __set_size(__sz);
-            traits_type::assign(__p[__sz], value_type());
-        }
-    }
-    else
-        __grow_by_and_replace(__cap, __sz + __n - __cap, __sz, __pos, 0, __n, __s);
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, size_type __n, value_type __c)
-{
-    size_type __sz = size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    if (__n)
-    {
-        size_type __cap = capacity();
-        value_type* __p;
-        if (__cap - __sz >= __n)
-        {
-            __p = _VSTD::__to_raw_pointer(__get_pointer());
-            size_type __n_move = __sz - __pos;
-            if (__n_move != 0)
-                traits_type::move(__p + __pos + __n, __p + __pos, __n_move);
-        }
-        else
-        {
-            __grow_by(__cap, __sz + __n - __cap, __sz, __pos, 0, __n);
-            __p = _VSTD::__to_raw_pointer(__get_long_pointer());
-        }
-        traits_type::assign(__p + __pos, __n, __c);
-        __sz += __n;
-        __set_size(__sz);
-        traits_type::assign(__p[__sz], value_type());
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template<class _InputIterator>
-typename enable_if
-<
-   __is_exactly_input_iterator<_InputIterator>::value
-        || !__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
-   typename basic_string<_CharT, _Traits, _Allocator>::iterator
->::type
-basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, _InputIterator __first, _InputIterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__pos) == this,
-        "string::insert(iterator, range) called with an iterator not"
-        " referring to this string");
-#endif
-    const basic_string __temp(__first, __last, __alloc());
-    return insert(__pos, __temp.data(), __temp.data() + __temp.size());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template<class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value
-        && __libcpp_string_gets_noexcept_iterator<_ForwardIterator>::value,
-    typename basic_string<_CharT, _Traits, _Allocator>::iterator
->::type
-basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, _ForwardIterator __first, _ForwardIterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__pos) == this,
-        "string::insert(iterator, range) called with an iterator not"
-        " referring to this string");
-#endif
-    size_type __ip = static_cast<size_type>(__pos - begin());
-    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
-    if (__n)
-    {
-        typedef typename iterator_traits<_ForwardIterator>::reference _CharRef;
-        _CharRef __tmp_char = *__first;
-        if (__ptr_in_range(_VSTD::addressof(__tmp_char), data(), data() + size()))
-        {
-            const basic_string __temp(__first, __last, __alloc());
-            return insert(__pos, __temp.data(), __temp.data() + __temp.size());
-        }
-
-        size_type __sz = size();
-        size_type __cap = capacity();
-        value_type* __p;
-        if (__cap - __sz >= __n)
-        {
-            __p = _VSTD::__to_raw_pointer(__get_pointer());
-            size_type __n_move = __sz - __ip;
-            if (__n_move != 0)
-                traits_type::move(__p + __ip + __n, __p + __ip, __n_move);
-        }
-        else
-        {
-            __grow_by(__cap, __sz + __n - __cap, __sz, __ip, 0, __n);
-            __p = _VSTD::__to_raw_pointer(__get_long_pointer());
-        }
-        __sz += __n;
-        __set_size(__sz);
-        traits_type::assign(__p[__sz], value_type());
-        for (__p += __ip; __first != __last; ++__p, ++__first)
-            traits_type::assign(*__p, *__first);
-    }
-    return begin() + __ip;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos1, const basic_string& __str)
-{
-    return insert(__pos1, __str.data(), __str.size());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos1, const basic_string& __str,
-                                                  size_type __pos2, size_type __n)
-{
-    size_type __str_sz = __str.size();
-    if (__pos2 > __str_sz)
-        this->__throw_out_of_range();
-    return insert(__pos1, __str.data() + __pos2, _VSTD::min(__n, __str_sz - __pos2));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    basic_string<_CharT, _Traits, _Allocator>&
->::type
-basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos1, const _Tp& __t,
-                                                  size_type __pos2, size_type __n)
-{
-    __self_view __sv = __t;
-    size_type __str_sz = __sv.size();
-    if (__pos2 > __str_sz)
-        this->__throw_out_of_range();
-    return insert(__pos1, __sv.data() + __pos2, _VSTD::min(__n, __str_sz - __pos2));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::insert(size_type __pos, const value_type* __s)
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::insert received nullptr");
-    return insert(__pos, __s, traits_type::length(__s));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::iterator
-basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, value_type __c)
-{
-    size_type __ip = static_cast<size_type>(__pos - begin());
-    size_type __sz = size();
-    size_type __cap = capacity();
-    value_type* __p;
-    if (__cap == __sz)
-    {
-        __grow_by(__cap, 1, __sz, __ip, 0, 1);
-        __p = _VSTD::__to_raw_pointer(__get_long_pointer());
-    }
-    else
-    {
-        __p = _VSTD::__to_raw_pointer(__get_pointer());
-        size_type __n_move = __sz - __ip;
-        if (__n_move != 0)
-            traits_type::move(__p + __ip + 1, __p + __ip, __n_move);
-    }
-    traits_type::assign(__p[__ip], __c);
-    traits_type::assign(__p[++__sz], value_type());
-    __set_size(__sz);
-    return begin() + static_cast<difference_type>(__ip);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::iterator
-basic_string<_CharT, _Traits, _Allocator>::insert(const_iterator __pos, size_type __n, value_type __c)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__pos) == this,
-        "string::insert(iterator, n, value) called with an iterator not"
-        " referring to this string");
-#endif
-    difference_type __p = __pos - begin();
-    insert(static_cast<size_type>(__p), __n, __c);
-    return begin() + __p;
-}
-
-// replace
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, const value_type* __s, size_type __n2)
-    _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-{
-    _LIBCPP_ASSERT(__n2 == 0 || __s != nullptr, "string::replace received nullptr");
-    size_type __sz = size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    __n1 = _VSTD::min(__n1, __sz - __pos);
-    size_type __cap = capacity();
-    if (__cap - __sz + __n1 >= __n2)
-    {
-        value_type* __p = _VSTD::__to_raw_pointer(__get_pointer());
-        if (__n1 != __n2)
-        {
-            size_type __n_move = __sz - __pos - __n1;
-            if (__n_move != 0)
-            {
-                if (__n1 > __n2)
-                {
-                    traits_type::move(__p + __pos, __s, __n2);
-                    traits_type::move(__p + __pos + __n2, __p + __pos + __n1, __n_move);
-                    goto __finish;
-                }
-                if (__p + __pos < __s && __s < __p + __sz)
-                {
-                    if (__p + __pos + __n1 <= __s)
-                        __s += __n2 - __n1;
-                    else // __p + __pos < __s < __p + __pos + __n1
-                    {
-                        traits_type::move(__p + __pos, __s, __n1);
-                        __pos += __n1;
-                        __s += __n2;
-                        __n2 -= __n1;
-                        __n1 = 0;
-                    }
-                }
-                traits_type::move(__p + __pos + __n2, __p + __pos + __n1, __n_move);
-            }
-        }
-        traits_type::move(__p + __pos, __s, __n2);
-__finish:
-// __sz += __n2 - __n1; in this and the below function below can cause unsigned integer overflow,
-// but this is a safe operation, so we disable the check.
-        __sz += __n2 - __n1;
-        __set_size(__sz);
-        __invalidate_iterators_past(__sz);
-        traits_type::assign(__p[__sz], value_type());
-    }
-    else
-        __grow_by_and_replace(__cap, __sz - __n1 + __n2 - __cap, __sz, __pos, __n1, __n2, __s);
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, size_type __n2, value_type __c)
-    _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-{
-    size_type __sz = size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    __n1 = _VSTD::min(__n1, __sz - __pos);
-    size_type __cap = capacity();
-    value_type* __p;
-    if (__cap - __sz + __n1 >= __n2)
-    {
-        __p = _VSTD::__to_raw_pointer(__get_pointer());
-        if (__n1 != __n2)
-        {
-            size_type __n_move = __sz - __pos - __n1;
-            if (__n_move != 0)
-                traits_type::move(__p + __pos + __n2, __p + __pos + __n1, __n_move);
-        }
-    }
-    else
-    {
-        __grow_by(__cap, __sz - __n1 + __n2 - __cap, __sz, __pos, __n1, __n2);
-        __p = _VSTD::__to_raw_pointer(__get_long_pointer());
-    }
-    traits_type::assign(__p + __pos, __n2, __c);
-    __sz += __n2 - __n1;
-    __set_size(__sz);
-    __invalidate_iterators_past(__sz);
-    traits_type::assign(__p[__sz], value_type());
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template<class _InputIterator>
-typename enable_if
-<
-    __is_input_iterator<_InputIterator>::value,
-    basic_string<_CharT, _Traits, _Allocator>&
->::type
-basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2,
-                                                   _InputIterator __j1, _InputIterator __j2)
-{
-    const basic_string __temp(__j1, __j2, __alloc());
-    return this->replace(__i1, __i2, __temp);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos1, size_type __n1, const basic_string& __str)
-{
-    return replace(__pos1, __n1, __str.data(), __str.size());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos1, size_type __n1, const basic_string& __str,
-                                                   size_type __pos2, size_type __n2)
-{
-    size_type __str_sz = __str.size();
-    if (__pos2 > __str_sz)
-        this->__throw_out_of_range();
-    return replace(__pos1, __n1, __str.data() + __pos2, _VSTD::min(__n2, __str_sz - __pos2));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    basic_string<_CharT, _Traits, _Allocator>&
->::type
-basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos1, size_type __n1, const _Tp& __t,
-                                                   size_type __pos2, size_type __n2)
-{
-    __self_view __sv = __t;
-    size_type __str_sz = __sv.size();
-    if (__pos2 > __str_sz)
-        this->__throw_out_of_range();
-    return replace(__pos1, __n1, __sv.data() + __pos2, _VSTD::min(__n2, __str_sz - __pos2));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __n1, const value_type* __s)
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::replace received nullptr");
-    return replace(__pos, __n1, __s, traits_type::length(__s));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2, const basic_string& __str)
-{
-    return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1),
-                   __str.data(), __str.size());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2, const value_type* __s, size_type __n)
-{
-    return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __s, __n);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2, const value_type* __s)
-{
-    return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __s);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2, size_type __n, value_type __c)
-{
-    return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __n, __c);
-}
-
-// erase
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>&
-basic_string<_CharT, _Traits, _Allocator>::erase(size_type __pos, size_type __n)
-{
-    size_type __sz = size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    if (__n)
-    {
-        value_type* __p = _VSTD::__to_raw_pointer(__get_pointer());
-        __n = _VSTD::min(__n, __sz - __pos);
-        size_type __n_move = __sz - __pos - __n;
-        if (__n_move != 0)
-            traits_type::move(__p + __pos, __p + __pos + __n, __n_move);
-        __sz -= __n;
-        __set_size(__sz);
-        __invalidate_iterators_past(__sz);
-        traits_type::assign(__p[__sz], value_type());
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::iterator
-basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __pos)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__pos) == this,
-        "string::erase(iterator) called with an iterator not"
-        " referring to this string");
-#endif
-    _LIBCPP_ASSERT(__pos != end(),
-        "string::erase(iterator) called with a non-dereferenceable iterator");
-    iterator __b = begin();
-    size_type __r = static_cast<size_type>(__pos - __b);
-    erase(__r, 1);
-    return __b + static_cast<difference_type>(__r);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::iterator
-basic_string<_CharT, _Traits, _Allocator>::erase(const_iterator __first, const_iterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__first) == this,
-        "string::erase(iterator,  iterator) called with an iterator not"
-        " referring to this string");
-#endif
-    _LIBCPP_ASSERT(__first <= __last, "string::erase(first, last) called with invalid range");
-    iterator __b = begin();
-    size_type __r = static_cast<size_type>(__first - __b);
-    erase(__r, static_cast<size_type>(__last - __first));
-    return __b + static_cast<difference_type>(__r);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::pop_back()
-{
-    _LIBCPP_ASSERT(!empty(), "string::pop_back(): string is already empty");
-    size_type __sz;
-    if (__is_long())
-    {
-        __sz = __get_long_size() - 1;
-        __set_long_size(__sz);
-        traits_type::assign(*(__get_long_pointer() + __sz), value_type());
-    }
-    else
-    {
-        __sz = __get_short_size() - 1;
-        __set_short_size(__sz);
-        traits_type::assign(*(__get_short_pointer() + __sz), value_type());
-    }
-    __invalidate_iterators_past(__sz);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::clear() _NOEXCEPT
-{
-    __invalidate_all_iterators();
-    if (__is_long())
-    {
-        traits_type::assign(*__get_long_pointer(), value_type());
-        __set_long_size(0);
-    }
-    else
-    {
-        traits_type::assign(*__get_short_pointer(), value_type());
-        __set_short_size(0);
-    }
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::__erase_to_end(size_type __pos)
-{
-    if (__is_long())
-    {
-        traits_type::assign(*(__get_long_pointer() + __pos), value_type());
-        __set_long_size(__pos);
-    }
-    else
-    {
-        traits_type::assign(*(__get_short_pointer() + __pos), value_type());
-        __set_short_size(__pos);
-    }
-    __invalidate_iterators_past(__pos);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_string<_CharT, _Traits, _Allocator>::resize(size_type __n, value_type __c)
-{
-    size_type __sz = size();
-    if (__n > __sz)
-        append(__n - __sz, __c);
-    else
-        __erase_to_end(__n);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline void
-basic_string<_CharT, _Traits, _Allocator>::__resize_default_init(size_type __n)
-{
-    size_type __sz = size();
-    if (__n > __sz) {
-       __append_default_init(__n - __sz);
-    } else
-        __erase_to_end(__n);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::max_size() const _NOEXCEPT
-{
-    size_type __m = __alloc_traits::max_size(__alloc());
-#ifdef _LIBCPP_BIG_ENDIAN
-    return (__m <= ~__long_mask ? __m : __m/2) - __alignment;
-#else
-    return __m - __alignment;
-#endif
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __res_arg)
-{
-    if (__res_arg > max_size())
-        this->__throw_length_error();
-    size_type __cap = capacity();
-    size_type __sz = size();
-    __res_arg = _VSTD::max(__res_arg, __sz);
-    __res_arg = __recommend(__res_arg);
-    if (__res_arg != __cap)
-    {
-        pointer __new_data, __p;
-        bool __was_long, __now_long;
-        if (__res_arg == __min_cap - 1)
-        {
-            __was_long = true;
-            __now_long = false;
-            __new_data = __get_short_pointer();
-            __p = __get_long_pointer();
-        }
-        else
-        {
-            if (__res_arg > __cap)
-                __new_data = __alloc_traits::allocate(__alloc(), __res_arg+1);
-            else
-            {
-            #ifndef _LIBCPP_NO_EXCEPTIONS
-                try
-                {
-            #endif  // _LIBCPP_NO_EXCEPTIONS
-                    __new_data = __alloc_traits::allocate(__alloc(), __res_arg+1);
-            #ifndef _LIBCPP_NO_EXCEPTIONS
-                }
-                catch (...)
-                {
-                    return;
-                }
-            #else  // _LIBCPP_NO_EXCEPTIONS
-                if (__new_data == nullptr)
-                    return;
-            #endif  // _LIBCPP_NO_EXCEPTIONS
-            }
-            __now_long = true;
-            __was_long = __is_long();
-            __p = __get_pointer();
-        }
-        traits_type::copy(_VSTD::__to_raw_pointer(__new_data),
-                          _VSTD::__to_raw_pointer(__p), size()+1);
-        if (__was_long)
-            __alloc_traits::deallocate(__alloc(), __p, __cap+1);
-        if (__now_long)
-        {
-            __set_long_cap(__res_arg+1);
-            __set_long_size(__sz);
-            __set_long_pointer(__new_data);
-        }
-        else
-            __set_short_size(__sz);
-        __invalidate_all_iterators();
-    }
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::const_reference
-basic_string<_CharT, _Traits, _Allocator>::operator[](size_type __pos) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__pos <= size(), "string index out of bounds");
-    return *(data() + __pos);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::reference
-basic_string<_CharT, _Traits, _Allocator>::operator[](size_type __pos) _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__pos <= size(), "string index out of bounds");
-    return *(__get_pointer() + __pos);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::const_reference
-basic_string<_CharT, _Traits, _Allocator>::at(size_type __n) const
-{
-    if (__n >= size())
-        this->__throw_out_of_range();
-    return (*this)[__n];
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::reference
-basic_string<_CharT, _Traits, _Allocator>::at(size_type __n)
-{
-    if (__n >= size())
-        this->__throw_out_of_range();
-    return (*this)[__n];
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::reference
-basic_string<_CharT, _Traits, _Allocator>::front() _NOEXCEPT
-{
-    _LIBCPP_ASSERT(!empty(), "string::front(): string is empty");
-    return *__get_pointer();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::const_reference
-basic_string<_CharT, _Traits, _Allocator>::front() const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(!empty(), "string::front(): string is empty");
-    return *data();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::reference
-basic_string<_CharT, _Traits, _Allocator>::back() _NOEXCEPT
-{
-    _LIBCPP_ASSERT(!empty(), "string::back(): string is empty");
-    return *(__get_pointer() + size() - 1);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::const_reference
-basic_string<_CharT, _Traits, _Allocator>::back() const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(!empty(), "string::back(): string is empty");
-    return *(data() + size() - 1);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::copy(value_type* __s, size_type __n, size_type __pos) const
-{
-    size_type __sz = size();
-    if (__pos > __sz)
-        this->__throw_out_of_range();
-    size_type __rlen = _VSTD::min(__n, __sz - __pos);
-    traits_type::copy(__s, data() + __pos, __rlen);
-    return __rlen;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>
-basic_string<_CharT, _Traits, _Allocator>::substr(size_type __pos, size_type __n) const
-{
-    return basic_string(*this, __pos, __n, __alloc());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::swap(basic_string& __str)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value)
-#endif
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    if (!__is_long())
-        __get_db()->__invalidate_all(this);
-    if (!__str.__is_long())
-        __get_db()->__invalidate_all(&__str);
-    __get_db()->swap(this, &__str);
-#endif
-    _LIBCPP_ASSERT(
-        __alloc_traits::propagate_on_container_swap::value ||
-        __alloc_traits::is_always_equal::value ||
-        __alloc() == __str.__alloc(), "swapping non-equal allocators");
-    _VSTD::swap(__r_.first(), __str.__r_.first());
-    __swap_allocator(__alloc(), __str.__alloc());
-}
-
-// find
-
-template <class _Traits>
-struct _LIBCPP_HIDDEN __traits_eq
-{
-    typedef typename _Traits::char_type char_type;
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const char_type& __x, const char_type& __y) _NOEXCEPT
-        {return _Traits::eq(__x, __y);}
-};
-
-template<class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s,
-                                                size_type __pos,
-                                                size_type __n) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find(): received nullptr");
-    return __str_find<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, __n);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find(const basic_string& __str,
-                                                size_type __pos) const _NOEXCEPT
-{
-    return __str_find<value_type, size_type, traits_type, npos>
-        (data(), size(), __str.data(), __pos, __str.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type
->::type
-basic_string<_CharT, _Traits, _Allocator>::find(const _Tp &__t,
-                                                size_type __pos) const
-{
-    __self_view __sv = __t;
-    return __str_find<value_type, size_type, traits_type, npos>
-        (data(), size(), __sv.data(), __pos, __sv.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find(const value_type* __s,
-                                                size_type __pos) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::find(): received nullptr");
-    return __str_find<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, traits_type::length(__s));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find(value_type __c,
-                                                size_type __pos) const _NOEXCEPT
-{
-    return __str_find<value_type, size_type, traits_type, npos>
-        (data(), size(), __c, __pos);
-}
-
-// rfind
-
-template<class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::rfind(const value_type* __s,
-                                                 size_type __pos,
-                                                 size_type __n) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::rfind(): received nullptr");
-    return __str_rfind<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, __n);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::rfind(const basic_string& __str,
-                                                 size_type __pos) const _NOEXCEPT
-{
-    return __str_rfind<value_type, size_type, traits_type, npos>
-        (data(), size(), __str.data(), __pos, __str.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type
->::type
-basic_string<_CharT, _Traits, _Allocator>::rfind(const _Tp& __t,
-                                                size_type __pos) const
-{
-    __self_view __sv = __t;
-    return __str_rfind<value_type, size_type, traits_type, npos>
-        (data(), size(), __sv.data(), __pos, __sv.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::rfind(const value_type* __s,
-                                                 size_type __pos) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::rfind(): received nullptr");
-    return __str_rfind<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, traits_type::length(__s));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::rfind(value_type __c,
-                                                 size_type __pos) const _NOEXCEPT
-{
-    return __str_rfind<value_type, size_type, traits_type, npos>
-        (data(), size(), __c, __pos);
-}
-
-// find_first_of
-
-template<class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s,
-                                                         size_type __pos,
-                                                         size_type __n) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find_first_of(): received nullptr");
-    return __str_find_first_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, __n);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_first_of(const basic_string& __str,
-                                                         size_type __pos) const _NOEXCEPT
-{
-    return __str_find_first_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __str.data(), __pos, __str.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type
->::type
-basic_string<_CharT, _Traits, _Allocator>::find_first_of(const _Tp& __t,
-                                                size_type __pos) const
-{
-    __self_view __sv = __t;
-    return __str_find_first_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __sv.data(), __pos, __sv.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s,
-                                                         size_type __pos) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::find_first_of(): received nullptr");
-    return __str_find_first_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, traits_type::length(__s));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_first_of(value_type __c,
-                                                         size_type __pos) const _NOEXCEPT
-{
-    return find(__c, __pos);
-}
-
-// find_last_of
-
-template<class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s,
-                                                        size_type __pos,
-                                                        size_type __n) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find_last_of(): received nullptr");
-    return __str_find_last_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, __n);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_last_of(const basic_string& __str,
-                                                        size_type __pos) const _NOEXCEPT
-{
-    return __str_find_last_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __str.data(), __pos, __str.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type
->::type
-basic_string<_CharT, _Traits, _Allocator>::find_last_of(const _Tp& __t,
-                                                size_type __pos) const
-{
-    __self_view __sv = __t;
-    return __str_find_last_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __sv.data(), __pos, __sv.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s,
-                                                        size_type __pos) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::find_last_of(): received nullptr");
-    return __str_find_last_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, traits_type::length(__s));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_last_of(value_type __c,
-                                                        size_type __pos) const _NOEXCEPT
-{
-    return rfind(__c, __pos);
-}
-
-// find_first_not_of
-
-template<class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* __s,
-                                                             size_type __pos,
-                                                             size_type __n) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find_first_not_of(): received nullptr");
-    return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, __n);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const basic_string& __str,
-                                                             size_type __pos) const _NOEXCEPT
-{
-    return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __str.data(), __pos, __str.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type
->::type
-basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const _Tp& __t,
-                                                size_type __pos) const
-{
-    __self_view __sv = __t;
-    return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __sv.data(), __pos, __sv.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* __s,
-                                                             size_type __pos) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::find_first_not_of(): received nullptr");
-    return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, traits_type::length(__s));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(value_type __c,
-                                                             size_type __pos) const _NOEXCEPT
-{
-    return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __c, __pos);
-}
-
-// find_last_not_of
-
-template<class _CharT, class _Traits, class _Allocator>
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __s,
-                                                            size_type __pos,
-                                                            size_type __n) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find_last_not_of(): received nullptr");
-    return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, __n);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const basic_string& __str,
-                                                            size_type __pos) const _NOEXCEPT
-{
-    return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __str.data(), __pos, __str.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type
->::type
-basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const _Tp& __t,
-                                                size_type __pos) const
-{
-    __self_view __sv = __t;
-    return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __sv.data(), __pos, __sv.size());
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __s,
-                                                            size_type __pos) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::find_last_not_of(): received nullptr");
-    return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __s, __pos, traits_type::length(__s));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-typename basic_string<_CharT, _Traits, _Allocator>::size_type
-basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(value_type __c,
-                                                            size_type __pos) const _NOEXCEPT
-{
-    return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-        (data(), size(), __c, __pos);
-}
-
-// compare
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    int
->::type
-basic_string<_CharT, _Traits, _Allocator>::compare(const _Tp& __t) const
-{
-    __self_view __sv = __t;
-    size_t __lhs_sz = size();
-    size_t __rhs_sz = __sv.size();
-    int __result = traits_type::compare(data(), __sv.data(),
-                                        _VSTD::min(__lhs_sz, __rhs_sz));
-    if (__result != 0)
-        return __result;
-    if (__lhs_sz < __rhs_sz)
-        return -1;
-    if (__lhs_sz > __rhs_sz)
-        return 1;
-    return 0;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-int
-basic_string<_CharT, _Traits, _Allocator>::compare(const basic_string& __str) const _NOEXCEPT
-{
-    return compare(__self_view(__str));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-int
-basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
-                                                   size_type __n1,
-                                                   const value_type* __s,
-                                                   size_type __n2) const
-{
-    _LIBCPP_ASSERT(__n2 == 0 || __s != nullptr, "string::compare(): received nullptr");
-    size_type __sz = size();
-    if (__pos1 > __sz || __n2 == npos)
-        this->__throw_out_of_range();
-    size_type __rlen = _VSTD::min(__n1, __sz - __pos1);
-    int __r = traits_type::compare(data() + __pos1, __s, _VSTD::min(__rlen, __n2));
-    if (__r == 0)
-    {
-        if (__rlen < __n2)
-            __r = -1;
-        else if (__rlen > __n2)
-            __r = 1;
-    }
-    return __r;
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    int
->::type
-basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
-                                                   size_type __n1,
-                                                   const _Tp& __t) const
-{
-    __self_view __sv = __t;
-    return compare(__pos1, __n1, __sv.data(), __sv.size());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline
-int
-basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
-                                                   size_type __n1,
-                                                   const basic_string& __str) const
-{
-    return compare(__pos1, __n1, __str.data(), __str.size());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-template <class _Tp>
-typename enable_if
-<
-    __can_be_converted_to_string_view<_CharT, _Traits, _Tp>::value,
-    int
->::type
-basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
-                                                   size_type __n1,
-                                                   const _Tp& __t,
-                                                   size_type __pos2,
-                                                   size_type __n2) const
-{
-    __self_view __sv = __t;
-    return __self_view(*this).substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-int
-basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
-                                                   size_type __n1,
-                                                   const basic_string& __str,
-                                                   size_type __pos2,
-                                                   size_type __n2) const
-{
-        return compare(__pos1, __n1, __self_view(__str), __pos2, __n2);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-int
-basic_string<_CharT, _Traits, _Allocator>::compare(const value_type* __s) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::compare(): received nullptr");
-    return compare(0, npos, __s, traits_type::length(__s));
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-int
-basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1,
-                                                   size_type __n1,
-                                                   const value_type* __s) const
-{
-    _LIBCPP_ASSERT(__s != nullptr, "string::compare(): received nullptr");
-    return compare(__pos1, __n1, __s, traits_type::length(__s));
-}
-
-// __invariants
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-bool
-basic_string<_CharT, _Traits, _Allocator>::__invariants() const
-{
-    if (size() > capacity())
-        return false;
-    if (capacity() < __min_cap - 1)
-        return false;
-    if (data() == 0)
-        return false;
-    if (data()[size()] != value_type(0))
-        return false;
-    return true;
-}
-
-// __clear_and_shrink
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-void
-basic_string<_CharT, _Traits, _Allocator>::__clear_and_shrink() _NOEXCEPT
-{
-    clear();
-    if(__is_long())
-    {
-        __alloc_traits::deallocate(__alloc(), __get_long_pointer(), capacity() + 1);
-        __set_long_cap(0);
-        __set_short_size(0);
-    }
-}
-
-// operator==
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    size_t __lhs_sz = __lhs.size();
-    return __lhs_sz == __rhs.size() && _Traits::compare(__lhs.data(),
-                                                        __rhs.data(),
-                                                        __lhs_sz) == 0;
-}
-
-template<class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const basic_string<char, char_traits<char>, _Allocator>& __lhs,
-           const basic_string<char, char_traits<char>, _Allocator>& __rhs) _NOEXCEPT
-{
-    size_t __lhs_sz = __lhs.size();
-    if (__lhs_sz != __rhs.size())
-        return false;
-    const char* __lp = __lhs.data();
-    const char* __rp = __rhs.data();
-    if (__lhs.__is_long())
-        return char_traits<char>::compare(__lp, __rp, __lhs_sz) == 0;
-    for (; __lhs_sz != 0; --__lhs_sz, ++__lp, ++__rp)
-        if (*__lp != *__rp)
-            return false;
-    return true;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const _CharT* __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    typedef basic_string<_CharT, _Traits, _Allocator> _String;
-    _LIBCPP_ASSERT(__lhs != nullptr, "operator==(char*, basic_string): received nullptr");
-    size_t __lhs_len = _Traits::length(__lhs);
-    if (__lhs_len != __rhs.size()) return false;
-    return __rhs.compare(0, _String::npos, __lhs, __lhs_len) == 0;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
-           const _CharT* __rhs) _NOEXCEPT
-{
-    typedef basic_string<_CharT, _Traits, _Allocator> _String;
-    _LIBCPP_ASSERT(__rhs != nullptr, "operator==(basic_string, char*): received nullptr");
-    size_t __rhs_len = _Traits::length(__rhs);
-    if (__rhs_len != __lhs.size()) return false;
-    return __lhs.compare(0, _String::npos, __rhs, __rhs_len) == 0;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return !(__lhs == __rhs);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const _CharT* __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return !(__lhs == __rhs);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const _CharT* __rhs) _NOEXCEPT
-{
-    return !(__lhs == __rhs);
-}
-
-// operator<
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) < 0;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const _CharT* __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) < 0;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const _CharT* __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return __rhs.compare(__lhs) > 0;
-}
-
-// operator>
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return __rhs < __lhs;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const _CharT* __rhs) _NOEXCEPT
-{
-    return __rhs < __lhs;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const _CharT* __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return __rhs < __lhs;
-}
-
-// operator<=
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return !(__rhs < __lhs);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const _CharT* __rhs) _NOEXCEPT
-{
-    return !(__rhs < __lhs);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const _CharT* __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return !(__rhs < __lhs);
-}
-
-// operator>=
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return !(__lhs < __rhs);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-           const _CharT* __rhs) _NOEXCEPT
-{
-    return !(__lhs < __rhs);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const _CharT* __lhs,
-           const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT
-{
-    return !(__lhs < __rhs);
-}
-
-// operator +
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
-          const basic_string<_CharT, _Traits, _Allocator>& __rhs)
-{
-    basic_string<_CharT, _Traits, _Allocator> __r(__lhs.get_allocator());
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type __lhs_sz = __lhs.size();
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type __rhs_sz = __rhs.size();
-    __r.__init(__lhs.data(), __lhs_sz, __lhs_sz + __rhs_sz);
-    __r.append(__rhs.data(), __rhs_sz);
-    return __r;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const _CharT* __lhs , const basic_string<_CharT,_Traits,_Allocator>& __rhs)
-{
-    basic_string<_CharT, _Traits, _Allocator> __r(__rhs.get_allocator());
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type __lhs_sz = _Traits::length(__lhs);
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type __rhs_sz = __rhs.size();
-    __r.__init(__lhs, __lhs_sz, __lhs_sz + __rhs_sz);
-    __r.append(__rhs.data(), __rhs_sz);
-    return __r;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Allocator>& __rhs)
-{
-    basic_string<_CharT, _Traits, _Allocator> __r(__rhs.get_allocator());
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type __rhs_sz = __rhs.size();
-    __r.__init(&__lhs, 1, 1 + __rhs_sz);
-    __r.append(__rhs.data(), __rhs_sz);
-    return __r;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT* __rhs)
-{
-    basic_string<_CharT, _Traits, _Allocator> __r(__lhs.get_allocator());
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type __lhs_sz = __lhs.size();
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type __rhs_sz = _Traits::length(__rhs);
-    __r.__init(__lhs.data(), __lhs_sz, __lhs_sz + __rhs_sz);
-    __r.append(__rhs, __rhs_sz);
-    return __r;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, _CharT __rhs)
-{
-    basic_string<_CharT, _Traits, _Allocator> __r(__lhs.get_allocator());
-    typename basic_string<_CharT, _Traits, _Allocator>::size_type __lhs_sz = __lhs.size();
-    __r.__init(__lhs.data(), __lhs_sz, __lhs_sz + 1);
-    __r.push_back(__rhs);
-    return __r;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _Traits, _Allocator>
-operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs)
-{
-    return _VSTD::move(__lhs.append(__rhs));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs)
-{
-    return _VSTD::move(__rhs.insert(0, __lhs));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _Traits, _Allocator>
-operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs)
-{
-    return _VSTD::move(__lhs.append(__rhs));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _Traits, _Allocator>
-operator+(const _CharT* __lhs , basic_string<_CharT,_Traits,_Allocator>&& __rhs)
-{
-    return _VSTD::move(__rhs.insert(0, __lhs));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _Traits, _Allocator>
-operator+(_CharT __lhs, basic_string<_CharT,_Traits,_Allocator>&& __rhs)
-{
-    __rhs.insert(__rhs.begin(), __lhs);
-    return _VSTD::move(__rhs);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _Traits, _Allocator>
-operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, const _CharT* __rhs)
-{
-    return _VSTD::move(__lhs.append(__rhs));
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_string<_CharT, _Traits, _Allocator>
-operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, _CharT __rhs)
-{
-    __lhs.push_back(__rhs);
-    return _VSTD::move(__lhs);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-// swap
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_string<_CharT, _Traits, _Allocator>& __lhs,
-     basic_string<_CharT, _Traits, _Allocator>& __rhs)
-     _NOEXCEPT_(_NOEXCEPT_(__lhs.swap(__rhs)))
-{
-    __lhs.swap(__rhs);
-}
-
-#ifndef _LIBCPP_NO_HAS_CHAR8_T
-typedef basic_string<char8_t> u8string;
-#endif
-
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-typedef basic_string<char16_t> u16string;
-typedef basic_string<char32_t> u32string;
-#endif  // _LIBCPP_HAS_NO_UNICODE_CHARS
-
-_LIBCPP_FUNC_VIS int                stoi  (const string& __str, size_t* __idx = 0, int __base = 10);
-_LIBCPP_FUNC_VIS long               stol  (const string& __str, size_t* __idx = 0, int __base = 10);
-_LIBCPP_FUNC_VIS unsigned long      stoul (const string& __str, size_t* __idx = 0, int __base = 10);
-_LIBCPP_FUNC_VIS long long          stoll (const string& __str, size_t* __idx = 0, int __base = 10);
-_LIBCPP_FUNC_VIS unsigned long long stoull(const string& __str, size_t* __idx = 0, int __base = 10);
-
-_LIBCPP_FUNC_VIS float       stof (const string& __str, size_t* __idx = 0);
-_LIBCPP_FUNC_VIS double      stod (const string& __str, size_t* __idx = 0);
-_LIBCPP_FUNC_VIS long double stold(const string& __str, size_t* __idx = 0);
-
-_LIBCPP_FUNC_VIS string to_string(int __val);
-_LIBCPP_FUNC_VIS string to_string(unsigned __val);
-_LIBCPP_FUNC_VIS string to_string(long __val);
-_LIBCPP_FUNC_VIS string to_string(unsigned long __val);
-_LIBCPP_FUNC_VIS string to_string(long long __val);
-_LIBCPP_FUNC_VIS string to_string(unsigned long long __val);
-_LIBCPP_FUNC_VIS string to_string(float __val);
-_LIBCPP_FUNC_VIS string to_string(double __val);
-_LIBCPP_FUNC_VIS string to_string(long double __val);
-
-_LIBCPP_FUNC_VIS int                stoi  (const wstring& __str, size_t* __idx = 0, int __base = 10);
-_LIBCPP_FUNC_VIS long               stol  (const wstring& __str, size_t* __idx = 0, int __base = 10);
-_LIBCPP_FUNC_VIS unsigned long      stoul (const wstring& __str, size_t* __idx = 0, int __base = 10);
-_LIBCPP_FUNC_VIS long long          stoll (const wstring& __str, size_t* __idx = 0, int __base = 10);
-_LIBCPP_FUNC_VIS unsigned long long stoull(const wstring& __str, size_t* __idx = 0, int __base = 10);
-
-_LIBCPP_FUNC_VIS float       stof (const wstring& __str, size_t* __idx = 0);
-_LIBCPP_FUNC_VIS double      stod (const wstring& __str, size_t* __idx = 0);
-_LIBCPP_FUNC_VIS long double stold(const wstring& __str, size_t* __idx = 0);
-
-_LIBCPP_FUNC_VIS wstring to_wstring(int __val);
-_LIBCPP_FUNC_VIS wstring to_wstring(unsigned __val);
-_LIBCPP_FUNC_VIS wstring to_wstring(long __val);
-_LIBCPP_FUNC_VIS wstring to_wstring(unsigned long __val);
-_LIBCPP_FUNC_VIS wstring to_wstring(long long __val);
-_LIBCPP_FUNC_VIS wstring to_wstring(unsigned long long __val);
-_LIBCPP_FUNC_VIS wstring to_wstring(float __val);
-_LIBCPP_FUNC_VIS wstring to_wstring(double __val);
-_LIBCPP_FUNC_VIS wstring to_wstring(long double __val);
-
-template<class _CharT, class _Traits, class _Allocator>
-    const typename basic_string<_CharT, _Traits, _Allocator>::size_type
-                   basic_string<_CharT, _Traits, _Allocator>::npos;
-
-template <class _CharT, class _Allocator>
-struct _LIBCPP_TEMPLATE_VIS
-    hash<basic_string<_CharT, char_traits<_CharT>, _Allocator> >
-    : public unary_function<
-          basic_string<_CharT, char_traits<_CharT>, _Allocator>, size_t>
-{
-    size_t
-    operator()(const basic_string<_CharT, char_traits<_CharT>, _Allocator>& __val) const _NOEXCEPT
-    { return __do_string_hash(__val.data(), __val.data() + __val.size()); }
-};
-
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os,
-           const basic_string<_CharT, _Traits, _Allocator>& __str);
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           basic_string<_CharT, _Traits, _Allocator>& __str);
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_istream<_CharT, _Traits>&
-getline(basic_istream<_CharT, _Traits>& __is,
-        basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm);
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-getline(basic_istream<_CharT, _Traits>& __is,
-        basic_string<_CharT, _Traits, _Allocator>& __str);
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-getline(basic_istream<_CharT, _Traits>&& __is,
-        basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm);
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-getline(basic_istream<_CharT, _Traits>&& __is,
-        basic_string<_CharT, _Traits, _Allocator>& __str);
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#if _LIBCPP_STD_VER > 17
-template<class _CharT, class _Traits, class _Allocator, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase(basic_string<_CharT, _Traits, _Allocator>& __str, const _Up& __v)
-{ __str.erase(_VSTD::remove(__str.begin(), __str.end(), __v), __str.end()); }
-
-template<class _CharT, class _Traits, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(basic_string<_CharT, _Traits, _Allocator>& __str, _Predicate __pred)
-{ __str.erase(_VSTD::remove_if(__str.begin(), __str.end(), __pred), __str.end()); }
-#endif
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-template<class _CharT, class _Traits, class _Allocator>
-bool
-basic_string<_CharT, _Traits, _Allocator>::__dereferenceable(const const_iterator* __i) const
-{
-    return this->data() <= _VSTD::__to_raw_pointer(__i->base()) &&
-           _VSTD::__to_raw_pointer(__i->base()) < this->data() + this->size();
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-bool
-basic_string<_CharT, _Traits, _Allocator>::__decrementable(const const_iterator* __i) const
-{
-    return this->data() < _VSTD::__to_raw_pointer(__i->base()) &&
-           _VSTD::__to_raw_pointer(__i->base()) <= this->data() + this->size();
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-bool
-basic_string<_CharT, _Traits, _Allocator>::__addable(const const_iterator* __i, ptrdiff_t __n) const
-{
-    const value_type* __p = _VSTD::__to_raw_pointer(__i->base()) + __n;
-    return this->data() <= __p && __p <= this->data() + this->size();
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-bool
-basic_string<_CharT, _Traits, _Allocator>::__subscriptable(const const_iterator* __i, ptrdiff_t __n) const
-{
-    const value_type* __p = _VSTD::__to_raw_pointer(__i->base()) + __n;
-    return this->data() <= __p && __p < this->data() + this->size();
-}
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<wchar_t>)
-
-#if _LIBCPP_STD_VER > 11
-// Literal suffixes for basic_string [basic.string.literals]
-inline namespace literals
-{
-  inline namespace string_literals
-  {
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_string<char> operator "" s( const char *__str, size_t __len )
-    {
-        return basic_string<char> (__str, __len);
-    }
-
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_string<wchar_t> operator "" s( const wchar_t *__str, size_t __len )
-    {
-        return basic_string<wchar_t> (__str, __len);
-    }
-
-#ifndef _LIBCPP_NO_HAS_CHAR8_T
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_string<char8_t> operator "" s(const char8_t *__str, size_t __len) _NOEXCEPT
-    {
-        return basic_string<char8_t> (__str, __len);
-    }
-#endif
-
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_string<char16_t> operator "" s( const char16_t *__str, size_t __len )
-    {
-        return basic_string<char16_t> (__str, __len);
-    }
-
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_string<char32_t> operator "" s( const char32_t *__str, size_t __len )
-    {
-        return basic_string<char32_t> (__str, __len);
-    }
-  }
-}
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_STRING
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/string_view b/r21/sources/cxx-stl/llvm-libc++/include/string_view
deleted file mode 100644
index 0444831..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/string_view
+++ /dev/null
@@ -1,833 +0,0 @@
-// -*- C++ -*-
-//===------------------------ string_view ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STRING_VIEW
-#define _LIBCPP_STRING_VIEW
-
-/*
-string_view synopsis
-
-namespace std {
-
-    // 7.2, Class template basic_string_view
-    template<class charT, class traits = char_traits<charT>>
-        class basic_string_view;
-
-    // 7.9, basic_string_view non-member comparison functions
-    template<class charT, class traits>
-    constexpr bool operator==(basic_string_view<charT, traits> x,
-                              basic_string_view<charT, traits> y) noexcept;
-    template<class charT, class traits>
-    constexpr bool operator!=(basic_string_view<charT, traits> x,
-                              basic_string_view<charT, traits> y) noexcept;
-    template<class charT, class traits>
-    constexpr bool operator< (basic_string_view<charT, traits> x,
-                                 basic_string_view<charT, traits> y) noexcept;
-    template<class charT, class traits>
-    constexpr bool operator> (basic_string_view<charT, traits> x,
-                              basic_string_view<charT, traits> y) noexcept;
-    template<class charT, class traits>
-    constexpr bool operator<=(basic_string_view<charT, traits> x,
-                                 basic_string_view<charT, traits> y) noexcept;
-    template<class charT, class traits>
-    constexpr bool operator>=(basic_string_view<charT, traits> x,
-                              basic_string_view<charT, traits> y) noexcept;
-    // see below, sufficient additional overloads of comparison functions
-
-    // 7.10, Inserters and extractors
-    template<class charT, class traits>
-      basic_ostream<charT, traits>&
-        operator<<(basic_ostream<charT, traits>& os,
-                   basic_string_view<charT, traits> str);
-
-    // basic_string_view typedef names
-    typedef basic_string_view<char> string_view;
-    typedef basic_string_view<char16_t> u16string_view;
-    typedef basic_string_view<char32_t> u32string_view;
-    typedef basic_string_view<wchar_t> wstring_view;
-
-    template<class charT, class traits = char_traits<charT>>
-    class basic_string_view {
-      public:
-      // types
-      typedef traits traits_type;
-      typedef charT value_type;
-      typedef charT* pointer;
-      typedef const charT* const_pointer;
-      typedef charT& reference;
-      typedef const charT& const_reference;
-      typedef implementation-defined const_iterator;
-      typedef const_iterator iterator;
-      typedef reverse_iterator<const_iterator> const_reverse_iterator;
-      typedef const_reverse_iterator reverse_iterator;
-      typedef size_t size_type;
-      typedef ptrdiff_t difference_type;
-      static constexpr size_type npos = size_type(-1);
-
-      // 7.3, basic_string_view constructors and assignment operators
-      constexpr basic_string_view() noexcept;
-      constexpr basic_string_view(const basic_string_view&) noexcept = default;
-      basic_string_view& operator=(const basic_string_view&) noexcept = default;
-      template<class Allocator>
-      constexpr basic_string_view(const charT* str);
-      constexpr basic_string_view(const charT* str, size_type len);
-
-      // 7.4, basic_string_view iterator support
-      constexpr const_iterator begin() const noexcept;
-      constexpr const_iterator end() const noexcept;
-      constexpr const_iterator cbegin() const noexcept;
-      constexpr const_iterator cend() const noexcept;
-      const_reverse_iterator rbegin() const noexcept;
-      const_reverse_iterator rend() const noexcept;
-      const_reverse_iterator crbegin() const noexcept;
-      const_reverse_iterator crend() const noexcept;
-
-      // 7.5, basic_string_view capacity
-      constexpr size_type size() const noexcept;
-      constexpr size_type length() const noexcept;
-      constexpr size_type max_size() const noexcept;
-      constexpr bool empty() const noexcept;
-
-      // 7.6, basic_string_view element access
-      constexpr const_reference operator[](size_type pos) const;
-      constexpr const_reference at(size_type pos) const;
-      constexpr const_reference front() const;
-      constexpr const_reference back() const;
-      constexpr const_pointer data() const noexcept;
-
-      // 7.7, basic_string_view modifiers
-      constexpr void remove_prefix(size_type n);
-      constexpr void remove_suffix(size_type n);
-      constexpr void swap(basic_string_view& s) noexcept;
-
-      size_type copy(charT* s, size_type n, size_type pos = 0) const;
-
-      constexpr basic_string_view substr(size_type pos = 0, size_type n = npos) const;
-      constexpr int compare(basic_string_view s) const noexcept;
-      constexpr int compare(size_type pos1, size_type n1, basic_string_view s) const;
-      constexpr int compare(size_type pos1, size_type n1,
-                            basic_string_view s, size_type pos2, size_type n2) const;
-      constexpr int compare(const charT* s) const;
-      constexpr int compare(size_type pos1, size_type n1, const charT* s) const;
-      constexpr int compare(size_type pos1, size_type n1,
-                            const charT* s, size_type n2) const;
-      constexpr size_type find(basic_string_view s, size_type pos = 0) const noexcept;
-      constexpr size_type find(charT c, size_type pos = 0) const noexcept;
-      constexpr size_type find(const charT* s, size_type pos, size_type n) const;
-      constexpr size_type find(const charT* s, size_type pos = 0) const;
-      constexpr size_type rfind(basic_string_view s, size_type pos = npos) const noexcept;
-      constexpr size_type rfind(charT c, size_type pos = npos) const noexcept;
-      constexpr size_type rfind(const charT* s, size_type pos, size_type n) const;
-      constexpr size_type rfind(const charT* s, size_type pos = npos) const;
-      constexpr size_type find_first_of(basic_string_view s, size_type pos = 0) const noexcept;
-      constexpr size_type find_first_of(charT c, size_type pos = 0) const noexcept;
-      constexpr size_type find_first_of(const charT* s, size_type pos, size_type n) const;
-      constexpr size_type find_first_of(const charT* s, size_type pos = 0) const;
-      constexpr size_type find_last_of(basic_string_view s, size_type pos = npos) const noexcept;
-      constexpr size_type find_last_of(charT c, size_type pos = npos) const noexcept;
-      constexpr size_type find_last_of(const charT* s, size_type pos, size_type n) const;
-      constexpr size_type find_last_of(const charT* s, size_type pos = npos) const;
-      constexpr size_type find_first_not_of(basic_string_view s, size_type pos = 0) const noexcept;
-      constexpr size_type find_first_not_of(charT c, size_type pos = 0) const noexcept;
-      constexpr size_type find_first_not_of(const charT* s, size_type pos, size_type n) const;
-      constexpr size_type find_first_not_of(const charT* s, size_type pos = 0) const;
-      constexpr size_type find_last_not_of(basic_string_view s, size_type pos = npos) const noexcept;
-      constexpr size_type find_last_not_of(charT c, size_type pos = npos) const noexcept;
-      constexpr size_type find_last_not_of(const charT* s, size_type pos, size_type n) const;
-      constexpr size_type find_last_not_of(const charT* s, size_type pos = npos) const;
-
-      constexpr bool starts_with(basic_string_view s) const noexcept; // C++2a
-      constexpr bool starts_with(charT c) const noexcept;             // C++2a
-      constexpr bool starts_with(const charT* s) const;               // C++2a
-      constexpr bool ends_with(basic_string_view s) const noexcept;   // C++2a
-      constexpr bool ends_with(charT c) const noexcept;               // C++2a
-      constexpr bool ends_with(const charT* s) const;                 // C++2a
-
-     private:
-      const_pointer data_;  // exposition only
-      size_type     size_;  // exposition only
-    };
-
-  // 7.11, Hash support
-  template <class T> struct hash;
-  template <> struct hash<string_view>;
-  template <> struct hash<u16string_view>;
-  template <> struct hash<u32string_view>;
-  template <> struct hash<wstring_view>;
-
-  constexpr basic_string_view<char>     operator "" sv( const char *str,     size_t len ) noexcept;
-  constexpr basic_string_view<wchar_t>  operator "" sv( const wchar_t *str,  size_t len ) noexcept;
-  constexpr basic_string_view<char16_t> operator "" sv( const char16_t *str, size_t len ) noexcept;
-  constexpr basic_string_view<char32_t> operator "" sv( const char32_t *str, size_t len ) noexcept;
-
-}  // namespace std
-
-
-*/
-
-#include <__config>
-#include <__string>
-#include <algorithm>
-#include <iterator>
-#include <limits>
-#include <stdexcept>
-#include <version>
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template<class _CharT, class _Traits = char_traits<_CharT> >
-class _LIBCPP_TEMPLATE_VIS basic_string_view {
-public:
-    // types
-    typedef _Traits                                    traits_type;
-    typedef _CharT                                     value_type;
-    typedef _CharT*                                    pointer;
-    typedef const _CharT*                              const_pointer;
-    typedef _CharT&                                    reference;
-    typedef const _CharT&                              const_reference;
-    typedef const_pointer                              const_iterator; // See [string.view.iterators]
-    typedef const_iterator                             iterator;
-    typedef _VSTD::reverse_iterator<const_iterator>    const_reverse_iterator;
-    typedef const_reverse_iterator                     reverse_iterator;
-    typedef size_t                                     size_type;
-    typedef ptrdiff_t                                  difference_type;
-    static _LIBCPP_CONSTEXPR const size_type npos = -1; // size_type(-1);
-
-    static_assert((!is_array<value_type>::value), "Character type of basic_string_view must not be an array");
-    static_assert(( is_standard_layout<value_type>::value), "Character type of basic_string_view must be standard-layout");
-    static_assert(( is_trivial<value_type>::value), "Character type of basic_string_view must be trivial");
-    static_assert((is_same<_CharT, typename traits_type::char_type>::value),
-                  "traits_type::char_type must be the same type as CharT");
-
-    // [string.view.cons], construct/copy
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    basic_string_view() _NOEXCEPT : __data (nullptr), __size(0) {}
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    basic_string_view(const basic_string_view&) _NOEXCEPT = default;
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    basic_string_view& operator=(const basic_string_view&) _NOEXCEPT = default;
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    basic_string_view(const _CharT* __s, size_type __len) _NOEXCEPT
-        : __data(__s), __size(__len)
-    {
-#if _LIBCPP_STD_VER > 11
-    _LIBCPP_ASSERT(__len == 0 || __s != nullptr, "string_view::string_view(_CharT *, size_t): received nullptr");
-#endif
-    }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    basic_string_view(const _CharT* __s)
-        : __data(__s), __size(_Traits::length(__s)) {}
-
-    // [string.view.iterators], iterators
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const _NOEXCEPT { return cbegin(); }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const _NOEXCEPT { return cend(); }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT { return __data; }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend()   const _NOEXCEPT { return __data + __size; }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX14 _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin()   const _NOEXCEPT { return const_reverse_iterator(cend()); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX14 _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend()     const _NOEXCEPT { return const_reverse_iterator(cbegin()); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX14 _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin()  const _NOEXCEPT { return const_reverse_iterator(cend()); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX14 _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend()    const _NOEXCEPT { return const_reverse_iterator(cbegin()); }
-
-    // [string.view.capacity], capacity
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    size_type size()     const _NOEXCEPT { return __size; }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    size_type length()   const _NOEXCEPT { return __size; }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT { return numeric_limits<size_type>::max(); }
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    bool empty()         const _NOEXCEPT { return __size == 0; }
-
-    // [string.view.access], element access
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_reference operator[](size_type __pos) const _NOEXCEPT { return __data[__pos]; }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_reference at(size_type __pos) const
-    {
-        return __pos >= size()
-            ? (__throw_out_of_range("string_view::at"), __data[0])
-            : __data[__pos];
-    }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_reference front() const _NOEXCEPT
-    {
-        return _LIBCPP_ASSERT(!empty(), "string_view::front(): string is empty"), __data[0];
-    }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_reference back() const _NOEXCEPT
-    {
-        return _LIBCPP_ASSERT(!empty(), "string_view::back(): string is empty"), __data[__size-1];
-    }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    const_pointer data() const _NOEXCEPT { return __data; }
-
-    // [string.view.modifiers], modifiers:
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    void remove_prefix(size_type __n) _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__n <= size(), "remove_prefix() can't remove more than size()");
-        __data += __n;
-        __size -= __n;
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    void remove_suffix(size_type __n) _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__n <= size(), "remove_suffix() can't remove more than size()");
-        __size -= __n;
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_string_view& __other) _NOEXCEPT
-    {
-        const value_type *__p = __data;
-        __data = __other.__data;
-        __other.__data = __p;
-
-        size_type __sz = __size;
-        __size = __other.__size;
-        __other.__size = __sz;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const
-    {
-        if (__pos > size())
-            __throw_out_of_range("string_view::copy");
-        size_type __rlen = _VSTD::min(__n, size() - __pos);
-        _Traits::copy(__s, data() + __pos, __rlen);
-        return __rlen;
-    }
-
-    _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-    basic_string_view substr(size_type __pos = 0, size_type __n = npos) const
-    {
-        return __pos > size()
-            ? (__throw_out_of_range("string_view::substr"), basic_string_view())
-            : basic_string_view(data() + __pos, _VSTD::min(__n, size() - __pos));
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 int compare(basic_string_view __sv) const _NOEXCEPT
-    {
-        size_type __rlen = _VSTD::min( size(), __sv.size());
-        int __retval = _Traits::compare(data(), __sv.data(), __rlen);
-        if ( __retval == 0 ) // first __rlen chars matched
-            __retval = size() == __sv.size() ? 0 : ( size() < __sv.size() ? -1 : 1 );
-        return __retval;
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    int compare(size_type __pos1, size_type __n1, basic_string_view __sv) const
-    {
-        return substr(__pos1, __n1).compare(__sv);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    int compare(                       size_type __pos1, size_type __n1,
-                basic_string_view __sv, size_type __pos2, size_type __n2) const
-    {
-        return substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    int compare(const _CharT* __s) const _NOEXCEPT
-    {
-        return compare(basic_string_view(__s));
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    int compare(size_type __pos1, size_type __n1, const _CharT* __s) const
-    {
-        return substr(__pos1, __n1).compare(basic_string_view(__s));
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    int compare(size_type __pos1, size_type __n1, const _CharT* __s, size_type __n2) const
-    {
-        return substr(__pos1, __n1).compare(basic_string_view(__s, __n2));
-    }
-
-    // find
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find(basic_string_view __s, size_type __pos = 0) const _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__s.size() == 0 || __s.data() != nullptr, "string_view::find(): received nullptr");
-        return __str_find<value_type, size_type, traits_type, npos>
-            (data(), size(), __s.data(), __pos, __s.size());
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find(_CharT __c, size_type __pos = 0) const _NOEXCEPT
-    {
-        return __str_find<value_type, size_type, traits_type, npos>
-            (data(), size(), __c, __pos);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find(const _CharT* __s, size_type __pos, size_type __n) const
-    {
-        _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string_view::find(): received nullptr");
-        return __str_find<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, __n);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find(const _CharT* __s, size_type __pos = 0) const
-    {
-        _LIBCPP_ASSERT(__s != nullptr, "string_view::find(): received nullptr");
-        return __str_find<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, traits_type::length(__s));
-    }
-
-    // rfind
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type rfind(basic_string_view __s, size_type __pos = npos) const _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__s.size() == 0 || __s.data() != nullptr, "string_view::find(): received nullptr");
-        return __str_rfind<value_type, size_type, traits_type, npos>
-            (data(), size(), __s.data(), __pos, __s.size());
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type rfind(_CharT __c, size_type __pos = npos) const _NOEXCEPT
-    {
-        return __str_rfind<value_type, size_type, traits_type, npos>
-            (data(), size(), __c, __pos);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const
-    {
-        _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string_view::rfind(): received nullptr");
-        return __str_rfind<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, __n);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type rfind(const _CharT* __s, size_type __pos=npos) const
-    {
-        _LIBCPP_ASSERT(__s != nullptr, "string_view::rfind(): received nullptr");
-        return __str_rfind<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, traits_type::length(__s));
-    }
-
-    // find_first_of
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_of(basic_string_view __s, size_type __pos = 0) const _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__s.size() == 0 || __s.data() != nullptr, "string_view::find_first_of(): received nullptr");
-        return __str_find_first_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s.data(), __pos, __s.size());
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_of(_CharT __c, size_type __pos = 0) const _NOEXCEPT
-    { return find(__c, __pos); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
-    {
-        _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string_view::find_first_of(): received nullptr");
-        return __str_find_first_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, __n);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_of(const _CharT* __s, size_type __pos=0) const
-    {
-        _LIBCPP_ASSERT(__s != nullptr, "string_view::find_first_of(): received nullptr");
-        return __str_find_first_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, traits_type::length(__s));
-    }
-
-    // find_last_of
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_of(basic_string_view __s, size_type __pos=npos) const _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__s.size() == 0 || __s.data() != nullptr, "string_view::find_last_of(): received nullptr");
-        return __str_find_last_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s.data(), __pos, __s.size());
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_of(_CharT __c, size_type __pos = npos) const _NOEXCEPT
-    { return rfind(__c, __pos); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
-    {
-        _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string_view::find_last_of(): received nullptr");
-        return __str_find_last_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, __n);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_of(const _CharT* __s, size_type __pos=npos) const
-    {
-        _LIBCPP_ASSERT(__s != nullptr, "string_view::find_last_of(): received nullptr");
-        return __str_find_last_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, traits_type::length(__s));
-    }
-
-    // find_first_not_of
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_not_of(basic_string_view __s, size_type __pos=0) const _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__s.size() == 0 || __s.data() != nullptr, "string_view::find_first_not_of(): received nullptr");
-        return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s.data(), __pos, __s.size());
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_not_of(_CharT __c, size_type __pos=0) const _NOEXCEPT
-    {
-        return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __c, __pos);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
-    {
-        _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string_view::find_first_not_of(): received nullptr");
-        return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, __n);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_first_not_of(const _CharT* __s, size_type __pos=0) const
-    {
-        _LIBCPP_ASSERT(__s != nullptr, "string_view::find_first_not_of(): received nullptr");
-        return __str_find_first_not_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, traits_type::length(__s));
-    }
-
-    // find_last_not_of
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_not_of(basic_string_view __s, size_type __pos=npos) const _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(__s.size() == 0 || __s.data() != nullptr, "string_view::find_last_not_of(): received nullptr");
-        return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s.data(), __pos, __s.size());
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_not_of(_CharT __c, size_type __pos=npos) const _NOEXCEPT
-    {
-        return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __c, __pos);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
-    {
-        _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string_view::find_last_not_of(): received nullptr");
-        return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, __n);
-    }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    size_type find_last_not_of(const _CharT* __s, size_type __pos=npos) const
-    {
-        _LIBCPP_ASSERT(__s != nullptr, "string_view::find_last_not_of(): received nullptr");
-        return __str_find_last_not_of<value_type, size_type, traits_type, npos>
-            (data(), size(), __s, __pos, traits_type::length(__s));
-    }
-
-#if _LIBCPP_STD_VER > 17
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool starts_with(basic_string_view __s) const _NOEXCEPT
-    { return size() >= __s.size() && compare(0, __s.size(), __s) == 0; }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool starts_with(value_type __c) const _NOEXCEPT
-    { return !empty() && _Traits::eq(front(), __c); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool starts_with(const value_type* __s) const _NOEXCEPT
-    { return starts_with(basic_string_view(__s)); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool ends_with(basic_string_view __s) const _NOEXCEPT
-    { return size() >= __s.size() && compare(size() - __s.size(), npos, __s) == 0; }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool ends_with(value_type __c) const _NOEXCEPT
-    { return !empty() && _Traits::eq(back(), __c); }
-
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-    bool ends_with(const value_type* __s) const _NOEXCEPT
-    { return ends_with(basic_string_view(__s)); }
-#endif
-
-private:
-    const   value_type* __data;
-    size_type           __size;
-};
-
-
-// [string.view.comparison]
-// operator ==
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator==(basic_string_view<_CharT, _Traits> __lhs,
-                basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    if ( __lhs.size() != __rhs.size()) return false;
-    return __lhs.compare(__rhs) == 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator==(basic_string_view<_CharT, _Traits> __lhs,
-                typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
-{
-    if ( __lhs.size() != __rhs.size()) return false;
-    return __lhs.compare(__rhs) == 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator==(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
-                basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    if ( __lhs.size() != __rhs.size()) return false;
-    return __lhs.compare(__rhs) == 0;
-}
-
-
-// operator !=
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator!=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    if ( __lhs.size() != __rhs.size())
-        return true;
-    return __lhs.compare(__rhs) != 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator!=(basic_string_view<_CharT, _Traits> __lhs,
-                typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
-{
-    if ( __lhs.size() != __rhs.size())
-        return true;
-    return __lhs.compare(__rhs) != 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator!=(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
-                basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    if ( __lhs.size() != __rhs.size())
-        return true;
-    return __lhs.compare(__rhs) != 0;
-}
-
-
-// operator <
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator<(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) < 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator<(basic_string_view<_CharT, _Traits> __lhs,
-                typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) < 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator<(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
-                basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) < 0;
-}
-
-
-// operator >
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator> (basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) > 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator>(basic_string_view<_CharT, _Traits> __lhs,
-                typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) > 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator>(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
-                basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) > 0;
-}
-
-
-// operator <=
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator<=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) <= 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator<=(basic_string_view<_CharT, _Traits> __lhs,
-                typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) <= 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator<=(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
-                basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) <= 0;
-}
-
-
-// operator >=
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator>=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) >= 0;
-}
-
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator>=(basic_string_view<_CharT, _Traits> __lhs,
-                typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) >= 0;
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-bool operator>=(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
-                basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
-{
-    return __lhs.compare(__rhs) >= 0;
-}
-
-typedef basic_string_view<char>     string_view;
-#ifndef _LIBCPP_NO_HAS_CHAR8_T
-typedef basic_string_view<char8_t>  u8string_view;
-#endif
-typedef basic_string_view<char16_t> u16string_view;
-typedef basic_string_view<char32_t> u32string_view;
-typedef basic_string_view<wchar_t>  wstring_view;
-
-// [string.view.hash]
-template<class _CharT>
-struct _LIBCPP_TEMPLATE_VIS hash<basic_string_view<_CharT, char_traits<_CharT> > >
-    : public unary_function<basic_string_view<_CharT, char_traits<_CharT> >, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const basic_string_view<_CharT, char_traits<_CharT> > __val) const _NOEXCEPT {
-        return __do_string_hash(__val.data(), __val.data() + __val.size());
-    }
-};
-
-
-#if _LIBCPP_STD_VER > 11
-inline namespace literals
-{
-  inline namespace string_view_literals
-  {
-    inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    basic_string_view<char> operator "" sv(const char *__str, size_t __len) _NOEXCEPT
-    {
-        return basic_string_view<char> (__str, __len);
-    }
-
-    inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    basic_string_view<wchar_t> operator "" sv(const wchar_t *__str, size_t __len) _NOEXCEPT
-    {
-        return basic_string_view<wchar_t> (__str, __len);
-    }
-
-#ifndef _LIBCPP_NO_HAS_CHAR8_T
-    inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    basic_string_view<char8_t> operator "" sv(const char8_t *__str, size_t __len) _NOEXCEPT
-    {
-        return basic_string_view<char8_t> (__str, __len);
-    }
-#endif
-
-    inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    basic_string_view<char16_t> operator "" sv(const char16_t *__str, size_t __len) _NOEXCEPT
-    {
-        return basic_string_view<char16_t> (__str, __len);
-    }
-
-    inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    basic_string_view<char32_t> operator "" sv(const char32_t *__str, size_t __len) _NOEXCEPT
-    {
-        return basic_string_view<char32_t> (__str, __len);
-    }
-  }
-}
-#endif
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif // _LIBCPP_STRING_VIEW
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/android/locale_bionic.h b/r21/sources/cxx-stl/llvm-libc++/include/support/android/locale_bionic.h
deleted file mode 100644
index 0ca9c77..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/support/android/locale_bionic.h
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-//===------------------- support/android/locale_bionic.h ------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
-#define _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
-
-#if defined(__BIONIC__)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdlib.h>
-#include <xlocale.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#if defined(__ANDROID__)
-
-#include <support/xlocale/__posix_l_fallback.h>
-
-// HACK: Not in upstream NDK or libc++.
-// Upstream now supports using ToT libc++ with old NDKs, but as such it is now
-// *only* compatible with the NDK. That will need to be fixed both for the
-// platorm and for the NDK-in-platform use case since neither has
-// android/ndk-version.h.
-
-// If we do not have this header, we are in a platform build rather than an NDK
-// build, which will always be at least as new as the ToT NDK, in which case we
-// don't need any of the inlines below since libc provides them.
-#if __has_include(<android/ndk-version.h>)
-#include <android/api-level.h>
-#include <android/ndk-version.h>
-// In NDK versions later than 16, locale-aware functions are provided by
-// legacy_stdlib_inlines.h
-#if __NDK_MAJOR__ <= 16
-#if __ANDROID_API__ < 21
-#include <support/xlocale/__strtonum_fallback.h>
-#elif __ANDROID_API__ < 26
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-inline _LIBCPP_INLINE_VISIBILITY float strtof_l(const char* __nptr, char** __endptr,
-                                                locale_t) {
-  return ::strtof(__nptr, __endptr);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY double strtod_l(const char* __nptr,
-                                                 char** __endptr, locale_t) {
-  return ::strtod(__nptr, __endptr);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY long strtol_l(const char* __nptr, char** __endptr,
-                                               int __base, locale_t) {
-  return ::strtol(__nptr, __endptr, __base);
-}
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif // __ANDROID_API__ < 26
-
-#endif // __NDK_MAJOR__ <= 16
-#endif // __has_include(<android/ndk-version.h>)
-#endif // defined(__ANDROID__)
-
-#endif // defined(__BIONIC__)
-#endif // _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/ibm/xlocale.h b/r21/sources/cxx-stl/llvm-libc++/include/support/ibm/xlocale.h
deleted file mode 100644
index 9f0522c..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/support/ibm/xlocale.h
+++ /dev/null
@@ -1,270 +0,0 @@
-// -*- C++ -*-
-//===--------------------- support/ibm/xlocale.h -------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_IBM_XLOCALE_H
-#define _LIBCPP_SUPPORT_IBM_XLOCALE_H
-#include <support/ibm/locale_mgmt_aix.h>
-
-#if defined(_AIX)
-#include "cstdlib"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined(_AIX71)
-// AIX 7.1 and higher has these definitions.  Definitions and stubs
-// are provied here as a temporary workaround on AIX 6.1.
-static inline
-int isalnum_l(int c, locale_t locale)
-{
-  return __xisalnum(locale, c);
-}
-static inline
-int isalpha_l(int c, locale_t locale)
-{
-  return __xisalpha(locale, c);
-}
-static inline
-int isblank_l(int c, locale_t locale)
-{
-  return __xisblank(locale, c);
-}
-static inline
-int iscntrl_l(int c, locale_t locale)
-{
-  return __xiscntrl(locale, c);
-}
-static inline
-int isdigit_l(int c, locale_t locale)
-{
-  return __xisdigit(locale, c);
-}
-static inline
-int isgraph_l(int c, locale_t locale)
-{
-  return __xisgraph(locale, c);
-}
-static inline
-int islower_l(int c, locale_t locale)
-{
-  return __xislower(locale, c);
-}
-static inline
-int isprint_l(int c, locale_t locale)
-{
-  return __xisprint(locale, c);
-}
-
-static inline
-int ispunct_l(int c, locale_t locale)
-{
-  return __xispunct(locale, c);
-}
-static inline
-int isspace_l(int c, locale_t locale)
-{
-  return __xisspace(locale, c);
-}
-static inline
-int isupper_l(int c, locale_t locale)
-{
-  return __xisupper(locale, c);
-}
-
-static inline
-int isxdigit_l(int c, locale_t locale)
-{
-  return __xisxdigit(locale, c);
-}
-
-static inline
-int iswalnum_l(wchar_t wc, locale_t locale)
-{
-  return __xiswalnum(locale, wc); 
-}
-
-static inline
-int iswalpha_l(wchar_t wc, locale_t locale)
-{
-  return __xiswalpha(locale, wc);
-}
-
-static inline
-int iswblank_l(wchar_t wc, locale_t locale)
-{
-  return __xiswblank(locale, wc);
-}
-
-static inline
-int iswcntrl_l(wchar_t wc, locale_t locale)
-{
-  return __xiswcntrl(locale, wc);
-}
-
-static inline
-int iswdigit_l(wchar_t wc, locale_t locale)
-{
-  return __xiswdigit(locale, wc);
-}
-
-static inline
-int iswgraph_l(wchar_t wc, locale_t locale)
-{
-  return __xiswgraph(locale, wc);
-}
-
-static inline
-int iswlower_l(wchar_t wc, locale_t locale)
-{
-  return __xiswlower(locale, wc);
-}
-
-static inline
-int iswprint_l(wchar_t wc, locale_t locale)
-{
-  return __xiswprint(locale, wc);
-}
-
-static inline
-int iswpunct_l(wchar_t wc, locale_t locale)
-{
-  return __xiswpunct(locale, wc);
-}
-
-static inline
-int iswspace_l(wchar_t wc, locale_t locale)
-{
-  return __xiswspace(locale, wc);
-}
-
-static inline
-int iswupper_l(wchar_t wc, locale_t locale)
-{
-  return __xiswupper(locale, wc);
-}
-
-static inline
-int iswxdigit_l(wchar_t wc, locale_t locale)
-{
-  return __xiswxdigit(locale, wc);
-}
-
-static inline
-int iswctype_l(wint_t wc, wctype_t desc, locale_t locale)
-{
-  return __xiswctype(locale, wc, desc); 
-}
-
-static inline
-int toupper_l(int c, locale_t locale)
-{
-  return __xtoupper(locale, c);
-}
-static inline
-int tolower_l(int c, locale_t locale)
-{
-  return __xtolower(locale, c);
-}
-static inline
-wint_t towupper_l(wint_t wc, locale_t locale)
-{
-  return __xtowupper(locale, wc);
-}
-static inline
-wint_t towlower_l(wint_t wc, locale_t locale)
-{
-  return __xtowlower(locale, wc);
-}
-
-static inline
-int strcoll_l(const char *__s1, const char *__s2, locale_t locale)
-{
-  return __xstrcoll(locale, __s1, __s2);
-}
-static inline
-int wcscoll_l(const wchar_t *__s1, const wchar_t *__s2, locale_t locale)
-{
-  return __xwcscoll(locale, __s1, __s2);
-}
-static inline
-size_t strxfrm_l(char *__s1, const char *__s2, size_t __n, locale_t locale)
-{
-  return __xstrxfrm(locale, __s1, __s2, __n);
-}
-
-static inline
-size_t wcsxfrm_l(wchar_t *__ws1, const wchar_t *__ws2, size_t __n,
-    locale_t locale)
-{
-  return __xwcsxfrm(locale, __ws1, __ws2, __n);
-}
-#endif // !defined(_AIX71)
-
-// strftime_l() is defined by POSIX. However, AIX 7.1 does not have it
-// implemented yet.
-static inline
-size_t strftime_l(char *__s, size_t __size, const char *__fmt,
-                  const struct tm *__tm, locale_t locale) {
-  return __xstrftime(locale, __s, __size, __fmt, __tm);
-}
-
-// The following are not POSIX routines.  These are quick-and-dirty hacks
-// to make things pretend to work
-static inline
-long long strtoll_l(const char *__nptr, char **__endptr,
-    int __base, locale_t locale) {
-  return strtoll(__nptr, __endptr, __base);
-}
-static inline
-long strtol_l(const char *__nptr, char **__endptr,
-    int __base, locale_t locale) {
-  return strtol(__nptr, __endptr, __base);
-}
-static inline
-long double strtold_l(const char *__nptr, char **__endptr,
-    locale_t locale) {
-  return strtold(__nptr, __endptr);
-}
-static inline
-unsigned long long strtoull_l(const char *__nptr, char **__endptr,
-    int __base, locale_t locale) {
-  return strtoull(__nptr, __endptr, __base);
-}
-static inline
-unsigned long strtoul_l(const char *__nptr, char **__endptr,
-    int __base, locale_t locale) {
-  return strtoul(__nptr, __endptr, __base);
-}
-
-static inline
-int vasprintf(char **strp, const char *fmt, va_list ap)
-{
-  const size_t buff_size = 256;
-  int str_size;
-  if ((*strp = (char *)malloc(buff_size)) == NULL)
-  {
-    return -1;
-  }
-  if ((str_size = vsnprintf(*strp, buff_size, fmt,  ap)) >= buff_size)
-  {
-    if ((*strp = (char *)realloc(*strp, str_size + 1)) == NULL)
-    {
-      return -1;
-    }
-    str_size = vsnprintf(*strp, str_size + 1, fmt,  ap);
-  }
-  return str_size;
-}  
-
-#ifdef __cplusplus
-}
-#endif
-#endif // defined(_AIX)
-#endif // _LIBCPP_SUPPORT_IBM_XLOCALE_H
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/solaris/wchar.h b/r21/sources/cxx-stl/llvm-libc++/include/support/solaris/wchar.h
deleted file mode 100644
index 9dc9ac3..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/support/solaris/wchar.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#define iswalpha sun_iswalpha
-#define iswupper sun_iswupper
-#define iswlower sun_iswlower
-#define iswdigit sun_iswdigit
-#define iswxdigit sun_iswxdigit
-#define iswalnum sun_iswalnum
-#define iswspace sun_iswspace
-#define iswpunct sun_iswpunct
-#define iswprint sun_iswprint
-#define iswgraph sun_iswgraph
-#define iswcntrl sun_iswcntrl
-#define iswctype sun_iswctype
-#define towlower sun_towlower
-#define towupper sun_towupper
-#define wcswcs sun_wcswcs
-#define wcswidth sun_wcswidth
-#define wcwidth sun_wcwidth
-#define wctype sun_wctype
-#define _WCHAR_T 1
-#include_next "wchar.h"
-#undef iswalpha 
-#undef iswupper
-#undef iswlower
-#undef iswdigit
-#undef iswxdigit
-#undef iswalnum
-#undef iswspace
-#undef iswpunct
-#undef iswprint
-#undef iswgraph
-#undef iswcntrl
-#undef iswctype
-#undef towlower
-#undef towupper
-#undef wcswcs
-#undef wcswidth
-#undef wcwidth
-#undef wctype
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/support/win32/locale_win32.h b/r21/sources/cxx-stl/llvm-libc++/include/support/win32/locale_win32.h
deleted file mode 100644
index 0d03d83..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/support/win32/locale_win32.h
+++ /dev/null
@@ -1,198 +0,0 @@
-// -*- C++ -*-
-//===--------------------- support/win32/locale_win32.h -------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
-#define _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
-
-#include <__config>
-#include <stdio.h>
-#include <xlocinfo.h> // _locale_t
-#include <__nullptr>
-
-#define LC_COLLATE_MASK _M_COLLATE
-#define LC_CTYPE_MASK _M_CTYPE
-#define LC_MONETARY_MASK _M_MONETARY
-#define LC_NUMERIC_MASK _M_NUMERIC
-#define LC_TIME_MASK _M_TIME
-#define LC_MESSAGES_MASK _M_MESSAGES
-#define LC_ALL_MASK (  LC_COLLATE_MASK \
-                     | LC_CTYPE_MASK \
-                     | LC_MESSAGES_MASK \
-                     | LC_MONETARY_MASK \
-                     | LC_NUMERIC_MASK \
-                     | LC_TIME_MASK )
-
-class locale_t {
-public:
-    locale_t()
-        : __locale(nullptr), __locale_str(nullptr) {}
-    locale_t(std::nullptr_t)
-        : __locale(nullptr), __locale_str(nullptr) {}
-    locale_t(_locale_t __xlocale, const char* __xlocale_str)
-        : __locale(__xlocale), __locale_str(__xlocale_str) {}
-
-    friend bool operator==(const locale_t& __left, const locale_t& __right) {
-        return __left.__locale == __right.__locale;
-    }
-
-    friend bool operator==(const locale_t& __left, int __right) {
-        return __left.__locale == nullptr && __right == 0;
-    }
-
-    friend bool operator==(const locale_t& __left, long long __right) {
-        return __left.__locale == nullptr && __right == 0;
-    }
-
-    friend bool operator==(const locale_t& __left, std::nullptr_t) {
-        return __left.__locale == nullptr;
-    }
-
-    friend bool operator==(int __left, const locale_t& __right) {
-        return __left == 0 && nullptr == __right.__locale;
-    }
-
-    friend bool operator==(std::nullptr_t, const locale_t& __right) {
-        return nullptr == __right.__locale;
-    }
-
-    friend bool operator!=(const locale_t& __left, const locale_t& __right) {
-        return !(__left == __right);
-    }
-
-    friend bool operator!=(const locale_t& __left, int __right) {
-        return !(__left == __right);
-    }
-
-    friend bool operator!=(const locale_t& __left, long long __right) {
-        return !(__left == __right);
-    }
-
-    friend bool operator!=(const locale_t& __left, std::nullptr_t __right) {
-        return !(__left == __right);
-    }
-
-    friend bool operator!=(int __left, const locale_t& __right) {
-        return !(__left == __right);
-    }
-
-    friend bool operator!=(std::nullptr_t __left, const locale_t& __right) {
-        return !(__left == __right);
-    }
-
-    operator bool() const {
-        return __locale != nullptr;
-    }
-
-    const char* __get_locale() const { return __locale_str; }
-
-    operator _locale_t() const {
-        return __locale;
-    }
-private:
-    _locale_t __locale;
-    const char* __locale_str;
-};
-
-// Locale management functions
-#define freelocale _free_locale
-// FIXME: base currently unused. Needs manual work to construct the new locale
-locale_t newlocale( int mask, const char * locale, locale_t base );
-// uselocale can't be implemented on Windows because Windows allows partial modification
-// of thread-local locale and so _get_current_locale() returns a copy while uselocale does
-// not create any copies.
-// We can still implement raii even without uselocale though.
-
-
-lconv *localeconv_l( locale_t loc );
-size_t mbrlen_l( const char *__restrict s, size_t n,
-                 mbstate_t *__restrict ps, locale_t loc);
-size_t mbsrtowcs_l( wchar_t *__restrict dst, const char **__restrict src,
-                    size_t len, mbstate_t *__restrict ps, locale_t loc );
-size_t wcrtomb_l( char *__restrict s, wchar_t wc, mbstate_t *__restrict ps,
-                  locale_t loc);
-size_t mbrtowc_l( wchar_t *__restrict pwc, const char *__restrict s,
-                  size_t n, mbstate_t *__restrict ps, locale_t loc);
-size_t mbsnrtowcs_l( wchar_t *__restrict dst, const char **__restrict src,
-                     size_t nms, size_t len, mbstate_t *__restrict ps, locale_t loc);
-size_t wcsnrtombs_l( char *__restrict dst, const wchar_t **__restrict src,
-                     size_t nwc, size_t len, mbstate_t *__restrict ps, locale_t loc);
-wint_t btowc_l( int c, locale_t loc );
-int wctob_l( wint_t c, locale_t loc );
-
-decltype(MB_CUR_MAX) MB_CUR_MAX_L( locale_t __l );
-
-// the *_l functions are prefixed on Windows, only available for msvcr80+, VS2005+
-#define mbtowc_l _mbtowc_l
-#define strtoll_l _strtoi64_l
-#define strtoull_l _strtoui64_l
-#define strtod_l _strtod_l
-#if defined(_LIBCPP_MSVCRT)
-#define strtof_l _strtof_l
-#define strtold_l _strtold_l
-#else
-float strtof_l(const char*, char**, locale_t);
-long double strtold_l(const char*, char**, locale_t);
-#endif
-inline _LIBCPP_INLINE_VISIBILITY
-int
-islower_l(int c, _locale_t loc)
-{
- return _islower_l((int)c, loc);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-int
-isupper_l(int c, _locale_t loc)
-{
- return _isupper_l((int)c, loc);
-}
-
-#define isdigit_l _isdigit_l
-#define isxdigit_l _isxdigit_l
-#define strcoll_l _strcoll_l
-#define strxfrm_l _strxfrm_l
-#define wcscoll_l _wcscoll_l
-#define wcsxfrm_l _wcsxfrm_l
-#define toupper_l _toupper_l
-#define tolower_l _tolower_l
-#define iswspace_l _iswspace_l
-#define iswprint_l _iswprint_l
-#define iswcntrl_l _iswcntrl_l
-#define iswupper_l _iswupper_l
-#define iswlower_l _iswlower_l
-#define iswalpha_l _iswalpha_l
-#define iswdigit_l _iswdigit_l
-#define iswpunct_l _iswpunct_l
-#define iswxdigit_l _iswxdigit_l
-#define towupper_l _towupper_l
-#define towlower_l _towlower_l
-#if defined(__MINGW32__) && __MSVCRT_VERSION__ < 0x0800
-#define strftime_l( __s, __l, __f, __tm, __loc ) strftime( __s, __l, __f, __tm )
-#else
-#define strftime_l _strftime_l
-#endif
-#define sscanf_l( __s, __l, __f, ...) _sscanf_l( __s, __f, __l, __VA_ARGS__ )
-#define sprintf_l( __s, __l, __f, ... ) _sprintf_l( __s, __f, __l, __VA_ARGS__ )
-#define vsprintf_l( __s, __l, __f, ... ) _vsprintf_l( __s, __f, __l, __VA_ARGS__ )
-#define vsnprintf_l( __s, __n, __l, __f, ... ) _vsnprintf_l( __s, __n, __f, __l, __VA_ARGS__ )
-_LIBCPP_FUNC_VIS int snprintf_l(char *ret, size_t n, locale_t loc, const char *format, ...);
-_LIBCPP_FUNC_VIS int asprintf_l( char **ret, locale_t loc, const char *format, ... );
-_LIBCPP_FUNC_VIS int vasprintf_l( char **ret, locale_t loc, const char *format, va_list ap );
-
-// not-so-pressing FIXME: use locale to determine blank characters
-inline int isblank_l( int c, locale_t /*loc*/ )
-{
-    return ( c == ' ' || c == '\t' );
-}
-inline int iswblank_l( wint_t c, locale_t /*loc*/ )
-{
-    return ( c == L' ' || c == L'\t' );
-}
-
-#endif // _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/system_error b/r21/sources/cxx-stl/llvm-libc++/include/system_error
deleted file mode 100644
index 05ef079..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/system_error
+++ /dev/null
@@ -1,486 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- system_error ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SYSTEM_ERROR
-#define _LIBCPP_SYSTEM_ERROR
-
-/*
-    system_error synopsis
-
-namespace std
-{
-
-class error_category
-{
-public:
-    virtual ~error_category() noexcept;
-
-    constexpr error_category();
-    error_category(const error_category&) = delete;
-    error_category& operator=(const error_category&) = delete;
-
-    virtual const char* name() const noexcept = 0;
-    virtual error_condition default_error_condition(int ev) const noexcept;
-    virtual bool equivalent(int code, const error_condition& condition) const noexcept;
-    virtual bool equivalent(const error_code& code, int condition) const noexcept;
-    virtual string message(int ev) const = 0;
-
-    bool operator==(const error_category& rhs) const noexcept;
-    bool operator!=(const error_category& rhs) const noexcept;
-    bool operator<(const error_category& rhs) const noexcept;
-};
-
-const error_category& generic_category() noexcept;
-const error_category& system_category() noexcept;
-
-template <class T> struct is_error_code_enum
-    : public false_type {};
-
-template <class T> struct is_error_condition_enum
-    : public false_type {};
-
-template <class _Tp>
-inline constexpr size_t is_error_condition_enum_v = is_error_condition_enum<_Tp>::value; // C++17
-
-template <class _Tp>
-inline constexpr size_t is_error_code_enum_v = is_error_code_enum<_Tp>::value; // C++17
-
-class error_code
-{
-public:
-    // constructors:
-    error_code() noexcept;
-    error_code(int val, const error_category& cat) noexcept;
-    template <class ErrorCodeEnum>
-        error_code(ErrorCodeEnum e) noexcept;
-
-    // modifiers:
-    void assign(int val, const error_category& cat) noexcept;
-    template <class ErrorCodeEnum>
-        error_code& operator=(ErrorCodeEnum e) noexcept;
-    void clear() noexcept;
-
-    // observers:
-    int value() const noexcept;
-    const error_category& category() const noexcept;
-    error_condition default_error_condition() const noexcept;
-    string message() const;
-    explicit operator bool() const noexcept;
-};
-
-// non-member functions:
-bool operator<(const error_code& lhs, const error_code& rhs) noexcept;
-template <class charT, class traits>
-    basic_ostream<charT,traits>&
-    operator<<(basic_ostream<charT,traits>& os, const error_code& ec);
-
-class error_condition
-{
-public:
-    // constructors:
-    error_condition() noexcept;
-    error_condition(int val, const error_category& cat) noexcept;
-    template <class ErrorConditionEnum>
-        error_condition(ErrorConditionEnum e) noexcept;
-
-    // modifiers:
-    void assign(int val, const error_category& cat) noexcept;
-    template <class ErrorConditionEnum>
-        error_condition& operator=(ErrorConditionEnum e) noexcept;
-    void clear() noexcept;
-
-    // observers:
-    int value() const noexcept;
-    const error_category& category() const noexcept;
-    string message() const noexcept;
-    explicit operator bool() const noexcept;
-};
-
-bool operator<(const error_condition& lhs, const error_condition& rhs) noexcept;
-
-class system_error
-    : public runtime_error
-{
-public:
-    system_error(error_code ec, const string& what_arg);
-    system_error(error_code ec, const char* what_arg);
-    system_error(error_code ec);
-    system_error(int ev, const error_category& ecat, const string& what_arg);
-    system_error(int ev, const error_category& ecat, const char* what_arg);
-    system_error(int ev, const error_category& ecat);
-
-    const error_code& code() const noexcept;
-    const char* what() const noexcept;
-};
-
-template <> struct is_error_condition_enum<errc>
-    : true_type { }
-
-error_code make_error_code(errc e) noexcept;
-error_condition make_error_condition(errc e) noexcept;
-
-// Comparison operators:
-bool operator==(const error_code& lhs, const error_code& rhs) noexcept;
-bool operator==(const error_code& lhs, const error_condition& rhs) noexcept;
-bool operator==(const error_condition& lhs, const error_code& rhs) noexcept;
-bool operator==(const error_condition& lhs, const error_condition& rhs) noexcept;
-bool operator!=(const error_code& lhs, const error_code& rhs) noexcept;
-bool operator!=(const error_code& lhs, const error_condition& rhs) noexcept;
-bool operator!=(const error_condition& lhs, const error_code& rhs) noexcept;
-bool operator!=(const error_condition& lhs, const error_condition& rhs) noexcept;
-
-template <> struct hash<std::error_code>;
-template <> struct hash<std::error_condition>;
-
-}  // std
-
-*/
-
-#include <__errc>
-#include <type_traits>
-#include <stdexcept>
-#include <__functional_base>
-#include <string>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// is_error_code_enum
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_error_code_enum
-    : public false_type {};
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr size_t is_error_code_enum_v = is_error_code_enum<_Tp>::value;
-#endif
-
-// is_error_condition_enum
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_error_condition_enum
-    : public false_type {};
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr size_t is_error_condition_enum_v = is_error_condition_enum<_Tp>::value;
-#endif
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS is_error_condition_enum<errc>
-    : true_type { };
-
-#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
-template <>
-struct _LIBCPP_TEMPLATE_VIS is_error_condition_enum<errc::__lx>
-    : true_type { };
-#endif
-
-class _LIBCPP_TYPE_VIS error_condition;
-class _LIBCPP_TYPE_VIS error_code;
-
-// class error_category
-
-class _LIBCPP_HIDDEN __do_message;
-
-class _LIBCPP_TYPE_VIS error_category
-{
-public:
-    virtual ~error_category() _NOEXCEPT;
-
-#if defined(_LIBCPP_BUILDING_LIBRARY) && \
-    defined(_LIBCPP_DEPRECATED_ABI_LEGACY_LIBRARY_DEFINITIONS_FOR_INLINE_FUNCTIONS)
-    error_category() _NOEXCEPT;
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR_AFTER_CXX11 error_category() _NOEXCEPT _LIBCPP_DEFAULT
-#endif
-private:
-    error_category(const error_category&);// = delete;
-    error_category& operator=(const error_category&);// = delete;
-
-public:
-    virtual const char* name() const _NOEXCEPT = 0;
-    virtual error_condition default_error_condition(int __ev) const _NOEXCEPT;
-    virtual bool equivalent(int __code, const error_condition& __condition) const _NOEXCEPT;
-    virtual bool equivalent(const error_code& __code, int __condition) const _NOEXCEPT;
-    virtual string message(int __ev) const = 0;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const error_category& __rhs) const _NOEXCEPT {return this == &__rhs;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const error_category& __rhs) const _NOEXCEPT {return !(*this == __rhs);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator< (const error_category& __rhs) const _NOEXCEPT {return this < &__rhs;}
-
-    friend class _LIBCPP_HIDDEN __do_message;
-};
-
-class _LIBCPP_HIDDEN __do_message
-    : public error_category
-{
-public:
-    virtual string message(int ev) const;
-};
-
-_LIBCPP_FUNC_VIS const error_category& generic_category() _NOEXCEPT;
-_LIBCPP_FUNC_VIS const error_category& system_category() _NOEXCEPT;
-
-class _LIBCPP_TYPE_VIS error_condition
-{
-    int __val_;
-    const error_category* __cat_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    error_condition() _NOEXCEPT : __val_(0), __cat_(&generic_category()) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    error_condition(int __val, const error_category& __cat) _NOEXCEPT
-        : __val_(__val), __cat_(&__cat) {}
-
-    template <class _Ep>
-        _LIBCPP_INLINE_VISIBILITY
-        error_condition(_Ep __e,
-              typename enable_if<is_error_condition_enum<_Ep>::value>::type* = 0
-                                                                     ) _NOEXCEPT
-            {*this = make_error_condition(__e);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void assign(int __val, const error_category& __cat) _NOEXCEPT
-    {
-        __val_ = __val;
-        __cat_ = &__cat;
-    }
-
-    template <class _Ep>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            is_error_condition_enum<_Ep>::value,
-            error_condition&
-        >::type
-        operator=(_Ep __e) _NOEXCEPT
-            {*this = make_error_condition(__e); return *this;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT
-    {
-        __val_ = 0;
-        __cat_ = &generic_category();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int value() const _NOEXCEPT {return __val_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const error_category& category() const _NOEXCEPT {return *__cat_;}
-    string message() const;
-
-    _LIBCPP_INLINE_VISIBILITY
-        _LIBCPP_EXPLICIT
-        operator bool() const _NOEXCEPT {return __val_ != 0;}
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-error_condition
-make_error_condition(errc __e) _NOEXCEPT
-{
-    return error_condition(static_cast<int>(__e), generic_category());
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const error_condition& __x, const error_condition& __y) _NOEXCEPT
-{
-    return __x.category() < __y.category()
-        || (__x.category() == __y.category() && __x.value() < __y.value());
-}
-
-// error_code
-
-class _LIBCPP_TYPE_VIS error_code
-{
-    int __val_;
-    const error_category* __cat_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    error_code() _NOEXCEPT : __val_(0), __cat_(&system_category()) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    error_code(int __val, const error_category& __cat) _NOEXCEPT
-        : __val_(__val), __cat_(&__cat) {}
-
-    template <class _Ep>
-        _LIBCPP_INLINE_VISIBILITY
-        error_code(_Ep __e,
-                   typename enable_if<is_error_code_enum<_Ep>::value>::type* = 0
-                                                                     ) _NOEXCEPT
-            {*this = make_error_code(__e);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void assign(int __val, const error_category& __cat) _NOEXCEPT
-    {
-        __val_ = __val;
-        __cat_ = &__cat;
-    }
-
-    template <class _Ep>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            is_error_code_enum<_Ep>::value,
-            error_code&
-        >::type
-        operator=(_Ep __e) _NOEXCEPT
-            {*this = make_error_code(__e); return *this;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT
-    {
-        __val_ = 0;
-        __cat_ = &system_category();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int value() const _NOEXCEPT {return __val_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const error_category& category() const _NOEXCEPT {return *__cat_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    error_condition default_error_condition() const _NOEXCEPT
-        {return __cat_->default_error_condition(__val_);}
-
-    string message() const;
-
-    _LIBCPP_INLINE_VISIBILITY
-        _LIBCPP_EXPLICIT
-        operator bool() const _NOEXCEPT {return __val_ != 0;}
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-error_code
-make_error_code(errc __e) _NOEXCEPT
-{
-    return error_code(static_cast<int>(__e), generic_category());
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<(const error_code& __x, const error_code& __y) _NOEXCEPT
-{
-    return __x.category() < __y.category()
-        || (__x.category() == __y.category() && __x.value() < __y.value());
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const error_code& __x, const error_code& __y) _NOEXCEPT
-{
-    return __x.category() == __y.category() && __x.value() == __y.value();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const error_code& __x, const error_condition& __y) _NOEXCEPT
-{
-    return __x.category().equivalent(__x.value(), __y)
-        || __y.category().equivalent(__x, __y.value());
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const error_condition& __x, const error_code& __y) _NOEXCEPT
-{
-    return __y == __x;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const error_condition& __x, const error_condition& __y) _NOEXCEPT
-{
-    return __x.category() == __y.category() && __x.value() == __y.value();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const error_code& __x, const error_code& __y) _NOEXCEPT
-{return !(__x == __y);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const error_code& __x, const error_condition& __y) _NOEXCEPT
-{return !(__x == __y);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const error_condition& __x, const error_code& __y) _NOEXCEPT
-{return !(__x == __y);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const error_condition& __x, const error_condition& __y) _NOEXCEPT
-{return !(__x == __y);}
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<error_code>
-    : public unary_function<error_code, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const error_code& __ec) const _NOEXCEPT
-    {
-        return static_cast<size_t>(__ec.value());
-    }
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<error_condition>
-    : public unary_function<error_condition, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const error_condition& __ec) const _NOEXCEPT
-    {
-        return static_cast<size_t>(__ec.value());
-    }
-};
-
-// system_error
-
-class _LIBCPP_TYPE_VIS system_error
-    : public runtime_error
-{
-    error_code __ec_;
-public:
-    system_error(error_code __ec, const string& __what_arg);
-    system_error(error_code __ec, const char* __what_arg);
-    system_error(error_code __ec);
-    system_error(int __ev, const error_category& __ecat, const string& __what_arg);
-    system_error(int __ev, const error_category& __ecat, const char* __what_arg);
-    system_error(int __ev, const error_category& __ecat);
-    ~system_error() _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    const error_code& code() const _NOEXCEPT {return __ec_;}
-
-private:
-    static string __init(const error_code&, string);
-};
-
-_LIBCPP_NORETURN _LIBCPP_FUNC_VIS
-void __throw_system_error(int ev, const char* what_arg);
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_SYSTEM_ERROR
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/thread b/r21/sources/cxx-stl/llvm-libc++/include/thread
deleted file mode 100644
index 02da703..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/thread
+++ /dev/null
@@ -1,420 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- thread -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_THREAD
-#define _LIBCPP_THREAD
-
-/*
-
-    thread synopsis
-
-namespace std
-{
-
-class thread
-{
-public:
-    class id;
-    typedef pthread_t native_handle_type;
-
-    thread() noexcept;
-    template <class F, class ...Args> explicit thread(F&& f, Args&&... args);
-    ~thread();
-
-    thread(const thread&) = delete;
-    thread(thread&& t) noexcept;
-
-    thread& operator=(const thread&) = delete;
-    thread& operator=(thread&& t) noexcept;
-
-    void swap(thread& t) noexcept;
-
-    bool joinable() const noexcept;
-    void join();
-    void detach();
-    id get_id() const noexcept;
-    native_handle_type native_handle();
-
-    static unsigned hardware_concurrency() noexcept;
-};
-
-void swap(thread& x, thread& y) noexcept;
-
-class thread::id
-{
-public:
-    id() noexcept;
-};
-
-bool operator==(thread::id x, thread::id y) noexcept;
-bool operator!=(thread::id x, thread::id y) noexcept;
-bool operator< (thread::id x, thread::id y) noexcept;
-bool operator<=(thread::id x, thread::id y) noexcept;
-bool operator> (thread::id x, thread::id y) noexcept;
-bool operator>=(thread::id x, thread::id y) noexcept;
-
-template<class charT, class traits>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& out, thread::id id);
-
-namespace this_thread
-{
-
-thread::id get_id() noexcept;
-
-void yield() noexcept;
-
-template <class Clock, class Duration>
-void sleep_until(const chrono::time_point<Clock, Duration>& abs_time);
-
-template <class Rep, class Period>
-void sleep_for(const chrono::duration<Rep, Period>& rel_time);
-
-}  // this_thread
-
-}  // std
-
-*/
-
-#include <__config>
-#include <iosfwd>
-#include <__functional_base>
-#include <type_traits>
-#include <cstddef>
-#include <functional>
-#include <memory>
-#include <system_error>
-#include <chrono>
-#include <__mutex_base>
-#ifndef _LIBCPP_CXX03_LANG
-#include <tuple>
-#endif
-#include <__threading_support>
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-#ifdef _LIBCPP_HAS_NO_THREADS
-#error <thread> is not supported on this single threaded system
-#else // !_LIBCPP_HAS_NO_THREADS
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp> class __thread_specific_ptr;
-class _LIBCPP_TYPE_VIS __thread_struct;
-class _LIBCPP_HIDDEN __thread_struct_imp;
-class __assoc_sub_state;
-
-_LIBCPP_FUNC_VIS __thread_specific_ptr<__thread_struct>& __thread_local_data();
-
-class _LIBCPP_TYPE_VIS __thread_struct
-{
-    __thread_struct_imp* __p_;
-
-    __thread_struct(const __thread_struct&);
-    __thread_struct& operator=(const __thread_struct&);
-public:
-    __thread_struct();
-    ~__thread_struct();
-
-    void notify_all_at_thread_exit(condition_variable*, mutex*);
-    void __make_ready_at_thread_exit(__assoc_sub_state*);
-};
-
-template <class _Tp>
-class __thread_specific_ptr
-{
-    __libcpp_tls_key __key_;
-
-     // Only __thread_local_data() may construct a __thread_specific_ptr
-     // and only with _Tp == __thread_struct.
-    static_assert((is_same<_Tp, __thread_struct>::value), "");
-    __thread_specific_ptr();
-    friend _LIBCPP_FUNC_VIS __thread_specific_ptr<__thread_struct>& __thread_local_data();
-
-    __thread_specific_ptr(const __thread_specific_ptr&);
-    __thread_specific_ptr& operator=(const __thread_specific_ptr&);
-
-    _LIBCPP_HIDDEN static void _LIBCPP_TLS_DESTRUCTOR_CC __at_thread_exit(void*);
-
-public:
-    typedef _Tp* pointer;
-
-    ~__thread_specific_ptr();
-
-    _LIBCPP_INLINE_VISIBILITY
-    pointer get() const {return static_cast<_Tp*>(__libcpp_tls_get(__key_));}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator*() const {return *get();}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {return get();}
-    void set_pointer(pointer __p);
-};
-
-template <class _Tp>
-void _LIBCPP_TLS_DESTRUCTOR_CC
-__thread_specific_ptr<_Tp>::__at_thread_exit(void* __p)
-{
-    delete static_cast<pointer>(__p);
-}
-
-template <class _Tp>
-__thread_specific_ptr<_Tp>::__thread_specific_ptr()
-{
-  int __ec =
-      __libcpp_tls_create(&__key_, &__thread_specific_ptr::__at_thread_exit);
-  if (__ec)
-    __throw_system_error(__ec, "__thread_specific_ptr construction failed");
-}
-
-template <class _Tp>
-__thread_specific_ptr<_Tp>::~__thread_specific_ptr()
-{
-    // __thread_specific_ptr is only created with a static storage duration
-    // so this destructor is only invoked during program termination. Invoking
-    // pthread_key_delete(__key_) may prevent other threads from deleting their
-    // thread local data. For this reason we leak the key.
-}
-
-template <class _Tp>
-void
-__thread_specific_ptr<_Tp>::set_pointer(pointer __p)
-{
-    _LIBCPP_ASSERT(get() == nullptr,
-                   "Attempting to overwrite thread local data");
-    __libcpp_tls_set(__key_, __p);
-}
-
-template<>
-struct _LIBCPP_TEMPLATE_VIS hash<__thread_id>
-    : public unary_function<__thread_id, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(__thread_id __v) const _NOEXCEPT
-    {
-        return hash<__libcpp_thread_id>()(__v.__id_);
-    }
-};
-
-template<class _CharT, class _Traits>
-_LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, __thread_id __id)
-{return __os << __id.__id_;}
-
-class _LIBCPP_TYPE_VIS thread
-{
-    __libcpp_thread_t __t_;
-
-    thread(const thread&);
-    thread& operator=(const thread&);
-public:
-    typedef __thread_id id;
-    typedef __libcpp_thread_t native_handle_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    thread() _NOEXCEPT : __t_(_LIBCPP_NULL_THREAD) {}
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Fp, class ..._Args,
-              class = typename enable_if
-              <
-                   !is_same<typename __uncvref<_Fp>::type, thread>::value
-              >::type
-             >
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        explicit thread(_Fp&& __f, _Args&&... __args);
-#else  // _LIBCPP_CXX03_LANG
-    template <class _Fp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    explicit thread(_Fp __f);
-#endif
-    ~thread();
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    thread(thread&& __t) _NOEXCEPT : __t_(__t.__t_) {__t.__t_ = _LIBCPP_NULL_THREAD;}
-    _LIBCPP_INLINE_VISIBILITY
-    thread& operator=(thread&& __t) _NOEXCEPT;
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(thread& __t) _NOEXCEPT {_VSTD::swap(__t_, __t.__t_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool joinable() const _NOEXCEPT {return !__libcpp_thread_isnull(&__t_);}
-    void join();
-    void detach();
-    _LIBCPP_INLINE_VISIBILITY
-    id get_id() const _NOEXCEPT {return __libcpp_thread_get_id(&__t_);}
-    _LIBCPP_INLINE_VISIBILITY
-    native_handle_type native_handle() _NOEXCEPT {return __t_;}
-
-    static unsigned hardware_concurrency() _NOEXCEPT;
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _TSp, class _Fp, class ..._Args, size_t ..._Indices>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__thread_execute(tuple<_TSp, _Fp, _Args...>& __t, __tuple_indices<_Indices...>)
-{
-    __invoke(_VSTD::move(_VSTD::get<1>(__t)), _VSTD::move(_VSTD::get<_Indices>(__t))...);
-}
-
-template <class _Fp>
-void* __thread_proxy(void* __vp)
-{
-    // _Fp = std::tuple< unique_ptr<__thread_struct>, Functor, Args...>
-    std::unique_ptr<_Fp> __p(static_cast<_Fp*>(__vp));
-    __thread_local_data().set_pointer(_VSTD::get<0>(*__p).release());
-    typedef typename __make_tuple_indices<tuple_size<_Fp>::value, 2>::type _Index;
-    __thread_execute(*__p, _Index());
-    return nullptr;
-}
-
-template <class _Fp, class ..._Args,
-          class
-         >
-thread::thread(_Fp&& __f, _Args&&... __args)
-{
-    typedef unique_ptr<__thread_struct> _TSPtr;
-    _TSPtr __tsp(new __thread_struct);
-    typedef tuple<_TSPtr, typename decay<_Fp>::type, typename decay<_Args>::type...> _Gp;
-    _VSTD::unique_ptr<_Gp> __p(
-            new _Gp(std::move(__tsp),
-                    __decay_copy(_VSTD::forward<_Fp>(__f)),
-                    __decay_copy(_VSTD::forward<_Args>(__args))...));
-    int __ec = __libcpp_thread_create(&__t_, &__thread_proxy<_Gp>, __p.get());
-    if (__ec == 0)
-        __p.release();
-    else
-        __throw_system_error(__ec, "thread constructor failed");
-}
-
-inline
-thread&
-thread::operator=(thread&& __t) _NOEXCEPT
-{
-    if (!__libcpp_thread_isnull(&__t_))
-        terminate();
-    __t_ = __t.__t_;
-    __t.__t_ = _LIBCPP_NULL_THREAD;
-    return *this;
-}
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _Fp>
-struct __thread_invoke_pair {
-    // This type is used to pass memory for thread local storage and a functor
-    // to a newly created thread because std::pair doesn't work with
-    // std::unique_ptr in C++03.
-    __thread_invoke_pair(_Fp& __f) : __tsp_(new __thread_struct), __fn_(__f) {}
-    unique_ptr<__thread_struct> __tsp_;
-    _Fp __fn_;
-};
-
-template <class _Fp>
-void* __thread_proxy_cxx03(void* __vp)
-{
-    std::unique_ptr<_Fp> __p(static_cast<_Fp*>(__vp));
-    __thread_local_data().set_pointer(__p->__tsp_.release());
-    (__p->__fn_)();
-    return nullptr;
-}
-
-template <class _Fp>
-thread::thread(_Fp __f)
-{
-
-    typedef __thread_invoke_pair<_Fp> _InvokePair;
-    typedef std::unique_ptr<_InvokePair> _PairPtr;
-    _PairPtr __pp(new _InvokePair(__f));
-    int __ec = __libcpp_thread_create(&__t_, &__thread_proxy_cxx03<_InvokePair>, __pp.get());
-    if (__ec == 0)
-        __pp.release();
-    else
-        __throw_system_error(__ec, "thread constructor failed");
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-inline _LIBCPP_INLINE_VISIBILITY
-void swap(thread& __x, thread& __y) _NOEXCEPT {__x.swap(__y);}
-
-namespace this_thread
-{
-
-_LIBCPP_FUNC_VIS void sleep_for(const chrono::nanoseconds& __ns);
-
-template <class _Rep, class _Period>
-void
-sleep_for(const chrono::duration<_Rep, _Period>& __d)
-{
-    using namespace chrono;
-    if (__d > duration<_Rep, _Period>::zero())
-    {
-#if defined(_LIBCPP_COMPILER_GCC) && (__powerpc__ || __POWERPC__)
-    //  GCC's long double const folding is incomplete for IBM128 long doubles.
-        _LIBCPP_CONSTEXPR duration<long double> _Max = nanoseconds::max();
-#else
-        _LIBCPP_CONSTEXPR duration<long double> _Max = duration<long double>(ULLONG_MAX/1000000000ULL) ;
-#endif
-        nanoseconds __ns;
-        if (__d < _Max)
-        {
-            __ns = duration_cast<nanoseconds>(__d);
-            if (__ns < __d)
-                ++__ns;
-        }
-        else
-            __ns = nanoseconds::max();
-        sleep_for(__ns);
-    }
-}
-
-template <class _Clock, class _Duration>
-void
-sleep_until(const chrono::time_point<_Clock, _Duration>& __t)
-{
-    using namespace chrono;
-    mutex __mut;
-    condition_variable __cv;
-    unique_lock<mutex> __lk(__mut);
-    while (_Clock::now() < __t)
-        __cv.wait_until(__lk, __t);
-}
-
-template <class _Duration>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-sleep_until(const chrono::time_point<chrono::steady_clock, _Duration>& __t)
-{
-    using namespace chrono;
-    sleep_for(__t - steady_clock::now());
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void yield() _NOEXCEPT {__libcpp_thread_yield();}
-
-}  // this_thread
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // !_LIBCPP_HAS_NO_THREADS
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_THREAD
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/tuple b/r21/sources/cxx-stl/llvm-libc++/include/tuple
deleted file mode 100644
index 32bc869..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/tuple
+++ /dev/null
@@ -1,1428 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- tuple ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_TUPLE
-#define _LIBCPP_TUPLE
-
-/*
-    tuple synopsis
-
-namespace std
-{
-
-template <class... T>
-class tuple {
-public:
-    constexpr tuple();
-    explicit(see-below) tuple(const T&...);  // constexpr in C++14
-    template <class... U>
-        explicit(see-below) tuple(U&&...);  // constexpr in C++14
-    tuple(const tuple&) = default;
-    tuple(tuple&&) = default;
-    template <class... U>
-        explicit(see-below) tuple(const tuple<U...>&);  // constexpr in C++14
-    template <class... U>
-        explicit(see-below) tuple(tuple<U...>&&);  // constexpr in C++14
-    template <class U1, class U2>
-        explicit(see-below) tuple(const pair<U1, U2>&); // iff sizeof...(T) == 2 // constexpr in C++14
-    template <class U1, class U2>
-        explicit(see-below) tuple(pair<U1, U2>&&); // iff sizeof...(T) == 2  // constexpr in C++14
-
-    // allocator-extended constructors
-    template <class Alloc>
-        tuple(allocator_arg_t, const Alloc& a);
-    template <class Alloc>
-        explicit(see-below) tuple(allocator_arg_t, const Alloc& a, const T&...);
-    template <class Alloc, class... U>
-        explicit(see-below) tuple(allocator_arg_t, const Alloc& a, U&&...);
-    template <class Alloc>
-        tuple(allocator_arg_t, const Alloc& a, const tuple&);
-    template <class Alloc>
-        tuple(allocator_arg_t, const Alloc& a, tuple&&);
-    template <class Alloc, class... U>
-        explicit(see-below) tuple(allocator_arg_t, const Alloc& a, const tuple<U...>&);
-    template <class Alloc, class... U>
-        explicit(see-below) tuple(allocator_arg_t, const Alloc& a, tuple<U...>&&);
-    template <class Alloc, class U1, class U2>
-        explicit(see-below) tuple(allocator_arg_t, const Alloc& a, const pair<U1, U2>&);
-    template <class Alloc, class U1, class U2>
-        explicit(see-below) tuple(allocator_arg_t, const Alloc& a, pair<U1, U2>&&);
-
-    tuple& operator=(const tuple&);
-    tuple&
-        operator=(tuple&&) noexcept(AND(is_nothrow_move_assignable<T>::value ...));
-    template <class... U>
-        tuple& operator=(const tuple<U...>&);
-    template <class... U>
-        tuple& operator=(tuple<U...>&&);
-    template <class U1, class U2>
-        tuple& operator=(const pair<U1, U2>&); // iff sizeof...(T) == 2
-    template <class U1, class U2>
-        tuple& operator=(pair<U1, U2>&&); // iff sizeof...(T) == 2
-
-    void swap(tuple&) noexcept(AND(swap(declval<T&>(), declval<T&>())...));
-};
-
-template <class ...T>
-tuple(T...) -> tuple<T...>;                                         // since C++17
-template <class T1, class T2>
-tuple(pair<T1, T2>) -> tuple<T1, T2>;                               // since C++17
-template <class Alloc, class ...T>
-tuple(allocator_arg_t, Alloc, T...) -> tuple<T...>;                 // since C++17
-template <class Alloc, class T1, class T2>
-tuple(allocator_arg_t, Alloc, pair<T1, T2>) -> tuple<T1, T2>;       // since C++17
-template <class Alloc, class ...T>
-tuple(allocator_arg_t, Alloc, tuple<T...>) -> tuple<T...>;          // since C++17
-
-inline constexpr unspecified ignore;
-
-template <class... T> tuple<V...>  make_tuple(T&&...); // constexpr in C++14
-template <class... T> tuple<ATypes...> forward_as_tuple(T&&...) noexcept; // constexpr in C++14
-template <class... T> tuple<T&...> tie(T&...) noexcept; // constexpr in C++14
-template <class... Tuples> tuple<CTypes...> tuple_cat(Tuples&&... tpls); // constexpr in C++14
-
-// [tuple.apply], calling a function with a tuple of arguments:
-template <class F, class Tuple>
-  constexpr decltype(auto) apply(F&& f, Tuple&& t); // C++17
-template <class T, class Tuple>
-  constexpr T make_from_tuple(Tuple&& t); // C++17
-
-// 20.4.1.4, tuple helper classes:
-template <class T> struct tuple_size; // undefined
-template <class... T> struct tuple_size<tuple<T...>>;
-template <class T>
- inline constexpr size_t tuple_size_v = tuple_size<T>::value; // C++17
-template <size_t I, class T> struct tuple_element; // undefined
-template <size_t I, class... T> struct tuple_element<I, tuple<T...>>;
-template <size_t I, class T>
-  using tuple_element_t = typename tuple_element <I, T>::type; // C++14
-
-// 20.4.1.5, element access:
-template <size_t I, class... T>
-    typename tuple_element<I, tuple<T...>>::type&
-    get(tuple<T...>&) noexcept; // constexpr in C++14
-template <size_t I, class... T>
-    const typename tuple_element<I, tuple<T...>>::type&
-    get(const tuple<T...>&) noexcept; // constexpr in C++14
-template <size_t I, class... T>
-    typename tuple_element<I, tuple<T...>>::type&&
-    get(tuple<T...>&&) noexcept; // constexpr in C++14
-template <size_t I, class... T>
-    const typename tuple_element<I, tuple<T...>>::type&&
-    get(const tuple<T...>&&) noexcept; // constexpr in C++14
-
-template <class T1, class... T>
-    constexpr T1& get(tuple<T...>&) noexcept;  // C++14
-template <class T1, class... T>
-    constexpr const T1& get(const tuple<T...>&) noexcept;   // C++14
-template <class T1, class... T>
-    constexpr T1&& get(tuple<T...>&&) noexcept;   // C++14
-template <class T1, class... T>
-    constexpr const T1&& get(const tuple<T...>&&) noexcept;   // C++14
-
-// 20.4.1.6, relational operators:
-template<class... T, class... U> bool operator==(const tuple<T...>&, const tuple<U...>&); // constexpr in C++14
-template<class... T, class... U> bool operator<(const tuple<T...>&, const tuple<U...>&);  // constexpr in C++14
-template<class... T, class... U> bool operator!=(const tuple<T...>&, const tuple<U...>&); // constexpr in C++14
-template<class... T, class... U> bool operator>(const tuple<T...>&, const tuple<U...>&);  // constexpr in C++14
-template<class... T, class... U> bool operator<=(const tuple<T...>&, const tuple<U...>&); // constexpr in C++14
-template<class... T, class... U> bool operator>=(const tuple<T...>&, const tuple<U...>&); // constexpr in C++14
-
-template <class... Types, class Alloc>
-  struct uses_allocator<tuple<Types...>, Alloc>;
-
-template <class... Types>
-  void
-  swap(tuple<Types...>& x, tuple<Types...>& y) noexcept(noexcept(x.swap(y)));
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__tuple>
-#include <cstddef>
-#include <type_traits>
-#include <__functional_base>
-#include <utility>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifndef _LIBCPP_CXX03_LANG
-
-
-// __tuple_leaf
-
-template <size_t _Ip, class _Hp,
-          bool=is_empty<_Hp>::value && !__libcpp_is_final<_Hp>::value
-         >
-class __tuple_leaf;
-
-template <size_t _Ip, class _Hp, bool _Ep>
-inline _LIBCPP_INLINE_VISIBILITY
-void swap(__tuple_leaf<_Ip, _Hp, _Ep>& __x, __tuple_leaf<_Ip, _Hp, _Ep>& __y)
-    _NOEXCEPT_(__is_nothrow_swappable<_Hp>::value)
-{
-    swap(__x.get(), __y.get());
-}
-
-template <size_t _Ip, class _Hp, bool>
-class __tuple_leaf
-{
-    _Hp __value_;
-
-    template <class _Tp>
-    static constexpr bool __can_bind_reference() {
-#if __has_keyword(__reference_binds_to_temporary)
-      return !__reference_binds_to_temporary(_Hp, _Tp);
-#else
-      return true;
-#endif
-    }
-
-    __tuple_leaf& operator=(const __tuple_leaf&);
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR __tuple_leaf()
-             _NOEXCEPT_(is_nothrow_default_constructible<_Hp>::value) : __value_()
-       {static_assert(!is_reference<_Hp>::value,
-              "Attempted to default construct a reference element in a tuple");}
-
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_leaf(integral_constant<int, 0>, const _Alloc&)
-            : __value_()
-        {static_assert(!is_reference<_Hp>::value,
-              "Attempted to default construct a reference element in a tuple");}
-
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a)
-            : __value_(allocator_arg_t(), __a)
-        {static_assert(!is_reference<_Hp>::value,
-              "Attempted to default construct a reference element in a tuple");}
-
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a)
-            : __value_(__a)
-        {static_assert(!is_reference<_Hp>::value,
-              "Attempted to default construct a reference element in a tuple");}
-
-    template <class _Tp,
-              class = _EnableIf<
-                  _And<
-                      _IsNotSame<__uncvref_t<_Tp>, __tuple_leaf>,
-                      is_constructible<_Hp, _Tp>
-                    >::value
-                >
-            >
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        explicit __tuple_leaf(_Tp&& __t) _NOEXCEPT_((is_nothrow_constructible<_Hp, _Tp>::value))
-            : __value_(_VSTD::forward<_Tp>(__t))
-        {static_assert(__can_bind_reference<_Tp&&>(),
-       "Attempted construction of reference element binds to a temporary whose lifetime has ended");}
-
-    template <class _Tp, class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit __tuple_leaf(integral_constant<int, 0>, const _Alloc&, _Tp&& __t)
-            : __value_(_VSTD::forward<_Tp>(__t))
-        {static_assert(__can_bind_reference<_Tp&&>(),
-       "Attempted construction of reference element binds to a temporary whose lifetime has ended");}
-
-    template <class _Tp, class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a, _Tp&& __t)
-            : __value_(allocator_arg_t(), __a, _VSTD::forward<_Tp>(__t))
-        {static_assert(!is_reference<_Hp>::value,
-            "Attempted to uses-allocator construct a reference element in a tuple");}
-
-    template <class _Tp, class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a, _Tp&& __t)
-            : __value_(_VSTD::forward<_Tp>(__t), __a)
-        {static_assert(!is_reference<_Hp>::value,
-           "Attempted to uses-allocator construct a reference element in a tuple");}
-
-    __tuple_leaf(const __tuple_leaf& __t) = default;
-    __tuple_leaf(__tuple_leaf&& __t) = default;
-
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_leaf&
-        operator=(_Tp&& __t) _NOEXCEPT_((is_nothrow_assignable<_Hp&, _Tp>::value))
-        {
-            __value_ = _VSTD::forward<_Tp>(__t);
-            return *this;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int swap(__tuple_leaf& __t) _NOEXCEPT_(__is_nothrow_swappable<__tuple_leaf>::value)
-    {
-        _VSTD::swap(*this, __t);
-        return 0;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11       _Hp& get()       _NOEXCEPT {return __value_;}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const _Hp& get() const _NOEXCEPT {return __value_;}
-};
-
-template <size_t _Ip, class _Hp>
-class __tuple_leaf<_Ip, _Hp, true>
-    : private _Hp
-{
-
-    __tuple_leaf& operator=(const __tuple_leaf&);
-public:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR __tuple_leaf()
-             _NOEXCEPT_(is_nothrow_default_constructible<_Hp>::value) {}
-
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_leaf(integral_constant<int, 0>, const _Alloc&) {}
-
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a)
-            : _Hp(allocator_arg_t(), __a) {}
-
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a)
-            : _Hp(__a) {}
-
-    template <class _Tp,
-              class = _EnableIf<
-                  _And<
-                    _IsNotSame<__uncvref_t<_Tp>, __tuple_leaf>,
-                    is_constructible<_Hp, _Tp>
-                  >::value
-                >
-            >
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        explicit __tuple_leaf(_Tp&& __t) _NOEXCEPT_((is_nothrow_constructible<_Hp, _Tp>::value))
-            : _Hp(_VSTD::forward<_Tp>(__t)) {}
-
-    template <class _Tp, class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit __tuple_leaf(integral_constant<int, 0>, const _Alloc&, _Tp&& __t)
-            : _Hp(_VSTD::forward<_Tp>(__t)) {}
-
-    template <class _Tp, class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a, _Tp&& __t)
-            : _Hp(allocator_arg_t(), __a, _VSTD::forward<_Tp>(__t)) {}
-
-    template <class _Tp, class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a, _Tp&& __t)
-            : _Hp(_VSTD::forward<_Tp>(__t), __a) {}
-
-    __tuple_leaf(__tuple_leaf const &) = default;
-    __tuple_leaf(__tuple_leaf &&) = default;
-
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_leaf&
-        operator=(_Tp&& __t) _NOEXCEPT_((is_nothrow_assignable<_Hp&, _Tp>::value))
-        {
-            _Hp::operator=(_VSTD::forward<_Tp>(__t));
-            return *this;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    int
-    swap(__tuple_leaf& __t) _NOEXCEPT_(__is_nothrow_swappable<__tuple_leaf>::value)
-    {
-        _VSTD::swap(*this, __t);
-        return 0;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11       _Hp& get()       _NOEXCEPT {return static_cast<_Hp&>(*this);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const _Hp& get() const _NOEXCEPT {return static_cast<const _Hp&>(*this);}
-};
-
-template <class ..._Tp>
-_LIBCPP_INLINE_VISIBILITY
-void __swallow(_Tp&&...) _NOEXCEPT {}
-
-template <class _Tp>
-struct __all_default_constructible;
-
-template <class ..._Tp>
-struct __all_default_constructible<__tuple_types<_Tp...>>
-    : __all<is_default_constructible<_Tp>::value...>
-{ };
-
-// __tuple_impl
-
-template<class _Indx, class ..._Tp> struct __tuple_impl;
-
-template<size_t ..._Indx, class ..._Tp>
-struct _LIBCPP_DECLSPEC_EMPTY_BASES __tuple_impl<__tuple_indices<_Indx...>, _Tp...>
-    : public __tuple_leaf<_Indx, _Tp>...
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR __tuple_impl()
-        _NOEXCEPT_(__all<is_nothrow_default_constructible<_Tp>::value...>::value) {}
-
-    template <size_t ..._Uf, class ..._Tf,
-              size_t ..._Ul, class ..._Tl, class ..._Up>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        explicit
-        __tuple_impl(__tuple_indices<_Uf...>, __tuple_types<_Tf...>,
-                     __tuple_indices<_Ul...>, __tuple_types<_Tl...>,
-                     _Up&&... __u)
-                     _NOEXCEPT_((__all<is_nothrow_constructible<_Tf, _Up>::value...>::value &&
-                                 __all<is_nothrow_default_constructible<_Tl>::value...>::value)) :
-            __tuple_leaf<_Uf, _Tf>(_VSTD::forward<_Up>(__u))...,
-            __tuple_leaf<_Ul, _Tl>()...
-            {}
-
-    template <class _Alloc, size_t ..._Uf, class ..._Tf,
-              size_t ..._Ul, class ..._Tl, class ..._Up>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit
-        __tuple_impl(allocator_arg_t, const _Alloc& __a,
-                     __tuple_indices<_Uf...>, __tuple_types<_Tf...>,
-                     __tuple_indices<_Ul...>, __tuple_types<_Tl...>,
-                     _Up&&... __u) :
-            __tuple_leaf<_Uf, _Tf>(__uses_alloc_ctor<_Tf, _Alloc, _Up>(), __a,
-            _VSTD::forward<_Up>(__u))...,
-            __tuple_leaf<_Ul, _Tl>(__uses_alloc_ctor<_Tl, _Alloc>(), __a)...
-            {}
-
-    template <class _Tuple,
-              class = typename enable_if
-                      <
-                         __tuple_constructible<_Tuple, tuple<_Tp...> >::value
-                      >::type
-             >
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        __tuple_impl(_Tuple&& __t) _NOEXCEPT_((__all<is_nothrow_constructible<_Tp, typename tuple_element<_Indx,
-                                       typename __make_tuple_types<_Tuple>::type>::type>::value...>::value))
-            : __tuple_leaf<_Indx, _Tp>(_VSTD::forward<typename tuple_element<_Indx,
-                                       typename __make_tuple_types<_Tuple>::type>::type>(_VSTD::get<_Indx>(__t)))...
-            {}
-
-    template <class _Alloc, class _Tuple,
-              class = typename enable_if
-                      <
-                         __tuple_constructible<_Tuple, tuple<_Tp...> >::value
-                      >::type
-             >
-        _LIBCPP_INLINE_VISIBILITY
-        __tuple_impl(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
-            : __tuple_leaf<_Indx, _Tp>(__uses_alloc_ctor<_Tp, _Alloc, typename tuple_element<_Indx,
-                                       typename __make_tuple_types<_Tuple>::type>::type>(), __a,
-                                       _VSTD::forward<typename tuple_element<_Indx,
-                                       typename __make_tuple_types<_Tuple>::type>::type>(_VSTD::get<_Indx>(__t)))...
-            {}
-
-    template <class _Tuple>
-        _LIBCPP_INLINE_VISIBILITY
-        typename enable_if
-        <
-            __tuple_assignable<_Tuple, tuple<_Tp...> >::value,
-            __tuple_impl&
-        >::type
-        operator=(_Tuple&& __t) _NOEXCEPT_((__all<is_nothrow_assignable<_Tp&, typename tuple_element<_Indx,
-                                       typename __make_tuple_types<_Tuple>::type>::type>::value...>::value))
-        {
-            __swallow(__tuple_leaf<_Indx, _Tp>::operator=(_VSTD::forward<typename tuple_element<_Indx,
-                                       typename __make_tuple_types<_Tuple>::type>::type>(_VSTD::get<_Indx>(__t)))...);
-            return *this;
-        }
-
-    __tuple_impl(const __tuple_impl&) = default;
-    __tuple_impl(__tuple_impl&&) = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tuple_impl&
-    operator=(const __tuple_impl& __t) _NOEXCEPT_((__all<is_nothrow_copy_assignable<_Tp>::value...>::value))
-    {
-        __swallow(__tuple_leaf<_Indx, _Tp>::operator=(static_cast<const __tuple_leaf<_Indx, _Tp>&>(__t).get())...);
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __tuple_impl&
-    operator=(__tuple_impl&& __t) _NOEXCEPT_((__all<is_nothrow_move_assignable<_Tp>::value...>::value))
-    {
-        __swallow(__tuple_leaf<_Indx, _Tp>::operator=(_VSTD::forward<_Tp>(static_cast<__tuple_leaf<_Indx, _Tp>&>(__t).get()))...);
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(__tuple_impl& __t)
-        _NOEXCEPT_(__all<__is_nothrow_swappable<_Tp>::value...>::value)
-    {
-        __swallow(__tuple_leaf<_Indx, _Tp>::swap(static_cast<__tuple_leaf<_Indx, _Tp>&>(__t))...);
-    }
-};
-
-
-
-template <class ..._Tp>
-class _LIBCPP_TEMPLATE_VIS tuple
-{
-    typedef __tuple_impl<typename __make_tuple_indices<sizeof...(_Tp)>::type, _Tp...> _BaseT;
-
-    _BaseT __base_;
-
-#if defined(_LIBCPP_ENABLE_TUPLE_IMPLICIT_REDUCED_ARITY_EXTENSION)
-    static constexpr bool _EnableImplicitReducedArityExtension = true;
-#else
-    static constexpr bool _EnableImplicitReducedArityExtension = false;
-#endif
-
-    template <class ..._Args>
-    struct _PackExpandsToThisTuple : false_type {};
-
-    template <class _Arg>
-    struct _PackExpandsToThisTuple<_Arg>
-        : is_same<typename __uncvref<_Arg>::type, tuple> {};
-
-    template <bool _MaybeEnable, class _Dummy = void>
-    struct _CheckArgsConstructor : __check_tuple_constructor_fail {};
-
-    template <class _Dummy>
-    struct _CheckArgsConstructor<true, _Dummy>
-    {
-        template <class ..._Args>
-        static constexpr bool __enable_default() {
-            return __all<is_default_constructible<_Args>::value...>::value;
-        }
-
-        template <class ..._Args>
-        static constexpr bool __enable_explicit() {
-            return
-                __tuple_constructible<
-                    tuple<_Args...>,
-                    typename __make_tuple_types<tuple,
-                             sizeof...(_Args) < sizeof...(_Tp) ?
-                                 sizeof...(_Args) :
-                                 sizeof...(_Tp)>::type
-                >::value &&
-                !__tuple_convertible<
-                    tuple<_Args...>,
-                    typename __make_tuple_types<tuple,
-                             sizeof...(_Args) < sizeof...(_Tp) ?
-                                 sizeof...(_Args) :
-                                 sizeof...(_Tp)>::type
-                >::value &&
-                __all_default_constructible<
-                    typename __make_tuple_types<tuple, sizeof...(_Tp),
-                             sizeof...(_Args) < sizeof...(_Tp) ?
-                                 sizeof...(_Args) :
-                                 sizeof...(_Tp)>::type
-                >::value;
-        }
-
-        template <class ..._Args>
-        static constexpr bool __enable_implicit() {
-            return
-               __tuple_constructible<
-                    tuple<_Args...>,
-                    typename __make_tuple_types<tuple,
-                             sizeof...(_Args) < sizeof...(_Tp) ?
-                                 sizeof...(_Args) :
-                                 sizeof...(_Tp)>::type
-                >::value &&
-                __tuple_convertible<
-                    tuple<_Args...>,
-                    typename __make_tuple_types<tuple,
-                             sizeof...(_Args) < sizeof...(_Tp) ?
-                                 sizeof...(_Args) :
-                                 sizeof...(_Tp)>::type
-                >::value &&
-                __all_default_constructible<
-                    typename __make_tuple_types<tuple, sizeof...(_Tp),
-                             sizeof...(_Args) < sizeof...(_Tp) ?
-                                 sizeof...(_Args) :
-                                 sizeof...(_Tp)>::type
-                >::value;
-        }
-    };
-
-    template <bool _MaybeEnable,
-              bool = sizeof...(_Tp) == 1,
-              class _Dummy = void>
-    struct _CheckTupleLikeConstructor : __check_tuple_constructor_fail {};
-
-    template <class _Dummy>
-    struct _CheckTupleLikeConstructor<true, false, _Dummy>
-    {
-        template <class _Tuple>
-        static constexpr bool __enable_implicit() {
-            return __tuple_constructible<_Tuple, tuple>::value
-                && __tuple_convertible<_Tuple, tuple>::value;
-        }
-
-        template <class _Tuple>
-        static constexpr bool __enable_explicit() {
-            return __tuple_constructible<_Tuple, tuple>::value
-               && !__tuple_convertible<_Tuple, tuple>::value;
-        }
-    };
-
-    template <class _Dummy>
-    struct _CheckTupleLikeConstructor<true, true, _Dummy>
-    {
-        // This trait is used to disable the tuple-like constructor when
-        // the UTypes... constructor should be selected instead.
-        // See LWG issue #2549.
-        template <class _Tuple>
-        using _PreferTupleLikeConstructor = _Or<
-            // Don't attempt the two checks below if the tuple we are given
-            // has the same type as this tuple.
-            _IsSame<__uncvref_t<_Tuple>, tuple>,
-            _Lazy<_And,
-                _Not<is_constructible<_Tp..., _Tuple>>,
-                _Not<is_convertible<_Tuple, _Tp...>>
-            >
-        >;
-
-        template <class _Tuple>
-        static constexpr bool __enable_implicit() {
-            return _And<
-                __tuple_constructible<_Tuple, tuple>,
-                __tuple_convertible<_Tuple, tuple>,
-                _PreferTupleLikeConstructor<_Tuple>
-            >::value;
-        }
-
-        template <class _Tuple>
-        static constexpr bool __enable_explicit() {
-            return _And<
-                __tuple_constructible<_Tuple, tuple>,
-                _PreferTupleLikeConstructor<_Tuple>,
-                _Not<__tuple_convertible<_Tuple, tuple>>
-            >::value;
-        }
-    };
-
-    template <class _Tuple, bool _DisableIfLValue>
-    using _EnableImplicitTupleLikeConstructor = _EnableIf<
-                         _CheckTupleLikeConstructor<
-                             __tuple_like_with_size<_Tuple, sizeof...(_Tp)>::value
-                             && !_PackExpandsToThisTuple<_Tuple>::value
-                             && (!is_lvalue_reference<_Tuple>::value || !_DisableIfLValue)
-                         >::template __enable_implicit<_Tuple>(),
-                         bool
-                      >;
-
-    template <class _Tuple, bool _DisableIfLValue>
-    using _EnableExplicitTupleLikeConstructor = _EnableIf<
-                         _CheckTupleLikeConstructor<
-                             __tuple_like_with_size<_Tuple, sizeof...(_Tp)>::value
-                             && !_PackExpandsToThisTuple<_Tuple>::value
-                             && (!is_lvalue_reference<_Tuple>::value || !_DisableIfLValue)
-                         >::template __enable_explicit<_Tuple>(),
-                         bool
-                      >;
-    template <size_t _Jp, class ..._Up> friend _LIBCPP_CONSTEXPR_AFTER_CXX11
-        typename tuple_element<_Jp, tuple<_Up...> >::type& get(tuple<_Up...>&) _NOEXCEPT;
-    template <size_t _Jp, class ..._Up> friend _LIBCPP_CONSTEXPR_AFTER_CXX11
-        const typename tuple_element<_Jp, tuple<_Up...> >::type& get(const tuple<_Up...>&) _NOEXCEPT;
-    template <size_t _Jp, class ..._Up> friend _LIBCPP_CONSTEXPR_AFTER_CXX11
-        typename tuple_element<_Jp, tuple<_Up...> >::type&& get(tuple<_Up...>&&) _NOEXCEPT;
-    template <size_t _Jp, class ..._Up> friend _LIBCPP_CONSTEXPR_AFTER_CXX11
-        const typename tuple_element<_Jp, tuple<_Up...> >::type&& get(const tuple<_Up...>&&) _NOEXCEPT;
-public:
-
-    template <bool _Dummy = true, class = typename enable_if<
-        _CheckArgsConstructor<_Dummy>::template __enable_default<_Tp...>()
-    >::type>
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR tuple()
-        _NOEXCEPT_(__all<is_nothrow_default_constructible<_Tp>::value...>::value) {}
-
-    tuple(tuple const&) = default;
-    tuple(tuple&&) = default;
-
-    template <class _AllocArgT, class _Alloc, bool _Dummy = true, class = _EnableIf<
-        _And<
-            _IsSame<allocator_arg_t, _AllocArgT>,
-           __dependent_type<is_default_constructible<_Tp>, _Dummy>...
-       >::value
-      >
-    >
-    _LIBCPP_INLINE_VISIBILITY
-    tuple(_AllocArgT, _Alloc const& __a)
-      : __base_(allocator_arg_t(), __a,
-                    __tuple_indices<>(), __tuple_types<>(),
-                    typename __make_tuple_indices<sizeof...(_Tp), 0>::type(),
-                    __tuple_types<_Tp...>()) {}
-
-    template <bool _Dummy = true,
-              typename enable_if
-                      <
-                         _CheckArgsConstructor<
-                            _Dummy
-                         >::template __enable_implicit<_Tp const&...>(),
-                         bool
-                      >::type = false
-        >
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    tuple(const _Tp& ... __t) _NOEXCEPT_((__all<is_nothrow_copy_constructible<_Tp>::value...>::value))
-        : __base_(typename __make_tuple_indices<sizeof...(_Tp)>::type(),
-                typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(),
-                typename __make_tuple_indices<0>::type(),
-                typename __make_tuple_types<tuple, 0>::type(),
-                __t...
-               ) {}
-
-    template <bool _Dummy = true,
-              typename enable_if
-                      <
-                         _CheckArgsConstructor<
-                            _Dummy
-                         >::template __enable_explicit<_Tp const&...>(),
-                         bool
-                      >::type = false
-        >
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    explicit tuple(const _Tp& ... __t) _NOEXCEPT_((__all<is_nothrow_copy_constructible<_Tp>::value...>::value))
-        : __base_(typename __make_tuple_indices<sizeof...(_Tp)>::type(),
-                typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(),
-                typename __make_tuple_indices<0>::type(),
-                typename __make_tuple_types<tuple, 0>::type(),
-                __t...
-               ) {}
-
-    template <class _Alloc, bool _Dummy = true,
-              typename enable_if
-                      <
-                         _CheckArgsConstructor<
-                            _Dummy
-                         >::template __enable_implicit<_Tp const&...>(),
-                         bool
-                      >::type = false
-        >
-      _LIBCPP_INLINE_VISIBILITY
-      tuple(allocator_arg_t, const _Alloc& __a, const _Tp& ... __t)
-        : __base_(allocator_arg_t(), __a,
-                typename __make_tuple_indices<sizeof...(_Tp)>::type(),
-                typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(),
-                typename __make_tuple_indices<0>::type(),
-                typename __make_tuple_types<tuple, 0>::type(),
-                __t...
-               ) {}
-
-    template <class _Alloc, bool _Dummy = true,
-              typename enable_if
-                      <
-                         _CheckArgsConstructor<
-                            _Dummy
-                         >::template __enable_explicit<_Tp const&...>(),
-                         bool
-                      >::type = false
-        >
-      _LIBCPP_INLINE_VISIBILITY
-      explicit
-      tuple(allocator_arg_t, const _Alloc& __a, const _Tp& ... __t)
-        : __base_(allocator_arg_t(), __a,
-                typename __make_tuple_indices<sizeof...(_Tp)>::type(),
-                typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(),
-                typename __make_tuple_indices<0>::type(),
-                typename __make_tuple_types<tuple, 0>::type(),
-                __t...
-               ) {}
-
-    template <class ..._Up,
-              bool _PackIsTuple = _PackExpandsToThisTuple<_Up...>::value,
-              typename enable_if
-                      <
-                         _CheckArgsConstructor<
-                             sizeof...(_Up) == sizeof...(_Tp)
-                             && !_PackIsTuple
-                         >::template __enable_implicit<_Up...>() ||
-                        _CheckArgsConstructor<
-                            _EnableImplicitReducedArityExtension
-                            && sizeof...(_Up) < sizeof...(_Tp)
-                            && !_PackIsTuple
-                         >::template __enable_implicit<_Up...>(),
-                         bool
-                      >::type = false
-             >
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        tuple(_Up&&... __u)
-            _NOEXCEPT_((
-                is_nothrow_constructible<_BaseT,
-                    typename __make_tuple_indices<sizeof...(_Up)>::type,
-                    typename __make_tuple_types<tuple, sizeof...(_Up)>::type,
-                    typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type,
-                    typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type,
-                    _Up...
-                >::value
-            ))
-            : __base_(typename __make_tuple_indices<sizeof...(_Up)>::type(),
-                    typename __make_tuple_types<tuple, sizeof...(_Up)>::type(),
-                    typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type(),
-                    typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(),
-                    _VSTD::forward<_Up>(__u)...) {}
-
-    template <class ..._Up,
-              typename enable_if
-                      <
-                         _CheckArgsConstructor<
-                             sizeof...(_Up) <= sizeof...(_Tp)
-                             && !_PackExpandsToThisTuple<_Up...>::value
-                         >::template __enable_explicit<_Up...>() ||
-                         _CheckArgsConstructor<
-                            !_EnableImplicitReducedArityExtension
-                            && sizeof...(_Up) < sizeof...(_Tp)
-                            && !_PackExpandsToThisTuple<_Up...>::value
-                         >::template __enable_implicit<_Up...>(),
-                         bool
-                      >::type = false
-             >
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        explicit
-        tuple(_Up&&... __u)
-            _NOEXCEPT_((
-                is_nothrow_constructible<_BaseT,
-                    typename __make_tuple_indices<sizeof...(_Up)>::type,
-                    typename __make_tuple_types<tuple, sizeof...(_Up)>::type,
-                    typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type,
-                    typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type,
-                    _Up...
-                >::value
-            ))
-            : __base_(typename __make_tuple_indices<sizeof...(_Up)>::type(),
-                    typename __make_tuple_types<tuple, sizeof...(_Up)>::type(),
-                    typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type(),
-                    typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(),
-                    _VSTD::forward<_Up>(__u)...) {}
-
-    template <class _Alloc, class ..._Up,
-              typename enable_if
-                      <
-                         _CheckArgsConstructor<
-                             sizeof...(_Up) == sizeof...(_Tp) &&
-                             !_PackExpandsToThisTuple<_Up...>::value
-                         >::template __enable_implicit<_Up...>(),
-                         bool
-                      >::type = false
-             >
-        _LIBCPP_INLINE_VISIBILITY
-        tuple(allocator_arg_t, const _Alloc& __a, _Up&&... __u)
-            : __base_(allocator_arg_t(), __a,
-                    typename __make_tuple_indices<sizeof...(_Up)>::type(),
-                    typename __make_tuple_types<tuple, sizeof...(_Up)>::type(),
-                    typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type(),
-                    typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(),
-                    _VSTD::forward<_Up>(__u)...) {}
-
-    template <class _Alloc, class ..._Up,
-              typename enable_if
-                      <
-                         _CheckArgsConstructor<
-                             sizeof...(_Up) == sizeof...(_Tp) &&
-                             !_PackExpandsToThisTuple<_Up...>::value
-                         >::template __enable_explicit<_Up...>(),
-                         bool
-                      >::type = false
-             >
-        _LIBCPP_INLINE_VISIBILITY
-        explicit
-        tuple(allocator_arg_t, const _Alloc& __a, _Up&&... __u)
-            : __base_(allocator_arg_t(), __a,
-                    typename __make_tuple_indices<sizeof...(_Up)>::type(),
-                    typename __make_tuple_types<tuple, sizeof...(_Up)>::type(),
-                    typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type(),
-                    typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(),
-                    _VSTD::forward<_Up>(__u)...) {}
-
-    template <class _Tuple, _EnableImplicitTupleLikeConstructor<_Tuple, true> = false>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        tuple(_Tuple&& __t) _NOEXCEPT_((is_nothrow_constructible<_BaseT, _Tuple>::value))
-            : __base_(_VSTD::forward<_Tuple>(__t)) {}
-
-    template <class _Tuple, _EnableImplicitTupleLikeConstructor<const _Tuple&, false> = false>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        tuple(const _Tuple& __t) _NOEXCEPT_((is_nothrow_constructible<_BaseT, const _Tuple&>::value))
-            : __base_(__t) {}
-    template <class _Tuple, _EnableExplicitTupleLikeConstructor<_Tuple, true> = false>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        explicit
-        tuple(_Tuple&& __t) _NOEXCEPT_((is_nothrow_constructible<_BaseT, _Tuple>::value))
-            : __base_(_VSTD::forward<_Tuple>(__t)) {}
-
-    template <class _Tuple, _EnableExplicitTupleLikeConstructor<const _Tuple&, false> = false>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-        explicit
-        tuple(const _Tuple& __t) _NOEXCEPT_((is_nothrow_constructible<_BaseT, const _Tuple&>::value))
-            : __base_(__t) {}
-
-    template <class _Alloc, class _Tuple,
-              typename enable_if
-                      <
-                         _CheckTupleLikeConstructor<
-                             __tuple_like_with_size<_Tuple, sizeof...(_Tp)>::value
-                         >::template __enable_implicit<_Tuple>(),
-                         bool
-                      >::type = false
-             >
-        _LIBCPP_INLINE_VISIBILITY
-        tuple(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
-            : __base_(allocator_arg_t(), __a, _VSTD::forward<_Tuple>(__t)) {}
-
-    template <class _Alloc, class _Tuple,
-              typename enable_if
-                      <
-                         _CheckTupleLikeConstructor<
-                             __tuple_like_with_size<_Tuple, sizeof...(_Tp)>::value
-                         >::template __enable_explicit<_Tuple>(),
-                         bool
-                      >::type = false
-             >
-        _LIBCPP_INLINE_VISIBILITY
-        explicit
-        tuple(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
-            : __base_(allocator_arg_t(), __a, _VSTD::forward<_Tuple>(__t)) {}
-
-    using _CanCopyAssign = __all<is_copy_assignable<_Tp>::value...>;
-    using _CanMoveAssign = __all<is_move_assignable<_Tp>::value...>;
-
-    _LIBCPP_INLINE_VISIBILITY
-    tuple& operator=(typename conditional<_CanCopyAssign::value, tuple, __nat>::type const& __t)
-        _NOEXCEPT_((__all<is_nothrow_copy_assignable<_Tp>::value...>::value))
-    {
-        __base_.operator=(__t.__base_);
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    tuple& operator=(typename conditional<_CanMoveAssign::value, tuple, __nat>::type&& __t)
-        _NOEXCEPT_((__all<is_nothrow_move_assignable<_Tp>::value...>::value))
-    {
-        __base_.operator=(static_cast<_BaseT&&>(__t.__base_));
-        return *this;
-    }
-
-    template <class _Tuple,
-              class = typename enable_if
-                      <
-                         __tuple_assignable<_Tuple, tuple>::value
-                      >::type
-             >
-        _LIBCPP_INLINE_VISIBILITY
-        tuple&
-        operator=(_Tuple&& __t) _NOEXCEPT_((is_nothrow_assignable<_BaseT&, _Tuple>::value))
-        {
-            __base_.operator=(_VSTD::forward<_Tuple>(__t));
-            return *this;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(tuple& __t) _NOEXCEPT_(__all<__is_nothrow_swappable<_Tp>::value...>::value)
-        {__base_.swap(__t.__base_);}
-};
-
-template <>
-class _LIBCPP_TEMPLATE_VIS tuple<>
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR tuple() _NOEXCEPT = default;
-    template <class _Alloc>
-    _LIBCPP_INLINE_VISIBILITY
-        tuple(allocator_arg_t, const _Alloc&) _NOEXCEPT {}
-    template <class _Alloc>
-    _LIBCPP_INLINE_VISIBILITY
-        tuple(allocator_arg_t, const _Alloc&, const tuple&) _NOEXCEPT {}
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-        tuple(array<_Up, 0>) _NOEXCEPT {}
-    template <class _Alloc, class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-        tuple(allocator_arg_t, const _Alloc&, array<_Up, 0>) _NOEXCEPT {}
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(tuple&) _NOEXCEPT {}
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template <class ..._Tp>
-tuple(_Tp...) -> tuple<_Tp...>;
-template <class _Tp1, class _Tp2>
-tuple(pair<_Tp1, _Tp2>) -> tuple<_Tp1, _Tp2>;
-template <class _Alloc, class ..._Tp>
-tuple(allocator_arg_t, _Alloc, _Tp...) -> tuple<_Tp...>;
-template <class _Alloc, class _Tp1, class _Tp2>
-tuple(allocator_arg_t, _Alloc, pair<_Tp1, _Tp2>) -> tuple<_Tp1, _Tp2>;
-template <class _Alloc, class ..._Tp>
-tuple(allocator_arg_t, _Alloc, tuple<_Tp...>) -> tuple<_Tp...>;
-#endif
-
-template <class ..._Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __all<__is_swappable<_Tp>::value...>::value,
-    void
->::type
-swap(tuple<_Tp...>& __t, tuple<_Tp...>& __u)
-                 _NOEXCEPT_(__all<__is_nothrow_swappable<_Tp>::value...>::value)
-    {__t.swap(__u);}
-
-// get
-
-template <size_t _Ip, class ..._Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename tuple_element<_Ip, tuple<_Tp...> >::type&
-get(tuple<_Tp...>& __t) _NOEXCEPT
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename tuple_element<_Ip, tuple<_Tp...> >::type type;
-    return static_cast<__tuple_leaf<_Ip, type>&>(__t.__base_).get();
-}
-
-template <size_t _Ip, class ..._Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const typename tuple_element<_Ip, tuple<_Tp...> >::type&
-get(const tuple<_Tp...>& __t) _NOEXCEPT
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename tuple_element<_Ip, tuple<_Tp...> >::type type;
-    return static_cast<const __tuple_leaf<_Ip, type>&>(__t.__base_).get();
-}
-
-template <size_t _Ip, class ..._Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename tuple_element<_Ip, tuple<_Tp...> >::type&&
-get(tuple<_Tp...>&& __t) _NOEXCEPT
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename tuple_element<_Ip, tuple<_Tp...> >::type type;
-    return static_cast<type&&>(
-             static_cast<__tuple_leaf<_Ip, type>&&>(__t.__base_).get());
-}
-
-template <size_t _Ip, class ..._Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const typename tuple_element<_Ip, tuple<_Tp...> >::type&&
-get(const tuple<_Tp...>&& __t) _NOEXCEPT
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename tuple_element<_Ip, tuple<_Tp...> >::type type;
-    return static_cast<const type&&>(
-             static_cast<const __tuple_leaf<_Ip, type>&&>(__t.__base_).get());
-}
-
-#if _LIBCPP_STD_VER > 11
-
-namespace __find_detail {
-
-static constexpr size_t __not_found = -1;
-static constexpr size_t __ambiguous = __not_found - 1;
-
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr size_t __find_idx_return(size_t __curr_i, size_t __res, bool __matches) {
-    return !__matches ? __res :
-        (__res == __not_found ? __curr_i : __ambiguous);
-}
-
-template <size_t _Nx>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr size_t __find_idx(size_t __i, const bool (&__matches)[_Nx]) {
-  return __i == _Nx ? __not_found :
-      __find_idx_return(__i, __find_idx(__i + 1, __matches), __matches[__i]);
-}
-
-template <class _T1, class ..._Args>
-struct __find_exactly_one_checked {
-    static constexpr bool __matches[sizeof...(_Args)] = {is_same<_T1, _Args>::value...};
-    static constexpr size_t value = __find_detail::__find_idx(0, __matches);
-    static_assert(value != __not_found, "type not found in type list" );
-    static_assert(value != __ambiguous, "type occurs more than once in type list");
-};
-
-template <class _T1>
-struct __find_exactly_one_checked<_T1> {
-    static_assert(!is_same<_T1, _T1>::value, "type not in empty type list");
-};
-
-} // namespace __find_detail;
-
-template <typename _T1, typename... _Args>
-struct __find_exactly_one_t
-    : public __find_detail::__find_exactly_one_checked<_T1, _Args...> {
-};
-
-template <class _T1, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1& get(tuple<_Args...>& __tup) noexcept
-{
-    return _VSTD::get<__find_exactly_one_t<_T1, _Args...>::value>(__tup);
-}
-
-template <class _T1, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 const& get(tuple<_Args...> const& __tup) noexcept
-{
-    return _VSTD::get<__find_exactly_one_t<_T1, _Args...>::value>(__tup);
-}
-
-template <class _T1, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1&& get(tuple<_Args...>&& __tup) noexcept
-{
-    return _VSTD::get<__find_exactly_one_t<_T1, _Args...>::value>(_VSTD::move(__tup));
-}
-
-template <class _T1, class... _Args>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 const&& get(tuple<_Args...> const&& __tup) noexcept
-{
-    return _VSTD::get<__find_exactly_one_t<_T1, _Args...>::value>(_VSTD::move(__tup));
-}
-
-#endif
-
-// tie
-
-template <class ..._Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-tuple<_Tp&...>
-tie(_Tp&... __t) _NOEXCEPT
-{
-    return tuple<_Tp&...>(__t...);
-}
-
-template <class _Up>
-struct __ignore_t
-{
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const __ignore_t& operator=(_Tp&&) const {return *this;}
-};
-
-namespace {
-  _LIBCPP_INLINE_VAR constexpr __ignore_t<unsigned char> ignore = __ignore_t<unsigned char>();
-}
-
-template <class... _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-tuple<typename __unwrap_ref_decay<_Tp>::type...>
-make_tuple(_Tp&&... __t)
-{
-    return tuple<typename __unwrap_ref_decay<_Tp>::type...>(_VSTD::forward<_Tp>(__t)...);
-}
-
-template <class... _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-tuple<_Tp&&...>
-forward_as_tuple(_Tp&&... __t) _NOEXCEPT
-{
-    return tuple<_Tp&&...>(_VSTD::forward<_Tp>(__t)...);
-}
-
-template <size_t _Ip>
-struct __tuple_equal
-{
-    template <class _Tp, class _Up>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _Tp& __x, const _Up& __y)
-    {
-        return __tuple_equal<_Ip - 1>()(__x, __y) && _VSTD::get<_Ip-1>(__x) == _VSTD::get<_Ip-1>(__y);
-    }
-};
-
-template <>
-struct __tuple_equal<0>
-{
-    template <class _Tp, class _Up>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _Tp&, const _Up&)
-    {
-        return true;
-    }
-};
-
-template <class ..._Tp, class ..._Up>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
-{
-    static_assert (sizeof...(_Tp) == sizeof...(_Up), "Can't compare tuples of different sizes");
-    return __tuple_equal<sizeof...(_Tp)>()(__x, __y);
-}
-
-template <class ..._Tp, class ..._Up>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator!=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
-{
-    return !(__x == __y);
-}
-
-template <size_t _Ip>
-struct __tuple_less
-{
-    template <class _Tp, class _Up>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _Tp& __x, const _Up& __y)
-    {
-        const size_t __idx = tuple_size<_Tp>::value - _Ip;
-        if (_VSTD::get<__idx>(__x) < _VSTD::get<__idx>(__y))
-            return true;
-        if (_VSTD::get<__idx>(__y) < _VSTD::get<__idx>(__x))
-            return false;
-        return __tuple_less<_Ip-1>()(__x, __y);
-    }
-};
-
-template <>
-struct __tuple_less<0>
-{
-    template <class _Tp, class _Up>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    bool operator()(const _Tp&, const _Up&)
-    {
-        return false;
-    }
-};
-
-template <class ..._Tp, class ..._Up>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator<(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
-{
-    static_assert (sizeof...(_Tp) == sizeof...(_Up), "Can't compare tuples of different sizes");
-    return __tuple_less<sizeof...(_Tp)>()(__x, __y);
-}
-
-template <class ..._Tp, class ..._Up>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator>(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
-{
-    return __y < __x;
-}
-
-template <class ..._Tp, class ..._Up>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator>=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class ..._Tp, class ..._Up>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
-{
-    return !(__y < __x);
-}
-
-// tuple_cat
-
-template <class _Tp, class _Up> struct __tuple_cat_type;
-
-template <class ..._Ttypes, class ..._Utypes>
-struct __tuple_cat_type<tuple<_Ttypes...>, __tuple_types<_Utypes...> >
-{
-    typedef _LIBCPP_NODEBUG_TYPE tuple<_Ttypes..., _Utypes...> type;
-};
-
-template <class _ResultTuple, bool _Is_Tuple0TupleLike, class ..._Tuples>
-struct __tuple_cat_return_1
-{
-};
-
-template <class ..._Types, class _Tuple0>
-struct __tuple_cat_return_1<tuple<_Types...>, true, _Tuple0>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename __tuple_cat_type<tuple<_Types...>,
-            typename __make_tuple_types<typename __uncvref<_Tuple0>::type>::type>::type
-                                                                           type;
-};
-
-template <class ..._Types, class _Tuple0, class _Tuple1, class ..._Tuples>
-struct __tuple_cat_return_1<tuple<_Types...>, true, _Tuple0, _Tuple1, _Tuples...>
-    : public __tuple_cat_return_1<
-                 typename __tuple_cat_type<
-                     tuple<_Types...>,
-                     typename __make_tuple_types<typename __uncvref<_Tuple0>::type>::type
-                 >::type,
-                 __tuple_like<typename remove_reference<_Tuple1>::type>::value,
-                 _Tuple1, _Tuples...>
-{
-};
-
-template <class ..._Tuples> struct __tuple_cat_return;
-
-template <class _Tuple0, class ..._Tuples>
-struct __tuple_cat_return<_Tuple0, _Tuples...>
-    : public __tuple_cat_return_1<tuple<>,
-         __tuple_like<typename remove_reference<_Tuple0>::type>::value, _Tuple0,
-                                                                     _Tuples...>
-{
-};
-
-template <>
-struct __tuple_cat_return<>
-{
-    typedef _LIBCPP_NODEBUG_TYPE tuple<> type;
-};
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-tuple<>
-tuple_cat()
-{
-    return tuple<>();
-}
-
-template <class _Rp, class _Indices, class _Tuple0, class ..._Tuples>
-struct __tuple_cat_return_ref_imp;
-
-template <class ..._Types, size_t ..._I0, class _Tuple0>
-struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>, _Tuple0>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename remove_reference<_Tuple0>::type _T0;
-    typedef tuple<_Types..., typename __apply_cv<_Tuple0,
-                          typename tuple_element<_I0, _T0>::type>::type&&...> type;
-};
-
-template <class ..._Types, size_t ..._I0, class _Tuple0, class _Tuple1, class ..._Tuples>
-struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>,
-                                  _Tuple0, _Tuple1, _Tuples...>
-    : public __tuple_cat_return_ref_imp<
-         tuple<_Types..., typename __apply_cv<_Tuple0,
-               typename tuple_element<_I0,
-                  typename remove_reference<_Tuple0>::type>::type>::type&&...>,
-         typename __make_tuple_indices<tuple_size<typename
-                                 remove_reference<_Tuple1>::type>::value>::type,
-         _Tuple1, _Tuples...>
-{
-};
-
-template <class _Tuple0, class ..._Tuples>
-struct __tuple_cat_return_ref
-    : public __tuple_cat_return_ref_imp<tuple<>,
-               typename __make_tuple_indices<
-                        tuple_size<typename remove_reference<_Tuple0>::type>::value
-               >::type, _Tuple0, _Tuples...>
-{
-};
-
-template <class _Types, class _I0, class _J0>
-struct __tuple_cat;
-
-template <class ..._Types, size_t ..._I0, size_t ..._J0>
-struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J0...> >
-{
-    template <class _Tuple0>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&>::type
-    operator()(tuple<_Types...> __t, _Tuple0&& __t0)
-    {
-        return forward_as_tuple(_VSTD::forward<_Types>(_VSTD::get<_I0>(__t))...,
-                                      _VSTD::get<_J0>(_VSTD::forward<_Tuple0>(__t0))...);
-    }
-
-    template <class _Tuple0, class _Tuple1, class ..._Tuples>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&, _Tuple1&&, _Tuples&&...>::type
-    operator()(tuple<_Types...> __t, _Tuple0&& __t0, _Tuple1&& __t1, _Tuples&& ...__tpls)
-    {
-        typedef _LIBCPP_NODEBUG_TYPE typename remove_reference<_Tuple0>::type _T0;
-        typedef _LIBCPP_NODEBUG_TYPE typename remove_reference<_Tuple1>::type _T1;
-        return __tuple_cat<
-           tuple<_Types..., typename __apply_cv<_Tuple0, typename tuple_element<_J0, _T0>::type>::type&&...>,
-           typename __make_tuple_indices<sizeof ...(_Types) + tuple_size<_T0>::value>::type,
-           typename __make_tuple_indices<tuple_size<_T1>::value>::type>()
-                           (forward_as_tuple(
-                              _VSTD::forward<_Types>(_VSTD::get<_I0>(__t))...,
-                              _VSTD::get<_J0>(_VSTD::forward<_Tuple0>(__t0))...
-                            ),
-                            _VSTD::forward<_Tuple1>(__t1),
-                            _VSTD::forward<_Tuples>(__tpls)...);
-    }
-};
-
-template <class _Tuple0, class... _Tuples>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename __tuple_cat_return<_Tuple0, _Tuples...>::type
-tuple_cat(_Tuple0&& __t0, _Tuples&&... __tpls)
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename remove_reference<_Tuple0>::type _T0;
-    return __tuple_cat<tuple<>, __tuple_indices<>,
-                  typename __make_tuple_indices<tuple_size<_T0>::value>::type>()
-                  (tuple<>(), _VSTD::forward<_Tuple0>(__t0),
-                                            _VSTD::forward<_Tuples>(__tpls)...);
-}
-
-template <class ..._Tp, class _Alloc>
-struct _LIBCPP_TEMPLATE_VIS uses_allocator<tuple<_Tp...>, _Alloc>
-    : true_type {};
-
-template <class _T1, class _T2>
-template <class... _Args1, class... _Args2, size_t ..._I1, size_t ..._I2>
-inline _LIBCPP_INLINE_VISIBILITY
-pair<_T1, _T2>::pair(piecewise_construct_t,
-                     tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args,
-                     __tuple_indices<_I1...>, __tuple_indices<_I2...>)
-    :  first(_VSTD::forward<_Args1>(_VSTD::get<_I1>( __first_args))...),
-      second(_VSTD::forward<_Args2>(_VSTD::get<_I2>(__second_args))...)
-{
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
-
-#define _LIBCPP_NOEXCEPT_RETURN(...) noexcept(noexcept(__VA_ARGS__)) { return __VA_ARGS__; }
-
-template <class _Fn, class _Tuple, size_t ..._Id>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr decltype(auto) __apply_tuple_impl(_Fn && __f, _Tuple && __t,
-                                            __tuple_indices<_Id...>)
-_LIBCPP_NOEXCEPT_RETURN(
-    _VSTD::__invoke_constexpr(
-        _VSTD::forward<_Fn>(__f),
-        _VSTD::get<_Id>(_VSTD::forward<_Tuple>(__t))...)
-)
-
-template <class _Fn, class _Tuple>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr decltype(auto) apply(_Fn && __f, _Tuple && __t)
-_LIBCPP_NOEXCEPT_RETURN(
-    _VSTD::__apply_tuple_impl(
-        _VSTD::forward<_Fn>(__f), _VSTD::forward<_Tuple>(__t),
-        typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{})
-)
-
-template <class _Tp, class _Tuple, size_t... _Idx>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _Tp __make_from_tuple_impl(_Tuple&& __t, __tuple_indices<_Idx...>)
-_LIBCPP_NOEXCEPT_RETURN(
-    _Tp(_VSTD::get<_Idx>(_VSTD::forward<_Tuple>(__t))...)
-)
-
-template <class _Tp, class _Tuple>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _Tp make_from_tuple(_Tuple&& __t)
-_LIBCPP_NOEXCEPT_RETURN(
-    _VSTD::__make_from_tuple_impl<_Tp>(_VSTD::forward<_Tuple>(__t),
-        typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{})
-)
-
-#undef _LIBCPP_NOEXCEPT_RETURN
-
-#endif // _LIBCPP_STD_VER > 14
-
-#endif // !defined(_LIBCPP_CXX03_LANG)
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_TUPLE
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/type_traits b/r21/sources/cxx-stl/llvm-libc++/include/type_traits
deleted file mode 100644
index 657c0d5..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/type_traits
+++ /dev/null
@@ -1,4010 +0,0 @@
-// -*- C++ -*-
-//===------------------------ type_traits ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_TYPE_TRAITS
-#define _LIBCPP_TYPE_TRAITS
-
-/*
-    type_traits synopsis
-
-namespace std
-{
-
-    // helper class:
-    template <class T, T v> struct integral_constant;
-    typedef integral_constant<bool, true>  true_type;   // C++11
-    typedef integral_constant<bool, false> false_type;  // C++11
-
-    template <bool B>                                   // C++14
-    using bool_constant = integral_constant<bool, B>;   // C++14
-    typedef bool_constant<true> true_type;              // C++14
-    typedef bool_constant<false> false_type;            // C++14
-
-    // helper traits
-    template <bool, class T = void> struct enable_if;
-    template <bool, class T, class F> struct conditional;
-
-    // Primary classification traits:
-    template <class T> struct is_void;
-    template <class T> struct is_null_pointer;  // C++14
-    template <class T> struct is_integral;
-    template <class T> struct is_floating_point;
-    template <class T> struct is_array;
-    template <class T> struct is_pointer;
-    template <class T> struct is_lvalue_reference;
-    template <class T> struct is_rvalue_reference;
-    template <class T> struct is_member_object_pointer;
-    template <class T> struct is_member_function_pointer;
-    template <class T> struct is_enum;
-    template <class T> struct is_union;
-    template <class T> struct is_class;
-    template <class T> struct is_function;
-
-    // Secondary classification traits:
-    template <class T> struct is_reference;
-    template <class T> struct is_arithmetic;
-    template <class T> struct is_fundamental;
-    template <class T> struct is_member_pointer;
-    template <class T> struct is_scalar;
-    template <class T> struct is_object;
-    template <class T> struct is_compound;
-
-    // Const-volatile properties and transformations:
-    template <class T> struct is_const;
-    template <class T> struct is_volatile;
-    template <class T> struct remove_const;
-    template <class T> struct remove_volatile;
-    template <class T> struct remove_cv;
-    template <class T> struct add_const;
-    template <class T> struct add_volatile;
-    template <class T> struct add_cv;
-
-    // Reference transformations:
-    template <class T> struct remove_reference;
-    template <class T> struct add_lvalue_reference;
-    template <class T> struct add_rvalue_reference;
-
-    // Pointer transformations:
-    template <class T> struct remove_pointer;
-    template <class T> struct add_pointer;
-
-    template<class T> struct type_identity;                     // C++20
-    template<class T>
-      using type_identity_t = typename type_identity<T>::type;  // C++20
-
-    // Integral properties:
-    template <class T> struct is_signed;
-    template <class T> struct is_unsigned;
-    template <class T> struct make_signed;
-    template <class T> struct make_unsigned;
-
-    // Array properties and transformations:
-    template <class T> struct rank;
-    template <class T, unsigned I = 0> struct extent;
-    template <class T> struct remove_extent;
-    template <class T> struct remove_all_extents;
-
-    template <class T> struct is_bounded_array;                 // C++20
-    template <class T> struct is_unbounded_array;               // C++20
-
-    // Member introspection:
-    template <class T> struct is_pod;
-    template <class T> struct is_trivial;
-    template <class T> struct is_trivially_copyable;
-    template <class T> struct is_standard_layout;
-    template <class T> struct is_literal_type;
-    template <class T> struct is_empty;
-    template <class T> struct is_polymorphic;
-    template <class T> struct is_abstract;
-    template <class T> struct is_final; // C++14
-    template <class T> struct is_aggregate; // C++17
-
-    template <class T, class... Args> struct is_constructible;
-    template <class T>                struct is_default_constructible;
-    template <class T>                struct is_copy_constructible;
-    template <class T>                struct is_move_constructible;
-    template <class T, class U>       struct is_assignable;
-    template <class T>                struct is_copy_assignable;
-    template <class T>                struct is_move_assignable;
-    template <class T, class U>       struct is_swappable_with;       // C++17
-    template <class T>                struct is_swappable;            // C++17
-    template <class T>                struct is_destructible;
-
-    template <class T, class... Args> struct is_trivially_constructible;
-    template <class T>                struct is_trivially_default_constructible;
-    template <class T>                struct is_trivially_copy_constructible;
-    template <class T>                struct is_trivially_move_constructible;
-    template <class T, class U>       struct is_trivially_assignable;
-    template <class T>                struct is_trivially_copy_assignable;
-    template <class T>                struct is_trivially_move_assignable;
-    template <class T>                struct is_trivially_destructible;
-
-    template <class T, class... Args> struct is_nothrow_constructible;
-    template <class T>                struct is_nothrow_default_constructible;
-    template <class T>                struct is_nothrow_copy_constructible;
-    template <class T>                struct is_nothrow_move_constructible;
-    template <class T, class U>       struct is_nothrow_assignable;
-    template <class T>                struct is_nothrow_copy_assignable;
-    template <class T>                struct is_nothrow_move_assignable;
-    template <class T, class U>       struct is_nothrow_swappable_with; // C++17
-    template <class T>                struct is_nothrow_swappable;      // C++17
-    template <class T>                struct is_nothrow_destructible;
-
-    template <class T> struct has_virtual_destructor;
-
-    template<class T> struct has_unique_object_representations;         // C++17
-
-    // Relationships between types:
-    template <class T, class U> struct is_same;
-    template <class Base, class Derived> struct is_base_of;
-
-    template <class From, class To> struct is_convertible;
-    template <typename From, typename To> struct is_nothrow_convertible;                  // C++20
-    template <typename From, typename To> inline constexpr bool is_nothrow_convertible_v; // C++20
-
-    template <class Fn, class... ArgTypes> struct is_invocable;
-    template <class R, class Fn, class... ArgTypes> struct is_invocable_r;
-
-    template <class Fn, class... ArgTypes> struct is_nothrow_invocable;
-    template <class R, class Fn, class... ArgTypes> struct is_nothrow_invocable_r;
-
-    // Alignment properties and transformations:
-    template <class T> struct alignment_of;
-    template <size_t Len, size_t Align = most_stringent_alignment_requirement>
-        struct aligned_storage;
-    template <size_t Len, class... Types> struct aligned_union;
-    template <class T> struct remove_cvref; // C++20
-
-    template <class T> struct decay;
-    template <class... T> struct common_type;
-    template <class T> struct underlying_type;
-    template <class> class result_of; // undefined
-    template <class Fn, class... ArgTypes> class result_of<Fn(ArgTypes...)>;
-    template <class Fn, class... ArgTypes> struct invoke_result;  // C++17
-
-    // const-volatile modifications:
-    template <class T>
-      using remove_const_t    = typename remove_const<T>::type;  // C++14
-    template <class T>
-      using remove_volatile_t = typename remove_volatile<T>::type;  // C++14
-    template <class T>
-      using remove_cv_t       = typename remove_cv<T>::type;  // C++14
-    template <class T>
-      using add_const_t       = typename add_const<T>::type;  // C++14
-    template <class T>
-      using add_volatile_t    = typename add_volatile<T>::type;  // C++14
-    template <class T>
-      using add_cv_t          = typename add_cv<T>::type;  // C++14
-
-    // reference modifications:
-    template <class T>
-      using remove_reference_t     = typename remove_reference<T>::type;  // C++14
-    template <class T>
-      using add_lvalue_reference_t = typename add_lvalue_reference<T>::type;  // C++14
-    template <class T>
-      using add_rvalue_reference_t = typename add_rvalue_reference<T>::type;  // C++14
-
-    // sign modifications:
-    template <class T>
-      using make_signed_t   = typename make_signed<T>::type;  // C++14
-    template <class T>
-      using make_unsigned_t = typename make_unsigned<T>::type;  // C++14
-
-    // array modifications:
-    template <class T>
-      using remove_extent_t      = typename remove_extent<T>::type;  // C++14
-    template <class T>
-      using remove_all_extents_t = typename remove_all_extents<T>::type;  // C++14
-
-    template <class T>
-      inline constexpr bool is_bounded_array_v
-        = is_bounded_array<T>::value;                                     // C++20
-      inline constexpr bool is_unbounded_array_v
-        = is_unbounded_array<T>::value;                                   // C++20
-
-    // pointer modifications:
-    template <class T>
-      using remove_pointer_t = typename remove_pointer<T>::type;  // C++14
-    template <class T>
-      using add_pointer_t    = typename add_pointer<T>::type;  // C++14
-
-    // other transformations:
-    template <size_t Len, std::size_t Align=default-alignment>
-      using aligned_storage_t = typename aligned_storage<Len,Align>::type;  // C++14
-    template <std::size_t Len, class... Types>
-      using aligned_union_t   = typename aligned_union<Len,Types...>::type;  // C++14
-    template <class T>
-      using remove_cvref_t    = typename remove_cvref<T>::type;  // C++20
-    template <class T>
-      using decay_t           = typename decay<T>::type;  // C++14
-    template <bool b, class T=void>
-      using enable_if_t       = typename enable_if<b,T>::type;  // C++14
-    template <bool b, class T, class F>
-      using conditional_t     = typename conditional<b,T,F>::type;  // C++14
-    template <class... T>
-      using common_type_t     = typename common_type<T...>::type;  // C++14
-    template <class T>
-      using underlying_type_t = typename underlying_type<T>::type;  // C++14
-    template <class T>
-      using result_of_t       = typename result_of<T>::type;  // C++14
-    template <class Fn, class... ArgTypes>
-      using invoke_result_t   = typename invoke_result<Fn, ArgTypes...>::type;  // C++17
-
-    template <class...>
-      using void_t = void;   // C++17
-
-      // See C++14 20.10.4.1, primary type categories
-      template <class T> inline constexpr bool is_void_v
-        = is_void<T>::value;                                             // C++17
-      template <class T> inline constexpr bool is_null_pointer_v
-        = is_null_pointer<T>::value;                                     // C++17
-      template <class T> inline constexpr bool is_integral_v
-        = is_integral<T>::value;                                         // C++17
-      template <class T> inline constexpr bool is_floating_point_v
-        = is_floating_point<T>::value;                                   // C++17
-      template <class T> inline constexpr bool is_array_v
-        = is_array<T>::value;                                            // C++17
-      template <class T> inline constexpr bool is_pointer_v
-        = is_pointer<T>::value;                                          // C++17
-      template <class T> inline constexpr bool is_lvalue_reference_v
-        = is_lvalue_reference<T>::value;                                 // C++17
-      template <class T> inline constexpr bool is_rvalue_reference_v
-        = is_rvalue_reference<T>::value;                                 // C++17
-      template <class T> inline constexpr bool is_member_object_pointer_v
-        = is_member_object_pointer<T>::value;                            // C++17
-      template <class T> inline constexpr bool is_member_function_pointer_v
-        = is_member_function_pointer<T>::value;                          // C++17
-      template <class T> inline constexpr bool is_enum_v
-        = is_enum<T>::value;                                             // C++17
-      template <class T> inline constexpr bool is_union_v
-        = is_union<T>::value;                                            // C++17
-      template <class T> inline constexpr bool is_class_v
-        = is_class<T>::value;                                            // C++17
-      template <class T> inline constexpr bool is_function_v
-        = is_function<T>::value;                                         // C++17
-
-      // See C++14 20.10.4.2, composite type categories
-      template <class T> inline constexpr bool is_reference_v
-        = is_reference<T>::value;                                        // C++17
-      template <class T> inline constexpr bool is_arithmetic_v
-        = is_arithmetic<T>::value;                                       // C++17
-      template <class T> inline constexpr bool is_fundamental_v
-        = is_fundamental<T>::value;                                      // C++17
-      template <class T> inline constexpr bool is_object_v
-        = is_object<T>::value;                                           // C++17
-      template <class T> inline constexpr bool is_scalar_v
-        = is_scalar<T>::value;                                           // C++17
-      template <class T> inline constexpr bool is_compound_v
-        = is_compound<T>::value;                                         // C++17
-      template <class T> inline constexpr bool is_member_pointer_v
-        = is_member_pointer<T>::value;                                   // C++17
-
-      // See C++14 20.10.4.3, type properties
-      template <class T> inline constexpr bool is_const_v
-        = is_const<T>::value;                                            // C++17
-      template <class T> inline constexpr bool is_volatile_v
-        = is_volatile<T>::value;                                         // C++17
-      template <class T> inline constexpr bool is_trivial_v
-        = is_trivial<T>::value;                                          // C++17
-      template <class T> inline constexpr bool is_trivially_copyable_v
-        = is_trivially_copyable<T>::value;                               // C++17
-      template <class T> inline constexpr bool is_standard_layout_v
-        = is_standard_layout<T>::value;                                  // C++17
-      template <class T> inline constexpr bool is_pod_v
-        = is_pod<T>::value;                                              // C++17
-      template <class T> inline constexpr bool is_literal_type_v
-        = is_literal_type<T>::value;                                     // C++17
-      template <class T> inline constexpr bool is_empty_v
-        = is_empty<T>::value;                                            // C++17
-      template <class T> inline constexpr bool is_polymorphic_v
-        = is_polymorphic<T>::value;                                      // C++17
-      template <class T> inline constexpr bool is_abstract_v
-        = is_abstract<T>::value;                                         // C++17
-      template <class T> inline constexpr bool is_final_v
-        = is_final<T>::value;                                            // C++17
-      template <class T> inline constexpr bool is_aggregate_v
-        = is_aggregate<T>::value;                                        // C++17
-      template <class T> inline constexpr bool is_signed_v
-        = is_signed<T>::value;                                           // C++17
-      template <class T> inline constexpr bool is_unsigned_v
-        = is_unsigned<T>::value;                                         // C++17
-      template <class T, class... Args> inline constexpr bool is_constructible_v
-        = is_constructible<T, Args...>::value;                           // C++17
-      template <class T> inline constexpr bool is_default_constructible_v
-        = is_default_constructible<T>::value;                            // C++17
-      template <class T> inline constexpr bool is_copy_constructible_v
-        = is_copy_constructible<T>::value;                               // C++17
-      template <class T> inline constexpr bool is_move_constructible_v
-        = is_move_constructible<T>::value;                               // C++17
-      template <class T, class U> inline constexpr bool is_assignable_v
-        = is_assignable<T, U>::value;                                    // C++17
-      template <class T> inline constexpr bool is_copy_assignable_v
-        = is_copy_assignable<T>::value;                                  // C++17
-      template <class T> inline constexpr bool is_move_assignable_v
-        = is_move_assignable<T>::value;                                  // C++17
-      template <class T, class U> inline constexpr bool is_swappable_with_v
-        = is_swappable_with<T, U>::value;                                // C++17
-      template <class T> inline constexpr bool is_swappable_v
-        = is_swappable<T>::value;                                        // C++17
-      template <class T> inline constexpr bool is_destructible_v
-        = is_destructible<T>::value;                                     // C++17
-      template <class T, class... Args> inline constexpr bool is_trivially_constructible_v
-        = is_trivially_constructible<T, Args...>::value;                 // C++17
-      template <class T> inline constexpr bool is_trivially_default_constructible_v
-        = is_trivially_default_constructible<T>::value;                  // C++17
-      template <class T> inline constexpr bool is_trivially_copy_constructible_v
-        = is_trivially_copy_constructible<T>::value;                     // C++17
-      template <class T> inline constexpr bool is_trivially_move_constructible_v
-        = is_trivially_move_constructible<T>::value;                     // C++17
-      template <class T, class U> inline constexpr bool is_trivially_assignable_v
-        = is_trivially_assignable<T, U>::value;                          // C++17
-      template <class T> inline constexpr bool is_trivially_copy_assignable_v
-        = is_trivially_copy_assignable<T>::value;                        // C++17
-      template <class T> inline constexpr bool is_trivially_move_assignable_v
-        = is_trivially_move_assignable<T>::value;                        // C++17
-      template <class T> inline constexpr bool is_trivially_destructible_v
-        = is_trivially_destructible<T>::value;                           // C++17
-      template <class T, class... Args> inline constexpr bool is_nothrow_constructible_v
-        = is_nothrow_constructible<T, Args...>::value;                   // C++17
-      template <class T> inline constexpr bool is_nothrow_default_constructible_v
-        = is_nothrow_default_constructible<T>::value;                    // C++17
-      template <class T> inline constexpr bool is_nothrow_copy_constructible_v
-        = is_nothrow_copy_constructible<T>::value;                       // C++17
-      template <class T> inline constexpr bool is_nothrow_move_constructible_v
-        = is_nothrow_move_constructible<T>::value;                       // C++17
-      template <class T, class U> inline constexpr bool is_nothrow_assignable_v
-        = is_nothrow_assignable<T, U>::value;                            // C++17
-      template <class T> inline constexpr bool is_nothrow_copy_assignable_v
-        = is_nothrow_copy_assignable<T>::value;                          // C++17
-      template <class T> inline constexpr bool is_nothrow_move_assignable_v
-        = is_nothrow_move_assignable<T>::value;                          // C++17
-      template <class T, class U> inline constexpr bool is_nothrow_swappable_with_v
-        = is_nothrow_swappable_with<T, U>::value;                       // C++17
-      template <class T> inline constexpr bool is_nothrow_swappable_v
-        = is_nothrow_swappable<T>::value;                               // C++17
-      template <class T> inline constexpr bool is_nothrow_destructible_v
-        = is_nothrow_destructible<T>::value;                             // C++17
-      template <class T> inline constexpr bool has_virtual_destructor_v
-        = has_virtual_destructor<T>::value;                              // C++17
-      template<class T> inline constexpr bool has_unique_object_representations_v // C++17
-        = has_unique_object_representations<T>::value;
-
-      // See C++14 20.10.5, type property queries
-      template <class T> inline constexpr size_t alignment_of_v
-        = alignment_of<T>::value;                                        // C++17
-      template <class T> inline constexpr size_t rank_v
-        = rank<T>::value;                                                // C++17
-      template <class T, unsigned I = 0> inline constexpr size_t extent_v
-        = extent<T, I>::value;                                           // C++17
-
-      // See C++14 20.10.6, type relations
-      template <class T, class U> inline constexpr bool is_same_v
-        = is_same<T, U>::value;                                          // C++17
-      template <class Base, class Derived> inline constexpr bool is_base_of_v
-        = is_base_of<Base, Derived>::value;                              // C++17
-      template <class From, class To> inline constexpr bool is_convertible_v
-        = is_convertible<From, To>::value;                               // C++17
-      template <class Fn, class... ArgTypes> inline constexpr bool is_invocable_v
-        = is_invocable<Fn, ArgTypes...>::value;                          // C++17
-      template <class R, class Fn, class... ArgTypes> inline constexpr bool is_invocable_r_v
-        = is_invocable_r<R, Fn, ArgTypes...>::value;                     // C++17
-      template <class Fn, class... ArgTypes> inline constexpr bool is_nothrow_invocable_v
-        = is_nothrow_invocable<Fn, ArgTypes...>::value;                  // C++17
-      template <class R, class Fn, class... ArgTypes> inline constexpr bool is_nothrow_invocable_r_v
-        = is_nothrow_invocable_r<R, Fn, ArgTypes...>::value;             // C++17
-
-      // [meta.logical], logical operator traits:
-      template<class... B> struct conjunction;                           // C++17
-      template<class... B>
-        inline constexpr bool conjunction_v = conjunction<B...>::value;  // C++17
-      template<class... B> struct disjunction;                           // C++17
-      template<class... B>
-        inline constexpr bool disjunction_v = disjunction<B...>::value;  // C++17
-      template<class B> struct negation;                                 // C++17
-      template<class B>
-        inline constexpr bool negation_v = negation<B>::value;           // C++17
-
-}
-
-*/
-#include <__config>
-#include <cstddef>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _T1, class _T2> struct _LIBCPP_TEMPLATE_VIS pair;
-template <class _Tp> class _LIBCPP_TEMPLATE_VIS reference_wrapper;
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS hash;
-
-
-template <class _Tp, _Tp __v>
-struct _LIBCPP_TEMPLATE_VIS integral_constant
-{
-  static _LIBCPP_CONSTEXPR const _Tp      value = __v;
-  typedef _Tp               value_type;
-  typedef integral_constant type;
-  _LIBCPP_INLINE_VISIBILITY
-  _LIBCPP_CONSTEXPR operator value_type() const _NOEXCEPT {return value;}
-#if _LIBCPP_STD_VER > 11
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr value_type operator ()() const _NOEXCEPT {return value;}
-#endif
-};
-
-template <class _Tp, _Tp __v>
-_LIBCPP_CONSTEXPR const _Tp integral_constant<_Tp, __v>::value;
-
-#if _LIBCPP_STD_VER > 14
-template <bool __b>
-using bool_constant = integral_constant<bool, __b>;
-#define _LIBCPP_BOOL_CONSTANT(__b) bool_constant<(__b)>
-#else
-#define _LIBCPP_BOOL_CONSTANT(__b) integral_constant<bool,(__b)>
-#endif
-
-typedef _LIBCPP_BOOL_CONSTANT(true)  true_type;
-typedef _LIBCPP_BOOL_CONSTANT(false) false_type;
-
-template <bool _Val>
-using _BoolConstant _LIBCPP_NODEBUG_TYPE = integral_constant<bool, _Val>;
-
-template <bool> struct _MetaBase;
-template <>
-struct _MetaBase<true> {
-  template <class _Tp, class _Up>
-  using _SelectImpl _LIBCPP_NODEBUG_TYPE = _Tp;
-  template <template <class...> class _FirstFn, template <class...> class, class ..._Args>
-  using _SelectApplyImpl _LIBCPP_NODEBUG_TYPE = _FirstFn<_Args...>;
-  template <class _First, class...>
-  using _FirstImpl _LIBCPP_NODEBUG_TYPE = _First;
-  template <class, class _Second, class...>
-  using _SecondImpl _LIBCPP_NODEBUG_TYPE = _Second;
-  template <class _Tp = void>
-  using _EnableIfImpl _LIBCPP_NODEBUG_TYPE = _Tp;
-  template <class _Result, class _First, class ..._Rest>
-  using _OrImpl _LIBCPP_NODEBUG_TYPE = typename _MetaBase<_First::value != true && sizeof...(_Rest) != 0>::template _OrImpl<_First, _Rest...>;
-  template <class _Result, class _First, class ..._Rest>
-  using _AndImpl _LIBCPP_NODEBUG_TYPE = typename _MetaBase<_First::value == true && sizeof...(_Rest) != 0>::template _AndImpl<_First, _Rest...>;
-};
-
-template <>
-struct _MetaBase<false> {
-  template <class _Tp, class _Up>
-  using _SelectImpl _LIBCPP_NODEBUG_TYPE = _Up;
-  template <template <class...> class, template <class...> class _SecondFn, class ..._Args>
-  using _SelectApplyImpl _LIBCPP_NODEBUG_TYPE = _SecondFn<_Args...>;
-  template <class _Result, class ...>
-  using _OrImpl _LIBCPP_NODEBUG_TYPE = _Result;
-  template <class _Result, class ...>
-  using _AndImpl _LIBCPP_NODEBUG_TYPE = _Result;
-};
-template <bool _Cond, class _Ret = void>
-using _EnableIf _LIBCPP_NODEBUG_TYPE = typename _MetaBase<_Cond>::template _EnableIfImpl<_Ret>;
-template <bool _Cond, class _IfRes, class _ElseRes>
-using _If _LIBCPP_NODEBUG_TYPE = typename _MetaBase<_Cond>::template _SelectImpl<_IfRes, _ElseRes>;
-template <class ..._Rest>
-using _Or _LIBCPP_NODEBUG_TYPE = typename _MetaBase< sizeof...(_Rest) != 0 >::template _OrImpl<false_type, _Rest...>;
-template <class ..._Rest>
-using _And _LIBCPP_NODEBUG_TYPE = typename _MetaBase< sizeof...(_Rest) != 0 >::template _AndImpl<true_type, _Rest...>;
-template <class _Pred>
-struct _Not : _BoolConstant<!_Pred::value> {};
-template <class ..._Args>
-using _FirstType _LIBCPP_NODEBUG_TYPE = typename _MetaBase<(sizeof...(_Args) >= 1)>::template _FirstImpl<_Args...>;
-template <class ..._Args>
-using _SecondType _LIBCPP_NODEBUG_TYPE = typename _MetaBase<(sizeof...(_Args) >= 2)>::template _SecondImpl<_Args...>;
-
-template <template <class...> class _Func, class ..._Args>
-struct _Lazy : _Func<_Args...> {};
-
-// Member detector base
-
-template <template <class...> class _Templ, class ..._Args>
-true_type __sfinae_test_impl(_FirstType<int, _Templ<_Args...> >);
-template <template <class...> class, class ...>
-false_type __sfinae_test_impl(...);
-
-template <template <class ...> class _Templ, class ..._Args>
-using _IsValidExpansion _LIBCPP_NODEBUG_TYPE = decltype(std::__sfinae_test_impl<_Templ, _Args...>(0));
-
-template <class>
-struct __void_t { typedef void type; };
-
-template <class _Tp>
-struct __identity { typedef _Tp type; };
-
-template <class _Tp, bool>
-struct _LIBCPP_TEMPLATE_VIS __dependent_type : public _Tp {};
-
-template <bool _Bp, class _If, class _Then>
-    struct _LIBCPP_TEMPLATE_VIS conditional {typedef _If type;};
-template <class _If, class _Then>
-    struct _LIBCPP_TEMPLATE_VIS conditional<false, _If, _Then> {typedef _Then type;};
-
-#if _LIBCPP_STD_VER > 11
-template <bool _Bp, class _If, class _Then> using conditional_t = typename conditional<_Bp, _If, _Then>::type;
-#endif
-
-template <bool, class _Tp = void> struct _LIBCPP_TEMPLATE_VIS enable_if {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS enable_if<true, _Tp> {typedef _Tp type;};
-
-#if _LIBCPP_STD_VER > 11
-template <bool _Bp, class _Tp = void> using enable_if_t = typename enable_if<_Bp, _Tp>::type;
-#endif
-
-// is_same
-
-template <class _Tp, class _Up> struct _LIBCPP_TEMPLATE_VIS is_same           : public false_type {};
-template <class _Tp>            struct _LIBCPP_TEMPLATE_VIS is_same<_Tp, _Tp> : public true_type {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_same_v
-    = is_same<_Tp, _Up>::value;
-#endif
-
-template <class _Tp, class _Up>
-using _IsSame = _BoolConstant<
-#ifdef __clang__
-    __is_same(_Tp, _Up)
-#else
-    _VSTD::is_same<_Tp, _Up>::value
-#endif
->;
-
-template <class _Tp, class _Up>
-using _IsNotSame = _BoolConstant<
-#ifdef __clang__
-    !__is_same(_Tp, _Up)
-#else
-    !_VSTD::is_same<_Tp, _Up>::value
-#endif
->;
-// addressof
-#ifndef _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF
-
-template <class _Tp>
-inline _LIBCPP_CONSTEXPR_AFTER_CXX14
-_LIBCPP_NO_CFI _LIBCPP_INLINE_VISIBILITY
-_Tp*
-addressof(_Tp& __x) _NOEXCEPT
-{
-    return __builtin_addressof(__x);
-}
-
-#else
-
-template <class _Tp>
-inline _LIBCPP_NO_CFI _LIBCPP_INLINE_VISIBILITY
-_Tp*
-addressof(_Tp& __x) _NOEXCEPT
-{
-  return reinterpret_cast<_Tp *>(
-      const_cast<char *>(&reinterpret_cast<const volatile char &>(__x)));
-}
-
-#endif // _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF
-
-#if defined(_LIBCPP_HAS_OBJC_ARC) && !defined(_LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF)
-// Objective-C++ Automatic Reference Counting uses qualified pointers
-// that require special addressof() signatures. When
-// _LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF is defined, the compiler
-// itself is providing these definitions. Otherwise, we provide them.
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-__strong _Tp*
-addressof(__strong _Tp& __x) _NOEXCEPT
-{
-  return &__x;
-}
-
-#ifdef _LIBCPP_HAS_OBJC_ARC_WEAK
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-__weak _Tp*
-addressof(__weak _Tp& __x) _NOEXCEPT
-{
-  return &__x;
-}
-#endif
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-__autoreleasing _Tp*
-addressof(__autoreleasing _Tp& __x) _NOEXCEPT
-{
-  return &__x;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-__unsafe_unretained _Tp*
-addressof(__unsafe_unretained _Tp& __x) _NOEXCEPT
-{
-  return &__x;
-}
-#endif
-
-#if !defined(_LIBCPP_CXX03_LANG)
-template <class _Tp> _Tp* addressof(const _Tp&&) noexcept = delete;
-#endif
-
-struct __two {char __lx[2];};
-
-// helper class:
-
-// is_const
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_const            : public false_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_const<_Tp const> : public true_type {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_const_v
-    = is_const<_Tp>::value;
-#endif
-
-// is_volatile
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_volatile               : public false_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_volatile<_Tp volatile> : public true_type {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_volatile_v
-    = is_volatile<_Tp>::value;
-#endif
-
-// remove_const
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_const            {typedef _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_const<const _Tp> {typedef _Tp type;};
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_const_t = typename remove_const<_Tp>::type;
-#endif
-
-// remove_volatile
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_volatile               {typedef _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_volatile<volatile _Tp> {typedef _Tp type;};
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_volatile_t = typename remove_volatile<_Tp>::type;
-#endif
-
-// remove_cv
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_cv
-{typedef typename remove_volatile<typename remove_const<_Tp>::type>::type type;};
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_cv_t = typename remove_cv<_Tp>::type;
-#endif
-
-// is_void
-
-template <class _Tp> struct __libcpp_is_void       : public false_type {};
-template <>          struct __libcpp_is_void<void> : public true_type {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_void
-    : public __libcpp_is_void<typename remove_cv<_Tp>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_void_v
-    = is_void<_Tp>::value;
-#endif
-
-// __is_nullptr_t
-
-template <class _Tp> struct __is_nullptr_t_impl       : public false_type {};
-template <>          struct __is_nullptr_t_impl<nullptr_t> : public true_type {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS __is_nullptr_t
-    : public __is_nullptr_t_impl<typename remove_cv<_Tp>::type> {};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_null_pointer
-    : public __is_nullptr_t_impl<typename remove_cv<_Tp>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_null_pointer_v
-    = is_null_pointer<_Tp>::value;
-#endif
-#endif
-
-// is_integral
-
-template <class _Tp> struct __libcpp_is_integral                     : public false_type {};
-template <>          struct __libcpp_is_integral<bool>               : public true_type {};
-template <>          struct __libcpp_is_integral<char>               : public true_type {};
-template <>          struct __libcpp_is_integral<signed char>        : public true_type {};
-template <>          struct __libcpp_is_integral<unsigned char>      : public true_type {};
-template <>          struct __libcpp_is_integral<wchar_t>            : public true_type {};
-#ifndef _LIBCPP_NO_HAS_CHAR8_T
-template <>          struct __libcpp_is_integral<char8_t>            : public true_type {};
-#endif
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-template <>          struct __libcpp_is_integral<char16_t>           : public true_type {};
-template <>          struct __libcpp_is_integral<char32_t>           : public true_type {};
-#endif  // _LIBCPP_HAS_NO_UNICODE_CHARS
-template <>          struct __libcpp_is_integral<short>              : public true_type {};
-template <>          struct __libcpp_is_integral<unsigned short>     : public true_type {};
-template <>          struct __libcpp_is_integral<int>                : public true_type {};
-template <>          struct __libcpp_is_integral<unsigned int>       : public true_type {};
-template <>          struct __libcpp_is_integral<long>               : public true_type {};
-template <>          struct __libcpp_is_integral<unsigned long>      : public true_type {};
-template <>          struct __libcpp_is_integral<long long>          : public true_type {};
-template <>          struct __libcpp_is_integral<unsigned long long> : public true_type {};
-#ifndef _LIBCPP_HAS_NO_INT128
-template <>          struct __libcpp_is_integral<__int128_t>         : public true_type {};
-template <>          struct __libcpp_is_integral<__uint128_t>        : public true_type {};
-#endif
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_integral
-    : public __libcpp_is_integral<typename remove_cv<_Tp>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_integral_v
-    = is_integral<_Tp>::value;
-#endif
-
-// is_floating_point
-
-template <class _Tp> struct __libcpp_is_floating_point              : public false_type {};
-template <>          struct __libcpp_is_floating_point<float>       : public true_type {};
-template <>          struct __libcpp_is_floating_point<double>      : public true_type {};
-template <>          struct __libcpp_is_floating_point<long double> : public true_type {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_floating_point
-    : public __libcpp_is_floating_point<typename remove_cv<_Tp>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_floating_point_v
-    = is_floating_point<_Tp>::value;
-#endif
-
-// is_array
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_array
-    : public false_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_array<_Tp[]>
-    : public true_type {};
-template <class _Tp, size_t _Np> struct _LIBCPP_TEMPLATE_VIS is_array<_Tp[_Np]>
-    : public true_type {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_array_v
-    = is_array<_Tp>::value;
-#endif
-
-// is_pointer
-
-template <class _Tp> struct __libcpp_is_pointer       : public false_type {};
-template <class _Tp> struct __libcpp_is_pointer<_Tp*> : public true_type {};
-
-template <class _Tp> struct __libcpp_remove_objc_qualifiers { typedef _Tp type; };
-#if defined(_LIBCPP_HAS_OBJC_ARC)
-template <class _Tp> struct __libcpp_remove_objc_qualifiers<_Tp __strong> { typedef _Tp type; };
-template <class _Tp> struct __libcpp_remove_objc_qualifiers<_Tp __weak> { typedef _Tp type; };
-template <class _Tp> struct __libcpp_remove_objc_qualifiers<_Tp __autoreleasing> { typedef _Tp type; };
-template <class _Tp> struct __libcpp_remove_objc_qualifiers<_Tp __unsafe_unretained> { typedef _Tp type; };
-#endif
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_pointer
-    : public __libcpp_is_pointer<typename __libcpp_remove_objc_qualifiers<typename remove_cv<_Tp>::type>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_pointer_v
-    = is_pointer<_Tp>::value;
-#endif
-
-// is_reference
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_lvalue_reference       : public false_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_lvalue_reference<_Tp&> : public true_type {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_rvalue_reference        : public false_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_rvalue_reference<_Tp&&> : public true_type {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_reference        : public false_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_reference<_Tp&>  : public true_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_reference<_Tp&&> : public true_type {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_reference_v
-    = is_reference<_Tp>::value;
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_lvalue_reference_v
-    = is_lvalue_reference<_Tp>::value;
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_rvalue_reference_v
-    = is_rvalue_reference<_Tp>::value;
-#endif
-// is_union
-
-#if __has_feature(is_union) || defined(_LIBCPP_COMPILER_GCC)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_union
-    : public integral_constant<bool, __is_union(_Tp)> {};
-
-#else
-
-template <class _Tp> struct __libcpp_union : public false_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_union
-    : public __libcpp_union<typename remove_cv<_Tp>::type> {};
-
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_union_v
-    = is_union<_Tp>::value;
-#endif
-
-// is_class
-
-#if __has_feature(is_class) || defined(_LIBCPP_COMPILER_GCC)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_class
-    : public integral_constant<bool, __is_class(_Tp)> {};
-
-#else
-
-namespace __is_class_imp
-{
-template <class _Tp> char  __test(int _Tp::*);
-template <class _Tp> __two __test(...);
-}
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_class
-    : public integral_constant<bool, sizeof(__is_class_imp::__test<_Tp>(0)) == 1 && !is_union<_Tp>::value> {};
-
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_class_v
-    = is_class<_Tp>::value;
-#endif
-
-// is_function
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_function
-    : public _BoolConstant<
-#ifdef __clang__
-    __is_function(_Tp)
-#else
- !(is_reference<_Tp>::value || is_const<const _Tp>::value)
-#endif
-    > {};
-
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_function_v
-    = is_function<_Tp>::value;
-#endif
-
-template <class _Tp> struct __libcpp_is_member_pointer {
-  enum {
-    __is_member = false,
-    __is_func = false,
-    __is_obj = false
-  };
-};
-template <class _Tp, class _Up> struct __libcpp_is_member_pointer<_Tp _Up::*> {
-  enum {
-    __is_member = true,
-    __is_func = is_function<_Tp>::value,
-    __is_obj = !__is_func,
-  };
-};
-
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_member_function_pointer
-    : public _BoolConstant< __libcpp_is_member_pointer<typename remove_cv<_Tp>::type>::__is_func > {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_member_function_pointer_v
-    = is_member_function_pointer<_Tp>::value;
-#endif
-
-// is_member_pointer
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_member_pointer
- : public _BoolConstant< __libcpp_is_member_pointer<typename remove_cv<_Tp>::type>::__is_member > {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_member_pointer_v
-    = is_member_pointer<_Tp>::value;
-#endif
-
-// is_member_object_pointer
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_member_object_pointer
-    : public _BoolConstant< __libcpp_is_member_pointer<typename remove_cv<_Tp>::type>::__is_obj >  {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_member_object_pointer_v
-    = is_member_object_pointer<_Tp>::value;
-#endif
-
-// is_enum
-
-#if __has_feature(is_enum) || defined(_LIBCPP_COMPILER_GCC)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_enum
-    : public integral_constant<bool, __is_enum(_Tp)> {};
-
-#else
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_enum
-    : public integral_constant<bool, !is_void<_Tp>::value             &&
-                                     !is_integral<_Tp>::value         &&
-                                     !is_floating_point<_Tp>::value   &&
-                                     !is_array<_Tp>::value            &&
-                                     !is_pointer<_Tp>::value          &&
-                                     !is_reference<_Tp>::value        &&
-                                     !is_member_pointer<_Tp>::value   &&
-                                     !is_union<_Tp>::value            &&
-                                     !is_class<_Tp>::value            &&
-                                     !is_function<_Tp>::value         > {};
-
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_enum_v
-    = is_enum<_Tp>::value;
-#endif
-
-// is_arithmetic
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_arithmetic
-    : public integral_constant<bool, is_integral<_Tp>::value      ||
-                                     is_floating_point<_Tp>::value> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_arithmetic_v
-    = is_arithmetic<_Tp>::value;
-#endif
-
-// is_fundamental
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_fundamental
-    : public integral_constant<bool, is_void<_Tp>::value        ||
-                                     __is_nullptr_t<_Tp>::value ||
-                                     is_arithmetic<_Tp>::value> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_fundamental_v
-    = is_fundamental<_Tp>::value;
-#endif
-
-// is_scalar
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_scalar
-    : public integral_constant<bool, is_arithmetic<_Tp>::value     ||
-                                     is_member_pointer<_Tp>::value ||
-                                     is_pointer<_Tp>::value        ||
-                                     __is_nullptr_t<_Tp>::value    ||
-                                     is_enum<_Tp>::value           > {};
-
-template <> struct _LIBCPP_TEMPLATE_VIS is_scalar<nullptr_t> : public true_type {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_scalar_v
-    = is_scalar<_Tp>::value;
-#endif
-
-// is_object
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_object
-    : public integral_constant<bool, is_scalar<_Tp>::value ||
-                                     is_array<_Tp>::value  ||
-                                     is_union<_Tp>::value  ||
-                                     is_class<_Tp>::value  > {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_object_v
-    = is_object<_Tp>::value;
-#endif
-
-// is_compound
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_compound
-    : public integral_constant<bool, !is_fundamental<_Tp>::value> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_compound_v
-    = is_compound<_Tp>::value;
-#endif
-
-
-// __is_referenceable  [defns.referenceable]
-
-struct __is_referenceable_impl {
-    template <class _Tp> static _Tp& __test(int);
-    template <class _Tp> static __two __test(...);
-};
-
-template <class _Tp>
-struct __is_referenceable : integral_constant<bool,
-    _IsNotSame<decltype(__is_referenceable_impl::__test<_Tp>(0)), __two>::value> {};
-
-
-// add_const
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS add_const {
-  typedef _LIBCPP_NODEBUG_TYPE const _Tp type;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using add_const_t = typename add_const<_Tp>::type;
-#endif
-
-// add_volatile
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS add_volatile {
-  typedef _LIBCPP_NODEBUG_TYPE volatile _Tp type;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using add_volatile_t = typename add_volatile<_Tp>::type;
-#endif
-
-// add_cv
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS add_cv {
-  typedef _LIBCPP_NODEBUG_TYPE const volatile _Tp type;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using add_cv_t = typename add_cv<_Tp>::type;
-#endif
-
-// remove_reference
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_reference        {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_reference<_Tp&>  {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_reference<_Tp&&> {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_reference_t = typename remove_reference<_Tp>::type;
-#endif
-
-// add_lvalue_reference
-
-template <class _Tp, bool = __is_referenceable<_Tp>::value> struct __add_lvalue_reference_impl            { typedef _LIBCPP_NODEBUG_TYPE _Tp  type; };
-template <class _Tp                                       > struct __add_lvalue_reference_impl<_Tp, true> { typedef _LIBCPP_NODEBUG_TYPE _Tp& type; };
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS add_lvalue_reference
-{typedef _LIBCPP_NODEBUG_TYPE typename  __add_lvalue_reference_impl<_Tp>::type type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
-#endif
-
-template <class _Tp, bool = __is_referenceable<_Tp>::value> struct __add_rvalue_reference_impl            { typedef _LIBCPP_NODEBUG_TYPE  _Tp   type; };
-template <class _Tp                                       > struct __add_rvalue_reference_impl<_Tp, true> { typedef _LIBCPP_NODEBUG_TYPE  _Tp&& type; };
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS add_rvalue_reference
-{typedef _LIBCPP_NODEBUG_TYPE  typename __add_rvalue_reference_impl<_Tp>::type type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
-#endif
-
-template <class _Tp> _Tp&& __declval(int);
-template <class _Tp> _Tp   __declval(long);
-
-template <class _Tp>
-decltype(_VSTD::__declval<_Tp>(0))
-declval() _NOEXCEPT;
-
-// __uncvref
-
-template <class _Tp>
-struct __uncvref  {
-    typedef _LIBCPP_NODEBUG_TYPE typename remove_cv<typename remove_reference<_Tp>::type>::type type;
-};
-
-template <class _Tp>
-struct __unconstref {
-    typedef _LIBCPP_NODEBUG_TYPE typename remove_const<typename remove_reference<_Tp>::type>::type type;
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp>
-using __uncvref_t _LIBCPP_NODEBUG_TYPE = typename __uncvref<_Tp>::type;
-#endif
-
-// __is_same_uncvref
-
-template <class _Tp, class _Up>
-struct __is_same_uncvref : _IsSame<typename __uncvref<_Tp>::type,
-                                   typename __uncvref<_Up>::type> {};
-
-#if _LIBCPP_STD_VER > 17
-// remove_cvref - same as __uncvref
-template <class _Tp>
-struct remove_cvref : public __uncvref<_Tp> {};
-
-template <class _Tp> using remove_cvref_t = typename remove_cvref<_Tp>::type;
-#endif
-
-
-struct __any
-{
-    __any(...);
-};
-
-// remove_pointer
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer                      {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp*>                {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const>          {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* volatile>       {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const volatile> {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_pointer_t = typename remove_pointer<_Tp>::type;
-#endif
-
-// add_pointer
-
-template <class _Tp,
-        bool = __is_referenceable<_Tp>::value ||
-                _IsSame<typename remove_cv<_Tp>::type, void>::value>
-struct __add_pointer_impl
-    {typedef _LIBCPP_NODEBUG_TYPE typename remove_reference<_Tp>::type* type;};
-template <class _Tp> struct __add_pointer_impl<_Tp, false>
-    {typedef _LIBCPP_NODEBUG_TYPE _Tp type;};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS add_pointer
-    {typedef _LIBCPP_NODEBUG_TYPE typename __add_pointer_impl<_Tp>::type type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using add_pointer_t = typename add_pointer<_Tp>::type;
-#endif
-
-// type_identity
-#if _LIBCPP_STD_VER > 17
-template<class _Tp> struct type_identity { typedef _Tp type; };
-template<class _Tp> using type_identity_t = typename type_identity<_Tp>::type;
-#endif
-
-// is_signed
-
-template <class _Tp, bool = is_integral<_Tp>::value>
-struct __libcpp_is_signed_impl : public _LIBCPP_BOOL_CONSTANT(_Tp(-1) < _Tp(0)) {};
-
-template <class _Tp>
-struct __libcpp_is_signed_impl<_Tp, false> : public true_type {};  // floating point
-
-template <class _Tp, bool = is_arithmetic<_Tp>::value>
-struct __libcpp_is_signed : public __libcpp_is_signed_impl<_Tp> {};
-
-template <class _Tp> struct __libcpp_is_signed<_Tp, false> : public false_type {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_signed : public __libcpp_is_signed<_Tp> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_signed_v
-    = is_signed<_Tp>::value;
-#endif
-
-// is_unsigned
-
-template <class _Tp, bool = is_integral<_Tp>::value>
-struct __libcpp_is_unsigned_impl : public _LIBCPP_BOOL_CONSTANT(_Tp(0) < _Tp(-1)) {};
-
-template <class _Tp>
-struct __libcpp_is_unsigned_impl<_Tp, false> : public false_type {};  // floating point
-
-template <class _Tp, bool = is_arithmetic<_Tp>::value>
-struct __libcpp_is_unsigned : public __libcpp_is_unsigned_impl<_Tp> {};
-
-template <class _Tp> struct __libcpp_is_unsigned<_Tp, false> : public false_type {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_unsigned : public __libcpp_is_unsigned<_Tp> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_unsigned_v
-    = is_unsigned<_Tp>::value;
-#endif
-
-// rank
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS rank
-    : public integral_constant<size_t, 0> {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS rank<_Tp[]>
-    : public integral_constant<size_t, rank<_Tp>::value + 1> {};
-template <class _Tp, size_t _Np> struct _LIBCPP_TEMPLATE_VIS rank<_Tp[_Np]>
-    : public integral_constant<size_t, rank<_Tp>::value + 1> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR size_t rank_v
-    = rank<_Tp>::value;
-#endif
-
-// extent
-
-template <class _Tp, unsigned _Ip = 0> struct _LIBCPP_TEMPLATE_VIS extent
-    : public integral_constant<size_t, 0> {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS extent<_Tp[], 0>
-    : public integral_constant<size_t, 0> {};
-template <class _Tp, unsigned _Ip> struct _LIBCPP_TEMPLATE_VIS extent<_Tp[], _Ip>
-    : public integral_constant<size_t, extent<_Tp, _Ip-1>::value> {};
-template <class _Tp, size_t _Np> struct _LIBCPP_TEMPLATE_VIS extent<_Tp[_Np], 0>
-    : public integral_constant<size_t, _Np> {};
-template <class _Tp, size_t _Np, unsigned _Ip> struct _LIBCPP_TEMPLATE_VIS extent<_Tp[_Np], _Ip>
-    : public integral_constant<size_t, extent<_Tp, _Ip-1>::value> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp, unsigned _Ip = 0>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR size_t extent_v
-    = extent<_Tp, _Ip>::value;
-#endif
-
-// remove_extent
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_extent
-    {typedef _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_extent<_Tp[]>
-    {typedef _Tp type;};
-template <class _Tp, size_t _Np> struct _LIBCPP_TEMPLATE_VIS remove_extent<_Tp[_Np]>
-    {typedef _Tp type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_extent_t = typename remove_extent<_Tp>::type;
-#endif
-
-// remove_all_extents
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_all_extents
-    {typedef _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_all_extents<_Tp[]>
-    {typedef typename remove_all_extents<_Tp>::type type;};
-template <class _Tp, size_t _Np> struct _LIBCPP_TEMPLATE_VIS remove_all_extents<_Tp[_Np]>
-    {typedef typename remove_all_extents<_Tp>::type type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
-#endif
-
-#if _LIBCPP_STD_VER > 17
-// is_bounded_array
-
-template <class>                 struct _LIBCPP_TEMPLATE_VIS is_bounded_array           : false_type {};
-template <class _Tp, size_t _Np> struct _LIBCPP_TEMPLATE_VIS is_bounded_array<_Tp[_Np]> : true_type {};
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR
-bool is_bounded_array_v  = is_bounded_array<_Tp>::value;
-
-// is_unbounded_array
-
-template <class>     struct _LIBCPP_TEMPLATE_VIS is_unbounded_array        : false_type {};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_unbounded_array<_Tp[]> : true_type {};
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR
-bool is_unbounded_array_v  = is_unbounded_array<_Tp>::value;
-#endif
-
-// decay
-
-template <class _Up, bool>
-struct __decay {
-    typedef _LIBCPP_NODEBUG_TYPE typename remove_cv<_Up>::type type;
-};
-
-template <class _Up>
-struct __decay<_Up, true> {
-public:
-    typedef _LIBCPP_NODEBUG_TYPE typename conditional
-                     <
-                         is_array<_Up>::value,
-                         typename remove_extent<_Up>::type*,
-                         typename conditional
-                         <
-                              is_function<_Up>::value,
-                              typename add_pointer<_Up>::type,
-                              typename remove_cv<_Up>::type
-                         >::type
-                     >::type type;
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS decay
-{
-private:
-    typedef _LIBCPP_NODEBUG_TYPE typename remove_reference<_Tp>::type _Up;
-public:
-    typedef _LIBCPP_NODEBUG_TYPE typename __decay<_Up, __is_referenceable<_Up>::value>::type type;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using decay_t = typename decay<_Tp>::type;
-#endif
-
-// is_abstract
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_abstract
-    : public integral_constant<bool, __is_abstract(_Tp)> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_abstract_v
-    = is_abstract<_Tp>::value;
-#endif
-
-// is_final
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS
-__libcpp_is_final : public integral_constant<bool, __is_final(_Tp)> {};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS
-is_final : public integral_constant<bool, __is_final(_Tp)> {};
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_final_v
-    = is_final<_Tp>::value;
-#endif
-
-// is_aggregate
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_IS_AGGREGATE)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS
-is_aggregate : public integral_constant<bool, __is_aggregate(_Tp)> {};
-
-#if !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr bool is_aggregate_v
-    = is_aggregate<_Tp>::value;
-#endif
-
-#endif // _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_IS_AGGREGATE)
-
-// is_base_of
-
-template <class _Bp, class _Dp>
-struct _LIBCPP_TEMPLATE_VIS is_base_of
-    : public integral_constant<bool, __is_base_of(_Bp, _Dp)> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Bp, class _Dp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_base_of_v
-    = is_base_of<_Bp, _Dp>::value;
-#endif
-
-// is_convertible
-
-#if __has_feature(is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
-
-template <class _T1, class _T2> struct _LIBCPP_TEMPLATE_VIS is_convertible
-    : public integral_constant<bool, __is_convertible_to(_T1, _T2) &&
-                                     !is_abstract<_T2>::value> {};
-
-#else  // __has_feature(is_convertible_to)
-
-namespace __is_convertible_imp
-{
-template <class _Tp> void  __test_convert(_Tp);
-
-template <class _From, class _To, class = void>
-struct __is_convertible_test : public false_type {};
-
-template <class _From, class _To>
-struct __is_convertible_test<_From, _To,
-    decltype(_VSTD::__is_convertible_imp::__test_convert<_To>(_VSTD::declval<_From>()))> : public true_type
-{};
-
-template <class _Tp, bool _IsArray =    is_array<_Tp>::value,
-                     bool _IsFunction = is_function<_Tp>::value,
-                     bool _IsVoid =     is_void<_Tp>::value>
-                     struct __is_array_function_or_void                          {enum {value = 0};};
-template <class _Tp> struct __is_array_function_or_void<_Tp, true, false, false> {enum {value = 1};};
-template <class _Tp> struct __is_array_function_or_void<_Tp, false, true, false> {enum {value = 2};};
-template <class _Tp> struct __is_array_function_or_void<_Tp, false, false, true> {enum {value = 3};};
-}
-
-template <class _Tp,
-    unsigned = __is_convertible_imp::__is_array_function_or_void<typename remove_reference<_Tp>::type>::value>
-struct __is_convertible_check
-{
-    static const size_t __v = 0;
-};
-
-template <class _Tp>
-struct __is_convertible_check<_Tp, 0>
-{
-    static const size_t __v = sizeof(_Tp);
-};
-
-template <class _T1, class _T2,
-    unsigned _T1_is_array_function_or_void = __is_convertible_imp::__is_array_function_or_void<_T1>::value,
-    unsigned _T2_is_array_function_or_void = __is_convertible_imp::__is_array_function_or_void<_T2>::value>
-struct __is_convertible
-    : public integral_constant<bool,
-        __is_convertible_imp::__is_convertible_test<_T1, _T2>::value
-    >
-{};
-
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 0, 1> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 1, 1> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 1> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 3, 1> : public false_type {};
-
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 0, 2> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 1, 2> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 2> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 3, 2> : public false_type {};
-
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 0, 3> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 1, 3> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 3> : public false_type {};
-template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 3, 3> : public true_type {};
-
-template <class _T1, class _T2> struct _LIBCPP_TEMPLATE_VIS is_convertible
-    : public __is_convertible<_T1, _T2>
-{
-    static const size_t __complete_check1 = __is_convertible_check<_T1>::__v;
-    static const size_t __complete_check2 = __is_convertible_check<_T2>::__v;
-};
-
-#endif  // __has_feature(is_convertible_to)
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _From, class _To>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_convertible_v
-    = is_convertible<_From, _To>::value;
-#endif
-
-// is_nothrow_convertible
-
-#if _LIBCPP_STD_VER > 17
-
-template <typename _Tp>
-static void __test_noexcept(_Tp) noexcept;
-
-template<typename _Fm, typename _To>
-static bool_constant<noexcept(__test_noexcept<_To>(declval<_Fm>()))>
-__is_nothrow_convertible_test();
-
-template <typename _Fm, typename _To>
-struct __is_nothrow_convertible_helper: decltype(__is_nothrow_convertible_test<_Fm, _To>())
-{ };
-
-template <typename _Fm, typename _To>
-struct is_nothrow_convertible : _Or<
-    _And<is_void<_To>, is_void<_Fm>>,
-    _Lazy<_And, is_convertible<_Fm, _To>, __is_nothrow_convertible_helper<_Fm, _To>>
->::type { };
-
-template <typename _Fm, typename _To>
-inline constexpr bool is_nothrow_convertible_v = is_nothrow_convertible<_Fm, _To>::value;
-
-#endif // _LIBCPP_STD_VER > 17
-
-// is_empty
-
-#if __has_feature(is_empty) || defined(_LIBCPP_COMPILER_GCC)
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_empty
-    : public integral_constant<bool, __is_empty(_Tp)> {};
-
-#else  // __has_feature(is_empty)
-
-template <class _Tp>
-struct __is_empty1
-    : public _Tp
-{
-    double __lx;
-};
-
-struct __is_empty2
-{
-    double __lx;
-};
-
-template <class _Tp, bool = is_class<_Tp>::value>
-struct __libcpp_empty : public integral_constant<bool, sizeof(__is_empty1<_Tp>) == sizeof(__is_empty2)> {};
-
-template <class _Tp> struct __libcpp_empty<_Tp, false> : public false_type {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_empty : public __libcpp_empty<_Tp> {};
-
-#endif  // __has_feature(is_empty)
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_empty_v
-    = is_empty<_Tp>::value;
-#endif
-
-// is_polymorphic
-
-#if __has_feature(is_polymorphic) || defined(_LIBCPP_COMPILER_MSVC)
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_polymorphic
-    : public integral_constant<bool, __is_polymorphic(_Tp)> {};
-
-#else
-
-template<typename _Tp> char &__is_polymorphic_impl(
-    typename enable_if<sizeof((_Tp*)dynamic_cast<const volatile void*>(declval<_Tp*>())) != 0,
-                       int>::type);
-template<typename _Tp> __two &__is_polymorphic_impl(...);
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_polymorphic
-    : public integral_constant<bool, sizeof(__is_polymorphic_impl<_Tp>(0)) == 1> {};
-
-#endif // __has_feature(is_polymorphic)
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_polymorphic_v
-    = is_polymorphic<_Tp>::value;
-#endif
-
-// has_virtual_destructor
-
-#if __has_feature(has_virtual_destructor) || defined(_LIBCPP_COMPILER_GCC)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS has_virtual_destructor
-    : public integral_constant<bool, __has_virtual_destructor(_Tp)> {};
-
-#else
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS has_virtual_destructor
-    : public false_type {};
-
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool has_virtual_destructor_v
-    = has_virtual_destructor<_Tp>::value;
-#endif
-
-// has_unique_object_representations
-
-#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS has_unique_object_representations
-    : public integral_constant<bool,
-       __has_unique_object_representations(remove_cv_t<remove_all_extents_t<_Tp>>)> {};
-
-#if !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool has_unique_object_representations_v
-    = has_unique_object_representations<_Tp>::value;
-#endif
-
-#endif
-
-// alignment_of
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS alignment_of
-    : public integral_constant<size_t, _LIBCPP_ALIGNOF(_Tp)> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR size_t alignment_of_v
-    = alignment_of<_Tp>::value;
-#endif
-
-// aligned_storage
-
-template <class _Hp, class _Tp>
-struct __type_list
-{
-    typedef _Hp _Head;
-    typedef _Tp _Tail;
-};
-
-struct __nat
-{
-#ifndef _LIBCPP_CXX03_LANG
-    __nat() = delete;
-    __nat(const __nat&) = delete;
-    __nat& operator=(const __nat&) = delete;
-    ~__nat() = delete;
-#endif
-};
-
-template <class _Tp>
-struct __align_type
-{
-    static const size_t value = _LIBCPP_PREFERRED_ALIGNOF(_Tp);
-    typedef _Tp type;
-};
-
-struct __struct_double {long double __lx;};
-struct __struct_double4 {double __lx[4];};
-
-typedef
-    __type_list<__align_type<unsigned char>,
-    __type_list<__align_type<unsigned short>,
-    __type_list<__align_type<unsigned int>,
-    __type_list<__align_type<unsigned long>,
-    __type_list<__align_type<unsigned long long>,
-    __type_list<__align_type<double>,
-    __type_list<__align_type<long double>,
-    __type_list<__align_type<__struct_double>,
-    __type_list<__align_type<__struct_double4>,
-    __type_list<__align_type<int*>,
-    __nat
-    > > > > > > > > > > __all_types;
-
-template <size_t _Align>
-struct _ALIGNAS(_Align) __fallback_overaligned {};
-
-template <class _TL, size_t _Align> struct __find_pod;
-
-template <class _Hp, size_t _Align>
-struct __find_pod<__type_list<_Hp, __nat>, _Align>
-{
-    typedef typename conditional<
-                             _Align == _Hp::value,
-                             typename _Hp::type,
-                             __fallback_overaligned<_Align>
-                         >::type type;
-};
-
-template <class _Hp, class _Tp, size_t _Align>
-struct __find_pod<__type_list<_Hp, _Tp>, _Align>
-{
-    typedef typename conditional<
-                             _Align == _Hp::value,
-                             typename _Hp::type,
-                             typename __find_pod<_Tp, _Align>::type
-                         >::type type;
-};
-
-template <class _TL, size_t _Len> struct __find_max_align;
-
-template <class _Hp, size_t _Len>
-struct __find_max_align<__type_list<_Hp, __nat>, _Len> : public integral_constant<size_t, _Hp::value> {};
-
-template <size_t _Len, size_t _A1, size_t _A2>
-struct __select_align
-{
-private:
-    static const size_t __min = _A2 < _A1 ? _A2 : _A1;
-    static const size_t __max = _A1 < _A2 ? _A2 : _A1;
-public:
-    static const size_t value = _Len < __max ? __min : __max;
-};
-
-template <class _Hp, class _Tp, size_t _Len>
-struct __find_max_align<__type_list<_Hp, _Tp>, _Len>
-    : public integral_constant<size_t, __select_align<_Len, _Hp::value, __find_max_align<_Tp, _Len>::value>::value> {};
-
-template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value>
-struct _LIBCPP_TEMPLATE_VIS aligned_storage
-{
-    typedef typename __find_pod<__all_types, _Align>::type _Aligner;
-    union type
-    {
-        _Aligner __align;
-        unsigned char __data[(_Len + _Align - 1)/_Align * _Align];
-    };
-};
-
-#if _LIBCPP_STD_VER > 11
-template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value>
-    using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
-#endif
-
-#define _CREATE_ALIGNED_STORAGE_SPECIALIZATION(n) \
-template <size_t _Len>\
-struct _LIBCPP_TEMPLATE_VIS aligned_storage<_Len, n>\
-{\
-    struct _ALIGNAS(n) type\
-    {\
-        unsigned char __lx[(_Len + n - 1)/n * n];\
-    };\
-}
-
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x1);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x2);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x4);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x8);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x10);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x20);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x40);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x80);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x100);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x200);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x400);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x800);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x1000);
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x2000);
-// PE/COFF does not support alignment beyond 8192 (=0x2000)
-#if !defined(_LIBCPP_OBJECT_FORMAT_COFF)
-_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x4000);
-#endif // !defined(_LIBCPP_OBJECT_FORMAT_COFF)
-
-#undef _CREATE_ALIGNED_STORAGE_SPECIALIZATION
-
-
-// aligned_union
-
-template <size_t _I0, size_t ..._In>
-struct __static_max;
-
-template <size_t _I0>
-struct __static_max<_I0>
-{
-    static const size_t value = _I0;
-};
-
-template <size_t _I0, size_t _I1, size_t ..._In>
-struct __static_max<_I0, _I1, _In...>
-{
-    static const size_t value = _I0 >= _I1 ? __static_max<_I0, _In...>::value :
-                                             __static_max<_I1, _In...>::value;
-};
-
-template <size_t _Len, class _Type0, class ..._Types>
-struct aligned_union
-{
-    static const size_t alignment_value = __static_max<_LIBCPP_PREFERRED_ALIGNOF(_Type0),
-                                                       _LIBCPP_PREFERRED_ALIGNOF(_Types)...>::value;
-    static const size_t __len = __static_max<_Len, sizeof(_Type0),
-                                             sizeof(_Types)...>::value;
-    typedef typename aligned_storage<__len, alignment_value>::type type;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <size_t _Len, class ..._Types> using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
-#endif
-
-template <class _Tp>
-struct __numeric_type
-{
-   static void __test(...);
-   static float __test(float);
-   static double __test(char);
-   static double __test(int);
-   static double __test(unsigned);
-   static double __test(long);
-   static double __test(unsigned long);
-   static double __test(long long);
-   static double __test(unsigned long long);
-   static double __test(double);
-   static long double __test(long double);
-
-   typedef decltype(__test(declval<_Tp>())) type;
-   static const bool value = _IsNotSame<type, void>::value;
-};
-
-template <>
-struct __numeric_type<void>
-{
-   static const bool value = true;
-};
-
-// __promote
-
-template <class _A1, class _A2 = void, class _A3 = void,
-          bool = __numeric_type<_A1>::value &&
-                 __numeric_type<_A2>::value &&
-                 __numeric_type<_A3>::value>
-class __promote_imp
-{
-public:
-    static const bool value = false;
-};
-
-template <class _A1, class _A2, class _A3>
-class __promote_imp<_A1, _A2, _A3, true>
-{
-private:
-    typedef typename __promote_imp<_A1>::type __type1;
-    typedef typename __promote_imp<_A2>::type __type2;
-    typedef typename __promote_imp<_A3>::type __type3;
-public:
-    typedef decltype(__type1() + __type2() + __type3()) type;
-    static const bool value = true;
-};
-
-template <class _A1, class _A2>
-class __promote_imp<_A1, _A2, void, true>
-{
-private:
-    typedef typename __promote_imp<_A1>::type __type1;
-    typedef typename __promote_imp<_A2>::type __type2;
-public:
-    typedef decltype(__type1() + __type2()) type;
-    static const bool value = true;
-};
-
-template <class _A1>
-class __promote_imp<_A1, void, void, true>
-{
-public:
-    typedef typename __numeric_type<_A1>::type type;
-    static const bool value = true;
-};
-
-template <class _A1, class _A2 = void, class _A3 = void>
-class __promote : public __promote_imp<_A1, _A2, _A3> {};
-
-// make_signed / make_unsigned
-
-typedef
-    __type_list<signed char,
-    __type_list<signed short,
-    __type_list<signed int,
-    __type_list<signed long,
-    __type_list<signed long long,
-#ifndef _LIBCPP_HAS_NO_INT128
-    __type_list<__int128_t,
-#endif
-    __nat
-#ifndef _LIBCPP_HAS_NO_INT128
-    >
-#endif
-    > > > > > __signed_types;
-
-typedef
-    __type_list<unsigned char,
-    __type_list<unsigned short,
-    __type_list<unsigned int,
-    __type_list<unsigned long,
-    __type_list<unsigned long long,
-#ifndef _LIBCPP_HAS_NO_INT128
-    __type_list<__uint128_t,
-#endif
-    __nat
-#ifndef _LIBCPP_HAS_NO_INT128
-    >
-#endif
-    > > > > > __unsigned_types;
-
-template <class _TypeList, size_t _Size, bool = _Size <= sizeof(typename _TypeList::_Head)> struct __find_first;
-
-template <class _Hp, class _Tp, size_t _Size>
-struct __find_first<__type_list<_Hp, _Tp>, _Size, true>
-{
-    typedef _LIBCPP_NODEBUG_TYPE _Hp type;
-};
-
-template <class _Hp, class _Tp, size_t _Size>
-struct __find_first<__type_list<_Hp, _Tp>, _Size, false>
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename __find_first<_Tp, _Size>::type type;
-};
-
-template <class _Tp, class _Up, bool = is_const<typename remove_reference<_Tp>::type>::value,
-                             bool = is_volatile<typename remove_reference<_Tp>::type>::value>
-struct __apply_cv
-{
-    typedef _LIBCPP_NODEBUG_TYPE _Up type;
-};
-
-template <class _Tp, class _Up>
-struct __apply_cv<_Tp, _Up, true, false>
-{
-    typedef _LIBCPP_NODEBUG_TYPE const _Up type;
-};
-
-template <class _Tp, class _Up>
-struct __apply_cv<_Tp, _Up, false, true>
-{
-    typedef volatile _Up type;
-};
-
-template <class _Tp, class _Up>
-struct __apply_cv<_Tp, _Up, true, true>
-{
-    typedef const volatile _Up type;
-};
-
-template <class _Tp, class _Up>
-struct __apply_cv<_Tp&, _Up, false, false>
-{
-    typedef _Up& type;
-};
-
-template <class _Tp, class _Up>
-struct __apply_cv<_Tp&, _Up, true, false>
-{
-    typedef const _Up& type;
-};
-
-template <class _Tp, class _Up>
-struct __apply_cv<_Tp&, _Up, false, true>
-{
-    typedef volatile _Up& type;
-};
-
-template <class _Tp, class _Up>
-struct __apply_cv<_Tp&, _Up, true, true>
-{
-    typedef const volatile _Up& type;
-};
-
-template <class _Tp, bool = is_integral<_Tp>::value || is_enum<_Tp>::value>
-struct __make_signed {};
-
-template <class _Tp>
-struct __make_signed<_Tp, true>
-{
-    typedef typename __find_first<__signed_types, sizeof(_Tp)>::type type;
-};
-
-template <> struct __make_signed<bool,               true> {};
-template <> struct __make_signed<  signed short,     true> {typedef short     type;};
-template <> struct __make_signed<unsigned short,     true> {typedef short     type;};
-template <> struct __make_signed<  signed int,       true> {typedef int       type;};
-template <> struct __make_signed<unsigned int,       true> {typedef int       type;};
-template <> struct __make_signed<  signed long,      true> {typedef long      type;};
-template <> struct __make_signed<unsigned long,      true> {typedef long      type;};
-template <> struct __make_signed<  signed long long, true> {typedef long long type;};
-template <> struct __make_signed<unsigned long long, true> {typedef long long type;};
-#ifndef _LIBCPP_HAS_NO_INT128
-template <> struct __make_signed<__int128_t,         true> {typedef __int128_t type;};
-template <> struct __make_signed<__uint128_t,        true> {typedef __int128_t type;};
-#endif
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS make_signed
-{
-    typedef typename __apply_cv<_Tp, typename __make_signed<typename remove_cv<_Tp>::type>::type>::type type;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using make_signed_t = typename make_signed<_Tp>::type;
-#endif
-
-template <class _Tp, bool = is_integral<_Tp>::value || is_enum<_Tp>::value>
-struct __make_unsigned {};
-
-template <class _Tp>
-struct __make_unsigned<_Tp, true>
-{
-    typedef typename __find_first<__unsigned_types, sizeof(_Tp)>::type type;
-};
-
-template <> struct __make_unsigned<bool,               true> {};
-template <> struct __make_unsigned<  signed short,     true> {typedef unsigned short     type;};
-template <> struct __make_unsigned<unsigned short,     true> {typedef unsigned short     type;};
-template <> struct __make_unsigned<  signed int,       true> {typedef unsigned int       type;};
-template <> struct __make_unsigned<unsigned int,       true> {typedef unsigned int       type;};
-template <> struct __make_unsigned<  signed long,      true> {typedef unsigned long      type;};
-template <> struct __make_unsigned<unsigned long,      true> {typedef unsigned long      type;};
-template <> struct __make_unsigned<  signed long long, true> {typedef unsigned long long type;};
-template <> struct __make_unsigned<unsigned long long, true> {typedef unsigned long long type;};
-#ifndef _LIBCPP_HAS_NO_INT128
-template <> struct __make_unsigned<__int128_t,         true> {typedef __uint128_t        type;};
-template <> struct __make_unsigned<__uint128_t,        true> {typedef __uint128_t        type;};
-#endif
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS make_unsigned
-{
-    typedef typename __apply_cv<_Tp, typename __make_unsigned<typename remove_cv<_Tp>::type>::type>::type type;
-};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using make_unsigned_t = typename make_unsigned<_Tp>::type;
-#endif
-
-template <class _Tp, class _Up, class = void>
-struct __common_type2_imp {};
-
-template <class _Tp, class _Up>
-struct __common_type2_imp<_Tp, _Up,
-                          typename __void_t<decltype(
-                                            true ? _VSTD::declval<_Tp>() : _VSTD::declval<_Up>()
-                                            )>::type>
-{
-  typedef _LIBCPP_NODEBUG_TYPE typename decay<decltype(
-                         true ? _VSTD::declval<_Tp>() : _VSTD::declval<_Up>()
-                         )>::type type;
-};
-
-template <class, class = void>
-struct __common_type_impl {};
-
-// Clang provides variadic templates in C++03 as an extension.
-#if !defined(_LIBCPP_CXX03_LANG) || defined(__clang__)
-# define _LIBCPP_OPTIONAL_PACK(...) , __VA_ARGS__
-template <class... Tp>
-struct __common_types;
-template <class... _Tp>
-struct _LIBCPP_TEMPLATE_VIS common_type;
-#else
-# define _LIBCPP_OPTIONAL_PACK(...)
-struct __no_arg;
-template <class _Tp, class _Up, class = __no_arg>
-struct __common_types;
-template <class _Tp = __no_arg, class _Up = __no_arg, class _Vp = __no_arg,
-          class _Unused = __no_arg>
-struct common_type {
-  static_assert(sizeof(_Unused) == 0,
-                "common_type accepts at most 3 arguments in C++03");
-};
-#endif // _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Up>
-struct __common_type_impl<
-    __common_types<_Tp, _Up>,
-    typename __void_t<typename common_type<_Tp, _Up>::type>::type>
-{
-  typedef typename common_type<_Tp, _Up>::type type;
-};
-
-template <class _Tp, class _Up, class _Vp _LIBCPP_OPTIONAL_PACK(class... _Rest)>
-struct __common_type_impl<
-    __common_types<_Tp, _Up, _Vp _LIBCPP_OPTIONAL_PACK(_Rest...)>,
-    typename __void_t<typename common_type<_Tp, _Up>::type>::type>
-    : __common_type_impl<__common_types<typename common_type<_Tp, _Up>::type,
-                                        _Vp _LIBCPP_OPTIONAL_PACK(_Rest...)> > {
-};
-
-// bullet 1 - sizeof...(Tp) == 0
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS common_type<> {};
-
-// bullet 2 - sizeof...(Tp) == 1
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS common_type<_Tp>
-    : public common_type<_Tp, _Tp> {};
-
-// bullet 3 - sizeof...(Tp) == 2
-
-template <class _Tp, class _Up>
-struct _LIBCPP_TEMPLATE_VIS common_type<_Tp, _Up>
-    : conditional<
-        _IsSame<_Tp, typename decay<_Tp>::type>::value && _IsSame<_Up, typename decay<_Up>::type>::value,
-        __common_type2_imp<_Tp, _Up>,
-        common_type<typename decay<_Tp>::type, typename decay<_Up>::type>
-    >::type
-{};
-
-// bullet 4 - sizeof...(Tp) > 2
-
-template <class _Tp, class _Up, class _Vp _LIBCPP_OPTIONAL_PACK(class... _Rest)>
-struct _LIBCPP_TEMPLATE_VIS
-    common_type<_Tp, _Up, _Vp _LIBCPP_OPTIONAL_PACK(_Rest...)>
-    : __common_type_impl<
-          __common_types<_Tp, _Up, _Vp _LIBCPP_OPTIONAL_PACK(_Rest...)> > {};
-
-#undef _LIBCPP_OPTIONAL_PACK
-
-#if _LIBCPP_STD_VER > 11
-template <class ..._Tp> using common_type_t = typename common_type<_Tp...>::type;
-#endif
-
-// is_assignable
-
-template<typename, typename _Tp> struct __select_2nd { typedef _LIBCPP_NODEBUG_TYPE _Tp type; };
-
-template <class _Tp, class _Arg>
-typename __select_2nd<decltype((_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>())), true_type>::type
-__is_assignable_test(int);
-
-template <class, class>
-false_type __is_assignable_test(...);
-
-
-template <class _Tp, class _Arg, bool = is_void<_Tp>::value || is_void<_Arg>::value>
-struct __is_assignable_imp
-    : public decltype((_VSTD::__is_assignable_test<_Tp, _Arg>(0))) {};
-
-template <class _Tp, class _Arg>
-struct __is_assignable_imp<_Tp, _Arg, true>
-    : public false_type
-{
-};
-
-template <class _Tp, class _Arg>
-struct is_assignable
-    : public __is_assignable_imp<_Tp, _Arg> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp, class _Arg>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_assignable_v
-    = is_assignable<_Tp, _Arg>::value;
-#endif
-
-// is_copy_assignable
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_copy_assignable
-    : public is_assignable<typename add_lvalue_reference<_Tp>::type,
-                  typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_copy_assignable_v
-    = is_copy_assignable<_Tp>::value;
-#endif
-
-// is_move_assignable
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_move_assignable
-    : public is_assignable<typename add_lvalue_reference<_Tp>::type,
-                           typename add_rvalue_reference<_Tp>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_move_assignable_v
-    = is_move_assignable<_Tp>::value;
-#endif
-
-// is_destructible
-
-//  if it's a reference, return true
-//  if it's a function, return false
-//  if it's   void,     return false
-//  if it's an array of unknown bound, return false
-//  Otherwise, return "std::declval<_Up&>().~_Up()" is well-formed
-//    where _Up is remove_all_extents<_Tp>::type
-
-template <class>
-struct __is_destructible_apply { typedef int type; };
-
-template <typename _Tp>
-struct __is_destructor_wellformed {
-    template <typename _Tp1>
-    static char  __test (
-        typename __is_destructible_apply<decltype(_VSTD::declval<_Tp1&>().~_Tp1())>::type
-    );
-
-    template <typename _Tp1>
-    static __two __test (...);
-
-    static const bool value = sizeof(__test<_Tp>(12)) == sizeof(char);
-};
-
-template <class _Tp, bool>
-struct __destructible_imp;
-
-template <class _Tp>
-struct __destructible_imp<_Tp, false>
-   : public _VSTD::integral_constant<bool,
-        __is_destructor_wellformed<typename _VSTD::remove_all_extents<_Tp>::type>::value> {};
-
-template <class _Tp>
-struct __destructible_imp<_Tp, true>
-    : public _VSTD::true_type {};
-
-template <class _Tp, bool>
-struct __destructible_false;
-
-template <class _Tp>
-struct __destructible_false<_Tp, false> : public __destructible_imp<_Tp, _VSTD::is_reference<_Tp>::value> {};
-
-template <class _Tp>
-struct __destructible_false<_Tp, true> : public _VSTD::false_type {};
-
-template <class _Tp>
-struct is_destructible
-    : public __destructible_false<_Tp, _VSTD::is_function<_Tp>::value> {};
-
-template <class _Tp>
-struct is_destructible<_Tp[]>
-    : public _VSTD::false_type {};
-
-template <>
-struct is_destructible<void>
-    : public _VSTD::false_type {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_destructible_v
-    = is_destructible<_Tp>::value;
-#endif
-
-// move
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename remove_reference<_Tp>::type&&
-move(_Tp&& __t) _NOEXCEPT
-{
-    typedef _LIBCPP_NODEBUG_TYPE typename remove_reference<_Tp>::type _Up;
-    return static_cast<_Up&&>(__t);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-_Tp&&
-forward(typename remove_reference<_Tp>::type& __t) _NOEXCEPT
-{
-    return static_cast<_Tp&&>(__t);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-_Tp&&
-forward(typename remove_reference<_Tp>::type&& __t) _NOEXCEPT
-{
-    static_assert(!is_lvalue_reference<_Tp>::value,
-                  "can not forward an rvalue as an lvalue");
-    return static_cast<_Tp&&>(__t);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-typename decay<_Tp>::type
-__decay_copy(_Tp&& __t)
-{
-    return _VSTD::forward<_Tp>(__t);
-}
-
-template <class _MP, bool _IsMemberFunctionPtr, bool _IsMemberObjectPtr>
-struct __member_pointer_traits_imp
-{
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...), true, false>
-{
-    typedef _Class _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...), true, false>
-{
-    typedef _Class _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const, true, false>
-{
-    typedef _Class const _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const, true, false>
-{
-    typedef _Class const _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile, true, false>
-{
-    typedef _Class volatile _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile, true, false>
-{
-    typedef _Class volatile _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile, true, false>
-{
-    typedef _Class const volatile _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile, true, false>
-{
-    typedef _Class const volatile _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-#if __has_feature(cxx_reference_qualified_functions) || defined(_LIBCPP_COMPILER_GCC)
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) &, true, false>
-{
-    typedef _Class& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) &, true, false>
-{
-    typedef _Class& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&, true, false>
-{
-    typedef _Class const& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&, true, false>
-{
-    typedef _Class const& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&, true, false>
-{
-    typedef _Class volatile& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&, true, false>
-{
-    typedef _Class volatile& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&, true, false>
-{
-    typedef _Class const volatile& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&, true, false>
-{
-    typedef _Class const volatile& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) &&, true, false>
-{
-    typedef _Class&& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) &&, true, false>
-{
-    typedef _Class&& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&&, true, false>
-{
-    typedef _Class const&& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&&, true, false>
-{
-    typedef _Class const&& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&&, true, false>
-{
-    typedef _Class volatile&& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&&, true, false>
-{
-    typedef _Class volatile&& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&&, true, false>
-{
-    typedef _Class const volatile&& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param...);
-};
-
-template <class _Rp, class _Class, class ..._Param>
-struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&&, true, false>
-{
-    typedef _Class const volatile&& _ClassType;
-    typedef _Rp _ReturnType;
-    typedef _Rp (_FnType) (_Param..., ...);
-};
-
-#endif  // __has_feature(cxx_reference_qualified_functions) || defined(_LIBCPP_COMPILER_GCC)
-
-
-template <class _Rp, class _Class>
-struct __member_pointer_traits_imp<_Rp _Class::*, false, true>
-{
-    typedef _Class _ClassType;
-    typedef _Rp _ReturnType;
-};
-
-template <class _MP>
-struct __member_pointer_traits
-    : public __member_pointer_traits_imp<typename remove_cv<_MP>::type,
-                    is_member_function_pointer<_MP>::value,
-                    is_member_object_pointer<_MP>::value>
-{
-//     typedef ... _ClassType;
-//     typedef ... _ReturnType;
-//     typedef ... _FnType;
-};
-
-
-template <class _DecayedFp>
-struct __member_pointer_class_type {};
-
-template <class _Ret, class _ClassType>
-struct __member_pointer_class_type<_Ret _ClassType::*> {
-  typedef _ClassType type;
-};
-
-// result_of
-
-template <class _Callable> class result_of;
-
-#ifdef _LIBCPP_HAS_NO_VARIADICS
-
-template <class _Fn, bool, bool>
-class __result_of
-{
-};
-
-template <class _Fn>
-class __result_of<_Fn(), true, false>
-{
-public:
-    typedef decltype(declval<_Fn>()()) type;
-};
-
-template <class _Fn, class _A0>
-class __result_of<_Fn(_A0), true, false>
-{
-public:
-    typedef decltype(declval<_Fn>()(declval<_A0>())) type;
-};
-
-template <class _Fn, class _A0, class _A1>
-class __result_of<_Fn(_A0, _A1), true, false>
-{
-public:
-    typedef decltype(declval<_Fn>()(declval<_A0>(), declval<_A1>())) type;
-};
-
-template <class _Fn, class _A0, class _A1, class _A2>
-class __result_of<_Fn(_A0, _A1, _A2), true, false>
-{
-public:
-    typedef decltype(declval<_Fn>()(declval<_A0>(), declval<_A1>(), declval<_A2>())) type;
-};
-
-template <class _MP, class _Tp, bool _IsMemberFunctionPtr>
-struct __result_of_mp;
-
-// member function pointer
-
-template <class _MP, class _Tp>
-struct __result_of_mp<_MP, _Tp, true>
-    : public __identity<typename __member_pointer_traits<_MP>::_ReturnType>
-{
-};
-
-// member data pointer
-
-template <class _MP, class _Tp, bool>
-struct __result_of_mdp;
-
-template <class _Rp, class _Class, class _Tp>
-struct __result_of_mdp<_Rp _Class::*, _Tp, false>
-{
-    typedef typename __apply_cv<decltype(*_VSTD::declval<_Tp>()), _Rp>::type& type;
-};
-
-template <class _Rp, class _Class, class _Tp>
-struct __result_of_mdp<_Rp _Class::*, _Tp, true>
-{
-    typedef typename __apply_cv<_Tp, _Rp>::type& type;
-};
-
-template <class _Rp, class _Class, class _Tp>
-struct __result_of_mp<_Rp _Class::*, _Tp, false>
-    : public __result_of_mdp<_Rp _Class::*, _Tp,
-            is_base_of<_Class, typename remove_reference<_Tp>::type>::value>
-{
-};
-
-
-
-template <class _Fn, class _Tp>
-class __result_of<_Fn(_Tp), false, true>  // _Fn must be member pointer
-    : public __result_of_mp<typename remove_reference<_Fn>::type,
-                            _Tp,
-                            is_member_function_pointer<typename remove_reference<_Fn>::type>::value>
-{
-};
-
-template <class _Fn, class _Tp, class _A0>
-class __result_of<_Fn(_Tp, _A0), false, true>  // _Fn must be member pointer
-    : public __result_of_mp<typename remove_reference<_Fn>::type,
-                            _Tp,
-                            is_member_function_pointer<typename remove_reference<_Fn>::type>::value>
-{
-};
-
-template <class _Fn, class _Tp, class _A0, class _A1>
-class __result_of<_Fn(_Tp, _A0, _A1), false, true>  // _Fn must be member pointer
-    : public __result_of_mp<typename remove_reference<_Fn>::type,
-                            _Tp,
-                            is_member_function_pointer<typename remove_reference<_Fn>::type>::value>
-{
-};
-
-template <class _Fn, class _Tp, class _A0, class _A1, class _A2>
-class __result_of<_Fn(_Tp, _A0, _A1, _A2), false, true>  // _Fn must be member pointer
-    : public __result_of_mp<typename remove_reference<_Fn>::type,
-                            _Tp,
-                            is_member_function_pointer<typename remove_reference<_Fn>::type>::value>
-{
-};
-
-// result_of
-
-template <class _Fn>
-class _LIBCPP_TEMPLATE_VIS result_of<_Fn()>
-    : public __result_of<_Fn(),
-                         is_class<typename remove_reference<_Fn>::type>::value ||
-                         is_function<typename remove_pointer<typename remove_reference<_Fn>::type>::type>::value,
-                         is_member_pointer<typename remove_reference<_Fn>::type>::value
-                        >
-{
-};
-
-template <class _Fn, class _A0>
-class _LIBCPP_TEMPLATE_VIS result_of<_Fn(_A0)>
-    : public __result_of<_Fn(_A0),
-                         is_class<typename remove_reference<_Fn>::type>::value ||
-                         is_function<typename remove_pointer<typename remove_reference<_Fn>::type>::type>::value,
-                         is_member_pointer<typename remove_reference<_Fn>::type>::value
-                        >
-{
-};
-
-template <class _Fn, class _A0, class _A1>
-class _LIBCPP_TEMPLATE_VIS result_of<_Fn(_A0, _A1)>
-    : public __result_of<_Fn(_A0, _A1),
-                         is_class<typename remove_reference<_Fn>::type>::value ||
-                         is_function<typename remove_pointer<typename remove_reference<_Fn>::type>::type>::value,
-                         is_member_pointer<typename remove_reference<_Fn>::type>::value
-                        >
-{
-};
-
-template <class _Fn, class _A0, class _A1, class _A2>
-class _LIBCPP_TEMPLATE_VIS result_of<_Fn(_A0, _A1, _A2)>
-    : public __result_of<_Fn(_A0, _A1, _A2),
-                         is_class<typename remove_reference<_Fn>::type>::value ||
-                         is_function<typename remove_pointer<typename remove_reference<_Fn>::type>::type>::value,
-                         is_member_pointer<typename remove_reference<_Fn>::type>::value
-                        >
-{
-};
-
-#endif  // _LIBCPP_HAS_NO_VARIADICS
-
-// template <class T, class... Args> struct is_constructible;
-
-namespace __is_construct
-{
-struct __nat {};
-}
-
-#if !defined(_LIBCPP_CXX03_LANG) && (!__has_feature(is_constructible) || \
-    defined(_LIBCPP_TESTING_FALLBACK_IS_CONSTRUCTIBLE))
-
-template <class _Tp, class... _Args>
-struct __libcpp_is_constructible;
-
-template <class _To, class _From>
-struct __is_invalid_base_to_derived_cast {
-  static_assert(is_reference<_To>::value, "Wrong specialization");
-  using _RawFrom = __uncvref_t<_From>;
-  using _RawTo = __uncvref_t<_To>;
-  static const bool value = _And<
-        _IsNotSame<_RawFrom, _RawTo>,
-        is_base_of<_RawFrom, _RawTo>,
-        _Not<__libcpp_is_constructible<_RawTo, _From>>
-  >::value;
-};
-
-template <class _To, class _From>
-struct __is_invalid_lvalue_to_rvalue_cast : false_type {
-  static_assert(is_reference<_To>::value, "Wrong specialization");
-};
-
-template <class _ToRef, class _FromRef>
-struct __is_invalid_lvalue_to_rvalue_cast<_ToRef&&, _FromRef&> {
-  using _RawFrom = __uncvref_t<_FromRef>;
-  using _RawTo = __uncvref_t<_ToRef>;
-  static const bool value = _And<
-      _Not<is_function<_RawTo>>,
-      _Or<
-        _IsSame<_RawFrom, _RawTo>,
-        is_base_of<_RawTo, _RawFrom>>
-    >::value;
-};
-
-struct __is_constructible_helper
-{
-    template <class _To>
-    static void __eat(_To);
-
-    // This overload is needed to work around a Clang bug that disallows
-    // static_cast<T&&>(e) for non-reference-compatible types.
-    // Example: static_cast<int&&>(declval<double>());
-    // NOTE: The static_cast implementation below is required to support
-    //  classes with explicit conversion operators.
-    template <class _To, class _From,
-              class = decltype(__eat<_To>(_VSTD::declval<_From>()))>
-    static true_type __test_cast(int);
-
-    template <class _To, class _From,
-              class = decltype(static_cast<_To>(_VSTD::declval<_From>()))>
-    static integral_constant<bool,
-        !__is_invalid_base_to_derived_cast<_To, _From>::value &&
-        !__is_invalid_lvalue_to_rvalue_cast<_To, _From>::value
-    > __test_cast(long);
-
-    template <class, class>
-    static false_type __test_cast(...);
-
-    template <class _Tp, class ..._Args,
-        class = decltype(_Tp(_VSTD::declval<_Args>()...))>
-    static true_type __test_nary(int);
-    template <class _Tp, class...>
-    static false_type __test_nary(...);
-
-    template <class _Tp, class _A0, class = decltype(::new _Tp(_VSTD::declval<_A0>()))>
-    static is_destructible<_Tp> __test_unary(int);
-    template <class, class>
-    static false_type __test_unary(...);
-};
-
-template <class _Tp, bool = is_void<_Tp>::value>
-struct __is_default_constructible
-    : decltype(__is_constructible_helper::__test_nary<_Tp>(0))
-{};
-
-template <class _Tp>
-struct __is_default_constructible<_Tp, true> : false_type {};
-
-template <class _Tp>
-struct __is_default_constructible<_Tp[], false> : false_type {};
-
-template <class _Tp, size_t _Nx>
-struct __is_default_constructible<_Tp[_Nx], false>
-    : __is_default_constructible<typename remove_all_extents<_Tp>::type>  {};
-
-template <class _Tp, class... _Args>
-struct __libcpp_is_constructible
-{
-  static_assert(sizeof...(_Args) > 1, "Wrong specialization");
-  typedef decltype(__is_constructible_helper::__test_nary<_Tp, _Args...>(0))
-      type;
-};
-
-template <class _Tp>
-struct __libcpp_is_constructible<_Tp> : __is_default_constructible<_Tp> {};
-
-template <class _Tp, class _A0>
-struct __libcpp_is_constructible<_Tp, _A0>
-    : public decltype(__is_constructible_helper::__test_unary<_Tp, _A0>(0))
-{};
-
-template <class _Tp, class _A0>
-struct __libcpp_is_constructible<_Tp&, _A0>
-    : public decltype(__is_constructible_helper::
-    __test_cast<_Tp&, _A0>(0))
-{};
-
-template <class _Tp, class _A0>
-struct __libcpp_is_constructible<_Tp&&, _A0>
-    : public decltype(__is_constructible_helper::
-    __test_cast<_Tp&&, _A0>(0))
-{};
-
-#endif
-
-#if __has_feature(is_constructible)
-template <class _Tp, class ..._Args>
-struct _LIBCPP_TEMPLATE_VIS is_constructible
-    : public integral_constant<bool, __is_constructible(_Tp, _Args...)>
-    {};
-#else
-template <class _Tp, class... _Args>
-struct _LIBCPP_TEMPLATE_VIS is_constructible
-    : public __libcpp_is_constructible<_Tp, _Args...>::type {};
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp, class ..._Args>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_constructible_v
-    = is_constructible<_Tp, _Args...>::value;
-#endif
-
-// is_default_constructible
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_default_constructible
-    : public is_constructible<_Tp>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_default_constructible_v
-    = is_default_constructible<_Tp>::value;
-#endif
-
-// is_copy_constructible
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_copy_constructible
-    : public is_constructible<_Tp,
-                  typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_copy_constructible_v
-    = is_copy_constructible<_Tp>::value;
-#endif
-
-// is_move_constructible
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_move_constructible
-    : public is_constructible<_Tp, typename add_rvalue_reference<_Tp>::type>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_move_constructible_v
-    = is_move_constructible<_Tp>::value;
-#endif
-
-// is_trivially_constructible
-
-#if __has_feature(is_trivially_constructible) || _GNUC_VER >= 501
-
-template <class _Tp, class... _Args>
-struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible
-    : integral_constant<bool, __is_trivially_constructible(_Tp, _Args...)>
-{
-};
-
-#else  // !__has_feature(is_trivially_constructible)
-
-template <class _Tp, class... _Args>
-struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible
-    : false_type
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp>
-#if __has_feature(has_trivial_constructor) || defined(_LIBCPP_COMPILER_GCC)
-    : integral_constant<bool, __has_trivial_constructor(_Tp)>
-#else
-    : integral_constant<bool, is_scalar<_Tp>::value>
-#endif
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp&&>
-    : integral_constant<bool, is_scalar<_Tp>::value>
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, const _Tp&>
-    : integral_constant<bool, is_scalar<_Tp>::value>
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp&>
-    : integral_constant<bool, is_scalar<_Tp>::value>
-{
-};
-
-#endif  // !__has_feature(is_trivially_constructible)
-
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp, class... _Args>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_constructible_v
-    = is_trivially_constructible<_Tp, _Args...>::value;
-#endif
-
-// is_trivially_default_constructible
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_default_constructible
-    : public is_trivially_constructible<_Tp>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_default_constructible_v
-    = is_trivially_default_constructible<_Tp>::value;
-#endif
-
-// is_trivially_copy_constructible
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_copy_constructible
-    : public is_trivially_constructible<_Tp, typename add_lvalue_reference<const _Tp>::type>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_copy_constructible_v
-    = is_trivially_copy_constructible<_Tp>::value;
-#endif
-
-// is_trivially_move_constructible
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_move_constructible
-    : public is_trivially_constructible<_Tp, typename add_rvalue_reference<_Tp>::type>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_move_constructible_v
-    = is_trivially_move_constructible<_Tp>::value;
-#endif
-
-// is_trivially_assignable
-
-#if __has_feature(is_trivially_assignable) || _GNUC_VER >= 501
-
-template <class _Tp, class _Arg>
-struct is_trivially_assignable
-    : integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
-{
-};
-
-#else  // !__has_feature(is_trivially_assignable)
-
-template <class _Tp, class _Arg>
-struct is_trivially_assignable
-    : public false_type {};
-
-template <class _Tp>
-struct is_trivially_assignable<_Tp&, _Tp>
-    : integral_constant<bool, is_scalar<_Tp>::value> {};
-
-template <class _Tp>
-struct is_trivially_assignable<_Tp&, _Tp&>
-    : integral_constant<bool, is_scalar<_Tp>::value> {};
-
-template <class _Tp>
-struct is_trivially_assignable<_Tp&, const _Tp&>
-    : integral_constant<bool, is_scalar<_Tp>::value> {};
-
-template <class _Tp>
-struct is_trivially_assignable<_Tp&, _Tp&&>
-    : integral_constant<bool, is_scalar<_Tp>::value> {};
-
-#endif  // !__has_feature(is_trivially_assignable)
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp, class _Arg>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_assignable_v
-    = is_trivially_assignable<_Tp, _Arg>::value;
-#endif
-
-// is_trivially_copy_assignable
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_copy_assignable
-    : public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
-                  typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_copy_assignable_v
-    = is_trivially_copy_assignable<_Tp>::value;
-#endif
-
-// is_trivially_move_assignable
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_move_assignable
-    : public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
-                                     typename add_rvalue_reference<_Tp>::type>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_move_assignable_v
-    = is_trivially_move_assignable<_Tp>::value;
-#endif
-
-// is_trivially_destructible
-
-#if __has_keyword(__is_trivially_destructible)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_destructible
-    : public integral_constant<bool, __is_trivially_destructible(_Tp)> {};
-
-#elif __has_feature(has_trivial_destructor) || defined(_LIBCPP_COMPILER_GCC)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_destructible
-    : public integral_constant<bool, is_destructible<_Tp>::value && __has_trivial_destructor(_Tp)> {};
-
-#else
-
-template <class _Tp> struct __libcpp_trivial_destructor
-    : public integral_constant<bool, is_scalar<_Tp>::value ||
-                                     is_reference<_Tp>::value> {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_destructible
-    : public __libcpp_trivial_destructor<typename remove_all_extents<_Tp>::type> {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_destructible<_Tp[]>
-    : public false_type {};
-
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_destructible_v
-    = is_trivially_destructible<_Tp>::value;
-#endif
-
-// is_nothrow_constructible
-
-#if __has_keyword(__is_nothrow_constructible)
-
-template <class _Tp, class... _Args>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible
-    : public integral_constant<bool, __is_nothrow_constructible(_Tp, _Args...)> {};
-
-#else
-
-template <bool, bool, class _Tp, class... _Args> struct __libcpp_is_nothrow_constructible;
-
-template <class _Tp, class... _Args>
-struct __libcpp_is_nothrow_constructible</*is constructible*/true, /*is reference*/false, _Tp, _Args...>
-    : public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))>
-{
-};
-
-template <class _Tp>
-void __implicit_conversion_to(_Tp) noexcept { }
-
-template <class _Tp, class _Arg>
-struct __libcpp_is_nothrow_constructible</*is constructible*/true, /*is reference*/true, _Tp, _Arg>
-    : public integral_constant<bool, noexcept(__implicit_conversion_to<_Tp>(declval<_Arg>()))>
-{
-};
-
-template <class _Tp, bool _IsReference, class... _Args>
-struct __libcpp_is_nothrow_constructible</*is constructible*/false, _IsReference, _Tp, _Args...>
-    : public false_type
-{
-};
-
-template <class _Tp, class... _Args>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible
-    : __libcpp_is_nothrow_constructible<is_constructible<_Tp, _Args...>::value, is_reference<_Tp>::value, _Tp, _Args...>
-{
-};
-
-template <class _Tp, size_t _Ns>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp[_Ns]>
-    : __libcpp_is_nothrow_constructible<is_constructible<_Tp>::value, is_reference<_Tp>::value, _Tp>
-{
-};
-
-#endif  // _LIBCPP_HAS_NO_NOEXCEPT
-
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp, class ..._Args>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_nothrow_constructible_v
-    = is_nothrow_constructible<_Tp, _Args...>::value;
-#endif
-
-// is_nothrow_default_constructible
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_nothrow_default_constructible
-    : public is_nothrow_constructible<_Tp>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_nothrow_default_constructible_v
-    = is_nothrow_default_constructible<_Tp>::value;
-#endif
-
-// is_nothrow_copy_constructible
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_nothrow_copy_constructible
-    : public is_nothrow_constructible<_Tp,
-                  typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_nothrow_copy_constructible_v
-    = is_nothrow_copy_constructible<_Tp>::value;
-#endif
-
-// is_nothrow_move_constructible
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_nothrow_move_constructible
-    : public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_nothrow_move_constructible_v
-    = is_nothrow_move_constructible<_Tp>::value;
-#endif
-
-// is_nothrow_assignable
-
-#if __has_keyword(__is_nothrow_assignable)
-
-template <class _Tp, class _Arg>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_assignable
-    : public integral_constant<bool, __is_nothrow_assignable(_Tp, _Arg)> {};
-
-#else
-
-template <bool, class _Tp, class _Arg> struct __libcpp_is_nothrow_assignable;
-
-template <class _Tp, class _Arg>
-struct __libcpp_is_nothrow_assignable<false, _Tp, _Arg>
-    : public false_type
-{
-};
-
-template <class _Tp, class _Arg>
-struct __libcpp_is_nothrow_assignable<true, _Tp, _Arg>
-    : public integral_constant<bool, noexcept(_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>()) >
-{
-};
-
-template <class _Tp, class _Arg>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_assignable
-    : public __libcpp_is_nothrow_assignable<is_assignable<_Tp, _Arg>::value, _Tp, _Arg>
-{
-};
-
-#endif  // _LIBCPP_HAS_NO_NOEXCEPT
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp, class _Arg>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_nothrow_assignable_v
-    = is_nothrow_assignable<_Tp, _Arg>::value;
-#endif
-
-// is_nothrow_copy_assignable
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_nothrow_copy_assignable
-    : public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,
-                  typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_nothrow_copy_assignable_v
-    = is_nothrow_copy_assignable<_Tp>::value;
-#endif
-
-// is_nothrow_move_assignable
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_nothrow_move_assignable
-    : public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,
-                                     typename add_rvalue_reference<_Tp>::type>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_nothrow_move_assignable_v
-    = is_nothrow_move_assignable<_Tp>::value;
-#endif
-
-// is_nothrow_destructible
-
-#if !defined(_LIBCPP_CXX03_LANG)
-
-template <bool, class _Tp> struct __libcpp_is_nothrow_destructible;
-
-template <class _Tp>
-struct __libcpp_is_nothrow_destructible<false, _Tp>
-    : public false_type
-{
-};
-
-template <class _Tp>
-struct __libcpp_is_nothrow_destructible<true, _Tp>
-    : public integral_constant<bool, noexcept(_VSTD::declval<_Tp>().~_Tp()) >
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible
-    : public __libcpp_is_nothrow_destructible<is_destructible<_Tp>::value, _Tp>
-{
-};
-
-template <class _Tp, size_t _Ns>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible<_Tp[_Ns]>
-    : public is_nothrow_destructible<_Tp>
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible<_Tp&>
-    : public true_type
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible<_Tp&&>
-    : public true_type
-{
-};
-
-#else
-
-template <class _Tp> struct __libcpp_nothrow_destructor
-    : public integral_constant<bool, is_scalar<_Tp>::value ||
-                                     is_reference<_Tp>::value> {};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible
-    : public __libcpp_nothrow_destructor<typename remove_all_extents<_Tp>::type> {};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible<_Tp[]>
-    : public false_type {};
-
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_nothrow_destructible_v
-    = is_nothrow_destructible<_Tp>::value;
-#endif
-
-// is_pod
-
-#if __has_feature(is_pod) || defined(_LIBCPP_COMPILER_GCC)
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_pod
-    : public integral_constant<bool, __is_pod(_Tp)> {};
-
-#else
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_pod
-    : public integral_constant<bool, is_trivially_default_constructible<_Tp>::value   &&
-                                     is_trivially_copy_constructible<_Tp>::value      &&
-                                     is_trivially_copy_assignable<_Tp>::value    &&
-                                     is_trivially_destructible<_Tp>::value> {};
-
-#endif
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_pod_v
-    = is_pod<_Tp>::value;
-#endif
-
-// is_literal_type;
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_literal_type
-    : public integral_constant<bool, __is_literal_type(_Tp)>
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_literal_type_v
-    = is_literal_type<_Tp>::value;
-#endif
-
-// is_standard_layout;
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_standard_layout
-#if __has_feature(is_standard_layout) || defined(_LIBCPP_COMPILER_GCC)
-    : public integral_constant<bool, __is_standard_layout(_Tp)>
-#else
-    : integral_constant<bool, is_scalar<typename remove_all_extents<_Tp>::type>::value>
-#endif
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_standard_layout_v
-    = is_standard_layout<_Tp>::value;
-#endif
-
-// is_trivially_copyable;
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivially_copyable
-#if __has_feature(is_trivially_copyable)
-    : public integral_constant<bool, __is_trivially_copyable(_Tp)>
-#elif _GNUC_VER >= 501
-    : public integral_constant<bool, !is_volatile<_Tp>::value && __is_trivially_copyable(_Tp)>
-#else
-    : integral_constant<bool, is_scalar<typename remove_all_extents<_Tp>::type>::value>
-#endif
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivially_copyable_v
-    = is_trivially_copyable<_Tp>::value;
-#endif
-
-// is_trivial;
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS is_trivial
-#if __has_feature(is_trivial) || defined(_LIBCPP_COMPILER_GCC)
-    : public integral_constant<bool, __is_trivial(_Tp)>
-#else
-    : integral_constant<bool, is_trivially_copyable<_Tp>::value &&
-                                 is_trivially_default_constructible<_Tp>::value>
-#endif
-    {};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_trivial_v
-    = is_trivial<_Tp>::value;
-#endif
-
-template <class _Tp> struct __is_reference_wrapper_impl : public false_type {};
-template <class _Tp> struct __is_reference_wrapper_impl<reference_wrapper<_Tp> > : public true_type {};
-template <class _Tp> struct __is_reference_wrapper
-    : public __is_reference_wrapper_impl<typename remove_cv<_Tp>::type> {};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Fp, class _A0,
-         class _DecayFp = typename decay<_Fp>::type,
-         class _DecayA0 = typename decay<_A0>::type,
-         class _ClassT = typename __member_pointer_class_type<_DecayFp>::type>
-using __enable_if_bullet1 = typename enable_if
-    <
-        is_member_function_pointer<_DecayFp>::value
-        && is_base_of<_ClassT, _DecayA0>::value
-    >::type;
-
-template <class _Fp, class _A0,
-         class _DecayFp = typename decay<_Fp>::type,
-         class _DecayA0 = typename decay<_A0>::type>
-using __enable_if_bullet2 = typename enable_if
-    <
-        is_member_function_pointer<_DecayFp>::value
-        && __is_reference_wrapper<_DecayA0>::value
-    >::type;
-
-template <class _Fp, class _A0,
-         class _DecayFp = typename decay<_Fp>::type,
-         class _DecayA0 = typename decay<_A0>::type,
-         class _ClassT = typename __member_pointer_class_type<_DecayFp>::type>
-using __enable_if_bullet3 = typename enable_if
-    <
-        is_member_function_pointer<_DecayFp>::value
-        && !is_base_of<_ClassT, _DecayA0>::value
-        && !__is_reference_wrapper<_DecayA0>::value
-    >::type;
-
-template <class _Fp, class _A0,
-         class _DecayFp = typename decay<_Fp>::type,
-         class _DecayA0 = typename decay<_A0>::type,
-         class _ClassT = typename __member_pointer_class_type<_DecayFp>::type>
-using __enable_if_bullet4 = typename enable_if
-    <
-        is_member_object_pointer<_DecayFp>::value
-        && is_base_of<_ClassT, _DecayA0>::value
-    >::type;
-
-template <class _Fp, class _A0,
-         class _DecayFp = typename decay<_Fp>::type,
-         class _DecayA0 = typename decay<_A0>::type>
-using __enable_if_bullet5 = typename enable_if
-    <
-        is_member_object_pointer<_DecayFp>::value
-        && __is_reference_wrapper<_DecayA0>::value
-    >::type;
-
-template <class _Fp, class _A0,
-         class _DecayFp = typename decay<_Fp>::type,
-         class _DecayA0 = typename decay<_A0>::type,
-         class _ClassT = typename __member_pointer_class_type<_DecayFp>::type>
-using __enable_if_bullet6 = typename enable_if
-    <
-        is_member_object_pointer<_DecayFp>::value
-        && !is_base_of<_ClassT, _DecayA0>::value
-        && !__is_reference_wrapper<_DecayA0>::value
-    >::type;
-
-// __invoke forward declarations
-
-// fall back - none of the bullets
-
-#define _LIBCPP_INVOKE_RETURN(...) \
-    noexcept(noexcept(__VA_ARGS__)) -> decltype(__VA_ARGS__) \
-    { return __VA_ARGS__; }
-
-template <class ..._Args>
-auto __invoke(__any, _Args&& ...__args) -> __nat;
-
-template <class ..._Args>
-auto __invoke_constexpr(__any, _Args&& ...__args) -> __nat;
-
-// bullets 1, 2 and 3
-
-template <class _Fp, class _A0, class ..._Args,
-          class = __enable_if_bullet1<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN((_VSTD::forward<_A0>(__a0).*__f)(_VSTD::forward<_Args>(__args)...))
-
-template <class _Fp, class _A0, class ..._Args,
-          class = __enable_if_bullet1<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR auto
-__invoke_constexpr(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN((_VSTD::forward<_A0>(__a0).*__f)(_VSTD::forward<_Args>(__args)...))
-
-template <class _Fp, class _A0, class ..._Args,
-          class = __enable_if_bullet2<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN((__a0.get().*__f)(_VSTD::forward<_Args>(__args)...))
-
-template <class _Fp, class _A0, class ..._Args,
-          class = __enable_if_bullet2<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR auto
-__invoke_constexpr(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN((__a0.get().*__f)(_VSTD::forward<_Args>(__args)...))
-
-template <class _Fp, class _A0, class ..._Args,
-          class = __enable_if_bullet3<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN(((*_VSTD::forward<_A0>(__a0)).*__f)(_VSTD::forward<_Args>(__args)...))
-
-template <class _Fp, class _A0, class ..._Args,
-          class = __enable_if_bullet3<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR auto
-__invoke_constexpr(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN(((*_VSTD::forward<_A0>(__a0)).*__f)(_VSTD::forward<_Args>(__args)...))
-
-// bullets 4, 5 and 6
-
-template <class _Fp, class _A0,
-          class = __enable_if_bullet4<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__invoke(_Fp&& __f, _A0&& __a0)
-_LIBCPP_INVOKE_RETURN(_VSTD::forward<_A0>(__a0).*__f)
-
-template <class _Fp, class _A0,
-          class = __enable_if_bullet4<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR auto
-__invoke_constexpr(_Fp&& __f, _A0&& __a0)
-_LIBCPP_INVOKE_RETURN(_VSTD::forward<_A0>(__a0).*__f)
-
-template <class _Fp, class _A0,
-          class = __enable_if_bullet5<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__invoke(_Fp&& __f, _A0&& __a0)
-_LIBCPP_INVOKE_RETURN(__a0.get().*__f)
-
-template <class _Fp, class _A0,
-          class = __enable_if_bullet5<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR auto
-__invoke_constexpr(_Fp&& __f, _A0&& __a0)
-_LIBCPP_INVOKE_RETURN(__a0.get().*__f)
-
-template <class _Fp, class _A0,
-          class = __enable_if_bullet6<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__invoke(_Fp&& __f, _A0&& __a0)
-_LIBCPP_INVOKE_RETURN((*_VSTD::forward<_A0>(__a0)).*__f)
-
-template <class _Fp, class _A0,
-          class = __enable_if_bullet6<_Fp, _A0>>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR auto
-__invoke_constexpr(_Fp&& __f, _A0&& __a0)
-_LIBCPP_INVOKE_RETURN((*_VSTD::forward<_A0>(__a0)).*__f)
-
-// bullet 7
-
-template <class _Fp, class ..._Args>
-inline _LIBCPP_INLINE_VISIBILITY
-auto
-__invoke(_Fp&& __f, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN(_VSTD::forward<_Fp>(__f)(_VSTD::forward<_Args>(__args)...))
-
-template <class _Fp, class ..._Args>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR auto
-__invoke_constexpr(_Fp&& __f, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN(_VSTD::forward<_Fp>(__f)(_VSTD::forward<_Args>(__args)...))
-
-#undef _LIBCPP_INVOKE_RETURN
-
-// __invokable
-template <class _Ret, class _Fp, class ..._Args>
-struct __invokable_r
-{
-  template <class _XFp, class ..._XArgs>
-  static auto __try_call(int) -> decltype(
-    _VSTD::__invoke(_VSTD::declval<_XFp>(), _VSTD::declval<_XArgs>()...));
-  template <class _XFp, class ..._XArgs>
-  static __nat __try_call(...);
-
-  // FIXME: Check that _Ret, _Fp, and _Args... are all complete types, cv void,
-  // or incomplete array types as required by the standard.
-  using _Result = decltype(__try_call<_Fp, _Args...>(0));
-
-  using type =
-  typename conditional<
-      _IsNotSame<_Result, __nat>::value,
-      typename conditional<
-          is_void<_Ret>::value,
-          true_type,
-          is_convertible<_Result, _Ret>
-      >::type,
-      false_type
-  >::type;
-  static const bool value = type::value;
-};
-template <class _Fp, class ..._Args>
-using __invokable = __invokable_r<void, _Fp, _Args...>;
-
-template <bool _IsInvokable, bool _IsCVVoid, class _Ret, class _Fp, class ..._Args>
-struct __nothrow_invokable_r_imp {
-  static const bool value = false;
-};
-
-template <class _Ret, class _Fp, class ..._Args>
-struct __nothrow_invokable_r_imp<true, false, _Ret, _Fp, _Args...>
-{
-    typedef __nothrow_invokable_r_imp _ThisT;
-
-    template <class _Tp>
-    static void __test_noexcept(_Tp) noexcept;
-
-    static const bool value = noexcept(_ThisT::__test_noexcept<_Ret>(
-        _VSTD::__invoke(_VSTD::declval<_Fp>(), _VSTD::declval<_Args>()...)));
-};
-
-template <class _Ret, class _Fp, class ..._Args>
-struct __nothrow_invokable_r_imp<true, true, _Ret, _Fp, _Args...>
-{
-    static const bool value = noexcept(
-        _VSTD::__invoke(_VSTD::declval<_Fp>(), _VSTD::declval<_Args>()...));
-};
-
-template <class _Ret, class _Fp, class ..._Args>
-using __nothrow_invokable_r =
-    __nothrow_invokable_r_imp<
-            __invokable_r<_Ret, _Fp, _Args...>::value,
-            is_void<_Ret>::value,
-            _Ret, _Fp, _Args...
-    >;
-
-template <class _Fp, class ..._Args>
-using __nothrow_invokable =
-    __nothrow_invokable_r_imp<
-            __invokable<_Fp, _Args...>::value,
-            true, void, _Fp, _Args...
-    >;
-
-template <class _Fp, class ..._Args>
-struct __invoke_of
-    : public enable_if<
-        __invokable<_Fp, _Args...>::value,
-        typename __invokable_r<void, _Fp, _Args...>::_Result>
-{
-};
-
-// result_of
-
-template <class _Fp, class ..._Args>
-class _LIBCPP_TEMPLATE_VIS result_of<_Fp(_Args...)>
-    : public __invoke_of<_Fp, _Args...>
-{
-};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using result_of_t = typename result_of<_Tp>::type;
-#endif
-
-#if _LIBCPP_STD_VER > 14
-
-// invoke_result
-
-template <class _Fn, class... _Args>
-struct _LIBCPP_TEMPLATE_VIS invoke_result
-    : __invoke_of<_Fn, _Args...>
-{
-};
-
-template <class _Fn, class... _Args>
-using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
-
-// is_invocable
-
-template <class _Fn, class ..._Args>
-struct _LIBCPP_TEMPLATE_VIS is_invocable
-    : integral_constant<bool, __invokable<_Fn, _Args...>::value> {};
-
-template <class _Ret, class _Fn, class ..._Args>
-struct _LIBCPP_TEMPLATE_VIS is_invocable_r
-    : integral_constant<bool, __invokable_r<_Ret, _Fn, _Args...>::value> {};
-
-template <class _Fn, class ..._Args>
-_LIBCPP_INLINE_VAR constexpr bool is_invocable_v
-    = is_invocable<_Fn, _Args...>::value;
-
-template <class _Ret, class _Fn, class ..._Args>
-_LIBCPP_INLINE_VAR constexpr bool is_invocable_r_v
-    = is_invocable_r<_Ret, _Fn, _Args...>::value;
-
-// is_nothrow_invocable
-
-template <class _Fn, class ..._Args>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_invocable
-    : integral_constant<bool, __nothrow_invokable<_Fn, _Args...>::value> {};
-
-template <class _Ret, class _Fn, class ..._Args>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_invocable_r
-    : integral_constant<bool, __nothrow_invokable_r<_Ret, _Fn, _Args...>::value> {};
-
-template <class _Fn, class ..._Args>
-_LIBCPP_INLINE_VAR constexpr bool is_nothrow_invocable_v
-    = is_nothrow_invocable<_Fn, _Args...>::value;
-
-template <class _Ret, class _Fn, class ..._Args>
-_LIBCPP_INLINE_VAR constexpr bool is_nothrow_invocable_r_v
-    = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
-
-#endif // _LIBCPP_STD_VER > 14
-
-#endif  // !defined(_LIBCPP_CXX03_LANG)
-
-template <class _Tp> struct __is_swappable;
-template <class _Tp> struct __is_nothrow_swappable;
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-#ifndef _LIBCPP_CXX03_LANG
-typename enable_if
-<
-    is_move_constructible<_Tp>::value &&
-    is_move_assignable<_Tp>::value
->::type
-#else
-void
-#endif
-_LIBCPP_CONSTEXPR_AFTER_CXX17
-swap(_Tp& __x, _Tp& __y) _NOEXCEPT_(is_nothrow_move_constructible<_Tp>::value &&
-                                    is_nothrow_move_assignable<_Tp>::value)
-{
-    _Tp __t(_VSTD::move(__x));
-    __x = _VSTD::move(__y);
-    __y = _VSTD::move(__t);
-}
-
-template<class _Tp, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-typename enable_if<
-    __is_swappable<_Tp>::value
->::type
-swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) _NOEXCEPT_(__is_nothrow_swappable<_Tp>::value);
-
-template <class _ForwardIterator1, class _ForwardIterator2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-void
-iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
-    //                                  _NOEXCEPT_(_NOEXCEPT_(swap(*__a, *__b)))
-               _NOEXCEPT_(_NOEXCEPT_(swap(*_VSTD::declval<_ForwardIterator1>(),
-                                          *_VSTD::declval<_ForwardIterator2>())))
-{
-    swap(*__a, *__b);
-}
-
-// __swappable
-
-namespace __detail
-{
-// ALL generic swap overloads MUST already have a declaration available at this point.
-
-template <class _Tp, class _Up = _Tp,
-          bool _NotVoid = !is_void<_Tp>::value && !is_void<_Up>::value>
-struct __swappable_with
-{
-    template <class _LHS, class _RHS>
-    static decltype(swap(_VSTD::declval<_LHS>(), _VSTD::declval<_RHS>()))
-    __test_swap(int);
-    template <class, class>
-    static __nat __test_swap(long);
-
-    // Extra parens are needed for the C++03 definition of decltype.
-    typedef decltype((__test_swap<_Tp, _Up>(0))) __swap1;
-    typedef decltype((__test_swap<_Up, _Tp>(0))) __swap2;
-
-    static const bool value = _IsNotSame<__swap1, __nat>::value
-                           && _IsNotSame<__swap2, __nat>::value;
-};
-
-template <class _Tp, class _Up>
-struct __swappable_with<_Tp, _Up,  false> : false_type {};
-
-template <class _Tp, class _Up = _Tp, bool _Swappable = __swappable_with<_Tp, _Up>::value>
-struct __nothrow_swappable_with {
-  static const bool value =
-#ifndef _LIBCPP_HAS_NO_NOEXCEPT
-      noexcept(swap(_VSTD::declval<_Tp>(), _VSTD::declval<_Up>()))
-  &&  noexcept(swap(_VSTD::declval<_Up>(), _VSTD::declval<_Tp>()));
-#else
-      false;
-#endif
-};
-
-template <class _Tp, class _Up>
-struct __nothrow_swappable_with<_Tp, _Up, false> : false_type {};
-
-}  // __detail
-
-template <class _Tp>
-struct __is_swappable
-    : public integral_constant<bool, __detail::__swappable_with<_Tp&>::value>
-{
-};
-
-template <class _Tp>
-struct __is_nothrow_swappable
-    : public integral_constant<bool, __detail::__nothrow_swappable_with<_Tp&>::value>
-{
-};
-
-#if _LIBCPP_STD_VER > 14
-
-template <class _Tp, class _Up>
-struct _LIBCPP_TEMPLATE_VIS is_swappable_with
-    : public integral_constant<bool, __detail::__swappable_with<_Tp, _Up>::value>
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_swappable
-    : public conditional<
-        __is_referenceable<_Tp>::value,
-        is_swappable_with<
-            typename add_lvalue_reference<_Tp>::type,
-            typename add_lvalue_reference<_Tp>::type>,
-        false_type
-    >::type
-{
-};
-
-template <class _Tp, class _Up>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_swappable_with
-    : public integral_constant<bool, __detail::__nothrow_swappable_with<_Tp, _Up>::value>
-{
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS is_nothrow_swappable
-    : public conditional<
-        __is_referenceable<_Tp>::value,
-        is_nothrow_swappable_with<
-            typename add_lvalue_reference<_Tp>::type,
-            typename add_lvalue_reference<_Tp>::type>,
-        false_type
-    >::type
-{
-};
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VAR constexpr bool is_swappable_with_v
-    = is_swappable_with<_Tp, _Up>::value;
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr bool is_swappable_v
-    = is_swappable<_Tp>::value;
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VAR constexpr bool is_nothrow_swappable_with_v
-    = is_nothrow_swappable_with<_Tp, _Up>::value;
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr bool is_nothrow_swappable_v
-    = is_nothrow_swappable<_Tp>::value;
-
-#endif // _LIBCPP_STD_VER > 14
-
-template <class _Tp, bool = is_enum<_Tp>::value> struct __underlying_type_impl;
-
-template <class _Tp>
-struct __underlying_type_impl<_Tp, false> {};
-
-template <class _Tp>
-struct __underlying_type_impl<_Tp, true>
-{
-    typedef __underlying_type(_Tp) type;
-};
-
-template <class _Tp>
-struct underlying_type : __underlying_type_impl<_Tp, is_enum<_Tp>::value> {};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using underlying_type_t = typename underlying_type<_Tp>::type;
-#endif
-
-
-template <class _Tp, bool = is_enum<_Tp>::value>
-struct __sfinae_underlying_type
-{
-    typedef typename underlying_type<_Tp>::type type;
-    typedef decltype(((type)1) + 0) __promoted_type;
-};
-
-template <class _Tp>
-struct __sfinae_underlying_type<_Tp, false> {};
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-int __convert_to_integral(int __val) { return __val; }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-unsigned __convert_to_integral(unsigned __val) { return __val; }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-long __convert_to_integral(long __val) { return __val; }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-unsigned long __convert_to_integral(unsigned long __val) { return __val; }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-long long __convert_to_integral(long long __val) { return __val; }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-unsigned long long __convert_to_integral(unsigned long long __val) {return __val; }
-
-template<typename _Fp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename enable_if<is_floating_point<_Fp>::value, long long>::type
- __convert_to_integral(_Fp __val) { return __val; }
-
-#ifndef _LIBCPP_HAS_NO_INT128
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-__int128_t __convert_to_integral(__int128_t __val) { return __val; }
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-__uint128_t __convert_to_integral(__uint128_t __val) { return __val; }
-#endif
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-typename __sfinae_underlying_type<_Tp>::__promoted_type
-__convert_to_integral(_Tp __val) { return __val; }
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-struct __has_operator_addressof_member_imp
-{
-    template <class _Up>
-        static auto __test(int)
-            -> typename __select_2nd<decltype(_VSTD::declval<_Up>().operator&()), true_type>::type;
-    template <class>
-        static auto __test(long) -> false_type;
-
-    static const bool value = decltype(__test<_Tp>(0))::value;
-};
-
-template <class _Tp>
-struct __has_operator_addressof_free_imp
-{
-    template <class _Up>
-        static auto __test(int)
-            -> typename __select_2nd<decltype(operator&(_VSTD::declval<_Up>())), true_type>::type;
-    template <class>
-        static auto __test(long) -> false_type;
-
-    static const bool value = decltype(__test<_Tp>(0))::value;
-};
-
-template <class _Tp>
-struct __has_operator_addressof
-    : public integral_constant<bool, __has_operator_addressof_member_imp<_Tp>::value
-                                  || __has_operator_addressof_free_imp<_Tp>::value>
-{};
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#if _LIBCPP_STD_VER > 14
-
-template <class...> using void_t = void;
-
-template <class... _Args>
-struct conjunction : _And<_Args...> {};
-template<class... _Args>
-_LIBCPP_INLINE_VAR constexpr bool conjunction_v
-    = conjunction<_Args...>::value;
-
-template <class... _Args>
-struct disjunction : _Or<_Args...> {};
-template<class... _Args>
-_LIBCPP_INLINE_VAR constexpr bool disjunction_v
-    = disjunction<_Args...>::value;
-
-template <class _Tp>
-struct negation : _Not<_Tp> {};
-template<class _Tp>
-_LIBCPP_INLINE_VAR constexpr bool negation_v
-    = negation<_Tp>::value;
-#endif  // _LIBCPP_STD_VER > 14
-
-// These traits are used in __tree and __hash_table
-#ifndef _LIBCPP_CXX03_LANG
-struct __extract_key_fail_tag {};
-struct __extract_key_self_tag {};
-struct __extract_key_first_tag {};
-
-template <class _ValTy, class _Key,
-          class _RawValTy = typename __unconstref<_ValTy>::type>
-struct __can_extract_key
-    : conditional<_IsSame<_RawValTy, _Key>::value, __extract_key_self_tag,
-                  __extract_key_fail_tag>::type {};
-
-template <class _Pair, class _Key, class _First, class _Second>
-struct __can_extract_key<_Pair, _Key, pair<_First, _Second>>
-    : conditional<_IsSame<typename remove_const<_First>::type, _Key>::value,
-                  __extract_key_first_tag, __extract_key_fail_tag>::type {};
-
-// __can_extract_map_key uses true_type/false_type instead of the tags.
-// It returns true if _Key != _ContainerValueTy (the container is a map not a set)
-// and _ValTy == _Key.
-template <class _ValTy, class _Key, class _ContainerValueTy,
-          class _RawValTy = typename __unconstref<_ValTy>::type>
-struct __can_extract_map_key
-    : integral_constant<bool, _IsSame<_RawValTy, _Key>::value> {};
-
-// This specialization returns __extract_key_fail_tag for non-map containers
-// because _Key == _ContainerValueTy
-template <class _ValTy, class _Key, class _RawValTy>
-struct __can_extract_map_key<_ValTy, _Key, _Key, _RawValTy>
-    : false_type {};
-
-#endif
-
-#ifndef _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED
-#if _LIBCPP_STD_VER > 17
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr bool is_constant_evaluated() noexcept {
-  return __builtin_is_constant_evaluated();
-}
-#endif
-
-inline _LIBCPP_CONSTEXPR
-bool __libcpp_is_constant_evaluated() _NOEXCEPT { return __builtin_is_constant_evaluated(); }
-#else
-inline _LIBCPP_CONSTEXPR
-bool __libcpp_is_constant_evaluated() _NOEXCEPT { return false; }
-#endif
-
-template <class _CharT>
-using _IsCharLikeType = _And<is_standard_layout<_CharT>, is_trivial<_CharT> >;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER > 14
-// std::byte
-namespace std  // purposefully not versioned
-{
-template <class _Integer>
-  constexpr typename enable_if<is_integral_v<_Integer>, byte>::type &
-  operator<<=(byte& __lhs, _Integer __shift) noexcept
-  { return __lhs = __lhs << __shift; }
-
-template <class _Integer>
-  constexpr typename enable_if<is_integral_v<_Integer>, byte>::type
-  operator<< (byte  __lhs, _Integer __shift) noexcept
-  { return static_cast<byte>(static_cast<unsigned char>(static_cast<unsigned int>(__lhs) << __shift)); }
-
-template <class _Integer>
-  constexpr typename enable_if<is_integral_v<_Integer>, byte>::type &
-  operator>>=(byte& __lhs, _Integer __shift) noexcept
-  { return __lhs = __lhs >> __shift; }
-
-template <class _Integer>
-  constexpr typename enable_if<is_integral_v<_Integer>, byte>::type
-  operator>> (byte  __lhs, _Integer __shift) noexcept
-  { return static_cast<byte>(static_cast<unsigned char>(static_cast<unsigned int>(__lhs) >> __shift)); }
-
-template <class _Integer>
-  constexpr typename enable_if<is_integral_v<_Integer>, _Integer>::type
-  to_integer(byte __b) noexcept { return static_cast<_Integer>(__b); }
-
-}
-#endif
-
-#endif  // _LIBCPP_TYPE_TRAITS
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/typeinfo b/r21/sources/cxx-stl/llvm-libc++/include/typeinfo
deleted file mode 100644
index 2760176..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/typeinfo
+++ /dev/null
@@ -1,350 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- typeinfo ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef __LIBCPP_TYPEINFO
-#define __LIBCPP_TYPEINFO
-
-/*
-
-    typeinfo synopsis
-
-namespace std {
-
-class type_info
-{
-public:
-    virtual ~type_info();
-
-    bool operator==(const type_info& rhs) const noexcept;
-    bool operator!=(const type_info& rhs) const noexcept;
-
-    bool before(const type_info& rhs) const noexcept;
-    size_t hash_code() const noexcept;
-    const char* name() const noexcept;
-
-    type_info(const type_info& rhs) = delete;
-    type_info& operator=(const type_info& rhs) = delete;
-};
-
-class bad_cast
-    : public exception
-{
-public:
-    bad_cast() noexcept;
-    bad_cast(const bad_cast&) noexcept;
-    bad_cast& operator=(const bad_cast&) noexcept;
-    virtual const char* what() const noexcept;
-};
-
-class bad_typeid
-    : public exception
-{
-public:
-    bad_typeid() noexcept;
-    bad_typeid(const bad_typeid&) noexcept;
-    bad_typeid& operator=(const bad_typeid&) noexcept;
-    virtual const char* what() const noexcept;
-};
-
-}  // std
-
-*/
-
-#include <__config>
-#include <exception>
-#include <cstddef>
-#include <cstdint>
-#ifdef _LIBCPP_NO_EXCEPTIONS
-#include <cstdlib>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#if defined(_LIBCPP_ABI_VCRUNTIME)
-#include <vcruntime_typeinfo.h>
-#else
-
-namespace std  // purposefully not using versioning namespace
-{
-
-
-#if defined(_LIBCPP_ABI_MICROSOFT)
-
-class _LIBCPP_EXCEPTION_ABI type_info
-{
-    type_info& operator=(const type_info&);
-    type_info(const type_info&);
-
-    mutable struct {
-      const char *__undecorated_name;
-      const char __decorated_name[1];
-    } __data;
-
-    int __compare(const type_info &__rhs) const _NOEXCEPT;
-
-public:
-    _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE
-    virtual ~type_info();
-
-    const char *name() const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool before(const type_info& __arg) const _NOEXCEPT {
-      return __compare(__arg) < 0;
-    }
-
-    size_t hash_code() const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const type_info& __arg) const _NOEXCEPT {
-      return __compare(__arg) == 0;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const type_info& __arg) const _NOEXCEPT
-    { return !operator==(__arg); }
-};
-
-#else // !defined(_LIBCPP_ABI_MICROSOFT)
-
-// ========================================================================== //
-//                           Implementations
-// ========================================================================== //
-// ------------------------------------------------------------------------- //
-//                               Unique
-// ------------------------------------------------------------------------- //
-// This implementation of type_info assumes a unique copy of the RTTI for a
-// given type inside a program. This is a valid assumption when abiding to
-// Itanium ABI (http://itanium-cxx-abi.github.io/cxx-abi/abi.html#vtable-components).
-// Under this assumption, we can always compare the addresses of the type names
-// to implement equality-comparison of type_infos instead of having to perform
-// a deep string comparison.
-// -------------------------------------------------------------------------- //
-//                             NonUnique
-// -------------------------------------------------------------------------- //
-// This implementation of type_info does not assume there is always a unique
-// copy of the RTTI for a given type inside a program. For various reasons
-// the linker may have failed to merge every copy of a types RTTI
-// (For example: -Bsymbolic or llvm.org/PR37398). Under this assumption, two
-// type_infos are equal if their addresses are equal or if a deep string
-// comparison is equal.
-// -------------------------------------------------------------------------- //
-//                          NonUniqueARMRTTIBit
-// -------------------------------------------------------------------------- //
-// This implementation of type_info does not assume always a unique copy of
-// the RTTI for a given type inside a program. It packs the pointer to the
-// type name into a uintptr_t and reserves the high bit of that pointer (which
-// is assumed to be free for use under the ABI in use) to represent whether
-// that specific copy of the RTTI can be assumed unique inside the program.
-// To implement equality-comparison of type_infos, we check whether BOTH
-// type_infos are guaranteed unique, and if so, we simply compare the addresses
-// of their type names instead of doing a deep string comparison, which is
-// faster. If at least one of the type_infos can't guarantee uniqueness, we
-// have no choice but to fall back to a deep string comparison.
-//
-// This implementation is specific to ARM64 on Apple platforms.
-//
-// Note that the compiler is the one setting (or unsetting) the high bit of
-// the pointer when it constructs the type_info, depending on whether it can
-// guarantee uniqueness for that specific type_info.
-
-struct __type_info_implementations {
-  struct __string_impl_base {
-    typedef const char* __type_name_t;
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    _LIBCPP_CONSTEXPR static const char* __type_name_to_string(__type_name_t __v) _NOEXCEPT {
-      return __v;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    _LIBCPP_CONSTEXPR static __type_name_t __string_to_type_name(const char* __v) _NOEXCEPT {
-      return __v;
-    }
-  };
-
-  struct __unique_impl : __string_impl_base {
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static size_t __hash(__type_name_t __v) _NOEXCEPT {
-      return reinterpret_cast<size_t>(__v);
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static bool __eq(__type_name_t __lhs, __type_name_t __rhs) _NOEXCEPT {
-      return __lhs == __rhs;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static bool __lt(__type_name_t __lhs, __type_name_t __rhs) _NOEXCEPT {
-      return __lhs < __rhs;
-    }
-  };
-
-  struct __non_unique_impl : __string_impl_base {
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static size_t __hash(__type_name_t __ptr) _NOEXCEPT {
-      size_t __hash = 5381;
-      while (unsigned char __c = static_cast<unsigned char>(*__ptr++))
-        __hash = (__hash * 33) ^ __c;
-      return __hash;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static bool __eq(__type_name_t __lhs, __type_name_t __rhs) _NOEXCEPT {
-      return __lhs == __rhs || __builtin_strcmp(__lhs, __rhs) == 0;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static bool __lt(__type_name_t __lhs, __type_name_t __rhs) _NOEXCEPT {
-      return __builtin_strcmp(__lhs, __rhs) < 0;
-    }
-  };
-
-  struct __non_unique_arm_rtti_bit_impl {
-    typedef uintptr_t __type_name_t;
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static const char* __type_name_to_string(__type_name_t __v) _NOEXCEPT {
-      return reinterpret_cast<const char*>(__v &
-          ~__non_unique_rtti_bit::value);
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static __type_name_t __string_to_type_name(const char* __v) _NOEXCEPT {
-      return reinterpret_cast<__type_name_t>(__v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static size_t __hash(__type_name_t __v) _NOEXCEPT {
-      if (__is_type_name_unique(__v))
-        return reinterpret_cast<size_t>(__v);
-      return __non_unique_impl::__hash(__type_name_to_string(__v));
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static bool __eq(__type_name_t __lhs, __type_name_t __rhs) _NOEXCEPT {
-      if (__lhs == __rhs)
-        return true;
-      if (__is_type_name_unique(__lhs, __rhs))
-        return false;
-      return __builtin_strcmp(__type_name_to_string(__lhs), __type_name_to_string(__rhs)) == 0;
-    }
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
-    static bool __lt(__type_name_t __lhs, __type_name_t __rhs) _NOEXCEPT {
-      if (__is_type_name_unique(__lhs, __rhs))
-        return __lhs < __rhs;
-      return __builtin_strcmp(__type_name_to_string(__lhs), __type_name_to_string(__rhs)) < 0;
-    }
-
-   private:
-    // The unique bit is the top bit. It is expected that __type_name_t is 64 bits when
-    // this implementation is actually used.
-    typedef std::integral_constant<__type_name_t,
-      (1ULL << ((__CHAR_BIT__ * sizeof(__type_name_t)) - 1))> __non_unique_rtti_bit;
-
-    _LIBCPP_INLINE_VISIBILITY
-    static bool __is_type_name_unique(__type_name_t __lhs) _NOEXCEPT {
-      return !(__lhs & __non_unique_rtti_bit::value);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    static bool __is_type_name_unique(__type_name_t __lhs, __type_name_t __rhs) _NOEXCEPT {
-      return !((__lhs & __rhs) & __non_unique_rtti_bit::value);
-    }
-  };
-
-  typedef
-#if defined(__APPLE__) && defined(__LP64__) && !defined(__x86_64__)
-    __non_unique_arm_rtti_bit_impl
-#elif _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT == 0
-    __non_unique_impl
-#elif _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT == 1
-    __unique_impl
-#else
-#   error invalid configuration for _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT
-#endif
-     __impl;
-};
-
-class _LIBCPP_EXCEPTION_ABI type_info
-{
-  type_info& operator=(const type_info&);
-  type_info(const type_info&);
-
- protected:
-    typedef __type_info_implementations::__impl __impl;
-
-    __impl::__type_name_t __type_name;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit type_info(const char* __n)
-      : __type_name(__impl::__string_to_type_name(__n)) {}
-
-public:
-    _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE
-    virtual ~type_info();
-
-    _LIBCPP_INLINE_VISIBILITY
-    const char* name() const _NOEXCEPT
-    {
-      return __impl::__type_name_to_string(__type_name);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool before(const type_info& __arg) const _NOEXCEPT
-    {
-      return __impl::__lt(__type_name, __arg.__type_name);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t hash_code() const _NOEXCEPT
-    {
-      return __impl::__hash(__type_name);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const type_info& __arg) const _NOEXCEPT
-    {
-      return __impl::__eq(__type_name, __arg.__type_name);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const type_info& __arg) const _NOEXCEPT
-    { return !operator==(__arg); }
-};
-#endif // defined(_LIBCPP_ABI_MICROSOFT)
-
-class _LIBCPP_EXCEPTION_ABI bad_cast
-    : public exception
-{
- public:
-  bad_cast() _NOEXCEPT;
-  virtual ~bad_cast() _NOEXCEPT;
-  virtual const char* what() const _NOEXCEPT;
-};
-
-class _LIBCPP_EXCEPTION_ABI bad_typeid
-    : public exception
-{
- public:
-  bad_typeid() _NOEXCEPT;
-  virtual ~bad_typeid() _NOEXCEPT;
-  virtual const char* what() const _NOEXCEPT;
-};
-
-}  // std
-
-#endif // defined(_LIBCPP_ABI_VCRUNTIME)
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-void __throw_bad_cast()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw bad_cast();
-#else
-    _VSTD::abort();
-#endif
-}
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // __LIBCPP_TYPEINFO
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/utility b/r21/sources/cxx-stl/llvm-libc++/include/utility
deleted file mode 100644
index a185818..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/utility
+++ /dev/null
@@ -1,1622 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- utility -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_UTILITY
-#define _LIBCPP_UTILITY
-
-/*
-    utility synopsis
-
-#include <initializer_list>
-
-namespace std
-{
-
-template <class T>
-    void
-    swap(T& a, T& b);
-
-namespace rel_ops
-{
-    template<class T> bool operator!=(const T&, const T&);
-    template<class T> bool operator> (const T&, const T&);
-    template<class T> bool operator<=(const T&, const T&);
-    template<class T> bool operator>=(const T&, const T&);
-}
-
-template<class T>
-void
-swap(T& a, T& b) noexcept(is_nothrow_move_constructible<T>::value &&
-                          is_nothrow_move_assignable<T>::value);
-
-template <class T, size_t N>
-void
-swap(T (&a)[N], T (&b)[N]) noexcept(noexcept(swap(*a, *b)));
-
-template <class T> T&& forward(typename remove_reference<T>::type& t) noexcept;  // constexpr in C++14
-template <class T> T&& forward(typename remove_reference<T>::type&& t) noexcept; // constexpr in C++14
-
-template <class T> typename remove_reference<T>::type&& move(T&&) noexcept;      // constexpr in C++14
-
-template <class T>
-    typename conditional
-    <
-        !is_nothrow_move_constructible<T>::value && is_copy_constructible<T>::value,
-        const T&,
-        T&&
-    >::type
-    move_if_noexcept(T& x) noexcept; // constexpr in C++14
-
-template <class T> constexpr add_const_t<T>& as_const(T& t) noexcept;      // C++17
-template <class T>                      void as_const(const T&&) = delete; // C++17
-
-template <class T> typename add_rvalue_reference<T>::type declval() noexcept;
-
-template <class T1, class T2>
-struct pair
-{
-    typedef T1 first_type;
-    typedef T2 second_type;
-
-    T1 first;
-    T2 second;
-
-    pair(const pair&) = default;
-    pair(pair&&) = default;
-    constexpr pair();
-    explicit(see-below) pair(const T1& x, const T2& y);                          // constexpr in C++14
-    template <class U, class V> explicit(see-below) pair(U&& x, V&& y);          // constexpr in C++14
-    template <class U, class V> explicit(see-below) pair(const pair<U, V>& p);   // constexpr in C++14
-    template <class U, class V> explicit(see-below) pair(pair<U, V>&& p);        // constexpr in C++14
-    template <class... Args1, class... Args2>
-        pair(piecewise_construct_t, tuple<Args1...> first_args,
-             tuple<Args2...> second_args);
-
-    template <class U, class V> pair& operator=(const pair<U, V>& p);
-    pair& operator=(pair&& p) noexcept(is_nothrow_move_assignable<T1>::value &&
-                                       is_nothrow_move_assignable<T2>::value);
-    template <class U, class V> pair& operator=(pair<U, V>&& p);
-
-    void swap(pair& p) noexcept(is_nothrow_swappable_v<T1> &&
-                                is_nothrow_swappable_v<T2>);
-};
-
-template <class T1, class T2> bool operator==(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr in C++14
-template <class T1, class T2> bool operator!=(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr in C++14
-template <class T1, class T2> bool operator< (const pair<T1,T2>&, const pair<T1,T2>&); // constexpr in C++14
-template <class T1, class T2> bool operator> (const pair<T1,T2>&, const pair<T1,T2>&); // constexpr in C++14
-template <class T1, class T2> bool operator>=(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr in C++14
-template <class T1, class T2> bool operator<=(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr in C++14
-
-template <class T1, class T2> pair<V1, V2> make_pair(T1&&, T2&&);   // constexpr in C++14
-template <class T1, class T2>
-void
-swap(pair<T1, T2>& x, pair<T1, T2>& y) noexcept(noexcept(x.swap(y)));
-
-struct piecewise_construct_t { };
-inline constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t();
-
-template <class T> struct tuple_size;
-template <size_t I, class T> struct tuple_element;
-
-template <class T1, class T2> struct tuple_size<pair<T1, T2> >;
-template <class T1, class T2> struct tuple_element<0, pair<T1, T2> >;
-template <class T1, class T2> struct tuple_element<1, pair<T1, T2> >;
-
-template<size_t I, class T1, class T2>
-    typename tuple_element<I, pair<T1, T2> >::type&
-    get(pair<T1, T2>&) noexcept; // constexpr in C++14
-
-template<size_t I, class T1, class T2>
-    const typename tuple_element<I, pair<T1, T2> >::type&
-    get(const pair<T1, T2>&) noexcept; // constexpr in C++14
-
-template<size_t I, class T1, class T2>
-    typename tuple_element<I, pair<T1, T2> >::type&&
-    get(pair<T1, T2>&&) noexcept; // constexpr in C++14
-
-template<size_t I, class T1, class T2>
-    const typename tuple_element<I, pair<T1, T2> >::type&&
-    get(const pair<T1, T2>&&) noexcept; // constexpr in C++14
-
-template<class T1, class T2>
-    constexpr T1& get(pair<T1, T2>&) noexcept; // C++14
-
-template<class T1, class T2>
-    constexpr const T1& get(const pair<T1, T2>&) noexcept; // C++14
-
-template<class T1, class T2>
-    constexpr T1&& get(pair<T1, T2>&&) noexcept; // C++14
-
-template<class T1, class T2>
-    constexpr const T1&& get(const pair<T1, T2>&&) noexcept; // C++14
-
-template<class T1, class T2>
-    constexpr T1& get(pair<T2, T1>&) noexcept; // C++14
-
-template<class T1, class T2>
-    constexpr const T1& get(const pair<T2, T1>&) noexcept; // C++14
-
-template<class T1, class T2>
-    constexpr T1&& get(pair<T2, T1>&&) noexcept; // C++14
-
-template<class T1, class T2>
-    constexpr const T1&& get(const pair<T2, T1>&&) noexcept; // C++14
-
-// C++14
-
-template<class T, T... I>
-struct integer_sequence
-{
-    typedef T value_type;
-
-    static constexpr size_t size() noexcept;
-};
-
-template<size_t... I>
-  using index_sequence = integer_sequence<size_t, I...>;
-
-template<class T, T N>
-  using make_integer_sequence = integer_sequence<T, 0, 1, ..., N-1>;
-template<size_t N>
-  using make_index_sequence = make_integer_sequence<size_t, N>;
-
-template<class... T>
-  using index_sequence_for = make_index_sequence<sizeof...(T)>;
-
-template<class T, class U=T>
-    T exchange(T& obj, U&& new_value);
-
-// 20.2.7, in-place construction // C++17
-struct in_place_t {
-  explicit in_place_t() = default;
-};
-inline constexpr in_place_t in_place{};
-template <class T>
-  struct in_place_type_t {
-    explicit in_place_type_t() = default;
-  };
-template <class T>
-  inline constexpr in_place_type_t<T> in_place_type{};
-template <size_t I>
-  struct in_place_index_t {
-    explicit in_place_index_t() = default;
-  };
-template <size_t I>
-  inline constexpr in_place_index_t<I> in_place_index{};
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__tuple>
-#include <type_traits>
-#include <initializer_list>
-#include <cstddef>
-#include <cstring>
-#include <cstdint>
-#include <version>
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-namespace rel_ops
-{
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const _Tp& __x, const _Tp& __y)
-{
-    return !(__x == __y);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const _Tp& __x, const _Tp& __y)
-{
-    return __y < __x;
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const _Tp& __x, const _Tp& __y)
-{
-    return !(__y < __x);
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const _Tp& __x, const _Tp& __y)
-{
-    return !(__x < __y);
-}
-
-}  // rel_ops
-
-// swap_ranges
-
-
-template <class _ForwardIterator1, class _ForwardIterator2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_ForwardIterator2
-swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2)
-{
-    for(; __first1 != __last1; ++__first1, (void) ++__first2)
-        swap(*__first1, *__first2);
-    return __first2;
-}
-
-// forward declared in <type_traits>
-template<class _Tp, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-typename enable_if<
-    __is_swappable<_Tp>::value
->::type
-swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) _NOEXCEPT_(__is_nothrow_swappable<_Tp>::value)
-{
-    _VSTD::swap_ranges(__a, __a + _Np, __b);
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-#ifndef _LIBCPP_CXX03_LANG
-typename conditional
-<
-    !is_nothrow_move_constructible<_Tp>::value && is_copy_constructible<_Tp>::value,
-    const _Tp&,
-    _Tp&&
->::type
-#else  // _LIBCPP_CXX03_LANG
-const _Tp&
-#endif
-move_if_noexcept(_Tp& __x) _NOEXCEPT
-{
-    return _VSTD::move(__x);
-}
-
-#if _LIBCPP_STD_VER > 14
-template <class _Tp> constexpr add_const_t<_Tp>& as_const(_Tp& __t) noexcept { return __t; }
-template <class _Tp>                        void as_const(const _Tp&&) = delete;
-#endif
-
-struct _LIBCPP_TEMPLATE_VIS piecewise_construct_t { };
-#if defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_LIBRARY)
-extern _LIBCPP_EXPORTED_FROM_ABI const piecewise_construct_t piecewise_construct;// = piecewise_construct_t();
-#else
-/* _LIBCPP_INLINE_VAR */ constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t();
-#endif
-
-#if defined(_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR)
-template <class, class>
-struct __non_trivially_copyable_base {
-  _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY
-  __non_trivially_copyable_base() _NOEXCEPT {}
-  _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
-  __non_trivially_copyable_base(__non_trivially_copyable_base const&) _NOEXCEPT {}
-};
-#endif
-
-template <class _T1, class _T2>
-struct _LIBCPP_TEMPLATE_VIS pair
-#if defined(_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR)
-: private __non_trivially_copyable_base<_T1, _T2>
-#endif
-{
-    typedef _T1 first_type;
-    typedef _T2 second_type;
-
-    _T1 first;
-    _T2 second;
-
-#if !defined(_LIBCPP_CXX03_LANG)
-    pair(pair const&) = default;
-    pair(pair&&) = default;
-#else
-  // Use the implicitly declared copy constructor in C++03
-#endif
-
-#ifdef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    pair() : first(), second() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair(_T1 const& __t1, _T2 const& __t2) : first(__t1), second(__t2) {}
-
-    template <class _U1, class _U2>
-    _LIBCPP_INLINE_VISIBILITY
-    pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair& operator=(pair const& __p) {
-        first = __p.first;
-        second = __p.second;
-        return *this;
-    }
-#else
-    template <bool _Val>
-    using _EnableB _LIBCPP_NODEBUG_TYPE = typename enable_if<_Val, bool>::type;
-
-    struct _CheckArgs {
-      template <class _U1, class _U2>
-      static constexpr bool __enable_default() {
-          return is_default_constructible<_U1>::value
-              && is_default_constructible<_U2>::value;
-      }
-
-      template <class _U1, class _U2>
-      static constexpr bool __enable_explicit() {
-          return is_constructible<first_type, _U1>::value
-              && is_constructible<second_type, _U2>::value
-              && (!is_convertible<_U1, first_type>::value
-                  || !is_convertible<_U2, second_type>::value);
-      }
-
-      template <class _U1, class _U2>
-      static constexpr bool __enable_implicit() {
-          return is_constructible<first_type, _U1>::value
-              && is_constructible<second_type, _U2>::value
-              && is_convertible<_U1, first_type>::value
-              && is_convertible<_U2, second_type>::value;
-      }
-    };
-
-    template <bool _MaybeEnable>
-    using _CheckArgsDep _LIBCPP_NODEBUG_TYPE = typename conditional<
-      _MaybeEnable, _CheckArgs, __check_tuple_constructor_fail>::type;
-
-    struct _CheckTupleLikeConstructor {
-        template <class _Tuple>
-        static constexpr bool __enable_implicit() {
-            return __tuple_convertible<_Tuple, pair>::value;
-        }
-
-        template <class _Tuple>
-        static constexpr bool __enable_explicit() {
-            return __tuple_constructible<_Tuple, pair>::value
-               && !__tuple_convertible<_Tuple, pair>::value;
-        }
-
-        template <class _Tuple>
-        static constexpr bool __enable_assign() {
-            return __tuple_assignable<_Tuple, pair>::value;
-        }
-    };
-
-    template <class _Tuple>
-    using _CheckTLC _LIBCPP_NODEBUG_TYPE = typename conditional<
-        __tuple_like_with_size<_Tuple, 2>::value
-            && !is_same<typename decay<_Tuple>::type, pair>::value,
-        _CheckTupleLikeConstructor,
-        __check_tuple_constructor_fail
-    >::type;
-
-    template<bool _Dummy = true, _EnableB<
-            _CheckArgsDep<_Dummy>::template __enable_default<_T1, _T2>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-    pair() _NOEXCEPT_(is_nothrow_default_constructible<first_type>::value &&
-                      is_nothrow_default_constructible<second_type>::value)
-        : first(), second() {}
-
-    template <bool _Dummy = true, _EnableB<
-             _CheckArgsDep<_Dummy>::template __enable_explicit<_T1 const&, _T2 const&>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    explicit pair(_T1 const& __t1, _T2 const& __t2)
-        _NOEXCEPT_(is_nothrow_copy_constructible<first_type>::value &&
-                   is_nothrow_copy_constructible<second_type>::value)
-        : first(__t1), second(__t2) {}
-
-    template<bool _Dummy = true, _EnableB<
-            _CheckArgsDep<_Dummy>::template __enable_implicit<_T1 const&, _T2 const&>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    pair(_T1 const& __t1, _T2 const& __t2)
-        _NOEXCEPT_(is_nothrow_copy_constructible<first_type>::value &&
-                   is_nothrow_copy_constructible<second_type>::value)
-        : first(__t1), second(__t2) {}
-
-    template<class _U1, class _U2, _EnableB<
-             _CheckArgs::template __enable_explicit<_U1, _U2>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    explicit pair(_U1&& __u1, _U2&& __u2)
-        _NOEXCEPT_((is_nothrow_constructible<first_type, _U1>::value &&
-                    is_nothrow_constructible<second_type, _U2>::value))
-        : first(_VSTD::forward<_U1>(__u1)), second(_VSTD::forward<_U2>(__u2)) {}
-
-    template<class _U1, class _U2, _EnableB<
-            _CheckArgs::template __enable_implicit<_U1, _U2>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    pair(_U1&& __u1, _U2&& __u2)
-        _NOEXCEPT_((is_nothrow_constructible<first_type, _U1>::value &&
-                    is_nothrow_constructible<second_type, _U2>::value))
-        : first(_VSTD::forward<_U1>(__u1)), second(_VSTD::forward<_U2>(__u2)) {}
-
-    template<class _U1, class _U2, _EnableB<
-            _CheckArgs::template __enable_explicit<_U1 const&, _U2 const&>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    explicit pair(pair<_U1, _U2> const& __p)
-        _NOEXCEPT_((is_nothrow_constructible<first_type, _U1 const&>::value &&
-                    is_nothrow_constructible<second_type, _U2 const&>::value))
-        : first(__p.first), second(__p.second) {}
-
-    template<class _U1, class _U2, _EnableB<
-            _CheckArgs::template __enable_implicit<_U1 const&, _U2 const&>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    pair(pair<_U1, _U2> const& __p)
-        _NOEXCEPT_((is_nothrow_constructible<first_type, _U1 const&>::value &&
-                    is_nothrow_constructible<second_type, _U2 const&>::value))
-        : first(__p.first), second(__p.second) {}
-
-    template<class _U1, class _U2, _EnableB<
-            _CheckArgs::template __enable_explicit<_U1, _U2>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    explicit pair(pair<_U1, _U2>&&__p)
-        _NOEXCEPT_((is_nothrow_constructible<first_type, _U1&&>::value &&
-                    is_nothrow_constructible<second_type, _U2&&>::value))
-        : first(_VSTD::forward<_U1>(__p.first)), second(_VSTD::forward<_U2>(__p.second)) {}
-
-    template<class _U1, class _U2, _EnableB<
-            _CheckArgs::template __enable_implicit<_U1, _U2>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    pair(pair<_U1, _U2>&& __p)
-        _NOEXCEPT_((is_nothrow_constructible<first_type, _U1&&>::value &&
-                    is_nothrow_constructible<second_type, _U2&&>::value))
-        : first(_VSTD::forward<_U1>(__p.first)), second(_VSTD::forward<_U2>(__p.second)) {}
-
-    template<class _Tuple, _EnableB<
-            _CheckTLC<_Tuple>::template __enable_explicit<_Tuple>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    explicit pair(_Tuple&& __p)
-        : first(_VSTD::get<0>(_VSTD::forward<_Tuple>(__p))),
-          second(_VSTD::get<1>(_VSTD::forward<_Tuple>(__p))) {}
-
-    template<class _Tuple, _EnableB<
-            _CheckTLC<_Tuple>::template __enable_implicit<_Tuple>()
-    > = false>
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    pair(_Tuple&& __p)
-        : first(_VSTD::get<0>(_VSTD::forward<_Tuple>(__p))),
-          second(_VSTD::get<1>(_VSTD::forward<_Tuple>(__p))) {}
-
-    template <class... _Args1, class... _Args2>
-    _LIBCPP_INLINE_VISIBILITY
-    pair(piecewise_construct_t __pc,
-         tuple<_Args1...> __first_args, tuple<_Args2...> __second_args)
-        _NOEXCEPT_((is_nothrow_constructible<first_type, _Args1...>::value &&
-                    is_nothrow_constructible<second_type, _Args2...>::value))
-        : pair(__pc, __first_args, __second_args,
-                typename __make_tuple_indices<sizeof...(_Args1)>::type(),
-                typename __make_tuple_indices<sizeof...(_Args2) >::type()) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair& operator=(typename conditional<
-                        is_copy_assignable<first_type>::value &&
-                        is_copy_assignable<second_type>::value,
-                    pair, __nat>::type const& __p)
-        _NOEXCEPT_(is_nothrow_copy_assignable<first_type>::value &&
-                   is_nothrow_copy_assignable<second_type>::value)
-    {
-        first = __p.first;
-        second = __p.second;
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair& operator=(typename conditional<
-                        is_move_assignable<first_type>::value &&
-                        is_move_assignable<second_type>::value,
-                    pair, __nat>::type&& __p)
-        _NOEXCEPT_(is_nothrow_move_assignable<first_type>::value &&
-                   is_nothrow_move_assignable<second_type>::value)
-    {
-        first = _VSTD::forward<first_type>(__p.first);
-        second = _VSTD::forward<second_type>(__p.second);
-        return *this;
-    }
-
-    template <class _Tuple, _EnableB<
-            _CheckTLC<_Tuple>::template __enable_assign<_Tuple>()
-     > = false>
-    _LIBCPP_INLINE_VISIBILITY
-    pair& operator=(_Tuple&& __p) {
-        first = _VSTD::get<0>(_VSTD::forward<_Tuple>(__p));
-        second = _VSTD::get<1>(_VSTD::forward<_Tuple>(__p));
-        return *this;
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void
-    swap(pair& __p) _NOEXCEPT_(__is_nothrow_swappable<first_type>::value &&
-                               __is_nothrow_swappable<second_type>::value)
-    {
-        using _VSTD::swap;
-        swap(first,  __p.first);
-        swap(second, __p.second);
-    }
-private:
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
-        _LIBCPP_INLINE_VISIBILITY
-        pair(piecewise_construct_t,
-             tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args,
-             __tuple_indices<_I1...>, __tuple_indices<_I2...>);
-#endif
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _T1, class _T2>
-pair(_T1, _T2) -> pair<_T1, _T2>;
-#endif // _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator==(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
-{
-    return __x.first == __y.first && __x.second == __y.second;
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator!=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator< (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
-{
-    return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second);
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator> (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
-{
-    return __y < __x;
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator>=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-bool
-operator<=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_swappable<_T1>::value &&
-    __is_swappable<_T2>::value,
-    void
->::type
-swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
-                     _NOEXCEPT_((__is_nothrow_swappable<_T1>::value &&
-                                 __is_nothrow_swappable<_T2>::value))
-{
-    __x.swap(__y);
-}
-
-template <class _Tp>
-struct __unwrap_reference { typedef _LIBCPP_NODEBUG_TYPE _Tp type; };
-
-template <class _Tp>
-struct __unwrap_reference<reference_wrapper<_Tp> > { typedef _LIBCPP_NODEBUG_TYPE _Tp& type; };
-
-#if _LIBCPP_STD_VER > 17
-template <class _Tp>
-struct unwrap_reference : __unwrap_reference<_Tp> { };
-
-template <class _Tp>
-struct unwrap_ref_decay : unwrap_reference<typename decay<_Tp>::type> { };
-#endif // > C++17
-
-template <class _Tp>
-struct __unwrap_ref_decay
-#if _LIBCPP_STD_VER > 17
-    : unwrap_ref_decay<_Tp>
-#else
-    : __unwrap_reference<typename decay<_Tp>::type>
-#endif
-{ };
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-pair<typename __unwrap_ref_decay<_T1>::type, typename __unwrap_ref_decay<_T2>::type>
-make_pair(_T1&& __t1, _T2&& __t2)
-{
-    return pair<typename __unwrap_ref_decay<_T1>::type, typename __unwrap_ref_decay<_T2>::type>
-               (_VSTD::forward<_T1>(__t1), _VSTD::forward<_T2>(__t2));
-}
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-pair<_T1,_T2>
-make_pair(_T1 __x, _T2 __y)
-{
-    return pair<_T1, _T2>(__x, __y);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _T1, class _T2>
-  struct _LIBCPP_TEMPLATE_VIS tuple_size<pair<_T1, _T2> >
-    : public integral_constant<size_t, 2> {};
-
-template <size_t _Ip, class _T1, class _T2>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, pair<_T1, _T2> >
-{
-    static_assert(_Ip < 2, "Index out of bounds in std::tuple_element<std::pair<T1, T2>>");
-};
-
-template <class _T1, class _T2>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<0, pair<_T1, _T2> >
-{
-    typedef _LIBCPP_NODEBUG_TYPE _T1 type;
-};
-
-template <class _T1, class _T2>
-struct _LIBCPP_TEMPLATE_VIS tuple_element<1, pair<_T1, _T2> >
-{
-    typedef _LIBCPP_NODEBUG_TYPE _T2 type;
-};
-
-template <size_t _Ip> struct __get_pair;
-
-template <>
-struct __get_pair<0>
-{
-    template <class _T1, class _T2>
-    static
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    _T1&
-    get(pair<_T1, _T2>& __p) _NOEXCEPT {return __p.first;}
-
-    template <class _T1, class _T2>
-    static
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const _T1&
-    get(const pair<_T1, _T2>& __p) _NOEXCEPT {return __p.first;}
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _T1, class _T2>
-    static
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    _T1&&
-    get(pair<_T1, _T2>&& __p) _NOEXCEPT {return _VSTD::forward<_T1>(__p.first);}
-
-    template <class _T1, class _T2>
-    static
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const _T1&&
-    get(const pair<_T1, _T2>&& __p) _NOEXCEPT {return _VSTD::forward<const _T1>(__p.first);}
-#endif  // _LIBCPP_CXX03_LANG
-};
-
-template <>
-struct __get_pair<1>
-{
-    template <class _T1, class _T2>
-    static
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    _T2&
-    get(pair<_T1, _T2>& __p) _NOEXCEPT {return __p.second;}
-
-    template <class _T1, class _T2>
-    static
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const _T2&
-    get(const pair<_T1, _T2>& __p) _NOEXCEPT {return __p.second;}
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _T1, class _T2>
-    static
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    _T2&&
-    get(pair<_T1, _T2>&& __p) _NOEXCEPT {return _VSTD::forward<_T2>(__p.second);}
-
-    template <class _T1, class _T2>
-    static
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const _T2&&
-    get(const pair<_T1, _T2>&& __p) _NOEXCEPT {return _VSTD::forward<const _T2>(__p.second);}
-#endif  // _LIBCPP_CXX03_LANG
-};
-
-template <size_t _Ip, class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename tuple_element<_Ip, pair<_T1, _T2> >::type&
-get(pair<_T1, _T2>& __p) _NOEXCEPT
-{
-    return __get_pair<_Ip>::get(__p);
-}
-
-template <size_t _Ip, class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const typename tuple_element<_Ip, pair<_T1, _T2> >::type&
-get(const pair<_T1, _T2>& __p) _NOEXCEPT
-{
-    return __get_pair<_Ip>::get(__p);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <size_t _Ip, class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-typename tuple_element<_Ip, pair<_T1, _T2> >::type&&
-get(pair<_T1, _T2>&& __p) _NOEXCEPT
-{
-    return __get_pair<_Ip>::get(_VSTD::move(__p));
-}
-
-template <size_t _Ip, class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
-const typename tuple_element<_Ip, pair<_T1, _T2> >::type&&
-get(const pair<_T1, _T2>&& __p) _NOEXCEPT
-{
-    return __get_pair<_Ip>::get(_VSTD::move(__p));
-}
-#endif  // _LIBCPP_CXX03_LANG
-
-#if _LIBCPP_STD_VER > 11
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 & get(pair<_T1, _T2>& __p) _NOEXCEPT
-{
-    return __get_pair<0>::get(__p);
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 const & get(pair<_T1, _T2> const& __p) _NOEXCEPT
-{
-    return __get_pair<0>::get(__p);
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 && get(pair<_T1, _T2>&& __p) _NOEXCEPT
-{
-    return __get_pair<0>::get(_VSTD::move(__p));
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 const && get(pair<_T1, _T2> const&& __p) _NOEXCEPT
-{
-    return __get_pair<0>::get(_VSTD::move(__p));
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 & get(pair<_T2, _T1>& __p) _NOEXCEPT
-{
-    return __get_pair<1>::get(__p);
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 const & get(pair<_T2, _T1> const& __p) _NOEXCEPT
-{
-    return __get_pair<1>::get(__p);
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 && get(pair<_T2, _T1>&& __p) _NOEXCEPT
-{
-    return __get_pair<1>::get(_VSTD::move(__p));
-}
-
-template <class _T1, class _T2>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _T1 const && get(pair<_T2, _T1> const&& __p) _NOEXCEPT
-{
-    return __get_pair<1>::get(_VSTD::move(__p));
-}
-
-#endif
-
-#if _LIBCPP_STD_VER > 11
-
-template<class _Tp, _Tp... _Ip>
-struct _LIBCPP_TEMPLATE_VIS integer_sequence
-{
-    typedef _Tp value_type;
-    static_assert( is_integral<_Tp>::value,
-                  "std::integer_sequence can only be instantiated with an integral type" );
-    static
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr
-    size_t
-    size() noexcept { return sizeof...(_Ip); }
-};
-
-template<size_t... _Ip>
-    using index_sequence = integer_sequence<size_t, _Ip...>;
-
-#if __has_builtin(__make_integer_seq) && !defined(_LIBCPP_TESTING_FALLBACK_MAKE_INTEGER_SEQUENCE)
-
-template <class _Tp, _Tp _Ep>
-using __make_integer_sequence _LIBCPP_NODEBUG_TYPE = __make_integer_seq<integer_sequence, _Tp, _Ep>;
-
-#else
-
-template<typename _Tp, _Tp _Np> using __make_integer_sequence_unchecked _LIBCPP_NODEBUG_TYPE  =
-  typename __detail::__make<_Np>::type::template __convert<integer_sequence, _Tp>;
-
-template <class _Tp, _Tp _Ep>
-struct __make_integer_sequence_checked
-{
-    static_assert(is_integral<_Tp>::value,
-                  "std::make_integer_sequence can only be instantiated with an integral type" );
-    static_assert(0 <= _Ep, "std::make_integer_sequence must have a non-negative sequence length");
-    // Workaround GCC bug by preventing bad installations when 0 <= _Ep
-    // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68929
-    typedef _LIBCPP_NODEBUG_TYPE  __make_integer_sequence_unchecked<_Tp, 0 <= _Ep ? _Ep : 0> type;
-};
-
-template <class _Tp, _Tp _Ep>
-using __make_integer_sequence _LIBCPP_NODEBUG_TYPE = typename __make_integer_sequence_checked<_Tp, _Ep>::type;
-
-#endif
-
-template<class _Tp, _Tp _Np>
-    using make_integer_sequence = __make_integer_sequence<_Tp, _Np>;
-
-template<size_t _Np>
-    using make_index_sequence = make_integer_sequence<size_t, _Np>;
-
-template<class... _Tp>
-    using index_sequence_for = make_index_sequence<sizeof...(_Tp)>;
-
-#endif  // _LIBCPP_STD_VER > 11
-
-#if _LIBCPP_STD_VER > 11
-template<class _T1, class _T2 = _T1>
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
-_T1 exchange(_T1& __obj, _T2 && __new_value)
-{
-    _T1 __old_value = _VSTD::move(__obj);
-    __obj = _VSTD::forward<_T2>(__new_value);
-    return __old_value;
-}
-#endif  // _LIBCPP_STD_VER > 11
-
-#if _LIBCPP_STD_VER > 14
-
-struct _LIBCPP_TYPE_VIS in_place_t {
-    explicit in_place_t() = default;
-};
-_LIBCPP_INLINE_VAR constexpr in_place_t in_place{};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS in_place_type_t {
-    explicit in_place_type_t() = default;
-};
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr in_place_type_t<_Tp> in_place_type{};
-
-template <size_t _Idx>
-struct _LIBCPP_TYPE_VIS in_place_index_t {
-    explicit in_place_index_t() = default;
-};
-template <size_t _Idx>
-_LIBCPP_INLINE_VAR constexpr in_place_index_t<_Idx> in_place_index{};
-
-template <class _Tp> struct __is_inplace_type_imp : false_type {};
-template <class _Tp> struct __is_inplace_type_imp<in_place_type_t<_Tp>> : true_type {};
-
-template <class _Tp>
-using __is_inplace_type = __is_inplace_type_imp<__uncvref_t<_Tp>>;
-
-template <class _Tp> struct __is_inplace_index_imp : false_type {};
-template <size_t _Idx> struct __is_inplace_index_imp<in_place_index_t<_Idx>> : true_type {};
-
-template <class _Tp>
-using __is_inplace_index = __is_inplace_index_imp<__uncvref_t<_Tp>>;
-
-#endif // _LIBCPP_STD_VER > 14
-
-template <class _Arg, class _Result>
-struct _LIBCPP_TEMPLATE_VIS unary_function
-{
-    typedef _Arg    argument_type;
-    typedef _Result result_type;
-};
-
-template <class _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-_Size
-__loadword(const void* __p)
-{
-    _Size __r;
-    std::memcpy(&__r, __p, sizeof(__r));
-    return __r;
-}
-
-// We use murmur2 when size_t is 32 bits, and cityhash64 when size_t
-// is 64 bits.  This is because cityhash64 uses 64bit x 64bit
-// multiplication, which can be very slow on 32-bit systems.
-template <class _Size, size_t = sizeof(_Size)*__CHAR_BIT__>
-struct __murmur2_or_cityhash;
-
-template <class _Size>
-struct __murmur2_or_cityhash<_Size, 32>
-{
-    inline _Size operator()(const void* __key, _Size __len)
-         _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK;
-};
-
-// murmur2
-template <class _Size>
-_Size
-__murmur2_or_cityhash<_Size, 32>::operator()(const void* __key, _Size __len)
-{
-    const _Size __m = 0x5bd1e995;
-    const _Size __r = 24;
-    _Size __h = __len;
-    const unsigned char* __data = static_cast<const unsigned char*>(__key);
-    for (; __len >= 4; __data += 4, __len -= 4)
-    {
-        _Size __k = __loadword<_Size>(__data);
-        __k *= __m;
-        __k ^= __k >> __r;
-        __k *= __m;
-        __h *= __m;
-        __h ^= __k;
-    }
-    switch (__len)
-    {
-    case 3:
-        __h ^= __data[2] << 16;
-        _LIBCPP_FALLTHROUGH();
-    case 2:
-        __h ^= __data[1] << 8;
-        _LIBCPP_FALLTHROUGH();
-    case 1:
-        __h ^= __data[0];
-        __h *= __m;
-    }
-    __h ^= __h >> 13;
-    __h *= __m;
-    __h ^= __h >> 15;
-    return __h;
-}
-
-template <class _Size>
-struct __murmur2_or_cityhash<_Size, 64>
-{
-    inline _Size operator()(const void* __key, _Size __len)  _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK;
-
- private:
-  // Some primes between 2^63 and 2^64.
-  static const _Size __k0 = 0xc3a5c85c97cb3127ULL;
-  static const _Size __k1 = 0xb492b66fbe98f273ULL;
-  static const _Size __k2 = 0x9ae16a3b2f90404fULL;
-  static const _Size __k3 = 0xc949d7c7509e6557ULL;
-
-  static _Size __rotate(_Size __val, int __shift) {
-    return __shift == 0 ? __val : ((__val >> __shift) | (__val << (64 - __shift)));
-  }
-
-  static _Size __rotate_by_at_least_1(_Size __val, int __shift) {
-    return (__val >> __shift) | (__val << (64 - __shift));
-  }
-
-  static _Size __shift_mix(_Size __val) {
-    return __val ^ (__val >> 47);
-  }
-
-  static _Size __hash_len_16(_Size __u, _Size __v)
-     _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-  {
-    const _Size __mul = 0x9ddfea08eb382d69ULL;
-    _Size __a = (__u ^ __v) * __mul;
-    __a ^= (__a >> 47);
-    _Size __b = (__v ^ __a) * __mul;
-    __b ^= (__b >> 47);
-    __b *= __mul;
-    return __b;
-  }
-
-  static _Size __hash_len_0_to_16(const char* __s, _Size __len)
-     _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-  {
-    if (__len > 8) {
-      const _Size __a = __loadword<_Size>(__s);
-      const _Size __b = __loadword<_Size>(__s + __len - 8);
-      return __hash_len_16(__a, __rotate_by_at_least_1(__b + __len, __len)) ^ __b;
-    }
-    if (__len >= 4) {
-      const uint32_t __a = __loadword<uint32_t>(__s);
-      const uint32_t __b = __loadword<uint32_t>(__s + __len - 4);
-      return __hash_len_16(__len + (__a << 3), __b);
-    }
-    if (__len > 0) {
-      const unsigned char __a = __s[0];
-      const unsigned char __b = __s[__len >> 1];
-      const unsigned char __c = __s[__len - 1];
-      const uint32_t __y = static_cast<uint32_t>(__a) +
-                           (static_cast<uint32_t>(__b) << 8);
-      const uint32_t __z = __len + (static_cast<uint32_t>(__c) << 2);
-      return __shift_mix(__y * __k2 ^ __z * __k3) * __k2;
-    }
-    return __k2;
-  }
-
-  static _Size __hash_len_17_to_32(const char *__s, _Size __len)
-     _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-  {
-    const _Size __a = __loadword<_Size>(__s) * __k1;
-    const _Size __b = __loadword<_Size>(__s + 8);
-    const _Size __c = __loadword<_Size>(__s + __len - 8) * __k2;
-    const _Size __d = __loadword<_Size>(__s + __len - 16) * __k0;
-    return __hash_len_16(__rotate(__a - __b, 43) + __rotate(__c, 30) + __d,
-                         __a + __rotate(__b ^ __k3, 20) - __c + __len);
-  }
-
-  // Return a 16-byte hash for 48 bytes.  Quick and dirty.
-  // Callers do best to use "random-looking" values for a and b.
-  static pair<_Size, _Size> __weak_hash_len_32_with_seeds(
-      _Size __w, _Size __x, _Size __y, _Size __z, _Size __a, _Size __b)
-        _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-  {
-    __a += __w;
-    __b = __rotate(__b + __a + __z, 21);
-    const _Size __c = __a;
-    __a += __x;
-    __a += __y;
-    __b += __rotate(__a, 44);
-    return pair<_Size, _Size>(__a + __z, __b + __c);
-  }
-
-  // Return a 16-byte hash for s[0] ... s[31], a, and b.  Quick and dirty.
-  static pair<_Size, _Size> __weak_hash_len_32_with_seeds(
-      const char* __s, _Size __a, _Size __b)
-    _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-  {
-    return __weak_hash_len_32_with_seeds(__loadword<_Size>(__s),
-                                         __loadword<_Size>(__s + 8),
-                                         __loadword<_Size>(__s + 16),
-                                         __loadword<_Size>(__s + 24),
-                                         __a,
-                                         __b);
-  }
-
-  // Return an 8-byte hash for 33 to 64 bytes.
-  static _Size __hash_len_33_to_64(const char *__s, size_t __len)
-    _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
-  {
-    _Size __z = __loadword<_Size>(__s + 24);
-    _Size __a = __loadword<_Size>(__s) +
-                (__len + __loadword<_Size>(__s + __len - 16)) * __k0;
-    _Size __b = __rotate(__a + __z, 52);
-    _Size __c = __rotate(__a, 37);
-    __a += __loadword<_Size>(__s + 8);
-    __c += __rotate(__a, 7);
-    __a += __loadword<_Size>(__s + 16);
-    _Size __vf = __a + __z;
-    _Size __vs = __b + __rotate(__a, 31) + __c;
-    __a = __loadword<_Size>(__s + 16) + __loadword<_Size>(__s + __len - 32);
-    __z += __loadword<_Size>(__s + __len - 8);
-    __b = __rotate(__a + __z, 52);
-    __c = __rotate(__a, 37);
-    __a += __loadword<_Size>(__s + __len - 24);
-    __c += __rotate(__a, 7);
-    __a += __loadword<_Size>(__s + __len - 16);
-    _Size __wf = __a + __z;
-    _Size __ws = __b + __rotate(__a, 31) + __c;
-    _Size __r = __shift_mix((__vf + __ws) * __k2 + (__wf + __vs) * __k0);
-    return __shift_mix(__r * __k0 + __vs) * __k2;
-  }
-};
-
-// cityhash64
-template <class _Size>
-_Size
-__murmur2_or_cityhash<_Size, 64>::operator()(const void* __key, _Size __len)
-{
-  const char* __s = static_cast<const char*>(__key);
-  if (__len <= 32) {
-    if (__len <= 16) {
-      return __hash_len_0_to_16(__s, __len);
-    } else {
-      return __hash_len_17_to_32(__s, __len);
-    }
-  } else if (__len <= 64) {
-    return __hash_len_33_to_64(__s, __len);
-  }
-
-  // For strings over 64 bytes we hash the end first, and then as we
-  // loop we keep 56 bytes of state: v, w, x, y, and z.
-  _Size __x = __loadword<_Size>(__s + __len - 40);
-  _Size __y = __loadword<_Size>(__s + __len - 16) +
-              __loadword<_Size>(__s + __len - 56);
-  _Size __z = __hash_len_16(__loadword<_Size>(__s + __len - 48) + __len,
-                          __loadword<_Size>(__s + __len - 24));
-  pair<_Size, _Size> __v = __weak_hash_len_32_with_seeds(__s + __len - 64, __len, __z);
-  pair<_Size, _Size> __w = __weak_hash_len_32_with_seeds(__s + __len - 32, __y + __k1, __x);
-  __x = __x * __k1 + __loadword<_Size>(__s);
-
-  // Decrease len to the nearest multiple of 64, and operate on 64-byte chunks.
-  __len = (__len - 1) & ~static_cast<_Size>(63);
-  do {
-    __x = __rotate(__x + __y + __v.first + __loadword<_Size>(__s + 8), 37) * __k1;
-    __y = __rotate(__y + __v.second + __loadword<_Size>(__s + 48), 42) * __k1;
-    __x ^= __w.second;
-    __y += __v.first + __loadword<_Size>(__s + 40);
-    __z = __rotate(__z + __w.first, 33) * __k1;
-    __v = __weak_hash_len_32_with_seeds(__s, __v.second * __k1, __x + __w.first);
-    __w = __weak_hash_len_32_with_seeds(__s + 32, __z + __w.second,
-                                        __y + __loadword<_Size>(__s + 16));
-    std::swap(__z, __x);
-    __s += 64;
-    __len -= 64;
-  } while (__len != 0);
-  return __hash_len_16(
-      __hash_len_16(__v.first, __w.first) + __shift_mix(__y) * __k1 + __z,
-      __hash_len_16(__v.second, __w.second) + __x);
-}
-
-template <class _Tp, size_t = sizeof(_Tp) / sizeof(size_t)>
-struct __scalar_hash;
-
-template <class _Tp>
-struct __scalar_hash<_Tp, 0>
-    : public unary_function<_Tp, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(_Tp __v) const _NOEXCEPT
-    {
-        union
-        {
-            _Tp    __t;
-            size_t __a;
-        } __u;
-        __u.__a = 0;
-        __u.__t = __v;
-        return __u.__a;
-    }
-};
-
-template <class _Tp>
-struct __scalar_hash<_Tp, 1>
-    : public unary_function<_Tp, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(_Tp __v) const _NOEXCEPT
-    {
-        union
-        {
-            _Tp    __t;
-            size_t __a;
-        } __u;
-        __u.__t = __v;
-        return __u.__a;
-    }
-};
-
-template <class _Tp>
-struct __scalar_hash<_Tp, 2>
-    : public unary_function<_Tp, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(_Tp __v) const _NOEXCEPT
-    {
-        union
-        {
-            _Tp __t;
-            struct
-            {
-                size_t __a;
-                size_t __b;
-            } __s;
-        } __u;
-        __u.__t = __v;
-        return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u));
-    }
-};
-
-template <class _Tp>
-struct __scalar_hash<_Tp, 3>
-    : public unary_function<_Tp, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(_Tp __v) const _NOEXCEPT
-    {
-        union
-        {
-            _Tp __t;
-            struct
-            {
-                size_t __a;
-                size_t __b;
-                size_t __c;
-            } __s;
-        } __u;
-        __u.__t = __v;
-        return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u));
-    }
-};
-
-template <class _Tp>
-struct __scalar_hash<_Tp, 4>
-    : public unary_function<_Tp, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(_Tp __v) const _NOEXCEPT
-    {
-        union
-        {
-            _Tp __t;
-            struct
-            {
-                size_t __a;
-                size_t __b;
-                size_t __c;
-                size_t __d;
-            } __s;
-        } __u;
-        __u.__t = __v;
-        return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u));
-    }
-};
-
-struct _PairT {
-  size_t first;
-  size_t second;
-};
-
-_LIBCPP_INLINE_VISIBILITY
-inline size_t __hash_combine(size_t __lhs, size_t __rhs) _NOEXCEPT {
-    typedef __scalar_hash<_PairT> _HashT;
-    const _PairT __p = {__lhs, __rhs};
-    return _HashT()(__p);
-}
-
-template<class _Tp>
-struct _LIBCPP_TEMPLATE_VIS hash<_Tp*>
-    : public unary_function<_Tp*, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(_Tp* __v) const _NOEXCEPT
-    {
-        union
-        {
-            _Tp* __t;
-            size_t __a;
-        } __u;
-        __u.__t = __v;
-        return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u));
-    }
-};
-
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<bool>
-    : public unary_function<bool, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(bool __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<char>
-    : public unary_function<char, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(char __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<signed char>
-    : public unary_function<signed char, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(signed char __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<unsigned char>
-    : public unary_function<unsigned char, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(unsigned char __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<char16_t>
-    : public unary_function<char16_t, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(char16_t __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<char32_t>
-    : public unary_function<char32_t, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(char32_t __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-#endif  // _LIBCPP_HAS_NO_UNICODE_CHARS
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<wchar_t>
-    : public unary_function<wchar_t, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(wchar_t __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<short>
-    : public unary_function<short, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(short __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<unsigned short>
-    : public unary_function<unsigned short, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(unsigned short __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<int>
-    : public unary_function<int, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(int __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<unsigned int>
-    : public unary_function<unsigned int, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(unsigned int __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<long>
-    : public unary_function<long, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(long __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<unsigned long>
-    : public unary_function<unsigned long, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(unsigned long __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<long long>
-    : public __scalar_hash<long long>
-{
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<unsigned long long>
-    : public __scalar_hash<unsigned long long>
-{
-};
-
-#ifndef _LIBCPP_HAS_NO_INT128
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<__int128_t>
-    : public __scalar_hash<__int128_t>
-{
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<__uint128_t>
-    : public __scalar_hash<__uint128_t>
-{
-};
-
-#endif
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<float>
-    : public __scalar_hash<float>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(float __v) const _NOEXCEPT
-    {
-        // -0.0 and 0.0 should return same hash
-       if (__v == 0.0f)
-           return 0;
-        return __scalar_hash<float>::operator()(__v);
-    }
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<double>
-    : public __scalar_hash<double>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(double __v) const _NOEXCEPT
-    {
-        // -0.0 and 0.0 should return same hash
-       if (__v == 0.0)
-           return 0;
-        return __scalar_hash<double>::operator()(__v);
-    }
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<long double>
-    : public __scalar_hash<long double>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(long double __v) const _NOEXCEPT
-    {
-        // -0.0 and 0.0 should return same hash
-        if (__v == 0.0L)
-            return 0;
-#if defined(__i386__)
-        // Zero out padding bits
-        union
-        {
-            long double __t;
-            struct
-            {
-                size_t __a;
-                size_t __b;
-                size_t __c;
-                size_t __d;
-            } __s;
-        } __u;
-        __u.__s.__a = 0;
-        __u.__s.__b = 0;
-        __u.__s.__c = 0;
-        __u.__s.__d = 0;
-        __u.__t = __v;
-        return __u.__s.__a ^ __u.__s.__b ^ __u.__s.__c ^ __u.__s.__d;
-#elif defined(__x86_64__)
-        // Zero out padding bits
-        union
-        {
-            long double __t;
-            struct
-            {
-                size_t __a;
-                size_t __b;
-            } __s;
-        } __u;
-        __u.__s.__a = 0;
-        __u.__s.__b = 0;
-        __u.__t = __v;
-        return __u.__s.__a ^ __u.__s.__b;
-#else
-        return __scalar_hash<long double>::operator()(__v);
-#endif
-    }
-};
-
-#if _LIBCPP_STD_VER > 11
-
-template <class _Tp, bool = is_enum<_Tp>::value>
-struct _LIBCPP_TEMPLATE_VIS __enum_hash
-    : public unary_function<_Tp, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(_Tp __v) const _NOEXCEPT
-    {
-        typedef typename underlying_type<_Tp>::type type;
-        return hash<type>{}(static_cast<type>(__v));
-    }
-};
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS __enum_hash<_Tp, false> {
-    __enum_hash() = delete;
-    __enum_hash(__enum_hash const&) = delete;
-    __enum_hash& operator=(__enum_hash const&) = delete;
-};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS hash : public __enum_hash<_Tp>
-{
-};
-#endif
-
-#if _LIBCPP_STD_VER > 14
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<nullptr_t>
-  : public unary_function<nullptr_t, size_t>
-{
-  _LIBCPP_INLINE_VISIBILITY
-  size_t operator()(nullptr_t) const _NOEXCEPT {
-    return 662607004ull;
-  }
-};
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Key, class _Hash>
-using __check_hash_requirements _LIBCPP_NODEBUG_TYPE  = integral_constant<bool,
-    is_copy_constructible<_Hash>::value &&
-    is_move_constructible<_Hash>::value &&
-    __invokable_r<size_t, _Hash, _Key const&>::value
->;
-
-template <class _Key, class _Hash = std::hash<_Key> >
-using __has_enabled_hash _LIBCPP_NODEBUG_TYPE = integral_constant<bool,
-    __check_hash_requirements<_Key, _Hash>::value &&
-    is_default_constructible<_Hash>::value
->;
-
-#if _LIBCPP_STD_VER > 14
-template <class _Type, class>
-using __enable_hash_helper_imp _LIBCPP_NODEBUG_TYPE  = _Type;
-
-template <class _Type, class ..._Keys>
-using __enable_hash_helper _LIBCPP_NODEBUG_TYPE  = __enable_hash_helper_imp<_Type,
-  typename enable_if<__all<__has_enabled_hash<_Keys>::value...>::value>::type
->;
-#else
-template <class _Type, class ...>
-using __enable_hash_helper _LIBCPP_NODEBUG_TYPE = _Type;
-#endif
-
-#endif // !_LIBCPP_CXX03_LANG
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_UTILITY
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/valarray b/r21/sources/cxx-stl/llvm-libc++/include/valarray
deleted file mode 100644
index 8f6221a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/valarray
+++ /dev/null
@@ -1,4942 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- valarray ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_VALARRAY
-#define _LIBCPP_VALARRAY
-
-/*
-    valarray synopsis
-
-namespace std
-{
-
-template<class T>
-class valarray
-{
-public:
-    typedef T value_type;
-
-    // construct/destroy:
-    valarray();
-    explicit valarray(size_t n);
-    valarray(const value_type& x, size_t n);
-    valarray(const value_type* px, size_t n);
-    valarray(const valarray& v);
-    valarray(valarray&& v) noexcept;
-    valarray(const slice_array<value_type>& sa);
-    valarray(const gslice_array<value_type>& ga);
-    valarray(const mask_array<value_type>& ma);
-    valarray(const indirect_array<value_type>& ia);
-    valarray(initializer_list<value_type> il);
-    ~valarray();
-
-    // assignment:
-    valarray& operator=(const valarray& v);
-    valarray& operator=(valarray&& v) noexcept;
-    valarray& operator=(initializer_list<value_type> il);
-    valarray& operator=(const value_type& x);
-    valarray& operator=(const slice_array<value_type>& sa);
-    valarray& operator=(const gslice_array<value_type>& ga);
-    valarray& operator=(const mask_array<value_type>& ma);
-    valarray& operator=(const indirect_array<value_type>& ia);
-
-    // element access:
-    const value_type& operator[](size_t i) const;
-    value_type&       operator[](size_t i);
-
-    // subset operations:
-    valarray                   operator[](slice s) const;
-    slice_array<value_type>    operator[](slice s);
-    valarray                   operator[](const gslice& gs) const;
-    gslice_array<value_type>   operator[](const gslice& gs);
-    valarray                   operator[](const valarray<bool>& vb) const;
-    mask_array<value_type>     operator[](const valarray<bool>& vb);
-    valarray                   operator[](const valarray<size_t>& vs) const;
-    indirect_array<value_type> operator[](const valarray<size_t>& vs);
-
-    // unary operators:
-    valarray       operator+() const;
-    valarray       operator-() const;
-    valarray       operator~() const;
-    valarray<bool> operator!() const;
-
-    // computed assignment:
-    valarray& operator*= (const value_type& x);
-    valarray& operator/= (const value_type& x);
-    valarray& operator%= (const value_type& x);
-    valarray& operator+= (const value_type& x);
-    valarray& operator-= (const value_type& x);
-    valarray& operator^= (const value_type& x);
-    valarray& operator&= (const value_type& x);
-    valarray& operator|= (const value_type& x);
-    valarray& operator<<=(const value_type& x);
-    valarray& operator>>=(const value_type& x);
-
-    valarray& operator*= (const valarray& v);
-    valarray& operator/= (const valarray& v);
-    valarray& operator%= (const valarray& v);
-    valarray& operator+= (const valarray& v);
-    valarray& operator-= (const valarray& v);
-    valarray& operator^= (const valarray& v);
-    valarray& operator|= (const valarray& v);
-    valarray& operator&= (const valarray& v);
-    valarray& operator<<=(const valarray& v);
-    valarray& operator>>=(const valarray& v);
-
-    // member functions:
-    void swap(valarray& v) noexcept;
-
-    size_t size() const;
-
-    value_type sum() const;
-    value_type min() const;
-    value_type max() const;
-
-    valarray shift (int i) const;
-    valarray cshift(int i) const;
-    valarray apply(value_type f(value_type)) const;
-    valarray apply(value_type f(const value_type&)) const;
-    void resize(size_t n, value_type x = value_type());
-};
-
-class slice
-{
-public:
-    slice();
-    slice(size_t start, size_t size, size_t stride);
-
-    size_t start()  const;
-    size_t size()   const;
-    size_t stride() const;
-};
-
-template <class T>
-class slice_array
-{
-public:
-    typedef T value_type;
-
-    const slice_array& operator=(const slice_array& sa) const;
-    void operator=  (const valarray<value_type>& v) const;
-    void operator*= (const valarray<value_type>& v) const;
-    void operator/= (const valarray<value_type>& v) const;
-    void operator%= (const valarray<value_type>& v) const;
-    void operator+= (const valarray<value_type>& v) const;
-    void operator-= (const valarray<value_type>& v) const;
-    void operator^= (const valarray<value_type>& v) const;
-    void operator&= (const valarray<value_type>& v) const;
-    void operator|= (const valarray<value_type>& v) const;
-    void operator<<=(const valarray<value_type>& v) const;
-    void operator>>=(const valarray<value_type>& v) const;
-
-    void operator=(const value_type& x) const;
-
-    slice_array() = delete;
-};
-
-class gslice
-{
-public:
-    gslice();
-    gslice(size_t start, const valarray<size_t>& size,
-                         const valarray<size_t>& stride);
-
-    size_t           start()  const;
-    valarray<size_t> size()   const;
-    valarray<size_t> stride() const;
-};
-
-template <class T>
-class gslice_array
-{
-public:
-    typedef T value_type;
-
-    void operator=  (const valarray<value_type>& v) const;
-    void operator*= (const valarray<value_type>& v) const;
-    void operator/= (const valarray<value_type>& v) const;
-    void operator%= (const valarray<value_type>& v) const;
-    void operator+= (const valarray<value_type>& v) const;
-    void operator-= (const valarray<value_type>& v) const;
-    void operator^= (const valarray<value_type>& v) const;
-    void operator&= (const valarray<value_type>& v) const;
-    void operator|= (const valarray<value_type>& v) const;
-    void operator<<=(const valarray<value_type>& v) const;
-    void operator>>=(const valarray<value_type>& v) const;
-
-    gslice_array(const gslice_array& ga);
-    ~gslice_array();
-    const gslice_array& operator=(const gslice_array& ga) const;
-    void operator=(const value_type& x) const;
-
-    gslice_array() = delete;
-};
-
-template <class T>
-class mask_array
-{
-public:
-    typedef T value_type;
-
-    void operator=  (const valarray<value_type>& v) const;
-    void operator*= (const valarray<value_type>& v) const;
-    void operator/= (const valarray<value_type>& v) const;
-    void operator%= (const valarray<value_type>& v) const;
-    void operator+= (const valarray<value_type>& v) const;
-    void operator-= (const valarray<value_type>& v) const;
-    void operator^= (const valarray<value_type>& v) const;
-    void operator&= (const valarray<value_type>& v) const;
-    void operator|= (const valarray<value_type>& v) const;
-    void operator<<=(const valarray<value_type>& v) const;
-    void operator>>=(const valarray<value_type>& v) const;
-
-    mask_array(const mask_array& ma);
-    ~mask_array();
-    const mask_array& operator=(const mask_array& ma) const;
-    void operator=(const value_type& x) const;
-
-    mask_array() = delete;
-};
-
-template <class T>
-class indirect_array
-{
-public:
-    typedef T value_type;
-
-    void operator=  (const valarray<value_type>& v) const;
-    void operator*= (const valarray<value_type>& v) const;
-    void operator/= (const valarray<value_type>& v) const;
-    void operator%= (const valarray<value_type>& v) const;
-    void operator+= (const valarray<value_type>& v) const;
-    void operator-= (const valarray<value_type>& v) const;
-    void operator^= (const valarray<value_type>& v) const;
-    void operator&= (const valarray<value_type>& v) const;
-    void operator|= (const valarray<value_type>& v) const;
-    void operator<<=(const valarray<value_type>& v) const;
-    void operator>>=(const valarray<value_type>& v) const;
-
-    indirect_array(const indirect_array& ia);
-    ~indirect_array();
-    const indirect_array& operator=(const indirect_array& ia) const;
-    void operator=(const value_type& x) const;
-
-    indirect_array() = delete;
-};
-
-template<class T> void swap(valarray<T>& x, valarray<T>& y) noexcept;
-
-template<class T> valarray<T> operator* (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator* (const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator* (const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator/ (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator/ (const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator/ (const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator% (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator% (const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator% (const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator+ (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator+ (const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator+ (const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator- (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator- (const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator- (const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator^ (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator^ (const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator^ (const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator& (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator& (const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator& (const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator| (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator| (const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator| (const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator<<(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator<<(const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator<<(const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> operator>>(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> operator>>(const valarray<T>& x, const T& y);
-template<class T> valarray<T> operator>>(const T& x, const valarray<T>& y);
-
-template<class T> valarray<bool> operator&&(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<bool> operator&&(const valarray<T>& x, const T& y);
-template<class T> valarray<bool> operator&&(const T& x, const valarray<T>& y);
-
-template<class T> valarray<bool> operator||(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<bool> operator||(const valarray<T>& x, const T& y);
-template<class T> valarray<bool> operator||(const T& x, const valarray<T>& y);
-
-template<class T> valarray<bool> operator==(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<bool> operator==(const valarray<T>& x, const T& y);
-template<class T> valarray<bool> operator==(const T& x, const valarray<T>& y);
-
-template<class T> valarray<bool> operator!=(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<bool> operator!=(const valarray<T>& x, const T& y);
-template<class T> valarray<bool> operator!=(const T& x, const valarray<T>& y);
-
-template<class T> valarray<bool> operator< (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<bool> operator< (const valarray<T>& x, const T& y);
-template<class T> valarray<bool> operator< (const T& x, const valarray<T>& y);
-
-template<class T> valarray<bool> operator> (const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<bool> operator> (const valarray<T>& x, const T& y);
-template<class T> valarray<bool> operator> (const T& x, const valarray<T>& y);
-
-template<class T> valarray<bool> operator<=(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<bool> operator<=(const valarray<T>& x, const T& y);
-template<class T> valarray<bool> operator<=(const T& x, const valarray<T>& y);
-
-template<class T> valarray<bool> operator>=(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<bool> operator>=(const valarray<T>& x, const T& y);
-template<class T> valarray<bool> operator>=(const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> abs (const valarray<T>& x);
-template<class T> valarray<T> acos (const valarray<T>& x);
-template<class T> valarray<T> asin (const valarray<T>& x);
-template<class T> valarray<T> atan (const valarray<T>& x);
-
-template<class T> valarray<T> atan2(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> atan2(const valarray<T>& x, const T& y);
-template<class T> valarray<T> atan2(const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> cos (const valarray<T>& x);
-template<class T> valarray<T> cosh (const valarray<T>& x);
-template<class T> valarray<T> exp (const valarray<T>& x);
-template<class T> valarray<T> log (const valarray<T>& x);
-template<class T> valarray<T> log10(const valarray<T>& x);
-
-template<class T> valarray<T> pow(const valarray<T>& x, const valarray<T>& y);
-template<class T> valarray<T> pow(const valarray<T>& x, const T& y);
-template<class T> valarray<T> pow(const T& x, const valarray<T>& y);
-
-template<class T> valarray<T> sin (const valarray<T>& x);
-template<class T> valarray<T> sinh (const valarray<T>& x);
-template<class T> valarray<T> sqrt (const valarray<T>& x);
-template<class T> valarray<T> tan (const valarray<T>& x);
-template<class T> valarray<T> tanh (const valarray<T>& x);
-
-template <class T> unspecified1 begin(valarray<T>& v);
-template <class T> unspecified2 begin(const valarray<T>& v);
-template <class T> unspecified1 end(valarray<T>& v);
-template <class T> unspecified2 end(const valarray<T>& v);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <cstddef>
-#include <cmath>
-#include <initializer_list>
-#include <algorithm>
-#include <functional>
-#include <new>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template<class _Tp> class _LIBCPP_TEMPLATE_VIS valarray;
-
-class _LIBCPP_TEMPLATE_VIS slice
-{
-    size_t __start_;
-    size_t __size_;
-    size_t __stride_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    slice()
-        : __start_(0),
-          __size_(0),
-          __stride_(0)
-          {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    slice(size_t __start, size_t __size, size_t __stride)
-        : __start_(__start),
-          __size_(__size),
-          __stride_(__stride)
-          {}
-
-    _LIBCPP_INLINE_VISIBILITY size_t start()  const {return __start_;}
-    _LIBCPP_INLINE_VISIBILITY size_t size()   const {return __size_;}
-    _LIBCPP_INLINE_VISIBILITY size_t stride() const {return __stride_;}
-};
-
-template <class _Tp> class _LIBCPP_TEMPLATE_VIS slice_array;
-class _LIBCPP_TYPE_VIS gslice;
-template <class _Tp> class _LIBCPP_TEMPLATE_VIS gslice_array;
-template <class _Tp> class _LIBCPP_TEMPLATE_VIS mask_array;
-template <class _Tp> class _LIBCPP_TEMPLATE_VIS indirect_array;
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-begin(valarray<_Tp>& __v);
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-const _Tp*
-begin(const valarray<_Tp>& __v);
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp*
-end(valarray<_Tp>& __v);
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-const _Tp*
-end(const valarray<_Tp>& __v);
-
-template <class _Op, class _A0>
-struct _UnaryOp
-{
-    typedef typename _Op::result_type result_type;
-    typedef typename _A0::value_type value_type;
-
-    _Op __op_;
-    _A0 __a0_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _UnaryOp(const _Op& __op, const _A0& __a0) : __op_(__op), __a0_(__a0) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t __i) const {return __op_(__a0_[__i]);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __a0_.size();}
-};
-
-template <class _Op, class _A0, class _A1>
-struct _BinaryOp
-{
-    typedef typename _Op::result_type result_type;
-    typedef typename _A0::value_type value_type;
-
-    _Op __op_;
-    _A0 __a0_;
-    _A1 __a1_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _BinaryOp(const _Op& __op, const _A0& __a0, const _A1& __a1)
-        : __op_(__op), __a0_(__a0), __a1_(__a1) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __a0_.size();}
-};
-
-template <class _Tp>
-class __scalar_expr
-{
-public:
-    typedef _Tp        value_type;
-    typedef const _Tp& result_type;
-private:
-    const value_type& __t_;
-    size_t __s_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __scalar_expr(const value_type& __t, size_t __s) : __t_(__t), __s_(__s) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t) const {return __t_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __s_;}
-};
-
-template <class _Tp>
-struct __unary_plus : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return +__x;}
-};
-
-template <class _Tp>
-struct __bit_not  : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return ~__x;}
-};
-
-template <class _Tp>
-struct __bit_shift_left : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x << __y;}
-};
-
-template <class _Tp>
-struct __bit_shift_right : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return __x >> __y;}
-};
-
-template <class _Tp, class _Fp>
-struct __apply_expr   : unary_function<_Tp, _Tp>
-{
-private:
-    _Fp __f_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __apply_expr(_Fp __f) : __f_(__f) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return __f_(__x);}
-};
-
-template <class _Tp>
-struct __abs_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return abs(__x);}
-};
-
-template <class _Tp>
-struct __acos_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return acos(__x);}
-};
-
-template <class _Tp>
-struct __asin_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return asin(__x);}
-};
-
-template <class _Tp>
-struct __atan_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return atan(__x);}
-};
-
-template <class _Tp>
-struct __atan2_expr : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return atan2(__x, __y);}
-};
-
-template <class _Tp>
-struct __cos_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return cos(__x);}
-};
-
-template <class _Tp>
-struct __cosh_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return cosh(__x);}
-};
-
-template <class _Tp>
-struct __exp_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return exp(__x);}
-};
-
-template <class _Tp>
-struct __log_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return log(__x);}
-};
-
-template <class _Tp>
-struct __log10_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return log10(__x);}
-};
-
-template <class _Tp>
-struct __pow_expr : binary_function<_Tp, _Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x, const _Tp& __y) const
-        {return pow(__x, __y);}
-};
-
-template <class _Tp>
-struct __sin_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return sin(__x);}
-};
-
-template <class _Tp>
-struct __sinh_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return sinh(__x);}
-};
-
-template <class _Tp>
-struct __sqrt_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return sqrt(__x);}
-};
-
-template <class _Tp>
-struct __tan_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return tan(__x);}
-};
-
-template <class _Tp>
-struct __tanh_expr : unary_function<_Tp, _Tp>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp operator()(const _Tp& __x) const
-        {return tanh(__x);}
-};
-
-template <class _ValExpr>
-class __slice_expr
-{
-    typedef typename remove_reference<_ValExpr>::type  _RmExpr;
-public:
-    typedef typename _RmExpr::value_type value_type;
-    typedef value_type result_type;
-
-private:
-    _ValExpr __expr_;
-    size_t __start_;
-    size_t __size_;
-    size_t __stride_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __slice_expr(const slice& __sl, const _RmExpr& __e)
-        : __expr_(__e),
-          __start_(__sl.start()),
-          __size_(__sl.size()),
-          __stride_(__sl.stride())
-        {}
-public:
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t __i) const
-        {return __expr_[__start_ + __i * __stride_];}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __size_;}
-
-    template <class> friend class __val_expr;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS valarray;
-};
-
-template <class _ValExpr>
-class __mask_expr;
-
-template <class _ValExpr>
-class __indirect_expr;
-
-template <class _ValExpr>
-class __shift_expr
-{
-    typedef typename remove_reference<_ValExpr>::type  _RmExpr;
-public:
-    typedef typename _RmExpr::value_type value_type;
-    typedef value_type result_type;
-
-private:
-    _ValExpr __expr_;
-    size_t __size_;
-    ptrdiff_t __ul_;
-    ptrdiff_t __sn_;
-    ptrdiff_t __n_;
-    static const ptrdiff_t _Np = static_cast<ptrdiff_t>(
-                                    sizeof(ptrdiff_t) * __CHAR_BIT__ - 1);
-
-    _LIBCPP_INLINE_VISIBILITY
-    __shift_expr(int __n, const _RmExpr& __e)
-        : __expr_(__e),
-          __size_(__e.size()),
-          __n_(__n)
-        {
-            ptrdiff_t __neg_n = static_cast<ptrdiff_t>(__n_ >> _Np);
-            __sn_ = __neg_n | static_cast<ptrdiff_t>(static_cast<size_t>(-__n_) >> _Np);
-            __ul_ = ((__size_ - __n_) & ~__neg_n) | ((__n_ + 1) & __neg_n);
-        }
-public:
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t __j) const
-        {
-            ptrdiff_t __i = static_cast<ptrdiff_t>(__j);
-            ptrdiff_t __m = (__sn_ * __i - __ul_) >> _Np;
-            return (__expr_[(__i + __n_) & __m] & __m) | (value_type() & ~__m);
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __size_;}
-
-    template <class> friend class __val_expr;
-};
-
-template <class _ValExpr>
-class __cshift_expr
-{
-    typedef typename remove_reference<_ValExpr>::type  _RmExpr;
-public:
-    typedef typename _RmExpr::value_type value_type;
-    typedef value_type result_type;
-
-private:
-    _ValExpr __expr_;
-    size_t __size_;
-    size_t __m_;
-    size_t __o1_;
-    size_t __o2_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __cshift_expr(int __n, const _RmExpr& __e)
-        : __expr_(__e),
-          __size_(__e.size())
-        {
-            __n %= static_cast<int>(__size_);
-            if (__n >= 0)
-            {
-                __m_ = __size_ - __n;
-                __o1_ = __n;
-                __o2_ = __n - __size_;
-            }
-            else
-            {
-                __m_ = -__n;
-                __o1_ = __n + __size_;
-                __o2_ = __n;
-            }
-        }
-public:
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t __i) const
-        {
-            if (__i < __m_)
-                return __expr_[__i + __o1_];
-            return __expr_[__i + __o2_];
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __size_;}
-
-    template <class> friend class __val_expr;
-};
-
-template<class _ValExpr>
-class __val_expr;
-
-template<class _ValExpr>
-struct __is_val_expr : false_type {};
-
-template<class _ValExpr>
-struct __is_val_expr<__val_expr<_ValExpr> > : true_type {};
-
-template<class _Tp>
-struct __is_val_expr<valarray<_Tp> > : true_type {};
-
-template<class _Tp>
-class _LIBCPP_TEMPLATE_VIS valarray
-{
-public:
-    typedef _Tp value_type;
-    typedef _Tp result_type;
-
-private:
-    value_type* __begin_;
-    value_type* __end_;
-
-public:
-    // construct/destroy:
-    _LIBCPP_INLINE_VISIBILITY
-    valarray() : __begin_(0), __end_(0) {}
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    explicit valarray(size_t __n);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray(const value_type& __x, size_t __n);
-    valarray(const value_type* __p, size_t __n);
-    valarray(const valarray& __v);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    valarray(valarray&& __v) _NOEXCEPT;
-    valarray(initializer_list<value_type> __il);
-#endif  // _LIBCPP_CXX03_LANG
-    valarray(const slice_array<value_type>& __sa);
-    valarray(const gslice_array<value_type>& __ga);
-    valarray(const mask_array<value_type>& __ma);
-    valarray(const indirect_array<value_type>& __ia);
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    ~valarray();
-
-    // assignment:
-    valarray& operator=(const valarray& __v);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator=(valarray&& __v) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator=(initializer_list<value_type>);
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator=(const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator=(const slice_array<value_type>& __sa);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator=(const gslice_array<value_type>& __ga);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator=(const mask_array<value_type>& __ma);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator=(const indirect_array<value_type>& __ia);
-    template <class _ValExpr>
-        _LIBCPP_INLINE_VISIBILITY
-        valarray& operator=(const __val_expr<_ValExpr>& __v);
-
-    // element access:
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type& operator[](size_t __i) const {return __begin_[__i];}
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type&       operator[](size_t __i)       {return __begin_[__i];}
-
-    // subset operations:
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__slice_expr<const valarray&> >    operator[](slice __s) const;
-    _LIBCPP_INLINE_VISIBILITY
-    slice_array<value_type>                       operator[](slice __s);
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__indirect_expr<const valarray&> > operator[](const gslice& __gs) const;
-    _LIBCPP_INLINE_VISIBILITY
-    gslice_array<value_type>   operator[](const gslice& __gs);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const;
-    _LIBCPP_INLINE_VISIBILITY
-    gslice_array<value_type>                      operator[](gslice&& __gs);
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__mask_expr<const valarray&> >     operator[](const valarray<bool>& __vb) const;
-    _LIBCPP_INLINE_VISIBILITY
-    mask_array<value_type>                        operator[](const valarray<bool>& __vb);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__mask_expr<const valarray&> >     operator[](valarray<bool>&& __vb) const;
-    _LIBCPP_INLINE_VISIBILITY
-    mask_array<value_type>                        operator[](valarray<bool>&& __vb);
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const;
-    _LIBCPP_INLINE_VISIBILITY
-    indirect_array<value_type>                    operator[](const valarray<size_t>& __vs);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const;
-    _LIBCPP_INLINE_VISIBILITY
-    indirect_array<value_type>                    operator[](valarray<size_t>&& __vs);
-#endif  // _LIBCPP_CXX03_LANG
-
-    // unary operators:
-    valarray       operator+() const;
-    valarray       operator-() const;
-    valarray       operator~() const;
-    valarray<bool> operator!() const;
-
-    // computed assignment:
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator*= (const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator/= (const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator%= (const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator+= (const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator-= (const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator^= (const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator&= (const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator|= (const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator<<=(const value_type& __x);
-    _LIBCPP_INLINE_VISIBILITY
-    valarray& operator>>=(const value_type& __x);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator*= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator/= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator%= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator+= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator-= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator^= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator|= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator&= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator<<= (const _Expr& __v);
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        valarray&
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator>>= (const _Expr& __v);
-
-    // member functions:
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(valarray& __v) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return static_cast<size_t>(__end_ - __begin_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type sum() const;
-    _LIBCPP_INLINE_VISIBILITY
-    value_type min() const;
-    _LIBCPP_INLINE_VISIBILITY
-    value_type max() const;
-
-    valarray shift (int __i) const;
-    valarray cshift(int __i) const;
-    valarray apply(value_type __f(value_type)) const;
-    valarray apply(value_type __f(const value_type&)) const;
-    void     resize(size_t __n, value_type __x = value_type());
-
-private:
-    template <class> friend class _LIBCPP_TEMPLATE_VIS valarray;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS slice_array;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS gslice_array;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS mask_array;
-    template <class> friend class __mask_expr;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS indirect_array;
-    template <class> friend class __indirect_expr;
-    template <class> friend class __val_expr;
-
-    template <class _Up>
-    friend
-    _Up*
-    begin(valarray<_Up>& __v);
-
-    template <class _Up>
-    friend
-    const _Up*
-    begin(const valarray<_Up>& __v);
-
-    template <class _Up>
-    friend
-    _Up*
-    end(valarray<_Up>& __v);
-
-    template <class _Up>
-    friend
-    const _Up*
-    end(const valarray<_Up>& __v);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __clear(size_t __capacity);
-    valarray& __assign_range(const value_type* __f, const value_type* __l);
-};
-
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void valarray<size_t>::resize(size_t, size_t))
-
-template <class _Op, class _Tp>
-struct _UnaryOp<_Op, valarray<_Tp> >
-{
-    typedef typename _Op::result_type result_type;
-    typedef _Tp value_type;
-
-    _Op __op_;
-    const valarray<_Tp>& __a0_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _UnaryOp(const _Op& __op, const valarray<_Tp>& __a0) : __op_(__op), __a0_(__a0) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t __i) const {return __op_(__a0_[__i]);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __a0_.size();}
-};
-
-template <class _Op, class _Tp, class _A1>
-struct _BinaryOp<_Op, valarray<_Tp>, _A1>
-{
-    typedef typename _Op::result_type result_type;
-    typedef _Tp value_type;
-
-    _Op __op_;
-    const valarray<_Tp>& __a0_;
-    _A1 __a1_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _BinaryOp(const _Op& __op, const valarray<_Tp>& __a0, const _A1& __a1)
-        : __op_(__op), __a0_(__a0), __a1_(__a1) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __a0_.size();}
-};
-
-template <class _Op, class _A0, class _Tp>
-struct _BinaryOp<_Op, _A0, valarray<_Tp> >
-{
-    typedef typename _Op::result_type result_type;
-    typedef _Tp value_type;
-
-    _Op __op_;
-    _A0 __a0_;
-    const valarray<_Tp>& __a1_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _BinaryOp(const _Op& __op, const _A0& __a0, const valarray<_Tp>& __a1)
-        : __op_(__op), __a0_(__a0), __a1_(__a1) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __a0_.size();}
-};
-
-template <class _Op, class _Tp>
-struct _BinaryOp<_Op, valarray<_Tp>, valarray<_Tp> >
-{
-    typedef typename _Op::result_type result_type;
-    typedef _Tp value_type;
-
-    _Op __op_;
-    const valarray<_Tp>& __a0_;
-    const valarray<_Tp>& __a1_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _BinaryOp(const _Op& __op, const valarray<_Tp>& __a0, const valarray<_Tp>& __a1)
-        : __op_(__op), __a0_(__a0), __a1_(__a1) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type operator[](size_t __i) const {return __op_(__a0_[__i], __a1_[__i]);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __a0_.size();}
-};
-
-// slice_array
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS slice_array
-{
-public:
-    typedef _Tp value_type;
-
-private:
-    value_type* __vp_;
-    size_t __size_;
-    size_t __stride_;
-
-public:
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator*=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator/=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator%=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator+=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator-=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator^=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator&=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator|=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator<<=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator>>=(const _Expr& __v) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    const slice_array& operator=(const slice_array& __sa) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator=(const value_type& __x) const;
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    slice_array(const slice& __sl, const valarray<value_type>& __v)
-        : __vp_(const_cast<value_type*>(__v.__begin_ + __sl.start())),
-          __size_(__sl.size()),
-          __stride_(__sl.stride())
-        {}
-
-    template <class> friend class valarray;
-    template <class> friend class sliceExpr;
-};
-
-template <class _Tp>
-inline
-const slice_array<_Tp>&
-slice_array<_Tp>::operator=(const slice_array& __sa) const
-{
-    value_type* __t = __vp_;
-    const value_type* __s = __sa.__vp_;
-    for (size_t __n = __size_; __n; --__n, __t += __stride_, __s += __sa.__stride_)
-        *__t = *__s;
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t = __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator*=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t *= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator/=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t /= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator%=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t %= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator+=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t += __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator-=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t -= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator^=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t ^= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator&=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t &= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator|=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t |= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator<<=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t <<= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-slice_array<_Tp>::operator>>=(const _Expr& __v) const
-{
-    value_type* __t = __vp_;
-    for (size_t __i = 0; __i < __size_; ++__i, __t += __stride_)
-        *__t >>= __v[__i];
-}
-
-template <class _Tp>
-inline
-void
-slice_array<_Tp>::operator=(const value_type& __x) const
-{
-    value_type* __t = __vp_;
-    for (size_t __n = __size_; __n; --__n, __t += __stride_)
-        *__t = __x;
-}
-
-// gslice
-
-class _LIBCPP_TYPE_VIS gslice
-{
-    valarray<size_t> __size_;
-    valarray<size_t> __stride_;
-    valarray<size_t> __1d_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    gslice() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    gslice(size_t __start, const valarray<size_t>& __size,
-                           const valarray<size_t>& __stride)
-        : __size_(__size),
-          __stride_(__stride)
-        {__init(__start);}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    gslice(size_t __start, const valarray<size_t>&  __size,
-                                 valarray<size_t>&& __stride)
-        : __size_(__size),
-          __stride_(move(__stride))
-        {__init(__start);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    gslice(size_t __start,       valarray<size_t>&& __size,
-                           const valarray<size_t>&  __stride)
-        : __size_(move(__size)),
-          __stride_(__stride)
-        {__init(__start);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    gslice(size_t __start,       valarray<size_t>&& __size,
-                                 valarray<size_t>&& __stride)
-        : __size_(move(__size)),
-          __stride_(move(__stride))
-        {__init(__start);}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-//  gslice(const gslice&)            = default;
-//  gslice(gslice&&)                 = default;
-//  gslice& operator=(const gslice&) = default;
-//  gslice& operator=(gslice&&)      = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t           start()  const {return __1d_.size() ? __1d_[0] : 0;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    valarray<size_t> size()   const {return __size_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    valarray<size_t> stride() const {return __stride_;}
-
-private:
-    void __init(size_t __start);
-
-    template <class> friend class gslice_array;
-    template <class> friend class valarray;
-    template <class> friend class __val_expr;
-};
-
-// gslice_array
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS gslice_array
-{
-public:
-    typedef _Tp value_type;
-
-private:
-    value_type*      __vp_;
-    valarray<size_t> __1d_;
-
-public:
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator*=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator/=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator%=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator+=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator-=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator^=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator&=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator|=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator<<=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator>>=(const _Expr& __v) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    const gslice_array& operator=(const gslice_array& __ga) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator=(const value_type& __x) const;
-
-//  gslice_array(const gslice_array&)            = default;
-//  gslice_array(gslice_array&&)                 = default;
-//  gslice_array& operator=(const gslice_array&) = default;
-//  gslice_array& operator=(gslice_array&&)      = default;
-
-private:
-    gslice_array(const gslice& __gs, const valarray<value_type>& __v)
-        : __vp_(const_cast<value_type*>(__v.__begin_)),
-          __1d_(__gs.__1d_)
-        {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    gslice_array(gslice&& __gs, const valarray<value_type>& __v)
-        : __vp_(const_cast<value_type*>(__v.__begin_)),
-          __1d_(move(__gs.__1d_))
-        {}
-#endif  // _LIBCPP_CXX03_LANG
-
-    template <class> friend class valarray;
-};
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] = __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator*=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] *= __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator/=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] /= __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator%=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] %= __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator+=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] += __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator-=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] -= __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator^=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] ^= __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator&=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] &= __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator|=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] |= __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator<<=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] <<= __v[__j];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-gslice_array<_Tp>::operator>>=(const _Expr& __v) const
-{
-    typedef const size_t* _Ip;
-    size_t __j = 0;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i, ++__j)
-        __vp_[*__i] >>= __v[__j];
-}
-
-template <class _Tp>
-inline
-const gslice_array<_Tp>&
-gslice_array<_Tp>::operator=(const gslice_array& __ga) const
-{
-    typedef const size_t* _Ip;
-    const value_type* __s = __ga.__vp_;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_, __j = __ga.__1d_.__begin_;
-            __i != __e; ++__i, ++__j)
-        __vp_[*__i] = __s[*__j];
-    return *this;
-}
-
-template <class _Tp>
-inline
-void
-gslice_array<_Tp>::operator=(const value_type& __x) const
-{
-    typedef const size_t* _Ip;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i)
-        __vp_[*__i] = __x;
-}
-
-// mask_array
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS mask_array
-{
-public:
-    typedef _Tp value_type;
-
-private:
-    value_type*      __vp_;
-    valarray<size_t> __1d_;
-
-public:
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator*=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator/=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator%=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator+=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator-=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator^=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator&=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator|=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator<<=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator>>=(const _Expr& __v) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    const mask_array& operator=(const mask_array& __ma) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator=(const value_type& __x) const;
-
-//  mask_array(const mask_array&)            = default;
-//  mask_array(mask_array&&)                 = default;
-//  mask_array& operator=(const mask_array&) = default;
-//  mask_array& operator=(mask_array&&)      = default;
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    mask_array(const valarray<bool>& __vb, const valarray<value_type>& __v)
-        : __vp_(const_cast<value_type*>(__v.__begin_)),
-          __1d_(static_cast<size_t>(count(__vb.__begin_, __vb.__end_, true)))
-          {
-              size_t __j = 0;
-              for (size_t __i = 0; __i < __vb.size(); ++__i)
-                  if (__vb[__i])
-                      __1d_[__j++] = __i;
-          }
-
-    template <class> friend class valarray;
-};
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] = __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator*=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] *= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator/=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] /= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator%=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] %= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator+=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] += __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator-=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] -= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator^=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] ^= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator&=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] &= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator|=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] |= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator<<=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] <<= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-mask_array<_Tp>::operator>>=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] >>= __v[__i];
-}
-
-template <class _Tp>
-inline
-const mask_array<_Tp>&
-mask_array<_Tp>::operator=(const mask_array& __ma) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] = __ma.__vp_[__1d_[__i]];
-    return *this;
-}
-
-template <class _Tp>
-inline
-void
-mask_array<_Tp>::operator=(const value_type& __x) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] = __x;
-}
-
-template <class _ValExpr>
-class __mask_expr
-{
-    typedef typename remove_reference<_ValExpr>::type  _RmExpr;
-public:
-    typedef typename _RmExpr::value_type value_type;
-    typedef value_type result_type;
-
-private:
-    _ValExpr __expr_;
-    valarray<size_t> __1d_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __mask_expr(const valarray<bool>& __vb, const _RmExpr& __e)
-        : __expr_(__e),
-          __1d_(static_cast<size_t>(count(__vb.__begin_, __vb.__end_, true)))
-          {
-              size_t __j = 0;
-              for (size_t __i = 0; __i < __vb.size(); ++__i)
-                  if (__vb[__i])
-                      __1d_[__j++] = __i;
-          }
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t __i) const
-        {return __expr_[__1d_[__i]];}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __1d_.size();}
-
-    template <class> friend class __val_expr;
-    template <class> friend class valarray;
-};
-
-// indirect_array
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS indirect_array
-{
-public:
-    typedef _Tp value_type;
-
-private:
-    value_type*      __vp_;
-    valarray<size_t> __1d_;
-
-public:
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator*=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator/=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator%=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator+=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator-=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator^=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator&=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator|=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator<<=(const _Expr& __v) const;
-
-    template <class _Expr>
-    typename enable_if
-    <
-        __is_val_expr<_Expr>::value,
-        void
-    >::type
-    _LIBCPP_INLINE_VISIBILITY
-    operator>>=(const _Expr& __v) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    const indirect_array& operator=(const indirect_array& __ia) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator=(const value_type& __x) const;
-
-//  indirect_array(const indirect_array&)            = default;
-//  indirect_array(indirect_array&&)                 = default;
-//  indirect_array& operator=(const indirect_array&) = default;
-//  indirect_array& operator=(indirect_array&&)      = default;
-
-private:
-     _LIBCPP_INLINE_VISIBILITY
-   indirect_array(const valarray<size_t>& __ia, const valarray<value_type>& __v)
-        : __vp_(const_cast<value_type*>(__v.__begin_)),
-          __1d_(__ia)
-        {}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    indirect_array(valarray<size_t>&& __ia, const valarray<value_type>& __v)
-        : __vp_(const_cast<value_type*>(__v.__begin_)),
-          __1d_(move(__ia))
-        {}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-    template <class> friend class valarray;
-};
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] = __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator*=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] *= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator/=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] /= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator%=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] %= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator+=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] += __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator-=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] -= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator^=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] ^= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator&=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] &= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator|=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] |= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator<<=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] <<= __v[__i];
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    void
->::type
-indirect_array<_Tp>::operator>>=(const _Expr& __v) const
-{
-    size_t __n = __1d_.size();
-    for (size_t __i = 0; __i < __n; ++__i)
-        __vp_[__1d_[__i]] >>= __v[__i];
-}
-
-template <class _Tp>
-inline
-const indirect_array<_Tp>&
-indirect_array<_Tp>::operator=(const indirect_array& __ia) const
-{
-    typedef const size_t* _Ip;
-    const value_type* __s = __ia.__vp_;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_, __j = __ia.__1d_.__begin_;
-            __i != __e; ++__i, ++__j)
-        __vp_[*__i] = __s[*__j];
-    return *this;
-}
-
-template <class _Tp>
-inline
-void
-indirect_array<_Tp>::operator=(const value_type& __x) const
-{
-    typedef const size_t* _Ip;
-    for (_Ip __i = __1d_.__begin_, __e = __1d_.__end_; __i != __e; ++__i)
-        __vp_[*__i] = __x;
-}
-
-template <class _ValExpr>
-class __indirect_expr
-{
-    typedef typename remove_reference<_ValExpr>::type  _RmExpr;
-public:
-    typedef typename _RmExpr::value_type value_type;
-    typedef value_type result_type;
-
-private:
-    _ValExpr __expr_;
-    valarray<size_t> __1d_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __indirect_expr(const valarray<size_t>& __ia, const _RmExpr& __e)
-        : __expr_(__e),
-          __1d_(__ia)
-          {}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    __indirect_expr(valarray<size_t>&& __ia, const _RmExpr& __e)
-        : __expr_(__e),
-          __1d_(move(__ia))
-          {}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t __i) const
-        {return __expr_[__1d_[__i]];}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __1d_.size();}
-
-    template <class> friend class __val_expr;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS valarray;
-};
-
-template<class _ValExpr>
-class __val_expr
-{
-    typedef typename remove_reference<_ValExpr>::type  _RmExpr;
-
-    _ValExpr __expr_;
-public:
-    typedef typename _RmExpr::value_type value_type;
-    typedef typename _RmExpr::result_type result_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __val_expr(const _RmExpr& __e) : __expr_(__e) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator[](size_t __i) const
-        {return __expr_[__i];}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__slice_expr<_ValExpr> > operator[](slice __s) const
-    {
-        typedef __slice_expr<_ValExpr> _NewExpr;
-        return __val_expr< _NewExpr >(_NewExpr(__s, __expr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__indirect_expr<_ValExpr> > operator[](const gslice& __gs) const
-    {
-        typedef __indirect_expr<_ValExpr> _NewExpr;
-        return __val_expr<_NewExpr >(_NewExpr(__gs.__1d_, __expr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__mask_expr<_ValExpr> > operator[](const valarray<bool>& __vb) const
-    {
-        typedef __mask_expr<_ValExpr> _NewExpr;
-        return __val_expr< _NewExpr >( _NewExpr(__vb, __expr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__indirect_expr<_ValExpr> > operator[](const valarray<size_t>& __vs) const
-    {
-        typedef __indirect_expr<_ValExpr> _NewExpr;
-        return __val_expr< _NewExpr >(_NewExpr(__vs, __expr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<_UnaryOp<__unary_plus<value_type>, _ValExpr> >
-    operator+() const
-    {
-        typedef _UnaryOp<__unary_plus<value_type>, _ValExpr> _NewExpr;
-        return __val_expr<_NewExpr>(_NewExpr(__unary_plus<value_type>(), __expr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<_UnaryOp<negate<value_type>, _ValExpr> >
-    operator-() const
-    {
-        typedef _UnaryOp<negate<value_type>, _ValExpr> _NewExpr;
-        return __val_expr<_NewExpr>(_NewExpr(negate<value_type>(), __expr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<_UnaryOp<__bit_not<value_type>, _ValExpr> >
-    operator~() const
-    {
-        typedef _UnaryOp<__bit_not<value_type>, _ValExpr> _NewExpr;
-        return __val_expr<_NewExpr>(_NewExpr(__bit_not<value_type>(), __expr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<_UnaryOp<logical_not<value_type>, _ValExpr> >
-    operator!() const
-    {
-        typedef _UnaryOp<logical_not<value_type>, _ValExpr> _NewExpr;
-        return __val_expr<_NewExpr>(_NewExpr(logical_not<value_type>(), __expr_));
-    }
-
-    operator valarray<result_type>() const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t size() const {return __expr_.size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type sum() const
-    {
-        size_t __n = __expr_.size();
-        result_type __r = __n ? __expr_[0] : result_type();
-        for (size_t __i = 1; __i < __n; ++__i)
-            __r += __expr_[__i];
-        return __r;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type min() const
-    {
-        size_t __n = size();
-        result_type __r = __n ? (*this)[0] : result_type();
-        for (size_t __i = 1; __i < __n; ++__i)
-        {
-            result_type __x = __expr_[__i];
-            if (__x < __r)
-                __r = __x;
-        }
-        return __r;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type max() const
-    {
-        size_t __n = size();
-        result_type __r = __n ? (*this)[0] : result_type();
-        for (size_t __i = 1; __i < __n; ++__i)
-        {
-            result_type __x = __expr_[__i];
-            if (__r < __x)
-                __r = __x;
-        }
-        return __r;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__shift_expr<_ValExpr> > shift (int __i) const
-        {return __val_expr<__shift_expr<_ValExpr> >(__shift_expr<_ValExpr>(__i, __expr_));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<__cshift_expr<_ValExpr> > cshift(int __i) const
-        {return __val_expr<__cshift_expr<_ValExpr> >(__cshift_expr<_ValExpr>(__i, __expr_));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<_UnaryOp<__apply_expr<value_type, value_type(*)(value_type)>, _ValExpr> >
-    apply(value_type __f(value_type)) const
-    {
-        typedef __apply_expr<value_type, value_type(*)(value_type)> _Op;
-        typedef _UnaryOp<_Op, _ValExpr> _NewExpr;
-        return __val_expr<_NewExpr>(_NewExpr(_Op(__f), __expr_));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __val_expr<_UnaryOp<__apply_expr<value_type, value_type(*)(const value_type&)>, _ValExpr> >
-    apply(value_type __f(const value_type&)) const
-    {
-        typedef __apply_expr<value_type, value_type(*)(const value_type&)> _Op;
-        typedef _UnaryOp<_Op, _ValExpr> _NewExpr;
-        return __val_expr<_NewExpr>(_NewExpr(_Op(__f), __expr_));
-    }
-};
-
-template<class _ValExpr>
-__val_expr<_ValExpr>::operator valarray<__val_expr::result_type>() const
-{
-    valarray<result_type> __r;
-    size_t __n = __expr_.size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<result_type*>(
-                    _VSTD::__libcpp_allocate(__n * sizeof(result_type), _LIBCPP_ALIGNOF(result_type)));
-        for (size_t __i = 0; __i != __n; ++__r.__end_, ++__i)
-            ::new (__r.__end_) result_type(__expr_[__i]);
-    }
-    return __r;
-}
-
-// valarray
-
-template <class _Tp>
-inline
-valarray<_Tp>::valarray(size_t __n)
-    : __begin_(0),
-      __end_(0)
-{
-    if (__n)
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-            _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (size_t __n_left = __n; __n_left; --__n_left, ++__end_)
-                ::new (__end_) value_type();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__n);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>::valarray(const value_type& __x, size_t __n)
-    : __begin_(0),
-      __end_(0)
-{
-    resize(__n, __x);
-}
-
-template <class _Tp>
-valarray<_Tp>::valarray(const value_type* __p, size_t __n)
-    : __begin_(0),
-      __end_(0)
-{
-    if (__n)
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-            _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (size_t __n_left = __n; __n_left; ++__end_, ++__p, --__n_left)
-                ::new (__end_) value_type(*__p);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__n);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Tp>
-valarray<_Tp>::valarray(const valarray& __v)
-    : __begin_(0),
-      __end_(0)
-{
-    if (__v.size())
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-            _VSTD::__libcpp_allocate(__v.size() * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (value_type* __p = __v.__begin_; __p != __v.__end_; ++__end_, ++__p)
-                ::new (__end_) value_type(*__p);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__v.size());
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-inline
-valarray<_Tp>::valarray(valarray&& __v) _NOEXCEPT
-    : __begin_(__v.__begin_),
-      __end_(__v.__end_)
-{
-    __v.__begin_ = __v.__end_ = nullptr;
-}
-
-template <class _Tp>
-valarray<_Tp>::valarray(initializer_list<value_type> __il)
-    : __begin_(0),
-      __end_(0)
-{
-    const size_t __n = __il.size();
-    if (__n)
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-_VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            size_t __n_left = __n;
-            for (const value_type* __p = __il.begin(); __n_left; ++__end_, ++__p, --__n_left)
-                ::new (__end_) value_type(*__p);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__n);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-valarray<_Tp>::valarray(const slice_array<value_type>& __sa)
-    : __begin_(0),
-      __end_(0)
-{
-    const size_t __n = __sa.__size_;
-    if (__n)
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-          _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            size_t __n_left = __n;
-            for (const value_type* __p = __sa.__vp_; __n_left; ++__end_, __p += __sa.__stride_, --__n_left)
-                ::new (__end_) value_type(*__p);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__n);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Tp>
-valarray<_Tp>::valarray(const gslice_array<value_type>& __ga)
-    : __begin_(0),
-      __end_(0)
-{
-    const size_t __n = __ga.__1d_.size();
-    if (__n)
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            typedef const size_t* _Ip;
-            const value_type* __s = __ga.__vp_;
-            for (_Ip __i = __ga.__1d_.__begin_, __e = __ga.__1d_.__end_;
-                    __i != __e; ++__i, ++__end_)
-                ::new (__end_) value_type(__s[*__i]);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__n);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Tp>
-valarray<_Tp>::valarray(const mask_array<value_type>& __ma)
-    : __begin_(0),
-      __end_(0)
-{
-    const size_t __n = __ma.__1d_.size();
-    if (__n)
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            typedef const size_t* _Ip;
-            const value_type* __s = __ma.__vp_;
-            for (_Ip __i = __ma.__1d_.__begin_, __e = __ma.__1d_.__end_;
-                    __i != __e; ++__i, ++__end_)
-                ::new (__end_) value_type(__s[*__i]);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__n);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Tp>
-valarray<_Tp>::valarray(const indirect_array<value_type>& __ia)
-    : __begin_(0),
-      __end_(0)
-{
-    const size_t __n = __ia.__1d_.size();
-    if (__n)
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            typedef const size_t* _Ip;
-            const value_type* __s = __ia.__vp_;
-            for (_Ip __i = __ia.__1d_.__begin_, __e = __ia.__1d_.__end_;
-                    __i != __e; ++__i, ++__end_)
-                ::new (__end_) value_type(__s[*__i]);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__n);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>::~valarray()
-{
-    __clear(size());
-}
-
-template <class _Tp>
-valarray<_Tp>&
-valarray<_Tp>::__assign_range(const value_type* __f, const value_type* __l)
-{
-    size_t __n = __l - __f;
-    if (size() != __n)
-    {
-        __clear(size());
-        __begin_ = static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-        __end_ = __begin_ + __n;
-        _VSTD::uninitialized_copy(__f, __l, __begin_);
-    } else {
-        _VSTD::copy(__f, __l, __begin_);
-    }
-    return *this;
-}
-
-template <class _Tp>
-valarray<_Tp>&
-valarray<_Tp>::operator=(const valarray& __v)
-{
-    if (this != &__v)
-        return __assign_range(__v.__begin_, __v.__end_);
-    return *this;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator=(valarray&& __v) _NOEXCEPT
-{
-    __clear(size());
-    __begin_ = __v.__begin_;
-    __end_ = __v.__end_;
-    __v.__begin_ = nullptr;
-    __v.__end_ = nullptr;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator=(initializer_list<value_type> __il)
-{
-    return __assign_range(__il.begin(), __il.end());
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator=(const value_type& __x)
-{
-    _VSTD::fill(__begin_, __end_, __x);
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator=(const slice_array<value_type>& __sa)
-{
-    value_type* __t = __begin_;
-    const value_type* __s = __sa.__vp_;
-    for (size_t __n = __sa.__size_; __n; --__n, __s += __sa.__stride_, ++__t)
-        *__t = *__s;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator=(const gslice_array<value_type>& __ga)
-{
-    typedef const size_t* _Ip;
-    value_type* __t = __begin_;
-    const value_type* __s = __ga.__vp_;
-    for (_Ip __i = __ga.__1d_.__begin_, __e = __ga.__1d_.__end_;
-                    __i != __e; ++__i, ++__t)
-        *__t = __s[*__i];
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator=(const mask_array<value_type>& __ma)
-{
-    typedef const size_t* _Ip;
-    value_type* __t = __begin_;
-    const value_type* __s = __ma.__vp_;
-    for (_Ip __i = __ma.__1d_.__begin_, __e = __ma.__1d_.__end_;
-                    __i != __e; ++__i, ++__t)
-        *__t = __s[*__i];
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator=(const indirect_array<value_type>& __ia)
-{
-    typedef const size_t* _Ip;
-    value_type* __t = __begin_;
-    const value_type* __s = __ia.__vp_;
-    for (_Ip __i = __ia.__1d_.__begin_, __e = __ia.__1d_.__end_;
-                    __i != __e; ++__i, ++__t)
-        *__t = __s[*__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _ValExpr>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator=(const __val_expr<_ValExpr>& __v)
-{
-    size_t __n = __v.size();
-    if (size() != __n)
-        resize(__n);
-    value_type* __t = __begin_;
-    for (size_t __i = 0; __i != __n; ++__t, ++__i)
-        *__t = result_type(__v[__i]);
-    return *this;
-}
-
-template <class _Tp>
-inline
-__val_expr<__slice_expr<const valarray<_Tp>&> >
-valarray<_Tp>::operator[](slice __s) const
-{
-    return __val_expr<__slice_expr<const valarray&> >(__slice_expr<const valarray&>(__s, *this));
-}
-
-template <class _Tp>
-inline
-slice_array<_Tp>
-valarray<_Tp>::operator[](slice __s)
-{
-    return slice_array<value_type>(__s, *this);
-}
-
-template <class _Tp>
-inline
-__val_expr<__indirect_expr<const valarray<_Tp>&> >
-valarray<_Tp>::operator[](const gslice& __gs) const
-{
-    return __val_expr<__indirect_expr<const valarray&> >(__indirect_expr<const valarray&>(__gs.__1d_, *this));
-}
-
-template <class _Tp>
-inline
-gslice_array<_Tp>
-valarray<_Tp>::operator[](const gslice& __gs)
-{
-    return gslice_array<value_type>(__gs, *this);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-inline
-__val_expr<__indirect_expr<const valarray<_Tp>&> >
-valarray<_Tp>::operator[](gslice&& __gs) const
-{
-    return __val_expr<__indirect_expr<const valarray&> >(__indirect_expr<const valarray&>(move(__gs.__1d_), *this));
-}
-
-template <class _Tp>
-inline
-gslice_array<_Tp>
-valarray<_Tp>::operator[](gslice&& __gs)
-{
-    return gslice_array<value_type>(move(__gs), *this);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-inline
-__val_expr<__mask_expr<const valarray<_Tp>&> >
-valarray<_Tp>::operator[](const valarray<bool>& __vb) const
-{
-    return __val_expr<__mask_expr<const valarray&> >(__mask_expr<const valarray&>(__vb, *this));
-}
-
-template <class _Tp>
-inline
-mask_array<_Tp>
-valarray<_Tp>::operator[](const valarray<bool>& __vb)
-{
-    return mask_array<value_type>(__vb, *this);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-inline
-__val_expr<__mask_expr<const valarray<_Tp>&> >
-valarray<_Tp>::operator[](valarray<bool>&& __vb) const
-{
-    return __val_expr<__mask_expr<const valarray&> >(__mask_expr<const valarray&>(move(__vb), *this));
-}
-
-template <class _Tp>
-inline
-mask_array<_Tp>
-valarray<_Tp>::operator[](valarray<bool>&& __vb)
-{
-    return mask_array<value_type>(move(__vb), *this);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-inline
-__val_expr<__indirect_expr<const valarray<_Tp>&> >
-valarray<_Tp>::operator[](const valarray<size_t>& __vs) const
-{
-    return __val_expr<__indirect_expr<const valarray&> >(__indirect_expr<const valarray&>(__vs, *this));
-}
-
-template <class _Tp>
-inline
-indirect_array<_Tp>
-valarray<_Tp>::operator[](const valarray<size_t>& __vs)
-{
-    return indirect_array<value_type>(__vs, *this);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-inline
-__val_expr<__indirect_expr<const valarray<_Tp>&> >
-valarray<_Tp>::operator[](valarray<size_t>&& __vs) const
-{
-    return __val_expr<__indirect_expr<const valarray&> >(__indirect_expr<const valarray&>(move(__vs), *this));
-}
-
-template <class _Tp>
-inline
-indirect_array<_Tp>
-valarray<_Tp>::operator[](valarray<size_t>&& __vs)
-{
-    return indirect_array<value_type>(move(__vs), *this);
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-valarray<_Tp>
-valarray<_Tp>::operator+() const
-{
-    valarray<value_type> __r;
-    size_t __n = size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-        for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
-            ::new (__r.__end_) value_type(+*__p);
-    }
-    return __r;
-}
-
-template <class _Tp>
-valarray<_Tp>
-valarray<_Tp>::operator-() const
-{
-    valarray<value_type> __r;
-    size_t __n = size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-        for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
-            ::new (__r.__end_) value_type(-*__p);
-    }
-    return __r;
-}
-
-template <class _Tp>
-valarray<_Tp>
-valarray<_Tp>::operator~() const
-{
-    valarray<value_type> __r;
-    size_t __n = size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-        for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
-            ::new (__r.__end_) value_type(~*__p);
-    }
-    return __r;
-}
-
-template <class _Tp>
-valarray<bool>
-valarray<_Tp>::operator!() const
-{
-    valarray<bool> __r;
-    size_t __n = size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<bool*>(_VSTD::__libcpp_allocate(__n * sizeof(bool), _LIBCPP_ALIGNOF(bool)));
-        for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
-            ::new (__r.__end_) bool(!*__p);
-    }
-    return __r;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator*=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p *= __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator/=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p /= __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator%=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p %= __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator+=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p += __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator-=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p -= __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator^=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p ^= __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator&=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p &= __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator|=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p |= __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator<<=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p <<= __x;
-    return *this;
-}
-
-template <class _Tp>
-inline
-valarray<_Tp>&
-valarray<_Tp>::operator>>=(const value_type& __x)
-{
-    for (value_type* __p = __begin_; __p != __end_; ++__p)
-        *__p >>= __x;
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator*=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t *= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator/=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t /= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator%=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t %= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator+=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t += __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator-=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t -= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator^=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t ^= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator|=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t |= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator&=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t &= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator<<=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t <<= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-template <class _Expr>
-inline
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    valarray<_Tp>&
->::type
-valarray<_Tp>::operator>>=(const _Expr& __v)
-{
-    size_t __i = 0;
-    for (value_type* __t = __begin_; __t != __end_ ; ++__t, ++__i)
-        *__t >>= __v[__i];
-    return *this;
-}
-
-template <class _Tp>
-inline
-void
-valarray<_Tp>::swap(valarray& __v) _NOEXCEPT
-{
-    _VSTD::swap(__begin_, __v.__begin_);
-    _VSTD::swap(__end_, __v.__end_);
-}
-
-template <class _Tp>
-inline
-_Tp
-valarray<_Tp>::sum() const
-{
-    if (__begin_ == __end_)
-        return value_type();
-    const value_type* __p = __begin_;
-    _Tp __r = *__p;
-    for (++__p; __p != __end_; ++__p)
-        __r += *__p;
-    return __r;
-}
-
-template <class _Tp>
-inline
-_Tp
-valarray<_Tp>::min() const
-{
-    if (__begin_ == __end_)
-        return value_type();
-    return *_VSTD::min_element(__begin_, __end_);
-}
-
-template <class _Tp>
-inline
-_Tp
-valarray<_Tp>::max() const
-{
-    if (__begin_ == __end_)
-        return value_type();
-    return *_VSTD::max_element(__begin_, __end_);
-}
-
-template <class _Tp>
-valarray<_Tp>
-valarray<_Tp>::shift(int __i) const
-{
-    valarray<value_type> __r;
-    size_t __n = size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-        const value_type* __sb;
-        value_type* __tb;
-        value_type* __te;
-        if (__i >= 0)
-        {
-            __i = _VSTD::min(__i, static_cast<int>(__n));
-            __sb = __begin_ + __i;
-            __tb = __r.__begin_;
-            __te = __r.__begin_ + (__n - __i);
-        }
-        else
-        {
-            __i = _VSTD::min(-__i, static_cast<int>(__n));
-            __sb = __begin_;
-            __tb = __r.__begin_ + __i;
-            __te = __r.__begin_ + __n;
-        }
-        for (; __r.__end_ != __tb; ++__r.__end_)
-            ::new (__r.__end_) value_type();
-        for (; __r.__end_ != __te; ++__r.__end_, ++__sb)
-            ::new (__r.__end_) value_type(*__sb);
-        for (__te = __r.__begin_ + __n; __r.__end_ != __te; ++__r.__end_)
-            ::new (__r.__end_) value_type();
-    }
-    return __r;
-}
-
-template <class _Tp>
-valarray<_Tp>
-valarray<_Tp>::cshift(int __i) const
-{
-    valarray<value_type> __r;
-    size_t __n = size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-        __i %= static_cast<int>(__n);
-        const value_type* __m = __i >= 0 ? __begin_ + __i : __end_ + __i;
-        for (const value_type* __s = __m; __s != __end_; ++__r.__end_, ++__s)
-            ::new (__r.__end_) value_type(*__s);
-        for (const value_type* __s = __begin_; __s != __m; ++__r.__end_, ++__s)
-            ::new (__r.__end_) value_type(*__s);
-    }
-    return __r;
-}
-
-template <class _Tp>
-valarray<_Tp>
-valarray<_Tp>::apply(value_type __f(value_type)) const
-{
-    valarray<value_type> __r;
-    size_t __n = size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-        for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
-            ::new (__r.__end_) value_type(__f(*__p));
-    }
-    return __r;
-}
-
-template <class _Tp>
-valarray<_Tp>
-valarray<_Tp>::apply(value_type __f(const value_type&)) const
-{
-    valarray<value_type> __r;
-    size_t __n = size();
-    if (__n)
-    {
-        __r.__begin_ =
-            __r.__end_ =
-                static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-        for (const value_type* __p = __begin_; __n; ++__r.__end_, ++__p, --__n)
-            ::new (__r.__end_) value_type(__f(*__p));
-    }
-    return __r;
-}
-
-template <class _Tp>
-inline
-void valarray<_Tp>::__clear(size_t __capacity)
-{
-  if (__begin_ != nullptr)
-  {
-    while (__end_ != __begin_)
-      (--__end_)->~value_type();
-    _VSTD::__libcpp_deallocate(__begin_, __capacity * sizeof(value_type), _LIBCPP_ALIGNOF(value_type));
-    __begin_ = __end_ = nullptr;
-  }
-}
-
-template <class _Tp>
-void
-valarray<_Tp>::resize(size_t __n, value_type __x)
-{
-    __clear(size());
-    if (__n)
-    {
-        __begin_ = __end_ = static_cast<value_type*>(
-           _VSTD::__libcpp_allocate(__n * sizeof(value_type), _LIBCPP_ALIGNOF(value_type)));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            for (size_t __n_left = __n; __n_left; --__n_left, ++__end_)
-                ::new (__end_) value_type(__x);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __clear(__n);
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template<class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(valarray<_Tp>& __x, valarray<_Tp>& __y) _NOEXCEPT
-{
-    __x.swap(__y);
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<multiplies<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator*(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<multiplies<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(multiplies<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<multiplies<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator*(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<multiplies<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(multiplies<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<multiplies<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator*(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<multiplies<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(multiplies<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<divides<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator/(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<divides<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(divides<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<divides<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator/(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<divides<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(divides<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<divides<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator/(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<divides<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(divides<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<modulus<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator%(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<modulus<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(modulus<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<modulus<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator%(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<modulus<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(modulus<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<modulus<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator%(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<modulus<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(modulus<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<plus<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator+(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<plus<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(plus<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<plus<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator+(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<plus<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(plus<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<plus<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator+(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<plus<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(plus<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<minus<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator-(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<minus<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(minus<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<minus<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator-(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<minus<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(minus<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<minus<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator-(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<minus<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(minus<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<bit_xor<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator^(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<bit_xor<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(bit_xor<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<bit_xor<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator^(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<bit_xor<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(bit_xor<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<bit_xor<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator^(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<bit_xor<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(bit_xor<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<bit_and<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator&(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<bit_and<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(bit_and<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<bit_and<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator&(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<bit_and<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(bit_and<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<bit_and<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator&(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<bit_and<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(bit_and<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<bit_or<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator|(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<bit_or<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(bit_or<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<bit_or<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator|(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<bit_or<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(bit_or<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<bit_or<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator|(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<bit_or<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(bit_or<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<__bit_shift_left<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator<<(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<__bit_shift_left<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(__bit_shift_left<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<__bit_shift_left<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator<<(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<__bit_shift_left<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(__bit_shift_left<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<__bit_shift_left<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator<<(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<__bit_shift_left<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__bit_shift_left<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<__bit_shift_right<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator>>(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<__bit_shift_right<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(__bit_shift_right<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<__bit_shift_right<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator>>(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<__bit_shift_right<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(__bit_shift_right<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<__bit_shift_right<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator>>(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<__bit_shift_right<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__bit_shift_right<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<logical_and<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator&&(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<logical_and<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(logical_and<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<logical_and<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator&&(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<logical_and<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(logical_and<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<logical_and<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator&&(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<logical_and<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(logical_and<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<logical_or<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator||(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<logical_or<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(logical_or<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<logical_or<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator||(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<logical_or<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(logical_or<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<logical_or<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator||(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<logical_or<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(logical_or<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<equal_to<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator==(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<equal_to<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(equal_to<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<equal_to<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator==(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<equal_to<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(equal_to<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<equal_to<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator==(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<equal_to<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(equal_to<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<not_equal_to<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator!=(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<not_equal_to<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(not_equal_to<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<not_equal_to<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator!=(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<not_equal_to<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(not_equal_to<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<not_equal_to<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator!=(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<not_equal_to<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(not_equal_to<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<less<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator<(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<less<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(less<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<less<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator<(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<less<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(less<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<less<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator<(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<less<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(less<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<greater<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator>(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<greater<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(greater<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<greater<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator>(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<greater<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(greater<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<greater<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator>(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<greater<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(greater<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<less_equal<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator<=(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<less_equal<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(less_equal<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<less_equal<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator<=(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<less_equal<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(less_equal<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<less_equal<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator<=(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<less_equal<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(less_equal<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<greater_equal<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-operator>=(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<greater_equal<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(greater_equal<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<greater_equal<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-operator>=(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<greater_equal<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(greater_equal<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<greater_equal<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-operator>=(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<greater_equal<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(greater_equal<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__abs_expr<typename _Expr::value_type>, _Expr> >
->::type
-abs(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__abs_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__abs_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__acos_expr<typename _Expr::value_type>, _Expr> >
->::type
-acos(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__acos_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__acos_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__asin_expr<typename _Expr::value_type>, _Expr> >
->::type
-asin(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__asin_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__asin_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__atan_expr<typename _Expr::value_type>, _Expr> >
->::type
-atan(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__atan_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__atan_expr<value_type>(), __x));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<__atan2_expr<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-atan2(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<__atan2_expr<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(__atan2_expr<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<__atan2_expr<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-atan2(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<__atan2_expr<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(__atan2_expr<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<__atan2_expr<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-atan2(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<__atan2_expr<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__atan2_expr<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__cos_expr<typename _Expr::value_type>, _Expr> >
->::type
-cos(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__cos_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__cos_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__cosh_expr<typename _Expr::value_type>, _Expr> >
->::type
-cosh(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__cosh_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__cosh_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__exp_expr<typename _Expr::value_type>, _Expr> >
->::type
-exp(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__exp_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__exp_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__log_expr<typename _Expr::value_type>, _Expr> >
->::type
-log(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__log_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__log_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__log10_expr<typename _Expr::value_type>, _Expr> >
->::type
-log10(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__log10_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__log10_expr<value_type>(), __x));
-}
-
-template<class _Expr1, class _Expr2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr1>::value && __is_val_expr<_Expr2>::value,
-    __val_expr<_BinaryOp<__pow_expr<typename _Expr1::value_type>, _Expr1, _Expr2> >
->::type
-pow(const _Expr1& __x, const _Expr2& __y)
-{
-    typedef typename _Expr1::value_type value_type;
-    typedef _BinaryOp<__pow_expr<value_type>, _Expr1, _Expr2> _Op;
-    return __val_expr<_Op>(_Op(__pow_expr<value_type>(), __x, __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>,
-               _Expr, __scalar_expr<typename _Expr::value_type> > >
->::type
-pow(const _Expr& __x, const typename _Expr::value_type& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<__pow_expr<value_type>, _Expr, __scalar_expr<value_type> > _Op;
-    return __val_expr<_Op>(_Op(__pow_expr<value_type>(),
-                           __x, __scalar_expr<value_type>(__y, __x.size())));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_BinaryOp<__pow_expr<typename _Expr::value_type>,
-               __scalar_expr<typename _Expr::value_type>, _Expr> >
->::type
-pow(const typename _Expr::value_type& __x, const _Expr& __y)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _BinaryOp<__pow_expr<value_type>, __scalar_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__pow_expr<value_type>(),
-                           __scalar_expr<value_type>(__x, __y.size()), __y));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__sin_expr<typename _Expr::value_type>, _Expr> >
->::type
-sin(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__sin_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__sin_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__sinh_expr<typename _Expr::value_type>, _Expr> >
->::type
-sinh(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__sinh_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__sinh_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__sqrt_expr<typename _Expr::value_type>, _Expr> >
->::type
-sqrt(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__sqrt_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__sqrt_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__tan_expr<typename _Expr::value_type>, _Expr> >
->::type
-tan(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__tan_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__tan_expr<value_type>(), __x));
-}
-
-template<class _Expr>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if
-<
-    __is_val_expr<_Expr>::value,
-    __val_expr<_UnaryOp<__tanh_expr<typename _Expr::value_type>, _Expr> >
->::type
-tanh(const _Expr& __x)
-{
-    typedef typename _Expr::value_type value_type;
-    typedef _UnaryOp<__tanh_expr<value_type>, _Expr> _Op;
-    return __val_expr<_Op>(_Op(__tanh_expr<value_type>(), __x));
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp*
-begin(valarray<_Tp>& __v)
-{
-    return __v.__begin_;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-const _Tp*
-begin(const valarray<_Tp>& __v)
-{
-    return __v.__begin_;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp*
-end(valarray<_Tp>& __v)
-{
-    return __v.__end_;
-}
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-const _Tp*
-end(const valarray<_Tp>& __v)
-{
-    return __v.__end_;
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_VALARRAY
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/vector b/r21/sources/cxx-stl/llvm-libc++/include/vector
deleted file mode 100644
index 5481b2f..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/vector
+++ /dev/null
@@ -1,3402 +0,0 @@
-// -*- C++ -*-
-//===------------------------------ vector --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_VECTOR
-#define _LIBCPP_VECTOR
-
-/*
-    vector synopsis
-
-namespace std
-{
-
-template <class T, class Allocator = allocator<T> >
-class vector
-{
-public:
-    typedef T                                        value_type;
-    typedef Allocator                                allocator_type;
-    typedef typename allocator_type::reference       reference;
-    typedef typename allocator_type::const_reference const_reference;
-    typedef implementation-defined                   iterator;
-    typedef implementation-defined                   const_iterator;
-    typedef typename allocator_type::size_type       size_type;
-    typedef typename allocator_type::difference_type difference_type;
-    typedef typename allocator_type::pointer         pointer;
-    typedef typename allocator_type::const_pointer   const_pointer;
-    typedef std::reverse_iterator<iterator>          reverse_iterator;
-    typedef std::reverse_iterator<const_iterator>    const_reverse_iterator;
-
-    vector()
-        noexcept(is_nothrow_default_constructible<allocator_type>::value);
-    explicit vector(const allocator_type&);
-    explicit vector(size_type n);
-    explicit vector(size_type n, const allocator_type&); // C++14
-    vector(size_type n, const value_type& value, const allocator_type& = allocator_type());
-    template <class InputIterator>
-        vector(InputIterator first, InputIterator last, const allocator_type& = allocator_type());
-    vector(const vector& x);
-    vector(vector&& x)
-        noexcept(is_nothrow_move_constructible<allocator_type>::value);
-    vector(initializer_list<value_type> il);
-    vector(initializer_list<value_type> il, const allocator_type& a);
-    ~vector();
-    vector& operator=(const vector& x);
-    vector& operator=(vector&& x)
-        noexcept(
-             allocator_type::propagate_on_container_move_assignment::value ||
-             allocator_type::is_always_equal::value); // C++17
-    vector& operator=(initializer_list<value_type> il);
-    template <class InputIterator>
-        void assign(InputIterator first, InputIterator last);
-    void assign(size_type n, const value_type& u);
-    void assign(initializer_list<value_type> il);
-
-    allocator_type get_allocator() const noexcept;
-
-    iterator               begin() noexcept;
-    const_iterator         begin()   const noexcept;
-    iterator               end() noexcept;
-    const_iterator         end()     const noexcept;
-
-    reverse_iterator       rbegin() noexcept;
-    const_reverse_iterator rbegin()  const noexcept;
-    reverse_iterator       rend() noexcept;
-    const_reverse_iterator rend()    const noexcept;
-
-    const_iterator         cbegin()  const noexcept;
-    const_iterator         cend()    const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend()   const noexcept;
-
-    size_type size() const noexcept;
-    size_type max_size() const noexcept;
-    size_type capacity() const noexcept;
-    bool empty() const noexcept;
-    void reserve(size_type n);
-    void shrink_to_fit() noexcept;
-
-    reference       operator[](size_type n);
-    const_reference operator[](size_type n) const;
-    reference       at(size_type n);
-    const_reference at(size_type n) const;
-
-    reference       front();
-    const_reference front() const;
-    reference       back();
-    const_reference back() const;
-
-    value_type*       data() noexcept;
-    const value_type* data() const noexcept;
-
-    void push_back(const value_type& x);
-    void push_back(value_type&& x);
-    template <class... Args>
-        reference emplace_back(Args&&... args); // reference in C++17
-    void pop_back();
-
-    template <class... Args> iterator emplace(const_iterator position, Args&&... args);
-    iterator insert(const_iterator position, const value_type& x);
-    iterator insert(const_iterator position, value_type&& x);
-    iterator insert(const_iterator position, size_type n, const value_type& x);
-    template <class InputIterator>
-        iterator insert(const_iterator position, InputIterator first, InputIterator last);
-    iterator insert(const_iterator position, initializer_list<value_type> il);
-
-    iterator erase(const_iterator position);
-    iterator erase(const_iterator first, const_iterator last);
-
-    void clear() noexcept;
-
-    void resize(size_type sz);
-    void resize(size_type sz, const value_type& c);
-
-    void swap(vector&)
-        noexcept(allocator_traits<allocator_type>::propagate_on_container_swap::value ||
-                 allocator_traits<allocator_type>::is_always_equal::value);  // C++17
-
-    bool __invariants() const;
-};
-
-template <class Allocator = allocator<T> >
-class vector<bool, Allocator>
-{
-public:
-    typedef bool                                     value_type;
-    typedef Allocator                                allocator_type;
-    typedef implementation-defined                   iterator;
-    typedef implementation-defined                   const_iterator;
-    typedef typename allocator_type::size_type       size_type;
-    typedef typename allocator_type::difference_type difference_type;
-    typedef iterator                                 pointer;
-    typedef const_iterator                           const_pointer;
-    typedef std::reverse_iterator<iterator>          reverse_iterator;
-    typedef std::reverse_iterator<const_iterator>    const_reverse_iterator;
-
-    class reference
-    {
-    public:
-        reference(const reference&) noexcept;
-        operator bool() const noexcept;
-        reference& operator=(const bool x) noexcept;
-        reference& operator=(const reference& x) noexcept;
-        iterator operator&() const noexcept;
-        void flip() noexcept;
-    };
-
-    class const_reference
-    {
-    public:
-        const_reference(const reference&) noexcept;
-        operator bool() const noexcept;
-        const_iterator operator&() const noexcept;
-    };
-
-    vector()
-        noexcept(is_nothrow_default_constructible<allocator_type>::value);
-    explicit vector(const allocator_type&);
-    explicit vector(size_type n, const allocator_type& a = allocator_type()); // C++14
-    vector(size_type n, const value_type& value, const allocator_type& = allocator_type());
-    template <class InputIterator>
-        vector(InputIterator first, InputIterator last, const allocator_type& = allocator_type());
-    vector(const vector& x);
-    vector(vector&& x)
-        noexcept(is_nothrow_move_constructible<allocator_type>::value);
-    vector(initializer_list<value_type> il);
-    vector(initializer_list<value_type> il, const allocator_type& a);
-    ~vector();
-    vector& operator=(const vector& x);
-    vector& operator=(vector&& x)
-        noexcept(
-             allocator_type::propagate_on_container_move_assignment::value ||
-             allocator_type::is_always_equal::value); // C++17
-    vector& operator=(initializer_list<value_type> il);
-    template <class InputIterator>
-        void assign(InputIterator first, InputIterator last);
-    void assign(size_type n, const value_type& u);
-    void assign(initializer_list<value_type> il);
-
-    allocator_type get_allocator() const noexcept;
-
-    iterator               begin() noexcept;
-    const_iterator         begin()   const noexcept;
-    iterator               end() noexcept;
-    const_iterator         end()     const noexcept;
-
-    reverse_iterator       rbegin() noexcept;
-    const_reverse_iterator rbegin()  const noexcept;
-    reverse_iterator       rend() noexcept;
-    const_reverse_iterator rend()    const noexcept;
-
-    const_iterator         cbegin()  const noexcept;
-    const_iterator         cend()    const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend()   const noexcept;
-
-    size_type size() const noexcept;
-    size_type max_size() const noexcept;
-    size_type capacity() const noexcept;
-    bool empty() const noexcept;
-    void reserve(size_type n);
-    void shrink_to_fit() noexcept;
-
-    reference       operator[](size_type n);
-    const_reference operator[](size_type n) const;
-    reference       at(size_type n);
-    const_reference at(size_type n) const;
-
-    reference       front();
-    const_reference front() const;
-    reference       back();
-    const_reference back() const;
-
-    void push_back(const value_type& x);
-    template <class... Args> reference emplace_back(Args&&... args);  // C++14; reference in C++17
-    void pop_back();
-
-    template <class... Args> iterator emplace(const_iterator position, Args&&... args);  // C++14
-    iterator insert(const_iterator position, const value_type& x);
-    iterator insert(const_iterator position, size_type n, const value_type& x);
-    template <class InputIterator>
-        iterator insert(const_iterator position, InputIterator first, InputIterator last);
-    iterator insert(const_iterator position, initializer_list<value_type> il);
-
-    iterator erase(const_iterator position);
-    iterator erase(const_iterator first, const_iterator last);
-
-    void clear() noexcept;
-
-    void resize(size_type sz);
-    void resize(size_type sz, value_type x);
-
-    void swap(vector&)
-        noexcept(allocator_traits<allocator_type>::propagate_on_container_swap::value ||
-                 allocator_traits<allocator_type>::is_always_equal::value);  // C++17
-    void flip() noexcept;
-
-    bool __invariants() const;
-};
-
-template <class InputIterator, class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>>
-   vector(InputIterator, InputIterator, Allocator = Allocator())
-   -> vector<typename iterator_traits<InputIterator>::value_type, Allocator>;
-
-template <class Allocator> struct hash<std::vector<bool, Allocator>>;
-
-template <class T, class Allocator> bool operator==(const vector<T,Allocator>& x, const vector<T,Allocator>& y);
-template <class T, class Allocator> bool operator< (const vector<T,Allocator>& x, const vector<T,Allocator>& y);
-template <class T, class Allocator> bool operator!=(const vector<T,Allocator>& x, const vector<T,Allocator>& y);
-template <class T, class Allocator> bool operator> (const vector<T,Allocator>& x, const vector<T,Allocator>& y);
-template <class T, class Allocator> bool operator>=(const vector<T,Allocator>& x, const vector<T,Allocator>& y);
-template <class T, class Allocator> bool operator<=(const vector<T,Allocator>& x, const vector<T,Allocator>& y);
-
-template <class T, class Allocator>
-void swap(vector<T,Allocator>& x, vector<T,Allocator>& y)
-    noexcept(noexcept(x.swap(y)));
-
-template <class T, class Allocator, class U>
-    void erase(vector<T, Allocator>& c, const U& value);       // C++20
-template <class T, class Allocator, class Predicate>
-    void erase_if(vector<T, Allocator>& c, Predicate pred);    // C++20
-
-}  // std
-
-*/
-
-#include <__config>
-#include <iosfwd> // for forward declaration of vector
-#include <__bit_reference>
-#include <type_traits>
-#include <climits>
-#include <limits>
-#include <initializer_list>
-#include <memory>
-#include <stdexcept>
-#include <algorithm>
-#include <cstring>
-#include <version>
-#include <__split_buffer>
-#include <__functional_base>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <bool>
-class __vector_base_common
-{
-protected:
-    _LIBCPP_INLINE_VISIBILITY __vector_base_common() {}
-    _LIBCPP_NORETURN void __throw_length_error() const;
-    _LIBCPP_NORETURN void __throw_out_of_range() const;
-};
-
-template <bool __b>
-void
-__vector_base_common<__b>::__throw_length_error() const
-{
-    _VSTD::__throw_length_error("vector");
-}
-
-template <bool __b>
-void
-__vector_base_common<__b>::__throw_out_of_range() const
-{
-    _VSTD::__throw_out_of_range("vector");
-}
-
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __vector_base_common<true>)
-
-template <class _Tp, class _Allocator>
-class __vector_base
-    : protected __vector_base_common<true>
-{
-public:
-    typedef _Allocator                               allocator_type;
-    typedef allocator_traits<allocator_type>         __alloc_traits;
-    typedef typename __alloc_traits::size_type       size_type;
-protected:
-    typedef _Tp                                      value_type;
-    typedef value_type&                              reference;
-    typedef const value_type&                        const_reference;
-    typedef typename __alloc_traits::difference_type difference_type;
-    typedef typename __alloc_traits::pointer         pointer;
-    typedef typename __alloc_traits::const_pointer   const_pointer;
-    typedef pointer                                  iterator;
-    typedef const_pointer                            const_iterator;
-
-    pointer                                         __begin_;
-    pointer                                         __end_;
-    __compressed_pair<pointer, allocator_type> __end_cap_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type& __alloc() _NOEXCEPT
-        {return __end_cap_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const allocator_type& __alloc() const _NOEXCEPT
-        {return __end_cap_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer& __end_cap() _NOEXCEPT
-        {return __end_cap_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-    const pointer& __end_cap() const _NOEXCEPT
-        {return __end_cap_.first();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __vector_base()
-        _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
-    _LIBCPP_INLINE_VISIBILITY __vector_base(const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY __vector_base(allocator_type&& __a) _NOEXCEPT;
-#endif
-    ~__vector_base();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__destruct_at_end(__begin_);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type capacity() const _NOEXCEPT
-        {return static_cast<size_type>(__end_cap() - __begin_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __destruct_at_end(pointer __new_last) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __vector_base& __c)
-        {__copy_assign_alloc(__c, integral_constant<bool,
-                      __alloc_traits::propagate_on_container_copy_assignment::value>());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__vector_base& __c)
-        _NOEXCEPT_(
-            !__alloc_traits::propagate_on_container_move_assignment::value ||
-            is_nothrow_move_assignable<allocator_type>::value)
-        {__move_assign_alloc(__c, integral_constant<bool,
-                      __alloc_traits::propagate_on_container_move_assignment::value>());}
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __vector_base& __c, true_type)
-        {
-            if (__alloc() != __c.__alloc())
-            {
-                clear();
-                __alloc_traits::deallocate(__alloc(), __begin_, capacity());
-                __begin_ = __end_ = __end_cap() = nullptr;
-            }
-            __alloc() = __c.__alloc();
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const __vector_base&, false_type)
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__vector_base& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-        {
-            __alloc() = _VSTD::move(__c.__alloc());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(__vector_base&, false_type)
-        _NOEXCEPT
-        {}
-};
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__vector_base<_Tp, _Allocator>::__destruct_at_end(pointer __new_last) _NOEXCEPT
-{
-    pointer __soon_to_be_end = __end_;
-    while (__new_last != __soon_to_be_end)
-        __alloc_traits::destroy(__alloc(), _VSTD::__to_raw_pointer(--__soon_to_be_end));
-    __end_ = __new_last;
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-__vector_base<_Tp, _Allocator>::__vector_base()
-        _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
-    : __begin_(nullptr),
-      __end_(nullptr),
-      __end_cap_(nullptr)
-{
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-__vector_base<_Tp, _Allocator>::__vector_base(const allocator_type& __a)
-    : __begin_(nullptr),
-      __end_(nullptr),
-      __end_cap_(nullptr, __a)
-{
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-__vector_base<_Tp, _Allocator>::__vector_base(allocator_type&& __a) _NOEXCEPT
-    : __begin_(nullptr),
-      __end_(nullptr),
-      __end_cap_(nullptr, std::move(__a)) {}
-#endif
-
-template <class _Tp, class _Allocator>
-__vector_base<_Tp, _Allocator>::~__vector_base()
-{
-    if (__begin_ != nullptr)
-    {
-        clear();
-        __alloc_traits::deallocate(__alloc(), __begin_, capacity());
-    }
-}
-
-template <class _Tp, class _Allocator /* = allocator<_Tp> */>
-class _LIBCPP_TEMPLATE_VIS vector
-    : private __vector_base<_Tp, _Allocator>
-{
-private:
-    typedef __vector_base<_Tp, _Allocator>           __base;
-    typedef allocator<_Tp>                           __default_allocator_type;
-public:
-    typedef vector                                   __self;
-    typedef _Tp                                      value_type;
-    typedef _Allocator                               allocator_type;
-    typedef typename __base::__alloc_traits          __alloc_traits;
-    typedef typename __base::reference               reference;
-    typedef typename __base::const_reference         const_reference;
-    typedef typename __base::size_type               size_type;
-    typedef typename __base::difference_type         difference_type;
-    typedef typename __base::pointer                 pointer;
-    typedef typename __base::const_pointer           const_pointer;
-    typedef __wrap_iter<pointer>                     iterator;
-    typedef __wrap_iter<const_pointer>               const_iterator;
-    typedef _VSTD::reverse_iterator<iterator>         reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator>   const_reverse_iterator;
-
-    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
-                  "Allocator::value_type must be same type as value_type");
-
-    _LIBCPP_INLINE_VISIBILITY
-    vector() _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
-        {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-            __get_db()->__insert_c(this);
-#endif
-        }
-    _LIBCPP_INLINE_VISIBILITY explicit vector(const allocator_type& __a)
-#if _LIBCPP_STD_VER <= 14
-        _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
-#else
-        _NOEXCEPT
-#endif
-        : __base(__a)
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__insert_c(this);
-#endif
-    }
-    explicit vector(size_type __n);
-#if _LIBCPP_STD_VER > 11
-    explicit vector(size_type __n, const allocator_type& __a);
-#endif
-    vector(size_type __n, const value_type& __x);
-    vector(size_type __n, const value_type& __x, const allocator_type& __a);
-    template <class _InputIterator>
-        vector(_InputIterator __first,
-               typename enable_if<__is_input_iterator  <_InputIterator>::value &&
-                                 !__is_forward_iterator<_InputIterator>::value &&
-                                 is_constructible<
-                                    value_type,
-                                    typename iterator_traits<_InputIterator>::reference>::value,
-                                 _InputIterator>::type __last);
-    template <class _InputIterator>
-        vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a,
-               typename enable_if<__is_input_iterator  <_InputIterator>::value &&
-                                 !__is_forward_iterator<_InputIterator>::value &&
-                                 is_constructible<
-                                    value_type,
-                                    typename iterator_traits<_InputIterator>::reference>::value>::type* = 0);
-    template <class _ForwardIterator>
-        vector(_ForwardIterator __first,
-               typename enable_if<__is_forward_iterator<_ForwardIterator>::value &&
-                                 is_constructible<
-                                    value_type,
-                                    typename iterator_traits<_ForwardIterator>::reference>::value,
-                                 _ForwardIterator>::type __last);
-    template <class _ForwardIterator>
-        vector(_ForwardIterator __first, _ForwardIterator __last, const allocator_type& __a,
-               typename enable_if<__is_forward_iterator<_ForwardIterator>::value &&
-                                 is_constructible<
-                                    value_type,
-                                    typename iterator_traits<_ForwardIterator>::reference>::value>::type* = 0);
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~vector()
-    {
-        __annotate_delete();
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->__erase_c(this);
-#endif
-    }
-
-    vector(const vector& __x);
-    vector(const vector& __x, const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    vector& operator=(const vector& __x);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    vector(initializer_list<value_type> __il);
-
-    _LIBCPP_INLINE_VISIBILITY
-    vector(initializer_list<value_type> __il, const allocator_type& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    vector(vector&& __x)
-#if _LIBCPP_STD_VER > 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    vector(vector&& __x, const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    vector& operator=(vector&& __x)
-        _NOEXCEPT_((__noexcept_move_assign_container<_Allocator, __alloc_traits>::value));
-
-    _LIBCPP_INLINE_VISIBILITY
-    vector& operator=(initializer_list<value_type> __il)
-        {assign(__il.begin(), __il.end()); return *this;}
-
-#endif  // !_LIBCPP_CXX03_LANG
-
-    template <class _InputIterator>
-        typename enable_if
-        <
-             __is_input_iterator  <_InputIterator>::value &&
-            !__is_forward_iterator<_InputIterator>::value &&
-            is_constructible<
-                 value_type,
-                 typename iterator_traits<_InputIterator>::reference>::value,
-            void
-        >::type
-        assign(_InputIterator __first, _InputIterator __last);
-    template <class _ForwardIterator>
-        typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value &&
-            is_constructible<
-                 value_type,
-                 typename iterator_traits<_ForwardIterator>::reference>::value,
-            void
-        >::type
-        assign(_ForwardIterator __first, _ForwardIterator __last);
-
-    void assign(size_type __n, const_reference __u);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void assign(initializer_list<value_type> __il)
-        {assign(__il.begin(), __il.end());}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT
-        {return this->__alloc();}
-
-    _LIBCPP_INLINE_VISIBILITY iterator               begin() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY const_iterator         begin()   const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY iterator               end() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY const_iterator         end()     const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator       rbegin() _NOEXCEPT
-        {return       reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin()  const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator       rend() _NOEXCEPT
-        {return       reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend()    const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator         cbegin()  const _NOEXCEPT
-        {return begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator         cend()    const _NOEXCEPT
-        {return end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT
-        {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend()   const _NOEXCEPT
-        {return rend();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT
-        {return static_cast<size_type>(this->__end_ - this->__begin_);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type capacity() const _NOEXCEPT
-        {return __base::capacity();}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT
-        {return this->__begin_ == this->__end_;}
-    size_type max_size() const _NOEXCEPT;
-    void reserve(size_type __n);
-    void shrink_to_fit() _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY reference       operator[](size_type __n) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY const_reference operator[](size_type __n) const _NOEXCEPT;
-    reference       at(size_type __n);
-    const_reference at(size_type __n) const;
-
-    _LIBCPP_INLINE_VISIBILITY reference       front() _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(!empty(), "front() called for empty vector");
-        return *this->__begin_;
-    }
-    _LIBCPP_INLINE_VISIBILITY const_reference front() const _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(!empty(), "front() called for empty vector");
-        return *this->__begin_;
-    }
-    _LIBCPP_INLINE_VISIBILITY reference       back() _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(!empty(), "back() called for empty vector");
-        return *(this->__end_ - 1);
-    }
-    _LIBCPP_INLINE_VISIBILITY const_reference back()  const _NOEXCEPT
-    {
-        _LIBCPP_ASSERT(!empty(), "back() called for empty vector");
-        return *(this->__end_ - 1);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type*       data() _NOEXCEPT
-        {return _VSTD::__to_raw_pointer(this->__begin_);}
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type* data() const _NOEXCEPT
-        {return _VSTD::__to_raw_pointer(this->__begin_);}
-
-#ifdef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void __emplace_back(const value_type& __x) { push_back(__x); }
-#else
-    template <class _Arg>
-    _LIBCPP_INLINE_VISIBILITY
-    void __emplace_back(_Arg&& __arg) {
-      emplace_back(_VSTD::forward<_Arg>(__arg));
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY void push_back(const_reference __x);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY void push_back(value_type&& __x);
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-#if _LIBCPP_STD_VER > 14
-        reference emplace_back(_Args&&... __args);
-#else
-        void      emplace_back(_Args&&... __args);
-#endif
-#endif // !_LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    void pop_back();
-
-    iterator insert(const_iterator __position, const_reference __x);
-
-#ifndef _LIBCPP_CXX03_LANG
-    iterator insert(const_iterator __position, value_type&& __x);
-    template <class... _Args>
-        iterator emplace(const_iterator __position, _Args&&... __args);
-#endif  // !_LIBCPP_CXX03_LANG
-
-    iterator insert(const_iterator __position, size_type __n, const_reference __x);
-    template <class _InputIterator>
-        typename enable_if
-        <
-             __is_input_iterator  <_InputIterator>::value &&
-            !__is_forward_iterator<_InputIterator>::value &&
-            is_constructible<
-                 value_type,
-                 typename iterator_traits<_InputIterator>::reference>::value,
-            iterator
-        >::type
-        insert(const_iterator __position, _InputIterator __first, _InputIterator __last);
-    template <class _ForwardIterator>
-        typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value &&
-            is_constructible<
-                 value_type,
-                 typename iterator_traits<_ForwardIterator>::reference>::value,
-            iterator
-        >::type
-        insert(const_iterator __position, _ForwardIterator __first, _ForwardIterator __last);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __position, initializer_list<value_type> __il)
-        {return insert(__position, __il.begin(), __il.end());}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __position);
-    iterator erase(const_iterator __first, const_iterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT
-    {
-        size_type __old_size = size();
-        __base::clear();
-        __annotate_shrink(__old_size);
-        __invalidate_all_iterators();
-    }
-
-    void resize(size_type __sz);
-    void resize(size_type __sz, const_reference __x);
-
-    void swap(vector&)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value);
-#endif
-
-    bool __invariants() const;
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    bool __dereferenceable(const const_iterator* __i) const;
-    bool __decrementable(const const_iterator* __i) const;
-    bool __addable(const const_iterator* __i, ptrdiff_t __n) const;
-    bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const;
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-private:
-    _LIBCPP_INLINE_VISIBILITY void __invalidate_all_iterators();
-    _LIBCPP_INLINE_VISIBILITY void __invalidate_iterators_past(pointer __new_last);
-    void __vallocate(size_type __n);
-    void __vdeallocate() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __new_size) const;
-    void __construct_at_end(size_type __n);
-    _LIBCPP_INLINE_VISIBILITY
-    void __construct_at_end(size_type __n, const_reference __x);
-    template <class _ForwardIterator>
-        typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value,
-            void
-        >::type
-        __construct_at_end(_ForwardIterator __first, _ForwardIterator __last, size_type __n);
-    void __append(size_type __n);
-    void __append(size_type __n, const_reference __x);
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       __make_iter(pointer __p) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator __make_iter(const_pointer __p) const _NOEXCEPT;
-    void __swap_out_circular_buffer(__split_buffer<value_type, allocator_type&>& __v);
-    pointer __swap_out_circular_buffer(__split_buffer<value_type, allocator_type&>& __v, pointer __p);
-    void __move_range(pointer __from_s, pointer __from_e, pointer __to);
-    void __move_assign(vector& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value);
-    void __move_assign(vector& __c, false_type)
-        _NOEXCEPT_(__alloc_traits::is_always_equal::value);
-    _LIBCPP_INLINE_VISIBILITY
-    void __destruct_at_end(pointer __new_last) _NOEXCEPT
-    {
-        __invalidate_iterators_past(__new_last);
-        size_type __old_size = size();
-        __base::__destruct_at_end(__new_last);
-        __annotate_shrink(__old_size);
-    }
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    inline void __push_back_slow_path(_Up&& __x);
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    inline void __emplace_back_slow_path(_Args&&... __args);
-#else
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    inline void __push_back_slow_path(_Up& __x);
-#endif
-
-    // The following functions are no-ops outside of AddressSanitizer mode.
-    // We call annotatations only for the default Allocator because other allocators
-    // may not meet the AddressSanitizer alignment constraints.
-    // See the documentation for __sanitizer_annotate_contiguous_container for more details.
-#ifndef _LIBCPP_HAS_NO_ASAN
-    void __annotate_contiguous_container(const void *__beg, const void *__end,
-                                         const void *__old_mid,
-                                         const void *__new_mid) const
-    {
-
-      if (__beg && is_same<allocator_type, __default_allocator_type>::value)
-        __sanitizer_annotate_contiguous_container(__beg, __end, __old_mid, __new_mid);
-    }
-#else
-    _LIBCPP_INLINE_VISIBILITY
-    void __annotate_contiguous_container(const void*, const void*, const void*,
-                                         const void*) const _NOEXCEPT {}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void __annotate_new(size_type __current_size) const _NOEXCEPT {
-      __annotate_contiguous_container(data(), data() + capacity(),
-                                      data() + capacity(), data() + __current_size);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __annotate_delete() const _NOEXCEPT {
-      __annotate_contiguous_container(data(), data() + capacity(),
-                                      data() + size(), data() + capacity());
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __annotate_increase(size_type __n) const _NOEXCEPT
-    {
-      __annotate_contiguous_container(data(), data() + capacity(),
-                                      data() + size(), data() + size() + __n);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __annotate_shrink(size_type __old_size) const _NOEXCEPT
-    {
-      __annotate_contiguous_container(data(), data() + capacity(),
-                                      data() + __old_size, data() + size());
-    }
-
-  struct _ConstructTransaction {
-    explicit _ConstructTransaction(vector &__v, size_type __n)
-      : __v_(__v),  __pos_(__v.__end_), __new_end_(__v.__end_ + __n) {
-#ifndef _LIBCPP_HAS_NO_ASAN
-      __v_.__annotate_increase(__n);
-#endif
-    }
-    ~_ConstructTransaction() {
-      __v_.__end_ = __pos_;
-#ifndef _LIBCPP_HAS_NO_ASAN
-      if (__pos_ != __new_end_) {
-        __v_.__annotate_shrink(__new_end_ - __v_.__begin_);
-      }
-#endif
-    }
-
-    vector &__v_;
-    pointer __pos_;
-    const_pointer const __new_end_;
-
-  private:
-    _ConstructTransaction(_ConstructTransaction const&) = delete;
-    _ConstructTransaction& operator=(_ConstructTransaction const&) = delete;
-  };
-
-  template <class ..._Args>
-  _LIBCPP_INLINE_VISIBILITY
-  void __construct_one_at_end(_Args&& ...__args) {
-    _ConstructTransaction __tx(*this, 1);
-    __alloc_traits::construct(this->__alloc(), _VSTD::__to_raw_pointer(__tx.__pos_),
-        _VSTD::forward<_Args>(__args)...);
-    ++__tx.__pos_;
-  }
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Alloc = typename std::allocator<typename iterator_traits<_InputIterator>::value_type>,
-         class = typename enable_if<__is_allocator<_Alloc>::value, void>::type
-         >
-vector(_InputIterator, _InputIterator)
-  -> vector<typename iterator_traits<_InputIterator>::value_type, _Alloc>;
-
-template<class _InputIterator,
-         class _Alloc,
-         class = typename enable_if<__is_allocator<_Alloc>::value, void>::type
-         >
-vector(_InputIterator, _InputIterator, _Alloc)
-  -> vector<typename iterator_traits<_InputIterator>::value_type, _Alloc>;
-#endif
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__swap_out_circular_buffer(__split_buffer<value_type, allocator_type&>& __v)
-{
-    __annotate_delete();
-    __alloc_traits::__construct_backward(this->__alloc(), this->__begin_, this->__end_, __v.__begin_);
-    _VSTD::swap(this->__begin_, __v.__begin_);
-    _VSTD::swap(this->__end_, __v.__end_);
-    _VSTD::swap(this->__end_cap(), __v.__end_cap());
-    __v.__first_ = __v.__begin_;
-    __annotate_new(size());
-    __invalidate_all_iterators();
-}
-
-template <class _Tp, class _Allocator>
-typename vector<_Tp, _Allocator>::pointer
-vector<_Tp, _Allocator>::__swap_out_circular_buffer(__split_buffer<value_type, allocator_type&>& __v, pointer __p)
-{
-    __annotate_delete();
-    pointer __r = __v.__begin_;
-    __alloc_traits::__construct_backward(this->__alloc(), this->__begin_, __p, __v.__begin_);
-    __alloc_traits::__construct_forward(this->__alloc(), __p, this->__end_, __v.__end_);
-    _VSTD::swap(this->__begin_, __v.__begin_);
-    _VSTD::swap(this->__end_, __v.__end_);
-    _VSTD::swap(this->__end_cap(), __v.__end_cap());
-    __v.__first_ = __v.__begin_;
-    __annotate_new(size());
-    __invalidate_all_iterators();
-    return __r;
-}
-
-//  Allocate space for __n objects
-//  throws length_error if __n > max_size()
-//  throws (probably bad_alloc) if memory run out
-//  Precondition:  __begin_ == __end_ == __end_cap() == 0
-//  Precondition:  __n > 0
-//  Postcondition:  capacity() == __n
-//  Postcondition:  size() == 0
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__vallocate(size_type __n)
-{
-    if (__n > max_size())
-        this->__throw_length_error();
-    this->__begin_ = this->__end_ = __alloc_traits::allocate(this->__alloc(), __n);
-    this->__end_cap() = this->__begin_ + __n;
-    __annotate_new(0);
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__vdeallocate() _NOEXCEPT
-{
-    if (this->__begin_ != nullptr)
-    {
-        clear();
-        __alloc_traits::deallocate(this->__alloc(), this->__begin_, capacity());
-        this->__begin_ = this->__end_ = this->__end_cap() = nullptr;
-    }
-}
-
-template <class _Tp, class _Allocator>
-typename vector<_Tp, _Allocator>::size_type
-vector<_Tp, _Allocator>::max_size() const _NOEXCEPT
-{
-    return _VSTD::min<size_type>(__alloc_traits::max_size(this->__alloc()),
-                                 numeric_limits<difference_type>::max());
-}
-
-//  Precondition:  __new_size > capacity()
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::size_type
-vector<_Tp, _Allocator>::__recommend(size_type __new_size) const
-{
-    const size_type __ms = max_size();
-    if (__new_size > __ms)
-        this->__throw_length_error();
-    const size_type __cap = capacity();
-    if (__cap >= __ms / 2)
-        return __ms;
-    return _VSTD::max<size_type>(2*__cap, __new_size);
-}
-
-//  Default constructs __n objects starting at __end_
-//  throws if construction throws
-//  Precondition:  __n > 0
-//  Precondition:  size() + __n <= capacity()
-//  Postcondition:  size() == size() + __n
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__construct_at_end(size_type __n)
-{
-    _ConstructTransaction __tx(*this, __n);
-    for (; __tx.__pos_ != __tx.__new_end_; ++__tx.__pos_) {
-      __alloc_traits::construct(this->__alloc(), _VSTD::__to_raw_pointer(__tx.__pos_));
-    }
-}
-
-//  Copy constructs __n objects starting at __end_ from __x
-//  throws if construction throws
-//  Precondition:  __n > 0
-//  Precondition:  size() + __n <= capacity()
-//  Postcondition:  size() == old size() + __n
-//  Postcondition:  [i] == __x for all i in [size() - __n, __n)
-template <class _Tp, class _Allocator>
-inline
-void
-vector<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x)
-{
-    _ConstructTransaction __tx(*this, __n);
-    for (; __tx.__pos_ != __tx.__new_end_; ++__tx.__pos_) {
-        __alloc_traits::construct(this->__alloc(), _VSTD::__to_raw_pointer(__tx.__pos_), __x);
-    }
-}
-
-template <class _Tp, class _Allocator>
-template <class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value,
-    void
->::type
-vector<_Tp, _Allocator>::__construct_at_end(_ForwardIterator __first, _ForwardIterator __last, size_type __n)
-{
-    _ConstructTransaction __tx(*this, __n);
-    __alloc_traits::__construct_range_forward(this->__alloc(), __first, __last, __tx.__pos_);
-}
-
-//  Default constructs __n objects starting at __end_
-//  throws if construction throws
-//  Postcondition:  size() == size() + __n
-//  Exception safety: strong.
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__append(size_type __n)
-{
-    if (static_cast<size_type>(this->__end_cap() - this->__end_) >= __n)
-        this->__construct_at_end(__n);
-    else
-    {
-        allocator_type& __a = this->__alloc();
-        __split_buffer<value_type, allocator_type&> __v(__recommend(size() + __n), size(), __a);
-        __v.__construct_at_end(__n);
-        __swap_out_circular_buffer(__v);
-    }
-}
-
-//  Default constructs __n objects starting at __end_
-//  throws if construction throws
-//  Postcondition:  size() == size() + __n
-//  Exception safety: strong.
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__append(size_type __n, const_reference __x)
-{
-    if (static_cast<size_type>(this->__end_cap() - this->__end_) >= __n)
-        this->__construct_at_end(__n, __x);
-    else
-    {
-        allocator_type& __a = this->__alloc();
-        __split_buffer<value_type, allocator_type&> __v(__recommend(size() + __n), size(), __a);
-        __v.__construct_at_end(__n, __x);
-        __swap_out_circular_buffer(__v);
-    }
-}
-
-template <class _Tp, class _Allocator>
-vector<_Tp, _Allocator>::vector(size_type __n)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__n);
-    }
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp, class _Allocator>
-vector<_Tp, _Allocator>::vector(size_type __n, const allocator_type& __a)
-    : __base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__n);
-    }
-}
-#endif
-
-template <class _Tp, class _Allocator>
-vector<_Tp, _Allocator>::vector(size_type __n, const value_type& __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__n, __x);
-    }
-}
-
-template <class _Tp, class _Allocator>
-vector<_Tp, _Allocator>::vector(size_type __n, const value_type& __x, const allocator_type& __a)
-    : __base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__n, __x);
-    }
-}
-
-template <class _Tp, class _Allocator>
-template <class _InputIterator>
-vector<_Tp, _Allocator>::vector(_InputIterator __first,
-       typename enable_if<__is_input_iterator  <_InputIterator>::value &&
-                         !__is_forward_iterator<_InputIterator>::value &&
-                         is_constructible<
-                            value_type,
-                            typename iterator_traits<_InputIterator>::reference>::value,
-                          _InputIterator>::type __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (; __first != __last; ++__first)
-        __emplace_back(*__first);
-}
-
-template <class _Tp, class _Allocator>
-template <class _InputIterator>
-vector<_Tp, _Allocator>::vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a,
-       typename enable_if<__is_input_iterator  <_InputIterator>::value &&
-                         !__is_forward_iterator<_InputIterator>::value &&
-                         is_constructible<
-                            value_type,
-                            typename iterator_traits<_InputIterator>::reference>::value>::type*)
-    : __base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    for (; __first != __last; ++__first)
-        __emplace_back(*__first);
-}
-
-template <class _Tp, class _Allocator>
-template <class _ForwardIterator>
-vector<_Tp, _Allocator>::vector(_ForwardIterator __first,
-                                typename enable_if<__is_forward_iterator<_ForwardIterator>::value &&
-                                is_constructible<
-                                   value_type,
-                                   typename iterator_traits<_ForwardIterator>::reference>::value,
-                                                   _ForwardIterator>::type __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__first, __last, __n);
-    }
-}
-
-template <class _Tp, class _Allocator>
-template <class _ForwardIterator>
-vector<_Tp, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __last, const allocator_type& __a,
-                                typename enable_if<__is_forward_iterator<_ForwardIterator>::value &&
-                                is_constructible<
-                                   value_type,
-                                   typename iterator_traits<_ForwardIterator>::reference>::value>::type*)
-    : __base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__first, __last, __n);
-    }
-}
-
-template <class _Tp, class _Allocator>
-vector<_Tp, _Allocator>::vector(const vector& __x)
-    : __base(__alloc_traits::select_on_container_copy_construction(__x.__alloc()))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    size_type __n = __x.size();
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__x.__begin_, __x.__end_, __n);
-    }
-}
-
-template <class _Tp, class _Allocator>
-vector<_Tp, _Allocator>::vector(const vector& __x, const allocator_type& __a)
-    : __base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    size_type __n = __x.size();
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__x.__begin_, __x.__end_, __n);
-    }
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<_Tp, _Allocator>::vector(vector&& __x)
-#if _LIBCPP_STD_VER > 14
-        _NOEXCEPT
-#else
-        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
-#endif
-    : __base(_VSTD::move(__x.__alloc()))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-    __get_db()->swap(this, &__x);
-#endif
-    this->__begin_ = __x.__begin_;
-    this->__end_ = __x.__end_;
-    this->__end_cap() = __x.__end_cap();
-    __x.__begin_ = __x.__end_ = __x.__end_cap() = nullptr;
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<_Tp, _Allocator>::vector(vector&& __x, const allocator_type& __a)
-    : __base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__a == __x.__alloc())
-    {
-        this->__begin_ = __x.__begin_;
-        this->__end_ = __x.__end_;
-        this->__end_cap() = __x.__end_cap();
-        __x.__begin_ = __x.__end_ = __x.__end_cap() = nullptr;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        __get_db()->swap(this, &__x);
-#endif
-    }
-    else
-    {
-        typedef move_iterator<iterator> _Ip;
-        assign(_Ip(__x.begin()), _Ip(__x.end()));
-    }
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<_Tp, _Allocator>::vector(initializer_list<value_type> __il)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__il.size() > 0)
-    {
-        __vallocate(__il.size());
-        __construct_at_end(__il.begin(), __il.end(), __il.size());
-    }
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<_Tp, _Allocator>::vector(initializer_list<value_type> __il, const allocator_type& __a)
-    : __base(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__il.size() > 0)
-    {
-        __vallocate(__il.size());
-        __construct_at_end(__il.begin(), __il.end(), __il.size());
-    }
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<_Tp, _Allocator>&
-vector<_Tp, _Allocator>::operator=(vector&& __x)
-    _NOEXCEPT_((__noexcept_move_assign_container<_Allocator, __alloc_traits>::value))
-{
-    __move_assign(__x, integral_constant<bool,
-          __alloc_traits::propagate_on_container_move_assignment::value>());
-    return *this;
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__move_assign(vector& __c, false_type)
-    _NOEXCEPT_(__alloc_traits::is_always_equal::value)
-{
-    if (__base::__alloc() != __c.__alloc())
-    {
-        typedef move_iterator<iterator> _Ip;
-        assign(_Ip(__c.begin()), _Ip(__c.end()));
-    }
-    else
-        __move_assign(__c, true_type());
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__move_assign(vector& __c, true_type)
-    _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-{
-    __vdeallocate();
-    __base::__move_assign_alloc(__c); // this can throw
-    this->__begin_ = __c.__begin_;
-    this->__end_ = __c.__end_;
-    this->__end_cap() = __c.__end_cap();
-    __c.__begin_ = __c.__end_ = __c.__end_cap() = nullptr;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->swap(this, &__c);
-#endif
-}
-
-#endif  // !_LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<_Tp, _Allocator>&
-vector<_Tp, _Allocator>::operator=(const vector& __x)
-{
-    if (this != &__x)
-    {
-        __base::__copy_assign_alloc(__x);
-        assign(__x.__begin_, __x.__end_);
-    }
-    return *this;
-}
-
-template <class _Tp, class _Allocator>
-template <class _InputIterator>
-typename enable_if
-<
-     __is_input_iterator  <_InputIterator>::value &&
-    !__is_forward_iterator<_InputIterator>::value &&
-    is_constructible<
-       _Tp,
-       typename iterator_traits<_InputIterator>::reference>::value,
-    void
->::type
-vector<_Tp, _Allocator>::assign(_InputIterator __first, _InputIterator __last)
-{
-    clear();
-    for (; __first != __last; ++__first)
-        __emplace_back(*__first);
-}
-
-template <class _Tp, class _Allocator>
-template <class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value &&
-    is_constructible<
-       _Tp,
-       typename iterator_traits<_ForwardIterator>::reference>::value,
-    void
->::type
-vector<_Tp, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last)
-{
-    size_type __new_size = static_cast<size_type>(_VSTD::distance(__first, __last));
-    if (__new_size <= capacity())
-    {
-        _ForwardIterator __mid = __last;
-        bool __growing = false;
-        if (__new_size > size())
-        {
-            __growing = true;
-            __mid =  __first;
-            _VSTD::advance(__mid, size());
-        }
-        pointer __m = _VSTD::copy(__first, __mid, this->__begin_);
-        if (__growing)
-            __construct_at_end(__mid, __last, __new_size - size());
-        else
-            this->__destruct_at_end(__m);
-    }
-    else
-    {
-        __vdeallocate();
-        __vallocate(__recommend(__new_size));
-        __construct_at_end(__first, __last, __new_size);
-    }
-    __invalidate_all_iterators();
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::assign(size_type __n, const_reference __u)
-{
-    if (__n <= capacity())
-    {
-        size_type __s = size();
-        _VSTD::fill_n(this->__begin_, _VSTD::min(__n, __s), __u);
-        if (__n > __s)
-            __construct_at_end(__n - __s, __u);
-        else
-            this->__destruct_at_end(this->__begin_ + __n);
-    }
-    else
-    {
-        __vdeallocate();
-        __vallocate(__recommend(static_cast<size_type>(__n)));
-        __construct_at_end(__n, __u);
-    }
-    __invalidate_all_iterators();
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::__make_iter(pointer __p) _NOEXCEPT
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return iterator(this, __p);
-#else
-    return iterator(__p);
-#endif
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::const_iterator
-vector<_Tp, _Allocator>::__make_iter(const_pointer __p) const _NOEXCEPT
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    return const_iterator(this, __p);
-#else
-    return const_iterator(__p);
-#endif
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::begin() _NOEXCEPT
-{
-    return __make_iter(this->__begin_);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::const_iterator
-vector<_Tp, _Allocator>::begin() const _NOEXCEPT
-{
-    return __make_iter(this->__begin_);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::end() _NOEXCEPT
-{
-    return __make_iter(this->__end_);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::const_iterator
-vector<_Tp, _Allocator>::end() const _NOEXCEPT
-{
-    return __make_iter(this->__end_);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::reference
-vector<_Tp, _Allocator>::operator[](size_type __n) _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__n < size(), "vector[] index out of bounds");
-    return this->__begin_[__n];
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::const_reference
-vector<_Tp, _Allocator>::operator[](size_type __n) const _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__n < size(), "vector[] index out of bounds");
-    return this->__begin_[__n];
-}
-
-template <class _Tp, class _Allocator>
-typename vector<_Tp, _Allocator>::reference
-vector<_Tp, _Allocator>::at(size_type __n)
-{
-    if (__n >= size())
-        this->__throw_out_of_range();
-    return this->__begin_[__n];
-}
-
-template <class _Tp, class _Allocator>
-typename vector<_Tp, _Allocator>::const_reference
-vector<_Tp, _Allocator>::at(size_type __n) const
-{
-    if (__n >= size())
-        this->__throw_out_of_range();
-    return this->__begin_[__n];
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::reserve(size_type __n)
-{
-    if (__n > capacity())
-    {
-        allocator_type& __a = this->__alloc();
-        __split_buffer<value_type, allocator_type&> __v(__n, size(), __a);
-        __swap_out_circular_buffer(__v);
-    }
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::shrink_to_fit() _NOEXCEPT
-{
-    if (capacity() > size())
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            allocator_type& __a = this->__alloc();
-            __split_buffer<value_type, allocator_type&> __v(size(), size(), __a);
-            __swap_out_circular_buffer(__v);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Tp, class _Allocator>
-template <class _Up>
-void
-#ifndef _LIBCPP_CXX03_LANG
-vector<_Tp, _Allocator>::__push_back_slow_path(_Up&& __x)
-#else
-vector<_Tp, _Allocator>::__push_back_slow_path(_Up& __x)
-#endif
-{
-    allocator_type& __a = this->__alloc();
-    __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), size(), __a);
-    // __v.push_back(_VSTD::forward<_Up>(__x));
-    __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(__v.__end_), _VSTD::forward<_Up>(__x));
-    __v.__end_++;
-    __swap_out_circular_buffer(__v);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-vector<_Tp, _Allocator>::push_back(const_reference __x)
-{
-    if (this->__end_ != this->__end_cap())
-    {
-        __construct_one_at_end(__x);
-    }
-    else
-        __push_back_slow_path(__x);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-vector<_Tp, _Allocator>::push_back(value_type&& __x)
-{
-    if (this->__end_ < this->__end_cap())
-    {
-        __construct_one_at_end(_VSTD::move(__x));
-    }
-    else
-        __push_back_slow_path(_VSTD::move(__x));
-}
-
-template <class _Tp, class _Allocator>
-template <class... _Args>
-void
-vector<_Tp, _Allocator>::__emplace_back_slow_path(_Args&&... __args)
-{
-    allocator_type& __a = this->__alloc();
-    __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), size(), __a);
-//    __v.emplace_back(_VSTD::forward<_Args>(__args)...);
-    __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(__v.__end_), _VSTD::forward<_Args>(__args)...);
-    __v.__end_++;
-    __swap_out_circular_buffer(__v);
-}
-
-template <class _Tp, class _Allocator>
-template <class... _Args>
-inline
-#if _LIBCPP_STD_VER > 14
-typename vector<_Tp, _Allocator>::reference
-#else
-void
-#endif
-vector<_Tp, _Allocator>::emplace_back(_Args&&... __args)
-{
-    if (this->__end_ < this->__end_cap())
-    {
-        __construct_one_at_end(_VSTD::forward<_Args>(__args)...);
-    }
-    else
-        __emplace_back_slow_path(_VSTD::forward<_Args>(__args)...);
-#if _LIBCPP_STD_VER > 14
-    return this->back();
-#endif
-}
-
-#endif  // !_LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-inline
-void
-vector<_Tp, _Allocator>::pop_back()
-{
-    _LIBCPP_ASSERT(!empty(), "vector::pop_back called for empty vector");
-    this->__destruct_at_end(this->__end_ - 1);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::erase(const_iterator __position)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
-        "vector::erase(iterator) called with an iterator not"
-        " referring to this vector");
-#endif
-    _LIBCPP_ASSERT(__position != end(),
-        "vector::erase(iterator) called with a non-dereferenceable iterator");
-    difference_type __ps = __position - cbegin();
-    pointer __p = this->__begin_ + __ps;
-    this->__destruct_at_end(_VSTD::move(__p + 1, this->__end_, __p));
-    this->__invalidate_iterators_past(__p-1);
-    iterator __r = __make_iter(__p);
-    return __r;
-}
-
-template <class _Tp, class _Allocator>
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::erase(const_iterator __first, const_iterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__first) == this,
-        "vector::erase(iterator,  iterator) called with an iterator not"
-        " referring to this vector");
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__last) == this,
-        "vector::erase(iterator,  iterator) called with an iterator not"
-        " referring to this vector");
-#endif
-    _LIBCPP_ASSERT(__first <= __last, "vector::erase(first, last) called with invalid range");
-    pointer __p = this->__begin_ + (__first - begin());
-    if (__first != __last) {
-        this->__destruct_at_end(_VSTD::move(__p + (__last - __first), this->__end_, __p));
-        this->__invalidate_iterators_past(__p - 1);
-    }
-    iterator __r = __make_iter(__p);
-    return __r;
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::__move_range(pointer __from_s, pointer __from_e, pointer __to)
-{
-    pointer __old_last = this->__end_;
-    difference_type __n = __old_last - __to;
-    {
-      pointer __i = __from_s + __n;
-      _ConstructTransaction __tx(*this, __from_e - __i);
-      for (; __i < __from_e; ++__i, ++__tx.__pos_) {
-          __alloc_traits::construct(this->__alloc(),
-                                    _VSTD::__to_raw_pointer(__tx.__pos_),
-                                    _VSTD::move(*__i));
-      }
-    }
-    _VSTD::move_backward(__from_s, __from_s + __n, __old_last);
-}
-
-template <class _Tp, class _Allocator>
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::insert(const_iterator __position, const_reference __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
-        "vector::insert(iterator, x) called with an iterator not"
-        " referring to this vector");
-#endif
-    pointer __p = this->__begin_ + (__position - begin());
-    if (this->__end_ < this->__end_cap())
-    {
-        if (__p == this->__end_)
-        {
-            __construct_one_at_end(__x);
-        }
-        else
-        {
-            __move_range(__p, this->__end_, __p + 1);
-            const_pointer __xr = pointer_traits<const_pointer>::pointer_to(__x);
-            if (__p <= __xr && __xr < this->__end_)
-                ++__xr;
-            *__p = *__xr;
-        }
-    }
-    else
-    {
-        allocator_type& __a = this->__alloc();
-        __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), __p - this->__begin_, __a);
-        __v.push_back(__x);
-        __p = __swap_out_circular_buffer(__v, __p);
-    }
-    return __make_iter(__p);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::insert(const_iterator __position, value_type&& __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
-        "vector::insert(iterator, x) called with an iterator not"
-        " referring to this vector");
-#endif
-    pointer __p = this->__begin_ + (__position - begin());
-    if (this->__end_ < this->__end_cap())
-    {
-        if (__p == this->__end_)
-        {
-            __construct_one_at_end(_VSTD::move(__x));
-        }
-        else
-        {
-            __move_range(__p, this->__end_, __p + 1);
-            *__p = _VSTD::move(__x);
-        }
-    }
-    else
-    {
-        allocator_type& __a = this->__alloc();
-        __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), __p - this->__begin_, __a);
-        __v.push_back(_VSTD::move(__x));
-        __p = __swap_out_circular_buffer(__v, __p);
-    }
-    return __make_iter(__p);
-}
-
-template <class _Tp, class _Allocator>
-template <class... _Args>
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::emplace(const_iterator __position, _Args&&... __args)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
-        "vector::emplace(iterator, x) called with an iterator not"
-        " referring to this vector");
-#endif
-    pointer __p = this->__begin_ + (__position - begin());
-    if (this->__end_ < this->__end_cap())
-    {
-        if (__p == this->__end_)
-        {
-            __construct_one_at_end(_VSTD::forward<_Args>(__args)...);
-        }
-        else
-        {
-            __temp_value<value_type, _Allocator> __tmp(this->__alloc(), _VSTD::forward<_Args>(__args)...);
-            __move_range(__p, this->__end_, __p + 1);
-            *__p = _VSTD::move(__tmp.get());
-        }
-    }
-    else
-    {
-        allocator_type& __a = this->__alloc();
-        __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), __p - this->__begin_, __a);
-        __v.emplace_back(_VSTD::forward<_Args>(__args)...);
-        __p = __swap_out_circular_buffer(__v, __p);
-    }
-    return __make_iter(__p);
-}
-
-#endif  // !_LIBCPP_CXX03_LANG
-
-template <class _Tp, class _Allocator>
-typename vector<_Tp, _Allocator>::iterator
-vector<_Tp, _Allocator>::insert(const_iterator __position, size_type __n, const_reference __x)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
-        "vector::insert(iterator, n, x) called with an iterator not"
-        " referring to this vector");
-#endif
-    pointer __p = this->__begin_ + (__position - begin());
-    if (__n > 0)
-    {
-        if (__n <= static_cast<size_type>(this->__end_cap() - this->__end_))
-        {
-            size_type __old_n = __n;
-            pointer __old_last = this->__end_;
-            if (__n > static_cast<size_type>(this->__end_ - __p))
-            {
-                size_type __cx = __n - (this->__end_ - __p);
-                __construct_at_end(__cx, __x);
-                __n -= __cx;
-            }
-            if (__n > 0)
-            {
-                __move_range(__p, __old_last, __p + __old_n);
-                const_pointer __xr = pointer_traits<const_pointer>::pointer_to(__x);
-                if (__p <= __xr && __xr < this->__end_)
-                    __xr += __old_n;
-                _VSTD::fill_n(__p, __n, *__xr);
-            }
-        }
-        else
-        {
-            allocator_type& __a = this->__alloc();
-            __split_buffer<value_type, allocator_type&> __v(__recommend(size() + __n), __p - this->__begin_, __a);
-            __v.__construct_at_end(__n, __x);
-            __p = __swap_out_circular_buffer(__v, __p);
-        }
-    }
-    return __make_iter(__p);
-}
-
-template <class _Tp, class _Allocator>
-template <class _InputIterator>
-typename enable_if
-<
-     __is_input_iterator  <_InputIterator>::value &&
-    !__is_forward_iterator<_InputIterator>::value &&
-    is_constructible<
-       _Tp,
-       typename iterator_traits<_InputIterator>::reference>::value,
-    typename vector<_Tp, _Allocator>::iterator
->::type
-vector<_Tp, _Allocator>::insert(const_iterator __position, _InputIterator __first, _InputIterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
-        "vector::insert(iterator, range) called with an iterator not"
-        " referring to this vector");
-#endif
-    difference_type __off = __position - begin();
-    pointer __p = this->__begin_ + __off;
-    allocator_type& __a = this->__alloc();
-    pointer __old_last = this->__end_;
-    for (; this->__end_ != this->__end_cap() && __first != __last; ++__first)
-    {
-        __construct_one_at_end(*__first);
-    }
-    __split_buffer<value_type, allocator_type&> __v(__a);
-    if (__first != __last)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            __v.__construct_at_end(__first, __last);
-            difference_type __old_size = __old_last - this->__begin_;
-            difference_type __old_p = __p - this->__begin_;
-            reserve(__recommend(size() + __v.size()));
-            __p = this->__begin_ + __old_p;
-            __old_last = this->__begin_ + __old_size;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            erase(__make_iter(__old_last), end());
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-    __p = _VSTD::rotate(__p, __old_last, this->__end_);
-    insert(__make_iter(__p), make_move_iterator(__v.begin()),
-                                    make_move_iterator(__v.end()));
-    return begin() + __off;
-}
-
-template <class _Tp, class _Allocator>
-template <class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value &&
-    is_constructible<
-       _Tp,
-       typename iterator_traits<_ForwardIterator>::reference>::value,
-    typename vector<_Tp, _Allocator>::iterator
->::type
-vector<_Tp, _Allocator>::insert(const_iterator __position, _ForwardIterator __first, _ForwardIterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__position) == this,
-        "vector::insert(iterator, range) called with an iterator not"
-        " referring to this vector");
-#endif
-    pointer __p = this->__begin_ + (__position - begin());
-    difference_type __n = _VSTD::distance(__first, __last);
-    if (__n > 0)
-    {
-        if (__n <= this->__end_cap() - this->__end_)
-        {
-            size_type __old_n = __n;
-            pointer __old_last = this->__end_;
-            _ForwardIterator __m = __last;
-            difference_type __dx = this->__end_ - __p;
-            if (__n > __dx)
-            {
-                __m = __first;
-                difference_type __diff = this->__end_ - __p;
-                _VSTD::advance(__m, __diff);
-                __construct_at_end(__m, __last, __n - __diff);
-                __n = __dx;
-            }
-            if (__n > 0)
-            {
-                __move_range(__p, __old_last, __p + __old_n);
-                _VSTD::copy(__first, __m, __p);
-            }
-        }
-        else
-        {
-            allocator_type& __a = this->__alloc();
-            __split_buffer<value_type, allocator_type&> __v(__recommend(size() + __n), __p - this->__begin_, __a);
-            __v.__construct_at_end(__first, __last);
-            __p = __swap_out_circular_buffer(__v, __p);
-        }
-    }
-    return __make_iter(__p);
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::resize(size_type __sz)
-{
-    size_type __cs = size();
-    if (__cs < __sz)
-        this->__append(__sz - __cs);
-    else if (__cs > __sz)
-        this->__destruct_at_end(this->__begin_ + __sz);
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::resize(size_type __sz, const_reference __x)
-{
-    size_type __cs = size();
-    if (__cs < __sz)
-        this->__append(__sz - __cs, __x);
-    else if (__cs > __sz)
-        this->__destruct_at_end(this->__begin_ + __sz);
-}
-
-template <class _Tp, class _Allocator>
-void
-vector<_Tp, _Allocator>::swap(vector& __x)
-#if _LIBCPP_STD_VER >= 14
-    _NOEXCEPT
-#else
-    _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                __is_nothrow_swappable<allocator_type>::value)
-#endif
-{
-    _LIBCPP_ASSERT(__alloc_traits::propagate_on_container_swap::value ||
-                   this->__alloc() == __x.__alloc(),
-                   "vector::swap: Either propagate_on_container_swap must be true"
-                   " or the allocators must compare equal");
-    _VSTD::swap(this->__begin_, __x.__begin_);
-    _VSTD::swap(this->__end_, __x.__end_);
-    _VSTD::swap(this->__end_cap(), __x.__end_cap());
-    __swap_allocator(this->__alloc(), __x.__alloc(),
-        integral_constant<bool,__alloc_traits::propagate_on_container_swap::value>());
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->swap(this, &__x);
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-}
-
-template <class _Tp, class _Allocator>
-bool
-vector<_Tp, _Allocator>::__invariants() const
-{
-    if (this->__begin_ == nullptr)
-    {
-        if (this->__end_ != nullptr || this->__end_cap() != nullptr)
-            return false;
-    }
-    else
-    {
-        if (this->__begin_ > this->__end_)
-            return false;
-        if (this->__begin_ == this->__end_cap())
-            return false;
-        if (this->__end_ > this->__end_cap())
-            return false;
-    }
-    return true;
-}
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-template <class _Tp, class _Allocator>
-bool
-vector<_Tp, _Allocator>::__dereferenceable(const const_iterator* __i) const
-{
-    return this->__begin_ <= __i->base() && __i->base() < this->__end_;
-}
-
-template <class _Tp, class _Allocator>
-bool
-vector<_Tp, _Allocator>::__decrementable(const const_iterator* __i) const
-{
-    return this->__begin_ < __i->base() && __i->base() <= this->__end_;
-}
-
-template <class _Tp, class _Allocator>
-bool
-vector<_Tp, _Allocator>::__addable(const const_iterator* __i, ptrdiff_t __n) const
-{
-    const_pointer __p = __i->base() + __n;
-    return this->__begin_ <= __p && __p <= this->__end_;
-}
-
-template <class _Tp, class _Allocator>
-bool
-vector<_Tp, _Allocator>::__subscriptable(const const_iterator* __i, ptrdiff_t __n) const
-{
-    const_pointer __p = __i->base() + __n;
-    return this->__begin_ <= __p && __p < this->__end_;
-}
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-vector<_Tp, _Allocator>::__invalidate_all_iterators()
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__invalidate_all(this);
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-}
-
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-vector<_Tp, _Allocator>::__invalidate_iterators_past(pointer __new_last) {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-  __c_node* __c = __get_db()->__find_c_and_lock(this);
-  for (__i_node** __p = __c->end_; __p != __c->beg_; ) {
-    --__p;
-    const_iterator* __i = static_cast<const_iterator*>((*__p)->__i_);
-    if (__i->base() > __new_last) {
-      (*__p)->__c_ = nullptr;
-      if (--__c->end_ != __p)
-        memmove(__p, __p+1, (__c->end_ - __p)*sizeof(__i_node*));
-    }
-  }
-  __get_db()->unlock();
-#else
-  ((void)__new_last);
-#endif
-}
-
-// vector<bool>
-
-template <class _Allocator> class vector<bool, _Allocator>;
-
-template <class _Allocator> struct hash<vector<bool, _Allocator> >;
-
-template <class _Allocator>
-struct __has_storage_type<vector<bool, _Allocator> >
-{
-    static const bool value = true;
-};
-
-template <class _Allocator>
-class _LIBCPP_TEMPLATE_VIS vector<bool, _Allocator>
-    : private __vector_base_common<true>
-{
-public:
-    typedef vector                                   __self;
-    typedef bool                                     value_type;
-    typedef _Allocator                               allocator_type;
-    typedef allocator_traits<allocator_type>         __alloc_traits;
-    typedef typename __alloc_traits::size_type       size_type;
-    typedef typename __alloc_traits::difference_type difference_type;
-    typedef size_type __storage_type;
-    typedef __bit_iterator<vector, false>            pointer;
-    typedef __bit_iterator<vector, true>             const_pointer;
-    typedef pointer                                  iterator;
-    typedef const_pointer                            const_iterator;
-    typedef _VSTD::reverse_iterator<iterator>         reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator>   const_reverse_iterator;
-
-private:
-    typedef typename __rebind_alloc_helper<__alloc_traits, __storage_type>::type __storage_allocator;
-    typedef allocator_traits<__storage_allocator>    __storage_traits;
-    typedef typename __storage_traits::pointer       __storage_pointer;
-    typedef typename __storage_traits::const_pointer __const_storage_pointer;
-
-    __storage_pointer                                      __begin_;
-    size_type                                              __size_;
-    __compressed_pair<size_type, __storage_allocator> __cap_alloc_;
-public:
-    typedef __bit_reference<vector>                  reference;
-    typedef __bit_const_reference<vector>            const_reference;
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    size_type& __cap() _NOEXCEPT
-        {return __cap_alloc_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-    const size_type& __cap() const _NOEXCEPT
-        {return __cap_alloc_.first();}
-    _LIBCPP_INLINE_VISIBILITY
-    __storage_allocator& __alloc() _NOEXCEPT
-        {return __cap_alloc_.second();}
-    _LIBCPP_INLINE_VISIBILITY
-    const __storage_allocator& __alloc() const _NOEXCEPT
-        {return __cap_alloc_.second();}
-
-    static const unsigned __bits_per_word = static_cast<unsigned>(sizeof(__storage_type) * CHAR_BIT);
-
-    _LIBCPP_INLINE_VISIBILITY
-    static size_type __internal_cap_to_external(size_type __n) _NOEXCEPT
-        {return __n * __bits_per_word;}
-    _LIBCPP_INLINE_VISIBILITY
-    static size_type __external_cap_to_internal(size_type __n) _NOEXCEPT
-        {return (__n - 1) / __bits_per_word + 1;}
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    vector() _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
-
-    _LIBCPP_INLINE_VISIBILITY explicit vector(const allocator_type& __a)
-#if _LIBCPP_STD_VER <= 14
-        _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value);
-#else
-        _NOEXCEPT;
-#endif
-    ~vector();
-    explicit vector(size_type __n);
-#if _LIBCPP_STD_VER > 11
-    explicit vector(size_type __n, const allocator_type& __a);
-#endif
-    vector(size_type __n, const value_type& __v);
-    vector(size_type __n, const value_type& __v, const allocator_type& __a);
-    template <class _InputIterator>
-        vector(_InputIterator __first, _InputIterator __last,
-               typename enable_if<__is_input_iterator  <_InputIterator>::value &&
-                                 !__is_forward_iterator<_InputIterator>::value>::type* = 0);
-    template <class _InputIterator>
-        vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a,
-               typename enable_if<__is_input_iterator  <_InputIterator>::value &&
-                                 !__is_forward_iterator<_InputIterator>::value>::type* = 0);
-    template <class _ForwardIterator>
-        vector(_ForwardIterator __first, _ForwardIterator __last,
-               typename enable_if<__is_forward_iterator<_ForwardIterator>::value>::type* = 0);
-    template <class _ForwardIterator>
-        vector(_ForwardIterator __first, _ForwardIterator __last, const allocator_type& __a,
-               typename enable_if<__is_forward_iterator<_ForwardIterator>::value>::type* = 0);
-
-    vector(const vector& __v);
-    vector(const vector& __v, const allocator_type& __a);
-    vector& operator=(const vector& __v);
-
-#ifndef _LIBCPP_CXX03_LANG
-    vector(initializer_list<value_type> __il);
-    vector(initializer_list<value_type> __il, const allocator_type& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    vector(vector&& __v)
-#if _LIBCPP_STD_VER > 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);
-#endif
-    vector(vector&& __v, const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    vector& operator=(vector&& __v)
-        _NOEXCEPT_((__noexcept_move_assign_container<_Allocator, __alloc_traits>::value));
-
-    _LIBCPP_INLINE_VISIBILITY
-    vector& operator=(initializer_list<value_type> __il)
-        {assign(__il.begin(), __il.end()); return *this;}
-
-#endif  // !_LIBCPP_CXX03_LANG
-
-    template <class _InputIterator>
-        typename enable_if
-        <
-            __is_input_iterator<_InputIterator>::value &&
-           !__is_forward_iterator<_InputIterator>::value,
-           void
-        >::type
-        assign(_InputIterator __first, _InputIterator __last);
-    template <class _ForwardIterator>
-        typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value,
-           void
-        >::type
-        assign(_ForwardIterator __first, _ForwardIterator __last);
-
-    void assign(size_type __n, const value_type& __x);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void assign(initializer_list<value_type> __il)
-        {assign(__il.begin(), __il.end());}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY allocator_type get_allocator() const _NOEXCEPT
-        {return allocator_type(this->__alloc());}
-
-    size_type max_size() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_type capacity() const _NOEXCEPT
-        {return __internal_cap_to_external(__cap());}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT
-        {return __size_;}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT
-        {return __size_ == 0;}
-    void reserve(size_type __n);
-    void shrink_to_fit() _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator begin() _NOEXCEPT
-        {return __make_iter(0);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT
-        {return __make_iter(0);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator end() _NOEXCEPT
-        {return __make_iter(__size_);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()   const _NOEXCEPT
-        {return __make_iter(__size_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator rbegin() _NOEXCEPT
-        {return       reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin() const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    reverse_iterator rend() _NOEXCEPT
-        {return       reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend()   const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator         cbegin()  const _NOEXCEPT
-        {return __make_iter(0);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator         cend()    const _NOEXCEPT
-        {return __make_iter(__size_);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT
-        {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend()   const _NOEXCEPT
-        {return rend();}
-
-    _LIBCPP_INLINE_VISIBILITY reference       operator[](size_type __n)       {return __make_ref(__n);}
-    _LIBCPP_INLINE_VISIBILITY const_reference operator[](size_type __n) const {return __make_ref(__n);}
-    reference       at(size_type __n);
-    const_reference at(size_type __n) const;
-
-    _LIBCPP_INLINE_VISIBILITY reference       front()       {return __make_ref(0);}
-    _LIBCPP_INLINE_VISIBILITY const_reference front() const {return __make_ref(0);}
-    _LIBCPP_INLINE_VISIBILITY reference       back()        {return __make_ref(__size_ - 1);}
-    _LIBCPP_INLINE_VISIBILITY const_reference back()  const {return __make_ref(__size_ - 1);}
-
-    void push_back(const value_type& __x);
-#if _LIBCPP_STD_VER > 11
-    template <class... _Args>
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY reference emplace_back(_Args&&... __args)
-#else
-    _LIBCPP_INLINE_VISIBILITY void      emplace_back(_Args&&... __args)
-#endif
-    {
-        push_back ( value_type ( _VSTD::forward<_Args>(__args)... ));
-#if _LIBCPP_STD_VER > 14
-        return this->back();
-#endif
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY void pop_back() {--__size_;}
-
-#if _LIBCPP_STD_VER > 11
-    template <class... _Args>
-   _LIBCPP_INLINE_VISIBILITY iterator emplace(const_iterator position, _Args&&... __args)
-        { return insert ( position, value_type ( _VSTD::forward<_Args>(__args)... )); }
-#endif
-
-    iterator insert(const_iterator __position, const value_type& __x);
-    iterator insert(const_iterator __position, size_type __n, const value_type& __x);
-    iterator insert(const_iterator __position, size_type __n, const_reference __x);
-    template <class _InputIterator>
-        typename enable_if
-        <
-             __is_input_iterator  <_InputIterator>::value &&
-            !__is_forward_iterator<_InputIterator>::value,
-            iterator
-        >::type
-        insert(const_iterator __position, _InputIterator __first, _InputIterator __last);
-    template <class _ForwardIterator>
-        typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value,
-            iterator
-        >::type
-        insert(const_iterator __position, _ForwardIterator __first, _ForwardIterator __last);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __position, initializer_list<value_type> __il)
-        {return insert(__position, __il.begin(), __il.end());}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __position);
-    iterator erase(const_iterator __first, const_iterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__size_ = 0;}
-
-    void swap(vector&)
-#if _LIBCPP_STD_VER >= 14
-        _NOEXCEPT;
-#else
-        _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                    __is_nothrow_swappable<allocator_type>::value);
-#endif
-    static void swap(reference __x, reference __y) _NOEXCEPT { _VSTD::swap(__x, __y); }
-
-    void resize(size_type __sz, value_type __x = false);
-    void flip() _NOEXCEPT;
-
-    bool __invariants() const;
-
-private:
-    _LIBCPP_INLINE_VISIBILITY void __invalidate_all_iterators();
-    void __vallocate(size_type __n);
-    void __vdeallocate() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    static size_type __align_it(size_type __new_size) _NOEXCEPT
-        {return __new_size + (__bits_per_word-1) & ~((size_type)__bits_per_word-1);}
-    _LIBCPP_INLINE_VISIBILITY  size_type __recommend(size_type __new_size) const;
-    _LIBCPP_INLINE_VISIBILITY void __construct_at_end(size_type __n, bool __x);
-    template <class _ForwardIterator>
-        typename enable_if
-        <
-            __is_forward_iterator<_ForwardIterator>::value,
-            void
-        >::type
-        __construct_at_end(_ForwardIterator __first, _ForwardIterator __last);
-    void __append(size_type __n, const_reference __x);
-    _LIBCPP_INLINE_VISIBILITY
-    reference __make_ref(size_type __pos) _NOEXCEPT
-        {return reference(__begin_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference __make_ref(size_type __pos) const _NOEXCEPT
-        {return const_reference(__begin_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __make_iter(size_type __pos) _NOEXCEPT
-        {return iterator(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word));}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator __make_iter(size_type __pos) const _NOEXCEPT
-        {return const_iterator(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word));}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator __const_iterator_cast(const_iterator __p) _NOEXCEPT
-        {return begin() + (__p - cbegin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const vector& __v)
-        {__copy_assign_alloc(__v, integral_constant<bool,
-                      __storage_traits::propagate_on_container_copy_assignment::value>());}
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const vector& __c, true_type)
-        {
-            if (__alloc() != __c.__alloc())
-                __vdeallocate();
-            __alloc() = __c.__alloc();
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __copy_assign_alloc(const vector&, false_type)
-        {}
-
-    void __move_assign(vector& __c, false_type);
-    void __move_assign(vector& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(vector& __c)
-        _NOEXCEPT_(
-            !__storage_traits::propagate_on_container_move_assignment::value ||
-            is_nothrow_move_assignable<allocator_type>::value)
-        {__move_assign_alloc(__c, integral_constant<bool,
-                      __storage_traits::propagate_on_container_move_assignment::value>());}
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(vector& __c, true_type)
-        _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-        {
-            __alloc() = _VSTD::move(__c.__alloc());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __move_assign_alloc(vector&, false_type)
-        _NOEXCEPT
-        {}
-
-    size_t __hash_code() const _NOEXCEPT;
-
-    friend class __bit_reference<vector>;
-    friend class __bit_const_reference<vector>;
-    friend class __bit_iterator<vector, false>;
-    friend class __bit_iterator<vector, true>;
-    friend struct __bit_array<vector>;
-    friend struct _LIBCPP_TEMPLATE_VIS hash<vector>;
-};
-
-template <class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-vector<bool, _Allocator>::__invalidate_all_iterators()
-{
-}
-
-//  Allocate space for __n objects
-//  throws length_error if __n > max_size()
-//  throws (probably bad_alloc) if memory run out
-//  Precondition:  __begin_ == __end_ == __cap() == 0
-//  Precondition:  __n > 0
-//  Postcondition:  capacity() == __n
-//  Postcondition:  size() == 0
-template <class _Allocator>
-void
-vector<bool, _Allocator>::__vallocate(size_type __n)
-{
-    if (__n > max_size())
-        this->__throw_length_error();
-    __n = __external_cap_to_internal(__n);
-    this->__begin_ = __storage_traits::allocate(this->__alloc(), __n);
-    this->__size_ = 0;
-    this->__cap() = __n;
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::__vdeallocate() _NOEXCEPT
-{
-    if (this->__begin_ != nullptr)
-    {
-        __storage_traits::deallocate(this->__alloc(), this->__begin_, __cap());
-        __invalidate_all_iterators();
-        this->__begin_ = nullptr;
-        this->__size_ = this->__cap() = 0;
-    }
-}
-
-template <class _Allocator>
-typename vector<bool, _Allocator>::size_type
-vector<bool, _Allocator>::max_size() const _NOEXCEPT
-{
-    size_type __amax = __storage_traits::max_size(__alloc());
-    size_type __nmax = numeric_limits<size_type>::max() / 2;  // end() >= begin(), always
-    if (__nmax / __bits_per_word <= __amax)
-        return __nmax;
-    return __internal_cap_to_external(__amax);
-}
-
-//  Precondition:  __new_size > capacity()
-template <class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<bool, _Allocator>::size_type
-vector<bool, _Allocator>::__recommend(size_type __new_size) const
-{
-    const size_type __ms = max_size();
-    if (__new_size > __ms)
-        this->__throw_length_error();
-    const size_type __cap = capacity();
-    if (__cap >= __ms / 2)
-        return __ms;
-    return _VSTD::max(2*__cap, __align_it(__new_size));
-}
-
-//  Default constructs __n objects starting at __end_
-//  Precondition:  __n > 0
-//  Precondition:  size() + __n <= capacity()
-//  Postcondition:  size() == size() + __n
-template <class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-vector<bool, _Allocator>::__construct_at_end(size_type __n, bool __x)
-{
-    size_type __old_size = this->__size_;
-    this->__size_ += __n;
-    if (__old_size == 0 || ((__old_size - 1) / __bits_per_word) != ((this->__size_ - 1) / __bits_per_word))
-    {
-        if (this->__size_ <= __bits_per_word)
-            this->__begin_[0] = __storage_type(0);
-        else
-            this->__begin_[(this->__size_ - 1) / __bits_per_word] = __storage_type(0);
-    }
-    _VSTD::fill_n(__make_iter(__old_size), __n, __x);
-}
-
-template <class _Allocator>
-template <class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value,
-    void
->::type
-vector<bool, _Allocator>::__construct_at_end(_ForwardIterator __first, _ForwardIterator __last)
-{
-    size_type __old_size = this->__size_;
-    this->__size_ += _VSTD::distance(__first, __last);
-    if (__old_size == 0 || ((__old_size - 1) / __bits_per_word) != ((this->__size_ - 1) / __bits_per_word))
-    {
-        if (this->__size_ <= __bits_per_word)
-            this->__begin_[0] = __storage_type(0);
-        else
-            this->__begin_[(this->__size_ - 1) / __bits_per_word] = __storage_type(0);
-    }
-    _VSTD::copy(__first, __last, __make_iter(__old_size));
-}
-
-template <class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<bool, _Allocator>::vector()
-    _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0)
-{
-}
-
-template <class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<bool, _Allocator>::vector(const allocator_type& __a)
-#if _LIBCPP_STD_VER <= 14
-        _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
-#else
-        _NOEXCEPT
-#endif
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, static_cast<__storage_allocator>(__a))
-{
-}
-
-template <class _Allocator>
-vector<bool, _Allocator>::vector(size_type __n)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0)
-{
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__n, false);
-    }
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _Allocator>
-vector<bool, _Allocator>::vector(size_type __n, const allocator_type& __a)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, static_cast<__storage_allocator>(__a))
-{
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__n, false);
-    }
-}
-#endif
-
-template <class _Allocator>
-vector<bool, _Allocator>::vector(size_type __n, const value_type& __x)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0)
-{
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__n, __x);
-    }
-}
-
-template <class _Allocator>
-vector<bool, _Allocator>::vector(size_type __n, const value_type& __x, const allocator_type& __a)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, static_cast<__storage_allocator>(__a))
-{
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__n, __x);
-    }
-}
-
-template <class _Allocator>
-template <class _InputIterator>
-vector<bool, _Allocator>::vector(_InputIterator __first, _InputIterator __last,
-       typename enable_if<__is_input_iterator  <_InputIterator>::value &&
-                         !__is_forward_iterator<_InputIterator>::value>::type*)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        for (; __first != __last; ++__first)
-            push_back(*__first);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        if (__begin_ != nullptr)
-            __storage_traits::deallocate(__alloc(), __begin_, __cap());
-        __invalidate_all_iterators();
-        throw;
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template <class _Allocator>
-template <class _InputIterator>
-vector<bool, _Allocator>::vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a,
-       typename enable_if<__is_input_iterator  <_InputIterator>::value &&
-                         !__is_forward_iterator<_InputIterator>::value>::type*)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, static_cast<__storage_allocator>(__a))
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        for (; __first != __last; ++__first)
-            push_back(*__first);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        if (__begin_ != nullptr)
-            __storage_traits::deallocate(__alloc(), __begin_, __cap());
-        __invalidate_all_iterators();
-        throw;
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-}
-
-template <class _Allocator>
-template <class _ForwardIterator>
-vector<bool, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __last,
-                                typename enable_if<__is_forward_iterator<_ForwardIterator>::value>::type*)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0)
-{
-    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__first, __last);
-    }
-}
-
-template <class _Allocator>
-template <class _ForwardIterator>
-vector<bool, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __last, const allocator_type& __a,
-                                typename enable_if<__is_forward_iterator<_ForwardIterator>::value>::type*)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, static_cast<__storage_allocator>(__a))
-{
-    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__first, __last);
-    }
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Allocator>
-vector<bool, _Allocator>::vector(initializer_list<value_type> __il)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0)
-{
-    size_type __n = static_cast<size_type>(__il.size());
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__il.begin(), __il.end());
-    }
-}
-
-template <class _Allocator>
-vector<bool, _Allocator>::vector(initializer_list<value_type> __il, const allocator_type& __a)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, static_cast<__storage_allocator>(__a))
-{
-    size_type __n = static_cast<size_type>(__il.size());
-    if (__n > 0)
-    {
-        __vallocate(__n);
-        __construct_at_end(__il.begin(), __il.end());
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Allocator>
-vector<bool, _Allocator>::~vector()
-{
-    if (__begin_ != nullptr)
-        __storage_traits::deallocate(__alloc(), __begin_, __cap());
-    __invalidate_all_iterators();
-}
-
-template <class _Allocator>
-vector<bool, _Allocator>::vector(const vector& __v)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, __storage_traits::select_on_container_copy_construction(__v.__alloc()))
-{
-    if (__v.size() > 0)
-    {
-        __vallocate(__v.size());
-        __construct_at_end(__v.begin(), __v.end());
-    }
-}
-
-template <class _Allocator>
-vector<bool, _Allocator>::vector(const vector& __v, const allocator_type& __a)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, __a)
-{
-    if (__v.size() > 0)
-    {
-        __vallocate(__v.size());
-        __construct_at_end(__v.begin(), __v.end());
-    }
-}
-
-template <class _Allocator>
-vector<bool, _Allocator>&
-vector<bool, _Allocator>::operator=(const vector& __v)
-{
-    if (this != &__v)
-    {
-        __copy_assign_alloc(__v);
-        if (__v.__size_)
-        {
-            if (__v.__size_ > capacity())
-            {
-                __vdeallocate();
-                __vallocate(__v.__size_);
-            }
-            _VSTD::copy(__v.__begin_, __v.__begin_ + __external_cap_to_internal(__v.__size_), __begin_);
-        }
-        __size_ = __v.__size_;
-    }
-    return *this;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY vector<bool, _Allocator>::vector(vector&& __v)
-#if _LIBCPP_STD_VER > 14
-    _NOEXCEPT
-#else
-    _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
-#endif
-    : __begin_(__v.__begin_),
-      __size_(__v.__size_),
-      __cap_alloc_(std::move(__v.__cap_alloc_)) {
-    __v.__begin_ = nullptr;
-    __v.__size_ = 0;
-    __v.__cap() = 0;
-}
-
-template <class _Allocator>
-vector<bool, _Allocator>::vector(vector&& __v, const allocator_type& __a)
-    : __begin_(nullptr),
-      __size_(0),
-      __cap_alloc_(0, __a)
-{
-    if (__a == allocator_type(__v.__alloc()))
-    {
-        this->__begin_ = __v.__begin_;
-        this->__size_ = __v.__size_;
-        this->__cap() = __v.__cap();
-        __v.__begin_ = nullptr;
-        __v.__cap() = __v.__size_ = 0;
-    }
-    else if (__v.size() > 0)
-    {
-        __vallocate(__v.size());
-        __construct_at_end(__v.begin(), __v.end());
-    }
-}
-
-template <class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-vector<bool, _Allocator>&
-vector<bool, _Allocator>::operator=(vector&& __v)
-    _NOEXCEPT_((__noexcept_move_assign_container<_Allocator, __alloc_traits>::value))
-{
-    __move_assign(__v, integral_constant<bool,
-          __storage_traits::propagate_on_container_move_assignment::value>());
-    return *this;
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::__move_assign(vector& __c, false_type)
-{
-    if (__alloc() != __c.__alloc())
-        assign(__c.begin(), __c.end());
-    else
-        __move_assign(__c, true_type());
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::__move_assign(vector& __c, true_type)
-    _NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value)
-{
-    __vdeallocate();
-    __move_assign_alloc(__c);
-    this->__begin_ = __c.__begin_;
-    this->__size_ = __c.__size_;
-    this->__cap() = __c.__cap();
-    __c.__begin_ = nullptr;
-    __c.__cap() = __c.__size_ = 0;
-}
-
-#endif  // !_LIBCPP_CXX03_LANG
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::assign(size_type __n, const value_type& __x)
-{
-    __size_ = 0;
-    if (__n > 0)
-    {
-        size_type __c = capacity();
-        if (__n <= __c)
-            __size_ = __n;
-        else
-        {
-            vector __v(__alloc());
-            __v.reserve(__recommend(__n));
-            __v.__size_ = __n;
-            swap(__v);
-        }
-        _VSTD::fill_n(begin(), __n, __x);
-    }
-  __invalidate_all_iterators();
-}
-
-template <class _Allocator>
-template <class _InputIterator>
-typename enable_if
-<
-    __is_input_iterator<_InputIterator>::value &&
-   !__is_forward_iterator<_InputIterator>::value,
-   void
->::type
-vector<bool, _Allocator>::assign(_InputIterator __first, _InputIterator __last)
-{
-    clear();
-    for (; __first != __last; ++__first)
-        push_back(*__first);
-}
-
-template <class _Allocator>
-template <class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value,
-   void
->::type
-vector<bool, _Allocator>::assign(_ForwardIterator __first, _ForwardIterator __last)
-{
-    clear();
-    difference_type __ns = _VSTD::distance(__first, __last);
-    _LIBCPP_ASSERT(__ns >= 0, "invalid range specified");
-    const size_t __n = static_cast<size_type>(__ns);
-    if (__n)
-    {
-        if (__n > capacity())
-        {
-            __vdeallocate();
-            __vallocate(__n);
-        }
-        __construct_at_end(__first, __last);
-    }
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::reserve(size_type __n)
-{
-    if (__n > capacity())
-    {
-        vector __v(this->__alloc());
-        __v.__vallocate(__n);
-        __v.__construct_at_end(this->begin(), this->end());
-        swap(__v);
-        __invalidate_all_iterators();
-    }
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::shrink_to_fit() _NOEXCEPT
-{
-    if (__external_cap_to_internal(size()) > __cap())
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            vector(*this, allocator_type(__alloc())).swap(*this);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-}
-
-template <class _Allocator>
-typename vector<bool, _Allocator>::reference
-vector<bool, _Allocator>::at(size_type __n)
-{
-    if (__n >= size())
-        this->__throw_out_of_range();
-    return (*this)[__n];
-}
-
-template <class _Allocator>
-typename vector<bool, _Allocator>::const_reference
-vector<bool, _Allocator>::at(size_type __n) const
-{
-    if (__n >= size())
-        this->__throw_out_of_range();
-    return (*this)[__n];
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::push_back(const value_type& __x)
-{
-    if (this->__size_ == this->capacity())
-        reserve(__recommend(this->__size_ + 1));
-    ++this->__size_;
-    back() = __x;
-}
-
-template <class _Allocator>
-typename vector<bool, _Allocator>::iterator
-vector<bool, _Allocator>::insert(const_iterator __position, const value_type& __x)
-{
-    iterator __r;
-    if (size() < capacity())
-    {
-        const_iterator __old_end = end();
-        ++__size_;
-        _VSTD::copy_backward(__position, __old_end, end());
-        __r = __const_iterator_cast(__position);
-    }
-    else
-    {
-        vector __v(__alloc());
-        __v.reserve(__recommend(__size_ + 1));
-        __v.__size_ = __size_ + 1;
-        __r = _VSTD::copy(cbegin(), __position, __v.begin());
-        _VSTD::copy_backward(__position, cend(), __v.end());
-        swap(__v);
-    }
-    *__r = __x;
-    return __r;
-}
-
-template <class _Allocator>
-typename vector<bool, _Allocator>::iterator
-vector<bool, _Allocator>::insert(const_iterator __position, size_type __n, const value_type& __x)
-{
-    iterator __r;
-    size_type __c = capacity();
-    if (__n <= __c && size() <= __c - __n)
-    {
-        const_iterator __old_end = end();
-        __size_ += __n;
-        _VSTD::copy_backward(__position, __old_end, end());
-        __r = __const_iterator_cast(__position);
-    }
-    else
-    {
-        vector __v(__alloc());
-        __v.reserve(__recommend(__size_ + __n));
-        __v.__size_ = __size_ + __n;
-        __r = _VSTD::copy(cbegin(), __position, __v.begin());
-        _VSTD::copy_backward(__position, cend(), __v.end());
-        swap(__v);
-    }
-    _VSTD::fill_n(__r, __n, __x);
-    return __r;
-}
-
-template <class _Allocator>
-template <class _InputIterator>
-typename enable_if
-<
-     __is_input_iterator  <_InputIterator>::value &&
-    !__is_forward_iterator<_InputIterator>::value,
-    typename vector<bool, _Allocator>::iterator
->::type
-vector<bool, _Allocator>::insert(const_iterator __position, _InputIterator __first, _InputIterator __last)
-{
-    difference_type __off = __position - begin();
-    iterator __p = __const_iterator_cast(__position);
-    iterator __old_end = end();
-    for (; size() != capacity() && __first != __last; ++__first)
-    {
-        ++this->__size_;
-        back() = *__first;
-    }
-    vector __v(__alloc());
-    if (__first != __last)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            __v.assign(__first, __last);
-            difference_type __old_size = static_cast<difference_type>(__old_end - begin());
-            difference_type __old_p = __p - begin();
-            reserve(__recommend(size() + __v.size()));
-            __p = begin() + __old_p;
-            __old_end = begin() + __old_size;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            erase(__old_end, end());
-            throw;
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-    __p = _VSTD::rotate(__p, __old_end, end());
-    insert(__p, __v.begin(), __v.end());
-    return begin() + __off;
-}
-
-template <class _Allocator>
-template <class _ForwardIterator>
-typename enable_if
-<
-    __is_forward_iterator<_ForwardIterator>::value,
-    typename vector<bool, _Allocator>::iterator
->::type
-vector<bool, _Allocator>::insert(const_iterator __position, _ForwardIterator __first, _ForwardIterator __last)
-{
-    const difference_type __n_signed = _VSTD::distance(__first, __last);
-    _LIBCPP_ASSERT(__n_signed >= 0, "invalid range specified");
-    const size_type __n = static_cast<size_type>(__n_signed);
-    iterator __r;
-    size_type __c = capacity();
-    if (__n <= __c && size() <= __c - __n)
-    {
-        const_iterator __old_end = end();
-        __size_ += __n;
-        _VSTD::copy_backward(__position, __old_end, end());
-        __r = __const_iterator_cast(__position);
-    }
-    else
-    {
-        vector __v(__alloc());
-        __v.reserve(__recommend(__size_ + __n));
-        __v.__size_ = __size_ + __n;
-        __r = _VSTD::copy(cbegin(), __position, __v.begin());
-        _VSTD::copy_backward(__position, cend(), __v.end());
-        swap(__v);
-    }
-    _VSTD::copy(__first, __last, __r);
-    return __r;
-}
-
-template <class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-typename vector<bool, _Allocator>::iterator
-vector<bool, _Allocator>::erase(const_iterator __position)
-{
-    iterator __r = __const_iterator_cast(__position);
-    _VSTD::copy(__position + 1, this->cend(), __r);
-    --__size_;
-    return __r;
-}
-
-template <class _Allocator>
-typename vector<bool, _Allocator>::iterator
-vector<bool, _Allocator>::erase(const_iterator __first, const_iterator __last)
-{
-    iterator __r = __const_iterator_cast(__first);
-    difference_type __d = __last - __first;
-    _VSTD::copy(__last, this->cend(), __r);
-    __size_ -= __d;
-    return __r;
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::swap(vector& __x)
-#if _LIBCPP_STD_VER >= 14
-    _NOEXCEPT
-#else
-    _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
-                __is_nothrow_swappable<allocator_type>::value)
-#endif
-{
-    _VSTD::swap(this->__begin_, __x.__begin_);
-    _VSTD::swap(this->__size_, __x.__size_);
-    _VSTD::swap(this->__cap(), __x.__cap());
-    __swap_allocator(this->__alloc(), __x.__alloc(),
-        integral_constant<bool, __alloc_traits::propagate_on_container_swap::value>());
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::resize(size_type __sz, value_type __x)
-{
-    size_type __cs = size();
-    if (__cs < __sz)
-    {
-        iterator __r;
-        size_type __c = capacity();
-        size_type __n = __sz - __cs;
-        if (__n <= __c && __cs <= __c - __n)
-        {
-            __r = end();
-            __size_ += __n;
-        }
-        else
-        {
-            vector __v(__alloc());
-            __v.reserve(__recommend(__size_ + __n));
-            __v.__size_ = __size_ + __n;
-            __r = _VSTD::copy(cbegin(), cend(), __v.begin());
-            swap(__v);
-        }
-        _VSTD::fill_n(__r, __n, __x);
-    }
-    else
-        __size_ = __sz;
-}
-
-template <class _Allocator>
-void
-vector<bool, _Allocator>::flip() _NOEXCEPT
-{
-    // do middle whole words
-    size_type __n = __size_;
-    __storage_pointer __p = __begin_;
-    for (; __n >= __bits_per_word; ++__p, __n -= __bits_per_word)
-        *__p = ~*__p;
-    // do last partial word
-    if (__n > 0)
-    {
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        __storage_type __b = *__p & __m;
-        *__p &= ~__m;
-        *__p |= ~__b & __m;
-    }
-}
-
-template <class _Allocator>
-bool
-vector<bool, _Allocator>::__invariants() const
-{
-    if (this->__begin_ == nullptr)
-    {
-        if (this->__size_ != 0 || this->__cap() != 0)
-            return false;
-    }
-    else
-    {
-        if (this->__cap() == 0)
-            return false;
-        if (this->__size_ > this->capacity())
-            return false;
-    }
-    return true;
-}
-
-template <class _Allocator>
-size_t
-vector<bool, _Allocator>::__hash_code() const _NOEXCEPT
-{
-    size_t __h = 0;
-    // do middle whole words
-    size_type __n = __size_;
-    __storage_pointer __p = __begin_;
-    for (; __n >= __bits_per_word; ++__p, __n -= __bits_per_word)
-        __h ^= *__p;
-    // do last partial word
-    if (__n > 0)
-    {
-        const __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        __h ^= *__p & __m;
-    }
-    return __h;
-}
-
-template <class _Allocator>
-struct _LIBCPP_TEMPLATE_VIS hash<vector<bool, _Allocator> >
-    : public unary_function<vector<bool, _Allocator>, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const vector<bool, _Allocator>& __vec) const _NOEXCEPT
-        {return __vec.__hash_code();}
-};
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
-{
-    const typename vector<_Tp, _Allocator>::size_type __sz = __x.size();
-    return __sz == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Tp, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(vector<_Tp, _Allocator>& __x, vector<_Tp, _Allocator>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Tp, class _Allocator, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase(vector<_Tp, _Allocator>& __c, const _Up& __v)
-{ __c.erase(_VSTD::remove(__c.begin(), __c.end(), __v), __c.end()); }
-
-template <class _Tp, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(vector<_Tp, _Allocator>& __c, _Predicate __pred)
-{ __c.erase(_VSTD::remove_if(__c.begin(), __c.end(), __pred), __c.end()); }
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_VECTOR
diff --git a/r21/sources/cxx-stl/llvm-libc++/include/version b/r21/sources/cxx-stl/llvm-libc++/include/version
deleted file mode 100644
index fe9cfed..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/include/version
+++ /dev/null
@@ -1,237 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- version ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_VERSIONH
-#define _LIBCPP_VERSIONH
-
-/*
-  version synopsis
-
-Macro name                                              Value   Headers
-__cpp_lib_addressof_constexpr                           201603L <memory>
-__cpp_lib_allocator_traits_is_always_equal              201411L <memory> <scoped_allocator> <string>
-                                                                <deque> <forward_list> <list>
-                                                                <vector> <map> <set>
-                                                                <unordered_map> <unordered_set>
-__cpp_lib_any                                           201606L <any>
-__cpp_lib_apply                                         201603L <tuple>
-__cpp_lib_array_constexpr                               201603L <iterator> <array>
-__cpp_lib_as_const                                      201510L <utility>
-__cpp_lib_atomic_is_always_lock_free                    201603L <atomic>
-__cpp_lib_atomic_ref                                    201806L <atomic>
-__cpp_lib_bind_front                                    201811L <functional>
-__cpp_lib_bit_cast                                      201806L <bit>
-__cpp_lib_bool_constant                                 201505L <type_traits>
-__cpp_lib_boyer_moore_searcher                          201603L <functional>
-__cpp_lib_byte                                          201603L <cstddef>
-__cpp_lib_char8_t                                       201811L <atomic> <filesystem> <istream>
-                                                                <limits> <locale> <ostream>
-                                                                <string> <string_view>
-__cpp_lib_chrono                                        201611L <chrono>
-__cpp_lib_chrono_udls                                   201304L <chrono>
-__cpp_lib_clamp                                         201603L <algorithm>
-__cpp_lib_complex_udls                                  201309L <complex>
-__cpp_lib_concepts                                      201806L <concepts>
-__cpp_lib_constexpr_misc                                201811L <array> <functional> <iterator>
-                                                                <string_view> <tuple> <utility>
-__cpp_lib_constexpr_swap_algorithms                     201806L <algorithm>
-__cpp_lib_destroying_delete                             201806L <new>
-__cpp_lib_enable_shared_from_this                       201603L <memory>
-__cpp_lib_erase_if                                      201811L <string> <deque> <forward_list>
-                                                                <list> <vector> <map>
-                                                                <set> <unordered_map> <unordered_set>
-__cpp_lib_exchange_function                             201304L <utility>
-__cpp_lib_execution                                     201603L <execution>
-__cpp_lib_filesystem                                    201703L <filesystem>
-__cpp_lib_gcd_lcm                                       201606L <numeric>
-__cpp_lib_generic_associative_lookup                    201304L <map> <set>
-__cpp_lib_generic_unordered_lookup                      201811L <unordered_map> <unordered_set>
-__cpp_lib_hardware_interference_size                    201703L <new>
-__cpp_lib_has_unique_object_representations             201606L <type_traits>
-__cpp_lib_hypot                                         201603L <cmath>
-__cpp_lib_incomplete_container_elements                 201505L <forward_list> <list> <vector>
-__cpp_lib_integer_sequence                              201304L <utility>
-__cpp_lib_integral_constant_callable                    201304L <type_traits>
-__cpp_lib_interpolate                                   201902L <numeric>
-__cpp_lib_invoke                                        201411L <functional>
-__cpp_lib_is_aggregate                                  201703L <type_traits>
-__cpp_lib_is_constant_evaluated                         201811L <type_traits>
-__cpp_lib_is_final                                      201402L <type_traits>
-__cpp_lib_is_invocable                                  201703L <type_traits>
-__cpp_lib_is_null_pointer                               201309L <type_traits>
-__cpp_lib_is_swappable                                  201603L <type_traits>
-__cpp_lib_launder                                       201606L <new>
-__cpp_lib_list_remove_return_type                       201806L <forward_list> <list>
-__cpp_lib_logical_traits                                201510L <type_traits>
-__cpp_lib_make_from_tuple                               201606L <tuple>
-__cpp_lib_make_reverse_iterator                         201402L <iterator>
-__cpp_lib_make_unique                                   201304L <memory>
-__cpp_lib_map_try_emplace                               201411L <map>
-__cpp_lib_math_special_functions                        201603L <cmath>
-__cpp_lib_memory_resource                               201603L <memory_resource>
-__cpp_lib_node_extract                                  201606L <map> <set> <unordered_map>
-                                                                <unordered_set>
-__cpp_lib_nonmember_container_access                    201411L <iterator> <array> <deque>
-                                                                <forward_list> <list> <map>
-                                                                <regex> <set> <string>
-                                                                <unordered_map> <unordered_set> <vector>
-__cpp_lib_not_fn                                        201603L <functional>
-__cpp_lib_null_iterators                                201304L <iterator>
-__cpp_lib_optional                                      201606L <optional>
-__cpp_lib_parallel_algorithm                            201603L <algorithm> <numeric>
-__cpp_lib_quoted_string_io                              201304L <iomanip>
-__cpp_lib_ranges                                        201811L <algorithm> <functional> <iterator>
-                                                                <memory> <ranges>
-__cpp_lib_raw_memory_algorithms                         201606L <memory>
-__cpp_lib_result_of_sfinae                              201210L <functional> <type_traits>
-__cpp_lib_robust_nonmodifying_seq_ops                   201304L <algorithm>
-__cpp_lib_sample                                        201603L <algorithm>
-__cpp_lib_scoped_lock                                   201703L <mutex>
-__cpp_lib_shared_mutex                                  201505L <shared_mutex>
-__cpp_lib_shared_ptr_arrays                             201611L <memory>
-__cpp_lib_shared_ptr_weak_type                          201606L <memory>
-__cpp_lib_shared_timed_mutex                            201402L <shared_mutex>
-__cpp_lib_string_udls                                   201304L <string>
-__cpp_lib_string_view                                   201606L <string> <string_view>
-__cpp_lib_three_way_comparison                          201711L <compare>
-__cpp_lib_to_chars                                      201611L <utility>
-__cpp_lib_transformation_trait_aliases                  201304L <type_traits>
-__cpp_lib_transparent_operators                         201510L <functional>
-                                                        201210L // C++14
-__cpp_lib_tuple_element_t                               201402L <tuple>
-__cpp_lib_tuples_by_type                                201304L <utility> <tuple>
-__cpp_lib_type_trait_variable_templates                 201510L <type_traits>
-__cpp_lib_uncaught_exceptions                           201411L <exception>
-__cpp_lib_unordered_map_try_emplace                     201411L <unordered_map>
-__cpp_lib_variant                                       201606L <variant>
-__cpp_lib_void_t                                        201411L <type_traits>
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#if _LIBCPP_STD_VER > 11
-# define __cpp_lib_chrono_udls                          201304L
-# define __cpp_lib_complex_udls                         201309L
-# define __cpp_lib_exchange_function                    201304L
-# define __cpp_lib_generic_associative_lookup           201304L
-# define __cpp_lib_integer_sequence                     201304L
-# define __cpp_lib_integral_constant_callable           201304L
-# define __cpp_lib_is_final                             201402L
-# define __cpp_lib_is_null_pointer                      201309L
-# define __cpp_lib_make_reverse_iterator                201402L
-# define __cpp_lib_make_unique                          201304L
-# define __cpp_lib_null_iterators                       201304L
-# define __cpp_lib_quoted_string_io                     201304L
-# define __cpp_lib_result_of_sfinae                     201210L
-# define __cpp_lib_robust_nonmodifying_seq_ops          201304L
-# if !defined(_LIBCPP_HAS_NO_THREADS)
-#   define __cpp_lib_shared_timed_mutex                 201402L
-# endif
-# define __cpp_lib_string_udls                          201304L
-# define __cpp_lib_transformation_trait_aliases         201304L
-# define __cpp_lib_transparent_operators                201210L
-# define __cpp_lib_tuple_element_t                      201402L
-# define __cpp_lib_tuples_by_type                       201304L
-#endif
-
-#if _LIBCPP_STD_VER > 14
-# if !defined(_LIBCPP_HAS_NO_BUILTIN_ADDRESSOF)
-#   define __cpp_lib_addressof_constexpr                201603L
-# endif
-# define __cpp_lib_allocator_traits_is_always_equal     201411L
-# define __cpp_lib_any                                  201606L
-# define __cpp_lib_apply                                201603L
-# define __cpp_lib_array_constexpr                      201603L
-# define __cpp_lib_as_const                             201510L
-# if !defined(_LIBCPP_HAS_NO_THREADS)
-#   define __cpp_lib_atomic_is_always_lock_free         201603L
-# endif
-# define __cpp_lib_bool_constant                        201505L
-// # define __cpp_lib_boyer_moore_searcher                 201603L
-# define __cpp_lib_byte                                 201603L
-# define __cpp_lib_chrono                               201611L
-# define __cpp_lib_clamp                                201603L
-# define __cpp_lib_enable_shared_from_this              201603L
-// # define __cpp_lib_execution                            201603L
-# define __cpp_lib_filesystem                           201703L
-# define __cpp_lib_gcd_lcm                              201606L
-# define __cpp_lib_hardware_interference_size           201703L
-# if defined(_LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS)
-#   define __cpp_lib_has_unique_object_representations  201606L
-# endif
-# define __cpp_lib_hypot                                201603L
-# define __cpp_lib_incomplete_container_elements        201505L
-# define __cpp_lib_invoke                               201411L
-# if !defined(_LIBCPP_HAS_NO_IS_AGGREGATE)
-#   define __cpp_lib_is_aggregate                       201703L
-# endif
-# define __cpp_lib_is_invocable                         201703L
-# define __cpp_lib_is_swappable                         201603L
-# define __cpp_lib_launder                              201606L
-# define __cpp_lib_logical_traits                       201510L
-# define __cpp_lib_make_from_tuple                      201606L
-# define __cpp_lib_map_try_emplace                      201411L
-// # define __cpp_lib_math_special_functions               201603L
-// # define __cpp_lib_memory_resource                      201603L
-# define __cpp_lib_node_extract                         201606L
-# define __cpp_lib_nonmember_container_access           201411L
-# define __cpp_lib_not_fn                               201603L
-# define __cpp_lib_optional                             201606L
-// # define __cpp_lib_parallel_algorithm                   201603L
-# define __cpp_lib_raw_memory_algorithms                201606L
-# define __cpp_lib_sample                               201603L
-# define __cpp_lib_scoped_lock                          201703L
-# if !defined(_LIBCPP_HAS_NO_THREADS)
-#   define __cpp_lib_shared_mutex                       201505L
-# endif
-// # define __cpp_lib_shared_ptr_arrays                    201611L
-# define __cpp_lib_shared_ptr_weak_type                 201606L
-# define __cpp_lib_string_view                          201606L
-// # define __cpp_lib_to_chars                             201611L
-# undef  __cpp_lib_transparent_operators
-# define __cpp_lib_transparent_operators                201510L
-# define __cpp_lib_type_trait_variable_templates        201510L
-# define __cpp_lib_uncaught_exceptions                  201411L
-# define __cpp_lib_unordered_map_try_emplace            201411L
-# define __cpp_lib_variant                              201606L
-# define __cpp_lib_void_t                               201411L
-#endif
-
-#if _LIBCPP_STD_VER > 17
-# if !defined(_LIBCPP_HAS_NO_THREADS)
-// #   define __cpp_lib_atomic_ref                         201806L
-# endif
-// # define __cpp_lib_bind_front                           201811L
-// # define __cpp_lib_bit_cast                             201806L
-# if !defined(_LIBCPP_NO_HAS_CHAR8_T)
-#   define __cpp_lib_char8_t                            201811L
-# endif
-// # define __cpp_lib_concepts                             201806L
-// # define __cpp_lib_constexpr_misc                       201811L
-// # define __cpp_lib_constexpr_swap_algorithms            201806L
-# if _LIBCPP_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
-#   define __cpp_lib_destroying_delete                  201806L
-# endif
-# define __cpp_lib_erase_if                             201811L
-// # define __cpp_lib_generic_unordered_lookup             201811L
-# define __cpp_lib_interpolate                          201902L
-# if !defined(_LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED)
-#   define __cpp_lib_is_constant_evaluated              201811L
-# endif
-// # define __cpp_lib_list_remove_return_type              201806L
-// # define __cpp_lib_ranges                               201811L
-// # define __cpp_lib_three_way_comparison                 201711L
-#endif
-
-#endif // _LIBCPP_VERSIONH
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.21 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.21
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.21
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.22 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.22
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.22
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.23 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.23
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.23
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.24 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.24
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.24
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.25 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.25
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.25
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.26 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.26
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.26
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.27 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.27
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.27
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.28 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.28
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.28
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.29 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.29
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.29
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.30 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.30
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.a.30
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.21 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.21
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.21
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.22 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.22
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.22
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.23 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.23
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.23
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.24 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.24
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.24
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.25 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.25
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.25
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.26 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.26
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.26
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.27 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.27
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.27
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.28 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.28
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.28
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.29 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.29
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.29
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.30 b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.30
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.30
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so
deleted file mode 100755
index 9ae987a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a
deleted file mode 100644
index bff8d45..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a b/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a
deleted file mode 100644
index 84e6f3a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a
deleted file mode 100644
index 9d511c9..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.16 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.16
deleted file mode 100644
index 645a158..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.16
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.17 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.17
deleted file mode 100644
index 645a158..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.17
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.18 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.18
deleted file mode 100644
index 645a158..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.18
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.19 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.19
deleted file mode 100644
index 645a158..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.19
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.20 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.20
deleted file mode 100644
index 645a158..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.20
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.21 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.21
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.21
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.22 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.22
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.22
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.23 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.23
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.23
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.24 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.24
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.24
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.25 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.25
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.25
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.26 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.26
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.26
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.27 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.27
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.27
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.28 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.28
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.28
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.29 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.29
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.29
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.30 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.30
deleted file mode 100644
index bfad1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.a.30
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -lunwind -latomic)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.16 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.16
deleted file mode 100644
index a7700a8..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.16
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.17 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.17
deleted file mode 100644
index a7700a8..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.17
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.18 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.18
deleted file mode 100644
index a7700a8..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.18
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.19 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.19
deleted file mode 100644
index a7700a8..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.19
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.20 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.20
deleted file mode 100644
index a7700a8..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.20
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.21 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.21
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.21
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.22 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.22
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.22
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.23 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.23
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.23
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.24 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.24
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.24
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.25 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.25
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.25
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.26 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.26
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.26
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.27 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.27
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.27
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.28 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.28
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.28
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.29 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.29
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.29
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.30 b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.30
deleted file mode 100644
index 3e6380d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.30
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lunwind -latomic -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so
deleted file mode 100755
index 5b93d40..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a
deleted file mode 100644
index dd1e44f..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a
deleted file mode 100644
index 22134a3..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a b/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a
deleted file mode 100644
index f5f9a2b..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a
deleted file mode 100644
index 4365cbf..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.16 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.16
deleted file mode 100644
index 2deea11..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.16
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.17 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.17
deleted file mode 100644
index 2deea11..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.17
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.18 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.18
deleted file mode 100644
index 2deea11..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.18
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.19 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.19
deleted file mode 100644
index 2deea11..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.19
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.20 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.20
deleted file mode 100644
index 2deea11..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.20
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi -landroid_support)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.21 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.21
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.21
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.22 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.22
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.22
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.23 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.23
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.23
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.24 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.24
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.24
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.25 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.25
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.25
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.26 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.26
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.26
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.27 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.27
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.27
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.28 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.28
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.28
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.29 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.29
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.29
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.30 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.30
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.a.30
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.16 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.16
deleted file mode 100644
index 4f52247..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.16
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.17 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.17
deleted file mode 100644
index 4f52247..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.17
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.18 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.18
deleted file mode 100644
index 4f52247..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.18
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.19 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.19
deleted file mode 100644
index 4f52247..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.19
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.20 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.20
deleted file mode 100644
index 4f52247..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.20
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-landroid_support -lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.21 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.21
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.21
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.22 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.22
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.22
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.23 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.23
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.23
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.24 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.24
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.24
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.25 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.25
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.25
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.26 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.26
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.26
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.27 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.27
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.27
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.28 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.28
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.28
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.29 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.29
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.29
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.30 b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.30
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++.so.30
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so
deleted file mode 100755
index b98776e..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a
deleted file mode 100644
index 1218aa2..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a b/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a
deleted file mode 100644
index 0496bdc..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.21 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.21
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.21
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.22 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.22
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.22
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.23 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.23
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.23
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.24 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.24
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.24
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.25 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.25
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.25
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.26 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.26
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.26
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.27 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.27
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.27
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.28 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.28
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.28
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.29 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.29
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.29
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.30 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.30
deleted file mode 100644
index f676948..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.a.30
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_static -lc++abi)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.21 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.21
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.21
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.22 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.22
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.22
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.23 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.23
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.23
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.24 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.24
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.24
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.25 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.25
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.25
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.26 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.26
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.26
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.27 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.27
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.27
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.28 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.28
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.28
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.29 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.29
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.29
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.30 b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.30
deleted file mode 100644
index a34f409..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++.so.30
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(-lc++_shared)
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so
deleted file mode 100755
index 6d9195a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a
deleted file mode 100644
index 1032e1f..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a b/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a
deleted file mode 100644
index 6af8bae..0000000
--- a/r21/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a
+++ /dev/null
Binary files differ
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/.arcconfig b/r21/sources/cxx-stl/llvm-libc++abi/.arcconfig
deleted file mode 100644
index 08cd16e..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/.arcconfig
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "repository.callsign" : "CXXA",
-  "conduit_uri" : "https://reviews.llvm.org/"
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/Android.mk b/r21/sources/cxx-stl/llvm-libc++abi/Android.mk
deleted file mode 100644
index 790d5bc..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/Android.mk
+++ /dev/null
@@ -1,112 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-libcxxabi_src_files := \
-    src/abort_message.cpp \
-    src/cxa_aux_runtime.cpp \
-    src/cxa_default_handlers.cpp \
-    src/cxa_demangle.cpp \
-    src/cxa_exception.cpp \
-    src/cxa_exception_storage.cpp \
-    src/cxa_guard.cpp \
-    src/cxa_handlers.cpp \
-    src/cxa_personality.cpp \
-    src/cxa_thread_atexit.cpp \
-    src/cxa_unexpected.cpp \
-    src/cxa_vector.cpp \
-    src/cxa_virtual.cpp \
-    src/fallback_malloc.cpp \
-    src/private_typeinfo.cpp \
-    src/stdlib_exception.cpp \
-    src/stdlib_new_delete.cpp \
-    src/stdlib_stdexcept.cpp \
-    src/stdlib_typeinfo.cpp \
-
-libcxxabi_includes := \
-    $(LOCAL_PATH)/include \
-    $(LOCAL_PATH)/../libunwind_llvm/include \
-    $(LOCAL_PATH)/../libcxx/include \
-
-libcxxabi_cflags := -D__STDC_FORMAT_MACROS
-libcxxabi_cppflags := -std=c++11 -Wno-unknown-attributes
-
-ifneq (,$(filter armeabi%,$(TARGET_ARCH_ABI)))
-    use_llvm_unwinder := true
-    libcxxabi_cppflags += -DLIBCXXABI_USE_LLVM_UNWINDER=1
-else
-    use_llvm_unwinder := false
-    libcxxabi_cppflags += -DLIBCXXABI_USE_LLVM_UNWINDER=0
-endif
-
-ifneq ($(LIBCXX_FORCE_REBUILD),true) # Using prebuilt
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libc++abi
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE.TXT $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := ../llvm-libc++/libs/$(TARGET_ARCH_ABI)/$(LOCAL_MODULE)$(TARGET_LIB_EXTENSION)
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
-
-# Unlike the platform build, ndk-build will actually perform dependency checking
-# on static libraries and topologically sort them to determine link order.
-# Though there is no link step, without this we may link libunwind before
-# libc++abi, which won't succeed.
-ifeq ($(use_llvm_unwinder),true)
-    LOCAL_STATIC_LIBRARIES += libunwind
-    LOCAL_EXPORT_STATIC_LIBRARIES := libunwind
-endif
-include $(PREBUILT_STATIC_LIBRARY)
-
-else # Building
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libc++abi
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT SPDX-license-identifier-NCSA
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE.TXT $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := $(libcxxabi_src_files)
-LOCAL_C_INCLUDES := $(libcxxabi_includes)
-LOCAL_CPPFLAGS := $(libcxxabi_cppflags)
-LOCAL_CPP_FEATURES := rtti exceptions
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
-LOCAL_ARM_NEON := false
-
-ifeq ($(NDK_PLATFORM_NEEDS_ANDROID_SUPPORT),true)
-    # This doesn't affect the prebuilt itself since this is a prebuilt library,
-    # but the build system needs to know about the dependency so we can sort the
-    # exported includes properly.
-    LOCAL_STATIC_LIBRARIES += libandroid_support
-endif
-
-# Unlike the platform build, ndk-build will actually perform dependency checking
-# on static libraries and topologically sort them to determine link order.
-# Though there is no link step, without this we may link libunwind before
-# libc++abi, which won't succeed.
-ifeq ($(use_llvm_unwinder),true)
-    LOCAL_STATIC_LIBRARIES += libunwind
-    LOCAL_EXPORT_STATIC_LIBRARIES := libunwind
-endif
-include $(BUILD_STATIC_LIBRARY)
-
-$(call import-add-path, $(LOCAL_PATH)/../..)
-$(call import-module, external/libunwind_llvm)
-
-endif # Prebuilt/building
-
-$(call import-module, android/support)
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/Application.mk b/r21/sources/cxx-stl/llvm-libc++abi/Application.mk
deleted file mode 100644
index f98280d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/Application.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-NDK_TOOLCHAIN_VERSION := clang
-APP_STL := none
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/CMakeLists.txt b/r21/sources/cxx-stl/llvm-libc++abi/CMakeLists.txt
deleted file mode 100644
index 8ca1690..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/CMakeLists.txt
+++ /dev/null
@@ -1,506 +0,0 @@
-# See www/CMake.html for instructions on how to build libcxxabi with CMake.
-
-#===============================================================================
-# Setup Project
-#===============================================================================
-
-cmake_minimum_required(VERSION 3.4.3)
-
-if(POLICY CMP0042)
-  cmake_policy(SET CMP0042 NEW) # Set MACOSX_RPATH=YES by default
-endif()
-
-# Add path for custom modules
-set(CMAKE_MODULE_PATH
-  "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
-  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules"
-  ${CMAKE_MODULE_PATH}
-  )
-
-if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXXABI_STANDALONE_BUILD)
-  project(libcxxabi CXX C)
-
-  set(PACKAGE_NAME libcxxabi)
-  set(PACKAGE_VERSION 9.0.0svn)
-  set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-  set(PACKAGE_BUGREPORT "llvm-bugs@lists.llvm.org")
-
-  # Find the LLVM sources and simulate LLVM CMake options.
-  include(HandleOutOfTreeLLVM)
-endif()
-
-# Require out of source build.
-include(MacroEnsureOutOfSourceBuild)
-MACRO_ENSURE_OUT_OF_SOURCE_BUILD(
- "${PROJECT_NAME} requires an out of source build. Please create a separate
- build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there."
- )
-
-#===============================================================================
-# Setup CMake Options
-#===============================================================================
-include(CMakeDependentOption)
-include(HandleCompilerRT)
-
-# Define options.
-option(LIBCXXABI_ENABLE_EXCEPTIONS
-  "Provide support for exceptions in the runtime.
-  When disabled, libc++abi does not support stack unwinding and other exceptions-related features." ON)
-option(LIBCXXABI_ENABLE_ASSERTIONS "Enable assertions independent of build mode." ON)
-option(LIBCXXABI_ENABLE_PEDANTIC "Compile with pedantic enabled." ON)
-option(LIBCXXABI_ENABLE_PIC "Build Position-Independent Code, even in static library" ON)
-option(LIBCXXABI_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF)
-option(LIBCXXABI_USE_LLVM_UNWINDER "Build and use the LLVM unwinder." OFF)
-option(LIBCXXABI_ENABLE_STATIC_UNWINDER "Statically link the LLVM unwinder." OFF)
-option(LIBCXXABI_USE_COMPILER_RT "Use compiler-rt instead of libgcc" OFF)
-option(LIBCXXABI_ENABLE_THREADS "Build with threads enabled" ON)
-option(LIBCXXABI_HAS_PTHREAD_API "Ignore auto-detection and force use of pthread API" OFF)
-option(LIBCXXABI_HAS_EXTERNAL_THREAD_API
-  "Build libc++abi with an externalized threading API.
-  This option may only be set to ON when LIBCXXABI_ENABLE_THREADS=ON." OFF)
-option(LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY
-  "Build libc++abi with an externalized threading library.
-   This option may only be set to ON when LIBCXXABI_ENABLE_THREADS=ON" OFF)
-
-# FIXME: This option should default to off. Unfortunatly GCC 4.9 fails to link
-# programs to due undefined references to new/delete in libc++abi. Once this
-# has been fixed or worked around the default value should be changed.
-option(LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS
-    "Build libc++abi with definitions for operator new/delete. Normally libc++
-    provides these definitions" ON)
-option(LIBCXXABI_BUILD_32_BITS "Build 32 bit libc++abi." ${LLVM_BUILD_32_BITS})
-option(LIBCXXABI_INCLUDE_TESTS "Generate build targets for the libc++abi unit tests." ${LLVM_INCLUDE_TESTS})
-set(LIBCXXABI_LIBDIR_SUFFIX "${LLVM_LIBDIR_SUFFIX}" CACHE STRING
-    "Define suffix of library directory name (32/64)")
-option(LIBCXXABI_INSTALL_LIBRARY "Install the libc++abi library." ON)
-set(LIBCXXABI_TARGET_TRIPLE "" CACHE STRING "Target triple for cross compiling.")
-set(LIBCXXABI_GCC_TOOLCHAIN "" CACHE PATH "GCC toolchain for cross compiling.")
-set(LIBCXXABI_SYSROOT "" CACHE PATH "Sysroot for cross compiling.")
-set(LIBCXXABI_LIBCXX_LIBRARY_PATH "" CACHE PATH "The path to libc++ library.")
-
-# Default to building a shared library so that the default options still test
-# the libc++abi that is being built. There are two problems with testing a
-# static libc++abi. In the case of a standalone build, the tests will link the
-# system's libc++, which might not have been built against our libc++abi. In the
-# case of an in tree build, libc++ will prefer a dynamic libc++abi from the
-# system over a static libc++abi from the output directory.
-option(LIBCXXABI_ENABLE_SHARED "Build libc++abi as a shared library." ON)
-option(LIBCXXABI_ENABLE_STATIC "Build libc++abi as a static library." ON)
-
-cmake_dependent_option(LIBCXXABI_INSTALL_STATIC_LIBRARY
-  "Install the static libc++abi library." ON
-  "LIBCXXABI_ENABLE_STATIC;LIBCXXABI_INSTALL_LIBRARY" OFF)
-cmake_dependent_option(LIBCXXABI_INSTALL_SHARED_LIBRARY
-  "Install the shared libc++abi library." ON
-  "LIBCXXABI_ENABLE_SHARED;LIBCXXABI_INSTALL_LIBRARY" OFF)
-
-cmake_dependent_option(LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY
-  "Statically link the LLVM unwinder to static library" ON
-  "LIBCXXABI_ENABLE_STATIC_UNWINDER;LIBCXXABI_ENABLE_STATIC" OFF)
-cmake_dependent_option(LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY
-  "Statically link the LLVM unwinder to shared library" ON
-  "LIBCXXABI_ENABLE_STATIC_UNWINDER;LIBCXXABI_ENABLE_SHARED" OFF)
-
-option(LIBCXXABI_BAREMETAL "Build libc++abi for baremetal targets." OFF)
-# The default terminate handler attempts to demangle uncaught exceptions, which
-# causes extra I/O and demangling code to be pulled in.
-option(LIBCXXABI_SILENT_TERMINATE "Set this to make the terminate handler default to a silent alternative" OFF)
-
-if (NOT LIBCXXABI_ENABLE_SHARED AND NOT LIBCXXABI_ENABLE_STATIC)
-  message(FATAL_ERROR "libc++abi must be built as either a shared or static library.")
-endif()
-
-if (LLVM_EXTERNAL_LIBCXX_SOURCE_DIR)
-  set(LIBCXXABI_LIBCXX_SRC_DIRS ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
-else()
-  set(LIBCXXABI_LIBCXX_SRC_DIRS
-    "${LLVM_MAIN_SRC_DIR}/projects/libcxx"
-    "${LLVM_MAIN_SRC_DIR}/runtimes/libcxx"
-    "${LLVM_MAIN_SRC_DIR}/../libcxx"
-    )
-endif()
-
-set(LIBCXXABI_LIBCXX_INCLUDE_DIRS "")
-foreach(dir ${LIBCXXABI_LIBCXX_SRC_DIRS})
-  list(APPEND LIBCXXABI_LIBCXX_INCLUDE_DIRS "${dir}/include")
-endforeach()
-
-find_path(
-  LIBCXXABI_LIBCXX_INCLUDES
-  __config
-  PATHS ${LIBCXXABI_LIBCXX_INCLUDES}
-        ${LIBCXXABI_LIBCXX_PATH}/include
-        ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBCXX_INCLUDES}
-        ${LIBCXXABI_LIBCXX_INCLUDE_DIRS}
-        ${LLVM_INCLUDE_DIR}/c++/v1
-  NO_DEFAULT_PATH
-  NO_CMAKE_FIND_ROOT_PATH
-  )
-
-set(LIBCXXABI_LIBCXX_INCLUDES "${LIBCXXABI_LIBCXX_INCLUDES}" CACHE PATH
-    "Specify path to libc++ includes." FORCE)
-
-find_path(
-  LIBCXXABI_LIBCXX_PATH
-  utils/libcxx/test/__init__.py
-  PATHS ${LIBCXXABI_LIBCXX_PATH}
-        ${LIBCXXABI_LIBCXX_INCLUDES}/../
-        ${LIBCXXABI_LIBCXX_SRC_DIRS}
-  NO_DEFAULT_PATH
-  NO_CMAKE_FIND_ROOT_PATH
-  )
-
-if (LIBCXXABI_LIBCXX_PATH STREQUAL "LIBCXXABI_LIBCXX_PATH-NOTFOUND")
-  message(WARNING "LIBCXXABI_LIBCXX_PATH was not specified and couldn't be infered.")
-  set(LIBCXXABI_LIBCXX_PATH "")
-endif()
-
-set(LIBCXXABI_LIBCXX_PATH "${LIBCXXABI_LIBCXX_PATH}" CACHE PATH
-    "Specify path to libc++ source." FORCE)
-
-option(LIBCXXABI_HERMETIC_STATIC_LIBRARY
-  "Do not export any symbols from the static library." OFF)
-
-#===============================================================================
-# Configure System
-#===============================================================================
-
-# Add path for custom modules
-set(CMAKE_MODULE_PATH
-  "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
-  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules"
-  ${CMAKE_MODULE_PATH}
-  )
-
-set(LIBCXXABI_COMPILER    ${CMAKE_CXX_COMPILER})
-set(LIBCXXABI_SOURCE_DIR  ${CMAKE_CURRENT_SOURCE_DIR})
-set(LIBCXXABI_BINARY_DIR  ${CMAKE_CURRENT_BINARY_DIR})
-
-string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
-       ${PACKAGE_VERSION})
-
-if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-  if(LIBCXX_LIBDIR_SUBDIR)
-    string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
-    string(APPEND LIBCXXABI_INSTALL_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
-  endif()
-elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
-  set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX})
-else()
-  set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX})
-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX})
-endif()
-
-set(LIBCXXABI_INSTALL_PREFIX "" CACHE STRING "Define libc++abi destination prefix.")
-
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBCXXABI_LIBRARY_DIR})
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIBCXXABI_LIBRARY_DIR})
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LIBCXXABI_LIBRARY_DIR})
-
-# By default, for non-standalone builds, libcxx and libcxxabi share a library
-# directory.
-if (NOT LIBCXXABI_LIBCXX_LIBRARY_PATH)
-  set(LIBCXXABI_LIBCXX_LIBRARY_PATH "${LIBCXXABI_LIBRARY_DIR}" CACHE PATH
-      "The path to libc++ library.")
-endif()
-
-# Check that we can build with 32 bits if requested.
-if (CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32)
-  if (LIBCXXABI_BUILD_32_BITS AND NOT LLVM_BUILD_32_BITS) # Don't duplicate the output from LLVM
-    message(STATUS "Building 32 bits executables and libraries.")
-  endif()
-elseif(LIBCXXABI_BUILD_32_BITS)
-  message(FATAL_ERROR "LIBCXXABI_BUILD_32_BITS=ON is not supported on this platform.")
-endif()
-
-# Declare libc++abi configuration variables.
-# They are intended for use as follows:
-# LIBCXXABI_C_FLAGS: General flags for both the c++ compiler and linker.
-# LIBCXXABI_CXX_FLAGS: General flags for both the c++ compiler and linker.
-# LIBCXXABI_COMPILE_FLAGS: Compile only flags.
-# LIBCXXABI_LINK_FLAGS: Linker only flags.
-# LIBCXXABI_LIBRARIES: libraries libc++abi is linked to.
-
-set(LIBCXXABI_C_FLAGS "")
-set(LIBCXXABI_CXX_FLAGS "")
-set(LIBCXXABI_COMPILE_FLAGS "")
-set(LIBCXXABI_LINK_FLAGS "")
-set(LIBCXXABI_LIBRARIES "")
-
-# Include macros for adding and removing libc++abi flags.
-include(HandleLibcxxabiFlags)
-
-#===============================================================================
-# Setup Compiler Flags
-#===============================================================================
-
-# Configure target flags
-add_target_flags_if(LIBCXXABI_BUILD_32_BITS "-m32")
-
-if(LIBCXXABI_TARGET_TRIPLE)
-  add_target_flags("--target=${LIBCXXABI_TARGET_TRIPLE}")
-elseif(CMAKE_CXX_COMPILER_TARGET)
-  set(LIBCXXABI_TARGET_TRIPLE "${CMAKE_CXX_COMPILER_TARGET}")
-endif()
-if(LIBCXX_GCC_TOOLCHAIN)
-  add_target_flags("--gcc-toolchain=${LIBCXXABI_GCC_TOOLCHAIN}")
-elseif(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN)
-  set(LIBCXXABI_GCC_TOOLCHAIN "${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}")
-endif()
-if(LIBCXXABI_SYSROOT)
-  add_target_flags("--sysroot=${LIBCXXABI_SYSROOT}")
-elseif(CMAKE_SYSROOT)
-  set(LIBCXXABI_SYSROOT "${CMAKE_SYSROOT}")
-endif()
-
-if (LIBCXXABI_TARGET_TRIPLE)
-  set(TARGET_TRIPLE "${LIBCXXABI_TARGET_TRIPLE}")
-endif()
-
-# Configure compiler. Must happen after setting the target flags.
-include(config-ix)
-
-if (LIBCXXABI_HAS_NOSTDINCXX_FLAG)
-  list(APPEND LIBCXXABI_COMPILE_FLAGS -nostdinc++)
-  # Remove -stdlib flags to prevent them from causing an unused flag warning.
-  string(REPLACE "-stdlib=libc++" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-  string(REPLACE "-stdlib=libstdc++" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-endif()
-
-# Let the library headers know they are currently being used to build the
-# library.
-add_definitions(-D_LIBCXXABI_BUILDING_LIBRARY)
-
-# Disable DLL annotations on Windows for static builds.
-if (WIN32 AND LIBCXXABI_ENABLE_STATIC AND NOT LIBCXXABI_ENABLE_SHARED)
-  add_definitions(-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS)
-endif()
-
-add_compile_flags_if_supported(-Werror=return-type)
-
-# Get warning flags
-add_compile_flags_if_supported(-W)
-add_compile_flags_if_supported(-Wall)
-add_compile_flags_if_supported(-Wchar-subscripts)
-add_compile_flags_if_supported(-Wconversion)
-add_compile_flags_if_supported(-Wmismatched-tags)
-add_compile_flags_if_supported(-Wmissing-braces)
-add_compile_flags_if_supported(-Wnewline-eof)
-add_compile_flags_if_supported(-Wunused-function)
-add_compile_flags_if_supported(-Wshadow)
-add_compile_flags_if_supported(-Wshorten-64-to-32)
-add_compile_flags_if_supported(-Wsign-compare)
-add_compile_flags_if_supported(-Wsign-conversion)
-add_compile_flags_if_supported(-Wstrict-aliasing=2)
-add_compile_flags_if_supported(-Wstrict-overflow=4)
-add_compile_flags_if_supported(-Wunused-parameter)
-add_compile_flags_if_supported(-Wunused-variable)
-add_compile_flags_if_supported(-Wwrite-strings)
-add_compile_flags_if_supported(-Wundef)
-
-if (LIBCXXABI_ENABLE_WERROR)
-  add_compile_flags_if_supported(-Werror)
-  add_compile_flags_if_supported(-WX)
-else()
-  add_compile_flags_if_supported(-Wno-error)
-  add_compile_flags_if_supported(-WX-)
-endif()
-if (LIBCXXABI_ENABLE_PEDANTIC)
-  add_compile_flags_if_supported(-pedantic)
-endif()
-
-# Get feature flags.
-add_compile_flags_if_supported(-fstrict-aliasing)
-
-# Exceptions
-if (LIBCXXABI_ENABLE_EXCEPTIONS)
-  # Catches C++ exceptions only and tells the compiler to assume that extern C
-  # functions never throw a C++ exception.
-  add_compile_flags_if_supported(-EHsc)
-  # Do we really need to be run through the C compiler ?
-  add_c_compile_flags_if_supported(-funwind-tables)
-else()
-  add_definitions(-D_LIBCXXABI_NO_EXCEPTIONS)
-  add_compile_flags_if_supported(-fno-exceptions)
-  add_compile_flags_if_supported(-EHs-)
-  add_compile_flags_if_supported(-EHa-)
-endif()
-
-# Assert
-string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
-if (LIBCXXABI_ENABLE_ASSERTIONS)
-  # MSVC doesn't like _DEBUG on release builds. See PR 4379.
-  if (NOT MSVC)
-    list(APPEND LIBCXXABI_COMPILE_FLAGS -D_DEBUG)
-  endif()
-  # On Release builds cmake automatically defines NDEBUG, so we
-  # explicitly undefine it:
-  if (uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE")
-    list(APPEND LIBCXXABI_COMPILE_FLAGS -UNDEBUG)
-  endif()
-else()
-  if (NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE")
-    list(APPEND LIBCXXABI_COMPILE_FLAGS -DNDEBUG)
-  endif()
-endif()
-# Static library
-if (NOT LIBCXXABI_ENABLE_SHARED)
-  list(APPEND LIBCXXABI_COMPILE_FLAGS -D_LIBCPP_BUILD_STATIC)
-endif()
-
-# Threading
-if (NOT LIBCXXABI_ENABLE_THREADS)
-  if (LIBCXXABI_HAS_PTHREAD_API)
-    message(FATAL_ERROR "LIBCXXABI_HAS_PTHREAD_API can only"
-                        " be set to ON when LIBCXXABI_ENABLE_THREADS"
-                        " is also set to ON.")
-  endif()
-  if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
-    message(FATAL_ERROR "LIBCXXABI_HAS_EXTERNAL_THREAD_API can only"
-                        " be set to ON when LIBCXXABI_ENABLE_THREADS"
-                        " is also set to ON.")
-  endif()
-  if (LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
-    message(FATAL_ERROR "LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY can only"
-                        " be set to ON when LIBCXXABI_ENABLE_THREADS"
-                        " is also set to ON.")
-  endif()
-  add_definitions(-D_LIBCXXABI_HAS_NO_THREADS)
-endif()
-
-if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
-  if (LIBCXXABI_HAS_PTHREAD_API)
-    message(FATAL_ERROR "The options LIBCXXABI_HAS_EXTERNAL_THREAD_API"
-                        " and LIBCXXABI_HAS_PTHREAD_API cannot be both"
-                        " set to ON at the same time.")
-  endif()
-  if (LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
-    message(FATAL_ERROR "The options LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY"
-                        " and LIBCXXABI_HAS_EXTERNAL_THREAD_API cannot be both"
-                        " set to ON at the same time.")
-  endif()
-endif()
-
-if (LLVM_ENABLE_MODULES)
-  # Ignore that the rest of the modules flags are now unused.
-  add_compile_flags_if_supported(-Wno-unused-command-line-argument)
-  add_compile_flags(-fno-modules)
-endif()
-
-set(LIBCXXABI_HAS_UNDEFINED_SYMBOLS OFF)
-if ((NOT LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
-    OR (LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY AND LIBCXXABI_ENABLE_SHARED)
-    OR MINGW)
-  set(LIBCXXABI_HAS_UNDEFINED_SYMBOLS ON)
-endif()
-
-if (LIBCXXABI_HAS_UNDEFINED_SYMBOLS)
-  # Need to allow unresolved symbols if this is to work with shared library builds
-  if (APPLE)
-    list(APPEND LIBCXXABI_LINK_FLAGS "-undefined dynamic_lookup")
-  else()
-    # Relax this restriction from HandleLLVMOptions
-    string(REPLACE "-Wl,-z,defs" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-  endif()
-endif()
-
-if (LIBCXXABI_HAS_PTHREAD_API)
-  add_definitions(-D_LIBCPP_HAS_THREAD_API_PTHREAD)
-endif()
-
-if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
-  add_definitions(-D_LIBCPP_HAS_THREAD_API_EXTERNAL)
-endif()
-
-if (LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
-  add_definitions(-D_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL)
-endif()
-
-# Prevent libc++abi from having library dependencies on libc++
-add_definitions(-D_LIBCPP_DISABLE_EXTERN_TEMPLATE)
-
-# Bring back `std::unexpected`, which is removed in C++17, to support
-# pre-C++17.
-add_definitions(-D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS)
-
-if (MSVC)
-  add_definitions(-D_CRT_SECURE_NO_WARNINGS)
-endif()
-
-# Define LIBCXXABI_USE_LLVM_UNWINDER for conditional compilation.
-if (LIBCXXABI_USE_LLVM_UNWINDER)
-  add_definitions(-DLIBCXXABI_USE_LLVM_UNWINDER)
-endif()
-
-if (LIBCXXABI_SILENT_TERMINATE)
-  add_definitions(-DLIBCXXABI_SILENT_TERMINATE)
-endif()
-
-if (LIBCXXABI_BAREMETAL)
-    add_definitions(-DLIBCXXABI_BAREMETAL)
-endif()
-
-if (LIBCXXABI_HAS_COMMENT_LIB_PRAGMA)
-  add_definitions(-D_LIBCXXABI_HAS_COMMENT_LIB_PRAGMA)
-endif()
-
-string(REPLACE ";" " " LIBCXXABI_CXX_FLAGS "${LIBCXXABI_CXX_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBCXXABI_CXX_FLAGS}")
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBCXXABI_C_FLAGS}")
-
-#===============================================================================
-# Setup Source Code
-#===============================================================================
-
-set(LIBCXXABI_LIBUNWIND_INCLUDES "${LIBCXXABI_LIBUNWIND_INCLUDES}" CACHE PATH
-    "Specify path to libunwind includes." FORCE)
-set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH
-    "Specify path to libunwind source." FORCE)
-
-include_directories(include)
-if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM)
-  find_path(LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL libunwind.h
-    PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES}
-          ${LIBCXXABI_LIBUNWIND_PATH}/include
-          ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES}
-          ${LLVM_MAIN_SRC_DIR}/projects/libunwind/include
-          ${LLVM_MAIN_SRC_DIR}/runtimes/libunwind/include
-          ${LLVM_MAIN_SRC_DIR}/../libunwind/include
-    NO_DEFAULT_PATH
-    NO_CMAKE_FIND_ROOT_PATH
-  )
-
-  if (LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL STREQUAL "LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL-NOTFOUND")
-    set(LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL "")
-  endif()
-
-  if (NOT LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL STREQUAL "")
-    include_directories("${LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL}")
-  endif()
-endif()
-
-# Add source code. This also contains all of the logic for deciding linker flags
-# soname, etc...
-add_subdirectory(src)
-
-if (LIBCXXABI_INCLUDE_TESTS)
-  if (LIBCXXABI_STANDALONE_BUILD AND NOT LIBCXXABI_ENABLE_SHARED)
-    # We can't reasonably test the system C++ library with a static
-    # libc++abi.  We either need to be able to replace libc++abi at
-    # run time (with a shared libc++abi), or we need to be able to
-    # replace the C++ runtime (with a non- standalone build).
-    message(WARNING "The libc++abi tests aren't valid when libc++abi "
-                    "is built standalone (i.e. outside of "
-                    "llvm/projects/libcxxabi ) and is built without "
-                    "a shared library.  Either build a shared "
-                    "library, build libc++abi at the same time as "
-                    "you build libc++, or do without testing.  No "
-                    "check target will be available!")
-  else()
-    add_subdirectory(test)
-    add_subdirectory(fuzz)
-  endif()
-endif()
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/MODULE_LICENSE_BSD_LIKE b/r21/sources/cxx-stl/llvm-libc++abi/MODULE_LICENSE_BSD_LIKE
deleted file mode 100644
index e69de29..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/MODULE_LICENSE_BSD_LIKE
+++ /dev/null
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/NOTICE b/r21/sources/cxx-stl/llvm-libc++abi/NOTICE
deleted file mode 100644
index 17969ae..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/NOTICE
+++ /dev/null
@@ -1,76 +0,0 @@
-==============================================================================
-libc++abi License
-==============================================================================
-
-The libc++abi library is dual licensed under both the University of Illinois
-"BSD-Like" license and the MIT license.  As a user of this code you may choose
-to use it under either license.  As a contributor, you agree to allow your code
-to be used under both.
-
-Full text of the relevant licenses is included below.
-
-==============================================================================
-
-University of Illinois/NCSA
-Open Source License
-
-Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
-
-All rights reserved.
-
-Developed by:
-
-    LLVM Team
-
-    University of Illinois at Urbana-Champaign
-
-    http://llvm.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal with
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimers.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimers in the
-      documentation and/or other materials provided with the distribution.
-
-    * Neither the names of the LLVM Team, University of Illinois at
-      Urbana-Champaign, nor the names of its contributors may be used to
-      endorse or promote products derived from this Software without specific
-      prior written permission.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
-SOFTWARE.
-
-==============================================================================
-
-Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/README.version b/r21/sources/cxx-stl/llvm-libc++abi/README.version
deleted file mode 100644
index 0ead1a1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/README.version
+++ /dev/null
@@ -1,4 +0,0 @@
-URL: http://llvm.org/git/libcxxabi.git
-Version: d8093df5ebe5d755c810980d403af20b32deea5f
-BugComponent: 117395
-Owners: danalbert, srhines, android-llvm
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/cmake/config-ix.cmake b/r21/sources/cxx-stl/llvm-libc++abi/cmake/config-ix.cmake
deleted file mode 100644
index 9195dfc..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/cmake/config-ix.cmake
+++ /dev/null
@@ -1,71 +0,0 @@
-include(CMakePushCheckState)
-include(CheckLibraryExists)
-include(CheckCCompilerFlag)
-include(CheckCXXCompilerFlag)
-include(CheckCSourceCompiles)
-
-check_library_exists(c fopen "" LIBCXXABI_HAS_C_LIB)
-if (NOT LIBCXXABI_USE_COMPILER_RT)
-  check_library_exists(gcc_s __gcc_personality_v0 "" LIBCXXABI_HAS_GCC_S_LIB)
-endif ()
-
-# libc++abi is built with -nodefaultlibs, so we want all our checks to also
-# use this option, otherwise we may end up with an inconsistency between
-# the flags we think we require during configuration (if the checks are
-# performed without -nodefaultlibs) and the flags that are actually
-# required during compilation (which has the -nodefaultlibs). libc is
-# required for the link to go through. We remove sanitizers from the
-# configuration checks to avoid spurious link errors.
-check_c_compiler_flag(-nodefaultlibs LIBCXXABI_HAS_NODEFAULTLIBS_FLAG)
-if (LIBCXXABI_HAS_NODEFAULTLIBS_FLAG)
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nodefaultlibs")
-  if (LIBCXXABI_HAS_C_LIB)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES c)
-  endif ()
-  if (LIBCXXABI_USE_COMPILER_RT)
-    list(APPEND CMAKE_REQUIRED_FLAGS -rtlib=compiler-rt)
-    find_compiler_rt_library(builtins LIBCXXABI_BUILTINS_LIBRARY)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES "${LIBCXXABI_BUILTINS_LIBRARY}")
-  elseif (LIBCXXABI_HAS_GCC_S_LIB)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES gcc_s)
-  endif ()
-  if (MINGW)
-    # Mingw64 requires quite a few "C" runtime libraries in order for basic
-    # programs to link successfully with -nodefaultlibs.
-    if (LIBCXXABI_USE_COMPILER_RT)
-      set(MINGW_RUNTIME ${LIBCXXABI_BUILTINS_LIBRARY})
-    else ()
-      set(MINGW_RUNTIME gcc_s gcc)
-    endif()
-    set(MINGW_LIBRARIES mingw32 ${MINGW_RUNTIME} moldname mingwex msvcrt advapi32
-                        shell32 user32 kernel32 mingw32 ${MINGW_RUNTIME}
-                        moldname mingwex msvcrt)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${MINGW_LIBRARIES})
-  endif()
-  if (CMAKE_C_FLAGS MATCHES -fsanitize OR CMAKE_CXX_FLAGS MATCHES -fsanitize)
-    set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-sanitize=all")
-  endif ()
-  if (CMAKE_C_FLAGS MATCHES -fsanitize-coverage OR CMAKE_CXX_FLAGS MATCHES -fsanitize-coverage)
-    set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-sanitize-coverage=edge,trace-cmp,indirect-calls,8bit-counters")
-  endif ()
-endif ()
-
-# Check compiler pragmas
-if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-  cmake_push_check_state()
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror=unknown-pragmas")
-  check_c_source_compiles("
-#pragma comment(lib, \"c\")
-int main() { return 0; }
-" LIBCXXABI_HAS_COMMENT_LIB_PRAGMA)
-  cmake_pop_check_state()
-endif()
-
-# Check compiler flags
-check_cxx_compiler_flag(-nostdinc++ LIBCXXABI_HAS_NOSTDINCXX_FLAG)
-
-# Check libraries
-check_library_exists(dl dladdr "" LIBCXXABI_HAS_DL_LIB)
-check_library_exists(pthread pthread_once "" LIBCXXABI_HAS_PTHREAD_LIB)
-check_library_exists(c __cxa_thread_atexit_impl ""
-  LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL)
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/include/cxxabi.h b/r21/sources/cxx-stl/llvm-libc++abi/include/cxxabi.h
deleted file mode 100644
index c1271fd..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/include/cxxabi.h
+++ /dev/null
@@ -1,176 +0,0 @@
-//===--------------------------- cxxabi.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef __CXXABI_H
-#define __CXXABI_H
-
-/*
- * This header provides the interface to the C++ ABI as defined at:
- *       http://www.codesourcery.com/cxx-abi/
- */
-
-#include <stddef.h>
-#include <stdint.h>
-
-#include <__cxxabi_config.h>
-
-#define _LIBCPPABI_VERSION 1002
-#define _LIBCXXABI_NORETURN  __attribute__((noreturn))
-
-#ifdef __cplusplus
-
-namespace std {
-#if defined(_WIN32)
-class _LIBCXXABI_TYPE_VIS type_info; // forward declaration
-#else
-class type_info; // forward declaration
-#endif
-}
-
-
-// runtime routines use C calling conventions, but are in __cxxabiv1 namespace
-namespace __cxxabiv1 {
-extern "C"  {
-
-// 2.4.2 Allocating the Exception Object
-extern _LIBCXXABI_FUNC_VIS void *
-__cxa_allocate_exception(size_t thrown_size) throw();
-extern _LIBCXXABI_FUNC_VIS void
-__cxa_free_exception(void *thrown_exception) throw();
-
-// 2.4.3 Throwing the Exception Object
-extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void
-__cxa_throw(void *thrown_exception, std::type_info *tinfo,
-            void (*dest)(void *));
-
-// 2.5.3 Exception Handlers
-extern _LIBCXXABI_FUNC_VIS void *
-__cxa_get_exception_ptr(void *exceptionObject) throw();
-extern _LIBCXXABI_FUNC_VIS void *
-__cxa_begin_catch(void *exceptionObject) throw();
-extern _LIBCXXABI_FUNC_VIS void __cxa_end_catch();
-#if defined(_LIBCXXABI_ARM_EHABI)
-extern _LIBCXXABI_FUNC_VIS bool
-__cxa_begin_cleanup(void *exceptionObject) throw();
-extern _LIBCXXABI_FUNC_VIS void __cxa_end_cleanup();
-#endif
-extern _LIBCXXABI_FUNC_VIS std::type_info *__cxa_current_exception_type();
-
-// 2.5.4 Rethrowing Exceptions
-extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_rethrow();
-
-// 2.6 Auxiliary Runtime APIs
-extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_bad_cast(void);
-extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_bad_typeid(void);
-extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void
-__cxa_throw_bad_array_new_length(void);
-
-// 3.2.6 Pure Virtual Function API
-extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_pure_virtual(void);
-
-// 3.2.7 Deleted Virtual Function API
-extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_deleted_virtual(void);
-
-// 3.3.2 One-time Construction API
-#if defined(_LIBCXXABI_GUARD_ABI_ARM)
-extern _LIBCXXABI_FUNC_VIS int __cxa_guard_acquire(uint32_t *);
-extern _LIBCXXABI_FUNC_VIS void __cxa_guard_release(uint32_t *);
-extern _LIBCXXABI_FUNC_VIS void __cxa_guard_abort(uint32_t *);
-#else
-extern _LIBCXXABI_FUNC_VIS int __cxa_guard_acquire(uint64_t *);
-extern _LIBCXXABI_FUNC_VIS void __cxa_guard_release(uint64_t *);
-extern _LIBCXXABI_FUNC_VIS void __cxa_guard_abort(uint64_t *);
-#endif
-
-// 3.3.3 Array Construction and Destruction API
-extern _LIBCXXABI_FUNC_VIS void *
-__cxa_vec_new(size_t element_count, size_t element_size, size_t padding_size,
-              void (*constructor)(void *), void (*destructor)(void *));
-
-extern _LIBCXXABI_FUNC_VIS void *
-__cxa_vec_new2(size_t element_count, size_t element_size, size_t padding_size,
-               void (*constructor)(void *), void (*destructor)(void *),
-               void *(*alloc)(size_t), void (*dealloc)(void *));
-
-extern _LIBCXXABI_FUNC_VIS void *
-__cxa_vec_new3(size_t element_count, size_t element_size, size_t padding_size,
-               void (*constructor)(void *), void (*destructor)(void *),
-               void *(*alloc)(size_t), void (*dealloc)(void *, size_t));
-
-extern _LIBCXXABI_FUNC_VIS void
-__cxa_vec_ctor(void *array_address, size_t element_count, size_t element_size,
-               void (*constructor)(void *), void (*destructor)(void *));
-
-extern _LIBCXXABI_FUNC_VIS void __cxa_vec_dtor(void *array_address,
-                                               size_t element_count,
-                                               size_t element_size,
-                                               void (*destructor)(void *));
-
-extern _LIBCXXABI_FUNC_VIS void __cxa_vec_cleanup(void *array_address,
-                                                  size_t element_count,
-                                                  size_t element_size,
-                                                  void (*destructor)(void *));
-
-extern _LIBCXXABI_FUNC_VIS void __cxa_vec_delete(void *array_address,
-                                                 size_t element_size,
-                                                 size_t padding_size,
-                                                 void (*destructor)(void *));
-
-extern _LIBCXXABI_FUNC_VIS void
-__cxa_vec_delete2(void *array_address, size_t element_size, size_t padding_size,
-                  void (*destructor)(void *), void (*dealloc)(void *));
-
-extern _LIBCXXABI_FUNC_VIS void
-__cxa_vec_delete3(void *__array_address, size_t element_size,
-                  size_t padding_size, void (*destructor)(void *),
-                  void (*dealloc)(void *, size_t));
-
-extern _LIBCXXABI_FUNC_VIS void
-__cxa_vec_cctor(void *dest_array, void *src_array, size_t element_count,
-                size_t element_size, void (*constructor)(void *, void *),
-                void (*destructor)(void *));
-
-// 3.3.5.3 Runtime API
-extern _LIBCXXABI_FUNC_VIS int __cxa_atexit(void (*f)(void *), void *p,
-                                            void *d);
-extern _LIBCXXABI_FUNC_VIS int __cxa_finalize(void *);
-
-// 3.4 Demangler API
-extern _LIBCXXABI_FUNC_VIS char *__cxa_demangle(const char *mangled_name,
-                                                char *output_buffer,
-                                                size_t *length, int *status);
-
-// Apple additions to support C++ 0x exception_ptr class
-// These are primitives to wrap a smart pointer around an exception object
-extern _LIBCXXABI_FUNC_VIS void *__cxa_current_primary_exception() throw();
-extern _LIBCXXABI_FUNC_VIS void
-__cxa_rethrow_primary_exception(void *primary_exception);
-extern _LIBCXXABI_FUNC_VIS void
-__cxa_increment_exception_refcount(void *primary_exception) throw();
-extern _LIBCXXABI_FUNC_VIS void
-__cxa_decrement_exception_refcount(void *primary_exception) throw();
-
-// Apple extension to support std::uncaught_exception()
-extern _LIBCXXABI_FUNC_VIS bool __cxa_uncaught_exception() throw();
-extern _LIBCXXABI_FUNC_VIS unsigned int __cxa_uncaught_exceptions() throw();
-
-#if defined(__linux__) || defined(__Fuchsia__)
-// Linux and Fuchsia TLS support. Not yet an official part of the Itanium ABI.
-// https://sourceware.org/glibc/wiki/Destructor%20support%20for%20thread_local%20variables
-extern _LIBCXXABI_FUNC_VIS int __cxa_thread_atexit(void (*)(void *), void *,
-                                                   void *) throw();
-#endif
-
-} // extern "C"
-} // namespace __cxxabiv1
-
-namespace abi = __cxxabiv1;
-
-#endif // __cplusplus
-
-#endif // __CXXABI_H
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/lib/itanium-base.exp b/r21/sources/cxx-stl/llvm-libc++abi/lib/itanium-base.exp
deleted file mode 100644
index ff0f812..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/lib/itanium-base.exp
+++ /dev/null
@@ -1,373 +0,0 @@
-# Typeinfos for fundamental types
-__ZTIa
-__ZTIb
-__ZTIc
-__ZTId
-__ZTIDh
-__ZTIDi
-__ZTIDn
-__ZTIDs
-__ZTIDu
-__ZTIe
-__ZTIf
-__ZTIg
-__ZTIh
-__ZTIi
-__ZTIj
-__ZTIl
-__ZTIm
-__ZTIn
-__ZTIo
-__ZTIPa
-__ZTIPb
-__ZTIPc
-__ZTIPd
-__ZTIPDh
-__ZTIPDi
-__ZTIPDn
-__ZTIPDs
-__ZTIPDu
-__ZTIPe
-__ZTIPf
-__ZTIPg
-__ZTIPh
-__ZTIPi
-__ZTIPj
-__ZTIPKa
-__ZTIPKb
-__ZTIPKc
-__ZTIPKd
-__ZTIPKDh
-__ZTIPKDi
-__ZTIPKDn
-__ZTIPKDs
-__ZTIPKDu
-__ZTIPKe
-__ZTIPKf
-__ZTIPKg
-__ZTIPKh
-__ZTIPKi
-__ZTIPKj
-__ZTIPKl
-__ZTIPKm
-__ZTIPKn
-__ZTIPKo
-__ZTIPKs
-__ZTIPKt
-__ZTIPKv
-__ZTIPKw
-__ZTIPKx
-__ZTIPKy
-__ZTIPl
-__ZTIPm
-__ZTIPn
-__ZTIPo
-__ZTIPs
-__ZTIPt
-__ZTIPv
-__ZTIPw
-__ZTIPx
-__ZTIPy
-__ZTIs
-__ZTIt
-__ZTIv
-__ZTIw
-__ZTIx
-__ZTIy
-
-# Typeinfo names for fundamental types
-__ZTSa
-__ZTSb
-__ZTSc
-__ZTSd
-__ZTSDh
-__ZTSDi
-__ZTSDn
-__ZTSDs
-__ZTSDu
-__ZTSe
-__ZTSf
-__ZTSg
-__ZTSh
-__ZTSi
-__ZTSj
-__ZTSl
-__ZTSm
-__ZTSn
-__ZTSo
-__ZTSPa
-__ZTSPb
-__ZTSPc
-__ZTSPd
-__ZTSPDh
-__ZTSPDi
-__ZTSPDn
-__ZTSPDs
-__ZTSPDu
-__ZTSPe
-__ZTSPf
-__ZTSPg
-__ZTSPh
-__ZTSPi
-__ZTSPj
-__ZTSPKa
-__ZTSPKb
-__ZTSPKc
-__ZTSPKd
-__ZTSPKDh
-__ZTSPKDi
-__ZTSPKDn
-__ZTSPKDs
-__ZTSPKDu
-__ZTSPKe
-__ZTSPKf
-__ZTSPKg
-__ZTSPKh
-__ZTSPKi
-__ZTSPKj
-__ZTSPKl
-__ZTSPKm
-__ZTSPKn
-__ZTSPKo
-__ZTSPKs
-__ZTSPKt
-__ZTSPKv
-__ZTSPKw
-__ZTSPKx
-__ZTSPKy
-__ZTSPl
-__ZTSPm
-__ZTSPn
-__ZTSPo
-__ZTSPs
-__ZTSPt
-__ZTSPv
-__ZTSPw
-__ZTSPx
-__ZTSPy
-__ZTSs
-__ZTSt
-__ZTSv
-__ZTSw
-__ZTSx
-__ZTSy
-
-# Typeinfos for types from libc++abi
-__ZTIN10__cxxabiv116__enum_type_infoE
-__ZTIN10__cxxabiv116__shim_type_infoE
-__ZTIN10__cxxabiv117__array_type_infoE
-__ZTIN10__cxxabiv117__class_type_infoE
-__ZTIN10__cxxabiv117__pbase_type_infoE
-__ZTIN10__cxxabiv119__pointer_type_infoE
-__ZTIN10__cxxabiv120__function_type_infoE
-__ZTIN10__cxxabiv120__si_class_type_infoE
-__ZTIN10__cxxabiv121__vmi_class_type_infoE
-__ZTIN10__cxxabiv123__fundamental_type_infoE
-__ZTIN10__cxxabiv129__pointer_to_member_type_infoE
-
-# Typeinfo names for types from libc++abi
-__ZTSN10__cxxabiv116__enum_type_infoE
-__ZTSN10__cxxabiv116__shim_type_infoE
-__ZTSN10__cxxabiv117__array_type_infoE
-__ZTSN10__cxxabiv117__class_type_infoE
-__ZTSN10__cxxabiv117__pbase_type_infoE
-__ZTSN10__cxxabiv119__pointer_type_infoE
-__ZTSN10__cxxabiv120__function_type_infoE
-__ZTSN10__cxxabiv120__si_class_type_infoE
-__ZTSN10__cxxabiv121__vmi_class_type_infoE
-__ZTSN10__cxxabiv123__fundamental_type_infoE
-__ZTSN10__cxxabiv129__pointer_to_member_type_infoE
-
-# Typeinfos for std:: exception types
-__ZTISt10bad_typeid
-__ZTISt11logic_error
-__ZTISt11range_error
-__ZTISt12domain_error
-__ZTISt12length_error
-__ZTISt12out_of_range
-__ZTISt13bad_exception
-__ZTISt13runtime_error
-__ZTISt14overflow_error
-__ZTISt15underflow_error
-__ZTISt16invalid_argument
-__ZTISt20bad_array_new_length
-__ZTISt8bad_cast
-__ZTISt9bad_alloc
-__ZTISt9exception
-__ZTISt9type_info
-
-# Typeinfo names for std:: exception types
-__ZTSSt10bad_typeid
-__ZTSSt11logic_error
-__ZTSSt11range_error
-__ZTSSt12domain_error
-__ZTSSt12length_error
-__ZTSSt12out_of_range
-__ZTSSt13bad_exception
-__ZTSSt13runtime_error
-__ZTSSt14overflow_error
-__ZTSSt15underflow_error
-__ZTSSt16invalid_argument
-__ZTSSt20bad_array_new_length
-__ZTSSt8bad_cast
-__ZTSSt9bad_alloc
-__ZTSSt9exception
-__ZTSSt9type_info
-
-# Vtables for libc++abi types
-__ZTVN10__cxxabiv116__enum_type_infoE
-__ZTVN10__cxxabiv116__shim_type_infoE
-__ZTVN10__cxxabiv117__array_type_infoE
-__ZTVN10__cxxabiv117__class_type_infoE
-__ZTVN10__cxxabiv117__pbase_type_infoE
-__ZTVN10__cxxabiv119__pointer_type_infoE
-__ZTVN10__cxxabiv120__function_type_infoE
-__ZTVN10__cxxabiv120__si_class_type_infoE
-__ZTVN10__cxxabiv121__vmi_class_type_infoE
-__ZTVN10__cxxabiv123__fundamental_type_infoE
-__ZTVN10__cxxabiv129__pointer_to_member_type_infoE
-
-# Vtables for std:: exception types
-__ZTVSt10bad_typeid
-__ZTVSt11logic_error
-__ZTVSt11range_error
-__ZTVSt12domain_error
-__ZTVSt12length_error
-__ZTVSt12out_of_range
-__ZTVSt13bad_exception
-__ZTVSt13runtime_error
-__ZTVSt14overflow_error
-__ZTVSt15underflow_error
-__ZTVSt16invalid_argument
-__ZTVSt20bad_array_new_length
-__ZTVSt8bad_cast
-__ZTVSt9bad_alloc
-__ZTVSt9exception
-__ZTVSt9type_info
-
-# Itanium C++ ABI requirements
-___cxa_allocate_dependent_exception
-___cxa_allocate_exception
-___cxa_bad_cast
-___cxa_bad_typeid
-___cxa_begin_catch
-___cxa_call_unexpected
-___cxa_current_exception_type
-___cxa_current_primary_exception
-___cxa_decrement_exception_refcount
-___cxa_deleted_virtual
-___cxa_demangle
-___cxa_end_catch
-___cxa_free_dependent_exception
-___cxa_free_exception
-___cxa_get_exception_ptr
-___cxa_get_globals
-___cxa_get_globals_fast
-___cxa_guard_abort
-___cxa_guard_acquire
-___cxa_guard_release
-___cxa_increment_exception_refcount
-___cxa_pure_virtual
-___cxa_rethrow
-___cxa_rethrow_primary_exception
-___cxa_throw
-___cxa_throw_bad_array_new_length
-___cxa_uncaught_exception
-___cxa_uncaught_exceptions
-___cxa_vec_cctor
-___cxa_vec_cleanup
-___cxa_vec_ctor
-___cxa_vec_delete
-___cxa_vec_delete2
-___cxa_vec_delete3
-___cxa_vec_dtor
-___cxa_vec_new
-___cxa_vec_new2
-___cxa_vec_new3
-___dynamic_cast
-___cxa_terminate_handler
-___cxa_unexpected_handler
-___cxa_new_handler
-
-# ::what() functions for std:: exception types
-__ZNKSt10bad_typeid4whatEv
-__ZNKSt11logic_error4whatEv
-__ZNKSt13bad_exception4whatEv
-__ZNKSt13runtime_error4whatEv
-__ZNKSt20bad_array_new_length4whatEv
-__ZNKSt8bad_cast4whatEv
-__ZNKSt9bad_alloc4whatEv
-__ZNKSt9exception4whatEv
-
-# Default constructors and destructors for std:: exception types
-__ZNSt10bad_typeidC1Ev
-__ZNSt10bad_typeidC2Ev
-__ZNSt10bad_typeidD0Ev
-__ZNSt10bad_typeidD1Ev
-__ZNSt10bad_typeidD2Ev
-__ZNSt11logic_errorD0Ev
-__ZNSt11logic_errorD1Ev
-__ZNSt11logic_errorD2Ev
-__ZNSt11range_errorD0Ev
-__ZNSt11range_errorD1Ev
-__ZNSt11range_errorD2Ev
-__ZNSt12domain_errorD0Ev
-__ZNSt12domain_errorD1Ev
-__ZNSt12domain_errorD2Ev
-__ZNSt12length_errorD0Ev
-__ZNSt12length_errorD1Ev
-__ZNSt12length_errorD2Ev
-__ZNSt12out_of_rangeD0Ev
-__ZNSt12out_of_rangeD1Ev
-__ZNSt12out_of_rangeD2Ev
-__ZNSt13bad_exceptionD0Ev
-__ZNSt13bad_exceptionD1Ev
-__ZNSt13bad_exceptionD2Ev
-__ZNSt13runtime_errorD0Ev
-__ZNSt13runtime_errorD1Ev
-__ZNSt13runtime_errorD2Ev
-__ZNSt14overflow_errorD0Ev
-__ZNSt14overflow_errorD1Ev
-__ZNSt14overflow_errorD2Ev
-__ZNSt15underflow_errorD0Ev
-__ZNSt15underflow_errorD1Ev
-__ZNSt15underflow_errorD2Ev
-__ZNSt16invalid_argumentD0Ev
-__ZNSt16invalid_argumentD1Ev
-__ZNSt16invalid_argumentD2Ev
-__ZNSt20bad_array_new_lengthC1Ev
-__ZNSt20bad_array_new_lengthC2Ev
-__ZNSt20bad_array_new_lengthD0Ev
-__ZNSt20bad_array_new_lengthD1Ev
-__ZNSt20bad_array_new_lengthD2Ev
-__ZNSt8bad_castC1Ev
-__ZNSt8bad_castC2Ev
-__ZNSt8bad_castD0Ev
-__ZNSt8bad_castD1Ev
-__ZNSt8bad_castD2Ev
-__ZNSt9bad_allocC1Ev
-__ZNSt9bad_allocC2Ev
-__ZNSt9bad_allocD0Ev
-__ZNSt9bad_allocD1Ev
-__ZNSt9bad_allocD2Ev
-__ZNSt9exceptionD0Ev
-__ZNSt9exceptionD1Ev
-__ZNSt9exceptionD2Ev
-__ZNSt9type_infoD0Ev
-__ZNSt9type_infoD1Ev
-__ZNSt9type_infoD2Ev
-
-# Other std:: functions implemented in libc++abi
-__ZSt10unexpectedv
-__ZSt13get_terminatev
-__ZSt13set_terminatePFvvE
-__ZSt14get_unexpectedv
-__ZSt14set_unexpectedPFvvE
-__ZSt15get_new_handlerv
-__ZSt15set_new_handlerPFvvE
-__ZSt9terminatev
-
-# Misc
-__ZN10__cxxabiv119__getExceptionClassEPK17_Unwind_Exception
-__ZN10__cxxabiv119__setExceptionClassEP17_Unwind_Exceptiony
-__ZN10__cxxabiv121__isOurExceptionClassEPK17_Unwind_Exception
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/CMakeLists.txt b/r21/sources/cxx-stl/llvm-libc++abi/src/CMakeLists.txt
deleted file mode 100644
index 6b8f76b..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/CMakeLists.txt
+++ /dev/null
@@ -1,304 +0,0 @@
-# Get sources
-set(LIBCXXABI_SOURCES
-  # C++ABI files
-  cxa_aux_runtime.cpp
-  cxa_default_handlers.cpp
-  cxa_demangle.cpp
-  cxa_exception_storage.cpp
-  cxa_guard.cpp
-  cxa_handlers.cpp
-  cxa_unexpected.cpp
-  cxa_vector.cpp
-  cxa_virtual.cpp
-  # C++ STL files
-  stdlib_exception.cpp
-  stdlib_stdexcept.cpp
-  stdlib_typeinfo.cpp
-  # Internal files
-  abort_message.cpp
-  fallback_malloc.cpp
-  private_typeinfo.cpp
-)
-
-if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
-  list(APPEND LIBCXXABI_SOURCES stdlib_new_delete.cpp)
-endif()
-
-if (LIBCXXABI_ENABLE_EXCEPTIONS)
-  list(APPEND LIBCXXABI_SOURCES
-    cxa_exception.cpp
-    cxa_personality.cpp
-  )
-else()
-  list(APPEND LIBCXXABI_SOURCES
-    cxa_noexception.cpp
-  )
-endif()
-
-if (LIBCXXABI_ENABLE_THREADS AND (UNIX OR FUCHSIA) AND NOT (APPLE OR CYGWIN))
-  list(APPEND LIBCXXABI_SOURCES
-    cxa_thread_atexit.cpp
-  )
-endif()
-
-set(LIBCXXABI_HEADERS
-  ../include/cxxabi.h
-)
-
-# Add all the headers to the project for IDEs.
-if (MSVC_IDE OR XCODE)
-  # Force them all into the headers dir on MSVC, otherwise they end up at
-  # project scope because they don't have extensions.
-  if (MSVC_IDE)
-    source_group("Header Files" FILES ${LIBCXXABI_HEADERS})
-  endif()
-endif()
-
-include_directories("${LIBCXXABI_LIBCXX_INCLUDES}")
-
-if (LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL)
-  add_definitions(-DHAVE___CXA_THREAD_ATEXIT_IMPL)
-endif()
-
-if (LIBCXXABI_ENABLE_THREADS)
-  add_library_flags_if(LIBCXXABI_HAS_PTHREAD_LIB pthread)
-endif()
-
-add_library_flags_if(LIBCXXABI_HAS_C_LIB c)
-if (LIBCXXABI_USE_LLVM_UNWINDER)
-  # Prefer using the in-tree version of libunwind, either shared or static. If
-  # none are found fall back to using -lunwind.
-  # FIXME: Is it correct to prefer the static version of libunwind?
-  if (NOT LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY AND (TARGET unwind_shared OR HAVE_LIBUNWIND))
-    list(APPEND LIBCXXABI_SHARED_LIBRARIES unwind_shared)
-  elseif (LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY AND (TARGET unwind_static OR HAVE_LIBUNWIND))
-    list(APPEND LIBCXXABI_SHARED_LIBRARIES unwind_static)
-  else()
-    list(APPEND LIBCXXABI_SHARED_LIBRARIES unwind)
-  endif()
-  if (NOT LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY AND (TARGET unwind_shared OR HAVE_LIBUNWIND))
-    list(APPEND LIBCXXABI_STATIC_LIBRARIES unwind_shared)
-  elseif (LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY AND (TARGET unwind_static OR HAVE_LIBUNWIND))
-      # We handle this by directly merging libunwind objects into libc++abi.
-  else()
-    list(APPEND LIBCXXABI_STATIC_LIBRARIES unwind)
-  endif()
-else()
-  add_library_flags_if(LIBCXXABI_HAS_GCC_S_LIB gcc_s)
-endif()
-if (MINGW)
-  # MINGW_LIBRARIES is defined in config-ix.cmake
-  list(APPEND LIBCXXABI_LIBRARIES ${MINGW_LIBRARIES})
-endif()
-
-# Setup flags.
-add_link_flags_if_supported(-nodefaultlibs)
-
-set(LIBCXXABI_SHARED_LINK_FLAGS)
-
-if ( APPLE )
-  if ( CMAKE_OSX_DEPLOYMENT_TARGET STREQUAL "10.6" )
-    list(APPEND LIBCXXABI_COMPILE_FLAGS "-U__STRICT_ANSI__")
-    list(APPEND LIBCXXABI_SHARED_LINK_FLAGS
-      "-compatibility_version 1"
-      "-current_version 1"
-      "-install_name /usr/lib/libc++abi.1.dylib")
-    list(APPEND LIBCXXABI_LINK_FLAGS
-        "/usr/lib/libSystem.B.dylib")
-  else()
-    list(APPEND LIBCXXABI_SHARED_LINK_FLAGS
-      "-compatibility_version 1"
-      "-install_name /usr/lib/libc++abi.1.dylib")
-  endif()
-
-  if (LLVM_USE_SANITIZER)
-    if (("${LLVM_USE_SANITIZER}" STREQUAL "Address") OR
-        ("${LLVM_USE_SANITIZER}" STREQUAL "Address;Undefined") OR
-        ("${LLVM_USE_SANITIZER}" STREQUAL "Undefined;Address"))
-      set(LIBFILE "libclang_rt.asan_osx_dynamic.dylib")
-    elseif("${LLVM_USE_SANITIZER}" STREQUAL "Undefined")
-      set(LIBFILE "libclang_rt.ubsan_osx_dynamic.dylib")
-    elseif("${LLVM_USE_SANITIZER}" STREQUAL "Thread")
-      set(LIBFILE "libclang_rt.tsan_osx_dynamic.dylib")
-    else()
-      message(WARNING "LLVM_USE_SANITIZER=${LLVM_USE_SANITIZER} is not supported on OS X")
-    endif()
-    if (LIBFILE)
-      find_compiler_rt_dir(LIBDIR)
-      if (NOT IS_DIRECTORY "${LIBDIR}")
-        message(FATAL_ERROR "Cannot find compiler-rt directory on OS X required for LLVM_USE_SANITIZER")
-      endif()
-      set(LIBCXXABI_SANITIZER_LIBRARY "${LIBDIR}/${LIBFILE}")
-      set(LIBCXXABI_SANITIZER_LIBRARY "${LIBCXXABI_SANITIZER_LIBRARY}" PARENT_SCOPE)
-      message(STATUS "Manually linking compiler-rt library: ${LIBCXXABI_SANITIZER_LIBRARY}")
-      add_library_flags("${LIBCXXABI_SANITIZER_LIBRARY}")
-      add_link_flags("-Wl,-rpath,${LIBDIR}")
-    endif()
-  endif()
-endif()
-
-split_list(LIBCXXABI_COMPILE_FLAGS)
-split_list(LIBCXXABI_LINK_FLAGS)
-split_list(LIBCXXABI_SHARED_LINK_FLAGS)
-
-# FIXME: libc++abi.so will not link when modules are enabled because it depends
-# on symbols defined in libc++.so which has not yet been built.
-if (LLVM_ENABLE_MODULES)
-  string(REPLACE "-Wl,-z,defs" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-endif()
-
-if (NOT TARGET pstl::ParallelSTL)
-  message(STATUS "Could not find ParallelSTL, libc++abi will not attempt to use it but the build may fail if the libc++ in use needs it to be available.")
-endif()
-
-if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES "^(armv6|armv7|armv7s)$")
-  set(LIBCXXABI_USE_SJLJ_EXCEPTIONS ON)
-else()
-  set(LIBCXXABI_USE_SJLJ_EXCEPTIONS OFF)
-endif()
-
-# Build the shared library.
-if (LIBCXXABI_ENABLE_SHARED)
-  add_library(cxxabi_shared SHARED ${LIBCXXABI_SOURCES} ${LIBCXXABI_HEADERS})
-  if(COMMAND llvm_setup_rpath)
-    llvm_setup_rpath(cxxabi_shared)
-  endif()
-  target_link_libraries(cxxabi_shared PRIVATE ${LIBCXXABI_SHARED_LIBRARIES} ${LIBCXXABI_LIBRARIES})
-  if (TARGET pstl::ParallelSTL)
-    target_link_libraries(cxxabi_shared PUBLIC pstl::ParallelSTL)
-  endif()
-  set_target_properties(cxxabi_shared
-                        PROPERTIES
-                          CXX_EXTENSIONS
-                            OFF
-                          CXX_STANDARD
-                            11
-                          CXX_STANDARD_REQUIRED
-                            ON
-                          COMPILE_FLAGS
-                            "${LIBCXXABI_COMPILE_FLAGS}"
-                          LINK_FLAGS
-                            "${LIBCXXABI_LINK_FLAGS} ${LIBCXXABI_SHARED_LINK_FLAGS}"
-                          OUTPUT_NAME
-                            "c++abi"
-                          SOVERSION
-                            "1"
-                          VERSION
-                            "1.0")
-
-  if(LIBCXXABI_ENABLE_PIC)
-    set_target_properties(cxxabi_shared PROPERTIES POSITION_INDEPENDENT_CODE ON)
-  endif()
-
-  list(APPEND LIBCXXABI_BUILD_TARGETS "cxxabi_shared")
-  if (LIBCXXABI_INSTALL_SHARED_LIBRARY)
-    list(APPEND LIBCXXABI_INSTALL_TARGETS "cxxabi_shared")
-  endif()
-
-  # -exported_symbols_list is only available on Apple platforms
-  if (APPLE)
-    target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-base.exp")
-
-    if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
-      target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/new-delete.exp")
-    endif()
-
-    if (LIBCXXABI_USE_SJLJ_EXCEPTIONS)
-      target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-sjlj.exp")
-    else()
-      target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-v0.exp")
-    endif()
-  endif()
-endif()
-
-# Build the static library.
-if (LIBCXXABI_ENABLE_STATIC)
-  add_library(cxxabi_static STATIC ${LIBCXXABI_SOURCES} ${LIBCXXABI_HEADERS})
-  target_link_libraries(cxxabi_static PRIVATE ${LIBCXXABI_STATIC_LIBRARIES} ${LIBCXXABI_LIBRARIES})
-  if (TARGET pstl::ParallelSTL)
-    target_link_libraries(cxxabi_static PUBLIC pstl::ParallelSTL)
-  endif()
-  set_target_properties(cxxabi_static
-                        PROPERTIES
-                          CXX_EXTENSIONS
-                            OFF
-                          CXX_STANDARD
-                            11
-                          CXX_STANDARD_REQUIRED
-                            ON
-                          COMPILE_FLAGS
-                            "${LIBCXXABI_COMPILE_FLAGS}"
-                          LINK_FLAGS
-                            "${LIBCXXABI_LINK_FLAGS}"
-                          OUTPUT_NAME
-                            "c++abi")
-
-  if(LIBCXXABI_ENABLE_PIC)
-    set_target_properties(cxxabi_static PROPERTIES POSITION_INDEPENDENT_CODE ON)
-  endif()
-
-  if(LIBCXXABI_HERMETIC_STATIC_LIBRARY)
-    append_flags_if_supported(CXXABI_STATIC_LIBRARY_FLAGS -fvisibility=hidden)
-    # If the hermetic library doesn't define the operator new/delete functions
-    # then its code shouldn't declare them with hidden visibility.  They might
-    # actually be provided by a shared library at link time.
-    if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
-      append_flags_if_supported(CXXABI_STATIC_LIBRARY_FLAGS -fvisibility-global-new-delete-hidden)
-    endif()
-    target_compile_options(cxxabi_static PRIVATE ${CXXABI_STATIC_LIBRARY_FLAGS})
-    target_compile_definitions(cxxabi_static
-      PRIVATE
-        _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS
-        _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-  endif()
-
-  list(APPEND LIBCXXABI_BUILD_TARGETS "cxxabi_static")
-  if (LIBCXXABI_INSTALL_STATIC_LIBRARY)
-    list(APPEND LIBCXXABI_INSTALL_TARGETS "cxxabi_static")
-  endif()
-
-  if (APPLE)
-    set(MERGE_ARCHIVES_LIBTOOL "--use-libtool" "--libtool" "${CMAKE_LIBTOOL}")
-  endif()
-
-  # Merge the the libc++abi.a and libunwind.a into one.
-  if(LIBCXXABI_USE_LLVM_UNWINDER AND LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY)
-    add_custom_command(TARGET cxxabi_static POST_BUILD
-      COMMAND ${PYTHON_EXECUTABLE} ${LIBCXXABI_LIBCXX_PATH}/utils/merge_archives.py
-      ARGS
-        -o "$<TARGET_LINKER_FILE:cxxabi_static>"
-        --ar "${CMAKE_AR}"
-        ${MERGE_ARCHIVES_LIBTOOL}
-        "$<TARGET_LINKER_FILE:cxxabi_static>"
-        "$<TARGET_LINKER_FILE:unwind_static>"
-      WORKING_DIRECTORY ${LIBCXXABI_BUILD_DIR}
-    )
-  endif()
-endif()
-
-# Add a meta-target for both libraries.
-add_custom_target(cxxabi DEPENDS ${LIBCXXABI_BUILD_TARGETS})
-
-if (LIBCXXABI_INSTALL_LIBRARY)
-  install(TARGETS ${LIBCXXABI_INSTALL_TARGETS}
-    LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${LIBCXXABI_INSTALL_LIBRARY_DIR} COMPONENT cxxabi
-    ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${LIBCXXABI_INSTALL_LIBRARY_DIR} COMPONENT cxxabi
-    )
-endif()
-
-if (NOT CMAKE_CONFIGURATION_TYPES AND LIBCXXABI_INSTALL_LIBRARY)
-  add_custom_target(install-cxxabi
-    DEPENDS cxxabi
-    COMMAND "${CMAKE_COMMAND}"
-            -DCMAKE_INSTALL_COMPONENT=cxxabi
-            -P "${LIBCXXABI_BINARY_DIR}/cmake_install.cmake")
-  add_custom_target(install-cxxabi-stripped
-    DEPENDS cxxabi
-    COMMAND "${CMAKE_COMMAND}"
-            -DCMAKE_INSTALL_COMPONENT=cxxabi
-            -DCMAKE_INSTALL_DO_STRIP=1
-            -P "${LIBCXXABI_BINARY_DIR}/cmake_install.cmake")
-
-  # TODO: This is a legacy target name and should be removed at some point.
-  add_custom_target(install-libcxxabi DEPENDS install-cxxabi)
-endif()
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/abort_message.h b/r21/sources/cxx-stl/llvm-libc++abi/src/abort_message.h
deleted file mode 100644
index 7cb11f4..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/abort_message.h
+++ /dev/null
@@ -1,26 +0,0 @@
-//===-------------------------- abort_message.h-----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef __ABORT_MESSAGE_H_
-#define __ABORT_MESSAGE_H_
-
-#include "cxxabi.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LIBCXXABI_HIDDEN _LIBCXXABI_NORETURN void
-abort_message(const char *format, ...) __attribute__((format(printf, 1, 2)));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_default_handlers.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_default_handlers.cpp
deleted file mode 100644
index 91a63f5..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_default_handlers.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//===------------------------- cxa_default_handlers.cpp -------------------===//
-//
-// 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
-//
-//
-// This file implements the default terminate_handler and unexpected_handler.
-//===----------------------------------------------------------------------===//
-
-#include <stdexcept>
-#include <new>
-#include <exception>
-#include <cstdlib>
-#include "abort_message.h"
-#include "cxxabi.h"
-#include "cxa_handlers.h"
-#include "cxa_exception.h"
-#include "private_typeinfo.h"
-#include "include/atomic_support.h"
-
-#if !defined(LIBCXXABI_SILENT_TERMINATE)
-static const char* cause = "uncaught";
-
-__attribute__((noreturn))
-static void demangling_terminate_handler()
-{
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    // If there might be an uncaught exception
-    using namespace __cxxabiv1;
-    __cxa_eh_globals* globals = __cxa_get_globals_fast();
-    if (globals)
-    {
-        __cxa_exception* exception_header = globals->caughtExceptions;
-        // If there is an uncaught exception
-        if (exception_header)
-        {
-            _Unwind_Exception* unwind_exception =
-                reinterpret_cast<_Unwind_Exception*>(exception_header + 1) - 1;
-            if (__isOurExceptionClass(unwind_exception))
-            {
-                void* thrown_object =
-                    __getExceptionClass(unwind_exception) == kOurDependentExceptionClass ?
-                        ((__cxa_dependent_exception*)exception_header)->primaryException :
-                        exception_header + 1;
-                const __shim_type_info* thrown_type =
-                    static_cast<const __shim_type_info*>(exception_header->exceptionType);
-                // Try to get demangled name of thrown_type
-                int status;
-                char buf[1024];
-                size_t len = sizeof(buf);
-                const char* name = __cxa_demangle(thrown_type->name(), buf, &len, &status);
-                if (status != 0)
-                    name = thrown_type->name();
-                // If the uncaught exception can be caught with std::exception&
-                const __shim_type_info* catch_type =
-				 static_cast<const __shim_type_info*>(&typeid(std::exception));
-                if (catch_type->can_catch(thrown_type, thrown_object))
-                {
-                    // Include the what() message from the exception
-                    const std::exception* e = static_cast<const std::exception*>(thrown_object);
-                    abort_message("terminating with %s exception of type %s: %s",
-                                  cause, name, e->what());
-                }
-                else
-                    // Else just note that we're terminating with an exception
-                    abort_message("terminating with %s exception of type %s",
-                                   cause, name);
-            }
-            else
-                // Else we're terminating with a foreign exception
-                abort_message("terminating with %s foreign exception", cause);
-        }
-    }
-#endif
-    // Else just note that we're terminating
-    abort_message("terminating");
-}
-
-__attribute__((noreturn))
-static void demangling_unexpected_handler()
-{
-    cause = "unexpected";
-    std::terminate();
-}
-
-static std::terminate_handler default_terminate_handler = demangling_terminate_handler;
-static std::terminate_handler default_unexpected_handler = demangling_unexpected_handler;
-#else
-static std::terminate_handler default_terminate_handler = std::abort;
-static std::terminate_handler default_unexpected_handler = std::terminate;
-#endif
-
-//
-// Global variables that hold the pointers to the current handler
-//
-_LIBCXXABI_DATA_VIS
-std::terminate_handler __cxa_terminate_handler = default_terminate_handler;
-
-_LIBCXXABI_DATA_VIS
-std::unexpected_handler __cxa_unexpected_handler = default_unexpected_handler;
-
-namespace std
-{
-
-unexpected_handler
-set_unexpected(unexpected_handler func) _NOEXCEPT
-{
-    if (func == 0)
-        func = default_unexpected_handler;
-    return __libcpp_atomic_exchange(&__cxa_unexpected_handler, func,
-                                    _AO_Acq_Rel);
-}
-
-terminate_handler
-set_terminate(terminate_handler func) _NOEXCEPT
-{
-    if (func == 0)
-        func = default_terminate_handler;
-    return __libcpp_atomic_exchange(&__cxa_terminate_handler, func,
-                                    _AO_Acq_Rel);
-}
-
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_demangle.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_demangle.cpp
deleted file mode 100644
index 7912b1c..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_demangle.cpp
+++ /dev/null
@@ -1,364 +0,0 @@
-//===-------------------------- cxa_demangle.cpp --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// FIXME: (possibly) incomplete list of features that clang mangles that this
-// file does not yet support:
-//   - C++ modules TS
-
-#include "demangle/ItaniumDemangle.h"
-#include "__cxxabi_config.h"
-#include <cassert>
-#include <cctype>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <functional>
-#include <numeric>
-#include <utility>
-
-using namespace itanium_demangle;
-
-constexpr const char *itanium_demangle::FloatData<float>::spec;
-constexpr const char *itanium_demangle::FloatData<double>::spec;
-constexpr const char *itanium_demangle::FloatData<long double>::spec;
-
-// <discriminator> := _ <non-negative number>      # when number < 10
-//                 := __ <non-negative number> _   # when number >= 10
-//  extension      := decimal-digit+               # at the end of string
-const char *itanium_demangle::parse_discriminator(const char *first,
-                                                  const char *last) {
-  // parse but ignore discriminator
-  if (first != last) {
-    if (*first == '_') {
-      const char *t1 = first + 1;
-      if (t1 != last) {
-        if (std::isdigit(*t1))
-          first = t1 + 1;
-        else if (*t1 == '_') {
-          for (++t1; t1 != last && std::isdigit(*t1); ++t1)
-            ;
-          if (t1 != last && *t1 == '_')
-            first = t1 + 1;
-        }
-      }
-    } else if (std::isdigit(*first)) {
-      const char *t1 = first + 1;
-      for (; t1 != last && std::isdigit(*t1); ++t1)
-        ;
-      if (t1 == last)
-        first = last;
-    }
-  }
-  return first;
-}
-
-#ifndef NDEBUG
-namespace {
-struct DumpVisitor {
-  unsigned Depth = 0;
-  bool PendingNewline = false;
-
-  template<typename NodeT> static constexpr bool wantsNewline(const NodeT *) {
-    return true;
-  }
-  static bool wantsNewline(NodeArray A) { return !A.empty(); }
-  static constexpr bool wantsNewline(...) { return false; }
-
-  template<typename ...Ts> static bool anyWantNewline(Ts ...Vs) {
-    for (bool B : {wantsNewline(Vs)...})
-      if (B)
-        return true;
-    return false;
-  }
-
-  void printStr(const char *S) { fprintf(stderr, "%s", S); }
-  void print(StringView SV) {
-    fprintf(stderr, "\"%.*s\"", (int)SV.size(), SV.begin());
-  }
-  void print(const Node *N) {
-    if (N)
-      N->visit(std::ref(*this));
-    else
-      printStr("<null>");
-  }
-  void print(NodeOrString NS) {
-    if (NS.isNode())
-      print(NS.asNode());
-    else if (NS.isString())
-      print(NS.asString());
-    else
-      printStr("NodeOrString()");
-  }
-  void print(NodeArray A) {
-    ++Depth;
-    printStr("{");
-    bool First = true;
-    for (const Node *N : A) {
-      if (First)
-        print(N);
-      else
-        printWithComma(N);
-      First = false;
-    }
-    printStr("}");
-    --Depth;
-  }
-
-  // Overload used when T is exactly 'bool', not merely convertible to 'bool'.
-  void print(bool B) { printStr(B ? "true" : "false"); }
-
-  template <class T>
-  typename std::enable_if<std::is_unsigned<T>::value>::type print(T N) {
-    fprintf(stderr, "%llu", (unsigned long long)N);
-  }
-
-  template <class T>
-  typename std::enable_if<std::is_signed<T>::value>::type print(T N) {
-    fprintf(stderr, "%lld", (long long)N);
-  }
-
-  void print(ReferenceKind RK) {
-    switch (RK) {
-    case ReferenceKind::LValue:
-      return printStr("ReferenceKind::LValue");
-    case ReferenceKind::RValue:
-      return printStr("ReferenceKind::RValue");
-    }
-  }
-  void print(FunctionRefQual RQ) {
-    switch (RQ) {
-    case FunctionRefQual::FrefQualNone:
-      return printStr("FunctionRefQual::FrefQualNone");
-    case FunctionRefQual::FrefQualLValue:
-      return printStr("FunctionRefQual::FrefQualLValue");
-    case FunctionRefQual::FrefQualRValue:
-      return printStr("FunctionRefQual::FrefQualRValue");
-    }
-  }
-  void print(Qualifiers Qs) {
-    if (!Qs) return printStr("QualNone");
-    struct QualName { Qualifiers Q; const char *Name; } Names[] = {
-      {QualConst, "QualConst"},
-      {QualVolatile, "QualVolatile"},
-      {QualRestrict, "QualRestrict"},
-    };
-    for (QualName Name : Names) {
-      if (Qs & Name.Q) {
-        printStr(Name.Name);
-        Qs = Qualifiers(Qs & ~Name.Q);
-        if (Qs) printStr(" | ");
-      }
-    }
-  }
-  void print(SpecialSubKind SSK) {
-    switch (SSK) {
-    case SpecialSubKind::allocator:
-      return printStr("SpecialSubKind::allocator");
-    case SpecialSubKind::basic_string:
-      return printStr("SpecialSubKind::basic_string");
-    case SpecialSubKind::string:
-      return printStr("SpecialSubKind::string");
-    case SpecialSubKind::istream:
-      return printStr("SpecialSubKind::istream");
-    case SpecialSubKind::ostream:
-      return printStr("SpecialSubKind::ostream");
-    case SpecialSubKind::iostream:
-      return printStr("SpecialSubKind::iostream");
-    }
-  }
-
-  void newLine() {
-    printStr("\n");
-    for (unsigned I = 0; I != Depth; ++I)
-      printStr(" ");
-    PendingNewline = false;
-  }
-
-  template<typename T> void printWithPendingNewline(T V) {
-    print(V);
-    if (wantsNewline(V))
-      PendingNewline = true;
-  }
-
-  template<typename T> void printWithComma(T V) {
-    if (PendingNewline || wantsNewline(V)) {
-      printStr(",");
-      newLine();
-    } else {
-      printStr(", ");
-    }
-
-    printWithPendingNewline(V);
-  }
-
-  struct CtorArgPrinter {
-    DumpVisitor &Visitor;
-
-    template<typename T, typename ...Rest> void operator()(T V, Rest ...Vs) {
-      if (Visitor.anyWantNewline(V, Vs...))
-        Visitor.newLine();
-      Visitor.printWithPendingNewline(V);
-      int PrintInOrder[] = { (Visitor.printWithComma(Vs), 0)..., 0 };
-      (void)PrintInOrder;
-    }
-  };
-
-  template<typename NodeT> void operator()(const NodeT *Node) {
-    Depth += 2;
-    fprintf(stderr, "%s(", itanium_demangle::NodeKind<NodeT>::name());
-    Node->match(CtorArgPrinter{*this});
-    fprintf(stderr, ")");
-    Depth -= 2;
-  }
-
-  void operator()(const ForwardTemplateReference *Node) {
-    Depth += 2;
-    fprintf(stderr, "ForwardTemplateReference(");
-    if (Node->Ref && !Node->Printing) {
-      Node->Printing = true;
-      CtorArgPrinter{*this}(Node->Ref);
-      Node->Printing = false;
-    } else {
-      CtorArgPrinter{*this}(Node->Index);
-    }
-    fprintf(stderr, ")");
-    Depth -= 2;
-  }
-};
-}
-
-void itanium_demangle::Node::dump() const {
-  DumpVisitor V;
-  visit(std::ref(V));
-  V.newLine();
-}
-#endif
-
-namespace {
-class BumpPointerAllocator {
-  struct BlockMeta {
-    BlockMeta* Next;
-    size_t Current;
-  };
-
-  static constexpr size_t AllocSize = 4096;
-  static constexpr size_t UsableAllocSize = AllocSize - sizeof(BlockMeta);
-
-  alignas(long double) char InitialBuffer[AllocSize];
-  BlockMeta* BlockList = nullptr;
-
-  void grow() {
-    char* NewMeta = static_cast<char *>(std::malloc(AllocSize));
-    if (NewMeta == nullptr)
-      std::terminate();
-    BlockList = new (NewMeta) BlockMeta{BlockList, 0};
-  }
-
-  void* allocateMassive(size_t NBytes) {
-    NBytes += sizeof(BlockMeta);
-    BlockMeta* NewMeta = reinterpret_cast<BlockMeta*>(std::malloc(NBytes));
-    if (NewMeta == nullptr)
-      std::terminate();
-    BlockList->Next = new (NewMeta) BlockMeta{BlockList->Next, 0};
-    return static_cast<void*>(NewMeta + 1);
-  }
-
-public:
-  BumpPointerAllocator()
-      : BlockList(new (InitialBuffer) BlockMeta{nullptr, 0}) {}
-
-  void* allocate(size_t N) {
-    N = (N + 15u) & ~15u;
-    if (N + BlockList->Current >= UsableAllocSize) {
-      if (N > UsableAllocSize)
-        return allocateMassive(N);
-      grow();
-    }
-    BlockList->Current += N;
-    return static_cast<void*>(reinterpret_cast<char*>(BlockList + 1) +
-                              BlockList->Current - N);
-  }
-
-  void reset() {
-    while (BlockList) {
-      BlockMeta* Tmp = BlockList;
-      BlockList = BlockList->Next;
-      if (reinterpret_cast<char*>(Tmp) != InitialBuffer)
-        std::free(Tmp);
-    }
-    BlockList = new (InitialBuffer) BlockMeta{nullptr, 0};
-  }
-
-  ~BumpPointerAllocator() { reset(); }
-};
-
-class DefaultAllocator {
-  BumpPointerAllocator Alloc;
-
-public:
-  void reset() { Alloc.reset(); }
-
-  template<typename T, typename ...Args> T *makeNode(Args &&...args) {
-    return new (Alloc.allocate(sizeof(T)))
-        T(std::forward<Args>(args)...);
-  }
-
-  void *allocateNodeArray(size_t sz) {
-    return Alloc.allocate(sizeof(Node *) * sz);
-  }
-};
-}  // unnamed namespace
-
-//===----------------------------------------------------------------------===//
-// Code beyond this point should not be synchronized with LLVM.
-//===----------------------------------------------------------------------===//
-
-using Demangler = itanium_demangle::ManglingParser<DefaultAllocator>;
-
-namespace {
-enum : int {
-  demangle_invalid_args = -3,
-  demangle_invalid_mangled_name = -2,
-  demangle_memory_alloc_failure = -1,
-  demangle_success = 0,
-};
-}
-
-namespace __cxxabiv1 {
-extern "C" _LIBCXXABI_FUNC_VIS char *
-__cxa_demangle(const char *MangledName, char *Buf, size_t *N, int *Status) {
-  if (MangledName == nullptr || (Buf != nullptr && N == nullptr)) {
-    if (Status)
-      *Status = demangle_invalid_args;
-    return nullptr;
-  }
-
-  int InternalStatus = demangle_success;
-  Demangler Parser(MangledName, MangledName + std::strlen(MangledName));
-  OutputStream S;
-
-  Node *AST = Parser.parse();
-
-  if (AST == nullptr)
-    InternalStatus = demangle_invalid_mangled_name;
-  else if (!initializeOutputStream(Buf, N, S, 1024))
-    InternalStatus = demangle_memory_alloc_failure;
-  else {
-    assert(Parser.ForwardTemplateRefs.empty());
-    AST->print(S);
-    S += '\0';
-    if (N != nullptr)
-      *N = S.getCurrentPosition();
-    Buf = S.getBuffer();
-  }
-
-  if (Status)
-    *Status = InternalStatus;
-  return InternalStatus == demangle_success ? Buf : nullptr;
-}
-}  // __cxxabiv1
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.cpp
deleted file mode 100644
index 688ba1e..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.cpp
+++ /dev/null
@@ -1,756 +0,0 @@
-//===------------------------- cxa_exception.cpp --------------------------===//
-//
-// 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
-//
-//  
-//  This file implements the "Exception Handling APIs"
-//  https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
-//  
-//===----------------------------------------------------------------------===//
-
-#include "cxxabi.h"
-
-#include <exception>        // for std::terminate
-#include <cstring>          // for memset
-#include "cxa_exception.h"
-#include "cxa_handlers.h"
-#include "fallback_malloc.h"
-#include "include/atomic_support.h"
-
-#if __has_feature(address_sanitizer)
-extern "C" void __asan_handle_no_return(void);
-#endif
-
-// +---------------------------+-----------------------------+---------------+
-// | __cxa_exception           | _Unwind_Exception CLNGC++\0 | thrown object |
-// +---------------------------+-----------------------------+---------------+
-//                                                           ^
-//                                                           |
-//   +-------------------------------------------------------+
-//   |
-// +---------------------------+-----------------------------+
-// | __cxa_dependent_exception | _Unwind_Exception CLNGC++\1 |
-// +---------------------------+-----------------------------+
-
-namespace __cxxabiv1 {
-
-//  Utility routines
-static
-inline
-__cxa_exception*
-cxa_exception_from_thrown_object(void* thrown_object)
-{
-    return static_cast<__cxa_exception*>(thrown_object) - 1;
-}
-
-// Note:  This is never called when exception_header is masquerading as a
-//        __cxa_dependent_exception.
-static
-inline
-void*
-thrown_object_from_cxa_exception(__cxa_exception* exception_header)
-{
-    return static_cast<void*>(exception_header + 1);
-}
-
-//  Get the exception object from the unwind pointer.
-//  Relies on the structure layout, where the unwind pointer is right in
-//  front of the user's exception object
-static
-inline
-__cxa_exception*
-cxa_exception_from_exception_unwind_exception(_Unwind_Exception* unwind_exception)
-{
-    return cxa_exception_from_thrown_object(unwind_exception + 1 );
-}
-
-// Round s up to next multiple of a.
-static inline
-size_t aligned_allocation_size(size_t s, size_t a) {
-    return (s + a - 1) & ~(a - 1);
-}
-
-static inline
-size_t cxa_exception_size_from_exception_thrown_size(size_t size) {
-    return aligned_allocation_size(size + sizeof (__cxa_exception),
-                                   alignof(__cxa_exception));
-}
-
-void __setExceptionClass(_Unwind_Exception* unwind_exception, uint64_t newValue) {
-	::memcpy(&unwind_exception->exception_class, &newValue, sizeof(newValue));
-	}
-	
-
-static void setOurExceptionClass(_Unwind_Exception* unwind_exception) {
-    __setExceptionClass(unwind_exception, kOurExceptionClass);
-}
-
-static void setDependentExceptionClass(_Unwind_Exception* unwind_exception) {
-    __setExceptionClass(unwind_exception, kOurDependentExceptionClass);
-}
-
-//  Is it one of ours?
-uint64_t __getExceptionClass(const _Unwind_Exception* unwind_exception) {
-//	On x86 and some ARM unwinders, unwind_exception->exception_class is
-//		a uint64_t. On other ARM unwinders, it is a char[8]
-//	See: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038b/IHI0038B_ehabi.pdf
-//	So we just copy it into a uint64_t to be sure.
-	uint64_t exClass;
-	::memcpy(&exClass, &unwind_exception->exception_class, sizeof(exClass));
-	return exClass;
-}
-
-bool __isOurExceptionClass(const _Unwind_Exception* unwind_exception) {
-    return (__getExceptionClass(unwind_exception) & get_vendor_and_language) == 
-           (kOurExceptionClass                    & get_vendor_and_language);
-}
-
-static bool isDependentException(_Unwind_Exception* unwind_exception) {
-    return (__getExceptionClass(unwind_exception) & 0xFF) == 0x01;
-}
-
-//  This does not need to be atomic
-static inline int incrementHandlerCount(__cxa_exception *exception) {
-    return ++exception->handlerCount;
-}
-
-//  This does not need to be atomic
-static inline  int decrementHandlerCount(__cxa_exception *exception) {
-    return --exception->handlerCount;
-}
-
-/*
-    If reason isn't _URC_FOREIGN_EXCEPTION_CAUGHT, then the terminateHandler
-    stored in exc is called.  Otherwise the exceptionDestructor stored in 
-    exc is called, and then the memory for the exception is deallocated.
-
-    This is never called for a __cxa_dependent_exception.
-*/
-static
-void
-exception_cleanup_func(_Unwind_Reason_Code reason, _Unwind_Exception* unwind_exception)
-{
-    __cxa_exception* exception_header = cxa_exception_from_exception_unwind_exception(unwind_exception);
-    if (_URC_FOREIGN_EXCEPTION_CAUGHT != reason)
-        std::__terminate(exception_header->terminateHandler);
-    // Just in case there exists a dependent exception that is pointing to this,
-    //    check the reference count and only destroy this if that count goes to zero.
-    __cxa_decrement_exception_refcount(unwind_exception + 1);
-}
-
-static _LIBCXXABI_NORETURN void failed_throw(__cxa_exception* exception_header) {
-//  Section 2.5.3 says:
-//      * For purposes of this ABI, several things are considered exception handlers:
-//      ** A terminate() call due to a throw.
-//  and
-//      * Upon entry, Following initialization of the catch parameter, 
-//          a handler must call:
-//      * void *__cxa_begin_catch(void *exceptionObject );
-    (void) __cxa_begin_catch(&exception_header->unwindHeader);
-    std::__terminate(exception_header->terminateHandler);
-}
-
-// Return the offset of the __cxa_exception header from the start of the
-// allocated buffer. If __cxa_exception's alignment is smaller than the maximum
-// useful alignment for the target machine, padding has to be inserted before
-// the header to ensure the thrown object that follows the header is
-// sufficiently aligned. This happens if _Unwind_exception isn't double-word
-// aligned (on Darwin, for example).
-static size_t get_cxa_exception_offset() {
-  struct S {
-  } __attribute__((aligned));
-
-  // Compute the maximum alignment for the target machine.
-  constexpr size_t alignment = std::alignment_of<S>::value;
-  constexpr size_t excp_size = sizeof(__cxa_exception);
-  constexpr size_t aligned_size =
-      (excp_size + alignment - 1) / alignment * alignment;
-  constexpr size_t offset = aligned_size - excp_size;
-  static_assert((offset == 0 ||
-                 std::alignment_of<_Unwind_Exception>::value < alignment),
-                "offset is non-zero only if _Unwind_Exception isn't aligned");
-  return offset;
-}
-
-extern "C" {
-
-//  Allocate a __cxa_exception object, and zero-fill it.
-//  Reserve "thrown_size" bytes on the end for the user's exception
-//  object. Zero-fill the object. If memory can't be allocated, call
-//  std::terminate. Return a pointer to the memory to be used for the
-//  user's exception object.
-void *__cxa_allocate_exception(size_t thrown_size) throw() {
-    size_t actual_size = cxa_exception_size_from_exception_thrown_size(thrown_size);
-
-    // Allocate extra space before the __cxa_exception header to ensure the
-    // start of the thrown object is sufficiently aligned.
-    size_t header_offset = get_cxa_exception_offset();
-    char *raw_buffer =
-        (char *)__aligned_malloc_with_fallback(header_offset + actual_size);
-    if (NULL == raw_buffer)
-        std::terminate();
-    __cxa_exception *exception_header =
-        static_cast<__cxa_exception *>((void *)(raw_buffer + header_offset));
-    std::memset(exception_header, 0, actual_size);
-    return thrown_object_from_cxa_exception(exception_header);
-}
-
-
-//  Free a __cxa_exception object allocated with __cxa_allocate_exception.
-void __cxa_free_exception(void *thrown_object) throw() {
-    // Compute the size of the padding before the header.
-    size_t header_offset = get_cxa_exception_offset();
-    char *raw_buffer =
-        ((char *)cxa_exception_from_thrown_object(thrown_object)) - header_offset;
-    __aligned_free_with_fallback((void *)raw_buffer);
-}
-
-
-//  This function shall allocate a __cxa_dependent_exception and
-//  return a pointer to it. (Really to the object, not past its' end).
-//  Otherwise, it will work like __cxa_allocate_exception.
-void * __cxa_allocate_dependent_exception () {
-    size_t actual_size = sizeof(__cxa_dependent_exception);
-    void *ptr = __aligned_malloc_with_fallback(actual_size);
-    if (NULL == ptr)
-        std::terminate();
-    std::memset(ptr, 0, actual_size);
-    return ptr;
-}
-
-
-//  This function shall free a dependent_exception.
-//  It does not affect the reference count of the primary exception.
-void __cxa_free_dependent_exception (void * dependent_exception) {
-    __aligned_free_with_fallback(dependent_exception);
-}
-
-
-// 2.4.3 Throwing the Exception Object
-/*
-After constructing the exception object with the throw argument value,
-the generated code calls the __cxa_throw runtime library routine. This
-routine never returns.
-
-The __cxa_throw routine will do the following:
-
-* Obtain the __cxa_exception header from the thrown exception object address,
-which can be computed as follows: 
- __cxa_exception *header = ((__cxa_exception *) thrown_exception - 1); 
-* Save the current unexpected_handler and terminate_handler in the __cxa_exception header.
-* Save the tinfo and dest arguments in the __cxa_exception header. 
-* Set the exception_class field in the unwind header. This is a 64-bit value
-representing the ASCII string "XXXXC++\0", where "XXXX" is a
-vendor-dependent string. That is, for implementations conforming to this
-ABI, the low-order 4 bytes of this 64-bit value will be "C++\0".
-* Increment the uncaught_exception flag. 
-* Call _Unwind_RaiseException in the system unwind library, Its argument is the
-pointer to the thrown exception, which __cxa_throw itself received as an argument.
-__Unwind_RaiseException begins the process of stack unwinding, described
-in Section 2.5. In special cases, such as an inability to find a
-handler, _Unwind_RaiseException may return. In that case, __cxa_throw
-will call terminate, assuming that there was no handler for the
-exception.
-*/
-void
-__cxa_throw(void *thrown_object, std::type_info *tinfo, void (*dest)(void *)) {
-    __cxa_eh_globals *globals = __cxa_get_globals();
-    __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object);
-
-    exception_header->unexpectedHandler = std::get_unexpected();
-    exception_header->terminateHandler  = std::get_terminate();
-    exception_header->exceptionType = tinfo;
-    exception_header->exceptionDestructor = dest;
-    setOurExceptionClass(&exception_header->unwindHeader);
-    exception_header->referenceCount = 1;  // This is a newly allocated exception, no need for thread safety.
-    globals->uncaughtExceptions += 1;   // Not atomically, since globals are thread-local
-
-    exception_header->unwindHeader.exception_cleanup = exception_cleanup_func;
-
-#if __has_feature(address_sanitizer)
-    // Inform the ASan runtime that now might be a good time to clean stuff up.
-    __asan_handle_no_return();
-#endif
-
-#ifdef __USING_SJLJ_EXCEPTIONS__
-    _Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
-#else
-    _Unwind_RaiseException(&exception_header->unwindHeader);
-#endif
-    //  This only happens when there is no handler, or some unexpected unwinding
-    //     error happens.
-    failed_throw(exception_header);
-}
-
-
-// 2.5.3 Exception Handlers
-/*
-The adjusted pointer is computed by the personality routine during phase 1
-  and saved in the exception header (either __cxa_exception or
-  __cxa_dependent_exception).
-
-  Requires:  exception is native
-*/
-void *__cxa_get_exception_ptr(void *unwind_exception) throw() {
-#if defined(_LIBCXXABI_ARM_EHABI)
-    return reinterpret_cast<void*>(
-        static_cast<_Unwind_Control_Block*>(unwind_exception)->barrier_cache.bitpattern[0]);
-#else
-    return cxa_exception_from_exception_unwind_exception(
-        static_cast<_Unwind_Exception*>(unwind_exception))->adjustedPtr;
-#endif
-}
-
-#if defined(_LIBCXXABI_ARM_EHABI)
-/*
-The routine to be called before the cleanup.  This will save __cxa_exception in
-__cxa_eh_globals, so that __cxa_end_cleanup() can recover later.
-*/
-bool __cxa_begin_cleanup(void *unwind_arg) throw() {
-    _Unwind_Exception* unwind_exception = static_cast<_Unwind_Exception*>(unwind_arg);
-    __cxa_eh_globals* globals = __cxa_get_globals();
-    __cxa_exception* exception_header =
-        cxa_exception_from_exception_unwind_exception(unwind_exception);
-
-    if (__isOurExceptionClass(unwind_exception))
-    {
-        if (0 == exception_header->propagationCount)
-        {
-            exception_header->nextPropagatingException = globals->propagatingExceptions;
-            globals->propagatingExceptions = exception_header;
-        }
-        ++exception_header->propagationCount;
-    }
-    else
-    {
-        // If the propagatingExceptions stack is not empty, since we can't
-        // chain the foreign exception, terminate it.
-        if (NULL != globals->propagatingExceptions)
-            std::terminate();
-        globals->propagatingExceptions = exception_header;
-    }
-    return true;
-}
-
-/*
-The routine to be called after the cleanup has been performed.  It will get the
-propagating __cxa_exception from __cxa_eh_globals, and continue the stack
-unwinding with _Unwind_Resume.
-
-According to ARM EHABI 8.4.1, __cxa_end_cleanup() should not clobber any
-register, thus we have to write this function in assembly so that we can save
-{r1, r2, r3}.  We don't have to save r0 because it is the return value and the
-first argument to _Unwind_Resume().  In addition, we are saving r4 in order to
-align the stack to 16 bytes, even though it is a callee-save register.
-*/
-__attribute__((used)) static _Unwind_Exception *
-__cxa_end_cleanup_impl()
-{
-    __cxa_eh_globals* globals = __cxa_get_globals();
-    __cxa_exception* exception_header = globals->propagatingExceptions;
-    if (NULL == exception_header)
-    {
-        // It seems that __cxa_begin_cleanup() is not called properly.
-        // We have no choice but terminate the program now.
-        std::terminate();
-    }
-
-    if (__isOurExceptionClass(&exception_header->unwindHeader))
-    {
-        --exception_header->propagationCount;
-        if (0 == exception_header->propagationCount)
-        {
-            globals->propagatingExceptions = exception_header->nextPropagatingException;
-            exception_header->nextPropagatingException = NULL;
-        }
-    }
-    else
-    {
-        globals->propagatingExceptions = NULL;
-    }
-    return &exception_header->unwindHeader;
-}
-
-asm (
-    "	.pushsection	.text.__cxa_end_cleanup,\"ax\",%progbits\n"
-    "	.globl	__cxa_end_cleanup\n"
-    "	.type	__cxa_end_cleanup,%function\n"
-    "__cxa_end_cleanup:\n"
-    "	push	{r1, r2, r3, r4}\n"
-    "	bl	__cxa_end_cleanup_impl\n"
-    "	pop	{r1, r2, r3, r4}\n"
-    "	bl	_Unwind_Resume\n"
-    "	bl	abort\n"
-    "	.popsection"
-);
-#endif  // defined(_LIBCXXABI_ARM_EHABI)
-    
-/*
-This routine can catch foreign or native exceptions.  If native, the exception
-can be a primary or dependent variety.  This routine may remain blissfully
-ignorant of whether the native exception is primary or dependent.
-
-If the exception is native:
-* Increment's the exception's handler count.
-* Push the exception on the stack of currently-caught exceptions if it is not 
-  already there (from a rethrow).
-* Decrements the uncaught_exception count.
-* Returns the adjusted pointer to the exception object, which is stored in
-  the __cxa_exception by the personality routine.
-
-If the exception is foreign, this means it did not originate from one of throw
-routines.  The foreign exception does not necessarily have a __cxa_exception
-header.  However we can catch it here with a catch (...), or with a call
-to terminate or unexpected during unwinding.
-* Do not try to increment the exception's handler count, we don't know where
-  it is.
-* Push the exception on the stack of currently-caught exceptions only if the
-  stack is empty.  The foreign exception has no way to link to the current
-  top of stack.  If the stack is not empty, call terminate.  Even with an
-  empty stack, this is hacked in by pushing a pointer to an imaginary
-  __cxa_exception block in front of the foreign exception.  It would be better
-  if the __cxa_eh_globals structure had a stack of _Unwind_Exception, but it
-  doesn't.  It has a stack of __cxa_exception (which has a next* in it).
-* Do not decrement the uncaught_exception count because we didn't increment it
-  in __cxa_throw (or one of our rethrow functions).
-* If we haven't terminated, assume the exception object is just past the 
-  _Unwind_Exception and return a pointer to that.
-*/
-void*
-__cxa_begin_catch(void* unwind_arg) throw()
-{
-    _Unwind_Exception* unwind_exception = static_cast<_Unwind_Exception*>(unwind_arg);
-    bool native_exception = __isOurExceptionClass(unwind_exception);
-    __cxa_eh_globals* globals = __cxa_get_globals();
-    // exception_header is a hackish offset from a foreign exception, but it
-    //   works as long as we're careful not to try to access any __cxa_exception
-    //   parts.
-    __cxa_exception* exception_header =
-            cxa_exception_from_exception_unwind_exception
-            (
-                static_cast<_Unwind_Exception*>(unwind_exception)
-            );
-    if (native_exception)
-    {
-        // Increment the handler count, removing the flag about being rethrown
-        exception_header->handlerCount = exception_header->handlerCount < 0 ?
-            -exception_header->handlerCount + 1 : exception_header->handlerCount + 1;
-        //  place the exception on the top of the stack if it's not already
-        //    there by a previous rethrow
-        if (exception_header != globals->caughtExceptions)
-        {
-            exception_header->nextException = globals->caughtExceptions;
-            globals->caughtExceptions = exception_header;
-        }
-        globals->uncaughtExceptions -= 1;   // Not atomically, since globals are thread-local
-#if defined(_LIBCXXABI_ARM_EHABI)
-        return reinterpret_cast<void*>(exception_header->unwindHeader.barrier_cache.bitpattern[0]);
-#else
-        return exception_header->adjustedPtr;
-#endif
-    }
-    // Else this is a foreign exception
-    // If the caughtExceptions stack is not empty, terminate
-    if (globals->caughtExceptions != 0)
-        std::terminate();
-    // Push the foreign exception on to the stack
-    globals->caughtExceptions = exception_header;
-    return unwind_exception + 1;
-}
-
-
-/*
-Upon exit for any reason, a handler must call:
-    void __cxa_end_catch ();
-
-This routine can be called for either a native or foreign exception.
-For a native exception:
-* Locates the most recently caught exception and decrements its handler count.
-* Removes the exception from the caught exception stack, if the handler count goes to zero.
-* If the handler count goes down to zero, and the exception was not re-thrown
-  by throw, it locates the primary exception (which may be the same as the one
-  it's handling) and decrements its reference count. If that reference count
-  goes to zero, the function destroys the exception. In any case, if the current
-  exception is a dependent exception, it destroys that.
-
-For a foreign exception:
-* If it has been rethrown, there is nothing to do.
-* Otherwise delete the exception and pop the catch stack to empty.
-*/
-void __cxa_end_catch() {
-  static_assert(sizeof(__cxa_exception) == sizeof(__cxa_dependent_exception),
-                "sizeof(__cxa_exception) must be equal to "
-                "sizeof(__cxa_dependent_exception)");
-  static_assert(__builtin_offsetof(__cxa_exception, referenceCount) ==
-                    __builtin_offsetof(__cxa_dependent_exception,
-                                       primaryException),
-                "the layout of __cxa_exception must match the layout of "
-                "__cxa_dependent_exception");
-  static_assert(__builtin_offsetof(__cxa_exception, handlerCount) ==
-                    __builtin_offsetof(__cxa_dependent_exception, handlerCount),
-                "the layout of __cxa_exception must match the layout of "
-                "__cxa_dependent_exception");
-    __cxa_eh_globals* globals = __cxa_get_globals_fast(); // __cxa_get_globals called in __cxa_begin_catch
-    __cxa_exception* exception_header = globals->caughtExceptions;
-    // If we've rethrown a foreign exception, then globals->caughtExceptions
-    //    will have been made an empty stack by __cxa_rethrow() and there is
-    //    nothing more to be done.  Do nothing!
-    if (NULL != exception_header)
-    {
-        bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader);
-        if (native_exception)
-        {
-            // This is a native exception
-            if (exception_header->handlerCount < 0)
-            {
-                //  The exception has been rethrown by __cxa_rethrow, so don't delete it
-                if (0 == incrementHandlerCount(exception_header))
-                {
-                    //  Remove from the chain of uncaught exceptions
-                    globals->caughtExceptions = exception_header->nextException;
-                    // but don't destroy
-                }
-                // Keep handlerCount negative in case there are nested catch's
-                //   that need to be told that this exception is rethrown.  Don't
-                //   erase this rethrow flag until the exception is recaught.
-            }
-            else
-            {
-                // The native exception has not been rethrown
-                if (0 == decrementHandlerCount(exception_header))
-                {
-                    //  Remove from the chain of uncaught exceptions
-                    globals->caughtExceptions = exception_header->nextException;
-                    // Destroy this exception, being careful to distinguish
-                    //    between dependent and primary exceptions
-                    if (isDependentException(&exception_header->unwindHeader))
-                    {
-                        // Reset exception_header to primaryException and deallocate the dependent exception
-                        __cxa_dependent_exception* dep_exception_header =
-                            reinterpret_cast<__cxa_dependent_exception*>(exception_header);
-                        exception_header =
-                            cxa_exception_from_thrown_object(dep_exception_header->primaryException);
-                        __cxa_free_dependent_exception(dep_exception_header);
-                    }
-                    // Destroy the primary exception only if its referenceCount goes to 0
-                    //    (this decrement must be atomic)
-                    __cxa_decrement_exception_refcount(thrown_object_from_cxa_exception(exception_header));
-                }
-            }
-        }       
-        else
-        {
-            // The foreign exception has not been rethrown.  Pop the stack
-            //    and delete it.  If there are nested catch's and they try
-            //    to touch a foreign exception in any way, that is undefined
-            //     behavior.  They likely can't since the only way to catch
-            //     a foreign exception is with catch (...)!
-            _Unwind_DeleteException(&globals->caughtExceptions->unwindHeader);
-            globals->caughtExceptions = 0;
-        }
-    }
-}
-
-// Note:  exception_header may be masquerading as a __cxa_dependent_exception
-//        and that's ok.  exceptionType is there too.
-//        However watch out for foreign exceptions.  Return null for them.
-std::type_info *__cxa_current_exception_type() {
-//  get the current exception
-    __cxa_eh_globals *globals = __cxa_get_globals_fast();
-    if (NULL == globals)
-        return NULL;     //  If there have never been any exceptions, there are none now.
-    __cxa_exception *exception_header = globals->caughtExceptions;
-    if (NULL == exception_header)
-        return NULL;        //  No current exception
-    if (!__isOurExceptionClass(&exception_header->unwindHeader))
-        return NULL;
-    return exception_header->exceptionType;
-}
-
-// 2.5.4 Rethrowing Exceptions
-/*  This routine can rethrow native or foreign exceptions.
-If the exception is native:
-* marks the exception object on top of the caughtExceptions stack 
-  (in an implementation-defined way) as being rethrown. 
-* If the caughtExceptions stack is empty, it calls terminate() 
-  (see [C++FDIS] [except.throw], 15.1.8). 
-* It then calls _Unwind_RaiseException which should not return
-   (terminate if it does).
-  Note:  exception_header may be masquerading as a __cxa_dependent_exception
-         and that's ok.
-*/
-void __cxa_rethrow() {
-    __cxa_eh_globals* globals = __cxa_get_globals();
-    __cxa_exception* exception_header = globals->caughtExceptions;
-    if (NULL == exception_header)
-        std::terminate();      // throw; called outside of a exception handler
-    bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader);
-    if (native_exception)
-    {
-        //  Mark the exception as being rethrown (reverse the effects of __cxa_begin_catch)
-        exception_header->handlerCount = -exception_header->handlerCount;
-        globals->uncaughtExceptions += 1;
-        //  __cxa_end_catch will remove this exception from the caughtExceptions stack if necessary
-    }
-    else  // this is a foreign exception
-    {
-        // The only way to communicate to __cxa_end_catch that we've rethrown
-        //   a foreign exception, so don't delete us, is to pop the stack here
-        //   which must be empty afterwards.  Then __cxa_end_catch will do
-        //   nothing
-        globals->caughtExceptions = 0;
-    }
-#ifdef __USING_SJLJ_EXCEPTIONS__
-    _Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
-#else
-    _Unwind_RaiseException(&exception_header->unwindHeader);
-#endif
-
-    //  If we get here, some kind of unwinding error has occurred.
-    //  There is some weird code generation bug happening with 
-    //     Apple clang version 4.0 (tags/Apple/clang-418.0.2) (based on LLVM 3.1svn)
-    //     If we call failed_throw here.  Turns up with -O2 or higher, and -Os.
-    __cxa_begin_catch(&exception_header->unwindHeader);
-    if (native_exception)
-        std::__terminate(exception_header->terminateHandler);
-    // Foreign exception: can't get exception_header->terminateHandler
-    std::terminate();
-}
-
-/*
-    If thrown_object is not null, atomically increment the referenceCount field
-    of the __cxa_exception header associated with the thrown object referred to
-    by thrown_object.
-
-    Requires:  If thrown_object is not NULL, it is a native exception.
-*/
-void
-__cxa_increment_exception_refcount(void *thrown_object) throw() {
-    if (thrown_object != NULL )
-    {
-        __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object);
-        std::__libcpp_atomic_add(&exception_header->referenceCount, size_t(1));
-    }
-}
-
-/*
-    If thrown_object is not null, atomically decrement the referenceCount field
-    of the __cxa_exception header associated with the thrown object referred to
-    by thrown_object.  If the referenceCount drops to zero, destroy and
-    deallocate the exception.
-
-    Requires:  If thrown_object is not NULL, it is a native exception.
-*/
-_LIBCXXABI_NO_CFI
-void __cxa_decrement_exception_refcount(void *thrown_object) throw() {
-    if (thrown_object != NULL )
-    {
-        __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object);
-        if (std::__libcpp_atomic_add(&exception_header->referenceCount, size_t(-1)) == 0)
-        {
-            if (NULL != exception_header->exceptionDestructor)
-                exception_header->exceptionDestructor(thrown_object);
-            __cxa_free_exception(thrown_object);
-        }
-    }
-}
-
-/*
-    Returns a pointer to the thrown object (if any) at the top of the
-    caughtExceptions stack.  Atomically increment the exception's referenceCount.
-    If there is no such thrown object or if the thrown object is foreign,
-    returns null.
-
-    We can use __cxa_get_globals_fast here to get the globals because if there have
-    been no exceptions thrown, ever, on this thread, we can return NULL without 
-    the need to allocate the exception-handling globals.
-*/
-void *__cxa_current_primary_exception() throw() {
-//  get the current exception
-    __cxa_eh_globals* globals = __cxa_get_globals_fast();
-    if (NULL == globals)
-        return NULL;        //  If there are no globals, there is no exception
-    __cxa_exception* exception_header = globals->caughtExceptions;
-    if (NULL == exception_header)
-        return NULL;        //  No current exception
-    if (!__isOurExceptionClass(&exception_header->unwindHeader))
-        return NULL;        // Can't capture a foreign exception (no way to refcount it)
-    if (isDependentException(&exception_header->unwindHeader)) {
-        __cxa_dependent_exception* dep_exception_header =
-            reinterpret_cast<__cxa_dependent_exception*>(exception_header);
-        exception_header = cxa_exception_from_thrown_object(dep_exception_header->primaryException);
-    }
-    void* thrown_object = thrown_object_from_cxa_exception(exception_header);
-    __cxa_increment_exception_refcount(thrown_object);
-    return thrown_object;
-}
-
-/*
-    If reason isn't _URC_FOREIGN_EXCEPTION_CAUGHT, then the terminateHandler
-    stored in exc is called.  Otherwise the referenceCount stored in the
-    primary exception is decremented, destroying the primary if necessary.
-    Finally the dependent exception is destroyed.
-*/
-static
-void
-dependent_exception_cleanup(_Unwind_Reason_Code reason, _Unwind_Exception* unwind_exception)
-{
-    __cxa_dependent_exception* dep_exception_header = 
-                      reinterpret_cast<__cxa_dependent_exception*>(unwind_exception + 1) - 1;
-    if (_URC_FOREIGN_EXCEPTION_CAUGHT != reason)
-        std::__terminate(dep_exception_header->terminateHandler);
-    __cxa_decrement_exception_refcount(dep_exception_header->primaryException);
-    __cxa_free_dependent_exception(dep_exception_header);
-}
-
-/*
-    If thrown_object is not null, allocate, initialize and throw a dependent
-    exception.
-*/
-void
-__cxa_rethrow_primary_exception(void* thrown_object)
-{
-    if ( thrown_object != NULL )
-    {
-        // thrown_object guaranteed to be native because
-        //   __cxa_current_primary_exception returns NULL for foreign exceptions
-        __cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object);
-        __cxa_dependent_exception* dep_exception_header =
-            static_cast<__cxa_dependent_exception*>(__cxa_allocate_dependent_exception());
-        dep_exception_header->primaryException = thrown_object;
-        __cxa_increment_exception_refcount(thrown_object);
-        dep_exception_header->exceptionType = exception_header->exceptionType;
-        dep_exception_header->unexpectedHandler = std::get_unexpected();
-        dep_exception_header->terminateHandler = std::get_terminate();
-        setDependentExceptionClass(&dep_exception_header->unwindHeader);
-        __cxa_get_globals()->uncaughtExceptions += 1;
-        dep_exception_header->unwindHeader.exception_cleanup = dependent_exception_cleanup;
-#ifdef __USING_SJLJ_EXCEPTIONS__
-        _Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader);
-#else
-        _Unwind_RaiseException(&dep_exception_header->unwindHeader);
-#endif
-        // Some sort of unwinding error.  Note that terminate is a handler.
-        __cxa_begin_catch(&dep_exception_header->unwindHeader);
-    }
-    // If we return client will call terminate()
-}
-
-bool
-__cxa_uncaught_exception() throw() { return __cxa_uncaught_exceptions() != 0; }
-
-unsigned int
-__cxa_uncaught_exceptions() throw()
-{
-    // This does not report foreign exceptions in flight
-    __cxa_eh_globals* globals = __cxa_get_globals_fast();
-    if (globals == 0)
-        return 0;
-    return globals->uncaughtExceptions;
-}
-
-}  // extern "C"
-
-}  // abi
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.h b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.h
deleted file mode 100644
index d24b80a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.h
+++ /dev/null
@@ -1,119 +0,0 @@
-//===------------------------- cxa_exception.h ----------------------------===//
-//
-// 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
-//
-//  
-//  This file implements the "Exception Handling APIs"
-//  https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
-//  
-//===----------------------------------------------------------------------===//
-
-#ifndef _CXA_EXCEPTION_H
-#define _CXA_EXCEPTION_H
-
-#include <exception> // for std::unexpected_handler and std::terminate_handler
-#include "cxxabi.h"
-#include "unwind.h"
-
-namespace __cxxabiv1 {
-
-static const uint64_t kOurExceptionClass          = 0x434C4E47432B2B00; // CLNGC++\0
-static const uint64_t kOurDependentExceptionClass = 0x434C4E47432B2B01; // CLNGC++\1
-static const uint64_t get_vendor_and_language     = 0xFFFFFFFFFFFFFF00; // mask for CLNGC++
-
-uint64_t __getExceptionClass  (const _Unwind_Exception*);
-void     __setExceptionClass  (      _Unwind_Exception*, uint64_t);
-bool     __isOurExceptionClass(const _Unwind_Exception*);
-
-struct _LIBCXXABI_HIDDEN __cxa_exception {
-#if defined(__LP64__) || defined(_LIBCXXABI_ARM_EHABI)
-    // This is a new field to support C++ 0x exception_ptr.
-    // For binary compatibility it is at the start of this
-    // struct which is prepended to the object thrown in
-    // __cxa_allocate_exception.
-    size_t referenceCount;
-#endif
-
-    //  Manage the exception object itself.
-    std::type_info *exceptionType;
-    void (*exceptionDestructor)(void *);
-    std::unexpected_handler unexpectedHandler;
-    std::terminate_handler  terminateHandler;
-
-    __cxa_exception *nextException;
-
-    int handlerCount;
-
-#if defined(_LIBCXXABI_ARM_EHABI)
-    __cxa_exception* nextPropagatingException;
-    int propagationCount;
-#else
-    int handlerSwitchValue;
-    const unsigned char *actionRecord;
-    const unsigned char *languageSpecificData;
-    void *catchTemp;
-    void *adjustedPtr;
-#endif
-
-#if !defined(__LP64__) && !defined(_LIBCXXABI_ARM_EHABI)
-    // This is a new field to support C++ 0x exception_ptr.
-    // For binary compatibility it is placed where the compiler
-    // previously adding padded to 64-bit align unwindHeader.
-    size_t referenceCount;
-#endif
-    _Unwind_Exception unwindHeader;
-};
-
-// http://sourcery.mentor.com/archives/cxx-abi-dev/msg01924.html
-// The layout of this structure MUST match the layout of __cxa_exception, with
-// primaryException instead of referenceCount.
-struct _LIBCXXABI_HIDDEN __cxa_dependent_exception {
-#if defined(__LP64__) || defined(_LIBCXXABI_ARM_EHABI)
-    void* primaryException;
-#endif
-
-    std::type_info *exceptionType;
-    void (*exceptionDestructor)(void *);
-    std::unexpected_handler unexpectedHandler;
-    std::terminate_handler terminateHandler;
-
-    __cxa_exception *nextException;
-
-    int handlerCount;
-
-#if defined(_LIBCXXABI_ARM_EHABI)
-    __cxa_exception* nextPropagatingException;
-    int propagationCount;
-#else
-    int handlerSwitchValue;
-    const unsigned char *actionRecord;
-    const unsigned char *languageSpecificData;
-    void * catchTemp;
-    void *adjustedPtr;
-#endif
-
-#if !defined(__LP64__) && !defined(_LIBCXXABI_ARM_EHABI)
-    void* primaryException;
-#endif
-    _Unwind_Exception unwindHeader;
-};
-
-struct _LIBCXXABI_HIDDEN __cxa_eh_globals {
-    __cxa_exception *   caughtExceptions;
-    unsigned int        uncaughtExceptions;
-#if defined(_LIBCXXABI_ARM_EHABI)
-    __cxa_exception* propagatingExceptions;
-#endif
-};
-
-extern "C" _LIBCXXABI_FUNC_VIS __cxa_eh_globals * __cxa_get_globals      ();
-extern "C" _LIBCXXABI_FUNC_VIS __cxa_eh_globals * __cxa_get_globals_fast ();
-
-extern "C" _LIBCXXABI_FUNC_VIS void * __cxa_allocate_dependent_exception ();
-extern "C" _LIBCXXABI_FUNC_VIS void __cxa_free_dependent_exception (void * dependent_exception);
-
-}  // namespace __cxxabiv1
-
-#endif  // _CXA_EXCEPTION_H
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception_storage.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception_storage.cpp
deleted file mode 100644
index dea6702..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_exception_storage.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-//===--------------------- cxa_exception_storage.cpp ----------------------===//
-//
-// 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
-//
-//  
-//  This file implements the storage for the "Caught Exception Stack"
-//  https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html#cxx-exc-stack
-//  
-//===----------------------------------------------------------------------===//
-
-#include "cxa_exception.h"
-
-#include <__threading_support>
-
-#if defined(_LIBCXXABI_HAS_NO_THREADS)
-
-namespace __cxxabiv1 {
-extern "C" {
-    static __cxa_eh_globals eh_globals;
-    __cxa_eh_globals *__cxa_get_globals() { return &eh_globals; }
-    __cxa_eh_globals *__cxa_get_globals_fast() { return &eh_globals; }
-    }
-}
-
-#elif defined(HAS_THREAD_LOCAL)
-
-namespace __cxxabiv1 {
-
-namespace {
-    __cxa_eh_globals * __globals () {
-        static thread_local __cxa_eh_globals eh_globals;
-        return &eh_globals;
-        }
-    }
-
-extern "C" {
-    __cxa_eh_globals * __cxa_get_globals      () { return __globals (); }
-    __cxa_eh_globals * __cxa_get_globals_fast () { return __globals (); }
-    }
-}
-
-#else
-
-#include "abort_message.h"
-#include "fallback_malloc.h"
-
-#if defined(__unix__) && !defined(__ANDROID__) && defined(__ELF__) && defined(_LIBCXXABI_HAS_COMMENT_LIB_PRAGMA)
-#pragma comment(lib, "pthread")
-#endif
-
-//  In general, we treat all threading errors as fatal.
-//  We cannot call std::terminate() because that will in turn
-//  call __cxa_get_globals() and cause infinite recursion.
-
-namespace __cxxabiv1 {
-namespace {
-    std::__libcpp_tls_key key_;
-    std::__libcpp_exec_once_flag flag_ = _LIBCPP_EXEC_ONCE_INITIALIZER;
-
-    void _LIBCPP_TLS_DESTRUCTOR_CC destruct_ (void *p) {
-        __free_with_fallback ( p );
-        if ( 0 != std::__libcpp_tls_set ( key_, NULL ) )
-            abort_message("cannot zero out thread value for __cxa_get_globals()");
-        }
-
-    void construct_ () {
-        if ( 0 != std::__libcpp_tls_create ( &key_, destruct_ ) )
-            abort_message("cannot create thread specific key for __cxa_get_globals()");
-        }
-}   
-
-extern "C" {
-    __cxa_eh_globals * __cxa_get_globals () {
-    //  Try to get the globals for this thread
-        __cxa_eh_globals* retVal = __cxa_get_globals_fast ();
-    
-    //  If this is the first time we've been asked for these globals, create them
-        if ( NULL == retVal ) {
-            retVal = static_cast<__cxa_eh_globals*>
-                        (__calloc_with_fallback (1, sizeof (__cxa_eh_globals)));
-            if ( NULL == retVal )
-                abort_message("cannot allocate __cxa_eh_globals");
-            if ( 0 != std::__libcpp_tls_set ( key_, retVal ) )
-               abort_message("std::__libcpp_tls_set failure in __cxa_get_globals()");
-           }
-        return retVal;
-        }
-
-    // Note that this implementation will reliably return NULL if not
-    // preceded by a call to __cxa_get_globals().  This is an extension
-    // to the Itanium ABI and is taken advantage of in several places in
-    // libc++abi.
-    __cxa_eh_globals * __cxa_get_globals_fast () {
-    //  First time through, create the key.
-        if (0 != std::__libcpp_execute_once(&flag_, construct_))
-            abort_message("execute once failure in __cxa_get_globals_fast()");
-//        static int init = construct_();
-        return static_cast<__cxa_eh_globals*>(std::__libcpp_tls_get(key_));
-        }
-    
-}
-}
-#endif
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_guard_impl.h b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_guard_impl.h
deleted file mode 100644
index 98e42ba..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_guard_impl.h
+++ /dev/null
@@ -1,567 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-#ifndef LIBCXXABI_SRC_INCLUDE_CXA_GUARD_IMPL_H
-#define LIBCXXABI_SRC_INCLUDE_CXA_GUARD_IMPL_H
-
-/* cxa_guard_impl.h - Implements the C++ runtime support for function local
- * static guards.
- * The layout of the guard object is the same across ARM and Itanium.
- *
- * The first "guard byte" (which is checked by the compiler) is set only upon
- * the completion of cxa release.
- *
- * The second "init byte" does the rest of the bookkeeping. It tracks if
- * initialization is complete or pending, and if there are waiting threads.
- *
- * If the guard variable is 64-bits and the platforms supplies a 32-bit thread
- * identifier, it is used to detect recursive initialization. The thread ID of
- * the thread currently performing initialization is stored in the second word.
- *
- *  Guard Object Layout:
- * -------------------------------------------------------------------------
- * |a: guard byte | a+1: init byte | a+2 : unused ... | a+4: thread-id ... |
- * ------------------------------------------------------------------------
- *
- *  Access Protocol:
- *    For each implementation the guard byte is checked and set before accessing
- *    the init byte.
- *
- *  Overall Design:
- *    The implementation was designed to allow each implementation to be tested
- *    independent of the C++ runtime or platform support.
- *
- */
-
-#include "__cxxabi_config.h"
-#include "include/atomic_support.h"
-#include <unistd.h>
-#include <sys/types.h>
-#if defined(__has_include)
-# if __has_include(<sys/syscall.h>)
-#   include <sys/syscall.h>
-# endif
-#endif
-
-#include <stdlib.h>
-#include <__threading_support>
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-#if defined(__unix__) && !defined(__ANDROID__) && defined(__ELF__) && defined(_LIBCXXABI_HAS_COMMENT_LIB_PRAGMA)
-#pragma comment(lib, "pthread")
-#endif
-#endif
-
-// To make testing possible, this header is included from both cxa_guard.cpp
-// and a number of tests.
-//
-// For this reason we place everything in an anonymous namespace -- even though
-// we're in a header. We want the actual implementation and the tests to have
-// unique definitions of the types in this header (since the tests may depend
-// on function local statics).
-//
-// To enforce this either `BUILDING_CXA_GUARD` or `TESTING_CXA_GUARD` must be
-// defined when including this file. Only `src/cxa_guard.cpp` should define
-// the former.
-#ifdef BUILDING_CXA_GUARD
-# include "abort_message.h"
-# define ABORT_WITH_MESSAGE(...) ::abort_message(__VA_ARGS__)
-#elif defined(TESTING_CXA_GUARD)
-# define ABORT_WITH_MESSAGE(...) ::abort()
-#else
-# error "Either BUILDING_CXA_GUARD or TESTING_CXA_GUARD must be defined"
-#endif
-
-#if __has_feature(thread_sanitizer)
-extern "C" void __tsan_acquire(void*);
-extern "C" void __tsan_release(void*);
-#else
-#define __tsan_acquire(addr) ((void)0)
-#define __tsan_release(addr) ((void)0)
-#endif
-
-namespace __cxxabiv1 {
-// Use an anonymous namespace to ensure that the tests and actual implementation
-// have unique definitions of these symbols.
-namespace {
-
-//===----------------------------------------------------------------------===//
-//                          Misc Utilities
-//===----------------------------------------------------------------------===//
-
-template <class T, T(*Init)()>
-struct LazyValue {
-  LazyValue() : is_init(false) {}
-
-  T& get() {
-    if (!is_init) {
-      value = Init();
-      is_init = true;
-    }
-    return value;
-  }
- private:
-  T value;
-  bool is_init = false;
-};
-
-//===----------------------------------------------------------------------===//
-//                       PlatformGetThreadID
-//===----------------------------------------------------------------------===//
-
-#if defined(__APPLE__) && defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
-uint32_t PlatformThreadID() {
-  static_assert(sizeof(mach_port_t) == sizeof(uint32_t), "");
-  return static_cast<uint32_t>(
-      pthread_mach_thread_np(std::__libcpp_thread_get_current_id()));
-}
-#elif defined(SYS_gettid) && defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
-uint32_t PlatformThreadID() {
-  static_assert(sizeof(pid_t) == sizeof(uint32_t), "");
-  return static_cast<uint32_t>(syscall(SYS_gettid));
-}
-#else
-constexpr uint32_t (*PlatformThreadID)() = nullptr;
-#endif
-
-
-constexpr bool PlatformSupportsThreadID() {
-#ifdef __clang__
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wtautological-pointer-compare"
-#endif
-  return +PlatformThreadID != nullptr;
-#ifdef __clang__
-#pragma clang diagnostic pop
-#endif
-}
-
-//===----------------------------------------------------------------------===//
-//                          GuardBase
-//===----------------------------------------------------------------------===//
-
-enum class AcquireResult {
-  INIT_IS_DONE,
-  INIT_IS_PENDING,
-};
-constexpr AcquireResult INIT_IS_DONE = AcquireResult::INIT_IS_DONE;
-constexpr AcquireResult INIT_IS_PENDING = AcquireResult::INIT_IS_PENDING;
-
-static constexpr uint8_t UNSET = 0;
-static constexpr uint8_t COMPLETE_BIT = (1 << 0);
-static constexpr uint8_t PENDING_BIT = (1 << 1);
-static constexpr uint8_t WAITING_BIT = (1 << 2);
-
-template <class Derived>
-struct GuardObject {
-  GuardObject() = delete;
-  GuardObject(GuardObject const&) = delete;
-  GuardObject& operator=(GuardObject const&) = delete;
-
-  explicit GuardObject(uint32_t* g)
-      : base_address(g), guard_byte_address(reinterpret_cast<uint8_t*>(g)),
-        init_byte_address(reinterpret_cast<uint8_t*>(g) + 1),
-        thread_id_address(nullptr) {}
-
-  explicit GuardObject(uint64_t* g)
-      : base_address(g), guard_byte_address(reinterpret_cast<uint8_t*>(g)),
-        init_byte_address(reinterpret_cast<uint8_t*>(g) + 1),
-        thread_id_address(reinterpret_cast<uint32_t*>(g) + 1) {}
-
-public:
-  /// Implements __cxa_guard_acquire
-  AcquireResult cxa_guard_acquire() {
-    AtomicInt<uint8_t> guard_byte(guard_byte_address);
-    if (guard_byte.load(std::_AO_Acquire) != UNSET)
-      return INIT_IS_DONE;
-    return derived()->acquire_init_byte();
-  }
-
-  /// Implements __cxa_guard_release
-  void cxa_guard_release() {
-    AtomicInt<uint8_t> guard_byte(guard_byte_address);
-    // Store complete first, so that when release wakes other folks, they see
-    // it as having been completed.
-    guard_byte.store(COMPLETE_BIT, std::_AO_Release);
-    derived()->release_init_byte();
-  }
-
-  /// Implements __cxa_guard_abort
-  void cxa_guard_abort() { derived()->abort_init_byte(); }
-
-public:
-  /// base_address - the address of the original guard object.
-  void* const base_address;
-  /// The address of the guord byte at offset 0.
-  uint8_t* const guard_byte_address;
-  /// The address of the byte used by the implementation during initialization.
-  uint8_t* const init_byte_address;
-  /// An optional address storing an identifier for the thread performing initialization.
-  /// It's used to detect recursive initialization.
-  uint32_t* const thread_id_address;
-
-private:
-  Derived* derived() { return static_cast<Derived*>(this); }
-};
-
-//===----------------------------------------------------------------------===//
-//                    Single Threaded Implementation
-//===----------------------------------------------------------------------===//
-
-struct InitByteNoThreads : GuardObject<InitByteNoThreads> {
-  using GuardObject::GuardObject;
-
-  AcquireResult acquire_init_byte() {
-    if (*init_byte_address == COMPLETE_BIT)
-      return INIT_IS_DONE;
-    if (*init_byte_address & PENDING_BIT)
-      ABORT_WITH_MESSAGE("__cxa_guard_acquire detected recursive initialization");
-    *init_byte_address = PENDING_BIT;
-    return INIT_IS_PENDING;
-  }
-
-  void release_init_byte() { *init_byte_address = COMPLETE_BIT; }
-  void abort_init_byte() { *init_byte_address = UNSET; }
-};
-
-
-//===----------------------------------------------------------------------===//
-//                     Global Mutex Implementation
-//===----------------------------------------------------------------------===//
-
-struct LibcppMutex;
-struct LibcppCondVar;
-
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-struct LibcppMutex {
-  LibcppMutex() = default;
-  LibcppMutex(LibcppMutex const&) = delete;
-  LibcppMutex& operator=(LibcppMutex const&) = delete;
-
-  bool lock() { return std::__libcpp_mutex_lock(&mutex); }
-  bool unlock() { return std::__libcpp_mutex_unlock(&mutex); }
-
-private:
-  friend struct LibcppCondVar;
-  std::__libcpp_mutex_t mutex = _LIBCPP_MUTEX_INITIALIZER;
-};
-
-struct LibcppCondVar {
-  LibcppCondVar() = default;
-  LibcppCondVar(LibcppCondVar const&) = delete;
-  LibcppCondVar& operator=(LibcppCondVar const&) = delete;
-
-  bool wait(LibcppMutex& mut) {
-    return std::__libcpp_condvar_wait(&cond, &mut.mutex);
-  }
-  bool broadcast() { return std::__libcpp_condvar_broadcast(&cond); }
-
-private:
-  std::__libcpp_condvar_t cond = _LIBCPP_CONDVAR_INITIALIZER;
-};
-#else
-struct LibcppMutex {};
-struct LibcppCondVar {};
-#endif // !defined(_LIBCXXABI_HAS_NO_THREADS)
-
-
-template <class Mutex, class CondVar, Mutex& global_mutex, CondVar& global_cond,
-          uint32_t (*GetThreadID)() = PlatformThreadID>
-struct InitByteGlobalMutex
-    : GuardObject<InitByteGlobalMutex<Mutex, CondVar, global_mutex, global_cond,
-                                    GetThreadID>> {
-
-  using BaseT = typename InitByteGlobalMutex::GuardObject;
-  using BaseT::BaseT;
-
-  explicit InitByteGlobalMutex(uint32_t *g)
-    : BaseT(g), has_thread_id_support(false) {}
-  explicit InitByteGlobalMutex(uint64_t *g)
-    : BaseT(g), has_thread_id_support(PlatformSupportsThreadID()) {}
-
-public:
-  AcquireResult acquire_init_byte() {
-    LockGuard g("__cxa_guard_acquire");
-    // Check for possible recursive initialization.
-    if (has_thread_id_support && (*init_byte_address & PENDING_BIT)) {
-      if (*thread_id_address == current_thread_id.get())
-       ABORT_WITH_MESSAGE("__cxa_guard_acquire detected recursive initialization");
-    }
-
-    // Wait until the pending bit is not set.
-    while (*init_byte_address & PENDING_BIT) {
-      *init_byte_address |= WAITING_BIT;
-      global_cond.wait(global_mutex);
-    }
-
-    if (*init_byte_address == COMPLETE_BIT)
-      return INIT_IS_DONE;
-
-    if (has_thread_id_support)
-      *thread_id_address = current_thread_id.get();
-
-    *init_byte_address = PENDING_BIT;
-    return INIT_IS_PENDING;
-  }
-
-  void release_init_byte() {
-    bool has_waiting;
-    {
-      LockGuard g("__cxa_guard_release");
-      has_waiting = *init_byte_address & WAITING_BIT;
-      *init_byte_address = COMPLETE_BIT;
-    }
-    if (has_waiting) {
-      if (global_cond.broadcast()) {
-        ABORT_WITH_MESSAGE("%s failed to broadcast", "__cxa_guard_release");
-      }
-    }
-  }
-
-  void abort_init_byte() {
-    bool has_waiting;
-    {
-      LockGuard g("__cxa_guard_abort");
-      if (has_thread_id_support)
-        *thread_id_address = 0;
-      has_waiting = *init_byte_address & WAITING_BIT;
-      *init_byte_address = UNSET;
-    }
-    if (has_waiting) {
-      if (global_cond.broadcast()) {
-        ABORT_WITH_MESSAGE("%s failed to broadcast", "__cxa_guard_abort");
-      }
-    }
-  }
-
-private:
-  using BaseT::init_byte_address;
-  using BaseT::thread_id_address;
-  const bool has_thread_id_support;
-  LazyValue<uint32_t, GetThreadID> current_thread_id;
-
-private:
-  struct LockGuard {
-    LockGuard() = delete;
-    LockGuard(LockGuard const&) = delete;
-    LockGuard& operator=(LockGuard const&) = delete;
-
-    explicit LockGuard(const char* calling_func)
-        : calling_func(calling_func)  {
-      if (global_mutex.lock())
-        ABORT_WITH_MESSAGE("%s failed to acquire mutex", calling_func);
-    }
-
-    ~LockGuard() {
-      if (global_mutex.unlock())
-        ABORT_WITH_MESSAGE("%s failed to release mutex", calling_func);
-    }
-
-  private:
-    const char* const calling_func;
-  };
-};
-
-//===----------------------------------------------------------------------===//
-//                         Futex Implementation
-//===----------------------------------------------------------------------===//
-
-#if defined(SYS_futex)
-void PlatformFutexWait(int* addr, int expect) {
-  constexpr int WAIT = 0;
-  syscall(SYS_futex, addr, WAIT, expect, 0);
-  __tsan_acquire(addr);
-}
-void PlatformFutexWake(int* addr) {
-  constexpr int WAKE = 1;
-  __tsan_release(addr);
-  syscall(SYS_futex, addr, WAKE, INT_MAX);
-}
-#else
-constexpr void (*PlatformFutexWait)(int*, int) = nullptr;
-constexpr void (*PlatformFutexWake)(int*) = nullptr;
-#endif
-
-constexpr bool PlatformSupportsFutex() {
-#ifdef __clang__
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wtautological-pointer-compare"
-#endif
-  return +PlatformFutexWait != nullptr;
-#ifdef __clang__
-#pragma clang diagnostic pop
-#endif
-}
-
-/// InitByteFutex - Manages initialization using atomics and the futex syscall
-/// for waiting and waking.
-template <void (*Wait)(int*, int) = PlatformFutexWait,
-          void (*Wake)(int*) = PlatformFutexWake,
-          uint32_t (*GetThreadIDArg)() = PlatformThreadID>
-struct InitByteFutex : GuardObject<InitByteFutex<Wait, Wake, GetThreadIDArg>> {
-  using BaseT = typename InitByteFutex::GuardObject;
-
-  /// ARM Constructor
-  explicit InitByteFutex(uint32_t *g) : BaseT(g),
-    init_byte(this->init_byte_address),
-    has_thread_id_support(this->thread_id_address && GetThreadIDArg),
-    thread_id(this->thread_id_address) {}
-
-  /// Itanium Constructor
-  explicit InitByteFutex(uint64_t *g) : BaseT(g),
-    init_byte(this->init_byte_address),
-    has_thread_id_support(this->thread_id_address && GetThreadIDArg),
-    thread_id(this->thread_id_address) {}
-
-public:
-  AcquireResult acquire_init_byte() {
-    while (true) {
-      uint8_t last_val = UNSET;
-      if (init_byte.compare_exchange(&last_val, PENDING_BIT, std::_AO_Acq_Rel,
-                                     std::_AO_Acquire)) {
-        if (has_thread_id_support) {
-          thread_id.store(current_thread_id.get(), std::_AO_Relaxed);
-        }
-        return INIT_IS_PENDING;
-      }
-
-      if (last_val == COMPLETE_BIT)
-        return INIT_IS_DONE;
-
-      if (last_val & PENDING_BIT) {
-
-        // Check for recursive initialization
-        if (has_thread_id_support && thread_id.load(std::_AO_Relaxed) == current_thread_id.get()) {
-            ABORT_WITH_MESSAGE("__cxa_guard_acquire detected recursive initialization");
-        }
-
-        if ((last_val & WAITING_BIT) == 0) {
-          // This compare exchange can fail for several reasons
-          // (1) another thread finished the whole thing before we got here
-          // (2) another thread set the waiting bit we were trying to thread
-          // (3) another thread had an exception and failed to finish
-          if (!init_byte.compare_exchange(&last_val, PENDING_BIT | WAITING_BIT,
-                                          std::_AO_Acq_Rel, std::_AO_Release)) {
-            // (1) success, via someone else's work!
-            if (last_val == COMPLETE_BIT)
-              return INIT_IS_DONE;
-
-            // (3) someone else, bailed on doing the work, retry from the start!
-            if (last_val == UNSET)
-              continue;
-
-            // (2) the waiting bit got set, so we are happy to keep waiting
-          }
-        }
-        wait_on_initialization();
-      }
-    }
-  }
-
-  void release_init_byte() {
-    uint8_t old = init_byte.exchange(COMPLETE_BIT, std::_AO_Acq_Rel);
-    if (old & WAITING_BIT)
-      wake_all();
-  }
-
-  void abort_init_byte() {
-    if (has_thread_id_support)
-      thread_id.store(0, std::_AO_Relaxed);
-
-    uint8_t old = init_byte.exchange(0, std::_AO_Acq_Rel);
-    if (old & WAITING_BIT)
-      wake_all();
-  }
-
-private:
-  /// Use the futex to wait on the current guard variable. Futex expects a
-  /// 32-bit 4-byte aligned address as the first argument, so we have to use use
-  /// the base address of the guard variable (not the init byte).
-  void wait_on_initialization() {
-    Wait(static_cast<int*>(this->base_address),
-         expected_value_for_futex(PENDING_BIT | WAITING_BIT));
-  }
-  void wake_all() { Wake(static_cast<int*>(this->base_address)); }
-
-private:
-  AtomicInt<uint8_t> init_byte;
-
-  const bool has_thread_id_support;
-  // Unsafe to use unless has_thread_id_support
-  AtomicInt<uint32_t> thread_id;
-  LazyValue<uint32_t, GetThreadIDArg> current_thread_id;
-
-  /// Create the expected integer value for futex `wait(int* addr, int expected)`.
-  /// We pass the base address as the first argument, So this function creates
-  /// an zero-initialized integer  with `b` copied at the correct offset.
-  static int expected_value_for_futex(uint8_t b) {
-    int dest_val = 0;
-    std::memcpy(reinterpret_cast<char*>(&dest_val) + 1, &b, 1);
-    return dest_val;
-  }
-
-  static_assert(Wait != nullptr && Wake != nullptr, "");
-};
-
-//===----------------------------------------------------------------------===//
-//
-//===----------------------------------------------------------------------===//
-
-template <class T>
-struct GlobalStatic {
-  static T instance;
-};
-template <class T>
-_LIBCPP_SAFE_STATIC T GlobalStatic<T>::instance = {};
-
-enum class Implementation {
-  NoThreads,
-  GlobalLock,
-  Futex
-};
-
-template <Implementation Impl>
-struct SelectImplementation;
-
-template <>
-struct SelectImplementation<Implementation::NoThreads> {
-  using type = InitByteNoThreads;
-};
-
-template <>
-struct SelectImplementation<Implementation::GlobalLock> {
-  using type = InitByteGlobalMutex<
-      LibcppMutex, LibcppCondVar, GlobalStatic<LibcppMutex>::instance,
-      GlobalStatic<LibcppCondVar>::instance, PlatformThreadID>;
-};
-
-template <>
-struct SelectImplementation<Implementation::Futex> {
-  using type =
-      InitByteFutex<PlatformFutexWait, PlatformFutexWake, PlatformThreadID>;
-};
-
-// TODO(EricWF): We should prefer the futex implementation when available. But
-// it should be done in a separate step from adding the implementation.
-constexpr Implementation CurrentImplementation =
-#if defined(_LIBCXXABI_HAS_NO_THREADS)
-    Implementation::NoThreads;
-#elif defined(_LIBCXXABI_USE_FUTEX)
-    Implementation::Futex;
-#else
-   Implementation::GlobalLock;
-#endif
-
-static_assert(CurrentImplementation != Implementation::Futex
-           || PlatformSupportsFutex(), "Futex selected but not supported");
-
-using SelectedImplementation =
-    SelectImplementation<CurrentImplementation>::type;
-
-} // end namespace
-} // end namespace __cxxabiv1
-
-#endif // LIBCXXABI_SRC_INCLUDE_CXA_GUARD_IMPL_H
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.h b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.h
deleted file mode 100644
index c8e2e44..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.h
+++ /dev/null
@@ -1,55 +0,0 @@
-//===------------------------- cxa_handlers.h -----------------------------===//
-//
-// 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
-//
-//
-// This file implements the functionality associated with the terminate_handler,
-//   unexpected_handler, and new_handler.
-//===----------------------------------------------------------------------===//
-
-#ifndef _CXA_HANDLERS_H
-#define _CXA_HANDLERS_H
-
-#include <__cxxabi_config.h>
-
-#include <exception>
-
-namespace std
-{
-
-_LIBCXXABI_HIDDEN _LIBCXXABI_NORETURN
-void
-__unexpected(unexpected_handler func);
-
-_LIBCXXABI_HIDDEN _LIBCXXABI_NORETURN
-void
-__terminate(terminate_handler func) _NOEXCEPT;
-
-}  // std
-
-extern "C"
-{
-
-_LIBCXXABI_DATA_VIS extern void (*__cxa_terminate_handler)();
-_LIBCXXABI_DATA_VIS extern void (*__cxa_unexpected_handler)();
-_LIBCXXABI_DATA_VIS extern void (*__cxa_new_handler)();
-
-/*
-
-    At some point in the future these three symbols will become
-    C++11 atomic variables:
-
-    extern std::atomic<std::terminate_handler>  __cxa_terminate_handler;
-    extern std::atomic<std::unexpected_handler> __cxa_unexpected_handler;
-    extern std::atomic<std::new_handler>        __cxa_new_handler;
-
-    This change will not impact their ABI.  But it will allow for a
-    portable performance optimization.
-
-*/
-
-} // extern "C"
-
-#endif  // _CXA_HANDLERS_H
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_noexception.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_noexception.cpp
deleted file mode 100644
index 2182c70..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_noexception.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//===------------------------- cxa_exception.cpp --------------------------===//
-//
-// 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
-//
-//  
-//  This file implements the "Exception Handling APIs"
-//  https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
-//  
-//===----------------------------------------------------------------------===//
-
-// Support functions for the no-exceptions libc++ library
-
-#include "cxxabi.h"
-
-#include <exception>        // for std::terminate
-#include "cxa_exception.h"
-#include "cxa_handlers.h"
-
-namespace __cxxabiv1 {
-
-extern "C" {
-
-void
-__cxa_increment_exception_refcount(void *thrown_object) throw() {
-    if (thrown_object != nullptr)
-        std::terminate();
-}
-
-void
-__cxa_decrement_exception_refcount(void *thrown_object) throw() {
-    if (thrown_object != nullptr)
-      std::terminate();
-}
-
-
-void *__cxa_current_primary_exception() throw() { return nullptr; }
-
-void
-__cxa_rethrow_primary_exception(void* thrown_object) {
-    if (thrown_object != nullptr)
-      std::terminate();
-}
-
-bool
-__cxa_uncaught_exception() throw() { return false; }
-
-unsigned int
-__cxa_uncaught_exceptions() throw() { return 0; }
-
-}  // extern "C"
-
-// provide dummy implementations for the 'no exceptions' case.
-uint64_t __getExceptionClass  (const _Unwind_Exception*)           { return 0; }
-void     __setExceptionClass  (      _Unwind_Exception*, uint64_t) {}
-bool     __isOurExceptionClass(const _Unwind_Exception*)           { return false; }
-
-}  // abi
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_personality.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_personality.cpp
deleted file mode 100644
index f140b74..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_personality.cpp
+++ /dev/null
@@ -1,1324 +0,0 @@
-//===------------------------- cxa_exception.cpp --------------------------===//
-//
-// 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
-//
-//  
-//  This file implements the "Exception Handling APIs"
-//  https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
-//  http://www.intel.com/design/itanium/downloads/245358.htm
-//  
-//===----------------------------------------------------------------------===//
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include <typeinfo>
-
-#include "__cxxabi_config.h"
-#include "cxa_exception.h"
-#include "cxa_handlers.h"
-#include "private_typeinfo.h"
-#include "unwind.h"
-
-#if defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)
-#include <windows.h>
-#include <winnt.h>
-
-extern "C" EXCEPTION_DISPOSITION _GCC_specific_handler(PEXCEPTION_RECORD,
-                                                       void *, PCONTEXT,
-                                                       PDISPATCHER_CONTEXT,
-                                                       _Unwind_Personality_Fn);
-#endif
-
-/*
-    Exception Header Layout:
-
-+---------------------------+-----------------------------+---------------+
-| __cxa_exception           | _Unwind_Exception CLNGC++\0 | thrown object |
-+---------------------------+-----------------------------+---------------+
-                                                          ^
-                                                          |
-  +-------------------------------------------------------+
-  |
-+---------------------------+-----------------------------+
-| __cxa_dependent_exception | _Unwind_Exception CLNGC++\1 |
-+---------------------------+-----------------------------+
-
-    Exception Handling Table Layout:
-
-+-----------------+--------+
-| lpStartEncoding | (char) |
-+---------+-------+--------+---------------+-----------------------+
-| lpStart | (encoded with lpStartEncoding) | defaults to funcStart |
-+---------+-----+--------+-----------------+---------------+-------+
-| ttypeEncoding | (char) | Encoding of the type_info table |
-+---------------+-+------+----+----------------------------+----------------+
-| classInfoOffset | (ULEB128) | Offset to type_info table, defaults to null |
-+-----------------++--------+-+----------------------------+----------------+
-| callSiteEncoding | (char) | Encoding for Call Site Table |
-+------------------+--+-----+-----+------------------------+--------------------------+
-| callSiteTableLength | (ULEB128) | Call Site Table length, used to find Action table |
-+---------------------+-----------+---------------------------------------------------+
-#ifndef __USING_SJLJ_EXCEPTIONS__
-+---------------------+-----------+------------------------------------------------+
-| Beginning of Call Site Table            The current ip lies within the           |
-| ...                                     (start, length) range of one of these    |
-|                                         call sites. There may be action needed.  |
-| +-------------+---------------------------------+------------------------------+ |
-| | start       | (encoded with callSiteEncoding) | offset relative to funcStart | |
-| | length      | (encoded with callSiteEncoding) | length of code fragment      | |
-| | landingPad  | (encoded with callSiteEncoding) | offset relative to lpStart   | |
-| | actionEntry | (ULEB128)                       | Action Table Index 1-based   | |
-| |             |                                 | actionEntry == 0 -> cleanup  | |
-| +-------------+---------------------------------+------------------------------+ |
-| ...                                                                              |
-+----------------------------------------------------------------------------------+
-#else  // __USING_SJLJ_EXCEPTIONS__
-+---------------------+-----------+------------------------------------------------+
-| Beginning of Call Site Table            The current ip is a 1-based index into   |
-| ...                                     this table.  Or it is -1 meaning no      |
-|                                         action is needed.  Or it is 0 meaning    |
-|                                         terminate.                               |
-| +-------------+---------------------------------+------------------------------+ |
-| | landingPad  | (ULEB128)                       | offset relative to lpStart   | |
-| | actionEntry | (ULEB128)                       | Action Table Index 1-based   | |
-| |             |                                 | actionEntry == 0 -> cleanup  | |
-| +-------------+---------------------------------+------------------------------+ |
-| ...                                                                              |
-+----------------------------------------------------------------------------------+
-#endif  // __USING_SJLJ_EXCEPTIONS__
-+---------------------------------------------------------------------+
-| Beginning of Action Table       ttypeIndex == 0 : cleanup           |
-| ...                             ttypeIndex  > 0 : catch             |
-|                                 ttypeIndex  < 0 : exception spec    |
-| +--------------+-----------+--------------------------------------+ |
-| | ttypeIndex   | (SLEB128) | Index into type_info Table (1-based) | |
-| | actionOffset | (SLEB128) | Offset into next Action Table entry  | |
-| +--------------+-----------+--------------------------------------+ |
-| ...                                                                 |
-+---------------------------------------------------------------------+-----------------+
-| type_info Table, but classInfoOffset does *not* point here!                           |
-| +----------------+------------------------------------------------+-----------------+ |
-| | Nth type_info* | Encoded with ttypeEncoding, 0 means catch(...) | ttypeIndex == N | |
-| +----------------+------------------------------------------------+-----------------+ |
-| ...                                                                                   |
-| +----------------+------------------------------------------------+-----------------+ |
-| | 1st type_info* | Encoded with ttypeEncoding, 0 means catch(...) | ttypeIndex == 1 | |
-| +----------------+------------------------------------------------+-----------------+ |
-| +---------------------------------------+-----------+------------------------------+  |
-| | 1st ttypeIndex for 1st exception spec | (ULEB128) | classInfoOffset points here! |  |
-| | ...                                   | (ULEB128) |                              |  |
-| | Mth ttypeIndex for 1st exception spec | (ULEB128) |                              |  |
-| | 0                                     | (ULEB128) |                              |  |
-| +---------------------------------------+------------------------------------------+  |
-| ...                                                                                   |
-| +---------------------------------------+------------------------------------------+  |
-| | 0                                     | (ULEB128) | throw()                      |  |
-| +---------------------------------------+------------------------------------------+  |
-| ...                                                                                   |
-| +---------------------------------------+------------------------------------------+  |
-| | 1st ttypeIndex for Nth exception spec | (ULEB128) |                              |  |
-| | ...                                   | (ULEB128) |                              |  |
-| | Mth ttypeIndex for Nth exception spec | (ULEB128) |                              |  |
-| | 0                                     | (ULEB128) |                              |  |
-| +---------------------------------------+------------------------------------------+  |
-+---------------------------------------------------------------------------------------+
-
-Notes:
-
-*  ttypeIndex in the Action Table, and in the exception spec table, is an index,
-     not a byte count, if positive.  It is a negative index offset of
-     classInfoOffset and the sizeof entry depends on ttypeEncoding.
-   But if ttypeIndex is negative, it is a positive 1-based byte offset into the
-     type_info Table.
-   And if ttypeIndex is zero, it refers to a catch (...).
-
-*  landingPad can be 0, this implies there is nothing to be done.
-
-*  landingPad != 0 and actionEntry == 0 implies a cleanup needs to be done
-     @landingPad.
-
-*  A cleanup can also be found under landingPad != 0 and actionEntry != 0 in
-     the Action Table with ttypeIndex == 0.
-*/
-
-namespace __cxxabiv1
-{
-
-namespace
-{
-
-template <class AsType>
-uintptr_t readPointerHelper(const uint8_t*& p) {
-    AsType value;
-    memcpy(&value, p, sizeof(AsType));
-    p += sizeof(AsType);
-    return static_cast<uintptr_t>(value);
-}
-
-} // end namespace
-
-extern "C"
-{
-
-// private API
-
-// Heavily borrowed from llvm/examples/ExceptionDemo/ExceptionDemo.cpp
-
-// DWARF Constants
-enum
-{
-    DW_EH_PE_absptr   = 0x00,
-    DW_EH_PE_uleb128  = 0x01,
-    DW_EH_PE_udata2   = 0x02,
-    DW_EH_PE_udata4   = 0x03,
-    DW_EH_PE_udata8   = 0x04,
-    DW_EH_PE_sleb128  = 0x09,
-    DW_EH_PE_sdata2   = 0x0A,
-    DW_EH_PE_sdata4   = 0x0B,
-    DW_EH_PE_sdata8   = 0x0C,
-    DW_EH_PE_pcrel    = 0x10,
-    DW_EH_PE_textrel  = 0x20,
-    DW_EH_PE_datarel  = 0x30,
-    DW_EH_PE_funcrel  = 0x40,
-    DW_EH_PE_aligned  = 0x50,
-    DW_EH_PE_indirect = 0x80,
-    DW_EH_PE_omit     = 0xFF
-};
-
-/// Read a uleb128 encoded value and advance pointer 
-/// See Variable Length Data Appendix C in: 
-/// @link http://dwarfstd.org/Dwarf4.pdf @unlink
-/// @param data reference variable holding memory pointer to decode from
-/// @returns decoded value
-static
-uintptr_t
-readULEB128(const uint8_t** data)
-{
-    uintptr_t result = 0;
-    uintptr_t shift = 0;
-    unsigned char byte;
-    const uint8_t *p = *data;
-    do
-    {
-        byte = *p++;
-        result |= static_cast<uintptr_t>(byte & 0x7F) << shift;
-        shift += 7;
-    } while (byte & 0x80);
-    *data = p;
-    return result;
-}
-
-/// Read a sleb128 encoded value and advance pointer 
-/// See Variable Length Data Appendix C in: 
-/// @link http://dwarfstd.org/Dwarf4.pdf @unlink
-/// @param data reference variable holding memory pointer to decode from
-/// @returns decoded value
-static
-intptr_t
-readSLEB128(const uint8_t** data)
-{
-    uintptr_t result = 0;
-    uintptr_t shift = 0;
-    unsigned char byte;
-    const uint8_t *p = *data;
-    do
-    {
-        byte = *p++;
-        result |= static_cast<uintptr_t>(byte & 0x7F) << shift;
-        shift += 7;
-    } while (byte & 0x80);
-    *data = p;
-    if ((byte & 0x40) && (shift < (sizeof(result) << 3)))
-        result |= static_cast<uintptr_t>(~0) << shift;
-    return static_cast<intptr_t>(result);
-}
-
-/// Read a pointer encoded value and advance pointer 
-/// See Variable Length Data in: 
-/// @link http://dwarfstd.org/Dwarf3.pdf @unlink
-/// @param data reference variable holding memory pointer to decode from
-/// @param encoding dwarf encoding type
-/// @returns decoded value
-static
-uintptr_t
-readEncodedPointer(const uint8_t** data, uint8_t encoding)
-{
-    uintptr_t result = 0;
-    if (encoding == DW_EH_PE_omit) 
-        return result;
-    const uint8_t* p = *data;
-    // first get value 
-    switch (encoding & 0x0F)
-    {
-    case DW_EH_PE_absptr:
-        result = readPointerHelper<uintptr_t>(p);
-        break;
-    case DW_EH_PE_uleb128:
-        result = readULEB128(&p);
-        break;
-    case DW_EH_PE_sleb128:
-        result = static_cast<uintptr_t>(readSLEB128(&p));
-        break;
-    case DW_EH_PE_udata2:
-        result = readPointerHelper<uint16_t>(p);
-        break;
-    case DW_EH_PE_udata4:
-        result = readPointerHelper<uint32_t>(p);
-        break;
-    case DW_EH_PE_udata8:
-        result = readPointerHelper<uint64_t>(p);
-        break;
-    case DW_EH_PE_sdata2:
-        result = readPointerHelper<int16_t>(p);
-        break;
-    case DW_EH_PE_sdata4:
-        result = readPointerHelper<int32_t>(p);
-        break;
-    case DW_EH_PE_sdata8:
-        result = readPointerHelper<int64_t>(p);
-        break;
-    default:
-        // not supported 
-        abort();
-        break;
-    }
-    // then add relative offset 
-    switch (encoding & 0x70)
-    {
-    case DW_EH_PE_absptr:
-        // do nothing 
-        break;
-    case DW_EH_PE_pcrel:
-        if (result)
-            result += (uintptr_t)(*data);
-        break;
-    case DW_EH_PE_textrel:
-    case DW_EH_PE_datarel:
-    case DW_EH_PE_funcrel:
-    case DW_EH_PE_aligned:
-    default:
-        // not supported 
-        abort();
-        break;
-    }
-    // then apply indirection 
-    if (result && (encoding & DW_EH_PE_indirect))
-        result = *((uintptr_t*)result);
-    *data = p;
-    return result;
-}
-
-static
-void
-call_terminate(bool native_exception, _Unwind_Exception* unwind_exception)
-{
-    __cxa_begin_catch(unwind_exception);
-    if (native_exception)
-    {
-        // Use the stored terminate_handler if possible
-        __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;
-        std::__terminate(exception_header->terminateHandler);
-    }
-    std::terminate();
-}
-
-#if defined(_LIBCXXABI_ARM_EHABI)
-static const void* read_target2_value(const void* ptr)
-{
-    uintptr_t offset = *reinterpret_cast<const uintptr_t*>(ptr);
-    if (!offset)
-        return 0;
-    // "ARM EABI provides a TARGET2 relocation to describe these typeinfo
-    // pointers. The reason being it allows their precise semantics to be
-    // deferred to the linker. For bare-metal they turn into absolute
-    // relocations. For linux they turn into GOT-REL relocations."
-    // https://gcc.gnu.org/ml/gcc-patches/2009-08/msg00264.html
-#if defined(LIBCXXABI_BAREMETAL)
-    return reinterpret_cast<const void*>(reinterpret_cast<uintptr_t>(ptr) +
-                                         offset);
-#else
-    return *reinterpret_cast<const void **>(reinterpret_cast<uintptr_t>(ptr) +
-                                            offset);
-#endif
-}
-
-static const __shim_type_info*
-get_shim_type_info(uint64_t ttypeIndex, const uint8_t* classInfo,
-                   uint8_t ttypeEncoding, bool native_exception,
-                   _Unwind_Exception* unwind_exception)
-{
-    if (classInfo == 0)
-    {
-        // this should not happen.  Indicates corrupted eh_table.
-        call_terminate(native_exception, unwind_exception);
-    }
-
-    assert(((ttypeEncoding == DW_EH_PE_absptr) ||  // LLVM or GCC 4.6
-            (ttypeEncoding == DW_EH_PE_pcrel) ||  // GCC 4.7 baremetal
-            (ttypeEncoding == (DW_EH_PE_pcrel | DW_EH_PE_indirect))) &&  // GCC 4.7 linux
-           "Unexpected TTypeEncoding");
-    (void)ttypeEncoding;
-
-    const uint8_t* ttypePtr = classInfo - ttypeIndex * sizeof(uintptr_t);
-    return reinterpret_cast<const __shim_type_info *>(
-        read_target2_value(ttypePtr));
-}
-#else // !defined(_LIBCXXABI_ARM_EHABI)
-static
-const __shim_type_info*
-get_shim_type_info(uint64_t ttypeIndex, const uint8_t* classInfo,
-                   uint8_t ttypeEncoding, bool native_exception,
-                   _Unwind_Exception* unwind_exception)
-{
-    if (classInfo == 0)
-    {
-        // this should not happen.  Indicates corrupted eh_table.
-        call_terminate(native_exception, unwind_exception);
-    }
-    switch (ttypeEncoding & 0x0F)
-    {
-    case DW_EH_PE_absptr:
-        ttypeIndex *= sizeof(void*);
-        break;
-    case DW_EH_PE_udata2:
-    case DW_EH_PE_sdata2:
-        ttypeIndex *= 2;
-        break;
-    case DW_EH_PE_udata4:
-    case DW_EH_PE_sdata4:
-        ttypeIndex *= 4;
-        break;
-    case DW_EH_PE_udata8:
-    case DW_EH_PE_sdata8:
-        ttypeIndex *= 8;
-        break;
-    default:
-        // this should not happen.   Indicates corrupted eh_table.
-        call_terminate(native_exception, unwind_exception);
-    }
-    classInfo -= ttypeIndex;
-    return (const __shim_type_info*)readEncodedPointer(&classInfo, ttypeEncoding);
-}
-#endif // !defined(_LIBCXXABI_ARM_EHABI)
-
-/*
-    This is checking a thrown exception type, excpType, against a possibly empty
-    list of catchType's which make up an exception spec.
-
-    An exception spec acts like a catch handler, but in reverse.  This "catch
-    handler" will catch an excpType if and only if none of the catchType's in
-    the list will catch a excpType.  If any catchType in the list can catch an
-    excpType, then this exception spec does not catch the excpType.
-*/
-#if defined(_LIBCXXABI_ARM_EHABI)
-static
-bool
-exception_spec_can_catch(int64_t specIndex, const uint8_t* classInfo,
-                         uint8_t ttypeEncoding, const __shim_type_info* excpType,
-                         void* adjustedPtr, _Unwind_Exception* unwind_exception)
-{
-    if (classInfo == 0)
-    {
-        // this should not happen.   Indicates corrupted eh_table.
-        call_terminate(false, unwind_exception);
-    }
-
-    assert(((ttypeEncoding == DW_EH_PE_absptr) ||  // LLVM or GCC 4.6
-            (ttypeEncoding == DW_EH_PE_pcrel) ||  // GCC 4.7 baremetal
-            (ttypeEncoding == (DW_EH_PE_pcrel | DW_EH_PE_indirect))) &&  // GCC 4.7 linux
-           "Unexpected TTypeEncoding");
-    (void)ttypeEncoding;
-
-    // specIndex is negative of 1-based byte offset into classInfo;
-    specIndex = -specIndex;
-    --specIndex;
-    const void** temp = reinterpret_cast<const void**>(
-        reinterpret_cast<uintptr_t>(classInfo) +
-        static_cast<uintptr_t>(specIndex) * sizeof(uintptr_t));
-    // If any type in the spec list can catch excpType, return false, else return true
-    //    adjustments to adjustedPtr are ignored.
-    while (true)
-    {
-        // ARM EHABI exception specification table (filter table) consists of
-        // several pointers which will directly point to the type info object
-        // (instead of ttypeIndex).  The table will be terminated with 0.
-        const void** ttypePtr = temp++;
-        if (*ttypePtr == 0)
-            break;
-        // We can get the __shim_type_info simply by performing a
-        // R_ARM_TARGET2 relocation, and cast the result to __shim_type_info.
-        const __shim_type_info* catchType =
-            static_cast<const __shim_type_info*>(read_target2_value(ttypePtr));
-        void* tempPtr = adjustedPtr;
-        if (catchType->can_catch(excpType, tempPtr))
-            return false;
-    }
-    return true;
-}
-#else
-static
-bool
-exception_spec_can_catch(int64_t specIndex, const uint8_t* classInfo,
-                         uint8_t ttypeEncoding, const __shim_type_info* excpType,
-                         void* adjustedPtr, _Unwind_Exception* unwind_exception)
-{
-    if (classInfo == 0)
-    {
-        // this should not happen.   Indicates corrupted eh_table.
-        call_terminate(false, unwind_exception);
-    }
-    // specIndex is negative of 1-based byte offset into classInfo;
-    specIndex = -specIndex;
-    --specIndex;
-    const uint8_t* temp = classInfo + specIndex;
-    // If any type in the spec list can catch excpType, return false, else return true
-    //    adjustments to adjustedPtr are ignored.
-    while (true)
-    {
-        uint64_t ttypeIndex = readULEB128(&temp);
-        if (ttypeIndex == 0)
-            break;
-        const __shim_type_info* catchType = get_shim_type_info(ttypeIndex,
-                                                               classInfo,
-                                                               ttypeEncoding,
-                                                               true,
-                                                               unwind_exception);
-        void* tempPtr = adjustedPtr;
-        if (catchType->can_catch(excpType, tempPtr))
-            return false;
-    }
-    return true;
-}
-#endif
-
-static
-void*
-get_thrown_object_ptr(_Unwind_Exception* unwind_exception)
-{
-    // Even for foreign exceptions, the exception object is *probably* at unwind_exception + 1
-    //    Regardless, this library is prohibited from touching a foreign exception
-    void* adjustedPtr = unwind_exception + 1;
-    if (__getExceptionClass(unwind_exception) == kOurDependentExceptionClass)
-        adjustedPtr = ((__cxa_dependent_exception*)adjustedPtr - 1)->primaryException;
-    return adjustedPtr;
-}
-
-namespace
-{
-
-struct scan_results
-{
-    int64_t        ttypeIndex;   // > 0 catch handler, < 0 exception spec handler, == 0 a cleanup
-    const uint8_t* actionRecord;         // Currently unused.  Retained to ease future maintenance.
-    const uint8_t* languageSpecificData;  // Needed only for __cxa_call_unexpected
-    uintptr_t      landingPad;   // null -> nothing found, else something found
-    void*          adjustedPtr;  // Used in cxa_exception.cpp
-    _Unwind_Reason_Code reason;  // One of _URC_FATAL_PHASE1_ERROR,
-                                 //        _URC_FATAL_PHASE2_ERROR,
-                                 //        _URC_CONTINUE_UNWIND,
-                                 //        _URC_HANDLER_FOUND
-};
-
-}  // unnamed namespace
-
-static
-void
-set_registers(_Unwind_Exception* unwind_exception, _Unwind_Context* context,
-              const scan_results& results)
-{
-#if defined(__USING_SJLJ_EXCEPTIONS__)
-#define __builtin_eh_return_data_regno(regno) regno
-#endif
-  _Unwind_SetGR(context, __builtin_eh_return_data_regno(0),
-                reinterpret_cast<uintptr_t>(unwind_exception));
-  _Unwind_SetGR(context, __builtin_eh_return_data_regno(1),
-                static_cast<uintptr_t>(results.ttypeIndex));
-  _Unwind_SetIP(context, results.landingPad);
-}
-
-/*
-    There are 3 types of scans needed:
-
-    1.  Scan for handler with native or foreign exception.  If handler found,
-        save state and return _URC_HANDLER_FOUND, else return _URC_CONTINUE_UNWIND.
-        May also report an error on invalid input.
-        May terminate for invalid exception table.
-        _UA_SEARCH_PHASE
-
-    2.  Scan for handler with foreign exception.  Must return _URC_HANDLER_FOUND,
-        or call terminate.
-        _UA_CLEANUP_PHASE && _UA_HANDLER_FRAME && !native_exception
-
-    3.  Scan for cleanups.  If a handler is found and this isn't forced unwind,
-        then terminate, otherwise ignore the handler and keep looking for cleanup.
-        If a cleanup is found, return _URC_HANDLER_FOUND, else return _URC_CONTINUE_UNWIND.
-        May also report an error on invalid input.
-        May terminate for invalid exception table.
-        _UA_CLEANUP_PHASE && !_UA_HANDLER_FRAME
-*/
-
-static void scan_eh_tab(scan_results &results, _Unwind_Action actions,
-                        bool native_exception,
-                        _Unwind_Exception *unwind_exception,
-                        _Unwind_Context *context) {
-    // Initialize results to found nothing but an error
-    results.ttypeIndex = 0;
-    results.actionRecord = 0;
-    results.languageSpecificData = 0;
-    results.landingPad = 0;
-    results.adjustedPtr = 0;
-    results.reason = _URC_FATAL_PHASE1_ERROR;
-    // Check for consistent actions
-    if (actions & _UA_SEARCH_PHASE)
-    {
-        // Do Phase 1
-        if (actions & (_UA_CLEANUP_PHASE | _UA_HANDLER_FRAME | _UA_FORCE_UNWIND))
-        {
-            // None of these flags should be set during Phase 1
-            //   Client error
-            results.reason = _URC_FATAL_PHASE1_ERROR;
-            return;
-        }
-    }
-    else if (actions & _UA_CLEANUP_PHASE)
-    {
-        if ((actions & _UA_HANDLER_FRAME) && (actions & _UA_FORCE_UNWIND))
-        {
-            // _UA_HANDLER_FRAME should only be set if phase 1 found a handler.
-            // If _UA_FORCE_UNWIND is set, phase 1 shouldn't have happened.
-            //    Client error
-            results.reason = _URC_FATAL_PHASE2_ERROR;
-            return;
-        }
-    }
-    else // Neither _UA_SEARCH_PHASE nor _UA_CLEANUP_PHASE is set
-    {
-        // One of these should be set.
-        //   Client error
-        results.reason = _URC_FATAL_PHASE1_ERROR;
-        return;
-    }
-    // Start scan by getting exception table address
-    const uint8_t *lsda = (const uint8_t *)_Unwind_GetLanguageSpecificData(context);
-    if (lsda == 0)
-    {
-        // There is no exception table
-        results.reason = _URC_CONTINUE_UNWIND;
-        return;
-    }
-    results.languageSpecificData = lsda;
-    // Get the current instruction pointer and offset it before next
-    // instruction in the current frame which threw the exception.
-    uintptr_t ip = _Unwind_GetIP(context) - 1;
-    // Get beginning current frame's code (as defined by the 
-    // emitted dwarf code)
-    uintptr_t funcStart = _Unwind_GetRegionStart(context);
-#ifdef __USING_SJLJ_EXCEPTIONS__
-    if (ip == uintptr_t(-1))
-    {
-        // no action
-        results.reason = _URC_CONTINUE_UNWIND;
-        return;
-    }
-    else if (ip == 0)
-        call_terminate(native_exception, unwind_exception);
-    // ip is 1-based index into call site table
-#else  // !__USING_SJLJ_EXCEPTIONS__
-    uintptr_t ipOffset = ip - funcStart;
-#endif  // !defined(_USING_SLJL_EXCEPTIONS__)
-    const uint8_t* classInfo = NULL;
-    // Note: See JITDwarfEmitter::EmitExceptionTable(...) for corresponding
-    //       dwarf emission
-    // Parse LSDA header.
-    uint8_t lpStartEncoding = *lsda++;
-    const uint8_t* lpStart = (const uint8_t*)readEncodedPointer(&lsda, lpStartEncoding);
-    if (lpStart == 0)
-        lpStart = (const uint8_t*)funcStart;
-    uint8_t ttypeEncoding = *lsda++;
-    if (ttypeEncoding != DW_EH_PE_omit)
-    {
-        // Calculate type info locations in emitted dwarf code which
-        // were flagged by type info arguments to llvm.eh.selector
-        // intrinsic
-        uintptr_t classInfoOffset = readULEB128(&lsda);
-        classInfo = lsda + classInfoOffset;
-    }
-    // Walk call-site table looking for range that 
-    // includes current PC. 
-    uint8_t callSiteEncoding = *lsda++;
-#ifdef __USING_SJLJ_EXCEPTIONS__
-    (void)callSiteEncoding;  // When using SjLj exceptions, callSiteEncoding is never used
-#endif
-    uint32_t callSiteTableLength = static_cast<uint32_t>(readULEB128(&lsda));
-    const uint8_t* callSiteTableStart = lsda;
-    const uint8_t* callSiteTableEnd = callSiteTableStart + callSiteTableLength;
-    const uint8_t* actionTableStart = callSiteTableEnd;
-    const uint8_t* callSitePtr = callSiteTableStart;
-    while (callSitePtr < callSiteTableEnd)
-    {
-        // There is one entry per call site.
-#ifndef __USING_SJLJ_EXCEPTIONS__
-        // The call sites are non-overlapping in [start, start+length)
-        // The call sites are ordered in increasing value of start
-        uintptr_t start = readEncodedPointer(&callSitePtr, callSiteEncoding);
-        uintptr_t length = readEncodedPointer(&callSitePtr, callSiteEncoding);
-        uintptr_t landingPad = readEncodedPointer(&callSitePtr, callSiteEncoding);
-        uintptr_t actionEntry = readULEB128(&callSitePtr);
-        if ((start <= ipOffset) && (ipOffset < (start + length)))
-#else  // __USING_SJLJ_EXCEPTIONS__
-        // ip is 1-based index into this table
-        uintptr_t landingPad = readULEB128(&callSitePtr);
-        uintptr_t actionEntry = readULEB128(&callSitePtr);
-        if (--ip == 0)
-#endif  // __USING_SJLJ_EXCEPTIONS__
-        {
-            // Found the call site containing ip.
-#ifndef __USING_SJLJ_EXCEPTIONS__
-            if (landingPad == 0)
-            {
-                // No handler here
-                results.reason = _URC_CONTINUE_UNWIND;
-                return;
-            }
-            landingPad = (uintptr_t)lpStart + landingPad;
-#else  // __USING_SJLJ_EXCEPTIONS__
-            ++landingPad;
-#endif  // __USING_SJLJ_EXCEPTIONS__
-            if (actionEntry == 0)
-            {
-                // Found a cleanup
-                // If this is a type 1 or type 2 search, there are no handlers
-                // If this is a type 3 search, you want to install the cleanup.
-                if ((actions & _UA_CLEANUP_PHASE) && !(actions & _UA_HANDLER_FRAME))
-                {
-                    results.ttypeIndex = 0;  // Redundant but clarifying
-                    results.landingPad = landingPad;
-                    results.reason = _URC_HANDLER_FOUND;
-                    return;
-                }
-                // No handler here
-                results.reason = _URC_CONTINUE_UNWIND;
-                return;
-            }
-            // Convert 1-based byte offset into
-            const uint8_t* action = actionTableStart + (actionEntry - 1);
-            // Scan action entries until you find a matching handler, cleanup, or the end of action list
-            while (true)
-            {
-                const uint8_t* actionRecord = action;
-                int64_t ttypeIndex = readSLEB128(&action);
-                if (ttypeIndex > 0)
-                {
-                    // Found a catch, does it actually catch?
-                    // First check for catch (...)
-                    const __shim_type_info* catchType =
-                        get_shim_type_info(static_cast<uint64_t>(ttypeIndex),
-                                           classInfo, ttypeEncoding,
-                                           native_exception, unwind_exception);
-                    if (catchType == 0)
-                    {
-                        // Found catch (...) catches everything, including foreign exceptions
-                        // If this is a type 1 search save state and return _URC_HANDLER_FOUND
-                        // If this is a type 2 search save state and return _URC_HANDLER_FOUND
-                        // If this is a type 3 search !_UA_FORCE_UNWIND, we should have found this in phase 1!
-                        // If this is a type 3 search _UA_FORCE_UNWIND, ignore handler and continue scan
-                        if ((actions & _UA_SEARCH_PHASE) || (actions & _UA_HANDLER_FRAME))
-                        {
-                            // Save state and return _URC_HANDLER_FOUND
-                            results.ttypeIndex = ttypeIndex;
-                            results.actionRecord = actionRecord;
-                            results.landingPad = landingPad;
-                            results.adjustedPtr = get_thrown_object_ptr(unwind_exception);
-                            results.reason = _URC_HANDLER_FOUND;
-                            return;
-                        }
-                        else if (!(actions & _UA_FORCE_UNWIND))
-                        {
-                            // It looks like the exception table has changed
-                            //    on us.  Likely stack corruption!
-                            call_terminate(native_exception, unwind_exception);
-                        }
-                    }
-                    // Else this is a catch (T) clause and will never
-                    //    catch a foreign exception
-                    else if (native_exception)
-                    {
-                        __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;
-                        void* adjustedPtr = get_thrown_object_ptr(unwind_exception);
-                        const __shim_type_info* excpType =
-                            static_cast<const __shim_type_info*>(exception_header->exceptionType);
-                        if (adjustedPtr == 0 || excpType == 0)
-                        {
-                            // Something very bad happened
-                            call_terminate(native_exception, unwind_exception);
-                        }
-                        if (catchType->can_catch(excpType, adjustedPtr))
-                        {
-                            // Found a matching handler
-                            // If this is a type 1 search save state and return _URC_HANDLER_FOUND
-                            // If this is a type 3 search and !_UA_FORCE_UNWIND, we should have found this in phase 1!
-                            // If this is a type 3 search and _UA_FORCE_UNWIND, ignore handler and continue scan
-                            if (actions & _UA_SEARCH_PHASE)
-                            {
-                                // Save state and return _URC_HANDLER_FOUND
-                                results.ttypeIndex = ttypeIndex;
-                                results.actionRecord = actionRecord;
-                                results.landingPad = landingPad;
-                                results.adjustedPtr = adjustedPtr;
-                                results.reason = _URC_HANDLER_FOUND;
-                                return;
-                            }
-                            else if (!(actions & _UA_FORCE_UNWIND))
-                            {
-                                // It looks like the exception table has changed
-                                //    on us.  Likely stack corruption!
-                                call_terminate(native_exception, unwind_exception);
-                            }
-                        }
-                    }
-                    // Scan next action ...
-                }
-                else if (ttypeIndex < 0)
-                {
-                    // Found an exception spec.  If this is a foreign exception,
-                    //   it is always caught.
-                    if (native_exception)
-                    {
-                        // Does the exception spec catch this native exception?
-                        __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;
-                        void* adjustedPtr = get_thrown_object_ptr(unwind_exception);
-                        const __shim_type_info* excpType =
-                            static_cast<const __shim_type_info*>(exception_header->exceptionType);
-                        if (adjustedPtr == 0 || excpType == 0)
-                        {
-                            // Something very bad happened
-                            call_terminate(native_exception, unwind_exception);
-                        }
-                        if (exception_spec_can_catch(ttypeIndex, classInfo,
-                                                     ttypeEncoding, excpType,
-                                                     adjustedPtr, unwind_exception))
-                        {
-                            // native exception caught by exception spec
-                            // If this is a type 1 search, save state and return _URC_HANDLER_FOUND
-                            // If this is a type 3 search !_UA_FORCE_UNWIND, we should have found this in phase 1!
-                            // If this is a type 3 search _UA_FORCE_UNWIND, ignore handler and continue scan
-                            if (actions & _UA_SEARCH_PHASE)
-                            {
-                                // Save state and return _URC_HANDLER_FOUND
-                                results.ttypeIndex = ttypeIndex;
-                                results.actionRecord = actionRecord;
-                                results.landingPad = landingPad;
-                                results.adjustedPtr = adjustedPtr;
-                                results.reason = _URC_HANDLER_FOUND;
-                                return;
-                            }
-                            else if (!(actions & _UA_FORCE_UNWIND))
-                            {
-                                // It looks like the exception table has changed
-                                //    on us.  Likely stack corruption!
-                                call_terminate(native_exception, unwind_exception);
-                            }
-                        }
-                    }
-                    else
-                    {
-                        // foreign exception caught by exception spec
-                        // If this is a type 1 search, save state and return _URC_HANDLER_FOUND
-                        // If this is a type 2 search, save state and return _URC_HANDLER_FOUND
-                        // If this is a type 3 search !_UA_FORCE_UNWIND, we should have found this in phase 1!
-                        // If this is a type 3 search _UA_FORCE_UNWIND, ignore handler and continue scan
-                        if ((actions & _UA_SEARCH_PHASE) || (actions & _UA_HANDLER_FRAME))
-                        {
-                            // Save state and return _URC_HANDLER_FOUND
-                            results.ttypeIndex = ttypeIndex;
-                            results.actionRecord = actionRecord;
-                            results.landingPad = landingPad;
-                            results.adjustedPtr = get_thrown_object_ptr(unwind_exception);
-                            results.reason = _URC_HANDLER_FOUND;
-                            return;
-                        }
-                        else if (!(actions & _UA_FORCE_UNWIND))
-                        {
-                            // It looks like the exception table has changed
-                            //    on us.  Likely stack corruption!
-                            call_terminate(native_exception, unwind_exception);
-                        }
-                    }
-                    // Scan next action ...
-                }
-                else  // ttypeIndex == 0
-                {
-                    // Found a cleanup
-                    // If this is a type 1 search, ignore it and continue scan
-                    // If this is a type 2 search, ignore it and continue scan
-                    // If this is a type 3 search, save state and return _URC_HANDLER_FOUND
-                    if ((actions & _UA_CLEANUP_PHASE) && !(actions & _UA_HANDLER_FRAME))
-                    {
-                        // Save state and return _URC_HANDLER_FOUND
-                        results.ttypeIndex = ttypeIndex;
-                        results.actionRecord = actionRecord;
-                        results.landingPad = landingPad;
-                        results.adjustedPtr = get_thrown_object_ptr(unwind_exception);
-                        results.reason = _URC_HANDLER_FOUND;
-                        return;
-                    }
-                }
-                const uint8_t* temp = action;
-                int64_t actionOffset = readSLEB128(&temp);
-                if (actionOffset == 0)
-                {
-                    // End of action list, no matching handler or cleanup found
-                    results.reason = _URC_CONTINUE_UNWIND;
-                    return;
-                }
-                // Go to next action
-                action += actionOffset;
-            }  // there is no break out of this loop, only return
-        }
-#ifndef __USING_SJLJ_EXCEPTIONS__
-        else if (ipOffset < start)
-        {
-            // There is no call site for this ip
-            // Something bad has happened.  We should never get here.
-            // Possible stack corruption.
-            call_terminate(native_exception, unwind_exception);
-        }
-#endif  // !__USING_SJLJ_EXCEPTIONS__
-    }  // there might be some tricky cases which break out of this loop
-
-    // It is possible that no eh table entry specify how to handle
-    // this exception. By spec, terminate it immediately.
-    call_terminate(native_exception, unwind_exception);
-}
-
-// public API
-
-/*
-The personality function branches on actions like so:
-
-_UA_SEARCH_PHASE
-
-    If _UA_CLEANUP_PHASE or _UA_HANDLER_FRAME or _UA_FORCE_UNWIND there's
-      an error from above, return _URC_FATAL_PHASE1_ERROR.
-
-    Scan for anything that could stop unwinding:
-
-       1.  A catch clause that will catch this exception
-           (will never catch foreign).
-       2.  A catch (...) (will always catch foreign).
-       3.  An exception spec that will catch this exception
-           (will always catch foreign).
-    If a handler is found
-        If not foreign
-            Save state in header
-        return _URC_HANDLER_FOUND
-    Else a handler not found
-        return _URC_CONTINUE_UNWIND
-
-_UA_CLEANUP_PHASE
-
-    If _UA_HANDLER_FRAME
-        If _UA_FORCE_UNWIND
-            How did this happen?  return _URC_FATAL_PHASE2_ERROR
-        If foreign
-            Do _UA_SEARCH_PHASE to recover state
-        else
-            Recover state from header
-        Transfer control to landing pad.  return _URC_INSTALL_CONTEXT
-    
-    Else
-
-        This branch handles both normal C++ non-catching handlers (cleanups)
-          and forced unwinding.    
-        Scan for anything that can not stop unwinding:
-    
-            1.  A cleanup.
-
-        If a cleanup is found
-            transfer control to it. return _URC_INSTALL_CONTEXT
-        Else a cleanup is not found: return _URC_CONTINUE_UNWIND
-*/
-
-#if !defined(_LIBCXXABI_ARM_EHABI)
-#if defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)
-static _Unwind_Reason_Code __gxx_personality_imp
-#else
-_LIBCXXABI_FUNC_VIS _Unwind_Reason_Code
-#ifdef __USING_SJLJ_EXCEPTIONS__
-__gxx_personality_sj0
-#else
-__gxx_personality_v0
-#endif
-#endif
-                    (int version, _Unwind_Action actions, uint64_t exceptionClass,
-                     _Unwind_Exception* unwind_exception, _Unwind_Context* context)
-{
-    if (version != 1 || unwind_exception == 0 || context == 0)
-        return _URC_FATAL_PHASE1_ERROR;
-
-    bool native_exception = (exceptionClass     & get_vendor_and_language) ==
-                            (kOurExceptionClass & get_vendor_and_language);
-    scan_results results;
-    if (actions & _UA_SEARCH_PHASE)
-    {
-        // Phase 1 search:  All we're looking for in phase 1 is a handler that
-        //   halts unwinding
-        scan_eh_tab(results, actions, native_exception, unwind_exception, context);
-        if (results.reason == _URC_HANDLER_FOUND)
-        {
-            // Found one.  Can we cache the results somewhere to optimize phase 2?
-            if (native_exception)
-            {
-                __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;
-                exception_header->handlerSwitchValue = static_cast<int>(results.ttypeIndex);
-                exception_header->actionRecord = results.actionRecord;
-                exception_header->languageSpecificData = results.languageSpecificData;
-                exception_header->catchTemp = reinterpret_cast<void*>(results.landingPad);
-                exception_header->adjustedPtr = results.adjustedPtr;
-            }
-            return _URC_HANDLER_FOUND;
-        }
-        // Did not find a catching-handler.  Return the results of the scan
-        //    (normally _URC_CONTINUE_UNWIND, but could have been _URC_FATAL_PHASE1_ERROR
-        //     if we were called improperly).
-        return results.reason;
-    }
-    if (actions & _UA_CLEANUP_PHASE)
-    {
-        // Phase 2 search:
-        //  Did we find a catching handler in phase 1?
-        if (actions & _UA_HANDLER_FRAME)
-        {
-            // Yes, phase 1 said we have a catching handler here.
-            // Did we cache the results of the scan?
-            if (native_exception)
-            {
-                // Yes, reload the results from the cache.
-                __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;
-                results.ttypeIndex = exception_header->handlerSwitchValue;
-                results.actionRecord = exception_header->actionRecord;
-                results.languageSpecificData = exception_header->languageSpecificData;
-                results.landingPad = reinterpret_cast<uintptr_t>(exception_header->catchTemp);
-                results.adjustedPtr = exception_header->adjustedPtr;
-            }
-            else
-            {
-                // No, do the scan again to reload the results.
-                scan_eh_tab(results, actions, native_exception, unwind_exception, context);
-                // Phase 1 told us we would find a handler.  Now in Phase 2 we
-                //   didn't find a handler.  The eh table should not be changing!
-                if (results.reason != _URC_HANDLER_FOUND)
-                    call_terminate(native_exception, unwind_exception);
-            }
-            // Jump to the handler
-            set_registers(unwind_exception, context, results);
-            return _URC_INSTALL_CONTEXT;
-        }
-        // Either we didn't do a phase 1 search (due to forced unwinding), or
-        //   phase 1 reported no catching-handlers.
-        // Search for a (non-catching) cleanup
-        scan_eh_tab(results, actions, native_exception, unwind_exception, context);
-        if (results.reason == _URC_HANDLER_FOUND)
-        {
-            // Found a non-catching handler.  Jump to it:
-            set_registers(unwind_exception, context, results);
-            return _URC_INSTALL_CONTEXT;
-        }
-        // Did not find a cleanup.  Return the results of the scan
-        //    (normally _URC_CONTINUE_UNWIND, but could have been _URC_FATAL_PHASE2_ERROR
-        //     if we were called improperly).
-        return results.reason;
-    }
-    // We were called improperly: neither a phase 1 or phase 2 search
-    return _URC_FATAL_PHASE1_ERROR;
-}
-
-#if defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)
-extern "C" _LIBCXXABI_FUNC_VIS EXCEPTION_DISPOSITION
-__gxx_personality_seh0(PEXCEPTION_RECORD ms_exc, void *this_frame,
-                       PCONTEXT ms_orig_context, PDISPATCHER_CONTEXT ms_disp)
-{
-  return _GCC_specific_handler(ms_exc, this_frame, ms_orig_context, ms_disp,
-                               __gxx_personality_imp);
-}
-#endif
-
-#else
-
-extern "C" _Unwind_Reason_Code __gnu_unwind_frame(_Unwind_Exception*,
-                                                  _Unwind_Context*);
-
-// Helper function to unwind one frame.
-// ARM EHABI 7.3 and 7.4: If the personality function returns _URC_CONTINUE_UNWIND, the
-// personality routine should update the virtual register set (VRS) according to the
-// corresponding frame unwinding instructions (ARM EHABI 9.3.)
-static _Unwind_Reason_Code continue_unwind(_Unwind_Exception* unwind_exception,
-                                           _Unwind_Context* context)
-{
-    if (__gnu_unwind_frame(unwind_exception, context) != _URC_OK)
-        return _URC_FAILURE;
-    return _URC_CONTINUE_UNWIND;
-}
-
-// ARM register names
-#if !defined(LIBCXXABI_USE_LLVM_UNWINDER)
-static const uint32_t REG_UCB = 12;  // Register to save _Unwind_Control_Block
-#endif
-static const uint32_t REG_SP = 13;
-
-static void save_results_to_barrier_cache(_Unwind_Exception* unwind_exception,
-                                          const scan_results& results)
-{
-    unwind_exception->barrier_cache.bitpattern[0] = (uint32_t)results.adjustedPtr;
-    unwind_exception->barrier_cache.bitpattern[1] = (uint32_t)results.actionRecord;
-    unwind_exception->barrier_cache.bitpattern[2] = (uint32_t)results.languageSpecificData;
-    unwind_exception->barrier_cache.bitpattern[3] = (uint32_t)results.landingPad;
-    unwind_exception->barrier_cache.bitpattern[4] = (uint32_t)results.ttypeIndex;
-}
-
-static void load_results_from_barrier_cache(scan_results& results,
-                                            const _Unwind_Exception* unwind_exception)
-{
-    results.adjustedPtr = (void*)unwind_exception->barrier_cache.bitpattern[0];
-    results.actionRecord = (const uint8_t*)unwind_exception->barrier_cache.bitpattern[1];
-    results.languageSpecificData = (const uint8_t*)unwind_exception->barrier_cache.bitpattern[2];
-    results.landingPad = (uintptr_t)unwind_exception->barrier_cache.bitpattern[3];
-    results.ttypeIndex = (int64_t)(int32_t)unwind_exception->barrier_cache.bitpattern[4];
-}
-
-extern "C" _LIBCXXABI_FUNC_VIS _Unwind_Reason_Code
-__gxx_personality_v0(_Unwind_State state,
-                     _Unwind_Exception* unwind_exception,
-                     _Unwind_Context* context)
-{
-    if (unwind_exception == 0 || context == 0)
-        return _URC_FATAL_PHASE1_ERROR;
-
-    bool native_exception = __isOurExceptionClass(unwind_exception);
-
-#if !defined(LIBCXXABI_USE_LLVM_UNWINDER)
-    // Copy the address of _Unwind_Control_Block to r12 so that
-    // _Unwind_GetLanguageSpecificData() and _Unwind_GetRegionStart() can
-    // return correct address.
-    _Unwind_SetGR(context, REG_UCB, reinterpret_cast<uint32_t>(unwind_exception));
-#endif
-
-    // Check the undocumented force unwinding behavior
-    bool is_force_unwinding = state & _US_FORCE_UNWIND;
-    state &= ~_US_FORCE_UNWIND;
-
-    scan_results results;
-    switch (state) {
-    case _US_VIRTUAL_UNWIND_FRAME:
-        if (is_force_unwinding)
-            return continue_unwind(unwind_exception, context);
-
-        // Phase 1 search:  All we're looking for in phase 1 is a handler that halts unwinding
-        scan_eh_tab(results, _UA_SEARCH_PHASE, native_exception, unwind_exception, context);
-        if (results.reason == _URC_HANDLER_FOUND)
-        {
-            unwind_exception->barrier_cache.sp = _Unwind_GetGR(context, REG_SP);
-            if (native_exception)
-                save_results_to_barrier_cache(unwind_exception, results);
-            return _URC_HANDLER_FOUND;
-        }
-        // Did not find the catch handler
-        if (results.reason == _URC_CONTINUE_UNWIND)
-            return continue_unwind(unwind_exception, context);
-        return results.reason;
-
-    case _US_UNWIND_FRAME_STARTING:
-        // TODO: Support force unwinding in the phase 2 search.
-        // NOTE: In order to call the cleanup functions, _Unwind_ForcedUnwind()
-        // will call this personality function with (_US_FORCE_UNWIND |
-        // _US_UNWIND_FRAME_STARTING).
-
-        // Phase 2 search
-        if (unwind_exception->barrier_cache.sp == _Unwind_GetGR(context, REG_SP))
-        {
-            // Found a catching handler in phase 1
-            if (native_exception)
-            {
-                // Load the result from the native exception barrier cache.
-                load_results_from_barrier_cache(results, unwind_exception);
-                results.reason = _URC_HANDLER_FOUND;
-            }
-            else
-            {
-                // Search for the catching handler again for the foreign exception.
-                scan_eh_tab(results, static_cast<_Unwind_Action>(_UA_CLEANUP_PHASE | _UA_HANDLER_FRAME),
-                            native_exception, unwind_exception, context);
-                if (results.reason != _URC_HANDLER_FOUND)  // phase1 search should guarantee to find one
-                    call_terminate(native_exception, unwind_exception);
-            }
-
-            // Install the context for the catching handler
-            set_registers(unwind_exception, context, results);
-            return _URC_INSTALL_CONTEXT;
-        }
-
-        // Either we didn't do a phase 1 search (due to forced unwinding), or
-        //  phase 1 reported no catching-handlers.
-        // Search for a (non-catching) cleanup
-        scan_eh_tab(results, _UA_CLEANUP_PHASE, native_exception, unwind_exception, context);
-        if (results.reason == _URC_HANDLER_FOUND)
-        {
-            // Found a non-catching handler
-
-            // ARM EHABI 8.4.2: Before we can jump to the cleanup handler, we have to setup some
-            // internal data structures, so that __cxa_end_cleanup() can get unwind_exception from
-            // __cxa_get_globals().
-            __cxa_begin_cleanup(unwind_exception);
-
-            // Install the context for the cleanup handler
-            set_registers(unwind_exception, context, results);
-            return _URC_INSTALL_CONTEXT;
-        }
-
-        // Did not find any handler
-        if (results.reason == _URC_CONTINUE_UNWIND)
-            return continue_unwind(unwind_exception, context);
-        return results.reason;
-
-    case _US_UNWIND_FRAME_RESUME:
-        return continue_unwind(unwind_exception, context);
-    }
-
-    // We were called improperly: neither a phase 1 or phase 2 search
-    return _URC_FATAL_PHASE1_ERROR;
-}
-#endif
-
-
-__attribute__((noreturn))
-_LIBCXXABI_FUNC_VIS void
-__cxa_call_unexpected(void* arg)
-{
-    _Unwind_Exception* unwind_exception = static_cast<_Unwind_Exception*>(arg);
-    if (unwind_exception == 0)
-        call_terminate(false, unwind_exception);
-    __cxa_begin_catch(unwind_exception);
-    bool native_old_exception = __isOurExceptionClass(unwind_exception);
-    std::unexpected_handler u_handler;
-    std::terminate_handler t_handler;
-    __cxa_exception* old_exception_header = 0;
-    int64_t ttypeIndex;
-    const uint8_t* lsda;
-    if (native_old_exception)
-    {
-        old_exception_header = (__cxa_exception*)(unwind_exception+1) - 1;
-        t_handler = old_exception_header->terminateHandler;
-        u_handler = old_exception_header->unexpectedHandler;
-        // If std::__unexpected(u_handler) rethrows the same exception,
-        //   these values get overwritten by the rethrow.  So save them now:
-#if defined(_LIBCXXABI_ARM_EHABI)
-        ttypeIndex = (int64_t)(int32_t)unwind_exception->barrier_cache.bitpattern[4];
-        lsda = (const uint8_t*)unwind_exception->barrier_cache.bitpattern[2];
-#else
-        ttypeIndex = old_exception_header->handlerSwitchValue;
-        lsda = old_exception_header->languageSpecificData;
-#endif
-    }
-    else
-    {
-        t_handler = std::get_terminate();
-        u_handler = std::get_unexpected();
-    }
-    try
-    {
-        std::__unexpected(u_handler);
-    }
-    catch (...)
-    {
-        // If the old exception is foreign, then all we can do is terminate.
-        //   We have no way to recover the needed old exception spec.  There's
-        //   no way to pass that information here.  And the personality routine
-        //   can't call us directly and do anything but terminate() if we throw
-        //   from here.
-        if (native_old_exception)
-        {
-            // Have:
-            //   old_exception_header->languageSpecificData
-            //   old_exception_header->actionRecord
-            // Need
-            //   const uint8_t* classInfo
-            //   uint8_t ttypeEncoding
-            uint8_t lpStartEncoding = *lsda++;
-            const uint8_t* lpStart = (const uint8_t*)readEncodedPointer(&lsda, lpStartEncoding);
-            (void)lpStart;  // purposefully unused.  Just needed to increment lsda.
-            uint8_t ttypeEncoding = *lsda++;
-            if (ttypeEncoding == DW_EH_PE_omit)
-                std::__terminate(t_handler);
-            uintptr_t classInfoOffset = readULEB128(&lsda);
-            const uint8_t* classInfo = lsda + classInfoOffset;
-            // Is this new exception catchable by the exception spec at ttypeIndex?
-            // The answer is obviously yes if the new and old exceptions are the same exception
-            // If no
-            //    throw;
-            __cxa_eh_globals* globals = __cxa_get_globals_fast();
-            __cxa_exception* new_exception_header = globals->caughtExceptions;
-            if (new_exception_header == 0)
-                // This shouldn't be able to happen!
-                std::__terminate(t_handler);
-            bool native_new_exception = __isOurExceptionClass(&new_exception_header->unwindHeader);
-            void* adjustedPtr;
-            if (native_new_exception && (new_exception_header != old_exception_header))
-            {
-                const __shim_type_info* excpType =
-                    static_cast<const __shim_type_info*>(new_exception_header->exceptionType);
-                adjustedPtr =
-                    __getExceptionClass(&new_exception_header->unwindHeader) == kOurDependentExceptionClass ?
-                        ((__cxa_dependent_exception*)new_exception_header)->primaryException :
-                        new_exception_header + 1;
-                if (!exception_spec_can_catch(ttypeIndex, classInfo, ttypeEncoding,
-                                              excpType, adjustedPtr, unwind_exception))
-                {
-                    // We need to __cxa_end_catch, but for the old exception,
-                    //   not the new one.  This is a little tricky ...
-                    // Disguise new_exception_header as a rethrown exception, but
-                    //   don't actually rethrow it.  This means you can temporarily
-                    //   end the catch clause enclosing new_exception_header without
-                    //   __cxa_end_catch destroying new_exception_header.
-                    new_exception_header->handlerCount = -new_exception_header->handlerCount;
-                    globals->uncaughtExceptions += 1;
-                    // Call __cxa_end_catch for new_exception_header
-                    __cxa_end_catch();
-                    // Call __cxa_end_catch for old_exception_header
-                    __cxa_end_catch();
-                    // Renter this catch clause with new_exception_header
-                    __cxa_begin_catch(&new_exception_header->unwindHeader);
-                    // Rethrow new_exception_header
-                    throw;
-                }
-            }
-            // Will a std::bad_exception be catchable by the exception spec at
-            //   ttypeIndex?
-            // If no
-            //    throw std::bad_exception();
-            const __shim_type_info* excpType =
-                static_cast<const __shim_type_info*>(&typeid(std::bad_exception));
-            std::bad_exception be;
-            adjustedPtr = &be;
-            if (!exception_spec_can_catch(ttypeIndex, classInfo, ttypeEncoding,
-                                          excpType, adjustedPtr, unwind_exception))
-            {
-                // We need to __cxa_end_catch for both the old exception and the
-                //   new exception.  Technically we should do it in that order.
-                //   But it is expedient to do it in the opposite order:
-                // Call __cxa_end_catch for new_exception_header
-                __cxa_end_catch();
-                // Throw std::bad_exception will __cxa_end_catch for
-                //   old_exception_header
-                throw be;
-            }
-        }
-    }
-    std::__terminate(t_handler);
-}
-
-}  // extern "C"
-
-}  // __cxxabiv1
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_thread_atexit.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_thread_atexit.cpp
deleted file mode 100644
index 392403b..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_thread_atexit.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-//===----------------------- cxa_thread_atexit.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "abort_message.h"
-#include "cxxabi.h"
-#include <__threading_support>
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-#if defined(__unix__) && !defined(__ANDROID__) && defined(__ELF__) && defined(_LIBCXXABI_HAS_COMMENT_LIB_PRAGMA)
-#pragma comment(lib, "pthread")
-#endif
-#endif
-
-#include <cstdlib>
-
-namespace __cxxabiv1 {
-
-  using Dtor = void(*)(void*);
-
-  extern "C"
-#ifndef HAVE___CXA_THREAD_ATEXIT_IMPL
-  // A weak symbol is used to detect this function's presence in the C library
-  // at runtime, even if libc++ is built against an older libc
-  _LIBCXXABI_WEAK
-#endif
-  int __cxa_thread_atexit_impl(Dtor, void*, void*);
-
-#ifndef HAVE___CXA_THREAD_ATEXIT_IMPL
-
-namespace {
-  // This implementation is used if the C library does not provide
-  // __cxa_thread_atexit_impl() for us.  It has a number of limitations that are
-  // difficult to impossible to address without ..._impl():
-  //
-  // - dso_symbol is ignored.  This means that a shared library may be unloaded
-  //   (via dlclose()) before its thread_local destructors have run.
-  //
-  // - thread_local destructors for the main thread are run by the destructor of
-  //   a static object.  This is later than expected; they should run before the
-  //   destructors of any objects with static storage duration.
-  //
-  // - thread_local destructors on non-main threads run on the first iteration
-  //   through the __libccpp_tls_key destructors.
-  //   std::notify_all_at_thread_exit() and similar functions must be careful to
-  //   wait until the second iteration to provide their intended ordering
-  //   guarantees.
-  //
-  // Another limitation, though one shared with ..._impl(), is that any
-  // thread_locals that are first initialized after non-thread_local global
-  // destructors begin to run will not be destroyed.  [basic.start.term] states
-  // that all thread_local destructors are sequenced before the destruction of
-  // objects with static storage duration, resulting in a contradiction if a
-  // thread_local is constructed after that point.  Thus we consider such
-  // programs ill-formed, and don't bother to run those destructors.  (If the
-  // program terminates abnormally after such a thread_local is constructed,
-  // the destructor is not expected to run and thus there is no contradiction.
-  // So construction still has to work.)
-
-  struct DtorList {
-    Dtor dtor;
-    void* obj;
-    DtorList* next;
-  };
-
-  // The linked list of thread-local destructors to run
-  __thread DtorList* dtors = nullptr;
-  // True if the destructors are currently scheduled to run on this thread
-  __thread bool dtors_alive = false;
-  // Used to trigger destructors on thread exit; value is ignored
-  std::__libcpp_tls_key dtors_key;
-
-  void run_dtors(void*) {
-    while (auto head = dtors) {
-      dtors = head->next;
-      head->dtor(head->obj);
-      std::free(head);
-    }
-
-    dtors_alive = false;
-  }
-
-  struct DtorsManager {
-    DtorsManager() {
-      // There is intentionally no matching std::__libcpp_tls_delete call, as
-      // __cxa_thread_atexit() may be called arbitrarily late (for example, from
-      // global destructors or atexit() handlers).
-      if (std::__libcpp_tls_create(&dtors_key, run_dtors) != 0) {
-        abort_message("std::__libcpp_tls_create() failed in __cxa_thread_atexit()");
-      }
-    }
-
-    ~DtorsManager() {
-      // std::__libcpp_tls_key destructors do not run on threads that call exit()
-      // (including when the main thread returns from main()), so we explicitly
-      // call the destructor here.  This runs at exit time (potentially earlier
-      // if libc++abi is dlclose()'d).  Any thread_locals initialized after this
-      // point will not be destroyed.
-      run_dtors(nullptr);
-    }
-  };
-} // namespace
-
-#endif // HAVE___CXA_THREAD_ATEXIT_IMPL
-
-extern "C" {
-
-  _LIBCXXABI_FUNC_VIS int __cxa_thread_atexit(Dtor dtor, void* obj, void* dso_symbol) throw() {
-#ifdef HAVE___CXA_THREAD_ATEXIT_IMPL
-    return __cxa_thread_atexit_impl(dtor, obj, dso_symbol);
-#else
-    if (__cxa_thread_atexit_impl) {
-      return __cxa_thread_atexit_impl(dtor, obj, dso_symbol);
-    } else {
-      // Initialize the dtors std::__libcpp_tls_key (uses __cxa_guard_*() for
-      // one-time initialization and __cxa_atexit() for destruction)
-      static DtorsManager manager;
-
-      if (!dtors_alive) {
-        if (std::__libcpp_tls_set(dtors_key, &dtors_key) != 0) {
-          return -1;
-        }
-        dtors_alive = true;
-      }
-
-      auto head = static_cast<DtorList*>(std::malloc(sizeof(DtorList)));
-      if (!head) {
-        return -1;
-      }
-
-      head->dtor = dtor;
-      head->obj = obj;
-      head->next = dtors;
-      dtors = head;
-
-      return 0;
-    }
-#endif // HAVE___CXA_THREAD_ATEXIT_IMPL
-  }
-
-} // extern "C"
-} // namespace __cxxabiv1
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_vector.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_vector.cpp
deleted file mode 100644
index 3237b1d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/cxa_vector.cpp
+++ /dev/null
@@ -1,421 +0,0 @@
-//===-------------------------- cxa_vector.cpp ---------------------------===//
-//
-// 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
-//
-//  
-//  This file implements the "Array Construction and Destruction APIs"
-//  https://itanium-cxx-abi.github.io/cxx-abi/abi.html#array-ctor
-//  
-//===----------------------------------------------------------------------===//
-
-#include "cxxabi.h"
-#include "__cxxabi_config.h"
-
-#include <exception>        // for std::terminate
-#include <new>              // for std::bad_alloc
-
-#include "abort_message.h"
-
-#ifndef __has_builtin
-#define __has_builtin(x) 0
-#endif
-
-namespace __cxxabiv1 {
-
-#if 0
-#pragma mark --Helper routines and classes --
-#endif
-
-namespace {
-    inline static size_t __get_element_count ( void *p ) {
-        return static_cast <size_t *> (p)[-1];
-        }
-
-    inline static void __set_element_count ( void *p, size_t element_count ) {
-        static_cast <size_t *> (p)[-1] = element_count;
-        }
-
-
-//  A pair of classes to simplify exception handling and control flow.
-//  They get passed a block of memory in the constructor, and unless the
-//  'release' method is called, they deallocate the memory in the destructor.
-//  Preferred usage is to allocate some memory, attach it to one of these objects,
-//  and then, when all the operations to set up the memory block have succeeded,
-//  call 'release'. If any of the setup operations fail, or an exception is
-//  thrown, then the block is automatically deallocated.
-//
-//  The only difference between these two classes is the signature for the
-//  deallocation function (to match new2/new3 and delete2/delete3.
-    class st_heap_block2 {
-    public:
-        typedef void (*dealloc_f)(void *);
-        
-        st_heap_block2 ( dealloc_f dealloc, void *ptr ) 
-            : dealloc_ ( dealloc ), ptr_ ( ptr ), enabled_ ( true ) {}
-        ~st_heap_block2 () { if ( enabled_ ) dealloc_ ( ptr_ ) ; }
-        void release () { enabled_ = false; }
-    
-    private:
-        dealloc_f dealloc_;
-        void *ptr_;
-        bool enabled_;
-    };
-    
-    class st_heap_block3 {
-    public:
-        typedef void (*dealloc_f)(void *, size_t);
-        
-        st_heap_block3 ( dealloc_f dealloc, void *ptr, size_t size ) 
-            : dealloc_ ( dealloc ), ptr_ ( ptr ), size_ ( size ), enabled_ ( true ) {}
-        ~st_heap_block3 () { if ( enabled_ ) dealloc_ ( ptr_, size_ ) ; }
-        void release () { enabled_ = false; }
-    
-    private:
-        dealloc_f dealloc_;
-        void *ptr_;
-        size_t size_;
-        bool enabled_;
-    };
-
-    class st_cxa_cleanup {
-    public:
-        typedef void (*destruct_f)(void *);
-        
-        st_cxa_cleanup ( void *ptr, size_t &idx, size_t element_size, destruct_f destructor )
-            : ptr_ ( ptr ), idx_ ( idx ), element_size_ ( element_size ), 
-                destructor_ ( destructor ), enabled_ ( true ) {}
-        ~st_cxa_cleanup () {
-            if ( enabled_ ) 
-                __cxa_vec_cleanup ( ptr_, idx_, element_size_, destructor_ );
-            }
-        
-        void release () { enabled_ = false; }
-    
-    private:
-        void *ptr_;
-        size_t &idx_;
-        size_t element_size_;
-        destruct_f destructor_;
-        bool enabled_;
-    };
-    
-    class st_terminate {
-    public:
-        st_terminate ( bool enabled = true ) : enabled_ ( enabled ) {}
-        ~st_terminate () { if ( enabled_ ) std::terminate (); }
-        void release () { enabled_ = false; }
-    private:
-        bool enabled_ ;
-    };
-}
-
-#if 0
-#pragma mark --Externally visible routines--
-#endif
-
-namespace {
-_LIBCXXABI_NORETURN
-void throw_bad_array_new_length() {
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-  throw std::bad_array_new_length();
-#else
-  abort_message("__cxa_vec_new failed to allocate memory");
-#endif
-}
-
-bool mul_overflow(size_t x, size_t y, size_t *res) {
-#if (defined(_LIBCXXABI_COMPILER_CLANG) && __has_builtin(__builtin_mul_overflow)) \
-    || defined(_LIBCXXABI_COMPILER_GCC)
-    return __builtin_mul_overflow(x, y, res);
-#else
-    *res = x * y;
-    return x && ((*res / x) != y);
-#endif
-}
-
-bool add_overflow(size_t x, size_t y, size_t *res) {
-#if (defined(_LIBCXXABI_COMPILER_CLANG) && __has_builtin(__builtin_add_overflow)) \
-    || defined(_LIBCXXABI_COMPILER_GCC)
-  return __builtin_add_overflow(x, y, res);
-#else
-  *res = x + y;
-  return *res < y;
-#endif
-}
-
-size_t calculate_allocation_size_or_throw(size_t element_count,
-                                          size_t element_size,
-                                          size_t padding_size) {
-  size_t element_heap_size;
-  if (mul_overflow(element_count, element_size, &element_heap_size))
-    throw_bad_array_new_length();
-
-  size_t allocation_size;
-  if (add_overflow(element_heap_size, padding_size, &allocation_size))
-    throw_bad_array_new_length();
-
-  return allocation_size;
-}
-
-} // namespace
-
-extern "C" {
-
-// Equivalent to
-// 
-//   __cxa_vec_new2(element_count, element_size, padding_size, constructor,
-//                  destructor, &::operator new[], &::operator delete[])
-_LIBCXXABI_FUNC_VIS void *
-__cxa_vec_new(size_t element_count, size_t element_size, size_t padding_size,
-              void (*constructor)(void *), void (*destructor)(void *)) {
-    return __cxa_vec_new2 ( element_count, element_size, padding_size, 
-        constructor, destructor, &::operator new [], &::operator delete [] );
-}
-
-
-// Given the number and size of elements for an array and the non-negative
-// size of prefix padding for a cookie, allocate space (using alloc) for
-// the array preceded by the specified padding, initialize the cookie if
-// the padding is non-zero, and call the given constructor on each element.
-// Return the address of the array proper, after the padding.
-// 
-// If alloc throws an exception, rethrow the exception. If alloc returns
-// NULL, return NULL. If the constructor throws an exception, call
-// destructor for any already constructed elements, and rethrow the
-// exception. If the destructor throws an exception, call std::terminate.
-// 
-// The constructor may be NULL, in which case it must not be called. If the
-// padding_size is zero, the destructor may be NULL; in that case it must
-// not be called.
-// 
-// Neither alloc nor dealloc may be NULL.
-_LIBCXXABI_FUNC_VIS void *
-__cxa_vec_new2(size_t element_count, size_t element_size, size_t padding_size,
-               void (*constructor)(void *), void (*destructor)(void *),
-               void *(*alloc)(size_t), void (*dealloc)(void *)) {
-  const size_t heap_size = calculate_allocation_size_or_throw(
-      element_count, element_size, padding_size);
-  char* const heap_block = static_cast<char*>(alloc(heap_size));
-  char* vec_base = heap_block;
-
-  if (NULL != vec_base) {
-    st_heap_block2 heap(dealloc, heap_block);
-
-    //  put the padding before the array elements
-        if ( 0 != padding_size ) {
-            vec_base += padding_size;
-            __set_element_count ( vec_base, element_count );
-        }
-            
-    //  Construct the elements
-        __cxa_vec_ctor ( vec_base, element_count, element_size, constructor, destructor );
-        heap.release ();    // We're good!
-    }
-    
-    return vec_base;
-}
-
-
-// Same as __cxa_vec_new2 except that the deallocation function takes both
-// the object address and its size.
-_LIBCXXABI_FUNC_VIS void *
-__cxa_vec_new3(size_t element_count, size_t element_size, size_t padding_size,
-               void (*constructor)(void *), void (*destructor)(void *),
-               void *(*alloc)(size_t), void (*dealloc)(void *, size_t)) {
-  const size_t heap_size = calculate_allocation_size_or_throw(
-      element_count, element_size, padding_size);
-  char* const heap_block = static_cast<char*>(alloc(heap_size));
-  char* vec_base = heap_block;
-
-  if (NULL != vec_base) {
-    st_heap_block3 heap(dealloc, heap_block, heap_size);
-
-    //  put the padding before the array elements
-        if ( 0 != padding_size ) {
-            vec_base += padding_size;
-            __set_element_count ( vec_base, element_count );
-        }
-            
-    //  Construct the elements
-        __cxa_vec_ctor ( vec_base, element_count, element_size, constructor, destructor );
-        heap.release ();    // We're good!
-    }
-    
-    return vec_base;
-}
- 
- 
-// Given the (data) addresses of a destination and a source array, an
-// element count and an element size, call the given copy constructor to
-// copy each element from the source array to the destination array. The
-// copy constructor's arguments are the destination address and source
-// address, respectively. If an exception occurs, call the given destructor
-// (if non-NULL) on each copied element and rethrow. If the destructor
-// throws an exception, call terminate(). The constructor and or destructor
-// pointers may be NULL. If either is NULL, no action is taken when it
-// would have been called.
-
-_LIBCXXABI_FUNC_VIS void __cxa_vec_cctor(void *dest_array, void *src_array,
-                                         size_t element_count,
-                                         size_t element_size,
-                                         void (*constructor)(void *, void *),
-                                         void (*destructor)(void *)) {
-    if ( NULL != constructor ) {
-        size_t idx = 0;
-        char *src_ptr  = static_cast<char *>(src_array);
-        char *dest_ptr = static_cast<char *>(dest_array);
-        st_cxa_cleanup cleanup ( dest_array, idx, element_size, destructor );        
-
-        for ( idx = 0; idx < element_count; 
-                    ++idx, src_ptr += element_size, dest_ptr += element_size )
-            constructor ( dest_ptr, src_ptr );
-        cleanup.release ();     // We're good!
-    }
-}
-
-
-// Given the (data) address of an array, not including any cookie padding,
-// and the number and size of its elements, call the given constructor on
-// each element. If the constructor throws an exception, call the given
-// destructor for any already-constructed elements, and rethrow the
-// exception. If the destructor throws an exception, call terminate(). The
-// constructor and/or destructor pointers may be NULL. If either is NULL,
-// no action is taken when it would have been called.
-_LIBCXXABI_FUNC_VIS void
-__cxa_vec_ctor(void *array_address, size_t element_count, size_t element_size,
-               void (*constructor)(void *), void (*destructor)(void *)) {
-    if ( NULL != constructor ) {
-        size_t idx;
-        char *ptr = static_cast <char *> ( array_address );
-        st_cxa_cleanup cleanup ( array_address, idx, element_size, destructor );        
-        
-    //  Construct the elements
-        for ( idx = 0; idx < element_count; ++idx, ptr += element_size )
-            constructor ( ptr );
-        cleanup.release ();     // We're good!
-    }
-}
-
-// Given the (data) address of an array, the number of elements, and the
-// size of its elements, call the given destructor on each element. If the
-// destructor throws an exception, rethrow after destroying the remaining
-// elements if possible. If the destructor throws a second exception, call
-// terminate(). The destructor pointer may be NULL, in which case this
-// routine does nothing.
-_LIBCXXABI_FUNC_VIS void __cxa_vec_dtor(void *array_address,
-                                        size_t element_count,
-                                        size_t element_size,
-                                        void (*destructor)(void *)) {
-    if ( NULL != destructor ) {
-        char *ptr = static_cast <char *> (array_address);
-        size_t idx = element_count;
-        st_cxa_cleanup cleanup ( array_address, idx, element_size, destructor );        
-        {
-            st_terminate exception_guard (__cxa_uncaught_exception ());
-            ptr +=  element_count * element_size;   // one past the last element
-
-            while ( idx-- > 0 ) {
-                ptr -= element_size;
-                destructor ( ptr );
-            }
-            exception_guard.release (); //  We're good !
-        }
-        cleanup.release ();     // We're still good!
-    }
-}
-
-// Given the (data) address of an array, the number of elements, and the
-// size of its elements, call the given destructor on each element. If the
-// destructor throws an exception, call terminate(). The destructor pointer
-// may be NULL, in which case this routine does nothing.
-_LIBCXXABI_FUNC_VIS void __cxa_vec_cleanup(void *array_address,
-                                           size_t element_count,
-                                           size_t element_size,
-                                           void (*destructor)(void *)) {
-    if ( NULL != destructor ) {
-        char *ptr = static_cast <char *> (array_address);
-        size_t idx = element_count;
-        st_terminate exception_guard;
-        
-        ptr += element_count * element_size;    // one past the last element
-        while ( idx-- > 0 ) {
-            ptr -= element_size;
-            destructor ( ptr );
-            }
-        exception_guard.release ();     // We're done!
-    }
-}
-
-
-// If the array_address is NULL, return immediately. Otherwise, given the
-// (data) address of an array, the non-negative size of prefix padding for
-// the cookie, and the size of its elements, call the given destructor on
-// each element, using the cookie to determine the number of elements, and
-// then delete the space by calling ::operator delete[](void *). If the
-// destructor throws an exception, rethrow after (a) destroying the
-// remaining elements, and (b) deallocating the storage. If the destructor
-// throws a second exception, call terminate(). If padding_size is 0, the
-// destructor pointer must be NULL. If the destructor pointer is NULL, no
-// destructor call is to be made.
-// 
-// The intent of this function is to permit an implementation to call this
-// function when confronted with an expression of the form delete[] p in
-// the source code, provided that the default deallocation function can be
-// used. Therefore, the semantics of this function are consistent with
-// those required by the standard. The requirement that the deallocation
-// function be called even if the destructor throws an exception derives
-// from the resolution to DR 353 to the C++ standard, which was adopted in
-// April, 2003.
-_LIBCXXABI_FUNC_VIS void __cxa_vec_delete(void *array_address,
-                                          size_t element_size,
-                                          size_t padding_size,
-                                          void (*destructor)(void *)) {
-    __cxa_vec_delete2 ( array_address, element_size, padding_size,
-               destructor, &::operator delete [] );
-}
-
-// Same as __cxa_vec_delete, except that the given function is used for
-// deallocation instead of the default delete function. If dealloc throws
-// an exception, the result is undefined. The dealloc pointer may not be
-// NULL.
-_LIBCXXABI_FUNC_VIS void
-__cxa_vec_delete2(void *array_address, size_t element_size, size_t padding_size,
-                  void (*destructor)(void *), void (*dealloc)(void *)) {
-    if ( NULL != array_address ) {
-        char *vec_base   = static_cast <char *> (array_address);
-        char *heap_block = vec_base - padding_size;
-        st_heap_block2 heap ( dealloc, heap_block );
-        
-        if ( 0 != padding_size && NULL != destructor ) // call the destructors
-            __cxa_vec_dtor ( array_address, __get_element_count ( vec_base ), 
-                                    element_size, destructor );
-    }
-}
-
-
-// Same as __cxa_vec_delete, except that the given function is used for
-// deallocation instead of the default delete function. The deallocation
-// function takes both the object address and its size. If dealloc throws
-// an exception, the result is undefined. The dealloc pointer may not be
-// NULL.
-_LIBCXXABI_FUNC_VIS void
-__cxa_vec_delete3(void *array_address, size_t element_size, size_t padding_size,
-                  void (*destructor)(void *), void (*dealloc)(void *, size_t)) {
-    if ( NULL != array_address ) {
-        char *vec_base   = static_cast <char *> (array_address);
-        char *heap_block = vec_base - padding_size;
-        const size_t element_count = padding_size ? __get_element_count ( vec_base ) : 0;
-        const size_t heap_block_size = element_size * element_count + padding_size;
-        st_heap_block3 heap ( dealloc, heap_block, heap_block_size );
-
-        if ( 0 != padding_size && NULL != destructor ) // call the destructors
-            __cxa_vec_dtor ( array_address, element_count, element_size, destructor );
-    }
-}
-
-
-}  // extern "C"
-
-}  // abi
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/ItaniumDemangle.h b/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/ItaniumDemangle.h
deleted file mode 100644
index aaccb27..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/ItaniumDemangle.h
+++ /dev/null
@@ -1,5234 +0,0 @@
-//===------------------------- ItaniumDemangle.h ----------------*- 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
-//
-//===----------------------------------------------------------------------===//
-//
-// Generic itanium demangler library. This file has two byte-per-byte identical
-// copies in the source tree, one in libcxxabi, and the other in llvm.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef DEMANGLE_ITANIUMDEMANGLE_H
-#define DEMANGLE_ITANIUMDEMANGLE_H
-
-// FIXME: (possibly) incomplete list of features that clang mangles that this
-// file does not yet support:
-//   - C++ modules TS
-
-#include "DemangleConfig.h"
-#include "StringView.h"
-#include "Utility.h"
-#include <cassert>
-#include <cctype>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <numeric>
-#include <utility>
-
-#define FOR_EACH_NODE_KIND(X) \
-    X(NodeArrayNode) \
-    X(DotSuffix) \
-    X(VendorExtQualType) \
-    X(QualType) \
-    X(ConversionOperatorType) \
-    X(PostfixQualifiedType) \
-    X(ElaboratedTypeSpefType) \
-    X(NameType) \
-    X(AbiTagAttr) \
-    X(EnableIfAttr) \
-    X(ObjCProtoName) \
-    X(PointerType) \
-    X(ReferenceType) \
-    X(PointerToMemberType) \
-    X(ArrayType) \
-    X(FunctionType) \
-    X(NoexceptSpec) \
-    X(DynamicExceptionSpec) \
-    X(FunctionEncoding) \
-    X(LiteralOperator) \
-    X(SpecialName) \
-    X(CtorVtableSpecialName) \
-    X(QualifiedName) \
-    X(NestedName) \
-    X(LocalName) \
-    X(VectorType) \
-    X(PixelVectorType) \
-    X(ParameterPack) \
-    X(TemplateArgumentPack) \
-    X(ParameterPackExpansion) \
-    X(TemplateArgs) \
-    X(ForwardTemplateReference) \
-    X(NameWithTemplateArgs) \
-    X(GlobalQualifiedName) \
-    X(StdQualifiedName) \
-    X(ExpandedSpecialSubstitution) \
-    X(SpecialSubstitution) \
-    X(CtorDtorName) \
-    X(DtorName) \
-    X(UnnamedTypeName) \
-    X(ClosureTypeName) \
-    X(StructuredBindingName) \
-    X(BinaryExpr) \
-    X(ArraySubscriptExpr) \
-    X(PostfixExpr) \
-    X(ConditionalExpr) \
-    X(MemberExpr) \
-    X(EnclosingExpr) \
-    X(CastExpr) \
-    X(SizeofParamPackExpr) \
-    X(CallExpr) \
-    X(NewExpr) \
-    X(DeleteExpr) \
-    X(PrefixExpr) \
-    X(FunctionParam) \
-    X(ConversionExpr) \
-    X(InitListExpr) \
-    X(FoldExpr) \
-    X(ThrowExpr) \
-    X(UUIDOfExpr) \
-    X(BoolExpr) \
-    X(IntegerCastExpr) \
-    X(IntegerLiteral) \
-    X(FloatLiteral) \
-    X(DoubleLiteral) \
-    X(LongDoubleLiteral) \
-    X(BracedExpr) \
-    X(BracedRangeExpr)
-
-DEMANGLE_NAMESPACE_BEGIN
-
-// Base class of all AST nodes. The AST is built by the parser, then is
-// traversed by the printLeft/Right functions to produce a demangled string.
-class Node {
-public:
-  enum Kind : unsigned char {
-#define ENUMERATOR(NodeKind) K ## NodeKind,
-    FOR_EACH_NODE_KIND(ENUMERATOR)
-#undef ENUMERATOR
-  };
-
-  /// Three-way bool to track a cached value. Unknown is possible if this node
-  /// has an unexpanded parameter pack below it that may affect this cache.
-  enum class Cache : unsigned char { Yes, No, Unknown, };
-
-private:
-  Kind K;
-
-  // FIXME: Make these protected.
-public:
-  /// Tracks if this node has a component on its right side, in which case we
-  /// need to call printRight.
-  Cache RHSComponentCache;
-
-  /// Track if this node is a (possibly qualified) array type. This can affect
-  /// how we format the output string.
-  Cache ArrayCache;
-
-  /// Track if this node is a (possibly qualified) function type. This can
-  /// affect how we format the output string.
-  Cache FunctionCache;
-
-public:
-  Node(Kind K_, Cache RHSComponentCache_ = Cache::No,
-       Cache ArrayCache_ = Cache::No, Cache FunctionCache_ = Cache::No)
-      : K(K_), RHSComponentCache(RHSComponentCache_), ArrayCache(ArrayCache_),
-        FunctionCache(FunctionCache_) {}
-
-  /// Visit the most-derived object corresponding to this object.
-  template<typename Fn> void visit(Fn F) const;
-
-  // The following function is provided by all derived classes:
-  //
-  // Call F with arguments that, when passed to the constructor of this node,
-  // would construct an equivalent node.
-  //template<typename Fn> void match(Fn F) const;
-
-  bool hasRHSComponent(OutputStream &S) const {
-    if (RHSComponentCache != Cache::Unknown)
-      return RHSComponentCache == Cache::Yes;
-    return hasRHSComponentSlow(S);
-  }
-
-  bool hasArray(OutputStream &S) const {
-    if (ArrayCache != Cache::Unknown)
-      return ArrayCache == Cache::Yes;
-    return hasArraySlow(S);
-  }
-
-  bool hasFunction(OutputStream &S) const {
-    if (FunctionCache != Cache::Unknown)
-      return FunctionCache == Cache::Yes;
-    return hasFunctionSlow(S);
-  }
-
-  Kind getKind() const { return K; }
-
-  virtual bool hasRHSComponentSlow(OutputStream &) const { return false; }
-  virtual bool hasArraySlow(OutputStream &) const { return false; }
-  virtual bool hasFunctionSlow(OutputStream &) const { return false; }
-
-  // Dig through "glue" nodes like ParameterPack and ForwardTemplateReference to
-  // get at a node that actually represents some concrete syntax.
-  virtual const Node *getSyntaxNode(OutputStream &) const {
-    return this;
-  }
-
-  void print(OutputStream &S) const {
-    printLeft(S);
-    if (RHSComponentCache != Cache::No)
-      printRight(S);
-  }
-
-  // Print the "left" side of this Node into OutputStream.
-  virtual void printLeft(OutputStream &) const = 0;
-
-  // Print the "right". This distinction is necessary to represent C++ types
-  // that appear on the RHS of their subtype, such as arrays or functions.
-  // Since most types don't have such a component, provide a default
-  // implementation.
-  virtual void printRight(OutputStream &) const {}
-
-  virtual StringView getBaseName() const { return StringView(); }
-
-  // Silence compiler warnings, this dtor will never be called.
-  virtual ~Node() = default;
-
-#ifndef NDEBUG
-  DEMANGLE_DUMP_METHOD void dump() const;
-#endif
-};
-
-class NodeArray {
-  Node **Elements;
-  size_t NumElements;
-
-public:
-  NodeArray() : Elements(nullptr), NumElements(0) {}
-  NodeArray(Node **Elements_, size_t NumElements_)
-      : Elements(Elements_), NumElements(NumElements_) {}
-
-  bool empty() const { return NumElements == 0; }
-  size_t size() const { return NumElements; }
-
-  Node **begin() const { return Elements; }
-  Node **end() const { return Elements + NumElements; }
-
-  Node *operator[](size_t Idx) const { return Elements[Idx]; }
-
-  void printWithComma(OutputStream &S) const {
-    bool FirstElement = true;
-    for (size_t Idx = 0; Idx != NumElements; ++Idx) {
-      size_t BeforeComma = S.getCurrentPosition();
-      if (!FirstElement)
-        S += ", ";
-      size_t AfterComma = S.getCurrentPosition();
-      Elements[Idx]->print(S);
-
-      // Elements[Idx] is an empty parameter pack expansion, we should erase the
-      // comma we just printed.
-      if (AfterComma == S.getCurrentPosition()) {
-        S.setCurrentPosition(BeforeComma);
-        continue;
-      }
-
-      FirstElement = false;
-    }
-  }
-};
-
-struct NodeArrayNode : Node {
-  NodeArray Array;
-  NodeArrayNode(NodeArray Array_) : Node(KNodeArrayNode), Array(Array_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Array); }
-
-  void printLeft(OutputStream &S) const override {
-    Array.printWithComma(S);
-  }
-};
-
-class DotSuffix final : public Node {
-  const Node *Prefix;
-  const StringView Suffix;
-
-public:
-  DotSuffix(const Node *Prefix_, StringView Suffix_)
-      : Node(KDotSuffix), Prefix(Prefix_), Suffix(Suffix_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Prefix, Suffix); }
-
-  void printLeft(OutputStream &s) const override {
-    Prefix->print(s);
-    s += " (";
-    s += Suffix;
-    s += ")";
-  }
-};
-
-class VendorExtQualType final : public Node {
-  const Node *Ty;
-  StringView Ext;
-
-public:
-  VendorExtQualType(const Node *Ty_, StringView Ext_)
-      : Node(KVendorExtQualType), Ty(Ty_), Ext(Ext_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Ty, Ext); }
-
-  void printLeft(OutputStream &S) const override {
-    Ty->print(S);
-    S += " ";
-    S += Ext;
-  }
-};
-
-enum FunctionRefQual : unsigned char {
-  FrefQualNone,
-  FrefQualLValue,
-  FrefQualRValue,
-};
-
-enum Qualifiers {
-  QualNone = 0,
-  QualConst = 0x1,
-  QualVolatile = 0x2,
-  QualRestrict = 0x4,
-};
-
-inline Qualifiers operator|=(Qualifiers &Q1, Qualifiers Q2) {
-  return Q1 = static_cast<Qualifiers>(Q1 | Q2);
-}
-
-class QualType : public Node {
-protected:
-  const Qualifiers Quals;
-  const Node *Child;
-
-  void printQuals(OutputStream &S) const {
-    if (Quals & QualConst)
-      S += " const";
-    if (Quals & QualVolatile)
-      S += " volatile";
-    if (Quals & QualRestrict)
-      S += " restrict";
-  }
-
-public:
-  QualType(const Node *Child_, Qualifiers Quals_)
-      : Node(KQualType, Child_->RHSComponentCache,
-             Child_->ArrayCache, Child_->FunctionCache),
-        Quals(Quals_), Child(Child_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Child, Quals); }
-
-  bool hasRHSComponentSlow(OutputStream &S) const override {
-    return Child->hasRHSComponent(S);
-  }
-  bool hasArraySlow(OutputStream &S) const override {
-    return Child->hasArray(S);
-  }
-  bool hasFunctionSlow(OutputStream &S) const override {
-    return Child->hasFunction(S);
-  }
-
-  void printLeft(OutputStream &S) const override {
-    Child->printLeft(S);
-    printQuals(S);
-  }
-
-  void printRight(OutputStream &S) const override { Child->printRight(S); }
-};
-
-class ConversionOperatorType final : public Node {
-  const Node *Ty;
-
-public:
-  ConversionOperatorType(const Node *Ty_)
-      : Node(KConversionOperatorType), Ty(Ty_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Ty); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "operator ";
-    Ty->print(S);
-  }
-};
-
-class PostfixQualifiedType final : public Node {
-  const Node *Ty;
-  const StringView Postfix;
-
-public:
-  PostfixQualifiedType(Node *Ty_, StringView Postfix_)
-      : Node(KPostfixQualifiedType), Ty(Ty_), Postfix(Postfix_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Ty, Postfix); }
-
-  void printLeft(OutputStream &s) const override {
-    Ty->printLeft(s);
-    s += Postfix;
-  }
-};
-
-class NameType final : public Node {
-  const StringView Name;
-
-public:
-  NameType(StringView Name_) : Node(KNameType), Name(Name_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Name); }
-
-  StringView getName() const { return Name; }
-  StringView getBaseName() const override { return Name; }
-
-  void printLeft(OutputStream &s) const override { s += Name; }
-};
-
-class ElaboratedTypeSpefType : public Node {
-  StringView Kind;
-  Node *Child;
-public:
-  ElaboratedTypeSpefType(StringView Kind_, Node *Child_)
-      : Node(KElaboratedTypeSpefType), Kind(Kind_), Child(Child_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Kind, Child); }
-
-  void printLeft(OutputStream &S) const override {
-    S += Kind;
-    S += ' ';
-    Child->print(S);
-  }
-};
-
-struct AbiTagAttr : Node {
-  Node *Base;
-  StringView Tag;
-
-  AbiTagAttr(Node* Base_, StringView Tag_)
-      : Node(KAbiTagAttr, Base_->RHSComponentCache,
-             Base_->ArrayCache, Base_->FunctionCache),
-        Base(Base_), Tag(Tag_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Base, Tag); }
-
-  void printLeft(OutputStream &S) const override {
-    Base->printLeft(S);
-    S += "[abi:";
-    S += Tag;
-    S += "]";
-  }
-};
-
-class EnableIfAttr : public Node {
-  NodeArray Conditions;
-public:
-  EnableIfAttr(NodeArray Conditions_)
-      : Node(KEnableIfAttr), Conditions(Conditions_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Conditions); }
-
-  void printLeft(OutputStream &S) const override {
-    S += " [enable_if:";
-    Conditions.printWithComma(S);
-    S += ']';
-  }
-};
-
-class ObjCProtoName : public Node {
-  const Node *Ty;
-  StringView Protocol;
-
-  friend class PointerType;
-
-public:
-  ObjCProtoName(const Node *Ty_, StringView Protocol_)
-      : Node(KObjCProtoName), Ty(Ty_), Protocol(Protocol_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Ty, Protocol); }
-
-  bool isObjCObject() const {
-    return Ty->getKind() == KNameType &&
-           static_cast<const NameType *>(Ty)->getName() == "objc_object";
-  }
-
-  void printLeft(OutputStream &S) const override {
-    Ty->print(S);
-    S += "<";
-    S += Protocol;
-    S += ">";
-  }
-};
-
-class PointerType final : public Node {
-  const Node *Pointee;
-
-public:
-  PointerType(const Node *Pointee_)
-      : Node(KPointerType, Pointee_->RHSComponentCache),
-        Pointee(Pointee_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Pointee); }
-
-  bool hasRHSComponentSlow(OutputStream &S) const override {
-    return Pointee->hasRHSComponent(S);
-  }
-
-  void printLeft(OutputStream &s) const override {
-    // We rewrite objc_object<SomeProtocol>* into id<SomeProtocol>.
-    if (Pointee->getKind() != KObjCProtoName ||
-        !static_cast<const ObjCProtoName *>(Pointee)->isObjCObject()) {
-      Pointee->printLeft(s);
-      if (Pointee->hasArray(s))
-        s += " ";
-      if (Pointee->hasArray(s) || Pointee->hasFunction(s))
-        s += "(";
-      s += "*";
-    } else {
-      const auto *objcProto = static_cast<const ObjCProtoName *>(Pointee);
-      s += "id<";
-      s += objcProto->Protocol;
-      s += ">";
-    }
-  }
-
-  void printRight(OutputStream &s) const override {
-    if (Pointee->getKind() != KObjCProtoName ||
-        !static_cast<const ObjCProtoName *>(Pointee)->isObjCObject()) {
-      if (Pointee->hasArray(s) || Pointee->hasFunction(s))
-        s += ")";
-      Pointee->printRight(s);
-    }
-  }
-};
-
-enum class ReferenceKind {
-  LValue,
-  RValue,
-};
-
-// Represents either a LValue or an RValue reference type.
-class ReferenceType : public Node {
-  const Node *Pointee;
-  ReferenceKind RK;
-
-  mutable bool Printing = false;
-
-  // Dig through any refs to refs, collapsing the ReferenceTypes as we go. The
-  // rule here is rvalue ref to rvalue ref collapses to a rvalue ref, and any
-  // other combination collapses to a lvalue ref.
-  std::pair<ReferenceKind, const Node *> collapse(OutputStream &S) const {
-    auto SoFar = std::make_pair(RK, Pointee);
-    for (;;) {
-      const Node *SN = SoFar.second->getSyntaxNode(S);
-      if (SN->getKind() != KReferenceType)
-        break;
-      auto *RT = static_cast<const ReferenceType *>(SN);
-      SoFar.second = RT->Pointee;
-      SoFar.first = std::min(SoFar.first, RT->RK);
-    }
-    return SoFar;
-  }
-
-public:
-  ReferenceType(const Node *Pointee_, ReferenceKind RK_)
-      : Node(KReferenceType, Pointee_->RHSComponentCache),
-        Pointee(Pointee_), RK(RK_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Pointee, RK); }
-
-  bool hasRHSComponentSlow(OutputStream &S) const override {
-    return Pointee->hasRHSComponent(S);
-  }
-
-  void printLeft(OutputStream &s) const override {
-    if (Printing)
-      return;
-    SwapAndRestore<bool> SavePrinting(Printing, true);
-    std::pair<ReferenceKind, const Node *> Collapsed = collapse(s);
-    Collapsed.second->printLeft(s);
-    if (Collapsed.second->hasArray(s))
-      s += " ";
-    if (Collapsed.second->hasArray(s) || Collapsed.second->hasFunction(s))
-      s += "(";
-
-    s += (Collapsed.first == ReferenceKind::LValue ? "&" : "&&");
-  }
-  void printRight(OutputStream &s) const override {
-    if (Printing)
-      return;
-    SwapAndRestore<bool> SavePrinting(Printing, true);
-    std::pair<ReferenceKind, const Node *> Collapsed = collapse(s);
-    if (Collapsed.second->hasArray(s) || Collapsed.second->hasFunction(s))
-      s += ")";
-    Collapsed.second->printRight(s);
-  }
-};
-
-class PointerToMemberType final : public Node {
-  const Node *ClassType;
-  const Node *MemberType;
-
-public:
-  PointerToMemberType(const Node *ClassType_, const Node *MemberType_)
-      : Node(KPointerToMemberType, MemberType_->RHSComponentCache),
-        ClassType(ClassType_), MemberType(MemberType_) {}
-
-  template<typename Fn> void match(Fn F) const { F(ClassType, MemberType); }
-
-  bool hasRHSComponentSlow(OutputStream &S) const override {
-    return MemberType->hasRHSComponent(S);
-  }
-
-  void printLeft(OutputStream &s) const override {
-    MemberType->printLeft(s);
-    if (MemberType->hasArray(s) || MemberType->hasFunction(s))
-      s += "(";
-    else
-      s += " ";
-    ClassType->print(s);
-    s += "::*";
-  }
-
-  void printRight(OutputStream &s) const override {
-    if (MemberType->hasArray(s) || MemberType->hasFunction(s))
-      s += ")";
-    MemberType->printRight(s);
-  }
-};
-
-class NodeOrString {
-  const void *First;
-  const void *Second;
-
-public:
-  /* implicit */ NodeOrString(StringView Str) {
-    const char *FirstChar = Str.begin();
-    const char *SecondChar = Str.end();
-    if (SecondChar == nullptr) {
-      assert(FirstChar == SecondChar);
-      ++FirstChar, ++SecondChar;
-    }
-    First = static_cast<const void *>(FirstChar);
-    Second = static_cast<const void *>(SecondChar);
-  }
-
-  /* implicit */ NodeOrString(Node *N)
-      : First(static_cast<const void *>(N)), Second(nullptr) {}
-  NodeOrString() : First(nullptr), Second(nullptr) {}
-
-  bool isString() const { return Second && First; }
-  bool isNode() const { return First && !Second; }
-  bool isEmpty() const { return !First && !Second; }
-
-  StringView asString() const {
-    assert(isString());
-    return StringView(static_cast<const char *>(First),
-                      static_cast<const char *>(Second));
-  }
-
-  const Node *asNode() const {
-    assert(isNode());
-    return static_cast<const Node *>(First);
-  }
-};
-
-class ArrayType final : public Node {
-  const Node *Base;
-  NodeOrString Dimension;
-
-public:
-  ArrayType(const Node *Base_, NodeOrString Dimension_)
-      : Node(KArrayType,
-             /*RHSComponentCache=*/Cache::Yes,
-             /*ArrayCache=*/Cache::Yes),
-        Base(Base_), Dimension(Dimension_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Base, Dimension); }
-
-  bool hasRHSComponentSlow(OutputStream &) const override { return true; }
-  bool hasArraySlow(OutputStream &) const override { return true; }
-
-  void printLeft(OutputStream &S) const override { Base->printLeft(S); }
-
-  void printRight(OutputStream &S) const override {
-    if (S.back() != ']')
-      S += " ";
-    S += "[";
-    if (Dimension.isString())
-      S += Dimension.asString();
-    else if (Dimension.isNode())
-      Dimension.asNode()->print(S);
-    S += "]";
-    Base->printRight(S);
-  }
-};
-
-class FunctionType final : public Node {
-  const Node *Ret;
-  NodeArray Params;
-  Qualifiers CVQuals;
-  FunctionRefQual RefQual;
-  const Node *ExceptionSpec;
-
-public:
-  FunctionType(const Node *Ret_, NodeArray Params_, Qualifiers CVQuals_,
-               FunctionRefQual RefQual_, const Node *ExceptionSpec_)
-      : Node(KFunctionType,
-             /*RHSComponentCache=*/Cache::Yes, /*ArrayCache=*/Cache::No,
-             /*FunctionCache=*/Cache::Yes),
-        Ret(Ret_), Params(Params_), CVQuals(CVQuals_), RefQual(RefQual_),
-        ExceptionSpec(ExceptionSpec_) {}
-
-  template<typename Fn> void match(Fn F) const {
-    F(Ret, Params, CVQuals, RefQual, ExceptionSpec);
-  }
-
-  bool hasRHSComponentSlow(OutputStream &) const override { return true; }
-  bool hasFunctionSlow(OutputStream &) const override { return true; }
-
-  // Handle C++'s ... quirky decl grammar by using the left & right
-  // distinction. Consider:
-  //   int (*f(float))(char) {}
-  // f is a function that takes a float and returns a pointer to a function
-  // that takes a char and returns an int. If we're trying to print f, start
-  // by printing out the return types's left, then print our parameters, then
-  // finally print right of the return type.
-  void printLeft(OutputStream &S) const override {
-    Ret->printLeft(S);
-    S += " ";
-  }
-
-  void printRight(OutputStream &S) const override {
-    S += "(";
-    Params.printWithComma(S);
-    S += ")";
-    Ret->printRight(S);
-
-    if (CVQuals & QualConst)
-      S += " const";
-    if (CVQuals & QualVolatile)
-      S += " volatile";
-    if (CVQuals & QualRestrict)
-      S += " restrict";
-
-    if (RefQual == FrefQualLValue)
-      S += " &";
-    else if (RefQual == FrefQualRValue)
-      S += " &&";
-
-    if (ExceptionSpec != nullptr) {
-      S += ' ';
-      ExceptionSpec->print(S);
-    }
-  }
-};
-
-class NoexceptSpec : public Node {
-  const Node *E;
-public:
-  NoexceptSpec(const Node *E_) : Node(KNoexceptSpec), E(E_) {}
-
-  template<typename Fn> void match(Fn F) const { F(E); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "noexcept(";
-    E->print(S);
-    S += ")";
-  }
-};
-
-class DynamicExceptionSpec : public Node {
-  NodeArray Types;
-public:
-  DynamicExceptionSpec(NodeArray Types_)
-      : Node(KDynamicExceptionSpec), Types(Types_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Types); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "throw(";
-    Types.printWithComma(S);
-    S += ')';
-  }
-};
-
-class FunctionEncoding final : public Node {
-  const Node *Ret;
-  const Node *Name;
-  NodeArray Params;
-  const Node *Attrs;
-  Qualifiers CVQuals;
-  FunctionRefQual RefQual;
-
-public:
-  FunctionEncoding(const Node *Ret_, const Node *Name_, NodeArray Params_,
-                   const Node *Attrs_, Qualifiers CVQuals_,
-                   FunctionRefQual RefQual_)
-      : Node(KFunctionEncoding,
-             /*RHSComponentCache=*/Cache::Yes, /*ArrayCache=*/Cache::No,
-             /*FunctionCache=*/Cache::Yes),
-        Ret(Ret_), Name(Name_), Params(Params_), Attrs(Attrs_),
-        CVQuals(CVQuals_), RefQual(RefQual_) {}
-
-  template<typename Fn> void match(Fn F) const {
-    F(Ret, Name, Params, Attrs, CVQuals, RefQual);
-  }
-
-  Qualifiers getCVQuals() const { return CVQuals; }
-  FunctionRefQual getRefQual() const { return RefQual; }
-  NodeArray getParams() const { return Params; }
-  const Node *getReturnType() const { return Ret; }
-
-  bool hasRHSComponentSlow(OutputStream &) const override { return true; }
-  bool hasFunctionSlow(OutputStream &) const override { return true; }
-
-  const Node *getName() const { return Name; }
-
-  void printLeft(OutputStream &S) const override {
-    if (Ret) {
-      Ret->printLeft(S);
-      if (!Ret->hasRHSComponent(S))
-        S += " ";
-    }
-    Name->print(S);
-  }
-
-  void printRight(OutputStream &S) const override {
-    S += "(";
-    Params.printWithComma(S);
-    S += ")";
-    if (Ret)
-      Ret->printRight(S);
-
-    if (CVQuals & QualConst)
-      S += " const";
-    if (CVQuals & QualVolatile)
-      S += " volatile";
-    if (CVQuals & QualRestrict)
-      S += " restrict";
-
-    if (RefQual == FrefQualLValue)
-      S += " &";
-    else if (RefQual == FrefQualRValue)
-      S += " &&";
-
-    if (Attrs != nullptr)
-      Attrs->print(S);
-  }
-};
-
-class LiteralOperator : public Node {
-  const Node *OpName;
-
-public:
-  LiteralOperator(const Node *OpName_)
-      : Node(KLiteralOperator), OpName(OpName_) {}
-
-  template<typename Fn> void match(Fn F) const { F(OpName); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "operator\"\" ";
-    OpName->print(S);
-  }
-};
-
-class SpecialName final : public Node {
-  const StringView Special;
-  const Node *Child;
-
-public:
-  SpecialName(StringView Special_, const Node *Child_)
-      : Node(KSpecialName), Special(Special_), Child(Child_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Special, Child); }
-
-  void printLeft(OutputStream &S) const override {
-    S += Special;
-    Child->print(S);
-  }
-};
-
-class CtorVtableSpecialName final : public Node {
-  const Node *FirstType;
-  const Node *SecondType;
-
-public:
-  CtorVtableSpecialName(const Node *FirstType_, const Node *SecondType_)
-      : Node(KCtorVtableSpecialName),
-        FirstType(FirstType_), SecondType(SecondType_) {}
-
-  template<typename Fn> void match(Fn F) const { F(FirstType, SecondType); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "construction vtable for ";
-    FirstType->print(S);
-    S += "-in-";
-    SecondType->print(S);
-  }
-};
-
-struct NestedName : Node {
-  Node *Qual;
-  Node *Name;
-
-  NestedName(Node *Qual_, Node *Name_)
-      : Node(KNestedName), Qual(Qual_), Name(Name_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Qual, Name); }
-
-  StringView getBaseName() const override { return Name->getBaseName(); }
-
-  void printLeft(OutputStream &S) const override {
-    Qual->print(S);
-    S += "::";
-    Name->print(S);
-  }
-};
-
-struct LocalName : Node {
-  Node *Encoding;
-  Node *Entity;
-
-  LocalName(Node *Encoding_, Node *Entity_)
-      : Node(KLocalName), Encoding(Encoding_), Entity(Entity_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Encoding, Entity); }
-
-  void printLeft(OutputStream &S) const override {
-    Encoding->print(S);
-    S += "::";
-    Entity->print(S);
-  }
-};
-
-class QualifiedName final : public Node {
-  // qualifier::name
-  const Node *Qualifier;
-  const Node *Name;
-
-public:
-  QualifiedName(const Node *Qualifier_, const Node *Name_)
-      : Node(KQualifiedName), Qualifier(Qualifier_), Name(Name_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Qualifier, Name); }
-
-  StringView getBaseName() const override { return Name->getBaseName(); }
-
-  void printLeft(OutputStream &S) const override {
-    Qualifier->print(S);
-    S += "::";
-    Name->print(S);
-  }
-};
-
-class VectorType final : public Node {
-  const Node *BaseType;
-  const NodeOrString Dimension;
-
-public:
-  VectorType(const Node *BaseType_, NodeOrString Dimension_)
-      : Node(KVectorType), BaseType(BaseType_),
-        Dimension(Dimension_) {}
-
-  template<typename Fn> void match(Fn F) const { F(BaseType, Dimension); }
-
-  void printLeft(OutputStream &S) const override {
-    BaseType->print(S);
-    S += " vector[";
-    if (Dimension.isNode())
-      Dimension.asNode()->print(S);
-    else if (Dimension.isString())
-      S += Dimension.asString();
-    S += "]";
-  }
-};
-
-class PixelVectorType final : public Node {
-  const NodeOrString Dimension;
-
-public:
-  PixelVectorType(NodeOrString Dimension_)
-      : Node(KPixelVectorType), Dimension(Dimension_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Dimension); }
-
-  void printLeft(OutputStream &S) const override {
-    // FIXME: This should demangle as "vector pixel".
-    S += "pixel vector[";
-    S += Dimension.asString();
-    S += "]";
-  }
-};
-
-/// An unexpanded parameter pack (either in the expression or type context). If
-/// this AST is correct, this node will have a ParameterPackExpansion node above
-/// it.
-///
-/// This node is created when some <template-args> are found that apply to an
-/// <encoding>, and is stored in the TemplateParams table. In order for this to
-/// appear in the final AST, it has to referenced via a <template-param> (ie,
-/// T_).
-class ParameterPack final : public Node {
-  NodeArray Data;
-
-  // Setup OutputStream for a pack expansion unless we're already expanding one.
-  void initializePackExpansion(OutputStream &S) const {
-    if (S.CurrentPackMax == std::numeric_limits<unsigned>::max()) {
-      S.CurrentPackMax = static_cast<unsigned>(Data.size());
-      S.CurrentPackIndex = 0;
-    }
-  }
-
-public:
-  ParameterPack(NodeArray Data_) : Node(KParameterPack), Data(Data_) {
-    ArrayCache = FunctionCache = RHSComponentCache = Cache::Unknown;
-    if (std::all_of(Data.begin(), Data.end(), [](Node* P) {
-          return P->ArrayCache == Cache::No;
-        }))
-      ArrayCache = Cache::No;
-    if (std::all_of(Data.begin(), Data.end(), [](Node* P) {
-          return P->FunctionCache == Cache::No;
-        }))
-      FunctionCache = Cache::No;
-    if (std::all_of(Data.begin(), Data.end(), [](Node* P) {
-          return P->RHSComponentCache == Cache::No;
-        }))
-      RHSComponentCache = Cache::No;
-  }
-
-  template<typename Fn> void match(Fn F) const { F(Data); }
-
-  bool hasRHSComponentSlow(OutputStream &S) const override {
-    initializePackExpansion(S);
-    size_t Idx = S.CurrentPackIndex;
-    return Idx < Data.size() && Data[Idx]->hasRHSComponent(S);
-  }
-  bool hasArraySlow(OutputStream &S) const override {
-    initializePackExpansion(S);
-    size_t Idx = S.CurrentPackIndex;
-    return Idx < Data.size() && Data[Idx]->hasArray(S);
-  }
-  bool hasFunctionSlow(OutputStream &S) const override {
-    initializePackExpansion(S);
-    size_t Idx = S.CurrentPackIndex;
-    return Idx < Data.size() && Data[Idx]->hasFunction(S);
-  }
-  const Node *getSyntaxNode(OutputStream &S) const override {
-    initializePackExpansion(S);
-    size_t Idx = S.CurrentPackIndex;
-    return Idx < Data.size() ? Data[Idx]->getSyntaxNode(S) : this;
-  }
-
-  void printLeft(OutputStream &S) const override {
-    initializePackExpansion(S);
-    size_t Idx = S.CurrentPackIndex;
-    if (Idx < Data.size())
-      Data[Idx]->printLeft(S);
-  }
-  void printRight(OutputStream &S) const override {
-    initializePackExpansion(S);
-    size_t Idx = S.CurrentPackIndex;
-    if (Idx < Data.size())
-      Data[Idx]->printRight(S);
-  }
-};
-
-/// A variadic template argument. This node represents an occurrence of
-/// J<something>E in some <template-args>. It isn't itself unexpanded, unless
-/// one of it's Elements is. The parser inserts a ParameterPack into the
-/// TemplateParams table if the <template-args> this pack belongs to apply to an
-/// <encoding>.
-class TemplateArgumentPack final : public Node {
-  NodeArray Elements;
-public:
-  TemplateArgumentPack(NodeArray Elements_)
-      : Node(KTemplateArgumentPack), Elements(Elements_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Elements); }
-
-  NodeArray getElements() const { return Elements; }
-
-  void printLeft(OutputStream &S) const override {
-    Elements.printWithComma(S);
-  }
-};
-
-/// A pack expansion. Below this node, there are some unexpanded ParameterPacks
-/// which each have Child->ParameterPackSize elements.
-class ParameterPackExpansion final : public Node {
-  const Node *Child;
-
-public:
-  ParameterPackExpansion(const Node *Child_)
-      : Node(KParameterPackExpansion), Child(Child_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Child); }
-
-  const Node *getChild() const { return Child; }
-
-  void printLeft(OutputStream &S) const override {
-    constexpr unsigned Max = std::numeric_limits<unsigned>::max();
-    SwapAndRestore<unsigned> SavePackIdx(S.CurrentPackIndex, Max);
-    SwapAndRestore<unsigned> SavePackMax(S.CurrentPackMax, Max);
-    size_t StreamPos = S.getCurrentPosition();
-
-    // Print the first element in the pack. If Child contains a ParameterPack,
-    // it will set up S.CurrentPackMax and print the first element.
-    Child->print(S);
-
-    // No ParameterPack was found in Child. This can occur if we've found a pack
-    // expansion on a <function-param>.
-    if (S.CurrentPackMax == Max) {
-      S += "...";
-      return;
-    }
-
-    // We found a ParameterPack, but it has no elements. Erase whatever we may
-    // of printed.
-    if (S.CurrentPackMax == 0) {
-      S.setCurrentPosition(StreamPos);
-      return;
-    }
-
-    // Else, iterate through the rest of the elements in the pack.
-    for (unsigned I = 1, E = S.CurrentPackMax; I < E; ++I) {
-      S += ", ";
-      S.CurrentPackIndex = I;
-      Child->print(S);
-    }
-  }
-};
-
-class TemplateArgs final : public Node {
-  NodeArray Params;
-
-public:
-  TemplateArgs(NodeArray Params_) : Node(KTemplateArgs), Params(Params_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Params); }
-
-  NodeArray getParams() { return Params; }
-
-  void printLeft(OutputStream &S) const override {
-    S += "<";
-    Params.printWithComma(S);
-    if (S.back() == '>')
-      S += " ";
-    S += ">";
-  }
-};
-
-/// A forward-reference to a template argument that was not known at the point
-/// where the template parameter name was parsed in a mangling.
-///
-/// This is created when demangling the name of a specialization of a
-/// conversion function template:
-///
-/// \code
-/// struct A {
-///   template<typename T> operator T*();
-/// };
-/// \endcode
-///
-/// When demangling a specialization of the conversion function template, we
-/// encounter the name of the template (including the \c T) before we reach
-/// the template argument list, so we cannot substitute the parameter name
-/// for the corresponding argument while parsing. Instead, we create a
-/// \c ForwardTemplateReference node that is resolved after we parse the
-/// template arguments.
-struct ForwardTemplateReference : Node {
-  size_t Index;
-  Node *Ref = nullptr;
-
-  // If we're currently printing this node. It is possible (though invalid) for
-  // a forward template reference to refer to itself via a substitution. This
-  // creates a cyclic AST, which will stack overflow printing. To fix this, bail
-  // out if more than one print* function is active.
-  mutable bool Printing = false;
-
-  ForwardTemplateReference(size_t Index_)
-      : Node(KForwardTemplateReference, Cache::Unknown, Cache::Unknown,
-             Cache::Unknown),
-        Index(Index_) {}
-
-  // We don't provide a matcher for these, because the value of the node is
-  // not determined by its construction parameters, and it generally needs
-  // special handling.
-  template<typename Fn> void match(Fn F) const = delete;
-
-  bool hasRHSComponentSlow(OutputStream &S) const override {
-    if (Printing)
-      return false;
-    SwapAndRestore<bool> SavePrinting(Printing, true);
-    return Ref->hasRHSComponent(S);
-  }
-  bool hasArraySlow(OutputStream &S) const override {
-    if (Printing)
-      return false;
-    SwapAndRestore<bool> SavePrinting(Printing, true);
-    return Ref->hasArray(S);
-  }
-  bool hasFunctionSlow(OutputStream &S) const override {
-    if (Printing)
-      return false;
-    SwapAndRestore<bool> SavePrinting(Printing, true);
-    return Ref->hasFunction(S);
-  }
-  const Node *getSyntaxNode(OutputStream &S) const override {
-    if (Printing)
-      return this;
-    SwapAndRestore<bool> SavePrinting(Printing, true);
-    return Ref->getSyntaxNode(S);
-  }
-
-  void printLeft(OutputStream &S) const override {
-    if (Printing)
-      return;
-    SwapAndRestore<bool> SavePrinting(Printing, true);
-    Ref->printLeft(S);
-  }
-  void printRight(OutputStream &S) const override {
-    if (Printing)
-      return;
-    SwapAndRestore<bool> SavePrinting(Printing, true);
-    Ref->printRight(S);
-  }
-};
-
-struct NameWithTemplateArgs : Node {
-  // name<template_args>
-  Node *Name;
-  Node *TemplateArgs;
-
-  NameWithTemplateArgs(Node *Name_, Node *TemplateArgs_)
-      : Node(KNameWithTemplateArgs), Name(Name_), TemplateArgs(TemplateArgs_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Name, TemplateArgs); }
-
-  StringView getBaseName() const override { return Name->getBaseName(); }
-
-  void printLeft(OutputStream &S) const override {
-    Name->print(S);
-    TemplateArgs->print(S);
-  }
-};
-
-class GlobalQualifiedName final : public Node {
-  Node *Child;
-
-public:
-  GlobalQualifiedName(Node* Child_)
-      : Node(KGlobalQualifiedName), Child(Child_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Child); }
-
-  StringView getBaseName() const override { return Child->getBaseName(); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "::";
-    Child->print(S);
-  }
-};
-
-struct StdQualifiedName : Node {
-  Node *Child;
-
-  StdQualifiedName(Node *Child_) : Node(KStdQualifiedName), Child(Child_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Child); }
-
-  StringView getBaseName() const override { return Child->getBaseName(); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "std::";
-    Child->print(S);
-  }
-};
-
-enum class SpecialSubKind {
-  allocator,
-  basic_string,
-  string,
-  istream,
-  ostream,
-  iostream,
-};
-
-class ExpandedSpecialSubstitution final : public Node {
-  SpecialSubKind SSK;
-
-public:
-  ExpandedSpecialSubstitution(SpecialSubKind SSK_)
-      : Node(KExpandedSpecialSubstitution), SSK(SSK_) {}
-
-  template<typename Fn> void match(Fn F) const { F(SSK); }
-
-  StringView getBaseName() const override {
-    switch (SSK) {
-    case SpecialSubKind::allocator:
-      return StringView("allocator");
-    case SpecialSubKind::basic_string:
-      return StringView("basic_string");
-    case SpecialSubKind::string:
-      return StringView("basic_string");
-    case SpecialSubKind::istream:
-      return StringView("basic_istream");
-    case SpecialSubKind::ostream:
-      return StringView("basic_ostream");
-    case SpecialSubKind::iostream:
-      return StringView("basic_iostream");
-    }
-    DEMANGLE_UNREACHABLE;
-  }
-
-  void printLeft(OutputStream &S) const override {
-    switch (SSK) {
-    case SpecialSubKind::allocator:
-      S += "std::allocator";
-      break;
-    case SpecialSubKind::basic_string:
-      S += "std::basic_string";
-      break;
-    case SpecialSubKind::string:
-      S += "std::basic_string<char, std::char_traits<char>, "
-           "std::allocator<char> >";
-      break;
-    case SpecialSubKind::istream:
-      S += "std::basic_istream<char, std::char_traits<char> >";
-      break;
-    case SpecialSubKind::ostream:
-      S += "std::basic_ostream<char, std::char_traits<char> >";
-      break;
-    case SpecialSubKind::iostream:
-      S += "std::basic_iostream<char, std::char_traits<char> >";
-      break;
-    }
-  }
-};
-
-class SpecialSubstitution final : public Node {
-public:
-  SpecialSubKind SSK;
-
-  SpecialSubstitution(SpecialSubKind SSK_)
-      : Node(KSpecialSubstitution), SSK(SSK_) {}
-
-  template<typename Fn> void match(Fn F) const { F(SSK); }
-
-  StringView getBaseName() const override {
-    switch (SSK) {
-    case SpecialSubKind::allocator:
-      return StringView("allocator");
-    case SpecialSubKind::basic_string:
-      return StringView("basic_string");
-    case SpecialSubKind::string:
-      return StringView("string");
-    case SpecialSubKind::istream:
-      return StringView("istream");
-    case SpecialSubKind::ostream:
-      return StringView("ostream");
-    case SpecialSubKind::iostream:
-      return StringView("iostream");
-    }
-    DEMANGLE_UNREACHABLE;
-  }
-
-  void printLeft(OutputStream &S) const override {
-    switch (SSK) {
-    case SpecialSubKind::allocator:
-      S += "std::allocator";
-      break;
-    case SpecialSubKind::basic_string:
-      S += "std::basic_string";
-      break;
-    case SpecialSubKind::string:
-      S += "std::string";
-      break;
-    case SpecialSubKind::istream:
-      S += "std::istream";
-      break;
-    case SpecialSubKind::ostream:
-      S += "std::ostream";
-      break;
-    case SpecialSubKind::iostream:
-      S += "std::iostream";
-      break;
-    }
-  }
-};
-
-class CtorDtorName final : public Node {
-  const Node *Basename;
-  const bool IsDtor;
-  const int Variant;
-
-public:
-  CtorDtorName(const Node *Basename_, bool IsDtor_, int Variant_)
-      : Node(KCtorDtorName), Basename(Basename_), IsDtor(IsDtor_),
-        Variant(Variant_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Basename, IsDtor, Variant); }
-
-  void printLeft(OutputStream &S) const override {
-    if (IsDtor)
-      S += "~";
-    S += Basename->getBaseName();
-  }
-};
-
-class DtorName : public Node {
-  const Node *Base;
-
-public:
-  DtorName(const Node *Base_) : Node(KDtorName), Base(Base_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Base); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "~";
-    Base->printLeft(S);
-  }
-};
-
-class UnnamedTypeName : public Node {
-  const StringView Count;
-
-public:
-  UnnamedTypeName(StringView Count_) : Node(KUnnamedTypeName), Count(Count_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Count); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "'unnamed";
-    S += Count;
-    S += "\'";
-  }
-};
-
-class ClosureTypeName : public Node {
-  NodeArray Params;
-  StringView Count;
-
-public:
-  ClosureTypeName(NodeArray Params_, StringView Count_)
-      : Node(KClosureTypeName), Params(Params_), Count(Count_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Params, Count); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "\'lambda";
-    S += Count;
-    S += "\'(";
-    Params.printWithComma(S);
-    S += ")";
-  }
-};
-
-class StructuredBindingName : public Node {
-  NodeArray Bindings;
-public:
-  StructuredBindingName(NodeArray Bindings_)
-      : Node(KStructuredBindingName), Bindings(Bindings_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Bindings); }
-
-  void printLeft(OutputStream &S) const override {
-    S += '[';
-    Bindings.printWithComma(S);
-    S += ']';
-  }
-};
-
-// -- Expression Nodes --
-
-class BinaryExpr : public Node {
-  const Node *LHS;
-  const StringView InfixOperator;
-  const Node *RHS;
-
-public:
-  BinaryExpr(const Node *LHS_, StringView InfixOperator_, const Node *RHS_)
-      : Node(KBinaryExpr), LHS(LHS_), InfixOperator(InfixOperator_), RHS(RHS_) {
-  }
-
-  template<typename Fn> void match(Fn F) const { F(LHS, InfixOperator, RHS); }
-
-  void printLeft(OutputStream &S) const override {
-    // might be a template argument expression, then we need to disambiguate
-    // with parens.
-    if (InfixOperator == ">")
-      S += "(";
-
-    S += "(";
-    LHS->print(S);
-    S += ") ";
-    S += InfixOperator;
-    S += " (";
-    RHS->print(S);
-    S += ")";
-
-    if (InfixOperator == ">")
-      S += ")";
-  }
-};
-
-class ArraySubscriptExpr : public Node {
-  const Node *Op1;
-  const Node *Op2;
-
-public:
-  ArraySubscriptExpr(const Node *Op1_, const Node *Op2_)
-      : Node(KArraySubscriptExpr), Op1(Op1_), Op2(Op2_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Op1, Op2); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "(";
-    Op1->print(S);
-    S += ")[";
-    Op2->print(S);
-    S += "]";
-  }
-};
-
-class PostfixExpr : public Node {
-  const Node *Child;
-  const StringView Operator;
-
-public:
-  PostfixExpr(const Node *Child_, StringView Operator_)
-      : Node(KPostfixExpr), Child(Child_), Operator(Operator_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Child, Operator); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "(";
-    Child->print(S);
-    S += ")";
-    S += Operator;
-  }
-};
-
-class ConditionalExpr : public Node {
-  const Node *Cond;
-  const Node *Then;
-  const Node *Else;
-
-public:
-  ConditionalExpr(const Node *Cond_, const Node *Then_, const Node *Else_)
-      : Node(KConditionalExpr), Cond(Cond_), Then(Then_), Else(Else_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Cond, Then, Else); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "(";
-    Cond->print(S);
-    S += ") ? (";
-    Then->print(S);
-    S += ") : (";
-    Else->print(S);
-    S += ")";
-  }
-};
-
-class MemberExpr : public Node {
-  const Node *LHS;
-  const StringView Kind;
-  const Node *RHS;
-
-public:
-  MemberExpr(const Node *LHS_, StringView Kind_, const Node *RHS_)
-      : Node(KMemberExpr), LHS(LHS_), Kind(Kind_), RHS(RHS_) {}
-
-  template<typename Fn> void match(Fn F) const { F(LHS, Kind, RHS); }
-
-  void printLeft(OutputStream &S) const override {
-    LHS->print(S);
-    S += Kind;
-    RHS->print(S);
-  }
-};
-
-class EnclosingExpr : public Node {
-  const StringView Prefix;
-  const Node *Infix;
-  const StringView Postfix;
-
-public:
-  EnclosingExpr(StringView Prefix_, Node *Infix_, StringView Postfix_)
-      : Node(KEnclosingExpr), Prefix(Prefix_), Infix(Infix_),
-        Postfix(Postfix_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Prefix, Infix, Postfix); }
-
-  void printLeft(OutputStream &S) const override {
-    S += Prefix;
-    Infix->print(S);
-    S += Postfix;
-  }
-};
-
-class CastExpr : public Node {
-  // cast_kind<to>(from)
-  const StringView CastKind;
-  const Node *To;
-  const Node *From;
-
-public:
-  CastExpr(StringView CastKind_, const Node *To_, const Node *From_)
-      : Node(KCastExpr), CastKind(CastKind_), To(To_), From(From_) {}
-
-  template<typename Fn> void match(Fn F) const { F(CastKind, To, From); }
-
-  void printLeft(OutputStream &S) const override {
-    S += CastKind;
-    S += "<";
-    To->printLeft(S);
-    S += ">(";
-    From->printLeft(S);
-    S += ")";
-  }
-};
-
-class SizeofParamPackExpr : public Node {
-  const Node *Pack;
-
-public:
-  SizeofParamPackExpr(const Node *Pack_)
-      : Node(KSizeofParamPackExpr), Pack(Pack_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Pack); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "sizeof...(";
-    ParameterPackExpansion PPE(Pack);
-    PPE.printLeft(S);
-    S += ")";
-  }
-};
-
-class CallExpr : public Node {
-  const Node *Callee;
-  NodeArray Args;
-
-public:
-  CallExpr(const Node *Callee_, NodeArray Args_)
-      : Node(KCallExpr), Callee(Callee_), Args(Args_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Callee, Args); }
-
-  void printLeft(OutputStream &S) const override {
-    Callee->print(S);
-    S += "(";
-    Args.printWithComma(S);
-    S += ")";
-  }
-};
-
-class NewExpr : public Node {
-  // new (expr_list) type(init_list)
-  NodeArray ExprList;
-  Node *Type;
-  NodeArray InitList;
-  bool IsGlobal; // ::operator new ?
-  bool IsArray;  // new[] ?
-public:
-  NewExpr(NodeArray ExprList_, Node *Type_, NodeArray InitList_, bool IsGlobal_,
-          bool IsArray_)
-      : Node(KNewExpr), ExprList(ExprList_), Type(Type_), InitList(InitList_),
-        IsGlobal(IsGlobal_), IsArray(IsArray_) {}
-
-  template<typename Fn> void match(Fn F) const {
-    F(ExprList, Type, InitList, IsGlobal, IsArray);
-  }
-
-  void printLeft(OutputStream &S) const override {
-    if (IsGlobal)
-      S += "::operator ";
-    S += "new";
-    if (IsArray)
-      S += "[]";
-    S += ' ';
-    if (!ExprList.empty()) {
-      S += "(";
-      ExprList.printWithComma(S);
-      S += ")";
-    }
-    Type->print(S);
-    if (!InitList.empty()) {
-      S += "(";
-      InitList.printWithComma(S);
-      S += ")";
-    }
-
-  }
-};
-
-class DeleteExpr : public Node {
-  Node *Op;
-  bool IsGlobal;
-  bool IsArray;
-
-public:
-  DeleteExpr(Node *Op_, bool IsGlobal_, bool IsArray_)
-      : Node(KDeleteExpr), Op(Op_), IsGlobal(IsGlobal_), IsArray(IsArray_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Op, IsGlobal, IsArray); }
-
-  void printLeft(OutputStream &S) const override {
-    if (IsGlobal)
-      S += "::";
-    S += "delete";
-    if (IsArray)
-      S += "[] ";
-    Op->print(S);
-  }
-};
-
-class PrefixExpr : public Node {
-  StringView Prefix;
-  Node *Child;
-
-public:
-  PrefixExpr(StringView Prefix_, Node *Child_)
-      : Node(KPrefixExpr), Prefix(Prefix_), Child(Child_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Prefix, Child); }
-
-  void printLeft(OutputStream &S) const override {
-    S += Prefix;
-    S += "(";
-    Child->print(S);
-    S += ")";
-  }
-};
-
-class FunctionParam : public Node {
-  StringView Number;
-
-public:
-  FunctionParam(StringView Number_) : Node(KFunctionParam), Number(Number_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Number); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "fp";
-    S += Number;
-  }
-};
-
-class ConversionExpr : public Node {
-  const Node *Type;
-  NodeArray Expressions;
-
-public:
-  ConversionExpr(const Node *Type_, NodeArray Expressions_)
-      : Node(KConversionExpr), Type(Type_), Expressions(Expressions_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Type, Expressions); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "(";
-    Type->print(S);
-    S += ")(";
-    Expressions.printWithComma(S);
-    S += ")";
-  }
-};
-
-class InitListExpr : public Node {
-  const Node *Ty;
-  NodeArray Inits;
-public:
-  InitListExpr(const Node *Ty_, NodeArray Inits_)
-      : Node(KInitListExpr), Ty(Ty_), Inits(Inits_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Ty, Inits); }
-
-  void printLeft(OutputStream &S) const override {
-    if (Ty)
-      Ty->print(S);
-    S += '{';
-    Inits.printWithComma(S);
-    S += '}';
-  }
-};
-
-class BracedExpr : public Node {
-  const Node *Elem;
-  const Node *Init;
-  bool IsArray;
-public:
-  BracedExpr(const Node *Elem_, const Node *Init_, bool IsArray_)
-      : Node(KBracedExpr), Elem(Elem_), Init(Init_), IsArray(IsArray_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Elem, Init, IsArray); }
-
-  void printLeft(OutputStream &S) const override {
-    if (IsArray) {
-      S += '[';
-      Elem->print(S);
-      S += ']';
-    } else {
-      S += '.';
-      Elem->print(S);
-    }
-    if (Init->getKind() != KBracedExpr && Init->getKind() != KBracedRangeExpr)
-      S += " = ";
-    Init->print(S);
-  }
-};
-
-class BracedRangeExpr : public Node {
-  const Node *First;
-  const Node *Last;
-  const Node *Init;
-public:
-  BracedRangeExpr(const Node *First_, const Node *Last_, const Node *Init_)
-      : Node(KBracedRangeExpr), First(First_), Last(Last_), Init(Init_) {}
-
-  template<typename Fn> void match(Fn F) const { F(First, Last, Init); }
-
-  void printLeft(OutputStream &S) const override {
-    S += '[';
-    First->print(S);
-    S += " ... ";
-    Last->print(S);
-    S += ']';
-    if (Init->getKind() != KBracedExpr && Init->getKind() != KBracedRangeExpr)
-      S += " = ";
-    Init->print(S);
-  }
-};
-
-class FoldExpr : public Node {
-  const Node *Pack, *Init;
-  StringView OperatorName;
-  bool IsLeftFold;
-
-public:
-  FoldExpr(bool IsLeftFold_, StringView OperatorName_, const Node *Pack_,
-           const Node *Init_)
-      : Node(KFoldExpr), Pack(Pack_), Init(Init_), OperatorName(OperatorName_),
-        IsLeftFold(IsLeftFold_) {}
-
-  template<typename Fn> void match(Fn F) const {
-    F(IsLeftFold, OperatorName, Pack, Init);
-  }
-
-  void printLeft(OutputStream &S) const override {
-    auto PrintPack = [&] {
-      S += '(';
-      ParameterPackExpansion(Pack).print(S);
-      S += ')';
-    };
-
-    S += '(';
-
-    if (IsLeftFold) {
-      // init op ... op pack
-      if (Init != nullptr) {
-        Init->print(S);
-        S += ' ';
-        S += OperatorName;
-        S += ' ';
-      }
-      // ... op pack
-      S += "... ";
-      S += OperatorName;
-      S += ' ';
-      PrintPack();
-    } else { // !IsLeftFold
-      // pack op ...
-      PrintPack();
-      S += ' ';
-      S += OperatorName;
-      S += " ...";
-      // pack op ... op init
-      if (Init != nullptr) {
-        S += ' ';
-        S += OperatorName;
-        S += ' ';
-        Init->print(S);
-      }
-    }
-    S += ')';
-  }
-};
-
-class ThrowExpr : public Node {
-  const Node *Op;
-
-public:
-  ThrowExpr(const Node *Op_) : Node(KThrowExpr), Op(Op_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Op); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "throw ";
-    Op->print(S);
-  }
-};
-
-// MSVC __uuidof extension, generated by clang in -fms-extensions mode.
-class UUIDOfExpr : public Node {
-  Node *Operand;
-public:
-  UUIDOfExpr(Node *Operand_) : Node(KUUIDOfExpr), Operand(Operand_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Operand); }
-
-  void printLeft(OutputStream &S) const override {
-    S << "__uuidof(";
-    Operand->print(S);
-    S << ")";
-  }
-};
-
-class BoolExpr : public Node {
-  bool Value;
-
-public:
-  BoolExpr(bool Value_) : Node(KBoolExpr), Value(Value_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Value); }
-
-  void printLeft(OutputStream &S) const override {
-    S += Value ? StringView("true") : StringView("false");
-  }
-};
-
-class IntegerCastExpr : public Node {
-  // ty(integer)
-  const Node *Ty;
-  StringView Integer;
-
-public:
-  IntegerCastExpr(const Node *Ty_, StringView Integer_)
-      : Node(KIntegerCastExpr), Ty(Ty_), Integer(Integer_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Ty, Integer); }
-
-  void printLeft(OutputStream &S) const override {
-    S += "(";
-    Ty->print(S);
-    S += ")";
-    S += Integer;
-  }
-};
-
-class IntegerLiteral : public Node {
-  StringView Type;
-  StringView Value;
-
-public:
-  IntegerLiteral(StringView Type_, StringView Value_)
-      : Node(KIntegerLiteral), Type(Type_), Value(Value_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Type, Value); }
-
-  void printLeft(OutputStream &S) const override {
-    if (Type.size() > 3) {
-      S += "(";
-      S += Type;
-      S += ")";
-    }
-
-    if (Value[0] == 'n') {
-      S += "-";
-      S += Value.dropFront(1);
-    } else
-      S += Value;
-
-    if (Type.size() <= 3)
-      S += Type;
-  }
-};
-
-template <class Float> struct FloatData;
-
-namespace float_literal_impl {
-constexpr Node::Kind getFloatLiteralKind(float *) {
-  return Node::KFloatLiteral;
-}
-constexpr Node::Kind getFloatLiteralKind(double *) {
-  return Node::KDoubleLiteral;
-}
-constexpr Node::Kind getFloatLiteralKind(long double *) {
-  return Node::KLongDoubleLiteral;
-}
-}
-
-template <class Float> class FloatLiteralImpl : public Node {
-  const StringView Contents;
-
-  static constexpr Kind KindForClass =
-      float_literal_impl::getFloatLiteralKind((Float *)nullptr);
-
-public:
-  FloatLiteralImpl(StringView Contents_)
-      : Node(KindForClass), Contents(Contents_) {}
-
-  template<typename Fn> void match(Fn F) const { F(Contents); }
-
-  void printLeft(OutputStream &s) const override {
-    const char *first = Contents.begin();
-    const char *last = Contents.end() + 1;
-
-    const size_t N = FloatData<Float>::mangled_size;
-    if (static_cast<std::size_t>(last - first) > N) {
-      last = first + N;
-      union {
-        Float value;
-        char buf[sizeof(Float)];
-      };
-      const char *t = first;
-      char *e = buf;
-      for (; t != last; ++t, ++e) {
-        unsigned d1 = isdigit(*t) ? static_cast<unsigned>(*t - '0')
-                                  : static_cast<unsigned>(*t - 'a' + 10);
-        ++t;
-        unsigned d0 = isdigit(*t) ? static_cast<unsigned>(*t - '0')
-                                  : static_cast<unsigned>(*t - 'a' + 10);
-        *e = static_cast<char>((d1 << 4) + d0);
-      }
-#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-      std::reverse(buf, e);
-#endif
-      char num[FloatData<Float>::max_demangled_size] = {0};
-      int n = snprintf(num, sizeof(num), FloatData<Float>::spec, value);
-      s += StringView(num, num + n);
-    }
-  }
-};
-
-using FloatLiteral = FloatLiteralImpl<float>;
-using DoubleLiteral = FloatLiteralImpl<double>;
-using LongDoubleLiteral = FloatLiteralImpl<long double>;
-
-/// Visit the node. Calls \c F(P), where \c P is the node cast to the
-/// appropriate derived class.
-template<typename Fn>
-void Node::visit(Fn F) const {
-  switch (K) {
-#define CASE(X) case K ## X: return F(static_cast<const X*>(this));
-    FOR_EACH_NODE_KIND(CASE)
-#undef CASE
-  }
-  assert(0 && "unknown mangling node kind");
-}
-
-/// Determine the kind of a node from its type.
-template<typename NodeT> struct NodeKind;
-#define SPECIALIZATION(X) \
-  template<> struct NodeKind<X> { \
-    static constexpr Node::Kind Kind = Node::K##X; \
-    static constexpr const char *name() { return #X; } \
-  };
-FOR_EACH_NODE_KIND(SPECIALIZATION)
-#undef SPECIALIZATION
-
-#undef FOR_EACH_NODE_KIND
-
-template <class T, size_t N>
-class PODSmallVector {
-  static_assert(std::is_pod<T>::value,
-                "T is required to be a plain old data type");
-
-  T* First;
-  T* Last;
-  T* Cap;
-  T Inline[N];
-
-  bool isInline() const { return First == Inline; }
-
-  void clearInline() {
-    First = Inline;
-    Last = Inline;
-    Cap = Inline + N;
-  }
-
-  void reserve(size_t NewCap) {
-    size_t S = size();
-    if (isInline()) {
-      auto* Tmp = static_cast<T*>(std::malloc(NewCap * sizeof(T)));
-      if (Tmp == nullptr)
-        std::terminate();
-      std::copy(First, Last, Tmp);
-      First = Tmp;
-    } else {
-      First = static_cast<T*>(std::realloc(First, NewCap * sizeof(T)));
-      if (First == nullptr)
-        std::terminate();
-    }
-    Last = First + S;
-    Cap = First + NewCap;
-  }
-
-public:
-  PODSmallVector() : First(Inline), Last(First), Cap(Inline + N) {}
-
-  PODSmallVector(const PODSmallVector&) = delete;
-  PODSmallVector& operator=(const PODSmallVector&) = delete;
-
-  PODSmallVector(PODSmallVector&& Other) : PODSmallVector() {
-    if (Other.isInline()) {
-      std::copy(Other.begin(), Other.end(), First);
-      Last = First + Other.size();
-      Other.clear();
-      return;
-    }
-
-    First = Other.First;
-    Last = Other.Last;
-    Cap = Other.Cap;
-    Other.clearInline();
-  }
-
-  PODSmallVector& operator=(PODSmallVector&& Other) {
-    if (Other.isInline()) {
-      if (!isInline()) {
-        std::free(First);
-        clearInline();
-      }
-      std::copy(Other.begin(), Other.end(), First);
-      Last = First + Other.size();
-      Other.clear();
-      return *this;
-    }
-
-    if (isInline()) {
-      First = Other.First;
-      Last = Other.Last;
-      Cap = Other.Cap;
-      Other.clearInline();
-      return *this;
-    }
-
-    std::swap(First, Other.First);
-    std::swap(Last, Other.Last);
-    std::swap(Cap, Other.Cap);
-    Other.clear();
-    return *this;
-  }
-
-  void push_back(const T& Elem) {
-    if (Last == Cap)
-      reserve(size() * 2);
-    *Last++ = Elem;
-  }
-
-  void pop_back() {
-    assert(Last != First && "Popping empty vector!");
-    --Last;
-  }
-
-  void dropBack(size_t Index) {
-    assert(Index <= size() && "dropBack() can't expand!");
-    Last = First + Index;
-  }
-
-  T* begin() { return First; }
-  T* end() { return Last; }
-
-  bool empty() const { return First == Last; }
-  size_t size() const { return static_cast<size_t>(Last - First); }
-  T& back() {
-    assert(Last != First && "Calling back() on empty vector!");
-    return *(Last - 1);
-  }
-  T& operator[](size_t Index) {
-    assert(Index < size() && "Invalid access!");
-    return *(begin() + Index);
-  }
-  void clear() { Last = First; }
-
-  ~PODSmallVector() {
-    if (!isInline())
-      std::free(First);
-  }
-};
-
-template <typename Derived, typename Alloc> struct AbstractManglingParser {
-  const char *First;
-  const char *Last;
-
-  // Name stack, this is used by the parser to hold temporary names that were
-  // parsed. The parser collapses multiple names into new nodes to construct
-  // the AST. Once the parser is finished, names.size() == 1.
-  PODSmallVector<Node *, 32> Names;
-
-  // Substitution table. Itanium supports name substitutions as a means of
-  // compression. The string "S42_" refers to the 44nd entry (base-36) in this
-  // table.
-  PODSmallVector<Node *, 32> Subs;
-
-  // Template parameter table. Like the above, but referenced like "T42_".
-  // This has a smaller size compared to Subs and Names because it can be
-  // stored on the stack.
-  PODSmallVector<Node *, 8> TemplateParams;
-
-  // Set of unresolved forward <template-param> references. These can occur in a
-  // conversion operator's type, and are resolved in the enclosing <encoding>.
-  PODSmallVector<ForwardTemplateReference *, 4> ForwardTemplateRefs;
-
-  bool TryToParseTemplateArgs = true;
-  bool PermitForwardTemplateReferences = false;
-  bool ParsingLambdaParams = false;
-
-  Alloc ASTAllocator;
-
-  AbstractManglingParser(const char *First_, const char *Last_)
-      : First(First_), Last(Last_) {}
-
-  Derived &getDerived() { return static_cast<Derived &>(*this); }
-
-  void reset(const char *First_, const char *Last_) {
-    First = First_;
-    Last = Last_;
-    Names.clear();
-    Subs.clear();
-    TemplateParams.clear();
-    ParsingLambdaParams = false;
-    TryToParseTemplateArgs = true;
-    PermitForwardTemplateReferences = false;
-    ASTAllocator.reset();
-  }
-
-  template <class T, class... Args> Node *make(Args &&... args) {
-    return ASTAllocator.template makeNode<T>(std::forward<Args>(args)...);
-  }
-
-  template <class It> NodeArray makeNodeArray(It begin, It end) {
-    size_t sz = static_cast<size_t>(end - begin);
-    void *mem = ASTAllocator.allocateNodeArray(sz);
-    Node **data = new (mem) Node *[sz];
-    std::copy(begin, end, data);
-    return NodeArray(data, sz);
-  }
-
-  NodeArray popTrailingNodeArray(size_t FromPosition) {
-    assert(FromPosition <= Names.size());
-    NodeArray res =
-        makeNodeArray(Names.begin() + (long)FromPosition, Names.end());
-    Names.dropBack(FromPosition);
-    return res;
-  }
-
-  bool consumeIf(StringView S) {
-    if (StringView(First, Last).startsWith(S)) {
-      First += S.size();
-      return true;
-    }
-    return false;
-  }
-
-  bool consumeIf(char C) {
-    if (First != Last && *First == C) {
-      ++First;
-      return true;
-    }
-    return false;
-  }
-
-  char consume() { return First != Last ? *First++ : '\0'; }
-
-  char look(unsigned Lookahead = 0) {
-    if (static_cast<size_t>(Last - First) <= Lookahead)
-      return '\0';
-    return First[Lookahead];
-  }
-
-  size_t numLeft() const { return static_cast<size_t>(Last - First); }
-
-  StringView parseNumber(bool AllowNegative = false);
-  Qualifiers parseCVQualifiers();
-  bool parsePositiveInteger(size_t *Out);
-  StringView parseBareSourceName();
-
-  bool parseSeqId(size_t *Out);
-  Node *parseSubstitution();
-  Node *parseTemplateParam();
-  Node *parseTemplateArgs(bool TagTemplates = false);
-  Node *parseTemplateArg();
-
-  /// Parse the <expr> production.
-  Node *parseExpr();
-  Node *parsePrefixExpr(StringView Kind);
-  Node *parseBinaryExpr(StringView Kind);
-  Node *parseIntegerLiteral(StringView Lit);
-  Node *parseExprPrimary();
-  template <class Float> Node *parseFloatingLiteral();
-  Node *parseFunctionParam();
-  Node *parseNewExpr();
-  Node *parseConversionExpr();
-  Node *parseBracedExpr();
-  Node *parseFoldExpr();
-
-  /// Parse the <type> production.
-  Node *parseType();
-  Node *parseFunctionType();
-  Node *parseVectorType();
-  Node *parseDecltype();
-  Node *parseArrayType();
-  Node *parsePointerToMemberType();
-  Node *parseClassEnumType();
-  Node *parseQualifiedType();
-
-  Node *parseEncoding();
-  bool parseCallOffset();
-  Node *parseSpecialName();
-
-  /// Holds some extra information about a <name> that is being parsed. This
-  /// information is only pertinent if the <name> refers to an <encoding>.
-  struct NameState {
-    bool CtorDtorConversion = false;
-    bool EndsWithTemplateArgs = false;
-    Qualifiers CVQualifiers = QualNone;
-    FunctionRefQual ReferenceQualifier = FrefQualNone;
-    size_t ForwardTemplateRefsBegin;
-
-    NameState(AbstractManglingParser *Enclosing)
-        : ForwardTemplateRefsBegin(Enclosing->ForwardTemplateRefs.size()) {}
-  };
-
-  bool resolveForwardTemplateRefs(NameState &State) {
-    size_t I = State.ForwardTemplateRefsBegin;
-    size_t E = ForwardTemplateRefs.size();
-    for (; I < E; ++I) {
-      size_t Idx = ForwardTemplateRefs[I]->Index;
-      if (Idx >= TemplateParams.size())
-        return true;
-      ForwardTemplateRefs[I]->Ref = TemplateParams[Idx];
-    }
-    ForwardTemplateRefs.dropBack(State.ForwardTemplateRefsBegin);
-    return false;
-  }
-
-  /// Parse the <name> production>
-  Node *parseName(NameState *State = nullptr);
-  Node *parseLocalName(NameState *State);
-  Node *parseOperatorName(NameState *State);
-  Node *parseUnqualifiedName(NameState *State);
-  Node *parseUnnamedTypeName(NameState *State);
-  Node *parseSourceName(NameState *State);
-  Node *parseUnscopedName(NameState *State);
-  Node *parseNestedName(NameState *State);
-  Node *parseCtorDtorName(Node *&SoFar, NameState *State);
-
-  Node *parseAbiTags(Node *N);
-
-  /// Parse the <unresolved-name> production.
-  Node *parseUnresolvedName();
-  Node *parseSimpleId();
-  Node *parseBaseUnresolvedName();
-  Node *parseUnresolvedType();
-  Node *parseDestructorName();
-
-  /// Top-level entry point into the parser.
-  Node *parse();
-};
-
-const char* parse_discriminator(const char* first, const char* last);
-
-// <name> ::= <nested-name> // N
-//        ::= <local-name> # See Scope Encoding below  // Z
-//        ::= <unscoped-template-name> <template-args>
-//        ::= <unscoped-name>
-//
-// <unscoped-template-name> ::= <unscoped-name>
-//                          ::= <substitution>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseName(NameState *State) {
-  consumeIf('L'); // extension
-
-  if (look() == 'N')
-    return getDerived().parseNestedName(State);
-  if (look() == 'Z')
-    return getDerived().parseLocalName(State);
-
-  //        ::= <unscoped-template-name> <template-args>
-  if (look() == 'S' && look(1) != 't') {
-    Node *S = getDerived().parseSubstitution();
-    if (S == nullptr)
-      return nullptr;
-    if (look() != 'I')
-      return nullptr;
-    Node *TA = getDerived().parseTemplateArgs(State != nullptr);
-    if (TA == nullptr)
-      return nullptr;
-    if (State) State->EndsWithTemplateArgs = true;
-    return make<NameWithTemplateArgs>(S, TA);
-  }
-
-  Node *N = getDerived().parseUnscopedName(State);
-  if (N == nullptr)
-    return nullptr;
-  //        ::= <unscoped-template-name> <template-args>
-  if (look() == 'I') {
-    Subs.push_back(N);
-    Node *TA = getDerived().parseTemplateArgs(State != nullptr);
-    if (TA == nullptr)
-      return nullptr;
-    if (State) State->EndsWithTemplateArgs = true;
-    return make<NameWithTemplateArgs>(N, TA);
-  }
-  //        ::= <unscoped-name>
-  return N;
-}
-
-// <local-name> := Z <function encoding> E <entity name> [<discriminator>]
-//              := Z <function encoding> E s [<discriminator>]
-//              := Z <function encoding> Ed [ <parameter number> ] _ <entity name>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseLocalName(NameState *State) {
-  if (!consumeIf('Z'))
-    return nullptr;
-  Node *Encoding = getDerived().parseEncoding();
-  if (Encoding == nullptr || !consumeIf('E'))
-    return nullptr;
-
-  if (consumeIf('s')) {
-    First = parse_discriminator(First, Last);
-    auto *StringLitName = make<NameType>("string literal");
-    if (!StringLitName)
-      return nullptr;
-    return make<LocalName>(Encoding, StringLitName);
-  }
-
-  if (consumeIf('d')) {
-    parseNumber(true);
-    if (!consumeIf('_'))
-      return nullptr;
-    Node *N = getDerived().parseName(State);
-    if (N == nullptr)
-      return nullptr;
-    return make<LocalName>(Encoding, N);
-  }
-
-  Node *Entity = getDerived().parseName(State);
-  if (Entity == nullptr)
-    return nullptr;
-  First = parse_discriminator(First, Last);
-  return make<LocalName>(Encoding, Entity);
-}
-
-// <unscoped-name> ::= <unqualified-name>
-//                 ::= St <unqualified-name>   # ::std::
-// extension       ::= StL<unqualified-name>
-template <typename Derived, typename Alloc>
-Node *
-AbstractManglingParser<Derived, Alloc>::parseUnscopedName(NameState *State) {
-  if (consumeIf("StL") || consumeIf("St")) {
-    Node *R = getDerived().parseUnqualifiedName(State);
-    if (R == nullptr)
-      return nullptr;
-    return make<StdQualifiedName>(R);
-  }
-  return getDerived().parseUnqualifiedName(State);
-}
-
-// <unqualified-name> ::= <operator-name> [abi-tags]
-//                    ::= <ctor-dtor-name>
-//                    ::= <source-name>
-//                    ::= <unnamed-type-name>
-//                    ::= DC <source-name>+ E      # structured binding declaration
-template <typename Derived, typename Alloc>
-Node *
-AbstractManglingParser<Derived, Alloc>::parseUnqualifiedName(NameState *State) {
-  // <ctor-dtor-name>s are special-cased in parseNestedName().
-  Node *Result;
-  if (look() == 'U')
-    Result = getDerived().parseUnnamedTypeName(State);
-  else if (look() >= '1' && look() <= '9')
-    Result = getDerived().parseSourceName(State);
-  else if (consumeIf("DC")) {
-    size_t BindingsBegin = Names.size();
-    do {
-      Node *Binding = getDerived().parseSourceName(State);
-      if (Binding == nullptr)
-        return nullptr;
-      Names.push_back(Binding);
-    } while (!consumeIf('E'));
-    Result = make<StructuredBindingName>(popTrailingNodeArray(BindingsBegin));
-  } else
-    Result = getDerived().parseOperatorName(State);
-  if (Result != nullptr)
-    Result = getDerived().parseAbiTags(Result);
-  return Result;
-}
-
-// <unnamed-type-name> ::= Ut [<nonnegative number>] _
-//                     ::= <closure-type-name>
-//
-// <closure-type-name> ::= Ul <lambda-sig> E [ <nonnegative number> ] _
-//
-// <lambda-sig> ::= <parameter type>+  # Parameter types or "v" if the lambda has no parameters
-template <typename Derived, typename Alloc>
-Node *
-AbstractManglingParser<Derived, Alloc>::parseUnnamedTypeName(NameState *) {
-  if (consumeIf("Ut")) {
-    StringView Count = parseNumber();
-    if (!consumeIf('_'))
-      return nullptr;
-    return make<UnnamedTypeName>(Count);
-  }
-  if (consumeIf("Ul")) {
-    NodeArray Params;
-    SwapAndRestore<bool> SwapParams(ParsingLambdaParams, true);
-    if (!consumeIf("vE")) {
-      size_t ParamsBegin = Names.size();
-      do {
-        Node *P = getDerived().parseType();
-        if (P == nullptr)
-          return nullptr;
-        Names.push_back(P);
-      } while (!consumeIf('E'));
-      Params = popTrailingNodeArray(ParamsBegin);
-    }
-    StringView Count = parseNumber();
-    if (!consumeIf('_'))
-      return nullptr;
-    return make<ClosureTypeName>(Params, Count);
-  }
-  if (consumeIf("Ub")) {
-    (void)parseNumber();
-    if (!consumeIf('_'))
-      return nullptr;
-    return make<NameType>("'block-literal'");
-  }
-  return nullptr;
-}
-
-// <source-name> ::= <positive length number> <identifier>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseSourceName(NameState *) {
-  size_t Length = 0;
-  if (parsePositiveInteger(&Length))
-    return nullptr;
-  if (numLeft() < Length || Length == 0)
-    return nullptr;
-  StringView Name(First, First + Length);
-  First += Length;
-  if (Name.startsWith("_GLOBAL__N"))
-    return make<NameType>("(anonymous namespace)");
-  return make<NameType>(Name);
-}
-
-//   <operator-name> ::= aa    # &&
-//                   ::= ad    # & (unary)
-//                   ::= an    # &
-//                   ::= aN    # &=
-//                   ::= aS    # =
-//                   ::= cl    # ()
-//                   ::= cm    # ,
-//                   ::= co    # ~
-//                   ::= cv <type>    # (cast)
-//                   ::= da    # delete[]
-//                   ::= de    # * (unary)
-//                   ::= dl    # delete
-//                   ::= dv    # /
-//                   ::= dV    # /=
-//                   ::= eo    # ^
-//                   ::= eO    # ^=
-//                   ::= eq    # ==
-//                   ::= ge    # >=
-//                   ::= gt    # >
-//                   ::= ix    # []
-//                   ::= le    # <=
-//                   ::= li <source-name>  # operator ""
-//                   ::= ls    # <<
-//                   ::= lS    # <<=
-//                   ::= lt    # <
-//                   ::= mi    # -
-//                   ::= mI    # -=
-//                   ::= ml    # *
-//                   ::= mL    # *=
-//                   ::= mm    # -- (postfix in <expression> context)
-//                   ::= na    # new[]
-//                   ::= ne    # !=
-//                   ::= ng    # - (unary)
-//                   ::= nt    # !
-//                   ::= nw    # new
-//                   ::= oo    # ||
-//                   ::= or    # |
-//                   ::= oR    # |=
-//                   ::= pm    # ->*
-//                   ::= pl    # +
-//                   ::= pL    # +=
-//                   ::= pp    # ++ (postfix in <expression> context)
-//                   ::= ps    # + (unary)
-//                   ::= pt    # ->
-//                   ::= qu    # ?
-//                   ::= rm    # %
-//                   ::= rM    # %=
-//                   ::= rs    # >>
-//                   ::= rS    # >>=
-//                   ::= ss    # <=> C++2a
-//                   ::= v <digit> <source-name>        # vendor extended operator
-template <typename Derived, typename Alloc>
-Node *
-AbstractManglingParser<Derived, Alloc>::parseOperatorName(NameState *State) {
-  switch (look()) {
-  case 'a':
-    switch (look(1)) {
-    case 'a':
-      First += 2;
-      return make<NameType>("operator&&");
-    case 'd':
-    case 'n':
-      First += 2;
-      return make<NameType>("operator&");
-    case 'N':
-      First += 2;
-      return make<NameType>("operator&=");
-    case 'S':
-      First += 2;
-      return make<NameType>("operator=");
-    }
-    return nullptr;
-  case 'c':
-    switch (look(1)) {
-    case 'l':
-      First += 2;
-      return make<NameType>("operator()");
-    case 'm':
-      First += 2;
-      return make<NameType>("operator,");
-    case 'o':
-      First += 2;
-      return make<NameType>("operator~");
-    //                   ::= cv <type>    # (cast)
-    case 'v': {
-      First += 2;
-      SwapAndRestore<bool> SaveTemplate(TryToParseTemplateArgs, false);
-      // If we're parsing an encoding, State != nullptr and the conversion
-      // operators' <type> could have a <template-param> that refers to some
-      // <template-arg>s further ahead in the mangled name.
-      SwapAndRestore<bool> SavePermit(PermitForwardTemplateReferences,
-                                      PermitForwardTemplateReferences ||
-                                          State != nullptr);
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return nullptr;
-      if (State) State->CtorDtorConversion = true;
-      return make<ConversionOperatorType>(Ty);
-    }
-    }
-    return nullptr;
-  case 'd':
-    switch (look(1)) {
-    case 'a':
-      First += 2;
-      return make<NameType>("operator delete[]");
-    case 'e':
-      First += 2;
-      return make<NameType>("operator*");
-    case 'l':
-      First += 2;
-      return make<NameType>("operator delete");
-    case 'v':
-      First += 2;
-      return make<NameType>("operator/");
-    case 'V':
-      First += 2;
-      return make<NameType>("operator/=");
-    }
-    return nullptr;
-  case 'e':
-    switch (look(1)) {
-    case 'o':
-      First += 2;
-      return make<NameType>("operator^");
-    case 'O':
-      First += 2;
-      return make<NameType>("operator^=");
-    case 'q':
-      First += 2;
-      return make<NameType>("operator==");
-    }
-    return nullptr;
-  case 'g':
-    switch (look(1)) {
-    case 'e':
-      First += 2;
-      return make<NameType>("operator>=");
-    case 't':
-      First += 2;
-      return make<NameType>("operator>");
-    }
-    return nullptr;
-  case 'i':
-    if (look(1) == 'x') {
-      First += 2;
-      return make<NameType>("operator[]");
-    }
-    return nullptr;
-  case 'l':
-    switch (look(1)) {
-    case 'e':
-      First += 2;
-      return make<NameType>("operator<=");
-    //                   ::= li <source-name>  # operator ""
-    case 'i': {
-      First += 2;
-      Node *SN = getDerived().parseSourceName(State);
-      if (SN == nullptr)
-        return nullptr;
-      return make<LiteralOperator>(SN);
-    }
-    case 's':
-      First += 2;
-      return make<NameType>("operator<<");
-    case 'S':
-      First += 2;
-      return make<NameType>("operator<<=");
-    case 't':
-      First += 2;
-      return make<NameType>("operator<");
-    }
-    return nullptr;
-  case 'm':
-    switch (look(1)) {
-    case 'i':
-      First += 2;
-      return make<NameType>("operator-");
-    case 'I':
-      First += 2;
-      return make<NameType>("operator-=");
-    case 'l':
-      First += 2;
-      return make<NameType>("operator*");
-    case 'L':
-      First += 2;
-      return make<NameType>("operator*=");
-    case 'm':
-      First += 2;
-      return make<NameType>("operator--");
-    }
-    return nullptr;
-  case 'n':
-    switch (look(1)) {
-    case 'a':
-      First += 2;
-      return make<NameType>("operator new[]");
-    case 'e':
-      First += 2;
-      return make<NameType>("operator!=");
-    case 'g':
-      First += 2;
-      return make<NameType>("operator-");
-    case 't':
-      First += 2;
-      return make<NameType>("operator!");
-    case 'w':
-      First += 2;
-      return make<NameType>("operator new");
-    }
-    return nullptr;
-  case 'o':
-    switch (look(1)) {
-    case 'o':
-      First += 2;
-      return make<NameType>("operator||");
-    case 'r':
-      First += 2;
-      return make<NameType>("operator|");
-    case 'R':
-      First += 2;
-      return make<NameType>("operator|=");
-    }
-    return nullptr;
-  case 'p':
-    switch (look(1)) {
-    case 'm':
-      First += 2;
-      return make<NameType>("operator->*");
-    case 'l':
-      First += 2;
-      return make<NameType>("operator+");
-    case 'L':
-      First += 2;
-      return make<NameType>("operator+=");
-    case 'p':
-      First += 2;
-      return make<NameType>("operator++");
-    case 's':
-      First += 2;
-      return make<NameType>("operator+");
-    case 't':
-      First += 2;
-      return make<NameType>("operator->");
-    }
-    return nullptr;
-  case 'q':
-    if (look(1) == 'u') {
-      First += 2;
-      return make<NameType>("operator?");
-    }
-    return nullptr;
-  case 'r':
-    switch (look(1)) {
-    case 'm':
-      First += 2;
-      return make<NameType>("operator%");
-    case 'M':
-      First += 2;
-      return make<NameType>("operator%=");
-    case 's':
-      First += 2;
-      return make<NameType>("operator>>");
-    case 'S':
-      First += 2;
-      return make<NameType>("operator>>=");
-    }
-    return nullptr;
-  case 's':
-    if (look(1) == 's') {
-      First += 2;
-      return make<NameType>("operator<=>");
-    }
-    return nullptr;
-  // ::= v <digit> <source-name>        # vendor extended operator
-  case 'v':
-    if (std::isdigit(look(1))) {
-      First += 2;
-      Node *SN = getDerived().parseSourceName(State);
-      if (SN == nullptr)
-        return nullptr;
-      return make<ConversionOperatorType>(SN);
-    }
-    return nullptr;
-  }
-  return nullptr;
-}
-
-// <ctor-dtor-name> ::= C1  # complete object constructor
-//                  ::= C2  # base object constructor
-//                  ::= C3  # complete object allocating constructor
-//   extension      ::= C4  # gcc old-style "[unified]" constructor
-//   extension      ::= C5  # the COMDAT used for ctors
-//                  ::= D0  # deleting destructor
-//                  ::= D1  # complete object destructor
-//                  ::= D2  # base object destructor
-//   extension      ::= D4  # gcc old-style "[unified]" destructor
-//   extension      ::= D5  # the COMDAT used for dtors
-template <typename Derived, typename Alloc>
-Node *
-AbstractManglingParser<Derived, Alloc>::parseCtorDtorName(Node *&SoFar,
-                                                          NameState *State) {
-  if (SoFar->getKind() == Node::KSpecialSubstitution) {
-    auto SSK = static_cast<SpecialSubstitution *>(SoFar)->SSK;
-    switch (SSK) {
-    case SpecialSubKind::string:
-    case SpecialSubKind::istream:
-    case SpecialSubKind::ostream:
-    case SpecialSubKind::iostream:
-      SoFar = make<ExpandedSpecialSubstitution>(SSK);
-      if (!SoFar)
-        return nullptr;
-      break;
-    default:
-      break;
-    }
-  }
-
-  if (consumeIf('C')) {
-    bool IsInherited = consumeIf('I');
-    if (look() != '1' && look() != '2' && look() != '3' && look() != '4' &&
-        look() != '5')
-      return nullptr;
-    int Variant = look() - '0';
-    ++First;
-    if (State) State->CtorDtorConversion = true;
-    if (IsInherited) {
-      if (getDerived().parseName(State) == nullptr)
-        return nullptr;
-    }
-    return make<CtorDtorName>(SoFar, /*IsDtor=*/false, Variant);
-  }
-
-  if (look() == 'D' && (look(1) == '0' || look(1) == '1' || look(1) == '2' ||
-                        look(1) == '4' || look(1) == '5')) {
-    int Variant = look(1) - '0';
-    First += 2;
-    if (State) State->CtorDtorConversion = true;
-    return make<CtorDtorName>(SoFar, /*IsDtor=*/true, Variant);
-  }
-
-  return nullptr;
-}
-
-// <nested-name> ::= N [<CV-Qualifiers>] [<ref-qualifier>] <prefix> <unqualified-name> E
-//               ::= N [<CV-Qualifiers>] [<ref-qualifier>] <template-prefix> <template-args> E
-//
-// <prefix> ::= <prefix> <unqualified-name>
-//          ::= <template-prefix> <template-args>
-//          ::= <template-param>
-//          ::= <decltype>
-//          ::= # empty
-//          ::= <substitution>
-//          ::= <prefix> <data-member-prefix>
-//  extension ::= L
-//
-// <data-member-prefix> := <member source-name> [<template-args>] M
-//
-// <template-prefix> ::= <prefix> <template unqualified-name>
-//                   ::= <template-param>
-//                   ::= <substitution>
-template <typename Derived, typename Alloc>
-Node *
-AbstractManglingParser<Derived, Alloc>::parseNestedName(NameState *State) {
-  if (!consumeIf('N'))
-    return nullptr;
-
-  Qualifiers CVTmp = parseCVQualifiers();
-  if (State) State->CVQualifiers = CVTmp;
-
-  if (consumeIf('O')) {
-    if (State) State->ReferenceQualifier = FrefQualRValue;
-  } else if (consumeIf('R')) {
-    if (State) State->ReferenceQualifier = FrefQualLValue;
-  } else
-    if (State) State->ReferenceQualifier = FrefQualNone;
-
-  Node *SoFar = nullptr;
-  auto PushComponent = [&](Node *Comp) {
-    if (!Comp) return false;
-    if (SoFar) SoFar = make<NestedName>(SoFar, Comp);
-    else       SoFar = Comp;
-    if (State) State->EndsWithTemplateArgs = false;
-    return SoFar != nullptr;
-  };
-
-  if (consumeIf("St")) {
-    SoFar = make<NameType>("std");
-    if (!SoFar)
-      return nullptr;
-  }
-
-  while (!consumeIf('E')) {
-    consumeIf('L'); // extension
-
-    // <data-member-prefix> := <member source-name> [<template-args>] M
-    if (consumeIf('M')) {
-      if (SoFar == nullptr)
-        return nullptr;
-      continue;
-    }
-
-    //          ::= <template-param>
-    if (look() == 'T') {
-      if (!PushComponent(getDerived().parseTemplateParam()))
-        return nullptr;
-      Subs.push_back(SoFar);
-      continue;
-    }
-
-    //          ::= <template-prefix> <template-args>
-    if (look() == 'I') {
-      Node *TA = getDerived().parseTemplateArgs(State != nullptr);
-      if (TA == nullptr || SoFar == nullptr)
-        return nullptr;
-      SoFar = make<NameWithTemplateArgs>(SoFar, TA);
-      if (!SoFar)
-        return nullptr;
-      if (State) State->EndsWithTemplateArgs = true;
-      Subs.push_back(SoFar);
-      continue;
-    }
-
-    //          ::= <decltype>
-    if (look() == 'D' && (look(1) == 't' || look(1) == 'T')) {
-      if (!PushComponent(getDerived().parseDecltype()))
-        return nullptr;
-      Subs.push_back(SoFar);
-      continue;
-    }
-
-    //          ::= <substitution>
-    if (look() == 'S' && look(1) != 't') {
-      Node *S = getDerived().parseSubstitution();
-      if (!PushComponent(S))
-        return nullptr;
-      if (SoFar != S)
-        Subs.push_back(S);
-      continue;
-    }
-
-    // Parse an <unqualified-name> thats actually a <ctor-dtor-name>.
-    if (look() == 'C' || (look() == 'D' && look(1) != 'C')) {
-      if (SoFar == nullptr)
-        return nullptr;
-      if (!PushComponent(getDerived().parseCtorDtorName(SoFar, State)))
-        return nullptr;
-      SoFar = getDerived().parseAbiTags(SoFar);
-      if (SoFar == nullptr)
-        return nullptr;
-      Subs.push_back(SoFar);
-      continue;
-    }
-
-    //          ::= <prefix> <unqualified-name>
-    if (!PushComponent(getDerived().parseUnqualifiedName(State)))
-      return nullptr;
-    Subs.push_back(SoFar);
-  }
-
-  if (SoFar == nullptr || Subs.empty())
-    return nullptr;
-
-  Subs.pop_back();
-  return SoFar;
-}
-
-// <simple-id> ::= <source-name> [ <template-args> ]
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseSimpleId() {
-  Node *SN = getDerived().parseSourceName(/*NameState=*/nullptr);
-  if (SN == nullptr)
-    return nullptr;
-  if (look() == 'I') {
-    Node *TA = getDerived().parseTemplateArgs();
-    if (TA == nullptr)
-      return nullptr;
-    return make<NameWithTemplateArgs>(SN, TA);
-  }
-  return SN;
-}
-
-// <destructor-name> ::= <unresolved-type>  # e.g., ~T or ~decltype(f())
-//                   ::= <simple-id>        # e.g., ~A<2*N>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseDestructorName() {
-  Node *Result;
-  if (std::isdigit(look()))
-    Result = getDerived().parseSimpleId();
-  else
-    Result = getDerived().parseUnresolvedType();
-  if (Result == nullptr)
-    return nullptr;
-  return make<DtorName>(Result);
-}
-
-// <unresolved-type> ::= <template-param>
-//                   ::= <decltype>
-//                   ::= <substitution>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseUnresolvedType() {
-  if (look() == 'T') {
-    Node *TP = getDerived().parseTemplateParam();
-    if (TP == nullptr)
-      return nullptr;
-    Subs.push_back(TP);
-    return TP;
-  }
-  if (look() == 'D') {
-    Node *DT = getDerived().parseDecltype();
-    if (DT == nullptr)
-      return nullptr;
-    Subs.push_back(DT);
-    return DT;
-  }
-  return getDerived().parseSubstitution();
-}
-
-// <base-unresolved-name> ::= <simple-id>                                # unresolved name
-//          extension     ::= <operator-name>                            # unresolved operator-function-id
-//          extension     ::= <operator-name> <template-args>            # unresolved operator template-id
-//                        ::= on <operator-name>                         # unresolved operator-function-id
-//                        ::= on <operator-name> <template-args>         # unresolved operator template-id
-//                        ::= dn <destructor-name>                       # destructor or pseudo-destructor;
-//                                                                         # e.g. ~X or ~X<N-1>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseBaseUnresolvedName() {
-  if (std::isdigit(look()))
-    return getDerived().parseSimpleId();
-
-  if (consumeIf("dn"))
-    return getDerived().parseDestructorName();
-
-  consumeIf("on");
-
-  Node *Oper = getDerived().parseOperatorName(/*NameState=*/nullptr);
-  if (Oper == nullptr)
-    return nullptr;
-  if (look() == 'I') {
-    Node *TA = getDerived().parseTemplateArgs();
-    if (TA == nullptr)
-      return nullptr;
-    return make<NameWithTemplateArgs>(Oper, TA);
-  }
-  return Oper;
-}
-
-// <unresolved-name>
-//  extension        ::= srN <unresolved-type> [<template-args>] <unresolved-qualifier-level>* E <base-unresolved-name>
-//                   ::= [gs] <base-unresolved-name>                     # x or (with "gs") ::x
-//                   ::= [gs] sr <unresolved-qualifier-level>+ E <base-unresolved-name>
-//                                                                       # A::x, N::y, A<T>::z; "gs" means leading "::"
-//                   ::= sr <unresolved-type> <base-unresolved-name>     # T::x / decltype(p)::x
-//  extension        ::= sr <unresolved-type> <template-args> <base-unresolved-name>
-//                                                                       # T::N::x /decltype(p)::N::x
-//  (ignored)        ::= srN <unresolved-type>  <unresolved-qualifier-level>+ E <base-unresolved-name>
-//
-// <unresolved-qualifier-level> ::= <simple-id>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseUnresolvedName() {
-  Node *SoFar = nullptr;
-
-  // srN <unresolved-type> [<template-args>] <unresolved-qualifier-level>* E <base-unresolved-name>
-  // srN <unresolved-type>                   <unresolved-qualifier-level>+ E <base-unresolved-name>
-  if (consumeIf("srN")) {
-    SoFar = getDerived().parseUnresolvedType();
-    if (SoFar == nullptr)
-      return nullptr;
-
-    if (look() == 'I') {
-      Node *TA = getDerived().parseTemplateArgs();
-      if (TA == nullptr)
-        return nullptr;
-      SoFar = make<NameWithTemplateArgs>(SoFar, TA);
-      if (!SoFar)
-        return nullptr;
-    }
-
-    while (!consumeIf('E')) {
-      Node *Qual = getDerived().parseSimpleId();
-      if (Qual == nullptr)
-        return nullptr;
-      SoFar = make<QualifiedName>(SoFar, Qual);
-      if (!SoFar)
-        return nullptr;
-    }
-
-    Node *Base = getDerived().parseBaseUnresolvedName();
-    if (Base == nullptr)
-      return nullptr;
-    return make<QualifiedName>(SoFar, Base);
-  }
-
-  bool Global = consumeIf("gs");
-
-  // [gs] <base-unresolved-name>                     # x or (with "gs") ::x
-  if (!consumeIf("sr")) {
-    SoFar = getDerived().parseBaseUnresolvedName();
-    if (SoFar == nullptr)
-      return nullptr;
-    if (Global)
-      SoFar = make<GlobalQualifiedName>(SoFar);
-    return SoFar;
-  }
-
-  // [gs] sr <unresolved-qualifier-level>+ E   <base-unresolved-name>
-  if (std::isdigit(look())) {
-    do {
-      Node *Qual = getDerived().parseSimpleId();
-      if (Qual == nullptr)
-        return nullptr;
-      if (SoFar)
-        SoFar = make<QualifiedName>(SoFar, Qual);
-      else if (Global)
-        SoFar = make<GlobalQualifiedName>(Qual);
-      else
-        SoFar = Qual;
-      if (!SoFar)
-        return nullptr;
-    } while (!consumeIf('E'));
-  }
-  //      sr <unresolved-type>                 <base-unresolved-name>
-  //      sr <unresolved-type> <template-args> <base-unresolved-name>
-  else {
-    SoFar = getDerived().parseUnresolvedType();
-    if (SoFar == nullptr)
-      return nullptr;
-
-    if (look() == 'I') {
-      Node *TA = getDerived().parseTemplateArgs();
-      if (TA == nullptr)
-        return nullptr;
-      SoFar = make<NameWithTemplateArgs>(SoFar, TA);
-      if (!SoFar)
-        return nullptr;
-    }
-  }
-
-  assert(SoFar != nullptr);
-
-  Node *Base = getDerived().parseBaseUnresolvedName();
-  if (Base == nullptr)
-    return nullptr;
-  return make<QualifiedName>(SoFar, Base);
-}
-
-// <abi-tags> ::= <abi-tag> [<abi-tags>]
-// <abi-tag> ::= B <source-name>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseAbiTags(Node *N) {
-  while (consumeIf('B')) {
-    StringView SN = parseBareSourceName();
-    if (SN.empty())
-      return nullptr;
-    N = make<AbiTagAttr>(N, SN);
-    if (!N)
-      return nullptr;
-  }
-  return N;
-}
-
-// <number> ::= [n] <non-negative decimal integer>
-template <typename Alloc, typename Derived>
-StringView
-AbstractManglingParser<Alloc, Derived>::parseNumber(bool AllowNegative) {
-  const char *Tmp = First;
-  if (AllowNegative)
-    consumeIf('n');
-  if (numLeft() == 0 || !std::isdigit(*First))
-    return StringView();
-  while (numLeft() != 0 && std::isdigit(*First))
-    ++First;
-  return StringView(Tmp, First);
-}
-
-// <positive length number> ::= [0-9]*
-template <typename Alloc, typename Derived>
-bool AbstractManglingParser<Alloc, Derived>::parsePositiveInteger(size_t *Out) {
-  *Out = 0;
-  if (look() < '0' || look() > '9')
-    return true;
-  while (look() >= '0' && look() <= '9') {
-    *Out *= 10;
-    *Out += static_cast<size_t>(consume() - '0');
-  }
-  return false;
-}
-
-template <typename Alloc, typename Derived>
-StringView AbstractManglingParser<Alloc, Derived>::parseBareSourceName() {
-  size_t Int = 0;
-  if (parsePositiveInteger(&Int) || numLeft() < Int)
-    return StringView();
-  StringView R(First, First + Int);
-  First += Int;
-  return R;
-}
-
-// <function-type> ::= [<CV-qualifiers>] [<exception-spec>] [Dx] F [Y] <bare-function-type> [<ref-qualifier>] E
-//
-// <exception-spec> ::= Do                # non-throwing exception-specification (e.g., noexcept, throw())
-//                  ::= DO <expression> E # computed (instantiation-dependent) noexcept
-//                  ::= Dw <type>+ E      # dynamic exception specification with instantiation-dependent types
-//
-// <ref-qualifier> ::= R                   # & ref-qualifier
-// <ref-qualifier> ::= O                   # && ref-qualifier
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseFunctionType() {
-  Qualifiers CVQuals = parseCVQualifiers();
-
-  Node *ExceptionSpec = nullptr;
-  if (consumeIf("Do")) {
-    ExceptionSpec = make<NameType>("noexcept");
-    if (!ExceptionSpec)
-      return nullptr;
-  } else if (consumeIf("DO")) {
-    Node *E = getDerived().parseExpr();
-    if (E == nullptr || !consumeIf('E'))
-      return nullptr;
-    ExceptionSpec = make<NoexceptSpec>(E);
-    if (!ExceptionSpec)
-      return nullptr;
-  } else if (consumeIf("Dw")) {
-    size_t SpecsBegin = Names.size();
-    while (!consumeIf('E')) {
-      Node *T = getDerived().parseType();
-      if (T == nullptr)
-        return nullptr;
-      Names.push_back(T);
-    }
-    ExceptionSpec =
-      make<DynamicExceptionSpec>(popTrailingNodeArray(SpecsBegin));
-    if (!ExceptionSpec)
-      return nullptr;
-  }
-
-  consumeIf("Dx"); // transaction safe
-
-  if (!consumeIf('F'))
-    return nullptr;
-  consumeIf('Y'); // extern "C"
-  Node *ReturnType = getDerived().parseType();
-  if (ReturnType == nullptr)
-    return nullptr;
-
-  FunctionRefQual ReferenceQualifier = FrefQualNone;
-  size_t ParamsBegin = Names.size();
-  while (true) {
-    if (consumeIf('E'))
-      break;
-    if (consumeIf('v'))
-      continue;
-    if (consumeIf("RE")) {
-      ReferenceQualifier = FrefQualLValue;
-      break;
-    }
-    if (consumeIf("OE")) {
-      ReferenceQualifier = FrefQualRValue;
-      break;
-    }
-    Node *T = getDerived().parseType();
-    if (T == nullptr)
-      return nullptr;
-    Names.push_back(T);
-  }
-
-  NodeArray Params = popTrailingNodeArray(ParamsBegin);
-  return make<FunctionType>(ReturnType, Params, CVQuals,
-                            ReferenceQualifier, ExceptionSpec);
-}
-
-// extension:
-// <vector-type>           ::= Dv <positive dimension number> _ <extended element type>
-//                         ::= Dv [<dimension expression>] _ <element type>
-// <extended element type> ::= <element type>
-//                         ::= p # AltiVec vector pixel
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseVectorType() {
-  if (!consumeIf("Dv"))
-    return nullptr;
-  if (look() >= '1' && look() <= '9') {
-    StringView DimensionNumber = parseNumber();
-    if (!consumeIf('_'))
-      return nullptr;
-    if (consumeIf('p'))
-      return make<PixelVectorType>(DimensionNumber);
-    Node *ElemType = getDerived().parseType();
-    if (ElemType == nullptr)
-      return nullptr;
-    return make<VectorType>(ElemType, DimensionNumber);
-  }
-
-  if (!consumeIf('_')) {
-    Node *DimExpr = getDerived().parseExpr();
-    if (!DimExpr)
-      return nullptr;
-    if (!consumeIf('_'))
-      return nullptr;
-    Node *ElemType = getDerived().parseType();
-    if (!ElemType)
-      return nullptr;
-    return make<VectorType>(ElemType, DimExpr);
-  }
-  Node *ElemType = getDerived().parseType();
-  if (!ElemType)
-    return nullptr;
-  return make<VectorType>(ElemType, StringView());
-}
-
-// <decltype>  ::= Dt <expression> E  # decltype of an id-expression or class member access (C++0x)
-//             ::= DT <expression> E  # decltype of an expression (C++0x)
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseDecltype() {
-  if (!consumeIf('D'))
-    return nullptr;
-  if (!consumeIf('t') && !consumeIf('T'))
-    return nullptr;
-  Node *E = getDerived().parseExpr();
-  if (E == nullptr)
-    return nullptr;
-  if (!consumeIf('E'))
-    return nullptr;
-  return make<EnclosingExpr>("decltype(", E, ")");
-}
-
-// <array-type> ::= A <positive dimension number> _ <element type>
-//              ::= A [<dimension expression>] _ <element type>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseArrayType() {
-  if (!consumeIf('A'))
-    return nullptr;
-
-  NodeOrString Dimension;
-
-  if (std::isdigit(look())) {
-    Dimension = parseNumber();
-    if (!consumeIf('_'))
-      return nullptr;
-  } else if (!consumeIf('_')) {
-    Node *DimExpr = getDerived().parseExpr();
-    if (DimExpr == nullptr)
-      return nullptr;
-    if (!consumeIf('_'))
-      return nullptr;
-    Dimension = DimExpr;
-  }
-
-  Node *Ty = getDerived().parseType();
-  if (Ty == nullptr)
-    return nullptr;
-  return make<ArrayType>(Ty, Dimension);
-}
-
-// <pointer-to-member-type> ::= M <class type> <member type>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parsePointerToMemberType() {
-  if (!consumeIf('M'))
-    return nullptr;
-  Node *ClassType = getDerived().parseType();
-  if (ClassType == nullptr)
-    return nullptr;
-  Node *MemberType = getDerived().parseType();
-  if (MemberType == nullptr)
-    return nullptr;
-  return make<PointerToMemberType>(ClassType, MemberType);
-}
-
-// <class-enum-type> ::= <name>     # non-dependent type name, dependent type name, or dependent typename-specifier
-//                   ::= Ts <name>  # dependent elaborated type specifier using 'struct' or 'class'
-//                   ::= Tu <name>  # dependent elaborated type specifier using 'union'
-//                   ::= Te <name>  # dependent elaborated type specifier using 'enum'
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseClassEnumType() {
-  StringView ElabSpef;
-  if (consumeIf("Ts"))
-    ElabSpef = "struct";
-  else if (consumeIf("Tu"))
-    ElabSpef = "union";
-  else if (consumeIf("Te"))
-    ElabSpef = "enum";
-
-  Node *Name = getDerived().parseName();
-  if (Name == nullptr)
-    return nullptr;
-
-  if (!ElabSpef.empty())
-    return make<ElaboratedTypeSpefType>(ElabSpef, Name);
-
-  return Name;
-}
-
-// <qualified-type>     ::= <qualifiers> <type>
-// <qualifiers> ::= <extended-qualifier>* <CV-qualifiers>
-// <extended-qualifier> ::= U <source-name> [<template-args>] # vendor extended type qualifier
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseQualifiedType() {
-  if (consumeIf('U')) {
-    StringView Qual = parseBareSourceName();
-    if (Qual.empty())
-      return nullptr;
-
-    // FIXME parse the optional <template-args> here!
-
-    // extension            ::= U <objc-name> <objc-type>  # objc-type<identifier>
-    if (Qual.startsWith("objcproto")) {
-      StringView ProtoSourceName = Qual.dropFront(std::strlen("objcproto"));
-      StringView Proto;
-      {
-        SwapAndRestore<const char *> SaveFirst(First, ProtoSourceName.begin()),
-                                     SaveLast(Last, ProtoSourceName.end());
-        Proto = parseBareSourceName();
-      }
-      if (Proto.empty())
-        return nullptr;
-      Node *Child = getDerived().parseQualifiedType();
-      if (Child == nullptr)
-        return nullptr;
-      return make<ObjCProtoName>(Child, Proto);
-    }
-
-    Node *Child = getDerived().parseQualifiedType();
-    if (Child == nullptr)
-      return nullptr;
-    return make<VendorExtQualType>(Child, Qual);
-  }
-
-  Qualifiers Quals = parseCVQualifiers();
-  Node *Ty = getDerived().parseType();
-  if (Ty == nullptr)
-    return nullptr;
-  if (Quals != QualNone)
-    Ty = make<QualType>(Ty, Quals);
-  return Ty;
-}
-
-// <type>      ::= <builtin-type>
-//             ::= <qualified-type>
-//             ::= <function-type>
-//             ::= <class-enum-type>
-//             ::= <array-type>
-//             ::= <pointer-to-member-type>
-//             ::= <template-param>
-//             ::= <template-template-param> <template-args>
-//             ::= <decltype>
-//             ::= P <type>        # pointer
-//             ::= R <type>        # l-value reference
-//             ::= O <type>        # r-value reference (C++11)
-//             ::= C <type>        # complex pair (C99)
-//             ::= G <type>        # imaginary (C99)
-//             ::= <substitution>  # See Compression below
-// extension   ::= U <objc-name> <objc-type>  # objc-type<identifier>
-// extension   ::= <vector-type> # <vector-type> starts with Dv
-//
-// <objc-name> ::= <k0 number> objcproto <k1 number> <identifier>  # k0 = 9 + <number of digits in k1> + k1
-// <objc-type> ::= <source-name>  # PU<11+>objcproto 11objc_object<source-name> 11objc_object -> id<source-name>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseType() {
-  Node *Result = nullptr;
-
-  switch (look()) {
-  //             ::= <qualified-type>
-  case 'r':
-  case 'V':
-  case 'K': {
-    unsigned AfterQuals = 0;
-    if (look(AfterQuals) == 'r') ++AfterQuals;
-    if (look(AfterQuals) == 'V') ++AfterQuals;
-    if (look(AfterQuals) == 'K') ++AfterQuals;
-
-    if (look(AfterQuals) == 'F' ||
-        (look(AfterQuals) == 'D' &&
-         (look(AfterQuals + 1) == 'o' || look(AfterQuals + 1) == 'O' ||
-          look(AfterQuals + 1) == 'w' || look(AfterQuals + 1) == 'x'))) {
-      Result = getDerived().parseFunctionType();
-      break;
-    }
-    DEMANGLE_FALLTHROUGH;
-  }
-  case 'U': {
-    Result = getDerived().parseQualifiedType();
-    break;
-  }
-  // <builtin-type> ::= v    # void
-  case 'v':
-    ++First;
-    return make<NameType>("void");
-  //                ::= w    # wchar_t
-  case 'w':
-    ++First;
-    return make<NameType>("wchar_t");
-  //                ::= b    # bool
-  case 'b':
-    ++First;
-    return make<NameType>("bool");
-  //                ::= c    # char
-  case 'c':
-    ++First;
-    return make<NameType>("char");
-  //                ::= a    # signed char
-  case 'a':
-    ++First;
-    return make<NameType>("signed char");
-  //                ::= h    # unsigned char
-  case 'h':
-    ++First;
-    return make<NameType>("unsigned char");
-  //                ::= s    # short
-  case 's':
-    ++First;
-    return make<NameType>("short");
-  //                ::= t    # unsigned short
-  case 't':
-    ++First;
-    return make<NameType>("unsigned short");
-  //                ::= i    # int
-  case 'i':
-    ++First;
-    return make<NameType>("int");
-  //                ::= j    # unsigned int
-  case 'j':
-    ++First;
-    return make<NameType>("unsigned int");
-  //                ::= l    # long
-  case 'l':
-    ++First;
-    return make<NameType>("long");
-  //                ::= m    # unsigned long
-  case 'm':
-    ++First;
-    return make<NameType>("unsigned long");
-  //                ::= x    # long long, __int64
-  case 'x':
-    ++First;
-    return make<NameType>("long long");
-  //                ::= y    # unsigned long long, __int64
-  case 'y':
-    ++First;
-    return make<NameType>("unsigned long long");
-  //                ::= n    # __int128
-  case 'n':
-    ++First;
-    return make<NameType>("__int128");
-  //                ::= o    # unsigned __int128
-  case 'o':
-    ++First;
-    return make<NameType>("unsigned __int128");
-  //                ::= f    # float
-  case 'f':
-    ++First;
-    return make<NameType>("float");
-  //                ::= d    # double
-  case 'd':
-    ++First;
-    return make<NameType>("double");
-  //                ::= e    # long double, __float80
-  case 'e':
-    ++First;
-    return make<NameType>("long double");
-  //                ::= g    # __float128
-  case 'g':
-    ++First;
-    return make<NameType>("__float128");
-  //                ::= z    # ellipsis
-  case 'z':
-    ++First;
-    return make<NameType>("...");
-
-  // <builtin-type> ::= u <source-name>    # vendor extended type
-  case 'u': {
-    ++First;
-    StringView Res = parseBareSourceName();
-    if (Res.empty())
-      return nullptr;
-    // Typically, <builtin-type>s are not considered substitution candidates,
-    // but the exception to that exception is vendor extended types (Itanium C++
-    // ABI 5.9.1).
-    Result = make<NameType>(Res);
-    break;
-  }
-  case 'D':
-    switch (look(1)) {
-    //                ::= Dd   # IEEE 754r decimal floating point (64 bits)
-    case 'd':
-      First += 2;
-      return make<NameType>("decimal64");
-    //                ::= De   # IEEE 754r decimal floating point (128 bits)
-    case 'e':
-      First += 2;
-      return make<NameType>("decimal128");
-    //                ::= Df   # IEEE 754r decimal floating point (32 bits)
-    case 'f':
-      First += 2;
-      return make<NameType>("decimal32");
-    //                ::= Dh   # IEEE 754r half-precision floating point (16 bits)
-    case 'h':
-      First += 2;
-      return make<NameType>("decimal16");
-    //                ::= Di   # char32_t
-    case 'i':
-      First += 2;
-      return make<NameType>("char32_t");
-    //                ::= Ds   # char16_t
-    case 's':
-      First += 2;
-      return make<NameType>("char16_t");
-    //                ::= Du   # char8_t (C++2a, not yet in the Itanium spec)
-    case 'u':
-      First += 2;
-      return make<NameType>("char8_t");
-    //                ::= Da   # auto (in dependent new-expressions)
-    case 'a':
-      First += 2;
-      return make<NameType>("auto");
-    //                ::= Dc   # decltype(auto)
-    case 'c':
-      First += 2;
-      return make<NameType>("decltype(auto)");
-    //                ::= Dn   # std::nullptr_t (i.e., decltype(nullptr))
-    case 'n':
-      First += 2;
-      return make<NameType>("std::nullptr_t");
-
-    //             ::= <decltype>
-    case 't':
-    case 'T': {
-      Result = getDerived().parseDecltype();
-      break;
-    }
-    // extension   ::= <vector-type> # <vector-type> starts with Dv
-    case 'v': {
-      Result = getDerived().parseVectorType();
-      break;
-    }
-    //           ::= Dp <type>       # pack expansion (C++0x)
-    case 'p': {
-      First += 2;
-      Node *Child = getDerived().parseType();
-      if (!Child)
-        return nullptr;
-      Result = make<ParameterPackExpansion>(Child);
-      break;
-    }
-    // Exception specifier on a function type.
-    case 'o':
-    case 'O':
-    case 'w':
-    // Transaction safe function type.
-    case 'x':
-      Result = getDerived().parseFunctionType();
-      break;
-    }
-    break;
-  //             ::= <function-type>
-  case 'F': {
-    Result = getDerived().parseFunctionType();
-    break;
-  }
-  //             ::= <array-type>
-  case 'A': {
-    Result = getDerived().parseArrayType();
-    break;
-  }
-  //             ::= <pointer-to-member-type>
-  case 'M': {
-    Result = getDerived().parsePointerToMemberType();
-    break;
-  }
-  //             ::= <template-param>
-  case 'T': {
-    // This could be an elaborate type specifier on a <class-enum-type>.
-    if (look(1) == 's' || look(1) == 'u' || look(1) == 'e') {
-      Result = getDerived().parseClassEnumType();
-      break;
-    }
-
-    Result = getDerived().parseTemplateParam();
-    if (Result == nullptr)
-      return nullptr;
-
-    // Result could be either of:
-    //   <type>        ::= <template-param>
-    //   <type>        ::= <template-template-param> <template-args>
-    //
-    //   <template-template-param> ::= <template-param>
-    //                             ::= <substitution>
-    //
-    // If this is followed by some <template-args>, and we're permitted to
-    // parse them, take the second production.
-
-    if (TryToParseTemplateArgs && look() == 'I') {
-      Node *TA = getDerived().parseTemplateArgs();
-      if (TA == nullptr)
-        return nullptr;
-      Result = make<NameWithTemplateArgs>(Result, TA);
-    }
-    break;
-  }
-  //             ::= P <type>        # pointer
-  case 'P': {
-    ++First;
-    Node *Ptr = getDerived().parseType();
-    if (Ptr == nullptr)
-      return nullptr;
-    Result = make<PointerType>(Ptr);
-    break;
-  }
-  //             ::= R <type>        # l-value reference
-  case 'R': {
-    ++First;
-    Node *Ref = getDerived().parseType();
-    if (Ref == nullptr)
-      return nullptr;
-    Result = make<ReferenceType>(Ref, ReferenceKind::LValue);
-    break;
-  }
-  //             ::= O <type>        # r-value reference (C++11)
-  case 'O': {
-    ++First;
-    Node *Ref = getDerived().parseType();
-    if (Ref == nullptr)
-      return nullptr;
-    Result = make<ReferenceType>(Ref, ReferenceKind::RValue);
-    break;
-  }
-  //             ::= C <type>        # complex pair (C99)
-  case 'C': {
-    ++First;
-    Node *P = getDerived().parseType();
-    if (P == nullptr)
-      return nullptr;
-    Result = make<PostfixQualifiedType>(P, " complex");
-    break;
-  }
-  //             ::= G <type>        # imaginary (C99)
-  case 'G': {
-    ++First;
-    Node *P = getDerived().parseType();
-    if (P == nullptr)
-      return P;
-    Result = make<PostfixQualifiedType>(P, " imaginary");
-    break;
-  }
-  //             ::= <substitution>  # See Compression below
-  case 'S': {
-    if (look(1) && look(1) != 't') {
-      Node *Sub = getDerived().parseSubstitution();
-      if (Sub == nullptr)
-        return nullptr;
-
-      // Sub could be either of:
-      //   <type>        ::= <substitution>
-      //   <type>        ::= <template-template-param> <template-args>
-      //
-      //   <template-template-param> ::= <template-param>
-      //                             ::= <substitution>
-      //
-      // If this is followed by some <template-args>, and we're permitted to
-      // parse them, take the second production.
-
-      if (TryToParseTemplateArgs && look() == 'I') {
-        Node *TA = getDerived().parseTemplateArgs();
-        if (TA == nullptr)
-          return nullptr;
-        Result = make<NameWithTemplateArgs>(Sub, TA);
-        break;
-      }
-
-      // If all we parsed was a substitution, don't re-insert into the
-      // substitution table.
-      return Sub;
-    }
-    DEMANGLE_FALLTHROUGH;
-  }
-  //        ::= <class-enum-type>
-  default: {
-    Result = getDerived().parseClassEnumType();
-    break;
-  }
-  }
-
-  // If we parsed a type, insert it into the substitution table. Note that all
-  // <builtin-type>s and <substitution>s have already bailed out, because they
-  // don't get substitutions.
-  if (Result != nullptr)
-    Subs.push_back(Result);
-  return Result;
-}
-
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parsePrefixExpr(StringView Kind) {
-  Node *E = getDerived().parseExpr();
-  if (E == nullptr)
-    return nullptr;
-  return make<PrefixExpr>(Kind, E);
-}
-
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseBinaryExpr(StringView Kind) {
-  Node *LHS = getDerived().parseExpr();
-  if (LHS == nullptr)
-    return nullptr;
-  Node *RHS = getDerived().parseExpr();
-  if (RHS == nullptr)
-    return nullptr;
-  return make<BinaryExpr>(LHS, Kind, RHS);
-}
-
-template <typename Derived, typename Alloc>
-Node *
-AbstractManglingParser<Derived, Alloc>::parseIntegerLiteral(StringView Lit) {
-  StringView Tmp = parseNumber(true);
-  if (!Tmp.empty() && consumeIf('E'))
-    return make<IntegerLiteral>(Lit, Tmp);
-  return nullptr;
-}
-
-// <CV-Qualifiers> ::= [r] [V] [K]
-template <typename Alloc, typename Derived>
-Qualifiers AbstractManglingParser<Alloc, Derived>::parseCVQualifiers() {
-  Qualifiers CVR = QualNone;
-  if (consumeIf('r'))
-    CVR |= QualRestrict;
-  if (consumeIf('V'))
-    CVR |= QualVolatile;
-  if (consumeIf('K'))
-    CVR |= QualConst;
-  return CVR;
-}
-
-// <function-param> ::= fp <top-level CV-Qualifiers> _                                     # L == 0, first parameter
-//                  ::= fp <top-level CV-Qualifiers> <parameter-2 non-negative number> _   # L == 0, second and later parameters
-//                  ::= fL <L-1 non-negative number> p <top-level CV-Qualifiers> _         # L > 0, first parameter
-//                  ::= fL <L-1 non-negative number> p <top-level CV-Qualifiers> <parameter-2 non-negative number> _   # L > 0, second and later parameters
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseFunctionParam() {
-  if (consumeIf("fp")) {
-    parseCVQualifiers();
-    StringView Num = parseNumber();
-    if (!consumeIf('_'))
-      return nullptr;
-    return make<FunctionParam>(Num);
-  }
-  if (consumeIf("fL")) {
-    if (parseNumber().empty())
-      return nullptr;
-    if (!consumeIf('p'))
-      return nullptr;
-    parseCVQualifiers();
-    StringView Num = parseNumber();
-    if (!consumeIf('_'))
-      return nullptr;
-    return make<FunctionParam>(Num);
-  }
-  return nullptr;
-}
-
-// [gs] nw <expression>* _ <type> E                     # new (expr-list) type
-// [gs] nw <expression>* _ <type> <initializer>         # new (expr-list) type (init)
-// [gs] na <expression>* _ <type> E                     # new[] (expr-list) type
-// [gs] na <expression>* _ <type> <initializer>         # new[] (expr-list) type (init)
-// <initializer> ::= pi <expression>* E                 # parenthesized initialization
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseNewExpr() {
-  bool Global = consumeIf("gs");
-  bool IsArray = look(1) == 'a';
-  if (!consumeIf("nw") && !consumeIf("na"))
-    return nullptr;
-  size_t Exprs = Names.size();
-  while (!consumeIf('_')) {
-    Node *Ex = getDerived().parseExpr();
-    if (Ex == nullptr)
-      return nullptr;
-    Names.push_back(Ex);
-  }
-  NodeArray ExprList = popTrailingNodeArray(Exprs);
-  Node *Ty = getDerived().parseType();
-  if (Ty == nullptr)
-    return Ty;
-  if (consumeIf("pi")) {
-    size_t InitsBegin = Names.size();
-    while (!consumeIf('E')) {
-      Node *Init = getDerived().parseExpr();
-      if (Init == nullptr)
-        return Init;
-      Names.push_back(Init);
-    }
-    NodeArray Inits = popTrailingNodeArray(InitsBegin);
-    return make<NewExpr>(ExprList, Ty, Inits, Global, IsArray);
-  } else if (!consumeIf('E'))
-    return nullptr;
-  return make<NewExpr>(ExprList, Ty, NodeArray(), Global, IsArray);
-}
-
-// cv <type> <expression>                               # conversion with one argument
-// cv <type> _ <expression>* E                          # conversion with a different number of arguments
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseConversionExpr() {
-  if (!consumeIf("cv"))
-    return nullptr;
-  Node *Ty;
-  {
-    SwapAndRestore<bool> SaveTemp(TryToParseTemplateArgs, false);
-    Ty = getDerived().parseType();
-  }
-
-  if (Ty == nullptr)
-    return nullptr;
-
-  if (consumeIf('_')) {
-    size_t ExprsBegin = Names.size();
-    while (!consumeIf('E')) {
-      Node *E = getDerived().parseExpr();
-      if (E == nullptr)
-        return E;
-      Names.push_back(E);
-    }
-    NodeArray Exprs = popTrailingNodeArray(ExprsBegin);
-    return make<ConversionExpr>(Ty, Exprs);
-  }
-
-  Node *E[1] = {getDerived().parseExpr()};
-  if (E[0] == nullptr)
-    return nullptr;
-  return make<ConversionExpr>(Ty, makeNodeArray(E, E + 1));
-}
-
-// <expr-primary> ::= L <type> <value number> E                          # integer literal
-//                ::= L <type> <value float> E                           # floating literal
-//                ::= L <string type> E                                  # string literal
-//                ::= L <nullptr type> E                                 # nullptr literal (i.e., "LDnE")
-// FIXME:         ::= L <type> <real-part float> _ <imag-part float> E   # complex floating point literal (C 2000)
-//                ::= L <mangled-name> E                                 # external name
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseExprPrimary() {
-  if (!consumeIf('L'))
-    return nullptr;
-  switch (look()) {
-  case 'w':
-    ++First;
-    return getDerived().parseIntegerLiteral("wchar_t");
-  case 'b':
-    if (consumeIf("b0E"))
-      return make<BoolExpr>(0);
-    if (consumeIf("b1E"))
-      return make<BoolExpr>(1);
-    return nullptr;
-  case 'c':
-    ++First;
-    return getDerived().parseIntegerLiteral("char");
-  case 'a':
-    ++First;
-    return getDerived().parseIntegerLiteral("signed char");
-  case 'h':
-    ++First;
-    return getDerived().parseIntegerLiteral("unsigned char");
-  case 's':
-    ++First;
-    return getDerived().parseIntegerLiteral("short");
-  case 't':
-    ++First;
-    return getDerived().parseIntegerLiteral("unsigned short");
-  case 'i':
-    ++First;
-    return getDerived().parseIntegerLiteral("");
-  case 'j':
-    ++First;
-    return getDerived().parseIntegerLiteral("u");
-  case 'l':
-    ++First;
-    return getDerived().parseIntegerLiteral("l");
-  case 'm':
-    ++First;
-    return getDerived().parseIntegerLiteral("ul");
-  case 'x':
-    ++First;
-    return getDerived().parseIntegerLiteral("ll");
-  case 'y':
-    ++First;
-    return getDerived().parseIntegerLiteral("ull");
-  case 'n':
-    ++First;
-    return getDerived().parseIntegerLiteral("__int128");
-  case 'o':
-    ++First;
-    return getDerived().parseIntegerLiteral("unsigned __int128");
-  case 'f':
-    ++First;
-    return getDerived().template parseFloatingLiteral<float>();
-  case 'd':
-    ++First;
-    return getDerived().template parseFloatingLiteral<double>();
-  case 'e':
-    ++First;
-    return getDerived().template parseFloatingLiteral<long double>();
-  case '_':
-    if (consumeIf("_Z")) {
-      Node *R = getDerived().parseEncoding();
-      if (R != nullptr && consumeIf('E'))
-        return R;
-    }
-    return nullptr;
-  case 'T':
-    // Invalid mangled name per
-    //   http://sourcerytools.com/pipermail/cxx-abi-dev/2011-August/002422.html
-    return nullptr;
-  default: {
-    // might be named type
-    Node *T = getDerived().parseType();
-    if (T == nullptr)
-      return nullptr;
-    StringView N = parseNumber();
-    if (!N.empty()) {
-      if (!consumeIf('E'))
-        return nullptr;
-      return make<IntegerCastExpr>(T, N);
-    }
-    if (consumeIf('E'))
-      return T;
-    return nullptr;
-  }
-  }
-}
-
-// <braced-expression> ::= <expression>
-//                     ::= di <field source-name> <braced-expression>    # .name = expr
-//                     ::= dx <index expression> <braced-expression>     # [expr] = expr
-//                     ::= dX <range begin expression> <range end expression> <braced-expression>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseBracedExpr() {
-  if (look() == 'd') {
-    switch (look(1)) {
-    case 'i': {
-      First += 2;
-      Node *Field = getDerived().parseSourceName(/*NameState=*/nullptr);
-      if (Field == nullptr)
-        return nullptr;
-      Node *Init = getDerived().parseBracedExpr();
-      if (Init == nullptr)
-        return nullptr;
-      return make<BracedExpr>(Field, Init, /*isArray=*/false);
-    }
-    case 'x': {
-      First += 2;
-      Node *Index = getDerived().parseExpr();
-      if (Index == nullptr)
-        return nullptr;
-      Node *Init = getDerived().parseBracedExpr();
-      if (Init == nullptr)
-        return nullptr;
-      return make<BracedExpr>(Index, Init, /*isArray=*/true);
-    }
-    case 'X': {
-      First += 2;
-      Node *RangeBegin = getDerived().parseExpr();
-      if (RangeBegin == nullptr)
-        return nullptr;
-      Node *RangeEnd = getDerived().parseExpr();
-      if (RangeEnd == nullptr)
-        return nullptr;
-      Node *Init = getDerived().parseBracedExpr();
-      if (Init == nullptr)
-        return nullptr;
-      return make<BracedRangeExpr>(RangeBegin, RangeEnd, Init);
-    }
-    }
-  }
-  return getDerived().parseExpr();
-}
-
-// (not yet in the spec)
-// <fold-expr> ::= fL <binary-operator-name> <expression> <expression>
-//             ::= fR <binary-operator-name> <expression> <expression>
-//             ::= fl <binary-operator-name> <expression>
-//             ::= fr <binary-operator-name> <expression>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseFoldExpr() {
-  if (!consumeIf('f'))
-    return nullptr;
-
-  char FoldKind = look();
-  bool IsLeftFold, HasInitializer;
-  HasInitializer = FoldKind == 'L' || FoldKind == 'R';
-  if (FoldKind == 'l' || FoldKind == 'L')
-    IsLeftFold = true;
-  else if (FoldKind == 'r' || FoldKind == 'R')
-    IsLeftFold = false;
-  else
-    return nullptr;
-  ++First;
-
-  // FIXME: This map is duplicated in parseOperatorName and parseExpr.
-  StringView OperatorName;
-  if      (consumeIf("aa")) OperatorName = "&&";
-  else if (consumeIf("an")) OperatorName = "&";
-  else if (consumeIf("aN")) OperatorName = "&=";
-  else if (consumeIf("aS")) OperatorName = "=";
-  else if (consumeIf("cm")) OperatorName = ",";
-  else if (consumeIf("ds")) OperatorName = ".*";
-  else if (consumeIf("dv")) OperatorName = "/";
-  else if (consumeIf("dV")) OperatorName = "/=";
-  else if (consumeIf("eo")) OperatorName = "^";
-  else if (consumeIf("eO")) OperatorName = "^=";
-  else if (consumeIf("eq")) OperatorName = "==";
-  else if (consumeIf("ge")) OperatorName = ">=";
-  else if (consumeIf("gt")) OperatorName = ">";
-  else if (consumeIf("le")) OperatorName = "<=";
-  else if (consumeIf("ls")) OperatorName = "<<";
-  else if (consumeIf("lS")) OperatorName = "<<=";
-  else if (consumeIf("lt")) OperatorName = "<";
-  else if (consumeIf("mi")) OperatorName = "-";
-  else if (consumeIf("mI")) OperatorName = "-=";
-  else if (consumeIf("ml")) OperatorName = "*";
-  else if (consumeIf("mL")) OperatorName = "*=";
-  else if (consumeIf("ne")) OperatorName = "!=";
-  else if (consumeIf("oo")) OperatorName = "||";
-  else if (consumeIf("or")) OperatorName = "|";
-  else if (consumeIf("oR")) OperatorName = "|=";
-  else if (consumeIf("pl")) OperatorName = "+";
-  else if (consumeIf("pL")) OperatorName = "+=";
-  else if (consumeIf("rm")) OperatorName = "%";
-  else if (consumeIf("rM")) OperatorName = "%=";
-  else if (consumeIf("rs")) OperatorName = ">>";
-  else if (consumeIf("rS")) OperatorName = ">>=";
-  else return nullptr;
-
-  Node *Pack = getDerived().parseExpr(), *Init = nullptr;
-  if (Pack == nullptr)
-    return nullptr;
-  if (HasInitializer) {
-    Init = getDerived().parseExpr();
-    if (Init == nullptr)
-      return nullptr;
-  }
-
-  if (IsLeftFold && Init)
-    std::swap(Pack, Init);
-
-  return make<FoldExpr>(IsLeftFold, OperatorName, Pack, Init);
-}
-
-// <expression> ::= <unary operator-name> <expression>
-//              ::= <binary operator-name> <expression> <expression>
-//              ::= <ternary operator-name> <expression> <expression> <expression>
-//              ::= cl <expression>+ E                                   # call
-//              ::= cv <type> <expression>                               # conversion with one argument
-//              ::= cv <type> _ <expression>* E                          # conversion with a different number of arguments
-//              ::= [gs] nw <expression>* _ <type> E                     # new (expr-list) type
-//              ::= [gs] nw <expression>* _ <type> <initializer>         # new (expr-list) type (init)
-//              ::= [gs] na <expression>* _ <type> E                     # new[] (expr-list) type
-//              ::= [gs] na <expression>* _ <type> <initializer>         # new[] (expr-list) type (init)
-//              ::= [gs] dl <expression>                                 # delete expression
-//              ::= [gs] da <expression>                                 # delete[] expression
-//              ::= pp_ <expression>                                     # prefix ++
-//              ::= mm_ <expression>                                     # prefix --
-//              ::= ti <type>                                            # typeid (type)
-//              ::= te <expression>                                      # typeid (expression)
-//              ::= dc <type> <expression>                               # dynamic_cast<type> (expression)
-//              ::= sc <type> <expression>                               # static_cast<type> (expression)
-//              ::= cc <type> <expression>                               # const_cast<type> (expression)
-//              ::= rc <type> <expression>                               # reinterpret_cast<type> (expression)
-//              ::= st <type>                                            # sizeof (a type)
-//              ::= sz <expression>                                      # sizeof (an expression)
-//              ::= at <type>                                            # alignof (a type)
-//              ::= az <expression>                                      # alignof (an expression)
-//              ::= nx <expression>                                      # noexcept (expression)
-//              ::= <template-param>
-//              ::= <function-param>
-//              ::= dt <expression> <unresolved-name>                    # expr.name
-//              ::= pt <expression> <unresolved-name>                    # expr->name
-//              ::= ds <expression> <expression>                         # expr.*expr
-//              ::= sZ <template-param>                                  # size of a parameter pack
-//              ::= sZ <function-param>                                  # size of a function parameter pack
-//              ::= sP <template-arg>* E                                 # sizeof...(T), size of a captured template parameter pack from an alias template
-//              ::= sp <expression>                                      # pack expansion
-//              ::= tw <expression>                                      # throw expression
-//              ::= tr                                                   # throw with no operand (rethrow)
-//              ::= <unresolved-name>                                    # f(p), N::f(p), ::f(p),
-//                                                                       # freestanding dependent name (e.g., T::x),
-//                                                                       # objectless nonstatic member reference
-//              ::= fL <binary-operator-name> <expression> <expression>
-//              ::= fR <binary-operator-name> <expression> <expression>
-//              ::= fl <binary-operator-name> <expression>
-//              ::= fr <binary-operator-name> <expression>
-//              ::= <expr-primary>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseExpr() {
-  bool Global = consumeIf("gs");
-  if (numLeft() < 2)
-    return nullptr;
-
-  switch (*First) {
-  case 'L':
-    return getDerived().parseExprPrimary();
-  case 'T':
-    return getDerived().parseTemplateParam();
-  case 'f': {
-    // Disambiguate a fold expression from a <function-param>.
-    if (look(1) == 'p' || (look(1) == 'L' && std::isdigit(look(2))))
-      return getDerived().parseFunctionParam();
-    return getDerived().parseFoldExpr();
-  }
-  case 'a':
-    switch (First[1]) {
-    case 'a':
-      First += 2;
-      return getDerived().parseBinaryExpr("&&");
-    case 'd':
-      First += 2;
-      return getDerived().parsePrefixExpr("&");
-    case 'n':
-      First += 2;
-      return getDerived().parseBinaryExpr("&");
-    case 'N':
-      First += 2;
-      return getDerived().parseBinaryExpr("&=");
-    case 'S':
-      First += 2;
-      return getDerived().parseBinaryExpr("=");
-    case 't': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return nullptr;
-      return make<EnclosingExpr>("alignof (", Ty, ")");
-    }
-    case 'z': {
-      First += 2;
-      Node *Ty = getDerived().parseExpr();
-      if (Ty == nullptr)
-        return nullptr;
-      return make<EnclosingExpr>("alignof (", Ty, ")");
-    }
-    }
-    return nullptr;
-  case 'c':
-    switch (First[1]) {
-    // cc <type> <expression>                               # const_cast<type>(expression)
-    case 'c': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return Ty;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<CastExpr>("const_cast", Ty, Ex);
-    }
-    // cl <expression>+ E                                   # call
-    case 'l': {
-      First += 2;
-      Node *Callee = getDerived().parseExpr();
-      if (Callee == nullptr)
-        return Callee;
-      size_t ExprsBegin = Names.size();
-      while (!consumeIf('E')) {
-        Node *E = getDerived().parseExpr();
-        if (E == nullptr)
-          return E;
-        Names.push_back(E);
-      }
-      return make<CallExpr>(Callee, popTrailingNodeArray(ExprsBegin));
-    }
-    case 'm':
-      First += 2;
-      return getDerived().parseBinaryExpr(",");
-    case 'o':
-      First += 2;
-      return getDerived().parsePrefixExpr("~");
-    case 'v':
-      return getDerived().parseConversionExpr();
-    }
-    return nullptr;
-  case 'd':
-    switch (First[1]) {
-    case 'a': {
-      First += 2;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<DeleteExpr>(Ex, Global, /*is_array=*/true);
-    }
-    case 'c': {
-      First += 2;
-      Node *T = getDerived().parseType();
-      if (T == nullptr)
-        return T;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<CastExpr>("dynamic_cast", T, Ex);
-    }
-    case 'e':
-      First += 2;
-      return getDerived().parsePrefixExpr("*");
-    case 'l': {
-      First += 2;
-      Node *E = getDerived().parseExpr();
-      if (E == nullptr)
-        return E;
-      return make<DeleteExpr>(E, Global, /*is_array=*/false);
-    }
-    case 'n':
-      return getDerived().parseUnresolvedName();
-    case 's': {
-      First += 2;
-      Node *LHS = getDerived().parseExpr();
-      if (LHS == nullptr)
-        return nullptr;
-      Node *RHS = getDerived().parseExpr();
-      if (RHS == nullptr)
-        return nullptr;
-      return make<MemberExpr>(LHS, ".*", RHS);
-    }
-    case 't': {
-      First += 2;
-      Node *LHS = getDerived().parseExpr();
-      if (LHS == nullptr)
-        return LHS;
-      Node *RHS = getDerived().parseExpr();
-      if (RHS == nullptr)
-        return nullptr;
-      return make<MemberExpr>(LHS, ".", RHS);
-    }
-    case 'v':
-      First += 2;
-      return getDerived().parseBinaryExpr("/");
-    case 'V':
-      First += 2;
-      return getDerived().parseBinaryExpr("/=");
-    }
-    return nullptr;
-  case 'e':
-    switch (First[1]) {
-    case 'o':
-      First += 2;
-      return getDerived().parseBinaryExpr("^");
-    case 'O':
-      First += 2;
-      return getDerived().parseBinaryExpr("^=");
-    case 'q':
-      First += 2;
-      return getDerived().parseBinaryExpr("==");
-    }
-    return nullptr;
-  case 'g':
-    switch (First[1]) {
-    case 'e':
-      First += 2;
-      return getDerived().parseBinaryExpr(">=");
-    case 't':
-      First += 2;
-      return getDerived().parseBinaryExpr(">");
-    }
-    return nullptr;
-  case 'i':
-    switch (First[1]) {
-    case 'x': {
-      First += 2;
-      Node *Base = getDerived().parseExpr();
-      if (Base == nullptr)
-        return nullptr;
-      Node *Index = getDerived().parseExpr();
-      if (Index == nullptr)
-        return Index;
-      return make<ArraySubscriptExpr>(Base, Index);
-    }
-    case 'l': {
-      First += 2;
-      size_t InitsBegin = Names.size();
-      while (!consumeIf('E')) {
-        Node *E = getDerived().parseBracedExpr();
-        if (E == nullptr)
-          return nullptr;
-        Names.push_back(E);
-      }
-      return make<InitListExpr>(nullptr, popTrailingNodeArray(InitsBegin));
-    }
-    }
-    return nullptr;
-  case 'l':
-    switch (First[1]) {
-    case 'e':
-      First += 2;
-      return getDerived().parseBinaryExpr("<=");
-    case 's':
-      First += 2;
-      return getDerived().parseBinaryExpr("<<");
-    case 'S':
-      First += 2;
-      return getDerived().parseBinaryExpr("<<=");
-    case 't':
-      First += 2;
-      return getDerived().parseBinaryExpr("<");
-    }
-    return nullptr;
-  case 'm':
-    switch (First[1]) {
-    case 'i':
-      First += 2;
-      return getDerived().parseBinaryExpr("-");
-    case 'I':
-      First += 2;
-      return getDerived().parseBinaryExpr("-=");
-    case 'l':
-      First += 2;
-      return getDerived().parseBinaryExpr("*");
-    case 'L':
-      First += 2;
-      return getDerived().parseBinaryExpr("*=");
-    case 'm':
-      First += 2;
-      if (consumeIf('_'))
-        return getDerived().parsePrefixExpr("--");
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return nullptr;
-      return make<PostfixExpr>(Ex, "--");
-    }
-    return nullptr;
-  case 'n':
-    switch (First[1]) {
-    case 'a':
-    case 'w':
-      return getDerived().parseNewExpr();
-    case 'e':
-      First += 2;
-      return getDerived().parseBinaryExpr("!=");
-    case 'g':
-      First += 2;
-      return getDerived().parsePrefixExpr("-");
-    case 't':
-      First += 2;
-      return getDerived().parsePrefixExpr("!");
-    case 'x':
-      First += 2;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<EnclosingExpr>("noexcept (", Ex, ")");
-    }
-    return nullptr;
-  case 'o':
-    switch (First[1]) {
-    case 'n':
-      return getDerived().parseUnresolvedName();
-    case 'o':
-      First += 2;
-      return getDerived().parseBinaryExpr("||");
-    case 'r':
-      First += 2;
-      return getDerived().parseBinaryExpr("|");
-    case 'R':
-      First += 2;
-      return getDerived().parseBinaryExpr("|=");
-    }
-    return nullptr;
-  case 'p':
-    switch (First[1]) {
-    case 'm':
-      First += 2;
-      return getDerived().parseBinaryExpr("->*");
-    case 'l':
-      First += 2;
-      return getDerived().parseBinaryExpr("+");
-    case 'L':
-      First += 2;
-      return getDerived().parseBinaryExpr("+=");
-    case 'p': {
-      First += 2;
-      if (consumeIf('_'))
-        return getDerived().parsePrefixExpr("++");
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<PostfixExpr>(Ex, "++");
-    }
-    case 's':
-      First += 2;
-      return getDerived().parsePrefixExpr("+");
-    case 't': {
-      First += 2;
-      Node *L = getDerived().parseExpr();
-      if (L == nullptr)
-        return nullptr;
-      Node *R = getDerived().parseExpr();
-      if (R == nullptr)
-        return nullptr;
-      return make<MemberExpr>(L, "->", R);
-    }
-    }
-    return nullptr;
-  case 'q':
-    if (First[1] == 'u') {
-      First += 2;
-      Node *Cond = getDerived().parseExpr();
-      if (Cond == nullptr)
-        return nullptr;
-      Node *LHS = getDerived().parseExpr();
-      if (LHS == nullptr)
-        return nullptr;
-      Node *RHS = getDerived().parseExpr();
-      if (RHS == nullptr)
-        return nullptr;
-      return make<ConditionalExpr>(Cond, LHS, RHS);
-    }
-    return nullptr;
-  case 'r':
-    switch (First[1]) {
-    case 'c': {
-      First += 2;
-      Node *T = getDerived().parseType();
-      if (T == nullptr)
-        return T;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<CastExpr>("reinterpret_cast", T, Ex);
-    }
-    case 'm':
-      First += 2;
-      return getDerived().parseBinaryExpr("%");
-    case 'M':
-      First += 2;
-      return getDerived().parseBinaryExpr("%=");
-    case 's':
-      First += 2;
-      return getDerived().parseBinaryExpr(">>");
-    case 'S':
-      First += 2;
-      return getDerived().parseBinaryExpr(">>=");
-    }
-    return nullptr;
-  case 's':
-    switch (First[1]) {
-    case 'c': {
-      First += 2;
-      Node *T = getDerived().parseType();
-      if (T == nullptr)
-        return T;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<CastExpr>("static_cast", T, Ex);
-    }
-    case 'p': {
-      First += 2;
-      Node *Child = getDerived().parseExpr();
-      if (Child == nullptr)
-        return nullptr;
-      return make<ParameterPackExpansion>(Child);
-    }
-    case 'r':
-      return getDerived().parseUnresolvedName();
-    case 't': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return Ty;
-      return make<EnclosingExpr>("sizeof (", Ty, ")");
-    }
-    case 'z': {
-      First += 2;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<EnclosingExpr>("sizeof (", Ex, ")");
-    }
-    case 'Z':
-      First += 2;
-      if (look() == 'T') {
-        Node *R = getDerived().parseTemplateParam();
-        if (R == nullptr)
-          return nullptr;
-        return make<SizeofParamPackExpr>(R);
-      } else if (look() == 'f') {
-        Node *FP = getDerived().parseFunctionParam();
-        if (FP == nullptr)
-          return nullptr;
-        return make<EnclosingExpr>("sizeof... (", FP, ")");
-      }
-      return nullptr;
-    case 'P': {
-      First += 2;
-      size_t ArgsBegin = Names.size();
-      while (!consumeIf('E')) {
-        Node *Arg = getDerived().parseTemplateArg();
-        if (Arg == nullptr)
-          return nullptr;
-        Names.push_back(Arg);
-      }
-      auto *Pack = make<NodeArrayNode>(popTrailingNodeArray(ArgsBegin));
-      if (!Pack)
-        return nullptr;
-      return make<EnclosingExpr>("sizeof... (", Pack, ")");
-    }
-    }
-    return nullptr;
-  case 't':
-    switch (First[1]) {
-    case 'e': {
-      First += 2;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return Ex;
-      return make<EnclosingExpr>("typeid (", Ex, ")");
-    }
-    case 'i': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return Ty;
-      return make<EnclosingExpr>("typeid (", Ty, ")");
-    }
-    case 'l': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return nullptr;
-      size_t InitsBegin = Names.size();
-      while (!consumeIf('E')) {
-        Node *E = getDerived().parseBracedExpr();
-        if (E == nullptr)
-          return nullptr;
-        Names.push_back(E);
-      }
-      return make<InitListExpr>(Ty, popTrailingNodeArray(InitsBegin));
-    }
-    case 'r':
-      First += 2;
-      return make<NameType>("throw");
-    case 'w': {
-      First += 2;
-      Node *Ex = getDerived().parseExpr();
-      if (Ex == nullptr)
-        return nullptr;
-      return make<ThrowExpr>(Ex);
-    }
-    }
-    return nullptr;
-  case '1':
-  case '2':
-  case '3':
-  case '4':
-  case '5':
-  case '6':
-  case '7':
-  case '8':
-  case '9':
-    return getDerived().parseUnresolvedName();
-  }
-
-  if (consumeIf("u8__uuidoft")) {
-    Node *Ty = getDerived().parseType();
-    if (!Ty)
-      return nullptr;
-    return make<UUIDOfExpr>(Ty);
-  }
-
-  if (consumeIf("u8__uuidofz")) {
-    Node *Ex = getDerived().parseExpr();
-    if (!Ex)
-      return nullptr;
-    return make<UUIDOfExpr>(Ex);
-  }
-
-  return nullptr;
-}
-
-// <call-offset> ::= h <nv-offset> _
-//               ::= v <v-offset> _
-//
-// <nv-offset> ::= <offset number>
-//               # non-virtual base override
-//
-// <v-offset>  ::= <offset number> _ <virtual offset number>
-//               # virtual base override, with vcall offset
-template <typename Alloc, typename Derived>
-bool AbstractManglingParser<Alloc, Derived>::parseCallOffset() {
-  // Just scan through the call offset, we never add this information into the
-  // output.
-  if (consumeIf('h'))
-    return parseNumber(true).empty() || !consumeIf('_');
-  if (consumeIf('v'))
-    return parseNumber(true).empty() || !consumeIf('_') ||
-           parseNumber(true).empty() || !consumeIf('_');
-  return true;
-}
-
-// <special-name> ::= TV <type>    # virtual table
-//                ::= TT <type>    # VTT structure (construction vtable index)
-//                ::= TI <type>    # typeinfo structure
-//                ::= TS <type>    # typeinfo name (null-terminated byte string)
-//                ::= Tc <call-offset> <call-offset> <base encoding>
-//                    # base is the nominal target function of thunk
-//                    # first call-offset is 'this' adjustment
-//                    # second call-offset is result adjustment
-//                ::= T <call-offset> <base encoding>
-//                    # base is the nominal target function of thunk
-//                ::= GV <object name> # Guard variable for one-time initialization
-//                                     # No <type>
-//                ::= TW <object name> # Thread-local wrapper
-//                ::= TH <object name> # Thread-local initialization
-//                ::= GR <object name> _             # First temporary
-//                ::= GR <object name> <seq-id> _    # Subsequent temporaries
-//      extension ::= TC <first type> <number> _ <second type> # construction vtable for second-in-first
-//      extension ::= GR <object name> # reference temporary for object
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseSpecialName() {
-  switch (look()) {
-  case 'T':
-    switch (look(1)) {
-    // TV <type>    # virtual table
-    case 'V': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return nullptr;
-      return make<SpecialName>("vtable for ", Ty);
-    }
-    // TT <type>    # VTT structure (construction vtable index)
-    case 'T': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return nullptr;
-      return make<SpecialName>("VTT for ", Ty);
-    }
-    // TI <type>    # typeinfo structure
-    case 'I': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return nullptr;
-      return make<SpecialName>("typeinfo for ", Ty);
-    }
-    // TS <type>    # typeinfo name (null-terminated byte string)
-    case 'S': {
-      First += 2;
-      Node *Ty = getDerived().parseType();
-      if (Ty == nullptr)
-        return nullptr;
-      return make<SpecialName>("typeinfo name for ", Ty);
-    }
-    // Tc <call-offset> <call-offset> <base encoding>
-    case 'c': {
-      First += 2;
-      if (parseCallOffset() || parseCallOffset())
-        return nullptr;
-      Node *Encoding = getDerived().parseEncoding();
-      if (Encoding == nullptr)
-        return nullptr;
-      return make<SpecialName>("covariant return thunk to ", Encoding);
-    }
-    // extension ::= TC <first type> <number> _ <second type>
-    //               # construction vtable for second-in-first
-    case 'C': {
-      First += 2;
-      Node *FirstType = getDerived().parseType();
-      if (FirstType == nullptr)
-        return nullptr;
-      if (parseNumber(true).empty() || !consumeIf('_'))
-        return nullptr;
-      Node *SecondType = getDerived().parseType();
-      if (SecondType == nullptr)
-        return nullptr;
-      return make<CtorVtableSpecialName>(SecondType, FirstType);
-    }
-    // TW <object name> # Thread-local wrapper
-    case 'W': {
-      First += 2;
-      Node *Name = getDerived().parseName();
-      if (Name == nullptr)
-        return nullptr;
-      return make<SpecialName>("thread-local wrapper routine for ", Name);
-    }
-    // TH <object name> # Thread-local initialization
-    case 'H': {
-      First += 2;
-      Node *Name = getDerived().parseName();
-      if (Name == nullptr)
-        return nullptr;
-      return make<SpecialName>("thread-local initialization routine for ", Name);
-    }
-    // T <call-offset> <base encoding>
-    default: {
-      ++First;
-      bool IsVirt = look() == 'v';
-      if (parseCallOffset())
-        return nullptr;
-      Node *BaseEncoding = getDerived().parseEncoding();
-      if (BaseEncoding == nullptr)
-        return nullptr;
-      if (IsVirt)
-        return make<SpecialName>("virtual thunk to ", BaseEncoding);
-      else
-        return make<SpecialName>("non-virtual thunk to ", BaseEncoding);
-    }
-    }
-  case 'G':
-    switch (look(1)) {
-    // GV <object name> # Guard variable for one-time initialization
-    case 'V': {
-      First += 2;
-      Node *Name = getDerived().parseName();
-      if (Name == nullptr)
-        return nullptr;
-      return make<SpecialName>("guard variable for ", Name);
-    }
-    // GR <object name> # reference temporary for object
-    // GR <object name> _             # First temporary
-    // GR <object name> <seq-id> _    # Subsequent temporaries
-    case 'R': {
-      First += 2;
-      Node *Name = getDerived().parseName();
-      if (Name == nullptr)
-        return nullptr;
-      size_t Count;
-      bool ParsedSeqId = !parseSeqId(&Count);
-      if (!consumeIf('_') && ParsedSeqId)
-        return nullptr;
-      return make<SpecialName>("reference temporary for ", Name);
-    }
-    }
-  }
-  return nullptr;
-}
-
-// <encoding> ::= <function name> <bare-function-type>
-//            ::= <data name>
-//            ::= <special-name>
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseEncoding() {
-  if (look() == 'G' || look() == 'T')
-    return getDerived().parseSpecialName();
-
-  auto IsEndOfEncoding = [&] {
-    // The set of chars that can potentially follow an <encoding> (none of which
-    // can start a <type>). Enumerating these allows us to avoid speculative
-    // parsing.
-    return numLeft() == 0 || look() == 'E' || look() == '.' || look() == '_';
-  };
-
-  NameState NameInfo(this);
-  Node *Name = getDerived().parseName(&NameInfo);
-  if (Name == nullptr)
-    return nullptr;
-
-  if (resolveForwardTemplateRefs(NameInfo))
-    return nullptr;
-
-  if (IsEndOfEncoding())
-    return Name;
-
-  Node *Attrs = nullptr;
-  if (consumeIf("Ua9enable_ifI")) {
-    size_t BeforeArgs = Names.size();
-    while (!consumeIf('E')) {
-      Node *Arg = getDerived().parseTemplateArg();
-      if (Arg == nullptr)
-        return nullptr;
-      Names.push_back(Arg);
-    }
-    Attrs = make<EnableIfAttr>(popTrailingNodeArray(BeforeArgs));
-    if (!Attrs)
-      return nullptr;
-  }
-
-  Node *ReturnType = nullptr;
-  if (!NameInfo.CtorDtorConversion && NameInfo.EndsWithTemplateArgs) {
-    ReturnType = getDerived().parseType();
-    if (ReturnType == nullptr)
-      return nullptr;
-  }
-
-  if (consumeIf('v'))
-    return make<FunctionEncoding>(ReturnType, Name, NodeArray(),
-                                  Attrs, NameInfo.CVQualifiers,
-                                  NameInfo.ReferenceQualifier);
-
-  size_t ParamsBegin = Names.size();
-  do {
-    Node *Ty = getDerived().parseType();
-    if (Ty == nullptr)
-      return nullptr;
-    Names.push_back(Ty);
-  } while (!IsEndOfEncoding());
-
-  return make<FunctionEncoding>(ReturnType, Name,
-                                popTrailingNodeArray(ParamsBegin),
-                                Attrs, NameInfo.CVQualifiers,
-                                NameInfo.ReferenceQualifier);
-}
-
-template <class Float>
-struct FloatData;
-
-template <>
-struct FloatData<float>
-{
-    static const size_t mangled_size = 8;
-    static const size_t max_demangled_size = 24;
-    static constexpr const char* spec = "%af";
-};
-
-template <>
-struct FloatData<double>
-{
-    static const size_t mangled_size = 16;
-    static const size_t max_demangled_size = 32;
-    static constexpr const char* spec = "%a";
-};
-
-template <>
-struct FloatData<long double>
-{
-#if defined(__mips__) && defined(__mips_n64) || defined(__aarch64__) || \
-    defined(__wasm__)
-    static const size_t mangled_size = 32;
-#elif defined(__arm__) || defined(__mips__) || defined(__hexagon__)
-    static const size_t mangled_size = 16;
-#else
-    static const size_t mangled_size = 20;  // May need to be adjusted to 16 or 24 on other platforms
-#endif
-    static const size_t max_demangled_size = 40;
-    static constexpr const char *spec = "%LaL";
-};
-
-template <typename Alloc, typename Derived>
-template <class Float>
-Node *AbstractManglingParser<Alloc, Derived>::parseFloatingLiteral() {
-  const size_t N = FloatData<Float>::mangled_size;
-  if (numLeft() <= N)
-    return nullptr;
-  StringView Data(First, First + N);
-  for (char C : Data)
-    if (!std::isxdigit(C))
-      return nullptr;
-  First += N;
-  if (!consumeIf('E'))
-    return nullptr;
-  return make<FloatLiteralImpl<Float>>(Data);
-}
-
-// <seq-id> ::= <0-9A-Z>+
-template <typename Alloc, typename Derived>
-bool AbstractManglingParser<Alloc, Derived>::parseSeqId(size_t *Out) {
-  if (!(look() >= '0' && look() <= '9') &&
-      !(look() >= 'A' && look() <= 'Z'))
-    return true;
-
-  size_t Id = 0;
-  while (true) {
-    if (look() >= '0' && look() <= '9') {
-      Id *= 36;
-      Id += static_cast<size_t>(look() - '0');
-    } else if (look() >= 'A' && look() <= 'Z') {
-      Id *= 36;
-      Id += static_cast<size_t>(look() - 'A') + 10;
-    } else {
-      *Out = Id;
-      return false;
-    }
-    ++First;
-  }
-}
-
-// <substitution> ::= S <seq-id> _
-//                ::= S_
-// <substitution> ::= Sa # ::std::allocator
-// <substitution> ::= Sb # ::std::basic_string
-// <substitution> ::= Ss # ::std::basic_string < char,
-//                                               ::std::char_traits<char>,
-//                                               ::std::allocator<char> >
-// <substitution> ::= Si # ::std::basic_istream<char,  std::char_traits<char> >
-// <substitution> ::= So # ::std::basic_ostream<char,  std::char_traits<char> >
-// <substitution> ::= Sd # ::std::basic_iostream<char, std::char_traits<char> >
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseSubstitution() {
-  if (!consumeIf('S'))
-    return nullptr;
-
-  if (std::islower(look())) {
-    Node *SpecialSub;
-    switch (look()) {
-    case 'a':
-      ++First;
-      SpecialSub = make<SpecialSubstitution>(SpecialSubKind::allocator);
-      break;
-    case 'b':
-      ++First;
-      SpecialSub = make<SpecialSubstitution>(SpecialSubKind::basic_string);
-      break;
-    case 's':
-      ++First;
-      SpecialSub = make<SpecialSubstitution>(SpecialSubKind::string);
-      break;
-    case 'i':
-      ++First;
-      SpecialSub = make<SpecialSubstitution>(SpecialSubKind::istream);
-      break;
-    case 'o':
-      ++First;
-      SpecialSub = make<SpecialSubstitution>(SpecialSubKind::ostream);
-      break;
-    case 'd':
-      ++First;
-      SpecialSub = make<SpecialSubstitution>(SpecialSubKind::iostream);
-      break;
-    default:
-      return nullptr;
-    }
-    if (!SpecialSub)
-      return nullptr;
-    // Itanium C++ ABI 5.1.2: If a name that would use a built-in <substitution>
-    // has ABI tags, the tags are appended to the substitution; the result is a
-    // substitutable component.
-    Node *WithTags = getDerived().parseAbiTags(SpecialSub);
-    if (WithTags != SpecialSub) {
-      Subs.push_back(WithTags);
-      SpecialSub = WithTags;
-    }
-    return SpecialSub;
-  }
-
-  //                ::= S_
-  if (consumeIf('_')) {
-    if (Subs.empty())
-      return nullptr;
-    return Subs[0];
-  }
-
-  //                ::= S <seq-id> _
-  size_t Index = 0;
-  if (parseSeqId(&Index))
-    return nullptr;
-  ++Index;
-  if (!consumeIf('_') || Index >= Subs.size())
-    return nullptr;
-  return Subs[Index];
-}
-
-// <template-param> ::= T_    # first template parameter
-//                  ::= T <parameter-2 non-negative number> _
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseTemplateParam() {
-  if (!consumeIf('T'))
-    return nullptr;
-
-  size_t Index = 0;
-  if (!consumeIf('_')) {
-    if (parsePositiveInteger(&Index))
-      return nullptr;
-    ++Index;
-    if (!consumeIf('_'))
-      return nullptr;
-  }
-
-  // Itanium ABI 5.1.8: In a generic lambda, uses of auto in the parameter list
-  // are mangled as the corresponding artificial template type parameter.
-  if (ParsingLambdaParams)
-    return make<NameType>("auto");
-
-  // If we're in a context where this <template-param> refers to a
-  // <template-arg> further ahead in the mangled name (currently just conversion
-  // operator types), then we should only look it up in the right context.
-  if (PermitForwardTemplateReferences) {
-    Node *ForwardRef = make<ForwardTemplateReference>(Index);
-    if (!ForwardRef)
-      return nullptr;
-    assert(ForwardRef->getKind() == Node::KForwardTemplateReference);
-    ForwardTemplateRefs.push_back(
-        static_cast<ForwardTemplateReference *>(ForwardRef));
-    return ForwardRef;
-  }
-
-  if (Index >= TemplateParams.size())
-    return nullptr;
-  return TemplateParams[Index];
-}
-
-// <template-arg> ::= <type>                    # type or template
-//                ::= X <expression> E          # expression
-//                ::= <expr-primary>            # simple expressions
-//                ::= J <template-arg>* E       # argument pack
-//                ::= LZ <encoding> E           # extension
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parseTemplateArg() {
-  switch (look()) {
-  case 'X': {
-    ++First;
-    Node *Arg = getDerived().parseExpr();
-    if (Arg == nullptr || !consumeIf('E'))
-      return nullptr;
-    return Arg;
-  }
-  case 'J': {
-    ++First;
-    size_t ArgsBegin = Names.size();
-    while (!consumeIf('E')) {
-      Node *Arg = getDerived().parseTemplateArg();
-      if (Arg == nullptr)
-        return nullptr;
-      Names.push_back(Arg);
-    }
-    NodeArray Args = popTrailingNodeArray(ArgsBegin);
-    return make<TemplateArgumentPack>(Args);
-  }
-  case 'L': {
-    //                ::= LZ <encoding> E           # extension
-    if (look(1) == 'Z') {
-      First += 2;
-      Node *Arg = getDerived().parseEncoding();
-      if (Arg == nullptr || !consumeIf('E'))
-        return nullptr;
-      return Arg;
-    }
-    //                ::= <expr-primary>            # simple expressions
-    return getDerived().parseExprPrimary();
-  }
-  default:
-    return getDerived().parseType();
-  }
-}
-
-// <template-args> ::= I <template-arg>* E
-//     extension, the abi says <template-arg>+
-template <typename Derived, typename Alloc>
-Node *
-AbstractManglingParser<Derived, Alloc>::parseTemplateArgs(bool TagTemplates) {
-  if (!consumeIf('I'))
-    return nullptr;
-
-  // <template-params> refer to the innermost <template-args>. Clear out any
-  // outer args that we may have inserted into TemplateParams.
-  if (TagTemplates)
-    TemplateParams.clear();
-
-  size_t ArgsBegin = Names.size();
-  while (!consumeIf('E')) {
-    if (TagTemplates) {
-      auto OldParams = std::move(TemplateParams);
-      Node *Arg = getDerived().parseTemplateArg();
-      TemplateParams = std::move(OldParams);
-      if (Arg == nullptr)
-        return nullptr;
-      Names.push_back(Arg);
-      Node *TableEntry = Arg;
-      if (Arg->getKind() == Node::KTemplateArgumentPack) {
-        TableEntry = make<ParameterPack>(
-            static_cast<TemplateArgumentPack*>(TableEntry)->getElements());
-        if (!TableEntry)
-          return nullptr;
-      }
-      TemplateParams.push_back(TableEntry);
-    } else {
-      Node *Arg = getDerived().parseTemplateArg();
-      if (Arg == nullptr)
-        return nullptr;
-      Names.push_back(Arg);
-    }
-  }
-  return make<TemplateArgs>(popTrailingNodeArray(ArgsBegin));
-}
-
-// <mangled-name> ::= _Z <encoding>
-//                ::= <type>
-// extension      ::= ___Z <encoding> _block_invoke
-// extension      ::= ___Z <encoding> _block_invoke<decimal-digit>+
-// extension      ::= ___Z <encoding> _block_invoke_<decimal-digit>+
-template <typename Derived, typename Alloc>
-Node *AbstractManglingParser<Derived, Alloc>::parse() {
-  if (consumeIf("_Z") || consumeIf("__Z")) {
-    Node *Encoding = getDerived().parseEncoding();
-    if (Encoding == nullptr)
-      return nullptr;
-    if (look() == '.') {
-      Encoding = make<DotSuffix>(Encoding, StringView(First, Last));
-      First = Last;
-    }
-    if (numLeft() != 0)
-      return nullptr;
-    return Encoding;
-  }
-
-  if (consumeIf("___Z") || consumeIf("____Z")) {
-    Node *Encoding = getDerived().parseEncoding();
-    if (Encoding == nullptr || !consumeIf("_block_invoke"))
-      return nullptr;
-    bool RequireNumber = consumeIf('_');
-    if (parseNumber().empty() && RequireNumber)
-      return nullptr;
-    if (look() == '.')
-      First = Last;
-    if (numLeft() != 0)
-      return nullptr;
-    return make<SpecialName>("invocation function for block in ", Encoding);
-  }
-
-  Node *Ty = getDerived().parseType();
-  if (numLeft() != 0)
-    return nullptr;
-  return Ty;
-}
-
-template <typename Alloc>
-struct ManglingParser : AbstractManglingParser<ManglingParser<Alloc>, Alloc> {
-  using AbstractManglingParser<ManglingParser<Alloc>,
-                               Alloc>::AbstractManglingParser;
-};
-
-DEMANGLE_NAMESPACE_END
-
-#endif // DEMANGLE_ITANIUMDEMANGLE_H
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/Utility.h b/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/Utility.h
deleted file mode 100644
index ec23859..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/demangle/Utility.h
+++ /dev/null
@@ -1,191 +0,0 @@
-//===--- Utility.h ----------------------------------------------*- 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
-//
-//===----------------------------------------------------------------------===//
-//
-// Provide some utility classes for use in the demangler(s).
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef DEMANGLE_UTILITY_H
-#define DEMANGLE_UTILITY_H
-
-#include "StringView.h"
-#include <cstdint>
-#include <cstdlib>
-#include <cstring>
-#include <iterator>
-#include <limits>
-
-DEMANGLE_NAMESPACE_BEGIN
-
-// Stream that AST nodes write their string representation into after the AST
-// has been parsed.
-class OutputStream {
-  char *Buffer;
-  size_t CurrentPosition;
-  size_t BufferCapacity;
-
-  // Ensure there is at least n more positions in buffer.
-  void grow(size_t N) {
-    if (N + CurrentPosition >= BufferCapacity) {
-      BufferCapacity *= 2;
-      if (BufferCapacity < N + CurrentPosition)
-        BufferCapacity = N + CurrentPosition;
-      Buffer = static_cast<char *>(std::realloc(Buffer, BufferCapacity));
-      if (Buffer == nullptr)
-        std::terminate();
-    }
-  }
-
-  void writeUnsigned(uint64_t N, bool isNeg = false) {
-    // Handle special case...
-    if (N == 0) {
-      *this << '0';
-      return;
-    }
-
-    char Temp[21];
-    char *TempPtr = std::end(Temp);
-
-    while (N) {
-      *--TempPtr = '0' + char(N % 10);
-      N /= 10;
-    }
-
-    // Add negative sign...
-    if (isNeg)
-      *--TempPtr = '-';
-    this->operator<<(StringView(TempPtr, std::end(Temp)));
-  }
-
-public:
-  OutputStream(char *StartBuf, size_t Size)
-      : Buffer(StartBuf), CurrentPosition(0), BufferCapacity(Size) {}
-  OutputStream() = default;
-  void reset(char *Buffer_, size_t BufferCapacity_) {
-    CurrentPosition = 0;
-    Buffer = Buffer_;
-    BufferCapacity = BufferCapacity_;
-  }
-
-  /// If a ParameterPackExpansion (or similar type) is encountered, the offset
-  /// into the pack that we're currently printing.
-  unsigned CurrentPackIndex = std::numeric_limits<unsigned>::max();
-  unsigned CurrentPackMax = std::numeric_limits<unsigned>::max();
-
-  OutputStream &operator+=(StringView R) {
-    size_t Size = R.size();
-    if (Size == 0)
-      return *this;
-    grow(Size);
-    std::memmove(Buffer + CurrentPosition, R.begin(), Size);
-    CurrentPosition += Size;
-    return *this;
-  }
-
-  OutputStream &operator+=(char C) {
-    grow(1);
-    Buffer[CurrentPosition++] = C;
-    return *this;
-  }
-
-  OutputStream &operator<<(StringView R) { return (*this += R); }
-
-  OutputStream &operator<<(char C) { return (*this += C); }
-
-  OutputStream &operator<<(long long N) {
-    if (N < 0)
-      writeUnsigned(static_cast<unsigned long long>(-N), true);
-    else
-      writeUnsigned(static_cast<unsigned long long>(N));
-    return *this;
-  }
-
-  OutputStream &operator<<(unsigned long long N) {
-    writeUnsigned(N, false);
-    return *this;
-  }
-
-  OutputStream &operator<<(long N) {
-    return this->operator<<(static_cast<long long>(N));
-  }
-
-  OutputStream &operator<<(unsigned long N) {
-    return this->operator<<(static_cast<unsigned long long>(N));
-  }
-
-  OutputStream &operator<<(int N) {
-    return this->operator<<(static_cast<long long>(N));
-  }
-
-  OutputStream &operator<<(unsigned int N) {
-    return this->operator<<(static_cast<unsigned long long>(N));
-  }
-
-  size_t getCurrentPosition() const { return CurrentPosition; }
-  void setCurrentPosition(size_t NewPos) { CurrentPosition = NewPos; }
-
-  char back() const {
-    return CurrentPosition ? Buffer[CurrentPosition - 1] : '\0';
-  }
-
-  bool empty() const { return CurrentPosition == 0; }
-
-  char *getBuffer() { return Buffer; }
-  char *getBufferEnd() { return Buffer + CurrentPosition - 1; }
-  size_t getBufferCapacity() { return BufferCapacity; }
-};
-
-template <class T> class SwapAndRestore {
-  T &Restore;
-  T OriginalValue;
-  bool ShouldRestore = true;
-
-public:
-  SwapAndRestore(T &Restore_) : SwapAndRestore(Restore_, Restore_) {}
-
-  SwapAndRestore(T &Restore_, T NewVal)
-      : Restore(Restore_), OriginalValue(Restore) {
-    Restore = std::move(NewVal);
-  }
-  ~SwapAndRestore() {
-    if (ShouldRestore)
-      Restore = std::move(OriginalValue);
-  }
-
-  void shouldRestore(bool ShouldRestore_) { ShouldRestore = ShouldRestore_; }
-
-  void restoreNow(bool Force) {
-    if (!Force && !ShouldRestore)
-      return;
-
-    Restore = std::move(OriginalValue);
-    ShouldRestore = false;
-  }
-
-  SwapAndRestore(const SwapAndRestore &) = delete;
-  SwapAndRestore &operator=(const SwapAndRestore &) = delete;
-};
-
-inline bool initializeOutputStream(char *Buf, size_t *N, OutputStream &S,
-                                   size_t InitSize) {
-  size_t BufferSize;
-  if (Buf == nullptr) {
-    Buf = static_cast<char *>(std::malloc(InitSize));
-    if (Buf == nullptr)
-      return false;
-    BufferSize = InitSize;
-  } else
-    BufferSize = *N;
-
-  S.reset(Buf, BufferSize);
-  return true;
-}
-
-DEMANGLE_NAMESPACE_END
-
-#endif
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.cpp
deleted file mode 100644
index 9d62407..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.cpp
+++ /dev/null
@@ -1,259 +0,0 @@
-//===------------------------ fallback_malloc.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// Define _LIBCPP_BUILDING_LIBRARY to ensure _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
-// is only defined when libc aligned allocation is not available.
-#define _LIBCPP_BUILDING_LIBRARY
-#include "fallback_malloc.h"
-
-#include <__threading_support>
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-#if defined(__unix__) && !defined(__ANDROID__) && defined(__ELF__) && defined(_LIBCXXABI_HAS_COMMENT_LIB_PRAGMA)
-#pragma comment(lib, "pthread")
-#endif
-#endif
-
-#include <cstdlib> // for malloc, calloc, free
-#include <cstring> // for memset
-
-//  A small, simple heap manager based (loosely) on
-//  the startup heap manager from FreeBSD, optimized for space.
-//
-//  Manages a fixed-size memory pool, supports malloc and free only.
-//  No support for realloc.
-//
-//  Allocates chunks in multiples of four bytes, with a four byte header
-//  for each chunk. The overhead of each chunk is kept low by keeping pointers
-//  as two byte offsets within the heap, rather than (4 or 8 byte) pointers.
-
-namespace {
-
-// When POSIX threads are not available, make the mutex operations a nop
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-_LIBCPP_SAFE_STATIC
-static std::__libcpp_mutex_t heap_mutex = _LIBCPP_MUTEX_INITIALIZER;
-#else
-static void* heap_mutex = 0;
-#endif
-
-class mutexor {
-public:
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-  mutexor(std::__libcpp_mutex_t* m) : mtx_(m) {
-    std::__libcpp_mutex_lock(mtx_);
-  }
-  ~mutexor() { std::__libcpp_mutex_unlock(mtx_); }
-#else
-  mutexor(void*) {}
-  ~mutexor() {}
-#endif
-private:
-  mutexor(const mutexor& rhs);
-  mutexor& operator=(const mutexor& rhs);
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-  std::__libcpp_mutex_t* mtx_;
-#endif
-};
-
-static const size_t HEAP_SIZE = 512;
-char heap[HEAP_SIZE] __attribute__((aligned));
-
-typedef unsigned short heap_offset;
-typedef unsigned short heap_size;
-
-struct heap_node {
-  heap_offset next_node; // offset into heap
-  heap_size len;         // size in units of "sizeof(heap_node)"
-};
-
-static const heap_node* list_end =
-    (heap_node*)(&heap[HEAP_SIZE]); // one past the end of the heap
-static heap_node* freelist = NULL;
-
-heap_node* node_from_offset(const heap_offset offset) {
-  return (heap_node*)(heap + (offset * sizeof(heap_node)));
-}
-
-heap_offset offset_from_node(const heap_node* ptr) {
-  return static_cast<heap_offset>(
-      static_cast<size_t>(reinterpret_cast<const char*>(ptr) - heap) /
-      sizeof(heap_node));
-}
-
-void init_heap() {
-  freelist = (heap_node*)heap;
-  freelist->next_node = offset_from_node(list_end);
-  freelist->len = HEAP_SIZE / sizeof(heap_node);
-}
-
-//  How big a chunk we allocate
-size_t alloc_size(size_t len) {
-  return (len + sizeof(heap_node) - 1) / sizeof(heap_node) + 1;
-}
-
-bool is_fallback_ptr(void* ptr) {
-  return ptr >= heap && ptr < (heap + HEAP_SIZE);
-}
-
-void* fallback_malloc(size_t len) {
-  heap_node *p, *prev;
-  const size_t nelems = alloc_size(len);
-  mutexor mtx(&heap_mutex);
-
-  if (NULL == freelist)
-    init_heap();
-
-  //  Walk the free list, looking for a "big enough" chunk
-  for (p = freelist, prev = 0; p && p != list_end;
-       prev = p, p = node_from_offset(p->next_node)) {
-
-    if (p->len > nelems) { //  chunk is larger, shorten, and return the tail
-      heap_node* q;
-
-      p->len = static_cast<heap_size>(p->len - nelems);
-      q = p + p->len;
-      q->next_node = 0;
-      q->len = static_cast<heap_size>(nelems);
-      return (void*)(q + 1);
-    }
-
-    if (p->len == nelems) { // exact size match
-      if (prev == 0)
-        freelist = node_from_offset(p->next_node);
-      else
-        prev->next_node = p->next_node;
-      p->next_node = 0;
-      return (void*)(p + 1);
-    }
-  }
-  return NULL; // couldn't find a spot big enough
-}
-
-//  Return the start of the next block
-heap_node* after(struct heap_node* p) { return p + p->len; }
-
-void fallback_free(void* ptr) {
-  struct heap_node* cp = ((struct heap_node*)ptr) - 1; // retrieve the chunk
-  struct heap_node *p, *prev;
-
-  mutexor mtx(&heap_mutex);
-
-#ifdef DEBUG_FALLBACK_MALLOC
-  std::cout << "Freeing item at " << offset_from_node(cp) << " of size "
-            << cp->len << std::endl;
-#endif
-
-  for (p = freelist, prev = 0; p && p != list_end;
-       prev = p, p = node_from_offset(p->next_node)) {
-#ifdef DEBUG_FALLBACK_MALLOC
-    std::cout << "  p, cp, after (p), after(cp) " << offset_from_node(p) << ' '
-              << offset_from_node(cp) << ' ' << offset_from_node(after(p))
-              << ' ' << offset_from_node(after(cp)) << std::endl;
-#endif
-    if (after(p) == cp) {
-#ifdef DEBUG_FALLBACK_MALLOC
-      std::cout << "  Appending onto chunk at " << offset_from_node(p)
-                << std::endl;
-#endif
-      p->len = static_cast<heap_size>(
-          p->len + cp->len); // make the free heap_node larger
-      return;
-    } else if (after(cp) == p) { // there's a free heap_node right after
-#ifdef DEBUG_FALLBACK_MALLOC
-      std::cout << "  Appending free chunk at " << offset_from_node(p)
-                << std::endl;
-#endif
-      cp->len = static_cast<heap_size>(cp->len + p->len);
-      if (prev == 0) {
-        freelist = cp;
-        cp->next_node = p->next_node;
-      } else
-        prev->next_node = offset_from_node(cp);
-      return;
-    }
-  }
-//  Nothing to merge with, add it to the start of the free list
-#ifdef DEBUG_FALLBACK_MALLOC
-  std::cout << "  Making new free list entry " << offset_from_node(cp)
-            << std::endl;
-#endif
-  cp->next_node = offset_from_node(freelist);
-  freelist = cp;
-}
-
-#ifdef INSTRUMENT_FALLBACK_MALLOC
-size_t print_free_list() {
-  struct heap_node *p, *prev;
-  heap_size total_free = 0;
-  if (NULL == freelist)
-    init_heap();
-
-  for (p = freelist, prev = 0; p && p != list_end;
-       prev = p, p = node_from_offset(p->next_node)) {
-    std::cout << (prev == 0 ? "" : "  ") << "Offset: " << offset_from_node(p)
-              << "\tsize: " << p->len << " Next: " << p->next_node << std::endl;
-    total_free += p->len;
-  }
-  std::cout << "Total Free space: " << total_free << std::endl;
-  return total_free;
-}
-#endif
-} // end unnamed namespace
-
-namespace __cxxabiv1 {
-
-struct __attribute__((aligned)) __aligned_type {};
-
-void* __aligned_malloc_with_fallback(size_t size) {
-#if defined(_WIN32)
-  if (void* dest = _aligned_malloc(size, alignof(__aligned_type)))
-    return dest;
-#elif defined(_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION)
-  if (void* dest = std::malloc(size))
-    return dest;
-#else
-  if (size == 0)
-    size = 1;
-  void* dest;
-  if (::posix_memalign(&dest, __alignof(__aligned_type), size) == 0)
-    return dest;
-#endif
-  return fallback_malloc(size);
-}
-
-void* __calloc_with_fallback(size_t count, size_t size) {
-  void* ptr = std::calloc(count, size);
-  if (NULL != ptr)
-    return ptr;
-  // if calloc fails, fall back to emergency stash
-  ptr = fallback_malloc(size * count);
-  if (NULL != ptr)
-    std::memset(ptr, 0, size * count);
-  return ptr;
-}
-
-void __aligned_free_with_fallback(void* ptr) {
-  if (is_fallback_ptr(ptr))
-    fallback_free(ptr);
-  else {
-#if defined(_WIN32)
-    ::_aligned_free(ptr);
-#else
-    std::free(ptr);
-#endif
-  }
-}
-
-void __free_with_fallback(void* ptr) {
-  if (is_fallback_ptr(ptr))
-    fallback_free(ptr);
-  else
-    std::free(ptr);
-}
-
-} // namespace __cxxabiv1
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.h b/r21/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.h
deleted file mode 100644
index 033ecd6..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/fallback_malloc.h
+++ /dev/null
@@ -1,28 +0,0 @@
-//===------------------------- fallback_malloc.h --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _FALLBACK_MALLOC_H
-#define _FALLBACK_MALLOC_H
-
-#include "__cxxabi_config.h"
-#include <cstddef> // for size_t
-
-namespace __cxxabiv1 {
-
-// Allocate some memory from _somewhere_
-_LIBCXXABI_HIDDEN void * __aligned_malloc_with_fallback(size_t size);
-
-// Allocate and zero-initialize memory from _somewhere_
-_LIBCXXABI_HIDDEN void * __calloc_with_fallback(size_t count, size_t size);
-
-_LIBCXXABI_HIDDEN void __aligned_free_with_fallback(void *ptr);
-_LIBCXXABI_HIDDEN void __free_with_fallback(void *ptr);
-
-} // namespace __cxxabiv1
-
-#endif
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/include/atomic_support.h b/r21/sources/cxx-stl/llvm-libc++abi/src/include/atomic_support.h
deleted file mode 100644
index 4ff45eb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/include/atomic_support.h
+++ /dev/null
@@ -1,210 +0,0 @@
-//===----------------------------------------------------------------------===////
-//
-// 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
-//
-//===----------------------------------------------------------------------===////
-
-// FIXME: This file is copied from libcxx/src/include/atomic_support.h. Instead
-// of duplicating the file in libc++abi we should require that the libc++
-// sources are available when building libc++abi.
-
-#ifndef ATOMIC_SUPPORT_H
-#define ATOMIC_SUPPORT_H
-
-#include "__config"
-#include "memory" // for __libcpp_relaxed_load
-
-#if defined(__clang__) && __has_builtin(__atomic_load_n)             \
-                       && __has_builtin(__atomic_store_n)            \
-                       && __has_builtin(__atomic_add_fetch)          \
-                       && __has_builtin(__atomic_exchange_n)         \
-                       && __has_builtin(__atomic_compare_exchange_n) \
-                       && defined(__ATOMIC_RELAXED)                  \
-                       && defined(__ATOMIC_CONSUME)                  \
-                       && defined(__ATOMIC_ACQUIRE)                  \
-                       && defined(__ATOMIC_RELEASE)                  \
-                       && defined(__ATOMIC_ACQ_REL)                  \
-                       && defined(__ATOMIC_SEQ_CST)
-#   define _LIBCXXABI_HAS_ATOMIC_BUILTINS
-#elif !defined(__clang__) && defined(_GNUC_VER) && _GNUC_VER >= 407
-#   define _LIBCXXABI_HAS_ATOMIC_BUILTINS
-#endif
-
-#if !defined(_LIBCXXABI_HAS_ATOMIC_BUILTINS) && !defined(_LIBCXXABI_HAS_NO_THREADS)
-# if defined(_LIBCPP_WARNING)
-    _LIBCPP_WARNING("Building libc++ without __atomic builtins is unsupported")
-# else
-#   warning Building libc++ without __atomic builtins is unsupported
-# endif
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-namespace {
-
-#if defined(_LIBCXXABI_HAS_ATOMIC_BUILTINS) && !defined(_LIBCXXABI_HAS_NO_THREADS)
-
-enum __libcpp_atomic_order {
-    _AO_Relaxed = __ATOMIC_RELAXED,
-    _AO_Consume = __ATOMIC_CONSUME,
-    _AO_Acquire = __ATOMIC_ACQUIRE,
-    _AO_Release = __ATOMIC_RELEASE,
-    _AO_Acq_Rel = __ATOMIC_ACQ_REL,
-    _AO_Seq     = __ATOMIC_SEQ_CST
-};
-
-template <class _ValueType, class _FromType>
-inline _LIBCPP_INLINE_VISIBILITY
-void __libcpp_atomic_store(_ValueType* __dest, _FromType __val,
-                           int __order = _AO_Seq)
-{
-    __atomic_store_n(__dest, __val, __order);
-}
-
-template <class _ValueType, class _FromType>
-inline _LIBCPP_INLINE_VISIBILITY
-void __libcpp_relaxed_store(_ValueType* __dest, _FromType __val)
-{
-    __atomic_store_n(__dest, __val, _AO_Relaxed);
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_ValueType __libcpp_atomic_load(_ValueType const* __val,
-                                int __order = _AO_Seq)
-{
-    return __atomic_load_n(__val, __order);
-}
-
-template <class _ValueType, class _AddType>
-inline _LIBCPP_INLINE_VISIBILITY
-_ValueType __libcpp_atomic_add(_ValueType* __val, _AddType __a,
-                               int __order = _AO_Seq)
-{
-    return __atomic_add_fetch(__val, __a, __order);
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_ValueType __libcpp_atomic_exchange(_ValueType* __target,
-                                    _ValueType __value, int __order = _AO_Seq)
-{
-    return __atomic_exchange_n(__target, __value, __order);
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-bool __libcpp_atomic_compare_exchange(_ValueType* __val,
-    _ValueType* __expected, _ValueType __after,
-    int __success_order = _AO_Seq,
-    int __fail_order = _AO_Seq)
-{
-    return __atomic_compare_exchange_n(__val, __expected, __after, true,
-                                       __success_order, __fail_order);
-}
-
-#else // _LIBCPP_HAS_NO_THREADS
-
-enum __libcpp_atomic_order {
-    _AO_Relaxed,
-    _AO_Consume,
-    _AO_Acquire,
-    _AO_Release,
-    _AO_Acq_Rel,
-    _AO_Seq
-};
-
-template <class _ValueType, class _FromType>
-inline _LIBCPP_INLINE_VISIBILITY
-void __libcpp_atomic_store(_ValueType* __dest, _FromType __val,
-                           int = 0)
-{
-    *__dest = __val;
-}
-
-template <class _ValueType, class _FromType>
-inline _LIBCPP_INLINE_VISIBILITY
-void __libcpp_relaxed_store(_ValueType* __dest, _FromType __val)
-{
-    *__dest = __val;
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_ValueType __libcpp_atomic_load(_ValueType const* __val,
-                                int = 0)
-{
-    return *__val;
-}
-
-template <class _ValueType, class _AddType>
-inline _LIBCPP_INLINE_VISIBILITY
-_ValueType __libcpp_atomic_add(_ValueType* __val, _AddType __a,
-                               int = 0)
-{
-    return *__val += __a;
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_ValueType __libcpp_atomic_exchange(_ValueType* __target,
-                                    _ValueType __value, int  = _AO_Seq)
-{
-    _ValueType old = *__target;
-    *__target = __value;
-    return old;
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-bool __libcpp_atomic_compare_exchange(_ValueType* __val,
-    _ValueType* __expected, _ValueType __after,
-    int = 0, int = 0)
-{
-    if (*__val == *__expected) {
-        *__val = __after;
-        return true;
-    }
-    *__expected = *__val;
-    return false;
-}
-
-#endif // _LIBCPP_HAS_NO_THREADS
-
-} // end namespace
-
-_LIBCPP_END_NAMESPACE_STD
-
-namespace {
-
-template <class IntType>
-class AtomicInt {
-public:
-  using MemoryOrder = std::__libcpp_atomic_order;
-
-  explicit AtomicInt(IntType *b) : b(b) {}
-  AtomicInt(AtomicInt const&) = delete;
-  AtomicInt& operator=(AtomicInt const&) = delete;
-
-  IntType load(MemoryOrder ord) {
-    return std::__libcpp_atomic_load(b, ord);
-  }
-  void store(IntType val, MemoryOrder ord) {
-    std::__libcpp_atomic_store(b, val, ord);
-  }
-  IntType exchange(IntType new_val, MemoryOrder ord) {
-    return std::__libcpp_atomic_exchange(b, new_val, ord);
-  }
-  bool compare_exchange(IntType *expected, IntType desired, MemoryOrder ord_success, MemoryOrder ord_failure) {
-    return std::__libcpp_atomic_compare_exchange(b, expected, desired, ord_success, ord_failure);
-  }
-
-private:
-  IntType *b;
-};
-
-} // end namespace
-
-#endif // ATOMIC_SUPPORT_H
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.cpp b/r21/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.cpp
deleted file mode 100644
index 43c91d1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.cpp
+++ /dev/null
@@ -1,1297 +0,0 @@
-//===----------------------- private_typeinfo.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "private_typeinfo.h"
-
-// The flag _LIBCXX_DYNAMIC_FALLBACK is used to make dynamic_cast more
-// forgiving when type_info's mistakenly have hidden visibility and thus
-// multiple type_infos can exist for a single type.
-// 
-// When _LIBCXX_DYNAMIC_FALLBACK is defined, and only in the case where
-// there is a detected inconsistency in the type_info hierarchy during a
-// dynamic_cast, then the equality operation will fall back to using strcmp
-// on type_info names to determine type_info equality.
-// 
-// This change happens *only* under dynamic_cast, and only when
-// dynamic_cast is faced with the choice:  abort, or possibly give back the
-// wrong answer.  If when the dynamic_cast is done with this fallback
-// algorithm and an inconsistency is still detected, dynamic_cast will call
-// abort with an appropriate message.
-// 
-// The current implementation of _LIBCXX_DYNAMIC_FALLBACK requires a
-// printf-like function called syslog:
-// 
-//     void syslog(int facility_priority, const char* format, ...);
-// 
-// If you want this functionality but your platform doesn't have syslog,
-// just implement it in terms of fprintf(stderr, ...).
-// 
-// _LIBCXX_DYNAMIC_FALLBACK is currently off by default.
-
-
-#include <string.h>
-
-
-#ifdef _LIBCXX_DYNAMIC_FALLBACK
-#include "abort_message.h"
-#include <sys/syslog.h>
-#endif
-
-// On Windows, typeids are different between DLLs and EXEs, so comparing
-// type_info* will work for typeids from the same compiled file but fail
-// for typeids from a DLL and an executable. Among other things, exceptions
-// are not caught by handlers since can_catch() returns false.
-//
-// Defining _LIBCXX_DYNAMIC_FALLBACK does not help since can_catch() calls 
-// is_equal() with use_strcmp=false so the string names are not compared.
-
-#ifdef _WIN32
-#include <string.h>
-#endif
-
-static inline
-bool
-is_equal(const std::type_info* x, const std::type_info* y, bool use_strcmp)
-{
-    // Use std::type_info's default comparison unless we've explicitly asked
-    // for strcmp.
-    if (!use_strcmp)
-        return *x == *y;
-    // Still allow pointer equality to short circut.
-    return x == y || strcmp(x->name(), y->name()) == 0;
-}
-
-namespace __cxxabiv1
-{
-
-// __shim_type_info
-
-__shim_type_info::~__shim_type_info()
-{
-}
-
-void __shim_type_info::noop1() const {}
-void __shim_type_info::noop2() const {}
-
-// __fundamental_type_info
-
-// This miraculously (compiler magic) emits the type_info's for:
-//   1. all of the fundamental types
-//   2. pointers to all of the fundamental types
-//   3. pointers to all of the const fundamental types
-__fundamental_type_info::~__fundamental_type_info()
-{
-}
-
-// __array_type_info
-
-__array_type_info::~__array_type_info()
-{
-}
-
-// __function_type_info
-
-__function_type_info::~__function_type_info()
-{
-}
-
-// __enum_type_info
-
-__enum_type_info::~__enum_type_info()
-{
-}
-
-// __class_type_info
-
-__class_type_info::~__class_type_info()
-{
-}
-
-// __si_class_type_info
-
-__si_class_type_info::~__si_class_type_info()
-{
-}
-
-// __vmi_class_type_info
-
-__vmi_class_type_info::~__vmi_class_type_info()
-{
-}
-
-// __pbase_type_info
-
-__pbase_type_info::~__pbase_type_info()
-{
-}
-
-// __pointer_type_info
-
-__pointer_type_info::~__pointer_type_info()
-{
-}
-
-// __pointer_to_member_type_info
-
-__pointer_to_member_type_info::~__pointer_to_member_type_info()
-{
-}
-
-// can_catch
-
-// A handler is a match for an exception object of type E if
-//   1. The handler is of type cv T or cv T& and E and T are the same type
-//      (ignoring the top-level cv-qualifiers), or
-//   2. the handler is of type cv T or cv T& and T is an unambiguous public
-//       base class of E, or
-//   3. the handler is of type cv1 T* cv2 and E is a pointer type that can be
-//      converted to the type of the handler by either or both of
-//      A. a standard pointer conversion (4.10) not involving conversions to
-//         pointers to private or protected or ambiguous classes
-//      B. a qualification conversion
-//   4. the handler is a pointer or pointer to member type and E is
-//      std::nullptr_t.
-
-// adjustedPtr:
-// 
-// catch (A& a) : adjustedPtr == &a
-// catch (A* a) : adjustedPtr == a
-// catch (A** a) : adjustedPtr == a
-// 
-// catch (D2& d2) : adjustedPtr == &d2  (d2 is base class of thrown object)
-// catch (D2* d2) : adjustedPtr == d2
-// catch (D2*& d2) : adjustedPtr == d2
-//
-// catch (...) : adjustedPtr == & of the exception
-//
-// If the thrown type is nullptr_t and the caught type is a pointer to
-// member type, adjustedPtr points to a statically-allocated null pointer
-// representation of that type.
-
-// Handles bullet 1
-bool
-__fundamental_type_info::can_catch(const __shim_type_info* thrown_type,
-                                   void*&) const
-{
-    return is_equal(this, thrown_type, false);
-}
-
-bool
-__array_type_info::can_catch(const __shim_type_info*, void*&) const
-{
-    // We can get here if someone tries to catch an array by reference.
-    //   However if someone tries to throw an array, it immediately gets
-    //   converted to a pointer, which will not convert back to an array
-    //   at the catch clause.  So this can never catch anything.
-    return false;
-}
-
-bool
-__function_type_info::can_catch(const __shim_type_info*, void*&) const
-{
-    // We can get here if someone tries to catch a function by reference.
-    //   However if someone tries to throw a function, it immediately gets
-    //   converted to a pointer, which will not convert back to a function
-    //   at the catch clause.  So this can never catch anything.
-    return false;
-}
-
-// Handles bullet 1
-bool
-__enum_type_info::can_catch(const __shim_type_info* thrown_type,
-                            void*&) const
-{
-    return is_equal(this, thrown_type, false);
-}
-
-#ifdef __clang__
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-// Handles bullets 1 and 2
-bool
-__class_type_info::can_catch(const __shim_type_info* thrown_type,
-                             void*& adjustedPtr) const
-{
-    // bullet 1
-    if (is_equal(this, thrown_type, false))
-        return true;
-    const __class_type_info* thrown_class_type =
-        dynamic_cast<const __class_type_info*>(thrown_type);
-    if (thrown_class_type == 0)
-        return false;
-    // bullet 2
-    __dynamic_cast_info info = {thrown_class_type, 0, this, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
-    info.number_of_dst_type = 1;
-    thrown_class_type->has_unambiguous_public_base(&info, adjustedPtr, public_path);
-    if (info.path_dst_ptr_to_static_ptr == public_path)
-    {
-        adjustedPtr = const_cast<void*>(info.dst_ptr_leading_to_static_ptr);
-        return true;
-    }
-    return false;
-}
-
-#ifdef __clang__
-#pragma clang diagnostic pop
-#endif
-
-void
-__class_type_info::process_found_base_class(__dynamic_cast_info* info,
-                                               void* adjustedPtr,
-                                               int path_below) const
-{
-    if (info->dst_ptr_leading_to_static_ptr == 0)
-    {
-        // First time here
-        info->dst_ptr_leading_to_static_ptr = adjustedPtr;
-        info->path_dst_ptr_to_static_ptr = path_below;
-        info->number_to_static_ptr = 1;
-    }
-    else if (info->dst_ptr_leading_to_static_ptr == adjustedPtr)
-    {
-        // We've been here before.  Update path to "most public"
-        if (info->path_dst_ptr_to_static_ptr == not_public_path)
-            info->path_dst_ptr_to_static_ptr = path_below;
-    }
-    else
-    {
-        // We've detected an ambiguous cast from (thrown_class_type, adjustedPtr)
-        //   to a static_type
-        info->number_to_static_ptr += 1;
-        info->path_dst_ptr_to_static_ptr = not_public_path;
-        info->search_done = true;
-    }
-}
-
-void
-__class_type_info::has_unambiguous_public_base(__dynamic_cast_info* info,
-                                               void* adjustedPtr,
-                                               int path_below) const
-{
-    if (is_equal(this, info->static_type, false))
-        process_found_base_class(info, adjustedPtr, path_below);
-}
-
-void
-__si_class_type_info::has_unambiguous_public_base(__dynamic_cast_info* info,
-                                                  void* adjustedPtr,
-                                                  int path_below) const
-{
-    if (is_equal(this, info->static_type, false))
-        process_found_base_class(info, adjustedPtr, path_below);
-    else
-        __base_type->has_unambiguous_public_base(info, adjustedPtr, path_below);
-}
-
-void
-__base_class_type_info::has_unambiguous_public_base(__dynamic_cast_info* info,
-                                                    void* adjustedPtr,
-                                                    int path_below) const
-{
-    ptrdiff_t offset_to_base = 0;
-    if (adjustedPtr != nullptr)
-    {
-        offset_to_base = __offset_flags >> __offset_shift;
-        if (__offset_flags & __virtual_mask)
-        {
-            const char* vtable = *static_cast<const char*const*>(adjustedPtr);
-            offset_to_base = *reinterpret_cast<const ptrdiff_t*>(vtable + offset_to_base);
-        }
-    }
-    __base_type->has_unambiguous_public_base(
-            info,
-            static_cast<char*>(adjustedPtr) + offset_to_base,
-            (__offset_flags & __public_mask) ? path_below : not_public_path);
-}
-
-void
-__vmi_class_type_info::has_unambiguous_public_base(__dynamic_cast_info* info,
-                                                   void* adjustedPtr,
-                                                   int path_below) const
-{
-    if (is_equal(this, info->static_type, false))
-        process_found_base_class(info, adjustedPtr, path_below);
-    else
-    {
-        typedef const __base_class_type_info* Iter;
-        const Iter e = __base_info + __base_count;
-        Iter p = __base_info;
-        p->has_unambiguous_public_base(info, adjustedPtr, path_below);
-        if (++p < e)
-        {
-            do
-            {
-                p->has_unambiguous_public_base(info, adjustedPtr, path_below);
-                if (info->search_done)
-                    break;
-            } while (++p < e);
-        }
-    }
-}
-
-// Handles bullet 1 for both pointers and member pointers
-bool
-__pbase_type_info::can_catch(const __shim_type_info* thrown_type,
-                             void*&) const
-{
-    bool use_strcmp = this->__flags & (__incomplete_class_mask |
-                                       __incomplete_mask);
-    if (!use_strcmp) {
-        const __pbase_type_info* thrown_pbase = dynamic_cast<const __pbase_type_info*>(
-                thrown_type);
-        if (!thrown_pbase) return false;
-        use_strcmp = thrown_pbase->__flags & (__incomplete_class_mask |
-                                              __incomplete_mask);
-    }
-    return is_equal(this, thrown_type, use_strcmp);
-}
-
-#ifdef __clang__
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-// Handles bullets 1, 3 and 4
-// NOTE: It might not be safe to adjust the pointer if it is not not a pointer
-// type. Only adjust the pointer after we know it is safe to do so.
-bool
-__pointer_type_info::can_catch(const __shim_type_info* thrown_type,
-                               void*& adjustedPtr) const
-{
-    // bullet 4
-    if (is_equal(thrown_type, &typeid(std::nullptr_t), false)) {
-      adjustedPtr = nullptr;
-      return true;
-    }
-
-    // bullet 1
-    if (__pbase_type_info::can_catch(thrown_type, adjustedPtr)) {
-        if (adjustedPtr != NULL)
-            adjustedPtr = *static_cast<void**>(adjustedPtr);
-        return true;
-    }
-    // bullet 3
-    const __pointer_type_info* thrown_pointer_type =
-        dynamic_cast<const __pointer_type_info*>(thrown_type);
-    if (thrown_pointer_type == 0)
-        return false;
-    // Do the dereference adjustment
-    if (adjustedPtr != NULL)
-        adjustedPtr = *static_cast<void**>(adjustedPtr);
-    // bullet 3B and 3C
-    if (thrown_pointer_type->__flags & ~__flags & __no_remove_flags_mask)
-        return false;
-    if (__flags & ~thrown_pointer_type->__flags & __no_add_flags_mask)
-        return false;
-    if (is_equal(__pointee, thrown_pointer_type->__pointee, false))
-        return true;
-    // bullet 3A
-    if (is_equal(__pointee, &typeid(void), false)) {
-        // pointers to functions cannot be converted to void*.
-        // pointers to member functions are not handled here.
-        const __function_type_info* thrown_function =
-            dynamic_cast<const __function_type_info*>(thrown_pointer_type->__pointee);
-        return (thrown_function == nullptr);
-    }
-    // Handle pointer to pointer
-    const __pointer_type_info* nested_pointer_type =
-        dynamic_cast<const __pointer_type_info*>(__pointee);
-    if (nested_pointer_type) {
-        if (~__flags & __const_mask) return false;
-        return nested_pointer_type->can_catch_nested(thrown_pointer_type->__pointee);
-    }
-
-    // Handle pointer to pointer to member
-    const __pointer_to_member_type_info* member_ptr_type =
-        dynamic_cast<const __pointer_to_member_type_info*>(__pointee);
-    if (member_ptr_type) {
-        if (~__flags & __const_mask) return false;
-        return member_ptr_type->can_catch_nested(thrown_pointer_type->__pointee);
-    }
-
-    // Handle pointer to class type
-    const __class_type_info* catch_class_type =
-        dynamic_cast<const __class_type_info*>(__pointee);
-    if (catch_class_type == 0)
-        return false;
-    const __class_type_info* thrown_class_type =
-        dynamic_cast<const __class_type_info*>(thrown_pointer_type->__pointee);
-    if (thrown_class_type == 0)
-        return false;
-    __dynamic_cast_info info = {thrown_class_type, 0, catch_class_type, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
-    info.number_of_dst_type = 1;
-    thrown_class_type->has_unambiguous_public_base(&info, adjustedPtr, public_path);
-    if (info.path_dst_ptr_to_static_ptr == public_path)
-    {
-        if (adjustedPtr != NULL)
-            adjustedPtr = const_cast<void*>(info.dst_ptr_leading_to_static_ptr);
-        return true;
-    }
-    return false;
-}
-
-bool __pointer_type_info::can_catch_nested(
-    const __shim_type_info* thrown_type) const
-{
-  const __pointer_type_info* thrown_pointer_type =
-        dynamic_cast<const __pointer_type_info*>(thrown_type);
-    if (thrown_pointer_type == 0)
-        return false;
-    // bullet 3B
-    if (thrown_pointer_type->__flags & ~__flags)
-        return false;
-    if (is_equal(__pointee, thrown_pointer_type->__pointee, false))
-        return true;
-    // If the pointed to types differ then the catch type must be const
-    // qualified.
-    if (~__flags & __const_mask)
-        return false;
-
-    // Handle pointer to pointer
-    const __pointer_type_info* nested_pointer_type =
-        dynamic_cast<const __pointer_type_info*>(__pointee);
-    if (nested_pointer_type) {
-        return nested_pointer_type->can_catch_nested(
-            thrown_pointer_type->__pointee);
-    }
-
-    // Handle pointer to pointer to member
-    const __pointer_to_member_type_info* member_ptr_type =
-        dynamic_cast<const __pointer_to_member_type_info*>(__pointee);
-    if (member_ptr_type) {
-        return member_ptr_type->can_catch_nested(thrown_pointer_type->__pointee);
-    }
-
-    return false;
-}
-
-bool __pointer_to_member_type_info::can_catch(
-    const __shim_type_info* thrown_type, void*& adjustedPtr) const {
-    // bullet 4
-    if (is_equal(thrown_type, &typeid(std::nullptr_t), false)) {
-      // We assume that the pointer to member representation is the same for
-      // all pointers to data members and for all pointers to member functions.
-      struct X {};
-      if (dynamic_cast<const __function_type_info*>(__pointee)) {
-        static int (X::*const null_ptr_rep)() = nullptr;
-        adjustedPtr = const_cast<int (X::**)()>(&null_ptr_rep);
-      } else {
-        static int X::*const null_ptr_rep = nullptr;
-        adjustedPtr = const_cast<int X::**>(&null_ptr_rep);
-      }
-      return true;
-    }
-
-    // bullet 1
-    if (__pbase_type_info::can_catch(thrown_type, adjustedPtr))
-        return true;
-
-    const __pointer_to_member_type_info* thrown_pointer_type =
-        dynamic_cast<const __pointer_to_member_type_info*>(thrown_type);
-    if (thrown_pointer_type == 0)
-        return false;
-    if (thrown_pointer_type->__flags & ~__flags & __no_remove_flags_mask)
-        return false;
-    if (__flags & ~thrown_pointer_type->__flags & __no_add_flags_mask)
-        return false;
-    if (!is_equal(__pointee, thrown_pointer_type->__pointee, false))
-        return false;
-    if (is_equal(__context, thrown_pointer_type->__context, false))
-        return true;
-
-    // [except.handle] does not allow the pointer-to-member conversions mentioned
-    // in [mem.conv] to take place. For this reason we don't check Derived->Base
-    // for Derived->Base conversions.
-
-    return false;
-}
-
-bool __pointer_to_member_type_info::can_catch_nested(
-    const __shim_type_info* thrown_type) const
-{
-    const __pointer_to_member_type_info* thrown_member_ptr_type =
-        dynamic_cast<const __pointer_to_member_type_info*>(thrown_type);
-    if (thrown_member_ptr_type == 0)
-        return false;
-    if (~__flags & thrown_member_ptr_type->__flags)
-        return false;
-    if (!is_equal(__pointee, thrown_member_ptr_type->__pointee, false))
-        return false;
-    if (!is_equal(__context, thrown_member_ptr_type->__context, false))
-        return false;
-    return true;
-}
-
-#ifdef __clang__
-#pragma clang diagnostic pop
-#endif
-
-#ifdef __clang__
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-// __dynamic_cast
-
-// static_ptr: pointer to an object of type static_type; nonnull, and since the
-//   object is polymorphic, *(void**)static_ptr is a virtual table pointer.
-//   static_ptr is &v in the expression dynamic_cast<T>(v).
-// static_type: static type of the object pointed to by static_ptr.
-// dst_type: destination type of the cast (the "T" in "dynamic_cast<T>(v)").
-// src2dst_offset: a static hint about the location of the
-//                 source subobject with respect to the complete object;
-//                 special negative values are:
-//                     -1: no hint
-//                     -2: static_type is not a public base of dst_type
-//                     -3: static_type is a multiple public base type but never a
-//                         virtual base type
-//                 otherwise, the static_type type is a unique public nonvirtual
-//                 base type of dst_type at offset src2dst_offset from the
-//                 origin of dst_type.
-//
-// (dynamic_ptr, dynamic_type) are the run time type of the complete object
-// referred to by static_ptr and a pointer to it.  These can be found from
-// static_ptr for polymorphic types.
-// static_type is guaranteed to be a polymorphic type.
-//
-// (dynamic_ptr, dynamic_type) is the root of a DAG that grows upward.  Each
-// node of the tree represents a base class/object of its parent (or parents) below.
-// Each node is uniquely represented by a pointer to the object, and a pointer
-// to a type_info - its type.  Different nodes may have the same pointer and
-// different nodes may have the same type.  But only one node has a specific
-// (pointer-value, type) pair.  In C++ two objects of the same type can not
-// share the same address.
-//
-// There are two flavors of nodes which have the type dst_type:
-//    1.  Those that are derived from (below) (static_ptr, static_type).
-//    2.  Those that are not derived from (below) (static_ptr, static_type).
-//
-// Invariants of the DAG:
-//
-// There is at least one path from the root (dynamic_ptr, dynamic_type) to
-// the node (static_ptr, static_type).  This path may or may not be public.
-// There may be more than one such path (some public some not).  Such a path may
-// or may not go through a node having type dst_type.
-//
-// No node of type T appears above a node of the same type.  That means that
-// there is only one node with dynamic_type.  And if dynamic_type == dst_type,
-// then there is only one dst_type in the DAG.
-//
-// No node of type dst_type appears above a node of type static_type.  Such
-// DAG's are possible in C++, but the compiler computes those dynamic_casts at
-// compile time, and only calls __dynamic_cast when dst_type lies below
-// static_type in the DAG.
-//
-// dst_type != static_type:  The compiler computes the dynamic_cast in this case too.
-// dynamic_type != static_type:  The compiler computes the dynamic_cast in this case too.
-//
-// Returns:
-//
-// If there is exactly one dst_type of flavor 1, and
-//    If there is a public path from that dst_type to (static_ptr, static_type), or
-//    If there are 0 dst_types of flavor 2, and there is a public path from
-//        (dynamic_ptr, dynamic_type) to (static_ptr, static_type) and a public
-//        path from (dynamic_ptr, dynamic_type) to the one dst_type, then return
-//        a pointer to that dst_type.
-// Else if there are 0 dst_types of flavor 1 and exactly 1 dst_type of flavor 2, and
-//    if there is a public path from (dynamic_ptr, dynamic_type) to
-//    (static_ptr, static_type) and a public path from (dynamic_ptr, dynamic_type)
-//    to the one dst_type, then return a pointer to that one dst_type.
-// Else return nullptr.
-//
-// If dynamic_type == dst_type, then the above algorithm collapses to the
-// following cheaper algorithm:
-//
-// If there is a public path from (dynamic_ptr, dynamic_type) to
-//    (static_ptr, static_type), then return dynamic_ptr.
-// Else return nullptr.
-
-extern "C" _LIBCXXABI_FUNC_VIS void *
-__dynamic_cast(const void *static_ptr, const __class_type_info *static_type,
-               const __class_type_info *dst_type,
-               std::ptrdiff_t src2dst_offset) {
-    // Possible future optimization:  Take advantage of src2dst_offset
-
-    // Get (dynamic_ptr, dynamic_type) from static_ptr
-    void **vtable = *static_cast<void ** const *>(static_ptr);
-    ptrdiff_t offset_to_derived = reinterpret_cast<ptrdiff_t>(vtable[-2]);
-    const void* dynamic_ptr = static_cast<const char*>(static_ptr) + offset_to_derived;
-    const __class_type_info* dynamic_type = static_cast<const __class_type_info*>(vtable[-1]);
-
-    // Initialize answer to nullptr.  This will be changed from the search
-    //    results if a non-null answer is found.  Regardless, this is what will
-    //    be returned.
-    const void* dst_ptr = 0;
-    // Initialize info struct for this search.
-    __dynamic_cast_info info = {dst_type, static_ptr, static_type, src2dst_offset, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
-
-    // Find out if we can use a giant short cut in the search
-    if (is_equal(dynamic_type, dst_type, false))
-    {
-        // Using giant short cut.  Add that information to info.
-        info.number_of_dst_type = 1;
-        // Do the  search
-        dynamic_type->search_above_dst(&info, dynamic_ptr, dynamic_ptr, public_path, false);
-#ifdef _LIBCXX_DYNAMIC_FALLBACK
-        // The following if should always be false because we should definitely
-        //   find (static_ptr, static_type), either on a public or private path
-        if (info.path_dst_ptr_to_static_ptr == unknown)
-        {
-            // We get here only if there is some kind of visibility problem
-            //   in client code.
-            syslog(LOG_ERR, "dynamic_cast error 1: Both of the following type_info's "
-                    "should have public visibility. At least one of them is hidden. %s"
-                    ", %s.\n", static_type->name(), dynamic_type->name());
-            // Redo the search comparing type_info's using strcmp
-            info = {dst_type, static_ptr, static_type, src2dst_offset, 0};
-            info.number_of_dst_type = 1;
-            dynamic_type->search_above_dst(&info, dynamic_ptr, dynamic_ptr, public_path, true);
-        }
-#endif  // _LIBCXX_DYNAMIC_FALLBACK
-        // Query the search.
-        if (info.path_dst_ptr_to_static_ptr == public_path)
-            dst_ptr = dynamic_ptr;
-    }
-    else
-    {
-        // Not using giant short cut.  Do the search
-        dynamic_type->search_below_dst(&info, dynamic_ptr, public_path, false);
- #ifdef _LIBCXX_DYNAMIC_FALLBACK
-        // The following if should always be false because we should definitely
-        //   find (static_ptr, static_type), either on a public or private path
-        if (info.path_dst_ptr_to_static_ptr == unknown &&
-            info.path_dynamic_ptr_to_static_ptr == unknown)
-        {
-            syslog(LOG_ERR, "dynamic_cast error 2: One or more of the following type_info's "
-                            "has hidden visibility or is defined in more than one translation "
-                            "unit. They should all have public visibility. "
-                            "%s, %s, %s.\n", static_type->name(), dynamic_type->name(),
-                    dst_type->name());
-            // Redo the search comparing type_info's using strcmp
-            info = {dst_type, static_ptr, static_type, src2dst_offset, 0};
-            dynamic_type->search_below_dst(&info, dynamic_ptr, public_path, true);
-        }
-#endif  // _LIBCXX_DYNAMIC_FALLBACK
-        // Query the search.
-        switch (info.number_to_static_ptr)
-        {
-        case 0:
-            if (info.number_to_dst_ptr == 1 &&
-                    info.path_dynamic_ptr_to_static_ptr == public_path &&
-                    info.path_dynamic_ptr_to_dst_ptr == public_path)
-                dst_ptr = info.dst_ptr_not_leading_to_static_ptr;
-            break;
-        case 1:
-            if (info.path_dst_ptr_to_static_ptr == public_path ||
-                   (
-                       info.number_to_dst_ptr == 0 &&
-                       info.path_dynamic_ptr_to_static_ptr == public_path &&
-                       info.path_dynamic_ptr_to_dst_ptr == public_path
-                   )
-               )
-                dst_ptr = info.dst_ptr_leading_to_static_ptr;
-            break;
-        }
-    }
-    return const_cast<void*>(dst_ptr);
-}
-
-#ifdef __clang__
-#pragma clang diagnostic pop
-#endif
-
-// Call this function when you hit a static_type which is a base (above) a dst_type.
-// Let caller know you hit a static_type.  But only start recording details if
-// this is (static_ptr, static_type) -- the node we are casting from.
-// If this is (static_ptr, static_type)
-//   Record the path (public or not) from the dst_type to here.  There may be
-//   multiple paths from the same dst_type to here, record the "most public" one.
-//   Record the dst_ptr as pointing to (static_ptr, static_type).
-//   If more than one (dst_ptr, dst_type) points to (static_ptr, static_type),
-//   then mark this dyanmic_cast as ambiguous and stop the search.
-void
-__class_type_info::process_static_type_above_dst(__dynamic_cast_info* info,
-                                                 const void* dst_ptr,
-                                                 const void* current_ptr,
-                                                 int path_below) const
-{
-    // Record that we found a static_type
-    info->found_any_static_type = true;
-    if (current_ptr == info->static_ptr)
-    {
-        // Record that we found (static_ptr, static_type)
-        info->found_our_static_ptr = true;
-        if (info->dst_ptr_leading_to_static_ptr == 0)
-        {
-            // First time here
-            info->dst_ptr_leading_to_static_ptr = dst_ptr;
-            info->path_dst_ptr_to_static_ptr = path_below;
-            info->number_to_static_ptr = 1;
-            // If there is only one dst_type in the entire tree and the path from
-            //    there to here is public then we are done!
-            if (info->number_of_dst_type == 1 && info->path_dst_ptr_to_static_ptr == public_path)
-                info->search_done = true;
-        }
-        else if (info->dst_ptr_leading_to_static_ptr == dst_ptr)
-        {
-            // We've been here before.  Update path to "most public"
-            if (info->path_dst_ptr_to_static_ptr == not_public_path)
-                info->path_dst_ptr_to_static_ptr = path_below;
-            // If there is only one dst_type in the entire tree and the path from
-            //    there to here is public then we are done!
-            if (info->number_of_dst_type == 1 && info->path_dst_ptr_to_static_ptr == public_path)
-                info->search_done = true;
-        }
-        else
-        {
-            // We've detected an ambiguous cast from (static_ptr, static_type)
-            //   to a dst_type
-            info->number_to_static_ptr += 1;
-            info->search_done = true;
-        }
-    }
-}
-
-// Call this function when you hit a static_type which is not a base (above) a dst_type.
-// If this is (static_ptr, static_type)
-//   Record the path (public or not) from (dynamic_ptr, dynamic_type) to here.  There may be
-//   multiple paths from (dynamic_ptr, dynamic_type) to here, record the "most public" one.
-void
-__class_type_info::process_static_type_below_dst(__dynamic_cast_info* info,
-                                                 const void* current_ptr,
-                                                 int path_below) const
-{
-    if (current_ptr == info->static_ptr)
-    {
-        // Record the most public path from (dynamic_ptr, dynamic_type) to
-        //                                  (static_ptr, static_type)
-        if (info->path_dynamic_ptr_to_static_ptr != public_path)
-            info->path_dynamic_ptr_to_static_ptr = path_below;
-    }
-}
-
-// Call this function when searching below a dst_type node.  This function searches
-// for a path to (static_ptr, static_type) and for paths to one or more dst_type nodes.
-// If it finds a static_type node, there is no need to further search base classes
-// above.
-// If it finds a dst_type node it should search base classes using search_above_dst
-// to find out if this dst_type points to (static_ptr, static_type) or not.
-// Either way, the dst_type is recorded as one of two "flavors":  one that does
-// or does not point to (static_ptr, static_type).
-// If this is neither a static_type nor a dst_type node, continue searching
-// base classes above.
-// All the hoopla surrounding the search code is doing nothing but looking for
-// excuses to stop the search prematurely (break out of the for-loop).  That is,
-// the algorithm below is simply an optimization of this:
-// void
-// __vmi_class_type_info::search_below_dst(__dynamic_cast_info* info,
-//                                         const void* current_ptr,
-//                                         int path_below) const
-// {
-//     typedef const __base_class_type_info* Iter;
-//     if (this == info->static_type)
-//         process_static_type_below_dst(info, current_ptr, path_below);
-//     else if (this == info->dst_type)
-//     {
-//         // Record the most public access path that got us here
-//         if (info->path_dynamic_ptr_to_dst_ptr != public_path)
-//             info->path_dynamic_ptr_to_dst_ptr = path_below;
-//         bool does_dst_type_point_to_our_static_type = false;
-//         for (Iter p = __base_info, e= __base_info + __base_count; p < e; ++p)
-//         {
-//             p->search_above_dst(info, current_ptr, current_ptr, public_path);
-//             if (info->found_our_static_ptr)
-//                 does_dst_type_point_to_our_static_type = true;
-//             // break out early here if you can detect it doesn't matter if you do
-//         }
-//         if (!does_dst_type_point_to_our_static_type)
-//         {
-//             // We found a dst_type that doesn't point to (static_ptr, static_type)
-//             // So record the address of this dst_ptr and increment the
-//             // count of the number of such dst_types found in the tree.
-//             info->dst_ptr_not_leading_to_static_ptr = current_ptr;
-//             info->number_to_dst_ptr += 1;
-//         }
-//     }
-//     else
-//     {
-//         // This is not a static_type and not a dst_type.
-//         for (Iter p = __base_info, e = __base_info + __base_count; p < e; ++p)
-//         {
-//             p->search_below_dst(info, current_ptr, public_path);
-//             // break out early here if you can detect it doesn't matter if you do
-//         }
-//     }
-// }
-void
-__vmi_class_type_info::search_below_dst(__dynamic_cast_info* info,
-                                        const void* current_ptr,
-                                        int path_below,
-                                        bool use_strcmp) const
-{
-    typedef const __base_class_type_info* Iter;
-    if (is_equal(this, info->static_type, use_strcmp))
-        process_static_type_below_dst(info, current_ptr, path_below);
-    else if (is_equal(this, info->dst_type, use_strcmp))
-    {
-        // We've been here before if we've recorded current_ptr in one of these
-        //   two places:
-        if (current_ptr == info->dst_ptr_leading_to_static_ptr ||
-            current_ptr == info->dst_ptr_not_leading_to_static_ptr)
-        {
-            // We've seen this node before, and therefore have already searched
-            // its base classes above.
-            //  Update path to here that is "most public".
-            if (path_below == public_path)
-                info->path_dynamic_ptr_to_dst_ptr = public_path;
-        }
-        else  // We have haven't been here before
-        {
-            // Record the access path that got us here
-            //   If there is more than one dst_type this path doesn't matter.
-            info->path_dynamic_ptr_to_dst_ptr = path_below;
-            bool does_dst_type_point_to_our_static_type = false;
-            // Only search above here if dst_type derives from static_type, or
-            //    if it is unknown if dst_type derives from static_type.
-            if (info->is_dst_type_derived_from_static_type != no)
-            {
-                // Set up flags to record results from all base classes
-                bool is_dst_type_derived_from_static_type = false;
-
-                // We've found a dst_type with a potentially public path to here.
-                // We have to assume the path is public because it may become
-                //   public later (if we get back to here with a public path).
-                // We can stop looking above if:
-                //    1.  We've found a public path to (static_ptr, static_type).
-                //    2.  We've found an ambiguous cast from (static_ptr, static_type) to a dst_type.
-                //        This is detected at the (static_ptr, static_type).
-                //    3.  We can prove that there is no public path to (static_ptr, static_type)
-                //        above here.
-                const Iter e = __base_info + __base_count;
-                for (Iter p = __base_info; p < e; ++p)
-                {
-                    // Zero out found flags
-                    info->found_our_static_ptr = false;
-                    info->found_any_static_type = false;
-                    p->search_above_dst(info, current_ptr, current_ptr, public_path, use_strcmp);
-                    if (info->search_done)
-                        break;
-                    if (info->found_any_static_type)
-                    {
-                        is_dst_type_derived_from_static_type = true;
-                        if (info->found_our_static_ptr)
-                        {
-                            does_dst_type_point_to_our_static_type = true;
-                            // If we found what we're looking for, stop looking above.
-                            if (info->path_dst_ptr_to_static_ptr == public_path)
-                                break;
-                            // We found a private path to (static_ptr, static_type)
-                            //   If there is no diamond then there is only one path
-                            //   to (static_ptr, static_type) and we just found it.
-                            if (!(__flags & __diamond_shaped_mask))
-                                break;
-                        }
-                        else
-                        {
-                            // If we found a static_type that isn't the one we're looking
-                            //    for, and if there are no repeated types above here,
-                            //    then stop looking.
-                            if (!(__flags & __non_diamond_repeat_mask))
-                                break;
-                        }
-                    }
-                }
-                // If we found no static_type,s then dst_type doesn't derive
-                //   from static_type, else it does.  Record this result so that
-                //   next time we hit a dst_type we will know not to search above
-                //   it if it doesn't derive from static_type.
-                if (is_dst_type_derived_from_static_type)
-                    info->is_dst_type_derived_from_static_type = yes;
-                else
-                    info->is_dst_type_derived_from_static_type = no;
-              }
-              if (!does_dst_type_point_to_our_static_type)
-              {
-                  // We found a dst_type that doesn't point to (static_ptr, static_type)
-                  // So record the address of this dst_ptr and increment the
-                  // count of the number of such dst_types found in the tree.
-                  info->dst_ptr_not_leading_to_static_ptr = current_ptr;
-                  info->number_to_dst_ptr += 1;
-                  // If there exists another dst with a private path to
-                  //    (static_ptr, static_type), then the cast from
-                  //     (dynamic_ptr, dynamic_type) to dst_type is now ambiguous,
-                  //      so stop search.
-                  if (info->number_to_static_ptr == 1 &&
-                          info->path_dst_ptr_to_static_ptr == not_public_path)
-                      info->search_done = true;
-              }
-        }
-    }
-    else
-    {
-        // This is not a static_type and not a dst_type.
-        const Iter e = __base_info + __base_count;
-        Iter p = __base_info;
-        p->search_below_dst(info, current_ptr, path_below, use_strcmp);
-        if (++p < e)
-        {
-            if ((__flags & __diamond_shaped_mask) || info->number_to_static_ptr == 1)
-            {
-                // If there are multiple paths to a base above from here, or if
-                //    a dst_type pointing to (static_ptr, static_type) has been found,
-                //    then there is no way to break out of this loop early unless
-                //    something below detects the search is done.
-                do
-                {
-                    if (info->search_done)
-                        break;
-                    p->search_below_dst(info, current_ptr, path_below, use_strcmp);
-                } while (++p < e);
-            }
-            else if (__flags & __non_diamond_repeat_mask)
-            {
-                // There are not multiple paths to any base class from here and a
-                //   dst_type pointing to (static_ptr, static_type) has not yet been
-                //   found.
-                do
-                {
-                    if (info->search_done)
-                        break;
-                    // If we just found a dst_type with a public path to (static_ptr, static_type),
-                    //    then the only reason to continue the search is to make sure
-                    //    no other dst_type points to (static_ptr, static_type).
-                    //    If !diamond, then we don't need to search here.
-                    if (info->number_to_static_ptr == 1 &&
-                              info->path_dst_ptr_to_static_ptr == public_path)
-                        break;
-                    p->search_below_dst(info, current_ptr, path_below, use_strcmp);
-                } while (++p < e);
-            }
-            else
-            {
-                // There are no repeated types above this node.
-                // There are no nodes with multiple parents above this node.
-                // no dst_type has been found to (static_ptr, static_type)
-                do
-                {
-                    if (info->search_done)
-                        break;
-                    // If we just found a dst_type with a public path to (static_ptr, static_type),
-                    //    then the only reason to continue the search is to make sure sure
-                    //    no other dst_type points to (static_ptr, static_type).
-                    //    If !diamond, then we don't need to search here.
-                    // if we just found a dst_type with a private path to (static_ptr, static_type),
-                    //    then we're only looking for a public path to (static_ptr, static_type)
-                    //    and to check for other dst_types.
-                    //    If !diamond & !repeat, then there is not a pointer to (static_ptr, static_type)
-                    //    and not a dst_type under here.
-                    if (info->number_to_static_ptr == 1)
-                        break;
-                    p->search_below_dst(info, current_ptr, path_below, use_strcmp);
-                } while (++p < e);
-            }
-        }
-    }
-}
-
-// This is the same algorithm as __vmi_class_type_info::search_below_dst but
-//   simplified to the case that there is only a single base class.
-void
-__si_class_type_info::search_below_dst(__dynamic_cast_info* info,
-                                       const void* current_ptr,
-                                       int path_below,
-                                       bool use_strcmp) const
-{
-    if (is_equal(this, info->static_type, use_strcmp))
-        process_static_type_below_dst(info, current_ptr, path_below);
-    else if (is_equal(this, info->dst_type, use_strcmp))
-    {
-        // We've been here before if we've recorded current_ptr in one of these
-        //   two places:
-        if (current_ptr == info->dst_ptr_leading_to_static_ptr ||
-            current_ptr == info->dst_ptr_not_leading_to_static_ptr)
-        {
-            // We've seen this node before, and therefore have already searched
-            // its base classes above.
-            //  Update path to here that is "most public".
-            if (path_below == public_path)
-                info->path_dynamic_ptr_to_dst_ptr = public_path;
-        }
-        else  // We have haven't been here before
-        {
-            // Record the access path that got us here
-            //   If there is more than one dst_type this path doesn't matter.
-            info->path_dynamic_ptr_to_dst_ptr = path_below;
-            bool does_dst_type_point_to_our_static_type = false;
-            // Only search above here if dst_type derives from static_type, or
-            //    if it is unknown if dst_type derives from static_type.
-            if (info->is_dst_type_derived_from_static_type != no)
-            {
-                // Set up flags to record results from all base classes
-                bool is_dst_type_derived_from_static_type = false;
-                // Zero out found flags
-                info->found_our_static_ptr = false;
-                info->found_any_static_type = false;
-                __base_type->search_above_dst(info, current_ptr, current_ptr, public_path, use_strcmp);
-                if (info->found_any_static_type)
-                {
-                    is_dst_type_derived_from_static_type = true;
-                    if (info->found_our_static_ptr)
-                        does_dst_type_point_to_our_static_type = true;
-                }
-                // If we found no static_type,s then dst_type doesn't derive
-                //   from static_type, else it does.  Record this result so that
-                //   next time we hit a dst_type we will know not to search above
-                //   it if it doesn't derive from static_type.
-                if (is_dst_type_derived_from_static_type)
-                    info->is_dst_type_derived_from_static_type = yes;
-                else
-                    info->is_dst_type_derived_from_static_type = no;
-            }
-            if (!does_dst_type_point_to_our_static_type)
-            {
-                // We found a dst_type that doesn't point to (static_ptr, static_type)
-                // So record the address of this dst_ptr and increment the
-                // count of the number of such dst_types found in the tree.
-                info->dst_ptr_not_leading_to_static_ptr = current_ptr;
-                info->number_to_dst_ptr += 1;
-                // If there exists another dst with a private path to
-                //    (static_ptr, static_type), then the cast from
-                //     (dynamic_ptr, dynamic_type) to dst_type is now ambiguous.
-                if (info->number_to_static_ptr == 1 &&
-                        info->path_dst_ptr_to_static_ptr == not_public_path)
-                    info->search_done = true;
-            }
-        }
-    }
-    else
-    {
-        // This is not a static_type and not a dst_type
-        __base_type->search_below_dst(info, current_ptr, path_below, use_strcmp);
-    }
-}
-
-// This is the same algorithm as __vmi_class_type_info::search_below_dst but
-//   simplified to the case that there is no base class.
-void
-__class_type_info::search_below_dst(__dynamic_cast_info* info,
-                                    const void* current_ptr,
-                                    int path_below,
-                                    bool use_strcmp) const
-{
-    if (is_equal(this, info->static_type, use_strcmp))
-        process_static_type_below_dst(info, current_ptr, path_below);
-    else if (is_equal(this, info->dst_type, use_strcmp))
-    {
-        // We've been here before if we've recorded current_ptr in one of these
-        //   two places:
-        if (current_ptr == info->dst_ptr_leading_to_static_ptr ||
-            current_ptr == info->dst_ptr_not_leading_to_static_ptr)
-        {
-            // We've seen this node before, and therefore have already searched
-            // its base classes above.
-            //  Update path to here that is "most public".
-            if (path_below == public_path)
-                info->path_dynamic_ptr_to_dst_ptr = public_path;
-        }
-        else  // We have haven't been here before
-        {
-            // Record the access path that got us here
-            //   If there is more than one dst_type this path doesn't matter.
-            info->path_dynamic_ptr_to_dst_ptr = path_below;
-            // We found a dst_type that doesn't point to (static_ptr, static_type)
-            // So record the address of this dst_ptr and increment the
-            // count of the number of such dst_types found in the tree.
-            info->dst_ptr_not_leading_to_static_ptr = current_ptr;
-            info->number_to_dst_ptr += 1;
-            // If there exists another dst with a private path to
-            //    (static_ptr, static_type), then the cast from 
-            //     (dynamic_ptr, dynamic_type) to dst_type is now ambiguous.
-            if (info->number_to_static_ptr == 1 &&
-                    info->path_dst_ptr_to_static_ptr == not_public_path)
-                info->search_done = true;
-            // We found that dst_type does not derive from static_type
-            info->is_dst_type_derived_from_static_type = no;
-        }
-    }
-}
-
-// Call this function when searching above a dst_type node.  This function searches
-// for a public path to (static_ptr, static_type).
-// This function is guaranteed not to find a node of type dst_type.
-// Theoretically this is a very simple function which just stops if it finds a
-// static_type node:  All the hoopla surrounding the search code is doing
-// nothing but looking for excuses to stop the search prematurely (break out of
-// the for-loop).  That is, the algorithm below is simply an optimization of this:
-// void
-// __vmi_class_type_info::search_above_dst(__dynamic_cast_info* info,
-//                                         const void* dst_ptr,
-//                                         const void* current_ptr,
-//                                         int path_below) const
-// {
-//     if (this == info->static_type)
-//         process_static_type_above_dst(info, dst_ptr, current_ptr, path_below);
-//     else
-//     {
-//         typedef const __base_class_type_info* Iter;
-//         // This is not a static_type and not a dst_type
-//         for (Iter p = __base_info, e = __base_info + __base_count; p < e; ++p)
-//         {
-//             p->search_above_dst(info, dst_ptr, current_ptr, public_path);
-//             // break out early here if you can detect it doesn't matter if you do
-//         }
-//     }
-// }
-void
-__vmi_class_type_info::search_above_dst(__dynamic_cast_info* info,
-                                        const void* dst_ptr,
-                                        const void* current_ptr,
-                                        int path_below,
-                                        bool use_strcmp) const
-{
-    if (is_equal(this, info->static_type, use_strcmp))
-        process_static_type_above_dst(info, dst_ptr, current_ptr, path_below);
-    else
-    {
-        typedef const __base_class_type_info* Iter;
-        // This is not a static_type and not a dst_type
-        // Save flags so they can be restored when returning to nodes below.
-        bool found_our_static_ptr = info->found_our_static_ptr;
-        bool found_any_static_type = info->found_any_static_type;
-        // We've found a dst_type below with a path to here.  If the path
-        //    to here is not public, there may be another path to here that
-        //    is public.  So we have to assume that the path to here is public.
-        //  We can stop looking above if:
-        //    1.  We've found a public path to (static_ptr, static_type).
-        //    2.  We've found an ambiguous cast from (static_ptr, static_type) to a dst_type.
-        //        This is detected at the (static_ptr, static_type).
-        //    3.  We can prove that there is no public path to (static_ptr, static_type)
-        //        above here.
-        const Iter e = __base_info + __base_count;
-        Iter p = __base_info;
-        // Zero out found flags
-        info->found_our_static_ptr = false;
-        info->found_any_static_type = false;
-        p->search_above_dst(info, dst_ptr, current_ptr, path_below, use_strcmp);
-        found_our_static_ptr |= info->found_our_static_ptr;
-        found_any_static_type |= info->found_any_static_type;
-        if (++p < e)
-        {
-            do
-            {
-                if (info->search_done)
-                    break;
-                if (info->found_our_static_ptr)
-                {
-                    // If we found what we're looking for, stop looking above.
-                    if (info->path_dst_ptr_to_static_ptr == public_path)
-                        break;
-                    // We found a private path to (static_ptr, static_type)
-                    //   If there is no diamond then there is only one path
-                    //   to (static_ptr, static_type) from here and we just found it.
-                    if (!(__flags & __diamond_shaped_mask))
-                        break;
-                }
-                else if (info->found_any_static_type)
-                {
-                    // If we found a static_type that isn't the one we're looking
-                    //    for, and if there are no repeated types above here,
-                    //    then stop looking.
-                    if (!(__flags & __non_diamond_repeat_mask))
-                        break;
-                }
-                // Zero out found flags
-                info->found_our_static_ptr = false;
-                info->found_any_static_type = false;
-                p->search_above_dst(info, dst_ptr, current_ptr, path_below, use_strcmp);
-                found_our_static_ptr |= info->found_our_static_ptr;
-                found_any_static_type |= info->found_any_static_type;
-            } while (++p < e);
-        }
-        // Restore flags
-        info->found_our_static_ptr = found_our_static_ptr;
-        info->found_any_static_type = found_any_static_type;
-    }
-}
-
-// This is the same algorithm as __vmi_class_type_info::search_above_dst but
-//   simplified to the case that there is only a single base class.
-void
-__si_class_type_info::search_above_dst(__dynamic_cast_info* info,
-                                       const void* dst_ptr,
-                                       const void* current_ptr,
-                                       int path_below,
-                                       bool use_strcmp) const
-{
-    if (is_equal(this, info->static_type, use_strcmp))
-        process_static_type_above_dst(info, dst_ptr, current_ptr, path_below);
-    else
-        __base_type->search_above_dst(info, dst_ptr, current_ptr, path_below, use_strcmp);
-}
-
-// This is the same algorithm as __vmi_class_type_info::search_above_dst but
-//   simplified to the case that there is no base class.
-void
-__class_type_info::search_above_dst(__dynamic_cast_info* info,
-                                    const void* dst_ptr,
-                                    const void* current_ptr,
-                                    int path_below,
-                                    bool use_strcmp) const
-{
-    if (is_equal(this, info->static_type, use_strcmp))
-        process_static_type_above_dst(info, dst_ptr, current_ptr, path_below);
-}
-
-// The search functions for __base_class_type_info are simply convenience
-//   functions for adjusting the current_ptr and path_below as the search is
-//   passed up to the base class node.
-
-void
-__base_class_type_info::search_above_dst(__dynamic_cast_info* info,
-                                         const void* dst_ptr,
-                                         const void* current_ptr,
-                                         int path_below,
-                                         bool use_strcmp) const
-{
-    ptrdiff_t offset_to_base = __offset_flags >> __offset_shift;
-    if (__offset_flags & __virtual_mask)
-    {
-        const char* vtable = *static_cast<const char*const*>(current_ptr);
-        offset_to_base = *reinterpret_cast<const ptrdiff_t*>(vtable + offset_to_base);
-    }
-    __base_type->search_above_dst(info, dst_ptr,
-                                  static_cast<const char*>(current_ptr) + offset_to_base,
-                                  (__offset_flags & __public_mask) ?
-                                      path_below :
-                                      not_public_path,
-                                  use_strcmp);
-}
-
-void
-__base_class_type_info::search_below_dst(__dynamic_cast_info* info,
-                                         const void* current_ptr,
-                                         int path_below,
-                                         bool use_strcmp) const
-{
-    ptrdiff_t offset_to_base = __offset_flags >> __offset_shift;
-    if (__offset_flags & __virtual_mask)
-    {
-        const char* vtable = *static_cast<const char*const*>(current_ptr);
-        offset_to_base = *reinterpret_cast<const ptrdiff_t*>(vtable + offset_to_base);
-    }
-    __base_type->search_below_dst(info,
-                                  static_cast<const char*>(current_ptr) + offset_to_base,
-                                  (__offset_flags & __public_mask) ?
-                                      path_below :
-                                      not_public_path,
-                                  use_strcmp);
-}
-
-}  // __cxxabiv1
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.h b/r21/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.h
deleted file mode 100644
index d7f3f83..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/src/private_typeinfo.h
+++ /dev/null
@@ -1,251 +0,0 @@
-//===------------------------ private_typeinfo.h --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef __PRIVATE_TYPEINFO_H_
-#define __PRIVATE_TYPEINFO_H_
-
-#include "__cxxabi_config.h"
-
-#include <typeinfo>
-#include <cstddef>
-
-namespace __cxxabiv1 {
-
-class _LIBCXXABI_TYPE_VIS __shim_type_info : public std::type_info {
-public:
-  _LIBCXXABI_HIDDEN virtual ~__shim_type_info();
-
-  _LIBCXXABI_HIDDEN virtual void noop1() const;
-  _LIBCXXABI_HIDDEN virtual void noop2() const;
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *thrown_type,
-                                           void *&adjustedPtr) const = 0;
-};
-
-class _LIBCXXABI_TYPE_VIS __fundamental_type_info : public __shim_type_info {
-public:
-  _LIBCXXABI_HIDDEN virtual ~__fundamental_type_info();
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *,
-                                           void *&) const;
-};
-
-class _LIBCXXABI_TYPE_VIS __array_type_info : public __shim_type_info {
-public:
-  _LIBCXXABI_HIDDEN virtual ~__array_type_info();
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *,
-                                           void *&) const;
-};
-
-class _LIBCXXABI_TYPE_VIS __function_type_info : public __shim_type_info {
-public:
-  _LIBCXXABI_HIDDEN virtual ~__function_type_info();
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *,
-                                           void *&) const;
-};
-
-class _LIBCXXABI_TYPE_VIS __enum_type_info : public __shim_type_info {
-public:
-  _LIBCXXABI_HIDDEN virtual ~__enum_type_info();
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *,
-                                           void *&) const;
-};
-
-enum
-{
-    unknown = 0,
-    public_path,
-    not_public_path,
-    yes,
-    no
-};
-
-class _LIBCXXABI_TYPE_VIS __class_type_info;
-
-struct _LIBCXXABI_HIDDEN __dynamic_cast_info
-{
-// const data supplied to the search:
-
-    const __class_type_info* dst_type;
-    const void* static_ptr;
-    const __class_type_info* static_type;
-    std::ptrdiff_t src2dst_offset;
-
-// Data that represents the answer:
-
-    // pointer to a dst_type which has (static_ptr, static_type) above it
-    const void* dst_ptr_leading_to_static_ptr;
-    // pointer to a dst_type which does not have (static_ptr, static_type) above it
-    const void* dst_ptr_not_leading_to_static_ptr;
-
-    // The following three paths are either unknown, public_path or not_public_path.
-    // access of path from dst_ptr_leading_to_static_ptr to (static_ptr, static_type)
-    int path_dst_ptr_to_static_ptr;
-    // access of path from (dynamic_ptr, dynamic_type) to (static_ptr, static_type)
-    //    when there is no dst_type along the path
-    int path_dynamic_ptr_to_static_ptr;
-    // access of path from (dynamic_ptr, dynamic_type) to dst_type
-    //    (not used if there is a (static_ptr, static_type) above a dst_type).
-    int path_dynamic_ptr_to_dst_ptr;
-
-    // Number of dst_types below (static_ptr, static_type)
-    int number_to_static_ptr;
-    // Number of dst_types not below (static_ptr, static_type)
-    int number_to_dst_ptr;
-
-// Data that helps stop the search before the entire tree is searched:
-
-    // is_dst_type_derived_from_static_type is either unknown, yes or no.
-    int is_dst_type_derived_from_static_type;
-    // Number of dst_type in tree.  If 0, then that means unknown.
-    int number_of_dst_type;
-    // communicates to a dst_type node that (static_ptr, static_type) was found
-    //    above it.
-    bool found_our_static_ptr;
-    // communicates to a dst_type node that a static_type was found
-    //    above it, but it wasn't (static_ptr, static_type)
-    bool found_any_static_type;
-    // Set whenever a search can be stopped
-    bool search_done;
-};
-
-// Has no base class
-class _LIBCXXABI_TYPE_VIS __class_type_info : public __shim_type_info {
-public:
-  _LIBCXXABI_HIDDEN virtual ~__class_type_info();
-
-  _LIBCXXABI_HIDDEN void process_static_type_above_dst(__dynamic_cast_info *,
-                                                       const void *,
-                                                       const void *, int) const;
-  _LIBCXXABI_HIDDEN void process_static_type_below_dst(__dynamic_cast_info *,
-                                                       const void *, int) const;
-  _LIBCXXABI_HIDDEN void process_found_base_class(__dynamic_cast_info *, void *,
-                                                  int) const;
-  _LIBCXXABI_HIDDEN virtual void search_above_dst(__dynamic_cast_info *,
-                                                  const void *, const void *,
-                                                  int, bool) const;
-  _LIBCXXABI_HIDDEN virtual void
-  search_below_dst(__dynamic_cast_info *, const void *, int, bool) const;
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *,
-                                           void *&) const;
-  _LIBCXXABI_HIDDEN virtual void
-  has_unambiguous_public_base(__dynamic_cast_info *, void *, int) const;
-};
-
-// Has one non-virtual public base class at offset zero
-class _LIBCXXABI_TYPE_VIS __si_class_type_info : public __class_type_info {
-public:
-  const __class_type_info *__base_type;
-
-  _LIBCXXABI_HIDDEN virtual ~__si_class_type_info();
-
-  _LIBCXXABI_HIDDEN virtual void search_above_dst(__dynamic_cast_info *,
-                                                  const void *, const void *,
-                                                  int, bool) const;
-  _LIBCXXABI_HIDDEN virtual void
-  search_below_dst(__dynamic_cast_info *, const void *, int, bool) const;
-  _LIBCXXABI_HIDDEN virtual void
-  has_unambiguous_public_base(__dynamic_cast_info *, void *, int) const;
-};
-
-struct _LIBCXXABI_HIDDEN __base_class_type_info
-{
-public:
-    const __class_type_info* __base_type;
-    long __offset_flags;
-
-    enum __offset_flags_masks
-    {
-        __virtual_mask = 0x1,
-        __public_mask  = 0x2, // base is public
-        __offset_shift = 8
-    };
-
-    void search_above_dst(__dynamic_cast_info*, const void*, const void*, int, bool) const;
-    void search_below_dst(__dynamic_cast_info*, const void*, int, bool) const;
-    void has_unambiguous_public_base(__dynamic_cast_info*, void*, int) const;
-};
-
-// Has one or more base classes
-class _LIBCXXABI_TYPE_VIS __vmi_class_type_info : public __class_type_info {
-public:
-  unsigned int __flags;
-  unsigned int __base_count;
-  __base_class_type_info __base_info[1];
-
-  enum __flags_masks {
-    __non_diamond_repeat_mask = 0x1, // has two or more distinct base class
-                                     //    objects of the same type
-    __diamond_shaped_mask = 0x2      // has base class object with two or
-                                     //    more derived objects
-  };
-
-  _LIBCXXABI_HIDDEN virtual ~__vmi_class_type_info();
-
-  _LIBCXXABI_HIDDEN virtual void search_above_dst(__dynamic_cast_info *,
-                                                  const void *, const void *,
-                                                  int, bool) const;
-  _LIBCXXABI_HIDDEN virtual void
-  search_below_dst(__dynamic_cast_info *, const void *, int, bool) const;
-  _LIBCXXABI_HIDDEN virtual void
-  has_unambiguous_public_base(__dynamic_cast_info *, void *, int) const;
-};
-
-class _LIBCXXABI_TYPE_VIS __pbase_type_info : public __shim_type_info {
-public:
-  unsigned int __flags;
-  const __shim_type_info *__pointee;
-
-  enum __masks {
-    __const_mask = 0x1,
-    __volatile_mask = 0x2,
-    __restrict_mask = 0x4,
-    __incomplete_mask = 0x8,
-    __incomplete_class_mask = 0x10,
-    __transaction_safe_mask = 0x20,
-    // This implements the following proposal from cxx-abi-dev (not yet part of
-    // the ABI document):
-    //
-    //   http://sourcerytools.com/pipermail/cxx-abi-dev/2016-October/002986.html
-    //
-    // This is necessary for support of http://wg21.link/p0012, which permits
-    // throwing noexcept function and member function pointers and catching
-    // them as non-noexcept pointers.
-    __noexcept_mask = 0x40,
-
-    // Flags that cannot be removed by a standard conversion.
-    __no_remove_flags_mask = __const_mask | __volatile_mask | __restrict_mask,
-    // Flags that cannot be added by a standard conversion.
-    __no_add_flags_mask = __transaction_safe_mask | __noexcept_mask
-  };
-
-  _LIBCXXABI_HIDDEN virtual ~__pbase_type_info();
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *,
-                                           void *&) const;
-};
-
-class _LIBCXXABI_TYPE_VIS __pointer_type_info : public __pbase_type_info {
-public:
-  _LIBCXXABI_HIDDEN virtual ~__pointer_type_info();
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *,
-                                           void *&) const;
-  _LIBCXXABI_HIDDEN bool can_catch_nested(const __shim_type_info *) const;
-};
-
-class _LIBCXXABI_TYPE_VIS __pointer_to_member_type_info
-    : public __pbase_type_info {
-public:
-  const __class_type_info *__context;
-
-  _LIBCXXABI_HIDDEN virtual ~__pointer_to_member_type_info();
-  _LIBCXXABI_HIDDEN virtual bool can_catch(const __shim_type_info *,
-                                           void *&) const;
-  _LIBCXXABI_HIDDEN bool can_catch_nested(const __shim_type_info *) const;
-};
-
-}  // __cxxabiv1
-
-#endif  // __PRIVATE_TYPEINFO_H_
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/CMakeLists.txt b/r21/sources/cxx-stl/llvm-libc++abi/test/CMakeLists.txt
deleted file mode 100644
index 60e052d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/CMakeLists.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-include(AddLLVM) # for add_lit_testsuite
-macro(pythonize_bool var)
-  if (${var})
-    set(${var} True)
-  else()
-    set(${var} False)
-  endif()
-endmacro()
-
-if (NOT DEFINED LIBCXX_ENABLE_SHARED)
-  set(LIBCXX_ENABLE_SHARED ON)
-endif()
-
-pythonize_bool(LIBCXXABI_BUILD_32_BITS)
-pythonize_bool(LIBCXX_ENABLE_SHARED)
-pythonize_bool(LIBCXXABI_ENABLE_SHARED)
-pythonize_bool(LIBCXXABI_ENABLE_THREADS)
-pythonize_bool(LIBCXXABI_ENABLE_EXCEPTIONS)
-pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)
-pythonize_bool(LIBCXXABI_USE_COMPILER_RT)
-pythonize_bool(LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
-pythonize_bool(LIBCXX_ENABLE_PARALLEL_ALGORITHMS)
-set(LIBCXXABI_TARGET_INFO "libcxx.test.target_info.LocalTI" CACHE STRING
-    "TargetInfo to use when setting up test environment.")
-set(LIBCXXABI_EXECUTOR "None" CACHE STRING
-    "Executor to use when running tests.")
-
-set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!")
-
-if (LIBCXXABI_ENABLE_SHARED)
-  set(LIBCXXABI_TEST_DEPS cxxabi_shared)
-else()
-  set(LIBCXXABI_TEST_DEPS cxxabi_static)
-endif()
-
-if (LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
-  list(APPEND LIBCXXABI_TEST_DEPS cxx_external_threads)
-endif()
-
-if (NOT LIBCXXABI_STANDALONE_BUILD)
-  list(APPEND LIBCXXABI_TEST_DEPS cxx)
-  if (LIBCXXABI_USE_LLVM_UNWINDER)
-    list(APPEND LIBCXXABI_TEST_DEPS unwind)
-  endif()
-endif()
-
-
-configure_lit_site_cfg(
-  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
-  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
-
-add_lit_testsuite(check-cxxabi "Running libcxxabi tests"
-  ${CMAKE_CURRENT_BINARY_DIR}
-  DEPENDS ${LIBCXXABI_TEST_DEPS}
-  )
-
-# TODO: This is a legacy target name and should be removed at some point.
-add_custom_target(check-libcxxabi DEPENDS check-cxxabi)
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/backtrace_test.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/backtrace_test.pass.cpp
deleted file mode 100644
index b6ed9b2..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/backtrace_test.pass.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//===---------------------- backtrace_test.cpp ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <assert.h>
-#include <stddef.h>
-#include <unwind.h>
-
-extern "C" _Unwind_Reason_Code
-trace_function(struct _Unwind_Context*, void* ntraced) {
-  (*reinterpret_cast<size_t*>(ntraced))++;
-  // We should never have a call stack this deep...
-  assert(*reinterpret_cast<size_t*>(ntraced) < 20);
-  return _URC_NO_REASON;
-}
-
-__attribute__ ((__noinline__))
-void call3_throw(size_t* ntraced) {
-  try {
-    _Unwind_Backtrace(trace_function, ntraced);
-  } catch (...) {
-    assert(false);
-  }
-}
-
-__attribute__ ((__noinline__, __disable_tail_calls__))
-void call3_nothrow(size_t* ntraced) {
-  _Unwind_Backtrace(trace_function, ntraced);
-}
-
-__attribute__ ((__noinline__, __disable_tail_calls__))
-void call2(size_t* ntraced, bool do_throw) {
-  if (do_throw) {
-    call3_throw(ntraced);
-  } else {
-    call3_nothrow(ntraced);
-  }
-}
-
-__attribute__ ((__noinline__, __disable_tail_calls__))
-void call1(size_t* ntraced, bool do_throw) {
-  call2(ntraced, do_throw);
-}
-
-int main() {
-  size_t throw_ntraced = 0;
-  size_t nothrow_ntraced = 0;
-
-  call1(&nothrow_ntraced, false);
-
-  try {
-    call1(&throw_ntraced, true);
-  } catch (...) {
-    assert(false);
-  }
-
-  // Different platforms (and different runtimes) will unwind a different number
-  // of times, so we can't make any better assumptions than this.
-  assert(nothrow_ntraced > 1);
-  assert(throw_ntraced == nothrow_ntraced); // Make sure we unwind through catch
-  return 0;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_array_01.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_array_01.pass.cpp
deleted file mode 100644
index 03288e7..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_array_01.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===---------------------- catch_array_01.cpp ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// Can you have a catch clause of array type that catches anything?
-
-// GCC incorrectly allows array types to be caught by reference.
-// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69372
-// XFAIL: gcc
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-
-int main()
-{
-    typedef char Array[4];
-    Array a = {'H', 'i', '!', 0};
-    try
-    {
-        throw a;  // converts to char*
-        assert(false);
-    }
-    catch (Array& b)  // can't catch char*
-    {
-        assert(false);
-    }
-    catch (...)
-    {
-    }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_array_02.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_array_02.pass.cpp
deleted file mode 100644
index f6228a0..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_array_02.pass.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//===---------------------- catch_array_02.cpp ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// Can you have a catch clause of array type that catches anything?
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-
-int main()
-{
-    typedef char Array[4];
-    Array a = {'H', 'i', '!', 0};
-    try
-    {
-        throw a;  // converts to char*
-        assert(false);
-    }
-    catch (Array b)  // equivalent to char*
-    {
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_01.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_01.pass.cpp
deleted file mode 100644
index 0a7b5ea..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_01.pass.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//===---------------------- catch_class_01.cpp ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-struct A
-{
-    static int count;
-    int id_;
-    explicit A(int id) : id_(id) {count++;}
-    A(const A& a) : id_(a.id_) {count++;}
-    ~A() {count--;}
-};
-
-int A::count = 0;
-
-void f1()
-{
-    throw A(3);
-}
-
-void f2()
-{
-    try
-    {
-        assert(A::count == 0);
-        f1();
-    }
-    catch (A a)
-    {
-        assert(A::count != 0);
-        assert(a.id_ == 3);
-        throw;
-    }
-}
-
-int main()
-{
-    try
-    {
-        f2();
-        assert(false);
-    }
-    catch (const A& a)
-    {
-        assert(A::count != 0);
-        assert(a.id_ == 3);
-    }
-    assert(A::count == 0);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_02.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_02.pass.cpp
deleted file mode 100644
index c415721..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_02.pass.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-//===---------------------- catch_class_02.cpp ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-struct B
-{
-    static int count;
-    int id_;
-    explicit B(int id) : id_(id) {count++;}
-    B(const B& a) : id_(a.id_) {count++;}
-    ~B() {count--;}
-};
-
-int B::count = 0;
-
-struct A
-    : B
-{
-    static int count;
-    int id_;
-    explicit A(int id) : B(id-1), id_(id) {count++;}
-    A(const A& a) : B(a.id_-1), id_(a.id_) {count++;}
-    ~A() {count--;}
-};
-
-int A::count = 0;
-
-void f1()
-{
-    assert(A::count == 0);
-    assert(B::count == 0);
-    A a(3);
-    assert(A::count == 1);
-    assert(B::count == 1);
-    throw a;
-    assert(false);
-}
-
-void f2()
-{
-    try
-    {
-        assert(A::count == 0);
-        f1();
-    assert(false);
-    }
-    catch (A a)
-    {
-        assert(A::count != 0);
-        assert(B::count != 0);
-        assert(a.id_ == 3);
-        throw;
-    }
-    catch (B b)
-    {
-        assert(false);
-    }
-}
-
-int main()
-{
-    try
-    {
-        f2();
-        assert(false);
-    }
-    catch (const B& b)
-    {
-        assert(B::count != 0);
-        assert(b.id_ == 2);
-    }
-    assert(A::count == 0);
-    assert(B::count == 0);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_03.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_03.pass.cpp
deleted file mode 100644
index cbc3c32..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_03.pass.cpp
+++ /dev/null
@@ -1,198 +0,0 @@
-//===---------------------- catch_class_03.cpp ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-/*
-    This test checks that adjustedPtr is correct as there exist offsets in this
-    object for the various subobjects, all of which have a unique id_ to
-    check against.
-*/
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-// Clang emits  warnings about exceptions of type 'Child' being caught by
-// an earlier handler of type 'Base'. Congrats clang, you've just
-// diagnosed the behavior under test.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Wexceptions"
-#endif
-
-struct B
-{
-    static int count;
-    int id_;
-    explicit B(int id) : id_(id) {count++;}
-    B(const B& a) : id_(a.id_) {count++;}
-    ~B() {count--;}
-};
-
-int B::count = 0;
-
-struct C1
-    : B
-{
-    static int count;
-    int id_;
-    explicit C1(int id) : B(id-2), id_(id) {count++;}
-    C1(const C1& a) : B(a.id_-2), id_(a.id_) {count++;}
-    ~C1() {count--;}
-};
-
-int C1::count = 0;
-
-struct C2
-    : B
-{
-    static int count;
-    int id_;
-    explicit C2(int id) : B(id-2), id_(id) {count++;}
-    C2(const C2& a) : B(a.id_-2), id_(a.id_) {count++;}
-    ~C2() {count--;}
-};
-
-int C2::count = 0;
-
-struct A
-    : C1, C2
-{
-    static int count;
-    int id_;
-    explicit A(int id) : C1(id-1), C2(id-2), id_(id) {count++;}
-    A(const A& a) : C1(a.id_-1), C2(a.id_-2), id_(a.id_) {count++;}
-    ~A() {count--;}
-};
-
-int A::count = 0;
-
-void f1()
-{
-    assert(A::count == 0);
-    assert(C1::count == 0);
-    assert(C2::count == 0);
-    assert(B::count == 0);
-    A a(5);
-    assert(A::count == 1);
-    assert(C1::count == 1);
-    assert(C2::count == 1);
-    assert(B::count == 2);
-
-    assert(a.id_ == 5);
-    assert(static_cast<C1&>(a).id_ == 4);
-    assert(static_cast<C2&>(a).id_ == 3);
-    assert(static_cast<B&>(static_cast<C1&>(a)).id_ == 2);
-    assert(static_cast<B&>(static_cast<C2&>(a)).id_ == 1);
-    throw a;
-    assert(false);
-}
-
-void f2()
-{
-    try
-    {
-        assert(A::count == 0);
-        assert(C1::count == 0);
-        assert(C2::count == 0);
-        assert(B::count == 0);
-        f1();
-        assert(false);
-    }
-    catch (const A& a)  // can catch A
-    {
-        assert(a.id_ == 5);
-        assert(static_cast<const C1&>(a).id_ == 4);
-        assert(static_cast<const C2&>(a).id_ == 3);
-        assert(static_cast<const B&>(static_cast<const C1&>(a)).id_ == 2);
-        assert(static_cast<const B&>(static_cast<const C2&>(a)).id_ == 1);
-        throw;
-    }
-    catch (const C1&)
-    {
-        assert(false);
-    }
-    catch (const C2&)
-    {
-        assert(false);
-    }
-    catch (const B&)
-    {
-        assert(false);
-    }
-}
-
-void f3()
-{
-    try
-    {
-        assert(A::count == 0);
-        assert(C1::count == 0);
-        assert(C2::count == 0);
-        assert(B::count == 0);
-        f2();
-        assert(false);
-    }
-    catch (const B& a)  // can not catch B (ambiguous base)
-    {
-        assert(false);
-    }
-    catch (const C1& c1)  // can catch C1
-    {
-        assert(c1.id_ == 4);
-        assert(static_cast<const B&>(c1).id_ == 2);
-        throw;
-    }
-    catch (const C2&)
-    {
-        assert(false);
-    }
-}
-
-void f4()
-{
-    try
-    {
-        assert(A::count == 0);
-        assert(C1::count == 0);
-        assert(C2::count == 0);
-        assert(B::count == 0);
-        f3();
-        assert(false);
-    }
-    catch (const B& a)  // can not catch B (ambiguous base)
-    {
-        assert(false);
-    }
-    catch (const C2& c2)  // can catch C2
-    {
-        assert(c2.id_ == 3);
-        assert(static_cast<const B&>(c2).id_ == 1);
-        throw;
-    }
-    catch (const C1&)
-    {
-        assert(false);
-    }
-}
-
-int main()
-{
-    try
-    {
-        f4();
-        assert(false);
-    }
-    catch (...)
-    {
-    }
-    assert(A::count == 0);
-    assert(C1::count == 0);
-    assert(C2::count == 0);
-    assert(B::count == 0);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_04.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_04.pass.cpp
deleted file mode 100644
index c439f79..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_class_04.pass.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-//===---------------------- catch_class_04.cpp ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-/*
-    This test checks that adjustedPtr is correct as there exist offsets in this
-    object for the various subobjects, all of which have a unique id_ to
-    check against.  It also checks that virtual bases work properly
-*/
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-// Clang emits  warnings about exceptions of type 'Child' being caught by
-// an earlier handler of type 'Base'. Congrats clang, you've just
-// diagnosed the behavior under test.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Wexceptions"
-#endif
-
-struct B
-{
-    static int count;
-    int id_;
-    explicit B(int id) : id_(id) {count++;}
-    B(const B& a) : id_(a.id_) {count++;}
-    ~B() {count--;}
-};
-
-int B::count = 0;
-
-struct C1
-    : virtual B
-{
-    static int count;
-    int id_;
-    explicit C1(int id) : B(id-2), id_(id) {count++;}
-    C1(const C1& a) : B(a.id_-2), id_(a.id_) {count++;}
-    ~C1() {count--;}
-};
-
-int C1::count = 0;
-
-struct C2
-    : virtual private B
-{
-    static int count;
-    int id_;
-    explicit C2(int id) : B(id-2), id_(id) {count++;}
-    C2(const C2& a) : B(a.id_-2), id_(a.id_) {count++;}
-    ~C2() {count--;}
-};
-
-int C2::count = 0;
-
-struct A
-    : C1, C2
-{
-    static int count;
-    int id_;
-    explicit A(int id) : B(id+3), C1(id-1), C2(id-2), id_(id) {count++;}
-    A(const A& a) :  B(a.id_+3), C1(a.id_-1), C2(a.id_-2), id_(a.id_) {count++;}
-    ~A() {count--;}
-};
-
-int A::count = 0;
-
-void f1()
-{
-    assert(A::count == 0);
-    assert(C1::count == 0);
-    assert(C2::count == 0);
-    assert(B::count == 0);
-    A a(5);
-    assert(A::count == 1);
-    assert(C1::count == 1);
-    assert(C2::count == 1);
-    assert(B::count == 1);
-
-    assert(a.id_ == 5);
-    assert(static_cast<C1&>(a).id_ == 4);
-    assert(static_cast<C2&>(a).id_ == 3);
-    assert(static_cast<B&>(a).id_ == 8);
-    throw a;
-    assert(false);
-}
-
-void f2()
-{
-    try
-    {
-        assert(A::count == 0);
-        assert(C1::count == 0);
-        assert(C2::count == 0);
-        assert(B::count == 0);
-        f1();
-        assert(false);
-    }
-    catch (const A& a)  // can catch A
-    {
-        assert(a.id_ == 5);
-        assert(static_cast<const C1&>(a).id_ == 4);
-        assert(static_cast<const C2&>(a).id_ == 3);
-        assert(static_cast<const B&>(a).id_ == 8);
-        throw;
-    }
-    catch (const C1&)
-    {
-        assert(false);
-    }
-    catch (const C2&)
-    {
-        assert(false);
-    }
-    catch (const B&)
-    {
-        assert(false);
-    }
-}
-
-void f3()
-{
-    try
-    {
-        assert(A::count == 0);
-        assert(C1::count == 0);
-        assert(C2::count == 0);
-        assert(B::count == 0);
-        f2();
-        assert(false);
-    }
-    catch (const B& a)  // can catch B
-    {
-        assert(static_cast<const B&>(a).id_ == 8);
-        throw;
-    }
-    catch (const C1& c1)
-    {
-        assert(false);
-    }
-    catch (const C2&)
-    {
-        assert(false);
-    }
-}
-
-void f4()
-{
-    try
-    {
-        assert(A::count == 0);
-        assert(C1::count == 0);
-        assert(C2::count == 0);
-        assert(B::count == 0);
-        f3();
-        assert(false);
-    }
-    catch (const C2& c2)  // can catch C2
-    {
-        assert(c2.id_ == 3);
-        throw;
-    }
-    catch (const B& a)  // can not catch B (ambiguous base)
-    {
-        assert(false);
-    }
-    catch (const C1&)
-    {
-        assert(false);
-    }
-}
-
-void f5()
-{
-    try
-    {
-        assert(A::count == 0);
-        assert(C1::count == 0);
-        assert(C2::count == 0);
-        assert(B::count == 0);
-        f4();
-        assert(false);
-    }
-    catch (const C1& c1)  // can catch C1
-    {
-        assert(c1.id_ == 4);
-        assert(static_cast<const B&>(c1).id_ == 8);
-        throw;
-    }
-    catch (const B& a)
-    {
-        assert(false);
-    }
-    catch (const C2&)
-    {
-        assert(false);
-    }
-}
-
-int main()
-{
-    try
-    {
-        f5();
-        assert(false);
-    }
-    catch (...)
-    {
-    }
-    assert(A::count == 0);
-    assert(C1::count == 0);
-    assert(C2::count == 0);
-    assert(B::count == 0);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_const_pointer_nullptr.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_const_pointer_nullptr.pass.cpp
deleted file mode 100644
index 44caef5..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_const_pointer_nullptr.pass.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//===--------------------- catch_const_pointer_nullptr.cpp ----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-
-// Clang emits  warnings about exceptions of type 'Child' being caught by
-// an earlier handler of type 'Base'. Congrats clang, you've just
-// diagnosed the behavior under test.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Wexceptions"
-#endif
-
-#if __has_feature(cxx_nullptr)
-
-struct A {};
-
-void test1()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (A* p)
-    {
-        assert(!p);
-    }
-    catch (const A*)
-    {
-        assert(false);
-    }
-}
-
-
-void test2()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (const A* p)
-    {
-        assert(!p);
-    }
-    catch (A*)
-    {
-        assert(false);
-    }
-}
-
-void test3()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (const A* const p)
-    {
-        assert(!p);
-    }
-    catch (A*)
-    {
-        assert(false);
-    }
-}
-
-void test4()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (A* p)
-    {
-        assert(!p);
-    }
-    catch (const A* const)
-    {
-        assert(false);
-    }
-}
-
-void test5()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (A const* p)
-    {
-        assert(!p);
-    }
-    catch (A*)
-    {
-        assert(false);
-    }
-}
-
-void test6()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (A* p)
-    {
-        assert(!p);
-    }
-    catch (A const*)
-    {
-        assert(false);
-    }
-}
-
-
-#else
-
-void test1() {}
-void test2() {}
-void test3() {}
-void test4() {}
-void test5() {}
-void test6() {}
-
-#endif
-
-int main()
-{
-    test1();
-    test2();
-    test3();
-    test4();
-    test5();
-    test6();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_01.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_01.pass.cpp
deleted file mode 100644
index bf962a9..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_01.pass.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//===----------------------- catch_function_01.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// Can you have a catch clause of array type that catches anything?
-
-// GCC incorrectly allows function pointer to be caught by reference.
-// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69372
-// XFAIL: gcc
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-
-template <class Tp>
-bool can_convert(Tp) { return true; }
-
-template <class>
-bool can_convert(...) { return false; }
-
-void f() {}
-
-int main()
-{
-    typedef void Function();
-    assert(!can_convert<Function&>(&f));
-    assert(!can_convert<void*>(&f));
-    try
-    {
-        throw f;     // converts to void (*)()
-        assert(false);
-    }
-    catch (Function& b)  // can't catch void (*)()
-    {
-        assert(false);
-    }
-    catch (void*) // can't catch as void*
-    {
-        assert(false);
-    }
-    catch(Function*)
-    {
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_02.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_02.pass.cpp
deleted file mode 100644
index f746d92..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_02.pass.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//===---------------------- catch_function_02.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// Can you have a catch clause of array type that catches anything?
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-
-void f() {}
-
-int main()
-{
-    typedef void Function();
-    try
-    {
-        throw f;     // converts to void (*)()
-        assert(false);
-    }
-    catch (Function b)  // equivalent to void (*)()
-    {
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_03.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_03.pass.cpp
deleted file mode 100644
index dbc72c7..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_function_03.pass.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//===---------------------- catch_function_03.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// Can a noexcept function pointer be caught by a non-noexcept catch clause?
-// UNSUPPORTED: libcxxabi-no-exceptions, libcxxabi-no-noexcept-function-type
-
-#include <cassert>
-
-template<bool Noexcept> void f() noexcept(Noexcept) {}
-template<bool Noexcept> using FnType = void() noexcept(Noexcept);
-
-template<bool ThrowNoexcept, bool CatchNoexcept>
-void check()
-{
-    try
-    {
-        auto *p = f<ThrowNoexcept>;
-        throw p;
-        assert(false);
-    }
-    catch (FnType<CatchNoexcept> *p)
-    {
-        assert(ThrowNoexcept || !CatchNoexcept);
-        assert(p == &f<ThrowNoexcept>);
-    }
-    catch (...)
-    {
-        assert(!ThrowNoexcept && CatchNoexcept);
-    }
-}
-
-void check_deep() {
-    auto *p = f<true>;
-    try
-    {
-        throw &p;
-    }
-    catch (FnType<false> **q)
-    {
-        assert(false);
-    }
-    catch (FnType<true> **q)
-    {
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-}
-
-int main()
-{
-    check<false, false>();
-    check<false, true>();
-    check<true, false>();
-    check<true, true>();
-    check_deep();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_in_noexcept.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_in_noexcept.pass.cpp
deleted file mode 100644
index 94af4df..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_in_noexcept.pass.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//===---------------------- catch_in_noexcept.cpp--------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03, libcxxabi-no-exceptions
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-struct A {};
-
-// Despite being marked as noexcept, this function must have an EHT entry that
-// is not 'cantunwind', so that the unwinder can correctly deal with the throw.
-void f1() noexcept
-{
-    try {
-        A a;
-        throw a;
-        assert(false);
-    } catch (...) {
-        assert(true);
-        return;
-    }
-    assert(false);
-}
-
-int main()
-{
-    f1();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_data_pointer_01.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_data_pointer_01.pass.cpp
deleted file mode 100644
index 6536515..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_data_pointer_01.pass.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-//===----------------- catch_member_data_pointer_01.cpp -------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-
-struct A
-{
-    A() : i(0), j(0) {} // explicitly initialize 'i' to prevent warnings
-    const int i;
-    int j;
-};
-
-typedef const int A::*md1;
-typedef       int A::*md2;
-
-struct B : public A
-{
-    B() : k(0), l(0) {} // explicitly initialize 'k' to prevent warnings.
-    const int k;
-    int l;
-};
-
-typedef const int B::*der1;
-typedef       int B::*der2;
-
-void test1()
-{
-    try
-    {
-        throw &A::i;
-        assert(false);
-    }
-    catch (md2)
-    {
-        assert(false);
-    }
-    catch (md1)
-    {
-    }
-}
-
-// Check that cv qualified conversions are allowed.
-void test2()
-{
-    try
-    {
-        throw &A::j;
-    }
-    catch (md2)
-    {
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-
-    try
-    {
-        throw &A::j;
-        assert(false);
-    }
-    catch (md1)
-    {
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-}
-
-// Check that Base -> Derived conversions are NOT allowed.
-void test3()
-{
-    try
-    {
-        throw &A::i;
-        assert(false);
-    }
-    catch (md2)
-    {
-        assert(false);
-    }
-    catch (der2)
-    {
-        assert(false);
-    }
-    catch (der1)
-    {
-        assert(false);
-    }
-    catch (md1)
-    {
-    }
-}
-
-// Check that Base -> Derived conversions NOT are allowed with different cv
-// qualifiers.
-void test4()
-{
-    try
-    {
-        throw &A::j;
-        assert(false);
-    }
-    catch (der2)
-    {
-        assert(false);
-    }
-    catch (der1)
-    {
-        assert(false);
-    }
-    catch (md2)
-    {
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-}
-
-// Check that no Derived -> Base conversions are allowed.
-void test5()
-{
-    try
-    {
-        throw &B::k;
-        assert(false);
-    }
-    catch (md1)
-    {
-        assert(false);
-    }
-    catch (md2)
-    {
-        assert(false);
-    }
-    catch (der1)
-    {
-    }
-
-    try
-    {
-        throw &B::l;
-        assert(false);
-    }
-    catch (md1)
-    {
-        assert(false);
-    }
-    catch (md2)
-    {
-        assert(false);
-    }
-    catch (der2)
-    {
-    }
-}
-
-int main()
-{
-    test1();
-    test2();
-    test3();
-    test4();
-    test5();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_01.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_01.pass.cpp
deleted file mode 100644
index 3dc21df..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_01.pass.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-//===--------------- catch_member_function_pointer_01.cpp -----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// GCC incorrectly allows PMF type "void (T::*)()" to be caught as "void (T::*)() const"
-// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69375
-// XFAIL: gcc
-// UNSUPPORTED: libcxxabi-no-exceptions
-#include <cassert>
-
-struct A
-{
-    void foo() {}
-    void bar() const {}
-};
-
-typedef void (A::*mf1)();
-typedef void (A::*mf2)() const;
-
-struct B : public A
-{
-};
-
-typedef void (B::*dmf1)();
-typedef void (B::*dmf2)() const;
-
-template <class Tp>
-bool can_convert(Tp) { return true; }
-
-template <class>
-bool can_convert(...) { return false; }
-
-
-void test1()
-{
-    try
-    {
-        throw &A::foo;
-        assert(false);
-    }
-    catch (mf2)
-    {
-        assert(false);
-    }
-    catch (mf1)
-    {
-    }
-}
-
-void test2()
-{
-    try
-    {
-        throw &A::bar;
-        assert(false);
-    }
-    catch (mf1)
-    {
-        assert(false);
-    }
-    catch (mf2)
-    {
-    }
-}
-
-
-
-void test_derived()
-{
-    try
-    {
-        throw (mf1)0;
-        assert(false);
-    }
-    catch (dmf2)
-    {
-       assert(false);
-    }
-    catch (dmf1)
-    {
-       assert(false);
-    }
-    catch (mf1)
-    {
-    }
-
-    try
-    {
-        throw (mf2)0;
-        assert(false);
-    }
-    catch (dmf1)
-    {
-       assert(false);
-    }
-    catch (dmf2)
-    {
-       assert(false);
-    }
-    catch (mf2)
-    {
-    }
-
-    assert(!can_convert<mf1>((dmf1)0));
-    assert(!can_convert<mf2>((dmf1)0));
-    try
-    {
-        throw (dmf1)0;
-        assert(false);
-    }
-    catch (mf2)
-    {
-       assert(false);
-    }
-    catch (mf1)
-    {
-       assert(false);
-    }
-    catch (...)
-    {
-    }
-
-    assert(!can_convert<mf1>((dmf2)0));
-    assert(!can_convert<mf2>((dmf2)0));
-    try
-    {
-        throw (dmf2)0;
-        assert(false);
-    }
-    catch (mf2)
-    {
-       assert(false);
-    }
-    catch (mf1)
-    {
-        assert(false);
-    }
-    catch (...)
-    {
-    }
-}
-
-void test_void()
-{
-    assert(!can_convert<void*>(&A::foo));
-    try
-    {
-        throw &A::foo;
-        assert(false);
-    }
-    catch (void*)
-    {
-        assert(false);
-    }
-    catch(...)
-    {
-    }
-}
-
-int main()
-{
-    test1();
-    test2();
-    test_derived();
-    test_void();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_02.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_02.pass.cpp
deleted file mode 100644
index 09770cb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_function_pointer_02.pass.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//===--------------- catch_member_function_pointer_02.cpp -----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// Can a noexcept member function pointer be caught by a non-noexcept catch
-// clause?
-// UNSUPPORTED: libcxxabi-no-exceptions, libcxxabi-no-noexcept-function-type
-
-// GCC 7 and 8 support noexcept function types but this test still fails.
-// This is likely a bug in their implementation. Investigation needed.
-// XFAIL: gcc-7, gcc-8, gcc-9
-
-#include <cassert>
-
-struct X {
-  template<bool Noexcept> void f() noexcept(Noexcept) {}
-};
-template<bool Noexcept> using FnType = void (X::*)() noexcept(Noexcept);
-
-template<bool ThrowNoexcept, bool CatchNoexcept>
-void check()
-{
-    try
-    {
-        auto p = &X::f<ThrowNoexcept>;
-        throw p;
-        assert(false);
-    }
-    catch (FnType<CatchNoexcept> p)
-    {
-        assert(ThrowNoexcept || !CatchNoexcept);
-        assert(p == &X::f<ThrowNoexcept>);
-    }
-    catch (...)
-    {
-        assert(!ThrowNoexcept && CatchNoexcept);
-    }
-}
-
-void check_deep() {
-    FnType<true> p = &X::f<true>;
-    try
-    {
-        throw &p;
-    }
-    catch (FnType<false> *q)
-    {
-        assert(false);
-    }
-    catch (FnType<true> *q)
-    {
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-}
-
-int main()
-{
-    check<false, false>();
-    check<false, true>();
-    check<true, false>();
-    check<true, true>();
-    check_deep();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_pointer_nullptr.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_pointer_nullptr.pass.cpp
deleted file mode 100644
index a6e7468..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_member_pointer_nullptr.pass.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//===----------------- catch_member_pointer_nullptr.cpp -------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-
-#if __has_feature(cxx_nullptr)
-
-struct A
-{
-    const int i;
-    int j;
-};
-
-typedef const int A::*md1;
-typedef       int A::*md2;
-
-void test1()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (md2 p)
-    {
-        assert(!p);
-    }
-    catch (md1)
-    {
-        assert(false);
-    }
-}
-
-void test2()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (md1 p)
-    {
-        assert(!p);
-    }
-    catch (md2)
-    {
-        assert(false);
-    }
-}
-
-#else
-
-void test1()
-{
-}
-
-void test2()
-{
-}
-
-#endif
-
-int main()
-{
-    test1();
-    test2();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_multi_level_pointer.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_multi_level_pointer.pass.cpp
deleted file mode 100644
index fcd6ecd..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_multi_level_pointer.pass.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-//===--------------------- catch_pointer_nullptr.cpp ----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-#include <cstdlib>
-#include <iostream>
-
-// Roll our own assertion macro to get better error messages out of the tests.
-// In particular on systems that don't use __PRETTY_FUNCTION__ in assertions.
-#define my_assert(pred, msg) do_assert(pred, msg, __LINE__, __PRETTY_FUNCTION__)
-
-void do_assert(bool assert_passed, const char* msg, int line, const char* func) {
-  if (assert_passed) return;
-  std::cerr << __FILE__ << ":" << line << " " << func
-            << ": Assertion Failed `" << msg << "'\n\n";
-  std::abort();
-}
-
-struct A {};
-struct Base {};
-struct Derived : public Base {};
-
-template <class To>
-bool test_conversion(To) { return true; }
-
-template <class To>
-bool test_conversion(...) { return false; }
-
-template <class Pointer>
-struct CreatePointer {
-  Pointer operator()() const {
-      return (Pointer)0;
-  }
-};
-
-template <class Tp>
-struct CreatePointer<Tp*> {
-  Tp* operator()() const {
-      return (Tp*)42;
-  }
-};
-
-template <class Throw, class Catch>
-void catch_pointer_test() {
-  Throw throw_ptr = CreatePointer<Throw>()();
-  // Use the compiler to determine if the exception of type Throw can be
-  // implicitly converted to type Catch.
-  const bool can_convert = test_conversion<Catch>(throw_ptr);
-  try {
-    throw throw_ptr;
-    assert(false);
-  } catch (Catch catch_ptr) {
-    Catch catch2 = CreatePointer<Catch>()();
-    my_assert(can_convert, "non-convertible type incorrectly caught");
-    my_assert(catch_ptr == catch2,
-              "Thrown pointer does not match caught ptr");
-  } catch (...) {
-    my_assert(!can_convert, "convertible type incorrectly not caught");
-  }
-}
-
-// Generate CV qualified pointer typedefs.
-template <class Tp, bool First = false>
-struct TestTypes {
-  typedef Tp* Type;
-  typedef Tp const* CType;
-  typedef Tp volatile* VType;
-  typedef Tp const volatile* CVType;
-};
-
-// Special case for cv-qualifying a pointer-to-member without adding an extra
-// pointer to it.
-template <class Member, class Class>
-struct TestTypes<Member Class::*, true> {
-  typedef Member (Class::*Type);
-  typedef const Member (Class::*CType);
-  typedef volatile Member (Class::*VType);
-  typedef const volatile Member (Class::*CVType);
-};
-
-template <class Throw, class Catch, int level, bool first = false>
-struct generate_tests_imp {
-  typedef TestTypes<Throw, first> ThrowTypes;
-  typedef TestTypes<Catch, first> CatchTypes;
-  void operator()() {
-      typedef typename ThrowTypes::Type Type;
-      typedef typename ThrowTypes::CType CType;
-      typedef typename ThrowTypes::VType VType;
-      typedef typename ThrowTypes::CVType CVType;
-
-      run_catch_tests<Type>();
-      run_catch_tests<CType>();
-      run_catch_tests<VType>();
-      run_catch_tests<CVType>();
-  }
-
-  template <class ThrowTp>
-  void run_catch_tests() {
-      typedef typename CatchTypes::Type Type;
-      typedef typename CatchTypes::CType CType;
-      typedef typename CatchTypes::VType VType;
-      typedef typename CatchTypes::CVType CVType;
-
-      catch_pointer_test<ThrowTp, Type>();
-      catch_pointer_test<ThrowTp, CType>();
-      catch_pointer_test<ThrowTp, VType>();
-      catch_pointer_test<ThrowTp, CVType>();
-
-      generate_tests_imp<ThrowTp, Type, level-1>()();
-      generate_tests_imp<ThrowTp, CType, level-1>()();
-      generate_tests_imp<ThrowTp, VType, level-1>()();
-      generate_tests_imp<ThrowTp, CVType, level-1>()();
-  }
-};
-
-template <class Throw, class Catch, bool first>
-struct generate_tests_imp<Throw, Catch, 0, first> {
-  void operator()() {
-      catch_pointer_test<Throw, Catch>();
-  }
-};
-
-template <class Throw, class Catch, int level>
-struct generate_tests : generate_tests_imp<Throw, Catch, level, true> {};
-
-int main()
-{
-  generate_tests<int, int, 3>()();
-  generate_tests<Base, Derived, 2>()();
-  generate_tests<Derived, Base, 2>()();
-  generate_tests<int, void, 2>()();
-  generate_tests<void, int, 2>()();
-
-  generate_tests<int A::*, int A::*, 3>()();
-  generate_tests<int A::*, void, 2>()();
-  generate_tests<void, int A::*, 2>()();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_nullptr.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_nullptr.pass.cpp
deleted file mode 100644
index bd1db8c..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_nullptr.pass.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//===--------------------- catch_pointer_nullptr.cpp ----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03, libcxxabi-no-exceptions
-
-#include <cassert>
-#include <cstdlib>
-
-struct A {};
-
-void test1()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (int* p)
-    {
-        assert(!p);
-    }
-    catch (long*)
-    {
-        assert(false);
-    }
-}
-
-void test2()
-{
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (A* p)
-    {
-        assert(!p);
-    }
-    catch (int*)
-    {
-        assert(false);
-    }
-}
-
-template <class Catch>
-void catch_nullptr_test() {
-  try {
-    throw nullptr;
-    assert(false);
-  } catch (Catch c) {
-    assert(!c);
-  } catch (...) {
-    assert(false);
-  }
-}
-
-
-int main()
-{
-  // catch naked nullptrs
-  test1();
-  test2();
-
-  catch_nullptr_test<int*>();
-  catch_nullptr_test<int**>();
-  catch_nullptr_test<int A::*>();
-  catch_nullptr_test<const int A::*>();
-  catch_nullptr_test<int A::**>();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_reference.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_reference.pass.cpp
deleted file mode 100644
index eff950f1..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_pointer_reference.pass.cpp
+++ /dev/null
@@ -1,445 +0,0 @@
-//===---------------------- catch_pointer_referece.cpp --------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-//
-//  This test case checks specifically the cases under bullet 3.1 & 3.2:
-//
-//  C++ ABI 15.3:
-//  A handler is a match for an exception object of type E if
-//     *  The handler is of type cv T or cv T& and E and T are the same type
-//        (ignoring the top-level cv-qualifiers), or
-//     *  the handler is of type cv T or cv T& and T is an unambiguous base
-//        class of E, or
-//  /  *  the handler is of type cv1 T* cv2 and E is a pointer type that can   \
-//  |     be converted to the type of the handler by either or both of         |
-//  |       o  a standard pointer conversion (4.10 [conv.ptr]) not involving   |
-//  |          conversions to private or protected or ambiguous classes        |
-//  \       o  a qualification conversion                                      /
-//     *  the handler is a pointer or pointer to member type and E is
-//        std::nullptr_t
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-#include <stdio.h>
-
-struct Base {};
-struct Derived  : Base {};
-struct Derived2 : Base {};
-struct Ambiguous : Derived, Derived2 {};
-struct Private : private Base {};
-struct Protected : protected Base {};
-
-template <typename T  // Handler type
-         ,typename E  // Thrown exception type
-         ,typename O  // Object type
-         >
-void assert_catches()
-{
-    try
-    {
-        O o;
-        throw static_cast<E>(&o);
-        printf("%s\n", __PRETTY_FUNCTION__);
-        assert(false && "Statements after throw must be unreachable");
-    }
-    catch (T t)
-    {
-        assert(true);
-        return;
-    }
-    catch (...)
-    {
-        printf("%s\n", __PRETTY_FUNCTION__);
-        assert(false && "Should not have entered catch-all");
-    }
-
-    printf("%s\n", __PRETTY_FUNCTION__);
-    assert(false && "The catch should have returned");
-}
-
-template <typename T  // Handler type
-         ,typename E  // Thrown exception type
-         ,typename O  // Object type
-         >
-void assert_cannot_catch()
-{
-    try
-    {
-        O o;
-        throw static_cast<E>(&o);
-        printf("%s\n", __PRETTY_FUNCTION__);
-        assert(false && "Statements after throw must be unreachable");
-    }
-    catch (T t)
-    {
-        printf("%s\n", __PRETTY_FUNCTION__);
-        assert(false && "Should not have entered the catch");
-    }
-    catch (...)
-    {
-        assert(true);
-        return;
-    }
-
-    printf("%s\n", __PRETTY_FUNCTION__);
-    assert(false && "The catch-all should have returned");
-}
-
-void f1()
-{
-    // Test that every combination of handler of type:
-    //   cv1 Base * cv2
-    // catches an exception of type:
-    //   Derived *
-    assert_catches<               Base *               , Derived *, Derived>();
-    assert_catches<const          Base *               , Derived *, Derived>();
-    assert_catches<      volatile Base *               , Derived *, Derived>();
-    assert_catches<const volatile Base *               , Derived *, Derived>();
-    assert_catches<               Base * const         , Derived *, Derived>();
-    assert_catches<const          Base * const         , Derived *, Derived>();
-    assert_catches<      volatile Base * const         , Derived *, Derived>();
-    assert_catches<const volatile Base * const         , Derived *, Derived>();
-    assert_catches<               Base *       volatile, Derived *, Derived>();
-    assert_catches<const          Base *       volatile, Derived *, Derived>();
-    assert_catches<      volatile Base *       volatile, Derived *, Derived>();
-    assert_catches<const volatile Base *       volatile, Derived *, Derived>();
-    assert_catches<               Base * const volatile, Derived *, Derived>();
-    assert_catches<const          Base * const volatile, Derived *, Derived>();
-    assert_catches<      volatile Base * const volatile, Derived *, Derived>();
-    assert_catches<const volatile Base * const volatile, Derived *, Derived>();
-}
-
-void f2()
-{
-    // Test that every combination of handler of type:
-    //   cv1 Base * cv2
-    // catches an exception of type:
-    //   Base *
-    assert_catches<               Base *               , Base *, Derived>();
-    assert_catches<const          Base *               , Base *, Derived>();
-    assert_catches<      volatile Base *               , Base *, Derived>();
-    assert_catches<const volatile Base *               , Base *, Derived>();
-    assert_catches<               Base * const         , Base *, Derived>();
-    assert_catches<const          Base * const         , Base *, Derived>();
-    assert_catches<      volatile Base * const         , Base *, Derived>();
-    assert_catches<const volatile Base * const         , Base *, Derived>();
-    assert_catches<               Base *       volatile, Base *, Derived>();
-    assert_catches<const          Base *       volatile, Base *, Derived>();
-    assert_catches<      volatile Base *       volatile, Base *, Derived>();
-    assert_catches<const volatile Base *       volatile, Base *, Derived>();
-    assert_catches<               Base * const volatile, Base *, Derived>();
-    assert_catches<const          Base * const volatile, Base *, Derived>();
-    assert_catches<      volatile Base * const volatile, Base *, Derived>();
-    assert_catches<const volatile Base * const volatile, Base *, Derived>();
-}
-
-void f3()
-{
-    // Test that every combination of handler of type:
-    //   cv1 Derived * cv2
-    // catches an exception of type:
-    //   Derived *
-    assert_catches<               Derived *               , Derived *, Derived>();
-    assert_catches<const          Derived *               , Derived *, Derived>();
-    assert_catches<      volatile Derived *               , Derived *, Derived>();
-    assert_catches<const volatile Derived *               , Derived *, Derived>();
-    assert_catches<               Derived * const         , Derived *, Derived>();
-    assert_catches<const          Derived * const         , Derived *, Derived>();
-    assert_catches<      volatile Derived * const         , Derived *, Derived>();
-    assert_catches<const volatile Derived * const         , Derived *, Derived>();
-    assert_catches<               Derived *       volatile, Derived *, Derived>();
-    assert_catches<const          Derived *       volatile, Derived *, Derived>();
-    assert_catches<      volatile Derived *       volatile, Derived *, Derived>();
-    assert_catches<const volatile Derived *       volatile, Derived *, Derived>();
-    assert_catches<               Derived * const volatile, Derived *, Derived>();
-    assert_catches<const          Derived * const volatile, Derived *, Derived>();
-    assert_catches<      volatile Derived * const volatile, Derived *, Derived>();
-    assert_catches<const volatile Derived * const volatile, Derived *, Derived>();
-}
-
-void f4()
-{
-    // Test that every combination of handler of type:
-    //   cv1 Derived * cv2
-    // cannot catch an exception of type:
-    //   Base *
-    assert_cannot_catch<               Derived *               , Base *, Derived>();
-    assert_cannot_catch<const          Derived *               , Base *, Derived>();
-    assert_cannot_catch<      volatile Derived *               , Base *, Derived>();
-    assert_cannot_catch<const volatile Derived *               , Base *, Derived>();
-    assert_cannot_catch<               Derived * const         , Base *, Derived>();
-    assert_cannot_catch<const          Derived * const         , Base *, Derived>();
-    assert_cannot_catch<      volatile Derived * const         , Base *, Derived>();
-    assert_cannot_catch<const volatile Derived * const         , Base *, Derived>();
-    assert_cannot_catch<               Derived *       volatile, Base *, Derived>();
-    assert_cannot_catch<const          Derived *       volatile, Base *, Derived>();
-    assert_cannot_catch<      volatile Derived *       volatile, Base *, Derived>();
-    assert_cannot_catch<const volatile Derived *       volatile, Base *, Derived>();
-    assert_cannot_catch<               Derived * const volatile, Base *, Derived>();
-    assert_cannot_catch<const          Derived * const volatile, Base *, Derived>();
-    assert_cannot_catch<      volatile Derived * const volatile, Base *, Derived>();
-    assert_cannot_catch<const volatile Derived * const volatile, Base *, Derived>();
-}
-
-void f5()
-{
-    // Test that every combination of handler of type:
-    //   cv1 Derived * cv2 &
-    // catches an exception of type:
-    //   Derived *
-    assert_catches<               Derived *                &, Derived *, Derived>();
-    assert_catches<const          Derived *                &, Derived *, Derived>();
-    assert_catches<      volatile Derived *                &, Derived *, Derived>();
-    assert_catches<const volatile Derived *                &, Derived *, Derived>();
-    assert_catches<               Derived * const          &, Derived *, Derived>();
-    assert_catches<const          Derived * const          &, Derived *, Derived>();
-    assert_catches<      volatile Derived * const          &, Derived *, Derived>();
-    assert_catches<const volatile Derived * const          &, Derived *, Derived>();
-    assert_catches<               Derived *       volatile &, Derived *, Derived>();
-    assert_catches<const          Derived *       volatile &, Derived *, Derived>();
-    assert_catches<      volatile Derived *       volatile &, Derived *, Derived>();
-    assert_catches<const volatile Derived *       volatile &, Derived *, Derived>();
-    assert_catches<               Derived * const volatile &, Derived *, Derived>();
-    assert_catches<const          Derived * const volatile &, Derived *, Derived>();
-    assert_catches<      volatile Derived * const volatile &, Derived *, Derived>();
-    assert_catches<const volatile Derived * const volatile &, Derived *, Derived>();
-}
-
-void f6()
-{
-    // Test that every combination of handler of type:
-    //   cv1 Base * cv2 &
-    // catches an exception of type:
-    //   Base *
-    assert_catches<               Base *                &, Base *, Derived>();
-    assert_catches<const          Base *                &, Base *, Derived>();
-    assert_catches<      volatile Base *                &, Base *, Derived>();
-    assert_catches<const volatile Base *                &, Base *, Derived>();
-    assert_catches<               Base * const          &, Base *, Derived>();
-    assert_catches<const          Base * const          &, Base *, Derived>();
-    assert_catches<      volatile Base * const          &, Base *, Derived>();
-    assert_catches<const volatile Base * const          &, Base *, Derived>();
-    assert_catches<               Base *       volatile &, Base *, Derived>();
-    assert_catches<const          Base *       volatile &, Base *, Derived>();
-    assert_catches<      volatile Base *       volatile &, Base *, Derived>();
-    assert_catches<const volatile Base *       volatile &, Base *, Derived>();
-    assert_catches<               Base * const volatile &, Base *, Derived>();
-    assert_catches<const          Base * const volatile &, Base *, Derived>();
-    assert_catches<      volatile Base * const volatile &, Base *, Derived>();
-    assert_catches<const volatile Base * const volatile &, Base *, Derived>();
-
-}
-
-void f7()
-{
-    // Test that every combination of handler of type:
-    //   cv1 Derived * cv2 &
-    // cannot catch an exception of type:
-    //   Base *
-    assert_cannot_catch<               Derived *                &, Base *, Derived>();
-    assert_cannot_catch<const          Derived *                &, Base *, Derived>();
-    assert_cannot_catch<      volatile Derived *                &, Base *, Derived>();
-    assert_cannot_catch<const volatile Derived *                &, Base *, Derived>();
-    assert_cannot_catch<               Derived * const          &, Base *, Derived>();
-    assert_cannot_catch<const          Derived * const          &, Base *, Derived>();
-    assert_cannot_catch<      volatile Derived * const          &, Base *, Derived>();
-    assert_cannot_catch<const volatile Derived * const          &, Base *, Derived>();
-    assert_cannot_catch<               Derived *       volatile &, Base *, Derived>();
-    assert_cannot_catch<const          Derived *       volatile &, Base *, Derived>();
-    assert_cannot_catch<      volatile Derived *       volatile &, Base *, Derived>();
-    assert_cannot_catch<const volatile Derived *       volatile &, Base *, Derived>();
-    assert_cannot_catch<               Derived * const volatile &, Base *, Derived>();
-    assert_cannot_catch<const          Derived * const volatile &, Base *, Derived>();
-    assert_cannot_catch<      volatile Derived * const volatile &, Base *, Derived>();
-    assert_cannot_catch<const volatile Derived * const volatile &, Base *, Derived>();
-}
-
-void f8()
-{
-    // This test case has a caveat noted in the discussion here:
-    //   https://gcc.gnu.org/ml/gcc-patches/2009-08/msg00264.html
-    // Specifically:
-    //   This [test exposes a] corner case of the ARM C++ ABI. The generic C++
-    //   ABI also gets this wrong, because I failed to notice the subtlety here.
-    //   The issue is that 15.3/3 3rd bullet says:
-    //     The handler is of type cv1 T* cv2 and E is a pointer type that
-    //     can be converted to the type of the handler by either or both of:
-    //       * a standard pointer conversion (4.10) not involving conversions
-    //         to pointers to private or protected or ambiguous classes
-    //   Notice that the handlers of type "cv1 T*cv2&" are not allowed such
-    //   freedom to find a base class. The ABI error is that we treat handlers
-    //   of reference type exactly the same as the corresponding hander of
-    //   non-reference type. Elsewhere in the exception handling this makes no
-    //   difference (for instance bullet 1 explicitly says 'cv T or cv T&').
-    //
-    // See also: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#388
-    //
-    //  TL;DR: it is an unresolved C++ ABI defect that these do catch
-
-    // Test that every combination of handler of type:
-    //   cv1 Base * cv2 &
-    // catches an exception of type:
-    //   Derived *
-    assert_catches<               Base *                &, Derived *, Derived>();
-    assert_catches<const          Base *                &, Derived *, Derived>();
-    assert_catches<      volatile Base *                &, Derived *, Derived>();
-    assert_catches<const volatile Base *                &, Derived *, Derived>();
-    assert_catches<               Base * const          &, Derived *, Derived>();
-    assert_catches<const          Base * const          &, Derived *, Derived>();
-    assert_catches<      volatile Base * const          &, Derived *, Derived>();
-    assert_catches<const volatile Base * const          &, Derived *, Derived>();
-    assert_catches<               Base *       volatile &, Derived *, Derived>();
-    assert_catches<const          Base *       volatile &, Derived *, Derived>();
-    assert_catches<      volatile Base *       volatile &, Derived *, Derived>();
-    assert_catches<const volatile Base *       volatile &, Derived *, Derived>();
-    assert_catches<               Base * const volatile &, Derived *, Derived>();
-    assert_catches<const          Base * const volatile &, Derived *, Derived>();
-    assert_catches<      volatile Base * const volatile &, Derived *, Derived>();
-    assert_catches<const volatile Base * const volatile &, Derived *, Derived>();
-}
-
-void f9()
-{
-    // Test that every combination of handler of type:
-    //   cv1 Base * cv2
-    // cannot catch an exception of type:
-    //   Ambiguous *
-    assert_cannot_catch<               Base *               , Ambiguous *, Ambiguous>();
-    assert_cannot_catch<const          Base *               , Ambiguous *, Ambiguous>();
-    assert_cannot_catch<      volatile Base *               , Ambiguous *, Ambiguous>();
-    assert_cannot_catch<const volatile Base *               , Ambiguous *, Ambiguous>();
-    assert_cannot_catch<               Base * const         , Ambiguous *, Ambiguous>();
-    assert_cannot_catch<const          Base * const         , Ambiguous *, Ambiguous>();
-    assert_cannot_catch<      volatile Base * const         , Ambiguous *, Ambiguous>();
-    assert_cannot_catch<const volatile Base * const         , Ambiguous *, Ambiguous>();
-    assert_cannot_catch<               Base *       volatile, Ambiguous *, Ambiguous>();
-    assert_cannot_catch<const          Base *       volatile, Ambiguous *, Ambiguous>();
-    assert_cannot_catch<      volatile Base *       volatile, Ambiguous *, Ambiguous>();
-    assert_cannot_catch<const volatile Base *       volatile, Ambiguous *, Ambiguous>();
-    assert_cannot_catch<               Base * const volatile, Ambiguous *, Ambiguous>();
-    assert_cannot_catch<const          Base * const volatile, Ambiguous *, Ambiguous>();
-    assert_cannot_catch<      volatile Base * const volatile, Ambiguous *, Ambiguous>();
-    assert_cannot_catch<const volatile Base * const volatile, Ambiguous *, Ambiguous>();
-}
-
-void f10()
-{
-    // Test that every combination of handler of type:
-    //  cv1 Base * cv2
-    // cannot catch an exception of type:
-    //  Private *
-    assert_cannot_catch<               Base *               , Private *, Private>();
-    assert_cannot_catch<const          Base *               , Private *, Private>();
-    assert_cannot_catch<      volatile Base *               , Private *, Private>();
-    assert_cannot_catch<const volatile Base *               , Private *, Private>();
-    assert_cannot_catch<               Base * const         , Private *, Private>();
-    assert_cannot_catch<const          Base * const         , Private *, Private>();
-    assert_cannot_catch<      volatile Base * const         , Private *, Private>();
-    assert_cannot_catch<const volatile Base * const         , Private *, Private>();
-    assert_cannot_catch<               Base *       volatile, Private *, Private>();
-    assert_cannot_catch<const          Base *       volatile, Private *, Private>();
-    assert_cannot_catch<      volatile Base *       volatile, Private *, Private>();
-    assert_cannot_catch<const volatile Base *       volatile, Private *, Private>();
-    assert_cannot_catch<               Base * const volatile, Private *, Private>();
-    assert_cannot_catch<const          Base * const volatile, Private *, Private>();
-    assert_cannot_catch<      volatile Base * const volatile, Private *, Private>();
-    assert_cannot_catch<const volatile Base * const volatile, Private *, Private>();
-}
-
-void f11()
-{
-    // Test that every combination of handler of type:
-    //  cv1 Base * cv2
-    // cannot catch an exception of type:
-    //  Protected *
-    assert_cannot_catch<               Base *               , Protected *, Protected>();
-    assert_cannot_catch<const          Base *               , Protected *, Protected>();
-    assert_cannot_catch<      volatile Base *               , Protected *, Protected>();
-    assert_cannot_catch<const volatile Base *               , Protected *, Protected>();
-    assert_cannot_catch<               Base * const         , Protected *, Protected>();
-    assert_cannot_catch<const          Base * const         , Protected *, Protected>();
-    assert_cannot_catch<      volatile Base * const         , Protected *, Protected>();
-    assert_cannot_catch<const volatile Base * const         , Protected *, Protected>();
-    assert_cannot_catch<               Base *       volatile, Protected *, Protected>();
-    assert_cannot_catch<const          Base *       volatile, Protected *, Protected>();
-    assert_cannot_catch<      volatile Base *       volatile, Protected *, Protected>();
-    assert_cannot_catch<const volatile Base *       volatile, Protected *, Protected>();
-    assert_cannot_catch<               Base * const volatile, Protected *, Protected>();
-    assert_cannot_catch<const          Base * const volatile, Protected *, Protected>();
-    assert_cannot_catch<      volatile Base * const volatile, Protected *, Protected>();
-    assert_cannot_catch<const volatile Base * const volatile, Protected *, Protected>();
-}
-
-void f12()
-{
-    // Test that every combination of handler of type:
-    //  cv1 Base * cv2 &
-    // cannot catch an exception of type:
-    //  Private *
-    assert_cannot_catch<               Base *                &, Private *, Private>();
-    assert_cannot_catch<const          Base *                &, Private *, Private>();
-    assert_cannot_catch<      volatile Base *                &, Private *, Private>();
-    assert_cannot_catch<const volatile Base *                &, Private *, Private>();
-    assert_cannot_catch<               Base * const          &, Private *, Private>();
-    assert_cannot_catch<const          Base * const          &, Private *, Private>();
-    assert_cannot_catch<      volatile Base * const          &, Private *, Private>();
-    assert_cannot_catch<const volatile Base * const          &, Private *, Private>();
-    assert_cannot_catch<               Base *       volatile &, Private *, Private>();
-    assert_cannot_catch<const          Base *       volatile &, Private *, Private>();
-    assert_cannot_catch<      volatile Base *       volatile &, Private *, Private>();
-    assert_cannot_catch<const volatile Base *       volatile &, Private *, Private>();
-    assert_cannot_catch<               Base * const volatile &, Private *, Private>();
-    assert_cannot_catch<const          Base * const volatile &, Private *, Private>();
-    assert_cannot_catch<      volatile Base * const volatile &, Private *, Private>();
-    assert_cannot_catch<const volatile Base * const volatile &, Private *, Private>();
-}
-
-void f13()
-{
-    // Test that every combination of handler of type:
-    //  cv1 Base * cv2 &
-    // cannot catch an exception of type:
-    //  Protected *
-    assert_cannot_catch<               Base *                &, Protected *, Protected>();
-    assert_cannot_catch<const          Base *                &, Protected *, Protected>();
-    assert_cannot_catch<      volatile Base *                &, Protected *, Protected>();
-    assert_cannot_catch<const volatile Base *                &, Protected *, Protected>();
-    assert_cannot_catch<               Base * const          &, Protected *, Protected>();
-    assert_cannot_catch<const          Base * const          &, Protected *, Protected>();
-    assert_cannot_catch<      volatile Base * const          &, Protected *, Protected>();
-    assert_cannot_catch<const volatile Base * const          &, Protected *, Protected>();
-    assert_cannot_catch<               Base *       volatile &, Protected *, Protected>();
-    assert_cannot_catch<const          Base *       volatile &, Protected *, Protected>();
-    assert_cannot_catch<      volatile Base *       volatile &, Protected *, Protected>();
-    assert_cannot_catch<const volatile Base *       volatile &, Protected *, Protected>();
-    assert_cannot_catch<               Base * const volatile &, Protected *, Protected>();
-    assert_cannot_catch<const          Base * const volatile &, Protected *, Protected>();
-    assert_cannot_catch<      volatile Base * const volatile &, Protected *, Protected>();
-    assert_cannot_catch<const volatile Base * const volatile &, Protected *, Protected>();
-}
-
-int main()
-{
-    f1();
-    f2();
-    f3();
-    f4();
-    f5();
-    f6();
-    f7();
-    f8();
-    f9();
-    f10();
-    f11();
-    f12();
-    f13();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_ptr.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_ptr.pass.cpp
deleted file mode 100644
index 0255b7f..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_ptr.pass.cpp
+++ /dev/null
@@ -1,189 +0,0 @@
-//===---------------------- catch_class_04.cpp ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-/*
-    This test checks that adjustedPtr is correct as there exist offsets in this
-    object for the various subobjects, all of which have a unique id_ to
-    check against.  It also checks that virtual bases work properly
-*/
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-// Clang emits  warnings about exceptions of type 'Child' being caught by
-// an earlier handler of type 'Base'. Congrats clang, you've just
-// diagnosed the behavior under test.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Wexceptions"
-#endif
-
-struct B
-{
-    static int count;
-    int id_;
-    explicit B(int id) : id_(id) {count++;}
-    B(const B& a) : id_(a.id_) {count++;}
-    ~B() {count--;}
-};
-
-int B::count = 0;
-
-struct C1
-    : virtual B
-{
-    static int count;
-    int id_;
-    explicit C1(int id) : B(id-2), id_(id) {count++;}
-    C1(const C1& a) : B(a.id_-2), id_(a.id_) {count++;}
-    ~C1() {count--;}
-};
-
-int C1::count = 0;
-
-struct C2
-    : virtual private B
-{
-    static int count;
-    int id_;
-    explicit C2(int id) : B(id-2), id_(id) {count++;}
-    C2(const C2& a) : B(a.id_-2), id_(a.id_) {count++;}
-    ~C2() {count--;}
-};
-
-int C2::count = 0;
-
-struct A
-    : C1, C2
-{
-    static int count;
-    int id_;
-    explicit A(int id) : B(id+3), C1(id-1), C2(id-2), id_(id) {count++;}
-    A(const A& a) : B(a.id_+3), C1(a.id_-1), C2(a.id_-2),  id_(a.id_) {count++;}
-    ~A() {count--;}
-};
-
-int A::count = 0;
-
-A a(5);
-
-void f1()
-{
-    throw &a;
-    assert(false);
-}
-
-void f2()
-{
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (const A* a)  // can catch A
-    {
-        assert(a->id_ == 5);
-        assert(static_cast<const C1*>(a)->id_ == 4);
-        assert(static_cast<const C2*>(a)->id_ == 3);
-        assert(static_cast<const B*>(a)->id_ == 8);
-        throw;
-    }
-    catch (const C1*)
-    {
-        assert(false);
-    }
-    catch (const C2*)
-    {
-        assert(false);
-    }
-    catch (const B*)
-    {
-        assert(false);
-    }
-}
-
-void f3()
-{
-    try
-    {
-        f2();
-        assert(false);
-    }
-    catch (const B* a)  // can catch B
-    {
-        assert(static_cast<const B*>(a)->id_ == 8);
-        throw;
-    }
-    catch (const C1* c1)
-    {
-        assert(false);
-    }
-    catch (const C2*)
-    {
-        assert(false);
-    }
-}
-
-void f4()
-{
-    try
-    {
-        f3();
-        assert(false);
-    }
-    catch (const C2* c2)  // can catch C2
-    {
-        assert(c2->id_ == 3);
-        throw;
-    }
-    catch (const B* a)
-    {
-        assert(false);
-    }
-    catch (const C1*)
-    {
-        assert(false);
-    }
-}
-
-void f5()
-{
-    try
-    {
-        f4();
-        assert(false);
-    }
-    catch (const C1* c1)  // can catch C1
-    {
-        assert(c1->id_ == 4);
-        assert(static_cast<const B*>(c1)->id_ == 8);
-        throw;
-    }
-    catch (const B* a)
-    {
-        assert(false);
-    }
-    catch (const C2*)
-    {
-        assert(false);
-    }
-}
-
-int main()
-{
-    try
-    {
-        f5();
-        assert(false);
-    }
-    catch (...)
-    {
-    }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_ptr_02.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_ptr_02.pass.cpp
deleted file mode 100644
index 9c24e11..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_ptr_02.pass.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-//===------------------------- catch_ptr_02.cpp ---------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cassert>
-
-// Clang emits  warnings about exceptions of type 'Child' being caught by
-// an earlier handler of type 'Base'. Congrats clang, you've just
-// diagnosed the behavior under test.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Wexceptions"
-#endif
-
-#if __cplusplus < 201103L
-#define DISABLE_NULLPTR_TESTS
-#endif
-
-struct  A {};
-A a;
-const A ca = A();
-
-void test1 ()
-{
-    try
-    {
-        throw &a;
-        assert(false);
-    }
-    catch ( const A* )
-    {
-    }
-    catch ( A *)
-    {
-        assert (false);
-    }
-}
-
-void test2 ()
-{
-    try
-     {
-        throw &a;
-        assert(false);
-    }
-    catch ( A* )
-    {
-    }
-    catch ( const A *)
-    {
-         assert (false);
-    }
-}
-
-void test3 ()
-{
-    try
-    {
-        throw &ca;
-        assert(false);
-    }
-    catch ( const A* )
-    {
-    }
-    catch ( A *)
-    {
-        assert (false);
-    }
-}
-
-void test4 ()
-{
-    try
-    {
-        throw &ca;
-        assert(false);
-    }
-    catch ( A *)
-    {
-        assert (false);
-    }
-    catch ( const A* )
-    {
-    }
-}
-
-struct base1 {int x;};
-struct base2 {int x;};
-struct derived : base1, base2 {};
-
-void test5 ()
-{
-    try
-    {
-        throw (derived*)0;
-        assert(false);
-    }
-    catch (base2 *p) {
-        assert (p == 0);
-    }
-    catch (...)
-    {
-        assert (false);
-    }
-}
-
-void test6 ()
-{
-#if !defined(DISABLE_NULLPTR_TESTS)
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (base2 *p) {
-        assert (p == nullptr);
-    }
-    catch (...)
-    {
-        assert (false);
-    }
-#endif
-}
-
-void test7 ()
-{
-    try
-    {
-        throw (derived*)12;
-        assert(false);
-    }
-    catch (base2 *p) {
-        assert ((unsigned long)p == 12+sizeof(base1));
-    }
-    catch (...)
-    {
-        assert (false);
-    }
-}
-
-
-struct vBase {};
-struct vDerived : virtual public vBase {};
-
-void test8 ()
-{
-    vDerived derived;
-    try
-    {
-        throw &derived;
-        assert(false);
-    }
-    catch (vBase *p) {
-        assert(p != 0);
-    }
-    catch (...)
-    {
-        assert (false);
-    }
-}
-
-void test9 ()
-{
-#if !defined(DISABLE_NULLPTR_TESTS)
-    try
-    {
-        throw nullptr;
-        assert(false);
-    }
-    catch (vBase *p) {
-        assert(p == 0);
-    }
-    catch (...)
-    {
-        assert (false);
-    }
-#endif
-}
-
-void test10 ()
-{
-    try
-    {
-        throw (vDerived*)0;
-        assert(false);
-    }
-    catch (vBase *p) {
-        assert(p == 0);
-    }
-    catch (...)
-    {
-        assert (false);
-    }
-}
-
-int main()
-{
-    test1();
-    test2();
-    test3();
-    test4();
-    test5();
-    test6();
-    test7();
-    test8();
-    test9();
-    test10();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_reference_nullptr.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/catch_reference_nullptr.pass.cpp
deleted file mode 100644
index 0d7ac96..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/catch_reference_nullptr.pass.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//===--------------------- catch_pointer_nullptr.cpp ----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03, libcxxabi-no-exceptions
-
-#include <cassert>
-#include <cstdlib>
-
-struct A {};
-
-template<typename T, bool CanCatchNullptr>
-static void catch_nullptr_test() {
-  try {
-    throw nullptr;
-  } catch (T &p) {
-    assert(CanCatchNullptr && !static_cast<bool>(p));
-  } catch (...) {
-    assert(!CanCatchNullptr);
-  }
-}
-
-int main()
-{
-  using nullptr_t = decltype(nullptr);
-
-  // A reference to nullptr_t can catch nullptr.
-  catch_nullptr_test<nullptr_t, true>();
-  catch_nullptr_test<const nullptr_t, true>();
-  catch_nullptr_test<volatile nullptr_t, true>();
-  catch_nullptr_test<const volatile nullptr_t, true>();
-
-  // No other reference type can.
-#if 0
-  // FIXME: These tests fail, because the ABI provides no way for us to
-  // distinguish this from catching by value.
-  catch_nullptr_test<void *, false>();
-  catch_nullptr_test<void * const, false>();
-  catch_nullptr_test<int *, false>();
-  catch_nullptr_test<A *, false>();
-  catch_nullptr_test<int A::*, false>();
-  catch_nullptr_test<int (A::*)(), false>();
-#endif
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/cxa_vec_new_overflow_PR41395.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/cxa_vec_new_overflow_PR41395.pass.cpp
deleted file mode 100644
index 67b060e..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/cxa_vec_new_overflow_PR41395.pass.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include "cxxabi.h"
-#include <new>
-#include <cassert>
-
-void dummy_ctor(void*) { assert(false && "should not be called"); }
-void dummy_dtor(void*) { assert(false && "should not be called"); }
-
-void *dummy_alloc(size_t) { assert(false && "should not be called"); }
-void dummy_dealloc(void*) { assert(false && "should not be called"); }
-void dummy_dealloc_sized(void*, size_t) { assert(false && "should not be called"); }
-
-
-bool check_mul_overflows(size_t x, size_t y) {
-  size_t tmp = x * y;
-  if (tmp / x != y)
-    return true;
-  return false;
-}
-
-bool check_add_overflows(size_t x, size_t y) {
-  size_t tmp = x + y;
-  if (tmp < x)
-    return true;
-
-  return false;
-}
-
-void test_overflow_in_multiplication() {
-  const size_t elem_count = std::size_t(1) << (sizeof(std::size_t) * 8 - 2);
-  const size_t elem_size = 8;
-  const size_t padding = 0;
-  assert(check_mul_overflows(elem_count, elem_size));
-
-  try {
-    __cxxabiv1::__cxa_vec_new(elem_count, elem_size, padding, dummy_ctor,
-                              dummy_dtor);
-    assert(false && "allocation should fail");
-  } catch (std::bad_array_new_length const&) {
-    // OK
-  } catch (...) {
-    assert(false && "unexpected exception");
-  }
-
-  try {
-    __cxxabiv1::__cxa_vec_new2(elem_count, elem_size, padding, dummy_ctor,
-                              dummy_dtor, &dummy_alloc, &dummy_dealloc);
-    assert(false && "allocation should fail");
-  } catch (std::bad_array_new_length const&) {
-    // OK
-  } catch (...) {
-    assert(false && "unexpected exception");
-  }
-
-  try {
-    __cxxabiv1::__cxa_vec_new3(elem_count, elem_size, padding, dummy_ctor,
-                               dummy_dtor, &dummy_alloc, &dummy_dealloc_sized);
-    assert(false && "allocation should fail");
-  } catch (std::bad_array_new_length const&) {
-    // OK
-  } catch (...) {
-    assert(false && "unexpected exception");
-  }
-}
-
-void test_overflow_in_addition() {
-  const size_t elem_size = 4;
-  const size_t elem_count = static_cast<size_t>(-1) / 4u;
-#if defined(_LIBCXXABI_ARM_EHABI)
-  const size_t padding = 8;
-#else
-  const size_t padding = sizeof(std::size_t);
-#endif
-  assert(!check_mul_overflows(elem_count, elem_size));
-  assert(check_add_overflows(elem_count * elem_size, padding));
-  try {
-    __cxxabiv1::__cxa_vec_new(elem_count, elem_size, padding, dummy_ctor,
-                              dummy_dtor);
-    assert(false && "allocation should fail");
-  } catch (std::bad_array_new_length const&) {
-    // OK
-  } catch (...) {
-    assert(false && "unexpected exception");
-  }
-
-
-  try {
-    __cxxabiv1::__cxa_vec_new2(elem_count, elem_size, padding, dummy_ctor,
-                               dummy_dtor, &dummy_alloc, &dummy_dealloc);
-    assert(false && "allocation should fail");
-  } catch (std::bad_array_new_length const&) {
-    // OK
-  } catch (...) {
-    assert(false && "unexpected exception");
-  }
-
-  try {
-    __cxxabiv1::__cxa_vec_new3(elem_count, elem_size, padding, dummy_ctor,
-                               dummy_dtor, &dummy_alloc, &dummy_dealloc_sized);
-    assert(false && "allocation should fail");
-  } catch (std::bad_array_new_length const&) {
-    // OK
-  } catch (...) {
-    assert(false && "unexpected exception");
-  }
-}
-
-int main(int, char**) {
-  test_overflow_in_multiplication();
-  test_overflow_in_addition();
-
-  return 0;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.2.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.2.pass.cpp
deleted file mode 100644
index 33f0f9e..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.2.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-// This test checks that the compiler does not make incorrect assumptions
-// about the alignment of the exception (only in that specific case, of
-// course).
-//
-// There was a bug where Clang would emit a call to memset assuming a 16-byte
-// aligned exception even when back-deploying to older Darwin systems where
-// exceptions are 8-byte aligned, which caused a segfault on those systems.
-
-struct exception {
-    exception() : x(0) { }
-    virtual ~exception() { }
-    int x;
-};
-
-struct foo : exception { };
-
-int main() {
-    try {
-      throw foo();
-    } catch (...) {
-
-    }
-    return 0;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.pass.cpp
deleted file mode 100644
index a22523d..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/exception_object_alignment.pass.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//===---------------- exception_object_alignment.pass.cpp -----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-// Check that the pointer __cxa_allocate_exception returns is aligned to the
-// default alignment for the target architecture.
-
-#include <cassert>
-#include <cstdint>
-#include <cxxabi.h>
-#include <type_traits>
-#include <__cxxabi_config.h>
-
-struct S {
-  int a[4];
-} __attribute__((aligned));
-
-int main() {
-#if !defined(_LIBCXXABI_ARM_EHABI)
-  void *p = __cxxabiv1::__cxa_allocate_exception(16);
-  auto i = reinterpret_cast<uintptr_t>(p);
-  auto a = std::alignment_of<S>::value;
-  assert(i % a == 0);
-  __cxxabiv1::__cxa_free_exception(p);
-#endif
-  return 0;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/guard_test_basic.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/guard_test_basic.pass.cpp
deleted file mode 100644
index a325dd0..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/guard_test_basic.pass.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-//
-// UNSUPPORTED: c++98, c++03
-
-#define TESTING_CXA_GUARD
-#include "../src/cxa_guard_impl.h"
-
-using namespace __cxxabiv1;
-
-template <class GuardType, class Impl>
-struct Tests {
-private:
-  Tests() : g{}, impl(&g) {}
-  GuardType g;
-  Impl impl;
-
-  uint8_t first_byte() {
-    uint8_t first;
-    std::memcpy(&first, &g, 1);
-    return first;
-  }
-
-  void reset() { g = {}; }
-
-public:
-  // Test the post conditions on cxa_guard_acquire, cxa_guard_abort, and
-  // cxa_guard_release. Specifically, that they leave the first byte with
-  // the value 0 or 1 as specified by the ARM or Itanium specification.
-  static void test() {
-    Tests tests;
-    tests.test_acquire();
-    tests.test_abort();
-    tests.test_release();
-  }
-
-  void test_acquire() {
-    {
-      reset();
-      assert(first_byte() == 0);
-      assert(impl.cxa_guard_acquire() == INIT_IS_PENDING);
-      assert(first_byte() == 0);
-    }
-    {
-      reset();
-      assert(first_byte() == 0);
-      assert(impl.cxa_guard_acquire() == INIT_IS_PENDING);
-      impl.cxa_guard_release();
-      assert(first_byte() == 1);
-      assert(impl.cxa_guard_acquire() == INIT_IS_DONE);
-    }
-  }
-
-  void test_release() {
-    {
-      reset();
-      assert(first_byte() == 0);
-      assert(impl.cxa_guard_acquire() == INIT_IS_PENDING);
-      assert(first_byte() == 0);
-      impl.cxa_guard_release();
-      assert(first_byte() == 1);
-    }
-  }
-
-  void test_abort() {
-    {
-      reset();
-      assert(first_byte() == 0);
-      assert(impl.cxa_guard_acquire() == INIT_IS_PENDING);
-      assert(first_byte() == 0);
-      impl.cxa_guard_abort();
-      assert(first_byte() == 0);
-      assert(impl.cxa_guard_acquire() == INIT_IS_PENDING);
-      assert(first_byte() == 0);
-    }
-  }
-};
-
-struct NopMutex {
-  bool lock() {
-    assert(!is_locked);
-    is_locked = true;
-    return false;
-  }
-  bool unlock() {
-    assert(is_locked);
-    is_locked = false;
-    return false;
-  }
-
-private:
-  bool is_locked = false;
-};
-NopMutex global_nop_mutex = {};
-
-struct NopCondVar {
-  bool broadcast() { return false; }
-  bool wait(NopMutex&) { return false; }
-};
-NopCondVar global_nop_cond = {};
-
-void NopFutexWait(int*, int) { assert(false); }
-void NopFutexWake(int*) { assert(false); }
-uint32_t MockGetThreadID() { return 0; }
-
-int main() {
-  {
-#if defined(_LIBCXXABI_HAS_NO_THREADS)
-    static_assert(CurrentImplementation == Implementation::NoThreads, "");
-    static_assert(
-        std::is_same<SelectedImplementation, InitByteNoThreads>::value, "");
-#else
-    static_assert(CurrentImplementation == Implementation::GlobalLock, "");
-    static_assert(
-        std::is_same<
-            SelectedImplementation,
-            InitByteGlobalMutex<LibcppMutex, LibcppCondVar,
-                                GlobalStatic<LibcppMutex>::instance,
-                                GlobalStatic<LibcppCondVar>::instance>>::value,
-        "");
-#endif
-  }
-  {
-#if defined(__APPLE__) || defined(__linux__)
-    assert(PlatformThreadID);
-#endif
-    if (PlatformSupportsThreadID()) {
-      assert(PlatformThreadID() != 0);
-      assert(PlatformThreadID() == PlatformThreadID());
-    }
-  }
-  {
-    Tests<uint32_t, InitByteNoThreads>::test();
-    Tests<uint64_t, InitByteNoThreads>::test();
-  }
-  {
-    using MutexImpl =
-        InitByteGlobalMutex<NopMutex, NopCondVar, global_nop_mutex,
-                            global_nop_cond, MockGetThreadID>;
-    Tests<uint32_t, MutexImpl>::test();
-    Tests<uint64_t, MutexImpl>::test();
-  }
-  {
-    using FutexImpl =
-        InitByteFutex<&NopFutexWait, &NopFutexWake, &MockGetThreadID>;
-    Tests<uint32_t, FutexImpl>::test();
-    Tests<uint64_t, FutexImpl>::test();
-  }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/guard_threaded_test.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/guard_threaded_test.pass.cpp
deleted file mode 100644
index 32c66f4..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/guard_threaded_test.pass.cpp
+++ /dev/null
@@ -1,380 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-// UNSUPPORTED: libcxxabi-no-threads, libcxxabi-no-exceptions
-
-#define TESTING_CXA_GUARD
-#include "../src/cxa_guard_impl.h"
-#include <unordered_map>
-#include <thread>
-#include <atomic>
-#include <array>
-#include <cassert>
-#include <memory>
-#include <vector>
-
-
-using namespace __cxxabiv1;
-
-// Misc test configuration. It's used to tune the flakyness of the test.
-// ThreadsPerTest - The number of threads used
-constexpr int ThreadsPerTest = 10;
-// The number of instances of a test to run concurrently.
-constexpr int ConcurrentRunsPerTest = 10;
-// The number of times to rerun each test.
-constexpr int TestSamples = 50;
-
-
-
-void BusyWait() {
-    std::this_thread::yield();
-}
-
-void YieldAfterBarrier() {
-  std::this_thread::sleep_for(std::chrono::nanoseconds(10));
-  std::this_thread::yield();
-}
-
-struct Barrier {
-  explicit Barrier(int n) : m_threads(n), m_remaining(n) { }
-  Barrier(Barrier const&) = delete;
-  Barrier& operator=(Barrier const&) = delete;
-
-  void arrive_and_wait() const {
-    --m_remaining;
-    while (m_remaining.load()) {
-      BusyWait();
-    }
-  }
-
-  void arrive_and_drop()  const {
-    --m_remaining;
-  }
-
-  void wait_for_threads(int n) const {
-    while ((m_threads - m_remaining.load()) < n) {
-      std::this_thread::yield();
-    }
-  }
-
-private:
-  const int m_threads;
-  mutable std::atomic<int> m_remaining;
-};
-
-
-enum class InitResult {
-  COMPLETE,
-  PERFORMED,
-  WAITED,
-  ABORTED
-};
-constexpr InitResult COMPLETE = InitResult::COMPLETE;
-constexpr InitResult PERFORMED = InitResult::PERFORMED;
-constexpr InitResult WAITED = InitResult::WAITED;
-constexpr InitResult ABORTED = InitResult::ABORTED;
-
-
-template <class Impl, class GuardType, class Init>
-InitResult check_guard(GuardType *g, Init init) {
-  uint8_t *first_byte = reinterpret_cast<uint8_t*>(g);
-  if (std::__libcpp_atomic_load(first_byte, std::_AO_Acquire) == 0) {
-    Impl impl(g);
-    if (impl.cxa_guard_acquire() == INIT_IS_PENDING) {
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-      try {
-#endif
-        init();
-        impl.cxa_guard_release();
-        return PERFORMED;
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-      } catch (...) {
-        impl.cxa_guard_abort();
-        return ABORTED;
-      }
-#endif
-    }
-    return WAITED;
-  }
-  return COMPLETE;
-}
-
-
-template <class GuardType, class Impl>
-struct FunctionLocalStatic {
-  FunctionLocalStatic() {}
-  FunctionLocalStatic(FunctionLocalStatic const&) = delete;
-
-  template <class InitFunc>
-  InitResult access(InitFunc&& init) {
-    auto res = check_guard<Impl>(&guard_object, init);
-    ++result_counts[static_cast<int>(res)];
-    return res;
-  }
-
-  template <class InitFn>
-  struct AccessCallback {
-    void operator()() const { this_obj->access(init); }
-
-    FunctionLocalStatic *this_obj;
-    InitFn init;
-  };
-
-  template <class InitFn, class Callback = AccessCallback< InitFn >  >
-  Callback access_callback(InitFn init) {
-    return Callback{this, init};
-  }
-
-  int get_count(InitResult I) const {
-    return result_counts[static_cast<int>(I)].load();
-  }
-
-  int num_completed() const {
-    return get_count(COMPLETE) + get_count(PERFORMED) + get_count(WAITED);
-  }
-
-  int num_waiting() const {
-    return waiting_threads.load();
-  }
-
-private:
-  GuardType guard_object = {};
-  std::atomic<int> waiting_threads{0};
-  std::array<std::atomic<int>, 4> result_counts{};
-  static_assert(static_cast<int>(ABORTED) == 3, "only 4 result kinds expected");
-};
-
-struct ThreadGroup {
-  ThreadGroup() = default;
-  ThreadGroup(ThreadGroup const&) = delete;
-
-  template <class ...Args>
-  void Create(Args&& ...args) {
-    threads.emplace_back(std::forward<Args>(args)...);
-  }
-
-  template <class Callback>
-  void CreateThreadsWithBarrier(int N, Callback cb) {
-    auto start = std::make_shared<Barrier>(N + 1);
-    for (int I=0; I < N; ++I) {
-      Create([start, cb]() {
-        start->arrive_and_wait();
-        cb();
-      });
-    }
-    start->arrive_and_wait();
-  }
-
-  void JoinAll() {
-    for (auto& t : threads) {
-      t.join();
-    }
-  }
-
-private:
-  std::vector<std::thread> threads;
-};
-
-
-template <class GuardType, class Impl>
-void test_free_for_all(int num_waiters) {
-  FunctionLocalStatic<GuardType, Impl> test_obj;
-
-  ThreadGroup threads;
-
-  bool already_init = false;
-  threads.CreateThreadsWithBarrier(num_waiters,
-    test_obj.access_callback([&]() {
-      assert(!already_init);
-      already_init = true;
-    })
-  );
-
-  // wait for the other threads to finish initialization.
-  threads.JoinAll();
-
-  assert(test_obj.get_count(PERFORMED) == 1);
-  assert(test_obj.get_count(COMPLETE) + test_obj.get_count(WAITED) == num_waiters - 1);
-}
-
-template <class GuardType, class Impl>
-void test_waiting_for_init(int num_waiters) {
-    FunctionLocalStatic<GuardType, Impl> test_obj;
-
-    ThreadGroup threads;
-
-    Barrier start_init(2);
-    threads.Create(test_obj.access_callback(
-      [&]() {
-        start_init.arrive_and_wait();
-        // Take our sweet time completing the initialization...
-        //
-        // There's a race condition between the other threads reaching the
-        // start_init barrier, and them actually hitting the cxa guard.
-        // But we're trying to test the waiting logic, we want as many
-        // threads to enter the waiting loop as possible.
-        YieldAfterBarrier();
-      }
-    ));
-    start_init.wait_for_threads(1);
-
-    threads.CreateThreadsWithBarrier(num_waiters,
-        test_obj.access_callback([]() { assert(false); })
-    );
-    // unblock the initializing thread
-    start_init.arrive_and_drop();
-
-    // wait for the other threads to finish initialization.
-    threads.JoinAll();
-
-    assert(test_obj.get_count(PERFORMED) == 1);
-    assert(test_obj.get_count(ABORTED) == 0);
-    assert(test_obj.get_count(COMPLETE) + test_obj.get_count(WAITED) == num_waiters);
-}
-
-
-template <class GuardType, class Impl>
-void test_aborted_init(int num_waiters) {
-  FunctionLocalStatic<GuardType, Impl> test_obj;
-
-  Barrier start_init(2);
-  ThreadGroup threads;
-  threads.Create(test_obj.access_callback(
-    [&]() {
-      start_init.arrive_and_wait();
-      YieldAfterBarrier();
-      throw 42;
-    })
-  );
-  start_init.wait_for_threads(1);
-
-  bool already_init = false;
-  threads.CreateThreadsWithBarrier(num_waiters,
-      test_obj.access_callback([&]() {
-        assert(!already_init);
-        already_init = true;
-      })
-    );
-  // unblock the initializing thread
-  start_init.arrive_and_drop();
-
-  // wait for the other threads to finish initialization.
-  threads.JoinAll();
-
-  assert(test_obj.get_count(ABORTED) == 1);
-  assert(test_obj.get_count(PERFORMED) == 1);
-  assert(test_obj.get_count(WAITED) + test_obj.get_count(COMPLETE) == num_waiters - 1);
-}
-
-
-template <class GuardType, class Impl>
-void test_completed_init(int num_waiters) {
-
-  FunctionLocalStatic<GuardType, Impl> test_obj;
-
-  test_obj.access([]() {}); // initialize the object
-  assert(test_obj.num_waiting() == 0);
-  assert(test_obj.num_completed() == 1);
-  assert(test_obj.get_count(PERFORMED) == 1);
-
-  ThreadGroup threads;
-  threads.CreateThreadsWithBarrier(num_waiters,
-      test_obj.access_callback([]() { assert(false); })
-  );
-  // wait for the other threads to finish initialization.
-  threads.JoinAll();
-
-  assert(test_obj.get_count(ABORTED) == 0);
-  assert(test_obj.get_count(PERFORMED) == 1);
-  assert(test_obj.get_count(WAITED) == 0);
-  assert(test_obj.get_count(COMPLETE) == num_waiters);
-}
-
-template <class Impl>
-void test_impl() {
-  using TestFn = void(*)(int);
-  TestFn TestList[] = {
-    test_free_for_all<uint32_t, Impl>,
-    test_free_for_all<uint32_t, Impl>,
-    test_waiting_for_init<uint32_t, Impl>,
-    test_waiting_for_init<uint64_t, Impl>,
-    test_aborted_init<uint32_t, Impl>,
-    test_aborted_init<uint64_t, Impl>,
-    test_completed_init<uint32_t, Impl>,
-    test_completed_init<uint64_t, Impl>
-  };
-
-  for (auto test_func : TestList) {
-      ThreadGroup test_threads;
-      test_threads.CreateThreadsWithBarrier(ConcurrentRunsPerTest, [=]() {
-        for (int I = 0; I < TestSamples; ++I) {
-          test_func(ThreadsPerTest);
-        }
-      });
-      test_threads.JoinAll();
-    }
-  }
-
-void test_all_impls() {
-  using MutexImpl = SelectImplementation<Implementation::GlobalLock>::type;
-
-  // Attempt to test the Futex based implementation if it's supported on the
-  // target platform.
-  using RealFutexImpl = SelectImplementation<Implementation::Futex>::type;
-  using FutexImpl = typename std::conditional<
-      PlatformSupportsFutex(),
-      RealFutexImpl,
-      MutexImpl
-  >::type;
-
-  test_impl<MutexImpl>();
-  if (PlatformSupportsFutex())
-    test_impl<FutexImpl>();
-}
-
-// A dummy
-template <bool Dummy = true>
-void test_futex_syscall() {
-  if (!PlatformSupportsFutex())
-    return;
-  int lock1 = 0;
-  int lock2 = 0;
-  int lock3 = 0;
-  std::thread waiter1([&]() {
-    int expect = 0;
-    PlatformFutexWait(&lock1, expect);
-    assert(lock1 == 1);
-  });
-  std::thread waiter2([&]() {
-    int expect = 0;
-    PlatformFutexWait(&lock2, expect);
-    assert(lock2 == 2);
-  });
-  std::thread waiter3([&]() {
-    int expect = 42; // not the value
-    PlatformFutexWait(&lock3, expect); // doesn't block
-  });
-  std::thread waker([&]() {
-    lock1 = 1;
-    PlatformFutexWake(&lock1);
-    lock2 = 2;
-    PlatformFutexWake(&lock2);
-  });
-  waiter1.join();
-  waiter2.join();
-  waiter3.join();
-  waker.join();
-}
-
-int main() {
-  // Test each multi-threaded implementation with real threads.
-  test_all_impls();
-  // Test the basic sanity of the futex syscall wrappers.
-  test_futex_syscall();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/incomplete_type.sh.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/incomplete_type.sh.cpp
deleted file mode 100644
index 5937c83..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/incomplete_type.sh.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-//===------------------------- incomplete_type.cpp --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-// https://itanium-cxx-abi.github.io/cxx-abi/abi.html#rtti-layout
-
-// Two abi::__pbase_type_info objects can always be compared for equality
-// (i.e. of the types represented) or ordering by comparison of their name
-// NTBS addresses. In addition, unless either or both have either of the
-// incomplete flags set, equality can be tested by comparing the type_info
-// addresses.
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-// NOTE: Pass -lc++abi explicitly and before -lc++ so that -lc++ doesn't drag
-// in the system libc++abi installation on OS X. (DYLD_LIBRARY_PATH is ignored
-// for shell tests because of Apple security features).
-
-// RUN: %cxx %flags %compile_flags -c %s -o %t.one.o
-// RUN: %cxx %flags %compile_flags -c %s -o %t.two.o -DTU_ONE
-// RUN: %cxx %flags %t.one.o %t.two.o -lc++abi %link_flags -o %t.exe
-// RUN: %t.exe
-
-#include <stdio.h>
-#include <cstring>
-#include <cassert>
-#include <typeinfo>
-
-// Check that the addresses of the typeinfo differ but still compare equal
-// via their NTBS.
-inline void
-AssertIncompleteTypeInfoEquals(std::type_info const& LHS, std::type_info const& RHS)
-{
-  assert(&LHS != &RHS);
-  assert(strcmp(LHS.name(), RHS.name()) == 0);
-}
-
-struct NeverDefined;
-void ThrowNeverDefinedMP();
-std::type_info const& ReturnTypeInfoNeverDefinedMP();
-
-struct IncompleteAtThrow;
-void ThrowIncompleteMP();
-void ThrowIncompletePP();
-void ThrowIncompletePMP();
-std::type_info const& ReturnTypeInfoIncompleteMP();
-std::type_info const& ReturnTypeInfoIncompletePP();
-
-struct CompleteAtThrow;
-void ThrowCompleteMP();
-void ThrowCompletePP();
-void ThrowCompletePMP();
-std::type_info const& ReturnTypeInfoCompleteMP();
-std::type_info const& ReturnTypeInfoCompletePP();
-
-void ThrowNullptr();
-
-#ifndef TU_ONE
-
-void ThrowNeverDefinedMP() { throw (int NeverDefined::*)nullptr; }
-std::type_info const& ReturnTypeInfoNeverDefinedMP() { return typeid(int NeverDefined::*); }
-
-void ThrowIncompleteMP() { throw (int IncompleteAtThrow::*)nullptr; }
-void ThrowIncompletePP() { throw (IncompleteAtThrow**)nullptr; }
-void ThrowIncompletePMP() { throw (int IncompleteAtThrow::**)nullptr; }
-std::type_info const& ReturnTypeInfoIncompleteMP() { return typeid(int IncompleteAtThrow::*); }
-std::type_info const& ReturnTypeInfoIncompletePP() { return typeid(IncompleteAtThrow**); }
-
-struct CompleteAtThrow {};
-void ThrowCompleteMP() { throw (int CompleteAtThrow::*)nullptr; }
-void ThrowCompletePP() { throw (CompleteAtThrow**)nullptr; }
-void ThrowCompletePMP() { throw (int CompleteAtThrow::**)nullptr; }
-std::type_info const& ReturnTypeInfoCompleteMP() { return typeid(int CompleteAtThrow::*); }
-std::type_info const& ReturnTypeInfoCompletePP() { return typeid(CompleteAtThrow**); }
-
-void ThrowNullptr() { throw nullptr; }
-
-#else
-
-struct IncompleteAtThrow {};
-
-int main() {
-  AssertIncompleteTypeInfoEquals(ReturnTypeInfoNeverDefinedMP(), typeid(int NeverDefined::*));
-  try {
-    ThrowNeverDefinedMP();
-    assert(false);
-  } catch (int IncompleteAtThrow::*) {
-    assert(false);
-  } catch (int CompleteAtThrow::*) {
-    assert(false);
-  } catch (int NeverDefined::*p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch NeverDefined::*" ); }
-
-  AssertIncompleteTypeInfoEquals(ReturnTypeInfoIncompleteMP(), typeid(int IncompleteAtThrow::*));
-  try {
-    ThrowIncompleteMP();
-    assert(false);
-  } catch (CompleteAtThrow**) {
-    assert(false);
-  } catch (int CompleteAtThrow::*) {
-    assert(false);
-  } catch (IncompleteAtThrow**) {
-    assert(false);
-  } catch (int IncompleteAtThrow::*p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch IncompleteAtThrow::*" ); }
-
-  AssertIncompleteTypeInfoEquals(ReturnTypeInfoIncompletePP(), typeid(IncompleteAtThrow**));
-  try {
-    ThrowIncompletePP();
-    assert(false);
-  } catch (int IncompleteAtThrow::*) {
-    assert(false);
-  } catch (IncompleteAtThrow** p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch IncompleteAtThrow**" ); }
-
-  try {
-    ThrowIncompletePMP();
-    assert(false);
-  } catch (int IncompleteAtThrow::*) {
-    assert(false);
-  } catch (IncompleteAtThrow**) {
-    assert(false);
-  } catch (int IncompleteAtThrow::**p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch IncompleteAtThrow::**" ); }
-
-  AssertIncompleteTypeInfoEquals(ReturnTypeInfoCompleteMP(), typeid(int CompleteAtThrow::*));
-  try {
-    ThrowCompleteMP();
-    assert(false);
-  } catch (IncompleteAtThrow**) {
-    assert(false);
-  } catch (int IncompleteAtThrow::*) {
-    assert(false);
-  } catch (CompleteAtThrow**) {
-    assert(false);
-  } catch (int CompleteAtThrow::*p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch CompleteAtThrow::" ); }
-
-  AssertIncompleteTypeInfoEquals(ReturnTypeInfoCompletePP(), typeid(CompleteAtThrow**));
-  try {
-    ThrowCompletePP();
-    assert(false);
-  } catch (IncompleteAtThrow**) {
-    assert(false);
-  } catch (int IncompleteAtThrow::*) {
-    assert(false);
-  } catch (int CompleteAtThrow::*) {
-    assert(false);
-  } catch (CompleteAtThrow**p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch CompleteAtThrow**" ); }
-
-  try {
-    ThrowCompletePMP();
-    assert(false);
-  } catch (IncompleteAtThrow**) {
-    assert(false);
-  } catch (int IncompleteAtThrow::*) {
-    assert(false);
-  } catch (int CompleteAtThrow::*) {
-    assert(false);
-  } catch (CompleteAtThrow**) {
-    assert(false);
-  } catch (int CompleteAtThrow::**p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch CompleteAtThrow::**" ); }
-
-#if __cplusplus >= 201103L
-  // Catch nullptr as complete type
-  try {
-    ThrowNullptr();
-  } catch (int IncompleteAtThrow::*p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch nullptr as IncompleteAtThrow::*" ); }
-
-  // Catch nullptr as an incomplete type
-  try {
-    ThrowNullptr();
-  } catch (int CompleteAtThrow::*p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch nullptr as CompleteAtThrow::*" ); }
-
-  // Catch nullptr as a type that is never complete.
-  try {
-    ThrowNullptr();
-  } catch (int NeverDefined::*p) {
-    assert(!p);
-  }
-  catch(...) { assert(!"FAIL: Didn't catch nullptr as NeverDefined::*" ); }
-
-#endif
-}
-#endif
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/inherited_exception.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/inherited_exception.pass.cpp
deleted file mode 100644
index 7846376..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/inherited_exception.pass.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-//===--------------------- inherited_exception.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-//
-// This test case checks specifically the cases under C++ ABI 15.3.1, and 15.3.2
-//
-//  C++ ABI 15.3:
-//  A handler is a match for an exception object of type E if
-//  /  *  The handler is of type cv T or cv T& and E and T are the same type   \
-//  |     (ignoring the top-level cv-qualifiers), or                           |
-//  |  *  the handler is of type cv T or cv T& and T is an unambiguous base    |
-//  \     class of E, or                                                       /
-//     *  the handler is of type cv1 T* cv2 and E is a pointer type that can
-//        be converted to the type of the handler by either or both of
-//          o  a standard pointer conversion (4.10 [conv.ptr]) not involving
-//             conversions to private or protected or ambiguous classes
-//          o  a qualification conversion
-//     *  the handler is a pointer or pointer to member type and E is
-//        std::nullptr_t
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-// Clang emits  warnings about exceptions of type 'Child' being caught by
-// an earlier handler of type 'Base'. Congrats clang, you've just
-// diagnosed the behavior under test.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Wexceptions"
-#endif
-
-#include <assert.h>
-
-struct Base {
-  int b1;
-};
-
-struct Base2 {
-  int b2;
-};
-
-struct Child : public Base, public Base2 {
-  int c;
-};
-
-void f1() {
-  Child child;
-  child.b1 = 10;
-  child.b2 = 11;
-  child.c = 12;
-  throw child;
-}
-
-void f2() {
-  Child child;
-  child.b1 = 10;
-  child.b2 = 11;
-  child.c = 12;
-  throw static_cast<Base2&>(child);
-}
-
-void f3() {
-  static Child child;
-  child.b1 = 10;
-  child.b2 = 11;
-  child.c = 12;
-  throw static_cast<Base2*>(&child);
-}
-
-int main()
-{
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (const Child& c)
-    {
-        assert(true);
-    }
-    catch (const Base& b)
-    {
-        assert(false);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (const Base& c)
-    {
-        assert(true);
-    }
-    catch (const Child& b)
-    {
-        assert(false);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (const Base2& c)
-    {
-        assert(true);
-    }
-    catch (const Child& b)
-    {
-        assert(false);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-
-    try
-    {
-        f2();
-        assert(false);
-    }
-    catch (const Child& c)
-    {
-        assert(false);
-    }
-    catch (const Base& b)
-    {
-        assert(false);
-    }
-    catch (const Base2& b)
-    {
-        assert(true);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-
-    try
-    {
-        f3();
-        assert(false);
-    }
-    catch (const Base* c)
-    {
-        assert(false);
-    }
-    catch (const Child* b)
-    {
-        assert(false);
-    }
-    catch (const Base2* c)
-    {
-        assert(true);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/config.py b/r21/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/config.py
deleted file mode 100644
index 32b2f74..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/config.py
+++ /dev/null
@@ -1,98 +0,0 @@
-#===----------------------------------------------------------------------===##
-#
-# 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
-#
-#===----------------------------------------------------------------------===##
-import os
-import sys
-
-from libcxx.test.config import Configuration as LibcxxConfiguration
-from libcxx.test.config import intMacroValue
-
-
-class Configuration(LibcxxConfiguration):
-    # pylint: disable=redefined-outer-name
-    def __init__(self, lit_config, config):
-        super(Configuration, self).__init__(lit_config, config)
-        self.libcxxabi_src_root = None
-        self.libcxxabi_obj_root = None
-        self.abi_library_path = None
-        self.libcxx_src_root = None
-
-    def configure_src_root(self):
-        self.libcxxabi_src_root = self.get_lit_conf(
-            'libcxxabi_src_root',
-            os.path.dirname(self.config.test_source_root))
-        self.libcxx_src_root = self.get_lit_conf(
-            'libcxx_src_root',
-            os.path.join(self.libcxxabi_src_root, '/../libcxx'))
-
-    def configure_obj_root(self):
-        self.libcxxabi_obj_root = self.get_lit_conf('libcxxabi_obj_root')
-        super(Configuration, self).configure_obj_root()
-
-    def has_cpp_feature(self, feature, required_value):
-        return intMacroValue(self.cxx.dumpMacros().get('__cpp_' + feature, '0')) >= required_value
-
-    def configure_features(self):
-        super(Configuration, self).configure_features()
-        if not self.get_lit_bool('enable_exceptions', True):
-            self.config.available_features.add('libcxxabi-no-exceptions')
-        if not self.has_cpp_feature('noexcept_function_type', 201510):
-            self.config.available_features.add('libcxxabi-no-noexcept-function-type')
-        # test_exception_storage_nodynmem.pass.cpp fails under this specific configuration
-        if self.get_lit_bool('cxx_ext_threads', False) and self.get_lit_bool('libcxxabi_shared', False):
-            self.config.available_features.add('libcxxabi-shared-externally-threaded')
-        if not self.get_lit_bool('llvm_unwinder', False):
-            self.config.available_features.add('libcxxabi-has-system-unwinder')
-
-    def configure_compile_flags(self):
-        self.cxx.compile_flags += [
-            '-DLIBCXXABI_NO_TIMER',
-            '-D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS',
-        ]
-        if self.get_lit_bool('enable_exceptions', True):
-            self.cxx.compile_flags += ['-funwind-tables']
-        else:
-            self.cxx.compile_flags += ['-fno-exceptions', '-DLIBCXXABI_HAS_NO_EXCEPTIONS']
-        if not self.get_lit_bool('enable_threads', True):
-            self.cxx.compile_flags += ['-D_LIBCXXABI_HAS_NO_THREADS']
-            self.config.available_features.add('libcxxabi-no-threads')
-        super(Configuration, self).configure_compile_flags()
-    
-    def configure_compile_flags_header_includes(self):
-        self.configure_config_site_header()
-        cxx_headers = self.get_lit_conf(
-            'cxx_headers',
-            os.path.join(self.libcxx_src_root, '/include'))
-        if cxx_headers == '':
-            self.lit_config.note('using the systems c++ headers')
-        else:
-            self.cxx.compile_flags += ['-nostdinc++']
-        if not os.path.isdir(cxx_headers):
-            self.lit_config.fatal("cxx_headers='%s' is not a directory."
-                                  % cxx_headers)
-        self.cxx.compile_flags += ['-I' + cxx_headers]
-
-        libcxxabi_headers = self.get_lit_conf(
-            'libcxxabi_headers',
-            os.path.join(self.libcxxabi_src_root, 'include'))
-        if not os.path.isdir(libcxxabi_headers):
-            self.lit_config.fatal("libcxxabi_headers='%s' is not a directory."
-                                  % libcxxabi_headers)
-        self.cxx.compile_flags += ['-I' + libcxxabi_headers]
-
-        libunwind_headers = self.get_lit_conf('libunwind_headers', None)
-        if self.get_lit_bool('llvm_unwinder', False) and libunwind_headers:
-            if not os.path.isdir(libunwind_headers):
-                self.lit_config.fatal("libunwind_headers='%s' is not a directory."
-                                      % libunwind_headers)
-            self.cxx.compile_flags += ['-I' + libunwind_headers]
-
-    def configure_compile_flags_exceptions(self):
-        pass
-
-    def configure_compile_flags_rtti(self):
-        pass
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/lit.cfg b/r21/sources/cxx-stl/llvm-libc++abi/test/lit.cfg
deleted file mode 100644
index 2e23c56..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/lit.cfg
+++ /dev/null
@@ -1,67 +0,0 @@
-# -*- Python -*- vim: set ft=python ts=4 sw=4 expandtab tw=79:
-
-# Configuration file for the 'lit' test runner.
-
-
-import os
-import site
-
-site.addsitedir(os.path.dirname(__file__))
-
-
-# Tell pylint that we know config and lit_config exist somewhere.
-if 'PYLINT_IMPORT' in os.environ:
-    config = object()
-    lit_config = object()
-
-# name: The name of this test suite.
-config.name = 'libc++abi'
-
-# suffixes: A list of file extensions to treat as test files.
-config.suffixes = ['.cpp', '.s']
-
-# test_source_root: The root path where tests are located.
-config.test_source_root = os.path.dirname(__file__)
-
-# Infer the libcxx_test_source_root for configuration import.
-# If libcxx_source_root isn't specified in the config, assume that the libcxx
-# and libcxxabi source directories are sibling directories.
-libcxx_src_root = getattr(config, 'libcxx_src_root', None)
-if not libcxx_src_root:
-    libcxx_src_root = os.path.join(config.test_source_root, '../../libcxx')
-libcxx_test_src_root = os.path.join(libcxx_src_root, 'utils')
-if os.path.isfile(os.path.join(libcxx_test_src_root, 'libcxx', '__init__.py')):
-    site.addsitedir(libcxx_test_src_root)
-else:
-    lit_config.fatal('Could not find libcxx test directory for test imports'
-                     ' in: %s' % libcxx_test_src_root)
-
-# Infer the test_exec_root from the libcxx_object root.
-obj_root = getattr(config, 'libcxxabi_obj_root', None)
-
-# Check that the test exec root is known.
-if obj_root is None:
-    import libcxx.test.config
-    libcxx.test.config.loadSiteConfig(
-        lit_config, config, 'libcxxabi_site_config', 'LIBCXXABI_SITE_CONFIG')
-    obj_root = getattr(config, 'libcxxabi_obj_root', None)
-    if obj_root is None:
-        import tempfile
-        obj_root = tempfile.mkdtemp(prefix='libcxxabi-testsuite-')
-        lit_config.warning('Creating temporary directory for object root: %s' %
-                           obj_root)
-
-config.test_exec_root = os.path.join(obj_root, 'test')
-
-cfg_variant = getattr(config, 'configuration_variant', 'libcxxabi')
-if cfg_variant:
-    lit_config.note('Using configuration variant: %s' % cfg_variant)
-
-# Load the Configuration class from the module name <cfg_variant>.test.config.
-config_module_name = '.'.join([cfg_variant, 'test', 'config'])
-config_module = __import__(config_module_name, fromlist=['Configuration'])
-
-configuration = config_module.Configuration(lit_config, config)
-configuration.configure()
-configuration.print_config_info()
-config.test_format = configuration.get_test_format()
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/lit.site.cfg.in b/r21/sources/cxx-stl/llvm-libc++abi/test/lit.site.cfg.in
deleted file mode 100644
index 8ac2fa4..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/lit.site.cfg.in
+++ /dev/null
@@ -1,33 +0,0 @@
-@AUTO_GEN_COMMENT@
-config.cxx_under_test           = "@LIBCXXABI_COMPILER@"
-config.project_obj_root         = "@CMAKE_BINARY_DIR@"
-config.libcxxabi_src_root       = "@LIBCXXABI_SOURCE_DIR@"
-config.libcxxabi_obj_root       = "@LIBCXXABI_BINARY_DIR@"
-config.abi_library_path         = "@LIBCXXABI_LIBRARY_DIR@"
-config.libcxx_src_root          = "@LIBCXXABI_LIBCXX_PATH@"
-config.cxx_headers              = "@LIBCXXABI_LIBCXX_INCLUDES@"
-config.libunwind_headers        = "@LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL@"
-config.cxx_library_root         = "@LIBCXXABI_LIBCXX_LIBRARY_PATH@"
-config.llvm_unwinder            = @LIBCXXABI_USE_LLVM_UNWINDER@
-config.builtins_library         = "@LIBCXXABI_BUILTINS_LIBRARY@"
-config.enable_threads           = @LIBCXXABI_ENABLE_THREADS@
-config.use_sanitizer            = "@LLVM_USE_SANITIZER@"
-config.sanitizer_library        = "@LIBCXXABI_SANITIZER_LIBRARY@"
-config.enable_32bit             = @LIBCXXABI_BUILD_32_BITS@
-config.target_info              = "@LIBCXXABI_TARGET_INFO@"
-config.executor                 = "@LIBCXXABI_EXECUTOR@"
-config.libcxxabi_shared         = @LIBCXXABI_ENABLE_SHARED@
-config.enable_shared            = @LIBCXX_ENABLE_SHARED@
-config.enable_exceptions        = @LIBCXXABI_ENABLE_EXCEPTIONS@
-config.host_triple              = "@LLVM_HOST_TRIPLE@"
-config.target_triple            = "@TARGET_TRIPLE@"
-config.use_target               = bool("@LIBCXXABI_TARGET_TRIPLE@")
-config.sysroot                  = "@LIBCXXABI_SYSROOT@"
-config.gcc_toolchain            = "@LIBCXXABI_GCC_TOOLCHAIN@"
-config.cxx_ext_threads          = @LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY@
-
-config.pstl_src_root            = "@ParallelSTL_SOURCE_DIR@" if @LIBCXX_ENABLE_PARALLEL_ALGORITHMS@ else None
-config.pstl_obj_root            = "@ParallelSTL_BINARY_DIR@" if @LIBCXX_ENABLE_PARALLEL_ALGORITHMS@ else None
-
-# Let the main config do the real work.
-lit_config.load_config(config, "@LIBCXXABI_SOURCE_DIR@/test/lit.cfg")
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-00.pass.sh.s b/r21/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-00.pass.sh.s
deleted file mode 100644
index 0484e9f..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-00.pass.sh.s
+++ /dev/null
@@ -1,98 +0,0 @@
-@ RUN: %cxx %flags %link_flags %s -o %t.exe
-@ RUN: %t.exe
-@ UNSUPPORTED: libcxxabi-no-exceptions
-
-@ PURPOSE: Check that 0x00 is a valid value for ttype encoding.  LLVM and
-@ GCC 4.6 are generating 0x00 as ttype encoding.  libc++abi should provide
-@ legacy support.
-
-@ NOTE:
-@
-@ This file is generated from the following C++ source code:
-@
-@ ```
-@ int main() {
-@   try {
-@     throw 5;
-@   } catch (int i) {
-@     if (i != 5)
-@       abort();
-@     return 0;
-@   }
-@ }
-@ ```
-
-	.syntax unified
-
-	.text
-	.globl	main
-	.p2align	2
-	.type	main,%function
-main:                                   @ @main
-.Lfunc_begin0:
-	.fnstart
-@ BB#0:                                 @ %entry
-	.save	{r11, lr}
-	push	{r11, lr}
-	.setfp	r11, sp
-	mov	r11, sp
-	mov	r0, #4
-	bl	__cxa_allocate_exception
-	mov	r1, #5
-	str	r1, [r0]
-.Ltmp0:
-	ldr	r1, .LCPI0_0
-	mov	r2, #0
-	bl	__cxa_throw
-.Ltmp1:
-
-@ BB#2:                                 @ %lpad
-.Ltmp2:
-	bl	__cxa_begin_catch
-	ldr	r0, [r0]
-	cmp	r0, #5
-	bne	.LBB0_4
-@ BB#3:                                 @ %if.end
-	bl	__cxa_end_catch
-	mov	r0, #0
-	pop	{r11, lr}
-	bx	lr
-.LBB0_4:                                @ %if.then
-	bl	abort
-	.p2align	2
-@ BB#5:
-.LCPI0_0:
-	.long	_ZTIi
-.Lfunc_end0:
-
-	.size	main, .Lfunc_end0-main
-	.globl	__gxx_personality_v0
-	.personality __gxx_personality_v0
-	.handlerdata
-	.p2align	2
-GCC_except_table0:
-.Lexception0:
-	.byte	255                     @ @LPStart Encoding = omit
-	.byte	0                       @ @TType Encoding = absptr
-	.asciz	"\257\200"              @ @TType base offset
-	.byte	3                       @ Call site Encoding = udata4
-	.byte	39                      @ Call site table length
-	.long	.Lfunc_begin0-.Lfunc_begin0 @ >> Call Site 1 <<
-	.long	.Ltmp0-.Lfunc_begin0    @   Call between .Lfunc_begin0 and .Ltmp0
-	.long	0                       @     has no landing pad
-	.byte	0                       @   On action: cleanup
-	.long	.Ltmp0-.Lfunc_begin0    @ >> Call Site 2 <<
-	.long	.Ltmp1-.Ltmp0           @   Call between .Ltmp0 and .Ltmp1
-	.long	.Ltmp2-.Lfunc_begin0    @     jumps to .Ltmp2
-	.byte	1                       @   On action: 1
-	.long	.Ltmp1-.Lfunc_begin0    @ >> Call Site 3 <<
-	.long	.Lfunc_end0-.Ltmp1      @   Call between .Ltmp1 and .Lfunc_end0
-	.long	0                       @     has no landing pad
-	.byte	0                       @   On action: cleanup
-	.byte	1                       @ >> Action Record 1 <<
-                                        @   Catch TypeInfo 1
-	.byte	0                       @   No further actions
-                                        @ >> Catch TypeInfos <<
-	.long	_ZTIi(target2)          @ TypeInfo 1
-	.p2align	2
-	.fnend
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-90.pass.sh.s b/r21/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-90.pass.sh.s
deleted file mode 100644
index 837602b..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/ttype-encoding-90.pass.sh.s
+++ /dev/null
@@ -1,97 +0,0 @@
-@ RUN: %cxx %flags %link_flags %s -o %t.exe
-@ RUN: %t.exe
-@ UNSUPPORTED: libcxxabi-no-exceptions
-
-@ PURPOSE: Check that 0x90 is a valid value for ttype encoding.
-
-@ NOTE:
-@
-@ This file is generated from the following C++ source code and then change the
-@ `TType Encoding` to 0x90.
-@
-@ ```
-@ int main() {
-@   try {
-@     throw 5;
-@   } catch (int i) {
-@     if (i != 5)
-@       abort();
-@     return 0;
-@   }
-@ }
-@ ```
-
-	.syntax unified
-
-	.text
-	.globl	main
-	.p2align	2
-	.type	main,%function
-main:                                   @ @main
-.Lfunc_begin0:
-	.fnstart
-@ BB#0:                                 @ %entry
-	.save	{r11, lr}
-	push	{r11, lr}
-	.setfp	r11, sp
-	mov	r11, sp
-	mov	r0, #4
-	bl	__cxa_allocate_exception
-	mov	r1, #5
-	str	r1, [r0]
-.Ltmp0:
-	ldr	r1, .LCPI0_0
-	mov	r2, #0
-	bl	__cxa_throw
-.Ltmp1:
-
-@ BB#2:                                 @ %lpad
-.Ltmp2:
-	bl	__cxa_begin_catch
-	ldr	r0, [r0]
-	cmp	r0, #5
-	bne	.LBB0_4
-@ BB#3:                                 @ %if.end
-	bl	__cxa_end_catch
-	mov	r0, #0
-	pop	{r11, lr}
-	bx	lr
-.LBB0_4:                                @ %if.then
-	bl	abort
-	.p2align	2
-@ BB#5:
-.LCPI0_0:
-	.long	_ZTIi
-.Lfunc_end0:
-
-	.size	main, .Lfunc_end0-main
-	.globl	__gxx_personality_v0
-	.personality __gxx_personality_v0
-	.handlerdata
-	.p2align	2
-GCC_except_table0:
-.Lexception0:
-	.byte	255                     @ @LPStart Encoding = omit
-	.byte	0x90                    @ @TType Encoding = indirect | pcrel
-	.asciz	"\257\200"              @ @TType base offset
-	.byte	3                       @ Call site Encoding = udata4
-	.byte	39                      @ Call site table length
-	.long	.Lfunc_begin0-.Lfunc_begin0 @ >> Call Site 1 <<
-	.long	.Ltmp0-.Lfunc_begin0    @   Call between .Lfunc_begin0 and .Ltmp0
-	.long	0                       @     has no landing pad
-	.byte	0                       @   On action: cleanup
-	.long	.Ltmp0-.Lfunc_begin0    @ >> Call Site 2 <<
-	.long	.Ltmp1-.Ltmp0           @   Call between .Ltmp0 and .Ltmp1
-	.long	.Ltmp2-.Lfunc_begin0    @     jumps to .Ltmp2
-	.byte	1                       @   On action: 1
-	.long	.Ltmp1-.Lfunc_begin0    @ >> Call Site 3 <<
-	.long	.Lfunc_end0-.Ltmp1      @   Call between .Ltmp1 and .Lfunc_end0
-	.long	0                       @     has no landing pad
-	.byte	0                       @   On action: cleanup
-	.byte	1                       @ >> Action Record 1 <<
-                                        @   Catch TypeInfo 1
-	.byte	0                       @   No further actions
-                                        @ >> Catch TypeInfos <<
-	.long	_ZTIi(target2)          @ TypeInfo 1
-	.p2align	2
-	.fnend
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/noexception1.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/noexception1.pass.cpp
deleted file mode 100644
index b3471dd..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/noexception1.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------- noexception1.pass.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-// REQUIRES: libcxxabi-no-exceptions
-
-#include <cxxabi.h>
-#include <exception>
-#include <cassert>
-#include <stdlib.h>
-
-// namespace __cxxabiv1 {
-//      void __cxa_increment_exception_refcount(void *thrown_object) throw();
-// }
-
-unsigned gCounter = 0;
-
-void my_terminate() { exit(0); }
-
-int main ()
-{
-    // should not call std::terminate()
-    __cxxabiv1::__cxa_increment_exception_refcount(nullptr);
-
-    std::set_terminate(my_terminate);
-
-    // should call std::terminate()
-    __cxxabiv1::__cxa_increment_exception_refcount((void*) &gCounter);
-    assert(false);
-
-    return 0;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/noexception2.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/noexception2.pass.cpp
deleted file mode 100644
index b377d9e..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/noexception2.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------- noexception2.pass.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-// REQUIRES: libcxxabi-no-exceptions
-
-#include <cxxabi.h>
-#include <exception>
-#include <cassert>
-#include <stdlib.h>
-
-// namespace __cxxabiv1 {
-//      void __cxa_decrement_exception_refcount(void *thrown_object) throw();
-// }
-
-unsigned gCounter = 0;
-
-void my_terminate() { exit(0); }
-
-int main ()
-{
-    // should not call std::terminate()
-    __cxxabiv1::__cxa_decrement_exception_refcount(nullptr);
-
-    std::set_terminate(my_terminate);
-
-    // should call std::terminate()
-    __cxxabiv1::__cxa_decrement_exception_refcount((void*) &gCounter);
-    assert(false);
-
-    return 0;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/noexception3.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/noexception3.pass.cpp
deleted file mode 100644
index 42d02a6..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/noexception3.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------- noexception3.pass.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-// REQUIRES: libcxxabi-no-exceptions
-
-#include <cxxabi.h>
-#include <exception>
-#include <cassert>
-#include <stdlib.h>
-
-// namespace __cxxabiv1 {
-//      void __cxa_rethrow_primary_exception(void* thrown_object);
-// }
-
-unsigned gCounter = 0;
-
-void my_terminate() { exit(0); }
-
-int main ()
-{
-    // should not call std::terminate()
-    __cxxabiv1::__cxa_rethrow_primary_exception(nullptr);
-
-    std::set_terminate(my_terminate);
-
-    // should call std::terminate()
-    __cxxabiv1::__cxa_rethrow_primary_exception((void*) &gCounter);
-    assert(false);
-
-    return 0;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/noexception4.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/noexception4.pass.cpp
deleted file mode 100644
index 00c7162..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/noexception4.pass.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//===----------------------- noexception4.pass.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// REQUIRES: libcxxabi-no-exceptions
-
-#include <cxxabi.h>
-#include <exception>
-#include <cassert>
-
-// namespace __cxxabiv1 {
-//      void *__cxa_current_primary_exception() throw();
-//      extern bool          __cxa_uncaught_exception () throw();
-//      extern unsigned int  __cxa_uncaught_exceptions() throw();
-// }
-
-int main ()
-{
-    // Trivially
-    assert(nullptr == __cxxabiv1::__cxa_current_primary_exception());
-    assert(!__cxxabiv1::__cxa_uncaught_exception());
-    assert(0 == __cxxabiv1::__cxa_uncaught_exceptions());
-    return 0;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime.pass.cpp
deleted file mode 100644
index ddc2630..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime.pass.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//===-------------------------- test_aux_runtime.cpp ----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <typeinfo>
-#include <iostream>
-
-//  Test taken from 5.2.8.2
-//  When typeid is applied to a glvalue expression whose type is a polymorphic 
-//  class type, (10.3), the result refers to a std::type_info object 
-//  representing the type of the most derived object (1.8) (that is, the 
-//  dynamic type) to which the glvalue refers. If the glvalue expression is 
-//  obtained by applying the unary * operator to a pointer(68) and the pointer 
-//  is a null pointer value (4.10), the typeid expression throws the 
-//  std::bad_typeid exception (18.7.3).
-//
-//  68) If p is an expression of pointer type, then *p, (*p), *(p), 
-//      ((*p)), *((p)), and so on all meet this requirement.
-bool bad_typeid_test () {
-    class A { virtual void f() {}}; 
-    class B { virtual void g() {}}; 
-    
-    B *bp = NULL;
-    try {bool b = typeid(*bp) == typeid (A); ((void)b); }
-    catch ( const std::bad_typeid &) { return true; }
-    return false;
-    }
-    
-
-//  The value of a failed cast to pointer type is the null pointer value of 
-//  the required result type. A failed cast to reference type throws 
-//  std::bad_cast (18.7.2).
-bool bad_cast_test () {
-    class A { virtual void f() {}};
-    class B { virtual void g() {}};
-    class D : public virtual A, private B {};   
-
-    D d;
-    B *bp = (B*)&d;     // cast needed to break protection
-    try { D &dr = dynamic_cast<D&> (*bp); ((void)dr); }
-    catch ( const std::bad_cast & ) { return true; }
-    return false;
-    }
-    
-int main ( ) {
-    int ret_val = 0;
-    
-    if ( !bad_typeid_test ()) {
-        std::cerr << "TypeID test failed!" << std::endl;
-        ret_val = 1;
-    }
-    
-    if ( !bad_cast_test ()) {
-        std::cerr << "Bad cast test failed!" << std::endl;
-        ret_val = 1;
-    }
-    
-    return ret_val;
-    }
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime_op_array_new.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime_op_array_new.pass.cpp
deleted file mode 100644
index 3e77d99..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/test_aux_runtime_op_array_new.pass.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===-------------------------- test_aux_runtime_op_array_new.cpp ---------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <iostream>
-#include <cxxabi.h>
-
-//  If the expression passed to operator new[] would result in an overflow, the
-//  allocation function is not called, and a std::bad_array_new_length exception
-//  is thrown instead (5.3.4p7).
-bool bad_array_new_length_test() {
-    try {
-      // We test this directly because Clang does not currently codegen the
-      // correct call to __cxa_bad_array_new_length, so this test would result
-      // in passing -1 to ::operator new[], which would then throw a
-      // std::bad_alloc, causing the test to fail.
-      __cxxabiv1::__cxa_throw_bad_array_new_length();
-    } catch ( const std::bad_array_new_length &banl ) {
-      return true;
-    }
-    return false;
-}
-
-int main() {
-    int ret_val = 0;
-
-    if ( !bad_array_new_length_test ()) {
-        std::cerr << "Bad array new length test failed!" << std::endl;
-        ret_val = 1;
-    }
-
-    return ret_val;
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_demangle.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/test_demangle.pass.cpp
deleted file mode 100644
index 220c2fe..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/test_demangle.pass.cpp
+++ /dev/null
@@ -1,30014 +0,0 @@
-//===-------------------------- test_demangle.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "support/timer.h"
-#include <iostream>
-#include <string>
-#include <cstdlib>
-#include <cxxabi.h>
-#include <cassert>
-
-// Is long double fp80?  (Only x87 extended double has 64-bit mantissa)
-#define LDBL_FP80 (__LDBL_MANT_DIG__ == 64)
-
-const char* cases[][2] =
-{
-    {"_Z1A", "A"},
-    {"_Z1Av", "A()"},
-    {"_Z1A1B1C", "A(B, C)"},
-    {"_Z4testI1A1BE1Cv", "C test<A, B>()"},
-    {"_Z4testI1A1BET0_T_S3_", "B test<A, B>(A, A)"},
-    {"_ZN1SgtEi", "S::operator>(int)"},
-    {"_ZrsI1QEiT_i", "int operator>><Q>(Q, int)"},
-    {"_ZN13dyldbootstrap5startEPK12macho_headeriPPKcl", "dyldbootstrap::start(macho_header const*, int, char const**, long)"},
-    {"_ZN4dyld17getExecutablePathEv", "dyld::getExecutablePath()"},
-    {"_ZN4dyld22mainExecutablePreboundEv", "dyld::mainExecutablePrebound()"},
-    {"_ZN4dyld14mainExecutableEv", "dyld::mainExecutable()"},
-    {"_ZN4dyld21findImageByMachHeaderEPK11mach_header", "dyld::findImageByMachHeader(mach_header const*)"},
-    {"_ZN4dyld26findImageContainingAddressEPKv", "dyld::findImageContainingAddress(void const*)"},
-    {"_ZN4dyld17clearErrorMessageEv", "dyld::clearErrorMessage()"},
-    {"_ZN4dyld15getErrorMessageEv", "dyld::getErrorMessage()"},
-    {"_ZN4dyld24registerUndefinedHandlerEPFvPKcE", "dyld::registerUndefinedHandler(void (*)(char const*))"},
-    {"_ZN4dyld19openSharedCacheFileEv", "dyld::openSharedCacheFile()"},
-    {"_ZN4dyld15setErrorMessageEPKc", "dyld::setErrorMessage(char const*)"},
-    {"_ZN4dyld22registerRemoveCallbackEPFvPK11mach_headerlE", "dyld::registerRemoveCallback(void (*)(mach_header const*, long))"},
-    {"_ZN4dyld13inSharedCacheEPKc", "dyld::inSharedCache(char const*)"},
-    {"_ZN4dyld15runInitializersEP11ImageLoader", "dyld::runInitializers(ImageLoader*)"},
-    {"_ZN4dyld27findCoalescedExportedSymbolEPKcPPKN11ImageLoader6SymbolEPPKS2_", "dyld::findCoalescedExportedSymbol(char const*, ImageLoader::Symbol const**, ImageLoader const**)"},
-    {"_ZN4dyld22flatFindExportedSymbolEPKcPPKN11ImageLoader6SymbolEPPKS2_", "dyld::flatFindExportedSymbol(char const*, ImageLoader::Symbol const**, ImageLoader const**)"},
-    {"_ZN4dyld15findLoadedImageERK4stat", "dyld::findLoadedImage(stat const&)"},
-    {"_ZN4dyld24initializeMainExecutableEv", "dyld::initializeMainExecutable()"},
-    {"_ZN4dyld4warnEPKcz", "dyld::warn(char const*, ...)"},
-    {"_ZN4dyld29processDyldEnvironmentVaribleEPKcS1_", "dyld::processDyldEnvironmentVarible(char const*, char const*)"},
-    {"_ZN4dyld3logEPKcz", "dyld::log(char const*, ...)"},
-    {"_ZN4dyld6throwfEPKcz", "dyld::throwf(char const*, ...)"},
-    {"_ZN4dyld9mkstringfEPKcz", "dyld::mkstringf(char const*, ...)"},
-    {"_ZN4dyld14addMappedRangeEP11ImageLoadermm", "dyld::addMappedRange(ImageLoader*, unsigned long, unsigned long)"},
-    {"_Z28coresymbolication_load_imageP25CSCppDyldSharedMemoryPagePK11ImageLoadery", "coresymbolication_load_image(CSCppDyldSharedMemoryPage*, ImageLoader const*, unsigned long long)"},
-    {"_Z30coresymbolication_unload_imageP25CSCppDyldSharedMemoryPagePK11ImageLoader", "coresymbolication_unload_image(CSCppDyldSharedMemoryPage*, ImageLoader const*)"},
-    {"_ZN4dyld18getCoalescedImagesEPP11ImageLoader", "dyld::getCoalescedImages(ImageLoader**)"},
-    {"_ZN4dyld25findImageContainingSymbolEPKv", "dyld::findImageContainingSymbol(void const*)"},
-    {"_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE", "dyld::registerAddCallback(void (*)(mach_header const*, long))"},
-    {"_ZN4dyld14forEachImageDoEPFvP11ImageLoaderPvES2_", "dyld::forEachImageDo(void (*)(ImageLoader*, void*), void*)"},
-    {"_ZN4dyld15getIndexedImageEj", "dyld::getIndexedImage(unsigned int)"},
-    {"_ZN4dyld13getImageCountEv", "dyld::getImageCount()"},
-    {"_ZN4dyld10validImageEPK11ImageLoader", "dyld::validImage(ImageLoader const*)"},
-    {"_ZN4dyld30flatFindExportedSymbolWithHintEPKcS1_PPKN11ImageLoader6SymbolEPPKS2_", "dyld::flatFindExportedSymbolWithHint(char const*, char const*, ImageLoader::Symbol const**, ImageLoader const**)"},
-    {"_ZN4dyld14loadFromMemoryEPKhyPKc", "dyld::loadFromMemory(unsigned char const*, unsigned long long, char const*)"},
-    {"_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE", "dyld::registerImageStateBatchChangeHandler(dyld_image_states, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*))"},
-    {"_ZN4dyld37registerImageStateSingleChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE", "dyld::registerImageStateSingleChangeHandler(dyld_image_states, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*))"},
-    {"_ZN4dyld4haltEPKc", "dyld::halt(char const*)"},
-    {"_ZN4dyld18fastBindLazySymbolEPP11ImageLoaderm", "dyld::fastBindLazySymbol(ImageLoader**, unsigned long)"},
-    {"_ZN4dyld14bindLazySymbolEPK11mach_headerPm", "dyld::bindLazySymbol(mach_header const*, unsigned long*)"},
-    {"_ZN4dyld14runTerminatorsEPv", "dyld::runTerminators(void*)"},
-    {"_ZN4dyld11removeImageEP11ImageLoader", "dyld::removeImage(ImageLoader*)"},
-    {"_ZN4dyld20garbageCollectImagesEv", "dyld::garbageCollectImages()"},
-    {"_ZN4dyld9preflightEP11ImageLoaderRKNS0_10RPathChainE", "dyld::preflight(ImageLoader*, ImageLoader::RPathChain const&)"},
-    {"_ZN4dyld4linkEP11ImageLoaderbRKNS0_10RPathChainE", "dyld::link(ImageLoader*, bool, ImageLoader::RPathChain const&)"},
-    {"_ZN4dyld10cloneImageEP11ImageLoader", "dyld::cloneImage(ImageLoader*)"},
-    {"_ZN4dyld4loadEPKcRKNS_11LoadContextE", "dyld::load(char const*, dyld::LoadContext const&)"},
-    {"_ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_", "dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**)"},
-    {"_ZNSt6vectorIN4dyld13RegisteredDOFESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS1_S3_EE", "std::vector<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> >::erase(__gnu_cxx::__normal_iterator<dyld::RegisteredDOF*, std::vector<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> > >)"},
-    {"_ZNSt12_Vector_baseIPKcSaIS1_EED2Ev", "std::_Vector_base<char const*, std::allocator<char const*> >::~_Vector_base()"},
-    {"_ZNSt6vectorIPKcSaIS1_EED2Ev", "std::vector<char const*, std::allocator<char const*> >::~vector()"},
-    {"_ZNSt12_Vector_baseIPFPKc17dyld_image_statesjPK15dyld_image_infoESaIS7_EED2Ev", "std::_Vector_base<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), std::allocator<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)> >::~_Vector_base()"},
-    {"_ZNSt6vectorIPFPKc17dyld_image_statesjPK15dyld_image_infoESaIS7_EED2Ev", "std::vector<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), std::allocator<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)> >::~vector()"},
-    {"_ZNSt12_Vector_baseIPFvPK11mach_headerlESaIS4_EED2Ev", "std::_Vector_base<void (*)(mach_header const*, long), std::allocator<void (*)(mach_header const*, long)> >::~_Vector_base()"},
-    {"_ZNSt6vectorIPFvPK11mach_headerlESaIS4_EED2Ev", "std::vector<void (*)(mach_header const*, long), std::allocator<void (*)(mach_header const*, long)> >::~vector()"},
-    {"_ZNSt12_Vector_baseIN4dyld13RegisteredDOFESaIS1_EED2Ev", "std::_Vector_base<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> >::~_Vector_base()"},
-    {"_ZNSt6vectorIN4dyld13RegisteredDOFESaIS1_EED2Ev", "std::vector<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> >::~vector()"},
-    {"_ZNSt12_Vector_baseIP11ImageLoaderSaIS1_EED2Ev", "std::_Vector_base<ImageLoader*, std::allocator<ImageLoader*> >::~_Vector_base()"},
-    {"_ZNSt6vectorIP11ImageLoaderSaIS1_EED2Ev", "std::vector<ImageLoader*, std::allocator<ImageLoader*> >::~vector()"},
-    {"_ZN9__gnu_cxx13new_allocatorIPFPKc17dyld_image_statesjPK15dyld_image_infoEE8allocateEmPKv", "__gnu_cxx::new_allocator<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)>::allocate(unsigned long, void const*)"},
-    {"_ZN9__gnu_cxx13new_allocatorIPFvPK11mach_headerlEE8allocateEmPKv", "__gnu_cxx::new_allocator<void (*)(mach_header const*, long)>::allocate(unsigned long, void const*)"},
-    {"_ZN9__gnu_cxx13new_allocatorIPKcE8allocateEmPKv", "__gnu_cxx::new_allocator<char const*>::allocate(unsigned long, void const*)"},
-    {"_ZN9__gnu_cxx13new_allocatorIP11ImageLoaderE8allocateEmPKv", "__gnu_cxx::new_allocator<ImageLoader*>::allocate(unsigned long, void const*)"},
-    {"_ZN9__gnu_cxx13new_allocatorIN4dyld13RegisteredDOFEE8allocateEmPKv", "__gnu_cxx::new_allocator<dyld::RegisteredDOF>::allocate(unsigned long, void const*)"},
-    {"_ZNSt6vectorIN4dyld13RegisteredDOFESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> >::_M_insert_aux(__gnu_cxx::__normal_iterator<dyld::RegisteredDOF*, std::vector<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> > >, dyld::RegisteredDOF const&)"},
-    {"_ZNSt6vectorIN4dyld13RegisteredDOFESaIS1_EE9push_backERKS1_", "std::vector<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> >::push_back(dyld::RegisteredDOF const&)"},
-    {"_ZSt18uninitialized_copyIPPFPKc17dyld_image_statesjPK15dyld_image_infoES8_ET0_T_SA_S9_", "char const* (**std::uninitialized_copy<char const* (**)(dyld_image_states, unsigned int, dyld_image_info const*), char const* (**)(dyld_image_states, unsigned int, dyld_image_info const*)>(char const* (**)(dyld_image_states, unsigned int, dyld_image_info const*), char const* (**)(dyld_image_states, unsigned int, dyld_image_info const*), char const* (**)(dyld_image_states, unsigned int, dyld_image_info const*)))(dyld_image_states, unsigned int, dyld_image_info const*)"},
-    {"_ZSt18uninitialized_copyIPPFvPK11mach_headerlES5_ET0_T_S7_S6_", "void (**std::uninitialized_copy<void (**)(mach_header const*, long), void (**)(mach_header const*, long)>(void (**)(mach_header const*, long), void (**)(mach_header const*, long), void (**)(mach_header const*, long)))(mach_header const*, long)"},
-    {"_ZSt18uninitialized_copyIPPKcS2_ET0_T_S4_S3_", "char const** std::uninitialized_copy<char const**, char const**>(char const**, char const**, char const**)"},
-    {"_ZNSt15__copy_backwardILb1ESt26random_access_iterator_tagE8__copy_bIPFPKc17dyld_image_statesjPK15dyld_image_infoEEEPT_PKSB_SE_SC_", "char const* (**std::__copy_backward<true, std::random_access_iterator_tag>::__copy_b<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)>(char const* (* const*)(dyld_image_states, unsigned int, dyld_image_info const*), char const* (* const*)(dyld_image_states, unsigned int, dyld_image_info const*), char const* (**)(dyld_image_states, unsigned int, dyld_image_info const*)))(dyld_image_states, unsigned int, dyld_image_info const*)"},
-    {"_ZNSt6vectorIPFPKc17dyld_image_statesjPK15dyld_image_infoESaIS7_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS7_S9_EERKS7_", "std::vector<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), std::allocator<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char const* (**)(dyld_image_states, unsigned int, dyld_image_info const*), std::vector<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), std::allocator<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)> > >, char const* (* const&)(dyld_image_states, unsigned int, dyld_image_info const*))"},
-    {"_ZNSt6vectorIPFPKc17dyld_image_statesjPK15dyld_image_infoESaIS7_EE6insertEN9__gnu_cxx17__normal_iteratorIPS7_S9_EERKS7_", "std::vector<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), std::allocator<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)> >::insert(__gnu_cxx::__normal_iterator<char const* (**)(dyld_image_states, unsigned int, dyld_image_info const*), std::vector<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), std::allocator<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)> > >, char const* (* const&)(dyld_image_states, unsigned int, dyld_image_info const*))"},
-    {"_ZNSt6vectorIPFPKc17dyld_image_statesjPK15dyld_image_infoESaIS7_EE9push_backERKS7_", "std::vector<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), std::allocator<char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)> >::push_back(char const* (* const&)(dyld_image_states, unsigned int, dyld_image_info const*))"},
-    {"_ZNSt15__copy_backwardILb1ESt26random_access_iterator_tagE8__copy_bIPFvPK11mach_headerlEEEPT_PKS8_SB_S9_", "void (**std::__copy_backward<true, std::random_access_iterator_tag>::__copy_b<void (*)(mach_header const*, long)>(void (* const*)(mach_header const*, long), void (* const*)(mach_header const*, long), void (**)(mach_header const*, long)))(mach_header const*, long)"},
-    {"_ZNSt6vectorIPFvPK11mach_headerlESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<void (*)(mach_header const*, long), std::allocator<void (*)(mach_header const*, long)> >::_M_insert_aux(__gnu_cxx::__normal_iterator<void (**)(mach_header const*, long), std::vector<void (*)(mach_header const*, long), std::allocator<void (*)(mach_header const*, long)> > >, void (* const&)(mach_header const*, long))"},
-    {"_ZNSt6vectorIPFvPK11mach_headerlESaIS4_EE9push_backERKS4_", "std::vector<void (*)(mach_header const*, long), std::allocator<void (*)(mach_header const*, long)> >::push_back(void (* const&)(mach_header const*, long))"},
-    {"_ZNSt15__copy_backwardILb1ESt26random_access_iterator_tagE8__copy_bIPKcEEPT_PKS5_S8_S6_", "char const** std::__copy_backward<true, std::random_access_iterator_tag>::__copy_b<char const*>(char const* const*, char const* const*, char const**)"},
-    {"_ZNSt6vectorIPKcSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<char const*, std::allocator<char const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char const**, std::vector<char const*, std::allocator<char const*> > >, char const* const&)"},
-    {"_ZNSt6vectorIPKcSaIS1_EE9push_backERKS1_", "std::vector<char const*, std::allocator<char const*> >::push_back(char const* const&)"},
-    {"_ZNSt15__copy_backwardILb1ESt26random_access_iterator_tagE8__copy_bIP11ImageLoaderEEPT_PKS5_S8_S6_", "ImageLoader** std::__copy_backward<true, std::random_access_iterator_tag>::__copy_b<ImageLoader*>(ImageLoader* const*, ImageLoader* const*, ImageLoader**)"},
-    {"_ZNSt6vectorIPFvPK11mach_headerlESaIS4_EE20_M_allocate_and_copyIPS4_EES8_mT_S9_", "void (**std::vector<void (*)(mach_header const*, long), std::allocator<void (*)(mach_header const*, long)> >::_M_allocate_and_copy<void (**)(mach_header const*, long)>(unsigned long, void (**)(mach_header const*, long), void (**)(mach_header const*, long)))(mach_header const*, long)"},
-    {"_ZNSt6vectorIPFvPK11mach_headerlESaIS4_EE7reserveEm", "std::vector<void (*)(mach_header const*, long), std::allocator<void (*)(mach_header const*, long)> >::reserve(unsigned long)"},
-    {"_ZNSt6vectorIN4dyld13RegisteredDOFESaIS1_EE20_M_allocate_and_copyIPS1_EES5_mT_S6_", "dyld::RegisteredDOF* std::vector<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> >::_M_allocate_and_copy<dyld::RegisteredDOF*>(unsigned long, dyld::RegisteredDOF*, dyld::RegisteredDOF*)"},
-    {"_ZNSt6vectorIN4dyld13RegisteredDOFESaIS1_EE7reserveEm", "std::vector<dyld::RegisteredDOF, std::allocator<dyld::RegisteredDOF> >::reserve(unsigned long)"},
-    {"_ZSt18uninitialized_copyIPP11ImageLoaderS2_ET0_T_S4_S3_", "ImageLoader** std::uninitialized_copy<ImageLoader**, ImageLoader**>(ImageLoader**, ImageLoader**, ImageLoader**)"},
-    {"_ZNSt6vectorIP11ImageLoaderSaIS1_EE20_M_allocate_and_copyIPS1_EES5_mT_S6_", "ImageLoader** std::vector<ImageLoader*, std::allocator<ImageLoader*> >::_M_allocate_and_copy<ImageLoader**>(unsigned long, ImageLoader**, ImageLoader**)"},
-    {"_ZNSt6vectorIP11ImageLoaderSaIS1_EE7reserveEm", "std::vector<ImageLoader*, std::allocator<ImageLoader*> >::reserve(unsigned long)"},
-    {"_ZNSt6vectorIP11ImageLoaderSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<ImageLoader*, std::allocator<ImageLoader*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<ImageLoader**, std::vector<ImageLoader*, std::allocator<ImageLoader*> > >, ImageLoader* const&)"},
-    {"_ZNSt6vectorIP11ImageLoaderSaIS1_EE9push_backERKS1_", "std::vector<ImageLoader*, std::allocator<ImageLoader*> >::push_back(ImageLoader* const&)"},
-    {"_ZNSt6vectorIP11ImageLoaderSaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS1_S3_EE", "std::vector<ImageLoader*, std::allocator<ImageLoader*> >::erase(__gnu_cxx::__normal_iterator<ImageLoader**, std::vector<ImageLoader*, std::allocator<ImageLoader*> > >)"},
-    {"_Z18lookupDyldFunctionPKcPm", "lookupDyldFunction(char const*, unsigned long*)"},
-    {"_ZNSt12_Vector_baseIP19__NSObjectFileImageSaIS1_EED2Ev", "std::_Vector_base<__NSObjectFileImage*, std::allocator<__NSObjectFileImage*> >::~_Vector_base()"},
-    {"_ZNSt6vectorIP19__NSObjectFileImageSaIS1_EED2Ev", "std::vector<__NSObjectFileImage*, std::allocator<__NSObjectFileImage*> >::~vector()"},
-    {"_ZNSt15__copy_backwardILb1ESt26random_access_iterator_tagE8__copy_bIP19__NSObjectFileImageEEPT_PKS5_S8_S6_", "__NSObjectFileImage** std::__copy_backward<true, std::random_access_iterator_tag>::__copy_b<__NSObjectFileImage*>(__NSObjectFileImage* const*, __NSObjectFileImage* const*, __NSObjectFileImage**)"},
-    {"_ZN9__gnu_cxx13new_allocatorIP19__NSObjectFileImageE8allocateEmPKv", "__gnu_cxx::new_allocator<__NSObjectFileImage*>::allocate(unsigned long, void const*)"},
-    {"_ZNSt6vectorIP19__NSObjectFileImageSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<__NSObjectFileImage*, std::allocator<__NSObjectFileImage*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<__NSObjectFileImage**, std::vector<__NSObjectFileImage*, std::allocator<__NSObjectFileImage*> > >, __NSObjectFileImage* const&)"},
-    {"_ZNSt6vectorIP19__NSObjectFileImageSaIS1_EE9push_backERKS1_", "std::vector<__NSObjectFileImage*, std::allocator<__NSObjectFileImage*> >::push_back(__NSObjectFileImage* const&)"},
-    {"_ZNSt6vectorIP19__NSObjectFileImageSaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS1_S3_EE", "std::vector<__NSObjectFileImage*, std::allocator<__NSObjectFileImage*> >::erase(__gnu_cxx::__normal_iterator<__NSObjectFileImage**, std::vector<__NSObjectFileImage*, std::allocator<__NSObjectFileImage*> > >)"},
-    {"_Z19setAlImageInfosHaltPKcm", "setAlImageInfosHalt(char const*, unsigned long)"},
-    {"_Z24removeImageFromAllImagesPK11mach_header", "removeImageFromAllImages(mach_header const*)"},
-    {"_Z20addImagesToAllImagesjPK15dyld_image_info", "addImagesToAllImages(unsigned int, dyld_image_info const*)"},
-    {"_ZNSt6vectorI15dyld_image_infoSaIS0_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS0_S2_EE", "std::vector<dyld_image_info, std::allocator<dyld_image_info> >::erase(__gnu_cxx::__normal_iterator<dyld_image_info*, std::vector<dyld_image_info, std::allocator<dyld_image_info> > >)"},
-    {"_ZNSt12_Vector_baseI15dyld_image_infoSaIS0_EED2Ev", "std::_Vector_base<dyld_image_info, std::allocator<dyld_image_info> >::~_Vector_base()"},
-    {"_ZNSt6vectorI15dyld_image_infoSaIS0_EED2Ev", "std::vector<dyld_image_info, std::allocator<dyld_image_info> >::~vector()"},
-    {"_ZN9__gnu_cxx13new_allocatorI15dyld_image_infoE8allocateEmPKv", "__gnu_cxx::new_allocator<dyld_image_info>::allocate(unsigned long, void const*)"},
-    {"_ZNSt6vectorI15dyld_image_infoSaIS0_EE20_M_allocate_and_copyIPS0_EES4_mT_S5_", "dyld_image_info* std::vector<dyld_image_info, std::allocator<dyld_image_info> >::_M_allocate_and_copy<dyld_image_info*>(unsigned long, dyld_image_info*, dyld_image_info*)"},
-    {"_ZNSt6vectorI15dyld_image_infoSaIS0_EE7reserveEm", "std::vector<dyld_image_info, std::allocator<dyld_image_info> >::reserve(unsigned long)"},
-    {"_ZNSt6vectorI15dyld_image_infoSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_", "std::vector<dyld_image_info, std::allocator<dyld_image_info> >::_M_insert_aux(__gnu_cxx::__normal_iterator<dyld_image_info*, std::vector<dyld_image_info, std::allocator<dyld_image_info> > >, dyld_image_info const&)"},
-    {"_ZNSt6vectorI15dyld_image_infoSaIS0_EE9push_backERKS0_", "std::vector<dyld_image_info, std::allocator<dyld_image_info> >::push_back(dyld_image_info const&)"},
-    {"_ZN10__cxxabiv112__unexpectedEPFvvE", "__cxxabiv1::__unexpected(void (*)())"},
-    {"_ZN10__cxxabiv111__terminateEPFvvE", "__cxxabiv1::__terminate(void (*)())"},
-    {"_ZSt10unexpectedv", "std::unexpected()"},
-    {"_ZSt9terminatev", "std::terminate()"},
-    {"_ZN11ImageLoaderC2EPKcj", "ImageLoader::ImageLoader(char const*, unsigned int)"},
-    {"_ZN11ImageLoader11deleteImageEPS_", "ImageLoader::deleteImage(ImageLoader*)"},
-    {"_ZN11ImageLoader11setFileInfoEiyl", "ImageLoader::setFileInfo(int, unsigned long long, long)"},
-    {"_ZN11ImageLoader9setMappedERKNS_11LinkContextE", "ImageLoader::setMapped(ImageLoader::LinkContext const&)"},
-    {"_ZNK11ImageLoader7compareEPKS_", "ImageLoader::compare(ImageLoader const*) const"},
-    {"_ZN11ImageLoader4hashEPKc", "ImageLoader::hash(char const*)"},
-    {"_ZNK11ImageLoader16matchInstallPathEv", "ImageLoader::matchInstallPath() const"},
-    {"_ZN11ImageLoader19setMatchInstallPathEb", "ImageLoader::setMatchInstallPath(bool)"},
-    {"_ZNK11ImageLoader9statMatchERK4stat", "ImageLoader::statMatch(stat const&) const"},
-    {"_ZN11ImageLoader14setLeaveMappedEv", "ImageLoader::setLeaveMapped()"},
-    {"_ZN11ImageLoader14setHideExportsEb", "ImageLoader::setHideExports(bool)"},
-    {"_ZNK11ImageLoader16hasHiddenExportsEv", "ImageLoader::hasHiddenExports() const"},
-    {"_ZNK11ImageLoader8isLinkedEv", "ImageLoader::isLinked() const"},
-    {"_ZNK11ImageLoader12lastModifiedEv", "ImageLoader::lastModified() const"},
-    {"_ZNK11ImageLoader24overlapsWithAddressRangeEPKvS1_", "ImageLoader::overlapsWithAddressRange(void const*, void const*) const"},
-    {"_ZNK11ImageLoader16getMappedRegionsERPNS_12MappedRegionE", "ImageLoader::getMappedRegions(ImageLoader::MappedRegion*&) const"},
-    {"_ZNK11ImageLoader41findExportedSymbolInDependentImagesExceptEPKcPPKS_RS4_S4_S4_", "ImageLoader::findExportedSymbolInDependentImagesExcept(char const*, ImageLoader const**, ImageLoader const**&, ImageLoader const**, ImageLoader const**) const"},
-    {"_ZN11ImageLoader29decrementDlopenReferenceCountEv", "ImageLoader::decrementDlopenReferenceCount()"},
-    {"_ZN11ImageLoader19bindAllLazyPointersERKNS_11LinkContextEb", "ImageLoader::bindAllLazyPointers(ImageLoader::LinkContext const&, bool)"},
-    {"_ZNK11ImageLoader35allDependentLibrariesAsWhenPreBoundEv", "ImageLoader::allDependentLibrariesAsWhenPreBound() const"},
-    {"_ZN11ImageLoader20recursiveUpdateDepthEj", "ImageLoader::recursiveUpdateDepth(unsigned int)"},
-    {"_ZN11ImageLoader23recursiveGetDOFSectionsERKNS_11LinkContextERSt6vectorINS_7DOFInfoESaIS4_EE", "ImageLoader::recursiveGetDOFSections(ImageLoader::LinkContext const&, std::vector<ImageLoader::DOFInfo, std::allocator<ImageLoader::DOFInfo> >&)"},
-    {"_ZNK11ImageLoader12getShortNameEv", "ImageLoader::getShortName() const"},
-    {"_ZN11ImageLoader9addSuffixEPKcS1_Pc", "ImageLoader::addSuffix(char const*, char const*, char*)"},
-    {"_ZN11ImageLoader15printStatisticsEj", "ImageLoader::printStatistics(unsigned int)"},
-    {"_ZN11ImageLoader13recursiveBindERKNS_11LinkContextEb", "ImageLoader::recursiveBind(ImageLoader::LinkContext const&, bool)"},
-    {"_ZN11ImageLoader25recursiveApplyInterposingERKNS_11LinkContextE", "ImageLoader::recursiveApplyInterposing(ImageLoader::LinkContext const&)"},
-    {"_ZN11ImageLoader16applyInterposingERKNS_11LinkContextE", "ImageLoader::applyInterposing(ImageLoader::LinkContext const&)"},
-    {"_ZN11ImageLoader15recursiveRebaseERKNS_11LinkContextE", "ImageLoader::recursiveRebase(ImageLoader::LinkContext const&)"},
-    {"_ZNK11ImageLoader42findExportedSymbolInImageOrDependentImagesEPKcRKNS_11LinkContextEPPKS_", "ImageLoader::findExportedSymbolInImageOrDependentImages(char const*, ImageLoader::LinkContext const&, ImageLoader const**) const"},
-    {"_ZNK11ImageLoader35findExportedSymbolInDependentImagesEPKcRKNS_11LinkContextEPPKS_", "ImageLoader::findExportedSymbolInDependentImages(char const*, ImageLoader::LinkContext const&, ImageLoader const**) const"},
-    {"_ZN11ImageLoader8reExportEPS_", "ImageLoader::reExport(ImageLoader*)"},
-    {"_ZN11ImageLoader19addDynamicReferenceEPKS_", "ImageLoader::addDynamicReference(ImageLoader const*)"},
-    {"_ZN11ImageLoader14setPathUnownedEPKc", "ImageLoader::setPathUnowned(char const*)"},
-    {"_ZN11ImageLoader7setPathEPKc", "ImageLoader::setPath(char const*)"},
-    {"_ZN11ImageLoaderD0Ev", "ImageLoader::~ImageLoader()"},
-    {"_ZNK11ImageLoader15containsAddressEPKv", "ImageLoader::containsAddress(void const*) const"},
-    {"_ZN11ImageLoaderD2Ev", "ImageLoader::~ImageLoader()"},
-    {"_ZN11ImageLoaderD1Ev", "ImageLoader::~ImageLoader()"},
-    {"_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj", "ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int)"},
-    {"_ZN11ImageLoader15runInitializersERKNS_11LinkContextE", "ImageLoader::runInitializers(ImageLoader::LinkContext const&)"},
-    {"_ZN11ImageLoader8weakBindERKNS_11LinkContextE", "ImageLoader::weakBind(ImageLoader::LinkContext const&)"},
-    {"_ZN11ImageLoader22recursiveLoadLibrariesERKNS_11LinkContextEbRKNS_10RPathChainE", "ImageLoader::recursiveLoadLibraries(ImageLoader::LinkContext const&, bool, ImageLoader::RPathChain const&)"},
-    {"_ZN11ImageLoader4linkERKNS_11LinkContextEbbRKNS_10RPathChainE", "ImageLoader::link(ImageLoader::LinkContext const&, bool, bool, ImageLoader::RPathChain const&)"},
-    {"_ZNSt12_Vector_baseIN11ImageLoader7DOFInfoESaIS1_EED2Ev", "std::_Vector_base<ImageLoader::DOFInfo, std::allocator<ImageLoader::DOFInfo> >::~_Vector_base()"},
-    {"_ZNSt6vectorIN11ImageLoader7DOFInfoESaIS1_EED2Ev", "std::vector<ImageLoader::DOFInfo, std::allocator<ImageLoader::DOFInfo> >::~vector()"},
-    {"_ZNSt8_Rb_treeIPK11ImageLoaderS2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<ImageLoader const*, ImageLoader const*, std::_Identity<ImageLoader const*>, std::less<ImageLoader const*>, std::allocator<ImageLoader const*> >::_M_erase(std::_Rb_tree_node<ImageLoader const*>*)"},
-    {"_ZNSt12_Vector_baseIN11ImageLoader14InterposeTupleESaIS1_EED2Ev", "std::_Vector_base<ImageLoader::InterposeTuple, std::allocator<ImageLoader::InterposeTuple> >::~_Vector_base()"},
-    {"_ZNSt6vectorIN11ImageLoader14InterposeTupleESaIS1_EED2Ev", "std::vector<ImageLoader::InterposeTuple, std::allocator<ImageLoader::InterposeTuple> >::~vector()"},
-    {"_ZNSt12_Vector_baseISt4pairIP11ImageLoaderS2_ESaIS3_EED2Ev", "std::_Vector_base<std::pair<ImageLoader*, ImageLoader*>, std::allocator<std::pair<ImageLoader*, ImageLoader*> > >::~_Vector_base()"},
-    {"_ZNSt6vectorISt4pairIP11ImageLoaderS2_ESaIS3_EED2Ev", "std::vector<std::pair<ImageLoader*, ImageLoader*>, std::allocator<std::pair<ImageLoader*, ImageLoader*> > >::~vector()"},
-    {"_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIPK11ImageLoaderEE8allocateEmPKv", "__gnu_cxx::new_allocator<std::_Rb_tree_node<ImageLoader const*> >::allocate(unsigned long, void const*)"},
-    {"_ZNSt8_Rb_treeIPK11ImageLoaderS2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE14_M_create_nodeERKS2_", "std::_Rb_tree<ImageLoader const*, ImageLoader const*, std::_Identity<ImageLoader const*>, std::less<ImageLoader const*>, std::allocator<ImageLoader const*> >::_M_create_node(ImageLoader const* const&)"},
-    {"_ZN9__gnu_cxx13new_allocatorISt4pairIP11ImageLoaderS3_EE8allocateEmPKv", "__gnu_cxx::new_allocator<std::pair<ImageLoader*, ImageLoader*> >::allocate(unsigned long, void const*)"},
-    {"_ZNSt6vectorISt4pairIP11ImageLoaderS2_ESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<std::pair<ImageLoader*, ImageLoader*>, std::allocator<std::pair<ImageLoader*, ImageLoader*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<ImageLoader*, ImageLoader*>*, std::vector<std::pair<ImageLoader*, ImageLoader*>, std::allocator<std::pair<ImageLoader*, ImageLoader*> > > >, std::pair<ImageLoader*, ImageLoader*> const&)"},
-    {"_ZNSt6vectorISt4pairIP11ImageLoaderS2_ESaIS3_EE9push_backERKS3_", "std::vector<std::pair<ImageLoader*, ImageLoader*>, std::allocator<std::pair<ImageLoader*, ImageLoader*> > >::push_back(std::pair<ImageLoader*, ImageLoader*> const&)"},
-    {"_ZNSt8_Rb_treeIPK11ImageLoaderS2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE9_M_insertEPSt18_Rb_tree_node_baseSA_RKS2_", "std::_Rb_tree<ImageLoader const*, ImageLoader const*, std::_Identity<ImageLoader const*>, std::less<ImageLoader const*>, std::allocator<ImageLoader const*> >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, ImageLoader const* const&)"},
-    {"_ZNSt8_Rb_treeIPK11ImageLoaderS2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<ImageLoader const*, ImageLoader const*, std::_Identity<ImageLoader const*>, std::less<ImageLoader const*>, std::allocator<ImageLoader const*> >::_M_insert_unique(ImageLoader const* const&)"},
-    {"_ZNK16ImageLoaderMachO12segmentCountEv", "ImageLoaderMachO::segmentCount() const"},
-    {"_ZN16ImageLoaderMachO22segHasTrailingZeroFillEj", "ImageLoaderMachO::segHasTrailingZeroFill(unsigned int)"},
-    {"_ZNK16ImageLoaderMachO19segActualEndAddressEj", "ImageLoaderMachO::segActualEndAddress(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO25segmentsMustSlideTogetherEv", "ImageLoaderMachO::segmentsMustSlideTogether() const"},
-    {"_ZNK16ImageLoaderMachO16segmentsCanSlideEv", "ImageLoaderMachO::segmentsCanSlide() const"},
-    {"_ZNK16ImageLoaderMachO8isBundleEv", "ImageLoaderMachO::isBundle() const"},
-    {"_ZNK16ImageLoaderMachO7isDylibEv", "ImageLoaderMachO::isDylib() const"},
-    {"_ZNK16ImageLoaderMachO12isExecutableEv", "ImageLoaderMachO::isExecutable() const"},
-    {"_ZNK16ImageLoaderMachO31isPositionIndependentExecutableEv", "ImageLoaderMachO::isPositionIndependentExecutable() const"},
-    {"_ZNK16ImageLoaderMachO9forceFlatEv", "ImageLoaderMachO::forceFlat() const"},
-    {"_ZNK16ImageLoaderMachO21usesTwoLevelNameSpaceEv", "ImageLoaderMachO::usesTwoLevelNameSpace() const"},
-    {"_ZNK16ImageLoaderMachO13isPrebindableEv", "ImageLoaderMachO::isPrebindable() const"},
-    {"_ZNK16ImageLoaderMachO19hasCoalescedExportsEv", "ImageLoaderMachO::hasCoalescedExports() const"},
-    {"_ZN16ImageLoaderMachO8setSlideEl", "ImageLoaderMachO::setSlide(long)"},
-    {"_ZNK16ImageLoaderMachO14getInstallPathEv", "ImageLoaderMachO::getInstallPath() const"},
-    {"_ZNK16ImageLoaderMachO7getMainEv", "ImageLoaderMachO::getMain() const"},
-    {"_ZN16ImageLoaderMachO16doGetLibraryInfoEv", "ImageLoaderMachO::doGetLibraryInfo()"},
-    {"_ZNK16ImageLoaderMachO21getExportedSymbolInfoEPKN11ImageLoader6SymbolE", "ImageLoaderMachO::getExportedSymbolInfo(ImageLoader::Symbol const*) const"},
-    {"_ZNK16ImageLoaderMachO21getExportedSymbolNameEPKN11ImageLoader6SymbolE", "ImageLoaderMachO::getExportedSymbolName(ImageLoader::Symbol const*) const"},
-    {"_ZNK16ImageLoaderMachO22getExportedSymbolCountEv", "ImageLoaderMachO::getExportedSymbolCount() const"},
-    {"_ZNK16ImageLoaderMachO24getIndexedExportedSymbolEj", "ImageLoaderMachO::getIndexedExportedSymbol(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO22getImportedSymbolCountEv", "ImageLoaderMachO::getImportedSymbolCount() const"},
-    {"_ZNK16ImageLoaderMachO24getIndexedImportedSymbolEj", "ImageLoaderMachO::getIndexedImportedSymbol(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO21getImportedSymbolInfoEPKN11ImageLoader6SymbolE", "ImageLoaderMachO::getImportedSymbolInfo(ImageLoader::Symbol const*) const"},
-    {"_ZNK16ImageLoaderMachO21getImportedSymbolNameEPKN11ImageLoader6SymbolE", "ImageLoaderMachO::getImportedSymbolName(ImageLoader::Symbol const*) const"},
-    {"_ZN16ImageLoaderMachO13getUnwindInfoEP20dyld_unwind_sections", "ImageLoaderMachO::getUnwindInfo(dyld_unwind_sections*)"},
-    {"_ZN16ImageLoaderMachO11findSectionEPKvPPKcS4_Pm", "ImageLoaderMachO::findSection(void const*, char const**, char const**, unsigned long*)"},
-    {"_ZNK16ImageLoaderMachO10machHeaderEv", "ImageLoaderMachO::machHeader() const"},
-    {"_ZNK16ImageLoaderMachO8getSlideEv", "ImageLoaderMachO::getSlide() const"},
-    {"_ZNK16ImageLoaderMachO17lookupProgramVarsERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::lookupProgramVars(ImageLoader::LinkContext const&) const"},
-    {"_ZN16ImageLoaderMachO19needsInitializationEv", "ImageLoaderMachO::needsInitialization()"},
-    {"_ZN16ImageLoaderMachO16needsTerminationEv", "ImageLoaderMachO::needsTermination()"},
-    {"_ZN16ImageLoaderMachO10segProtectEjRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::segProtect(unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO11doImageInitERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::doImageInit(ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&)"},
-    {"_ZNK16ImageLoaderMachO16getSymbolAddressEPKN11ImageLoader6SymbolEPKS0_RKNS0_11LinkContextE", "ImageLoaderMachO::getSymbolAddress(ImageLoader::Symbol const*, ImageLoader const*, ImageLoader::LinkContext const&) const"},
-    {"_ZNK16ImageLoaderMachO24getExportedSymbolAddressEPKN11ImageLoader6SymbolERKNS0_11LinkContextEPKS0_", "ImageLoaderMachO::getExportedSymbolAddress(ImageLoader::Symbol const*, ImageLoader::LinkContext const&, ImageLoader const*) const"},
-    {"_ZN16ImageLoaderMachO19throwSymbolNotFoundEPKcS1_S1_", "ImageLoaderMachO::throwSymbolNotFound(char const*, char const*, char const*)"},
-    {"_ZN16ImageLoaderMachO21reserveAnAddressRangeEmRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::reserveAnAddressRange(unsigned long, ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO23setupLazyPointerHandlerERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::setupLazyPointerHandler(ImageLoader::LinkContext const&)"},
-    {"_ZNK16ImageLoaderMachO6getEndEv", "ImageLoaderMachO::getEnd() const"},
-    {"_ZN16ImageLoaderMachO17getSectionContentEPKcS1_PPvPm", "ImageLoaderMachO::getSectionContent(char const*, char const*, void**, unsigned long*)"},
-    {"_ZN16ImageLoaderMachO13parseLoadCmdsEv", "ImageLoaderMachO::parseLoadCmds()"},
-    {"_ZN16ImageLoaderMachO15printStatisticsEj", "ImageLoaderMachO::printStatistics(unsigned int)"},
-    {"_ZN16ImageLoaderMachO12bindLocationERKN11ImageLoader11LinkContextEmmPKS0_hPKclS7_", "ImageLoaderMachO::bindLocation(ImageLoader::LinkContext const&, unsigned long, unsigned long, ImageLoader const*, unsigned char, char const*, long, char const*)"},
-    {"_ZN16ImageLoaderMachO16doGetDOFSectionsERKN11ImageLoader11LinkContextERSt6vectorINS0_7DOFInfoESaIS5_EE", "ImageLoaderMachO::doGetDOFSections(ImageLoader::LinkContext const&, std::vector<ImageLoader::DOFInfo, std::allocator<ImageLoader::DOFInfo> >&)"},
-    {"_ZNK16ImageLoaderMachO16usablePrebindingERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::usablePrebinding(ImageLoader::LinkContext const&) const"},
-    {"_ZNK16ImageLoaderMachO7getUUIDEPh", "ImageLoaderMachO::getUUID(unsigned char*) const"},
-    {"_ZN16ImageLoaderMachO26needsAddedLibSystemDepencyEjPK12macho_header", "ImageLoaderMachO::needsAddedLibSystemDepency(unsigned int, macho_header const*)"},
-    {"_ZN16ImageLoaderMachO23doGetDependentLibrariesEPN11ImageLoader20DependentLibraryInfoE", "ImageLoaderMachO::doGetDependentLibraries(ImageLoader::DependentLibraryInfo*)"},
-    {"_ZN16ImageLoaderMachO17sniffLoadCommandsEPK12macho_headerPKcPbPjS6_", "ImageLoaderMachO::sniffLoadCommands(macho_header const*, char const*, bool*, unsigned int*, unsigned int*)"},
-    {"_ZNK16ImageLoaderMachO24participatesInCoalescingEv", "ImageLoaderMachO::participatesInCoalescing() const"},
-    {"_ZN16ImageLoaderMachO12preFetchDATAEiyRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::preFetchDATA(int, unsigned long long, ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO13UnmapSegmentsEv", "ImageLoaderMachO::UnmapSegments()"},
-    {"_ZN16ImageLoaderMachO7destroyEv", "ImageLoaderMachO::destroy()"},
-    {"_ZN16ImageLoaderMachO21instantiateFromMemoryEPKcPK12macho_headeryRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::instantiateFromMemory(char const*, macho_header const*, unsigned long long, ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO20instantiateFromCacheEPK12macho_headerPKcRK4statRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::instantiateFromCache(macho_header const*, char const*, stat const&, ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO19instantiateFromFileEPKciPKhyyRK4statRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::instantiateFromFile(char const*, int, unsigned char const*, unsigned long long, unsigned long long, stat const&, ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO25instantiateMainExecutableEPK12macho_headermPKcRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::instantiateMainExecutable(macho_header const*, unsigned long, char const*, ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachOC2EPK12macho_headerPKcjPjj", "ImageLoaderMachO::ImageLoaderMachO(macho_header const*, char const*, unsigned int, unsigned int*, unsigned int)"},
-    {"_ZN16ImageLoaderMachO13doTerminationERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::doTermination(ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO8doRebaseERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::doRebase(ImageLoader::LinkContext const&)"},
-    {"_ZNK16ImageLoaderMachO9getRPathsERKN11ImageLoader11LinkContextERSt6vectorIPKcSaIS6_EE", "ImageLoaderMachO::getRPaths(ImageLoader::LinkContext const&, std::vector<char const*, std::allocator<char const*> >&) const"},
-    {"_ZN16ImageLoaderMachO19registerInterposingEv", "ImageLoaderMachO::registerInterposing()"},
-    {"_ZNK16ImageLoaderMachO18findExportedSymbolEPKcbPPK11ImageLoader", "ImageLoaderMachO::findExportedSymbol(char const*, bool, ImageLoader const**) const"},
-    {"_ZN16ImageLoaderMachO22assignSegmentAddressesERKN11ImageLoader11LinkContextE", "ImageLoaderMachO::assignSegmentAddresses(ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO11mapSegmentsEPKvyRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::mapSegments(void const*, unsigned long long, ImageLoader::LinkContext const&)"},
-    {"_ZN16ImageLoaderMachO11mapSegmentsEiyyyRKN11ImageLoader11LinkContextE", "ImageLoaderMachO::mapSegments(int, unsigned long long, unsigned long long, unsigned long long, ImageLoader::LinkContext const&)"},
-    {"_ZNK16ImageLoaderMachO23segPreferredLoadAddressEj", "ImageLoaderMachO::segPreferredLoadAddress(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO26segHasPreferredLoadAddressEj", "ImageLoaderMachO::segHasPreferredLoadAddress(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO15segUnaccessibleEj", "ImageLoaderMachO::segUnaccessible(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO13segExecutableEj", "ImageLoaderMachO::segExecutable(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO20segActualLoadAddressEj", "ImageLoaderMachO::segActualLoadAddress(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO7segSizeEj", "ImageLoaderMachO::segSize(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO7segNameEj", "ImageLoaderMachO::segName(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO12segWriteableEj", "ImageLoaderMachO::segWriteable(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO11segReadableEj", "ImageLoaderMachO::segReadable(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO13segFileOffsetEj", "ImageLoaderMachO::segFileOffset(unsigned int) const"},
-    {"_ZNK16ImageLoaderMachO11segFileSizeEj", "ImageLoaderMachO::segFileSize(unsigned int) const"},
-    {"_ZN16ImageLoaderMachOD2Ev", "ImageLoaderMachO::~ImageLoaderMachO()"},
-    {"_ZN16ImageLoaderMachOD1Ev", "ImageLoaderMachO::~ImageLoaderMachO()"},
-    {"_ZN16ImageLoaderMachOD0Ev", "ImageLoaderMachO::~ImageLoaderMachO()"},
-    {"_ZN9__gnu_cxx13new_allocatorIN11ImageLoader7DOFInfoEE8allocateEmPKv", "__gnu_cxx::new_allocator<ImageLoader::DOFInfo>::allocate(unsigned long, void const*)"},
-    {"_ZN9__gnu_cxx13new_allocatorIN11ImageLoader14InterposeTupleEE8allocateEmPKv", "__gnu_cxx::new_allocator<ImageLoader::InterposeTuple>::allocate(unsigned long, void const*)"},
-    {"_ZNSt6vectorIN11ImageLoader7DOFInfoESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<ImageLoader::DOFInfo, std::allocator<ImageLoader::DOFInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<ImageLoader::DOFInfo*, std::vector<ImageLoader::DOFInfo, std::allocator<ImageLoader::DOFInfo> > >, ImageLoader::DOFInfo const&)"},
-    {"_ZNSt6vectorIN11ImageLoader7DOFInfoESaIS1_EE9push_backERKS1_", "std::vector<ImageLoader::DOFInfo, std::allocator<ImageLoader::DOFInfo> >::push_back(ImageLoader::DOFInfo const&)"},
-    {"_ZNSt6vectorIN11ImageLoader14InterposeTupleESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<ImageLoader::InterposeTuple, std::allocator<ImageLoader::InterposeTuple> >::_M_insert_aux(__gnu_cxx::__normal_iterator<ImageLoader::InterposeTuple*, std::vector<ImageLoader::InterposeTuple, std::allocator<ImageLoader::InterposeTuple> > >, ImageLoader::InterposeTuple const&)"},
-    {"_ZNSt6vectorIN11ImageLoader14InterposeTupleESaIS1_EE9push_backERKS1_", "std::vector<ImageLoader::InterposeTuple, std::allocator<ImageLoader::InterposeTuple> >::push_back(ImageLoader::InterposeTuple const&)"},
-    {"_ZNK23ImageLoaderMachOClassic21segmentCommandOffsetsEv", "ImageLoaderMachOClassic::segmentCommandOffsets() const"},
-    {"_ZNK23ImageLoaderMachOClassic8libImageEj", "ImageLoaderMachOClassic::libImage(unsigned int) const"},
-    {"_ZNK23ImageLoaderMachOClassic13libReExportedEj", "ImageLoaderMachOClassic::libReExported(unsigned int) const"},
-    {"_ZN23ImageLoaderMachOClassic11setLibImageEjP11ImageLoaderb", "ImageLoaderMachOClassic::setLibImage(unsigned int, ImageLoader*, bool)"},
-    {"_ZN23ImageLoaderMachOClassic18setSymbolTableInfoEPK11macho_nlistPKcPK16dysymtab_command", "ImageLoaderMachOClassic::setSymbolTableInfo(macho_nlist const*, char const*, dysymtab_command const*)"},
-    {"_ZNK23ImageLoaderMachOClassic14containsSymbolEPKv", "ImageLoaderMachOClassic::containsSymbol(void const*) const"},
-    {"_ZNK23ImageLoaderMachOClassic21exportedSymbolAddressEPKN11ImageLoader6SymbolE", "ImageLoaderMachOClassic::exportedSymbolAddress(ImageLoader::Symbol const*) const"},
-    {"_ZNK23ImageLoaderMachOClassic29exportedSymbolIsWeakDefintionEPKN11ImageLoader6SymbolE", "ImageLoaderMachOClassic::exportedSymbolIsWeakDefintion(ImageLoader::Symbol const*) const"},
-    {"_ZNK23ImageLoaderMachOClassic18exportedSymbolNameEPKN11ImageLoader6SymbolE", "ImageLoaderMachOClassic::exportedSymbolName(ImageLoader::Symbol const*) const"},
-    {"_ZNK23ImageLoaderMachOClassic19exportedSymbolCountEv", "ImageLoaderMachOClassic::exportedSymbolCount() const"},
-    {"_ZNK23ImageLoaderMachOClassic21exportedSymbolIndexedEj", "ImageLoaderMachOClassic::exportedSymbolIndexed(unsigned int) const"},
-    {"_ZNK23ImageLoaderMachOClassic19importedSymbolCountEv", "ImageLoaderMachOClassic::importedSymbolCount() const"},
-    {"_ZNK23ImageLoaderMachOClassic21importedSymbolIndexedEj", "ImageLoaderMachOClassic::importedSymbolIndexed(unsigned int) const"},
-    {"_ZNK23ImageLoaderMachOClassic18importedSymbolNameEPKN11ImageLoader6SymbolE", "ImageLoaderMachOClassic::importedSymbolName(ImageLoader::Symbol const*) const"},
-    {"_ZN23ImageLoaderMachOClassic22initializeCoalIteratorERN11ImageLoader12CoalIteratorEj", "ImageLoaderMachOClassic::initializeCoalIterator(ImageLoader::CoalIterator&, unsigned int)"},
-    {"_ZN23ImageLoaderMachOClassic21incrementCoalIteratorERN11ImageLoader12CoalIteratorE", "ImageLoaderMachOClassic::incrementCoalIterator(ImageLoader::CoalIterator&)"},
-    {"_ZN23ImageLoaderMachOClassic22getAddressCoalIteratorERN11ImageLoader12CoalIteratorERKNS0_11LinkContextE", "ImageLoaderMachOClassic::getAddressCoalIterator(ImageLoader::CoalIterator&, ImageLoader::LinkContext const&)"},
-    {"_ZNK23ImageLoaderMachOClassic17findClosestSymbolEPKvPS1_", "ImageLoaderMachOClassic::findClosestSymbol(void const*, void const**) const"},
-    {"_ZN23ImageLoaderMachOClassic20doBindFastLazySymbolEjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::doBindFastLazySymbol(unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic30getFirstWritableSegmentAddressEv", "ImageLoaderMachOClassic::getFirstWritableSegmentAddress()"},
-    {"_ZN23ImageLoaderMachOClassic18bindIndirectSymbolEPmPK13macho_sectionPKcmPK11ImageLoaderRKNS6_11LinkContextE", "ImageLoaderMachOClassic::bindIndirectSymbol(unsigned long*, macho_section const*, char const*, unsigned long, ImageLoader const*, ImageLoader::LinkContext const&)"},
-    {"_ZNK23ImageLoaderMachOClassic12binarySearchEPKcS1_PK11macho_nlistj", "ImageLoaderMachOClassic::binarySearch(char const*, char const*, macho_nlist const*, unsigned int) const"},
-    {"_ZNK23ImageLoaderMachOClassic19binarySearchWithTocEPKcS1_PK11macho_nlistPK23dylib_table_of_contentsjj", "ImageLoaderMachOClassic::binarySearchWithToc(char const*, char const*, macho_nlist const*, dylib_table_of_contents const*, unsigned int, unsigned int) const"},
-    {"_ZNK23ImageLoaderMachOClassic18findExportedSymbolEPKcPPK11ImageLoader", "ImageLoaderMachOClassic::findExportedSymbol(char const*, ImageLoader const**) const"},
-    {"_ZNK23ImageLoaderMachOClassic13hasSubLibraryERKN11ImageLoader11LinkContextEPKS0_", "ImageLoaderMachOClassic::hasSubLibrary(ImageLoader::LinkContext const&, ImageLoader const*) const"},
-    {"_ZNK23ImageLoaderMachOClassic16isSubframeworkOfERKN11ImageLoader11LinkContextEPKS0_", "ImageLoaderMachOClassic::isSubframeworkOf(ImageLoader::LinkContext const&, ImageLoader const*) const"},
-    {"_ZN23ImageLoaderMachOClassic18mapSegmentsClassicEiyyyRKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::mapSegmentsClassic(int, unsigned long long, unsigned long long, unsigned long long, ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic16prefetchLINKEDITERKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::prefetchLINKEDIT(ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassicD2Ev", "ImageLoaderMachOClassic::~ImageLoaderMachOClassic()"},
-    {"_ZN23ImageLoaderMachOClassicD1Ev", "ImageLoaderMachOClassic::~ImageLoaderMachOClassic()"},
-    {"_ZN23ImageLoaderMachOClassicD0Ev", "ImageLoaderMachOClassic::~ImageLoaderMachOClassic()"},
-    {"_ZN23ImageLoaderMachOClassic17instantiateFinishERKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::instantiateFinish(ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic6rebaseERKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::rebase(ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic11doInterposeERKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::doInterpose(ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic16resolveUndefinedERKN11ImageLoader11LinkContextEPK11macho_nlistbbPPKS0_", "ImageLoaderMachOClassic::resolveUndefined(ImageLoader::LinkContext const&, macho_nlist const*, bool, bool, ImageLoader const**)"},
-    {"_ZN23ImageLoaderMachOClassic26bindIndirectSymbolPointersERKN11ImageLoader11LinkContextEbb", "ImageLoaderMachOClassic::bindIndirectSymbolPointers(ImageLoader::LinkContext const&, bool, bool)"},
-    {"_ZN23ImageLoaderMachOClassic16doBindJustLaziesERKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::doBindJustLazies(ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic16doBindLazySymbolEPmRKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::doBindLazySymbol(unsigned long*, ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic16instantiateStartEPK12macho_headerPKcjj", "ImageLoaderMachOClassic::instantiateStart(macho_header const*, char const*, unsigned int, unsigned int)"},
-    {"_ZN23ImageLoaderMachOClassic21instantiateFromMemoryEPKcPK12macho_headeryjjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::instantiateFromMemory(char const*, macho_header const*, unsigned long long, unsigned int, unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic20instantiateFromCacheEPK12macho_headerPKcRK4statjjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::instantiateFromCache(macho_header const*, char const*, stat const&, unsigned int, unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic19instantiateFromFileEPKciPKhyyRK4statjjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::instantiateFromFile(char const*, int, unsigned char const*, unsigned long long, unsigned long long, stat const&, unsigned int, unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic25instantiateMainExecutableEPK12macho_headermPKcjjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::instantiateMainExecutable(macho_header const*, unsigned long, char const*, unsigned int, unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic22updateUsesCoalIteratorERN11ImageLoader12CoalIteratorEmPS0_RKNS0_11LinkContextE", "ImageLoaderMachOClassic::updateUsesCoalIterator(ImageLoader::CoalIterator&, unsigned long, ImageLoader*, ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic25doBindExternalRelocationsERKN11ImageLoader11LinkContextE", "ImageLoaderMachOClassic::doBindExternalRelocations(ImageLoader::LinkContext const&)"},
-    {"_ZN23ImageLoaderMachOClassic6doBindERKN11ImageLoader11LinkContextEb", "ImageLoaderMachOClassic::doBind(ImageLoader::LinkContext const&, bool)"},
-    {"_ZN23ImageLoaderMachOClassic11setDyldInfoEPK17dyld_info_command", "ImageLoaderMachOClassic::setDyldInfo(dyld_info_command const*)"},
-    {"_ZNK26ImageLoaderMachOCompressed21segmentCommandOffsetsEv", "ImageLoaderMachOCompressed::segmentCommandOffsets() const"},
-    {"_ZNK26ImageLoaderMachOCompressed8libImageEj", "ImageLoaderMachOCompressed::libImage(unsigned int) const"},
-    {"_ZNK26ImageLoaderMachOCompressed13libReExportedEj", "ImageLoaderMachOCompressed::libReExported(unsigned int) const"},
-    {"_ZN26ImageLoaderMachOCompressed11setLibImageEjP11ImageLoaderb", "ImageLoaderMachOCompressed::setLibImage(unsigned int, ImageLoader*, bool)"},
-    {"_ZNK26ImageLoaderMachOCompressed14containsSymbolEPKv", "ImageLoaderMachOCompressed::containsSymbol(void const*) const"},
-    {"_ZN26ImageLoaderMachOCompressed22initializeCoalIteratorERN11ImageLoader12CoalIteratorEj", "ImageLoaderMachOCompressed::initializeCoalIterator(ImageLoader::CoalIterator&, unsigned int)"},
-    {"_ZN26ImageLoaderMachOCompressed22getAddressCoalIteratorERN11ImageLoader12CoalIteratorERKNS0_11LinkContextE", "ImageLoaderMachOCompressed::getAddressCoalIterator(ImageLoader::CoalIterator&, ImageLoader::LinkContext const&)"},
-    {"_ZNK26ImageLoaderMachOCompressed17findClosestSymbolEPKvPS1_", "ImageLoaderMachOCompressed::findClosestSymbol(void const*, void const**) const"},
-    {"_ZNK26ImageLoaderMachOCompressed18importedSymbolNameEPKN11ImageLoader6SymbolE", "ImageLoaderMachOCompressed::importedSymbolName(ImageLoader::Symbol const*) const"},
-    {"_ZNK26ImageLoaderMachOCompressed21importedSymbolIndexedEj", "ImageLoaderMachOCompressed::importedSymbolIndexed(unsigned int) const"},
-    {"_ZNK26ImageLoaderMachOCompressed19importedSymbolCountEv", "ImageLoaderMachOCompressed::importedSymbolCount() const"},
-    {"_ZNK26ImageLoaderMachOCompressed21exportedSymbolIndexedEj", "ImageLoaderMachOCompressed::exportedSymbolIndexed(unsigned int) const"},
-    {"_ZNK26ImageLoaderMachOCompressed19exportedSymbolCountEv", "ImageLoaderMachOCompressed::exportedSymbolCount() const"},
-    {"_ZNK26ImageLoaderMachOCompressed18exportedSymbolNameEPKN11ImageLoader6SymbolE", "ImageLoaderMachOCompressed::exportedSymbolName(ImageLoader::Symbol const*) const"},
-    {"_ZN26ImageLoaderMachOCompressed15resolveTwolevelERKN11ImageLoader11LinkContextEPKS0_bPKcPS5_", "ImageLoaderMachOCompressed::resolveTwolevel(ImageLoader::LinkContext const&, ImageLoader const*, bool, char const*, ImageLoader const**)"},
-    {"_ZN26ImageLoaderMachOCompressed11resolveFlatERKN11ImageLoader11LinkContextEPKcbPPKS0_", "ImageLoaderMachOCompressed::resolveFlat(ImageLoader::LinkContext const&, char const*, bool, ImageLoader const**)"},
-    {"_ZN26ImageLoaderMachOCompressed7resolveERKN11ImageLoader11LinkContextEPKchiPPKS0_PNS_10LastLookupE", "ImageLoaderMachOCompressed::resolve(ImageLoader::LinkContext const&, char const*, unsigned char, int, ImageLoader const**, ImageLoaderMachOCompressed::LastLookup*)"},
-    {"_ZN26ImageLoaderMachOCompressed6bindAtERKN11ImageLoader11LinkContextEmhPKchliS5_PNS_10LastLookupE", "ImageLoaderMachOCompressed::bindAt(ImageLoader::LinkContext const&, unsigned long, unsigned char, char const*, unsigned char, long, int, char const*, ImageLoaderMachOCompressed::LastLookup*)"},
-    {"_ZN26ImageLoaderMachOCompressed11interposeAtERKN11ImageLoader11LinkContextEmhPKchliS5_PNS_10LastLookupE", "ImageLoaderMachOCompressed::interposeAt(ImageLoader::LinkContext const&, unsigned long, unsigned char, char const*, unsigned char, long, int, char const*, ImageLoaderMachOCompressed::LastLookup*)"},
-    {"_ZN26ImageLoaderMachOCompressed16instantiateStartEPK12macho_headerPKcjj", "ImageLoaderMachOCompressed::instantiateStart(macho_header const*, char const*, unsigned int, unsigned int)"},
-    {"_ZN26ImageLoaderMachOCompressed16doBindLazySymbolEPmRKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::doBindLazySymbol(unsigned long*, ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressed20instantiateFromCacheEPK12macho_headerPKcRK4statjjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::instantiateFromCache(macho_header const*, char const*, stat const&, unsigned int, unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressed21instantiateFromMemoryEPKcPK12macho_headeryjjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::instantiateFromMemory(char const*, macho_header const*, unsigned long long, unsigned int, unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressed25instantiateMainExecutableEPK12macho_headermPKcjjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::instantiateMainExecutable(macho_header const*, unsigned long, char const*, unsigned int, unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressedD0Ev", "ImageLoaderMachOCompressed::~ImageLoaderMachOCompressed()"},
-    {"_ZN26ImageLoaderMachOCompressedD1Ev", "ImageLoaderMachOCompressed::~ImageLoaderMachOCompressed()"},
-    {"_ZN26ImageLoaderMachOCompressed19instantiateFromFileEPKciPKhyyRK4statjjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::instantiateFromFile(char const*, int, unsigned char const*, unsigned long long, unsigned long long, stat const&, unsigned int, unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZNK26ImageLoaderMachOCompressed29exportedSymbolIsWeakDefintionEPKN11ImageLoader6SymbolE", "ImageLoaderMachOCompressed::exportedSymbolIsWeakDefintion(ImageLoader::Symbol const*) const"},
-    {"_ZNK26ImageLoaderMachOCompressed21exportedSymbolAddressEPKN11ImageLoader6SymbolE", "ImageLoaderMachOCompressed::exportedSymbolAddress(ImageLoader::Symbol const*) const"},
-    {"_ZNK26ImageLoaderMachOCompressed18findExportedSymbolEPKcPPK11ImageLoader", "ImageLoaderMachOCompressed::findExportedSymbol(char const*, ImageLoader const**) const"},
-    {"_ZN26ImageLoaderMachOCompressed6rebaseERKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::rebase(ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressed22updateUsesCoalIteratorERN11ImageLoader12CoalIteratorEmPS0_RKNS0_11LinkContextE", "ImageLoaderMachOCompressed::updateUsesCoalIterator(ImageLoader::CoalIterator&, unsigned long, ImageLoader*, ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressed21incrementCoalIteratorERN11ImageLoader12CoalIteratorE", "ImageLoaderMachOCompressed::incrementCoalIterator(ImageLoader::CoalIterator&)"},
-    {"_ZN26ImageLoaderMachOCompressed20doBindFastLazySymbolEjRKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::doBindFastLazySymbol(unsigned int, ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressed12eachLazyBindERKN11ImageLoader11LinkContextEMS_FmS3_mhPKchliS5_PNS_10LastLookupEE", "ImageLoaderMachOCompressed::eachLazyBind(ImageLoader::LinkContext const&, unsigned long (ImageLoaderMachOCompressed::*)(ImageLoader::LinkContext const&, unsigned long, unsigned char, char const*, unsigned char, long, int, char const*, ImageLoaderMachOCompressed::LastLookup*))"},
-    {"_ZN26ImageLoaderMachOCompressed16doBindJustLaziesERKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::doBindJustLazies(ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressed8eachBindERKN11ImageLoader11LinkContextEMS_FmS3_mhPKchliS5_PNS_10LastLookupEE", "ImageLoaderMachOCompressed::eachBind(ImageLoader::LinkContext const&, unsigned long (ImageLoaderMachOCompressed::*)(ImageLoader::LinkContext const&, unsigned long, unsigned char, char const*, unsigned char, long, int, char const*, ImageLoaderMachOCompressed::LastLookup*))"},
-    {"_ZN26ImageLoaderMachOCompressed11doInterposeERKN11ImageLoader11LinkContextE", "ImageLoaderMachOCompressed::doInterpose(ImageLoader::LinkContext const&)"},
-    {"_ZN26ImageLoaderMachOCompressed6doBindERKN11ImageLoader11LinkContextEb", "ImageLoaderMachOCompressed::doBind(ImageLoader::LinkContext const&, bool)"},
-    {"_ZN26ImageLoaderMachOCompressed11setDyldInfoEPK17dyld_info_command", "ImageLoaderMachOCompressed::setDyldInfo(dyld_info_command const*)"},
-    {"_ZN26ImageLoaderMachOCompressed18setSymbolTableInfoEPK11macho_nlistPKcPK16dysymtab_command", "ImageLoaderMachOCompressed::setSymbolTableInfo(macho_nlist const*, char const*, dysymtab_command const*)"},
-    {"_ZNK26ImageLoaderMachOCompressed16isSubframeworkOfERKN11ImageLoader11LinkContextEPKS0_", "ImageLoaderMachOCompressed::isSubframeworkOf(ImageLoader::LinkContext const&, ImageLoader const*) const"},
-    {"_ZNK26ImageLoaderMachOCompressed13hasSubLibraryERKN11ImageLoader11LinkContextEPKS0_", "ImageLoaderMachOCompressed::hasSubLibrary(ImageLoader::LinkContext const&, ImageLoader const*) const"},
-    {"_ZSt17__throw_bad_allocv", "std::__throw_bad_alloc()"},
-    {"_ZSt20__throw_length_errorPKc", "std::__throw_length_error(char const*)"},
-    {"_ZSt19__throw_logic_errorPKc", "std::__throw_logic_error(char const*)"},
-    {"_ZNSt12length_errorD0Ev", "std::length_error::~length_error()"},
-    {"_ZNSt12length_errorD2Ev", "std::length_error::~length_error()"},
-    {"_ZNSt12length_errorD1Ev", "std::length_error::~length_error()"},
-    {"_ZNKSt11logic_error4whatEv", "std::logic_error::what() const"},
-    {"_ZNSt11logic_errorC2ERKSs", "std::logic_error::logic_error(std::string const&)"},
-    {"_ZNSt11logic_errorC1ERKSs", "std::logic_error::logic_error(std::string const&)"},
-    {"_ZNSt12length_errorC1ERKSs", "std::length_error::length_error(std::string const&)"},
-    {"_ZNSt11logic_errorD0Ev", "std::logic_error::~logic_error()"},
-    {"_ZNSt11logic_errorD2Ev", "std::logic_error::~logic_error()"},
-    {"_ZNSt11logic_errorD1Ev", "std::logic_error::~logic_error()"},
-    {"_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base", "std::_Rb_tree_decrement(std::_Rb_tree_node_base*)"},
-    {"_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_", "std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)"},
-    {"_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base", "std::_Rb_tree_increment(std::_Rb_tree_node_base const*)"},
-    {"_ZNSs4_Rep10_M_disposeERKSaIcE", "std::string::_Rep::_M_dispose(std::allocator<char> const&)"},
-    {"_ZNSs4_Rep9_S_createEmmRKSaIcE", "std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&)"},
-    {"_ZNSs4_Rep8_M_cloneERKSaIcEm", "std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned long)"},
-    {"_ZNSs4_Rep7_M_grabERKSaIcES2_", "std::string::_Rep::_M_grab(std::allocator<char> const&, std::allocator<char> const&)"},
-    {"_ZNSsC2ERKSs", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)"},
-    {"_ZNSsC1ERKSs", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)"},
-    {"_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag", "char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag)"},
-    {"_ZNSsC2EPKcRKSaIcE", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)"},
-    {"_ZNSsC1EPKcRKSaIcE", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)"},
-    {"_ZN9__gnu_cxx13new_allocatorIcE8allocateEmPKv", "__gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*)"},
-    {"_ZdlPv", "operator delete(void*)"},
-    {"_ZdaPv", "operator delete[](void*)"},
-    {"_ZNK9__gnu_cxx24__concurrence_lock_error4whatEv", "__gnu_cxx::__concurrence_lock_error::what() const"},
-    {"_ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv", "__gnu_cxx::__concurrence_unlock_error::what() const"},
-    {"_ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv", "__gnu_cxx::__throw_concurrence_unlock_error()"},
-    {"_ZN9__gnu_cxx30__throw_concurrence_lock_errorEv", "__gnu_cxx::__throw_concurrence_lock_error()"},
-    {"_ZN9__gnu_cxx7__mutex4lockEv", "__gnu_cxx::__mutex::lock()"},
-    {"_ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev", "__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error()"},
-    {"_ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev", "__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error()"},
-    {"_ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev", "__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error()"},
-    {"_ZN9__gnu_cxx24__concurrence_lock_errorD0Ev", "__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error()"},
-    {"_ZN9__gnu_cxx24__concurrence_lock_errorD2Ev", "__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error()"},
-    {"_ZN9__gnu_cxx24__concurrence_lock_errorD1Ev", "__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error()"},
-    {"_ZN9__gnu_cxx7__mutex6unlockEv", "__gnu_cxx::__mutex::unlock()"},
-    {"_ZN9__gnu_cxx13__scoped_lockD2Ev", "__gnu_cxx::__scoped_lock::~__scoped_lock()"},
-    {"_ZNKSt9exception4whatEv", "std::exception::what() const"},
-    {"_ZNKSt13bad_exception4whatEv", "std::bad_exception::what() const"},
-    {"_ZNSt13bad_exceptionD0Ev", "std::bad_exception::~bad_exception()"},
-    {"_ZNSt9exceptionD0Ev", "std::exception::~exception()"},
-    {"_ZNSt9exceptionD2Ev", "std::exception::~exception()"},
-    {"_ZNSt13bad_exceptionD1Ev", "std::bad_exception::~bad_exception()"},
-    {"_ZNSt9exceptionD1Ev", "std::exception::~exception()"},
-    {"_ZNKSt9bad_alloc4whatEv", "std::bad_alloc::what() const"},
-    {"_ZNSt9bad_allocD0Ev", "std::bad_alloc::~bad_alloc()"},
-    {"_ZNSt9bad_allocD2Ev", "std::bad_alloc::~bad_alloc()"},
-    {"_ZNSt9bad_allocD1Ev", "std::bad_alloc::~bad_alloc()"},
-    {"_Znwm", "operator new(unsigned long)"},
-    {"_Znam", "operator new[](unsigned long)"},
-    {"_ZNKSt9type_info14__is_pointer_pEv", "std::type_info::__is_pointer_p() const"},
-    {"_ZNKSt9type_info15__is_function_pEv", "std::type_info::__is_function_p() const"},
-    {"_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv", "std::type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const"},
-    {"_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj", "__cxxabiv1::__class_type_info::__do_catch(std::type_info const*, void**, unsigned int) const"},
-    {"_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv", "__cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const"},
-    {"_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_", "__cxxabiv1::__class_type_info::__do_find_public_src(long, void const*, __cxxabiv1::__class_type_info const*, void const*) const"},
-    {"_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE", "__cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const"},
-    {"_ZN10__cxxabiv117__class_type_infoD0Ev", "__cxxabiv1::__class_type_info::~__class_type_info()"},
-    {"_ZN10__cxxabiv117__class_type_infoD1Ev", "__cxxabiv1::__class_type_info::~__class_type_info()"},
-    {"_ZNSt9type_infoD0Ev", "std::type_info::~type_info()"},
-    {"_ZNSt9type_infoD1Ev", "std::type_info::~type_info()"},
-    {"_ZNSt9type_infoD2Ev", "std::type_info::~type_info()"},
-    {"_ZNKSt9type_info10__do_catchEPKS_PPvj", "std::type_info::__do_catch(std::type_info const*, void**, unsigned int) const"},
-    {"_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE", "__cxxabiv1::__class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const"},
-    {"_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_", "__cxxabiv1::__si_class_type_info::__do_find_public_src(long, void const*, __cxxabiv1::__class_type_info const*, void const*) const"},
-    {"_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE", "__cxxabiv1::__si_class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const"},
-    {"_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE", "__cxxabiv1::__si_class_type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const"},
-    {"_ZN10__cxxabiv120__si_class_type_infoD0Ev", "__cxxabiv1::__si_class_type_info::~__si_class_type_info()"},
-    {"_ZN10__cxxabiv120__si_class_type_infoD2Ev", "__cxxabiv1::__si_class_type_info::~__si_class_type_info()"},
-    {"_ZN10__cxxabiv120__si_class_type_infoD1Ev", "__cxxabiv1::__si_class_type_info::~__si_class_type_info()"},
-    {"_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv", "__cxxabiv1::__pointer_type_info::__is_pointer_p() const"},
-    {"_ZN10__cxxabiv117__pbase_type_infoD0Ev", "__cxxabiv1::__pbase_type_info::~__pbase_type_info()"},
-    {"_ZN10__cxxabiv117__pbase_type_infoD2Ev", "__cxxabiv1::__pbase_type_info::~__pbase_type_info()"},
-    {"_ZN10__cxxabiv119__pointer_type_infoD0Ev", "__cxxabiv1::__pointer_type_info::~__pointer_type_info()"},
-    {"_ZN10__cxxabiv119__pointer_type_infoD2Ev", "__cxxabiv1::__pointer_type_info::~__pointer_type_info()"},
-    {"_ZN10__cxxabiv119__pointer_type_infoD1Ev", "__cxxabiv1::__pointer_type_info::~__pointer_type_info()"},
-    {"_ZN10__cxxabiv117__pbase_type_infoD1Ev", "__cxxabiv1::__pbase_type_info::~__pbase_type_info()"},
-    {"_ZN10__cxxabiv123__fundamental_type_infoD0Ev", "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()"},
-    {"_ZN10__cxxabiv123__fundamental_type_infoD2Ev", "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()"},
-    {"_ZN10__cxxabiv123__fundamental_type_infoD1Ev", "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()"},
-    {"_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj", "__cxxabiv1::__pbase_type_info::__do_catch(std::type_info const*, void**, unsigned int) const"},
-    {"_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj", "__cxxabiv1::__pointer_type_info::__pointer_catch(__cxxabiv1::__pbase_type_info const*, void**, unsigned int) const"},
-    {"_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj", "__cxxabiv1::__pbase_type_info::__pointer_catch(__cxxabiv1::__pbase_type_info const*, void**, unsigned int) const"},
-    {"_ZN16CSCppTimeoutLockD1Ev", "CSCppTimeoutLock::~CSCppTimeoutLock()"},
-    {"_ZN16CSCppTimeoutLockC2EPjj", "CSCppTimeoutLock::CSCppTimeoutLock(unsigned int*, unsigned int)"},
-    {"_ZN16CSCppTimeoutLockC1EPjj", "CSCppTimeoutLock::CSCppTimeoutLock(unsigned int*, unsigned int)"},
-    {"_ZN25CSCppDyldSharedMemoryPage11send_noticeEjRjS0_", "CSCppDyldSharedMemoryPage::send_notice(unsigned int, unsigned int&, unsigned int&)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE8validRegEi", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::validReg(int)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE13validFloatRegEi", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::validFloatReg(int)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE7getInfoEP15unw_proc_info_t", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getInfo(unw_proc_info_t*)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE15getRegisterNameEi", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getRegisterName(int)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE13isSignalFrameEv", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::isSignalFrame()"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EED0Ev", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::~UnwindCursor()"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE33getInfoFromCompactEncodingSectionEyyy", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getInfoFromCompactEncodingSection(unsigned long long, unsigned long long, unsigned long long)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE24setInfoBasedOnIPRegisterEb", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::setInfoBasedOnIPRegister(bool)"},
-    {"_ZN9libunwind17LocalAddressSpace16findFunctionNameEyPcmPy", "libunwind::LocalAddressSpace::findFunctionName(unsigned long long, char*, unsigned long, unsigned long long*)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE15getFunctionNameEPcmPy", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getFunctionName(char*, unsigned long, unsigned long long*)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE6jumptoEv", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::jumpto()"},
-    {"_ZN9libunwind22CompactUnwinder_x86_64INS_17LocalAddressSpaceEE32stepWithCompactEncodingFramelessEjyRS1_RNS_16Registers_x86_64Eb", "libunwind::CompactUnwinder_x86_64<libunwind::LocalAddressSpace>::stepWithCompactEncodingFrameless(unsigned int, unsigned long long, libunwind::LocalAddressSpace&, libunwind::Registers_x86_64&, bool)"},
-    {"_ZN9libunwind22CompactUnwinder_x86_64INS_17LocalAddressSpaceEE31stepWithCompactEncodingRBPFrameEjyRS1_RNS_16Registers_x86_64E", "libunwind::CompactUnwinder_x86_64<libunwind::LocalAddressSpace>::stepWithCompactEncodingRBPFrame(unsigned int, unsigned long long, libunwind::LocalAddressSpace&, libunwind::Registers_x86_64&)"},
-    {"_ZN9libunwind22CompactUnwinder_x86_64INS_17LocalAddressSpaceEE23stepWithCompactEncodingEjyRS1_RNS_16Registers_x86_64E", "libunwind::CompactUnwinder_x86_64<libunwind::LocalAddressSpace>::stepWithCompactEncoding(unsigned int, unsigned long long, libunwind::LocalAddressSpace&, libunwind::Registers_x86_64&)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE23stepWithCompactEncodingEv", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::stepWithCompactEncoding()"},
-    {"_ZN9libunwind16Registers_x86_6411setRegisterEiy", "libunwind::Registers_x86_64::setRegister(int, unsigned long long)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE6setRegEiy", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::setReg(int, unsigned long long)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE6getRegEi", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getReg(int)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EED1Ev", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::~UnwindCursor()"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE4stepEv", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::step()"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE11setFloatRegEid", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::setFloatReg(int, double)"},
-    {"_ZN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EE11getFloatRegEi", "libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getFloatReg(int)"},
-    {"_ZN9libunwind16Registers_x86_646jumptoEv", "libunwind::Registers_x86_64::jumpto()"},
-    {"_Z41__static_initialization_and_destruction_0ii", "__static_initialization_and_destruction_0(int, int)"},
-    {"_Z41__static_initialization_and_destruction_0ii", "__static_initialization_and_destruction_0(int, int)"},
-    {"_Z41__static_initialization_and_destruction_0ii", "__static_initialization_and_destruction_0(int, int)"},
-    {"_Z41__static_initialization_and_destruction_0ii", "__static_initialization_and_destruction_0(int, int)"},
-    {"_Z41__static_initialization_and_destruction_0ii", "__static_initialization_and_destruction_0(int, int)"},
-    {"_ZZ34dyld_image_path_containing_addressE8__func__", "dyld_image_path_containing_address::__func__"},
-    {"_ZZ40dyld_register_image_state_change_handlerE8__func__", "dyld_register_image_state_change_handler::__func__"},
-    {"_ZZ5dlsymE8__func__", "dlsym::__func__"},
-    {"_ZZ7dlerrorE8__func__", "dlerror::__func__"},
-    {"_ZZ6dladdrE8__func__", "dladdr::__func__"},
-    {"_ZZ7dlcloseE8__func__", "dlclose::__func__"},
-    {"_ZZ6dlopenE8__func__", "dlopen::__func__"},
-    {"_ZZ16dlopen_preflightE8__func__", "dlopen_preflight::__func__"},
-    {"_ZZ23_dyld_launched_preboundE8__func__", "_dyld_launched_prebound::__func__"},
-    {"_ZZ14NSUnLinkModuleE8__func__", "NSUnLinkModule::__func__"},
-    {"_ZZ22NSLibraryNameForModuleE8__func__", "NSLibraryNameForModule::__func__"},
-    {"_ZZ14NSNameOfModuleE8__func__", "NSNameOfModule::__func__"},
-    {"_ZZ22NSLookupSymbolInModuleE8__func__", "NSLookupSymbolInModule::__func__"},
-    {"_ZZ12NSLinkModuleE8__func__", "NSLinkModule::__func__"},
-    {"_ZZ34NSIsSymbolDefinedInObjectFileImageE8__func__", "NSIsSymbolDefinedInObjectFileImage::__func__"},
-    {"_ZZ33NSGetSectionDataInObjectFileImageE8__func__", "NSGetSectionDataInObjectFileImage::__func__"},
-    {"_ZZ38NSSymbolReferenceNameInObjectFileImageE8__func__", "NSSymbolReferenceNameInObjectFileImage::__func__"},
-    {"_ZZ39NSSymbolReferenceCountInObjectFileImageE8__func__", "NSSymbolReferenceCountInObjectFileImage::__func__"},
-    {"_ZZ39NSSymbolDefinitionNameInObjectFileImageE8__func__", "NSSymbolDefinitionNameInObjectFileImage::__func__"},
-    {"_ZZ40NSSymbolDefinitionCountInObjectFileImageE8__func__", "NSSymbolDefinitionCountInObjectFileImage::__func__"},
-    {"_ZZ27NSHasModInitObjectFileImageE8__func__", "NSHasModInitObjectFileImage::__func__"},
-    {"_ZZ24NSDestroyObjectFileImageE8__func__", "NSDestroyObjectFileImage::__func__"},
-    {"_ZZ33NSCreateObjectFileImageFromMemoryE8__func__", "NSCreateObjectFileImageFromMemory::__func__"},
-    {"_ZZ31NSCreateObjectFileImageFromFileE8__func__", "NSCreateObjectFileImageFromFile::__func__"},
-    {"_ZZ30_dyld_image_containing_addressE8__func__", "_dyld_image_containing_address::__func__"},
-    {"_ZZ41_dyld_bind_fully_image_containing_addressE8__func__", "_dyld_bind_fully_image_containing_address::__func__"},
-    {"_ZZ22_dyld_bind_objc_moduleE8__func__", "_dyld_bind_objc_module::__func__"},
-    {"_ZZ35_dyld_all_twolevel_modules_preboundE8__func__", "_dyld_all_twolevel_modules_prebound::__func__"},
-    {"_ZZ17NSModuleForSymbolE8__func__", "NSModuleForSymbol::__func__"},
-    {"_ZZ17NSAddressOfSymbolE8__func__", "NSAddressOfSymbol::__func__"},
-    {"_ZZ14NSNameOfSymbolE8__func__", "NSNameOfSymbol::__func__"},
-    {"_ZZ29NSIsSymbolNameDefinedWithHintE8__func__", "NSIsSymbolNameDefinedWithHint::__func__"},
-    {"_ZZ21NSLookupSymbolInImageE8__func__", "NSLookupSymbolInImage::__func__"},
-    {"_ZZ28NSIsSymbolNameDefinedInImageE8__func__", "NSIsSymbolNameDefinedInImage::__func__"},
-    {"_ZZ25NSAddLibraryWithSearchingE8__func__", "NSAddLibraryWithSearching::__func__"},
-    {"_ZZ12NSAddLibraryE8__func__", "NSAddLibrary::__func__"},
-    {"_ZZ10NSAddImageE8__func__", "NSAddImage::__func__"},
-    {"_ZZ29NSLookupAndBindSymbolWithHintE8__func__", "NSLookupAndBindSymbolWithHint::__func__"},
-    {"_ZZ21NSLookupAndBindSymbolE8__func__", "NSLookupAndBindSymbol::__func__"},
-    {"_ZZ31_dyld_lookup_and_bind_with_hintE8__func__", "_dyld_lookup_and_bind_with_hint::__func__"},
-    {"_ZZ27_dyld_lookup_and_bind_fullyE8__func__", "_dyld_lookup_and_bind_fully::__func__"},
-    {"_ZZ36_dyld_register_func_for_remove_imageE8__func__", "_dyld_register_func_for_remove_image::__func__"},
-    {"_ZZ33_dyld_register_func_for_add_imageE8__func__", "_dyld_register_func_for_add_image::__func__"},
-    {"_ZZ41_dyld_get_image_header_containing_addressE8__func__", "_dyld_get_image_header_containing_address::__func__"},
-    {"_ZZ20_dyld_get_image_nameE8__func__", "_dyld_get_image_name::__func__"},
-    {"_ZZ21_dyld_get_image_slideE8__func__", "_dyld_get_image_slide::__func__"},
-    {"_ZZ28_dyld_get_image_vmaddr_slideE8__func__", "_dyld_get_image_vmaddr_slide::__func__"},
-    {"_ZZ22_dyld_get_image_headerE8__func__", "_dyld_get_image_header::__func__"},
-    {"_ZZ17_dyld_image_countE8__func__", "_dyld_image_count::__func__"},
-    {"_ZZ20_NSGetExecutablePathE8__func__", "_NSGetExecutablePath::__func__"},
-    {"_ZTSSt11logic_error", "typeinfo name for std::logic_error"},
-    {"_ZTSSt13bad_exception", "typeinfo name for std::bad_exception"},
-    {"_ZTSSt9exception", "typeinfo name for std::exception"},
-    {"_ZTSSt9bad_alloc", "typeinfo name for std::bad_alloc"},
-    {"_ZTSN10__cxxabiv120__si_class_type_infoE", "typeinfo name for __cxxabiv1::__si_class_type_info"},
-    {"_ZTSN10__cxxabiv117__class_type_infoE", "typeinfo name for __cxxabiv1::__class_type_info"},
-    {"_ZTSSt9type_info", "typeinfo name for std::type_info"},
-    {"_ZTSPKc", "typeinfo name for char const*"},
-    {"_ZTSPc", "typeinfo name for char*"},
-    {"_ZTSc", "typeinfo name for char"},
-    {"_ZTSv", "typeinfo name for void"},
-    {"_ZTSN10__cxxabiv119__pointer_type_infoE", "typeinfo name for __cxxabiv1::__pointer_type_info"},
-    {"_ZTSN10__cxxabiv117__pbase_type_infoE", "typeinfo name for __cxxabiv1::__pbase_type_info"},
-    {"_ZTSN10__cxxabiv123__fundamental_type_infoE", "typeinfo name for __cxxabiv1::__fundamental_type_info"},
-    {"_ZTSSt12length_error", "typeinfo name for std::length_error"},
-    {"_ZTSN9__gnu_cxx24__concurrence_lock_errorE", "typeinfo name for __gnu_cxx::__concurrence_lock_error"},
-    {"_ZTSN9__gnu_cxx26__concurrence_unlock_errorE", "typeinfo name for __gnu_cxx::__concurrence_unlock_error"},
-    {"_ZTV11ImageLoader", "vtable for ImageLoader"},
-    {"_ZTV16ImageLoaderMachO", "vtable for ImageLoaderMachO"},
-    {"_ZTV23ImageLoaderMachOClassic", "vtable for ImageLoaderMachOClassic"},
-    {"_ZTV26ImageLoaderMachOCompressed", "vtable for ImageLoaderMachOCompressed"},
-    {"_ZTISt12length_error", "typeinfo for std::length_error"},
-    {"_ZTVSt12length_error", "vtable for std::length_error"},
-    {"_ZTVSt11logic_error", "vtable for std::logic_error"},
-    {"_ZTISt11logic_error", "typeinfo for std::logic_error"},
-    {"_ZTIN9__gnu_cxx24__concurrence_lock_errorE", "typeinfo for __gnu_cxx::__concurrence_lock_error"},
-    {"_ZTVN9__gnu_cxx24__concurrence_lock_errorE", "vtable for __gnu_cxx::__concurrence_lock_error"},
-    {"_ZTIN9__gnu_cxx26__concurrence_unlock_errorE", "typeinfo for __gnu_cxx::__concurrence_unlock_error"},
-    {"_ZTVN9__gnu_cxx26__concurrence_unlock_errorE", "vtable for __gnu_cxx::__concurrence_unlock_error"},
-    {"_ZTVSt13bad_exception", "vtable for std::bad_exception"},
-    {"_ZTVSt9exception", "vtable for std::exception"},
-    {"_ZTISt13bad_exception", "typeinfo for std::bad_exception"},
-    {"_ZTISt9exception", "typeinfo for std::exception"},
-    {"_ZTVSt9bad_alloc", "vtable for std::bad_alloc"},
-    {"_ZTISt9bad_alloc", "typeinfo for std::bad_alloc"},
-    {"_ZTVN10__cxxabiv120__si_class_type_infoE", "vtable for __cxxabiv1::__si_class_type_info"},
-    {"_ZTVN10__cxxabiv117__class_type_infoE", "vtable for __cxxabiv1::__class_type_info"},
-    {"_ZTVSt9type_info", "vtable for std::type_info"},
-    {"_ZTIN10__cxxabiv120__si_class_type_infoE", "typeinfo for __cxxabiv1::__si_class_type_info"},
-    {"_ZTIN10__cxxabiv117__class_type_infoE", "typeinfo for __cxxabiv1::__class_type_info"},
-    {"_ZTISt9type_info", "typeinfo for std::type_info"},
-    {"_ZTVN10__cxxabiv119__pointer_type_infoE", "vtable for __cxxabiv1::__pointer_type_info"},
-    {"_ZTVN10__cxxabiv117__pbase_type_infoE", "vtable for __cxxabiv1::__pbase_type_info"},
-    {"_ZTVN10__cxxabiv123__fundamental_type_infoE", "vtable for __cxxabiv1::__fundamental_type_info"},
-    {"_ZTIPKc", "typeinfo for char const*"},
-    {"_ZTIPc", "typeinfo for char*"},
-    {"_ZTIc", "typeinfo for char"},
-    {"_ZTIv", "typeinfo for void"},
-    {"_ZTIN10__cxxabiv119__pointer_type_infoE", "typeinfo for __cxxabiv1::__pointer_type_info"},
-    {"_ZTIN10__cxxabiv117__pbase_type_infoE", "typeinfo for __cxxabiv1::__pbase_type_info"},
-    {"_ZTIN10__cxxabiv123__fundamental_type_infoE", "typeinfo for __cxxabiv1::__fundamental_type_info"},
-    {"_ZTVN9libunwind12UnwindCursorINS_17LocalAddressSpaceENS_16Registers_x86_64EEE", "vtable for libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>"},
-    {"_ZN4dyld8gLogAPIsE", "dyld::gLogAPIs"},
-    {"_ZN4dyld17gLibSystemHelpersE", "dyld::gLibSystemHelpers"},
-    {"_ZN10__cxxabiv119__terminate_handlerE", "__cxxabiv1::__terminate_handler"},
-    {"_ZN10__cxxabiv120__unexpected_handlerE", "__cxxabiv1::__unexpected_handler"},
-    {"_ZN11ImageLoader27fgImagesUsedFromSharedCacheE", "ImageLoader::fgImagesUsedFromSharedCache"},
-    {"_ZN11ImageLoader26fgImagesWithUsedPrebindingE", "ImageLoader::fgImagesWithUsedPrebinding"},
-    {"_ZN11ImageLoader25fgImagesRequiringNoFixupsE", "ImageLoader::fgImagesRequiringNoFixups"},
-    {"_ZN11ImageLoader27fgImagesRequiringCoalescingE", "ImageLoader::fgImagesRequiringCoalescing"},
-    {"_ZN11ImageLoader26fgImagesHasWeakDefinitionsE", "ImageLoader::fgImagesHasWeakDefinitions"},
-    {"_ZN11ImageLoader19fgTotalRebaseFixupsE", "ImageLoader::fgTotalRebaseFixups"},
-    {"_ZN11ImageLoader17fgTotalBindFixupsE", "ImageLoader::fgTotalBindFixups"},
-    {"_ZN11ImageLoader26fgTotalBindSymbolsResolvedE", "ImageLoader::fgTotalBindSymbolsResolved"},
-    {"_ZN11ImageLoader24fgTotalBindImageSearchesE", "ImageLoader::fgTotalBindImageSearches"},
-    {"_ZN11ImageLoader21fgTotalLazyBindFixupsE", "ImageLoader::fgTotalLazyBindFixups"},
-    {"_ZN11ImageLoader29fgTotalPossibleLazyBindFixupsE", "ImageLoader::fgTotalPossibleLazyBindFixups"},
-    {"_ZN11ImageLoader21fgTotalSegmentsMappedE", "ImageLoader::fgTotalSegmentsMapped"},
-    {"_ZN11ImageLoader18fgTotalBytesMappedE", "ImageLoader::fgTotalBytesMapped"},
-    {"_ZN11ImageLoader22fgTotalBytesPreFetchedE", "ImageLoader::fgTotalBytesPreFetched"},
-    {"_ZN11ImageLoader21fgNextPIEDylibAddressE", "ImageLoader::fgNextPIEDylibAddress"},
-    {"_ZN16ImageLoaderMachO26fgSymbolTableBinarySearchsE", "ImageLoaderMachO::fgSymbolTableBinarySearchs"},
-    {"_ZN16ImageLoaderMachO19fgSymbolTrieSearchsE", "ImageLoaderMachO::fgSymbolTrieSearchs"},
-    {"_ZN4dyld12gLinkContextE", "dyld::gLinkContext"},
-    {"_ZN11ImageLoader24fgTotalLoadLibrariesTimeE", "ImageLoader::fgTotalLoadLibrariesTime"},
-    {"_ZN11ImageLoader17fgTotalRebaseTimeE", "ImageLoader::fgTotalRebaseTime"},
-    {"_ZN11ImageLoader15fgTotalBindTimeE", "ImageLoader::fgTotalBindTime"},
-    {"_ZN11ImageLoader19fgTotalWeakBindTimeE", "ImageLoader::fgTotalWeakBindTime"},
-    {"_ZN11ImageLoader10fgTotalDOFE", "ImageLoader::fgTotalDOF"},
-    {"_ZN11ImageLoader15fgTotalInitTimeE", "ImageLoader::fgTotalInitTime"},
-    {"_ZN11ImageLoader23fgDynamicImageReExportsE", "ImageLoader::fgDynamicImageReExports"},
-    {"_ZN11ImageLoader19fgInterposingTuplesE", "ImageLoader::fgInterposingTuples"},
-    {"_ZNSs4_Rep20_S_empty_rep_storageE", "std::string::_Rep::_S_empty_rep_storage"},
-    {"_ZZN23ImageLoaderMachOClassic26bindIndirectSymbolPointersERKN11ImageLoader11LinkContextEbbE13alreadyWarned", "ImageLoaderMachOClassic::bindIndirectSymbolPointers(ImageLoader::LinkContext const&, bool, bool)::alreadyWarned"},
-    {"_ZN12_GLOBAL__N_115emergency_mutexE", "(anonymous namespace)::emergency_mutex"},
-
-    // clang
-
-    {"_ZN4llvm8DenseMapIjcNS_12DenseMapInfoIjEENS1_IcEEE6insertERKSt4pairIjcE", "llvm::DenseMap<unsigned int, char, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<char> >::insert(std::pair<unsigned int, char> const&)"},
-    {"_ZN4llvm8DenseMapIjcNS_12DenseMapInfoIjEENS1_IcEEE16InsertIntoBucketERKjRKcPSt4pairIjcE", "llvm::DenseMap<unsigned int, char, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<char> >::InsertIntoBucket(unsigned int const&, char const&, std::pair<unsigned int, char>*)"},
-    {"_ZN4llvm8DenseMapIjcNS_12DenseMapInfoIjEENS1_IcEEE4growEj", "llvm::DenseMap<unsigned int, char, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm19MachinePassRegistry3AddEPNS_23MachinePassRegistryNodeE", "llvm::MachinePassRegistry::Add(llvm::MachinePassRegistryNode*)"},
-    {"_ZN4llvm2cl6valuesIiEENS0_11ValuesClassIT_EEPKcS3_S6_z", "llvm::cl::ValuesClass<int> llvm::cl::values<int>(char const*, int, char const*, ...)"},
-    {"_ZN4llvm2cl11ValuesClassIiEC2EPKciS4_P13__va_list_tag", "llvm::cl::ValuesClass<int>::ValuesClass(char const*, int, char const*, __va_list_tag*)"},
-    {"_ZN4llvm24PassRegistrationListenerC2Ev", "llvm::PassRegistrationListener::PassRegistrationListener()"},
-    {"_ZN4llvm24PassRegistrationListener15enumeratePassesEv", "llvm::PassRegistrationListener::enumeratePasses()"},
-    {"_ZN4llvm12PassRegistry15getPassRegistryEv", "llvm::PassRegistry::getPassRegistry()"},
-    {"_ZNK4llvm12PassRegistry7getImplEv", "llvm::PassRegistry::getImpl() const"},
-    {"_ZN4llvm12PassRegistry13enumerateWithEPNS_24PassRegistrationListenerE", "llvm::PassRegistry::enumerateWith(llvm::PassRegistrationListener*)"},
-    {"_ZN4llvm12PassRegistry23addRegistrationListenerEPNS_24PassRegistrationListenerE", "llvm::PassRegistry::addRegistrationListener(llvm::PassRegistrationListener*)"},
-    {"_ZNSt6vectorIPN4llvm24PassRegistrationListenerESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::PassRegistrationListener*, std::allocator<llvm::PassRegistrationListener*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::PassRegistrationListener**, std::vector<llvm::PassRegistrationListener*, std::allocator<llvm::PassRegistrationListener*> > >, llvm::PassRegistrationListener* const&)"},
-    {"_ZN4llvm3sys11MemoryFenceEv", "llvm::sys::MemoryFence()"},
-    {"_ZN4llvm2cl6Option11addArgumentEv", "llvm::cl::Option::addArgument()"},
-    {"_ZN4llvm2cl18MarkOptionsChangedEv", "llvm::cl::MarkOptionsChanged()"},
-    {"_ZNK4llvm17ManagedStaticBase21RegisterManagedStaticEPFPvvEPFvS1_E", "llvm::ManagedStaticBase::RegisterManagedStatic(void* (*)(), void (*)(void*)) const"},
-    {"_ZN4llvm3sys9MutexImplC2Eb", "llvm::sys::MutexImpl::MutexImpl(bool)"},
-    {"_ZN4llvm3sys9MutexImpl7acquireEv", "llvm::sys::MutexImpl::acquire()"},
-    {"_ZN4llvm3sys9MutexImpl7releaseEv", "llvm::sys::MutexImpl::release()"},
-    {"_ZN4llvm15SmallVectorBase8grow_podEmm", "llvm::SmallVectorBase::grow_pod(unsigned long, unsigned long)"},
-    {"_ZN4llvm3sys15ThreadLocalImplC2Ev", "llvm::sys::ThreadLocalImpl::ThreadLocalImpl()"},
-    {"_ZN4llvm21llvm_is_multithreadedEv", "llvm::llvm_is_multithreaded()"},
-    {"_ZN4llvm24llvm_acquire_global_lockEv", "llvm::llvm_acquire_global_lock()"},
-    {"_ZN4llvm24llvm_release_global_lockEv", "llvm::llvm_release_global_lock()"},
-    {"_ZN4llvm15system_categoryEv", "llvm::system_category()"},
-    {"_Z8cc1_mainPPKcS1_S0_Pv", "cc1_main(char const**, char const**, char const*, void*)"},
-    {"_Z16LLVMErrorHandlerPvRKSs", "LLVMErrorHandler(void*, std::string const&)"},
-    {"_ZNK5clang17DiagnosticBuilder9AddStringEN4llvm9StringRefE", "clang::DiagnosticBuilder::AddString(llvm::StringRef) const"},
-    {"_ZNK4llvm18IntrusiveRefCntPtrIN5clang10DiagnosticEE6getPtrEv", "llvm::IntrusiveRefCntPtr<clang::Diagnostic>::getPtr() const"},
-    {"_ZN5clang16DiagnosticClient15BeginSourceFileERKNS_11LangOptionsEPKNS_12PreprocessorE", "clang::DiagnosticClient::BeginSourceFile(clang::LangOptions const&, clang::Preprocessor const*)"},
-    {"_ZN5clang16DiagnosticClient13EndSourceFileEv", "clang::DiagnosticClient::EndSourceFile()"},
-    {"_ZN5clang18CompilerInvocationD2Ev", "clang::CompilerInvocation::~CompilerInvocation()"},
-    {"_ZN5clang14CodeGenOptionsD2Ev", "clang::CodeGenOptions::~CodeGenOptions()"},
-    {"_ZN5clang23DependencyOutputOptionsD2Ev", "clang::DependencyOutputOptions::~DependencyOutputOptions()"},
-    {"_ZN5clang15FrontendOptionsD2Ev", "clang::FrontendOptions::~FrontendOptions()"},
-    {"_ZNSt6vectorIS_ISsSaISsEESaIS1_EED2Ev", "std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > >::~vector()"},
-    {"_ZN5clang19HeaderSearchOptionsD2Ev", "clang::HeaderSearchOptions::~HeaderSearchOptions()"},
-    {"_ZN5clang19PreprocessorOptionsD2Ev", "clang::PreprocessorOptions::~PreprocessorOptions()"},
-    {"_ZNSt8_Rb_treeISsSsSt9_IdentityISsESt4lessISsESaISsEE8_M_eraseEPSt13_Rb_tree_nodeISsE", "std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_erase(std::_Rb_tree_node<std::string>*)"},
-    {"_ZNSt6vectorISt4pairISsSsESaIS1_EED2Ev", "std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >::~vector()"},
-    {"_ZN5clang13TargetOptionsD2Ev", "clang::TargetOptions::~TargetOptions()"},
-    {"_ZN5clang18CompilerInvocationC2Ev", "clang::CompilerInvocation::CompilerInvocation()"},
-    {"_Z10cc1as_mainPPKcS1_S0_Pv", "cc1as_main(char const**, char const**, char const*, void*)"},
-    {"_Z16LLVMErrorHandlerPvRKSs", "LLVMErrorHandler(void*, std::string const&)"},
-    {"_ZN4llvm23PrettyStackTraceProgramD1Ev", "llvm::PrettyStackTraceProgram::~PrettyStackTraceProgram()"},
-    {"_ZN4llvm23PrettyStackTraceProgramD0Ev", "llvm::PrettyStackTraceProgram::~PrettyStackTraceProgram()"},
-    {"_ZN4llvm21formatted_raw_ostream9setStreamERNS_11raw_ostreamEb", "llvm::formatted_raw_ostream::setStream(llvm::raw_ostream&, bool)"},
-    {"_ZN4llvm21formatted_raw_ostreamD1Ev", "llvm::formatted_raw_ostream::~formatted_raw_ostream()"},
-    {"_ZN4llvm21formatted_raw_ostreamD0Ev", "llvm::formatted_raw_ostream::~formatted_raw_ostream()"},
-    {"_ZN4llvm11raw_ostream11changeColorENS0_6ColorsEbb", "llvm::raw_ostream::changeColor(llvm::raw_ostream::Colors, bool, bool)"},
-    {"_ZN4llvm11raw_ostream10resetColorEv", "llvm::raw_ostream::resetColor()"},
-    {"_ZNK4llvm11raw_ostream12is_displayedEv", "llvm::raw_ostream::is_displayed() const"},
-    {"_ZNK4llvm21formatted_raw_ostream11current_posEv", "llvm::formatted_raw_ostream::current_pos() const"},
-    {"_ZN4llvm21formatted_raw_ostream13releaseStreamEv", "llvm::formatted_raw_ostream::releaseStream()"},
-    {"_ZNSt6vectorISsSaISsEEaSERKS1_", "std::vector<std::string, std::allocator<std::string> >::operator=(std::vector<std::string, std::allocator<std::string> > const&)"},
-    {"_ZNSt6vectorIN4llvm9SourceMgr9SrcBufferESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::SourceMgr::SrcBuffer, std::allocator<llvm::SourceMgr::SrcBuffer> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SourceMgr::SrcBuffer*, std::vector<llvm::SourceMgr::SrcBuffer, std::allocator<llvm::SourceMgr::SrcBuffer> > >, llvm::SourceMgr::SrcBuffer const&)"},
-    {"_ZN4llvm10error_code21unspecified_bool_trueEv", "llvm::error_code::unspecified_bool_true()"},
-    {"_Z17GetExecutablePathPKcb", "GetExecutablePath(char const*, bool)"},
-    {"_Z17ExpandArgsFromBufPKcRN4llvm15SmallVectorImplIS0_EERSt3setISsSt4lessISsESaISsEE", "ExpandArgsFromBuf(char const*, llvm::SmallVectorImpl<char const*>&, std::set<std::string, std::less<std::string>, std::allocator<std::string> >&)"},
-    {"_ZN4llvm15SmallVectorImplIPKcE6insertIN9__gnu_cxx17__normal_iteratorIPS2_St6vectorIS2_SaIS2_EEEEEES7_S7_T_SC_", "char const** llvm::SmallVectorImpl<char const*>::insert<__gnu_cxx::__normal_iterator<char const**, std::vector<char const*, std::allocator<char const*> > > >(char const**, __gnu_cxx::__normal_iterator<char const**, std::vector<char const*, std::allocator<char const*> > >, __gnu_cxx::__normal_iterator<char const**, std::vector<char const*, std::allocator<char const*> > >)"},
-    {"_ZNSt6vectorIPKcSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<char const*, std::allocator<char const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char const**, std::vector<char const*, std::allocator<char const*> > >, char const* const&)"},
-    {"_ZNSt8_Rb_treeISsSsSt9_IdentityISsESt4lessISsESaISsEE16_M_insert_uniqueERKSs", "std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique(std::string const&)"},
-    {"_ZNSt8_Rb_treeISsSsSt9_IdentityISsESt4lessISsESaISsEE9_M_insertEPSt18_Rb_tree_node_baseS7_RKSs", "std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::string const&)"},
-    {"_ZN4llvm15SmallVectorImplIPKcE6insertEPS2_RKS2_", "llvm::SmallVectorImpl<char const*>::insert(char const**, char const* const&)"},
-    {"_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE", "clang::ExecuteCompilerInvocation(clang::CompilerInstance*)"},
-    {"_ZN5clang14FrontendAction21BeginSourceFileActionERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::FrontendAction::BeginSourceFileAction(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang14FrontendAction19EndSourceFileActionEv", "clang::FrontendAction::EndSourceFileAction()"},
-    {"_ZNK5clang26PreprocessorFrontendAction20usesPreprocessorOnlyEv", "clang::PreprocessorFrontendAction::usesPreprocessorOnly() const"},
-    {"_ZN5clang14FrontendAction27usesCompleteTranslationUnitEv", "clang::FrontendAction::usesCompleteTranslationUnit()"},
-    {"_ZNK5clang14FrontendAction13hasPCHSupportEv", "clang::FrontendAction::hasPCHSupport() const"},
-    {"_ZNK5clang14FrontendAction17hasASTFileSupportEv", "clang::FrontendAction::hasASTFileSupport() const"},
-    {"_ZNK5clang14FrontendAction12hasIRSupportEv", "clang::FrontendAction::hasIRSupport() const"},
-    {"_ZNK5clang14FrontendAction24hasCodeCompletionSupportEv", "clang::FrontendAction::hasCodeCompletionSupport() const"},
-    {"_ZN5clang26PreprocessorFrontendActionD1Ev", "clang::PreprocessorFrontendAction::~PreprocessorFrontendAction()"},
-    {"_ZN5clang26PreprocessorFrontendActionD0Ev", "clang::PreprocessorFrontendAction::~PreprocessorFrontendAction()"},
-    {"_ZNK5clang17ASTFrontendAction20usesPreprocessorOnlyEv", "clang::ASTFrontendAction::usesPreprocessorOnly() const"},
-    {"_ZN5clang17ASTFrontendActionD1Ev", "clang::ASTFrontendAction::~ASTFrontendAction()"},
-    {"_ZN5clang17ASTFrontendActionD0Ev", "clang::ASTFrontendAction::~ASTFrontendAction()"},
-    {"_ZNK5clang23PrintPreprocessedAction13hasPCHSupportEv", "clang::PrintPreprocessedAction::hasPCHSupport() const"},
-    {"_ZN5clang19PrintPreambleAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::PrintPreambleAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZNK5clang19PrintPreambleAction20usesPreprocessorOnlyEv", "clang::PrintPreambleAction::usesPreprocessorOnly() const"},
-    {"_ZN5clang16SyntaxOnlyActionD1Ev", "clang::SyntaxOnlyAction::~SyntaxOnlyAction()"},
-    {"_ZN5clang16SyntaxOnlyActionD0Ev", "clang::SyntaxOnlyAction::~SyntaxOnlyAction()"},
-    {"_ZNK5clang16SyntaxOnlyAction24hasCodeCompletionSupportEv", "clang::SyntaxOnlyAction::hasCodeCompletionSupport() const"},
-    {"_ZNK5clang14InitOnlyAction20usesPreprocessorOnlyEv", "clang::InitOnlyAction::usesPreprocessorOnly() const"},
-    {"_ZN5clang17GeneratePCHAction27usesCompleteTranslationUnitEv", "clang::GeneratePCHAction::usesCompleteTranslationUnit()"},
-    {"_ZNK5clang17GeneratePCHAction17hasASTFileSupportEv", "clang::GeneratePCHAction::hasASTFileSupport() const"},
-    {"_ZN5clang16CreateASTPrinterEPN4llvm11raw_ostreamE", "clang::CreateASTPrinter(llvm::raw_ostream*)"},
-    {"_ZN5clang19CreateASTPrinterXMLEPN4llvm11raw_ostreamE", "clang::CreateASTPrinterXML(llvm::raw_ostream*)"},
-    {"_ZN5clang15CreateASTDumperEv", "clang::CreateASTDumper()"},
-    {"_ZN5clang15CreateASTViewerEv", "clang::CreateASTViewer()"},
-    {"_ZN5clang24CreateDeclContextPrinterEv", "clang::CreateDeclContextPrinter()"},
-    {"_ZN5clang23CreateInheritanceViewerERKSs", "clang::CreateInheritanceViewer(std::string const&)"},
-    {"_ZN5clang18CreateASTDumperXMLERN4llvm11raw_ostreamE", "clang::CreateASTDumperXML(llvm::raw_ostream&)"},
-    {"_ZN12_GLOBAL__N_110ASTDumpXMLD1Ev", "(anonymous namespace)::ASTDumpXML::~ASTDumpXML()"},
-    {"_ZN12_GLOBAL__N_110ASTDumpXMLD0Ev", "(anonymous namespace)::ASTDumpXML::~ASTDumpXML()"},
-    {"_ZN12_GLOBAL__N_110ASTDumpXML21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::ASTDumpXML::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_117InheritanceViewerD1Ev", "(anonymous namespace)::InheritanceViewer::~InheritanceViewer()"},
-    {"_ZN12_GLOBAL__N_117InheritanceViewerD0Ev", "(anonymous namespace)::InheritanceViewer::~InheritanceViewer()"},
-    {"_ZN12_GLOBAL__N_117InheritanceViewer21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::InheritanceViewer::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_118DeclContextPrinterD1Ev", "(anonymous namespace)::DeclContextPrinter::~DeclContextPrinter()"},
-    {"_ZN12_GLOBAL__N_118DeclContextPrinterD0Ev", "(anonymous namespace)::DeclContextPrinter::~DeclContextPrinter()"},
-    {"_ZN12_GLOBAL__N_118DeclContextPrinter21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::DeclContextPrinter::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_118DeclContextPrinter16PrintDeclContextEPKN5clang11DeclContextEj", "(anonymous namespace)::DeclContextPrinter::PrintDeclContext(clang::DeclContext const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_19ASTViewerD1Ev", "(anonymous namespace)::ASTViewer::~ASTViewer()"},
-    {"_ZN12_GLOBAL__N_19ASTViewerD0Ev", "(anonymous namespace)::ASTViewer::~ASTViewer()"},
-    {"_ZN12_GLOBAL__N_19ASTViewer10InitializeERN5clang10ASTContextE", "(anonymous namespace)::ASTViewer::Initialize(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_19ASTViewer18HandleTopLevelDeclEN5clang12DeclGroupRefE", "(anonymous namespace)::ASTViewer::HandleTopLevelDecl(clang::DeclGroupRef)"},
-    {"_ZN12_GLOBAL__N_113ASTPrinterXMLD1Ev", "(anonymous namespace)::ASTPrinterXML::~ASTPrinterXML()"},
-    {"_ZN12_GLOBAL__N_113ASTPrinterXMLD0Ev", "(anonymous namespace)::ASTPrinterXML::~ASTPrinterXML()"},
-    {"_ZN12_GLOBAL__N_113ASTPrinterXML10InitializeERN5clang10ASTContextE", "(anonymous namespace)::ASTPrinterXML::Initialize(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_113ASTPrinterXML21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::ASTPrinterXML::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_110ASTPrinterD1Ev", "(anonymous namespace)::ASTPrinter::~ASTPrinter()"},
-    {"_ZN12_GLOBAL__N_110ASTPrinterD0Ev", "(anonymous namespace)::ASTPrinter::~ASTPrinter()"},
-    {"_ZN12_GLOBAL__N_110ASTPrinter21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::ASTPrinter::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZNSt5dequeISsSaISsEED2Ev", "std::deque<std::string, std::allocator<std::string> >::~deque()"},
-    {"_ZNSt5dequeISsSaISsEE19_M_destroy_data_auxESt15_Deque_iteratorISsRSsPSsES5_", "std::deque<std::string, std::allocator<std::string> >::_M_destroy_data_aux(std::_Deque_iterator<std::string, std::string&, std::string*>, std::_Deque_iterator<std::string, std::string&, std::string*>)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_jESt10_Select1stIS4_ENS0_16QualTypeOrderingESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, unsigned int>, std::_Select1st<std::pair<clang::QualType const, unsigned int> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::QualType const, unsigned int> >*)"},
-    {"_ZN5clang14ASTMergeAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::ASTMergeAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang14ASTMergeAction21BeginSourceFileActionERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::ASTMergeAction::BeginSourceFileAction(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang14ASTMergeAction13ExecuteActionEv", "clang::ASTMergeAction::ExecuteAction()"},
-    {"_ZN5clang14ASTMergeAction19EndSourceFileActionEv", "clang::ASTMergeAction::EndSourceFileAction()"},
-    {"_ZN5clang14ASTMergeActionC1EPNS_14FrontendActionEPSsj", "clang::ASTMergeAction::ASTMergeAction(clang::FrontendAction*, std::string*, unsigned int)"},
-    {"_ZN5clang14ASTMergeActionC2EPNS_14FrontendActionEPSsj", "clang::ASTMergeAction::ASTMergeAction(clang::FrontendAction*, std::string*, unsigned int)"},
-    {"_ZN5clang14ASTMergeActionD0Ev", "clang::ASTMergeAction::~ASTMergeAction()"},
-    {"_ZN5clang14ASTMergeActionD1Ev", "clang::ASTMergeAction::~ASTMergeAction()"},
-    {"_ZN5clang14ASTMergeActionD2Ev", "clang::ASTMergeAction::~ASTMergeAction()"},
-    {"_ZNK5clang14ASTMergeAction20usesPreprocessorOnlyEv", "clang::ASTMergeAction::usesPreprocessorOnly() const"},
-    {"_ZN5clang14ASTMergeAction27usesCompleteTranslationUnitEv", "clang::ASTMergeAction::usesCompleteTranslationUnit()"},
-    {"_ZNK5clang14ASTMergeAction13hasPCHSupportEv", "clang::ASTMergeAction::hasPCHSupport() const"},
-    {"_ZNK5clang14ASTMergeAction17hasASTFileSupportEv", "clang::ASTMergeAction::hasASTFileSupport() const"},
-    {"_ZNK5clang14ASTMergeAction24hasCodeCompletionSupportEv", "clang::ASTMergeAction::hasCodeCompletionSupport() const"},
-    {"_ZN5clang7ASTUnitC1Eb", "clang::ASTUnit::ASTUnit(bool)"},
-    {"_ZN5clang7ASTUnitC2Eb", "clang::ASTUnit::ASTUnit(bool)"},
-    {"_ZN5clang7ASTUnitC3Eb", "clang::ASTUnit::ASTUnit(bool)"},
-    {"_ZN5clang7ASTUnitC4Eb", "clang::ASTUnit::ASTUnit(bool)"},
-    {"_ZN5clang7ASTUnitC5Eb", "clang::ASTUnit::ASTUnit(bool)"},
-    {"_ZN5clang7ASTUnitD0Ev", "clang::ASTUnit::~ASTUnit()"},
-    {"_ZN5clang7ASTUnitD1Ev", "clang::ASTUnit::~ASTUnit()"},
-    {"_ZN5clang7ASTUnitD2Ev", "clang::ASTUnit::~ASTUnit()"},
-    {"_ZN5clang7ASTUnitD4Ev", "clang::ASTUnit::~ASTUnit()"},
-    {"_ZN5clang7ASTUnitD5Ev", "clang::ASTUnit::~ASTUnit()"},
-    {"_ZN5clang7ASTUnit19CleanTemporaryFilesEv", "clang::ASTUnit::CleanTemporaryFiles()"},
-    {"_ZN5clang7ASTUnit28ClearCachedCompletionResultsEv", "clang::ASTUnit::ClearCachedCompletionResults()"},
-    {"_ZN5clang7ASTUnit26CacheCodeCompletionResultsEv", "clang::ASTUnit::CacheCodeCompletionResults()"},
-    {"_ZNK5clang7ASTUnit15getMainFileNameEv", "clang::ASTUnit::getMainFileName() const"},
-    {"_ZN12_GLOBAL__N_111SimpleTimerD1Ev", "(anonymous namespace)::SimpleTimer::~SimpleTimer()"},
-    {"_ZN5clang7ASTUnit25getOriginalSourceFileNameEv", "clang::ASTUnit::getOriginalSourceFileName()"},
-    {"_ZN5clang7ASTUnit14getASTFileNameEv", "clang::ASTUnit::getASTFileName()"},
-    {"_ZN5clang7ASTUnit16getBufferForFileEN4llvm9StringRefEPSs", "clang::ASTUnit::getBufferForFile(llvm::StringRef, std::string*)"},
-    {"_ZN5clang7ASTUnit14ConfigureDiagsERN4llvm18IntrusiveRefCntPtrINS_10DiagnosticEEEPPKcS8_RS0_b", "clang::ASTUnit::ConfigureDiags(llvm::IntrusiveRefCntPtr<clang::Diagnostic>&, char const**, char const**, clang::ASTUnit&, bool)"},
-    {"_ZN5clang7ASTUnit15LoadFromASTFileERKSsN4llvm18IntrusiveRefCntPtrINS_10DiagnosticEEERKNS_17FileSystemOptionsEbPSt4pairISsPKNS3_12MemoryBufferEEjb", "clang::ASTUnit::LoadFromASTFile(std::string const&, llvm::IntrusiveRefCntPtr<clang::Diagnostic>, clang::FileSystemOptions const&, bool, std::pair<std::string, llvm::MemoryBuffer const*>*, unsigned int, bool)"},
-    {"_ZN5clang7ASTUnit5ParseEPN4llvm12MemoryBufferE", "clang::ASTUnit::Parse(llvm::MemoryBuffer*)"},
-    {"_ZN5clang7ASTUnit15ComputePreambleERNS_18CompilerInvocationEjRb", "clang::ASTUnit::ComputePreamble(clang::CompilerInvocation&, unsigned int, bool&)"},
-    {"_ZN5clang7ASTUnit36getMainBufferWithPrecompiledPreambleENS_18CompilerInvocationEbj", "clang::ASTUnit::getMainBufferWithPrecompiledPreamble(clang::CompilerInvocation, bool, unsigned int)"},
-    {"_ZN5clang7ASTUnit32RealizeTopLevelDeclsFromPreambleEv", "clang::ASTUnit::RealizeTopLevelDeclsFromPreamble()"},
-    {"_ZN5clang7ASTUnit39RealizePreprocessedEntitiesFromPreambleEv", "clang::ASTUnit::RealizePreprocessedEntitiesFromPreamble()"},
-    {"_ZN5clang7ASTUnit15pp_entity_beginEv", "clang::ASTUnit::pp_entity_begin()"},
-    {"_ZN5clang7ASTUnit13pp_entity_endEv", "clang::ASTUnit::pp_entity_end()"},
-    {"_ZNK5clang7ASTUnit14getMaxPCHLevelEv", "clang::ASTUnit::getMaxPCHLevel() const"},
-    {"_ZN5clang7ASTUnit26LoadFromCompilerInvocationEb", "clang::ASTUnit::LoadFromCompilerInvocation(bool)"},
-    {"_ZN5clang7ASTUnit26LoadFromCompilerInvocationEPNS_18CompilerInvocationEN4llvm18IntrusiveRefCntPtrINS_10DiagnosticEEEbbbbb", "clang::ASTUnit::LoadFromCompilerInvocation(clang::CompilerInvocation*, llvm::IntrusiveRefCntPtr<clang::Diagnostic>, bool, bool, bool, bool, bool)"},
-    {"_ZN5clang7ASTUnit19LoadFromCommandLineEPPKcS3_N4llvm18IntrusiveRefCntPtrINS_10DiagnosticEEENS4_9StringRefEbbPSt4pairISsPKNS4_12MemoryBufferEEjbbbbb", "clang::ASTUnit::LoadFromCommandLine(char const**, char const**, llvm::IntrusiveRefCntPtr<clang::Diagnostic>, llvm::StringRef, bool, bool, std::pair<std::string, llvm::MemoryBuffer const*>*, unsigned int, bool, bool, bool, bool, bool)"},
-    {"_ZN5clang7ASTUnit7ReparseEPSt4pairISsPKN4llvm12MemoryBufferEEj", "clang::ASTUnit::Reparse(std::pair<std::string, llvm::MemoryBuffer const*>*, unsigned int)"},
-    {"_ZN5clang7ASTUnit12CodeCompleteEN4llvm9StringRefEjjPSt4pairISsPKNS1_12MemoryBufferEEjbbRNS_20CodeCompleteConsumerERNS_10DiagnosticERNS_11LangOptionsERNS_13SourceManagerERNS_11FileManagerERNS1_15SmallVectorImplINS_16StoredDiagnosticEEERNSJ_IS6_EE", "clang::ASTUnit::CodeComplete(llvm::StringRef, unsigned int, unsigned int, std::pair<std::string, llvm::MemoryBuffer const*>*, unsigned int, bool, bool, clang::CodeCompleteConsumer&, clang::Diagnostic&, clang::LangOptions&, clang::SourceManager&, clang::FileManager&, llvm::SmallVectorImpl<clang::StoredDiagnostic>&, llvm::SmallVectorImpl<llvm::MemoryBuffer const*>&)"},
-    {"_ZN5clang7ASTUnit4SaveEN4llvm9StringRefE", "clang::ASTUnit::Save(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_129AugmentedCodeCompleteConsumerD1Ev", "(anonymous namespace)::AugmentedCodeCompleteConsumer::~AugmentedCodeCompleteConsumer()"},
-    {"_ZN12_GLOBAL__N_129AugmentedCodeCompleteConsumerD0Ev", "(anonymous namespace)::AugmentedCodeCompleteConsumer::~AugmentedCodeCompleteConsumer()"},
-    {"_ZN12_GLOBAL__N_129AugmentedCodeCompleteConsumer26ProcessCodeCompleteResultsERN5clang4SemaENS1_21CodeCompletionContextEPNS1_20CodeCompletionResultEj", "(anonymous namespace)::AugmentedCodeCompleteConsumer::ProcessCodeCompleteResults(clang::Sema&, clang::CodeCompletionContext, clang::CodeCompletionResult*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_129AugmentedCodeCompleteConsumer25ProcessOverloadCandidatesERN5clang4SemaEjPNS1_20CodeCompleteConsumer17OverloadCandidateEj", "(anonymous namespace)::AugmentedCodeCompleteConsumer::ProcessOverloadCandidates(clang::Sema&, unsigned int, clang::CodeCompleteConsumer::OverloadCandidate*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_129AugmentedCodeCompleteConsumer12getAllocatorEv", "(anonymous namespace)::AugmentedCodeCompleteConsumer::getAllocator()"},
-    {"_ZN12_GLOBAL__N_122StoredDiagnosticClientD1Ev", "(anonymous namespace)::StoredDiagnosticClient::~StoredDiagnosticClient()"},
-    {"_ZN12_GLOBAL__N_122StoredDiagnosticClientD0Ev", "(anonymous namespace)::StoredDiagnosticClient::~StoredDiagnosticClient()"},
-    {"_ZN12_GLOBAL__N_122StoredDiagnosticClient16HandleDiagnosticEN5clang10Diagnostic5LevelERKNS1_14DiagnosticInfoE", "(anonymous namespace)::StoredDiagnosticClient::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZN12_GLOBAL__N_124PrecompilePreambleAction17CreateASTConsumerERN5clang16CompilerInstanceEN4llvm9StringRefE", "(anonymous namespace)::PrecompilePreambleAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_124PrecompilePreambleActionD1Ev", "(anonymous namespace)::PrecompilePreambleAction::~PrecompilePreambleAction()"},
-    {"_ZN12_GLOBAL__N_124PrecompilePreambleActionD0Ev", "(anonymous namespace)::PrecompilePreambleAction::~PrecompilePreambleAction()"},
-    {"_ZN12_GLOBAL__N_124PrecompilePreambleAction27usesCompleteTranslationUnitEv", "(anonymous namespace)::PrecompilePreambleAction::usesCompleteTranslationUnit()"},
-    {"_ZNK12_GLOBAL__N_124PrecompilePreambleAction17hasASTFileSupportEv", "(anonymous namespace)::PrecompilePreambleAction::hasASTFileSupport() const"},
-    {"_ZNK12_GLOBAL__N_124PrecompilePreambleAction24hasCodeCompletionSupportEv", "(anonymous namespace)::PrecompilePreambleAction::hasCodeCompletionSupport() const"},
-    {"_ZN12_GLOBAL__N_126PrecompilePreambleConsumerD1Ev", "(anonymous namespace)::PrecompilePreambleConsumer::~PrecompilePreambleConsumer()"},
-    {"_ZN12_GLOBAL__N_126PrecompilePreambleConsumerD0Ev", "(anonymous namespace)::PrecompilePreambleConsumer::~PrecompilePreambleConsumer()"},
-    {"_ZN12_GLOBAL__N_126PrecompilePreambleConsumer18HandleTopLevelDeclEN5clang12DeclGroupRefE", "(anonymous namespace)::PrecompilePreambleConsumer::HandleTopLevelDecl(clang::DeclGroupRef)"},
-    {"_ZN12_GLOBAL__N_126PrecompilePreambleConsumer21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::PrecompilePreambleConsumer::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_126PrecompilePreambleConsumer27GetASTSerializationListenerEv", "(anonymous namespace)::PrecompilePreambleConsumer::GetASTSerializationListener()"},
-    {"_ZN12_GLOBAL__N_126PrecompilePreambleConsumer28SerializedPreprocessedEntityEPN5clang18PreprocessedEntityEy", "(anonymous namespace)::PrecompilePreambleConsumer::SerializedPreprocessedEntity(clang::PreprocessedEntity*, unsigned long long)"},
-    {"_ZThn1912_N12_GLOBAL__N_126PrecompilePreambleConsumerD1Ev", "non-virtual thunk to (anonymous namespace)::PrecompilePreambleConsumer::~PrecompilePreambleConsumer()"},
-    {"_ZThn1912_N12_GLOBAL__N_126PrecompilePreambleConsumerD0Ev", "non-virtual thunk to (anonymous namespace)::PrecompilePreambleConsumer::~PrecompilePreambleConsumer()"},
-    {"_ZThn1912_N12_GLOBAL__N_126PrecompilePreambleConsumer28SerializedPreprocessedEntityEPN5clang18PreprocessedEntityEy", "non-virtual thunk to (anonymous namespace)::PrecompilePreambleConsumer::SerializedPreprocessedEntity(clang::PreprocessedEntity*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_125TopLevelDeclTrackerAction17CreateASTConsumerERN5clang16CompilerInstanceEN4llvm9StringRefE", "(anonymous namespace)::TopLevelDeclTrackerAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_125TopLevelDeclTrackerActionD1Ev", "(anonymous namespace)::TopLevelDeclTrackerAction::~TopLevelDeclTrackerAction()"},
-    {"_ZN12_GLOBAL__N_125TopLevelDeclTrackerActionD0Ev", "(anonymous namespace)::TopLevelDeclTrackerAction::~TopLevelDeclTrackerAction()"},
-    {"_ZN12_GLOBAL__N_125TopLevelDeclTrackerAction27usesCompleteTranslationUnitEv", "(anonymous namespace)::TopLevelDeclTrackerAction::usesCompleteTranslationUnit()"},
-    {"_ZNK12_GLOBAL__N_125TopLevelDeclTrackerAction24hasCodeCompletionSupportEv", "(anonymous namespace)::TopLevelDeclTrackerAction::hasCodeCompletionSupport() const"},
-    {"_ZN12_GLOBAL__N_127TopLevelDeclTrackerConsumerD1Ev", "(anonymous namespace)::TopLevelDeclTrackerConsumer::~TopLevelDeclTrackerConsumer()"},
-    {"_ZN12_GLOBAL__N_127TopLevelDeclTrackerConsumerD0Ev", "(anonymous namespace)::TopLevelDeclTrackerConsumer::~TopLevelDeclTrackerConsumer()"},
-    {"_ZN12_GLOBAL__N_127TopLevelDeclTrackerConsumer18HandleTopLevelDeclEN5clang12DeclGroupRefE", "(anonymous namespace)::TopLevelDeclTrackerConsumer::HandleTopLevelDecl(clang::DeclGroupRef)"},
-    {"_ZN12_GLOBAL__N_127TopLevelDeclTrackerConsumer21HandleInterestingDeclEN5clang12DeclGroupRefE", "(anonymous namespace)::TopLevelDeclTrackerConsumer::HandleInterestingDecl(clang::DeclGroupRef)"},
-    {"_ZN12_GLOBAL__N_116ASTInfoCollectorD1Ev", "(anonymous namespace)::ASTInfoCollector::~ASTInfoCollector()"},
-    {"_ZN12_GLOBAL__N_116ASTInfoCollectorD0Ev", "(anonymous namespace)::ASTInfoCollector::~ASTInfoCollector()"},
-    {"_ZN12_GLOBAL__N_116ASTInfoCollector19ReadLanguageOptionsERKN5clang11LangOptionsE", "(anonymous namespace)::ASTInfoCollector::ReadLanguageOptions(clang::LangOptions const&)"},
-    {"_ZN12_GLOBAL__N_116ASTInfoCollector16ReadTargetTripleEN4llvm9StringRefE", "(anonymous namespace)::ASTInfoCollector::ReadTargetTriple(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_116ASTInfoCollector20ReadPredefinesBufferERKN4llvm11SmallVectorIN5clang18PCHPredefinesBlockELj2EEENS1_9StringRefERSs", "(anonymous namespace)::ASTInfoCollector::ReadPredefinesBuffer(llvm::SmallVector<clang::PCHPredefinesBlock, 2u> const&, llvm::StringRef, std::string&)"},
-    {"_ZN12_GLOBAL__N_116ASTInfoCollector18ReadHeaderFileInfoERKN5clang14HeaderFileInfoEj", "(anonymous namespace)::ASTInfoCollector::ReadHeaderFileInfo(clang::HeaderFileInfo const&, unsigned int)"},
-    {"_ZN12_GLOBAL__N_116ASTInfoCollector11ReadCounterEj", "(anonymous namespace)::ASTInfoCollector::ReadCounter(unsigned int)"},
-    {"_ZN5clang19PreprocessorOptions15addRemappedFileEN4llvm9StringRefEPKNS1_12MemoryBufferE", "clang::PreprocessorOptions::addRemappedFile(llvm::StringRef, llvm::MemoryBuffer const*)"},
-    {"_ZN4llvm15SmallVectorImplIPKcE6insertIPS2_EES5_S5_T_S6_", "char const** llvm::SmallVectorImpl<char const*>::insert<char const**>(char const**, char const**, char const**)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang16StoredDiagnosticEE4swapERS3_", "llvm::SmallVectorImpl<clang::StoredDiagnostic>::swap(llvm::SmallVectorImpl<clang::StoredDiagnostic>&)"},
-    {"_ZN5clang11LangOptionsaSERKS0_", "clang::LangOptions::operator=(clang::LangOptions const&)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang16StoredDiagnosticEE6insertIPS2_EES5_S5_T_S6_", "clang::StoredDiagnostic* llvm::SmallVectorImpl<clang::StoredDiagnostic>::insert<clang::StoredDiagnostic*>(clang::StoredDiagnostic*, clang::StoredDiagnostic*, clang::StoredDiagnostic*)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang16StoredDiagnosticEE9push_backERKS2_", "llvm::SmallVectorImpl<clang::StoredDiagnostic>::push_back(clang::StoredDiagnostic const&)"},
-    {"_ZN5clang9ASTWriterD1Ev", "clang::ASTWriter::~ASTWriter()"},
-    {"_ZN4llvm15SmallVectorImplIN5clang16StoredDiagnosticEE6appendIPS2_EEvT_S6_", "void llvm::SmallVectorImpl<clang::StoredDiagnostic>::append<clang::StoredDiagnostic*>(clang::StoredDiagnostic*, clang::StoredDiagnostic*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang16StoredDiagnosticELb0EE18uninitialized_copyIPS2_S5_EEvT_S6_T0_", "void llvm::SmallVectorTemplateBase<clang::StoredDiagnostic, false>::uninitialized_copy<clang::StoredDiagnostic*, clang::StoredDiagnostic*>(clang::StoredDiagnostic*, clang::StoredDiagnostic*, clang::StoredDiagnostic*)"},
-    {"_ZNSt6vectorIN5clang15CharSourceRangeESaIS1_EEaSERKS3_", "std::vector<clang::CharSourceRange, std::allocator<clang::CharSourceRange> >::operator=(std::vector<clang::CharSourceRange, std::allocator<clang::CharSourceRange> > const&)"},
-    {"_ZNSt6vectorIN5clang9FixItHintESaIS1_EEaSERKS3_", "std::vector<clang::FixItHint, std::allocator<clang::FixItHint> >::operator=(std::vector<clang::FixItHint, std::allocator<clang::FixItHint> > const&)"},
-    {"_ZNSt6vectorIN5clang9FixItHintESaIS1_EEC2ERKS3_", "std::vector<clang::FixItHint, std::allocator<clang::FixItHint> >::vector(std::vector<clang::FixItHint, std::allocator<clang::FixItHint> > const&)"},
-    {"_ZNSt6vectorIN5clang15CharSourceRangeESaIS1_EEC2ERKS3_", "std::vector<clang::CharSourceRange, std::allocator<clang::CharSourceRange> >::vector(std::vector<clang::CharSourceRange, std::allocator<clang::CharSourceRange> > const&)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPN5clang16StoredDiagnosticES5_EET0_T_S7_S6_", "clang::StoredDiagnostic* std::__copy<false, std::random_access_iterator_tag>::copy<clang::StoredDiagnostic*, clang::StoredDiagnostic*>(clang::StoredDiagnostic*, clang::StoredDiagnostic*, clang::StoredDiagnostic*)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN5clang16StoredDiagnosticES5_EET0_T_S7_S6_", "clang::StoredDiagnostic* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<clang::StoredDiagnostic*, clang::StoredDiagnostic*>(clang::StoredDiagnostic*, clang::StoredDiagnostic*, clang::StoredDiagnostic*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang16StoredDiagnosticELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::StoredDiagnostic, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorIPN5clang18PreprocessedEntityESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS2_S4_EEEEvS9_T_SA_St20forward_iterator_tag", "void std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> >::_M_range_insert<__gnu_cxx::__normal_iterator<clang::PreprocessedEntity**, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > > >(__gnu_cxx::__normal_iterator<clang::PreprocessedEntity**, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > >, __gnu_cxx::__normal_iterator<clang::PreprocessedEntity**, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > >, __gnu_cxx::__normal_iterator<clang::PreprocessedEntity**, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > >, std::forward_iterator_tag)"},
-    {"_ZNSt6vectorIPN5clang18PreprocessedEntityESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::PreprocessedEntity**, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > >, clang::PreprocessedEntity* const&)"},
-    {"_ZNSt6vectorIPN5clang4DeclESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS2_S4_EEEEvS9_T_SA_St20forward_iterator_tag", "void std::vector<clang::Decl*, std::allocator<clang::Decl*> >::_M_range_insert<__gnu_cxx::__normal_iterator<clang::Decl**, std::vector<clang::Decl*, std::allocator<clang::Decl*> > > >(__gnu_cxx::__normal_iterator<clang::Decl**, std::vector<clang::Decl*, std::allocator<clang::Decl*> > >, __gnu_cxx::__normal_iterator<clang::Decl**, std::vector<clang::Decl*, std::allocator<clang::Decl*> > >, __gnu_cxx::__normal_iterator<clang::Decl**, std::vector<clang::Decl*, std::allocator<clang::Decl*> > >, std::forward_iterator_tag)"},
-    {"_ZN4llvm9StringMapISt4pairIxlENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<std::pair<long long, long> >& llvm::StringMap<std::pair<long long, long>, llvm::MallocAllocator>::GetOrCreateValue<std::pair<long long, long> >(llvm::StringRef, std::pair<long long, long>)"},
-    {"_ZNSt8_Rb_treeIN5clang6FileIDESt4pairIKS1_St6vectorIPNS0_18PreprocessedEntityESaIS6_EEESt10_Select1stIS9_ESt4lessIS1_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E", "std::_Rb_tree<clang::FileID, std::pair<clang::FileID const, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > >, std::_Select1st<std::pair<clang::FileID const, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > > >, std::less<clang::FileID>, std::allocator<std::pair<clang::FileID const, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<clang::FileID const, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > > >*)"},
-    {"_ZNSt6vectorIN5clang7ASTUnit26CachedCodeCompletionResultESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::ASTUnit::CachedCodeCompletionResult, std::allocator<clang::ASTUnit::CachedCodeCompletionResult> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ASTUnit::CachedCodeCompletionResult*, std::vector<clang::ASTUnit::CachedCodeCompletionResult, std::allocator<clang::ASTUnit::CachedCodeCompletionResult> > >, clang::ASTUnit::CachedCodeCompletionResult const&)"},
-    {"_ZN4llvm8DenseMapIN5clang7CanQualINS1_4TypeEEEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::CanQual<clang::Type>, unsigned int, llvm::DenseMapInfo<clang::CanQual<clang::Type> >, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::CanQual<clang::Type> const&, unsigned int const&, std::pair<clang::CanQual<clang::Type>, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIN5clang7CanQualINS1_4TypeEEEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::CanQual<clang::Type>, unsigned int, llvm::DenseMapInfo<clang::CanQual<clang::Type> >, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN5clang4DeclESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::Decl*, std::allocator<clang::Decl*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::Decl**, std::vector<clang::Decl*, std::allocator<clang::Decl*> > >, clang::Decl* const&)"},
-    {"_ZN4llvm15BitstreamWriterD2Ev", "llvm::BitstreamWriter::~BitstreamWriter()"},
-    {"_ZThn8_N5clang9ASTWriterD1Ev", "non-virtual thunk to clang::ASTWriter::~ASTWriter()"},
-    {"_ZN5clang9ASTWriterD2Ev", "clang::ASTWriter::~ASTWriter()"},
-    {"_ZN5clang9ASTWriterD0Ev", "clang::ASTWriter::~ASTWriter()"},
-    {"_ZThn8_N5clang9ASTWriterD0Ev", "non-virtual thunk to clang::ASTWriter::~ASTWriter()"},
-    {"_ZNSt8_Rb_treeIPN5clang10SwitchCaseESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<clang::SwitchCase*, std::pair<clang::SwitchCase* const, unsigned int>, std::_Select1st<std::pair<clang::SwitchCase* const, unsigned int> >, std::less<clang::SwitchCase*>, std::allocator<std::pair<clang::SwitchCase* const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::SwitchCase* const, unsigned int> >*)"},
-    {"_ZNSt8_Rb_treeIPN5clang9LabelStmtESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<clang::LabelStmt*, std::pair<clang::LabelStmt* const, unsigned int>, std::_Select1st<std::pair<clang::LabelStmt* const, unsigned int> >, std::less<clang::LabelStmt*>, std::allocator<std::pair<clang::LabelStmt* const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::LabelStmt* const, unsigned int> >*)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang20CodeCompletionResultEE6insertIPS2_EES5_S5_T_S6_", "clang::CodeCompletionResult* llvm::SmallVectorImpl<clang::CodeCompletionResult>::insert<clang::CodeCompletionResult*>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang20CodeCompletionResultELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::CodeCompletionResult, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang20CodeCompletionString5ChunkELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::CodeCompletionString::Chunk, false>::grow(unsigned long)"},
-    {"_ZN4llvm9StringSetINS_16BumpPtrAllocatorEE6insertENS_9StringRefE", "llvm::StringSet<llvm::BumpPtrAllocator>::insert(llvm::StringRef)"},
-    {"_ZNSt6vectorISt4pairISsSsESaIS1_EE5clearEv", "std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >::clear()"},
-    {"_ZN5clang18CompilerInvocationC2ERKS0_", "clang::CompilerInvocation::CompilerInvocation(clang::CompilerInvocation const&)"},
-    {"_ZN5clang19PreprocessorOptionsC2ERKS0_", "clang::PreprocessorOptions::PreprocessorOptions(clang::PreprocessorOptions const&)"},
-    {"_ZNSt6vectorISt4pairISsPKN4llvm12MemoryBufferEESaIS5_EEC2ERKS7_", "std::vector<std::pair<std::string, llvm::MemoryBuffer const*>, std::allocator<std::pair<std::string, llvm::MemoryBuffer const*> > >::vector(std::vector<std::pair<std::string, llvm::MemoryBuffer const*>, std::allocator<std::pair<std::string, llvm::MemoryBuffer const*> > > const&)"},
-    {"_ZNSt6vectorISt4pairISsSsESaIS1_EEC2ERKS3_", "std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >::vector(std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > const&)"},
-    {"_ZNSt6vectorISt4pairISsbESaIS1_EEC2ERKS3_", "std::vector<std::pair<std::string, bool>, std::allocator<std::pair<std::string, bool> > >::vector(std::vector<std::pair<std::string, bool>, std::allocator<std::pair<std::string, bool> > > const&)"},
-    {"_ZNSt6vectorIN5clang19HeaderSearchOptions5EntryESaIS2_EEC2ERKS4_", "std::vector<clang::HeaderSearchOptions::Entry, std::allocator<clang::HeaderSearchOptions::Entry> >::vector(std::vector<clang::HeaderSearchOptions::Entry, std::allocator<clang::HeaderSearchOptions::Entry> > const&)"},
-    {"_ZN5clang15FrontendOptionsC2ERKS0_", "clang::FrontendOptions::FrontendOptions(clang::FrontendOptions const&)"},
-    {"_ZNSt6vectorIS_ISsSaISsEESaIS1_EEC2ERKS3_", "std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > >::vector(std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > > const&)"},
-    {"_ZNSt6vectorISt4pairIN5clang9InputKindESsESaIS3_EEC2ERKS5_", "std::vector<std::pair<clang::InputKind, std::string>, std::allocator<std::pair<clang::InputKind, std::string> > >::vector(std::vector<std::pair<clang::InputKind, std::string>, std::allocator<std::pair<clang::InputKind, std::string> > > const&)"},
-    {"_ZN5clang17DiagnosticOptionsC2ERKS0_", "clang::DiagnosticOptions::DiagnosticOptions(clang::DiagnosticOptions const&)"},
-    {"_ZN5clang14CodeGenOptionsC2ERKS0_", "clang::CodeGenOptions::CodeGenOptions(clang::CodeGenOptions const&)"},
-    {"_ZN5clang15AnalyzerOptionsC2ERKS0_", "clang::AnalyzerOptions::AnalyzerOptions(clang::AnalyzerOptions const&)"},
-    {"_ZNSt6vectorIN5clang8AnalysesESaIS1_EEC2ERKS3_", "std::vector<clang::Analyses, std::allocator<clang::Analyses> >::vector(std::vector<clang::Analyses, std::allocator<clang::Analyses> > const&)"},
-    {"_ZN5clang12PCHGenerator14InitializeSemaERNS_4SemaE", "clang::PCHGenerator::InitializeSema(clang::Sema&)"},
-    {"_ZNSt6vectorIySaIyEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPyS1_EERKy", "std::vector<unsigned long long, std::allocator<unsigned long long> >::_M_insert_aux(__gnu_cxx::__normal_iterator<unsigned long long*, std::vector<unsigned long long, std::allocator<unsigned long long> > >, unsigned long long const&)"},
-    {"_ZN5clang12PCHGeneratorD1Ev", "clang::PCHGenerator::~PCHGenerator()"},
-    {"_ZN5clang12PCHGeneratorD0Ev", "clang::PCHGenerator::~PCHGenerator()"},
-    {"_ZNSt6vectorISt4pairISsPKN4llvm12MemoryBufferEESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<std::string, llvm::MemoryBuffer const*>, std::allocator<std::pair<std::string, llvm::MemoryBuffer const*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<std::string, llvm::MemoryBuffer const*>*, std::vector<std::pair<std::string, llvm::MemoryBuffer const*>, std::allocator<std::pair<std::string, llvm::MemoryBuffer const*> > > >, std::pair<std::string, llvm::MemoryBuffer const*> const&)"},
-    {"_ZN5clang14BoostConAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::BoostConAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_119BoostConASTConsumerD1Ev", "(anonymous namespace)::BoostConASTConsumer::~BoostConASTConsumer()"},
-    {"_ZN12_GLOBAL__N_119BoostConASTConsumerD0Ev", "(anonymous namespace)::BoostConASTConsumer::~BoostConASTConsumer()"},
-    {"_ZN12_GLOBAL__N_119BoostConASTConsumer21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::BoostConASTConsumer::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE12TraverseDeclEPNS_4DeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseDecl(clang::Decl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE12TraverseStmtEPNS_4StmtE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseStmt(clang::Stmt*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE15TraverseTypeLocENS_7TypeLocE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseTypeLoc(clang::TypeLoc)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE27TraverseNestedNameSpecifierEPNS_19NestedNameSpecifierE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseNestedNameSpecifier(clang::NestedNameSpecifier*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE27TraverseTemplateArgumentLocERKNS_19TemplateArgumentLocE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseTemplateArgumentLoc(clang::TemplateArgumentLoc const&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE24TraverseTemplateArgumentERKNS_16TemplateArgumentE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseTemplateArgument(clang::TemplateArgument const&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE12TraverseTypeENS_8QualTypeE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseType(clang::QualType)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE24TraverseDeclaratorHelperEPNS_14DeclaratorDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseDeclaratorHelper(clang::DeclaratorDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE22TraverseFunctionHelperEPNS_12FunctionDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseFunctionHelper(clang::FunctionDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE23TraverseCXXRecordHelperEPNS_13CXXRecordDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::TraverseCXXRecordHelper(clang::CXXRecordDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119BoostConASTConsumerEE23WalkUpFromCXXRecordDeclEPNS_13CXXRecordDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::BoostConASTConsumer>::WalkUpFromCXXRecordDecl(clang::CXXRecordDecl*)"},
-    {"_ZN5clang14BoostConActionD1Ev", "clang::BoostConAction::~BoostConAction()"},
-    {"_ZN5clang14BoostConActionD0Ev", "clang::BoostConAction::~BoostConAction()"},
-    {"_ZNK5clang38DependentTemplateSpecializationTypeLoc9getArgLocEj", "clang::DependentTemplateSpecializationTypeLoc::getArgLoc(unsigned int) const"},
-    {"_ZNK5clang29TemplateSpecializationTypeLoc9getArgLocEj", "clang::TemplateSpecializationTypeLoc::getArgLoc(unsigned int) const"},
-    {"_ZN5clang11CacheTokensERNS_12PreprocessorEPN4llvm14raw_fd_ostreamE", "clang::CacheTokens(clang::Preprocessor&, llvm::raw_fd_ostream*)"},
-    {"_ZN5clang31OnDiskChainedHashTableGeneratorIN12_GLOBAL__N_121FileEntryPTHEntryInfoEE6insertENS1_18PTHEntryKeyVariantERKNS1_8PTHEntryE", "clang::OnDiskChainedHashTableGenerator<(anonymous namespace)::FileEntryPTHEntryInfo>::insert((anonymous namespace)::PTHEntryKeyVariant, (anonymous namespace)::PTHEntry const&)"},
-    {"_ZN12_GLOBAL__N_19PTHWriter9EmitTokenERKN5clang5TokenE", "(anonymous namespace)::PTHWriter::EmitToken(clang::Token const&)"},
-    {"_ZN12_GLOBAL__N_112StatListenerD1Ev", "(anonymous namespace)::StatListener::~StatListener()"},
-    {"_ZN12_GLOBAL__N_112StatListenerD0Ev", "(anonymous namespace)::StatListener::~StatListener()"},
-    {"_ZN12_GLOBAL__N_112StatListener7getStatEPKcR4statPi", "(anonymous namespace)::StatListener::getStat(char const*, stat&, int*)"},
-    {"_ZN5clang2io6Emit32ERN4llvm11raw_ostreamEj", "clang::io::Emit32(llvm::raw_ostream&, unsigned int)"},
-    {"_ZN5clang2io6Emit64ERN4llvm11raw_ostreamEy", "clang::io::Emit64(llvm::raw_ostream&, unsigned long long)"},
-    {"_ZN4llvm8DenseMapIPKN5clang14IdentifierInfoEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::IdentifierInfo const*, unsigned int, llvm::DenseMapInfo<clang::IdentifierInfo const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::IdentifierInfo const* const&, unsigned int const&, std::pair<clang::IdentifierInfo const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang14IdentifierInfoEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::IdentifierInfo const*, unsigned int, llvm::DenseMapInfo<clang::IdentifierInfo const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang16CompilerInstanceC1Ev", "clang::CompilerInstance::CompilerInstance()"},
-    {"_ZN5clang16CompilerInstanceC2Ev", "clang::CompilerInstance::CompilerInstance()"},
-    {"_ZN5clang16CompilerInstanceD1Ev", "clang::CompilerInstance::~CompilerInstance()"},
-    {"_ZN5clang16CompilerInstanceD2Ev", "clang::CompilerInstance::~CompilerInstance()"},
-    {"_ZN5clang16CompilerInstance14setLLVMContextEPN4llvm11LLVMContextE", "clang::CompilerInstance::setLLVMContext(llvm::LLVMContext*)"},
-    {"_ZN5clang16CompilerInstance13setInvocationEPNS_18CompilerInvocationE", "clang::CompilerInstance::setInvocation(clang::CompilerInvocation*)"},
-    {"_ZN5clang16CompilerInstance14setDiagnosticsEPNS_10DiagnosticE", "clang::CompilerInstance::setDiagnostics(clang::Diagnostic*)"},
-    {"_ZN5clang16CompilerInstance9setTargetEPNS_10TargetInfoE", "clang::CompilerInstance::setTarget(clang::TargetInfo*)"},
-    {"_ZN5clang16CompilerInstance14setFileManagerEPNS_11FileManagerE", "clang::CompilerInstance::setFileManager(clang::FileManager*)"},
-    {"_ZN5clang16CompilerInstance16setSourceManagerEPNS_13SourceManagerE", "clang::CompilerInstance::setSourceManager(clang::SourceManager*)"},
-    {"_ZN5clang16CompilerInstance15setPreprocessorEPNS_12PreprocessorE", "clang::CompilerInstance::setPreprocessor(clang::Preprocessor*)"},
-    {"_ZN5clang16CompilerInstance13setASTContextEPNS_10ASTContextE", "clang::CompilerInstance::setASTContext(clang::ASTContext*)"},
-    {"_ZN5clang16CompilerInstance7setSemaEPNS_4SemaE", "clang::CompilerInstance::setSema(clang::Sema*)"},
-    {"_ZN5clang16CompilerInstance14setASTConsumerEPNS_11ASTConsumerE", "clang::CompilerInstance::setASTConsumer(clang::ASTConsumer*)"},
-    {"_ZN5clang16CompilerInstance25setCodeCompletionConsumerEPNS_20CodeCompleteConsumerE", "clang::CompilerInstance::setCodeCompletionConsumer(clang::CodeCompleteConsumer*)"},
-    {"_ZN5clang16CompilerInstance17createDiagnosticsEiPKPKcPNS_16DiagnosticClientE", "clang::CompilerInstance::createDiagnostics(int, char const* const*, clang::DiagnosticClient*)"},
-    {"_ZN5clang16CompilerInstance17createDiagnosticsERKNS_17DiagnosticOptionsEiPKPKcPNS_16DiagnosticClientE", "clang::CompilerInstance::createDiagnostics(clang::DiagnosticOptions const&, int, char const* const*, clang::DiagnosticClient*)"},
-    {"_ZN5clang16CompilerInstance17createFileManagerEv", "clang::CompilerInstance::createFileManager()"},
-    {"_ZN5clang16CompilerInstance19createSourceManagerERNS_11FileManagerE", "clang::CompilerInstance::createSourceManager(clang::FileManager&)"},
-    {"_ZN5clang16CompilerInstance18createPreprocessorEv", "clang::CompilerInstance::createPreprocessor()"},
-    {"_ZN5clang16CompilerInstance18createPreprocessorERNS_10DiagnosticERKNS_11LangOptionsERKNS_19PreprocessorOptionsERKNS_19HeaderSearchOptionsERKNS_23DependencyOutputOptionsERKNS_10TargetInfoERKNS_15FrontendOptionsERNS_13SourceManagerERNS_11FileManagerE", "clang::CompilerInstance::createPreprocessor(clang::Diagnostic&, clang::LangOptions const&, clang::PreprocessorOptions const&, clang::HeaderSearchOptions const&, clang::DependencyOutputOptions const&, clang::TargetInfo const&, clang::FrontendOptions const&, clang::SourceManager&, clang::FileManager&)"},
-    {"_ZN5clang16CompilerInstance16createASTContextEv", "clang::CompilerInstance::createASTContext()"},
-    {"_ZN5clang16CompilerInstance26createPCHExternalASTSourceEN4llvm9StringRefEbbPv", "clang::CompilerInstance::createPCHExternalASTSource(llvm::StringRef, bool, bool, void*)"},
-    {"_ZN5clang16CompilerInstance26createPCHExternalASTSourceEN4llvm9StringRefERKSsbbRNS_12PreprocessorERNS_10ASTContextEPvb", "clang::CompilerInstance::createPCHExternalASTSource(llvm::StringRef, std::string const&, bool, bool, clang::Preprocessor&, clang::ASTContext&, void*, bool)"},
-    {"_ZN5clang16CompilerInstance28createCodeCompletionConsumerEv", "clang::CompilerInstance::createCodeCompletionConsumer()"},
-    {"_ZN5clang16CompilerInstance28createCodeCompletionConsumerERNS_12PreprocessorERKSsjjbbbRN4llvm11raw_ostreamE", "clang::CompilerInstance::createCodeCompletionConsumer(clang::Preprocessor&, std::string const&, unsigned int, unsigned int, bool, bool, bool, llvm::raw_ostream&)"},
-    {"_Z20EnableCodeCompletionRN5clang12PreprocessorERKSsjj", "EnableCodeCompletion(clang::Preprocessor&, std::string const&, unsigned int, unsigned int)"},
-    {"_ZN5clang16CompilerInstance19createFrontendTimerEv", "clang::CompilerInstance::createFrontendTimer()"},
-    {"_ZN5clang16CompilerInstance10createSemaEbPNS_20CodeCompleteConsumerE", "clang::CompilerInstance::createSema(bool, clang::CodeCompleteConsumer*)"},
-    {"_ZN5clang16CompilerInstance13addOutputFileERKNS0_10OutputFileE", "clang::CompilerInstance::addOutputFile(clang::CompilerInstance::OutputFile const&)"},
-    {"_ZN5clang16CompilerInstance16clearOutputFilesEb", "clang::CompilerInstance::clearOutputFiles(bool)"},
-    {"_ZN5clang16CompilerInstance23createDefaultOutputFileEbN4llvm9StringRefES2_", "clang::CompilerInstance::createDefaultOutputFile(bool, llvm::StringRef, llvm::StringRef)"},
-    {"_ZN5clang16CompilerInstance16createOutputFileEN4llvm9StringRefEbbS2_S2_", "clang::CompilerInstance::createOutputFile(llvm::StringRef, bool, bool, llvm::StringRef, llvm::StringRef)"},
-    {"_ZN5clang16CompilerInstance16createOutputFileEN4llvm9StringRefERSsbbS2_S2_PSsS4_", "clang::CompilerInstance::createOutputFile(llvm::StringRef, std::string&, bool, bool, llvm::StringRef, llvm::StringRef, std::string*, std::string*)"},
-    {"_ZN5clang16CompilerInstance23InitializeSourceManagerEN4llvm9StringRefE", "clang::CompilerInstance::InitializeSourceManager(llvm::StringRef)"},
-    {"_ZN5clang16CompilerInstance23InitializeSourceManagerEN4llvm9StringRefERNS_10DiagnosticERNS_11FileManagerERNS_13SourceManagerERKNS_15FrontendOptionsE", "clang::CompilerInstance::InitializeSourceManager(llvm::StringRef, clang::Diagnostic&, clang::FileManager&, clang::SourceManager&, clang::FrontendOptions const&)"},
-    {"_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE", "clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)"},
-    {"_ZNSt10_List_baseIN5clang16CompilerInstance10OutputFileESaIS2_EE8_M_clearEv", "std::_List_base<clang::CompilerInstance::OutputFile, std::allocator<clang::CompilerInstance::OutputFile> >::_M_clear()"},
-    {"_ZN5clang28PrintingCodeCompleteConsumer12getAllocatorEv", "clang::PrintingCodeCompleteConsumer::getAllocator()"},
-    {"_ZN5clang20CodeCompleteConsumer26ProcessCodeCompleteResultsERNS_4SemaENS_21CodeCompletionContextEPNS_20CodeCompletionResultEj", "clang::CodeCompleteConsumer::ProcessCodeCompleteResults(clang::Sema&, clang::CodeCompletionContext, clang::CodeCompletionResult*, unsigned int)"},
-    {"_ZN5clang20CodeCompleteConsumer25ProcessOverloadCandidatesERNS_4SemaEjPNS0_17OverloadCandidateEj", "clang::CodeCompleteConsumer::ProcessOverloadCandidates(clang::Sema&, unsigned int, clang::CodeCompleteConsumer::OverloadCandidate*, unsigned int)"},
-    {"_ZN5clang23ChainedDiagnosticClientD1Ev", "clang::ChainedDiagnosticClient::~ChainedDiagnosticClient()"},
-    {"_ZN5clang23ChainedDiagnosticClientD0Ev", "clang::ChainedDiagnosticClient::~ChainedDiagnosticClient()"},
-    {"_ZN5clang23ChainedDiagnosticClient15BeginSourceFileERKNS_11LangOptionsEPKNS_12PreprocessorE", "clang::ChainedDiagnosticClient::BeginSourceFile(clang::LangOptions const&, clang::Preprocessor const*)"},
-    {"_ZN5clang23ChainedDiagnosticClient13EndSourceFileEv", "clang::ChainedDiagnosticClient::EndSourceFile()"},
-    {"_ZNK5clang23ChainedDiagnosticClient25IncludeInDiagnosticCountsEv", "clang::ChainedDiagnosticClient::IncludeInDiagnosticCounts() const"},
-    {"_ZN5clang23ChainedDiagnosticClient16HandleDiagnosticENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::ChainedDiagnosticClient::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZN5clang18CompilerInvocation6toArgsERSt6vectorISsSaISsEE", "clang::CompilerInvocation::toArgs(std::vector<std::string, std::allocator<std::string> >&)"},
-    {"_ZN5clang18CompilerInvocation16GetResourcesPathEPKcPv", "clang::CompilerInvocation::GetResourcesPath(char const*, void*)"},
-    {"_ZN5clang18CompilerInvocation15setLangDefaultsERNS_11LangOptionsENS_9InputKindENS_12LangStandard4KindE", "clang::CompilerInvocation::setLangDefaults(clang::LangOptions&, clang::InputKind, clang::LangStandard::Kind)"},
-    {"_ZN5clang18CompilerInvocation14CreateFromArgsERS0_PKPKcS5_RNS_10DiagnosticE", "clang::CompilerInvocation::CreateFromArgs(clang::CompilerInvocation&, char const* const*, char const* const*, clang::Diagnostic&)"},
-    {"_ZN5clang19PreprocessorOptions11addMacroDefEN4llvm9StringRefE", "clang::PreprocessorOptions::addMacroDef(llvm::StringRef)"},
-    {"_ZN5clang19PreprocessorOptions13addMacroUndefEN4llvm9StringRefE", "clang::PreprocessorOptions::addMacroUndef(llvm::StringRef)"},
-    {"_ZN5clang19PreprocessorOptions15addRemappedFileEN4llvm9StringRefES2_", "clang::PreprocessorOptions::addRemappedFile(llvm::StringRef, llvm::StringRef)"},
-    {"_ZNSt6vectorISt4pairISsSsESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<std::string, std::string>*, std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > >, std::pair<std::string, std::string> const&)"},
-    {"_ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs", "std::vector<std::string, std::allocator<std::string> >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, std::string const&)"},
-    {"_ZNSt6vectorISt4pairISsbESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<std::pair<std::string, bool>, std::allocator<std::pair<std::string, bool> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<std::string, bool>*, std::vector<std::pair<std::string, bool>, std::allocator<std::pair<std::string, bool> > > >, std::pair<std::string, bool> const&)"},
-    {"_ZN5clang19HeaderSearchOptions7AddPathEN4llvm9StringRefENS_8frontend15IncludeDirGroupEbbb", "clang::HeaderSearchOptions::AddPath(llvm::StringRef, clang::frontend::IncludeDirGroup, bool, bool, bool)"},
-    {"_ZNSt6vectorIN5clang19HeaderSearchOptions5EntryESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::HeaderSearchOptions::Entry, std::allocator<clang::HeaderSearchOptions::Entry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::HeaderSearchOptions::Entry*, std::vector<clang::HeaderSearchOptions::Entry, std::allocator<clang::HeaderSearchOptions::Entry> > >, clang::HeaderSearchOptions::Entry const&)"},
-    {"_ZN5clang20ParsedSourceLocation10FromStringEN4llvm9StringRefE", "clang::ParsedSourceLocation::FromString(llvm::StringRef)"},
-    {"_ZNSt6vectorISt4pairIN5clang9InputKindESsESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<std::pair<clang::InputKind, std::string>, std::allocator<std::pair<clang::InputKind, std::string> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<clang::InputKind, std::string>*, std::vector<std::pair<clang::InputKind, std::string>, std::allocator<std::pair<clang::InputKind, std::string> > > >, std::pair<clang::InputKind, std::string> const&)"},
-    {"_ZNSt6vectorIS_ISsSaISsEESaIS1_EE15_M_erase_at_endEPS1_", "std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > >::_M_erase_at_end(std::vector<std::string, std::allocator<std::string> >*)"},
-    {"_ZNSt6vectorIS_ISsSaISsEESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_", "std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<std::vector<std::string, std::allocator<std::string> >*, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > > >, unsigned long, std::vector<std::string, std::allocator<std::string> > const&)"},
-    {"_ZNSt6vectorISsSaISsEEC2ERKS1_", "std::vector<std::string, std::allocator<std::string> >::vector(std::vector<std::string, std::allocator<std::string> > const&)"},
-    {"_ZNSt6vectorIN5clang8AnalysesESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::Analyses, std::allocator<clang::Analyses> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::Analyses*, std::vector<clang::Analyses, std::allocator<clang::Analyses> > >, clang::Analyses const&)"},
-    {"_ZN5clang11DocumentXML14writeDeclToXMLEPNS_4DeclE", "clang::DocumentXML::writeDeclToXML(clang::Decl*)"},
-    {"_ZN5clang11DeclVisitorINS_11DocumentXML11DeclPrinterEvE5VisitEPNS_4DeclE", "clang::DeclVisitor<clang::DocumentXML::DeclPrinter, void>::Visit(clang::Decl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter20VisitLinkageSpecDeclEPNS_15LinkageSpecDeclE", "clang::DocumentXML::DeclPrinter::VisitLinkageSpecDecl(clang::LinkageSpecDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter18VisitNamespaceDeclEPNS_13NamespaceDeclE", "clang::DocumentXML::DeclPrinter::VisitNamespaceDecl(clang::NamespaceDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter23VisitNamespaceAliasDeclEPNS_18NamespaceAliasDeclE", "clang::DocumentXML::DeclPrinter::VisitNamespaceAliasDecl(clang::NamespaceAliasDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter13VisitEnumDeclEPNS_8EnumDeclE", "clang::DocumentXML::DeclPrinter::VisitEnumDecl(clang::EnumDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter15VisitRecordDeclEPNS_10RecordDeclE", "clang::DocumentXML::DeclPrinter::VisitRecordDecl(clang::RecordDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter18VisitCXXRecordDeclEPNS_13CXXRecordDeclE", "clang::DocumentXML::DeclPrinter::VisitCXXRecordDecl(clang::CXXRecordDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter25VisitTemplateTypeParmDeclEPNS_20TemplateTypeParmDeclE", "clang::DocumentXML::DeclPrinter::VisitTemplateTypeParmDecl(clang::TemplateTypeParmDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter16VisitTypedefDeclEPNS_11TypedefDeclE", "clang::DocumentXML::DeclPrinter::VisitTypedefDecl(clang::TypedefDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter14VisitUsingDeclEPNS_9UsingDeclE", "clang::DocumentXML::DeclPrinter::VisitUsingDecl(clang::UsingDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter23VisitUsingDirectiveDeclEPNS_18UsingDirectiveDeclE", "clang::DocumentXML::DeclPrinter::VisitUsingDirectiveDecl(clang::UsingDirectiveDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter20VisitUsingShadowDeclEPNS_15UsingShadowDeclE", "clang::DocumentXML::DeclPrinter::VisitUsingShadowDecl(clang::UsingShadowDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter14VisitFieldDeclEPNS_9FieldDeclE", "clang::DocumentXML::DeclPrinter::VisitFieldDecl(clang::FieldDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter17VisitFunctionDeclEPNS_12FunctionDeclE", "clang::DocumentXML::DeclPrinter::VisitFunctionDecl(clang::FunctionDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter18VisitCXXMethodDeclEPNS_13CXXMethodDeclE", "clang::DocumentXML::DeclPrinter::VisitCXXMethodDecl(clang::CXXMethodDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter23VisitCXXConstructorDeclEPNS_18CXXConstructorDeclE", "clang::DocumentXML::DeclPrinter::VisitCXXConstructorDecl(clang::CXXConstructorDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter22VisitCXXConversionDeclEPNS_17CXXConversionDeclE", "clang::DocumentXML::DeclPrinter::VisitCXXConversionDecl(clang::CXXConversionDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter22VisitCXXDestructorDeclEPNS_17CXXDestructorDeclE", "clang::DocumentXML::DeclPrinter::VisitCXXDestructorDecl(clang::CXXDestructorDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter12VisitVarDeclEPNS_7VarDeclE", "clang::DocumentXML::DeclPrinter::VisitVarDecl(clang::VarDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter16VisitParmVarDeclEPNS_11ParmVarDeclE", "clang::DocumentXML::DeclPrinter::VisitParmVarDecl(clang::ParmVarDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter21VisitEnumConstantDeclEPNS_16EnumConstantDeclE", "clang::DocumentXML::DeclPrinter::VisitEnumConstantDecl(clang::EnumConstantDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter9VisitDeclEPNS_4DeclE", "clang::DocumentXML::DeclPrinter::VisitDecl(clang::Decl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter15addFunctionBodyEPNS_12FunctionDeclE", "clang::DocumentXML::DeclPrinter::addFunctionBody(clang::FunctionDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter11addSubNodesEPNS_13CXXRecordDeclE", "clang::DocumentXML::DeclPrinter::addSubNodes(clang::CXXRecordDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter11addSubNodesEPNS_10RecordDeclE", "clang::DocumentXML::DeclPrinter::addSubNodes(clang::RecordDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter11addSubNodesEPNS_8EnumDeclE", "clang::DocumentXML::DeclPrinter::addSubNodes(clang::EnumDecl*)"},
-    {"_ZN5clang11DocumentXML11DeclPrinter17VisitTemplateDeclEPNS_12TemplateDeclE", "clang::DocumentXML::DeclPrinter::VisitTemplateDecl(clang::TemplateDecl*)"},
-    {"_ZN5clang23AttachDependencyFileGenERNS_12PreprocessorERKNS_23DependencyOutputOptionsE", "clang::AttachDependencyFileGen(clang::Preprocessor&, clang::DependencyOutputOptions const&)"},
-    {"_ZN12_GLOBAL__N_122DependencyFileCallbackD1Ev", "(anonymous namespace)::DependencyFileCallback::~DependencyFileCallback()"},
-    {"_ZN12_GLOBAL__N_122DependencyFileCallbackD0Ev", "(anonymous namespace)::DependencyFileCallback::~DependencyFileCallback()"},
-    {"_ZN12_GLOBAL__N_122DependencyFileCallback11FileChangedEN5clang14SourceLocationENS1_11PPCallbacks16FileChangeReasonENS1_6SrcMgr18CharacteristicKindE", "(anonymous namespace)::DependencyFileCallback::FileChanged(clang::SourceLocation, clang::PPCallbacks::FileChangeReason, clang::SrcMgr::CharacteristicKind)"},
-    {"_ZN12_GLOBAL__N_122DependencyFileCallback13EndOfMainFileEv", "(anonymous namespace)::DependencyFileCallback::EndOfMainFile()"},
-    {"_ZN5clang11DocumentXMLC1ERKSsRN4llvm11raw_ostreamE", "clang::DocumentXML::DocumentXML(std::string const&, llvm::raw_ostream&)"},
-    {"_ZN5clang11DocumentXMLC2ERKSsRN4llvm11raw_ostreamE", "clang::DocumentXML::DocumentXML(std::string const&, llvm::raw_ostream&)"},
-    {"_ZN5clang11DocumentXML10addSubNodeERKSs", "clang::DocumentXML::addSubNode(std::string const&)"},
-    {"_ZN5clang11DocumentXML6IndentEv", "clang::DocumentXML::Indent()"},
-    {"_ZN5clang11DocumentXML8toParentEv", "clang::DocumentXML::toParent()"},
-    {"_ZN5clang11DocumentXML12escapeStringEPKcm", "clang::DocumentXML::escapeString(char const*, unsigned long)"},
-    {"_ZN5clang11DocumentXML8finalizeEv", "clang::DocumentXML::finalize()"},
-    {"_ZN5clang11DocumentXML12addAttributeEPKcRKNS_8QualTypeE", "clang::DocumentXML::addAttribute(char const*, clang::QualType const&)"},
-    {"_ZN5clang11DocumentXML18addTypeRecursivelyERKNS_8QualTypeE", "clang::DocumentXML::addTypeRecursively(clang::QualType const&)"},
-    {"_ZN5clang11DocumentXML15addPtrAttributeEPKcPKNS_4TypeE", "clang::DocumentXML::addPtrAttribute(char const*, clang::Type const*)"},
-    {"_ZN5clang11DocumentXML18addTypeRecursivelyEPKNS_4TypeE", "clang::DocumentXML::addTypeRecursively(clang::Type const*)"},
-    {"_ZN5clang11DocumentXML15addPtrAttributeEPKcPKNS_19NestedNameSpecifierE", "clang::DocumentXML::addPtrAttribute(char const*, clang::NestedNameSpecifier const*)"},
-    {"_ZN5clang11DocumentXML15addPtrAttributeEPKcPKNS_13NamespaceDeclE", "clang::DocumentXML::addPtrAttribute(char const*, clang::NamespaceDecl const*)"},
-    {"_ZN5clang11DocumentXML15addPtrAttributeEPKcPKNS_11DeclContextE", "clang::DocumentXML::addPtrAttribute(char const*, clang::DeclContext const*)"},
-    {"_ZN5clang11DocumentXML22addContextsRecursivelyEPKNS_11DeclContextE", "clang::DocumentXML::addContextsRecursively(clang::DeclContext const*)"},
-    {"_ZN5clang11DocumentXML15addPtrAttributeEPKcPKNS_9NamedDeclE", "clang::DocumentXML::addPtrAttribute(char const*, clang::NamedDecl const*)"},
-    {"_ZN5clang11DocumentXML22addSourceFileAttributeERKSs", "clang::DocumentXML::addSourceFileAttribute(std::string const&)"},
-    {"_ZN5clang11DocumentXML15addPtrAttributeEPKcPKNS_9LabelStmtE", "clang::DocumentXML::addPtrAttribute(char const*, clang::LabelStmt const*)"},
-    {"_ZN5clang11DocumentXML11addLocationERKNS_14SourceLocationE", "clang::DocumentXML::addLocation(clang::SourceLocation const&)"},
-    {"_ZN5clang11DocumentXML16addLocationRangeERKNS_11SourceRangeE", "clang::DocumentXML::addLocationRange(clang::SourceRange const&)"},
-    {"_ZN5clang11DocumentXML9PrintDeclEPNS_4DeclE", "clang::DocumentXML::PrintDecl(clang::Decl*)"},
-    {"_ZN5clang11DocumentXML12addAttributeISsEEvPKcRKT_", "void clang::DocumentXML::addAttribute<std::string>(char const*, std::string const&)"},
-    {"_ZN5clang11DocumentXML15addPtrAttributeEPKcS2_", "clang::DocumentXML::addPtrAttribute(char const*, char const*)"},
-    {"_ZN5clang11DocumentXML12addAttributeIjEEvPKcRKT_", "void clang::DocumentXML::addAttribute<unsigned int>(char const*, unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9LabelStmtEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::LabelStmt const*, unsigned int, llvm::DenseMapInfo<clang::LabelStmt const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::LabelStmt const* const&, unsigned int const&, std::pair<clang::LabelStmt const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9LabelStmtEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::LabelStmt const*, unsigned int, llvm::DenseMapInfo<clang::LabelStmt const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9LabelStmtEjNS_12DenseMapInfoIS4_EENS5_IjEEE6insertERKSt4pairIS4_jE", "llvm::DenseMap<clang::LabelStmt const*, unsigned int, llvm::DenseMapInfo<clang::LabelStmt const*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<clang::LabelStmt const*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang11DeclContextEjNS_12DenseMapInfoIS4_EENS5_IjEEE6insertERKSt4pairIS4_jE", "llvm::DenseMap<clang::DeclContext const*, unsigned int, llvm::DenseMapInfo<clang::DeclContext const*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<clang::DeclContext const*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang11DeclContextEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::DeclContext const*, unsigned int, llvm::DenseMapInfo<clang::DeclContext const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::DeclContext const* const&, unsigned int const&, std::pair<clang::DeclContext const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang11DeclContextEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::DeclContext const*, unsigned int, llvm::DenseMapInfo<clang::DeclContext const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9NamedDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE6insertERKSt4pairIS4_jE", "llvm::DenseMap<clang::NamedDecl const*, unsigned int, llvm::DenseMapInfo<clang::NamedDecl const*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<clang::NamedDecl const*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeEjNS_12DenseMapInfoIS4_EENS5_IjEEE6insertERKSt4pairIS4_jE", "llvm::DenseMap<clang::Type const*, unsigned int, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<clang::Type const*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::Type const*, unsigned int, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::Type const* const&, unsigned int const&, std::pair<clang::Type const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::Type const*, unsigned int, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_jESt10_Select1stIS4_ENS0_16QualTypeOrderingESaIS4_EE16_M_insert_uniqueERKS4_", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, unsigned int>, std::_Select1st<std::pair<clang::QualType const, unsigned int> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, unsigned int> > >::_M_insert_unique(std::pair<clang::QualType const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_jESt10_Select1stIS4_ENS0_16QualTypeOrderingESaIS4_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS4_ERKS4_", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, unsigned int>, std::_Select1st<std::pair<clang::QualType const, unsigned int> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::QualType const, unsigned int> >, std::pair<clang::QualType const, unsigned int> const&)"},
-    {"_ZNSt5dequeISsSaISsEE8pop_backEv", "std::deque<std::string, std::allocator<std::string> >::pop_back()"},
-    {"_ZNSt11_Deque_baseISsSaISsEE17_M_initialize_mapEm", "std::_Deque_base<std::string, std::allocator<std::string> >::_M_initialize_map(unsigned long)"},
-    {"_ZNSt5dequeISsSaISsEEC2ERKS1_", "std::deque<std::string, std::allocator<std::string> >::deque(std::deque<std::string, std::allocator<std::string> > const&)"},
-    {"_ZN5clang14FrontendActionC1Ev", "clang::FrontendAction::FrontendAction()"},
-    {"_ZN5clang14FrontendActionC2Ev", "clang::FrontendAction::FrontendAction()"},
-    {"_ZN5clang14FrontendActionD0Ev", "clang::FrontendAction::~FrontendAction()"},
-    {"_ZN5clang14FrontendActionD1Ev", "clang::FrontendAction::~FrontendAction()"},
-    {"_ZN5clang14FrontendActionD2Ev", "clang::FrontendAction::~FrontendAction()"},
-    {"_ZN5clang14FrontendAction14setCurrentFileEN4llvm9StringRefENS_9InputKindEPNS_7ASTUnitE", "clang::FrontendAction::setCurrentFile(llvm::StringRef, clang::InputKind, clang::ASTUnit*)"},
-    {"_ZN5clang14FrontendAction24CreateWrappedASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::FrontendAction::CreateWrappedASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang14FrontendAction15BeginSourceFileERNS_16CompilerInstanceEN4llvm9StringRefENS_9InputKindE", "clang::FrontendAction::BeginSourceFile(clang::CompilerInstance&, llvm::StringRef, clang::InputKind)"},
-    {"_ZN5clang14FrontendAction7ExecuteEv", "clang::FrontendAction::Execute()"},
-    {"_ZN5clang14FrontendAction13EndSourceFileEv", "clang::FrontendAction::EndSourceFile()"},
-    {"_ZN5clang17ASTFrontendAction13ExecuteActionEv", "clang::ASTFrontendAction::ExecuteAction()"},
-    {"_ZN5clang26PreprocessorFrontendAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::PreprocessorFrontendAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_124DeserializedDeclsCheckerD1Ev", "(anonymous namespace)::DeserializedDeclsChecker::~DeserializedDeclsChecker()"},
-    {"_ZN12_GLOBAL__N_124DeserializedDeclsCheckerD0Ev", "(anonymous namespace)::DeserializedDeclsChecker::~DeserializedDeclsChecker()"},
-    {"_ZN12_GLOBAL__N_124DeserializedDeclsChecker8DeclReadEjPKN5clang4DeclE", "(anonymous namespace)::DeserializedDeclsChecker::DeclRead(unsigned int, clang::Decl const*)"},
-    {"_ZN12_GLOBAL__N_123DeserializedDeclsDumperD1Ev", "(anonymous namespace)::DeserializedDeclsDumper::~DeserializedDeclsDumper()"},
-    {"_ZN12_GLOBAL__N_123DeserializedDeclsDumperD0Ev", "(anonymous namespace)::DeserializedDeclsDumper::~DeserializedDeclsDumper()"},
-    {"_ZN12_GLOBAL__N_123DeserializedDeclsDumper8DeclReadEjPKN5clang4DeclE", "(anonymous namespace)::DeserializedDeclsDumper::DeclRead(unsigned int, clang::Decl const*)"},
-    {"_ZNSt6vectorIPN5clang11ASTConsumerESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::ASTConsumer*, std::allocator<clang::ASTConsumer*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ASTConsumer**, std::vector<clang::ASTConsumer*, std::allocator<clang::ASTConsumer*> > >, clang::ASTConsumer* const&)"},
-    {"_ZN5clang26ASTDeserializationListener17ReaderInitializedEPNS_9ASTReaderE", "clang::ASTDeserializationListener::ReaderInitialized(clang::ASTReader*)"},
-    {"_ZN5clang26ASTDeserializationListener14IdentifierReadEjPNS_14IdentifierInfoE", "clang::ASTDeserializationListener::IdentifierRead(unsigned int, clang::IdentifierInfo*)"},
-    {"_ZN5clang26ASTDeserializationListener8TypeReadENS_13serialization7TypeIdxENS_8QualTypeE", "clang::ASTDeserializationListener::TypeRead(clang::serialization::TypeIdx, clang::QualType)"},
-    {"_ZN5clang26ASTDeserializationListener12SelectorReadEjNS_8SelectorE", "clang::ASTDeserializationListener::SelectorRead(unsigned int, clang::Selector)"},
-    {"_ZN5clang26ASTDeserializationListener19MacroDefinitionReadEjPNS_15MacroDefinitionE", "clang::ASTDeserializationListener::MacroDefinitionRead(unsigned int, clang::MacroDefinition*)"},
-    {"_ZNSt8_Rb_treeISsSsSt9_IdentityISsESt4lessISsESaISsEE4findERKSs", "std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::find(std::string const&)"},
-    {"_ZNSt8_Rb_treeISsSsSt9_IdentityISsESt4lessISsESaISsEE7_M_copyEPKSt13_Rb_tree_nodeISsEPS7_", "std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_copy(std::_Rb_tree_node<std::string> const*, std::_Rb_tree_node<std::string>*)"},
-    {"_ZN5clang26ASTDeserializationListener8DeclReadEjPKNS_4DeclE", "clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*)"},
-    {"_ZN5clang14InitOnlyAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::InitOnlyAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang14InitOnlyAction13ExecuteActionEv", "clang::InitOnlyAction::ExecuteAction()"},
-    {"_ZN5clang14ASTPrintAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::ASTPrintAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang17ASTPrintXMLAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::ASTPrintXMLAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang13ASTDumpAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::ASTDumpAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang16ASTDumpXMLAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::ASTDumpXMLAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang13ASTViewAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::ASTViewAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang22DeclContextPrintAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::DeclContextPrintAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang17GeneratePCHAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::GeneratePCHAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang17GeneratePCHAction27ComputeASTConsumerArgumentsERNS_16CompilerInstanceEN4llvm9StringRefERSsRPNS3_11raw_ostreamERb", "clang::GeneratePCHAction::ComputeASTConsumerArguments(clang::CompilerInstance&, llvm::StringRef, std::string&, llvm::raw_ostream*&, bool&)"},
-    {"_ZN5clang21InheritanceViewAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::InheritanceViewAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang16SyntaxOnlyAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::SyntaxOnlyAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang19DumpRawTokensAction13ExecuteActionEv", "clang::DumpRawTokensAction::ExecuteAction()"},
-    {"_ZN5clang16DumpTokensAction13ExecuteActionEv", "clang::DumpTokensAction::ExecuteAction()"},
-    {"_ZN5clang17GeneratePTHAction13ExecuteActionEv", "clang::GeneratePTHAction::ExecuteAction()"},
-    {"_ZN5clang20PreprocessOnlyAction13ExecuteActionEv", "clang::PreprocessOnlyAction::ExecuteAction()"},
-    {"_ZN5clang23PrintPreprocessedAction13ExecuteActionEv", "clang::PrintPreprocessedAction::ExecuteAction()"},
-    {"_ZN5clang19PrintPreambleAction13ExecuteActionEv", "clang::PrintPreambleAction::ExecuteAction()"},
-    {"_ZN5clang5LexerD1Ev", "clang::Lexer::~Lexer()"},
-    {"_ZN5clang12Preprocessor3LexERNS_5TokenE", "clang::Preprocessor::Lex(clang::Token&)"},
-    {"_ZN5clang14InitOnlyActionD1Ev", "clang::InitOnlyAction::~InitOnlyAction()"},
-    {"_ZN5clang14InitOnlyActionD0Ev", "clang::InitOnlyAction::~InitOnlyAction()"},
-    {"_ZN5clang14ASTPrintActionD1Ev", "clang::ASTPrintAction::~ASTPrintAction()"},
-    {"_ZN5clang14ASTPrintActionD0Ev", "clang::ASTPrintAction::~ASTPrintAction()"},
-    {"_ZN5clang17ASTPrintXMLActionD1Ev", "clang::ASTPrintXMLAction::~ASTPrintXMLAction()"},
-    {"_ZN5clang17ASTPrintXMLActionD0Ev", "clang::ASTPrintXMLAction::~ASTPrintXMLAction()"},
-    {"_ZN5clang13ASTDumpActionD1Ev", "clang::ASTDumpAction::~ASTDumpAction()"},
-    {"_ZN5clang13ASTDumpActionD0Ev", "clang::ASTDumpAction::~ASTDumpAction()"},
-    {"_ZN5clang16ASTDumpXMLActionD1Ev", "clang::ASTDumpXMLAction::~ASTDumpXMLAction()"},
-    {"_ZN5clang16ASTDumpXMLActionD0Ev", "clang::ASTDumpXMLAction::~ASTDumpXMLAction()"},
-    {"_ZN5clang13ASTViewActionD1Ev", "clang::ASTViewAction::~ASTViewAction()"},
-    {"_ZN5clang13ASTViewActionD0Ev", "clang::ASTViewAction::~ASTViewAction()"},
-    {"_ZN5clang22DeclContextPrintActionD1Ev", "clang::DeclContextPrintAction::~DeclContextPrintAction()"},
-    {"_ZN5clang22DeclContextPrintActionD0Ev", "clang::DeclContextPrintAction::~DeclContextPrintAction()"},
-    {"_ZN5clang17GeneratePCHActionD1Ev", "clang::GeneratePCHAction::~GeneratePCHAction()"},
-    {"_ZN5clang17GeneratePCHActionD0Ev", "clang::GeneratePCHAction::~GeneratePCHAction()"},
-    {"_ZN5clang21InheritanceViewActionD1Ev", "clang::InheritanceViewAction::~InheritanceViewAction()"},
-    {"_ZN5clang21InheritanceViewActionD0Ev", "clang::InheritanceViewAction::~InheritanceViewAction()"},
-    {"_ZN5clang19PrintPreambleActionD1Ev", "clang::PrintPreambleAction::~PrintPreambleAction()"},
-    {"_ZN5clang19PrintPreambleActionD0Ev", "clang::PrintPreambleAction::~PrintPreambleAction()"},
-    {"_ZN5clang19DumpRawTokensActionD1Ev", "clang::DumpRawTokensAction::~DumpRawTokensAction()"},
-    {"_ZN5clang19DumpRawTokensActionD0Ev", "clang::DumpRawTokensAction::~DumpRawTokensAction()"},
-    {"_ZN5clang16DumpTokensActionD1Ev", "clang::DumpTokensAction::~DumpTokensAction()"},
-    {"_ZN5clang16DumpTokensActionD0Ev", "clang::DumpTokensAction::~DumpTokensAction()"},
-    {"_ZN5clang17GeneratePTHActionD1Ev", "clang::GeneratePTHAction::~GeneratePTHAction()"},
-    {"_ZN5clang17GeneratePTHActionD0Ev", "clang::GeneratePTHAction::~GeneratePTHAction()"},
-    {"_ZN5clang20PreprocessOnlyActionD1Ev", "clang::PreprocessOnlyAction::~PreprocessOnlyAction()"},
-    {"_ZN5clang20PreprocessOnlyActionD0Ev", "clang::PreprocessOnlyAction::~PreprocessOnlyAction()"},
-    {"_ZN5clang23PrintPreprocessedActionD1Ev", "clang::PrintPreprocessedAction::~PrintPreprocessedAction()"},
-    {"_ZN5clang23PrintPreprocessedActionD0Ev", "clang::PrintPreprocessedAction::~PrintPreprocessedAction()"},
-    {"_ZN5clang5LexerD0Ev", "clang::Lexer::~Lexer()"},
-    {"_ZN5clang5Lexer11IndirectLexERNS_5TokenE", "clang::Lexer::IndirectLex(clang::Token&)"},
-    {"_ZN5clang5Lexer17getSourceLocationEv", "clang::Lexer::getSourceLocation()"},
-    {"_ZN5clang17PreprocessorLexerD1Ev", "clang::PreprocessorLexer::~PreprocessorLexer()"},
-    {"_ZN5clang17PreprocessorLexerD0Ev", "clang::PreprocessorLexer::~PreprocessorLexer()"},
-    {"_ZN5clang11ASTConsumerD1Ev", "clang::ASTConsumer::~ASTConsumer()"},
-    {"_ZN5clang11ASTConsumerD0Ev", "clang::ASTConsumer::~ASTConsumer()"},
-    {"_ZN5clang11ASTConsumer10InitializeERNS_10ASTContextE", "clang::ASTConsumer::Initialize(clang::ASTContext&)"},
-    {"_ZN5clang11ASTConsumer21HandleTranslationUnitERNS_10ASTContextE", "clang::ASTConsumer::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN5clang11ASTConsumer23HandleTagDeclDefinitionEPNS_7TagDeclE", "clang::ASTConsumer::HandleTagDeclDefinition(clang::TagDecl*)"},
-    {"_ZN5clang11ASTConsumer27CompleteTentativeDefinitionEPNS_7VarDeclE", "clang::ASTConsumer::CompleteTentativeDefinition(clang::VarDecl*)"},
-    {"_ZN5clang11ASTConsumer12HandleVTableEPNS_13CXXRecordDeclEb", "clang::ASTConsumer::HandleVTable(clang::CXXRecordDecl*, bool)"},
-    {"_ZN5clang11ASTConsumer22GetASTMutationListenerEv", "clang::ASTConsumer::GetASTMutationListener()"},
-    {"_ZN5clang11ASTConsumer29GetASTDeserializationListenerEv", "clang::ASTConsumer::GetASTDeserializationListener()"},
-    {"_ZN5clang11ASTConsumer10PrintStatsEv", "clang::ASTConsumer::PrintStats()"},
-    {"_ZN5clang15FrontendOptions24getInputKindForExtensionEN4llvm9StringRefE", "clang::FrontendOptions::getInputKindForExtension(llvm::StringRef)"},
-    {"_ZN4llvm12StringSwitchIN5clang9InputKindES2_E5CasesILj4ELj4ELj4ELj4ELj4EEERS3_RAT__KcRAT0__S6_RAT1__S6_RAT2__S6_RAT3__S6_RKS2_", "llvm::StringSwitch<clang::InputKind, clang::InputKind>& llvm::StringSwitch<clang::InputKind, clang::InputKind>::Cases<4u, 4u, 4u, 4u, 4u>(char const (&) [4u], char const (&) [4u], char const (&) [4u], char const (&) [4u], char const (&) [4u], clang::InputKind const&)"},
-    {"_ZN5clang22AttachHeaderIncludeGenERNS_12PreprocessorEbN4llvm9StringRefE", "clang::AttachHeaderIncludeGen(clang::Preprocessor&, bool, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_122HeaderIncludesCallbackD1Ev", "(anonymous namespace)::HeaderIncludesCallback::~HeaderIncludesCallback()"},
-    {"_ZN12_GLOBAL__N_122HeaderIncludesCallbackD0Ev", "(anonymous namespace)::HeaderIncludesCallback::~HeaderIncludesCallback()"},
-    {"_ZN12_GLOBAL__N_122HeaderIncludesCallback11FileChangedEN5clang14SourceLocationENS1_11PPCallbacks16FileChangeReasonENS1_6SrcMgr18CharacteristicKindE", "(anonymous namespace)::HeaderIncludesCallback::FileChanged(clang::SourceLocation, clang::PPCallbacks::FileChangeReason, clang::SrcMgr::CharacteristicKind)"},
-    {"_ZN5clang24ApplyHeaderSearchOptionsERNS_12HeaderSearchERKNS_19HeaderSearchOptionsERKNS_11LangOptionsERKN4llvm6TripleE", "clang::ApplyHeaderSearchOptions(clang::HeaderSearch&, clang::HeaderSearchOptions const&, clang::LangOptions const&, llvm::Triple const&)"},
-    {"_ZN12_GLOBAL__N_116InitHeaderSearch7AddPathERKN4llvm5TwineEN5clang8frontend15IncludeDirGroupEbbbb", "(anonymous namespace)::InitHeaderSearch::AddPath(llvm::Twine const&, clang::frontend::IncludeDirGroup, bool, bool, bool, bool)"},
-    {"_ZN12_GLOBAL__N_116InitHeaderSearch17AddDelimitedPathsEN4llvm9StringRefE", "(anonymous namespace)::InitHeaderSearch::AddDelimitedPaths(llvm::StringRef)"},
-    {"_Z16RemoveDuplicatesRSt6vectorIN5clang15DirectoryLookupESaIS1_EEb", "RemoveDuplicates(std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> >&, bool)"},
-    {"_ZN12_GLOBAL__N_116InitHeaderSearch27AddGnuCPlusPlusIncludePathsEN4llvm9StringRefES2_S2_S2_RKNS1_6TripleE", "(anonymous namespace)::InitHeaderSearch::AddGnuCPlusPlusIncludePaths(llvm::StringRef, llvm::StringRef, llvm::StringRef, llvm::StringRef, llvm::Triple const&)"},
-    {"_ZN12_GLOBAL__N_116InitHeaderSearch29AddMinGWCPlusPlusIncludePathsEN4llvm9StringRefES2_S2_", "(anonymous namespace)::InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(llvm::StringRef, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNSt6vectorIN5clang15DirectoryLookupESaIS1_EEaSERKS3_", "std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> >::operator=(std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> > const&)"},
-    {"_ZNSt6vectorIN5clang15DirectoryLookupESaIS1_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEEEvS8_T_S9_St20forward_iterator_tag", "void std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> >::_M_range_insert<__gnu_cxx::__normal_iterator<clang::DirectoryLookup*, std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> > > >(__gnu_cxx::__normal_iterator<clang::DirectoryLookup*, std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> > >, __gnu_cxx::__normal_iterator<clang::DirectoryLookup*, std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> > >, __gnu_cxx::__normal_iterator<clang::DirectoryLookup*, std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> > >, std::forward_iterator_tag)"},
-    {"_ZNSt6vectorIN5clang15DirectoryLookupESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::DirectoryLookup*, std::vector<clang::DirectoryLookup, std::allocator<clang::DirectoryLookup> > >, clang::DirectoryLookup const&)"},
-    {"_ZN5clang24NormalizeDashIncludePathEN4llvm9StringRefE", "clang::NormalizeDashIncludePath(llvm::StringRef)"},
-    {"_ZN5clang22InitializePreprocessorERNS_12PreprocessorERKNS_19PreprocessorOptionsERKNS_19HeaderSearchOptionsERKNS_15FrontendOptionsE", "clang::InitializePreprocessor(clang::Preprocessor&, clang::PreprocessorOptions const&, clang::HeaderSearchOptions const&, clang::FrontendOptions const&)"},
-    {"_Z18AddImplicitIncludeRN5clang12MacroBuilderEN4llvm9StringRefE", "AddImplicitInclude(clang::MacroBuilder&, llvm::StringRef)"},
-    {"_Z17DefineFloatMacrosRN5clang12MacroBuilderEN4llvm9StringRefEPKNS2_12fltSemanticsE", "DefineFloatMacros(clang::MacroBuilder&, llvm::StringRef, llvm::fltSemantics const*)"},
-    {"_Z23DefineExactWidthIntTypeN5clang10TargetInfo7IntTypeERKS0_RNS_12MacroBuilderE", "DefineExactWidthIntType(clang::TargetInfo::IntType, clang::TargetInfo const&, clang::MacroBuilder&)"},
-    {"_ZN5clang12LangStandard22getLangStandardForKindENS0_4KindE", "clang::LangStandard::getLangStandardForKind(clang::LangStandard::Kind)"},
-    {"_ZN5clang12LangStandard22getLangStandardForNameEN4llvm9StringRefE", "clang::LangStandard::getLangStandardForName(llvm::StringRef)"},
-    {"_ZN5clang35MultiplexASTDeserializationListenerC1ERKSt6vectorIPNS_26ASTDeserializationListenerESaIS3_EE", "clang::MultiplexASTDeserializationListener::MultiplexASTDeserializationListener(std::vector<clang::ASTDeserializationListener*, std::allocator<clang::ASTDeserializationListener*> > const&)"},
-    {"_ZN5clang35MultiplexASTDeserializationListenerC2ERKSt6vectorIPNS_26ASTDeserializationListenerESaIS3_EE", "clang::MultiplexASTDeserializationListener::MultiplexASTDeserializationListener(std::vector<clang::ASTDeserializationListener*, std::allocator<clang::ASTDeserializationListener*> > const&)"},
-    {"_ZN5clang35MultiplexASTDeserializationListener17ReaderInitializedEPNS_9ASTReaderE", "clang::MultiplexASTDeserializationListener::ReaderInitialized(clang::ASTReader*)"},
-    {"_ZN5clang35MultiplexASTDeserializationListener14IdentifierReadEjPNS_14IdentifierInfoE", "clang::MultiplexASTDeserializationListener::IdentifierRead(unsigned int, clang::IdentifierInfo*)"},
-    {"_ZN5clang35MultiplexASTDeserializationListener8TypeReadENS_13serialization7TypeIdxENS_8QualTypeE", "clang::MultiplexASTDeserializationListener::TypeRead(clang::serialization::TypeIdx, clang::QualType)"},
-    {"_ZN5clang35MultiplexASTDeserializationListener8DeclReadEjPKNS_4DeclE", "clang::MultiplexASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*)"},
-    {"_ZN5clang35MultiplexASTDeserializationListener12SelectorReadEjNS_8SelectorE", "clang::MultiplexASTDeserializationListener::SelectorRead(unsigned int, clang::Selector)"},
-    {"_ZN5clang35MultiplexASTDeserializationListener19MacroDefinitionReadEjPNS_15MacroDefinitionE", "clang::MultiplexASTDeserializationListener::MacroDefinitionRead(unsigned int, clang::MacroDefinition*)"},
-    {"_ZN5clang28MultiplexASTMutationListenerC1ERKSt6vectorIPNS_19ASTMutationListenerESaIS3_EE", "clang::MultiplexASTMutationListener::MultiplexASTMutationListener(std::vector<clang::ASTMutationListener*, std::allocator<clang::ASTMutationListener*> > const&)"},
-    {"_ZN5clang28MultiplexASTMutationListenerC2ERKSt6vectorIPNS_19ASTMutationListenerESaIS3_EE", "clang::MultiplexASTMutationListener::MultiplexASTMutationListener(std::vector<clang::ASTMutationListener*, std::allocator<clang::ASTMutationListener*> > const&)"},
-    {"_ZN5clang28MultiplexASTMutationListener22CompletedTagDefinitionEPKNS_7TagDeclE", "clang::MultiplexASTMutationListener::CompletedTagDefinition(clang::TagDecl const*)"},
-    {"_ZN5clang28MultiplexASTMutationListener16AddedVisibleDeclEPKNS_11DeclContextEPKNS_4DeclE", "clang::MultiplexASTMutationListener::AddedVisibleDecl(clang::DeclContext const*, clang::Decl const*)"},
-    {"_ZN5clang28MultiplexASTMutationListener22AddedCXXImplicitMemberEPKNS_13CXXRecordDeclEPKNS_4DeclE", "clang::MultiplexASTMutationListener::AddedCXXImplicitMember(clang::CXXRecordDecl const*, clang::Decl const*)"},
-    {"_ZN5clang28MultiplexASTMutationListener30AddedCXXTemplateSpecializationEPKNS_17ClassTemplateDeclEPKNS_31ClassTemplateSpecializationDeclE", "clang::MultiplexASTMutationListener::AddedCXXTemplateSpecialization(clang::ClassTemplateDecl const*, clang::ClassTemplateSpecializationDecl const*)"},
-    {"_ZN5clang17MultiplexConsumerC1ERKSt6vectorIPNS_11ASTConsumerESaIS3_EE", "clang::MultiplexConsumer::MultiplexConsumer(std::vector<clang::ASTConsumer*, std::allocator<clang::ASTConsumer*> > const&)"},
-    {"_ZN5clang17MultiplexConsumerC2ERKSt6vectorIPNS_11ASTConsumerESaIS3_EE", "clang::MultiplexConsumer::MultiplexConsumer(std::vector<clang::ASTConsumer*, std::allocator<clang::ASTConsumer*> > const&)"},
-    {"_ZN5clang17MultiplexConsumerD0Ev", "clang::MultiplexConsumer::~MultiplexConsumer()"},
-    {"_ZN5clang17MultiplexConsumerD1Ev", "clang::MultiplexConsumer::~MultiplexConsumer()"},
-    {"_ZN5clang17MultiplexConsumerD2Ev", "clang::MultiplexConsumer::~MultiplexConsumer()"},
-    {"_ZN5clang17MultiplexConsumer10InitializeERNS_10ASTContextE", "clang::MultiplexConsumer::Initialize(clang::ASTContext&)"},
-    {"_ZN5clang17MultiplexConsumer18HandleTopLevelDeclENS_12DeclGroupRefE", "clang::MultiplexConsumer::HandleTopLevelDecl(clang::DeclGroupRef)"},
-    {"_ZN5clang17MultiplexConsumer21HandleInterestingDeclENS_12DeclGroupRefE", "clang::MultiplexConsumer::HandleInterestingDecl(clang::DeclGroupRef)"},
-    {"_ZN5clang17MultiplexConsumer21HandleTranslationUnitERNS_10ASTContextE", "clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN5clang17MultiplexConsumer23HandleTagDeclDefinitionEPNS_7TagDeclE", "clang::MultiplexConsumer::HandleTagDeclDefinition(clang::TagDecl*)"},
-    {"_ZN5clang17MultiplexConsumer27CompleteTentativeDefinitionEPNS_7VarDeclE", "clang::MultiplexConsumer::CompleteTentativeDefinition(clang::VarDecl*)"},
-    {"_ZN5clang17MultiplexConsumer12HandleVTableEPNS_13CXXRecordDeclEb", "clang::MultiplexConsumer::HandleVTable(clang::CXXRecordDecl*, bool)"},
-    {"_ZN5clang17MultiplexConsumer22GetASTMutationListenerEv", "clang::MultiplexConsumer::GetASTMutationListener()"},
-    {"_ZN5clang17MultiplexConsumer29GetASTDeserializationListenerEv", "clang::MultiplexConsumer::GetASTDeserializationListener()"},
-    {"_ZN5clang17MultiplexConsumer10PrintStatsEv", "clang::MultiplexConsumer::PrintStats()"},
-    {"_ZN5clang17MultiplexConsumer14InitializeSemaERNS_4SemaE", "clang::MultiplexConsumer::InitializeSema(clang::Sema&)"},
-    {"_ZN5clang17MultiplexConsumer10ForgetSemaEv", "clang::MultiplexConsumer::ForgetSema()"},
-    {"_ZN5clang35MultiplexASTDeserializationListenerD1Ev", "clang::MultiplexASTDeserializationListener::~MultiplexASTDeserializationListener()"},
-    {"_ZN5clang35MultiplexASTDeserializationListenerD0Ev", "clang::MultiplexASTDeserializationListener::~MultiplexASTDeserializationListener()"},
-    {"_ZN5clang28MultiplexASTMutationListenerD1Ev", "clang::MultiplexASTMutationListener::~MultiplexASTMutationListener()"},
-    {"_ZN5clang28MultiplexASTMutationListenerD0Ev", "clang::MultiplexASTMutationListener::~MultiplexASTMutationListener()"},
-    {"_ZNSt6vectorIPN5clang26ASTDeserializationListenerESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::ASTDeserializationListener*, std::allocator<clang::ASTDeserializationListener*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ASTDeserializationListener**, std::vector<clang::ASTDeserializationListener*, std::allocator<clang::ASTDeserializationListener*> > >, clang::ASTDeserializationListener* const&)"},
-    {"_ZNSt6vectorIPN5clang19ASTMutationListenerESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::ASTMutationListener*, std::allocator<clang::ASTMutationListener*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ASTMutationListener**, std::vector<clang::ASTMutationListener*, std::allocator<clang::ASTMutationListener*> > >, clang::ASTMutationListener* const&)"},
-    {"_ZN5clang12SemaConsumerD1Ev", "clang::SemaConsumer::~SemaConsumer()"},
-    {"_ZN5clang12SemaConsumerD0Ev", "clang::SemaConsumer::~SemaConsumer()"},
-    {"_ZN5clang12SemaConsumer14InitializeSemaERNS_4SemaE", "clang::SemaConsumer::InitializeSema(clang::Sema&)"},
-    {"_ZN5clang12SemaConsumer10ForgetSemaEv", "clang::SemaConsumer::ForgetSema()"},
-    {"_ZN5clang24DoPrintPreprocessedInputERNS_12PreprocessorEPN4llvm11raw_ostreamERKNS_25PreprocessorOutputOptionsE", "clang::DoPrintPreprocessedInput(clang::Preprocessor&, llvm::raw_ostream*, clang::PreprocessorOutputOptions const&)"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacks10MoveToLineEj", "(anonymous namespace)::PrintPPOutputPPCallbacks::MoveToLine(unsigned int)"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacks13WriteLineInfoEjPKcj", "(anonymous namespace)::PrintPPOutputPPCallbacks::WriteLineInfo(unsigned int, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_120UnknownPragmaHandlerD1Ev", "(anonymous namespace)::UnknownPragmaHandler::~UnknownPragmaHandler()"},
-    {"_ZN12_GLOBAL__N_120UnknownPragmaHandlerD0Ev", "(anonymous namespace)::UnknownPragmaHandler::~UnknownPragmaHandler()"},
-    {"_ZN12_GLOBAL__N_120UnknownPragmaHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::UnknownPragmaHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacksD1Ev", "(anonymous namespace)::PrintPPOutputPPCallbacks::~PrintPPOutputPPCallbacks()"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacksD0Ev", "(anonymous namespace)::PrintPPOutputPPCallbacks::~PrintPPOutputPPCallbacks()"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacks11FileChangedEN5clang14SourceLocationENS1_11PPCallbacks16FileChangeReasonENS1_6SrcMgr18CharacteristicKindE", "(anonymous namespace)::PrintPPOutputPPCallbacks::FileChanged(clang::SourceLocation, clang::PPCallbacks::FileChangeReason, clang::SrcMgr::CharacteristicKind)"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacks5IdentEN5clang14SourceLocationERKSs", "(anonymous namespace)::PrintPPOutputPPCallbacks::Ident(clang::SourceLocation, std::string const&)"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacks13PragmaCommentEN5clang14SourceLocationEPKNS1_14IdentifierInfoERKSs", "(anonymous namespace)::PrintPPOutputPPCallbacks::PragmaComment(clang::SourceLocation, clang::IdentifierInfo const*, std::string const&)"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacks13PragmaMessageEN5clang14SourceLocationEN4llvm9StringRefE", "(anonymous namespace)::PrintPPOutputPPCallbacks::PragmaMessage(clang::SourceLocation, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacks12MacroDefinedERKN5clang5TokenEPKNS1_9MacroInfoE", "(anonymous namespace)::PrintPPOutputPPCallbacks::MacroDefined(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN12_GLOBAL__N_124PrintPPOutputPPCallbacks14MacroUndefinedERKN5clang5TokenEPKNS1_9MacroInfoE", "(anonymous namespace)::PrintPPOutputPPCallbacks::MacroUndefined(clang::Token const&, clang::MacroInfo const*)"},
-    {"_Z20PrintMacroDefinitionRKN5clang14IdentifierInfoERKNS_9MacroInfoERNS_12PreprocessorERN4llvm11raw_ostreamE", "PrintMacroDefinition(clang::IdentifierInfo const&, clang::MacroInfo const&, clang::Preprocessor&, llvm::raw_ostream&)"},
-    {"_Z14MacroIDComparePKvS0_", "MacroIDCompare(void const*, void const*)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIPN5clang14IdentifierInfoEPNS2_9MacroInfoEEE6appendINS_16DenseMapIteratorIS4_S6_NS_12DenseMapInfoIS4_EENSB_IS6_EELb1EEEEEvT_SF_", "void llvm::SmallVectorImpl<std::pair<clang::IdentifierInfo*, clang::MacroInfo*> >::append<llvm::DenseMapIterator<clang::IdentifierInfo*, clang::MacroInfo*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::MacroInfo*>, true> >(llvm::DenseMapIterator<clang::IdentifierInfo*, clang::MacroInfo*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::MacroInfo*>, true>, llvm::DenseMapIterator<clang::IdentifierInfo*, clang::MacroInfo*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::MacroInfo*>, true>)"},
-    {"_ZN5clang11DocumentXML9PrintStmtEPKNS_4StmtE", "clang::DocumentXML::PrintStmt(clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_17StmtXML11DumpSubTreeEPN5clang4StmtE", "(anonymous namespace)::StmtXML::DumpSubTree(clang::Stmt*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_17StmtXMLEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::StmtXML, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_17StmtXML19VisitBinaryOperatorEPN5clang14BinaryOperatorE", "(anonymous namespace)::StmtXML::VisitBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN12_GLOBAL__N_17StmtXML21VisitCXXConstructExprEPN5clang16CXXConstructExprE", "(anonymous namespace)::StmtXML::VisitCXXConstructExpr(clang::CXXConstructExpr*)"},
-    {"_ZN12_GLOBAL__N_17StmtXML13VisitCallExprEPN5clang8CallExprE", "(anonymous namespace)::StmtXML::VisitCallExpr(clang::CallExpr*)"},
-    {"_ZN12_GLOBAL__N_17StmtXML18VisitUnaryOperatorEPN5clang13UnaryOperatorE", "(anonymous namespace)::StmtXML::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN12_GLOBAL__N_17StmtXML9VisitStmtEPN5clang4StmtE", "(anonymous namespace)::StmtXML::VisitStmt(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_17StmtXML21VisitCXXNamedCastExprEPN5clang16CXXNamedCastExprE", "(anonymous namespace)::StmtXML::VisitCXXNamedCastExpr(clang::CXXNamedCastExpr*)"},
-    {"_ZN5clang20TextDiagnosticBuffer16HandleDiagnosticENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::TextDiagnosticBuffer::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZNK5clang20TextDiagnosticBuffer16FlushDiagnosticsERNS_10DiagnosticE", "clang::TextDiagnosticBuffer::FlushDiagnostics(clang::Diagnostic&) const"},
-    {"_ZN5clang20TextDiagnosticBufferD1Ev", "clang::TextDiagnosticBuffer::~TextDiagnosticBuffer()"},
-    {"_ZN5clang20TextDiagnosticBufferD0Ev", "clang::TextDiagnosticBuffer::~TextDiagnosticBuffer()"},
-    {"_ZNSt6vectorISt4pairIN5clang14SourceLocationESsESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<clang::SourceLocation, std::string>*, std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > > >, std::pair<clang::SourceLocation, std::string> const&)"},
-    {"_ZN5clang20TextDiagnosticBufferD2Ev", "clang::TextDiagnosticBuffer::~TextDiagnosticBuffer()"},
-    {"_ZN5clang21TextDiagnosticPrinterC1ERN4llvm11raw_ostreamERKNS_17DiagnosticOptionsEb", "clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&, clang::DiagnosticOptions const&, bool)"},
-    {"_ZN5clang21TextDiagnosticPrinterC2ERN4llvm11raw_ostreamERKNS_17DiagnosticOptionsEb", "clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&, clang::DiagnosticOptions const&, bool)"},
-    {"_ZN5clang21TextDiagnosticPrinterD0Ev", "clang::TextDiagnosticPrinter::~TextDiagnosticPrinter()"},
-    {"_ZN5clang21TextDiagnosticPrinterD1Ev", "clang::TextDiagnosticPrinter::~TextDiagnosticPrinter()"},
-    {"_ZN5clang21TextDiagnosticPrinterD2Ev", "clang::TextDiagnosticPrinter::~TextDiagnosticPrinter()"},
-    {"_ZN5clang21TextDiagnosticPrinter17PrintIncludeStackENS_14SourceLocationERKNS_13SourceManagerE", "clang::TextDiagnosticPrinter::PrintIncludeStack(clang::SourceLocation, clang::SourceManager const&)"},
-    {"_ZN5clang21TextDiagnosticPrinter14HighlightRangeERKNS_15CharSourceRangeERKNS_13SourceManagerEjNS_6FileIDERSsRKSs", "clang::TextDiagnosticPrinter::HighlightRange(clang::CharSourceRange const&, clang::SourceManager const&, unsigned int, clang::FileID, std::string&, std::string const&)"},
-    {"_ZN5clang21TextDiagnosticPrinter19EmitCaretDiagnosticENS_14SourceLocationEPNS_15CharSourceRangeEjRKNS_13SourceManagerEPKNS_9FixItHintEjjjjj", "clang::TextDiagnosticPrinter::EmitCaretDiagnostic(clang::SourceLocation, clang::CharSourceRange*, unsigned int, clang::SourceManager const&, clang::FixItHint const*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN5clang21TextDiagnosticPrinter16HandleDiagnosticENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::TextDiagnosticPrinter::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_Z13findEndOfWordjRKN4llvm15SmallVectorImplIcEEjjj", "findEndOfWord(unsigned int, llvm::SmallVectorImpl<char> const&, unsigned int, unsigned int, unsigned int)"},
-    {"_ZNK5clang13SourceManager16getDecomposedLocENS_14SourceLocationE", "clang::SourceManager::getDecomposedLoc(clang::SourceLocation) const"},
-    {"_ZNK5clang13SourceManager29getDecomposedInstantiationLocENS_14SourceLocationE", "clang::SourceManager::getDecomposedInstantiationLoc(clang::SourceLocation) const"},
-    {"_ZN5clang21TextDiagnosticPrinter15BeginSourceFileERKNS_11LangOptionsEPKNS_12PreprocessorE", "clang::TextDiagnosticPrinter::BeginSourceFile(clang::LangOptions const&, clang::Preprocessor const*)"},
-    {"_ZN5clang21TextDiagnosticPrinter13EndSourceFileEv", "clang::TextDiagnosticPrinter::EndSourceFile()"},
-    {"_ZNK5clang13SourceManager16isOffsetInFileIDENS_6FileIDEj", "clang::SourceManager::isOffsetInFileID(clang::FileID, unsigned int) const"},
-    {"_ZN5clang11DocumentXML14addParentTypesEPKNS_4TypeE", "clang::DocumentXML::addParentTypes(clang::Type const*)"},
-    {"_ZN5clang11DocumentXML14writeTypeToXMLEPKNS_4TypeE", "clang::DocumentXML::writeTypeToXML(clang::Type const*)"},
-    {"_ZN5clang11DocumentXML14writeTypeToXMLERKNS_8QualTypeE", "clang::DocumentXML::writeTypeToXML(clang::QualType const&)"},
-    {"_ZN5clang3XML12_GLOBAL__N_110TypeWriter9VisitTypeEPKNS_4TypeE", "clang::XML::(anonymous namespace)::TypeWriter::VisitType(clang::Type const*)"},
-    {"_ZN5clang11TypeVisitorINS_11DocumentXML9TypeAdderEvE5VisitEPKNS_4TypeE", "clang::TypeVisitor<clang::DocumentXML::TypeAdder, void>::Visit(clang::Type const*)"},
-    {"_ZN5clang11DocumentXML12addAttributeIN4llvm5APIntEEEvPKcRKT_", "void clang::DocumentXML::addAttribute<llvm::APInt>(char const*, llvm::APInt const&)"},
-    {"_ZN5clang11DocumentXML12addAttributeINS_10Qualifiers2GCEEEvPKcRKT_", "void clang::DocumentXML::addAttribute<clang::Qualifiers::GC>(char const*, clang::Qualifiers::GC const&)"},
-    {"_ZN5clang23VerifyDiagnosticsClientC1ERNS_10DiagnosticEPNS_16DiagnosticClientE", "clang::VerifyDiagnosticsClient::VerifyDiagnosticsClient(clang::Diagnostic&, clang::DiagnosticClient*)"},
-    {"_ZN5clang23VerifyDiagnosticsClientC2ERNS_10DiagnosticEPNS_16DiagnosticClientE", "clang::VerifyDiagnosticsClient::VerifyDiagnosticsClient(clang::Diagnostic&, clang::DiagnosticClient*)"},
-    {"_ZN5clang23VerifyDiagnosticsClientD0Ev", "clang::VerifyDiagnosticsClient::~VerifyDiagnosticsClient()"},
-    {"_ZN5clang23VerifyDiagnosticsClientD1Ev", "clang::VerifyDiagnosticsClient::~VerifyDiagnosticsClient()"},
-    {"_ZN5clang23VerifyDiagnosticsClientD2Ev", "clang::VerifyDiagnosticsClient::~VerifyDiagnosticsClient()"},
-    {"_ZN5clang23VerifyDiagnosticsClient16CheckDiagnosticsEv", "clang::VerifyDiagnosticsClient::CheckDiagnostics()"},
-    {"_ZN5clang23VerifyDiagnosticsClient15BeginSourceFileERKNS_11LangOptionsEPKNS_12PreprocessorE", "clang::VerifyDiagnosticsClient::BeginSourceFile(clang::LangOptions const&, clang::Preprocessor const*)"},
-    {"_ZN5clang23VerifyDiagnosticsClient13EndSourceFileEv", "clang::VerifyDiagnosticsClient::EndSourceFile()"},
-    {"_ZN5clang23VerifyDiagnosticsClient16HandleDiagnosticENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::VerifyDiagnosticsClient::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_Z12PrintProblemRN5clang10DiagnosticEPNS_13SourceManagerEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_14SourceLocationESsESt6vectorIS8_SaIS8_EEEESE_PKcb", "PrintProblem(clang::Diagnostic&, clang::SourceManager*, __gnu_cxx::__normal_iterator<std::pair<clang::SourceLocation, std::string> const*, std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<clang::SourceLocation, std::string> const*, std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > > >, char const*, bool)"},
-    {"_Z10CheckListsRN5clang10DiagnosticERNS_13SourceManagerEPKcRSt6vectorIPN12_GLOBAL__N_19DirectiveESaIS9_EEN9__gnu_cxx17__normal_iteratorIPKSt4pairINS_14SourceLocationESsES6_ISH_SaISH_EEEESM_", "CheckLists(clang::Diagnostic&, clang::SourceManager&, char const*, std::vector<(anonymous namespace)::Directive*, std::allocator<(anonymous namespace)::Directive*> >&, __gnu_cxx::__normal_iterator<std::pair<clang::SourceLocation, std::string> const*, std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<clang::SourceLocation, std::string> const*, std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > > >)"},
-    {"_ZNSt6vectorIPN12_GLOBAL__N_19DirectiveESaIS2_EE9push_backERKS2_", "std::vector<(anonymous namespace)::Directive*, std::allocator<(anonymous namespace)::Directive*> >::push_back((anonymous namespace)::Directive* const&)"},
-    {"_ZN12_GLOBAL__N_117StandardDirectiveD1Ev", "(anonymous namespace)::StandardDirective::~StandardDirective()"},
-    {"_ZN12_GLOBAL__N_117StandardDirectiveD0Ev", "(anonymous namespace)::StandardDirective::~StandardDirective()"},
-    {"_ZN12_GLOBAL__N_117StandardDirective7isValidERSs", "(anonymous namespace)::StandardDirective::isValid(std::string&)"},
-    {"_ZN12_GLOBAL__N_117StandardDirective5MatchERKSs", "(anonymous namespace)::StandardDirective::Match(std::string const&)"},
-    {"_ZN12_GLOBAL__N_19DirectiveD1Ev", "(anonymous namespace)::Directive::~Directive()"},
-    {"_ZN12_GLOBAL__N_19DirectiveD0Ev", "(anonymous namespace)::Directive::~Directive()"},
-    {"_ZN12_GLOBAL__N_114RegexDirectiveD1Ev", "(anonymous namespace)::RegexDirective::~RegexDirective()"},
-    {"_ZN12_GLOBAL__N_114RegexDirectiveD0Ev", "(anonymous namespace)::RegexDirective::~RegexDirective()"},
-    {"_ZN12_GLOBAL__N_114RegexDirective7isValidERSs", "(anonymous namespace)::RegexDirective::isValid(std::string&)"},
-    {"_ZN12_GLOBAL__N_114RegexDirective5MatchERKSs", "(anonymous namespace)::RegexDirective::Match(std::string const&)"},
-    {"_ZNSt6vectorISt4pairIN5clang14SourceLocationESsESaIS3_EE19_M_range_initializeIN9__gnu_cxx17__normal_iteratorIPKS3_S5_EEEEvT_SC_St20forward_iterator_tag", "void std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > >::_M_range_initialize<__gnu_cxx::__normal_iterator<std::pair<clang::SourceLocation, std::string> const*, std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<clang::SourceLocation, std::string> const*, std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<clang::SourceLocation, std::string> const*, std::vector<std::pair<clang::SourceLocation, std::string>, std::allocator<std::pair<clang::SourceLocation, std::string> > > >, std::forward_iterator_tag)"},
-    {"_ZSt6searchIPKcS1_ET_S2_S2_T0_S3_", "char const* std::search<char const*, char const*>(char const*, char const*, char const*, char const*)"},
-    {"_ZN5clang21ProcessWarningOptionsERNS_10DiagnosticERKNS_17DiagnosticOptionsE", "clang::ProcessWarningOptions(clang::Diagnostic&, clang::DiagnosticOptions const&)"},
-    {"_ZN5clang6driver6ActionD0Ev", "clang::driver::Action::~Action()"},
-    {"_ZN5clang6driver6ActionD1Ev", "clang::driver::Action::~Action()"},
-    {"_ZN5clang6driver6ActionD2Ev", "clang::driver::Action::~Action()"},
-    {"_ZN5clang6driver6Action12getClassNameENS1_11ActionClassE", "clang::driver::Action::getClassName(clang::driver::Action::ActionClass)"},
-    {"_ZN5clang6driver11InputActionC1ERKNS0_3ArgENS0_5types2IDE", "clang::driver::InputAction::InputAction(clang::driver::Arg const&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver11InputActionC2ERKNS0_3ArgENS0_5types2IDE", "clang::driver::InputAction::InputAction(clang::driver::Arg const&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver14BindArchActionC1EPNS0_6ActionEPKc", "clang::driver::BindArchAction::BindArchAction(clang::driver::Action*, char const*)"},
-    {"_ZN5clang6driver14BindArchActionC2EPNS0_6ActionEPKc", "clang::driver::BindArchAction::BindArchAction(clang::driver::Action*, char const*)"},
-    {"_ZN5clang6driver9JobActionC1ENS0_6Action11ActionClassEPS2_NS0_5types2IDE", "clang::driver::JobAction::JobAction(clang::driver::Action::ActionClass, clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver9JobActionC2ENS0_6Action11ActionClassEPS2_NS0_5types2IDE", "clang::driver::JobAction::JobAction(clang::driver::Action::ActionClass, clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver9JobActionC1ENS0_6Action11ActionClassERKN4llvm11SmallVectorIPS2_Lj3EEENS0_5types2IDE", "clang::driver::JobAction::JobAction(clang::driver::Action::ActionClass, llvm::SmallVector<clang::driver::Action*, 3u> const&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver9JobActionC2ENS0_6Action11ActionClassERKN4llvm11SmallVectorIPS2_Lj3EEENS0_5types2IDE", "clang::driver::JobAction::JobAction(clang::driver::Action::ActionClass, llvm::SmallVector<clang::driver::Action*, 3u> const&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver19PreprocessJobActionC1EPNS0_6ActionENS0_5types2IDE", "clang::driver::PreprocessJobAction::PreprocessJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver19PreprocessJobActionC2EPNS0_6ActionENS0_5types2IDE", "clang::driver::PreprocessJobAction::PreprocessJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver19PrecompileJobActionC1EPNS0_6ActionENS0_5types2IDE", "clang::driver::PrecompileJobAction::PrecompileJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver19PrecompileJobActionC2EPNS0_6ActionENS0_5types2IDE", "clang::driver::PrecompileJobAction::PrecompileJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver16AnalyzeJobActionC1EPNS0_6ActionENS0_5types2IDE", "clang::driver::AnalyzeJobAction::AnalyzeJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver16AnalyzeJobActionC2EPNS0_6ActionENS0_5types2IDE", "clang::driver::AnalyzeJobAction::AnalyzeJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver16CompileJobActionC1EPNS0_6ActionENS0_5types2IDE", "clang::driver::CompileJobAction::CompileJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver16CompileJobActionC2EPNS0_6ActionENS0_5types2IDE", "clang::driver::CompileJobAction::CompileJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver17AssembleJobActionC1EPNS0_6ActionENS0_5types2IDE", "clang::driver::AssembleJobAction::AssembleJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver17AssembleJobActionC2EPNS0_6ActionENS0_5types2IDE", "clang::driver::AssembleJobAction::AssembleJobAction(clang::driver::Action*, clang::driver::types::ID)"},
-    {"_ZN5clang6driver13LinkJobActionC1ERN4llvm11SmallVectorIPNS0_6ActionELj3EEENS0_5types2IDE", "clang::driver::LinkJobAction::LinkJobAction(llvm::SmallVector<clang::driver::Action*, 3u>&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver13LinkJobActionC2ERN4llvm11SmallVectorIPNS0_6ActionELj3EEENS0_5types2IDE", "clang::driver::LinkJobAction::LinkJobAction(llvm::SmallVector<clang::driver::Action*, 3u>&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver13LipoJobActionC1ERN4llvm11SmallVectorIPNS0_6ActionELj3EEENS0_5types2IDE", "clang::driver::LipoJobAction::LipoJobAction(llvm::SmallVector<clang::driver::Action*, 3u>&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver13LipoJobActionC2ERN4llvm11SmallVectorIPNS0_6ActionELj3EEENS0_5types2IDE", "clang::driver::LipoJobAction::LipoJobAction(llvm::SmallVector<clang::driver::Action*, 3u>&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver17DsymutilJobActionC1ERN4llvm11SmallVectorIPNS0_6ActionELj3EEENS0_5types2IDE", "clang::driver::DsymutilJobAction::DsymutilJobAction(llvm::SmallVector<clang::driver::Action*, 3u>&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver17DsymutilJobActionC2ERN4llvm11SmallVectorIPNS0_6ActionELj3EEENS0_5types2IDE", "clang::driver::DsymutilJobAction::DsymutilJobAction(llvm::SmallVector<clang::driver::Action*, 3u>&, clang::driver::types::ID)"},
-    {"_ZN5clang6driver17DsymutilJobActionD1Ev", "clang::driver::DsymutilJobAction::~DsymutilJobAction()"},
-    {"_ZN5clang6driver17DsymutilJobActionD0Ev", "clang::driver::DsymutilJobAction::~DsymutilJobAction()"},
-    {"_ZN5clang6driver13LipoJobActionD1Ev", "clang::driver::LipoJobAction::~LipoJobAction()"},
-    {"_ZN5clang6driver13LipoJobActionD0Ev", "clang::driver::LipoJobAction::~LipoJobAction()"},
-    {"_ZN5clang6driver13LinkJobActionD1Ev", "clang::driver::LinkJobAction::~LinkJobAction()"},
-    {"_ZN5clang6driver13LinkJobActionD0Ev", "clang::driver::LinkJobAction::~LinkJobAction()"},
-    {"_ZN5clang6driver17AssembleJobActionD1Ev", "clang::driver::AssembleJobAction::~AssembleJobAction()"},
-    {"_ZN5clang6driver17AssembleJobActionD0Ev", "clang::driver::AssembleJobAction::~AssembleJobAction()"},
-    {"_ZN5clang6driver16CompileJobActionD1Ev", "clang::driver::CompileJobAction::~CompileJobAction()"},
-    {"_ZN5clang6driver16CompileJobActionD0Ev", "clang::driver::CompileJobAction::~CompileJobAction()"},
-    {"_ZN5clang6driver16AnalyzeJobActionD1Ev", "clang::driver::AnalyzeJobAction::~AnalyzeJobAction()"},
-    {"_ZN5clang6driver16AnalyzeJobActionD0Ev", "clang::driver::AnalyzeJobAction::~AnalyzeJobAction()"},
-    {"_ZN5clang6driver19PrecompileJobActionD1Ev", "clang::driver::PrecompileJobAction::~PrecompileJobAction()"},
-    {"_ZN5clang6driver19PrecompileJobActionD0Ev", "clang::driver::PrecompileJobAction::~PrecompileJobAction()"},
-    {"_ZN5clang6driver19PreprocessJobActionD1Ev", "clang::driver::PreprocessJobAction::~PreprocessJobAction()"},
-    {"_ZN5clang6driver19PreprocessJobActionD0Ev", "clang::driver::PreprocessJobAction::~PreprocessJobAction()"},
-    {"_ZN5clang6driver9JobActionD1Ev", "clang::driver::JobAction::~JobAction()"},
-    {"_ZN5clang6driver9JobActionD0Ev", "clang::driver::JobAction::~JobAction()"},
-    {"_ZN5clang6driver14BindArchActionD1Ev", "clang::driver::BindArchAction::~BindArchAction()"},
-    {"_ZN5clang6driver14BindArchActionD0Ev", "clang::driver::BindArchAction::~BindArchAction()"},
-    {"_ZN5clang6driver11InputActionD1Ev", "clang::driver::InputAction::~InputAction()"},
-    {"_ZN5clang6driver11InputActionD0Ev", "clang::driver::InputAction::~InputAction()"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang6driver6ActionEEaSERKS5_", "llvm::SmallVectorImpl<clang::driver::Action*>::operator=(llvm::SmallVectorImpl<clang::driver::Action*> const&)"},
-    {"_ZN5clang6driver3ArgC1EPKNS0_6OptionEjPKS1_", "clang::driver::Arg::Arg(clang::driver::Option const*, unsigned int, clang::driver::Arg const*)"},
-    {"_ZN5clang6driver3ArgC2EPKNS0_6OptionEjPKS1_", "clang::driver::Arg::Arg(clang::driver::Option const*, unsigned int, clang::driver::Arg const*)"},
-    {"_ZN5clang6driver3ArgC1EPKNS0_6OptionEjPKcPKS1_", "clang::driver::Arg::Arg(clang::driver::Option const*, unsigned int, char const*, clang::driver::Arg const*)"},
-    {"_ZN5clang6driver3ArgC2EPKNS0_6OptionEjPKcPKS1_", "clang::driver::Arg::Arg(clang::driver::Option const*, unsigned int, char const*, clang::driver::Arg const*)"},
-    {"_ZN5clang6driver3ArgC1EPKNS0_6OptionEjPKcS6_PKS1_", "clang::driver::Arg::Arg(clang::driver::Option const*, unsigned int, char const*, char const*, clang::driver::Arg const*)"},
-    {"_ZN5clang6driver3ArgC2EPKNS0_6OptionEjPKcS6_PKS1_", "clang::driver::Arg::Arg(clang::driver::Option const*, unsigned int, char const*, char const*, clang::driver::Arg const*)"},
-    {"_ZN5clang6driver3ArgD1Ev", "clang::driver::Arg::~Arg()"},
-    {"_ZN5clang6driver3ArgD2Ev", "clang::driver::Arg::~Arg()"},
-    {"_ZNK5clang6driver3Arg4dumpEv", "clang::driver::Arg::dump() const"},
-    {"_ZNK5clang6driver3Arg11getAsStringERKNS0_7ArgListE", "clang::driver::Arg::getAsString(clang::driver::ArgList const&) const"},
-    {"_ZNK5clang6driver3Arg6renderERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::Arg::render(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver3Arg13renderAsInputERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::Arg::renderAsInput(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZN5clang6driver12arg_iterator13SkipToNextArgEv", "clang::driver::arg_iterator::SkipToNextArg()"},
-    {"_ZN5clang6driver7ArgListC1Ev", "clang::driver::ArgList::ArgList()"},
-    {"_ZN5clang6driver7ArgListC2Ev", "clang::driver::ArgList::ArgList()"},
-    {"_ZN5clang6driver7ArgListD0Ev", "clang::driver::ArgList::~ArgList()"},
-    {"_ZN5clang6driver7ArgListD1Ev", "clang::driver::ArgList::~ArgList()"},
-    {"_ZN5clang6driver7ArgListD2Ev", "clang::driver::ArgList::~ArgList()"},
-    {"_ZN5clang6driver7ArgList6appendEPNS0_3ArgE", "clang::driver::ArgList::append(clang::driver::Arg*)"},
-    {"_ZNK5clang6driver7ArgList17getLastArgNoClaimENS0_12OptSpecifierE", "clang::driver::ArgList::getLastArgNoClaim(clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList10getLastArgENS0_12OptSpecifierE", "clang::driver::ArgList::getLastArg(clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList10getLastArgENS0_12OptSpecifierES2_", "clang::driver::ArgList::getLastArg(clang::driver::OptSpecifier, clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList10getLastArgENS0_12OptSpecifierES2_S2_", "clang::driver::ArgList::getLastArg(clang::driver::OptSpecifier, clang::driver::OptSpecifier, clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList10getLastArgENS0_12OptSpecifierES2_S2_S2_", "clang::driver::ArgList::getLastArg(clang::driver::OptSpecifier, clang::driver::OptSpecifier, clang::driver::OptSpecifier, clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList7hasFlagENS0_12OptSpecifierES2_b", "clang::driver::ArgList::hasFlag(clang::driver::OptSpecifier, clang::driver::OptSpecifier, bool) const"},
-    {"_ZNK5clang6driver7ArgList15getLastArgValueENS0_12OptSpecifierEN4llvm9StringRefE", "clang::driver::ArgList::getLastArgValue(clang::driver::OptSpecifier, llvm::StringRef) const"},
-    {"_ZNK5clang6driver7ArgList18getLastArgIntValueENS0_12OptSpecifierEiRNS_10DiagnosticE", "clang::driver::ArgList::getLastArgIntValue(clang::driver::OptSpecifier, int, clang::Diagnostic&) const"},
-    {"_ZNK5clang6driver7ArgList15getAllArgValuesENS0_12OptSpecifierE", "clang::driver::ArgList::getAllArgValues(clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList15AddAllArgValuesERN4llvm11SmallVectorIPKcLj16EEENS0_12OptSpecifierES8_S8_", "clang::driver::ArgList::AddAllArgValues(llvm::SmallVector<char const*, 16u>&, clang::driver::OptSpecifier, clang::driver::OptSpecifier, clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList10AddLastArgERN4llvm11SmallVectorIPKcLj16EEENS0_12OptSpecifierE", "clang::driver::ArgList::AddLastArg(llvm::SmallVector<char const*, 16u>&, clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList10AddAllArgsERN4llvm11SmallVectorIPKcLj16EEENS0_12OptSpecifierES8_S8_", "clang::driver::ArgList::AddAllArgs(llvm::SmallVector<char const*, 16u>&, clang::driver::OptSpecifier, clang::driver::OptSpecifier, clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList20AddAllArgsTranslatedERN4llvm11SmallVectorIPKcLj16EEENS0_12OptSpecifierES5_b", "clang::driver::ArgList::AddAllArgsTranslated(llvm::SmallVector<char const*, 16u>&, clang::driver::OptSpecifier, char const*, bool) const"},
-    {"_ZNK5clang6driver7ArgList13MakeArgStringERKN4llvm5TwineE", "clang::driver::ArgList::MakeArgString(llvm::Twine const&) const"},
-    {"_ZNK5clang6driver7ArgList12ClaimAllArgsENS0_12OptSpecifierE", "clang::driver::ArgList::ClaimAllArgs(clang::driver::OptSpecifier) const"},
-    {"_ZNK5clang6driver7ArgList24GetOrMakeJoinedArgStringEjN4llvm9StringRefES3_", "clang::driver::ArgList::GetOrMakeJoinedArgString(unsigned int, llvm::StringRef, llvm::StringRef) const"},
-    {"_ZN5clang6driver12InputArgListC1EPKPKcS5_", "clang::driver::InputArgList::InputArgList(char const* const*, char const* const*)"},
-    {"_ZN5clang6driver12InputArgListC2EPKPKcS5_", "clang::driver::InputArgList::InputArgList(char const* const*, char const* const*)"},
-    {"_ZN5clang6driver12InputArgListD0Ev", "clang::driver::InputArgList::~InputArgList()"},
-    {"_ZN5clang6driver12InputArgListD1Ev", "clang::driver::InputArgList::~InputArgList()"},
-    {"_ZN5clang6driver12InputArgListD2Ev", "clang::driver::InputArgList::~InputArgList()"},
-    {"_ZNK5clang6driver12InputArgList9MakeIndexEN4llvm9StringRefE", "clang::driver::InputArgList::MakeIndex(llvm::StringRef) const"},
-    {"_ZNK5clang6driver12InputArgList9MakeIndexEN4llvm9StringRefES3_", "clang::driver::InputArgList::MakeIndex(llvm::StringRef, llvm::StringRef) const"},
-    {"_ZNK5clang6driver12InputArgList13MakeArgStringEN4llvm9StringRefE", "clang::driver::InputArgList::MakeArgString(llvm::StringRef) const"},
-    {"_ZN5clang6driver14DerivedArgListC1ERKNS0_12InputArgListE", "clang::driver::DerivedArgList::DerivedArgList(clang::driver::InputArgList const&)"},
-    {"_ZN5clang6driver14DerivedArgListC2ERKNS0_12InputArgListE", "clang::driver::DerivedArgList::DerivedArgList(clang::driver::InputArgList const&)"},
-    {"_ZN5clang6driver14DerivedArgListD0Ev", "clang::driver::DerivedArgList::~DerivedArgList()"},
-    {"_ZN5clang6driver14DerivedArgListD1Ev", "clang::driver::DerivedArgList::~DerivedArgList()"},
-    {"_ZN5clang6driver14DerivedArgListD2Ev", "clang::driver::DerivedArgList::~DerivedArgList()"},
-    {"_ZNK5clang6driver14DerivedArgList13MakeArgStringEN4llvm9StringRefE", "clang::driver::DerivedArgList::MakeArgString(llvm::StringRef) const"},
-    {"_ZNK5clang6driver14DerivedArgList11MakeFlagArgEPKNS0_3ArgEPKNS0_6OptionE", "clang::driver::DerivedArgList::MakeFlagArg(clang::driver::Arg const*, clang::driver::Option const*) const"},
-    {"_ZNK5clang6driver14DerivedArgList17MakePositionalArgEPKNS0_3ArgEPKNS0_6OptionEN4llvm9StringRefE", "clang::driver::DerivedArgList::MakePositionalArg(clang::driver::Arg const*, clang::driver::Option const*, llvm::StringRef) const"},
-    {"_ZNK5clang6driver14DerivedArgList15MakeSeparateArgEPKNS0_3ArgEPKNS0_6OptionEN4llvm9StringRefE", "clang::driver::DerivedArgList::MakeSeparateArg(clang::driver::Arg const*, clang::driver::Option const*, llvm::StringRef) const"},
-    {"_ZNK5clang6driver14DerivedArgList13MakeJoinedArgEPKNS0_3ArgEPKNS0_6OptionEN4llvm9StringRefE", "clang::driver::DerivedArgList::MakeJoinedArg(clang::driver::Arg const*, clang::driver::Option const*, llvm::StringRef) const"},
-    {"_ZNK5clang6driver12InputArgList12getArgStringEj", "clang::driver::InputArgList::getArgString(unsigned int) const"},
-    {"_ZNK5clang6driver12InputArgList21getNumInputArgStringsEv", "clang::driver::InputArgList::getNumInputArgStrings() const"},
-    {"_ZNK5clang6driver14DerivedArgList12getArgStringEj", "clang::driver::DerivedArgList::getArgString(unsigned int) const"},
-    {"_ZNK5clang6driver14DerivedArgList21getNumInputArgStringsEv", "clang::driver::DerivedArgList::getNumInputArgStrings() const"},
-    {"_ZNSt6vectorISsSaISsEE22_M_initialize_dispatchIPPKcEEvT_S6_St12__false_type", "void std::vector<std::string, std::allocator<std::string> >::_M_initialize_dispatch<char const**>(char const**, char const**, std::__false_type)"},
-    {"_ZN5clang6driver19createCC1AsOptTableEv", "clang::driver::createCC1AsOptTable()"},
-    {"_ZN5clang6driver17createCC1OptTableEv", "clang::driver::createCC1OptTable()"},
-    {"_ZN5clang6driver11CompilationC1ERKNS0_6DriverERKNS0_9ToolChainEPNS0_12InputArgListEPNS0_14DerivedArgListE", "clang::driver::Compilation::Compilation(clang::driver::Driver const&, clang::driver::ToolChain const&, clang::driver::InputArgList*, clang::driver::DerivedArgList*)"},
-    {"_ZN5clang6driver11CompilationC2ERKNS0_6DriverERKNS0_9ToolChainEPNS0_12InputArgListEPNS0_14DerivedArgListE", "clang::driver::Compilation::Compilation(clang::driver::Driver const&, clang::driver::ToolChain const&, clang::driver::InputArgList*, clang::driver::DerivedArgList*)"},
-    {"_ZN5clang6driver11CompilationD1Ev", "clang::driver::Compilation::~Compilation()"},
-    {"_ZN5clang6driver11CompilationD2Ev", "clang::driver::Compilation::~Compilation()"},
-    {"_ZN5clang6driver11Compilation19getArgsForToolChainEPKNS0_9ToolChainEPKc", "clang::driver::Compilation::getArgsForToolChain(clang::driver::ToolChain const*, char const*)"},
-    {"_ZNK5clang6driver11Compilation8PrintJobERN4llvm11raw_ostreamERKNS0_3JobEPKcb", "clang::driver::Compilation::PrintJob(llvm::raw_ostream&, clang::driver::Job const&, char const*, bool) const"},
-    {"_ZNK5clang6driver11Compilation15CleanupFileListERKN4llvm11SmallVectorIPKcLj16EEEb", "clang::driver::Compilation::CleanupFileList(llvm::SmallVector<char const*, 16u> const&, bool) const"},
-    {"_ZNK5clang6driver11Compilation14ExecuteCommandERKNS0_7CommandERPS3_", "clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const"},
-    {"_ZNK5clang6driver11Compilation10ExecuteJobERKNS0_3JobERPKNS0_7CommandE", "clang::driver::Compilation::ExecuteJob(clang::driver::Job const&, clang::driver::Command const*&) const"},
-    {"_ZNK4llvm8DenseMapISt4pairIPKN5clang6driver9ToolChainEPKcEPNS3_14DerivedArgListENS_12DenseMapInfoIS9_EENSC_ISB_EEE15LookupBucketForERKS9_RPS1_IS9_SB_E", "llvm::DenseMap<std::pair<clang::driver::ToolChain const*, char const*>, clang::driver::DerivedArgList*, llvm::DenseMapInfo<std::pair<clang::driver::ToolChain const*, char const*> >, llvm::DenseMapInfo<clang::driver::DerivedArgList*> >::LookupBucketFor(std::pair<clang::driver::ToolChain const*, char const*> const&, std::pair<std::pair<clang::driver::ToolChain const*, char const*>, clang::driver::DerivedArgList*>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang6driver9ToolChainEPKcEPNS3_14DerivedArgListENS_12DenseMapInfoIS9_EENSC_ISB_EEE16InsertIntoBucketERKS9_RKSB_PS1_IS9_SB_E", "llvm::DenseMap<std::pair<clang::driver::ToolChain const*, char const*>, clang::driver::DerivedArgList*, llvm::DenseMapInfo<std::pair<clang::driver::ToolChain const*, char const*> >, llvm::DenseMapInfo<clang::driver::DerivedArgList*> >::InsertIntoBucket(std::pair<clang::driver::ToolChain const*, char const*> const&, clang::driver::DerivedArgList* const&, std::pair<std::pair<clang::driver::ToolChain const*, char const*>, clang::driver::DerivedArgList*>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang6driver9ToolChainEPKcEPNS3_14DerivedArgListENS_12DenseMapInfoIS9_EENSC_ISB_EEE4growEj", "llvm::DenseMap<std::pair<clang::driver::ToolChain const*, char const*>, clang::driver::DerivedArgList*, llvm::DenseMapInfo<std::pair<clang::driver::ToolChain const*, char const*> >, llvm::DenseMapInfo<clang::driver::DerivedArgList*> >::grow(unsigned int)"},
-    {"_ZN5clang6driver6DriverC1EN4llvm9StringRefES3_S3_bbRNS_10DiagnosticE", "clang::driver::Driver::Driver(llvm::StringRef, llvm::StringRef, llvm::StringRef, bool, bool, clang::Diagnostic&)"},
-    {"_ZN5clang6driver6DriverC2EN4llvm9StringRefES3_S3_bbRNS_10DiagnosticE", "clang::driver::Driver::Driver(llvm::StringRef, llvm::StringRef, llvm::StringRef, bool, bool, clang::Diagnostic&)"},
-    {"_ZN5clang6driver6DriverD1Ev", "clang::driver::Driver::~Driver()"},
-    {"_ZN5clang6driver6DriverD2Ev", "clang::driver::Driver::~Driver()"},
-    {"_ZN5clang6driver6Driver15ParseArgStringsEPPKcS4_", "clang::driver::Driver::ParseArgStrings(char const**, char const**)"},
-    {"_ZNK5clang6driver6Driver18TranslateInputArgsERKNS0_12InputArgListE", "clang::driver::Driver::TranslateInputArgs(clang::driver::InputArgList const&) const"},
-    {"_ZN5clang6driver6Driver16BuildCompilationEiPPKc", "clang::driver::Driver::BuildCompilation(int, char const**)"},
-    {"_ZNK5clang6driver6Driver11GetHostInfoEPKc", "clang::driver::Driver::GetHostInfo(char const*) const"},
-    {"_ZNK5clang6driver6Driver12PrintOptionsERKNS0_7ArgListE", "clang::driver::Driver::PrintOptions(clang::driver::ArgList const&) const"},
-    {"_ZN5clang6driver6Driver19HandleImmediateArgsERKNS0_11CompilationE", "clang::driver::Driver::HandleImmediateArgs(clang::driver::Compilation const&)"},
-    {"_ZNK5clang6driver6Driver21BuildUniversalActionsERKNS0_9ToolChainERKNS0_7ArgListERN4llvm11SmallVectorIPNS0_6ActionELj3EEE", "clang::driver::Driver::BuildUniversalActions(clang::driver::ToolChain const&, clang::driver::ArgList const&, llvm::SmallVector<clang::driver::Action*, 3u>&) const"},
-    {"_ZNK5clang6driver6Driver12BuildActionsERKNS0_9ToolChainERKNS0_7ArgListERN4llvm11SmallVectorIPNS0_6ActionELj3EEE", "clang::driver::Driver::BuildActions(clang::driver::ToolChain const&, clang::driver::ArgList const&, llvm::SmallVector<clang::driver::Action*, 3u>&) const"},
-    {"_ZNK5clang6driver6Driver12PrintActionsERKNS0_11CompilationE", "clang::driver::Driver::PrintActions(clang::driver::Compilation const&) const"},
-    {"_ZNK5clang6driver6Driver9BuildJobsERNS0_11CompilationE", "clang::driver::Driver::BuildJobs(clang::driver::Compilation&) const"},
-    {"_ZNK5clang6driver6Driver18ExecuteCompilationERKNS0_11CompilationE", "clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation const&) const"},
-    {"_ZNK5clang6driver6Driver9PrintHelpEb", "clang::driver::Driver::PrintHelp(bool) const"},
-    {"_ZNK5clang6driver6Driver12PrintVersionERKNS0_11CompilationERN4llvm11raw_ostreamE", "clang::driver::Driver::PrintVersion(clang::driver::Compilation const&, llvm::raw_ostream&) const"},
-    {"_ZNK5clang6driver6Driver11GetFilePathEPKcRKNS0_9ToolChainE", "clang::driver::Driver::GetFilePath(char const*, clang::driver::ToolChain const&) const"},
-    {"_ZNK5clang6driver6Driver14GetProgramPathEPKcRKNS0_9ToolChainEb", "clang::driver::Driver::GetProgramPath(char const*, clang::driver::ToolChain const&, bool) const"},
-    {"_Z13PrintActions1RKN5clang6driver11CompilationEPNS0_6ActionERSt3mapIS5_jSt4lessIS5_ESaISt4pairIKS5_jEEE", "PrintActions1(clang::driver::Compilation const&, clang::driver::Action*, std::map<clang::driver::Action*, unsigned int, std::less<clang::driver::Action*>, std::allocator<std::pair<clang::driver::Action* const, unsigned int> > >&)"},
-    {"_Z21ContainsCompileActionPKN5clang6driver6ActionE", "ContainsCompileAction(clang::driver::Action const*)"},
-    {"_ZNK5clang6driver6Driver20ConstructPhaseActionERKNS0_7ArgListENS0_6phases2IDEPNS0_6ActionE", "clang::driver::Driver::ConstructPhaseAction(clang::driver::ArgList const&, clang::driver::phases::ID, clang::driver::Action*) const"},
-    {"_ZNK5clang6driver6Driver18BuildJobsForActionERNS0_11CompilationEPKNS0_6ActionEPKNS0_9ToolChainEPKcbSB_RNS0_9InputInfoE", "clang::driver::Driver::BuildJobsForAction(clang::driver::Compilation&, clang::driver::Action const*, clang::driver::ToolChain const*, char const*, bool, char const*, clang::driver::InputInfo&) const"},
-    {"_ZNK5clang6driver6Driver18GetNamedOutputPathERNS0_11CompilationERKNS0_9JobActionEPKcb", "clang::driver::Driver::GetNamedOutputPath(clang::driver::Compilation&, clang::driver::JobAction const&, char const*, bool) const"},
-    {"_ZNK5clang6driver6Driver16GetTemporaryPathEPKc", "clang::driver::Driver::GetTemporaryPath(char const*) const"},
-    {"_ZNK5clang6driver6Driver22ShouldUseClangCompilerERKNS0_11CompilationERKNS0_9JobActionERKN4llvm6TripleE", "clang::driver::Driver::ShouldUseClangCompiler(clang::driver::Compilation const&, clang::driver::JobAction const&, llvm::Triple const&) const"},
-    {"_ZN5clang6driver6Driver17GetReleaseVersionEPKcRjS4_S4_Rb", "clang::driver::Driver::GetReleaseVersion(char const*, unsigned int&, unsigned int&, unsigned int&, bool&)"},
-    {"_ZN4llvm22PrettyStackTraceStringD1Ev", "llvm::PrettyStackTraceString::~PrettyStackTraceString()"},
-    {"_ZN4llvm9StringSetINS_15MallocAllocatorEE6insertENS_9StringRefE", "llvm::StringSet<llvm::MallocAllocator>::insert(llvm::StringRef)"},
-    {"_ZNK5clang6driver9InputInfo11getAsStringEv", "clang::driver::InputInfo::getAsString() const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang6driver9InputInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::driver::InputInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISsLb0EE4growEm", "llvm::SmallVectorTemplateBase<std::string, false>::grow(unsigned long)"},
-    {"_ZNSt8_Rb_treeIN4llvm6Triple8ArchTypeES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<llvm::Triple::ArchType, llvm::Triple::ArchType, std::_Identity<llvm::Triple::ArchType>, std::less<llvm::Triple::ArchType>, std::allocator<llvm::Triple::ArchType> >::_M_erase(std::_Rb_tree_node<llvm::Triple::ArchType>*)"},
-    {"_ZNSt8_Rb_treeIN4llvm6Triple8ArchTypeES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<llvm::Triple::ArchType, llvm::Triple::ArchType, std::_Identity<llvm::Triple::ArchType>, std::less<llvm::Triple::ArchType>, std::allocator<llvm::Triple::ArchType> >::_M_insert_unique(llvm::Triple::ArchType const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang6driver6ActionESt4pairIKS3_jESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<clang::driver::Action*, std::pair<clang::driver::Action* const, unsigned int>, std::_Select1st<std::pair<clang::driver::Action* const, unsigned int> >, std::less<clang::driver::Action*>, std::allocator<std::pair<clang::driver::Action* const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::driver::Action* const, unsigned int> >*)"},
-    {"_ZNK4llvm18raw_string_ostream11current_posEv", "llvm::raw_string_ostream::current_pos() const"},
-    {"_ZNSt8_Rb_treeIPN5clang6driver6ActionESt4pairIKS3_jESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<clang::driver::Action*, std::pair<clang::driver::Action* const, unsigned int>, std::_Select1st<std::pair<clang::driver::Action* const, unsigned int> >, std::less<clang::driver::Action*>, std::allocator<std::pair<clang::driver::Action* const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::driver::Action* const, unsigned int> >, std::pair<clang::driver::Action* const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang6driver6ActionESt4pairIKS3_jESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<clang::driver::Action*, std::pair<clang::driver::Action* const, unsigned int>, std::_Select1st<std::pair<clang::driver::Action* const, unsigned int> >, std::less<clang::driver::Action*>, std::allocator<std::pair<clang::driver::Action* const, unsigned int> > >::_M_insert_unique(std::pair<clang::driver::Action* const, unsigned int> const&)"},
-    {"_ZN4llvm6TripleC2ENS_9StringRefES1_S1_", "llvm::Triple::Triple(llvm::StringRef, llvm::StringRef, llvm::StringRef)"},
-    {"_ZN4llvm22PrettyStackTraceStringD0Ev", "llvm::PrettyStackTraceString::~PrettyStackTraceString()"},
-    {"_ZN5clang6driver20createDriverOptTableEv", "clang::driver::createDriverOptTable()"},
-    {"_ZN5clang6driver8HostInfoC1ERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::HostInfo::HostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver8HostInfoC2ERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::HostInfo::HostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver8HostInfoD0Ev", "clang::driver::HostInfo::~HostInfo()"},
-    {"_ZN5clang6driver8HostInfoD1Ev", "clang::driver::HostInfo::~HostInfo()"},
-    {"_ZN5clang6driver8HostInfoD2Ev", "clang::driver::HostInfo::~HostInfo()"},
-    {"_ZN5clang6driver22createAuroraUXHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createAuroraUXHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver20createDarwinHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createDarwinHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver21createOpenBSDHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createOpenBSDHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver21createFreeBSDHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createFreeBSDHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver20createNetBSDHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createNetBSDHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver19createMinixHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createMinixHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver23createDragonFlyHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createDragonFlyHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver19createLinuxHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createLinuxHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver17createTCEHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createTCEHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver21createWindowsHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createWindowsHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver19createMinGWHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createMinGWHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver21createUnknownHostInfoERKNS0_6DriverERKN4llvm6TripleE", "clang::driver::createUnknownHostInfo(clang::driver::Driver const&, llvm::Triple const&)"},
-    {"_ZN12_GLOBAL__N_115UnknownHostInfoD1Ev", "(anonymous namespace)::UnknownHostInfo::~UnknownHostInfo()"},
-    {"_ZN12_GLOBAL__N_115UnknownHostInfoD0Ev", "(anonymous namespace)::UnknownHostInfo::~UnknownHostInfo()"},
-    {"_ZNK12_GLOBAL__N_115UnknownHostInfo15useDriverDriverEv", "(anonymous namespace)::UnknownHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_115UnknownHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::UnknownHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_115UnknownHostInfoD2Ev", "(anonymous namespace)::UnknownHostInfo::~UnknownHostInfo()"},
-    {"_ZN12_GLOBAL__N_113MinGWHostInfoD1Ev", "(anonymous namespace)::MinGWHostInfo::~MinGWHostInfo()"},
-    {"_ZN12_GLOBAL__N_113MinGWHostInfoD0Ev", "(anonymous namespace)::MinGWHostInfo::~MinGWHostInfo()"},
-    {"_ZN12_GLOBAL__N_115WindowsHostInfoD1Ev", "(anonymous namespace)::WindowsHostInfo::~WindowsHostInfo()"},
-    {"_ZN12_GLOBAL__N_115WindowsHostInfoD0Ev", "(anonymous namespace)::WindowsHostInfo::~WindowsHostInfo()"},
-    {"_ZNK12_GLOBAL__N_115WindowsHostInfo15useDriverDriverEv", "(anonymous namespace)::WindowsHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_115WindowsHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::WindowsHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK12_GLOBAL__N_115WindowsHostInfo22lookupTypeForExtensionEPKc", "(anonymous namespace)::WindowsHostInfo::lookupTypeForExtension(char const*) const"},
-    {"_ZN12_GLOBAL__N_111TCEHostInfoD1Ev", "(anonymous namespace)::TCEHostInfo::~TCEHostInfo()"},
-    {"_ZN12_GLOBAL__N_111TCEHostInfoD0Ev", "(anonymous namespace)::TCEHostInfo::~TCEHostInfo()"},
-    {"_ZNK12_GLOBAL__N_111TCEHostInfo15useDriverDriverEv", "(anonymous namespace)::TCEHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_111TCEHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::TCEHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_113LinuxHostInfoD1Ev", "(anonymous namespace)::LinuxHostInfo::~LinuxHostInfo()"},
-    {"_ZN12_GLOBAL__N_113LinuxHostInfoD0Ev", "(anonymous namespace)::LinuxHostInfo::~LinuxHostInfo()"},
-    {"_ZNK12_GLOBAL__N_113LinuxHostInfo15useDriverDriverEv", "(anonymous namespace)::LinuxHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_113LinuxHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::LinuxHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_117DragonFlyHostInfoD1Ev", "(anonymous namespace)::DragonFlyHostInfo::~DragonFlyHostInfo()"},
-    {"_ZN12_GLOBAL__N_117DragonFlyHostInfoD0Ev", "(anonymous namespace)::DragonFlyHostInfo::~DragonFlyHostInfo()"},
-    {"_ZNK12_GLOBAL__N_117DragonFlyHostInfo15useDriverDriverEv", "(anonymous namespace)::DragonFlyHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_117DragonFlyHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::DragonFlyHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_113MinixHostInfoD1Ev", "(anonymous namespace)::MinixHostInfo::~MinixHostInfo()"},
-    {"_ZN12_GLOBAL__N_113MinixHostInfoD0Ev", "(anonymous namespace)::MinixHostInfo::~MinixHostInfo()"},
-    {"_ZNK12_GLOBAL__N_113MinixHostInfo15useDriverDriverEv", "(anonymous namespace)::MinixHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_113MinixHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::MinixHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_114NetBSDHostInfoD1Ev", "(anonymous namespace)::NetBSDHostInfo::~NetBSDHostInfo()"},
-    {"_ZN12_GLOBAL__N_114NetBSDHostInfoD0Ev", "(anonymous namespace)::NetBSDHostInfo::~NetBSDHostInfo()"},
-    {"_ZNK12_GLOBAL__N_114NetBSDHostInfo15useDriverDriverEv", "(anonymous namespace)::NetBSDHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_114NetBSDHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::NetBSDHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_115FreeBSDHostInfoD1Ev", "(anonymous namespace)::FreeBSDHostInfo::~FreeBSDHostInfo()"},
-    {"_ZN12_GLOBAL__N_115FreeBSDHostInfoD0Ev", "(anonymous namespace)::FreeBSDHostInfo::~FreeBSDHostInfo()"},
-    {"_ZNK12_GLOBAL__N_115FreeBSDHostInfo15useDriverDriverEv", "(anonymous namespace)::FreeBSDHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_115FreeBSDHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::FreeBSDHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_115OpenBSDHostInfoD1Ev", "(anonymous namespace)::OpenBSDHostInfo::~OpenBSDHostInfo()"},
-    {"_ZN12_GLOBAL__N_115OpenBSDHostInfoD0Ev", "(anonymous namespace)::OpenBSDHostInfo::~OpenBSDHostInfo()"},
-    {"_ZNK12_GLOBAL__N_115OpenBSDHostInfo15useDriverDriverEv", "(anonymous namespace)::OpenBSDHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_115OpenBSDHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::OpenBSDHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_114DarwinHostInfoD1Ev", "(anonymous namespace)::DarwinHostInfo::~DarwinHostInfo()"},
-    {"_ZN12_GLOBAL__N_114DarwinHostInfoD0Ev", "(anonymous namespace)::DarwinHostInfo::~DarwinHostInfo()"},
-    {"_ZNK12_GLOBAL__N_114DarwinHostInfo15useDriverDriverEv", "(anonymous namespace)::DarwinHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_114DarwinHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::DarwinHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN12_GLOBAL__N_116AuroraUXHostInfoD1Ev", "(anonymous namespace)::AuroraUXHostInfo::~AuroraUXHostInfo()"},
-    {"_ZN12_GLOBAL__N_116AuroraUXHostInfoD0Ev", "(anonymous namespace)::AuroraUXHostInfo::~AuroraUXHostInfo()"},
-    {"_ZNK12_GLOBAL__N_116AuroraUXHostInfo15useDriverDriverEv", "(anonymous namespace)::AuroraUXHostInfo::useDriverDriver() const"},
-    {"_ZNK12_GLOBAL__N_116AuroraUXHostInfo15CreateToolChainERKN5clang6driver7ArgListEPKc", "(anonymous namespace)::AuroraUXHostInfo::CreateToolChain(clang::driver::ArgList const&, char const*) const"},
-    {"_ZN4llvm9StringMapIPN5clang6driver9ToolChainENS_15MallocAllocatorEE16GetOrCreateValueIS4_EERNS_14StringMapEntryIS4_EENS_9StringRefET_", "llvm::StringMapEntry<clang::driver::ToolChain*>& llvm::StringMap<clang::driver::ToolChain*, llvm::MallocAllocator>::GetOrCreateValue<clang::driver::ToolChain*>(llvm::StringRef, clang::driver::ToolChain*)"},
-    {"_ZNK5clang6driver9ToolChain13TranslateArgsERKNS0_14DerivedArgListEPKc", "clang::driver::ToolChain::TranslateArgs(clang::driver::DerivedArgList const&, char const*) const"},
-    {"_ZNK5clang6driver9ToolChain15IsBlocksDefaultEv", "clang::driver::ToolChain::IsBlocksDefault() const"},
-    {"_ZNK5clang6driver9ToolChain28IsIntegratedAssemblerDefaultEv", "clang::driver::ToolChain::IsIntegratedAssemblerDefault() const"},
-    {"_ZNK5clang6driver9ToolChain23IsStrictAliasingDefaultEv", "clang::driver::ToolChain::IsStrictAliasingDefault() const"},
-    {"_ZNK5clang6driver9ToolChain35IsObjCDefaultSynthPropertiesDefaultEv", "clang::driver::ToolChain::IsObjCDefaultSynthPropertiesDefault() const"},
-    {"_ZNK5clang6driver9ToolChain26IsObjCNonFragileABIDefaultEv", "clang::driver::ToolChain::IsObjCNonFragileABIDefault() const"},
-    {"_ZNK5clang6driver9ToolChain27IsObjCLegacyDispatchDefaultEv", "clang::driver::ToolChain::IsObjCLegacyDispatchDefault() const"},
-    {"_ZNK5clang6driver9ToolChain20UseObjCMixedDispatchEv", "clang::driver::ToolChain::UseObjCMixedDispatch() const"},
-    {"_ZNK5clang6driver9ToolChain29GetDefaultStackProtectorLevelEv", "clang::driver::ToolChain::GetDefaultStackProtectorLevel() const"},
-    {"_ZNK5clang6driver10toolchains18Darwin_Generic_GCC25GetDefaultRelocationModelEv", "clang::driver::toolchains::Darwin_Generic_GCC::GetDefaultRelocationModel() const"},
-    {"_ZNK5clang6driver9ToolChain14SupportsObjCGCEv", "clang::driver::ToolChain::SupportsObjCGC() const"},
-    {"_ZNK5clang6driver9ToolChain18UseDwarfDebugFlagsEv", "clang::driver::ToolChain::UseDwarfDebugFlags() const"},
-    {"_ZNK5clang6driver9ToolChain17UseSjLjExceptionsEv", "clang::driver::ToolChain::UseSjLjExceptions() const"},
-    {"_ZN4llvm8DenseMapIjPN5clang6driver9ToolChainENS_12DenseMapInfoIjEENS5_IS4_EEE16InsertIntoBucketERKjRKS4_PSt4pairIjS4_E", "llvm::DenseMap<unsigned int, clang::driver::ToolChain*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<clang::driver::ToolChain*> >::InsertIntoBucket(unsigned int const&, clang::driver::ToolChain* const&, std::pair<unsigned int, clang::driver::ToolChain*>*)"},
-    {"_ZN4llvm8DenseMapIjPN5clang6driver9ToolChainENS_12DenseMapInfoIjEENS5_IS4_EEE4growEj", "llvm::DenseMap<unsigned int, clang::driver::ToolChain*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<clang::driver::ToolChain*> >::grow(unsigned int)"},
-    {"_ZN5clang6driver3JobD0Ev", "clang::driver::Job::~Job()"},
-    {"_ZN5clang6driver3JobD1Ev", "clang::driver::Job::~Job()"},
-    {"_ZN5clang6driver3JobD2Ev", "clang::driver::Job::~Job()"},
-    {"_ZN5clang6driver7CommandC1ERKNS0_6ActionERKNS0_4ToolEPKcRKN4llvm11SmallVectorIS9_Lj16EEE", "clang::driver::Command::Command(clang::driver::Action const&, clang::driver::Tool const&, char const*, llvm::SmallVector<char const*, 16u> const&)"},
-    {"_ZN5clang6driver7CommandC2ERKNS0_6ActionERKNS0_4ToolEPKcRKN4llvm11SmallVectorIS9_Lj16EEE", "clang::driver::Command::Command(clang::driver::Action const&, clang::driver::Tool const&, char const*, llvm::SmallVector<char const*, 16u> const&)"},
-    {"_ZN5clang6driver7JobListC1Ev", "clang::driver::JobList::JobList()"},
-    {"_ZN5clang6driver7JobListC2Ev", "clang::driver::JobList::JobList()"},
-    {"_ZN5clang6driver7JobListD0Ev", "clang::driver::JobList::~JobList()"},
-    {"_ZN5clang6driver7JobListD1Ev", "clang::driver::JobList::~JobList()"},
-    {"_ZN5clang6driver7JobListD2Ev", "clang::driver::JobList::~JobList()"},
-    {"_ZN5clang6driver3Job10addCommandEPNS0_7CommandE", "clang::driver::Job::addCommand(clang::driver::Command*)"},
-    {"_ZN5clang6driver7CommandD1Ev", "clang::driver::Command::~Command()"},
-    {"_ZN5clang6driver7CommandD0Ev", "clang::driver::Command::~Command()"},
-    {"_ZN4llvm15SmallVectorImplIPKcEaSERKS3_", "llvm::SmallVectorImpl<char const*>::operator=(llvm::SmallVectorImpl<char const*> const&)"},
-    {"_ZN5clang6driver12OptSpecifierC1EPKNS0_6OptionE", "clang::driver::OptSpecifier::OptSpecifier(clang::driver::Option const*)"},
-    {"_ZN5clang6driver12OptSpecifierC2EPKNS0_6OptionE", "clang::driver::OptSpecifier::OptSpecifier(clang::driver::Option const*)"},
-    {"_ZN5clang6driver8OptTableC1EPKNS1_4InfoEj", "clang::driver::OptTable::OptTable(clang::driver::OptTable::Info const*, unsigned int)"},
-    {"_ZN5clang6driver8OptTableC2EPKNS1_4InfoEj", "clang::driver::OptTable::OptTable(clang::driver::OptTable::Info const*, unsigned int)"},
-    {"_ZN5clang6driver8OptTableD1Ev", "clang::driver::OptTable::~OptTable()"},
-    {"_ZN5clang6driver8OptTableD2Ev", "clang::driver::OptTable::~OptTable()"},
-    {"_ZNK5clang6driver8OptTable12CreateOptionEj", "clang::driver::OptTable::CreateOption(unsigned int) const"},
-    {"_ZNK5clang6driver8OptTable11ParseOneArgERKNS0_7ArgListERj", "clang::driver::OptTable::ParseOneArg(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZNK5clang6driver8OptTable9ParseArgsEPKPKcS5_RjS6_", "clang::driver::OptTable::ParseArgs(char const* const*, char const* const*, unsigned int&, unsigned int&) const"},
-    {"_ZNK5clang6driver8OptTable9PrintHelpERN4llvm11raw_ostreamEPKcS6_b", "clang::driver::OptTable::PrintHelp(llvm::raw_ostream&, char const*, char const*, bool) const"},
-    {"_ZNSt3mapISsSt6vectorISt4pairISsPKcESaIS4_EESt4lessISsESaIS1_IKSsS6_EEEixERS9_", "std::map<std::string, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > > >::operator[](std::string const&)"},
-    {"_ZNSt6vectorISt4pairISsPKcESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<std::string, char const*>*, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > >, std::pair<std::string, char const*> const&)"},
-    {"_ZNSt6vectorISt4pairISsPKcESaIS3_EEC2ERKS5_", "std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > >::vector(std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsSt6vectorIS0_ISsPKcESaIS5_EEESt10_Select1stIS8_ESt4lessISsESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > >, std::_Select1st<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > >, std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsSt6vectorIS0_ISsPKcESaIS5_EEESt10_Select1stIS8_ESt4lessISsESaIS8_EE9_M_insertEPSt18_Rb_tree_node_baseSG_RKS8_", "std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > >, std::_Select1st<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsSt6vectorIS0_ISsPKcESaIS5_EEESt10_Select1stIS8_ESt4lessISsESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > >, std::_Select1st<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > > >::_M_insert_unique(std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsSt6vectorIS0_ISsPKcESaIS5_EEESt10_Select1stIS8_ESt4lessISsESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > >, std::_Select1st<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > >*)"},
-    {"_ZN9__gnu_cxx13new_allocatorISt4pairIKSsSt6vectorIS1_ISsPKcESaIS6_EEEE7destroyEPS9_", "__gnu_cxx::new_allocator<std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > > >::destroy(std::pair<std::string const, std::vector<std::pair<std::string, char const*>, std::allocator<std::pair<std::string, char const*> > > >*)"},
-    {"_ZN5clang6driver6OptionC1ENS1_11OptionClassENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKS1_", "clang::driver::Option::Option(clang::driver::Option::OptionClass, clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZN5clang6driver6OptionC2ENS1_11OptionClassENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKS1_", "clang::driver::Option::Option(clang::driver::Option::OptionClass, clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZN5clang6driver6OptionD0Ev", "clang::driver::Option::~Option()"},
-    {"_ZN5clang6driver6OptionD1Ev", "clang::driver::Option::~Option()"},
-    {"_ZN5clang6driver6OptionD2Ev", "clang::driver::Option::~Option()"},
-    {"_ZNK5clang6driver6Option4dumpEv", "clang::driver::Option::dump() const"},
-    {"_ZNK5clang6driver6Option7matchesENS0_12OptSpecifierE", "clang::driver::Option::matches(clang::driver::OptSpecifier) const"},
-    {"_ZN5clang6driver11OptionGroupC1ENS0_12OptSpecifierEPKcPKS1_", "clang::driver::OptionGroup::OptionGroup(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*)"},
-    {"_ZN5clang6driver11OptionGroupC2ENS0_12OptSpecifierEPKcPKS1_", "clang::driver::OptionGroup::OptionGroup(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*)"},
-    {"_ZNK5clang6driver11OptionGroup6acceptERKNS0_7ArgListERj", "clang::driver::OptionGroup::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver11InputOptionC1ENS0_12OptSpecifierE", "clang::driver::InputOption::InputOption(clang::driver::OptSpecifier)"},
-    {"_ZN5clang6driver11InputOptionC2ENS0_12OptSpecifierE", "clang::driver::InputOption::InputOption(clang::driver::OptSpecifier)"},
-    {"_ZNK5clang6driver11InputOption6acceptERKNS0_7ArgListERj", "clang::driver::InputOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver13UnknownOptionC1ENS0_12OptSpecifierE", "clang::driver::UnknownOption::UnknownOption(clang::driver::OptSpecifier)"},
-    {"_ZN5clang6driver13UnknownOptionC2ENS0_12OptSpecifierE", "clang::driver::UnknownOption::UnknownOption(clang::driver::OptSpecifier)"},
-    {"_ZNK5clang6driver13UnknownOption6acceptERKNS0_7ArgListERj", "clang::driver::UnknownOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver10FlagOptionC1ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::FlagOption::FlagOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZN5clang6driver10FlagOptionC2ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::FlagOption::FlagOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZNK5clang6driver10FlagOption6acceptERKNS0_7ArgListERj", "clang::driver::FlagOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver12JoinedOptionC1ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::JoinedOption::JoinedOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZN5clang6driver12JoinedOptionC2ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::JoinedOption::JoinedOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZNK5clang6driver12JoinedOption6acceptERKNS0_7ArgListERj", "clang::driver::JoinedOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver17CommaJoinedOptionC1ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::CommaJoinedOption::CommaJoinedOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZN5clang6driver17CommaJoinedOptionC2ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::CommaJoinedOption::CommaJoinedOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZNK5clang6driver17CommaJoinedOption6acceptERKNS0_7ArgListERj", "clang::driver::CommaJoinedOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver14SeparateOptionC1ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::SeparateOption::SeparateOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZN5clang6driver14SeparateOptionC2ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::SeparateOption::SeparateOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZNK5clang6driver14SeparateOption6acceptERKNS0_7ArgListERj", "clang::driver::SeparateOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver14MultiArgOptionC1ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionEj", "clang::driver::MultiArgOption::MultiArgOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*, unsigned int)"},
-    {"_ZN5clang6driver14MultiArgOptionC2ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionEj", "clang::driver::MultiArgOption::MultiArgOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*, unsigned int)"},
-    {"_ZNK5clang6driver14MultiArgOption6acceptERKNS0_7ArgListERj", "clang::driver::MultiArgOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver22JoinedOrSeparateOptionC1ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::JoinedOrSeparateOption::JoinedOrSeparateOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZN5clang6driver22JoinedOrSeparateOptionC2ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::JoinedOrSeparateOption::JoinedOrSeparateOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZNK5clang6driver22JoinedOrSeparateOption6acceptERKNS0_7ArgListERj", "clang::driver::JoinedOrSeparateOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver23JoinedAndSeparateOptionC1ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::JoinedAndSeparateOption::JoinedAndSeparateOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZN5clang6driver23JoinedAndSeparateOptionC2ENS0_12OptSpecifierEPKcPKNS0_11OptionGroupEPKNS0_6OptionE", "clang::driver::JoinedAndSeparateOption::JoinedAndSeparateOption(clang::driver::OptSpecifier, char const*, clang::driver::OptionGroup const*, clang::driver::Option const*)"},
-    {"_ZNK5clang6driver23JoinedAndSeparateOption6acceptERKNS0_7ArgListERj", "clang::driver::JoinedAndSeparateOption::accept(clang::driver::ArgList const&, unsigned int&) const"},
-    {"_ZN5clang6driver11OptionGroupD1Ev", "clang::driver::OptionGroup::~OptionGroup()"},
-    {"_ZN5clang6driver11OptionGroupD0Ev", "clang::driver::OptionGroup::~OptionGroup()"},
-    {"_ZN5clang6driver11InputOptionD1Ev", "clang::driver::InputOption::~InputOption()"},
-    {"_ZN5clang6driver11InputOptionD0Ev", "clang::driver::InputOption::~InputOption()"},
-    {"_ZN5clang6driver13UnknownOptionD1Ev", "clang::driver::UnknownOption::~UnknownOption()"},
-    {"_ZN5clang6driver13UnknownOptionD0Ev", "clang::driver::UnknownOption::~UnknownOption()"},
-    {"_ZN5clang6driver10FlagOptionD1Ev", "clang::driver::FlagOption::~FlagOption()"},
-    {"_ZN5clang6driver10FlagOptionD0Ev", "clang::driver::FlagOption::~FlagOption()"},
-    {"_ZN5clang6driver12JoinedOptionD1Ev", "clang::driver::JoinedOption::~JoinedOption()"},
-    {"_ZN5clang6driver12JoinedOptionD0Ev", "clang::driver::JoinedOption::~JoinedOption()"},
-    {"_ZN5clang6driver17CommaJoinedOptionD1Ev", "clang::driver::CommaJoinedOption::~CommaJoinedOption()"},
-    {"_ZN5clang6driver17CommaJoinedOptionD0Ev", "clang::driver::CommaJoinedOption::~CommaJoinedOption()"},
-    {"_ZN5clang6driver14SeparateOptionD1Ev", "clang::driver::SeparateOption::~SeparateOption()"},
-    {"_ZN5clang6driver14SeparateOptionD0Ev", "clang::driver::SeparateOption::~SeparateOption()"},
-    {"_ZN5clang6driver14MultiArgOptionD1Ev", "clang::driver::MultiArgOption::~MultiArgOption()"},
-    {"_ZN5clang6driver14MultiArgOptionD0Ev", "clang::driver::MultiArgOption::~MultiArgOption()"},
-    {"_ZN5clang6driver22JoinedOrSeparateOptionD1Ev", "clang::driver::JoinedOrSeparateOption::~JoinedOrSeparateOption()"},
-    {"_ZN5clang6driver22JoinedOrSeparateOptionD0Ev", "clang::driver::JoinedOrSeparateOption::~JoinedOrSeparateOption()"},
-    {"_ZN5clang6driver23JoinedAndSeparateOptionD1Ev", "clang::driver::JoinedAndSeparateOption::~JoinedAndSeparateOption()"},
-    {"_ZN5clang6driver23JoinedAndSeparateOptionD0Ev", "clang::driver::JoinedAndSeparateOption::~JoinedAndSeparateOption()"},
-    {"_ZN5clang6driver6phases12getPhaseNameENS1_2IDE", "clang::driver::phases::getPhaseName(clang::driver::phases::ID)"},
-    {"_ZN5clang6driver4ToolC1EPKcS3_RKNS0_9ToolChainE", "clang::driver::Tool::Tool(char const*, char const*, clang::driver::ToolChain const&)"},
-    {"_ZN5clang6driver4ToolC2EPKcS3_RKNS0_9ToolChainE", "clang::driver::Tool::Tool(char const*, char const*, clang::driver::ToolChain const&)"},
-    {"_ZN5clang6driver4ToolD0Ev", "clang::driver::Tool::~Tool()"},
-    {"_ZN5clang6driver4ToolD1Ev", "clang::driver::Tool::~Tool()"},
-    {"_ZN5clang6driver4ToolD2Ev", "clang::driver::Tool::~Tool()"},
-    {"_ZN5clang6driver9ToolChainC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::ToolChain::ToolChain(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver9ToolChainC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::ToolChain::ToolChain(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver9ToolChainD0Ev", "clang::driver::ToolChain::~ToolChain()"},
-    {"_ZN5clang6driver9ToolChainD1Ev", "clang::driver::ToolChain::~ToolChain()"},
-    {"_ZN5clang6driver9ToolChainD2Ev", "clang::driver::ToolChain::~ToolChain()"},
-    {"_ZNK5clang6driver9ToolChain9getDriverEv", "clang::driver::ToolChain::getDriver() const"},
-    {"_ZNK5clang6driver9ToolChain11GetFilePathEPKc", "clang::driver::ToolChain::GetFilePath(char const*) const"},
-    {"_ZNK5clang6driver9ToolChain14GetProgramPathEPKcb", "clang::driver::ToolChain::GetProgramPath(char const*, bool) const"},
-    {"_ZNK5clang6driver9ToolChain22LookupTypeForExtensionEPKc", "clang::driver::ToolChain::LookupTypeForExtension(char const*) const"},
-    {"_ZNK5clang6driver9ToolChain20HasNativeLLVMSupportEv", "clang::driver::ToolChain::HasNativeLLVMSupport() const"},
-    {"_ZNK5clang6driver9ToolChain17ComputeLLVMTripleERKNS0_7ArgListE", "clang::driver::ToolChain::ComputeLLVMTriple(clang::driver::ArgList const&) const"},
-    {"_ZNK5clang6driver9ToolChain27ComputeEffectiveClangTripleERKNS0_7ArgListE", "clang::driver::ToolChain::ComputeEffectiveClangTriple(clang::driver::ArgList const&) const"},
-    {"_ZNK5clang6driver9ToolChain16GetCXXStdlibTypeERKNS0_7ArgListE", "clang::driver::ToolChain::GetCXXStdlibType(clang::driver::ArgList const&) const"},
-    {"_ZNK5clang6driver9ToolChain28AddClangCXXStdlibIncludeArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::ToolChain::AddClangCXXStdlibIncludeArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver9ToolChain19AddCXXStdlibLibArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::ToolChain::AddCXXStdlibLibArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver9ToolChain16AddCCKextLibArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::ToolChain::AddCCKextLibArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZN5clang6driver10toolchains6DarwinC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Darwin::Darwin(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains6DarwinC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Darwin::Darwin(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains6Darwin22LookupTypeForExtensionEPKc", "clang::driver::toolchains::Darwin::LookupTypeForExtension(char const*) const"},
-    {"_ZNK5clang6driver10toolchains6Darwin20HasNativeLLVMSupportEv", "clang::driver::toolchains::Darwin::HasNativeLLVMSupport() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin17getDarwinArchNameERKNS0_7ArgListE", "clang::driver::toolchains::Darwin::getDarwinArchName(clang::driver::ArgList const&) const"},
-    {"_ZN5clang6driver10toolchains9DarwinGCCC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::DarwinGCC::DarwinGCC(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains9DarwinGCCC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::DarwinGCC::DarwinGCC(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains6DarwinD0Ev", "clang::driver::toolchains::Darwin::~Darwin()"},
-    {"_ZN5clang6driver10toolchains6DarwinD1Ev", "clang::driver::toolchains::Darwin::~Darwin()"},
-    {"_ZN5clang6driver10toolchains6DarwinD2Ev", "clang::driver::toolchains::Darwin::~Darwin()"},
-    {"_ZNK5clang6driver10toolchains6Darwin27ComputeEffectiveClangTripleERKNS0_7ArgListE", "clang::driver::toolchains::Darwin::ComputeEffectiveClangTriple(clang::driver::ArgList const&) const"},
-    {"_ZNK5clang6driver10toolchains6Darwin10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::Darwin::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZNK5clang6driver10toolchains9DarwinGCC21AddLinkSearchPathArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::toolchains::DarwinGCC::AddLinkSearchPathArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver10toolchains9DarwinGCC21AddLinkRuntimeLibArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::toolchains::DarwinGCC::AddLinkRuntimeLibArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZN5clang6driver10toolchains11DarwinClangC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::DarwinClang::DarwinClang(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains11DarwinClangC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::DarwinClang::DarwinClang(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains11DarwinClang21AddLinkSearchPathArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::toolchains::DarwinClang::AddLinkSearchPathArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver10toolchains11DarwinClang21AddLinkRuntimeLibArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver10toolchains6Darwin19AddDeploymentTargetERNS0_14DerivedArgListE", "clang::driver::toolchains::Darwin::AddDeploymentTarget(clang::driver::DerivedArgList&) const"},
-    {"_ZNK5clang6driver10toolchains11DarwinClang19AddCXXStdlibLibArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::toolchains::DarwinClang::AddCXXStdlibLibArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver10toolchains11DarwinClang16AddCCKextLibArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::toolchains::DarwinClang::AddCCKextLibArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver10toolchains6Darwin13TranslateArgsERKNS0_14DerivedArgListEPKc", "clang::driver::toolchains::Darwin::TranslateArgs(clang::driver::DerivedArgList const&, char const*) const"},
-    {"_ZNK5clang6driver10toolchains6Darwin21IsUnwindTablesDefaultEv", "clang::driver::toolchains::Darwin::IsUnwindTablesDefault() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin18UseDwarfDebugFlagsEv", "clang::driver::toolchains::Darwin::UseDwarfDebugFlags() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin17UseSjLjExceptionsEv", "clang::driver::toolchains::Darwin::UseSjLjExceptions() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin25GetDefaultRelocationModelEv", "clang::driver::toolchains::Darwin::GetDefaultRelocationModel() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin17GetForcedPicModelEv", "clang::driver::toolchains::Darwin::GetForcedPicModel() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin14SupportsObjCGCEv", "clang::driver::toolchains::Darwin::SupportsObjCGC() const"},
-    {"_ZNK5clang6driver10toolchains18Darwin_Generic_GCC27ComputeEffectiveClangTripleERKNS0_7ArgListE", "clang::driver::toolchains::Darwin_Generic_GCC::ComputeEffectiveClangTriple(clang::driver::ArgList const&) const"},
-    {"_ZN5clang6driver10toolchains11Generic_GCCC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Generic_GCC::Generic_GCC(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains11Generic_GCCC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Generic_GCC::Generic_GCC(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains11Generic_GCCD0Ev", "clang::driver::toolchains::Generic_GCC::~Generic_GCC()"},
-    {"_ZN5clang6driver10toolchains11Generic_GCCD1Ev", "clang::driver::toolchains::Generic_GCC::~Generic_GCC()"},
-    {"_ZN5clang6driver10toolchains11Generic_GCCD2Ev", "clang::driver::toolchains::Generic_GCC::~Generic_GCC()"},
-    {"_ZNK5clang6driver10toolchains11Generic_GCC10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::Generic_GCC::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZNK5clang6driver10toolchains11Generic_GCC21IsUnwindTablesDefaultEv", "clang::driver::toolchains::Generic_GCC::IsUnwindTablesDefault() const"},
-    {"_ZNK5clang6driver10toolchains11Generic_GCC25GetDefaultRelocationModelEv", "clang::driver::toolchains::Generic_GCC::GetDefaultRelocationModel() const"},
-    {"_ZNK5clang6driver10toolchains11Generic_GCC17GetForcedPicModelEv", "clang::driver::toolchains::Generic_GCC::GetForcedPicModel() const"},
-    {"_ZN5clang6driver10toolchains12TCEToolChainC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::TCEToolChain::TCEToolChain(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains12TCEToolChainC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::TCEToolChain::TCEToolChain(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains12TCEToolChainD0Ev", "clang::driver::toolchains::TCEToolChain::~TCEToolChain()"},
-    {"_ZN5clang6driver10toolchains12TCEToolChainD1Ev", "clang::driver::toolchains::TCEToolChain::~TCEToolChain()"},
-    {"_ZN5clang6driver10toolchains12TCEToolChainD2Ev", "clang::driver::toolchains::TCEToolChain::~TCEToolChain()"},
-    {"_ZNK5clang6driver10toolchains12TCEToolChain18IsMathErrnoDefaultEv", "clang::driver::toolchains::TCEToolChain::IsMathErrnoDefault() const"},
-    {"_ZNK5clang6driver10toolchains12TCEToolChain21IsUnwindTablesDefaultEv", "clang::driver::toolchains::TCEToolChain::IsUnwindTablesDefault() const"},
-    {"_ZNK5clang6driver10toolchains12TCEToolChain25GetDefaultRelocationModelEv", "clang::driver::toolchains::TCEToolChain::GetDefaultRelocationModel() const"},
-    {"_ZNK5clang6driver10toolchains12TCEToolChain17GetForcedPicModelEv", "clang::driver::toolchains::TCEToolChain::GetForcedPicModel() const"},
-    {"_ZNK5clang6driver10toolchains12TCEToolChain10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::TCEToolChain::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZN5clang6driver10toolchains7OpenBSDC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::OpenBSD::OpenBSD(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains7OpenBSDC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::OpenBSD::OpenBSD(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains7OpenBSD10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::OpenBSD::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZN5clang6driver10toolchains7FreeBSDC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::FreeBSD::FreeBSD(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains7FreeBSDC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::FreeBSD::FreeBSD(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains7FreeBSD10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::FreeBSD::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZN5clang6driver10toolchains6NetBSDC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::NetBSD::NetBSD(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains6NetBSDC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::NetBSD::NetBSD(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains6NetBSD10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::NetBSD::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZN5clang6driver10toolchains5MinixC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Minix::Minix(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains5MinixC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Minix::Minix(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains5Minix10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::Minix::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZN5clang6driver10toolchains8AuroraUXC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::AuroraUX::AuroraUX(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains8AuroraUXC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::AuroraUX::AuroraUX(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains8AuroraUX10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::AuroraUX::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZN5clang6driver10toolchains5LinuxC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Linux::Linux(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains5LinuxC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Linux::Linux(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains5Linux20HasNativeLLVMSupportEv", "clang::driver::toolchains::Linux::HasNativeLLVMSupport() const"},
-    {"_ZNK5clang6driver10toolchains5Linux10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::Linux::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZN5clang6driver10toolchains9DragonFlyC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::DragonFly::DragonFly(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains9DragonFlyC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::DragonFly::DragonFly(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains9DragonFly10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::DragonFly::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZN5clang6driver10toolchains7WindowsC1ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Windows::Windows(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZN5clang6driver10toolchains7WindowsC2ERKNS0_8HostInfoERKN4llvm6TripleE", "clang::driver::toolchains::Windows::Windows(clang::driver::HostInfo const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver10toolchains7Windows10SelectToolERKNS0_11CompilationERKNS0_9JobActionE", "clang::driver::toolchains::Windows::SelectTool(clang::driver::Compilation const&, clang::driver::JobAction const&) const"},
-    {"_ZNK5clang6driver10toolchains7Windows28IsIntegratedAssemblerDefaultEv", "clang::driver::toolchains::Windows::IsIntegratedAssemblerDefault() const"},
-    {"_ZNK5clang6driver10toolchains7Windows21IsUnwindTablesDefaultEv", "clang::driver::toolchains::Windows::IsUnwindTablesDefault() const"},
-    {"_ZNK5clang6driver10toolchains7Windows25GetDefaultRelocationModelEv", "clang::driver::toolchains::Windows::GetDefaultRelocationModel() const"},
-    {"_ZNK5clang6driver10toolchains7Windows17GetForcedPicModelEv", "clang::driver::toolchains::Windows::GetForcedPicModel() const"},
-    {"_ZN5clang6driver10toolchains18Darwin_Generic_GCCD1Ev", "clang::driver::toolchains::Darwin_Generic_GCC::~Darwin_Generic_GCC()"},
-    {"_ZN5clang6driver10toolchains18Darwin_Generic_GCCD0Ev", "clang::driver::toolchains::Darwin_Generic_GCC::~Darwin_Generic_GCC()"},
-    {"_ZNK5clang6driver10toolchains6Darwin15IsBlocksDefaultEv", "clang::driver::toolchains::Darwin::IsBlocksDefault() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin28IsIntegratedAssemblerDefaultEv", "clang::driver::toolchains::Darwin::IsIntegratedAssemblerDefault() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin23IsStrictAliasingDefaultEv", "clang::driver::toolchains::Darwin::IsStrictAliasingDefault() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin35IsObjCDefaultSynthPropertiesDefaultEv", "clang::driver::toolchains::Darwin::IsObjCDefaultSynthPropertiesDefault() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin26IsObjCNonFragileABIDefaultEv", "clang::driver::toolchains::Darwin::IsObjCNonFragileABIDefault() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin27IsObjCLegacyDispatchDefaultEv", "clang::driver::toolchains::Darwin::IsObjCLegacyDispatchDefault() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin20UseObjCMixedDispatchEv", "clang::driver::toolchains::Darwin::UseObjCMixedDispatch() const"},
-    {"_ZNK5clang6driver10toolchains6Darwin29GetDefaultStackProtectorLevelEv", "clang::driver::toolchains::Darwin::GetDefaultStackProtectorLevel() const"},
-    {"_ZN5clang6driver10toolchains9DarwinGCCD1Ev", "clang::driver::toolchains::DarwinGCC::~DarwinGCC()"},
-    {"_ZN5clang6driver10toolchains9DarwinGCCD0Ev", "clang::driver::toolchains::DarwinGCC::~DarwinGCC()"},
-    {"_ZN5clang6driver10toolchains11DarwinClangD1Ev", "clang::driver::toolchains::DarwinClang::~DarwinClang()"},
-    {"_ZN5clang6driver10toolchains11DarwinClangD0Ev", "clang::driver::toolchains::DarwinClang::~DarwinClang()"},
-    {"_ZN5clang6driver10toolchains7OpenBSDD1Ev", "clang::driver::toolchains::OpenBSD::~OpenBSD()"},
-    {"_ZN5clang6driver10toolchains7OpenBSDD0Ev", "clang::driver::toolchains::OpenBSD::~OpenBSD()"},
-    {"_ZNK5clang6driver10toolchains11Generic_ELF28IsIntegratedAssemblerDefaultEv", "clang::driver::toolchains::Generic_ELF::IsIntegratedAssemblerDefault() const"},
-    {"_ZN5clang6driver10toolchains7FreeBSDD1Ev", "clang::driver::toolchains::FreeBSD::~FreeBSD()"},
-    {"_ZN5clang6driver10toolchains7FreeBSDD0Ev", "clang::driver::toolchains::FreeBSD::~FreeBSD()"},
-    {"_ZN5clang6driver10toolchains6NetBSDD1Ev", "clang::driver::toolchains::NetBSD::~NetBSD()"},
-    {"_ZN5clang6driver10toolchains6NetBSDD0Ev", "clang::driver::toolchains::NetBSD::~NetBSD()"},
-    {"_ZN5clang6driver10toolchains5MinixD1Ev", "clang::driver::toolchains::Minix::~Minix()"},
-    {"_ZN5clang6driver10toolchains5MinixD0Ev", "clang::driver::toolchains::Minix::~Minix()"},
-    {"_ZN5clang6driver10toolchains8AuroraUXD1Ev", "clang::driver::toolchains::AuroraUX::~AuroraUX()"},
-    {"_ZN5clang6driver10toolchains8AuroraUXD0Ev", "clang::driver::toolchains::AuroraUX::~AuroraUX()"},
-    {"_ZN5clang6driver10toolchains5LinuxD1Ev", "clang::driver::toolchains::Linux::~Linux()"},
-    {"_ZN5clang6driver10toolchains5LinuxD0Ev", "clang::driver::toolchains::Linux::~Linux()"},
-    {"_ZN5clang6driver10toolchains9DragonFlyD1Ev", "clang::driver::toolchains::DragonFly::~DragonFly()"},
-    {"_ZN5clang6driver10toolchains9DragonFlyD0Ev", "clang::driver::toolchains::DragonFly::~DragonFly()"},
-    {"_ZN5clang6driver10toolchains7WindowsD1Ev", "clang::driver::toolchains::Windows::~Windows()"},
-    {"_ZN5clang6driver10toolchains7WindowsD0Ev", "clang::driver::toolchains::Windows::~Windows()"},
-    {"_ZN4llvm8DenseMapIjPN5clang6driver4ToolENS_12DenseMapInfoIjEENS5_IS4_EEE16InsertIntoBucketERKjRKS4_PSt4pairIjS4_E", "llvm::DenseMap<unsigned int, clang::driver::Tool*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<clang::driver::Tool*> >::InsertIntoBucket(unsigned int const&, clang::driver::Tool* const&, std::pair<unsigned int, clang::driver::Tool*>*)"},
-    {"_ZN4llvm8DenseMapIjPN5clang6driver4ToolENS_12DenseMapInfoIjEENS5_IS4_EEE4growEj", "llvm::DenseMap<unsigned int, clang::driver::Tool*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<clang::driver::Tool*> >::grow(unsigned int)"},
-    {"_ZN5clang6driver10toolchains11Generic_ELFD1Ev", "clang::driver::toolchains::Generic_ELF::~Generic_ELF()"},
-    {"_ZN5clang6driver10toolchains11Generic_ELFD0Ev", "clang::driver::toolchains::Generic_ELF::~Generic_ELF()"},
-    {"_ZN5clang6driver10toolchains5LinuxD2Ev", "clang::driver::toolchains::Linux::~Linux()"},
-    {"_ZNK5clang6driver4Tool22hasIntegratedAssemblerEv", "clang::driver::Tool::hasIntegratedAssembler() const"},
-    {"_ZNK5clang6driver5tools12visualstudio4Link16hasIntegratedCPPEv", "clang::driver::tools::visualstudio::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver4Tool18hasGoodDiagnosticsEv", "clang::driver::Tool::hasGoodDiagnostics() const"},
-    {"_ZNK5clang6driver5tools9dragonfly4Link16hasIntegratedCPPEv", "clang::driver::tools::dragonfly::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools9dragonfly8Assemble16hasIntegratedCPPEv", "clang::driver::tools::dragonfly::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools10linuxtools4Link16hasIntegratedCPPEv", "clang::driver::tools::linuxtools::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools10linuxtools8Assemble16hasIntegratedCPPEv", "clang::driver::tools::linuxtools::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools8auroraux4Link16hasIntegratedCPPEv", "clang::driver::tools::auroraux::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools8auroraux8Assemble16hasIntegratedCPPEv", "clang::driver::tools::auroraux::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools5minix4Link16hasIntegratedCPPEv", "clang::driver::tools::minix::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools5minix8Assemble16hasIntegratedCPPEv", "clang::driver::tools::minix::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools6netbsd4Link16hasIntegratedCPPEv", "clang::driver::tools::netbsd::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools6netbsd8Assemble16hasIntegratedCPPEv", "clang::driver::tools::netbsd::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools7freebsd4Link16hasIntegratedCPPEv", "clang::driver::tools::freebsd::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools7freebsd8Assemble16hasIntegratedCPPEv", "clang::driver::tools::freebsd::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools7openbsd4Link16hasIntegratedCPPEv", "clang::driver::tools::openbsd::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools7openbsd8Assemble16hasIntegratedCPPEv", "clang::driver::tools::openbsd::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools3gcc4Link16hasIntegratedCPPEv", "clang::driver::tools::gcc::Link::hasIntegratedCPP() const"},
-    {"_ZN5clang6driver5tools3gcc6CommonD1Ev", "clang::driver::tools::gcc::Common::~Common()"},
-    {"_ZN5clang6driver5tools3gcc6CommonD0Ev", "clang::driver::tools::gcc::Common::~Common()"},
-    {"_ZNK5clang6driver5tools3gcc8Assemble16hasIntegratedCPPEv", "clang::driver::tools::gcc::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools3gcc7Compile16hasIntegratedCPPEv", "clang::driver::tools::gcc::Compile::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools3gcc7Compile18hasGoodDiagnosticsEv", "clang::driver::tools::gcc::Compile::hasGoodDiagnostics() const"},
-    {"_ZNK5clang6driver5tools3gcc10Precompile16hasIntegratedCPPEv", "clang::driver::tools::gcc::Precompile::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools3gcc10Precompile18hasGoodDiagnosticsEv", "clang::driver::tools::gcc::Precompile::hasGoodDiagnostics() const"},
-    {"_ZNK5clang6driver5tools3gcc10Preprocess16hasIntegratedCPPEv", "clang::driver::tools::gcc::Preprocess::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools3gcc10Preprocess18hasGoodDiagnosticsEv", "clang::driver::tools::gcc::Preprocess::hasGoodDiagnostics() const"},
-    {"_ZNK5clang6driver5tools6darwin8Dsymutil16hasIntegratedCPPEv", "clang::driver::tools::darwin::Dsymutil::hasIntegratedCPP() const"},
-    {"_ZN5clang6driver5tools6darwin10DarwinToolD1Ev", "clang::driver::tools::darwin::DarwinTool::~DarwinTool()"},
-    {"_ZN5clang6driver5tools6darwin10DarwinToolD0Ev", "clang::driver::tools::darwin::DarwinTool::~DarwinTool()"},
-    {"_ZNK5clang6driver5tools6darwin4Lipo16hasIntegratedCPPEv", "clang::driver::tools::darwin::Lipo::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools6darwin4Link16hasIntegratedCPPEv", "clang::driver::tools::darwin::Link::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools6darwin8Assemble16hasIntegratedCPPEv", "clang::driver::tools::darwin::Assemble::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools7ClangAs22hasIntegratedAssemblerEv", "clang::driver::tools::ClangAs::hasIntegratedAssembler() const"},
-    {"_ZNK5clang6driver5tools7ClangAs16hasIntegratedCPPEv", "clang::driver::tools::ClangAs::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools7ClangAs18hasGoodDiagnosticsEv", "clang::driver::tools::ClangAs::hasGoodDiagnostics() const"},
-    {"_ZNK5clang6driver5tools6darwin3CC116hasIntegratedCPPEv", "clang::driver::tools::darwin::CC1::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools6darwin3CC118hasGoodDiagnosticsEv", "clang::driver::tools::darwin::CC1::hasGoodDiagnostics() const"},
-    {"_ZN5clang6driver5tools6darwin3CC1D1Ev", "clang::driver::tools::darwin::CC1::~CC1()"},
-    {"_ZN5clang6driver5tools6darwin3CC1D0Ev", "clang::driver::tools::darwin::CC1::~CC1()"},
-    {"_ZNK5clang6driver5tools5Clang22hasIntegratedAssemblerEv", "clang::driver::tools::Clang::hasIntegratedAssembler() const"},
-    {"_ZNK5clang6driver5tools5Clang16hasIntegratedCPPEv", "clang::driver::tools::Clang::hasIntegratedCPP() const"},
-    {"_ZNK5clang6driver5tools5Clang18hasGoodDiagnosticsEv", "clang::driver::tools::Clang::hasGoodDiagnostics() const"},
-    {"_ZNK5clang6driver5tools5Clang23AddPreprocessingOptionsERKNS0_6DriverERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEERKNS0_9InputInfoERKNSA_ISF_Lj4EEE", "clang::driver::tools::Clang::AddPreprocessingOptions(clang::driver::Driver const&, clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&) const"},
-    {"_Z25CheckPreprocessingOptionsRKN5clang6driver6DriverERKNS0_7ArgListE", "CheckPreprocessingOptions(clang::driver::Driver const&, clang::driver::ArgList const&)"},
-    {"_ZN5clang6driver5tools6darwin3CC121getDependencyFileNameERKNS0_7ArgListERKN4llvm11SmallVectorINS0_9InputInfoELj4EEE", "clang::driver::tools::darwin::CC1::getDependencyFileName(clang::driver::ArgList const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&)"},
-    {"_Z11QuoteTargetN4llvm9StringRefERNS_15SmallVectorImplIcEE", "QuoteTarget(llvm::StringRef, llvm::SmallVectorImpl<char>&)"},
-    {"_ZNK5clang6driver5tools5Clang16AddARMTargetArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::Clang::AddARMTargetArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_Z15getARMTargetCPURKN5clang6driver7ArgListERKN4llvm6TripleE", "getARMTargetCPU(clang::driver::ArgList const&, llvm::Triple const&)"},
-    {"_ZNK5clang6driver5tools5Clang17AddMIPSTargetArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::Clang::AddMIPSTargetArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools5Clang18AddSparcTargetArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::Clang::AddSparcTargetArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools5Clang16AddX86TargetArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::Clang::AddX86TargetArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools5Clang12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS8_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::Clang::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZN5clang6driver5tools6darwin3CC116getBaseInputNameERKNS0_7ArgListERKN4llvm11SmallVectorINS0_9InputInfoELj4EEE", "clang::driver::tools::darwin::CC1::getBaseInputName(clang::driver::ArgList const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&)"},
-    {"_Z26CheckCodeGenerationOptionsRKN5clang6driver6DriverERKNS0_7ArgListE", "CheckCodeGenerationOptions(clang::driver::Driver const&, clang::driver::ArgList const&)"},
-    {"_ZNK5clang6driver5tools7ClangAs12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS8_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::ClangAs::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools3gcc6Common12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::gcc::Common::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools3gcc10Preprocess19RenderExtraToolArgsERKNS0_9JobActionERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::gcc::Preprocess::RenderExtraToolArgs(clang::driver::JobAction const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools3gcc10Precompile19RenderExtraToolArgsERKNS0_9JobActionERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::gcc::Precompile::RenderExtraToolArgs(clang::driver::JobAction const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools3gcc7Compile19RenderExtraToolArgsERKNS0_9JobActionERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::gcc::Compile::RenderExtraToolArgs(clang::driver::JobAction const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools3gcc8Assemble19RenderExtraToolArgsERKNS0_9JobActionERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::gcc::Assemble::RenderExtraToolArgs(clang::driver::JobAction const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools3gcc4Link19RenderExtraToolArgsERKNS0_9JobActionERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::gcc::Link::RenderExtraToolArgs(clang::driver::JobAction const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools6darwin3CC110getCC1NameENS0_5types2IDE", "clang::driver::tools::darwin::CC1::getCC1Name(clang::driver::types::ID) const"},
-    {"_ZN5clang6driver5tools6darwin3CC116getBaseInputStemERKNS0_7ArgListERKN4llvm11SmallVectorINS0_9InputInfoELj4EEE", "clang::driver::tools::darwin::CC1::getBaseInputStem(clang::driver::ArgList const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&)"},
-    {"_ZNK5clang6driver5tools6darwin3CC110AddCC1ArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::darwin::CC1::AddCC1Args(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools6darwin3CC117AddCC1OptionsArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEERKNS8_INS0_9InputInfoELj4EEERKSB_", "clang::driver::tools::darwin::CC1::AddCC1OptionsArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, llvm::SmallVector<char const*, 16u> const&) const"},
-    {"_ZNK5clang6driver5tools6darwin3CC117AddCPPOptionsArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEERKNS8_INS0_9InputInfoELj4EEERKSB_", "clang::driver::tools::darwin::CC1::AddCPPOptionsArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, llvm::SmallVector<char const*, 16u> const&) const"},
-    {"_ZNK5clang6driver5tools6darwin3CC123AddCPPUniqueOptionsArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEERKNS8_INS0_9InputInfoELj4EEE", "clang::driver::tools::darwin::CC1::AddCPPUniqueOptionsArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&) const"},
-    {"_ZNK5clang6driver5tools6darwin3CC110AddCPPArgsERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::darwin::CC1::AddCPPArgs(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools6darwin10Preprocess12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::darwin::Preprocess::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools6darwin7Compile12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::darwin::Compile::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools6darwin8Assemble12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::darwin::Assemble::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools6darwin10DarwinTool13AddDarwinArchERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::darwin::DarwinTool::AddDarwinArch(clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools6darwin4Link11AddLinkArgsERNS0_11CompilationERKNS0_7ArgListERN4llvm11SmallVectorIPKcLj16EEE", "clang::driver::tools::darwin::Link::AddLinkArgs(clang::driver::Compilation&, clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&) const"},
-    {"_ZNK5clang6driver5tools6darwin4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::darwin::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_Z15AddLinkerInputsRKN5clang6driver9ToolChainERKN4llvm11SmallVectorINS0_9InputInfoELj4EEERKNS0_7ArgListERNS5_IPKcLj16EEE", "AddLinkerInputs(clang::driver::ToolChain const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, llvm::SmallVector<char const*, 16u>&)"},
-    {"_ZNK5clang6driver5tools6darwin4Lipo12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::darwin::Lipo::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools6darwin8Dsymutil12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::darwin::Dsymutil::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools8auroraux8Assemble12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::auroraux::Assemble::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools8auroraux4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::auroraux::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools7openbsd8Assemble12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::openbsd::Assemble::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools7openbsd4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::openbsd::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools7freebsd8Assemble12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::freebsd::Assemble::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools7freebsd4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::freebsd::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools6netbsd8Assemble12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::netbsd::Assemble::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools6netbsd4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::netbsd::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools10linuxtools8Assemble12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::linuxtools::Assemble::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools10linuxtools4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::linuxtools::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools5minix8Assemble12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::minix::Assemble::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools5minix4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::minix::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools9dragonfly8Assemble12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::dragonfly::Assemble::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools9dragonfly4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::dragonfly::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZNK5clang6driver5tools12visualstudio4Link12ConstructJobERNS0_11CompilationERKNS0_9JobActionERKNS0_9InputInfoERKN4llvm11SmallVectorIS9_Lj4EEERKNS0_7ArgListEPKc", "clang::driver::tools::visualstudio::Link::ConstructJob(clang::driver::Compilation&, clang::driver::JobAction const&, clang::driver::InputInfo const&, llvm::SmallVector<clang::driver::InputInfo, 4u> const&, clang::driver::ArgList const&, char const*) const"},
-    {"_ZN5clang6driver5tools5ClangD1Ev", "clang::driver::tools::Clang::~Clang()"},
-    {"_ZN5clang6driver5tools5ClangD0Ev", "clang::driver::tools::Clang::~Clang()"},
-    {"_ZN5clang6driver5tools7ClangAsD1Ev", "clang::driver::tools::ClangAs::~ClangAs()"},
-    {"_ZN5clang6driver5tools7ClangAsD0Ev", "clang::driver::tools::ClangAs::~ClangAs()"},
-    {"_ZN5clang6driver5tools3gcc10PreprocessD1Ev", "clang::driver::tools::gcc::Preprocess::~Preprocess()"},
-    {"_ZN5clang6driver5tools3gcc10PreprocessD0Ev", "clang::driver::tools::gcc::Preprocess::~Preprocess()"},
-    {"_ZN5clang6driver5tools3gcc10PrecompileD1Ev", "clang::driver::tools::gcc::Precompile::~Precompile()"},
-    {"_ZN5clang6driver5tools3gcc10PrecompileD0Ev", "clang::driver::tools::gcc::Precompile::~Precompile()"},
-    {"_ZN5clang6driver5tools3gcc7CompileD1Ev", "clang::driver::tools::gcc::Compile::~Compile()"},
-    {"_ZN5clang6driver5tools3gcc7CompileD0Ev", "clang::driver::tools::gcc::Compile::~Compile()"},
-    {"_ZN5clang6driver5tools3gcc8AssembleD1Ev", "clang::driver::tools::gcc::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools3gcc8AssembleD0Ev", "clang::driver::tools::gcc::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools3gcc4LinkD1Ev", "clang::driver::tools::gcc::Link::~Link()"},
-    {"_ZN5clang6driver5tools3gcc4LinkD0Ev", "clang::driver::tools::gcc::Link::~Link()"},
-    {"_ZN5clang6driver5tools6darwin10PreprocessD1Ev", "clang::driver::tools::darwin::Preprocess::~Preprocess()"},
-    {"_ZN5clang6driver5tools6darwin10PreprocessD0Ev", "clang::driver::tools::darwin::Preprocess::~Preprocess()"},
-    {"_ZN5clang6driver5tools6darwin7CompileD1Ev", "clang::driver::tools::darwin::Compile::~Compile()"},
-    {"_ZN5clang6driver5tools6darwin7CompileD0Ev", "clang::driver::tools::darwin::Compile::~Compile()"},
-    {"_ZN5clang6driver5tools6darwin8AssembleD1Ev", "clang::driver::tools::darwin::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools6darwin8AssembleD0Ev", "clang::driver::tools::darwin::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools6darwin4LinkD1Ev", "clang::driver::tools::darwin::Link::~Link()"},
-    {"_ZN5clang6driver5tools6darwin4LinkD0Ev", "clang::driver::tools::darwin::Link::~Link()"},
-    {"_ZN5clang6driver5tools6darwin4LipoD1Ev", "clang::driver::tools::darwin::Lipo::~Lipo()"},
-    {"_ZN5clang6driver5tools6darwin4LipoD0Ev", "clang::driver::tools::darwin::Lipo::~Lipo()"},
-    {"_ZN5clang6driver5tools6darwin8DsymutilD1Ev", "clang::driver::tools::darwin::Dsymutil::~Dsymutil()"},
-    {"_ZN5clang6driver5tools6darwin8DsymutilD0Ev", "clang::driver::tools::darwin::Dsymutil::~Dsymutil()"},
-    {"_ZN5clang6driver5tools7openbsd8AssembleD1Ev", "clang::driver::tools::openbsd::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools7openbsd8AssembleD0Ev", "clang::driver::tools::openbsd::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools7openbsd4LinkD1Ev", "clang::driver::tools::openbsd::Link::~Link()"},
-    {"_ZN5clang6driver5tools7openbsd4LinkD0Ev", "clang::driver::tools::openbsd::Link::~Link()"},
-    {"_ZN5clang6driver5tools7freebsd8AssembleD1Ev", "clang::driver::tools::freebsd::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools7freebsd8AssembleD0Ev", "clang::driver::tools::freebsd::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools7freebsd4LinkD1Ev", "clang::driver::tools::freebsd::Link::~Link()"},
-    {"_ZN5clang6driver5tools7freebsd4LinkD0Ev", "clang::driver::tools::freebsd::Link::~Link()"},
-    {"_ZN5clang6driver5tools6netbsd8AssembleD1Ev", "clang::driver::tools::netbsd::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools6netbsd8AssembleD0Ev", "clang::driver::tools::netbsd::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools6netbsd4LinkD1Ev", "clang::driver::tools::netbsd::Link::~Link()"},
-    {"_ZN5clang6driver5tools6netbsd4LinkD0Ev", "clang::driver::tools::netbsd::Link::~Link()"},
-    {"_ZN5clang6driver5tools10linuxtools8AssembleD1Ev", "clang::driver::tools::linuxtools::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools10linuxtools8AssembleD0Ev", "clang::driver::tools::linuxtools::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools10linuxtools4LinkD1Ev", "clang::driver::tools::linuxtools::Link::~Link()"},
-    {"_ZN5clang6driver5tools10linuxtools4LinkD0Ev", "clang::driver::tools::linuxtools::Link::~Link()"},
-    {"_ZN5clang6driver5tools5minix8AssembleD1Ev", "clang::driver::tools::minix::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools5minix8AssembleD0Ev", "clang::driver::tools::minix::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools5minix4LinkD1Ev", "clang::driver::tools::minix::Link::~Link()"},
-    {"_ZN5clang6driver5tools5minix4LinkD0Ev", "clang::driver::tools::minix::Link::~Link()"},
-    {"_ZN5clang6driver5tools8auroraux8AssembleD1Ev", "clang::driver::tools::auroraux::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools8auroraux8AssembleD0Ev", "clang::driver::tools::auroraux::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools8auroraux4LinkD1Ev", "clang::driver::tools::auroraux::Link::~Link()"},
-    {"_ZN5clang6driver5tools8auroraux4LinkD0Ev", "clang::driver::tools::auroraux::Link::~Link()"},
-    {"_ZN5clang6driver5tools9dragonfly8AssembleD1Ev", "clang::driver::tools::dragonfly::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools9dragonfly8AssembleD0Ev", "clang::driver::tools::dragonfly::Assemble::~Assemble()"},
-    {"_ZN5clang6driver5tools9dragonfly4LinkD1Ev", "clang::driver::tools::dragonfly::Link::~Link()"},
-    {"_ZN5clang6driver5tools9dragonfly4LinkD0Ev", "clang::driver::tools::dragonfly::Link::~Link()"},
-    {"_ZN5clang6driver5tools12visualstudio4LinkD1Ev", "clang::driver::tools::visualstudio::Link::~Link()"},
-    {"_ZN5clang6driver5tools12visualstudio4LinkD0Ev", "clang::driver::tools::visualstudio::Link::~Link()"},
-    {"_ZN4llvm15SmallVectorImplISsEaSERKS1_", "llvm::SmallVectorImpl<std::string>::operator=(llvm::SmallVectorImpl<std::string> const&)"},
-    {"_ZN5clang6driver5types11getTypeNameENS1_2IDE", "clang::driver::types::getTypeName(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types19getPreprocessedTypeENS1_2IDE", "clang::driver::types::getPreprocessedType(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types17getTypeTempSuffixENS1_2IDE", "clang::driver::types::getTypeTempSuffix(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types16onlyAssembleTypeENS1_2IDE", "clang::driver::types::onlyAssembleType(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types18onlyPrecompileTypeENS1_2IDE", "clang::driver::types::onlyPrecompileType(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types22canTypeBeUserSpecifiedENS1_2IDE", "clang::driver::types::canTypeBeUserSpecified(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types19appendSuffixForTypeENS1_2IDE", "clang::driver::types::appendSuffixForType(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types11canLipoTypeENS1_2IDE", "clang::driver::types::canLipoType(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types17isAcceptedByClangENS1_2IDE", "clang::driver::types::isAcceptedByClang(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types21isOnlyAcceptedByClangENS1_2IDE", "clang::driver::types::isOnlyAcceptedByClang(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types6isObjCENS1_2IDE", "clang::driver::types::isObjC(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types5isCXXENS1_2IDE", "clang::driver::types::isCXX(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types22lookupTypeForExtensionEPKc", "clang::driver::types::lookupTypeForExtension(char const*)"},
-    {"_ZN5clang6driver5types26lookupTypeForTypeSpecifierEPKc", "clang::driver::types::lookupTypeForTypeSpecifier(char const*)"},
-    {"_ZN5clang6driver5types23getNumCompilationPhasesENS1_2IDE", "clang::driver::types::getNumCompilationPhases(clang::driver::types::ID)"},
-    {"_ZN5clang6driver5types19getCompilationPhaseENS1_2IDEj", "clang::driver::types::getCompilationPhase(clang::driver::types::ID, unsigned int)"},
-    {"_ZN5clang6driver5types21lookupCXXTypeForCTypeENS1_2IDE", "clang::driver::types::lookupCXXTypeForCType(clang::driver::types::ID)"},
-    {"_ZN5clang26ASTDeserializationListenerD0Ev", "clang::ASTDeserializationListener::~ASTDeserializationListener()"},
-    {"_ZN5clang26ASTDeserializationListenerD1Ev", "clang::ASTDeserializationListener::~ASTDeserializationListener()"},
-    {"_ZN5clang26ASTDeserializationListenerD2Ev", "clang::ASTDeserializationListener::~ASTDeserializationListener()"},
-    {"_ZN5clang13serialization18TypeIdxFromBuiltinEPKNS_11BuiltinTypeE", "clang::serialization::TypeIdxFromBuiltin(clang::BuiltinType const*)"},
-    {"_ZN5clang13serialization11ComputeHashENS_8SelectorE", "clang::serialization::ComputeHash(clang::Selector)"},
-    {"_ZN5clang17ASTReaderListenerD0Ev", "clang::ASTReaderListener::~ASTReaderListener()"},
-    {"_ZN5clang17ASTReaderListenerD1Ev", "clang::ASTReaderListener::~ASTReaderListener()"},
-    {"_ZN5clang17ASTReaderListenerD2Ev", "clang::ASTReaderListener::~ASTReaderListener()"},
-    {"_ZN5clang12PCHValidator19ReadLanguageOptionsERKNS_11LangOptionsE", "clang::PCHValidator::ReadLanguageOptions(clang::LangOptions const&)"},
-    {"_ZN5clang9ASTReader4DiagEj", "clang::ASTReader::Diag(unsigned int)"},
-    {"_ZN5clang12PCHValidator16ReadTargetTripleEN4llvm9StringRefE", "clang::PCHValidator::ReadTargetTriple(llvm::StringRef)"},
-    {"_ZN5clang12PCHValidator20ReadPredefinesBufferERKN4llvm11SmallVectorINS_18PCHPredefinesBlockELj2EEENS1_9StringRefERSs", "clang::PCHValidator::ReadPredefinesBuffer(llvm::SmallVector<clang::PCHPredefinesBlock, 2u> const&, llvm::StringRef, std::string&)"},
-    {"_ZN5clang9ASTReader4DiagENS_14SourceLocationEj", "clang::ASTReader::Diag(clang::SourceLocation, unsigned int)"},
-    {"_ZN5clang12PCHValidator18ReadHeaderFileInfoERKNS_14HeaderFileInfoEj", "clang::PCHValidator::ReadHeaderFileInfo(clang::HeaderFileInfo const&, unsigned int)"},
-    {"_ZN5clang12PCHValidator11ReadCounterEj", "clang::PCHValidator::ReadCounter(unsigned int)"},
-    {"_ZN5clang9ASTReader26setDeserializationListenerEPNS_26ASTDeserializationListenerE", "clang::ASTReader::setDeserializationListener(clang::ASTDeserializationListener*)"},
-    {"_ZN5clang9ASTReader22ReadDeclContextStorageERN4llvm15BitstreamCursorERKSt4pairIyyERNS0_15DeclContextInfoE", "clang::ASTReader::ReadDeclContextStorage(llvm::BitstreamCursor&, std::pair<unsigned long long, unsigned long long> const&, clang::ASTReader::DeclContextInfo&)"},
-    {"_ZN5clang9ASTReader5ErrorEPKc", "clang::ASTReader::Error(char const*)"},
-    {"_ZN5clang9ASTReader22CheckPredefinesBuffersEv", "clang::ASTReader::CheckPredefinesBuffers()"},
-    {"_ZN5clang9ASTReader14ParseLineTableERNS0_11PerFileDataERN4llvm15SmallVectorImplIyEE", "clang::ASTReader::ParseLineTable(clang::ASTReader::PerFileData&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTReader28MaybeAddSystemRootToFilenameERSs", "clang::ASTReader::MaybeAddSystemRootToFilename(std::string&)"},
-    {"_ZN5clang9ASTReader22ReadSourceManagerBlockERNS0_11PerFileDataE", "clang::ASTReader::ReadSourceManagerBlock(clang::ASTReader::PerFileData&)"},
-    {"_ZN5clang9ASTReader15SLocCursorForIDEj", "clang::ASTReader::SLocCursorForID(unsigned int)"},
-    {"_ZN5clang9ASTReader19ReadSLocEntryRecordEj", "clang::ASTReader::ReadSLocEntryRecord(unsigned int)"},
-    {"_ZN5clang9ASTReader16ReadBlockAbbrevsERN4llvm15BitstreamCursorEj", "clang::ASTReader::ReadBlockAbbrevs(llvm::BitstreamCursor&, unsigned int)"},
-    {"_ZN5clang9ASTReader15ReadMacroRecordERNS0_11PerFileDataEy", "clang::ASTReader::ReadMacroRecord(clang::ASTReader::PerFileData&, unsigned long long)"},
-    {"_ZN5clang9ASTReader20DecodeIdentifierInfoEj", "clang::ASTReader::DecodeIdentifierInfo(unsigned int)"},
-    {"_ZN5clang9ASTReader18getMacroDefinitionEj", "clang::ASTReader::getMacroDefinition(unsigned int)"},
-    {"_ZN5clang9ASTReader22LoadPreprocessedEntityERNS0_11PerFileDataE", "clang::ASTReader::LoadPreprocessedEntity(clang::ASTReader::PerFileData&)"},
-    {"_ZN5clang9ASTReader20SetIdentifierIsMacroEPNS_14IdentifierInfoERNS0_11PerFileDataEy", "clang::ASTReader::SetIdentifierIsMacro(clang::IdentifierInfo*, clang::ASTReader::PerFileData&, unsigned long long)"},
-    {"_ZN5clang9ASTReader17ReadDefinedMacrosEv", "clang::ASTReader::ReadDefinedMacros()"},
-    {"_ZN5clang9ASTReader19LoadMacroDefinitionEN4llvm16DenseMapIteratorIPNS_14IdentifierInfoEyNS1_12DenseMapInfoIS4_EENS5_IyEELb0EEE", "clang::ASTReader::LoadMacroDefinition(llvm::DenseMapIterator<clang::IdentifierInfo*, unsigned long long, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<unsigned long long>, false>)"},
-    {"_ZN5clang9ASTReader19LoadMacroDefinitionEPNS_14IdentifierInfoE", "clang::ASTReader::LoadMacroDefinition(clang::IdentifierInfo*)"},
-    {"_ZN5clang9ASTReader12ReadASTBlockERNS0_11PerFileDataE", "clang::ASTReader::ReadASTBlock(clang::ASTReader::PerFileData&)"},
-    {"_ZN5clang9ASTReader11ReadASTCoreEN4llvm9StringRefENS0_11ASTFileTypeE", "clang::ASTReader::ReadASTCore(llvm::StringRef, clang::ASTReader::ASTFileType)"},
-    {"_ZN5clang9ASTReader20ParseLanguageOptionsERKN4llvm15SmallVectorImplIyEE", "clang::ASTReader::ParseLanguageOptions(llvm::SmallVectorImpl<unsigned long long> const&)"},
-    {"_ZN5clang9ASTReader7ReadASTERKSsNS0_11ASTFileTypeE", "clang::ASTReader::ReadAST(std::string const&, clang::ASTReader::ASTFileType)"},
-    {"_ZN5clang9ASTReader17InitializeContextERNS_10ASTContextE", "clang::ASTReader::InitializeContext(clang::ASTContext&)"},
-    {"_ZN5clang9ASTReader11PerFileDataC1ENS0_11ASTFileTypeE", "clang::ASTReader::PerFileData::PerFileData(clang::ASTReader::ASTFileType)"},
-    {"_ZN5clang9ASTReader15setPreprocessorERNS_12PreprocessorE", "clang::ASTReader::setPreprocessor(clang::Preprocessor&)"},
-    {"_ZN5clang9ASTReader22GetTranslationUnitDeclEv", "clang::ASTReader::GetTranslationUnitDecl()"},
-    {"_ZN5clang9ASTReader7GetTypeEj", "clang::ASTReader::GetType(unsigned int)"},
-    {"_ZN5clang9ASTReader28ReadPragmaDiagnosticMappingsERNS_10DiagnosticE", "clang::ASTReader::ReadPragmaDiagnosticMappings(clang::Diagnostic&)"},
-    {"_ZN5clang9ASTReader7GetDeclEj", "clang::ASTReader::GetDecl(unsigned int)"},
-    {"_ZN5clang9ASTReader21getOriginalSourceFileERKSsRNS_11FileManagerERNS_10DiagnosticE", "clang::ASTReader::getOriginalSourceFile(std::string const&, clang::FileManager&, clang::Diagnostic&)"},
-    {"_ZThn8_N5clang9ASTReader24ReadPreprocessedEntitiesEv", "non-virtual thunk to clang::ASTReader::ReadPreprocessedEntities()"},
-    {"_ZN5clang9ASTReader24ReadPreprocessedEntitiesEv", "clang::ASTReader::ReadPreprocessedEntities()"},
-    {"_ZThn8_N5clang9ASTReader22ReadPreprocessedEntityEy", "non-virtual thunk to clang::ASTReader::ReadPreprocessedEntity(unsigned long long)"},
-    {"_ZN5clang9ASTReader22ReadPreprocessedEntityEy", "clang::ASTReader::ReadPreprocessedEntity(unsigned long long)"},
-    {"_ZN5clang9ASTReader18TypeCursorForIndexEj", "clang::ASTReader::TypeCursorForIndex(unsigned int)"},
-    {"_ZN5clang9ASTReader14ReadTypeRecordEj", "clang::ASTReader::ReadTypeRecord(unsigned int)"},
-    {"_ZN5clang9ASTReader9ReadAPIntERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadAPInt(llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader23ReadNestedNameSpecifierERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadNestedNameSpecifier(llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader20ReadTemplateArgumentERNS0_11PerFileDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadTemplateArgument(clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader15ReadSourceRangeERNS0_11PerFileDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadSourceRange(clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader16ReadTemplateNameERNS0_11PerFileDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadTemplateName(clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader24ReadTemplateArgumentListERN4llvm11SmallVectorINS_16TemplateArgumentELj8EEERNS0_11PerFileDataERKNS2_IyLj64EEERj", "clang::ASTReader::ReadTemplateArgumentList(llvm::SmallVector<clang::TemplateArgument, 8u>&, clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang13TypeLocReader21VisitQualifiedTypeLocENS_16QualifiedTypeLocE", "clang::TypeLocReader::VisitQualifiedTypeLoc(clang::QualifiedTypeLoc)"},
-    {"_ZN5clang13TypeLocReader19VisitBuiltinTypeLocENS_14BuiltinTypeLocE", "clang::TypeLocReader::VisitBuiltinTypeLoc(clang::BuiltinTypeLoc)"},
-    {"_ZN5clang13TypeLocReader19VisitComplexTypeLocENS_14ComplexTypeLocE", "clang::TypeLocReader::VisitComplexTypeLoc(clang::ComplexTypeLoc)"},
-    {"_ZN5clang13TypeLocReader19VisitPointerTypeLocENS_14PointerTypeLocE", "clang::TypeLocReader::VisitPointerTypeLoc(clang::PointerTypeLoc)"},
-    {"_ZN5clang13TypeLocReader24VisitBlockPointerTypeLocENS_19BlockPointerTypeLocE", "clang::TypeLocReader::VisitBlockPointerTypeLoc(clang::BlockPointerTypeLoc)"},
-    {"_ZN5clang13TypeLocReader27VisitLValueReferenceTypeLocENS_22LValueReferenceTypeLocE", "clang::TypeLocReader::VisitLValueReferenceTypeLoc(clang::LValueReferenceTypeLoc)"},
-    {"_ZN5clang13TypeLocReader27VisitRValueReferenceTypeLocENS_22RValueReferenceTypeLocE", "clang::TypeLocReader::VisitRValueReferenceTypeLoc(clang::RValueReferenceTypeLoc)"},
-    {"_ZN5clang13TypeLocReader25VisitMemberPointerTypeLocENS_20MemberPointerTypeLocE", "clang::TypeLocReader::VisitMemberPointerTypeLoc(clang::MemberPointerTypeLoc)"},
-    {"_ZN5clang13TypeLocReader17VisitArrayTypeLocENS_12ArrayTypeLocE", "clang::TypeLocReader::VisitArrayTypeLoc(clang::ArrayTypeLoc)"},
-    {"_ZN5clang13TypeLocReader25VisitConstantArrayTypeLocENS_20ConstantArrayTypeLocE", "clang::TypeLocReader::VisitConstantArrayTypeLoc(clang::ConstantArrayTypeLoc)"},
-    {"_ZN5clang13TypeLocReader27VisitIncompleteArrayTypeLocENS_22IncompleteArrayTypeLocE", "clang::TypeLocReader::VisitIncompleteArrayTypeLoc(clang::IncompleteArrayTypeLoc)"},
-    {"_ZN5clang13TypeLocReader25VisitVariableArrayTypeLocENS_20VariableArrayTypeLocE", "clang::TypeLocReader::VisitVariableArrayTypeLoc(clang::VariableArrayTypeLoc)"},
-    {"_ZN5clang13TypeLocReader31VisitDependentSizedArrayTypeLocENS_26DependentSizedArrayTypeLocE", "clang::TypeLocReader::VisitDependentSizedArrayTypeLoc(clang::DependentSizedArrayTypeLoc)"},
-    {"_ZN5clang13TypeLocReader35VisitDependentSizedExtVectorTypeLocENS_30DependentSizedExtVectorTypeLocE", "clang::TypeLocReader::VisitDependentSizedExtVectorTypeLoc(clang::DependentSizedExtVectorTypeLoc)"},
-    {"_ZN5clang13TypeLocReader18VisitVectorTypeLocENS_13VectorTypeLocE", "clang::TypeLocReader::VisitVectorTypeLoc(clang::VectorTypeLoc)"},
-    {"_ZN5clang13TypeLocReader21VisitExtVectorTypeLocENS_16ExtVectorTypeLocE", "clang::TypeLocReader::VisitExtVectorTypeLoc(clang::ExtVectorTypeLoc)"},
-    {"_ZN5clang13TypeLocReader20VisitFunctionTypeLocENS_15FunctionTypeLocE", "clang::TypeLocReader::VisitFunctionTypeLoc(clang::FunctionTypeLoc)"},
-    {"_ZN5clang13TypeLocReader25VisitFunctionProtoTypeLocENS_20FunctionProtoTypeLocE", "clang::TypeLocReader::VisitFunctionProtoTypeLoc(clang::FunctionProtoTypeLoc)"},
-    {"_ZN5clang13TypeLocReader27VisitFunctionNoProtoTypeLocENS_22FunctionNoProtoTypeLocE", "clang::TypeLocReader::VisitFunctionNoProtoTypeLoc(clang::FunctionNoProtoTypeLoc)"},
-    {"_ZN5clang13TypeLocReader27VisitUnresolvedUsingTypeLocENS_22UnresolvedUsingTypeLocE", "clang::TypeLocReader::VisitUnresolvedUsingTypeLoc(clang::UnresolvedUsingTypeLoc)"},
-    {"_ZN5clang13TypeLocReader19VisitTypedefTypeLocENS_14TypedefTypeLocE", "clang::TypeLocReader::VisitTypedefTypeLoc(clang::TypedefTypeLoc)"},
-    {"_ZN5clang13TypeLocReader22VisitTypeOfExprTypeLocENS_17TypeOfExprTypeLocE", "clang::TypeLocReader::VisitTypeOfExprTypeLoc(clang::TypeOfExprTypeLoc)"},
-    {"_ZN5clang13TypeLocReader18VisitTypeOfTypeLocENS_13TypeOfTypeLocE", "clang::TypeLocReader::VisitTypeOfTypeLoc(clang::TypeOfTypeLoc)"},
-    {"_ZN5clang9ASTReader17GetTypeSourceInfoERNS0_11PerFileDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::GetTypeSourceInfo(clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang13TypeLocReader20VisitDecltypeTypeLocENS_15DecltypeTypeLocE", "clang::TypeLocReader::VisitDecltypeTypeLoc(clang::DecltypeTypeLoc)"},
-    {"_ZN5clang13TypeLocReader18VisitRecordTypeLocENS_13RecordTypeLocE", "clang::TypeLocReader::VisitRecordTypeLoc(clang::RecordTypeLoc)"},
-    {"_ZN5clang13TypeLocReader16VisitEnumTypeLocENS_11EnumTypeLocE", "clang::TypeLocReader::VisitEnumTypeLoc(clang::EnumTypeLoc)"},
-    {"_ZN5clang13TypeLocReader22VisitAttributedTypeLocENS_17AttributedTypeLocE", "clang::TypeLocReader::VisitAttributedTypeLoc(clang::AttributedTypeLoc)"},
-    {"_ZN5clang13TypeLocReader28VisitTemplateTypeParmTypeLocENS_23TemplateTypeParmTypeLocE", "clang::TypeLocReader::VisitTemplateTypeParmTypeLoc(clang::TemplateTypeParmTypeLoc)"},
-    {"_ZN5clang13TypeLocReader33VisitSubstTemplateTypeParmTypeLocENS_28SubstTemplateTypeParmTypeLocE", "clang::TypeLocReader::VisitSubstTemplateTypeParmTypeLoc(clang::SubstTemplateTypeParmTypeLoc)"},
-    {"_ZN5clang13TypeLocReader37VisitSubstTemplateTypeParmPackTypeLocENS_32SubstTemplateTypeParmPackTypeLocE", "clang::TypeLocReader::VisitSubstTemplateTypeParmPackTypeLoc(clang::SubstTemplateTypeParmPackTypeLoc)"},
-    {"_ZN5clang13TypeLocReader34VisitTemplateSpecializationTypeLocENS_29TemplateSpecializationTypeLocE", "clang::TypeLocReader::VisitTemplateSpecializationTypeLoc(clang::TemplateSpecializationTypeLoc)"},
-    {"_ZN5clang9ASTReader26GetTemplateArgumentLocInfoERNS0_11PerFileDataENS_16TemplateArgument7ArgKindERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::GetTemplateArgumentLocInfo(clang::ASTReader::PerFileData&, clang::TemplateArgument::ArgKind, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang13TypeLocReader17VisitParenTypeLocENS_12ParenTypeLocE", "clang::TypeLocReader::VisitParenTypeLoc(clang::ParenTypeLoc)"},
-    {"_ZN5clang13TypeLocReader22VisitElaboratedTypeLocENS_17ElaboratedTypeLocE", "clang::TypeLocReader::VisitElaboratedTypeLoc(clang::ElaboratedTypeLoc)"},
-    {"_ZN5clang13TypeLocReader29VisitInjectedClassNameTypeLocENS_24InjectedClassNameTypeLocE", "clang::TypeLocReader::VisitInjectedClassNameTypeLoc(clang::InjectedClassNameTypeLoc)"},
-    {"_ZN5clang13TypeLocReader25VisitDependentNameTypeLocENS_20DependentNameTypeLocE", "clang::TypeLocReader::VisitDependentNameTypeLoc(clang::DependentNameTypeLoc)"},
-    {"_ZN5clang13TypeLocReader43VisitDependentTemplateSpecializationTypeLocENS_38DependentTemplateSpecializationTypeLocE", "clang::TypeLocReader::VisitDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc)"},
-    {"_ZN5clang13TypeLocReader25VisitPackExpansionTypeLocENS_20PackExpansionTypeLocE", "clang::TypeLocReader::VisitPackExpansionTypeLoc(clang::PackExpansionTypeLoc)"},
-    {"_ZN5clang13TypeLocReader25VisitObjCInterfaceTypeLocENS_20ObjCInterfaceTypeLocE", "clang::TypeLocReader::VisitObjCInterfaceTypeLoc(clang::ObjCInterfaceTypeLoc)"},
-    {"_ZN5clang13TypeLocReader22VisitObjCObjectTypeLocENS_17ObjCObjectTypeLocE", "clang::TypeLocReader::VisitObjCObjectTypeLoc(clang::ObjCObjectTypeLoc)"},
-    {"_ZN5clang13TypeLocReader29VisitObjCObjectPointerTypeLocENS_24ObjCObjectPointerTypeLocE", "clang::TypeLocReader::VisitObjCObjectPointerTypeLoc(clang::ObjCObjectPointerTypeLoc)"},
-    {"_ZNK5clang9ASTReader9GetTypeIDENS_8QualTypeE", "clang::ASTReader::GetTypeID(clang::QualType) const"},
-    {"_ZNK5clang9ASTReader10GetTypeIdxENS_8QualTypeE", "clang::ASTReader::GetTypeIdx(clang::QualType) const"},
-    {"_ZNK5clang9ASTReader28getTotalNumCXXBaseSpecifiersEv", "clang::ASTReader::getTotalNumCXXBaseSpecifiers() const"},
-    {"_ZN5clang9ASTReader23ReadTemplateArgumentLocERNS0_11PerFileDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadTemplateArgumentLoc(clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZThn16_N5clang9ASTReader15GetExternalDeclEj", "non-virtual thunk to clang::ASTReader::GetExternalDecl(unsigned int)"},
-    {"_ZN5clang9ASTReader15GetExternalDeclEj", "clang::ASTReader::GetExternalDecl(unsigned int)"},
-    {"_ZN5clang9ASTReader26GetCXXBaseSpecifiersOffsetEj", "clang::ASTReader::GetCXXBaseSpecifiersOffset(unsigned int)"},
-    {"_ZThn16_N5clang9ASTReader28GetExternalCXXBaseSpecifiersEy", "non-virtual thunk to clang::ASTReader::GetExternalCXXBaseSpecifiers(unsigned long long)"},
-    {"_ZN5clang9ASTReader28GetExternalCXXBaseSpecifiersEy", "clang::ASTReader::GetExternalCXXBaseSpecifiers(unsigned long long)"},
-    {"_ZN5clang9ASTReader20ReadCXXBaseSpecifierERNS0_11PerFileDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadCXXBaseSpecifier(clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZThn16_N5clang9ASTReader19GetExternalDeclStmtEy", "non-virtual thunk to clang::ASTReader::GetExternalDeclStmt(unsigned long long)"},
-    {"_ZN5clang9ASTReader19GetExternalDeclStmtEy", "clang::ASTReader::GetExternalDeclStmt(unsigned long long)"},
-    {"_ZN5clang9ASTReader18ClearSwitchCaseIDsEv", "clang::ASTReader::ClearSwitchCaseIDs()"},
-    {"_ZThn16_N5clang9ASTReader24FindExternalLexicalDeclsEPKNS_11DeclContextEPFbNS_4Decl4KindEERN4llvm15SmallVectorImplIPS4_EE", "non-virtual thunk to clang::ASTReader::FindExternalLexicalDecls(clang::DeclContext const*, bool (*)(clang::Decl::Kind), llvm::SmallVectorImpl<clang::Decl*>&)"},
-    {"_ZN5clang9ASTReader24FindExternalLexicalDeclsEPKNS_11DeclContextEPFbNS_4Decl4KindEERN4llvm15SmallVectorImplIPS4_EE", "clang::ASTReader::FindExternalLexicalDecls(clang::DeclContext const*, bool (*)(clang::Decl::Kind), llvm::SmallVectorImpl<clang::Decl*>&)"},
-    {"_ZThn16_N5clang9ASTReader30FindExternalVisibleDeclsByNameEPKNS_11DeclContextENS_15DeclarationNameE", "non-virtual thunk to clang::ASTReader::FindExternalVisibleDeclsByName(clang::DeclContext const*, clang::DeclarationName)"},
-    {"_ZN5clang9ASTReader30FindExternalVisibleDeclsByNameEPKNS_11DeclContextENS_15DeclarationNameE", "clang::ASTReader::FindExternalVisibleDeclsByName(clang::DeclContext const*, clang::DeclarationName)"},
-    {"_ZThn16_N5clang9ASTReader23MaterializeVisibleDeclsEPKNS_11DeclContextE", "non-virtual thunk to clang::ASTReader::MaterializeVisibleDecls(clang::DeclContext const*)"},
-    {"_ZN5clang9ASTReader23MaterializeVisibleDeclsEPKNS_11DeclContextE", "clang::ASTReader::MaterializeVisibleDecls(clang::DeclContext const*)"},
-    {"_ZN5clang9ASTReader30PassInterestingDeclsToConsumerEv", "clang::ASTReader::PassInterestingDeclsToConsumer()"},
-    {"_ZThn16_N5clang9ASTReader20StartTranslationUnitEPNS_11ASTConsumerE", "non-virtual thunk to clang::ASTReader::StartTranslationUnit(clang::ASTConsumer*)"},
-    {"_ZN5clang9ASTReader20StartTranslationUnitEPNS_11ASTConsumerE", "clang::ASTReader::StartTranslationUnit(clang::ASTConsumer*)"},
-    {"_ZThn16_N5clang9ASTReader10PrintStatsEv", "non-virtual thunk to clang::ASTReader::PrintStats()"},
-    {"_ZN5clang9ASTReader10PrintStatsEv", "clang::ASTReader::PrintStats()"},
-    {"_ZThn16_N5clang9ASTReader14InitializeSemaERNS_4SemaE", "non-virtual thunk to clang::ASTReader::InitializeSema(clang::Sema&)"},
-    {"_ZN5clang9ASTReader14InitializeSemaERNS_4SemaE", "clang::ASTReader::InitializeSema(clang::Sema&)"},
-    {"_ZN5clang9ASTReader14DecodeSelectorEj", "clang::ASTReader::DecodeSelector(unsigned int)"},
-    {"_ZN5clang9ASTReader3getEPKcS2_", "clang::ASTReader::get(char const*, char const*)"},
-    {"_ZN5clang21ASTIdentifierIteratorC1ERKNS_9ASTReaderE", "clang::ASTIdentifierIterator::ASTIdentifierIterator(clang::ASTReader const&)"},
-    {"_ZN5clang21ASTIdentifierIteratorC2ERKNS_9ASTReaderE", "clang::ASTIdentifierIterator::ASTIdentifierIterator(clang::ASTReader const&)"},
-    {"_ZN5clang21ASTIdentifierIterator4NextEv", "clang::ASTIdentifierIterator::Next()"},
-    {"_ZThn32_NK5clang9ASTReader14getIdentifiersEv", "non-virtual thunk to clang::ASTReader::getIdentifiers() const"},
-    {"_ZNK5clang9ASTReader14getIdentifiersEv", "clang::ASTReader::getIdentifiers() const"},
-    {"_ZThn16_N5clang9ASTReader14ReadMethodPoolENS_8SelectorE", "non-virtual thunk to clang::ASTReader::ReadMethodPool(clang::Selector)"},
-    {"_ZN5clang9ASTReader14ReadMethodPoolENS_8SelectorE", "clang::ASTReader::ReadMethodPool(clang::Selector)"},
-    {"_ZN5clang9ASTReader12LoadSelectorENS_8SelectorE", "clang::ASTReader::LoadSelector(clang::Selector)"},
-    {"_ZN5clang9ASTReader17SetIdentifierInfoEjPNS_14IdentifierInfoE", "clang::ASTReader::SetIdentifierInfo(unsigned int, clang::IdentifierInfo*)"},
-    {"_ZN5clang9ASTReader23SetGloballyVisibleDeclsEPNS_14IdentifierInfoERKN4llvm15SmallVectorImplIjEEb", "clang::ASTReader::SetGloballyVisibleDecls(clang::IdentifierInfo*, llvm::SmallVectorImpl<unsigned int> const&, bool)"},
-    {"_ZThn48_N5clang9ASTReader13ReadSLocEntryEj", "non-virtual thunk to clang::ASTReader::ReadSLocEntry(unsigned int)"},
-    {"_ZN5clang9ASTReader13ReadSLocEntryEj", "clang::ASTReader::ReadSLocEntry(unsigned int)"},
-    {"_ZN12_GLOBAL__N_122ASTSelectorLookupTrait7ReadKeyEPKhj", "(anonymous namespace)::ASTSelectorLookupTrait::ReadKey(unsigned char const*, unsigned int)"},
-    {"_ZThn16_N5clang9ASTReader19GetExternalSelectorEj", "non-virtual thunk to clang::ASTReader::GetExternalSelector(unsigned int)"},
-    {"_ZN5clang9ASTReader19GetExternalSelectorEj", "clang::ASTReader::GetExternalSelector(unsigned int)"},
-    {"_ZThn16_N5clang9ASTReader23GetNumExternalSelectorsEv", "non-virtual thunk to clang::ASTReader::GetNumExternalSelectors()"},
-    {"_ZN5clang9ASTReader23GetNumExternalSelectorsEv", "clang::ASTReader::GetNumExternalSelectors()"},
-    {"_ZN5clang9ASTReader19ReadDeclarationNameERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadDeclarationName(llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader22ReadDeclarationNameLocERNS0_11PerFileDataERNS_18DeclarationNameLocENS_15DeclarationNameERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadDeclarationNameLoc(clang::ASTReader::PerFileData&, clang::DeclarationNameLoc&, clang::DeclarationName, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader23ReadDeclarationNameInfoERNS0_11PerFileDataERNS_19DeclarationNameInfoERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadDeclarationNameInfo(clang::ASTReader::PerFileData&, clang::DeclarationNameInfo&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader17ReadQualifierInfoERNS0_11PerFileDataERNS_13QualifierInfoERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadQualifierInfo(clang::ASTReader::PerFileData&, clang::QualifierInfo&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader25ReadTemplateParameterListERNS0_11PerFileDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadTemplateParameterList(clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader10ReadAPSIntERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadAPSInt(llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader17ReadUnresolvedSetERNS_17UnresolvedSetImplERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadUnresolvedSet(clang::UnresolvedSetImpl&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader23ReadCXXCtorInitializersERNS0_11PerFileDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadCXXCtorInitializers(clang::ASTReader::PerFileData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader11ReadAPFloatERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadAPFloat(llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader10ReadStringERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadString(llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader16ReadCXXTemporaryERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTReader::ReadCXXTemporary(llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang9ASTReader18getIdentifierTableEv", "clang::ASTReader::getIdentifierTable()"},
-    {"_ZN5clang9ASTReader18RecordSwitchCaseIDEPNS_10SwitchCaseEj", "clang::ASTReader::RecordSwitchCaseID(clang::SwitchCase*, unsigned int)"},
-    {"_ZN5clang9ASTReader19getSwitchCaseWithIDEj", "clang::ASTReader::getSwitchCaseWithID(unsigned int)"},
-    {"_ZN5clang9ASTReader15RecordLabelStmtEPNS_9LabelStmtEj", "clang::ASTReader::RecordLabelStmt(clang::LabelStmt*, unsigned int)"},
-    {"_ZN5clang9ASTReader10SetLabelOfEPNS_8GotoStmtEj", "clang::ASTReader::SetLabelOf(clang::GotoStmt*, unsigned int)"},
-    {"_ZN5clang9ASTReader10SetLabelOfEPNS_13AddrLabelExprEj", "clang::ASTReader::SetLabelOf(clang::AddrLabelExpr*, unsigned int)"},
-    {"_ZThn16_N5clang9ASTReader21FinishedDeserializingEv", "non-virtual thunk to clang::ASTReader::FinishedDeserializing()"},
-    {"_ZN5clang9ASTReader21FinishedDeserializingEv", "clang::ASTReader::FinishedDeserializing()"},
-    {"_ZN5clang9ASTReaderC1ERNS_12PreprocessorEPNS_10ASTContextEPKcbb", "clang::ASTReader::ASTReader(clang::Preprocessor&, clang::ASTContext*, char const*, bool, bool)"},
-    {"_ZN5clang9ASTReaderC2ERNS_12PreprocessorEPNS_10ASTContextEPKcbb", "clang::ASTReader::ASTReader(clang::Preprocessor&, clang::ASTContext*, char const*, bool, bool)"},
-    {"_ZN5clang9ASTReaderC1ERNS_13SourceManagerERNS_11FileManagerERNS_10DiagnosticEPKcbb", "clang::ASTReader::ASTReader(clang::SourceManager&, clang::FileManager&, clang::Diagnostic&, char const*, bool, bool)"},
-    {"_ZN5clang9ASTReaderC2ERNS_13SourceManagerERNS_11FileManagerERNS_10DiagnosticEPKcbb", "clang::ASTReader::ASTReader(clang::SourceManager&, clang::FileManager&, clang::Diagnostic&, char const*, bool, bool)"},
-    {"_ZThn8_N5clang9ASTReaderD0Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZN5clang9ASTReaderD0Ev", "clang::ASTReader::~ASTReader()"},
-    {"_ZThn16_N5clang9ASTReaderD0Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZThn32_N5clang9ASTReaderD0Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZThn40_N5clang9ASTReaderD0Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZThn48_N5clang9ASTReaderD0Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZN5clang9ASTReaderD1Ev", "clang::ASTReader::~ASTReader()"},
-    {"_ZThn8_N5clang9ASTReaderD1Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZThn16_N5clang9ASTReaderD1Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZThn32_N5clang9ASTReaderD1Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZThn40_N5clang9ASTReaderD1Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZThn48_N5clang9ASTReaderD1Ev", "non-virtual thunk to clang::ASTReader::~ASTReader()"},
-    {"_ZN5clang9ASTReaderD2Ev", "clang::ASTReader::~ASTReader()"},
-    {"_ZN5clang9ASTReader11PerFileDataD1Ev", "clang::ASTReader::PerFileData::~PerFileData()"},
-    {"_ZN5clang9ASTReader11PerFileDataC2ENS0_11ASTFileTypeE", "clang::ASTReader::PerFileData::PerFileData(clang::ASTReader::ASTFileType)"},
-    {"_ZN5clang9ASTReader11PerFileDataD2Ev", "clang::ASTReader::PerFileData::~PerFileData()"},
-    {"_ZN12_GLOBAL__N_129ASTDeclContextNameLookupTrait7ReadKeyEPKhj", "(anonymous namespace)::ASTDeclContextNameLookupTrait::ReadKey(unsigned char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_112ASTStatCacheD1Ev", "(anonymous namespace)::ASTStatCache::~ASTStatCache()"},
-    {"_ZN12_GLOBAL__N_112ASTStatCacheD0Ev", "(anonymous namespace)::ASTStatCache::~ASTStatCache()"},
-    {"_ZN12_GLOBAL__N_112ASTStatCache7getStatEPKcR4statPi", "(anonymous namespace)::ASTStatCache::getStat(char const*, stat&, int*)"},
-    {"_ZSt14set_differenceIPN4llvm9StringRefES2_St20back_insert_iteratorISt6vectorIS1_SaIS1_EEEET1_T_S9_T0_SA_S8_", "std::back_insert_iterator<std::vector<llvm::StringRef, std::allocator<llvm::StringRef> > > std::set_difference<llvm::StringRef*, llvm::StringRef*, std::back_insert_iterator<std::vector<llvm::StringRef, std::allocator<llvm::StringRef> > > >(llvm::StringRef*, llvm::StringRef*, llvm::StringRef*, llvm::StringRef*, std::back_insert_iterator<std::vector<llvm::StringRef, std::allocator<llvm::StringRef> > >)"},
-    {"_ZN4llvm15BitstreamCursor10ReadRecordEjRNS_15SmallVectorImplIyEEPPKcPj", "llvm::BitstreamCursor::ReadRecord(unsigned int, llvm::SmallVectorImpl<unsigned long long>&, char const**, unsigned int*)"},
-    {"_ZNSt6vectorIN5clang9LineEntryESaIS1_EE7reserveEm", "std::vector<clang::LineEntry, std::allocator<clang::LineEntry> >::reserve(unsigned long)"},
-    {"_ZN4llvm15BitstreamCursoraSERKS0_", "llvm::BitstreamCursor::operator=(llvm::BitstreamCursor const&)"},
-    {"_ZN4llvm15BitstreamCursor9SkipBlockEv", "llvm::BitstreamCursor::SkipBlock()"},
-    {"_ZN4llvm15BitstreamCursor13EnterSubBlockEjPj", "llvm::BitstreamCursor::EnterSubBlock(unsigned int, unsigned int*)"},
-    {"_ZN4llvm15BitstreamCursor14ReadSubBlockIDEv", "llvm::BitstreamCursor::ReadSubBlockID()"},
-    {"_ZN4llvm15BitstreamCursor16ReadAbbrevRecordEv", "llvm::BitstreamCursor::ReadAbbrevRecord()"},
-    {"_ZN4llvm15SmallVectorImplIyE4swapERS1_", "llvm::SmallVectorImpl<unsigned long long>::swap(llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN4llvm15SmallVectorImplIyE6insertIPyEES3_S3_T_S4_", "unsigned long long* llvm::SmallVectorImpl<unsigned long long>::insert<unsigned long long*>(unsigned long long*, unsigned long long*, unsigned long long*)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang15MacroDefinitionEE6resizeEj", "llvm::SmallVectorImpl<clang::MacroDefinition*>::resize(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang8SelectorEE6resizeEj", "llvm::SmallVectorImpl<clang::Selector>::resize(unsigned int)"},
-    {"_ZN5clang22OnDiskChainedHashTableINS_24ASTIdentifierLookupTraitEE4findERKSt4pairIPKcjEPS1_", "clang::OnDiskChainedHashTable<clang::ASTIdentifierLookupTrait>::find(std::pair<char const*, unsigned int> const&, clang::ASTIdentifierLookupTrait*)"},
-    {"_ZN4llvm15BitstreamCursor4ReadEj", "llvm::BitstreamCursor::Read(unsigned int)"},
-    {"_ZN4llvm15BitstreamCursor18ReadBlockInfoBlockEv", "llvm::BitstreamCursor::ReadBlockInfoBlock()"},
-    {"_ZN4llvm15SmallVectorImplIN5clang9ASTReader15DeclContextInfoEE4swapERS4_", "llvm::SmallVectorImpl<clang::ASTReader::DeclContextInfo>::swap(llvm::SmallVectorImpl<clang::ASTReader::DeclContextInfo>&)"},
-    {"_ZN5clang14TypeLocVisitorINS_13TypeLocReaderEvE5VisitENS_7TypeLocE", "clang::TypeLocVisitor<clang::TypeLocReader, void>::Visit(clang::TypeLoc)"},
-    {"_ZN5clang13serialization10MakeTypeIDISt9binder1stISt16const_mem_fun1_tINS0_7TypeIdxENS_9ASTReaderENS_8QualTypeEEEEEjS6_T_", "unsigned int clang::serialization::MakeTypeID<std::binder1st<std::const_mem_fun1_t<clang::serialization::TypeIdx, clang::ASTReader, clang::QualType> > >(clang::QualType, std::binder1st<std::const_mem_fun1_t<clang::serialization::TypeIdx, clang::ASTReader, clang::QualType> >)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorENS1_14SourceLocationENS_12DenseMapInfoIS2_EENS4_IS3_EEE6insertERKSt4pairIS2_S3_E", "llvm::DenseMap<clang::Selector, clang::SourceLocation, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<clang::SourceLocation> >::insert(std::pair<clang::Selector, clang::SourceLocation> const&)"},
-    {"_ZNSt5dequeISt4pairIPN5clang9ValueDeclENS1_14SourceLocationEESaIS5_EE9push_backERKS5_", "std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> > >::push_back(std::pair<clang::ValueDecl*, clang::SourceLocation> const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoENS1_4Sema8WeakInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE6insertERKSt4pairIS3_S5_E", "llvm::DenseMap<clang::IdentifierInfo*, clang::Sema::WeakInfo, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::Sema::WeakInfo> >::insert(std::pair<clang::IdentifierInfo*, clang::Sema::WeakInfo> const&)"},
-    {"_ZN5clang17ASTReaderListener19ReadLanguageOptionsERKNS_11LangOptionsE", "clang::ASTReaderListener::ReadLanguageOptions(clang::LangOptions const&)"},
-    {"_ZN5clang17ASTReaderListener16ReadTargetTripleEN4llvm9StringRefE", "clang::ASTReaderListener::ReadTargetTriple(llvm::StringRef)"},
-    {"_ZN5clang17ASTReaderListener20ReadPredefinesBufferERKN4llvm11SmallVectorINS_18PCHPredefinesBlockELj2EEENS1_9StringRefERSs", "clang::ASTReaderListener::ReadPredefinesBuffer(llvm::SmallVector<clang::PCHPredefinesBlock, 2u> const&, llvm::StringRef, std::string&)"},
-    {"_ZN5clang17ASTReaderListener18ReadHeaderFileInfoERKNS_14HeaderFileInfoEj", "clang::ASTReaderListener::ReadHeaderFileInfo(clang::HeaderFileInfo const&, unsigned int)"},
-    {"_ZN5clang17ASTReaderListener11ReadCounterEj", "clang::ASTReaderListener::ReadCounter(unsigned int)"},
-    {"_ZN5clang12PCHValidatorD1Ev", "clang::PCHValidator::~PCHValidator()"},
-    {"_ZN5clang12PCHValidatorD0Ev", "clang::PCHValidator::~PCHValidator()"},
-    {"_ZN5clang9ASTReader20StartedDeserializingEv", "clang::ASTReader::StartedDeserializing()"},
-    {"_ZN5clang9ASTReader10ForgetSemaEv", "clang::ASTReader::ForgetSema()"},
-    {"_ZN5clang9ASTReader3getEN4llvm9StringRefE", "clang::ASTReader::get(llvm::StringRef)"},
-    {"_ZN5clang9ASTReader13GetIdentifierEj", "clang::ASTReader::GetIdentifier(unsigned int)"},
-    {"_ZThn16_N5clang9ASTReader20StartedDeserializingEv", "non-virtual thunk to clang::ASTReader::StartedDeserializing()"},
-    {"_ZThn16_N5clang9ASTReader10ForgetSemaEv", "non-virtual thunk to clang::ASTReader::ForgetSema()"},
-    {"_ZThn32_N5clang9ASTReader3getEN4llvm9StringRefE", "non-virtual thunk to clang::ASTReader::get(llvm::StringRef)"},
-    {"_ZThn40_N5clang9ASTReader13GetIdentifierEj", "non-virtual thunk to clang::ASTReader::GetIdentifier(unsigned int)"},
-    {"_ZN5clang21ASTIdentifierIteratorD1Ev", "clang::ASTIdentifierIterator::~ASTIdentifierIterator()"},
-    {"_ZN5clang21ASTIdentifierIteratorD0Ev", "clang::ASTIdentifierIterator::~ASTIdentifierIterator()"},
-    {"_ZNSt5dequeIN5clang9ASTReader21PendingIdentifierInfoESaIS2_EED2Ev", "std::deque<clang::ASTReader::PendingIdentifierInfo, std::allocator<clang::ASTReader::PendingIdentifierInfo> >::~deque()"},
-    {"_ZNSt5dequeIN5clang9ASTReader21PendingIdentifierInfoESaIS2_EE19_M_destroy_data_auxESt15_Deque_iteratorIS2_RS2_PS2_ES8_", "std::deque<clang::ASTReader::PendingIdentifierInfo, std::allocator<clang::ASTReader::PendingIdentifierInfo> >::_M_destroy_data_aux(std::_Deque_iterator<clang::ASTReader::PendingIdentifierInfo, clang::ASTReader::PendingIdentifierInfo&, clang::ASTReader::PendingIdentifierInfo*>, std::_Deque_iterator<clang::ASTReader::PendingIdentifierInfo, clang::ASTReader::PendingIdentifierInfo&, clang::ASTReader::PendingIdentifierInfo*>)"},
-    {"_ZNSt11_Deque_baseIPN5clang4DeclESaIS2_EE17_M_initialize_mapEm", "std::_Deque_base<clang::Decl*, std::allocator<clang::Decl*> >::_M_initialize_map(unsigned long)"},
-    {"_ZNSt11_Deque_baseIN5clang9ASTReader21PendingIdentifierInfoESaIS2_EE17_M_initialize_mapEm", "std::_Deque_base<clang::ASTReader::PendingIdentifierInfo, std::allocator<clang::ASTReader::PendingIdentifierInfo> >::_M_initialize_map(unsigned long)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang13AddrLabelExprEESt10_Select1stIS5_ESt4lessIjESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_ESD_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::AddrLabelExpr*>, std::_Select1st<std::pair<unsigned int const, clang::AddrLabelExpr*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::AddrLabelExpr*> > >::erase(std::_Rb_tree_iterator<std::pair<unsigned int const, clang::AddrLabelExpr*> >, std::_Rb_tree_iterator<std::pair<unsigned int const, clang::AddrLabelExpr*> >)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang13AddrLabelExprEESt10_Select1stIS5_ESt4lessIjESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::AddrLabelExpr*>, std::_Select1st<std::pair<unsigned int const, clang::AddrLabelExpr*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::AddrLabelExpr*> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, clang::AddrLabelExpr*> >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang8GotoStmtEESt10_Select1stIS5_ESt4lessIjESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_ESD_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::GotoStmt*>, std::_Select1st<std::pair<unsigned int const, clang::GotoStmt*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::GotoStmt*> > >::erase(std::_Rb_tree_iterator<std::pair<unsigned int const, clang::GotoStmt*> >, std::_Rb_tree_iterator<std::pair<unsigned int const, clang::GotoStmt*> >)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang8GotoStmtEESt10_Select1stIS5_ESt4lessIjESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::GotoStmt*>, std::_Select1st<std::pair<unsigned int const, clang::GotoStmt*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::GotoStmt*> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, clang::GotoStmt*> >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang9LabelStmtEESt10_Select1stIS5_ESt4lessIjESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::LabelStmt*>, std::_Select1st<std::pair<unsigned int const, clang::LabelStmt*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::LabelStmt*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, clang::LabelStmt*> >, std::pair<unsigned int const, clang::LabelStmt*> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang9LabelStmtEESt10_Select1stIS5_ESt4lessIjESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::LabelStmt*>, std::_Select1st<std::pair<unsigned int const, clang::LabelStmt*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::LabelStmt*> > >::_M_insert_unique(std::pair<unsigned int const, clang::LabelStmt*> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang10SwitchCaseEESt10_Select1stIS5_ESt4lessIjESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::SwitchCase*>, std::_Select1st<std::pair<unsigned int const, clang::SwitchCase*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::SwitchCase*> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, clang::SwitchCase*> >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang10SwitchCaseEESt10_Select1stIS5_ESt4lessIjESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::SwitchCase*>, std::_Select1st<std::pair<unsigned int const, clang::SwitchCase*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::SwitchCase*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, clang::SwitchCase*> >, std::pair<unsigned int const, clang::SwitchCase*> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang10SwitchCaseEESt10_Select1stIS5_ESt4lessIjESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::SwitchCase*>, std::_Select1st<std::pair<unsigned int const, clang::SwitchCase*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::SwitchCase*> > >::_M_insert_unique(std::pair<unsigned int const, clang::SwitchCase*> const&)"},
-    {"_ZNSt5dequeIN5clang9ASTReader21PendingIdentifierInfoESaIS2_EE16_M_push_back_auxERKS2_", "std::deque<clang::ASTReader::PendingIdentifierInfo, std::allocator<clang::ASTReader::PendingIdentifierInfo> >::_M_push_back_aux(clang::ASTReader::PendingIdentifierInfo const&)"},
-    {"_ZNSt5dequeIN5clang9ASTReader21PendingIdentifierInfoESaIS2_EE17_M_reallocate_mapEmb", "std::deque<clang::ASTReader::PendingIdentifierInfo, std::allocator<clang::ASTReader::PendingIdentifierInfo> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZN4llvm8DenseMapIPN5clang13CXXRecordDeclEbNS_12DenseMapInfoIS3_EENS4_IbEEE16InsertIntoBucketERKS3_RKbPSt4pairIS3_bE", "llvm::DenseMap<clang::CXXRecordDecl*, bool, llvm::DenseMapInfo<clang::CXXRecordDecl*>, llvm::DenseMapInfo<bool> >::InsertIntoBucket(clang::CXXRecordDecl* const&, bool const&, std::pair<clang::CXXRecordDecl*, bool>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang13CXXRecordDeclEbNS_12DenseMapInfoIS3_EENS4_IbEEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl*, bool, llvm::DenseMapInfo<clang::CXXRecordDecl*>, llvm::DenseMapInfo<bool> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoENS1_4Sema8WeakInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::IdentifierInfo*, clang::Sema::WeakInfo, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::Sema::WeakInfo> >::InsertIntoBucket(clang::IdentifierInfo* const&, clang::Sema::WeakInfo const&, std::pair<clang::IdentifierInfo*, clang::Sema::WeakInfo>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoENS1_4Sema8WeakInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, clang::Sema::WeakInfo, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::Sema::WeakInfo> >::grow(unsigned int)"},
-    {"_ZNSt5dequeISt4pairIPN5clang9ValueDeclENS1_14SourceLocationEESaIS5_EE17_M_reallocate_mapEmb", "std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> > >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorENS1_14SourceLocationENS_12DenseMapInfoIS2_EENS4_IS3_EEE16InsertIntoBucketERKS2_RKS3_PSt4pairIS2_S3_E", "llvm::DenseMap<clang::Selector, clang::SourceLocation, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<clang::SourceLocation> >::InsertIntoBucket(clang::Selector const&, clang::SourceLocation const&, std::pair<clang::Selector, clang::SourceLocation>*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorENS1_14SourceLocationENS_12DenseMapInfoIS2_EENS4_IS3_EEE4growEj", "llvm::DenseMap<clang::Selector, clang::SourceLocation, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<clang::SourceLocation> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIN5clang15DeclarationNameEPNS1_9NamedDeclENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<clang::DeclarationName, clang::NamedDecl*, llvm::DenseMapInfo<clang::DeclarationName>, llvm::DenseMapInfo<clang::NamedDecl*> >::InsertIntoBucket(clang::DeclarationName const&, clang::NamedDecl* const&, std::pair<clang::DeclarationName, clang::NamedDecl*>*)"},
-    {"_ZN4llvm8DenseMapIN5clang15DeclarationNameEPNS1_9NamedDeclENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<clang::DeclarationName, clang::NamedDecl*, llvm::DenseMapInfo<clang::DeclarationName>, llvm::DenseMapInfo<clang::NamedDecl*> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang9ASTReader15DeclContextInfoEEaSERKS4_", "llvm::SmallVectorImpl<clang::ASTReader::DeclContextInfo>::operator=(llvm::SmallVectorImpl<clang::ASTReader::DeclContextInfo> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang9ASTReader15DeclContextInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::ASTReader::DeclContextInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIN5clang8QualTypeENS1_13serialization7TypeIdxENS3_26UnsafeQualTypeDenseMapInfoENS_12DenseMapInfoIS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<clang::QualType, clang::serialization::TypeIdx, clang::serialization::UnsafeQualTypeDenseMapInfo, llvm::DenseMapInfo<clang::serialization::TypeIdx> >::InsertIntoBucket(clang::QualType const&, clang::serialization::TypeIdx const&, std::pair<clang::QualType, clang::serialization::TypeIdx>*)"},
-    {"_ZN4llvm8DenseMapIN5clang8QualTypeENS1_13serialization7TypeIdxENS3_26UnsafeQualTypeDenseMapInfoENS_12DenseMapInfoIS4_EEE4growEj", "llvm::DenseMap<clang::QualType, clang::serialization::TypeIdx, clang::serialization::UnsafeQualTypeDenseMapInfo, llvm::DenseMapInfo<clang::serialization::TypeIdx> >::grow(unsigned int)"},
-    {"_ZN5clang24ASTIdentifierLookupTrait8ReadDataERKSt4pairIPKcjEPKhj", "clang::ASTIdentifierLookupTrait::ReadData(std::pair<char const*, unsigned int> const&, unsigned char const*, unsigned int)"},
-    {"_ZNSt6vectorIPN5clang4DeclESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<clang::Decl*, std::allocator<clang::Decl*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<clang::Decl**, std::vector<clang::Decl*, std::allocator<clang::Decl*> > >, unsigned long, clang::Decl* const&)"},
-    {"_ZNSt6vectorIN5clang8QualTypeESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_", "std::vector<clang::QualType, std::allocator<clang::QualType> >::_M_fill_insert(__gnu_cxx::__normal_iterator<clang::QualType*, std::vector<clang::QualType, std::allocator<clang::QualType> > >, unsigned long, clang::QualType const&)"},
-    {"_ZNSt6vectorIPN5clang14IdentifierInfoESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<clang::IdentifierInfo*, std::allocator<clang::IdentifierInfo*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<clang::IdentifierInfo**, std::vector<clang::IdentifierInfo*, std::allocator<clang::IdentifierInfo*> > >, unsigned long, clang::IdentifierInfo* const&)"},
-    {"_ZN4llvm8DenseMapIjSt4pairIPN5clang9ASTReader11PerFileDataEyENS_12DenseMapInfoIjEENS7_IS6_EEE16InsertIntoBucketERKjRKS6_PS1_IjS6_E", "llvm::DenseMap<unsigned int, std::pair<clang::ASTReader::PerFileData*, unsigned long long>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::pair<clang::ASTReader::PerFileData*, unsigned long long> > >::InsertIntoBucket(unsigned int const&, std::pair<clang::ASTReader::PerFileData*, unsigned long long> const&, std::pair<unsigned int, std::pair<clang::ASTReader::PerFileData*, unsigned long long> >*)"},
-    {"_ZN4llvm8DenseMapIjSt4pairIPN5clang9ASTReader11PerFileDataEyENS_12DenseMapInfoIjEENS7_IS6_EEE4growEj", "llvm::DenseMap<unsigned int, std::pair<clang::ASTReader::PerFileData*, unsigned long long>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::pair<clang::ASTReader::PerFileData*, unsigned long long> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorISt4pairIPN5clang9ASTReader11PerFileDataEyELj2EEENS_12DenseMapInfoIjEENS9_IS8_EEE16FindAndConstructERKj", "llvm::DenseMap<unsigned int, llvm::SmallVector<std::pair<clang::ASTReader::PerFileData*, unsigned long long>, 2u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<clang::ASTReader::PerFileData*, unsigned long long>, 2u> > >::FindAndConstruct(unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorISt4pairIPN5clang9ASTReader11PerFileDataEyELj2EEENS_12DenseMapInfoIjEENS9_IS8_EEE16InsertIntoBucketERKjRKS8_PS2_IjS8_E", "llvm::DenseMap<unsigned int, llvm::SmallVector<std::pair<clang::ASTReader::PerFileData*, unsigned long long>, 2u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<clang::ASTReader::PerFileData*, unsigned long long>, 2u> > >::InsertIntoBucket(unsigned int const&, llvm::SmallVector<std::pair<clang::ASTReader::PerFileData*, unsigned long long>, 2u> const&, std::pair<unsigned int, llvm::SmallVector<std::pair<clang::ASTReader::PerFileData*, unsigned long long>, 2u> >*)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorISt4pairIPN5clang9ASTReader11PerFileDataEyELj2EEENS_12DenseMapInfoIjEENS9_IS8_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::SmallVector<std::pair<clang::ASTReader::PerFileData*, unsigned long long>, 2u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<clang::ASTReader::PerFileData*, unsigned long long>, 2u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIPN5clang9ASTReader11PerFileDataEyEEaSERKS7_", "llvm::SmallVectorImpl<std::pair<clang::ASTReader::PerFileData*, unsigned long long> >::operator=(llvm::SmallVectorImpl<std::pair<clang::ASTReader::PerFileData*, unsigned long long> > const&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIPvLj1EEENS_12DenseMapInfoIjEENS4_IS3_EEE16FindAndConstructERKj", "llvm::DenseMap<unsigned int, llvm::SmallVector<void*, 1u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<void*, 1u> > >::FindAndConstruct(unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIPvLj1EEENS_12DenseMapInfoIjEENS4_IS3_EEE16InsertIntoBucketERKjRKS3_PSt4pairIjS3_E", "llvm::DenseMap<unsigned int, llvm::SmallVector<void*, 1u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<void*, 1u> > >::InsertIntoBucket(unsigned int const&, llvm::SmallVector<void*, 1u> const&, std::pair<unsigned int, llvm::SmallVector<void*, 1u> >*)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIPvLj1EEENS_12DenseMapInfoIjEENS4_IS3_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::SmallVector<void*, 1u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<void*, 1u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPvEaSERKS2_", "llvm::SmallVectorImpl<void*>::operator=(llvm::SmallVectorImpl<void*> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang11DeclContextENS_11SmallVectorINS1_9ASTReader15DeclContextInfoELj1EEENS_12DenseMapInfoIS4_EENS9_IS8_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::DeclContext const*, llvm::SmallVector<clang::ASTReader::DeclContextInfo, 1u>, llvm::DenseMapInfo<clang::DeclContext const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ASTReader::DeclContextInfo, 1u> > >::FindAndConstruct(clang::DeclContext const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang11DeclContextENS_11SmallVectorINS1_9ASTReader15DeclContextInfoELj1EEENS_12DenseMapInfoIS4_EENS9_IS8_EEE16InsertIntoBucketERKS4_RKS8_PSt4pairIS4_S8_E", "llvm::DenseMap<clang::DeclContext const*, llvm::SmallVector<clang::ASTReader::DeclContextInfo, 1u>, llvm::DenseMapInfo<clang::DeclContext const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ASTReader::DeclContextInfo, 1u> > >::InsertIntoBucket(clang::DeclContext const* const&, llvm::SmallVector<clang::ASTReader::DeclContextInfo, 1u> const&, std::pair<clang::DeclContext const*, llvm::SmallVector<clang::ASTReader::DeclContextInfo, 1u> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang11DeclContextENS_11SmallVectorINS1_9ASTReader15DeclContextInfoELj1EEENS_12DenseMapInfoIS4_EENS9_IS8_EEE4growEj", "llvm::DenseMap<clang::DeclContext const*, llvm::SmallVector<clang::ASTReader::DeclContextInfo, 1u>, llvm::DenseMapInfo<clang::DeclContext const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ASTReader::DeclContextInfo, 1u> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEyNS_12DenseMapInfoIS3_EENS4_IyEEE16InsertIntoBucketERKS3_RKyPSt4pairIS3_yE", "llvm::DenseMap<clang::IdentifierInfo*, unsigned long long, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(clang::IdentifierInfo* const&, unsigned long long const&, std::pair<clang::IdentifierInfo*, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEyNS_12DenseMapInfoIS3_EENS4_IyEEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, unsigned long long, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang18PCHPredefinesBlockELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::PCHPredefinesBlock, false>::grow(unsigned long)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS2_ERKS2_", "std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, int> >, std::pair<int const, int> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_insert_unique(std::pair<int const, int> const&)"},
-    {"_ZSt16__introsort_loopIPN4llvm9StringRefElEvT_S3_T0_", "void std::__introsort_loop<llvm::StringRef*, long>(llvm::StringRef*, llvm::StringRef*, long)"},
-    {"_ZSt22__final_insertion_sortIPN4llvm9StringRefEEvT_S3_", "void std::__final_insertion_sort<llvm::StringRef*>(llvm::StringRef*, llvm::StringRef*)"},
-    {"_ZSt16__insertion_sortIPN4llvm9StringRefEEvT_S3_", "void std::__insertion_sort<llvm::StringRef*>(llvm::StringRef*, llvm::StringRef*)"},
-    {"_ZSt21__unguarded_partitionIPN4llvm9StringRefES1_ET_S3_S3_T0_", "llvm::StringRef* std::__unguarded_partition<llvm::StringRef*, llvm::StringRef>(llvm::StringRef*, llvm::StringRef*, llvm::StringRef)"},
-    {"_ZSt8__medianIN4llvm9StringRefEERKT_S4_S4_S4_", "llvm::StringRef const& std::__median<llvm::StringRef>(llvm::StringRef const&, llvm::StringRef const&, llvm::StringRef const&)"},
-    {"_ZSt13__heap_selectIPN4llvm9StringRefEEvT_S3_S3_", "void std::__heap_select<llvm::StringRef*>(llvm::StringRef*, llvm::StringRef*, llvm::StringRef*)"},
-    {"_ZSt13__adjust_heapIPN4llvm9StringRefElS1_EvT_T0_S4_T1_", "void std::__adjust_heap<llvm::StringRef*, long, llvm::StringRef>(llvm::StringRef*, long, long, llvm::StringRef)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang18PCHPredefinesBlockEEaSERKS3_", "llvm::SmallVectorImpl<clang::PCHPredefinesBlock>::operator=(llvm::SmallVectorImpl<clang::PCHPredefinesBlock> const&)"},
-    {"_ZN4llvm15SmallVectorImplINS_9StringRefEEaSERKS2_", "llvm::SmallVectorImpl<llvm::StringRef>::operator=(llvm::SmallVectorImpl<llvm::StringRef> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN5clang9LabelStmtEESt10_Select1stIS5_ESt4lessIjESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::LabelStmt*>, std::_Select1st<std::pair<unsigned int const, clang::LabelStmt*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::LabelStmt*> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, clang::LabelStmt*> >*)"},
-    {"_ZN5clang18ExternalSemaSource14InitializeSemaERNS_4SemaE", "clang::ExternalSemaSource::InitializeSema(clang::Sema&)"},
-    {"_ZN5clang18ExternalSemaSource10ForgetSemaEv", "clang::ExternalSemaSource::ForgetSema()"},
-    {"_ZN4llvm15BitstreamReaderD2Ev", "llvm::BitstreamReader::~BitstreamReader()"},
-    {"_ZN4llvm15BitstreamReader9BlockInfoD2Ev", "llvm::BitstreamReader::BlockInfo::~BlockInfo()"},
-    {"_ZN4llvm15BitstreamReader20getOrCreateBlockInfoEj", "llvm::BitstreamReader::getOrCreateBlockInfo(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIjSsESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<std::pair<unsigned int, std::string>, std::allocator<std::pair<unsigned int, std::string> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int, std::string>*, std::vector<std::pair<unsigned int, std::string>, std::allocator<std::pair<unsigned int, std::string> > > >, std::pair<unsigned int, std::string> const&)"},
-    {"_ZN9__gnu_cxx13new_allocatorIN4llvm15BitstreamReader9BlockInfoEE9constructEPS3_RKS3_", "__gnu_cxx::new_allocator<llvm::BitstreamReader::BlockInfo>::construct(llvm::BitstreamReader::BlockInfo*, llvm::BitstreamReader::BlockInfo const&)"},
-    {"_ZNSt6vectorIN4llvm15BitstreamReader9BlockInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::BitstreamReader::BlockInfo, std::allocator<llvm::BitstreamReader::BlockInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::BitstreamReader::BlockInfo*, std::vector<llvm::BitstreamReader::BlockInfo, std::allocator<llvm::BitstreamReader::BlockInfo> > >, llvm::BitstreamReader::BlockInfo const&)"},
-    {"_ZSt24__uninitialized_copy_auxIPN4llvm15BitstreamReader9BlockInfoES3_ET0_T_S5_S4_St12__false_type", "llvm::BitstreamReader::BlockInfo* std::__uninitialized_copy_aux<llvm::BitstreamReader::BlockInfo*, llvm::BitstreamReader::BlockInfo*>(llvm::BitstreamReader::BlockInfo*, llvm::BitstreamReader::BlockInfo*, llvm::BitstreamReader::BlockInfo*, std::__false_type)"},
-    {"_ZNSt6vectorIPN4llvm13BitCodeAbbrevESaIS2_EEaSERKS4_", "std::vector<llvm::BitCodeAbbrev*, std::allocator<llvm::BitCodeAbbrev*> >::operator=(std::vector<llvm::BitCodeAbbrev*, std::allocator<llvm::BitCodeAbbrev*> > const&)"},
-    {"_ZNSt6vectorISt4pairIjSsESaIS1_EEaSERKS3_", "std::vector<std::pair<unsigned int, std::string>, std::allocator<std::pair<unsigned int, std::string> > >::operator=(std::vector<std::pair<unsigned int, std::string>, std::allocator<std::pair<unsigned int, std::string> > > const&)"},
-    {"_ZNSt6vectorISt4pairIjSsESaIS1_EEC2ERKS3_", "std::vector<std::pair<unsigned int, std::string>, std::allocator<std::pair<unsigned int, std::string> > >::vector(std::vector<std::pair<unsigned int, std::string>, std::allocator<std::pair<unsigned int, std::string> > > const&)"},
-    {"_ZNSt6vectorIPN4llvm13BitCodeAbbrevESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::BitCodeAbbrev*, std::allocator<llvm::BitCodeAbbrev*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::BitCodeAbbrev**, std::vector<llvm::BitCodeAbbrev*, std::allocator<llvm::BitCodeAbbrev*> > >, llvm::BitCodeAbbrev* const&)"},
-    {"_ZN4llvm15BitstreamCursor9freeStateEv", "llvm::BitstreamCursor::freeState()"},
-    {"_ZN5clang19FileSystemStatCacheD1Ev", "clang::FileSystemStatCache::~FileSystemStatCache()"},
-    {"_ZN5clang19FileSystemStatCacheD0Ev", "clang::FileSystemStatCache::~FileSystemStatCache()"},
-    {"_ZN4llvm15BitstreamCursorD2Ev", "llvm::BitstreamCursor::~BitstreamCursor()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_15BitCodeAbbrevOpELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::BitCodeAbbrevOp, false>::grow(unsigned long)"},
-    {"_ZN4llvm15BitstreamCursor13PopBlockScopeEv", "llvm::BitstreamCursor::PopBlockScope()"},
-    {"_ZN4llvm15SmallVectorImplINS_15BitstreamCursor5BlockEE9push_backERKS2_", "llvm::SmallVectorImpl<llvm::BitstreamCursor::Block>::push_back(llvm::BitstreamCursor::Block const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_15BitstreamCursor5BlockELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::BitstreamCursor::Block, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_15BitstreamCursor5BlockELb0EE18uninitialized_copyIPS2_S5_EEvT_S6_T0_", "void llvm::SmallVectorTemplateBase<llvm::BitstreamCursor::Block, false>::uninitialized_copy<llvm::BitstreamCursor::Block*, llvm::BitstreamCursor::Block*>(llvm::BitstreamCursor::Block*, llvm::BitstreamCursor::Block*, llvm::BitstreamCursor::Block*)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, int> >*)"},
-    {"_ZN4llvm15BitstreamCursor20ReadAbbreviatedFieldERKNS_15BitCodeAbbrevOpERNS_15SmallVectorImplIyEE", "llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang13ASTDeclReader22GetCurrentCursorOffsetEv", "clang::ASTDeclReader::GetCurrentCursorOffset()"},
-    {"_ZN5clang13ASTDeclReader5VisitEPNS_4DeclE", "clang::ASTDeclReader::Visit(clang::Decl*)"},
-    {"_ZN5clang13ASTDeclReader9VisitDeclEPNS_4DeclE", "clang::ASTDeclReader::VisitDecl(clang::Decl*)"},
-    {"_ZN5clang9ASTReader14ReadAttributesERNS0_11PerFileDataERN4llvm11SmallVectorIPNS_4AttrELj2EEERKNS4_IyLj64EEERj", "clang::ASTReader::ReadAttributes(clang::ASTReader::PerFileData&, llvm::SmallVector<clang::Attr*, 2u>&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang13ASTDeclReader24VisitTranslationUnitDeclEPNS_19TranslationUnitDeclE", "clang::ASTDeclReader::VisitTranslationUnitDecl(clang::TranslationUnitDecl*)"},
-    {"_ZN5clang13ASTDeclReader14VisitNamedDeclEPNS_9NamedDeclE", "clang::ASTDeclReader::VisitNamedDecl(clang::NamedDecl*)"},
-    {"_ZN5clang13ASTDeclReader13VisitTypeDeclEPNS_8TypeDeclE", "clang::ASTDeclReader::VisitTypeDecl(clang::TypeDecl*)"},
-    {"_ZN5clang13ASTDeclReader16VisitTypedefDeclEPNS_11TypedefDeclE", "clang::ASTDeclReader::VisitTypedefDecl(clang::TypedefDecl*)"},
-    {"_ZN5clang13ASTDeclReader12VisitTagDeclEPNS_7TagDeclE", "clang::ASTDeclReader::VisitTagDecl(clang::TagDecl*)"},
-    {"_ZN5clang13ASTDeclReader13VisitEnumDeclEPNS_8EnumDeclE", "clang::ASTDeclReader::VisitEnumDecl(clang::EnumDecl*)"},
-    {"_ZN5clang13ASTDeclReader15VisitRecordDeclEPNS_10RecordDeclE", "clang::ASTDeclReader::VisitRecordDecl(clang::RecordDecl*)"},
-    {"_ZN5clang13ASTDeclReader14VisitValueDeclEPNS_9ValueDeclE", "clang::ASTDeclReader::VisitValueDecl(clang::ValueDecl*)"},
-    {"_ZN5clang13ASTDeclReader21VisitEnumConstantDeclEPNS_16EnumConstantDeclE", "clang::ASTDeclReader::VisitEnumConstantDecl(clang::EnumConstantDecl*)"},
-    {"_ZN5clang13ASTDeclReader19VisitDeclaratorDeclEPNS_14DeclaratorDeclE", "clang::ASTDeclReader::VisitDeclaratorDecl(clang::DeclaratorDecl*)"},
-    {"_ZN5clang13ASTDeclReader17VisitFunctionDeclEPNS_12FunctionDeclE", "clang::ASTDeclReader::VisitFunctionDecl(clang::FunctionDecl*)"},
-    {"_ZN5clang13ASTDeclReader19VisitObjCMethodDeclEPNS_14ObjCMethodDeclE", "clang::ASTDeclReader::VisitObjCMethodDecl(clang::ObjCMethodDecl*)"},
-    {"_ZN5clang13ASTDeclReader22VisitObjCContainerDeclEPNS_17ObjCContainerDeclE", "clang::ASTDeclReader::VisitObjCContainerDecl(clang::ObjCContainerDecl*)"},
-    {"_ZN5clang13ASTDeclReader22VisitObjCInterfaceDeclEPNS_17ObjCInterfaceDeclE", "clang::ASTDeclReader::VisitObjCInterfaceDecl(clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang13ASTDeclReader17VisitObjCIvarDeclEPNS_12ObjCIvarDeclE", "clang::ASTDeclReader::VisitObjCIvarDecl(clang::ObjCIvarDecl*)"},
-    {"_ZN5clang13ASTDeclReader14VisitFieldDeclEPNS_9FieldDeclE", "clang::ASTDeclReader::VisitFieldDecl(clang::FieldDecl*)"},
-    {"_ZN5clang13ASTDeclReader21VisitObjCProtocolDeclEPNS_16ObjCProtocolDeclE", "clang::ASTDeclReader::VisitObjCProtocolDecl(clang::ObjCProtocolDecl*)"},
-    {"_ZN5clang13ASTDeclReader24VisitObjCAtDefsFieldDeclEPNS_19ObjCAtDefsFieldDeclE", "clang::ASTDeclReader::VisitObjCAtDefsFieldDecl(clang::ObjCAtDefsFieldDecl*)"},
-    {"_ZN5clang13ASTDeclReader18VisitObjCClassDeclEPNS_13ObjCClassDeclE", "clang::ASTDeclReader::VisitObjCClassDecl(clang::ObjCClassDecl*)"},
-    {"_ZN5clang13ASTDeclReader28VisitObjCForwardProtocolDeclEPNS_23ObjCForwardProtocolDeclE", "clang::ASTDeclReader::VisitObjCForwardProtocolDecl(clang::ObjCForwardProtocolDecl*)"},
-    {"_ZN5clang13ASTDeclReader21VisitObjCCategoryDeclEPNS_16ObjCCategoryDeclE", "clang::ASTDeclReader::VisitObjCCategoryDecl(clang::ObjCCategoryDecl*)"},
-    {"_ZN5clang13ASTDeclReader28VisitObjCCompatibleAliasDeclEPNS_23ObjCCompatibleAliasDeclE", "clang::ASTDeclReader::VisitObjCCompatibleAliasDecl(clang::ObjCCompatibleAliasDecl*)"},
-    {"_ZN5clang13ASTDeclReader21VisitObjCPropertyDeclEPNS_16ObjCPropertyDeclE", "clang::ASTDeclReader::VisitObjCPropertyDecl(clang::ObjCPropertyDecl*)"},
-    {"_ZN5clang13ASTDeclReader17VisitObjCImplDeclEPNS_12ObjCImplDeclE", "clang::ASTDeclReader::VisitObjCImplDecl(clang::ObjCImplDecl*)"},
-    {"_ZN5clang13ASTDeclReader25VisitObjCCategoryImplDeclEPNS_20ObjCCategoryImplDeclE", "clang::ASTDeclReader::VisitObjCCategoryImplDecl(clang::ObjCCategoryImplDecl*)"},
-    {"_ZN5clang13ASTDeclReader27VisitObjCImplementationDeclEPNS_22ObjCImplementationDeclE", "clang::ASTDeclReader::VisitObjCImplementationDecl(clang::ObjCImplementationDecl*)"},
-    {"_ZN5clang13ASTDeclReader25VisitObjCPropertyImplDeclEPNS_20ObjCPropertyImplDeclE", "clang::ASTDeclReader::VisitObjCPropertyImplDecl(clang::ObjCPropertyImplDecl*)"},
-    {"_ZN5clang13ASTDeclReader22VisitIndirectFieldDeclEPNS_17IndirectFieldDeclE", "clang::ASTDeclReader::VisitIndirectFieldDecl(clang::IndirectFieldDecl*)"},
-    {"_ZN5clang13ASTDeclReader12VisitVarDeclEPNS_7VarDeclE", "clang::ASTDeclReader::VisitVarDecl(clang::VarDecl*)"},
-    {"_ZN5clang13ASTDeclReader22VisitImplicitParamDeclEPNS_17ImplicitParamDeclE", "clang::ASTDeclReader::VisitImplicitParamDecl(clang::ImplicitParamDecl*)"},
-    {"_ZN5clang13ASTDeclReader16VisitParmVarDeclEPNS_11ParmVarDeclE", "clang::ASTDeclReader::VisitParmVarDecl(clang::ParmVarDecl*)"},
-    {"_ZN5clang13ASTDeclReader21VisitFileScopeAsmDeclEPNS_16FileScopeAsmDeclE", "clang::ASTDeclReader::VisitFileScopeAsmDecl(clang::FileScopeAsmDecl*)"},
-    {"_ZN5clang13ASTDeclReader14VisitBlockDeclEPNS_9BlockDeclE", "clang::ASTDeclReader::VisitBlockDecl(clang::BlockDecl*)"},
-    {"_ZN5clang13ASTDeclReader20VisitLinkageSpecDeclEPNS_15LinkageSpecDeclE", "clang::ASTDeclReader::VisitLinkageSpecDecl(clang::LinkageSpecDecl*)"},
-    {"_ZN5clang13ASTDeclReader18VisitNamespaceDeclEPNS_13NamespaceDeclE", "clang::ASTDeclReader::VisitNamespaceDecl(clang::NamespaceDecl*)"},
-    {"_ZN5clang13ASTDeclReader23VisitNamespaceAliasDeclEPNS_18NamespaceAliasDeclE", "clang::ASTDeclReader::VisitNamespaceAliasDecl(clang::NamespaceAliasDecl*)"},
-    {"_ZN5clang13ASTDeclReader14VisitUsingDeclEPNS_9UsingDeclE", "clang::ASTDeclReader::VisitUsingDecl(clang::UsingDecl*)"},
-    {"_ZN5clang13ASTDeclReader20VisitUsingShadowDeclEPNS_15UsingShadowDeclE", "clang::ASTDeclReader::VisitUsingShadowDecl(clang::UsingShadowDecl*)"},
-    {"_ZN5clang13ASTDeclReader23VisitUsingDirectiveDeclEPNS_18UsingDirectiveDeclE", "clang::ASTDeclReader::VisitUsingDirectiveDecl(clang::UsingDirectiveDecl*)"},
-    {"_ZN5clang13ASTDeclReader29VisitUnresolvedUsingValueDeclEPNS_24UnresolvedUsingValueDeclE", "clang::ASTDeclReader::VisitUnresolvedUsingValueDecl(clang::UnresolvedUsingValueDecl*)"},
-    {"_ZN5clang13ASTDeclReader32VisitUnresolvedUsingTypenameDeclEPNS_27UnresolvedUsingTypenameDeclE", "clang::ASTDeclReader::VisitUnresolvedUsingTypenameDecl(clang::UnresolvedUsingTypenameDecl*)"},
-    {"_ZN5clang13ASTDeclReader21ReadCXXDefinitionDataERNS_13CXXRecordDecl14DefinitionDataERKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTDeclReader::ReadCXXDefinitionData(clang::CXXRecordDecl::DefinitionData&, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang13ASTDeclReader27InitializeCXXDefinitionDataEPNS_13CXXRecordDeclES2_RKN4llvm11SmallVectorIyLj64EEERj", "clang::ASTDeclReader::InitializeCXXDefinitionData(clang::CXXRecordDecl*, clang::CXXRecordDecl*, llvm::SmallVector<unsigned long long, 64u> const&, unsigned int&)"},
-    {"_ZN5clang13ASTDeclReader18VisitCXXRecordDeclEPNS_13CXXRecordDeclE", "clang::ASTDeclReader::VisitCXXRecordDecl(clang::CXXRecordDecl*)"},
-    {"_ZN5clang13ASTDeclReader18VisitCXXMethodDeclEPNS_13CXXMethodDeclE", "clang::ASTDeclReader::VisitCXXMethodDecl(clang::CXXMethodDecl*)"},
-    {"_ZN5clang13ASTDeclReader23VisitCXXConstructorDeclEPNS_18CXXConstructorDeclE", "clang::ASTDeclReader::VisitCXXConstructorDecl(clang::CXXConstructorDecl*)"},
-    {"_ZN5clang13ASTDeclReader22VisitCXXDestructorDeclEPNS_17CXXDestructorDeclE", "clang::ASTDeclReader::VisitCXXDestructorDecl(clang::CXXDestructorDecl*)"},
-    {"_ZN5clang13ASTDeclReader22VisitCXXConversionDeclEPNS_17CXXConversionDeclE", "clang::ASTDeclReader::VisitCXXConversionDecl(clang::CXXConversionDecl*)"},
-    {"_ZN5clang13ASTDeclReader19VisitAccessSpecDeclEPNS_14AccessSpecDeclE", "clang::ASTDeclReader::VisitAccessSpecDecl(clang::AccessSpecDecl*)"},
-    {"_ZN5clang13ASTDeclReader15VisitFriendDeclEPNS_10FriendDeclE", "clang::ASTDeclReader::VisitFriendDecl(clang::FriendDecl*)"},
-    {"_ZN5clang13ASTDeclReader23VisitFriendTemplateDeclEPNS_18FriendTemplateDeclE", "clang::ASTDeclReader::VisitFriendTemplateDecl(clang::FriendTemplateDecl*)"},
-    {"_ZN5clang13ASTDeclReader17VisitTemplateDeclEPNS_12TemplateDeclE", "clang::ASTDeclReader::VisitTemplateDecl(clang::TemplateDecl*)"},
-    {"_ZN5clang13ASTDeclReader29VisitRedeclarableTemplateDeclEPNS_24RedeclarableTemplateDeclE", "clang::ASTDeclReader::VisitRedeclarableTemplateDecl(clang::RedeclarableTemplateDecl*)"},
-    {"_ZN5clang13ASTDeclReader22VisitClassTemplateDeclEPNS_17ClassTemplateDeclE", "clang::ASTDeclReader::VisitClassTemplateDecl(clang::ClassTemplateDecl*)"},
-    {"_ZN5clang13ASTDeclReader36VisitClassTemplateSpecializationDeclEPNS_31ClassTemplateSpecializationDeclE", "clang::ASTDeclReader::VisitClassTemplateSpecializationDecl(clang::ClassTemplateSpecializationDecl*)"},
-    {"_ZN5clang13ASTDeclReader43VisitClassTemplatePartialSpecializationDeclEPNS_38ClassTemplatePartialSpecializationDeclE", "clang::ASTDeclReader::VisitClassTemplatePartialSpecializationDecl(clang::ClassTemplatePartialSpecializationDecl*)"},
-    {"_ZN5clang13ASTDeclReader25VisitFunctionTemplateDeclEPNS_20FunctionTemplateDeclE", "clang::ASTDeclReader::VisitFunctionTemplateDecl(clang::FunctionTemplateDecl*)"},
-    {"_ZN5clang13ASTDeclReader25VisitTemplateTypeParmDeclEPNS_20TemplateTypeParmDeclE", "clang::ASTDeclReader::VisitTemplateTypeParmDecl(clang::TemplateTypeParmDecl*)"},
-    {"_ZN5clang13ASTDeclReader28VisitNonTypeTemplateParmDeclEPNS_23NonTypeTemplateParmDeclE", "clang::ASTDeclReader::VisitNonTypeTemplateParmDecl(clang::NonTypeTemplateParmDecl*)"},
-    {"_ZN5clang13ASTDeclReader29VisitTemplateTemplateParmDeclEPNS_24TemplateTemplateParmDeclE", "clang::ASTDeclReader::VisitTemplateTemplateParmDecl(clang::TemplateTemplateParmDecl*)"},
-    {"_ZN5clang13ASTDeclReader21VisitStaticAssertDeclEPNS_16StaticAssertDeclE", "clang::ASTDeclReader::VisitStaticAssertDecl(clang::StaticAssertDecl*)"},
-    {"_ZN5clang13ASTDeclReader16VisitDeclContextEPNS_11DeclContextE", "clang::ASTDeclReader::VisitDeclContext(clang::DeclContext*)"},
-    {"_ZN5clang9ASTReader18DeclCursorForIndexEjj", "clang::ASTReader::DeclCursorForIndex(unsigned int, unsigned int)"},
-    {"_ZN5clang9ASTReader14ReadDeclRecordEjj", "clang::ASTReader::ReadDeclRecord(unsigned int, unsigned int)"},
-    {"_ZN5clang13ASTDeclReader10UpdateDeclEPNS_4DeclERKN4llvm11SmallVectorIyLj64EEE", "clang::ASTDeclReader::UpdateDecl(clang::Decl*, llvm::SmallVector<unsigned long long, 64u> const&)"},
-    {"_ZN5clang11DeclVisitorINS_13ASTDeclReaderEvE5VisitEPNS_4DeclE", "clang::DeclVisitor<clang::ASTDeclReader, void>::Visit(clang::Decl*)"},
-    {"_ZN5clang13ASTDeclReader17VisitRedeclarableINS_7TagDeclEEEvPNS_12RedeclarableIT_EE", "void clang::ASTDeclReader::VisitRedeclarable<clang::TagDecl>(clang::Redeclarable<clang::TagDecl>*)"},
-    {"_ZN5clang13ASTDeclReader17VisitRedeclarableINS_12FunctionDeclEEEvPNS_12RedeclarableIT_EE", "void clang::ASTDeclReader::VisitRedeclarable<clang::FunctionDecl>(clang::Redeclarable<clang::FunctionDecl>*)"},
-    {"_ZN5clang13ASTDeclReader17VisitRedeclarableINS_7VarDeclEEEvPNS_12RedeclarableIT_EE", "void clang::ASTDeclReader::VisitRedeclarable<clang::VarDecl>(clang::Redeclarable<clang::VarDecl>*)"},
-    {"_ZN5clang14AccessSpecDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::AccessSpecDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang9ASTReader15DeclContextInfoEE6insertEPS3_RKS3_", "llvm::SmallVectorImpl<clang::ASTReader::DeclContextInfo>::insert(clang::ASTReader::DeclContextInfo*, clang::ASTReader::DeclContextInfo const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS_11SmallVectorIPS2_Lj4EEENS_12DenseMapInfoIS4_EENS8_IS7_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::SmallVector<clang::CXXRecordDecl*, 4u>, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::CXXRecordDecl*, 4u> > >::FindAndConstruct(clang::CXXRecordDecl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS_11SmallVectorIPS2_Lj4EEENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::SmallVector<clang::CXXRecordDecl*, 4u>, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::CXXRecordDecl*, 4u> > >::InsertIntoBucket(clang::CXXRecordDecl const* const&, llvm::SmallVector<clang::CXXRecordDecl*, 4u> const&, std::pair<clang::CXXRecordDecl const*, llvm::SmallVector<clang::CXXRecordDecl*, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS_11SmallVectorIPS2_Lj4EEENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::SmallVector<clang::CXXRecordDecl*, 4u>, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::CXXRecordDecl*, 4u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang13CXXRecordDeclEEaSERKS4_", "llvm::SmallVectorImpl<clang::CXXRecordDecl*>::operator=(llvm::SmallVectorImpl<clang::CXXRecordDecl*> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang9BlockDecl7CaptureELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::BlockDecl::Capture, false>::grow(unsigned long)"},
-    {"_ZN5clang13ASTStmtReader32ReadExplicitTemplateArgumentListERNS_28ExplicitTemplateArgumentListEj", "clang::ASTStmtReader::ReadExplicitTemplateArgumentList(clang::ExplicitTemplateArgumentList&, unsigned int)"},
-    {"_ZN5clang13ASTStmtReader9VisitStmtEPNS_4StmtE", "clang::ASTStmtReader::VisitStmt(clang::Stmt*)"},
-    {"_ZN5clang13ASTStmtReader13VisitNullStmtEPNS_8NullStmtE", "clang::ASTStmtReader::VisitNullStmt(clang::NullStmt*)"},
-    {"_ZN5clang13ASTStmtReader17VisitCompoundStmtEPNS_12CompoundStmtE", "clang::ASTStmtReader::VisitCompoundStmt(clang::CompoundStmt*)"},
-    {"_ZN5clang13ASTStmtReader15VisitSwitchCaseEPNS_10SwitchCaseE", "clang::ASTStmtReader::VisitSwitchCase(clang::SwitchCase*)"},
-    {"_ZN5clang13ASTStmtReader13VisitCaseStmtEPNS_8CaseStmtE", "clang::ASTStmtReader::VisitCaseStmt(clang::CaseStmt*)"},
-    {"_ZN5clang9ASTReader11ReadSubExprEv", "clang::ASTReader::ReadSubExpr()"},
-    {"_ZN5clang13ASTStmtReader16VisitDefaultStmtEPNS_11DefaultStmtE", "clang::ASTStmtReader::VisitDefaultStmt(clang::DefaultStmt*)"},
-    {"_ZN5clang13ASTStmtReader14VisitLabelStmtEPNS_9LabelStmtE", "clang::ASTStmtReader::VisitLabelStmt(clang::LabelStmt*)"},
-    {"_ZN5clang13ASTStmtReader11VisitIfStmtEPNS_6IfStmtE", "clang::ASTStmtReader::VisitIfStmt(clang::IfStmt*)"},
-    {"_ZN5clang13ASTStmtReader15VisitSwitchStmtEPNS_10SwitchStmtE", "clang::ASTStmtReader::VisitSwitchStmt(clang::SwitchStmt*)"},
-    {"_ZN5clang13ASTStmtReader14VisitWhileStmtEPNS_9WhileStmtE", "clang::ASTStmtReader::VisitWhileStmt(clang::WhileStmt*)"},
-    {"_ZN5clang13ASTStmtReader11VisitDoStmtEPNS_6DoStmtE", "clang::ASTStmtReader::VisitDoStmt(clang::DoStmt*)"},
-    {"_ZN5clang13ASTStmtReader12VisitForStmtEPNS_7ForStmtE", "clang::ASTStmtReader::VisitForStmt(clang::ForStmt*)"},
-    {"_ZN5clang13ASTStmtReader13VisitGotoStmtEPNS_8GotoStmtE", "clang::ASTStmtReader::VisitGotoStmt(clang::GotoStmt*)"},
-    {"_ZN5clang13ASTStmtReader21VisitIndirectGotoStmtEPNS_16IndirectGotoStmtE", "clang::ASTStmtReader::VisitIndirectGotoStmt(clang::IndirectGotoStmt*)"},
-    {"_ZN5clang13ASTStmtReader17VisitContinueStmtEPNS_12ContinueStmtE", "clang::ASTStmtReader::VisitContinueStmt(clang::ContinueStmt*)"},
-    {"_ZN5clang13ASTStmtReader14VisitBreakStmtEPNS_9BreakStmtE", "clang::ASTStmtReader::VisitBreakStmt(clang::BreakStmt*)"},
-    {"_ZN5clang13ASTStmtReader15VisitReturnStmtEPNS_10ReturnStmtE", "clang::ASTStmtReader::VisitReturnStmt(clang::ReturnStmt*)"},
-    {"_ZN5clang13ASTStmtReader13VisitDeclStmtEPNS_8DeclStmtE", "clang::ASTStmtReader::VisitDeclStmt(clang::DeclStmt*)"},
-    {"_ZN5clang13ASTStmtReader12VisitAsmStmtEPNS_7AsmStmtE", "clang::ASTStmtReader::VisitAsmStmt(clang::AsmStmt*)"},
-    {"_ZN5clang13ASTStmtReader9VisitExprEPNS_4ExprE", "clang::ASTStmtReader::VisitExpr(clang::Expr*)"},
-    {"_ZN5clang13ASTStmtReader19VisitPredefinedExprEPNS_14PredefinedExprE", "clang::ASTStmtReader::VisitPredefinedExpr(clang::PredefinedExpr*)"},
-    {"_ZN5clang13ASTStmtReader16VisitDeclRefExprEPNS_11DeclRefExprE", "clang::ASTStmtReader::VisitDeclRefExpr(clang::DeclRefExpr*)"},
-    {"_ZN5clang13ASTStmtReader19VisitIntegerLiteralEPNS_14IntegerLiteralE", "clang::ASTStmtReader::VisitIntegerLiteral(clang::IntegerLiteral*)"},
-    {"_ZN5clang13ASTStmtReader20VisitFloatingLiteralEPNS_15FloatingLiteralE", "clang::ASTStmtReader::VisitFloatingLiteral(clang::FloatingLiteral*)"},
-    {"_ZN5clang13ASTStmtReader21VisitImaginaryLiteralEPNS_16ImaginaryLiteralE", "clang::ASTStmtReader::VisitImaginaryLiteral(clang::ImaginaryLiteral*)"},
-    {"_ZN5clang13ASTStmtReader18VisitStringLiteralEPNS_13StringLiteralE", "clang::ASTStmtReader::VisitStringLiteral(clang::StringLiteral*)"},
-    {"_ZN5clang13ASTStmtReader21VisitCharacterLiteralEPNS_16CharacterLiteralE", "clang::ASTStmtReader::VisitCharacterLiteral(clang::CharacterLiteral*)"},
-    {"_ZN5clang13ASTStmtReader14VisitParenExprEPNS_9ParenExprE", "clang::ASTStmtReader::VisitParenExpr(clang::ParenExpr*)"},
-    {"_ZN5clang13ASTStmtReader18VisitParenListExprEPNS_13ParenListExprE", "clang::ASTStmtReader::VisitParenListExpr(clang::ParenListExpr*)"},
-    {"_ZN5clang13ASTStmtReader18VisitUnaryOperatorEPNS_13UnaryOperatorE", "clang::ASTStmtReader::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN5clang13ASTStmtReader17VisitOffsetOfExprEPNS_12OffsetOfExprE", "clang::ASTStmtReader::VisitOffsetOfExpr(clang::OffsetOfExpr*)"},
-    {"_ZN5clang13ASTStmtReader22VisitSizeOfAlignOfExprEPNS_17SizeOfAlignOfExprE", "clang::ASTStmtReader::VisitSizeOfAlignOfExpr(clang::SizeOfAlignOfExpr*)"},
-    {"_ZN5clang13ASTStmtReader23VisitArraySubscriptExprEPNS_18ArraySubscriptExprE", "clang::ASTStmtReader::VisitArraySubscriptExpr(clang::ArraySubscriptExpr*)"},
-    {"_ZN5clang13ASTStmtReader13VisitCallExprEPNS_8CallExprE", "clang::ASTStmtReader::VisitCallExpr(clang::CallExpr*)"},
-    {"_ZN5clang13ASTStmtReader15VisitMemberExprEPNS_10MemberExprE", "clang::ASTStmtReader::VisitMemberExpr(clang::MemberExpr*)"},
-    {"_ZN5clang13ASTStmtReader16VisitObjCIsaExprEPNS_11ObjCIsaExprE", "clang::ASTStmtReader::VisitObjCIsaExpr(clang::ObjCIsaExpr*)"},
-    {"_ZN5clang13ASTStmtReader13VisitCastExprEPNS_8CastExprE", "clang::ASTStmtReader::VisitCastExpr(clang::CastExpr*)"},
-    {"_ZN5clang13ASTStmtReader19VisitBinaryOperatorEPNS_14BinaryOperatorE", "clang::ASTStmtReader::VisitBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN5clang13ASTStmtReader27VisitCompoundAssignOperatorEPNS_22CompoundAssignOperatorE", "clang::ASTStmtReader::VisitCompoundAssignOperator(clang::CompoundAssignOperator*)"},
-    {"_ZN5clang13ASTStmtReader24VisitConditionalOperatorEPNS_19ConditionalOperatorE", "clang::ASTStmtReader::VisitConditionalOperator(clang::ConditionalOperator*)"},
-    {"_ZN5clang13ASTStmtReader21VisitImplicitCastExprEPNS_16ImplicitCastExprE", "clang::ASTStmtReader::VisitImplicitCastExpr(clang::ImplicitCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader21VisitExplicitCastExprEPNS_16ExplicitCastExprE", "clang::ASTStmtReader::VisitExplicitCastExpr(clang::ExplicitCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader19VisitCStyleCastExprEPNS_14CStyleCastExprE", "clang::ASTStmtReader::VisitCStyleCastExpr(clang::CStyleCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader24VisitCompoundLiteralExprEPNS_19CompoundLiteralExprE", "clang::ASTStmtReader::VisitCompoundLiteralExpr(clang::CompoundLiteralExpr*)"},
-    {"_ZN5clang13ASTStmtReader25VisitExtVectorElementExprEPNS_20ExtVectorElementExprE", "clang::ASTStmtReader::VisitExtVectorElementExpr(clang::ExtVectorElementExpr*)"},
-    {"_ZN5clang13ASTStmtReader17VisitInitListExprEPNS_12InitListExprE", "clang::ASTStmtReader::VisitInitListExpr(clang::InitListExpr*)"},
-    {"_ZN5clang13ASTStmtReader23VisitDesignatedInitExprEPNS_18DesignatedInitExprE", "clang::ASTStmtReader::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)"},
-    {"_ZN5clang13ASTStmtReader26VisitImplicitValueInitExprEPNS_21ImplicitValueInitExprE", "clang::ASTStmtReader::VisitImplicitValueInitExpr(clang::ImplicitValueInitExpr*)"},
-    {"_ZN5clang13ASTStmtReader14VisitVAArgExprEPNS_9VAArgExprE", "clang::ASTStmtReader::VisitVAArgExpr(clang::VAArgExpr*)"},
-    {"_ZN5clang13ASTStmtReader18VisitAddrLabelExprEPNS_13AddrLabelExprE", "clang::ASTStmtReader::VisitAddrLabelExpr(clang::AddrLabelExpr*)"},
-    {"_ZN5clang13ASTStmtReader13VisitStmtExprEPNS_8StmtExprE", "clang::ASTStmtReader::VisitStmtExpr(clang::StmtExpr*)"},
-    {"_ZN5clang13ASTStmtReader15VisitChooseExprEPNS_10ChooseExprE", "clang::ASTStmtReader::VisitChooseExpr(clang::ChooseExpr*)"},
-    {"_ZN5clang13ASTStmtReader16VisitGNUNullExprEPNS_11GNUNullExprE", "clang::ASTStmtReader::VisitGNUNullExpr(clang::GNUNullExpr*)"},
-    {"_ZN5clang13ASTStmtReader22VisitShuffleVectorExprEPNS_17ShuffleVectorExprE", "clang::ASTStmtReader::VisitShuffleVectorExpr(clang::ShuffleVectorExpr*)"},
-    {"_ZN5clang13ASTStmtReader14VisitBlockExprEPNS_9BlockExprE", "clang::ASTStmtReader::VisitBlockExpr(clang::BlockExpr*)"},
-    {"_ZN5clang13ASTStmtReader21VisitBlockDeclRefExprEPNS_16BlockDeclRefExprE", "clang::ASTStmtReader::VisitBlockDeclRefExpr(clang::BlockDeclRefExpr*)"},
-    {"_ZN5clang13ASTStmtReader22VisitObjCStringLiteralEPNS_17ObjCStringLiteralE", "clang::ASTStmtReader::VisitObjCStringLiteral(clang::ObjCStringLiteral*)"},
-    {"_ZN5clang13ASTStmtReader19VisitObjCEncodeExprEPNS_14ObjCEncodeExprE", "clang::ASTStmtReader::VisitObjCEncodeExpr(clang::ObjCEncodeExpr*)"},
-    {"_ZN5clang13ASTStmtReader21VisitObjCSelectorExprEPNS_16ObjCSelectorExprE", "clang::ASTStmtReader::VisitObjCSelectorExpr(clang::ObjCSelectorExpr*)"},
-    {"_ZN5clang13ASTStmtReader21VisitObjCProtocolExprEPNS_16ObjCProtocolExprE", "clang::ASTStmtReader::VisitObjCProtocolExpr(clang::ObjCProtocolExpr*)"},
-    {"_ZN5clang13ASTStmtReader20VisitObjCIvarRefExprEPNS_15ObjCIvarRefExprE", "clang::ASTStmtReader::VisitObjCIvarRefExpr(clang::ObjCIvarRefExpr*)"},
-    {"_ZN5clang13ASTStmtReader24VisitObjCPropertyRefExprEPNS_19ObjCPropertyRefExprE", "clang::ASTStmtReader::VisitObjCPropertyRefExpr(clang::ObjCPropertyRefExpr*)"},
-    {"_ZN5clang13ASTStmtReader20VisitObjCMessageExprEPNS_15ObjCMessageExprE", "clang::ASTStmtReader::VisitObjCMessageExpr(clang::ObjCMessageExpr*)"},
-    {"_ZN5clang13ASTStmtReader26VisitObjCForCollectionStmtEPNS_21ObjCForCollectionStmtE", "clang::ASTStmtReader::VisitObjCForCollectionStmt(clang::ObjCForCollectionStmt*)"},
-    {"_ZN5clang13ASTStmtReader20VisitObjCAtCatchStmtEPNS_15ObjCAtCatchStmtE", "clang::ASTStmtReader::VisitObjCAtCatchStmt(clang::ObjCAtCatchStmt*)"},
-    {"_ZN5clang13ASTStmtReader22VisitObjCAtFinallyStmtEPNS_17ObjCAtFinallyStmtE", "clang::ASTStmtReader::VisitObjCAtFinallyStmt(clang::ObjCAtFinallyStmt*)"},
-    {"_ZN5clang13ASTStmtReader18VisitObjCAtTryStmtEPNS_13ObjCAtTryStmtE", "clang::ASTStmtReader::VisitObjCAtTryStmt(clang::ObjCAtTryStmt*)"},
-    {"_ZN5clang13ASTStmtReader27VisitObjCAtSynchronizedStmtEPNS_22ObjCAtSynchronizedStmtE", "clang::ASTStmtReader::VisitObjCAtSynchronizedStmt(clang::ObjCAtSynchronizedStmt*)"},
-    {"_ZN5clang13ASTStmtReader20VisitObjCAtThrowStmtEPNS_15ObjCAtThrowStmtE", "clang::ASTStmtReader::VisitObjCAtThrowStmt(clang::ObjCAtThrowStmt*)"},
-    {"_ZN5clang13ASTStmtReader17VisitCXXCatchStmtEPNS_12CXXCatchStmtE", "clang::ASTStmtReader::VisitCXXCatchStmt(clang::CXXCatchStmt*)"},
-    {"_ZN5clang13ASTStmtReader15VisitCXXTryStmtEPNS_10CXXTryStmtE", "clang::ASTStmtReader::VisitCXXTryStmt(clang::CXXTryStmt*)"},
-    {"_ZN5clang13ASTStmtReader24VisitCXXOperatorCallExprEPNS_19CXXOperatorCallExprE", "clang::ASTStmtReader::VisitCXXOperatorCallExpr(clang::CXXOperatorCallExpr*)"},
-    {"_ZN5clang13ASTStmtReader21VisitCXXConstructExprEPNS_16CXXConstructExprE", "clang::ASTStmtReader::VisitCXXConstructExpr(clang::CXXConstructExpr*)"},
-    {"_ZN5clang13ASTStmtReader27VisitCXXTemporaryObjectExprEPNS_22CXXTemporaryObjectExprE", "clang::ASTStmtReader::VisitCXXTemporaryObjectExpr(clang::CXXTemporaryObjectExpr*)"},
-    {"_ZN5clang13ASTStmtReader21VisitCXXNamedCastExprEPNS_16CXXNamedCastExprE", "clang::ASTStmtReader::VisitCXXNamedCastExpr(clang::CXXNamedCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader22VisitCXXStaticCastExprEPNS_17CXXStaticCastExprE", "clang::ASTStmtReader::VisitCXXStaticCastExpr(clang::CXXStaticCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader23VisitCXXDynamicCastExprEPNS_18CXXDynamicCastExprE", "clang::ASTStmtReader::VisitCXXDynamicCastExpr(clang::CXXDynamicCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader27VisitCXXReinterpretCastExprEPNS_22CXXReinterpretCastExprE", "clang::ASTStmtReader::VisitCXXReinterpretCastExpr(clang::CXXReinterpretCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader21VisitCXXConstCastExprEPNS_16CXXConstCastExprE", "clang::ASTStmtReader::VisitCXXConstCastExpr(clang::CXXConstCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader26VisitCXXFunctionalCastExprEPNS_21CXXFunctionalCastExprE", "clang::ASTStmtReader::VisitCXXFunctionalCastExpr(clang::CXXFunctionalCastExpr*)"},
-    {"_ZN5clang13ASTStmtReader23VisitCXXBoolLiteralExprEPNS_18CXXBoolLiteralExprE", "clang::ASTStmtReader::VisitCXXBoolLiteralExpr(clang::CXXBoolLiteralExpr*)"},
-    {"_ZN5clang13ASTStmtReader26VisitCXXNullPtrLiteralExprEPNS_21CXXNullPtrLiteralExprE", "clang::ASTStmtReader::VisitCXXNullPtrLiteralExpr(clang::CXXNullPtrLiteralExpr*)"},
-    {"_ZN5clang13ASTStmtReader18VisitCXXTypeidExprEPNS_13CXXTypeidExprE", "clang::ASTStmtReader::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)"},
-    {"_ZN5clang13ASTStmtReader18VisitCXXUuidofExprEPNS_13CXXUuidofExprE", "clang::ASTStmtReader::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)"},
-    {"_ZN5clang13ASTStmtReader16VisitCXXThisExprEPNS_11CXXThisExprE", "clang::ASTStmtReader::VisitCXXThisExpr(clang::CXXThisExpr*)"},
-    {"_ZN5clang13ASTStmtReader17VisitCXXThrowExprEPNS_12CXXThrowExprE", "clang::ASTStmtReader::VisitCXXThrowExpr(clang::CXXThrowExpr*)"},
-    {"_ZN5clang13ASTStmtReader22VisitCXXDefaultArgExprEPNS_17CXXDefaultArgExprE", "clang::ASTStmtReader::VisitCXXDefaultArgExpr(clang::CXXDefaultArgExpr*)"},
-    {"_ZN5clang13ASTStmtReader25VisitCXXBindTemporaryExprEPNS_20CXXBindTemporaryExprE", "clang::ASTStmtReader::VisitCXXBindTemporaryExpr(clang::CXXBindTemporaryExpr*)"},
-    {"_ZN5clang13ASTStmtReader27VisitCXXScalarValueInitExprEPNS_22CXXScalarValueInitExprE", "clang::ASTStmtReader::VisitCXXScalarValueInitExpr(clang::CXXScalarValueInitExpr*)"},
-    {"_ZN5clang13ASTStmtReader15VisitCXXNewExprEPNS_10CXXNewExprE", "clang::ASTStmtReader::VisitCXXNewExpr(clang::CXXNewExpr*)"},
-    {"_ZN5clang13ASTStmtReader18VisitCXXDeleteExprEPNS_13CXXDeleteExprE", "clang::ASTStmtReader::VisitCXXDeleteExpr(clang::CXXDeleteExpr*)"},
-    {"_ZN5clang13ASTStmtReader28VisitCXXPseudoDestructorExprEPNS_23CXXPseudoDestructorExprE", "clang::ASTStmtReader::VisitCXXPseudoDestructorExpr(clang::CXXPseudoDestructorExpr*)"},
-    {"_ZN5clang13ASTStmtReader21VisitExprWithCleanupsEPNS_16ExprWithCleanupsE", "clang::ASTStmtReader::VisitExprWithCleanups(clang::ExprWithCleanups*)"},
-    {"_ZN5clang13ASTStmtReader32VisitCXXDependentScopeMemberExprEPNS_27CXXDependentScopeMemberExprE", "clang::ASTStmtReader::VisitCXXDependentScopeMemberExpr(clang::CXXDependentScopeMemberExpr*)"},
-    {"_ZN5clang13ASTStmtReader30VisitDependentScopeDeclRefExprEPNS_25DependentScopeDeclRefExprE", "clang::ASTStmtReader::VisitDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)"},
-    {"_ZN5clang13ASTStmtReader31VisitCXXUnresolvedConstructExprEPNS_26CXXUnresolvedConstructExprE", "clang::ASTStmtReader::VisitCXXUnresolvedConstructExpr(clang::CXXUnresolvedConstructExpr*)"},
-    {"_ZN5clang13ASTStmtReader17VisitOverloadExprEPNS_12OverloadExprE", "clang::ASTStmtReader::VisitOverloadExpr(clang::OverloadExpr*)"},
-    {"_ZN5clang13ASTStmtReader25VisitUnresolvedMemberExprEPNS_20UnresolvedMemberExprE", "clang::ASTStmtReader::VisitUnresolvedMemberExpr(clang::UnresolvedMemberExpr*)"},
-    {"_ZN5clang13ASTStmtReader25VisitUnresolvedLookupExprEPNS_20UnresolvedLookupExprE", "clang::ASTStmtReader::VisitUnresolvedLookupExpr(clang::UnresolvedLookupExpr*)"},
-    {"_ZN5clang13ASTStmtReader23VisitUnaryTypeTraitExprEPNS_18UnaryTypeTraitExprE", "clang::ASTStmtReader::VisitUnaryTypeTraitExpr(clang::UnaryTypeTraitExpr*)"},
-    {"_ZN5clang13ASTStmtReader24VisitBinaryTypeTraitExprEPNS_19BinaryTypeTraitExprE", "clang::ASTStmtReader::VisitBinaryTypeTraitExpr(clang::BinaryTypeTraitExpr*)"},
-    {"_ZN5clang13ASTStmtReader20VisitCXXNoexceptExprEPNS_15CXXNoexceptExprE", "clang::ASTStmtReader::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)"},
-    {"_ZN5clang13ASTStmtReader22VisitPackExpansionExprEPNS_17PackExpansionExprE", "clang::ASTStmtReader::VisitPackExpansionExpr(clang::PackExpansionExpr*)"},
-    {"_ZN5clang13ASTStmtReader19VisitSizeOfPackExprEPNS_14SizeOfPackExprE", "clang::ASTStmtReader::VisitSizeOfPackExpr(clang::SizeOfPackExpr*)"},
-    {"_ZN5clang13ASTStmtReader37VisitSubstNonTypeTemplateParmPackExprEPNS_32SubstNonTypeTemplateParmPackExprE", "clang::ASTStmtReader::VisitSubstNonTypeTemplateParmPackExpr(clang::SubstNonTypeTemplateParmPackExpr*)"},
-    {"_ZN5clang13ASTStmtReader20VisitOpaqueValueExprEPNS_15OpaqueValueExprE", "clang::ASTStmtReader::VisitOpaqueValueExpr(clang::OpaqueValueExpr*)"},
-    {"_ZN5clang13ASTStmtReader23VisitCUDAKernelCallExprEPNS_18CUDAKernelCallExprE", "clang::ASTStmtReader::VisitCUDAKernelCallExpr(clang::CUDAKernelCallExpr*)"},
-    {"_ZN5clang9ASTReader8ReadStmtERNS0_11PerFileDataE", "clang::ASTReader::ReadStmt(clang::ASTReader::PerFileData&)"},
-    {"_ZN5clang9ASTReader18ReadStmtFromStreamERNS0_11PerFileDataE", "clang::ASTReader::ReadStmtFromStream(clang::ASTReader::PerFileData&)"},
-    {"_ZN5clang9ASTReader8ReadExprERNS0_11PerFileDataE", "clang::ASTReader::ReadExpr(clang::ASTReader::PerFileData&)"},
-    {"_ZN5clang11StmtVisitorINS_13ASTStmtReaderEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<clang::ASTStmtReader, void>::Visit(clang::Stmt*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang18DesignatedInitExpr10DesignatorELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::DesignatedInitExpr::Designator, false>::grow(unsigned long)"},
-    {"_ZN5clang9ASTWriter19WriteBlockInfoBlockEv", "clang::ASTWriter::WriteBlockInfoBlock()"},
-    {"_Z11EmitBlockIDjPKcRN4llvm15BitstreamWriterERNS1_15SmallVectorImplIyEE", "EmitBlockID(unsigned int, char const*, llvm::BitstreamWriter&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_Z12EmitRecordIDjPKcRN4llvm15BitstreamWriterERNS1_15SmallVectorImplIyEE", "EmitRecordID(unsigned int, char const*, llvm::BitstreamWriter&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter13WriteMetadataERNS_10ASTContextEPKc", "clang::ASTWriter::WriteMetadata(clang::ASTContext&, char const*)"},
-    {"_ZN5clang9ASTWriter20WriteLanguageOptionsERKNS_11LangOptionsE", "clang::ASTWriter::WriteLanguageOptions(clang::LangOptions const&)"},
-    {"_ZN5clang9ASTWriter14WriteStatCacheERNS_17MemorizeStatCallsE", "clang::ASTWriter::WriteStatCache(clang::MemorizeStatCalls&)"},
-    {"_ZN5clang9ASTWriter23WriteSourceManagerBlockERNS_13SourceManagerERKNS_12PreprocessorEPKc", "clang::ASTWriter::WriteSourceManagerBlock(clang::SourceManager&, clang::Preprocessor const&, char const*)"},
-    {"_ZN5clang9ASTWriter16AddIdentifierRefEPKNS_14IdentifierInfoERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddIdentifierRef(clang::IdentifierInfo const*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter17WritePreprocessorERKNS_12PreprocessorE", "clang::ASTWriter::WritePreprocessor(clang::Preprocessor const&)"},
-    {"_ZN5clang9ASTWriter20getMacroDefinitionIDEPNS_15MacroDefinitionE", "clang::ASTWriter::getMacroDefinitionID(clang::MacroDefinition*)"},
-    {"_ZN5clang9ASTWriter23WritePreprocessorDetailERNS_19PreprocessingRecordE", "clang::ASTWriter::WritePreprocessorDetail(clang::PreprocessingRecord&)"},
-    {"_ZN5clang9ASTWriter17AddSourceLocationENS_14SourceLocationERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddSourceLocation(clang::SourceLocation, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter29WritePragmaDiagnosticMappingsERKNS_10DiagnosticE", "clang::ASTWriter::WritePragmaDiagnosticMappings(clang::Diagnostic const&)"},
-    {"_ZN5clang9ASTWriter9WriteTypeENS_8QualTypeE", "clang::ASTWriter::WriteType(clang::QualType)"},
-    {"_ZN5clang9ASTWriter10AddTypeRefENS_8QualTypeERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddTypeRef(clang::QualType, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN12_GLOBAL__N_113ASTTypeWriter15VisitVectorTypeEPKN5clang10VectorTypeE", "(anonymous namespace)::ASTTypeWriter::VisitVectorType(clang::VectorType const*)"},
-    {"_ZN5clang9ASTWriter28WriteDeclContextLexicalBlockERNS_10ASTContextEPNS_11DeclContextE", "clang::ASTWriter::WriteDeclContextLexicalBlock(clang::ASTContext&, clang::DeclContext*)"},
-    {"_ZN5clang9ASTWriter10GetDeclRefEPKNS_4DeclE", "clang::ASTWriter::GetDeclRef(clang::Decl const*)"},
-    {"_ZN5clang9ASTWriter20WriteTypeDeclOffsetsEv", "clang::ASTWriter::WriteTypeDeclOffsets()"},
-    {"_ZN5clang9ASTWriter14WriteSelectorsERNS_4SemaE", "clang::ASTWriter::WriteSelectors(clang::Sema&)"},
-    {"_ZN5clang9ASTWriter28WriteReferencedSelectorsPoolERNS_4SemaE", "clang::ASTWriter::WriteReferencedSelectorsPool(clang::Sema&)"},
-    {"_ZN5clang9ASTWriter14AddSelectorRefENS_8SelectorERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddSelectorRef(clang::Selector, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter20WriteIdentifierTableERNS_12PreprocessorE", "clang::ASTWriter::WriteIdentifierTable(clang::Preprocessor&)"},
-    {"_ZN5clang9ASTWriter16getIdentifierRefEPKNS_14IdentifierInfoE", "clang::ASTWriter::getIdentifierRef(clang::IdentifierInfo const*)"},
-    {"_ZN5clang9ASTWriter28WriteDeclContextVisibleBlockERNS_10ASTContextEPNS_11DeclContextE", "clang::ASTWriter::WriteDeclContextVisibleBlock(clang::ASTContext&, clang::DeclContext*)"},
-    {"_ZN5clang31OnDiskChainedHashTableGeneratorIN12_GLOBAL__N_129ASTDeclContextNameLookupTraitEE6insertENS_15DeclarationNameERKNS_23DeclContextLookupResultERS2_", "clang::OnDiskChainedHashTableGenerator<(anonymous namespace)::ASTDeclContextNameLookupTrait>::insert(clang::DeclarationName, clang::DeclContextLookupResult const&, (anonymous namespace)::ASTDeclContextNameLookupTrait&)"},
-    {"_ZN5clang31OnDiskChainedHashTableGeneratorIN12_GLOBAL__N_129ASTDeclContextNameLookupTraitEE4EmitERN4llvm11raw_ostreamERS2_", "clang::OnDiskChainedHashTableGenerator<(anonymous namespace)::ASTDeclContextNameLookupTrait>::Emit(llvm::raw_ostream&, (anonymous namespace)::ASTDeclContextNameLookupTrait&)"},
-    {"_ZN5clang9ASTWriter29WriteDeclContextVisibleUpdateEPKNS_11DeclContextE", "clang::ASTWriter::WriteDeclContextVisibleUpdate(clang::DeclContext const*)"},
-    {"_ZN5clang9ASTWriter9getDeclIDEPKNS_4DeclE", "clang::ASTWriter::getDeclID(clang::Decl const*)"},
-    {"_ZN5clang9ASTWriter15WriteAttributesERKN4llvm11SmallVectorIPNS_4AttrELj2EEERNS1_15SmallVectorImplIyEE", "clang::ASTWriter::WriteAttributes(llvm::SmallVector<clang::Attr*, 2u> const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter9AddStringEN4llvm9StringRefERNS1_15SmallVectorImplIyEE", "clang::ASTWriter::AddString(llvm::StringRef, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter17AddTypeSourceInfoEPNS_14TypeSourceInfoERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddTypeSourceInfo(clang::TypeSourceInfo*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter10AddDeclRefEPKNS_4DeclERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddDeclRef(clang::Decl const*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter19SetIdentifierOffsetEPKNS_14IdentifierInfoEj", "clang::ASTWriter::SetIdentifierOffset(clang::IdentifierInfo const*, unsigned int)"},
-    {"_ZN5clang9ASTWriter17SetSelectorOffsetENS_8SelectorEj", "clang::ASTWriter::SetSelectorOffset(clang::Selector, unsigned int)"},
-    {"_ZN5clang9ASTWriterC1ERN4llvm15BitstreamWriterE", "clang::ASTWriter::ASTWriter(llvm::BitstreamWriter&)"},
-    {"_ZN5clang9ASTWriterC2ERN4llvm15BitstreamWriterE", "clang::ASTWriter::ASTWriter(llvm::BitstreamWriter&)"},
-    {"_ZN5clang9ASTWriter8WriteASTERNS_4SemaEPNS_17MemorizeStatCallsEPKc", "clang::ASTWriter::WriteAST(clang::Sema&, clang::MemorizeStatCalls*, char const*)"},
-    {"_ZN5clang9ASTWriter13WriteASTChainERNS_4SemaEPNS_17MemorizeStatCallsEPKc", "clang::ASTWriter::WriteASTChain(clang::Sema&, clang::MemorizeStatCalls*, char const*)"},
-    {"_ZN5clang9ASTWriter12WriteASTCoreERNS_4SemaEPNS_17MemorizeStatCallsEPKc", "clang::ASTWriter::WriteASTCore(clang::Sema&, clang::MemorizeStatCalls*, char const*)"},
-    {"_ZN5clang9ASTWriter22WriteDeclUpdatesBlocksEv", "clang::ASTWriter::WriteDeclUpdatesBlocks()"},
-    {"_ZN5clang9ASTWriter26WriteDeclReplacementsBlockEv", "clang::ASTWriter::WriteDeclReplacementsBlock()"},
-    {"_ZN5clang9ASTWriter14AddSourceRangeENS_11SourceRangeERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddSourceRange(clang::SourceRange, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter8AddAPIntERKN4llvm5APIntERNS1_15SmallVectorImplIyEE", "clang::ASTWriter::AddAPInt(llvm::APInt const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter9AddAPSIntERKN4llvm6APSIntERNS1_15SmallVectorImplIyEE", "clang::ASTWriter::AddAPSInt(llvm::APSInt const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter10AddAPFloatERKN4llvm7APFloatERNS1_15SmallVectorImplIyEE", "clang::ASTWriter::AddAPFloat(llvm::APFloat const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter14getSelectorRefENS_8SelectorE", "clang::ASTWriter::getSelectorRef(clang::Selector)"},
-    {"_ZN5clang9ASTWriter15AddCXXTemporaryEPKNS_12CXXTemporaryERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddCXXTemporary(clang::CXXTemporary const*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter23AddCXXBaseSpecifiersRefEPKNS_16CXXBaseSpecifierES3_RN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddCXXBaseSpecifiersRef(clang::CXXBaseSpecifier const*, clang::CXXBaseSpecifier const*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter26AddTemplateArgumentLocInfoENS_16TemplateArgument7ArgKindERKNS_23TemplateArgumentLocInfoERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddTemplateArgumentLocInfo(clang::TemplateArgument::ArgKind, clang::TemplateArgumentLocInfo const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter22AddTemplateArgumentLocERKNS_19TemplateArgumentLocERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddTemplateArgumentLoc(clang::TemplateArgumentLoc const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter19AddTemplateArgumentERKNS_16TemplateArgumentERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddTemplateArgument(clang::TemplateArgument const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter17GetOrCreateTypeIDENS_8QualTypeE", "clang::ASTWriter::GetOrCreateTypeID(clang::QualType)"},
-    {"_ZN5clang9ASTWriter18GetOrCreateTypeIdxENS_8QualTypeE", "clang::ASTWriter::GetOrCreateTypeIdx(clang::QualType)"},
-    {"_ZNK5clang9ASTWriter9getTypeIDENS_8QualTypeE", "clang::ASTWriter::getTypeID(clang::QualType) const"},
-    {"_ZNK5clang9ASTWriter10getTypeIdxENS_8QualTypeE", "clang::ASTWriter::getTypeIdx(clang::QualType) const"},
-    {"_ZN5clang9ASTWriter18AddDeclarationNameENS_15DeclarationNameERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddDeclarationName(clang::DeclarationName, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter21AddDeclarationNameLocERKNS_18DeclarationNameLocENS_15DeclarationNameERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddDeclarationNameLoc(clang::DeclarationNameLoc const&, clang::DeclarationName, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter22AddDeclarationNameInfoERKNS_19DeclarationNameInfoERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddDeclarationNameInfo(clang::DeclarationNameInfo const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter16AddQualifierInfoERKNS_13QualifierInfoERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddQualifierInfo(clang::QualifierInfo const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter22AddNestedNameSpecifierEPNS_19NestedNameSpecifierERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddNestedNameSpecifier(clang::NestedNameSpecifier*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter24AddTemplateParameterListEPKNS_21TemplateParameterListERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddTemplateParameterList(clang::TemplateParameterList const*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter15AddTemplateNameENS_12TemplateNameERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddTemplateName(clang::TemplateName, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter23AddTemplateArgumentListEPKNS_20TemplateArgumentListERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddTemplateArgumentList(clang::TemplateArgumentList const*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter16AddUnresolvedSetERKNS_17UnresolvedSetImplERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddUnresolvedSet(clang::UnresolvedSetImpl const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter19AddCXXBaseSpecifierERKNS_16CXXBaseSpecifierERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddCXXBaseSpecifier(clang::CXXBaseSpecifier const&, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter22FlushCXXBaseSpecifiersEv", "clang::ASTWriter::FlushCXXBaseSpecifiers()"},
-    {"_ZN5clang9ASTWriter22AddCXXCtorInitializersEPKPKNS_18CXXCtorInitializerEjRN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddCXXCtorInitializers(clang::CXXCtorInitializer const* const*, unsigned int, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter20AddCXXDefinitionDataEPKNS_13CXXRecordDeclERN4llvm15SmallVectorImplIyEE", "clang::ASTWriter::AddCXXDefinitionData(clang::CXXRecordDecl const*, llvm::SmallVectorImpl<unsigned long long>&)"},
-    {"_ZN5clang9ASTWriter17ReaderInitializedEPNS_9ASTReaderE", "clang::ASTWriter::ReaderInitialized(clang::ASTReader*)"},
-    {"_ZN5clang9ASTWriter14IdentifierReadEjPNS_14IdentifierInfoE", "clang::ASTWriter::IdentifierRead(unsigned int, clang::IdentifierInfo*)"},
-    {"_ZN5clang9ASTWriter8TypeReadENS_13serialization7TypeIdxENS_8QualTypeE", "clang::ASTWriter::TypeRead(clang::serialization::TypeIdx, clang::QualType)"},
-    {"_ZN5clang9ASTWriter8DeclReadEjPKNS_4DeclE", "clang::ASTWriter::DeclRead(unsigned int, clang::Decl const*)"},
-    {"_ZN5clang9ASTWriter12SelectorReadEjNS_8SelectorE", "clang::ASTWriter::SelectorRead(unsigned int, clang::Selector)"},
-    {"_ZN5clang9ASTWriter19MacroDefinitionReadEjPNS_15MacroDefinitionE", "clang::ASTWriter::MacroDefinitionRead(unsigned int, clang::MacroDefinition*)"},
-    {"_ZThn8_N5clang9ASTWriter22CompletedTagDefinitionEPKNS_7TagDeclE", "non-virtual thunk to clang::ASTWriter::CompletedTagDefinition(clang::TagDecl const*)"},
-    {"_ZN5clang9ASTWriter22CompletedTagDefinitionEPKNS_7TagDeclE", "clang::ASTWriter::CompletedTagDefinition(clang::TagDecl const*)"},
-    {"_ZThn8_N5clang9ASTWriter16AddedVisibleDeclEPKNS_11DeclContextEPKNS_4DeclE", "non-virtual thunk to clang::ASTWriter::AddedVisibleDecl(clang::DeclContext const*, clang::Decl const*)"},
-    {"_ZN5clang9ASTWriter16AddedVisibleDeclEPKNS_11DeclContextEPKNS_4DeclE", "clang::ASTWriter::AddedVisibleDecl(clang::DeclContext const*, clang::Decl const*)"},
-    {"_ZThn8_N5clang9ASTWriter22AddedCXXImplicitMemberEPKNS_13CXXRecordDeclEPKNS_4DeclE", "non-virtual thunk to clang::ASTWriter::AddedCXXImplicitMember(clang::CXXRecordDecl const*, clang::Decl const*)"},
-    {"_ZN5clang9ASTWriter22AddedCXXImplicitMemberEPKNS_13CXXRecordDeclEPKNS_4DeclE", "clang::ASTWriter::AddedCXXImplicitMember(clang::CXXRecordDecl const*, clang::Decl const*)"},
-    {"_ZThn8_N5clang9ASTWriter30AddedCXXTemplateSpecializationEPKNS_17ClassTemplateDeclEPKNS_31ClassTemplateSpecializationDeclE", "non-virtual thunk to clang::ASTWriter::AddedCXXTemplateSpecialization(clang::ClassTemplateDecl const*, clang::ClassTemplateSpecializationDecl const*)"},
-    {"_ZN5clang9ASTWriter30AddedCXXTemplateSpecializationEPKNS_17ClassTemplateDeclEPKNS_31ClassTemplateSpecializationDeclE", "clang::ASTWriter::AddedCXXTemplateSpecialization(clang::ClassTemplateDecl const*, clang::ClassTemplateSpecializationDecl const*)"},
-    {"_ZN5clang24ASTSerializationListenerD0Ev", "clang::ASTSerializationListener::~ASTSerializationListener()"},
-    {"_ZN5clang24ASTSerializationListenerD1Ev", "clang::ASTSerializationListener::~ASTSerializationListener()"},
-    {"_ZN5clang24ASTSerializationListenerD2Ev", "clang::ASTSerializationListener::~ASTSerializationListener()"},
-    {"_ZN12_GLOBAL__N_113TypeLocWriter20VisitFunctionTypeLocEN5clang15FunctionTypeLocE", "(anonymous namespace)::TypeLocWriter::VisitFunctionTypeLoc(clang::FunctionTypeLoc)"},
-    {"_ZN12_GLOBAL__N_113TypeLocWriter17VisitArrayTypeLocEN5clang12ArrayTypeLocE", "(anonymous namespace)::TypeLocWriter::VisitArrayTypeLoc(clang::ArrayTypeLoc)"},
-    {"_ZN12_GLOBAL__N_113ASTTypeWriter12VisitTagTypeEPKN5clang7TagTypeE", "(anonymous namespace)::ASTTypeWriter::VisitTagType(clang::TagType const*)"},
-    {"_ZN12_GLOBAL__N_113ASTTypeWriter17VisitFunctionTypeEPKN5clang12FunctionTypeE", "(anonymous namespace)::ASTTypeWriter::VisitFunctionType(clang::FunctionType const*)"},
-    {"_ZN12_GLOBAL__N_113ASTTypeWriter14VisitArrayTypeEPKN5clang9ArrayTypeE", "(anonymous namespace)::ASTTypeWriter::VisitArrayType(clang::ArrayType const*)"},
-    {"_ZN4llvm15BitstreamWriter13EnterSubblockEjj", "llvm::BitstreamWriter::EnterSubblock(unsigned int, unsigned int)"},
-    {"_ZN4llvm15BitstreamWriter9ExitBlockEv", "llvm::BitstreamWriter::ExitBlock()"},
-    {"_ZN4llvm15BitstreamWriter10EmitRecordIyEEvjRNS_15SmallVectorImplIT_EEj", "void llvm::BitstreamWriter::EmitRecord<unsigned long long>(unsigned int, llvm::SmallVectorImpl<unsigned long long>&, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIyE6insertIPKcEEPyS5_T_S6_", "unsigned long long* llvm::SmallVectorImpl<unsigned long long>::insert<char const*>(unsigned long long*, char const*, char const*)"},
-    {"_ZN4llvm15BitstreamWriter4EmitEjj", "llvm::BitstreamWriter::Emit(unsigned int, unsigned int)"},
-    {"_ZN5clang13serialization10MakeTypeIDISt9binder1stISt10mem_fun1_tINS0_7TypeIdxENS_9ASTWriterENS_8QualTypeEEEEEjS6_T_", "unsigned int clang::serialization::MakeTypeID<std::binder1st<std::mem_fun1_t<clang::serialization::TypeIdx, clang::ASTWriter, clang::QualType> > >(clang::QualType, std::binder1st<std::mem_fun1_t<clang::serialization::TypeIdx, clang::ASTWriter, clang::QualType> >)"},
-    {"_ZN5clang13serialization10MakeTypeIDISt9binder1stISt16const_mem_fun1_tINS0_7TypeIdxENS_9ASTWriterENS_8QualTypeEEEEEjS6_T_", "unsigned int clang::serialization::MakeTypeID<std::binder1st<std::const_mem_fun1_t<clang::serialization::TypeIdx, clang::ASTWriter, clang::QualType> > >(clang::QualType, std::binder1st<std::const_mem_fun1_t<clang::serialization::TypeIdx, clang::ASTWriter, clang::QualType> >)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclENS_11SmallVectorIyLj2EEENS_12DenseMapInfoIS4_EENS7_IS6_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::Decl const*, llvm::SmallVector<unsigned long long, 2u>, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::SmallVector<unsigned long long, 2u> > >::FindAndConstruct(clang::Decl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclENS_11SmallVectorIyLj2EEENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::Decl const*, llvm::SmallVector<unsigned long long, 2u>, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::SmallVector<unsigned long long, 2u> > >::InsertIntoBucket(clang::Decl const* const&, llvm::SmallVector<unsigned long long, 2u> const&, std::pair<clang::Decl const*, llvm::SmallVector<unsigned long long, 2u> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclENS_11SmallVectorIyLj2EEENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::Decl const*, llvm::SmallVector<unsigned long long, 2u>, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::SmallVector<unsigned long long, 2u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIyEaSERKS1_", "llvm::SmallVectorImpl<unsigned long long>::operator=(llvm::SmallVectorImpl<unsigned long long> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang9ASTWriter23QueuedCXXBaseSpecifiersELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::ASTWriter::QueuedCXXBaseSpecifiers, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPKN5clang15MacroDefinitionEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::MacroDefinition const*, unsigned int, llvm::DenseMapInfo<clang::MacroDefinition const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::MacroDefinition const* const&, unsigned int const&, std::pair<clang::MacroDefinition const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang15MacroDefinitionEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::MacroDefinition const*, unsigned int, llvm::DenseMapInfo<clang::MacroDefinition const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt5dequeIN5clang9ASTWriter10DeclOrTypeESaIS2_EE9push_backERKS2_", "std::deque<clang::ASTWriter::DeclOrType, std::allocator<clang::ASTWriter::DeclOrType> >::push_back(clang::ASTWriter::DeclOrType const&)"},
-    {"_ZNSt5dequeIN5clang9ASTWriter10DeclOrTypeESaIS2_EE17_M_reallocate_mapEmb", "std::deque<clang::ASTWriter::DeclOrType, std::allocator<clang::ASTWriter::DeclOrType> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZNSt11_Deque_baseIN5clang9ASTWriter10DeclOrTypeESaIS2_EE17_M_initialize_mapEm", "std::_Deque_base<clang::ASTWriter::DeclOrType, std::allocator<clang::ASTWriter::DeclOrType> >::_M_initialize_map(unsigned long)"},
-    {"_ZNSt5dequeIN5clang9ASTWriter10DeclOrTypeESaIS2_EEC2ERKS4_", "std::deque<clang::ASTWriter::DeclOrType, std::allocator<clang::ASTWriter::DeclOrType> >::deque(std::deque<clang::ASTWriter::DeclOrType, std::allocator<clang::ASTWriter::DeclOrType> > const&)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<clang::Selector, unsigned int, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::Selector const&, unsigned int const&, std::pair<clang::Selector, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<clang::Selector, unsigned int, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang4DeclEE6appendINS1_18IdentifierResolver8iteratorEEEvT_S8_", "void llvm::SmallVectorImpl<clang::Decl*>::append<clang::IdentifierResolver::iterator>(clang::IdentifierResolver::iterator, clang::IdentifierResolver::iterator)"},
-    {"_ZN4llvm15BitstreamWriter24EmitRecordWithAbbrevImplIyEEvjRNS_15SmallVectorImplIT_EENS_9StringRefE", "void llvm::BitstreamWriter::EmitRecordWithAbbrevImpl<unsigned long long>(unsigned int, llvm::SmallVectorImpl<unsigned long long>&, llvm::StringRef)"},
-    {"_ZN4llvm15BitstreamWriter20EmitAbbreviatedFieldIhEEvRKNS_15BitCodeAbbrevOpET_", "void llvm::BitstreamWriter::EmitAbbreviatedField<unsigned char>(llvm::BitCodeAbbrevOp const&, unsigned char)"},
-    {"_ZN4llvm15BitstreamWriter20EmitAbbreviatedFieldIyEEvRKNS_15BitCodeAbbrevOpET_", "void llvm::BitstreamWriter::EmitAbbreviatedField<unsigned long long>(llvm::BitCodeAbbrevOp const&, unsigned long long)"},
-    {"_ZN4llvm15BitstreamWriter11FlushToWordEv", "llvm::BitstreamWriter::FlushToWord()"},
-    {"_ZNSt6vectorIhSaIhEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPhS1_EERKh", "std::vector<unsigned char, std::allocator<unsigned char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned char const&)"},
-    {"_ZN4llvm15BitstreamWriter9EmitVBR64Eyj", "llvm::BitstreamWriter::EmitVBR64(unsigned long long, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIyE6insertEPyRKy", "llvm::SmallVectorImpl<unsigned long long>::insert(unsigned long long*, unsigned long long const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang14IdentifierInfoEyNS_12DenseMapInfoIS4_EENS5_IyEEE16InsertIntoBucketERKS4_RKyPSt4pairIS4_yE", "llvm::DenseMap<clang::IdentifierInfo const*, unsigned long long, llvm::DenseMapInfo<clang::IdentifierInfo const*>, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(clang::IdentifierInfo const* const&, unsigned long long const&, std::pair<clang::IdentifierInfo const*, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang14IdentifierInfoEyNS_12DenseMapInfoIS4_EENS5_IyEEE4growEj", "llvm::DenseMap<clang::IdentifierInfo const*, unsigned long long, llvm::DenseMapInfo<clang::IdentifierInfo const*>, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZN4llvm15BitstreamWriter12EncodeAbbrevEPNS_13BitCodeAbbrevE", "llvm::BitstreamWriter::EncodeAbbrev(llvm::BitCodeAbbrev*)"},
-    {"_ZNSt6vectorIN4llvm15BitstreamWriter5BlockESaIS2_EE9push_backERKS2_", "std::vector<llvm::BitstreamWriter::Block, std::allocator<llvm::BitstreamWriter::Block> >::push_back(llvm::BitstreamWriter::Block const&)"},
-    {"_ZNSt6vectorIN4llvm15BitstreamWriter5BlockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::BitstreamWriter::Block, std::allocator<llvm::BitstreamWriter::Block> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::BitstreamWriter::Block*, std::vector<llvm::BitstreamWriter::Block, std::allocator<llvm::BitstreamWriter::Block> > >, llvm::BitstreamWriter::Block const&)"},
-    {"_ZN5clang13ASTDeclWriter5VisitEPNS_4DeclE", "clang::ASTDeclWriter::Visit(clang::Decl*)"},
-    {"_ZN5clang13ASTDeclWriter9VisitDeclEPNS_4DeclE", "clang::ASTDeclWriter::VisitDecl(clang::Decl*)"},
-    {"_ZN5clang13ASTDeclWriter24VisitTranslationUnitDeclEPNS_19TranslationUnitDeclE", "clang::ASTDeclWriter::VisitTranslationUnitDecl(clang::TranslationUnitDecl*)"},
-    {"_ZN5clang13ASTDeclWriter14VisitNamedDeclEPNS_9NamedDeclE", "clang::ASTDeclWriter::VisitNamedDecl(clang::NamedDecl*)"},
-    {"_ZN5clang13ASTDeclWriter13VisitTypeDeclEPNS_8TypeDeclE", "clang::ASTDeclWriter::VisitTypeDecl(clang::TypeDecl*)"},
-    {"_ZN5clang13ASTDeclWriter16VisitTypedefDeclEPNS_11TypedefDeclE", "clang::ASTDeclWriter::VisitTypedefDecl(clang::TypedefDecl*)"},
-    {"_ZN5clang13ASTDeclWriter12VisitTagDeclEPNS_7TagDeclE", "clang::ASTDeclWriter::VisitTagDecl(clang::TagDecl*)"},
-    {"_ZN5clang13ASTDeclWriter13VisitEnumDeclEPNS_8EnumDeclE", "clang::ASTDeclWriter::VisitEnumDecl(clang::EnumDecl*)"},
-    {"_ZN5clang13ASTDeclWriter15VisitRecordDeclEPNS_10RecordDeclE", "clang::ASTDeclWriter::VisitRecordDecl(clang::RecordDecl*)"},
-    {"_ZN5clang13ASTDeclWriter14VisitValueDeclEPNS_9ValueDeclE", "clang::ASTDeclWriter::VisitValueDecl(clang::ValueDecl*)"},
-    {"_ZN5clang13ASTDeclWriter21VisitEnumConstantDeclEPNS_16EnumConstantDeclE", "clang::ASTDeclWriter::VisitEnumConstantDecl(clang::EnumConstantDecl*)"},
-    {"_ZN5clang13ASTDeclWriter19VisitDeclaratorDeclEPNS_14DeclaratorDeclE", "clang::ASTDeclWriter::VisitDeclaratorDecl(clang::DeclaratorDecl*)"},
-    {"_ZN5clang13ASTDeclWriter17VisitFunctionDeclEPNS_12FunctionDeclE", "clang::ASTDeclWriter::VisitFunctionDecl(clang::FunctionDecl*)"},
-    {"_ZN5clang13ASTDeclWriter19VisitObjCMethodDeclEPNS_14ObjCMethodDeclE", "clang::ASTDeclWriter::VisitObjCMethodDecl(clang::ObjCMethodDecl*)"},
-    {"_ZN5clang13ASTDeclWriter22VisitObjCContainerDeclEPNS_17ObjCContainerDeclE", "clang::ASTDeclWriter::VisitObjCContainerDecl(clang::ObjCContainerDecl*)"},
-    {"_ZN5clang13ASTDeclWriter22VisitObjCInterfaceDeclEPNS_17ObjCInterfaceDeclE", "clang::ASTDeclWriter::VisitObjCInterfaceDecl(clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang13ASTDeclWriter17VisitObjCIvarDeclEPNS_12ObjCIvarDeclE", "clang::ASTDeclWriter::VisitObjCIvarDecl(clang::ObjCIvarDecl*)"},
-    {"_ZN5clang13ASTDeclWriter14VisitFieldDeclEPNS_9FieldDeclE", "clang::ASTDeclWriter::VisitFieldDecl(clang::FieldDecl*)"},
-    {"_ZN5clang13ASTDeclWriter21VisitObjCProtocolDeclEPNS_16ObjCProtocolDeclE", "clang::ASTDeclWriter::VisitObjCProtocolDecl(clang::ObjCProtocolDecl*)"},
-    {"_ZN5clang13ASTDeclWriter24VisitObjCAtDefsFieldDeclEPNS_19ObjCAtDefsFieldDeclE", "clang::ASTDeclWriter::VisitObjCAtDefsFieldDecl(clang::ObjCAtDefsFieldDecl*)"},
-    {"_ZN5clang13ASTDeclWriter18VisitObjCClassDeclEPNS_13ObjCClassDeclE", "clang::ASTDeclWriter::VisitObjCClassDecl(clang::ObjCClassDecl*)"},
-    {"_ZN5clang13ASTDeclWriter28VisitObjCForwardProtocolDeclEPNS_23ObjCForwardProtocolDeclE", "clang::ASTDeclWriter::VisitObjCForwardProtocolDecl(clang::ObjCForwardProtocolDecl*)"},
-    {"_ZN5clang13ASTDeclWriter21VisitObjCCategoryDeclEPNS_16ObjCCategoryDeclE", "clang::ASTDeclWriter::VisitObjCCategoryDecl(clang::ObjCCategoryDecl*)"},
-    {"_ZN5clang13ASTDeclWriter28VisitObjCCompatibleAliasDeclEPNS_23ObjCCompatibleAliasDeclE", "clang::ASTDeclWriter::VisitObjCCompatibleAliasDecl(clang::ObjCCompatibleAliasDecl*)"},
-    {"_ZN5clang13ASTDeclWriter21VisitObjCPropertyDeclEPNS_16ObjCPropertyDeclE", "clang::ASTDeclWriter::VisitObjCPropertyDecl(clang::ObjCPropertyDecl*)"},
-    {"_ZN5clang13ASTDeclWriter17VisitObjCImplDeclEPNS_12ObjCImplDeclE", "clang::ASTDeclWriter::VisitObjCImplDecl(clang::ObjCImplDecl*)"},
-    {"_ZN5clang13ASTDeclWriter25VisitObjCCategoryImplDeclEPNS_20ObjCCategoryImplDeclE", "clang::ASTDeclWriter::VisitObjCCategoryImplDecl(clang::ObjCCategoryImplDecl*)"},
-    {"_ZN5clang13ASTDeclWriter27VisitObjCImplementationDeclEPNS_22ObjCImplementationDeclE", "clang::ASTDeclWriter::VisitObjCImplementationDecl(clang::ObjCImplementationDecl*)"},
-    {"_ZN5clang13ASTDeclWriter25VisitObjCPropertyImplDeclEPNS_20ObjCPropertyImplDeclE", "clang::ASTDeclWriter::VisitObjCPropertyImplDecl(clang::ObjCPropertyImplDecl*)"},
-    {"_ZN5clang13ASTDeclWriter22VisitIndirectFieldDeclEPNS_17IndirectFieldDeclE", "clang::ASTDeclWriter::VisitIndirectFieldDecl(clang::IndirectFieldDecl*)"},
-    {"_ZN5clang13ASTDeclWriter12VisitVarDeclEPNS_7VarDeclE", "clang::ASTDeclWriter::VisitVarDecl(clang::VarDecl*)"},
-    {"_ZN5clang13ASTDeclWriter22VisitImplicitParamDeclEPNS_17ImplicitParamDeclE", "clang::ASTDeclWriter::VisitImplicitParamDecl(clang::ImplicitParamDecl*)"},
-    {"_ZN5clang13ASTDeclWriter16VisitParmVarDeclEPNS_11ParmVarDeclE", "clang::ASTDeclWriter::VisitParmVarDecl(clang::ParmVarDecl*)"},
-    {"_ZN5clang13ASTDeclWriter21VisitFileScopeAsmDeclEPNS_16FileScopeAsmDeclE", "clang::ASTDeclWriter::VisitFileScopeAsmDecl(clang::FileScopeAsmDecl*)"},
-    {"_ZN5clang13ASTDeclWriter14VisitBlockDeclEPNS_9BlockDeclE", "clang::ASTDeclWriter::VisitBlockDecl(clang::BlockDecl*)"},
-    {"_ZN5clang13ASTDeclWriter20VisitLinkageSpecDeclEPNS_15LinkageSpecDeclE", "clang::ASTDeclWriter::VisitLinkageSpecDecl(clang::LinkageSpecDecl*)"},
-    {"_ZN5clang13ASTDeclWriter18VisitNamespaceDeclEPNS_13NamespaceDeclE", "clang::ASTDeclWriter::VisitNamespaceDecl(clang::NamespaceDecl*)"},
-    {"_ZN5clang13ASTDeclWriter23VisitNamespaceAliasDeclEPNS_18NamespaceAliasDeclE", "clang::ASTDeclWriter::VisitNamespaceAliasDecl(clang::NamespaceAliasDecl*)"},
-    {"_ZN5clang13ASTDeclWriter14VisitUsingDeclEPNS_9UsingDeclE", "clang::ASTDeclWriter::VisitUsingDecl(clang::UsingDecl*)"},
-    {"_ZN5clang13ASTDeclWriter20VisitUsingShadowDeclEPNS_15UsingShadowDeclE", "clang::ASTDeclWriter::VisitUsingShadowDecl(clang::UsingShadowDecl*)"},
-    {"_ZN5clang13ASTDeclWriter23VisitUsingDirectiveDeclEPNS_18UsingDirectiveDeclE", "clang::ASTDeclWriter::VisitUsingDirectiveDecl(clang::UsingDirectiveDecl*)"},
-    {"_ZN5clang13ASTDeclWriter29VisitUnresolvedUsingValueDeclEPNS_24UnresolvedUsingValueDeclE", "clang::ASTDeclWriter::VisitUnresolvedUsingValueDecl(clang::UnresolvedUsingValueDecl*)"},
-    {"_ZN5clang13ASTDeclWriter32VisitUnresolvedUsingTypenameDeclEPNS_27UnresolvedUsingTypenameDeclE", "clang::ASTDeclWriter::VisitUnresolvedUsingTypenameDecl(clang::UnresolvedUsingTypenameDecl*)"},
-    {"_ZN5clang13ASTDeclWriter18VisitCXXRecordDeclEPNS_13CXXRecordDeclE", "clang::ASTDeclWriter::VisitCXXRecordDecl(clang::CXXRecordDecl*)"},
-    {"_ZN5clang13ASTDeclWriter18VisitCXXMethodDeclEPNS_13CXXMethodDeclE", "clang::ASTDeclWriter::VisitCXXMethodDecl(clang::CXXMethodDecl*)"},
-    {"_ZN5clang13ASTDeclWriter23VisitCXXConstructorDeclEPNS_18CXXConstructorDeclE", "clang::ASTDeclWriter::VisitCXXConstructorDecl(clang::CXXConstructorDecl*)"},
-    {"_ZN5clang13ASTDeclWriter22VisitCXXDestructorDeclEPNS_17CXXDestructorDeclE", "clang::ASTDeclWriter::VisitCXXDestructorDecl(clang::CXXDestructorDecl*)"},
-    {"_ZN5clang13ASTDeclWriter22VisitCXXConversionDeclEPNS_17CXXConversionDeclE", "clang::ASTDeclWriter::VisitCXXConversionDecl(clang::CXXConversionDecl*)"},
-    {"_ZN5clang13ASTDeclWriter19VisitAccessSpecDeclEPNS_14AccessSpecDeclE", "clang::ASTDeclWriter::VisitAccessSpecDecl(clang::AccessSpecDecl*)"},
-    {"_ZN5clang13ASTDeclWriter15VisitFriendDeclEPNS_10FriendDeclE", "clang::ASTDeclWriter::VisitFriendDecl(clang::FriendDecl*)"},
-    {"_ZN5clang13ASTDeclWriter23VisitFriendTemplateDeclEPNS_18FriendTemplateDeclE", "clang::ASTDeclWriter::VisitFriendTemplateDecl(clang::FriendTemplateDecl*)"},
-    {"_ZN5clang13ASTDeclWriter17VisitTemplateDeclEPNS_12TemplateDeclE", "clang::ASTDeclWriter::VisitTemplateDecl(clang::TemplateDecl*)"},
-    {"_ZN5clang13ASTDeclWriter29VisitRedeclarableTemplateDeclEPNS_24RedeclarableTemplateDeclE", "clang::ASTDeclWriter::VisitRedeclarableTemplateDecl(clang::RedeclarableTemplateDecl*)"},
-    {"_ZN5clang13ASTDeclWriter22VisitClassTemplateDeclEPNS_17ClassTemplateDeclE", "clang::ASTDeclWriter::VisitClassTemplateDecl(clang::ClassTemplateDecl*)"},
-    {"_ZN5clang13ASTDeclWriter36VisitClassTemplateSpecializationDeclEPNS_31ClassTemplateSpecializationDeclE", "clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(clang::ClassTemplateSpecializationDecl*)"},
-    {"_ZN5clang13ASTDeclWriter43VisitClassTemplatePartialSpecializationDeclEPNS_38ClassTemplatePartialSpecializationDeclE", "clang::ASTDeclWriter::VisitClassTemplatePartialSpecializationDecl(clang::ClassTemplatePartialSpecializationDecl*)"},
-    {"_ZN5clang13ASTDeclWriter25VisitFunctionTemplateDeclEPNS_20FunctionTemplateDeclE", "clang::ASTDeclWriter::VisitFunctionTemplateDecl(clang::FunctionTemplateDecl*)"},
-    {"_ZN5clang13ASTDeclWriter25VisitTemplateTypeParmDeclEPNS_20TemplateTypeParmDeclE", "clang::ASTDeclWriter::VisitTemplateTypeParmDecl(clang::TemplateTypeParmDecl*)"},
-    {"_ZN5clang13ASTDeclWriter28VisitNonTypeTemplateParmDeclEPNS_23NonTypeTemplateParmDeclE", "clang::ASTDeclWriter::VisitNonTypeTemplateParmDecl(clang::NonTypeTemplateParmDecl*)"},
-    {"_ZN5clang13ASTDeclWriter29VisitTemplateTemplateParmDeclEPNS_24TemplateTemplateParmDeclE", "clang::ASTDeclWriter::VisitTemplateTemplateParmDecl(clang::TemplateTemplateParmDecl*)"},
-    {"_ZN5clang13ASTDeclWriter21VisitStaticAssertDeclEPNS_16StaticAssertDeclE", "clang::ASTDeclWriter::VisitStaticAssertDecl(clang::StaticAssertDecl*)"},
-    {"_ZN5clang13ASTDeclWriter16VisitDeclContextEPNS_11DeclContextEyy", "clang::ASTDeclWriter::VisitDeclContext(clang::DeclContext*, unsigned long long, unsigned long long)"},
-    {"_ZN5clang9ASTWriter22WriteDeclsBlockAbbrevsEv", "clang::ASTWriter::WriteDeclsBlockAbbrevs()"},
-    {"_ZN5clang9ASTWriter9WriteDeclERNS_10ASTContextEPNS_4DeclE", "clang::ASTWriter::WriteDecl(clang::ASTContext&, clang::Decl*)"},
-    {"_ZN5clang11DeclVisitorINS_13ASTDeclWriterEvE5VisitEPNS_4DeclE", "clang::DeclVisitor<clang::ASTDeclWriter, void>::Visit(clang::Decl*)"},
-    {"_ZN5clang13ASTDeclWriter17VisitRedeclarableINS_7TagDeclEEEvPNS_12RedeclarableIT_EE", "void clang::ASTDeclWriter::VisitRedeclarable<clang::TagDecl>(clang::Redeclarable<clang::TagDecl>*)"},
-    {"_ZN5clang13ASTDeclWriter17VisitRedeclarableINS_12FunctionDeclEEEvPNS_12RedeclarableIT_EE", "void clang::ASTDeclWriter::VisitRedeclarable<clang::FunctionDecl>(clang::Redeclarable<clang::FunctionDecl>*)"},
-    {"_ZN5clang13ASTDeclWriter17VisitRedeclarableINS_7VarDeclEEEvPNS_12RedeclarableIT_EE", "void clang::ASTDeclWriter::VisitRedeclarable<clang::VarDecl>(clang::Redeclarable<clang::VarDecl>*)"},
-    {"_ZN5clang13ASTStmtWriter31AddExplicitTemplateArgumentListERKNS_28ExplicitTemplateArgumentListE", "clang::ASTStmtWriter::AddExplicitTemplateArgumentList(clang::ExplicitTemplateArgumentList const&)"},
-    {"_ZN5clang13ASTStmtWriter9VisitStmtEPNS_4StmtE", "clang::ASTStmtWriter::VisitStmt(clang::Stmt*)"},
-    {"_ZN5clang13ASTStmtWriter13VisitNullStmtEPNS_8NullStmtE", "clang::ASTStmtWriter::VisitNullStmt(clang::NullStmt*)"},
-    {"_ZN5clang13ASTStmtWriter17VisitCompoundStmtEPNS_12CompoundStmtE", "clang::ASTStmtWriter::VisitCompoundStmt(clang::CompoundStmt*)"},
-    {"_ZN5clang13ASTStmtWriter15VisitSwitchCaseEPNS_10SwitchCaseE", "clang::ASTStmtWriter::VisitSwitchCase(clang::SwitchCase*)"},
-    {"_ZN5clang9ASTWriter15getSwitchCaseIDEPNS_10SwitchCaseE", "clang::ASTWriter::getSwitchCaseID(clang::SwitchCase*)"},
-    {"_ZN5clang13ASTStmtWriter13VisitCaseStmtEPNS_8CaseStmtE", "clang::ASTStmtWriter::VisitCaseStmt(clang::CaseStmt*)"},
-    {"_ZN5clang13ASTStmtWriter16VisitDefaultStmtEPNS_11DefaultStmtE", "clang::ASTStmtWriter::VisitDefaultStmt(clang::DefaultStmt*)"},
-    {"_ZN5clang13ASTStmtWriter14VisitLabelStmtEPNS_9LabelStmtE", "clang::ASTStmtWriter::VisitLabelStmt(clang::LabelStmt*)"},
-    {"_ZN5clang9ASTWriter10GetLabelIDEPNS_9LabelStmtE", "clang::ASTWriter::GetLabelID(clang::LabelStmt*)"},
-    {"_ZN5clang13ASTStmtWriter11VisitIfStmtEPNS_6IfStmtE", "clang::ASTStmtWriter::VisitIfStmt(clang::IfStmt*)"},
-    {"_ZN5clang13ASTStmtWriter15VisitSwitchStmtEPNS_10SwitchStmtE", "clang::ASTStmtWriter::VisitSwitchStmt(clang::SwitchStmt*)"},
-    {"_ZN5clang9ASTWriter18RecordSwitchCaseIDEPNS_10SwitchCaseE", "clang::ASTWriter::RecordSwitchCaseID(clang::SwitchCase*)"},
-    {"_ZN5clang13ASTStmtWriter14VisitWhileStmtEPNS_9WhileStmtE", "clang::ASTStmtWriter::VisitWhileStmt(clang::WhileStmt*)"},
-    {"_ZN5clang13ASTStmtWriter11VisitDoStmtEPNS_6DoStmtE", "clang::ASTStmtWriter::VisitDoStmt(clang::DoStmt*)"},
-    {"_ZN5clang13ASTStmtWriter12VisitForStmtEPNS_7ForStmtE", "clang::ASTStmtWriter::VisitForStmt(clang::ForStmt*)"},
-    {"_ZN5clang13ASTStmtWriter13VisitGotoStmtEPNS_8GotoStmtE", "clang::ASTStmtWriter::VisitGotoStmt(clang::GotoStmt*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitIndirectGotoStmtEPNS_16IndirectGotoStmtE", "clang::ASTStmtWriter::VisitIndirectGotoStmt(clang::IndirectGotoStmt*)"},
-    {"_ZN5clang13ASTStmtWriter17VisitContinueStmtEPNS_12ContinueStmtE", "clang::ASTStmtWriter::VisitContinueStmt(clang::ContinueStmt*)"},
-    {"_ZN5clang13ASTStmtWriter14VisitBreakStmtEPNS_9BreakStmtE", "clang::ASTStmtWriter::VisitBreakStmt(clang::BreakStmt*)"},
-    {"_ZN5clang13ASTStmtWriter15VisitReturnStmtEPNS_10ReturnStmtE", "clang::ASTStmtWriter::VisitReturnStmt(clang::ReturnStmt*)"},
-    {"_ZN5clang13ASTStmtWriter13VisitDeclStmtEPNS_8DeclStmtE", "clang::ASTStmtWriter::VisitDeclStmt(clang::DeclStmt*)"},
-    {"_ZN5clang13ASTStmtWriter12VisitAsmStmtEPNS_7AsmStmtE", "clang::ASTStmtWriter::VisitAsmStmt(clang::AsmStmt*)"},
-    {"_ZN5clang13ASTStmtWriter9VisitExprEPNS_4ExprE", "clang::ASTStmtWriter::VisitExpr(clang::Expr*)"},
-    {"_ZN5clang13ASTStmtWriter19VisitPredefinedExprEPNS_14PredefinedExprE", "clang::ASTStmtWriter::VisitPredefinedExpr(clang::PredefinedExpr*)"},
-    {"_ZN5clang13ASTStmtWriter16VisitDeclRefExprEPNS_11DeclRefExprE", "clang::ASTStmtWriter::VisitDeclRefExpr(clang::DeclRefExpr*)"},
-    {"_ZN5clang13ASTStmtWriter19VisitIntegerLiteralEPNS_14IntegerLiteralE", "clang::ASTStmtWriter::VisitIntegerLiteral(clang::IntegerLiteral*)"},
-    {"_ZN5clang13ASTStmtWriter20VisitFloatingLiteralEPNS_15FloatingLiteralE", "clang::ASTStmtWriter::VisitFloatingLiteral(clang::FloatingLiteral*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitImaginaryLiteralEPNS_16ImaginaryLiteralE", "clang::ASTStmtWriter::VisitImaginaryLiteral(clang::ImaginaryLiteral*)"},
-    {"_ZN5clang13ASTStmtWriter18VisitStringLiteralEPNS_13StringLiteralE", "clang::ASTStmtWriter::VisitStringLiteral(clang::StringLiteral*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitCharacterLiteralEPNS_16CharacterLiteralE", "clang::ASTStmtWriter::VisitCharacterLiteral(clang::CharacterLiteral*)"},
-    {"_ZN5clang13ASTStmtWriter14VisitParenExprEPNS_9ParenExprE", "clang::ASTStmtWriter::VisitParenExpr(clang::ParenExpr*)"},
-    {"_ZN5clang13ASTStmtWriter18VisitParenListExprEPNS_13ParenListExprE", "clang::ASTStmtWriter::VisitParenListExpr(clang::ParenListExpr*)"},
-    {"_ZN5clang13ASTStmtWriter18VisitUnaryOperatorEPNS_13UnaryOperatorE", "clang::ASTStmtWriter::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN5clang13ASTStmtWriter17VisitOffsetOfExprEPNS_12OffsetOfExprE", "clang::ASTStmtWriter::VisitOffsetOfExpr(clang::OffsetOfExpr*)"},
-    {"_ZN5clang13ASTStmtWriter22VisitSizeOfAlignOfExprEPNS_17SizeOfAlignOfExprE", "clang::ASTStmtWriter::VisitSizeOfAlignOfExpr(clang::SizeOfAlignOfExpr*)"},
-    {"_ZN5clang13ASTStmtWriter23VisitArraySubscriptExprEPNS_18ArraySubscriptExprE", "clang::ASTStmtWriter::VisitArraySubscriptExpr(clang::ArraySubscriptExpr*)"},
-    {"_ZN5clang13ASTStmtWriter13VisitCallExprEPNS_8CallExprE", "clang::ASTStmtWriter::VisitCallExpr(clang::CallExpr*)"},
-    {"_ZN5clang13ASTStmtWriter15VisitMemberExprEPNS_10MemberExprE", "clang::ASTStmtWriter::VisitMemberExpr(clang::MemberExpr*)"},
-    {"_ZN5clang13ASTStmtWriter16VisitObjCIsaExprEPNS_11ObjCIsaExprE", "clang::ASTStmtWriter::VisitObjCIsaExpr(clang::ObjCIsaExpr*)"},
-    {"_ZN5clang13ASTStmtWriter13VisitCastExprEPNS_8CastExprE", "clang::ASTStmtWriter::VisitCastExpr(clang::CastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter19VisitBinaryOperatorEPNS_14BinaryOperatorE", "clang::ASTStmtWriter::VisitBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN5clang13ASTStmtWriter27VisitCompoundAssignOperatorEPNS_22CompoundAssignOperatorE", "clang::ASTStmtWriter::VisitCompoundAssignOperator(clang::CompoundAssignOperator*)"},
-    {"_ZN5clang13ASTStmtWriter24VisitConditionalOperatorEPNS_19ConditionalOperatorE", "clang::ASTStmtWriter::VisitConditionalOperator(clang::ConditionalOperator*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitImplicitCastExprEPNS_16ImplicitCastExprE", "clang::ASTStmtWriter::VisitImplicitCastExpr(clang::ImplicitCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitExplicitCastExprEPNS_16ExplicitCastExprE", "clang::ASTStmtWriter::VisitExplicitCastExpr(clang::ExplicitCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter19VisitCStyleCastExprEPNS_14CStyleCastExprE", "clang::ASTStmtWriter::VisitCStyleCastExpr(clang::CStyleCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter24VisitCompoundLiteralExprEPNS_19CompoundLiteralExprE", "clang::ASTStmtWriter::VisitCompoundLiteralExpr(clang::CompoundLiteralExpr*)"},
-    {"_ZN5clang13ASTStmtWriter25VisitExtVectorElementExprEPNS_20ExtVectorElementExprE", "clang::ASTStmtWriter::VisitExtVectorElementExpr(clang::ExtVectorElementExpr*)"},
-    {"_ZN5clang13ASTStmtWriter17VisitInitListExprEPNS_12InitListExprE", "clang::ASTStmtWriter::VisitInitListExpr(clang::InitListExpr*)"},
-    {"_ZN5clang13ASTStmtWriter23VisitDesignatedInitExprEPNS_18DesignatedInitExprE", "clang::ASTStmtWriter::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)"},
-    {"_ZN5clang13ASTStmtWriter26VisitImplicitValueInitExprEPNS_21ImplicitValueInitExprE", "clang::ASTStmtWriter::VisitImplicitValueInitExpr(clang::ImplicitValueInitExpr*)"},
-    {"_ZN5clang13ASTStmtWriter14VisitVAArgExprEPNS_9VAArgExprE", "clang::ASTStmtWriter::VisitVAArgExpr(clang::VAArgExpr*)"},
-    {"_ZN5clang13ASTStmtWriter18VisitAddrLabelExprEPNS_13AddrLabelExprE", "clang::ASTStmtWriter::VisitAddrLabelExpr(clang::AddrLabelExpr*)"},
-    {"_ZN5clang13ASTStmtWriter13VisitStmtExprEPNS_8StmtExprE", "clang::ASTStmtWriter::VisitStmtExpr(clang::StmtExpr*)"},
-    {"_ZN5clang13ASTStmtWriter15VisitChooseExprEPNS_10ChooseExprE", "clang::ASTStmtWriter::VisitChooseExpr(clang::ChooseExpr*)"},
-    {"_ZN5clang13ASTStmtWriter16VisitGNUNullExprEPNS_11GNUNullExprE", "clang::ASTStmtWriter::VisitGNUNullExpr(clang::GNUNullExpr*)"},
-    {"_ZN5clang13ASTStmtWriter22VisitShuffleVectorExprEPNS_17ShuffleVectorExprE", "clang::ASTStmtWriter::VisitShuffleVectorExpr(clang::ShuffleVectorExpr*)"},
-    {"_ZN5clang13ASTStmtWriter14VisitBlockExprEPNS_9BlockExprE", "clang::ASTStmtWriter::VisitBlockExpr(clang::BlockExpr*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitBlockDeclRefExprEPNS_16BlockDeclRefExprE", "clang::ASTStmtWriter::VisitBlockDeclRefExpr(clang::BlockDeclRefExpr*)"},
-    {"_ZN5clang13ASTStmtWriter22VisitObjCStringLiteralEPNS_17ObjCStringLiteralE", "clang::ASTStmtWriter::VisitObjCStringLiteral(clang::ObjCStringLiteral*)"},
-    {"_ZN5clang13ASTStmtWriter19VisitObjCEncodeExprEPNS_14ObjCEncodeExprE", "clang::ASTStmtWriter::VisitObjCEncodeExpr(clang::ObjCEncodeExpr*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitObjCSelectorExprEPNS_16ObjCSelectorExprE", "clang::ASTStmtWriter::VisitObjCSelectorExpr(clang::ObjCSelectorExpr*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitObjCProtocolExprEPNS_16ObjCProtocolExprE", "clang::ASTStmtWriter::VisitObjCProtocolExpr(clang::ObjCProtocolExpr*)"},
-    {"_ZN5clang13ASTStmtWriter20VisitObjCIvarRefExprEPNS_15ObjCIvarRefExprE", "clang::ASTStmtWriter::VisitObjCIvarRefExpr(clang::ObjCIvarRefExpr*)"},
-    {"_ZN5clang13ASTStmtWriter24VisitObjCPropertyRefExprEPNS_19ObjCPropertyRefExprE", "clang::ASTStmtWriter::VisitObjCPropertyRefExpr(clang::ObjCPropertyRefExpr*)"},
-    {"_ZN5clang13ASTStmtWriter20VisitObjCMessageExprEPNS_15ObjCMessageExprE", "clang::ASTStmtWriter::VisitObjCMessageExpr(clang::ObjCMessageExpr*)"},
-    {"_ZN5clang13ASTStmtWriter26VisitObjCForCollectionStmtEPNS_21ObjCForCollectionStmtE", "clang::ASTStmtWriter::VisitObjCForCollectionStmt(clang::ObjCForCollectionStmt*)"},
-    {"_ZN5clang13ASTStmtWriter20VisitObjCAtCatchStmtEPNS_15ObjCAtCatchStmtE", "clang::ASTStmtWriter::VisitObjCAtCatchStmt(clang::ObjCAtCatchStmt*)"},
-    {"_ZN5clang13ASTStmtWriter22VisitObjCAtFinallyStmtEPNS_17ObjCAtFinallyStmtE", "clang::ASTStmtWriter::VisitObjCAtFinallyStmt(clang::ObjCAtFinallyStmt*)"},
-    {"_ZN5clang13ASTStmtWriter18VisitObjCAtTryStmtEPNS_13ObjCAtTryStmtE", "clang::ASTStmtWriter::VisitObjCAtTryStmt(clang::ObjCAtTryStmt*)"},
-    {"_ZN5clang13ASTStmtWriter27VisitObjCAtSynchronizedStmtEPNS_22ObjCAtSynchronizedStmtE", "clang::ASTStmtWriter::VisitObjCAtSynchronizedStmt(clang::ObjCAtSynchronizedStmt*)"},
-    {"_ZN5clang13ASTStmtWriter20VisitObjCAtThrowStmtEPNS_15ObjCAtThrowStmtE", "clang::ASTStmtWriter::VisitObjCAtThrowStmt(clang::ObjCAtThrowStmt*)"},
-    {"_ZN5clang13ASTStmtWriter17VisitCXXCatchStmtEPNS_12CXXCatchStmtE", "clang::ASTStmtWriter::VisitCXXCatchStmt(clang::CXXCatchStmt*)"},
-    {"_ZN5clang13ASTStmtWriter15VisitCXXTryStmtEPNS_10CXXTryStmtE", "clang::ASTStmtWriter::VisitCXXTryStmt(clang::CXXTryStmt*)"},
-    {"_ZN5clang13ASTStmtWriter24VisitCXXOperatorCallExprEPNS_19CXXOperatorCallExprE", "clang::ASTStmtWriter::VisitCXXOperatorCallExpr(clang::CXXOperatorCallExpr*)"},
-    {"_ZN5clang13ASTStmtWriter22VisitCXXMemberCallExprEPNS_17CXXMemberCallExprE", "clang::ASTStmtWriter::VisitCXXMemberCallExpr(clang::CXXMemberCallExpr*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitCXXConstructExprEPNS_16CXXConstructExprE", "clang::ASTStmtWriter::VisitCXXConstructExpr(clang::CXXConstructExpr*)"},
-    {"_ZN5clang13ASTStmtWriter27VisitCXXTemporaryObjectExprEPNS_22CXXTemporaryObjectExprE", "clang::ASTStmtWriter::VisitCXXTemporaryObjectExpr(clang::CXXTemporaryObjectExpr*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitCXXNamedCastExprEPNS_16CXXNamedCastExprE", "clang::ASTStmtWriter::VisitCXXNamedCastExpr(clang::CXXNamedCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter22VisitCXXStaticCastExprEPNS_17CXXStaticCastExprE", "clang::ASTStmtWriter::VisitCXXStaticCastExpr(clang::CXXStaticCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter23VisitCXXDynamicCastExprEPNS_18CXXDynamicCastExprE", "clang::ASTStmtWriter::VisitCXXDynamicCastExpr(clang::CXXDynamicCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter27VisitCXXReinterpretCastExprEPNS_22CXXReinterpretCastExprE", "clang::ASTStmtWriter::VisitCXXReinterpretCastExpr(clang::CXXReinterpretCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitCXXConstCastExprEPNS_16CXXConstCastExprE", "clang::ASTStmtWriter::VisitCXXConstCastExpr(clang::CXXConstCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter26VisitCXXFunctionalCastExprEPNS_21CXXFunctionalCastExprE", "clang::ASTStmtWriter::VisitCXXFunctionalCastExpr(clang::CXXFunctionalCastExpr*)"},
-    {"_ZN5clang13ASTStmtWriter23VisitCXXBoolLiteralExprEPNS_18CXXBoolLiteralExprE", "clang::ASTStmtWriter::VisitCXXBoolLiteralExpr(clang::CXXBoolLiteralExpr*)"},
-    {"_ZN5clang13ASTStmtWriter26VisitCXXNullPtrLiteralExprEPNS_21CXXNullPtrLiteralExprE", "clang::ASTStmtWriter::VisitCXXNullPtrLiteralExpr(clang::CXXNullPtrLiteralExpr*)"},
-    {"_ZN5clang13ASTStmtWriter18VisitCXXTypeidExprEPNS_13CXXTypeidExprE", "clang::ASTStmtWriter::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)"},
-    {"_ZN5clang13ASTStmtWriter18VisitCXXUuidofExprEPNS_13CXXUuidofExprE", "clang::ASTStmtWriter::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)"},
-    {"_ZN5clang13ASTStmtWriter16VisitCXXThisExprEPNS_11CXXThisExprE", "clang::ASTStmtWriter::VisitCXXThisExpr(clang::CXXThisExpr*)"},
-    {"_ZN5clang13ASTStmtWriter17VisitCXXThrowExprEPNS_12CXXThrowExprE", "clang::ASTStmtWriter::VisitCXXThrowExpr(clang::CXXThrowExpr*)"},
-    {"_ZN5clang13ASTStmtWriter22VisitCXXDefaultArgExprEPNS_17CXXDefaultArgExprE", "clang::ASTStmtWriter::VisitCXXDefaultArgExpr(clang::CXXDefaultArgExpr*)"},
-    {"_ZN5clang13ASTStmtWriter25VisitCXXBindTemporaryExprEPNS_20CXXBindTemporaryExprE", "clang::ASTStmtWriter::VisitCXXBindTemporaryExpr(clang::CXXBindTemporaryExpr*)"},
-    {"_ZN5clang13ASTStmtWriter27VisitCXXScalarValueInitExprEPNS_22CXXScalarValueInitExprE", "clang::ASTStmtWriter::VisitCXXScalarValueInitExpr(clang::CXXScalarValueInitExpr*)"},
-    {"_ZN5clang13ASTStmtWriter15VisitCXXNewExprEPNS_10CXXNewExprE", "clang::ASTStmtWriter::VisitCXXNewExpr(clang::CXXNewExpr*)"},
-    {"_ZN5clang13ASTStmtWriter18VisitCXXDeleteExprEPNS_13CXXDeleteExprE", "clang::ASTStmtWriter::VisitCXXDeleteExpr(clang::CXXDeleteExpr*)"},
-    {"_ZN5clang13ASTStmtWriter28VisitCXXPseudoDestructorExprEPNS_23CXXPseudoDestructorExprE", "clang::ASTStmtWriter::VisitCXXPseudoDestructorExpr(clang::CXXPseudoDestructorExpr*)"},
-    {"_ZN5clang13ASTStmtWriter21VisitExprWithCleanupsEPNS_16ExprWithCleanupsE", "clang::ASTStmtWriter::VisitExprWithCleanups(clang::ExprWithCleanups*)"},
-    {"_ZN5clang13ASTStmtWriter32VisitCXXDependentScopeMemberExprEPNS_27CXXDependentScopeMemberExprE", "clang::ASTStmtWriter::VisitCXXDependentScopeMemberExpr(clang::CXXDependentScopeMemberExpr*)"},
-    {"_ZN5clang13ASTStmtWriter30VisitDependentScopeDeclRefExprEPNS_25DependentScopeDeclRefExprE", "clang::ASTStmtWriter::VisitDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)"},
-    {"_ZN5clang13ASTStmtWriter31VisitCXXUnresolvedConstructExprEPNS_26CXXUnresolvedConstructExprE", "clang::ASTStmtWriter::VisitCXXUnresolvedConstructExpr(clang::CXXUnresolvedConstructExpr*)"},
-    {"_ZN5clang13ASTStmtWriter17VisitOverloadExprEPNS_12OverloadExprE", "clang::ASTStmtWriter::VisitOverloadExpr(clang::OverloadExpr*)"},
-    {"_ZN5clang13ASTStmtWriter25VisitUnresolvedMemberExprEPNS_20UnresolvedMemberExprE", "clang::ASTStmtWriter::VisitUnresolvedMemberExpr(clang::UnresolvedMemberExpr*)"},
-    {"_ZN5clang13ASTStmtWriter25VisitUnresolvedLookupExprEPNS_20UnresolvedLookupExprE", "clang::ASTStmtWriter::VisitUnresolvedLookupExpr(clang::UnresolvedLookupExpr*)"},
-    {"_ZN5clang13ASTStmtWriter23VisitUnaryTypeTraitExprEPNS_18UnaryTypeTraitExprE", "clang::ASTStmtWriter::VisitUnaryTypeTraitExpr(clang::UnaryTypeTraitExpr*)"},
-    {"_ZN5clang13ASTStmtWriter24VisitBinaryTypeTraitExprEPNS_19BinaryTypeTraitExprE", "clang::ASTStmtWriter::VisitBinaryTypeTraitExpr(clang::BinaryTypeTraitExpr*)"},
-    {"_ZN5clang13ASTStmtWriter20VisitCXXNoexceptExprEPNS_15CXXNoexceptExprE", "clang::ASTStmtWriter::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)"},
-    {"_ZN5clang13ASTStmtWriter22VisitPackExpansionExprEPNS_17PackExpansionExprE", "clang::ASTStmtWriter::VisitPackExpansionExpr(clang::PackExpansionExpr*)"},
-    {"_ZN5clang13ASTStmtWriter19VisitSizeOfPackExprEPNS_14SizeOfPackExprE", "clang::ASTStmtWriter::VisitSizeOfPackExpr(clang::SizeOfPackExpr*)"},
-    {"_ZN5clang13ASTStmtWriter37VisitSubstNonTypeTemplateParmPackExprEPNS_32SubstNonTypeTemplateParmPackExprE", "clang::ASTStmtWriter::VisitSubstNonTypeTemplateParmPackExpr(clang::SubstNonTypeTemplateParmPackExpr*)"},
-    {"_ZN5clang13ASTStmtWriter20VisitOpaqueValueExprEPNS_15OpaqueValueExprE", "clang::ASTStmtWriter::VisitOpaqueValueExpr(clang::OpaqueValueExpr*)"},
-    {"_ZN5clang13ASTStmtWriter23VisitCUDAKernelCallExprEPNS_18CUDAKernelCallExprE", "clang::ASTStmtWriter::VisitCUDAKernelCallExpr(clang::CUDAKernelCallExpr*)"},
-    {"_ZN5clang9ASTWriter18ClearSwitchCaseIDsEv", "clang::ASTWriter::ClearSwitchCaseIDs()"},
-    {"_ZN5clang9ASTWriter12WriteSubStmtEPNS_4StmtE", "clang::ASTWriter::WriteSubStmt(clang::Stmt*)"},
-    {"_ZN5clang9ASTWriter10FlushStmtsEv", "clang::ASTWriter::FlushStmts()"},
-    {"_ZN5clang11StmtVisitorINS_13ASTStmtWriterEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<clang::ASTStmtWriter, void>::Visit(clang::Stmt*)"},
-    {"_ZNSt8_Rb_treeIPN5clang9LabelStmtESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<clang::LabelStmt*, std::pair<clang::LabelStmt* const, unsigned int>, std::_Select1st<std::pair<clang::LabelStmt* const, unsigned int> >, std::less<clang::LabelStmt*>, std::allocator<std::pair<clang::LabelStmt* const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::LabelStmt* const, unsigned int> >, std::pair<clang::LabelStmt* const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang9LabelStmtESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<clang::LabelStmt*, std::pair<clang::LabelStmt* const, unsigned int>, std::_Select1st<std::pair<clang::LabelStmt* const, unsigned int> >, std::less<clang::LabelStmt*>, std::allocator<std::pair<clang::LabelStmt* const, unsigned int> > >::_M_insert_unique(std::pair<clang::LabelStmt* const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang10SwitchCaseESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<clang::SwitchCase*, std::pair<clang::SwitchCase* const, unsigned int>, std::_Select1st<std::pair<clang::SwitchCase* const, unsigned int> >, std::less<clang::SwitchCase*>, std::allocator<std::pair<clang::SwitchCase* const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::SwitchCase* const, unsigned int> >, std::pair<clang::SwitchCase* const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang10SwitchCaseESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<clang::SwitchCase*, std::pair<clang::SwitchCase* const, unsigned int>, std::_Select1st<std::pair<clang::SwitchCase* const, unsigned int> >, std::less<clang::SwitchCase*>, std::allocator<std::pair<clang::SwitchCase* const, unsigned int> > >::_M_insert_unique(std::pair<clang::SwitchCase* const, unsigned int> const&)"},
-    {"_ZN5clang12PCHGeneratorC1ERKNS_12PreprocessorEbPKcPN4llvm11raw_ostreamE", "clang::PCHGenerator::PCHGenerator(clang::Preprocessor const&, bool, char const*, llvm::raw_ostream*)"},
-    {"_ZN5clang12PCHGeneratorC2ERKNS_12PreprocessorEbPKcPN4llvm11raw_ostreamE", "clang::PCHGenerator::PCHGenerator(clang::Preprocessor const&, bool, char const*, llvm::raw_ostream*)"},
-    {"_ZN5clang12PCHGenerator21HandleTranslationUnitERNS_10ASTContextE", "clang::PCHGenerator::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN5clang12PCHGenerator22GetASTMutationListenerEv", "clang::PCHGenerator::GetASTMutationListener()"},
-    {"_ZN5clang12PCHGenerator27GetASTSerializationListenerEv", "clang::PCHGenerator::GetASTSerializationListener()"},
-    {"_ZN5clang12PCHGenerator29GetASTDeserializationListenerEv", "clang::PCHGenerator::GetASTDeserializationListener()"},
-    {"_ZN5clang17EmitBackendOutputERNS_10DiagnosticERKNS_14CodeGenOptionsERKNS_13TargetOptionsEPN4llvm6ModuleENS_13BackendActionEPNS8_11raw_ostreamE", "clang::EmitBackendOutput(clang::Diagnostic&, clang::CodeGenOptions const&, clang::TargetOptions const&, llvm::Module*, clang::BackendAction, llvm::raw_ostream*)"},
-    {"_ZN5clang7CodeGen11CGBlockInfoC1EPKNS_9BlockExprEPKc", "clang::CodeGen::CGBlockInfo::CGBlockInfo(clang::BlockExpr const*, char const*)"},
-    {"_ZN5clang7CodeGen11CGBlockInfoC2EPKNS_9BlockExprEPKc", "clang::CodeGen::CGBlockInfo::CGBlockInfo(clang::BlockExpr const*, char const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitBlockLiteralEPKNS_9BlockExprE", "clang::CodeGen::CodeGenFunction::EmitBlockLiteral(clang::BlockExpr const*)"},
-    {"_Z16computeBlockInfoRN5clang7CodeGen13CodeGenModuleERNS0_11CGBlockInfoE", "computeBlockInfo(clang::CodeGen::CodeGenModule&, clang::CodeGen::CGBlockInfo&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21GenerateBlockFunctionENS0_10GlobalDeclERKNS0_11CGBlockInfoEPKNS_4DeclERKN4llvm8DenseMapIS8_PNS9_5ValueENS9_12DenseMapInfoIS8_EENSD_ISC_EEEE", "clang::CodeGen::CodeGenFunction::GenerateBlockFunction(clang::CodeGen::GlobalDecl, clang::CodeGen::CGBlockInfo const&, clang::Decl const*, llvm::DenseMap<clang::Decl const*, llvm::Value*, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::Value*> > const&)"},
-    {"_Z16buildGlobalBlockRN5clang7CodeGen13CodeGenModuleERKNS0_11CGBlockInfoEPN4llvm8ConstantE", "buildGlobalBlock(clang::CodeGen::CodeGenModule&, clang::CodeGen::CGBlockInfo const&, llvm::Constant*)"},
-    {"_Z20buildBlockDescriptorRN5clang7CodeGen13CodeGenModuleERKNS0_11CGBlockInfoE", "buildBlockDescriptor(clang::CodeGen::CodeGenModule&, clang::CodeGen::CGBlockInfo const&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule22getBlockDescriptorTypeEv", "clang::CodeGen::CodeGenModule::getBlockDescriptorType()"},
-    {"_ZN5clang7CodeGen13CodeGenModule26getGenericBlockLiteralTypeEv", "clang::CodeGen::CodeGenModule::getGenericBlockLiteralType()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitBlockCallExprEPKNS_8CallExprENS0_15ReturnValueSlotE", "clang::CodeGen::CodeGenFunction::EmitBlockCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18GetAddrOfBlockDeclEPKNS_7VarDeclEb", "clang::CodeGen::CodeGenFunction::GetAddrOfBlockDecl(clang::VarDecl const*, bool)"},
-    {"_ZN5clang7CodeGen13CodeGenModule20GetAddrOfGlobalBlockEPKNS_9BlockExprEPKc", "clang::CodeGen::CodeGenModule::GetAddrOfGlobalBlock(clang::BlockExpr const*, char const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26GenerateCopyHelperFunctionERKNS0_11CGBlockInfoE", "clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(clang::CodeGen::CGBlockInfo const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction29GenerateDestroyHelperFunctionERKNS0_11CGBlockInfoE", "clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(clang::CodeGen::CGBlockInfo const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17BuildBlockReleaseEPN4llvm5ValueENS0_15BlockFieldFlagsE", "clang::CodeGen::CodeGenFunction::BuildBlockRelease(llvm::Value*, clang::CodeGen::BlockFieldFlags)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction31GeneratebyrefCopyHelperFunctionEPKN4llvm4TypeENS0_15BlockFieldFlagsEPKNS_7VarDeclE", "clang::CodeGen::CodeGenFunction::GeneratebyrefCopyHelperFunction(llvm::Type const*, clang::CodeGen::BlockFieldFlags, clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction34GeneratebyrefDestroyHelperFunctionEPKN4llvm4TypeENS0_15BlockFieldFlagsEPKNS_7VarDeclE", "clang::CodeGen::CodeGenFunction::GeneratebyrefDestroyHelperFunction(llvm::Type const*, clang::CodeGen::BlockFieldFlags, clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule20BuildbyrefCopyHelperEPKN4llvm4TypeENS0_15BlockFieldFlagsEjPKNS_7VarDeclE", "clang::CodeGen::CodeGenModule::BuildbyrefCopyHelper(llvm::Type const*, clang::CodeGen::BlockFieldFlags, unsigned int, clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule23BuildbyrefDestroyHelperEPKN4llvm4TypeENS0_15BlockFieldFlagsEjPKNS_7VarDeclE", "clang::CodeGen::CodeGenModule::BuildbyrefDestroyHelper(llvm::Type const*, clang::CodeGen::BlockFieldFlags, unsigned int, clang::VarDecl const*)"},
-    {"_ZSt21__inplace_stable_sortIPN12_GLOBAL__N_116BlockLayoutChunkEEvT_S3_", "void std::__inplace_stable_sort<(anonymous namespace)::BlockLayoutChunk*>((anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*)"},
-    {"_ZSt22__stable_sort_adaptiveIPN12_GLOBAL__N_116BlockLayoutChunkES2_lEvT_S3_T0_T1_", "void std::__stable_sort_adaptive<(anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, long>((anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, long)"},
-    {"_ZSt24__merge_sort_with_bufferIPN12_GLOBAL__N_116BlockLayoutChunkES2_EvT_S3_T0_", "void std::__merge_sort_with_buffer<(anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*>((anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*)"},
-    {"_ZSt16__merge_adaptiveIPN12_GLOBAL__N_116BlockLayoutChunkElS2_EvT_S3_S3_T0_S4_T1_S4_", "void std::__merge_adaptive<(anonymous namespace)::BlockLayoutChunk*, long, (anonymous namespace)::BlockLayoutChunk*>((anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, long, long, (anonymous namespace)::BlockLayoutChunk*, long)"},
-    {"_ZSt13copy_backwardIPN12_GLOBAL__N_116BlockLayoutChunkES2_ET0_T_S4_S3_", "(anonymous namespace)::BlockLayoutChunk* std::copy_backward<(anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*>((anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*)"},
-    {"_ZSt6rotateIPN12_GLOBAL__N_116BlockLayoutChunkEEvT_S3_S3_", "void std::rotate<(anonymous namespace)::BlockLayoutChunk*>((anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*)"},
-    {"_ZSt16__insertion_sortIPN12_GLOBAL__N_116BlockLayoutChunkEEvT_S3_", "void std::__insertion_sort<(anonymous namespace)::BlockLayoutChunk*>((anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*)"},
-    {"_ZSt22__merge_without_bufferIPN12_GLOBAL__N_116BlockLayoutChunkElEvT_S3_S3_T0_S4_", "void std::__merge_without_buffer<(anonymous namespace)::BlockLayoutChunk*, long>((anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, (anonymous namespace)::BlockLayoutChunk*, long, long)"},
-    {"_Z15hasMutableFieldPKN5clang13CXXRecordDeclE", "hasMutableField(clang::CXXRecordDecl const*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN12_GLOBAL__N_116BlockLayoutChunkELb0EE4growEm", "llvm::SmallVectorTemplateBase<(anonymous namespace)::BlockLayoutChunk, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIyPNS_8ConstantENS_12DenseMapInfoIyEENS3_IS2_EEE16InsertIntoBucketERKyRKS2_PSt4pairIyS2_E", "llvm::DenseMap<unsigned long long, llvm::Constant*, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<llvm::Constant*> >::InsertIntoBucket(unsigned long long const&, llvm::Constant* const&, std::pair<unsigned long long, llvm::Constant*>*)"},
-    {"_ZN4llvm8DenseMapIyPNS_8ConstantENS_12DenseMapInfoIyEENS3_IS2_EEE4growEj", "llvm::DenseMap<unsigned long long, llvm::Constant*, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<llvm::Constant*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclENS1_7CodeGen11CGBlockInfo7CaptureENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::VarDecl const*, clang::CodeGen::CGBlockInfo::Capture, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<clang::CodeGen::CGBlockInfo::Capture> >::InsertIntoBucket(clang::VarDecl const* const&, clang::CodeGen::CGBlockInfo::Capture const&, std::pair<clang::VarDecl const*, clang::CodeGen::CGBlockInfo::Capture>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclENS1_7CodeGen11CGBlockInfo7CaptureENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::VarDecl const*, clang::CodeGen::CGBlockInfo::Capture, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<clang::CodeGen::CGBlockInfo::Capture> >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitBuiltinExprEPKNS_12FunctionDeclEjPKNS_8CallExprE", "clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(clang::FunctionDecl const*, unsigned int, clang::CallExpr const*)"},
-    {"_Z8EmitFAbsRN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueENS_8QualTypeE", "EmitFAbs(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::QualType)"},
-    {"_Z16EmitBinaryAtomicRN5clang7CodeGen15CodeGenFunctionEN4llvm9Intrinsic2IDEPKNS_8CallExprE", "EmitBinaryAtomic(clang::CodeGen::CodeGenFunction&, llvm::Intrinsic::ID, clang::CallExpr const*)"},
-    {"_Z20EmitBinaryAtomicPostRN5clang7CodeGen15CodeGenFunctionEN4llvm9Intrinsic2IDEPKNS_8CallExprENS3_11Instruction9BinaryOpsE", "EmitBinaryAtomicPost(clang::CodeGen::CodeGenFunction&, llvm::Intrinsic::ID, clang::CallExpr const*, llvm::Instruction::BinaryOps)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21EmitTargetBuiltinExprEjPKNS_8CallExprE", "clang::CodeGen::CodeGenFunction::EmitTargetBuiltinExpr(unsigned int, clang::CallExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitARMBuiltinExprEjPKNS_8CallExprE", "clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(unsigned int, clang::CallExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitX86BuiltinExprEjPKNS_8CallExprE", "clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr(unsigned int, clang::CallExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitPPCBuiltinExprEjPKNS_8CallExprE", "clang::CodeGen::CodeGenFunction::EmitPPCBuiltinExpr(unsigned int, clang::CallExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13EmitNeonSplatEPN4llvm5ValueEPNS2_8ConstantE", "clang::CodeGen::CodeGenFunction::EmitNeonSplat(llvm::Value*, llvm::Constant*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitNeonCallEPN4llvm8FunctionERNS2_15SmallVectorImplIPNS2_5ValueEEEPKcjb", "clang::CodeGen::CodeGenFunction::EmitNeonCall(llvm::Function*, llvm::SmallVectorImpl<llvm::Value*>&, char const*, unsigned int, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19EmitNeonShiftVectorEPN4llvm5ValueEPKNS2_4TypeEb", "clang::CodeGen::CodeGenFunction::EmitNeonShiftVector(llvm::Value*, llvm::Type const*, bool)"},
-    {"_Z19GetPointeeAlignmentRN5clang7CodeGen15CodeGenFunctionEPKNS_4ExprE", "GetPointeeAlignment(clang::CodeGen::CodeGenFunction&, clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11BuildVectorERKN4llvm15SmallVectorImplIPNS2_5ValueEEE", "clang::CodeGen::CodeGenFunction::BuildVector(llvm::SmallVectorImpl<llvm::Value*> const&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule28TryEmitBaseDestructorAsAliasEPKNS_17CXXDestructorDeclE", "clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias(clang::CXXDestructorDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule24TryEmitDefinitionAsAliasENS0_10GlobalDeclES2_", "clang::CodeGen::CodeGenModule::TryEmitDefinitionAsAlias(clang::CodeGen::GlobalDecl, clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen13CodeGenModule19EmitCXXConstructorsEPKNS_18CXXConstructorDeclE", "clang::CodeGen::CodeGenModule::EmitCXXConstructors(clang::CXXConstructorDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule18EmitCXXConstructorEPKNS_18CXXConstructorDeclENS_11CXXCtorTypeE", "clang::CodeGen::CodeGenModule::EmitCXXConstructor(clang::CXXConstructorDecl const*, clang::CXXCtorType)"},
-    {"_ZN5clang7CodeGen13CodeGenModule23GetAddrOfCXXConstructorEPKNS_18CXXConstructorDeclENS_11CXXCtorTypeE", "clang::CodeGen::CodeGenModule::GetAddrOfCXXConstructor(clang::CXXConstructorDecl const*, clang::CXXCtorType)"},
-    {"_ZN5clang7CodeGen13CodeGenModule18EmitCXXDestructorsEPKNS_17CXXDestructorDeclE", "clang::CodeGen::CodeGenModule::EmitCXXDestructors(clang::CXXDestructorDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule17EmitCXXDestructorEPKNS_17CXXDestructorDeclENS_11CXXDtorTypeE", "clang::CodeGen::CodeGenModule::EmitCXXDestructor(clang::CXXDestructorDecl const*, clang::CXXDtorType)"},
-    {"_ZN5clang7CodeGen13CodeGenModule22GetAddrOfCXXDestructorEPKNS_17CXXDestructorDeclENS_11CXXDtorTypeE", "clang::CodeGen::CodeGenModule::GetAddrOfCXXDestructor(clang::CXXDestructorDecl const*, clang::CXXDtorType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16BuildVirtualCallEPKNS_13CXXMethodDeclEPN4llvm5ValueEPKNS5_4TypeE", "clang::CodeGen::CodeGenFunction::BuildVirtualCall(clang::CXXMethodDecl const*, llvm::Value*, llvm::Type const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25BuildAppleKextVirtualCallEPKNS_13CXXMethodDeclEPNS_19NestedNameSpecifierEPKN4llvm4TypeE", "clang::CodeGen::CodeGenFunction::BuildAppleKextVirtualCall(clang::CXXMethodDecl const*, clang::NestedNameSpecifier*, llvm::Type const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction35BuildAppleKextVirtualDestructorCallEPKNS_17CXXDestructorDeclENS_11CXXDtorTypeEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenFunction::BuildAppleKextVirtualDestructorCall(clang::CXXDestructorDecl const*, clang::CXXDtorType, clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16BuildVirtualCallEPKNS_17CXXDestructorDeclENS_11CXXDtorTypeEPN4llvm5ValueEPKNS6_4TypeE", "clang::CodeGen::CodeGenFunction::BuildVirtualCall(clang::CXXDestructorDecl const*, clang::CXXDtorType, llvm::Value*, llvm::Type const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule15GetAddrOfGlobalENS0_10GlobalDeclE", "clang::CodeGen::CodeGenModule::GetAddrOfGlobal(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen8CGCXXABID0Ev", "clang::CodeGen::CGCXXABI::~CGCXXABI()"},
-    {"_ZN5clang7CodeGen8CGCXXABID1Ev", "clang::CodeGen::CGCXXABI::~CGCXXABI()"},
-    {"_ZN5clang7CodeGen8CGCXXABID2Ev", "clang::CodeGen::CGCXXABI::~CGCXXABI()"},
-    {"_ZN5clang7CodeGen8CGCXXABI24ConvertMemberPointerTypeEPKNS_17MemberPointerTypeE", "clang::CodeGen::CGCXXABI::ConvertMemberPointerType(clang::MemberPointerType const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI31EmitLoadOfMemberFunctionPointerERNS0_15CodeGenFunctionERPN4llvm5ValueES6_PKNS_17MemberPointerTypeE", "clang::CodeGen::CGCXXABI::EmitLoadOfMemberFunctionPointer(clang::CodeGen::CodeGenFunction&, llvm::Value*&, llvm::Value*, clang::MemberPointerType const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI28EmitMemberDataPointerAddressERNS0_15CodeGenFunctionEPN4llvm5ValueES6_PKNS_17MemberPointerTypeE", "clang::CodeGen::CGCXXABI::EmitMemberDataPointerAddress(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, clang::MemberPointerType const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI27EmitMemberPointerConversionERNS0_15CodeGenFunctionEPKNS_8CastExprEPN4llvm5ValueE", "clang::CodeGen::CGCXXABI::EmitMemberPointerConversion(clang::CodeGen::CodeGenFunction&, clang::CastExpr const*, llvm::Value*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI27EmitMemberPointerComparisonERNS0_15CodeGenFunctionEPN4llvm5ValueES6_PKNS_17MemberPointerTypeEb", "clang::CodeGen::CGCXXABI::EmitMemberPointerComparison(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, clang::MemberPointerType const*, bool)"},
-    {"_ZN5clang7CodeGen8CGCXXABI26EmitMemberPointerIsNotNullERNS0_15CodeGenFunctionEPN4llvm5ValueEPKNS_17MemberPointerTypeE", "clang::CodeGen::CGCXXABI::EmitMemberPointerIsNotNull(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::MemberPointerType const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI27EmitMemberPointerConversionEPN4llvm8ConstantEPKNS_8CastExprE", "clang::CodeGen::CGCXXABI::EmitMemberPointerConversion(llvm::Constant*, clang::CastExpr const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI21EmitNullMemberPointerEPKNS_17MemberPointerTypeE", "clang::CodeGen::CGCXXABI::EmitNullMemberPointer(clang::MemberPointerType const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI17EmitMemberPointerEPKNS_13CXXMethodDeclE", "clang::CodeGen::CGCXXABI::EmitMemberPointer(clang::CXXMethodDecl const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI21EmitMemberDataPointerEPKNS_17MemberPointerTypeENS_9CharUnitsE", "clang::CodeGen::CGCXXABI::EmitMemberDataPointer(clang::MemberPointerType const*, clang::CharUnits)"},
-    {"_ZN5clang7CodeGen8CGCXXABI19isZeroInitializableEPKNS_17MemberPointerTypeE", "clang::CodeGen::CGCXXABI::isZeroInitializable(clang::MemberPointerType const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI14BuildThisParamERNS0_15CodeGenFunctionERN4llvm11SmallVectorISt4pairIPKNS_7VarDeclENS_8QualTypeEELj16EEE", "clang::CodeGen::CGCXXABI::BuildThisParam(clang::CodeGen::CodeGenFunction&, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u>&)"},
-    {"_ZN5clang7CodeGen8CGCXXABI13EmitThisParamERNS0_15CodeGenFunctionE", "clang::CodeGen::CGCXXABI::EmitThisParam(clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN5clang7CodeGen8CGCXXABI19EmitReturnFromThunkERNS0_15CodeGenFunctionENS0_6RValueENS_8QualTypeE", "clang::CodeGen::CGCXXABI::EmitReturnFromThunk(clang::CodeGen::CodeGenFunction&, clang::CodeGen::RValue, clang::QualType)"},
-    {"_ZN5clang7CodeGen8CGCXXABI18GetArrayCookieSizeEPKNS_10CXXNewExprE", "clang::CodeGen::CGCXXABI::GetArrayCookieSize(clang::CXXNewExpr const*)"},
-    {"_ZN5clang7CodeGen8CGCXXABI21InitializeArrayCookieERNS0_15CodeGenFunctionEPN4llvm5ValueES6_PKNS_10CXXNewExprENS_8QualTypeE", "clang::CodeGen::CGCXXABI::InitializeArrayCookie(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, clang::CXXNewExpr const*, clang::QualType)"},
-    {"_ZN5clang7CodeGen8CGCXXABI15ReadArrayCookieERNS0_15CodeGenFunctionEPN4llvm5ValueEPKNS_13CXXDeleteExprENS_8QualTypeERS6_SB_RNS_9CharUnitsE", "clang::CodeGen::CGCXXABI::ReadArrayCookie(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::CXXDeleteExpr const*, clang::QualType, llvm::Value*&, llvm::Value*&, clang::CharUnits&)"},
-    {"_ZN5clang7CodeGen8CGCXXABI15EmitGuardedInitERNS0_15CodeGenFunctionERKNS_7VarDeclEPN4llvm14GlobalVariableE", "clang::CodeGen::CGCXXABI::EmitGuardedInit(clang::CodeGen::CodeGenFunction&, clang::VarDecl const&, llvm::GlobalVariable*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoENS_7CanQualINS_19FunctionNoProtoTypeEEEb", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::CanQual<clang::FunctionNoProtoType>, bool)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoENS_7CanQualINS_4TypeEEERKN4llvm15SmallVectorImplIS4_EERKNS_12FunctionType7ExtInfoEb", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::CanQual<clang::Type>, llvm::SmallVectorImpl<clang::CanQual<clang::Type> > const&, clang::FunctionType::ExtInfo const&, bool)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoENS_7CanQualINS_17FunctionProtoTypeEEEb", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::CanQual<clang::FunctionProtoType>, bool)"},
-    {"_Z15getFunctionInfoRN5clang7CodeGen12CodeGenTypesERN4llvm15SmallVectorImplINS_7CanQualINS_4TypeEEEEENS5_INS_17FunctionProtoTypeEEEb", "getFunctionInfo(clang::CodeGen::CodeGenTypes&, llvm::SmallVectorImpl<clang::CanQual<clang::Type> >&, clang::CanQual<clang::FunctionProtoType>, bool)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoEPKNS_13CXXRecordDeclEPKNS_17FunctionProtoTypeE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::CXXRecordDecl const*, clang::FunctionProtoType const*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoEPKNS_13CXXMethodDeclE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::CXXMethodDecl const*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoEPKNS_18CXXConstructorDeclENS_11CXXCtorTypeE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::CXXConstructorDecl const*, clang::CXXCtorType)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoEPKNS_17CXXDestructorDeclENS_11CXXDtorTypeE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::CXXDestructorDecl const*, clang::CXXDtorType)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoEPKNS_12FunctionDeclE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::FunctionDecl const*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoEPKNS_14ObjCMethodDeclE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::ObjCMethodDecl const*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoENS0_10GlobalDeclE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoENS_8QualTypeERKN4llvm11SmallVectorISt4pairINS0_6RValueES2_ELj16EEERKNS_12FunctionType7ExtInfoE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::QualType, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::FunctionType::ExtInfo const&)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15getFunctionInfoENS_8QualTypeERKN4llvm11SmallVectorISt4pairIPKNS_7VarDeclES2_ELj16EEERKNS_12FunctionType7ExtInfoE", "clang::CodeGen::CodeGenTypes::getFunctionInfo(clang::QualType, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u> const&, clang::FunctionType::ExtInfo const&)"},
-    {"_ZN5clang7CodeGen14CGFunctionInfoC1EjbjNS_7CanQualINS_4TypeEEEPKS4_j", "clang::CodeGen::CGFunctionInfo::CGFunctionInfo(unsigned int, bool, unsigned int, clang::CanQual<clang::Type>, clang::CanQual<clang::Type> const*, unsigned int)"},
-    {"_ZN5clang7CodeGen14CGFunctionInfoC2EjbjNS_7CanQualINS_4TypeEEEPKS4_j", "clang::CodeGen::CGFunctionInfo::CGFunctionInfo(unsigned int, bool, unsigned int, clang::CanQual<clang::Type>, clang::CanQual<clang::Type> const*, unsigned int)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes16GetExpandedTypesENS_8QualTypeERSt6vectorIPKN4llvm4TypeESaIS7_EEb", "clang::CodeGen::CodeGenTypes::GetExpandedTypes(clang::QualType, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> >&, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18ExpandTypeFromArgsENS_8QualTypeENS0_6LValueEN4llvm14ilist_iteratorINS4_8ArgumentEEE", "clang::CodeGen::CodeGenFunction::ExpandTypeFromArgs(clang::QualType, clang::CodeGen::LValue, llvm::ilist_iterator<llvm::Argument>)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16ExpandTypeToArgsENS_8QualTypeENS0_6RValueERN4llvm11SmallVectorIPNS4_5ValueELj16EEE", "clang::CodeGen::CodeGenFunction::ExpandTypeToArgs(clang::QualType, clang::CodeGen::RValue, llvm::SmallVector<llvm::Value*, 16u>&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule18ReturnTypeUsesSRetERKNS0_14CGFunctionInfoE", "clang::CodeGen::CodeGenModule::ReturnTypeUsesSRet(clang::CodeGen::CGFunctionInfo const&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule19ReturnTypeUsesFPRetENS_8QualTypeE", "clang::CodeGen::CodeGenModule::ReturnTypeUsesFPRet(clang::QualType)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15GetFunctionTypeENS0_10GlobalDeclE", "clang::CodeGen::CodeGenTypes::GetFunctionType(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes15GetFunctionTypeERKNS0_14CGFunctionInfoEbb", "clang::CodeGen::CodeGenTypes::GetFunctionType(clang::CodeGen::CGFunctionInfo const&, bool, bool)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes24GetFunctionTypeForVTableENS0_10GlobalDeclE", "clang::CodeGen::CodeGenTypes::GetFunctionTypeForVTable(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen13CodeGenModule22ConstructAttributeListERKNS0_14CGFunctionInfoEPKNS_4DeclERN4llvm11SmallVectorINS8_18AttributeWithIndexELj8EEERj", "clang::CodeGen::CodeGenModule::ConstructAttributeList(clang::CodeGen::CGFunctionInfo const&, clang::Decl const*, llvm::SmallVector<llvm::AttributeWithIndex, 8u>&, unsigned int&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitFunctionPrologERKNS0_14CGFunctionInfoEPN4llvm8FunctionERKNS5_11SmallVectorISt4pairIPKNS_7VarDeclENS_8QualTypeEELj16EEE", "clang::CodeGen::CodeGenFunction::EmitFunctionProlog(clang::CodeGen::CGFunctionInfo const&, llvm::Function*, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u> const&)"},
-    {"_Z18CreateCoercedStorePN4llvm5ValueES1_bRN5clang7CodeGen15CodeGenFunctionE", "CreateCoercedStore(llvm::Value*, llvm::Value*, bool, clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitFunctionEpilogERKNS0_14CGFunctionInfoE", "clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(clang::CodeGen::CGFunctionInfo const&)"},
-    {"_Z17CreateCoercedLoadPN4llvm5ValueEPKNS_4TypeERN5clang7CodeGen15CodeGenFunctionE", "CreateCoercedLoad(llvm::Value*, llvm::Type const*, clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19EmitDelegateCallArgEPKNS_7VarDeclE", "clang::CodeGen::CodeGenFunction::EmitDelegateCallArg(clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11EmitCallArgEPKNS_4ExprENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitCallArg(clang::Expr const*, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitCallOrInvokeEPN4llvm5ValueEPKS4_S6_RKNS2_5TwineE", "clang::CodeGen::CodeGenFunction::EmitCallOrInvoke(llvm::Value*, llvm::Value* const*, llvm::Value* const*, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction8EmitCallERKNS0_14CGFunctionInfoEPN4llvm5ValueENS0_15ReturnValueSlotERKNS5_11SmallVectorISt4pairINS0_6RValueENS_8QualTypeEELj16EEEPKNS_4DeclEPPNS5_11InstructionE", "clang::CodeGen::CodeGenFunction::EmitCall(clang::CodeGen::CGFunctionInfo const&, llvm::Value*, clang::CodeGen::ReturnValueSlot, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::Decl const*, llvm::Instruction**)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction9EmitVAArgEPN4llvm5ValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitVAArg(llvm::Value*, clang::QualType)"},
-    {"_Z34EnterStructPointerForCoercedAccessPN4llvm5ValueEPKNS_10StructTypeEyRN5clang7CodeGen15CodeGenFunctionE", "EnterStructPointerForCoercedAccess(llvm::Value*, llvm::StructType const*, unsigned long long, clang::CodeGen::CodeGenFunction&)"},
-    {"_Z24CoerceIntOrPtrToIntOrPtrPN4llvm5ValueEPKNS_4TypeERN5clang7CodeGen15CodeGenFunctionE", "CoerceIntOrPtrToIntOrPtr(llvm::Value*, llvm::Type const*, clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN5clang7CodeGen14CGFunctionInfo7ProfileIPKNS_7CanQualINS_4TypeEEEEEvRN4llvm16FoldingSetNodeIDERKNS_12FunctionType7ExtInfoES5_T_SF_", "void clang::CodeGen::CGFunctionInfo::Profile<clang::CanQual<clang::Type> const*>(llvm::FoldingSetNodeID&, clang::FunctionType::ExtInfo const&, clang::CanQual<clang::Type>, clang::CanQual<clang::Type> const*, clang::CanQual<clang::Type> const*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE18CreateConstGEP2_32EPNS_5ValueEjjRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateConstGEP2_32(llvm::Value*, unsigned int, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE13CreateRetVoidEv", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateRetVoid()"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateRetEPNS_5ValueE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateRet(llvm::Value*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateCallIPKPNS_5ValueEEEPNS_8CallInstES7_T_SC_RKNS_5TwineE", "llvm::CallInst* llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCall<llvm::Value* const*>(llvm::Value*, llvm::Value* const*, llvm::Value* const*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateInvokeIPKPNS_5ValueEEEPNS_10InvokeInstES7_PNS_10BasicBlockESD_T_SE_RKNS_5TwineE", "llvm::InvokeInst* llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateInvoke<llvm::Value* const*>(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value* const*, llvm::Value* const*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE18CreateExtractValueEPNS_5ValueEjRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateExtractValue(llvm::Value*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm10InvokeInstC2IPKPNS_5ValueEEES3_PNS_10BasicBlockES7_T_S8_jRKNS_5TwineEPNS_11InstructionE", "llvm::InvokeInst::InvokeInst<llvm::Value* const*>(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value* const*, llvm::Value* const*, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CallInstC2IPKPNS_5ValueEEES3_T_S6_RKNS_5TwineEPNS_11InstructionE", "llvm::CallInst::CallInst<llvm::Value* const*>(llvm::Value*, llvm::Value* const*, llvm::Value* const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE13CreateIntCastEPNS_5ValueEPKNS_4TypeEbRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateIntCast(llvm::Value*, llvm::Type const*, bool, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule28GetNonVirtualBaseClassOffsetEPKNS_13CXXRecordDeclEPKPKNS_16CXXBaseSpecifierES9_", "clang::CodeGen::CodeGenModule::GetNonVirtualBaseClassOffset(clang::CXXRecordDecl const*, clang::CXXBaseSpecifier const* const*, clang::CXXBaseSpecifier const* const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction37GetAddressOfDirectBaseInCompleteClassEPN4llvm5ValueEPKNS_13CXXRecordDeclES7_b", "clang::CodeGen::CodeGenFunction::GetAddressOfDirectBaseInCompleteClass(llvm::Value*, clang::CXXRecordDecl const*, clang::CXXRecordDecl const*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21GetAddressOfBaseClassEPN4llvm5ValueEPKNS_13CXXRecordDeclEPKPKNS_16CXXBaseSpecifierESC_b", "clang::CodeGen::CodeGenFunction::GetAddressOfBaseClass(llvm::Value*, clang::CXXRecordDecl const*, clang::CXXBaseSpecifier const* const*, clang::CXXBaseSpecifier const* const*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25GetVirtualBaseClassOffsetEPN4llvm5ValueEPKNS_13CXXRecordDeclES7_", "clang::CodeGen::CodeGenFunction::GetVirtualBaseClassOffset(llvm::Value*, clang::CXXRecordDecl const*, clang::CXXRecordDecl const*)"},
-    {"_Z31ApplyNonVirtualAndVirtualOffsetRN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueEyS5_", "ApplyNonVirtualAndVirtualOffset(clang::CodeGen::CodeGenFunction&, llvm::Value*, unsigned long long, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24GetAddressOfDerivedClassEPN4llvm5ValueEPKNS_13CXXRecordDeclEPKPKNS_16CXXBaseSpecifierESC_b", "clang::CodeGen::CodeGenFunction::GetAddressOfDerivedClass(llvm::Value*, clang::CXXRecordDecl const*, clang::CXXBaseSpecifier const* const*, clang::CXXBaseSpecifier const* const*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19EmitConstructorBodyERN4llvm11SmallVectorISt4pairIPKNS_7VarDeclENS_8QualTypeEELj16EEE", "clang::CodeGen::CodeGenFunction::EmitConstructorBody(llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u>&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction30EmitDelegateCXXConstructorCallEPKNS_18CXXConstructorDeclENS_11CXXCtorTypeERKN4llvm11SmallVectorISt4pairIPKNS_7VarDeclENS_8QualTypeEELj16EEE", "clang::CodeGen::CodeGenFunction::EmitDelegateCXXConstructorCall(clang::CXXConstructorDecl const*, clang::CXXCtorType, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u> const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitCtorPrologueEPKNS_18CXXConstructorDeclENS_11CXXCtorTypeERN4llvm11SmallVectorISt4pairIPKNS_7VarDeclENS_8QualTypeEELj16EEE", "clang::CodeGen::CodeGenFunction::EmitCtorPrologue(clang::CXXConstructorDecl const*, clang::CXXCtorType, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u>&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24InitializeVTablePointersEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenFunction::InitializeVTablePointers(clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitDestructorBodyERN4llvm11SmallVectorISt4pairIPKNS_7VarDeclENS_8QualTypeEELj16EEE", "clang::CodeGen::CodeGenFunction::EmitDestructorBody(llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u>&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EnterDtorCleanupsEPKNS_17CXXDestructorDeclENS_11CXXDtorTypeE", "clang::CodeGen::CodeGenFunction::EnterDtorCleanups(clang::CXXDestructorDecl const*, clang::CXXDtorType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21EmitCXXDestructorCallEPKNS_17CXXDestructorDeclENS_11CXXDtorTypeEbPN4llvm5ValueE", "clang::CodeGen::CodeGenFunction::EmitCXXDestructorCall(clang::CXXDestructorDecl const*, clang::CXXDtorType, bool, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26EmitCXXAggrConstructorCallEPKNS_18CXXConstructorDeclEPKNS_17ConstantArrayTypeEPN4llvm5ValueENS_17ConstExprIteratorESB_b", "clang::CodeGen::CodeGenFunction::EmitCXXAggrConstructorCall(clang::CXXConstructorDecl const*, clang::ConstantArrayType const*, llvm::Value*, clang::ConstExprIterator, clang::ConstExprIterator, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26EmitCXXAggrConstructorCallEPKNS_18CXXConstructorDeclEPN4llvm5ValueES7_NS_17ConstExprIteratorES8_b", "clang::CodeGen::CodeGenFunction::EmitCXXAggrConstructorCall(clang::CXXConstructorDecl const*, llvm::Value*, llvm::Value*, clang::ConstExprIterator, clang::ConstExprIterator, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22EmitCXXConstructorCallEPKNS_18CXXConstructorDeclENS_11CXXCtorTypeEbPN4llvm5ValueENS_17ConstExprIteratorES9_", "clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(clang::CXXConstructorDecl const*, clang::CXXCtorType, bool, llvm::Value*, clang::ConstExprIterator, clang::ConstExprIterator)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25EmitCXXAggrDestructorCallEPKNS_17CXXDestructorDeclEPKNS_9ArrayTypeEPN4llvm5ValueE", "clang::CodeGen::CodeGenFunction::EmitCXXAggrDestructorCall(clang::CXXDestructorDecl const*, clang::ArrayType const*, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25EmitCXXAggrDestructorCallEPKNS_17CXXDestructorDeclEPN4llvm5ValueES7_", "clang::CodeGen::CodeGenFunction::EmitCXXAggrDestructorCall(clang::CXXDestructorDecl const*, llvm::Value*, llvm::Value*)"},
-    {"_Z15GetVTTParameterRN5clang7CodeGen15CodeGenFunctionENS0_10GlobalDeclEb", "GetVTTParameter(clang::CodeGen::CodeGenFunction&, clang::CodeGen::GlobalDecl, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction30EmitSynthesizedCXXCopyCtorCallEPKNS_18CXXConstructorDeclEPN4llvm5ValueES7_NS_17ConstExprIteratorES8_", "clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(clang::CXXConstructorDecl const*, llvm::Value*, llvm::Value*, clang::ConstExprIterator, clang::ConstExprIterator)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21PushDestructorCleanupEPKNS_17CXXDestructorDeclEPN4llvm5ValueE", "clang::CodeGen::CodeGenFunction::PushDestructorCleanup(clang::CXXDestructorDecl const*, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21PushDestructorCleanupENS_8QualTypeEPN4llvm5ValueE", "clang::CodeGen::CodeGenFunction::PushDestructorCleanup(clang::QualType, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12GetVTablePtrEPN4llvm5ValueEPKNS2_4TypeE", "clang::CodeGen::CodeGenFunction::GetVTablePtr(llvm::Value*, llvm::Type const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction23InitializeVTablePointerENS0_13BaseSubobjectEPKNS_13CXXRecordDeclEyPN4llvm8ConstantES5_", "clang::CodeGen::CodeGenFunction::InitializeVTablePointer(clang::CodeGen::BaseSubobject, clang::CXXRecordDecl const*, unsigned long long, llvm::Constant*, clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24InitializeVTablePointersENS0_13BaseSubobjectEPKNS_13CXXRecordDeclEybPN4llvm8ConstantES5_RNS6_11SmallPtrSetIS5_Lj4EEE", "clang::CodeGen::CodeGenFunction::InitializeVTablePointers(clang::CodeGen::BaseSubobject, clang::CXXRecordDecl const*, unsigned long long, bool, llvm::Constant*, clang::CXXRecordDecl const*, llvm::SmallPtrSet<clang::CXXRecordDecl const*, 4u>&)"},
-    {"_ZN12_GLOBAL__N_113CallLocalDtorD1Ev", "(anonymous namespace)::CallLocalDtor::~CallLocalDtor()"},
-    {"_ZN12_GLOBAL__N_113CallLocalDtorD0Ev", "(anonymous namespace)::CallLocalDtor::~CallLocalDtor()"},
-    {"_ZN12_GLOBAL__N_113CallLocalDtor4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallLocalDtor::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_113CallFieldDtorD1Ev", "(anonymous namespace)::CallFieldDtor::~CallFieldDtor()"},
-    {"_ZN12_GLOBAL__N_113CallFieldDtorD0Ev", "(anonymous namespace)::CallFieldDtor::~CallFieldDtor()"},
-    {"_ZN12_GLOBAL__N_113CallFieldDtor4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallFieldDtor::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_118CallArrayFieldDtorD1Ev", "(anonymous namespace)::CallArrayFieldDtor::~CallArrayFieldDtor()"},
-    {"_ZN12_GLOBAL__N_118CallArrayFieldDtorD0Ev", "(anonymous namespace)::CallArrayFieldDtor::~CallArrayFieldDtor()"},
-    {"_ZN12_GLOBAL__N_118CallArrayFieldDtor4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallArrayFieldDtor::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_114CallDtorDeleteD1Ev", "(anonymous namespace)::CallDtorDelete::~CallDtorDelete()"},
-    {"_ZN12_GLOBAL__N_114CallDtorDeleteD0Ev", "(anonymous namespace)::CallDtorDelete::~CallDtorDelete()"},
-    {"_ZN12_GLOBAL__N_114CallDtorDelete4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallDtorDelete::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_112CallBaseDtorD1Ev", "(anonymous namespace)::CallBaseDtor::~CallBaseDtor()"},
-    {"_ZN12_GLOBAL__N_112CallBaseDtorD0Ev", "(anonymous namespace)::CallBaseDtor::~CallBaseDtor()"},
-    {"_ZN12_GLOBAL__N_112CallBaseDtor4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallBaseDtor::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_Z24EmitAggMemberInitializerRN5clang7CodeGen15CodeGenFunctionENS0_6LValueEPN4llvm5ValueEPNS_18CXXCtorInitializerENS_8QualTypeEj", "EmitAggMemberInitializer(clang::CodeGen::CodeGenFunction&, clang::CodeGen::LValue, llvm::Value*, clang::CXXCtorInitializer*, clang::QualType, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114CallMemberDtorD1Ev", "(anonymous namespace)::CallMemberDtor::~CallMemberDtor()"},
-    {"_ZN12_GLOBAL__N_114CallMemberDtorD0Ev", "(anonymous namespace)::CallMemberDtor::~CallMemberDtor()"},
-    {"_ZN12_GLOBAL__N_114CallMemberDtor4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallMemberDtor::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_121DynamicThisUseCheckerEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::DynamicThisUseChecker, void>::Visit(clang::Stmt*)"},
-    {"_ZN5clang20EvaluatedExprVisitorIN12_GLOBAL__N_121DynamicThisUseCheckerEE9VisitStmtEPNS_4StmtE", "clang::EvaluatedExprVisitor<(anonymous namespace)::DynamicThisUseChecker>::VisitStmt(clang::Stmt*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE18CreateConstGEP1_64EPNS_5ValueEyRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateConstGEP1_64(llvm::Value*, unsigned long long, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE26CreateConstInBoundsGEP2_64EPNS_5ValueEyyRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateConstInBoundsGEP2_64(llvm::Value*, unsigned long long, unsigned long long, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen15DominatingValueINS0_6RValueEE10saved_type11needsSavingES2_", "clang::CodeGen::DominatingValue<clang::CodeGen::RValue>::saved_type::needsSaving(clang::CodeGen::RValue)"},
-    {"_ZN5clang7CodeGen15DominatingValueINS0_6RValueEE10saved_type4saveERNS0_15CodeGenFunctionES2_", "clang::CodeGen::DominatingValue<clang::CodeGen::RValue>::saved_type::save(clang::CodeGen::CodeGenFunction&, clang::CodeGen::RValue)"},
-    {"_ZN5clang7CodeGen15DominatingValueINS0_6RValueEE10saved_type7restoreERNS0_15CodeGenFunctionE", "clang::CodeGen::DominatingValue<clang::CodeGen::RValue>::saved_type::restore(clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN5clang7CodeGen12EHScopeStack8allocateEm", "clang::CodeGen::EHScopeStack::allocate(unsigned long)"},
-    {"_ZNK5clang7CodeGen12EHScopeStack21getEnclosingEHCleanupENS1_8iteratorE", "clang::CodeGen::EHScopeStack::getEnclosingEHCleanup(clang::CodeGen::EHScopeStack::iterator) const"},
-    {"_ZN5clang7CodeGen12EHScopeStack11pushCleanupENS0_11CleanupKindEm", "clang::CodeGen::EHScopeStack::pushCleanup(clang::CodeGen::CleanupKind, unsigned long)"},
-    {"_ZN5clang7CodeGen12EHScopeStack10popCleanupEv", "clang::CodeGen::EHScopeStack::popCleanup()"},
-    {"_ZN5clang7CodeGen12EHScopeStack13popNullFixupsEv", "clang::CodeGen::EHScopeStack::popNullFixups()"},
-    {"_ZN5clang7CodeGen12EHScopeStack10pushFilterEj", "clang::CodeGen::EHScopeStack::pushFilter(unsigned int)"},
-    {"_ZN5clang7CodeGen12EHScopeStack9popFilterEv", "clang::CodeGen::EHScopeStack::popFilter()"},
-    {"_ZN5clang7CodeGen12EHScopeStack9pushCatchEj", "clang::CodeGen::EHScopeStack::pushCatch(unsigned int)"},
-    {"_ZN5clang7CodeGen12EHScopeStack13pushTerminateEv", "clang::CodeGen::EHScopeStack::pushTerminate()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19initFullExprCleanupEv", "clang::CodeGen::CodeGenFunction::initFullExprCleanup()"},
-    {"_ZN5clang7CodeGen12EHScopeStack7CleanupD0Ev", "clang::CodeGen::EHScopeStack::Cleanup::~Cleanup()"},
-    {"_ZN5clang7CodeGen12EHScopeStack7CleanupD1Ev", "clang::CodeGen::EHScopeStack::Cleanup::~Cleanup()"},
-    {"_ZN5clang7CodeGen12EHScopeStack7CleanupD2Ev", "clang::CodeGen::EHScopeStack::Cleanup::~Cleanup()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19ResolveBranchFixupsEPN4llvm10BasicBlockE", "clang::CodeGen::CodeGenFunction::ResolveBranchFixups(llvm::BasicBlock*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16PopCleanupBlocksENS0_12EHScopeStack15stable_iteratorE", "clang::CodeGen::CodeGenFunction::PopCleanupBlocks(clang::CodeGen::EHScopeStack::stable_iterator)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15PopCleanupBlockEb", "clang::CodeGen::CodeGenFunction::PopCleanupBlock(bool)"},
-    {"_Z29ForwardPrebranchedFallthroughPN4llvm10BasicBlockES1_S1_", "ForwardPrebranchedFallthrough(llvm::BasicBlock*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_Z20SimplifyCleanupEntryRN5clang7CodeGen15CodeGenFunctionEPN4llvm10BasicBlockE", "SimplifyCleanupEntry(clang::CodeGen::CodeGenFunction&, llvm::BasicBlock*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20getEHCleanupDestSlotEv", "clang::CodeGen::CodeGenFunction::getEHCleanupDestSlot()"},
-    {"_Z11EmitCleanupRN5clang7CodeGen15CodeGenFunctionEPNS0_12EHScopeStack7CleanupEbPN4llvm5ValueE", "EmitCleanup(clang::CodeGen::CodeGenFunction&, clang::CodeGen::EHScopeStack::Cleanup*, bool, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24getNormalCleanupDestSlotEv", "clang::CodeGen::CodeGenFunction::getNormalCleanupDestSlot()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24EmitBranchThroughCleanupENS1_8JumpDestE", "clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(clang::CodeGen::CodeGenFunction::JumpDest)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26EmitBranchThroughEHCleanupENS1_10UnwindDestE", "clang::CodeGen::CodeGenFunction::EmitBranchThroughEHCleanup(clang::CodeGen::CodeGenFunction::UnwindDest)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20ActivateCleanupBlockENS0_12EHScopeStack15stable_iteratorE", "clang::CodeGen::CodeGenFunction::ActivateCleanupBlock(clang::CodeGen::EHScopeStack::stable_iterator)"},
-    {"_Z27SetupCleanupBlockActivationRN5clang7CodeGen15CodeGenFunctionENS0_12EHScopeStack15stable_iteratorE15ForActivation_t", "SetupCleanupBlockActivation(clang::CodeGen::CodeGenFunction&, clang::CodeGen::EHScopeStack::stable_iterator, ForActivation_t)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22DeactivateCleanupBlockENS0_12EHScopeStack15stable_iteratorE", "clang::CodeGen::CodeGenFunction::DeactivateCleanupBlock(clang::CodeGen::EHScopeStack::stable_iterator)"},
-    {"_ZN5clang7CodeGen14EHCleanupScope14addBranchAfterEPN4llvm11ConstantIntEPNS2_10BasicBlockE", "clang::CodeGen::EHCleanupScope::addBranchAfter(llvm::ConstantInt*, llvm::BasicBlock*)"},
-    {"_ZN5clang7CodeGen14EHCleanupScope16addEHBranchAfterEPN4llvm11ConstantIntEPNS2_10BasicBlockE", "clang::CodeGen::EHCleanupScope::addEHBranchAfter(llvm::ConstantInt*, llvm::BasicBlock*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen11BranchFixupELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::CodeGen::BranchFixup, false>::grow(unsigned long)"},
-    {"_ZN5clang7CodeGen14EHCleanupScopeD2Ev", "clang::CodeGen::EHCleanupScope::~EHCleanupScope()"},
-    {"_ZN5clang7CodeGen11CGDebugInfoC1ERNS0_13CodeGenModuleE", "clang::CodeGen::CGDebugInfo::CGDebugInfo(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfoC2ERNS0_13CodeGenModuleE", "clang::CodeGen::CGDebugInfo::CGDebugInfo(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo17CreateCompileUnitEv", "clang::CodeGen::CGDebugInfo::CreateCompileUnit()"},
-    {"_ZN5clang7CodeGen11CGDebugInfoD1Ev", "clang::CodeGen::CGDebugInfo::~CGDebugInfo()"},
-    {"_ZN5clang7CodeGen11CGDebugInfoD2Ev", "clang::CodeGen::CGDebugInfo::~CGDebugInfo()"},
-    {"_ZN5clang7CodeGen11CGDebugInfo11setLocationENS_14SourceLocationE", "clang::CodeGen::CGDebugInfo::setLocation(clang::SourceLocation)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo20getContextDescriptorEPKNS_4DeclE", "clang::CodeGen::CGDebugInfo::getContextDescriptor(clang::Decl const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo20getOrCreateNameSpaceEPKNS_13NamespaceDeclE", "clang::CodeGen::CGDebugInfo::getOrCreateNameSpace(clang::NamespaceDecl const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo15getOrCreateTypeENS_8QualTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo19getOrCreateMainFileEv", "clang::CodeGen::CGDebugInfo::getOrCreateMainFile()"},
-    {"_ZN5clang7CodeGen11CGDebugInfo15getFunctionNameEPKNS_12FunctionDeclE", "clang::CodeGen::CGDebugInfo::getFunctionName(clang::FunctionDecl const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo17getObjCMethodNameEPKNS_14ObjCMethodDeclE", "clang::CodeGen::CGDebugInfo::getObjCMethodName(clang::ObjCMethodDecl const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo12getClassNameEPNS_10RecordDeclE", "clang::CodeGen::CGDebugInfo::getClassName(clang::RecordDecl*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo15getOrCreateFileENS_14SourceLocationE", "clang::CodeGen::CGDebugInfo::getOrCreateFile(clang::SourceLocation)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo17getCurrentDirnameEv", "clang::CodeGen::CGDebugInfo::getCurrentDirname()"},
-    {"_ZN5clang7CodeGen11CGDebugInfo13getLineNumberENS_14SourceLocationE", "clang::CodeGen::CGDebugInfo::getLineNumber(clang::SourceLocation)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo15getColumnNumberENS_14SourceLocationE", "clang::CodeGen::CGDebugInfo::getColumnNumber(clang::SourceLocation)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_11BuiltinTypeE", "clang::CodeGen::CGDebugInfo::CreateType(clang::BuiltinType const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_11ComplexTypeE", "clang::CodeGen::CGDebugInfo::CreateType(clang::ComplexType const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo19CreateQualifiedTypeENS_8QualTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateQualifiedType(clang::QualType, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_21ObjCObjectPointerTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::ObjCObjectPointerType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo21CreatePointerLikeTypeEjPKNS_4TypeENS_8QualTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreatePointerLikeType(unsigned int, clang::Type const*, clang::QualType, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_11PointerTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::PointerType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo17CreatePointeeTypeENS_8QualTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreatePointeeType(clang::QualType, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_16BlockPointerTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::BlockPointerType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo16CreateMemberTypeEN4llvm6DIFileENS_8QualTypeENS2_9StringRefEPy", "clang::CodeGen::CGDebugInfo::CreateMemberType(llvm::DIFile, clang::QualType, llvm::StringRef, unsigned long long*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_11TypedefTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::TypedefType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_12FunctionTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::FunctionType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo19CollectRecordFieldsEPKNS_10RecordDeclEN4llvm6DIFileERNS5_15SmallVectorImplIPNS5_5ValueEEE", "clang::CodeGen::CGDebugInfo::CollectRecordFields(clang::RecordDecl const*, llvm::DIFile, llvm::SmallVectorImpl<llvm::Value*>&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo21getOrCreateMethodTypeEPKNS_13CXXMethodDeclEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::getOrCreateMethodType(clang::CXXMethodDecl const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo23CreateCXXMemberFunctionEPKNS_13CXXMethodDeclEN4llvm6DIFileENS5_6DITypeE", "clang::CodeGen::CGDebugInfo::CreateCXXMemberFunction(clang::CXXMethodDecl const*, llvm::DIFile, llvm::DIType)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo25CollectCXXMemberFunctionsEPKNS_13CXXRecordDeclEN4llvm6DIFileERNS5_15SmallVectorImplIPNS5_5ValueEEENS5_6DITypeE", "clang::CodeGen::CGDebugInfo::CollectCXXMemberFunctions(clang::CXXRecordDecl const*, llvm::DIFile, llvm::SmallVectorImpl<llvm::Value*>&, llvm::DIType)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo17CollectCXXFriendsEPKNS_13CXXRecordDeclEN4llvm6DIFileERNS5_15SmallVectorImplIPNS5_5ValueEEENS5_6DITypeE", "clang::CodeGen::CGDebugInfo::CollectCXXFriends(clang::CXXRecordDecl const*, llvm::DIFile, llvm::SmallVectorImpl<llvm::Value*>&, llvm::DIType)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo15CollectCXXBasesEPKNS_13CXXRecordDeclEN4llvm6DIFileERNS5_15SmallVectorImplIPNS5_5ValueEEENS5_6DITypeE", "clang::CodeGen::CGDebugInfo::CollectCXXBases(clang::CXXRecordDecl const*, llvm::DIFile, llvm::SmallVectorImpl<llvm::Value*>&, llvm::DIType)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo24getOrCreateVTablePtrTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::getOrCreateVTablePtrType(llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo13getVTableNameEPKNS_13CXXRecordDeclE", "clang::CodeGen::CGDebugInfo::getVTableName(clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo17CollectVTableInfoEPKNS_13CXXRecordDeclEN4llvm6DIFileERNS5_15SmallVectorImplIPNS5_5ValueEEE", "clang::CodeGen::CGDebugInfo::CollectVTableInfo(clang::CXXRecordDecl const*, llvm::DIFile, llvm::SmallVectorImpl<llvm::Value*>&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo21getOrCreateRecordTypeENS_8QualTypeENS_14SourceLocationE", "clang::CodeGen::CGDebugInfo::getOrCreateRecordType(clang::QualType, clang::SourceLocation)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_10RecordTypeE", "clang::CodeGen::CGDebugInfo::CreateType(clang::RecordType const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_14ObjCObjectTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::ObjCObjectType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_17ObjCInterfaceTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::ObjCInterfaceType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_7TagTypeE", "clang::CodeGen::CGDebugInfo::CreateType(clang::TagType const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo14CreateEnumTypeEPKNS_8EnumDeclE", "clang::CodeGen::CGDebugInfo::CreateEnumType(clang::EnumDecl const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_10VectorTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::VectorType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_9ArrayTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::ArrayType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_19LValueReferenceTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::LValueReferenceType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_19RValueReferenceTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::RValueReferenceType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo10CreateTypeEPKNS_17MemberPointerTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateType(clang::MemberPointerType const*, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo14CreateTypeNodeENS_8QualTypeEN4llvm6DIFileE", "clang::CodeGen::CGDebugInfo::CreateTypeNode(clang::QualType, llvm::DIFile)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo17EmitFunctionStartENS0_10GlobalDeclENS_8QualTypeEPN4llvm8FunctionERNS4_9IRBuilderILb0ENS4_14ConstantFolderENS4_24IRBuilderDefaultInserterILb0EEEEE", "clang::CodeGen::CGDebugInfo::EmitFunctionStart(clang::CodeGen::GlobalDecl, clang::QualType, llvm::Function*, llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo13EmitStopPointERN4llvm9IRBuilderILb0ENS2_14ConstantFolderENS2_24IRBuilderDefaultInserterILb0EEEEE", "clang::CodeGen::CGDebugInfo::EmitStopPoint(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo25UpdateLineDirectiveRegionERN4llvm9IRBuilderILb0ENS2_14ConstantFolderENS2_24IRBuilderDefaultInserterILb0EEEEE", "clang::CodeGen::CGDebugInfo::UpdateLineDirectiveRegion(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo15EmitRegionStartERN4llvm9IRBuilderILb0ENS2_14ConstantFolderENS2_24IRBuilderDefaultInserterILb0EEEEE", "clang::CodeGen::CGDebugInfo::EmitRegionStart(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo13EmitRegionEndERN4llvm9IRBuilderILb0ENS2_14ConstantFolderENS2_24IRBuilderDefaultInserterILb0EEEEE", "clang::CodeGen::CGDebugInfo::EmitRegionEnd(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo15EmitFunctionEndERN4llvm9IRBuilderILb0ENS2_14ConstantFolderENS2_24IRBuilderDefaultInserterILb0EEEEE", "clang::CodeGen::CGDebugInfo::EmitFunctionEnd(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo28EmitTypeForVarWithBlocksAttrEPKNS_9ValueDeclEPy", "clang::CodeGen::CGDebugInfo::EmitTypeForVarWithBlocksAttr(clang::ValueDecl const*, unsigned long long*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo11EmitDeclareEPKNS_7VarDeclEjPN4llvm5ValueERNS5_9IRBuilderILb0ENS5_14ConstantFolderENS5_24IRBuilderDefaultInserterILb0EEEEEb", "clang::CodeGen::CGDebugInfo::EmitDeclare(clang::VarDecl const*, unsigned int, llvm::Value*, llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, bool)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo11EmitDeclareEPKNS_7VarDeclEjPN4llvm5ValueERNS5_9IRBuilderILb0ENS5_14ConstantFolderENS5_24IRBuilderDefaultInserterILb0EEEEERKNS0_11CGBlockInfoE", "clang::CodeGen::CGDebugInfo::EmitDeclare(clang::VarDecl const*, unsigned int, llvm::Value*, llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::CodeGen::CGBlockInfo const&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo25EmitDeclareOfAutoVariableEPKNS_7VarDeclEPN4llvm5ValueERNS5_9IRBuilderILb0ENS5_14ConstantFolderENS5_24IRBuilderDefaultInserterILb0EEEEE", "clang::CodeGen::CGDebugInfo::EmitDeclareOfAutoVariable(clang::VarDecl const*, llvm::Value*, llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo33EmitDeclareOfBlockDeclRefVariableEPKNS_7VarDeclEPN4llvm5ValueERNS5_9IRBuilderILb0ENS5_14ConstantFolderENS5_24IRBuilderDefaultInserterILb0EEEEERKNS0_11CGBlockInfoE", "clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockDeclRefVariable(clang::VarDecl const*, llvm::Value*, llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::CodeGen::CGBlockInfo const&)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo24EmitDeclareOfArgVariableEPKNS_7VarDeclEPN4llvm5ValueERNS5_9IRBuilderILb0ENS5_14ConstantFolderENS5_24IRBuilderDefaultInserterILb0EEEEEb", "clang::CodeGen::CGDebugInfo::EmitDeclareOfArgVariable(clang::VarDecl const*, llvm::Value*, llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, bool)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo18EmitGlobalVariableEPN4llvm14GlobalVariableEPKNS_7VarDeclE", "clang::CodeGen::CGDebugInfo::EmitGlobalVariable(llvm::GlobalVariable*, clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo18EmitGlobalVariableEPN4llvm14GlobalVariableEPNS_17ObjCInterfaceDeclE", "clang::CodeGen::CGDebugInfo::EmitGlobalVariable(llvm::GlobalVariable*, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang7CodeGen11CGDebugInfo18EmitGlobalVariableEPKNS_9ValueDeclEPN4llvm8ConstantE", "clang::CodeGen::CGDebugInfo::EmitGlobalVariable(clang::ValueDecl const*, llvm::Constant*)"},
-    {"_ZNK5clang15ASTRecordLayout24getBaseClassOffsetInBitsEPKNS_13CXXRecordDeclE", "clang::ASTRecordLayout::getBaseClassOffsetInBits(clang::CXXRecordDecl const*) const"},
-    {"_ZN4llvm8DenseMapIPKN5clang13NamespaceDeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::NamespaceDecl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::NamespaceDecl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::FindAndConstruct(clang::NamespaceDecl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13NamespaceDeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE16InsertIntoBucketERKS4_RKS5_PSt4pairIS4_S5_E", "llvm::DenseMap<clang::NamespaceDecl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::NamespaceDecl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::InsertIntoBucket(clang::NamespaceDecl const* const&, llvm::WeakVH const&, std::pair<clang::NamespaceDecl const*, llvm::WeakVH>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13NamespaceDeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::NamespaceDecl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::NamespaceDecl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::Decl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::FindAndConstruct(clang::Decl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE16InsertIntoBucketERKS4_RKS5_PSt4pairIS4_S5_E", "llvm::DenseMap<clang::Decl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::InsertIntoBucket(clang::Decl const* const&, llvm::WeakVH const&, std::pair<clang::Decl const*, llvm::WeakVH>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Decl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm10TrackingVHINS0_6MDNodeEEESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::TrackingVH<llvm::MDNode>, std::allocator<llvm::TrackingVH<llvm::MDNode> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::TrackingVH<llvm::MDNode>*, std::vector<llvm::TrackingVH<llvm::MDNode>, std::allocator<llvm::TrackingVH<llvm::MDNode> > > >, llvm::TrackingVH<llvm::MDNode> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang12FunctionDeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::FunctionDecl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::FunctionDecl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::FindAndConstruct(clang::FunctionDecl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang12FunctionDeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE16InsertIntoBucketERKS4_RKS5_PSt4pairIS4_S5_E", "llvm::DenseMap<clang::FunctionDecl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::FunctionDecl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::InsertIntoBucket(clang::FunctionDecl const* const&, llvm::WeakVH const&, std::pair<clang::FunctionDecl const*, llvm::WeakVH>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang12FunctionDeclENS_6WeakVHENS_12DenseMapInfoIS4_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::FunctionDecl const*, llvm::WeakVH, llvm::DenseMapInfo<clang::FunctionDecl const*>, llvm::DenseMapInfo<llvm::WeakVH> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPvNS_6WeakVHENS_12DenseMapInfoIS1_EENS3_IS2_EEE16FindAndConstructERKS1_", "llvm::DenseMap<void*, llvm::WeakVH, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<llvm::WeakVH> >::FindAndConstruct(void* const&)"},
-    {"_ZN4llvm8DenseMapIPvNS_6WeakVHENS_12DenseMapInfoIS1_EENS3_IS2_EEE16InsertIntoBucketERKS1_RKS2_PSt4pairIS1_S2_E", "llvm::DenseMap<void*, llvm::WeakVH, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<llvm::WeakVH> >::InsertIntoBucket(void* const&, llvm::WeakVH const&, std::pair<void*, llvm::WeakVH>*)"},
-    {"_ZN4llvm8DenseMapIPvNS_6WeakVHENS_12DenseMapInfoIS1_EENS3_IS2_EEE4growEj", "llvm::DenseMap<void*, llvm::WeakVH, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<llvm::WeakVH> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKcNS_6WeakVHENS_12DenseMapInfoIS2_EENS4_IS3_EEE16FindAndConstructERKS2_", "llvm::DenseMap<char const*, llvm::WeakVH, llvm::DenseMapInfo<char const*>, llvm::DenseMapInfo<llvm::WeakVH> >::FindAndConstruct(char const* const&)"},
-    {"_ZN4llvm8DenseMapIPKcNS_6WeakVHENS_12DenseMapInfoIS2_EENS4_IS3_EEE16InsertIntoBucketERKS2_RKS3_PSt4pairIS2_S3_E", "llvm::DenseMap<char const*, llvm::WeakVH, llvm::DenseMapInfo<char const*>, llvm::DenseMapInfo<llvm::WeakVH> >::InsertIntoBucket(char const* const&, llvm::WeakVH const&, std::pair<char const*, llvm::WeakVH>*)"},
-    {"_ZN4llvm8DenseMapIPKcNS_6WeakVHENS_12DenseMapInfoIS2_EENS4_IS3_EEE4growEj", "llvm::DenseMap<char const*, llvm::WeakVH, llvm::DenseMapInfo<char const*>, llvm::DenseMapInfo<llvm::WeakVH> >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction8EmitDeclERKNS_4DeclE", "clang::CodeGen::CodeGenFunction::EmitDecl(clang::Decl const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11EmitVarDeclERKNS_7VarDeclE", "clang::CodeGen::CodeGenFunction::EmitVarDecl(clang::VarDecl const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitAutoVarDeclERKNS_7VarDeclEPFvRS1_S4_PN4llvm5ValueEE", "clang::CodeGen::CodeGenFunction::EmitAutoVarDecl(clang::VarDecl const&, void (*)(clang::CodeGen::CodeGenFunction&, clang::VarDecl const&, llvm::Value*))"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitStaticVarDeclERKNS_7VarDeclEN4llvm11GlobalValue12LinkageTypesE", "clang::CodeGen::CodeGenFunction::EmitStaticVarDecl(clang::VarDecl const&, llvm::GlobalValue::LinkageTypes)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19CreateStaticVarDeclERKNS_7VarDeclEPKcN4llvm11GlobalValue12LinkageTypesE", "clang::CodeGen::CodeGenFunction::CreateStaticVarDecl(clang::VarDecl const&, char const*, llvm::GlobalValue::LinkageTypes)"},
-    {"_Z17GetStaticDeclNameRN5clang7CodeGen15CodeGenFunctionERKNS_7VarDeclEPKc", "GetStaticDeclName(clang::CodeGen::CodeGenFunction&, clang::VarDecl const&, char const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction29AddInitializerToStaticVarDeclERKNS_7VarDeclEPN4llvm14GlobalVariableE", "clang::CodeGen::CodeGenFunction::AddInitializerToStaticVarDecl(clang::VarDecl const&, llvm::GlobalVariable*)"},
-    {"_ZNK5clang7CodeGen15CodeGenFunction22getByRefValueLLVMFieldEPKNS_9ValueDeclE", "clang::CodeGen::CodeGenFunction::getByRefValueLLVMField(clang::ValueDecl const*) const"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22BuildBlockByrefAddressEPN4llvm5ValueEPKNS_7VarDeclE", "clang::CodeGen::CodeGenFunction::BuildBlockByrefAddress(llvm::Value*, clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14BuildByRefTypeEPKNS_7VarDeclE", "clang::CodeGen::CodeGenFunction::BuildByRefType(clang::VarDecl const*)"},
-    {"_Z28emitStoresForInitAfterMemsetPN4llvm8ConstantEPNS_5ValueERNS_9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEEE", "emitStoresForInitAfterMemset(llvm::Constant*, llvm::Value*, llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitParmDeclERKNS_7VarDeclEPN4llvm5ValueEb", "clang::CodeGen::CodeGenFunction::EmitParmDecl(clang::VarDecl const&, llvm::Value*, bool)"},
-    {"_ZN12_GLOBAL__N_116CallBlockReleaseD1Ev", "(anonymous namespace)::CallBlockRelease::~CallBlockRelease()"},
-    {"_ZN12_GLOBAL__N_116CallBlockReleaseD0Ev", "(anonymous namespace)::CallBlockRelease::~CallBlockRelease()"},
-    {"_ZN12_GLOBAL__N_116CallBlockRelease4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallBlockRelease::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_119CallCleanupFunctionD1Ev", "(anonymous namespace)::CallCleanupFunction::~CallCleanupFunction()"},
-    {"_ZN12_GLOBAL__N_119CallCleanupFunctionD0Ev", "(anonymous namespace)::CallCleanupFunction::~CallCleanupFunction()"},
-    {"_ZN12_GLOBAL__N_119CallCleanupFunction4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallCleanupFunction::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_111CallVarDtorD1Ev", "(anonymous namespace)::CallVarDtor::~CallVarDtor()"},
-    {"_ZN12_GLOBAL__N_111CallVarDtorD0Ev", "(anonymous namespace)::CallVarDtor::~CallVarDtor()"},
-    {"_ZN12_GLOBAL__N_111CallVarDtor4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallVarDtor::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_113CallArrayDtorD1Ev", "(anonymous namespace)::CallArrayDtor::~CallArrayDtor()"},
-    {"_ZN12_GLOBAL__N_113CallArrayDtorD0Ev", "(anonymous namespace)::CallArrayDtor::~CallArrayDtor()"},
-    {"_ZN12_GLOBAL__N_113CallArrayDtor4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallArrayDtor::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_116CallStackRestoreD1Ev", "(anonymous namespace)::CallStackRestore::~CallStackRestore()"},
-    {"_ZN12_GLOBAL__N_116CallStackRestoreD0Ev", "(anonymous namespace)::CallStackRestore::~CallStackRestore()"},
-    {"_ZN12_GLOBAL__N_116CallStackRestore4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallStackRestore::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_Z35canEmitInitWithFewStoresAfterMemsetPN4llvm8ConstantERj", "canEmitInitWithFewStoresAfterMemset(llvm::Constant*, unsigned int&)"},
-    {"_ZNK5clang4Decl7getAttrINS_11CleanupAttrEEEPT_v", "clang::CleanupAttr* clang::Decl::getAttr<clang::CleanupAttr>() const"},
-    {"_ZN4llvm8DenseMapIPKN5clang9ValueDeclESt4pairIPKNS_4TypeEjENS_12DenseMapInfoIS4_EENSA_IS9_EEE16InsertIntoBucketERKS4_RKS9_PS5_IS4_S9_E", "llvm::DenseMap<clang::ValueDecl const*, std::pair<llvm::Type const*, unsigned int>, llvm::DenseMapInfo<clang::ValueDecl const*>, llvm::DenseMapInfo<std::pair<llvm::Type const*, unsigned int> > >::InsertIntoBucket(clang::ValueDecl const* const&, std::pair<llvm::Type const*, unsigned int> const&, std::pair<clang::ValueDecl const*, std::pair<llvm::Type const*, unsigned int> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9ValueDeclESt4pairIPKNS_4TypeEjENS_12DenseMapInfoIS4_EENSA_IS9_EEE4growEj", "llvm::DenseMap<clang::ValueDecl const*, std::pair<llvm::Type const*, unsigned int>, llvm::DenseMapInfo<clang::ValueDecl const*>, llvm::DenseMapInfo<std::pair<llvm::Type const*, unsigned int> > >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24EmitCXXGlobalVarDeclInitERKNS_7VarDeclEPN4llvm8ConstantE", "clang::CodeGen::CodeGenFunction::EmitCXXGlobalVarDeclInit(clang::VarDecl const&, llvm::Constant*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction29EmitCXXGlobalDtorRegistrationEPN4llvm8ConstantES4_", "clang::CodeGen::CodeGenFunction::EmitCXXGlobalDtorRegistration(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitCXXGuardedInitERKNS_7VarDeclEPN4llvm14GlobalVariableE", "clang::CodeGen::CodeGenFunction::EmitCXXGuardedInit(clang::VarDecl const&, llvm::GlobalVariable*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule28EmitCXXGlobalVarDeclInitFuncEPKNS_7VarDeclEPN4llvm14GlobalVariableE", "clang::CodeGen::CodeGenModule::EmitCXXGlobalVarDeclInitFunc(clang::VarDecl const*, llvm::GlobalVariable*)"},
-    {"_Z34CreateGlobalInitOrDestructFunctionRN5clang7CodeGen13CodeGenModuleEPKN4llvm12FunctionTypeENS3_9StringRefE", "CreateGlobalInitOrDestructFunction(clang::CodeGen::CodeGenModule&, llvm::FunctionType const*, llvm::StringRef)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction32GenerateCXXGlobalVarDeclInitFuncEPN4llvm8FunctionEPKNS_7VarDeclEPNS2_14GlobalVariableE", "clang::CodeGen::CodeGenFunction::GenerateCXXGlobalVarDeclInitFunc(llvm::Function*, clang::VarDecl const*, llvm::GlobalVariable*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule21EmitCXXGlobalInitFuncEv", "clang::CodeGen::CodeGenModule::EmitCXXGlobalInitFunc()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25GenerateCXXGlobalInitFuncEPN4llvm8FunctionEPPNS2_8ConstantEj", "clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(llvm::Function*, llvm::Constant**, unsigned int)"},
-    {"_ZN5clang7CodeGen13CodeGenModule21EmitCXXGlobalDtorFuncEv", "clang::CodeGen::CodeGenModule::EmitCXXGlobalDtorFunc()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25GenerateCXXGlobalDtorFuncEPN4llvm8FunctionERKSt6vectorISt4pairINS2_6WeakVHEPNS2_8ConstantEESaISA_EE", "clang::CodeGen::CodeGenFunction::GenerateCXXGlobalDtorFunc(llvm::Function*, std::vector<std::pair<llvm::WeakVH, llvm::Constant*>, std::allocator<std::pair<llvm::WeakVH, llvm::Constant*> > > const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction31GenerateCXXAggrDestructorHelperEPKNS_17CXXDestructorDeclEPKNS_9ArrayTypeEPN4llvm5ValueE", "clang::CodeGen::CodeGenFunction::GenerateCXXAggrDestructorHelper(clang::CXXDestructorDecl const*, clang::ArrayType const*, llvm::Value*)"},
-    {"_ZN4llvm25array_pod_sort_comparatorISt4pairIN5clang7CodeGen16OrderGlobalInitsEPNS_8FunctionEEEEiPKvS9_", "int llvm::array_pod_sort_comparator<std::pair<clang::CodeGen::OrderGlobalInits, llvm::Function*> >(void const*, void const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule15AddCXXDtorEntryEPN4llvm8ConstantES4_", "clang::CodeGen::CodeGenModule::AddCXXDtorEntry(llvm::Constant*, llvm::Constant*)"},
-    {"_ZNK5clang4Decl7getAttrINS_16InitPriorityAttrEEEPT_v", "clang::InitPriorityAttr* clang::Decl::getAttr<clang::InitPriorityAttr>() const"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateCallEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCall(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIN5clang7CodeGen16OrderGlobalInitsEPNS_8FunctionEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<clang::CodeGen::OrderGlobalInits, llvm::Function*>, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorISt4pairIN4llvm6WeakVHEPNS1_8ConstantEESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<llvm::WeakVH, llvm::Constant*>, std::allocator<std::pair<llvm::WeakVH, llvm::Constant*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::Constant*>*, std::vector<std::pair<llvm::WeakVH, llvm::Constant*>, std::allocator<std::pair<llvm::WeakVH, llvm::Constant*> > > >, std::pair<llvm::WeakVH, llvm::Constant*> const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPSt4pairIN4llvm6WeakVHEPNS4_8ConstantEES9_EET0_T_SB_SA_", "std::pair<llvm::WeakVH, llvm::Constant*>* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<std::pair<llvm::WeakVH, llvm::Constant*>*, std::pair<llvm::WeakVH, llvm::Constant*>*>(std::pair<llvm::WeakVH, llvm::Constant*>*, std::pair<llvm::WeakVH, llvm::Constant*>*, std::pair<llvm::WeakVH, llvm::Constant*>*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26getUnwindResumeOrRethrowFnEv", "clang::CodeGen::CodeGenFunction::getUnwindResumeOrRethrowFn()"},
-    {"_ZN5clang7CodeGen13EHPersonality3getERKNS_11LangOptionsE", "clang::CodeGen::EHPersonality::get(clang::LangOptions const&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule19SimplifyPersonalityEv", "clang::CodeGen::CodeGenModule::SimplifyPersonality()"},
-    {"_Z25PersonalityHasOnlyCXXUsesPN4llvm8ConstantE", "PersonalityHasOnlyCXXUses(llvm::Constant*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16getExceptionSlotEv", "clang::CodeGen::CodeGenFunction::getExceptionSlot()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitCXXThrowExprEPKNS_12CXXThrowExprE", "clang::CodeGen::CodeGenFunction::EmitCXXThrowExpr(clang::CXXThrowExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitStartEHSpecEPKNS_4DeclE", "clang::CodeGen::CodeGenFunction::EmitStartEHSpec(clang::Decl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13EmitEndEHSpecEPKNS_4DeclE", "clang::CodeGen::CodeGenFunction::EmitEndEHSpec(clang::Decl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitCXXTryStmtERKNS_10CXXTryStmtE", "clang::CodeGen::CodeGenFunction::EmitCXXTryStmt(clang::CXXTryStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EnterCXXTryStmtERKNS_10CXXTryStmtEb", "clang::CodeGen::CodeGenFunction::EnterCXXTryStmt(clang::CXXTryStmt const&, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14ExitCXXTryStmtERKNS_10CXXTryStmtEb", "clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(clang::CXXTryStmt const&, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17getInvokeDestImplEv", "clang::CodeGen::CodeGenFunction::getInvokeDestImpl()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitLandingPadEv", "clang::CodeGen::CodeGenFunction::EmitLandingPad()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22getTerminateLandingPadEv", "clang::CodeGen::CodeGenFunction::getTerminateLandingPad()"},
-    {"_Z22getOpaquePersonalityFnRN5clang7CodeGen13CodeGenModuleERKNS0_13EHPersonalityE", "getOpaquePersonalityFn(clang::CodeGen::CodeGenModule&, clang::CodeGen::EHPersonality const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19getTerminateHandlerEv", "clang::CodeGen::CodeGenFunction::getTerminateHandler()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14getRethrowDestEv", "clang::CodeGen::CodeGenFunction::getRethrowDest()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EnterFinallyBlockEPKNS_4StmtEPN4llvm8ConstantES7_S7_", "clang::CodeGen::CodeGenFunction::EnterFinallyBlock(clang::Stmt const*, llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16ExitFinallyBlockERNS1_11FinallyInfoE", "clang::CodeGen::CodeGenFunction::ExitFinallyBlock(clang::CodeGen::CodeGenFunction::FinallyInfo&)"},
-    {"_Z14getTerminateFnRN5clang7CodeGen15CodeGenFunctionE", "getTerminateFn(clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN12_GLOBAL__N_114PerformFinallyD1Ev", "(anonymous namespace)::PerformFinally::~PerformFinally()"},
-    {"_ZN12_GLOBAL__N_114PerformFinallyD0Ev", "(anonymous namespace)::PerformFinally::~PerformFinally()"},
-    {"_ZN12_GLOBAL__N_114PerformFinally4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::PerformFinally::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_122CallEndCatchForFinallyD1Ev", "(anonymous namespace)::CallEndCatchForFinally::~CallEndCatchForFinally()"},
-    {"_ZN12_GLOBAL__N_122CallEndCatchForFinallyD0Ev", "(anonymous namespace)::CallEndCatchForFinally::~CallEndCatchForFinally()"},
-    {"_ZN12_GLOBAL__N_122CallEndCatchForFinally4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallEndCatchForFinally::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_111CallRethrowD1Ev", "(anonymous namespace)::CallRethrow::~CallRethrow()"},
-    {"_ZN12_GLOBAL__N_111CallRethrowD0Ev", "(anonymous namespace)::CallRethrow::~CallRethrow()"},
-    {"_ZN12_GLOBAL__N_111CallRethrow4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallRethrow::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_Z14CallBeginCatchRN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueEb", "CallBeginCatch(clang::CodeGen::CodeGenFunction&, llvm::Value*, bool)"},
-    {"_Z14InitCatchParamRN5clang7CodeGen15CodeGenFunctionERKNS_7VarDeclEPN4llvm5ValueE", "InitCatchParam(clang::CodeGen::CodeGenFunction&, clang::VarDecl const&, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_112CallEndCatchD1Ev", "(anonymous namespace)::CallEndCatch::~CallEndCatch()"},
-    {"_ZN12_GLOBAL__N_112CallEndCatchD0Ev", "(anonymous namespace)::CallEndCatch::~CallEndCatch()"},
-    {"_ZN12_GLOBAL__N_112CallEndCatch4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallEndCatch::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN5clang7CodeGen12EHScopeStack19ConditionalCleanup1IN12_GLOBAL__N_113FreeExceptionEPN4llvm5ValueEED1Ev", "clang::CodeGen::EHScopeStack::ConditionalCleanup1<(anonymous namespace)::FreeException, llvm::Value*>::~ConditionalCleanup1()"},
-    {"_ZN5clang7CodeGen12EHScopeStack19ConditionalCleanup1IN12_GLOBAL__N_113FreeExceptionEPN4llvm5ValueEED0Ev", "clang::CodeGen::EHScopeStack::ConditionalCleanup1<(anonymous namespace)::FreeException, llvm::Value*>::~ConditionalCleanup1()"},
-    {"_ZN5clang7CodeGen12EHScopeStack19ConditionalCleanup1IN12_GLOBAL__N_113FreeExceptionEPN4llvm5ValueEE4EmitERNS0_15CodeGenFunctionEb", "clang::CodeGen::EHScopeStack::ConditionalCleanup1<(anonymous namespace)::FreeException, llvm::Value*>::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_113FreeException4EmitERN5clang7CodeGen15CodeGenFunctionEbPN4llvm5ValueE", "(anonymous namespace)::FreeException::Emit(clang::CodeGen::CodeGenFunction&, bool, llvm::Value*)"},
-    {"_ZN5clang7CodeGen12EHScopeStack21UnconditionalCleanup1IN12_GLOBAL__N_113FreeExceptionEPN4llvm5ValueEED1Ev", "clang::CodeGen::EHScopeStack::UnconditionalCleanup1<(anonymous namespace)::FreeException, llvm::Value*>::~UnconditionalCleanup1()"},
-    {"_ZN5clang7CodeGen12EHScopeStack21UnconditionalCleanup1IN12_GLOBAL__N_113FreeExceptionEPN4llvm5ValueEED0Ev", "clang::CodeGen::EHScopeStack::UnconditionalCleanup1<(anonymous namespace)::FreeException, llvm::Value*>::~UnconditionalCleanup1()"},
-    {"_ZN5clang7CodeGen12EHScopeStack21UnconditionalCleanup1IN12_GLOBAL__N_113FreeExceptionEPN4llvm5ValueEE4EmitERNS0_15CodeGenFunctionEb", "clang::CodeGen::EHScopeStack::UnconditionalCleanup1<(anonymous namespace)::FreeException, llvm::Value*>::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateInvokeEPNS_5ValueEPNS_10BasicBlockES8_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateInvoke(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19getUnreachableBlockEv", "clang::CodeGen::CodeGenFunction::getUnreachableBlock()"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE13CreateInvoke3EPNS_5ValueEPNS_10BasicBlockES8_S6_S6_S6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateInvoke3(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen12EHCatchScope7HandlerELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::CodeGen::EHCatchScope::Handler, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEN5clang7CodeGen15CodeGenFunction10UnwindDestENS_12DenseMapInfoIS2_EENS7_IS6_EEE16InsertIntoBucketERKS2_RKS6_PSt4pairIS2_S6_E", "llvm::DenseMap<llvm::Value*, clang::CodeGen::CodeGenFunction::UnwindDest, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<clang::CodeGen::CodeGenFunction::UnwindDest> >::InsertIntoBucket(llvm::Value* const&, clang::CodeGen::CodeGenFunction::UnwindDest const&, std::pair<llvm::Value*, clang::CodeGen::CodeGenFunction::UnwindDest>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEN5clang7CodeGen15CodeGenFunction10UnwindDestENS_12DenseMapInfoIS2_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::Value*, clang::CodeGen::CodeGenFunction::UnwindDest, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<clang::CodeGen::CodeGenFunction::UnwindDest> >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen19DominatingLLVMValue4saveERNS0_15CodeGenFunctionEPN4llvm5ValueE", "clang::CodeGen::DominatingLLVMValue::save(clang::CodeGen::CodeGenFunction&, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitCastToVoidPtrEPN4llvm5ValueE", "clang::CodeGen::CodeGenFunction::EmitCastToVoidPtr(llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16CreateTempAllocaEPKN4llvm4TypeERKNS2_5TwineE", "clang::CodeGen::CodeGenFunction::CreateTempAlloca(llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14InitTempAllocaEPN4llvm10AllocaInstEPNS2_5ValueE", "clang::CodeGen::CodeGenFunction::InitTempAlloca(llvm::AllocaInst*, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12CreateIRTempENS_8QualTypeERKN4llvm5TwineE", "clang::CodeGen::CodeGenFunction::CreateIRTemp(clang::QualType, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13CreateMemTempENS_8QualTypeERKN4llvm5TwineE", "clang::CodeGen::CodeGenFunction::CreateMemTemp(clang::QualType, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EvaluateExprAsBoolEPKNS_4ExprE", "clang::CodeGen::CodeGenFunction::EvaluateExprAsBool(clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitIgnoredExprEPKNS_4ExprE", "clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11EmitAnyExprEPKNS_4ExprENS0_12AggValueSlotEb", "clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction10EmitLValueEPKNS_4ExprE", "clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitAnyExprToTempEPKNS_4ExprE", "clang::CodeGen::CodeGenFunction::EmitAnyExprToTemp(clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitAnyExprToMemEPKNS_4ExprEPN4llvm5ValueEbb", "clang::CodeGen::CodeGenFunction::EmitAnyExprToMem(clang::Expr const*, llvm::Value*, bool, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22EmitStoreThroughLValueENS0_6RValueENS0_6LValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(clang::CodeGen::RValue, clang::CodeGen::LValue, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26EmitReferenceBindingToExprEPKNS_4ExprEPKNS_9NamedDeclE", "clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(clang::Expr const*, clang::NamedDecl const*)"},
-    {"_Z27EmitExprForReferenceBindingRN5clang7CodeGen15CodeGenFunctionEPKNS_4ExprERPN4llvm5ValueERPKNS_17CXXDestructorDeclEPKNS_9NamedDeclE", "EmitExprForReferenceBinding(clang::CodeGen::CodeGenFunction&, clang::Expr const*, llvm::Value*&, clang::CXXDestructorDecl const*&, clang::NamedDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18getAccessedFieldNoEjPKN4llvm8ConstantE", "clang::CodeGen::CodeGenFunction::getAccessedFieldNo(unsigned int, llvm::Constant const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction9EmitCheckEPN4llvm5ValueEj", "clang::CodeGen::CodeGenFunction::EmitCheck(llvm::Value*, unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction9getTrapBBEv", "clang::CodeGen::CodeGenFunction::getTrapBB()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24EmitComplexPrePostIncDecEPKNS_13UnaryOperatorENS0_6LValueEbb", "clang::CodeGen::CodeGenFunction::EmitComplexPrePostIncDec(clang::UnaryOperator const*, clang::CodeGen::LValue, bool, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14GetUndefRValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::GetUndefRValue(clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21EmitUnsupportedRValueEPKNS_4ExprEPKc", "clang::CodeGen::CodeGenFunction::EmitUnsupportedRValue(clang::Expr const*, char const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21EmitUnsupportedLValueEPKNS_4ExprEPKc", "clang::CodeGen::CodeGenFunction::EmitUnsupportedLValue(clang::Expr const*, char const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitCheckedLValueEPKNS_4ExprE", "clang::CodeGen::CodeGenFunction::EmitCheckedLValue(clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22EmitObjCSelectorLValueEPKNS_16ObjCSelectorExprE", "clang::CodeGen::CodeGenFunction::EmitObjCSelectorLValue(clang::ObjCSelectorExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24EmitBinaryOperatorLValueEPKNS_14BinaryOperatorE", "clang::CodeGen::CodeGenFunction::EmitBinaryOperatorLValue(clang::BinaryOperator const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitCallExprLValueEPKNS_8CallExprE", "clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19EmitVAArgExprLValueEPKNS_9VAArgExprE", "clang::CodeGen::CodeGenFunction::EmitVAArgExprLValue(clang::VAArgExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitDeclRefLValueEPKNS_11DeclRefExprE", "clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(clang::DeclRefExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20EmitPredefinedLValueEPKNS_14PredefinedExprE", "clang::CodeGen::CodeGenFunction::EmitPredefinedLValue(clang::PredefinedExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction23EmitStringLiteralLValueEPKNS_13StringLiteralE", "clang::CodeGen::CodeGenFunction::EmitStringLiteralLValue(clang::StringLiteral const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24EmitObjCEncodeExprLValueEPKNS_14ObjCEncodeExprE", "clang::CodeGen::CodeGenFunction::EmitObjCEncodeExprLValue(clang::ObjCEncodeExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22EmitBlockDeclRefLValueEPKNS_16BlockDeclRefExprE", "clang::CodeGen::CodeGenFunction::EmitBlockDeclRefLValue(clang::BlockDeclRefExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22EmitCXXConstructLValueEPKNS_16CXXConstructExprE", "clang::CodeGen::CodeGenFunction::EmitCXXConstructLValue(clang::CXXConstructExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26EmitCXXBindTemporaryLValueEPKNS_20CXXBindTemporaryExprE", "clang::CodeGen::CodeGenFunction::EmitCXXBindTemporaryLValue(clang::CXXBindTemporaryExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction28EmitNullInitializationLValueEPKNS_22CXXScalarValueInitExprE", "clang::CodeGen::CodeGenFunction::EmitNullInitializationLValue(clang::CXXScalarValueInitExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19EmitCXXTypeidLValueEPKNS_13CXXTypeidExprE", "clang::CodeGen::CodeGenFunction::EmitCXXTypeidLValue(clang::CXXTypeidExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25EmitObjCMessageExprLValueEPKNS_15ObjCMessageExprE", "clang::CodeGen::CodeGenFunction::EmitObjCMessageExprLValue(clang::ObjCMessageExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21EmitObjCIvarRefLValueEPKNS_15ObjCIvarRefExprE", "clang::CodeGen::CodeGenFunction::EmitObjCIvarRefLValue(clang::ObjCIvarRefExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitStmtExprLValueEPKNS_8StmtExprE", "clang::CodeGen::CodeGenFunction::EmitStmtExprLValue(clang::StmtExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitUnaryOpLValueEPKNS_13UnaryOperatorE", "clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(clang::UnaryOperator const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22EmitArraySubscriptExprEPKNS_18ArraySubscriptExprE", "clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(clang::ArraySubscriptExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24EmitExtVectorElementExprEPKNS_20ExtVectorElementExprE", "clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(clang::ExtVectorElementExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitMemberExprEPKNS_10MemberExprE", "clang::CodeGen::CodeGenFunction::EmitMemberExpr(clang::MemberExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25EmitCompoundLiteralLValueEPKNS_19CompoundLiteralExprE", "clang::CodeGen::CodeGenFunction::EmitCompoundLiteralLValue(clang::CompoundLiteralExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction29EmitConditionalOperatorLValueEPKNS_19ConditionalOperatorE", "clang::CodeGen::CodeGenFunction::EmitConditionalOperatorLValue(clang::ConditionalOperator const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitCastLValueEPKNS_8CastExprE", "clang::CodeGen::CodeGenFunction::EmitCastLValue(clang::CastExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitLoadOfScalarEPN4llvm5ValueEbjNS_8QualTypeEPNS2_6MDNodeE", "clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(llvm::Value*, bool, unsigned int, clang::QualType, llvm::MDNode*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitFromMemoryEPN4llvm5ValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitFromMemory(llvm::Value*, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitToMemoryEPN4llvm5ValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitToMemory(llvm::Value*, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitStoreOfScalarEPN4llvm5ValueES4_bjNS_8QualTypeEPNS2_6MDNodeE", "clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(llvm::Value*, llvm::Value*, bool, unsigned int, clang::QualType, llvm::MDNode*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitLoadOfLValueENS0_6LValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(clang::CodeGen::LValue, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction32EmitLoadOfExtVectorElementLValueENS0_6LValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(clang::CodeGen::LValue, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24EmitLoadOfBitfieldLValueENS0_6LValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(clang::CodeGen::LValue, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction40EmitStoreThroughExtVectorComponentLValueENS0_6RValueENS0_6LValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(clang::CodeGen::RValue, clang::CodeGen::LValue, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction30EmitStoreThroughBitfieldLValueENS0_6RValueENS0_6LValueENS_8QualTypeEPPN4llvm5ValueE", "clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(clang::CodeGen::RValue, clang::CodeGen::LValue, clang::QualType, llvm::Value**)"},
-    {"_Z23EmitGlobalVarDeclLValueRN5clang7CodeGen15CodeGenFunctionEPKNS_4ExprEPKNS_7VarDeclE", "EmitGlobalVarDeclLValue(clang::CodeGen::CodeGenFunction&, clang::Expr const*, clang::VarDecl const*)"},
-    {"_Z20setObjCGCLValueClassRKN5clang10ASTContextEPKNS_4ExprERNS_7CodeGen6LValueE", "setObjCGCLValueClass(clang::ASTContext const&, clang::Expr const*, clang::CodeGen::LValue&)"},
-    {"_Z22EmitFunctionDeclLValueRN5clang7CodeGen15CodeGenFunctionEPKNS_4ExprEPKNS_12FunctionDeclE", "EmitFunctionDeclLValue(clang::CodeGen::CodeGenFunction&, clang::Expr const*, clang::FunctionDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitLValueForFieldEPN4llvm5ValueEPKNS_9FieldDeclEj", "clang::CodeGen::CodeGenFunction::EmitLValueForField(llvm::Value*, clang::FieldDecl const*, unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21EmitLValueForBitfieldEPN4llvm5ValueEPKNS_9FieldDeclEj", "clang::CodeGen::CodeGenFunction::EmitLValueForBitfield(llvm::Value*, clang::FieldDecl const*, unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction28EmitLValueForAnonRecordFieldEPN4llvm5ValueEPKNS_17IndirectFieldDeclEj", "clang::CodeGen::CodeGenFunction::EmitLValueForAnonRecordField(llvm::Value*, clang::IndirectFieldDecl const*, unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction32EmitLValueForFieldInitializationEPN4llvm5ValueEPKNS_9FieldDeclEj", "clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(llvm::Value*, clang::FieldDecl const*, unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitCallExprEPKNS_8CallExprENS0_15ReturnValueSlotE", "clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction8EmitCallENS_8QualTypeEPN4llvm5ValueENS0_15ReturnValueSlotENS_17ConstExprIteratorES7_PKNS_4DeclE", "clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, llvm::Value*, clang::CodeGen::ReturnValueSlot, clang::ConstExprIterator, clang::ConstExprIterator, clang::Decl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction33EmitPointerToDataMemberBinaryExprEPKNS_14BinaryOperatorE", "clang::CodeGen::CodeGenFunction::EmitPointerToDataMemberBinaryExpr(clang::BinaryOperator const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitIvarOffsetEPKNS_17ObjCInterfaceDeclEPKNS_12ObjCIvarDeclE", "clang::CodeGen::CodeGenFunction::EmitIvarOffset(clang::ObjCInterfaceDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitLValueForIvarENS_8QualTypeEPN4llvm5ValueEPKNS_12ObjCIvarDeclEj", "clang::CodeGen::CodeGenFunction::EmitLValueForIvar(clang::QualType, llvm::Value*, clang::ObjCIvarDecl const*, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_119SubobjectAdjustmentEE9push_backERKS2_", "llvm::SmallVectorImpl<(anonymous namespace)::SubobjectAdjustment>::push_back((anonymous namespace)::SubobjectAdjustment const&)"},
-    {"_Z24CreateReferenceTemporaryRN5clang7CodeGen15CodeGenFunctionENS_8QualTypeEPKNS_9NamedDeclE", "CreateReferenceTemporary(clang::CodeGen::CodeGenFunction&, clang::QualType, clang::NamedDecl const*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE17CreateInBoundsGEPIPPNS_5ValueEEES7_S7_T_S9_RKNS_5TwineE", "llvm::Value* llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateInBoundsGEP<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitCallArgsINS_17FunctionProtoTypeEEEvRN4llvm11SmallVectorISt4pairINS0_6RValueENS_8QualTypeEELj16EEEPKT_NS_17ConstExprIteratorESF_", "void clang::CodeGen::CodeGenFunction::EmitCallArgs<clang::FunctionProtoType>(llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u>&, clang::FunctionProtoType const*, clang::ConstExprIterator, clang::ConstExprIterator)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ExprENS1_7CodeGen6LValueENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::Expr const*, clang::CodeGen::LValue, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<clang::CodeGen::LValue> >::InsertIntoBucket(clang::Expr const* const&, clang::CodeGen::LValue const&, std::pair<clang::Expr const*, clang::CodeGen::LValue>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ExprENS1_7CodeGen6LValueENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::Expr const*, clang::CodeGen::LValue, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<clang::CodeGen::LValue> >::grow(unsigned int)"},
-    {"_ZN4llvm11SmallVectorIPNS_8ConstantELj4EEC2EjRKS2_", "llvm::SmallVector<llvm::Constant*, 4u>::SmallVector(unsigned int, llvm::Constant* const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11EmitAggExprEPKNS_4ExprENS0_12AggValueSlotEb", "clang::CodeGen::CodeGenFunction::EmitAggExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_114AggExprEmitterEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::AggExprEmitter, void>::Visit(clang::Stmt*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19EmitAggExprToLValueEPKNS_4ExprE", "clang::CodeGen::CodeGenFunction::EmitAggExprToLValue(clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitAggregateCopyEPN4llvm5ValueES4_NS_8QualTypeEb", "clang::CodeGen::CodeGenFunction::EmitAggregateCopy(llvm::Value*, llvm::Value*, clang::QualType, bool)"},
-    {"_ZN12_GLOBAL__N_114AggExprEmitter13VisitCallExprEPKN5clang8CallExprE", "(anonymous namespace)::AggExprEmitter::VisitCallExpr(clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114AggExprEmitter17EmitFinalDestCopyEPKN5clang4ExprENS1_7CodeGen6LValueEb", "(anonymous namespace)::AggExprEmitter::EmitFinalDestCopy(clang::Expr const*, clang::CodeGen::LValue, bool)"},
-    {"_ZN12_GLOBAL__N_114AggExprEmitter10EmitGCMoveEPKN5clang4ExprENS1_7CodeGen6RValueE", "(anonymous namespace)::AggExprEmitter::EmitGCMove(clang::Expr const*, clang::CodeGen::RValue)"},
-    {"_ZN12_GLOBAL__N_114AggExprEmitter26EmitInitializationToLValueEPN5clang4ExprENS1_7CodeGen6LValueENS1_8QualTypeE", "(anonymous namespace)::AggExprEmitter::EmitInitializationToLValue(clang::Expr*, clang::CodeGen::LValue, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_114AggExprEmitter30EmitNullInitializationToLValueEN5clang7CodeGen6LValueENS1_8QualTypeE", "(anonymous namespace)::AggExprEmitter::EmitNullInitializationToLValue(clang::CodeGen::LValue, clang::QualType)"},
-    {"_Z12isSimpleZeroPKN5clang4ExprERNS_7CodeGen15CodeGenFunctionE", "isSimpleZero(clang::Expr const*, clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN12_GLOBAL__N_114AggExprEmitter13VisitCastExprEPN5clang8CastExprE", "(anonymous namespace)::AggExprEmitter::VisitCastExpr(clang::CastExpr*)"},
-    {"_Z24GetNumNonZeroBytesInInitPKN5clang4ExprERNS_7CodeGen15CodeGenFunctionE", "GetNumNonZeroBytesInInit(clang::Expr const*, clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitCXXMemberCallEPKNS_13CXXMethodDeclEPN4llvm5ValueENS0_15ReturnValueSlotES7_S7_NS_17ConstExprIteratorES9_", "clang::CodeGen::CodeGenFunction::EmitCXXMemberCall(clang::CXXMethodDecl const*, llvm::Value*, clang::CodeGen::ReturnValueSlot, llvm::Value*, llvm::Value*, clang::ConstExprIterator, clang::ConstExprIterator)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21EmitCXXMemberCallExprEPKNS_17CXXMemberCallExprENS0_15ReturnValueSlotE", "clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(clang::CXXMemberCallExpr const*, clang::CodeGen::ReturnValueSlot)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction28EmitCXXMemberPointerCallExprEPKNS_17CXXMemberCallExprENS0_15ReturnValueSlotE", "clang::CodeGen::CodeGenFunction::EmitCXXMemberPointerCallExpr(clang::CXXMemberCallExpr const*, clang::CodeGen::ReturnValueSlot)"},
-    {"_Z34canDevirtualizeMemberFunctionCallsRN5clang10ASTContextEPKNS_4ExprEPKNS_13CXXMethodDeclE", "canDevirtualizeMemberFunctionCalls(clang::ASTContext&, clang::Expr const*, clang::CXXMethodDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction29EmitCXXOperatorMemberCallExprEPKNS_19CXXOperatorCallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotE", "clang::CodeGen::CodeGenFunction::EmitCXXOperatorMemberCallExpr(clang::CXXOperatorCallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20EmitCXXConstructExprEPKNS_16CXXConstructExprENS0_12AggValueSlotE", "clang::CodeGen::CodeGenFunction::EmitCXXConstructExpr(clang::CXXConstructExpr const*, clang::CodeGen::AggValueSlot)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26EmitSynthesizedCXXCopyCtorEPN4llvm5ValueES4_PKNS_4ExprE", "clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtor(llvm::Value*, llvm::Value*, clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction23EmitNewArrayInitializerEPKNS_10CXXNewExprEPN4llvm5ValueES7_", "clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(clang::CXXNewExpr const*, llvm::Value*, llvm::Value*)"},
-    {"_Z23StoreAnyExprIntoOneUnitRN5clang7CodeGen15CodeGenFunctionEPKNS_10CXXNewExprEPN4llvm5ValueE", "StoreAnyExprIntoOneUnit(clang::CodeGen::CodeGenFunction&, clang::CXXNewExpr const*, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitCXXNewExprEPKNS_10CXXNewExprE", "clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(clang::CXXNewExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitDeleteCallEPKNS_12FunctionDeclEPN4llvm5ValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitDeleteCall(clang::FunctionDecl const*, llvm::Value*, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitCXXDeleteExprEPKNS_13CXXDeleteExprE", "clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr(clang::CXXDeleteExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitCXXTypeidExprEPKNS_13CXXTypeidExprE", "clang::CodeGen::CodeGenFunction::EmitCXXTypeidExpr(clang::CXXTypeidExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitDynamicCastEPN4llvm5ValueEPKNS_18CXXDynamicCastExprE", "clang::CodeGen::CodeGenFunction::EmitDynamicCast(llvm::Value*, clang::CXXDynamicCastExpr const*)"},
-    {"_ZN12_GLOBAL__N_116CallObjectDeleteD1Ev", "(anonymous namespace)::CallObjectDelete::~CallObjectDelete()"},
-    {"_ZN12_GLOBAL__N_116CallObjectDeleteD0Ev", "(anonymous namespace)::CallObjectDelete::~CallObjectDelete()"},
-    {"_ZN12_GLOBAL__N_116CallObjectDelete4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallObjectDelete::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_115CallArrayDeleteD1Ev", "(anonymous namespace)::CallArrayDelete::~CallArrayDelete()"},
-    {"_ZN12_GLOBAL__N_115CallArrayDeleteD0Ev", "(anonymous namespace)::CallArrayDelete::~CallArrayDelete()"},
-    {"_ZN12_GLOBAL__N_115CallArrayDelete4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallArrayDelete::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_130CallDeleteDuringConditionalNewD1Ev", "(anonymous namespace)::CallDeleteDuringConditionalNew::~CallDeleteDuringConditionalNew()"},
-    {"_ZN12_GLOBAL__N_130CallDeleteDuringConditionalNewD0Ev", "(anonymous namespace)::CallDeleteDuringConditionalNew::~CallDeleteDuringConditionalNew()"},
-    {"_ZN12_GLOBAL__N_130CallDeleteDuringConditionalNew4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallDeleteDuringConditionalNew::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_119CallDeleteDuringNewD1Ev", "(anonymous namespace)::CallDeleteDuringNew::~CallDeleteDuringNew()"},
-    {"_ZN12_GLOBAL__N_119CallDeleteDuringNewD0Ev", "(anonymous namespace)::CallDeleteDuringNew::~CallDeleteDuringNew()"},
-    {"_ZN12_GLOBAL__N_119CallDeleteDuringNew4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallDeleteDuringNew::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitComplexExprEPKNS_4ExprEbb", "clang::CodeGen::CodeGenFunction::EmitComplexExpr(clang::Expr const*, bool, bool)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter5VisitEPN5clang4ExprE", "(anonymous namespace)::ComplexExprEmitter::Visit(clang::Expr*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction23EmitComplexExprIntoAddrEPKNS_4ExprEPN4llvm5ValueEb", "clang::CodeGen::CodeGenFunction::EmitComplexExprIntoAddr(clang::Expr const*, llvm::Value*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18StoreComplexToAddrESt4pairIPN4llvm5ValueES5_ES5_b", "clang::CodeGen::CodeGenFunction::StoreComplexToAddr(std::pair<llvm::Value*, llvm::Value*>, llvm::Value*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19LoadComplexFromAddrEPN4llvm5ValueEb", "clang::CodeGen::CodeGenFunction::LoadComplexFromAddr(llvm::Value*, bool)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter17EmitLoadOfComplexEPN4llvm5ValueEb", "(anonymous namespace)::ComplexExprEmitter::EmitLoadOfComplex(llvm::Value*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction27EmitComplexAssignmentLValueEPKNS_14BinaryOperatorE", "clang::CodeGen::CodeGenFunction::EmitComplexAssignmentLValue(clang::BinaryOperator const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction35EmitComplexCompoundAssignmentLValueEPKNS_22CompoundAssignOperatorE", "clang::CodeGen::CodeGenFunction::EmitComplexCompoundAssignmentLValue(clang::CompoundAssignOperator const*)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter10EmitBinMulERKNS0_9BinOpInfoE", "(anonymous namespace)::ComplexExprEmitter::EmitBinMul((anonymous namespace)::ComplexExprEmitter::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter10EmitBinDivERKNS0_9BinOpInfoE", "(anonymous namespace)::ComplexExprEmitter::EmitBinDiv((anonymous namespace)::ComplexExprEmitter::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter10EmitBinSubERKNS0_9BinOpInfoE", "(anonymous namespace)::ComplexExprEmitter::EmitBinSub((anonymous namespace)::ComplexExprEmitter::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter10EmitBinAddERKNS0_9BinOpInfoE", "(anonymous namespace)::ComplexExprEmitter::EmitBinAdd((anonymous namespace)::ComplexExprEmitter::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter24EmitCompoundAssignLValueEPKN5clang22CompoundAssignOperatorEMS0_FSt4pairIPN4llvm5ValueES8_ERKNS0_9BinOpInfoEERS9_", "(anonymous namespace)::ComplexExprEmitter::EmitCompoundAssignLValue(clang::CompoundAssignOperator const*, std::pair<llvm::Value*, llvm::Value*> ((anonymous namespace)::ComplexExprEmitter::*)((anonymous namespace)::ComplexExprEmitter::BinOpInfo const&), std::pair<llvm::Value*, llvm::Value*>&)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter24EmitComplexToComplexCastESt4pairIPN4llvm5ValueES4_EN5clang8QualTypeES7_", "(anonymous namespace)::ComplexExprEmitter::EmitComplexToComplexCast(std::pair<llvm::Value*, llvm::Value*>, clang::QualType, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter22EmitStoreThroughLValueESt4pairIPN4llvm5ValueES4_EN5clang7CodeGen6LValueE", "(anonymous namespace)::ComplexExprEmitter::EmitStoreThroughLValue(std::pair<llvm::Value*, llvm::Value*>, clang::CodeGen::LValue)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_118ComplexExprEmitterESt4pairIPN4llvm5ValueES6_EE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::ComplexExprEmitter, std::pair<llvm::Value*, llvm::Value*> >::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter9VisitExprEPN5clang4ExprE", "(anonymous namespace)::ComplexExprEmitter::VisitExpr(clang::Expr*)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter16EmitLoadOfLValueEPKN5clang4ExprE", "(anonymous namespace)::ComplexExprEmitter::EmitLoadOfLValue(clang::Expr const*)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter8EmitCastEN5clang8CastKindEPNS1_4ExprENS1_8QualTypeE", "(anonymous namespace)::ComplexExprEmitter::EmitCast(clang::CastKind, clang::Expr*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_118ComplexExprEmitter18EmitCompoundAssignEPKN5clang22CompoundAssignOperatorEMS0_FSt4pairIPN4llvm5ValueES8_ERKNS0_9BinOpInfoEE", "(anonymous namespace)::ComplexExprEmitter::EmitCompoundAssign(clang::CompoundAssignOperator const*, std::pair<llvm::Value*, llvm::Value*> ((anonymous namespace)::ComplexExprEmitter::*)((anonymous namespace)::ComplexExprEmitter::BinOpInfo const&))"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ExprESt4pairIPNS_5ValueES7_ENS_12DenseMapInfoIS4_EENS9_IS8_EEE16InsertIntoBucketERKS4_RKS8_PS5_IS4_S8_E", "llvm::DenseMap<clang::Expr const*, std::pair<llvm::Value*, llvm::Value*>, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<std::pair<llvm::Value*, llvm::Value*> > >::InsertIntoBucket(clang::Expr const* const&, std::pair<llvm::Value*, llvm::Value*> const&, std::pair<clang::Expr const*, std::pair<llvm::Value*, llvm::Value*> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ExprESt4pairIPNS_5ValueES7_ENS_12DenseMapInfoIS4_EENS9_IS8_EEE4growEj", "llvm::DenseMap<clang::Expr const*, std::pair<llvm::Value*, llvm::Value*>, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<std::pair<llvm::Value*, llvm::Value*> > >::grow(unsigned int)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateFNegEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateFNeg(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule16EmitConstantExprEPKNS_4ExprENS_8QualTypeEPNS0_15CodeGenFunctionE", "clang::CodeGen::CodeGenModule::EmitConstantExpr(clang::Expr const*, clang::QualType, clang::CodeGen::CodeGenFunction*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_116ConstExprEmitterEPN4llvm8ConstantEE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::ConstExprEmitter, llvm::Constant*>::Visit(clang::Stmt*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule24getMemberPointerConstantEPKNS_13UnaryOperatorE", "clang::CodeGen::CodeGenModule::getMemberPointerConstant(clang::UnaryOperator const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule16EmitNullConstantENS_8QualTypeE", "clang::CodeGen::CodeGenModule::EmitNullConstant(clang::QualType)"},
-    {"_Z16EmitNullConstantRN5clang7CodeGen13CodeGenModuleEPKNS_13CXXRecordDeclE", "EmitNullConstant(clang::CodeGen::CodeGenModule&, clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_116ConstExprEmitter21VisitCXXConstructExprEPN5clang16CXXConstructExprE", "(anonymous namespace)::ConstExprEmitter::VisitCXXConstructExpr(clang::CXXConstructExpr*)"},
-    {"_ZN12_GLOBAL__N_116ConstExprEmitter23EmitArrayInitializationEPN5clang12InitListExprE", "(anonymous namespace)::ConstExprEmitter::EmitArrayInitialization(clang::InitListExpr*)"},
-    {"_ZN12_GLOBAL__N_118ConstStructBuilder5BuildEPN5clang12InitListExprE", "(anonymous namespace)::ConstStructBuilder::Build(clang::InitListExpr*)"},
-    {"_ZN12_GLOBAL__N_118ConstStructBuilder21ConvertStructToPackedEv", "(anonymous namespace)::ConstStructBuilder::ConvertStructToPacked()"},
-    {"_ZN12_GLOBAL__N_118ConstStructBuilder13AppendPaddingEy", "(anonymous namespace)::ConstStructBuilder::AppendPadding(unsigned long long)"},
-    {"_ZNK12_GLOBAL__N_118ConstStructBuilder14getSizeInBytesEPKN4llvm8ConstantE", "(anonymous namespace)::ConstStructBuilder::getSizeInBytes(llvm::Constant const*) const"},
-    {"_ZN12_GLOBAL__N_116ConstExprEmitter13VisitCastExprEPN5clang8CastExprE", "(anonymous namespace)::ConstExprEmitter::VisitCastExpr(clang::CastExpr*)"},
-    {"_Z28FillInNullDataMemberPointersRN5clang7CodeGen13CodeGenModuleENS_8QualTypeERSt6vectorIPN4llvm8ConstantESaIS7_EEy", "FillInNullDataMemberPointers(clang::CodeGen::CodeGenModule&, clang::QualType, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >&, unsigned long long)"},
-    {"_ZNSt6vectorIPN4llvm8ConstantESaIS2_EEaSERKS4_", "std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >::operator=(std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEPNS_5ValueENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::Decl const*, llvm::Value*, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::Value*> >::InsertIntoBucket(clang::Decl const* const&, llvm::Value* const&, std::pair<clang::Decl const*, llvm::Value*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEPNS_5ValueENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::Decl const*, llvm::Value*, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitScalarExprEPKNS_4ExprEb", "clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20EmitScalarConversionEPN4llvm5ValueENS_8QualTypeES5_", "clang::CodeGen::CodeGenFunction::EmitScalarConversion(llvm::Value*, clang::QualType, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter20EmitScalarConversionEPN4llvm5ValueEN5clang8QualTypeES5_", "(anonymous namespace)::ScalarExprEmitter::EmitScalarConversion(llvm::Value*, clang::QualType, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction29EmitComplexToScalarConversionESt4pairIPN4llvm5ValueES5_ENS_8QualTypeES7_", "clang::CodeGen::CodeGenFunction::EmitComplexToScalarConversion(std::pair<llvm::Value*, llvm::Value*>, clang::QualType, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter29EmitComplexToScalarConversionESt4pairIPN4llvm5ValueES4_EN5clang8QualTypeES7_", "(anonymous namespace)::ScalarExprEmitter::EmitComplexToScalarConversion(std::pair<llvm::Value*, llvm::Value*>, clang::QualType, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction23EmitScalarPrePostIncDecEPKNS_13UnaryOperatorENS0_6LValueEbb", "clang::CodeGen::CodeGenFunction::EmitScalarPrePostIncDec(clang::UnaryOperator const*, clang::CodeGen::LValue, bool, bool)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter23EmitScalarPrePostIncDecEPKN5clang13UnaryOperatorENS1_7CodeGen6LValueEbb", "(anonymous namespace)::ScalarExprEmitter::EmitScalarPrePostIncDec(clang::UnaryOperator const*, clang::CodeGen::LValue, bool, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitObjCIsaExprEPKNS_11ObjCIsaExprE", "clang::CodeGen::CodeGenFunction::EmitObjCIsaExpr(clang::ObjCIsaExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction28EmitCompoundAssignmentLValueEPKNS_22CompoundAssignOperatorE", "clang::CodeGen::CodeGenFunction::EmitCompoundAssignmentLValue(clang::CompoundAssignOperator const*)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter24EmitCompoundAssignLValueEPKN5clang22CompoundAssignOperatorEMS0_FPN4llvm5ValueERKNS_9BinOpInfoEERS7_", "(anonymous namespace)::ScalarExprEmitter::EmitCompoundAssignLValue(clang::CompoundAssignOperator const*, llvm::Value* ((anonymous namespace)::ScalarExprEmitter::*)((anonymous namespace)::BinOpInfo const&), llvm::Value*&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitMulERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitMul((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitDivERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitDiv((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitRemERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitRem((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitAddERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitAdd((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitSubERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitSub((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitShlERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitShl((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitShrERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitShr((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitAndERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitAnd((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter7EmitXorERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitXor((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter6EmitOrERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitOr((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter24EmitOverflowCheckedBinOpERKNS_9BinOpInfoE", "(anonymous namespace)::ScalarExprEmitter::EmitOverflowCheckedBinOp((anonymous namespace)::BinOpInfo const&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter42EmitUndefinedBehaviorIntegerDivAndRemCheckERKNS_9BinOpInfoEPN4llvm5ValueEb", "(anonymous namespace)::ScalarExprEmitter::EmitUndefinedBehaviorIntegerDivAndRemCheck((anonymous namespace)::BinOpInfo const&, llvm::Value*, bool)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter31EmitAddConsiderOverflowBehaviorEPKN5clang13UnaryOperatorEPN4llvm5ValueES7_b", "(anonymous namespace)::ScalarExprEmitter::EmitAddConsiderOverflowBehavior(clang::UnaryOperator const*, llvm::Value*, llvm::Value*, bool)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter25EmitFloatToBoolConversionEPN4llvm5ValueE", "(anonymous namespace)::ScalarExprEmitter::EmitFloatToBoolConversion(llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter23EmitIntToBoolConversionEPN4llvm5ValueE", "(anonymous namespace)::ScalarExprEmitter::EmitIntToBoolConversion(llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter27EmitPointerToBoolConversionEPN4llvm5ValueE", "(anonymous namespace)::ScalarExprEmitter::EmitPointerToBoolConversion(llvm::Value*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_117ScalarExprEmitterEPN4llvm5ValueEE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter13VisitCallExprEPKN5clang8CallExprE", "(anonymous namespace)::ScalarExprEmitter::VisitCallExpr(clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter13EmitNullValueEN5clang8QualTypeE", "(anonymous namespace)::ScalarExprEmitter::EmitNullValue(clang::QualType)"},
-    {"_Z38isCheapEnoughToEvaluateUnconditionallyPKN5clang4ExprERNS_7CodeGen15CodeGenFunctionE", "isCheapEnoughToEvaluateUnconditionally(clang::Expr const*, clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter12EmitCastExprEPN5clang8CastExprE", "(anonymous namespace)::ScalarExprEmitter::EmitCastExpr(clang::CastExpr*)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter18EmitCompoundAssignEPKN5clang22CompoundAssignOperatorEMS0_FPN4llvm5ValueERKNS_9BinOpInfoEE", "(anonymous namespace)::ScalarExprEmitter::EmitCompoundAssign(clang::CompoundAssignOperator const*, llvm::Value* ((anonymous namespace)::ScalarExprEmitter::*)((anonymous namespace)::BinOpInfo const&))"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter10EmitBinOpsEPKN5clang14BinaryOperatorE", "(anonymous namespace)::ScalarExprEmitter::EmitBinOps(clang::BinaryOperator const*)"},
-    {"_ZN12_GLOBAL__N_117ScalarExprEmitter11EmitCompareEPKN5clang14BinaryOperatorEjjj", "(anonymous namespace)::ScalarExprEmitter::EmitCompare(clang::BinaryOperator const*, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateXorEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateXor(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateLShrEPNS_5ValueES6_RKNS_5TwineEb", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateLShr(llvm::Value*, llvm::Value*, llvm::Twine const&, bool)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateShlEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateShl(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateFSubEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateFSub(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateNegEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateNeg(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateSDivEPNS_5ValueES6_RKNS_5TwineEb", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateSDiv(llvm::Value*, llvm::Value*, llvm::Twine const&, bool)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE11CreateCall4EPNS_5ValueES6_S6_S6_S6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCall4(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateFAddEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateFAdd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateURemEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateURem(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateSRemEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateSRem(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateFDivEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateFDiv(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateUDivEPNS_5ValueES6_RKNS_5TwineEb", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateUDiv(llvm::Value*, llvm::Value*, llvm::Twine const&, bool)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateFCmpENS_7CmpInst9PredicateEPNS_5ValueES8_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateFCmp(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateNSWMulEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateNSWMul(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateFMulEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateFMul(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE19CreateInsertElementEPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateInsertElement(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE19CreateShuffleVectorEPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateShuffleVector(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE11CreateVAArgEPNS_5ValueEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateVAArg(llvm::Value*, llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE20CreateExtractElementEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateExtractElement(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateNotEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateNot(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE19CreateZExtOrBitCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateZExtOrBitCast(llvm::Value*, llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21EmitObjCStringLiteralEPKNS_17ObjCStringLiteralE", "clang::CodeGen::CodeGenFunction::EmitObjCStringLiteral(clang::ObjCStringLiteral const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20EmitObjCSelectorExprEPKNS_16ObjCSelectorExprE", "clang::CodeGen::CodeGenFunction::EmitObjCSelectorExpr(clang::ObjCSelectorExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20EmitObjCProtocolExprEPKNS_16ObjCProtocolExprE", "clang::CodeGen::CodeGenFunction::EmitObjCProtocolExpr(clang::ObjCProtocolExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19EmitObjCMessageExprEPKNS_15ObjCMessageExprENS0_15ReturnValueSlotE", "clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr const*, clang::CodeGen::ReturnValueSlot)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12LoadObjCSelfEv", "clang::CodeGen::CodeGenFunction::LoadObjCSelf()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15StartObjCMethodEPKNS_14ObjCMethodDeclEPKNS_17ObjCContainerDeclE", "clang::CodeGen::CodeGenFunction::StartObjCMethod(clang::ObjCMethodDecl const*, clang::ObjCContainerDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18GenerateObjCMethodEPKNS_14ObjCMethodDeclE", "clang::CodeGen::CodeGenFunction::GenerateObjCMethod(clang::ObjCMethodDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18GenerateObjCGetterEPNS_22ObjCImplementationDeclEPKNS_20ObjCPropertyImplDeclE", "clang::CodeGen::CodeGenFunction::GenerateObjCGetter(clang::ObjCImplementationDecl*, clang::ObjCPropertyImplDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16TypeOfSelfObjectEv", "clang::CodeGen::CodeGenFunction::TypeOfSelfObject()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25IvarTypeWithAggrGCObjectsENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::IvarTypeWithAggrGCObjects(clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18GenerateObjCSetterEPNS_22ObjCImplementationDeclEPKNS_20ObjCPropertyImplDeclE", "clang::CodeGen::CodeGenFunction::GenerateObjCSetter(clang::ObjCImplementationDecl*, clang::ObjCPropertyImplDecl const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction21IndirectObjCSetterArgERKNS0_14CGFunctionInfoE", "clang::CodeGen::CodeGenFunction::IndirectObjCSetterArg(clang::CodeGen::CGFunctionInfo const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26GenerateObjCCtorDtorMethodEPNS_22ObjCImplementationDeclEPNS_14ObjCMethodDeclEb", "clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod(clang::ObjCImplementationDecl*, clang::ObjCMethodDecl*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25EmitObjCPropertyRefLValueEPKNS_19ObjCPropertyRefExprE", "clang::CodeGen::CodeGenFunction::EmitObjCPropertyRefLValue(clang::ObjCPropertyRefExpr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction27EmitLoadOfPropertyRefLValueENS0_6LValueENS0_15ReturnValueSlotE", "clang::CodeGen::CodeGenFunction::EmitLoadOfPropertyRefLValue(clang::CodeGen::LValue, clang::CodeGen::ReturnValueSlot)"},
-    {"_Z24GenerateMessageSendSuperRN5clang7CodeGen15CodeGenFunctionENS0_15ReturnValueSlotENS_8QualTypeENS_8SelectorEPN4llvm5ValueERKNS6_11SmallVectorISt4pairINS0_6RValueES4_ELj16EEE", "GenerateMessageSendSuper(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, llvm::Value*, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction33EmitStoreThroughPropertyRefLValueENS0_6RValueENS0_6LValueE", "clang::CodeGen::CodeGenFunction::EmitStoreThroughPropertyRefLValue(clang::CodeGen::RValue, clang::CodeGen::LValue)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction25EmitObjCForCollectionStmtERKNS_21ObjCForCollectionStmtE", "clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(clang::ObjCForCollectionStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitObjCAtTryStmtERKNS_13ObjCAtTryStmtE", "clang::CodeGen::CodeGenFunction::EmitObjCAtTryStmt(clang::ObjCAtTryStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19EmitObjCAtThrowStmtERKNS_15ObjCAtThrowStmtE", "clang::CodeGen::CodeGenFunction::EmitObjCAtThrowStmt(clang::ObjCAtThrowStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26EmitObjCAtSynchronizedStmtERKNS_22ObjCAtSynchronizedStmtE", "clang::CodeGen::CodeGenFunction::EmitObjCAtSynchronizedStmt(clang::ObjCAtSynchronizedStmt const&)"},
-    {"_ZN5clang7CodeGen13CGObjCRuntimeD0Ev", "clang::CodeGen::CGObjCRuntime::~CGObjCRuntime()"},
-    {"_ZN5clang7CodeGen13CGObjCRuntimeD1Ev", "clang::CodeGen::CGObjCRuntime::~CGObjCRuntime()"},
-    {"_ZN5clang7CodeGen13CGObjCRuntimeD2Ev", "clang::CodeGen::CGObjCRuntime::~CGObjCRuntime()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitCallArgsINS_14ObjCMethodDeclEEEvRN4llvm11SmallVectorISt4pairINS0_6RValueENS_8QualTypeEELj16EEEPKT_NS_17ConstExprIteratorESF_", "void clang::CodeGen::CodeGenFunction::EmitCallArgs<clang::ObjCMethodDecl>(llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u>&, clang::ObjCMethodDecl const*, clang::ConstExprIterator, clang::ConstExprIterator)"},
-    {"_ZNK5clang9ValueDecl7getTypeEv", "clang::ValueDecl::getType() const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang7CodeGen15CodeGenFunction13BreakContinueELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::CodeGen::CodeGenFunction::BreakContinue, false>::grow(unsigned long)"},
-    {"_ZN5clang7CodeGen20CreateGNUObjCRuntimeERNS0_13CodeGenModuleE", "clang::CodeGen::CreateGNUObjCRuntime(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNUD1Ev", "(anonymous namespace)::CGObjCGNU::~CGObjCGNU()"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNUD0Ev", "(anonymous namespace)::CGObjCGNU::~CGObjCGNU()"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU18ModuleInitFunctionEv", "(anonymous namespace)::CGObjCGNU::ModuleInitFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU11GetSelectorERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEN5clang8SelectorEb", "(anonymous namespace)::CGObjCGNU::GetSelector(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::Selector, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU11GetSelectorERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCGNU::GetSelector(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU9GetEHTypeEN5clang8QualTypeE", "(anonymous namespace)::CGObjCGNU::GetEHType(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU22GenerateConstantStringEPKN5clang13StringLiteralE", "(anonymous namespace)::CGObjCGNU::GenerateConstantString(clang::StringLiteral const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU16GenerateCategoryEPKN5clang20ObjCCategoryImplDeclE", "(anonymous namespace)::CGObjCGNU::GenerateCategory(clang::ObjCCategoryImplDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU13GenerateClassEPKN5clang22ObjCImplementationDeclE", "(anonymous namespace)::CGObjCGNU::GenerateClass(clang::ObjCImplementationDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU19GenerateMessageSendERN5clang7CodeGen15CodeGenFunctionENS2_15ReturnValueSlotENS1_8QualTypeENS1_8SelectorEPN4llvm5ValueERKNS8_11SmallVectorISt4pairINS2_6RValueES6_ELj16EEEPKNS1_17ObjCInterfaceDeclEPKNS1_14ObjCMethodDeclE", "(anonymous namespace)::CGObjCGNU::GenerateMessageSend(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, llvm::Value*, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::ObjCInterfaceDecl const*, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU24GenerateMessageSendSuperERN5clang7CodeGen15CodeGenFunctionENS2_15ReturnValueSlotENS1_8QualTypeENS1_8SelectorEPKNS1_17ObjCInterfaceDeclEbPN4llvm5ValueEbRKNSB_11SmallVectorISt4pairINS2_6RValueES6_ELj16EEEPKNS1_14ObjCMethodDeclE", "(anonymous namespace)::CGObjCGNU::GenerateMessageSendSuper(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, clang::ObjCInterfaceDecl const*, bool, llvm::Value*, bool, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU19GenerateProtocolRefERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCGNU::GenerateProtocolRef(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU16GenerateProtocolEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCGNU::GenerateProtocol(clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU14GenerateMethodEPKN5clang14ObjCMethodDeclEPKNS1_17ObjCContainerDeclE", "(anonymous namespace)::CGObjCGNU::GenerateMethod(clang::ObjCMethodDecl const*, clang::ObjCContainerDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU22GetPropertyGetFunctionEv", "(anonymous namespace)::CGObjCGNU::GetPropertyGetFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU22GetPropertySetFunctionEv", "(anonymous namespace)::CGObjCGNU::GetPropertySetFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU20GetGetStructFunctionEv", "(anonymous namespace)::CGObjCGNU::GetGetStructFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU20GetSetStructFunctionEv", "(anonymous namespace)::CGObjCGNU::GetSetStructFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU8GetClassERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang17ObjCInterfaceDeclE", "(anonymous namespace)::CGObjCGNU::GetClass(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCInterfaceDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU27EnumerationMutationFunctionEv", "(anonymous namespace)::CGObjCGNU::EnumerationMutationFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU20EmitSynchronizedStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_22ObjCAtSynchronizedStmtE", "(anonymous namespace)::CGObjCGNU::EmitSynchronizedStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtSynchronizedStmt const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU11EmitTryStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_13ObjCAtTryStmtE", "(anonymous namespace)::CGObjCGNU::EmitTryStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtTryStmt const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU13EmitThrowStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_15ObjCAtThrowStmtE", "(anonymous namespace)::CGObjCGNU::EmitThrowStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtThrowStmt const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU16EmitObjCWeakReadERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "(anonymous namespace)::CGObjCGNU::EmitObjCWeakRead(clang::CodeGen::CodeGenFunction&, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU18EmitObjCWeakAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_", "(anonymous namespace)::CGObjCGNU::EmitObjCWeakAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU20EmitObjCGlobalAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_b", "(anonymous namespace)::CGObjCGNU::EmitObjCGlobalAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU18EmitObjCIvarAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_S7_", "(anonymous namespace)::CGObjCGNU::EmitObjCIvarAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU24EmitObjCStrongCastAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_", "(anonymous namespace)::CGObjCGNU::EmitObjCStrongCastAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU20EmitObjCValueForIvarERN5clang7CodeGen15CodeGenFunctionENS1_8QualTypeEPN4llvm5ValueEPKNS1_12ObjCIvarDeclEj", "(anonymous namespace)::CGObjCGNU::EmitObjCValueForIvar(clang::CodeGen::CodeGenFunction&, clang::QualType, llvm::Value*, clang::ObjCIvarDecl const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU14EmitIvarOffsetERN5clang7CodeGen15CodeGenFunctionEPKNS1_17ObjCInterfaceDeclEPKNS1_12ObjCIvarDeclE", "(anonymous namespace)::CGObjCGNU::EmitIvarOffset(clang::CodeGen::CodeGenFunction&, clang::ObjCInterfaceDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU24EmitGCMemmoveCollectableERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_S7_", "(anonymous namespace)::CGObjCGNU::EmitGCMemmoveCollectable(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU18BuildGCBlockLayoutERN5clang7CodeGen13CodeGenModuleERKNS2_11CGBlockInfoE", "(anonymous namespace)::CGObjCGNU::BuildGCBlockLayout(clang::CodeGen::CodeGenModule&, clang::CodeGen::CGBlockInfo const&)"},
-    {"_Z17FindIvarInterfaceRN5clang10ASTContextEPKNS_17ObjCInterfaceDeclEPKNS_12ObjCIvarDeclE", "FindIvarInterface(clang::ASTContext&, clang::ObjCInterfaceDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_ZN12_GLOBAL__N_112CallSyncExitD1Ev", "(anonymous namespace)::CallSyncExit::~CallSyncExit()"},
-    {"_ZN12_GLOBAL__N_112CallSyncExitD0Ev", "(anonymous namespace)::CallSyncExit::~CallSyncExit()"},
-    {"_ZN12_GLOBAL__N_112CallSyncExit4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallSyncExit::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU12EmitClassRefERKSs", "(anonymous namespace)::CGObjCGNU::EmitClassRef(std::string const&)"},
-    {"_Z19SymbolNameForMethodRKSsS0_S0_b", "SymbolNameForMethod(std::string const&, std::string const&, std::string const&, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU20GenerateProtocolListERKN4llvm15SmallVectorImplISsEE", "(anonymous namespace)::CGObjCGNU::GenerateProtocolList(llvm::SmallVectorImpl<std::string> const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU26GenerateProtocolMethodListERKN4llvm15SmallVectorImplIPNS1_8ConstantEEES7_", "(anonymous namespace)::CGObjCGNU::GenerateProtocolMethodList(llvm::SmallVectorImpl<llvm::Constant*> const&, llvm::SmallVectorImpl<llvm::Constant*> const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU18GenerateMethodListERKSsS2_RKN4llvm15SmallVectorImplIN5clang8SelectorEEERKNS4_IPNS3_8ConstantEEEb", "(anonymous namespace)::CGObjCGNU::GenerateMethodList(std::string const&, std::string const&, llvm::SmallVectorImpl<clang::Selector> const&, llvm::SmallVectorImpl<llvm::Constant*> const&, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU16GenerateIvarListERKN4llvm15SmallVectorImplIPNS1_8ConstantEEES7_S7_", "(anonymous namespace)::CGObjCGNU::GenerateIvarList(llvm::SmallVectorImpl<llvm::Constant*> const&, llvm::SmallVectorImpl<llvm::Constant*> const&, llvm::SmallVectorImpl<llvm::Constant*> const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU22GenerateClassStructureEPN4llvm8ConstantES3_jPKcS3_S3_S3_S3_S3_S3_S3_b", "(anonymous namespace)::CGObjCGNU::GenerateClassStructure(llvm::Constant*, llvm::Constant*, unsigned int, char const*, llvm::Constant*, llvm::Constant*, llvm::Constant*, llvm::Constant*, llvm::Constant*, llvm::Constant*, llvm::Constant*, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCGNU18ExportUniqueStringERKSsSs", "(anonymous namespace)::CGObjCGNU::ExportUniqueString(std::string const&, std::string)"},
-    {"_Z19MangleSelectorTypesRKSs", "MangleSelectorTypes(std::string const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE11CreateCall3EPNS_5ValueES6_S6_S6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCall3(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateLoadEPNS_5ValueEbRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateLoad(llvm::Value*, bool, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE11CreateCall2EPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCall2(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateCallEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCall(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE17CreateUnreachableEv", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateUnreachable()"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateInvokeIPPNS_5ValueEEEPNS_10InvokeInstES7_PNS_10BasicBlockESC_T_SD_RKNS_5TwineE", "llvm::InvokeInst* llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateInvoke<llvm::Value**>(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value**, llvm::Value**, llvm::Twine const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang7CanQualINS1_4TypeEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::CanQual<clang::Type>, false>::grow(unsigned long)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIN5clang7CodeGen6RValueENS2_8QualTypeEEE6insertIPKS6_EEPS6_SB_T_SC_", "std::pair<clang::CodeGen::RValue, clang::QualType>* llvm::SmallVectorImpl<std::pair<clang::CodeGen::RValue, clang::QualType> >::insert<std::pair<clang::CodeGen::RValue, clang::QualType> const*>(std::pair<clang::CodeGen::RValue, clang::QualType>*, std::pair<clang::CodeGen::RValue, clang::QualType> const*, std::pair<clang::CodeGen::RValue, clang::QualType> const*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateAllocaEPKNS_4TypeEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateAlloca(llvm::Type const*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateCallIPPNS_5ValueEEEPNS_8CallInstES7_T_SB_RKNS_5TwineE", "llvm::CallInst* llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCall<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIN5clang7CodeGen6RValueENS2_8QualTypeEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<clang::CodeGen::RValue, clang::QualType>, false>::grow(unsigned long)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE8CreateBrEPNS_10BasicBlockE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateBr(llvm::BasicBlock*)"},
-    {"_ZNSt3mapISt4pairISsSsEPN4llvm11GlobalAliasESt4lessIS1_ESaIS0_IKS1_S4_EEEixERS7_", "std::map<std::pair<std::string, std::string>, llvm::GlobalAlias*, std::less<std::pair<std::string, std::string> >, std::allocator<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> > >::operator[](std::pair<std::string, std::string> const&)"},
-    {"_ZNKSt4lessISt4pairISsSsEEclERKS1_S4_", "std::less<std::pair<std::string, std::string> >::operator()(std::pair<std::string, std::string> const&, std::pair<std::string, std::string> const&) const"},
-    {"_ZNSt8_Rb_treeISt4pairISsSsES0_IKS1_PN4llvm11GlobalAliasEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<std::pair<std::string, std::string>, std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*>, std::_Select1st<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> >, std::less<std::pair<std::string, std::string> >, std::allocator<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> >, std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairISsSsES0_IKS1_PN4llvm11GlobalAliasEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE9_M_insertEPSt18_Rb_tree_node_baseSE_RKS6_", "std::_Rb_tree<std::pair<std::string, std::string>, std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*>, std::_Select1st<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> >, std::less<std::pair<std::string, std::string> >, std::allocator<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairISsSsES0_IKS1_PN4llvm11GlobalAliasEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<std::pair<std::string, std::string>, std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*>, std::_Select1st<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> >, std::less<std::pair<std::string, std::string> >, std::allocator<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> > >::_M_insert_unique(std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> const&)"},
-    {"_ZN4llvm9StringMapIPNS_11GlobalAliasENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::GlobalAlias*>& llvm::StringMap<llvm::GlobalAlias*, llvm::MallocAllocator>::GetOrCreateValue<llvm::GlobalAlias*>(llvm::StringRef, llvm::GlobalAlias*)"},
-    {"_ZNSt6vectorIPN4llvm8ConstantESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS2_S4_EEEEvS9_T_SA_St20forward_iterator_tag", "void std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >::_M_range_insert<__gnu_cxx::__normal_iterator<llvm::Constant**, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >(__gnu_cxx::__normal_iterator<llvm::Constant**, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, __gnu_cxx::__normal_iterator<llvm::Constant**, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, __gnu_cxx::__normal_iterator<llvm::Constant**, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::forward_iterator_tag)"},
-    {"_ZNSt8_Rb_treeISt4pairISsSsES0_IKS1_PN4llvm11GlobalAliasEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<std::pair<std::string, std::string>, std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*>, std::_Select1st<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> >, std::less<std::pair<std::string, std::string> >, std::allocator<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<std::string, std::string> const, llvm::GlobalAlias*> >*)"},
-    {"_ZN5clang7CodeGen13CGObjCRuntime21ComputeIvarBaseOffsetERNS0_13CodeGenModuleEPKNS_17ObjCInterfaceDeclEPKNS_12ObjCIvarDeclE", "clang::CodeGen::CGObjCRuntime::ComputeIvarBaseOffset(clang::CodeGen::CodeGenModule&, clang::ObjCInterfaceDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_Z20LookupFieldBitOffsetRN5clang7CodeGen13CodeGenModuleEPKNS_17ObjCInterfaceDeclEPKNS_22ObjCImplementationDeclEPKNS_12ObjCIvarDeclE", "LookupFieldBitOffset(clang::CodeGen::CodeGenModule&, clang::ObjCInterfaceDecl const*, clang::ObjCImplementationDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_ZN5clang7CodeGen13CGObjCRuntime21ComputeIvarBaseOffsetERNS0_13CodeGenModuleEPKNS_22ObjCImplementationDeclEPKNS_12ObjCIvarDeclE", "clang::CodeGen::CGObjCRuntime::ComputeIvarBaseOffset(clang::CodeGen::CodeGenModule&, clang::ObjCImplementationDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_ZN5clang7CodeGen13CGObjCRuntime24EmitValueForIvarAtOffsetERNS0_15CodeGenFunctionEPKNS_17ObjCInterfaceDeclEPN4llvm5ValueEPKNS_12ObjCIvarDeclEjS9_", "clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(clang::CodeGen::CodeGenFunction&, clang::ObjCInterfaceDecl const*, llvm::Value*, clang::ObjCIvarDecl const*, unsigned int, llvm::Value*)"},
-    {"_ZN5clang7CodeGen20CreateMacObjCRuntimeERNS0_13CodeGenModuleE", "clang::CodeGen::CreateMacObjCRuntime(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN5clang7CodeGen33CreateMacNonFragileABIObjCRuntimeERNS0_13CodeGenModuleE", "clang::CodeGen::CreateMacNonFragileABIObjCRuntime(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMacC2ERN5clang7CodeGen13CodeGenModuleE", "(anonymous namespace)::CGObjCCommonMac::CGObjCCommonMac(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMacD1Ev", "(anonymous namespace)::CGObjCNonFragileABIMac::~CGObjCNonFragileABIMac()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMacD0Ev", "(anonymous namespace)::CGObjCNonFragileABIMac::~CGObjCNonFragileABIMac()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac18ModuleInitFunctionEv", "(anonymous namespace)::CGObjCNonFragileABIMac::ModuleInitFunction()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac11GetSelectorERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEN5clang8SelectorEb", "(anonymous namespace)::CGObjCNonFragileABIMac::GetSelector(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::Selector, bool)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac11GetSelectorERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GetSelector(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac9GetEHTypeEN5clang8QualTypeE", "(anonymous namespace)::CGObjCNonFragileABIMac::GetEHType(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac22GenerateConstantStringEPKN5clang13StringLiteralE", "(anonymous namespace)::CGObjCCommonMac::GenerateConstantString(clang::StringLiteral const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac16GenerateCategoryEPKN5clang20ObjCCategoryImplDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GenerateCategory(clang::ObjCCategoryImplDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac13GenerateClassEPKN5clang22ObjCImplementationDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GenerateClass(clang::ObjCImplementationDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac19GenerateMessageSendERN5clang7CodeGen15CodeGenFunctionENS2_15ReturnValueSlotENS1_8QualTypeENS1_8SelectorEPN4llvm5ValueERKNS8_11SmallVectorISt4pairINS2_6RValueES6_ELj16EEEPKNS1_17ObjCInterfaceDeclEPKNS1_14ObjCMethodDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GenerateMessageSend(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, llvm::Value*, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::ObjCInterfaceDecl const*, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac24GenerateMessageSendSuperERN5clang7CodeGen15CodeGenFunctionENS2_15ReturnValueSlotENS1_8QualTypeENS1_8SelectorEPKNS1_17ObjCInterfaceDeclEbPN4llvm5ValueEbRKNSB_11SmallVectorISt4pairINS2_6RValueES6_ELj16EEEPKNS1_14ObjCMethodDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GenerateMessageSendSuper(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, clang::ObjCInterfaceDecl const*, bool, llvm::Value*, bool, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac19GenerateProtocolRefERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GenerateProtocolRef(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac16GenerateProtocolEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCCommonMac::GenerateProtocol(clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac14GenerateMethodEPKN5clang14ObjCMethodDeclEPKNS1_17ObjCContainerDeclE", "(anonymous namespace)::CGObjCCommonMac::GenerateMethod(clang::ObjCMethodDecl const*, clang::ObjCContainerDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac22GetPropertyGetFunctionEv", "(anonymous namespace)::CGObjCNonFragileABIMac::GetPropertyGetFunction()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac22GetPropertySetFunctionEv", "(anonymous namespace)::CGObjCNonFragileABIMac::GetPropertySetFunction()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac20GetGetStructFunctionEv", "(anonymous namespace)::CGObjCNonFragileABIMac::GetGetStructFunction()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac20GetSetStructFunctionEv", "(anonymous namespace)::CGObjCNonFragileABIMac::GetSetStructFunction()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac8GetClassERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang17ObjCInterfaceDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GetClass(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCInterfaceDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac27EnumerationMutationFunctionEv", "(anonymous namespace)::CGObjCNonFragileABIMac::EnumerationMutationFunction()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac20EmitSynchronizedStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_22ObjCAtSynchronizedStmtE", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitSynchronizedStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtSynchronizedStmt const&)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac11EmitTryStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_13ObjCAtTryStmtE", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitTryStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtTryStmt const&)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac13EmitThrowStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_15ObjCAtThrowStmtE", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitThrowStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtThrowStmt const&)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac16EmitObjCWeakReadERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitObjCWeakRead(clang::CodeGen::CodeGenFunction&, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac18EmitObjCWeakAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitObjCWeakAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac20EmitObjCGlobalAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_b", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitObjCGlobalAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, bool)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac18EmitObjCIvarAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_S7_", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitObjCIvarAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac24EmitObjCStrongCastAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitObjCStrongCastAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac20EmitObjCValueForIvarERN5clang7CodeGen15CodeGenFunctionENS1_8QualTypeEPN4llvm5ValueEPKNS1_12ObjCIvarDeclEj", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitObjCValueForIvar(clang::CodeGen::CodeGenFunction&, clang::QualType, llvm::Value*, clang::ObjCIvarDecl const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac14EmitIvarOffsetERN5clang7CodeGen15CodeGenFunctionEPKNS1_17ObjCInterfaceDeclEPKNS1_12ObjCIvarDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitIvarOffset(clang::CodeGen::CodeGenFunction&, clang::ObjCInterfaceDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac24EmitGCMemmoveCollectableERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_S7_", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitGCMemmoveCollectable(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac18BuildGCBlockLayoutERN5clang7CodeGen13CodeGenModuleERKNS2_11CGBlockInfoE", "(anonymous namespace)::CGObjCCommonMac::BuildGCBlockLayout(clang::CodeGen::CodeGenModule&, clang::CodeGen::CGBlockInfo const&)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac17GetOrEmitProtocolEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GetOrEmitProtocol(clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac20GetOrEmitProtocolRefEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GetOrEmitProtocolRef(clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac28GetMethodDescriptionConstantEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GetMethodDescriptionConstant(clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac12GetClassNameEPN5clang14IdentifierInfoE", "(anonymous namespace)::CGObjCCommonMac::GetClassName(clang::IdentifierInfo*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac16EmitProtocolListEN4llvm5TwineEPKPN5clang16ObjCProtocolDeclES7_", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitProtocolList(llvm::Twine, clang::ObjCProtocolDecl* const*, clang::ObjCProtocolDecl* const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac14EmitMethodListEN4llvm5TwineEPKcRKSt6vectorIPNS1_8ConstantESaIS7_EE", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitMethodList(llvm::Twine, char const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac16EmitPropertyListEN4llvm5TwineEPKN5clang4DeclEPKNS3_17ObjCContainerDeclERKNS_21ObjCCommonTypesHelperE", "(anonymous namespace)::CGObjCCommonMac::EmitPropertyList(llvm::Twine, clang::Decl const*, clang::ObjCContainerDecl const*, (anonymous namespace)::ObjCCommonTypesHelper const&)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac15GetPropertyNameEPN5clang14IdentifierInfoE", "(anonymous namespace)::CGObjCCommonMac::GetPropertyName(clang::IdentifierInfo*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac21GetPropertyTypeStringEPKN5clang16ObjCPropertyDeclEPKNS1_4DeclE", "(anonymous namespace)::CGObjCCommonMac::GetPropertyTypeString(clang::ObjCPropertyDecl const*, clang::Decl const*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac22PushProtocolPropertiesERN4llvm11SmallPtrSetIPKN5clang14IdentifierInfoELj16EEERSt6vectorIPNS1_8ConstantESaISB_EEPKNS3_4DeclEPKNS3_16ObjCProtocolDeclERKNS_21ObjCCommonTypesHelperE", "(anonymous namespace)::CGObjCCommonMac::PushProtocolProperties(llvm::SmallPtrSet<clang::IdentifierInfo const*, 16u>&, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >&, clang::Decl const*, clang::ObjCProtocolDecl const*, (anonymous namespace)::ObjCCommonTypesHelper const&)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac17CreateMetadataVarEN4llvm5TwineEPNS1_8ConstantEPKcjb", "(anonymous namespace)::CGObjCCommonMac::CreateMetadataVar(llvm::Twine, llvm::Constant*, char const*, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac16GetMethodVarNameEN5clang8SelectorE", "(anonymous namespace)::CGObjCCommonMac::GetMethodVarName(clang::Selector)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac16GetMethodVarTypeEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCCommonMac::GetMethodVarType(clang::ObjCMethodDecl const*)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_115CGObjCCommonMac7GC_IVAREE9push_backERKS3_", "llvm::SmallVectorImpl<(anonymous namespace)::CGObjCCommonMac::GC_IVAR>::push_back((anonymous namespace)::CGObjCCommonMac::GC_IVAR const&)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac25BuildAggrIvarRecordLayoutEPKN5clang10RecordTypeEjbRb", "(anonymous namespace)::CGObjCCommonMac::BuildAggrIvarRecordLayout(clang::RecordType const*, unsigned int, bool, bool&)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac21BuildIvarLayoutBitmapERSs", "(anonymous namespace)::CGObjCCommonMac::BuildIvarLayoutBitmap(std::string&)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_115CGObjCCommonMac9SKIP_SCANEE9push_backERKS3_", "llvm::SmallVectorImpl<(anonymous namespace)::CGObjCCommonMac::SKIP_SCAN>::push_back((anonymous namespace)::CGObjCCommonMac::SKIP_SCAN const&)"},
-    {"_ZN4llvm25array_pod_sort_comparatorIN12_GLOBAL__N_115CGObjCCommonMac7GC_IVAREEEiPKvS5_", "int llvm::array_pod_sort_comparator<(anonymous namespace)::CGObjCCommonMac::GC_IVAR>(void const*, void const*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac19BuildAggrIvarLayoutEPKN5clang22ObjCImplementationDeclEPKN4llvm12StructLayoutEPKNS1_10RecordDeclERKNS5_15SmallVectorImplIPNS1_9FieldDeclEEEjbRb", "(anonymous namespace)::CGObjCCommonMac::BuildAggrIvarLayout(clang::ObjCImplementationDecl const*, llvm::StructLayout const*, clang::RecordDecl const*, llvm::SmallVectorImpl<clang::FieldDecl*> const&, unsigned int, bool, bool&)"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper22GcMemmoveCollectableFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::GcMemmoveCollectableFn()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac22ObjCIvarOffsetVariableEPKN5clang17ObjCInterfaceDeclEPKNS1_12ObjCIvarDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::ObjCIvarOffsetVariable(clang::ObjCInterfaceDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper23getGcAssignStrongCastFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getGcAssignStrongCastFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper17getGcAssignIvarFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getGcAssignIvarFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper19getGcAssignGlobalFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getGcAssignGlobalFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper24getGcAssignThreadLocalFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getGcAssignThreadLocalFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper17getGcAssignWeakFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getGcAssignWeakFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper15getGcReadWeakFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getGcReadWeakFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper19getExceptionThrowFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getExceptionThrowFn()"},
-    {"_ZN12_GLOBAL__N_116CallObjCEndCatchD1Ev", "(anonymous namespace)::CallObjCEndCatch::~CallObjCEndCatch()"},
-    {"_ZN12_GLOBAL__N_116CallObjCEndCatchD0Ev", "(anonymous namespace)::CallObjCEndCatch::~CallObjCEndCatch()"},
-    {"_ZN12_GLOBAL__N_116CallObjCEndCatch4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallObjCEndCatch::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper14getSyncEnterFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getSyncEnterFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper13getSyncExitFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getSyncExitFn()"},
-    {"_ZN12_GLOBAL__N_112CallSyncExitD1Ev", "(anonymous namespace)::CallSyncExit::~CallSyncExit()"},
-    {"_ZN12_GLOBAL__N_112CallSyncExitD0Ev", "(anonymous namespace)::CallSyncExit::~CallSyncExit()"},
-    {"_ZN12_GLOBAL__N_112CallSyncExit4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallSyncExit::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper24getEnumerationMutationFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getEnumerationMutationFn()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac14GetClassGlobalERKSs", "(anonymous namespace)::CGObjCNonFragileABIMac::GetClassGlobal(std::string const&)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac12EmitClassRefERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang17ObjCInterfaceDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitClassRef(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCInterfaceDecl const*)"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper15getCopyStructFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getCopyStructFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper16getSetPropertyFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getSetPropertyFn()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelper16getGetPropertyFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getGetPropertyFn()"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac24LegacyDispatchedSelectorEN5clang8SelectorE", "(anonymous namespace)::CGObjCNonFragileABIMac::LegacyDispatchedSelector(clang::Selector)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac21EmitLegacyMessageSendERN5clang7CodeGen15CodeGenFunctionENS2_15ReturnValueSlotENS1_8QualTypeEPN4llvm5ValueES9_S6_bRKNS7_11SmallVectorISt4pairINS2_6RValueES6_ELj16EEEPKNS1_14ObjCMethodDeclERKNS_21ObjCCommonTypesHelperE", "(anonymous namespace)::CGObjCCommonMac::EmitLegacyMessageSend(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, llvm::Value*, llvm::Value*, clang::QualType, bool, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::ObjCMethodDecl const*, (anonymous namespace)::ObjCCommonTypesHelper const&)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac12EmitSelectorERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEN5clang8SelectorEb", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitSelector(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::Selector, bool)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac15EmitMessageSendERN5clang7CodeGen15CodeGenFunctionENS2_15ReturnValueSlotENS1_8QualTypeENS1_8SelectorEPN4llvm5ValueES6_bRKNS8_11SmallVectorISt4pairINS2_6RValueES6_ELj16EEE", "(anonymous namespace)::CGObjCNonFragileABIMac::EmitMessageSend(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, llvm::Value*, clang::QualType, bool, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&)"},
-    {"_ZNK12_GLOBAL__N_121ObjCCommonTypesHelper21getMessageSendSuperFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getMessageSendSuperFn() const"},
-    {"_ZNK12_GLOBAL__N_121ObjCCommonTypesHelper16getMessageSendFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getMessageSendFn() const"},
-    {"_ZNK12_GLOBAL__N_121ObjCCommonTypesHelper22getMessageSendSuperFn2Ev", "(anonymous namespace)::ObjCCommonTypesHelper::getMessageSendSuperFn2() const"},
-    {"_ZNK12_GLOBAL__N_121ObjCCommonTypesHelper21getMessageSendFpretFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getMessageSendFpretFn() const"},
-    {"_ZNK12_GLOBAL__N_121ObjCCommonTypesHelper21getMessageSendStretFnEv", "(anonymous namespace)::ObjCCommonTypesHelper::getMessageSendStretFn() const"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac24BuildClassRoTInitializerEjjjPKN5clang22ObjCImplementationDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::BuildClassRoTInitializer(unsigned int, unsigned int, unsigned int, clang::ObjCImplementationDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac18BuildClassMetaDataERSsPN4llvm8ConstantES4_S4_b", "(anonymous namespace)::CGObjCNonFragileABIMac::BuildClassMetaData(std::string&, llvm::Constant*, llvm::Constant*, llvm::Constant*, bool)"},
-    {"_Z25hasObjCExceptionAttributeRN5clang10ASTContextEPKNS_17ObjCInterfaceDeclE", "hasObjCExceptionAttribute(clang::ASTContext&, clang::ObjCInterfaceDecl const*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac18GetInterfaceEHTypeEPKN5clang17ObjCInterfaceDeclEb", "(anonymous namespace)::CGObjCNonFragileABIMac::GetInterfaceEHType(clang::ObjCInterfaceDecl const*, bool)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac15BuildIvarLayoutEPKN5clang22ObjCImplementationDeclEb", "(anonymous namespace)::CGObjCCommonMac::BuildIvarLayout(clang::ObjCImplementationDecl const*, bool)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac17GetMethodConstantEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCNonFragileABIMac::GetMethodConstant(clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac16GetMethodVarTypeEPKN5clang9FieldDeclE", "(anonymous namespace)::CGObjCCommonMac::GetMethodVarType(clang::FieldDecl const*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac19GetMethodDefinitionEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCCommonMac::GetMethodDefinition(clang::ObjCMethodDecl const*)"},
-    {"_ZSt4sortIPN12_GLOBAL__N_115CGObjCCommonMac7GC_IVAREEvT_S4_", "void std::sort<(anonymous namespace)::CGObjCCommonMac::GC_IVAR*>((anonymous namespace)::CGObjCCommonMac::GC_IVAR*, (anonymous namespace)::CGObjCCommonMac::GC_IVAR*)"},
-    {"_ZSt16__introsort_loopIPN12_GLOBAL__N_115CGObjCCommonMac7GC_IVARElEvT_S4_T0_", "void std::__introsort_loop<(anonymous namespace)::CGObjCCommonMac::GC_IVAR*, long>((anonymous namespace)::CGObjCCommonMac::GC_IVAR*, (anonymous namespace)::CGObjCCommonMac::GC_IVAR*, long)"},
-    {"_ZSt16__insertion_sortIPN12_GLOBAL__N_115CGObjCCommonMac7GC_IVAREEvT_S4_", "void std::__insertion_sort<(anonymous namespace)::CGObjCCommonMac::GC_IVAR*>((anonymous namespace)::CGObjCCommonMac::GC_IVAR*, (anonymous namespace)::CGObjCCommonMac::GC_IVAR*)"},
-    {"_ZN12_GLOBAL__N_122CGObjCNonFragileABIMac18AddModuleClassListERKSt6vectorIPN4llvm11GlobalValueESaIS4_EEPKcSA_", "(anonymous namespace)::CGObjCNonFragileABIMac::AddModuleClassList(std::vector<llvm::GlobalValue*, std::allocator<llvm::GlobalValue*> > const&, char const*, char const*)"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMac13EmitImageInfoEv", "(anonymous namespace)::CGObjCCommonMac::EmitImageInfo()"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMacD2Ev", "(anonymous namespace)::CGObjCCommonMac::~CGObjCCommonMac()"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMacD1Ev", "(anonymous namespace)::CGObjCCommonMac::~CGObjCCommonMac()"},
-    {"_ZN12_GLOBAL__N_115CGObjCCommonMacD0Ev", "(anonymous namespace)::CGObjCCommonMac::~CGObjCCommonMac()"},
-    {"_ZN12_GLOBAL__N_121ObjCCommonTypesHelperC2ERN5clang7CodeGen13CodeGenModuleE", "(anonymous namespace)::ObjCCommonTypesHelper::ObjCCommonTypesHelper(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMacD1Ev", "(anonymous namespace)::CGObjCMac::~CGObjCMac()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMacD0Ev", "(anonymous namespace)::CGObjCMac::~CGObjCMac()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac18ModuleInitFunctionEv", "(anonymous namespace)::CGObjCMac::ModuleInitFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac11GetSelectorERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEN5clang8SelectorEb", "(anonymous namespace)::CGObjCMac::GetSelector(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::Selector, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac11GetSelectorERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCMac::GetSelector(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac9GetEHTypeEN5clang8QualTypeE", "(anonymous namespace)::CGObjCMac::GetEHType(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac16GenerateCategoryEPKN5clang20ObjCCategoryImplDeclE", "(anonymous namespace)::CGObjCMac::GenerateCategory(clang::ObjCCategoryImplDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac13GenerateClassEPKN5clang22ObjCImplementationDeclE", "(anonymous namespace)::CGObjCMac::GenerateClass(clang::ObjCImplementationDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac19GenerateMessageSendERN5clang7CodeGen15CodeGenFunctionENS2_15ReturnValueSlotENS1_8QualTypeENS1_8SelectorEPN4llvm5ValueERKNS8_11SmallVectorISt4pairINS2_6RValueES6_ELj16EEEPKNS1_17ObjCInterfaceDeclEPKNS1_14ObjCMethodDeclE", "(anonymous namespace)::CGObjCMac::GenerateMessageSend(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, llvm::Value*, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::ObjCInterfaceDecl const*, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac24GenerateMessageSendSuperERN5clang7CodeGen15CodeGenFunctionENS2_15ReturnValueSlotENS1_8QualTypeENS1_8SelectorEPKNS1_17ObjCInterfaceDeclEbPN4llvm5ValueEbRKNSB_11SmallVectorISt4pairINS2_6RValueES6_ELj16EEEPKNS1_14ObjCMethodDeclE", "(anonymous namespace)::CGObjCMac::GenerateMessageSendSuper(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, clang::ObjCInterfaceDecl const*, bool, llvm::Value*, bool, llvm::SmallVector<std::pair<clang::CodeGen::RValue, clang::QualType>, 16u> const&, clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac19GenerateProtocolRefERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCMac::GenerateProtocolRef(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac22GetPropertyGetFunctionEv", "(anonymous namespace)::CGObjCMac::GetPropertyGetFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac22GetPropertySetFunctionEv", "(anonymous namespace)::CGObjCMac::GetPropertySetFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac20GetGetStructFunctionEv", "(anonymous namespace)::CGObjCMac::GetGetStructFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac20GetSetStructFunctionEv", "(anonymous namespace)::CGObjCMac::GetSetStructFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac8GetClassERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang17ObjCInterfaceDeclE", "(anonymous namespace)::CGObjCMac::GetClass(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCInterfaceDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac27EnumerationMutationFunctionEv", "(anonymous namespace)::CGObjCMac::EnumerationMutationFunction()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac20EmitSynchronizedStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_22ObjCAtSynchronizedStmtE", "(anonymous namespace)::CGObjCMac::EmitSynchronizedStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtSynchronizedStmt const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac11EmitTryStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_13ObjCAtTryStmtE", "(anonymous namespace)::CGObjCMac::EmitTryStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtTryStmt const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac13EmitThrowStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_15ObjCAtThrowStmtE", "(anonymous namespace)::CGObjCMac::EmitThrowStmt(clang::CodeGen::CodeGenFunction&, clang::ObjCAtThrowStmt const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac16EmitObjCWeakReadERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "(anonymous namespace)::CGObjCMac::EmitObjCWeakRead(clang::CodeGen::CodeGenFunction&, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac18EmitObjCWeakAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_", "(anonymous namespace)::CGObjCMac::EmitObjCWeakAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac20EmitObjCGlobalAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_b", "(anonymous namespace)::CGObjCMac::EmitObjCGlobalAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac18EmitObjCIvarAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_S7_", "(anonymous namespace)::CGObjCMac::EmitObjCIvarAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac24EmitObjCStrongCastAssignERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_", "(anonymous namespace)::CGObjCMac::EmitObjCStrongCastAssign(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac20EmitObjCValueForIvarERN5clang7CodeGen15CodeGenFunctionENS1_8QualTypeEPN4llvm5ValueEPKNS1_12ObjCIvarDeclEj", "(anonymous namespace)::CGObjCMac::EmitObjCValueForIvar(clang::CodeGen::CodeGenFunction&, clang::QualType, llvm::Value*, clang::ObjCIvarDecl const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac14EmitIvarOffsetERN5clang7CodeGen15CodeGenFunctionEPKNS1_17ObjCInterfaceDeclEPKNS1_12ObjCIvarDeclE", "(anonymous namespace)::CGObjCMac::EmitIvarOffset(clang::CodeGen::CodeGenFunction&, clang::ObjCInterfaceDecl const*, clang::ObjCIvarDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac24EmitGCMemmoveCollectableERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_S7_", "(anonymous namespace)::CGObjCMac::EmitGCMemmoveCollectable(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac17GetOrEmitProtocolEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCMac::GetOrEmitProtocol(clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac20GetOrEmitProtocolRefEPKN5clang16ObjCProtocolDeclE", "(anonymous namespace)::CGObjCMac::GetOrEmitProtocolRef(clang::ObjCProtocolDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac28GetMethodDescriptionConstantEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCMac::GetMethodDescriptionConstant(clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac16EmitProtocolListEN4llvm5TwineEPKPN5clang16ObjCProtocolDeclES7_", "(anonymous namespace)::CGObjCMac::EmitProtocolList(llvm::Twine, clang::ObjCProtocolDecl* const*, clang::ObjCProtocolDecl* const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac18EmitMethodDescListEN4llvm5TwineEPKcRKSt6vectorIPNS1_8ConstantESaIS7_EE", "(anonymous namespace)::CGObjCMac::EmitMethodDescList(llvm::Twine, char const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac25EmitTryOrSynchronizedStmtERN5clang7CodeGen15CodeGenFunctionERKNS1_4StmtE", "(anonymous namespace)::CGObjCMac::EmitTryOrSynchronizedStmt(clang::CodeGen::CodeGenFunction&, clang::Stmt const&)"},
-    {"_ZN12_GLOBAL__N_115ObjCTypesHelper22getExceptionTryEnterFnEv", "(anonymous namespace)::ObjCTypesHelper::getExceptionTryEnterFn()"},
-    {"_ZN12_GLOBAL__N_115ObjCTypesHelper11getSetJmpFnEv", "(anonymous namespace)::ObjCTypesHelper::getSetJmpFn()"},
-    {"_ZN12_GLOBAL__N_115ObjCTypesHelper21getExceptionExtractFnEv", "(anonymous namespace)::ObjCTypesHelper::getExceptionExtractFn()"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac12EmitClassRefERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEPKN5clang17ObjCInterfaceDeclE", "(anonymous namespace)::CGObjCMac::EmitClassRef(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::ObjCInterfaceDecl const*)"},
-    {"_ZN12_GLOBAL__N_121PerformFragileFinallyD1Ev", "(anonymous namespace)::PerformFragileFinally::~PerformFragileFinally()"},
-    {"_ZN12_GLOBAL__N_121PerformFragileFinallyD0Ev", "(anonymous namespace)::PerformFragileFinally::~PerformFragileFinally()"},
-    {"_ZN12_GLOBAL__N_121PerformFragileFinally4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::PerformFragileFinally::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac12EmitSelectorERN4llvm9IRBuilderILb0ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb0EEEEEN5clang8SelectorEb", "(anonymous namespace)::CGObjCMac::EmitSelector(llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >&, clang::Selector, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac17GetMethodConstantEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::CGObjCMac::GetMethodConstant(clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac12EmitIvarListEPKN5clang22ObjCImplementationDeclEb", "(anonymous namespace)::CGObjCMac::EmitIvarList(clang::ObjCImplementationDecl const*, bool)"},
-    {"_ZN12_GLOBAL__N_19CGObjCMac14EmitMethodListEN4llvm5TwineEPKcRKSt6vectorIPNS1_8ConstantESaIS7_EE", "(anonymous namespace)::CGObjCMac::EmitMethodList(llvm::Twine, char const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS_14GlobalVariableENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::IdentifierInfo*, llvm::GlobalVariable*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::InsertIntoBucket(clang::IdentifierInfo* const&, llvm::GlobalVariable* const&, std::pair<clang::IdentifierInfo*, llvm::GlobalVariable*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS_14GlobalVariableENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, llvm::GlobalVariable*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::grow(unsigned int)"},
-    {"_ZN4llvm9StringMapIPNS_14GlobalVariableENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::GlobalVariable*>& llvm::StringMap<llvm::GlobalVariable*, llvm::MallocAllocator>::GetOrCreateValue<llvm::GlobalVariable*>(llvm::StringRef, llvm::GlobalVariable*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEPNS_14GlobalVariableENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<clang::Selector, llvm::GlobalVariable*, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::InsertIntoBucket(clang::Selector const&, llvm::GlobalVariable* const&, std::pair<clang::Selector, llvm::GlobalVariable*>*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEPNS_14GlobalVariableENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<clang::Selector, llvm::GlobalVariable*, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang9FieldDeclEE6appendINS1_11DeclContext22specific_decl_iteratorIS2_EEEEvT_S9_", "void llvm::SmallVectorImpl<clang::FieldDecl*>::append<clang::DeclContext::specific_decl_iterator<clang::FieldDecl> >(clang::DeclContext::specific_decl_iterator<clang::FieldDecl>, clang::DeclContext::specific_decl_iterator<clang::FieldDecl>)"},
-    {"_ZN4llvm8DenseMapIPKN5clang14ObjCMethodDeclEPNS_8FunctionENS_12DenseMapInfoIS4_EENS7_IS6_EEE6insertERKSt4pairIS4_S6_E", "llvm::DenseMap<clang::ObjCMethodDecl const*, llvm::Function*, llvm::DenseMapInfo<clang::ObjCMethodDecl const*>, llvm::DenseMapInfo<llvm::Function*> >::insert(std::pair<clang::ObjCMethodDecl const*, llvm::Function*> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang14ObjCMethodDeclEPNS_8FunctionENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::ObjCMethodDecl const*, llvm::Function*, llvm::DenseMapInfo<clang::ObjCMethodDecl const*>, llvm::DenseMapInfo<llvm::Function*> >::InsertIntoBucket(clang::ObjCMethodDecl const* const&, llvm::Function* const&, std::pair<clang::ObjCMethodDecl const*, llvm::Function*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang14ObjCMethodDeclEPNS_8FunctionENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::ObjCMethodDecl const*, llvm::Function*, llvm::DenseMapInfo<clang::ObjCMethodDecl const*>, llvm::DenseMapInfo<llvm::Function*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEcNS_12DenseMapInfoIS3_EENS4_IcEEE6insertERKSt4pairIS3_cE", "llvm::DenseMap<clang::IdentifierInfo*, char, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<char> >::insert(std::pair<clang::IdentifierInfo*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEcNS_12DenseMapInfoIS3_EENS4_IcEEE16InsertIntoBucketERKS3_RKcPSt4pairIS3_cE", "llvm::DenseMap<clang::IdentifierInfo*, char, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(clang::IdentifierInfo* const&, char const&, std::pair<clang::IdentifierInfo*, char>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEcNS_12DenseMapInfoIS3_EENS4_IcEEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, char, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm9SetVectorISsSt6vectorISsSaISsEENS_8SmallSetISsLj16EEEED2Ev", "llvm::SetVector<std::string, std::vector<std::string, std::allocator<std::string> >, llvm::SmallSet<std::string, 16u> >::~SetVector()"},
-    {"_ZNSt6vectorIPN5clang14IdentifierInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::IdentifierInfo*, std::allocator<clang::IdentifierInfo*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::IdentifierInfo**, std::vector<clang::IdentifierInfo*, std::allocator<clang::IdentifierInfo*> > >, clang::IdentifierInfo* const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateGEPIPPNS_5ValueEEES7_S7_T_S9_RKNS_5TwineE", "llvm::Value* llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateGEP<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&)"},
-    {"_ZN4llvm8SmallSetISsLj16EE6insertERKSs", "llvm::SmallSet<std::string, 16u>::insert(std::string const&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule23GetAddrOfRTTIDescriptorENS_8QualTypeEb", "clang::CodeGen::CodeGenModule::GetAddrOfRTTIDescriptor(clang::QualType, bool)"},
-    {"_ZN12_GLOBAL__N_111RTTIBuilder13BuildTypeInfoEN5clang8QualTypeEb", "(anonymous namespace)::RTTIBuilder::BuildTypeInfo(clang::QualType, bool)"},
-    {"_ZN5clang7CodeGen13CodeGenModule29EmitFundamentalRTTIDescriptorENS_8QualTypeE", "clang::CodeGen::CodeGenModule::EmitFundamentalRTTIDescriptor(clang::QualType)"},
-    {"_ZN5clang7CodeGen13CodeGenModule30EmitFundamentalRTTIDescriptorsEv", "clang::CodeGen::CodeGenModule::EmitFundamentalRTTIDescriptors()"},
-    {"_Z18getTypeInfoLinkageRN5clang7CodeGen13CodeGenModuleENS_8QualTypeE", "getTypeInfoLinkage(clang::CodeGen::CodeGenModule&, clang::QualType)"},
-    {"_Z23CanUseSingleInheritancePKN5clang13CXXRecordDeclE", "CanUseSingleInheritance(clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_111RTTIBuilder20BuildPointerTypeInfoEN5clang8QualTypeE", "(anonymous namespace)::RTTIBuilder::BuildPointerTypeInfo(clang::QualType)"},
-    {"_Z27ContainsIncompleteClassTypeN5clang8QualTypeE", "ContainsIncompleteClassType(clang::QualType)"},
-    {"_Z28ComputeVMIClassTypeInfoFlagsPKN5clang16CXXBaseSpecifierERN12_GLOBAL__N_19SeenBasesE", "ComputeVMIClassTypeInfoFlags(clang::CXXBaseSpecifier const*, (anonymous namespace)::SeenBases&)"},
-    {"_ZN5clang7CodeGen14CGBitFieldInfo8MakeInfoERNS0_12CodeGenTypesEPKNS_9FieldDeclEyyyj", "clang::CodeGen::CGBitFieldInfo::MakeInfo(clang::CodeGen::CodeGenTypes&, clang::FieldDecl const*, unsigned long long, unsigned long long, unsigned long long, unsigned int)"},
-    {"_ZN5clang7CodeGen14CGBitFieldInfo8MakeInfoERNS0_12CodeGenTypesEPKNS_9FieldDeclEyy", "clang::CodeGen::CGBitFieldInfo::MakeInfo(clang::CodeGen::CodeGenTypes&, clang::FieldDecl const*, unsigned long long, unsigned long long)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes19ComputeRecordLayoutEPKNS_10RecordDeclE", "clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*)"},
-    {"_ZNK5clang7CodeGen14CGRecordLayout4dumpEv", "clang::CodeGen::CGRecordLayout::dump() const"},
-    {"_ZNK5clang7CodeGen14CGRecordLayout5printERN4llvm11raw_ostreamE", "clang::CodeGen::CGRecordLayout::print(llvm::raw_ostream&) const"},
-    {"_ZNK5clang7CodeGen14CGBitFieldInfo5printERN4llvm11raw_ostreamE", "clang::CodeGen::CGBitFieldInfo::print(llvm::raw_ostream&) const"},
-    {"_ZNK5clang7CodeGen14CGBitFieldInfo4dumpEv", "clang::CodeGen::CGBitFieldInfo::dump() const"},
-    {"_ZN4llvm25array_pod_sort_comparatorISt4pairIjPKN5clang7CodeGen14CGBitFieldInfoEEEEiPKvS9_", "int llvm::array_pod_sort_comparator<std::pair<unsigned int, clang::CodeGen::CGBitFieldInfo const*> >(void const*, void const*)"},
-    {"_ZN12_GLOBAL__N_121CGRecordLayoutBuilder12LayoutFieldsEPKN5clang10RecordDeclE", "(anonymous namespace)::CGRecordLayoutBuilder::LayoutFields(clang::RecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_121CGRecordLayoutBuilder18LayoutVirtualBasesEPKN5clang13CXXRecordDeclERKNS1_15ASTRecordLayoutE", "(anonymous namespace)::CGRecordLayoutBuilder::LayoutVirtualBases(clang::CXXRecordDecl const*, clang::ASTRecordLayout const&)"},
-    {"_ZN12_GLOBAL__N_121CGRecordLayoutBuilder17LayoutVirtualBaseEPKN5clang13CXXRecordDeclEy", "(anonymous namespace)::CGRecordLayoutBuilder::LayoutVirtualBase(clang::CXXRecordDecl const*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_121CGRecordLayoutBuilder20LayoutNonVirtualBaseEPKN5clang13CXXRecordDeclEy", "(anonymous namespace)::CGRecordLayoutBuilder::LayoutNonVirtualBase(clang::CXXRecordDecl const*, unsigned long long)"},
-    {"_ZNSt6vectorISt4pairIjPKN5clang7CodeGen14CGBitFieldInfoEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<std::pair<unsigned int, clang::CodeGen::CGBitFieldInfo const*>, std::allocator<std::pair<unsigned int, clang::CodeGen::CGBitFieldInfo const*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int, clang::CodeGen::CGBitFieldInfo const*>*, std::vector<std::pair<unsigned int, clang::CodeGen::CGBitFieldInfo const*>, std::allocator<std::pair<unsigned int, clang::CodeGen::CGBitFieldInfo const*> > > >, std::pair<unsigned int, clang::CodeGen::CGBitFieldInfo const*> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9FieldDeclENS1_7CodeGen14CGBitFieldInfoENS_12DenseMapInfoIS4_EENS7_IS6_EEE6insertERKSt4pairIS4_S6_E", "llvm::DenseMap<clang::FieldDecl const*, clang::CodeGen::CGBitFieldInfo, llvm::DenseMapInfo<clang::FieldDecl const*>, llvm::DenseMapInfo<clang::CodeGen::CGBitFieldInfo> >::insert(std::pair<clang::FieldDecl const*, clang::CodeGen::CGBitFieldInfo> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9FieldDeclENS1_7CodeGen14CGBitFieldInfoENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::FieldDecl const*, clang::CodeGen::CGBitFieldInfo, llvm::DenseMapInfo<clang::FieldDecl const*>, llvm::DenseMapInfo<clang::CodeGen::CGBitFieldInfo> >::InsertIntoBucket(clang::FieldDecl const* const&, clang::CodeGen::CGBitFieldInfo const&, std::pair<clang::FieldDecl const*, clang::CodeGen::CGBitFieldInfo>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9FieldDeclENS1_7CodeGen14CGBitFieldInfoENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::FieldDecl const*, clang::CodeGen::CGBitFieldInfo, llvm::DenseMapInfo<clang::FieldDecl const*>, llvm::DenseMapInfo<clang::CodeGen::CGBitFieldInfo> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9FieldDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE6insertERKSt4pairIS4_jE", "llvm::DenseMap<clang::FieldDecl const*, unsigned int, llvm::DenseMapInfo<clang::FieldDecl const*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<clang::FieldDecl const*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9FieldDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::FieldDecl const*, unsigned int, llvm::DenseMapInfo<clang::FieldDecl const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::FieldDecl const* const&, unsigned int const&, std::pair<clang::FieldDecl const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9FieldDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::FieldDecl const*, unsigned int, llvm::DenseMapInfo<clang::FieldDecl const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE6insertERKSt4pairIS4_jE", "llvm::DenseMap<clang::CXXRecordDecl const*, unsigned int, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<clang::CXXRecordDecl const*, unsigned int> const&)"},
-    {"_ZN5clang7CodeGen14CGRecordLayoutC2EPKN4llvm10StructTypeES5_b", "clang::CodeGen::CGRecordLayout::CGRecordLayout(llvm::StructType const*, llvm::StructType const*, bool)"},
-    {"_ZNSt6vectorIPKN4llvm4TypeESaIS3_EEaSERKS5_", "std::vector<llvm::Type const*, std::allocator<llvm::Type const*> >::operator=(std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPKN5clang9FieldDeclENS2_7CodeGen14CGBitFieldInfoEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<clang::FieldDecl const*, clang::CodeGen::CGBitFieldInfo>, false>::grow(unsigned long)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13EmitStopPointEPKNS_4StmtE", "clang::CodeGen::CodeGenFunction::EmitStopPoint(clang::Stmt const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction8EmitStmtEPKNS_4StmtE", "clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitSimpleStmtEPKNS_4StmtE", "clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20EmitIndirectGotoStmtERKNS_16IndirectGotoStmtE", "clang::CodeGen::CodeGenFunction::EmitIndirectGotoStmt(clang::IndirectGotoStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction10EmitIfStmtERKNS_6IfStmtE", "clang::CodeGen::CodeGenFunction::EmitIfStmt(clang::IfStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13EmitWhileStmtERKNS_9WhileStmtE", "clang::CodeGen::CodeGenFunction::EmitWhileStmt(clang::WhileStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction10EmitDoStmtERKNS_6DoStmtE", "clang::CodeGen::CodeGenFunction::EmitDoStmt(clang::DoStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11EmitForStmtERKNS_7ForStmtE", "clang::CodeGen::CodeGenFunction::EmitForStmt(clang::ForStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitReturnStmtERKNS_10ReturnStmtE", "clang::CodeGen::CodeGenFunction::EmitReturnStmt(clang::ReturnStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14EmitSwitchStmtERKNS_10SwitchStmtE", "clang::CodeGen::CodeGenFunction::EmitSwitchStmt(clang::SwitchStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11EmitAsmStmtERKNS_7AsmStmtE", "clang::CodeGen::CodeGenFunction::EmitAsmStmt(clang::AsmStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitCompoundStmtERKNS_12CompoundStmtEbNS0_12AggValueSlotE", "clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitDeclStmtERKNS_8DeclStmtE", "clang::CodeGen::CodeGenFunction::EmitDeclStmt(clang::DeclStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13EmitLabelStmtERKNS_9LabelStmtE", "clang::CodeGen::CodeGenFunction::EmitLabelStmt(clang::LabelStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitGotoStmtERKNS_8GotoStmtE", "clang::CodeGen::CodeGenFunction::EmitGotoStmt(clang::GotoStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13EmitBreakStmtERKNS_9BreakStmtE", "clang::CodeGen::CodeGenFunction::EmitBreakStmt(clang::BreakStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitContinueStmtERKNS_12ContinueStmtE", "clang::CodeGen::CodeGenFunction::EmitContinueStmt(clang::ContinueStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitDefaultStmtERKNS_11DefaultStmtE", "clang::CodeGen::CodeGenFunction::EmitDefaultStmt(clang::DefaultStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitCaseStmtERKNS_8CaseStmtE", "clang::CodeGen::CodeGenFunction::EmitCaseStmt(clang::CaseStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction9EmitLabelERKNS_9LabelStmtE", "clang::CodeGen::CodeGenFunction::EmitLabel(clang::LabelStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24SimplifyForwardingBlocksEPN4llvm10BasicBlockE", "clang::CodeGen::CodeGenFunction::SimplifyForwardingBlocks(llvm::BasicBlock*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction9EmitBlockEPN4llvm10BasicBlockEb", "clang::CodeGen::CodeGenFunction::EmitBlock(llvm::BasicBlock*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction10EmitBranchEPN4llvm10BasicBlockE", "clang::CodeGen::CodeGenFunction::EmitBranch(llvm::BasicBlock*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction19getJumpDestForLabelEPKNS_9LabelStmtE", "clang::CodeGen::CodeGenFunction::getJumpDestForLabel(clang::LabelStmt const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitReturnOfRValueENS0_6RValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitReturnOfRValue(clang::CodeGen::RValue, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17EmitCaseStmtRangeERKNS_8CaseStmtE", "clang::CodeGen::CodeGenFunction::EmitCaseStmtRange(clang::CaseStmt const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction18EmitAsmInputLValueERKNS_7AsmStmtERKNS_10TargetInfo14ConstraintInfoENS0_6LValueENS_8QualTypeERSs", "clang::CodeGen::CodeGenFunction::EmitAsmInputLValue(clang::AsmStmt const&, clang::TargetInfo::ConstraintInfo const&, clang::CodeGen::LValue, clang::QualType, std::string&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12EmitAsmInputERKNS_7AsmStmtERKNS_10TargetInfo14ConstraintInfoEPKNS_4ExprERSs", "clang::CodeGen::CodeGenFunction::EmitAsmInput(clang::AsmStmt const&, clang::TargetInfo::ConstraintInfo const&, clang::Expr const*, std::string&)"},
-    {"_Z18SimplifyConstraintPKcRKN5clang10TargetInfoEPN4llvm15SmallVectorImplINS2_14ConstraintInfoEEE", "SimplifyConstraint(char const*, clang::TargetInfo const&, llvm::SmallVectorImpl<clang::TargetInfo::ConstraintInfo>*)"},
-    {"_Z22AddVariableConstraintsRKSsRKN5clang4ExprERKNS1_10TargetInfoERNS1_7CodeGen13CodeGenModuleERKNS1_7AsmStmtE", "AddVariableConstraints(std::string const&, clang::Expr const&, clang::TargetInfo const&, clang::CodeGen::CodeGenModule&, clang::AsmStmt const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateSwitchEPNS_5ValueEPNS_10BasicBlockEj", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateSwitch(llvm::Value*, llvm::BasicBlock*, unsigned int)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateCallIN9__gnu_cxx17__normal_iteratorIPPNS_5ValueESt6vectorIS9_SaIS9_EEEEEEPNS_8CallInstES9_T_SH_RKNS_5TwineE", "llvm::CallInst* llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCall<__gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >(llvm::Value*, __gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, __gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, llvm::Twine const&)"},
-    {"_ZNSt6vectorIN5clang7CodeGen6LValueESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::CodeGen::LValue, std::allocator<clang::CodeGen::LValue> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CodeGen::LValue*, std::vector<clang::CodeGen::LValue, std::allocator<clang::CodeGen::LValue> > >, clang::CodeGen::LValue const&)"},
-    {"_ZNSt6vectorIN5clang8QualTypeESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::QualType, std::allocator<clang::QualType> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::QualType*, std::vector<clang::QualType, std::allocator<clang::QualType> > >, clang::QualType const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEPNS_5ValueENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::VarDecl const*, llvm::Value*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<llvm::Value*> >::InsertIntoBucket(clang::VarDecl const* const&, llvm::Value* const&, std::pair<clang::VarDecl const*, llvm::Value*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEPNS_5ValueENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::VarDecl const*, llvm::Value*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9LabelStmtENS1_7CodeGen15CodeGenFunction8JumpDestENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::LabelStmt const*, clang::CodeGen::CodeGenFunction::JumpDest, llvm::DenseMapInfo<clang::LabelStmt const*>, llvm::DenseMapInfo<clang::CodeGen::CodeGenFunction::JumpDest> >::InsertIntoBucket(clang::LabelStmt const* const&, clang::CodeGen::CodeGenFunction::JumpDest const&, std::pair<clang::LabelStmt const*, clang::CodeGen::CodeGenFunction::JumpDest>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9LabelStmtENS1_7CodeGen15CodeGenFunction8JumpDestENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::LabelStmt const*, clang::CodeGen::CodeGenFunction::JumpDest, llvm::DenseMapInfo<clang::LabelStmt const*>, llvm::DenseMapInfo<clang::CodeGen::CodeGenFunction::JumpDest> >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitCXXTemporaryEPKNS_12CXXTemporaryEPN4llvm5ValueE", "clang::CodeGen::CodeGenFunction::EmitCXXTemporary(clang::CXXTemporary const*, llvm::Value*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20EmitExprWithCleanupsEPKNS_16ExprWithCleanupsENS0_12AggValueSlotE", "clang::CodeGen::CodeGenFunction::EmitExprWithCleanups(clang::ExprWithCleanups const*, clang::CodeGen::AggValueSlot)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction26EmitExprWithCleanupsLValueEPKNS_16ExprWithCleanupsE", "clang::CodeGen::CodeGenFunction::EmitExprWithCleanupsLValue(clang::ExprWithCleanups const*)"},
-    {"_ZN5clang7CodeGen12EHScopeStack19ConditionalCleanup2IN12_GLOBAL__N_116DestroyTemporaryEPKNS_17CXXDestructorDeclEPN4llvm5ValueEED1Ev", "clang::CodeGen::EHScopeStack::ConditionalCleanup2<(anonymous namespace)::DestroyTemporary, clang::CXXDestructorDecl const*, llvm::Value*>::~ConditionalCleanup2()"},
-    {"_ZN5clang7CodeGen12EHScopeStack19ConditionalCleanup2IN12_GLOBAL__N_116DestroyTemporaryEPKNS_17CXXDestructorDeclEPN4llvm5ValueEED0Ev", "clang::CodeGen::EHScopeStack::ConditionalCleanup2<(anonymous namespace)::DestroyTemporary, clang::CXXDestructorDecl const*, llvm::Value*>::~ConditionalCleanup2()"},
-    {"_ZN5clang7CodeGen12EHScopeStack19ConditionalCleanup2IN12_GLOBAL__N_116DestroyTemporaryEPKNS_17CXXDestructorDeclEPN4llvm5ValueEE4EmitERNS0_15CodeGenFunctionEb", "clang::CodeGen::EHScopeStack::ConditionalCleanup2<(anonymous namespace)::DestroyTemporary, clang::CXXDestructorDecl const*, llvm::Value*>::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN5clang7CodeGen12EHScopeStack21UnconditionalCleanup2IN12_GLOBAL__N_116DestroyTemporaryEPKNS_17CXXDestructorDeclEPN4llvm5ValueEED1Ev", "clang::CodeGen::EHScopeStack::UnconditionalCleanup2<(anonymous namespace)::DestroyTemporary, clang::CXXDestructorDecl const*, llvm::Value*>::~UnconditionalCleanup2()"},
-    {"_ZN5clang7CodeGen12EHScopeStack21UnconditionalCleanup2IN12_GLOBAL__N_116DestroyTemporaryEPKNS_17CXXDestructorDeclEPN4llvm5ValueEED0Ev", "clang::CodeGen::EHScopeStack::UnconditionalCleanup2<(anonymous namespace)::DestroyTemporary, clang::CXXDestructorDecl const*, llvm::Value*>::~UnconditionalCleanup2()"},
-    {"_ZN5clang7CodeGen12EHScopeStack21UnconditionalCleanup2IN12_GLOBAL__N_116DestroyTemporaryEPKNS_17CXXDestructorDeclEPN4llvm5ValueEE4EmitERNS0_15CodeGenFunctionEb", "clang::CodeGen::EHScopeStack::UnconditionalCleanup2<(anonymous namespace)::DestroyTemporary, clang::CXXDestructorDecl const*, llvm::Value*>::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables17EmitVTTDefinitionEPN4llvm14GlobalVariableENS2_11GlobalValue12LinkageTypesEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::EmitVTTDefinition(llvm::GlobalVariable*, llvm::GlobalValue::LinkageTypes, clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_110VTTBuilderC1ERN5clang7CodeGen13CodeGenModuleEPKNS1_13CXXRecordDeclEb", "(anonymous namespace)::VTTBuilder::VTTBuilder(clang::CodeGen::CodeGenModule&, clang::CXXRecordDecl const*, bool)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables12GetAddrOfVTTEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::GetAddrOfVTT(clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables17needsVTTParameterENS0_10GlobalDeclE", "clang::CodeGen::CodeGenVTables::needsVTTParameter(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables14getSubVTTIndexEPKNS_13CXXRecordDeclENS0_13BaseSubobjectE", "clang::CodeGen::CodeGenVTables::getSubVTTIndex(clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables31getSecondaryVirtualPointerIndexEPKNS_13CXXRecordDeclENS0_13BaseSubobjectE", "clang::CodeGen::CodeGenVTables::getSecondaryVirtualPointerIndex(clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject)"},
-    {"_ZN12_GLOBAL__N_110VTTBuilder9LayoutVTTEN5clang7CodeGen13BaseSubobjectEb", "(anonymous namespace)::VTTBuilder::LayoutVTT(clang::CodeGen::BaseSubobject, bool)"},
-    {"_ZN12_GLOBAL__N_110VTTBuilder16AddVTablePointerEN5clang7CodeGen13BaseSubobjectEPN4llvm8ConstantEPKNS1_13CXXRecordDeclERKNS4_8DenseMapIS3_yNS4_12DenseMapInfoIS3_EENSB_IyEEEE", "(anonymous namespace)::VTTBuilder::AddVTablePointer(clang::CodeGen::BaseSubobject, llvm::Constant*, clang::CXXRecordDecl const*, llvm::DenseMap<clang::CodeGen::BaseSubobject, unsigned long long, llvm::DenseMapInfo<clang::CodeGen::BaseSubobject>, llvm::DenseMapInfo<unsigned long long> > const&)"},
-    {"_ZN12_GLOBAL__N_110VTTBuilder17LayoutVirtualVTTsEPKN5clang13CXXRecordDeclERN4llvm11SmallPtrSetIS4_Lj4EEE", "(anonymous namespace)::VTTBuilder::LayoutVirtualVTTs(clang::CXXRecordDecl const*, llvm::SmallPtrSet<clang::CXXRecordDecl const*, 4u>&)"},
-    {"_ZN12_GLOBAL__N_110VTTBuilder30LayoutSecondaryVirtualPointersEN5clang7CodeGen13BaseSubobjectEbPN4llvm8ConstantEPKNS1_13CXXRecordDeclERKNS4_8DenseMapIS3_yNS4_12DenseMapInfoIS3_EENSB_IyEEEERNS4_11SmallPtrSetIS9_Lj4EEE", "(anonymous namespace)::VTTBuilder::LayoutSecondaryVirtualPointers(clang::CodeGen::BaseSubobject, bool, llvm::Constant*, clang::CXXRecordDecl const*, llvm::DenseMap<clang::CodeGen::BaseSubobject, unsigned long long, llvm::DenseMapInfo<clang::CodeGen::BaseSubobject>, llvm::DenseMapInfo<unsigned long long> > const&, llvm::SmallPtrSet<clang::CXXRecordDecl const*, 4u>&)"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclENS2_7CodeGen13BaseSubobjectEEyNS_12DenseMapInfoIS8_EENS9_IyEEE6insertERKS1_IS8_yE", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject> >, llvm::DenseMapInfo<unsigned long long> >::insert(std::pair<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject>, unsigned long long> const&)"},
-    {"_ZN4llvm8DenseMapIN5clang7CodeGen13BaseSubobjectEyNS_12DenseMapInfoIS3_EENS4_IyEEE16FindAndConstructERKS3_", "llvm::DenseMap<clang::CodeGen::BaseSubobject, unsigned long long, llvm::DenseMapInfo<clang::CodeGen::BaseSubobject>, llvm::DenseMapInfo<unsigned long long> >::FindAndConstruct(clang::CodeGen::BaseSubobject const&)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables26ComputeMethodVTableIndicesEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::ComputeMethodVTableIndices(clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables29getNumVirtualFunctionPointersEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::getNumVirtualFunctionPointers(clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_127FindNearestOverriddenMethodEPKN5clang13CXXMethodDeclERN4llvm14SmallSetVectorIPKNS0_13CXXRecordDeclELj8EEE", "(anonymous namespace)::FindNearestOverriddenMethod(clang::CXXMethodDecl const*, llvm::SmallSetVector<clang::CXXRecordDecl const*, 8u>&)"},
-    {"_ZN12_GLOBAL__N_133ComputeReturnAdjustmentBaseOffsetERN5clang10ASTContextEPKNS0_13CXXMethodDeclES5_", "(anonymous namespace)::ComputeReturnAdjustmentBaseOffset(clang::ASTContext&, clang::CXXMethodDecl const*, clang::CXXMethodDecl const*)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables20getMethodVTableIndexENS0_10GlobalDeclE", "clang::CodeGen::CodeGenVTables::getMethodVTableIndex(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables24ShouldEmitVTableInThisTUEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::ShouldEmitVTableInThisTU(clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables26getVirtualBaseOffsetOffsetEPKNS_13CXXRecordDeclES4_", "clang::CodeGen::CodeGenVTables::getVirtualBaseOffsetOffset(clang::CXXRecordDecl const*, clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_126VCallAndVBaseOffsetBuilderC1EPKN5clang13CXXRecordDeclES4_PKNS_15FinalOverridersENS1_7CodeGen13BaseSubobjectEby", "(anonymous namespace)::VCallAndVBaseOffsetBuilder::VCallAndVBaseOffsetBuilder(clang::CXXRecordDecl const*, clang::CXXRecordDecl const*, (anonymous namespace)::FinalOverriders const*, clang::CodeGen::BaseSubobject, bool, unsigned long long)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables15getAddressPointENS0_13BaseSubobjectEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::getAddressPoint(clang::CodeGen::BaseSubobject, clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule14GetAddrOfThunkENS0_10GlobalDeclERKNS_9ThunkInfoE", "clang::CodeGen::CodeGenModule::GetAddrOfThunk(clang::CodeGen::GlobalDecl, clang::ThunkInfo const&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13GenerateThunkEPN4llvm8FunctionENS0_10GlobalDeclERKNS_9ThunkInfoE", "clang::CodeGen::CodeGenFunction::GenerateThunk(llvm::Function*, clang::CodeGen::GlobalDecl, clang::ThunkInfo const&)"},
-    {"_Z21PerformTypeAdjustmentRN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueExx", "PerformTypeAdjustment(clang::CodeGen::CodeGenFunction&, llvm::Value*, long long, long long)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables9EmitThunkENS0_10GlobalDeclERKNS_9ThunkInfoEb", "clang::CodeGen::CodeGenVTables::EmitThunk(clang::CodeGen::GlobalDecl, clang::ThunkInfo const&, bool)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables33MaybeEmitThunkAvailableExternallyENS0_10GlobalDeclERKNS_9ThunkInfoE", "clang::CodeGen::CodeGenVTables::MaybeEmitThunkAvailableExternally(clang::CodeGen::GlobalDecl, clang::ThunkInfo const&)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables10EmitThunksENS0_10GlobalDeclE", "clang::CodeGen::CodeGenVTables::EmitThunks(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables31ComputeVTableRelatedInformationEPKNS_13CXXRecordDeclEb", "clang::CodeGen::CodeGenVTables::ComputeVTableRelatedInformation(clang::CXXRecordDecl const*, bool)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilderC1ERN5clang7CodeGen14CodeGenVTablesEPKNS1_13CXXRecordDeclEybS7_", "(anonymous namespace)::VTableBuilder::VTableBuilder(clang::CodeGen::CodeGenVTables&, clang::CXXRecordDecl const*, unsigned long long, bool, clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilderD1Ev", "(anonymous namespace)::VTableBuilder::~VTableBuilder()"},
-    {"_ZN5clang7CodeGen14CodeGenVTables23CreateVTableInitializerEPKNS_13CXXRecordDeclEPKyjRKN4llvm11SmallVectorISt4pairIyNS_9ThunkInfoEELj1EEE", "clang::CodeGen::CodeGenVTables::CreateVTableInitializer(clang::CXXRecordDecl const*, unsigned long long const*, unsigned int, llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u> const&)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables15GetAddrOfVTableEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::GetAddrOfVTable(clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables20EmitVTableDefinitionEPN4llvm14GlobalVariableENS2_11GlobalValue12LinkageTypesEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::EmitVTableDefinition(llvm::GlobalVariable*, llvm::GlobalValue::LinkageTypes, clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilder10dumpLayoutERN4llvm11raw_ostreamE", "(anonymous namespace)::VTableBuilder::dumpLayout(llvm::raw_ostream&)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables26GenerateConstructionVTableEPKNS_13CXXRecordDeclERKNS0_13BaseSubobjectEbRN4llvm8DenseMapIS5_yNS8_12DenseMapInfoIS5_EENSA_IyEEEE", "clang::CodeGen::CodeGenVTables::GenerateConstructionVTable(clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject const&, bool, llvm::DenseMap<clang::CodeGen::BaseSubobject, unsigned long long, llvm::DenseMapInfo<clang::CodeGen::BaseSubobject>, llvm::DenseMapInfo<unsigned long long> >&)"},
-    {"_ZN5clang7CodeGen14CodeGenVTables17GenerateClassDataEN4llvm11GlobalValue12LinkageTypesEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenVTables::GenerateClassData(llvm::GlobalValue::LinkageTypes, clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilder32LayoutPrimaryAndSecondaryVTablesEN5clang7CodeGen13BaseSubobjectEbby", "(anonymous namespace)::VTableBuilder::LayoutPrimaryAndSecondaryVTables(clang::CodeGen::BaseSubobject, bool, bool, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilder28DeterminePrimaryVirtualBasesEPKN5clang13CXXRecordDeclEyRN4llvm11SmallPtrSetIS4_Lj4EEE", "(anonymous namespace)::VTableBuilder::DeterminePrimaryVirtualBases(clang::CXXRecordDecl const*, unsigned long long, llvm::SmallPtrSet<clang::CXXRecordDecl const*, 4u>&)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilder28LayoutVTablesForVirtualBasesEPKN5clang13CXXRecordDeclERN4llvm11SmallPtrSetIS4_Lj4EEE", "(anonymous namespace)::VTableBuilder::LayoutVTablesForVirtualBases(clang::CXXRecordDecl const*, llvm::SmallPtrSet<clang::CXXRecordDecl const*, 4u>&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEN12_GLOBAL__N_114VCallOffsetMapENS_12DenseMapInfoIS4_EENS7_IS6_EEEixERKS4_", "llvm::DenseMap<clang::CXXRecordDecl const*, (anonymous namespace)::VCallOffsetMap, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<(anonymous namespace)::VCallOffsetMap> >::operator[](clang::CXXRecordDecl const* const&)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilder10AddMethodsEN5clang7CodeGen13BaseSubobjectEyPKNS1_13CXXRecordDeclEyRN4llvm14SmallSetVectorIS6_Lj8EEE", "(anonymous namespace)::VTableBuilder::AddMethods(clang::CodeGen::BaseSubobject, unsigned long long, clang::CXXRecordDecl const*, unsigned long long, llvm::SmallSetVector<clang::CXXRecordDecl const*, 8u>&)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilder22LayoutSecondaryVTablesEN5clang7CodeGen13BaseSubobjectEby", "(anonymous namespace)::VTableBuilder::LayoutSecondaryVTables(clang::CodeGen::BaseSubobject, bool, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_113VTableBuilder21ComputeThisAdjustmentEPKN5clang13CXXMethodDeclEyNS_15FinalOverriders13OverriderInfoE", "(anonymous namespace)::VTableBuilder::ComputeThisAdjustment(clang::CXXMethodDecl const*, unsigned long long, (anonymous namespace)::FinalOverriders::OverriderInfo)"},
-    {"_ZN12_GLOBAL__N_114VCallOffsetMap26MethodsCanShareVCallOffsetEPKN5clang13CXXMethodDeclES4_", "(anonymous namespace)::VCallOffsetMap::MethodsCanShareVCallOffset(clang::CXXMethodDecl const*, clang::CXXMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_117ComputeBaseOffsetERN5clang10ASTContextEPKNS0_13CXXRecordDeclERKNS0_11CXXBasePathE", "(anonymous namespace)::ComputeBaseOffset(clang::ASTContext&, clang::CXXRecordDecl const*, clang::CXXBasePath const&)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPKN5clang13CXXMethodDeclEyEN12_GLOBAL__N_115FinalOverriders13OverriderInfoENS_12DenseMapInfoIS6_EENSA_IS9_EEE15LookupBucketForERKS6_RPS1_IS6_S9_E", "llvm::DenseMap<std::pair<clang::CXXMethodDecl const*, unsigned long long>, (anonymous namespace)::FinalOverriders::OverriderInfo, llvm::DenseMapInfo<std::pair<clang::CXXMethodDecl const*, unsigned long long> >, llvm::DenseMapInfo<(anonymous namespace)::FinalOverriders::OverriderInfo> >::LookupBucketFor(std::pair<clang::CXXMethodDecl const*, unsigned long long> const&, std::pair<std::pair<clang::CXXMethodDecl const*, unsigned long long>, (anonymous namespace)::FinalOverriders::OverriderInfo>*&) const"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclEN12_GLOBAL__N_113VTableBuilder10MethodInfoENS_12DenseMapInfoIS4_EENS8_IS7_EEE6insertERKSt4pairIS4_S7_E", "llvm::DenseMap<clang::CXXMethodDecl const*, (anonymous namespace)::VTableBuilder::MethodInfo, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<(anonymous namespace)::VTableBuilder::MethodInfo> >::insert(std::pair<clang::CXXMethodDecl const*, (anonymous namespace)::VTableBuilder::MethodInfo> const&)"},
-    {"_ZN12_GLOBAL__N_130OverridesIndirectMethodInBasesEPKN5clang13CXXMethodDeclERN4llvm14SmallSetVectorIPKNS0_13CXXRecordDeclELj8EEE", "(anonymous namespace)::OverridesIndirectMethodInBases(clang::CXXMethodDecl const*, llvm::SmallSetVector<clang::CXXRecordDecl const*, 8u>&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclEN12_GLOBAL__N_113VTableBuilder10MethodInfoENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::CXXMethodDecl const*, (anonymous namespace)::VTableBuilder::MethodInfo, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<(anonymous namespace)::VTableBuilder::MethodInfo> >::InsertIntoBucket(clang::CXXMethodDecl const* const&, (anonymous namespace)::VTableBuilder::MethodInfo const&, std::pair<clang::CXXMethodDecl const*, (anonymous namespace)::VTableBuilder::MethodInfo>*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN12_GLOBAL__N_115VTableComponentELb0EE4growEm", "llvm::SmallVectorTemplateBase<(anonymous namespace)::VTableComponent, false>::grow(unsigned long)"},
-    {"_ZN12_GLOBAL__N_115FinalOverriders18ComputeBaseOffsetsEN5clang7CodeGen13BaseSubobjectEbyRN4llvm8DenseMapISt4pairIPKNS1_13CXXRecordDeclEjEyNS4_12DenseMapInfoISA_EENSB_IyEEEESF_RNS5_IS9_jNSB_IS9_EENSB_IjEEEE", "(anonymous namespace)::FinalOverriders::ComputeBaseOffsets(clang::CodeGen::BaseSubobject, bool, unsigned long long, llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, unsigned int> >, llvm::DenseMapInfo<unsigned long long> >&, llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, unsigned int> >, llvm::DenseMapInfo<unsigned long long> >&, llvm::DenseMap<clang::CXXRecordDecl const*, unsigned int, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN12_GLOBAL__N_126VCallAndVBaseOffsetBuilder23AddVCallAndVBaseOffsetsEN5clang7CodeGen13BaseSubobjectEby", "(anonymous namespace)::VCallAndVBaseOffsetBuilder::AddVCallAndVBaseOffsets(clang::CodeGen::BaseSubobject, bool, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_126VCallAndVBaseOffsetBuilder15AddVBaseOffsetsEPKN5clang13CXXRecordDeclEy", "(anonymous namespace)::VCallAndVBaseOffsetBuilder::AddVBaseOffsets(clang::CXXRecordDecl const*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_126VCallAndVBaseOffsetBuilder15AddVCallOffsetsEN5clang7CodeGen13BaseSubobjectEy", "(anonymous namespace)::VCallAndVBaseOffsetBuilder::AddVCallOffsets(clang::CodeGen::BaseSubobject, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_127ComputeAllOverriddenMethodsEPKN5clang13CXXMethodDeclERN4llvm11SmallPtrSetIS3_Lj8EEE", "(anonymous namespace)::ComputeAllOverriddenMethods(clang::CXXMethodDecl const*, llvm::SmallPtrSet<clang::CXXMethodDecl const*, 8u>&)"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclES5_ExNS_12DenseMapInfoIS6_EENS7_IxEEE6insertERKS1_IS6_xE", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*>, long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*> >, llvm::DenseMapInfo<long long> >::insert(std::pair<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*>, long long> const&)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIyN5clang9ThunkInfoEEE6appendINS_16DenseMapIteratorIyS3_NS_12DenseMapInfoIyEENS8_IS3_EELb1EEEEEvT_SC_", "void llvm::SmallVectorImpl<std::pair<unsigned long long, clang::ThunkInfo> >::append<llvm::DenseMapIterator<unsigned long long, clang::ThunkInfo, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<clang::ThunkInfo>, true> >(llvm::DenseMapIterator<unsigned long long, clang::ThunkInfo, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<clang::ThunkInfo>, true>, llvm::DenseMapIterator<unsigned long long, clang::ThunkInfo, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<clang::ThunkInfo>, true>)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEPNS_14GlobalVariableENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::GlobalVariable*, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, llvm::GlobalVariable* const&, std::pair<clang::CXXRecordDecl const*, llvm::GlobalVariable*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEPNS_14GlobalVariableENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::GlobalVariable*, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIN5clang7CodeGen13BaseSubobjectEyNS_12DenseMapInfoIS3_EENS4_IyEEE6insertERKSt4pairIS3_yE", "llvm::DenseMap<clang::CodeGen::BaseSubobject, unsigned long long, llvm::DenseMapInfo<clang::CodeGen::BaseSubobject>, llvm::DenseMapInfo<unsigned long long> >::insert(std::pair<clang::CodeGen::BaseSubobject, unsigned long long> const&)"},
-    {"_ZN4llvm8DenseMapIN5clang7CodeGen13BaseSubobjectEyNS_12DenseMapInfoIS3_EENS4_IyEEE16InsertIntoBucketERKS3_RKyPSt4pairIS3_yE", "llvm::DenseMap<clang::CodeGen::BaseSubobject, unsigned long long, llvm::DenseMapInfo<clang::CodeGen::BaseSubobject>, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(clang::CodeGen::BaseSubobject const&, unsigned long long const&, std::pair<clang::CodeGen::BaseSubobject, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapIN5clang7CodeGen13BaseSubobjectEyNS_12DenseMapInfoIS3_EENS4_IyEEE4growEj", "llvm::DenseMap<clang::CodeGen::BaseSubobject, unsigned long long, llvm::DenseMapInfo<clang::CodeGen::BaseSubobject>, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclES5_ExNS_12DenseMapInfoIS6_EENS7_IxEEE15LookupBucketForERKS6_RPS1_IS6_xE", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*>, long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*> >, llvm::DenseMapInfo<long long> >::LookupBucketFor(std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*> const&, std::pair<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*>, long long>*&) const"},
-    {"_ZNK4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclENS2_7CodeGen13BaseSubobjectEEyNS_12DenseMapInfoIS8_EENS9_IyEEE15LookupBucketForERKS8_RPS1_IS8_yE", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject> >, llvm::DenseMapInfo<unsigned long long> >::LookupBucketFor(std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject> const&, std::pair<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject>, unsigned long long>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclENS2_7CodeGen13BaseSubobjectEEyNS_12DenseMapInfoIS8_EENS9_IyEEE16InsertIntoBucketERKS8_RKyPS1_IS8_yE", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject> >, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject> const&, unsigned long long const&, std::pair<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject>, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclENS2_7CodeGen13BaseSubobjectEEyNS_12DenseMapInfoIS8_EENS9_IyEEE4growEj", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, clang::CodeGen::BaseSubobject> >, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZSt16__introsort_loopIPSt4pairIyN5clang9ThunkInfoEElEvT_S5_T0_", "void std::__introsort_loop<std::pair<unsigned long long, clang::ThunkInfo>*, long>(std::pair<unsigned long long, clang::ThunkInfo>*, std::pair<unsigned long long, clang::ThunkInfo>*, long)"},
-    {"_ZSt22__final_insertion_sortIPSt4pairIyN5clang9ThunkInfoEEEvT_S5_", "void std::__final_insertion_sort<std::pair<unsigned long long, clang::ThunkInfo>*>(std::pair<unsigned long long, clang::ThunkInfo>*, std::pair<unsigned long long, clang::ThunkInfo>*)"},
-    {"_ZSt16__insertion_sortIPSt4pairIyN5clang9ThunkInfoEEEvT_S5_", "void std::__insertion_sort<std::pair<unsigned long long, clang::ThunkInfo>*>(std::pair<unsigned long long, clang::ThunkInfo>*, std::pair<unsigned long long, clang::ThunkInfo>*)"},
-    {"_ZSt21__unguarded_partitionIPSt4pairIyN5clang9ThunkInfoEES3_ET_S5_S5_T0_", "std::pair<unsigned long long, clang::ThunkInfo>* std::__unguarded_partition<std::pair<unsigned long long, clang::ThunkInfo>*, std::pair<unsigned long long, clang::ThunkInfo> >(std::pair<unsigned long long, clang::ThunkInfo>*, std::pair<unsigned long long, clang::ThunkInfo>*, std::pair<unsigned long long, clang::ThunkInfo>)"},
-    {"_ZSt8__medianISt4pairIyN5clang9ThunkInfoEEERKT_S6_S6_S6_", "std::pair<unsigned long long, clang::ThunkInfo> const& std::__median<std::pair<unsigned long long, clang::ThunkInfo> >(std::pair<unsigned long long, clang::ThunkInfo> const&, std::pair<unsigned long long, clang::ThunkInfo> const&, std::pair<unsigned long long, clang::ThunkInfo> const&)"},
-    {"_ZSt13__heap_selectIPSt4pairIyN5clang9ThunkInfoEEEvT_S5_S5_", "void std::__heap_select<std::pair<unsigned long long, clang::ThunkInfo>*>(std::pair<unsigned long long, clang::ThunkInfo>*, std::pair<unsigned long long, clang::ThunkInfo>*, std::pair<unsigned long long, clang::ThunkInfo>*)"},
-    {"_ZSt13__adjust_heapIPSt4pairIyN5clang9ThunkInfoEElS3_EvT_T0_S6_T1_", "void std::__adjust_heap<std::pair<unsigned long long, clang::ThunkInfo>*, long, std::pair<unsigned long long, clang::ThunkInfo> >(std::pair<unsigned long long, clang::ThunkInfo>*, long, long, std::pair<unsigned long long, clang::ThunkInfo>)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIyN5clang9ThunkInfoEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<unsigned long long, clang::ThunkInfo>, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS_11SmallVectorISt4pairIyNS1_9ThunkInfoEELj1EEENS_12DenseMapInfoIS4_EENSA_IS9_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u>, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u> > >::FindAndConstruct(clang::CXXRecordDecl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS_11SmallVectorISt4pairIyNS1_9ThunkInfoEELj1EEENS_12DenseMapInfoIS4_EENSA_IS9_EEE16InsertIntoBucketERKS4_RKS9_PS6_IS4_S9_E", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u>, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u> > >::InsertIntoBucket(clang::CXXRecordDecl const* const&, llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u> const&, std::pair<clang::CXXRecordDecl const*, llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS_11SmallVectorISt4pairIyNS1_9ThunkInfoEELj1EEENS_12DenseMapInfoIS4_EENSA_IS9_EEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u>, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned long long, clang::ThunkInfo>, 1u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIyN5clang9ThunkInfoEEEaSERKS5_", "llvm::SmallVectorImpl<std::pair<unsigned long long, clang::ThunkInfo> >::operator=(llvm::SmallVectorImpl<std::pair<unsigned long long, clang::ThunkInfo> > const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS_11SmallVectorINS1_9ThunkInfoELj1EEENS_12DenseMapInfoIS4_EENS8_IS7_EEE6insertERKSt4pairIS4_S7_E", "llvm::DenseMap<clang::CXXMethodDecl const*, llvm::SmallVector<clang::ThunkInfo, 1u>, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ThunkInfo, 1u> > >::insert(std::pair<clang::CXXMethodDecl const*, llvm::SmallVector<clang::ThunkInfo, 1u> > const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS_11SmallVectorINS1_9ThunkInfoELj1EEENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::CXXMethodDecl const*, llvm::SmallVector<clang::ThunkInfo, 1u>, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ThunkInfo, 1u> > >::InsertIntoBucket(clang::CXXMethodDecl const* const&, llvm::SmallVector<clang::ThunkInfo, 1u> const&, std::pair<clang::CXXMethodDecl const*, llvm::SmallVector<clang::ThunkInfo, 1u> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS_11SmallVectorINS1_9ThunkInfoELj1EEENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::CXXMethodDecl const*, llvm::SmallVector<clang::ThunkInfo, 1u>, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ThunkInfo, 1u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang9ThunkInfoEEaSERKS3_", "llvm::SmallVectorImpl<clang::ThunkInfo>::operator=(llvm::SmallVectorImpl<clang::ThunkInfo> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang9ThunkInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::ThunkInfo, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorIPKN5clang13CXXRecordDeclESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<clang::CXXRecordDecl const*, std::allocator<clang::CXXRecordDecl const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CXXRecordDecl const**, std::vector<clang::CXXRecordDecl const*, std::allocator<clang::CXXRecordDecl const*> > >, clang::CXXRecordDecl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS_14PointerIntPairIPyLj1EbNS_21PointerLikeTypeTraitsIS6_EEEENS_12DenseMapInfoIS4_EENSA_IS9_EEE16InsertIntoBucketERKS4_RKS9_PSt4pairIS4_S9_E", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::PointerIntPair<unsigned long long*, 1u, bool, llvm::PointerLikeTypeTraits<unsigned long long*> >, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::PointerIntPair<unsigned long long*, 1u, bool, llvm::PointerLikeTypeTraits<unsigned long long*> > > >::InsertIntoBucket(clang::CXXRecordDecl const* const&, llvm::PointerIntPair<unsigned long long*, 1u, bool, llvm::PointerLikeTypeTraits<unsigned long long*> > const&, std::pair<clang::CXXRecordDecl const*, llvm::PointerIntPair<unsigned long long*, 1u, bool, llvm::PointerLikeTypeTraits<unsigned long long*> > >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS_14PointerIntPairIPyLj1EbNS_21PointerLikeTypeTraitsIS6_EEEENS_12DenseMapInfoIS4_EENSA_IS9_EEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, llvm::PointerIntPair<unsigned long long*, 1u, bool, llvm::PointerLikeTypeTraits<unsigned long long*> >, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<llvm::PointerIntPair<unsigned long long*, 1u, bool, llvm::PointerLikeTypeTraits<unsigned long long*> > > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclES5_ExNS_12DenseMapInfoIS6_EENS7_IxEEE16InsertIntoBucketERKS6_RKxPS1_IS6_xE", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*>, long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*> >, llvm::DenseMapInfo<long long> >::InsertIntoBucket(std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*> const&, long long const&, std::pair<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*>, long long>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclES5_ExNS_12DenseMapInfoIS6_EENS7_IxEEE4growEj", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*>, long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, clang::CXXRecordDecl const*> >, llvm::DenseMapInfo<long long> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEyNS_12DenseMapInfoIS4_EENS5_IyEEE16InsertIntoBucketERKS4_RKyPSt4pairIS4_yE", "llvm::DenseMap<clang::CXXRecordDecl const*, unsigned long long, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, unsigned long long const&, std::pair<clang::CXXRecordDecl const*, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEyNS_12DenseMapInfoIS4_EENS5_IyEEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, unsigned long long, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIN5clang7CodeGen10GlobalDeclExNS_12DenseMapInfoIS3_EENS4_IxEEE16InsertIntoBucketERKS3_RKxPSt4pairIS3_xE", "llvm::DenseMap<clang::CodeGen::GlobalDecl, long long, llvm::DenseMapInfo<clang::CodeGen::GlobalDecl>, llvm::DenseMapInfo<long long> >::InsertIntoBucket(clang::CodeGen::GlobalDecl const&, long long const&, std::pair<clang::CodeGen::GlobalDecl, long long>*)"},
-    {"_ZN4llvm8DenseMapIN5clang7CodeGen10GlobalDeclExNS_12DenseMapInfoIS3_EENS4_IxEEE4growEj", "llvm::DenseMap<clang::CodeGen::GlobalDecl, long long, llvm::DenseMapInfo<clang::CodeGen::GlobalDecl>, llvm::DenseMapInfo<long long> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIySt4pairIKyN5clang7CodeGen13BaseSubobjectEESt10_Select1stIS5_ESt4lessIyESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, clang::CodeGen::BaseSubobject>, std::_Select1st<std::pair<unsigned long long const, clang::CodeGen::BaseSubobject> >, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, clang::CodeGen::BaseSubobject> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned long long const, clang::CodeGen::BaseSubobject> >*)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsPKN5clang13CXXMethodDeclEESt10_Select1stIS6_ESt4lessISsESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<std::string, std::pair<std::string const, clang::CXXMethodDecl const*>, std::_Select1st<std::pair<std::string const, clang::CXXMethodDecl const*> >, std::less<std::string>, std::allocator<std::pair<std::string const, clang::CXXMethodDecl const*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, clang::CXXMethodDecl const*> >*)"},
-    {"_ZSt16__introsort_loopIPN5clang9ThunkInfoElEvT_S3_T0_", "void std::__introsort_loop<clang::ThunkInfo*, long>(clang::ThunkInfo*, clang::ThunkInfo*, long)"},
-    {"_ZSt22__final_insertion_sortIPN5clang9ThunkInfoEEvT_S3_", "void std::__final_insertion_sort<clang::ThunkInfo*>(clang::ThunkInfo*, clang::ThunkInfo*)"},
-    {"_ZSt16__insertion_sortIPN5clang9ThunkInfoEEvT_S3_", "void std::__insertion_sort<clang::ThunkInfo*>(clang::ThunkInfo*, clang::ThunkInfo*)"},
-    {"_ZSt21__unguarded_partitionIPN5clang9ThunkInfoES1_ET_S3_S3_T0_", "clang::ThunkInfo* std::__unguarded_partition<clang::ThunkInfo*, clang::ThunkInfo>(clang::ThunkInfo*, clang::ThunkInfo*, clang::ThunkInfo)"},
-    {"_ZSt8__medianIN5clang9ThunkInfoEERKT_S4_S4_S4_", "clang::ThunkInfo const& std::__median<clang::ThunkInfo>(clang::ThunkInfo const&, clang::ThunkInfo const&, clang::ThunkInfo const&)"},
-    {"_ZSt13__heap_selectIPN5clang9ThunkInfoEEvT_S3_S3_", "void std::__heap_select<clang::ThunkInfo*>(clang::ThunkInfo*, clang::ThunkInfo*, clang::ThunkInfo*)"},
-    {"_ZSt13__adjust_heapIPN5clang9ThunkInfoElS1_EvT_T0_S4_T1_", "void std::__adjust_heap<clang::ThunkInfo*, long, clang::ThunkInfo>(clang::ThunkInfo*, long, long, clang::ThunkInfo)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS_11SmallVectorINS1_9ThunkInfoELj1EEENS_12DenseMapInfoIS4_EENS8_IS7_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::CXXMethodDecl const*, llvm::SmallVector<clang::ThunkInfo, 1u>, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ThunkInfo, 1u> > >::FindAndConstruct(clang::CXXMethodDecl const* const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsPKN5clang13CXXMethodDeclEESt10_Select1stIS6_ESt4lessISsESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<std::string, std::pair<std::string const, clang::CXXMethodDecl const*>, std::_Select1st<std::pair<std::string const, clang::CXXMethodDecl const*> >, std::less<std::string>, std::allocator<std::pair<std::string const, clang::CXXMethodDecl const*> > >::_M_insert_unique(std::pair<std::string const, clang::CXXMethodDecl const*> const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsPKN5clang13CXXMethodDeclEESt10_Select1stIS6_ESt4lessISsESaIS6_EE9_M_insertEPSt18_Rb_tree_node_baseSE_RKS6_", "std::_Rb_tree<std::string, std::pair<std::string const, clang::CXXMethodDecl const*>, std::_Select1st<std::pair<std::string const, clang::CXXMethodDecl const*> >, std::less<std::string>, std::allocator<std::pair<std::string const, clang::CXXMethodDecl const*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, clang::CXXMethodDecl const*> const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsxESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<std::string, std::pair<std::string const, long long>, std::_Select1st<std::pair<std::string const, long long> >, std::less<std::string>, std::allocator<std::pair<std::string const, long long> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, long long> >*)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsxESt10_Select1stIS2_ESt4lessISsESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<std::string, std::pair<std::string const, long long>, std::_Select1st<std::pair<std::string const, long long> >, std::less<std::string>, std::allocator<std::pair<std::string const, long long> > >::_M_insert_unique(std::pair<std::string const, long long> const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsxESt10_Select1stIS2_ESt4lessISsESaIS2_EE9_M_insertEPSt18_Rb_tree_node_baseSA_RKS2_", "std::_Rb_tree<std::string, std::pair<std::string const, long long>, std::_Select1st<std::pair<std::string const, long long> >, std::less<std::string>, std::allocator<std::pair<std::string const, long long> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, long long> const&)"},
-    {"_ZNK5clang15ASTRecordLayout25getVBaseClassOffsetInBitsEPKNS_13CXXRecordDeclE", "clang::ASTRecordLayout::getVBaseClassOffsetInBits(clang::CXXRecordDecl const*) const"},
-    {"_ZSt6__findIPN5clang9ThunkInfoES1_ET_S3_S3_RKT0_St26random_access_iterator_tag", "clang::ThunkInfo* std::__find<clang::ThunkInfo*, clang::ThunkInfo>(clang::ThunkInfo*, clang::ThunkInfo*, clang::ThunkInfo const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIyN5clang9ThunkInfoENS_12DenseMapInfoIyEENS3_IS2_EEE16InsertIntoBucketERKyRKS2_PSt4pairIyS2_E", "llvm::DenseMap<unsigned long long, clang::ThunkInfo, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<clang::ThunkInfo> >::InsertIntoBucket(unsigned long long const&, clang::ThunkInfo const&, std::pair<unsigned long long, clang::ThunkInfo>*)"},
-    {"_ZN4llvm8DenseMapIyN5clang9ThunkInfoENS_12DenseMapInfoIyEENS3_IS2_EEE4growEj", "llvm::DenseMap<unsigned long long, clang::ThunkInfo, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<clang::ThunkInfo> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclExNS_12DenseMapInfoIS4_EENS5_IxEEE8CopyFromERKS8_", "llvm::DenseMap<clang::CXXRecordDecl const*, long long, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<long long> >::CopyFrom(llvm::DenseMap<clang::CXXRecordDecl const*, long long, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<long long> > const&)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIPKN5clang13CXXMethodDeclExEEaSERKS7_", "llvm::SmallVectorImpl<std::pair<clang::CXXMethodDecl const*, long long> >::operator=(llvm::SmallVectorImpl<std::pair<clang::CXXMethodDecl const*, long long> > const&)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclEjEyNS_12DenseMapInfoIS6_EENS7_IyEEE15LookupBucketForERKS6_RPS1_IS6_yE", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, unsigned int> >, llvm::DenseMapInfo<unsigned long long> >::LookupBucketFor(std::pair<clang::CXXRecordDecl const*, unsigned int> const&, std::pair<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned long long>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclEjEyNS_12DenseMapInfoIS6_EENS7_IyEEE16InsertIntoBucketERKS6_RKyPS1_IS6_yE", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, unsigned int> >, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(std::pair<clang::CXXRecordDecl const*, unsigned int> const&, unsigned long long const&, std::pair<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPKN5clang13CXXRecordDeclEjEyNS_12DenseMapInfoIS6_EENS7_IyEEE4growEj", "llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, unsigned int> >, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE26CreateConstInBoundsGEP1_64EPNS_5ValueEyRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateConstInBoundsGEP1_64(llvm::Value*, unsigned long long, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE17CreateInBoundsGEPEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateInBoundsGEP(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclExNS_12DenseMapInfoIS4_EENS5_IxEEE6insertERKSt4pairIS4_xE", "llvm::DenseMap<clang::CXXRecordDecl const*, long long, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<long long> >::insert(std::pair<clang::CXXRecordDecl const*, long long> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclExNS_12DenseMapInfoIS4_EENS5_IxEEE16InsertIntoBucketERKS4_RKxPSt4pairIS4_xE", "llvm::DenseMap<clang::CXXRecordDecl const*, long long, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<long long> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, long long const&, std::pair<clang::CXXRecordDecl const*, long long>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclExNS_12DenseMapInfoIS4_EENS5_IxEEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, long long, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<long long> >::grow(unsigned int)"},
-    {"_ZN5clang15BackendConsumer21InlineAsmDiagHandler2ERKN4llvm12SMDiagnosticENS_14SourceLocationE", "clang::BackendConsumer::InlineAsmDiagHandler2(llvm::SMDiagnostic const&, clang::SourceLocation)"},
-    {"_ZN5clang13CodeGenActionC1Ej", "clang::CodeGenAction::CodeGenAction(unsigned int)"},
-    {"_ZN5clang13CodeGenActionC2Ej", "clang::CodeGenAction::CodeGenAction(unsigned int)"},
-    {"_ZN5clang13CodeGenActionD0Ev", "clang::CodeGenAction::~CodeGenAction()"},
-    {"_ZN5clang13CodeGenActionD1Ev", "clang::CodeGenAction::~CodeGenAction()"},
-    {"_ZN5clang13CodeGenActionD2Ev", "clang::CodeGenAction::~CodeGenAction()"},
-    {"_ZNK5clang13CodeGenAction12hasIRSupportEv", "clang::CodeGenAction::hasIRSupport() const"},
-    {"_ZN5clang13CodeGenAction19EndSourceFileActionEv", "clang::CodeGenAction::EndSourceFileAction()"},
-    {"_ZN5clang13CodeGenAction10takeModuleEv", "clang::CodeGenAction::takeModule()"},
-    {"_ZN5clang13CodeGenAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::CodeGenAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_Z15GetOutputStreamRN5clang16CompilerInstanceEN4llvm9StringRefENS_13BackendActionE", "GetOutputStream(clang::CompilerInstance&, llvm::StringRef, clang::BackendAction)"},
-    {"_ZN5clang13CodeGenAction13ExecuteActionEv", "clang::CodeGenAction::ExecuteAction()"},
-    {"_ZN5clang18EmitAssemblyActionC1Ev", "clang::EmitAssemblyAction::EmitAssemblyAction()"},
-    {"_ZN5clang18EmitAssemblyActionC2Ev", "clang::EmitAssemblyAction::EmitAssemblyAction()"},
-    {"_ZN5clang12EmitBCActionC1Ev", "clang::EmitBCAction::EmitBCAction()"},
-    {"_ZN5clang12EmitBCActionC2Ev", "clang::EmitBCAction::EmitBCAction()"},
-    {"_ZN5clang14EmitLLVMActionC1Ev", "clang::EmitLLVMAction::EmitLLVMAction()"},
-    {"_ZN5clang14EmitLLVMActionC2Ev", "clang::EmitLLVMAction::EmitLLVMAction()"},
-    {"_ZN5clang18EmitLLVMOnlyActionC1Ev", "clang::EmitLLVMOnlyAction::EmitLLVMOnlyAction()"},
-    {"_ZN5clang18EmitLLVMOnlyActionC2Ev", "clang::EmitLLVMOnlyAction::EmitLLVMOnlyAction()"},
-    {"_ZN5clang21EmitCodeGenOnlyActionC1Ev", "clang::EmitCodeGenOnlyAction::EmitCodeGenOnlyAction()"},
-    {"_ZN5clang21EmitCodeGenOnlyActionC2Ev", "clang::EmitCodeGenOnlyAction::EmitCodeGenOnlyAction()"},
-    {"_ZN5clang13EmitObjActionC1Ev", "clang::EmitObjAction::EmitObjAction()"},
-    {"_ZN5clang13EmitObjActionC2Ev", "clang::EmitObjAction::EmitObjAction()"},
-    {"_ZN4llvm7ParseIREPNS_12MemoryBufferERNS_12SMDiagnosticERNS_11LLVMContextE", "llvm::ParseIR(llvm::MemoryBuffer*, llvm::SMDiagnostic&, llvm::LLVMContext&)"},
-    {"_ZN5clang13EmitObjActionD1Ev", "clang::EmitObjAction::~EmitObjAction()"},
-    {"_ZN5clang13EmitObjActionD0Ev", "clang::EmitObjAction::~EmitObjAction()"},
-    {"_ZN5clang21EmitCodeGenOnlyActionD1Ev", "clang::EmitCodeGenOnlyAction::~EmitCodeGenOnlyAction()"},
-    {"_ZN5clang21EmitCodeGenOnlyActionD0Ev", "clang::EmitCodeGenOnlyAction::~EmitCodeGenOnlyAction()"},
-    {"_ZN5clang18EmitLLVMOnlyActionD1Ev", "clang::EmitLLVMOnlyAction::~EmitLLVMOnlyAction()"},
-    {"_ZN5clang18EmitLLVMOnlyActionD0Ev", "clang::EmitLLVMOnlyAction::~EmitLLVMOnlyAction()"},
-    {"_ZN5clang14EmitLLVMActionD1Ev", "clang::EmitLLVMAction::~EmitLLVMAction()"},
-    {"_ZN5clang14EmitLLVMActionD0Ev", "clang::EmitLLVMAction::~EmitLLVMAction()"},
-    {"_ZN5clang12EmitBCActionD1Ev", "clang::EmitBCAction::~EmitBCAction()"},
-    {"_ZN5clang12EmitBCActionD0Ev", "clang::EmitBCAction::~EmitBCAction()"},
-    {"_ZN5clang18EmitAssemblyActionD1Ev", "clang::EmitAssemblyAction::~EmitAssemblyAction()"},
-    {"_ZN5clang18EmitAssemblyActionD0Ev", "clang::EmitAssemblyAction::~EmitAssemblyAction()"},
-    {"_ZN5clang15BackendConsumerD1Ev", "clang::BackendConsumer::~BackendConsumer()"},
-    {"_ZN5clang15BackendConsumerD0Ev", "clang::BackendConsumer::~BackendConsumer()"},
-    {"_ZN5clang15BackendConsumer10InitializeERNS_10ASTContextE", "clang::BackendConsumer::Initialize(clang::ASTContext&)"},
-    {"_ZN5clang15BackendConsumer18HandleTopLevelDeclENS_12DeclGroupRefE", "clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef)"},
-    {"_ZN5clang15BackendConsumer21HandleTranslationUnitERNS_10ASTContextE", "clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN5clang15BackendConsumer23HandleTagDeclDefinitionEPNS_7TagDeclE", "clang::BackendConsumer::HandleTagDeclDefinition(clang::TagDecl*)"},
-    {"_ZN5clang15BackendConsumer27CompleteTentativeDefinitionEPNS_7VarDeclE", "clang::BackendConsumer::CompleteTentativeDefinition(clang::VarDecl*)"},
-    {"_ZN5clang15BackendConsumer12HandleVTableEPNS_13CXXRecordDeclEb", "clang::BackendConsumer::HandleVTable(clang::CXXRecordDecl*, bool)"},
-    {"_ZN5clang20PrettyStackTraceDeclD1Ev", "clang::PrettyStackTraceDecl::~PrettyStackTraceDecl()"},
-    {"_ZN5clang20PrettyStackTraceDeclD0Ev", "clang::PrettyStackTraceDecl::~PrettyStackTraceDecl()"},
-    {"_ZN5clang15BackendConsumer20InlineAsmDiagHandlerERKN4llvm12SMDiagnosticEPvj", "clang::BackendConsumer::InlineAsmDiagHandler(llvm::SMDiagnostic const&, void*, unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunctionC1ERNS0_13CodeGenModuleE", "clang::CodeGen::CodeGenFunction::CodeGenFunction(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunctionC2ERNS0_13CodeGenModuleE", "clang::CodeGen::CodeGenFunction::CodeGenFunction(clang::CodeGen::CodeGenModule&)"},
-    {"_ZNK5clang7CodeGen15CodeGenFunction10getContextEv", "clang::CodeGen::CodeGenFunction::getContext() const"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17ConvertTypeForMemENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::ConvertTypeForMem(clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11ConvertTypeENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::ConvertType(clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20hasAggregateLLVMTypeENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::hasAggregateLLVMType(clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction15EmitReturnBlockEv", "clang::CodeGen::CodeGenFunction::EmitReturnBlock()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14FinishFunctionENS_14SourceLocationE", "clang::CodeGen::CodeGenFunction::FinishFunction(clang::SourceLocation)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction27EmitFunctionInstrumentationEPKc", "clang::CodeGen::CodeGenFunction::EmitFunctionInstrumentation(char const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction24ShouldInstrumentFunctionEv", "clang::CodeGen::CodeGenFunction::ShouldInstrumentFunction()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13StartFunctionENS0_10GlobalDeclENS_8QualTypeEPN4llvm8FunctionERKNS4_11SmallVectorISt4pairIPKNS_7VarDeclES3_ELj16EEENS_14SourceLocationE", "clang::CodeGen::CodeGenFunction::StartFunction(clang::CodeGen::GlobalDecl, clang::QualType, llvm::Function*, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u> const&, clang::SourceLocation)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction11EmitVLASizeENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitVLASize(clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitFunctionBodyERN4llvm11SmallVectorISt4pairIPKNS_7VarDeclENS_8QualTypeEELj16EEE", "clang::CodeGen::CodeGenFunction::EmitFunctionBody(llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u>&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction12GenerateCodeENS0_10GlobalDeclEPN4llvm8FunctionE", "clang::CodeGen::CodeGenFunction::GenerateCode(clang::CodeGen::GlobalDecl, llvm::Function*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13ContainsLabelEPKNS_4StmtEb", "clang::CodeGen::CodeGenFunction::ContainsLabel(clang::Stmt const*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction28ConstantFoldsToSimpleIntegerEPKNS_4ExprE", "clang::CodeGen::CodeGenFunction::ConstantFoldsToSimpleInteger(clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20EmitBranchOnBoolExprEPKNS_4ExprEPN4llvm10BasicBlockES7_", "clang::CodeGen::CodeGenFunction::EmitBranchOnBoolExpr(clang::Expr const*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16ErrorUnsupportedEPKNS_4StmtEPKcb", "clang::CodeGen::CodeGenFunction::ErrorUnsupported(clang::Stmt const*, char const*, bool)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction22EmitNullInitializationEPN4llvm5ValueENS_8QualTypeE", "clang::CodeGen::CodeGenFunction::EmitNullInitialization(llvm::Value*, clang::QualType)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction10GetVLASizeEPKNS_17VariableArrayTypeE", "clang::CodeGen::CodeGenFunction::GetVLASize(clang::VariableArrayType const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction14GetAddrOfLabelEPKNS_9LabelStmtE", "clang::CodeGen::CodeGenFunction::GetAddrOfLabel(clang::LabelStmt const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction20GetIndirectGotoBlockEv", "clang::CodeGen::CodeGenFunction::GetIndirectGotoBlock()"},
-    {"_ZN5clang7CodeGen15CodeGenFunction13EmitVAListRefEPKNS_4ExprE", "clang::CodeGen::CodeGenFunction::EmitVAListRef(clang::Expr const*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction23EmitDeclRefExprDbgValueEPKNS_11DeclRefExprEPN4llvm8ConstantE", "clang::CodeGen::CodeGenFunction::EmitDeclRefExprDbgValue(clang::DeclRefExpr const*, llvm::Constant*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateMulEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateMul(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ExprEPNS_5ValueENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::Expr const*, llvm::Value*, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<llvm::Value*> >::InsertIntoBucket(clang::Expr const* const&, llvm::Value* const&, std::pair<clang::Expr const*, llvm::Value*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ExprEPNS_5ValueENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::Expr const*, llvm::Value*, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen13CodeGenModuleC1ERNS_10ASTContextERKNS_14CodeGenOptionsERN4llvm6ModuleERKNS7_10DataLayoutERNS_10DiagnosticE", "clang::CodeGen::CodeGenModule::CodeGenModule(clang::ASTContext&, clang::CodeGenOptions const&, llvm::Module&, llvm::DataLayout const&, clang::Diagnostic&)"},
-    {"_ZN5clang7CodeGen13CodeGenModuleC2ERNS_10ASTContextERKNS_14CodeGenOptionsERN4llvm6ModuleERKNS7_10DataLayoutERNS_10DiagnosticE", "clang::CodeGen::CodeGenModule::CodeGenModule(clang::ASTContext&, clang::CodeGenOptions const&, llvm::Module&, llvm::DataLayout const&, clang::Diagnostic&)"},
-    {"_ZN5clang7CodeGen13CodeGenModuleD1Ev", "clang::CodeGen::CodeGenModule::~CodeGenModule()"},
-    {"_ZN5clang7CodeGen13CodeGenModuleD2Ev", "clang::CodeGen::CodeGenModule::~CodeGenModule()"},
-    {"_ZN5clang7CodeGen13CodeGenModule17createObjCRuntimeEv", "clang::CodeGen::CodeGenModule::createObjCRuntime()"},
-    {"_ZN5clang7CodeGen13CodeGenModule7ReleaseEv", "clang::CodeGen::CodeGenModule::Release()"},
-    {"_ZN5clang7CodeGen13CodeGenModule12EmitDeferredEv", "clang::CodeGen::CodeGenModule::EmitDeferred()"},
-    {"_ZN5clang7CodeGen13CodeGenModule13AddGlobalCtorEPN4llvm8FunctionEi", "clang::CodeGen::CodeGenModule::AddGlobalCtor(llvm::Function*, int)"},
-    {"_ZN5clang7CodeGen13CodeGenModule12EmitCtorListERKSt6vectorISt4pairIPN4llvm8ConstantEiESaIS7_EEPKc", "clang::CodeGen::CodeGenModule::EmitCtorList(std::vector<std::pair<llvm::Constant*, int>, std::allocator<std::pair<llvm::Constant*, int> > > const&, char const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule15EmitAnnotationsEv", "clang::CodeGen::CodeGenModule::EmitAnnotations()"},
-    {"_ZN5clang7CodeGen13CodeGenModule12EmitLLVMUsedEv", "clang::CodeGen::CodeGenModule::EmitLLVMUsed()"},
-    {"_ZN5clang7CodeGen13CodeGenModule16EmitDeclMetadataEv", "clang::CodeGen::CodeGenModule::EmitDeclMetadata()"},
-    {"_ZN5clang7CodeGen13CodeGenModule11getTBAAInfoENS_8QualTypeE", "clang::CodeGen::CodeGenModule::getTBAAInfo(clang::QualType)"},
-    {"_ZN5clang7CodeGen13CodeGenModule19DecorateInstructionEPN4llvm11InstructionEPNS2_6MDNodeE", "clang::CodeGen::CodeGenModule::DecorateInstruction(llvm::Instruction*, llvm::MDNode*)"},
-    {"_ZNK5clang7CodeGen13CodeGenModule14isTargetDarwinEv", "clang::CodeGen::CodeGenModule::isTargetDarwin() const"},
-    {"_ZN5clang7CodeGen13CodeGenModule16ErrorUnsupportedEPKNS_4StmtEPKcb", "clang::CodeGen::CodeGenModule::ErrorUnsupported(clang::Stmt const*, char const*, bool)"},
-    {"_ZN5clang7CodeGen13CodeGenModule16ErrorUnsupportedEPKNS_4DeclEPKcb", "clang::CodeGen::CodeGenModule::ErrorUnsupported(clang::Decl const*, char const*, bool)"},
-    {"_ZNK5clang7CodeGen13CodeGenModule19setGlobalVisibilityEPN4llvm11GlobalValueEPKNS_9NamedDeclE", "clang::CodeGen::CodeGenModule::setGlobalVisibility(llvm::GlobalValue*, clang::NamedDecl const*) const"},
-    {"_ZNK5clang7CodeGen13CodeGenModule17setTypeVisibilityEPN4llvm11GlobalValueEPKNS_13CXXRecordDeclENS1_18TypeVisibilityKindE", "clang::CodeGen::CodeGenModule::setTypeVisibility(llvm::GlobalValue*, clang::CXXRecordDecl const*, clang::CodeGen::CodeGenModule::TypeVisibilityKind) const"},
-    {"_ZN5clang7CodeGen13CodeGenModule14getMangledNameENS0_10GlobalDeclE", "clang::CodeGen::CodeGenModule::getMangledName(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen13CodeGenModule19getBlockMangledNameENS0_10GlobalDeclERNS_12MangleBufferEPKNS_9BlockDeclE", "clang::CodeGen::CodeGenModule::getBlockMangledName(clang::CodeGen::GlobalDecl, clang::MangleBuffer&, clang::BlockDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule14GetGlobalValueEN4llvm9StringRefE", "clang::CodeGen::CodeGenModule::GetGlobalValue(llvm::StringRef)"},
-    {"_ZN5clang7CodeGen13CodeGenModule13AddGlobalDtorEPN4llvm8FunctionEi", "clang::CodeGen::CodeGenModule::AddGlobalDtor(llvm::Function*, int)"},
-    {"_ZN5clang7CodeGen13CodeGenModule18getFunctionLinkageEPKNS_12FunctionDeclE", "clang::CodeGen::CodeGenModule::getFunctionLinkage(clang::FunctionDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule31SetFunctionDefinitionAttributesEPKNS_12FunctionDeclEPN4llvm11GlobalValueE", "clang::CodeGen::CodeGenModule::SetFunctionDefinitionAttributes(clang::FunctionDecl const*, llvm::GlobalValue*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule19SetCommonAttributesEPKNS_4DeclEPN4llvm11GlobalValueE", "clang::CodeGen::CodeGenModule::SetCommonAttributes(clang::Decl const*, llvm::GlobalValue*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule25SetLLVMFunctionAttributesEPKNS_4DeclERKNS0_14CGFunctionInfoEPN4llvm8FunctionE", "clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributes(clang::Decl const*, clang::CodeGen::CGFunctionInfo const&, llvm::Function*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule38SetLLVMFunctionAttributesForDefinitionEPKNS_4DeclEPN4llvm8FunctionE", "clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition(clang::Decl const*, llvm::Function*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule13AddUsedGlobalEPN4llvm11GlobalValueE", "clang::CodeGen::CodeGenModule::AddUsedGlobal(llvm::GlobalValue*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule29SetInternalFunctionAttributesEPKNS_4DeclEPN4llvm8FunctionERKNS0_14CGFunctionInfoE", "clang::CodeGen::CodeGenModule::SetInternalFunctionAttributes(clang::Decl const*, llvm::Function*, clang::CodeGen::CGFunctionInfo const&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule21SetFunctionAttributesENS0_10GlobalDeclEPN4llvm8FunctionEb", "clang::CodeGen::CodeGenModule::SetFunctionAttributes(clang::CodeGen::GlobalDecl, llvm::Function*, bool)"},
-    {"_ZN5clang7CodeGen13CodeGenModule16getVTableLinkageEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenModule::getVTableLinkage(clang::CXXRecordDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule20EmitGlobalDefinitionENS0_10GlobalDeclE", "clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen13CodeGenModule16EmitAnnotateAttrEPN4llvm11GlobalValueEPKNS_12AnnotateAttrEj", "clang::CodeGen::CodeGenModule::EmitAnnotateAttr(llvm::GlobalValue*, clang::AnnotateAttr const*, unsigned int)"},
-    {"_ZN5clang7CodeGen13CodeGenModule18MayDeferGenerationEPKNS_9ValueDeclE", "clang::CodeGen::CodeGenModule::MayDeferGeneration(clang::ValueDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule19GetWeakRefReferenceEPKNS_9ValueDeclE", "clang::CodeGen::CodeGenModule::GetWeakRefReference(clang::ValueDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule23GetOrCreateLLVMFunctionEN4llvm9StringRefEPKNS2_4TypeENS0_10GlobalDeclEb", "clang::CodeGen::CodeGenModule::GetOrCreateLLVMFunction(llvm::StringRef, llvm::Type const*, clang::CodeGen::GlobalDecl, bool)"},
-    {"_ZN5clang7CodeGen13CodeGenModule21GetOrCreateLLVMGlobalEN4llvm9StringRefEPKNS2_11PointerTypeEPKNS_7VarDeclEb", "clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(llvm::StringRef, llvm::PointerType const*, clang::VarDecl const*, bool)"},
-    {"_ZN5clang7CodeGen13CodeGenModule10EmitGlobalENS0_10GlobalDeclE", "clang::CodeGen::CodeGenModule::EmitGlobal(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen13CodeGenModule19EmitAliasDefinitionENS0_10GlobalDeclE", "clang::CodeGen::CodeGenModule::EmitAliasDefinition(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen13CodeGenModule28EmitGlobalFunctionDefinitionENS0_10GlobalDeclE", "clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::CodeGen::GlobalDecl)"},
-    {"_ZN5clang7CodeGen13CodeGenModule23EmitGlobalVarDefinitionEPKNS_7VarDeclE", "clang::CodeGen::CodeGenModule::EmitGlobalVarDefinition(clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule17GetAddrOfFunctionENS0_10GlobalDeclEPKN4llvm4TypeEb", "clang::CodeGen::CodeGenModule::GetAddrOfFunction(clang::CodeGen::GlobalDecl, llvm::Type const*, bool)"},
-    {"_ZN5clang7CodeGen13CodeGenModule21CreateRuntimeFunctionEPKN4llvm12FunctionTypeENS2_9StringRefE", "clang::CodeGen::CodeGenModule::CreateRuntimeFunction(llvm::FunctionType const*, llvm::StringRef)"},
-    {"_Z20DeclIsConstantGlobalRN5clang10ASTContextEPKNS_7VarDeclE", "DeclIsConstantGlobal(clang::ASTContext&, clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule33CreateOrReplaceCXXRuntimeVariableEN4llvm9StringRefEPKNS2_4TypeENS2_11GlobalValue12LinkageTypesE", "clang::CodeGen::CodeGenModule::CreateOrReplaceCXXRuntimeVariable(llvm::StringRef, llvm::Type const*, llvm::GlobalValue::LinkageTypes)"},
-    {"_ZN5clang7CodeGen13CodeGenModule18GetAddrOfGlobalVarEPKNS_7VarDeclEPKN4llvm4TypeE", "clang::CodeGen::CodeGenModule::GetAddrOfGlobalVar(clang::VarDecl const*, llvm::Type const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule21CreateRuntimeVariableEPKN4llvm4TypeENS2_9StringRefE", "clang::CodeGen::CodeGenModule::CreateRuntimeVariable(llvm::Type const*, llvm::StringRef)"},
-    {"_ZN5clang7CodeGen13CodeGenModule23EmitTentativeDefinitionEPKNS_7VarDeclE", "clang::CodeGen::CodeGenModule::EmitTentativeDefinition(clang::VarDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule10EmitVTableEPNS_13CXXRecordDeclEb", "clang::CodeGen::CodeGenModule::EmitVTable(clang::CXXRecordDecl*, bool)"},
-    {"_ZNK5clang7CodeGen13CodeGenModule22GetTargetTypeStoreSizeEPKN4llvm4TypeE", "clang::CodeGen::CodeGenModule::GetTargetTypeStoreSize(llvm::Type const*) const"},
-    {"_ZN5clang7CodeGen13CodeGenModule27GetLLVMLinkageVarDefinitionEPKNS_7VarDeclEPN4llvm14GlobalVariableE", "clang::CodeGen::CodeGenModule::GetLLVMLinkageVarDefinition(clang::VarDecl const*, llvm::GlobalVariable*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule21getBuiltinLibFunctionEPKNS_12FunctionDeclEj", "clang::CodeGen::CodeGenModule::getBuiltinLibFunction(clang::FunctionDecl const*, unsigned int)"},
-    {"_ZN5clang7CodeGen13CodeGenModule12getIntrinsicEjPPKN4llvm4TypeEj", "clang::CodeGen::CodeGenModule::getIntrinsic(unsigned int, llvm::Type const**, unsigned int)"},
-    {"_ZN5clang7CodeGen13CodeGenModule25GetAddrOfConstantCFStringEPKNS_13StringLiteralE", "clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(clang::StringLiteral const*)"},
-    {"_Z24GetConstantCFStringEntryRN4llvm9StringMapIPNS_8ConstantENS_15MallocAllocatorEEEPKN5clang13StringLiteralEbRbRj", "GetConstantCFStringEntry(llvm::StringMap<llvm::Constant*, llvm::MallocAllocator>&, clang::StringLiteral const*, bool, bool&, unsigned int&)"},
-    {"_ZN5clang7CodeGen13CodeGenModule23GetAddrOfConstantStringEPKNS_13StringLiteralE", "clang::CodeGen::CodeGenModule::GetAddrOfConstantString(clang::StringLiteral const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule25GetStringForStringLiteralEPKNS_13StringLiteralE", "clang::CodeGen::CodeGenModule::GetStringForStringLiteral(clang::StringLiteral const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule34GetAddrOfConstantStringFromLiteralEPKNS_13StringLiteralE", "clang::CodeGen::CodeGenModule::GetAddrOfConstantStringFromLiteral(clang::StringLiteral const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule23GetAddrOfConstantStringERKSsPKc", "clang::CodeGen::CodeGenModule::GetAddrOfConstantString(std::string const&, char const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule37GetAddrOfConstantStringFromObjCEncodeEPKNS_14ObjCEncodeExprE", "clang::CodeGen::CodeGenModule::GetAddrOfConstantStringFromObjCEncode(clang::ObjCEncodeExpr const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule24GetAddrOfConstantCStringERKSsPKc", "clang::CodeGen::CodeGenModule::GetAddrOfConstantCString(std::string const&, char const*)"},
-    {"_Z21GenerateStringLiteralRKSsbRN5clang7CodeGen13CodeGenModuleEPKc", "GenerateStringLiteral(std::string const&, bool, clang::CodeGen::CodeGenModule&, char const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule31EmitObjCPropertyImplementationsEPKNS_22ObjCImplementationDeclE", "clang::CodeGen::CodeGenModule::EmitObjCPropertyImplementations(clang::ObjCImplementationDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule27EmitObjCIvarInitializationsEPNS_22ObjCImplementationDeclE", "clang::CodeGen::CodeGenModule::EmitObjCIvarInitializations(clang::ObjCImplementationDecl*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule13EmitNamespaceEPKNS_13NamespaceDeclE", "clang::CodeGen::CodeGenModule::EmitNamespace(clang::NamespaceDecl const*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule16EmitTopLevelDeclEPNS_4DeclE", "clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*)"},
-    {"_ZN5clang7CodeGen13CodeGenModule15EmitLinkageSpecEPKNS_15LinkageSpecDeclE", "clang::CodeGen::CodeGenModule::EmitLinkageSpec(clang::LinkageSpecDecl const*)"},
-    {"_Z22EmitGlobalDeclMetadataRN5clang7CodeGen13CodeGenModuleERPN4llvm11NamedMDNodeENS0_10GlobalDeclEPNS3_11GlobalValueE", "EmitGlobalDeclMetadata(clang::CodeGen::CodeGenModule&, llvm::NamedMDNode*&, clang::CodeGen::GlobalDecl, llvm::GlobalValue*)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction16EmitDeclMetadataEv", "clang::CodeGen::CodeGenFunction::EmitDeclMetadata()"},
-    {"_ZN5clang7CodeGen13CodeGenModule21getBlockObjectDisposeEv", "clang::CodeGen::CodeGenModule::getBlockObjectDispose()"},
-    {"_ZN5clang7CodeGen13CodeGenModule20getBlockObjectAssignEv", "clang::CodeGen::CodeGenModule::getBlockObjectAssign()"},
-    {"_ZN5clang7CodeGen13CodeGenModule24getNSConcreteGlobalBlockEv", "clang::CodeGen::CodeGenModule::getNSConcreteGlobalBlock()"},
-    {"_ZN5clang7CodeGen13CodeGenModule23getNSConcreteStackBlockEv", "clang::CodeGen::CodeGenModule::getNSConcreteStackBlock()"},
-    {"_ZNK5clang4Decl7getAttrINS_11SectionAttrEEEPT_v", "clang::SectionAttr* clang::Decl::getAttr<clang::SectionAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_9AliasAttrEEEPT_v", "clang::AliasAttr* clang::Decl::getAttr<clang::AliasAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_12AnnotateAttrEEEPT_v", "clang::AnnotateAttr* clang::Decl::getAttr<clang::AnnotateAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_12NoCommonAttrEEEPT_v", "clang::NoCommonAttr* clang::Decl::getAttr<clang::NoCommonAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_10CommonAttrEEEPT_v", "clang::CommonAttr* clang::Decl::getAttr<clang::CommonAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_15ConstructorAttrEEEPT_v", "clang::ConstructorAttr* clang::Decl::getAttr<clang::ConstructorAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_14DestructorAttrEEEPT_v", "clang::DestructorAttr* clang::Decl::getAttr<clang::DestructorAttr>() const"},
-    {"_ZN4llvm9StringMapIPNS_8ConstantENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::Constant*>& llvm::StringMap<llvm::Constant*, llvm::MallocAllocator>::GetOrCreateValue<llvm::Constant*>(llvm::StringRef, llvm::Constant*)"},
-    {"_ZN4llvm9StringMapIN5clang7CodeGen10GlobalDeclENS_15MallocAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<clang::CodeGen::GlobalDecl>& llvm::StringMap<clang::CodeGen::GlobalDecl, llvm::MallocAllocator>::GetOrCreateValue<clang::CodeGen::GlobalDecl>(llvm::StringRef, clang::CodeGen::GlobalDecl)"},
-    {"_ZNSt6vectorIN5clang7CodeGen10GlobalDeclESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::CodeGen::GlobalDecl, std::allocator<clang::CodeGen::GlobalDecl> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CodeGen::GlobalDecl*, std::vector<clang::CodeGen::GlobalDecl, std::allocator<clang::CodeGen::GlobalDecl> > >, clang::CodeGen::GlobalDecl const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::Decl const*, unsigned int, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::Decl const* const&, unsigned int const&, std::pair<clang::Decl const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::Decl const*, unsigned int, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm8ConstantEiESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<llvm::Constant*, int>, std::allocator<std::pair<llvm::Constant*, int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, int>*, std::vector<std::pair<llvm::Constant*, int>, std::allocator<std::pair<llvm::Constant*, int> > > >, std::pair<llvm::Constant*, int> const&)"},
-    {"_ZN4llvm8DenseMapIN5clang7CodeGen10GlobalDeclENS_9StringRefENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<clang::CodeGen::GlobalDecl, llvm::StringRef, llvm::DenseMapInfo<clang::CodeGen::GlobalDecl>, llvm::DenseMapInfo<llvm::StringRef> >::InsertIntoBucket(clang::CodeGen::GlobalDecl const&, llvm::StringRef const&, std::pair<clang::CodeGen::GlobalDecl, llvm::StringRef>*)"},
-    {"_ZN4llvm8DenseMapIN5clang7CodeGen10GlobalDeclENS_9StringRefENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<clang::CodeGen::GlobalDecl, llvm::StringRef, llvm::DenseMapInfo<clang::CodeGen::GlobalDecl>, llvm::DenseMapInfo<llvm::StringRef> >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen15CodeGenFunctionD2Ev", "clang::CodeGen::CodeGenFunction::~CodeGenFunction()"},
-    {"_ZN5clang7CodeGen14CodeGenVTablesD2Ev", "clang::CodeGen::CodeGenVTables::~CodeGenVTables()"},
-    {"_ZN5clang7CodeGen14CodeGenVTablesC2ERNS0_13CodeGenModuleE", "clang::CodeGen::CodeGenVTables::CodeGenVTables(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN5clang7CodeGen11CodeGenTBAAC1ERNS_10ASTContextERN4llvm11LLVMContextERKNS_11LangOptionsERNS_13MangleContextE", "clang::CodeGen::CodeGenTBAA::CodeGenTBAA(clang::ASTContext&, llvm::LLVMContext&, clang::LangOptions const&, clang::MangleContext&)"},
-    {"_ZN5clang7CodeGen11CodeGenTBAAC2ERNS_10ASTContextERN4llvm11LLVMContextERKNS_11LangOptionsERNS_13MangleContextE", "clang::CodeGen::CodeGenTBAA::CodeGenTBAA(clang::ASTContext&, llvm::LLVMContext&, clang::LangOptions const&, clang::MangleContext&)"},
-    {"_ZN5clang7CodeGen11CodeGenTBAAD1Ev", "clang::CodeGen::CodeGenTBAA::~CodeGenTBAA()"},
-    {"_ZN5clang7CodeGen11CodeGenTBAAD2Ev", "clang::CodeGen::CodeGenTBAA::~CodeGenTBAA()"},
-    {"_ZN5clang7CodeGen11CodeGenTBAA7getRootEv", "clang::CodeGen::CodeGenTBAA::getRoot()"},
-    {"_ZN5clang7CodeGen11CodeGenTBAA23getTBAAInfoForNamedTypeEN4llvm9StringRefEPNS2_6MDNodeEb", "clang::CodeGen::CodeGenTBAA::getTBAAInfoForNamedType(llvm::StringRef, llvm::MDNode*, bool)"},
-    {"_ZN5clang7CodeGen11CodeGenTBAA7getCharEv", "clang::CodeGen::CodeGenTBAA::getChar()"},
-    {"_ZN5clang7CodeGen11CodeGenTBAA11getTBAAInfoENS_8QualTypeE", "clang::CodeGen::CodeGenTBAA::getTBAAInfo(clang::QualType)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeEPNS_6MDNodeENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::Type const*, llvm::MDNode*, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<llvm::MDNode*> >::InsertIntoBucket(clang::Type const* const&, llvm::MDNode* const&, std::pair<clang::Type const*, llvm::MDNode*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeEPNS_6MDNodeENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::Type const*, llvm::MDNode*, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<llvm::MDNode*> >::grow(unsigned int)"},
-    {"_ZN5clang7CodeGen12CodeGenTypesC1ERNS_10ASTContextERN4llvm6ModuleERKNS4_10DataLayoutERKNS_7ABIInfoERNS0_8CGCXXABIE", "clang::CodeGen::CodeGenTypes::CodeGenTypes(clang::ASTContext&, llvm::Module&, llvm::DataLayout const&, clang::ABIInfo const&, clang::CodeGen::CGCXXABI&)"},
-    {"_ZN5clang7CodeGen12CodeGenTypesC2ERNS_10ASTContextERN4llvm6ModuleERKNS4_10DataLayoutERKNS_7ABIInfoERNS0_8CGCXXABIE", "clang::CodeGen::CodeGenTypes::CodeGenTypes(clang::ASTContext&, llvm::Module&, llvm::DataLayout const&, clang::ABIInfo const&, clang::CodeGen::CGCXXABI&)"},
-    {"_ZN5clang7CodeGen12CodeGenTypesD1Ev", "clang::CodeGen::CodeGenTypes::~CodeGenTypes()"},
-    {"_ZN5clang7CodeGen12CodeGenTypesD2Ev", "clang::CodeGen::CodeGenTypes::~CodeGenTypes()"},
-    {"_ZN5clang7CodeGen12CodeGenTypes26HandleLateResolvedPointersEv", "clang::CodeGen::CodeGenTypes::HandleLateResolvedPointers()"},
-    {"_ZN5clang7CodeGen12CodeGenTypes11ConvertTypeENS_8QualTypeEb", "clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType, bool)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes20ConvertTypeRecursiveENS_8QualTypeE", "clang::CodeGen::CodeGenTypes::ConvertTypeRecursive(clang::QualType)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes14ConvertNewTypeENS_8QualTypeE", "clang::CodeGen::CodeGenTypes::ConvertNewType(clang::QualType)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes17ConvertTypeForMemENS_8QualTypeEb", "clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes22VerifyFuncTypeCompleteEPKNS_4TypeE", "clang::CodeGen::CodeGenTypes::VerifyFuncTypeComplete(clang::Type const*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes19UpdateCompletedTypeEPKNS_7TagDeclE", "clang::CodeGen::CodeGenTypes::UpdateCompletedType(clang::TagDecl const*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes18ConvertTagDeclTypeEPKNS_7TagDeclE", "clang::CodeGen::CodeGenTypes::ConvertTagDeclType(clang::TagDecl const*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes17getCGRecordLayoutEPKNS_10RecordDeclE", "clang::CodeGen::CodeGenTypes::getCGRecordLayout(clang::RecordDecl const*)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes19isZeroInitializableENS_8QualTypeE", "clang::CodeGen::CodeGenTypes::isZeroInitializable(clang::QualType)"},
-    {"_ZN5clang7CodeGen12CodeGenTypes19isZeroInitializableEPKNS_13CXXRecordDeclE", "clang::CodeGen::CodeGenTypes::isZeroInitializable(clang::CXXRecordDecl const*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeENS_12PATypeHolderENS_12DenseMapInfoIS4_EENS6_IS5_EEED1Ev", "llvm::DenseMap<clang::Type const*, llvm::PATypeHolder, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<llvm::PATypeHolder> >::~DenseMap()"},
-    {"_ZN4llvm10FoldingSetIN5clang7CodeGen14CGFunctionInfoEED1Ev", "llvm::FoldingSet<clang::CodeGen::CGFunctionInfo>::~FoldingSet()"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeENS_12PATypeHolderENS_12DenseMapInfoIS4_EENS6_IS5_EEE6insertERKSt4pairIS4_S5_E", "llvm::DenseMap<clang::Type const*, llvm::PATypeHolder, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<llvm::PATypeHolder> >::insert(std::pair<clang::Type const*, llvm::PATypeHolder> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeEPNS1_7CodeGen14CGRecordLayoutENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::Type const*, clang::CodeGen::CGRecordLayout*, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<clang::CodeGen::CGRecordLayout*> >::InsertIntoBucket(clang::Type const* const&, clang::CodeGen::CGRecordLayout* const&, std::pair<clang::Type const*, clang::CodeGen::CGRecordLayout*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeEPNS1_7CodeGen14CGRecordLayoutENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::Type const*, clang::CodeGen::CGRecordLayout*, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<clang::CodeGen::CGRecordLayout*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang17ObjCInterfaceTypeEPKNS_4TypeENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::ObjCInterfaceType const*, llvm::Type const*, llvm::DenseMapInfo<clang::ObjCInterfaceType const*>, llvm::DenseMapInfo<llvm::Type const*> >::InsertIntoBucket(clang::ObjCInterfaceType const* const&, llvm::Type const* const&, std::pair<clang::ObjCInterfaceType const*, llvm::Type const*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang17ObjCInterfaceTypeEPKNS_4TypeENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::ObjCInterfaceType const*, llvm::Type const*, llvm::DenseMapInfo<clang::ObjCInterfaceType const*>, llvm::DenseMapInfo<llvm::Type const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeENS_12PATypeHolderENS_12DenseMapInfoIS4_EENS6_IS5_EEE16InsertIntoBucketERKS4_RKS5_PSt4pairIS4_S5_E", "llvm::DenseMap<clang::Type const*, llvm::PATypeHolder, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<llvm::PATypeHolder> >::InsertIntoBucket(clang::Type const* const&, llvm::PATypeHolder const&, std::pair<clang::Type const*, llvm::PATypeHolder>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeENS_12PATypeHolderENS_12DenseMapInfoIS4_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Type const*, llvm::PATypeHolder, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<llvm::PATypeHolder> >::grow(unsigned int)"},
-    {"_ZN4llvm10FoldingSetIN5clang7CodeGen14CGFunctionInfoEED0Ev", "llvm::FoldingSet<clang::CodeGen::CGFunctionInfo>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang7CodeGen14CGFunctionInfoEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::CodeGen::CGFunctionInfo>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang7CodeGen14CGFunctionInfoEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::CodeGen::CGFunctionInfo>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang7CodeGen14CGFunctionInfoEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::CodeGen::CGFunctionInfo>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang7CodeGen14CGFunctionInfo7ProfileERN4llvm16FoldingSetNodeIDE", "clang::CodeGen::CGFunctionInfo::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang7CodeGen14CGRecordLayoutD2Ev", "clang::CodeGen::CGRecordLayout::~CGRecordLayout()"},
-    {"_ZN5clang7CodeGen19CreateItaniumCXXABIERNS0_13CodeGenModuleE", "clang::CodeGen::CreateItaniumCXXABI(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN5clang7CodeGen15CreateARMCXXABIERNS0_13CodeGenModuleE", "clang::CodeGen::CreateARMCXXABI(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABID1Ev", "(anonymous namespace)::ARMCXXABI::~ARMCXXABI()"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABID0Ev", "(anonymous namespace)::ARMCXXABI::~ARMCXXABI()"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI24ConvertMemberPointerTypeEPKN5clang17MemberPointerTypeE", "(anonymous namespace)::ItaniumCXXABI::ConvertMemberPointerType(clang::MemberPointerType const*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI31EmitLoadOfMemberFunctionPointerERN5clang7CodeGen15CodeGenFunctionERPN4llvm5ValueES7_PKNS1_17MemberPointerTypeE", "(anonymous namespace)::ItaniumCXXABI::EmitLoadOfMemberFunctionPointer(clang::CodeGen::CodeGenFunction&, llvm::Value*&, llvm::Value*, clang::MemberPointerType const*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI28EmitMemberDataPointerAddressERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_PKNS1_17MemberPointerTypeE", "(anonymous namespace)::ItaniumCXXABI::EmitMemberDataPointerAddress(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, clang::MemberPointerType const*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI27EmitMemberPointerConversionERN5clang7CodeGen15CodeGenFunctionEPKNS1_8CastExprEPN4llvm5ValueE", "(anonymous namespace)::ItaniumCXXABI::EmitMemberPointerConversion(clang::CodeGen::CodeGenFunction&, clang::CastExpr const*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI27EmitMemberPointerConversionEPN4llvm8ConstantEPKN5clang8CastExprE", "(anonymous namespace)::ItaniumCXXABI::EmitMemberPointerConversion(llvm::Constant*, clang::CastExpr const*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI19isZeroInitializableEPKN5clang17MemberPointerTypeE", "(anonymous namespace)::ItaniumCXXABI::isZeroInitializable(clang::MemberPointerType const*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI21EmitNullMemberPointerEPKN5clang17MemberPointerTypeE", "(anonymous namespace)::ItaniumCXXABI::EmitNullMemberPointer(clang::MemberPointerType const*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI17EmitMemberPointerEPKN5clang13CXXMethodDeclE", "(anonymous namespace)::ItaniumCXXABI::EmitMemberPointer(clang::CXXMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI21EmitMemberDataPointerEPKN5clang17MemberPointerTypeENS1_9CharUnitsE", "(anonymous namespace)::ItaniumCXXABI::EmitMemberDataPointer(clang::MemberPointerType const*, clang::CharUnits)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI27EmitMemberPointerComparisonERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_PKNS1_17MemberPointerTypeEb", "(anonymous namespace)::ItaniumCXXABI::EmitMemberPointerComparison(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, clang::MemberPointerType const*, bool)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI26EmitMemberPointerIsNotNullERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueEPKNS1_17MemberPointerTypeE", "(anonymous namespace)::ItaniumCXXABI::EmitMemberPointerIsNotNull(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::MemberPointerType const*)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABI25BuildConstructorSignatureEPKN5clang18CXXConstructorDeclENS1_11CXXCtorTypeERNS1_7CanQualINS1_4TypeEEERN4llvm15SmallVectorImplIS8_EE", "(anonymous namespace)::ARMCXXABI::BuildConstructorSignature(clang::CXXConstructorDecl const*, clang::CXXCtorType, clang::CanQual<clang::Type>&, llvm::SmallVectorImpl<clang::CanQual<clang::Type> >&)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABI24BuildDestructorSignatureEPKN5clang17CXXDestructorDeclENS1_11CXXDtorTypeERNS1_7CanQualINS1_4TypeEEERN4llvm15SmallVectorImplIS8_EE", "(anonymous namespace)::ARMCXXABI::BuildDestructorSignature(clang::CXXDestructorDecl const*, clang::CXXDtorType, clang::CanQual<clang::Type>&, llvm::SmallVectorImpl<clang::CanQual<clang::Type> >&)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABI27BuildInstanceFunctionParamsERN5clang7CodeGen15CodeGenFunctionERNS1_8QualTypeERN4llvm11SmallVectorISt4pairIPKNS1_7VarDeclES5_ELj16EEE", "(anonymous namespace)::ARMCXXABI::BuildInstanceFunctionParams(clang::CodeGen::CodeGenFunction&, clang::QualType&, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u>&)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABI26EmitInstanceFunctionPrologERN5clang7CodeGen15CodeGenFunctionE", "(anonymous namespace)::ARMCXXABI::EmitInstanceFunctionProlog(clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABI19EmitReturnFromThunkERN5clang7CodeGen15CodeGenFunctionENS2_6RValueENS1_8QualTypeE", "(anonymous namespace)::ARMCXXABI::EmitReturnFromThunk(clang::CodeGen::CodeGenFunction&, clang::CodeGen::RValue, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABI18GetArrayCookieSizeEPKN5clang10CXXNewExprE", "(anonymous namespace)::ARMCXXABI::GetArrayCookieSize(clang::CXXNewExpr const*)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABI21InitializeArrayCookieERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_PKNS1_10CXXNewExprENS1_8QualTypeE", "(anonymous namespace)::ARMCXXABI::InitializeArrayCookie(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, clang::CXXNewExpr const*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABI15ReadArrayCookieERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueEPKNS1_13CXXDeleteExprENS1_8QualTypeERS7_SC_RNS1_9CharUnitsE", "(anonymous namespace)::ARMCXXABI::ReadArrayCookie(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::CXXDeleteExpr const*, clang::QualType, llvm::Value*&, llvm::Value*&, clang::CharUnits&)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI15EmitGuardedInitERN5clang7CodeGen15CodeGenFunctionERKNS1_7VarDeclEPN4llvm14GlobalVariableE", "(anonymous namespace)::ItaniumCXXABI::EmitGuardedInit(clang::CodeGen::CodeGenFunction&, clang::VarDecl const&, llvm::GlobalVariable*)"},
-    {"_ZN12_GLOBAL__N_114CallGuardAbortD1Ev", "(anonymous namespace)::CallGuardAbort::~CallGuardAbort()"},
-    {"_ZN12_GLOBAL__N_114CallGuardAbortD0Ev", "(anonymous namespace)::CallGuardAbort::~CallGuardAbort()"},
-    {"_ZN12_GLOBAL__N_114CallGuardAbort4EmitERN5clang7CodeGen15CodeGenFunctionEb", "(anonymous namespace)::CallGuardAbort::Emit(clang::CodeGen::CodeGenFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI26EmitInstanceFunctionPrologERN5clang7CodeGen15CodeGenFunctionE", "(anonymous namespace)::ItaniumCXXABI::EmitInstanceFunctionProlog(clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI27BuildInstanceFunctionParamsERN5clang7CodeGen15CodeGenFunctionERNS1_8QualTypeERN4llvm11SmallVectorISt4pairIPKNS1_7VarDeclES5_ELj16EEE", "(anonymous namespace)::ItaniumCXXABI::BuildInstanceFunctionParams(clang::CodeGen::CodeGenFunction&, clang::QualType&, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u>&)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI24BuildDestructorSignatureEPKN5clang17CXXDestructorDeclENS1_11CXXDtorTypeERNS1_7CanQualINS1_4TypeEEERN4llvm15SmallVectorImplIS8_EE", "(anonymous namespace)::ItaniumCXXABI::BuildDestructorSignature(clang::CXXDestructorDecl const*, clang::CXXDtorType, clang::CanQual<clang::Type>&, llvm::SmallVectorImpl<clang::CanQual<clang::Type> >&)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI25BuildConstructorSignatureEPKN5clang18CXXConstructorDeclENS1_11CXXCtorTypeERNS1_7CanQualINS1_4TypeEEERN4llvm15SmallVectorImplIS8_EE", "(anonymous namespace)::ItaniumCXXABI::BuildConstructorSignature(clang::CXXConstructorDecl const*, clang::CXXCtorType, clang::CanQual<clang::Type>&, llvm::SmallVectorImpl<clang::CanQual<clang::Type> >&)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABID1Ev", "(anonymous namespace)::ItaniumCXXABI::~ItaniumCXXABI()"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABID0Ev", "(anonymous namespace)::ItaniumCXXABI::~ItaniumCXXABI()"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI18GetArrayCookieSizeEPKN5clang10CXXNewExprE", "(anonymous namespace)::ItaniumCXXABI::GetArrayCookieSize(clang::CXXNewExpr const*)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI21InitializeArrayCookieERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueES7_PKNS1_10CXXNewExprENS1_8QualTypeE", "(anonymous namespace)::ItaniumCXXABI::InitializeArrayCookie(clang::CodeGen::CodeGenFunction&, llvm::Value*, llvm::Value*, clang::CXXNewExpr const*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABI15ReadArrayCookieERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueEPKNS1_13CXXDeleteExprENS1_8QualTypeERS7_SC_RNS1_9CharUnitsE", "(anonymous namespace)::ItaniumCXXABI::ReadArrayCookie(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::CXXDeleteExpr const*, clang::QualType, llvm::Value*&, llvm::Value*&, clang::CharUnits&)"},
-    {"_ZN5clang7CodeGen15CodeGenFunction17GetAddrOfLocalVarEPKNS_7VarDeclE", "clang::CodeGen::CodeGenFunction::GetAddrOfLocalVar(clang::VarDecl const*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE8CreateOrEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateOr(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE11CreateBinOpENS_11Instruction9BinaryOpsEPNS_5ValueES8_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateBinOp(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateNSWSubEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateNSWSub(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateNSWAddEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateNSWAdd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateSelectEPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateSelect(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE17CreateInsertValueEPNS_5ValueES6_jRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateInsertValue(llvm::Value*, llvm::Value*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateAShrEPNS_5ValueES6_RKNS_5TwineEb", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateAShr(llvm::Value*, llvm::Value*, llvm::Twine const&, bool)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateSubEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateSub(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN5clang7CodeGen21CreateMicrosoftCXXABIERNS0_13CodeGenModuleE", "clang::CodeGen::CreateMicrosoftCXXABI(clang::CodeGen::CodeGenModule&)"},
-    {"_ZN12_GLOBAL__N_115MicrosoftCXXABID1Ev", "(anonymous namespace)::MicrosoftCXXABI::~MicrosoftCXXABI()"},
-    {"_ZN12_GLOBAL__N_115MicrosoftCXXABID0Ev", "(anonymous namespace)::MicrosoftCXXABI::~MicrosoftCXXABI()"},
-    {"_ZN12_GLOBAL__N_115MicrosoftCXXABI25BuildConstructorSignatureEPKN5clang18CXXConstructorDeclENS1_11CXXCtorTypeERNS1_7CanQualINS1_4TypeEEERN4llvm15SmallVectorImplIS8_EE", "(anonymous namespace)::MicrosoftCXXABI::BuildConstructorSignature(clang::CXXConstructorDecl const*, clang::CXXCtorType, clang::CanQual<clang::Type>&, llvm::SmallVectorImpl<clang::CanQual<clang::Type> >&)"},
-    {"_ZN12_GLOBAL__N_115MicrosoftCXXABI24BuildDestructorSignatureEPKN5clang17CXXDestructorDeclENS1_11CXXDtorTypeERNS1_7CanQualINS1_4TypeEEERN4llvm15SmallVectorImplIS8_EE", "(anonymous namespace)::MicrosoftCXXABI::BuildDestructorSignature(clang::CXXDestructorDecl const*, clang::CXXDtorType, clang::CanQual<clang::Type>&, llvm::SmallVectorImpl<clang::CanQual<clang::Type> >&)"},
-    {"_ZN12_GLOBAL__N_115MicrosoftCXXABI27BuildInstanceFunctionParamsERN5clang7CodeGen15CodeGenFunctionERNS1_8QualTypeERN4llvm11SmallVectorISt4pairIPKNS1_7VarDeclES5_ELj16EEE", "(anonymous namespace)::MicrosoftCXXABI::BuildInstanceFunctionParams(clang::CodeGen::CodeGenFunction&, clang::QualType&, llvm::SmallVector<std::pair<clang::VarDecl const*, clang::QualType>, 16u>&)"},
-    {"_ZN12_GLOBAL__N_115MicrosoftCXXABI26EmitInstanceFunctionPrologERN5clang7CodeGen15CodeGenFunctionE", "(anonymous namespace)::MicrosoftCXXABI::EmitInstanceFunctionProlog(clang::CodeGen::CodeGenFunction&)"},
-    {"_ZN5clang17CreateLLVMCodeGenERNS_10DiagnosticERKSsRKNS_14CodeGenOptionsERN4llvm11LLVMContextE", "clang::CreateLLVMCodeGen(clang::Diagnostic&, std::string const&, clang::CodeGenOptions const&, llvm::LLVMContext&)"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImplD1Ev", "(anonymous namespace)::CodeGeneratorImpl::~CodeGeneratorImpl()"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImplD0Ev", "(anonymous namespace)::CodeGeneratorImpl::~CodeGeneratorImpl()"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImpl10InitializeERN5clang10ASTContextE", "(anonymous namespace)::CodeGeneratorImpl::Initialize(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImpl18HandleTopLevelDeclEN5clang12DeclGroupRefE", "(anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef)"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImpl21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImpl23HandleTagDeclDefinitionEPN5clang7TagDeclE", "(anonymous namespace)::CodeGeneratorImpl::HandleTagDeclDefinition(clang::TagDecl*)"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImpl27CompleteTentativeDefinitionEPN5clang7VarDeclE", "(anonymous namespace)::CodeGeneratorImpl::CompleteTentativeDefinition(clang::VarDecl*)"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImpl12HandleVTableEPN5clang13CXXRecordDeclEb", "(anonymous namespace)::CodeGeneratorImpl::HandleVTable(clang::CXXRecordDecl*, bool)"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImpl9GetModuleEv", "(anonymous namespace)::CodeGeneratorImpl::GetModule()"},
-    {"_ZN12_GLOBAL__N_117CodeGeneratorImpl13ReleaseModuleEv", "(anonymous namespace)::CodeGeneratorImpl::ReleaseModule()"},
-    {"_ZN5clang13CodeGeneratorD1Ev", "clang::CodeGenerator::~CodeGenerator()"},
-    {"_ZN5clang13CodeGeneratorD0Ev", "clang::CodeGenerator::~CodeGenerator()"},
-    {"_ZN5clang7ABIInfoD0Ev", "clang::ABIInfo::~ABIInfo()"},
-    {"_ZN5clang7ABIInfoD1Ev", "clang::ABIInfo::~ABIInfo()"},
-    {"_ZN5clang7ABIInfoD2Ev", "clang::ABIInfo::~ABIInfo()"},
-    {"_ZNK5clang7ABIInfo10getContextEv", "clang::ABIInfo::getContext() const"},
-    {"_ZNK5clang7ABIInfo12getVMContextEv", "clang::ABIInfo::getVMContext() const"},
-    {"_ZNK5clang7ABIInfo13getDataLayoutEv", "clang::ABIInfo::getDataLayout() const"},
-    {"_ZNK5clang10ABIArgInfo4dumpEv", "clang::ABIArgInfo::dump() const"},
-    {"_ZN5clang17TargetCodeGenInfoD0Ev", "clang::TargetCodeGenInfo::~TargetCodeGenInfo()"},
-    {"_ZN5clang17TargetCodeGenInfoD1Ev", "clang::TargetCodeGenInfo::~TargetCodeGenInfo()"},
-    {"_ZN5clang17TargetCodeGenInfoD2Ev", "clang::TargetCodeGenInfo::~TargetCodeGenInfo()"},
-    {"_ZN5clang7CodeGen13CodeGenModule20getTargetCodeGenInfoEv", "clang::CodeGen::CodeGenModule::getTargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_123X86_64TargetCodeGenInfoD1Ev", "(anonymous namespace)::X86_64TargetCodeGenInfo::~X86_64TargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_123X86_64TargetCodeGenInfoD0Ev", "(anonymous namespace)::X86_64TargetCodeGenInfo::~X86_64TargetCodeGenInfo()"},
-    {"_ZNK12_GLOBAL__N_123X86_64TargetCodeGenInfo22getDwarfEHStackPointerERN5clang7CodeGen13CodeGenModuleE", "(anonymous namespace)::X86_64TargetCodeGenInfo::getDwarfEHStackPointer(clang::CodeGen::CodeGenModule&) const"},
-    {"_ZNK12_GLOBAL__N_123X86_64TargetCodeGenInfo23initDwarfEHRegSizeTableERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "(anonymous namespace)::X86_64TargetCodeGenInfo::initDwarfEHRegSizeTable(clang::CodeGen::CodeGenFunction&, llvm::Value*) const"},
-    {"_ZN12_GLOBAL__N_113X86_64ABIInfoD1Ev", "(anonymous namespace)::X86_64ABIInfo::~X86_64ABIInfo()"},
-    {"_ZN12_GLOBAL__N_113X86_64ABIInfoD0Ev", "(anonymous namespace)::X86_64ABIInfo::~X86_64ABIInfo()"},
-    {"_ZNK12_GLOBAL__N_113X86_64ABIInfo11computeInfoERN5clang7CodeGen14CGFunctionInfoE", "(anonymous namespace)::X86_64ABIInfo::computeInfo(clang::CodeGen::CGFunctionInfo&) const"},
-    {"_ZNK12_GLOBAL__N_113X86_64ABIInfo9EmitVAArgEPN4llvm5ValueEN5clang8QualTypeERNS4_7CodeGen15CodeGenFunctionE", "(anonymous namespace)::X86_64ABIInfo::EmitVAArg(llvm::Value*, clang::QualType, clang::CodeGen::CodeGenFunction&) const"},
-    {"_ZNK12_GLOBAL__N_113X86_64ABIInfo20classifyArgumentTypeEN5clang8QualTypeERjS3_", "(anonymous namespace)::X86_64ABIInfo::classifyArgumentType(clang::QualType, unsigned int&, unsigned int&) const"},
-    {"_Z19EmitVAArgFromMemoryPN4llvm5ValueEN5clang8QualTypeERNS2_7CodeGen15CodeGenFunctionE", "EmitVAArgFromMemory(llvm::Value*, clang::QualType, clang::CodeGen::CodeGenFunction&)"},
-    {"_ZNK12_GLOBAL__N_113X86_64ABIInfo8classifyEN5clang8QualTypeEyRNS0_5ClassES4_", "(anonymous namespace)::X86_64ABIInfo::classify(clang::QualType, unsigned long long, (anonymous namespace)::X86_64ABIInfo::Class&, (anonymous namespace)::X86_64ABIInfo::Class&) const"},
-    {"_ZNK12_GLOBAL__N_113X86_64ABIInfo17getIndirectResultEN5clang8QualTypeE", "(anonymous namespace)::X86_64ABIInfo::getIndirectResult(clang::QualType) const"},
-    {"_ZNK12_GLOBAL__N_113X86_64ABIInfo22GetINTEGERTypeAtOffsetEPKN4llvm4TypeEjN5clang8QualTypeEj", "(anonymous namespace)::X86_64ABIInfo::GetINTEGERTypeAtOffset(llvm::Type const*, unsigned int, clang::QualType, unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_113X86_64ABIInfo18GetSSETypeAtOffsetEPKN4llvm4TypeEjN5clang8QualTypeEj", "(anonymous namespace)::X86_64ABIInfo::GetSSETypeAtOffset(llvm::Type const*, unsigned int, clang::QualType, unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_113X86_64ABIInfo19Get16ByteVectorTypeEN5clang8QualTypeE", "(anonymous namespace)::X86_64ABIInfo::Get16ByteVectorType(clang::QualType) const"},
-    {"_Z26GetX86_64ByValArgumentPairPKN4llvm4TypeES2_RKNS_10DataLayoutE", "GetX86_64ByValArgumentPair(llvm::Type const*, llvm::Type const*, llvm::DataLayout const&)"},
-    {"_Z21BitsContainNoUserDataN5clang8QualTypeEjjRNS_10ASTContextE", "BitsContainNoUserData(clang::QualType, unsigned int, unsigned int, clang::ASTContext&)"},
-    {"_Z21ContainsFloatAtOffsetPKN4llvm4TypeEjRKNS_10DataLayoutE", "ContainsFloatAtOffset(llvm::Type const*, unsigned int, llvm::DataLayout const&)"},
-    {"_ZN12_GLOBAL__N_126WinX86_64TargetCodeGenInfoD1Ev", "(anonymous namespace)::WinX86_64TargetCodeGenInfo::~WinX86_64TargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_126WinX86_64TargetCodeGenInfoD0Ev", "(anonymous namespace)::WinX86_64TargetCodeGenInfo::~WinX86_64TargetCodeGenInfo()"},
-    {"_ZNK12_GLOBAL__N_126WinX86_64TargetCodeGenInfo22getDwarfEHStackPointerERN5clang7CodeGen13CodeGenModuleE", "(anonymous namespace)::WinX86_64TargetCodeGenInfo::getDwarfEHStackPointer(clang::CodeGen::CodeGenModule&) const"},
-    {"_ZNK12_GLOBAL__N_126WinX86_64TargetCodeGenInfo23initDwarfEHRegSizeTableERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "(anonymous namespace)::WinX86_64TargetCodeGenInfo::initDwarfEHRegSizeTable(clang::CodeGen::CodeGenFunction&, llvm::Value*) const"},
-    {"_ZN12_GLOBAL__N_116WinX86_64ABIInfoD1Ev", "(anonymous namespace)::WinX86_64ABIInfo::~WinX86_64ABIInfo()"},
-    {"_ZN12_GLOBAL__N_116WinX86_64ABIInfoD0Ev", "(anonymous namespace)::WinX86_64ABIInfo::~WinX86_64ABIInfo()"},
-    {"_ZNK12_GLOBAL__N_116WinX86_64ABIInfo11computeInfoERN5clang7CodeGen14CGFunctionInfoE", "(anonymous namespace)::WinX86_64ABIInfo::computeInfo(clang::CodeGen::CGFunctionInfo&) const"},
-    {"_ZNK12_GLOBAL__N_116WinX86_64ABIInfo9EmitVAArgEPN4llvm5ValueEN5clang8QualTypeERNS4_7CodeGen15CodeGenFunctionE", "(anonymous namespace)::WinX86_64ABIInfo::EmitVAArg(llvm::Value*, clang::QualType, clang::CodeGen::CodeGenFunction&) const"},
-    {"_ZNK12_GLOBAL__N_116WinX86_64ABIInfo8classifyEN5clang8QualTypeE", "(anonymous namespace)::WinX86_64ABIInfo::classify(clang::QualType) const"},
-    {"_ZN12_GLOBAL__N_123X86_32TargetCodeGenInfoD1Ev", "(anonymous namespace)::X86_32TargetCodeGenInfo::~X86_32TargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_123X86_32TargetCodeGenInfoD0Ev", "(anonymous namespace)::X86_32TargetCodeGenInfo::~X86_32TargetCodeGenInfo()"},
-    {"_ZNK12_GLOBAL__N_123X86_32TargetCodeGenInfo19SetTargetAttributesEPKN5clang4DeclEPN4llvm11GlobalValueERNS1_7CodeGen13CodeGenModuleE", "(anonymous namespace)::X86_32TargetCodeGenInfo::SetTargetAttributes(clang::Decl const*, llvm::GlobalValue*, clang::CodeGen::CodeGenModule&) const"},
-    {"_ZNK12_GLOBAL__N_123X86_32TargetCodeGenInfo22getDwarfEHStackPointerERN5clang7CodeGen13CodeGenModuleE", "(anonymous namespace)::X86_32TargetCodeGenInfo::getDwarfEHStackPointer(clang::CodeGen::CodeGenModule&) const"},
-    {"_ZNK12_GLOBAL__N_123X86_32TargetCodeGenInfo23initDwarfEHRegSizeTableERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "(anonymous namespace)::X86_32TargetCodeGenInfo::initDwarfEHRegSizeTable(clang::CodeGen::CodeGenFunction&, llvm::Value*) const"},
-    {"_ZN12_GLOBAL__N_113X86_32ABIInfoD1Ev", "(anonymous namespace)::X86_32ABIInfo::~X86_32ABIInfo()"},
-    {"_ZN12_GLOBAL__N_113X86_32ABIInfoD0Ev", "(anonymous namespace)::X86_32ABIInfo::~X86_32ABIInfo()"},
-    {"_ZNK12_GLOBAL__N_113X86_32ABIInfo11computeInfoERN5clang7CodeGen14CGFunctionInfoE", "(anonymous namespace)::X86_32ABIInfo::computeInfo(clang::CodeGen::CGFunctionInfo&) const"},
-    {"_ZNK12_GLOBAL__N_113X86_32ABIInfo9EmitVAArgEPN4llvm5ValueEN5clang8QualTypeERNS4_7CodeGen15CodeGenFunctionE", "(anonymous namespace)::X86_32ABIInfo::EmitVAArg(llvm::Value*, clang::QualType, clang::CodeGen::CodeGenFunction&) const"},
-    {"_Z25isRecordWithSSEVectorTypeRN5clang10ASTContextENS_8QualTypeE", "isRecordWithSSEVectorType(clang::ASTContext&, clang::QualType)"},
-    {"_Z21isSingleElementStructN5clang8QualTypeERNS_10ASTContextE", "isSingleElementStruct(clang::QualType, clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_113X86_32ABIInfo26shouldReturnTypeInRegisterEN5clang8QualTypeERNS1_10ASTContextE", "(anonymous namespace)::X86_32ABIInfo::shouldReturnTypeInRegister(clang::QualType, clang::ASTContext&)"},
-    {"_Z12isEmptyFieldRN5clang10ASTContextEPKNS_9FieldDeclEb", "isEmptyField(clang::ASTContext&, clang::FieldDecl const*, bool)"},
-    {"_Z13isEmptyRecordRN5clang10ASTContextENS_8QualTypeEb", "isEmptyRecord(clang::ASTContext&, clang::QualType, bool)"},
-    {"_ZN12_GLOBAL__N_123MSP430TargetCodeGenInfoD1Ev", "(anonymous namespace)::MSP430TargetCodeGenInfo::~MSP430TargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_123MSP430TargetCodeGenInfoD0Ev", "(anonymous namespace)::MSP430TargetCodeGenInfo::~MSP430TargetCodeGenInfo()"},
-    {"_ZNK12_GLOBAL__N_123MSP430TargetCodeGenInfo19SetTargetAttributesEPKN5clang4DeclEPN4llvm11GlobalValueERNS1_7CodeGen13CodeGenModuleE", "(anonymous namespace)::MSP430TargetCodeGenInfo::SetTargetAttributes(clang::Decl const*, llvm::GlobalValue*, clang::CodeGen::CodeGenModule&) const"},
-    {"_ZN12_GLOBAL__N_114DefaultABIInfoD1Ev", "(anonymous namespace)::DefaultABIInfo::~DefaultABIInfo()"},
-    {"_ZN12_GLOBAL__N_114DefaultABIInfoD0Ev", "(anonymous namespace)::DefaultABIInfo::~DefaultABIInfo()"},
-    {"_ZNK12_GLOBAL__N_114DefaultABIInfo11computeInfoERN5clang7CodeGen14CGFunctionInfoE", "(anonymous namespace)::DefaultABIInfo::computeInfo(clang::CodeGen::CGFunctionInfo&) const"},
-    {"_ZNK12_GLOBAL__N_114DefaultABIInfo9EmitVAArgEPN4llvm5ValueEN5clang8QualTypeERNS4_7CodeGen15CodeGenFunctionE", "(anonymous namespace)::DefaultABIInfo::EmitVAArg(llvm::Value*, clang::QualType, clang::CodeGen::CodeGenFunction&) const"},
-    {"_ZN12_GLOBAL__N_123MBlazeTargetCodeGenInfoD1Ev", "(anonymous namespace)::MBlazeTargetCodeGenInfo::~MBlazeTargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_123MBlazeTargetCodeGenInfoD0Ev", "(anonymous namespace)::MBlazeTargetCodeGenInfo::~MBlazeTargetCodeGenInfo()"},
-    {"_ZNK12_GLOBAL__N_123MBlazeTargetCodeGenInfo19SetTargetAttributesEPKN5clang4DeclEPN4llvm11GlobalValueERNS1_7CodeGen13CodeGenModuleE", "(anonymous namespace)::MBlazeTargetCodeGenInfo::SetTargetAttributes(clang::Decl const*, llvm::GlobalValue*, clang::CodeGen::CodeGenModule&) const"},
-    {"_ZN12_GLOBAL__N_113MBlazeABIInfoD1Ev", "(anonymous namespace)::MBlazeABIInfo::~MBlazeABIInfo()"},
-    {"_ZN12_GLOBAL__N_113MBlazeABIInfoD0Ev", "(anonymous namespace)::MBlazeABIInfo::~MBlazeABIInfo()"},
-    {"_ZNK12_GLOBAL__N_113MBlazeABIInfo11computeInfoERN5clang7CodeGen14CGFunctionInfoE", "(anonymous namespace)::MBlazeABIInfo::computeInfo(clang::CodeGen::CGFunctionInfo&) const"},
-    {"_ZNK12_GLOBAL__N_113MBlazeABIInfo9EmitVAArgEPN4llvm5ValueEN5clang8QualTypeERNS4_7CodeGen15CodeGenFunctionE", "(anonymous namespace)::MBlazeABIInfo::EmitVAArg(llvm::Value*, clang::QualType, clang::CodeGen::CodeGenFunction&) const"},
-    {"_ZN12_GLOBAL__N_124SystemZTargetCodeGenInfoD1Ev", "(anonymous namespace)::SystemZTargetCodeGenInfo::~SystemZTargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_124SystemZTargetCodeGenInfoD0Ev", "(anonymous namespace)::SystemZTargetCodeGenInfo::~SystemZTargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_114SystemZABIInfoD1Ev", "(anonymous namespace)::SystemZABIInfo::~SystemZABIInfo()"},
-    {"_ZN12_GLOBAL__N_114SystemZABIInfoD0Ev", "(anonymous namespace)::SystemZABIInfo::~SystemZABIInfo()"},
-    {"_ZNK12_GLOBAL__N_114SystemZABIInfo11computeInfoERN5clang7CodeGen14CGFunctionInfoE", "(anonymous namespace)::SystemZABIInfo::computeInfo(clang::CodeGen::CGFunctionInfo&) const"},
-    {"_ZNK12_GLOBAL__N_114SystemZABIInfo9EmitVAArgEPN4llvm5ValueEN5clang8QualTypeERNS4_7CodeGen15CodeGenFunctionE", "(anonymous namespace)::SystemZABIInfo::EmitVAArg(llvm::Value*, clang::QualType, clang::CodeGen::CodeGenFunction&) const"},
-    {"_ZN12_GLOBAL__N_122PPC32TargetCodeGenInfoD1Ev", "(anonymous namespace)::PPC32TargetCodeGenInfo::~PPC32TargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_122PPC32TargetCodeGenInfoD0Ev", "(anonymous namespace)::PPC32TargetCodeGenInfo::~PPC32TargetCodeGenInfo()"},
-    {"_ZNK12_GLOBAL__N_122PPC32TargetCodeGenInfo22getDwarfEHStackPointerERN5clang7CodeGen13CodeGenModuleE", "(anonymous namespace)::PPC32TargetCodeGenInfo::getDwarfEHStackPointer(clang::CodeGen::CodeGenModule&) const"},
-    {"_ZNK12_GLOBAL__N_122PPC32TargetCodeGenInfo23initDwarfEHRegSizeTableERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "(anonymous namespace)::PPC32TargetCodeGenInfo::initDwarfEHRegSizeTable(clang::CodeGen::CodeGenFunction&, llvm::Value*) const"},
-    {"_ZN12_GLOBAL__N_124DefaultTargetCodeGenInfoD1Ev", "(anonymous namespace)::DefaultTargetCodeGenInfo::~DefaultTargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_124DefaultTargetCodeGenInfoD0Ev", "(anonymous namespace)::DefaultTargetCodeGenInfo::~DefaultTargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_120ARMTargetCodeGenInfoD1Ev", "(anonymous namespace)::ARMTargetCodeGenInfo::~ARMTargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_120ARMTargetCodeGenInfoD0Ev", "(anonymous namespace)::ARMTargetCodeGenInfo::~ARMTargetCodeGenInfo()"},
-    {"_ZNK12_GLOBAL__N_120ARMTargetCodeGenInfo22getDwarfEHStackPointerERN5clang7CodeGen13CodeGenModuleE", "(anonymous namespace)::ARMTargetCodeGenInfo::getDwarfEHStackPointer(clang::CodeGen::CodeGenModule&) const"},
-    {"_ZN12_GLOBAL__N_110ARMABIInfoD1Ev", "(anonymous namespace)::ARMABIInfo::~ARMABIInfo()"},
-    {"_ZN12_GLOBAL__N_110ARMABIInfoD0Ev", "(anonymous namespace)::ARMABIInfo::~ARMABIInfo()"},
-    {"_ZNK12_GLOBAL__N_110ARMABIInfo11computeInfoERN5clang7CodeGen14CGFunctionInfoE", "(anonymous namespace)::ARMABIInfo::computeInfo(clang::CodeGen::CGFunctionInfo&) const"},
-    {"_ZNK12_GLOBAL__N_110ARMABIInfo9EmitVAArgEPN4llvm5ValueEN5clang8QualTypeERNS4_7CodeGen15CodeGenFunctionE", "(anonymous namespace)::ARMABIInfo::EmitVAArg(llvm::Value*, clang::QualType, clang::CodeGen::CodeGenFunction&) const"},
-    {"_Z17isIntegerLikeTypeN5clang8QualTypeERNS_10ASTContextERN4llvm11LLVMContextE", "isIntegerLikeType(clang::QualType, clang::ASTContext&, llvm::LLVMContext&)"},
-    {"_ZN12_GLOBAL__N_121MIPSTargetCodeGenInfoD1Ev", "(anonymous namespace)::MIPSTargetCodeGenInfo::~MIPSTargetCodeGenInfo()"},
-    {"_ZN12_GLOBAL__N_121MIPSTargetCodeGenInfoD0Ev", "(anonymous namespace)::MIPSTargetCodeGenInfo::~MIPSTargetCodeGenInfo()"},
-    {"_ZNK12_GLOBAL__N_121MIPSTargetCodeGenInfo22getDwarfEHStackPointerERN5clang7CodeGen13CodeGenModuleE", "(anonymous namespace)::MIPSTargetCodeGenInfo::getDwarfEHStackPointer(clang::CodeGen::CodeGenModule&) const"},
-    {"_ZNK12_GLOBAL__N_121MIPSTargetCodeGenInfo23initDwarfEHRegSizeTableERN5clang7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "(anonymous namespace)::MIPSTargetCodeGenInfo::initDwarfEHRegSizeTable(clang::CodeGen::CodeGenFunction&, llvm::Value*) const"},
-    {"_ZNK5clang17TargetCodeGenInfo19SetTargetAttributesEPKNS_4DeclEPN4llvm11GlobalValueERNS_7CodeGen13CodeGenModuleE", "clang::TargetCodeGenInfo::SetTargetAttributes(clang::Decl const*, llvm::GlobalValue*, clang::CodeGen::CodeGenModule&) const"},
-    {"_ZNK5clang17TargetCodeGenInfo21extendPointerWithSExtEv", "clang::TargetCodeGenInfo::extendPointerWithSExt() const"},
-    {"_ZNK5clang17TargetCodeGenInfo22getDwarfEHStackPointerERNS_7CodeGen13CodeGenModuleE", "clang::TargetCodeGenInfo::getDwarfEHStackPointer(clang::CodeGen::CodeGenModule&) const"},
-    {"_ZNK5clang17TargetCodeGenInfo23initDwarfEHRegSizeTableERNS_7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "clang::TargetCodeGenInfo::initDwarfEHRegSizeTable(clang::CodeGen::CodeGenFunction&, llvm::Value*) const"},
-    {"_ZNK5clang17TargetCodeGenInfo19decodeReturnAddressERNS_7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "clang::TargetCodeGenInfo::decodeReturnAddress(clang::CodeGen::CodeGenFunction&, llvm::Value*) const"},
-    {"_ZNK5clang17TargetCodeGenInfo19encodeReturnAddressERNS_7CodeGen15CodeGenFunctionEPN4llvm5ValueE", "clang::TargetCodeGenInfo::encodeReturnAddress(clang::CodeGen::CodeGenFunction&, llvm::Value*) const"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE26CreateConstInBoundsGEP1_32EPNS_5ValueEjRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateConstInBoundsGEP1_32(llvm::Value*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE11CreateStoreEPNS_5ValueES6_b", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateStore(llvm::Value*, llvm::Value*, bool)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateLoadEPNS_5ValueEPKc", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateLoad(llvm::Value*, char const*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateAndEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateAnd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE12CreateCondBrEPNS_5ValueEPNS_10BasicBlockES8_", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCondBr(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateGEPEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateGEP(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateLoadEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateLoad(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE18CreateConstGEP1_32EPNS_5ValueEjRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateConstGEP1_32(llvm::Value*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreateAddEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateAdd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE9CreatePHIEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreatePHI(llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateCastENS_11Instruction7CastOpsEPNS_5ValueEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateCast(llvm::Instruction::CastOps, llvm::Value*, llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE10CreateICmpENS_7CmpInst9PredicateEPNS_5ValueES8_RKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateICmp(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb0ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb0EEEE26CreateConstInBoundsGEP2_32EPNS_5ValueEjjRKNS_5TwineE", "llvm::IRBuilder<false, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<false> >::CreateConstInBoundsGEP2_32(llvm::Value*, unsigned int, unsigned int, llvm::Twine const&)"},
-    {"_ZNK5clang4Decl7getAttrINS_19MSP430InterruptAttrEEEPT_v", "clang::MSP430InterruptAttr* clang::Decl::getAttr<clang::MSP430InterruptAttr>() const"},
-    {"_ZN5clang8ParseASTERNS_12PreprocessorEPNS_11ASTConsumerERNS_10ASTContextEbbPNS_20CodeCompleteConsumerE", "clang::ParseAST(clang::Preprocessor&, clang::ASTConsumer*, clang::ASTContext&, bool, bool, clang::CodeCompleteConsumer*)"},
-    {"_ZN5clang8ParseASTERNS_4SemaEb", "clang::ParseAST(clang::Sema&, bool)"},
-    {"_ZN5clang6Parser23ParseCXXInlineMethodDefENS_15AccessSpecifierERNS_10DeclaratorERKNS0_18ParsedTemplateInfoERKNS_14VirtSpecifiersE", "clang::Parser::ParseCXXInlineMethodDef(clang::AccessSpecifier, clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::VirtSpecifiers const&)"},
-    {"_ZN5clang6Parser21LateParsedDeclarationD0Ev", "clang::Parser::LateParsedDeclaration::~LateParsedDeclaration()"},
-    {"_ZN5clang6Parser21LateParsedDeclarationD1Ev", "clang::Parser::LateParsedDeclaration::~LateParsedDeclaration()"},
-    {"_ZN5clang6Parser21LateParsedDeclarationD2Ev", "clang::Parser::LateParsedDeclaration::~LateParsedDeclaration()"},
-    {"_ZN5clang6Parser21LateParsedDeclaration28ParseLexedMethodDeclarationsEv", "clang::Parser::LateParsedDeclaration::ParseLexedMethodDeclarations()"},
-    {"_ZN5clang6Parser21LateParsedDeclaration20ParseLexedMethodDefsEv", "clang::Parser::LateParsedDeclaration::ParseLexedMethodDefs()"},
-    {"_ZN5clang6Parser15LateParsedClassC1EPS0_PNS0_12ParsingClassE", "clang::Parser::LateParsedClass::LateParsedClass(clang::Parser*, clang::Parser::ParsingClass*)"},
-    {"_ZN5clang6Parser15LateParsedClassC2EPS0_PNS0_12ParsingClassE", "clang::Parser::LateParsedClass::LateParsedClass(clang::Parser*, clang::Parser::ParsingClass*)"},
-    {"_ZN5clang6Parser15LateParsedClassD0Ev", "clang::Parser::LateParsedClass::~LateParsedClass()"},
-    {"_ZN5clang6Parser15LateParsedClassD1Ev", "clang::Parser::LateParsedClass::~LateParsedClass()"},
-    {"_ZN5clang6Parser15LateParsedClassD2Ev", "clang::Parser::LateParsedClass::~LateParsedClass()"},
-    {"_ZN5clang6Parser15LateParsedClass28ParseLexedMethodDeclarationsEv", "clang::Parser::LateParsedClass::ParseLexedMethodDeclarations()"},
-    {"_ZN5clang6Parser28ParseLexedMethodDeclarationsERNS0_12ParsingClassE", "clang::Parser::ParseLexedMethodDeclarations(clang::Parser::ParsingClass&)"},
-    {"_ZN5clang6Parser15LateParsedClass20ParseLexedMethodDefsEv", "clang::Parser::LateParsedClass::ParseLexedMethodDefs()"},
-    {"_ZN5clang6Parser20ParseLexedMethodDefsERNS0_12ParsingClassE", "clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&)"},
-    {"_ZN5clang6Parser27LateParsedMethodDeclaration28ParseLexedMethodDeclarationsEv", "clang::Parser::LateParsedMethodDeclaration::ParseLexedMethodDeclarations()"},
-    {"_ZN5clang6Parser27ParseLexedMethodDeclarationERNS0_27LateParsedMethodDeclarationE", "clang::Parser::ParseLexedMethodDeclaration(clang::Parser::LateParsedMethodDeclaration&)"},
-    {"_ZN5clang6Parser11LexedMethod20ParseLexedMethodDefsEv", "clang::Parser::LexedMethod::ParseLexedMethodDefs()"},
-    {"_ZN5clang6Parser19ParseLexedMethodDefERNS0_11LexedMethodE", "clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&)"},
-    {"_ZN5clang6Parser20ConsumeAndStoreUntilENS_3tok9TokenKindES2_RN4llvm11SmallVectorINS_5TokenELj4EEEbb", "clang::Parser::ConsumeAndStoreUntil(clang::tok::TokenKind, clang::tok::TokenKind, llvm::SmallVector<clang::Token, 4u>&, bool, bool)"},
-    {"_ZN5clang6Parser11LexedMethodD1Ev", "clang::Parser::LexedMethod::~LexedMethod()"},
-    {"_ZN5clang6Parser11LexedMethodD0Ev", "clang::Parser::LexedMethod::~LexedMethod()"},
-    {"_ZN5clang6Parser27LateParsedMethodDeclarationD1Ev", "clang::Parser::LateParsedMethodDeclaration::~LateParsedMethodDeclaration()"},
-    {"_ZN5clang6Parser27LateParsedMethodDeclarationD0Ev", "clang::Parser::LateParsedMethodDeclaration::~LateParsedMethodDeclaration()"},
-    {"_ZN5clang6Parser13ParseTypeNameEPNS_11SourceRangeENS_10Declarator10TheContextE", "clang::Parser::ParseTypeName(clang::SourceRange*, clang::Declarator::TheContext)"},
-    {"_ZN5clang6Parser27ParseSpecifierQualifierListERNS_8DeclSpecE", "clang::Parser::ParseSpecifierQualifierList(clang::DeclSpec&)"},
-    {"_ZN5clang6Parser15ParseDeclaratorERNS_10DeclaratorE", "clang::Parser::ParseDeclarator(clang::Declarator&)"},
-    {"_ZN5clang6Parser18ParseGNUAttributesERNS_16ParsedAttributesEPNS_14SourceLocationE", "clang::Parser::ParseGNUAttributes(clang::ParsedAttributes&, clang::SourceLocation*)"},
-    {"_ZN5clang6Parser22isDeclarationSpecifierEb", "clang::Parser::isDeclarationSpecifier(bool)"},
-    {"_ZN5clang6Parser22ParseMicrosoftDeclSpecERNS_16ParsedAttributesE", "clang::Parser::ParseMicrosoftDeclSpec(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser28ParseMicrosoftTypeAttributesERNS_16ParsedAttributesE", "clang::Parser::ParseMicrosoftTypeAttributes(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser26ParseBorlandTypeAttributesERNS_16ParsedAttributesE", "clang::Parser::ParseBorlandTypeAttributes(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser28DiagnoseProhibitedAttributesERNS0_25ParsedAttributesWithRangeE", "clang::Parser::DiagnoseProhibitedAttributes(clang::Parser::ParsedAttributesWithRange&)"},
-    {"_ZN5clang6Parser16ParseDeclarationERNS_15ASTOwningVectorIPNS_4StmtELj32EEEjRNS_14SourceLocationERNS0_25ParsedAttributesWithRangeE", "clang::Parser::ParseDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&)"},
-    {"_ZN5clang6Parser22ParseSimpleDeclarationERNS_15ASTOwningVectorIPNS_4StmtELj32EEEjRNS_14SourceLocationERNS_16ParsedAttributesEb", "clang::Parser::ParseSimpleDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, bool)"},
-    {"_ZN5clang6Parser26ParseDeclarationSpecifiersERNS_8DeclSpecERKNS0_18ParsedTemplateInfoENS_15AccessSpecifierENS0_15DeclSpecContextE", "clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext)"},
-    {"_ZN5clang6Parser39getDeclSpecContextFromDeclaratorContextEj", "clang::Parser::getDeclSpecContextFromDeclaratorContext(unsigned int)"},
-    {"_ZN5clang6Parser14ParseDeclGroupERNS0_15ParsingDeclSpecEjbPNS_14SourceLocationE", "clang::Parser::ParseDeclGroup(clang::Parser::ParsingDeclSpec&, unsigned int, bool, clang::SourceLocation*)"},
-    {"_ZN5clang6Parser31ParseDeclarationAfterDeclaratorERNS_10DeclaratorERKNS0_18ParsedTemplateInfoE", "clang::Parser::ParseDeclarationAfterDeclarator(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&)"},
-    {"_ZN5clang6Parser16ParseImplicitIntERNS_8DeclSpecEPNS_12CXXScopeSpecERKNS0_18ParsedTemplateInfoENS_15AccessSpecifierE", "clang::Parser::ParseImplicitInt(clang::DeclSpec&, clang::CXXScopeSpec*, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier)"},
-    {"_ZN5clang6Parser18ParseEnumSpecifierENS_14SourceLocationERNS_8DeclSpecERKNS0_18ParsedTemplateInfoENS_15AccessSpecifierE", "clang::Parser::ParseEnumSpecifier(clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier)"},
-    {"_ZN5clang6Parser23isConstructorDeclaratorEv", "clang::Parser::isConstructorDeclarator()"},
-    {"_ZN5clang6Parser20ParseTypeofSpecifierERNS_8DeclSpecE", "clang::Parser::ParseTypeofSpecifier(clang::DeclSpec&)"},
-    {"_ZN5clang6Parser26ParseOptionalTypeSpecifierERNS_8DeclSpecERbRPKcRjRKNS0_18ParsedTemplateInfoEb", "clang::Parser::ParseOptionalTypeSpecifier(clang::DeclSpec&, bool&, char const*&, unsigned int&, clang::Parser::ParsedTemplateInfo const&, bool)"},
-    {"_ZN5clang6Parser22ParseStructDeclarationERNS_8DeclSpecERNS0_13FieldCallbackE", "clang::Parser::ParseStructDeclaration(clang::DeclSpec&, clang::Parser::FieldCallback&)"},
-    {"_ZN5clang6Parser20ParseStructUnionBodyENS_14SourceLocationEjPNS_4DeclE", "clang::Parser::ParseStructUnionBody(clang::SourceLocation, unsigned int, clang::Decl*)"},
-    {"_ZZN5clang6Parser20ParseStructUnionBodyENS_14SourceLocationEjPNS_4DeclEEN14CFieldCallbackD1Ev", "clang::Parser::ParseStructUnionBody(clang::SourceLocation, unsigned int, clang::Decl*)::CFieldCallback::~CFieldCallback()"},
-    {"_ZN5clang6Parser13ParseEnumBodyENS_14SourceLocationEPNS_4DeclE", "clang::Parser::ParseEnumBody(clang::SourceLocation, clang::Decl*)"},
-    {"_ZNK5clang6Parser15isTypeQualifierEv", "clang::Parser::isTypeQualifier() const"},
-    {"_ZNK5clang6Parser24isKnownToBeTypeSpecifierERKNS_5TokenE", "clang::Parser::isKnownToBeTypeSpecifier(clang::Token const&) const"},
-    {"_ZN5clang6Parser24isTypeSpecifierQualifierEv", "clang::Parser::isTypeSpecifierQualifier()"},
-    {"_ZN5clang6Parser25ParseTypeQualifierListOptERNS_8DeclSpecEbb", "clang::Parser::ParseTypeQualifierListOpt(clang::DeclSpec&, bool, bool)"},
-    {"_ZN5clang6Parser23ParseDeclaratorInternalERNS_10DeclaratorEMS0_FvS2_E", "clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void (clang::Parser::*)(clang::Declarator&))"},
-    {"_ZN5clang6Parser21ParseDirectDeclaratorERNS_10DeclaratorE", "clang::Parser::ParseDirectDeclarator(clang::Declarator&)"},
-    {"_ZN5clang6Parser20ParseParenDeclaratorERNS_10DeclaratorE", "clang::Parser::ParseParenDeclarator(clang::Declarator&)"},
-    {"_ZN5clang6Parser23ParseFunctionDeclaratorENS_14SourceLocationERNS_10DeclaratorERNS_16ParsedAttributesEb", "clang::Parser::ParseFunctionDeclarator(clang::SourceLocation, clang::Declarator&, clang::ParsedAttributes&, bool)"},
-    {"_ZN5clang6Parser22ParseBracketDeclaratorERNS_10DeclaratorE", "clang::Parser::ParseBracketDeclarator(clang::Declarator&)"},
-    {"_ZN5clang6Parser37ParseFunctionDeclaratorIdentifierListENS_14SourceLocationEPNS_14IdentifierInfoES1_RNS_10DeclaratorE", "clang::Parser::ParseFunctionDeclaratorIdentifierList(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::Declarator&)"},
-    {"_ZN5clang6Parser30TryAltiVecVectorTokenOutOfLineEv", "clang::Parser::TryAltiVecVectorTokenOutOfLine()"},
-    {"_ZN5clang6Parser24TryAltiVecTokenOutOfLineERNS_8DeclSpecENS_14SourceLocationERPKcRjRb", "clang::Parser::TryAltiVecTokenOutOfLine(clang::DeclSpec&, clang::SourceLocation, char const*&, unsigned int&, bool&)"},
-    {"_ZZN5clang6Parser20ParseStructUnionBodyENS_14SourceLocationEjPNS_4DeclEEN14CFieldCallback6invokeERNS_15FieldDeclaratorE", "clang::Parser::ParseStructUnionBody(clang::SourceLocation, unsigned int, clang::Decl*)::CFieldCallback::invoke(clang::FieldDeclarator&)"},
-    {"_ZZN5clang6Parser20ParseStructUnionBodyENS_14SourceLocationEjPNS_4DeclEEN14CFieldCallbackD0Ev", "clang::Parser::ParseStructUnionBody(clang::SourceLocation, unsigned int, clang::Decl*)::CFieldCallback::~CFieldCallback()"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang4DeclEE6insertIPS3_EES6_S6_T_S7_", "clang::Decl** llvm::SmallVectorImpl<clang::Decl*>::insert<clang::Decl**>(clang::Decl**, clang::Decl**, clang::Decl**)"},
-    {"_ZN5clang6Parser14ParseNamespaceEjRNS_14SourceLocationES1_", "clang::Parser::ParseNamespace(unsigned int, clang::SourceLocation&, clang::SourceLocation)"},
-    {"_ZN5clang6Parser19ParseNamespaceAliasENS_14SourceLocationES1_PNS_14IdentifierInfoERS1_", "clang::Parser::ParseNamespaceAlias(clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation&)"},
-    {"_ZN5clang6Parser12ParseLinkageERNS0_15ParsingDeclSpecEj", "clang::Parser::ParseLinkage(clang::Parser::ParsingDeclSpec&, unsigned int)"},
-    {"_ZN5clang6Parser32ParseUsingDirectiveOrDeclarationEjRKNS0_18ParsedTemplateInfoERNS_14SourceLocationERNS0_25ParsedAttributesWithRangeE", "clang::Parser::ParseUsingDirectiveOrDeclaration(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&)"},
-    {"_ZN5clang6Parser19ParseUsingDirectiveEjNS_14SourceLocationERS1_RNS_16ParsedAttributesE", "clang::Parser::ParseUsingDirective(unsigned int, clang::SourceLocation, clang::SourceLocation&, clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser21ParseUsingDeclarationEjRKNS0_18ParsedTemplateInfoENS_14SourceLocationERS4_NS_15AccessSpecifierE", "clang::Parser::ParseUsingDeclaration(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation, clang::SourceLocation&, clang::AccessSpecifier)"},
-    {"_ZN5clang6Parser28ParseStaticAssertDeclarationERNS_14SourceLocationE", "clang::Parser::ParseStaticAssertDeclaration(clang::SourceLocation&)"},
-    {"_ZN5clang6Parser22ParseDecltypeSpecifierERNS_8DeclSpecE", "clang::Parser::ParseDecltypeSpecifier(clang::DeclSpec&)"},
-    {"_ZN5clang6Parser14ParseClassNameERNS_14SourceLocationEPNS_12CXXScopeSpecE", "clang::Parser::ParseClassName(clang::SourceLocation&, clang::CXXScopeSpec*)"},
-    {"_ZN5clang6Parser19ParseClassSpecifierENS_3tok9TokenKindENS_14SourceLocationERNS_8DeclSpecERKNS0_18ParsedTemplateInfoENS_15AccessSpecifierEb", "clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool)"},
-    {"_ZNK5clang6Parser25isCXX0XClassVirtSpecifierEv", "clang::Parser::isCXX0XClassVirtSpecifier() const"},
-    {"_ZN5clang6Parser27ParseCXXMemberSpecificationENS_14SourceLocationEjPNS_4DeclE", "clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, unsigned int, clang::Decl*)"},
-    {"_ZN5clang6Parser15ParseBaseClauseEPNS_4DeclE", "clang::Parser::ParseBaseClause(clang::Decl*)"},
-    {"_ZN5clang6Parser18ParseBaseSpecifierEPNS_4DeclE", "clang::Parser::ParseBaseSpecifier(clang::Decl*)"},
-    {"_ZNK5clang6Parser27getAccessSpecifierIfPresentEv", "clang::Parser::getAccessSpecifierIfPresent() const"},
-    {"_ZN5clang6Parser31HandleMemberFunctionDefaultArgsERNS_10DeclaratorEPNS_4DeclE", "clang::Parser::HandleMemberFunctionDefaultArgs(clang::Declarator&, clang::Decl*)"},
-    {"_ZNK5clang6Parser20isCXX0XVirtSpecifierEv", "clang::Parser::isCXX0XVirtSpecifier() const"},
-    {"_ZN5clang6Parser34ParseOptionalCXX0XVirtSpecifierSeqERNS_14VirtSpecifiersE", "clang::Parser::ParseOptionalCXX0XVirtSpecifierSeq(clang::VirtSpecifiers&)"},
-    {"_ZN5clang6Parser39ParseOptionalCXX0XClassVirtSpecifierSeqERNS_19ClassVirtSpecifiersE", "clang::Parser::ParseOptionalCXX0XClassVirtSpecifierSeq(clang::ClassVirtSpecifiers&)"},
-    {"_ZN5clang6Parser30ParseCXXClassMemberDeclarationENS_15AccessSpecifierERKNS0_18ParsedTemplateInfoEPNS0_21ParsingDeclRAIIObjectE", "clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ParsingDeclRAIIObject*)"},
-    {"_ZN5clang6Parser27ParseConstructorInitializerEPNS_4DeclE", "clang::Parser::ParseConstructorInitializer(clang::Decl*)"},
-    {"_ZN5clang6Parser19ParseMemInitializerEPNS_4DeclE", "clang::Parser::ParseMemInitializer(clang::Decl*)"},
-    {"_ZN5clang6Parser27ParseExceptionSpecificationERNS_14SourceLocationERN4llvm15SmallVectorImplINS_9OpaquePtrINS_8QualTypeEEEEERNS4_INS_11SourceRangeEEERb", "clang::Parser::ParseExceptionSpecification(clang::SourceLocation&, llvm::SmallVectorImpl<clang::OpaquePtr<clang::QualType> >&, llvm::SmallVectorImpl<clang::SourceRange>&, bool&)"},
-    {"_ZN5clang6Parser23ParseTrailingReturnTypeEv", "clang::Parser::ParseTrailingReturnType()"},
-    {"_ZN5clang6Parser16PushParsingClassEPNS_4DeclEb", "clang::Parser::PushParsingClass(clang::Decl*, bool)"},
-    {"_ZN5clang6Parser23DeallocateParsedClassesEPNS0_12ParsingClassE", "clang::Parser::DeallocateParsedClasses(clang::Parser::ParsingClass*)"},
-    {"_ZN5clang6Parser15PopParsingClassEv", "clang::Parser::PopParsingClass()"},
-    {"_ZN5clang6Parser20ParseCXX0XAttributesERNS0_25ParsedAttributesWithRangeEPNS_14SourceLocationE", "clang::Parser::ParseCXX0XAttributes(clang::Parser::ParsedAttributesWithRange&, clang::SourceLocation*)"},
-    {"_ZN5clang6Parser23ParseCXX0XAlignArgumentENS_14SourceLocationE", "clang::Parser::ParseCXX0XAlignArgument(clang::SourceLocation)"},
-    {"_ZN5clang6Parser24ParseMicrosoftAttributesERNS_16ParsedAttributesEPNS_14SourceLocationE", "clang::Parser::ParseMicrosoftAttributes(clang::ParsedAttributes&, clang::SourceLocation*)"},
-    {"_ZNSt5dequeIPN5clang6Parser12ParsingClassESaIS3_EE9push_backERKS3_", "std::deque<clang::Parser::ParsingClass*, std::allocator<clang::Parser::ParsingClass*> >::push_back(clang::Parser::ParsingClass* const&)"},
-    {"_ZNSt5dequeIPN5clang6Parser12ParsingClassESaIS3_EE17_M_reallocate_mapEmb", "std::deque<clang::Parser::ParsingClass*, std::allocator<clang::Parser::ParsingClass*> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang6Parser25LateParsedDefaultArgumentELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::Parser::LateParsedDefaultArgument, false>::grow(unsigned long)"},
-    {"_ZN5clang6Parser15ParseExpressionEv", "clang::Parser::ParseExpression()"},
-    {"_ZN5clang6Parser25ParseAssignmentExpressionEv", "clang::Parser::ParseAssignmentExpression()"},
-    {"_ZN5clang6Parser26ParseRHSOfBinaryExpressionENS_12ActionResultIPNS_4ExprELb1EEENS_4prec5LevelE", "clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*, true>, clang::prec::Level)"},
-    {"_ZN5clang6Parser28ParseExpressionWithLeadingAtENS_14SourceLocationE", "clang::Parser::ParseExpressionWithLeadingAt(clang::SourceLocation)"},
-    {"_ZN5clang6Parser35ParseExpressionWithLeadingExtensionENS_14SourceLocationE", "clang::Parser::ParseExpressionWithLeadingExtension(clang::SourceLocation)"},
-    {"_ZN5clang6Parser19ParseCastExpressionEbbNS_9OpaquePtrINS_8QualTypeEEE", "clang::Parser::ParseCastExpression(bool, bool, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang6Parser43ParseAssignmentExprWithObjCMessageExprStartENS_14SourceLocationES1_NS_9OpaquePtrINS_8QualTypeEEEPNS_4ExprE", "clang::Parser::ParseAssignmentExprWithObjCMessageExprStart(clang::SourceLocation, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::Expr*)"},
-    {"_ZN5clang6Parser28ParsePostfixExpressionSuffixENS_12ActionResultIPNS_4ExprELb1EEE", "clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>)"},
-    {"_ZN5clang6Parser23ParseConstantExpressionEv", "clang::Parser::ParseConstantExpression()"},
-    {"_ZN5clang6Parser19ParseCastExpressionEbbRbNS_9OpaquePtrINS_8QualTypeEEE", "clang::Parser::ParseCastExpression(bool, bool, bool&, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang6Parser20ParseParenExpressionERNS0_16ParenParseOptionEbNS_9OpaquePtrINS_8QualTypeEEERS5_RNS_14SourceLocationE", "clang::Parser::ParseParenExpression(clang::Parser::ParenParseOption&, bool, clang::OpaquePtr<clang::QualType>, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&)"},
-    {"_ZN5clang6Parser28ParseStringLiteralExpressionEv", "clang::Parser::ParseStringLiteralExpression()"},
-    {"_ZN5clang6Parser29ParseBuiltinPrimaryExpressionEv", "clang::Parser::ParseBuiltinPrimaryExpression()"},
-    {"_ZN5clang6Parser28ParseSizeofAlignofExpressionEv", "clang::Parser::ParseSizeofAlignofExpression()"},
-    {"_ZN5clang6Parser27ParseBlockLiteralExpressionEv", "clang::Parser::ParseBlockLiteralExpression()"},
-    {"_ZN5clang6Parser19ParseExpressionListERN4llvm15SmallVectorImplIPNS_4ExprEEERNS2_INS_14SourceLocationEEEMNS_4SemaEFvPNS_5ScopeES4_PS4_jES4_", "clang::Parser::ParseExpressionList(llvm::SmallVectorImpl<clang::Expr*>&, llvm::SmallVectorImpl<clang::SourceLocation>&, void (clang::Sema::*)(clang::Scope*, clang::Expr*, clang::Expr**, unsigned int), clang::Expr*)"},
-    {"_ZN5clang6Parser33ParseExprAfterTypeofSizeofAlignofERKNS_5TokenERbRNS_9OpaquePtrINS_8QualTypeEEERNS_11SourceRangeE", "clang::Parser::ParseExprAfterTypeofSizeofAlignof(clang::Token const&, bool&, clang::OpaquePtr<clang::QualType>&, clang::SourceRange&)"},
-    {"_ZN5clang6Parser30ParseCompoundLiteralExpressionENS_9OpaquePtrINS_8QualTypeEEENS_14SourceLocationES4_", "clang::Parser::ParseCompoundLiteralExpression(clang::OpaquePtr<clang::QualType>, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang6Parser12ParseBlockIdEv", "clang::Parser::ParseBlockId()"},
-    {"_ZN5clang6Parser30ParseOptionalCXXScopeSpecifierERNS_12CXXScopeSpecENS_9OpaquePtrINS_8QualTypeEEEbPb", "clang::Parser::ParseOptionalCXXScopeSpecifier(clang::CXXScopeSpec&, clang::OpaquePtr<clang::QualType>, bool, bool*)"},
-    {"_ZN5clang6Parser26ParseUnqualifiedIdOperatorERNS_12CXXScopeSpecEbNS_9OpaquePtrINS_8QualTypeEEERNS_13UnqualifiedIdE", "clang::Parser::ParseUnqualifiedIdOperator(clang::CXXScopeSpec&, bool, clang::OpaquePtr<clang::QualType>, clang::UnqualifiedId&)"},
-    {"_ZN5clang6Parser20ParseCXXIdExpressionEb", "clang::Parser::ParseCXXIdExpression(bool)"},
-    {"_ZN5clang6Parser18ParseUnqualifiedIdERNS_12CXXScopeSpecEbbbNS_9OpaquePtrINS_8QualTypeEEERNS_13UnqualifiedIdE", "clang::Parser::ParseUnqualifiedId(clang::CXXScopeSpec&, bool, bool, bool, clang::OpaquePtr<clang::QualType>, clang::UnqualifiedId&)"},
-    {"_ZN5clang6Parser13ParseCXXCastsEv", "clang::Parser::ParseCXXCasts()"},
-    {"_ZN5clang6Parser14ParseCXXTypeidEv", "clang::Parser::ParseCXXTypeid()"},
-    {"_ZN5clang6Parser14ParseCXXUuidofEv", "clang::Parser::ParseCXXUuidof()"},
-    {"_ZN5clang6Parser24ParseCXXPseudoDestructorEPNS_4ExprENS_14SourceLocationENS_3tok9TokenKindERNS_12CXXScopeSpecENS_9OpaquePtrINS_8QualTypeEEE", "clang::Parser::ParseCXXPseudoDestructor(clang::Expr*, clang::SourceLocation, clang::tok::TokenKind, clang::CXXScopeSpec&, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang6Parser28ParseUnqualifiedIdTemplateIdERNS_12CXXScopeSpecEPNS_14IdentifierInfoENS_14SourceLocationEbNS_9OpaquePtrINS_8QualTypeEEERNS_13UnqualifiedIdEbS5_", "clang::Parser::ParseUnqualifiedIdTemplateId(clang::CXXScopeSpec&, clang::IdentifierInfo*, clang::SourceLocation, bool, clang::OpaquePtr<clang::QualType>, clang::UnqualifiedId&, bool, clang::SourceLocation)"},
-    {"_ZN5clang6Parser19ParseCXXBoolLiteralEv", "clang::Parser::ParseCXXBoolLiteral()"},
-    {"_ZN5clang6Parser20ParseThrowExpressionEv", "clang::Parser::ParseThrowExpression()"},
-    {"_ZN5clang6Parser12ParseCXXThisEv", "clang::Parser::ParseCXXThis()"},
-    {"_ZN5clang6Parser31ParseCXXTypeConstructExpressionERKNS_8DeclSpecE", "clang::Parser::ParseCXXTypeConstructExpression(clang::DeclSpec const&)"},
-    {"_ZN5clang6Parser17ParseCXXConditionERNS_12ActionResultIPNS_4ExprELb1EEERPNS_4DeclENS_14SourceLocationEb", "clang::Parser::ParseCXXCondition(clang::ActionResult<clang::Expr*, true>&, clang::Decl*&, clang::SourceLocation, bool)"},
-    {"_ZNK5clang6Parser24isCXXSimpleTypeSpecifierEv", "clang::Parser::isCXXSimpleTypeSpecifier() const"},
-    {"_ZN5clang6Parser27ParseCXXSimpleTypeSpecifierERNS_8DeclSpecE", "clang::Parser::ParseCXXSimpleTypeSpecifier(clang::DeclSpec&)"},
-    {"_ZN5clang6Parser24ParseCXXTypeSpecifierSeqERNS_8DeclSpecE", "clang::Parser::ParseCXXTypeSpecifierSeq(clang::DeclSpec&)"},
-    {"_ZN5clang6Parser21ParseCXXNewExpressionEbNS_14SourceLocationE", "clang::Parser::ParseCXXNewExpression(bool, clang::SourceLocation)"},
-    {"_ZN5clang6Parser27ParseExpressionListOrTypeIdERN4llvm15SmallVectorImplIPNS_4ExprEEERNS_10DeclaratorE", "clang::Parser::ParseExpressionListOrTypeId(llvm::SmallVectorImpl<clang::Expr*>&, clang::Declarator&)"},
-    {"_ZN5clang6Parser24ParseDirectNewDeclaratorERNS_10DeclaratorE", "clang::Parser::ParseDirectNewDeclarator(clang::Declarator&)"},
-    {"_ZN5clang6Parser24ParseCXXDeleteExpressionEbNS_14SourceLocationE", "clang::Parser::ParseCXXDeleteExpression(bool, clang::SourceLocation)"},
-    {"_ZN5clang6Parser19ParseUnaryTypeTraitEv", "clang::Parser::ParseUnaryTypeTrait()"},
-    {"_ZN5clang6Parser20ParseBinaryTypeTraitEv", "clang::Parser::ParseBinaryTypeTrait()"},
-    {"_ZN5clang6Parser32ParseCXXAmbiguousParenExpressionERNS0_16ParenParseOptionERNS_9OpaquePtrINS_8QualTypeEEENS_14SourceLocationERS7_", "clang::Parser::ParseCXXAmbiguousParenExpression(clang::Parser::ParenParseOption&, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation, clang::SourceLocation&)"},
-    {"_ZN5clang6Parser39ParseInitializerWithPotentialDesignatorEv", "clang::Parser::ParseInitializerWithPotentialDesignator()"},
-    {"_ZN5clang6Parser21ParseBraceInitializerEv", "clang::Parser::ParseBraceInitializer()"},
-    {"_ZN5clang6Parser21ParseObjCAtDirectivesEv", "clang::Parser::ParseObjCAtDirectives()"},
-    {"_ZN5clang6Parser27ParseObjCAtClassDeclarationENS_14SourceLocationE", "clang::Parser::ParseObjCAtClassDeclaration(clang::SourceLocation)"},
-    {"_ZN5clang6Parser31ParseObjCAtInterfaceDeclarationENS_14SourceLocationERNS_16ParsedAttributesE", "clang::Parser::ParseObjCAtInterfaceDeclaration(clang::SourceLocation, clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser30ParseObjCAtProtocolDeclarationENS_14SourceLocationERNS_16ParsedAttributesE", "clang::Parser::ParseObjCAtProtocolDeclaration(clang::SourceLocation, clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser36ParseObjCAtImplementationDeclarationENS_14SourceLocationE", "clang::Parser::ParseObjCAtImplementationDeclaration(clang::SourceLocation)"},
-    {"_ZN5clang6Parser25ParseObjCAtEndDeclarationENS_11SourceRangeE", "clang::Parser::ParseObjCAtEndDeclaration(clang::SourceRange)"},
-    {"_ZN5clang6Parser27ParseObjCAtAliasDeclarationENS_14SourceLocationE", "clang::Parser::ParseObjCAtAliasDeclaration(clang::SourceLocation)"},
-    {"_ZN5clang6Parser27ParseObjCPropertySynthesizeENS_14SourceLocationE", "clang::Parser::ParseObjCPropertySynthesize(clang::SourceLocation)"},
-    {"_ZN5clang6Parser24ParseObjCPropertyDynamicENS_14SourceLocationE", "clang::Parser::ParseObjCPropertyDynamic(clang::SourceLocation)"},
-    {"_ZN5clang6Parser27ParseObjCProtocolReferencesERN4llvm15SmallVectorImplIPNS_4DeclEEERNS2_INS_14SourceLocationEEEbRS7_SA_", "clang::Parser::ParseObjCProtocolReferences(llvm::SmallVectorImpl<clang::Decl*>&, llvm::SmallVectorImpl<clang::SourceLocation>&, bool, clang::SourceLocation&, clang::SourceLocation&)"},
-    {"_ZN5clang6Parser31ParseObjCClassInstanceVariablesEPNS_4DeclENS_3tok15ObjCKeywordKindENS_14SourceLocationE", "clang::Parser::ParseObjCClassInstanceVariables(clang::Decl*, clang::tok::ObjCKeywordKind, clang::SourceLocation)"},
-    {"_ZN5clang6Parser26ParseObjCInterfaceDeclListEPNS_4DeclENS_3tok15ObjCKeywordKindE", "clang::Parser::ParseObjCInterfaceDeclList(clang::Decl*, clang::tok::ObjCKeywordKind)"},
-    {"_ZN5clang6Parser24ParseObjCMethodPrototypeEPNS_4DeclENS_3tok15ObjCKeywordKindE", "clang::Parser::ParseObjCMethodPrototype(clang::Decl*, clang::tok::ObjCKeywordKind)"},
-    {"_ZN5clang6Parser19ParseObjCMethodDeclENS_14SourceLocationENS_3tok9TokenKindEPNS_4DeclENS2_15ObjCKeywordKindE", "clang::Parser::ParseObjCMethodDecl(clang::SourceLocation, clang::tok::TokenKind, clang::Decl*, clang::tok::ObjCKeywordKind)"},
-    {"_ZN5clang6Parser26ParseObjCPropertyAttributeERNS_12ObjCDeclSpecEPNS_4DeclE", "clang::Parser::ParseObjCPropertyAttribute(clang::ObjCDeclSpec&, clang::Decl*)"},
-    {"_ZN5clang6Parser22ParseObjCSelectorPieceERNS_14SourceLocationE", "clang::Parser::ParseObjCSelectorPiece(clang::SourceLocation&)"},
-    {"_ZNK5clang6Parser18isTokIdentifier_inEv", "clang::Parser::isTokIdentifier_in() const"},
-    {"_ZN5clang6Parser26ParseObjCTypeQualifierListERNS_12ObjCDeclSpecEb", "clang::Parser::ParseObjCTypeQualifierList(clang::ObjCDeclSpec&, bool)"},
-    {"_ZN5clang6Parser17ParseObjCTypeNameERNS_12ObjCDeclSpecEb", "clang::Parser::ParseObjCTypeName(clang::ObjCDeclSpec&, bool)"},
-    {"_ZN5clang6Parser27ParseObjCProtocolQualifiersERNS_8DeclSpecE", "clang::Parser::ParseObjCProtocolQualifiers(clang::DeclSpec&)"},
-    {"_ZZN5clang6Parser31ParseObjCClassInstanceVariablesEPNS_4DeclENS_3tok15ObjCKeywordKindENS_14SourceLocationEEN16ObjCIvarCallbackD1Ev", "clang::Parser::ParseObjCClassInstanceVariables(clang::Decl*, clang::tok::ObjCKeywordKind, clang::SourceLocation)::ObjCIvarCallback::~ObjCIvarCallback()"},
-    {"_ZN5clang6Parser24FinishPendingObjCActionsEv", "clang::Parser::FinishPendingObjCActions()"},
-    {"_ZN5clang6Parser18ParseObjCThrowStmtENS_14SourceLocationE", "clang::Parser::ParseObjCThrowStmt(clang::SourceLocation)"},
-    {"_ZN5clang6Parser25ParseObjCSynchronizedStmtENS_14SourceLocationE", "clang::Parser::ParseObjCSynchronizedStmt(clang::SourceLocation)"},
-    {"_ZN5clang6Parser16ParseObjCTryStmtENS_14SourceLocationE", "clang::Parser::ParseObjCTryStmt(clang::SourceLocation)"},
-    {"_ZN5clang6Parser25ParseObjCMethodDefinitionEv", "clang::Parser::ParseObjCMethodDefinition()"},
-    {"_ZN5clang6Parser20ParseObjCAtStatementENS_14SourceLocationE", "clang::Parser::ParseObjCAtStatement(clang::SourceLocation)"},
-    {"_ZN5clang6Parser21ParseObjCAtExpressionENS_14SourceLocationE", "clang::Parser::ParseObjCAtExpression(clang::SourceLocation)"},
-    {"_ZN5clang6Parser22ParseObjCStringLiteralENS_14SourceLocationE", "clang::Parser::ParseObjCStringLiteral(clang::SourceLocation)"},
-    {"_ZN5clang6Parser25ParseObjCEncodeExpressionENS_14SourceLocationE", "clang::Parser::ParseObjCEncodeExpression(clang::SourceLocation)"},
-    {"_ZN5clang6Parser27ParseObjCProtocolExpressionENS_14SourceLocationE", "clang::Parser::ParseObjCProtocolExpression(clang::SourceLocation)"},
-    {"_ZN5clang6Parser27ParseObjCSelectorExpressionENS_14SourceLocationE", "clang::Parser::ParseObjCSelectorExpression(clang::SourceLocation)"},
-    {"_ZN5clang6Parser26ParseObjCXXMessageReceiverERbRPv", "clang::Parser::ParseObjCXXMessageReceiver(bool&, void*&)"},
-    {"_ZN5clang6Parser29isSimpleObjCMessageExpressionEv", "clang::Parser::isSimpleObjCMessageExpression()"},
-    {"_ZN5clang6Parser43isStartOfObjCClassMessageMissingOpenBracketEv", "clang::Parser::isStartOfObjCClassMessageMissingOpenBracket()"},
-    {"_ZN5clang6Parser26ParseObjCMessageExpressionEv", "clang::Parser::ParseObjCMessageExpression()"},
-    {"_ZN5clang6Parser30ParseObjCMessageExpressionBodyENS_14SourceLocationES1_NS_9OpaquePtrINS_8QualTypeEEEPNS_4ExprE", "clang::Parser::ParseObjCMessageExpressionBody(clang::SourceLocation, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::Expr*)"},
-    {"_ZZN5clang6Parser31ParseObjCClassInstanceVariablesEPNS_4DeclENS_3tok15ObjCKeywordKindENS_14SourceLocationEEN16ObjCIvarCallback6invokeERNS_15FieldDeclaratorE", "clang::Parser::ParseObjCClassInstanceVariables(clang::Decl*, clang::tok::ObjCKeywordKind, clang::SourceLocation)::ObjCIvarCallback::invoke(clang::FieldDeclarator&)"},
-    {"_ZZN5clang6Parser31ParseObjCClassInstanceVariablesEPNS_4DeclENS_3tok15ObjCKeywordKindENS_14SourceLocationEEN16ObjCIvarCallbackD0Ev", "clang::Parser::ParseObjCClassInstanceVariables(clang::Decl*, clang::tok::ObjCKeywordKind, clang::SourceLocation)::ObjCIvarCallback::~ObjCIvarCallback()"},
-    {"_ZN5clang6Parser20ObjCPropertyCallbackD1Ev", "clang::Parser::ObjCPropertyCallback::~ObjCPropertyCallback()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang15DeclaratorChunk9ParamInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::DeclaratorChunk::ParamInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang4Sema11ObjCArgInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::Sema::ObjCArgInfo, false>::grow(unsigned long)"},
-    {"_ZN5clang6Parser20ObjCPropertyCallback6invokeERNS_15FieldDeclaratorE", "clang::Parser::ObjCPropertyCallback::invoke(clang::FieldDeclarator&)"},
-    {"_ZN5clang6Parser20ObjCPropertyCallbackD0Ev", "clang::Parser::ObjCPropertyCallback::~ObjCPropertyCallback()"},
-    {"_ZN5clang6Parser18HandlePragmaUnusedEv", "clang::Parser::HandlePragmaUnused()"},
-    {"_ZN5clang26PragmaGCCVisibilityHandler12HandlePragmaERNS_12PreprocessorENS_20PragmaIntroducerKindERNS_5TokenE", "clang::PragmaGCCVisibilityHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN5clang17PragmaPackHandler12HandlePragmaERNS_12PreprocessorENS_20PragmaIntroducerKindERNS_5TokenE", "clang::PragmaPackHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN5clang18PragmaAlignHandler12HandlePragmaERNS_12PreprocessorENS_20PragmaIntroducerKindERNS_5TokenE", "clang::PragmaAlignHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_Z16ParseAlignPragmaRN5clang4SemaERNS_12PreprocessorERNS_5TokenEb", "ParseAlignPragma(clang::Sema&, clang::Preprocessor&, clang::Token&, bool)"},
-    {"_ZN5clang20PragmaOptionsHandler12HandlePragmaERNS_12PreprocessorENS_20PragmaIntroducerKindERNS_5TokenE", "clang::PragmaOptionsHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN5clang19PragmaUnusedHandler12HandlePragmaERNS_12PreprocessorENS_20PragmaIntroducerKindERNS_5TokenE", "clang::PragmaUnusedHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN5clang17PragmaWeakHandler12HandlePragmaERNS_12PreprocessorENS_20PragmaIntroducerKindERNS_5TokenE", "clang::PragmaWeakHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN5clang18PragmaAlignHandlerD1Ev", "clang::PragmaAlignHandler::~PragmaAlignHandler()"},
-    {"_ZN5clang18PragmaAlignHandlerD0Ev", "clang::PragmaAlignHandler::~PragmaAlignHandler()"},
-    {"_ZN5clang26PragmaGCCVisibilityHandlerD1Ev", "clang::PragmaGCCVisibilityHandler::~PragmaGCCVisibilityHandler()"},
-    {"_ZN5clang26PragmaGCCVisibilityHandlerD0Ev", "clang::PragmaGCCVisibilityHandler::~PragmaGCCVisibilityHandler()"},
-    {"_ZN5clang20PragmaOptionsHandlerD1Ev", "clang::PragmaOptionsHandler::~PragmaOptionsHandler()"},
-    {"_ZN5clang20PragmaOptionsHandlerD0Ev", "clang::PragmaOptionsHandler::~PragmaOptionsHandler()"},
-    {"_ZN5clang17PragmaPackHandlerD1Ev", "clang::PragmaPackHandler::~PragmaPackHandler()"},
-    {"_ZN5clang17PragmaPackHandlerD0Ev", "clang::PragmaPackHandler::~PragmaPackHandler()"},
-    {"_ZN5clang19PragmaUnusedHandlerD1Ev", "clang::PragmaUnusedHandler::~PragmaUnusedHandler()"},
-    {"_ZN5clang19PragmaUnusedHandlerD0Ev", "clang::PragmaUnusedHandler::~PragmaUnusedHandler()"},
-    {"_ZN5clang17PragmaWeakHandlerD1Ev", "clang::PragmaWeakHandler::~PragmaWeakHandler()"},
-    {"_ZN5clang17PragmaWeakHandlerD0Ev", "clang::PragmaWeakHandler::~PragmaWeakHandler()"},
-    {"_ZN5clang6Parser27ParseStatementOrDeclarationERNS_15ASTOwningVectorIPNS_4StmtELj32EEEb", "clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, bool)"},
-    {"_ZN5clang6Parser21ParseLabeledStatementERNS_16ParsedAttributesE", "clang::Parser::ParseLabeledStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser18ParseCaseStatementERNS_16ParsedAttributesE", "clang::Parser::ParseCaseStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser21ParseDefaultStatementERNS_16ParsedAttributesE", "clang::Parser::ParseDefaultStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser22ParseCompoundStatementERNS_16ParsedAttributesEb", "clang::Parser::ParseCompoundStatement(clang::ParsedAttributes&, bool)"},
-    {"_ZN5clang6Parser16ParseIfStatementERNS_16ParsedAttributesE", "clang::Parser::ParseIfStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser20ParseSwitchStatementERNS_16ParsedAttributesE", "clang::Parser::ParseSwitchStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser19ParseWhileStatementERNS_16ParsedAttributesE", "clang::Parser::ParseWhileStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser16ParseDoStatementERNS_16ParsedAttributesE", "clang::Parser::ParseDoStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser17ParseForStatementERNS_16ParsedAttributesE", "clang::Parser::ParseForStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser18ParseGotoStatementERNS_16ParsedAttributesE", "clang::Parser::ParseGotoStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser22ParseContinueStatementERNS_16ParsedAttributesE", "clang::Parser::ParseContinueStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser19ParseBreakStatementERNS_16ParsedAttributesE", "clang::Parser::ParseBreakStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser20ParseReturnStatementERNS_16ParsedAttributesE", "clang::Parser::ParseReturnStatement(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser17ParseAsmStatementERb", "clang::Parser::ParseAsmStatement(bool&)"},
-    {"_ZN5clang6Parser16ParseCXXTryBlockERNS_16ParsedAttributesE", "clang::Parser::ParseCXXTryBlock(clang::ParsedAttributes&)"},
-    {"_ZN5clang6Parser26ParseCompoundStatementBodyEb", "clang::Parser::ParseCompoundStatementBody(bool)"},
-    {"_ZN5clang6Parser25ParseParenExprOrConditionERNS_12ActionResultIPNS_4ExprELb1EEERPNS_4DeclENS_14SourceLocationEb", "clang::Parser::ParseParenExprOrCondition(clang::ActionResult<clang::Expr*, true>&, clang::Decl*&, clang::SourceLocation, bool)"},
-    {"_ZN5clang6Parser31FuzzyParseMicrosoftAsmStatementENS_14SourceLocationE", "clang::Parser::FuzzyParseMicrosoftAsmStatement(clang::SourceLocation)"},
-    {"_ZN5clang6Parser19ParseAsmOperandsOptERN4llvm15SmallVectorImplIPNS_14IdentifierInfoEEERNS2_IPNS_4ExprEEESA_", "clang::Parser::ParseAsmOperandsOpt(llvm::SmallVectorImpl<clang::IdentifierInfo*>&, llvm::SmallVectorImpl<clang::Expr*>&, llvm::SmallVectorImpl<clang::Expr*>&)"},
-    {"_ZN5clang6Parser26ParseFunctionStatementBodyEPNS_4DeclE", "clang::Parser::ParseFunctionStatementBody(clang::Decl*)"},
-    {"_ZN5clang6Parser40trySkippingFunctionBodyForCodeCompletionEv", "clang::Parser::trySkippingFunctionBodyForCodeCompletion()"},
-    {"_ZN5clang6Parser21ParseFunctionTryBlockEPNS_4DeclE", "clang::Parser::ParseFunctionTryBlock(clang::Decl*)"},
-    {"_ZN5clang6Parser22ParseCXXTryBlockCommonENS_14SourceLocationE", "clang::Parser::ParseCXXTryBlockCommon(clang::SourceLocation)"},
-    {"_ZN5clang6Parser18ParseCXXCatchBlockEv", "clang::Parser::ParseCXXCatchBlock()"},
-    {"_ZN5clang6Parser36ParseDeclarationStartingWithTemplateEjRNS_14SourceLocationENS_15AccessSpecifierE", "clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int, clang::SourceLocation&, clang::AccessSpecifier)"},
-    {"_ZN5clang6Parser26ParseExplicitInstantiationENS_14SourceLocationES1_RS1_", "clang::Parser::ParseExplicitInstantiation(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation&)"},
-    {"_ZN5clang6Parser40ParseTemplateDeclarationOrSpecializationEjRNS_14SourceLocationENS_15AccessSpecifierE", "clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int, clang::SourceLocation&, clang::AccessSpecifier)"},
-    {"_ZN5clang6Parser23ParseTemplateParametersEjRN4llvm15SmallVectorImplIPNS_4DeclEEERNS_14SourceLocationES8_", "clang::Parser::ParseTemplateParameters(unsigned int, llvm::SmallVectorImpl<clang::Decl*>&, clang::SourceLocation&, clang::SourceLocation&)"},
-    {"_ZN5clang6Parser35ParseSingleDeclarationAfterTemplateEjRKNS0_18ParsedTemplateInfoERNS0_21ParsingDeclRAIIObjectERNS_14SourceLocationENS_15AccessSpecifierE", "clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::AccessSpecifier)"},
-    {"_ZN5clang6Parser26ParseTemplateParameterListEjRN4llvm15SmallVectorImplIPNS_4DeclEEE", "clang::Parser::ParseTemplateParameterList(unsigned int, llvm::SmallVectorImpl<clang::Decl*>&)"},
-    {"_ZN5clang6Parser22ParseTemplateParameterEjj", "clang::Parser::ParseTemplateParameter(unsigned int, unsigned int)"},
-    {"_ZN5clang6Parser30isStartOfTemplateTypeParameterEv", "clang::Parser::isStartOfTemplateTypeParameter()"},
-    {"_ZN5clang6Parser18ParseTypeParameterEjj", "clang::Parser::ParseTypeParameter(unsigned int, unsigned int)"},
-    {"_ZN5clang6Parser30ParseTemplateTemplateParameterEjj", "clang::Parser::ParseTemplateTemplateParameter(unsigned int, unsigned int)"},
-    {"_ZN5clang6Parser29ParseNonTypeTemplateParameterEjj", "clang::Parser::ParseNonTypeTemplateParameter(unsigned int, unsigned int)"},
-    {"_ZN5clang6Parser29ParseTemplateTemplateArgumentEv", "clang::Parser::ParseTemplateTemplateArgument()"},
-    {"_ZN5clang6Parser32ParseTemplateIdAfterTemplateNameENS_9OpaquePtrINS_12TemplateNameEEENS_14SourceLocationEPKNS_12CXXScopeSpecEbRS4_RN4llvm11SmallVectorINS_22ParsedTemplateArgumentELj16EEES8_", "clang::Parser::ParseTemplateIdAfterTemplateName(clang::OpaquePtr<clang::TemplateName>, clang::SourceLocation, clang::CXXScopeSpec const*, bool, clang::SourceLocation&, llvm::SmallVector<clang::ParsedTemplateArgument, 16u>&, clang::SourceLocation&)"},
-    {"_ZN5clang6Parser25ParseTemplateArgumentListERN4llvm11SmallVectorINS_22ParsedTemplateArgumentELj16EEE", "clang::Parser::ParseTemplateArgumentList(llvm::SmallVector<clang::ParsedTemplateArgument, 16u>&)"},
-    {"_ZN5clang6Parser23AnnotateTemplateIdTokenENS_9OpaquePtrINS_12TemplateNameEEENS_16TemplateNameKindEPKNS_12CXXScopeSpecERNS_13UnqualifiedIdENS_14SourceLocationEb", "clang::Parser::AnnotateTemplateIdToken(clang::OpaquePtr<clang::TemplateName>, clang::TemplateNameKind, clang::CXXScopeSpec const*, clang::UnqualifiedId&, clang::SourceLocation, bool)"},
-    {"_ZN5clang6Parser29AnnotateTemplateIdTokenAsTypeEPKNS_12CXXScopeSpecE", "clang::Parser::AnnotateTemplateIdTokenAsType(clang::CXXScopeSpec const*)"},
-    {"_ZN5clang6Parser21ParseTemplateArgumentEv", "clang::Parser::ParseTemplateArgument()"},
-    {"_ZN5clang6Parser22IsTemplateArgumentListEj", "clang::Parser::IsTemplateArgumentList(unsigned int)"},
-    {"_ZNK5clang6Parser18ParsedTemplateInfo14getSourceRangeEv", "clang::Parser::ParsedTemplateInfo::getSourceRange() const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang22ParsedTemplateArgumentELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument, false>::grow(unsigned long)"},
-    {"_ZN5clang6Parser25isCXXDeclarationStatementEv", "clang::Parser::isCXXDeclarationStatement()"},
-    {"_ZN5clang6Parser22isCXXSimpleDeclarationEv", "clang::Parser::isCXXSimpleDeclaration()"},
-    {"_ZN5clang6Parser25isCXXDeclarationSpecifierEv", "clang::Parser::isCXXDeclarationSpecifier()"},
-    {"_ZN5clang6Parser25TryParseSimpleDeclarationEv", "clang::Parser::TryParseSimpleDeclaration()"},
-    {"_ZN5clang6Parser23TryParseTypeofSpecifierEv", "clang::Parser::TryParseTypeofSpecifier()"},
-    {"_ZN5clang6Parser26TryParseProtocolQualifiersEv", "clang::Parser::TryParseProtocolQualifiers()"},
-    {"_ZN5clang6Parser26TryParseInitDeclaratorListEv", "clang::Parser::TryParseInitDeclaratorList()"},
-    {"_ZN5clang6Parser18TryParseDeclaratorEbb", "clang::Parser::TryParseDeclarator(bool, bool)"},
-    {"_ZN5clang6Parser25isCXXConditionDeclarationEv", "clang::Parser::isCXXConditionDeclaration()"},
-    {"_ZN5clang6Parser11isCXXTypeIdENS0_25TentativeCXXTypeIdContextERb", "clang::Parser::isCXXTypeId(clang::Parser::TentativeCXXTypeIdContext, bool&)"},
-    {"_ZN5clang6Parser25isCXX0XAttributeSpecifierEbPNS_3tok9TokenKindE", "clang::Parser::isCXX0XAttributeSpecifier(bool, clang::tok::TokenKind*)"},
-    {"_ZN5clang6Parser26TryParseFunctionDeclaratorEv", "clang::Parser::TryParseFunctionDeclarator()"},
-    {"_ZN5clang6Parser23isCXXFunctionDeclaratorEb", "clang::Parser::isCXXFunctionDeclarator(bool)"},
-    {"_ZN5clang6Parser25TryParseBracketDeclaratorEv", "clang::Parser::TryParseBracketDeclarator()"},
-    {"_ZN5clang6Parser33isExpressionOrTypeSpecifierSimpleENS_3tok9TokenKindE", "clang::Parser::isExpressionOrTypeSpecifierSimple(clang::tok::TokenKind)"},
-    {"_ZN5clang6Parser28TryParseDeclarationSpecifierEv", "clang::Parser::TryParseDeclarationSpecifier()"},
-    {"_ZN5clang6Parser34TryParseParameterDeclarationClauseEv", "clang::Parser::TryParseParameterDeclarationClause()"},
-    {"_ZN5clang6ParserC1ERNS_12PreprocessorERNS_4SemaE", "clang::Parser::Parser(clang::Preprocessor&, clang::Sema&)"},
-    {"_ZN5clang6ParserC2ERNS_12PreprocessorERNS_4SemaE", "clang::Parser::Parser(clang::Preprocessor&, clang::Sema&)"},
-    {"_ZNK5clang27PrettyStackTraceParserEntry5printERN4llvm11raw_ostreamE", "clang::PrettyStackTraceParserEntry::print(llvm::raw_ostream&) const"},
-    {"_ZN5clang6Parser4DiagENS_14SourceLocationEj", "clang::Parser::Diag(clang::SourceLocation, unsigned int)"},
-    {"_ZN5clang6Parser4DiagERKNS_5TokenEj", "clang::Parser::Diag(clang::Token const&, unsigned int)"},
-    {"_ZN5clang6Parser18SuggestParenthesesENS_14SourceLocationEjNS_11SourceRangeE", "clang::Parser::SuggestParentheses(clang::SourceLocation, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang6Parser19MatchRHSPunctuationENS_3tok9TokenKindENS_14SourceLocationE", "clang::Parser::MatchRHSPunctuation(clang::tok::TokenKind, clang::SourceLocation)"},
-    {"_ZN5clang6Parser16ExpectAndConsumeENS_3tok9TokenKindEjPKcS2_", "clang::Parser::ExpectAndConsume(clang::tok::TokenKind, unsigned int, char const*, clang::tok::TokenKind)"},
-    {"_ZN5clang6Parser20ExpectAndConsumeSemiEj", "clang::Parser::ExpectAndConsumeSemi(unsigned int)"},
-    {"_ZN5clang6Parser9SkipUntilEPKNS_3tok9TokenKindEjbbb", "clang::Parser::SkipUntil(clang::tok::TokenKind const*, unsigned int, bool, bool, bool)"},
-    {"_ZN5clang6Parser10EnterScopeEj", "clang::Parser::EnterScope(unsigned int)"},
-    {"_ZN5clang6Parser9ExitScopeEv", "clang::Parser::ExitScope()"},
-    {"_ZN5clang6ParserD0Ev", "clang::Parser::~Parser()"},
-    {"_ZN5clang6ParserD1Ev", "clang::Parser::~Parser()"},
-    {"_ZN5clang6ParserD2Ev", "clang::Parser::~Parser()"},
-    {"_ZN5clang6Parser10InitializeEv", "clang::Parser::Initialize()"},
-    {"_ZN5clang6Parser17ParseTopLevelDeclERNS_9OpaquePtrINS_12DeclGroupRefEEE", "clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)"},
-    {"_ZN5clang6Parser24ParseExternalDeclarationERNS0_25ParsedAttributesWithRangeEPNS0_15ParsingDeclSpecE", "clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::Parser::ParsingDeclSpec*)"},
-    {"_ZN5clang6Parser20ParseTranslationUnitEv", "clang::Parser::ParseTranslationUnit()"},
-    {"_ZN5clang6Parser14ParseSimpleAsmEPNS_14SourceLocationE", "clang::Parser::ParseSimpleAsm(clang::SourceLocation*)"},
-    {"_ZN5clang6Parser36ParseDeclarationOrFunctionDefinitionERNS0_15ParsingDeclSpecENS_15AccessSpecifierE", "clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsingDeclSpec&, clang::AccessSpecifier)"},
-    {"_ZN5clang6Parser36ParseDeclarationOrFunctionDefinitionERNS_16ParsedAttributesENS_15AccessSpecifierE", "clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::AccessSpecifier)"},
-    {"_ZNK5clang6Parser28isDeclarationAfterDeclaratorEv", "clang::Parser::isDeclarationAfterDeclarator() const"},
-    {"_ZN5clang6Parser27isStartOfFunctionDefinitionERKNS0_17ParsingDeclaratorE", "clang::Parser::isStartOfFunctionDefinition(clang::Parser::ParsingDeclarator const&)"},
-    {"_ZN5clang6Parser23ParseFunctionDefinitionERNS0_17ParsingDeclaratorERKNS0_18ParsedTemplateInfoE", "clang::Parser::ParseFunctionDefinition(clang::Parser::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&)"},
-    {"_ZN5clang6Parser25ParseKNRParamDeclarationsERNS_10DeclaratorE", "clang::Parser::ParseKNRParamDeclarations(clang::Declarator&)"},
-    {"_ZN5clang6Parser21ParseAsmStringLiteralEv", "clang::Parser::ParseAsmStringLiteral()"},
-    {"_ZN5clang6Parser27TryAnnotateTypeOrScopeTokenEb", "clang::Parser::TryAnnotateTypeOrScopeToken(bool)"},
-    {"_ZN5clang6Parser24TryAnnotateCXXScopeTokenEb", "clang::Parser::TryAnnotateCXXScopeToken(bool)"},
-    {"_ZN5clang6Parser32isTokenEqualOrMistypedEqualEqualEj", "clang::Parser::isTokenEqualOrMistypedEqualEqual(unsigned int)"},
-    {"_ZN5clang6Parser22CodeCompletionRecoveryEv", "clang::Parser::CodeCompletionRecovery()"},
-    {"_ZN5clang6Parser13FieldCallback7_anchorEv", "clang::Parser::FieldCallback::_anchor()"},
-    {"_ZN5clang6Parser21CodeCompleteDirectiveEb", "clang::Parser::CodeCompleteDirective(bool)"},
-    {"_ZN5clang6Parser34CodeCompleteInConditionalExclusionEv", "clang::Parser::CodeCompleteInConditionalExclusion()"},
-    {"_ZN5clang6Parser21CodeCompleteMacroNameEb", "clang::Parser::CodeCompleteMacroName(bool)"},
-    {"_ZN5clang6Parser34CodeCompletePreprocessorExpressionEv", "clang::Parser::CodeCompletePreprocessorExpression()"},
-    {"_ZN5clang6Parser25CodeCompleteMacroArgumentEPNS_14IdentifierInfoEPNS_9MacroInfoEj", "clang::Parser::CodeCompleteMacroArgument(clang::IdentifierInfo*, clang::MacroInfo*, unsigned int)"},
-    {"_ZN5clang6Parser27CodeCompleteNaturalLanguageEv", "clang::Parser::CodeCompleteNaturalLanguage()"},
-    {"_ZN5clang6Parser15ConsumeAnyTokenEv", "clang::Parser::ConsumeAnyToken()"},
-    {"_ZN5clang5Scope4InitEPS0_j", "clang::Scope::Init(clang::Scope*, unsigned int)"},
-    {"_ZN5clang27PrettyStackTraceParserEntryD1Ev", "clang::PrettyStackTraceParserEntry::~PrettyStackTraceParserEntry()"},
-    {"_ZN5clang27PrettyStackTraceParserEntryD0Ev", "clang::PrettyStackTraceParserEntry::~PrettyStackTraceParserEntry()"},
-    {"_ZN5clang6Parser13FieldCallbackD1Ev", "clang::Parser::FieldCallback::~FieldCallback()"},
-    {"_ZN5clang6Parser13FieldCallbackD0Ev", "clang::Parser::FieldCallback::~FieldCallback()"},
-    {"_ZNSt11_Deque_baseIPN5clang6Parser12ParsingClassESaIS3_EE17_M_initialize_mapEm", "std::_Deque_base<clang::Parser::ParsingClass*, std::allocator<clang::Parser::ParsingClass*> >::_M_initialize_map(unsigned long)"},
-    {"_ZNSt5dequeIPN5clang6Parser12ParsingClassESaIS3_EEC2ERKS5_", "std::deque<clang::Parser::ParsingClass*, std::allocator<clang::Parser::ParsingClass*> >::deque(std::deque<clang::Parser::ParsingClass*, std::allocator<clang::Parser::ParsingClass*> > const&)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang5TokenEE6insertEPS2_RKS2_", "llvm::SmallVectorImpl<clang::Token>::insert(clang::Token*, clang::Token const&)"},
-    {"_ZN5clang4sema21AnalysisBasedWarnings6PolicyC1Ev", "clang::sema::AnalysisBasedWarnings::Policy::Policy()"},
-    {"_ZN5clang4sema21AnalysisBasedWarnings6PolicyC2Ev", "clang::sema::AnalysisBasedWarnings::Policy::Policy()"},
-    {"_ZN5clang4sema21AnalysisBasedWarningsC1ERNS_4SemaE", "clang::sema::AnalysisBasedWarnings::AnalysisBasedWarnings(clang::Sema&)"},
-    {"_ZN5clang4sema21AnalysisBasedWarningsC2ERNS_4SemaE", "clang::sema::AnalysisBasedWarnings::AnalysisBasedWarnings(clang::Sema&)"},
-    {"_ZN5clang4sema21AnalysisBasedWarnings13IssueWarningsENS1_6PolicyEPKNS_4DeclENS_8QualTypeE", "clang::sema::AnalysisBasedWarnings::IssueWarnings(clang::sema::AnalysisBasedWarnings::Policy, clang::Decl const*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_122UninitValsDiagReporterD1Ev", "(anonymous namespace)::UninitValsDiagReporter::~UninitValsDiagReporter()"},
-    {"_ZN5clang4sema21AnalysisBasedWarnings13IssueWarningsENS1_6PolicyEPKNS_9BlockExprE", "clang::sema::AnalysisBasedWarnings::IssueWarnings(clang::sema::AnalysisBasedWarnings::Policy, clang::BlockExpr const*)"},
-    {"_ZN5clang4sema21AnalysisBasedWarnings13IssueWarningsENS1_6PolicyEPKNS_14ObjCMethodDeclE", "clang::sema::AnalysisBasedWarnings::IssueWarnings(clang::sema::AnalysisBasedWarnings::Policy, clang::ObjCMethodDecl const*)"},
-    {"_ZN5clang4sema21AnalysisBasedWarnings13IssueWarningsENS1_6PolicyEPKNS_12FunctionDeclE", "clang::sema::AnalysisBasedWarnings::IssueWarnings(clang::sema::AnalysisBasedWarnings::Policy, clang::FunctionDecl const*)"},
-    {"_ZN12_GLOBAL__N_122UninitValsDiagReporterD0Ev", "(anonymous namespace)::UninitValsDiagReporter::~UninitValsDiagReporter()"},
-    {"_ZN12_GLOBAL__N_122UninitValsDiagReporter25handleUseOfUninitVariableEPKN5clang4ExprEPKNS1_7VarDeclE", "(anonymous namespace)::UninitValsDiagReporter::handleUseOfUninitVariable(clang::Expr const*, clang::VarDecl const*)"},
-    {"_ZSt16__introsort_loopIPPKN5clang4ExprElN12_GLOBAL__N_18SLocSortEEvT_S7_T0_T1_", "void std::__introsort_loop<clang::Expr const**, long, (anonymous namespace)::SLocSort>(clang::Expr const**, clang::Expr const**, long, (anonymous namespace)::SLocSort)"},
-    {"_ZSt16__insertion_sortIPPKN5clang4ExprEN12_GLOBAL__N_18SLocSortEEvT_S7_T0_", "void std::__insertion_sort<clang::Expr const**, (anonymous namespace)::SLocSort>(clang::Expr const**, clang::Expr const**, (anonymous namespace)::SLocSort)"},
-    {"_ZSt25__unguarded_linear_insertIPPKN5clang4ExprES3_N12_GLOBAL__N_18SLocSortEEvT_T0_T1_", "void std::__unguarded_linear_insert<clang::Expr const**, clang::Expr const*, (anonymous namespace)::SLocSort>(clang::Expr const**, clang::Expr const*, (anonymous namespace)::SLocSort)"},
-    {"_ZSt13__adjust_heapIPPKN5clang4ExprElS3_N12_GLOBAL__N_18SLocSortEEvT_T0_S8_T1_T2_", "void std::__adjust_heap<clang::Expr const**, long, clang::Expr const*, (anonymous namespace)::SLocSort>(clang::Expr const**, long, long, clang::Expr const*, (anonymous namespace)::SLocSort)"},
-    {"_ZN12_GLOBAL__N_122UnreachableCodeHandlerD1Ev", "(anonymous namespace)::UnreachableCodeHandler::~UnreachableCodeHandler()"},
-    {"_ZN12_GLOBAL__N_122UnreachableCodeHandlerD0Ev", "(anonymous namespace)::UnreachableCodeHandler::~UnreachableCodeHandler()"},
-    {"_ZN12_GLOBAL__N_122UnreachableCodeHandler17HandleUnreachableEN5clang14SourceLocationENS1_11SourceRangeES3_", "(anonymous namespace)::UnreachableCodeHandler::HandleUnreachable(clang::SourceLocation, clang::SourceRange, clang::SourceRange)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEPNS_11SmallVectorIPKNS1_4ExprELj2EEENS_12DenseMapInfoIS4_EENSB_ISA_EEE16InsertIntoBucketERKS4_RKSA_PSt4pairIS4_SA_E", "llvm::DenseMap<clang::VarDecl const*, llvm::SmallVector<clang::Expr const*, 2u>*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::Expr const*, 2u>*> >::InsertIntoBucket(clang::VarDecl const* const&, llvm::SmallVector<clang::Expr const*, 2u>* const&, std::pair<clang::VarDecl const*, llvm::SmallVector<clang::Expr const*, 2u>*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEPNS_11SmallVectorIPKNS1_4ExprELj2EEENS_12DenseMapInfoIS4_EENSB_ISA_EEE4growEj", "llvm::DenseMap<clang::VarDecl const*, llvm::SmallVector<clang::Expr const*, 2u>*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::Expr const*, 2u>*> >::grow(unsigned int)"},
-    {"_ZN5clang22UninitVariablesHandler25handleUseOfUninitVariableEPKNS_4ExprEPKNS_7VarDeclE", "clang::UninitVariablesHandler::handleUseOfUninitVariable(clang::Expr const*, clang::VarDecl const*)"},
-    {"_ZN5clang14reachable_code8CallbackD1Ev", "clang::reachable_code::Callback::~Callback()"},
-    {"_ZN5clang14reachable_code8CallbackD0Ev", "clang::reachable_code::Callback::~Callback()"},
-    {"_ZSt6__findIPKPN5clang8CFGBlockES2_ET_S5_S5_RKT0_St26random_access_iterator_tag", "clang::CFGBlock* const* std::__find<clang::CFGBlock* const*, clang::CFGBlock*>(clang::CFGBlock* const*, clang::CFGBlock* const*, clang::CFGBlock* const&, std::random_access_iterator_tag)"},
-    {"_ZN5clang13AttributeListC1ERN4llvm16BumpPtrAllocatorEPNS_14IdentifierInfoENS_14SourceLocationES5_S6_S5_S6_PPNS_4ExprEjbb", "clang::AttributeList::AttributeList(llvm::BumpPtrAllocator&, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::Expr**, unsigned int, bool, bool)"},
-    {"_ZN5clang13AttributeListC2ERN4llvm16BumpPtrAllocatorEPNS_14IdentifierInfoENS_14SourceLocationES5_S6_S5_S6_PPNS_4ExprEjbb", "clang::AttributeList::AttributeList(llvm::BumpPtrAllocator&, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::Expr**, unsigned int, bool, bool)"},
-    {"_ZN5clang13AttributeList7getKindEPKNS_14IdentifierInfoE", "clang::AttributeList::getKind(clang::IdentifierInfo const*)"},
-    {"_ZNK5clang21CodeCompletionContext22wantConstructorResultsEv", "clang::CodeCompletionContext::wantConstructorResults() const"},
-    {"_ZN5clang20CodeCompletionString5ChunkC1ENS0_9ChunkKindEPKc", "clang::CodeCompletionString::Chunk::Chunk(clang::CodeCompletionString::ChunkKind, char const*)"},
-    {"_ZN5clang20CodeCompletionString5ChunkC2ENS0_9ChunkKindEPKc", "clang::CodeCompletionString::Chunk::Chunk(clang::CodeCompletionString::ChunkKind, char const*)"},
-    {"_ZN5clang20CodeCompletionString5Chunk10CreateTextEPKc", "clang::CodeCompletionString::Chunk::CreateText(char const*)"},
-    {"_ZN5clang20CodeCompletionString5Chunk14CreateOptionalEPS0_", "clang::CodeCompletionString::Chunk::CreateOptional(clang::CodeCompletionString*)"},
-    {"_ZN5clang20CodeCompletionString5Chunk17CreatePlaceholderEPKc", "clang::CodeCompletionString::Chunk::CreatePlaceholder(char const*)"},
-    {"_ZN5clang20CodeCompletionString5Chunk17CreateInformativeEPKc", "clang::CodeCompletionString::Chunk::CreateInformative(char const*)"},
-    {"_ZN5clang20CodeCompletionString5Chunk16CreateResultTypeEPKc", "clang::CodeCompletionString::Chunk::CreateResultType(char const*)"},
-    {"_ZN5clang20CodeCompletionString5Chunk22CreateCurrentParameterEPKc", "clang::CodeCompletionString::Chunk::CreateCurrentParameter(char const*)"},
-    {"_ZN5clang20CodeCompletionStringC1EPKNS0_5ChunkEjj18CXAvailabilityKind", "clang::CodeCompletionString::CodeCompletionString(clang::CodeCompletionString::Chunk const*, unsigned int, unsigned int, CXAvailabilityKind)"},
-    {"_ZN5clang20CodeCompletionStringC2EPKNS0_5ChunkEjj18CXAvailabilityKind", "clang::CodeCompletionString::CodeCompletionString(clang::CodeCompletionString::Chunk const*, unsigned int, unsigned int, CXAvailabilityKind)"},
-    {"_ZNK5clang20CodeCompletionString11getAsStringEv", "clang::CodeCompletionString::getAsString() const"},
-    {"_ZNK5clang20CodeCompletionString12getTypedTextEv", "clang::CodeCompletionString::getTypedText() const"},
-    {"_ZN5clang23CodeCompletionAllocator10CopyStringEN4llvm9StringRefE", "clang::CodeCompletionAllocator::CopyString(llvm::StringRef)"},
-    {"_ZN5clang21CodeCompletionBuilder10TakeStringEv", "clang::CodeCompletionBuilder::TakeString()"},
-    {"_ZN5clang20CodeCompletionResult19getPriorityFromDeclEPNS_9NamedDeclE", "clang::CodeCompletionResult::getPriorityFromDecl(clang::NamedDecl*)"},
-    {"_ZNK5clang20CodeCompleteConsumer17OverloadCandidate11getFunctionEv", "clang::CodeCompleteConsumer::OverloadCandidate::getFunction() const"},
-    {"_ZNK5clang20CodeCompleteConsumer17OverloadCandidate15getFunctionTypeEv", "clang::CodeCompleteConsumer::OverloadCandidate::getFunctionType() const"},
-    {"_ZN5clang20CodeCompleteConsumerD0Ev", "clang::CodeCompleteConsumer::~CodeCompleteConsumer()"},
-    {"_ZN5clang20CodeCompleteConsumerD1Ev", "clang::CodeCompleteConsumer::~CodeCompleteConsumer()"},
-    {"_ZN5clang20CodeCompleteConsumerD2Ev", "clang::CodeCompleteConsumer::~CodeCompleteConsumer()"},
-    {"_ZN5clang28PrintingCodeCompleteConsumer26ProcessCodeCompleteResultsERNS_4SemaENS_21CodeCompletionContextEPNS_20CodeCompletionResultEj", "clang::PrintingCodeCompleteConsumer::ProcessCodeCompleteResults(clang::Sema&, clang::CodeCompletionContext, clang::CodeCompletionResult*, unsigned int)"},
-    {"_ZN5clang28PrintingCodeCompleteConsumer25ProcessOverloadCandidatesERNS_4SemaEjPNS_20CodeCompleteConsumer17OverloadCandidateEj", "clang::PrintingCodeCompleteConsumer::ProcessOverloadCandidates(clang::Sema&, unsigned int, clang::CodeCompleteConsumer::OverloadCandidate*, unsigned int)"},
-    {"_ZN5clang20CodeCompletionResult32computeCursorKindAndAvailabilityEv", "clang::CodeCompletionResult::computeCursorKindAndAvailability()"},
-    {"_ZN5clangltERKNS_20CodeCompletionResultES2_", "clang::operator<(clang::CodeCompletionResult const&, clang::CodeCompletionResult const&)"},
-    {"_Z14getOrderedNameRKN5clang20CodeCompletionResultERSs", "getOrderedName(clang::CodeCompletionResult const&, std::string&)"},
-    {"_ZNK5clang4Decl7getAttrINS_15UnavailableAttrEEEPT_v", "clang::UnavailableAttr* clang::Decl::getAttr<clang::UnavailableAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_14DeprecatedAttrEEEPT_v", "clang::DeprecatedAttr* clang::Decl::getAttr<clang::DeprecatedAttr>() const"},
-    {"_ZN5clang28PrintingCodeCompleteConsumerD1Ev", "clang::PrintingCodeCompleteConsumer::~PrintingCodeCompleteConsumer()"},
-    {"_ZN5clang28PrintingCodeCompleteConsumerD0Ev", "clang::PrintingCodeCompleteConsumer::~PrintingCodeCompleteConsumer()"},
-    {"_ZSt21__inplace_stable_sortIPN5clang20CodeCompletionResultEEvT_S3_", "void std::__inplace_stable_sort<clang::CodeCompletionResult*>(clang::CodeCompletionResult*, clang::CodeCompletionResult*)"},
-    {"_ZSt22__stable_sort_adaptiveIPN5clang20CodeCompletionResultES2_lEvT_S3_T0_T1_", "void std::__stable_sort_adaptive<clang::CodeCompletionResult*, clang::CodeCompletionResult*, long>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, long)"},
-    {"_ZSt24__merge_sort_with_bufferIPN5clang20CodeCompletionResultES2_EvT_S3_T0_", "void std::__merge_sort_with_buffer<clang::CodeCompletionResult*, clang::CodeCompletionResult*>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*)"},
-    {"_ZSt16__merge_adaptiveIPN5clang20CodeCompletionResultElS2_EvT_S3_S3_T0_S4_T1_S4_", "void std::__merge_adaptive<clang::CodeCompletionResult*, long, clang::CodeCompletionResult*>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, long, long, clang::CodeCompletionResult*, long)"},
-    {"_ZSt5mergeIPN5clang20CodeCompletionResultES2_S2_ET1_T_S4_T0_S5_S3_", "clang::CodeCompletionResult* std::merge<clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*)"},
-    {"_ZSt16__merge_backwardIPN5clang20CodeCompletionResultES2_S2_ET1_T_S4_T0_S5_S3_", "clang::CodeCompletionResult* std::__merge_backward<clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*)"},
-    {"_ZSt17__rotate_adaptiveIPN5clang20CodeCompletionResultES2_lET_S3_S3_S3_T1_S4_T0_S4_", "clang::CodeCompletionResult* std::__rotate_adaptive<clang::CodeCompletionResult*, clang::CodeCompletionResult*, long>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, long, long, clang::CodeCompletionResult*, long)"},
-    {"_ZSt8__rotateIPN5clang20CodeCompletionResultEEvT_S3_S3_St26random_access_iterator_tag", "void std::__rotate<clang::CodeCompletionResult*>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, std::random_access_iterator_tag)"},
-    {"_ZSt16__insertion_sortIPN5clang20CodeCompletionResultEEvT_S3_", "void std::__insertion_sort<clang::CodeCompletionResult*>(clang::CodeCompletionResult*, clang::CodeCompletionResult*)"},
-    {"_ZSt22__merge_without_bufferIPN5clang20CodeCompletionResultElEvT_S3_S3_T0_S4_", "void std::__merge_without_buffer<clang::CodeCompletionResult*, long>(clang::CodeCompletionResult*, clang::CodeCompletionResult*, clang::CodeCompletionResult*, long, long)"},
-    {"_ZN5clang13UnqualifiedId13setTemplateIdEPNS_20TemplateIdAnnotationE", "clang::UnqualifiedId::setTemplateId(clang::TemplateIdAnnotation*)"},
-    {"_ZN5clang13UnqualifiedId24setConstructorTemplateIdEPNS_20TemplateIdAnnotationE", "clang::UnqualifiedId::setConstructorTemplateId(clang::TemplateIdAnnotation*)"},
-    {"_ZN5clang15DeclaratorChunk11getFunctionERKNS_16ParsedAttributesEbbNS_14SourceLocationEPNS0_9ParamInfoEjjbS4_bS4_bPNS_9OpaquePtrINS_8QualTypeEEEPNS_11SourceRangeEjS4_S4_RNS_10DeclaratorES9_", "clang::DeclaratorChunk::getFunction(clang::ParsedAttributes const&, bool, bool, clang::SourceLocation, clang::DeclaratorChunk::ParamInfo*, unsigned int, unsigned int, bool, clang::SourceLocation, bool, clang::SourceLocation, bool, clang::OpaquePtr<clang::QualType>*, clang::SourceRange*, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::Declarator&, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZNK5clang8DeclSpec19getParsedSpecifiersEv", "clang::DeclSpec::getParsedSpecifiers() const"},
-    {"_ZN5clang8DeclSpec16getSpecifierNameENS0_3SCSE", "clang::DeclSpec::getSpecifierName(clang::DeclSpec::SCS)"},
-    {"_ZN5clang8DeclSpec16getSpecifierNameENS_18TypeSpecifierWidthE", "clang::DeclSpec::getSpecifierName(clang::TypeSpecifierWidth)"},
-    {"_ZN5clang8DeclSpec16getSpecifierNameENS0_3TSCE", "clang::DeclSpec::getSpecifierName(clang::DeclSpec::TSC)"},
-    {"_ZN5clang8DeclSpec16getSpecifierNameENS_17TypeSpecifierSignE", "clang::DeclSpec::getSpecifierName(clang::TypeSpecifierSign)"},
-    {"_ZN5clang8DeclSpec16getSpecifierNameENS_17TypeSpecifierTypeE", "clang::DeclSpec::getSpecifierName(clang::TypeSpecifierType)"},
-    {"_ZN5clang8DeclSpec16getSpecifierNameENS0_2TQE", "clang::DeclSpec::getSpecifierName(clang::DeclSpec::TQ)"},
-    {"_ZN5clang8DeclSpec19SetStorageClassSpecENS0_3SCSENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetStorageClassSpec(clang::DeclSpec::SCS, clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec25SetStorageClassSpecThreadENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetStorageClassSpecThread(clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec16SetTypeSpecWidthENS_18TypeSpecifierWidthENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetTypeSpecWidth(clang::TypeSpecifierWidth, clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec18SetTypeSpecComplexENS0_3TSCENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetTypeSpecComplex(clang::DeclSpec::TSC, clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec15SetTypeSpecSignENS_17TypeSpecifierSignENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetTypeSpecSign(clang::TypeSpecifierSign, clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec15SetTypeSpecTypeENS_17TypeSpecifierTypeENS_14SourceLocationERPKcRjNS_9OpaquePtrINS_8QualTypeEEE", "clang::DeclSpec::SetTypeSpecType(clang::TypeSpecifierType, clang::SourceLocation, char const*&, unsigned int&, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang8DeclSpec15SetTypeSpecTypeENS_17TypeSpecifierTypeENS_14SourceLocationERPKcRjPNS_4ExprE", "clang::DeclSpec::SetTypeSpecType(clang::TypeSpecifierType, clang::SourceLocation, char const*&, unsigned int&, clang::Expr*)"},
-    {"_ZN5clang8DeclSpec15SetTypeSpecTypeENS_17TypeSpecifierTypeENS_14SourceLocationERPKcRjPNS_4DeclEb", "clang::DeclSpec::SetTypeSpecType(clang::TypeSpecifierType, clang::SourceLocation, char const*&, unsigned int&, clang::Decl*, bool)"},
-    {"_ZN5clang8DeclSpec15SetTypeSpecTypeENS_17TypeSpecifierTypeENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetTypeSpecType(clang::TypeSpecifierType, clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec20SetTypeAltiVecVectorEbNS_14SourceLocationERPKcRj", "clang::DeclSpec::SetTypeAltiVecVector(bool, clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec19SetTypeAltiVecPixelEbNS_14SourceLocationERPKcRj", "clang::DeclSpec::SetTypeAltiVecPixel(bool, clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec16SetTypeSpecErrorEv", "clang::DeclSpec::SetTypeSpecError()"},
-    {"_ZN5clang8DeclSpec11SetTypeQualENS0_2TQENS_14SourceLocationERPKcRjRKNS_11LangOptionsE", "clang::DeclSpec::SetTypeQual(clang::DeclSpec::TQ, clang::SourceLocation, char const*&, unsigned int&, clang::LangOptions const&)"},
-    {"_ZN5clang8DeclSpec21SetFunctionSpecInlineENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetFunctionSpecInline(clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec22SetFunctionSpecVirtualENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetFunctionSpecVirtual(clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec23SetFunctionSpecExplicitENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetFunctionSpecExplicit(clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec13SetFriendSpecENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetFriendSpec(clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec16SetConstexprSpecENS_14SourceLocationERPKcRj", "clang::DeclSpec::SetConstexprSpec(clang::SourceLocation, char const*&, unsigned int&)"},
-    {"_ZN5clang8DeclSpec21setProtocolQualifiersEPKPNS_4DeclEjPNS_14SourceLocationES5_", "clang::DeclSpec::setProtocolQualifiers(clang::Decl* const*, unsigned int, clang::SourceLocation*, clang::SourceLocation)"},
-    {"_ZN5clang8DeclSpec23SaveWrittenBuiltinSpecsEv", "clang::DeclSpec::SaveWrittenBuiltinSpecs()"},
-    {"_ZN5clang8DeclSpec29SaveStorageSpecifierAsWrittenEv", "clang::DeclSpec::SaveStorageSpecifierAsWritten()"},
-    {"_ZN5clang8DeclSpec6FinishERNS_10DiagnosticERNS_12PreprocessorE", "clang::DeclSpec::Finish(clang::Diagnostic&, clang::Preprocessor&)"},
-    {"_ZN5clang8DeclSpec21isMissingDeclaratorOkEv", "clang::DeclSpec::isMissingDeclaratorOk()"},
-    {"_ZN5clang13UnqualifiedId5clearEv", "clang::UnqualifiedId::clear()"},
-    {"_ZN5clang13UnqualifiedId21setOperatorFunctionIdENS_14SourceLocationENS_22OverloadedOperatorKindEPS1_", "clang::UnqualifiedId::setOperatorFunctionId(clang::SourceLocation, clang::OverloadedOperatorKind, clang::SourceLocation*)"},
-    {"_ZN5clang14VirtSpecifiers12SetSpecifierENS0_9SpecifierENS_14SourceLocationERPKc", "clang::VirtSpecifiers::SetSpecifier(clang::VirtSpecifiers::Specifier, clang::SourceLocation, char const*&)"},
-    {"_ZN5clang14VirtSpecifiers16getSpecifierNameENS0_9SpecifierE", "clang::VirtSpecifiers::getSpecifierName(clang::VirtSpecifiers::Specifier)"},
-    {"_ZN5clang19ClassVirtSpecifiers12SetSpecifierENS0_9SpecifierENS_14SourceLocationERPKc", "clang::ClassVirtSpecifiers::SetSpecifier(clang::ClassVirtSpecifiers::Specifier, clang::SourceLocation, char const*&)"},
-    {"_ZN5clang19ClassVirtSpecifiers16getSpecifierNameENS0_9SpecifierE", "clang::ClassVirtSpecifiers::getSpecifierName(clang::ClassVirtSpecifiers::Specifier)"},
-    {"_ZN5clang18IdentifierResolver10IdDeclInfo10RemoveDeclEPNS_9NamedDeclE", "clang::IdentifierResolver::IdDeclInfo::RemoveDecl(clang::NamedDecl*)"},
-    {"_ZN5clang18IdentifierResolver10IdDeclInfo11ReplaceDeclEPNS_9NamedDeclES3_", "clang::IdentifierResolver::IdDeclInfo::ReplaceDecl(clang::NamedDecl*, clang::NamedDecl*)"},
-    {"_ZN5clang18IdentifierResolverC1ERKNS_11LangOptionsE", "clang::IdentifierResolver::IdentifierResolver(clang::LangOptions const&)"},
-    {"_ZN5clang18IdentifierResolverC2ERKNS_11LangOptionsE", "clang::IdentifierResolver::IdentifierResolver(clang::LangOptions const&)"},
-    {"_ZN5clang18IdentifierResolverD1Ev", "clang::IdentifierResolver::~IdentifierResolver()"},
-    {"_ZN5clang18IdentifierResolverD2Ev", "clang::IdentifierResolver::~IdentifierResolver()"},
-    {"_ZNK5clang18IdentifierResolver13isDeclInScopeEPNS_4DeclEPNS_11DeclContextERNS_10ASTContextEPNS_5ScopeE", "clang::IdentifierResolver::isDeclInScope(clang::Decl*, clang::DeclContext*, clang::ASTContext&, clang::Scope*) const"},
-    {"_ZN5clang18IdentifierResolver7AddDeclEPNS_9NamedDeclE", "clang::IdentifierResolver::AddDecl(clang::NamedDecl*)"},
-    {"_ZN5clang18IdentifierResolver13IdDeclInfoMapixENS_15DeclarationNameE", "clang::IdentifierResolver::IdDeclInfoMap::operator[](clang::DeclarationName)"},
-    {"_ZN5clang18IdentifierResolver10RemoveDeclEPNS_9NamedDeclE", "clang::IdentifierResolver::RemoveDecl(clang::NamedDecl*)"},
-    {"_ZN5clang18IdentifierResolver11ReplaceDeclEPNS_9NamedDeclES2_", "clang::IdentifierResolver::ReplaceDecl(clang::NamedDecl*, clang::NamedDecl*)"},
-    {"_ZN5clang18IdentifierResolver5beginENS_15DeclarationNameE", "clang::IdentifierResolver::begin(clang::DeclarationName)"},
-    {"_ZN5clang18IdentifierResolver24AddDeclToIdentifierChainEPNS_14IdentifierInfoEPNS_9NamedDeclE", "clang::IdentifierResolver::AddDeclToIdentifierChain(clang::IdentifierInfo*, clang::NamedDecl*)"},
-    {"_ZN5clang18IdentifierResolver8iterator17incrementSlowCaseEv", "clang::IdentifierResolver::iterator::incrementSlowCase()"},
-    {"_ZN5clang4Sema20DiagnoseInvalidJumpsEPNS_4StmtE", "clang::Sema::DiagnoseInvalidJumps(clang::Stmt*)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_116JumpScopeChecker9GotoScopeEE9push_backERKS3_", "llvm::SmallVectorImpl<(anonymous namespace)::JumpScopeChecker::GotoScope>::push_back((anonymous namespace)::JumpScopeChecker::GotoScope const&)"},
-    {"_ZN12_GLOBAL__N_116JumpScopeChecker21BuildScopeInformationEPN5clang4StmtEj", "(anonymous namespace)::JumpScopeChecker::BuildScopeInformation(clang::Stmt*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_116JumpScopeChecker9CheckJumpEPN5clang4StmtES3_NS1_14SourceLocationEj", "(anonymous namespace)::JumpScopeChecker::CheckJump(clang::Stmt*, clang::Stmt*, clang::SourceLocation, unsigned int)"},
-    {"_ZN12_GLOBAL__N_116JumpScopeChecker21BuildScopeInformationEPN5clang4DeclERj", "(anonymous namespace)::JumpScopeChecker::BuildScopeInformation(clang::Decl*, unsigned int&)"},
-    {"_ZN4llvm8DenseMapIjPN5clang9LabelStmtENS_12DenseMapInfoIjEENS4_IS3_EEE16InsertIntoBucketERKjRKS3_PSt4pairIjS3_E", "llvm::DenseMap<unsigned int, clang::LabelStmt*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<clang::LabelStmt*> >::InsertIntoBucket(unsigned int const&, clang::LabelStmt* const&, std::pair<unsigned int, clang::LabelStmt*>*)"},
-    {"_ZN4llvm8DenseMapIjPN5clang9LabelStmtENS_12DenseMapInfoIjEENS4_IS3_EEE4growEj", "llvm::DenseMap<unsigned int, clang::LabelStmt*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<clang::LabelStmt*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIjPN5clang16IndirectGotoStmtENS_12DenseMapInfoIjEENS4_IS3_EEE16InsertIntoBucketERKjRKS3_PSt4pairIjS3_E", "llvm::DenseMap<unsigned int, clang::IndirectGotoStmt*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<clang::IndirectGotoStmt*> >::InsertIntoBucket(unsigned int const&, clang::IndirectGotoStmt* const&, std::pair<unsigned int, clang::IndirectGotoStmt*>*)"},
-    {"_ZN4llvm8DenseMapIjPN5clang16IndirectGotoStmtENS_12DenseMapInfoIjEENS4_IS3_EEE4growEj", "llvm::DenseMap<unsigned int, clang::IndirectGotoStmt*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<clang::IndirectGotoStmt*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang4StmtEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<clang::Stmt*, unsigned int, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::Stmt* const&, unsigned int const&, std::pair<clang::Stmt*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4StmtEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<clang::Stmt*, unsigned int, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang4sema17FunctionScopeInfoD0Ev", "clang::sema::FunctionScopeInfo::~FunctionScopeInfo()"},
-    {"_ZN5clang4sema17FunctionScopeInfoD1Ev", "clang::sema::FunctionScopeInfo::~FunctionScopeInfo()"},
-    {"_ZN5clang4sema17FunctionScopeInfoD2Ev", "clang::sema::FunctionScopeInfo::~FunctionScopeInfo()"},
-    {"_ZN5clang4sema17FunctionScopeInfo5ClearEv", "clang::sema::FunctionScopeInfo::Clear()"},
-    {"_ZN5clang4sema14BlockScopeInfoD0Ev", "clang::sema::BlockScopeInfo::~BlockScopeInfo()"},
-    {"_ZN5clang4sema14BlockScopeInfoD1Ev", "clang::sema::BlockScopeInfo::~BlockScopeInfo()"},
-    {"_ZN5clang4sema14BlockScopeInfoD2Ev", "clang::sema::BlockScopeInfo::~BlockScopeInfo()"},
-    {"_ZN5clang4Sema25ActOnTranslationUnitScopeEPNS_5ScopeE", "clang::Sema::ActOnTranslationUnitScope(clang::Scope*)"},
-    {"_ZN5clang4SemaC1ERNS_12PreprocessorERNS_10ASTContextERNS_11ASTConsumerEbPNS_20CodeCompleteConsumerE", "clang::Sema::Sema(clang::Preprocessor&, clang::ASTContext&, clang::ASTConsumer&, bool, clang::CodeCompleteConsumer*)"},
-    {"_ZN5clang4SemaC2ERNS_12PreprocessorERNS_10ASTContextERNS_11ASTConsumerEbPNS_20CodeCompleteConsumerE", "clang::Sema::Sema(clang::Preprocessor&, clang::ASTContext&, clang::ASTConsumer&, bool, clang::CodeCompleteConsumer*)"},
-    {"_ZN5clang4Sema10InitializeEv", "clang::Sema::Initialize()"},
-    {"_ZN5clang4SemaD1Ev", "clang::Sema::~Sema()"},
-    {"_ZN5clang4SemaD2Ev", "clang::Sema::~Sema()"},
-    {"_ZN5clang4Sema17ImpCastExprToTypeERPNS_4ExprENS_8QualTypeENS_8CastKindENS_13ExprValueKindEPKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEE", "clang::Sema::ImpCastExprToType(clang::Expr*&, clang::QualType, clang::CastKind, clang::ExprValueKind, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const*)"},
-    {"_ZN5clang4Sema12CastCategoryEPNS_4ExprE", "clang::Sema::CastCategory(clang::Expr*)"},
-    {"_ZN5clang4Sema25ActOnEndOfTranslationUnitEv", "clang::Sema::ActOnEndOfTranslationUnit()"},
-    {"_Z22ShouldRemoveFromUnusedPN5clang4SemaEPKNS_14DeclaratorDeclE", "ShouldRemoveFromUnused(clang::Sema*, clang::DeclaratorDecl const*)"},
-    {"_ZN5clang4Sema4DiagENS_14SourceLocationEj", "clang::Sema::Diag(clang::SourceLocation, unsigned int)"},
-    {"_ZN5clang4Sema21SemaDiagnosticBuilderD1Ev", "clang::Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder()"},
-    {"_ZN5clang4Sema27getFunctionLevelDeclContextEv", "clang::Sema::getFunctionLevelDeclContext()"},
-    {"_ZN5clang4Sema18getCurFunctionDeclEv", "clang::Sema::getCurFunctionDecl()"},
-    {"_ZN5clang4Sema16getCurMethodDeclEv", "clang::Sema::getCurMethodDecl()"},
-    {"_ZN5clang4Sema26getCurFunctionOrMethodDeclEv", "clang::Sema::getCurFunctionOrMethodDecl()"},
-    {"_ZN5clang4Sema21SemaDiagnosticBuilderD2Ev", "clang::Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder()"},
-    {"_ZN5clang4Sema4DiagENS_14SourceLocationERKNS_17PartialDiagnosticE", "clang::Sema::Diag(clang::SourceLocation, clang::PartialDiagnostic const&)"},
-    {"_ZN5clang4Sema18getScopeForContextEPNS_11DeclContextE", "clang::Sema::getScopeForContext(clang::DeclContext*)"},
-    {"_ZN5clang4Sema17PushFunctionScopeEv", "clang::Sema::PushFunctionScope()"},
-    {"_ZN5clang4Sema14PushBlockScopeEPNS_5ScopeEPNS_9BlockDeclE", "clang::Sema::PushBlockScope(clang::Scope*, clang::BlockDecl*)"},
-    {"_ZN5clang4Sema23PopFunctionOrBlockScopeEv", "clang::Sema::PopFunctionOrBlockScope()"},
-    {"_ZNK5clang4Sema26hasAnyErrorsInThisFunctionEv", "clang::Sema::hasAnyErrorsInThisFunction() const"},
-    {"_ZN5clang4Sema11getCurBlockEv", "clang::Sema::getCurBlock()"},
-    {"_ZN5clang18ExternalSemaSourceD0Ev", "clang::ExternalSemaSource::~ExternalSemaSource()"},
-    {"_ZN5clang18ExternalSemaSourceD1Ev", "clang::ExternalSemaSource::~ExternalSemaSource()"},
-    {"_ZN5clang18ExternalSemaSourceD2Ev", "clang::ExternalSemaSource::~ExternalSemaSource()"},
-    {"_ZN5clang18ExternalSemaSource14ReadMethodPoolENS_8SelectorE", "clang::ExternalSemaSource::ReadMethodPool(clang::Selector)"},
-    {"_ZNK5clang25PrettyDeclStackTraceEntry5printERN4llvm11raw_ostreamE", "clang::PrettyDeclStackTraceEntry::print(llvm::raw_ostream&) const"},
-    {"_ZN5clang4sema21TemplateDeductionInfo23addSuppressedDiagnosticENS_14SourceLocationERKNS_17PartialDiagnosticE", "clang::sema::TemplateDeductionInfo::addSuppressedDiagnostic(clang::SourceLocation, clang::PartialDiagnostic const&)"},
-    {"_ZNK5clang17PartialDiagnostic4EmitERKNS_17DiagnosticBuilderE", "clang::PartialDiagnostic::Emit(clang::DiagnosticBuilder const&) const"},
-    {"_ZN5clang25PrettyDeclStackTraceEntryD1Ev", "clang::PrettyDeclStackTraceEntry::~PrettyDeclStackTraceEntry()"},
-    {"_ZN5clang25PrettyDeclStackTraceEntryD0Ev", "clang::PrettyDeclStackTraceEntry::~PrettyDeclStackTraceEntry()"},
-    {"_ZSt9__find_ifIPPKN5clang14DeclaratorDeclESt9binder1stISt26pointer_to_binary_functionIPNS0_4SemaES3_bEEET_SB_SB_T0_St26random_access_iterator_tag", "clang::DeclaratorDecl const** std::__find_if<clang::DeclaratorDecl const**, std::binder1st<std::pointer_to_binary_function<clang::Sema*, clang::DeclaratorDecl const*, bool> > >(clang::DeclaratorDecl const**, clang::DeclaratorDecl const**, std::binder1st<std::pointer_to_binary_function<clang::Sema*, clang::DeclaratorDecl const*, bool> >, std::random_access_iterator_tag)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang4Sema33ExpressionEvaluationContextRecordELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::Sema::ExpressionEvaluationContextRecord, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPN5clang4DeclENS_11SmallVectorISt4pairINS1_14SourceLocationENS1_17PartialDiagnosticEELj1EEENS_12DenseMapInfoIS3_EENSA_IS9_EEED2Ev", "llvm::DenseMap<clang::Decl*, llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u>, llvm::DenseMapInfo<clang::Decl*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u> > >::~DenseMap()"},
-    {"_ZNSt11_Deque_baseISt4pairIPN5clang9ValueDeclENS1_14SourceLocationEESaIS5_EE17_M_initialize_mapEm", "std::_Deque_base<std::pair<clang::ValueDecl*, clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> > >::_M_initialize_map(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS1_9LabelStmtENS_12DenseMapInfoIS3_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<clang::IdentifierInfo*, clang::LabelStmt*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::LabelStmt*> >::shrink_and_clear()"},
-    {"_ZN5clang4sema14BlockScopeInfoC2ERNS_10DiagnosticEPNS_5ScopeEPNS_9BlockDeclE", "clang::sema::BlockScopeInfo::BlockScopeInfo(clang::Diagnostic&, clang::Scope*, clang::BlockDecl*)"},
-    {"_ZN5clang17PartialDiagnostic11freeStorageEv", "clang::PartialDiagnostic::freeStorage()"},
-    {"_ZN5clang17PartialDiagnosticC2ERKNS_14DiagnosticInfoERNS0_16StorageAllocatorE", "clang::PartialDiagnostic::PartialDiagnostic(clang::DiagnosticInfo const&, clang::PartialDiagnostic::StorageAllocator&)"},
-    {"_ZNK5clang17PartialDiagnostic9AddStringEN4llvm9StringRefE", "clang::PartialDiagnostic::AddString(llvm::StringRef) const"},
-    {"_ZNK5clang17PartialDiagnostic10getStorageEv", "clang::PartialDiagnostic::getStorage() const"},
-    {"_ZN5clang17PartialDiagnostic16StorageAllocator8AllocateEv", "clang::PartialDiagnostic::StorageAllocator::Allocate()"},
-    {"_ZN5clang17PartialDiagnostic7StorageaSERKS1_", "clang::PartialDiagnostic::Storage::operator=(clang::PartialDiagnostic::Storage const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIN5clang14SourceLocationENS2_17PartialDiagnosticEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, false>::grow(unsigned long)"},
-    {"_ZN5clang4Sema24SetMemberAccessSpecifierEPNS_9NamedDeclES2_NS_15AccessSpecifierE", "clang::Sema::SetMemberAccessSpecifier(clang::NamedDecl*, clang::NamedDecl*, clang::AccessSpecifier)"},
-    {"_ZN5clang4Sema24HandleDelayedAccessCheckERNS_4sema17DelayedDiagnosticEPNS_4DeclE", "clang::Sema::HandleDelayedAccessCheck(clang::sema::DelayedDiagnostic&, clang::Decl*)"},
-    {"_ZN12_GLOBAL__N_116EffectiveContextC1EPN5clang11DeclContextE", "(anonymous namespace)::EffectiveContext::EffectiveContext(clang::DeclContext*)"},
-    {"_Z20CheckEffectiveAccessRN5clang4SemaERKN12_GLOBAL__N_116EffectiveContextENS_14SourceLocationERNS2_12AccessTargetE", "CheckEffectiveAccess(clang::Sema&, (anonymous namespace)::EffectiveContext const&, clang::SourceLocation, (anonymous namespace)::AccessTarget&)"},
-    {"_ZN5clang4Sema26HandleDependentAccessCheckERKNS_19DependentDiagnosticERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::HandleDependentAccessCheck(clang::DependentDiagnostic const&, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_Z11CheckAccessRN5clang4SemaENS_14SourceLocationERN12_GLOBAL__N_112AccessTargetE", "CheckAccess(clang::Sema&, clang::SourceLocation, (anonymous namespace)::AccessTarget&)"},
-    {"_ZN5clang4Sema27CheckUnresolvedLookupAccessEPNS_20UnresolvedLookupExprENS_14DeclAccessPairE", "clang::Sema::CheckUnresolvedLookupAccess(clang::UnresolvedLookupExpr*, clang::DeclAccessPair)"},
-    {"_ZN5clang4Sema27CheckUnresolvedMemberAccessEPNS_20UnresolvedMemberExprENS_14DeclAccessPairE", "clang::Sema::CheckUnresolvedMemberAccess(clang::UnresolvedMemberExpr*, clang::DeclAccessPair)"},
-    {"_ZN5clang4Sema21CheckDestructorAccessENS_14SourceLocationEPNS_17CXXDestructorDeclERKNS_17PartialDiagnosticE", "clang::Sema::CheckDestructorAccess(clang::SourceLocation, clang::CXXDestructorDecl*, clang::PartialDiagnostic const&)"},
-    {"_ZN5clang4Sema22CheckConstructorAccessENS_14SourceLocationEPNS_18CXXConstructorDeclERKNS_17InitializedEntityENS_15AccessSpecifierEb", "clang::Sema::CheckConstructorAccess(clang::SourceLocation, clang::CXXConstructorDecl*, clang::InitializedEntity const&, clang::AccessSpecifier, bool)"},
-    {"_ZN5clang4Sema23CheckDirectMemberAccessENS_14SourceLocationEPNS_9NamedDeclERKNS_17PartialDiagnosticE", "clang::Sema::CheckDirectMemberAccess(clang::SourceLocation, clang::NamedDecl*, clang::PartialDiagnostic const&)"},
-    {"_ZN5clang4Sema21CheckAllocationAccessENS_14SourceLocationENS_11SourceRangeEPNS_13CXXRecordDeclENS_14DeclAccessPairE", "clang::Sema::CheckAllocationAccess(clang::SourceLocation, clang::SourceRange, clang::CXXRecordDecl*, clang::DeclAccessPair)"},
-    {"_ZN5clang4Sema25CheckMemberOperatorAccessENS_14SourceLocationEPNS_4ExprES3_NS_14DeclAccessPairE", "clang::Sema::CheckMemberOperatorAccess(clang::SourceLocation, clang::Expr*, clang::Expr*, clang::DeclAccessPair)"},
-    {"_ZN5clang4Sema26CheckAddressOfMemberAccessEPNS_4ExprENS_14DeclAccessPairE", "clang::Sema::CheckAddressOfMemberAccess(clang::Expr*, clang::DeclAccessPair)"},
-    {"_ZN5clang4Sema20CheckBaseClassAccessENS_14SourceLocationENS_8QualTypeES2_RKNS_11CXXBasePathEjbb", "clang::Sema::CheckBaseClassAccess(clang::SourceLocation, clang::QualType, clang::QualType, clang::CXXBasePath const&, unsigned int, bool, bool)"},
-    {"_ZN5clang4Sema17CheckLookupAccessERKNS_12LookupResultE", "clang::Sema::CheckLookupAccess(clang::LookupResult const&)"},
-    {"_ZN5clang4Sema33ActOnStartSuppressingAccessChecksEv", "clang::Sema::ActOnStartSuppressingAccessChecks()"},
-    {"_ZN5clang4Sema32ActOnStopSuppressingAccessChecksEv", "clang::Sema::ActOnStopSuppressingAccessChecks()"},
-    {"_Z18FindDeclaringClassPN5clang9NamedDeclE", "FindDeclaringClass(clang::NamedDecl*)"},
-    {"_Z9HasAccessRN5clang4SemaERKN12_GLOBAL__N_116EffectiveContextEPKNS_13CXXRecordDeclENS_15AccessSpecifierERKNS2_12AccessTargetE", "HasAccess(clang::Sema&, (anonymous namespace)::EffectiveContext const&, clang::CXXRecordDecl const*, clang::AccessSpecifier, (anonymous namespace)::AccessTarget const&)"},
-    {"_Z12FindBestPathRN5clang4SemaERKN12_GLOBAL__N_116EffectiveContextERNS2_12AccessTargetENS_15AccessSpecifierERNS_12CXXBasePathsE", "FindBestPath(clang::Sema&, (anonymous namespace)::EffectiveContext const&, (anonymous namespace)::AccessTarget&, clang::AccessSpecifier, clang::CXXBasePaths&)"},
-    {"_Z13GetFriendKindRN5clang4SemaERKN12_GLOBAL__N_116EffectiveContextEPKNS_13CXXRecordDeclE", "GetFriendKind(clang::Sema&, (anonymous namespace)::EffectiveContext const&, clang::CXXRecordDecl const*)"},
-    {"_Z13MatchesFriendRN5clang4SemaERKN12_GLOBAL__N_116EffectiveContextEPKNS_13CXXRecordDeclE", "MatchesFriend(clang::Sema&, (anonymous namespace)::EffectiveContext const&, clang::CXXRecordDecl const*)"},
-    {"_Z18MightInstantiateToRN5clang4SemaEPNS_12FunctionDeclES3_", "MightInstantiateTo(clang::Sema&, clang::FunctionDecl*, clang::FunctionDecl*)"},
-    {"_Z22IsDerivedFromInclusivePKN5clang13CXXRecordDeclES2_", "IsDerivedFromInclusive(clang::CXXRecordDecl const*, clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_122ProtectedFriendContext14findFriendshipEPKN5clang13CXXRecordDeclEj", "(anonymous namespace)::ProtectedFriendContext::findFriendship(clang::CXXRecordDecl const*, unsigned int)"},
-    {"_ZSt6__findIPKPN5clang13CXXRecordDeclEPKS1_ET_S7_S7_RKT0_St26random_access_iterator_tag", "clang::CXXRecordDecl* const* std::__find<clang::CXXRecordDecl* const*, clang::CXXRecordDecl const*>(clang::CXXRecordDecl* const*, clang::CXXRecordDecl* const*, clang::CXXRecordDecl const* const&, std::random_access_iterator_tag)"},
-    {"_ZN5clang4Sema17FreePackedContextEv", "clang::Sema::FreePackedContext()"},
-    {"_ZN5clang4Sema31AddAlignmentAttributesForRecordEPNS_10RecordDeclE", "clang::Sema::AddAlignmentAttributesForRecord(clang::RecordDecl*)"},
-    {"_ZN5clang4Sema23ActOnPragmaOptionsAlignENS0_22PragmaOptionsAlignKindENS_14SourceLocationES2_", "clang::Sema::ActOnPragmaOptionsAlign(clang::Sema::PragmaOptionsAlignKind, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN12_GLOBAL__N_115PragmaPackStack4pushEPN5clang14IdentifierInfoE", "(anonymous namespace)::PragmaPackStack::push(clang::IdentifierInfo*)"},
-    {"_ZN5clang4Sema15ActOnPragmaPackENS0_14PragmaPackKindEPNS_14IdentifierInfoEPNS_4ExprENS_14SourceLocationES6_S6_", "clang::Sema::ActOnPragmaPack(clang::Sema::PragmaPackKind, clang::IdentifierInfo*, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17ActOnPragmaUnusedERKNS_5TokenEPNS_5ScopeENS_14SourceLocationE", "clang::Sema::ActOnPragmaUnused(clang::Token const&, clang::Scope*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema28AddPushedVisibilityAttributeEPNS_4DeclE", "clang::Sema::AddPushedVisibilityAttribute(clang::Decl*)"},
-    {"_ZN5clang4Sema14FreeVisContextEv", "clang::Sema::FreeVisContext()"},
-    {"_ZN5clang4Sema21ActOnPragmaVisibilityEbPKNS_14IdentifierInfoENS_14SourceLocationE", "clang::Sema::ActOnPragmaVisibility(bool, clang::IdentifierInfo const*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema19PopPragmaVisibilityEv", "clang::Sema::PopPragmaVisibility()"},
-    {"_ZN5clang4Sema27PushNamespaceVisibilityAttrEPKNS_14VisibilityAttrE", "clang::Sema::PushNamespaceVisibilityAttr(clang::VisibilityAttr const*)"},
-    {"_ZN5clang4Decl7addAttrEPNS_4AttrE", "clang::Decl::addAttr(clang::Attr*)"},
-    {"_ZNSt6vectorISt4pairIjN5clang14SourceLocationEESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<std::pair<unsigned int, clang::SourceLocation>, std::allocator<std::pair<unsigned int, clang::SourceLocation> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int, clang::SourceLocation>*, std::vector<std::pair<unsigned int, clang::SourceLocation>, std::allocator<std::pair<unsigned int, clang::SourceLocation> > > >, std::pair<unsigned int, clang::SourceLocation> const&)"},
-    {"_ZN5clang15InheritableAttrD1Ev", "clang::InheritableAttr::~InheritableAttr()"},
-    {"_ZN5clang15InheritableAttrD0Ev", "clang::InheritableAttr::~InheritableAttr()"},
-    {"_ZN4llvm11SmallVectorIPN5clang4AttrELj2EEC2EjRKS3_", "llvm::SmallVector<clang::Attr*, 2u>::SmallVector(unsigned int, clang::Attr* const&)"},
-    {"_ZN5clang4Sema17ActOnCXXNamedCastENS_14SourceLocationENS_3tok9TokenKindES1_NS_9OpaquePtrINS_8QualTypeEEES1_S1_PNS_4ExprES1_", "clang::Sema::ActOnCXXNamedCast(clang::SourceLocation, clang::tok::TokenKind, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17BuildCXXNamedCastENS_14SourceLocationENS_3tok9TokenKindEPNS_14TypeSourceInfoEPNS_4ExprENS_11SourceRangeES8_", "clang::Sema::BuildCXXNamedCast(clang::SourceLocation, clang::tok::TokenKind, clang::TypeSourceInfo*, clang::Expr*, clang::SourceRange, clang::SourceRange)"},
-    {"_ZN5clang4Sema18CXXCheckCStyleCastENS_11SourceRangeENS_8QualTypeERNS_13ExprValueKindERPNS_4ExprERNS_8CastKindERN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEb", "clang::Sema::CXXCheckCStyleCast(clang::SourceRange, clang::QualType, clang::ExprValueKind&, clang::Expr*&, clang::CastKind&, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>&, bool)"},
-    {"_Z12TryConstCastRN5clang4SemaEPNS_4ExprENS_8QualTypeEbRj", "TryConstCast(clang::Sema&, clang::Expr*, clang::QualType, bool, unsigned int&)"},
-    {"_Z13TryStaticCastRN5clang4SemaERPNS_4ExprENS_8QualTypeEbRKNS_11SourceRangeERjRNS_8CastKindERN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEE", "TryStaticCast(clang::Sema&, clang::Expr*&, clang::QualType, bool, clang::SourceRange const&, unsigned int&, clang::CastKind&, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>&)"},
-    {"_Z18TryReinterpretCastRN5clang4SemaEPNS_4ExprENS_8QualTypeEbRKNS_11SourceRangeERjRNS_8CastKindE", "TryReinterpretCast(clang::Sema&, clang::Expr*, clang::QualType, bool, clang::SourceRange const&, unsigned int&, clang::CastKind&)"},
-    {"_Z18CastsAwayConstnessRN5clang4SemaENS_8QualTypeES2_", "CastsAwayConstness(clang::Sema&, clang::QualType, clang::QualType)"},
-    {"_Z17TryStaticDowncastRN5clang4SemaENS_7CanQualINS_4TypeEEES4_bRKNS_11SourceRangeENS_8QualTypeES8_RjRNS_8CastKindERN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEE", "TryStaticDowncast(clang::Sema&, clang::CanQual<clang::Type>, clang::CanQual<clang::Type>, bool, clang::SourceRange const&, clang::QualType, clang::QualType, unsigned int&, clang::CastKind&, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>&)"},
-    {"_Z25NoteAllOverloadCandidatesPN5clang4ExprERNS_4SemaE", "NoteAllOverloadCandidates(clang::Expr*, clang::Sema&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang10QualifiersELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::Qualifiers, false>::grow(unsigned long)"},
-    {"_ZN5clang4Sema18computeDeclContextENS_8QualTypeE", "clang::Sema::computeDeclContext(clang::QualType)"},
-    {"_ZN5clang4Sema18computeDeclContextERKNS_12CXXScopeSpecEb", "clang::Sema::computeDeclContext(clang::CXXScopeSpec const&, bool)"},
-    {"_ZN5clang4Sema25getCurrentInstantiationOfEPNS_19NestedNameSpecifierE", "clang::Sema::getCurrentInstantiationOf(clang::NestedNameSpecifier*)"},
-    {"_ZN5clang4Sema25isDependentScopeSpecifierERKNS_12CXXScopeSpecE", "clang::Sema::isDependentScopeSpecifier(clang::CXXScopeSpec const&)"},
-    {"_ZN5clang4Sema23isUnknownSpecializationERKNS_12CXXScopeSpecE", "clang::Sema::isUnknownSpecialization(clang::CXXScopeSpec const&)"},
-    {"_ZN5clang4Sema26RequireCompleteDeclContextERNS_12CXXScopeSpecEPNS_11DeclContextE", "clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*)"},
-    {"_ZN5clang4Sema28ActOnCXXGlobalScopeSpecifierEPNS_5ScopeENS_14SourceLocationE", "clang::Sema::ActOnCXXGlobalScopeSpecifier(clang::Scope*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema31isAcceptableNestedNameSpecifierEPNS_9NamedDeclE", "clang::Sema::isAcceptableNestedNameSpecifier(clang::NamedDecl*)"},
-    {"_ZN5clang4Sema25FindFirstQualifierInScopeEPNS_5ScopeEPNS_19NestedNameSpecifierE", "clang::Sema::FindFirstQualifierInScope(clang::Scope*, clang::NestedNameSpecifier*)"},
-    {"_ZN5clang4Sema28isNonTypeNestedNameSpecifierEPNS_5ScopeERNS_12CXXScopeSpecENS_14SourceLocationERNS_14IdentifierInfoENS_9OpaquePtrINS_8QualTypeEEE", "clang::Sema::isNonTypeNestedNameSpecifier(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::IdentifierInfo&, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang4Sema27BuildCXXNestedNameSpecifierEPNS_5ScopeERNS_12CXXScopeSpecENS_14SourceLocationES5_RNS_14IdentifierInfoENS_8QualTypeEPNS_9NamedDeclEbb", "clang::Sema::BuildCXXNestedNameSpecifier(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo&, clang::QualType, clang::NamedDecl*, bool, bool)"},
-    {"_ZN5clang4Sema27ActOnCXXNestedNameSpecifierEPNS_5ScopeERNS_12CXXScopeSpecENS_14SourceLocationES5_RNS_14IdentifierInfoENS_9OpaquePtrINS_8QualTypeEEEb", "clang::Sema::ActOnCXXNestedNameSpecifier(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo&, clang::OpaquePtr<clang::QualType>, bool)"},
-    {"_ZN5clang4Sema25IsInvalidUnlessNestedNameEPNS_5ScopeERNS_12CXXScopeSpecERNS_14IdentifierInfoENS_9OpaquePtrINS_8QualTypeEEEb", "clang::Sema::IsInvalidUnlessNestedName(clang::Scope*, clang::CXXScopeSpec&, clang::IdentifierInfo&, clang::OpaquePtr<clang::QualType>, bool)"},
-    {"_ZN5clang4Sema27ActOnCXXNestedNameSpecifierEPNS_5ScopeERKNS_12CXXScopeSpecENS_9OpaquePtrINS_8QualTypeEEENS_11SourceRangeENS_14SourceLocationE", "clang::Sema::ActOnCXXNestedNameSpecifier(clang::Scope*, clang::CXXScopeSpec const&, clang::OpaquePtr<clang::QualType>, clang::SourceRange, clang::SourceLocation)"},
-    {"_ZN5clang4Sema26ShouldEnterDeclaratorScopeEPNS_5ScopeERKNS_12CXXScopeSpecE", "clang::Sema::ShouldEnterDeclaratorScope(clang::Scope*, clang::CXXScopeSpec const&)"},
-    {"_ZN5clang4Sema28ActOnCXXEnterDeclaratorScopeEPNS_5ScopeERNS_12CXXScopeSpecE", "clang::Sema::ActOnCXXEnterDeclaratorScope(clang::Scope*, clang::CXXScopeSpec&)"},
-    {"_ZN5clang4Sema27ActOnCXXExitDeclaratorScopeEPNS_5ScopeERKNS_12CXXScopeSpecE", "clang::Sema::ActOnCXXExitDeclaratorScope(clang::Scope*, clang::CXXScopeSpec const&)"},
-    {"_ZNK5clang4Sema30getLocationOfStringLiteralByteEPKNS_13StringLiteralEj", "clang::Sema::getLocationOfStringLiteralByte(clang::StringLiteral const*, unsigned int) const"},
-    {"_ZN5clang4Sema19CheckablePrintfAttrEPKNS_10FormatAttrEPNS_8CallExprE", "clang::Sema::CheckablePrintfAttr(clang::FormatAttr const*, clang::CallExpr*)"},
-    {"_ZN5clang4Sema24CheckBuiltinFunctionCallEjPNS_8CallExprE", "clang::Sema::CheckBuiltinFunctionCall(unsigned int, clang::CallExpr*)"},
-    {"_ZN5clang4Sema22SemaBuiltinConstantArgEPNS_8CallExprEiRN4llvm6APSIntE", "clang::Sema::SemaBuiltinConstantArg(clang::CallExpr*, int, llvm::APSInt&)"},
-    {"_ZN5clang4Sema15CheckObjCStringEPNS_4ExprE", "clang::Sema::CheckObjCString(clang::Expr*)"},
-    {"_ZN5clang4Sema18SemaBuiltinVAStartEPNS_8CallExprE", "clang::Sema::SemaBuiltinVAStart(clang::CallExpr*)"},
-    {"_ZN5clang4Sema27SemaBuiltinUnorderedCompareEPNS_8CallExprE", "clang::Sema::SemaBuiltinUnorderedCompare(clang::CallExpr*)"},
-    {"_ZN5clang4Sema27SemaBuiltinFPClassificationEPNS_8CallExprEj", "clang::Sema::SemaBuiltinFPClassification(clang::CallExpr*, unsigned int)"},
-    {"_ZN5clang4Sema24SemaBuiltinShuffleVectorEPNS_8CallExprE", "clang::Sema::SemaBuiltinShuffleVector(clang::CallExpr*)"},
-    {"_ZN5clang4Sema19SemaBuiltinPrefetchEPNS_8CallExprE", "clang::Sema::SemaBuiltinPrefetch(clang::CallExpr*)"},
-    {"_ZN5clang4Sema21SemaBuiltinObjectSizeEPNS_8CallExprE", "clang::Sema::SemaBuiltinObjectSize(clang::CallExpr*)"},
-    {"_ZN5clang4Sema18SemaBuiltinLongjmpEPNS_8CallExprE", "clang::Sema::SemaBuiltinLongjmp(clang::CallExpr*)"},
-    {"_ZN5clang4Sema27SemaBuiltinAtomicOverloadedENS_12ActionResultIPNS_4ExprELb1EEE", "clang::Sema::SemaBuiltinAtomicOverloaded(clang::ActionResult<clang::Expr*, true>)"},
-    {"_ZN5clang4Sema27CheckARMBuiltinFunctionCallEjPNS_8CallExprE", "clang::Sema::CheckARMBuiltinFunctionCall(unsigned int, clang::CallExpr*)"},
-    {"_ZN5clang4Sema17CheckFunctionCallEPNS_12FunctionDeclEPNS_8CallExprE", "clang::Sema::CheckFunctionCall(clang::FunctionDecl*, clang::CallExpr*)"},
-    {"_ZN5clang4Sema25CheckPrintfScanfArgumentsEPKNS_8CallExprEbjjb", "clang::Sema::CheckPrintfScanfArguments(clang::CallExpr const*, bool, unsigned int, unsigned int, bool)"},
-    {"_ZN5clang4Sema21CheckNonNullArgumentsEPKNS_11NonNullAttrEPKNS_8CallExprE", "clang::Sema::CheckNonNullArguments(clang::NonNullAttr const*, clang::CallExpr const*)"},
-    {"_ZN5clang4Sema14CheckBlockCallEPNS_9NamedDeclEPNS_8CallExprE", "clang::Sema::CheckBlockCall(clang::NamedDecl*, clang::CallExpr*)"},
-    {"_ZN5clang4Sema22SemaCheckStringLiteralEPKNS_4ExprEPKNS_8CallExprEbjjb", "clang::Sema::SemaCheckStringLiteral(clang::Expr const*, clang::CallExpr const*, bool, unsigned int, unsigned int, bool)"},
-    {"_ZN5clang4Sema17CheckFormatStringEPKNS_13StringLiteralEPKNS_4ExprEPKNS_8CallExprEbjjb", "clang::Sema::CheckFormatString(clang::StringLiteral const*, clang::Expr const*, clang::CallExpr const*, bool, unsigned int, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandler14DoneProcessingEv", "(anonymous namespace)::CheckFormatHandler::DoneProcessing()"},
-    {"_ZN12_GLOBAL__N_118CheckPrintfHandlerD1Ev", "(anonymous namespace)::CheckPrintfHandler::~CheckPrintfHandler()"},
-    {"_ZN12_GLOBAL__N_117CheckScanfHandlerD1Ev", "(anonymous namespace)::CheckScanfHandler::~CheckScanfHandler()"},
-    {"_ZN5clang4Sema20CheckReturnStackAddrEPNS_4ExprENS_8QualTypeENS_14SourceLocationE", "clang::Sema::CheckReturnStackAddr(clang::Expr*, clang::QualType, clang::SourceLocation)"},
-    {"_Z8EvalAddrPN5clang4ExprERN4llvm15SmallVectorImplIPNS_11DeclRefExprEEE", "EvalAddr(clang::Expr*, llvm::SmallVectorImpl<clang::DeclRefExpr*>&)"},
-    {"_Z7EvalValPN5clang4ExprERN4llvm15SmallVectorImplIPNS_11DeclRefExprEEE", "EvalVal(clang::Expr*, llvm::SmallVectorImpl<clang::DeclRefExpr*>&)"},
-    {"_ZN5clang4Sema20CheckFloatComparisonENS_14SourceLocationEPNS_4ExprES3_", "clang::Sema::CheckFloatComparison(clang::SourceLocation, clang::Expr*, clang::Expr*)"},
-    {"_ZN5clang4Sema24CheckImplicitConversionsEPNS_4ExprENS_14SourceLocationE", "clang::Sema::CheckImplicitConversions(clang::Expr*, clang::SourceLocation)"},
-    {"_ZN12_GLOBAL__N_126AnalyzeImplicitConversionsERN5clang4SemaEPNS0_4ExprENS0_14SourceLocationE", "(anonymous namespace)::AnalyzeImplicitConversions(clang::Sema&, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema27CheckBitFieldInitializationENS_14SourceLocationEPNS_9FieldDeclEPNS_4ExprE", "clang::Sema::CheckBitFieldInitialization(clang::SourceLocation, clang::FieldDecl*, clang::Expr*)"},
-    {"_ZN12_GLOBAL__N_125AnalyzeBitFieldAssignmentERN5clang4SemaEPNS0_9FieldDeclEPNS0_4ExprENS0_14SourceLocationE", "(anonymous namespace)::AnalyzeBitFieldAssignment(clang::Sema&, clang::FieldDecl*, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24CheckParmsForFunctionDefEPPNS_11ParmVarDeclES3_b", "clang::Sema::CheckParmsForFunctionDef(clang::ParmVarDecl**, clang::ParmVarDecl**, bool)"},
-    {"_ZN5clang4Sema14CheckCastAlignEPNS_4ExprENS_8QualTypeENS_11SourceRangeE", "clang::Sema::CheckCastAlign(clang::Expr*, clang::QualType, clang::SourceRange)"},
-    {"_ZN12_GLOBAL__N_124CheckConditionalOperatorERN5clang4SemaEPNS0_19ConditionalOperatorENS0_8QualTypeE", "(anonymous namespace)::CheckConditionalOperator(clang::Sema&, clang::ConditionalOperator*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_123CheckImplicitConversionERN5clang4SemaEPNS0_4ExprENS0_8QualTypeENS0_14SourceLocationEPb", "(anonymous namespace)::CheckImplicitConversion(clang::Sema&, clang::Expr*, clang::QualType, clang::SourceLocation, bool*)"},
-    {"_ZN12_GLOBAL__N_130CheckTrivialUnsignedComparisonERN5clang4SemaEPNS0_14BinaryOperatorE", "(anonymous namespace)::CheckTrivialUnsignedComparison(clang::Sema&, clang::BinaryOperator*)"},
-    {"_ZN12_GLOBAL__N_112GetExprRangeERN5clang10ASTContextEPNS0_4ExprEj", "(anonymous namespace)::GetExprRange(clang::ASTContext&, clang::Expr*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113GetValueRangeERN5clang10ASTContextERNS0_7APValueENS0_8QualTypeEj", "(anonymous namespace)::GetValueRange(clang::ASTContext&, clang::APValue&, clang::QualType, unsigned int)"},
-    {"_ZN12_GLOBAL__N_18IntRange14forValueOfTypeERN5clang10ASTContextENS1_8QualTypeE", "(anonymous namespace)::IntRange::forValueOfType(clang::ASTContext&, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_113GetValueRangeERN5clang10ASTContextERN4llvm6APSIntEj", "(anonymous namespace)::GetValueRange(clang::ASTContext&, llvm::APSInt&, unsigned int)"},
-    {"_ZN12_GLOBAL__N_16IsZeroERN5clang4SemaEPNS0_4ExprE", "(anonymous namespace)::IsZero(clang::Sema&, clang::Expr*)"},
-    {"_ZN12_GLOBAL__N_115DiagnoseImpCastERN5clang4SemaEPNS0_4ExprENS0_8QualTypeENS0_14SourceLocationEj", "(anonymous namespace)::DiagnoseImpCast(clang::Sema&, clang::Expr*, clang::QualType, clang::SourceLocation, unsigned int)"},
-    {"_ZN12_GLOBAL__N_120IsSameFloatAfterCastERKN5clang7APValueERKN4llvm12fltSemanticsES7_", "(anonymous namespace)::IsSameFloatAfterCast(clang::APValue const&, llvm::fltSemantics const&, llvm::fltSemantics const&)"},
-    {"_ZN12_GLOBAL__N_123CheckConditionalOperandERN5clang4SemaEPNS0_4ExprENS0_8QualTypeENS0_14SourceLocationERb", "(anonymous namespace)::CheckConditionalOperand(clang::Sema&, clang::Expr*, clang::QualType, clang::SourceLocation, bool&)"},
-    {"_ZN12_GLOBAL__N_117CheckScanfHandlerD0Ev", "(anonymous namespace)::CheckScanfHandler::~CheckScanfHandler()"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandler14HandleNullCharEPKc", "(anonymous namespace)::CheckFormatHandler::HandleNullChar(char const*)"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandler21HandleInvalidPositionEPKcjN5clang21analyze_format_string15PositionContextE", "(anonymous namespace)::CheckFormatHandler::HandleInvalidPosition(char const*, unsigned int, clang::analyze_format_string::PositionContext)"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandler18HandleZeroPositionEPKcj", "(anonymous namespace)::CheckFormatHandler::HandleZeroPosition(char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandler25HandleIncompleteSpecifierEPKcj", "(anonymous namespace)::CheckFormatHandler::HandleIncompleteSpecifier(char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117CheckScanfHandler37HandleInvalidScanfConversionSpecifierERKN5clang13analyze_scanf14ScanfSpecifierEPKcj", "(anonymous namespace)::CheckScanfHandler::HandleInvalidScanfConversionSpecifier(clang::analyze_scanf::ScanfSpecifier const&, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117CheckScanfHandler20HandleScanfSpecifierERKN5clang13analyze_scanf14ScanfSpecifierEPKcj", "(anonymous namespace)::CheckScanfHandler::HandleScanfSpecifier(clang::analyze_scanf::ScanfSpecifier const&, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117CheckScanfHandler24HandleIncompleteScanListEPKcS2_", "(anonymous namespace)::CheckScanfHandler::HandleIncompleteScanList(char const*, char const*)"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandler12CheckNumArgsERKN5clang21analyze_format_string15FormatSpecifierERKNS2_19ConversionSpecifierEPKcjj", "(anonymous namespace)::CheckFormatHandler::CheckNumArgs(clang::analyze_format_string::FormatSpecifier const&, clang::analyze_format_string::ConversionSpecifier const&, char const*, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandler32HandleInvalidConversionSpecifierEjN5clang14SourceLocationEPKcjS4_j", "(anonymous namespace)::CheckFormatHandler::HandleInvalidConversionSpecifier(unsigned int, clang::SourceLocation, char const*, unsigned int, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandlerD1Ev", "(anonymous namespace)::CheckFormatHandler::~CheckFormatHandler()"},
-    {"_ZN12_GLOBAL__N_118CheckFormatHandlerD0Ev", "(anonymous namespace)::CheckFormatHandler::~CheckFormatHandler()"},
-    {"_ZN12_GLOBAL__N_118CheckPrintfHandlerD0Ev", "(anonymous namespace)::CheckPrintfHandler::~CheckPrintfHandler()"},
-    {"_ZN12_GLOBAL__N_118CheckPrintfHandler38HandleInvalidPrintfConversionSpecifierERKN5clang14analyze_printf15PrintfSpecifierEPKcj", "(anonymous namespace)::CheckPrintfHandler::HandleInvalidPrintfConversionSpecifier(clang::analyze_printf::PrintfSpecifier const&, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118CheckPrintfHandler21HandlePrintfSpecifierERKN5clang14analyze_printf15PrintfSpecifierEPKcj", "(anonymous namespace)::CheckPrintfHandler::HandlePrintfSpecifier(clang::analyze_printf::PrintfSpecifier const&, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118CheckPrintfHandler12HandleAmountERKN5clang21analyze_format_string14OptionalAmountEjPKcj", "(anonymous namespace)::CheckPrintfHandler::HandleAmount(clang::analyze_format_string::OptionalAmount const&, unsigned int, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118CheckPrintfHandler19HandleInvalidAmountERKN5clang14analyze_printf15PrintfSpecifierERKNS1_21analyze_format_string14OptionalAmountEjPKcj", "(anonymous namespace)::CheckPrintfHandler::HandleInvalidAmount(clang::analyze_printf::PrintfSpecifier const&, clang::analyze_format_string::OptionalAmount const&, unsigned int, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118CheckPrintfHandler10HandleFlagERKN5clang14analyze_printf15PrintfSpecifierERKNS1_21analyze_format_string12OptionalFlagEPKcj", "(anonymous namespace)::CheckPrintfHandler::HandleFlag(clang::analyze_printf::PrintfSpecifier const&, clang::analyze_format_string::OptionalFlag const&, char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118CheckPrintfHandler17HandleIgnoredFlagERKN5clang14analyze_printf15PrintfSpecifierERKNS1_21analyze_format_string12OptionalFlagES9_PKcj", "(anonymous namespace)::CheckPrintfHandler::HandleIgnoredFlag(clang::analyze_printf::PrintfSpecifier const&, clang::analyze_format_string::OptionalFlag const&, clang::analyze_format_string::OptionalFlag const&, char const*, unsigned int)"},
-    {"_ZNK5clang4Decl7getAttrINS_13FormatArgAttrEEEPT_v", "clang::FormatArgAttr* clang::Decl::getAttr<clang::FormatArgAttr>() const"},
-    {"_ZN4llvm11SmallVectorItLj128EEC2EjRKt", "llvm::SmallVector<unsigned short, 128u>::SmallVector(unsigned int, unsigned short const&)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler38HandleInvalidPrintfConversionSpecifierERKNS_14analyze_printf15PrintfSpecifierEPKcj", "clang::analyze_format_string::FormatStringHandler::HandleInvalidPrintfConversionSpecifier(clang::analyze_printf::PrintfSpecifier const&, char const*, unsigned int)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler21HandlePrintfSpecifierERKNS_14analyze_printf15PrintfSpecifierEPKcj", "clang::analyze_format_string::FormatStringHandler::HandlePrintfSpecifier(clang::analyze_printf::PrintfSpecifier const&, char const*, unsigned int)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler37HandleInvalidScanfConversionSpecifierERKNS_13analyze_scanf14ScanfSpecifierEPKcj", "clang::analyze_format_string::FormatStringHandler::HandleInvalidScanfConversionSpecifier(clang::analyze_scanf::ScanfSpecifier const&, char const*, unsigned int)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler20HandleScanfSpecifierERKNS_13analyze_scanf14ScanfSpecifierEPKcj", "clang::analyze_format_string::FormatStringHandler::HandleScanfSpecifier(clang::analyze_scanf::ScanfSpecifier const&, char const*, unsigned int)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler24HandleIncompleteScanListEPKcS3_", "clang::analyze_format_string::FormatStringHandler::HandleIncompleteScanList(char const*, char const*)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler14HandleNullCharEPKc", "clang::analyze_format_string::FormatStringHandler::HandleNullChar(char const*)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler21HandleInvalidPositionEPKcjNS0_15PositionContextE", "clang::analyze_format_string::FormatStringHandler::HandleInvalidPosition(char const*, unsigned int, clang::analyze_format_string::PositionContext)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler18HandleZeroPositionEPKcj", "clang::analyze_format_string::FormatStringHandler::HandleZeroPosition(char const*, unsigned int)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandler25HandleIncompleteSpecifierEPKcj", "clang::analyze_format_string::FormatStringHandler::HandleIncompleteSpecifier(char const*, unsigned int)"},
-    {"_ZN5clang22getSimplifiedTypeClassENS_7CanQualINS_4TypeEEE", "clang::getSimplifiedTypeClass(clang::CanQual<clang::Type>)"},
-    {"_ZN5clang16getDeclUsageTypeERNS_10ASTContextEPNS_9NamedDeclE", "clang::getDeclUsageType(clang::ASTContext&, clang::NamedDecl*)"},
-    {"_Z23GetCompletionTypeStringN5clang8QualTypeERNS_10ASTContextERNS_23CodeCompletionAllocatorE", "GetCompletionTypeString(clang::QualType, clang::ASTContext&, clang::CodeCompletionAllocator&)"},
-    {"_ZN5clang20CodeCompletionResult26CreateCodeCompletionStringERNS_4SemaERNS_23CodeCompletionAllocatorE", "clang::CodeCompletionResult::CreateCodeCompletionString(clang::Sema&, clang::CodeCompletionAllocator&)"},
-    {"_Z18AddResultTypeChunkRN5clang10ASTContextEPNS_9NamedDeclERNS_21CodeCompletionBuilderE", "AddResultTypeChunk(clang::ASTContext&, clang::NamedDecl*, clang::CodeCompletionBuilder&)"},
-    {"_Z30AddQualifierToCompletionStringRN5clang21CodeCompletionBuilderEPNS_19NestedNameSpecifierEbRNS_10ASTContextE", "AddQualifierToCompletionString(clang::CodeCompletionBuilder&, clang::NestedNameSpecifier*, bool, clang::ASTContext&)"},
-    {"_Z17AddTypedNameChunkRN5clang10ASTContextEPNS_9NamedDeclERNS_21CodeCompletionBuilderE", "AddTypedNameChunk(clang::ASTContext&, clang::NamedDecl*, clang::CodeCompletionBuilder&)"},
-    {"_Z26AddFunctionParameterChunksRN5clang10ASTContextEPNS_12FunctionDeclERNS_21CodeCompletionBuilderEjb", "AddFunctionParameterChunks(clang::ASTContext&, clang::FunctionDecl*, clang::CodeCompletionBuilder&, unsigned int, bool)"},
-    {"_Z38AddFunctionTypeQualsToCompletionStringRN5clang21CodeCompletionBuilderEPNS_12FunctionDeclE", "AddFunctionTypeQualsToCompletionString(clang::CodeCompletionBuilder&, clang::FunctionDecl*)"},
-    {"_Z26AddTemplateParameterChunksRN5clang10ASTContextEPNS_12TemplateDeclERNS_21CodeCompletionBuilderEjjb", "AddTemplateParameterChunks(clang::ASTContext&, clang::TemplateDecl*, clang::CodeCompletionBuilder&, unsigned int, unsigned int, bool)"},
-    {"_Z23FormatFunctionParameterRN5clang10ASTContextEPNS_11ParmVarDeclEb", "FormatFunctionParameter(clang::ASTContext&, clang::ParmVarDecl*, bool)"},
-    {"_Z16MaybeAddSentinelRN5clang10ASTContextEPNS_9NamedDeclERNS_21CodeCompletionBuilderE", "MaybeAddSentinel(clang::ASTContext&, clang::NamedDecl*, clang::CodeCompletionBuilder&)"},
-    {"_ZNK5clang20CodeCompleteConsumer17OverloadCandidate21CreateSignatureStringEjRNS_4SemaERNS_23CodeCompletionAllocatorE", "clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString(unsigned int, clang::Sema&, clang::CodeCompletionAllocator&) const"},
-    {"_ZN5clang21getMacroUsagePriorityEN4llvm9StringRefERKNS_11LangOptionsEb", "clang::getMacroUsagePriority(llvm::StringRef, clang::LangOptions const&, bool)"},
-    {"_ZN5clang20getCursorKindForDeclEPNS_4DeclE", "clang::getCursorKindForDecl(clang::Decl*)"},
-    {"_ZN5clang4Sema24CodeCompleteOrdinaryNameEPNS_5ScopeENS0_23ParserCompletionContextE", "clang::Sema::CodeCompleteOrdinaryName(clang::Scope*, clang::Sema::ParserCompletionContext)"},
-    {"_ZN12_GLOBAL__N_113ResultBuilder13EnterNewScopeEv", "(anonymous namespace)::ResultBuilder::EnterNewScope()"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder22IsOrdinaryNonValueNameEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsOrdinaryNonValueName(clang::NamedDecl*) const"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder14IsOrdinaryNameEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsOrdinaryName(clang::NamedDecl*) const"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder21IsOrdinaryNonTypeNameEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsOrdinaryNonTypeName(clang::NamedDecl*) const"},
-    {"_Z21MaybeAddOverrideCallsRN5clang4SemaEPNS_11DeclContextERN12_GLOBAL__N_113ResultBuilderE", "MaybeAddOverrideCalls(clang::Sema&, clang::DeclContext*, (anonymous namespace)::ResultBuilder&)"},
-    {"_Z22AddOrdinaryNameResultsN5clang4Sema23ParserCompletionContextEPNS_5ScopeERS0_RN12_GLOBAL__N_113ResultBuilderE", "AddOrdinaryNameResults(clang::Sema::ParserCompletionContext, clang::Scope*, clang::Sema&, (anonymous namespace)::ResultBuilder&)"},
-    {"_ZN12_GLOBAL__N_113ResultBuilder9ExitScopeEv", "(anonymous namespace)::ResultBuilder::ExitScope()"},
-    {"_Z24AddPrettyFunctionResultsRKN5clang11LangOptionsERN12_GLOBAL__N_113ResultBuilderE", "AddPrettyFunctionResults(clang::LangOptions const&, (anonymous namespace)::ResultBuilder&)"},
-    {"_Z15AddMacroResultsRN5clang12PreprocessorERN12_GLOBAL__N_113ResultBuilderEb", "AddMacroResults(clang::Preprocessor&, (anonymous namespace)::ResultBuilder&, bool)"},
-    {"_ZN12_GLOBAL__N_126CodeCompletionDeclConsumerD1Ev", "(anonymous namespace)::CodeCompletionDeclConsumer::~CodeCompletionDeclConsumer()"},
-    {"_ZN5clang4Sema20CodeCompleteDeclSpecEPNS_5ScopeERNS_8DeclSpecEbb", "clang::Sema::CodeCompleteDeclSpec(clang::Scope*, clang::DeclSpec&, bool, bool)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder21IsImpossibleToSatisfyEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsImpossibleToSatisfy(clang::NamedDecl*) const"},
-    {"_Z26AddClassMessageCompletionsRN5clang4SemaEPNS_5ScopeENS_9OpaquePtrINS_8QualTypeEEEPPNS_14IdentifierInfoEjbbRN12_GLOBAL__N_113ResultBuilderE", "AddClassMessageCompletions(clang::Sema&, clang::Scope*, clang::OpaquePtr<clang::QualType>, clang::IdentifierInfo**, unsigned int, bool, bool, (anonymous namespace)::ResultBuilder&)"},
-    {"_ZN5clang4Sema22CodeCompleteExpressionEPNS_5ScopeERKNS0_26CodeCompleteExpressionDataE", "clang::Sema::CodeCompleteExpression(clang::Scope*, clang::Sema::CodeCompleteExpressionData const&)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder16IsObjCCollectionEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsObjCCollection(clang::NamedDecl*) const"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder23IsIntegralConstantValueEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsIntegralConstantValue(clang::NamedDecl*) const"},
-    {"_ZN5clang4Sema29CodeCompletePostfixExpressionEPNS_5ScopeENS_12ActionResultIPNS_4ExprELb1EEE", "clang::Sema::CodeCompletePostfixExpression(clang::Scope*, clang::ActionResult<clang::Expr*, true>)"},
-    {"_ZN5clang4Sema31CodeCompleteObjCInstanceMessageEPNS_5ScopeEPNS_4ExprEPPNS_14IdentifierInfoEjbPNS_17ObjCInterfaceDeclE", "clang::Sema::CodeCompleteObjCInstanceMessage(clang::Scope*, clang::Expr*, clang::IdentifierInfo**, unsigned int, bool, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang4Sema31CodeCompleteMemberReferenceExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEb", "clang::Sema::CodeCompleteMemberReferenceExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, bool)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder8IsMemberEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsMember(clang::NamedDecl*) const"},
-    {"_Z17AddObjCPropertiesPN5clang17ObjCContainerDeclEbPNS_11DeclContextERN4llvm11SmallPtrSetIPNS_14IdentifierInfoELj16EEERN12_GLOBAL__N_113ResultBuilderE", "AddObjCProperties(clang::ObjCContainerDecl*, bool, clang::DeclContext*, llvm::SmallPtrSet<clang::IdentifierInfo*, 16u>&, (anonymous namespace)::ResultBuilder&)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder10IsObjCIvarEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsObjCIvar(clang::NamedDecl*) const"},
-    {"_ZN5clang4Sema15CodeCompleteTagEPNS_5ScopeEj", "clang::Sema::CodeCompleteTag(clang::Scope*, unsigned int)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder6IsEnumEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsEnum(clang::NamedDecl*) const"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder7IsUnionEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsUnion(clang::NamedDecl*) const"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder15IsClassOrStructEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsClassOrStruct(clang::NamedDecl*) const"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder21IsNestedNameSpecifierEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsNestedNameSpecifier(clang::NamedDecl*) const"},
-    {"_ZN5clang4Sema26CodeCompleteTypeQualifiersERNS_8DeclSpecE", "clang::Sema::CodeCompleteTypeQualifiers(clang::DeclSpec&)"},
-    {"_ZN5clang4Sema16CodeCompleteCaseEPNS_5ScopeE", "clang::Sema::CodeCompleteCase(clang::Scope*)"},
-    {"_Z24getRequiredQualificationRN5clang10ASTContextEPNS_11DeclContextES3_", "getRequiredQualification(clang::ASTContext&, clang::DeclContext*, clang::DeclContext*)"},
-    {"_ZN12_GLOBAL__N_113ResultBuilder9AddResultEN5clang20CodeCompletionResultEPNS1_11DeclContextEPNS1_9NamedDeclEb", "(anonymous namespace)::ResultBuilder::AddResult(clang::CodeCompletionResult, clang::DeclContext*, clang::NamedDecl*, bool)"},
-    {"_ZN5clang4Sema16CodeCompleteCallEPNS_5ScopeEPNS_4ExprEPS4_j", "clang::Sema::CodeCompleteCall(clang::Scope*, clang::Expr*, clang::Expr**, unsigned int)"},
-    {"_ZN5clang4Sema23CodeCompleteInitializerEPNS_5ScopeEPNS_4DeclE", "clang::Sema::CodeCompleteInitializer(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema18CodeCompleteReturnEPNS_5ScopeE", "clang::Sema::CodeCompleteReturn(clang::Scope*)"},
-    {"_ZN5clang4Sema25CodeCompleteAssignmentRHSEPNS_5ScopeEPNS_4ExprE", "clang::Sema::CodeCompleteAssignmentRHS(clang::Scope*, clang::Expr*)"},
-    {"_ZN5clang4Sema23CodeCompleteQualifiedIdEPNS_5ScopeERNS_12CXXScopeSpecEb", "clang::Sema::CodeCompleteQualifiedId(clang::Scope*, clang::CXXScopeSpec&, bool)"},
-    {"_ZN5clang4Sema17CodeCompleteUsingEPNS_5ScopeE", "clang::Sema::CodeCompleteUsing(clang::Scope*)"},
-    {"_ZN5clang4Sema26CodeCompleteUsingDirectiveEPNS_5ScopeE", "clang::Sema::CodeCompleteUsingDirective(clang::Scope*)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder18IsNamespaceOrAliasEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsNamespaceOrAlias(clang::NamedDecl*) const"},
-    {"_ZN5clang4Sema25CodeCompleteNamespaceDeclEPNS_5ScopeE", "clang::Sema::CodeCompleteNamespaceDecl(clang::Scope*)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder11IsNamespaceEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsNamespace(clang::NamedDecl*) const"},
-    {"_ZN5clang4Sema30CodeCompleteNamespaceAliasDeclEPNS_5ScopeE", "clang::Sema::CodeCompleteNamespaceAliasDecl(clang::Scope*)"},
-    {"_ZN5clang4Sema24CodeCompleteOperatorNameEPNS_5ScopeE", "clang::Sema::CodeCompleteOperatorName(clang::Scope*)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder6IsTypeEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsType(clang::NamedDecl*) const"},
-    {"_Z23AddTypeSpecifierResultsRKN5clang11LangOptionsERN12_GLOBAL__N_113ResultBuilderE", "AddTypeSpecifierResults(clang::LangOptions const&, (anonymous namespace)::ResultBuilder&)"},
-    {"_ZN5clang4Sema34CodeCompleteConstructorInitializerEPNS_4DeclEPPNS_18CXXCtorInitializerEj", "clang::Sema::CodeCompleteConstructorInitializer(clang::Decl*, clang::CXXCtorInitializer**, unsigned int)"},
-    {"_ZN5clang4Sema27CodeCompleteObjCAtDirectiveEPNS_5ScopeEPNS_4DeclEb", "clang::Sema::CodeCompleteObjCAtDirective(clang::Scope*, clang::Decl*, bool)"},
-    {"_Z28AddObjCImplementationResultsRKN5clang11LangOptionsERN12_GLOBAL__N_113ResultBuilderEb", "AddObjCImplementationResults(clang::LangOptions const&, (anonymous namespace)::ResultBuilder&, bool)"},
-    {"_Z23AddObjCInterfaceResultsRKN5clang11LangOptionsERN12_GLOBAL__N_113ResultBuilderEb", "AddObjCInterfaceResults(clang::LangOptions const&, (anonymous namespace)::ResultBuilder&, bool)"},
-    {"_Z22AddObjCTopLevelResultsRN12_GLOBAL__N_113ResultBuilderEb", "AddObjCTopLevelResults((anonymous namespace)::ResultBuilder&, bool)"},
-    {"_ZN5clang4Sema28CodeCompleteObjCAtVisibilityEPNS_5ScopeE", "clang::Sema::CodeCompleteObjCAtVisibility(clang::Scope*)"},
-    {"_Z24AddObjCVisibilityResultsRKN5clang11LangOptionsERN12_GLOBAL__N_113ResultBuilderEb", "AddObjCVisibilityResults(clang::LangOptions const&, (anonymous namespace)::ResultBuilder&, bool)"},
-    {"_ZN5clang4Sema27CodeCompleteObjCAtStatementEPNS_5ScopeE", "clang::Sema::CodeCompleteObjCAtStatement(clang::Scope*)"},
-    {"_Z23AddObjCStatementResultsRN12_GLOBAL__N_113ResultBuilderEb", "AddObjCStatementResults((anonymous namespace)::ResultBuilder&, bool)"},
-    {"_Z24AddObjCExpressionResultsRN12_GLOBAL__N_113ResultBuilderEb", "AddObjCExpressionResults((anonymous namespace)::ResultBuilder&, bool)"},
-    {"_ZN5clang4Sema28CodeCompleteObjCAtExpressionEPNS_5ScopeE", "clang::Sema::CodeCompleteObjCAtExpression(clang::Scope*)"},
-    {"_ZN5clang4Sema29CodeCompleteObjCPropertyFlagsEPNS_5ScopeERNS_12ObjCDeclSpecE", "clang::Sema::CodeCompleteObjCPropertyFlags(clang::Scope*, clang::ObjCDeclSpec&)"},
-    {"_ZN5clang4Sema30CodeCompleteObjCPropertyGetterEPNS_5ScopeEPNS_4DeclE", "clang::Sema::CodeCompleteObjCPropertyGetter(clang::Scope*, clang::Decl*)"},
-    {"_Z14AddObjCMethodsPN5clang17ObjCContainerDeclEb14ObjCMethodKindPPNS_14IdentifierInfoEjPNS_11DeclContextERN4llvm11SmallPtrSetINS_8SelectorELj16EEEbRN12_GLOBAL__N_113ResultBuilderEb", "AddObjCMethods(clang::ObjCContainerDecl*, bool, ObjCMethodKind, clang::IdentifierInfo**, unsigned int, clang::DeclContext*, llvm::SmallPtrSet<clang::Selector, 16u>&, bool, (anonymous namespace)::ResultBuilder&, bool)"},
-    {"_ZN5clang4Sema30CodeCompleteObjCPropertySetterEPNS_5ScopeEPNS_4DeclE", "clang::Sema::CodeCompleteObjCPropertySetter(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema27CodeCompleteObjCPassingTypeEPNS_5ScopeERNS_12ObjCDeclSpecE", "clang::Sema::CodeCompleteObjCPassingType(clang::Scope*, clang::ObjCDeclSpec&)"},
-    {"_ZN5clang4Sema31CodeCompleteObjCMessageReceiverEPNS_5ScopeE", "clang::Sema::CodeCompleteObjCMessageReceiver(clang::Scope*)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder21IsObjCMessageReceiverEPN5clang9NamedDeclE", "(anonymous namespace)::ResultBuilder::IsObjCMessageReceiver(clang::NamedDecl*) const"},
-    {"_Z22AddSuperSendCompletionRN5clang4SemaEbPPNS_14IdentifierInfoEjRN12_GLOBAL__N_113ResultBuilderE", "AddSuperSendCompletion(clang::Sema&, bool, clang::IdentifierInfo**, unsigned int, (anonymous namespace)::ResultBuilder&)"},
-    {"_ZN5clang4Sema28CodeCompleteObjCSuperMessageEPNS_5ScopeENS_14SourceLocationEPPNS_14IdentifierInfoEjb", "clang::Sema::CodeCompleteObjCSuperMessage(clang::Scope*, clang::SourceLocation, clang::IdentifierInfo**, unsigned int, bool)"},
-    {"_ZN5clang4Sema28CodeCompleteObjCClassMessageEPNS_5ScopeENS_9OpaquePtrINS_8QualTypeEEEPPNS_14IdentifierInfoEjbb", "clang::Sema::CodeCompleteObjCClassMessage(clang::Scope*, clang::OpaquePtr<clang::QualType>, clang::IdentifierInfo**, unsigned int, bool, bool)"},
-    {"_Z38getPreferredArgumentTypeForMessageSendRN12_GLOBAL__N_113ResultBuilderEj", "getPreferredArgumentTypeForMessageSend((anonymous namespace)::ResultBuilder&, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113ResultBuilder14MaybeAddResultEN5clang20CodeCompletionResultEPNS1_11DeclContextE", "(anonymous namespace)::ResultBuilder::MaybeAddResult(clang::CodeCompletionResult, clang::DeclContext*)"},
-    {"_ZN5clang4Sema29CodeCompleteObjCForCollectionEPNS_5ScopeENS_9OpaquePtrINS_12DeclGroupRefEEE", "clang::Sema::CodeCompleteObjCForCollection(clang::Scope*, clang::OpaquePtr<clang::DeclGroupRef>)"},
-    {"_ZN5clang4Sema24CodeCompleteObjCSelectorEPNS_5ScopeEPPNS_14IdentifierInfoEj", "clang::Sema::CodeCompleteObjCSelector(clang::Scope*, clang::IdentifierInfo**, unsigned int)"},
-    {"_Z24isAcceptableObjCSelectorN5clang8SelectorE14ObjCMethodKindPPNS_14IdentifierInfoEjb", "isAcceptableObjCSelector(clang::Selector, ObjCMethodKind, clang::IdentifierInfo**, unsigned int, bool)"},
-    {"_ZN5clang4Sema34CodeCompleteObjCProtocolReferencesEPSt4pairIPNS_14IdentifierInfoENS_14SourceLocationEEj", "clang::Sema::CodeCompleteObjCProtocolReferences(std::pair<clang::IdentifierInfo*, clang::SourceLocation>*, unsigned int)"},
-    {"_Z18AddProtocolResultsPN5clang11DeclContextES1_bRN12_GLOBAL__N_113ResultBuilderE", "AddProtocolResults(clang::DeclContext*, clang::DeclContext*, bool, (anonymous namespace)::ResultBuilder&)"},
-    {"_ZN5clang4Sema28CodeCompleteObjCProtocolDeclEPNS_5ScopeE", "clang::Sema::CodeCompleteObjCProtocolDecl(clang::Scope*)"},
-    {"_ZN5clang4Sema29CodeCompleteObjCInterfaceDeclEPNS_5ScopeE", "clang::Sema::CodeCompleteObjCInterfaceDecl(clang::Scope*)"},
-    {"_Z19AddInterfaceResultsPN5clang11DeclContextES1_bbRN12_GLOBAL__N_113ResultBuilderE", "AddInterfaceResults(clang::DeclContext*, clang::DeclContext*, bool, bool, (anonymous namespace)::ResultBuilder&)"},
-    {"_ZN5clang4Sema26CodeCompleteObjCSuperclassEPNS_5ScopeEPNS_14IdentifierInfoENS_14SourceLocationE", "clang::Sema::CodeCompleteObjCSuperclass(clang::Scope*, clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema34CodeCompleteObjCImplementationDeclEPNS_5ScopeE", "clang::Sema::CodeCompleteObjCImplementationDecl(clang::Scope*)"},
-    {"_ZN5clang4Sema33CodeCompleteObjCInterfaceCategoryEPNS_5ScopeEPNS_14IdentifierInfoENS_14SourceLocationE", "clang::Sema::CodeCompleteObjCInterfaceCategory(clang::Scope*, clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema38CodeCompleteObjCImplementationCategoryEPNS_5ScopeEPNS_14IdentifierInfoENS_14SourceLocationE", "clang::Sema::CodeCompleteObjCImplementationCategory(clang::Scope*, clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema34CodeCompleteObjCPropertyDefinitionEPNS_5ScopeEPNS_4DeclE", "clang::Sema::CodeCompleteObjCPropertyDefinition(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema38CodeCompleteObjCPropertySynthesizeIvarEPNS_5ScopeEPNS_14IdentifierInfoEPNS_4DeclE", "clang::Sema::CodeCompleteObjCPropertySynthesizeIvar(clang::Scope*, clang::IdentifierInfo*, clang::Decl*)"},
-    {"_ZN5clang4Sema26CodeCompleteObjCMethodDeclEPNS_5ScopeEbNS_9OpaquePtrINS_8QualTypeEEEPNS_4DeclE", "clang::Sema::CodeCompleteObjCMethodDecl(clang::Scope*, bool, clang::OpaquePtr<clang::QualType>, clang::Decl*)"},
-    {"_Z24FindImplementableMethodsRN5clang10ASTContextEPNS_17ObjCContainerDeclEbNS_8QualTypeERN4llvm8DenseMapINS_8SelectorESt4pairIPNS_14ObjCMethodDeclEbENS5_12DenseMapInfoIS7_EENSC_ISB_EEEEb", "FindImplementableMethods(clang::ASTContext&, clang::ObjCContainerDecl*, bool, clang::QualType, llvm::DenseMap<clang::Selector, std::pair<clang::ObjCMethodDecl*, bool>, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<std::pair<clang::ObjCMethodDecl*, bool> > >&, bool)"},
-    {"_ZN5clang4Sema34CodeCompleteObjCMethodDeclSelectorEPNS_5ScopeEbbNS_9OpaquePtrINS_8QualTypeEEEPPNS_14IdentifierInfoEj", "clang::Sema::CodeCompleteObjCMethodDeclSelector(clang::Scope*, bool, bool, clang::OpaquePtr<clang::QualType>, clang::IdentifierInfo**, unsigned int)"},
-    {"_ZN5clang4Sema33CodeCompletePreprocessorDirectiveEb", "clang::Sema::CodeCompletePreprocessorDirective(bool)"},
-    {"_ZN5clang4Sema46CodeCompleteInPreprocessorConditionalExclusionEPNS_5ScopeE", "clang::Sema::CodeCompleteInPreprocessorConditionalExclusion(clang::Scope*)"},
-    {"_ZN5clang4Sema33CodeCompletePreprocessorMacroNameEb", "clang::Sema::CodeCompletePreprocessorMacroName(bool)"},
-    {"_ZN5clang4Sema34CodeCompletePreprocessorExpressionEv", "clang::Sema::CodeCompletePreprocessorExpression()"},
-    {"_ZN5clang4Sema37CodeCompletePreprocessorMacroArgumentEPNS_5ScopeEPNS_14IdentifierInfoEPNS_9MacroInfoEj", "clang::Sema::CodeCompletePreprocessorMacroArgument(clang::Scope*, clang::IdentifierInfo*, clang::MacroInfo*, unsigned int)"},
-    {"_ZN5clang4Sema27CodeCompleteNaturalLanguageEv", "clang::Sema::CodeCompleteNaturalLanguage()"},
-    {"_ZN5clang4Sema27GatherGlobalCodeCompletionsERNS_23CodeCompletionAllocatorERN4llvm15SmallVectorImplINS_20CodeCompletionResultEEE", "clang::Sema::GatherGlobalCodeCompletions(clang::CodeCompletionAllocator&, llvm::SmallVectorImpl<clang::CodeCompletionResult>&)"},
-    {"_ZSt21__inplace_stable_sortIPN5clang17OverloadCandidateEN12_GLOBAL__N_125IsBetterOverloadCandidateEEvT_S5_T0_", "void std::__inplace_stable_sort<clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate>(clang::OverloadCandidate*, clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate)"},
-    {"_ZSt22__stable_sort_adaptiveIPN5clang17OverloadCandidateES2_lN12_GLOBAL__N_125IsBetterOverloadCandidateEEvT_S5_T0_T1_T2_", "void std::__stable_sort_adaptive<clang::OverloadCandidate*, clang::OverloadCandidate*, long, (anonymous namespace)::IsBetterOverloadCandidate>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, long, (anonymous namespace)::IsBetterOverloadCandidate)"},
-    {"_ZSt24__merge_sort_with_bufferIPN5clang17OverloadCandidateES2_N12_GLOBAL__N_125IsBetterOverloadCandidateEEvT_S5_T0_T1_", "void std::__merge_sort_with_buffer<clang::OverloadCandidate*, clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate)"},
-    {"_ZSt16__merge_adaptiveIPN5clang17OverloadCandidateElS2_N12_GLOBAL__N_125IsBetterOverloadCandidateEEvT_S5_S5_T0_S6_T1_S6_T2_", "void std::__merge_adaptive<clang::OverloadCandidate*, long, clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, long, long, clang::OverloadCandidate*, long, (anonymous namespace)::IsBetterOverloadCandidate)"},
-    {"_ZSt5mergeIPN5clang17OverloadCandidateES2_S2_N12_GLOBAL__N_125IsBetterOverloadCandidateEET1_T_S6_T0_S7_S5_T2_", "clang::OverloadCandidate* std::merge<clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate)"},
-    {"_ZSt16__insertion_sortIPN5clang17OverloadCandidateEN12_GLOBAL__N_125IsBetterOverloadCandidateEEvT_S5_T0_", "void std::__insertion_sort<clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate>(clang::OverloadCandidate*, clang::OverloadCandidate*, (anonymous namespace)::IsBetterOverloadCandidate)"},
-    {"_ZSt22__merge_without_bufferIPN5clang17OverloadCandidateElN12_GLOBAL__N_125IsBetterOverloadCandidateEEvT_S5_S5_T0_S6_T1_", "void std::__merge_without_buffer<clang::OverloadCandidate*, long, (anonymous namespace)::IsBetterOverloadCandidate>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, long, long, (anonymous namespace)::IsBetterOverloadCandidate)"},
-    {"_ZNK12_GLOBAL__N_113ResultBuilder17isInterestingDeclEPN5clang9NamedDeclERb", "(anonymous namespace)::ResultBuilder::isInterestingDecl(clang::NamedDecl*, bool&) const"},
-    {"_ZN12_GLOBAL__N_113ResultBuilder17CheckHiddenResultERN5clang20CodeCompletionResultEPNS1_11DeclContextEPNS1_9NamedDeclE", "(anonymous namespace)::ResultBuilder::CheckHiddenResult(clang::CodeCompletionResult&, clang::DeclContext*, clang::NamedDecl*)"},
-    {"_ZN12_GLOBAL__N_113ResultBuilder27AdjustResultPriorityForDeclERN5clang20CodeCompletionResultE", "(anonymous namespace)::ResultBuilder::AdjustResultPriorityForDecl(clang::CodeCompletionResult&)"},
-    {"_ZN12_GLOBAL__N_113ResultBuilder26MaybeAddConstructorResultsEN5clang20CodeCompletionResultE", "(anonymous namespace)::ResultBuilder::MaybeAddConstructorResults(clang::CodeCompletionResult)"},
-    {"_ZN12_GLOBAL__N_126CodeCompletionDeclConsumerD0Ev", "(anonymous namespace)::CodeCompletionDeclConsumer::~CodeCompletionDeclConsumer()"},
-    {"_ZN12_GLOBAL__N_126CodeCompletionDeclConsumer9FoundDeclEPN5clang9NamedDeclES3_b", "(anonymous namespace)::CodeCompletionDeclConsumer::FoundDecl(clang::NamedDecl*, clang::NamedDecl*, bool)"},
-    {"_Z16AddTypedefResultRN12_GLOBAL__N_113ResultBuilderE", "AddTypedefResult((anonymous namespace)::ResultBuilder&)"},
-    {"_Z20AddStorageSpecifiersN5clang4Sema23ParserCompletionContextERKNS_11LangOptionsERN12_GLOBAL__N_113ResultBuilderE", "AddStorageSpecifiers(clang::Sema::ParserCompletionContext, clang::LangOptions const&, (anonymous namespace)::ResultBuilder&)"},
-    {"_Z21AddFunctionSpecifiersN5clang4Sema23ParserCompletionContextERKNS_11LangOptionsERN12_GLOBAL__N_113ResultBuilderE", "AddFunctionSpecifiers(clang::Sema::ParserCompletionContext, clang::LangOptions const&, (anonymous namespace)::ResultBuilder&)"},
-    {"_ZNSt8_Rb_treeIPN5clang13NamespaceDeclESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<clang::NamespaceDecl*, std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*>, std::_Select1st<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> >, std::less<clang::NamespaceDecl*>, std::allocator<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> >, std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang13NamespaceDeclESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<clang::NamespaceDecl*, std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*>, std::_Select1st<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> >, std::less<clang::NamespaceDecl*>, std::allocator<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> > >::_M_insert_unique(std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> const&)"},
-    {"_ZNSt17_Temporary_bufferIPN5clang17OverloadCandidateES1_ED2Ev", "std::_Temporary_buffer<clang::OverloadCandidate*, clang::OverloadCandidate>::~_Temporary_buffer()"},
-    {"_ZSt17__rotate_adaptiveIPN5clang17OverloadCandidateES2_lET_S3_S3_S3_T1_S4_T0_S4_", "clang::OverloadCandidate* std::__rotate_adaptive<clang::OverloadCandidate*, clang::OverloadCandidate*, long>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, long, long, clang::OverloadCandidate*, long)"},
-    {"_ZSt8__rotateIPN5clang17OverloadCandidateEEvT_S3_S3_St26random_access_iterator_tag", "void std::__rotate<clang::OverloadCandidate*>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, std::random_access_iterator_tag)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang26ImplicitConversionSequenceEEaSERKS3_", "llvm::SmallVectorImpl<clang::ImplicitConversionSequence>::operator=(llvm::SmallVectorImpl<clang::ImplicitConversionSequence> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang26ImplicitConversionSequenceELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::ImplicitConversionSequence, false>::grow(unsigned long)"},
-    {"_ZSt4swapIN5clang17OverloadCandidateEEvRT_S3_", "void std::swap<clang::OverloadCandidate>(clang::OverloadCandidate&, clang::OverloadCandidate&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN5clang17OverloadCandidateES5_EET0_T_S7_S6_", "clang::OverloadCandidate* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<clang::OverloadCandidate*, clang::OverloadCandidate*>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPN5clang17OverloadCandidateES5_EET0_T_S7_S6_", "clang::OverloadCandidate* std::__copy<false, std::random_access_iterator_tag>::copy<clang::OverloadCandidate*, clang::OverloadCandidate*>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*)"},
-    {"_ZSt26__uninitialized_fill_n_auxIPN5clang17OverloadCandidateElS1_EvT_T0_RKT1_St12__false_type", "void std::__uninitialized_fill_n_aux<clang::OverloadCandidate*, long, clang::OverloadCandidate>(clang::OverloadCandidate*, long, clang::OverloadCandidate const&, std::__false_type)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang20CodeCompleteConsumer17OverloadCandidateELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::CodeCompleteConsumer::OverloadCandidate, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorESt4pairIPNS1_14ObjCMethodDeclEbENS_12DenseMapInfoIS2_EENS7_IS6_EEE16InsertIntoBucketERKS2_RKS6_PS3_IS2_S6_E", "llvm::DenseMap<clang::Selector, std::pair<clang::ObjCMethodDecl*, bool>, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<std::pair<clang::ObjCMethodDecl*, bool> > >::InsertIntoBucket(clang::Selector const&, std::pair<clang::ObjCMethodDecl*, bool> const&, std::pair<clang::Selector, std::pair<clang::ObjCMethodDecl*, bool> >*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorESt4pairIPNS1_14ObjCMethodDeclEbENS_12DenseMapInfoIS2_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::Selector, std::pair<clang::ObjCMethodDecl*, bool>, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<std::pair<clang::ObjCMethodDecl*, bool> > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN5clang20CodeCompletionResultESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::CodeCompletionResult, std::allocator<clang::CodeCompletionResult> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CodeCompletionResult*, std::vector<clang::CodeCompletionResult, std::allocator<clang::CodeCompletionResult> > >, clang::CodeCompletionResult const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang13NamespaceDeclESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<clang::NamespaceDecl*, std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*>, std::_Select1st<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> >, std::less<clang::NamespaceDecl*>, std::allocator<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> >*)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang17OverloadCandidateEED2Ev", "llvm::SmallVectorImpl<clang::OverloadCandidate>::~SmallVectorImpl()"},
-    {"_ZNK5clang4Decl7getAttrINS_12SentinelAttrEEEPT_v", "clang::SentinelAttr* clang::Decl::getAttr<clang::SentinelAttr>() const"},
-    {"_ZN5clang4Sema22ConvertDeclToDeclGroupEPNS_4DeclE", "clang::Sema::ConvertDeclToDeclGroup(clang::Decl*)"},
-    {"_ZN5clang4Sema11getTypeNameERNS_14IdentifierInfoENS_14SourceLocationEPNS_5ScopeEPNS_12CXXScopeSpecEbbNS_9OpaquePtrINS_8QualTypeEEE", "clang::Sema::getTypeName(clang::IdentifierInfo&, clang::SourceLocation, clang::Scope*, clang::CXXScopeSpec*, bool, bool, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang4Sema9isTagNameERNS_14IdentifierInfoEPNS_5ScopeE", "clang::Sema::isTagName(clang::IdentifierInfo&, clang::Scope*)"},
-    {"_ZN5clang4Sema23DiagnoseUnknownTypeNameERKNS_14IdentifierInfoENS_14SourceLocationEPNS_5ScopeEPNS_12CXXScopeSpecERNS_9OpaquePtrINS_8QualTypeEEE", "clang::Sema::DiagnoseUnknownTypeName(clang::IdentifierInfo const&, clang::SourceLocation, clang::Scope*, clang::CXXScopeSpec*, clang::OpaquePtr<clang::QualType>&)"},
-    {"_ZN5clang4Sema15getContainingDCEPNS_11DeclContextE", "clang::Sema::getContainingDC(clang::DeclContext*)"},
-    {"_ZN5clang4Sema15PushDeclContextEPNS_5ScopeEPNS_11DeclContextE", "clang::Sema::PushDeclContext(clang::Scope*, clang::DeclContext*)"},
-    {"_ZN5clang4Sema14PopDeclContextEv", "clang::Sema::PopDeclContext()"},
-    {"_ZN5clang4Sema22EnterDeclaratorContextEPNS_5ScopeEPNS_11DeclContextE", "clang::Sema::EnterDeclaratorContext(clang::Scope*, clang::DeclContext*)"},
-    {"_ZN5clang4Sema21ExitDeclaratorContextEPNS_5ScopeE", "clang::Sema::ExitDeclaratorContext(clang::Scope*)"},
-    {"_ZN5clang4Sema17PushOnScopeChainsEPNS_9NamedDeclEPNS_5ScopeEb", "clang::Sema::PushOnScopeChains(clang::NamedDecl*, clang::Scope*, bool)"},
-    {"_ZN5clang4Sema13isDeclInScopeERPNS_9NamedDeclEPNS_11DeclContextEPNS_5ScopeE", "clang::Sema::isDeclInScope(clang::NamedDecl*&, clang::DeclContext*, clang::Scope*)"},
-    {"_ZN5clang4Sema22getScopeForDeclContextEPNS_5ScopeEPNS_11DeclContextE", "clang::Sema::getScopeForDeclContext(clang::Scope*, clang::DeclContext*)"},
-    {"_ZNK5clang4Sema32ShouldWarnIfUnusedFileScopedDeclEPKNS_14DeclaratorDeclE", "clang::Sema::ShouldWarnIfUnusedFileScopedDecl(clang::DeclaratorDecl const*) const"},
-    {"_ZN5clang4Sema24MarkUnusedFileScopedDeclEPKNS_14DeclaratorDeclE", "clang::Sema::MarkUnusedFileScopedDecl(clang::DeclaratorDecl const*)"},
-    {"_ZN5clang4Sema18DiagnoseUnusedDeclEPKNS_9NamedDeclE", "clang::Sema::DiagnoseUnusedDecl(clang::NamedDecl const*)"},
-    {"_ZN5clang4Sema13ActOnPopScopeENS_14SourceLocationEPNS_5ScopeE", "clang::Sema::ActOnPopScope(clang::SourceLocation, clang::Scope*)"},
-    {"_ZN5clang4Sema20getObjCInterfaceDeclERPNS_14IdentifierInfoENS_14SourceLocationEb", "clang::Sema::getObjCInterfaceDecl(clang::IdentifierInfo*&, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema20getNonFieldDeclScopeEPNS_5ScopeE", "clang::Sema::getNonFieldDeclScope(clang::Scope*)"},
-    {"_ZN5clang4Sema19LazilyCreateBuiltinEPNS_14IdentifierInfoEjPNS_5ScopeEbNS_14SourceLocationE", "clang::Sema::LazilyCreateBuiltin(clang::IdentifierInfo*, unsigned int, clang::Scope*, bool, clang::SourceLocation)"},
-    {"_ZN5clang4Sema26AddKnownFunctionAttributesEPNS_12FunctionDeclE", "clang::Sema::AddKnownFunctionAttributes(clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema16MergeTypeDefDeclEPNS_11TypedefDeclERNS_12LookupResultE", "clang::Sema::MergeTypeDefDecl(clang::TypedefDecl*, clang::LookupResult&)"},
-    {"_ZN5clang4Sema16getSpecialMemberEPKNS_13CXXMethodDeclE", "clang::Sema::getSpecialMember(clang::CXXMethodDecl const*)"},
-    {"_ZN5clang4Sema17MergeFunctionDeclEPNS_12FunctionDeclEPNS_4DeclE", "clang::Sema::MergeFunctionDecl(clang::FunctionDecl*, clang::Decl*)"},
-    {"_ZN5clang4Sema28MergeCompatibleFunctionDeclsEPNS_12FunctionDeclES2_", "clang::Sema::MergeCompatibleFunctionDecls(clang::FunctionDecl*, clang::FunctionDecl*)"},
-    {"_Z19MergeDeclAttributesPN5clang4DeclES1_RNS_10ASTContextE", "MergeDeclAttributes(clang::Decl*, clang::Decl*, clang::ASTContext&)"},
-    {"_ZN5clang4Sema12MergeVarDeclEPNS_7VarDeclERNS_12LookupResultE", "clang::Sema::MergeVarDecl(clang::VarDecl*, clang::LookupResult&)"},
-    {"_ZN5clang4Sema26ParsedFreeStandingDeclSpecEPNS_5ScopeENS_15AccessSpecifierERNS_8DeclSpecE", "clang::Sema::ParsedFreeStandingDeclSpec(clang::Scope*, clang::AccessSpecifier, clang::DeclSpec&)"},
-    {"_ZN5clang4Sema27BuildAnonymousStructOrUnionEPNS_5ScopeERNS_8DeclSpecENS_15AccessSpecifierEPNS_10RecordDeclE", "clang::Sema::BuildAnonymousStructOrUnion(clang::Scope*, clang::DeclSpec&, clang::AccessSpecifier, clang::RecordDecl*)"},
-    {"_ZN5clang4Sema30BuildMicrosoftCAnonymousStructEPNS_5ScopeERNS_8DeclSpecEPNS_10RecordDeclE", "clang::Sema::BuildMicrosoftCAnonymousStruct(clang::Scope*, clang::DeclSpec&, clang::RecordDecl*)"},
-    {"_ZN5clang4Sema12ActOnVlaStmtERKNS_8DeclSpecE", "clang::Sema::ActOnVlaStmt(clang::DeclSpec const&)"},
-    {"_ZN5clang4Sema20CheckNontrivialFieldEPNS_9FieldDeclE", "clang::Sema::CheckNontrivialField(clang::FieldDecl*)"},
-    {"_Z35InjectAnonymousStructOrUnionMembersRN5clang4SemaEPNS_5ScopeEPNS_11DeclContextEPNS_10RecordDeclENS_15AccessSpecifierERN4llvm11SmallVectorIPNS_9NamedDeclELj2EEEb", "InjectAnonymousStructOrUnionMembers(clang::Sema&, clang::Scope*, clang::DeclContext*, clang::RecordDecl*, clang::AccessSpecifier, llvm::SmallVector<clang::NamedDecl*, 2u>&, bool)"},
-    {"_ZN5clang4Sema20GetNameForDeclaratorERNS_10DeclaratorE", "clang::Sema::GetNameForDeclarator(clang::Declarator&)"},
-    {"_ZN5clang4Sema24GetNameFromUnqualifiedIdERKNS_13UnqualifiedIdE", "clang::Sema::GetNameFromUnqualifiedId(clang::UnqualifiedId const&)"},
-    {"_ZN5clang4Sema15ActOnDeclaratorEPNS_5ScopeERNS_10DeclaratorE", "clang::Sema::ActOnDeclarator(clang::Scope*, clang::Declarator&)"},
-    {"_ZN5clang4Sema16HandleDeclaratorEPNS_5ScopeERNS_10DeclaratorENS_11ASTMultiPtrIPNS_21TemplateParameterListEEEb", "clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&, clang::ASTMultiPtr<clang::TemplateParameterList*>, bool)"},
-    {"_ZN5clang4Sema22ActOnTypedefDeclaratorEPNS_5ScopeERNS_10DeclaratorEPNS_11DeclContextENS_8QualTypeEPNS_14TypeSourceInfoERNS_12LookupResultERb", "clang::Sema::ActOnTypedefDeclarator(clang::Scope*, clang::Declarator&, clang::DeclContext*, clang::QualType, clang::TypeSourceInfo*, clang::LookupResult&, bool&)"},
-    {"_ZN5clang4Sema23ActOnFunctionDeclaratorEPNS_5ScopeERNS_10DeclaratorEPNS_11DeclContextENS_8QualTypeEPNS_14TypeSourceInfoERNS_12LookupResultENS_11ASTMultiPtrIPNS_21TemplateParameterListEEEbRb", "clang::Sema::ActOnFunctionDeclarator(clang::Scope*, clang::Declarator&, clang::DeclContext*, clang::QualType, clang::TypeSourceInfo*, clang::LookupResult&, clang::ASTMultiPtr<clang::TemplateParameterList*>, bool, bool&)"},
-    {"_ZN5clang4Sema23ActOnVariableDeclaratorEPNS_5ScopeERNS_10DeclaratorEPNS_11DeclContextENS_8QualTypeEPNS_14TypeSourceInfoERNS_12LookupResultENS_11ASTMultiPtrIPNS_21TemplateParameterListEEERb", "clang::Sema::ActOnVariableDeclarator(clang::Scope*, clang::Declarator&, clang::DeclContext*, clang::QualType, clang::TypeSourceInfo*, clang::LookupResult&, clang::ASTMultiPtr<clang::TemplateParameterList*>, bool&)"},
-    {"_ZN5clang4Sema32RegisterLocallyScopedExternCDeclEPNS_9NamedDeclERKNS_12LookupResultEPNS_5ScopeE", "clang::Sema::RegisterLocallyScopedExternCDecl(clang::NamedDecl*, clang::LookupResult const&, clang::Scope*)"},
-    {"_ZN5clang4Sema26DiagnoseFunctionSpecifiersERNS_10DeclaratorE", "clang::Sema::DiagnoseFunctionSpecifiers(clang::Declarator&)"},
-    {"_ZN5clang4Sema16ParseTypedefDeclEPNS_5ScopeERNS_10DeclaratorENS_8QualTypeEPNS_14TypeSourceInfoE", "clang::Sema::ParseTypedefDecl(clang::Scope*, clang::Declarator&, clang::QualType, clang::TypeSourceInfo*)"},
-    {"_Z35TryToFixInvalidVariablyModifiedTypeN5clang8QualTypeERNS_10ASTContextERbRN4llvm6APSIntE", "TryToFixInvalidVariablyModifiedType(clang::QualType, clang::ASTContext&, bool&, llvm::APSInt&)"},
-    {"_Z20FilterLookupForScopeRN5clang4SemaERNS_12LookupResultEPNS_11DeclContextEPNS_5ScopeEb", "FilterLookupForScope(clang::Sema&, clang::LookupResult&, clang::DeclContext*, clang::Scope*, bool)"},
-    {"_ZN5clang4Sema11CheckShadowEPNS_5ScopeEPNS_7VarDeclERKNS_12LookupResultE", "clang::Sema::CheckShadow(clang::Scope*, clang::VarDecl*, clang::LookupResult const&)"},
-    {"_ZN5clang4Sema24CheckVariableDeclarationEPNS_7VarDeclERNS_12LookupResultERb", "clang::Sema::CheckVariableDeclaration(clang::VarDecl*, clang::LookupResult&, bool&)"},
-    {"_ZN5clang4Sema11CheckShadowEPNS_5ScopeEPNS_7VarDeclE", "clang::Sema::CheckShadow(clang::Scope*, clang::VarDecl*)"},
-    {"_ZN5clang4Sema20AddOverriddenMethodsEPNS_13CXXRecordDeclEPNS_13CXXMethodDeclE", "clang::Sema::AddOverriddenMethods(clang::CXXRecordDecl*, clang::CXXMethodDecl*)"},
-    {"_Z20FindOverriddenMethodPKN5clang16CXXBaseSpecifierERNS_11CXXBasePathEPv", "FindOverriddenMethod(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*)"},
-    {"_ZN5clang4Sema26BuildParmVarDeclForTypedefEPNS_11DeclContextENS_14SourceLocationENS_8QualTypeE", "clang::Sema::BuildParmVarDeclForTypedef(clang::DeclContext*, clang::SourceLocation, clang::QualType)"},
-    {"_ZN5clang4Sema24CheckFunctionDeclarationEPNS_5ScopeEPNS_12FunctionDeclERNS_12LookupResultEbRb", "clang::Sema::CheckFunctionDeclaration(clang::Scope*, clang::FunctionDecl*, clang::LookupResult&, bool, bool&)"},
-    {"_Z28DiagnoseInvalidRedeclarationRN5clang4SemaEPNS_12FunctionDeclE", "DiagnoseInvalidRedeclaration(clang::Sema&, clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema9CheckMainEPNS_12FunctionDeclE", "clang::Sema::CheckMain(clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema27CheckForConstantInitializerEPNS_4ExprENS_8QualTypeE", "clang::Sema::CheckForConstantInitializer(clang::Expr*, clang::QualType)"},
-    {"_ZN5clang4Sema20AddInitializerToDeclEPNS_4DeclEPNS_4ExprE", "clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*)"},
-    {"_ZN5clang4Sema20AddInitializerToDeclEPNS_4DeclEPNS_4ExprEb", "clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*, bool)"},
-    {"_ZN5clang4Sema32CheckCompleteVariableDeclarationEPNS_7VarDeclE", "clang::Sema::CheckCompleteVariableDeclaration(clang::VarDecl*)"},
-    {"_ZN5clang4Sema21ActOnInitializerErrorEPNS_4DeclE", "clang::Sema::ActOnInitializerError(clang::Decl*)"},
-    {"_ZN5clang4Sema22ActOnUninitializedDeclEPNS_4DeclEb", "clang::Sema::ActOnUninitializedDecl(clang::Decl*, bool)"},
-    {"_ZN5clang4Sema23FinalizeDeclaratorGroupEPNS_5ScopeERKNS_8DeclSpecEPPNS_4DeclEj", "clang::Sema::FinalizeDeclaratorGroup(clang::Scope*, clang::DeclSpec const&, clang::Decl**, unsigned int)"},
-    {"_ZN5clang4Sema20ActOnParamDeclaratorEPNS_5ScopeERNS_10DeclaratorE", "clang::Sema::ActOnParamDeclarator(clang::Scope*, clang::Declarator&)"},
-    {"_ZN5clang4Sema14CheckParameterEPNS_11DeclContextEPNS_14TypeSourceInfoENS_8QualTypeEPNS_14IdentifierInfoENS_14SourceLocationENS_12StorageClassES9_", "clang::Sema::CheckParameter(clang::DeclContext*, clang::TypeSourceInfo*, clang::QualType, clang::IdentifierInfo*, clang::SourceLocation, clang::StorageClass, clang::StorageClass)"},
-    {"_ZN5clang4Sema24DiagnoseUnusedParametersEPKPNS_11ParmVarDeclES4_", "clang::Sema::DiagnoseUnusedParameters(clang::ParmVarDecl* const*, clang::ParmVarDecl* const*)"},
-    {"_ZN5clang4Sema38DiagnoseSizeOfParametersAndReturnValueEPKPNS_11ParmVarDeclES4_NS_8QualTypeEPNS_9NamedDeclE", "clang::Sema::DiagnoseSizeOfParametersAndReturnValue(clang::ParmVarDecl* const*, clang::ParmVarDecl* const*, clang::QualType, clang::NamedDecl*)"},
-    {"_ZN5clang4Sema31ActOnFinishKNRParamDeclarationsEPNS_5ScopeERNS_10DeclaratorENS_14SourceLocationE", "clang::Sema::ActOnFinishKNRParamDeclarations(clang::Scope*, clang::Declarator&, clang::SourceLocation)"},
-    {"_ZN5clang4Sema23ActOnStartOfFunctionDefEPNS_5ScopeERNS_10DeclaratorE", "clang::Sema::ActOnStartOfFunctionDef(clang::Scope*, clang::Declarator&)"},
-    {"_ZN5clang4Sema23ActOnStartOfFunctionDefEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnStartOfFunctionDef(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema23ActOnFinishFunctionBodyEPNS_4DeclEPNS_4StmtE", "clang::Sema::ActOnFinishFunctionBody(clang::Decl*, clang::Stmt*)"},
-    {"_ZN5clang4Sema23ActOnFinishFunctionBodyEPNS_4DeclEPNS_4StmtEb", "clang::Sema::ActOnFinishFunctionBody(clang::Decl*, clang::Stmt*, bool)"},
-    {"_ZN5clang4Sema24ImplicitlyDefineFunctionENS_14SourceLocationERNS_14IdentifierInfoEPNS_5ScopeE", "clang::Sema::ImplicitlyDefineFunction(clang::SourceLocation, clang::IdentifierInfo&, clang::Scope*)"},
-    {"_ZN5clang4Sema28isAcceptableTagRedeclarationEPKNS_7TagDeclENS_11TagTypeKindENS_14SourceLocationERKNS_14IdentifierInfoE", "clang::Sema::isAcceptableTagRedeclaration(clang::TagDecl const*, clang::TagTypeKind, clang::SourceLocation, clang::IdentifierInfo const&)"},
-    {"_ZN5clang4Sema8ActOnTagEPNS_5ScopeEjNS0_10TagUseKindENS_14SourceLocationERNS_12CXXScopeSpecEPNS_14IdentifierInfoES4_PNS_13AttributeListENS_15AccessSpecifierENS_11ASTMultiPtrIPNS_21TemplateParameterListEEERbSG_bbNS_12ActionResultINS_9OpaquePtrINS_8QualTypeEEELb0EEE", "clang::Sema::ActOnTag(clang::Scope*, unsigned int, clang::Sema::TagUseKind, clang::SourceLocation, clang::CXXScopeSpec&, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeList*, clang::AccessSpecifier, clang::ASTMultiPtr<clang::TemplateParameterList*>, bool&, bool&, bool, bool, clang::ActionResult<clang::OpaquePtr<clang::QualType>, false>)"},
-    {"_ZN5clang4Sema23ActOnTagStartDefinitionEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnTagStartDefinition(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema31ActOnStartCXXMemberDeclarationsEPNS_5ScopeEPNS_4DeclERNS_19ClassVirtSpecifiersENS_14SourceLocationE", "clang::Sema::ActOnStartCXXMemberDeclarations(clang::Scope*, clang::Decl*, clang::ClassVirtSpecifiers&, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24ActOnTagFinishDefinitionEPNS_5ScopeEPNS_4DeclENS_14SourceLocationE", "clang::Sema::ActOnTagFinishDefinition(clang::Scope*, clang::Decl*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema23ActOnTagDefinitionErrorEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnTagDefinitionError(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema14VerifyBitFieldENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPKNS_4ExprEPb", "clang::Sema::VerifyBitField(clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::Expr const*, bool*)"},
-    {"_ZN5clang4Sema10ActOnFieldEPNS_5ScopeEPNS_4DeclENS_14SourceLocationERNS_10DeclaratorEPNS_4ExprE", "clang::Sema::ActOnField(clang::Scope*, clang::Decl*, clang::SourceLocation, clang::Declarator&, clang::Expr*)"},
-    {"_ZN5clang4Sema11HandleFieldEPNS_5ScopeEPNS_10RecordDeclENS_14SourceLocationERNS_10DeclaratorEPNS_4ExprENS_15AccessSpecifierE", "clang::Sema::HandleField(clang::Scope*, clang::RecordDecl*, clang::SourceLocation, clang::Declarator&, clang::Expr*, clang::AccessSpecifier)"},
-    {"_ZN5clang4Sema14CheckFieldDeclENS_15DeclarationNameENS_8QualTypeEPNS_14TypeSourceInfoEPNS_10RecordDeclENS_14SourceLocationEbPNS_4ExprES7_NS_15AccessSpecifierEPNS_9NamedDeclEPNS_10DeclaratorE", "clang::Sema::CheckFieldDecl(clang::DeclarationName, clang::QualType, clang::TypeSourceInfo*, clang::RecordDecl*, clang::SourceLocation, bool, clang::Expr*, clang::SourceLocation, clang::AccessSpecifier, clang::NamedDecl*, clang::Declarator*)"},
-    {"_ZN5clang4Sema18DiagnoseNontrivialEPKNS_10RecordTypeENS0_16CXXSpecialMemberE", "clang::Sema::DiagnoseNontrivial(clang::RecordType const*, clang::Sema::CXXSpecialMember)"},
-    {"_ZN5clang4Sema9ActOnIvarEPNS_5ScopeENS_14SourceLocationEPNS_4DeclERNS_10DeclaratorEPNS_4ExprENS_3tok15ObjCKeywordKindE", "clang::Sema::ActOnIvar(clang::Scope*, clang::SourceLocation, clang::Decl*, clang::Declarator&, clang::Expr*, clang::tok::ObjCKeywordKind)"},
-    {"_ZN5clang4Sema17ActOnLastBitfieldENS_14SourceLocationEPNS_4DeclERN4llvm15SmallVectorImplIS3_EE", "clang::Sema::ActOnLastBitfield(clang::SourceLocation, clang::Decl*, llvm::SmallVectorImpl<clang::Decl*>&)"},
-    {"_ZN5clang4Sema11ActOnFieldsEPNS_5ScopeENS_14SourceLocationEPNS_4DeclEPS5_jS3_S3_PNS_13AttributeListE", "clang::Sema::ActOnFields(clang::Scope*, clang::SourceLocation, clang::Decl*, clang::Decl**, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::AttributeList*)"},
-    {"_ZN5clang4Sema17CheckEnumConstantEPNS_8EnumDeclEPNS_16EnumConstantDeclENS_14SourceLocationEPNS_14IdentifierInfoEPNS_4ExprE", "clang::Sema::CheckEnumConstant(clang::EnumDecl*, clang::EnumConstantDecl*, clang::SourceLocation, clang::IdentifierInfo*, clang::Expr*)"},
-    {"_Z27isRepresentableIntegerValueRN5clang10ASTContextERN4llvm6APSIntENS_8QualTypeE", "isRepresentableIntegerValue(clang::ASTContext&, llvm::APSInt&, clang::QualType)"},
-    {"_ZN5clang4Sema17ActOnEnumConstantEPNS_5ScopeEPNS_4DeclES4_NS_14SourceLocationEPNS_14IdentifierInfoEPNS_13AttributeListES5_PNS_4ExprE", "clang::Sema::ActOnEnumConstant(clang::Scope*, clang::Decl*, clang::Decl*, clang::SourceLocation, clang::IdentifierInfo*, clang::AttributeList*, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema13ActOnEnumBodyENS_14SourceLocationES1_S1_PNS_4DeclEPS3_jPNS_5ScopeEPNS_13AttributeListE", "clang::Sema::ActOnEnumBody(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Decl*, clang::Decl**, unsigned int, clang::Scope*, clang::AttributeList*)"},
-    {"_ZN5clang4Sema21ActOnFileScopeAsmDeclENS_14SourceLocationEPNS_4ExprE", "clang::Sema::ActOnFileScopeAsmDecl(clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema17ActOnPragmaWeakIDEPNS_14IdentifierInfoENS_14SourceLocationES3_", "clang::Sema::ActOnPragmaWeakID(clang::IdentifierInfo*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20ActOnPragmaWeakAliasEPNS_14IdentifierInfoES2_NS_14SourceLocationES3_S3_", "clang::Sema::ActOnPragmaWeakAlias(clang::IdentifierInfo*, clang::IdentifierInfo*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang12RedeclarableINS_11TypedefDeclEE22setPreviousDeclarationEPS1_", "clang::Redeclarable<clang::TypedefDecl>::setPreviousDeclaration(clang::TypedefDecl*)"},
-    {"_ZN5clang12RedeclarableINS_7VarDeclEE22setPreviousDeclarationEPS1_", "clang::Redeclarable<clang::VarDecl>::setPreviousDeclaration(clang::VarDecl*)"},
-    {"_ZNK5clang4Decl7getAttrINS_13DLLImportAttrEEEPT_v", "clang::DLLImportAttr* clang::Decl::getAttr<clang::DLLImportAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_13DLLExportAttrEEEPT_v", "clang::DLLExportAttr* clang::Decl::getAttr<clang::DLLExportAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_10FormatAttrEEEPT_v", "clang::FormatAttr* clang::Decl::getAttr<clang::FormatAttr>() const"},
-    {"_ZNK5clang13CXXRecordDecl25hasTrivialCopyConstructorEv", "clang::CXXRecordDecl::hasTrivialCopyConstructor() const"},
-    {"_ZNK5clang13CXXRecordDecl21hasTrivialConstructorEv", "clang::CXXRecordDecl::hasTrivialConstructor() const"},
-    {"_ZNK5clang13CXXRecordDecl24hasTrivialCopyAssignmentEv", "clang::CXXRecordDecl::hasTrivialCopyAssignment() const"},
-    {"_ZNK5clang13CXXRecordDecl20hasTrivialDestructorEv", "clang::CXXRecordDecl::hasTrivialDestructor() const"},
-    {"_ZNK5clang4Decl7getAttrINS_10PackedAttrEEEPT_v", "clang::PackedAttr* clang::Decl::getAttr<clang::PackedAttr>() const"},
-    {"_ZNK4llvm6APSInt10extOrTruncEj", "llvm::APSInt::extOrTrunc(unsigned int) const"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang9FieldDeclEE6resizeEj", "llvm::SmallVectorImpl<clang::FieldDecl*>::resize(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang15DeclaratorChunkELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::DeclaratorChunk, false>::grow(unsigned long)"},
-    {"_ZN5clang12CXXBasePathsD2Ev", "clang::CXXBasePaths::~CXXBasePaths()"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_S2_IbjEESt10_Select1stIS5_ENS0_16QualTypeOrderingESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, std::pair<bool, unsigned int> >, std::_Select1st<std::pair<clang::QualType const, std::pair<bool, unsigned int> > >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, std::pair<bool, unsigned int> > > >::_M_erase(std::_Rb_tree_node<std::pair<clang::QualType const, std::pair<bool, unsigned int> > >*)"},
-    {"_ZN5clang12LookupResult22resolveKindAfterFilterEv", "clang::LookupResult::resolveKindAfterFilter()"},
-    {"_ZN5clang10Declarator5clearEv", "clang::Declarator::clear()"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang9NamedDeclEE6resizeEj", "llvm::SmallVectorImpl<clang::NamedDecl*>::resize(unsigned int)"},
-    {"_ZN5clang4Sema17CheckNoReturnAttrERKNS_13AttributeListE", "clang::Sema::CheckNoReturnAttr(clang::AttributeList const&)"},
-    {"_ZN5clang4Sema14AddAlignedAttrENS_14SourceLocationEPNS_4DeclEPNS_4ExprE", "clang::Sema::AddAlignedAttr(clang::SourceLocation, clang::Decl*, clang::Expr*)"},
-    {"_ZN5clang4Sema14AddAlignedAttrENS_14SourceLocationEPNS_4DeclEPNS_14TypeSourceInfoE", "clang::Sema::AddAlignedAttr(clang::SourceLocation, clang::Decl*, clang::TypeSourceInfo*)"},
-    {"_ZN5clang4Sema20CheckCallingConvAttrERKNS_13AttributeListERNS_11CallingConvE", "clang::Sema::CheckCallingConvAttr(clang::AttributeList const&, clang::CallingConv&)"},
-    {"_ZN5clang4Sema16CheckRegparmAttrERKNS_13AttributeListERj", "clang::Sema::CheckRegparmAttr(clang::AttributeList const&, unsigned int&)"},
-    {"_ZN5clang4Sema24ProcessDeclAttributeListEPNS_5ScopeEPNS_4DeclEPKNS_13AttributeListEbb", "clang::Sema::ProcessDeclAttributeList(clang::Scope*, clang::Decl*, clang::AttributeList const*, bool, bool)"},
-    {"_ZN5clang4Sema19DeclClonePragmaWeakEPNS_9NamedDeclEPNS_14IdentifierInfoE", "clang::Sema::DeclClonePragmaWeak(clang::NamedDecl*, clang::IdentifierInfo*)"},
-    {"_ZN5clang4Sema19DeclApplyPragmaWeakEPNS_5ScopeEPNS_9NamedDeclERNS0_8WeakInfoE", "clang::Sema::DeclApplyPragmaWeak(clang::Scope*, clang::NamedDecl*, clang::Sema::WeakInfo&)"},
-    {"_ZN5clang4Sema21ProcessDeclAttributesEPNS_5ScopeEPNS_4DeclERKNS_10DeclaratorEbb", "clang::Sema::ProcessDeclAttributes(clang::Scope*, clang::Decl*, clang::Declarator const&, bool, bool)"},
-    {"_ZN5clang4Sema22PushParsingDeclarationEv", "clang::Sema::PushParsingDeclaration()"},
-    {"_ZN5clang4Sema21PopParsingDeclarationEmPNS_4DeclE", "clang::Sema::PopParsingDeclaration(unsigned long, clang::Decl*)"},
-    {"_ZN5clang4Sema29HandleDelayedDeprecationCheckERNS_4sema17DelayedDiagnosticEPNS_4DeclE", "clang::Sema::HandleDelayedDeprecationCheck(clang::sema::DelayedDiagnostic&, clang::Decl*)"},
-    {"_ZN5clang4Sema22EmitDeprecationWarningEPNS_9NamedDeclEN4llvm9StringRefENS_14SourceLocationEb", "clang::Sema::EmitDeprecationWarning(clang::NamedDecl*, llvm::StringRef, clang::SourceLocation, bool)"},
-    {"_Z26ProcessInheritableDeclAttrPN5clang5ScopeEPNS_4DeclERKNS_13AttributeListERNS_4SemaE", "ProcessInheritableDeclAttr(clang::Scope*, clang::Decl*, clang::AttributeList const&, clang::Sema&)"},
-    {"_Z15getFunctionTypePKN5clang4DeclEb", "getFunctionType(clang::Decl const*, bool)"},
-    {"_ZN4llvm25array_pod_sort_comparatorIjEEiPKvS2_", "int llvm::array_pod_sort_comparator<unsigned int>(void const*, void const*)"},
-    {"_Z14isNSStringTypeN5clang8QualTypeERNS_10ASTContextE", "isNSStringType(clang::QualType, clang::ASTContext&)"},
-    {"_Z14isCFStringTypeN5clang8QualTypeERNS_10ASTContextE", "isCFStringType(clang::QualType, clang::ASTContext&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang4sema17DelayedDiagnosticELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::sema::DelayedDiagnostic, false>::grow(unsigned long)"},
-    {"_ZNK5clang4Decl7getAttrINS_13VecReturnAttrEEEPT_v", "clang::VecReturnAttr* clang::Decl::getAttr<clang::VecReturnAttr>() const"},
-    {"_ZN5clang4Sema23SetParamDefaultArgumentEPNS_11ParmVarDeclEPNS_4ExprENS_14SourceLocationE", "clang::Sema::SetParamDefaultArgument(clang::ParmVarDecl*, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema25ActOnParamDefaultArgumentEPNS_4DeclENS_14SourceLocationEPNS_4ExprE", "clang::Sema::ActOnParamDefaultArgument(clang::Decl*, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_127CheckDefaultArgumentVisitorEbE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::CheckDefaultArgumentVisitor, bool>::Visit(clang::Stmt*)"},
-    {"_ZN5clang4Sema33ActOnParamUnparsedDefaultArgumentEPNS_4DeclENS_14SourceLocationES3_", "clang::Sema::ActOnParamUnparsedDefaultArgument(clang::Decl*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema30ActOnParamDefaultArgumentErrorEPNS_4DeclE", "clang::Sema::ActOnParamDefaultArgumentError(clang::Decl*)"},
-    {"_ZN5clang4Sema29CheckExtraCXXDefaultArgumentsERNS_10DeclaratorE", "clang::Sema::CheckExtraCXXDefaultArguments(clang::Declarator&)"},
-    {"_ZN5clang4Sema20MergeCXXFunctionDeclEPNS_12FunctionDeclES2_", "clang::Sema::MergeCXXFunctionDecl(clang::FunctionDecl*, clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema24CheckCXXDefaultArgumentsEPNS_12FunctionDeclE", "clang::Sema::CheckCXXDefaultArguments(clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema18isCurrentClassNameERKNS_14IdentifierInfoEPNS_5ScopeEPKNS_12CXXScopeSpecE", "clang::Sema::isCurrentClassName(clang::IdentifierInfo const&, clang::Scope*, clang::CXXScopeSpec const*)"},
-    {"_ZN5clang4Sema18CheckBaseSpecifierEPNS_13CXXRecordDeclENS_11SourceRangeEbNS_15AccessSpecifierEPNS_14TypeSourceInfoENS_14SourceLocationE", "clang::Sema::CheckBaseSpecifier(clang::CXXRecordDecl*, clang::SourceRange, bool, clang::AccessSpecifier, clang::TypeSourceInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18ActOnBaseSpecifierEPNS_4DeclENS_11SourceRangeEbNS_15AccessSpecifierENS_9OpaquePtrINS_8QualTypeEEENS_14SourceLocationES8_", "clang::Sema::ActOnBaseSpecifier(clang::Decl*, clang::SourceRange, bool, clang::AccessSpecifier, clang::OpaquePtr<clang::QualType>, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20AttachBaseSpecifiersEPNS_13CXXRecordDeclEPPNS_16CXXBaseSpecifierEj", "clang::Sema::AttachBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXBaseSpecifier**, unsigned int)"},
-    {"_ZN5clang4Sema19ActOnBaseSpecifiersEPNS_4DeclEPPNS_16CXXBaseSpecifierEj", "clang::Sema::ActOnBaseSpecifiers(clang::Decl*, clang::CXXBaseSpecifier**, unsigned int)"},
-    {"_ZN5clang4Sema13IsDerivedFromENS_8QualTypeES1_", "clang::Sema::IsDerivedFrom(clang::QualType, clang::QualType)"},
-    {"_Z15GetClassForTypeN5clang8QualTypeE", "GetClassForType(clang::QualType)"},
-    {"_ZN5clang4Sema13IsDerivedFromENS_8QualTypeES1_RNS_12CXXBasePathsE", "clang::Sema::IsDerivedFrom(clang::QualType, clang::QualType, clang::CXXBasePaths&)"},
-    {"_ZN5clang4Sema18BuildBasePathArrayERKNS_12CXXBasePathsERN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEE", "clang::Sema::BuildBasePathArray(clang::CXXBasePaths const&, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>&)"},
-    {"_ZN5clang4Sema27BasePathInvolvesVirtualBaseERKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEE", "clang::Sema::BasePathInvolvesVirtualBase(llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const&)"},
-    {"_ZN5clang4Sema28CheckDerivedToBaseConversionENS_8QualTypeES1_jjNS_14SourceLocationENS_11SourceRangeENS_15DeclarationNameEPN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEE", "clang::Sema::CheckDerivedToBaseConversion(clang::QualType, clang::QualType, unsigned int, unsigned int, clang::SourceLocation, clang::SourceRange, clang::DeclarationName, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>*)"},
-    {"_ZN5clang4Sema30getAmbiguousPathsDisplayStringERNS_12CXXBasePathsE", "clang::Sema::getAmbiguousPathsDisplayString(clang::CXXBasePaths&)"},
-    {"_ZN5clang4Sema28CheckDerivedToBaseConversionENS_8QualTypeES1_NS_14SourceLocationENS_11SourceRangeEPN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEb", "clang::Sema::CheckDerivedToBaseConversion(clang::QualType, clang::QualType, clang::SourceLocation, clang::SourceRange, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>*, bool)"},
-    {"_ZN5clang4Sema20ActOnAccessSpecifierENS_15AccessSpecifierENS_14SourceLocationES2_", "clang::Sema::ActOnAccessSpecifier(clang::AccessSpecifier, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20CheckOverrideControlEPKNS_4DeclE", "clang::Sema::CheckOverrideControl(clang::Decl const*)"},
-    {"_ZN5clang4Sema38CheckIfOverriddenFunctionIsMarkedFinalEPKNS_13CXXMethodDeclES3_", "clang::Sema::CheckIfOverriddenFunctionIsMarkedFinal(clang::CXXMethodDecl const*, clang::CXXMethodDecl const*)"},
-    {"_ZN5clang4Sema24ActOnCXXMemberDeclaratorEPNS_5ScopeENS_15AccessSpecifierERNS_10DeclaratorENS_11ASTMultiPtrIPNS_21TemplateParameterListEEEPNS_4ExprERKNS_14VirtSpecifiersESB_bb", "clang::Sema::ActOnCXXMemberDeclarator(clang::Scope*, clang::AccessSpecifier, clang::Declarator&, clang::ASTMultiPtr<clang::TemplateParameterList*>, clang::Expr*, clang::VirtSpecifiers const&, clang::Expr*, bool, bool)"},
-    {"_ZN5clang4Sema14SetDeclDeletedEPNS_4DeclENS_14SourceLocationE", "clang::Sema::SetDeclDeleted(clang::Decl*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema19ActOnMemInitializerEPNS_4DeclEPNS_5ScopeERNS_12CXXScopeSpecEPNS_14IdentifierInfoENS_9OpaquePtrINS_8QualTypeEEENS_14SourceLocationESC_PPNS_4ExprEjSC_SC_", "clang::Sema::ActOnMemInitializer(clang::Decl*, clang::Scope*, clang::CXXScopeSpec&, clang::IdentifierInfo*, clang::OpaquePtr<clang::QualType>, clang::SourceLocation, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema22BuildMemberInitializerEPNS_9ValueDeclEPPNS_4ExprEjNS_14SourceLocationES6_S6_", "clang::Sema::BuildMemberInitializer(clang::ValueDecl*, clang::Expr**, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_Z19FindBaseInitializerRN5clang4SemaEPNS_13CXXRecordDeclENS_8QualTypeERPKNS_16CXXBaseSpecifierES8_", "FindBaseInitializer(clang::Sema&, clang::CXXRecordDecl*, clang::QualType, clang::CXXBaseSpecifier const*&, clang::CXXBaseSpecifier const*&)"},
-    {"_ZN5clang4Sema20BuildBaseInitializerENS_8QualTypeEPNS_14TypeSourceInfoEPPNS_4ExprEjNS_14SourceLocationES7_PNS_13CXXRecordDeclES7_", "clang::Sema::BuildBaseInitializer(clang::QualType, clang::TypeSourceInfo*, clang::Expr**, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::CXXRecordDecl*, clang::SourceLocation)"},
-    {"_Z35InitExprContainsUninitializedFieldsPKN5clang4StmtEPKNS_9ValueDeclEPNS_14SourceLocationE", "InitExprContainsUninitializedFields(clang::Stmt const*, clang::ValueDecl const*, clang::SourceLocation*)"},
-    {"_ZN5clang4Sema26BuildDelegatingInitializerEPNS_14TypeSourceInfoEPPNS_4ExprEjNS_14SourceLocationES6_PNS_13CXXRecordDeclES6_", "clang::Sema::BuildDelegatingInitializer(clang::TypeSourceInfo*, clang::Expr**, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::CXXRecordDecl*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema19SetCtorInitializersEPNS_18CXXConstructorDeclEPPNS_18CXXCtorInitializerEjb", "clang::Sema::SetCtorInitializers(clang::CXXConstructorDecl*, clang::CXXCtorInitializer**, unsigned int, bool)"},
-    {"_Z28BuildImplicitBaseInitializerRN5clang4SemaEPNS_18CXXConstructorDeclE23ImplicitInitializerKindPNS_16CXXBaseSpecifierEbRPNS_18CXXCtorInitializerE", "BuildImplicitBaseInitializer(clang::Sema&, clang::CXXConstructorDecl*, ImplicitInitializerKind, clang::CXXBaseSpecifier*, bool, clang::CXXCtorInitializer*&)"},
-    {"_Z23CollectFieldInitializerRN12_GLOBAL__N_116BaseAndFieldInfoEPN5clang9FieldDeclES4_", "CollectFieldInitializer((anonymous namespace)::BaseAndFieldInfo&, clang::FieldDecl*, clang::FieldDecl*)"},
-    {"_ZN5clang4Sema38MarkBaseAndMemberDestructorsReferencedENS_14SourceLocationEPNS_13CXXRecordDeclE", "clang::Sema::MarkBaseAndMemberDestructorsReferenced(clang::SourceLocation, clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema20ActOnMemInitializersEPNS_4DeclENS_14SourceLocationEPPNS_18CXXCtorInitializerEjb", "clang::Sema::ActOnMemInitializers(clang::Decl*, clang::SourceLocation, clang::CXXCtorInitializer**, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_118CheckRedundantInitERN5clang4SemaEPNS0_18CXXCtorInitializerERS4_", "(anonymous namespace)::CheckRedundantInit(clang::Sema&, clang::CXXCtorInitializer*, clang::CXXCtorInitializer*&)"},
-    {"_ZN5clang4Sema28ActOnDefaultCtorInitializersEPNS_4DeclE", "clang::Sema::ActOnDefaultCtorInitializers(clang::Decl*)"},
-    {"_ZN5clang4Sema22RequireNonAbstractTypeENS_14SourceLocationENS_8QualTypeEjNS0_17AbstractDiagSelIDE", "clang::Sema::RequireNonAbstractType(clang::SourceLocation, clang::QualType, unsigned int, clang::Sema::AbstractDiagSelID)"},
-    {"_ZN5clang4Sema22RequireNonAbstractTypeENS_14SourceLocationENS_8QualTypeERKNS_17PartialDiagnosticE", "clang::Sema::RequireNonAbstractType(clang::SourceLocation, clang::QualType, clang::PartialDiagnostic const&)"},
-    {"_ZN5clang4Sema20DiagnoseAbstractTypeEPKNS_13CXXRecordDeclE", "clang::Sema::DiagnoseAbstractType(clang::CXXRecordDecl const*)"},
-    {"_ZN5clang4Sema22CheckCompletedCXXClassEPNS_13CXXRecordDeclE", "clang::Sema::CheckCompletedCXXClass(clang::CXXRecordDecl*)"},
-    {"_Z23CheckAbstractClassUsageRN12_GLOBAL__N_117AbstractUsageInfoEPN5clang13CXXRecordDeclE", "CheckAbstractClassUsage((anonymous namespace)::AbstractUsageInfo&, clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema28DiagnoseHiddenVirtualMethodsEPNS_13CXXRecordDeclEPNS_13CXXMethodDeclE", "clang::Sema::DiagnoseHiddenVirtualMethods(clang::CXXRecordDecl*, clang::CXXMethodDecl*)"},
-    {"_ZN5clang4Sema28DeclareInheritedConstructorsEPNS_13CXXRecordDeclE", "clang::Sema::DeclareInheritedConstructors(clang::CXXRecordDecl*)"},
-    {"_Z23FindHiddenVirtualMethodPKN5clang16CXXBaseSpecifierERNS_11CXXBasePathEPv", "FindHiddenVirtualMethod(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*)"},
-    {"_ZN5clang4Sema33ActOnFinishCXXMemberSpecificationEPNS_5ScopeENS_14SourceLocationEPNS_4DeclES3_S3_PNS_13AttributeListE", "clang::Sema::ActOnFinishCXXMemberSpecification(clang::Scope*, clang::SourceLocation, clang::Decl*, clang::SourceLocation, clang::SourceLocation, clang::AttributeList*)"},
-    {"_ZN5clang4Sema35AddImplicitlyDeclaredMembersToClassEPNS_13CXXRecordDeclE", "clang::Sema::AddImplicitlyDeclaredMembersToClass(clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema29DeclareImplicitCopyAssignmentEPNS_13CXXRecordDeclE", "clang::Sema::DeclareImplicitCopyAssignment(clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema25DeclareImplicitDestructorEPNS_13CXXRecordDeclE", "clang::Sema::DeclareImplicitDestructor(clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema25ActOnReenterTemplateScopeEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnReenterTemplateScope(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema35ActOnStartDelayedMemberDeclarationsEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnStartDelayedMemberDeclarations(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema36ActOnFinishDelayedMemberDeclarationsEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnFinishDelayedMemberDeclarations(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema37ActOnStartDelayedCXXMethodDeclarationEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnStartDelayedCXXMethodDeclaration(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema30ActOnDelayedCXXMethodParameterEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnDelayedCXXMethodParameter(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema38ActOnFinishDelayedCXXMethodDeclarationEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnFinishDelayedCXXMethodDeclaration(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema16CheckConstructorEPNS_18CXXConstructorDeclE", "clang::Sema::CheckConstructor(clang::CXXConstructorDecl*)"},
-    {"_ZN5clang4Sema26CheckConstructorDeclaratorERNS_10DeclaratorENS_8QualTypeERNS_12StorageClassE", "clang::Sema::CheckConstructorDeclarator(clang::Declarator&, clang::QualType, clang::StorageClass&)"},
-    {"_ZN5clang4Sema15CheckDestructorEPNS_17CXXDestructorDeclE", "clang::Sema::CheckDestructor(clang::CXXDestructorDecl*)"},
-    {"_ZN5clang4Sema25CheckDestructorDeclaratorERNS_10DeclaratorENS_8QualTypeERNS_12StorageClassE", "clang::Sema::CheckDestructorDeclarator(clang::Declarator&, clang::QualType, clang::StorageClass&)"},
-    {"_ZN5clang4Sema25CheckConversionDeclaratorERNS_10DeclaratorERNS_8QualTypeERNS_12StorageClassE", "clang::Sema::CheckConversionDeclarator(clang::Declarator&, clang::QualType&, clang::StorageClass&)"},
-    {"_ZN5clang4Sema25ActOnConversionDeclaratorEPNS_17CXXConversionDeclE", "clang::Sema::ActOnConversionDeclarator(clang::CXXConversionDecl*)"},
-    {"_ZN5clang4Sema22ActOnStartNamespaceDefEPNS_5ScopeENS_14SourceLocationES3_PNS_14IdentifierInfoES3_PNS_13AttributeListE", "clang::Sema::ActOnStartNamespaceDef(clang::Scope*, clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeList*)"},
-    {"_ZNK5clang4Sema15getStdNamespaceEv", "clang::Sema::getStdNamespace() const"},
-    {"_ZN5clang4Sema23ActOnFinishNamespaceDefEPNS_4DeclENS_14SourceLocationE", "clang::Sema::ActOnFinishNamespaceDef(clang::Decl*, clang::SourceLocation)"},
-    {"_ZNK5clang4Sema14getStdBadAllocEv", "clang::Sema::getStdBadAlloc() const"},
-    {"_ZN5clang4Sema23getOrCreateStdNamespaceEv", "clang::Sema::getOrCreateStdNamespace()"},
-    {"_ZN5clang4Sema19ActOnUsingDirectiveEPNS_5ScopeENS_14SourceLocationES3_RNS_12CXXScopeSpecES3_PNS_14IdentifierInfoEPNS_13AttributeListE", "clang::Sema::ActOnUsingDirective(clang::Scope*, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::SourceLocation, clang::IdentifierInfo*, clang::AttributeList*)"},
-    {"_ZN5clang4Sema18PushUsingDirectiveEPNS_5ScopeEPNS_18UsingDirectiveDeclE", "clang::Sema::PushUsingDirective(clang::Scope*, clang::UsingDirectiveDecl*)"},
-    {"_ZN5clang4Sema21ActOnUsingDeclarationEPNS_5ScopeENS_15AccessSpecifierEbNS_14SourceLocationERNS_12CXXScopeSpecERNS_13UnqualifiedIdEPNS_13AttributeListEbS4_", "clang::Sema::ActOnUsingDeclaration(clang::Scope*, clang::AccessSpecifier, bool, clang::SourceLocation, clang::CXXScopeSpec&, clang::UnqualifiedId&, clang::AttributeList*, bool, clang::SourceLocation)"},
-    {"_ZN5clang4Sema21BuildUsingDeclarationEPNS_5ScopeENS_15AccessSpecifierENS_14SourceLocationERNS_12CXXScopeSpecERKNS_19DeclarationNameInfoEPNS_13AttributeListEbbS4_", "clang::Sema::BuildUsingDeclaration(clang::Scope*, clang::AccessSpecifier, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, clang::AttributeList*, bool, bool, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20CheckUsingShadowDeclEPNS_9UsingDeclEPNS_9NamedDeclERKNS_12LookupResultE", "clang::Sema::CheckUsingShadowDecl(clang::UsingDecl*, clang::NamedDecl*, clang::LookupResult const&)"},
-    {"_ZN5clang4Sema20BuildUsingShadowDeclEPNS_5ScopeEPNS_9UsingDeclEPNS_9NamedDeclE", "clang::Sema::BuildUsingShadowDecl(clang::Scope*, clang::UsingDecl*, clang::NamedDecl*)"},
-    {"_ZN5clang4Sema19HideUsingShadowDeclEPNS_5ScopeEPNS_15UsingShadowDeclE", "clang::Sema::HideUsingShadowDecl(clang::Scope*, clang::UsingShadowDecl*)"},
-    {"_ZN5clang4Sema27CheckUsingDeclRedeclarationENS_14SourceLocationEbRKNS_12CXXScopeSpecES1_RKNS_12LookupResultE", "clang::Sema::CheckUsingDeclRedeclaration(clang::SourceLocation, bool, clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult const&)"},
-    {"_ZN5clang4Sema23CheckUsingDeclQualifierENS_14SourceLocationERKNS_12CXXScopeSpecES1_", "clang::Sema::CheckUsingDeclQualifier(clang::SourceLocation, clang::CXXScopeSpec const&, clang::SourceLocation)"},
-    {"_ZN5clang4Sema34CheckInheritedConstructorUsingDeclEPNS_9UsingDeclE", "clang::Sema::CheckInheritedConstructorUsingDecl(clang::UsingDecl*)"},
-    {"_ZN5clang4Sema22ActOnNamespaceAliasDefEPNS_5ScopeENS_14SourceLocationES3_PNS_14IdentifierInfoERNS_12CXXScopeSpecES3_S5_", "clang::Sema::ActOnNamespaceAliasDef(clang::Scope*, clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo*, clang::CXXScopeSpec&, clang::SourceLocation, clang::IdentifierInfo*)"},
-    {"_ZN5clang4Sema33DeclareImplicitDefaultConstructorEPNS_13CXXRecordDeclE", "clang::Sema::DeclareImplicitDefaultConstructor(clang::CXXRecordDecl*)"},
-    {"_ZN12_GLOBAL__N_130ImplicitExceptionSpecification10CalledDeclEPN5clang13CXXMethodDeclE", "(anonymous namespace)::ImplicitExceptionSpecification::CalledDecl(clang::CXXMethodDecl*)"},
-    {"_Z27getDefaultConstructorUnsafeRN5clang4SemaEPNS_13CXXRecordDeclE", "getDefaultConstructorUnsafe(clang::Sema&, clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema32DefineImplicitDefaultConstructorENS_14SourceLocationEPNS_18CXXConstructorDeclE", "clang::Sema::DefineImplicitDefaultConstructor(clang::SourceLocation, clang::CXXConstructorDecl*)"},
-    {"_ZN5clang4Sema14MarkVTableUsedENS_14SourceLocationEPNS_13CXXRecordDeclEb", "clang::Sema::MarkVTableUsed(clang::SourceLocation, clang::CXXRecordDecl*, bool)"},
-    {"_ZN5clang4Sema24DefineImplicitDestructorENS_14SourceLocationEPNS_17CXXDestructorDeclE", "clang::Sema::DefineImplicitDestructor(clang::SourceLocation, clang::CXXDestructorDecl*)"},
-    {"_Z22hasConstCopyAssignmentRN5clang4SemaEPKNS_13CXXRecordDeclE", "hasConstCopyAssignment(clang::Sema&, clang::CXXRecordDecl const*)"},
-    {"_ZN5clang4Sema28DefineImplicitCopyAssignmentENS_14SourceLocationEPNS_13CXXMethodDeclE", "clang::Sema::DefineImplicitCopyAssignment(clang::SourceLocation, clang::CXXMethodDecl*)"},
-    {"_Z21BuildSingleCopyAssignRN5clang4SemaENS_14SourceLocationENS_8QualTypeEPNS_4ExprES5_bj", "BuildSingleCopyAssign(clang::Sema&, clang::SourceLocation, clang::QualType, clang::Expr*, clang::Expr*, bool, unsigned int)"},
-    {"_ZN5clang4Sema30DeclareImplicitCopyConstructorEPNS_13CXXRecordDeclE", "clang::Sema::DeclareImplicitCopyConstructor(clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema29DefineImplicitCopyConstructorENS_14SourceLocationEPNS_18CXXConstructorDeclEj", "clang::Sema::DefineImplicitCopyConstructor(clang::SourceLocation, clang::CXXConstructorDecl*, unsigned int)"},
-    {"_ZN5clang4Sema21BuildCXXConstructExprENS_14SourceLocationENS_8QualTypeEPNS_18CXXConstructorDeclENS_11ASTMultiPtrIPNS_4ExprEEEbjNS_11SourceRangeE", "clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::CXXConstructorDecl*, clang::ASTMultiPtr<clang::Expr*>, bool, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21BuildCXXConstructExprENS_14SourceLocationENS_8QualTypeEPNS_18CXXConstructorDeclEbNS_11ASTMultiPtrIPNS_4ExprEEEbjNS_11SourceRangeE", "clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::CXXConstructorDecl*, bool, clang::ASTMultiPtr<clang::Expr*>, bool, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema28InitializeVarWithConstructorEPNS_7VarDeclEPNS_18CXXConstructorDeclENS_11ASTMultiPtrIPNS_4ExprEEE", "clang::Sema::InitializeVarWithConstructor(clang::VarDecl*, clang::CXXConstructorDecl*, clang::ASTMultiPtr<clang::Expr*>)"},
-    {"_ZN5clang4Sema25FinalizeVarWithDestructorEPNS_7VarDeclEPKNS_10RecordTypeE", "clang::Sema::FinalizeVarWithDestructor(clang::VarDecl*, clang::RecordType const*)"},
-    {"_ZN5clang4Sema29AddCXXDirectInitializerToDeclEPNS_4DeclENS_14SourceLocationENS_11ASTMultiPtrIPNS_4ExprEEES3_", "clang::Sema::AddCXXDirectInitializerToDecl(clang::Decl*, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema23CompleteConstructorCallEPNS_18CXXConstructorDeclENS_11ASTMultiPtrIPNS_4ExprEEENS_14SourceLocationERNS_15ASTOwningVectorIS5_Lj8EEE", "clang::Sema::CompleteConstructorCall(clang::CXXConstructorDecl*, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation, clang::ASTOwningVector<clang::Expr*, 8u>&)"},
-    {"_ZN5clang4Sema34CheckOverloadedOperatorDeclarationEPNS_12FunctionDeclE", "clang::Sema::CheckOverloadedOperatorDeclaration(clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema31CheckLiteralOperatorDeclarationEPNS_12FunctionDeclE", "clang::Sema::CheckLiteralOperatorDeclaration(clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema30ActOnStartLinkageSpecificationEPNS_5ScopeENS_14SourceLocationES3_N4llvm9StringRefES3_", "clang::Sema::ActOnStartLinkageSpecification(clang::Scope*, clang::SourceLocation, clang::SourceLocation, llvm::StringRef, clang::SourceLocation)"},
-    {"_ZN5clang4Sema31ActOnFinishLinkageSpecificationEPNS_5ScopeEPNS_4DeclENS_14SourceLocationE", "clang::Sema::ActOnFinishLinkageSpecification(clang::Scope*, clang::Decl*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema25BuildExceptionDeclarationEPNS_5ScopeEPNS_14TypeSourceInfoEPNS_14IdentifierInfoENS_14SourceLocationE", "clang::Sema::BuildExceptionDeclaration(clang::Scope*, clang::TypeSourceInfo*, clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24ActOnExceptionDeclaratorEPNS_5ScopeERNS_10DeclaratorE", "clang::Sema::ActOnExceptionDeclarator(clang::Scope*, clang::Declarator&)"},
-    {"_ZN5clang4Sema28ActOnStaticAssertDeclarationENS_14SourceLocationEPNS_4ExprES3_", "clang::Sema::ActOnStaticAssertDeclaration(clang::SourceLocation, clang::Expr*, clang::Expr*)"},
-    {"_ZN5clang4Sema19CheckFriendTypeDeclENS_14SourceLocationEPNS_14TypeSourceInfoE", "clang::Sema::CheckFriendTypeDecl(clang::SourceLocation, clang::TypeSourceInfo*)"},
-    {"_ZN5clang4Sema23ActOnTemplatedFriendTagEPNS_5ScopeENS_14SourceLocationEjS3_RNS_12CXXScopeSpecEPNS_14IdentifierInfoES3_PNS_13AttributeListENS_11ASTMultiPtrIPNS_21TemplateParameterListEEE", "clang::Sema::ActOnTemplatedFriendTag(clang::Scope*, clang::SourceLocation, unsigned int, clang::SourceLocation, clang::CXXScopeSpec&, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeList*, clang::ASTMultiPtr<clang::TemplateParameterList*>)"},
-    {"_ZN5clang4Sema19ActOnFriendTypeDeclEPNS_5ScopeERKNS_8DeclSpecENS_11ASTMultiPtrIPNS_21TemplateParameterListEEE", "clang::Sema::ActOnFriendTypeDecl(clang::Scope*, clang::DeclSpec const&, clang::ASTMultiPtr<clang::TemplateParameterList*>)"},
-    {"_ZN5clang4Sema23ActOnFriendFunctionDeclEPNS_5ScopeERNS_10DeclaratorEbNS_11ASTMultiPtrIPNS_21TemplateParameterListEEE", "clang::Sema::ActOnFriendFunctionDecl(clang::Scope*, clang::Declarator&, bool, clang::ASTMultiPtr<clang::TemplateParameterList*>)"},
-    {"_ZN5clang4Sema43DiagnoseReturnInConstructorExceptionHandlerEPNS_10CXXTryStmtE", "clang::Sema::DiagnoseReturnInConstructorExceptionHandler(clang::CXXTryStmt*)"},
-    {"_Z21SearchForReturnInStmtRN5clang4SemaEPNS_4StmtE", "SearchForReturnInStmt(clang::Sema&, clang::Stmt*)"},
-    {"_ZN5clang4Sema33CheckOverridingFunctionReturnTypeEPKNS_13CXXMethodDeclES3_", "clang::Sema::CheckOverridingFunctionReturnType(clang::CXXMethodDecl const*, clang::CXXMethodDecl const*)"},
-    {"_ZN5clang4Sema15CheckPureMethodEPNS_13CXXMethodDeclENS_11SourceRangeE", "clang::Sema::CheckPureMethod(clang::CXXMethodDecl*, clang::SourceRange)"},
-    {"_ZN5clang4Sema28ActOnCXXEnterDeclInitializerEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnCXXEnterDeclInitializer(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema27ActOnCXXExitDeclInitializerEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnCXXExitDeclInitializer(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema28ActOnCXXConditionDeclarationEPNS_5ScopeERNS_10DeclaratorE", "clang::Sema::ActOnCXXConditionDeclaration(clang::Scope*, clang::Declarator&)"},
-    {"_ZN5clang4Sema28MarkVirtualMembersReferencedENS_14SourceLocationEPKNS_13CXXRecordDeclE", "clang::Sema::MarkVirtualMembersReferenced(clang::SourceLocation, clang::CXXRecordDecl const*)"},
-    {"_ZN5clang4Sema17DefineUsedVTablesEv", "clang::Sema::DefineUsedVTables()"},
-    {"_ZN5clang4Sema19SetIvarInitializersEPNS_22ObjCImplementationDeclE", "clang::Sema::SetIvarInitializers(clang::ObjCImplementationDecl*)"},
-    {"_ZN12_GLOBAL__N_127CheckDefaultArgumentVisitor9VisitExprEPN5clang4ExprE", "(anonymous namespace)::CheckDefaultArgumentVisitor::VisitExpr(clang::Expr*)"},
-    {"_Z38CheckOperatorNewDeleteDeclarationScopeRN5clang4SemaEPKNS_12FunctionDeclE", "CheckOperatorNewDeleteDeclarationScope(clang::Sema&, clang::FunctionDecl const*)"},
-    {"_Z27CheckOperatorNewDeleteTypesRN5clang4SemaEPKNS_12FunctionDeclENS_7CanQualINS_4TypeEEES7_jj", "CheckOperatorNewDeleteTypes(clang::Sema&, clang::FunctionDecl const*, clang::CanQual<clang::Type>, clang::CanQual<clang::Type>, unsigned int, unsigned int)"},
-    {"_ZZN5clang4Sema23CheckUsingDeclQualifierENS_14SourceLocationERKNS_12CXXScopeSpecES1_EN8UserData14doesNotContainEPKNS_13CXXRecordDeclEPv", "clang::Sema::CheckUsingDeclQualifier(clang::SourceLocation, clang::CXXScopeSpec const&, clang::SourceLocation)::UserData::doesNotContain(clang::CXXRecordDecl const*, void*)"},
-    {"_ZZN5clang4Sema23CheckUsingDeclQualifierENS_14SourceLocationERKNS_12CXXScopeSpecES1_EN8UserData7collectEPKNS_13CXXRecordDeclEPv", "clang::Sema::CheckUsingDeclQualifier(clang::SourceLocation, clang::CXXScopeSpec const&, clang::SourceLocation)::UserData::collect(clang::CXXRecordDecl const*, void*)"},
-    {"_ZN12_GLOBAL__N_118CheckAbstractUsage5VisitEN5clang7TypeLocENS1_4Sema17AbstractDiagSelIDE", "(anonymous namespace)::CheckAbstractUsage::Visit(clang::TypeLoc, clang::Sema::AbstractDiagSelID)"},
-    {"_ZN12_GLOBAL__N_118CheckAbstractUsage5CheckEN5clang7TypeLocENS1_4Sema17AbstractDiagSelIDE", "(anonymous namespace)::CheckAbstractUsage::Check(clang::TypeLoc, clang::Sema::AbstractDiagSelID)"},
-    {"_ZN5clang14AccessSpecDecl6CreateERNS_10ASTContextENS_15AccessSpecifierEPNS_11DeclContextENS_14SourceLocationES6_", "clang::AccessSpecDecl::Create(clang::ASTContext&, clang::AccessSpecifier, clang::DeclContext*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeESt4pairINS1_7CanQualIS2_EEPNS1_18CXXConstructorDeclEENS_12DenseMapInfoIS4_EENSB_ISA_EEE6insertERKS5_IS4_SA_E", "llvm::DenseMap<clang::Type const*, std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*>, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*> > >::insert(std::pair<clang::Type const*, std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*> > const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang13CXXRecordDeclEbNS_12DenseMapInfoIS3_EENS4_IbEEE6insertERKSt4pairIS3_bE", "llvm::DenseMap<clang::CXXRecordDecl*, bool, llvm::DenseMapInfo<clang::CXXRecordDecl*>, llvm::DenseMapInfo<bool> >::insert(std::pair<clang::CXXRecordDecl*, bool> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeESt4pairINS1_7CanQualIS2_EEPNS1_18CXXConstructorDeclEENS_12DenseMapInfoIS4_EENSB_ISA_EEE16InsertIntoBucketERKS4_RKSA_PS5_IS4_SA_E", "llvm::DenseMap<clang::Type const*, std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*>, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*> > >::InsertIntoBucket(clang::Type const* const&, std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*> const&, std::pair<clang::Type const*, std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeESt4pairINS1_7CanQualIS2_EEPNS1_18CXXConstructorDeclEENS_12DenseMapInfoIS4_EENSB_ISA_EEE4growEj", "llvm::DenseMap<clang::Type const*, std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*>, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<std::pair<clang::CanQual<clang::Type>, clang::CXXConstructorDecl*> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPvPN5clang18CXXCtorInitializerENS_12DenseMapInfoIS1_EENS5_IS4_EEE16InsertIntoBucketERKS1_RKS4_PSt4pairIS1_S4_E", "llvm::DenseMap<void*, clang::CXXCtorInitializer*, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<clang::CXXCtorInitializer*> >::InsertIntoBucket(void* const&, clang::CXXCtorInitializer* const&, std::pair<void*, clang::CXXCtorInitializer*>*)"},
-    {"_ZN4llvm8DenseMapIPvPN5clang18CXXCtorInitializerENS_12DenseMapInfoIS1_EENS5_IS4_EEE4growEj", "llvm::DenseMap<void*, clang::CXXCtorInitializer*, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<clang::CXXCtorInitializer*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKvPN5clang18CXXCtorInitializerENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<void const*, clang::CXXCtorInitializer*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<clang::CXXCtorInitializer*> >::InsertIntoBucket(void const* const&, clang::CXXCtorInitializer* const&, std::pair<void const*, clang::CXXCtorInitializer*>*)"},
-    {"_ZN4llvm8DenseMapIPKvPN5clang18CXXCtorInitializerENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<void const*, clang::CXXCtorInitializer*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<clang::CXXCtorInitializer*> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_PNS0_16CXXBaseSpecifierEESt10_Select1stIS6_ENS0_16QualTypeOrderingESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, clang::CXXBaseSpecifier*>, std::_Select1st<std::pair<clang::QualType const, clang::CXXBaseSpecifier*> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, clang::CXXBaseSpecifier*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::QualType const, clang::CXXBaseSpecifier*> >, std::pair<clang::QualType const, clang::CXXBaseSpecifier*> const&)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_PNS0_16CXXBaseSpecifierEESt10_Select1stIS6_ENS0_16QualTypeOrderingESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, clang::CXXBaseSpecifier*>, std::_Select1st<std::pair<clang::QualType const, clang::CXXBaseSpecifier*> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, clang::CXXBaseSpecifier*> > >::_M_insert_unique(std::pair<clang::QualType const, clang::CXXBaseSpecifier*> const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang11ParmVarDeclENS1_14SourceLocationENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<clang::ParmVarDecl*, clang::SourceLocation, llvm::DenseMapInfo<clang::ParmVarDecl*>, llvm::DenseMapInfo<clang::SourceLocation> >::InsertIntoBucket(clang::ParmVarDecl* const&, clang::SourceLocation const&, std::pair<clang::ParmVarDecl*, clang::SourceLocation>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang11ParmVarDeclENS1_14SourceLocationENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<clang::ParmVarDecl*, clang::SourceLocation, llvm::DenseMapInfo<clang::ParmVarDecl*>, llvm::DenseMapInfo<clang::SourceLocation> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEcNS_12DenseMapInfoIS4_EENS5_IcEEE6insertERKSt4pairIS4_cE", "llvm::DenseMap<clang::CXXRecordDecl const*, char, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<char> >::insert(std::pair<clang::CXXRecordDecl const*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEcNS_12DenseMapInfoIS4_EENS5_IcEEE16InsertIntoBucketERKS4_RKcPSt4pairIS4_cE", "llvm::DenseMap<clang::CXXRecordDecl const*, char, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, char const&, std::pair<clang::CXXRecordDecl const*, char>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEcNS_12DenseMapInfoIS4_EENS5_IcEEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, char, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN5clang15UsingShadowDeclC2EPNS_11DeclContextENS_14SourceLocationEPNS_9UsingDeclEPNS_9NamedDeclE", "clang::UsingShadowDecl::UsingShadowDecl(clang::DeclContext*, clang::SourceLocation, clang::UsingDecl*, clang::NamedDecl*)"},
-    {"_ZN5clang15UsingShadowDeclD1Ev", "clang::UsingShadowDecl::~UsingShadowDecl()"},
-    {"_ZN5clang15UsingShadowDeclD0Ev", "clang::UsingShadowDecl::~UsingShadowDecl()"},
-    {"_ZN4llvm8DenseMapIPN5clang10RecordDeclESt4pairIPNS1_9NamedDeclEPNS1_18CXXCtorInitializerEENS_12DenseMapInfoIS3_EENSA_IS9_EEE16InsertIntoBucketERKS3_RKS9_PS4_IS3_S9_E", "llvm::DenseMap<clang::RecordDecl*, std::pair<clang::NamedDecl*, clang::CXXCtorInitializer*>, llvm::DenseMapInfo<clang::RecordDecl*>, llvm::DenseMapInfo<std::pair<clang::NamedDecl*, clang::CXXCtorInitializer*> > >::InsertIntoBucket(clang::RecordDecl* const&, std::pair<clang::NamedDecl*, clang::CXXCtorInitializer*> const&, std::pair<clang::RecordDecl*, std::pair<clang::NamedDecl*, clang::CXXCtorInitializer*> >*)"},
-    {"_ZN4llvm8DenseMapIPN5clang10RecordDeclESt4pairIPNS1_9NamedDeclEPNS1_18CXXCtorInitializerEENS_12DenseMapInfoIS3_EENSA_IS9_EEE4growEj", "llvm::DenseMap<clang::RecordDecl*, std::pair<clang::NamedDecl*, clang::CXXCtorInitializer*>, llvm::DenseMapInfo<clang::RecordDecl*>, llvm::DenseMapInfo<std::pair<clang::NamedDecl*, clang::CXXCtorInitializer*> > >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang17InitializedEntityELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::InitializedEntity, false>::grow(unsigned long)"},
-    {"_ZN5clang14AccessSpecDeclD1Ev", "clang::AccessSpecDecl::~AccessSpecDecl()"},
-    {"_ZN5clang14AccessSpecDeclD0Ev", "clang::AccessSpecDecl::~AccessSpecDecl()"},
-    {"_ZNK5clang14AccessSpecDecl14getSourceRangeEv", "clang::AccessSpecDecl::getSourceRange() const"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_PNS0_16CXXBaseSpecifierEESt10_Select1stIS6_ENS0_16QualTypeOrderingESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, clang::CXXBaseSpecifier*>, std::_Select1st<std::pair<clang::QualType const, clang::CXXBaseSpecifier*> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, clang::CXXBaseSpecifier*> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::QualType const, clang::CXXBaseSpecifier*> >*)"},
-    {"_ZN5clang4Sema25ActOnStartOfObjCMethodDefEPNS_5ScopeEPNS_4DeclE", "clang::Sema::ActOnStartOfObjCMethodDef(clang::Scope*, clang::Decl*)"},
-    {"_ZN5clang4Sema24ActOnStartClassInterfaceENS_14SourceLocationEPNS_14IdentifierInfoES1_S3_S1_PKPNS_4DeclEjPKS1_S1_PNS_13AttributeListE", "clang::Sema::ActOnStartClassInterface(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::Decl* const*, unsigned int, clang::SourceLocation const*, clang::SourceLocation, clang::AttributeList*)"},
-    {"_ZN5clang4Sema18CheckObjCDeclScopeEPNS_4DeclE", "clang::Sema::CheckObjCDeclScope(clang::Decl*)"},
-    {"_ZN5clang4Sema22ActOnCompatiblityAliasENS_14SourceLocationEPNS_14IdentifierInfoES1_S3_S1_", "clang::Sema::ActOnCompatiblityAlias(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema52CheckForwardProtocolDeclarationForCircularDependencyEPNS_14IdentifierInfoERNS_14SourceLocationES3_RKNS_8ObjCListINS_16ObjCProtocolDeclEEE", "clang::Sema::CheckForwardProtocolDeclarationForCircularDependency(clang::IdentifierInfo*, clang::SourceLocation&, clang::SourceLocation, clang::ObjCList<clang::ObjCProtocolDecl> const&)"},
-    {"_ZN5clang4Sema27ActOnStartProtocolInterfaceENS_14SourceLocationEPNS_14IdentifierInfoES1_PKPNS_4DeclEjPKS1_S1_PNS_13AttributeListE", "clang::Sema::ActOnStartProtocolInterface(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::Decl* const*, unsigned int, clang::SourceLocation const*, clang::SourceLocation, clang::AttributeList*)"},
-    {"_ZN5clang4Sema23FindProtocolDeclarationEbPKSt4pairIPNS_14IdentifierInfoENS_14SourceLocationEEjRN4llvm15SmallVectorImplIPNS_4DeclEEE", "clang::Sema::FindProtocolDeclaration(bool, std::pair<clang::IdentifierInfo*, clang::SourceLocation> const*, unsigned int, llvm::SmallVectorImpl<clang::Decl*>&)"},
-    {"_ZN5clang4Sema32DiagnoseClassExtensionDupMethodsEPNS_16ObjCCategoryDeclEPNS_17ObjCInterfaceDeclE", "clang::Sema::DiagnoseClassExtensionDupMethods(clang::ObjCCategoryDecl*, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang4Sema26MatchTwoMethodDeclarationsEPKNS_14ObjCMethodDeclES3_bb", "clang::Sema::MatchTwoMethodDeclarations(clang::ObjCMethodDecl const*, clang::ObjCMethodDecl const*, bool, bool)"},
-    {"_ZN5clang4Sema31ActOnForwardProtocolDeclarationENS_14SourceLocationEPKSt4pairIPNS_14IdentifierInfoES1_EjPNS_13AttributeListE", "clang::Sema::ActOnForwardProtocolDeclaration(clang::SourceLocation, std::pair<clang::IdentifierInfo*, clang::SourceLocation> const*, unsigned int, clang::AttributeList*)"},
-    {"_ZN5clang4Sema27ActOnStartCategoryInterfaceENS_14SourceLocationEPNS_14IdentifierInfoES1_S3_S1_PKPNS_4DeclEjPKS1_S1_", "clang::Sema::ActOnStartCategoryInterface(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::Decl* const*, unsigned int, clang::SourceLocation const*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema32ActOnStartCategoryImplementationENS_14SourceLocationEPNS_14IdentifierInfoES1_S3_S1_", "clang::Sema::ActOnStartCategoryImplementation(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema29ActOnStartClassImplementationENS_14SourceLocationEPNS_14IdentifierInfoES1_S3_S1_", "clang::Sema::ActOnStartClassImplementation(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24CheckImplementationIvarsEPNS_22ObjCImplementationDeclEPPNS_12ObjCIvarDeclEjNS_14SourceLocationE", "clang::Sema::CheckImplementationIvars(clang::ObjCImplementationDecl*, clang::ObjCIvarDecl**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang4Sema19WarnUndefinedMethodENS_14SourceLocationEPNS_14ObjCMethodDeclERbj", "clang::Sema::WarnUndefinedMethod(clang::SourceLocation, clang::ObjCMethodDecl*, bool&, unsigned int)"},
-    {"_ZN5clang4Sema27WarnConflictingTypedMethodsEPNS_14ObjCMethodDeclES2_", "clang::Sema::WarnConflictingTypedMethods(clang::ObjCMethodDecl*, clang::ObjCMethodDecl*)"},
-    {"_ZN5clang4Sema23CheckProtocolMethodDefsENS_14SourceLocationEPNS_16ObjCProtocolDeclERbRKN4llvm8DenseSetINS_8SelectorENS5_12DenseMapInfoIS7_EEEESC_PNS_17ObjCContainerDeclE", "clang::Sema::CheckProtocolMethodDefs(clang::SourceLocation, clang::ObjCProtocolDecl*, bool&, llvm::DenseSet<clang::Selector, llvm::DenseMapInfo<clang::Selector> > const&, llvm::DenseSet<clang::Selector, llvm::DenseMapInfo<clang::Selector> > const&, clang::ObjCContainerDecl*)"},
-    {"_ZN5clang4Sema26MatchAllMethodDeclarationsERKN4llvm8DenseSetINS_8SelectorENS1_12DenseMapInfoIS3_EEEES8_RS6_S9_PNS_12ObjCImplDeclEPNS_17ObjCContainerDeclERbb", "clang::Sema::MatchAllMethodDeclarations(llvm::DenseSet<clang::Selector, llvm::DenseMapInfo<clang::Selector> > const&, llvm::DenseSet<clang::Selector, llvm::DenseMapInfo<clang::Selector> > const&, llvm::DenseSet<clang::Selector, llvm::DenseMapInfo<clang::Selector> >&, llvm::DenseSet<clang::Selector, llvm::DenseMapInfo<clang::Selector> >&, clang::ObjCImplDecl*, clang::ObjCContainerDecl*, bool&, bool)"},
-    {"_ZN5clang4Sema25ImplMethodsVsClassMethodsEPNS_5ScopeEPNS_12ObjCImplDeclEPNS_17ObjCContainerDeclEb", "clang::Sema::ImplMethodsVsClassMethods(clang::Scope*, clang::ObjCImplDecl*, clang::ObjCContainerDecl*, bool)"},
-    {"_ZN5clang4Sema28ActOnForwardClassDeclarationENS_14SourceLocationEPPNS_14IdentifierInfoEPS1_j", "clang::Sema::ActOnForwardClassDeclaration(clang::SourceLocation, clang::IdentifierInfo**, clang::SourceLocation*, unsigned int)"},
-    {"_ZN5clang4Sema14ReadMethodPoolENS_8SelectorE", "clang::Sema::ReadMethodPool(clang::Selector)"},
-    {"_ZN5clang4Sema21AddMethodToGlobalPoolEPNS_14ObjCMethodDeclEbb", "clang::Sema::AddMethodToGlobalPool(clang::ObjCMethodDecl*, bool, bool)"},
-    {"_ZN5clang4Sema24LookupMethodInGlobalPoolENS_8SelectorENS_11SourceRangeEbbb", "clang::Sema::LookupMethodInGlobalPool(clang::Selector, clang::SourceRange, bool, bool, bool)"},
-    {"_ZN5clang4Sema35LookupImplementedMethodInGlobalPoolENS_8SelectorE", "clang::Sema::LookupImplementedMethodInGlobalPool(clang::Selector)"},
-    {"_ZN5clang4Sema33CompareMethodParamsInBaseAndSuperEPNS_4DeclEPNS_14ObjCMethodDeclEb", "clang::Sema::CompareMethodParamsInBaseAndSuper(clang::Decl*, clang::ObjCMethodDecl*, bool)"},
-    {"_ZN5clang4Sema22DiagnoseDuplicateIvarsEPNS_17ObjCInterfaceDeclES2_", "clang::Sema::DiagnoseDuplicateIvars(clang::ObjCInterfaceDecl*, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang4Sema10ActOnAtEndEPNS_5ScopeENS_11SourceRangeEPNS_4DeclEPS5_jS6_jPNS_9OpaquePtrINS_12DeclGroupRefEEEj", "clang::Sema::ActOnAtEnd(clang::Scope*, clang::SourceRange, clang::Decl*, clang::Decl**, unsigned int, clang::Decl**, unsigned int, clang::OpaquePtr<clang::DeclGroupRef>*, unsigned int)"},
-    {"_ZN5clang4Sema22ActOnMethodDeclarationEPNS_5ScopeENS_14SourceLocationES3_NS_3tok9TokenKindEPNS_4DeclERNS_12ObjCDeclSpecENS_9OpaquePtrINS_8QualTypeEEENS_8SelectorEPNS0_11ObjCArgInfoEPNS_15DeclaratorChunk9ParamInfoEjPNS_13AttributeListENS4_15ObjCKeywordKindEb", "clang::Sema::ActOnMethodDeclaration(clang::Scope*, clang::SourceLocation, clang::SourceLocation, clang::tok::TokenKind, clang::Decl*, clang::ObjCDeclSpec&, clang::OpaquePtr<clang::QualType>, clang::Selector, clang::Sema::ObjCArgInfo*, clang::DeclaratorChunk::ParamInfo*, unsigned int, clang::AttributeList*, clang::tok::ObjCKeywordKind, bool)"},
-    {"_ZN5clang4Sema9ActOnDefsEPNS_5ScopeEPNS_4DeclENS_14SourceLocationEPNS_14IdentifierInfoERN4llvm15SmallVectorImplIS4_EE", "clang::Sema::ActOnDefs(clang::Scope*, clang::Decl*, clang::SourceLocation, clang::IdentifierInfo*, llvm::SmallVectorImpl<clang::Decl*>&)"},
-    {"_ZN5clang4Sema22BuildObjCExceptionDeclEPNS_14TypeSourceInfoENS_8QualTypeEPNS_14IdentifierInfoENS_14SourceLocationEb", "clang::Sema::BuildObjCExceptionDecl(clang::TypeSourceInfo*, clang::QualType, clang::IdentifierInfo*, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema22ActOnObjCExceptionDeclEPNS_5ScopeERNS_10DeclaratorE", "clang::Sema::ActOnObjCExceptionDecl(clang::Scope*, clang::Declarator&)"},
-    {"_ZN5clang4Sema33CollectIvarsToConstructOrDestructEPNS_17ObjCInterfaceDeclERN4llvm15SmallVectorImplIPNS_12ObjCIvarDeclEEE", "clang::Sema::CollectIvarsToConstructOrDestruct(clang::ObjCInterfaceDecl*, llvm::SmallVectorImpl<clang::ObjCIvarDecl*>&)"},
-    {"_ZN5clang22ObjCImplementationDecl19setIvarInitializersERNS_10ASTContextEPPNS_18CXXCtorInitializerEj", "clang::ObjCImplementationDecl::setIvarInitializers(clang::ASTContext&, clang::CXXCtorInitializer**, unsigned int)"},
-    {"_ZN5clang4Sema35DiagnoseUseOfUnimplementedSelectorsEv", "clang::Sema::DiagnoseUseOfUnimplementedSelectors()"},
-    {"_Z23isObjCTypeSubstitutableRN5clang10ASTContextEPKNS_21ObjCObjectPointerTypeES4_b", "isObjCTypeSubstitutable(clang::ASTContext&, clang::ObjCObjectPointerType const*, clang::ObjCObjectPointerType const*, bool)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorESt4pairINS1_14ObjCMethodListES4_ENS_12DenseMapInfoIS2_EENS6_IS5_EEE6insertERKS3_IS2_S5_E", "llvm::DenseMap<clang::Selector, std::pair<clang::ObjCMethodList, clang::ObjCMethodList>, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<std::pair<clang::ObjCMethodList, clang::ObjCMethodList> > >::insert(std::pair<clang::Selector, std::pair<clang::ObjCMethodList, clang::ObjCMethodList> > const&)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorESt4pairINS1_14ObjCMethodListES4_ENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PS3_IS2_S5_E", "llvm::DenseMap<clang::Selector, std::pair<clang::ObjCMethodList, clang::ObjCMethodList>, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<std::pair<clang::ObjCMethodList, clang::ObjCMethodList> > >::InsertIntoBucket(clang::Selector const&, std::pair<clang::ObjCMethodList, clang::ObjCMethodList> const&, std::pair<clang::Selector, std::pair<clang::ObjCMethodList, clang::ObjCMethodList> >*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorESt4pairINS1_14ObjCMethodListES4_ENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Selector, std::pair<clang::ObjCMethodList, clang::ObjCMethodList>, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<std::pair<clang::ObjCMethodList, clang::ObjCMethodList> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEcNS_12DenseMapInfoIS2_EENS3_IcEEE6insertERKSt4pairIS2_cE", "llvm::DenseMap<clang::Selector, char, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<char> >::insert(std::pair<clang::Selector, char> const&)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEcNS_12DenseMapInfoIS2_EENS3_IcEEE16InsertIntoBucketERKS2_RKcPSt4pairIS2_cE", "llvm::DenseMap<clang::Selector, char, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<char> >::InsertIntoBucket(clang::Selector const&, char const&, std::pair<clang::Selector, char>*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEcNS_12DenseMapInfoIS2_EENS3_IcEEE4growEj", "llvm::DenseMap<clang::Selector, char, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEPKNS1_14ObjCMethodDeclENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<clang::Selector, clang::ObjCMethodDecl const*, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<clang::ObjCMethodDecl const*> >::InsertIntoBucket(clang::Selector const&, clang::ObjCMethodDecl const* const&, std::pair<clang::Selector, clang::ObjCMethodDecl const*>*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEPKNS1_14ObjCMethodDeclENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Selector, clang::ObjCMethodDecl const*, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<clang::ObjCMethodDecl const*> >::grow(unsigned int)"},
-    {"_ZN5clang4Sema27CheckSpecifiedExceptionTypeENS_8QualTypeERKNS_11SourceRangeE", "clang::Sema::CheckSpecifiedExceptionType(clang::QualType, clang::SourceRange const&)"},
-    {"_ZN5clang4Sema25CheckDistantExceptionSpecENS_8QualTypeE", "clang::Sema::CheckDistantExceptionSpec(clang::QualType)"},
-    {"_ZN5clang4Sema28CheckEquivalentExceptionSpecEPNS_12FunctionDeclES2_", "clang::Sema::CheckEquivalentExceptionSpec(clang::FunctionDecl*, clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema28CheckEquivalentExceptionSpecERKNS_17PartialDiagnosticES3_PKNS_17FunctionProtoTypeENS_14SourceLocationES6_S7_PbS8_", "clang::Sema::CheckEquivalentExceptionSpec(clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::FunctionProtoType const*, clang::SourceLocation, clang::FunctionProtoType const*, clang::SourceLocation, bool*, bool*)"},
-    {"_ZN5clang4Sema28CheckEquivalentExceptionSpecEPKNS_17FunctionProtoTypeENS_14SourceLocationES3_S4_", "clang::Sema::CheckEquivalentExceptionSpec(clang::FunctionProtoType const*, clang::SourceLocation, clang::FunctionProtoType const*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24CheckExceptionSpecSubsetERKNS_17PartialDiagnosticES3_PKNS_17FunctionProtoTypeENS_14SourceLocationES6_S7_", "clang::Sema::CheckExceptionSpecSubset(clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::FunctionProtoType const*, clang::SourceLocation, clang::FunctionProtoType const*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema23CheckParamExceptionSpecERKNS_17PartialDiagnosticEPKNS_17FunctionProtoTypeENS_14SourceLocationES6_S7_", "clang::Sema::CheckParamExceptionSpec(clang::PartialDiagnostic const&, clang::FunctionProtoType const*, clang::SourceLocation, clang::FunctionProtoType const*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema31CheckExceptionSpecCompatibilityEPNS_4ExprENS_8QualTypeE", "clang::Sema::CheckExceptionSpecCompatibility(clang::Expr*, clang::QualType)"},
-    {"_ZN5clang21GetUnderlyingFunctionENS_8QualTypeE", "clang::GetUnderlyingFunction(clang::QualType)"},
-    {"_ZN5clang4Sema36CheckOverridingFunctionExceptionSpecEPKNS_13CXXMethodDeclES3_", "clang::Sema::CheckOverridingFunctionExceptionSpec(clang::CXXMethodDecl const*, clang::CXXMethodDecl const*)"},
-    {"_ZN5clang4Sema17DiagnoseUseOfDeclEPNS_9NamedDeclENS_14SourceLocationEb", "clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema21DiagnoseSentinelCallsEPNS_9NamedDeclENS_14SourceLocationEPPNS_4ExprEj", "clang::Sema::DiagnoseSentinelCalls(clang::NamedDecl*, clang::SourceLocation, clang::Expr**, unsigned int)"},
-    {"_ZNK5clang4Sema12getExprRangeEPNS_4ExprE", "clang::Sema::getExprRange(clang::Expr*) const"},
-    {"_ZN5clang4Sema30DefaultFunctionArrayConversionERPNS_4ExprE", "clang::Sema::DefaultFunctionArrayConversion(clang::Expr*&)"},
-    {"_ZN5clang4Sema23DefaultLvalueConversionERPNS_4ExprE", "clang::Sema::DefaultLvalueConversion(clang::Expr*&)"},
-    {"_ZN5clang4Sema24ConvertPropertyForRValueERPNS_4ExprE", "clang::Sema::ConvertPropertyForRValue(clang::Expr*&)"},
-    {"_ZN5clang4Sema36DefaultFunctionArrayLvalueConversionERPNS_4ExprE", "clang::Sema::DefaultFunctionArrayLvalueConversion(clang::Expr*&)"},
-    {"_ZN5clang4Sema21UsualUnaryConversionsERPNS_4ExprE", "clang::Sema::UsualUnaryConversions(clang::Expr*&)"},
-    {"_ZN5clang4Sema24DefaultArgumentPromotionERPNS_4ExprE", "clang::Sema::DefaultArgumentPromotion(clang::Expr*&)"},
-    {"_ZN5clang4Sema32DefaultVariadicArgumentPromotionERPNS_4ExprENS0_16VariadicCallTypeEPNS_12FunctionDeclE", "clang::Sema::DefaultVariadicArgumentPromotion(clang::Expr*&, clang::Sema::VariadicCallType, clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema19DiagRuntimeBehaviorENS_14SourceLocationERKNS_17PartialDiagnosticE", "clang::Sema::DiagRuntimeBehavior(clang::SourceLocation, clang::PartialDiagnostic const&)"},
-    {"_ZN5clang4Sema26UsualArithmeticConversionsERPNS_4ExprES3_b", "clang::Sema::UsualArithmeticConversions(clang::Expr*&, clang::Expr*&, bool)"},
-    {"_ZN5clang4Sema18ActOnStringLiteralEPKNS_5TokenEj", "clang::Sema::ActOnStringLiteral(clang::Token const*, unsigned int)"},
-    {"_ZN5clang4Sema16BuildDeclRefExprEPNS_9ValueDeclENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEPKNS_12CXXScopeSpecE", "clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::CXXScopeSpec const*)"},
-    {"_ZN5clang4Sema16BuildDeclRefExprEPNS_9ValueDeclENS_8QualTypeENS_13ExprValueKindERKNS_19DeclarationNameInfoEPKNS_12CXXScopeSpecE", "clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*)"},
-    {"_ZN5clang4Sema25MarkDeclarationReferencedENS_14SourceLocationEPNS_4DeclE", "clang::Sema::MarkDeclarationReferenced(clang::SourceLocation, clang::Decl*)"},
-    {"_ZN5clang4Sema40BuildAnonymousStructUnionMemberReferenceERKNS_12CXXScopeSpecENS_14SourceLocationEPNS_17IndirectFieldDeclEPNS_4ExprES4_", "clang::Sema::BuildAnonymousStructUnionMemberReference(clang::CXXScopeSpec const&, clang::SourceLocation, clang::IndirectFieldDecl*, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24BuildDeclarationNameExprERKNS_12CXXScopeSpecERKNS_19DeclarationNameInfoEPNS_9NamedDeclE", "clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*)"},
-    {"_Z23BuildFieldReferenceExprRN5clang4SemaEPNS_4ExprEbRKNS_12CXXScopeSpecEPNS_9FieldDeclENS_14DeclAccessPairERKNS_19DeclarationNameInfoE", "BuildFieldReferenceExpr(clang::Sema&, clang::Expr*, bool, clang::CXXScopeSpec const&, clang::FieldDecl*, clang::DeclAccessPair, clang::DeclarationNameInfo const&)"},
-    {"_ZN5clang4Sema19DiagnoseEmptyLookupEPNS_5ScopeERNS_12CXXScopeSpecERNS_12LookupResultENS0_18CorrectTypoContextE", "clang::Sema::DiagnoseEmptyLookup(clang::Scope*, clang::CXXScopeSpec&, clang::LookupResult&, clang::Sema::CorrectTypoContext)"},
-    {"_ZN5clang4Sema28canSynthesizeProvisionalIvarEPNS_14IdentifierInfoE", "clang::Sema::canSynthesizeProvisionalIvar(clang::IdentifierInfo*)"},
-    {"_ZN5clang4Sema28canSynthesizeProvisionalIvarEPNS_16ObjCPropertyDeclE", "clang::Sema::canSynthesizeProvisionalIvar(clang::ObjCPropertyDecl*)"},
-    {"_ZN5clang4Sema17ActOnIdExpressionEPNS_5ScopeERNS_12CXXScopeSpecERNS_13UnqualifiedIdEbb", "clang::Sema::ActOnIdExpression(clang::Scope*, clang::CXXScopeSpec&, clang::UnqualifiedId&, bool, bool)"},
-    {"_Z22DecomposeUnqualifiedIdRN5clang4SemaERKNS_13UnqualifiedIdERNS_24TemplateArgumentListInfoERNS_19DeclarationNameInfoERPKS5_", "DecomposeUnqualifiedId(clang::Sema&, clang::UnqualifiedId const&, clang::TemplateArgumentListInfo&, clang::DeclarationNameInfo&, clang::TemplateArgumentListInfo const*&)"},
-    {"_ZN5clang4Sema18LookupInObjCMethodERNS_12LookupResultEPNS_5ScopeEPNS_14IdentifierInfoEb", "clang::Sema::LookupInObjCMethod(clang::LookupResult&, clang::Scope*, clang::IdentifierInfo*, bool)"},
-    {"_ZN5clang4Sema26UseArgumentDependentLookupERKNS_12CXXScopeSpecERKNS_12LookupResultEb", "clang::Sema::UseArgumentDependentLookup(clang::CXXScopeSpec const&, clang::LookupResult const&, bool)"},
-    {"_ZN5clang4Sema31BuildPossibleImplicitMemberExprERKNS_12CXXScopeSpecERNS_12LookupResultEPKNS_24TemplateArgumentListInfoE", "clang::Sema::BuildPossibleImplicitMemberExpr(clang::CXXScopeSpec const&, clang::LookupResult&, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang4Sema24BuildDeclarationNameExprERKNS_12CXXScopeSpecERNS_12LookupResultEb", "clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::LookupResult&, bool)"},
-    {"_ZN5clang4Sema23BuildImplicitMemberExprERKNS_12CXXScopeSpecERNS_12LookupResultEPKNS_24TemplateArgumentListInfoEb", "clang::Sema::BuildImplicitMemberExpr(clang::CXXScopeSpec const&, clang::LookupResult&, clang::TemplateArgumentListInfo const*, bool)"},
-    {"_Z25DiagnoseInstanceReferenceRN5clang4SemaERKNS_12CXXScopeSpecEPNS_9NamedDeclERKNS_19DeclarationNameInfoE", "DiagnoseInstanceReference(clang::Sema&, clang::CXXScopeSpec const&, clang::NamedDecl*, clang::DeclarationNameInfo const&)"},
-    {"_ZN5clang4Sema33BuildQualifiedDeclarationNameExprERNS_12CXXScopeSpecERKNS_19DeclarationNameInfoE", "clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&)"},
-    {"_ZN5clang4Sema29PerformObjectMemberConversionERPNS_4ExprEPNS_19NestedNameSpecifierEPNS_9NamedDeclES7_", "clang::Sema::PerformObjectMemberConversion(clang::Expr*&, clang::NestedNameSpecifier*, clang::NamedDecl*, clang::NamedDecl*)"},
-    {"_ZN5clang4Sema24BuildMemberReferenceExprEPNS_4ExprENS_8QualTypeENS_14SourceLocationEbRKNS_12CXXScopeSpecEPNS_9NamedDeclERNS_12LookupResultEPKNS_24TemplateArgumentListInfoEb", "clang::Sema::BuildMemberReferenceExpr(clang::Expr*, clang::QualType, clang::SourceLocation, bool, clang::CXXScopeSpec const&, clang::NamedDecl*, clang::LookupResult&, clang::TemplateArgumentListInfo const*, bool)"},
-    {"_Z15CheckDeclInExprRN5clang4SemaENS_14SourceLocationEPNS_9NamedDeclE", "CheckDeclInExpr(clang::Sema&, clang::SourceLocation, clang::NamedDecl*)"},
-    {"_Z21BuildBlockDeclRefExprRN5clang4SemaEPNS_9ValueDeclERKNS_19DeclarationNameInfoEb", "BuildBlockDeclRefExpr(clang::Sema&, clang::ValueDecl*, clang::DeclarationNameInfo const&, bool)"},
-    {"_ZN5clang4Sema19ActOnPredefinedExprENS_14SourceLocationENS_3tok9TokenKindE", "clang::Sema::ActOnPredefinedExpr(clang::SourceLocation, clang::tok::TokenKind)"},
-    {"_ZN5clang4Sema22ActOnCharacterConstantERKNS_5TokenE", "clang::Sema::ActOnCharacterConstant(clang::Token const&)"},
-    {"_ZN5clang4Sema20ActOnNumericConstantERKNS_5TokenE", "clang::Sema::ActOnNumericConstant(clang::Token const&)"},
-    {"_ZN5clang4Sema14ActOnParenExprENS_14SourceLocationES1_PNS_4ExprE", "clang::Sema::ActOnParenExpr(clang::SourceLocation, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema25CheckSizeOfAlignOfOperandENS_8QualTypeENS_14SourceLocationENS_11SourceRangeEb", "clang::Sema::CheckSizeOfAlignOfOperand(clang::QualType, clang::SourceLocation, clang::SourceRange, bool)"},
-    {"_ZN5clang4Sema23CreateSizeOfAlignOfExprEPNS_14TypeSourceInfoENS_14SourceLocationEbNS_11SourceRangeE", "clang::Sema::CreateSizeOfAlignOfExpr(clang::TypeSourceInfo*, clang::SourceLocation, bool, clang::SourceRange)"},
-    {"_ZN5clang4Sema23CreateSizeOfAlignOfExprEPNS_4ExprENS_14SourceLocationEbNS_11SourceRangeE", "clang::Sema::CreateSizeOfAlignOfExpr(clang::Expr*, clang::SourceLocation, bool, clang::SourceRange)"},
-    {"_ZN5clang4Sema20CheckPlaceholderExprEPNS_4ExprENS_14SourceLocationE", "clang::Sema::CheckPlaceholderExpr(clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema22ActOnSizeOfAlignOfExprENS_14SourceLocationEbbPvRKNS_11SourceRangeE", "clang::Sema::ActOnSizeOfAlignOfExpr(clang::SourceLocation, bool, bool, void*, clang::SourceRange const&)"},
-    {"_ZN5clang4Sema19ActOnPostfixUnaryOpEPNS_5ScopeENS_14SourceLocationENS_3tok9TokenKindEPNS_4ExprE", "clang::Sema::ActOnPostfixUnaryOp(clang::Scope*, clang::SourceLocation, clang::tok::TokenKind, clang::Expr*)"},
-    {"_ZN5clang4Sema12BuildUnaryOpEPNS_5ScopeENS_14SourceLocationENS_17UnaryOperatorKindEPNS_4ExprE", "clang::Sema::BuildUnaryOp(clang::Scope*, clang::SourceLocation, clang::UnaryOperatorKind, clang::Expr*)"},
-    {"_ZN5clang4Sema23ActOnArraySubscriptExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationES4_S5_", "clang::Sema::ActOnArraySubscriptExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema36MaybeConvertParenListExprToParenExprEPNS_5ScopeEPNS_4ExprE", "clang::Sema::MaybeConvertParenListExprToParenExpr(clang::Scope*, clang::Expr*)"},
-    {"_ZN5clang4Sema31CreateBuiltinArraySubscriptExprEPNS_4ExprENS_14SourceLocationES2_S3_", "clang::Sema::CreateBuiltinArraySubscriptExpr(clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24ActOnDependentMemberExprEPNS_4ExprENS_8QualTypeEbNS_14SourceLocationERKNS_12CXXScopeSpecEPNS_9NamedDeclERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::Sema::ActOnDependentMemberExpr(clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::CXXScopeSpec const&, clang::NamedDecl*, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang4Sema29CheckQualifiedMemberReferenceEPNS_4ExprENS_8QualTypeERKNS_12CXXScopeSpecERKNS_12LookupResultE", "clang::Sema::CheckQualifiedMemberReference(clang::Expr*, clang::QualType, clang::CXXScopeSpec const&, clang::LookupResult const&)"},
-    {"_Z24IsProvablyNotDerivedFromRN5clang4SemaEPNS_13CXXRecordDeclERKN4llvm11SmallPtrSetIS3_Lj4EEE", "IsProvablyNotDerivedFrom(clang::Sema&, clang::CXXRecordDecl*, llvm::SmallPtrSet<clang::CXXRecordDecl*, 4u> const&)"},
-    {"_ZN5clang4Sema24BuildMemberReferenceExprEPNS_4ExprENS_8QualTypeENS_14SourceLocationEbRNS_12CXXScopeSpecEPNS_9NamedDeclERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::Sema::BuildMemberReferenceExpr(clang::Expr*, clang::QualType, clang::SourceLocation, bool, clang::CXXScopeSpec&, clang::NamedDecl*, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*)"},
-    {"_Z24LookupMemberExprInRecordRN5clang4SemaERNS_12LookupResultENS_11SourceRangeEPKNS_10RecordTypeENS_14SourceLocationERNS_12CXXScopeSpecEb", "LookupMemberExprInRecord(clang::Sema&, clang::LookupResult&, clang::SourceRange, clang::RecordType const*, clang::SourceLocation, clang::CXXScopeSpec&, bool)"},
-    {"_ZN5clang4Sema16LookupMemberExprERNS_12LookupResultERPNS_4ExprERbNS_14SourceLocationERNS_12CXXScopeSpecEPNS_4DeclEb", "clang::Sema::LookupMemberExpr(clang::LookupResult&, clang::Expr*&, bool&, clang::SourceLocation, clang::CXXScopeSpec&, clang::Decl*, bool)"},
-    {"_Z34ShouldTryAgainWithRedefinitionTypeRN5clang4SemaERPNS_4ExprE", "ShouldTryAgainWithRedefinitionType(clang::Sema&, clang::Expr*&)"},
-    {"_Z24FindGetterSetterNameDeclPKN5clang21ObjCObjectPointerTypeEPNS_14IdentifierInfoERKNS_8SelectorERNS_10ASTContextE", "FindGetterSetterNameDecl(clang::ObjCObjectPointerType const*, clang::IdentifierInfo*, clang::Selector const&, clang::ASTContext&)"},
-    {"_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationENS_11ASTMultiPtrIS4_EES5_S4_", "clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema21ActOnMemberAccessExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationENS_3tok9TokenKindERNS_12CXXScopeSpecERNS_13UnqualifiedIdEPNS_4DeclEb", "clang::Sema::ActOnMemberAccessExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, clang::tok::TokenKind, clang::CXXScopeSpec&, clang::UnqualifiedId&, clang::Decl*, bool)"},
-    {"_ZN5clang4Sema22BuildCXXDefaultArgExprENS_14SourceLocationEPNS_12FunctionDeclEPNS_11ParmVarDeclE", "clang::Sema::BuildCXXDefaultArgExpr(clang::SourceLocation, clang::FunctionDecl*, clang::ParmVarDecl*)"},
-    {"_ZN5clang4Sema32MarkDeclarationsReferencedInExprEPNS_4ExprE", "clang::Sema::MarkDeclarationsReferencedInExpr(clang::Expr*)"},
-    {"_ZN5clang4Sema23ConvertArgumentsForCallEPNS_8CallExprEPNS_4ExprEPNS_12FunctionDeclEPKNS_17FunctionProtoTypeEPS4_jNS_14SourceLocationE", "clang::Sema::ConvertArgumentsForCall(clang::CallExpr*, clang::Expr*, clang::FunctionDecl*, clang::FunctionProtoType const*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang4Sema22GatherArgumentsForCallENS_14SourceLocationEPNS_12FunctionDeclEPKNS_17FunctionProtoTypeEjPPNS_4ExprEjRN4llvm11SmallVectorIS8_Lj8EEENS0_16VariadicCallTypeE", "clang::Sema::GatherArgumentsForCall(clang::SourceLocation, clang::FunctionDecl*, clang::FunctionProtoType const*, unsigned int, clang::Expr**, unsigned int, llvm::SmallVector<clang::Expr*, 8u>&, clang::Sema::VariadicCallType)"},
-    {"_ZN5clang4Sema19CheckCallReturnTypeENS_8QualTypeENS_14SourceLocationEPNS_8CallExprEPNS_12FunctionDeclE", "clang::Sema::CheckCallReturnType(clang::QualType, clang::SourceLocation, clang::CallExpr*, clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema21BuildResolvedCallExprEPNS_4ExprEPNS_9NamedDeclENS_14SourceLocationEPS2_jS5_S2_", "clang::Sema::BuildResolvedCallExpr(clang::Expr*, clang::NamedDecl*, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema23ActOnCUDAExecConfigExprEPNS_5ScopeENS_14SourceLocationENS_11ASTMultiPtrIPNS_4ExprEEES3_", "clang::Sema::ActOnCUDAExecConfigExpr(clang::Scope*, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20ActOnCompoundLiteralENS_14SourceLocationENS_9OpaquePtrINS_8QualTypeEEES1_PNS_4ExprE", "clang::Sema::ActOnCompoundLiteral(clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema24BuildCompoundLiteralExprENS_14SourceLocationEPNS_14TypeSourceInfoES1_PNS_4ExprE", "clang::Sema::BuildCompoundLiteralExpr(clang::SourceLocation, clang::TypeSourceInfo*, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema13ActOnInitListENS_14SourceLocationENS_11ASTMultiPtrIPNS_4ExprEEES1_", "clang::Sema::ActOnInitList(clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema14CheckCastTypesENS_11SourceRangeENS_8QualTypeERPNS_4ExprERNS_8CastKindERNS_13ExprValueKindERN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEb", "clang::Sema::CheckCastTypes(clang::SourceRange, clang::QualType, clang::Expr*&, clang::CastKind&, clang::ExprValueKind&, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>&, bool)"},
-    {"_ZN5clang4Sema18CheckExtVectorCastENS_11SourceRangeENS_8QualTypeERPNS_4ExprERNS_8CastKindE", "clang::Sema::CheckExtVectorCast(clang::SourceRange, clang::QualType, clang::Expr*&, clang::CastKind&)"},
-    {"_ZN5clang4Sema15CheckVectorCastENS_11SourceRangeENS_8QualTypeES2_RNS_8CastKindE", "clang::Sema::CheckVectorCast(clang::SourceRange, clang::QualType, clang::QualType, clang::CastKind&)"},
-    {"_Z17PrepareScalarCastRN5clang4SemaERPNS_4ExprENS_8QualTypeE", "PrepareScalarCast(clang::Sema&, clang::Expr*&, clang::QualType)"},
-    {"_ZN5clang4Sema13ActOnCastExprEPNS_5ScopeENS_14SourceLocationENS_9OpaquePtrINS_8QualTypeEEES3_PNS_4ExprE", "clang::Sema::ActOnCastExpr(clang::Scope*, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema24ActOnCastOfParenListExprEPNS_5ScopeENS_14SourceLocationES3_PNS_4ExprEPNS_14TypeSourceInfoE", "clang::Sema::ActOnCastOfParenListExpr(clang::Scope*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::TypeSourceInfo*)"},
-    {"_ZN5clang4Sema19BuildCStyleCastExprENS_14SourceLocationEPNS_14TypeSourceInfoES1_PNS_4ExprE", "clang::Sema::BuildCStyleCastExpr(clang::SourceLocation, clang::TypeSourceInfo*, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema10ActOnBinOpEPNS_5ScopeENS_14SourceLocationENS_3tok9TokenKindEPNS_4ExprES7_", "clang::Sema::ActOnBinOp(clang::Scope*, clang::SourceLocation, clang::tok::TokenKind, clang::Expr*, clang::Expr*)"},
-    {"_ZN5clang4Sema25ActOnParenOrParenListExprENS_14SourceLocationES1_NS_11ASTMultiPtrIPNS_4ExprEEENS_9OpaquePtrINS_8QualTypeEEE", "clang::Sema::ActOnParenOrParenListExpr(clang::SourceLocation, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang4Sema24CheckConditionalOperandsERPNS_4ExprES3_S3_S3_RNS_13ExprValueKindERNS_14ExprObjectKindENS_14SourceLocationE", "clang::Sema::CheckConditionalOperands(clang::Expr*&, clang::Expr*&, clang::Expr*&, clang::Expr*&, clang::ExprValueKind&, clang::ExprObjectKind&, clang::SourceLocation)"},
-    {"_ZN5clang4Sema19CheckVectorOperandsENS_14SourceLocationERPNS_4ExprES4_", "clang::Sema::CheckVectorOperands(clang::SourceLocation, clang::Expr*&, clang::Expr*&)"},
-    {"_ZN5clang4Sema28FindCompositeObjCPointerTypeERPNS_4ExprES3_NS_14SourceLocationE", "clang::Sema::FindCompositeObjCPointerType(clang::Expr*&, clang::Expr*&, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18ActOnConditionalOpENS_14SourceLocationES1_PNS_4ExprES3_S3_", "clang::Sema::ActOnConditionalOp(clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::Expr*, clang::Expr*)"},
-    {"_ZN5clang4Sema26CheckAssignmentConstraintsENS_14SourceLocationENS_8QualTypeES2_", "clang::Sema::CheckAssignmentConstraints(clang::SourceLocation, clang::QualType, clang::QualType)"},
-    {"_ZN5clang4Sema26CheckAssignmentConstraintsENS_8QualTypeERPNS_4ExprERNS_8CastKindE", "clang::Sema::CheckAssignmentConstraints(clang::QualType, clang::Expr*&, clang::CastKind&)"},
-    {"_ZN5clang4Sema40CheckTransparentUnionArgumentConstraintsENS_8QualTypeERPNS_4ExprE", "clang::Sema::CheckTransparentUnionArgumentConstraints(clang::QualType, clang::Expr*&)"},
-    {"_ZN5clang4Sema32CheckSingleAssignmentConstraintsENS_8QualTypeERPNS_4ExprE", "clang::Sema::CheckSingleAssignmentConstraints(clang::QualType, clang::Expr*&)"},
-    {"_ZN5clang4Sema15InvalidOperandsENS_14SourceLocationERPNS_4ExprES4_", "clang::Sema::InvalidOperands(clang::SourceLocation, clang::Expr*&, clang::Expr*&)"},
-    {"_ZN5clang4Sema27CheckMultiplyDivideOperandsERPNS_4ExprES3_NS_14SourceLocationEbb", "clang::Sema::CheckMultiplyDivideOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, bool, bool)"},
-    {"_ZN5clang4Sema22CheckRemainderOperandsERPNS_4ExprES3_NS_14SourceLocationEb", "clang::Sema::CheckRemainderOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema21CheckAdditionOperandsERPNS_4ExprES3_NS_14SourceLocationEPNS_8QualTypeE", "clang::Sema::CheckAdditionOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, clang::QualType*)"},
-    {"_ZN5clang4Sema24CheckSubtractionOperandsERPNS_4ExprES3_NS_14SourceLocationEPNS_8QualTypeE", "clang::Sema::CheckSubtractionOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, clang::QualType*)"},
-    {"_ZN5clang4Sema18CheckShiftOperandsERPNS_4ExprES3_NS_14SourceLocationEb", "clang::Sema::CheckShiftOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema20CheckCompareOperandsERPNS_4ExprES3_NS_14SourceLocationEjb", "clang::Sema::CheckCompareOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, unsigned int, bool)"},
-    {"_ZN5clang4Sema26CheckVectorCompareOperandsERPNS_4ExprES3_NS_14SourceLocationEb", "clang::Sema::CheckVectorCompareOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema23CheckAssignmentOperandsEPNS_4ExprERS2_NS_14SourceLocationENS_8QualTypeE", "clang::Sema::CheckAssignmentOperands(clang::Expr*, clang::Expr*&, clang::SourceLocation, clang::QualType)"},
-    {"_Z24CheckForModifiableLvaluePN5clang4ExprENS_14SourceLocationERNS_4SemaE", "CheckForModifiableLvalue(clang::Expr*, clang::SourceLocation, clang::Sema&)"},
-    {"_ZN5clang4Sema24ConvertPropertyForLValueERPNS_4ExprES3_RNS_8QualTypeE", "clang::Sema::ConvertPropertyForLValue(clang::Expr*&, clang::Expr*&, clang::QualType&)"},
-    {"_ZN5clang4Sema24DiagnoseAssignmentResultENS0_17AssignConvertTypeENS_14SourceLocationENS_8QualTypeES3_PNS_4ExprENS0_16AssignmentActionEPb", "clang::Sema::DiagnoseAssignmentResult(clang::Sema::AssignConvertType, clang::SourceLocation, clang::QualType, clang::QualType, clang::Expr*, clang::Sema::AssignmentAction, bool*)"},
-    {"_ZN5clang4Sema18CreateBuiltinBinOpENS_14SourceLocationENS_18BinaryOperatorKindEPNS_4ExprES4_", "clang::Sema::CreateBuiltinBinOp(clang::SourceLocation, clang::BinaryOperatorKind, clang::Expr*, clang::Expr*)"},
-    {"_ZN5clang4Sema10BuildBinOpEPNS_5ScopeENS_14SourceLocationENS_18BinaryOperatorKindEPNS_4ExprES6_", "clang::Sema::BuildBinOp(clang::Scope*, clang::SourceLocation, clang::BinaryOperatorKind, clang::Expr*, clang::Expr*)"},
-    {"_ZN5clang4Sema20CreateBuiltinUnaryOpENS_14SourceLocationENS_17UnaryOperatorKindEPNS_4ExprE", "clang::Sema::CreateBuiltinUnaryOp(clang::SourceLocation, clang::UnaryOperatorKind, clang::Expr*)"},
-    {"_Z30CheckIncrementDecrementOperandRN5clang4SemaEPNS_4ExprERNS_13ExprValueKindENS_14SourceLocationEbb", "CheckIncrementDecrementOperand(clang::Sema&, clang::Expr*, clang::ExprValueKind&, clang::SourceLocation, bool, bool)"},
-    {"_Z23CheckIndirectionOperandRN5clang4SemaEPNS_4ExprERNS_13ExprValueKindENS_14SourceLocationE", "CheckIndirectionOperand(clang::Sema&, clang::Expr*, clang::ExprValueKind&, clang::SourceLocation)"},
-    {"_Z20CheckRealImagOperandRN5clang4SemaERPNS_4ExprENS_14SourceLocationEb", "CheckRealImagOperand(clang::Sema&, clang::Expr*&, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema12ActOnUnaryOpEPNS_5ScopeENS_14SourceLocationENS_3tok9TokenKindEPNS_4ExprE", "clang::Sema::ActOnUnaryOp(clang::Scope*, clang::SourceLocation, clang::tok::TokenKind, clang::Expr*)"},
-    {"_ZN5clang4Sema14ActOnAddrLabelENS_14SourceLocationES1_PNS_14IdentifierInfoE", "clang::Sema::ActOnAddrLabel(clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo*)"},
-    {"_ZN5clang4Sema13ActOnStmtExprENS_14SourceLocationEPNS_4StmtES1_", "clang::Sema::ActOnStmtExpr(clang::SourceLocation, clang::Stmt*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20BuildBuiltinOffsetOfENS_14SourceLocationEPNS_14TypeSourceInfoEPNS0_17OffsetOfComponentEjS1_", "clang::Sema::BuildBuiltinOffsetOf(clang::SourceLocation, clang::TypeSourceInfo*, clang::Sema::OffsetOfComponent*, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20ActOnBuiltinOffsetOfEPNS_5ScopeENS_14SourceLocationES3_NS_9OpaquePtrINS_8QualTypeEEEPNS0_17OffsetOfComponentEjS3_", "clang::Sema::ActOnBuiltinOffsetOf(clang::Scope*, clang::SourceLocation, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::Sema::OffsetOfComponent*, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang4Sema15ActOnChooseExprENS_14SourceLocationEPNS_4ExprES3_S3_S1_", "clang::Sema::ActOnChooseExpr(clang::SourceLocation, clang::Expr*, clang::Expr*, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema15ActOnBlockStartENS_14SourceLocationEPNS_5ScopeE", "clang::Sema::ActOnBlockStart(clang::SourceLocation, clang::Scope*)"},
-    {"_ZN5clang4Sema19ActOnBlockArgumentsERNS_10DeclaratorEPNS_5ScopeE", "clang::Sema::ActOnBlockArguments(clang::Declarator&, clang::Scope*)"},
-    {"_ZN5clang4Sema15ActOnBlockErrorENS_14SourceLocationEPNS_5ScopeE", "clang::Sema::ActOnBlockError(clang::SourceLocation, clang::Scope*)"},
-    {"_ZN5clang4Sema18ActOnBlockStmtExprENS_14SourceLocationEPNS_4StmtEPNS_5ScopeE", "clang::Sema::ActOnBlockStmtExpr(clang::SourceLocation, clang::Stmt*, clang::Scope*)"},
-    {"_ZN5clang4Sema10ActOnVAArgENS_14SourceLocationEPNS_4ExprENS_9OpaquePtrINS_8QualTypeEEES1_", "clang::Sema::ActOnVAArg(clang::SourceLocation, clang::Expr*, clang::OpaquePtr<clang::QualType>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema14BuildVAArgExprENS_14SourceLocationEPNS_4ExprEPNS_14TypeSourceInfoES1_", "clang::Sema::BuildVAArgExpr(clang::SourceLocation, clang::Expr*, clang::TypeSourceInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema16ActOnGNUNullExprENS_14SourceLocationE", "clang::Sema::ActOnGNUNullExpr(clang::SourceLocation)"},
-    {"_ZN5clang4Sema31VerifyIntegerConstantExpressionEPKNS_4ExprEPN4llvm6APSIntE", "clang::Sema::VerifyIntegerConstantExpression(clang::Expr const*, llvm::APSInt*)"},
-    {"_ZN5clang4Sema31PushExpressionEvaluationContextENS0_27ExpressionEvaluationContextE", "clang::Sema::PushExpressionEvaluationContext(clang::Sema::ExpressionEvaluationContext)"},
-    {"_ZN5clang4Sema30PopExpressionEvaluationContextEv", "clang::Sema::PopExpressionEvaluationContext()"},
-    {"_ZN5clang4Sema32MarkDeclarationsReferencedInTypeENS_14SourceLocationENS_8QualTypeE", "clang::Sema::MarkDeclarationsReferencedInType(clang::SourceLocation, clang::QualType)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE12TraverseTypeENS_8QualTypeE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseType(clang::QualType)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_119EvaluatedExprMarkerEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::EvaluatedExprMarker, void>::Visit(clang::Stmt*)"},
-    {"_ZN5clang4Sema29DiagnoseAssignmentAsConditionEPNS_4ExprE", "clang::Sema::DiagnoseAssignmentAsCondition(clang::Expr*)"},
-    {"_ZN5clang4Sema31DiagnoseEqualityWithExtraParensEPNS_9ParenExprE", "clang::Sema::DiagnoseEqualityWithExtraParens(clang::ParenExpr*)"},
-    {"_ZN5clang4Sema21CheckBooleanConditionERPNS_4ExprENS_14SourceLocationE", "clang::Sema::CheckBooleanCondition(clang::Expr*&, clang::SourceLocation)"},
-    {"_ZN5clang4Sema21ActOnBooleanConditionEPNS_5ScopeENS_14SourceLocationEPNS_4ExprE", "clang::Sema::ActOnBooleanCondition(clang::Scope*, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang20EvaluatedExprVisitorIN12_GLOBAL__N_119EvaluatedExprMarkerEE9VisitStmtEPNS_4StmtE", "clang::EvaluatedExprVisitor<(anonymous namespace)::EvaluatedExprMarker>::VisitStmt(clang::Stmt*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE27TraverseNestedNameSpecifierEPNS_19NestedNameSpecifierE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseNestedNameSpecifier(clang::NestedNameSpecifier*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE24TraverseTemplateArgumentERKNS_16TemplateArgumentE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseTemplateArgument(clang::TemplateArgument const&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE12TraverseStmtEPNS_4StmtE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseStmt(clang::Stmt*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE15TraverseTypeLocENS_7TypeLocE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseTypeLoc(clang::TypeLoc)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE27TraverseTemplateArgumentLocERKNS_19TemplateArgumentLocE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseTemplateArgumentLoc(clang::TemplateArgumentLoc const&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE12TraverseDeclEPNS_4DeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseDecl(clang::Decl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE24TraverseDeclaratorHelperEPNS_14DeclaratorDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseDeclaratorHelper(clang::DeclaratorDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE22TraverseFunctionHelperEPNS_12FunctionDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseFunctionHelper(clang::FunctionDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119MarkReferencedDeclsEE23TraverseCXXRecordHelperEPNS_13CXXRecordDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::MarkReferencedDecls>::TraverseCXXRecordHelper(clang::CXXRecordDecl*)"},
-    {"_Z38EmitDiagnosticForLogicalAndInLogicalOrRN5clang4SemaENS_14SourceLocationEPNS_4ExprE", "EmitDiagnosticForLogicalAndInLogicalOr(clang::Sema&, clang::SourceLocation, clang::Expr*)"},
-    {"_Z18SuggestParenthesesRN5clang4SemaENS_14SourceLocationERKNS_17PartialDiagnosticES5_NS_11SourceRangeES5_S6_", "SuggestParentheses(clang::Sema&, clang::SourceLocation, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::SourceRange, clang::PartialDiagnostic const&, clang::SourceRange)"},
-    {"_Z40FindGetterSetterNameDeclFromProtocolListPKN5clang16ObjCProtocolDeclEPNS_14IdentifierInfoERKNS_8SelectorERNS_10ASTContextE", "FindGetterSetterNameDeclFromProtocolList(clang::ObjCProtocolDecl const*, clang::IdentifierInfo*, clang::Selector const&, clang::ASTContext&)"},
-    {"_Z16propagateCaptureRN5clang4SemaEjRKNS_9BlockDecl7CaptureE", "propagateCapture(clang::Sema&, unsigned int, clang::BlockDecl::Capture const&)"},
-    {"_ZN5clang13SelectorTable19constructSetterNameERNS_15IdentifierTableERS0_PKNS_14IdentifierInfoE", "clang::SelectorTable::constructSetterName(clang::IdentifierTable&, clang::SelectorTable&, clang::IdentifierInfo const*)"},
-    {"_ZN5clang4Sema20CheckBitwiseOperandsERPNS_4ExprES3_NS_14SourceLocationEb", "clang::Sema::CheckBitwiseOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema20CheckLogicalOperandsERPNS_4ExprES3_NS_14SourceLocationEj", "clang::Sema::CheckLogicalOperands(clang::Expr*&, clang::Expr*&, clang::SourceLocation, unsigned int)"},
-    {"_ZNK5clang4Decl7getAttrINS_12NoReturnAttrEEEPT_v", "clang::NoReturnAttr* clang::Decl::getAttr<clang::NoReturnAttr>() const"},
-    {"_ZN5clang4Sema33ExpressionEvaluationContextRecord7DestroyEv", "clang::Sema::ExpressionEvaluationContextRecord::Destroy()"},
-    {"_ZN5clang4Sema33ExpressionEvaluationContextRecord13addDiagnosticENS_14SourceLocationERKNS_17PartialDiagnosticE", "clang::Sema::ExpressionEvaluationContextRecord::addDiagnostic(clang::SourceLocation, clang::PartialDiagnostic const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang12OffsetOfExpr12OffsetOfNodeELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::OffsetOfExpr::OffsetOfNode, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS1_9LabelStmtENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::IdentifierInfo*, clang::LabelStmt*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::LabelStmt*> >::InsertIntoBucket(clang::IdentifierInfo* const&, clang::LabelStmt* const&, std::pair<clang::IdentifierInfo*, clang::LabelStmt*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS1_9LabelStmtENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, clang::LabelStmt*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::LabelStmt*> >::grow(unsigned int)"},
-    {"_ZN5clang10ChooseExprC2ENS_14SourceLocationEPNS_4ExprES3_S3_NS_8QualTypeENS_13ExprValueKindENS_14ExprObjectKindES1_bb", "clang::ChooseExpr::ChooseExpr(clang::SourceLocation, clang::Expr*, clang::Expr*, clang::Expr*, clang::QualType, clang::ExprValueKind, clang::ExprObjectKind, clang::SourceLocation, bool, bool)"},
-    {"_ZN5clang17CXXDefaultArgExprC2ENS_4Stmt9StmtClassENS_14SourceLocationEPNS_11ParmVarDeclE", "clang::CXXDefaultArgExpr::CXXDefaultArgExpr(clang::Stmt::StmtClass, clang::SourceLocation, clang::ParmVarDecl*)"},
-    {"_ZN5clang18ArraySubscriptExprC2EPNS_4ExprES2_NS_8QualTypeENS_13ExprValueKindENS_14ExprObjectKindENS_14SourceLocationE", "clang::ArraySubscriptExpr::ArraySubscriptExpr(clang::Expr*, clang::Expr*, clang::QualType, clang::ExprValueKind, clang::ExprObjectKind, clang::SourceLocation)"},
-    {"_ZN4llvm8DenseMapIPN5clang7VarDeclEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<clang::VarDecl*, unsigned int, llvm::DenseMapInfo<clang::VarDecl*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::VarDecl* const&, unsigned int const&, std::pair<clang::VarDecl*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang7VarDeclEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<clang::VarDecl*, unsigned int, llvm::DenseMapInfo<clang::VarDecl*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang4Sema17getDestructorNameENS_14SourceLocationERNS_14IdentifierInfoES1_PNS_5ScopeERNS_12CXXScopeSpecENS_9OpaquePtrINS_8QualTypeEEEb", "clang::Sema::getDestructorName(clang::SourceLocation, clang::IdentifierInfo&, clang::SourceLocation, clang::Scope*, clang::CXXScopeSpec&, clang::OpaquePtr<clang::QualType>, bool)"},
-    {"_ZN5clang4Sema14BuildCXXTypeIdENS_8QualTypeENS_14SourceLocationEPNS_14TypeSourceInfoES2_", "clang::Sema::BuildCXXTypeId(clang::QualType, clang::SourceLocation, clang::TypeSourceInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema14BuildCXXTypeIdENS_8QualTypeENS_14SourceLocationEPNS_4ExprES2_", "clang::Sema::BuildCXXTypeId(clang::QualType, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema14ActOnCXXTypeidENS_14SourceLocationES1_bPvS1_", "clang::Sema::ActOnCXXTypeid(clang::SourceLocation, clang::SourceLocation, bool, void*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema14BuildCXXUuidofENS_8QualTypeENS_14SourceLocationEPNS_14TypeSourceInfoES2_", "clang::Sema::BuildCXXUuidof(clang::QualType, clang::SourceLocation, clang::TypeSourceInfo*, clang::SourceLocation)"},
-    {"_Z17GetUuidAttrOfTypeN5clang8QualTypeE", "GetUuidAttrOfType(clang::QualType)"},
-    {"_ZN5clang4Sema14BuildCXXUuidofENS_8QualTypeENS_14SourceLocationEPNS_4ExprES2_", "clang::Sema::BuildCXXUuidof(clang::QualType, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema14ActOnCXXUuidofENS_14SourceLocationES1_bPvS1_", "clang::Sema::ActOnCXXUuidof(clang::SourceLocation, clang::SourceLocation, bool, void*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema19ActOnCXXBoolLiteralENS_14SourceLocationENS_3tok9TokenKindE", "clang::Sema::ActOnCXXBoolLiteral(clang::SourceLocation, clang::tok::TokenKind)"},
-    {"_ZN5clang4Sema22ActOnCXXNullPtrLiteralENS_14SourceLocationE", "clang::Sema::ActOnCXXNullPtrLiteral(clang::SourceLocation)"},
-    {"_ZN5clang4Sema13ActOnCXXThrowENS_14SourceLocationEPNS_4ExprE", "clang::Sema::ActOnCXXThrow(clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema20CheckCXXThrowOperandENS_14SourceLocationERPNS_4ExprE", "clang::Sema::CheckCXXThrowOperand(clang::SourceLocation, clang::Expr*&)"},
-    {"_ZN5clang4Sema17tryCaptureCXXThisEv", "clang::Sema::tryCaptureCXXThis()"},
-    {"_ZN5clang4Sema12ActOnCXXThisENS_14SourceLocationE", "clang::Sema::ActOnCXXThis(clang::SourceLocation)"},
-    {"_ZN5clang4Sema25ActOnCXXTypeConstructExprENS_9OpaquePtrINS_8QualTypeEEENS_14SourceLocationENS_11ASTMultiPtrIPNS_4ExprEEES4_", "clang::Sema::ActOnCXXTypeConstructExpr(clang::OpaquePtr<clang::QualType>, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema25BuildCXXTypeConstructExprEPNS_14TypeSourceInfoENS_14SourceLocationENS_11ASTMultiPtrIPNS_4ExprEEES3_", "clang::Sema::BuildCXXTypeConstructExpr(clang::TypeSourceInfo*, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema11ActOnCXXNewENS_14SourceLocationEbS1_NS_11ASTMultiPtrIPNS_4ExprEEES1_NS_11SourceRangeERNS_10DeclaratorES1_S5_S1_", "clang::Sema::ActOnCXXNew(clang::SourceLocation, bool, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation, clang::SourceRange, clang::Declarator&, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema11BuildCXXNewENS_14SourceLocationEbS1_NS_11ASTMultiPtrIPNS_4ExprEEES1_NS_11SourceRangeENS_8QualTypeEPNS_14TypeSourceInfoES4_S1_S5_S1_", "clang::Sema::BuildCXXNew(clang::SourceLocation, bool, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation, clang::SourceRange, clang::QualType, clang::TypeSourceInfo*, clang::Expr*, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18CheckAllocatedTypeENS_8QualTypeENS_14SourceLocationENS_11SourceRangeE", "clang::Sema::CheckAllocatedType(clang::QualType, clang::SourceLocation, clang::SourceRange)"},
-    {"_ZN5clang4Sema23FindAllocationFunctionsENS_14SourceLocationENS_11SourceRangeEbNS_8QualTypeEbPPNS_4ExprEjRPNS_12FunctionDeclES9_", "clang::Sema::FindAllocationFunctions(clang::SourceLocation, clang::SourceRange, bool, clang::QualType, bool, clang::Expr**, unsigned int, clang::FunctionDecl*&, clang::FunctionDecl*&)"},
-    {"_Z28doesUsualArrayDeleteWantSizeRN5clang4SemaENS_14SourceLocationENS_8QualTypeE", "doesUsualArrayDeleteWantSize(clang::Sema&, clang::SourceLocation, clang::QualType)"},
-    {"_ZN5clang4Sema22FindAllocationOverloadENS_14SourceLocationENS_11SourceRangeENS_15DeclarationNameEPPNS_4ExprEjPNS_11DeclContextEbRPNS_12FunctionDeclE", "clang::Sema::FindAllocationOverload(clang::SourceLocation, clang::SourceRange, clang::DeclarationName, clang::Expr**, unsigned int, clang::DeclContext*, bool, clang::FunctionDecl*&)"},
-    {"_ZN5clang4Sema22DeclareGlobalNewDeleteEv", "clang::Sema::DeclareGlobalNewDelete()"},
-    {"_ZN5clang4Sema31DeclareGlobalAllocationFunctionENS_15DeclarationNameENS_8QualTypeES2_b", "clang::Sema::DeclareGlobalAllocationFunction(clang::DeclarationName, clang::QualType, clang::QualType, bool)"},
-    {"_ZN5clang4Sema24FindDeallocationFunctionENS_14SourceLocationEPNS_13CXXRecordDeclENS_15DeclarationNameERPNS_12FunctionDeclE", "clang::Sema::FindDeallocationFunction(clang::SourceLocation, clang::CXXRecordDecl*, clang::DeclarationName, clang::FunctionDecl*&)"},
-    {"_ZN5clang4Sema14ActOnCXXDeleteENS_14SourceLocationEbbPNS_4ExprE", "clang::Sema::ActOnCXXDelete(clang::SourceLocation, bool, bool, clang::Expr*)"},
-    {"_ZN5clang4Sema22CheckConditionVariableEPNS_7VarDeclENS_14SourceLocationEb", "clang::Sema::CheckConditionVariable(clang::VarDecl*, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema24CheckCXXBooleanConditionERPNS_4ExprE", "clang::Sema::CheckCXXBooleanCondition(clang::Expr*&)"},
-    {"_ZN5clang4Sema42IsStringLiteralToNonConstPointerConversionEPNS_4ExprENS_8QualTypeE", "clang::Sema::IsStringLiteralToNonConstPointerConversion(clang::Expr*, clang::QualType)"},
-    {"_ZN5clang4Sema25PerformImplicitConversionERPNS_4ExprENS_8QualTypeERKNS_26ImplicitConversionSequenceENS0_16AssignmentActionEb", "clang::Sema::PerformImplicitConversion(clang::Expr*&, clang::QualType, clang::ImplicitConversionSequence const&, clang::Sema::AssignmentAction, bool)"},
-    {"_ZN5clang4Sema25PerformImplicitConversionERPNS_4ExprENS_8QualTypeERKNS_26StandardConversionSequenceENS0_16AssignmentActionEb", "clang::Sema::PerformImplicitConversion(clang::Expr*&, clang::QualType, clang::StandardConversionSequence const&, clang::Sema::AssignmentAction, bool)"},
-    {"_ZN5clang4Sema19ActOnUnaryTypeTraitENS_14UnaryTypeTraitENS_14SourceLocationENS_9OpaquePtrINS_8QualTypeEEES2_", "clang::Sema::ActOnUnaryTypeTrait(clang::UnaryTypeTrait, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema19BuildUnaryTypeTraitENS_14UnaryTypeTraitENS_14SourceLocationEPNS_14TypeSourceInfoES2_", "clang::Sema::BuildUnaryTypeTrait(clang::UnaryTypeTrait, clang::SourceLocation, clang::TypeSourceInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20ActOnBinaryTypeTraitENS_15BinaryTypeTraitENS_14SourceLocationENS_9OpaquePtrINS_8QualTypeEEES5_S2_", "clang::Sema::ActOnBinaryTypeTrait(clang::BinaryTypeTrait, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::OpaquePtr<clang::QualType>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20BuildBinaryTypeTraitENS_15BinaryTypeTraitENS_14SourceLocationEPNS_14TypeSourceInfoES4_S2_", "clang::Sema::BuildBinaryTypeTrait(clang::BinaryTypeTrait, clang::SourceLocation, clang::TypeSourceInfo*, clang::TypeSourceInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema28CheckPointerToMemberOperandsERPNS_4ExprES3_RNS_13ExprValueKindENS_14SourceLocationEb", "clang::Sema::CheckPointerToMemberOperands(clang::Expr*&, clang::Expr*&, clang::ExprValueKind&, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema27CXXCheckConditionalOperandsERPNS_4ExprES3_S3_S3_RNS_13ExprValueKindERNS_14ExprObjectKindENS_14SourceLocationE", "clang::Sema::CXXCheckConditionalOperands(clang::Expr*&, clang::Expr*&, clang::Expr*&, clang::Expr*&, clang::ExprValueKind&, clang::ExprObjectKind&, clang::SourceLocation)"},
-    {"_Z19TryClassUnificationRN5clang4SemaEPNS_4ExprES3_NS_14SourceLocationERbRNS_8QualTypeE", "TryClassUnification(clang::Sema&, clang::Expr*, clang::Expr*, clang::SourceLocation, bool&, clang::QualType&)"},
-    {"_Z21ConvertForConditionalRN5clang4SemaERPNS_4ExprENS_8QualTypeE", "ConvertForConditional(clang::Sema&, clang::Expr*&, clang::QualType)"},
-    {"_ZN5clang4Sema24FindCompositePointerTypeENS_14SourceLocationERPNS_4ExprES4_Pb", "clang::Sema::FindCompositePointerType(clang::SourceLocation, clang::Expr*&, clang::Expr*&, bool*)"},
-    {"_ZN5clang4Sema20MaybeBindToTemporaryEPNS_4ExprE", "clang::Sema::MaybeBindToTemporary(clang::Expr*)"},
-    {"_ZN5clang4Sema27MaybeCreateExprWithCleanupsEPNS_4ExprE", "clang::Sema::MaybeCreateExprWithCleanups(clang::Expr*)"},
-    {"_ZN5clang4Sema27MaybeCreateExprWithCleanupsENS_12ActionResultIPNS_4ExprELb1EEE", "clang::Sema::MaybeCreateExprWithCleanups(clang::ActionResult<clang::Expr*, true>)"},
-    {"_ZN5clang4Sema27MaybeCreateStmtWithCleanupsEPNS_4StmtE", "clang::Sema::MaybeCreateStmtWithCleanups(clang::Stmt*)"},
-    {"_ZN5clang4Sema28ActOnStartCXXMemberReferenceEPNS_5ScopeEPNS_4ExprENS_14SourceLocationENS_3tok9TokenKindERNS_9OpaquePtrINS_8QualTypeEEERb", "clang::Sema::ActOnStartCXXMemberReference(clang::Scope*, clang::Expr*, clang::SourceLocation, clang::tok::TokenKind, clang::OpaquePtr<clang::QualType>&, bool&)"},
-    {"_ZN5clang4Sema21DiagnoseDtorReferenceENS_14SourceLocationEPNS_4ExprE", "clang::Sema::DiagnoseDtorReference(clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema25BuildPseudoDestructorExprEPNS_4ExprENS_14SourceLocationENS_3tok9TokenKindERKNS_12CXXScopeSpecEPNS_14TypeSourceInfoES3_S3_NS_27PseudoDestructorTypeStorageEb", "clang::Sema::BuildPseudoDestructorExpr(clang::Expr*, clang::SourceLocation, clang::tok::TokenKind, clang::CXXScopeSpec const&, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation, clang::PseudoDestructorTypeStorage, bool)"},
-    {"_ZN5clang4Sema25ActOnPseudoDestructorExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationENS_3tok9TokenKindERNS_12CXXScopeSpecERNS_13UnqualifiedIdES5_S5_SB_b", "clang::Sema::ActOnPseudoDestructorExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, clang::tok::TokenKind, clang::CXXScopeSpec&, clang::UnqualifiedId&, clang::SourceLocation, clang::SourceLocation, clang::UnqualifiedId&, bool)"},
-    {"_ZN5clang4Sema22BuildCXXMemberCallExprEPNS_4ExprEPNS_9NamedDeclEPNS_13CXXMethodDeclE", "clang::Sema::BuildCXXMemberCallExpr(clang::Expr*, clang::NamedDecl*, clang::CXXMethodDecl*)"},
-    {"_ZN5clang4Sema20BuildCXXNoexceptExprENS_14SourceLocationEPNS_4ExprES1_", "clang::Sema::BuildCXXNoexceptExpr(clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17ActOnNoexceptExprENS_14SourceLocationES1_PNS_4ExprES1_", "clang::Sema::ActOnNoexceptExpr(clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema23IgnoredValueConversionsERPNS_4ExprE", "clang::Sema::IgnoredValueConversions(clang::Expr*&)"},
-    {"_ZN5clang4Sema19ActOnFinishFullExprEPNS_4ExprE", "clang::Sema::ActOnFinishFullExpr(clang::Expr*)"},
-    {"_ZN5clang4Sema19ActOnFinishFullStmtEPNS_4StmtE", "clang::Sema::ActOnFinishFullStmt(clang::Stmt*)"},
-    {"_ZN5clang10Declarator19DropFirstTypeObjectEv", "clang::Declarator::DropFirstTypeObject()"},
-    {"_ZN4llvm11SmallVectorIPN5clang4ExprELj8EEC2EjRKS3_", "llvm::SmallVector<clang::Expr*, 8u>::SmallVector(unsigned int, clang::Expr* const&)"},
-    {"_ZN5clang19BinaryTypeTraitExprC2ENS_14SourceLocationENS_15BinaryTypeTraitEPNS_14TypeSourceInfoES4_bS1_NS_8QualTypeE", "clang::BinaryTypeTraitExpr::BinaryTypeTraitExpr(clang::SourceLocation, clang::BinaryTypeTrait, clang::TypeSourceInfo*, clang::TypeSourceInfo*, bool, clang::SourceLocation, clang::QualType)"},
-    {"_ZNK5clang4Decl7getAttrINS_8UuidAttrEEEPT_v", "clang::UuidAttr* clang::Decl::getAttr<clang::UuidAttr>() const"},
-    {"_ZN5clang4Sema22ParseObjCStringLiteralEPNS_14SourceLocationEPPNS_4ExprEj", "clang::Sema::ParseObjCStringLiteral(clang::SourceLocation*, clang::Expr**, unsigned int)"},
-    {"_ZN5clang4Sema25BuildObjCEncodeExpressionENS_14SourceLocationEPNS_14TypeSourceInfoES1_", "clang::Sema::BuildObjCEncodeExpression(clang::SourceLocation, clang::TypeSourceInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema25ParseObjCEncodeExpressionENS_14SourceLocationES1_S1_NS_9OpaquePtrINS_8QualTypeEEES1_", "clang::Sema::ParseObjCEncodeExpression(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema27ParseObjCSelectorExpressionENS_8SelectorENS_14SourceLocationES2_S2_S2_", "clang::Sema::ParseObjCSelectorExpression(clang::Selector, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema27ParseObjCProtocolExpressionEPNS_14IdentifierInfoENS_14SourceLocationES3_S3_S3_", "clang::Sema::ParseObjCProtocolExpression(clang::IdentifierInfo*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18tryCaptureObjCSelfEv", "clang::Sema::tryCaptureObjCSelf()"},
-    {"_ZN5clang4Sema25CheckMessageArgumentTypesEPPNS_4ExprEjNS_8SelectorEPNS_14ObjCMethodDeclEbNS_14SourceLocationES7_RNS_8QualTypeERNS_13ExprValueKindE", "clang::Sema::CheckMessageArgumentTypes(clang::Expr**, unsigned int, clang::Selector, clang::ObjCMethodDecl*, bool, clang::SourceLocation, clang::SourceLocation, clang::QualType&, clang::ExprValueKind&)"},
-    {"_ZN5clang4Sema10isSelfExprEPNS_4ExprE", "clang::Sema::isSelfExpr(clang::Expr*)"},
-    {"_ZN5clang4Sema24LookupPrivateClassMethodENS_8SelectorEPNS_17ObjCInterfaceDeclE", "clang::Sema::LookupPrivateClassMethod(clang::Selector, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang4Sema27LookupPrivateInstanceMethodENS_8SelectorEPNS_17ObjCInterfaceDeclE", "clang::Sema::LookupPrivateInstanceMethod(clang::Selector, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang4Sema25HandleExprPropertyRefExprEPKNS_21ObjCObjectPointerTypeEPNS_4ExprENS_15DeclarationNameENS_14SourceLocationES7_NS_8QualTypeEb", "clang::Sema::HandleExprPropertyRefExpr(clang::ObjCObjectPointerType const*, clang::Expr*, clang::DeclarationName, clang::SourceLocation, clang::SourceLocation, clang::QualType, bool)"},
-    {"_ZN5clang4Sema25ActOnClassPropertyRefExprERNS_14IdentifierInfoES2_NS_14SourceLocationES3_", "clang::Sema::ActOnClassPropertyRefExpr(clang::IdentifierInfo&, clang::IdentifierInfo&, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18getObjCMessageKindEPNS_5ScopeEPNS_14IdentifierInfoENS_14SourceLocationEbbRNS_9OpaquePtrINS_8QualTypeEEE", "clang::Sema::getObjCMessageKind(clang::Scope*, clang::IdentifierInfo*, clang::SourceLocation, bool, bool, clang::OpaquePtr<clang::QualType>&)"},
-    {"_ZN5clang4Sema17ActOnSuperMessageEPNS_5ScopeENS_14SourceLocationENS_8SelectorES3_S3_S3_NS_11ASTMultiPtrIPNS_4ExprEEE", "clang::Sema::ActOnSuperMessage(clang::Scope*, clang::SourceLocation, clang::Selector, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>)"},
-    {"_ZN5clang4Sema20BuildInstanceMessageEPNS_4ExprENS_8QualTypeENS_14SourceLocationENS_8SelectorEPNS_14ObjCMethodDeclES4_S4_S4_NS_11ASTMultiPtrIS2_EE", "clang::Sema::BuildInstanceMessage(clang::Expr*, clang::QualType, clang::SourceLocation, clang::Selector, clang::ObjCMethodDecl*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>)"},
-    {"_ZN5clang4Sema17BuildClassMessageEPNS_14TypeSourceInfoENS_8QualTypeENS_14SourceLocationENS_8SelectorEPNS_14ObjCMethodDeclES4_S4_S4_NS_11ASTMultiPtrIPNS_4ExprEEE", "clang::Sema::BuildClassMessage(clang::TypeSourceInfo*, clang::QualType, clang::SourceLocation, clang::Selector, clang::ObjCMethodDecl*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>)"},
-    {"_ZN5clang4Sema17ActOnClassMessageEPNS_5ScopeENS_9OpaquePtrINS_8QualTypeEEENS_8SelectorENS_14SourceLocationES7_S7_NS_11ASTMultiPtrIPNS_4ExprEEE", "clang::Sema::ActOnClassMessage(clang::Scope*, clang::OpaquePtr<clang::QualType>, clang::Selector, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>)"},
-    {"_ZN5clang4Sema20ActOnInstanceMessageEPNS_5ScopeEPNS_4ExprENS_8SelectorENS_14SourceLocationES6_S6_NS_11ASTMultiPtrIS4_EE", "clang::Sema::ActOnInstanceMessage(clang::Scope*, clang::Expr*, clang::Selector, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>)"},
-    {"_ZN5clang4Sema26ActOnDesignatedInitializerERNS_11DesignationENS_14SourceLocationEbNS_12ActionResultIPNS_4ExprELb1EEE", "clang::Sema::ActOnDesignatedInitializer(clang::Designation&, clang::SourceLocation, bool, clang::ActionResult<clang::Expr*, true>)"},
-    {"_Z24CheckArrayDesignatorExprRN5clang4SemaEPNS_4ExprERN4llvm6APSIntE", "CheckArrayDesignatorExpr(clang::Sema&, clang::Expr*, llvm::APSInt&)"},
-    {"_ZN5clang4Sema13CheckInitListERKNS_17InitializedEntityERPNS_12InitListExprERNS_8QualTypeE", "clang::Sema::CheckInitList(clang::InitializedEntity const&, clang::InitListExpr*&, clang::QualType&)"},
-    {"_ZN12_GLOBAL__N_115InitListCheckerC1ERN5clang4SemaERKNS1_17InitializedEntityEPNS1_12InitListExprERNS1_8QualTypeE", "(anonymous namespace)::InitListChecker::InitListChecker(clang::Sema&, clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType&)"},
-    {"_ZN5clang17InitializedEntityC1ERNS_10ASTContextEjRKS0_", "clang::InitializedEntity::InitializedEntity(clang::ASTContext&, unsigned int, clang::InitializedEntity const&)"},
-    {"_ZN5clang17InitializedEntityC2ERNS_10ASTContextEjRKS0_", "clang::InitializedEntity::InitializedEntity(clang::ASTContext&, unsigned int, clang::InitializedEntity const&)"},
-    {"_ZN5clang17InitializedEntity14InitializeBaseERNS_10ASTContextEPNS_16CXXBaseSpecifierEb", "clang::InitializedEntity::InitializeBase(clang::ASTContext&, clang::CXXBaseSpecifier*, bool)"},
-    {"_ZNK5clang17InitializedEntity7getNameEv", "clang::InitializedEntity::getName() const"},
-    {"_ZNK5clang17InitializedEntity7getDeclEv", "clang::InitializedEntity::getDecl() const"},
-    {"_ZNK5clang17InitializedEntity10allowsNRVOEv", "clang::InitializedEntity::allowsNRVO() const"},
-    {"_ZN5clang22InitializationSequence4Step7DestroyEv", "clang::InitializationSequence::Step::Destroy()"},
-    {"_ZNK5clang22InitializationSequence24isDirectReferenceBindingEv", "clang::InitializationSequence::isDirectReferenceBinding() const"},
-    {"_ZNK5clang22InitializationSequence11isAmbiguousEv", "clang::InitializationSequence::isAmbiguous() const"},
-    {"_ZNK5clang22InitializationSequence27isConstructorInitializationEv", "clang::InitializationSequence::isConstructorInitialization() const"},
-    {"_ZN5clang22InitializationSequence32AddAddressOverloadResolutionStepEPNS_12FunctionDeclENS_14DeclAccessPairE", "clang::InitializationSequence::AddAddressOverloadResolutionStep(clang::FunctionDecl*, clang::DeclAccessPair)"},
-    {"_ZN5clang22InitializationSequence24AddDerivedToBaseCastStepENS_8QualTypeENS_13ExprValueKindE", "clang::InitializationSequence::AddDerivedToBaseCastStep(clang::QualType, clang::ExprValueKind)"},
-    {"_ZN5clang22InitializationSequence23AddReferenceBindingStepENS_8QualTypeEb", "clang::InitializationSequence::AddReferenceBindingStep(clang::QualType, bool)"},
-    {"_ZN5clang22InitializationSequence28AddExtraneousCopyToTemporaryENS_8QualTypeE", "clang::InitializationSequence::AddExtraneousCopyToTemporary(clang::QualType)"},
-    {"_ZN5clang22InitializationSequence21AddUserConversionStepEPNS_12FunctionDeclENS_14DeclAccessPairENS_8QualTypeE", "clang::InitializationSequence::AddUserConversionStep(clang::FunctionDecl*, clang::DeclAccessPair, clang::QualType)"},
-    {"_ZN5clang22InitializationSequence30AddQualificationConversionStepENS_8QualTypeENS_13ExprValueKindE", "clang::InitializationSequence::AddQualificationConversionStep(clang::QualType, clang::ExprValueKind)"},
-    {"_ZN5clang22InitializationSequence25AddConversionSequenceStepERKNS_26ImplicitConversionSequenceENS_8QualTypeE", "clang::InitializationSequence::AddConversionSequenceStep(clang::ImplicitConversionSequence const&, clang::QualType)"},
-    {"_ZN5clang22InitializationSequence25AddListInitializationStepENS_8QualTypeE", "clang::InitializationSequence::AddListInitializationStep(clang::QualType)"},
-    {"_ZN5clang22InitializationSequence32AddConstructorInitializationStepEPNS_18CXXConstructorDeclENS_15AccessSpecifierENS_8QualTypeE", "clang::InitializationSequence::AddConstructorInitializationStep(clang::CXXConstructorDecl*, clang::AccessSpecifier, clang::QualType)"},
-    {"_ZN5clang22InitializationSequence25AddZeroInitializationStepENS_8QualTypeE", "clang::InitializationSequence::AddZeroInitializationStep(clang::QualType)"},
-    {"_ZN5clang22InitializationSequence18AddCAssignmentStepENS_8QualTypeE", "clang::InitializationSequence::AddCAssignmentStep(clang::QualType)"},
-    {"_ZN5clang22InitializationSequence17AddStringInitStepENS_8QualTypeE", "clang::InitializationSequence::AddStringInitStep(clang::QualType)"},
-    {"_ZN5clang22InitializationSequence27AddObjCObjectConversionStepENS_8QualTypeE", "clang::InitializationSequence::AddObjCObjectConversionStep(clang::QualType)"},
-    {"_ZN5clang22InitializationSequence18SetOverloadFailureENS0_11FailureKindENS_17OverloadingResultE", "clang::InitializationSequence::SetOverloadFailure(clang::InitializationSequence::FailureKind, clang::OverloadingResult)"},
-    {"_ZN5clang22InitializationSequenceC1ERNS_4SemaERKNS_17InitializedEntityERKNS_18InitializationKindEPPNS_4ExprEj", "clang::InitializationSequence::InitializationSequence(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, clang::Expr**, unsigned int)"},
-    {"_ZN5clang22InitializationSequenceC2ERNS_4SemaERKNS_17InitializedEntityERKNS_18InitializationKindEPPNS_4ExprEj", "clang::InitializationSequence::InitializationSequence(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, clang::Expr**, unsigned int)"},
-    {"_Z12IsStringInitPN5clang4ExprENS_8QualTypeERNS_10ASTContextE", "IsStringInit(clang::Expr*, clang::QualType, clang::ASTContext&)"},
-    {"_Z28TryConstructorInitializationRN5clang4SemaERKNS_17InitializedEntityERKNS_18InitializationKindEPPNS_4ExprEjNS_8QualTypeERNS_22InitializationSequenceE", "TryConstructorInitialization(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, clang::Expr**, unsigned int, clang::QualType, clang::InitializationSequence&)"},
-    {"_Z24TryUserDefinedConversionRN5clang4SemaERKNS_17InitializedEntityERKNS_18InitializationKindEPNS_4ExprERNS_22InitializationSequenceE", "TryUserDefinedConversion(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, clang::Expr*, clang::InitializationSequence&)"},
-    {"_ZN5clang22InitializationSequenceD1Ev", "clang::InitializationSequence::~InitializationSequence()"},
-    {"_ZN5clang22InitializationSequenceD2Ev", "clang::InitializationSequence::~InitializationSequence()"},
-    {"_ZN5clang22InitializationSequence21PrintInitLocationNoteERNS_4SemaERKNS_17InitializedEntityE", "clang::InitializationSequence::PrintInitLocationNote(clang::Sema&, clang::InitializedEntity const&)"},
-    {"_ZN5clang22InitializationSequence7PerformERNS_4SemaERKNS_17InitializedEntityERKNS_18InitializationKindENS_11ASTMultiPtrIPNS_4ExprEEEPNS_8QualTypeE", "clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, clang::ASTMultiPtr<clang::Expr*>, clang::QualType*)"},
-    {"_ZN5clang22InitializationSequence8DiagnoseERNS_4SemaERKNS_17InitializedEntityERKNS_18InitializationKindEPPNS_4ExprEj", "clang::InitializationSequence::Diagnose(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, clang::Expr**, unsigned int)"},
-    {"_Z10CopyObjectRN5clang4SemaENS_8QualTypeERKNS_17InitializedEntityENS_12ActionResultIPNS_4ExprELb1EEEb", "CopyObject(clang::Sema&, clang::QualType, clang::InitializedEntity const&, clang::ActionResult<clang::Expr*, true>, bool)"},
-    {"_Z15CheckStringInitPN5clang4ExprERNS_8QualTypeERNS_4SemaE", "CheckStringInit(clang::Expr*, clang::QualType&, clang::Sema&)"},
-    {"_ZNK5clang22InitializationSequence4dumpERN4llvm11raw_ostreamE", "clang::InitializationSequence::dump(llvm::raw_ostream&) const"},
-    {"_ZNK5clang22InitializationSequence4dumpEv", "clang::InitializationSequence::dump() const"},
-    {"_ZN5clang4Sema25PerformCopyInitializationERKNS_17InitializedEntityENS_14SourceLocationENS_12ActionResultIPNS_4ExprELb1EEE", "clang::Sema::PerformCopyInitialization(clang::InitializedEntity const&, clang::SourceLocation, clang::ActionResult<clang::Expr*, true>)"},
-    {"_Z32TryRefInitWithConversionFunctionRN5clang4SemaERKNS_17InitializedEntityERKNS_18InitializationKindEPNS_4ExprEbRNS_22InitializationSequenceE", "TryRefInitWithConversionFunction(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, clang::Expr*, bool, clang::InitializationSequence&)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker26getStructuredSubobjectInitEPN5clang12InitListExprEjNS1_8QualTypeES3_jNS1_11SourceRangeE", "(anonymous namespace)::InitListChecker::getStructuredSubobjectInit(clang::InitListExpr*, unsigned int, clang::QualType, clang::InitListExpr*, unsigned int, clang::SourceRange)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker21CheckExplicitInitListERKN5clang17InitializedEntityEPNS1_12InitListExprERNS1_8QualTypeERjS6_S9_b", "(anonymous namespace)::InitListChecker::CheckExplicitInitList(clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType&, unsigned int&, clang::InitListExpr*, unsigned int&, bool)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker26FillInValueInitializationsERKN5clang17InitializedEntityEPNS1_12InitListExprERb", "(anonymous namespace)::InitListChecker::FillInValueInitializations(clang::InitializedEntity const&, clang::InitListExpr*, bool&)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker23FillInValueInitForFieldEjPN5clang9FieldDeclERKNS1_17InitializedEntityEPNS1_12InitListExprERb", "(anonymous namespace)::InitListChecker::FillInValueInitForField(unsigned int, clang::FieldDecl*, clang::InitializedEntity const&, clang::InitListExpr*, bool&)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker21CheckListElementTypesERKN5clang17InitializedEntityEPNS1_12InitListExprERNS1_8QualTypeEbRjS6_S9_b", "(anonymous namespace)::InitListChecker::CheckListElementTypes(clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType&, bool, unsigned int&, clang::InitListExpr*, unsigned int&, bool)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker15CheckScalarTypeERKN5clang17InitializedEntityEPNS1_12InitListExprENS1_8QualTypeERjS6_S8_", "(anonymous namespace)::InitListChecker::CheckScalarType(clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType, unsigned int&, clang::InitListExpr*, unsigned int&)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker21CheckStructUnionTypesERKN5clang17InitializedEntityEPNS1_12InitListExprENS1_8QualTypeENS1_11DeclContext22specific_decl_iteratorINS1_9FieldDeclEEEbRjS6_SC_b", "(anonymous namespace)::InitListChecker::CheckStructUnionTypes(clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType, clang::DeclContext::specific_decl_iterator<clang::FieldDecl>, bool, unsigned int&, clang::InitListExpr*, unsigned int&, bool)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker14CheckArrayTypeERKN5clang17InitializedEntityEPNS1_12InitListExprERNS1_8QualTypeEN4llvm6APSIntEbRjS6_SB_", "(anonymous namespace)::InitListChecker::CheckArrayType(clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType&, llvm::APSInt, bool, unsigned int&, clang::InitListExpr*, unsigned int&)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker18CheckReferenceTypeERKN5clang17InitializedEntityEPNS1_12InitListExprENS1_8QualTypeERjS6_S8_", "(anonymous namespace)::InitListChecker::CheckReferenceType(clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType, unsigned int&, clang::InitListExpr*, unsigned int&)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker27UpdateStructuredListElementEPN5clang12InitListExprERjPNS1_4ExprE", "(anonymous namespace)::InitListChecker::UpdateStructuredListElement(clang::InitListExpr*, unsigned int&, clang::Expr*)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker26CheckDesignatedInitializerERKN5clang17InitializedEntityEPNS1_12InitListExprEPNS1_18DesignatedInitExprEjRNS1_8QualTypeEPNS1_11DeclContext22specific_decl_iteratorINS1_9FieldDeclEEEPN4llvm6APSIntERjS6_SJ_bb", "(anonymous namespace)::InitListChecker::CheckDesignatedInitializer(clang::InitializedEntity const&, clang::InitListExpr*, clang::DesignatedInitExpr*, unsigned int, clang::QualType&, clang::DeclContext::specific_decl_iterator<clang::FieldDecl>*, llvm::APSInt*, unsigned int&, clang::InitListExpr*, unsigned int&, bool, bool)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker19CheckSubElementTypeERKN5clang17InitializedEntityEPNS1_12InitListExprENS1_8QualTypeERjS6_S8_", "(anonymous namespace)::InitListChecker::CheckSubElementType(clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType, unsigned int&, clang::InitListExpr*, unsigned int&)"},
-    {"_ZN12_GLOBAL__N_115InitListChecker21CheckImplicitInitListERKN5clang17InitializedEntityEPNS1_12InitListExprENS1_8QualTypeERjS6_S8_b", "(anonymous namespace)::InitListChecker::CheckImplicitInitList(clang::InitializedEntity const&, clang::InitListExpr*, clang::QualType, unsigned int&, clang::InitListExpr*, unsigned int&, bool)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang22InitializationSequence4StepELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::InitializationSequence::Step, false>::grow(unsigned long)"},
-    {"_ZNSt8_Rb_treeIPN5clang12InitListExprESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<clang::InitListExpr*, std::pair<clang::InitListExpr* const, clang::InitListExpr*>, std::_Select1st<std::pair<clang::InitListExpr* const, clang::InitListExpr*> >, std::less<clang::InitListExpr*>, std::allocator<std::pair<clang::InitListExpr* const, clang::InitListExpr*> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::InitListExpr* const, clang::InitListExpr*> >*)"},
-    {"_ZNSt8_Rb_treeIPN5clang12InitListExprESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<clang::InitListExpr*, std::pair<clang::InitListExpr* const, clang::InitListExpr*>, std::_Select1st<std::pair<clang::InitListExpr* const, clang::InitListExpr*> >, std::less<clang::InitListExpr*>, std::allocator<std::pair<clang::InitListExpr* const, clang::InitListExpr*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::InitListExpr* const, clang::InitListExpr*> >, std::pair<clang::InitListExpr* const, clang::InitListExpr*> const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang12InitListExprESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<clang::InitListExpr*, std::pair<clang::InitListExpr* const, clang::InitListExpr*>, std::_Select1st<std::pair<clang::InitListExpr* const, clang::InitListExpr*> >, std::less<clang::InitListExpr*>, std::allocator<std::pair<clang::InitListExpr* const, clang::InitListExpr*> > >::_M_insert_unique(std::pair<clang::InitListExpr* const, clang::InitListExpr*> const&)"},
-    {"_ZN5clang12LookupResult9configureEv", "clang::LookupResult::configure()"},
-    {"_ZNK5clang12LookupResult6sanityEv", "clang::LookupResult::sanity() const"},
-    {"_ZN5clang12LookupResult11deletePathsEPNS_12CXXBasePathsE", "clang::LookupResult::deletePaths(clang::CXXBasePaths*)"},
-    {"_ZN5clang12LookupResult11resolveKindEv", "clang::LookupResult::resolveKind()"},
-    {"_ZN5clang12LookupResult21addDeclsFromBasePathsERKNS_12CXXBasePathsE", "clang::LookupResult::addDeclsFromBasePaths(clang::CXXBasePaths const&)"},
-    {"_ZN5clang12LookupResult26setAmbiguousBaseSubobjectsERNS_12CXXBasePathsE", "clang::LookupResult::setAmbiguousBaseSubobjects(clang::CXXBasePaths&)"},
-    {"_ZN5clang12LookupResult30setAmbiguousBaseSubobjectTypesERNS_12CXXBasePathsE", "clang::LookupResult::setAmbiguousBaseSubobjectTypes(clang::CXXBasePaths&)"},
-    {"_ZN5clang12LookupResult5printERN4llvm11raw_ostreamE", "clang::LookupResult::print(llvm::raw_ostream&)"},
-    {"_ZN5clang4Sema33ForceDeclarationOfImplicitMembersEPNS_13CXXRecordDeclE", "clang::Sema::ForceDeclarationOfImplicitMembers(clang::CXXRecordDecl*)"},
-    {"_Z31CanDeclareSpecialMemberFunctionRN5clang10ASTContextEPKNS_13CXXRecordDeclE", "CanDeclareSpecialMemberFunction(clang::ASTContext&, clang::CXXRecordDecl const*)"},
-    {"_ZN5clang4Sema13CppLookupNameERNS_12LookupResultEPNS_5ScopeE", "clang::Sema::CppLookupName(clang::LookupResult&, clang::Scope*)"},
-    {"_Z38DeclareImplicitMemberFunctionsWithNameRN5clang4SemaENS_15DeclarationNameEPKNS_11DeclContextE", "DeclareImplicitMemberFunctionsWithName(clang::Sema&, clang::DeclarationName, clang::DeclContext const*)"},
-    {"_Z16findOuterContextPN5clang5ScopeE", "findOuterContext(clang::Scope*)"},
-    {"_ZN5clang4Sema19LookupQualifiedNameERNS_12LookupResultEPNS_11DeclContextEb", "clang::Sema::LookupQualifiedName(clang::LookupResult&, clang::DeclContext*, bool)"},
-    {"_ZN12_GLOBAL__N_123UnqualUsingDirectiveSet15visitScopeChainEPN5clang5ScopeES3_", "(anonymous namespace)::UnqualUsingDirectiveSet::visitScopeChain(clang::Scope*, clang::Scope*)"},
-    {"_ZN12_GLOBAL__N_123UnqualUsingDirectiveSet4doneEv", "(anonymous namespace)::UnqualUsingDirectiveSet::done()"},
-    {"_ZN5clang4Sema10LookupNameERNS_12LookupResultEPNS_5ScopeEb", "clang::Sema::LookupName(clang::LookupResult&, clang::Scope*, bool)"},
-    {"_Z13LookupBuiltinRN5clang4SemaERNS_12LookupResultE", "LookupBuiltin(clang::Sema&, clang::LookupResult&)"},
-    {"_Z12LookupDirectRN5clang4SemaERNS_12LookupResultEPKNS_11DeclContextE", "LookupDirect(clang::Sema&, clang::LookupResult&, clang::DeclContext const*)"},
-    {"_Z15LookupAnyMemberPKN5clang16CXXBaseSpecifierERNS_11CXXBasePathEPv", "LookupAnyMember(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*)"},
-    {"_ZN5clang4Sema16LookupParsedNameERNS_12LookupResultEPNS_5ScopeEPNS_12CXXScopeSpecEbb", "clang::Sema::LookupParsedName(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec*, bool, bool)"},
-    {"_ZN5clang4Sema23DiagnoseAmbiguousLookupERNS_12LookupResultE", "clang::Sema::DiagnoseAmbiguousLookup(clang::LookupResult&)"},
-    {"_ZN5clang4Sema34FindAssociatedClassesAndNamespacesEPPNS_4ExprEjRN4llvm11SmallPtrSetIPNS_11DeclContextELj16EEERNS5_IPNS_13CXXRecordDeclELj16EEE", "clang::Sema::FindAssociatedClassesAndNamespaces(clang::Expr**, unsigned int, llvm::SmallPtrSet<clang::DeclContext*, 16u>&, llvm::SmallPtrSet<clang::CXXRecordDecl*, 16u>&)"},
-    {"_Z33addAssociatedClassesAndNamespacesRN12_GLOBAL__N_116AssociatedLookupEN5clang8QualTypeE", "addAssociatedClassesAndNamespaces((anonymous namespace)::AssociatedLookup&, clang::QualType)"},
-    {"_ZN5clang4Sema16LookupSingleNameEPNS_5ScopeENS_15DeclarationNameENS_14SourceLocationENS0_14LookupNameKindENS0_17RedeclarationKindE", "clang::Sema::LookupSingleName(clang::Scope*, clang::DeclarationName, clang::SourceLocation, clang::Sema::LookupNameKind, clang::Sema::RedeclarationKind)"},
-    {"_ZN5clang4Sema14LookupProtocolEPNS_14IdentifierInfoENS_14SourceLocationE", "clang::Sema::LookupProtocol(clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema28LookupOverloadedOperatorNameENS_22OverloadedOperatorKindEPNS_5ScopeENS_8QualTypeES4_RNS_17UnresolvedSetImplE", "clang::Sema::LookupOverloadedOperatorName(clang::OverloadedOperatorKind, clang::Scope*, clang::QualType, clang::QualType, clang::UnresolvedSetImpl&)"},
-    {"_Z38IsAcceptableNonMemberOperatorCandidatePN5clang12FunctionDeclENS_8QualTypeES2_RNS_10ASTContextE", "IsAcceptableNonMemberOperatorCandidate(clang::FunctionDecl*, clang::QualType, clang::QualType, clang::ASTContext&)"},
-    {"_ZN5clang4Sema18LookupConstructorsEPNS_13CXXRecordDeclE", "clang::Sema::LookupConstructors(clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema16LookupDestructorEPNS_13CXXRecordDeclE", "clang::Sema::LookupDestructor(clang::CXXRecordDecl*)"},
-    {"_ZN5clang9ADLResult6insertEPNS_9NamedDeclE", "clang::ADLResult::insert(clang::NamedDecl*)"},
-    {"_ZN5clang4Sema23ArgumentDependentLookupENS_15DeclarationNameEbPPNS_4ExprEjRNS_9ADLResultE", "clang::Sema::ArgumentDependentLookup(clang::DeclarationName, bool, clang::Expr**, unsigned int, clang::ADLResult&)"},
-    {"_ZN5clang19VisibleDeclConsumerD0Ev", "clang::VisibleDeclConsumer::~VisibleDeclConsumer()"},
-    {"_ZN5clang19VisibleDeclConsumerD1Ev", "clang::VisibleDeclConsumer::~VisibleDeclConsumer()"},
-    {"_ZN5clang19VisibleDeclConsumerD2Ev", "clang::VisibleDeclConsumer::~VisibleDeclConsumer()"},
-    {"_ZN5clang4Sema18LookupVisibleDeclsEPNS_5ScopeENS0_14LookupNameKindERNS_19VisibleDeclConsumerEb", "clang::Sema::LookupVisibleDecls(clang::Scope*, clang::Sema::LookupNameKind, clang::VisibleDeclConsumer&, bool)"},
-    {"_ZN12_GLOBAL__N_117ShadowContextRAIIC1ERNS_18VisibleDeclsRecordE", "(anonymous namespace)::ShadowContextRAII::ShadowContextRAII((anonymous namespace)::VisibleDeclsRecord&)"},
-    {"_Z18LookupVisibleDeclsPN5clang5ScopeERNS_12LookupResultERN12_GLOBAL__N_123UnqualUsingDirectiveSetERNS_19VisibleDeclConsumerERNS4_18VisibleDeclsRecordE", "LookupVisibleDecls(clang::Scope*, clang::LookupResult&, (anonymous namespace)::UnqualUsingDirectiveSet&, clang::VisibleDeclConsumer&, (anonymous namespace)::VisibleDeclsRecord&)"},
-    {"_ZN12_GLOBAL__N_117ShadowContextRAIID1Ev", "(anonymous namespace)::ShadowContextRAII::~ShadowContextRAII()"},
-    {"_ZN5clang4Sema18LookupVisibleDeclsEPNS_11DeclContextENS0_14LookupNameKindERNS_19VisibleDeclConsumerEb", "clang::Sema::LookupVisibleDecls(clang::DeclContext*, clang::Sema::LookupNameKind, clang::VisibleDeclConsumer&, bool)"},
-    {"_Z18LookupVisibleDeclsPN5clang11DeclContextERNS_12LookupResultEbbRNS_19VisibleDeclConsumerERN12_GLOBAL__N_118VisibleDeclsRecordE", "LookupVisibleDecls(clang::DeclContext*, clang::LookupResult&, bool, bool, clang::VisibleDeclConsumer&, (anonymous namespace)::VisibleDeclsRecord&)"},
-    {"_ZN5clang4Sema11CorrectTypoERNS_12LookupResultEPNS_5ScopeEPNS_12CXXScopeSpecEPNS_11DeclContextEbNS0_18CorrectTypoContextEPKNS_21ObjCObjectPointerTypeE", "clang::Sema::CorrectTypo(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec*, clang::DeclContext*, bool, clang::Sema::CorrectTypoContext, clang::ObjCObjectPointerType const*)"},
-    {"_ZN12_GLOBAL__N_122TypoCorrectionConsumer9FoundNameEN4llvm9StringRefE", "(anonymous namespace)::TypoCorrectionConsumer::FoundName(llvm::StringRef)"},
-    {"_Z25LookupPotentialTypoResultRN5clang4SemaERNS_12LookupResultEPNS_14IdentifierInfoEPNS_5ScopeEPNS_12CXXScopeSpecEPNS_11DeclContextEbNS0_18CorrectTypoContextE", "LookupPotentialTypoResult(clang::Sema&, clang::LookupResult&, clang::IdentifierInfo*, clang::Scope*, clang::CXXScopeSpec*, clang::DeclContext*, bool, clang::Sema::CorrectTypoContext)"},
-    {"_ZN12_GLOBAL__N_122TypoCorrectionConsumerD1Ev", "(anonymous namespace)::TypoCorrectionConsumer::~TypoCorrectionConsumer()"},
-    {"_ZN12_GLOBAL__N_122TypoCorrectionConsumerD0Ev", "(anonymous namespace)::TypoCorrectionConsumer::~TypoCorrectionConsumer()"},
-    {"_ZN12_GLOBAL__N_122TypoCorrectionConsumer9FoundDeclEPN5clang9NamedDeclES3_b", "(anonymous namespace)::TypoCorrectionConsumer::FoundDecl(clang::NamedDecl*, clang::NamedDecl*, bool)"},
-    {"_ZN12_GLOBAL__N_118VisibleDeclsRecord11checkHiddenEPN5clang9NamedDeclE", "(anonymous namespace)::VisibleDeclsRecord::checkHidden(clang::NamedDecl*)"},
-    {"_ZN12_GLOBAL__N_118VisibleDeclsRecord3addEPN5clang9NamedDeclE", "(anonymous namespace)::VisibleDeclsRecord::add(clang::NamedDecl*)"},
-    {"_ZNK12_GLOBAL__N_123UnqualUsingDirectiveSet16getNamespacesForEPN5clang11DeclContextE", "(anonymous namespace)::UnqualUsingDirectiveSet::getNamespacesFor(clang::DeclContext*) const"},
-    {"_Z25CollectEnclosingNamespaceRN4llvm11SmallPtrSetIPN5clang11DeclContextELj16EEES3_", "CollectEnclosingNamespace(llvm::SmallPtrSet<clang::DeclContext*, 16u>&, clang::DeclContext*)"},
-    {"_Z33addAssociatedClassesAndNamespacesRN12_GLOBAL__N_116AssociatedLookupERKN5clang16TemplateArgumentE", "addAssociatedClassesAndNamespaces((anonymous namespace)::AssociatedLookup&, clang::TemplateArgument const&)"},
-    {"_ZSt16__introsort_loopIPN12_GLOBAL__N_116UnqualUsingEntryElNS1_10ComparatorEEvT_S4_T0_T1_", "void std::__introsort_loop<(anonymous namespace)::UnqualUsingEntry*, long, (anonymous namespace)::UnqualUsingEntry::Comparator>((anonymous namespace)::UnqualUsingEntry*, (anonymous namespace)::UnqualUsingEntry*, long, (anonymous namespace)::UnqualUsingEntry::Comparator)"},
-    {"_ZSt16__insertion_sortIPN12_GLOBAL__N_116UnqualUsingEntryENS1_10ComparatorEEvT_S4_T0_", "void std::__insertion_sort<(anonymous namespace)::UnqualUsingEntry*, (anonymous namespace)::UnqualUsingEntry::Comparator>((anonymous namespace)::UnqualUsingEntry*, (anonymous namespace)::UnqualUsingEntry*, (anonymous namespace)::UnqualUsingEntry::Comparator)"},
-    {"_ZN12_GLOBAL__N_123UnqualUsingDirectiveSet17addUsingDirectiveEPN5clang18UsingDirectiveDeclEPNS1_11DeclContextE", "(anonymous namespace)::UnqualUsingDirectiveSet::addUsingDirective(clang::UsingDirectiveDecl*, clang::DeclContext*)"},
-    {"_ZN12_GLOBAL__N_123UnqualUsingDirectiveSet18addUsingDirectivesEPN5clang11DeclContextES3_", "(anonymous namespace)::UnqualUsingDirectiveSet::addUsingDirectives(clang::DeclContext*, clang::DeclContext*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoESt4pairINS_9StringRefEbENS_12DenseMapInfoIS3_EENS7_IS6_EEE16InsertIntoBucketERKS3_RKS6_PS4_IS3_S6_E", "llvm::DenseMap<clang::IdentifierInfo*, std::pair<llvm::StringRef, bool>, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<std::pair<llvm::StringRef, bool> > >::InsertIntoBucket(clang::IdentifierInfo* const&, std::pair<llvm::StringRef, bool> const&, std::pair<clang::IdentifierInfo*, std::pair<llvm::StringRef, bool> >*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoESt4pairINS_9StringRefEbENS_12DenseMapInfoIS3_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, std::pair<llvm::StringRef, bool>, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<std::pair<llvm::StringRef, bool> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang9NamedDeclES3_NS_12DenseMapInfoIS3_EES5_E16InsertIntoBucketERKS3_S8_PSt4pairIS3_S3_E", "llvm::DenseMap<clang::NamedDecl*, clang::NamedDecl*, llvm::DenseMapInfo<clang::NamedDecl*>, llvm::DenseMapInfo<clang::NamedDecl*> >::InsertIntoBucket(clang::NamedDecl* const&, clang::NamedDecl* const&, std::pair<clang::NamedDecl*, clang::NamedDecl*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang9NamedDeclES3_NS_12DenseMapInfoIS3_EES5_E4growEj", "llvm::DenseMap<clang::NamedDecl*, clang::NamedDecl*, llvm::DenseMapInfo<clang::NamedDecl*>, llvm::DenseMapInfo<clang::NamedDecl*> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIPN5clang4DeclES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<clang::Decl*, clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>, std::allocator<clang::Decl*> >::_M_insert_unique(clang::Decl* const&)"},
-    {"_ZN4llvm9StringMapIbNS_16BumpPtrAllocatorEE16GetOrCreateValueIbEERNS_14StringMapEntryIbEENS_9StringRefET_", "llvm::StringMapEntry<bool>& llvm::StringMap<bool, llvm::BumpPtrAllocator>::GetOrCreateValue<bool>(llvm::StringRef, bool)"},
-    {"_ZNSt8_Rb_treeIPN5clang4DeclES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<clang::Decl*, clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>, std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang11DeclContextEcNS_12DenseMapInfoIS3_EENS4_IcEEE6insertERKSt4pairIS3_cE", "llvm::DenseMap<clang::DeclContext*, char, llvm::DenseMapInfo<clang::DeclContext*>, llvm::DenseMapInfo<char> >::insert(std::pair<clang::DeclContext*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang11DeclContextEcNS_12DenseMapInfoIS3_EENS4_IcEEE16InsertIntoBucketERKS3_RKcPSt4pairIS3_cE", "llvm::DenseMap<clang::DeclContext*, char, llvm::DenseMapInfo<clang::DeclContext*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(clang::DeclContext* const&, char const&, std::pair<clang::DeclContext*, char>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang11DeclContextEcNS_12DenseMapInfoIS3_EENS4_IcEEE4growEj", "llvm::DenseMap<clang::DeclContext*, char, llvm::DenseMapInfo<clang::DeclContext*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN5clang4Sema13ActOnPropertyEPNS_5ScopeENS_14SourceLocationERNS_15FieldDeclaratorERNS_12ObjCDeclSpecENS_8SelectorES8_PNS_4DeclEPbNS_3tok15ObjCKeywordKindEPNS_11DeclContextE", "clang::Sema::ActOnProperty(clang::Scope*, clang::SourceLocation, clang::FieldDeclarator&, clang::ObjCDeclSpec&, clang::Selector, clang::Selector, clang::Decl*, bool*, clang::tok::ObjCKeywordKind, clang::DeclContext*)"},
-    {"_ZN5clang4Sema30HandlePropertyInClassExtensionEPNS_5ScopeEPNS_16ObjCCategoryDeclENS_14SourceLocationERNS_15FieldDeclaratorENS_8SelectorES8_bbjPbPNS_14TypeSourceInfoENS_3tok15ObjCKeywordKindE", "clang::Sema::HandlePropertyInClassExtension(clang::Scope*, clang::ObjCCategoryDecl*, clang::SourceLocation, clang::FieldDeclarator&, clang::Selector, clang::Selector, bool, bool, unsigned int, bool*, clang::TypeSourceInfo*, clang::tok::ObjCKeywordKind)"},
-    {"_ZN5clang4Sema27CheckObjCPropertyAttributesEPNS_4DeclENS_14SourceLocationERj", "clang::Sema::CheckObjCPropertyAttributes(clang::Decl*, clang::SourceLocation, unsigned int&)"},
-    {"_ZN5clang4Sema18CreatePropertyDeclEPNS_5ScopeEPNS_17ObjCContainerDeclENS_14SourceLocationERNS_15FieldDeclaratorENS_8SelectorES8_bbjPNS_14TypeSourceInfoENS_3tok15ObjCKeywordKindEPNS_11DeclContextE", "clang::Sema::CreatePropertyDecl(clang::Scope*, clang::ObjCContainerDecl*, clang::SourceLocation, clang::FieldDeclarator&, clang::Selector, clang::Selector, bool, bool, unsigned int, clang::TypeSourceInfo*, clang::tok::ObjCKeywordKind, clang::DeclContext*)"},
-    {"_ZN5clang4Sema19ProcessPropertyDeclEPNS_16ObjCPropertyDeclEPNS_17ObjCContainerDeclES2_S4_", "clang::Sema::ProcessPropertyDecl(clang::ObjCPropertyDecl*, clang::ObjCContainerDecl*, clang::ObjCPropertyDecl*, clang::ObjCContainerDecl*)"},
-    {"_ZN5clang4Sema21ActOnPropertyImplDeclEPNS_5ScopeENS_14SourceLocationES3_bPNS_4DeclEPNS_14IdentifierInfoES7_S3_", "clang::Sema::ActOnPropertyImplDecl(clang::Scope*, clang::SourceLocation, clang::SourceLocation, bool, clang::Decl*, clang::IdentifierInfo*, clang::IdentifierInfo*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24DiagnosePropertyMismatchEPNS_16ObjCPropertyDeclES2_PKNS_14IdentifierInfoE", "clang::Sema::DiagnosePropertyMismatch(clang::ObjCPropertyDecl*, clang::ObjCPropertyDecl*, clang::IdentifierInfo const*)"},
-    {"_ZN5clang4Sema32DiagnosePropertyAccessorMismatchEPNS_16ObjCPropertyDeclEPNS_14ObjCMethodDeclENS_14SourceLocationE", "clang::Sema::DiagnosePropertyAccessorMismatch(clang::ObjCPropertyDecl*, clang::ObjCMethodDecl*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema31ComparePropertiesInBaseAndSuperEPNS_17ObjCInterfaceDeclE", "clang::Sema::ComparePropertiesInBaseAndSuper(clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang4Sema33MatchOneProtocolPropertiesInClassEPNS_4DeclEPNS_16ObjCProtocolDeclE", "clang::Sema::MatchOneProtocolPropertiesInClass(clang::Decl*, clang::ObjCProtocolDecl*)"},
-    {"_ZN5clang4Sema17ComparePropertiesEPNS_4DeclES2_", "clang::Sema::CompareProperties(clang::Decl*, clang::Decl*)"},
-    {"_ZN5clang4Sema18isPropertyReadonlyEPNS_16ObjCPropertyDeclEPNS_17ObjCInterfaceDeclE", "clang::Sema::isPropertyReadonly(clang::ObjCPropertyDecl*, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang4Sema26CollectImmediatePropertiesEPNS_17ObjCContainerDeclERN4llvm8DenseMapIPNS_14IdentifierInfoEPNS_16ObjCPropertyDeclENS3_12DenseMapInfoIS6_EENS9_IS8_EEEESD_", "clang::Sema::CollectImmediateProperties(clang::ObjCContainerDecl*, llvm::DenseMap<clang::IdentifierInfo*, clang::ObjCPropertyDecl*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::ObjCPropertyDecl*> >&, llvm::DenseMap<clang::IdentifierInfo*, clang::ObjCPropertyDecl*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::ObjCPropertyDecl*> >&)"},
-    {"_ZN5clang4Sema18LookupPropertyDeclEPKNS_17ObjCContainerDeclEPNS_14IdentifierInfoE", "clang::Sema::LookupPropertyDecl(clang::ObjCContainerDecl const*, clang::IdentifierInfo*)"},
-    {"_ZN5clang4Sema27DefaultSynthesizePropertiesEPNS_5ScopeEPNS_12ObjCImplDeclEPNS_17ObjCInterfaceDeclE", "clang::Sema::DefaultSynthesizeProperties(clang::Scope*, clang::ObjCImplDecl*, clang::ObjCInterfaceDecl*)"},
-    {"_Z35CollectClassPropertyImplementationsPN5clang17ObjCContainerDeclERN4llvm8DenseMapIPNS_14IdentifierInfoEPNS_16ObjCPropertyDeclENS2_12DenseMapInfoIS5_EENS8_IS7_EEEE", "CollectClassPropertyImplementations(clang::ObjCContainerDecl*, llvm::DenseMap<clang::IdentifierInfo*, clang::ObjCPropertyDecl*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::ObjCPropertyDecl*> >&)"},
-    {"_ZN5clang4Sema31DiagnoseUnimplementedPropertiesEPNS_5ScopeEPNS_12ObjCImplDeclEPNS_17ObjCContainerDeclERKN4llvm8DenseSetINS_8SelectorENS7_12DenseMapInfoIS9_EEEE", "clang::Sema::DiagnoseUnimplementedProperties(clang::Scope*, clang::ObjCImplDecl*, clang::ObjCContainerDecl*, llvm::DenseSet<clang::Selector, llvm::DenseMapInfo<clang::Selector> > const&)"},
-    {"_ZN5clang4Sema31AtomicPropertySetterGetterRulesEPNS_12ObjCImplDeclEPNS_17ObjCContainerDeclE", "clang::Sema::AtomicPropertySetterGetterRules(clang::ObjCImplDecl*, clang::ObjCContainerDecl*)"},
-    {"_Z16AddPropertyAttrsRN5clang4SemaEPNS_14ObjCMethodDeclEPNS_16ObjCPropertyDeclE", "AddPropertyAttrs(clang::Sema&, clang::ObjCMethodDecl*, clang::ObjCPropertyDecl*)"},
-    {"_ZN4llvm8DenseMapIPN5clang16ObjCPropertyDeclEcNS_12DenseMapInfoIS3_EENS4_IcEEE6insertERKSt4pairIS3_cE", "llvm::DenseMap<clang::ObjCPropertyDecl*, char, llvm::DenseMapInfo<clang::ObjCPropertyDecl*>, llvm::DenseMapInfo<char> >::insert(std::pair<clang::ObjCPropertyDecl*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang16ObjCPropertyDeclEcNS_12DenseMapInfoIS3_EENS4_IcEEE16InsertIntoBucketERKS3_RKcPSt4pairIS3_cE", "llvm::DenseMap<clang::ObjCPropertyDecl*, char, llvm::DenseMapInfo<clang::ObjCPropertyDecl*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(clang::ObjCPropertyDecl* const&, char const&, std::pair<clang::ObjCPropertyDecl*, char>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang16ObjCPropertyDeclEcNS_12DenseMapInfoIS3_EENS4_IcEEE4growEj", "llvm::DenseMap<clang::ObjCPropertyDecl*, char, llvm::DenseMapInfo<clang::ObjCPropertyDecl*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS1_16ObjCPropertyDeclENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::IdentifierInfo*, clang::ObjCPropertyDecl*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::ObjCPropertyDecl*> >::InsertIntoBucket(clang::IdentifierInfo* const&, clang::ObjCPropertyDecl* const&, std::pair<clang::IdentifierInfo*, clang::ObjCPropertyDecl*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS1_16ObjCPropertyDeclENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, clang::ObjCPropertyDecl*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::ObjCPropertyDecl*> >::grow(unsigned int)"},
-    {"_ZN5clang21GetConversionCategoryENS_22ImplicitConversionKindE", "clang::GetConversionCategory(clang::ImplicitConversionKind)"},
-    {"_ZN5clang17GetConversionRankENS_22ImplicitConversionKindE", "clang::GetConversionRank(clang::ImplicitConversionKind)"},
-    {"_ZN5clang25GetImplicitConversionNameENS_22ImplicitConversionKindE", "clang::GetImplicitConversionName(clang::ImplicitConversionKind)"},
-    {"_ZN5clang26StandardConversionSequence23setAsIdentityConversionEv", "clang::StandardConversionSequence::setAsIdentityConversion()"},
-    {"_ZNK5clang26StandardConversionSequence7getRankEv", "clang::StandardConversionSequence::getRank() const"},
-    {"_ZNK5clang26StandardConversionSequence25isPointerConversionToBoolEv", "clang::StandardConversionSequence::isPointerConversionToBool() const"},
-    {"_ZNK5clang26StandardConversionSequence32isPointerConversionToVoidPointerERNS_10ASTContextE", "clang::StandardConversionSequence::isPointerConversionToVoidPointer(clang::ASTContext&) const"},
-    {"_ZNK5clang26StandardConversionSequence10DebugPrintEv", "clang::StandardConversionSequence::DebugPrint() const"},
-    {"_ZNK5clang29UserDefinedConversionSequence10DebugPrintEv", "clang::UserDefinedConversionSequence::DebugPrint() const"},
-    {"_ZNK5clang26ImplicitConversionSequence10DebugPrintEv", "clang::ImplicitConversionSequence::DebugPrint() const"},
-    {"_ZN5clang27AmbiguousConversionSequence9constructEv", "clang::AmbiguousConversionSequence::construct()"},
-    {"_ZN5clang27AmbiguousConversionSequence8destructEv", "clang::AmbiguousConversionSequence::destruct()"},
-    {"_ZN5clang27AmbiguousConversionSequence8copyFromERKS0_", "clang::AmbiguousConversionSequence::copyFrom(clang::AmbiguousConversionSequence const&)"},
-    {"_ZN5clang17OverloadCandidate20DeductionFailureInfo7DestroyEv", "clang::OverloadCandidate::DeductionFailureInfo::Destroy()"},
-    {"_ZN5clang17OverloadCandidate20DeductionFailureInfo20getTemplateParameterEv", "clang::OverloadCandidate::DeductionFailureInfo::getTemplateParameter()"},
-    {"_ZN5clang17OverloadCandidate20DeductionFailureInfo23getTemplateArgumentListEv", "clang::OverloadCandidate::DeductionFailureInfo::getTemplateArgumentList()"},
-    {"_ZN5clang17OverloadCandidate20DeductionFailureInfo11getFirstArgEv", "clang::OverloadCandidate::DeductionFailureInfo::getFirstArg()"},
-    {"_ZN5clang17OverloadCandidate20DeductionFailureInfo12getSecondArgEv", "clang::OverloadCandidate::DeductionFailureInfo::getSecondArg()"},
-    {"_ZN5clang20OverloadCandidateSet5clearEv", "clang::OverloadCandidateSet::clear()"},
-    {"_ZN5clang4Sema13CheckOverloadEPNS_5ScopeEPNS_12FunctionDeclERKNS_12LookupResultERPNS_9NamedDeclEb", "clang::Sema::CheckOverload(clang::Scope*, clang::FunctionDecl*, clang::LookupResult const&, clang::NamedDecl*&, bool)"},
-    {"_ZN5clang4Sema10IsOverloadEPNS_12FunctionDeclES2_b", "clang::Sema::IsOverload(clang::FunctionDecl*, clang::FunctionDecl*, bool)"},
-    {"_ZN5clang4Sema24FunctionArgTypesAreEqualEPKNS_17FunctionProtoTypeES3_", "clang::Sema::FunctionArgTypesAreEqual(clang::FunctionProtoType const*, clang::FunctionProtoType const*)"},
-    {"_ZN5clang4Sema21TryImplicitConversionERNS_22InitializationSequenceERKNS_17InitializedEntityEPNS_4ExprEbbbb", "clang::Sema::TryImplicitConversion(clang::InitializationSequence&, clang::InitializedEntity const&, clang::Expr*, bool, bool, bool, bool)"},
-    {"_ZN5clang21TryImplicitConversionERNS_4SemaEPNS_4ExprENS_8QualTypeEbbbb", "clang::TryImplicitConversion(clang::Sema&, clang::Expr*, clang::QualType, bool, bool, bool, bool)"},
-    {"_ZN5clang4Sema25PerformImplicitConversionERPNS_4ExprENS_8QualTypeENS0_16AssignmentActionEb", "clang::Sema::PerformImplicitConversion(clang::Expr*&, clang::QualType, clang::Sema::AssignmentAction, bool)"},
-    {"_ZN5clang4Sema25PerformImplicitConversionERPNS_4ExprENS_8QualTypeENS0_16AssignmentActionEbRNS_26ImplicitConversionSequenceE", "clang::Sema::PerformImplicitConversion(clang::Expr*&, clang::QualType, clang::Sema::AssignmentAction, bool, clang::ImplicitConversionSequence&)"},
-    {"_ZN5clang4Sema19IsIntegralPromotionEPNS_4ExprENS_8QualTypeES3_", "clang::Sema::IsIntegralPromotion(clang::Expr*, clang::QualType, clang::QualType)"},
-    {"_ZN5clang4Sema24IsFloatingPointPromotionENS_8QualTypeES1_", "clang::Sema::IsFloatingPointPromotion(clang::QualType, clang::QualType)"},
-    {"_ZN5clang4Sema18IsComplexPromotionENS_8QualTypeES1_", "clang::Sema::IsComplexPromotion(clang::QualType, clang::QualType)"},
-    {"_ZN5clang4Sema19IsPointerConversionEPNS_4ExprENS_8QualTypeES3_bRS3_Rb", "clang::Sema::IsPointerConversion(clang::Expr*, clang::QualType, clang::QualType, bool, clang::QualType&, bool&)"},
-    {"_ZN5clang4Sema23isObjCPointerConversionENS_8QualTypeES1_RS1_Rb", "clang::Sema::isObjCPointerConversion(clang::QualType, clang::QualType, clang::QualType&, bool&)"},
-    {"_ZN5clang34BuildSimilarlyQualifiedPointerTypeEPKNS_4TypeENS_8QualTypeES3_RNS_10ASTContextE", "clang::BuildSimilarlyQualifiedPointerType(clang::Type const*, clang::QualType, clang::QualType, clang::ASTContext&)"},
-    {"_ZN5clang4Sema22CheckPointerConversionEPNS_4ExprENS_8QualTypeERNS_8CastKindERN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEb", "clang::Sema::CheckPointerConversion(clang::Expr*, clang::QualType, clang::CastKind&, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>&, bool)"},
-    {"_ZN5clang4Sema25IsMemberPointerConversionEPNS_4ExprENS_8QualTypeES3_bRS3_", "clang::Sema::IsMemberPointerConversion(clang::Expr*, clang::QualType, clang::QualType, bool, clang::QualType&)"},
-    {"_ZN5clang4Sema28CheckMemberPointerConversionEPNS_4ExprENS_8QualTypeERNS_8CastKindERN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEb", "clang::Sema::CheckMemberPointerConversion(clang::Expr*, clang::QualType, clang::CastKind&, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>&, bool)"},
-    {"_ZN5clang4Sema25IsQualificationConversionENS_8QualTypeES1_b", "clang::Sema::IsQualificationConversion(clang::QualType, clang::QualType, bool)"},
-    {"_ZN5clang4Sema37DiagnoseMultipleUserDefinedConversionEPNS_4ExprENS_8QualTypeE", "clang::Sema::DiagnoseMultipleUserDefinedConversion(clang::Expr*, clang::QualType)"},
-    {"_ZN5clang23IsUserDefinedConversionERNS_4SemaEPNS_4ExprENS_8QualTypeERNS_29UserDefinedConversionSequenceERNS_20OverloadCandidateSetEb", "clang::IsUserDefinedConversion(clang::Sema&, clang::Expr*, clang::QualType, clang::UserDefinedConversionSequence&, clang::OverloadCandidateSet&, bool)"},
-    {"_ZN5clang20OverloadCandidateSet14NoteCandidatesERNS_4SemaENS_28OverloadCandidateDisplayKindEPPNS_4ExprEjPKcNS_14SourceLocationE", "clang::OverloadCandidateSet::NoteCandidates(clang::Sema&, clang::OverloadCandidateDisplayKind, clang::Expr**, unsigned int, char const*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema28CompareReferenceRelationshipENS_14SourceLocationENS_8QualTypeES2_RbS3_", "clang::Sema::CompareReferenceRelationship(clang::SourceLocation, clang::QualType, clang::QualType, bool&, bool&)"},
-    {"_ZN5clang4Sema35PerformObjectArgumentInitializationERPNS_4ExprEPNS_19NestedNameSpecifierEPNS_9NamedDeclEPNS_13CXXMethodDeclE", "clang::Sema::PerformObjectArgumentInitialization(clang::Expr*&, clang::NestedNameSpecifier*, clang::NamedDecl*, clang::CXXMethodDecl*)"},
-    {"_ZN5clang31TryObjectArgumentInitializationERNS_4SemaENS_8QualTypeENS_4Expr14ClassificationEPNS_13CXXMethodDeclEPNS_13CXXRecordDeclE", "clang::TryObjectArgumentInitialization(clang::Sema&, clang::QualType, clang::Expr::Classification, clang::CXXMethodDecl*, clang::CXXRecordDecl*)"},
-    {"_ZN5clang4Sema32PerformContextuallyConvertToBoolERPNS_4ExprE", "clang::Sema::PerformContextuallyConvertToBool(clang::Expr*&)"},
-    {"_ZN5clang4Sema34PerformContextuallyConvertToObjCIdERPNS_4ExprE", "clang::Sema::PerformContextuallyConvertToObjCId(clang::Expr*&)"},
-    {"_ZN5clang4Sema34ConvertToIntegralOrEnumerationTypeENS_14SourceLocationEPNS_4ExprERKNS_17PartialDiagnosticES6_S6_S6_S6_S6_S6_", "clang::Sema::ConvertToIntegralOrEnumerationType(clang::SourceLocation, clang::Expr*, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&)"},
-    {"_ZN5clang4Sema20AddOverloadCandidateEPNS_12FunctionDeclENS_14DeclAccessPairEPPNS_4ExprEjRNS_20OverloadCandidateSetEbb", "clang::Sema::AddOverloadCandidate(clang::FunctionDecl*, clang::DeclAccessPair, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, bool, bool)"},
-    {"_ZN5clang4Sema18AddMethodCandidateEPNS_13CXXMethodDeclENS_14DeclAccessPairEPNS_13CXXRecordDeclENS_8QualTypeENS_4Expr14ClassificationEPPS7_jRNS_20OverloadCandidateSetEb", "clang::Sema::AddMethodCandidate(clang::CXXMethodDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::QualType, clang::Expr::Classification, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, bool)"},
-    {"_ZN5clang21TryCopyInitializationERNS_4SemaEPNS_4ExprENS_8QualTypeEbb", "clang::TryCopyInitialization(clang::Sema&, clang::Expr*, clang::QualType, bool, bool)"},
-    {"_ZN5clang4Sema21AddFunctionCandidatesERKNS_17UnresolvedSetImplEPPNS_4ExprEjRNS_20OverloadCandidateSetEb", "clang::Sema::AddFunctionCandidates(clang::UnresolvedSetImpl const&, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, bool)"},
-    {"_ZN5clang4Sema26AddMethodTemplateCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_13CXXRecordDeclEPKNS_24TemplateArgumentListInfoENS_8QualTypeENS_4Expr14ClassificationEPPSA_jRNS_20OverloadCandidateSetEb", "clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo const*, clang::QualType, clang::Expr::Classification, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, bool)"},
-    {"_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPKNS_24TemplateArgumentListInfoEPPNS_4ExprEjRNS_20OverloadCandidateSetEb", "clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo const*, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, bool)"},
-    {"_ZN5clang4Sema18AddMethodCandidateENS_14DeclAccessPairENS_8QualTypeENS_4Expr14ClassificationEPPS3_jRNS_20OverloadCandidateSetEb", "clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, bool)"},
-    {"_ZN5clang4Sema22AddConversionCandidateEPNS_17CXXConversionDeclENS_14DeclAccessPairEPNS_13CXXRecordDeclEPNS_4ExprENS_8QualTypeERNS_20OverloadCandidateSetE", "clang::Sema::AddConversionCandidate(clang::CXXConversionDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::Expr*, clang::QualType, clang::OverloadCandidateSet&)"},
-    {"_ZN5clang4Sema30AddTemplateConversionCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_13CXXRecordDeclEPNS_4ExprENS_8QualTypeERNS_20OverloadCandidateSetE", "clang::Sema::AddTemplateConversionCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::Expr*, clang::QualType, clang::OverloadCandidateSet&)"},
-    {"_ZN5clang4Sema21AddSurrogateCandidateEPNS_17CXXConversionDeclENS_14DeclAccessPairEPNS_13CXXRecordDeclEPKNS_17FunctionProtoTypeEPNS_4ExprEPSA_jRNS_20OverloadCandidateSetE", "clang::Sema::AddSurrogateCandidate(clang::CXXConversionDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::FunctionProtoType const*, clang::Expr*, clang::Expr**, unsigned int, clang::OverloadCandidateSet&)"},
-    {"_ZN5clang4Sema27AddMemberOperatorCandidatesENS_22OverloadedOperatorKindENS_14SourceLocationEPPNS_4ExprEjRNS_20OverloadCandidateSetENS_11SourceRangeE", "clang::Sema::AddMemberOperatorCandidates(clang::OverloadedOperatorKind, clang::SourceLocation, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, clang::SourceRange)"},
-    {"_ZN5clang4Sema19AddBuiltinCandidateENS_8QualTypeEPS1_PPNS_4ExprEjRNS_20OverloadCandidateSetEbj", "clang::Sema::AddBuiltinCandidate(clang::QualType, clang::QualType*, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, bool, unsigned int)"},
-    {"_ZN5clang23BuiltinCandidateTypeSet39AddPointerWithMoreQualifiedTypeVariantsENS_8QualTypeERKNS_10QualifiersE", "clang::BuiltinCandidateTypeSet::AddPointerWithMoreQualifiedTypeVariants(clang::QualType, clang::Qualifiers const&)"},
-    {"_ZN5clang23BuiltinCandidateTypeSet45AddMemberPointerWithMoreQualifiedTypeVariantsENS_8QualTypeE", "clang::BuiltinCandidateTypeSet::AddMemberPointerWithMoreQualifiedTypeVariants(clang::QualType)"},
-    {"_ZN5clang23BuiltinCandidateTypeSet21AddTypesConvertedFromENS_8QualTypeENS_14SourceLocationEbbRKNS_10QualifiersE", "clang::BuiltinCandidateTypeSet::AddTypesConvertedFrom(clang::QualType, clang::SourceLocation, bool, bool, clang::Qualifiers const&)"},
-    {"_ZN5clang4Sema28AddBuiltinOperatorCandidatesENS_22OverloadedOperatorKindENS_14SourceLocationEPPNS_4ExprEjRNS_20OverloadCandidateSetE", "clang::Sema::AddBuiltinOperatorCandidates(clang::OverloadedOperatorKind, clang::SourceLocation, clang::Expr**, unsigned int, clang::OverloadCandidateSet&)"},
-    {"_ZN5clang12_GLOBAL__N_130BuiltinOperatorOverloadBuilder35addGenericBinaryArithmeticOverloadsEb", "clang::(anonymous namespace)::BuiltinOperatorOverloadBuilder::addGenericBinaryArithmeticOverloads(bool)"},
-    {"_ZN5clang12_GLOBAL__N_130BuiltinOperatorOverloadBuilder35addBinaryBitwiseArithmeticOverloadsENS_22OverloadedOperatorKindE", "clang::(anonymous namespace)::BuiltinOperatorOverloadBuilder::addBinaryBitwiseArithmeticOverloads(clang::OverloadedOperatorKind)"},
-    {"_ZN5clang4Sema36AddArgumentDependentLookupCandidatesENS_15DeclarationNameEbPPNS_4ExprEjPKNS_24TemplateArgumentListInfoERNS_20OverloadCandidateSetEb", "clang::Sema::AddArgumentDependentLookupCandidates(clang::DeclarationName, bool, clang::Expr**, unsigned int, clang::TemplateArgumentListInfo const*, clang::OverloadCandidateSet&, bool)"},
-    {"_ZN5clang25isBetterOverloadCandidateERNS_4SemaERKNS_17OverloadCandidateES4_NS_14SourceLocationEb", "clang::isBetterOverloadCandidate(clang::Sema&, clang::OverloadCandidate const&, clang::OverloadCandidate const&, clang::SourceLocation, bool)"},
-    {"_ZN5clang34CompareImplicitConversionSequencesERNS_4SemaERKNS_26ImplicitConversionSequenceES4_", "clang::CompareImplicitConversionSequences(clang::Sema&, clang::ImplicitConversionSequence const&, clang::ImplicitConversionSequence const&)"},
-    {"_ZN5clang34CompareStandardConversionSequencesERNS_4SemaERKNS_26StandardConversionSequenceES4_", "clang::CompareStandardConversionSequences(clang::Sema&, clang::StandardConversionSequence const&, clang::StandardConversionSequence const&)"},
-    {"_ZN5clang20OverloadCandidateSet18BestViableFunctionERNS_4SemaENS_14SourceLocationERPNS_17OverloadCandidateEb", "clang::OverloadCandidateSet::BestViableFunction(clang::Sema&, clang::SourceLocation, clang::OverloadCandidate*&, bool)"},
-    {"_ZN5clang4Sema21NoteOverloadCandidateEPNS_12FunctionDeclE", "clang::Sema::NoteOverloadCandidate(clang::FunctionDecl*)"},
-    {"_ZN5clang12_GLOBAL__N_125ClassifyOverloadCandidateERNS_4SemaEPNS_12FunctionDeclERSs", "clang::(anonymous namespace)::ClassifyOverloadCandidate(clang::Sema&, clang::FunctionDecl*, std::string&)"},
-    {"_ZNK5clang26ImplicitConversionSequence27DiagnoseAmbiguousConversionERNS_4SemaENS_14SourceLocationERKNS_17PartialDiagnosticE", "clang::ImplicitConversionSequence::DiagnoseAmbiguousConversion(clang::Sema&, clang::SourceLocation, clang::PartialDiagnostic const&) const"},
-    {"_ZN5clang4Sema34ResolveAddressOfOverloadedFunctionEPNS_4ExprENS_8QualTypeEbRNS_14DeclAccessPairE", "clang::Sema::ResolveAddressOfOverloadedFunction(clang::Expr*, clang::QualType, bool, clang::DeclAccessPair&)"},
-    {"_ZN5clang20IsNoReturnConversionERNS_10ASTContextENS_8QualTypeES2_RS2_", "clang::IsNoReturnConversion(clang::ASTContext&, clang::QualType, clang::QualType, clang::QualType&)"},
-    {"_ZN5clang4Sema43ResolveSingleFunctionTemplateSpecializationEPNS_4ExprE", "clang::Sema::ResolveSingleFunctionTemplateSpecialization(clang::Expr*)"},
-    {"_ZN5clang4Sema27AddOverloadedCallCandidatesEPNS_20UnresolvedLookupExprEPPNS_4ExprEjRNS_20OverloadCandidateSetEb", "clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, clang::Expr**, unsigned int, clang::OverloadCandidateSet&, bool)"},
-    {"_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEPS4_jS7_S4_", "clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema30FixOverloadedFunctionReferenceEPNS_4ExprENS_14DeclAccessPairEPNS_12FunctionDeclE", "clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*)"},
-    {"_ZN5clang4Sema23CreateOverloadedUnaryOpENS_14SourceLocationEjRKNS_17UnresolvedSetImplEPNS_4ExprE", "clang::Sema::CreateOverloadedUnaryOp(clang::SourceLocation, unsigned int, clang::UnresolvedSetImpl const&, clang::Expr*)"},
-    {"_ZN5clang4Sema21CreateOverloadedBinOpENS_14SourceLocationEjRKNS_17UnresolvedSetImplEPNS_4ExprES6_", "clang::Sema::CreateOverloadedBinOp(clang::SourceLocation, unsigned int, clang::UnresolvedSetImpl const&, clang::Expr*, clang::Expr*)"},
-    {"_ZN5clang4Sema34CreateOverloadedArraySubscriptExprENS_14SourceLocationES1_PNS_4ExprES3_", "clang::Sema::CreateOverloadedArraySubscriptExpr(clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::Expr*)"},
-    {"_ZN5clang4Sema25BuildCallToMemberFunctionEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEPS4_jS5_", "clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang4Sema28BuildCallToObjectOfClassTypeEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEPS4_jS5_", "clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang4Sema24BuildOverloadedArrowExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationE", "clang::Sema::BuildOverloadedArrowExpr(clang::Scope*, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema30FixOverloadedFunctionReferenceENS_12ActionResultIPNS_4ExprELb1EEENS_14DeclAccessPairEPNS_12FunctionDeclE", "clang::Sema::FixOverloadedFunctionReference(clang::ActionResult<clang::Expr*, true>, clang::DeclAccessPair, clang::FunctionDecl*)"},
-    {"_ZSt16__introsort_loopIPPN5clang17OverloadCandidateElNS0_12_GLOBAL__N_135CompareOverloadCandidatesForDisplayEEvT_S6_T0_T1_", "void std::__introsort_loop<clang::OverloadCandidate**, long, clang::(anonymous namespace)::CompareOverloadCandidatesForDisplay>(clang::OverloadCandidate**, clang::OverloadCandidate**, long, clang::(anonymous namespace)::CompareOverloadCandidatesForDisplay)"},
-    {"_ZN5clang12_GLOBAL__N_135CompareOverloadCandidatesForDisplayclEPKNS_17OverloadCandidateES4_", "clang::(anonymous namespace)::CompareOverloadCandidatesForDisplay::operator()(clang::OverloadCandidate const*, clang::OverloadCandidate const*)"},
-    {"_ZSt13__adjust_heapIPPN5clang17OverloadCandidateElS2_NS0_12_GLOBAL__N_135CompareOverloadCandidatesForDisplayEEvT_T0_S7_T1_T2_", "void std::__adjust_heap<clang::OverloadCandidate**, long, clang::OverloadCandidate*, clang::(anonymous namespace)::CompareOverloadCandidatesForDisplay>(clang::OverloadCandidate**, long, long, clang::OverloadCandidate*, clang::(anonymous namespace)::CompareOverloadCandidatesForDisplay)"},
-    {"_ZN5clang12_GLOBAL__N_121DiagnoseArityMismatchERNS_4SemaEPNS_17OverloadCandidateEj", "clang::(anonymous namespace)::DiagnoseArityMismatch(clang::Sema&, clang::OverloadCandidate*, unsigned int)"},
-    {"_ZN5clang38AddBuiltinAssignmentOperatorCandidatesERNS_4SemaENS_8QualTypeEPPNS_4ExprEjRNS_20OverloadCandidateSetE", "clang::AddBuiltinAssignmentOperatorCandidates(clang::Sema&, clang::QualType, clang::Expr**, unsigned int, clang::OverloadCandidateSet&)"},
-    {"_ZN5clang12_GLOBAL__N_130BuiltinOperatorOverloadBuilder29getUsualArithmeticConversionsEjj", "clang::(anonymous namespace)::BuiltinOperatorOverloadBuilder::getUsualArithmeticConversions(unsigned int, unsigned int)"},
-    {"_ZN5clang12_GLOBAL__N_130BuiltinOperatorOverloadBuilder35addPlusPlusMinusMinusStyleOverloadsENS_8QualTypeEb", "clang::(anonymous namespace)::BuiltinOperatorOverloadBuilder::addPlusPlusMinusMinusStyleOverloads(clang::QualType, bool)"},
-    {"_ZN5clang24FindConversionForRefInitERNS_4SemaERNS_26ImplicitConversionSequenceENS_8QualTypeENS_14SourceLocationEPNS_4ExprES4_bb", "clang::FindConversionForRefInit(clang::Sema&, clang::ImplicitConversionSequence&, clang::QualType, clang::SourceLocation, clang::Expr*, clang::QualType, bool, bool)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang17OverloadCandidateEE9push_backERKS2_", "llvm::SmallVectorImpl<clang::OverloadCandidate>::push_back(clang::OverloadCandidate const&)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang26ImplicitConversionSequenceEE6resizeEj", "llvm::SmallVectorImpl<clang::ImplicitConversionSequence>::resize(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang23BuiltinCandidateTypeSetEE9push_backERKS2_", "llvm::SmallVectorImpl<clang::BuiltinCandidateTypeSet>::push_back(clang::BuiltinCandidateTypeSet const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang23BuiltinCandidateTypeSetELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::BuiltinCandidateTypeSet, false>::grow(unsigned long)"},
-    {"_ZSt24__uninitialized_copy_auxIPN5clang23BuiltinCandidateTypeSetES2_ET0_T_S4_S3_St12__false_type", "clang::BuiltinCandidateTypeSet* std::__uninitialized_copy_aux<clang::BuiltinCandidateTypeSet*, clang::BuiltinCandidateTypeSet*>(clang::BuiltinCandidateTypeSet*, clang::BuiltinCandidateTypeSet*, clang::BuiltinCandidateTypeSet*, std::__false_type)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang26ImplicitConversionSequenceELb0EE18uninitialized_copyIPS2_S5_EEvT_S6_T0_", "void llvm::SmallVectorTemplateBase<clang::ImplicitConversionSequence, false>::uninitialized_copy<clang::ImplicitConversionSequence*, clang::ImplicitConversionSequence*>(clang::ImplicitConversionSequence*, clang::ImplicitConversionSequence*, clang::ImplicitConversionSequence*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang17OverloadCandidateELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::OverloadCandidate, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang17OverloadCandidateELb0EE13destroy_rangeEPS2_S4_", "llvm::SmallVectorTemplateBase<clang::OverloadCandidate, false>::destroy_range(clang::OverloadCandidate*, clang::OverloadCandidate*)"},
-    {"_ZSt24__uninitialized_copy_auxIPN5clang17OverloadCandidateES2_ET0_T_S4_S3_St12__false_type", "clang::OverloadCandidate* std::__uninitialized_copy_aux<clang::OverloadCandidate*, clang::OverloadCandidate*>(clang::OverloadCandidate*, clang::OverloadCandidate*, clang::OverloadCandidate*, std::__false_type)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang26ImplicitConversionSequenceELb0EE18uninitialized_copyIPKS2_PS2_EEvT_S8_T0_", "void llvm::SmallVectorTemplateBase<clang::ImplicitConversionSequence, false>::uninitialized_copy<clang::ImplicitConversionSequence const*, clang::ImplicitConversionSequence*>(clang::ImplicitConversionSequence const*, clang::ImplicitConversionSequence const*, clang::ImplicitConversionSequence*)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPKN5clang26ImplicitConversionSequenceEPS4_EET0_T_S9_S8_", "clang::ImplicitConversionSequence* std::__copy<false, std::random_access_iterator_tag>::copy<clang::ImplicitConversionSequence const*, clang::ImplicitConversionSequence*>(clang::ImplicitConversionSequence const*, clang::ImplicitConversionSequence const*, clang::ImplicitConversionSequence*)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang12FunctionDeclEEaSERKS4_", "llvm::SmallVectorImpl<clang::FunctionDecl*>::operator=(llvm::SmallVectorImpl<clang::FunctionDecl*> const&)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang23BuiltinCandidateTypeSetEED2Ev", "llvm::SmallVectorImpl<clang::BuiltinCandidateTypeSet>::~SmallVectorImpl()"},
-    {"_ZNK4llvm8DenseMapISt4pairIN5clang7CanQualINS2_4TypeEEES5_EcNS_12DenseMapInfoIS6_EENS7_IcEEE15LookupBucketForERKS6_RPS1_IS6_cE", "llvm::DenseMap<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> >, char, llvm::DenseMapInfo<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> > >, llvm::DenseMapInfo<char> >::LookupBucketFor(std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> > const&, std::pair<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> >, char>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIN5clang7CanQualINS2_4TypeEEES5_EcNS_12DenseMapInfoIS6_EENS7_IcEEE6insertERKS1_IS6_cE", "llvm::DenseMap<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> >, char, llvm::DenseMapInfo<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> > >, llvm::DenseMapInfo<char> >::insert(std::pair<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> >, char> const&)"},
-    {"_ZN4llvm8DenseMapISt4pairIN5clang7CanQualINS2_4TypeEEES5_EcNS_12DenseMapInfoIS6_EENS7_IcEEE16InsertIntoBucketERKS6_RKcPS1_IS6_cE", "llvm::DenseMap<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> >, char, llvm::DenseMapInfo<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> > >, llvm::DenseMapInfo<char> >::InsertIntoBucket(std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> > const&, char const&, std::pair<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> >, char>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIN5clang7CanQualINS2_4TypeEEES5_EcNS_12DenseMapInfoIS6_EENS7_IcEEE4growEj", "llvm::DenseMap<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> >, char, llvm::DenseMapInfo<std::pair<clang::CanQual<clang::Type>, clang::CanQual<clang::Type> > >, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN5clang20OverloadCandidateSetD2Ev", "clang::OverloadCandidateSet::~OverloadCandidateSet()"},
-    {"_ZN5clang4Sema13ActOnExprStmtENS0_11FullExprArgE", "clang::Sema::ActOnExprStmt(clang::Sema::FullExprArg)"},
-    {"_ZN5clang4Sema13ActOnNullStmtENS_14SourceLocationEb", "clang::Sema::ActOnNullStmt(clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema13ActOnDeclStmtENS_9OpaquePtrINS_12DeclGroupRefEEENS_14SourceLocationES4_", "clang::Sema::ActOnDeclStmt(clang::OpaquePtr<clang::DeclGroupRef>, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema20ActOnForEachDeclStmtENS_9OpaquePtrINS_12DeclGroupRefEEE", "clang::Sema::ActOnForEachDeclStmt(clang::OpaquePtr<clang::DeclGroupRef>)"},
-    {"_ZN5clang4Sema24DiagnoseUnusedExprResultEPKNS_4StmtE", "clang::Sema::DiagnoseUnusedExprResult(clang::Stmt const*)"},
-    {"_ZN5clang4Sema17ActOnCompoundStmtENS_14SourceLocationES1_NS_11ASTMultiPtrIPNS_4StmtEEEb", "clang::Sema::ActOnCompoundStmt(clang::SourceLocation, clang::SourceLocation, clang::ASTMultiPtr<clang::Stmt*>, bool)"},
-    {"_ZN5clang4Sema13ActOnCaseStmtENS_14SourceLocationEPNS_4ExprES1_S3_S1_", "clang::Sema::ActOnCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17ActOnCaseStmtBodyEPNS_4StmtES2_", "clang::Sema::ActOnCaseStmtBody(clang::Stmt*, clang::Stmt*)"},
-    {"_ZN5clang4Sema16ActOnDefaultStmtENS_14SourceLocationES1_PNS_4StmtEPNS_5ScopeE", "clang::Sema::ActOnDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Scope*)"},
-    {"_ZN5clang4Sema14ActOnLabelStmtENS_14SourceLocationEPNS_14IdentifierInfoES1_PNS_4StmtEPKNS_13AttributeListE", "clang::Sema::ActOnLabelStmt(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::Stmt*, clang::AttributeList const*)"},
-    {"_ZN5clang4Sema14ActOnLabelStmtENS_14SourceLocationEPNS_14IdentifierInfoES1_PNS_4StmtEb", "clang::Sema::ActOnLabelStmt(clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::Stmt*, bool)"},
-    {"_ZN5clang4Sema11ActOnIfStmtENS_14SourceLocationENS0_11FullExprArgEPNS_4DeclEPNS_4StmtES1_S6_", "clang::Sema::ActOnIfStmt(clang::SourceLocation, clang::Sema::FullExprArg, clang::Decl*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)"},
-    {"_ZN5clang4Sema34ConvertIntegerToTypeWarnOnOverflowERN4llvm6APSIntEjbNS_14SourceLocationEj", "clang::Sema::ConvertIntegerToTypeWarnOnOverflow(llvm::APSInt&, unsigned int, bool, clang::SourceLocation, unsigned int)"},
-    {"_ZN5clang4Sema22ActOnStartOfSwitchStmtENS_14SourceLocationEPNS_4ExprEPNS_4DeclE", "clang::Sema::ActOnStartOfSwitchStmt(clang::SourceLocation, clang::Expr*, clang::Decl*)"},
-    {"_ZN5clang4Sema21ActOnFinishSwitchStmtENS_14SourceLocationEPNS_4StmtES3_", "clang::Sema::ActOnFinishSwitchStmt(clang::SourceLocation, clang::Stmt*, clang::Stmt*)"},
-    {"_Z11CmpCaseValsRKSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES7_", "CmpCaseVals(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)"},
-    {"_Z12AdjustAPSIntRN4llvm6APSIntEjb", "AdjustAPSInt(llvm::APSInt&, unsigned int, bool)"},
-    {"_Z11CmpEnumValsRKSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES7_", "CmpEnumVals(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)"},
-    {"_Z10EqEnumValsRKSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES7_", "EqEnumVals(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)"},
-    {"_ZN5clang4Sema14ActOnWhileStmtENS_14SourceLocationENS0_11FullExprArgEPNS_4DeclEPNS_4StmtE", "clang::Sema::ActOnWhileStmt(clang::SourceLocation, clang::Sema::FullExprArg, clang::Decl*, clang::Stmt*)"},
-    {"_ZN5clang4Sema11ActOnDoStmtENS_14SourceLocationEPNS_4StmtES1_S1_PNS_4ExprES1_", "clang::Sema::ActOnDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema12ActOnForStmtENS_14SourceLocationES1_PNS_4StmtENS0_11FullExprArgEPNS_4DeclES4_S1_S3_", "clang::Sema::ActOnForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::FullExprArg, clang::Decl*, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)"},
-    {"_ZN5clang4Sema22ActOnForEachLValueExprEPNS_4ExprE", "clang::Sema::ActOnForEachLValueExpr(clang::Expr*)"},
-    {"_ZN5clang4Sema26ActOnObjCForCollectionStmtENS_14SourceLocationES1_PNS_4StmtEPNS_4ExprES1_S3_", "clang::Sema::ActOnObjCForCollectionStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Expr*, clang::SourceLocation, clang::Stmt*)"},
-    {"_ZN5clang4Sema13ActOnGotoStmtENS_14SourceLocationES1_PNS_14IdentifierInfoE", "clang::Sema::ActOnGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo*)"},
-    {"_ZN5clang4Sema21ActOnIndirectGotoStmtENS_14SourceLocationES1_PNS_4ExprE", "clang::Sema::ActOnIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema17ActOnContinueStmtENS_14SourceLocationEPNS_5ScopeE", "clang::Sema::ActOnContinueStmt(clang::SourceLocation, clang::Scope*)"},
-    {"_ZN5clang4Sema14ActOnBreakStmtENS_14SourceLocationEPNS_5ScopeE", "clang::Sema::ActOnBreakStmt(clang::SourceLocation, clang::Scope*)"},
-    {"_ZN5clang4Sema23getCopyElisionCandidateENS_8QualTypeEPNS_4ExprEb", "clang::Sema::getCopyElisionCandidate(clang::QualType, clang::Expr*, bool)"},
-    {"_ZN5clang4Sema31PerformMoveOrCopyInitializationERKNS_17InitializedEntityEPKNS_7VarDeclENS_8QualTypeEPNS_4ExprE", "clang::Sema::PerformMoveOrCopyInitialization(clang::InitializedEntity const&, clang::VarDecl const*, clang::QualType, clang::Expr*)"},
-    {"_ZN5clang4Sema20ActOnBlockReturnStmtENS_14SourceLocationEPNS_4ExprE", "clang::Sema::ActOnBlockReturnStmt(clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema15ActOnReturnStmtENS_14SourceLocationEPNS_4ExprE", "clang::Sema::ActOnReturnStmt(clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema12ActOnAsmStmtENS_14SourceLocationEbbjjPPNS_14IdentifierInfoENS_11ASTMultiPtrIPNS_4ExprEEES8_S7_S8_S1_b", "clang::Sema::ActOnAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, clang::ASTMultiPtr<clang::Expr*>, clang::ASTMultiPtr<clang::Expr*>, clang::Expr*, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation, bool)"},
-    {"_Z14CheckAsmLValuePKN5clang4ExprERNS_4SemaE", "CheckAsmLValue(clang::Expr const*, clang::Sema&)"},
-    {"_ZN5clang4Sema20ActOnObjCAtCatchStmtENS_14SourceLocationES1_PNS_4DeclEPNS_4StmtE", "clang::Sema::ActOnObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::Decl*, clang::Stmt*)"},
-    {"_ZN5clang4Sema22ActOnObjCAtFinallyStmtENS_14SourceLocationEPNS_4StmtE", "clang::Sema::ActOnObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)"},
-    {"_ZN5clang4Sema18ActOnObjCAtTryStmtENS_14SourceLocationEPNS_4StmtENS_11ASTMultiPtrIS3_EES3_", "clang::Sema::ActOnObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, clang::ASTMultiPtr<clang::Stmt*>, clang::Stmt*)"},
-    {"_ZN5clang4Sema20BuildObjCAtThrowStmtENS_14SourceLocationEPNS_4ExprE", "clang::Sema::BuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema20ActOnObjCAtThrowStmtENS_14SourceLocationEPNS_4ExprEPNS_5ScopeE", "clang::Sema::ActOnObjCAtThrowStmt(clang::SourceLocation, clang::Expr*, clang::Scope*)"},
-    {"_ZN5clang4Sema27ActOnObjCAtSynchronizedStmtENS_14SourceLocationEPNS_4ExprEPNS_4StmtE", "clang::Sema::ActOnObjCAtSynchronizedStmt(clang::SourceLocation, clang::Expr*, clang::Stmt*)"},
-    {"_ZN5clang4Sema18ActOnCXXCatchBlockENS_14SourceLocationEPNS_4DeclEPNS_4StmtE", "clang::Sema::ActOnCXXCatchBlock(clang::SourceLocation, clang::Decl*, clang::Stmt*)"},
-    {"_ZN5clang4Sema16ActOnCXXTryBlockENS_14SourceLocationEPNS_4StmtENS_11ASTMultiPtrIS3_EE", "clang::Sema::ActOnCXXTryBlock(clang::SourceLocation, clang::Stmt*, clang::ASTMultiPtr<clang::Stmt*>)"},
-    {"_ZN4llvm25array_pod_sort_comparatorIN12_GLOBAL__N_115TypeWithHandlerEEEiPKvS4_", "int llvm::array_pod_sort_comparator<(anonymous namespace)::TypeWithHandler>(void const*, void const*)"},
-    {"_ZSt6uniqueIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEEPFbRKS6_S9_EET_SC_SC_T0_", "std::pair<llvm::APSInt, clang::EnumConstantDecl*>* std::unique<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang10TargetInfo14ConstraintInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::TargetInfo::ConstraintInfo, false>::grow(unsigned long)"},
-    {"_ZSt21__inplace_stable_sortIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEEPFbRKS6_S9_EEvT_SC_T0_", "void std::__inplace_stable_sort<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZSt22__stable_sort_adaptiveIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES7_lPFbRKS6_S9_EEvT_SC_T0_T1_T2_", "void std::__stable_sort_adaptive<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZSt24__merge_sort_with_bufferIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES7_PFbRKS6_S9_EEvT_SC_T0_T1_", "void std::__merge_sort_with_buffer<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZSt16__merge_adaptiveIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEElS7_PFbRKS6_S9_EEvT_SC_SC_T0_SD_T1_SD_T2_", "void std::__merge_adaptive<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long, long, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZSt5mergeIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES7_S7_PFbRKS6_S9_EET1_T_SD_T0_SE_SC_T2_", "std::pair<llvm::APSInt, clang::EnumConstantDecl*>* std::merge<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZSt16__merge_backwardIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES7_S7_PFbRKS6_S9_EET1_T_SD_T0_SE_SC_T2_", "std::pair<llvm::APSInt, clang::EnumConstantDecl*>* std::__merge_backward<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZSt17__rotate_adaptiveIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES7_lET_S8_S8_S8_T1_S9_T0_S9_", "std::pair<llvm::APSInt, clang::EnumConstantDecl*>* std::__rotate_adaptive<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long, long, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long)"},
-    {"_ZSt8__rotateIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEEEvT_S8_S8_St26random_access_iterator_tag", "void std::__rotate<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::random_access_iterator_tag)"},
-    {"_ZSt4swapISt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEEEvRT_S8_", "void std::swap<std::pair<llvm::APSInt, clang::EnumConstantDecl*> >(std::pair<llvm::APSInt, clang::EnumConstantDecl*>&, std::pair<llvm::APSInt, clang::EnumConstantDecl*>&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEESA_EET0_T_SC_SB_", "std::pair<llvm::APSInt, clang::EnumConstantDecl*>* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEESA_EET0_T_SC_SB_", "std::pair<llvm::APSInt, clang::EnumConstantDecl*>* std::__copy<false, std::random_access_iterator_tag>::copy<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*)"},
-    {"_ZSt16__insertion_sortIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEEPFbRKS6_S9_EEvT_SC_T0_", "void std::__insertion_sort<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZSt25__unguarded_linear_insertIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES6_PFbRKS6_S9_EEvT_T0_T1_", "void std::__unguarded_linear_insert<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZSt22__merge_without_bufferIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEElPFbRKS6_S9_EEvT_SC_SC_T0_SD_T1_", "void std::__merge_without_buffer<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&)>(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, long, long, bool (*)(std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&, std::pair<llvm::APSInt, clang::EnumConstantDecl*> const&))"},
-    {"_ZNSt17_Temporary_bufferIPSt4pairIN4llvm6APSIntEPN5clang16EnumConstantDeclEES6_EC2ES7_S7_", "std::_Temporary_buffer<std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*> >::_Temporary_buffer(std::pair<llvm::APSInt, clang::EnumConstantDecl*>*, std::pair<llvm::APSInt, clang::EnumConstantDecl*>*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairINS_6APSIntEPN5clang16EnumConstantDeclEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::APSInt, clang::EnumConstantDecl*>, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorIN4llvm6APSIntESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::APSInt, std::allocator<llvm::APSInt> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::APSInt*, std::vector<llvm::APSInt, std::allocator<llvm::APSInt> > >, llvm::APSInt const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN4llvm6APSIntES5_EET0_T_S7_S6_", "llvm::APSInt* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<llvm::APSInt*, llvm::APSInt*>(llvm::APSInt*, llvm::APSInt*, llvm::APSInt*)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESA_EET0_T_SC_SB_", "std::pair<llvm::APSInt, clang::CaseStmt*>* std::__copy<false, std::random_access_iterator_tag>::copy<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*)"},
-    {"_ZSt21__inplace_stable_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEEEvT_SE_", "void std::__inplace_stable_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >)"},
-    {"_ZSt22__stable_sort_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEES9_lEvT_SE_T0_T1_", "void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*, long>(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*, long)"},
-    {"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEES9_EvT_SE_T0_", "void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*>(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*)"},
-    {"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEElS9_EvT_SE_SE_T0_SF_T1_SF_", "void std::__merge_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, long, std::pair<llvm::APSInt, clang::CaseStmt*>*>(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, long, long, std::pair<llvm::APSInt, clang::CaseStmt*>*, long)"},
-    {"_ZSt5mergeIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEEN9__gnu_cxx17__normal_iteratorIS7_St6vectorIS6_SaIS6_EEEESD_ET1_T_SF_T0_SG_SE_", "__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > std::merge<std::pair<llvm::APSInt, clang::CaseStmt*>*, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > >(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >)"},
-    {"_ZSt16__merge_backwardIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEES9_SD_ET1_T_SF_T0_SG_SE_", "__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > std::__merge_backward<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >)"},
-    {"_ZSt11lower_boundIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEES8_ET_SE_SE_RKT0_", "__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > std::lower_bound<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*> >(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*> const&)"},
-    {"_ZSt11upper_boundIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEES8_ET_SE_SE_RKT0_", "__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > std::upper_bound<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*> >(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*> const&)"},
-    {"_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEES9_lET_SE_SE_SE_T1_SF_T0_SF_", "__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > std::__rotate_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*, long>(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, long, long, std::pair<llvm::APSInt, clang::CaseStmt*>*, long)"},
-    {"_ZSt8__rotateIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEEEvT_SE_SE_St26random_access_iterator_tag", "void std::__rotate<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::random_access_iterator_tag)"},
-    {"_ZSt4swapISt4pairIN4llvm6APSIntEPN5clang8CaseStmtEEEvRT_S8_", "void std::swap<std::pair<llvm::APSInt, clang::CaseStmt*> >(std::pair<llvm::APSInt, clang::CaseStmt*>&, std::pair<llvm::APSInt, clang::CaseStmt*>&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESA_EET0_T_SC_SB_", "std::pair<llvm::APSInt, clang::CaseStmt*>* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*)"},
-    {"_ZSt5mergeIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES7_N9__gnu_cxx17__normal_iteratorIS7_St6vectorIS6_SaIS6_EEEEET1_T_SF_T0_SG_SE_", "__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > std::merge<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > >(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >)"},
-    {"_ZSt5mergeIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEESD_S9_ET1_T_SF_T0_SG_SE_", "std::pair<llvm::APSInt, clang::CaseStmt*>* std::merge<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*>(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>*)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEEEvT_SE_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >)"},
-    {"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEES8_EvT_T0_", "void std::__unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*> >(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*>)"},
-    {"_ZSt22__merge_without_bufferIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEElEvT_SE_SE_T0_SF_", "void std::__merge_without_buffer<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, long>(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, long, long)"},
-    {"_ZNSt17_Temporary_bufferIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESt6vectorIS8_SaIS8_EEEES8_EC2ESD_SD_", "std::_Temporary_buffer<__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*> >::_Temporary_buffer(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >)"},
-    {"_ZSt21__inplace_stable_sortIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEEPFbRKS6_S9_EEvT_SC_T0_", "void std::__inplace_stable_sort<std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZSt22__stable_sort_adaptiveIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES7_lPFbRKS6_S9_EEvT_SC_T0_T1_T2_", "void std::__stable_sort_adaptive<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, long, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, long, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZSt24__merge_sort_with_bufferIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES7_PFbRKS6_S9_EEvT_SC_T0_T1_", "void std::__merge_sort_with_buffer<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZSt16__merge_adaptiveIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEElS7_PFbRKS6_S9_EEvT_SC_SC_T0_SD_T1_SD_T2_", "void std::__merge_adaptive<std::pair<llvm::APSInt, clang::CaseStmt*>*, long, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, long, long, std::pair<llvm::APSInt, clang::CaseStmt*>*, long, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZSt5mergeIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES7_S7_PFbRKS6_S9_EET1_T_SD_T0_SE_SC_T2_", "std::pair<llvm::APSInt, clang::CaseStmt*>* std::merge<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZSt16__merge_backwardIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES7_S7_PFbRKS6_S9_EET1_T_SD_T0_SE_SC_T2_", "std::pair<llvm::APSInt, clang::CaseStmt*>* std::__merge_backward<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZSt17__rotate_adaptiveIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES7_lET_S8_S8_S8_T1_S9_T0_S9_", "std::pair<llvm::APSInt, clang::CaseStmt*>* std::__rotate_adaptive<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, long>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, long, long, std::pair<llvm::APSInt, clang::CaseStmt*>*, long)"},
-    {"_ZSt8__rotateIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEEEvT_S8_S8_St26random_access_iterator_tag", "void std::__rotate<std::pair<llvm::APSInt, clang::CaseStmt*>*>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::random_access_iterator_tag)"},
-    {"_ZSt16__insertion_sortIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEEPFbRKS6_S9_EEvT_SC_T0_", "void std::__insertion_sort<std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZSt25__unguarded_linear_insertIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES6_PFbRKS6_S9_EEvT_T0_T1_", "void std::__unguarded_linear_insert<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZSt22__merge_without_bufferIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEElPFbRKS6_S9_EEvT_SC_SC_T0_SD_T1_", "void std::__merge_without_buffer<std::pair<llvm::APSInt, clang::CaseStmt*>*, long, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&)>(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*, long, long, bool (*)(std::pair<llvm::APSInt, clang::CaseStmt*> const&, std::pair<llvm::APSInt, clang::CaseStmt*> const&))"},
-    {"_ZNSt17_Temporary_bufferIPSt4pairIN4llvm6APSIntEPN5clang8CaseStmtEES6_EC2ES7_S7_", "std::_Temporary_buffer<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*> >::_Temporary_buffer(std::pair<llvm::APSInt, clang::CaseStmt*>*, std::pair<llvm::APSInt, clang::CaseStmt*>*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairINS_6APSIntEPN5clang8CaseStmtEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::APSInt, clang::CaseStmt*>, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorISt4pairIN4llvm6APSIntEPN5clang8CaseStmtEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt, clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >, std::pair<llvm::APSInt, clang::CaseStmt*> const&)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang10TargetInfo14ConstraintInfoEED2Ev", "llvm::SmallVectorImpl<clang::TargetInfo::ConstraintInfo>::~SmallVectorImpl()"},
-    {"_ZN5clang22getTemplateParamsRangeEPKPKNS_21TemplateParameterListEj", "clang::getTemplateParamsRange(clang::TemplateParameterList const* const*, unsigned int)"},
-    {"_ZN5clang4Sema14isTemplateNameEPNS_5ScopeERNS_12CXXScopeSpecEbRNS_13UnqualifiedIdENS_9OpaquePtrINS_8QualTypeEEEbRNS7_INS_12TemplateNameEEERb", "clang::Sema::isTemplateName(clang::Scope*, clang::CXXScopeSpec&, bool, clang::UnqualifiedId&, clang::OpaquePtr<clang::QualType>, bool, clang::OpaquePtr<clang::TemplateName>&, bool&)"},
-    {"_ZN5clang4Sema18LookupTemplateNameERNS_12LookupResultEPNS_5ScopeERNS_12CXXScopeSpecENS_8QualTypeEbRb", "clang::Sema::LookupTemplateName(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec&, clang::QualType, bool, bool&)"},
-    {"_ZN5clang4Sema27DiagnoseUnknownTemplateNameERKNS_14IdentifierInfoENS_14SourceLocationEPNS_5ScopeEPKNS_12CXXScopeSpecERNS_9OpaquePtrINS_12TemplateNameEEERNS_16TemplateNameKindE", "clang::Sema::DiagnoseUnknownTemplateName(clang::IdentifierInfo const&, clang::SourceLocation, clang::Scope*, clang::CXXScopeSpec const*, clang::OpaquePtr<clang::TemplateName>&, clang::TemplateNameKind&)"},
-    {"_Z29FilterAcceptableTemplateNamesRN5clang10ASTContextERNS_12LookupResultE", "FilterAcceptableTemplateNames(clang::ASTContext&, clang::LookupResult&)"},
-    {"_ZN5clang4Sema26ActOnDependentIdExpressionERKNS_12CXXScopeSpecERKNS_19DeclarationNameInfoEbPKNS_24TemplateArgumentListInfoE", "clang::Sema::ActOnDependentIdExpression(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, bool, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang4Sema25BuildDependentDeclRefExprERKNS_12CXXScopeSpecERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::Sema::BuildDependentDeclRefExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang4Sema31DiagnoseTemplateParameterShadowENS_14SourceLocationEPNS_4DeclE", "clang::Sema::DiagnoseTemplateParameterShadow(clang::SourceLocation, clang::Decl*)"},
-    {"_ZN5clang4Sema20AdjustDeclIfTemplateERPNS_4DeclE", "clang::Sema::AdjustDeclIfTemplate(clang::Decl*&)"},
-    {"_ZNK5clang22ParsedTemplateArgument24getTemplatePackExpansionENS_14SourceLocationE", "clang::ParsedTemplateArgument::getTemplatePackExpansion(clang::SourceLocation) const"},
-    {"_ZN5clang4Sema26translateTemplateArgumentsERKNS_18ASTTemplateArgsPtrERNS_24TemplateArgumentListInfoE", "clang::Sema::translateTemplateArguments(clang::ASTTemplateArgsPtr const&, clang::TemplateArgumentListInfo&)"},
-    {"_Z25translateTemplateArgumentRN5clang4SemaERKNS_22ParsedTemplateArgumentE", "translateTemplateArgument(clang::Sema&, clang::ParsedTemplateArgument const&)"},
-    {"_ZN5clang4Sema18ActOnTypeParameterEPNS_5ScopeEbbNS_14SourceLocationES3_PNS_14IdentifierInfoES3_jjS3_NS_9OpaquePtrINS_8QualTypeEEE", "clang::Sema::ActOnTypeParameter(clang::Scope*, bool, bool, clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, unsigned int, unsigned int, clang::SourceLocation, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang4Sema21CheckTemplateArgumentEPNS_20TemplateTypeParmDeclEPNS_14TypeSourceInfoE", "clang::Sema::CheckTemplateArgument(clang::TemplateTypeParmDecl*, clang::TypeSourceInfo*)"},
-    {"_ZN5clang4Sema33CheckNonTypeTemplateParameterTypeENS_8QualTypeENS_14SourceLocationE", "clang::Sema::CheckNonTypeTemplateParameterType(clang::QualType, clang::SourceLocation)"},
-    {"_ZN5clang4Sema29ActOnNonTypeTemplateParameterEPNS_5ScopeERNS_10DeclaratorEjjNS_14SourceLocationEPNS_4ExprE", "clang::Sema::ActOnNonTypeTemplateParameter(clang::Scope*, clang::Declarator&, unsigned int, unsigned int, clang::SourceLocation, clang::Expr*)"},
-    {"_ZN5clang4Sema21CheckTemplateArgumentEPNS_23NonTypeTemplateParmDeclENS_8QualTypeERPNS_4ExprERNS_16TemplateArgumentENS0_25CheckTemplateArgumentKindE", "clang::Sema::CheckTemplateArgument(clang::NonTypeTemplateParmDecl*, clang::QualType, clang::Expr*&, clang::TemplateArgument&, clang::Sema::CheckTemplateArgumentKind)"},
-    {"_ZN5clang4Sema30ActOnTemplateTemplateParameterEPNS_5ScopeENS_14SourceLocationEPNS_21TemplateParameterListES3_PNS_14IdentifierInfoES3_jjS3_NS_22ParsedTemplateArgumentE", "clang::Sema::ActOnTemplateTemplateParameter(clang::Scope*, clang::SourceLocation, clang::TemplateParameterList*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, unsigned int, unsigned int, clang::SourceLocation, clang::ParsedTemplateArgument)"},
-    {"_ZN5clang4Sema26ActOnTemplateParameterListEjNS_14SourceLocationES1_S1_PPNS_4DeclEjS1_", "clang::Sema::ActOnTemplateParameterList(unsigned int, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Decl**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18CheckClassTemplateEPNS_5ScopeEjNS0_10TagUseKindENS_14SourceLocationERNS_12CXXScopeSpecEPNS_14IdentifierInfoES4_PNS_13AttributeListEPNS_21TemplateParameterListENS_15AccessSpecifierE", "clang::Sema::CheckClassTemplate(clang::Scope*, unsigned int, clang::Sema::TagUseKind, clang::SourceLocation, clang::CXXScopeSpec&, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeList*, clang::TemplateParameterList*, clang::AccessSpecifier)"},
-    {"_ZN5clang4Sema22CheckTemplateDeclScopeEPNS_5ScopeEPNS_21TemplateParameterListE", "clang::Sema::CheckTemplateDeclScope(clang::Scope*, clang::TemplateParameterList*)"},
-    {"_ZN5clang4Sema30TemplateParameterListsAreEqualEPNS_21TemplateParameterListES2_bNS0_30TemplateParameterListEqualKindENS_14SourceLocationE", "clang::Sema::TemplateParameterListsAreEqual(clang::TemplateParameterList*, clang::TemplateParameterList*, bool, clang::Sema::TemplateParameterListEqualKind, clang::SourceLocation)"},
-    {"_ZN5clang4Sema26CheckTemplateParameterListEPNS_21TemplateParameterListES2_NS0_24TemplateParamListContextE", "clang::Sema::CheckTemplateParameterList(clang::TemplateParameterList*, clang::TemplateParameterList*, clang::Sema::TemplateParamListContext)"},
-    {"_Z32DiagnoseUnexpandedParameterPacksRN5clang4SemaEPNS_24TemplateTemplateParmDeclE", "DiagnoseUnexpandedParameterPacks(clang::Sema&, clang::TemplateTemplateParmDecl*)"},
-    {"_Z31DiagnoseDefaultTemplateArgumentRN5clang4SemaENS0_24TemplateParamListContextENS_14SourceLocationENS_11SourceRangeE", "DiagnoseDefaultTemplateArgument(clang::Sema&, clang::Sema::TemplateParamListContext, clang::SourceLocation, clang::SourceRange)"},
-    {"_ZN5clang4Sema39MatchTemplateParametersToScopeSpecifierENS_14SourceLocationERKNS_12CXXScopeSpecEPPNS_21TemplateParameterListEjbRbS8_", "clang::Sema::MatchTemplateParametersToScopeSpecifier(clang::SourceLocation, clang::CXXScopeSpec const&, clang::TemplateParameterList**, unsigned int, bool, bool&, bool&)"},
-    {"_ZN5clang4Sema19CheckTemplateIdTypeENS_12TemplateNameENS_14SourceLocationERKNS_24TemplateArgumentListInfoE", "clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang4Sema25CheckTemplateArgumentListEPNS_12TemplateDeclENS_14SourceLocationERKNS_24TemplateArgumentListInfoEbRN4llvm15SmallVectorImplINS_16TemplateArgumentEEE", "clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const&, bool, llvm::SmallVectorImpl<clang::TemplateArgument>&)"},
-    {"_ZN5clang4Sema19ActOnTemplateIdTypeENS_9OpaquePtrINS_12TemplateNameEEENS_14SourceLocationES4_NS_18ASTTemplateArgsPtrES4_", "clang::Sema::ActOnTemplateIdType(clang::OpaquePtr<clang::TemplateName>, clang::SourceLocation, clang::SourceLocation, clang::ASTTemplateArgsPtr, clang::SourceLocation)"},
-    {"_ZN5clang4Sema22ActOnTagTemplateIdTypeERNS_12CXXScopeSpecENS_12ActionResultINS_9OpaquePtrINS_8QualTypeEEELb0EEENS0_10TagUseKindENS_17TypeSpecifierTypeENS_14SourceLocationE", "clang::Sema::ActOnTagTemplateIdType(clang::CXXScopeSpec&, clang::ActionResult<clang::OpaquePtr<clang::QualType>, false>, clang::Sema::TagUseKind, clang::TypeSpecifierType, clang::SourceLocation)"},
-    {"_ZN5clang4Sema19BuildTemplateIdExprERKNS_12CXXScopeSpecERNS_12LookupResultEbRKNS_24TemplateArgumentListInfoE", "clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang4Sema28BuildQualifiedTemplateIdExprERNS_12CXXScopeSpecERKNS_19DeclarationNameInfoERKNS_24TemplateArgumentListInfoE", "clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang4Sema26ActOnDependentTemplateNameEPNS_5ScopeENS_14SourceLocationERNS_12CXXScopeSpecERNS_13UnqualifiedIdENS_9OpaquePtrINS_8QualTypeEEEbRNS8_INS_12TemplateNameEEE", "clang::Sema::ActOnDependentTemplateName(clang::Scope*, clang::SourceLocation, clang::CXXScopeSpec&, clang::UnqualifiedId&, clang::OpaquePtr<clang::QualType>, bool, clang::OpaquePtr<clang::TemplateName>&)"},
-    {"_ZN5clang4Sema25CheckTemplateTypeArgumentEPNS_20TemplateTypeParmDeclERKNS_19TemplateArgumentLocERN4llvm15SmallVectorImplINS_16TemplateArgumentEEE", "clang::Sema::CheckTemplateTypeArgument(clang::TemplateTypeParmDecl*, clang::TemplateArgumentLoc const&, llvm::SmallVectorImpl<clang::TemplateArgument>&)"},
-    {"_ZN5clang4Sema39SubstDefaultTemplateArgumentIfAvailableEPNS_12TemplateDeclENS_14SourceLocationES3_PNS_4DeclERN4llvm15SmallVectorImplINS_16TemplateArgumentEEE", "clang::Sema::SubstDefaultTemplateArgumentIfAvailable(clang::TemplateDecl*, clang::SourceLocation, clang::SourceLocation, clang::Decl*, llvm::SmallVectorImpl<clang::TemplateArgument>&)"},
-    {"_Z28SubstDefaultTemplateArgumentRN5clang4SemaEPNS_12TemplateDeclENS_14SourceLocationES4_PNS_20TemplateTypeParmDeclERN4llvm15SmallVectorImplINS_16TemplateArgumentEEE", "SubstDefaultTemplateArgument(clang::Sema&, clang::TemplateDecl*, clang::SourceLocation, clang::SourceLocation, clang::TemplateTypeParmDecl*, llvm::SmallVectorImpl<clang::TemplateArgument>&)"},
-    {"_Z28SubstDefaultTemplateArgumentRN5clang4SemaEPNS_12TemplateDeclENS_14SourceLocationES4_PNS_23NonTypeTemplateParmDeclERN4llvm15SmallVectorImplINS_16TemplateArgumentEEE", "SubstDefaultTemplateArgument(clang::Sema&, clang::TemplateDecl*, clang::SourceLocation, clang::SourceLocation, clang::NonTypeTemplateParmDecl*, llvm::SmallVectorImpl<clang::TemplateArgument>&)"},
-    {"_Z28SubstDefaultTemplateArgumentRN5clang4SemaEPNS_12TemplateDeclENS_14SourceLocationES4_PNS_24TemplateTemplateParmDeclERN4llvm15SmallVectorImplINS_16TemplateArgumentEEE", "SubstDefaultTemplateArgument(clang::Sema&, clang::TemplateDecl*, clang::SourceLocation, clang::SourceLocation, clang::TemplateTemplateParmDecl*, llvm::SmallVectorImpl<clang::TemplateArgument>&)"},
-    {"_ZN5clang4Sema21CheckTemplateArgumentEPNS_9NamedDeclERKNS_19TemplateArgumentLocES2_NS_14SourceLocationES6_jRN4llvm15SmallVectorImplINS_16TemplateArgumentEEENS0_25CheckTemplateArgumentKindE", "clang::Sema::CheckTemplateArgument(clang::NamedDecl*, clang::TemplateArgumentLoc const&, clang::NamedDecl*, clang::SourceLocation, clang::SourceLocation, unsigned int, llvm::SmallVectorImpl<clang::TemplateArgument>&, clang::Sema::CheckTemplateArgumentKind)"},
-    {"_ZN5clang4Sema21CheckTemplateArgumentEPNS_24TemplateTemplateParmDeclERKNS_19TemplateArgumentLocE", "clang::Sema::CheckTemplateArgument(clang::TemplateTemplateParmDecl*, clang::TemplateArgumentLoc const&)"},
-    {"_ZN5clang4Sema36CheckTemplateArgumentPointerToMemberEPNS_4ExprERNS_16TemplateArgumentE", "clang::Sema::CheckTemplateArgumentPointerToMember(clang::Expr*, clang::TemplateArgument&)"},
-    {"_Z46CheckTemplateArgumentAddressOfObjectOrFunctionRN5clang4SemaEPNS_23NonTypeTemplateParmDeclENS_8QualTypeEPNS_4ExprERNS_16TemplateArgumentE", "CheckTemplateArgumentAddressOfObjectOrFunction(clang::Sema&, clang::NonTypeTemplateParmDecl*, clang::QualType, clang::Expr*, clang::TemplateArgument&)"},
-    {"_ZN5clang4Sema39BuildExpressionFromDeclTemplateArgumentERKNS_16TemplateArgumentENS_8QualTypeENS_14SourceLocationE", "clang::Sema::BuildExpressionFromDeclTemplateArgument(clang::TemplateArgument const&, clang::QualType, clang::SourceLocation)"},
-    {"_ZN5clang4Sema43BuildExpressionFromIntegralTemplateArgumentERKNS_16TemplateArgumentENS_14SourceLocationE", "clang::Sema::BuildExpressionFromIntegralTemplateArgument(clang::TemplateArgument const&, clang::SourceLocation)"},
-    {"_Z42DiagnoseTemplateParameterListArityMismatchRN5clang4SemaEPNS_21TemplateParameterListES3_NS0_30TemplateParameterListEqualKindENS_14SourceLocationE", "DiagnoseTemplateParameterListArityMismatch(clang::Sema&, clang::TemplateParameterList*, clang::TemplateParameterList*, clang::Sema::TemplateParameterListEqualKind, clang::SourceLocation)"},
-    {"_Z26MatchTemplateParameterKindRN5clang4SemaEPNS_9NamedDeclES3_bNS0_30TemplateParameterListEqualKindENS_14SourceLocationE", "MatchTemplateParameterKind(clang::Sema&, clang::NamedDecl*, clang::NamedDecl*, bool, clang::Sema::TemplateParameterListEqualKind, clang::SourceLocation)"},
-    {"_ZN5clang4Sema32ActOnClassTemplateSpecializationEPNS_5ScopeEjNS0_10TagUseKindENS_14SourceLocationERNS_12CXXScopeSpecENS_9OpaquePtrINS_12TemplateNameEEES4_S4_NS_18ASTTemplateArgsPtrES4_PNS_13AttributeListENS_11ASTMultiPtrIPNS_21TemplateParameterListEEE", "clang::Sema::ActOnClassTemplateSpecialization(clang::Scope*, unsigned int, clang::Sema::TagUseKind, clang::SourceLocation, clang::CXXScopeSpec&, clang::OpaquePtr<clang::TemplateName>, clang::SourceLocation, clang::SourceLocation, clang::ASTTemplateArgsPtr, clang::SourceLocation, clang::AttributeList*, clang::ASTMultiPtr<clang::TemplateParameterList*>)"},
-    {"_Z32CheckTemplateSpecializationScopeRN5clang4SemaEPNS_9NamedDeclES3_NS_14SourceLocationEb", "CheckTemplateSpecializationScope(clang::Sema&, clang::NamedDecl*, clang::NamedDecl*, clang::SourceLocation, bool)"},
-    {"_Z15getPreviousDeclPN5clang9NamedDeclE", "getPreviousDecl(clang::NamedDecl*)"},
-    {"_ZN5clang4Sema23ActOnTemplateDeclaratorEPNS_5ScopeENS_11ASTMultiPtrIPNS_21TemplateParameterListEEERNS_10DeclaratorE", "clang::Sema::ActOnTemplateDeclarator(clang::Scope*, clang::ASTMultiPtr<clang::TemplateParameterList*>, clang::Declarator&)"},
-    {"_ZN5clang4Sema31ActOnStartOfFunctionTemplateDefEPNS_5ScopeENS_11ASTMultiPtrIPNS_21TemplateParameterListEEERNS_10DeclaratorE", "clang::Sema::ActOnStartOfFunctionTemplateDef(clang::Scope*, clang::ASTMultiPtr<clang::TemplateParameterList*>, clang::Declarator&)"},
-    {"_ZN5clang4Sema38CheckSpecializationInstantiationRedeclENS_14SourceLocationENS_26TemplateSpecializationKindEPNS_9NamedDeclES2_S1_Rb", "clang::Sema::CheckSpecializationInstantiationRedecl(clang::SourceLocation, clang::TemplateSpecializationKind, clang::NamedDecl*, clang::TemplateSpecializationKind, clang::SourceLocation, bool&)"},
-    {"_ZN5clang4Sema44CheckDependentFunctionTemplateSpecializationEPNS_12FunctionDeclERKNS_24TemplateArgumentListInfoERNS_12LookupResultE", "clang::Sema::CheckDependentFunctionTemplateSpecialization(clang::FunctionDecl*, clang::TemplateArgumentListInfo const&, clang::LookupResult&)"},
-    {"_ZN5clang4Sema35CheckFunctionTemplateSpecializationEPNS_12FunctionDeclEPKNS_24TemplateArgumentListInfoERNS_12LookupResultE", "clang::Sema::CheckFunctionTemplateSpecialization(clang::FunctionDecl*, clang::TemplateArgumentListInfo const*, clang::LookupResult&)"},
-    {"_ZN5clang4Sema25CheckMemberSpecializationEPNS_9NamedDeclERNS_12LookupResultE", "clang::Sema::CheckMemberSpecialization(clang::NamedDecl*, clang::LookupResult&)"},
-    {"_ZN5clang4Sema26ActOnExplicitInstantiationEPNS_5ScopeENS_14SourceLocationES3_jS3_RKNS_12CXXScopeSpecENS_9OpaquePtrINS_12TemplateNameEEES3_S3_NS_18ASTTemplateArgsPtrES3_PNS_13AttributeListE", "clang::Sema::ActOnExplicitInstantiation(clang::Scope*, clang::SourceLocation, clang::SourceLocation, unsigned int, clang::SourceLocation, clang::CXXScopeSpec const&, clang::OpaquePtr<clang::TemplateName>, clang::SourceLocation, clang::SourceLocation, clang::ASTTemplateArgsPtr, clang::SourceLocation, clang::AttributeList*)"},
-    {"_Z31CheckExplicitInstantiationScopeRN5clang4SemaEPNS_9NamedDeclENS_14SourceLocationEb", "CheckExplicitInstantiationScope(clang::Sema&, clang::NamedDecl*, clang::SourceLocation, bool)"},
-    {"_ZN5clang4Sema26ActOnExplicitInstantiationEPNS_5ScopeENS_14SourceLocationES3_jS3_RNS_12CXXScopeSpecEPNS_14IdentifierInfoES3_PNS_13AttributeListE", "clang::Sema::ActOnExplicitInstantiation(clang::Scope*, clang::SourceLocation, clang::SourceLocation, unsigned int, clang::SourceLocation, clang::CXXScopeSpec&, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeList*)"},
-    {"_ZN5clang4Sema26ActOnExplicitInstantiationEPNS_5ScopeENS_14SourceLocationES3_RNS_10DeclaratorE", "clang::Sema::ActOnExplicitInstantiation(clang::Scope*, clang::SourceLocation, clang::SourceLocation, clang::Declarator&)"},
-    {"_ZN5clang4Sema17ActOnDependentTagEPNS_5ScopeEjNS0_10TagUseKindERKNS_12CXXScopeSpecEPNS_14IdentifierInfoENS_14SourceLocationES9_", "clang::Sema::ActOnDependentTag(clang::Scope*, unsigned int, clang::Sema::TagUseKind, clang::CXXScopeSpec const&, clang::IdentifierInfo*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17ActOnTypenameTypeEPNS_5ScopeENS_14SourceLocationERKNS_12CXXScopeSpecERKNS_14IdentifierInfoES3_", "clang::Sema::ActOnTypenameType(clang::Scope*, clang::SourceLocation, clang::CXXScopeSpec const&, clang::IdentifierInfo const&, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17CheckTypenameTypeENS_21ElaboratedTypeKeywordEPNS_19NestedNameSpecifierERKNS_14IdentifierInfoENS_14SourceLocationENS_11SourceRangeES7_", "clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifier*, clang::IdentifierInfo const&, clang::SourceLocation, clang::SourceRange, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17ActOnTypenameTypeEPNS_5ScopeENS_14SourceLocationERKNS_12CXXScopeSpecES3_NS_9OpaquePtrINS_8QualTypeEEE", "clang::Sema::ActOnTypenameType(clang::Scope*, clang::SourceLocation, clang::CXXScopeSpec const&, clang::SourceLocation, clang::OpaquePtr<clang::QualType>)"},
-    {"_ZN5clang4Sema33RebuildTypeInCurrentInstantiationEPNS_14TypeSourceInfoENS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::RebuildTypeInCurrentInstantiation(clang::TypeSourceInfo*, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE13TransformTypeEPNS_14TypeSourceInfoE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformType(clang::TypeSourceInfo*)"},
-    {"_ZN5clang4Sema33RebuildExprInCurrentInstantiationEPNS_4ExprE", "clang::Sema::RebuildExprInCurrentInstantiation(clang::Expr*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE13TransformExprEPNS_4ExprE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformExpr(clang::Expr*)"},
-    {"_ZN5clang4Sema48RebuildNestedNameSpecifierInCurrentInstantiationERNS_12CXXScopeSpecE", "clang::Sema::RebuildNestedNameSpecifierInCurrentInstantiation(clang::CXXScopeSpec&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE28TransformNestedNameSpecifierEPNS_19NestedNameSpecifierENS_11SourceRangeENS_8QualTypeEPNS_9NamedDeclE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformNestedNameSpecifier(clang::NestedNameSpecifier*, clang::SourceRange, clang::QualType, clang::NamedDecl*)"},
-    {"_ZN5clang4Sema31getTemplateArgumentBindingsTextEPKNS_21TemplateParameterListERKNS_20TemplateArgumentListE", "clang::Sema::getTemplateArgumentBindingsText(clang::TemplateParameterList const*, clang::TemplateArgumentList const&)"},
-    {"_ZN5clang4Sema31getTemplateArgumentBindingsTextEPKNS_21TemplateParameterListEPKNS_16TemplateArgumentEj", "clang::Sema::getTemplateArgumentBindingsText(clang::TemplateParameterList const*, clang::TemplateArgument const*, unsigned int)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE26TransformTypeInObjectScopeEPNS_14TypeSourceInfoENS_8QualTypeEPNS_9NamedDeclEPNS_19NestedNameSpecifierE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTypeInObjectScope(clang::TypeSourceInfo*, clang::QualType, clang::NamedDecl*, clang::NestedNameSpecifier*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE21TransformTemplateNameENS_12TemplateNameENS_8QualTypeEPNS_9NamedDeclE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTemplateName(clang::TemplateName, clang::QualType, clang::NamedDecl*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE35TransformTemplateSpecializationTypeERNS_14TypeLocBuilderENS_29TemplateSpecializationTypeLocENS_12TemplateNameE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE44TransformDependentTemplateSpecializationTypeERNS_14TypeLocBuilderENS_38DependentTemplateSpecializationTypeLocEPNS_19NestedNameSpecifierE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformDependentTemplateSpecializationType(clang::TypeLocBuilder&, clang::DependentTemplateSpecializationTypeLoc, clang::NestedNameSpecifier*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE13TransformTypeERNS_14TypeLocBuilderENS_7TypeLocE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE27TransformFunctionTypeParamsENS_14SourceLocationEPPNS_11ParmVarDeclEjPKNS_8QualTypeERN4llvm15SmallVectorImplIS8_EEPNSC_IS6_EE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformFunctionTypeParams(clang::SourceLocation, clang::ParmVarDecl**, unsigned int, clang::QualType const*, llvm::SmallVectorImpl<clang::QualType>&, llvm::SmallVectorImpl<clang::ParmVarDecl*>*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE26TransformFunctionTypeParamEPNS_11ParmVarDeclEN4llvm8OptionalIjEE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformFunctionTypeParam(clang::ParmVarDecl*, llvm::Optional<unsigned int>)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE16RebuildArrayTypeENS_8QualTypeENS_9ArrayType17ArraySizeModifierEPKN4llvm5APIntEPNS_4ExprEjNS_11SourceRangeE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildArrayType(clang::QualType, clang::ArrayType::ArraySizeModifier, llvm::APInt const*, clang::Expr*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE22TransformReferenceTypeERNS_14TypeLocBuilderENS_16ReferenceTypeLocE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformReferenceType(clang::TypeLocBuilder&, clang::ReferenceTypeLoc)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE26TransformTemplateArgumentsINS_33TemplateArgumentLocInventIteratorIS2_PKNS_16TemplateArgumentEEEEEbT_SA_RNS_24TemplateArgumentListInfoE", "bool clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTemplateArguments<clang::TemplateArgumentLocInventIterator<(anonymous namespace)::CurrentInstantiationRebuilder, clang::TemplateArgument const*> >(clang::TemplateArgumentLocInventIterator<(anonymous namespace)::CurrentInstantiationRebuilder, clang::TemplateArgument const*>, clang::TemplateArgumentLocInventIterator<(anonymous namespace)::CurrentInstantiationRebuilder, clang::TemplateArgument const*>, clang::TemplateArgumentListInfo&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE25TransformTemplateArgumentERKNS_19TemplateArgumentLocERS4_", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE20RebuildPackExpansionENS_19TemplateArgumentLocENS_14SourceLocationEN4llvm8OptionalIjEE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildPackExpansion(clang::TemplateArgumentLoc, clang::SourceLocation, llvm::Optional<unsigned int>)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE25InventTemplateArgumentLocERKNS_16TemplateArgumentERNS_19TemplateArgumentLocE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::InventTemplateArgumentLoc(clang::TemplateArgument const&, clang::TemplateArgumentLoc&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE23TransformBinaryOperatorEPNS_14BinaryOperatorE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE17TransformCallExprEPNS_8CallExprE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformCallExpr(clang::CallExpr*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE21TransformCompoundStmtEPNS_12CompoundStmtEb", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformCompoundStmt(clang::CompoundStmt*, bool)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE13TransformStmtEPNS_4StmtE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformStmt(clang::Stmt*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE21TransformCXXCatchStmtEPNS_12CXXCatchStmtE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformCXXCatchStmt(clang::CXXCatchStmt*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE14TransformExprsEPPNS_4ExprEjbRN4llvm15SmallVectorImplIS5_EEPb", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformExprs(clang::Expr**, unsigned int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE26TransformTemplateArgumentsIPKNS_19TemplateArgumentLocEEEbT_S8_RNS_24TemplateArgumentListInfoE", "bool clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTemplateArguments<clang::TemplateArgumentLoc const*>(clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc const*, clang::TemplateArgumentListInfo&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE28TransformDeclarationNameInfoERKNS_19DeclarationNameInfoE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformDeclarationNameInfo(clang::DeclarationNameInfo const&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_129CurrentInstantiationRebuilderEE25TransformCXXNamedCastExprEPNS_16CXXNamedCastExprE", "clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformCXXNamedCastExpr(clang::CXXNamedCastExpr*)"},
-    {"_Z50CheckNonTypeClassTemplatePartialSpecializationArgsRN5clang4SemaEPNS_23NonTypeTemplateParmDeclEPKNS_16TemplateArgumentEj", "CheckNonTypeClassTemplatePartialSpecializationArgs(clang::Sema&, clang::NonTypeTemplateParmDecl*, clang::TemplateArgument const*, unsigned int)"},
-    {"_ZN5clang11TypeVisitorIN12_GLOBAL__N_127UnnamedLocalNoLinkageFinderEbE5VisitEPKNS_4TypeE", "clang::TypeVisitor<(anonymous namespace)::UnnamedLocalNoLinkageFinder, bool>::Visit(clang::Type const*)"},
-    {"_ZN12_GLOBAL__N_127UnnamedLocalNoLinkageFinder24VisitNestedNameSpecifierEPN5clang19NestedNameSpecifierE", "(anonymous namespace)::UnnamedLocalNoLinkageFinder::VisitNestedNameSpecifier(clang::NestedNameSpecifier*)"},
-    {"_ZN12_GLOBAL__N_127UnnamedLocalNoLinkageFinder12VisitTagDeclEPKN5clang7TagDeclE", "(anonymous namespace)::UnnamedLocalNoLinkageFinder::VisitTagDecl(clang::TagDecl const*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE12TraverseTypeENS_8QualTypeE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseType(clang::QualType)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE27TraverseNestedNameSpecifierEPNS_19NestedNameSpecifierE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseNestedNameSpecifier(clang::NestedNameSpecifier*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE24TraverseTemplateArgumentERKNS_16TemplateArgumentE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseTemplateArgument(clang::TemplateArgument const&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE12TraverseStmtEPNS_4StmtE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseStmt(clang::Stmt*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE15TraverseTypeLocENS_7TypeLocE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseTypeLoc(clang::TypeLoc)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE27TraverseTemplateArgumentLocERKNS_19TemplateArgumentLocE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseTemplateArgumentLoc(clang::TemplateArgumentLoc const&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE12TraverseDeclEPNS_4DeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseDecl(clang::Decl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE24TraverseDeclaratorHelperEPNS_14DeclaratorDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseDeclaratorHelper(clang::DeclaratorDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE22TraverseFunctionHelperEPNS_12FunctionDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseFunctionHelper(clang::FunctionDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_117DependencyCheckerEE23TraverseCXXRecordHelperEPNS_13CXXRecordDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::DependencyChecker>::TraverseCXXRecordHelper(clang::CXXRecordDecl*)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang19TemplateArgumentLocEEaSERKS3_", "llvm::SmallVectorImpl<clang::TemplateArgumentLoc>::operator=(llvm::SmallVectorImpl<clang::TemplateArgumentLoc> const&)"},
-    {"_ZSt24__uninitialized_copy_auxIPKN5clang19TemplateArgumentLocEPS1_ET0_T_S6_S5_St12__false_type", "clang::TemplateArgumentLoc* std::__uninitialized_copy_aux<clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc*>(clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc*, std::__false_type)"},
-    {"_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_38ClassTemplatePartialSpecializationDeclERKNS_20TemplateArgumentListERNS_4sema21TemplateDeductionInfoE", "clang::Sema::DeduceTemplateArguments(clang::ClassTemplatePartialSpecializationDecl*, clang::TemplateArgumentList const&, clang::sema::TemplateDeductionInfo&)"},
-    {"_Z31FinishTemplateArgumentDeductionRN5clang4SemaEPNS_38ClassTemplatePartialSpecializationDeclERKNS_20TemplateArgumentListERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEERNS_4sema21TemplateDeductionInfoE", "FinishTemplateArgumentDeduction(clang::Sema&, clang::ClassTemplatePartialSpecializationDecl*, clang::TemplateArgumentList const&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, clang::sema::TemplateDeductionInfo&)"},
-    {"_ZN5clang4Sema35SubstituteExplicitTemplateArgumentsEPNS_20FunctionTemplateDeclERKNS_24TemplateArgumentListInfoERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEERNS7_INS_8QualTypeEEEPSB_RNS_4sema21TemplateDeductionInfoE", "clang::Sema::SubstituteExplicitTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo const&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, llvm::SmallVectorImpl<clang::QualType>&, clang::QualType*, clang::sema::TemplateDeductionInfo&)"},
-    {"_ZN5clang4Sema31FinishTemplateArgumentDeductionEPNS_20FunctionTemplateDeclERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjRPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoE", "clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&)"},
-    {"_Z30ConvertDeducedTemplateArgumentRN5clang4SemaEPNS_9NamedDeclENS_23DeducedTemplateArgumentES3_NS_8QualTypeEjRNS_4sema21TemplateDeductionInfoEbRN4llvm15SmallVectorImplINS_16TemplateArgumentEEE", "ConvertDeducedTemplateArgument(clang::Sema&, clang::NamedDecl*, clang::DeducedTemplateArgument, clang::NamedDecl*, clang::QualType, unsigned int, clang::sema::TemplateDeductionInfo&, bool, llvm::SmallVectorImpl<clang::TemplateArgument>&)"},
-    {"_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPKNS_24TemplateArgumentListInfoEPPNS_4ExprEjRPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoE", "clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo const*, clang::Expr**, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&)"},
-    {"_Z41AdjustFunctionParmAndArgTypesForDeductionRN5clang4SemaEPNS_21TemplateParameterListERNS_8QualTypeES5_PNS_4ExprERj", "AdjustFunctionParmAndArgTypesForDeduction(clang::Sema&, clang::TemplateParameterList*, clang::QualType&, clang::QualType&, clang::Expr*, unsigned int&)"},
-    {"_Z23DeduceTemplateArgumentsRN5clang4SemaEPNS_21TemplateParameterListENS_8QualTypeES4_RNS_4sema21TemplateDeductionInfoERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjbPNS9_I33RefParamPartialOrderingComparisonEE", "DeduceTemplateArguments(clang::Sema&, clang::TemplateParameterList*, clang::QualType, clang::QualType, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, bool, llvm::SmallVectorImpl<RefParamPartialOrderingComparison>*)"},
-    {"_Z28PrepareArgumentPackDeductionRN5clang4SemaERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEERKNS3_IjEES6_RNS3_INS2_11SmallVectorIS4_Lj4EEEEE", "PrepareArgumentPackDeduction(clang::Sema&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, llvm::SmallVectorImpl<unsigned int> const&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, llvm::SmallVectorImpl<llvm::SmallVector<clang::DeducedTemplateArgument, 4u> >&)"},
-    {"_Z27FinishArgumentPackDeductionRN5clang4SemaEPNS_21TemplateParameterListEbRN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEERKNS5_IjEES8_RNS5_INS4_11SmallVectorIS6_Lj4EEEEERNS_4sema21TemplateDeductionInfoE", "FinishArgumentPackDeduction(clang::Sema&, clang::TemplateParameterList*, bool, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, llvm::SmallVectorImpl<unsigned int> const&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, llvm::SmallVectorImpl<llvm::SmallVector<clang::DeducedTemplateArgument, 4u> >&, clang::sema::TemplateDeductionInfo&)"},
-    {"_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPKNS_24TemplateArgumentListInfoENS_8QualTypeERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoE", "clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo const*, clang::QualType, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&)"},
-    {"_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclENS_8QualTypeERPNS_17CXXConversionDeclERNS_4sema21TemplateDeductionInfoE", "clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::QualType, clang::CXXConversionDecl*&, clang::sema::TemplateDeductionInfo&)"},
-    {"_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPKNS_24TemplateArgumentListInfoERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoE", "clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo const*, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&)"},
-    {"_ZN5clang4Sema26getMoreSpecializedTemplateEPNS_20FunctionTemplateDeclES2_NS_14SourceLocationENS_30TemplatePartialOrderingContextEj", "clang::Sema::getMoreSpecializedTemplate(clang::FunctionTemplateDecl*, clang::FunctionTemplateDecl*, clang::SourceLocation, clang::TemplatePartialOrderingContext, unsigned int)"},
-    {"_Z24isAtLeastAsSpecializedAsRN5clang4SemaENS_14SourceLocationEPNS_20FunctionTemplateDeclES4_NS_30TemplatePartialOrderingContextEjPN4llvm15SmallVectorImplI33RefParamPartialOrderingComparisonEE", "isAtLeastAsSpecializedAs(clang::Sema&, clang::SourceLocation, clang::FunctionTemplateDecl*, clang::FunctionTemplateDecl*, clang::TemplatePartialOrderingContext, unsigned int, llvm::SmallVectorImpl<RefParamPartialOrderingComparison>*)"},
-    {"_ZN5clang4Sema18getMostSpecializedENS_21UnresolvedSetIteratorES1_NS_30TemplatePartialOrderingContextEjNS_14SourceLocationERKNS_17PartialDiagnosticES6_S6_", "clang::Sema::getMostSpecialized(clang::UnresolvedSetIterator, clang::UnresolvedSetIterator, clang::TemplatePartialOrderingContext, unsigned int, clang::SourceLocation, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&, clang::PartialDiagnostic const&)"},
-    {"_ZN5clang4Sema39getMoreSpecializedPartialSpecializationEPNS_38ClassTemplatePartialSpecializationDeclES2_NS_14SourceLocationE", "clang::Sema::getMoreSpecializedPartialSpecialization(clang::ClassTemplatePartialSpecializationDecl*, clang::ClassTemplatePartialSpecializationDecl*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema26MarkUsedTemplateParametersERKNS_20TemplateArgumentListEbjRN4llvm15SmallVectorImplIbEE", "clang::Sema::MarkUsedTemplateParameters(clang::TemplateArgumentList const&, bool, unsigned int, llvm::SmallVectorImpl<bool>&)"},
-    {"_Z26MarkUsedTemplateParametersRN5clang4SemaERKNS_16TemplateArgumentEbjRN4llvm15SmallVectorImplIbEE", "MarkUsedTemplateParameters(clang::Sema&, clang::TemplateArgument const&, bool, unsigned int, llvm::SmallVectorImpl<bool>&)"},
-    {"_ZN5clang4Sema29MarkDeducedTemplateParametersEPNS_20FunctionTemplateDeclERN4llvm15SmallVectorImplIbEE", "clang::Sema::MarkDeducedTemplateParameters(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<bool>&)"},
-    {"_Z26MarkUsedTemplateParametersRN5clang4SemaENS_8QualTypeEbjRN4llvm15SmallVectorImplIbEE", "MarkUsedTemplateParameters(clang::Sema&, clang::QualType, bool, unsigned int, llvm::SmallVectorImpl<bool>&)"},
-    {"_Z26MarkUsedTemplateParametersRN5clang4SemaENS_12TemplateNameEbjRN4llvm15SmallVectorImplIbEE", "MarkUsedTemplateParameters(clang::Sema&, clang::TemplateName, bool, unsigned int, llvm::SmallVectorImpl<bool>&)"},
-    {"_Z26MarkUsedTemplateParametersRN5clang4SemaEPNS_19NestedNameSpecifierEbjRN4llvm15SmallVectorImplIbEE", "MarkUsedTemplateParameters(clang::Sema&, clang::NestedNameSpecifier*, bool, unsigned int, llvm::SmallVectorImpl<bool>&)"},
-    {"_Z35MaybeAddImplicitObjectParameterTypeRN5clang10ASTContextEPNS_13CXXMethodDeclERN4llvm15SmallVectorImplINS_8QualTypeEEE", "MaybeAddImplicitObjectParameterType(clang::ASTContext&, clang::CXXMethodDecl*, llvm::SmallVectorImpl<clang::QualType>&)"},
-    {"_Z23DeduceTemplateArgumentsRN5clang4SemaEPNS_21TemplateParameterListEPKNS_8QualTypeEjS6_jRNS_4sema21TemplateDeductionInfoERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjbPNSB_I33RefParamPartialOrderingComparisonEE", "DeduceTemplateArguments(clang::Sema&, clang::TemplateParameterList*, clang::QualType const*, unsigned int, clang::QualType const*, unsigned int, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, bool, llvm::SmallVectorImpl<RefParamPartialOrderingComparison>*)"},
-    {"_Z29checkDeducedTemplateArgumentsRN5clang10ASTContextERKNS_23DeducedTemplateArgumentES4_", "checkDeducedTemplateArguments(clang::ASTContext&, clang::DeducedTemplateArgument const&, clang::DeducedTemplateArgument const&)"},
-    {"_Z20hasSameExtendedValueN4llvm6APSIntES0_", "hasSameExtendedValue(llvm::APSInt, llvm::APSInt)"},
-    {"_Z29DeduceNonTypeTemplateArgumentRN5clang4SemaEPNS_23NonTypeTemplateParmDeclEN4llvm6APSIntENS_8QualTypeEbRNS_4sema21TemplateDeductionInfoERNS4_15SmallVectorImplINS_23DeducedTemplateArgumentEEE", "DeduceNonTypeTemplateArgument(clang::Sema&, clang::NonTypeTemplateParmDecl*, llvm::APSInt, clang::QualType, bool, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&)"},
-    {"_Z29DeduceNonTypeTemplateArgumentRN5clang4SemaEPNS_23NonTypeTemplateParmDeclEPNS_4ExprERNS_4sema21TemplateDeductionInfoERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEE", "DeduceNonTypeTemplateArgument(clang::Sema&, clang::NonTypeTemplateParmDecl*, clang::Expr*, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&)"},
-    {"_Z23DeduceTemplateArgumentsRN5clang4SemaEPNS_21TemplateParameterListEPKNS_26TemplateSpecializationTypeENS_8QualTypeERNS_4sema21TemplateDeductionInfoERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEE", "DeduceTemplateArguments(clang::Sema&, clang::TemplateParameterList*, clang::TemplateSpecializationType const*, clang::QualType, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&)"},
-    {"_Z23DeduceTemplateArgumentsRN5clang4SemaEPNS_21TemplateParameterListENS_12TemplateNameES4_RNS_4sema21TemplateDeductionInfoERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEE", "DeduceTemplateArguments(clang::Sema&, clang::TemplateParameterList*, clang::TemplateName, clang::TemplateName, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&)"},
-    {"_Z23DeduceTemplateArgumentsRN5clang4SemaEPNS_21TemplateParameterListEPKNS_16TemplateArgumentEjS6_jRNS_4sema21TemplateDeductionInfoERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEb", "DeduceTemplateArguments(clang::Sema&, clang::TemplateParameterList*, clang::TemplateArgument const*, unsigned int, clang::TemplateArgument const*, unsigned int, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, bool)"},
-    {"_Z23DeduceTemplateArgumentsRN5clang4SemaEPNS_21TemplateParameterListERKNS_16TemplateArgumentES4_RNS_4sema21TemplateDeductionInfoERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEE", "DeduceTemplateArguments(clang::Sema&, clang::TemplateParameterList*, clang::TemplateArgument const&, clang::TemplateArgument, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&)"},
-    {"_Z17GetTypeOfFunctionRN5clang10ASTContextERKNS_12OverloadExpr10FindResultEPNS_12FunctionDeclE", "GetTypeOfFunction(clang::ASTContext&, clang::OverloadExpr::FindResult const&, clang::FunctionDecl*)"},
-    {"_Z17isSameTemplateArgRN5clang10ASTContextERKNS_16TemplateArgumentES4_", "isSameTemplateArg(clang::ASTContext&, clang::TemplateArgument const&, clang::TemplateArgument const&)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang23DeducedTemplateArgumentEE6resizeEj", "llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::resize(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang23DeducedTemplateArgumentEE9push_backERKS2_", "llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::push_back(clang::DeducedTemplateArgument const&)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIN5clang14SourceLocationENS2_17PartialDiagnosticEEE6appendIPKS5_EEvT_SA_", "void llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic> >::append<std::pair<clang::SourceLocation, clang::PartialDiagnostic> const*>(std::pair<clang::SourceLocation, clang::PartialDiagnostic> const*, std::pair<clang::SourceLocation, clang::PartialDiagnostic> const*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4DeclENS_11SmallVectorISt4pairINS1_14SourceLocationENS1_17PartialDiagnosticEELj1EEENS_12DenseMapInfoIS3_EENSA_IS9_EEE16FindAndConstructERKS3_", "llvm::DenseMap<clang::Decl*, llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u>, llvm::DenseMapInfo<clang::Decl*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u> > >::FindAndConstruct(clang::Decl* const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang4DeclENS_11SmallVectorISt4pairINS1_14SourceLocationENS1_17PartialDiagnosticEELj1EEENS_12DenseMapInfoIS3_EENSA_IS9_EEE16InsertIntoBucketERKS3_RKS9_PS5_IS3_S9_E", "llvm::DenseMap<clang::Decl*, llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u>, llvm::DenseMapInfo<clang::Decl*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u> > >::InsertIntoBucket(clang::Decl* const&, llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u> const&, std::pair<clang::Decl*, llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u> >*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4DeclENS_11SmallVectorISt4pairINS1_14SourceLocationENS1_17PartialDiagnosticEELj1EEENS_12DenseMapInfoIS3_EENSA_IS9_EEE4growEj", "llvm::DenseMap<clang::Decl*, llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u>, llvm::DenseMapInfo<clang::Decl*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<clang::SourceLocation, clang::PartialDiagnostic>, 1u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIN5clang14SourceLocationENS2_17PartialDiagnosticEEEaSERKS6_", "llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic> >::operator=(llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic> > const&)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPKSt4pairIN5clang14SourceLocationENS4_17PartialDiagnosticEEPS7_EET0_T_SC_SB_", "std::pair<clang::SourceLocation, clang::PartialDiagnostic>* std::__copy<false, std::random_access_iterator_tag>::copy<std::pair<clang::SourceLocation, clang::PartialDiagnostic> const*, std::pair<clang::SourceLocation, clang::PartialDiagnostic>*>(std::pair<clang::SourceLocation, clang::PartialDiagnostic> const*, std::pair<clang::SourceLocation, clang::PartialDiagnostic> const*, std::pair<clang::SourceLocation, clang::PartialDiagnostic>*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang23DeducedTemplateArgumentELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::DeducedTemplateArgument, false>::grow(unsigned long)"},
-    {"_ZSt24__uninitialized_copy_auxIPN5clang23DeducedTemplateArgumentES2_ET0_T_S4_S3_St12__false_type", "clang::DeducedTemplateArgument* std::__uninitialized_copy_aux<clang::DeducedTemplateArgument*, clang::DeducedTemplateArgument*>(clang::DeducedTemplateArgument*, clang::DeducedTemplateArgument*, clang::DeducedTemplateArgument*, std::__false_type)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang23DeducedTemplateArgumentEE15construct_rangeEPS2_S4_RKS2_", "llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::construct_range(clang::DeducedTemplateArgument*, clang::DeducedTemplateArgument*, clang::DeducedTemplateArgument const&)"},
-    {"_ZN4llvm11SmallVectorINS0_IN5clang23DeducedTemplateArgumentELj4EEELj2EEC2EjRKS3_", "llvm::SmallVector<llvm::SmallVector<clang::DeducedTemplateArgument, 4u>, 2u>::SmallVector(unsigned int, llvm::SmallVector<clang::DeducedTemplateArgument, 4u> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11SmallVectorIN5clang23DeducedTemplateArgumentELj4EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SmallVector<clang::DeducedTemplateArgument, 4u>, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11SmallVectorIN5clang23DeducedTemplateArgumentELj4EEELb0EE13destroy_rangeEPS4_S6_", "llvm::SmallVectorTemplateBase<llvm::SmallVector<clang::DeducedTemplateArgument, 4u>, false>::destroy_range(llvm::SmallVector<clang::DeducedTemplateArgument, 4u>*, llvm::SmallVector<clang::DeducedTemplateArgument, 4u>*)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang23DeducedTemplateArgumentEEaSERKS3_", "llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument> const&)"},
-    {"_ZSt24__uninitialized_copy_auxIPKN5clang23DeducedTemplateArgumentEPS1_ET0_T_S6_S5_St12__false_type", "clang::DeducedTemplateArgument* std::__uninitialized_copy_aux<clang::DeducedTemplateArgument const*, clang::DeducedTemplateArgument*>(clang::DeducedTemplateArgument const*, clang::DeducedTemplateArgument const*, clang::DeducedTemplateArgument*, std::__false_type)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang8QualTypeEE6insertIPKS2_EEPS2_S7_T_S8_", "clang::QualType* llvm::SmallVectorImpl<clang::QualType>::insert<clang::QualType const*>(clang::QualType*, clang::QualType const*, clang::QualType const*)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang8QualTypeEE6resizeEj", "llvm::SmallVectorImpl<clang::QualType>::resize(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang23DeducedTemplateArgumentEE6appendIPKNS1_16TemplateArgumentEEEvT_S8_", "void llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::append<clang::TemplateArgument const*>(clang::TemplateArgument const*, clang::TemplateArgument const*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseI33RefParamPartialOrderingComparisonLb0EE4growEm", "llvm::SmallVectorTemplateBase<RefParamPartialOrderingComparison, false>::grow(unsigned long)"},
-    {"_ZN5clang23DeducedTemplateArgumentC2ERKNS_16TemplateArgumentEb", "clang::DeducedTemplateArgument::DeducedTemplateArgument(clang::TemplateArgument const&, bool)"},
-    {"_ZN5clang4Sema28getTemplateInstantiationArgsEPNS_9NamedDeclEPKNS_20TemplateArgumentListEbPKNS_12FunctionDeclE", "clang::Sema::getTemplateInstantiationArgs(clang::NamedDecl*, clang::TemplateArgumentList const*, bool, clang::FunctionDecl const*)"},
-    {"_ZNK5clang4Sema27ActiveTemplateInstantiation21isInstantiationRecordEv", "clang::Sema::ActiveTemplateInstantiation::isInstantiationRecord() const"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC1ERS0_NS_14SourceLocationEPNS_4DeclENS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::Decl*, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC2ERS0_NS_14SourceLocationEPNS_4DeclENS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::Decl*, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplate23CheckInstantiationDepthENS_14SourceLocationENS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::CheckInstantiationDepth(clang::SourceLocation, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC1ERS0_NS_14SourceLocationEPNS_12TemplateDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::TemplateDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC2ERS0_NS_14SourceLocationEPNS_12TemplateDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::TemplateDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC1ERS0_NS_14SourceLocationEPNS_20FunctionTemplateDeclEPKNS_16TemplateArgumentEjNS0_27ActiveTemplateInstantiation17InstantiationKindERNS_4sema21TemplateDeductionInfoENS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::FunctionTemplateDecl*, clang::TemplateArgument const*, unsigned int, clang::Sema::ActiveTemplateInstantiation::InstantiationKind, clang::sema::TemplateDeductionInfo&, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC2ERS0_NS_14SourceLocationEPNS_20FunctionTemplateDeclEPKNS_16TemplateArgumentEjNS0_27ActiveTemplateInstantiation17InstantiationKindERNS_4sema21TemplateDeductionInfoENS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::FunctionTemplateDecl*, clang::TemplateArgument const*, unsigned int, clang::Sema::ActiveTemplateInstantiation::InstantiationKind, clang::sema::TemplateDeductionInfo&, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC1ERS0_NS_14SourceLocationEPNS_38ClassTemplatePartialSpecializationDeclEPKNS_16TemplateArgumentEjRNS_4sema21TemplateDeductionInfoENS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::ClassTemplatePartialSpecializationDecl*, clang::TemplateArgument const*, unsigned int, clang::sema::TemplateDeductionInfo&, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC2ERS0_NS_14SourceLocationEPNS_38ClassTemplatePartialSpecializationDeclEPKNS_16TemplateArgumentEjRNS_4sema21TemplateDeductionInfoENS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::ClassTemplatePartialSpecializationDecl*, clang::TemplateArgument const*, unsigned int, clang::sema::TemplateDeductionInfo&, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC1ERS0_NS_14SourceLocationEPNS_11ParmVarDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::ParmVarDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC2ERS0_NS_14SourceLocationEPNS_11ParmVarDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::ParmVarDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC1ERS0_NS_14SourceLocationEPNS_9NamedDeclEPNS_23NonTypeTemplateParmDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::NamedDecl*, clang::NonTypeTemplateParmDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC2ERS0_NS_14SourceLocationEPNS_9NamedDeclEPNS_23NonTypeTemplateParmDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::NamedDecl*, clang::NonTypeTemplateParmDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC1ERS0_NS_14SourceLocationEPNS_9NamedDeclEPNS_24TemplateTemplateParmDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::NamedDecl*, clang::TemplateTemplateParmDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC2ERS0_NS_14SourceLocationEPNS_9NamedDeclEPNS_24TemplateTemplateParmDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::NamedDecl*, clang::TemplateTemplateParmDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC1ERS0_NS_14SourceLocationEPNS_12TemplateDeclEPNS_9NamedDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::TemplateDecl*, clang::NamedDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplateC2ERS0_NS_14SourceLocationEPNS_12TemplateDeclEPNS_9NamedDeclEPKNS_16TemplateArgumentEjNS_11SourceRangeE", "clang::Sema::InstantiatingTemplate::InstantiatingTemplate(clang::Sema&, clang::SourceLocation, clang::TemplateDecl*, clang::NamedDecl*, clang::TemplateArgument const*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang4Sema21InstantiatingTemplate5ClearEv", "clang::Sema::InstantiatingTemplate::Clear()"},
-    {"_ZN5clang4Sema23PrintInstantiationStackEv", "clang::Sema::PrintInstantiationStack()"},
-    {"_ZNK5clang4Sema15isSFINAEContextEv", "clang::Sema::isSFINAEContext() const"},
-    {"_ZN5clang4Sema9SubstTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE13TransformTypeEPNS_14TypeSourceInfoE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*)"},
-    {"_ZN5clang4Sema9SubstTypeENS_7TypeLocERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::SubstType(clang::TypeLoc, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE13TransformTypeERNS_14TypeLocBuilderENS_7TypeLocE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc)"},
-    {"_ZN5clang4Sema9SubstTypeENS_8QualTypeERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE13TransformTypeENS_8QualTypeE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::QualType)"},
-    {"_ZN5clang4Sema21SubstFunctionDeclTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang4Sema16SubstParmVarDeclEPNS_11ParmVarDeclERKNS_30MultiLevelTemplateArgumentListEN4llvm8OptionalIjEE", "clang::Sema::SubstParmVarDecl(clang::ParmVarDecl*, clang::MultiLevelTemplateArgumentList const&, llvm::Optional<unsigned int>)"},
-    {"_ZN5clang23LocalInstantiationScope24InstantiatedLocalPackArgEPKNS_4DeclEPS1_", "clang::LocalInstantiationScope::InstantiatedLocalPackArg(clang::Decl const*, clang::Decl*)"},
-    {"_ZN5clang23LocalInstantiationScope17InstantiatedLocalEPKNS_4DeclEPS1_", "clang::LocalInstantiationScope::InstantiatedLocal(clang::Decl const*, clang::Decl*)"},
-    {"_ZN5clang4Sema14SubstParmTypesENS_14SourceLocationEPPNS_11ParmVarDeclEjRKNS_30MultiLevelTemplateArgumentListERN4llvm15SmallVectorImplINS_8QualTypeEEEPNS9_IS3_EE", "clang::Sema::SubstParmTypes(clang::SourceLocation, clang::ParmVarDecl**, unsigned int, clang::MultiLevelTemplateArgumentList const&, llvm::SmallVectorImpl<clang::QualType>&, llvm::SmallVectorImpl<clang::ParmVarDecl*>*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE27TransformFunctionTypeParamsENS_14SourceLocationEPPNS_11ParmVarDeclEjPKNS_8QualTypeERN4llvm15SmallVectorImplIS8_EEPNSC_IS6_EE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformFunctionTypeParams(clang::SourceLocation, clang::ParmVarDecl**, unsigned int, clang::QualType const*, llvm::SmallVectorImpl<clang::QualType>&, llvm::SmallVectorImpl<clang::ParmVarDecl*>*)"},
-    {"_ZN5clang4Sema19SubstBaseSpecifiersEPNS_13CXXRecordDeclES2_RKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang4Sema16InstantiateClassENS_14SourceLocationEPNS_13CXXRecordDeclES3_RKNS_30MultiLevelTemplateArgumentListENS_26TemplateSpecializationKindEb", "clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool)"},
-    {"_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb", "clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool)"},
-    {"_ZN5clang4Sema23InstantiateClassMembersENS_14SourceLocationEPNS_13CXXRecordDeclERKNS_30MultiLevelTemplateArgumentListENS_26TemplateSpecializationKindE", "clang::Sema::InstantiateClassMembers(clang::SourceLocation, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind)"},
-    {"_ZN5clang4Sema45InstantiateClassTemplateSpecializationMembersENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindE", "clang::Sema::InstantiateClassTemplateSpecializationMembers(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind)"},
-    {"_ZN5clang4Sema9SubstStmtEPNS_4StmtERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE13TransformStmtEPNS_4StmtE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*)"},
-    {"_ZN5clang4Sema9SubstExprEPNS_4ExprERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE13TransformExprEPNS_4ExprE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)"},
-    {"_ZN5clang4Sema10SubstExprsEPPNS_4ExprEjbRKNS_30MultiLevelTemplateArgumentListERN4llvm15SmallVectorImplIS2_EE", "clang::Sema::SubstExprs(clang::Expr**, unsigned int, bool, clang::MultiLevelTemplateArgumentList const&, llvm::SmallVectorImpl<clang::Expr*>&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE14TransformExprsEPPNS_4ExprEjbRN4llvm15SmallVectorImplIS5_EEPb", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExprs(clang::Expr**, unsigned int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*)"},
-    {"_ZN5clang4Sema24SubstNestedNameSpecifierEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::SubstNestedNameSpecifier(clang::NestedNameSpecifier*, clang::SourceRange, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE28TransformNestedNameSpecifierEPNS_19NestedNameSpecifierENS_11SourceRangeENS_8QualTypeEPNS_9NamedDeclE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformNestedNameSpecifier(clang::NestedNameSpecifier*, clang::SourceRange, clang::QualType, clang::NamedDecl*)"},
-    {"_ZN5clang4Sema24SubstDeclarationNameInfoERKNS_19DeclarationNameInfoERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::SubstDeclarationNameInfo(clang::DeclarationNameInfo const&, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE28TransformDeclarationNameInfoERKNS_19DeclarationNameInfoE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclarationNameInfo(clang::DeclarationNameInfo const&)"},
-    {"_ZN5clang4Sema17SubstTemplateNameENS_12TemplateNameENS_14SourceLocationERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::SubstTemplateName(clang::TemplateName, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN12_GLOBAL__N_120TemplateInstantiator21TransformTemplateNameEN5clang12TemplateNameENS1_8QualTypeEPNS1_9NamedDeclE", "(anonymous namespace)::TemplateInstantiator::TransformTemplateName(clang::TemplateName, clang::QualType, clang::NamedDecl*)"},
-    {"_ZN5clang4Sema5SubstEPKNS_19TemplateArgumentLocEjRNS_24TemplateArgumentListInfoERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::Subst(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang23LocalInstantiationScope18getInstantiationOfEPKNS_4DeclE", "clang::LocalInstantiationScope::getInstantiationOf(clang::Decl const*)"},
-    {"_ZN5clang23LocalInstantiationScope19findInstantiationOfEPKNS_4DeclE", "clang::LocalInstantiationScope::findInstantiationOf(clang::Decl const*)"},
-    {"_ZN5clang23LocalInstantiationScope28MakeInstantiatedLocalArgPackEPKNS_4DeclE", "clang::LocalInstantiationScope::MakeInstantiatedLocalArgPack(clang::Decl const*)"},
-    {"_ZN5clang23LocalInstantiationScope27SetPartiallySubstitutedPackEPNS_9NamedDeclEPKNS_16TemplateArgumentEj", "clang::LocalInstantiationScope::SetPartiallySubstitutedPack(clang::NamedDecl*, clang::TemplateArgument const*, unsigned int)"},
-    {"_ZNK5clang23LocalInstantiationScope27getPartiallySubstitutedPackEPPKNS_16TemplateArgumentEPj", "clang::LocalInstantiationScope::getPartiallySubstitutedPack(clang::TemplateArgument const**, unsigned int*) const"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE26TransformTemplateArgumentsIPKNS_19TemplateArgumentLocEEEbT_S8_RNS_24TemplateArgumentListInfoE", "bool clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArguments<clang::TemplateArgumentLoc const*>(clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc const*, clang::TemplateArgumentListInfo&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE26TransformTemplateArgumentsINS_33TemplateArgumentLocInventIteratorIS2_PKNS_16TemplateArgumentEEEEEbT_SA_RNS_24TemplateArgumentListInfoE", "bool clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArguments<clang::TemplateArgumentLocInventIterator<(anonymous namespace)::TemplateInstantiator, clang::TemplateArgument const*> >(clang::TemplateArgumentLocInventIterator<(anonymous namespace)::TemplateInstantiator, clang::TemplateArgument const*>, clang::TemplateArgumentLocInventIterator<(anonymous namespace)::TemplateInstantiator, clang::TemplateArgument const*>, clang::TemplateArgumentListInfo&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE25TransformTemplateArgumentERKNS_19TemplateArgumentLocERS4_", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE20RebuildPackExpansionENS_19TemplateArgumentLocENS_14SourceLocationEN4llvm8OptionalIjEE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildPackExpansion(clang::TemplateArgumentLoc, clang::SourceLocation, llvm::Optional<unsigned int>)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE34ForgetPartiallySubstitutedPackRAIIC1ERS2_", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::TemplateInstantiator&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE34ForgetPartiallySubstitutedPackRAIID1Ev", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()"},
-    {"_ZN12_GLOBAL__N_120TemplateInstantiator13TransformDeclEN5clang14SourceLocationEPNS1_4DeclE", "(anonymous namespace)::TemplateInstantiator::TransformDecl(clang::SourceLocation, clang::Decl*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE25InventTemplateArgumentLocERKNS_16TemplateArgumentERNS_19TemplateArgumentLocE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::InventTemplateArgumentLoc(clang::TemplateArgument const&, clang::TemplateArgumentLoc&)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE26TransformTypeInObjectScopeEPNS_14TypeSourceInfoENS_8QualTypeEPNS_9NamedDeclEPNS_19NestedNameSpecifierE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTypeInObjectScope(clang::TypeSourceInfo*, clang::QualType, clang::NamedDecl*, clang::NestedNameSpecifier*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE35TransformTemplateSpecializationTypeERNS_14TypeLocBuilderENS_29TemplateSpecializationTypeLocENS_12TemplateNameE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE44TransformDependentTemplateSpecializationTypeERNS_14TypeLocBuilderENS_38DependentTemplateSpecializationTypeLocEPNS_19NestedNameSpecifierE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentTemplateSpecializationType(clang::TypeLocBuilder&, clang::DependentTemplateSpecializationTypeLoc, clang::NestedNameSpecifier*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE23TransformBinaryOperatorEPNS_14BinaryOperatorE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE21TransformCompoundStmtEPNS_12CompoundStmtEb", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool)"},
-    {"_ZN12_GLOBAL__N_120TemplateInstantiator28TransformTemplateParmRefExprEPN5clang11DeclRefExprEPNS1_23NonTypeTemplateParmDeclE", "(anonymous namespace)::TemplateInstantiator::TransformTemplateParmRefExpr(clang::DeclRefExpr*, clang::NonTypeTemplateParmDecl*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE20TransformDeclRefExprEPNS_11DeclRefExprE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclRefExpr(clang::DeclRefExpr*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE25TransformCXXNamedCastExprEPNS_16CXXNamedCastExprE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCXXNamedCastExpr(clang::CXXNamedCastExpr*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE17TransformCallExprEPNS_8CallExprE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE21TransformCXXCatchStmtEPNS_12CXXCatchStmtE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCXXCatchStmt(clang::CXXCatchStmt*)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE26TransformFunctionProtoTypeERNS_14TypeLocBuilderENS_20FunctionProtoTypeLocE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformFunctionProtoType(clang::TypeLocBuilder&, clang::FunctionProtoTypeLoc)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE16RebuildArrayTypeENS_8QualTypeENS_9ArrayType17ArraySizeModifierEPKN4llvm5APIntEPNS_4ExprEjNS_11SourceRangeE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildArrayType(clang::QualType, clang::ArrayType::ArraySizeModifier, llvm::APInt const*, clang::Expr*, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE22TransformReferenceTypeERNS_14TypeLocBuilderENS_16ReferenceTypeLocE", "clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReferenceType(clang::TypeLocBuilder&, clang::ReferenceTypeLoc)"},
-    {"_ZN5clang14TypeLocBuilder12pushFullCopyENS_7TypeLocE", "clang::TypeLocBuilder::pushFullCopy(clang::TypeLoc)"},
-    {"_ZN5clang11DeclVisitorINS_24TemplateDeclInstantiatorEPNS_4DeclEE5VisitES3_", "clang::DeclVisitor<clang::TemplateDeclInstantiator, clang::Decl*>::Visit(clang::Decl*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclENS_12PointerUnionIPS2_PNS_11SmallVectorIS6_Lj4EEEEENS_12DenseMapInfoIS4_EENSB_ISA_EEE16InsertIntoBucketERKS4_RKSA_PSt4pairIS4_SA_E", "llvm::DenseMap<clang::Decl const*, llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::Decl*, 4u>*>, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::Decl*, 4u>*> > >::InsertIntoBucket(clang::Decl const* const&, llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::Decl*, 4u>*> const&, std::pair<clang::Decl const*, llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::Decl*, 4u>*> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclENS_12PointerUnionIPS2_PNS_11SmallVectorIS6_Lj4EEEEENS_12DenseMapInfoIS4_EENSB_ISA_EEE4growEj", "llvm::DenseMap<clang::Decl const*, llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::Decl*, 4u>*>, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::Decl*, 4u>*> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang19TemplateArgumentLocEE9push_backERKS2_", "llvm::SmallVectorImpl<clang::TemplateArgumentLoc>::push_back(clang::TemplateArgumentLoc const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang19TemplateArgumentLocELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::TemplateArgumentLoc, false>::grow(unsigned long)"},
-    {"_ZSt24__uninitialized_copy_auxIPN5clang19TemplateArgumentLocES2_ET0_T_S4_S3_St12__false_type", "clang::TemplateArgumentLoc* std::__uninitialized_copy_aux<clang::TemplateArgumentLoc*, clang::TemplateArgumentLoc*>(clang::TemplateArgumentLoc*, clang::TemplateArgumentLoc*, clang::TemplateArgumentLoc*, std::__false_type)"},
-    {"_ZN5clang19TemplateArgumentLocC2ERKNS_16TemplateArgumentENS_11SourceRangeENS_14SourceLocationES5_", "clang::TemplateArgumentLoc::TemplateArgumentLoc(clang::TemplateArgument const&, clang::SourceRange, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang14TypeLocBuilder8pushImplENS_8QualTypeEm", "clang::TypeLocBuilder::pushImpl(clang::QualType, unsigned long)"},
-    {"_ZN5clang4Expr19getValueKindForTypeENS_8QualTypeE", "clang::Expr::getValueKindForType(clang::QualType)"},
-    {"_ZN5clang12LookupResultD2Ev", "clang::LookupResult::~LookupResult()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang4Sema17OffsetOfComponentELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::Sema::OffsetOfComponent, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang10DesignatorELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::Designator, false>::grow(unsigned long)"},
-    {"_ZN5clang24TemplateDeclInstantiator9VisitDeclEPNS_4DeclE", "clang::TemplateDeclInstantiator::VisitDecl(clang::Decl*)"},
-    {"_ZN4llvm8DenseMapIPN5clang11ParmVarDeclENS_11SmallVectorIS3_Lj1EEENS_12DenseMapInfoIS3_EENS6_IS5_EEE16FindAndConstructERKS3_", "llvm::DenseMap<clang::ParmVarDecl*, llvm::SmallVector<clang::ParmVarDecl*, 1u>, llvm::DenseMapInfo<clang::ParmVarDecl*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ParmVarDecl*, 1u> > >::FindAndConstruct(clang::ParmVarDecl* const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang11ParmVarDeclENS_11SmallVectorIS3_Lj1EEENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::ParmVarDecl*, llvm::SmallVector<clang::ParmVarDecl*, 1u>, llvm::DenseMapInfo<clang::ParmVarDecl*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ParmVarDecl*, 1u> > >::InsertIntoBucket(clang::ParmVarDecl* const&, llvm::SmallVector<clang::ParmVarDecl*, 1u> const&, std::pair<clang::ParmVarDecl*, llvm::SmallVector<clang::ParmVarDecl*, 1u> >*)"},
-    {"_ZN4llvm8DenseMapIPN5clang11ParmVarDeclENS_11SmallVectorIS3_Lj1EEENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::ParmVarDecl*, llvm::SmallVector<clang::ParmVarDecl*, 1u>, llvm::DenseMapInfo<clang::ParmVarDecl*>, llvm::DenseMapInfo<llvm::SmallVector<clang::ParmVarDecl*, 1u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang11ParmVarDeclEEaSERKS4_", "llvm::SmallVectorImpl<clang::ParmVarDecl*>::operator=(llvm::SmallVectorImpl<clang::ParmVarDecl*> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang4Sema27ActiveTemplateInstantiationELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::Sema::ActiveTemplateInstantiation, false>::grow(unsigned long)"},
-    {"_ZN5clang4sema21TemplateDeductionInfoD2Ev", "clang::sema::TemplateDeductionInfo::~TemplateDeductionInfo()"},
-    {"_ZN5clang23LocalInstantiationScope4ExitEv", "clang::LocalInstantiationScope::Exit()"},
-    {"_ZN5clang24TemplateDeclInstantiator14SubstQualifierEPKNS_14DeclaratorDeclEPS1_", "clang::TemplateDeclInstantiator::SubstQualifier(clang::DeclaratorDecl const*, clang::DeclaratorDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator14SubstQualifierEPKNS_7TagDeclEPS1_", "clang::TemplateDeclInstantiator::SubstQualifier(clang::TagDecl const*, clang::TagDecl*)"},
-    {"_ZN5clang4Sema16InstantiateAttrsERKNS_30MultiLevelTemplateArgumentListEPNS_4DeclES5_", "clang::Sema::InstantiateAttrs(clang::MultiLevelTemplateArgumentList const&, clang::Decl*, clang::Decl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator24VisitTranslationUnitDeclEPNS_19TranslationUnitDeclE", "clang::TemplateDeclInstantiator::VisitTranslationUnitDecl(clang::TranslationUnitDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator18VisitNamespaceDeclEPNS_13NamespaceDeclE", "clang::TemplateDeclInstantiator::VisitNamespaceDecl(clang::NamespaceDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator23VisitNamespaceAliasDeclEPNS_18NamespaceAliasDeclE", "clang::TemplateDeclInstantiator::VisitNamespaceAliasDecl(clang::NamespaceAliasDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator16VisitTypedefDeclEPNS_11TypedefDeclE", "clang::TemplateDeclInstantiator::VisitTypedefDecl(clang::TypedefDecl*)"},
-    {"_ZN5clang4Sema20FindInstantiatedDeclENS_14SourceLocationEPNS_9NamedDeclERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::FindInstantiatedDecl(clang::SourceLocation, clang::NamedDecl*, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang24TemplateDeclInstantiator12VisitVarDeclEPNS_7VarDeclE", "clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator18VisitCXXRecordDeclEPNS_13CXXRecordDeclE", "clang::TemplateDeclInstantiator::VisitCXXRecordDecl(clang::CXXRecordDecl*)"},
-    {"_Z22InstantiateInitializerRN5clang4SemaEPNS_4ExprERKNS_30MultiLevelTemplateArgumentListERNS_14SourceLocationERNS_15ASTOwningVectorIS3_Lj8EEES8_", "InstantiateInitializer(clang::Sema&, clang::Expr*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation&, clang::ASTOwningVector<clang::Expr*, 8u>&, clang::SourceLocation&)"},
-    {"_ZN5clang24TemplateDeclInstantiator19VisitAccessSpecDeclEPNS_14AccessSpecDeclE", "clang::TemplateDeclInstantiator::VisitAccessSpecDecl(clang::AccessSpecDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator14VisitFieldDeclEPNS_9FieldDeclE", "clang::TemplateDeclInstantiator::VisitFieldDecl(clang::FieldDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator22VisitIndirectFieldDeclEPNS_17IndirectFieldDeclE", "clang::TemplateDeclInstantiator::VisitIndirectFieldDecl(clang::IndirectFieldDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator15VisitFriendDeclEPNS_10FriendDeclE", "clang::TemplateDeclInstantiator::VisitFriendDecl(clang::FriendDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator21VisitStaticAssertDeclEPNS_16StaticAssertDeclE", "clang::TemplateDeclInstantiator::VisitStaticAssertDecl(clang::StaticAssertDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator13VisitEnumDeclEPNS_8EnumDeclE", "clang::TemplateDeclInstantiator::VisitEnumDecl(clang::EnumDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator21VisitEnumConstantDeclEPNS_16EnumConstantDeclE", "clang::TemplateDeclInstantiator::VisitEnumConstantDecl(clang::EnumConstantDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator22VisitClassTemplateDeclEPNS_17ClassTemplateDeclE", "clang::TemplateDeclInstantiator::VisitClassTemplateDecl(clang::ClassTemplateDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator19SubstTemplateParamsEPNS_21TemplateParameterListE", "clang::TemplateDeclInstantiator::SubstTemplateParams(clang::TemplateParameterList*)"},
-    {"_ZN5clang4Sema23FindInstantiatedContextENS_14SourceLocationEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::FindInstantiatedContext(clang::SourceLocation, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang24TemplateDeclInstantiator43VisitClassTemplatePartialSpecializationDeclEPNS_38ClassTemplatePartialSpecializationDeclE", "clang::TemplateDeclInstantiator::VisitClassTemplatePartialSpecializationDecl(clang::ClassTemplatePartialSpecializationDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator45InstantiateClassTemplatePartialSpecializationEPNS_17ClassTemplateDeclEPNS_38ClassTemplatePartialSpecializationDeclE", "clang::TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization(clang::ClassTemplateDecl*, clang::ClassTemplatePartialSpecializationDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator25VisitFunctionTemplateDeclEPNS_20FunctionTemplateDeclE", "clang::TemplateDeclInstantiator::VisitFunctionTemplateDecl(clang::FunctionTemplateDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator18VisitCXXMethodDeclEPNS_13CXXMethodDeclEPNS_21TemplateParameterListE", "clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*)"},
-    {"_ZN5clang24TemplateDeclInstantiator17VisitFunctionDeclEPNS_12FunctionDeclEPNS_21TemplateParameterListE", "clang::TemplateDeclInstantiator::VisitFunctionDecl(clang::FunctionDecl*, clang::TemplateParameterList*)"},
-    {"_ZN5clang24TemplateDeclInstantiator17SubstFunctionTypeEPNS_12FunctionDeclERN4llvm15SmallVectorImplIPNS_11ParmVarDeclEEE", "clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&)"},
-    {"_ZN5clang24TemplateDeclInstantiator25InitFunctionInstantiationEPNS_12FunctionDeclES2_", "clang::TemplateDeclInstantiator::InitFunctionInstantiation(clang::FunctionDecl*, clang::FunctionDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator23InitMethodInstantiationEPNS_13CXXMethodDeclES2_", "clang::TemplateDeclInstantiator::InitMethodInstantiation(clang::CXXMethodDecl*, clang::CXXMethodDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator23VisitCXXConstructorDeclEPNS_18CXXConstructorDeclE", "clang::TemplateDeclInstantiator::VisitCXXConstructorDecl(clang::CXXConstructorDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator22VisitCXXDestructorDeclEPNS_17CXXDestructorDeclE", "clang::TemplateDeclInstantiator::VisitCXXDestructorDecl(clang::CXXDestructorDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator22VisitCXXConversionDeclEPNS_17CXXConversionDeclE", "clang::TemplateDeclInstantiator::VisitCXXConversionDecl(clang::CXXConversionDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator16VisitParmVarDeclEPNS_11ParmVarDeclE", "clang::TemplateDeclInstantiator::VisitParmVarDecl(clang::ParmVarDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator25VisitTemplateTypeParmDeclEPNS_20TemplateTypeParmDeclE", "clang::TemplateDeclInstantiator::VisitTemplateTypeParmDecl(clang::TemplateTypeParmDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator28VisitNonTypeTemplateParmDeclEPNS_23NonTypeTemplateParmDeclE", "clang::TemplateDeclInstantiator::VisitNonTypeTemplateParmDecl(clang::NonTypeTemplateParmDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator29VisitTemplateTemplateParmDeclEPNS_24TemplateTemplateParmDeclE", "clang::TemplateDeclInstantiator::VisitTemplateTemplateParmDecl(clang::TemplateTemplateParmDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator23VisitUsingDirectiveDeclEPNS_18UsingDirectiveDeclE", "clang::TemplateDeclInstantiator::VisitUsingDirectiveDecl(clang::UsingDirectiveDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator14VisitUsingDeclEPNS_9UsingDeclE", "clang::TemplateDeclInstantiator::VisitUsingDecl(clang::UsingDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator20VisitUsingShadowDeclEPNS_15UsingShadowDeclE", "clang::TemplateDeclInstantiator::VisitUsingShadowDecl(clang::UsingShadowDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator32VisitUnresolvedUsingTypenameDeclEPNS_27UnresolvedUsingTypenameDeclE", "clang::TemplateDeclInstantiator::VisitUnresolvedUsingTypenameDecl(clang::UnresolvedUsingTypenameDecl*)"},
-    {"_ZN5clang24TemplateDeclInstantiator29VisitUnresolvedUsingValueDeclEPNS_24UnresolvedUsingValueDeclE", "clang::TemplateDeclInstantiator::VisitUnresolvedUsingValueDecl(clang::UnresolvedUsingValueDecl*)"},
-    {"_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbb", "clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool)"},
-    {"_ZN5clang4Sema26InstantiateMemInitializersEPNS_18CXXConstructorDeclEPKS1_RKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::InstantiateMemInitializers(clang::CXXConstructorDecl*, clang::CXXConstructorDecl const*, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang4Sema27PerformDependentDiagnosticsEPKNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::PerformDependentDiagnostics(clang::DeclContext const*, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang4Sema28PerformPendingInstantiationsEb", "clang::Sema::PerformPendingInstantiations(bool)"},
-    {"_ZN5clang4Sema37InstantiateStaticDataMemberDefinitionENS_14SourceLocationEPNS_7VarDeclEbb", "clang::Sema::InstantiateStaticDataMemberDefinition(clang::SourceLocation, clang::VarDecl*, bool, bool)"},
-    {"_Z17isInstantiationOfRN5clang10ASTContextEPNS_9NamedDeclEPNS_4DeclE", "isInstantiationOf(clang::ASTContext&, clang::NamedDecl*, clang::Decl*)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIPN5clang13CXXRecordDeclENS2_14SourceLocationEEE4swapERS7_", "llvm::SmallVectorImpl<std::pair<clang::CXXRecordDecl*, clang::SourceLocation> >::swap(llvm::SmallVectorImpl<std::pair<clang::CXXRecordDecl*, clang::SourceLocation> >&)"},
-    {"_ZN5clang4Sema31DiagnoseUnexpandedParameterPackENS_14SourceLocationEPNS_14TypeSourceInfoENS0_30UnexpandedParameterPackContextE", "clang::Sema::DiagnoseUnexpandedParameterPack(clang::SourceLocation, clang::TypeSourceInfo*, clang::Sema::UnexpandedParameterPackContext)"},
-    {"_Z32DiagnoseUnexpandedParameterPacksRN5clang4SemaENS_14SourceLocationENS0_30UnexpandedParameterPackContextERKN4llvm15SmallVectorImplISt4pairINS4_12PointerUnionIPKNS_20TemplateTypeParmTypeEPNS_9NamedDeclEEES2_EEE", "DiagnoseUnexpandedParameterPacks(clang::Sema&, clang::SourceLocation, clang::Sema::UnexpandedParameterPackContext, llvm::SmallVectorImpl<std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> > const&)"},
-    {"_ZN5clang4Sema31DiagnoseUnexpandedParameterPackEPNS_4ExprENS0_30UnexpandedParameterPackContextE", "clang::Sema::DiagnoseUnexpandedParameterPack(clang::Expr*, clang::Sema::UnexpandedParameterPackContext)"},
-    {"_ZN5clang4Sema31DiagnoseUnexpandedParameterPackERKNS_12CXXScopeSpecENS0_30UnexpandedParameterPackContextE", "clang::Sema::DiagnoseUnexpandedParameterPack(clang::CXXScopeSpec const&, clang::Sema::UnexpandedParameterPackContext)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE27TraverseNestedNameSpecifierEPNS_19NestedNameSpecifierE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseNestedNameSpecifier(clang::NestedNameSpecifier*)"},
-    {"_ZN5clang4Sema31DiagnoseUnexpandedParameterPackERKNS_19DeclarationNameInfoENS0_30UnexpandedParameterPackContextE", "clang::Sema::DiagnoseUnexpandedParameterPack(clang::DeclarationNameInfo const&, clang::Sema::UnexpandedParameterPackContext)"},
-    {"_ZN5clang4Sema31DiagnoseUnexpandedParameterPackENS_14SourceLocationENS_12TemplateNameENS0_30UnexpandedParameterPackContextE", "clang::Sema::DiagnoseUnexpandedParameterPack(clang::SourceLocation, clang::TemplateName, clang::Sema::UnexpandedParameterPackContext)"},
-    {"_ZN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitor20TraverseTemplateNameEN5clang12TemplateNameE", "(anonymous namespace)::CollectUnexpandedParameterPacksVisitor::TraverseTemplateName(clang::TemplateName)"},
-    {"_ZN5clang4Sema31DiagnoseUnexpandedParameterPackENS_19TemplateArgumentLocENS0_30UnexpandedParameterPackContextE", "clang::Sema::DiagnoseUnexpandedParameterPack(clang::TemplateArgumentLoc, clang::Sema::UnexpandedParameterPackContext)"},
-    {"_ZN5clang4Sema31collectUnexpandedParameterPacksENS_16TemplateArgumentERN4llvm15SmallVectorImplISt4pairINS2_12PointerUnionIPKNS_20TemplateTypeParmTypeEPNS_9NamedDeclEEENS_14SourceLocationEEEE", "clang::Sema::collectUnexpandedParameterPacks(clang::TemplateArgument, llvm::SmallVectorImpl<std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >&)"},
-    {"_ZN5clang4Sema31collectUnexpandedParameterPacksENS_19TemplateArgumentLocERN4llvm15SmallVectorImplISt4pairINS2_12PointerUnionIPKNS_20TemplateTypeParmTypeEPNS_9NamedDeclEEENS_14SourceLocationEEEE", "clang::Sema::collectUnexpandedParameterPacks(clang::TemplateArgumentLoc, llvm::SmallVectorImpl<std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >&)"},
-    {"_ZN5clang4Sema31collectUnexpandedParameterPacksENS_8QualTypeERN4llvm15SmallVectorImplISt4pairINS2_12PointerUnionIPKNS_20TemplateTypeParmTypeEPNS_9NamedDeclEEENS_14SourceLocationEEEE", "clang::Sema::collectUnexpandedParameterPacks(clang::QualType, llvm::SmallVectorImpl<std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >&)"},
-    {"_ZN5clang4Sema31collectUnexpandedParameterPacksENS_7TypeLocERN4llvm15SmallVectorImplISt4pairINS2_12PointerUnionIPKNS_20TemplateTypeParmTypeEPNS_9NamedDeclEEENS_14SourceLocationEEEE", "clang::Sema::collectUnexpandedParameterPacks(clang::TypeLoc, llvm::SmallVectorImpl<std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >&)"},
-    {"_ZN5clang4Sema18ActOnPackExpansionERKNS_22ParsedTemplateArgumentENS_14SourceLocationE", "clang::Sema::ActOnPackExpansion(clang::ParsedTemplateArgument const&, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18ActOnPackExpansionENS_9OpaquePtrINS_8QualTypeEEENS_14SourceLocationE", "clang::Sema::ActOnPackExpansion(clang::OpaquePtr<clang::QualType>, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18ActOnPackExpansionEPNS_4ExprENS_14SourceLocationE", "clang::Sema::ActOnPackExpansion(clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema18CheckPackExpansionEPNS_14TypeSourceInfoENS_14SourceLocationEN4llvm8OptionalIjEE", "clang::Sema::CheckPackExpansion(clang::TypeSourceInfo*, clang::SourceLocation, llvm::Optional<unsigned int>)"},
-    {"_ZN5clang4Sema18CheckPackExpansionENS_8QualTypeENS_11SourceRangeENS_14SourceLocationEN4llvm8OptionalIjEE", "clang::Sema::CheckPackExpansion(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)"},
-    {"_ZN5clang4Sema18CheckPackExpansionEPNS_4ExprENS_14SourceLocationEN4llvm8OptionalIjEE", "clang::Sema::CheckPackExpansion(clang::Expr*, clang::SourceLocation, llvm::Optional<unsigned int>)"},
-    {"_ZN5clang4Sema31CheckParameterPacksForExpansionENS_14SourceLocationENS_11SourceRangeEPKSt4pairIN4llvm12PointerUnionIPKNS_20TemplateTypeParmTypeEPNS_9NamedDeclEEES1_EjRKNS_30MultiLevelTemplateArgumentListERbSI_RNS4_8OptionalIjEE", "clang::Sema::CheckParameterPacksForExpansion(clang::SourceLocation, clang::SourceRange, std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> const*, unsigned int, clang::MultiLevelTemplateArgumentList const&, bool&, bool&, llvm::Optional<unsigned int>&)"},
-    {"_ZN5clang4Sema26getNumArgumentsInExpansionENS_8QualTypeERKNS_30MultiLevelTemplateArgumentListE", "clang::Sema::getNumArgumentsInExpansion(clang::QualType, clang::MultiLevelTemplateArgumentList const&)"},
-    {"_ZN5clang4Sema32containsUnexpandedParameterPacksERNS_10DeclaratorE", "clang::Sema::containsUnexpandedParameterPacks(clang::Declarator&)"},
-    {"_ZN5clang4Sema28ActOnSizeofParameterPackExprEPNS_5ScopeENS_14SourceLocationERNS_14IdentifierInfoES3_S3_", "clang::Sema::ActOnSizeofParameterPackExpr(clang::Scope*, clang::SourceLocation, clang::IdentifierInfo&, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE24TraverseTemplateArgumentERKNS_16TemplateArgumentE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseTemplateArgument(clang::TemplateArgument const&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE27TraverseTemplateArgumentLocERKNS_19TemplateArgumentLocE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseTemplateArgumentLoc(clang::TemplateArgumentLoc const&)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE12TraverseTypeENS_8QualTypeE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseType(clang::QualType)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE12TraverseStmtEPNS_4StmtE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseStmt(clang::Stmt*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE12TraverseDeclEPNS_4DeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseDecl(clang::Decl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE24TraverseDeclaratorHelperEPNS_14DeclaratorDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseDeclaratorHelper(clang::DeclaratorDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE22TraverseFunctionHelperEPNS_12FunctionDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseFunctionHelper(clang::FunctionDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE23TraverseCXXRecordHelperEPNS_13CXXRecordDeclE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseCXXRecordHelper(clang::CXXRecordDecl*)"},
-    {"_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_138CollectUnexpandedParameterPacksVisitorEE15TraverseTypeLocENS_7TypeLocE", "clang::RecursiveASTVisitor<(anonymous namespace)::CollectUnexpandedParameterPacksVisitor>::TraverseTypeLoc(clang::TypeLoc)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairINS_12PointerUnionIPKN5clang20TemplateTypeParmTypeEPNS3_9NamedDeclEEENS3_14SourceLocationEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation>, false>::grow(unsigned long)"},
-    {"_ZN5clang4Sema19adjustParameterTypeENS_8QualTypeE", "clang::Sema::adjustParameterType(clang::QualType)"},
-    {"_ZN5clang4Sema18BuildQualifiedTypeENS_8QualTypeENS_14SourceLocationENS_10QualifiersE", "clang::Sema::BuildQualifiedType(clang::QualType, clang::SourceLocation, clang::Qualifiers)"},
-    {"_ZN5clang4Sema14BuildParenTypeENS_8QualTypeE", "clang::Sema::BuildParenType(clang::QualType)"},
-    {"_ZN5clang4Sema16BuildPointerTypeENS_8QualTypeENS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::BuildPointerType(clang::QualType, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang4Sema18BuildReferenceTypeENS_8QualTypeEbNS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::BuildReferenceType(clang::QualType, bool, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang4Sema14BuildArrayTypeENS_8QualTypeENS_9ArrayType17ArraySizeModifierEPNS_4ExprEjNS_11SourceRangeENS_15DeclarationNameE", "clang::Sema::BuildArrayType(clang::QualType, clang::ArrayType::ArraySizeModifier, clang::Expr*, unsigned int, clang::SourceRange, clang::DeclarationName)"},
-    {"_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeEj", "clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, unsigned int)"},
-    {"_ZN5clang4Sema18BuildExtVectorTypeENS_8QualTypeEPNS_4ExprENS_14SourceLocationE", "clang::Sema::BuildExtVectorType(clang::QualType, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17BuildFunctionTypeENS_8QualTypeEPS1_jbjNS_16RefQualifierKindENS_14SourceLocationENS_15DeclarationNameENS_12FunctionType7ExtInfoE", "clang::Sema::BuildFunctionType(clang::QualType, clang::QualType*, unsigned int, bool, unsigned int, clang::RefQualifierKind, clang::SourceLocation, clang::DeclarationName, clang::FunctionType::ExtInfo)"},
-    {"_ZN5clang4Sema22BuildMemberPointerTypeENS_8QualTypeES1_NS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::BuildMemberPointerType(clang::QualType, clang::QualType, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang4Sema21BuildBlockPointerTypeENS_8QualTypeENS_14SourceLocationENS_15DeclarationNameE", "clang::Sema::BuildBlockPointerType(clang::QualType, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang4Sema17GetTypeFromParserENS_9OpaquePtrINS_8QualTypeEEEPPNS_14TypeSourceInfoE", "clang::Sema::GetTypeFromParser(clang::OpaquePtr<clang::QualType>, clang::TypeSourceInfo**)"},
-    {"_ZN5clang4Sema20GetTypeForDeclaratorERNS_10DeclaratorEPNS_5ScopeEPPNS_7TagDeclE", "clang::Sema::GetTypeForDeclarator(clang::Declarator&, clang::Scope*, clang::TagDecl**)"},
-    {"_Z16processTypeAttrsRN12_GLOBAL__N_119TypeProcessingStateERN5clang8QualTypeEbPNS2_13AttributeListE", "processTypeAttrs((anonymous namespace)::TypeProcessingState&, clang::QualType&, bool, clang::AttributeList*)"},
-    {"_ZN5clang4Sema30GetTypeSourceInfoForDeclaratorERNS_10DeclaratorENS_8QualTypeEPNS_14TypeSourceInfoE", "clang::Sema::GetTypeSourceInfoForDeclarator(clang::Declarator&, clang::QualType, clang::TypeSourceInfo*)"},
-    {"_ZN5clang14TypeLocVisitorIN12_GLOBAL__N_117TypeSpecLocFillerEvE5VisitENS_13UnqualTypeLocE", "clang::TypeLocVisitor<(anonymous namespace)::TypeSpecLocFiller, void>::Visit(clang::UnqualTypeLoc)"},
-    {"_ZN5clang4Sema16CreateParsedTypeENS_8QualTypeEPNS_14TypeSourceInfoE", "clang::Sema::CreateParsedType(clang::QualType, clang::TypeSourceInfo*)"},
-    {"_ZNK5clang11LocInfoType19getAsStringInternalERSsRKNS_14PrintingPolicyE", "clang::LocInfoType::getAsStringInternal(std::string&, clang::PrintingPolicy const&) const"},
-    {"_ZN5clang4Sema13ActOnTypeNameEPNS_5ScopeERNS_10DeclaratorE", "clang::Sema::ActOnTypeName(clang::Scope*, clang::Declarator&)"},
-    {"_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeERKNS_17PartialDiagnosticESt4pairIS1_S3_E", "clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::PartialDiagnostic const&, std::pair<clang::SourceLocation, clang::PartialDiagnostic>)"},
-    {"_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeERKNS_17PartialDiagnosticE", "clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::PartialDiagnostic const&)"},
-    {"_ZN5clang4Sema17getElaboratedTypeENS_21ElaboratedTypeKeywordERKNS_12CXXScopeSpecENS_8QualTypeE", "clang::Sema::getElaboratedType(clang::ElaboratedTypeKeyword, clang::CXXScopeSpec const&, clang::QualType)"},
-    {"_ZN5clang4Sema19BuildTypeofExprTypeEPNS_4ExprENS_14SourceLocationE", "clang::Sema::BuildTypeofExprType(clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang4Sema17BuildDecltypeTypeEPNS_4ExprENS_14SourceLocationE", "clang::Sema::BuildDecltypeType(clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang14TypeLocVisitorIN12_GLOBAL__N_119DeclaratorLocFillerEvE18VisitVectorTypeLocENS_13VectorTypeLocE", "clang::TypeLocVisitor<(anonymous namespace)::DeclaratorLocFiller, void>::VisitVectorTypeLoc(clang::VectorTypeLoc)"},
-    {"_ZN5clang14TypeLocVisitorIN12_GLOBAL__N_119DeclaratorLocFillerEvE22VisitObjCObjectTypeLocENS_17ObjCObjectTypeLocE", "clang::TypeLocVisitor<(anonymous namespace)::DeclaratorLocFiller, void>::VisitObjCObjectTypeLoc(clang::ObjCObjectTypeLoc)"},
-    {"_ZN12_GLOBAL__N_119DeclaratorLocFiller12VisitTypeLocEN5clang7TypeLocE", "(anonymous namespace)::DeclaratorLocFiller::VisitTypeLoc(clang::TypeLoc)"},
-    {"_ZN5clang14TypeLocVisitorIN12_GLOBAL__N_119DeclaratorLocFillerEvE15VisitTagTypeLocENS_10TagTypeLocE", "clang::TypeLocVisitor<(anonymous namespace)::DeclaratorLocFiller, void>::VisitTagTypeLoc(clang::TagTypeLoc)"},
-    {"_ZN12_GLOBAL__N_117TypeSpecLocFiller19VisitBuiltinTypeLocEN5clang14BuiltinTypeLocE", "(anonymous namespace)::TypeSpecLocFiller::VisitBuiltinTypeLoc(clang::BuiltinTypeLoc)"},
-    {"_ZN12_GLOBAL__N_117TypeSpecLocFiller22VisitElaboratedTypeLocEN5clang17ElaboratedTypeLocE", "(anonymous namespace)::TypeSpecLocFiller::VisitElaboratedTypeLoc(clang::ElaboratedTypeLoc)"},
-    {"_ZN12_GLOBAL__N_117TypeSpecLocFiller34VisitTemplateSpecializationTypeLocEN5clang29TemplateSpecializationTypeLocE", "(anonymous namespace)::TypeSpecLocFiller::VisitTemplateSpecializationTypeLoc(clang::TemplateSpecializationTypeLoc)"},
-    {"_ZN12_GLOBAL__N_117TypeSpecLocFiller25VisitDependentNameTypeLocEN5clang20DependentNameTypeLocE", "(anonymous namespace)::TypeSpecLocFiller::VisitDependentNameTypeLoc(clang::DependentNameTypeLoc)"},
-    {"_ZN12_GLOBAL__N_117TypeSpecLocFiller43VisitDependentTemplateSpecializationTypeLocEN5clang38DependentTemplateSpecializationTypeLocE", "(anonymous namespace)::TypeSpecLocFiller::VisitDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc)"},
-    {"_ZN12_GLOBAL__N_117TypeSpecLocFiller22VisitObjCObjectTypeLocEN5clang17ObjCObjectTypeLocE", "(anonymous namespace)::TypeSpecLocFiller::VisitObjCObjectTypeLoc(clang::ObjCObjectTypeLoc)"},
-    {"_ZN5clang14TypeLocVisitorIN12_GLOBAL__N_117TypeSpecLocFillerEvE5VisitENS_7TypeLocE", "clang::TypeLocVisitor<(anonymous namespace)::TypeSpecLocFiller, void>::Visit(clang::TypeLoc)"},
-    {"_Z25handleObjCPointerTypeAttrRN12_GLOBAL__N_119TypeProcessingStateERN5clang13AttributeListERNS2_8QualTypeE", "handleObjCPointerTypeAttr((anonymous namespace)::TypeProcessingState&, clang::AttributeList&, clang::QualType&)"},
-    {"_Z24HandleNeonVectorTypeAttrRN5clang8QualTypeERKNS_13AttributeListERNS_4SemaENS_10VectorType10VectorKindEPKc", "HandleNeonVectorTypeAttr(clang::QualType&, clang::AttributeList const&, clang::Sema&, clang::VectorType::VectorKind, char const*)"},
-    {"_Z22handleFunctionTypeAttrRN12_GLOBAL__N_119TypeProcessingStateERN5clang13AttributeListERNS2_8QualTypeE", "handleFunctionTypeAttr((anonymous namespace)::TypeProcessingState&, clang::AttributeList&, clang::QualType&)"},
-    {"_ZN12_GLOBAL__N_121FunctionTypeUnwrapper4wrapERN5clang10ASTContextENS1_8QualTypeEj", "(anonymous namespace)::FunctionTypeUnwrapper::wrap(clang::ASTContext&, clang::QualType, unsigned int)"},
-    {"_ZN12_GLOBAL__N_121FunctionTypeUnwrapper4wrapERN5clang10ASTContextEPKNS1_4TypeEj", "(anonymous namespace)::FunctionTypeUnwrapper::wrap(clang::ASTContext&, clang::Type const*, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang15DeclaratorChunkEE6insertEPS2_RKS2_", "llvm::SmallVectorImpl<clang::DeclaratorChunk>::insert(clang::DeclaratorChunk*, clang::DeclaratorChunk const&)"},
-    {"_ZN5clang20TargetAttributesSemaD0Ev", "clang::TargetAttributesSema::~TargetAttributesSema()"},
-    {"_ZN5clang20TargetAttributesSemaD1Ev", "clang::TargetAttributesSema::~TargetAttributesSema()"},
-    {"_ZN5clang20TargetAttributesSemaD2Ev", "clang::TargetAttributesSema::~TargetAttributesSema()"},
-    {"_ZNK5clang20TargetAttributesSema20ProcessDeclAttributeEPNS_5ScopeEPNS_4DeclERKNS_13AttributeListERNS_4SemaE", "clang::TargetAttributesSema::ProcessDeclAttribute(clang::Scope*, clang::Decl*, clang::AttributeList const&, clang::Sema&) const"},
-    {"_ZNK5clang4Sema23getTargetAttributesSemaEv", "clang::Sema::getTargetAttributesSema() const"},
-    {"_ZN12_GLOBAL__N_117X86AttributesSemaD1Ev", "(anonymous namespace)::X86AttributesSema::~X86AttributesSema()"},
-    {"_ZN12_GLOBAL__N_117X86AttributesSemaD0Ev", "(anonymous namespace)::X86AttributesSema::~X86AttributesSema()"},
-    {"_ZNK12_GLOBAL__N_117X86AttributesSema20ProcessDeclAttributeEPN5clang5ScopeEPNS1_4DeclERKNS1_13AttributeListERNS1_4SemaE", "(anonymous namespace)::X86AttributesSema::ProcessDeclAttribute(clang::Scope*, clang::Decl*, clang::AttributeList const&, clang::Sema&) const"},
-    {"_ZN12_GLOBAL__N_120MBlazeAttributesSemaD1Ev", "(anonymous namespace)::MBlazeAttributesSema::~MBlazeAttributesSema()"},
-    {"_ZN12_GLOBAL__N_120MBlazeAttributesSemaD0Ev", "(anonymous namespace)::MBlazeAttributesSema::~MBlazeAttributesSema()"},
-    {"_ZNK12_GLOBAL__N_120MBlazeAttributesSema20ProcessDeclAttributeEPN5clang5ScopeEPNS1_4DeclERKNS1_13AttributeListERNS1_4SemaE", "(anonymous namespace)::MBlazeAttributesSema::ProcessDeclAttribute(clang::Scope*, clang::Decl*, clang::AttributeList const&, clang::Sema&) const"},
-    {"_ZN12_GLOBAL__N_120MSP430AttributesSemaD1Ev", "(anonymous namespace)::MSP430AttributesSema::~MSP430AttributesSema()"},
-    {"_ZN12_GLOBAL__N_120MSP430AttributesSemaD0Ev", "(anonymous namespace)::MSP430AttributesSema::~MSP430AttributesSema()"},
-    {"_ZNK12_GLOBAL__N_120MSP430AttributesSema20ProcessDeclAttributeEPN5clang5ScopeEPNS1_4DeclERKNS1_13AttributeListERNS1_4SemaE", "(anonymous namespace)::MSP430AttributesSema::ProcessDeclAttribute(clang::Scope*, clang::Decl*, clang::AttributeList const&, clang::Sema&) const"},
-    {"_ZN5clang4ento34RegisterAdjustedReturnValueCheckerERNS0_10ExprEngineE", "clang::ento::RegisterAdjustedReturnValueChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_126AdjustedReturnValueCheckerD1Ev", "(anonymous namespace)::AdjustedReturnValueChecker::~AdjustedReturnValueChecker()"},
-    {"_ZN12_GLOBAL__N_126AdjustedReturnValueCheckerD0Ev", "(anonymous namespace)::AdjustedReturnValueChecker::~AdjustedReturnValueChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126AdjustedReturnValueCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::AdjustedReturnValueChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126AdjustedReturnValueCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::AdjustedReturnValueChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126AdjustedReturnValueCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::AdjustedReturnValueChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126AdjustedReturnValueCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::AdjustedReturnValueChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento22CreateAnalysisConsumerERKNS_12PreprocessorERKSsRKNS_15AnalyzerOptionsE", "clang::ento::CreateAnalysisConsumer(clang::Preprocessor const&, std::string const&, clang::AnalyzerOptions const&)"},
-    {"_Z13ActionCFGDumpRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionCFGDump((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z13ActionCFGViewRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionCFGView((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z26ActionDisplayLiveVariablesRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionDisplayLiveVariables((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z29ActionSecuritySyntacticChecksRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionSecuritySyntacticChecks((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z27ActionLLVMConventionCheckerRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerERNS2_19TranslationUnitDeclE", "ActionLLVMConventionChecker((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::TranslationUnitDecl&)"},
-    {"_Z20ActionWarnDeadStoresRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionWarnDeadStores((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z20ActionWarnUninitValsRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionWarnUninitVals((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z22ActionWarnObjCMethSigsRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionWarnObjCMethSigs((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z21ActionWarnObjCDeallocRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionWarnObjCDealloc((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z25ActionWarnObjCUnusedIvarsRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionWarnObjCUnusedIvars((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z20ActionObjCMemCheckerRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionObjCMemChecker((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z23ActionWarnSizeofPointerRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclE", "ActionWarnSizeofPointer((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)"},
-    {"_Z23ActionObjCMemCheckerAuxRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS2_4DeclEb", "ActionObjCMemCheckerAux((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*, bool)"},
-    {"_ZN12_GLOBAL__N_111UbigraphVizD1Ev", "(anonymous namespace)::UbigraphViz::~UbigraphViz()"},
-    {"_ZN12_GLOBAL__N_111UbigraphVizD0Ev", "(anonymous namespace)::UbigraphViz::~UbigraphViz()"},
-    {"_ZN12_GLOBAL__N_111UbigraphViz7AddEdgeEPN5clang4ento12ExplodedNodeES4_", "(anonymous namespace)::UbigraphViz::AddEdge(clang::ento::ExplodedNode*, clang::ento::ExplodedNode*)"},
-    {"_ZNSt6vectorIPFvRN12_GLOBAL__N_116AnalysisConsumerERN5clang4ento15AnalysisManagerEPNS3_4DeclEESaISA_EE9push_backERKSA_", "std::vector<void (*)((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*), std::allocator<void (*)((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)> >::push_back(void (* const&)((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*))"},
-    {"_ZN12_GLOBAL__N_116AnalysisConsumerD1Ev", "(anonymous namespace)::AnalysisConsumer::~AnalysisConsumer()"},
-    {"_ZN12_GLOBAL__N_116AnalysisConsumerD0Ev", "(anonymous namespace)::AnalysisConsumer::~AnalysisConsumer()"},
-    {"_ZN12_GLOBAL__N_116AnalysisConsumer10InitializeERN5clang10ASTContextE", "(anonymous namespace)::AnalysisConsumer::Initialize(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_116AnalysisConsumer21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::AnalysisConsumer::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_116AnalysisConsumer17HandleDeclContextERN5clang10ASTContextEPNS1_11DeclContextE", "(anonymous namespace)::AnalysisConsumer::HandleDeclContext(clang::ASTContext&, clang::DeclContext*)"},
-    {"_ZN12_GLOBAL__N_116AnalysisConsumer15DisplayFunctionEPKN5clang4DeclE", "(anonymous namespace)::AnalysisConsumer::DisplayFunction(clang::Decl const*)"},
-    {"_ZN12_GLOBAL__N_116AnalysisConsumer10HandleCodeEPN5clang4DeclERSt6vectorIPFvRS0_RNS1_4ento15AnalysisManagerES3_ESaISA_EE", "(anonymous namespace)::AnalysisConsumer::HandleCode(clang::Decl*, std::vector<void (*)((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*), std::allocator<void (*)((anonymous namespace)::AnalysisConsumer&, clang::ento::AnalysisManager&, clang::Decl*)> >&)"},
-    {"_Z10FindBlocksPN5clang11DeclContextERN4llvm15SmallVectorImplIPNS_4DeclEEE", "FindBlocks(clang::DeclContext*, llvm::SmallVectorImpl<clang::Decl*>&)"},
-    {"_ZN5clang4ento11BugReporter22GeneratePathDiagnosticERNS0_14PathDiagnosticERN4llvm15SmallVectorImplIPNS0_9BugReportEEE", "clang::ento::BugReporter::GeneratePathDiagnostic(clang::ento::PathDiagnostic&, llvm::SmallVectorImpl<clang::ento::BugReport*>&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEEC2Ev", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::ImutAVLFactory()"},
-    {"_ZN4llvm8DenseMapIPvjNS_12DenseMapInfoIS1_EENS2_IjEEE16InsertIntoBucketERKS1_RKjPSt4pairIS1_jE", "llvm::DenseMap<void*, unsigned int, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(void* const&, unsigned int const&, std::pair<void*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPvjNS_12DenseMapInfoIS1_EENS2_IjEEE4growEj", "llvm::DenseMap<void*, unsigned int, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang4ento15AnalysisManagerD1Ev", "clang::ento::AnalysisManager::~AnalysisManager()"},
-    {"_ZN5clang4ento15AnalysisManagerD0Ev", "clang::ento::AnalysisManager::~AnalysisManager()"},
-    {"_ZN5clang4ento15AnalysisManager13getDiagnosticEv", "clang::ento::AnalysisManager::getDiagnostic()"},
-    {"_ZN5clang4ento15AnalysisManager23getPathDiagnosticClientEv", "clang::ento::AnalysisManager::getPathDiagnosticClient()"},
-    {"_ZN5clang4ento15AnalysisManager13getASTContextEv", "clang::ento::AnalysisManager::getASTContext()"},
-    {"_ZN5clang4ento15AnalysisManager16getSourceManagerEv", "clang::ento::AnalysisManager::getSourceManager()"},
-    {"_ZN5clang4ento15AnalysisManagerD2Ev", "clang::ento::AnalysisManager::~AnalysisManager()"},
-    {"_ZN4llvm10FoldingSetIN5clang15LocationContextEED1Ev", "llvm::FoldingSet<clang::LocationContext>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang15LocationContextEED0Ev", "llvm::FoldingSet<clang::LocationContext>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang15LocationContextEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::LocationContext>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang15LocationContextEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::LocationContext>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang15LocationContextEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::LocationContext>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento28RegisterAnalyzerStatsCheckerERNS0_10ExprEngineE", "clang::ento::RegisterAnalyzerStatsChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_120AnalyzerStatsCheckerD1Ev", "(anonymous namespace)::AnalyzerStatsChecker::~AnalyzerStatsChecker()"},
-    {"_ZN12_GLOBAL__N_120AnalyzerStatsCheckerD0Ev", "(anonymous namespace)::AnalyzerStatsChecker::~AnalyzerStatsChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120AnalyzerStatsCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::AnalyzerStatsChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120AnalyzerStatsCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::AnalyzerStatsChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_120AnalyzerStatsChecker16VisitEndAnalysisERN5clang4ento13ExplodedGraphERNS2_11BugReporterERNS2_10ExprEngineE", "(anonymous namespace)::AnalyzerStatsChecker::VisitEndAnalysis(clang::ento::ExplodedGraph&, clang::ento::BugReporter&, clang::ento::ExprEngine&)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120AnalyzerStatsCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::AnalyzerStatsChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120AnalyzerStatsCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::AnalyzerStatsChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento25RegisterArrayBoundCheckerERNS0_10ExprEngineE", "clang::ento::RegisterArrayBoundChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_117ArrayBoundCheckerD1Ev", "(anonymous namespace)::ArrayBoundChecker::~ArrayBoundChecker()"},
-    {"_ZN12_GLOBAL__N_117ArrayBoundCheckerD0Ev", "(anonymous namespace)::ArrayBoundChecker::~ArrayBoundChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ArrayBoundCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ArrayBoundCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_117ArrayBoundChecker13visitLocationERN5clang4ento14CheckerContextEPKNS1_4StmtENS2_4SValEb", "(anonymous namespace)::ArrayBoundChecker::visitLocation(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, bool)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ArrayBoundCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ArrayBoundCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento27RegisterArrayBoundCheckerV2ERNS0_10ExprEngineE", "clang::ento::RegisterArrayBoundCheckerV2(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_119ArrayBoundCheckerV2D1Ev", "(anonymous namespace)::ArrayBoundCheckerV2::~ArrayBoundCheckerV2()"},
-    {"_ZN12_GLOBAL__N_119ArrayBoundCheckerV2D0Ev", "(anonymous namespace)::ArrayBoundCheckerV2::~ArrayBoundCheckerV2()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ArrayBoundCheckerV2EE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundCheckerV2>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ArrayBoundCheckerV2EE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundCheckerV2>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_119ArrayBoundCheckerV213visitLocationERN5clang4ento14CheckerContextEPKNS1_4StmtENS2_4SValEb", "(anonymous namespace)::ArrayBoundCheckerV2::visitLocation(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, bool)"},
-    {"_ZN12_GLOBAL__N_119ArrayBoundCheckerV29reportOOBERN5clang4ento14CheckerContextEPKNS2_7GRStateENS0_8OOB_KindE", "(anonymous namespace)::ArrayBoundCheckerV2::reportOOB(clang::ento::CheckerContext&, clang::ento::GRState const*, (anonymous namespace)::ArrayBoundCheckerV2::OOB_Kind)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ArrayBoundCheckerV2EED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundCheckerV2>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ArrayBoundCheckerV2EED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundCheckerV2>::~CheckerVisitor()"},
-    {"_ZN5clang4ento10BuiltinBugC2EPKc", "clang::ento::BuiltinBug::BuiltinBug(char const*)"},
-    {"_ZN5clang4ento10BuiltinBugD1Ev", "clang::ento::BuiltinBug::~BuiltinBug()"},
-    {"_ZN5clang4ento10BuiltinBugD0Ev", "clang::ento::BuiltinBug::~BuiltinBug()"},
-    {"_ZN5clang4ento26RegisterAttrNonNullCheckerERNS0_10ExprEngineE", "clang::ento::RegisterAttrNonNullChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_118AttrNonNullCheckerD1Ev", "(anonymous namespace)::AttrNonNullChecker::~AttrNonNullChecker()"},
-    {"_ZN12_GLOBAL__N_118AttrNonNullCheckerD0Ev", "(anonymous namespace)::AttrNonNullChecker::~AttrNonNullChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118AttrNonNullCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::AttrNonNullChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118AttrNonNullCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::AttrNonNullChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118AttrNonNullCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::AttrNonNullChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118AttrNonNullCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::AttrNonNullChecker>::~CheckerVisitor()"},
-    {"_ZNK5clang4Decl7getAttrINS_11NonNullAttrEEEPT_v", "clang::NonNullAttr* clang::Decl::getAttr<clang::NonNullAttr>() const"},
-    {"_ZN5clang4ento19RegisterAppleChecksERNS0_10ExprEngineERKNS_4DeclE", "clang::ento::RegisterAppleChecks(clang::ento::ExprEngine&, clang::Decl const&)"},
-    {"_ZN12_GLOBAL__N_119ClassReleaseCheckerD1Ev", "(anonymous namespace)::ClassReleaseChecker::~ClassReleaseChecker()"},
-    {"_ZN12_GLOBAL__N_119ClassReleaseCheckerD0Ev", "(anonymous namespace)::ClassReleaseChecker::~ClassReleaseChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ClassReleaseCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ClassReleaseChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ClassReleaseCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ClassReleaseChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_119ClassReleaseChecker19preVisitObjCMessageERN5clang4ento14CheckerContextENS2_11ObjCMessageE", "(anonymous namespace)::ClassReleaseChecker::preVisitObjCMessage(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN12_GLOBAL__N_19APIMisuseD1Ev", "(anonymous namespace)::APIMisuse::~APIMisuse()"},
-    {"_ZN12_GLOBAL__N_19APIMisuseD0Ev", "(anonymous namespace)::APIMisuse::~APIMisuse()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ClassReleaseCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ClassReleaseChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ClassReleaseCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ClassReleaseChecker>::~CheckerVisitor()"},
-    {"_ZN12_GLOBAL__N_122CFRetainReleaseCheckerD1Ev", "(anonymous namespace)::CFRetainReleaseChecker::~CFRetainReleaseChecker()"},
-    {"_ZN12_GLOBAL__N_122CFRetainReleaseCheckerD0Ev", "(anonymous namespace)::CFRetainReleaseChecker::~CFRetainReleaseChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_122CFRetainReleaseCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CFRetainReleaseChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_122CFRetainReleaseCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CFRetainReleaseChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_122CFRetainReleaseCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CFRetainReleaseChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_122CFRetainReleaseCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CFRetainReleaseChecker>::~CheckerVisitor()"},
-    {"_ZN12_GLOBAL__N_121CFNumberCreateCheckerD1Ev", "(anonymous namespace)::CFNumberCreateChecker::~CFNumberCreateChecker()"},
-    {"_ZN12_GLOBAL__N_121CFNumberCreateCheckerD0Ev", "(anonymous namespace)::CFNumberCreateChecker::~CFNumberCreateChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CFNumberCreateCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CFNumberCreateChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CFNumberCreateCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CFNumberCreateChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CFNumberCreateCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CFNumberCreateChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CFNumberCreateCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CFNumberCreateChecker>::~CheckerVisitor()"},
-    {"_ZN12_GLOBAL__N_113NilArgCheckerD1Ev", "(anonymous namespace)::NilArgChecker::~NilArgChecker()"},
-    {"_ZN12_GLOBAL__N_113NilArgCheckerD0Ev", "(anonymous namespace)::NilArgChecker::~NilArgChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113NilArgCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::NilArgChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113NilArgCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::NilArgChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_113NilArgChecker19preVisitObjCMessageERN5clang4ento14CheckerContextENS2_11ObjCMessageE", "(anonymous namespace)::NilArgChecker::preVisitObjCMessage(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113NilArgCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::NilArgChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113NilArgCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::NilArgChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerContext12generateNodeEb", "clang::ento::CheckerContext::generateNode(bool)"},
-    {"_ZN5clang4ento30RegisterBuiltinFunctionCheckerERNS0_10ExprEngineE", "clang::ento::RegisterBuiltinFunctionChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_122BuiltinFunctionCheckerD1Ev", "(anonymous namespace)::BuiltinFunctionChecker::~BuiltinFunctionChecker()"},
-    {"_ZN12_GLOBAL__N_122BuiltinFunctionCheckerD0Ev", "(anonymous namespace)::BuiltinFunctionChecker::~BuiltinFunctionChecker()"},
-    {"_ZN12_GLOBAL__N_122BuiltinFunctionChecker12evalCallExprERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::BuiltinFunctionChecker::evalCallExpr(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN5clang4ento22RegisterCStringCheckerERNS0_10ExprEngineE", "clang::ento::RegisterCStringChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_114CStringCheckerD1Ev", "(anonymous namespace)::CStringChecker::~CStringChecker()"},
-    {"_ZN12_GLOBAL__N_114CStringCheckerD0Ev", "(anonymous namespace)::CStringChecker::~CStringChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114CStringCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CStringChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114CStringCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CStringChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker15evalDeadSymbolsERN5clang4ento14CheckerContextERNS2_12SymbolReaperE", "(anonymous namespace)::CStringChecker::evalDeadSymbols(clang::ento::CheckerContext&, clang::ento::SymbolReaper&)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker15MarkLiveSymbolsEPKN5clang4ento7GRStateERNS2_12SymbolReaperE", "(anonymous namespace)::CStringChecker::MarkLiveSymbols(clang::ento::GRState const*, clang::ento::SymbolReaper&)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker12evalCallExprERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CStringChecker::evalCallExpr(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker23wantsRegionChangeUpdateEPKN5clang4ento7GRStateE", "(anonymous namespace)::CStringChecker::wantsRegionChangeUpdate(clang::ento::GRState const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker17EvalRegionChangesEPKN5clang4ento7GRStateEPKPKNS2_9MemRegionESA_Pb", "(anonymous namespace)::CStringChecker::EvalRegionChanges(clang::ento::GRState const*, clang::ento::MemRegion const* const*, clang::ento::MemRegion const* const*, bool*)"},
-    {"_ZNK5clang4ento7GRState3setIN12_GLOBAL__N_113CStringLengthEEEPKS1_NS0_12GRStateTraitIT_E9data_typeE", "clang::ento::GRState const* clang::ento::GRState::set<(anonymous namespace)::CStringLength>(clang::ento::GRStateTrait<(anonymous namespace)::CStringLength>::data_type) const"},
-    {"_ZN12_GLOBAL__N_114CStringChecker10evalMemcpyERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CStringChecker::evalMemcpy(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker10evalMemcmpERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CStringChecker::evalMemcmp(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker11evalMemmoveERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CStringChecker::evalMemmove(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker10evalStrcpyERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CStringChecker::evalStrcpy(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker10evalStpcpyERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CStringChecker::evalStpcpy(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker13evalstrLengthERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CStringChecker::evalstrLength(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker9evalBcopyERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CStringChecker::evalBcopy(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker14evalCopyCommonERN5clang4ento14CheckerContextEPKNS2_7GRStateEPKNS1_4ExprESA_SA_b", "(anonymous namespace)::CStringChecker::evalCopyCommon(clang::ento::CheckerContext&, clang::ento::GRState const*, clang::Expr const*, clang::Expr const*, clang::Expr const*, bool)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker10assumeZeroERN5clang4ento14CheckerContextEPKNS2_7GRStateENS2_4SValENS1_8QualTypeE", "(anonymous namespace)::CStringChecker::assumeZero(clang::ento::CheckerContext&, clang::ento::GRState const*, clang::ento::SVal, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker17CheckBufferAccessERN5clang4ento14CheckerContextEPKNS2_7GRStateEPKNS1_4ExprESA_SA_b", "(anonymous namespace)::CStringChecker::CheckBufferAccess(clang::ento::CheckerContext&, clang::ento::GRState const*, clang::Expr const*, clang::Expr const*, clang::Expr const*, bool)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker16InvalidateBufferERN5clang4ento14CheckerContextEPKNS2_7GRStateEPKNS1_4ExprENS2_4SValE", "(anonymous namespace)::CStringChecker::InvalidateBuffer(clang::ento::CheckerContext&, clang::ento::GRState const*, clang::Expr const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker14emitOverlapBugERN5clang4ento14CheckerContextEPKNS2_7GRStateEPKNS1_4StmtESA_", "(anonymous namespace)::CStringChecker::emitOverlapBug(clang::ento::CheckerContext&, clang::ento::GRState const*, clang::Stmt const*, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker12checkNonNullERN5clang4ento14CheckerContextEPKNS2_7GRStateEPKNS1_4ExprENS2_4SValE", "(anonymous namespace)::CStringChecker::checkNonNull(clang::ento::CheckerContext&, clang::ento::GRState const*, clang::Expr const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker13CheckLocationERN5clang4ento14CheckerContextEPKNS2_7GRStateEPKNS1_4ExprENS2_4SValEb", "(anonymous namespace)::CStringChecker::CheckLocation(clang::ento::CheckerContext&, clang::ento::GRState const*, clang::Expr const*, clang::ento::SVal, bool)"},
-    {"_ZN12_GLOBAL__N_114CStringChecker16getCStringLengthERN5clang4ento14CheckerContextERPKNS2_7GRStateEPKNS1_4ExprENS2_4SValE", "(anonymous namespace)::CStringChecker::getCStringLength(clang::ento::CheckerContext&, clang::ento::GRState const*&, clang::Expr const*, clang::ento::SVal)"},
-    {"_ZNK5clang4ento7GRState3setIN12_GLOBAL__N_113CStringLengthEEEPKS1_NS0_12GRStateTraitIT_E8key_typeENS9_10value_typeE", "clang::ento::GRState const* clang::ento::GRState::set<(anonymous namespace)::CStringLength>(clang::ento::GRStateTrait<(anonymous namespace)::CStringLength>::key_type, clang::ento::GRStateTrait<(anonymous namespace)::CStringLength>::value_type) const"},
-    {"_ZN12_GLOBAL__N_114CStringChecker16evalStrcpyCommonERN5clang4ento14CheckerContextEPKNS1_8CallExprEb", "(anonymous namespace)::CStringChecker::evalStrcpyCommon(clang::ento::CheckerContext&, clang::CallExpr const*, bool)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114CStringCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CStringChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114CStringCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CStringChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_9MemRegionENS0_4SValENS2_16ImutKeyValueInfoIS6_S7_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::MemRegion const*, clang::ento::SVal, llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_9MemRegionENS0_4SValENS2_16ImutKeyValueInfoIS6_S7_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::MemRegion const*, clang::ento::SVal, llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> > >::DeleteContext(void*)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_9MemRegionENS0_4SValENS2_16ImutKeyValueInfoIS6_S7_EEEEE3SetESA_S6_S7_RNSA_7FactoryE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::MemRegion const*, clang::ento::SVal, llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> > >::Set(llvm::ImmutableMap<clang::ento::MemRegion const*, clang::ento::SVal, llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >, clang::ento::MemRegion const*, clang::ento::SVal, llvm::ImmutableMap<clang::ento::MemRegion const*, clang::ento::SVal, llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::Factory&)"},
-    {"_ZN5clang4ento29RegisterCallAndMessageCheckerERNS0_10ExprEngineE", "clang::ento::RegisterCallAndMessageChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_121CallAndMessageCheckerD1Ev", "(anonymous namespace)::CallAndMessageChecker::~CallAndMessageChecker()"},
-    {"_ZN12_GLOBAL__N_121CallAndMessageCheckerD0Ev", "(anonymous namespace)::CallAndMessageChecker::~CallAndMessageChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CallAndMessageCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CallAndMessageChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CallAndMessageCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CallAndMessageChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_121CallAndMessageChecker19preVisitObjCMessageERN5clang4ento14CheckerContextENS2_11ObjCMessageE", "(anonymous namespace)::CallAndMessageChecker::preVisitObjCMessage(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN12_GLOBAL__N_121CallAndMessageChecker15evalNilReceiverERN5clang4ento14CheckerContextENS2_11ObjCMessageE", "(anonymous namespace)::CallAndMessageChecker::evalNilReceiver(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN12_GLOBAL__N_121CallAndMessageChecker18emitNilReceiverBugERN5clang4ento14CheckerContextERKNS2_11ObjCMessageEPNS2_12ExplodedNodeE", "(anonymous namespace)::CallAndMessageChecker::emitNilReceiverBug(clang::ento::CheckerContext&, clang::ento::ObjCMessage const&, clang::ento::ExplodedNode*)"},
-    {"_ZN12_GLOBAL__N_121CallAndMessageChecker19PreVisitProcessArgsERN5clang4ento14CheckerContextENS2_17CallOrObjCMessageEPKcRPNS2_7BugTypeE", "(anonymous namespace)::CallAndMessageChecker::PreVisitProcessArgs(clang::ento::CheckerContext&, clang::ento::CallOrObjCMessage, char const*, clang::ento::BugType*&)"},
-    {"_ZZN12_GLOBAL__N_121CallAndMessageChecker18PreVisitProcessArgERN5clang4ento14CheckerContextENS2_4SValENS1_11SourceRangeEPKNS1_4ExprEPKcRPNS2_7BugTypeEEN22FindUninitializedField4FindEPKNS2_11TypedRegionE", "(anonymous namespace)::CallAndMessageChecker::PreVisitProcessArg(clang::ento::CheckerContext&, clang::ento::SVal, clang::SourceRange, clang::Expr const*, char const*, clang::ento::BugType*&)::FindUninitializedField::Find(clang::ento::TypedRegion const*)"},
-    {"_ZN12_GLOBAL__N_121CallAndMessageChecker11EmitBadCallEPN5clang4ento7BugTypeERNS2_14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::CallAndMessageChecker::EmitBadCall(clang::ento::BugType*, clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CallAndMessageCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CallAndMessageChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CallAndMessageCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CallAndMessageChecker>::~CheckerVisitor()"},
-    {"_ZNK5clang4ento17CallOrObjCMessage10getArgSValEj", "clang::ento::CallOrObjCMessage::getArgSVal(unsigned int) const"},
-    {"_ZN5clang4ento23RegisterCastSizeCheckerERNS0_10ExprEngineE", "clang::ento::RegisterCastSizeChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_115CastSizeCheckerD1Ev", "(anonymous namespace)::CastSizeChecker::~CastSizeChecker()"},
-    {"_ZN12_GLOBAL__N_115CastSizeCheckerD0Ev", "(anonymous namespace)::CastSizeChecker::~CastSizeChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_115CastSizeCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CastSizeChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_115CastSizeCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CastSizeChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_115CastSizeChecker16PreVisitCastExprERN5clang4ento14CheckerContextEPKNS1_8CastExprE", "(anonymous namespace)::CastSizeChecker::PreVisitCastExpr(clang::ento::CheckerContext&, clang::CastExpr const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_115CastSizeCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CastSizeChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_115CastSizeCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CastSizeChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento10BuiltinBugC2EPKcS3_", "clang::ento::BuiltinBug::BuiltinBug(char const*, char const*)"},
-    {"_ZN5clang4ento27RegisterCastToStructCheckerERNS0_10ExprEngineE", "clang::ento::RegisterCastToStructChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_119CastToStructCheckerD1Ev", "(anonymous namespace)::CastToStructChecker::~CastToStructChecker()"},
-    {"_ZN12_GLOBAL__N_119CastToStructCheckerD0Ev", "(anonymous namespace)::CastToStructChecker::~CastToStructChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119CastToStructCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CastToStructChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119CastToStructCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::CastToStructChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_119CastToStructChecker16PreVisitCastExprERN5clang4ento14CheckerContextEPKNS1_8CastExprE", "(anonymous namespace)::CastToStructChecker::PreVisitCastExpr(clang::ento::CheckerContext&, clang::CastExpr const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119CastToStructCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CastToStructChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119CastToStructCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::CastToStructChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento16CheckObjCDeallocEPKNS_22ObjCImplementationDeclERKNS_11LangOptionsERNS0_11BugReporterE", "clang::ento::CheckObjCDealloc(clang::ObjCImplementationDecl const*, clang::LangOptions const&, clang::ento::BugReporter&)"},
-    {"_Z12scan_deallocPN5clang4StmtENS_8SelectorE", "scan_dealloc(clang::Stmt*, clang::Selector)"},
-    {"_Z17scan_ivar_releasePN5clang4StmtEPNS_12ObjCIvarDeclEPKNS_16ObjCPropertyDeclENS_8SelectorEPNS_14IdentifierInfoERNS_10ASTContextE", "scan_ivar_release(clang::Stmt*, clang::ObjCIvarDecl*, clang::ObjCPropertyDecl const*, clang::Selector, clang::IdentifierInfo*, clang::ASTContext&)"},
-    {"_ZN5clang4ento26CheckObjCInstMethSignatureEPKNS_22ObjCImplementationDeclERNS0_11BugReporterE", "clang::ento::CheckObjCInstMethSignature(clang::ObjCImplementationDecl const*, clang::ento::BugReporter&)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEPNS1_14ObjCMethodDeclENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<clang::Selector, clang::ObjCMethodDecl*, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<clang::ObjCMethodDecl*> >::InsertIntoBucket(clang::Selector const&, clang::ObjCMethodDecl* const&, std::pair<clang::Selector, clang::ObjCMethodDecl*>*)"},
-    {"_ZN4llvm8DenseMapIN5clang8SelectorEPNS1_14ObjCMethodDeclENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<clang::Selector, clang::ObjCMethodDecl*, llvm::DenseMapInfo<clang::Selector>, llvm::DenseMapInfo<clang::ObjCMethodDecl*> >::grow(unsigned int)"},
-    {"_ZN5clang4ento23CheckSecuritySyntaxOnlyEPKNS_4DeclERNS0_11BugReporterE", "clang::ento::CheckSecuritySyntaxOnly(clang::Decl const*, clang::ento::BugReporter&)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_17WalkASTEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::WalkAST, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_17WalkAST13VisitCallExprEPN5clang8CallExprE", "(anonymous namespace)::WalkAST::VisitCallExpr(clang::CallExpr*)"},
-    {"_ZN12_GLOBAL__N_17WalkAST13VisitChildrenEPN5clang4StmtE", "(anonymous namespace)::WalkAST::VisitChildren(clang::Stmt*)"},
-    {"_Z17GetIncrementedVarPKN5clang4ExprEPKNS_7VarDeclES5_", "GetIncrementedVar(clang::Expr const*, clang::VarDecl const*, clang::VarDecl const*)"},
-    {"_ZN5clang4ento18CheckSizeofPointerEPKNS_4DeclERNS0_11BugReporterE", "clang::ento::CheckSizeofPointer(clang::Decl const*, clang::ento::BugReporter&)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_17WalkASTEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::WalkAST, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_17WalkAST13VisitChildrenEPN5clang4StmtE", "(anonymous namespace)::WalkAST::VisitChildren(clang::Stmt*)"},
-    {"_ZN5clang4ento21RegisterChrootCheckerERNS0_10ExprEngineE", "clang::ento::RegisterChrootChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_113ChrootCheckerD1Ev", "(anonymous namespace)::ChrootChecker::~ChrootChecker()"},
-    {"_ZN12_GLOBAL__N_113ChrootCheckerD0Ev", "(anonymous namespace)::ChrootChecker::~ChrootChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113ChrootCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ChrootChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113ChrootCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ChrootChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_113ChrootChecker12evalCallExprERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::ChrootChecker::evalCallExpr(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_113ChrootChecker16PreVisitCallExprERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::ChrootChecker::PreVisitCallExpr(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113ChrootCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ChrootChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113ChrootCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ChrootChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento15CheckDeadStoresERNS_3CFGERNS_13LiveVariablesERNS_9ParentMapERNS0_11BugReporterE", "clang::ento::CheckDeadStores(clang::CFG&, clang::LiveVariables&, clang::ParentMap&, clang::ento::BugReporter&)"},
-    {"_ZN12_GLOBAL__N_112DeadStoreObsD1Ev", "(anonymous namespace)::DeadStoreObs::~DeadStoreObs()"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_111FindEscapedEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::FindEscaped, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_111FindEscaped18VisitUnaryOperatorEPN5clang13UnaryOperatorE", "(anonymous namespace)::FindEscaped::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN5clang14CFGStmtVisitorIN12_GLOBAL__N_111FindEscapedEvE13VisitChildrenEPNS_4StmtE", "clang::CFGStmtVisitor<(anonymous namespace)::FindEscaped, void>::VisitChildren(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_112DeadStoreObsD0Ev", "(anonymous namespace)::DeadStoreObs::~DeadStoreObs()"},
-    {"_ZN12_GLOBAL__N_112DeadStoreObs11ObserveStmtEPN5clang4StmtERKNS1_24LiveVariables_ValueTypes14AnalysisDataTyERKNS1_23StmtDeclBitVector_Types5ValTyE", "(anonymous namespace)::DeadStoreObs::ObserveStmt(clang::Stmt*, clang::LiveVariables_ValueTypes::AnalysisDataTy const&, clang::StmtDeclBitVector_Types::ValTy const&)"},
-    {"_ZN12_GLOBAL__N_112DeadStoreObs12CheckVarDeclEPN5clang7VarDeclEPNS1_4ExprES5_NS0_13DeadStoreKindERKNS1_24LiveVariables_ValueTypes14AnalysisDataTyERKNS1_23StmtDeclBitVector_Types5ValTyE", "(anonymous namespace)::DeadStoreObs::CheckVarDecl(clang::VarDecl*, clang::Expr*, clang::Expr*, (anonymous namespace)::DeadStoreObs::DeadStoreKind, clang::LiveVariables_ValueTypes::AnalysisDataTy const&, clang::StmtDeclBitVector_Types::ValTy const&)"},
-    {"_ZN12_GLOBAL__N_112DeadStoreObs6ReportEPN5clang7VarDeclENS0_13DeadStoreKindENS1_14SourceLocationENS1_11SourceRangeE", "(anonymous namespace)::DeadStoreObs::Report(clang::VarDecl*, (anonymous namespace)::DeadStoreObs::DeadStoreKind, clang::SourceLocation, clang::SourceRange)"},
-    {"_ZN5clang24LiveVariables_ValueTypes10ObserverTy12ObserverKillEPNS_11DeclRefExprE", "clang::LiveVariables_ValueTypes::ObserverTy::ObserverKill(clang::DeclRefExpr*)"},
-    {"_ZN5clang24LiveVariables_ValueTypes10ObserverTyD1Ev", "clang::LiveVariables_ValueTypes::ObserverTy::~ObserverTy()"},
-    {"_ZN5clang24LiveVariables_ValueTypes10ObserverTyD0Ev", "clang::LiveVariables_ValueTypes::ObserverTy::~ObserverTy()"},
-    {"_ZN5clang24LiveVariables_ValueTypes10ObserverTy11ObserveStmtEPNS_4StmtERKNS0_14AnalysisDataTyERKNS_23StmtDeclBitVector_Types5ValTyE", "clang::LiveVariables_ValueTypes::ObserverTy::ObserveStmt(clang::Stmt*, clang::LiveVariables_ValueTypes::AnalysisDataTy const&, clang::StmtDeclBitVector_Types::ValTy const&)"},
-    {"_ZN5clang4ento26RegisterDereferenceCheckerERNS0_10ExprEngineE", "clang::ento::RegisterDereferenceChecker(clang::ento::ExprEngine&)"},
-    {"_ZN5clang4ento27GetImplicitNullDereferencesERNS0_10ExprEngineE", "clang::ento::GetImplicitNullDereferences(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_118DereferenceCheckerD1Ev", "(anonymous namespace)::DereferenceChecker::~DereferenceChecker()"},
-    {"_ZN12_GLOBAL__N_118DereferenceCheckerD0Ev", "(anonymous namespace)::DereferenceChecker::~DereferenceChecker()"},
-    {"_ZN12_GLOBAL__N_118DereferenceChecker13visitLocationERN5clang4ento14CheckerContextEPKNS1_4StmtENS2_4SValEb", "(anonymous namespace)::DereferenceChecker::visitLocation(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, bool)"},
-    {"_ZN12_GLOBAL__N_118DereferenceChecker14AddDerefSourceERN4llvm11raw_ostreamERNS1_15SmallVectorImplIN5clang11SourceRangeEEEPKNS5_4ExprEb", "(anonymous namespace)::DereferenceChecker::AddDerefSource(llvm::raw_ostream&, llvm::SmallVectorImpl<clang::SourceRange>&, clang::Expr const*, bool)"},
-    {"_ZN5clang4ento22RegisterDivZeroCheckerERNS0_10ExprEngineE", "clang::ento::RegisterDivZeroChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_114DivZeroCheckerD1Ev", "(anonymous namespace)::DivZeroChecker::~DivZeroChecker()"},
-    {"_ZN12_GLOBAL__N_114DivZeroCheckerD0Ev", "(anonymous namespace)::DivZeroChecker::~DivZeroChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114DivZeroCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::DivZeroChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114DivZeroCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::DivZeroChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_114DivZeroChecker22PreVisitBinaryOperatorERN5clang4ento14CheckerContextEPKNS1_14BinaryOperatorE", "(anonymous namespace)::DivZeroChecker::PreVisitBinaryOperator(clang::ento::CheckerContext&, clang::BinaryOperator const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114DivZeroCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::DivZeroChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114DivZeroCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::DivZeroChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento26RegisterExperimentalChecksERNS0_10ExprEngineE", "clang::ento::RegisterExperimentalChecks(clang::ento::ExprEngine&)"},
-    {"_ZN5clang4ento34RegisterExperimentalInternalChecksERNS0_10ExprEngineE", "clang::ento::RegisterExperimentalInternalChecks(clang::ento::ExprEngine&)"},
-    {"_ZN5clang4ento10ExprEngine12CheckerVisitEPKNS_4StmtERNS0_15ExplodedNodeSetES6_NS1_12CallbackKindE", "clang::ento::ExprEngine::CheckerVisit(clang::Stmt const*, clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine::CallbackKind)"},
-    {"_ZN5clang4ento10ExprEngine23CheckerVisitObjCMessageERKNS0_11ObjCMessageERNS0_15ExplodedNodeSetES6_b", "clang::ento::ExprEngine::CheckerVisitObjCMessage(clang::ento::ObjCMessage const&, clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet&, bool)"},
-    {"_ZN5clang4ento10ExprEngine22CheckerEvalNilReceiverERKNS0_11ObjCMessageERNS0_15ExplodedNodeSetEPKNS0_7GRStateEPNS0_12ExplodedNodeE", "clang::ento::ExprEngine::CheckerEvalNilReceiver(clang::ento::ObjCMessage const&, clang::ento::ExplodedNodeSet&, clang::ento::GRState const*, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10ExprEngine15CheckerEvalCallEPKNS_8CallExprERNS0_15ExplodedNodeSetEPNS0_12ExplodedNodeE", "clang::ento::ExprEngine::CheckerEvalCall(clang::CallExpr const*, clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10ExprEngine16CheckerVisitBindEPKNS_4StmtERNS0_15ExplodedNodeSetES6_NS0_4SValES7_b", "clang::ento::ExprEngine::CheckerVisitBind(clang::Stmt const*, clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet&, clang::ento::SVal, clang::ento::SVal, bool)"},
-    {"_ZN5clang4ento10ExprEngineC1ERNS0_15AnalysisManagerEPNS0_13TransferFuncsE", "clang::ento::ExprEngine::ExprEngine(clang::ento::AnalysisManager&, clang::ento::TransferFuncs*)"},
-    {"_ZN5clang4ento10ExprEngineC2ERNS0_15AnalysisManagerEPNS0_13TransferFuncsE", "clang::ento::ExprEngine::ExprEngine(clang::ento::AnalysisManager&, clang::ento::TransferFuncs*)"},
-    {"_ZN5clang4ento10ExprEngineD0Ev", "clang::ento::ExprEngine::~ExprEngine()"},
-    {"_ZN5clang4ento10ExprEngineD1Ev", "clang::ento::ExprEngine::~ExprEngine()"},
-    {"_ZN5clang4ento10ExprEngineD2Ev", "clang::ento::ExprEngine::~ExprEngine()"},
-    {"_ZN5clang4ento10ExprEngine15getInitialStateEPKNS_15LocationContextE", "clang::ento::ExprEngine::getInitialState(clang::LocationContext const*)"},
-    {"_ZN5clang4ento10ExprEngine13processAssumeEPKNS0_7GRStateENS0_4SValEb", "clang::ento::ExprEngine::processAssume(clang::ento::GRState const*, clang::ento::SVal, bool)"},
-    {"_ZN5clang4ento10ExprEngine23wantsRegionChangeUpdateEPKNS0_7GRStateE", "clang::ento::ExprEngine::wantsRegionChangeUpdate(clang::ento::GRState const*)"},
-    {"_ZN5clang4ento10ExprEngine20processRegionChangesEPKNS0_7GRStateEPKPKNS0_9MemRegionES9_", "clang::ento::ExprEngine::processRegionChanges(clang::ento::GRState const*, clang::ento::MemRegion const* const*, clang::ento::MemRegion const* const*)"},
-    {"_ZN5clang4ento10ExprEngine18processEndWorklistEb", "clang::ento::ExprEngine::processEndWorklist(bool)"},
-    {"_ZN5clang4ento10ExprEngine17processCFGElementENS_10CFGElementERNS0_15StmtNodeBuilderE", "clang::ento::ExprEngine::processCFGElement(clang::CFGElement, clang::ento::StmtNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine11ProcessStmtENS_7CFGStmtERNS0_15StmtNodeBuilderE", "clang::ento::ExprEngine::ProcessStmt(clang::CFGStmt, clang::ento::StmtNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine18ProcessInitializerENS_14CFGInitializerERNS0_15StmtNodeBuilderE", "clang::ento::ExprEngine::ProcessInitializer(clang::CFGInitializer, clang::ento::StmtNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine19ProcessImplicitDtorENS_15CFGImplicitDtorERNS0_15StmtNodeBuilderE", "clang::ento::ExprEngine::ProcessImplicitDtor(clang::CFGImplicitDtor, clang::ento::StmtNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine5VisitEPKNS_4StmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::Visit(clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine23ProcessAutomaticObjDtorENS_19CFGAutomaticObjDtorERNS0_15StmtNodeBuilderE", "clang::ento::ExprEngine::ProcessAutomaticObjDtor(clang::CFGAutomaticObjDtor, clang::ento::StmtNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine15ProcessBaseDtorENS_11CFGBaseDtorERNS0_15StmtNodeBuilderE", "clang::ento::ExprEngine::ProcessBaseDtor(clang::CFGBaseDtor, clang::ento::StmtNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine17ProcessMemberDtorENS_13CFGMemberDtorERNS0_15StmtNodeBuilderE", "clang::ento::ExprEngine::ProcessMemberDtor(clang::CFGMemberDtor, clang::ento::StmtNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine20ProcessTemporaryDtorENS_16CFGTemporaryDtorERNS0_15StmtNodeBuilderE", "clang::ento::ExprEngine::ProcessTemporaryDtor(clang::CFGTemporaryDtor, clang::ento::StmtNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine8MakeNodeERNS0_15ExplodedNodeSetEPKNS_4StmtEPNS0_12ExplodedNodeEPKNS0_7GRStateENS_12ProgramPoint4KindEPKv", "clang::ento::ExprEngine::MakeNode(clang::ento::ExplodedNodeSet&, clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ProgramPoint::Kind, void const*)"},
-    {"_ZN5clang4ento10ExprEngine27VisitObjCAtSynchronizedStmtEPKNS_22ObjCAtSynchronizedStmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitObjCAtSynchronizedStmt(clang::ObjCAtSynchronizedStmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine24VisitObjCPropertyRefExprEPKNS_19ObjCPropertyRefExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitObjCPropertyRefExpr(clang::ObjCPropertyRefExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine27VisitLvalArraySubscriptExprEPKNS_18ArraySubscriptExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitLvalArraySubscriptExpr(clang::ArraySubscriptExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine12VisitAsmStmtEPKNS_7AsmStmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitAsmStmt(clang::AsmStmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine22VisitCommonDeclRefExprEPKNS_4ExprEPKNS_9NamedDeclEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCommonDeclRefExpr(clang::Expr const*, clang::NamedDecl const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine14VisitBlockExprEPKNS_9BlockExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitBlockExpr(clang::BlockExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine16VisitLogicalExprEPKNS_14BinaryOperatorEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitLogicalExpr(clang::BinaryOperator const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine19VisitBinaryOperatorEPKNS_14BinaryOperatorEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitBinaryOperator(clang::BinaryOperator const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine17evalEagerlyAssumeERNS0_15ExplodedNodeSetES3_PKNS_4ExprE", "clang::ento::ExprEngine::evalEagerlyAssume(clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet&, clang::Expr const*)"},
-    {"_ZN5clang4ento10ExprEngine9VisitCallEPKNS_8CallExprEPNS0_12ExplodedNodeENS_17ConstExprIteratorES7_RNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCall(clang::CallExpr const*, clang::ento::ExplodedNode*, clang::ConstExprIterator, clang::ConstExprIterator, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine16VisitGuardedExprEPKNS_4ExprES4_S4_PNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitGuardedExpr(clang::Expr const*, clang::Expr const*, clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine24VisitCompoundLiteralExprEPKNS_19CompoundLiteralExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCompoundLiteralExpr(clang::CompoundLiteralExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine13VisitDeclStmtEPKNS_8DeclStmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitDeclStmt(clang::DeclStmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine13VisitCondInitEPKNS_7VarDeclEPKNS_4StmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCondInit(clang::VarDecl const*, clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine9VisitCastEPKNS_8CastExprEPKNS_4ExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCast(clang::CastExpr const*, clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine17VisitInitListExprEPKNS_12InitListExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitInitListExpr(clang::InitListExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine15VisitMemberExprEPKNS_10MemberExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitMemberExpr(clang::MemberExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine24VisitLvalObjCIvarRefExprEPKNS_15ObjCIvarRefExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitLvalObjCIvarRefExpr(clang::ObjCIvarRefExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine26VisitObjCForCollectionStmtEPKNS_21ObjCForCollectionStmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitObjCForCollectionStmt(clang::ObjCForCollectionStmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine20VisitObjCMessageExprEPKNS_15ObjCMessageExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitObjCMessageExpr(clang::ObjCMessageExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine15VisitReturnStmtEPKNS_10ReturnStmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitReturnStmt(clang::ReturnStmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine17VisitOffsetOfExprEPKNS_12OffsetOfExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitOffsetOfExpr(clang::OffsetOfExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine22VisitSizeOfAlignOfExprEPKNS_17SizeOfAlignOfExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitSizeOfAlignOfExpr(clang::SizeOfAlignOfExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine18VisitUnaryOperatorEPKNS_13UnaryOperatorEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitUnaryOperator(clang::UnaryOperator const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine23processCFGBlockEntranceERNS0_15ExplodedNodeSetERNS0_18GenericNodeBuilderINS_13BlockEntranceEEE", "clang::ento::ExprEngine::processCFGBlockEntrance(clang::ento::ExplodedNodeSet&, clang::ento::GenericNodeBuilder<clang::BlockEntrance>&)"},
-    {"_ZN5clang4ento10ExprEngine10MarkBranchEPKNS0_7GRStateEPKNS_4StmtEb", "clang::ento::ExprEngine::MarkBranch(clang::ento::GRState const*, clang::Stmt const*, bool)"},
-    {"_ZN5clang4ento10ExprEngine13processBranchEPKNS_4StmtES4_RNS0_17BranchNodeBuilderE", "clang::ento::ExprEngine::processBranch(clang::Stmt const*, clang::Stmt const*, clang::ento::BranchNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine19processIndirectGotoERNS0_23IndirectGotoNodeBuilderE", "clang::ento::ExprEngine::processIndirectGoto(clang::ento::IndirectGotoNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine20processEndOfFunctionERNS0_24EndOfFunctionNodeBuilderE", "clang::ento::ExprEngine::processEndOfFunction(clang::ento::EndOfFunctionNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine13processSwitchERNS0_17SwitchNodeBuilderE", "clang::ento::ExprEngine::processSwitch(clang::ento::SwitchNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine16processCallEnterERNS0_20CallEnterNodeBuilderE", "clang::ento::ExprEngine::processCallEnter(clang::ento::CallEnterNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine15processCallExitERNS0_19CallExitNodeBuilderE", "clang::ento::ExprEngine::processCallExit(clang::ento::CallExitNodeBuilder&)"},
-    {"_ZN5clang4ento10ExprEngine8evalLoadERNS0_15ExplodedNodeSetEPKNS_4ExprEPNS0_12ExplodedNodeEPKNS0_7GRStateENS0_4SValEPKvNS_8QualTypeE", "clang::ento::ExprEngine::evalLoad(clang::ento::ExplodedNodeSet&, clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SVal, void const*, clang::QualType)"},
-    {"_ZN5clang4ento10ExprEngine8evalBindERNS0_15ExplodedNodeSetEPKNS_4StmtEPNS0_12ExplodedNodeEPKNS0_7GRStateENS0_4SValESC_b", "clang::ento::ExprEngine::evalBind(clang::ento::ExplodedNodeSet&, clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SVal, clang::ento::SVal, bool)"},
-    {"_ZN5clang4ento10ExprEngine9evalStoreERNS0_15ExplodedNodeSetEPKNS_4ExprES6_PNS0_12ExplodedNodeEPKNS0_7GRStateENS0_4SValESC_PKv", "clang::ento::ExprEngine::evalStore(clang::ento::ExplodedNodeSet&, clang::Expr const*, clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SVal, clang::ento::SVal, void const*)"},
-    {"_ZN5clang4ento10ExprEngine16VisitObjCMessageERKNS0_11ObjCMessageERNS0_15ExplodedNodeSetES6_", "clang::ento::ExprEngine::VisitObjCMessage(clang::ento::ObjCMessage const&, clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine12evalLocationERNS0_15ExplodedNodeSetEPKNS_4StmtEPNS0_12ExplodedNodeEPKNS0_7GRStateENS0_4SValEPKvb", "clang::ento::ExprEngine::evalLocation(clang::ento::ExplodedNodeSet&, clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SVal, void const*, bool)"},
-    {"_ZN5clang4ento10ExprEngine14evalLoadCommonERNS0_15ExplodedNodeSetEPKNS_4ExprEPNS0_12ExplodedNodeEPKNS0_7GRStateENS0_4SValEPKvNS_8QualTypeE", "clang::ento::ExprEngine::evalLoadCommon(clang::ento::ExplodedNodeSet&, clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SVal, void const*, clang::QualType)"},
-    {"_ZN5clang4ento10ExprEngine10InlineCallERNS0_15ExplodedNodeSetEPKNS_8CallExprEPNS0_12ExplodedNodeE", "clang::ento::ExprEngine::InlineCall(clang::ento::ExplodedNodeSet&, clang::CallExpr const*, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10ExprEngine29VisitObjCForCollectionStmtAuxEPKNS_21ObjCForCollectionStmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetENS0_4SValE", "clang::ento::ExprEngine::VisitObjCForCollectionStmtAux(clang::ObjCForCollectionStmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&, clang::ento::SVal)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_113ObjCMsgWLItemEE9push_backERKS2_", "llvm::SmallVectorImpl<(anonymous namespace)::ObjCMsgWLItem>::push_back((anonymous namespace)::ObjCMsgWLItem const&)"},
-    {"_ZN5clang4ento10ExprEngine25VisitAsmStmtHelperOutputsEPKNS_7AsmStmtENS_17ConstExprIteratorES5_PNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitAsmStmtHelperOutputs(clang::AsmStmt const*, clang::ConstExprIterator, clang::ConstExprIterator, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine24VisitAsmStmtHelperInputsEPKNS_7AsmStmtENS_17ConstExprIteratorES5_PNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitAsmStmtHelperInputs(clang::AsmStmt const*, clang::ConstExprIterator, clang::ConstExprIterator, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZNK5clang4ento10ExprEngine13lookupCheckerEPv", "clang::ento::ExprEngine::lookupChecker(void*) const"},
-    {"_ZN5clang4ento10ExprEngine9ViewGraphEb", "clang::ento::ExprEngine::ViewGraph(bool)"},
-    {"_ZN5clang4ento10ExprEngine9ViewGraphEPPNS0_12ExplodedNodeES4_", "clang::ento::ExprEngine::ViewGraph(clang::ento::ExplodedNode**, clang::ento::ExplodedNode**)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN12_GLOBAL__N_114InitListWLItemELb0EE4growEm", "llvm::SmallVectorTemplateBase<(anonymous namespace)::InitListWLItem, false>::grow(unsigned long)"},
-    {"_ZN5clang4ento15ExplodedNodeSet6insertERKS1_", "clang::ento::ExplodedNodeSet::insert(clang::ento::ExplodedNodeSet const&)"},
-    {"_ZN5clang4ento7Checker8GR_VisitERNS0_15ExplodedNodeSetERNS0_15StmtNodeBuilderERNS0_10ExprEngineEPKNS_4StmtEPNS0_12ExplodedNodeEPvbRb", "clang::ento::Checker::GR_Visit(clang::ento::ExplodedNodeSet&, clang::ento::StmtNodeBuilder&, clang::ento::ExprEngine&, clang::Stmt const*, clang::ento::ExplodedNode*, void*, bool, bool&)"},
-    {"_ZN5clang4ento7Checker19GR_visitObjCMessageERNS0_15ExplodedNodeSetERNS0_15StmtNodeBuilderERNS0_10ExprEngineERKNS0_11ObjCMessageEPNS0_12ExplodedNodeEPvb", "clang::ento::Checker::GR_visitObjCMessage(clang::ento::ExplodedNodeSet&, clang::ento::StmtNodeBuilder&, clang::ento::ExprEngine&, clang::ento::ObjCMessage const&, clang::ento::ExplodedNode*, void*, bool)"},
-    {"_ZN5clang4ento10ExprEngine18getAnalysisManagerEv", "clang::ento::ExprEngine::getAnalysisManager()"},
-    {"_ZN5clang4ento10ExprEngine15getStateManagerEv", "clang::ento::ExprEngine::getStateManager()"},
-    {"_ZN4llvm8DenseMapIjPSt6vectorISt4pairIPvPN5clang4ento7CheckerEESaIS8_EENS_12DenseMapInfoIjEENSC_ISB_EEE16InsertIntoBucketERKjRKSB_PS2_IjSB_E", "llvm::DenseMap<unsigned int, std::vector<std::pair<void*, clang::ento::Checker*>, std::allocator<std::pair<void*, clang::ento::Checker*> > >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<std::pair<void*, clang::ento::Checker*>, std::allocator<std::pair<void*, clang::ento::Checker*> > >*> >::InsertIntoBucket(unsigned int const&, std::vector<std::pair<void*, clang::ento::Checker*>, std::allocator<std::pair<void*, clang::ento::Checker*> > >* const&, std::pair<unsigned int, std::vector<std::pair<void*, clang::ento::Checker*>, std::allocator<std::pair<void*, clang::ento::Checker*> > >*>*)"},
-    {"_ZN4llvm8DenseMapIjPSt6vectorISt4pairIPvPN5clang4ento7CheckerEESaIS8_EENS_12DenseMapInfoIjEENSC_ISB_EEE4growEj", "llvm::DenseMap<unsigned int, std::vector<std::pair<void*, clang::ento::Checker*>, std::allocator<std::pair<void*, clang::ento::Checker*> > >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<std::pair<void*, clang::ento::Checker*>, std::allocator<std::pair<void*, clang::ento::Checker*> > >*> >::grow(unsigned int)"},
-    {"_ZN4llvm20ImmutableListFactoryIN5clang4ento4SValEE6concatERKS3_NS_13ImmutableListIS3_EE", "llvm::ImmutableListFactory<clang::ento::SVal>::concat(clang::ento::SVal const&, llvm::ImmutableList<clang::ento::SVal>)"},
-    {"_ZN5clang4ento18StmtNodeBuilderRefD2Ev", "clang::ento::StmtNodeBuilderRef::~StmtNodeBuilderRef()"},
-    {"_ZN5clang4ento12SymbolReaperC2EPKNS_15LocationContextEPKNS_4StmtERNS0_13SymbolManagerE", "clang::ento::SymbolReaper::SymbolReaper(clang::LocationContext const*, clang::Stmt const*, clang::ento::SymbolManager&)"},
-    {"_ZN5clang4ento9SubEngineD1Ev", "clang::ento::SubEngine::~SubEngine()"},
-    {"_ZN5clang4ento9SubEngineD0Ev", "clang::ento::SubEngine::~SubEngine()"},
-    {"_ZN5clang4ento10CoreEngineD2Ev", "clang::ento::CoreEngine::~CoreEngine()"},
-    {"_ZN5clang4ento14GRStateManagerC2ERNS_10ASTContextEPFPNS0_12StoreManagerERS1_EPFPNS0_17ConstraintManagerES6_RNS0_9SubEngineEERN4llvm16BumpPtrAllocatorESC_", "clang::ento::GRStateManager::GRStateManager(clang::ASTContext&, clang::ento::StoreManager* (*)(clang::ento::GRStateManager&), clang::ento::ConstraintManager* (*)(clang::ento::GRStateManager&, clang::ento::SubEngine&), llvm::BumpPtrAllocator&, clang::ento::SubEngine&)"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento7GRStateEED1Ev", "llvm::FoldingSet<clang::ento::GRState>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento7GRStateEED0Ev", "llvm::FoldingSet<clang::ento::GRState>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento7GRStateEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::GRState>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento7GRStateEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ento::GRState>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento7GRStateEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::GRState>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento12ExplodedNodeEED1Ev", "llvm::FoldingSet<clang::ento::ExplodedNode>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento12ExplodedNodeEED0Ev", "llvm::FoldingSet<clang::ento::ExplodedNode>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento12ExplodedNodeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::ExplodedNode>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento12ExplodedNodeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ento::ExplodedNode>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento12ExplodedNodeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::ExplodedNode>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento27RegisterFixedAddressCheckerERNS0_10ExprEngineE", "clang::ento::RegisterFixedAddressChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_119FixedAddressCheckerD1Ev", "(anonymous namespace)::FixedAddressChecker::~FixedAddressChecker()"},
-    {"_ZN12_GLOBAL__N_119FixedAddressCheckerD0Ev", "(anonymous namespace)::FixedAddressChecker::~FixedAddressChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119FixedAddressCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::FixedAddressChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119FixedAddressCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::FixedAddressChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_119FixedAddressChecker22PreVisitBinaryOperatorERN5clang4ento14CheckerContextEPKNS1_14BinaryOperatorE", "(anonymous namespace)::FixedAddressChecker::PreVisitBinaryOperator(clang::ento::CheckerContext&, clang::BinaryOperator const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119FixedAddressCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::FixedAddressChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119FixedAddressCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::FixedAddressChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14AnalysisAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::ento::AnalysisAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang4ento14AnalysisActionD1Ev", "clang::ento::AnalysisAction::~AnalysisAction()"},
-    {"_ZN5clang4ento14AnalysisActionD0Ev", "clang::ento::AnalysisAction::~AnalysisAction()"},
-    {"_ZN5clang4ento34RegisterIdempotentOperationCheckerERNS0_10ExprEngineE", "clang::ento::RegisterIdempotentOperationChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_126IdempotentOperationCheckerD1Ev", "(anonymous namespace)::IdempotentOperationChecker::~IdempotentOperationChecker()"},
-    {"_ZN12_GLOBAL__N_126IdempotentOperationCheckerD0Ev", "(anonymous namespace)::IdempotentOperationChecker::~IdempotentOperationChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126IdempotentOperationCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::IdempotentOperationChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126IdempotentOperationCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::IdempotentOperationChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_126IdempotentOperationChecker16VisitEndAnalysisERN5clang4ento13ExplodedGraphERNS2_11BugReporterERNS2_10ExprEngineE", "(anonymous namespace)::IdempotentOperationChecker::VisitEndAnalysis(clang::ento::ExplodedGraph&, clang::ento::BugReporter&, clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_126IdempotentOperationChecker23CFGReachabilityAnalysis11isReachableEPKN5clang8CFGBlockES5_", "(anonymous namespace)::IdempotentOperationChecker::CFGReachabilityAnalysis::isReachable(clang::CFGBlock const*, clang::CFGBlock const*)"},
-    {"_ZZN12_GLOBAL__N_126IdempotentOperationChecker25PathWasCompletelyAnalyzedEPKN5clang3CFGEPKNS1_8CFGBlockEPKNS1_10CFGStmtMapERKNS1_4ento10CoreEngineEEN7VisitWLD1Ev", "(anonymous namespace)::IdempotentOperationChecker::PathWasCompletelyAnalyzed(clang::CFG const*, clang::CFGBlock const*, clang::CFGStmtMap const*, clang::ento::CoreEngine const&)::VisitWL::~VisitWL()"},
-    {"_ZZN12_GLOBAL__N_126IdempotentOperationChecker25PathWasCompletelyAnalyzedEPKN5clang3CFGEPKNS1_8CFGBlockEPKNS1_10CFGStmtMapERKNS1_4ento10CoreEngineEEN7VisitWLD0Ev", "(anonymous namespace)::IdempotentOperationChecker::PathWasCompletelyAnalyzed(clang::CFG const*, clang::CFGBlock const*, clang::CFGStmtMap const*, clang::ento::CoreEngine const&)::VisitWL::~VisitWL()"},
-    {"_ZZN12_GLOBAL__N_126IdempotentOperationChecker25PathWasCompletelyAnalyzedEPKN5clang3CFGEPKNS1_8CFGBlockEPKNS1_10CFGStmtMapERKNS1_4ento10CoreEngineEEN7VisitWL5visitERKNSB_12WorkListUnitE", "(anonymous namespace)::IdempotentOperationChecker::PathWasCompletelyAnalyzed(clang::CFG const*, clang::CFGBlock const*, clang::CFGStmtMap const*, clang::ento::CoreEngine const&)::VisitWL::visit(clang::ento::WorkListUnit const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang14BinaryOperatorEN12_GLOBAL__N_126IdempotentOperationChecker18BinaryOperatorDataENS_12DenseMapInfoIS4_EENS8_IS7_EEEixERKS4_", "llvm::DenseMap<clang::BinaryOperator const*, (anonymous namespace)::IdempotentOperationChecker::BinaryOperatorData, llvm::DenseMapInfo<clang::BinaryOperator const*>, llvm::DenseMapInfo<(anonymous namespace)::IdempotentOperationChecker::BinaryOperatorData> >::operator[](clang::BinaryOperator const* const&)"},
-    {"_ZN12_GLOBAL__N_126IdempotentOperationChecker22PreVisitBinaryOperatorERN5clang4ento14CheckerContextEPKNS1_14BinaryOperatorE", "(anonymous namespace)::IdempotentOperationChecker::PreVisitBinaryOperator(clang::ento::CheckerContext&, clang::BinaryOperator const*)"},
-    {"_ZN12_GLOBAL__N_126IdempotentOperationChecker7CanVaryEPKN5clang4ExprEPNS1_15AnalysisContextE", "(anonymous namespace)::IdempotentOperationChecker::CanVary(clang::Expr const*, clang::AnalysisContext*)"},
-    {"_ZN12_GLOBAL__N_126IdempotentOperationChecker23containsNonLocalVarDeclEPKN5clang4StmtE", "(anonymous namespace)::IdempotentOperationChecker::containsNonLocalVarDecl(clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126IdempotentOperationCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::IdempotentOperationChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126IdempotentOperationCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::IdempotentOperationChecker>::~CheckerVisitor()"},
-    {"_ZNSt6vectorISt4pairIPFvRN5clang4ento18BugReporterContextEPKvPKNS2_12ExplodedNodeEES6_ESaISC_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSC_SE_EERKSC_", "std::vector<std::pair<void (*)(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*), void const*>, std::allocator<std::pair<void (*)(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*), void const*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<void (*)(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*), void const*>*, std::vector<std::pair<void (*)(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*), void const*>, std::allocator<std::pair<void (*)(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*), void const*> > > >, std::pair<void (*)(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*), void const*> const&)"},
-    {"_ZN4llvm8DenseMapIjNS_8SmallSetIjLj32EEENS_12DenseMapInfoIjEENS3_IS2_EEE16FindAndConstructERKj", "llvm::DenseMap<unsigned int, llvm::SmallSet<unsigned int, 32u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallSet<unsigned int, 32u> > >::FindAndConstruct(unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIjNS_8SmallSetIjLj32EEENS_12DenseMapInfoIjEENS3_IS2_EEE16InsertIntoBucketERKjRKS2_PSt4pairIjS2_E", "llvm::DenseMap<unsigned int, llvm::SmallSet<unsigned int, 32u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallSet<unsigned int, 32u> > >::InsertIntoBucket(unsigned int const&, llvm::SmallSet<unsigned int, 32u> const&, std::pair<unsigned int, llvm::SmallSet<unsigned int, 32u> >*)"},
-    {"_ZN4llvm8DenseMapIjNS_8SmallSetIjLj32EEENS_12DenseMapInfoIjEENS3_IS2_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::SmallSet<unsigned int, 32u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallSet<unsigned int, 32u> > >::grow(unsigned int)"},
-    {"_ZNSt5dequeIPKN5clang8CFGBlockESaIS3_EE9push_backERKS3_", "std::deque<clang::CFGBlock const*, std::allocator<clang::CFGBlock const*> >::push_back(clang::CFGBlock const* const&)"},
-    {"_ZNSt5dequeIPKN5clang8CFGBlockESaIS3_EE17_M_reallocate_mapEmb", "std::deque<clang::CFGBlock const*, std::allocator<clang::CFGBlock const*> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZNSt11_Deque_baseIPKN5clang8CFGBlockESaIS3_EE17_M_initialize_mapEm", "std::_Deque_base<clang::CFGBlock const*, std::allocator<clang::CFGBlock const*> >::_M_initialize_map(unsigned long)"},
-    {"_ZN4llvm8DenseMapIjNS_8SmallSetIjLj32EEENS_12DenseMapInfoIjEENS3_IS2_EEED1Ev", "llvm::DenseMap<unsigned int, llvm::SmallSet<unsigned int, 32u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallSet<unsigned int, 32u> > >::~DenseMap()"},
-    {"_ZN5clang4ento20CheckLLVMConventionsERNS_19TranslationUnitDeclERNS0_11BugReporterE", "clang::ento::CheckLLVMConventions(clang::TranslationUnitDecl&, clang::ento::BugReporter&)"},
-    {"_Z13ScanCodeDeclsPN5clang11DeclContextERNS_4ento11BugReporterE", "ScanCodeDecls(clang::DeclContext*, clang::ento::BugReporter&)"},
-    {"_Z11IsPartOfASTPKN5clang13CXXRecordDeclE", "IsPartOfAST(clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_115ASTFieldVisitor5VisitEPN5clang9FieldDeclE", "(anonymous namespace)::ASTFieldVisitor::Visit(clang::FieldDecl*)"},
-    {"_Z11IsStdStringN5clang8QualTypeE", "IsStdString(clang::QualType)"},
-    {"_Z11InNamespacePKN5clang4DeclEN4llvm9StringRefE", "InNamespace(clang::Decl const*, llvm::StringRef)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_123StringRefCheckerVisitorEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::StringRefCheckerVisitor, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_123StringRefCheckerVisitor13VisitChildrenEPN5clang4StmtE", "(anonymous namespace)::StringRefCheckerVisitor::VisitChildren(clang::Stmt*)"},
-    {"_ZN5clang4ento24RegisterMacOSXAPICheckerERNS0_10ExprEngineE", "clang::ento::RegisterMacOSXAPIChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_116MacOSXAPICheckerD1Ev", "(anonymous namespace)::MacOSXAPIChecker::~MacOSXAPIChecker()"},
-    {"_ZN12_GLOBAL__N_116MacOSXAPICheckerD0Ev", "(anonymous namespace)::MacOSXAPIChecker::~MacOSXAPIChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_116MacOSXAPICheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::MacOSXAPIChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_116MacOSXAPICheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::MacOSXAPIChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_Z17CheckDispatchOnceRN5clang4ento14CheckerContextEPKNS_8CallExprERPNS0_7BugTypeEPKNS_14IdentifierInfoE", "CheckDispatchOnce(clang::ento::CheckerContext&, clang::CallExpr const*, clang::ento::BugType*&, clang::IdentifierInfo const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_116MacOSXAPICheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::MacOSXAPIChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_116MacOSXAPICheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::MacOSXAPIChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento21RegisterMallocCheckerERNS0_10ExprEngineE", "clang::ento::RegisterMallocChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_113MallocCheckerD1Ev", "(anonymous namespace)::MallocChecker::~MallocChecker()"},
-    {"_ZN12_GLOBAL__N_113MallocCheckerD0Ev", "(anonymous namespace)::MallocChecker::~MallocChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113MallocCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::MallocChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113MallocCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::MallocChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker13visitLocationERN5clang4ento14CheckerContextEPKNS1_4StmtENS2_4SValEb", "(anonymous namespace)::MallocChecker::visitLocation(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, bool)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker12PreVisitBindERN5clang4ento14CheckerContextEPKNS1_4StmtENS2_4SValES8_", "(anonymous namespace)::MallocChecker::PreVisitBind(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker15evalDeadSymbolsERN5clang4ento14CheckerContextERNS2_12SymbolReaperE", "(anonymous namespace)::MallocChecker::evalDeadSymbols(clang::ento::CheckerContext&, clang::ento::SymbolReaper&)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker11evalEndPathERN5clang4ento24EndOfFunctionNodeBuilderEPvRNS2_10ExprEngineE", "(anonymous namespace)::MallocChecker::evalEndPath(clang::ento::EndOfFunctionNodeBuilder&, void*, clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker12evalCallExprERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::MallocChecker::evalCallExpr(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker10evalAssumeEPKN5clang4ento7GRStateENS2_4SValEbPb", "(anonymous namespace)::MallocChecker::evalAssume(clang::ento::GRState const*, clang::ento::SVal, bool, bool*)"},
-    {"_ZNK5clang4ento7GRState3setIN12_GLOBAL__N_111RegionStateEEEPKS1_NS0_12GRStateTraitIT_E8key_typeENS9_10value_typeE", "clang::ento::GRState const* clang::ento::GRState::set<(anonymous namespace)::RegionState>(clang::ento::GRStateTrait<(anonymous namespace)::RegionState>::key_type, clang::ento::GRStateTrait<(anonymous namespace)::RegionState>::value_type) const"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::destroy()"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEEENS_12DenseMapInfoIjEENSD_ISC_EEEixERKj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*> >::operator[](unsigned int const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEEESaISC_EE9push_backERKSC_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*> >::push_back(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >* const&)"},
-    {"_ZN4llvm26ImutAVLTreeInOrderIteratorINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEEppEv", "llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::operator++()"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_18RefStateENS2_16ImutKeyValueInfoIS6_S8_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefState, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_18RefStateENS2_16ImutKeyValueInfoIS6_S8_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefState, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> > >::DeleteContext(void*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE12add_internalERKSt4pairIS6_S8_EPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::add_internal(std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RefState> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE13markImmutableEPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE10createNodeEPNS_11ImutAVLTreeIS9_EERKSt4pairIS6_S8_ESD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*, std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RefState> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE11balanceTreeEPNS_11ImutAVLTreeIS9_EERKSt4pairIS6_S8_ESD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*, std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RefState> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker10FreeMemAuxERN5clang4ento14CheckerContextEPKNS1_8CallExprEPKNS2_7GRStateEjb", "(anonymous namespace)::MallocChecker::FreeMemAux(clang::ento::CheckerContext&, clang::CallExpr const*, clang::ento::GRState const*, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker13ReportBadFreeERN5clang4ento14CheckerContextENS2_4SValENS1_11SourceRangeE", "(anonymous namespace)::MallocChecker::ReportBadFree(clang::ento::CheckerContext&, clang::ento::SVal, clang::SourceRange)"},
-    {"_ZN12_GLOBAL__N_113MallocChecker12MallocMemAuxERN5clang4ento14CheckerContextEPKNS1_8CallExprENS2_4SValES8_PKNS2_7GRStateE", "(anonymous namespace)::MallocChecker::MallocMemAux(clang::ento::CheckerContext&, clang::CallExpr const*, clang::ento::SVal, clang::ento::SVal, clang::ento::GRState const*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE15remove_internalERKS6_PNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::remove_internal(clang::ento::SymbolData const* const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RefStateEEEE16removeMinBindingEPNS_11ImutAVLTreeIS9_EERSD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefState> >*&)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113MallocCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::MallocChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113MallocCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::MallocChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento31RegisterNSAutoreleasePoolChecksERNS0_10ExprEngineE", "clang::ento::RegisterNSAutoreleasePoolChecks(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_124NSAutoreleasePoolCheckerD1Ev", "(anonymous namespace)::NSAutoreleasePoolChecker::~NSAutoreleasePoolChecker()"},
-    {"_ZN12_GLOBAL__N_124NSAutoreleasePoolCheckerD0Ev", "(anonymous namespace)::NSAutoreleasePoolChecker::~NSAutoreleasePoolChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_124NSAutoreleasePoolCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::NSAutoreleasePoolChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_124NSAutoreleasePoolCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::NSAutoreleasePoolChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_124NSAutoreleasePoolChecker19preVisitObjCMessageERN5clang4ento14CheckerContextENS2_11ObjCMessageE", "(anonymous namespace)::NSAutoreleasePoolChecker::preVisitObjCMessage(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_124NSAutoreleasePoolCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::NSAutoreleasePoolChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_124NSAutoreleasePoolCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::NSAutoreleasePoolChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento21RegisterNSErrorChecksERNS0_11BugReporterERNS0_10ExprEngineERKNS_4DeclE", "clang::ento::RegisterNSErrorChecks(clang::ento::BugReporter&, clang::ento::ExprEngine&, clang::Decl const&)"},
-    {"_ZN12_GLOBAL__N_114NSErrorCheckerC1ERKN5clang4DeclEbRNS1_4ento10ExprEngineE", "(anonymous namespace)::NSErrorChecker::NSErrorChecker(clang::Decl const&, bool, clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_114NSErrorCheckerD1Ev", "(anonymous namespace)::NSErrorChecker::~NSErrorChecker()"},
-    {"_ZN12_GLOBAL__N_114NSErrorCheckerD0Ev", "(anonymous namespace)::NSErrorChecker::~NSErrorChecker()"},
-    {"_ZN12_GLOBAL__N_114NSErrorChecker12FlushReportsERN5clang4ento11BugReporterE", "(anonymous namespace)::NSErrorChecker::FlushReports(clang::ento::BugReporter&)"},
-    {"_ZN12_GLOBAL__N_114NSErrorChecker20CheckNSErrorArgumentEN5clang8QualTypeE", "(anonymous namespace)::NSErrorChecker::CheckNSErrorArgument(clang::QualType)"},
-    {"_ZN5clang4ento31RegisterNoReturnFunctionCheckerERNS0_10ExprEngineE", "clang::ento::RegisterNoReturnFunctionChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_123NoReturnFunctionCheckerD1Ev", "(anonymous namespace)::NoReturnFunctionChecker::~NoReturnFunctionChecker()"},
-    {"_ZN12_GLOBAL__N_123NoReturnFunctionCheckerD0Ev", "(anonymous namespace)::NoReturnFunctionChecker::~NoReturnFunctionChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_123NoReturnFunctionCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::NoReturnFunctionChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_123NoReturnFunctionCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::NoReturnFunctionChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_123NoReturnFunctionCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::NoReturnFunctionChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_123NoReturnFunctionCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::NoReturnFunctionChecker>::~CheckerVisitor()"},
-    {"_ZNK5clang4Decl7getAttrINS_20AnalyzerNoReturnAttrEEEPT_v", "clang::AnalyzerNoReturnAttr* clang::Decl::getAttr<clang::AnalyzerNoReturnAttr>() const"},
-    {"_ZN5clang4ento23RegisterOSAtomicCheckerERNS0_10ExprEngineE", "clang::ento::RegisterOSAtomicChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_115OSAtomicCheckerD1Ev", "(anonymous namespace)::OSAtomicChecker::~OSAtomicChecker()"},
-    {"_ZN12_GLOBAL__N_115OSAtomicCheckerD0Ev", "(anonymous namespace)::OSAtomicChecker::~OSAtomicChecker()"},
-    {"_ZN12_GLOBAL__N_115OSAtomicChecker12evalCallExprERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::OSAtomicChecker::evalCallExpr(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN5clang4ento25RegisterObjCAtSyncCheckerERNS0_10ExprEngineE", "clang::ento::RegisterObjCAtSyncChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_117ObjCAtSyncCheckerD1Ev", "(anonymous namespace)::ObjCAtSyncChecker::~ObjCAtSyncChecker()"},
-    {"_ZN12_GLOBAL__N_117ObjCAtSyncCheckerD0Ev", "(anonymous namespace)::ObjCAtSyncChecker::~ObjCAtSyncChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ObjCAtSyncCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ObjCAtSyncChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ObjCAtSyncCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ObjCAtSyncChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ObjCAtSyncCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ObjCAtSyncChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ObjCAtSyncCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ObjCAtSyncChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento27registerObjCSelfInitCheckerERNS0_10ExprEngineE", "clang::ento::registerObjCSelfInitChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_119ObjCSelfInitCheckerD1Ev", "(anonymous namespace)::ObjCSelfInitChecker::~ObjCSelfInitChecker()"},
-    {"_ZN12_GLOBAL__N_119ObjCSelfInitCheckerD0Ev", "(anonymous namespace)::ObjCSelfInitChecker::~ObjCSelfInitChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ObjCSelfInitCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ObjCSelfInitChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ObjCSelfInitCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ObjCSelfInitChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_119ObjCSelfInitChecker20postVisitObjCMessageERN5clang4ento14CheckerContextENS2_11ObjCMessageE", "(anonymous namespace)::ObjCSelfInitChecker::postVisitObjCMessage(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN12_GLOBAL__N_119ObjCSelfInitChecker13visitLocationERN5clang4ento14CheckerContextEPKNS1_4StmtENS2_4SValEb", "(anonymous namespace)::ObjCSelfInitChecker::visitLocation(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, bool)"},
-    {"_Z11addSelfFlagN5clang4ento4SValEN12_GLOBAL__N_112SelfFlagEnumERNS0_14CheckerContextE", "addSelfFlag(clang::ento::SVal, (anonymous namespace)::SelfFlagEnum, clang::ento::CheckerContext&)"},
-    {"_Z12getSelfFlagsN5clang4ento4SValERNS0_14CheckerContextE", "getSelfFlags(clang::ento::SVal, clang::ento::CheckerContext&)"},
-    {"_Z27shouldRunOnFunctionOrMethodPKN5clang9NamedDeclE", "shouldRunOnFunctionOrMethod(clang::NamedDecl const*)"},
-    {"_Z19checkForInvalidSelfPKN5clang4ExprERNS_4ento14CheckerContextEPKc", "checkForInvalidSelf(clang::Expr const*, clang::ento::CheckerContext&, char const*)"},
-    {"_ZN12_GLOBAL__N_111InitSelfBugD1Ev", "(anonymous namespace)::InitSelfBug::~InitSelfBug()"},
-    {"_ZN12_GLOBAL__N_111InitSelfBugD0Ev", "(anonymous namespace)::InitSelfBug::~InitSelfBug()"},
-    {"_ZN12_GLOBAL__N_119ObjCSelfInitChecker20PostVisitGenericCallERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::ObjCSelfInitChecker::PostVisitGenericCall(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_119ObjCSelfInitChecker19PreVisitGenericCallERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::ObjCSelfInitChecker::PreVisitGenericCall(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ObjCSelfInitCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ObjCSelfInitChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ObjCSelfInitCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ObjCSelfInitChecker>::~CheckerVisitor()"},
-    {"_ZNSt6vectorISt4pairIPvPN5clang4ento7CheckerEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<std::pair<void*, clang::ento::Checker*>, std::allocator<std::pair<void*, clang::ento::Checker*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<void*, clang::ento::Checker*>*, std::vector<std::pair<void*, clang::ento::Checker*>, std::allocator<std::pair<void*, clang::ento::Checker*> > > >, std::pair<void*, clang::ento::Checker*> const&)"},
-    {"_ZN5clang4ento7Checker19preVisitObjCMessageERNS0_14CheckerContextENS0_11ObjCMessageE", "clang::ento::Checker::preVisitObjCMessage(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN5clang4ento7Checker12PreVisitBindERNS0_14CheckerContextEPKNS_4StmtENS0_4SValES7_", "clang::ento::Checker::PreVisitBind(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, clang::ento::SVal)"},
-    {"_ZN5clang4ento7Checker15evalDeadSymbolsERNS0_14CheckerContextERNS0_12SymbolReaperE", "clang::ento::Checker::evalDeadSymbols(clang::ento::CheckerContext&, clang::ento::SymbolReaper&)"},
-    {"_ZN5clang4ento7Checker11evalEndPathERNS0_24EndOfFunctionNodeBuilderEPvRNS0_10ExprEngineE", "clang::ento::Checker::evalEndPath(clang::ento::EndOfFunctionNodeBuilder&, void*, clang::ento::ExprEngine&)"},
-    {"_ZN5clang4ento7Checker15MarkLiveSymbolsEPKNS0_7GRStateERNS0_12SymbolReaperE", "clang::ento::Checker::MarkLiveSymbols(clang::ento::GRState const*, clang::ento::SymbolReaper&)"},
-    {"_ZN5clang4ento7Checker20VisitBranchConditionERNS0_17BranchNodeBuilderERNS0_10ExprEngineEPKNS_4StmtEPv", "clang::ento::Checker::VisitBranchCondition(clang::ento::BranchNodeBuilder&, clang::ento::ExprEngine&, clang::Stmt const*, void*)"},
-    {"_ZN5clang4ento7Checker15evalNilReceiverERNS0_14CheckerContextENS0_11ObjCMessageE", "clang::ento::Checker::evalNilReceiver(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN5clang4ento7Checker12evalCallExprERNS0_14CheckerContextEPKNS_8CallExprE", "clang::ento::Checker::evalCallExpr(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN5clang4ento7Checker10evalAssumeEPKNS0_7GRStateENS0_4SValEbPb", "clang::ento::Checker::evalAssume(clang::ento::GRState const*, clang::ento::SVal, bool, bool*)"},
-    {"_ZN5clang4ento7Checker23wantsRegionChangeUpdateEPKNS0_7GRStateE", "clang::ento::Checker::wantsRegionChangeUpdate(clang::ento::GRState const*)"},
-    {"_ZN5clang4ento7Checker17EvalRegionChangesEPKNS0_7GRStateEPKPKNS0_9MemRegionES9_Pb", "clang::ento::Checker::EvalRegionChanges(clang::ento::GRState const*, clang::ento::MemRegion const* const*, clang::ento::MemRegion const* const*, bool*)"},
-    {"_ZN5clang4ento7Checker16VisitEndAnalysisERNS0_13ExplodedGraphERNS0_11BugReporterERNS0_10ExprEngineE", "clang::ento::Checker::VisitEndAnalysis(clang::ento::ExplodedGraph&, clang::ento::BugReporter&, clang::ento::ExprEngine&)"},
-    {"_ZN5clang4ento14CheckerContext13addTransitionEPKNS0_7GRStateEPKv", "clang::ento::CheckerContext::addTransition(clang::ento::GRState const*, void const*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::destroy()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEEESaISA_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSA_SC_EERKSA_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEEENS_12DenseMapInfoIjEENSB_ISA_EEE16InsertIntoBucketERKjRKSA_PSt4pairIjSA_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEEENS_12DenseMapInfoIjEENSB_ISA_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*> >::grow(unsigned int)"},
-    {"_ZN5clang4ento14GRStateManager3setIN4llvm12ImmutableMapIPKNS0_10SymbolDataEjNS3_16ImutKeyValueInfoIS7_jEEEEEEPKNS0_7GRStateESD_NS0_12GRStateTraitIT_E8key_typeENSG_10value_typeENSG_12context_typeE", "clang::ento::GRState const* clang::ento::GRStateManager::set<llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > >(clang::ento::GRState const*, clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > >::key_type, clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > >::value_type, clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > >::context_type)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEjNS2_16ImutKeyValueInfoIS6_jEEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEjNS2_16ImutKeyValueInfoIS6_jEEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > >::DeleteContext(void*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::~ImutAVLFactory()"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEjNS2_16ImutKeyValueInfoIS6_jEEEEE3SetES9_S6_jRNS9_7FactoryE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > >::Set(llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >, clang::ento::SymbolData const*, unsigned int, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::Factory&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE3addEPNS_11ImutAVLTreeIS7_EERKSt4pairIS6_jE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*, std::pair<clang::ento::SymbolData const*, unsigned int> const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS7_EERNS_26ImutAVLTreeInOrderIteratorIS7_EESE_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >&)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::operator++()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE12add_internalERKSt4pairIS6_jEPNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::add_internal(std::pair<clang::ento::SymbolData const*, unsigned int> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE13markImmutableEPNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE10createNodeEPNS_11ImutAVLTreeIS7_EERKSt4pairIS6_jESB_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*, std::pair<clang::ento::SymbolData const*, unsigned int> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE11balanceTreeEPNS_11ImutAVLTreeIS7_EERKSt4pairIS6_jESB_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*, std::pair<clang::ento::SymbolData const*, unsigned int> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >*)"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento19BugReportEquivClassEED1Ev", "llvm::FoldingSet<clang::ento::BugReportEquivClass>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento19BugReportEquivClassEED0Ev", "llvm::FoldingSet<clang::ento::BugReportEquivClass>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento19BugReportEquivClassEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::BugReportEquivClass>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento19BugReportEquivClassEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ento::BugReportEquivClass>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento19BugReportEquivClassEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::BugReportEquivClass>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento17EnhancedBugReportD1Ev", "clang::ento::EnhancedBugReport::~EnhancedBugReport()"},
-    {"_ZN5clang4ento17EnhancedBugReportD0Ev", "clang::ento::EnhancedBugReport::~EnhancedBugReport()"},
-    {"_ZN5clang4ento9BugReport24isOwnedByReporterContextEv", "clang::ento::BugReport::isOwnedByReporterContext()"},
-    {"_ZNK5clang4ento9BugReport7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::BugReport::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento9BugReport23getExtraDescriptiveTextEv", "clang::ento::BugReport::getExtraDescriptiveText()"},
-    {"_ZNK5clang4ento15RangedBugReport9getRangesEv", "clang::ento::RangedBugReport::getRanges() const"},
-    {"_ZN5clang4ento17EnhancedBugReport23registerInitialVisitorsERNS0_18BugReporterContextEPKNS0_12ExplodedNodeE", "clang::ento::EnhancedBugReport::registerInitialVisitors(clang::ento::BugReporterContext&, clang::ento::ExplodedNode const*)"},
-    {"_ZN5clang4ento9BugReport23registerInitialVisitorsERNS0_18BugReporterContextEPKNS0_12ExplodedNodeE", "clang::ento::BugReport::registerInitialVisitors(clang::ento::BugReporterContext&, clang::ento::ExplodedNode const*)"},
-    {"_ZN5clang4ento18BugReporterVisitor24isOwnedByReporterContextEv", "clang::ento::BugReporterVisitor::isOwnedByReporterContext()"},
-    {"_ZN5clang4ento7Checker20postVisitObjCMessageERNS0_14CheckerContextENS0_11ObjCMessageE", "clang::ento::Checker::postVisitObjCMessage(clang::ento::CheckerContext&, clang::ento::ObjCMessage)"},
-    {"_ZN5clang4ento7Checker13visitLocationERNS0_14CheckerContextEPKNS_4StmtENS0_4SValEb", "clang::ento::Checker::visitLocation(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, bool)"},
-    {"_ZN5clang4ento7Checker9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::Checker::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento7Checker10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::Checker::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento19CheckObjCUnusedIvarEPKNS_22ObjCImplementationDeclERNS0_11BugReporterE", "clang::ento::CheckObjCUnusedIvar(clang::ObjCImplementationDecl const*, clang::ento::BugReporter&)"},
-    {"_Z4ScanRN4llvm8DenseMapIPKN5clang12ObjCIvarDeclE9IVarStateNS_12DenseMapInfoIS4_EENS6_IS5_EEEEPKNS1_17ObjCContainerDeclE", "Scan(llvm::DenseMap<clang::ObjCIvarDecl const*, IVarState, llvm::DenseMapInfo<clang::ObjCIvarDecl const*>, llvm::DenseMapInfo<IVarState> >&, clang::ObjCContainerDecl const*)"},
-    {"_Z4ScanRN4llvm8DenseMapIPKN5clang12ObjCIvarDeclE9IVarStateNS_12DenseMapInfoIS4_EENS6_IS5_EEEEPKNS1_4StmtE", "Scan(llvm::DenseMap<clang::ObjCIvarDecl const*, IVarState, llvm::DenseMapInfo<clang::ObjCIvarDecl const*>, llvm::DenseMapInfo<IVarState> >&, clang::Stmt const*)"},
-    {"_ZNK5clang4Decl7getAttrINS_10UnusedAttrEEEPT_v", "clang::UnusedAttr* clang::Decl::getAttr<clang::UnusedAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_12IBOutletAttrEEEPT_v", "clang::IBOutletAttr* clang::Decl::getAttr<clang::IBOutletAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_22IBOutletCollectionAttrEEEPT_v", "clang::IBOutletCollectionAttr* clang::Decl::getAttr<clang::IBOutletCollectionAttr>() const"},
-    {"_ZN4llvm8DenseMapIPKN5clang12ObjCIvarDeclE9IVarStateNS_12DenseMapInfoIS4_EENS6_IS5_EEE16InsertIntoBucketERKS4_RKS5_PSt4pairIS4_S5_E", "llvm::DenseMap<clang::ObjCIvarDecl const*, IVarState, llvm::DenseMapInfo<clang::ObjCIvarDecl const*>, llvm::DenseMapInfo<IVarState> >::InsertIntoBucket(clang::ObjCIvarDecl const* const&, IVarState const&, std::pair<clang::ObjCIvarDecl const*, IVarState>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang12ObjCIvarDeclE9IVarStateNS_12DenseMapInfoIS4_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::ObjCIvarDecl const*, IVarState, llvm::DenseMapInfo<clang::ObjCIvarDecl const*>, llvm::DenseMapInfo<IVarState> >::grow(unsigned int)"},
-    {"_ZN5clang4ento27RegisterPointerArithCheckerERNS0_10ExprEngineE", "clang::ento::RegisterPointerArithChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_119PointerArithCheckerD1Ev", "(anonymous namespace)::PointerArithChecker::~PointerArithChecker()"},
-    {"_ZN12_GLOBAL__N_119PointerArithCheckerD0Ev", "(anonymous namespace)::PointerArithChecker::~PointerArithChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119PointerArithCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::PointerArithChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119PointerArithCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::PointerArithChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_119PointerArithChecker22PreVisitBinaryOperatorERN5clang4ento14CheckerContextEPKNS1_14BinaryOperatorE", "(anonymous namespace)::PointerArithChecker::PreVisitBinaryOperator(clang::ento::CheckerContext&, clang::BinaryOperator const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119PointerArithCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::PointerArithChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119PointerArithCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::PointerArithChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento25RegisterPointerSubCheckerERNS0_10ExprEngineE", "clang::ento::RegisterPointerSubChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_117PointerSubCheckerD1Ev", "(anonymous namespace)::PointerSubChecker::~PointerSubChecker()"},
-    {"_ZN12_GLOBAL__N_117PointerSubCheckerD0Ev", "(anonymous namespace)::PointerSubChecker::~PointerSubChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117PointerSubCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::PointerSubChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117PointerSubCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::PointerSubChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_117PointerSubChecker22PreVisitBinaryOperatorERN5clang4ento14CheckerContextEPKNS1_14BinaryOperatorE", "(anonymous namespace)::PointerSubChecker::PreVisitBinaryOperator(clang::ento::CheckerContext&, clang::BinaryOperator const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117PointerSubCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::PointerSubChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117PointerSubCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::PointerSubChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento26RegisterPthreadLockCheckerERNS0_10ExprEngineE", "clang::ento::RegisterPthreadLockChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_118PthreadLockCheckerD1Ev", "(anonymous namespace)::PthreadLockChecker::~PthreadLockChecker()"},
-    {"_ZN12_GLOBAL__N_118PthreadLockCheckerD0Ev", "(anonymous namespace)::PthreadLockChecker::~PthreadLockChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118PthreadLockCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::PthreadLockChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118PthreadLockCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::PthreadLockChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_118PthreadLockChecker11AcquireLockERN5clang4ento14CheckerContextEPKNS1_8CallExprENS2_4SValEb", "(anonymous namespace)::PthreadLockChecker::AcquireLock(clang::ento::CheckerContext&, clang::CallExpr const*, clang::ento::SVal, bool)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118PthreadLockCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::PthreadLockChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118PthreadLockCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::PthreadLockChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableSetIPKNS0_9MemRegionENS2_17ImutContainerInfoIS6_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableSetIPKNS0_9MemRegionENS2_17ImutContainerInfoIS6_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> > >::DeleteContext(void*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE6removeEPNS_11ImutAVLTreeIS7_EES6_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::remove(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, clang::ento::MemRegion const*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE15remove_internalES6_PNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::remove_internal(clang::ento::MemRegion const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE16removeMinBindingEPNS_11ImutAVLTreeIS7_EERSB_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*&)"},
-    {"_ZN5clang4ento33RegisterReturnPointerRangeCheckerERNS0_10ExprEngineE", "clang::ento::RegisterReturnPointerRangeChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_125ReturnPointerRangeCheckerD1Ev", "(anonymous namespace)::ReturnPointerRangeChecker::~ReturnPointerRangeChecker()"},
-    {"_ZN12_GLOBAL__N_125ReturnPointerRangeCheckerD0Ev", "(anonymous namespace)::ReturnPointerRangeChecker::~ReturnPointerRangeChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_125ReturnPointerRangeCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ReturnPointerRangeChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_125ReturnPointerRangeCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ReturnPointerRangeChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_125ReturnPointerRangeCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ReturnPointerRangeChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_125ReturnPointerRangeCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ReturnPointerRangeChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento26RegisterReturnUndefCheckerERNS0_10ExprEngineE", "clang::ento::RegisterReturnUndefChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_118ReturnUndefCheckerD1Ev", "(anonymous namespace)::ReturnUndefChecker::~ReturnUndefChecker()"},
-    {"_ZN12_GLOBAL__N_118ReturnUndefCheckerD0Ev", "(anonymous namespace)::ReturnUndefChecker::~ReturnUndefChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118ReturnUndefCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ReturnUndefChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118ReturnUndefCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::ReturnUndefChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118ReturnUndefCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ReturnUndefChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118ReturnUndefCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::ReturnUndefChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento28RegisterStackAddrLeakCheckerERNS0_10ExprEngineE", "clang::ento::RegisterStackAddrLeakChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_120StackAddrLeakCheckerD1Ev", "(anonymous namespace)::StackAddrLeakChecker::~StackAddrLeakChecker()"},
-    {"_ZN12_GLOBAL__N_120StackAddrLeakCheckerD0Ev", "(anonymous namespace)::StackAddrLeakChecker::~StackAddrLeakChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120StackAddrLeakCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::StackAddrLeakChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120StackAddrLeakCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::StackAddrLeakChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_120StackAddrLeakChecker11evalEndPathERN5clang4ento24EndOfFunctionNodeBuilderEPvRNS2_10ExprEngineE", "(anonymous namespace)::StackAddrLeakChecker::evalEndPath(clang::ento::EndOfFunctionNodeBuilder&, void*, clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_120StackAddrLeakChecker7GenNameERN4llvm11raw_ostreamEPKN5clang4ento9MemRegionERNS4_13SourceManagerE", "(anonymous namespace)::StackAddrLeakChecker::GenName(llvm::raw_ostream&, clang::ento::MemRegion const*, clang::SourceManager&)"},
-    {"_ZZN12_GLOBAL__N_120StackAddrLeakChecker11evalEndPathERN5clang4ento24EndOfFunctionNodeBuilderEPvRNS2_10ExprEngineEEN8CallBackD1Ev", "(anonymous namespace)::StackAddrLeakChecker::evalEndPath(clang::ento::EndOfFunctionNodeBuilder&, void*, clang::ento::ExprEngine&)::CallBack::~CallBack()"},
-    {"_ZZN12_GLOBAL__N_120StackAddrLeakChecker11evalEndPathERN5clang4ento24EndOfFunctionNodeBuilderEPvRNS2_10ExprEngineEEN8CallBackD0Ev", "(anonymous namespace)::StackAddrLeakChecker::evalEndPath(clang::ento::EndOfFunctionNodeBuilder&, void*, clang::ento::ExprEngine&)::CallBack::~CallBack()"},
-    {"_ZZN12_GLOBAL__N_120StackAddrLeakChecker11evalEndPathERN5clang4ento24EndOfFunctionNodeBuilderEPvRNS2_10ExprEngineEEN8CallBack13HandleBindingERNS2_12StoreManagerEPKvPKNS2_9MemRegionENS2_4SValE", "(anonymous namespace)::StackAddrLeakChecker::evalEndPath(clang::ento::EndOfFunctionNodeBuilder&, void*, clang::ento::ExprEngine&)::CallBack::HandleBinding(clang::ento::StoreManager&, void const*, clang::ento::MemRegion const*, clang::ento::SVal)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120StackAddrLeakCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::StackAddrLeakChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120StackAddrLeakCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::StackAddrLeakChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento21RegisterStreamCheckerERNS0_10ExprEngineE", "clang::ento::RegisterStreamChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_113StreamCheckerD1Ev", "(anonymous namespace)::StreamChecker::~StreamChecker()"},
-    {"_ZN12_GLOBAL__N_113StreamCheckerD0Ev", "(anonymous namespace)::StreamChecker::~StreamChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113StreamCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::StreamChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113StreamCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::StreamChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_113StreamChecker15evalDeadSymbolsERN5clang4ento14CheckerContextERNS2_12SymbolReaperE", "(anonymous namespace)::StreamChecker::evalDeadSymbols(clang::ento::CheckerContext&, clang::ento::SymbolReaper&)"},
-    {"_ZN12_GLOBAL__N_113StreamChecker11evalEndPathERN5clang4ento24EndOfFunctionNodeBuilderEPvRNS2_10ExprEngineE", "(anonymous namespace)::StreamChecker::evalEndPath(clang::ento::EndOfFunctionNodeBuilder&, void*, clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_113StreamChecker12evalCallExprERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::StreamChecker::evalCallExpr(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_113StreamChecker15CheckNullStreamEN5clang4ento4SValEPKNS2_7GRStateERNS2_14CheckerContextE", "(anonymous namespace)::StreamChecker::CheckNullStream(clang::ento::SVal, clang::ento::GRState const*, clang::ento::CheckerContext&)"},
-    {"_ZNK5clang4ento7GRState3setIN12_GLOBAL__N_111StreamStateEEEPKS1_NS0_12GRStateTraitIT_E8key_typeENS9_10value_typeE", "clang::ento::GRState const* clang::ento::GRState::set<(anonymous namespace)::StreamState>(clang::ento::GRStateTrait<(anonymous namespace)::StreamState>::key_type, clang::ento::GRStateTrait<(anonymous namespace)::StreamState>::value_type) const"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_111StreamStateENS2_16ImutKeyValueInfoIS6_S8_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::StreamState, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_111StreamStateENS2_16ImutKeyValueInfoIS6_S8_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::StreamState, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> > >::DeleteContext(void*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >::destroy()"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEEENS_12DenseMapInfoIjEENSD_ISC_EEEixERKj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*> >::operator[](unsigned int const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEEESaISC_EE9push_backERKSC_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*> >::push_back(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >* const&)"},
-    {"_ZN4llvm26ImutAVLTreeInOrderIteratorINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEEppEv", "llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >::operator++()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEE12add_internalERKSt4pairIS6_S8_EPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >::add_internal(std::pair<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEE13markImmutableEPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEE10createNodeEPNS_11ImutAVLTreeIS9_EERKSt4pairIS6_S8_ESD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*, std::pair<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_111StreamStateEEEE11balanceTreeEPNS_11ImutAVLTreeIS9_EERKSt4pairIS6_S8_ESD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*, std::pair<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::StreamState> >*)"},
-    {"_ZN12_GLOBAL__N_113StreamChecker11OpenFileAuxERN5clang4ento14CheckerContextEPKNS1_8CallExprE", "(anonymous namespace)::StreamChecker::OpenFileAux(clang::ento::CheckerContext&, clang::CallExpr const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113StreamCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::StreamChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113StreamCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::StreamChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento26RegisterUndefBranchCheckerERNS0_10ExprEngineE", "clang::ento::RegisterUndefBranchChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_118UndefBranchCheckerD1Ev", "(anonymous namespace)::UndefBranchChecker::~UndefBranchChecker()"},
-    {"_ZN12_GLOBAL__N_118UndefBranchCheckerD0Ev", "(anonymous namespace)::UndefBranchChecker::~UndefBranchChecker()"},
-    {"_ZN12_GLOBAL__N_118UndefBranchChecker20VisitBranchConditionERN5clang4ento17BranchNodeBuilderERNS2_10ExprEngineEPKNS1_4StmtEPv", "(anonymous namespace)::UndefBranchChecker::VisitBranchCondition(clang::ento::BranchNodeBuilder&, clang::ento::ExprEngine&, clang::Stmt const*, void*)"},
-    {"_ZN12_GLOBAL__N_118UndefBranchChecker13FindUndefExpr8FindExprEPKN5clang4ExprE", "(anonymous namespace)::UndefBranchChecker::FindUndefExpr::FindExpr(clang::Expr const*)"},
-    {"_ZN5clang4ento36RegisterUndefCapturedBlockVarCheckerERNS0_10ExprEngineE", "clang::ento::RegisterUndefCapturedBlockVarChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_128UndefCapturedBlockVarCheckerD1Ev", "(anonymous namespace)::UndefCapturedBlockVarChecker::~UndefCapturedBlockVarChecker()"},
-    {"_ZN12_GLOBAL__N_128UndefCapturedBlockVarCheckerD0Ev", "(anonymous namespace)::UndefCapturedBlockVarChecker::~UndefCapturedBlockVarChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_128UndefCapturedBlockVarCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefCapturedBlockVarChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_128UndefCapturedBlockVarCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefCapturedBlockVarChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_Z20FindBlockDeclRefExprPKN5clang4StmtEPKNS_7VarDeclE", "FindBlockDeclRefExpr(clang::Stmt const*, clang::VarDecl const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_128UndefCapturedBlockVarCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefCapturedBlockVarChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_128UndefCapturedBlockVarCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefCapturedBlockVarChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento26RegisterUndefResultCheckerERNS0_10ExprEngineE", "clang::ento::RegisterUndefResultChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_118UndefResultCheckerD1Ev", "(anonymous namespace)::UndefResultChecker::~UndefResultChecker()"},
-    {"_ZN12_GLOBAL__N_118UndefResultCheckerD0Ev", "(anonymous namespace)::UndefResultChecker::~UndefResultChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118UndefResultCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefResultChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118UndefResultCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefResultChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_118UndefResultChecker23PostVisitBinaryOperatorERN5clang4ento14CheckerContextEPKNS1_14BinaryOperatorE", "(anonymous namespace)::UndefResultChecker::PostVisitBinaryOperator(clang::ento::CheckerContext&, clang::BinaryOperator const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118UndefResultCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefResultChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118UndefResultCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefResultChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento38RegisterUndefinedArraySubscriptCheckerERNS0_10ExprEngineE", "clang::ento::RegisterUndefinedArraySubscriptChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_130UndefinedArraySubscriptCheckerD1Ev", "(anonymous namespace)::UndefinedArraySubscriptChecker::~UndefinedArraySubscriptChecker()"},
-    {"_ZN12_GLOBAL__N_130UndefinedArraySubscriptCheckerD0Ev", "(anonymous namespace)::UndefinedArraySubscriptChecker::~UndefinedArraySubscriptChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_130UndefinedArraySubscriptCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedArraySubscriptChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_130UndefinedArraySubscriptCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedArraySubscriptChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_130UndefinedArraySubscriptCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedArraySubscriptChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_130UndefinedArraySubscriptCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedArraySubscriptChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento34RegisterUndefinedAssignmentCheckerERNS0_10ExprEngineE", "clang::ento::RegisterUndefinedAssignmentChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_126UndefinedAssignmentCheckerD1Ev", "(anonymous namespace)::UndefinedAssignmentChecker::~UndefinedAssignmentChecker()"},
-    {"_ZN12_GLOBAL__N_126UndefinedAssignmentCheckerD0Ev", "(anonymous namespace)::UndefinedAssignmentChecker::~UndefinedAssignmentChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126UndefinedAssignmentCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedAssignmentChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126UndefinedAssignmentCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedAssignmentChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_126UndefinedAssignmentChecker12PreVisitBindERN5clang4ento14CheckerContextEPKNS1_4StmtENS2_4SValES8_", "(anonymous namespace)::UndefinedAssignmentChecker::PreVisitBind(clang::ento::CheckerContext&, clang::Stmt const*, clang::ento::SVal, clang::ento::SVal)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126UndefinedAssignmentCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedAssignmentChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126UndefinedAssignmentCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedAssignmentChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento22RegisterUnixAPICheckerERNS0_10ExprEngineE", "clang::ento::RegisterUnixAPIChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_114UnixAPICheckerD1Ev", "(anonymous namespace)::UnixAPIChecker::~UnixAPIChecker()"},
-    {"_ZN12_GLOBAL__N_114UnixAPICheckerD0Ev", "(anonymous namespace)::UnixAPIChecker::~UnixAPIChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114UnixAPICheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UnixAPIChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114UnixAPICheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::UnixAPIChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_Z9CheckOpenRN5clang4ento14CheckerContextERN12_GLOBAL__N_114UnixAPICheckerEPKNS_8CallExprERPNS0_7BugTypeE", "CheckOpen(clang::ento::CheckerContext&, (anonymous namespace)::UnixAPIChecker&, clang::CallExpr const*, clang::ento::BugType*&)"},
-    {"_Z16CheckPthreadOnceRN5clang4ento14CheckerContextERN12_GLOBAL__N_114UnixAPICheckerEPKNS_8CallExprERPNS0_7BugTypeE", "CheckPthreadOnce(clang::ento::CheckerContext&, (anonymous namespace)::UnixAPIChecker&, clang::CallExpr const*, clang::ento::BugType*&)"},
-    {"_Z15CheckMallocZeroRN5clang4ento14CheckerContextERN12_GLOBAL__N_114UnixAPICheckerEPKNS_8CallExprERPNS0_7BugTypeE", "CheckMallocZero(clang::ento::CheckerContext&, (anonymous namespace)::UnixAPIChecker&, clang::CallExpr const*, clang::ento::BugType*&)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114UnixAPICheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UnixAPIChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114UnixAPICheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::UnixAPIChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento30RegisterUnreachableCodeCheckerERNS0_10ExprEngineE", "clang::ento::RegisterUnreachableCodeChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_122UnreachableCodeCheckerD1Ev", "(anonymous namespace)::UnreachableCodeChecker::~UnreachableCodeChecker()"},
-    {"_ZN12_GLOBAL__N_122UnreachableCodeCheckerD0Ev", "(anonymous namespace)::UnreachableCodeChecker::~UnreachableCodeChecker()"},
-    {"_ZN12_GLOBAL__N_122UnreachableCodeChecker16VisitEndAnalysisERN5clang4ento13ExplodedGraphERNS2_11BugReporterERNS2_10ExprEngineE", "(anonymous namespace)::UnreachableCodeChecker::VisitEndAnalysis(clang::ento::ExplodedGraph&, clang::ento::BugReporter&, clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_122UnreachableCodeChecker26FindUnreachableEntryPointsEPKN5clang8CFGBlockE", "(anonymous namespace)::UnreachableCodeChecker::FindUnreachableEntryPoints(clang::CFGBlock const*)"},
-    {"_ZN4llvm8SmallSetIjLj256EE6insertERKj", "llvm::SmallSet<unsigned int, 256u>::insert(unsigned int const&)"},
-    {"_ZN5clang4ento12containsStmtINS_17SizeOfAlignOfExprEEEbPKNS_4StmtE", "bool clang::ento::containsStmt<clang::SizeOfAlignOfExpr>(clang::Stmt const*)"},
-    {"_ZN5clang4ento22RegisterVLASizeCheckerERNS0_10ExprEngineE", "clang::ento::RegisterVLASizeChecker(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_114VLASizeCheckerD1Ev", "(anonymous namespace)::VLASizeChecker::~VLASizeChecker()"},
-    {"_ZN12_GLOBAL__N_114VLASizeCheckerD0Ev", "(anonymous namespace)::VLASizeChecker::~VLASizeChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114VLASizeCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::VLASizeChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114VLASizeCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::VLASizeChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114VLASizeCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::VLASizeChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114VLASizeCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::VLASizeChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento10ExprEngine12VisitAggExprEPKNS_4ExprEPKNS0_9MemRegionEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitAggExpr(clang::Expr const*, clang::ento::MemRegion const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_114AggExprVisitorEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::AggExprVisitor, void>::Visit(clang::Stmt*)"},
-    {"_ZN5clang4ento15AnalysisManager29getAnalysisContextInAnotherTUEPKNS_4DeclE", "clang::ento::AnalysisManager::getAnalysisContextInAnotherTU(clang::Decl const*)"},
-    {"_ZN5clang4ento28CreateBasicConstraintManagerERNS0_14GRStateManagerERNS0_9SubEngineE", "clang::ento::CreateBasicConstraintManager(clang::ento::GRStateManager&, clang::ento::SubEngine&)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManagerD1Ev", "(anonymous namespace)::BasicConstraintManager::~BasicConstraintManager()"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManagerD0Ev", "(anonymous namespace)::BasicConstraintManager::~BasicConstraintManager()"},
-    {"_ZNK12_GLOBAL__N_122BasicConstraintManager9getSymValEPKN5clang4ento7GRStateEPKNS2_10SymbolDataE", "(anonymous namespace)::BasicConstraintManager::getSymVal(clang::ento::GRState const*, clang::ento::SymbolData const*) const"},
-    {"_ZNK12_GLOBAL__N_122BasicConstraintManager7isEqualEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntE", "(anonymous namespace)::BasicConstraintManager::isEqual(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&) const"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager18removeDeadBindingsEPKN5clang4ento7GRStateERNS2_12SymbolReaperE", "(anonymous namespace)::BasicConstraintManager::removeDeadBindings(clang::ento::GRState const*, clang::ento::SymbolReaper&)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager5printEPKN5clang4ento7GRStateERN4llvm11raw_ostreamEPKcSA_", "(anonymous namespace)::BasicConstraintManager::print(clang::ento::GRState const*, llvm::raw_ostream&, char const*, char const*)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager11assumeSymNEEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::BasicConstraintManager::assumeSymNE(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager11assumeSymEQEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::BasicConstraintManager::assumeSymEQ(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager11assumeSymLTEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::BasicConstraintManager::assumeSymLT(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager11assumeSymGTEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::BasicConstraintManager::assumeSymGT(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager11assumeSymLEEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::BasicConstraintManager::assumeSymLE(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager11assumeSymGEEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::BasicConstraintManager::assumeSymGE(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122BasicConstraintManager5AddEQEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntE", "(anonymous namespace)::BasicConstraintManager::AddEQ(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&)"},
-    {"_ZNK5clang4ento7GRState3getIN12_GLOBAL__N_110ConstNotEqEEENS0_12GRStateTraitIT_E11lookup_typeENS7_8key_typeE", "clang::ento::GRStateTrait<(anonymous namespace)::ConstNotEq>::lookup_type clang::ento::GRState::get<(anonymous namespace)::ConstNotEq>(clang::ento::GRStateTrait<(anonymous namespace)::ConstNotEq>::key_type) const"},
-    {"_ZNK5clang4ento7GRState3getIN12_GLOBAL__N_17ConstEqEEENS0_12GRStateTraitIT_E11lookup_typeENS7_8key_typeE", "clang::ento::GRStateTrait<(anonymous namespace)::ConstEq>::lookup_type clang::ento::GRState::get<(anonymous namespace)::ConstEq>(clang::ento::GRStateTrait<(anonymous namespace)::ConstEq>::key_type) const"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEPKNS2_6APSIntENS2_16ImutKeyValueInfoIS6_S9_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::APSInt const*, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEPKNS2_6APSIntENS2_16ImutKeyValueInfoIS6_S9_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::APSInt const*, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> > >::DeleteContext(void*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::~ImutAVLFactory()"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEPKNS2_6APSIntENS2_16ImutKeyValueInfoIS6_S9_EEEEE3SetESC_S6_S9_RNSC_7FactoryE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::APSInt const*, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> > >::Set(llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::APSInt const*, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >, clang::ento::SymbolData const*, llvm::APSInt const*, llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::APSInt const*, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::Factory&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::destroy()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS0_6APSIntEEEEESaISD_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSD_SF_EERKSD_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEEENS_12DenseMapInfoIjEENSE_ISD_EEE16InsertIntoBucketERKjRKSD_PSt4pairIjSD_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEEENS_12DenseMapInfoIjEENSE_ISD_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE3addEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_E", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, std::pair<clang::ento::SymbolData const*, llvm::APSInt const*> const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE16getCanonicalTreeEPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeISA_EERNS_26ImutAVLTreeInOrderIteratorISA_EESH_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >&)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::operator++()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE12add_internalERKSt4pairIS6_S9_EPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::add_internal(std::pair<clang::ento::SymbolData const*, llvm::APSInt const*> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE13markImmutableEPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE10createNodeEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_ESE_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, std::pair<clang::ento::SymbolData const*, llvm::APSInt const*> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE11balanceTreeEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_ESE_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, std::pair<clang::ento::SymbolData const*, llvm::APSInt const*> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataENS2_12ImmutableSetIPNS2_6APSIntENS2_17ImutContainerInfoIS9_EEEENS2_16ImutKeyValueInfoIS6_SC_EEEEE6LookupESF_S6_", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > > >::Lookup(llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >, clang::ento::SymbolData const*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::destroy()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS0_12ImmutableSetIPNS0_6APSIntENS0_17ImutContainerInfoISA_EEEEEEEESaISG_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSG_SI_EERKSG_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoISA_EEEEEEEENS_12DenseMapInfoIjEENSH_ISG_EEE16InsertIntoBucketERKjRKSG_PSt4pairIjSG_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoISA_EEEEEEEENS_12DenseMapInfoIjEENSH_ISG_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*> >::grow(unsigned int)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataENS2_12ImmutableSetIPNS2_6APSIntENS2_17ImutContainerInfoIS9_EEEENS2_16ImutKeyValueInfoIS6_SC_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataENS2_12ImmutableSetIPNS2_6APSIntENS2_17ImutContainerInfoIS9_EEEENS2_16ImutKeyValueInfoIS6_SC_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > > >::DeleteContext(void*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::~ImutAVLFactory()"},
-    {"_ZN4llvm12ImmutableMapIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS8_EEEENS_16ImutKeyValueInfoIS5_SB_EEE7Factory3addESE_RKS5_RKSB_", "llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::Factory::add(llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >, clang::ento::SymbolData const* const&, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE3addEPNS_11ImutAVLTreeISD_EERKSt4pairIS6_SC_E", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, std::pair<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE16getCanonicalTreeEPNS_11ImutAVLTreeISD_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeISD_EERNS_26ImutAVLTreeInOrderIteratorISD_EESK_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >&)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::operator++()"},
-    {"_ZNK4llvm11ImutAVLTreeINS_17ImutContainerInfoIPNS_6APSIntEEEE7isEqualERKS5_", "llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >::isEqual(llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> > const&) const"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_17ImutContainerInfoIPNS_6APSIntEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutContainerInfo<llvm::APSInt*> >::operator++()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE12add_internalERKSt4pairIS6_SC_EPNS_11ImutAVLTreeISD_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::add_internal(std::pair<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE13markImmutableEPNS_11ImutAVLTreeISD_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE10createNodeEPNS_11ImutAVLTreeISD_EERKSt4pairIS6_SC_ESH_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, std::pair<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE11balanceTreeEPNS_11ImutAVLTreeISD_EERKSt4pairIS6_SC_ESH_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, std::pair<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_17ImutContainerInfoIPNS_6APSIntEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >::destroy()"},
-    {"_ZN4llvm11ImutAVLTreeINS_17ImutContainerInfoIPNS_6APSIntEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_17ImutContainerInfoIPNS0_6APSIntEEEEESaIS7_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS7_S9_EERKS7_", "std::vector<llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >**, std::vector<llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*> > >, llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_17ImutContainerInfoIPNS_6APSIntEEEEENS_12DenseMapInfoIjEENS8_IS7_EEE16InsertIntoBucketERKjRKS7_PSt4pairIjS7_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_17ImutContainerInfoIPNS_6APSIntEEEEENS_12DenseMapInfoIjEENS8_IS7_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPNS_6APSIntEEEE3addEPNS_11ImutAVLTreeIS4_EEPKS2_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<llvm::APSInt*> >::add(llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*, llvm::APSInt const*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPNS_6APSIntEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS4_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<llvm::APSInt*> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPNS_6APSIntEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS4_EERNS_26ImutAVLTreeInOrderIteratorIS4_EESB_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<llvm::APSInt*> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutContainerInfo<llvm::APSInt*> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutContainerInfo<llvm::APSInt*> >&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPNS_6APSIntEEEE12add_internalEPKS2_PNS_11ImutAVLTreeIS4_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<llvm::APSInt*> >::add_internal(llvm::APSInt const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPNS_6APSIntEEEE13markImmutableEPNS_11ImutAVLTreeIS4_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<llvm::APSInt*> >::markImmutable(llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPNS_6APSIntEEEE10createNodeEPNS_11ImutAVLTreeIS4_EEPKS2_S8_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<llvm::APSInt*> >::createNode(llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*, llvm::APSInt const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPNS_6APSIntEEEE11balanceTreeEPNS_11ImutAVLTreeIS4_EEPKS2_S8_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<llvm::APSInt*> >::balanceTree(llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*, llvm::APSInt const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<llvm::APSInt*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE6removeEPNS_11ImutAVLTreeISD_EERKS6_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::remove(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, clang::ento::SymbolData const* const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE15remove_internalERKS6_PNS_11ImutAVLTreeISD_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::remove_internal(clang::ento::SymbolData const* const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableSetIPNS_6APSIntENS_17ImutContainerInfoIS9_EEEEEEE16removeMinBindingEPNS_11ImutAVLTreeISD_EERSH_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableSet<llvm::APSInt*, llvm::ImutContainerInfo<llvm::APSInt*> > > >*&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE6removeEPNS_11ImutAVLTreeISA_EERKS6_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::remove(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, clang::ento::SymbolData const* const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE15remove_internalERKS6_PNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::remove_internal(clang::ento::SymbolData const* const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEPKNS_6APSIntEEEE16removeMinBindingEPNS_11ImutAVLTreeISA_EERSE_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >*&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEPKNS2_6APSIntENS2_16ImutKeyValueInfoIS6_S9_EEEEE6LookupESC_S6_", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::APSInt const*, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> > >::Lookup(llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::APSInt const*, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::APSInt const*> >, clang::ento::SymbolData const*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPNS_6APSIntEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<llvm::APSInt*> >::~ImutAVLFactory()"},
-    {"_ZN5clang4ento23CreateBasicStoreManagerERNS0_14GRStateManagerE", "clang::ento::CreateBasicStoreManager(clang::ento::GRStateManager&)"},
-    {"_ZN5clang4ento12StoreManager15BindingsHandlerD0Ev", "clang::ento::StoreManager::BindingsHandler::~BindingsHandler()"},
-    {"_ZN5clang4ento12StoreManager15BindingsHandlerD1Ev", "clang::ento::StoreManager::BindingsHandler::~BindingsHandler()"},
-    {"_ZN5clang4ento12StoreManager15BindingsHandlerD2Ev", "clang::ento::StoreManager::BindingsHandler::~BindingsHandler()"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManagerD1Ev", "(anonymous namespace)::BasicStoreManager::~BasicStoreManager()"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManagerD0Ev", "(anonymous namespace)::BasicStoreManager::~BasicStoreManager()"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager8RetrieveEPKvN5clang4ento3LocENS3_8QualTypeE", "(anonymous namespace)::BasicStoreManager::Retrieve(void const*, clang::ento::Loc, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager4BindEPKvN5clang4ento3LocENS4_4SValE", "(anonymous namespace)::BasicStoreManager::Bind(void const*, clang::ento::Loc, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager6RemoveEPKvN5clang4ento3LocE", "(anonymous namespace)::BasicStoreManager::Remove(void const*, clang::ento::Loc)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager19BindCompoundLiteralEPKvPKN5clang19CompoundLiteralExprEPKNS3_15LocationContextENS3_4ento4SValE", "(anonymous namespace)::BasicStoreManager::BindCompoundLiteral(void const*, clang::CompoundLiteralExpr const*, clang::LocationContext const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager15getInitialStoreEPKN5clang15LocationContextE", "(anonymous namespace)::BasicStoreManager::getInitialStore(clang::LocationContext const*)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager15getSubRegionMapEPKv", "(anonymous namespace)::BasicStoreManager::getSubRegionMap(void const*)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager14ArrayToPointerEN5clang4ento3LocE", "(anonymous namespace)::BasicStoreManager::ArrayToPointer(clang::ento::Loc)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager18removeDeadBindingsEPKvPKN5clang17StackFrameContextERNS3_4ento12SymbolReaperERN4llvm15SmallVectorImplIPKNS7_9MemRegionEEE", "(anonymous namespace)::BasicStoreManager::removeDeadBindings(void const*, clang::StackFrameContext const*, clang::ento::SymbolReaper&, llvm::SmallVectorImpl<clang::ento::MemRegion const*>&)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager8BindDeclEPKvPKN5clang4ento9VarRegionENS4_4SValE", "(anonymous namespace)::BasicStoreManager::BindDecl(void const*, clang::ento::VarRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager18BindDeclWithNoInitEPKvPKN5clang4ento9VarRegionE", "(anonymous namespace)::BasicStoreManager::BindDeclWithNoInit(void const*, clang::ento::VarRegion const*)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager17InvalidateRegionsEPKvPKPKN5clang4ento9MemRegionES9_PKNS3_4ExprEjPN4llvm8DenseSetIPKNS4_10SymbolDataENSD_12DenseMapInfoISH_EEEEbPNSD_11SmallVectorIS7_Lj8EEE", "(anonymous namespace)::BasicStoreManager::InvalidateRegions(void const*, clang::ento::MemRegion const* const*, clang::ento::MemRegion const* const*, clang::Expr const*, unsigned int, llvm::DenseSet<clang::ento::SymbolData const*, llvm::DenseMapInfo<clang::ento::SymbolData const*> >*, bool, llvm::SmallVector<clang::ento::MemRegion const*, 8u>*)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager5printEPKvRN4llvm11raw_ostreamEPKcS7_", "(anonymous namespace)::BasicStoreManager::print(void const*, llvm::raw_ostream&, char const*, char const*)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager12iterBindingsEPKvRN5clang4ento12StoreManager15BindingsHandlerE", "(anonymous namespace)::BasicStoreManager::iterBindings(void const*, clang::ento::StoreManager::BindingsHandler&)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager16InvalidateRegionEPKvPKN5clang4ento9MemRegionEPKNS3_4ExprEjPN4llvm8DenseSetIPKNS4_10SymbolDataENSB_12DenseMapInfoISF_EEEE", "(anonymous namespace)::BasicStoreManager::InvalidateRegion(void const*, clang::ento::MemRegion const*, clang::Expr const*, unsigned int, llvm::DenseSet<clang::ento::SymbolData const*, llvm::DenseMapInfo<clang::ento::SymbolData const*> >*)"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager16BindDeclInternalEPKvPKN5clang4ento9VarRegionEPNS4_4SValE", "(anonymous namespace)::BasicStoreManager::BindDeclInternal(void const*, clang::ento::VarRegion const*, clang::ento::SVal*)"},
-    {"_ZN12_GLOBAL__N_122BasicStoreSubRegionMapD1Ev", "(anonymous namespace)::BasicStoreSubRegionMap::~BasicStoreSubRegionMap()"},
-    {"_ZN12_GLOBAL__N_122BasicStoreSubRegionMapD0Ev", "(anonymous namespace)::BasicStoreSubRegionMap::~BasicStoreSubRegionMap()"},
-    {"_ZNK12_GLOBAL__N_122BasicStoreSubRegionMap14iterSubRegionsEPKN5clang4ento9MemRegionERNS2_12SubRegionMap7VisitorE", "(anonymous namespace)::BasicStoreSubRegionMap::iterSubRegions(clang::ento::MemRegion const*, clang::ento::SubRegionMap::Visitor&) const"},
-    {"_ZN12_GLOBAL__N_117BasicStoreManager12scanForIvarsEPN5clang4StmtEPKNS1_4DeclEPKNS1_4ento9MemRegionEPKv", "(anonymous namespace)::BasicStoreManager::scanForIvars(clang::Stmt*, clang::Decl const*, clang::ento::MemRegion const*, void const*)"},
-    {"_ZN5clang4ento12StoreManager11BindDefaultEPKvPKNS0_9MemRegionENS0_4SValE", "clang::ento::StoreManager::BindDefault(void const*, clang::ento::MemRegion const*, clang::ento::SVal)"},
-    {"_ZN5clang4ento12StoreManager12getLValueVarEPKNS_7VarDeclEPKNS_15LocationContextE", "clang::ento::StoreManager::getLValueVar(clang::VarDecl const*, clang::LocationContext const*)"},
-    {"_ZN5clang4ento12StoreManager15getLValueStringEPKNS_13StringLiteralE", "clang::ento::StoreManager::getLValueString(clang::StringLiteral const*)"},
-    {"_ZN5clang4ento12StoreManager13getLValueIvarEPKNS_12ObjCIvarDeclENS0_4SValE", "clang::ento::StoreManager::getLValueIvar(clang::ObjCIvarDecl const*, clang::ento::SVal)"},
-    {"_ZN5clang4ento12StoreManager14getLValueFieldEPKNS_9FieldDeclENS0_4SValE", "clang::ento::StoreManager::getLValueField(clang::FieldDecl const*, clang::ento::SVal)"},
-    {"_ZN5clang4ento12StoreManager17getSizeInElementsEPKNS0_7GRStateEPKNS0_9MemRegionENS_8QualTypeE", "clang::ento::StoreManager::getSizeInElements(clang::ento::GRState const*, clang::ento::MemRegion const*, clang::QualType)"},
-    {"_ZN5clang4ento12StoreManager17evalDerivedToBaseENS0_4SValENS_8QualTypeE", "clang::ento::StoreManager::evalDerivedToBase(clang::ento::SVal, clang::QualType)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::destroy()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS4_4SValEEEEESaISB_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSB_SD_EERKSB_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >* const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE13computeDigestEPS9_SA_RKSt4pairIS6_S7_E", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::computeDigest(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, std::pair<clang::ento::MemRegion const*, clang::ento::SVal> const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS4_4SValEEEEENS_12DenseMapInfoIjEENSC_ISB_EEE16InsertIntoBucketERKjRKSB_PSt4pairIjSB_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS4_4SValEEEEENS_12DenseMapInfoIjEENSC_ISB_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::operator++()"},
-    {"_ZN5clang4ento12SubRegionMapD1Ev", "clang::ento::SubRegionMap::~SubRegionMap()"},
-    {"_ZN5clang4ento12SubRegionMapD0Ev", "clang::ento::SubRegionMap::~SubRegionMap()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE6removeEPNS_11ImutAVLTreeIS8_EERKS6_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::remove(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, clang::ento::MemRegion const* const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS8_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS8_EERNS_26ImutAVLTreeInOrderIteratorIS8_EESF_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE15remove_internalERKS6_PNS_11ImutAVLTreeIS8_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::remove_internal(clang::ento::MemRegion const* const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE13markImmutableEPNS_11ImutAVLTreeIS8_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE11balanceTreeEPNS_11ImutAVLTreeIS8_EERKSt4pairIS6_S7_ESC_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, std::pair<clang::ento::MemRegion const*, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE10createNodeEPNS_11ImutAVLTreeIS8_EERKSt4pairIS6_S7_ESC_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, std::pair<clang::ento::MemRegion const*, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE16removeMinBindingEPNS_11ImutAVLTreeIS8_EERSC_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE3addEPNS_11ImutAVLTreeIS8_EERKSt4pairIS6_S7_E", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*, std::pair<clang::ento::MemRegion const*, clang::ento::SVal> const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEE12add_internalERKSt4pairIS6_S7_EPNS_11ImutAVLTreeIS8_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::add_internal(std::pair<clang::ento::MemRegion const*, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >*)"},
-    {"_ZN5clang4ento12StoreManagerD1Ev", "clang::ento::StoreManager::~StoreManager()"},
-    {"_ZN5clang4ento12StoreManagerD0Ev", "clang::ento::StoreManager::~StoreManager()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS3_4SValEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, clang::ento::SVal> >::~ImutAVLFactory()"},
-    {"_ZN5clang4ento15CompoundValData7ProfileERN4llvm16FoldingSetNodeIDENS_8QualTypeENS2_13ImmutableListINS0_4SValEEE", "clang::ento::CompoundValData::Profile(llvm::FoldingSetNodeID&, clang::QualType, llvm::ImmutableList<clang::ento::SVal>)"},
-    {"_ZN5clang4ento19LazyCompoundValData7ProfileERN4llvm16FoldingSetNodeIDEPKvPKNS0_11TypedRegionE", "clang::ento::LazyCompoundValData::Profile(llvm::FoldingSetNodeID&, void const*, clang::ento::TypedRegion const*)"},
-    {"_ZN5clang4ento17BasicValueFactoryD1Ev", "clang::ento::BasicValueFactory::~BasicValueFactory()"},
-    {"_ZN5clang4ento17BasicValueFactoryD2Ev", "clang::ento::BasicValueFactory::~BasicValueFactory()"},
-    {"_ZN5clang4ento17BasicValueFactory8getValueERKN4llvm6APSIntE", "clang::ento::BasicValueFactory::getValue(llvm::APSInt const&)"},
-    {"_ZN5clang4ento17BasicValueFactory8getValueERKN4llvm5APIntEb", "clang::ento::BasicValueFactory::getValue(llvm::APInt const&, bool)"},
-    {"_ZN5clang4ento17BasicValueFactory8getValueEyjb", "clang::ento::BasicValueFactory::getValue(unsigned long long, unsigned int, bool)"},
-    {"_ZN5clang4ento17BasicValueFactory8getValueEyNS_8QualTypeE", "clang::ento::BasicValueFactory::getValue(unsigned long long, clang::QualType)"},
-    {"_ZN5clang4ento17BasicValueFactory18getCompoundValDataENS_8QualTypeEN4llvm13ImmutableListINS0_4SValEEE", "clang::ento::BasicValueFactory::getCompoundValData(clang::QualType, llvm::ImmutableList<clang::ento::SVal>)"},
-    {"_ZN5clang4ento17BasicValueFactory22getLazyCompoundValDataEPKvPKNS0_11TypedRegionE", "clang::ento::BasicValueFactory::getLazyCompoundValData(void const*, clang::ento::TypedRegion const*)"},
-    {"_ZN5clang4ento17BasicValueFactory10evalAPSIntENS_18BinaryOperatorKindERKN4llvm6APSIntES6_", "clang::ento::BasicValueFactory::evalAPSInt(clang::BinaryOperatorKind, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN5clang4ento17BasicValueFactory25getPersistentSValWithDataERKNS0_4SValEm", "clang::ento::BasicValueFactory::getPersistentSValWithData(clang::ento::SVal const&, unsigned long)"},
-    {"_ZN5clang4ento17BasicValueFactory21getPersistentSValPairERKNS0_4SValES4_", "clang::ento::BasicValueFactory::getPersistentSValPair(clang::ento::SVal const&, clang::ento::SVal const&)"},
-    {"_ZN5clang4ento17BasicValueFactory17getPersistentSValENS0_4SValE", "clang::ento::BasicValueFactory::getPersistentSVal(clang::ento::SVal)"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento19LazyCompoundValDataEED1Ev", "llvm::FoldingSet<clang::ento::LazyCompoundValData>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento15CompoundValDataEED1Ev", "llvm::FoldingSet<clang::ento::CompoundValData>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetINS_21FoldingSetNodeWrapperINS_6APSIntEEEED1Ev", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<llvm::APSInt> >::~FoldingSet()"},
-    {"_ZN4llvm21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES4_EED1Ev", "llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> >::~FoldingSetNodeWrapper()"},
-    {"_ZN4llvm21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES4_EED0Ev", "llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> >::~FoldingSetNodeWrapper()"},
-    {"_ZN4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES5_EEEED1Ev", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> > >::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES5_EEEED0Ev", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> > >::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES5_EEEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> > >::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES5_EEEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERSC_", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> > >::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES5_EEEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> > >::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEED1Ev", "llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> >::~FoldingSetNodeWrapper()"},
-    {"_ZN4llvm21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEED0Ev", "llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> >::~FoldingSetNodeWrapper()"},
-    {"_ZN4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEEEED1Ev", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> > >::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEEEED0Ev", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> > >::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEEEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> > >::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEEEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERSC_", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> > >::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEEEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> > >::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm21FoldingSetNodeWrapperINS_6APSIntEED1Ev", "llvm::FoldingSetNodeWrapper<llvm::APSInt>::~FoldingSetNodeWrapper()"},
-    {"_ZN4llvm21FoldingSetNodeWrapperINS_6APSIntEED0Ev", "llvm::FoldingSetNodeWrapper<llvm::APSInt>::~FoldingSetNodeWrapper()"},
-    {"_ZN4llvm10FoldingSetINS_17ImmutableListImplIN5clang4ento4SValEEEED1Ev", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SVal> >::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetINS_17ImmutableListImplIN5clang4ento4SValEEEED0Ev", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SVal> >::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIN5clang4ento4SValEEEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SVal> >::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIN5clang4ento4SValEEEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERSA_", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SVal> >::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIN5clang4ento4SValEEEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SVal> >::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetINS_21FoldingSetNodeWrapperINS_6APSIntEEEED0Ev", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<llvm::APSInt> >::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperINS_6APSIntEEEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<llvm::APSInt> >::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperINS_6APSIntEEEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<llvm::APSInt> >::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_21FoldingSetNodeWrapperINS_6APSIntEEEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::FoldingSetNodeWrapper<llvm::APSInt> >::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento15CompoundValDataEED0Ev", "llvm::FoldingSet<clang::ento::CompoundValData>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento15CompoundValDataEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::CompoundValData>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento15CompoundValDataEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ento::CompoundValData>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento15CompoundValDataEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::CompoundValData>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento19LazyCompoundValDataEED0Ev", "llvm::FoldingSet<clang::ento::LazyCompoundValData>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento19LazyCompoundValDataEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::LazyCompoundValData>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento19LazyCompoundValDataEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ento::LazyCompoundValData>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento19LazyCompoundValDataEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::LazyCompoundValData>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento12BlockCounter13getNumVisitedEPKNS_17StackFrameContextEj", "clang::ento::BlockCounter::getNumVisited(clang::StackFrameContext const*, unsigned int) const"},
-    {"_ZN5clang4ento12BlockCounter7FactoryC1ERN4llvm16BumpPtrAllocatorE", "clang::ento::BlockCounter::Factory::Factory(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento12BlockCounter7FactoryC2ERN4llvm16BumpPtrAllocatorE", "clang::ento::BlockCounter::Factory::Factory(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento12BlockCounter7FactoryD1Ev", "clang::ento::BlockCounter::Factory::~Factory()"},
-    {"_ZN5clang4ento12BlockCounter7FactoryD2Ev", "clang::ento::BlockCounter::Factory::~Factory()"},
-    {"_ZN5clang4ento12BlockCounter7Factory14IncrementCountES1_PKNS_17StackFrameContextEj", "clang::ento::BlockCounter::Factory::IncrementCount(clang::ento::BlockCounter, clang::StackFrameContext const*, unsigned int)"},
-    {"_ZN5clang4ento12BlockCounter7Factory15GetEmptyCounterEv", "clang::ento::BlockCounter::Factory::GetEmptyCounter()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >::computeDigest()"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEEENS_12DenseMapInfoIjEENS8_IS7_EEEixERKj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*> >::operator[](unsigned int const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >::destroy()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEEESaIS7_EE9push_backERKS7_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*> >::push_back(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >* const&)"},
-    {"_ZN4llvm26ImutAVLTreeInOrderIteratorINS_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEEppEv", "llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >::operator++()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEE12add_internalERKSt4pairIS3_jEPNS_11ImutAVLTreeIS4_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >::add_internal(std::pair<(anonymous namespace)::CountKey, unsigned int> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEE13markImmutableEPNS_11ImutAVLTreeIS4_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEE10createNodeEPNS_11ImutAVLTreeIS4_EERKSt4pairIS3_jES8_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*, std::pair<(anonymous namespace)::CountKey, unsigned int> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_18CountKeyEjEEE11balanceTreeEPNS_11ImutAVLTreeIS4_EERKSt4pairIS3_jES8_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*, std::pair<(anonymous namespace)::CountKey, unsigned int> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::CountKey, unsigned int> >*)"},
-    {"_ZN5clang4ento18BugReporterVisitorD0Ev", "clang::ento::BugReporterVisitor::~BugReporterVisitor()"},
-    {"_ZN5clang4ento18BugReporterVisitorD1Ev", "clang::ento::BugReporterVisitor::~BugReporterVisitor()"},
-    {"_ZN5clang4ento18BugReporterVisitorD2Ev", "clang::ento::BugReporterVisitor::~BugReporterVisitor()"},
-    {"_ZN5clang4ento18BugReporterContextD0Ev", "clang::ento::BugReporterContext::~BugReporterContext()"},
-    {"_ZN5clang4ento18BugReporterContextD1Ev", "clang::ento::BugReporterContext::~BugReporterContext()"},
-    {"_ZN5clang4ento18BugReporterContextD2Ev", "clang::ento::BugReporterContext::~BugReporterContext()"},
-    {"_ZN5clang4ento18BugReporterContext10addVisitorEPNS0_18BugReporterVisitorE", "clang::ento::BugReporterContext::addVisitor(clang::ento::BugReporterVisitor*)"},
-    {"_ZN5clang4ento7BugTypeD0Ev", "clang::ento::BugType::~BugType()"},
-    {"_ZN5clang4ento7BugTypeD1Ev", "clang::ento::BugType::~BugType()"},
-    {"_ZN5clang4ento7BugTypeD2Ev", "clang::ento::BugType::~BugType()"},
-    {"_ZN5clang4ento19BugReportEquivClassD1Ev", "clang::ento::BugReportEquivClass::~BugReportEquivClass()"},
-    {"_ZN5clang4ento7BugType12FlushReportsERNS0_11BugReporterE", "clang::ento::BugType::FlushReports(clang::ento::BugReporter&)"},
-    {"_ZN5clang4ento9BugReportD0Ev", "clang::ento::BugReport::~BugReport()"},
-    {"_ZN5clang4ento9BugReportD1Ev", "clang::ento::BugReport::~BugReport()"},
-    {"_ZN5clang4ento9BugReportD2Ev", "clang::ento::BugReport::~BugReport()"},
-    {"_ZN5clang4ento15RangedBugReportD0Ev", "clang::ento::RangedBugReport::~RangedBugReport()"},
-    {"_ZN5clang4ento15RangedBugReportD1Ev", "clang::ento::RangedBugReport::~RangedBugReport()"},
-    {"_ZN5clang4ento15RangedBugReportD2Ev", "clang::ento::RangedBugReport::~RangedBugReport()"},
-    {"_ZNK5clang4ento9BugReport7getStmtEv", "clang::ento::BugReport::getStmt() const"},
-    {"_ZN5clang4ento9BugReport10getEndPathERNS0_18BugReporterContextEPKNS0_12ExplodedNodeE", "clang::ento::BugReport::getEndPath(clang::ento::BugReporterContext&, clang::ento::ExplodedNode const*)"},
-    {"_ZNK5clang4ento9BugReport9getRangesEv", "clang::ento::BugReport::getRanges() const"},
-    {"_ZNK5clang4ento9BugReport11getLocationEv", "clang::ento::BugReport::getLocation() const"},
-    {"_ZN5clang4ento9BugReport9VisitNodeEPKNS0_12ExplodedNodeES4_RNS0_18BugReporterContextE", "clang::ento::BugReport::VisitNode(clang::ento::ExplodedNode const*, clang::ento::ExplodedNode const*, clang::ento::BugReporterContext&)"},
-    {"_ZN5clang4ento19BugReportEquivClassD2Ev", "clang::ento::BugReportEquivClass::~BugReportEquivClass()"},
-    {"_ZN5clang4ento13GRBugReporterD0Ev", "clang::ento::GRBugReporter::~GRBugReporter()"},
-    {"_ZN5clang4ento13GRBugReporterD1Ev", "clang::ento::GRBugReporter::~GRBugReporter()"},
-    {"_ZN5clang4ento13GRBugReporterD2Ev", "clang::ento::GRBugReporter::~GRBugReporter()"},
-    {"_ZN5clang4ento11BugReporterD2Ev", "clang::ento::BugReporter::~BugReporter()"},
-    {"_ZN5clang4ento15BugReporterDataD0Ev", "clang::ento::BugReporterData::~BugReporterData()"},
-    {"_ZN5clang4ento15BugReporterDataD1Ev", "clang::ento::BugReporterData::~BugReporterData()"},
-    {"_ZN5clang4ento15BugReporterDataD2Ev", "clang::ento::BugReporterData::~BugReporterData()"},
-    {"_ZN5clang4ento13GRBugReporter8getGraphEv", "clang::ento::GRBugReporter::getGraph()"},
-    {"_ZN5clang4ento13GRBugReporter15getStateManagerEv", "clang::ento::GRBugReporter::getStateManager()"},
-    {"_ZN5clang4ento11BugReporterD0Ev", "clang::ento::BugReporter::~BugReporter()"},
-    {"_ZN5clang4ento11BugReporterD1Ev", "clang::ento::BugReporter::~BugReporter()"},
-    {"_ZN5clang4ento11BugReporter12FlushReportsEv", "clang::ento::BugReporter::FlushReports()"},
-    {"_ZN5clang4ento11BugReporter11FlushReportERNS0_19BugReportEquivClassE", "clang::ento::BugReporter::FlushReport(clang::ento::BugReportEquivClass&)"},
-    {"_ZN5clang4ento13GRBugReporter22GeneratePathDiagnosticERNS0_14PathDiagnosticERN4llvm15SmallVectorImplIPNS0_9BugReportEEE", "clang::ento::GRBugReporter::GeneratePathDiagnostic(clang::ento::PathDiagnostic&, llvm::SmallVectorImpl<clang::ento::BugReport*>&)"},
-    {"_ZN12_GLOBAL__N_121PathDiagnosticBuilderD1Ev", "(anonymous namespace)::PathDiagnosticBuilder::~PathDiagnosticBuilder()"},
-    {"_ZN5clang4ento11BugReporter8RegisterEPNS0_7BugTypeE", "clang::ento::BugReporter::Register(clang::ento::BugType*)"},
-    {"_ZN5clang4ento11BugReporter10EmitReportEPNS0_9BugReportE", "clang::ento::BugReporter::EmitReport(clang::ento::BugReport*)"},
-    {"_ZN5clang4ento11BugReporter15EmitBasicReportEN4llvm9StringRefES3_NS_14SourceLocationEPNS_11SourceRangeEj", "clang::ento::BugReporter::EmitBasicReport(llvm::StringRef, llvm::StringRef, clang::SourceLocation, clang::SourceRange*, unsigned int)"},
-    {"_ZN5clang4ento11BugReporter15EmitBasicReportEN4llvm9StringRefES3_S3_NS_14SourceLocationEPNS_11SourceRangeEj", "clang::ento::BugReporter::EmitBasicReport(llvm::StringRef, llvm::StringRef, llvm::StringRef, clang::SourceLocation, clang::SourceRange*, unsigned int)"},
-    {"_ZN4llvm10FoldingSetIN12_GLOBAL__N_113DiagCacheItemEED1Ev", "llvm::FoldingSet<(anonymous namespace)::DiagCacheItem>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN12_GLOBAL__N_113DiagCacheItemEED0Ev", "llvm::FoldingSet<(anonymous namespace)::DiagCacheItem>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN12_GLOBAL__N_113DiagCacheItemEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<(anonymous namespace)::DiagCacheItem>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN12_GLOBAL__N_113DiagCacheItemEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<(anonymous namespace)::DiagCacheItem>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN12_GLOBAL__N_113DiagCacheItemEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<(anonymous namespace)::DiagCacheItem>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_112FRIEC_WLItemEE9push_backERKS2_", "llvm::SmallVectorImpl<(anonymous namespace)::FRIEC_WLItem>::push_back((anonymous namespace)::FRIEC_WLItem const&)"},
-    {"_ZN12_GLOBAL__N_114NodeMapClosureD1Ev", "(anonymous namespace)::NodeMapClosure::~NodeMapClosure()"},
-    {"_ZN12_GLOBAL__N_121PathDiagnosticBuilderD0Ev", "(anonymous namespace)::PathDiagnosticBuilder::~PathDiagnosticBuilder()"},
-    {"_ZN12_GLOBAL__N_121PathDiagnosticBuilder15getNodeResolverEv", "(anonymous namespace)::PathDiagnosticBuilder::getNodeResolver()"},
-    {"_ZN12_GLOBAL__N_114NodeMapClosureD0Ev", "(anonymous namespace)::NodeMapClosure::~NodeMapClosure()"},
-    {"_ZN12_GLOBAL__N_114NodeMapClosure15getOriginalNodeEPKN5clang4ento12ExplodedNodeE", "(anonymous namespace)::NodeMapClosure::getOriginalNode(clang::ento::ExplodedNode const*)"},
-    {"_Z11GetNextStmtPKN5clang4ento12ExplodedNodeE", "GetNextStmt(clang::ento::ExplodedNode const*)"},
-    {"_ZN12_GLOBAL__N_121PathDiagnosticBuilder24getEnclosingStmtLocationEPKN5clang4StmtE", "(anonymous namespace)::PathDiagnosticBuilder::getEnclosingStmtLocation(clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_121PathDiagnosticBuilder18ExecutionContinuesERN4llvm18raw_string_ostreamEPKN5clang4ento12ExplodedNodeE", "(anonymous namespace)::PathDiagnosticBuilder::ExecutionContinues(llvm::raw_string_ostream&, clang::ento::ExplodedNode const*)"},
-    {"_ZN12_GLOBAL__N_118ScanNotableSymbolsD1Ev", "(anonymous namespace)::ScanNotableSymbols::~ScanNotableSymbols()"},
-    {"_ZN12_GLOBAL__N_118ScanNotableSymbolsD0Ev", "(anonymous namespace)::ScanNotableSymbols::~ScanNotableSymbols()"},
-    {"_ZN12_GLOBAL__N_118ScanNotableSymbols13HandleBindingERN5clang4ento12StoreManagerEPKvPKNS2_9MemRegionENS2_4SValE", "(anonymous namespace)::ScanNotableSymbols::HandleBinding(clang::ento::StoreManager&, void const*, clang::ento::MemRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_120NotableSymbolHandlerD1Ev", "(anonymous namespace)::NotableSymbolHandler::~NotableSymbolHandler()"},
-    {"_ZN12_GLOBAL__N_120NotableSymbolHandlerD0Ev", "(anonymous namespace)::NotableSymbolHandler::~NotableSymbolHandler()"},
-    {"_ZN12_GLOBAL__N_120NotableSymbolHandler13HandleBindingERN5clang4ento12StoreManagerEPKvPKNS2_9MemRegionENS2_4SValE", "(anonymous namespace)::NotableSymbolHandler::HandleBinding(clang::ento::StoreManager&, void const*, clang::ento::MemRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_111EdgeBuilder7addEdgeEN5clang4ento22PathDiagnosticLocationEb", "(anonymous namespace)::EdgeBuilder::addEdge(clang::ento::PathDiagnosticLocation, bool)"},
-    {"_ZN12_GLOBAL__N_111EdgeBuilder10addContextEPKN5clang4StmtE", "(anonymous namespace)::EdgeBuilder::addContext(clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_111EdgeBuilder18addExtendedContextEPKN5clang4StmtE", "(anonymous namespace)::EdgeBuilder::addExtendedContext(clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_111EdgeBuilder10rawAddEdgeEN5clang4ento22PathDiagnosticLocationE", "(anonymous namespace)::EdgeBuilder::rawAddEdge(clang::ento::PathDiagnosticLocation)"},
-    {"_ZN12_GLOBAL__N_111EdgeBuilder15cleanUpLocationEN5clang4ento22PathDiagnosticLocationEb", "(anonymous namespace)::EdgeBuilder::cleanUpLocation(clang::ento::PathDiagnosticLocation, bool)"},
-    {"_ZN12_GLOBAL__N_111EdgeBuilder16containsLocationERKN5clang4ento22PathDiagnosticLocationES5_", "(anonymous namespace)::EdgeBuilder::containsLocation(clang::ento::PathDiagnosticLocation const&, clang::ento::PathDiagnosticLocation const&)"},
-    {"_ZNSt6vectorIN12_GLOBAL__N_115ContextLocationESaIS1_EE9push_backERKS1_", "std::vector<(anonymous namespace)::ContextLocation, std::allocator<(anonymous namespace)::ContextLocation> >::push_back((anonymous namespace)::ContextLocation const&)"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento18BugReporterVisitorEED1Ev", "llvm::FoldingSet<clang::ento::BugReporterVisitor>::~FoldingSet()"},
-    {"_ZN5clang4ento14PathDiagnostic7addMetaEN4llvm9StringRefE", "clang::ento::PathDiagnostic::addMeta(llvm::StringRef)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE3addEPNS_11ImutAVLTreeIS6_EEPKS4_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::add(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*, clang::ento::BugType const*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS6_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >::computeDigest()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS6_EERNS_26ImutAVLTreeInOrderIteratorIS6_EESD_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutContainerInfo<clang::ento::BugType*> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutContainerInfo<clang::ento::BugType*> >&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >::destroy()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_17ImutContainerInfoIPN5clang4ento7BugTypeEEEEESaIS9_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS9_SB_EERKS9_", "std::vector<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >**, std::vector<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*> > >, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >* const&)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutContainerInfo<clang::ento::BugType*> >::operator++()"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEEENS_12DenseMapInfoIjEENSA_IS9_EEE16InsertIntoBucketERKjRKS9_PSt4pairIjS9_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEEENS_12DenseMapInfoIjEENSA_IS9_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE12add_internalEPKS4_PNS_11ImutAVLTreeIS6_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::add_internal(clang::ento::BugType const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE13markImmutableEPNS_11ImutAVLTreeIS6_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::markImmutable(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE10createNodeEPNS_11ImutAVLTreeIS6_EEPKS4_SA_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::createNode(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*, clang::ento::BugType const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEE11balanceTreeEPNS_11ImutAVLTreeIS6_EEPKS4_SA_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::balanceTree(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*, clang::ento::BugType const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType*> >*)"},
-    {"_ZN4llvm20ImmutableListFactoryIPN5clang4ento18BugReporterVisitorEE6concatERKS4_NS_13ImmutableListIS4_EE", "llvm::ImmutableListFactory<clang::ento::BugReporterVisitor*>::concat(clang::ento::BugReporterVisitor* const&, llvm::ImmutableList<clang::ento::BugReporterVisitor*>)"},
-    {"_ZN4llvm10FoldingSetINS_17ImmutableListImplIPN5clang4ento18BugReporterVisitorEEEED1Ev", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::BugReporterVisitor*> >::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetINS_17ImmutableListImplIPN5clang4ento18BugReporterVisitorEEEED0Ev", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::BugReporterVisitor*> >::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIPN5clang4ento18BugReporterVisitorEEEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::BugReporterVisitor*> >::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIPN5clang4ento18BugReporterVisitorEEEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERSB_", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::BugReporterVisitor*> >::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIPN5clang4ento18BugReporterVisitorEEEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::BugReporterVisitor*> >::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang11SourceRangeELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::SourceRange, false>::grow(unsigned long)"},
-    {"_ZN5clang4ento13DiagBugReportD1Ev", "clang::ento::DiagBugReport::~DiagBugReport()"},
-    {"_ZN5clang4ento13DiagBugReportD0Ev", "clang::ento::DiagBugReport::~DiagBugReport()"},
-    {"_ZNK5clang4ento13DiagBugReport11getLocationEv", "clang::ento::DiagBugReport::getLocation() const"},
-    {"_ZNSt5dequeISsSaISsEE16_M_push_back_auxERKSs", "std::deque<std::string, std::allocator<std::string> >::_M_push_back_aux(std::string const&)"},
-    {"_ZNSt5dequeISsSaISsEE17_M_reallocate_mapEmb", "std::deque<std::string, std::allocator<std::string> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeEjNS_12DenseMapInfoIS5_EENS6_IjEEE16InsertIntoBucketERKS5_RKjPSt4pairIS5_jE", "llvm::DenseMap<clang::ento::ExplodedNode const*, unsigned int, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::ento::ExplodedNode const* const&, unsigned int const&, std::pair<clang::ento::ExplodedNode const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeEjNS_12DenseMapInfoIS5_EENS6_IjEEE4growEj", "llvm::DenseMap<clang::ento::ExplodedNode const*, unsigned int, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang4ento9BugReport12NodeResolverD1Ev", "clang::ento::BugReport::NodeResolver::~NodeResolver()"},
-    {"_ZN5clang4ento9BugReport12NodeResolverD0Ev", "clang::ento::BugReport::NodeResolver::~NodeResolver()"},
-    {"_ZN5clang4ento14PathDiagnostic10push_frontEPNS0_19PathDiagnosticPieceE", "clang::ento::PathDiagnostic::push_front(clang::ento::PathDiagnosticPiece*)"},
-    {"_ZNSt6vectorISt4pairIPN5clang4ento24PathDiagnosticMacroPieceENS1_14SourceLocationEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<std::pair<clang::ento::PathDiagnosticMacroPiece*, clang::SourceLocation>, std::allocator<std::pair<clang::ento::PathDiagnosticMacroPiece*, clang::SourceLocation> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<clang::ento::PathDiagnosticMacroPiece*, clang::SourceLocation>*, std::vector<std::pair<clang::ento::PathDiagnosticMacroPiece*, clang::SourceLocation>, std::allocator<std::pair<clang::ento::PathDiagnosticMacroPiece*, clang::SourceLocation> > > >, std::pair<clang::ento::PathDiagnosticMacroPiece*, clang::SourceLocation> const&)"},
-    {"_ZN5clang4ento24PathDiagnosticMacroPieceC2ERKNS0_22PathDiagnosticLocationE", "clang::ento::PathDiagnosticMacroPiece::PathDiagnosticMacroPiece(clang::ento::PathDiagnosticLocation const&)"},
-    {"_ZNK5clang4ento23PathDiagnosticSpotPiece11getLocationEv", "clang::ento::PathDiagnosticSpotPiece::getLocation() const"},
-    {"_ZN5clang4ento24PathDiagnosticMacroPiece16flattenLocationsEv", "clang::ento::PathDiagnosticMacroPiece::flattenLocations()"},
-    {"_ZN5clang4ento23PathDiagnosticSpotPiece16flattenLocationsEv", "clang::ento::PathDiagnosticSpotPiece::flattenLocations()"},
-    {"_ZN5clang4ento23PathDiagnosticSpotPieceD1Ev", "clang::ento::PathDiagnosticSpotPiece::~PathDiagnosticSpotPiece()"},
-    {"_ZN5clang4ento23PathDiagnosticSpotPieceD0Ev", "clang::ento::PathDiagnosticSpotPiece::~PathDiagnosticSpotPiece()"},
-    {"_ZNSt6vectorIPN5clang4ento19PathDiagnosticPieceESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<clang::ento::PathDiagnosticPiece*, std::allocator<clang::ento::PathDiagnosticPiece*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ento::PathDiagnosticPiece**, std::vector<clang::ento::PathDiagnosticPiece*, std::allocator<clang::ento::PathDiagnosticPiece*> > >, clang::ento::PathDiagnosticPiece* const&)"},
-    {"_ZNK5clang4ento30PathDiagnosticControlFlowPiece11getLocationEv", "clang::ento::PathDiagnosticControlFlowPiece::getLocation() const"},
-    {"_ZN5clang4ento30PathDiagnosticControlFlowPiece16flattenLocationsEv", "clang::ento::PathDiagnosticControlFlowPiece::flattenLocations()"},
-    {"_ZNSt6vectorIN5clang4ento26PathDiagnosticLocationPairESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::ento::PathDiagnosticLocationPair, std::allocator<clang::ento::PathDiagnosticLocationPair> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ento::PathDiagnosticLocationPair*, std::vector<clang::ento::PathDiagnosticLocationPair, std::allocator<clang::ento::PathDiagnosticLocationPair> > >, clang::ento::PathDiagnosticLocationPair const&)"},
-    {"_ZNSt5dequeIPN5clang4ento19PathDiagnosticPieceESaIS3_EE17_M_reallocate_mapEmb", "std::deque<clang::ento::PathDiagnosticPiece*, std::allocator<clang::ento::PathDiagnosticPiece*> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZNSt5dequeIPN5clang4ento19PathDiagnosticPieceESaIS3_EE9push_backERKS3_", "std::deque<clang::ento::PathDiagnosticPiece*, std::allocator<clang::ento::PathDiagnosticPiece*> >::push_back(clang::ento::PathDiagnosticPiece* const&)"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento18BugReporterVisitorEED0Ev", "llvm::FoldingSet<clang::ento::BugReporterVisitor>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento18BugReporterVisitorEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::BugReporterVisitor>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento18BugReporterVisitorEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ento::BugReporterVisitor>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento18BugReporterVisitorEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::BugReporterVisitor>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeES5_NS_12DenseMapInfoIS5_EES7_E16InsertIntoBucketERKS5_SA_PSt4pairIS5_S5_E", "llvm::DenseMap<clang::ento::ExplodedNode const*, clang::ento::ExplodedNode const*, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<clang::ento::ExplodedNode const*> >::InsertIntoBucket(clang::ento::ExplodedNode const* const&, clang::ento::ExplodedNode const* const&, std::pair<clang::ento::ExplodedNode const*, clang::ento::ExplodedNode const*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeES5_NS_12DenseMapInfoIS5_EES7_E4growEj", "llvm::DenseMap<clang::ento::ExplodedNode const*, clang::ento::ExplodedNode const*, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<clang::ento::ExplodedNode const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKvjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<void const*, unsigned int, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(void const* const&, unsigned int const&, std::pair<void const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKvjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<void const*, unsigned int, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt5dequeIPKN5clang4ento12ExplodedNodeESaIS4_EE9push_backERKS4_", "std::deque<clang::ento::ExplodedNode const*, std::allocator<clang::ento::ExplodedNode const*> >::push_back(clang::ento::ExplodedNode const* const&)"},
-    {"_ZNSt5dequeIPKN5clang4ento12ExplodedNodeESaIS4_EE17_M_reallocate_mapEmb", "std::deque<clang::ento::ExplodedNode const*, std::allocator<clang::ento::ExplodedNode const*> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZNSt11_Deque_baseIPKN5clang4ento12ExplodedNodeESaIS4_EE17_M_initialize_mapEm", "std::_Deque_base<clang::ento::ExplodedNode const*, std::allocator<clang::ento::ExplodedNode const*> >::_M_initialize_map(unsigned long)"},
-    {"_ZNSt5dequeIPKN5clang4ento12ExplodedNodeESaIS4_EEC2ERKS6_", "std::deque<clang::ento::ExplodedNode const*, std::allocator<clang::ento::ExplodedNode const*> >::deque(std::deque<clang::ento::ExplodedNode const*, std::allocator<clang::ento::ExplodedNode const*> > const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPN5clang4ento7BugTypeEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::BugType*> >::~ImutAVLFactory()"},
-    {"_ZNSt6vectorIN5clang11SourceRangeESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::SourceRange, std::allocator<clang::SourceRange> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::SourceRange*, std::vector<clang::SourceRange, std::allocator<clang::SourceRange> > >, clang::SourceRange const&)"},
-    {"_ZN5clang4ento11bugreporter12GetDerefExprEPKNS0_12ExplodedNodeE", "clang::ento::bugreporter::GetDerefExpr(clang::ento::ExplodedNode const*)"},
-    {"_ZN5clang4ento11bugreporter12GetDenomExprEPKNS0_12ExplodedNodeE", "clang::ento::bugreporter::GetDenomExpr(clang::ento::ExplodedNode const*)"},
-    {"_ZN5clang4ento11bugreporter13GetCalleeExprEPKNS0_12ExplodedNodeE", "clang::ento::bugreporter::GetCalleeExpr(clang::ento::ExplodedNode const*)"},
-    {"_ZN5clang4ento11bugreporter13GetRetValExprEPKNS0_12ExplodedNodeE", "clang::ento::bugreporter::GetRetValExpr(clang::ento::ExplodedNode const*)"},
-    {"_ZN5clang4ento11bugreporter29registerTrackNullOrUndefValueERNS0_18BugReporterContextEPKvPKNS0_12ExplodedNodeE", "clang::ento::bugreporter::registerTrackNullOrUndefValue(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*)"},
-    {"_ZN5clang4ento11bugreporter21registerFindLastStoreERNS0_18BugReporterContextEPKvPKNS0_12ExplodedNodeE", "clang::ento::bugreporter::registerFindLastStore(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*)"},
-    {"_ZN5clang4ento11bugreporter26registerNilReceiverVisitorERNS0_18BugReporterContextE", "clang::ento::bugreporter::registerNilReceiverVisitor(clang::ento::BugReporterContext&)"},
-    {"_ZN5clang4ento11bugreporter25registerVarDeclsLastStoreERNS0_18BugReporterContextEPKvPKNS0_12ExplodedNodeE", "clang::ento::bugreporter::registerVarDeclsLastStore(clang::ento::BugReporterContext&, void const*, clang::ento::ExplodedNode const*)"},
-    {"_ZN12_GLOBAL__N_118NilReceiverVisitorD1Ev", "(anonymous namespace)::NilReceiverVisitor::~NilReceiverVisitor()"},
-    {"_ZN12_GLOBAL__N_118NilReceiverVisitorD0Ev", "(anonymous namespace)::NilReceiverVisitor::~NilReceiverVisitor()"},
-    {"_ZN12_GLOBAL__N_118NilReceiverVisitor9VisitNodeEPKN5clang4ento12ExplodedNodeES5_RNS2_18BugReporterContextE", "(anonymous namespace)::NilReceiverVisitor::VisitNode(clang::ento::ExplodedNode const*, clang::ento::ExplodedNode const*, clang::ento::BugReporterContext&)"},
-    {"_ZNK12_GLOBAL__N_118NilReceiverVisitor7ProfileERN4llvm16FoldingSetNodeIDE", "(anonymous namespace)::NilReceiverVisitor::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN12_GLOBAL__N_122FindLastStoreBRVisitorD1Ev", "(anonymous namespace)::FindLastStoreBRVisitor::~FindLastStoreBRVisitor()"},
-    {"_ZN12_GLOBAL__N_122FindLastStoreBRVisitorD0Ev", "(anonymous namespace)::FindLastStoreBRVisitor::~FindLastStoreBRVisitor()"},
-    {"_ZN12_GLOBAL__N_122FindLastStoreBRVisitor9VisitNodeEPKN5clang4ento12ExplodedNodeES5_RNS2_18BugReporterContextE", "(anonymous namespace)::FindLastStoreBRVisitor::VisitNode(clang::ento::ExplodedNode const*, clang::ento::ExplodedNode const*, clang::ento::BugReporterContext&)"},
-    {"_ZNK12_GLOBAL__N_122FindLastStoreBRVisitor7ProfileERN4llvm16FoldingSetNodeIDE", "(anonymous namespace)::FindLastStoreBRVisitor::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN12_GLOBAL__N_124TrackConstraintBRVisitorD1Ev", "(anonymous namespace)::TrackConstraintBRVisitor::~TrackConstraintBRVisitor()"},
-    {"_ZN12_GLOBAL__N_124TrackConstraintBRVisitorD0Ev", "(anonymous namespace)::TrackConstraintBRVisitor::~TrackConstraintBRVisitor()"},
-    {"_ZN12_GLOBAL__N_124TrackConstraintBRVisitor9VisitNodeEPKN5clang4ento12ExplodedNodeES5_RNS2_18BugReporterContextE", "(anonymous namespace)::TrackConstraintBRVisitor::VisitNode(clang::ento::ExplodedNode const*, clang::ento::ExplodedNode const*, clang::ento::BugReporterContext&)"},
-    {"_ZNK12_GLOBAL__N_124TrackConstraintBRVisitor7ProfileERN4llvm16FoldingSetNodeIDE", "(anonymous namespace)::TrackConstraintBRVisitor::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNSt5dequeIPKN5clang4StmtESaIS3_EE9push_backERKS3_", "std::deque<clang::Stmt const*, std::allocator<clang::Stmt const*> >::push_back(clang::Stmt const* const&)"},
-    {"_ZNSt5dequeIPKN5clang4StmtESaIS3_EE17_M_reallocate_mapEmb", "std::deque<clang::Stmt const*, std::allocator<clang::Stmt const*> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZNSt11_Deque_baseIPKN5clang4StmtESaIS3_EE17_M_initialize_mapEm", "std::_Deque_base<clang::Stmt const*, std::allocator<clang::Stmt const*> >::_M_initialize_map(unsigned long)"},
-    {"_ZN5clang4ento16MakeCFRefCountTFERNS_10ASTContextEbRKNS_11LangOptionsE", "clang::ento::MakeCFRefCountTF(clang::ASTContext&, bool, clang::LangOptions const&)"},
-    {"_ZN12_GLOBAL__N_110CFRefCountD1Ev", "(anonymous namespace)::CFRefCount::~CFRefCount()"},
-    {"_ZN12_GLOBAL__N_110CFRefCountD0Ev", "(anonymous namespace)::CFRefCount::~CFRefCount()"},
-    {"_ZN12_GLOBAL__N_110CFRefCount16RegisterPrintersERSt6vectorIPN5clang4ento7GRState7PrinterESaIS6_EE", "(anonymous namespace)::CFRefCount::RegisterPrinters(std::vector<clang::ento::GRState::Printer*, std::allocator<clang::ento::GRState::Printer*> >&)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount14RegisterChecksERN5clang4ento10ExprEngineE", "(anonymous namespace)::CFRefCount::RegisterChecks(clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount8evalCallERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderEPKNS1_8CallExprENS2_4SValEPNS2_12ExplodedNodeE", "(anonymous namespace)::CFRefCount::evalCall(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::CallExpr const*, clang::ento::SVal, clang::ento::ExplodedNode*)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount15evalObjCMessageERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderENS2_11ObjCMessageEPNS2_12ExplodedNodeEPKNS2_7GRStateE", "(anonymous namespace)::CFRefCount::evalObjCMessage(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ento::ObjCMessage, clang::ento::ExplodedNode*, clang::ento::GRState const*)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount8evalBindERN5clang4ento18StmtNodeBuilderRefENS2_4SValES5_", "(anonymous namespace)::CFRefCount::evalBind(clang::ento::StmtNodeBuilderRef&, clang::ento::SVal, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount11evalEndPathERN5clang4ento10ExprEngineERNS2_24EndOfFunctionNodeBuilderE", "(anonymous namespace)::CFRefCount::evalEndPath(clang::ento::ExprEngine&, clang::ento::EndOfFunctionNodeBuilder&)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount15evalDeadSymbolsERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderEPNS2_12ExplodedNodeEPKNS2_7GRStateERNS2_12SymbolReaperE", "(anonymous namespace)::CFRefCount::evalDeadSymbols(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SymbolReaper&)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount10evalReturnERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderEPKNS1_10ReturnStmtEPNS2_12ExplodedNodeE", "(anonymous namespace)::CFRefCount::evalReturn(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ReturnStmt const*, clang::ento::ExplodedNode*)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount10evalAssumeEPKN5clang4ento7GRStateENS2_4SValEb", "(anonymous namespace)::CFRefCount::evalAssume(clang::ento::GRState const*, clang::ento::SVal, bool)"},
-    {"_ZN4llvm12ImmutableMapIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValENS_16ImutKeyValueInfoIS5_S7_EEE7Factory6removeESA_RKS5_", "llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::Factory::remove(llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >, clang::ento::SymbolData const* const&)"},
-    {"_ZNK5clang4ento7GRState3setIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_16RefValENS3_16ImutKeyValueInfoIS7_S9_EEEEEEPKS1_NS0_12GRStateTraitIT_E9data_typeE", "clang::ento::GRState const* clang::ento::GRState::set<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >(clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >::data_type) const"},
-    {"_ZN4llvm26ImutAVLTreeInOrderIteratorINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEEppEv", "llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::operator++()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::destroy()"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEEENS_12DenseMapInfoIjEENSD_ISC_EEEixERKj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*> >::operator[](unsigned int const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEEESaISC_EE9push_backERKSC_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*> >::push_back(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >* const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE15remove_internalERKS6_PNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::remove_internal(clang::ento::SymbolData const* const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE13markImmutableEPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE11balanceTreeEPNS_11ImutAVLTreeIS9_EERKSt4pairIS6_S8_ESD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*, std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE10createNodeEPNS_11ImutAVLTreeIS9_EERKSt4pairIS6_S8_ESD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*, std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE16removeMinBindingEPNS_11ImutAVLTreeIS9_EERSD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_16RefValENS2_16ImutKeyValueInfoIS6_S8_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_16RefValENS2_16ImutKeyValueInfoIS6_S8_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >::DeleteContext(void*)"},
-    {"_ZNK5clang4ento7GRState3setIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_16RefValENS3_16ImutKeyValueInfoIS7_S9_EEEEEEPKS1_NS0_12GRStateTraitIT_E8key_typeENSH_10value_typeE", "clang::ento::GRState const* clang::ento::GRState::set<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >(clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >::key_type, clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >::value_type) const"},
-    {"_ZN12_GLOBAL__N_110CFRefCount23HandleAutoreleaseCountsEPKN5clang4ento7GRStateENS_26GenericNodeBuilderRefCountEPNS2_12ExplodedNodeERNS2_10ExprEngineEPKNS2_10SymbolDataENS_6RefValERb", "(anonymous namespace)::CFRefCount::HandleAutoreleaseCounts(clang::ento::GRState const*, (anonymous namespace)::GenericNodeBuilderRefCount, clang::ento::ExplodedNode*, clang::ento::ExprEngine&, clang::ento::SymbolData const*, (anonymous namespace)::RefVal, bool&)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager16getMethodSummaryEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::RetainSummaryManager::getMethodSummary(clang::ObjCMethodDecl const*)"},
-    {"_ZN12_GLOBAL__N_115CFRefLeakReportC1ERNS_8CFRefBugERKNS_10CFRefCountEPN5clang4ento12ExplodedNodeEPKNS7_10SymbolDataERNS7_10ExprEngineE", "(anonymous namespace)::CFRefLeakReport::CFRefLeakReport((anonymous namespace)::CFRefBug&, (anonymous namespace)::CFRefCount const&, clang::ento::ExplodedNode*, clang::ento::SymbolData const*, clang::ento::ExprEngine&)"},
-    {"_ZN12_GLOBAL__N_111CFRefReportD1Ev", "(anonymous namespace)::CFRefReport::~CFRefReport()"},
-    {"_ZN12_GLOBAL__N_111CFRefReportD0Ev", "(anonymous namespace)::CFRefReport::~CFRefReport()"},
-    {"_ZN12_GLOBAL__N_111CFRefReport9VisitNodeEPKN5clang4ento12ExplodedNodeES5_RNS2_18BugReporterContextE", "(anonymous namespace)::CFRefReport::VisitNode(clang::ento::ExplodedNode const*, clang::ento::ExplodedNode const*, clang::ento::BugReporterContext&)"},
-    {"_ZN12_GLOBAL__N_111CFRefReport23getExtraDescriptiveTextEv", "(anonymous namespace)::CFRefReport::getExtraDescriptiveText()"},
-    {"_ZN12_GLOBAL__N_111CFRefReport10getEndPathERN5clang4ento18BugReporterContextEPKNS2_12ExplodedNodeE", "(anonymous namespace)::CFRefReport::getEndPath(clang::ento::BugReporterContext&, clang::ento::ExplodedNode const*)"},
-    {"_ZNK12_GLOBAL__N_111CFRefReport9getRangesEv", "(anonymous namespace)::CFRefReport::getRanges() const"},
-    {"_Z17GetAllocationSiteRN5clang4ento14GRStateManagerEPKNS0_12ExplodedNodeEPKNS0_10SymbolDataE", "GetAllocationSite(clang::ento::GRStateManager&, clang::ento::ExplodedNode const*, clang::ento::SymbolData const*)"},
-    {"_ZN12_GLOBAL__N_115CFRefLeakReportD1Ev", "(anonymous namespace)::CFRefLeakReport::~CFRefLeakReport()"},
-    {"_ZN12_GLOBAL__N_115CFRefLeakReportD0Ev", "(anonymous namespace)::CFRefLeakReport::~CFRefLeakReport()"},
-    {"_ZN12_GLOBAL__N_115CFRefLeakReport10getEndPathERN5clang4ento18BugReporterContextEPKNS2_12ExplodedNodeE", "(anonymous namespace)::CFRefLeakReport::getEndPath(clang::ento::BugReporterContext&, clang::ento::ExplodedNode const*)"},
-    {"_ZNK12_GLOBAL__N_115CFRefLeakReport11getLocationEv", "(anonymous namespace)::CFRefLeakReport::getLocation() const"},
-    {"_ZN12_GLOBAL__N_117FindUniqueBindingD1Ev", "(anonymous namespace)::FindUniqueBinding::~FindUniqueBinding()"},
-    {"_ZN12_GLOBAL__N_117FindUniqueBindingD0Ev", "(anonymous namespace)::FindUniqueBinding::~FindUniqueBinding()"},
-    {"_ZN12_GLOBAL__N_117FindUniqueBinding13HandleBindingERN5clang4ento12StoreManagerEPKvPKNS2_9MemRegionENS2_4SValE", "(anonymous namespace)::FindUniqueBinding::HandleBinding(clang::ento::StoreManager&, void const*, clang::ento::MemRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager24getInstanceMethodSummaryEN5clang8SelectorEPNS1_14IdentifierInfoEPKNS1_17ObjCInterfaceDeclEPKNS1_14ObjCMethodDeclENS1_8QualTypeE", "(anonymous namespace)::RetainSummaryManager::getInstanceMethodSummary(clang::Selector, clang::IdentifierInfo*, clang::ObjCInterfaceDecl const*, clang::ObjCMethodDecl const*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager21getClassMethodSummaryEN5clang8SelectorEPNS1_14IdentifierInfoEPKNS1_17ObjCInterfaceDeclEPKNS1_14ObjCMethodDeclENS1_8QualTypeE", "(anonymous namespace)::RetainSummaryManager::getClassMethodSummary(clang::Selector, clang::IdentifierInfo*, clang::ObjCInterfaceDecl const*, clang::ObjCMethodDecl const*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_116ObjCSummaryCache4findEPKN5clang17ObjCInterfaceDeclEPNS1_14IdentifierInfoENS1_8SelectorE", "(anonymous namespace)::ObjCSummaryCache::find(clang::ObjCInterfaceDecl const*, clang::IdentifierInfo*, clang::Selector)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager22getCommonMethodSummaryEPKN5clang14ObjCMethodDeclENS1_8SelectorENS1_8QualTypeE", "(anonymous namespace)::RetainSummaryManager::getCommonMethodSummary(clang::ObjCMethodDecl const*, clang::Selector, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager28updateSummaryFromAnnotationsERNS_13RetainSummaryEPKN5clang14ObjCMethodDeclE", "(anonymous namespace)::RetainSummaryManager::updateSummaryFromAnnotations((anonymous namespace)::RetainSummary&, clang::ObjCMethodDecl const*)"},
-    {"_ZN4llvm8DenseMapIN12_GLOBAL__N_114ObjCSummaryKeyEPNS1_13RetainSummaryENS_12DenseMapInfoIS2_EENS5_IS4_EEEixERKS2_", "llvm::DenseMap<(anonymous namespace)::ObjCSummaryKey, (anonymous namespace)::RetainSummary*, llvm::DenseMapInfo<(anonymous namespace)::ObjCSummaryKey>, llvm::DenseMapInfo<(anonymous namespace)::RetainSummary*> >::operator[]((anonymous namespace)::ObjCSummaryKey const&)"},
-    {"_ZNK4llvm8DenseMapIN12_GLOBAL__N_114ObjCSummaryKeyEPNS1_13RetainSummaryENS_12DenseMapInfoIS2_EENS5_IS4_EEE15LookupBucketForERKS2_RPSt4pairIS2_S4_E", "llvm::DenseMap<(anonymous namespace)::ObjCSummaryKey, (anonymous namespace)::RetainSummary*, llvm::DenseMapInfo<(anonymous namespace)::ObjCSummaryKey>, llvm::DenseMapInfo<(anonymous namespace)::RetainSummary*> >::LookupBucketFor((anonymous namespace)::ObjCSummaryKey const&, std::pair<(anonymous namespace)::ObjCSummaryKey, (anonymous namespace)::RetainSummary*>*&) const"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_16RefValEEEE12add_internalERKSt4pairIS6_S8_EPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >::add_internal(std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> >*)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount17HandleSymbolDeathEPKN5clang4ento7GRStateEPKNS2_10SymbolDataENS_6RefValERN4llvm15SmallVectorImplIS8_EE", "(anonymous namespace)::CFRefCount::HandleSymbolDeath(clang::ento::GRState const*, clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::SmallVectorImpl<clang::ento::SymbolData const*>&)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount12ProcessLeaksEPKN5clang4ento7GRStateERN4llvm15SmallVectorImplIPKNS2_10SymbolDataEEERNS_26GenericNodeBuilderRefCountERNS2_10ExprEngineEPNS2_12ExplodedNodeE", "(anonymous namespace)::CFRefCount::ProcessLeaks(clang::ento::GRState const*, llvm::SmallVectorImpl<clang::ento::SymbolData const*>&, (anonymous namespace)::GenericNodeBuilderRefCount&, clang::ento::ExprEngine&, clang::ento::ExplodedNode*)"},
-    {"_ZNK5clang4ento7GRState6removeIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_16RefValENS3_16ImutKeyValueInfoIS7_S9_EEEEEEPKS1_NS0_12GRStateTraitIT_E8key_typeE", "clang::ento::GRState const* clang::ento::GRState::remove<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >(clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >::key_type) const"},
-    {"_ZN12_GLOBAL__N_120StopTrackingCallbackD1Ev", "(anonymous namespace)::StopTrackingCallback::~StopTrackingCallback()"},
-    {"_ZN12_GLOBAL__N_120StopTrackingCallback11VisitSymbolEPKN5clang4ento10SymbolDataE", "(anonymous namespace)::StopTrackingCallback::VisitSymbol(clang::ento::SymbolData const*)"},
-    {"_ZN12_GLOBAL__N_120StopTrackingCallbackD0Ev", "(anonymous namespace)::StopTrackingCallback::~StopTrackingCallback()"},
-    {"_ZN12_GLOBAL__N_110CFRefCount11evalSummaryERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderEPKNS1_4ExprERKNS2_17CallOrObjCMessageENS_16InstanceReceiverERKNS_13RetainSummaryEPKNS2_9MemRegionEPNS2_12ExplodedNodeEPKNS2_7GRStateE", "(anonymous namespace)::CFRefCount::evalSummary(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::Expr const*, clang::ento::CallOrObjCMessage const&, (anonymous namespace)::InstanceReceiver, (anonymous namespace)::RetainSummary const&, clang::ento::MemRegion const*, clang::ento::ExplodedNode*, clang::ento::GRState const*)"},
-    {"_ZN12_GLOBAL__N_110CFRefCount6UpdateEPKN5clang4ento7GRStateEPKNS2_10SymbolDataENS_6RefValE9ArgEffectRNS9_4KindE", "(anonymous namespace)::CFRefCount::Update(clang::ento::GRState const*, clang::ento::SymbolData const*, (anonymous namespace)::RefVal, ArgEffect, (anonymous namespace)::RefVal::Kind&)"},
-    {"_ZN12_GLOBAL__N_116InstanceReceiver20getSValAsScalarOrLocEPKN5clang4ento7GRStateE", "(anonymous namespace)::InstanceReceiver::getSValAsScalarOrLoc(clang::ento::GRState const*)"},
-    {"_Z13GetReturnTypePKN5clang4ExprERNS_10ASTContextE", "GetReturnType(clang::Expr const*, clang::ASTContext&)"},
-    {"_ZNK5clang4ento7GRState3getIN12_GLOBAL__N_123AutoreleasePoolContentsEEENS0_12GRStateTraitIT_E11lookup_typeENS7_8key_typeE", "clang::ento::GRStateTrait<(anonymous namespace)::AutoreleasePoolContents>::lookup_type clang::ento::GRState::get<(anonymous namespace)::AutoreleasePoolContents>(clang::ento::GRStateTrait<(anonymous namespace)::AutoreleasePoolContents>::key_type) const"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager15getUnarySummaryEPKN5clang12FunctionTypeENS0_13UnaryFuncKindE", "(anonymous namespace)::RetainSummaryManager::getUnarySummary(clang::FunctionType const*, (anonymous namespace)::RetainSummaryManager::UnaryFuncKind)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager25getCFCreateGetRuleSummaryEPKN5clang12FunctionDeclEN4llvm9StringRefE", "(anonymous namespace)::RetainSummaryManager::getCFCreateGetRuleSummary(clang::FunctionDecl const*, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_120RetainReleaseCheckerD1Ev", "(anonymous namespace)::RetainReleaseChecker::~RetainReleaseChecker()"},
-    {"_ZN12_GLOBAL__N_120RetainReleaseCheckerD0Ev", "(anonymous namespace)::RetainReleaseChecker::~RetainReleaseChecker()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120RetainReleaseCheckerEE9_PreVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::RetainReleaseChecker>::_PreVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120RetainReleaseCheckerEE10_PostVisitERNS0_14CheckerContextEPKNS_4StmtE", "clang::ento::CheckerVisitor<(anonymous namespace)::RetainReleaseChecker>::_PostVisit(clang::ento::CheckerContext&, clang::Stmt const*)"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120RetainReleaseCheckerEED1Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::RetainReleaseChecker>::~CheckerVisitor()"},
-    {"_ZN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120RetainReleaseCheckerEED0Ev", "clang::ento::CheckerVisitor<(anonymous namespace)::RetainReleaseChecker>::~CheckerVisitor()"},
-    {"_ZN12_GLOBAL__N_118LeakWithinFunctionD1Ev", "(anonymous namespace)::LeakWithinFunction::~LeakWithinFunction()"},
-    {"_ZN12_GLOBAL__N_118LeakWithinFunctionD0Ev", "(anonymous namespace)::LeakWithinFunction::~LeakWithinFunction()"},
-    {"_ZNK12_GLOBAL__N_14Leak14getDescriptionEv", "(anonymous namespace)::Leak::getDescription() const"},
-    {"_ZNK12_GLOBAL__N_14Leak6isLeakEv", "(anonymous namespace)::Leak::isLeak() const"},
-    {"_ZN12_GLOBAL__N_14LeakD1Ev", "(anonymous namespace)::Leak::~Leak()"},
-    {"_ZN12_GLOBAL__N_14LeakD0Ev", "(anonymous namespace)::Leak::~Leak()"},
-    {"_ZN12_GLOBAL__N_18CFRefBugD1Ev", "(anonymous namespace)::CFRefBug::~CFRefBug()"},
-    {"_ZN12_GLOBAL__N_18CFRefBugD0Ev", "(anonymous namespace)::CFRefBug::~CFRefBug()"},
-    {"_ZNK12_GLOBAL__N_18CFRefBug6isLeakEv", "(anonymous namespace)::CFRefBug::isLeak() const"},
-    {"_ZN12_GLOBAL__N_112LeakAtReturnD1Ev", "(anonymous namespace)::LeakAtReturn::~LeakAtReturn()"},
-    {"_ZN12_GLOBAL__N_112LeakAtReturnD0Ev", "(anonymous namespace)::LeakAtReturn::~LeakAtReturn()"},
-    {"_ZN12_GLOBAL__N_124ReturnedNotOwnedForOwnedD1Ev", "(anonymous namespace)::ReturnedNotOwnedForOwned::~ReturnedNotOwnedForOwned()"},
-    {"_ZN12_GLOBAL__N_124ReturnedNotOwnedForOwnedD0Ev", "(anonymous namespace)::ReturnedNotOwnedForOwned::~ReturnedNotOwnedForOwned()"},
-    {"_ZNK12_GLOBAL__N_124ReturnedNotOwnedForOwned14getDescriptionEv", "(anonymous namespace)::ReturnedNotOwnedForOwned::getDescription() const"},
-    {"_ZN12_GLOBAL__N_115OverAutoreleaseD1Ev", "(anonymous namespace)::OverAutorelease::~OverAutorelease()"},
-    {"_ZN12_GLOBAL__N_115OverAutoreleaseD0Ev", "(anonymous namespace)::OverAutorelease::~OverAutorelease()"},
-    {"_ZNK12_GLOBAL__N_115OverAutorelease14getDescriptionEv", "(anonymous namespace)::OverAutorelease::getDescription() const"},
-    {"_ZN12_GLOBAL__N_115DeallocNotOwnedD1Ev", "(anonymous namespace)::DeallocNotOwned::~DeallocNotOwned()"},
-    {"_ZN12_GLOBAL__N_115DeallocNotOwnedD0Ev", "(anonymous namespace)::DeallocNotOwned::~DeallocNotOwned()"},
-    {"_ZNK12_GLOBAL__N_115DeallocNotOwned14getDescriptionEv", "(anonymous namespace)::DeallocNotOwned::getDescription() const"},
-    {"_ZN12_GLOBAL__N_19DeallocGCD1Ev", "(anonymous namespace)::DeallocGC::~DeallocGC()"},
-    {"_ZN12_GLOBAL__N_19DeallocGCD0Ev", "(anonymous namespace)::DeallocGC::~DeallocGC()"},
-    {"_ZNK12_GLOBAL__N_19DeallocGC14getDescriptionEv", "(anonymous namespace)::DeallocGC::getDescription() const"},
-    {"_ZN12_GLOBAL__N_110BadReleaseD1Ev", "(anonymous namespace)::BadRelease::~BadRelease()"},
-    {"_ZN12_GLOBAL__N_110BadReleaseD0Ev", "(anonymous namespace)::BadRelease::~BadRelease()"},
-    {"_ZNK12_GLOBAL__N_110BadRelease14getDescriptionEv", "(anonymous namespace)::BadRelease::getDescription() const"},
-    {"_ZN12_GLOBAL__N_115UseAfterReleaseD1Ev", "(anonymous namespace)::UseAfterRelease::~UseAfterRelease()"},
-    {"_ZN12_GLOBAL__N_115UseAfterReleaseD0Ev", "(anonymous namespace)::UseAfterRelease::~UseAfterRelease()"},
-    {"_ZNK12_GLOBAL__N_115UseAfterRelease14getDescriptionEv", "(anonymous namespace)::UseAfterRelease::getDescription() const"},
-    {"_ZN12_GLOBAL__N_110CFRefCount15BindingsPrinterD1Ev", "(anonymous namespace)::CFRefCount::BindingsPrinter::~BindingsPrinter()"},
-    {"_ZN12_GLOBAL__N_110CFRefCount15BindingsPrinterD0Ev", "(anonymous namespace)::CFRefCount::BindingsPrinter::~BindingsPrinter()"},
-    {"_ZN12_GLOBAL__N_110CFRefCount15BindingsPrinter5PrintERN4llvm11raw_ostreamEPKN5clang4ento7GRStateEPKcSB_", "(anonymous namespace)::CFRefCount::BindingsPrinter::Print(llvm::raw_ostream&, clang::ento::GRState const*, char const*, char const*)"},
-    {"_Z9PrintPoolRN4llvm11raw_ostreamEPKN5clang4ento10SymbolDataEPKNS3_7GRStateE", "PrintPool(llvm::raw_ostream&, clang::ento::SymbolData const*, clang::ento::GRState const*)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager15addPanicSummaryEPKcz", "(anonymous namespace)::RetainSummaryManager::addPanicSummary(char const*, ...)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager18addInstMethSummaryEPKcPNS_13RetainSummaryEz", "(anonymous namespace)::RetainSummaryManager::addInstMethSummary(char const*, (anonymous namespace)::RetainSummary*, ...)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager16addMethodSummaryEPN5clang14IdentifierInfoERNS_16ObjCSummaryCacheEPNS_13RetainSummaryEP13__va_list_tag", "(anonymous namespace)::RetainSummaryManager::addMethodSummary(clang::IdentifierInfo*, (anonymous namespace)::ObjCSummaryCache&, (anonymous namespace)::RetainSummary*, __va_list_tag*)"},
-    {"_ZN12_GLOBAL__N_120RetainSummaryManager17addClsMethSummaryEPN5clang14IdentifierInfoEPNS_13RetainSummaryEz", "(anonymous namespace)::RetainSummaryManager::addClsMethSummary(clang::IdentifierInfo*, (anonymous namespace)::RetainSummary*, ...)"},
-    {"_ZNK5clang4Decl7getAttrINS_18NSConsumesSelfAttrEEEPT_v", "clang::NSConsumesSelfAttr* clang::Decl::getAttr<clang::NSConsumesSelfAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_14NSConsumedAttrEEEPT_v", "clang::NSConsumedAttr* clang::Decl::getAttr<clang::NSConsumedAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_14CFConsumedAttrEEEPT_v", "clang::CFConsumedAttr* clang::Decl::getAttr<clang::CFConsumedAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_21NSReturnsRetainedAttrEEEPT_v", "clang::NSReturnsRetainedAttr* clang::Decl::getAttr<clang::NSReturnsRetainedAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_24NSReturnsNotRetainedAttrEEEPT_v", "clang::NSReturnsNotRetainedAttr* clang::Decl::getAttr<clang::NSReturnsNotRetainedAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_21CFReturnsRetainedAttrEEEPT_v", "clang::CFReturnsRetainedAttr* clang::Decl::getAttr<clang::CFReturnsRetainedAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_24CFReturnsNotRetainedAttrEEEPT_v", "clang::CFReturnsNotRetainedAttr* clang::Decl::getAttr<clang::CFReturnsNotRetainedAttr>() const"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIj9ArgEffectEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::destroy()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIj9ArgEffectEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIj9ArgEffectEEEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIj9ArgEffectEEEENS_12DenseMapInfoIjEENS7_IS6_EEE16InsertIntoBucketERKjRKS6_PSt4pairIjS6_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIj9ArgEffectEEEENS_12DenseMapInfoIjEENS7_IS6_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIj9ArgEffectEEE3addEPNS_11ImutAVLTreeIS3_EERKSt4pairIjS2_E", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*, std::pair<unsigned int, ArgEffect> const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIj9ArgEffectEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS3_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIj9ArgEffectEEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS3_EERNS_26ImutAVLTreeInOrderIteratorIS3_EESA_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >&)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIj9ArgEffectEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::operator++()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIj9ArgEffectEEE12add_internalERKSt4pairIjS2_EPNS_11ImutAVLTreeIS3_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::add_internal(std::pair<unsigned int, ArgEffect> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIj9ArgEffectEEE13markImmutableEPNS_11ImutAVLTreeIS3_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIj9ArgEffectEEE10createNodeEPNS_11ImutAVLTreeIS3_EERKSt4pairIjS2_ES7_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*, std::pair<unsigned int, ArgEffect> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIj9ArgEffectEEE11balanceTreeEPNS_11ImutAVLTreeIS3_EERKSt4pairIjS2_ES7_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*, std::pair<unsigned int, ArgEffect> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >*)"},
-    {"_ZNK5clang4ento17CallOrObjCMessage17getArgSourceRangeEj", "clang::ento::CallOrObjCMessage::getArgSourceRange(unsigned int) const"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataENS3_IS6_jNS2_16ImutKeyValueInfoIS6_jEEEENS7_IS6_S9_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataENS3_IS6_jNS2_16ImutKeyValueInfoIS6_jEEEENS7_IS6_S9_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > > >::DeleteContext(void*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::~ImutAVLFactory()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::destroy()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS0_12ImmutableMapIS7_jNS2_IS7_jEEEEEEEESaISD_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSD_SF_EERKSD_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS7_jNS2_IS7_jEEEEEEEENS_12DenseMapInfoIjEENSE_ISD_EEE16InsertIntoBucketERKjRKSD_PSt4pairIjSD_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS7_jNS2_IS7_jEEEEEEEENS_12DenseMapInfoIjEENSE_ISD_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*> >::grow(unsigned int)"},
-    {"_ZN4llvm12ImmutableMapIPKN5clang4ento10SymbolDataENS0_IS5_jNS_16ImutKeyValueInfoIS5_jEEEENS6_IS5_S8_EEE7Factory3addESA_RKS5_RKS8_", "llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::Factory::add(llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >, clang::ento::SymbolData const* const&, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE3addEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_E", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*, std::pair<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE16getCanonicalTreeEPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeISA_EERNS_26ImutAVLTreeInOrderIteratorISA_EESH_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >&)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::operator++()"},
-    {"_ZNK4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEE7isEqualERKS8_", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::isEqual(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > const&) const"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE12add_internalERKSt4pairIS6_S9_EPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::add_internal(std::pair<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE13markImmutableEPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE10createNodeEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_ESE_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*, std::pair<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataENS_12ImmutableMapIS6_jNS1_IS6_jEEEEEEE11balanceTreeEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_ESE_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*, std::pair<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >*)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataENS3_IS6_jNS2_16ImutKeyValueInfoIS6_jEEEENS7_IS6_S9_EEEEE6LookupESB_S6_", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > > >::Lookup(llvm::ImmutableMap<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > > >, clang::ento::SymbolData const*)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm13ImmutableListIPKNS0_10SymbolDataEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableList<clang::ento::SymbolData const*> >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm13ImmutableListIPKNS0_10SymbolDataEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableList<clang::ento::SymbolData const*> >::DeleteContext(void*)"},
-    {"_ZN4llvm10FoldingSetINS_17ImmutableListImplIPKN5clang4ento10SymbolDataEEEED1Ev", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SymbolData const*> >::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetINS_17ImmutableListImplIPKN5clang4ento10SymbolDataEEEED0Ev", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SymbolData const*> >::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIPKN5clang4ento10SymbolDataEEEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SymbolData const*> >::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIPKN5clang4ento10SymbolDataEEEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERSC_", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SymbolData const*> >::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_17ImmutableListImplIPKN5clang4ento10SymbolDataEEEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SymbolData const*> >::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm20ImmutableListFactoryIPKN5clang4ento10SymbolDataEE6concatERKS5_NS_13ImmutableListIS5_EE", "llvm::ImmutableListFactory<clang::ento::SymbolData const*>::concat(clang::ento::SymbolData const* const&, llvm::ImmutableList<clang::ento::SymbolData const*>)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento10SymbolDataEcNS_12DenseMapInfoIS5_EENS6_IcEEE6insertERKSt4pairIS5_cE", "llvm::DenseMap<clang::ento::SymbolData const*, char, llvm::DenseMapInfo<clang::ento::SymbolData const*>, llvm::DenseMapInfo<char> >::insert(std::pair<clang::ento::SymbolData const*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento10SymbolDataEcNS_12DenseMapInfoIS5_EENS6_IcEEE16InsertIntoBucketERKS5_RKcPSt4pairIS5_cE", "llvm::DenseMap<clang::ento::SymbolData const*, char, llvm::DenseMapInfo<clang::ento::SymbolData const*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(clang::ento::SymbolData const* const&, char const&, std::pair<clang::ento::SymbolData const*, char>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento10SymbolDataEcNS_12DenseMapInfoIS5_EENS6_IcEEE4growEj", "llvm::DenseMap<clang::ento::SymbolData const*, char, llvm::DenseMapInfo<clang::ento::SymbolData const*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN5clang4ento7GRState7PrinterD1Ev", "clang::ento::GRState::Printer::~Printer()"},
-    {"_ZN5clang4ento7GRState7PrinterD0Ev", "clang::ento::GRState::Printer::~Printer()"},
-    {"_ZNSt6vectorIPN5clang4ento7GRState7PrinterESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<clang::ento::GRState::Printer*, std::allocator<clang::ento::GRState::Printer*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ento::GRState::Printer**, std::vector<clang::ento::GRState::Printer*, std::allocator<clang::ento::GRState::Printer*> > >, clang::ento::GRState::Printer* const&)"},
-    {"_ZN5clang4ento13TransferFuncsD1Ev", "clang::ento::TransferFuncs::~TransferFuncs()"},
-    {"_ZN5clang4ento13TransferFuncsD0Ev", "clang::ento::TransferFuncs::~TransferFuncs()"},
-    {"_ZN5clang4ento13TransferFuncs16RegisterPrintersERSt6vectorIPNS0_7GRState7PrinterESaIS5_EE", "clang::ento::TransferFuncs::RegisterPrinters(std::vector<clang::ento::GRState::Printer*, std::allocator<clang::ento::GRState::Printer*> >&)"},
-    {"_ZN5clang4ento13TransferFuncs14RegisterChecksERNS0_10ExprEngineE", "clang::ento::TransferFuncs::RegisterChecks(clang::ento::ExprEngine&)"},
-    {"_ZN5clang4ento13TransferFuncs8evalCallERNS0_15ExplodedNodeSetERNS0_10ExprEngineERNS0_15StmtNodeBuilderEPKNS_8CallExprENS0_4SValEPNS0_12ExplodedNodeE", "clang::ento::TransferFuncs::evalCall(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::CallExpr const*, clang::ento::SVal, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento13TransferFuncs15evalObjCMessageERNS0_15ExplodedNodeSetERNS0_10ExprEngineERNS0_15StmtNodeBuilderENS0_11ObjCMessageEPNS0_12ExplodedNodeEPKNS0_7GRStateE", "clang::ento::TransferFuncs::evalObjCMessage(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ento::ObjCMessage, clang::ento::ExplodedNode*, clang::ento::GRState const*)"},
-    {"_ZN5clang4ento13TransferFuncs8evalBindERNS0_18StmtNodeBuilderRefENS0_4SValES4_", "clang::ento::TransferFuncs::evalBind(clang::ento::StmtNodeBuilderRef&, clang::ento::SVal, clang::ento::SVal)"},
-    {"_ZN5clang4ento13TransferFuncs11evalEndPathERNS0_10ExprEngineERNS0_24EndOfFunctionNodeBuilderE", "clang::ento::TransferFuncs::evalEndPath(clang::ento::ExprEngine&, clang::ento::EndOfFunctionNodeBuilder&)"},
-    {"_ZN5clang4ento13TransferFuncs15evalDeadSymbolsERNS0_15ExplodedNodeSetERNS0_10ExprEngineERNS0_15StmtNodeBuilderEPNS0_12ExplodedNodeEPKNS0_7GRStateERNS0_12SymbolReaperE", "clang::ento::TransferFuncs::evalDeadSymbols(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SymbolReaper&)"},
-    {"_ZN5clang4ento13TransferFuncs10evalReturnERNS0_15ExplodedNodeSetERNS0_10ExprEngineERNS0_15StmtNodeBuilderEPKNS_10ReturnStmtEPNS0_12ExplodedNodeE", "clang::ento::TransferFuncs::evalReturn(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ReturnStmt const*, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento13TransferFuncs10evalAssumeEPKNS0_7GRStateENS0_4SValEb", "clang::ento::TransferFuncs::evalAssume(clang::ento::GRState const*, clang::ento::SVal, bool)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIj9ArgEffectEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<unsigned int, ArgEffect> >::~ImutAVLFactory()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEjEEEC2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> >::ImutAVLFactory()"},
-    {"_ZN5clang4ento10ExprEngine13evalArgumentsENS_17ConstExprIteratorES2_PKNS_17FunctionProtoTypeEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetEb", "clang::ento::ExprEngine::evalArguments(clang::ConstExprIterator, clang::ConstExprIterator, clang::FunctionProtoType const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&, bool)"},
-    {"_ZN5clang4ento10ExprEngine16getCXXThisRegionEPKNS_13CXXRecordDeclEPKNS_17StackFrameContextE", "clang::ento::ExprEngine::getCXXThisRegion(clang::CXXRecordDecl const*, clang::StackFrameContext const*)"},
-    {"_ZN5clang4ento10ExprEngine16getCXXThisRegionEPKNS_13CXXMethodDeclEPKNS_17StackFrameContextE", "clang::ento::ExprEngine::getCXXThisRegion(clang::CXXMethodDecl const*, clang::StackFrameContext const*)"},
-    {"_ZN5clang4ento10ExprEngine24CreateCXXTemporaryObjectEPKNS_4ExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::CreateCXXTemporaryObject(clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine21VisitCXXConstructExprEPKNS_16CXXConstructExprEPKNS0_9MemRegionEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCXXConstructExpr(clang::CXXConstructExpr const*, clang::ento::MemRegion const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine18VisitCXXDestructorEPKNS_17CXXDestructorDeclEPKNS0_9MemRegionEPKNS_4StmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCXXDestructor(clang::CXXDestructorDecl const*, clang::ento::MemRegion const*, clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine22VisitCXXMemberCallExprEPKNS_17CXXMemberCallExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCXXMemberCallExpr(clang::CXXMemberCallExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine14evalMethodCallEPKNS_8CallExprEPKNS_13CXXMethodDeclEPKNS_4ExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetESE_", "clang::ento::ExprEngine::evalMethodCall(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine24VisitCXXOperatorCallExprEPKNS_19CXXOperatorCallExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCXXOperatorCallExpr(clang::CXXOperatorCallExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine15VisitCXXNewExprEPKNS_10CXXNewExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCXXNewExpr(clang::CXXNewExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine18VisitCXXDeleteExprEPKNS_13CXXDeleteExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCXXDeleteExpr(clang::CXXDeleteExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento10ExprEngine16VisitCXXThisExprEPKNS_11CXXThisExprEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetE", "clang::ento::ExprEngine::VisitCXXThisExpr(clang::CXXThisExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN12_GLOBAL__N_114CallExprWLItemELb0EE4growEm", "llvm::SmallVectorTemplateBase<(anonymous namespace)::CallExprWLItem, false>::grow(unsigned long)"},
-    {"_ZN5clang4ento7CheckerD0Ev", "clang::ento::Checker::~Checker()"},
-    {"_ZN5clang4ento7CheckerD1Ev", "clang::ento::Checker::~Checker()"},
-    {"_ZN5clang4ento7CheckerD2Ev", "clang::ento::Checker::~Checker()"},
-    {"_ZN5clang4ento14CheckerContextD1Ev", "clang::ento::CheckerContext::~CheckerContext()"},
-    {"_ZN5clang4ento14CheckerContextD2Ev", "clang::ento::CheckerContext::~CheckerContext()"},
-    {"_ZN5clang4ento13containsMacroEPKNS_4StmtE", "clang::ento::containsMacro(clang::Stmt const*)"},
-    {"_ZN5clang4ento12containsEnumEPKNS_4StmtE", "clang::ento::containsEnum(clang::Stmt const*)"},
-    {"_ZN5clang4ento19containsStaticLocalEPKNS_4StmtE", "clang::ento::containsStaticLocal(clang::Stmt const*)"},
-    {"_ZN5clang4ento23containsBuiltinOffsetOfEPKNS_4StmtE", "clang::ento::containsBuiltinOffsetOf(clang::Stmt const*)"},
-    {"_ZN5clang4ento8WorkList7VisitorD0Ev", "clang::ento::WorkList::Visitor::~Visitor()"},
-    {"_ZN5clang4ento8WorkList7VisitorD1Ev", "clang::ento::WorkList::Visitor::~Visitor()"},
-    {"_ZN5clang4ento8WorkList7VisitorD2Ev", "clang::ento::WorkList::Visitor::~Visitor()"},
-    {"_ZN5clang4ento8WorkListD0Ev", "clang::ento::WorkList::~WorkList()"},
-    {"_ZN5clang4ento8WorkListD1Ev", "clang::ento::WorkList::~WorkList()"},
-    {"_ZN5clang4ento8WorkListD2Ev", "clang::ento::WorkList::~WorkList()"},
-    {"_ZN5clang4ento8WorkList7makeDFSEv", "clang::ento::WorkList::makeDFS()"},
-    {"_ZN5clang4ento8WorkList7makeBFSEv", "clang::ento::WorkList::makeBFS()"},
-    {"_ZN5clang4ento8WorkList23makeBFSBlockDFSContentsEv", "clang::ento::WorkList::makeBFSBlockDFSContents()"},
-    {"_ZN5clang4ento10CoreEngine15ExecuteWorkListEPKNS_15LocationContextEjPKNS0_7GRStateE", "clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, unsigned int, clang::ento::GRState const*)"},
-    {"_ZN5clang4ento10CoreEngine12generateNodeERKNS_12ProgramPointEPKNS0_7GRStateEPNS0_12ExplodedNodeE", "clang::ento::CoreEngine::generateNode(clang::ProgramPoint const&, clang::ento::GRState const*, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10CoreEngine15HandleBlockEdgeERKNS_9BlockEdgeEPNS0_12ExplodedNodeE", "clang::ento::CoreEngine::HandleBlockEdge(clang::BlockEdge const&, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10CoreEngine19HandleBlockEntranceERKNS_13BlockEntranceEPNS0_12ExplodedNodeE", "clang::ento::CoreEngine::HandleBlockEntrance(clang::BlockEntrance const&, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10CoreEngine15HandleCallEnterERKNS_9CallEnterEPKNS_8CFGBlockEjPNS0_12ExplodedNodeE", "clang::ento::CoreEngine::HandleCallEnter(clang::CallEnter const&, clang::CFGBlock const*, unsigned int, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10CoreEngine14HandleCallExitERKNS_8CallExitEPNS0_12ExplodedNodeE", "clang::ento::CoreEngine::HandleCallExit(clang::CallExit const&, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10CoreEngine14HandlePostStmtEPKNS_8CFGBlockEjPNS0_12ExplodedNodeE", "clang::ento::CoreEngine::HandlePostStmt(clang::CFGBlock const*, unsigned int, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10CoreEngine31ExecuteWorkListWithInitialStateEPKNS_15LocationContextEjPKNS0_7GRStateERNS0_15ExplodedNodeSetE", "clang::ento::CoreEngine::ExecuteWorkListWithInitialState(clang::LocationContext const*, unsigned int, clang::ento::GRState const*, clang::ento::ExplodedNodeSet&)"},
-    {"_ZN5clang4ento24EndOfFunctionNodeBuilderD1Ev", "clang::ento::EndOfFunctionNodeBuilder::~EndOfFunctionNodeBuilder()"},
-    {"_ZN5clang4ento15StmtNodeBuilderC1EPKNS_8CFGBlockEjPNS0_12ExplodedNodeEPNS0_10CoreEngineERNS0_14GRStateManagerE", "clang::ento::StmtNodeBuilder::StmtNodeBuilder(clang::CFGBlock const*, unsigned int, clang::ento::ExplodedNode*, clang::ento::CoreEngine*, clang::ento::GRStateManager&)"},
-    {"_ZN5clang4ento15StmtNodeBuilderD1Ev", "clang::ento::StmtNodeBuilder::~StmtNodeBuilder()"},
-    {"_ZN5clang4ento10CoreEngine15HandleBlockExitEPKNS_8CFGBlockEPNS0_12ExplodedNodeE", "clang::ento::CoreEngine::HandleBlockExit(clang::CFGBlock const*, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento10CoreEngine12HandleBranchEPKNS_4StmtES4_PKNS_8CFGBlockEPNS0_12ExplodedNodeE", "clang::ento::CoreEngine::HandleBranch(clang::Stmt const*, clang::Stmt const*, clang::CFGBlock const*, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento17BranchNodeBuilderD1Ev", "clang::ento::BranchNodeBuilder::~BranchNodeBuilder()"},
-    {"_ZN5clang4ento22GenericNodeBuilderImpl16generateNodeImplEPKNS0_7GRStateEPNS0_12ExplodedNodeENS_12ProgramPointEb", "clang::ento::GenericNodeBuilderImpl::generateNodeImpl(clang::ento::GRState const*, clang::ento::ExplodedNode*, clang::ProgramPoint, bool)"},
-    {"_ZN5clang4ento15StmtNodeBuilderC2EPKNS_8CFGBlockEjPNS0_12ExplodedNodeEPNS0_10CoreEngineERNS0_14GRStateManagerE", "clang::ento::StmtNodeBuilder::StmtNodeBuilder(clang::CFGBlock const*, unsigned int, clang::ento::ExplodedNode*, clang::ento::CoreEngine*, clang::ento::GRStateManager&)"},
-    {"_ZN5clang4ento15StmtNodeBuilderD2Ev", "clang::ento::StmtNodeBuilder::~StmtNodeBuilder()"},
-    {"_ZN5clang4ento15StmtNodeBuilder22GenerateAutoTransitionEPNS0_12ExplodedNodeE", "clang::ento::StmtNodeBuilder::GenerateAutoTransition(clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento15StmtNodeBuilder8MakeNodeERNS0_15ExplodedNodeSetEPKNS_4StmtEPNS0_12ExplodedNodeEPKNS0_7GRStateENS_12ProgramPoint4KindE", "clang::ento::StmtNodeBuilder::MakeNode(clang::ento::ExplodedNodeSet&, clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ProgramPoint::Kind)"},
-    {"_ZN5clang4ento15StmtNodeBuilder20generateNodeInternalEPKNS_4StmtEPKNS0_7GRStateEPNS0_12ExplodedNodeENS_12ProgramPoint4KindEPKv", "clang::ento::StmtNodeBuilder::generateNodeInternal(clang::Stmt const*, clang::ento::GRState const*, clang::ento::ExplodedNode*, clang::ProgramPoint::Kind, void const*)"},
-    {"_ZN5clang4ento15StmtNodeBuilder20generateNodeInternalERKNS_12ProgramPointEPKNS0_7GRStateEPNS0_12ExplodedNodeE", "clang::ento::StmtNodeBuilder::generateNodeInternal(clang::ProgramPoint const&, clang::ento::GRState const*, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento17BranchNodeBuilder12generateNodeEPKNS0_7GRStateEb", "clang::ento::BranchNodeBuilder::generateNode(clang::ento::GRState const*, bool)"},
-    {"_ZN5clang4ento17BranchNodeBuilderD2Ev", "clang::ento::BranchNodeBuilder::~BranchNodeBuilder()"},
-    {"_ZN5clang4ento23IndirectGotoNodeBuilder12generateNodeERKNS1_8iteratorEPKNS0_7GRStateEb", "clang::ento::IndirectGotoNodeBuilder::generateNode(clang::ento::IndirectGotoNodeBuilder::iterator const&, clang::ento::GRState const*, bool)"},
-    {"_ZN5clang4ento17SwitchNodeBuilder20generateCaseStmtNodeERKNS1_8iteratorEPKNS0_7GRStateE", "clang::ento::SwitchNodeBuilder::generateCaseStmtNode(clang::ento::SwitchNodeBuilder::iterator const&, clang::ento::GRState const*)"},
-    {"_ZN5clang4ento17SwitchNodeBuilder23generateDefaultCaseNodeEPKNS0_7GRStateEb", "clang::ento::SwitchNodeBuilder::generateDefaultCaseNode(clang::ento::GRState const*, bool)"},
-    {"_ZN5clang4ento24EndOfFunctionNodeBuilderD2Ev", "clang::ento::EndOfFunctionNodeBuilder::~EndOfFunctionNodeBuilder()"},
-    {"_ZN5clang4ento24EndOfFunctionNodeBuilder20GenerateCallExitNodeEPKNS0_7GRStateE", "clang::ento::EndOfFunctionNodeBuilder::GenerateCallExitNode(clang::ento::GRState const*)"},
-    {"_ZN5clang4ento24EndOfFunctionNodeBuilder12generateNodeEPKNS0_7GRStateEPKvPNS0_12ExplodedNodeE", "clang::ento::EndOfFunctionNodeBuilder::generateNode(clang::ento::GRState const*, void const*, clang::ento::ExplodedNode*)"},
-    {"_ZN5clang4ento20CallEnterNodeBuilder12generateNodeEPKNS0_7GRStateE", "clang::ento::CallEnterNodeBuilder::generateNode(clang::ento::GRState const*)"},
-    {"_ZN5clang4ento19CallExitNodeBuilder12generateNodeEPKNS0_7GRStateE", "clang::ento::CallExitNodeBuilder::generateNode(clang::ento::GRState const*)"},
-    {"_ZN12_GLOBAL__N_119BFSBlockDFSContentsD1Ev", "(anonymous namespace)::BFSBlockDFSContents::~BFSBlockDFSContents()"},
-    {"_ZN12_GLOBAL__N_119BFSBlockDFSContentsD0Ev", "(anonymous namespace)::BFSBlockDFSContents::~BFSBlockDFSContents()"},
-    {"_ZNK12_GLOBAL__N_119BFSBlockDFSContents7hasWorkEv", "(anonymous namespace)::BFSBlockDFSContents::hasWork() const"},
-    {"_ZN12_GLOBAL__N_119BFSBlockDFSContents7enqueueERKN5clang4ento12WorkListUnitE", "(anonymous namespace)::BFSBlockDFSContents::enqueue(clang::ento::WorkListUnit const&)"},
-    {"_ZN12_GLOBAL__N_119BFSBlockDFSContents7dequeueEv", "(anonymous namespace)::BFSBlockDFSContents::dequeue()"},
-    {"_ZN12_GLOBAL__N_119BFSBlockDFSContents20visitItemsInWorkListERN5clang4ento8WorkList7VisitorE", "(anonymous namespace)::BFSBlockDFSContents::visitItemsInWorkList(clang::ento::WorkList::Visitor&)"},
-    {"_ZN12_GLOBAL__N_13BFSD1Ev", "(anonymous namespace)::BFS::~BFS()"},
-    {"_ZN12_GLOBAL__N_13BFSD0Ev", "(anonymous namespace)::BFS::~BFS()"},
-    {"_ZNK12_GLOBAL__N_13BFS7hasWorkEv", "(anonymous namespace)::BFS::hasWork() const"},
-    {"_ZN12_GLOBAL__N_13BFS7enqueueERKN5clang4ento12WorkListUnitE", "(anonymous namespace)::BFS::enqueue(clang::ento::WorkListUnit const&)"},
-    {"_ZN12_GLOBAL__N_13BFS7dequeueEv", "(anonymous namespace)::BFS::dequeue()"},
-    {"_ZN12_GLOBAL__N_13BFS20visitItemsInWorkListERN5clang4ento8WorkList7VisitorE", "(anonymous namespace)::BFS::visitItemsInWorkList(clang::ento::WorkList::Visitor&)"},
-    {"_ZN12_GLOBAL__N_13DFSD1Ev", "(anonymous namespace)::DFS::~DFS()"},
-    {"_ZN12_GLOBAL__N_13DFSD0Ev", "(anonymous namespace)::DFS::~DFS()"},
-    {"_ZNK12_GLOBAL__N_13DFS7hasWorkEv", "(anonymous namespace)::DFS::hasWork() const"},
-    {"_ZN12_GLOBAL__N_13DFS7enqueueERKN5clang4ento12WorkListUnitE", "(anonymous namespace)::DFS::enqueue(clang::ento::WorkListUnit const&)"},
-    {"_ZN12_GLOBAL__N_13DFS7dequeueEv", "(anonymous namespace)::DFS::dequeue()"},
-    {"_ZN12_GLOBAL__N_13DFS20visitItemsInWorkListERN5clang4ento8WorkList7VisitorE", "(anonymous namespace)::DFS::visitItemsInWorkList(clang::ento::WorkList::Visitor&)"},
-    {"_ZNSt6vectorISt4pairIN5clang9BlockEdgeEPKNS1_4ento12ExplodedNodeEESaIS7_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS7_S9_EERKS7_", "std::vector<std::pair<clang::BlockEdge, clang::ento::ExplodedNode const*>, std::allocator<std::pair<clang::BlockEdge, clang::ento::ExplodedNode const*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<clang::BlockEdge, clang::ento::ExplodedNode const*>*, std::vector<std::pair<clang::BlockEdge, clang::ento::ExplodedNode const*>, std::allocator<std::pair<clang::BlockEdge, clang::ento::ExplodedNode const*> > > >, std::pair<clang::BlockEdge, clang::ento::ExplodedNode const*> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang4ento12WorkListUnitELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::ento::WorkListUnit, false>::grow(unsigned long)"},
-    {"_ZNSt5dequeIN5clang4ento12WorkListUnitESaIS2_EE17_M_reallocate_mapEmb", "std::deque<clang::ento::WorkListUnit, std::allocator<clang::ento::WorkListUnit> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZNSt11_Deque_baseIN5clang4ento12WorkListUnitESaIS2_EE17_M_initialize_mapEm", "std::_Deque_base<clang::ento::WorkListUnit, std::allocator<clang::ento::WorkListUnit> >::_M_initialize_map(unsigned long)"},
-    {"_ZNK5clang4ento11Environment10lookupExprEPKNS_4StmtE", "clang::ento::Environment::lookupExpr(clang::Stmt const*) const"},
-    {"_ZNK5clang4ento11Environment7getSValEPKNS_4StmtERNS0_11SValBuilderE", "clang::ento::Environment::getSVal(clang::Stmt const*, clang::ento::SValBuilder&) const"},
-    {"_ZN5clang4ento18EnvironmentManager8bindExprENS0_11EnvironmentEPKNS_4StmtENS0_4SValEb", "clang::ento::EnvironmentManager::bindExpr(clang::ento::Environment, clang::Stmt const*, clang::ento::SVal, bool)"},
-    {"_ZN5clang4ento18EnvironmentManager19bindExprAndLocationENS0_11EnvironmentEPKNS_4StmtENS0_4SValES6_", "clang::ento::EnvironmentManager::bindExprAndLocation(clang::ento::Environment, clang::Stmt const*, clang::ento::SVal, clang::ento::SVal)"},
-    {"_ZN5clang4ento18EnvironmentManager18removeDeadBindingsENS0_11EnvironmentERNS0_12SymbolReaperEPKNS0_7GRStateERN4llvm15SmallVectorImplIPKNS0_9MemRegionEEE", "clang::ento::EnvironmentManager::removeDeadBindings(clang::ento::Environment, clang::ento::SymbolReaper&, clang::ento::GRState const*, llvm::SmallVectorImpl<clang::ento::MemRegion const*>&)"},
-    {"_ZN12_GLOBAL__N_116MarkLiveCallbackD1Ev", "(anonymous namespace)::MarkLiveCallback::~MarkLiveCallback()"},
-    {"_ZN12_GLOBAL__N_116MarkLiveCallback11VisitSymbolEPKN5clang4ento10SymbolDataE", "(anonymous namespace)::MarkLiveCallback::VisitSymbol(clang::ento::SymbolData const*)"},
-    {"_ZN12_GLOBAL__N_116MarkLiveCallbackD0Ev", "(anonymous namespace)::MarkLiveCallback::~MarkLiveCallback()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPKN5clang4StmtENS2_4ento4SValEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<clang::Stmt const*, clang::ento::SVal>, false>::grow(unsigned long)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE3addEPNS_11ImutAVLTreeIS8_EERKSt4pairIS5_S7_E", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, std::pair<clang::Stmt const*, clang::ento::SVal> const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS8_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS8_EERNS_26ImutAVLTreeInOrderIteratorIS8_EESF_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE12add_internalERKSt4pairIS5_S7_EPNS_11ImutAVLTreeIS8_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::add_internal(std::pair<clang::Stmt const*, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE13markImmutableEPNS_11ImutAVLTreeIS8_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE10createNodeEPNS_11ImutAVLTreeIS8_EERKSt4pairIS5_S7_ESC_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, std::pair<clang::Stmt const*, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE11balanceTreeEPNS_11ImutAVLTreeIS8_EERKSt4pairIS5_S7_ESC_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, std::pair<clang::Stmt const*, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE6removeEPNS_11ImutAVLTreeIS8_EERKS5_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::remove(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, clang::Stmt const* const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE15remove_internalERKS5_PNS_11ImutAVLTreeIS8_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::remove_internal(clang::Stmt const* const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE16removeMinBindingEPNS_11ImutAVLTreeIS8_EERSC_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*&)"},
-    {"_ZN5clang4ento12ExplodedNode7AuditorD0Ev", "clang::ento::ExplodedNode::Auditor::~Auditor()"},
-    {"_ZN5clang4ento12ExplodedNode7AuditorD1Ev", "clang::ento::ExplodedNode::Auditor::~Auditor()"},
-    {"_ZN5clang4ento12ExplodedNode7AuditorD2Ev", "clang::ento::ExplodedNode::Auditor::~Auditor()"},
-    {"_ZN5clang4ento12ExplodedNode10SetAuditorEPNS1_7AuditorE", "clang::ento::ExplodedNode::SetAuditor(clang::ento::ExplodedNode::Auditor*)"},
-    {"_ZN5clang4ento13ExplodedGraphD1Ev", "clang::ento::ExplodedGraph::~ExplodedGraph()"},
-    {"_ZN5clang4ento13ExplodedGraphD2Ev", "clang::ento::ExplodedGraph::~ExplodedGraph()"},
-    {"_ZN5clang4ento13ExplodedGraph29reclaimRecentlyAllocatedNodesEv", "clang::ento::ExplodedGraph::reclaimRecentlyAllocatedNodes()"},
-    {"_ZN5clang4ento12ExplodedNode14addPredecessorEPS1_RNS0_13ExplodedGraphE", "clang::ento::ExplodedNode::addPredecessor(clang::ento::ExplodedNode*, clang::ento::ExplodedGraph&)"},
-    {"_ZN5clang4ento12ExplodedNode9NodeGroup7addNodeEPS1_RNS0_13ExplodedGraphE", "clang::ento::ExplodedNode::NodeGroup::addNode(clang::ento::ExplodedNode*, clang::ento::ExplodedGraph&)"},
-    {"_ZN5clang4ento12ExplodedNode9NodeGroup11replaceNodeEPS1_", "clang::ento::ExplodedNode::NodeGroup::replaceNode(clang::ento::ExplodedNode*)"},
-    {"_ZNK5clang4ento12ExplodedNode9NodeGroup4sizeEv", "clang::ento::ExplodedNode::NodeGroup::size() const"},
-    {"_ZNK5clang4ento12ExplodedNode9NodeGroup5beginEv", "clang::ento::ExplodedNode::NodeGroup::begin() const"},
-    {"_ZNK5clang4ento12ExplodedNode9NodeGroup3endEv", "clang::ento::ExplodedNode::NodeGroup::end() const"},
-    {"_ZN5clang4ento13ExplodedGraph7getNodeERKNS_12ProgramPointEPKNS0_7GRStateEPb", "clang::ento::ExplodedGraph::getNode(clang::ProgramPoint const&, clang::ento::GRState const*, bool*)"},
-    {"_ZNK5clang4ento13ExplodedGraph4TrimEPKPKNS0_12ExplodedNodeES6_PN4llvm8DenseMapIPKvSA_NS7_12DenseMapInfoISA_EESC_EE", "clang::ento::ExplodedGraph::Trim(clang::ento::ExplodedNode const* const*, clang::ento::ExplodedNode const* const*, llvm::DenseMap<void const*, void const*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<void const*> >*) const"},
-    {"_ZNK5clang4ento13ExplodedGraph12TrimInternalEPKPKNS0_12ExplodedNodeES6_PNS0_21InterExplodedGraphMapEPN4llvm8DenseMapIPKvSC_NS9_12DenseMapInfoISC_EESE_EE", "clang::ento::ExplodedGraph::TrimInternal(clang::ento::ExplodedNode const* const*, clang::ento::ExplodedNode const* const*, clang::ento::InterExplodedGraphMap*, llvm::DenseMap<void const*, void const*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<void const*> >*) const"},
-    {"_ZNK5clang4ento21InterExplodedGraphMap13getMappedNodeEPKNS0_12ExplodedNodeE", "clang::ento::InterExplodedGraphMap::getMappedNode(clang::ento::ExplodedNode const*) const"},
-    {"_ZN4llvm8DenseMapIPKvS2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<void const*, void const*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<void const*> >::InsertIntoBucket(void const* const&, void const* const&, std::pair<void const*, void const*>*)"},
-    {"_ZN4llvm8DenseMapIPKvS2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<void const*, void const*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<void const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeEPS3_NS_12DenseMapInfoIS5_EENS7_IS6_EEE16InsertIntoBucketERKS5_RKS6_PSt4pairIS5_S6_E", "llvm::DenseMap<clang::ento::ExplodedNode const*, clang::ento::ExplodedNode*, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<clang::ento::ExplodedNode*> >::InsertIntoBucket(clang::ento::ExplodedNode const* const&, clang::ento::ExplodedNode* const&, std::pair<clang::ento::ExplodedNode const*, clang::ento::ExplodedNode*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeEPS3_NS_12DenseMapInfoIS5_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::ento::ExplodedNode const*, clang::ento::ExplodedNode*, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<clang::ento::ExplodedNode*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeEcNS_12DenseMapInfoIS5_EENS6_IcEEE6insertERKSt4pairIS5_cE", "llvm::DenseMap<clang::ento::ExplodedNode const*, char, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<char> >::insert(std::pair<clang::ento::ExplodedNode const*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeEcNS_12DenseMapInfoIS5_EENS6_IcEEE16InsertIntoBucketERKS5_RKcPSt4pairIS5_cE", "llvm::DenseMap<clang::ento::ExplodedNode const*, char, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(clang::ento::ExplodedNode const* const&, char const&, std::pair<clang::ento::ExplodedNode const*, char>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento12ExplodedNodeEcNS_12DenseMapInfoIS5_EENS6_IcEEE4growEj", "llvm::DenseMap<clang::ento::ExplodedNode const*, char, llvm::DenseMapInfo<clang::ento::ExplodedNode const*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN5clang4ento12ExplodedNodeESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<clang::ento::ExplodedNode*, std::allocator<clang::ento::ExplodedNode*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ento::ExplodedNode**, std::vector<clang::ento::ExplodedNode*, std::allocator<clang::ento::ExplodedNode*> > >, clang::ento::ExplodedNode* const&)"},
-    {"_ZNK4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPvS2_EEE7isEqualERKS4_", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >::isEqual(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> > const&) const"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIPvS2_EEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<void*, void*> >::operator++()"},
-    {"_ZN5clang4ento21InterExplodedGraphMapD1Ev", "clang::ento::InterExplodedGraphMap::~InterExplodedGraphMap()"},
-    {"_ZN5clang4ento21InterExplodedGraphMapD0Ev", "clang::ento::InterExplodedGraphMap::~InterExplodedGraphMap()"},
-    {"_ZN5clang4ento22CreateFlatStoreManagerERNS0_14GRStateManagerE", "clang::ento::CreateFlatStoreManager(clang::ento::GRStateManager&)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManagerD1Ev", "(anonymous namespace)::FlatStoreManager::~FlatStoreManager()"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManagerD0Ev", "(anonymous namespace)::FlatStoreManager::~FlatStoreManager()"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager8RetrieveEPKvN5clang4ento3LocENS3_8QualTypeE", "(anonymous namespace)::FlatStoreManager::Retrieve(void const*, clang::ento::Loc, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager4BindEPKvN5clang4ento3LocENS4_4SValE", "(anonymous namespace)::FlatStoreManager::Bind(void const*, clang::ento::Loc, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager6RemoveEPKvN5clang4ento3LocE", "(anonymous namespace)::FlatStoreManager::Remove(void const*, clang::ento::Loc)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager19BindCompoundLiteralEPKvPKN5clang19CompoundLiteralExprEPKNS3_15LocationContextENS3_4ento4SValE", "(anonymous namespace)::FlatStoreManager::BindCompoundLiteral(void const*, clang::CompoundLiteralExpr const*, clang::LocationContext const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager15getInitialStoreEPKN5clang15LocationContextE", "(anonymous namespace)::FlatStoreManager::getInitialStore(clang::LocationContext const*)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager15getSubRegionMapEPKv", "(anonymous namespace)::FlatStoreManager::getSubRegionMap(void const*)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager14ArrayToPointerEN5clang4ento3LocE", "(anonymous namespace)::FlatStoreManager::ArrayToPointer(clang::ento::Loc)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager18removeDeadBindingsEPKvPKN5clang17StackFrameContextERNS3_4ento12SymbolReaperERN4llvm15SmallVectorImplIPKNS7_9MemRegionEEE", "(anonymous namespace)::FlatStoreManager::removeDeadBindings(void const*, clang::StackFrameContext const*, clang::ento::SymbolReaper&, llvm::SmallVectorImpl<clang::ento::MemRegion const*>&)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager8BindDeclEPKvPKN5clang4ento9VarRegionENS4_4SValE", "(anonymous namespace)::FlatStoreManager::BindDecl(void const*, clang::ento::VarRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager18BindDeclWithNoInitEPKvPKN5clang4ento9VarRegionE", "(anonymous namespace)::FlatStoreManager::BindDeclWithNoInit(void const*, clang::ento::VarRegion const*)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager17InvalidateRegionsEPKvPKPKN5clang4ento9MemRegionES9_PKNS3_4ExprEjPN4llvm8DenseSetIPKNS4_10SymbolDataENSD_12DenseMapInfoISH_EEEEbPNSD_11SmallVectorIS7_Lj8EEE", "(anonymous namespace)::FlatStoreManager::InvalidateRegions(void const*, clang::ento::MemRegion const* const*, clang::ento::MemRegion const* const*, clang::Expr const*, unsigned int, llvm::DenseSet<clang::ento::SymbolData const*, llvm::DenseMapInfo<clang::ento::SymbolData const*> >*, bool, llvm::SmallVector<clang::ento::MemRegion const*, 8u>*)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager5printEPKvRN4llvm11raw_ostreamEPKcS7_", "(anonymous namespace)::FlatStoreManager::print(void const*, llvm::raw_ostream&, char const*, char const*)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager12iterBindingsEPKvRN5clang4ento12StoreManager15BindingsHandlerE", "(anonymous namespace)::FlatStoreManager::iterBindings(void const*, clang::ento::StoreManager::BindingsHandler&)"},
-    {"_ZN12_GLOBAL__N_116FlatStoreManager16RegionToIntervalEPKN5clang4ento9MemRegionE", "(anonymous namespace)::FlatStoreManager::RegionToInterval(clang::ento::MemRegion const*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::destroy()"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS0_20ImmutableIntervalMapINS4_4SValEEEEEEESaISD_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSD_SF_EERKSD_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS4_4SValEEEEEEENS_12DenseMapInfoIjEENSE_ISD_EEE16InsertIntoBucketERKjRKSD_PSt4pairIjSD_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS4_4SValEEEEEEENS_12DenseMapInfoIjEENSE_ISD_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*> >::grow(unsigned int)"},
-    {"_ZN4llvm12ImmutableMapIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS2_4SValEEENS_16ImutKeyValueInfoIS5_S8_EEE7Factory3addESB_RKS5_RKS8_", "llvm::ImmutableMap<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal>, llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::Factory::add(llvm::ImmutableMap<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal>, llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >, clang::ento::MemRegion const* const&, llvm::ImmutableIntervalMap<clang::ento::SVal> const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE3addEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_E", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*, std::pair<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE16getCanonicalTreeEPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeISA_EERNS_26ImutAVLTreeInOrderIteratorISA_EESH_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >&)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::operator++()"},
-    {"_ZNK4llvm11ImutAVLTreeINS_16ImutIntervalInfoIN5clang4ento4SValEEEE7isEqualERKS6_", "llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >::isEqual(llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> > const&) const"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutIntervalInfoIN5clang4ento4SValEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutIntervalInfo<clang::ento::SVal> >::operator++()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE12add_internalERKSt4pairIS6_S9_EPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::add_internal(std::pair<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE13markImmutableEPNS_11ImutAVLTreeISA_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE10createNodeEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_ESE_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*, std::pair<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEE11balanceTreeEPNS_11ImutAVLTreeISA_EERKSt4pairIS6_S9_ESE_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*, std::pair<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutIntervalInfoIN5clang4ento4SValEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >::destroy()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutIntervalInfoIN5clang4ento4SValEEEEESaIS8_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS8_SA_EERKS8_", "std::vector<llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >**, std::vector<llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*> > >, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >* const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutIntervalInfoIN5clang4ento4SValEEEE13computeDigestEPS6_S7_RKSt4pairINS_8IntervalES4_E", "llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >::computeDigest(llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, std::pair<llvm::Interval, clang::ento::SVal> const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutIntervalInfoIN5clang4ento4SValEEEEENS_12DenseMapInfoIjEENS9_IS8_EEE16InsertIntoBucketERKjRKS8_PSt4pairIjS8_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutIntervalInfoIN5clang4ento4SValEEEEENS_12DenseMapInfoIjEENS9_IS8_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutIntervalInfoIN5clang4ento4SValEEEE3addEPNS_11ImutAVLTreeIS5_EERKSt4pairINS_8IntervalES4_E", "llvm::ImutAVLFactory<llvm::ImutIntervalInfo<clang::ento::SVal> >::add(llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, std::pair<llvm::Interval, clang::ento::SVal> const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutIntervalInfoIN5clang4ento4SValEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS5_EE", "llvm::ImutAVLFactory<llvm::ImutIntervalInfo<clang::ento::SVal> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutIntervalInfoIN5clang4ento4SValEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS5_EERNS_26ImutAVLTreeInOrderIteratorIS5_EESC_", "llvm::ImutAVLFactory<llvm::ImutIntervalInfo<clang::ento::SVal> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutIntervalInfo<clang::ento::SVal> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutIntervalInfo<clang::ento::SVal> >&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutIntervalInfoIN5clang4ento4SValEEEE12add_internalERKSt4pairINS_8IntervalES4_EPNS_11ImutAVLTreeIS5_EE", "llvm::ImutAVLFactory<llvm::ImutIntervalInfo<clang::ento::SVal> >::add_internal(std::pair<llvm::Interval, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutIntervalInfoIN5clang4ento4SValEEEE13markImmutableEPNS_11ImutAVLTreeIS5_EE", "llvm::ImutAVLFactory<llvm::ImutIntervalInfo<clang::ento::SVal> >::markImmutable(llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutIntervalInfoIN5clang4ento4SValEEEE10createNodeEPNS_11ImutAVLTreeIS5_EERKSt4pairINS_8IntervalES4_ES9_", "llvm::ImutAVLFactory<llvm::ImutIntervalInfo<clang::ento::SVal> >::createNode(llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, std::pair<llvm::Interval, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutIntervalInfoIN5clang4ento4SValEEEE11balanceTreeEPNS_11ImutAVLTreeIS5_EERKSt4pairINS_8IntervalES4_ES9_", "llvm::ImutAVLFactory<llvm::ImutIntervalInfo<clang::ento::SVal> >::balanceTree(llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*, std::pair<llvm::Interval, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutIntervalInfo<clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento9MemRegionENS_20ImmutableIntervalMapINS3_4SValEEEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::MemRegion const*, llvm::ImmutableIntervalMap<clang::ento::SVal> > >::~ImutAVLFactory()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutIntervalInfoIN5clang4ento4SValEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutIntervalInfo<clang::ento::SVal> >::~ImutAVLFactory()"},
-    {"_ZN5clang4ento17ConstraintManagerD0Ev", "clang::ento::ConstraintManager::~ConstraintManager()"},
-    {"_ZN5clang4ento17ConstraintManagerD1Ev", "clang::ento::ConstraintManager::~ConstraintManager()"},
-    {"_ZN5clang4ento17ConstraintManagerD2Ev", "clang::ento::ConstraintManager::~ConstraintManager()"},
-    {"_ZN5clang4ento14GRStateManagerD1Ev", "clang::ento::GRStateManager::~GRStateManager()"},
-    {"_ZN5clang4ento14GRStateManagerD2Ev", "clang::ento::GRStateManager::~GRStateManager()"},
-    {"_ZN5clang4ento14GRStateManager18removeDeadBindingsEPKNS0_7GRStateEPKNS_17StackFrameContextERNS0_12SymbolReaperE", "clang::ento::GRStateManager::removeDeadBindings(clang::ento::GRState const*, clang::StackFrameContext const*, clang::ento::SymbolReaper&)"},
-    {"_ZN5clang4ento14GRStateManager18getPersistentStateERNS0_7GRStateE", "clang::ento::GRStateManager::getPersistentState(clang::ento::GRState&)"},
-    {"_ZN5clang4ento14GRStateManager12MarshalStateEPKNS0_7GRStateEPKNS_17StackFrameContextE", "clang::ento::GRStateManager::MarshalState(clang::ento::GRState const*, clang::StackFrameContext const*)"},
-    {"_ZNK5clang4ento7GRState19bindCompoundLiteralEPKNS_19CompoundLiteralExprEPKNS_15LocationContextENS0_4SValE", "clang::ento::GRState::bindCompoundLiteral(clang::CompoundLiteralExpr const*, clang::LocationContext const*, clang::ento::SVal) const"},
-    {"_ZNK5clang4ento7GRState13makeWithStoreEPKv", "clang::ento::GRState::makeWithStore(void const*) const"},
-    {"_ZNK5clang4ento7GRState8bindDeclEPKNS0_9VarRegionENS0_4SValE", "clang::ento::GRState::bindDecl(clang::ento::VarRegion const*, clang::ento::SVal) const"},
-    {"_ZNK5clang4ento7GRState18bindDeclWithNoInitEPKNS0_9VarRegionE", "clang::ento::GRState::bindDeclWithNoInit(clang::ento::VarRegion const*) const"},
-    {"_ZNK5clang4ento7GRState7bindLocENS0_3LocENS0_4SValE", "clang::ento::GRState::bindLoc(clang::ento::Loc, clang::ento::SVal) const"},
-    {"_ZNK5clang4ento7GRState11bindDefaultENS0_4SValES2_", "clang::ento::GRState::bindDefault(clang::ento::SVal, clang::ento::SVal) const"},
-    {"_ZNK5clang4ento7GRState17InvalidateRegionsEPKPKNS0_9MemRegionES6_PKNS_4ExprEjPN4llvm8DenseSetIPKNS0_10SymbolDataENSA_12DenseMapInfoISE_EEEEb", "clang::ento::GRState::InvalidateRegions(clang::ento::MemRegion const* const*, clang::ento::MemRegion const* const*, clang::Expr const*, unsigned int, llvm::DenseSet<clang::ento::SymbolData const*, llvm::DenseMapInfo<clang::ento::SymbolData const*> >*, bool) const"},
-    {"_ZNK5clang4ento7GRState9unbindLocENS0_3LocE", "clang::ento::GRState::unbindLoc(clang::ento::Loc) const"},
-    {"_ZNK5clang4ento7GRState15enterStackFrameEPKNS_17StackFrameContextE", "clang::ento::GRState::enterStackFrame(clang::StackFrameContext const*) const"},
-    {"_ZNK5clang4ento7GRState20getSValAsScalarOrLocEPKNS0_9MemRegionE", "clang::ento::GRState::getSValAsScalarOrLoc(clang::ento::MemRegion const*) const"},
-    {"_ZNK5clang4ento7GRState7getSValENS0_3LocENS_8QualTypeE", "clang::ento::GRState::getSVal(clang::ento::Loc, clang::QualType) const"},
-    {"_ZNK5clang4ento7GRState8BindExprEPKNS_4StmtENS0_4SValEb", "clang::ento::GRState::BindExpr(clang::Stmt const*, clang::ento::SVal, bool) const"},
-    {"_ZNK5clang4ento7GRState19bindExprAndLocationEPKNS_4StmtENS0_4SValES5_", "clang::ento::GRState::bindExprAndLocation(clang::Stmt const*, clang::ento::SVal, clang::ento::SVal) const"},
-    {"_ZNK5clang4ento7GRState13assumeInBoundENS0_20DefinedOrUnknownSValES2_b", "clang::ento::GRState::assumeInBound(clang::ento::DefinedOrUnknownSVal, clang::ento::DefinedOrUnknownSVal, bool) const"},
-    {"_ZN5clang4ento14GRStateManager15getInitialStateEPKNS_15LocationContextE", "clang::ento::GRStateManager::getInitialState(clang::LocationContext const*)"},
-    {"_ZN5clang4ento14GRStateManager19recycleUnusedStatesEv", "clang::ento::GRStateManager::recycleUnusedStates()"},
-    {"_ZNK5clang4ento7GRState5printERN4llvm11raw_ostreamERNS_3CFGEPKcS8_", "clang::ento::GRState::print(llvm::raw_ostream&, clang::CFG&, char const*, char const*) const"},
-    {"_ZNK5clang4ento7GRState8printDOTERN4llvm11raw_ostreamERNS_3CFGE", "clang::ento::GRState::printDOT(llvm::raw_ostream&, clang::CFG&) const"},
-    {"_ZNK5clang4ento7GRState11printStdErrERNS_3CFGE", "clang::ento::GRState::printStdErr(clang::CFG&) const"},
-    {"_ZNK5clang4ento7GRState7FindGDMEPv", "clang::ento::GRState::FindGDM(void*) const"},
-    {"_ZN5clang4ento14GRStateManager14FindGDMContextEPvPFS2_RN4llvm16BumpPtrAllocatorEEPFvS2_E", "clang::ento::GRStateManager::FindGDMContext(void*, void* (*)(llvm::BumpPtrAllocator&), void (*)(void*))"},
-    {"_ZN5clang4ento14GRStateManager6addGDMEPKNS0_7GRStateEPvS5_", "clang::ento::GRStateManager::addGDM(clang::ento::GRState const*, void*, void*)"},
-    {"_ZN5clang4ento14GRStateManager9removeGDMEPKNS0_7GRStateEPv", "clang::ento::GRStateManager::removeGDM(clang::ento::GRState const*, void*)"},
-    {"_ZNK5clang4ento7GRState20scanReachableSymbolsENS0_4SValERNS0_13SymbolVisitorE", "clang::ento::GRState::scanReachableSymbols(clang::ento::SVal, clang::ento::SymbolVisitor&) const"},
-    {"_ZN12_GLOBAL__N_120ScanReachableSymbols4scanEN5clang4ento4SValE", "(anonymous namespace)::ScanReachableSymbols::scan(clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_120ScanReachableSymbolsD1Ev", "(anonymous namespace)::ScanReachableSymbols::~ScanReachableSymbols()"},
-    {"_ZNK5clang4ento7GRState20scanReachableSymbolsEPKNS0_4SValES4_RNS0_13SymbolVisitorE", "clang::ento::GRState::scanReachableSymbols(clang::ento::SVal const*, clang::ento::SVal const*, clang::ento::SymbolVisitor&) const"},
-    {"_ZNK5clang4ento7GRState20scanReachableSymbolsEPKPKNS0_9MemRegionES6_RNS0_13SymbolVisitorE", "clang::ento::GRState::scanReachableSymbols(clang::ento::MemRegion const* const*, clang::ento::MemRegion const* const*, clang::ento::SymbolVisitor&) const"},
-    {"_ZN12_GLOBAL__N_120ScanReachableSymbols4scanEPKN5clang4ento9MemRegionE", "(anonymous namespace)::ScanReachableSymbols::scan(clang::ento::MemRegion const*)"},
-    {"_ZN12_GLOBAL__N_120ScanReachableSymbolsD0Ev", "(anonymous namespace)::ScanReachableSymbols::~ScanReachableSymbols()"},
-    {"_ZN12_GLOBAL__N_120ScanReachableSymbols5VisitEPKN5clang4ento9MemRegionES5_", "(anonymous namespace)::ScanReachableSymbols::Visit(clang::ento::MemRegion const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento17BasicValueFactory7ConvertENS_8QualTypeERKN4llvm6APSIntE", "clang::ento::BasicValueFactory::Convert(clang::QualType, llvm::APSInt const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE6removeEPNS_11ImutAVLTreeIS3_EERKS2_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::remove(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, void* const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE16getCanonicalTreeEPNS_11ImutAVLTreeIS3_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPvS2_EEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >::computeDigest()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS3_EERNS_26ImutAVLTreeInOrderIteratorIS3_EESA_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<void*, void*> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<void*, void*> >&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPvS2_EEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >::destroy()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPvS3_EEEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPvS3_EEEENS_12DenseMapInfoIjEENS7_IS6_EEE16InsertIntoBucketERKjRKS6_PSt4pairIjS6_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPvS3_EEEENS_12DenseMapInfoIjEENS7_IS6_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE15remove_internalERKS2_PNS_11ImutAVLTreeIS3_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::remove_internal(void* const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE13markImmutableEPNS_11ImutAVLTreeIS3_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE11balanceTreeEPNS_11ImutAVLTreeIS3_EERKSt4pairIS2_S2_ES7_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, std::pair<void*, void*> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE10createNodeEPNS_11ImutAVLTreeIS3_EERKSt4pairIS2_S2_ES7_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, std::pair<void*, void*> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE16removeMinBindingEPNS_11ImutAVLTreeIS3_EERS7_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE3addEPNS_11ImutAVLTreeIS3_EERKSt4pairIS2_S2_E", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::add(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*, std::pair<void*, void*> const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEE12add_internalERKSt4pairIS2_S2_EPNS_11ImutAVLTreeIS3_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::add_internal(std::pair<void*, void*> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<void*, void*> >*)"},
-    {"_ZN4llvm8DenseMapIPvSt4pairIS1_PFvS1_EENS_12DenseMapInfoIS1_EENS6_IS5_EEE16InsertIntoBucketERKS1_RKS5_PS2_IS1_S5_E", "llvm::DenseMap<void*, std::pair<void*, void (*)(void*)>, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<std::pair<void*, void (*)(void*)> > >::InsertIntoBucket(void* const&, std::pair<void*, void (*)(void*)> const&, std::pair<void*, std::pair<void*, void (*)(void*)> >*)"},
-    {"_ZN4llvm8DenseMapIPvSt4pairIS1_PFvS1_EENS_12DenseMapInfoIS1_EENS6_IS5_EEE4growEj", "llvm::DenseMap<void*, std::pair<void*, void (*)(void*)>, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<std::pair<void*, void (*)(void*)> > >::grow(unsigned int)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::operator++()"},
-    {"_ZNSt6vectorIPN5clang4ento7GRStateESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<clang::ento::GRState*, std::allocator<clang::ento::GRState*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ento::GRState**, std::vector<clang::ento::GRState*, std::allocator<clang::ento::GRState*> > >, clang::ento::GRState* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento9MemRegionEcNS_12DenseMapInfoIS5_EENS6_IcEEE6insertERKSt4pairIS5_cE", "llvm::DenseMap<clang::ento::MemRegion const*, char, llvm::DenseMapInfo<clang::ento::MemRegion const*>, llvm::DenseMapInfo<char> >::insert(std::pair<clang::ento::MemRegion const*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento9MemRegionEcNS_12DenseMapInfoIS5_EENS6_IcEEE16InsertIntoBucketERKS5_RKcPSt4pairIS5_cE", "llvm::DenseMap<clang::ento::MemRegion const*, char, llvm::DenseMapInfo<clang::ento::MemRegion const*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(clang::ento::MemRegion const* const&, char const&, std::pair<clang::ento::MemRegion const*, char>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento9MemRegionEcNS_12DenseMapInfoIS5_EENS6_IcEEE4growEj", "llvm::DenseMap<clang::ento::MemRegion const*, char, llvm::DenseMapInfo<clang::ento::MemRegion const*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN5clang4ento12SubRegionMap7VisitorD1Ev", "clang::ento::SubRegionMap::Visitor::~Visitor()"},
-    {"_ZN5clang4ento12SubRegionMap7VisitorD0Ev", "clang::ento::SubRegionMap::Visitor::~Visitor()"},
-    {"_ZNK4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE7isEqualERKS9_", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::isEqual(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> > const&) const"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::destroy()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4StmtENS3_4ento4SValEEEEESaISB_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSB_SD_EERKSB_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >**, std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*> > >, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >* const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEE13computeDigestEPS9_SA_RKSt4pairIS5_S7_E", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::computeDigest(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, std::pair<clang::Stmt const*, clang::ento::SVal> const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4StmtENS3_4ento4SValEEEEENS_12DenseMapInfoIjEENSC_ISB_EEE16InsertIntoBucketERKjRKSB_PSt4pairIjSB_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4StmtENS3_4ento4SValEEEEENS_12DenseMapInfoIjEENSC_ISB_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4StmtENS2_4ento4SValEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::Stmt const*, clang::ento::SVal> >::~ImutAVLFactory()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPvS2_EEED2Ev", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<void*, void*> >::~ImutAVLFactory()"},
-    {"_ZN5clang4ento26createHTMLDiagnosticClientERKSsRKNS_12PreprocessorE", "clang::ento::createHTMLDiagnosticClient(std::string const&, clang::Preprocessor const&)"},
-    {"_ZN12_GLOBAL__N_115HTMLDiagnosticsD1Ev", "(anonymous namespace)::HTMLDiagnostics::~HTMLDiagnostics()"},
-    {"_ZN12_GLOBAL__N_115HTMLDiagnosticsD0Ev", "(anonymous namespace)::HTMLDiagnostics::~HTMLDiagnostics()"},
-    {"_ZN12_GLOBAL__N_115HTMLDiagnostics16FlushDiagnosticsEPN4llvm15SmallVectorImplISsEE", "(anonymous namespace)::HTMLDiagnostics::FlushDiagnostics(llvm::SmallVectorImpl<std::string>*)"},
-    {"_ZNK12_GLOBAL__N_115HTMLDiagnostics7getNameEv", "(anonymous namespace)::HTMLDiagnostics::getName() const"},
-    {"_ZN12_GLOBAL__N_115HTMLDiagnostics20HandlePathDiagnosticEPKN5clang4ento14PathDiagnosticE", "(anonymous namespace)::HTMLDiagnostics::HandlePathDiagnostic(clang::ento::PathDiagnostic const*)"},
-    {"_ZN12_GLOBAL__N_115HTMLDiagnostics10ReportDiagERKN5clang4ento14PathDiagnosticEPN4llvm15SmallVectorImplISsEE", "(anonymous namespace)::HTMLDiagnostics::ReportDiag(clang::ento::PathDiagnostic const&, llvm::SmallVectorImpl<std::string>*)"},
-    {"_ZN12_GLOBAL__N_115HTMLDiagnostics17ProcessMacroPieceERN4llvm11raw_ostreamERKN5clang4ento24PathDiagnosticMacroPieceEj", "(anonymous namespace)::HTMLDiagnostics::ProcessMacroPiece(llvm::raw_ostream&, clang::ento::PathDiagnosticMacroPiece const&, unsigned int)"},
-    {"_Z16EmitAlphaCounterRN4llvm11raw_ostreamEj", "EmitAlphaCounter(llvm::raw_ostream&, unsigned int)"},
-    {"_ZN5clang4ento9MemRegionD0Ev", "clang::ento::MemRegion::~MemRegion()"},
-    {"_ZN5clang4ento9MemRegionD1Ev", "clang::ento::MemRegion::~MemRegion()"},
-    {"_ZN5clang4ento9MemRegionD2Ev", "clang::ento::MemRegion::~MemRegion()"},
-    {"_ZN5clang4ento16MemRegionManagerD1Ev", "clang::ento::MemRegionManager::~MemRegionManager()"},
-    {"_ZN5clang4ento16MemRegionManagerD2Ev", "clang::ento::MemRegionManager::~MemRegionManager()"},
-    {"_ZNK5clang4ento9SubRegion13isSubRegionOfEPKNS0_9MemRegionE", "clang::ento::SubRegion::isSubRegionOf(clang::ento::MemRegion const*) const"},
-    {"_ZNK5clang4ento9SubRegion19getMemRegionManagerEv", "clang::ento::SubRegion::getMemRegionManager() const"},
-    {"_ZNK5clang4ento9VarRegion13getStackFrameEv", "clang::ento::VarRegion::getStackFrame() const"},
-    {"_ZNK5clang4ento9MemRegion14getMemorySpaceEv", "clang::ento::MemRegion::getMemorySpace() const"},
-    {"_ZNK5clang4ento10DeclRegion9getExtentERNS0_11SValBuilderE", "clang::ento::DeclRegion::getExtent(clang::ento::SValBuilder&) const"},
-    {"_ZNK5clang4ento11FieldRegion9getExtentERNS0_11SValBuilderE", "clang::ento::FieldRegion::getExtent(clang::ento::SValBuilder&) const"},
-    {"_ZNK5clang4ento12AllocaRegion9getExtentERNS0_11SValBuilderE", "clang::ento::AllocaRegion::getExtent(clang::ento::SValBuilder&) const"},
-    {"_ZNK5clang4ento14SymbolicRegion9getExtentERNS0_11SValBuilderE", "clang::ento::SymbolicRegion::getExtent(clang::ento::SValBuilder&) const"},
-    {"_ZNK5clang4ento12StringRegion9getExtentERNS0_11SValBuilderE", "clang::ento::StringRegion::getExtent(clang::ento::SValBuilder&) const"},
-    {"_ZNK5clang4ento19CXXBaseObjectRegion12getValueTypeEv", "clang::ento::CXXBaseObjectRegion::getValueType() const"},
-    {"_ZNK5clang4ento14MemSpaceRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::MemSpaceRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento16StackSpaceRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::StackSpaceRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento23StaticGlobalSpaceRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::StaticGlobalSpaceRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento12StringRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_13StringLiteralEPKNS0_9MemRegionE", "clang::ento::StringRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::StringLiteral const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento12AllocaRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_4ExprEjPKNS0_9MemRegionE", "clang::ento::AllocaRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::Expr const*, unsigned int, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento12AllocaRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::AllocaRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento21CompoundLiteralRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::CompoundLiteralRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento21CompoundLiteralRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_19CompoundLiteralExprEPKNS0_9MemRegionE", "clang::ento::CompoundLiteralRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::CompoundLiteralExpr const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento13CXXThisRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_11PointerTypeEPKNS0_9MemRegionE", "clang::ento::CXXThisRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::PointerType const*, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento13CXXThisRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::CXXThisRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento10DeclRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_4DeclEPKNS0_9MemRegionENS8_4KindE", "clang::ento::DeclRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::Decl const*, clang::ento::MemRegion const*, clang::ento::MemRegion::Kind)"},
-    {"_ZNK5clang4ento10DeclRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::DeclRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento9VarRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::VarRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento14SymbolicRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS0_10SymbolDataEPKNS0_9MemRegionE", "clang::ento::SymbolicRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::ento::SymbolData const*, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento14SymbolicRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::SymbolicRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento13ElementRegion13ProfileRegionERN4llvm16FoldingSetNodeIDENS_8QualTypeENS0_4SValEPKNS0_9MemRegionE", "clang::ento::ElementRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::QualType, clang::ento::SVal, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento13ElementRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::ElementRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento18FunctionTextRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_12FunctionDeclEPKNS0_9MemRegionE", "clang::ento::FunctionTextRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::FunctionDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento18FunctionTextRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::FunctionTextRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento15BlockTextRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_9BlockDeclENS_7CanQualINS_4TypeEEEPKNS_15AnalysisContextEPKNS0_9MemRegionE", "clang::ento::BlockTextRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::BlockDecl const*, clang::CanQual<clang::Type>, clang::AnalysisContext const*, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento15BlockTextRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::BlockTextRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento15BlockDataRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS0_15BlockTextRegionEPKNS_15LocationContextEPKNS0_9MemRegionE", "clang::ento::BlockDataRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::ento::BlockTextRegion const*, clang::LocationContext const*, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento15BlockDataRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::BlockDataRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento19CXXTempObjectRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_4ExprEPKNS0_9MemRegionE", "clang::ento::CXXTempObjectRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::Expr const*, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento19CXXTempObjectRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::CXXTempObjectRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento19CXXBaseObjectRegion13ProfileRegionERN4llvm16FoldingSetNodeIDEPKNS_13CXXRecordDeclEPKNS0_9MemRegionE", "clang::ento::CXXBaseObjectRegion::ProfileRegion(llvm::FoldingSetNodeID&, clang::CXXRecordDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento19CXXBaseObjectRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::CXXBaseObjectRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento9MemRegion4dumpEv", "clang::ento::MemRegion::dump() const"},
-    {"_ZNK5clang4ento9MemRegion9getStringEv", "clang::ento::MemRegion::getString() const"},
-    {"_ZNK5clang4ento9MemRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::MemRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento12AllocaRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::AllocaRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento18FunctionTextRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::FunctionTextRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento15BlockTextRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::BlockTextRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento15BlockDataRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::BlockDataRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento21CompoundLiteralRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::CompoundLiteralRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento19CXXTempObjectRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::CXXTempObjectRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento19CXXBaseObjectRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::CXXBaseObjectRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento13CXXThisRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::CXXThisRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento13ElementRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::ElementRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento11FieldRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::FieldRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento26NonStaticGlobalSpaceRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::NonStaticGlobalSpaceRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento14ObjCIvarRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::ObjCIvarRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento12StringRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::StringRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento14SymbolicRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SymbolicRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento9VarRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::VarRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento15RegionRawOffset4dumpEv", "clang::ento::RegionRawOffset::dump() const"},
-    {"_ZNK5clang4ento15RegionRawOffset12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::RegionRawOffset::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento23StaticGlobalSpaceRegion12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::StaticGlobalSpaceRegion::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZN5clang4ento16MemRegionManager20getStackLocalsRegionEPKNS_17StackFrameContextE", "clang::ento::MemRegionManager::getStackLocalsRegion(clang::StackFrameContext const*)"},
-    {"_ZN5clang4ento16MemRegionManager23getStackArgumentsRegionEPKNS_17StackFrameContextE", "clang::ento::MemRegionManager::getStackArgumentsRegion(clang::StackFrameContext const*)"},
-    {"_ZN5clang4ento16MemRegionManager16getGlobalsRegionEPKNS0_14CodeTextRegionE", "clang::ento::MemRegionManager::getGlobalsRegion(clang::ento::CodeTextRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager13getHeapRegionEv", "clang::ento::MemRegionManager::getHeapRegion()"},
-    {"_ZN5clang4ento16MemRegionManager16getUnknownRegionEv", "clang::ento::MemRegionManager::getUnknownRegion()"},
-    {"_ZN5clang4ento16MemRegionManager13getCodeRegionEv", "clang::ento::MemRegionManager::getCodeRegion()"},
-    {"_ZN5clang4ento16MemRegionManager15getStringRegionEPKNS_13StringLiteralE", "clang::ento::MemRegionManager::getStringRegion(clang::StringLiteral const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getVarRegionEPKNS_7VarDeclEPKNS_15LocationContextE", "clang::ento::MemRegionManager::getVarRegion(clang::VarDecl const*, clang::LocationContext const*)"},
-    {"_ZN5clang4ento16MemRegionManager21getFunctionTextRegionEPKNS_12FunctionDeclE", "clang::ento::MemRegionManager::getFunctionTextRegion(clang::FunctionDecl const*)"},
-    {"_ZN5clang4ento16MemRegionManager18getBlockTextRegionEPKNS_9BlockDeclENS_7CanQualINS_4TypeEEEPNS_15AnalysisContextE", "clang::ento::MemRegionManager::getBlockTextRegion(clang::BlockDecl const*, clang::CanQual<clang::Type>, clang::AnalysisContext*)"},
-    {"_ZN5clang4ento16MemRegionManager12getVarRegionEPKNS_7VarDeclEPKNS0_9MemRegionE", "clang::ento::MemRegionManager::getVarRegion(clang::VarDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager18getBlockDataRegionEPKNS0_15BlockTextRegionEPKNS_15LocationContextE", "clang::ento::MemRegionManager::getBlockDataRegion(clang::ento::BlockTextRegion const*, clang::LocationContext const*)"},
-    {"_ZN5clang4ento16MemRegionManager24getCompoundLiteralRegionEPKNS_19CompoundLiteralExprEPKNS_15LocationContextE", "clang::ento::MemRegionManager::getCompoundLiteralRegion(clang::CompoundLiteralExpr const*, clang::LocationContext const*)"},
-    {"_ZN5clang4ento16MemRegionManager16getElementRegionENS_8QualTypeENS0_6NonLocEPKNS0_9MemRegionERNS_10ASTContextE", "clang::ento::MemRegionManager::getElementRegion(clang::QualType, clang::ento::NonLoc, clang::ento::MemRegion const*, clang::ASTContext&)"},
-    {"_ZN5clang4ento16MemRegionManager17getSymbolicRegionEPKNS0_10SymbolDataE", "clang::ento::MemRegionManager::getSymbolicRegion(clang::ento::SymbolData const*)"},
-    {"_ZN5clang4ento16MemRegionManager14getFieldRegionEPKNS_9FieldDeclEPKNS0_9MemRegionE", "clang::ento::MemRegionManager::getFieldRegion(clang::FieldDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager17getObjCIvarRegionEPKNS_12ObjCIvarDeclEPKNS0_9MemRegionE", "clang::ento::MemRegionManager::getObjCIvarRegion(clang::ObjCIvarDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager22getCXXTempObjectRegionEPKNS_4ExprEPKNS_15LocationContextE", "clang::ento::MemRegionManager::getCXXTempObjectRegion(clang::Expr const*, clang::LocationContext const*)"},
-    {"_ZN5clang4ento16MemRegionManager22getCXXBaseObjectRegionEPKNS_13CXXRecordDeclEPKNS0_9MemRegionE", "clang::ento::MemRegionManager::getCXXBaseObjectRegion(clang::CXXRecordDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager16getCXXThisRegionENS_8QualTypeEPKNS_15LocationContextE", "clang::ento::MemRegionManager::getCXXThisRegion(clang::QualType, clang::LocationContext const*)"},
-    {"_ZN5clang4ento16MemRegionManager15getAllocaRegionEPKNS_4ExprEjPKNS_15LocationContextE", "clang::ento::MemRegionManager::getAllocaRegion(clang::Expr const*, unsigned int, clang::LocationContext const*)"},
-    {"_ZNK5clang4ento9MemRegion15hasStackStorageEv", "clang::ento::MemRegion::hasStackStorage() const"},
-    {"_ZNK5clang4ento9MemRegion28hasStackNonParametersStorageEv", "clang::ento::MemRegion::hasStackNonParametersStorage() const"},
-    {"_ZNK5clang4ento9MemRegion25hasStackParametersStorageEv", "clang::ento::MemRegion::hasStackParametersStorage() const"},
-    {"_ZNK5clang4ento9MemRegion29hasGlobalsOrParametersStorageEv", "clang::ento::MemRegion::hasGlobalsOrParametersStorage() const"},
-    {"_ZNK5clang4ento9MemRegion13getBaseRegionEv", "clang::ento::MemRegion::getBaseRegion() const"},
-    {"_ZNK5clang4ento9MemRegion10StripCastsEv", "clang::ento::MemRegion::StripCasts() const"},
-    {"_ZNK5clang4ento13ElementRegion16getAsArrayOffsetEv", "clang::ento::ElementRegion::getAsArrayOffset() const"},
-    {"_ZNK5clang4ento9MemRegion11getAsOffsetEv", "clang::ento::MemRegion::getAsOffset() const"},
-    {"_ZN5clang4ento15BlockDataRegion28LazyInitializeReferencedVarsEv", "clang::ento::BlockDataRegion::LazyInitializeReferencedVars()"},
-    {"_ZNK5clang4ento15BlockDataRegion21referenced_vars_beginEv", "clang::ento::BlockDataRegion::referenced_vars_begin() const"},
-    {"_ZNK5clang4ento15BlockDataRegion19referenced_vars_endEv", "clang::ento::BlockDataRegion::referenced_vars_end() const"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento9MemRegionEED1Ev", "llvm::FoldingSet<clang::ento::MemRegion>::~FoldingSet()"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_12StringRegionEPKNS_13StringLiteralEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::StringRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::StringRegion, clang::StringLiteral const*>(clang::StringLiteral const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_9VarRegionEPKNS_7VarDeclEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::VarRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::VarRegion, clang::VarDecl const*>(clang::VarDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_15BlockDataRegionEPKNS0_15BlockTextRegionEPKNS_15LocationContextEEEPT_T0_T1_PKNS0_9MemRegionE", "clang::ento::BlockDataRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::BlockDataRegion, clang::ento::BlockTextRegion const*, clang::LocationContext const*>(clang::ento::BlockTextRegion const*, clang::LocationContext const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_21CompoundLiteralRegionEPKNS_19CompoundLiteralExprEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::CompoundLiteralRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::CompoundLiteralRegion, clang::CompoundLiteralExpr const*>(clang::CompoundLiteralExpr const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_18FunctionTextRegionEPKNS_12FunctionDeclEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::FunctionTextRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::FunctionTextRegion, clang::FunctionDecl const*>(clang::FunctionDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_15BlockTextRegionEPKNS_9BlockDeclENS_7CanQualINS_4TypeEEEPNS_15AnalysisContextEEEPT_T0_T1_T2_PKNS0_9MemRegionE", "clang::ento::BlockTextRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::BlockTextRegion, clang::BlockDecl const*, clang::CanQual<clang::Type>, clang::AnalysisContext*>(clang::BlockDecl const*, clang::CanQual<clang::Type>, clang::AnalysisContext*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_14SymbolicRegionEPKNS0_10SymbolDataEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::SymbolicRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::SymbolicRegion, clang::ento::SymbolData const*>(clang::ento::SymbolData const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_11FieldRegionEPKNS_9FieldDeclEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::FieldRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::FieldRegion, clang::FieldDecl const*>(clang::FieldDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_14ObjCIvarRegionEPKNS_12ObjCIvarDeclEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::ObjCIvarRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::ObjCIvarRegion, clang::ObjCIvarDecl const*>(clang::ObjCIvarDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_19CXXTempObjectRegionEPKNS_4ExprEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::CXXTempObjectRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::CXXTempObjectRegion, clang::Expr const*>(clang::Expr const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_19CXXBaseObjectRegionEPKNS_13CXXRecordDeclEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::CXXBaseObjectRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::CXXBaseObjectRegion, clang::CXXRecordDecl const*>(clang::CXXRecordDecl const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_13CXXThisRegionEPKNS_11PointerTypeEEEPT_T0_PKNS0_9MemRegionE", "clang::ento::CXXThisRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::CXXThisRegion, clang::PointerType const*>(clang::PointerType const*, clang::ento::MemRegion const*)"},
-    {"_ZN5clang4ento16MemRegionManager12getSubRegionINS0_12AllocaRegionEPKNS_4ExprEjEEPT_T0_T1_PKNS0_9MemRegionE", "clang::ento::AllocaRegion* clang::ento::MemRegionManager::getSubRegion<clang::ento::AllocaRegion, clang::Expr const*, unsigned int>(clang::Expr const*, unsigned int, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento9MemRegion11isBoundableEv", "clang::ento::MemRegion::isBoundable() const"},
-    {"_ZN5clang4ento14MemSpaceRegionD1Ev", "clang::ento::MemSpaceRegion::~MemSpaceRegion()"},
-    {"_ZN5clang4ento14MemSpaceRegionD0Ev", "clang::ento::MemSpaceRegion::~MemSpaceRegion()"},
-    {"_ZNK5clang4ento14MemSpaceRegion19getMemRegionManagerEv", "clang::ento::MemSpaceRegion::getMemRegionManager() const"},
-    {"_ZNK5clang4ento14MemSpaceRegion11isBoundableEv", "clang::ento::MemSpaceRegion::isBoundable() const"},
-    {"_ZN5clang4ento23StaticGlobalSpaceRegionD1Ev", "clang::ento::StaticGlobalSpaceRegion::~StaticGlobalSpaceRegion()"},
-    {"_ZN5clang4ento23StaticGlobalSpaceRegionD0Ev", "clang::ento::StaticGlobalSpaceRegion::~StaticGlobalSpaceRegion()"},
-    {"_ZN5clang4ento26NonStaticGlobalSpaceRegionD1Ev", "clang::ento::NonStaticGlobalSpaceRegion::~NonStaticGlobalSpaceRegion()"},
-    {"_ZN5clang4ento26NonStaticGlobalSpaceRegionD0Ev", "clang::ento::NonStaticGlobalSpaceRegion::~NonStaticGlobalSpaceRegion()"},
-    {"_ZN5clang4ento16StackSpaceRegionD1Ev", "clang::ento::StackSpaceRegion::~StackSpaceRegion()"},
-    {"_ZN5clang4ento16StackSpaceRegionD0Ev", "clang::ento::StackSpaceRegion::~StackSpaceRegion()"},
-    {"_ZN5clang4ento9SubRegionD1Ev", "clang::ento::SubRegion::~SubRegion()"},
-    {"_ZN5clang4ento9SubRegionD0Ev", "clang::ento::SubRegion::~SubRegion()"},
-    {"_ZNK5clang4ento9SubRegion9getExtentERNS0_11SValBuilderE", "clang::ento::SubRegion::getExtent(clang::ento::SValBuilder&) const"},
-    {"_ZN5clang4ento12AllocaRegionD1Ev", "clang::ento::AllocaRegion::~AllocaRegion()"},
-    {"_ZN5clang4ento12AllocaRegionD0Ev", "clang::ento::AllocaRegion::~AllocaRegion()"},
-    {"_ZNK5clang4ento12AllocaRegion11isBoundableEv", "clang::ento::AllocaRegion::isBoundable() const"},
-    {"_ZN5clang4ento18FunctionTextRegionD1Ev", "clang::ento::FunctionTextRegion::~FunctionTextRegion()"},
-    {"_ZN5clang4ento18FunctionTextRegionD0Ev", "clang::ento::FunctionTextRegion::~FunctionTextRegion()"},
-    {"_ZNK5clang4ento14CodeTextRegion11isBoundableEv", "clang::ento::CodeTextRegion::isBoundable() const"},
-    {"_ZNK5clang4ento14CodeTextRegion12getValueTypeEv", "clang::ento::CodeTextRegion::getValueType() const"},
-    {"_ZNK5clang4ento18FunctionTextRegion15getLocationTypeEv", "clang::ento::FunctionTextRegion::getLocationType() const"},
-    {"_ZN5clang4ento15BlockTextRegionD1Ev", "clang::ento::BlockTextRegion::~BlockTextRegion()"},
-    {"_ZN5clang4ento15BlockTextRegionD0Ev", "clang::ento::BlockTextRegion::~BlockTextRegion()"},
-    {"_ZNK5clang4ento15BlockTextRegion15getLocationTypeEv", "clang::ento::BlockTextRegion::getLocationType() const"},
-    {"_ZN5clang4ento15BlockDataRegionD1Ev", "clang::ento::BlockDataRegion::~BlockDataRegion()"},
-    {"_ZN5clang4ento15BlockDataRegionD0Ev", "clang::ento::BlockDataRegion::~BlockDataRegion()"},
-    {"_ZN5clang4ento14SymbolicRegionD1Ev", "clang::ento::SymbolicRegion::~SymbolicRegion()"},
-    {"_ZN5clang4ento14SymbolicRegionD0Ev", "clang::ento::SymbolicRegion::~SymbolicRegion()"},
-    {"_ZNK5clang4ento14SymbolicRegion11isBoundableEv", "clang::ento::SymbolicRegion::isBoundable() const"},
-    {"_ZN5clang4ento12StringRegionD1Ev", "clang::ento::StringRegion::~StringRegion()"},
-    {"_ZN5clang4ento12StringRegionD0Ev", "clang::ento::StringRegion::~StringRegion()"},
-    {"_ZNK5clang4ento12StringRegion7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::StringRegion::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento12StringRegion11isBoundableEv", "clang::ento::StringRegion::isBoundable() const"},
-    {"_ZNK5clang4ento12StringRegion12getValueTypeEv", "clang::ento::StringRegion::getValueType() const"},
-    {"_ZNK5clang4ento11TypedRegion15getLocationTypeEv", "clang::ento::TypedRegion::getLocationType() const"},
-    {"_ZN5clang4ento21CompoundLiteralRegionD1Ev", "clang::ento::CompoundLiteralRegion::~CompoundLiteralRegion()"},
-    {"_ZN5clang4ento21CompoundLiteralRegionD0Ev", "clang::ento::CompoundLiteralRegion::~CompoundLiteralRegion()"},
-    {"_ZNK5clang4ento21CompoundLiteralRegion11isBoundableEv", "clang::ento::CompoundLiteralRegion::isBoundable() const"},
-    {"_ZNK5clang4ento21CompoundLiteralRegion12getValueTypeEv", "clang::ento::CompoundLiteralRegion::getValueType() const"},
-    {"_ZN5clang4ento10DeclRegionD1Ev", "clang::ento::DeclRegion::~DeclRegion()"},
-    {"_ZN5clang4ento10DeclRegionD0Ev", "clang::ento::DeclRegion::~DeclRegion()"},
-    {"_ZNK5clang4ento11TypedRegion11isBoundableEv", "clang::ento::TypedRegion::isBoundable() const"},
-    {"_ZN5clang4ento9VarRegionD1Ev", "clang::ento::VarRegion::~VarRegion()"},
-    {"_ZN5clang4ento9VarRegionD0Ev", "clang::ento::VarRegion::~VarRegion()"},
-    {"_ZNK5clang4ento9VarRegion12getValueTypeEv", "clang::ento::VarRegion::getValueType() const"},
-    {"_ZN5clang4ento13CXXThisRegionD1Ev", "clang::ento::CXXThisRegion::~CXXThisRegion()"},
-    {"_ZN5clang4ento13CXXThisRegionD0Ev", "clang::ento::CXXThisRegion::~CXXThisRegion()"},
-    {"_ZNK5clang4ento13CXXThisRegion12getValueTypeEv", "clang::ento::CXXThisRegion::getValueType() const"},
-    {"_ZN5clang4ento11FieldRegionD1Ev", "clang::ento::FieldRegion::~FieldRegion()"},
-    {"_ZN5clang4ento11FieldRegionD0Ev", "clang::ento::FieldRegion::~FieldRegion()"},
-    {"_ZNK5clang4ento11FieldRegion12getValueTypeEv", "clang::ento::FieldRegion::getValueType() const"},
-    {"_ZN5clang4ento14ObjCIvarRegionD1Ev", "clang::ento::ObjCIvarRegion::~ObjCIvarRegion()"},
-    {"_ZN5clang4ento14ObjCIvarRegionD0Ev", "clang::ento::ObjCIvarRegion::~ObjCIvarRegion()"},
-    {"_ZNK5clang4ento14ObjCIvarRegion12getValueTypeEv", "clang::ento::ObjCIvarRegion::getValueType() const"},
-    {"_ZN5clang4ento13ElementRegionD1Ev", "clang::ento::ElementRegion::~ElementRegion()"},
-    {"_ZN5clang4ento13ElementRegionD0Ev", "clang::ento::ElementRegion::~ElementRegion()"},
-    {"_ZNK5clang4ento13ElementRegion12getValueTypeEv", "clang::ento::ElementRegion::getValueType() const"},
-    {"_ZN5clang4ento19CXXTempObjectRegionD1Ev", "clang::ento::CXXTempObjectRegion::~CXXTempObjectRegion()"},
-    {"_ZN5clang4ento19CXXTempObjectRegionD0Ev", "clang::ento::CXXTempObjectRegion::~CXXTempObjectRegion()"},
-    {"_ZNK5clang4ento19CXXTempObjectRegion12getValueTypeEv", "clang::ento::CXXTempObjectRegion::getValueType() const"},
-    {"_ZN5clang4ento19CXXBaseObjectRegionD1Ev", "clang::ento::CXXBaseObjectRegion::~CXXBaseObjectRegion()"},
-    {"_ZN5clang4ento19CXXBaseObjectRegionD0Ev", "clang::ento::CXXBaseObjectRegion::~CXXBaseObjectRegion()"},
-    {"_ZN5clang4ento11TypedRegionD1Ev", "clang::ento::TypedRegion::~TypedRegion()"},
-    {"_ZN5clang4ento11TypedRegionD0Ev", "clang::ento::TypedRegion::~TypedRegion()"},
-    {"_ZN5clang4ento14CodeTextRegionD1Ev", "clang::ento::CodeTextRegion::~CodeTextRegion()"},
-    {"_ZN5clang4ento14CodeTextRegionD0Ev", "clang::ento::CodeTextRegion::~CodeTextRegion()"},
-    {"_ZN5clang4ento18UnknownSpaceRegionD1Ev", "clang::ento::UnknownSpaceRegion::~UnknownSpaceRegion()"},
-    {"_ZN5clang4ento18UnknownSpaceRegionD0Ev", "clang::ento::UnknownSpaceRegion::~UnknownSpaceRegion()"},
-    {"_ZN5clang4ento15HeapSpaceRegionD1Ev", "clang::ento::HeapSpaceRegion::~HeapSpaceRegion()"},
-    {"_ZN5clang4ento15HeapSpaceRegionD0Ev", "clang::ento::HeapSpaceRegion::~HeapSpaceRegion()"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento14CodeTextRegionEPNS2_23StaticGlobalSpaceRegionENS_12DenseMapInfoIS5_EENS8_IS7_EEE16InsertIntoBucketERKS5_RKS7_PSt4pairIS5_S7_E", "llvm::DenseMap<clang::ento::CodeTextRegion const*, clang::ento::StaticGlobalSpaceRegion*, llvm::DenseMapInfo<clang::ento::CodeTextRegion const*>, llvm::DenseMapInfo<clang::ento::StaticGlobalSpaceRegion*> >::InsertIntoBucket(clang::ento::CodeTextRegion const* const&, clang::ento::StaticGlobalSpaceRegion* const&, std::pair<clang::ento::CodeTextRegion const*, clang::ento::StaticGlobalSpaceRegion*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento14CodeTextRegionEPNS2_23StaticGlobalSpaceRegionENS_12DenseMapInfoIS5_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::ento::CodeTextRegion const*, clang::ento::StaticGlobalSpaceRegion*, llvm::DenseMapInfo<clang::ento::CodeTextRegion const*>, llvm::DenseMapInfo<clang::ento::StaticGlobalSpaceRegion*> >::grow(unsigned int)"},
-    {"_ZN5clang4ento18GlobalsSpaceRegionD1Ev", "clang::ento::GlobalsSpaceRegion::~GlobalsSpaceRegion()"},
-    {"_ZN5clang4ento18GlobalsSpaceRegionD0Ev", "clang::ento::GlobalsSpaceRegion::~GlobalsSpaceRegion()"},
-    {"_ZN4llvm8DenseMapIPKN5clang17StackFrameContextEPNS1_4ento25StackArgumentsSpaceRegionENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::StackFrameContext const*, clang::ento::StackArgumentsSpaceRegion*, llvm::DenseMapInfo<clang::StackFrameContext const*>, llvm::DenseMapInfo<clang::ento::StackArgumentsSpaceRegion*> >::InsertIntoBucket(clang::StackFrameContext const* const&, clang::ento::StackArgumentsSpaceRegion* const&, std::pair<clang::StackFrameContext const*, clang::ento::StackArgumentsSpaceRegion*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang17StackFrameContextEPNS1_4ento25StackArgumentsSpaceRegionENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::StackFrameContext const*, clang::ento::StackArgumentsSpaceRegion*, llvm::DenseMapInfo<clang::StackFrameContext const*>, llvm::DenseMapInfo<clang::ento::StackArgumentsSpaceRegion*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang17StackFrameContextEPNS1_4ento22StackLocalsSpaceRegionENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::StackFrameContext const*, clang::ento::StackLocalsSpaceRegion*, llvm::DenseMapInfo<clang::StackFrameContext const*>, llvm::DenseMapInfo<clang::ento::StackLocalsSpaceRegion*> >::InsertIntoBucket(clang::StackFrameContext const* const&, clang::ento::StackLocalsSpaceRegion* const&, std::pair<clang::StackFrameContext const*, clang::ento::StackLocalsSpaceRegion*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang17StackFrameContextEPNS1_4ento22StackLocalsSpaceRegionENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::StackFrameContext const*, clang::ento::StackLocalsSpaceRegion*, llvm::DenseMapInfo<clang::StackFrameContext const*>, llvm::DenseMapInfo<clang::ento::StackLocalsSpaceRegion*> >::grow(unsigned int)"},
-    {"_ZN5clang4ento25StackArgumentsSpaceRegionD1Ev", "clang::ento::StackArgumentsSpaceRegion::~StackArgumentsSpaceRegion()"},
-    {"_ZN5clang4ento25StackArgumentsSpaceRegionD0Ev", "clang::ento::StackArgumentsSpaceRegion::~StackArgumentsSpaceRegion()"},
-    {"_ZN5clang4ento22StackLocalsSpaceRegionD1Ev", "clang::ento::StackLocalsSpaceRegion::~StackLocalsSpaceRegion()"},
-    {"_ZN5clang4ento22StackLocalsSpaceRegionD0Ev", "clang::ento::StackLocalsSpaceRegion::~StackLocalsSpaceRegion()"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento9MemRegionEED0Ev", "llvm::FoldingSet<clang::ento::MemRegion>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento9MemRegionEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::MemRegion>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento9MemRegionEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ento::MemRegion>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento9MemRegionEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::MemRegion>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento11ObjCMessage7getTypeERNS_10ASTContextE", "clang::ento::ObjCMessage::getType(clang::ASTContext&) const"},
-    {"_ZNK5clang4ento11ObjCMessage11getSelectorEv", "clang::ento::ObjCMessage::getSelector() const"},
-    {"_ZNK5clang4ento11ObjCMessage13getMethodDeclEv", "clang::ento::ObjCMessage::getMethodDecl() const"},
-    {"_ZNK5clang4ento11ObjCMessage20getReceiverInterfaceEv", "clang::ento::ObjCMessage::getReceiverInterface() const"},
-    {"_ZNK5clang4ento11ObjCMessage10getArgExprEj", "clang::ento::ObjCMessage::getArgExpr(unsigned int) const"},
-    {"_ZNK5clang4ento17CallOrObjCMessage13getResultTypeERNS_10ASTContextE", "clang::ento::CallOrObjCMessage::getResultType(clang::ASTContext&) const"},
-    {"_ZNK5clang4ento17CallOrObjCMessage23getArgSValAsScalarOrLocEj", "clang::ento::CallOrObjCMessage::getArgSValAsScalarOrLoc(unsigned int) const"},
-    {"_ZNK5clang4ento24PathDiagnosticMacroPiece13containsEventEv", "clang::ento::PathDiagnosticMacroPiece::containsEvent() const"},
-    {"_ZN5clang4ento19PathDiagnosticPieceC1EN4llvm9StringRefENS1_4KindENS1_11DisplayHintE", "clang::ento::PathDiagnosticPiece::PathDiagnosticPiece(llvm::StringRef, clang::ento::PathDiagnosticPiece::Kind, clang::ento::PathDiagnosticPiece::DisplayHint)"},
-    {"_ZN5clang4ento19PathDiagnosticPieceC2EN4llvm9StringRefENS1_4KindENS1_11DisplayHintE", "clang::ento::PathDiagnosticPiece::PathDiagnosticPiece(llvm::StringRef, clang::ento::PathDiagnosticPiece::Kind, clang::ento::PathDiagnosticPiece::DisplayHint)"},
-    {"_ZN5clang4ento19PathDiagnosticPieceC1ENS1_4KindENS1_11DisplayHintE", "clang::ento::PathDiagnosticPiece::PathDiagnosticPiece(clang::ento::PathDiagnosticPiece::Kind, clang::ento::PathDiagnosticPiece::DisplayHint)"},
-    {"_ZN5clang4ento19PathDiagnosticPieceC2ENS1_4KindENS1_11DisplayHintE", "clang::ento::PathDiagnosticPiece::PathDiagnosticPiece(clang::ento::PathDiagnosticPiece::Kind, clang::ento::PathDiagnosticPiece::DisplayHint)"},
-    {"_ZN5clang4ento19PathDiagnosticPieceD0Ev", "clang::ento::PathDiagnosticPiece::~PathDiagnosticPiece()"},
-    {"_ZN5clang4ento19PathDiagnosticPieceD1Ev", "clang::ento::PathDiagnosticPiece::~PathDiagnosticPiece()"},
-    {"_ZN5clang4ento19PathDiagnosticPieceD2Ev", "clang::ento::PathDiagnosticPiece::~PathDiagnosticPiece()"},
-    {"_ZN5clang4ento24PathDiagnosticEventPieceD0Ev", "clang::ento::PathDiagnosticEventPiece::~PathDiagnosticEventPiece()"},
-    {"_ZN5clang4ento24PathDiagnosticEventPieceD1Ev", "clang::ento::PathDiagnosticEventPiece::~PathDiagnosticEventPiece()"},
-    {"_ZN5clang4ento24PathDiagnosticEventPieceD2Ev", "clang::ento::PathDiagnosticEventPiece::~PathDiagnosticEventPiece()"},
-    {"_ZN5clang4ento30PathDiagnosticControlFlowPieceD0Ev", "clang::ento::PathDiagnosticControlFlowPiece::~PathDiagnosticControlFlowPiece()"},
-    {"_ZN5clang4ento30PathDiagnosticControlFlowPieceD1Ev", "clang::ento::PathDiagnosticControlFlowPiece::~PathDiagnosticControlFlowPiece()"},
-    {"_ZN5clang4ento30PathDiagnosticControlFlowPieceD2Ev", "clang::ento::PathDiagnosticControlFlowPiece::~PathDiagnosticControlFlowPiece()"},
-    {"_ZN5clang4ento24PathDiagnosticMacroPieceD0Ev", "clang::ento::PathDiagnosticMacroPiece::~PathDiagnosticMacroPiece()"},
-    {"_ZN5clang4ento24PathDiagnosticMacroPieceD1Ev", "clang::ento::PathDiagnosticMacroPiece::~PathDiagnosticMacroPiece()"},
-    {"_ZN5clang4ento24PathDiagnosticMacroPieceD2Ev", "clang::ento::PathDiagnosticMacroPiece::~PathDiagnosticMacroPiece()"},
-    {"_ZN5clang4ento14PathDiagnosticC1Ev", "clang::ento::PathDiagnostic::PathDiagnostic()"},
-    {"_ZN5clang4ento14PathDiagnosticC2Ev", "clang::ento::PathDiagnostic::PathDiagnostic()"},
-    {"_ZN5clang4ento14PathDiagnosticD1Ev", "clang::ento::PathDiagnostic::~PathDiagnostic()"},
-    {"_ZN5clang4ento14PathDiagnosticD2Ev", "clang::ento::PathDiagnostic::~PathDiagnostic()"},
-    {"_ZN5clang4ento14PathDiagnostic9resetPathEb", "clang::ento::PathDiagnostic::resetPath(bool)"},
-    {"_ZN5clang4ento14PathDiagnosticC1EN4llvm9StringRefES3_S3_", "clang::ento::PathDiagnostic::PathDiagnostic(llvm::StringRef, llvm::StringRef, llvm::StringRef)"},
-    {"_ZN5clang4ento14PathDiagnosticC2EN4llvm9StringRefES3_S3_", "clang::ento::PathDiagnostic::PathDiagnostic(llvm::StringRef, llvm::StringRef, llvm::StringRef)"},
-    {"_ZN5clang4ento20PathDiagnosticClient16HandleDiagnosticENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::ento::PathDiagnosticClient::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZNK5clang4ento22PathDiagnosticLocation10asLocationEv", "clang::ento::PathDiagnosticLocation::asLocation() const"},
-    {"_ZNK5clang4ento22PathDiagnosticLocation7asRangeEv", "clang::ento::PathDiagnosticLocation::asRange() const"},
-    {"_ZN5clang4ento22PathDiagnosticLocation7flattenEv", "clang::ento::PathDiagnosticLocation::flatten()"},
-    {"_ZNK5clang4ento22PathDiagnosticLocation7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::PathDiagnosticLocation::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento19PathDiagnosticPiece7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::PathDiagnosticPiece::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento23PathDiagnosticSpotPiece7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::PathDiagnosticSpotPiece::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento30PathDiagnosticControlFlowPiece7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::PathDiagnosticControlFlowPiece::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento24PathDiagnosticMacroPiece7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::PathDiagnosticMacroPiece::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4ento14PathDiagnostic7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::PathDiagnostic::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNSt11_Deque_baseIPN5clang4ento19PathDiagnosticPieceESaIS3_EE17_M_initialize_mapEm", "std::_Deque_base<clang::ento::PathDiagnosticPiece*, std::allocator<clang::ento::PathDiagnosticPiece*> >::_M_initialize_map(unsigned long)"},
-    {"_ZN5clang4ento23PathDiagnosticSpotPieceC2ERKNS0_22PathDiagnosticLocationEN4llvm9StringRefENS0_19PathDiagnosticPiece4KindEb", "clang::ento::PathDiagnosticSpotPiece::PathDiagnosticSpotPiece(clang::ento::PathDiagnosticLocation const&, llvm::StringRef, clang::ento::PathDiagnosticPiece::Kind, bool)"},
-    {"_ZN5clang4ento27createPlistDiagnosticClientERKSsRKNS_12PreprocessorEPNS0_20PathDiagnosticClientE", "clang::ento::createPlistDiagnosticClient(std::string const&, clang::Preprocessor const&, clang::ento::PathDiagnosticClient*)"},
-    {"_ZN12_GLOBAL__N_116PlistDiagnosticsD1Ev", "(anonymous namespace)::PlistDiagnostics::~PlistDiagnostics()"},
-    {"_ZN12_GLOBAL__N_116PlistDiagnosticsD0Ev", "(anonymous namespace)::PlistDiagnostics::~PlistDiagnostics()"},
-    {"_ZN12_GLOBAL__N_116PlistDiagnostics16FlushDiagnosticsEPN4llvm15SmallVectorImplISsEE", "(anonymous namespace)::PlistDiagnostics::FlushDiagnostics(llvm::SmallVectorImpl<std::string>*)"},
-    {"_ZNK12_GLOBAL__N_116PlistDiagnostics7getNameEv", "(anonymous namespace)::PlistDiagnostics::getName() const"},
-    {"_ZN12_GLOBAL__N_116PlistDiagnostics20HandlePathDiagnosticEPKN5clang4ento14PathDiagnosticE", "(anonymous namespace)::PlistDiagnostics::HandlePathDiagnostic(clang::ento::PathDiagnostic const*)"},
-    {"_ZNK12_GLOBAL__N_116PlistDiagnostics19getGenerationSchemeEv", "(anonymous namespace)::PlistDiagnostics::getGenerationScheme() const"},
-    {"_ZNK12_GLOBAL__N_116PlistDiagnostics28supportsLogicalOpControlFlowEv", "(anonymous namespace)::PlistDiagnostics::supportsLogicalOpControlFlow() const"},
-    {"_ZNK12_GLOBAL__N_116PlistDiagnostics21supportsAllBlockEdgesEv", "(anonymous namespace)::PlistDiagnostics::supportsAllBlockEdges() const"},
-    {"_ZNK12_GLOBAL__N_116PlistDiagnostics21useVerboseDescriptionEv", "(anonymous namespace)::PlistDiagnostics::useVerboseDescription() const"},
-    {"_Z6AddFIDRN4llvm8DenseMapIN5clang6FileIDEjNS_12DenseMapInfoIS2_EENS3_IjEEEERNS_15SmallVectorImplIS2_EEPKNS1_13SourceManagerENS1_14SourceLocationE", "AddFID(llvm::DenseMap<clang::FileID, unsigned int, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<unsigned int> >&, llvm::SmallVectorImpl<clang::FileID>&, clang::SourceManager const*, clang::SourceLocation)"},
-    {"_Z10EmitStringRN4llvm11raw_ostreamERKSs", "EmitString(llvm::raw_ostream&, std::string const&)"},
-    {"_Z12EmitLocationRN4llvm11raw_ostreamERKN5clang13SourceManagerERKNS2_11LangOptionsENS2_14SourceLocationERKNS_8DenseMapINS2_6FileIDEjNS_12DenseMapInfoISB_EENSC_IjEEEEjb", "EmitLocation(llvm::raw_ostream&, clang::SourceManager const&, clang::LangOptions const&, clang::SourceLocation, llvm::DenseMap<clang::FileID, unsigned int, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<unsigned int> > const&, unsigned int, bool)"},
-    {"_Z11ReportEventRN4llvm11raw_ostreamERKN5clang4ento19PathDiagnosticPieceERKNS_8DenseMapINS2_6FileIDEjNS_12DenseMapInfoIS8_EENS9_IjEEEERKNS2_13SourceManagerERKNS2_11LangOptionsEj", "ReportEvent(llvm::raw_ostream&, clang::ento::PathDiagnosticPiece const&, llvm::DenseMap<clang::FileID, unsigned int, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<unsigned int> > const&, clang::SourceManager const&, clang::LangOptions const&, unsigned int)"},
-    {"_Z11ReportMacroRN4llvm11raw_ostreamERKN5clang4ento24PathDiagnosticMacroPieceERKNS_8DenseMapINS2_6FileIDEjNS_12DenseMapInfoIS8_EENS9_IjEEEERKNS2_13SourceManagerERKNS2_11LangOptionsEj", "ReportMacro(llvm::raw_ostream&, clang::ento::PathDiagnosticMacroPiece const&, llvm::DenseMap<clang::FileID, unsigned int, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<unsigned int> > const&, clang::SourceManager const&, clang::LangOptions const&, unsigned int)"},
-    {"_Z9EmitRangeRN4llvm11raw_ostreamERKN5clang13SourceManagerERKNS2_11LangOptionsENS2_4ento19PathDiagnosticRangeERKNS_8DenseMapINS2_6FileIDEjNS_12DenseMapInfoISC_EENSD_IjEEEEj", "EmitRange(llvm::raw_ostream&, clang::SourceManager const&, clang::LangOptions const&, clang::ento::PathDiagnosticRange, llvm::DenseMap<clang::FileID, unsigned int, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<unsigned int> > const&, unsigned int)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPKN5clang4ento14PathDiagnosticESt6vectorIS6_SaIS6_EEEElN12_GLOBAL__N_118CompareDiagnosticsEEvT_SE_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, long, (anonymous namespace)::CompareDiagnostics>(__gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, __gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, long, (anonymous namespace)::CompareDiagnostics)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN5clang4ento14PathDiagnosticESt6vectorIS6_SaIS6_EEEEN12_GLOBAL__N_118CompareDiagnosticsEEvT_SE_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, (anonymous namespace)::CompareDiagnostics>(__gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, __gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, (anonymous namespace)::CompareDiagnostics)"},
-    {"_ZNK12_GLOBAL__N_118CompareDiagnosticsclEPKN5clang4ento14PathDiagnosticES5_", "(anonymous namespace)::CompareDiagnostics::operator()(clang::ento::PathDiagnostic const*, clang::ento::PathDiagnostic const*) const"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPKN5clang4ento14PathDiagnosticESt6vectorIS6_SaIS6_EEEElS6_N12_GLOBAL__N_118CompareDiagnosticsEEvT_T0_SF_T1_T2_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, long, clang::ento::PathDiagnostic const*, (anonymous namespace)::CompareDiagnostics>(__gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, long, long, clang::ento::PathDiagnostic const*, (anonymous namespace)::CompareDiagnostics)"},
-    {"_ZNSt6vectorIPKN5clang4ento14PathDiagnosticESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::ento::PathDiagnostic const**, std::vector<clang::ento::PathDiagnostic const*, std::allocator<clang::ento::PathDiagnostic const*> > >, clang::ento::PathDiagnostic const* const&)"},
-    {"_ZN4llvm8DenseMapIN5clang6FileIDEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<clang::FileID, unsigned int, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::FileID const&, unsigned int const&, std::pair<clang::FileID, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIN5clang6FileIDEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<clang::FileID, unsigned int, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang4ento28CreateRangeConstraintManagerERNS0_14GRStateManagerERNS0_9SubEngineE", "clang::ento::CreateRangeConstraintManager(clang::ento::GRStateManager&, clang::ento::SubEngine&)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManagerD1Ev", "(anonymous namespace)::RangeConstraintManager::~RangeConstraintManager()"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManagerD0Ev", "(anonymous namespace)::RangeConstraintManager::~RangeConstraintManager()"},
-    {"_ZNK12_GLOBAL__N_122RangeConstraintManager9getSymValEPKN5clang4ento7GRStateEPKNS2_10SymbolDataE", "(anonymous namespace)::RangeConstraintManager::getSymVal(clang::ento::GRState const*, clang::ento::SymbolData const*) const"},
-    {"_ZNK12_GLOBAL__N_122RangeConstraintManager7isEqualEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntE", "(anonymous namespace)::RangeConstraintManager::isEqual(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&) const"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager18removeDeadBindingsEPKN5clang4ento7GRStateERNS2_12SymbolReaperE", "(anonymous namespace)::RangeConstraintManager::removeDeadBindings(clang::ento::GRState const*, clang::ento::SymbolReaper&)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager5printEPKN5clang4ento7GRStateERN4llvm11raw_ostreamEPKcSA_", "(anonymous namespace)::RangeConstraintManager::print(clang::ento::GRState const*, llvm::raw_ostream&, char const*, char const*)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager11assumeSymNEEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::RangeConstraintManager::assumeSymNE(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager11assumeSymEQEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::RangeConstraintManager::assumeSymEQ(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager11assumeSymLTEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::RangeConstraintManager::assumeSymLT(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager11assumeSymGTEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::RangeConstraintManager::assumeSymGT(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager11assumeSymLEEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::RangeConstraintManager::assumeSymLE(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager11assumeSymGEEPKN5clang4ento7GRStateEPKNS2_10SymbolDataERKN4llvm6APSIntESC_", "(anonymous namespace)::RangeConstraintManager::assumeSymGE(clang::ento::GRState const*, clang::ento::SymbolData const*, llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_122RangeConstraintManager8GetRangeEPKN5clang4ento7GRStateEPKNS2_10SymbolDataE", "(anonymous namespace)::RangeConstraintManager::GetRange(clang::ento::GRState const*, clang::ento::SymbolData const*)"},
-    {"_ZNK12_GLOBAL__N_18RangeSet9IntersectERN5clang4ento17BasicValueFactoryERN4llvm12ImmutableSetINS_5RangeENS_10RangeTraitEE7FactoryERKNS5_6APSIntESE_", "(anonymous namespace)::RangeSet::Intersect(clang::ento::BasicValueFactory&, llvm::ImmutableSet<(anonymous namespace)::Range, (anonymous namespace)::RangeTrait>::Factory&, llvm::APSInt const&, llvm::APSInt const&) const"},
-    {"_ZNK5clang4ento7GRState3setIN12_GLOBAL__N_115ConstraintRangeEEEPKS1_NS0_12GRStateTraitIT_E8key_typeENS9_10value_typeE", "clang::ento::GRState const* clang::ento::GRState::set<(anonymous namespace)::ConstraintRange>(clang::ento::GRStateTrait<(anonymous namespace)::ConstraintRange>::key_type, clang::ento::GRStateTrait<(anonymous namespace)::ConstraintRange>::value_type) const"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_18RangeSetENS2_16ImutKeyValueInfoIS6_S8_EEEEE13CreateContextERNS2_16BumpPtrAllocatorE", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> > >::CreateContext(llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento19GRStatePartialTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_18RangeSetENS2_16ImutKeyValueInfoIS6_S8_EEEEE13DeleteContextEPv", "clang::ento::GRStatePartialTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> > >::DeleteContext(void*)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::destroy()"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEEENS_12DenseMapInfoIjEENSD_ISC_EEEixERKj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*> >::operator[](unsigned int const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEEESaISC_EE9push_backERKSC_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*> >::push_back(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >* const&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*)"},
-    {"_ZN4llvm26ImutAVLTreeInOrderIteratorINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEEppEv", "llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::operator++()"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorIN12_GLOBAL__N_110RangeTraitEEppEv", "llvm::ImutAVLTreeGenericIterator<(anonymous namespace)::RangeTrait>::operator++()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE12add_internalERKSt4pairIS6_S8_EPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::add_internal(std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE13markImmutableEPNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE10createNodeEPNS_11ImutAVLTreeIS9_EERKSt4pairIS6_S8_ESD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*, std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE11balanceTreeEPNS_11ImutAVLTreeIS9_EERKSt4pairIS6_S8_ESD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*, std::pair<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*)"},
-    {"_ZN4llvm11ImutAVLTreeIN12_GLOBAL__N_110RangeTraitEE7destroyEv", "llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>::destroy()"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeIN12_GLOBAL__N_110RangeTraitEEENS_12DenseMapInfoIjEENS6_IS5_EEEixERKj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*> >::operator[](unsigned int const&)"},
-    {"_ZN4llvm11ImutAVLTreeIN12_GLOBAL__N_110RangeTraitEE13computeDigestEv", "llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeIN12_GLOBAL__N_110RangeTraitEEESaIS5_EE9push_backERKS5_", "std::vector<llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*, std::allocator<llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*> >::push_back(llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>* const&)"},
-    {"_ZNK12_GLOBAL__N_18RangeSet16IntersectInRangeERN5clang4ento17BasicValueFactoryERN4llvm12ImmutableSetINS_5RangeENS_10RangeTraitEE7FactoryERKNS5_6APSIntESE_RS9_RNS9_8iteratorESH_", "(anonymous namespace)::RangeSet::IntersectInRange(clang::ento::BasicValueFactory&, llvm::ImmutableSet<(anonymous namespace)::Range, (anonymous namespace)::RangeTrait>::Factory&, llvm::APSInt const&, llvm::APSInt const&, llvm::ImmutableSet<(anonymous namespace)::Range, (anonymous namespace)::RangeTrait>&, llvm::ImmutableSet<(anonymous namespace)::Range, (anonymous namespace)::RangeTrait>::iterator&, llvm::ImmutableSet<(anonymous namespace)::Range, (anonymous namespace)::RangeTrait>::iterator&) const"},
-    {"_ZN4llvm12ImmutableSetIN12_GLOBAL__N_15RangeENS1_10RangeTraitEE7Factory3addES4_RKS2_", "llvm::ImmutableSet<(anonymous namespace)::Range, (anonymous namespace)::RangeTrait>::Factory::add(llvm::ImmutableSet<(anonymous namespace)::Range, (anonymous namespace)::RangeTrait>, (anonymous namespace)::Range const&)"},
-    {"_ZN4llvm14ImutAVLFactoryIN12_GLOBAL__N_110RangeTraitEE12add_internalERKNS1_5RangeEPNS_11ImutAVLTreeIS2_EE", "llvm::ImutAVLFactory<(anonymous namespace)::RangeTrait>::add_internal((anonymous namespace)::Range const&, llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*)"},
-    {"_ZN4llvm14ImutAVLFactoryIN12_GLOBAL__N_110RangeTraitEE13markImmutableEPNS_11ImutAVLTreeIS2_EE", "llvm::ImutAVLFactory<(anonymous namespace)::RangeTrait>::markImmutable(llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*)"},
-    {"_ZN4llvm14ImutAVLFactoryIN12_GLOBAL__N_110RangeTraitEE10createNodeEPNS_11ImutAVLTreeIS2_EERKNS1_5RangeES6_", "llvm::ImutAVLFactory<(anonymous namespace)::RangeTrait>::createNode(llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*, (anonymous namespace)::Range const&, llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*)"},
-    {"_ZN4llvm14ImutAVLFactoryIN12_GLOBAL__N_110RangeTraitEE11balanceTreeEPNS_11ImutAVLTreeIS2_EERKNS1_5RangeES6_", "llvm::ImutAVLFactory<(anonymous namespace)::RangeTrait>::balanceTree(llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*, (anonymous namespace)::Range const&, llvm::ImutAVLTree<(anonymous namespace)::RangeTrait>*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE15remove_internalERKS6_PNS_11ImutAVLTreeIS9_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::remove_internal(clang::ento::SymbolData const* const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIPKN5clang4ento10SymbolDataEN12_GLOBAL__N_18RangeSetEEEE16removeMinBindingEPNS_11ImutAVLTreeIS9_EERSD_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RangeSet> >*&)"},
-    {"_ZN5clang4ento17ConstraintManager7EndPathEPKNS0_7GRStateE", "clang::ento::ConstraintManager::EndPath(clang::ento::GRState const*)"},
-    {"_ZN4llvm6APSInt11getMaxValueEjb", "llvm::APSInt::getMaxValue(unsigned int, bool)"},
-    {"_ZN4llvm6APSInt11getMinValueEjb", "llvm::APSInt::getMinValue(unsigned int, bool)"},
-    {"_ZN5clang4ento24CreateRegionStoreManagerERNS0_14GRStateManagerE", "clang::ento::CreateRegionStoreManager(clang::ento::GRStateManager&)"},
-    {"_ZN5clang4ento34CreateFieldsOnlyRegionStoreManagerERNS0_14GRStateManagerE", "clang::ento::CreateFieldsOnlyRegionStoreManager(clang::ento::GRStateManager&)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManagerD1Ev", "(anonymous namespace)::RegionStoreManager::~RegionStoreManager()"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManagerD0Ev", "(anonymous namespace)::RegionStoreManager::~RegionStoreManager()"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager8RetrieveEPKvN5clang4ento3LocENS3_8QualTypeE", "(anonymous namespace)::RegionStoreManager::Retrieve(void const*, clang::ento::Loc, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager4BindEPKvN5clang4ento3LocENS4_4SValE", "(anonymous namespace)::RegionStoreManager::Bind(void const*, clang::ento::Loc, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager11BindDefaultEPKvPKN5clang4ento9MemRegionENS4_4SValE", "(anonymous namespace)::RegionStoreManager::BindDefault(void const*, clang::ento::MemRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager6RemoveEPKvN5clang4ento3LocE", "(anonymous namespace)::RegionStoreManager::Remove(void const*, clang::ento::Loc)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager19BindCompoundLiteralEPKvPKN5clang19CompoundLiteralExprEPKNS3_15LocationContextENS3_4ento4SValE", "(anonymous namespace)::RegionStoreManager::BindCompoundLiteral(void const*, clang::CompoundLiteralExpr const*, clang::LocationContext const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager15getInitialStoreEPKN5clang15LocationContextE", "(anonymous namespace)::RegionStoreManager::getInitialStore(clang::LocationContext const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager15getSubRegionMapEPKv", "(anonymous namespace)::RegionStoreManager::getSubRegionMap(void const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager17getSizeInElementsEPKN5clang4ento7GRStateEPKNS2_9MemRegionENS1_8QualTypeE", "(anonymous namespace)::RegionStoreManager::getSizeInElements(clang::ento::GRState const*, clang::ento::MemRegion const*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager14ArrayToPointerEN5clang4ento3LocE", "(anonymous namespace)::RegionStoreManager::ArrayToPointer(clang::ento::Loc)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager17evalDerivedToBaseEN5clang4ento4SValENS1_8QualTypeE", "(anonymous namespace)::RegionStoreManager::evalDerivedToBase(clang::ento::SVal, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager18removeDeadBindingsEPKvPKN5clang17StackFrameContextERNS3_4ento12SymbolReaperERN4llvm15SmallVectorImplIPKNS7_9MemRegionEEE", "(anonymous namespace)::RegionStoreManager::removeDeadBindings(void const*, clang::StackFrameContext const*, clang::ento::SymbolReaper&, llvm::SmallVectorImpl<clang::ento::MemRegion const*>&)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager8BindDeclEPKvPKN5clang4ento9VarRegionENS4_4SValE", "(anonymous namespace)::RegionStoreManager::BindDecl(void const*, clang::ento::VarRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager18BindDeclWithNoInitEPKvPKN5clang4ento9VarRegionE", "(anonymous namespace)::RegionStoreManager::BindDeclWithNoInit(void const*, clang::ento::VarRegion const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager17InvalidateRegionsEPKvPKPKN5clang4ento9MemRegionES9_PKNS3_4ExprEjPN4llvm8DenseSetIPKNS4_10SymbolDataENSD_12DenseMapInfoISH_EEEEbPNSD_11SmallVectorIS7_Lj8EEE", "(anonymous namespace)::RegionStoreManager::InvalidateRegions(void const*, clang::ento::MemRegion const* const*, clang::ento::MemRegion const* const*, clang::Expr const*, unsigned int, llvm::DenseSet<clang::ento::SymbolData const*, llvm::DenseMapInfo<clang::ento::SymbolData const*> >*, bool, llvm::SmallVector<clang::ento::MemRegion const*, 8u>*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager15enterStackFrameEPKN5clang4ento7GRStateEPKNS1_17StackFrameContextE", "(anonymous namespace)::RegionStoreManager::enterStackFrame(clang::ento::GRState const*, clang::StackFrameContext const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager5printEPKvRN4llvm11raw_ostreamEPKcS7_", "(anonymous namespace)::RegionStoreManager::print(void const*, llvm::raw_ostream&, char const*, char const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager12iterBindingsEPKvRN5clang4ento12StoreManager15BindingsHandlerE", "(anonymous namespace)::RegionStoreManager::iterBindings(void const*, clang::ento::StoreManager::BindingsHandler&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::destroy()"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEEENS_12DenseMapInfoIjEENSB_ISA_EEEixERKj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*> >::operator[](unsigned int const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEEESaISA_EE9push_backERKSA_", "std::vector<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*> >::push_back(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >* const&)"},
-    {"_ZN4llvm26ImutAVLTreeInOrderIteratorINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEEppEv", "llvm::ImutAVLTreeInOrderIterator<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::operator++()"},
-    {"_ZN12_GLOBAL__N_115ClusterAnalysisINS_23InvalidateRegionsWorkerEE13AddToWorkListEPKN5clang4ento9MemRegionE", "(anonymous namespace)::ClusterAnalysis<(anonymous namespace)::InvalidateRegionsWorker>::AddToWorkList(clang::ento::MemRegion const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager10addBindingEN4llvm12ImmutableMapINS_10BindingKeyEN5clang4ento4SValENS1_16ImutKeyValueInfoIS3_S6_EEEES3_S6_", "(anonymous namespace)::RegionStoreManager::addBinding(llvm::ImmutableMap<(anonymous namespace)::BindingKey, clang::ento::SVal, llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >, (anonymous namespace)::BindingKey, clang::ento::SVal)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE12add_internalERKSt4pairIS3_S6_EPNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::add_internal(std::pair<(anonymous namespace)::BindingKey, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE13markImmutableEPNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::markImmutable(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE10createNodeEPNS_11ImutAVLTreeIS7_EERKSt4pairIS3_S6_ESB_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::createNode(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*, std::pair<(anonymous namespace)::BindingKey, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE11balanceTreeEPNS_11ImutAVLTreeIS7_EERKSt4pairIS3_S6_ESB_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::balanceTree(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*, std::pair<(anonymous namespace)::BindingKey, clang::ento::SVal> const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager13removeBindingEN4llvm12ImmutableMapINS_10BindingKeyEN5clang4ento4SValENS1_16ImutKeyValueInfoIS3_S6_EEEES3_", "(anonymous namespace)::RegionStoreManager::removeBinding(llvm::ImmutableMap<(anonymous namespace)::BindingKey, clang::ento::SVal, llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >, (anonymous namespace)::BindingKey)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE15remove_internalERKS3_PNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::remove_internal((anonymous namespace)::BindingKey const&, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_16ImutKeyValueInfoIN12_GLOBAL__N_110BindingKeyEN5clang4ento4SValEEEE16removeMinBindingEPNS_11ImutAVLTreeIS7_EERSB_", "llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >::removeMinBinding(llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*, llvm::ImutAVLTree<llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >*&)"},
-    {"_ZN12_GLOBAL__N_123InvalidateRegionsWorker12VisitBindingEN5clang4ento4SValE", "(anonymous namespace)::InvalidateRegionsWorker::VisitBinding(clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_115ClusterAnalysisINS_23InvalidateRegionsWorkerEE10getClusterEPKN5clang4ento9MemRegionE", "(anonymous namespace)::ClusterAnalysis<(anonymous namespace)::InvalidateRegionsWorker>::getCluster(clang::ento::MemRegion const*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento9MemRegionEPNS1_10BumpVectorIN12_GLOBAL__N_110BindingKeyEEENS_12DenseMapInfoIS5_EENSB_ISA_EEEixERKS5_", "llvm::DenseMap<clang::ento::MemRegion const*, clang::BumpVector<(anonymous namespace)::BindingKey>*, llvm::DenseMapInfo<clang::ento::MemRegion const*>, llvm::DenseMapInfo<clang::BumpVector<(anonymous namespace)::BindingKey>*> >::operator[](clang::ento::MemRegion const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang10BumpVectorIN12_GLOBAL__N_110BindingKeyEEEjNS_12DenseMapInfoIS7_EENS8_IjEEEixERKS7_", "llvm::DenseMap<clang::BumpVector<(anonymous namespace)::BindingKey> const*, unsigned int, llvm::DenseMapInfo<clang::BumpVector<(anonymous namespace)::BindingKey> const*>, llvm::DenseMapInfo<unsigned int> >::operator[](clang::BumpVector<(anonymous namespace)::BindingKey> const* const&)"},
-    {"_ZN5clang10BumpVectorIN12_GLOBAL__N_110BindingKeyEE9push_backERKS2_RNS_17BumpVectorContextE", "clang::BumpVector<(anonymous namespace)::BindingKey>::push_back((anonymous namespace)::BindingKey const&, clang::BumpVectorContext&)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager9BindArrayEPKvPKN5clang4ento11TypedRegionENS4_4SValE", "(anonymous namespace)::RegionStoreManager::BindArray(void const*, clang::ento::TypedRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager10BindStructEPKvPKN5clang4ento11TypedRegionENS4_4SValE", "(anonymous namespace)::RegionStoreManager::BindStruct(void const*, clang::ento::TypedRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager16CopyLazyBindingsEN5clang4ento6nonloc15LazyCompoundValEPKvPKNS2_11TypedRegionE", "(anonymous namespace)::RegionStoreManager::CopyLazyBindings(clang::ento::nonloc::LazyCompoundVal, void const*, clang::ento::TypedRegion const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager10KillStructEPKvPKN5clang4ento11TypedRegionENS4_4SValE", "(anonymous namespace)::RegionStoreManager::KillStruct(void const*, clang::ento::TypedRegion const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager26getRegionStoreSubRegionMapEPKv", "(anonymous namespace)::RegionStoreManager::getRegionStoreSubRegionMap(void const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager23RemoveSubRegionBindingsERN4llvm12ImmutableMapINS_10BindingKeyEN5clang4ento4SValENS1_16ImutKeyValueInfoIS3_S6_EEEEPKNS5_9MemRegionERNS_23RegionStoreSubRegionMapE", "(anonymous namespace)::RegionStoreManager::RemoveSubRegionBindings(llvm::ImmutableMap<(anonymous namespace)::BindingKey, clang::ento::SVal, llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >&, clang::ento::MemRegion const*, (anonymous namespace)::RegionStoreSubRegionMap&)"},
-    {"_ZN12_GLOBAL__N_123RegionStoreSubRegionMap7processERN4llvm15SmallVectorImplIPKN5clang4ento9SubRegionEEES7_", "(anonymous namespace)::RegionStoreSubRegionMap::process(llvm::SmallVectorImpl<clang::ento::SubRegion const*>&, clang::ento::SubRegion const*)"},
-    {"_ZN12_GLOBAL__N_123RegionStoreSubRegionMapD1Ev", "(anonymous namespace)::RegionStoreSubRegionMap::~RegionStoreSubRegionMap()"},
-    {"_ZN12_GLOBAL__N_123RegionStoreSubRegionMapD0Ev", "(anonymous namespace)::RegionStoreSubRegionMap::~RegionStoreSubRegionMap()"},
-    {"_ZNK12_GLOBAL__N_123RegionStoreSubRegionMap14iterSubRegionsEPKN5clang4ento9MemRegionERNS2_12SubRegionMap7VisitorE", "(anonymous namespace)::RegionStoreSubRegionMap::iterSubRegions(clang::ento::MemRegion const*, clang::ento::SubRegionMap::Visitor&) const"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager23setImplicitDefaultValueEPKvPKN5clang4ento9MemRegionENS3_8QualTypeE", "(anonymous namespace)::RegionStoreManager::setImplicitDefaultValue(void const*, clang::ento::MemRegion const*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_115ClusterAnalysisINS_24removeDeadBindingsWorkerEE13AddToWorkListEPKN5clang4ento9MemRegionE", "(anonymous namespace)::ClusterAnalysis<(anonymous namespace)::removeDeadBindingsWorker>::AddToWorkList(clang::ento::MemRegion const*)"},
-    {"_ZN12_GLOBAL__N_124removeDeadBindingsWorker12VisitBindingEN5clang4ento4SValE", "(anonymous namespace)::removeDeadBindingsWorker::VisitBinding(clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager13RetrieveFieldEPKvPKN5clang4ento11FieldRegionE", "(anonymous namespace)::RegionStoreManager::RetrieveField(void const*, clang::ento::FieldRegion const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager15RetrieveElementEPKvPKN5clang4ento13ElementRegionE", "(anonymous namespace)::RegionStoreManager::RetrieveElement(void const*, clang::ento::ElementRegion const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager27RetrieveDerivedDefaultValueEN4llvm12ImmutableMapINS_10BindingKeyEN5clang4ento4SValENS1_16ImutKeyValueInfoIS3_S6_EEEEPKNS5_9MemRegionEPKNS5_11TypedRegionENS4_8QualTypeE", "(anonymous namespace)::RegionStoreManager::RetrieveDerivedDefaultValue(llvm::ImmutableMap<(anonymous namespace)::BindingKey, clang::ento::SVal, llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >, clang::ento::MemRegion const*, clang::ento::TypedRegion const*, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager17getDefaultBindingEN4llvm12ImmutableMapINS_10BindingKeyEN5clang4ento4SValENS1_16ImutKeyValueInfoIS3_S6_EEEEPKNS5_9MemRegionE", "(anonymous namespace)::RegionStoreManager::getDefaultBinding(llvm::ImmutableMap<(anonymous namespace)::BindingKey, clang::ento::SVal, llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >, clang::ento::MemRegion const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager28RetrieveFieldOrElementCommonEPKvPKN5clang4ento11TypedRegionENS3_8QualTypeEPKNS4_9MemRegionE", "(anonymous namespace)::RegionStoreManager::RetrieveFieldOrElementCommon(void const*, clang::ento::TypedRegion const*, clang::QualType, clang::ento::MemRegion const*)"},
-    {"_ZN12_GLOBAL__N_118RegionStoreManager14GetLazyBindingEN4llvm12ImmutableMapINS_10BindingKeyEN5clang4ento4SValENS1_16ImutKeyValueInfoIS3_S6_EEEEPKNS5_9MemRegionE", "(anonymous namespace)::RegionStoreManager::GetLazyBinding(llvm::ImmutableMap<(anonymous namespace)::BindingKey, clang::ento::SVal, llvm::ImutKeyValueInfo<(anonymous namespace)::BindingKey, clang::ento::SVal> >, clang::ento::MemRegion const*)"},
-    {"_ZN4llvm26ImutAVLTreeGenericIteratorINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEEppEv", "llvm::ImutAVLTreeGenericIterator<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::operator++()"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento9MemRegionENS_12ImmutableSetIS5_NS_17ImutContainerInfoIS5_EEEENS_12DenseMapInfoIS5_EENSA_IS9_EEE6insertERKSt4pairIS5_S9_E", "llvm::DenseMap<clang::ento::MemRegion const*, llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> >, llvm::DenseMapInfo<clang::ento::MemRegion const*>, llvm::DenseMapInfo<llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> > > >::insert(std::pair<clang::ento::MemRegion const*, llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> > > const&)"},
-    {"_ZN4llvm11ImutAVLTreeINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE7destroyEv", "llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::destroy()"},
-    {"_ZN4llvm11ImutAVLTreeINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE13computeDigestEv", "llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::computeDigest()"},
-    {"_ZNSt6vectorIPN4llvm11ImutAVLTreeINS0_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEEESaISA_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSA_SC_EERKSA_", "std::vector<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >**, std::vector<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, std::allocator<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*> > >, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >* const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEEENS_12DenseMapInfoIjEENSB_ISA_EEE16InsertIntoBucketERKjRKSA_PSt4pairIjSA_E", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*> >::InsertIntoBucket(unsigned int const&, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >* const&, std::pair<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_11ImutAVLTreeINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEEENS_12DenseMapInfoIjEENSB_ISA_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE3addEPNS_11ImutAVLTreeIS7_EES6_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::add(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, clang::ento::MemRegion const*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE16getCanonicalTreeEPNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::getCanonicalTree(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE22compareTreeWithSectionEPNS_11ImutAVLTreeIS7_EERNS_26ImutAVLTreeInOrderIteratorIS7_EESE_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::compareTreeWithSection(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, llvm::ImutAVLTreeInOrderIterator<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >&, llvm::ImutAVLTreeInOrderIterator<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >&)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE12add_internalES6_PNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::add_internal(clang::ento::MemRegion const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE13markImmutableEPNS_11ImutAVLTreeIS7_EE", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::markImmutable(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE10createNodeEPNS_11ImutAVLTreeIS7_EES6_SB_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::createNode(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, clang::ento::MemRegion const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEE11balanceTreeEPNS_11ImutAVLTreeIS7_EES6_SB_", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::balanceTree(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*, clang::ento::MemRegion const*, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento9MemRegionENS_12ImmutableSetIS5_NS_17ImutContainerInfoIS5_EEEENS_12DenseMapInfoIS5_EENSA_IS9_EEE16InsertIntoBucketERKS5_RKS9_PSt4pairIS5_S9_E", "llvm::DenseMap<clang::ento::MemRegion const*, llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> >, llvm::DenseMapInfo<clang::ento::MemRegion const*>, llvm::DenseMapInfo<llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> > > >::InsertIntoBucket(clang::ento::MemRegion const* const&, llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> > const&, std::pair<clang::ento::MemRegion const*, llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> > >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4ento9MemRegionENS_12ImmutableSetIS5_NS_17ImutContainerInfoIS5_EEEENS_12DenseMapInfoIS5_EENSA_IS9_EEE4growEj", "llvm::DenseMap<clang::ento::MemRegion const*, llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> >, llvm::DenseMapInfo<clang::ento::MemRegion const*>, llvm::DenseMapInfo<llvm::ImmutableSet<clang::ento::MemRegion const*, llvm::ImutContainerInfo<clang::ento::MemRegion const*> > > >::grow(unsigned int)"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEED2Ev", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::~ImutAVLFactory()"},
-    {"_ZN4llvm14ImutAVLFactoryINS_17ImutContainerInfoIPKN5clang4ento9MemRegionEEEEC2Ev", "llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::ento::MemRegion const*> >::ImutAVLFactory()"},
-    {"_ZN5clang4ento11SValBuilder11makeZeroValENS_8QualTypeE", "clang::ento::SValBuilder::makeZeroVal(clang::QualType)"},
-    {"_ZN5clang4ento11SValBuilder10makeNonLocEPKNS0_7SymExprENS_18BinaryOperatorKindERKN4llvm6APSIntENS_8QualTypeE", "clang::ento::SValBuilder::makeNonLoc(clang::ento::SymExpr const*, clang::BinaryOperatorKind, llvm::APSInt const&, clang::QualType)"},
-    {"_ZN5clang4ento11SValBuilder10makeNonLocEPKNS0_7SymExprENS_18BinaryOperatorKindES4_NS_8QualTypeE", "clang::ento::SValBuilder::makeNonLoc(clang::ento::SymExpr const*, clang::BinaryOperatorKind, clang::ento::SymExpr const*, clang::QualType)"},
-    {"_ZN5clang4ento11SValBuilder19convertToArrayIndexENS0_4SValE", "clang::ento::SValBuilder::convertToArrayIndex(clang::ento::SVal)"},
-    {"_ZN5clang4ento11SValBuilder23getRegionValueSymbolValEPKNS0_11TypedRegionE", "clang::ento::SValBuilder::getRegionValueSymbolVal(clang::ento::TypedRegion const*)"},
-    {"_ZN5clang4ento11SValBuilder20getConjuredSymbolValEPKvPKNS_4ExprEj", "clang::ento::SValBuilder::getConjuredSymbolVal(void const*, clang::Expr const*, unsigned int)"},
-    {"_ZN5clang4ento11SValBuilder20getConjuredSymbolValEPKvPKNS_4ExprENS_8QualTypeEj", "clang::ento::SValBuilder::getConjuredSymbolVal(void const*, clang::Expr const*, clang::QualType, unsigned int)"},
-    {"_ZN5clang4ento11SValBuilder20getMetadataSymbolValEPKvPKNS0_9MemRegionEPKNS_4ExprENS_8QualTypeEj", "clang::ento::SValBuilder::getMetadataSymbolVal(void const*, clang::ento::MemRegion const*, clang::Expr const*, clang::QualType, unsigned int)"},
-    {"_ZN5clang4ento11SValBuilder30getDerivedRegionValueSymbolValEPKNS0_10SymbolDataEPKNS0_11TypedRegionE", "clang::ento::SValBuilder::getDerivedRegionValueSymbolVal(clang::ento::SymbolData const*, clang::ento::TypedRegion const*)"},
-    {"_ZN5clang4ento11SValBuilder18getFunctionPointerEPKNS_12FunctionDeclE", "clang::ento::SValBuilder::getFunctionPointer(clang::FunctionDecl const*)"},
-    {"_ZN5clang4ento11SValBuilder15getBlockPointerEPKNS_9BlockDeclENS_7CanQualINS_4TypeEEEPKNS_15LocationContextE", "clang::ento::SValBuilder::getBlockPointer(clang::BlockDecl const*, clang::CanQual<clang::Type>, clang::LocationContext const*)"},
-    {"_ZN5clang4ento11SValBuilder9evalBinOpEPKNS0_7GRStateENS_18BinaryOperatorKindENS0_4SValES6_NS_8QualTypeE", "clang::ento::SValBuilder::evalBinOp(clang::ento::GRState const*, clang::BinaryOperatorKind, clang::ento::SVal, clang::ento::SVal, clang::QualType)"},
-    {"_ZN5clang4ento11SValBuilder6evalEQEPKNS0_7GRStateENS0_20DefinedOrUnknownSValES5_", "clang::ento::SValBuilder::evalEQ(clang::ento::GRState const*, clang::ento::DefinedOrUnknownSVal, clang::ento::DefinedOrUnknownSVal)"},
-    {"_ZN5clang4ento11SValBuilder8evalCastENS0_4SValENS_8QualTypeES3_", "clang::ento::SValBuilder::evalCast(clang::ento::SVal, clang::QualType, clang::QualType)"},
-    {"_ZNK5clang4ento4SVal17hasConjuredSymbolEv", "clang::ento::SVal::hasConjuredSymbol() const"},
-    {"_ZNK5clang4ento4SVal17getAsFunctionDeclEv", "clang::ento::SVal::getAsFunctionDecl() const"},
-    {"_ZNK5clang4ento4SVal14getAsLocSymbolEv", "clang::ento::SVal::getAsLocSymbol() const"},
-    {"_ZNK5clang4ento3loc12MemRegionVal10StripCastsEv", "clang::ento::loc::MemRegionVal::StripCasts() const"},
-    {"_ZNK5clang4ento4SVal18getLocSymbolInBaseEv", "clang::ento::SVal::getLocSymbolInBase() const"},
-    {"_ZNK5clang4ento4SVal11getAsSymbolEv", "clang::ento::SVal::getAsSymbol() const"},
-    {"_ZNK5clang4ento4SVal23getAsSymbolicExpressionEv", "clang::ento::SVal::getAsSymbolicExpression() const"},
-    {"_ZNK5clang4ento4SVal11getAsRegionEv", "clang::ento::SVal::getAsRegion() const"},
-    {"_ZNK5clang4ento4SVal15symbol_iteratoreqERKS2_", "clang::ento::SVal::symbol_iterator::operator==(clang::ento::SVal::symbol_iterator const&) const"},
-    {"_ZNK5clang4ento4SVal15symbol_iteratorneERKS2_", "clang::ento::SVal::symbol_iterator::operator!=(clang::ento::SVal::symbol_iterator const&) const"},
-    {"_ZN5clang4ento4SVal15symbol_iteratorC1EPKNS0_7SymExprE", "clang::ento::SVal::symbol_iterator::symbol_iterator(clang::ento::SymExpr const*)"},
-    {"_ZN5clang4ento4SVal15symbol_iteratorC2EPKNS0_7SymExprE", "clang::ento::SVal::symbol_iterator::symbol_iterator(clang::ento::SymExpr const*)"},
-    {"_ZN5clang4ento4SVal15symbol_iterator6expandEv", "clang::ento::SVal::symbol_iterator::expand()"},
-    {"_ZN5clang4ento4SVal15symbol_iteratorppEv", "clang::ento::SVal::symbol_iterator::operator++()"},
-    {"_ZN5clang4ento4SVal15symbol_iteratordeEv", "clang::ento::SVal::symbol_iterator::operator*()"},
-    {"_ZNK5clang4ento6nonloc15LazyCompoundVal8getStoreEv", "clang::ento::nonloc::LazyCompoundVal::getStore() const"},
-    {"_ZNK5clang4ento6nonloc15LazyCompoundVal9getRegionEv", "clang::ento::nonloc::LazyCompoundVal::getRegion() const"},
-    {"_ZNK5clang4ento6nonloc11CompoundVal5beginEv", "clang::ento::nonloc::CompoundVal::begin() const"},
-    {"_ZNK5clang4ento6nonloc11CompoundVal3endEv", "clang::ento::nonloc::CompoundVal::end() const"},
-    {"_ZNK5clang4ento4SVal10isConstantEv", "clang::ento::SVal::isConstant() const"},
-    {"_ZNK5clang4ento4SVal10isConstantEi", "clang::ento::SVal::isConstant(int) const"},
-    {"_ZNK5clang4ento4SVal14isZeroConstantEv", "clang::ento::SVal::isZeroConstant() const"},
-    {"_ZNK5clang4ento6nonloc11ConcreteInt9evalBinOpERNS0_11SValBuilderENS_18BinaryOperatorKindERKS2_", "clang::ento::nonloc::ConcreteInt::evalBinOp(clang::ento::SValBuilder&, clang::BinaryOperatorKind, clang::ento::nonloc::ConcreteInt const&) const"},
-    {"_ZNK5clang4ento6nonloc11ConcreteInt14evalComplementERNS0_11SValBuilderE", "clang::ento::nonloc::ConcreteInt::evalComplement(clang::ento::SValBuilder&) const"},
-    {"_ZNK5clang4ento6nonloc11ConcreteInt9evalMinusERNS0_11SValBuilderE", "clang::ento::nonloc::ConcreteInt::evalMinus(clang::ento::SValBuilder&) const"},
-    {"_ZNK5clang4ento3loc11ConcreteInt9evalBinOpERNS0_17BasicValueFactoryENS_18BinaryOperatorKindERKS2_", "clang::ento::loc::ConcreteInt::evalBinOp(clang::ento::BasicValueFactory&, clang::BinaryOperatorKind, clang::ento::loc::ConcreteInt const&) const"},
-    {"_ZNK5clang4ento4SVal4dumpEv", "clang::ento::SVal::dump() const"},
-    {"_ZNK5clang4ento4SVal12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SVal::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento6NonLoc12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::NonLoc::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento3Loc12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::Loc::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZN5clang4ento23SimpleConstraintManagerD0Ev", "clang::ento::SimpleConstraintManager::~SimpleConstraintManager()"},
-    {"_ZN5clang4ento23SimpleConstraintManagerD1Ev", "clang::ento::SimpleConstraintManager::~SimpleConstraintManager()"},
-    {"_ZN5clang4ento23SimpleConstraintManagerD2Ev", "clang::ento::SimpleConstraintManager::~SimpleConstraintManager()"},
-    {"_ZNK5clang4ento23SimpleConstraintManager14canReasonAboutENS0_4SValE", "clang::ento::SimpleConstraintManager::canReasonAbout(clang::ento::SVal) const"},
-    {"_ZN5clang4ento23SimpleConstraintManager6assumeEPKNS0_7GRStateENS0_11DefinedSValEb", "clang::ento::SimpleConstraintManager::assume(clang::ento::GRState const*, clang::ento::DefinedSVal, bool)"},
-    {"_ZN5clang4ento23SimpleConstraintManager6assumeEPKNS0_7GRStateENS0_6NonLocEb", "clang::ento::SimpleConstraintManager::assume(clang::ento::GRState const*, clang::ento::NonLoc, bool)"},
-    {"_ZN5clang4ento23SimpleConstraintManager6assumeEPKNS0_7GRStateENS0_3LocEb", "clang::ento::SimpleConstraintManager::assume(clang::ento::GRState const*, clang::ento::Loc, bool)"},
-    {"_ZN5clang4ento23SimpleConstraintManager9assumeAuxEPKNS0_7GRStateENS0_3LocEb", "clang::ento::SimpleConstraintManager::assumeAux(clang::ento::GRState const*, clang::ento::Loc, bool)"},
-    {"_ZN5clang4ento23SimpleConstraintManager9assumeAuxEPKNS0_7GRStateENS0_6NonLocEb", "clang::ento::SimpleConstraintManager::assumeAux(clang::ento::GRState const*, clang::ento::NonLoc, bool)"},
-    {"_ZN5clang4ento23SimpleConstraintManager12assumeSymRelEPKNS0_7GRStateEPKNS0_7SymExprENS_18BinaryOperatorKindERKN4llvm6APSIntE", "clang::ento::SimpleConstraintManager::assumeSymRel(clang::ento::GRState const*, clang::ento::SymExpr const*, clang::BinaryOperatorKind, llvm::APSInt const&)"},
-    {"_ZN5clang4ento23createSimpleSValBuilderERN4llvm16BumpPtrAllocatorERNS_10ASTContextERNS0_14GRStateManagerE", "clang::ento::createSimpleSValBuilder(llvm::BumpPtrAllocator&, clang::ASTContext&, clang::ento::GRStateManager&)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder10evalCastNLEN5clang4ento6NonLocENS1_8QualTypeE", "(anonymous namespace)::SimpleSValBuilder::evalCastNL(clang::ento::NonLoc, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder9evalCastLEN5clang4ento3LocENS1_8QualTypeE", "(anonymous namespace)::SimpleSValBuilder::evalCastL(clang::ento::Loc, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilderD1Ev", "(anonymous namespace)::SimpleSValBuilder::~SimpleSValBuilder()"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilderD0Ev", "(anonymous namespace)::SimpleSValBuilder::~SimpleSValBuilder()"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder9evalMinusEN5clang4ento6NonLocE", "(anonymous namespace)::SimpleSValBuilder::evalMinus(clang::ento::NonLoc)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder14evalComplementEN5clang4ento6NonLocE", "(anonymous namespace)::SimpleSValBuilder::evalComplement(clang::ento::NonLoc)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder11evalBinOpNNEPKN5clang4ento7GRStateENS1_18BinaryOperatorKindENS2_6NonLocES7_NS1_8QualTypeE", "(anonymous namespace)::SimpleSValBuilder::evalBinOpNN(clang::ento::GRState const*, clang::BinaryOperatorKind, clang::ento::NonLoc, clang::ento::NonLoc, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder11evalBinOpLLEPKN5clang4ento7GRStateENS1_18BinaryOperatorKindENS2_3LocES7_NS1_8QualTypeE", "(anonymous namespace)::SimpleSValBuilder::evalBinOpLL(clang::ento::GRState const*, clang::BinaryOperatorKind, clang::ento::Loc, clang::ento::Loc, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder11evalBinOpLNEPKN5clang4ento7GRStateENS1_18BinaryOperatorKindENS2_3LocENS2_6NonLocENS1_8QualTypeE", "(anonymous namespace)::SimpleSValBuilder::evalBinOpLN(clang::ento::GRState const*, clang::BinaryOperatorKind, clang::ento::Loc, clang::ento::NonLoc, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder13getKnownValueEPKN5clang4ento7GRStateENS2_4SValE", "(anonymous namespace)::SimpleSValBuilder::getKnownValue(clang::ento::GRState const*, clang::ento::SVal)"},
-    {"_ZN12_GLOBAL__N_117SimpleSValBuilder13MakeSymIntValEPKN5clang4ento7SymExprENS1_18BinaryOperatorKindERKN4llvm6APSIntENS1_8QualTypeE", "(anonymous namespace)::SimpleSValBuilder::MakeSymIntVal(clang::ento::SymExpr const*, clang::BinaryOperatorKind, llvm::APSInt const&, clang::QualType)"},
-    {"_ZN5clang4ento11SValBuilderC2ERN4llvm16BumpPtrAllocatorERNS_10ASTContextERNS0_14GRStateManagerE", "clang::ento::SValBuilder::SValBuilder(llvm::BumpPtrAllocator&, clang::ASTContext&, clang::ento::GRStateManager&)"},
-    {"_ZN5clang4ento11SValBuilderD1Ev", "clang::ento::SValBuilder::~SValBuilder()"},
-    {"_ZN5clang4ento11SValBuilderD0Ev", "clang::ento::SValBuilder::~SValBuilder()"},
-    {"_ZN5clang4ento16MemRegionManagerC2ERNS_10ASTContextERN4llvm16BumpPtrAllocatorE", "clang::ento::MemRegionManager::MemRegionManager(clang::ASTContext&, llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang4ento12StoreManagerC1ERNS0_14GRStateManagerE", "clang::ento::StoreManager::StoreManager(clang::ento::GRStateManager&)"},
-    {"_ZN5clang4ento12StoreManagerC2ERNS0_14GRStateManagerE", "clang::ento::StoreManager::StoreManager(clang::ento::GRStateManager&)"},
-    {"_ZN5clang4ento12StoreManager15enterStackFrameEPKNS0_7GRStateEPKNS_17StackFrameContextE", "clang::ento::StoreManager::enterStackFrame(clang::ento::GRState const*, clang::StackFrameContext const*)"},
-    {"_ZN5clang4ento12StoreManager17MakeElementRegionEPKNS0_9MemRegionENS_8QualTypeEy", "clang::ento::StoreManager::MakeElementRegion(clang::ento::MemRegion const*, clang::QualType, unsigned long long)"},
-    {"_ZN5clang4ento12StoreManager20GetElementZeroRegionEPKNS0_9MemRegionENS_8QualTypeE", "clang::ento::StoreManager::GetElementZeroRegion(clang::ento::MemRegion const*, clang::QualType)"},
-    {"_ZN5clang4ento12StoreManager10CastRegionEPKNS0_9MemRegionENS_8QualTypeE", "clang::ento::StoreManager::CastRegion(clang::ento::MemRegion const*, clang::QualType)"},
-    {"_ZN5clang4ento12StoreManager16CastRetrievedValENS0_4SValEPKNS0_11TypedRegionENS_8QualTypeEb", "clang::ento::StoreManager::CastRetrievedVal(clang::ento::SVal, clang::ento::TypedRegion const*, clang::QualType, bool)"},
-    {"_ZN5clang4ento12StoreManager20getLValueFieldOrIvarEPKNS_4DeclENS0_4SValE", "clang::ento::StoreManager::getLValueFieldOrIvar(clang::Decl const*, clang::ento::SVal)"},
-    {"_ZN5clang4ento12StoreManager16getLValueElementENS_8QualTypeENS0_6NonLocENS0_4SValE", "clang::ento::StoreManager::getLValueElement(clang::QualType, clang::ento::NonLoc, clang::ento::SVal)"},
-    {"_ZNK5clang4ento7SymExpr4dumpEv", "clang::ento::SymExpr::dump() const"},
-    {"_ZNK5clang4ento10SymIntExpr12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SymIntExpr::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento10SymSymExpr12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SymSymExpr::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento14SymbolConjured12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SymbolConjured::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento13SymbolDerived12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SymbolDerived::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento12SymbolExtent12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SymbolExtent::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento14SymbolMetadata12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SymbolMetadata::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4ento17SymbolRegionValue12dumpToStreamERN4llvm11raw_ostreamE", "clang::ento::SymbolRegionValue::dumpToStream(llvm::raw_ostream&) const"},
-    {"_ZN5clang4ento13SymbolManager20getRegionValueSymbolEPKNS0_11TypedRegionE", "clang::ento::SymbolManager::getRegionValueSymbol(clang::ento::TypedRegion const*)"},
-    {"_ZN5clang4ento13SymbolManager17getConjuredSymbolEPKNS_4StmtENS_8QualTypeEjPKv", "clang::ento::SymbolManager::getConjuredSymbol(clang::Stmt const*, clang::QualType, unsigned int, void const*)"},
-    {"_ZN5clang4ento13SymbolManager16getDerivedSymbolEPKNS0_10SymbolDataEPKNS0_11TypedRegionE", "clang::ento::SymbolManager::getDerivedSymbol(clang::ento::SymbolData const*, clang::ento::TypedRegion const*)"},
-    {"_ZN5clang4ento13SymbolManager15getExtentSymbolEPKNS0_9SubRegionE", "clang::ento::SymbolManager::getExtentSymbol(clang::ento::SubRegion const*)"},
-    {"_ZN5clang4ento13SymbolManager17getMetadataSymbolEPKNS0_9MemRegionEPKNS_4StmtENS_8QualTypeEjPKv", "clang::ento::SymbolManager::getMetadataSymbol(clang::ento::MemRegion const*, clang::Stmt const*, clang::QualType, unsigned int, void const*)"},
-    {"_ZN5clang4ento13SymbolManager13getSymIntExprEPKNS0_7SymExprENS_18BinaryOperatorKindERKN4llvm6APSIntENS_8QualTypeE", "clang::ento::SymbolManager::getSymIntExpr(clang::ento::SymExpr const*, clang::BinaryOperatorKind, llvm::APSInt const&, clang::QualType)"},
-    {"_ZN5clang4ento13SymbolManager13getSymSymExprEPKNS0_7SymExprENS_18BinaryOperatorKindES4_NS_8QualTypeE", "clang::ento::SymbolManager::getSymSymExpr(clang::ento::SymExpr const*, clang::BinaryOperatorKind, clang::ento::SymExpr const*, clang::QualType)"},
-    {"_ZNK5clang4ento14SymbolConjured7getTypeERNS_10ASTContextE", "clang::ento::SymbolConjured::getType(clang::ASTContext&) const"},
-    {"_ZNK5clang4ento13SymbolDerived7getTypeERNS_10ASTContextE", "clang::ento::SymbolDerived::getType(clang::ASTContext&) const"},
-    {"_ZNK5clang4ento12SymbolExtent7getTypeERNS_10ASTContextE", "clang::ento::SymbolExtent::getType(clang::ASTContext&) const"},
-    {"_ZNK5clang4ento14SymbolMetadata7getTypeERNS_10ASTContextE", "clang::ento::SymbolMetadata::getType(clang::ASTContext&) const"},
-    {"_ZNK5clang4ento17SymbolRegionValue7getTypeERNS_10ASTContextE", "clang::ento::SymbolRegionValue::getType(clang::ASTContext&) const"},
-    {"_ZN5clang4ento13SymbolManagerD1Ev", "clang::ento::SymbolManager::~SymbolManager()"},
-    {"_ZN5clang4ento13SymbolManagerD2Ev", "clang::ento::SymbolManager::~SymbolManager()"},
-    {"_ZN5clang4ento13SymbolManager14canSymbolicateENS_8QualTypeE", "clang::ento::SymbolManager::canSymbolicate(clang::QualType)"},
-    {"_ZN5clang4ento12SymbolReaper8markLiveEPKNS0_10SymbolDataE", "clang::ento::SymbolReaper::markLive(clang::ento::SymbolData const*)"},
-    {"_ZN5clang4ento12SymbolReaper9markInUseEPKNS0_10SymbolDataE", "clang::ento::SymbolReaper::markInUse(clang::ento::SymbolData const*)"},
-    {"_ZN5clang4ento12SymbolReaper9maybeDeadEPKNS0_10SymbolDataE", "clang::ento::SymbolReaper::maybeDead(clang::ento::SymbolData const*)"},
-    {"_ZN5clang4ento12SymbolReaper6isLiveEPKNS0_10SymbolDataE", "clang::ento::SymbolReaper::isLive(clang::ento::SymbolData const*)"},
-    {"_Z12IsLiveRegionRN5clang4ento12SymbolReaperEPKNS0_9MemRegionE", "IsLiveRegion(clang::ento::SymbolReaper&, clang::ento::MemRegion const*)"},
-    {"_ZNK5clang4ento12SymbolReaper6isLiveEPKNS_4StmtE", "clang::ento::SymbolReaper::isLive(clang::Stmt const*) const"},
-    {"_ZNK5clang4ento12SymbolReaper6isLiveEPKNS0_9VarRegionE", "clang::ento::SymbolReaper::isLive(clang::ento::VarRegion const*) const"},
-    {"_ZN5clang4ento13SymbolVisitorD0Ev", "clang::ento::SymbolVisitor::~SymbolVisitor()"},
-    {"_ZN5clang4ento13SymbolVisitorD1Ev", "clang::ento::SymbolVisitor::~SymbolVisitor()"},
-    {"_ZN5clang4ento13SymbolVisitorD2Ev", "clang::ento::SymbolVisitor::~SymbolVisitor()"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento7SymExprEED1Ev", "llvm::FoldingSet<clang::ento::SymExpr>::~FoldingSet()"},
-    {"_ZN5clang4ento17SymbolRegionValueD1Ev", "clang::ento::SymbolRegionValue::~SymbolRegionValue()"},
-    {"_ZN5clang4ento17SymbolRegionValueD0Ev", "clang::ento::SymbolRegionValue::~SymbolRegionValue()"},
-    {"_ZN5clang4ento17SymbolRegionValue7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::SymbolRegionValue::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang4ento14SymbolConjuredD1Ev", "clang::ento::SymbolConjured::~SymbolConjured()"},
-    {"_ZN5clang4ento14SymbolConjuredD0Ev", "clang::ento::SymbolConjured::~SymbolConjured()"},
-    {"_ZN5clang4ento14SymbolConjured7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::SymbolConjured::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang4ento13SymbolDerivedD1Ev", "clang::ento::SymbolDerived::~SymbolDerived()"},
-    {"_ZN5clang4ento13SymbolDerivedD0Ev", "clang::ento::SymbolDerived::~SymbolDerived()"},
-    {"_ZN5clang4ento13SymbolDerived7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::SymbolDerived::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang4ento12SymbolExtentD1Ev", "clang::ento::SymbolExtent::~SymbolExtent()"},
-    {"_ZN5clang4ento12SymbolExtentD0Ev", "clang::ento::SymbolExtent::~SymbolExtent()"},
-    {"_ZN5clang4ento12SymbolExtent7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::SymbolExtent::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang4ento14SymbolMetadataD1Ev", "clang::ento::SymbolMetadata::~SymbolMetadata()"},
-    {"_ZN5clang4ento14SymbolMetadataD0Ev", "clang::ento::SymbolMetadata::~SymbolMetadata()"},
-    {"_ZN5clang4ento14SymbolMetadata7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::SymbolMetadata::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang4ento10SymIntExprD1Ev", "clang::ento::SymIntExpr::~SymIntExpr()"},
-    {"_ZN5clang4ento10SymIntExprD0Ev", "clang::ento::SymIntExpr::~SymIntExpr()"},
-    {"_ZNK5clang4ento10SymIntExpr7getTypeERNS_10ASTContextE", "clang::ento::SymIntExpr::getType(clang::ASTContext&) const"},
-    {"_ZN5clang4ento10SymIntExpr7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::SymIntExpr::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang4ento10SymSymExprD1Ev", "clang::ento::SymSymExpr::~SymSymExpr()"},
-    {"_ZN5clang4ento10SymSymExprD0Ev", "clang::ento::SymSymExpr::~SymSymExpr()"},
-    {"_ZNK5clang4ento10SymSymExpr7getTypeERNS_10ASTContextE", "clang::ento::SymSymExpr::getType(clang::ASTContext&) const"},
-    {"_ZN5clang4ento10SymSymExpr7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ento::SymSymExpr::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang4ento7SymExprD1Ev", "clang::ento::SymExpr::~SymExpr()"},
-    {"_ZN5clang4ento7SymExprD0Ev", "clang::ento::SymExpr::~SymExpr()"},
-    {"_ZN5clang4ento10SymbolDataD1Ev", "clang::ento::SymbolData::~SymbolData()"},
-    {"_ZN5clang4ento10SymbolDataD0Ev", "clang::ento::SymbolData::~SymbolData()"},
-    {"_ZN4llvm10FoldingSetIN5clang4ento7SymExprEED0Ev", "llvm::FoldingSet<clang::ento::SymExpr>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento7SymExprEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::SymExpr>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento7SymExprEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ento::SymExpr>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang4ento7SymExprEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ento::SymExpr>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang4ento30createTextPathDiagnosticClientERKSsRKNS_12PreprocessorE", "clang::ento::createTextPathDiagnosticClient(std::string const&, clang::Preprocessor const&)"},
-    {"_ZN12_GLOBAL__N_119TextPathDiagnosticsD1Ev", "(anonymous namespace)::TextPathDiagnostics::~TextPathDiagnostics()"},
-    {"_ZN12_GLOBAL__N_119TextPathDiagnosticsD0Ev", "(anonymous namespace)::TextPathDiagnostics::~TextPathDiagnostics()"},
-    {"_ZN12_GLOBAL__N_119TextPathDiagnostics16FlushDiagnosticsEPN4llvm15SmallVectorImplISsEE", "(anonymous namespace)::TextPathDiagnostics::FlushDiagnostics(llvm::SmallVectorImpl<std::string>*)"},
-    {"_ZNK12_GLOBAL__N_119TextPathDiagnostics7getNameEv", "(anonymous namespace)::TextPathDiagnostics::getName() const"},
-    {"_ZN12_GLOBAL__N_119TextPathDiagnostics20HandlePathDiagnosticEPKN5clang4ento14PathDiagnosticE", "(anonymous namespace)::TextPathDiagnostics::HandlePathDiagnostic(clang::ento::PathDiagnostic const*)"},
-    {"_ZNK12_GLOBAL__N_119TextPathDiagnostics19getGenerationSchemeEv", "(anonymous namespace)::TextPathDiagnostics::getGenerationScheme() const"},
-    {"_ZNK12_GLOBAL__N_119TextPathDiagnostics28supportsLogicalOpControlFlowEv", "(anonymous namespace)::TextPathDiagnostics::supportsLogicalOpControlFlow() const"},
-    {"_ZNK12_GLOBAL__N_119TextPathDiagnostics21supportsAllBlockEdgesEv", "(anonymous namespace)::TextPathDiagnostics::supportsAllBlockEdges() const"},
-    {"_ZNK12_GLOBAL__N_119TextPathDiagnostics21useVerboseDescriptionEv", "(anonymous namespace)::TextPathDiagnostics::useVerboseDescription() const"},
-    {"_ZN5clang4ento20PathDiagnosticClientD1Ev", "clang::ento::PathDiagnosticClient::~PathDiagnosticClient()"},
-    {"_ZN5clang4ento20PathDiagnosticClientD0Ev", "clang::ento::PathDiagnosticClient::~PathDiagnosticClient()"},
-    {"_ZNK5clang4ento20PathDiagnosticClient19getGenerationSchemeEv", "clang::ento::PathDiagnosticClient::getGenerationScheme() const"},
-    {"_ZNK5clang4ento20PathDiagnosticClient28supportsLogicalOpControlFlowEv", "clang::ento::PathDiagnosticClient::supportsLogicalOpControlFlow() const"},
-    {"_ZNK5clang4ento20PathDiagnosticClient21supportsAllBlockEdgesEv", "clang::ento::PathDiagnosticClient::supportsAllBlockEdges() const"},
-    {"_ZNK5clang4ento20PathDiagnosticClient21useVerboseDescriptionEv", "clang::ento::PathDiagnosticClient::useVerboseDescription() const"},
-    {"_ZN5clang22AnalysisContextManager5clearEv", "clang::AnalysisContextManager::clear()"},
-    {"_ZN5clang15AnalysisContextD1Ev", "clang::AnalysisContext::~AnalysisContext()"},
-    {"_ZN5clang15AnalysisContext7getBodyEv", "clang::AnalysisContext::getBody()"},
-    {"_ZNK5clang15AnalysisContext11getSelfDeclEv", "clang::AnalysisContext::getSelfDecl() const"},
-    {"_ZN5clang15AnalysisContext6getCFGEv", "clang::AnalysisContext::getCFG()"},
-    {"_ZN5clang15AnalysisContext17getUnoptimizedCFGEv", "clang::AnalysisContext::getUnoptimizedCFG()"},
-    {"_ZN5clang15AnalysisContext7dumpCFGEv", "clang::AnalysisContext::dumpCFG()"},
-    {"_ZN5clang15AnalysisContext12getParentMapEv", "clang::AnalysisContext::getParentMap()"},
-    {"_ZN5clang15AnalysisContext25getPseudoConstantAnalysisEv", "clang::AnalysisContext::getPseudoConstantAnalysis()"},
-    {"_ZN5clang15AnalysisContext16getLiveVariablesEv", "clang::AnalysisContext::getLiveVariables()"},
-    {"_ZN5clang15AnalysisContext23getRelaxedLiveVariablesEv", "clang::AnalysisContext::getRelaxedLiveVariables()"},
-    {"_ZN5clang22AnalysisContextManager10getContextEPKNS_4DeclEPNS_3idx15TranslationUnitE", "clang::AnalysisContextManager::getContext(clang::Decl const*, clang::idx::TranslationUnit*)"},
-    {"_ZN5clang15LocationContext13ProfileCommonERN4llvm16FoldingSetNodeIDENS0_11ContextKindEPNS_15AnalysisContextEPKS0_PKv", "clang::LocationContext::ProfileCommon(llvm::FoldingSetNodeID&, clang::LocationContext::ContextKind, clang::AnalysisContext*, clang::LocationContext const*, void const*)"},
-    {"_ZN5clang17StackFrameContext7ProfileERN4llvm16FoldingSetNodeIDE", "clang::StackFrameContext::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang12ScopeContext7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ScopeContext::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang22BlockInvocationContext7ProfileERN4llvm16FoldingSetNodeIDE", "clang::BlockInvocationContext::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang22LocationContextManager13getStackFrameEPNS_15AnalysisContextEPKNS_15LocationContextEPKNS_4StmtEPKNS_8CFGBlockEj", "clang::LocationContextManager::getStackFrame(clang::AnalysisContext*, clang::LocationContext const*, clang::Stmt const*, clang::CFGBlock const*, unsigned int)"},
-    {"_ZN5clang22LocationContextManager8getScopeEPNS_15AnalysisContextEPKNS_15LocationContextEPKNS_4StmtE", "clang::LocationContextManager::getScope(clang::AnalysisContext*, clang::LocationContext const*, clang::Stmt const*)"},
-    {"_ZNK5clang15LocationContext20getCurrentStackFrameEv", "clang::LocationContext::getCurrentStackFrame() const"},
-    {"_ZNK5clang15LocationContext27getStackFrameForDeclContextEPKNS_11DeclContextE", "clang::LocationContext::getStackFrameForDeclContext(clang::DeclContext const*) const"},
-    {"_ZNK5clang15LocationContext10isParentOfEPKS0_", "clang::LocationContext::isParentOf(clang::LocationContext const*) const"},
-    {"_ZN5clang15AnalysisContext22getReferencedBlockVarsEPKNS_9BlockDeclE", "clang::AnalysisContext::getReferencedBlockVars(clang::BlockDecl const*)"},
-    {"_ZN5clang15AnalysisContextD2Ev", "clang::AnalysisContext::~AnalysisContext()"},
-    {"_ZN5clang22AnalysisContextManagerD1Ev", "clang::AnalysisContextManager::~AnalysisContextManager()"},
-    {"_ZN5clang22AnalysisContextManagerD2Ev", "clang::AnalysisContextManager::~AnalysisContextManager()"},
-    {"_ZN5clang15LocationContextD0Ev", "clang::LocationContext::~LocationContext()"},
-    {"_ZN5clang15LocationContextD1Ev", "clang::LocationContext::~LocationContext()"},
-    {"_ZN5clang15LocationContextD2Ev", "clang::LocationContext::~LocationContext()"},
-    {"_ZN5clang22LocationContextManagerD1Ev", "clang::LocationContextManager::~LocationContextManager()"},
-    {"_ZN5clang22LocationContextManagerD2Ev", "clang::LocationContextManager::~LocationContextManager()"},
-    {"_ZN5clang22LocationContextManager5clearEv", "clang::LocationContextManager::clear()"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_125FindBlockDeclRefExprsValsEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::FindBlockDeclRefExprsVals, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_125FindBlockDeclRefExprsVals9VisitStmtEPN5clang4StmtE", "(anonymous namespace)::FindBlockDeclRefExprsVals::VisitStmt(clang::Stmt*)"},
-    {"_ZN5clang22LocationContextManager18getLocationContextINS_12ScopeContextENS_4StmtEEEPKT_PNS_15AnalysisContextEPKNS_15LocationContextEPKT0_", "clang::ScopeContext const* clang::LocationContextManager::getLocationContext<clang::ScopeContext, clang::Stmt>(clang::AnalysisContext*, clang::LocationContext const*, clang::Stmt const*)"},
-    {"_ZN5clang17StackFrameContextD1Ev", "clang::StackFrameContext::~StackFrameContext()"},
-    {"_ZN5clang17StackFrameContextD0Ev", "clang::StackFrameContext::~StackFrameContext()"},
-    {"_ZN5clang12ScopeContextD1Ev", "clang::ScopeContext::~ScopeContext()"},
-    {"_ZN5clang12ScopeContextD0Ev", "clang::ScopeContext::~ScopeContext()"},
-    {"_ZN5clang22BlockInvocationContextD1Ev", "clang::BlockInvocationContext::~BlockInvocationContext()"},
-    {"_ZN5clang22BlockInvocationContextD0Ev", "clang::BlockInvocationContext::~BlockInvocationContext()"},
-    {"_ZN4llvm8DenseMapIPKN5clang9BlockDeclEPvNS_12DenseMapInfoIS4_EENS6_IS5_EEE16InsertIntoBucketERKS4_RKS5_PSt4pairIS4_S5_E", "llvm::DenseMap<clang::BlockDecl const*, void*, llvm::DenseMapInfo<clang::BlockDecl const*>, llvm::DenseMapInfo<void*> >::InsertIntoBucket(clang::BlockDecl const* const&, void* const&, std::pair<clang::BlockDecl const*, void*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9BlockDeclEPvNS_12DenseMapInfoIS4_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::BlockDecl const*, void*, llvm::DenseMapInfo<clang::BlockDecl const*>, llvm::DenseMapInfo<void*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEPNS1_15AnalysisContextENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::Decl const*, clang::AnalysisContext*, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<clang::AnalysisContext*> >::InsertIntoBucket(clang::Decl const* const&, clang::AnalysisContext* const&, std::pair<clang::Decl const*, clang::AnalysisContext*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEPNS1_15AnalysisContextENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::Decl const*, clang::AnalysisContext*, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<clang::AnalysisContext*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEPNS1_15AnalysisContextENS_12DenseMapInfoIS4_EENS7_IS6_EEE16shrink_and_clearEv", "llvm::DenseMap<clang::Decl const*, clang::AnalysisContext*, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<clang::AnalysisContext*> >::shrink_and_clear()"},
-    {"_ZN5clang14DataflowValuesINS_24LiveVariables_ValueTypesENS_8dataflow21backward_analysis_tagEED2Ev", "clang::DataflowValues<clang::LiveVariables_ValueTypes, clang::dataflow::backward_analysis_tag>::~DataflowValues()"},
-    {"_ZN5clang24LiveVariables_ValueTypes14AnalysisDataTyD1Ev", "clang::LiveVariables_ValueTypes::AnalysisDataTy::~AnalysisDataTy()"},
-    {"_ZN4llvm8DenseMapIN5clang12ProgramPointENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS2_EENS5_IS4_EEED2Ev", "llvm::DenseMap<clang::ProgramPoint, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::ProgramPoint>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::~DenseMap()"},
-    {"_ZN5clang24LiveVariables_ValueTypes14AnalysisDataTyD0Ev", "clang::LiveVariables_ValueTypes::AnalysisDataTy::~AnalysisDataTy()"},
-    {"_ZN5clang23StmtDeclBitVector_Types14AnalysisDataTyD1Ev", "clang::StmtDeclBitVector_Types::AnalysisDataTy::~AnalysisDataTy()"},
-    {"_ZN5clang23StmtDeclBitVector_Types14AnalysisDataTyD0Ev", "clang::StmtDeclBitVector_Types::AnalysisDataTy::~AnalysisDataTy()"},
-    {"_ZN5clang19DeclBitVector_Types14AnalysisDataTyD1Ev", "clang::DeclBitVector_Types::AnalysisDataTy::~AnalysisDataTy()"},
-    {"_ZN5clang19DeclBitVector_Types14AnalysisDataTyD0Ev", "clang::DeclBitVector_Types::AnalysisDataTy::~AnalysisDataTy()"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::VarDecl const*, unsigned int, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::VarDecl const* const&, unsigned int const&, std::pair<clang::VarDecl const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::VarDecl const*, unsigned int, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang3CFG11createBlockEv", "clang::CFG::createBlock()"},
-    {"_ZN5clang3CFG8buildCFGEPKNS_4DeclEPNS_4StmtEPNS_10ASTContextENS0_12BuildOptionsE", "clang::CFG::buildCFG(clang::Decl const*, clang::Stmt*, clang::ASTContext*, clang::CFG::BuildOptions)"},
-    {"_ZN5clang3CFG13getBlkExprNumEPKNS_4StmtE", "clang::CFG::getBlkExprNum(clang::Stmt const*)"},
-    {"_Z18PopulateBlkExprMapRN5clang3CFGE", "PopulateBlkExprMap(clang::CFG&)"},
-    {"_ZN5clang3CFG14getNumBlkExprsEv", "clang::CFG::getNumBlkExprs()"},
-    {"_ZN5clang8CFGBlock10FilterEdgeERKNS0_13FilterOptionsEPKS0_S5_", "clang::CFGBlock::FilterEdge(clang::CFGBlock::FilterOptions const&, clang::CFGBlock const*, clang::CFGBlock const*)"},
-    {"_ZN5clang3CFGD1Ev", "clang::CFG::~CFG()"},
-    {"_ZN5clang3CFGD2Ev", "clang::CFG::~CFG()"},
-    {"_ZNK5clang3CFG4dumpERKNS_11LangOptionsE", "clang::CFG::dump(clang::LangOptions const&) const"},
-    {"_ZNK5clang3CFG5printERN4llvm11raw_ostreamERKNS_11LangOptionsE", "clang::CFG::print(llvm::raw_ostream&, clang::LangOptions const&) const"},
-    {"_ZN12_GLOBAL__N_117StmtPrinterHelperC1EPKN5clang3CFGERKNS1_11LangOptionsE", "(anonymous namespace)::StmtPrinterHelper::StmtPrinterHelper(clang::CFG const*, clang::LangOptions const&)"},
-    {"_Z11print_blockRN4llvm11raw_ostreamEPKN5clang3CFGERKNS2_8CFGBlockEPN12_GLOBAL__N_117StmtPrinterHelperEb", "print_block(llvm::raw_ostream&, clang::CFG const*, clang::CFGBlock const&, (anonymous namespace)::StmtPrinterHelper*, bool)"},
-    {"_ZN12_GLOBAL__N_117StmtPrinterHelperD1Ev", "(anonymous namespace)::StmtPrinterHelper::~StmtPrinterHelper()"},
-    {"_ZNK5clang8CFGBlock4dumpEPKNS_3CFGERKNS_11LangOptionsE", "clang::CFGBlock::dump(clang::CFG const*, clang::LangOptions const&) const"},
-    {"_ZNK5clang8CFGBlock5printERN4llvm11raw_ostreamEPKNS_3CFGERKNS_11LangOptionsE", "clang::CFGBlock::print(llvm::raw_ostream&, clang::CFG const*, clang::LangOptions const&) const"},
-    {"_ZNK5clang8CFGBlock15printTerminatorERN4llvm11raw_ostreamERKNS_11LangOptionsE", "clang::CFGBlock::printTerminator(llvm::raw_ostream&, clang::LangOptions const&) const"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_123CFGBlockTerminatorPrintEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::CFGBlockTerminatorPrint, void>::Visit(clang::Stmt*)"},
-    {"_ZN5clang8CFGBlock22getTerminatorConditionEv", "clang::CFGBlock::getTerminatorCondition()"},
-    {"_ZNK5clang8CFGBlock25hasBinaryBranchTerminatorEv", "clang::CFGBlock::hasBinaryBranchTerminator() const"},
-    {"_ZNK5clang3CFG7viewCFGERKNS_11LangOptionsE", "clang::CFG::viewCFG(clang::LangOptions const&) const"},
-    {"_ZN12_GLOBAL__N_123CFGBlockTerminatorPrint19VisitBinaryOperatorEPN5clang14BinaryOperatorE", "(anonymous namespace)::CFGBlockTerminatorPrint::VisitBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN12_GLOBAL__N_117StmtPrinterHelperD0Ev", "(anonymous namespace)::StmtPrinterHelper::~StmtPrinterHelper()"},
-    {"_ZN12_GLOBAL__N_117StmtPrinterHelper11handledStmtEPN5clang4StmtERN4llvm11raw_ostreamE", "(anonymous namespace)::StmtPrinterHelper::handledStmt(clang::Stmt*, llvm::raw_ostream&)"},
-    {"_Z22FindSubExprAssignmentsPN5clang4StmtERN4llvm11SmallPtrSetIPNS_4ExprELj50EEE", "FindSubExprAssignments(clang::Stmt*, llvm::SmallPtrSet<clang::Expr*, 50u>&)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder22VisitForTemporaryDtorsEPN5clang4StmtEb", "(anonymous namespace)::CFGBuilder::VisitForTemporaryDtors(clang::Stmt*, bool)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder5VisitEPN5clang4StmtENS_13AddStmtChoiceE", "(anonymous namespace)::CFGBuilder::Visit(clang::Stmt*, (anonymous namespace)::AddStmtChoice)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder17VisitCompoundStmtEPN5clang12CompoundStmtE", "(anonymous namespace)::CFGBuilder::VisitCompoundStmt(clang::CompoundStmt*)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder17VisitCXXCatchStmtEPN5clang12CXXCatchStmtE", "(anonymous namespace)::CFGBuilder::VisitCXXCatchStmt(clang::CXXCatchStmt*)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder23addLocalScopeForVarDeclEPN5clang7VarDeclEPNS_10LocalScopeE", "(anonymous namespace)::CFGBuilder::addLocalScopeForVarDecl(clang::VarDecl*, (anonymous namespace)::LocalScope*)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder20addAutomaticObjDtorsENS_10LocalScope14const_iteratorES2_PN5clang4StmtE", "(anonymous namespace)::CFGBuilder::addAutomaticObjDtors((anonymous namespace)::LocalScope::const_iterator, (anonymous namespace)::LocalScope::const_iterator, clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder20addLocalScopeForStmtEPN5clang4StmtE", "(anonymous namespace)::CFGBuilder::addLocalScopeForStmt(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder16VisitDeclSubExprEPN5clang8DeclStmtE", "(anonymous namespace)::CFGBuilder::VisitDeclSubExpr(clang::DeclStmt*)"},
-    {"_ZN12_GLOBAL__N_110CFGBuilder13VisitChildrenEPN5clang4StmtE", "(anonymous namespace)::CFGBuilder::VisitChildren(clang::Stmt*)"},
-    {"_ZN4llvm14format_object1IjED1Ev", "llvm::format_object1<unsigned int>::~format_object1()"},
-    {"_ZNK4llvm14format_object1IjE7snprintEPcj", "llvm::format_object1<unsigned int>::snprint(char*, unsigned int) const"},
-    {"_ZN4llvm14format_object1IjED0Ev", "llvm::format_object1<unsigned int>::~format_object1()"},
-    {"_ZN4llvm8DenseMapIPN5clang4DeclESt4pairIjjENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PS4_IS3_S5_E", "llvm::DenseMap<clang::Decl*, std::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<clang::Decl*>, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> > >::InsertIntoBucket(clang::Decl* const&, std::pair<unsigned int, unsigned int> const&, std::pair<clang::Decl*, std::pair<unsigned int, unsigned int> >*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4DeclESt4pairIjjENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Decl*, std::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<clang::Decl*>, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang4StmtESt4pairIjjENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PS4_IS3_S5_E", "llvm::DenseMap<clang::Stmt*, std::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> > >::InsertIntoBucket(clang::Stmt* const&, std::pair<unsigned int, unsigned int> const&, std::pair<clang::Stmt*, std::pair<unsigned int, unsigned int> >*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4StmtESt4pairIjjENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Stmt*, std::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4StmtEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::Stmt const*, unsigned int, llvm::DenseMapInfo<clang::Stmt const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::Stmt const* const&, unsigned int const&, std::pair<clang::Stmt const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4StmtEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::Stmt const*, unsigned int, llvm::DenseMapInfo<clang::Stmt const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm9OwningPtrIN5clang3CFGEED2Ev", "llvm::OwningPtr<clang::CFG>::~OwningPtr()"},
-    {"_ZN5clang8CFGBlock12addSuccessorEPS0_RNS_17BumpVectorContextE", "clang::CFGBlock::addSuccessor(clang::CFGBlock*, clang::BumpVectorContext&)"},
-    {"_ZN5clang10BumpVectorINS_10CFGElementEE6insertEPS1_mRKS1_RNS_17BumpVectorContextE", "clang::BumpVector<clang::CFGElement>::insert(clang::CFGElement*, unsigned long, clang::CFGElement const&, clang::BumpVectorContext&)"},
-    {"_ZN5clang10BumpVectorINS_10CFGElementEE9push_backERKS1_RNS_17BumpVectorContextE", "clang::BumpVector<clang::CFGElement>::push_back(clang::CFGElement const&, clang::BumpVectorContext&)"},
-    {"_ZN5clang8CFGBlockC2EjRNS_17BumpVectorContextE", "clang::CFGBlock::CFGBlock(unsigned int, clang::BumpVectorContext&)"},
-    {"_ZN5clang10BumpVectorINS_10CFGElementEE7reserveERNS_17BumpVectorContextEj", "clang::BumpVector<clang::CFGElement>::reserve(clang::BumpVectorContext&, unsigned int)"},
-    {"_ZN5clang10CFGStmtMapD1Ev", "clang::CFGStmtMap::~CFGStmtMap()"},
-    {"_ZN5clang10CFGStmtMapD2Ev", "clang::CFGStmtMap::~CFGStmtMap()"},
-    {"_ZN5clang10CFGStmtMap8getBlockEPNS_4StmtE", "clang::CFGStmtMap::getBlock(clang::Stmt*)"},
-    {"_ZN5clang10CFGStmtMap5BuildEPNS_3CFGEPNS_9ParentMapE", "clang::CFGStmtMap::Build(clang::CFG*, clang::ParentMap*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4StmtEPNS1_8CFGBlockENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::Stmt*, clang::CFGBlock*, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<clang::CFGBlock*> >::InsertIntoBucket(clang::Stmt* const&, clang::CFGBlock* const&, std::pair<clang::Stmt*, clang::CFGBlock*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4StmtEPNS1_8CFGBlockENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Stmt*, clang::CFGBlock*, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<clang::CFGBlock*> >::grow(unsigned int)"},
-    {"_ZN5clang4ento5cocoa22deriveNamingConventionENS_8SelectorEb", "clang::ento::cocoa::deriveNamingConvention(clang::Selector, bool)"},
-    {"_Z9parseWordPKc", "parseWord(char const*)"},
-    {"_ZN5clang4ento5cocoa9isRefTypeENS_8QualTypeEN4llvm9StringRefES4_", "clang::ento::cocoa::isRefType(clang::QualType, llvm::StringRef, llvm::StringRef)"},
-    {"_ZN5clang4ento5cocoa13isCFObjectRefENS_8QualTypeE", "clang::ento::cocoa::isCFObjectRef(clang::QualType)"},
-    {"_ZN5clang4ento5cocoa16isCocoaObjectRefENS_8QualTypeE", "clang::ento::cocoa::isCocoaObjectRef(clang::QualType)"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandlerD0Ev", "clang::analyze_format_string::FormatStringHandler::~FormatStringHandler()"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandlerD1Ev", "clang::analyze_format_string::FormatStringHandler::~FormatStringHandler()"},
-    {"_ZN5clang21analyze_format_string19FormatStringHandlerD2Ev", "clang::analyze_format_string::FormatStringHandler::~FormatStringHandler()"},
-    {"_ZN5clang21analyze_format_string11ParseAmountERPKcS2_", "clang::analyze_format_string::ParseAmount(char const*&, char const*)"},
-    {"_ZN5clang21analyze_format_string22ParseNonPositionAmountERPKcS2_Rj", "clang::analyze_format_string::ParseNonPositionAmount(char const*&, char const*, unsigned int&)"},
-    {"_ZN5clang21analyze_format_string19ParsePositionAmountERNS0_19FormatStringHandlerEPKcRS4_S4_NS0_15PositionContextE", "clang::analyze_format_string::ParsePositionAmount(clang::analyze_format_string::FormatStringHandler&, char const*, char const*&, char const*, clang::analyze_format_string::PositionContext)"},
-    {"_ZN5clang21analyze_format_string15ParseFieldWidthERNS0_19FormatStringHandlerERNS0_15FormatSpecifierEPKcRS6_S6_Pj", "clang::analyze_format_string::ParseFieldWidth(clang::analyze_format_string::FormatStringHandler&, clang::analyze_format_string::FormatSpecifier&, char const*, char const*&, char const*, unsigned int*)"},
-    {"_ZN5clang21analyze_format_string16ParseArgPositionERNS0_19FormatStringHandlerERNS0_15FormatSpecifierEPKcRS6_S6_", "clang::analyze_format_string::ParseArgPosition(clang::analyze_format_string::FormatStringHandler&, clang::analyze_format_string::FormatSpecifier&, char const*, char const*&, char const*)"},
-    {"_ZN5clang21analyze_format_string19ParseLengthModifierERNS0_15FormatSpecifierERPKcS4_", "clang::analyze_format_string::ParseLengthModifier(clang::analyze_format_string::FormatSpecifier&, char const*&, char const*)"},
-    {"_ZNK5clang21analyze_format_string13ArgTypeResult11matchesTypeERNS_10ASTContextENS_8QualTypeE", "clang::analyze_format_string::ArgTypeResult::matchesType(clang::ASTContext&, clang::QualType) const"},
-    {"_ZNK5clang21analyze_format_string13ArgTypeResult21getRepresentativeTypeERNS_10ASTContextE", "clang::analyze_format_string::ArgTypeResult::getRepresentativeType(clang::ASTContext&) const"},
-    {"_ZNK5clang21analyze_format_string14OptionalAmount10getArgTypeERNS_10ASTContextE", "clang::analyze_format_string::OptionalAmount::getArgType(clang::ASTContext&) const"},
-    {"_ZNK5clang21analyze_format_string14LengthModifier8toStringEv", "clang::analyze_format_string::LengthModifier::toString() const"},
-    {"_ZNK5clang21analyze_format_string14OptionalAmount8toStringERN4llvm11raw_ostreamE", "clang::analyze_format_string::OptionalAmount::toString(llvm::raw_ostream&) const"},
-    {"_ZNK5clang21analyze_format_string15FormatSpecifier22hasValidLengthModifierEv", "clang::analyze_format_string::FormatSpecifier::hasValidLengthModifier() const"},
-    {"_ZN5clang13LiveVariablesC1ERNS_15AnalysisContextEb", "clang::LiveVariables::LiveVariables(clang::AnalysisContext&, bool)"},
-    {"_ZN5clang13LiveVariablesC2ERNS_15AnalysisContextEb", "clang::LiveVariables::LiveVariables(clang::AnalysisContext&, bool)"},
-    {"_ZN5clang13LiveVariables8runOnCFGERNS_3CFGE", "clang::LiveVariables::runOnCFG(clang::CFG&)"},
-    {"_ZN5clang13LiveVariables14runOnAllBlocksERKNS_3CFGEPNS_24LiveVariables_ValueTypes10ObserverTyEb", "clang::LiveVariables::runOnAllBlocks(clang::CFG const&, clang::LiveVariables_ValueTypes::ObserverTy*, bool)"},
-    {"_ZNK5clang13LiveVariables6isLiveEPKNS_8CFGBlockEPKNS_7VarDeclE", "clang::LiveVariables::isLive(clang::CFGBlock const*, clang::VarDecl const*) const"},
-    {"_ZNK5clang13LiveVariables6isLiveERKNS_23StmtDeclBitVector_Types5ValTyEPKNS_7VarDeclE", "clang::LiveVariables::isLive(clang::StmtDeclBitVector_Types::ValTy const&, clang::VarDecl const*) const"},
-    {"_ZNK5clang13LiveVariables6isLiveEPKNS_4StmtES3_", "clang::LiveVariables::isLive(clang::Stmt const*, clang::Stmt const*) const"},
-    {"_ZNK5clang13LiveVariables6isLiveEPKNS_4StmtEPKNS_7VarDeclE", "clang::LiveVariables::isLive(clang::Stmt const*, clang::VarDecl const*) const"},
-    {"_ZNK5clang13LiveVariables12dumpLivenessERKNS_23StmtDeclBitVector_Types5ValTyERKNS_13SourceManagerE", "clang::LiveVariables::dumpLiveness(clang::StmtDeclBitVector_Types::ValTy const&, clang::SourceManager const&) const"},
-    {"_ZNK5clang13LiveVariables17dumpBlockLivenessERKNS_13SourceManagerE", "clang::LiveVariables::dumpBlockLiveness(clang::SourceManager const&) const"},
-    {"_ZN5clang14DataflowSolverINS_13LiveVariablesEN12_GLOBAL__N_113TransferFuncsENS_23StmtDeclBitVector_Types5UnionESt8equal_toINS4_5ValTyEEE12ProcessBlockEPKNS_8CFGBlockEbNS_8dataflow21backward_analysis_tagE", "clang::DataflowSolver<clang::LiveVariables, (anonymous namespace)::TransferFuncs, clang::StmtDeclBitVector_Types::Union, std::equal_to<clang::StmtDeclBitVector_Types::ValTy> >::ProcessBlock(clang::CFGBlock const*, bool, clang::dataflow::backward_analysis_tag)"},
-    {"_ZN12_GLOBAL__N_113TransferFuncs5VisitEPN5clang4StmtE", "(anonymous namespace)::TransferFuncs::Visit(clang::Stmt*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_113TransferFuncsEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::TransferFuncs, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_113TransferFuncs18VisitUnaryOperatorEPN5clang13UnaryOperatorE", "(anonymous namespace)::TransferFuncs::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN5clang14CFGStmtVisitorIN12_GLOBAL__N_113TransferFuncsEvE13VisitChildrenEPNS_4StmtE", "clang::CFGStmtVisitor<(anonymous namespace)::TransferFuncs, void>::VisitChildren(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_113TransferFuncs11VisitAssignEPN5clang14BinaryOperatorE", "(anonymous namespace)::TransferFuncs::VisitAssign(clang::BinaryOperator*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_113RegisterDeclsEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::RegisterDecls, void>::Visit(clang::Stmt*)"},
-    {"_ZN5clang14CFGStmtVisitorIN12_GLOBAL__N_113RegisterDeclsEvE13VisitChildrenEPNS_4StmtE", "clang::CFGStmtVisitor<(anonymous namespace)::RegisterDecls, void>::VisitChildren(clang::Stmt*)"},
-    {"_ZN5clang21CFGRecStmtDeclVisitorIN12_GLOBAL__N_113RegisterDeclsEE9VisitDeclEPNS_4DeclE", "clang::CFGRecStmtDeclVisitor<(anonymous namespace)::RegisterDecls>::VisitDecl(clang::Decl*)"},
-    {"_ZN5clang14DataflowValuesINS_24LiveVariables_ValueTypesENS_8dataflow21backward_analysis_tagEEC2Ev", "clang::DataflowValues<clang::LiveVariables_ValueTypes, clang::dataflow::backward_analysis_tag>::DataflowValues()"},
-    {"_ZN5clang21analyze_format_string17ParsePrintfStringERNS0_19FormatStringHandlerEPKcS4_", "clang::analyze_format_string::ParsePrintfString(clang::analyze_format_string::FormatStringHandler&, char const*, char const*)"},
-    {"_ZNK5clang21analyze_format_string19ConversionSpecifier8toStringEv", "clang::analyze_format_string::ConversionSpecifier::toString() const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier10getArgTypeERNS_10ASTContextE", "clang::analyze_printf::PrintfSpecifier::getArgType(clang::ASTContext&) const"},
-    {"_ZN5clang14analyze_printf15PrintfSpecifier7fixTypeENS_8QualTypeE", "clang::analyze_printf::PrintfSpecifier::fixType(clang::QualType)"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier8toStringERN4llvm11raw_ostreamE", "clang::analyze_printf::PrintfSpecifier::toString(llvm::raw_ostream&) const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier18hasValidPlusPrefixEv", "clang::analyze_printf::PrintfSpecifier::hasValidPlusPrefix() const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier23hasValidAlternativeFormEv", "clang::analyze_printf::PrintfSpecifier::hasValidAlternativeForm() const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier20hasValidLeadingZerosEv", "clang::analyze_printf::PrintfSpecifier::hasValidLeadingZeros() const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier19hasValidSpacePrefixEv", "clang::analyze_printf::PrintfSpecifier::hasValidSpacePrefix() const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier21hasValidLeftJustifiedEv", "clang::analyze_printf::PrintfSpecifier::hasValidLeftJustified() const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier31hasValidThousandsGroupingPrefixEv", "clang::analyze_printf::PrintfSpecifier::hasValidThousandsGroupingPrefix() const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier17hasValidPrecisionEv", "clang::analyze_printf::PrintfSpecifier::hasValidPrecision() const"},
-    {"_ZNK5clang14analyze_printf15PrintfSpecifier18hasValidFieldWidthEv", "clang::analyze_printf::PrintfSpecifier::hasValidFieldWidth() const"},
-    {"_ZN5clang22PseudoConstantAnalysisC1EPKNS_4StmtE", "clang::PseudoConstantAnalysis::PseudoConstantAnalysis(clang::Stmt const*)"},
-    {"_ZN5clang22PseudoConstantAnalysisC2EPKNS_4StmtE", "clang::PseudoConstantAnalysis::PseudoConstantAnalysis(clang::Stmt const*)"},
-    {"_ZN5clang22PseudoConstantAnalysisD1Ev", "clang::PseudoConstantAnalysis::~PseudoConstantAnalysis()"},
-    {"_ZN5clang22PseudoConstantAnalysisD2Ev", "clang::PseudoConstantAnalysis::~PseudoConstantAnalysis()"},
-    {"_ZN5clang22PseudoConstantAnalysis16isPseudoConstantEPKNS_7VarDeclE", "clang::PseudoConstantAnalysis::isPseudoConstant(clang::VarDecl const*)"},
-    {"_ZN5clang22PseudoConstantAnalysis11RunAnalysisEv", "clang::PseudoConstantAnalysis::RunAnalysis()"},
-    {"_ZN5clang22PseudoConstantAnalysis13wasReferencedEPKNS_7VarDeclE", "clang::PseudoConstantAnalysis::wasReferenced(clang::VarDecl const*)"},
-    {"_ZN5clang14reachable_code22ScanReachableFromBlockERKNS_8CFGBlockERN4llvm9BitVectorE", "clang::reachable_code::ScanReachableFromBlock(clang::CFGBlock const&, llvm::BitVector&)"},
-    {"_ZN5clang14reachable_code19FindUnreachableCodeERNS_15AnalysisContextERNS0_8CallbackE", "clang::reachable_code::FindUnreachableCode(clang::AnalysisContext&, clang::reachable_code::Callback&)"},
-    {"_Z17GetUnreachableLocRKN5clang8CFGBlockERNS_11SourceRangeES4_", "GetUnreachableLoc(clang::CFGBlock const&, clang::SourceRange&, clang::SourceRange&)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_16ErrLocEE9push_backERKS2_", "llvm::SmallVectorImpl<(anonymous namespace)::ErrLoc>::push_back((anonymous namespace)::ErrLoc const&)"},
-    {"_Z7LineCmpPKvS0_", "LineCmp(void const*, void const*)"},
-    {"_ZN5clang21analyze_format_string16ParseScanfStringERNS0_19FormatStringHandlerEPKcS4_", "clang::analyze_format_string::ParseScanfString(clang::analyze_format_string::FormatStringHandler&, char const*, char const*)"},
-    {"_ZN5clang19UninitializedValues16InitializeValuesERKNS_3CFGE", "clang::UninitializedValues::InitializeValues(clang::CFG const&)"},
-    {"_ZN5clang30UninitializedValues_ValueTypes10ObserverTyD0Ev", "clang::UninitializedValues_ValueTypes::ObserverTy::~ObserverTy()"},
-    {"_ZN5clang30UninitializedValues_ValueTypes10ObserverTyD1Ev", "clang::UninitializedValues_ValueTypes::ObserverTy::~ObserverTy()"},
-    {"_ZN5clang30UninitializedValues_ValueTypes10ObserverTyD2Ev", "clang::UninitializedValues_ValueTypes::ObserverTy::~ObserverTy()"},
-    {"_ZN5clang24CheckUninitializedValuesERNS_3CFGERNS_10ASTContextERNS_10DiagnosticEb", "clang::CheckUninitializedValues(clang::CFG&, clang::ASTContext&, clang::Diagnostic&, bool)"},
-    {"_ZN12_GLOBAL__N_126UninitializedValuesCheckerD1Ev", "(anonymous namespace)::UninitializedValuesChecker::~UninitializedValuesChecker()"},
-    {"_ZN5clang14DataflowSolverINS_19UninitializedValuesEN12_GLOBAL__N_113TransferFuncsENS_23StmtDeclBitVector_Types5UnionESt8equal_toINS4_5ValTyEEE12ProcessBlockEPKNS_8CFGBlockEbNS_8dataflow20forward_analysis_tagE", "clang::DataflowSolver<clang::UninitializedValues, (anonymous namespace)::TransferFuncs, clang::StmtDeclBitVector_Types::Union, std::equal_to<clang::StmtDeclBitVector_Types::ValTy> >::ProcessBlock(clang::CFGBlock const*, bool, clang::dataflow::forward_analysis_tag)"},
-    {"_ZN12_GLOBAL__N_113TransferFuncs19BlockStmt_VisitExprEPN5clang4ExprE", "(anonymous namespace)::TransferFuncs::BlockStmt_VisitExpr(clang::Expr*)"},
-    {"_ZN5clang14CFGStmtVisitorIN12_GLOBAL__N_113TransferFuncsEbE5VisitEPNS_4StmtE", "clang::CFGStmtVisitor<(anonymous namespace)::TransferFuncs, bool>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_113TransferFuncs19VisitBinaryOperatorEPN5clang14BinaryOperatorE", "(anonymous namespace)::TransferFuncs::VisitBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN12_GLOBAL__N_113TransferFuncs18VisitUnaryOperatorEPN5clang13UnaryOperatorE", "(anonymous namespace)::TransferFuncs::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN12_GLOBAL__N_113TransferFuncs9VisitStmtEPN5clang4StmtE", "(anonymous namespace)::TransferFuncs::VisitStmt(clang::Stmt*)"},
-    {"_ZN5clang14CFGStmtVisitorIN12_GLOBAL__N_113TransferFuncsEbE13VisitChildrenEPNS_4StmtE", "clang::CFGStmtVisitor<(anonymous namespace)::TransferFuncs, bool>::VisitChildren(clang::Stmt*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_113RegisterDeclsEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::RegisterDecls, void>::Visit(clang::Stmt*)"},
-    {"_ZN5clang14CFGStmtVisitorIN12_GLOBAL__N_113RegisterDeclsEvE13VisitChildrenEPNS_4StmtE", "clang::CFGStmtVisitor<(anonymous namespace)::RegisterDecls, void>::VisitChildren(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_126UninitializedValuesCheckerD0Ev", "(anonymous namespace)::UninitializedValuesChecker::~UninitializedValuesChecker()"},
-    {"_ZN12_GLOBAL__N_126UninitializedValuesChecker18ObserveDeclRefExprERN5clang23StmtDeclBitVector_Types5ValTyERNS1_30UninitializedValues_ValueTypes14AnalysisDataTyEPNS1_11DeclRefExprEPNS1_7VarDeclE", "(anonymous namespace)::UninitializedValuesChecker::ObserveDeclRefExpr(clang::StmtDeclBitVector_Types::ValTy&, clang::UninitializedValues_ValueTypes::AnalysisDataTy&, clang::DeclRefExpr*, clang::VarDecl*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4StmtENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS4_EENS7_IS6_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::Stmt const*, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::Stmt const*>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::FindAndConstruct(clang::Stmt const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4StmtENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::Stmt const*, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::Stmt const*>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::InsertIntoBucket(clang::Stmt const* const&, clang::StmtDeclBitVector_Types::ValTy const&, std::pair<clang::Stmt const*, clang::StmtDeclBitVector_Types::ValTy>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4StmtENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::Stmt const*, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::Stmt const*>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::grow(unsigned int)"},
-    {"_ZN5clang18DataflowWorkListTy7dequeueEv", "clang::DataflowWorkListTy::dequeue()"},
-    {"_ZN4llvm8DenseMapIN5clang12ProgramPointENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS2_EENS5_IS4_EEE4findERKS2_", "llvm::DenseMap<clang::ProgramPoint, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::ProgramPoint>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::find(clang::ProgramPoint const&)"},
-    {"_ZN5clang18DataflowWorkListTy7enqueueEPKNS_8CFGBlockE", "clang::DataflowWorkListTy::enqueue(clang::CFGBlock const*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang8CFGBlockEhNS_12DenseMapInfoIS4_EENS5_IhEEE16InsertIntoBucketERKS4_RKhPSt4pairIS4_hE", "llvm::DenseMap<clang::CFGBlock const*, unsigned char, llvm::DenseMapInfo<clang::CFGBlock const*>, llvm::DenseMapInfo<unsigned char> >::InsertIntoBucket(clang::CFGBlock const* const&, unsigned char const&, std::pair<clang::CFGBlock const*, unsigned char>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang8CFGBlockEhNS_12DenseMapInfoIS4_EENS5_IhEEE4growEj", "llvm::DenseMap<clang::CFGBlock const*, unsigned char, llvm::DenseMapInfo<clang::CFGBlock const*>, llvm::DenseMapInfo<unsigned char> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIN5clang12ProgramPointENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS2_EENS5_IS4_EEE16FindAndConstructERKS2_", "llvm::DenseMap<clang::ProgramPoint, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::ProgramPoint>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::FindAndConstruct(clang::ProgramPoint const&)"},
-    {"_ZNK4llvm8DenseMapIN5clang12ProgramPointENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS2_EENS5_IS4_EEE15LookupBucketForERKS2_RPSt4pairIS2_S4_E", "llvm::DenseMap<clang::ProgramPoint, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::ProgramPoint>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::LookupBucketFor(clang::ProgramPoint const&, std::pair<clang::ProgramPoint, clang::StmtDeclBitVector_Types::ValTy>*&) const"},
-    {"_ZN4llvm8DenseMapIN5clang12ProgramPointENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<clang::ProgramPoint, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::ProgramPoint>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::InsertIntoBucket(clang::ProgramPoint const&, clang::StmtDeclBitVector_Types::ValTy const&, std::pair<clang::ProgramPoint, clang::StmtDeclBitVector_Types::ValTy>*)"},
-    {"_ZN4llvm8DenseMapIN5clang12ProgramPointENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<clang::ProgramPoint, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::ProgramPoint>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::grow(unsigned int)"},
-    {"_ZNK5clang12ProgramPoint12getHashValueEv", "clang::ProgramPoint::getHashValue() const"},
-    {"_ZN4llvm8DenseMapIPKN5clang8CFGBlockENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS4_EENS7_IS6_EEE6insertERKSt4pairIS4_S6_E", "llvm::DenseMap<clang::CFGBlock const*, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::CFGBlock const*>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::insert(std::pair<clang::CFGBlock const*, clang::StmtDeclBitVector_Types::ValTy> const&)"},
-    {"_ZNSt4pairIPKN5clang8CFGBlockENS0_23StmtDeclBitVector_Types5ValTyEEC2ERKS3_RKS5_", "std::pair<clang::CFGBlock const*, clang::StmtDeclBitVector_Types::ValTy>::pair(clang::CFGBlock const* const&, clang::StmtDeclBitVector_Types::ValTy const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang8CFGBlockENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::CFGBlock const*, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::CFGBlock const*>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::InsertIntoBucket(clang::CFGBlock const* const&, clang::StmtDeclBitVector_Types::ValTy const&, std::pair<clang::CFGBlock const*, clang::StmtDeclBitVector_Types::ValTy>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang8CFGBlockENS1_23StmtDeclBitVector_Types5ValTyENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::CFGBlock const*, clang::StmtDeclBitVector_Types::ValTy, llvm::DenseMapInfo<clang::CFGBlock const*>, llvm::DenseMapInfo<clang::StmtDeclBitVector_Types::ValTy> >::grow(unsigned int)"},
-    {"_ZN5clang23StmtDeclBitVector_Types5ValTyoRERKS1_", "clang::StmtDeclBitVector_Types::ValTy::operator|=(clang::StmtDeclBitVector_Types::ValTy const&)"},
-    {"_ZN5clang19DeclBitVector_Types14AnalysisDataTy8RegisterEPKNS_9NamedDeclE", "clang::DeclBitVector_Types::AnalysisDataTy::Register(clang::NamedDecl const*)"},
-    {"_ZN5clang14DataflowValuesINS_30UninitializedValues_ValueTypesENS_8dataflow20forward_analysis_tagEED2Ev", "clang::DataflowValues<clang::UninitializedValues_ValueTypes, clang::dataflow::forward_analysis_tag>::~DataflowValues()"},
-    {"_ZN5clang30UninitializedValues_ValueTypes14AnalysisDataTyD1Ev", "clang::UninitializedValues_ValueTypes::AnalysisDataTy::~AnalysisDataTy()"},
-    {"_ZN5clang30UninitializedValues_ValueTypes14AnalysisDataTyD0Ev", "clang::UninitializedValues_ValueTypes::AnalysisDataTy::~AnalysisDataTy()"},
-    {"_ZN5clang14DataflowValuesINS_30UninitializedValues_ValueTypesENS_8dataflow20forward_analysis_tagEEC2Ev", "clang::DataflowValues<clang::UninitializedValues_ValueTypes, clang::dataflow::forward_analysis_tag>::DataflowValues()"},
-    {"_ZN5clang33runUninitializedVariablesAnalysisERKNS_11DeclContextERKNS_3CFGERNS_15AnalysisContextERNS_22UninitVariablesHandlerE", "clang::runUninitializedVariablesAnalysis(clang::DeclContext const&, clang::CFG const&, clang::AnalysisContext&, clang::UninitVariablesHandler&)"},
-    {"_Z10runOnBlockPKN5clang8CFGBlockERKNS_3CFGERNS_15AnalysisContextERN12_GLOBAL__N_114CFGBlockValuesEPNS_22UninitVariablesHandlerEb", "runOnBlock(clang::CFGBlock const*, clang::CFG const&, clang::AnalysisContext&, (anonymous namespace)::CFGBlockValues&, clang::UninitVariablesHandler*, bool)"},
-    {"_ZN5clang22UninitVariablesHandlerD0Ev", "clang::UninitVariablesHandler::~UninitVariablesHandler()"},
-    {"_ZN5clang22UninitVariablesHandlerD1Ev", "clang::UninitVariablesHandler::~UninitVariablesHandler()"},
-    {"_ZN5clang22UninitVariablesHandlerD2Ev", "clang::UninitVariablesHandler::~UninitVariablesHandler()"},
-    {"_Z25getLogicalOperatorInChainPKN5clang8CFGBlockE", "getLogicalOperatorInChain(clang::CFGBlock const*)"},
-    {"_ZN12_GLOBAL__N_114CFGBlockValues12getBitVectorEPKN5clang8CFGBlockES4_", "(anonymous namespace)::CFGBlockValues::getBitVector(clang::CFGBlock const*, clang::CFGBlock const*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_117TransferFunctionsEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::TransferFunctions, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_117TransferFunctions19VisitBinaryOperatorEPN5clang14BinaryOperatorE", "(anonymous namespace)::TransferFunctions::VisitBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN12_GLOBAL__N_117TransferFunctions18VisitUnaryOperatorEPN5clang13UnaryOperatorE", "(anonymous namespace)::TransferFunctions::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN5clang14CFGStmtVisitorIN12_GLOBAL__N_117TransferFunctionsEvE13VisitChildrenEPNS_4StmtE", "clang::CFGStmtVisitor<(anonymous namespace)::TransferFunctions, void>::VisitChildren(clang::Stmt*)"},
-    {"_Z12isTrackedVarPKN5clang7VarDeclEPKNS_11DeclContextE", "isTrackedVar(clang::VarDecl const*, clang::DeclContext const*)"},
-    {"_ZN12_GLOBAL__N_117TransferFunctions13VisitCastExprEPN5clang8CastExprE", "(anonymous namespace)::TransferFunctions::VisitCastExpr(clang::CastExpr*)"},
-    {"_ZNK4llvm9BitVectoreqERKS0_", "llvm::BitVector::operator==(llvm::BitVector const&) const"},
-    {"_ZNK5clang4Decl7getAttrINS_10BlocksAttrEEEPT_v", "clang::BlocksAttr* clang::Decl::getAttr<clang::BlocksAttr>() const"},
-    {"_ZN5clang3idx12EntityGetter9getEntityENS0_6EntityENS_15DeclarationNameEjb", "clang::idx::EntityGetter::getEntity(clang::idx::Entity, clang::DeclarationName, unsigned int, bool)"},
-    {"_ZN5clang3idx12EntityGetter15getGlobalEntityEN4llvm9StringRefE", "clang::idx::EntityGetter::getGlobalEntity(llvm::StringRef)"},
-    {"_ZN5clang3idx12EntityGetter14VisitNamedDeclEPNS_9NamedDeclE", "clang::idx::EntityGetter::VisitNamedDecl(clang::NamedDecl*)"},
-    {"_ZN5clang3idx6EntityC1EPNS_4DeclE", "clang::idx::Entity::Entity(clang::Decl*)"},
-    {"_ZN5clang3idx12EntityGetter12VisitVarDeclEPNS_7VarDeclE", "clang::idx::EntityGetter::VisitVarDecl(clang::VarDecl*)"},
-    {"_ZN5clang3idx12EntityGetter17VisitFunctionDeclEPNS_12FunctionDeclE", "clang::idx::EntityGetter::VisitFunctionDecl(clang::FunctionDecl*)"},
-    {"_ZN5clang3idx12EntityGetter14VisitFieldDeclEPNS_9FieldDeclE", "clang::idx::EntityGetter::VisitFieldDecl(clang::FieldDecl*)"},
-    {"_ZN5clang3idx12EntityGetter13VisitTypeDeclEPNS_8TypeDeclE", "clang::idx::EntityGetter::VisitTypeDecl(clang::TypeDecl*)"},
-    {"_ZN5clang3idx10EntityImpl7getDeclERNS_10ASTContextE", "clang::idx::EntityImpl::getDecl(clang::ASTContext&)"},
-    {"_ZNK5clang3idx6Entity7getDeclERNS_10ASTContextE", "clang::idx::Entity::getDecl(clang::ASTContext&) const"},
-    {"_ZN5clang3idx10EntityImpl3getEPNS_4DeclERNS0_7ProgramERNS0_11ProgramImplE", "clang::idx::EntityImpl::get(clang::Decl*, clang::idx::Program&, clang::idx::ProgramImpl&)"},
-    {"_ZN5clang3idx10EntityImpl3getEN4llvm9StringRefERNS0_7ProgramERNS0_11ProgramImplE", "clang::idx::EntityImpl::get(llvm::StringRef, clang::idx::Program&, clang::idx::ProgramImpl&)"},
-    {"_ZN5clang3idx10EntityImpl16getPrintableNameEv", "clang::idx::EntityImpl::getPrintableName()"},
-    {"_ZN5clang3idx6EntityC2EPNS_4DeclE", "clang::idx::Entity::Entity(clang::Decl*)"},
-    {"_ZNK5clang3idx6Entity16getPrintableNameEv", "clang::idx::Entity::getPrintableName() const"},
-    {"_ZN5clang3idx6Entity3getEPNS_4DeclERNS0_7ProgramE", "clang::idx::Entity::get(clang::Decl*, clang::idx::Program&)"},
-    {"_ZN5clang3idx6Entity3getEN4llvm9StringRefERNS0_7ProgramE", "clang::idx::Entity::get(llvm::StringRef, clang::idx::Program&)"},
-    {"_ZN4llvm12DenseMapInfoIN5clang3idx6EntityEE12getHashValueES3_", "llvm::DenseMapInfo<clang::idx::Entity>::getHashValue(clang::idx::Entity)"},
-    {"_ZN5clang11DeclVisitorINS_3idx12EntityGetterENS1_6EntityEE5VisitEPNS_4DeclE", "clang::DeclVisitor<clang::idx::EntityGetter, clang::idx::Entity>::Visit(clang::Decl*)"},
-    {"_ZNK5clang3idx14GlobalSelector11getSelectorERNS_10ASTContextE", "clang::idx::GlobalSelector::getSelector(clang::ASTContext&) const"},
-    {"_ZNK5clang3idx14GlobalSelector16getPrintableNameEv", "clang::idx::GlobalSelector::getPrintableName() const"},
-    {"_ZN5clang3idx14GlobalSelector3getENS_8SelectorERNS0_7ProgramE", "clang::idx::GlobalSelector::get(clang::Selector, clang::idx::Program&)"},
-    {"_ZN4llvm12DenseMapInfoIN5clang3idx14GlobalSelectorEE12getHashValueES3_", "llvm::DenseMapInfo<clang::idx::GlobalSelector>::getHashValue(clang::idx::GlobalSelector)"},
-    {"_ZN5clang3idx13EntityHandlerD0Ev", "clang::idx::EntityHandler::~EntityHandler()"},
-    {"_ZN5clang3idx13EntityHandlerD1Ev", "clang::idx::EntityHandler::~EntityHandler()"},
-    {"_ZN5clang3idx13EntityHandlerD2Ev", "clang::idx::EntityHandler::~EntityHandler()"},
-    {"_ZN5clang3idx22TranslationUnitHandlerD0Ev", "clang::idx::TranslationUnitHandler::~TranslationUnitHandler()"},
-    {"_ZN5clang3idx22TranslationUnitHandlerD1Ev", "clang::idx::TranslationUnitHandler::~TranslationUnitHandler()"},
-    {"_ZN5clang3idx22TranslationUnitHandlerD2Ev", "clang::idx::TranslationUnitHandler::~TranslationUnitHandler()"},
-    {"_ZN5clang3idx17TULocationHandlerD0Ev", "clang::idx::TULocationHandler::~TULocationHandler()"},
-    {"_ZN5clang3idx17TULocationHandlerD1Ev", "clang::idx::TULocationHandler::~TULocationHandler()"},
-    {"_ZN5clang3idx17TULocationHandlerD2Ev", "clang::idx::TULocationHandler::~TULocationHandler()"},
-    {"_ZN5clang3idx13IndexProviderD0Ev", "clang::idx::IndexProvider::~IndexProvider()"},
-    {"_ZN5clang3idx13IndexProviderD1Ev", "clang::idx::IndexProvider::~IndexProvider()"},
-    {"_ZN5clang3idx13IndexProviderD2Ev", "clang::idx::IndexProvider::~IndexProvider()"},
-    {"_ZN5clang3idx7Indexer8IndexASTEPNS0_15TranslationUnitE", "clang::idx::Indexer::IndexAST(clang::idx::TranslationUnit*)"},
-    {"_ZN12_GLOBAL__N_113EntityIndexerD1Ev", "(anonymous namespace)::EntityIndexer::~EntityIndexer()"},
-    {"_ZN5clang3idx7Indexer22GetTranslationUnitsForENS0_6EntityERNS0_22TranslationUnitHandlerE", "clang::idx::Indexer::GetTranslationUnitsFor(clang::idx::Entity, clang::idx::TranslationUnitHandler&)"},
-    {"_ZN5clang3idx7Indexer22GetTranslationUnitsForENS0_14GlobalSelectorERNS0_22TranslationUnitHandlerE", "clang::idx::Indexer::GetTranslationUnitsFor(clang::idx::GlobalSelector, clang::idx::TranslationUnitHandler&)"},
-    {"_ZN5clang3idx7Indexer16getDefinitionForENS0_6EntityE", "clang::idx::Indexer::getDefinitionFor(clang::idx::Entity)"},
-    {"_ZN5clang11DeclVisitorIN12_GLOBAL__N_115SelectorIndexerEvE5VisitEPNS_4DeclE", "clang::DeclVisitor<(anonymous namespace)::SelectorIndexer, void>::Visit(clang::Decl*)"},
-    {"_ZN5clang11DeclVisitorIN12_GLOBAL__N_115SelectorIndexerEvE14VisitNamedDeclEPNS_9NamedDeclE", "clang::DeclVisitor<(anonymous namespace)::SelectorIndexer, void>::VisitNamedDecl(clang::NamedDecl*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_115SelectorIndexerEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::SelectorIndexer, void>::Visit(clang::Stmt*)"},
-    {"_ZN5clang3idx10ASTVisitorIN12_GLOBAL__N_115SelectorIndexerEE9VisitStmtEPNS_4StmtE", "clang::idx::ASTVisitor<(anonymous namespace)::SelectorIndexer>::VisitStmt(clang::Stmt*)"},
-    {"_ZN5clang3idx10ASTVisitorIN12_GLOBAL__N_115SelectorIndexerEE19VisitDeclaratorDeclEPNS_14DeclaratorDeclE", "clang::idx::ASTVisitor<(anonymous namespace)::SelectorIndexer>::VisitDeclaratorDecl(clang::DeclaratorDecl*)"},
-    {"_ZN5clang14TypeLocVisitorIN12_GLOBAL__N_115SelectorIndexerEvE5VisitENS_7TypeLocE", "clang::TypeLocVisitor<(anonymous namespace)::SelectorIndexer, void>::Visit(clang::TypeLoc)"},
-    {"_ZN12_GLOBAL__N_113EntityIndexerD0Ev", "(anonymous namespace)::EntityIndexer::~EntityIndexer()"},
-    {"_ZN12_GLOBAL__N_113EntityIndexer6HandleEN5clang3idx6EntityE", "(anonymous namespace)::EntityIndexer::Handle(clang::idx::Entity)"},
-    {"_ZN5clang3idx7IndexerD1Ev", "clang::idx::Indexer::~Indexer()"},
-    {"_ZN5clang3idx7IndexerD0Ev", "clang::idx::Indexer::~Indexer()"},
-    {"_ZNSt3mapIN5clang3idx14GlobalSelectorEN4llvm11SmallPtrSetIPNS1_15TranslationUnitELj4EEESt4lessIS2_ESaISt4pairIKS2_S7_EEEixERSB_", "std::map<clang::idx::GlobalSelector, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u>, std::less<clang::idx::GlobalSelector>, std::allocator<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > > >::operator[](clang::idx::GlobalSelector const&)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx14GlobalSelectorESt4pairIKS2_N4llvm11SmallPtrSetIPNS1_15TranslationUnitELj4EEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISA_ERKSA_", "std::_Rb_tree<clang::idx::GlobalSelector, std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> >, std::_Select1st<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >, std::less<clang::idx::GlobalSelector>, std::allocator<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >, std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > const&)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx14GlobalSelectorESt4pairIKS2_N4llvm11SmallPtrSetIPNS1_15TranslationUnitELj4EEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE16_M_insert_uniqueERKSA_", "std::_Rb_tree<clang::idx::GlobalSelector, std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> >, std::_Select1st<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >, std::less<clang::idx::GlobalSelector>, std::allocator<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > > >::_M_insert_unique(std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang10ASTContextEPNS1_3idx15TranslationUnitENS_12DenseMapInfoIS3_EENS7_IS6_EEE16InsertIntoBucketERKS3_RKS6_PSt4pairIS3_S6_E", "llvm::DenseMap<clang::ASTContext*, clang::idx::TranslationUnit*, llvm::DenseMapInfo<clang::ASTContext*>, llvm::DenseMapInfo<clang::idx::TranslationUnit*> >::InsertIntoBucket(clang::ASTContext* const&, clang::idx::TranslationUnit* const&, std::pair<clang::ASTContext*, clang::idx::TranslationUnit*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang10ASTContextEPNS1_3idx15TranslationUnitENS_12DenseMapInfoIS3_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::ASTContext*, clang::idx::TranslationUnit*, llvm::DenseMapInfo<clang::ASTContext*>, llvm::DenseMapInfo<clang::idx::TranslationUnit*> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx6EntityESt4pairIKS2_N4llvm11SmallPtrSetIPNS1_15TranslationUnitELj4EEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E", "std::_Rb_tree<clang::idx::Entity, std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> >, std::_Select1st<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >, std::less<clang::idx::Entity>, std::allocator<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > > >::_M_erase(std::_Rb_tree_node<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >*)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx6EntityESt4pairIKS2_S3_IPNS0_12FunctionDeclEPNS1_15TranslationUnitEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E", "std::_Rb_tree<clang::idx::Entity, std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> >, std::_Select1st<std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > >, std::less<clang::idx::Entity>, std::allocator<std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > > >::_M_erase(std::_Rb_tree_node<std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > >*)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx14GlobalSelectorESt4pairIKS2_N4llvm11SmallPtrSetIPNS1_15TranslationUnitELj4EEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E", "std::_Rb_tree<clang::idx::GlobalSelector, std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> >, std::_Select1st<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >, std::less<clang::idx::GlobalSelector>, std::allocator<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > > >::_M_erase(std::_Rb_tree_node<std::pair<clang::idx::GlobalSelector const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >*)"},
-    {"_ZNSt3mapIN5clang3idx6EntityEN4llvm11SmallPtrSetIPNS1_15TranslationUnitELj4EEESt4lessIS2_ESaISt4pairIKS2_S7_EEEixERSB_", "std::map<clang::idx::Entity, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u>, std::less<clang::idx::Entity>, std::allocator<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > > >::operator[](clang::idx::Entity const&)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx6EntityESt4pairIKS2_S3_IPNS0_12FunctionDeclEPNS1_15TranslationUnitEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISA_ERKSA_", "std::_Rb_tree<clang::idx::Entity, std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> >, std::_Select1st<std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > >, std::less<clang::idx::Entity>, std::allocator<std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > >, std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > const&)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx6EntityESt4pairIKS2_S3_IPNS0_12FunctionDeclEPNS1_15TranslationUnitEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE16_M_insert_uniqueERKSA_", "std::_Rb_tree<clang::idx::Entity, std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> >, std::_Select1st<std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > >, std::less<clang::idx::Entity>, std::allocator<std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > > >::_M_insert_unique(std::pair<clang::idx::Entity const, std::pair<clang::FunctionDecl*, clang::idx::TranslationUnit*> > const&)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx6EntityESt4pairIKS2_N4llvm11SmallPtrSetIPNS1_15TranslationUnitELj4EEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISA_ERKSA_", "std::_Rb_tree<clang::idx::Entity, std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> >, std::_Select1st<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >, std::less<clang::idx::Entity>, std::allocator<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >, std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > const&)"},
-    {"_ZNSt8_Rb_treeIN5clang3idx6EntityESt4pairIKS2_N4llvm11SmallPtrSetIPNS1_15TranslationUnitELj4EEEESt10_Select1stISA_ESt4lessIS2_ESaISA_EE16_M_insert_uniqueERKSA_", "std::_Rb_tree<clang::idx::Entity, std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> >, std::_Select1st<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > >, std::less<clang::idx::Entity>, std::allocator<std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > > >::_M_insert_unique(std::pair<clang::idx::Entity const, llvm::SmallPtrSet<clang::idx::TranslationUnit*, 4u> > const&)"},
-    {"_ZN5clang3idx15TranslationUnitD0Ev", "clang::idx::TranslationUnit::~TranslationUnit()"},
-    {"_ZN5clang3idx15TranslationUnitD1Ev", "clang::idx::TranslationUnit::~TranslationUnit()"},
-    {"_ZN5clang3idx15TranslationUnitD2Ev", "clang::idx::TranslationUnit::~TranslationUnit()"},
-    {"_ZN5clang3idx7ProgramC1Ev", "clang::idx::Program::Program()"},
-    {"_ZN5clang3idx7ProgramC2Ev", "clang::idx::Program::Program()"},
-    {"_ZN5clang3idx7ProgramD1Ev", "clang::idx::Program::~Program()"},
-    {"_ZN5clang3idx7ProgramD2Ev", "clang::idx::Program::~Program()"},
-    {"_ZN5clang3idx7Program12FindEntitiesERNS_10ASTContextERNS0_13EntityHandlerE", "clang::idx::Program::FindEntities(clang::ASTContext&, clang::idx::EntityHandler&)"},
-    {"_Z16FindEntitiesInDCPN5clang11DeclContextERNS_3idx7ProgramERNS2_13EntityHandlerE", "FindEntitiesInDC(clang::DeclContext*, clang::idx::Program&, clang::idx::EntityHandler&)"},
-    {"_ZN4llvm10FoldingSetIN5clang3idx10EntityImplEED1Ev", "llvm::FoldingSet<clang::idx::EntityImpl>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang3idx10EntityImplEED0Ev", "llvm::FoldingSet<clang::idx::EntityImpl>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang3idx10EntityImplEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::idx::EntityImpl>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang3idx10EntityImplEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::idx::EntityImpl>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang3idx10EntityImplEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::idx::EntityImpl>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang3idx11ProgramImplC2Ev", "clang::idx::ProgramImpl::ProgramImpl()"},
-    {"_ZN5clang9DeltaTreeC1Ev", "clang::DeltaTree::DeltaTree()"},
-    {"_ZN5clang9DeltaTreeC2Ev", "clang::DeltaTree::DeltaTree()"},
-    {"_ZN5clang9DeltaTreeC1ERKS0_", "clang::DeltaTree::DeltaTree(clang::DeltaTree const&)"},
-    {"_ZN5clang9DeltaTreeC2ERKS0_", "clang::DeltaTree::DeltaTree(clang::DeltaTree const&)"},
-    {"_ZN5clang9DeltaTreeD1Ev", "clang::DeltaTree::~DeltaTree()"},
-    {"_ZN5clang9DeltaTreeD2Ev", "clang::DeltaTree::~DeltaTree()"},
-    {"_ZN12_GLOBAL__N_113DeltaTreeNode7DestroyEv", "(anonymous namespace)::DeltaTreeNode::Destroy()"},
-    {"_ZNK5clang9DeltaTree10getDeltaAtEj", "clang::DeltaTree::getDeltaAt(unsigned int) const"},
-    {"_ZN5clang9DeltaTree8AddDeltaEji", "clang::DeltaTree::AddDelta(unsigned int, int)"},
-    {"_ZN12_GLOBAL__N_113DeltaTreeNode11DoInsertionEjiPNS0_12InsertResultE", "(anonymous namespace)::DeltaTreeNode::DoInsertion(unsigned int, int, (anonymous namespace)::DeltaTreeNode::InsertResult*)"},
-    {"_ZN12_GLOBAL__N_113DeltaTreeNode7DoSplitERNS0_12InsertResultE", "(anonymous namespace)::DeltaTreeNode::DoSplit((anonymous namespace)::DeltaTreeNode::InsertResult&)"},
-    {"_ZN5clang13FixItRewriterC1ERNS_10DiagnosticERNS_13SourceManagerERKNS_11LangOptionsEPNS_12FixItOptionsE", "clang::FixItRewriter::FixItRewriter(clang::Diagnostic&, clang::SourceManager&, clang::LangOptions const&, clang::FixItOptions*)"},
-    {"_ZN5clang13FixItRewriterC2ERNS_10DiagnosticERNS_13SourceManagerERKNS_11LangOptionsEPNS_12FixItOptionsE", "clang::FixItRewriter::FixItRewriter(clang::Diagnostic&, clang::SourceManager&, clang::LangOptions const&, clang::FixItOptions*)"},
-    {"_ZN5clang13FixItRewriterD0Ev", "clang::FixItRewriter::~FixItRewriter()"},
-    {"_ZN5clang13FixItRewriterD1Ev", "clang::FixItRewriter::~FixItRewriter()"},
-    {"_ZN5clang13FixItRewriterD2Ev", "clang::FixItRewriter::~FixItRewriter()"},
-    {"_ZN5clang13FixItRewriter14WriteFixedFileENS_6FileIDERN4llvm11raw_ostreamE", "clang::FixItRewriter::WriteFixedFile(clang::FileID, llvm::raw_ostream&)"},
-    {"_ZN5clang13FixItRewriter15WriteFixedFilesEv", "clang::FixItRewriter::WriteFixedFiles()"},
-    {"_ZN5clang13FixItRewriter4DiagENS_14SourceLocationEj", "clang::FixItRewriter::Diag(clang::SourceLocation, unsigned int)"},
-    {"_ZNK5clang13FixItRewriter25IncludeInDiagnosticCountsEv", "clang::FixItRewriter::IncludeInDiagnosticCounts() const"},
-    {"_ZN5clang13FixItRewriter16HandleDiagnosticENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::FixItRewriter::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZN5clang12FixItOptionsD0Ev", "clang::FixItOptions::~FixItOptions()"},
-    {"_ZN5clang12FixItOptionsD1Ev", "clang::FixItOptions::~FixItOptions()"},
-    {"_ZN5clang12FixItOptionsD2Ev", "clang::FixItOptions::~FixItOptions()"},
-    {"_ZN5clang15HTMLPrintAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::HTMLPrintAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang11FixItActionC1Ev", "clang::FixItAction::FixItAction()"},
-    {"_ZN5clang11FixItActionC2Ev", "clang::FixItAction::FixItAction()"},
-    {"_ZN5clang11FixItActionD0Ev", "clang::FixItAction::~FixItAction()"},
-    {"_ZN5clang11FixItActionD1Ev", "clang::FixItAction::~FixItAction()"},
-    {"_ZN5clang11FixItActionD2Ev", "clang::FixItAction::~FixItAction()"},
-    {"_ZN5clang11FixItAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::FixItAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang11FixItAction21BeginSourceFileActionERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::FixItAction::BeginSourceFileAction(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang11FixItAction19EndSourceFileActionEv", "clang::FixItAction::EndSourceFileAction()"},
-    {"_ZN5clang17RewriteObjCAction17CreateASTConsumerERNS_16CompilerInstanceEN4llvm9StringRefE", "clang::RewriteObjCAction::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)"},
-    {"_ZN5clang19RewriteMacrosAction13ExecuteActionEv", "clang::RewriteMacrosAction::ExecuteAction()"},
-    {"_ZN5clang17RewriteTestAction13ExecuteActionEv", "clang::RewriteTestAction::ExecuteAction()"},
-    {"_ZN12_GLOBAL__N_119FixItRewriteInPlaceD1Ev", "(anonymous namespace)::FixItRewriteInPlace::~FixItRewriteInPlace()"},
-    {"_ZN12_GLOBAL__N_119FixItRewriteInPlaceD0Ev", "(anonymous namespace)::FixItRewriteInPlace::~FixItRewriteInPlace()"},
-    {"_ZN12_GLOBAL__N_119FixItRewriteInPlace15RewriteFilenameERKSs", "(anonymous namespace)::FixItRewriteInPlace::RewriteFilename(std::string const&)"},
-    {"_ZN12_GLOBAL__N_125FixItActionSuffixInserterD1Ev", "(anonymous namespace)::FixItActionSuffixInserter::~FixItActionSuffixInserter()"},
-    {"_ZN12_GLOBAL__N_125FixItActionSuffixInserterD0Ev", "(anonymous namespace)::FixItActionSuffixInserter::~FixItActionSuffixInserter()"},
-    {"_ZN12_GLOBAL__N_125FixItActionSuffixInserter15RewriteFilenameERKSs", "(anonymous namespace)::FixItActionSuffixInserter::RewriteFilename(std::string const&)"},
-    {"_ZNK5clang11FixItAction17hasASTFileSupportEv", "clang::FixItAction::hasASTFileSupport() const"},
-    {"_ZN5clang15HTMLPrintActionD1Ev", "clang::HTMLPrintAction::~HTMLPrintAction()"},
-    {"_ZN5clang15HTMLPrintActionD0Ev", "clang::HTMLPrintAction::~HTMLPrintAction()"},
-    {"_ZN5clang17RewriteObjCActionD1Ev", "clang::RewriteObjCAction::~RewriteObjCAction()"},
-    {"_ZN5clang17RewriteObjCActionD0Ev", "clang::RewriteObjCAction::~RewriteObjCAction()"},
-    {"_ZN5clang19RewriteMacrosActionD1Ev", "clang::RewriteMacrosAction::~RewriteMacrosAction()"},
-    {"_ZN5clang19RewriteMacrosActionD0Ev", "clang::RewriteMacrosAction::~RewriteMacrosAction()"},
-    {"_ZN5clang17RewriteTestActionD1Ev", "clang::RewriteTestAction::~RewriteTestAction()"},
-    {"_ZN5clang17RewriteTestActionD0Ev", "clang::RewriteTestAction::~RewriteTestAction()"},
-    {"_ZN5clang17CreateHTMLPrinterEPN4llvm11raw_ostreamERNS_12PreprocessorEbb", "clang::CreateHTMLPrinter(llvm::raw_ostream*, clang::Preprocessor&, bool, bool)"},
-    {"_ZN12_GLOBAL__N_111HTMLPrinterD1Ev", "(anonymous namespace)::HTMLPrinter::~HTMLPrinter()"},
-    {"_ZN12_GLOBAL__N_111HTMLPrinterD0Ev", "(anonymous namespace)::HTMLPrinter::~HTMLPrinter()"},
-    {"_ZN12_GLOBAL__N_111HTMLPrinter10InitializeERN5clang10ASTContextE", "(anonymous namespace)::HTMLPrinter::Initialize(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_111HTMLPrinter21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::HTMLPrinter::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN5clang4html14HighlightRangeERNS_8RewriterENS_14SourceLocationES3_PKcS5_", "clang::html::HighlightRange(clang::Rewriter&, clang::SourceLocation, clang::SourceLocation, char const*, char const*)"},
-    {"_ZN5clang4html14HighlightRangeERNS_13RewriteBufferEjjPKcS4_S4_", "clang::html::HighlightRange(clang::RewriteBuffer&, unsigned int, unsigned int, char const*, char const*, char const*)"},
-    {"_ZN5clang4html10EscapeTextERNS_8RewriterENS_6FileIDEbb", "clang::html::EscapeText(clang::Rewriter&, clang::FileID, bool, bool)"},
-    {"_ZN5clang4html10EscapeTextERKSsbb", "clang::html::EscapeText(std::string const&, bool, bool)"},
-    {"_ZN5clang4html14AddLineNumbersERNS_8RewriterENS_6FileIDE", "clang::html::AddLineNumbers(clang::Rewriter&, clang::FileID)"},
-    {"_ZN5clang4html33AddHeaderFooterInternalBuiltinCSSERNS_8RewriterENS_6FileIDEPKc", "clang::html::AddHeaderFooterInternalBuiltinCSS(clang::Rewriter&, clang::FileID, char const*)"},
-    {"_ZN5clang4html15SyntaxHighlightERNS_8RewriterENS_6FileIDERKNS_12PreprocessorE", "clang::html::SyntaxHighlight(clang::Rewriter&, clang::FileID, clang::Preprocessor const&)"},
-    {"_ZN5clang4html15HighlightMacrosERNS_8RewriterENS_6FileIDERKNS_12PreprocessorE", "clang::html::HighlightMacros(clang::Rewriter&, clang::FileID, clang::Preprocessor const&)"},
-    {"_ZN12_GLOBAL__N_118IgnoringDiagClientD1Ev", "(anonymous namespace)::IgnoringDiagClient::~IgnoringDiagClient()"},
-    {"_ZN12_GLOBAL__N_118IgnoringDiagClientD0Ev", "(anonymous namespace)::IgnoringDiagClient::~IgnoringDiagClient()"},
-    {"_ZN12_GLOBAL__N_118IgnoringDiagClient16HandleDiagnosticEN5clang10Diagnostic5LevelERKNS1_14DiagnosticInfoE", "(anonymous namespace)::IgnoringDiagClient::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZN5clang20RewriteMacrosInInputERNS_12PreprocessorEPN4llvm11raw_ostreamE", "clang::RewriteMacrosInInput(clang::Preprocessor&, llvm::raw_ostream*)"},
-    {"_ZN5clang18CreateObjCRewriterERKSsPN4llvm11raw_ostreamERNS_10DiagnosticERKNS_11LangOptionsEb", "clang::CreateObjCRewriter(std::string const&, llvm::raw_ostream*, clang::Diagnostic&, clang::LangOptions const&, bool)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjCD1Ev", "(anonymous namespace)::RewriteObjC::~RewriteObjC()"},
-    {"_ZN12_GLOBAL__N_111RewriteObjCD0Ev", "(anonymous namespace)::RewriteObjC::~RewriteObjC()"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC10InitializeERN5clang10ASTContextE", "(anonymous namespace)::RewriteObjC::Initialize(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC18HandleTopLevelDeclEN5clang12DeclGroupRefE", "(anonymous namespace)::RewriteObjC::HandleTopLevelDecl(clang::DeclGroupRef)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC21HandleTranslationUnitERN5clang10ASTContextE", "(anonymous namespace)::RewriteObjC::HandleTranslationUnit(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC27RewriteObjCProtocolMetaDataEPN5clang16ObjCProtocolDeclEN4llvm9StringRefES5_RSs", "(anonymous namespace)::RewriteObjC::RewriteObjCProtocolMetaData(clang::ObjCProtocolDecl*, llvm::StringRef, llvm::StringRef, std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC28SynthesizeMetaDataIntoBufferERSs", "(anonymous namespace)::RewriteObjC::SynthesizeMetaDataIntoBuffer(std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC26RewriteObjCMethodsMetaDataIPPN5clang14ObjCMethodDeclEEEvT_S6_bN4llvm9StringRefES8_RSs", "void (anonymous namespace)::RewriteObjC::RewriteObjCMethodsMetaData<clang::ObjCMethodDecl**>(clang::ObjCMethodDecl**, clang::ObjCMethodDecl**, bool, llvm::StringRef, llvm::StringRef, std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC26RewriteObjCMethodsMetaDataIN5clang11DeclContext22filtered_decl_iteratorINS2_14ObjCMethodDeclEXadL_ZNKS5_13isClassMethodEvEEEEEEvT_S7_bN4llvm9StringRefES9_RSs", "void (anonymous namespace)::RewriteObjC::RewriteObjCMethodsMetaData<clang::DeclContext::filtered_decl_iterator<clang::ObjCMethodDecl, &(clang::ObjCMethodDecl::isClassMethod() const)> >(clang::DeclContext::filtered_decl_iterator<clang::ObjCMethodDecl, &(clang::ObjCMethodDecl::isClassMethod() const)>, clang::DeclContext::filtered_decl_iterator<clang::ObjCMethodDecl, &(clang::ObjCMethodDecl::isClassMethod() const)>, bool, llvm::StringRef, llvm::StringRef, std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC31RewriteObjCProtocolListMetaDataERKN5clang8ObjCListINS1_16ObjCProtocolDeclEEEN4llvm9StringRefES8_RSs", "(anonymous namespace)::RewriteObjC::RewriteObjCProtocolListMetaData(clang::ObjCList<clang::ObjCProtocolDecl> const&, llvm::StringRef, llvm::StringRef, std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC28SynthesizeObjCInternalStructEPN5clang17ObjCInterfaceDeclERSs", "(anonymous namespace)::RewriteObjC::SynthesizeObjCInternalStruct(clang::ObjCInterfaceDecl*, std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC17QuoteDoublequotesERSsS1_", "(anonymous namespace)::RewriteObjC::QuoteDoublequotes(std::string&, std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC31SynthesizeIvarOffsetComputationEPN5clang12ObjCIvarDeclERSs", "(anonymous namespace)::RewriteObjC::SynthesizeIvarOffsetComputation(clang::ObjCIvarDecl*, std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC25RewriteImplementationDeclEPN5clang4DeclE", "(anonymous namespace)::RewriteObjC::RewriteImplementationDecl(clang::Decl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC21RewriteObjCMethodDeclEPKN5clang17ObjCInterfaceDeclEPNS1_14ObjCMethodDeclERSs", "(anonymous namespace)::RewriteObjC::RewriteObjCMethodDecl(clang::ObjCInterfaceDecl const*, clang::ObjCMethodDecl*, std::string&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC21RewriteTypeIntoStringEN5clang8QualTypeERSsRPKNS1_12FunctionTypeE", "(anonymous namespace)::RewriteObjC::RewriteTypeIntoString(clang::QualType, std::string&, clang::FunctionType const*&)"},
-    {"_Z19getIvarAccessStringPN5clang12ObjCIvarDeclE", "getIvarAccessString(clang::ObjCIvarDecl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC24HandleTopLevelSingleDeclEPN5clang4DeclE", "(anonymous namespace)::RewriteObjC::HandleTopLevelSingleDecl(clang::Decl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC32RewriteBlocksInFunctionProtoTypeEN5clang8QualTypeEPNS1_9NamedDeclE", "(anonymous namespace)::RewriteObjC::RewriteBlocksInFunctionProtoType(clang::QualType, clang::NamedDecl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC22CollectPropertySettersEPN5clang4StmtE", "(anonymous namespace)::RewriteObjC::CollectPropertySetters(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC38RewriteFunctionBodyOrGlobalInitializerEPN5clang4StmtE", "(anonymous namespace)::RewriteObjC::RewriteFunctionBodyOrGlobalInitializer(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC34RewriteObjCQualifiedInterfaceTypesEPN5clang4DeclE", "(anonymous namespace)::RewriteObjC::RewriteObjCQualifiedInterfaceTypes(clang::Decl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC23RewriteBlockPointerDeclEPN5clang9NamedDeclE", "(anonymous namespace)::RewriteObjC::RewriteBlockPointerDecl(clang::NamedDecl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC15RewriteCastExprEPN5clang14CStyleCastExprE", "(anonymous namespace)::RewriteObjC::RewriteCastExpr(clang::CStyleCastExpr*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC17RewriteRecordBodyEPN5clang10RecordDeclE", "(anonymous namespace)::RewriteObjC::RewriteRecordBody(clang::RecordDecl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC23SynthesizeBlockLiteralsEN5clang14SourceLocationEN4llvm9StringRefE", "(anonymous namespace)::RewriteObjC::SynthesizeBlockLiterals(clang::SourceLocation, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC31RewriteBlockLiteralFunctionDeclEPN5clang12FunctionDeclE", "(anonymous namespace)::RewriteObjC::RewriteBlockLiteralFunctionDecl(clang::FunctionDecl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC23CollectBlockDeclRefInfoEPN5clang9BlockExprE", "(anonymous namespace)::RewriteObjC::CollectBlockDeclRefInfo(clang::BlockExpr*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC18RewriteByRefStringERSsRKSsPN5clang9ValueDeclEb", "(anonymous namespace)::RewriteObjC::RewriteByRefString(std::string&, std::string const&, clang::ValueDecl*, bool)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC23RewriteBlockPointerTypeERSsN5clang8QualTypeE", "(anonymous namespace)::RewriteObjC::RewriteBlockPointerType(std::string&, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC20GetBlockDeclRefExprsEPN5clang4StmtE", "(anonymous namespace)::RewriteObjC::GetBlockDeclRefExprs(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC33PointerTypeTakesAnyBlockArgumentsEN5clang8QualTypeE", "(anonymous namespace)::RewriteObjC::PointerTypeTakesAnyBlockArguments(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC23needToScanForQualifiersEN5clang8QualTypeE", "(anonymous namespace)::RewriteObjC::needToScanForQualifiers(clang::QualType)"},
-    {"_Z21BuildUniqueMethodNameRSsPN5clang14ObjCMethodDeclE", "BuildUniqueMethodName(std::string&, clang::ObjCMethodDecl*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC28RewriteObjCNestedIvarRefExprEPN5clang4StmtERb", "(anonymous namespace)::RewriteObjC::RewriteObjCNestedIvarRefExpr(clang::Stmt*, bool&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC11ReplaceStmtEPN5clang4StmtES3_", "(anonymous namespace)::RewriteObjC::ReplaceStmt(clang::Stmt*, clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC25GetInnerBlockDeclRefExprsEPN5clang4StmtERN4llvm11SmallVectorIPNS1_16BlockDeclRefExprELj8EEERNS4_11SmallPtrSetIPKNS1_11DeclContextELj8EEE", "(anonymous namespace)::RewriteObjC::GetInnerBlockDeclRefExprs(clang::Stmt*, llvm::SmallVector<clang::BlockDeclRefExpr*, 8u>&, llvm::SmallPtrSet<clang::DeclContext const*, 8u>&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC23RewriteBlockDeclRefExprEPN5clang4ExprE", "(anonymous namespace)::RewriteObjC::RewriteBlockDeclRefExpr(clang::Expr*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC19SynthesizeBlockCallEPN5clang8CallExprEPKNS1_4ExprE", "(anonymous namespace)::RewriteObjC::SynthesizeBlockCall(clang::CallExpr*, clang::Expr const*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC15getProtocolTypeEv", "(anonymous namespace)::RewriteObjC::getProtocolType()"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC14HasReturnStmtsEPN5clang4StmtERb", "(anonymous namespace)::RewriteObjC::HasReturnStmts(clang::Stmt*, bool&)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC22RewriteSyncReturnStmtsEPN5clang4StmtESs", "(anonymous namespace)::RewriteObjC::RewriteSyncReturnStmts(clang::Stmt*, std::string)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC24WarnAboutReturnGotoStmtsEPN5clang4StmtE", "(anonymous namespace)::RewriteObjC::WarnAboutReturnGotoStmts(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC21RewriteTryReturnStmtsEPN5clang4StmtE", "(anonymous namespace)::RewriteObjC::RewriteTryReturnStmts(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC16SynthMessageExprEPN5clang15ObjCMessageExprENS1_14SourceLocationES4_", "(anonymous namespace)::RewriteObjC::SynthMessageExpr(clang::ObjCMessageExpr*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC26SynthSelGetUidFunctionDeclEv", "(anonymous namespace)::RewriteObjC::SynthSelGetUidFunctionDecl()"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC28SynthesizeCallToFunctionDeclEPN5clang12FunctionDeclEPPNS1_4ExprEjNS1_14SourceLocationES7_", "(anonymous namespace)::RewriteObjC::SynthesizeCallToFunctionDecl(clang::FunctionDecl*, clang::Expr**, unsigned int, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC18getSuperStructTypeEv", "(anonymous namespace)::RewriteObjC::getSuperStructType()"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC32SynthSuperContructorFunctionDeclEv", "(anonymous namespace)::RewriteObjC::SynthSuperContructorFunctionDecl()"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC26SynthBlockInitFunctionDeclEN4llvm9StringRefE", "(anonymous namespace)::RewriteObjC::SynthBlockInitFunctionDecl(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_111RewriteObjC24RewriteMethodDeclarationEPN5clang14ObjCMethodDeclE", "(anonymous namespace)::RewriteObjC::RewriteMethodDeclaration(clang::ObjCMethodDecl*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14ObjCMethodDeclESsNS_12DenseMapInfoIS3_EENS4_ISsEEE16FindAndConstructERKS3_", "llvm::DenseMap<clang::ObjCMethodDecl*, std::string, llvm::DenseMapInfo<clang::ObjCMethodDecl*>, llvm::DenseMapInfo<std::string> >::FindAndConstruct(clang::ObjCMethodDecl* const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang14ObjCMethodDeclESsNS_12DenseMapInfoIS3_EENS4_ISsEEE16InsertIntoBucketERKS3_RKSsPSt4pairIS3_SsE", "llvm::DenseMap<clang::ObjCMethodDecl*, std::string, llvm::DenseMapInfo<clang::ObjCMethodDecl*>, llvm::DenseMapInfo<std::string> >::InsertIntoBucket(clang::ObjCMethodDecl* const&, std::string const&, std::pair<clang::ObjCMethodDecl*, std::string>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14ObjCMethodDeclESsNS_12DenseMapInfoIS3_EENS4_ISsEEE4growEj", "llvm::DenseMap<clang::ObjCMethodDecl*, std::string, llvm::DenseMapInfo<clang::ObjCMethodDecl*>, llvm::DenseMapInfo<std::string> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang14ObjCMethodDeclEE6appendINS1_11DeclContext22filtered_decl_iteratorIS2_XadL_ZNKS2_16isInstanceMethodEvEEEEEEvT_S9_", "void llvm::SmallVectorImpl<clang::ObjCMethodDecl*>::append<clang::DeclContext::filtered_decl_iterator<clang::ObjCMethodDecl, &(clang::ObjCMethodDecl::isInstanceMethod() const)> >(clang::DeclContext::filtered_decl_iterator<clang::ObjCMethodDecl, &(clang::ObjCMethodDecl::isInstanceMethod() const)>, clang::DeclContext::filtered_decl_iterator<clang::ObjCMethodDecl, &(clang::ObjCMethodDecl::isInstanceMethod() const)>)"},
-    {"_ZNK5clang17ObjCInterfaceDecl9ivar_sizeEv", "clang::ObjCInterfaceDecl::ivar_size() const"},
-    {"_ZNSs12_S_constructIN5clang22RopePieceBTreeIteratorEEEPcT_S3_RKSaIcESt20forward_iterator_tag", "char* std::string::_S_construct<clang::RopePieceBTreeIterator>(clang::RopePieceBTreeIterator, clang::RopePieceBTreeIterator, std::allocator<char> const&, std::forward_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIPN5clang9BlockExprESsNS_12DenseMapInfoIS3_EENS4_ISsEEE5clearEv", "llvm::DenseMap<clang::BlockExpr*, std::string, llvm::DenseMapInfo<clang::BlockExpr*>, llvm::DenseMapInfo<std::string> >::clear()"},
-    {"_ZN4llvm8DenseMapIPN5clang9BlockExprESsNS_12DenseMapInfoIS3_EENS4_ISsEEE16shrink_and_clearEv", "llvm::DenseMap<clang::BlockExpr*, std::string, llvm::DenseMapInfo<clang::BlockExpr*>, llvm::DenseMapInfo<std::string> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPN5clang9BlockExprESsNS_12DenseMapInfoIS3_EENS4_ISsEEE16FindAndConstructERKS3_", "llvm::DenseMap<clang::BlockExpr*, std::string, llvm::DenseMapInfo<clang::BlockExpr*>, llvm::DenseMapInfo<std::string> >::FindAndConstruct(clang::BlockExpr* const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang9BlockExprESsNS_12DenseMapInfoIS3_EENS4_ISsEEE16InsertIntoBucketERKS3_RKSsPSt4pairIS3_SsE", "llvm::DenseMap<clang::BlockExpr*, std::string, llvm::DenseMapInfo<clang::BlockExpr*>, llvm::DenseMapInfo<std::string> >::InsertIntoBucket(clang::BlockExpr* const&, std::string const&, std::pair<clang::BlockExpr*, std::string>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang9BlockExprESsNS_12DenseMapInfoIS3_EENS4_ISsEEE4growEj", "llvm::DenseMap<clang::BlockExpr*, std::string, llvm::DenseMapInfo<clang::BlockExpr*>, llvm::DenseMapInfo<std::string> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang9ValueDeclEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<clang::ValueDecl*, unsigned int, llvm::DenseMapInfo<clang::ValueDecl*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::ValueDecl* const&, unsigned int const&, std::pair<clang::ValueDecl*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang9ValueDeclEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<clang::ValueDecl*, unsigned int, llvm::DenseMapInfo<clang::ValueDecl*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang19ConditionalOperatorC2EPNS_4ExprENS_14SourceLocationES2_S3_S2_S2_NS_8QualTypeENS_13ExprValueKindENS_14ExprObjectKindE", "clang::ConditionalOperator::ConditionalOperator(clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::Expr*, clang::QualType, clang::ExprValueKind, clang::ExprObjectKind)"},
-    {"_ZN5clang13UnaryOperatorC2EPNS_4ExprENS_17UnaryOperatorKindENS_8QualTypeENS_13ExprValueKindENS_14ExprObjectKindENS_14SourceLocationE", "clang::UnaryOperator::UnaryOperator(clang::Expr*, clang::UnaryOperatorKind, clang::QualType, clang::ExprValueKind, clang::ExprObjectKind, clang::SourceLocation)"},
-    {"_ZN4llvm8DenseMapIycNS_12DenseMapInfoIyEENS1_IcEEE6insertERKSt4pairIycE", "llvm::DenseMap<unsigned long long, char, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<char> >::insert(std::pair<unsigned long long, char> const&)"},
-    {"_ZN4llvm8DenseMapIycNS_12DenseMapInfoIyEENS1_IcEEE16InsertIntoBucketERKyRKcPSt4pairIycE", "llvm::DenseMap<unsigned long long, char, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<char> >::InsertIntoBucket(unsigned long long const&, char const&, std::pair<unsigned long long, char>*)"},
-    {"_ZN4llvm8DenseMapIycNS_12DenseMapInfoIyEENS1_IcEEE4growEj", "llvm::DenseMap<unsigned long long, char, llvm::DenseMapInfo<unsigned long long>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN5clang14BinaryOperatorC2EPNS_4ExprES2_NS_18BinaryOperatorKindENS_8QualTypeENS_13ExprValueKindENS_14ExprObjectKindENS_14SourceLocationE", "clang::BinaryOperator::BinaryOperator(clang::Expr*, clang::Expr*, clang::BinaryOperatorKind, clang::QualType, clang::ExprValueKind, clang::ExprObjectKind, clang::SourceLocation)"},
-    {"_ZN4llvm8DenseMapIPN5clang4ExprEPNS1_4StmtENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::Expr*, clang::Stmt*, llvm::DenseMapInfo<clang::Expr*>, llvm::DenseMapInfo<clang::Stmt*> >::InsertIntoBucket(clang::Expr* const&, clang::Stmt* const&, std::pair<clang::Expr*, clang::Stmt*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4ExprEPNS1_4StmtENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Expr*, clang::Stmt*, llvm::DenseMapInfo<clang::Expr*>, llvm::DenseMapInfo<clang::Stmt*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang4StmtES3_NS_12DenseMapInfoIS3_EES5_E16InsertIntoBucketERKS3_S8_PSt4pairIS3_S3_E", "llvm::DenseMap<clang::Stmt*, clang::Stmt*, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<clang::Stmt*> >::InsertIntoBucket(clang::Stmt* const&, clang::Stmt* const&, std::pair<clang::Stmt*, clang::Stmt*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4StmtES3_NS_12DenseMapInfoIS3_EES5_E4growEj", "llvm::DenseMap<clang::Stmt*, clang::Stmt*, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<clang::Stmt*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang4ExprEPNS1_14BinaryOperatorENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::Expr*, clang::BinaryOperator*, llvm::DenseMapInfo<clang::Expr*>, llvm::DenseMapInfo<clang::BinaryOperator*> >::InsertIntoBucket(clang::Expr* const&, clang::BinaryOperator* const&, std::pair<clang::Expr*, clang::BinaryOperator*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4ExprEPNS1_14BinaryOperatorENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::Expr*, clang::BinaryOperator*, llvm::DenseMapInfo<clang::Expr*>, llvm::DenseMapInfo<clang::BinaryOperator*> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIN5clang6FileIDESt4pairIKS1_NS0_13RewriteBufferEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<clang::FileID, std::pair<clang::FileID const, clang::RewriteBuffer>, std::_Select1st<std::pair<clang::FileID const, clang::RewriteBuffer> >, std::less<clang::FileID>, std::allocator<std::pair<clang::FileID const, clang::RewriteBuffer> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::FileID const, clang::RewriteBuffer> >*)"},
-    {"_ZN5clang22RopePieceBTreeIteratorC1EPKv", "clang::RopePieceBTreeIterator::RopePieceBTreeIterator(void const*)"},
-    {"_ZN5clang22RopePieceBTreeIteratorC2EPKv", "clang::RopePieceBTreeIterator::RopePieceBTreeIterator(void const*)"},
-    {"_ZN5clang22RopePieceBTreeIterator15MoveToNextPieceEv", "clang::RopePieceBTreeIterator::MoveToNextPiece()"},
-    {"_ZN5clang14RopePieceBTreeC1Ev", "clang::RopePieceBTree::RopePieceBTree()"},
-    {"_ZN5clang14RopePieceBTreeC2Ev", "clang::RopePieceBTree::RopePieceBTree()"},
-    {"_ZN5clang14RopePieceBTreeC1ERKS0_", "clang::RopePieceBTree::RopePieceBTree(clang::RopePieceBTree const&)"},
-    {"_ZN5clang14RopePieceBTreeC2ERKS0_", "clang::RopePieceBTree::RopePieceBTree(clang::RopePieceBTree const&)"},
-    {"_ZN5clang14RopePieceBTreeD1Ev", "clang::RopePieceBTree::~RopePieceBTree()"},
-    {"_ZN5clang14RopePieceBTreeD2Ev", "clang::RopePieceBTree::~RopePieceBTree()"},
-    {"_ZN12_GLOBAL__N_118RopePieceBTreeNode7DestroyEv", "(anonymous namespace)::RopePieceBTreeNode::Destroy()"},
-    {"_ZNK5clang14RopePieceBTree4sizeEv", "clang::RopePieceBTree::size() const"},
-    {"_ZN5clang14RopePieceBTree5clearEv", "clang::RopePieceBTree::clear()"},
-    {"_ZN5clang14RopePieceBTree6insertEjRKNS_9RopePieceE", "clang::RopePieceBTree::insert(unsigned int, clang::RopePiece const&)"},
-    {"_ZN12_GLOBAL__N_118RopePieceBTreeNode5splitEj", "(anonymous namespace)::RopePieceBTreeNode::split(unsigned int)"},
-    {"_ZN12_GLOBAL__N_118RopePieceBTreeNode6insertEjRKN5clang9RopePieceE", "(anonymous namespace)::RopePieceBTreeNode::insert(unsigned int, clang::RopePiece const&)"},
-    {"_ZN5clang14RopePieceBTree5eraseEjj", "clang::RopePieceBTree::erase(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_118RopePieceBTreeNode5eraseEjj", "(anonymous namespace)::RopePieceBTreeNode::erase(unsigned int, unsigned int)"},
-    {"_ZN5clang11RewriteRope14MakeRopeStringEPKcS2_", "clang::RewriteRope::MakeRopeString(char const*, char const*)"},
-    {"_ZN12_GLOBAL__N_118RopePieceBTreeLeaf6insertEjRKN5clang9RopePieceE", "(anonymous namespace)::RopePieceBTreeLeaf::insert(unsigned int, clang::RopePiece const&)"},
-    {"_ZN12_GLOBAL__N_122RopePieceBTreeInterior16HandleChildPieceEjPNS_18RopePieceBTreeNodeE", "(anonymous namespace)::RopePieceBTreeInterior::HandleChildPiece(unsigned int, (anonymous namespace)::RopePieceBTreeNode*)"},
-    {"_ZN5clang13DoRewriteTestERNS_12PreprocessorEPN4llvm11raw_ostreamE", "clang::DoRewriteTest(clang::Preprocessor&, llvm::raw_ostream*)"},
-    {"_ZNK5clang13RewriteBuffer5writeERN4llvm11raw_ostreamE", "clang::RewriteBuffer::write(llvm::raw_ostream&) const"},
-    {"_ZN5clang13RewriteBuffer10RemoveTextEjj", "clang::RewriteBuffer::RemoveText(unsigned int, unsigned int)"},
-    {"_ZN5clang13RewriteBuffer10InsertTextEjN4llvm9StringRefEb", "clang::RewriteBuffer::InsertText(unsigned int, llvm::StringRef, bool)"},
-    {"_ZN5clang13RewriteBuffer11ReplaceTextEjjN4llvm9StringRefE", "clang::RewriteBuffer::ReplaceText(unsigned int, unsigned int, llvm::StringRef)"},
-    {"_ZNK5clang8Rewriter12getRangeSizeERKNS_15CharSourceRangeE", "clang::Rewriter::getRangeSize(clang::CharSourceRange const&) const"},
-    {"_ZNK5clang8Rewriter26getLocationOffsetAndFileIDENS_14SourceLocationERNS_6FileIDE", "clang::Rewriter::getLocationOffsetAndFileID(clang::SourceLocation, clang::FileID&) const"},
-    {"_ZNK5clang8Rewriter12getRangeSizeENS_11SourceRangeE", "clang::Rewriter::getRangeSize(clang::SourceRange) const"},
-    {"_ZNK5clang8Rewriter16getRewrittenTextENS_11SourceRangeE", "clang::Rewriter::getRewrittenText(clang::SourceRange) const"},
-    {"_ZN5clang8Rewriter13getEditBufferENS_6FileIDE", "clang::Rewriter::getEditBuffer(clang::FileID)"},
-    {"_ZN5clang8Rewriter10InsertTextENS_14SourceLocationEN4llvm9StringRefEb", "clang::Rewriter::InsertText(clang::SourceLocation, llvm::StringRef, bool)"},
-    {"_ZN5clang8Rewriter10RemoveTextENS_14SourceLocationEj", "clang::Rewriter::RemoveText(clang::SourceLocation, unsigned int)"},
-    {"_ZN5clang8Rewriter11ReplaceTextENS_14SourceLocationEjN4llvm9StringRefE", "clang::Rewriter::ReplaceText(clang::SourceLocation, unsigned int, llvm::StringRef)"},
-    {"_ZN5clang8Rewriter11ReplaceStmtEPNS_4StmtES2_", "clang::Rewriter::ReplaceStmt(clang::Stmt*, clang::Stmt*)"},
-    {"_ZNSt8_Rb_treeIN5clang6FileIDESt4pairIKS1_NS0_13RewriteBufferEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<clang::FileID, std::pair<clang::FileID const, clang::RewriteBuffer>, std::_Select1st<std::pair<clang::FileID const, clang::RewriteBuffer> >, std::less<clang::FileID>, std::allocator<std::pair<clang::FileID const, clang::RewriteBuffer> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::FileID const, clang::RewriteBuffer> >, std::pair<clang::FileID const, clang::RewriteBuffer> const&)"},
-    {"_ZNSt8_Rb_treeIN5clang6FileIDESt4pairIKS1_NS0_13RewriteBufferEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE9_M_insertEPSt18_Rb_tree_node_baseSD_RKS5_", "std::_Rb_tree<clang::FileID, std::pair<clang::FileID const, clang::RewriteBuffer>, std::_Select1st<std::pair<clang::FileID const, clang::RewriteBuffer> >, std::less<clang::FileID>, std::allocator<std::pair<clang::FileID const, clang::RewriteBuffer> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<clang::FileID const, clang::RewriteBuffer> const&)"},
-    {"_ZNSt8_Rb_treeIN5clang6FileIDESt4pairIKS1_NS0_13RewriteBufferEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<clang::FileID, std::pair<clang::FileID const, clang::RewriteBuffer>, std::_Select1st<std::pair<clang::FileID const, clang::RewriteBuffer> >, std::less<clang::FileID>, std::allocator<std::pair<clang::FileID const, clang::RewriteBuffer> > >::_M_insert_unique(std::pair<clang::FileID const, clang::RewriteBuffer> const&)"},
-    {"_ZN5clang13TokenRewriterC1ENS_6FileIDERNS_13SourceManagerERKNS_11LangOptionsE", "clang::TokenRewriter::TokenRewriter(clang::FileID, clang::SourceManager&, clang::LangOptions const&)"},
-    {"_ZN5clang13TokenRewriterC2ENS_6FileIDERNS_13SourceManagerERKNS_11LangOptionsE", "clang::TokenRewriter::TokenRewriter(clang::FileID, clang::SourceManager&, clang::LangOptions const&)"},
-    {"_ZN5clang13TokenRewriter8AddTokenERKNS_5TokenESt14_List_iteratorIS1_E", "clang::TokenRewriter::AddToken(clang::Token const&, std::_List_iterator<clang::Token>)"},
-    {"_ZN5clang13TokenRewriterD1Ev", "clang::TokenRewriter::~TokenRewriter()"},
-    {"_ZN5clang13TokenRewriterD2Ev", "clang::TokenRewriter::~TokenRewriter()"},
-    {"_ZN5clang13TokenRewriter13RemapIteratorESt20_List_const_iteratorINS_5TokenEE", "clang::TokenRewriter::RemapIterator(std::_List_const_iterator<clang::Token>)"},
-    {"_ZN5clang13TokenRewriter14AddTokenBeforeESt20_List_const_iteratorINS_5TokenEEPKc", "clang::TokenRewriter::AddTokenBefore(std::_List_const_iterator<clang::Token>, char const*)"},
-    {"_ZNSt8_Rb_treeIN5clang14SourceLocationESt4pairIKS1_St14_List_iteratorINS0_5TokenEEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<clang::SourceLocation, std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> >, std::_Select1st<std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> > >, std::less<clang::SourceLocation>, std::allocator<std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> > > >::_M_insert_unique(std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> > const&)"},
-    {"_ZNSt8_Rb_treeIN5clang14SourceLocationESt4pairIKS1_St14_List_iteratorINS0_5TokenEEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<clang::SourceLocation, std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> >, std::_Select1st<std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> > >, std::less<clang::SourceLocation>, std::allocator<std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> > > >::_M_erase(std::_Rb_tree_node<std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> > >*)"},
-    {"_ZN5clang7APValueC1EPNS_4ExprE", "clang::APValue::APValue(clang::Expr*)"},
-    {"_ZN5clang7APValueC2EPNS_4ExprE", "clang::APValue::APValue(clang::Expr*)"},
-    {"_ZN5clang7APValue10MakeLValueEv", "clang::APValue::MakeLValue()"},
-    {"_ZN5clang7APValue9setLValueEPNS_4ExprERKNS_9CharUnitsE", "clang::APValue::setLValue(clang::Expr*, clang::CharUnits const&)"},
-    {"_ZN5clang7APValueaSERKS0_", "clang::APValue::operator=(clang::APValue const&)"},
-    {"_ZN5clang7APValue10MakeUninitEv", "clang::APValue::MakeUninit()"},
-    {"_ZNK5clang7APValue13getLValueBaseEv", "clang::APValue::getLValueBase() const"},
-    {"_ZNK5clang7APValue15getLValueOffsetEv", "clang::APValue::getLValueOffset() const"},
-    {"_ZNK5clang7APValue4dumpEv", "clang::APValue::dump() const"},
-    {"_ZNK5clang7APValue5printERN4llvm11raw_ostreamE", "clang::APValue::print(llvm::raw_ostream&) const"},
-    {"_ZN5clang11ASTConsumer18HandleTopLevelDeclENS_12DeclGroupRefE", "clang::ASTConsumer::HandleTopLevelDecl(clang::DeclGroupRef)"},
-    {"_ZN5clang11ASTConsumer21HandleInterestingDeclENS_12DeclGroupRefE", "clang::ASTConsumer::HandleInterestingDecl(clang::DeclGroupRef)"},
-    {"_ZN5clang10ASTContext29CanonicalTemplateTemplateParm7ProfileERN4llvm16FoldingSetNodeIDEPNS_24TemplateTemplateParmDeclE", "clang::ASTContext::CanonicalTemplateTemplateParm::Profile(llvm::FoldingSetNodeID&, clang::TemplateTemplateParmDecl*)"},
-    {"_ZNK5clang10ASTContext36getCanonicalTemplateTemplateParmDeclEPNS_24TemplateTemplateParmDeclE", "clang::ASTContext::getCanonicalTemplateTemplateParmDecl(clang::TemplateTemplateParmDecl*) const"},
-    {"_ZNK5clang10ASTContext24getTrivialTypeSourceInfoENS_8QualTypeENS_14SourceLocationE", "clang::ASTContext::getTrivialTypeSourceInfo(clang::QualType, clang::SourceLocation) const"},
-    {"_ZN5clang10ASTContext12createCXXABIERKNS_10TargetInfoE", "clang::ASTContext::createCXXABI(clang::TargetInfo const&)"},
-    {"_ZN5clang10ASTContextC1ERKNS_11LangOptionsERNS_13SourceManagerERKNS_10TargetInfoERNS_15IdentifierTableERNS_13SelectorTableERNS_7Builtin7ContextEj", "clang::ASTContext::ASTContext(clang::LangOptions const&, clang::SourceManager&, clang::TargetInfo const&, clang::IdentifierTable&, clang::SelectorTable&, clang::Builtin::Context&, unsigned int)"},
-    {"_ZN5clang10ASTContextC2ERKNS_11LangOptionsERNS_13SourceManagerERKNS_10TargetInfoERNS_15IdentifierTableERNS_13SelectorTableERNS_7Builtin7ContextEj", "clang::ASTContext::ASTContext(clang::LangOptions const&, clang::SourceManager&, clang::TargetInfo const&, clang::IdentifierTable&, clang::SelectorTable&, clang::Builtin::Context&, unsigned int)"},
-    {"_ZN5clang10ASTContext16InitBuiltinTypesEv", "clang::ASTContext::InitBuiltinTypes()"},
-    {"_ZN5clang10ASTContextD1Ev", "clang::ASTContext::~ASTContext()"},
-    {"_ZN5clang10ASTContextD2Ev", "clang::ASTContext::~ASTContext()"},
-    {"_ZN5clang10ASTContext15AddDeallocationEPFvPvES1_", "clang::ASTContext::AddDeallocation(void (*)(void*), void*)"},
-    {"_ZN5clang10ASTContext17setExternalSourceERN4llvm9OwningPtrINS_17ExternalASTSourceEEE", "clang::ASTContext::setExternalSource(llvm::OwningPtr<clang::ExternalASTSource>&)"},
-    {"_ZNK5clang10ASTContext10PrintStatsEv", "clang::ASTContext::PrintStats() const"},
-    {"_ZN5clang10ASTContext15InitBuiltinTypeERNS_7CanQualINS_4TypeEEENS_11BuiltinType4KindE", "clang::ASTContext::InitBuiltinType(clang::CanQual<clang::Type>&, clang::BuiltinType::Kind)"},
-    {"_ZNK5clang10ASTContext17getFromTargetTypeEj", "clang::ASTContext::getFromTargetType(unsigned int) const"},
-    {"_ZNK5clang10ASTContext14getDiagnosticsEv", "clang::ASTContext::getDiagnostics() const"},
-    {"_ZN5clang10ASTContext12getDeclAttrsEPKNS_4DeclE", "clang::ASTContext::getDeclAttrs(clang::Decl const*)"},
-    {"_ZN5clang10ASTContext14eraseDeclAttrsEPKNS_4DeclE", "clang::ASTContext::eraseDeclAttrs(clang::Decl const*)"},
-    {"_ZN5clang10ASTContext35getInstantiatedFromStaticDataMemberEPKNS_7VarDeclE", "clang::ASTContext::getInstantiatedFromStaticDataMember(clang::VarDecl const*)"},
-    {"_ZN5clang10ASTContext35setInstantiatedFromStaticDataMemberEPNS_7VarDeclES2_NS_26TemplateSpecializationKindENS_14SourceLocationE", "clang::ASTContext::setInstantiatedFromStaticDataMember(clang::VarDecl*, clang::VarDecl*, clang::TemplateSpecializationKind, clang::SourceLocation)"},
-    {"_ZN5clang10ASTContext28getInstantiatedFromUsingDeclEPNS_9UsingDeclE", "clang::ASTContext::getInstantiatedFromUsingDecl(clang::UsingDecl*)"},
-    {"_ZN5clang10ASTContext28setInstantiatedFromUsingDeclEPNS_9UsingDeclEPNS_9NamedDeclE", "clang::ASTContext::setInstantiatedFromUsingDecl(clang::UsingDecl*, clang::NamedDecl*)"},
-    {"_ZN5clang10ASTContext34getInstantiatedFromUsingShadowDeclEPNS_15UsingShadowDeclE", "clang::ASTContext::getInstantiatedFromUsingShadowDecl(clang::UsingShadowDecl*)"},
-    {"_ZN5clang10ASTContext34setInstantiatedFromUsingShadowDeclEPNS_15UsingShadowDeclES2_", "clang::ASTContext::setInstantiatedFromUsingShadowDecl(clang::UsingShadowDecl*, clang::UsingShadowDecl*)"},
-    {"_ZN5clang10ASTContext35getInstantiatedFromUnnamedFieldDeclEPNS_9FieldDeclE", "clang::ASTContext::getInstantiatedFromUnnamedFieldDecl(clang::FieldDecl*)"},
-    {"_ZN5clang10ASTContext35setInstantiatedFromUnnamedFieldDeclEPNS_9FieldDeclES2_", "clang::ASTContext::setInstantiatedFromUnnamedFieldDecl(clang::FieldDecl*, clang::FieldDecl*)"},
-    {"_ZNK5clang10ASTContext24overridden_methods_beginEPKNS_13CXXMethodDeclE", "clang::ASTContext::overridden_methods_begin(clang::CXXMethodDecl const*) const"},
-    {"_ZNK5clang10ASTContext22overridden_methods_endEPKNS_13CXXMethodDeclE", "clang::ASTContext::overridden_methods_end(clang::CXXMethodDecl const*) const"},
-    {"_ZNK5clang10ASTContext23overridden_methods_sizeEPKNS_13CXXMethodDeclE", "clang::ASTContext::overridden_methods_size(clang::CXXMethodDecl const*) const"},
-    {"_ZN5clang10ASTContext19addOverriddenMethodEPKNS_13CXXMethodDeclES3_", "clang::ASTContext::addOverriddenMethod(clang::CXXMethodDecl const*, clang::CXXMethodDecl const*)"},
-    {"_ZNK5clang10ASTContext21getFloatTypeSemanticsENS_8QualTypeE", "clang::ASTContext::getFloatTypeSemantics(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext12getDeclAlignEPKNS_4DeclEb", "clang::ASTContext::getDeclAlign(clang::Decl const*, bool) const"},
-    {"_ZNK5clang10ASTContext14getPointerTypeENS_8QualTypeE", "clang::ASTContext::getPointerType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext14getAsArrayTypeENS_8QualTypeE", "clang::ASTContext::getAsArrayType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext18getBaseElementTypeEPKNS_9ArrayTypeE", "clang::ASTContext::getBaseElementType(clang::ArrayType const*) const"},
-    {"_ZNK5clang10ASTContext21getPreferredTypeAlignEPKNS_4TypeE", "clang::ASTContext::getPreferredTypeAlign(clang::Type const*) const"},
-    {"_ZNK5clang10ASTContext19toCharUnitsFromBitsEx", "clang::ASTContext::toCharUnitsFromBits(long long) const"},
-    {"_ZN5clang10ASTContext18getTypeInfoInCharsEPKNS_4TypeE", "clang::ASTContext::getTypeInfoInChars(clang::Type const*)"},
-    {"_ZNK5clang10ASTContext11getTypeInfoEPKNS_4TypeE", "clang::ASTContext::getTypeInfo(clang::Type const*) const"},
-    {"_ZN5clang10ASTContext18getTypeInfoInCharsENS_8QualTypeE", "clang::ASTContext::getTypeInfoInChars(clang::QualType)"},
-    {"_ZNK5clang10ASTContext18getPointerDiffTypeEv", "clang::ASTContext::getPointerDiffType() const"},
-    {"_ZNK5clang10ASTContext25getASTObjCInterfaceLayoutEPKNS_17ObjCInterfaceDeclE", "clang::ASTContext::getASTObjCInterfaceLayout(clang::ObjCInterfaceDecl const*) const"},
-    {"_ZNK5clang10ASTContext18getTypeSizeInCharsENS_8QualTypeE", "clang::ASTContext::getTypeSizeInChars(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext18getTypeSizeInCharsEPKNS_4TypeE", "clang::ASTContext::getTypeSizeInChars(clang::Type const*) const"},
-    {"_ZNK5clang10ASTContext19getTypeAlignInCharsENS_8QualTypeE", "clang::ASTContext::getTypeAlignInChars(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext19getTypeAlignInCharsEPKNS_4TypeE", "clang::ASTContext::getTypeAlignInChars(clang::Type const*) const"},
-    {"_ZNK5clang10ASTContext23ShallowCollectObjCIvarsEPKNS_17ObjCInterfaceDeclERN4llvm15SmallVectorImplIPNS_12ObjCIvarDeclEEE", "clang::ASTContext::ShallowCollectObjCIvars(clang::ObjCInterfaceDecl const*, llvm::SmallVectorImpl<clang::ObjCIvarDecl*>&) const"},
-    {"_ZNK5clang10ASTContext20DeepCollectObjCIvarsEPKNS_17ObjCInterfaceDeclEbRN4llvm15SmallVectorImplIPNS_12ObjCIvarDeclEEE", "clang::ASTContext::DeepCollectObjCIvars(clang::ObjCInterfaceDecl const*, bool, llvm::SmallVectorImpl<clang::ObjCIvarDecl*>&) const"},
-    {"_ZN5clang10ASTContext25CollectInheritedProtocolsEPKNS_4DeclERN4llvm11SmallPtrSetIPNS_16ObjCProtocolDeclELj8EEE", "clang::ASTContext::CollectInheritedProtocols(clang::Decl const*, llvm::SmallPtrSet<clang::ObjCProtocolDecl*, 8u>&)"},
-    {"_ZNK5clang10ASTContext18CountNonClassIvarsEPKNS_17ObjCInterfaceDeclE", "clang::ASTContext::CountNonClassIvars(clang::ObjCInterfaceDecl const*) const"},
-    {"_ZN5clang10ASTContext21getObjCImplementationEPNS_17ObjCInterfaceDeclE", "clang::ASTContext::getObjCImplementation(clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang10ASTContext21getObjCImplementationEPNS_16ObjCCategoryDeclE", "clang::ASTContext::getObjCImplementation(clang::ObjCCategoryDecl*)"},
-    {"_ZN5clang10ASTContext21setObjCImplementationEPNS_17ObjCInterfaceDeclEPNS_22ObjCImplementationDeclE", "clang::ASTContext::setObjCImplementation(clang::ObjCInterfaceDecl*, clang::ObjCImplementationDecl*)"},
-    {"_ZN5clang10ASTContext21setObjCImplementationEPNS_16ObjCCategoryDeclEPNS_20ObjCCategoryImplDeclE", "clang::ASTContext::setObjCImplementation(clang::ObjCCategoryDecl*, clang::ObjCCategoryImplDecl*)"},
-    {"_ZN5clang10ASTContext20getBlockVarCopyInitsEPKNS_7VarDeclE", "clang::ASTContext::getBlockVarCopyInits(clang::VarDecl const*)"},
-    {"_ZN5clang10ASTContext20setBlockVarCopyInitsEPNS_7VarDeclEPNS_4ExprE", "clang::ASTContext::setBlockVarCopyInits(clang::VarDecl*, clang::Expr*)"},
-    {"_ZNK5clang10ASTContext20CreateTypeSourceInfoENS_8QualTypeEj", "clang::ASTContext::CreateTypeSourceInfo(clang::QualType, unsigned int) const"},
-    {"_ZNK5clang10ASTContext30getASTObjCImplementationLayoutEPKNS_22ObjCImplementationDeclE", "clang::ASTContext::getASTObjCImplementationLayout(clang::ObjCImplementationDecl const*) const"},
-    {"_ZNK5clang10ASTContext14getExtQualTypeEPKNS_4TypeENS_10QualifiersE", "clang::ASTContext::getExtQualType(clang::Type const*, clang::Qualifiers) const"},
-    {"_ZNK5clang10ASTContext20getAddrSpaceQualTypeENS_8QualTypeEj", "clang::ASTContext::getAddrSpaceQualType(clang::QualType, unsigned int) const"},
-    {"_ZNK5clang10ASTContext17getObjCGCQualTypeENS_8QualTypeENS_10Qualifiers2GCE", "clang::ASTContext::getObjCGCQualType(clang::QualType, clang::Qualifiers::GC) const"},
-    {"_ZN5clang10ASTContext18adjustFunctionTypeEPKNS_12FunctionTypeENS1_7ExtInfoE", "clang::ASTContext::adjustFunctionType(clang::FunctionType const*, clang::FunctionType::ExtInfo)"},
-    {"_ZNK5clang10ASTContext22getFunctionNoProtoTypeENS_8QualTypeERKNS_12FunctionType7ExtInfoE", "clang::ASTContext::getFunctionNoProtoType(clang::QualType, clang::FunctionType::ExtInfo const&) const"},
-    {"_ZNK5clang10ASTContext15getFunctionTypeENS_8QualTypeEPKS1_jRKNS_17FunctionProtoType12ExtProtoInfoE", "clang::ASTContext::getFunctionType(clang::QualType, clang::QualType const*, unsigned int, clang::FunctionProtoType::ExtProtoInfo const&) const"},
-    {"_ZNK5clang10ASTContext14getComplexTypeENS_8QualTypeE", "clang::ASTContext::getComplexType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext19getBlockPointerTypeENS_8QualTypeE", "clang::ASTContext::getBlockPointerType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext22getLValueReferenceTypeENS_8QualTypeEb", "clang::ASTContext::getLValueReferenceType(clang::QualType, bool) const"},
-    {"_ZNK5clang10ASTContext22getRValueReferenceTypeENS_8QualTypeE", "clang::ASTContext::getRValueReferenceType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext20getMemberPointerTypeENS_8QualTypeEPKNS_4TypeE", "clang::ASTContext::getMemberPointerType(clang::QualType, clang::Type const*) const"},
-    {"_ZNK5clang10ASTContext20getConstantArrayTypeENS_8QualTypeERKN4llvm5APIntENS_9ArrayType17ArraySizeModifierEj", "clang::ASTContext::getConstantArrayType(clang::QualType, llvm::APInt const&, clang::ArrayType::ArraySizeModifier, unsigned int) const"},
-    {"_ZNK5clang10ASTContext27getVariableArrayDecayedTypeENS_8QualTypeE", "clang::ASTContext::getVariableArrayDecayedType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext26getDependentSizedArrayTypeENS_8QualTypeEPNS_4ExprENS_9ArrayType17ArraySizeModifierEjNS_11SourceRangeE", "clang::ASTContext::getDependentSizedArrayType(clang::QualType, clang::Expr*, clang::ArrayType::ArraySizeModifier, unsigned int, clang::SourceRange) const"},
-    {"_ZNK5clang10ASTContext20getVariableArrayTypeENS_8QualTypeEPNS_4ExprENS_9ArrayType17ArraySizeModifierEjNS_11SourceRangeE", "clang::ASTContext::getVariableArrayType(clang::QualType, clang::Expr*, clang::ArrayType::ArraySizeModifier, unsigned int, clang::SourceRange) const"},
-    {"_ZNK5clang10ASTContext22getIncompleteArrayTypeENS_8QualTypeENS_9ArrayType17ArraySizeModifierEj", "clang::ASTContext::getIncompleteArrayType(clang::QualType, clang::ArrayType::ArraySizeModifier, unsigned int) const"},
-    {"_ZNK5clang10ASTContext13getVectorTypeENS_8QualTypeEjNS_10VectorType10VectorKindE", "clang::ASTContext::getVectorType(clang::QualType, unsigned int, clang::VectorType::VectorKind) const"},
-    {"_ZNK5clang10ASTContext16getExtVectorTypeENS_8QualTypeEj", "clang::ASTContext::getExtVectorType(clang::QualType, unsigned int) const"},
-    {"_ZNK5clang10ASTContext30getDependentSizedExtVectorTypeENS_8QualTypeEPNS_4ExprENS_14SourceLocationE", "clang::ASTContext::getDependentSizedExtVectorType(clang::QualType, clang::Expr*, clang::SourceLocation) const"},
-    {"_ZNK5clang10ASTContext21getCanonicalParamTypeENS_8QualTypeE", "clang::ASTContext::getCanonicalParamType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext24getInjectedClassNameTypeEPNS_13CXXRecordDeclENS_8QualTypeE", "clang::ASTContext::getInjectedClassNameType(clang::CXXRecordDecl*, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext19getTypeDeclTypeSlowEPKNS_8TypeDeclE", "clang::ASTContext::getTypeDeclTypeSlow(clang::TypeDecl const*) const"},
-    {"_ZNK5clang10ASTContext14getTypedefTypeEPKNS_11TypedefDeclENS_8QualTypeE", "clang::ASTContext::getTypedefType(clang::TypedefDecl const*, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext13getRecordTypeEPKNS_10RecordDeclE", "clang::ASTContext::getRecordType(clang::RecordDecl const*) const"},
-    {"_ZNK5clang10ASTContext11getEnumTypeEPKNS_8EnumDeclE", "clang::ASTContext::getEnumType(clang::EnumDecl const*) const"},
-    {"_ZN5clang10ASTContext17getAttributedTypeENS_14AttributedType4KindENS_8QualTypeES3_", "clang::ASTContext::getAttributedType(clang::AttributedType::Kind, clang::QualType, clang::QualType)"},
-    {"_ZNK5clang10ASTContext28getSubstTemplateTypeParmTypeEPKNS_20TemplateTypeParmTypeENS_8QualTypeE", "clang::ASTContext::getSubstTemplateTypeParmType(clang::TemplateTypeParmType const*, clang::QualType) const"},
-    {"_ZN5clang10ASTContext32getSubstTemplateTypeParmPackTypeEPKNS_20TemplateTypeParmTypeERKNS_16TemplateArgumentE", "clang::ASTContext::getSubstTemplateTypeParmPackType(clang::TemplateTypeParmType const*, clang::TemplateArgument const&)"},
-    {"_ZNK5clang10ASTContext23getTemplateTypeParmTypeEjjbPNS_14IdentifierInfoE", "clang::ASTContext::getTemplateTypeParmType(unsigned int, unsigned int, bool, clang::IdentifierInfo*) const"},
-    {"_ZNK5clang10ASTContext33getTemplateSpecializationTypeInfoENS_12TemplateNameENS_14SourceLocationERKNS_24TemplateArgumentListInfoENS_8QualTypeE", "clang::ASTContext::getTemplateSpecializationTypeInfo(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo const&, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext29getTemplateSpecializationTypeENS_12TemplateNameERKNS_24TemplateArgumentListInfoENS_8QualTypeE", "clang::ASTContext::getTemplateSpecializationType(clang::TemplateName, clang::TemplateArgumentListInfo const&, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext29getTemplateSpecializationTypeENS_12TemplateNameEPKNS_16TemplateArgumentEjNS_8QualTypeE", "clang::ASTContext::getTemplateSpecializationType(clang::TemplateName, clang::TemplateArgument const*, unsigned int, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext38getCanonicalTemplateSpecializationTypeENS_12TemplateNameEPKNS_16TemplateArgumentEj", "clang::ASTContext::getCanonicalTemplateSpecializationType(clang::TemplateName, clang::TemplateArgument const*, unsigned int) const"},
-    {"_ZNK5clang10ASTContext24getCanonicalTemplateNameENS_12TemplateNameE", "clang::ASTContext::getCanonicalTemplateName(clang::TemplateName) const"},
-    {"_ZNK5clang10ASTContext28getCanonicalTemplateArgumentERKNS_16TemplateArgumentE", "clang::ASTContext::getCanonicalTemplateArgument(clang::TemplateArgument const&) const"},
-    {"_ZNK5clang10ASTContext17getElaboratedTypeENS_21ElaboratedTypeKeywordEPNS_19NestedNameSpecifierENS_8QualTypeE", "clang::ASTContext::getElaboratedType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifier*, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext12getParenTypeENS_8QualTypeE", "clang::ASTContext::getParenType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext20getDependentNameTypeENS_21ElaboratedTypeKeywordEPNS_19NestedNameSpecifierEPKNS_14IdentifierInfoENS_8QualTypeE", "clang::ASTContext::getDependentNameType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifier*, clang::IdentifierInfo const*, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext31getCanonicalNestedNameSpecifierEPNS_19NestedNameSpecifierE", "clang::ASTContext::getCanonicalNestedNameSpecifier(clang::NestedNameSpecifier*) const"},
-    {"_ZNK5clang10ASTContext38getDependentTemplateSpecializationTypeENS_21ElaboratedTypeKeywordEPNS_19NestedNameSpecifierEPKNS_14IdentifierInfoERKNS_24TemplateArgumentListInfoE", "clang::ASTContext::getDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifier*, clang::IdentifierInfo const*, clang::TemplateArgumentListInfo const&) const"},
-    {"_ZNK5clang10ASTContext38getDependentTemplateSpecializationTypeENS_21ElaboratedTypeKeywordEPNS_19NestedNameSpecifierEPKNS_14IdentifierInfoEjPKNS_16TemplateArgumentE", "clang::ASTContext::getDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifier*, clang::IdentifierInfo const*, unsigned int, clang::TemplateArgument const*) const"},
-    {"_ZN5clang10ASTContext20getPackExpansionTypeENS_8QualTypeEN4llvm8OptionalIjEE", "clang::ASTContext::getPackExpansionType(clang::QualType, llvm::Optional<unsigned int>)"},
-    {"_ZNK5clang10ASTContext17getObjCObjectTypeENS_8QualTypeEPKPNS_16ObjCProtocolDeclEj", "clang::ASTContext::getObjCObjectType(clang::QualType, clang::ObjCProtocolDecl* const*, unsigned int) const"},
-    {"_ZNK5clang10ASTContext24getObjCObjectPointerTypeENS_8QualTypeE", "clang::ASTContext::getObjCObjectPointerType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext20getObjCInterfaceTypeEPKNS_17ObjCInterfaceDeclE", "clang::ASTContext::getObjCInterfaceType(clang::ObjCInterfaceDecl const*) const"},
-    {"_ZNK5clang10ASTContext17getTypeOfExprTypeEPNS_4ExprE", "clang::ASTContext::getTypeOfExprType(clang::Expr*) const"},
-    {"_ZNK5clang10ASTContext13getTypeOfTypeENS_8QualTypeE", "clang::ASTContext::getTypeOfType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext15getDecltypeTypeEPNS_4ExprE", "clang::ASTContext::getDecltypeType(clang::Expr*) const"},
-    {"_ZNK5clang10ASTContext14getTagDeclTypeEPKNS_7TagDeclE", "clang::ASTContext::getTagDeclType(clang::TagDecl const*) const"},
-    {"_ZNK5clang10ASTContext11getSizeTypeEv", "clang::ASTContext::getSizeType() const"},
-    {"_ZNK5clang10ASTContext18getSignedWCharTypeEv", "clang::ASTContext::getSignedWCharType() const"},
-    {"_ZNK5clang10ASTContext20getUnsignedWCharTypeEv", "clang::ASTContext::getUnsignedWCharType() const"},
-    {"_ZNK5clang10ASTContext19getArrayDecayedTypeENS_8QualTypeE", "clang::ASTContext::getArrayDecayedType(clang::QualType) const"},
-    {"_ZN5clang10ASTContext23getUnqualifiedArrayTypeENS_8QualTypeERNS_10QualifiersE", "clang::ASTContext::getUnqualifiedArrayType(clang::QualType, clang::Qualifiers&)"},
-    {"_ZN5clang10ASTContext25UnwrapSimilarPointerTypesERNS_8QualTypeES2_", "clang::ASTContext::UnwrapSimilarPointerTypes(clang::QualType&, clang::QualType&)"},
-    {"_ZNK5clang10ASTContext18getNameForTemplateENS_12TemplateNameENS_14SourceLocationE", "clang::ASTContext::getNameForTemplate(clang::TemplateName, clang::SourceLocation) const"},
-    {"_ZNK5clang10ASTContext32getSubstTemplateTemplateParmPackEPNS_24TemplateTemplateParmDeclERKNS_16TemplateArgumentE", "clang::ASTContext::getSubstTemplateTemplateParmPack(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&) const"},
-    {"_ZN5clang10ASTContext19hasSameTemplateNameENS_12TemplateNameES1_", "clang::ASTContext::hasSameTemplateName(clang::TemplateName, clang::TemplateName)"},
-    {"_ZNK5clang10ASTContext24getDependentTemplateNameEPNS_19NestedNameSpecifierEPKNS_14IdentifierInfoE", "clang::ASTContext::getDependentTemplateName(clang::NestedNameSpecifier*, clang::IdentifierInfo const*) const"},
-    {"_ZNK5clang10ASTContext18getBaseElementTypeENS_8QualTypeE", "clang::ASTContext::getBaseElementType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext28getConstantArrayElementCountEPKNS_17ConstantArrayTypeE", "clang::ASTContext::getConstantArrayElementCount(clang::ConstantArrayType const*) const"},
-    {"_ZNK5clang10ASTContext33getFloatingTypeOfSizeWithinDomainENS_8QualTypeES1_", "clang::ASTContext::getFloatingTypeOfSizeWithinDomain(clang::QualType, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext20getFloatingTypeOrderENS_8QualTypeES1_", "clang::ASTContext::getFloatingTypeOrder(clang::QualType, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext14getIntegerRankEPKNS_4TypeE", "clang::ASTContext::getIntegerRank(clang::Type const*) const"},
-    {"_ZNK5clang10ASTContext11getIntWidthENS_8QualTypeE", "clang::ASTContext::getIntWidth(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext20isPromotableBitFieldEPNS_4ExprE", "clang::ASTContext::isPromotableBitField(clang::Expr*) const"},
-    {"_ZNK5clang10ASTContext22getPromotedIntegerTypeENS_8QualTypeE", "clang::ASTContext::getPromotedIntegerType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext19getIntegerTypeOrderENS_8QualTypeES1_", "clang::ASTContext::getIntegerTypeOrder(clang::QualType, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext23getCFConstantStringTypeEv", "clang::ASTContext::getCFConstantStringType() const"},
-    {"_ZN5clang10ASTContext23setCFConstantStringTypeENS_8QualTypeE", "clang::ASTContext::setCFConstantStringType(clang::QualType)"},
-    {"_ZNK5clang10ASTContext23getNSConstantStringTypeEv", "clang::ASTContext::getNSConstantStringType() const"},
-    {"_ZN5clang10ASTContext23setNSConstantStringTypeENS_8QualTypeE", "clang::ASTContext::setNSConstantStringType(clang::QualType)"},
-    {"_ZNK5clang10ASTContext31getObjCFastEnumerationStateTypeEv", "clang::ASTContext::getObjCFastEnumerationStateType() const"},
-    {"_ZNK5clang10ASTContext22getBlockDescriptorTypeEv", "clang::ASTContext::getBlockDescriptorType() const"},
-    {"_ZN5clang10ASTContext22setBlockDescriptorTypeENS_8QualTypeE", "clang::ASTContext::setBlockDescriptorType(clang::QualType)"},
-    {"_ZNK5clang10ASTContext30getBlockDescriptorExtendedTypeEv", "clang::ASTContext::getBlockDescriptorExtendedType() const"},
-    {"_ZN5clang10ASTContext30setBlockDescriptorExtendedTypeENS_8QualTypeE", "clang::ASTContext::setBlockDescriptorExtendedType(clang::QualType)"},
-    {"_ZNK5clang10ASTContext20BlockRequiresCopyingENS_8QualTypeE", "clang::ASTContext::BlockRequiresCopying(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext18isObjCNSObjectTypeENS_8QualTypeE", "clang::ASTContext::isObjCNSObjectType(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext14BuildByRefTypeEN4llvm9StringRefENS_8QualTypeE", "clang::ASTContext::BuildByRefType(llvm::StringRef, clang::QualType) const"},
-    {"_ZNK5clang10ASTContext16getBlockParmTypeEbRN4llvm15SmallVectorImplIPKNS_4ExprEEE", "clang::ASTContext::getBlockParmType(bool, llvm::SmallVectorImpl<clang::Expr const*>&) const"},
-    {"_ZN5clang10ASTContext31setObjCFastEnumerationStateTypeENS_8QualTypeE", "clang::ASTContext::setObjCFastEnumerationStateType(clang::QualType)"},
-    {"_ZNK5clang10ASTContext23getObjCEncodingTypeSizeENS_8QualTypeE", "clang::ASTContext::getObjCEncodingTypeSize(clang::QualType) const"},
-    {"_ZNK5clang10ASTContext23getObjCEncodingForBlockEPKNS_9BlockExprE", "clang::ASTContext::getObjCEncodingForBlock(clang::BlockExpr const*) const"},
-    {"_ZNK5clang10ASTContext22getObjCEncodingForTypeENS_8QualTypeERSsPKNS_9FieldDeclE", "clang::ASTContext::getObjCEncodingForType(clang::QualType, std::string&, clang::FieldDecl const*) const"},
-    {"_Z17charUnitsToStringRKN5clang9CharUnitsE", "charUnitsToString(clang::CharUnits const&)"},
-    {"_ZN5clang10ASTContext30getObjCEncodingForFunctionDeclEPKNS_12FunctionDeclERSs", "clang::ASTContext::getObjCEncodingForFunctionDecl(clang::FunctionDecl const*, std::string&)"},
-    {"_ZNK5clang10ASTContext28getObjCEncodingForMethodDeclEPKNS_14ObjCMethodDeclERSs", "clang::ASTContext::getObjCEncodingForMethodDecl(clang::ObjCMethodDecl const*, std::string&) const"},
-    {"_ZNK5clang10ASTContext31getObjCEncodingForTypeQualifierENS_4Decl17ObjCDeclQualifierERSs", "clang::ASTContext::getObjCEncodingForTypeQualifier(clang::Decl::ObjCDeclQualifier, std::string&) const"},
-    {"_ZNK5clang10ASTContext30getObjCEncodingForPropertyDeclEPKNS_16ObjCPropertyDeclEPKNS_4DeclERSs", "clang::ASTContext::getObjCEncodingForPropertyDecl(clang::ObjCPropertyDecl const*, clang::Decl const*, std::string&) const"},
-    {"_ZNK5clang10ASTContext26getObjCEncodingForTypeImplENS_8QualTypeERSsbbPKNS_9FieldDeclEbb", "clang::ASTContext::getObjCEncodingForTypeImpl(clang::QualType, std::string&, bool, bool, clang::FieldDecl const*, bool, bool) const"},
-    {"_ZNK5clang10ASTContext29getLegacyIntegralTypeEncodingERNS_8QualTypeE", "clang::ASTContext::getLegacyIntegralTypeEncoding(clang::QualType&) const"},
-    {"_Z14EncodeBitFieldPKN5clang10ASTContextERSsNS_8QualTypeEPKNS_9FieldDeclE", "EncodeBitField(clang::ASTContext const*, std::string&, clang::QualType, clang::FieldDecl const*)"},
-    {"_Z28ObjCEncodingForPrimitiveKindPKN5clang10ASTContextENS_8QualTypeE", "ObjCEncodingForPrimitiveKind(clang::ASTContext const*, clang::QualType)"},
-    {"_ZN5clang10ASTContext20setBuiltinVaListTypeENS_8QualTypeE", "clang::ASTContext::setBuiltinVaListType(clang::QualType)"},
-    {"_ZN5clang10ASTContext13setObjCIdTypeENS_8QualTypeE", "clang::ASTContext::setObjCIdType(clang::QualType)"},
-    {"_ZN5clang10ASTContext14setObjCSelTypeENS_8QualTypeE", "clang::ASTContext::setObjCSelType(clang::QualType)"},
-    {"_ZN5clang10ASTContext16setObjCProtoTypeENS_8QualTypeE", "clang::ASTContext::setObjCProtoType(clang::QualType)"},
-    {"_ZN5clang10ASTContext16setObjCClassTypeENS_8QualTypeE", "clang::ASTContext::setObjCClassType(clang::QualType)"},
-    {"_ZN5clang10ASTContext30setObjCConstantStringInterfaceEPNS_17ObjCInterfaceDeclE", "clang::ASTContext::setObjCConstantStringInterface(clang::ObjCInterfaceDecl*)"},
-    {"_ZNK5clang10ASTContext25getOverloadedTemplateNameENS_21UnresolvedSetIteratorES1_", "clang::ASTContext::getOverloadedTemplateName(clang::UnresolvedSetIterator, clang::UnresolvedSetIterator) const"},
-    {"_ZNK5clang10ASTContext24getQualifiedTemplateNameEPNS_19NestedNameSpecifierEbPNS_12TemplateDeclE", "clang::ASTContext::getQualifiedTemplateName(clang::NestedNameSpecifier*, bool, clang::TemplateDecl*) const"},
-    {"_ZNK5clang10ASTContext24getDependentTemplateNameEPNS_19NestedNameSpecifierENS_22OverloadedOperatorKindE", "clang::ASTContext::getDependentTemplateName(clang::NestedNameSpecifier*, clang::OverloadedOperatorKind) const"},
-    {"_ZNK5clang10ASTContext17getObjCGCAttrKindENS_8QualTypeE", "clang::ASTContext::getObjCGCAttrKind(clang::QualType) const"},
-    {"_ZN5clang10ASTContext24areCompatibleVectorTypesENS_8QualTypeES1_", "clang::ASTContext::areCompatibleVectorTypes(clang::QualType, clang::QualType)"},
-    {"_ZNK5clang10ASTContext30ProtocolCompatibleWithProtocolEPNS_16ObjCProtocolDeclES2_", "clang::ASTContext::ProtocolCompatibleWithProtocol(clang::ObjCProtocolDecl*, clang::ObjCProtocolDecl*) const"},
-    {"_ZN5clang10ASTContext30QualifiedIdConformsQualifiedIdENS_8QualTypeES1_", "clang::ASTContext::QualifiedIdConformsQualifiedId(clang::QualType, clang::QualType)"},
-    {"_ZN5clang10ASTContext33ObjCQualifiedIdTypesAreCompatibleENS_8QualTypeES1_b", "clang::ASTContext::ObjCQualifiedIdTypesAreCompatible(clang::QualType, clang::QualType, bool)"},
-    {"_ZN5clang10ASTContext36ObjCQualifiedClassTypesAreCompatibleENS_8QualTypeES1_", "clang::ASTContext::ObjCQualifiedClassTypesAreCompatible(clang::QualType, clang::QualType)"},
-    {"_ZN5clang10ASTContext23canAssignObjCInterfacesEPKNS_21ObjCObjectPointerTypeES3_", "clang::ASTContext::canAssignObjCInterfaces(clang::ObjCObjectPointerType const*, clang::ObjCObjectPointerType const*)"},
-    {"_ZN5clang10ASTContext23canAssignObjCInterfacesEPKNS_14ObjCObjectTypeES3_", "clang::ASTContext::canAssignObjCInterfaces(clang::ObjCObjectType const*, clang::ObjCObjectType const*)"},
-    {"_ZN5clang10ASTContext37canAssignObjCInterfacesInBlockPointerEPKNS_21ObjCObjectPointerTypeES3_", "clang::ASTContext::canAssignObjCInterfacesInBlockPointer(clang::ObjCObjectPointerType const*, clang::ObjCObjectPointerType const*)"},
-    {"_ZN5clang10ASTContext23areCommonBaseCompatibleEPKNS_21ObjCObjectPointerTypeES3_", "clang::ASTContext::areCommonBaseCompatible(clang::ObjCObjectPointerType const*, clang::ObjCObjectPointerType const*)"},
-    {"_ZN5clang10ASTContext29areComparableObjCPointerTypesENS_8QualTypeES1_", "clang::ASTContext::areComparableObjCPointerTypes(clang::QualType, clang::QualType)"},
-    {"_ZN5clang10ASTContext21canBindObjCObjectTypeENS_8QualTypeES1_", "clang::ASTContext::canBindObjCObjectType(clang::QualType, clang::QualType)"},
-    {"_ZN5clang10ASTContext18typesAreCompatibleENS_8QualTypeES1_b", "clang::ASTContext::typesAreCompatible(clang::QualType, clang::QualType, bool)"},
-    {"_ZN5clang10ASTContext10mergeTypesENS_8QualTypeES1_bb", "clang::ASTContext::mergeTypes(clang::QualType, clang::QualType, bool, bool)"},
-    {"_ZN5clang10ASTContext30typesAreBlockPointerCompatibleENS_8QualTypeES1_", "clang::ASTContext::typesAreBlockPointerCompatible(clang::QualType, clang::QualType)"},
-    {"_ZN5clang10ASTContext25mergeTransparentUnionTypeENS_8QualTypeES1_bb", "clang::ASTContext::mergeTransparentUnionType(clang::QualType, clang::QualType, bool, bool)"},
-    {"_ZN5clang10ASTContext26mergeFunctionArgumentTypesENS_8QualTypeES1_bb", "clang::ASTContext::mergeFunctionArgumentTypes(clang::QualType, clang::QualType, bool, bool)"},
-    {"_ZN5clang10ASTContext18mergeFunctionTypesENS_8QualTypeES1_bb", "clang::ASTContext::mergeFunctionTypes(clang::QualType, clang::QualType, bool, bool)"},
-    {"_ZN5clang10ASTContext21mergeObjCGCQualifiersENS_8QualTypeES1_", "clang::ASTContext::mergeObjCGCQualifiers(clang::QualType, clang::QualType)"},
-    {"_ZN5clang10ASTContext28getCorrespondingUnsignedTypeENS_8QualTypeE", "clang::ASTContext::getCorrespondingUnsignedType(clang::QualType)"},
-    {"_ZN5clang17ExternalASTSourceD0Ev", "clang::ExternalASTSource::~ExternalASTSource()"},
-    {"_ZN5clang17ExternalASTSourceD1Ev", "clang::ExternalASTSource::~ExternalASTSource()"},
-    {"_ZN5clang17ExternalASTSourceD2Ev", "clang::ExternalASTSource::~ExternalASTSource()"},
-    {"_ZN5clang17ExternalASTSource10PrintStatsEv", "clang::ExternalASTSource::PrintStats()"},
-    {"_ZN5clang19ASTMutationListenerD0Ev", "clang::ASTMutationListener::~ASTMutationListener()"},
-    {"_ZN5clang19ASTMutationListenerD1Ev", "clang::ASTMutationListener::~ASTMutationListener()"},
-    {"_ZN5clang19ASTMutationListenerD2Ev", "clang::ASTMutationListener::~ASTMutationListener()"},
-    {"_ZNK5clang10ASTContext14GetBuiltinTypeEjRNS0_19GetBuiltinTypeErrorEPj", "clang::ASTContext::GetBuiltinType(unsigned int, clang::ASTContext::GetBuiltinTypeError&, unsigned int*) const"},
-    {"_Z17DecodeTypeFromStrRPKcRKN5clang10ASTContextERNS3_19GetBuiltinTypeErrorERbb", "DecodeTypeFromStr(char const*&, clang::ASTContext const&, clang::ASTContext::GetBuiltinTypeError&, bool&, bool)"},
-    {"_ZN5clang10ASTContext24GetGVALinkageForFunctionEPKNS_12FunctionDeclE", "clang::ASTContext::GetGVALinkageForFunction(clang::FunctionDecl const*)"},
-    {"_ZN5clang10ASTContext24GetGVALinkageForVariableEPKNS_7VarDeclE", "clang::ASTContext::GetGVALinkageForVariable(clang::VarDecl const*)"},
-    {"_ZN5clang10ASTContext17DeclMustBeEmittedEPKNS_4DeclE", "clang::ASTContext::DeclMustBeEmitted(clang::Decl const*)"},
-    {"_ZN5clang10ASTContext24getDefaultMethodCallConvEv", "clang::ASTContext::getDefaultMethodCallConv()"},
-    {"_ZNK5clang10ASTContext13isNearlyEmptyEPKNS_13CXXRecordDeclE", "clang::ASTContext::isNearlyEmpty(clang::CXXRecordDecl const*) const"},
-    {"_ZN5clang10ASTContext19createMangleContextEv", "clang::ASTContext::createMangleContext()"},
-    {"_ZN5clang6CXXABID0Ev", "clang::CXXABI::~CXXABI()"},
-    {"_ZN5clang6CXXABID1Ev", "clang::CXXABI::~CXXABI()"},
-    {"_ZN5clang6CXXABID2Ev", "clang::CXXABI::~CXXABI()"},
-    {"_Z16CmpProtocolNamesPKN5clang16ObjCProtocolDeclES2_", "CmpProtocolNames(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*)"},
-    {"_ZN4llvm10FoldingSetIN5clang10ASTContext29CanonicalTemplateTemplateParmEED1Ev", "llvm::FoldingSet<clang::ASTContext::CanonicalTemplateTemplateParm>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang19NestedNameSpecifierEED1Ev", "llvm::FoldingSet<clang::NestedNameSpecifier>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang36SubstTemplateTemplateParmPackStorageEED1Ev", "llvm::FoldingSet<clang::SubstTemplateTemplateParmPackStorage>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang21DependentTemplateNameEED1Ev", "llvm::FoldingSet<clang::DependentTemplateName>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang21QualifiedTemplateNameEED1Ev", "llvm::FoldingSet<clang::QualifiedTemplateName>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang14AttributedTypeEED1Ev", "llvm::FoldingSet<clang::AttributedType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang21ObjCObjectPointerTypeEED1Ev", "llvm::FoldingSet<clang::ObjCObjectPointerType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang18ObjCObjectTypeImplEED1Ev", "llvm::FoldingSet<clang::ObjCObjectTypeImpl>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang17PackExpansionTypeEED1Ev", "llvm::FoldingSet<clang::PackExpansionType>::~FoldingSet()"},
-    {"_ZN4llvm20ContextualFoldingSetIN5clang35DependentTemplateSpecializationTypeERNS1_10ASTContextEED1Ev", "llvm::ContextualFoldingSet<clang::DependentTemplateSpecializationType, clang::ASTContext&>::~ContextualFoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang17DependentNameTypeEED1Ev", "llvm::FoldingSet<clang::DependentNameType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang14ElaboratedTypeEED1Ev", "llvm::FoldingSet<clang::ElaboratedType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang9ParenTypeEED1Ev", "llvm::FoldingSet<clang::ParenType>::~FoldingSet()"},
-    {"_ZN4llvm20ContextualFoldingSetIN5clang26TemplateSpecializationTypeERNS1_10ASTContextEED1Ev", "llvm::ContextualFoldingSet<clang::TemplateSpecializationType, clang::ASTContext&>::~ContextualFoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang29SubstTemplateTypeParmPackTypeEED1Ev", "llvm::FoldingSet<clang::SubstTemplateTypeParmPackType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang25SubstTemplateTypeParmTypeEED1Ev", "llvm::FoldingSet<clang::SubstTemplateTypeParmType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang20TemplateTypeParmTypeEED1Ev", "llvm::FoldingSet<clang::TemplateTypeParmType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang21DependentDecltypeTypeEED1Ev", "llvm::FoldingSet<clang::DependentDecltypeType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang23DependentTypeOfExprTypeEED1Ev", "llvm::FoldingSet<clang::DependentTypeOfExprType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang17FunctionProtoTypeEED1Ev", "llvm::FoldingSet<clang::FunctionProtoType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang19FunctionNoProtoTypeEED1Ev", "llvm::FoldingSet<clang::FunctionNoProtoType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang10VectorTypeEED1Ev", "llvm::FoldingSet<clang::VectorType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang27DependentSizedExtVectorTypeEED1Ev", "llvm::FoldingSet<clang::DependentSizedExtVectorType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang23DependentSizedArrayTypeEED1Ev", "llvm::FoldingSet<clang::DependentSizedArrayType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang19IncompleteArrayTypeEED1Ev", "llvm::FoldingSet<clang::IncompleteArrayType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang17ConstantArrayTypeEED1Ev", "llvm::FoldingSet<clang::ConstantArrayType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang17MemberPointerTypeEED1Ev", "llvm::FoldingSet<clang::MemberPointerType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang19RValueReferenceTypeEED1Ev", "llvm::FoldingSet<clang::RValueReferenceType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang19LValueReferenceTypeEED1Ev", "llvm::FoldingSet<clang::LValueReferenceType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang16BlockPointerTypeEED1Ev", "llvm::FoldingSet<clang::BlockPointerType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang11PointerTypeEED1Ev", "llvm::FoldingSet<clang::PointerType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang11ComplexTypeEED1Ev", "llvm::FoldingSet<clang::ComplexType>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang8ExtQualsEED1Ev", "llvm::FoldingSet<clang::ExtQuals>::~FoldingSet()"},
-    {"_ZN5clang20UsuallyTinyPtrVectorIKNS_13CXXMethodDeclEE9push_backEPS2_", "clang::UsuallyTinyPtrVector<clang::CXXMethodDecl const>::push_back(clang::CXXMethodDecl const*)"},
-    {"_ZNK5clang4Decl15getMaxAlignmentEv", "clang::Decl::getMaxAlignment() const"},
-    {"_ZNK5clang16ObjCCategoryDecl9ivar_sizeEv", "clang::ObjCCategoryDecl::ivar_size() const"},
-    {"_ZNK5clang22ObjCImplementationDecl9ivar_sizeEv", "clang::ObjCImplementationDecl::ivar_size() const"},
-    {"_ZN4llvm15SmallVectorImplIN5clang16TemplateArgumentEE9push_backERKS2_", "llvm::SmallVectorImpl<clang::TemplateArgument>::push_back(clang::TemplateArgument const&)"},
-    {"_ZN5clang16TemplateArgumentaSERKS0_", "clang::TemplateArgument::operator=(clang::TemplateArgument const&)"},
-    {"_ZNK5clang4Decl7getAttrINS_16ObjCNSObjectAttrEEEPT_v", "clang::ObjCNSObjectAttr* clang::Decl::getAttr<clang::ObjCNSObjectAttr>() const"},
-    {"_ZNK5clang4Type17isObjCBuiltinTypeEv", "clang::Type::isObjCBuiltinType() const"},
-    {"_ZN5clang17ExternalASTSource12CompleteTypeEPNS_7TagDeclE", "clang::ExternalASTSource::CompleteType(clang::TagDecl*)"},
-    {"_ZN5clang17ExternalASTSource12CompleteTypeEPNS_17ObjCInterfaceDeclE", "clang::ExternalASTSource::CompleteType(clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang17ExternalASTSource20StartedDeserializingEv", "clang::ExternalASTSource::StartedDeserializing()"},
-    {"_ZN5clang17ExternalASTSource21FinishedDeserializingEv", "clang::ExternalASTSource::FinishedDeserializing()"},
-    {"_ZN5clang17ExternalASTSource20StartTranslationUnitEPNS_11ASTConsumerE", "clang::ExternalASTSource::StartTranslationUnit(clang::ASTConsumer*)"},
-    {"_ZN5clang19ASTMutationListener22CompletedTagDefinitionEPKNS_7TagDeclE", "clang::ASTMutationListener::CompletedTagDefinition(clang::TagDecl const*)"},
-    {"_ZN5clang19ASTMutationListener16AddedVisibleDeclEPKNS_11DeclContextEPKNS_4DeclE", "clang::ASTMutationListener::AddedVisibleDecl(clang::DeclContext const*, clang::Decl const*)"},
-    {"_ZN5clang19ASTMutationListener22AddedCXXImplicitMemberEPKNS_13CXXRecordDeclEPKNS_4DeclE", "clang::ASTMutationListener::AddedCXXImplicitMember(clang::CXXRecordDecl const*, clang::Decl const*)"},
-    {"_ZN5clang19ASTMutationListener30AddedCXXTemplateSpecializationEPKNS_17ClassTemplateDeclEPKNS_31ClassTemplateSpecializationDeclE", "clang::ASTMutationListener::AddedCXXTemplateSpecialization(clang::ClassTemplateDecl const*, clang::ClassTemplateSpecializationDecl const*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang16TemplateArgumentELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::TemplateArgument, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang16TemplateArgumentELb0EE18uninitialized_copyIPS2_S5_EEvT_S6_T0_", "void llvm::SmallVectorTemplateBase<clang::TemplateArgument, false>::uninitialized_copy<clang::TemplateArgument*, clang::TemplateArgument*>(clang::TemplateArgument*, clang::TemplateArgument*, clang::TemplateArgument*)"},
-    {"_ZNSt6vectorIPN5clang17VariableArrayTypeESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::VariableArrayType*, std::allocator<clang::VariableArrayType*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::VariableArrayType**, std::vector<clang::VariableArrayType*, std::allocator<clang::VariableArrayType*> > >, clang::VariableArrayType* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEPNS1_4ExprENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::VarDecl const*, clang::Expr*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<clang::Expr*> >::InsertIntoBucket(clang::VarDecl const* const&, clang::Expr* const&, std::pair<clang::VarDecl const*, clang::Expr*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEPNS1_4ExprENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::VarDecl const*, clang::Expr*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<clang::Expr*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang17ObjCContainerDeclEPNS1_12ObjCImplDeclENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::ObjCContainerDecl*, clang::ObjCImplDecl*, llvm::DenseMapInfo<clang::ObjCContainerDecl*>, llvm::DenseMapInfo<clang::ObjCImplDecl*> >::InsertIntoBucket(clang::ObjCContainerDecl* const&, clang::ObjCImplDecl* const&, std::pair<clang::ObjCContainerDecl*, clang::ObjCImplDecl*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang17ObjCContainerDeclEPNS1_12ObjCImplDeclENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::ObjCContainerDecl*, clang::ObjCImplDecl*, llvm::DenseMapInfo<clang::ObjCContainerDecl*>, llvm::DenseMapInfo<clang::ObjCImplDecl*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPKN5clang13CXXMethodDeclESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<clang::CXXMethodDecl const*, std::allocator<clang::CXXMethodDecl const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CXXMethodDecl const**, std::vector<clang::CXXMethodDecl const*, std::allocator<clang::CXXMethodDecl const*> > >, clang::CXXMethodDecl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS1_20UsuallyTinyPtrVectorIS3_EENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::CXXMethodDecl const*, clang::UsuallyTinyPtrVector<clang::CXXMethodDecl const>, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<clang::UsuallyTinyPtrVector<clang::CXXMethodDecl const> > >::InsertIntoBucket(clang::CXXMethodDecl const* const&, clang::UsuallyTinyPtrVector<clang::CXXMethodDecl const> const&, std::pair<clang::CXXMethodDecl const*, clang::UsuallyTinyPtrVector<clang::CXXMethodDecl const> >*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS1_20UsuallyTinyPtrVectorIS3_EENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::CXXMethodDecl const*, clang::UsuallyTinyPtrVector<clang::CXXMethodDecl const>, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<clang::UsuallyTinyPtrVector<clang::CXXMethodDecl const> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang9FieldDeclES3_NS_12DenseMapInfoIS3_EES5_E16InsertIntoBucketERKS3_S8_PSt4pairIS3_S3_E", "llvm::DenseMap<clang::FieldDecl*, clang::FieldDecl*, llvm::DenseMapInfo<clang::FieldDecl*>, llvm::DenseMapInfo<clang::FieldDecl*> >::InsertIntoBucket(clang::FieldDecl* const&, clang::FieldDecl* const&, std::pair<clang::FieldDecl*, clang::FieldDecl*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang9FieldDeclES3_NS_12DenseMapInfoIS3_EES5_E4growEj", "llvm::DenseMap<clang::FieldDecl*, clang::FieldDecl*, llvm::DenseMapInfo<clang::FieldDecl*>, llvm::DenseMapInfo<clang::FieldDecl*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang15UsingShadowDeclES3_NS_12DenseMapInfoIS3_EES5_E16InsertIntoBucketERKS3_S8_PSt4pairIS3_S3_E", "llvm::DenseMap<clang::UsingShadowDecl*, clang::UsingShadowDecl*, llvm::DenseMapInfo<clang::UsingShadowDecl*>, llvm::DenseMapInfo<clang::UsingShadowDecl*> >::InsertIntoBucket(clang::UsingShadowDecl* const&, clang::UsingShadowDecl* const&, std::pair<clang::UsingShadowDecl*, clang::UsingShadowDecl*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang15UsingShadowDeclES3_NS_12DenseMapInfoIS3_EES5_E4growEj", "llvm::DenseMap<clang::UsingShadowDecl*, clang::UsingShadowDecl*, llvm::DenseMapInfo<clang::UsingShadowDecl*>, llvm::DenseMapInfo<clang::UsingShadowDecl*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang9UsingDeclEPNS1_9NamedDeclENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::UsingDecl*, clang::NamedDecl*, llvm::DenseMapInfo<clang::UsingDecl*>, llvm::DenseMapInfo<clang::NamedDecl*> >::InsertIntoBucket(clang::UsingDecl* const&, clang::NamedDecl* const&, std::pair<clang::UsingDecl*, clang::NamedDecl*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang9UsingDeclEPNS1_9NamedDeclENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::UsingDecl*, clang::NamedDecl*, llvm::DenseMapInfo<clang::UsingDecl*>, llvm::DenseMapInfo<clang::NamedDecl*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEPNS1_24MemberSpecializationInfoENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::VarDecl const*, clang::MemberSpecializationInfo*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<clang::MemberSpecializationInfo*> >::InsertIntoBucket(clang::VarDecl const* const&, clang::MemberSpecializationInfo* const&, std::pair<clang::VarDecl const*, clang::MemberSpecializationInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7VarDeclEPNS1_24MemberSpecializationInfoENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::VarDecl const*, clang::MemberSpecializationInfo*, llvm::DenseMapInfo<clang::VarDecl const*>, llvm::DenseMapInfo<clang::MemberSpecializationInfo*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEPNS_11SmallVectorIPNS1_4AttrELj2EEENS_12DenseMapInfoIS4_EENSA_IS9_EEE16InsertIntoBucketERKS4_RKS9_PSt4pairIS4_S9_E", "llvm::DenseMap<clang::Decl const*, llvm::SmallVector<clang::Attr*, 2u>*, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::Attr*, 2u>*> >::InsertIntoBucket(clang::Decl const* const&, llvm::SmallVector<clang::Attr*, 2u>* const&, std::pair<clang::Decl const*, llvm::SmallVector<clang::Attr*, 2u>*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4DeclEPNS_11SmallVectorIPNS1_4AttrELj2EEENS_12DenseMapInfoIS4_EENSA_IS9_EEE4growEj", "llvm::DenseMap<clang::Decl const*, llvm::SmallVector<clang::Attr*, 2u>*, llvm::DenseMapInfo<clang::Decl const*>, llvm::DenseMapInfo<llvm::SmallVector<clang::Attr*, 2u>*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN5clang4TypeESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::Type*, std::allocator<clang::Type*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::Type**, std::vector<clang::Type*, std::allocator<clang::Type*> > >, clang::Type* const&)"},
-    {"_ZN4llvm10FoldingSetIN5clang10ASTContext29CanonicalTemplateTemplateParmEED0Ev", "llvm::FoldingSet<clang::ASTContext::CanonicalTemplateTemplateParm>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang10ASTContext29CanonicalTemplateTemplateParmEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ASTContext::CanonicalTemplateTemplateParm>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang10ASTContext29CanonicalTemplateTemplateParmEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS8_", "llvm::FoldingSet<clang::ASTContext::CanonicalTemplateTemplateParm>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang10ASTContext29CanonicalTemplateTemplateParmEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ASTContext::CanonicalTemplateTemplateParm>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang19NestedNameSpecifierEED0Ev", "llvm::FoldingSet<clang::NestedNameSpecifier>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang19NestedNameSpecifierEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::NestedNameSpecifier>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19NestedNameSpecifierEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::NestedNameSpecifier>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19NestedNameSpecifierEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::NestedNameSpecifier>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang36SubstTemplateTemplateParmPackStorageEED0Ev", "llvm::FoldingSet<clang::SubstTemplateTemplateParmPackStorage>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang36SubstTemplateTemplateParmPackStorageEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::SubstTemplateTemplateParmPackStorage>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang36SubstTemplateTemplateParmPackStorageEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::SubstTemplateTemplateParmPackStorage>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang36SubstTemplateTemplateParmPackStorageEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::SubstTemplateTemplateParmPackStorage>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang21DependentTemplateNameEED0Ev", "llvm::FoldingSet<clang::DependentTemplateName>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang21DependentTemplateNameEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentTemplateName>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang21DependentTemplateNameEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::DependentTemplateName>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang21DependentTemplateNameEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentTemplateName>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang21DependentTemplateName7ProfileERN4llvm16FoldingSetNodeIDE", "clang::DependentTemplateName::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN4llvm10FoldingSetIN5clang21QualifiedTemplateNameEED0Ev", "llvm::FoldingSet<clang::QualifiedTemplateName>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang21QualifiedTemplateNameEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::QualifiedTemplateName>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang21QualifiedTemplateNameEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::QualifiedTemplateName>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang21QualifiedTemplateNameEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::QualifiedTemplateName>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang14AttributedTypeEED0Ev", "llvm::FoldingSet<clang::AttributedType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang14AttributedTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::AttributedType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang14AttributedTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::AttributedType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang14AttributedTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::AttributedType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang21ObjCObjectPointerTypeEED0Ev", "llvm::FoldingSet<clang::ObjCObjectPointerType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang21ObjCObjectPointerTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ObjCObjectPointerType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang21ObjCObjectPointerTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ObjCObjectPointerType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang21ObjCObjectPointerTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ObjCObjectPointerType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang18ObjCObjectTypeImplEED0Ev", "llvm::FoldingSet<clang::ObjCObjectTypeImpl>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang18ObjCObjectTypeImplEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ObjCObjectTypeImpl>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang18ObjCObjectTypeImplEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ObjCObjectTypeImpl>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang18ObjCObjectTypeImplEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ObjCObjectTypeImpl>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang17PackExpansionTypeEED0Ev", "llvm::FoldingSet<clang::PackExpansionType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang17PackExpansionTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::PackExpansionType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17PackExpansionTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::PackExpansionType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17PackExpansionTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::PackExpansionType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang17DependentNameTypeEED0Ev", "llvm::FoldingSet<clang::DependentNameType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang17DependentNameTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentNameType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17DependentNameTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::DependentNameType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17DependentNameTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentNameType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang14ElaboratedTypeEED0Ev", "llvm::FoldingSet<clang::ElaboratedType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang14ElaboratedTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ElaboratedType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang14ElaboratedTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ElaboratedType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang14ElaboratedTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ElaboratedType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang9ParenTypeEED0Ev", "llvm::FoldingSet<clang::ParenType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang9ParenTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ParenType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang9ParenTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ParenType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang9ParenTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ParenType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang29SubstTemplateTypeParmPackTypeEED0Ev", "llvm::FoldingSet<clang::SubstTemplateTypeParmPackType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang29SubstTemplateTypeParmPackTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::SubstTemplateTypeParmPackType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang29SubstTemplateTypeParmPackTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::SubstTemplateTypeParmPackType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang29SubstTemplateTypeParmPackTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::SubstTemplateTypeParmPackType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang25SubstTemplateTypeParmTypeEED0Ev", "llvm::FoldingSet<clang::SubstTemplateTypeParmType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang25SubstTemplateTypeParmTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::SubstTemplateTypeParmType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang25SubstTemplateTypeParmTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::SubstTemplateTypeParmType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang25SubstTemplateTypeParmTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::SubstTemplateTypeParmType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang20TemplateTypeParmTypeEED0Ev", "llvm::FoldingSet<clang::TemplateTypeParmType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang20TemplateTypeParmTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::TemplateTypeParmType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang20TemplateTypeParmTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::TemplateTypeParmType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang20TemplateTypeParmTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::TemplateTypeParmType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang21DependentDecltypeTypeEED0Ev", "llvm::FoldingSet<clang::DependentDecltypeType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang21DependentDecltypeTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentDecltypeType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang21DependentDecltypeTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::DependentDecltypeType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang21DependentDecltypeTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentDecltypeType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang23DependentTypeOfExprTypeEED0Ev", "llvm::FoldingSet<clang::DependentTypeOfExprType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang23DependentTypeOfExprTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentTypeOfExprType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang23DependentTypeOfExprTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::DependentTypeOfExprType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang23DependentTypeOfExprTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentTypeOfExprType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang17FunctionProtoTypeEED0Ev", "llvm::FoldingSet<clang::FunctionProtoType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang17FunctionProtoTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::FunctionProtoType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17FunctionProtoTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::FunctionProtoType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17FunctionProtoTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::FunctionProtoType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang19FunctionNoProtoTypeEED0Ev", "llvm::FoldingSet<clang::FunctionNoProtoType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang19FunctionNoProtoTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::FunctionNoProtoType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19FunctionNoProtoTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::FunctionNoProtoType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19FunctionNoProtoTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::FunctionNoProtoType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang10VectorTypeEED0Ev", "llvm::FoldingSet<clang::VectorType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang10VectorTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::VectorType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang10VectorTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::VectorType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang10VectorTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::VectorType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang27DependentSizedExtVectorTypeEED0Ev", "llvm::FoldingSet<clang::DependentSizedExtVectorType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang27DependentSizedExtVectorTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentSizedExtVectorType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang27DependentSizedExtVectorTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::DependentSizedExtVectorType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang27DependentSizedExtVectorTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentSizedExtVectorType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang23DependentSizedArrayTypeEED0Ev", "llvm::FoldingSet<clang::DependentSizedArrayType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang23DependentSizedArrayTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentSizedArrayType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang23DependentSizedArrayTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::DependentSizedArrayType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang23DependentSizedArrayTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::DependentSizedArrayType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang19IncompleteArrayTypeEED0Ev", "llvm::FoldingSet<clang::IncompleteArrayType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang19IncompleteArrayTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::IncompleteArrayType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19IncompleteArrayTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::IncompleteArrayType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19IncompleteArrayTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::IncompleteArrayType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang17ConstantArrayTypeEED0Ev", "llvm::FoldingSet<clang::ConstantArrayType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang17ConstantArrayTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ConstantArrayType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17ConstantArrayTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ConstantArrayType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17ConstantArrayTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ConstantArrayType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang17MemberPointerTypeEED0Ev", "llvm::FoldingSet<clang::MemberPointerType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang17MemberPointerTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::MemberPointerType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17MemberPointerTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::MemberPointerType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang17MemberPointerTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::MemberPointerType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang19RValueReferenceTypeEED0Ev", "llvm::FoldingSet<clang::RValueReferenceType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang19RValueReferenceTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::RValueReferenceType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19RValueReferenceTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::RValueReferenceType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19RValueReferenceTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::RValueReferenceType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang19LValueReferenceTypeEED0Ev", "llvm::FoldingSet<clang::LValueReferenceType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang19LValueReferenceTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::LValueReferenceType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19LValueReferenceTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::LValueReferenceType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang19LValueReferenceTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::LValueReferenceType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang16BlockPointerTypeEED0Ev", "llvm::FoldingSet<clang::BlockPointerType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang16BlockPointerTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::BlockPointerType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang16BlockPointerTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::BlockPointerType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang16BlockPointerTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::BlockPointerType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang11PointerTypeEED0Ev", "llvm::FoldingSet<clang::PointerType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang11PointerTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::PointerType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang11PointerTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::PointerType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang11PointerTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::PointerType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang11ComplexTypeEED0Ev", "llvm::FoldingSet<clang::ComplexType>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang11ComplexTypeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ComplexType>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang11ComplexTypeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ComplexType>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang11ComplexTypeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ComplexType>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang8ExtQualsEED0Ev", "llvm::FoldingSet<clang::ExtQuals>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang8ExtQualsEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ExtQuals>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang8ExtQualsEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ExtQuals>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang8ExtQualsEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ExtQuals>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm20ContextualFoldingSetIN5clang35DependentTemplateSpecializationTypeERNS1_10ASTContextEED0Ev", "llvm::ContextualFoldingSet<clang::DependentTemplateSpecializationType, clang::ASTContext&>::~ContextualFoldingSet()"},
-    {"_ZNK4llvm20ContextualFoldingSetIN5clang35DependentTemplateSpecializationTypeERNS1_10ASTContextEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::ContextualFoldingSet<clang::DependentTemplateSpecializationType, clang::ASTContext&>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm20ContextualFoldingSetIN5clang35DependentTemplateSpecializationTypeERNS1_10ASTContextEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS9_", "llvm::ContextualFoldingSet<clang::DependentTemplateSpecializationType, clang::ASTContext&>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm20ContextualFoldingSetIN5clang35DependentTemplateSpecializationTypeERNS1_10ASTContextEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::ContextualFoldingSet<clang::DependentTemplateSpecializationType, clang::ASTContext&>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm20ContextualFoldingSetIN5clang26TemplateSpecializationTypeERNS1_10ASTContextEED0Ev", "llvm::ContextualFoldingSet<clang::TemplateSpecializationType, clang::ASTContext&>::~ContextualFoldingSet()"},
-    {"_ZNK4llvm20ContextualFoldingSetIN5clang26TemplateSpecializationTypeERNS1_10ASTContextEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::ContextualFoldingSet<clang::TemplateSpecializationType, clang::ASTContext&>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm20ContextualFoldingSetIN5clang26TemplateSpecializationTypeERNS1_10ASTContextEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS9_", "llvm::ContextualFoldingSet<clang::TemplateSpecializationType, clang::ASTContext&>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm20ContextualFoldingSetIN5clang26TemplateSpecializationTypeERNS1_10ASTContextEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::ContextualFoldingSet<clang::TemplateSpecializationType, clang::ASTContext&>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang18getFunctionExtInfoERKNS_4TypeE", "clang::getFunctionExtInfo(clang::Type const&)"},
-    {"_ZSt16__introsort_loopIPPN5clang16ObjCProtocolDeclElPFbPKS1_S5_EEvT_S8_T0_T1_", "void std::__introsort_loop<clang::ObjCProtocolDecl**, long, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*)>(clang::ObjCProtocolDecl**, clang::ObjCProtocolDecl**, long, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*))"},
-    {"_ZSt22__final_insertion_sortIPPN5clang16ObjCProtocolDeclEPFbPKS1_S5_EEvT_S8_T0_", "void std::__final_insertion_sort<clang::ObjCProtocolDecl**, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*)>(clang::ObjCProtocolDecl**, clang::ObjCProtocolDecl**, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*))"},
-    {"_ZSt16__insertion_sortIPPN5clang16ObjCProtocolDeclEPFbPKS1_S5_EEvT_S8_T0_", "void std::__insertion_sort<clang::ObjCProtocolDecl**, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*)>(clang::ObjCProtocolDecl**, clang::ObjCProtocolDecl**, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*))"},
-    {"_ZSt13__heap_selectIPPN5clang16ObjCProtocolDeclEPFbPKS1_S5_EEvT_S8_S8_T0_", "void std::__heap_select<clang::ObjCProtocolDecl**, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*)>(clang::ObjCProtocolDecl**, clang::ObjCProtocolDecl**, clang::ObjCProtocolDecl**, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*))"},
-    {"_ZSt13__adjust_heapIPPN5clang16ObjCProtocolDeclElS2_PFbPKS1_S5_EEvT_T0_S9_T1_T2_", "void std::__adjust_heap<clang::ObjCProtocolDecl**, long, clang::ObjCProtocolDecl*, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*)>(clang::ObjCProtocolDecl**, long, long, clang::ObjCProtocolDecl*, bool (*)(clang::ObjCProtocolDecl const*, clang::ObjCProtocolDecl const*))"},
-    {"_ZN5clang31FormatASTNodeDiagnosticArgumentENS_10Diagnostic12ArgumentKindElPKcjS3_jPKSt4pairIS1_lEjRN4llvm15SmallVectorImplIcEEPv", "clang::FormatASTNodeDiagnosticArgument(clang::Diagnostic::ArgumentKind, long, char const*, unsigned int, char const*, unsigned int, std::pair<clang::Diagnostic::ArgumentKind, long> const*, unsigned int, llvm::SmallVectorImpl<char>&, void*)"},
-    {"_Z29ConvertTypeToDiagnosticStringRN5clang10ASTContextENS_8QualTypeEPKSt4pairINS_10Diagnostic12ArgumentKindElEj", "ConvertTypeToDiagnosticString(clang::ASTContext&, clang::QualType, std::pair<clang::Diagnostic::ArgumentKind, long> const*, unsigned int)"},
-    {"_Z7DesugarRN5clang10ASTContextENS_8QualTypeERb", "Desugar(clang::ASTContext&, clang::QualType, bool&)"},
-    {"_Z14ImportCastPathPN5clang8CastExprERN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEE", "ImportCastPath(clang::CastExpr*, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u>&)"},
-    {"_ZN5clang11ASTImporterC1ERNS_10ASTContextERNS_11FileManagerES2_S4_b", "clang::ASTImporter::ASTImporter(clang::ASTContext&, clang::FileManager&, clang::ASTContext&, clang::FileManager&, bool)"},
-    {"_ZN5clang11ASTImporterC2ERNS_10ASTContextERNS_11FileManagerES2_S4_b", "clang::ASTImporter::ASTImporter(clang::ASTContext&, clang::FileManager&, clang::ASTContext&, clang::FileManager&, bool)"},
-    {"_ZN5clang11ASTImporterD0Ev", "clang::ASTImporter::~ASTImporter()"},
-    {"_ZN5clang11ASTImporterD1Ev", "clang::ASTImporter::~ASTImporter()"},
-    {"_ZN5clang11ASTImporterD2Ev", "clang::ASTImporter::~ASTImporter()"},
-    {"_ZN5clang11ASTImporter6ImportENS_8QualTypeE", "clang::ASTImporter::Import(clang::QualType)"},
-    {"_ZN5clang11ASTImporter6ImportEPNS_14TypeSourceInfoE", "clang::ASTImporter::Import(clang::TypeSourceInfo*)"},
-    {"_ZN5clang11ASTImporter6ImportEPNS_4DeclE", "clang::ASTImporter::Import(clang::Decl*)"},
-    {"_ZN5clang11ASTImporter13ImportContextEPNS_11DeclContextE", "clang::ASTImporter::ImportContext(clang::DeclContext*)"},
-    {"_ZN5clang11ASTImporter6ImportEPNS_4ExprE", "clang::ASTImporter::Import(clang::Expr*)"},
-    {"_ZN5clang11ASTImporter6ImportEPNS_4StmtE", "clang::ASTImporter::Import(clang::Stmt*)"},
-    {"_ZN5clang11ASTImporter6ImportEPNS_19NestedNameSpecifierE", "clang::ASTImporter::Import(clang::NestedNameSpecifier*)"},
-    {"_ZN5clang11ASTImporter6ImportENS_12TemplateNameE", "clang::ASTImporter::Import(clang::TemplateName)"},
-    {"_ZN5clang11ASTImporter6ImportEPKNS_14IdentifierInfoE", "clang::ASTImporter::Import(clang::IdentifierInfo const*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter22ImportTemplateArgumentERKN5clang16TemplateArgumentE", "(anonymous namespace)::ASTNodeImporter::ImportTemplateArgument(clang::TemplateArgument const&)"},
-    {"_ZN5clang11ASTImporter6ImportENS_14SourceLocationE", "clang::ASTImporter::Import(clang::SourceLocation)"},
-    {"_ZN5clang11ASTImporter6ImportENS_6FileIDE", "clang::ASTImporter::Import(clang::FileID)"},
-    {"_ZN5clang11ASTImporter6ImportENS_11SourceRangeE", "clang::ASTImporter::Import(clang::SourceRange)"},
-    {"_ZN5clang11ASTImporter16ImportDefinitionEPNS_4DeclE", "clang::ASTImporter::ImportDefinition(clang::Decl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter17ImportDeclContextEPN5clang11DeclContextEb", "(anonymous namespace)::ASTNodeImporter::ImportDeclContext(clang::DeclContext*, bool)"},
-    {"_ZN5clang11ASTImporter6ImportENS_15DeclarationNameE", "clang::ASTImporter::Import(clang::DeclarationName)"},
-    {"_ZN5clang11ASTImporter6ImportENS_8SelectorE", "clang::ASTImporter::Import(clang::Selector)"},
-    {"_ZN5clang11ASTImporter18HandleNameConflictENS_15DeclarationNameEPNS_11DeclContextEjPPNS_9NamedDeclEj", "clang::ASTImporter::HandleNameConflict(clang::DeclarationName, clang::DeclContext*, unsigned int, clang::NamedDecl**, unsigned int)"},
-    {"_ZN5clang11ASTImporter6ToDiagENS_14SourceLocationEj", "clang::ASTImporter::ToDiag(clang::SourceLocation, unsigned int)"},
-    {"_ZN5clang11ASTImporter8FromDiagENS_14SourceLocationEj", "clang::ASTImporter::FromDiag(clang::SourceLocation, unsigned int)"},
-    {"_ZN5clang11ASTImporter8ImportedEPNS_4DeclES2_", "clang::ASTImporter::Imported(clang::Decl*, clang::Decl*)"},
-    {"_ZN5clang11ASTImporter24IsStructurallyEquivalentENS_8QualTypeES1_", "clang::ASTImporter::IsStructurallyEquivalent(clang::QualType, clang::QualType)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter19VisitBinaryOperatorEPN5clang14BinaryOperatorE", "(anonymous namespace)::ASTNodeImporter::VisitBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter27VisitCompoundAssignOperatorEPN5clang22CompoundAssignOperatorE", "(anonymous namespace)::ASTNodeImporter::VisitCompoundAssignOperator(clang::CompoundAssignOperator*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter18VisitUnaryOperatorEPN5clang13UnaryOperatorE", "(anonymous namespace)::ASTNodeImporter::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter9VisitStmtEPN5clang4StmtE", "(anonymous namespace)::ASTNodeImporter::VisitStmt(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter9VisitExprEPN5clang4ExprE", "(anonymous namespace)::ASTNodeImporter::VisitExpr(clang::Expr*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter18VisitNamespaceDeclEPN5clang13NamespaceDeclE", "(anonymous namespace)::ASTNodeImporter::VisitNamespaceDecl(clang::NamespaceDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter21VisitObjCCategoryDeclEPN5clang16ObjCCategoryDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCCategoryDecl(clang::ObjCCategoryDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter25VisitObjCCategoryImplDeclEPN5clang20ObjCCategoryImplDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCCategoryImplDecl(clang::ObjCCategoryImplDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter27VisitObjCImplementationDeclEPN5clang22ObjCImplementationDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCImplementationDecl(clang::ObjCImplementationDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter22VisitObjCInterfaceDeclEPN5clang17ObjCInterfaceDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCInterfaceDecl(clang::ObjCInterfaceDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter21VisitObjCProtocolDeclEPN5clang16ObjCProtocolDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCProtocolDecl(clang::ObjCProtocolDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter19VisitObjCMethodDeclEPN5clang14ObjCMethodDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCMethodDecl(clang::ObjCMethodDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter21VisitObjCPropertyDeclEPN5clang16ObjCPropertyDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCPropertyDecl(clang::ObjCPropertyDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter22VisitClassTemplateDeclEPN5clang17ClassTemplateDeclE", "(anonymous namespace)::ASTNodeImporter::VisitClassTemplateDecl(clang::ClassTemplateDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter29VisitTemplateTemplateParmDeclEPN5clang24TemplateTemplateParmDeclE", "(anonymous namespace)::ASTNodeImporter::VisitTemplateTemplateParmDecl(clang::TemplateTemplateParmDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter13VisitEnumDeclEPN5clang8EnumDeclE", "(anonymous namespace)::ASTNodeImporter::VisitEnumDecl(clang::EnumDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter15VisitRecordDeclEPN5clang10RecordDeclE", "(anonymous namespace)::ASTNodeImporter::VisitRecordDecl(clang::RecordDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter36VisitClassTemplateSpecializationDeclEPN5clang31ClassTemplateSpecializationDeclE", "(anonymous namespace)::ASTNodeImporter::VisitClassTemplateSpecializationDecl(clang::ClassTemplateSpecializationDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter16VisitTypedefDeclEPN5clang11TypedefDeclE", "(anonymous namespace)::ASTNodeImporter::VisitTypedefDecl(clang::TypedefDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter14VisitFieldDeclEPN5clang9FieldDeclE", "(anonymous namespace)::ASTNodeImporter::VisitFieldDecl(clang::FieldDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter17VisitObjCIvarDeclEPN5clang12ObjCIvarDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCIvarDecl(clang::ObjCIvarDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter17VisitFunctionDeclEPN5clang12FunctionDeclE", "(anonymous namespace)::ASTNodeImporter::VisitFunctionDecl(clang::FunctionDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter28VisitNonTypeTemplateParmDeclEPN5clang23NonTypeTemplateParmDeclE", "(anonymous namespace)::ASTNodeImporter::VisitNonTypeTemplateParmDecl(clang::NonTypeTemplateParmDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter12VisitVarDeclEPN5clang7VarDeclE", "(anonymous namespace)::ASTNodeImporter::VisitVarDecl(clang::VarDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter22VisitImplicitParamDeclEPN5clang17ImplicitParamDeclE", "(anonymous namespace)::ASTNodeImporter::VisitImplicitParamDecl(clang::ImplicitParamDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter16VisitParmVarDeclEPN5clang11ParmVarDeclE", "(anonymous namespace)::ASTNodeImporter::VisitParmVarDecl(clang::ParmVarDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter21VisitEnumConstantDeclEPN5clang16EnumConstantDeclE", "(anonymous namespace)::ASTNodeImporter::VisitEnumConstantDecl(clang::EnumConstantDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter22VisitIndirectFieldDeclEPN5clang17IndirectFieldDeclE", "(anonymous namespace)::ASTNodeImporter::VisitIndirectFieldDecl(clang::IndirectFieldDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter18VisitObjCClassDeclEPN5clang13ObjCClassDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCClassDecl(clang::ObjCClassDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter28VisitObjCForwardProtocolDeclEPN5clang23ObjCForwardProtocolDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCForwardProtocolDecl(clang::ObjCForwardProtocolDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter25VisitObjCPropertyImplDeclEPN5clang20ObjCPropertyImplDeclE", "(anonymous namespace)::ASTNodeImporter::VisitObjCPropertyImplDecl(clang::ObjCPropertyImplDecl*)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter15ImportDeclPartsEPN5clang9NamedDeclERPNS1_11DeclContextES6_RNS1_15DeclarationNameERNS1_14SourceLocationE", "(anonymous namespace)::ASTNodeImporter::ImportDeclParts(clang::NamedDecl*, clang::DeclContext*&, clang::DeclContext*&, clang::DeclarationName&, clang::SourceLocation&)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter16ImportDefinitionEPN5clang10RecordDeclES3_", "(anonymous namespace)::ASTNodeImporter::ImportDefinition(clang::RecordDecl*, clang::RecordDecl*)"},
-    {"_Z24IsStructurallyEquivalentRN12_GLOBAL__N_128StructuralEquivalenceContextEPN5clang4DeclES4_", "IsStructurallyEquivalent((anonymous namespace)::StructuralEquivalenceContext&, clang::Decl*, clang::Decl*)"},
-    {"_ZN12_GLOBAL__N_128StructuralEquivalenceContext6FinishEv", "(anonymous namespace)::StructuralEquivalenceContext::Finish()"},
-    {"_Z24IsStructurallyEquivalentRN12_GLOBAL__N_128StructuralEquivalenceContextEN5clang8QualTypeES3_", "IsStructurallyEquivalent((anonymous namespace)::StructuralEquivalenceContext&, clang::QualType, clang::QualType)"},
-    {"_Z24IsStructurallyEquivalentRN12_GLOBAL__N_128StructuralEquivalenceContextEPN5clang21TemplateParameterListES4_", "IsStructurallyEquivalent((anonymous namespace)::StructuralEquivalenceContext&, clang::TemplateParameterList*, clang::TemplateParameterList*)"},
-    {"_Z24IsStructurallyEquivalentRN12_GLOBAL__N_128StructuralEquivalenceContextERKN5clang16TemplateArgumentES5_", "IsStructurallyEquivalent((anonymous namespace)::StructuralEquivalenceContext&, clang::TemplateArgument const&, clang::TemplateArgument const&)"},
-    {"_Z11IsSameValueRKN4llvm6APSIntES2_", "IsSameValue(llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_115ASTNodeImporter27ImportTemplateParameterListEPN5clang21TemplateParameterListE", "(anonymous namespace)::ASTNodeImporter::ImportTemplateParameterList(clang::TemplateParameterList*)"},
-    {"_ZN4llvm8DenseMapIN5clang6FileIDES2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<clang::FileID, clang::FileID, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<clang::FileID> >::InsertIntoBucket(clang::FileID const&, clang::FileID const&, std::pair<clang::FileID, clang::FileID>*)"},
-    {"_ZN4llvm8DenseMapIN5clang6FileIDES2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<clang::FileID, clang::FileID, llvm::DenseMapInfo<clang::FileID>, llvm::DenseMapInfo<clang::FileID> >::grow(unsigned int)"},
-    {"_ZN5clang14BinaryOperatorC2EPNS_4ExprES2_NS_18BinaryOperatorKindENS_8QualTypeENS_13ExprValueKindENS_14ExprObjectKindENS_14SourceLocationEb", "clang::BinaryOperator::BinaryOperator(clang::Expr*, clang::Expr*, clang::BinaryOperatorKind, clang::QualType, clang::ExprValueKind, clang::ExprObjectKind, clang::SourceLocation, bool)"},
-    {"_ZN4llvm8DenseMapISt4pairIPN5clang4DeclES4_EcNS_12DenseMapInfoIS5_EENS6_IcEEE6insertERKS1_IS5_cE", "llvm::DenseMap<std::pair<clang::Decl*, clang::Decl*>, char, llvm::DenseMapInfo<std::pair<clang::Decl*, clang::Decl*> >, llvm::DenseMapInfo<char> >::insert(std::pair<std::pair<clang::Decl*, clang::Decl*>, char> const&)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPN5clang4DeclES4_EcNS_12DenseMapInfoIS5_EENS6_IcEEE15LookupBucketForERKS5_RPS1_IS5_cE", "llvm::DenseMap<std::pair<clang::Decl*, clang::Decl*>, char, llvm::DenseMapInfo<std::pair<clang::Decl*, clang::Decl*> >, llvm::DenseMapInfo<char> >::LookupBucketFor(std::pair<clang::Decl*, clang::Decl*> const&, std::pair<std::pair<clang::Decl*, clang::Decl*>, char>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPN5clang4DeclES4_EcNS_12DenseMapInfoIS5_EENS6_IcEEE16InsertIntoBucketERKS5_RKcPS1_IS5_cE", "llvm::DenseMap<std::pair<clang::Decl*, clang::Decl*>, char, llvm::DenseMapInfo<std::pair<clang::Decl*, clang::Decl*> >, llvm::DenseMapInfo<char> >::InsertIntoBucket(std::pair<clang::Decl*, clang::Decl*> const&, char const&, std::pair<std::pair<clang::Decl*, clang::Decl*>, char>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPN5clang4DeclES4_EcNS_12DenseMapInfoIS5_EENS6_IcEEE4growEj", "llvm::DenseMap<std::pair<clang::Decl*, clang::Decl*>, char, llvm::DenseMapInfo<std::pair<clang::Decl*, clang::Decl*> >, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZNSt5dequeIPN5clang4DeclESaIS2_EE9push_backERKS2_", "std::deque<clang::Decl*, std::allocator<clang::Decl*> >::push_back(clang::Decl* const&)"},
-    {"_ZNSt5dequeIPN5clang4DeclESaIS2_EE17_M_reallocate_mapEmb", "std::deque<clang::Decl*, std::allocator<clang::Decl*> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeES4_NS_12DenseMapInfoIS4_EES6_E16InsertIntoBucketERKS4_S9_PSt4pairIS4_S4_E", "llvm::DenseMap<clang::Type const*, clang::Type const*, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<clang::Type const*> >::InsertIntoBucket(clang::Type const* const&, clang::Type const* const&, std::pair<clang::Type const*, clang::Type const*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang4TypeES4_NS_12DenseMapInfoIS4_EES6_E4growEj", "llvm::DenseMap<clang::Type const*, clang::Type const*, llvm::DenseMapInfo<clang::Type const*>, llvm::DenseMapInfo<clang::Type const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPN5clang4DeclES3_NS_12DenseMapInfoIS3_EES5_E16InsertIntoBucketERKS3_S8_PSt4pairIS3_S3_E", "llvm::DenseMap<clang::Decl*, clang::Decl*, llvm::DenseMapInfo<clang::Decl*>, llvm::DenseMapInfo<clang::Decl*> >::InsertIntoBucket(clang::Decl* const&, clang::Decl* const&, std::pair<clang::Decl*, clang::Decl*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang4DeclES3_NS_12DenseMapInfoIS3_EES5_E4growEj", "llvm::DenseMap<clang::Decl*, clang::Decl*, llvm::DenseMapInfo<clang::Decl*>, llvm::DenseMapInfo<clang::Decl*> >::grow(unsigned int)"},
-    {"_ZN5clang4AttrD0Ev", "clang::Attr::~Attr()"},
-    {"_ZN5clang4AttrD1Ev", "clang::Attr::~Attr()"},
-    {"_ZN5clang4AttrD2Ev", "clang::Attr::~Attr()"},
-    {"_ZNK5clang9AliasAttr5cloneERNS_10ASTContextE", "clang::AliasAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang15AlignMac68kAttr5cloneERNS_10ASTContextE", "clang::AlignMac68kAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11AlignedAttr20isAlignmentDependentEv", "clang::AlignedAttr::isAlignmentDependent() const"},
-    {"_ZNK5clang11AlignedAttr12getAlignmentERNS_10ASTContextE", "clang::AlignedAttr::getAlignment(clang::ASTContext&) const"},
-    {"_ZNK5clang11AlignedAttr5cloneERNS_10ASTContextE", "clang::AlignedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang16AlwaysInlineAttr5cloneERNS_10ASTContextE", "clang::AlwaysInlineAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang20AnalyzerNoReturnAttr5cloneERNS_10ASTContextE", "clang::AnalyzerNoReturnAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12AnnotateAttr5cloneERNS_10ASTContextE", "clang::AnnotateAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12AsmLabelAttr5cloneERNS_10ASTContextE", "clang::AsmLabelAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang10BlocksAttr5cloneERNS_10ASTContextE", "clang::BlocksAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang9CDeclAttr5cloneERNS_10ASTContextE", "clang::CDeclAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14CFConsumedAttr5cloneERNS_10ASTContextE", "clang::CFConsumedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang24CFReturnsNotRetainedAttr5cloneERNS_10ASTContextE", "clang::CFReturnsNotRetainedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang21CFReturnsRetainedAttr5cloneERNS_10ASTContextE", "clang::CFReturnsRetainedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang16CUDAConstantAttr5cloneERNS_10ASTContextE", "clang::CUDAConstantAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14CUDADeviceAttr5cloneERNS_10ASTContextE", "clang::CUDADeviceAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14CUDAGlobalAttr5cloneERNS_10ASTContextE", "clang::CUDAGlobalAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12CUDAHostAttr5cloneERNS_10ASTContextE", "clang::CUDAHostAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang20CUDALaunchBoundsAttr5cloneERNS_10ASTContextE", "clang::CUDALaunchBoundsAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14CUDASharedAttr5cloneERNS_10ASTContextE", "clang::CUDASharedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang21CarriesDependencyAttr5cloneERNS_10ASTContextE", "clang::CarriesDependencyAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11CleanupAttr5cloneERNS_10ASTContextE", "clang::CleanupAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang10CommonAttr5cloneERNS_10ASTContextE", "clang::CommonAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang9ConstAttr5cloneERNS_10ASTContextE", "clang::ConstAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang15ConstructorAttr5cloneERNS_10ASTContextE", "clang::ConstructorAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang13DLLExportAttr5cloneERNS_10ASTContextE", "clang::DLLExportAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang13DLLImportAttr5cloneERNS_10ASTContextE", "clang::DLLImportAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14DeprecatedAttr5cloneERNS_10ASTContextE", "clang::DeprecatedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14DestructorAttr5cloneERNS_10ASTContextE", "clang::DestructorAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12ExplicitAttr5cloneERNS_10ASTContextE", "clang::ExplicitAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12FastCallAttr5cloneERNS_10ASTContextE", "clang::FastCallAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang9FinalAttr5cloneERNS_10ASTContextE", "clang::FinalAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang10FormatAttr5cloneERNS_10ASTContextE", "clang::FormatAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang13FormatArgAttr5cloneERNS_10ASTContextE", "clang::FormatArgAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang13GNUInlineAttr5cloneERNS_10ASTContextE", "clang::GNUInlineAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12IBActionAttr5cloneERNS_10ASTContextE", "clang::IBActionAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12IBOutletAttr5cloneERNS_10ASTContextE", "clang::IBOutletAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang22IBOutletCollectionAttr5cloneERNS_10ASTContextE", "clang::IBOutletCollectionAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang16InitPriorityAttr5cloneERNS_10ASTContextE", "clang::InitPriorityAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang26MBlazeInterruptHandlerAttr5cloneERNS_10ASTContextE", "clang::MBlazeInterruptHandlerAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang23MBlazeSaveVolatilesAttr5cloneERNS_10ASTContextE", "clang::MBlazeSaveVolatilesAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang19MSP430InterruptAttr5cloneERNS_10ASTContextE", "clang::MSP430InterruptAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang10MallocAttr5cloneERNS_10ASTContextE", "clang::MallocAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang21MaxFieldAlignmentAttr5cloneERNS_10ASTContextE", "clang::MaxFieldAlignmentAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12MayAliasAttr5cloneERNS_10ASTContextE", "clang::MayAliasAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14NSConsumedAttr5cloneERNS_10ASTContextE", "clang::NSConsumedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang18NSConsumesSelfAttr5cloneERNS_10ASTContextE", "clang::NSConsumesSelfAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang25NSReturnsAutoreleasedAttr5cloneERNS_10ASTContextE", "clang::NSReturnsAutoreleasedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang24NSReturnsNotRetainedAttr5cloneERNS_10ASTContextE", "clang::NSReturnsNotRetainedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang21NSReturnsRetainedAttr5cloneERNS_10ASTContextE", "clang::NSReturnsRetainedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang9NakedAttr5cloneERNS_10ASTContextE", "clang::NakedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12NoCommonAttr5cloneERNS_10ASTContextE", "clang::NoCommonAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11NoDebugAttr5cloneERNS_10ASTContextE", "clang::NoDebugAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12NoInlineAttr5cloneERNS_10ASTContextE", "clang::NoInlineAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang24NoInstrumentFunctionAttr5cloneERNS_10ASTContextE", "clang::NoInstrumentFunctionAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12NoReturnAttr5cloneERNS_10ASTContextE", "clang::NoReturnAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11NoThrowAttr5cloneERNS_10ASTContextE", "clang::NoThrowAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11NonNullAttr5cloneERNS_10ASTContextE", "clang::NonNullAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang17ObjCExceptionAttr5cloneERNS_10ASTContextE", "clang::ObjCExceptionAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang16ObjCNSObjectAttr5cloneERNS_10ASTContextE", "clang::ObjCNSObjectAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang16OverloadableAttr5cloneERNS_10ASTContextE", "clang::OverloadableAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12OverrideAttr5cloneERNS_10ASTContextE", "clang::OverrideAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang13OwnershipAttr5cloneERNS_10ASTContextE", "clang::OwnershipAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang10PackedAttr5cloneERNS_10ASTContextE", "clang::PackedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang10PascalAttr5cloneERNS_10ASTContextE", "clang::PascalAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang8PureAttr5cloneERNS_10ASTContextE", "clang::PureAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11RegparmAttr5cloneERNS_10ASTContextE", "clang::RegparmAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang21ReqdWorkGroupSizeAttr5cloneERNS_10ASTContextE", "clang::ReqdWorkGroupSizeAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11SectionAttr5cloneERNS_10ASTContextE", "clang::SectionAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12SentinelAttr5cloneERNS_10ASTContextE", "clang::SentinelAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11StdCallAttr5cloneERNS_10ASTContextE", "clang::StdCallAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang12ThisCallAttr5cloneERNS_10ASTContextE", "clang::ThisCallAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang20TransparentUnionAttr5cloneERNS_10ASTContextE", "clang::TransparentUnionAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang15UnavailableAttr5cloneERNS_10ASTContextE", "clang::UnavailableAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang10UnusedAttr5cloneERNS_10ASTContextE", "clang::UnusedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang8UsedAttr5cloneERNS_10ASTContextE", "clang::UsedAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang8UuidAttr5cloneERNS_10ASTContextE", "clang::UuidAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang13VecReturnAttr5cloneERNS_10ASTContextE", "clang::VecReturnAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14VisibilityAttr5cloneERNS_10ASTContextE", "clang::VisibilityAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang20WarnUnusedResultAttr5cloneERNS_10ASTContextE", "clang::WarnUnusedResultAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang8WeakAttr5cloneERNS_10ASTContextE", "clang::WeakAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang14WeakImportAttr5cloneERNS_10ASTContextE", "clang::WeakImportAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang11WeakRefAttr5cloneERNS_10ASTContextE", "clang::WeakRefAttr::clone(clang::ASTContext&) const"},
-    {"_ZNK5clang27X86ForceAlignArgPointerAttr5cloneERNS_10ASTContextE", "clang::X86ForceAlignArgPointerAttr::clone(clang::ASTContext&) const"},
-    {"_ZN5clang9AliasAttrD1Ev", "clang::AliasAttr::~AliasAttr()"},
-    {"_ZN5clang9AliasAttrD0Ev", "clang::AliasAttr::~AliasAttr()"},
-    {"_ZN5clang15AlignMac68kAttrD1Ev", "clang::AlignMac68kAttr::~AlignMac68kAttr()"},
-    {"_ZN5clang15AlignMac68kAttrD0Ev", "clang::AlignMac68kAttr::~AlignMac68kAttr()"},
-    {"_ZN5clang11AlignedAttrD1Ev", "clang::AlignedAttr::~AlignedAttr()"},
-    {"_ZN5clang11AlignedAttrD0Ev", "clang::AlignedAttr::~AlignedAttr()"},
-    {"_ZN5clang16AlwaysInlineAttrD1Ev", "clang::AlwaysInlineAttr::~AlwaysInlineAttr()"},
-    {"_ZN5clang16AlwaysInlineAttrD0Ev", "clang::AlwaysInlineAttr::~AlwaysInlineAttr()"},
-    {"_ZN5clang20AnalyzerNoReturnAttrD1Ev", "clang::AnalyzerNoReturnAttr::~AnalyzerNoReturnAttr()"},
-    {"_ZN5clang20AnalyzerNoReturnAttrD0Ev", "clang::AnalyzerNoReturnAttr::~AnalyzerNoReturnAttr()"},
-    {"_ZN5clang12AnnotateAttrD1Ev", "clang::AnnotateAttr::~AnnotateAttr()"},
-    {"_ZN5clang12AnnotateAttrD0Ev", "clang::AnnotateAttr::~AnnotateAttr()"},
-    {"_ZN5clang12AsmLabelAttrD1Ev", "clang::AsmLabelAttr::~AsmLabelAttr()"},
-    {"_ZN5clang12AsmLabelAttrD0Ev", "clang::AsmLabelAttr::~AsmLabelAttr()"},
-    {"_ZN5clang10BlocksAttrD1Ev", "clang::BlocksAttr::~BlocksAttr()"},
-    {"_ZN5clang10BlocksAttrD0Ev", "clang::BlocksAttr::~BlocksAttr()"},
-    {"_ZN5clang9CDeclAttrD1Ev", "clang::CDeclAttr::~CDeclAttr()"},
-    {"_ZN5clang9CDeclAttrD0Ev", "clang::CDeclAttr::~CDeclAttr()"},
-    {"_ZN5clang14CFConsumedAttrD1Ev", "clang::CFConsumedAttr::~CFConsumedAttr()"},
-    {"_ZN5clang14CFConsumedAttrD0Ev", "clang::CFConsumedAttr::~CFConsumedAttr()"},
-    {"_ZN5clang24CFReturnsNotRetainedAttrD1Ev", "clang::CFReturnsNotRetainedAttr::~CFReturnsNotRetainedAttr()"},
-    {"_ZN5clang24CFReturnsNotRetainedAttrD0Ev", "clang::CFReturnsNotRetainedAttr::~CFReturnsNotRetainedAttr()"},
-    {"_ZN5clang21CFReturnsRetainedAttrD1Ev", "clang::CFReturnsRetainedAttr::~CFReturnsRetainedAttr()"},
-    {"_ZN5clang21CFReturnsRetainedAttrD0Ev", "clang::CFReturnsRetainedAttr::~CFReturnsRetainedAttr()"},
-    {"_ZN5clang16CUDAConstantAttrD1Ev", "clang::CUDAConstantAttr::~CUDAConstantAttr()"},
-    {"_ZN5clang16CUDAConstantAttrD0Ev", "clang::CUDAConstantAttr::~CUDAConstantAttr()"},
-    {"_ZN5clang14CUDADeviceAttrD1Ev", "clang::CUDADeviceAttr::~CUDADeviceAttr()"},
-    {"_ZN5clang14CUDADeviceAttrD0Ev", "clang::CUDADeviceAttr::~CUDADeviceAttr()"},
-    {"_ZN5clang14CUDAGlobalAttrD1Ev", "clang::CUDAGlobalAttr::~CUDAGlobalAttr()"},
-    {"_ZN5clang14CUDAGlobalAttrD0Ev", "clang::CUDAGlobalAttr::~CUDAGlobalAttr()"},
-    {"_ZN5clang12CUDAHostAttrD1Ev", "clang::CUDAHostAttr::~CUDAHostAttr()"},
-    {"_ZN5clang12CUDAHostAttrD0Ev", "clang::CUDAHostAttr::~CUDAHostAttr()"},
-    {"_ZN5clang20CUDALaunchBoundsAttrD1Ev", "clang::CUDALaunchBoundsAttr::~CUDALaunchBoundsAttr()"},
-    {"_ZN5clang20CUDALaunchBoundsAttrD0Ev", "clang::CUDALaunchBoundsAttr::~CUDALaunchBoundsAttr()"},
-    {"_ZN5clang14CUDASharedAttrD1Ev", "clang::CUDASharedAttr::~CUDASharedAttr()"},
-    {"_ZN5clang14CUDASharedAttrD0Ev", "clang::CUDASharedAttr::~CUDASharedAttr()"},
-    {"_ZN5clang21CarriesDependencyAttrD1Ev", "clang::CarriesDependencyAttr::~CarriesDependencyAttr()"},
-    {"_ZN5clang21CarriesDependencyAttrD0Ev", "clang::CarriesDependencyAttr::~CarriesDependencyAttr()"},
-    {"_ZN5clang11CleanupAttrD1Ev", "clang::CleanupAttr::~CleanupAttr()"},
-    {"_ZN5clang11CleanupAttrD0Ev", "clang::CleanupAttr::~CleanupAttr()"},
-    {"_ZN5clang10CommonAttrD1Ev", "clang::CommonAttr::~CommonAttr()"},
-    {"_ZN5clang10CommonAttrD0Ev", "clang::CommonAttr::~CommonAttr()"},
-    {"_ZN5clang9ConstAttrD1Ev", "clang::ConstAttr::~ConstAttr()"},
-    {"_ZN5clang9ConstAttrD0Ev", "clang::ConstAttr::~ConstAttr()"},
-    {"_ZN5clang15ConstructorAttrD1Ev", "clang::ConstructorAttr::~ConstructorAttr()"},
-    {"_ZN5clang15ConstructorAttrD0Ev", "clang::ConstructorAttr::~ConstructorAttr()"},
-    {"_ZN5clang13DLLExportAttrD1Ev", "clang::DLLExportAttr::~DLLExportAttr()"},
-    {"_ZN5clang13DLLExportAttrD0Ev", "clang::DLLExportAttr::~DLLExportAttr()"},
-    {"_ZN5clang13DLLImportAttrD1Ev", "clang::DLLImportAttr::~DLLImportAttr()"},
-    {"_ZN5clang13DLLImportAttrD0Ev", "clang::DLLImportAttr::~DLLImportAttr()"},
-    {"_ZN5clang14DeprecatedAttrD1Ev", "clang::DeprecatedAttr::~DeprecatedAttr()"},
-    {"_ZN5clang14DeprecatedAttrD0Ev", "clang::DeprecatedAttr::~DeprecatedAttr()"},
-    {"_ZN5clang14DestructorAttrD1Ev", "clang::DestructorAttr::~DestructorAttr()"},
-    {"_ZN5clang14DestructorAttrD0Ev", "clang::DestructorAttr::~DestructorAttr()"},
-    {"_ZN5clang12ExplicitAttrD1Ev", "clang::ExplicitAttr::~ExplicitAttr()"},
-    {"_ZN5clang12ExplicitAttrD0Ev", "clang::ExplicitAttr::~ExplicitAttr()"},
-    {"_ZN5clang12FastCallAttrD1Ev", "clang::FastCallAttr::~FastCallAttr()"},
-    {"_ZN5clang12FastCallAttrD0Ev", "clang::FastCallAttr::~FastCallAttr()"},
-    {"_ZN5clang9FinalAttrD1Ev", "clang::FinalAttr::~FinalAttr()"},
-    {"_ZN5clang9FinalAttrD0Ev", "clang::FinalAttr::~FinalAttr()"},
-    {"_ZN5clang10FormatAttrD1Ev", "clang::FormatAttr::~FormatAttr()"},
-    {"_ZN5clang10FormatAttrD0Ev", "clang::FormatAttr::~FormatAttr()"},
-    {"_ZN5clang13FormatArgAttrD1Ev", "clang::FormatArgAttr::~FormatArgAttr()"},
-    {"_ZN5clang13FormatArgAttrD0Ev", "clang::FormatArgAttr::~FormatArgAttr()"},
-    {"_ZN5clang13GNUInlineAttrD1Ev", "clang::GNUInlineAttr::~GNUInlineAttr()"},
-    {"_ZN5clang13GNUInlineAttrD0Ev", "clang::GNUInlineAttr::~GNUInlineAttr()"},
-    {"_ZN5clang12IBActionAttrD1Ev", "clang::IBActionAttr::~IBActionAttr()"},
-    {"_ZN5clang12IBActionAttrD0Ev", "clang::IBActionAttr::~IBActionAttr()"},
-    {"_ZN5clang12IBOutletAttrD1Ev", "clang::IBOutletAttr::~IBOutletAttr()"},
-    {"_ZN5clang12IBOutletAttrD0Ev", "clang::IBOutletAttr::~IBOutletAttr()"},
-    {"_ZN5clang22IBOutletCollectionAttrD1Ev", "clang::IBOutletCollectionAttr::~IBOutletCollectionAttr()"},
-    {"_ZN5clang22IBOutletCollectionAttrD0Ev", "clang::IBOutletCollectionAttr::~IBOutletCollectionAttr()"},
-    {"_ZN5clang16InitPriorityAttrD1Ev", "clang::InitPriorityAttr::~InitPriorityAttr()"},
-    {"_ZN5clang16InitPriorityAttrD0Ev", "clang::InitPriorityAttr::~InitPriorityAttr()"},
-    {"_ZN5clang26MBlazeInterruptHandlerAttrD1Ev", "clang::MBlazeInterruptHandlerAttr::~MBlazeInterruptHandlerAttr()"},
-    {"_ZN5clang26MBlazeInterruptHandlerAttrD0Ev", "clang::MBlazeInterruptHandlerAttr::~MBlazeInterruptHandlerAttr()"},
-    {"_ZN5clang23MBlazeSaveVolatilesAttrD1Ev", "clang::MBlazeSaveVolatilesAttr::~MBlazeSaveVolatilesAttr()"},
-    {"_ZN5clang23MBlazeSaveVolatilesAttrD0Ev", "clang::MBlazeSaveVolatilesAttr::~MBlazeSaveVolatilesAttr()"},
-    {"_ZN5clang19MSP430InterruptAttrD1Ev", "clang::MSP430InterruptAttr::~MSP430InterruptAttr()"},
-    {"_ZN5clang19MSP430InterruptAttrD0Ev", "clang::MSP430InterruptAttr::~MSP430InterruptAttr()"},
-    {"_ZN5clang10MallocAttrD1Ev", "clang::MallocAttr::~MallocAttr()"},
-    {"_ZN5clang10MallocAttrD0Ev", "clang::MallocAttr::~MallocAttr()"},
-    {"_ZN5clang21MaxFieldAlignmentAttrD1Ev", "clang::MaxFieldAlignmentAttr::~MaxFieldAlignmentAttr()"},
-    {"_ZN5clang21MaxFieldAlignmentAttrD0Ev", "clang::MaxFieldAlignmentAttr::~MaxFieldAlignmentAttr()"},
-    {"_ZN5clang12MayAliasAttrD1Ev", "clang::MayAliasAttr::~MayAliasAttr()"},
-    {"_ZN5clang12MayAliasAttrD0Ev", "clang::MayAliasAttr::~MayAliasAttr()"},
-    {"_ZN5clang14NSConsumedAttrD1Ev", "clang::NSConsumedAttr::~NSConsumedAttr()"},
-    {"_ZN5clang14NSConsumedAttrD0Ev", "clang::NSConsumedAttr::~NSConsumedAttr()"},
-    {"_ZN5clang18NSConsumesSelfAttrD1Ev", "clang::NSConsumesSelfAttr::~NSConsumesSelfAttr()"},
-    {"_ZN5clang18NSConsumesSelfAttrD0Ev", "clang::NSConsumesSelfAttr::~NSConsumesSelfAttr()"},
-    {"_ZN5clang25NSReturnsAutoreleasedAttrD1Ev", "clang::NSReturnsAutoreleasedAttr::~NSReturnsAutoreleasedAttr()"},
-    {"_ZN5clang25NSReturnsAutoreleasedAttrD0Ev", "clang::NSReturnsAutoreleasedAttr::~NSReturnsAutoreleasedAttr()"},
-    {"_ZN5clang24NSReturnsNotRetainedAttrD1Ev", "clang::NSReturnsNotRetainedAttr::~NSReturnsNotRetainedAttr()"},
-    {"_ZN5clang24NSReturnsNotRetainedAttrD0Ev", "clang::NSReturnsNotRetainedAttr::~NSReturnsNotRetainedAttr()"},
-    {"_ZN5clang21NSReturnsRetainedAttrD1Ev", "clang::NSReturnsRetainedAttr::~NSReturnsRetainedAttr()"},
-    {"_ZN5clang21NSReturnsRetainedAttrD0Ev", "clang::NSReturnsRetainedAttr::~NSReturnsRetainedAttr()"},
-    {"_ZN5clang9NakedAttrD1Ev", "clang::NakedAttr::~NakedAttr()"},
-    {"_ZN5clang9NakedAttrD0Ev", "clang::NakedAttr::~NakedAttr()"},
-    {"_ZN5clang12NoCommonAttrD1Ev", "clang::NoCommonAttr::~NoCommonAttr()"},
-    {"_ZN5clang12NoCommonAttrD0Ev", "clang::NoCommonAttr::~NoCommonAttr()"},
-    {"_ZN5clang11NoDebugAttrD1Ev", "clang::NoDebugAttr::~NoDebugAttr()"},
-    {"_ZN5clang11NoDebugAttrD0Ev", "clang::NoDebugAttr::~NoDebugAttr()"},
-    {"_ZN5clang12NoInlineAttrD1Ev", "clang::NoInlineAttr::~NoInlineAttr()"},
-    {"_ZN5clang12NoInlineAttrD0Ev", "clang::NoInlineAttr::~NoInlineAttr()"},
-    {"_ZN5clang24NoInstrumentFunctionAttrD1Ev", "clang::NoInstrumentFunctionAttr::~NoInstrumentFunctionAttr()"},
-    {"_ZN5clang24NoInstrumentFunctionAttrD0Ev", "clang::NoInstrumentFunctionAttr::~NoInstrumentFunctionAttr()"},
-    {"_ZN5clang12NoReturnAttrD1Ev", "clang::NoReturnAttr::~NoReturnAttr()"},
-    {"_ZN5clang12NoReturnAttrD0Ev", "clang::NoReturnAttr::~NoReturnAttr()"},
-    {"_ZN5clang11NoThrowAttrD1Ev", "clang::NoThrowAttr::~NoThrowAttr()"},
-    {"_ZN5clang11NoThrowAttrD0Ev", "clang::NoThrowAttr::~NoThrowAttr()"},
-    {"_ZN5clang11NonNullAttrD1Ev", "clang::NonNullAttr::~NonNullAttr()"},
-    {"_ZN5clang11NonNullAttrD0Ev", "clang::NonNullAttr::~NonNullAttr()"},
-    {"_ZN5clang17ObjCExceptionAttrD1Ev", "clang::ObjCExceptionAttr::~ObjCExceptionAttr()"},
-    {"_ZN5clang17ObjCExceptionAttrD0Ev", "clang::ObjCExceptionAttr::~ObjCExceptionAttr()"},
-    {"_ZN5clang16ObjCNSObjectAttrD1Ev", "clang::ObjCNSObjectAttr::~ObjCNSObjectAttr()"},
-    {"_ZN5clang16ObjCNSObjectAttrD0Ev", "clang::ObjCNSObjectAttr::~ObjCNSObjectAttr()"},
-    {"_ZN5clang16OverloadableAttrD1Ev", "clang::OverloadableAttr::~OverloadableAttr()"},
-    {"_ZN5clang16OverloadableAttrD0Ev", "clang::OverloadableAttr::~OverloadableAttr()"},
-    {"_ZN5clang12OverrideAttrD1Ev", "clang::OverrideAttr::~OverrideAttr()"},
-    {"_ZN5clang12OverrideAttrD0Ev", "clang::OverrideAttr::~OverrideAttr()"},
-    {"_ZN5clang13OwnershipAttrD1Ev", "clang::OwnershipAttr::~OwnershipAttr()"},
-    {"_ZN5clang13OwnershipAttrD0Ev", "clang::OwnershipAttr::~OwnershipAttr()"},
-    {"_ZN5clang10PackedAttrD1Ev", "clang::PackedAttr::~PackedAttr()"},
-    {"_ZN5clang10PackedAttrD0Ev", "clang::PackedAttr::~PackedAttr()"},
-    {"_ZN5clang10PascalAttrD1Ev", "clang::PascalAttr::~PascalAttr()"},
-    {"_ZN5clang10PascalAttrD0Ev", "clang::PascalAttr::~PascalAttr()"},
-    {"_ZN5clang8PureAttrD1Ev", "clang::PureAttr::~PureAttr()"},
-    {"_ZN5clang8PureAttrD0Ev", "clang::PureAttr::~PureAttr()"},
-    {"_ZN5clang11RegparmAttrD1Ev", "clang::RegparmAttr::~RegparmAttr()"},
-    {"_ZN5clang11RegparmAttrD0Ev", "clang::RegparmAttr::~RegparmAttr()"},
-    {"_ZN5clang21ReqdWorkGroupSizeAttrD1Ev", "clang::ReqdWorkGroupSizeAttr::~ReqdWorkGroupSizeAttr()"},
-    {"_ZN5clang21ReqdWorkGroupSizeAttrD0Ev", "clang::ReqdWorkGroupSizeAttr::~ReqdWorkGroupSizeAttr()"},
-    {"_ZN5clang11SectionAttrD1Ev", "clang::SectionAttr::~SectionAttr()"},
-    {"_ZN5clang11SectionAttrD0Ev", "clang::SectionAttr::~SectionAttr()"},
-    {"_ZN5clang12SentinelAttrD1Ev", "clang::SentinelAttr::~SentinelAttr()"},
-    {"_ZN5clang12SentinelAttrD0Ev", "clang::SentinelAttr::~SentinelAttr()"},
-    {"_ZN5clang11StdCallAttrD1Ev", "clang::StdCallAttr::~StdCallAttr()"},
-    {"_ZN5clang11StdCallAttrD0Ev", "clang::StdCallAttr::~StdCallAttr()"},
-    {"_ZN5clang12ThisCallAttrD1Ev", "clang::ThisCallAttr::~ThisCallAttr()"},
-    {"_ZN5clang12ThisCallAttrD0Ev", "clang::ThisCallAttr::~ThisCallAttr()"},
-    {"_ZN5clang20TransparentUnionAttrD1Ev", "clang::TransparentUnionAttr::~TransparentUnionAttr()"},
-    {"_ZN5clang20TransparentUnionAttrD0Ev", "clang::TransparentUnionAttr::~TransparentUnionAttr()"},
-    {"_ZN5clang15UnavailableAttrD1Ev", "clang::UnavailableAttr::~UnavailableAttr()"},
-    {"_ZN5clang15UnavailableAttrD0Ev", "clang::UnavailableAttr::~UnavailableAttr()"},
-    {"_ZN5clang10UnusedAttrD1Ev", "clang::UnusedAttr::~UnusedAttr()"},
-    {"_ZN5clang10UnusedAttrD0Ev", "clang::UnusedAttr::~UnusedAttr()"},
-    {"_ZN5clang8UsedAttrD1Ev", "clang::UsedAttr::~UsedAttr()"},
-    {"_ZN5clang8UsedAttrD0Ev", "clang::UsedAttr::~UsedAttr()"},
-    {"_ZN5clang8UuidAttrD1Ev", "clang::UuidAttr::~UuidAttr()"},
-    {"_ZN5clang8UuidAttrD0Ev", "clang::UuidAttr::~UuidAttr()"},
-    {"_ZN5clang13VecReturnAttrD1Ev", "clang::VecReturnAttr::~VecReturnAttr()"},
-    {"_ZN5clang13VecReturnAttrD0Ev", "clang::VecReturnAttr::~VecReturnAttr()"},
-    {"_ZN5clang14VisibilityAttrD1Ev", "clang::VisibilityAttr::~VisibilityAttr()"},
-    {"_ZN5clang14VisibilityAttrD0Ev", "clang::VisibilityAttr::~VisibilityAttr()"},
-    {"_ZN5clang20WarnUnusedResultAttrD1Ev", "clang::WarnUnusedResultAttr::~WarnUnusedResultAttr()"},
-    {"_ZN5clang20WarnUnusedResultAttrD0Ev", "clang::WarnUnusedResultAttr::~WarnUnusedResultAttr()"},
-    {"_ZN5clang8WeakAttrD1Ev", "clang::WeakAttr::~WeakAttr()"},
-    {"_ZN5clang8WeakAttrD0Ev", "clang::WeakAttr::~WeakAttr()"},
-    {"_ZN5clang14WeakImportAttrD1Ev", "clang::WeakImportAttr::~WeakImportAttr()"},
-    {"_ZN5clang14WeakImportAttrD0Ev", "clang::WeakImportAttr::~WeakImportAttr()"},
-    {"_ZN5clang11WeakRefAttrD1Ev", "clang::WeakRefAttr::~WeakRefAttr()"},
-    {"_ZN5clang11WeakRefAttrD0Ev", "clang::WeakRefAttr::~WeakRefAttr()"},
-    {"_ZN5clang27X86ForceAlignArgPointerAttrD1Ev", "clang::X86ForceAlignArgPointerAttr::~X86ForceAlignArgPointerAttr()"},
-    {"_ZN5clang27X86ForceAlignArgPointerAttrD0Ev", "clang::X86ForceAlignArgPointerAttr::~X86ForceAlignArgPointerAttr()"},
-    {"_ZN5clang12CXXBasePaths17ComputeDeclsFoundEv", "clang::CXXBasePaths::ComputeDeclsFound()"},
-    {"_ZN5clang12CXXBasePaths17found_decls_beginEv", "clang::CXXBasePaths::found_decls_begin()"},
-    {"_ZN5clang12CXXBasePaths15found_decls_endEv", "clang::CXXBasePaths::found_decls_end()"},
-    {"_ZN5clang12CXXBasePaths11isAmbiguousENS_7CanQualINS_4TypeEEE", "clang::CXXBasePaths::isAmbiguous(clang::CanQual<clang::Type>)"},
-    {"_ZN5clang12CXXBasePaths5clearEv", "clang::CXXBasePaths::clear()"},
-    {"_ZN5clang12CXXBasePaths4swapERS0_", "clang::CXXBasePaths::swap(clang::CXXBasePaths&)"},
-    {"_ZNK5clang13CXXRecordDecl13isDerivedFromEPKS0_", "clang::CXXRecordDecl::isDerivedFrom(clang::CXXRecordDecl const*) const"},
-    {"_ZNK5clang13CXXRecordDecl13isDerivedFromEPKS0_RNS_12CXXBasePathsE", "clang::CXXRecordDecl::isDerivedFrom(clang::CXXRecordDecl const*, clang::CXXBasePaths&) const"},
-    {"_ZNK5clang13CXXRecordDecl13lookupInBasesEPFbPKNS_16CXXBaseSpecifierERNS_11CXXBasePathEPvES6_RNS_12CXXBasePathsE", "clang::CXXRecordDecl::lookupInBases(bool (*)(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*), void*, clang::CXXBasePaths&) const"},
-    {"_ZN5clang13CXXRecordDecl13FindBaseClassEPKNS_16CXXBaseSpecifierERNS_11CXXBasePathEPv", "clang::CXXRecordDecl::FindBaseClass(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*)"},
-    {"_ZNK5clang13CXXRecordDecl22isVirtuallyDerivedFromEPS0_", "clang::CXXRecordDecl::isVirtuallyDerivedFrom(clang::CXXRecordDecl*) const"},
-    {"_ZN5clang13CXXRecordDecl20FindVirtualBaseClassEPKNS_16CXXBaseSpecifierERNS_11CXXBasePathEPv", "clang::CXXRecordDecl::FindVirtualBaseClass(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*)"},
-    {"_ZNK5clang13CXXRecordDecl24isProvablyNotDerivedFromEPKS0_", "clang::CXXRecordDecl::isProvablyNotDerivedFrom(clang::CXXRecordDecl const*) const"},
-    {"_ZNK5clang13CXXRecordDecl11forallBasesEPFbPKS0_PvES3_b", "clang::CXXRecordDecl::forallBases(bool (*)(clang::CXXRecordDecl const*, void*), void*, bool) const"},
-    {"_Z9BaseIsNotPKN5clang13CXXRecordDeclEPv", "BaseIsNot(clang::CXXRecordDecl const*, void*)"},
-    {"_ZN5clang12CXXBasePaths13lookupInBasesERNS_10ASTContextEPKNS_13CXXRecordDeclEPFbPKNS_16CXXBaseSpecifierERNS_11CXXBasePathEPvESB_", "clang::CXXBasePaths::lookupInBases(clang::ASTContext&, clang::CXXRecordDecl const*, bool (*)(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*), void*)"},
-    {"_ZN5clang13CXXRecordDecl13FindTagMemberEPKNS_16CXXBaseSpecifierERNS_11CXXBasePathEPv", "clang::CXXRecordDecl::FindTagMember(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*)"},
-    {"_ZN5clang13CXXRecordDecl18FindOrdinaryMemberEPKNS_16CXXBaseSpecifierERNS_11CXXBasePathEPv", "clang::CXXRecordDecl::FindOrdinaryMember(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*)"},
-    {"_ZN5clang13CXXRecordDecl29FindNestedNameSpecifierMemberEPKNS_16CXXBaseSpecifierERNS_11CXXBasePathEPv", "clang::CXXRecordDecl::FindNestedNameSpecifierMember(clang::CXXBaseSpecifier const*, clang::CXXBasePath&, void*)"},
-    {"_ZN5clang17OverridingMethods3addEjNS_19UniqueVirtualMethodE", "clang::OverridingMethods::add(unsigned int, clang::UniqueVirtualMethod)"},
-    {"_ZN5clang17OverridingMethods3addERKS0_", "clang::OverridingMethods::add(clang::OverridingMethods const&)"},
-    {"_ZN5clang17OverridingMethods10replaceAllENS_19UniqueVirtualMethodE", "clang::OverridingMethods::replaceAll(clang::UniqueVirtualMethod)"},
-    {"_ZNK5clang13CXXRecordDecl18getFinalOverridersERNS_20CXXFinalOverriderMapE", "clang::CXXRecordDecl::getFinalOverriders(clang::CXXFinalOverriderMap&) const"},
-    {"_ZN12_GLOBAL__N_123FinalOverriderCollector7CollectEPKN5clang13CXXRecordDeclEbS4_RNS1_20CXXFinalOverriderMapE", "(anonymous namespace)::FinalOverriderCollector::Collect(clang::CXXRecordDecl const*, bool, clang::CXXRecordDecl const*, clang::CXXFinalOverriderMap&)"},
-    {"_ZNK5clang13CXXRecordDecl23getIndirectPrimaryBasesERNS_25CXXIndirectPrimaryBaseSetE", "clang::CXXRecordDecl::getIndirectPrimaryBases(clang::CXXIndirectPrimaryBaseSet&) const"},
-    {"_Z23AddIndirectPrimaryBasesPKN5clang13CXXRecordDeclERNS_10ASTContextERNS_25CXXIndirectPrimaryBaseSetE", "AddIndirectPrimaryBases(clang::CXXRecordDecl const*, clang::ASTContext&, clang::CXXIndirectPrimaryBaseSet&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang19UniqueVirtualMethodELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::UniqueVirtualMethod, false>::grow(unsigned long)"},
-    {"_ZSt6__findIPN5clang19UniqueVirtualMethodES1_ET_S3_S3_RKT0_St26random_access_iterator_tag", "clang::UniqueVirtualMethod* std::__find<clang::UniqueVirtualMethod*, clang::UniqueVirtualMethod>(clang::UniqueVirtualMethod*, clang::UniqueVirtualMethod*, clang::UniqueVirtualMethod const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIN5clang19UniqueVirtualMethodELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE16FindAndConstructERKj", "llvm::DenseMap<unsigned int, llvm::SmallVector<clang::UniqueVirtualMethod, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<clang::UniqueVirtualMethod, 4u> > >::FindAndConstruct(unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIN5clang19UniqueVirtualMethodELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE16InsertIntoBucketERKjRKS4_PSt4pairIjS4_E", "llvm::DenseMap<unsigned int, llvm::SmallVector<clang::UniqueVirtualMethod, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<clang::UniqueVirtualMethod, 4u> > >::InsertIntoBucket(unsigned int const&, llvm::SmallVector<clang::UniqueVirtualMethod, 4u> const&, std::pair<unsigned int, llvm::SmallVector<clang::UniqueVirtualMethod, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIN5clang19UniqueVirtualMethodELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::SmallVector<clang::UniqueVirtualMethod, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<clang::UniqueVirtualMethod, 4u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang19UniqueVirtualMethodEEaSERKS3_", "llvm::SmallVectorImpl<clang::UniqueVirtualMethod>::operator=(llvm::SmallVectorImpl<clang::UniqueVirtualMethod> const&)"},
-    {"_ZN4llvm15SmallVectorImplIN5clang18CXXBasePathElementEEaSERKS3_", "llvm::SmallVectorImpl<clang::CXXBasePathElement>::operator=(llvm::SmallVectorImpl<clang::CXXBasePathElement> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang18CXXBasePathElementELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::CXXBasePathElement, false>::grow(unsigned long)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_S2_IbjEESt10_Select1stIS5_ENS0_16QualTypeOrderingESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, std::pair<bool, unsigned int> >, std::_Select1st<std::pair<clang::QualType const, std::pair<bool, unsigned int> > >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, std::pair<bool, unsigned int> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::QualType const, std::pair<bool, unsigned int> > >, std::pair<clang::QualType const, std::pair<bool, unsigned int> > const&)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_S2_IbjEESt10_Select1stIS5_ENS0_16QualTypeOrderingESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, std::pair<bool, unsigned int> >, std::_Select1st<std::pair<clang::QualType const, std::pair<bool, unsigned int> > >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, std::pair<bool, unsigned int> > > >::_M_insert_unique(std::pair<clang::QualType const, std::pair<bool, unsigned int> > const&)"},
-    {"_ZNSt8_Rb_treeIPN5clang9NamedDeclES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<clang::NamedDecl*, clang::NamedDecl*, std::_Identity<clang::NamedDecl*>, std::less<clang::NamedDecl*>, std::allocator<clang::NamedDecl*> >::_M_insert_unique(clang::NamedDecl* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS1_17OverridingMethodsENS_12DenseMapInfoIS4_EENS6_IS5_EEE16FindAndConstructERKS4_", "llvm::DenseMap<clang::CXXMethodDecl const*, clang::OverridingMethods, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<clang::OverridingMethods> >::FindAndConstruct(clang::CXXMethodDecl const* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS1_17OverridingMethodsENS_12DenseMapInfoIS4_EENS6_IS5_EEE16InsertIntoBucketERKS4_RKS5_PSt4pairIS4_S5_E", "llvm::DenseMap<clang::CXXMethodDecl const*, clang::OverridingMethods, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<clang::OverridingMethods> >::InsertIntoBucket(clang::CXXMethodDecl const* const&, clang::OverridingMethods const&, std::pair<clang::CXXMethodDecl const*, clang::OverridingMethods>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS1_17OverridingMethodsENS_12DenseMapInfoIS4_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::CXXMethodDecl const*, clang::OverridingMethods, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<clang::OverridingMethods> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIN5clang19UniqueVirtualMethodELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE8CopyFromERKS8_", "llvm::DenseMap<unsigned int, llvm::SmallVector<clang::UniqueVirtualMethod, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<clang::UniqueVirtualMethod, 4u> > >::CopyFrom(llvm::DenseMap<unsigned int, llvm::SmallVector<clang::UniqueVirtualMethod, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<clang::UniqueVirtualMethod, 4u> > > const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEPNS1_20CXXFinalOverriderMapENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::CXXRecordDecl const*, clang::CXXFinalOverriderMap*, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CXXFinalOverriderMap*> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, clang::CXXFinalOverriderMap* const&, std::pair<clang::CXXRecordDecl const*, clang::CXXFinalOverriderMap*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEPNS1_20CXXFinalOverriderMapENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, clang::CXXFinalOverriderMap*, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CXXFinalOverriderMap*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::CXXRecordDecl const*, unsigned int, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, unsigned int const&, std::pair<clang::CXXRecordDecl const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, unsigned int, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIPN5clang9NamedDeclES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<clang::NamedDecl*, clang::NamedDecl*, std::_Identity<clang::NamedDecl*>, std::less<clang::NamedDecl*>, std::allocator<clang::NamedDecl*> >::_M_erase(std::_Rb_tree_node<clang::NamedDecl*>*)"},
-    {"_ZN5clang9NamedDecl17ClearLinkageCacheEv", "clang::NamedDecl::ClearLinkageCache()"},
-    {"_ZNK5clang9NamedDecl10getLinkageEv", "clang::NamedDecl::getLinkage() const"},
-    {"_Z12getLVForDeclPKN5clang9NamedDeclEN12_GLOBAL__N_17LVFlagsE", "getLVForDecl(clang::NamedDecl const*, (anonymous namespace)::LVFlags)"},
-    {"_ZNK5clang9NamedDecl23getLinkageAndVisibilityEv", "clang::NamedDecl::getLinkageAndVisibility() const"},
-    {"_ZNK5clang9NamedDecl24getQualifiedNameAsStringEv", "clang::NamedDecl::getQualifiedNameAsString() const"},
-    {"_ZNK5clang9NamedDecl24getQualifiedNameAsStringERKNS_14PrintingPolicyE", "clang::NamedDecl::getQualifiedNameAsString(clang::PrintingPolicy const&) const"},
-    {"_ZNK5clang12FunctionDecl12getNumParamsEv", "clang::FunctionDecl::getNumParams() const"},
-    {"_ZNK5clang9NamedDecl19declarationReplacesEPS0_", "clang::NamedDecl::declarationReplaces(clang::NamedDecl*) const"},
-    {"_ZNK5clang9NamedDecl10hasLinkageEv", "clang::NamedDecl::hasLinkage() const"},
-    {"_ZN5clang9NamedDecl17getUnderlyingDeclEv", "clang::NamedDecl::getUnderlyingDecl()"},
-    {"_ZNK5clang9NamedDecl19isCXXInstanceMemberEv", "clang::NamedDecl::isCXXInstanceMember() const"},
-    {"_ZNK5clang14DeclaratorDecl19getTypeSpecStartLocEv", "clang::DeclaratorDecl::getTypeSpecStartLoc() const"},
-    {"_ZN5clang14DeclaratorDecl16setQualifierInfoEPNS_19NestedNameSpecifierENS_11SourceRangeE", "clang::DeclaratorDecl::setQualifierInfo(clang::NestedNameSpecifier*, clang::SourceRange)"},
-    {"_ZNK5clang14DeclaratorDecl16getOuterLocStartEv", "clang::DeclaratorDecl::getOuterLocStart() const"},
-    {"_ZN5clang13QualifierInfo29setTemplateParameterListsInfoERNS_10ASTContextEjPPNS_21TemplateParameterListE", "clang::QualifierInfo::setTemplateParameterListsInfo(clang::ASTContext&, unsigned int, clang::TemplateParameterList**)"},
-    {"_ZN5clang7VarDecl30getStorageClassSpecifierStringENS_12StorageClassE", "clang::VarDecl::getStorageClassSpecifierString(clang::StorageClass)"},
-    {"_ZN5clang7VarDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoENS_12StorageClassESB_", "clang::VarDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::StorageClass, clang::StorageClass)"},
-    {"_ZN5clang7VarDecl15setStorageClassENS_12StorageClassE", "clang::VarDecl::setStorageClass(clang::StorageClass)"},
-    {"_ZNK5clang7VarDecl16getInnerLocStartEv", "clang::VarDecl::getInnerLocStart() const"},
-    {"_ZNK5clang7VarDecl14getSourceRangeEv", "clang::VarDecl::getSourceRange() const"},
-    {"_ZNK5clang7VarDecl9isExternCEv", "clang::VarDecl::isExternC() const"},
-    {"_ZN5clang7VarDecl16getCanonicalDeclEv", "clang::VarDecl::getCanonicalDecl()"},
-    {"_ZNK5clang7VarDecl28isThisDeclarationADefinitionEv", "clang::VarDecl::isThisDeclarationADefinition() const"},
-    {"_ZNK5clang7VarDecl29getTemplateSpecializationKindEv", "clang::VarDecl::getTemplateSpecializationKind() const"},
-    {"_ZN5clang7VarDecl19getActingDefinitionEv", "clang::VarDecl::getActingDefinition()"},
-    {"_ZNK5clang7VarDecl24isTentativeDefinitionNowEv", "clang::VarDecl::isTentativeDefinitionNow() const"},
-    {"_ZN5clang7VarDecl13getDefinitionEv", "clang::VarDecl::getDefinition()"},
-    {"_ZNK5clang7VarDecl13hasDefinitionEv", "clang::VarDecl::hasDefinition() const"},
-    {"_ZNK5clang7VarDecl17getAnyInitializerERPKS0_", "clang::VarDecl::getAnyInitializer(clang::VarDecl const*&) const"},
-    {"_ZNK5clang7VarDecl11isOutOfLineEv", "clang::VarDecl::isOutOfLine() const"},
-    {"_ZNK5clang7VarDecl35getInstantiatedFromStaticDataMemberEv", "clang::VarDecl::getInstantiatedFromStaticDataMember() const"},
-    {"_ZN5clang7VarDecl22getOutOfLineDefinitionEv", "clang::VarDecl::getOutOfLineDefinition()"},
-    {"_ZN5clang7VarDecl7setInitEPNS_4ExprE", "clang::VarDecl::setInit(clang::Expr*)"},
-    {"_ZNK5clang7VarDecl27getMemberSpecializationInfoEv", "clang::VarDecl::getMemberSpecializationInfo() const"},
-    {"_ZN5clang7VarDecl29setTemplateSpecializationKindENS_26TemplateSpecializationKindENS_14SourceLocationE", "clang::VarDecl::setTemplateSpecializationKind(clang::TemplateSpecializationKind, clang::SourceLocation)"},
-    {"_ZN5clang11ParmVarDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoENS_12StorageClassESB_PNS_4ExprE", "clang::ParmVarDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::StorageClass, clang::StorageClass, clang::Expr*)"},
-    {"_ZN5clang11ParmVarDecl13getDefaultArgEv", "clang::ParmVarDecl::getDefaultArg()"},
-    {"_ZNK5clang11ParmVarDecl27getNumDefaultArgTemporariesEv", "clang::ParmVarDecl::getNumDefaultArgTemporaries() const"},
-    {"_ZN5clang11ParmVarDecl22getDefaultArgTemporaryEj", "clang::ParmVarDecl::getDefaultArgTemporary(unsigned int)"},
-    {"_ZNK5clang11ParmVarDecl18getDefaultArgRangeEv", "clang::ParmVarDecl::getDefaultArgRange() const"},
-    {"_ZNK5clang11ParmVarDecl15isParameterPackEv", "clang::ParmVarDecl::isParameterPack() const"},
-    {"_ZNK5clang12FunctionDecl20getNameForDiagnosticERSsRKNS_14PrintingPolicyEb", "clang::FunctionDecl::getNameForDiagnostic(std::string&, clang::PrintingPolicy const&, bool) const"},
-    {"_ZNK5clang12FunctionDecl29getTemplateSpecializationArgsEv", "clang::FunctionDecl::getTemplateSpecializationArgs() const"},
-    {"_ZNK5clang12FunctionDecl10isVariadicEv", "clang::FunctionDecl::isVariadic() const"},
-    {"_ZNK5clang12FunctionDecl7hasBodyERPKS0_", "clang::FunctionDecl::hasBody(clang::FunctionDecl const*&) const"},
-    {"_ZNK5clang12FunctionDecl7getBodyERPKS0_", "clang::FunctionDecl::getBody(clang::FunctionDecl const*&) const"},
-    {"_ZN5clang12FunctionDecl7setBodyEPNS_4StmtE", "clang::FunctionDecl::setBody(clang::Stmt*)"},
-    {"_ZN5clang12FunctionDecl7setPureEb", "clang::FunctionDecl::setPure(bool)"},
-    {"_ZNK5clang12FunctionDecl6isMainEv", "clang::FunctionDecl::isMain() const"},
-    {"_ZNK5clang12FunctionDecl9isExternCEv", "clang::FunctionDecl::isExternC() const"},
-    {"_ZNK5clang12FunctionDecl8isGlobalEv", "clang::FunctionDecl::isGlobal() const"},
-    {"_ZN5clang12FunctionDecl22setPreviousDeclarationEPS0_", "clang::FunctionDecl::setPreviousDeclaration(clang::FunctionDecl*)"},
-    {"_ZNK5clang12FunctionDecl16getCanonicalDeclEv", "clang::FunctionDecl::getCanonicalDecl() const"},
-    {"_ZN5clang12FunctionDecl16getCanonicalDeclEv", "clang::FunctionDecl::getCanonicalDecl()"},
-    {"_ZN5clang12FunctionDecl15setStorageClassENS_12StorageClassE", "clang::FunctionDecl::setStorageClass(clang::StorageClass)"},
-    {"_ZNK5clang12FunctionDecl12getBuiltinIDEv", "clang::FunctionDecl::getBuiltinID() const"},
-    {"_ZN5clang12FunctionDecl9setParamsERNS_10ASTContextEPPNS_11ParmVarDeclEj", "clang::FunctionDecl::setParams(clang::ASTContext&, clang::ParmVarDecl**, unsigned int)"},
-    {"_ZNK5clang12FunctionDecl23getMinRequiredArgumentsEv", "clang::FunctionDecl::getMinRequiredArguments() const"},
-    {"_ZNK5clang12FunctionDecl9isInlinedEv", "clang::FunctionDecl::isInlined() const"},
-    {"_ZNK5clang12FunctionDecl29getTemplateSpecializationKindEv", "clang::FunctionDecl::getTemplateSpecializationKind() const"},
-    {"_ZNK5clang12FunctionDecl31getTemplateInstantiationPatternEv", "clang::FunctionDecl::getTemplateInstantiationPattern() const"},
-    {"_ZNK5clang12FunctionDecl35isInlineDefinitionExternallyVisibleEv", "clang::FunctionDecl::isInlineDefinitionExternallyVisible() const"},
-    {"_ZNK5clang12FunctionDecl21getOverloadedOperatorEv", "clang::FunctionDecl::getOverloadedOperator() const"},
-    {"_ZNK5clang12FunctionDecl20getLiteralIdentifierEv", "clang::FunctionDecl::getLiteralIdentifier() const"},
-    {"_ZNK5clang12FunctionDecl16getTemplatedKindEv", "clang::FunctionDecl::getTemplatedKind() const"},
-    {"_ZNK5clang12FunctionDecl33getInstantiatedFromMemberFunctionEv", "clang::FunctionDecl::getInstantiatedFromMemberFunction() const"},
-    {"_ZNK5clang12FunctionDecl27getMemberSpecializationInfoEv", "clang::FunctionDecl::getMemberSpecializationInfo() const"},
-    {"_ZN5clang12FunctionDecl32setInstantiationOfMemberFunctionERNS_10ASTContextEPS0_NS_26TemplateSpecializationKindE", "clang::FunctionDecl::setInstantiationOfMemberFunction(clang::ASTContext&, clang::FunctionDecl*, clang::TemplateSpecializationKind)"},
-    {"_ZNK5clang12FunctionDecl24isImplicitlyInstantiableEv", "clang::FunctionDecl::isImplicitlyInstantiable() const"},
-    {"_ZNK5clang12FunctionDecl18getPrimaryTemplateEv", "clang::FunctionDecl::getPrimaryTemplate() const"},
-    {"_ZNK5clang12FunctionDecl38getTemplateSpecializationArgsAsWrittenEv", "clang::FunctionDecl::getTemplateSpecializationArgsAsWritten() const"},
-    {"_ZN5clang12FunctionDecl33setFunctionTemplateSpecializationERNS_10ASTContextEPNS_20FunctionTemplateDeclEPKNS_20TemplateArgumentListEPvNS_26TemplateSpecializationKindEPKNS_24TemplateArgumentListInfoENS_14SourceLocationE", "clang::FunctionDecl::setFunctionTemplateSpecialization(clang::ASTContext&, clang::FunctionTemplateDecl*, clang::TemplateArgumentList const*, void*, clang::TemplateSpecializationKind, clang::TemplateArgumentListInfo const*, clang::SourceLocation)"},
-    {"_ZN5clang12FunctionDecl34setDependentTemplateSpecializationERNS_10ASTContextERKNS_17UnresolvedSetImplERKNS_24TemplateArgumentListInfoE", "clang::FunctionDecl::setDependentTemplateSpecialization(clang::ASTContext&, clang::UnresolvedSetImpl const&, clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang43DependentFunctionTemplateSpecializationInfoC1ERKNS_17UnresolvedSetImplERKNS_24TemplateArgumentListInfoE", "clang::DependentFunctionTemplateSpecializationInfo::DependentFunctionTemplateSpecializationInfo(clang::UnresolvedSetImpl const&, clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang43DependentFunctionTemplateSpecializationInfoC2ERKNS_17UnresolvedSetImplERKNS_24TemplateArgumentListInfoE", "clang::DependentFunctionTemplateSpecializationInfo::DependentFunctionTemplateSpecializationInfo(clang::UnresolvedSetImpl const&, clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang12FunctionDecl29setTemplateSpecializationKindENS_26TemplateSpecializationKindENS_14SourceLocationE", "clang::FunctionDecl::setTemplateSpecializationKind(clang::TemplateSpecializationKind, clang::SourceLocation)"},
-    {"_ZNK5clang12FunctionDecl23getPointOfInstantiationEv", "clang::FunctionDecl::getPointOfInstantiation() const"},
-    {"_ZNK5clang12FunctionDecl11isOutOfLineEv", "clang::FunctionDecl::isOutOfLine() const"},
-    {"_ZN5clang9FieldDecl6CreateERKNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoEPNS_4ExprEb", "clang::FieldDecl::Create(clang::ASTContext const&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::Expr*, bool)"},
-    {"_ZNK5clang9FieldDecl24isAnonymousStructOrUnionEv", "clang::FieldDecl::isAnonymousStructOrUnion() const"},
-    {"_ZNK5clang9FieldDecl13getFieldIndexEv", "clang::FieldDecl::getFieldIndex() const"},
-    {"_ZNK5clang10RecordDecl11field_beginEv", "clang::RecordDecl::field_begin() const"},
-    {"_ZNK5clang7TagDecl16getOuterLocStartEv", "clang::TagDecl::getOuterLocStart() const"},
-    {"_ZNK5clang7TagDecl14getSourceRangeEv", "clang::TagDecl::getSourceRange() const"},
-    {"_ZN5clang7TagDecl16getCanonicalDeclEv", "clang::TagDecl::getCanonicalDecl()"},
-    {"_ZN5clang7TagDecl21setTypedefForAnonDeclEPNS_11TypedefDeclE", "clang::TagDecl::setTypedefForAnonDecl(clang::TypedefDecl*)"},
-    {"_ZN5clang7TagDecl15startDefinitionEv", "clang::TagDecl::startDefinition()"},
-    {"_ZN5clang7TagDecl18completeDefinitionEv", "clang::TagDecl::completeDefinition()"},
-    {"_ZNK5clang7TagDecl13getDefinitionEv", "clang::TagDecl::getDefinition() const"},
-    {"_ZN5clang7TagDecl16setQualifierInfoEPNS_19NestedNameSpecifierENS_11SourceRangeE", "clang::TagDecl::setQualifierInfo(clang::NestedNameSpecifier*, clang::SourceRange)"},
-    {"_ZN5clang8EnumDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoES5_PS0_bbb", "clang::EnumDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::EnumDecl*, bool, bool, bool)"},
-    {"_ZN5clang8EnumDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::EnumDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZN5clang8EnumDecl18completeDefinitionENS_8QualTypeES1_jj", "clang::EnumDecl::completeDefinition(clang::QualType, clang::QualType, unsigned int, unsigned int)"},
-    {"_ZN5clang10RecordDeclC1ENS_4Decl4KindENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEPS0_S6_", "clang::RecordDecl::RecordDecl(clang::Decl::Kind, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::RecordDecl*, clang::SourceLocation)"},
-    {"_ZN5clang10RecordDeclC2ENS_4Decl4KindENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEPS0_S6_", "clang::RecordDecl::RecordDecl(clang::Decl::Kind, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::RecordDecl*, clang::SourceLocation)"},
-    {"_ZN5clang10RecordDecl6CreateERKNS_10ASTContextENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoES7_PS0_", "clang::RecordDecl::Create(clang::ASTContext const&, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::RecordDecl*)"},
-    {"_ZN5clang10RecordDecl6CreateERKNS_10ASTContextENS_4Decl10EmptyShellE", "clang::RecordDecl::Create(clang::ASTContext const&, clang::Decl::EmptyShell)"},
-    {"_ZNK5clang10RecordDecl19isInjectedClassNameEv", "clang::RecordDecl::isInjectedClassName() const"},
-    {"_ZNK5clang10RecordDecl29LoadFieldsFromExternalStorageEv", "clang::RecordDecl::LoadFieldsFromExternalStorage() const"},
-    {"_ZN5clang10RecordDecl18completeDefinitionEv", "clang::RecordDecl::completeDefinition()"},
-    {"_ZN5clang9BlockDecl9setParamsEPPNS_11ParmVarDeclEj", "clang::BlockDecl::setParams(clang::ParmVarDecl**, unsigned int)"},
-    {"_ZN5clang9BlockDecl11setCapturesERNS_10ASTContextEPKNS0_7CaptureES5_b", "clang::BlockDecl::setCaptures(clang::ASTContext&, clang::BlockDecl::Capture const*, clang::BlockDecl::Capture const*, bool)"},
-    {"_ZNK5clang9BlockDecl14getSourceRangeEv", "clang::BlockDecl::getSourceRange() const"},
-    {"_ZN5clang19TranslationUnitDecl6CreateERNS_10ASTContextE", "clang::TranslationUnitDecl::Create(clang::ASTContext&)"},
-    {"_ZN5clang13NamespaceDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoE", "clang::NamespaceDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*)"},
-    {"_ZN5clang13NamespaceDecl16getNextNamespaceEv", "clang::NamespaceDecl::getNextNamespace()"},
-    {"_ZN5clang17ImplicitParamDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeE", "clang::ImplicitParamDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType)"},
-    {"_ZN5clang12FunctionDecl6CreateERNS_10ASTContextEPNS_11DeclContextERKNS_19DeclarationNameInfoENS_8QualTypeEPNS_14TypeSourceInfoENS_12StorageClassESB_bb", "clang::FunctionDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::DeclarationNameInfo const&, clang::QualType, clang::TypeSourceInfo*, clang::StorageClass, clang::StorageClass, bool, bool)"},
-    {"_ZN5clang9BlockDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationE", "clang::BlockDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation)"},
-    {"_ZN5clang16EnumConstantDecl6CreateERNS_10ASTContextEPNS_8EnumDeclENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_4ExprERKN4llvm6APSIntE", "clang::EnumConstantDecl::Create(clang::ASTContext&, clang::EnumDecl*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::Expr*, llvm::APSInt const&)"},
-    {"_ZN5clang17IndirectFieldDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPPNS_9NamedDeclEj", "clang::IndirectFieldDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::NamedDecl**, unsigned int)"},
-    {"_ZNK5clang16EnumConstantDecl14getSourceRangeEv", "clang::EnumConstantDecl::getSourceRange() const"},
-    {"_ZN5clang11TypedefDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEPNS_14TypeSourceInfoE", "clang::TypedefDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::TypeSourceInfo*)"},
-    {"_ZN5clang16FileScopeAsmDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_13StringLiteralE", "clang::FileScopeAsmDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::StringLiteral*)"},
-    {"_Z21GetExplicitVisibilityPKN5clang4DeclE", "GetExplicitVisibility(clang::Decl const*)"},
-    {"_Z29getLVForTemplateParameterListPKN5clang21TemplateParameterListE", "getLVForTemplateParameterList(clang::TemplateParameterList const*)"},
-    {"_Z28getLVForTemplateArgumentListPKN5clang16TemplateArgumentEjRN12_GLOBAL__N_17LVFlagsE", "getLVForTemplateArgumentList(clang::TemplateArgument const*, unsigned int, (anonymous namespace)::LVFlags&)"},
-    {"_ZNK5clang4Decl11isOutOfLineEv", "clang::Decl::isOutOfLine() const"},
-    {"_ZNK5clang9NamedDecl20getNameForDiagnosticERSsRKNS_14PrintingPolicyEb", "clang::NamedDecl::getNameForDiagnostic(std::string&, clang::PrintingPolicy const&, bool) const"},
-    {"_ZNK5clang4Decl7getAttrINS_16OverloadableAttrEEEPT_v", "clang::OverloadableAttr* clang::Decl::getAttr<clang::OverloadableAttr>() const"},
-    {"_ZN5clang12RedeclarableINS_12FunctionDeclEE22setPreviousDeclarationEPS1_", "clang::Redeclarable<clang::FunctionDecl>::setPreviousDeclaration(clang::FunctionDecl*)"},
-    {"_ZN5clang7TagDeclC2ENS_4Decl4KindENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEPS0_S6_", "clang::TagDecl::TagDecl(clang::Decl::Kind, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::TagDecl*, clang::SourceLocation)"},
-    {"_ZN5clang7VarDeclD1Ev", "clang::VarDecl::~VarDecl()"},
-    {"_ZN5clang7VarDeclD0Ev", "clang::VarDecl::~VarDecl()"},
-    {"_ZN5clang7VarDecl20getNextRedeclarationEv", "clang::VarDecl::getNextRedeclaration()"},
-    {"_ZNK5clang4Decl7getBodyEv", "clang::Decl::getBody() const"},
-    {"_ZNK5clang4Decl7hasBodyEv", "clang::Decl::hasBody() const"},
-    {"_ZN5clang12FunctionDeclD1Ev", "clang::FunctionDecl::~FunctionDecl()"},
-    {"_ZN5clang12FunctionDeclD0Ev", "clang::FunctionDecl::~FunctionDecl()"},
-    {"_ZNK5clang12FunctionDecl14getSourceRangeEv", "clang::FunctionDecl::getSourceRange() const"},
-    {"_ZN5clang12FunctionDecl20getNextRedeclarationEv", "clang::FunctionDecl::getNextRedeclaration()"},
-    {"_ZNK5clang12FunctionDecl7getBodyEv", "clang::FunctionDecl::getBody() const"},
-    {"_ZNK5clang12FunctionDecl7hasBodyEv", "clang::FunctionDecl::hasBody() const"},
-    {"_ZNK5clang14DeclaratorDecl16getInnerLocStartEv", "clang::DeclaratorDecl::getInnerLocStart() const"},
-    {"_ZN5clang16EnumConstantDeclD1Ev", "clang::EnumConstantDecl::~EnumConstantDecl()"},
-    {"_ZN5clang16EnumConstantDeclD0Ev", "clang::EnumConstantDecl::~EnumConstantDecl()"},
-    {"_ZN5clang4Decl16getCanonicalDeclEv", "clang::Decl::getCanonicalDecl()"},
-    {"_ZN5clang4Decl20getNextRedeclarationEv", "clang::Decl::getNextRedeclaration()"},
-    {"_ZN5clang7TagDeclD1Ev", "clang::TagDecl::~TagDecl()"},
-    {"_ZN5clang7TagDeclD0Ev", "clang::TagDecl::~TagDecl()"},
-    {"_ZN5clang7TagDecl20getNextRedeclarationEv", "clang::TagDecl::getNextRedeclaration()"},
-    {"_ZNK5clang7TagDecl16getInnerLocStartEv", "clang::TagDecl::getInnerLocStart() const"},
-    {"_ZN5clang9BlockDeclD1Ev", "clang::BlockDecl::~BlockDecl()"},
-    {"_ZN5clang9BlockDeclD0Ev", "clang::BlockDecl::~BlockDecl()"},
-    {"_ZNK5clang9BlockDecl7getBodyEv", "clang::BlockDecl::getBody() const"},
-    {"_ZN5clang10RecordDeclD1Ev", "clang::RecordDecl::~RecordDecl()"},
-    {"_ZN5clang10RecordDeclD0Ev", "clang::RecordDecl::~RecordDecl()"},
-    {"_ZN5clang9FieldDecl11classofKindENS_4Decl4KindE", "clang::FieldDecl::classofKind(clang::Decl::Kind)"},
-    {"_ZN5clang8TypeDeclD1Ev", "clang::TypeDecl::~TypeDecl()"},
-    {"_ZN5clang8TypeDeclD0Ev", "clang::TypeDecl::~TypeDecl()"},
-    {"_ZNK5clang4Decl14getSourceRangeEv", "clang::Decl::getSourceRange() const"},
-    {"_ZN5clang9NamedDeclD1Ev", "clang::NamedDecl::~NamedDecl()"},
-    {"_ZN5clang9NamedDeclD0Ev", "clang::NamedDecl::~NamedDecl()"},
-    {"_ZN5clang9ValueDeclD1Ev", "clang::ValueDecl::~ValueDecl()"},
-    {"_ZN5clang9ValueDeclD0Ev", "clang::ValueDecl::~ValueDecl()"},
-    {"_ZN5clang14DeclaratorDeclD1Ev", "clang::DeclaratorDecl::~DeclaratorDecl()"},
-    {"_ZN5clang14DeclaratorDeclD0Ev", "clang::DeclaratorDecl::~DeclaratorDecl()"},
-    {"_ZNK5clang14DeclaratorDecl14getSourceRangeEv", "clang::DeclaratorDecl::getSourceRange() const"},
-    {"_ZN5clang16FileScopeAsmDeclD1Ev", "clang::FileScopeAsmDecl::~FileScopeAsmDecl()"},
-    {"_ZN5clang16FileScopeAsmDeclD0Ev", "clang::FileScopeAsmDecl::~FileScopeAsmDecl()"},
-    {"_ZN5clang11TypedefDeclD1Ev", "clang::TypedefDecl::~TypedefDecl()"},
-    {"_ZN5clang11TypedefDeclD0Ev", "clang::TypedefDecl::~TypedefDecl()"},
-    {"_ZN5clang11TypedefDecl16getCanonicalDeclEv", "clang::TypedefDecl::getCanonicalDecl()"},
-    {"_ZN5clang11TypedefDecl20getNextRedeclarationEv", "clang::TypedefDecl::getNextRedeclaration()"},
-    {"_ZN5clang17IndirectFieldDeclD1Ev", "clang::IndirectFieldDecl::~IndirectFieldDecl()"},
-    {"_ZN5clang17IndirectFieldDeclD0Ev", "clang::IndirectFieldDecl::~IndirectFieldDecl()"},
-    {"_ZN5clang16EnumConstantDeclC2EPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_4ExprERKN4llvm6APSIntE", "clang::EnumConstantDecl::EnumConstantDecl(clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::Expr*, llvm::APSInt const&)"},
-    {"_ZN5clang9BlockDeclC2EPNS_11DeclContextENS_14SourceLocationE", "clang::BlockDecl::BlockDecl(clang::DeclContext*, clang::SourceLocation)"},
-    {"_ZN5clang12FunctionDeclC2ENS_4Decl4KindEPNS_11DeclContextERKNS_19DeclarationNameInfoENS_8QualTypeEPNS_14TypeSourceInfoENS_12StorageClassESB_b", "clang::FunctionDecl::FunctionDecl(clang::Decl::Kind, clang::DeclContext*, clang::DeclarationNameInfo const&, clang::QualType, clang::TypeSourceInfo*, clang::StorageClass, clang::StorageClass, bool)"},
-    {"_ZN5clang7VarDeclC2ENS_4Decl4KindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoENS_12StorageClassESB_", "clang::VarDecl::VarDecl(clang::Decl::Kind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::StorageClass, clang::StorageClass)"},
-    {"_ZN5clang17ImplicitParamDeclD1Ev", "clang::ImplicitParamDecl::~ImplicitParamDecl()"},
-    {"_ZN5clang17ImplicitParamDeclD0Ev", "clang::ImplicitParamDecl::~ImplicitParamDecl()"},
-    {"_ZN5clang13NamespaceDeclC2EPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoE", "clang::NamespaceDecl::NamespaceDecl(clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*)"},
-    {"_ZN5clang13NamespaceDeclD1Ev", "clang::NamespaceDecl::~NamespaceDecl()"},
-    {"_ZN5clang13NamespaceDeclD0Ev", "clang::NamespaceDecl::~NamespaceDecl()"},
-    {"_ZNK5clang13NamespaceDecl14getSourceRangeEv", "clang::NamespaceDecl::getSourceRange() const"},
-    {"_ZN5clang13NamespaceDecl16getCanonicalDeclEv", "clang::NamespaceDecl::getCanonicalDecl()"},
-    {"_ZN5clang19TranslationUnitDeclC2ERNS_10ASTContextE", "clang::TranslationUnitDecl::TranslationUnitDecl(clang::ASTContext&)"},
-    {"_ZN5clang19TranslationUnitDeclD1Ev", "clang::TranslationUnitDecl::~TranslationUnitDecl()"},
-    {"_ZN5clang19TranslationUnitDeclD0Ev", "clang::TranslationUnitDecl::~TranslationUnitDecl()"},
-    {"_ZN5clang12RedeclarableINS_7TagDeclEE22setPreviousDeclarationEPS1_", "clang::Redeclarable<clang::TagDecl>::setPreviousDeclaration(clang::TagDecl*)"},
-    {"_ZN5clang8EnumDeclD1Ev", "clang::EnumDecl::~EnumDecl()"},
-    {"_ZN5clang8EnumDeclD0Ev", "clang::EnumDecl::~EnumDecl()"},
-    {"_ZN5clang8EnumDecl16getCanonicalDeclEv", "clang::EnumDecl::getCanonicalDecl()"},
-    {"_ZN5clang9FieldDeclC2ENS_4Decl4KindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoEPNS_4ExprEb", "clang::FieldDecl::FieldDecl(clang::Decl::Kind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::Expr*, bool)"},
-    {"_ZN5clang9FieldDeclD1Ev", "clang::FieldDecl::~FieldDecl()"},
-    {"_ZN5clang9FieldDeclD0Ev", "clang::FieldDecl::~FieldDecl()"},
-    {"_ZN5clang11ParmVarDeclD1Ev", "clang::ParmVarDecl::~ParmVarDecl()"},
-    {"_ZN5clang11ParmVarDeclD0Ev", "clang::ParmVarDecl::~ParmVarDecl()"},
-    {"_ZNK5clang4Decl7getAttrINS_14VisibilityAttrEEEPT_v", "clang::VisibilityAttr* clang::Decl::getAttr<clang::VisibilityAttr>() const"},
-    {"_ZNK5clang4Decl15getDeclKindNameEv", "clang::Decl::getDeclKindName() const"},
-    {"_ZN5clang4Decl14setInvalidDeclEb", "clang::Decl::setInvalidDecl(bool)"},
-    {"_ZNK5clang11DeclContext15getDeclKindNameEv", "clang::DeclContext::getDeclKindName() const"},
-    {"_ZN5clang4Decl15CollectingStatsEb", "clang::Decl::CollectingStats(bool)"},
-    {"_ZN5clang4Decl10PrintStatsEv", "clang::Decl::PrintStats()"},
-    {"_ZN5clang4Decl3addENS0_4KindE", "clang::Decl::add(clang::Decl::Kind)"},
-    {"_ZNK5clang4Decl23isTemplateParameterPackEv", "clang::Decl::isTemplateParameterPack() const"},
-    {"_ZNK5clang4Decl15isParameterPackEv", "clang::Decl::isParameterPack() const"},
-    {"_ZNK5clang4Decl28isFunctionOrFunctionTemplateEv", "clang::Decl::isFunctionOrFunctionTemplate() const"},
-    {"_ZNK5clang4Decl32isDefinedOutsideFunctionOrMethodEv", "clang::Decl::isDefinedOutsideFunctionOrMethod() const"},
-    {"_ZNK5clang20PrettyStackTraceDecl5printERN4llvm11raw_ostreamE", "clang::PrettyStackTraceDecl::print(llvm::raw_ostream&) const"},
-    {"_ZN5clang4DeclD0Ev", "clang::Decl::~Decl()"},
-    {"_ZN5clang4DeclD1Ev", "clang::Decl::~Decl()"},
-    {"_ZN5clang4DeclD2Ev", "clang::Decl::~Decl()"},
-    {"_ZN5clang4Decl14setDeclContextEPNS_11DeclContextE", "clang::Decl::setDeclContext(clang::DeclContext*)"},
-    {"_ZN5clang4Decl21setLexicalDeclContextEPNS_11DeclContextE", "clang::Decl::setLexicalDeclContext(clang::DeclContext*)"},
-    {"_ZNK5clang4Decl13getASTContextEv", "clang::Decl::getASTContext() const"},
-    {"_ZNK5clang4Decl22isInAnonymousNamespaceEv", "clang::Decl::isInAnonymousNamespace() const"},
-    {"_ZN5clang4Decl22getTranslationUnitDeclEv", "clang::Decl::getTranslationUnitDecl()"},
-    {"_ZNK5clang4Decl22getASTMutationListenerEv", "clang::Decl::getASTMutationListener() const"},
-    {"_ZNK5clang4Decl6isUsedEb", "clang::Decl::isUsed(bool) const"},
-    {"_ZN5clang4Decl29getIdentifierNamespaceForKindENS0_4KindE", "clang::Decl::getIdentifierNamespaceForKind(clang::Decl::Kind)"},
-    {"_ZN5clang4Decl8setAttrsERKN4llvm11SmallVectorIPNS_4AttrELj2EEE", "clang::Decl::setAttrs(llvm::SmallVector<clang::Attr*, 2u> const&)"},
-    {"_ZN5clang4Decl9dropAttrsEv", "clang::Decl::dropAttrs()"},
-    {"_ZNK5clang4Decl8getAttrsEv", "clang::Decl::getAttrs() const"},
-    {"_ZN5clang4Decl9swapAttrsEPS0_", "clang::Decl::swapAttrs(clang::Decl*)"},
-    {"_ZN5clang4Decl19castFromDeclContextEPKNS_11DeclContextE", "clang::Decl::castFromDeclContext(clang::DeclContext const*)"},
-    {"_ZN5clang4Decl17castToDeclContextEPKS0_", "clang::Decl::castToDeclContext(clang::Decl const*)"},
-    {"_ZNK5clang4Decl13getBodyRBraceEv", "clang::Decl::getBodyRBrace() const"},
-    {"_ZNK5clang4Decl22CheckAccessDeclContextEv", "clang::Decl::CheckAccessDeclContext() const"},
-    {"_ZN5clang11DeclContext7classofEPKNS_4DeclE", "clang::DeclContext::classof(clang::Decl const*)"},
-    {"_ZN5clang11DeclContextD1Ev", "clang::DeclContext::~DeclContext()"},
-    {"_ZN5clang11DeclContextD2Ev", "clang::DeclContext::~DeclContext()"},
-    {"_ZN5clang11DeclContext15getLookupParentEv", "clang::DeclContext::getLookupParent()"},
-    {"_ZN5clang11DeclContext16getRedeclContextEv", "clang::DeclContext::getRedeclContext()"},
-    {"_ZNK5clang11DeclContext17isInlineNamespaceEv", "clang::DeclContext::isInlineNamespace() const"},
-    {"_ZNK5clang11DeclContext18isDependentContextEv", "clang::DeclContext::isDependentContext() const"},
-    {"_ZNK5clang11DeclContext20isTransparentContextEv", "clang::DeclContext::isTransparentContext() const"},
-    {"_ZNK5clang11DeclContext16isExternCContextEv", "clang::DeclContext::isExternCContext() const"},
-    {"_ZNK5clang11DeclContext8EnclosesEPKS0_", "clang::DeclContext::Encloses(clang::DeclContext const*) const"},
-    {"_ZN5clang11DeclContext17getPrimaryContextEv", "clang::DeclContext::getPrimaryContext()"},
-    {"_ZN5clang11DeclContext14getNextContextEv", "clang::DeclContext::getNextContext()"},
-    {"_ZN5clang11DeclContext14BuildDeclChainERKN4llvm15SmallVectorImplIPNS_4DeclEEE", "clang::DeclContext::BuildDeclChain(llvm::SmallVectorImpl<clang::Decl*> const&)"},
-    {"_ZNK5clang11DeclContext35LoadLexicalDeclsFromExternalStorageEv", "clang::DeclContext::LoadLexicalDeclsFromExternalStorage() const"},
-    {"_ZN5clang17ExternalASTSource32SetNoExternalVisibleDeclsForNameEPKNS_11DeclContextENS_15DeclarationNameE", "clang::ExternalASTSource::SetNoExternalVisibleDeclsForName(clang::DeclContext const*, clang::DeclarationName)"},
-    {"_ZNK5clang11DeclContext20CreateStoredDeclsMapERNS_10ASTContextE", "clang::DeclContext::CreateStoredDeclsMap(clang::ASTContext&) const"},
-    {"_ZN5clang17ExternalASTSource30SetExternalVisibleDeclsForNameEPKNS_11DeclContextENS_15DeclarationNameERN4llvm15SmallVectorImplIPNS_9NamedDeclEEE", "clang::ExternalASTSource::SetExternalVisibleDeclsForName(clang::DeclContext const*, clang::DeclarationName, llvm::SmallVectorImpl<clang::NamedDecl*>&)"},
-    {"_ZN5clang17ExternalASTSource30MaterializeVisibleDeclsForNameEPKNS_11DeclContextENS_15DeclarationNameERN4llvm15SmallVectorImplIPNS_9NamedDeclEEE", "clang::ExternalASTSource::MaterializeVisibleDeclsForName(clang::DeclContext const*, clang::DeclarationName, llvm::SmallVectorImpl<clang::NamedDecl*>&)"},
-    {"_ZNK5clang11DeclContext18noload_decls_beginEv", "clang::DeclContext::noload_decls_begin() const"},
-    {"_ZNK5clang11DeclContext16noload_decls_endEv", "clang::DeclContext::noload_decls_end() const"},
-    {"_ZNK5clang11DeclContext11decls_beginEv", "clang::DeclContext::decls_begin() const"},
-    {"_ZNK5clang11DeclContext9decls_endEv", "clang::DeclContext::decls_end() const"},
-    {"_ZNK5clang11DeclContext11decls_emptyEv", "clang::DeclContext::decls_empty() const"},
-    {"_ZN5clang11DeclContext10removeDeclEPNS_4DeclE", "clang::DeclContext::removeDecl(clang::Decl*)"},
-    {"_ZN5clang11DeclContext13addHiddenDeclEPNS_4DeclE", "clang::DeclContext::addHiddenDecl(clang::Decl*)"},
-    {"_ZN5clang11DeclContext7addDeclEPNS_4DeclE", "clang::DeclContext::addDecl(clang::Decl*)"},
-    {"_ZN5clang11DeclContext24makeDeclVisibleInContextEPNS_9NamedDeclEb", "clang::DeclContext::makeDeclVisibleInContext(clang::NamedDecl*, bool)"},
-    {"_ZN5clang11DeclContext11buildLookupEPS0_", "clang::DeclContext::buildLookup(clang::DeclContext*)"},
-    {"_ZN5clang11DeclContext28makeDeclVisibleInContextImplEPNS_9NamedDeclE", "clang::DeclContext::makeDeclVisibleInContextImpl(clang::NamedDecl*)"},
-    {"_ZN5clang11DeclContext6lookupENS_15DeclarationNameE", "clang::DeclContext::lookup(clang::DeclarationName)"},
-    {"_ZNK5clang11DeclContext6lookupENS_15DeclarationNameE", "clang::DeclContext::lookup(clang::DeclarationName) const"},
-    {"_ZN5clang11DeclContext28getEnclosingNamespaceContextEv", "clang::DeclContext::getEnclosingNamespaceContext()"},
-    {"_ZNK5clang11DeclContext25InEnclosingNamespaceSetOfEPKS0_", "clang::DeclContext::InEnclosingNamespaceSetOf(clang::DeclContext const*) const"},
-    {"_ZN5clang11DeclContext42MaterializeVisibleDeclsFromExternalStorageEv", "clang::DeclContext::MaterializeVisibleDeclsFromExternalStorage()"},
-    {"_ZNK5clang11DeclContext18getUsingDirectivesEv", "clang::DeclContext::getUsingDirectives() const"},
-    {"_ZN5clang10ASTContext22ReleaseDeclContextMapsEv", "clang::ASTContext::ReleaseDeclContextMaps()"},
-    {"_ZN5clang14StoredDeclsMap10DestroyAllEPS0_b", "clang::StoredDeclsMap::DestroyAll(clang::StoredDeclsMap*, bool)"},
-    {"_ZN5clang19DependentDiagnostic6CreateERNS_10ASTContextEPNS_11DeclContextERKNS_17PartialDiagnosticE", "clang::DependentDiagnostic::Create(clang::ASTContext&, clang::DeclContext*, clang::PartialDiagnostic const&)"},
-    {"_ZNK5clang4Decl7hasAttrINS_8UsedAttrEEEbv", "bool clang::Decl::hasAttr<clang::UsedAttr>() const"},
-    {"_ZN5clang15StoredDeclsList17AddSubsequentDeclEPNS_9NamedDeclE", "clang::StoredDeclsList::AddSubsequentDecl(clang::NamedDecl*)"},
-    {"_ZN5clang15StoredDeclsList6removeEPNS_9NamedDeclE", "clang::StoredDeclsList::remove(clang::NamedDecl*)"},
-    {"_ZN5clang15StoredDeclsList19HandleRedeclarationEPNS_9NamedDeclE", "clang::StoredDeclsList::HandleRedeclaration(clang::NamedDecl*)"},
-    {"_ZN4llvm8DenseMapIN5clang15DeclarationNameENS1_15StoredDeclsListENS_12DenseMapInfoIS2_EENS4_IS3_EEE16FindAndConstructERKS2_", "llvm::DenseMap<clang::DeclarationName, clang::StoredDeclsList, llvm::DenseMapInfo<clang::DeclarationName>, llvm::DenseMapInfo<clang::StoredDeclsList> >::FindAndConstruct(clang::DeclarationName const&)"},
-    {"_ZN4llvm8DenseMapIN5clang15DeclarationNameENS1_15StoredDeclsListENS_12DenseMapInfoIS2_EENS4_IS3_EEE16InsertIntoBucketERKS2_RKS3_PSt4pairIS2_S3_E", "llvm::DenseMap<clang::DeclarationName, clang::StoredDeclsList, llvm::DenseMapInfo<clang::DeclarationName>, llvm::DenseMapInfo<clang::StoredDeclsList> >::InsertIntoBucket(clang::DeclarationName const&, clang::StoredDeclsList const&, std::pair<clang::DeclarationName, clang::StoredDeclsList>*)"},
-    {"_ZN4llvm8DenseMapIN5clang15DeclarationNameENS1_15StoredDeclsListENS_12DenseMapInfoIS2_EENS4_IS3_EEE4growEj", "llvm::DenseMap<clang::DeclarationName, clang::StoredDeclsList, llvm::DenseMapInfo<clang::DeclarationName>, llvm::DenseMapInfo<clang::StoredDeclsList> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang9NamedDeclEEaSERKS4_", "llvm::SmallVectorImpl<clang::NamedDecl*>::operator=(llvm::SmallVectorImpl<clang::NamedDecl*> const&)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang4AttrEE4swapERS4_", "llvm::SmallVectorImpl<clang::Attr*>::swap(llvm::SmallVectorImpl<clang::Attr*>&)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang4AttrEEaSERKS4_", "llvm::SmallVectorImpl<clang::Attr*>::operator=(llvm::SmallVectorImpl<clang::Attr*> const&)"},
-    {"_ZN4llvm8DenseMapIN5clang15DeclarationNameENS1_15StoredDeclsListENS_12DenseMapInfoIS2_EENS4_IS3_EEED2Ev", "llvm::DenseMap<clang::DeclarationName, clang::StoredDeclsList, llvm::DenseMapInfo<clang::DeclarationName>, llvm::DenseMapInfo<clang::StoredDeclsList> >::~DenseMap()"},
-    {"_ZSt6__findIPPN5clang9NamedDeclES2_ET_S4_S4_RKT0_St26random_access_iterator_tag", "clang::NamedDecl** std::__find<clang::NamedDecl**, clang::NamedDecl*>(clang::NamedDecl**, clang::NamedDecl**, clang::NamedDecl* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang9NamedDeclEE6insertEPS3_RKS3_", "llvm::SmallVectorImpl<clang::NamedDecl*>::insert(clang::NamedDecl**, clang::NamedDecl* const&)"},
-    {"_ZN5clang13CXXRecordDecl14DefinitionDataC1EPS0_", "clang::CXXRecordDecl::DefinitionData::DefinitionData(clang::CXXRecordDecl*)"},
-    {"_ZN5clang13CXXRecordDecl14DefinitionDataC2EPS0_", "clang::CXXRecordDecl::DefinitionData::DefinitionData(clang::CXXRecordDecl*)"},
-    {"_ZN5clang13CXXRecordDeclC1ENS_4Decl4KindENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEPS0_S6_", "clang::CXXRecordDecl::CXXRecordDecl(clang::Decl::Kind, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::CXXRecordDecl*, clang::SourceLocation)"},
-    {"_ZN5clang13CXXRecordDeclC2ENS_4Decl4KindENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEPS0_S6_", "clang::CXXRecordDecl::CXXRecordDecl(clang::Decl::Kind, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::CXXRecordDecl*, clang::SourceLocation)"},
-    {"_ZN5clang13CXXRecordDecl6CreateERKNS_10ASTContextENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoES7_PS0_b", "clang::CXXRecordDecl::Create(clang::ASTContext const&, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::CXXRecordDecl*, bool)"},
-    {"_ZN5clang13CXXRecordDecl6CreateERKNS_10ASTContextENS_4Decl10EmptyShellE", "clang::CXXRecordDecl::Create(clang::ASTContext const&, clang::Decl::EmptyShell)"},
-    {"_ZN5clang13CXXRecordDecl8setBasesEPKPKNS_16CXXBaseSpecifierEj", "clang::CXXRecordDecl::setBases(clang::CXXBaseSpecifier const* const*, unsigned int)"},
-    {"_ZNK5clang13CXXRecordDecl20hasAnyDependentBasesEv", "clang::CXXRecordDecl::hasAnyDependentBases() const"},
-    {"_Z7SawBasePKN5clang13CXXRecordDeclEPv", "SawBase(clang::CXXRecordDecl const*, void*)"},
-    {"_ZNK5clang13CXXRecordDecl23hasConstCopyConstructorERKNS_10ASTContextE", "clang::CXXRecordDecl::hasConstCopyConstructor(clang::ASTContext const&) const"},
-    {"_ZNK5clang13CXXRecordDecl18getCopyConstructorERKNS_10ASTContextEj", "clang::CXXRecordDecl::getCopyConstructor(clang::ASTContext const&, unsigned int) const"},
-    {"_ZNK5clang18CXXConstructorDecl17isCopyConstructorERj", "clang::CXXConstructorDecl::isCopyConstructor(unsigned int&) const"},
-    {"_Z30GetBestOverloadCandidateSimpleRKN4llvm15SmallVectorImplISt4pairIPN5clang13CXXMethodDeclENS2_10QualifiersEEEE", "GetBestOverloadCandidateSimple(llvm::SmallVectorImpl<std::pair<clang::CXXMethodDecl*, clang::Qualifiers> > const&)"},
-    {"_ZNK5clang13CXXRecordDecl25getCopyAssignmentOperatorEb", "clang::CXXRecordDecl::getCopyAssignmentOperator(bool) const"},
-    {"_ZN5clang13CXXRecordDecl25markedVirtualFunctionPureEv", "clang::CXXRecordDecl::markedVirtualFunctionPure()"},
-    {"_ZN5clang13CXXRecordDecl11addedMemberEPNS_4DeclE", "clang::CXXRecordDecl::addedMember(clang::Decl*)"},
-    {"_ZNK5clang18CXXConstructorDecl20isDefaultConstructorEv", "clang::CXXConstructorDecl::isDefaultConstructor() const"},
-    {"_ZN5clang13CXXRecordDecl29getVisibleConversionFunctionsEv", "clang::CXXRecordDecl::getVisibleConversionFunctions()"},
-    {"_ZN5clang13CXXRecordDecl16removeConversionEPKNS_9NamedDeclE", "clang::CXXRecordDecl::removeConversion(clang::NamedDecl const*)"},
-    {"_ZNK5clang13CXXRecordDecl30getInstantiatedFromMemberClassEv", "clang::CXXRecordDecl::getInstantiatedFromMemberClass() const"},
-    {"_ZNK5clang13CXXRecordDecl27getMemberSpecializationInfoEv", "clang::CXXRecordDecl::getMemberSpecializationInfo() const"},
-    {"_ZN5clang13CXXRecordDecl29setInstantiationOfMemberClassEPS0_NS_26TemplateSpecializationKindE", "clang::CXXRecordDecl::setInstantiationOfMemberClass(clang::CXXRecordDecl*, clang::TemplateSpecializationKind)"},
-    {"_ZNK5clang13CXXRecordDecl29getTemplateSpecializationKindEv", "clang::CXXRecordDecl::getTemplateSpecializationKind() const"},
-    {"_ZN5clang13CXXRecordDecl29setTemplateSpecializationKindENS_26TemplateSpecializationKindE", "clang::CXXRecordDecl::setTemplateSpecializationKind(clang::TemplateSpecializationKind)"},
-    {"_ZNK5clang13CXXRecordDecl13getDestructorEv", "clang::CXXRecordDecl::getDestructor() const"},
-    {"_ZN5clang13CXXRecordDecl18completeDefinitionEv", "clang::CXXRecordDecl::completeDefinition()"},
-    {"_ZN5clang13CXXRecordDecl18completeDefinitionEPNS_20CXXFinalOverriderMapE", "clang::CXXRecordDecl::completeDefinition(clang::CXXFinalOverriderMap*)"},
-    {"_ZNK5clang13CXXRecordDecl13mayBeAbstractEv", "clang::CXXRecordDecl::mayBeAbstract() const"},
-    {"_ZN5clang13CXXMethodDecl6CreateERNS_10ASTContextEPNS_13CXXRecordDeclERKNS_19DeclarationNameInfoENS_8QualTypeEPNS_14TypeSourceInfoEbNS_12StorageClassEb", "clang::CXXMethodDecl::Create(clang::ASTContext&, clang::CXXRecordDecl*, clang::DeclarationNameInfo const&, clang::QualType, clang::TypeSourceInfo*, bool, clang::StorageClass, bool)"},
-    {"_ZNK5clang13CXXMethodDecl27isUsualDeallocationFunctionEv", "clang::CXXMethodDecl::isUsualDeallocationFunction() const"},
-    {"_ZNK5clang13CXXMethodDecl24isCopyAssignmentOperatorEv", "clang::CXXMethodDecl::isCopyAssignmentOperator() const"},
-    {"_ZN5clang13CXXMethodDecl19addOverriddenMethodEPKS0_", "clang::CXXMethodDecl::addOverriddenMethod(clang::CXXMethodDecl const*)"},
-    {"_ZNK5clang13CXXMethodDecl24begin_overridden_methodsEv", "clang::CXXMethodDecl::begin_overridden_methods() const"},
-    {"_ZNK5clang13CXXMethodDecl22end_overridden_methodsEv", "clang::CXXMethodDecl::end_overridden_methods() const"},
-    {"_ZNK5clang13CXXMethodDecl23size_overridden_methodsEv", "clang::CXXMethodDecl::size_overridden_methods() const"},
-    {"_ZNK5clang13CXXMethodDecl11getThisTypeERNS_10ASTContextE", "clang::CXXMethodDecl::getThisType(clang::ASTContext&) const"},
-    {"_ZNK5clang13CXXMethodDecl13hasInlineBodyEv", "clang::CXXMethodDecl::hasInlineBody() const"},
-    {"_ZN5clang18CXXCtorInitializerC1ERNS_10ASTContextEPNS_14TypeSourceInfoEbNS_14SourceLocationEPNS_4ExprES5_S5_", "clang::CXXCtorInitializer::CXXCtorInitializer(clang::ASTContext&, clang::TypeSourceInfo*, bool, clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang18CXXCtorInitializerC2ERNS_10ASTContextEPNS_14TypeSourceInfoEbNS_14SourceLocationEPNS_4ExprES5_S5_", "clang::CXXCtorInitializer::CXXCtorInitializer(clang::ASTContext&, clang::TypeSourceInfo*, bool, clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang18CXXCtorInitializerC1ERNS_10ASTContextEPNS_9FieldDeclENS_14SourceLocationES5_PNS_4ExprES5_", "clang::CXXCtorInitializer::CXXCtorInitializer(clang::ASTContext&, clang::FieldDecl*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang18CXXCtorInitializerC2ERNS_10ASTContextEPNS_9FieldDeclENS_14SourceLocationES5_PNS_4ExprES5_", "clang::CXXCtorInitializer::CXXCtorInitializer(clang::ASTContext&, clang::FieldDecl*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang18CXXCtorInitializerC1ERNS_10ASTContextEPNS_17IndirectFieldDeclENS_14SourceLocationES5_PNS_4ExprES5_", "clang::CXXCtorInitializer::CXXCtorInitializer(clang::ASTContext&, clang::IndirectFieldDecl*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang18CXXCtorInitializerC2ERNS_10ASTContextEPNS_17IndirectFieldDeclENS_14SourceLocationES5_PNS_4ExprES5_", "clang::CXXCtorInitializer::CXXCtorInitializer(clang::ASTContext&, clang::IndirectFieldDecl*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang18CXXCtorInitializerC1ERNS_10ASTContextEPNS_9FieldDeclENS_14SourceLocationES5_PNS_4ExprES5_PPNS_7VarDeclEj", "clang::CXXCtorInitializer::CXXCtorInitializer(clang::ASTContext&, clang::FieldDecl*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::VarDecl**, unsigned int)"},
-    {"_ZN5clang18CXXCtorInitializerC2ERNS_10ASTContextEPNS_9FieldDeclENS_14SourceLocationES5_PNS_4ExprES5_PPNS_7VarDeclEj", "clang::CXXCtorInitializer::CXXCtorInitializer(clang::ASTContext&, clang::FieldDecl*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::VarDecl**, unsigned int)"},
-    {"_ZN5clang18CXXCtorInitializer6CreateERNS_10ASTContextEPNS_9FieldDeclENS_14SourceLocationES5_PNS_4ExprES5_PPNS_7VarDeclEj", "clang::CXXCtorInitializer::Create(clang::ASTContext&, clang::FieldDecl*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::VarDecl**, unsigned int)"},
-    {"_ZNK5clang18CXXCtorInitializer15getBaseClassLocEv", "clang::CXXCtorInitializer::getBaseClassLoc() const"},
-    {"_ZNK5clang18CXXCtorInitializer12getBaseClassEv", "clang::CXXCtorInitializer::getBaseClass() const"},
-    {"_ZNK5clang18CXXCtorInitializer17getSourceLocationEv", "clang::CXXCtorInitializer::getSourceLocation() const"},
-    {"_ZNK5clang18CXXCtorInitializer14getSourceRangeEv", "clang::CXXCtorInitializer::getSourceRange() const"},
-    {"_ZN5clang18CXXConstructorDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::CXXConstructorDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZN5clang18CXXConstructorDecl6CreateERNS_10ASTContextEPNS_13CXXRecordDeclERKNS_19DeclarationNameInfoENS_8QualTypeEPNS_14TypeSourceInfoEbbb", "clang::CXXConstructorDecl::Create(clang::ASTContext&, clang::CXXRecordDecl*, clang::DeclarationNameInfo const&, clang::QualType, clang::TypeSourceInfo*, bool, bool, bool)"},
-    {"_ZNK5clang18CXXConstructorDecl23isCopyOrMoveConstructorERj", "clang::CXXConstructorDecl::isCopyOrMoveConstructor(unsigned int&) const"},
-    {"_ZNK5clang18CXXConstructorDecl17isMoveConstructorERj", "clang::CXXConstructorDecl::isMoveConstructor(unsigned int&) const"},
-    {"_ZNK5clang18CXXConstructorDecl23isConvertingConstructorEb", "clang::CXXConstructorDecl::isConvertingConstructor(bool) const"},
-    {"_ZNK5clang18CXXConstructorDecl29isSpecializationCopyingObjectEv", "clang::CXXConstructorDecl::isSpecializationCopyingObject() const"},
-    {"_ZNK5clang18CXXConstructorDecl23getInheritedConstructorEv", "clang::CXXConstructorDecl::getInheritedConstructor() const"},
-    {"_ZN5clang18CXXConstructorDecl23setInheritedConstructorEPKS0_", "clang::CXXConstructorDecl::setInheritedConstructor(clang::CXXConstructorDecl const*)"},
-    {"_ZN5clang17CXXDestructorDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::CXXDestructorDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZN5clang17CXXDestructorDecl6CreateERNS_10ASTContextEPNS_13CXXRecordDeclERKNS_19DeclarationNameInfoENS_8QualTypeEPNS_14TypeSourceInfoEbb", "clang::CXXDestructorDecl::Create(clang::ASTContext&, clang::CXXRecordDecl*, clang::DeclarationNameInfo const&, clang::QualType, clang::TypeSourceInfo*, bool, bool)"},
-    {"_ZN5clang17CXXConversionDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::CXXConversionDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZN5clang17CXXConversionDecl6CreateERNS_10ASTContextEPNS_13CXXRecordDeclERKNS_19DeclarationNameInfoENS_8QualTypeEPNS_14TypeSourceInfoEbb", "clang::CXXConversionDecl::Create(clang::ASTContext&, clang::CXXRecordDecl*, clang::DeclarationNameInfo const&, clang::QualType, clang::TypeSourceInfo*, bool, bool)"},
-    {"_ZN5clang15LinkageSpecDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationENS0_11LanguageIDsEb", "clang::LinkageSpecDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::LinkageSpecDecl::LanguageIDs, bool)"},
-    {"_ZN5clang18UsingDirectiveDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationES5_NS_11SourceRangeEPNS_19NestedNameSpecifierES5_PNS_9NamedDeclES4_", "clang::UsingDirectiveDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::SourceLocation, clang::SourceRange, clang::NestedNameSpecifier*, clang::SourceLocation, clang::NamedDecl*, clang::DeclContext*)"},
-    {"_ZN5clang18UsingDirectiveDecl21getNominatedNamespaceEv", "clang::UsingDirectiveDecl::getNominatedNamespace()"},
-    {"_ZN5clang18NamespaceAliasDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationES5_PNS_14IdentifierInfoENS_11SourceRangeEPNS_19NestedNameSpecifierES5_PNS_9NamedDeclE", "clang::NamespaceAliasDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceRange, clang::NestedNameSpecifier*, clang::SourceLocation, clang::NamedDecl*)"},
-    {"_ZNK5clang15UsingShadowDecl12getUsingDeclEv", "clang::UsingShadowDecl::getUsingDecl() const"},
-    {"_ZN5clang9UsingDecl13addShadowDeclEPNS_15UsingShadowDeclE", "clang::UsingDecl::addShadowDecl(clang::UsingShadowDecl*)"},
-    {"_ZN5clang9UsingDecl16removeShadowDeclEPNS_15UsingShadowDeclE", "clang::UsingDecl::removeShadowDecl(clang::UsingShadowDecl*)"},
-    {"_ZN5clang9UsingDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_11SourceRangeENS_14SourceLocationEPNS_19NestedNameSpecifierERKNS_19DeclarationNameInfoEb", "clang::UsingDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceRange, clang::SourceLocation, clang::NestedNameSpecifier*, clang::DeclarationNameInfo const&, bool)"},
-    {"_ZN5clang24UnresolvedUsingValueDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationENS_11SourceRangeEPNS_19NestedNameSpecifierERKNS_19DeclarationNameInfoE", "clang::UnresolvedUsingValueDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::SourceRange, clang::NestedNameSpecifier*, clang::DeclarationNameInfo const&)"},
-    {"_ZN5clang27UnresolvedUsingTypenameDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationES5_NS_11SourceRangeEPNS_19NestedNameSpecifierES5_NS_15DeclarationNameE", "clang::UnresolvedUsingTypenameDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::SourceLocation, clang::SourceRange, clang::NestedNameSpecifier*, clang::SourceLocation, clang::DeclarationName)"},
-    {"_ZN5clang16StaticAssertDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_4ExprEPNS_13StringLiteralE", "clang::StaticAssertDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::Expr*, clang::StringLiteral*)"},
-    {"_ZN5clanglsERKNS_17DiagnosticBuilderENS_15AccessSpecifierE", "clang::operator<<(clang::DiagnosticBuilder const&, clang::AccessSpecifier)"},
-    {"_Z17GetConversionTypeRN5clang10ASTContextEPNS_9NamedDeclE", "GetConversionType(clang::ASTContext&, clang::NamedDecl*)"},
-    {"_Z25CollectVisibleConversionsRN5clang10ASTContextEPNS_13CXXRecordDeclEbNS_15AccessSpecifierERKN4llvm11SmallPtrSetINS_7CanQualINS_4TypeEEELj8EEERNS_17UnresolvedSetImplESE_RNS6_IPNS_9NamedDeclELj8EEE", "CollectVisibleConversions(clang::ASTContext&, clang::CXXRecordDecl*, bool, clang::AccessSpecifier, llvm::SmallPtrSet<clang::CanQual<clang::Type>, 8u> const&, clang::UnresolvedSetImpl&, clang::UnresolvedSetImpl&, llvm::SmallPtrSet<clang::NamedDecl*, 8u>&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPN5clang13CXXMethodDeclENS2_10QualifiersEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<clang::CXXMethodDecl*, clang::Qualifiers>, false>::grow(unsigned long)"},
-    {"_ZN5clang16StaticAssertDeclD1Ev", "clang::StaticAssertDecl::~StaticAssertDecl()"},
-    {"_ZN5clang16StaticAssertDeclD0Ev", "clang::StaticAssertDecl::~StaticAssertDecl()"},
-    {"_ZN5clang27UnresolvedUsingTypenameDeclD1Ev", "clang::UnresolvedUsingTypenameDecl::~UnresolvedUsingTypenameDecl()"},
-    {"_ZN5clang27UnresolvedUsingTypenameDeclD0Ev", "clang::UnresolvedUsingTypenameDecl::~UnresolvedUsingTypenameDecl()"},
-    {"_ZNK5clang27UnresolvedUsingTypenameDecl14getSourceRangeEv", "clang::UnresolvedUsingTypenameDecl::getSourceRange() const"},
-    {"_ZN5clang24UnresolvedUsingValueDeclD1Ev", "clang::UnresolvedUsingValueDecl::~UnresolvedUsingValueDecl()"},
-    {"_ZN5clang24UnresolvedUsingValueDeclD0Ev", "clang::UnresolvedUsingValueDecl::~UnresolvedUsingValueDecl()"},
-    {"_ZNK5clang24UnresolvedUsingValueDecl14getSourceRangeEv", "clang::UnresolvedUsingValueDecl::getSourceRange() const"},
-    {"_ZN5clang9UsingDeclD1Ev", "clang::UsingDecl::~UsingDecl()"},
-    {"_ZN5clang9UsingDeclD0Ev", "clang::UsingDecl::~UsingDecl()"},
-    {"_ZNK5clang9UsingDecl14getSourceRangeEv", "clang::UsingDecl::getSourceRange() const"},
-    {"_ZN5clang18NamespaceAliasDeclD1Ev", "clang::NamespaceAliasDecl::~NamespaceAliasDecl()"},
-    {"_ZN5clang18NamespaceAliasDeclD0Ev", "clang::NamespaceAliasDecl::~NamespaceAliasDecl()"},
-    {"_ZNK5clang18NamespaceAliasDecl14getSourceRangeEv", "clang::NamespaceAliasDecl::getSourceRange() const"},
-    {"_ZN5clang18UsingDirectiveDeclD1Ev", "clang::UsingDirectiveDecl::~UsingDirectiveDecl()"},
-    {"_ZN5clang18UsingDirectiveDeclD0Ev", "clang::UsingDirectiveDecl::~UsingDirectiveDecl()"},
-    {"_ZNK5clang18UsingDirectiveDecl14getSourceRangeEv", "clang::UsingDirectiveDecl::getSourceRange() const"},
-    {"_ZN5clang15LinkageSpecDeclC2EPNS_11DeclContextENS_14SourceLocationENS0_11LanguageIDsEb", "clang::LinkageSpecDecl::LinkageSpecDecl(clang::DeclContext*, clang::SourceLocation, clang::LinkageSpecDecl::LanguageIDs, bool)"},
-    {"_ZN5clang15LinkageSpecDeclD1Ev", "clang::LinkageSpecDecl::~LinkageSpecDecl()"},
-    {"_ZN5clang15LinkageSpecDeclD0Ev", "clang::LinkageSpecDecl::~LinkageSpecDecl()"},
-    {"_ZN5clang17CXXConversionDeclD1Ev", "clang::CXXConversionDecl::~CXXConversionDecl()"},
-    {"_ZN5clang17CXXConversionDeclD0Ev", "clang::CXXConversionDecl::~CXXConversionDecl()"},
-    {"_ZN5clang13CXXMethodDecl16getCanonicalDeclEv", "clang::CXXMethodDecl::getCanonicalDecl()"},
-    {"_ZNK5clang13CXXMethodDecl16getCanonicalDeclEv", "clang::CXXMethodDecl::getCanonicalDecl() const"},
-    {"_ZN5clang13CXXMethodDeclD1Ev", "clang::CXXMethodDecl::~CXXMethodDecl()"},
-    {"_ZN5clang13CXXMethodDeclD0Ev", "clang::CXXMethodDecl::~CXXMethodDecl()"},
-    {"_ZN5clang17CXXDestructorDeclD1Ev", "clang::CXXDestructorDecl::~CXXDestructorDecl()"},
-    {"_ZN5clang17CXXDestructorDeclD0Ev", "clang::CXXDestructorDecl::~CXXDestructorDecl()"},
-    {"_ZN5clang18CXXConstructorDeclD1Ev", "clang::CXXConstructorDecl::~CXXConstructorDecl()"},
-    {"_ZN5clang18CXXConstructorDeclD0Ev", "clang::CXXConstructorDecl::~CXXConstructorDecl()"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXMethodDeclENS1_17OverridingMethodsENS_12DenseMapInfoIS4_EENS6_IS5_EEED2Ev", "llvm::DenseMap<clang::CXXMethodDecl const*, clang::OverridingMethods, llvm::DenseMapInfo<clang::CXXMethodDecl const*>, llvm::DenseMapInfo<clang::OverridingMethods> >::~DenseMap()"},
-    {"_ZN5clang10FriendDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEN4llvm12PointerUnionIPNS_9NamedDeclEPNS_14TypeSourceInfoEEES5_", "clang::FriendDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, llvm::PointerUnion<clang::NamedDecl*, clang::TypeSourceInfo*>, clang::SourceLocation)"},
-    {"_ZN5clang10FriendDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::FriendDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZN5clang10FriendDeclD1Ev", "clang::FriendDecl::~FriendDecl()"},
-    {"_ZN5clang10FriendDeclD0Ev", "clang::FriendDecl::~FriendDecl()"},
-    {"_ZN5clang9DeclGroup6CreateERNS_10ASTContextEPPNS_4DeclEj", "clang::DeclGroup::Create(clang::ASTContext&, clang::Decl**, unsigned int)"},
-    {"_ZN5clang9DeclGroupC1EjPPNS_4DeclE", "clang::DeclGroup::DeclGroup(unsigned int, clang::Decl**)"},
-    {"_ZN5clang9DeclGroupC2EjPPNS_4DeclE", "clang::DeclGroup::DeclGroup(unsigned int, clang::Decl**)"},
-    {"_ZN5clang12ObjCListBase3setEPKPvjRNS_10ASTContextE", "clang::ObjCListBase::set(void* const*, unsigned int, clang::ASTContext&)"},
-    {"_ZN5clang16ObjCProtocolList3setEPKPNS_16ObjCProtocolDeclEjPKNS_14SourceLocationERNS_10ASTContextE", "clang::ObjCProtocolList::set(clang::ObjCProtocolDecl* const*, unsigned int, clang::SourceLocation const*, clang::ASTContext&)"},
-    {"_ZNK5clang17ObjCContainerDecl11getIvarDeclEPNS_14IdentifierInfoE", "clang::ObjCContainerDecl::getIvarDecl(clang::IdentifierInfo*) const"},
-    {"_ZNK5clang17ObjCContainerDecl9getMethodENS_8SelectorEb", "clang::ObjCContainerDecl::getMethod(clang::Selector, bool) const"},
-    {"_ZN5clang16ObjCPropertyDecl16findPropertyDeclEPKNS_11DeclContextEPNS_14IdentifierInfoE", "clang::ObjCPropertyDecl::findPropertyDecl(clang::DeclContext const*, clang::IdentifierInfo*)"},
-    {"_ZNK5clang17ObjCContainerDecl23FindPropertyDeclarationEPNS_14IdentifierInfoE", "clang::ObjCContainerDecl::FindPropertyDeclaration(clang::IdentifierInfo*) const"},
-    {"_ZNK5clang17ObjCInterfaceDecl33FindPropertyVisibleInPrimaryClassEPNS_14IdentifierInfoE", "clang::ObjCInterfaceDecl::FindPropertyVisibleInPrimaryClass(clang::IdentifierInfo*) const"},
-    {"_ZNK5clang17ObjCInterfaceDecl22LoadExternalDefinitionEv", "clang::ObjCInterfaceDecl::LoadExternalDefinition() const"},
-    {"_ZN5clang17ObjCInterfaceDecl31mergeClassExtensionProtocolListEPKPNS_16ObjCProtocolDeclEjRNS_10ASTContextE", "clang::ObjCInterfaceDecl::mergeClassExtensionProtocolList(clang::ObjCProtocolDecl* const*, unsigned int, clang::ASTContext&)"},
-    {"_ZNK5clang17ObjCInterfaceDecl22getFirstClassExtensionEv", "clang::ObjCInterfaceDecl::getFirstClassExtension() const"},
-    {"_ZNK5clang16ObjCCategoryDecl21getNextClassExtensionEv", "clang::ObjCCategoryDecl::getNextClassExtension() const"},
-    {"_ZN5clang17ObjCInterfaceDecl22lookupInstanceVariableEPNS_14IdentifierInfoERPS0_", "clang::ObjCInterfaceDecl::lookupInstanceVariable(clang::IdentifierInfo*, clang::ObjCInterfaceDecl*&)"},
-    {"_ZN5clang17ObjCInterfaceDecl20lookupInheritedClassEPKNS_14IdentifierInfoE", "clang::ObjCInterfaceDecl::lookupInheritedClass(clang::IdentifierInfo const*)"},
-    {"_ZNK5clang17ObjCInterfaceDecl12lookupMethodENS_8SelectorEb", "clang::ObjCInterfaceDecl::lookupMethod(clang::Selector, bool) const"},
-    {"_ZNK5clang16ObjCProtocolDecl12lookupMethodENS_8SelectorEb", "clang::ObjCProtocolDecl::lookupMethod(clang::Selector, bool) const"},
-    {"_ZN5clang17ObjCInterfaceDecl19lookupPrivateMethodERKNS_8SelectorEb", "clang::ObjCInterfaceDecl::lookupPrivateMethod(clang::Selector const&, bool)"},
-    {"_ZNK5clang17ObjCInterfaceDecl17getImplementationEv", "clang::ObjCInterfaceDecl::getImplementation() const"},
-    {"_ZN5clang14ObjCMethodDecl6CreateERNS_10ASTContextENS_14SourceLocationES3_NS_8SelectorENS_8QualTypeEPNS_14TypeSourceInfoEPNS_11DeclContextEbbbbNS0_21ImplementationControlEj", "clang::ObjCMethodDecl::Create(clang::ASTContext&, clang::SourceLocation, clang::SourceLocation, clang::Selector, clang::QualType, clang::TypeSourceInfo*, clang::DeclContext*, bool, bool, bool, bool, clang::ObjCMethodDecl::ImplementationControl, unsigned int)"},
-    {"_ZN5clang14ObjCMethodDecl20getNextRedeclarationEv", "clang::ObjCMethodDecl::getNextRedeclaration()"},
-    {"_ZNK5clang20ObjCCategoryImplDecl15getCategoryDeclEv", "clang::ObjCCategoryImplDecl::getCategoryDecl() const"},
-    {"_ZN5clang14ObjCMethodDecl16getCanonicalDeclEv", "clang::ObjCMethodDecl::getCanonicalDecl()"},
-    {"_ZN5clang14ObjCMethodDecl20createImplicitParamsERNS_10ASTContextEPKNS_17ObjCInterfaceDeclE", "clang::ObjCMethodDecl::createImplicitParams(clang::ASTContext&, clang::ObjCInterfaceDecl const*)"},
-    {"_ZN5clang14ObjCMethodDecl17getClassInterfaceEv", "clang::ObjCMethodDecl::getClassInterface()"},
-    {"_ZN5clang17ObjCInterfaceDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoES5_bb", "clang::ObjCInterfaceDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, bool, bool)"},
-    {"_ZN5clang17ObjCInterfaceDeclC1EPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoES3_bb", "clang::ObjCInterfaceDecl::ObjCInterfaceDecl(clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, bool, bool)"},
-    {"_ZN5clang17ObjCInterfaceDeclC2EPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoES3_bb", "clang::ObjCInterfaceDecl::ObjCInterfaceDecl(clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, bool, bool)"},
-    {"_ZN5clang17ObjCInterfaceDecl22setExternallyCompletedEv", "clang::ObjCInterfaceDecl::setExternallyCompleted()"},
-    {"_ZN5clang17ObjCInterfaceDecl17setImplementationEPNS_22ObjCImplementationDeclE", "clang::ObjCInterfaceDecl::setImplementation(clang::ObjCImplementationDecl*)"},
-    {"_ZN5clang17ObjCInterfaceDecl23all_declared_ivar_beginEv", "clang::ObjCInterfaceDecl::all_declared_ivar_begin()"},
-    {"_ZNK5clang17ObjCInterfaceDecl23FindCategoryDeclarationEPNS_14IdentifierInfoE", "clang::ObjCInterfaceDecl::FindCategoryDeclaration(clang::IdentifierInfo*) const"},
-    {"_ZNK5clang17ObjCInterfaceDecl25getCategoryInstanceMethodENS_8SelectorE", "clang::ObjCInterfaceDecl::getCategoryInstanceMethod(clang::Selector) const"},
-    {"_ZNK5clang16ObjCCategoryDecl17getImplementationEv", "clang::ObjCCategoryDecl::getImplementation() const"},
-    {"_ZNK5clang17ObjCInterfaceDecl22getCategoryClassMethodENS_8SelectorE", "clang::ObjCInterfaceDecl::getCategoryClassMethod(clang::Selector) const"},
-    {"_ZN5clang17ObjCInterfaceDecl23ClassImplementsProtocolEPNS_16ObjCProtocolDeclEbb", "clang::ObjCInterfaceDecl::ClassImplementsProtocol(clang::ObjCProtocolDecl*, bool, bool)"},
-    {"_ZN5clang12ObjCIvarDecl6CreateERNS_10ASTContextEPNS_17ObjCContainerDeclENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoENS0_13AccessControlEPNS_4ExprEb", "clang::ObjCIvarDecl::Create(clang::ASTContext&, clang::ObjCContainerDecl*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::ObjCIvarDecl::AccessControl, clang::Expr*, bool)"},
-    {"_ZNK5clang12ObjCIvarDecl22getContainingInterfaceEv", "clang::ObjCIvarDecl::getContainingInterface() const"},
-    {"_ZN5clang19ObjCAtDefsFieldDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_4ExprE", "clang::ObjCAtDefsFieldDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::Expr*)"},
-    {"_ZN5clang16ObjCProtocolDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoE", "clang::ObjCProtocolDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*)"},
-    {"_ZN5clang16ObjCProtocolDecl19lookupProtocolNamedEPNS_14IdentifierInfoE", "clang::ObjCProtocolDecl::lookupProtocolNamed(clang::IdentifierInfo*)"},
-    {"_ZN5clang13ObjCClassDeclC1EPNS_11DeclContextENS_14SourceLocationEPKPNS_17ObjCInterfaceDeclEPKS3_jRNS_10ASTContextE", "clang::ObjCClassDecl::ObjCClassDecl(clang::DeclContext*, clang::SourceLocation, clang::ObjCInterfaceDecl* const*, clang::SourceLocation const*, unsigned int, clang::ASTContext&)"},
-    {"_ZN5clang13ObjCClassDeclC2EPNS_11DeclContextENS_14SourceLocationEPKPNS_17ObjCInterfaceDeclEPKS3_jRNS_10ASTContextE", "clang::ObjCClassDecl::ObjCClassDecl(clang::DeclContext*, clang::SourceLocation, clang::ObjCInterfaceDecl* const*, clang::SourceLocation const*, unsigned int, clang::ASTContext&)"},
-    {"_ZN5clang13ObjCClassDecl12setClassListERNS_10ASTContextEPKPNS_17ObjCInterfaceDeclEPKNS_14SourceLocationEj", "clang::ObjCClassDecl::setClassList(clang::ASTContext&, clang::ObjCInterfaceDecl* const*, clang::SourceLocation const*, unsigned int)"},
-    {"_ZN5clang13ObjCClassDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPKPNS_17ObjCInterfaceDeclEPKS5_j", "clang::ObjCClassDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::ObjCInterfaceDecl* const*, clang::SourceLocation const*, unsigned int)"},
-    {"_ZNK5clang13ObjCClassDecl14getSourceRangeEv", "clang::ObjCClassDecl::getSourceRange() const"},
-    {"_ZN5clang23ObjCForwardProtocolDeclC1EPNS_11DeclContextENS_14SourceLocationEPKPNS_16ObjCProtocolDeclEjPKS3_RNS_10ASTContextE", "clang::ObjCForwardProtocolDecl::ObjCForwardProtocolDecl(clang::DeclContext*, clang::SourceLocation, clang::ObjCProtocolDecl* const*, unsigned int, clang::SourceLocation const*, clang::ASTContext&)"},
-    {"_ZN5clang23ObjCForwardProtocolDeclC2EPNS_11DeclContextENS_14SourceLocationEPKPNS_16ObjCProtocolDeclEjPKS3_RNS_10ASTContextE", "clang::ObjCForwardProtocolDecl::ObjCForwardProtocolDecl(clang::DeclContext*, clang::SourceLocation, clang::ObjCProtocolDecl* const*, unsigned int, clang::SourceLocation const*, clang::ASTContext&)"},
-    {"_ZN5clang23ObjCForwardProtocolDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPKPNS_16ObjCProtocolDeclEjPKS5_", "clang::ObjCForwardProtocolDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::ObjCProtocolDecl* const*, unsigned int, clang::SourceLocation const*)"},
-    {"_ZN5clang16ObjCCategoryDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationES5_S5_PNS_14IdentifierInfoE", "clang::ObjCCategoryDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::IdentifierInfo*)"},
-    {"_ZN5clang16ObjCCategoryDecl17setImplementationEPNS_20ObjCCategoryImplDeclE", "clang::ObjCCategoryDecl::setImplementation(clang::ObjCCategoryImplDecl*)"},
-    {"_ZN5clang20ObjCCategoryImplDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEPNS_17ObjCInterfaceDeclE", "clang::ObjCCategoryImplDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang12ObjCImplDecl25addPropertyImplementationEPNS_20ObjCPropertyImplDeclE", "clang::ObjCImplDecl::addPropertyImplementation(clang::ObjCPropertyImplDecl*)"},
-    {"_ZN5clang12ObjCImplDecl17setClassInterfaceEPNS_17ObjCInterfaceDeclE", "clang::ObjCImplDecl::setClassInterface(clang::ObjCInterfaceDecl*)"},
-    {"_ZNK5clang12ObjCImplDecl24FindPropertyImplIvarDeclEPNS_14IdentifierInfoE", "clang::ObjCImplDecl::FindPropertyImplIvarDecl(clang::IdentifierInfo*) const"},
-    {"_ZNK5clang12ObjCImplDecl20FindPropertyImplDeclEPNS_14IdentifierInfoE", "clang::ObjCImplDecl::FindPropertyImplDecl(clang::IdentifierInfo*) const"},
-    {"_ZN5clanglsERN4llvm11raw_ostreamEPKNS_20ObjCCategoryImplDeclE", "clang::operator<<(llvm::raw_ostream&, clang::ObjCCategoryImplDecl const*)"},
-    {"_ZN5clang22ObjCImplementationDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_17ObjCInterfaceDeclES7_", "clang::ObjCImplementationDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::ObjCInterfaceDecl*, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clanglsERN4llvm11raw_ostreamEPKNS_22ObjCImplementationDeclE", "clang::operator<<(llvm::raw_ostream&, clang::ObjCImplementationDecl const*)"},
-    {"_ZN5clang23ObjCCompatibleAliasDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEPNS_17ObjCInterfaceDeclE", "clang::ObjCCompatibleAliasDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::ObjCInterfaceDecl*)"},
-    {"_ZN5clang16ObjCPropertyDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoES5_PNS_14TypeSourceInfoENS0_15PropertyControlE", "clang::ObjCPropertyDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, clang::SourceLocation, clang::TypeSourceInfo*, clang::ObjCPropertyDecl::PropertyControl)"},
-    {"_ZN5clang20ObjCPropertyImplDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationES5_PNS_16ObjCPropertyDeclENS0_4KindEPNS_12ObjCIvarDeclES5_", "clang::ObjCPropertyImplDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::SourceLocation, clang::ObjCPropertyDecl*, clang::ObjCPropertyImplDecl::Kind, clang::ObjCIvarDecl*, clang::SourceLocation)"},
-    {"_ZNK5clang20ObjCPropertyImplDecl14getSourceRangeEv", "clang::ObjCPropertyImplDecl::getSourceRange() const"},
-    {"_ZNK5clang17ObjCInterfaceDecl29all_referenced_protocol_beginEv", "clang::ObjCInterfaceDecl::all_referenced_protocol_begin() const"},
-    {"_ZNK5clang17ObjCInterfaceDecl27all_referenced_protocol_endEv", "clang::ObjCInterfaceDecl::all_referenced_protocol_end() const"},
-    {"_ZN5clang17ObjCContainerDeclC2ENS_4Decl4KindEPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoE", "clang::ObjCContainerDecl::ObjCContainerDecl(clang::Decl::Kind, clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*)"},
-    {"_ZN5clang14ObjCMethodDeclD1Ev", "clang::ObjCMethodDecl::~ObjCMethodDecl()"},
-    {"_ZN5clang14ObjCMethodDeclD0Ev", "clang::ObjCMethodDecl::~ObjCMethodDecl()"},
-    {"_ZNK5clang14ObjCMethodDecl14getSourceRangeEv", "clang::ObjCMethodDecl::getSourceRange() const"},
-    {"_ZNK5clang14ObjCMethodDecl7getBodyEv", "clang::ObjCMethodDecl::getBody() const"},
-    {"_ZN5clang20ObjCPropertyImplDeclD1Ev", "clang::ObjCPropertyImplDecl::~ObjCPropertyImplDecl()"},
-    {"_ZN5clang20ObjCPropertyImplDeclD0Ev", "clang::ObjCPropertyImplDecl::~ObjCPropertyImplDecl()"},
-    {"_ZN5clang13ObjCClassDeclD1Ev", "clang::ObjCClassDecl::~ObjCClassDecl()"},
-    {"_ZN5clang13ObjCClassDeclD0Ev", "clang::ObjCClassDecl::~ObjCClassDecl()"},
-    {"_ZN5clang23ObjCForwardProtocolDeclD1Ev", "clang::ObjCForwardProtocolDecl::~ObjCForwardProtocolDecl()"},
-    {"_ZN5clang23ObjCForwardProtocolDeclD0Ev", "clang::ObjCForwardProtocolDecl::~ObjCForwardProtocolDecl()"},
-    {"_ZN5clang17ObjCInterfaceDeclD1Ev", "clang::ObjCInterfaceDecl::~ObjCInterfaceDecl()"},
-    {"_ZN5clang17ObjCInterfaceDeclD0Ev", "clang::ObjCInterfaceDecl::~ObjCInterfaceDecl()"},
-    {"_ZNK5clang17ObjCContainerDecl14getSourceRangeEv", "clang::ObjCContainerDecl::getSourceRange() const"},
-    {"_ZN5clang17ObjCContainerDeclD1Ev", "clang::ObjCContainerDecl::~ObjCContainerDecl()"},
-    {"_ZN5clang17ObjCContainerDeclD0Ev", "clang::ObjCContainerDecl::~ObjCContainerDecl()"},
-    {"_ZN5clang16ObjCPropertyDeclD1Ev", "clang::ObjCPropertyDecl::~ObjCPropertyDecl()"},
-    {"_ZN5clang16ObjCPropertyDeclD0Ev", "clang::ObjCPropertyDecl::~ObjCPropertyDecl()"},
-    {"_ZNK5clang16ObjCPropertyDecl14getSourceRangeEv", "clang::ObjCPropertyDecl::getSourceRange() const"},
-    {"_ZN5clang23ObjCCompatibleAliasDeclD1Ev", "clang::ObjCCompatibleAliasDecl::~ObjCCompatibleAliasDecl()"},
-    {"_ZN5clang23ObjCCompatibleAliasDeclD0Ev", "clang::ObjCCompatibleAliasDecl::~ObjCCompatibleAliasDecl()"},
-    {"_ZN5clang22ObjCImplementationDeclD1Ev", "clang::ObjCImplementationDecl::~ObjCImplementationDecl()"},
-    {"_ZN5clang22ObjCImplementationDeclD0Ev", "clang::ObjCImplementationDecl::~ObjCImplementationDecl()"},
-    {"_ZN5clang12ObjCImplDeclD1Ev", "clang::ObjCImplDecl::~ObjCImplDecl()"},
-    {"_ZN5clang12ObjCImplDeclD0Ev", "clang::ObjCImplDecl::~ObjCImplDecl()"},
-    {"_ZN5clang20ObjCCategoryImplDeclD1Ev", "clang::ObjCCategoryImplDecl::~ObjCCategoryImplDecl()"},
-    {"_ZN5clang20ObjCCategoryImplDeclD0Ev", "clang::ObjCCategoryImplDecl::~ObjCCategoryImplDecl()"},
-    {"_ZN5clang16ObjCCategoryDeclD1Ev", "clang::ObjCCategoryDecl::~ObjCCategoryDecl()"},
-    {"_ZN5clang16ObjCCategoryDeclD0Ev", "clang::ObjCCategoryDecl::~ObjCCategoryDecl()"},
-    {"_ZNK5clang16ObjCCategoryDecl14getSourceRangeEv", "clang::ObjCCategoryDecl::getSourceRange() const"},
-    {"_ZN5clang16ObjCProtocolDeclD1Ev", "clang::ObjCProtocolDecl::~ObjCProtocolDecl()"},
-    {"_ZN5clang16ObjCProtocolDeclD0Ev", "clang::ObjCProtocolDecl::~ObjCProtocolDecl()"},
-    {"_ZN5clang19ObjCAtDefsFieldDeclD1Ev", "clang::ObjCAtDefsFieldDecl::~ObjCAtDefsFieldDecl()"},
-    {"_ZN5clang19ObjCAtDefsFieldDeclD0Ev", "clang::ObjCAtDefsFieldDecl::~ObjCAtDefsFieldDecl()"},
-    {"_ZN5clang12ObjCIvarDeclC2EPNS_17ObjCContainerDeclENS_14SourceLocationEPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoENS0_13AccessControlEPNS_4ExprEb", "clang::ObjCIvarDecl::ObjCIvarDecl(clang::ObjCContainerDecl*, clang::SourceLocation, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::ObjCIvarDecl::AccessControl, clang::Expr*, bool)"},
-    {"_ZN5clang12ObjCIvarDeclD1Ev", "clang::ObjCIvarDecl::~ObjCIvarDecl()"},
-    {"_ZN5clang12ObjCIvarDeclD0Ev", "clang::ObjCIvarDecl::~ObjCIvarDecl()"},
-    {"_ZN5clang14ObjCMethodDeclC2ENS_14SourceLocationES1_NS_8SelectorENS_8QualTypeEPNS_14TypeSourceInfoEPNS_11DeclContextEbbbbNS0_21ImplementationControlEj", "clang::ObjCMethodDecl::ObjCMethodDecl(clang::SourceLocation, clang::SourceLocation, clang::Selector, clang::QualType, clang::TypeSourceInfo*, clang::DeclContext*, bool, bool, bool, bool, clang::ObjCMethodDecl::ImplementationControl, unsigned int)"},
-    {"_ZNK5clang4Decl5printERN4llvm11raw_ostreamEj", "clang::Decl::print(llvm::raw_ostream&, unsigned int) const"},
-    {"_ZNK5clang4Decl5printERN4llvm11raw_ostreamERKNS_14PrintingPolicyEj", "clang::Decl::print(llvm::raw_ostream&, clang::PrintingPolicy const&, unsigned int) const"},
-    {"_ZN5clang11DeclVisitorIN12_GLOBAL__N_111DeclPrinterEvE5VisitEPNS_4DeclE", "clang::DeclVisitor<(anonymous namespace)::DeclPrinter, void>::Visit(clang::Decl*)"},
-    {"_ZN5clang4Decl10printGroupEPPS0_jRN4llvm11raw_ostreamERKNS_14PrintingPolicyEj", "clang::Decl::printGroup(clang::Decl**, unsigned int, llvm::raw_ostream&, clang::PrintingPolicy const&, unsigned int)"},
-    {"_ZNK5clang11DeclContext15dumpDeclContextEv", "clang::DeclContext::dumpDeclContext() const"},
-    {"_ZN12_GLOBAL__N_111DeclPrinter16VisitDeclContextEPN5clang11DeclContextEb", "(anonymous namespace)::DeclPrinter::VisitDeclContext(clang::DeclContext*, bool)"},
-    {"_ZNK5clang4Decl4dumpEv", "clang::Decl::dump() const"},
-    {"_ZN12_GLOBAL__N_111DeclPrinter18VisitCXXRecordDeclEPN5clang13CXXRecordDeclE", "(anonymous namespace)::DeclPrinter::VisitCXXRecordDecl(clang::CXXRecordDecl*)"},
-    {"_ZN12_GLOBAL__N_111DeclPrinter14VisitFieldDeclEPN5clang9FieldDeclE", "(anonymous namespace)::DeclPrinter::VisitFieldDecl(clang::FieldDecl*)"},
-    {"_ZN12_GLOBAL__N_111DeclPrinter17VisitFunctionDeclEPN5clang12FunctionDeclE", "(anonymous namespace)::DeclPrinter::VisitFunctionDecl(clang::FunctionDecl*)"},
-    {"_ZN12_GLOBAL__N_111DeclPrinter12VisitVarDeclEPN5clang7VarDeclE", "(anonymous namespace)::DeclPrinter::VisitVarDecl(clang::VarDecl*)"},
-    {"_ZN12_GLOBAL__N_111DeclPrinter17VisitTemplateDeclEPN5clang12TemplateDeclE", "(anonymous namespace)::DeclPrinter::VisitTemplateDecl(clang::TemplateDecl*)"},
-    {"_ZN12_GLOBAL__N_111DeclPrinter16ProcessDeclGroupERN4llvm15SmallVectorImplIPN5clang4DeclEEE", "(anonymous namespace)::DeclPrinter::ProcessDeclGroup(llvm::SmallVectorImpl<clang::Decl*>&)"},
-    {"_ZN5clang21TemplateParameterListC1ENS_14SourceLocationES1_PPNS_9NamedDeclEjS1_", "clang::TemplateParameterList::TemplateParameterList(clang::SourceLocation, clang::SourceLocation, clang::NamedDecl**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang21TemplateParameterListC2ENS_14SourceLocationES1_PPNS_9NamedDeclEjS1_", "clang::TemplateParameterList::TemplateParameterList(clang::SourceLocation, clang::SourceLocation, clang::NamedDecl**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang21TemplateParameterList6CreateERKNS_10ASTContextENS_14SourceLocationES4_PPNS_9NamedDeclEjS4_", "clang::TemplateParameterList::Create(clang::ASTContext const&, clang::SourceLocation, clang::SourceLocation, clang::NamedDecl**, unsigned int, clang::SourceLocation)"},
-    {"_ZNK5clang21TemplateParameterList23getMinRequiredArgumentsEv", "clang::TemplateParameterList::getMinRequiredArguments() const"},
-    {"_ZNK5clang21TemplateParameterList8getDepthEv", "clang::TemplateParameterList::getDepth() const"},
-    {"_ZNK5clang20TemplateTypeParmDecl8getDepthEv", "clang::TemplateTypeParmDecl::getDepth() const"},
-    {"_ZN5clang24RedeclarableTemplateDecl12getCommonPtrEv", "clang::RedeclarableTemplateDecl::getCommonPtr()"},
-    {"_ZN5clang24RedeclarableTemplateDecl20getCanonicalDeclImplEv", "clang::RedeclarableTemplateDecl::getCanonicalDeclImpl()"},
-    {"_ZN5clang24RedeclarableTemplateDecl26setPreviousDeclarationImplEPS0_", "clang::RedeclarableTemplateDecl::setPreviousDeclarationImpl(clang::RedeclarableTemplateDecl*)"},
-    {"_ZN5clang24RedeclarableTemplateDecl20getNextRedeclarationEv", "clang::RedeclarableTemplateDecl::getNextRedeclaration()"},
-    {"_ZN5clang20FunctionTemplateDecl16DeallocateCommonEPv", "clang::FunctionTemplateDecl::DeallocateCommon(void*)"},
-    {"_ZN5clang20FunctionTemplateDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationENS_15DeclarationNameEPNS_21TemplateParameterListEPNS_9NamedDeclE", "clang::FunctionTemplateDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::DeclarationName, clang::TemplateParameterList*, clang::NamedDecl*)"},
-    {"_ZN5clang20FunctionTemplateDecl9newCommonERNS_10ASTContextE", "clang::FunctionTemplateDecl::newCommon(clang::ASTContext&)"},
-    {"_ZN5clang20FunctionTemplateDecl18findSpecializationEPKNS_16TemplateArgumentEjRPv", "clang::FunctionTemplateDecl::findSpecialization(clang::TemplateArgument const*, unsigned int, void*&)"},
-    {"_ZN5clang17ClassTemplateDecl16DeallocateCommonEPv", "clang::ClassTemplateDecl::DeallocateCommon(void*)"},
-    {"_ZN5clang17ClassTemplateDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationENS_15DeclarationNameEPNS_21TemplateParameterListEPNS_9NamedDeclEPS0_", "clang::ClassTemplateDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, clang::DeclarationName, clang::TemplateParameterList*, clang::NamedDecl*, clang::ClassTemplateDecl*)"},
-    {"_ZN5clang17ClassTemplateDecl23LoadLazySpecializationsEv", "clang::ClassTemplateDecl::LoadLazySpecializations()"},
-    {"_ZN5clang17ClassTemplateDecl18getSpecializationsEv", "clang::ClassTemplateDecl::getSpecializations()"},
-    {"_ZN5clang17ClassTemplateDecl25getPartialSpecializationsEv", "clang::ClassTemplateDecl::getPartialSpecializations()"},
-    {"_ZN5clang17ClassTemplateDecl9newCommonERNS_10ASTContextE", "clang::ClassTemplateDecl::newCommon(clang::ASTContext&)"},
-    {"_ZN5clang17ClassTemplateDecl18findSpecializationEPKNS_16TemplateArgumentEjRPv", "clang::ClassTemplateDecl::findSpecialization(clang::TemplateArgument const*, unsigned int, void*&)"},
-    {"_ZN5clang17ClassTemplateDecl17AddSpecializationEPNS_31ClassTemplateSpecializationDeclEPv", "clang::ClassTemplateDecl::AddSpecialization(clang::ClassTemplateSpecializationDecl*, void*)"},
-    {"_ZN5clang17ClassTemplateDecl25findPartialSpecializationEPKNS_16TemplateArgumentEjRPv", "clang::ClassTemplateDecl::findPartialSpecialization(clang::TemplateArgument const*, unsigned int, void*&)"},
-    {"_ZN5clang17ClassTemplateDecl24AddPartialSpecializationEPNS_38ClassTemplatePartialSpecializationDeclEPv", "clang::ClassTemplateDecl::AddPartialSpecialization(clang::ClassTemplatePartialSpecializationDecl*, void*)"},
-    {"_ZN5clang17ClassTemplateDecl25getPartialSpecializationsERN4llvm15SmallVectorImplIPNS_38ClassTemplatePartialSpecializationDeclEEE", "clang::ClassTemplateDecl::getPartialSpecializations(llvm::SmallVectorImpl<clang::ClassTemplatePartialSpecializationDecl*>&)"},
-    {"_ZN5clang17ClassTemplateDecl25findPartialSpecializationENS_8QualTypeE", "clang::ClassTemplateDecl::findPartialSpecialization(clang::QualType)"},
-    {"_ZN5clang17ClassTemplateDecl37findPartialSpecInstantiatedFromMemberEPNS_38ClassTemplatePartialSpecializationDeclE", "clang::ClassTemplateDecl::findPartialSpecInstantiatedFromMember(clang::ClassTemplatePartialSpecializationDecl*)"},
-    {"_ZN5clang17ClassTemplateDecl34getInjectedClassNameSpecializationEv", "clang::ClassTemplateDecl::getInjectedClassNameSpecialization()"},
-    {"_ZN5clang20TemplateTypeParmDecl6CreateERKNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEjjPNS_14IdentifierInfoEbb", "clang::TemplateTypeParmDecl::Create(clang::ASTContext const&, clang::DeclContext*, clang::SourceLocation, unsigned int, unsigned int, clang::IdentifierInfo*, bool, bool)"},
-    {"_ZN5clang20TemplateTypeParmDecl6CreateERKNS_10ASTContextENS_4Decl10EmptyShellE", "clang::TemplateTypeParmDecl::Create(clang::ASTContext const&, clang::Decl::EmptyShell)"},
-    {"_ZNK5clang20TemplateTypeParmDecl21getDefaultArgumentLocEv", "clang::TemplateTypeParmDecl::getDefaultArgumentLoc() const"},
-    {"_ZNK5clang20TemplateTypeParmDecl8getIndexEv", "clang::TemplateTypeParmDecl::getIndex() const"},
-    {"_ZN5clang23NonTypeTemplateParmDeclC1EPNS_11DeclContextENS_14SourceLocationEjjPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoEPKS6_jPS8_", "clang::NonTypeTemplateParmDecl::NonTypeTemplateParmDecl(clang::DeclContext*, clang::SourceLocation, unsigned int, unsigned int, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::QualType const*, unsigned int, clang::TypeSourceInfo**)"},
-    {"_ZN5clang23NonTypeTemplateParmDeclC2EPNS_11DeclContextENS_14SourceLocationEjjPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoEPKS6_jPS8_", "clang::NonTypeTemplateParmDecl::NonTypeTemplateParmDecl(clang::DeclContext*, clang::SourceLocation, unsigned int, unsigned int, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::QualType const*, unsigned int, clang::TypeSourceInfo**)"},
-    {"_ZN5clang23NonTypeTemplateParmDecl6CreateERKNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEjjPNS_14IdentifierInfoENS_8QualTypeEbPNS_14TypeSourceInfoE", "clang::NonTypeTemplateParmDecl::Create(clang::ASTContext const&, clang::DeclContext*, clang::SourceLocation, unsigned int, unsigned int, clang::IdentifierInfo*, clang::QualType, bool, clang::TypeSourceInfo*)"},
-    {"_ZN5clang23NonTypeTemplateParmDecl6CreateERKNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEjjPNS_14IdentifierInfoENS_8QualTypeEPNS_14TypeSourceInfoEPKS9_jPSB_", "clang::NonTypeTemplateParmDecl::Create(clang::ASTContext const&, clang::DeclContext*, clang::SourceLocation, unsigned int, unsigned int, clang::IdentifierInfo*, clang::QualType, clang::TypeSourceInfo*, clang::QualType const*, unsigned int, clang::TypeSourceInfo**)"},
-    {"_ZNK5clang23NonTypeTemplateParmDecl16getInnerLocStartEv", "clang::NonTypeTemplateParmDecl::getInnerLocStart() const"},
-    {"_ZNK5clang23NonTypeTemplateParmDecl14getSourceRangeEv", "clang::NonTypeTemplateParmDecl::getSourceRange() const"},
-    {"_ZNK5clang23NonTypeTemplateParmDecl21getDefaultArgumentLocEv", "clang::NonTypeTemplateParmDecl::getDefaultArgumentLoc() const"},
-    {"_ZN5clang24TemplateTemplateParmDecl6CreateERKNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEjjbPNS_14IdentifierInfoEPNS_21TemplateParameterListE", "clang::TemplateTemplateParmDecl::Create(clang::ASTContext const&, clang::DeclContext*, clang::SourceLocation, unsigned int, unsigned int, bool, clang::IdentifierInfo*, clang::TemplateParameterList*)"},
-    {"_ZN5clang20TemplateArgumentList10CreateCopyERNS_10ASTContextEPKNS_16TemplateArgumentEj", "clang::TemplateArgumentList::CreateCopy(clang::ASTContext&, clang::TemplateArgument const*, unsigned int)"},
-    {"_ZN5clang31ClassTemplateSpecializationDeclC1ERNS_10ASTContextENS_4Decl4KindENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_17ClassTemplateDeclEPKNS_16TemplateArgumentEjPS0_", "clang::ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(clang::ASTContext&, clang::Decl::Kind, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::ClassTemplateDecl*, clang::TemplateArgument const*, unsigned int, clang::ClassTemplateSpecializationDecl*)"},
-    {"_ZN5clang31ClassTemplateSpecializationDeclC2ERNS_10ASTContextENS_4Decl4KindENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_17ClassTemplateDeclEPKNS_16TemplateArgumentEjPS0_", "clang::ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(clang::ASTContext&, clang::Decl::Kind, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::ClassTemplateDecl*, clang::TemplateArgument const*, unsigned int, clang::ClassTemplateSpecializationDecl*)"},
-    {"_ZN5clang31ClassTemplateSpecializationDeclC1ENS_4Decl4KindE", "clang::ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(clang::Decl::Kind)"},
-    {"_ZN5clang31ClassTemplateSpecializationDeclC2ENS_4Decl4KindE", "clang::ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(clang::Decl::Kind)"},
-    {"_ZN5clang31ClassTemplateSpecializationDecl6CreateERNS_10ASTContextENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_17ClassTemplateDeclEPKNS_16TemplateArgumentEjPS0_", "clang::ClassTemplateSpecializationDecl::Create(clang::ASTContext&, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::ClassTemplateDecl*, clang::TemplateArgument const*, unsigned int, clang::ClassTemplateSpecializationDecl*)"},
-    {"_ZN5clang31ClassTemplateSpecializationDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::ClassTemplateSpecializationDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZNK5clang31ClassTemplateSpecializationDecl20getNameForDiagnosticERSsRKNS_14PrintingPolicyEb", "clang::ClassTemplateSpecializationDecl::getNameForDiagnostic(std::string&, clang::PrintingPolicy const&, bool) const"},
-    {"_ZNK5clang31ClassTemplateSpecializationDecl22getSpecializedTemplateEv", "clang::ClassTemplateSpecializationDecl::getSpecializedTemplate() const"},
-    {"_ZN5clang38ClassTemplatePartialSpecializationDecl6CreateERNS_10ASTContextENS_11TagTypeKindEPNS_11DeclContextENS_14SourceLocationEPNS_21TemplateParameterListEPNS_17ClassTemplateDeclEPKNS_16TemplateArgumentEjRKNS_24TemplateArgumentListInfoENS_8QualTypeEPS0_j", "clang::ClassTemplatePartialSpecializationDecl::Create(clang::ASTContext&, clang::TagTypeKind, clang::DeclContext*, clang::SourceLocation, clang::TemplateParameterList*, clang::ClassTemplateDecl*, clang::TemplateArgument const*, unsigned int, clang::TemplateArgumentListInfo const&, clang::QualType, clang::ClassTemplatePartialSpecializationDecl*, unsigned int)"},
-    {"_ZN5clang38ClassTemplatePartialSpecializationDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::ClassTemplatePartialSpecializationDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZN5clang18FriendTemplateDecl6CreateERNS_10ASTContextEPNS_11DeclContextENS_14SourceLocationEjPPNS_21TemplateParameterListEN4llvm12PointerUnionIPNS_9NamedDeclEPNS_14TypeSourceInfoEEES5_", "clang::FriendTemplateDecl::Create(clang::ASTContext&, clang::DeclContext*, clang::SourceLocation, unsigned int, clang::TemplateParameterList**, llvm::PointerUnion<clang::NamedDecl*, clang::TypeSourceInfo*>, clang::SourceLocation)"},
-    {"_ZN5clang18FriendTemplateDecl6CreateERNS_10ASTContextENS_4Decl10EmptyShellE", "clang::FriendTemplateDecl::Create(clang::ASTContext&, clang::Decl::EmptyShell)"},
-    {"_ZN5clang24RedeclarableTemplateDecl22findSpecializationImplINS_34FunctionTemplateSpecializationInfoEEEPNS0_15SpecEntryTraitsIT_E8DeclTypeERN4llvm10FoldingSetIS4_EEPKNS_16TemplateArgumentEjRPv", "clang::RedeclarableTemplateDecl::SpecEntryTraits<clang::FunctionTemplateSpecializationInfo>::DeclType* clang::RedeclarableTemplateDecl::findSpecializationImpl<clang::FunctionTemplateSpecializationInfo>(llvm::FoldingSet<clang::FunctionTemplateSpecializationInfo>&, clang::TemplateArgument const*, unsigned int, void*&)"},
-    {"_ZN5clang24RedeclarableTemplateDecl22findSpecializationImplINS_31ClassTemplateSpecializationDeclEEEPNS0_15SpecEntryTraitsIT_E8DeclTypeERN4llvm10FoldingSetIS4_EEPKNS_16TemplateArgumentEjRPv", "clang::RedeclarableTemplateDecl::SpecEntryTraits<clang::ClassTemplateSpecializationDecl>::DeclType* clang::RedeclarableTemplateDecl::findSpecializationImpl<clang::ClassTemplateSpecializationDecl>(llvm::FoldingSet<clang::ClassTemplateSpecializationDecl>&, clang::TemplateArgument const*, unsigned int, void*&)"},
-    {"_ZN5clang24RedeclarableTemplateDecl22findSpecializationImplINS_38ClassTemplatePartialSpecializationDeclEEEPNS0_15SpecEntryTraitsIT_E8DeclTypeERN4llvm10FoldingSetIS4_EEPKNS_16TemplateArgumentEjRPv", "clang::RedeclarableTemplateDecl::SpecEntryTraits<clang::ClassTemplatePartialSpecializationDecl>::DeclType* clang::RedeclarableTemplateDecl::findSpecializationImpl<clang::ClassTemplatePartialSpecializationDecl>(llvm::FoldingSet<clang::ClassTemplatePartialSpecializationDecl>&, clang::TemplateArgument const*, unsigned int, void*&)"},
-    {"_ZN4llvm15SmallVectorImplIPN5clang38ClassTemplatePartialSpecializationDeclEE6resizeEj", "llvm::SmallVectorImpl<clang::ClassTemplatePartialSpecializationDecl*>::resize(unsigned int)"},
-    {"_ZN5clang24RedeclarableTemplateDeclD1Ev", "clang::RedeclarableTemplateDecl::~RedeclarableTemplateDecl()"},
-    {"_ZN5clang24RedeclarableTemplateDeclD0Ev", "clang::RedeclarableTemplateDecl::~RedeclarableTemplateDecl()"},
-    {"_ZNK5clang12TemplateDecl14getSourceRangeEv", "clang::TemplateDecl::getSourceRange() const"},
-    {"_ZN5clang24RedeclarableTemplateDecl16getCanonicalDeclEv", "clang::RedeclarableTemplateDecl::getCanonicalDecl()"},
-    {"_ZN5clang20FunctionTemplateDeclD1Ev", "clang::FunctionTemplateDecl::~FunctionTemplateDecl()"},
-    {"_ZN5clang20FunctionTemplateDeclD0Ev", "clang::FunctionTemplateDecl::~FunctionTemplateDecl()"},
-    {"_ZN5clang20FunctionTemplateDecl16getCanonicalDeclEv", "clang::FunctionTemplateDecl::getCanonicalDecl()"},
-    {"_ZN5clang23NonTypeTemplateParmDeclD1Ev", "clang::NonTypeTemplateParmDecl::~NonTypeTemplateParmDecl()"},
-    {"_ZN5clang23NonTypeTemplateParmDeclD0Ev", "clang::NonTypeTemplateParmDecl::~NonTypeTemplateParmDecl()"},
-    {"_ZN5clang31ClassTemplateSpecializationDeclD1Ev", "clang::ClassTemplateSpecializationDecl::~ClassTemplateSpecializationDecl()"},
-    {"_ZN5clang31ClassTemplateSpecializationDeclD0Ev", "clang::ClassTemplateSpecializationDecl::~ClassTemplateSpecializationDecl()"},
-    {"_ZN5clang13CXXRecordDecl16getCanonicalDeclEv", "clang::CXXRecordDecl::getCanonicalDecl()"},
-    {"_ZNK5clang31ClassTemplateSpecializationDecl16getInnerLocStartEv", "clang::ClassTemplateSpecializationDecl::getInnerLocStart() const"},
-    {"_ZNK5clang13CXXRecordDecl16getCanonicalDeclEv", "clang::CXXRecordDecl::getCanonicalDecl() const"},
-    {"_ZN5clang17ClassTemplateDeclD1Ev", "clang::ClassTemplateDecl::~ClassTemplateDecl()"},
-    {"_ZN5clang17ClassTemplateDeclD0Ev", "clang::ClassTemplateDecl::~ClassTemplateDecl()"},
-    {"_ZN5clang17ClassTemplateDecl16getCanonicalDeclEv", "clang::ClassTemplateDecl::getCanonicalDecl()"},
-    {"_ZN5clang12TemplateDeclD1Ev", "clang::TemplateDecl::~TemplateDecl()"},
-    {"_ZN5clang12TemplateDeclD0Ev", "clang::TemplateDecl::~TemplateDecl()"},
-    {"_ZN5clang13CXXRecordDeclD1Ev", "clang::CXXRecordDecl::~CXXRecordDecl()"},
-    {"_ZN5clang13CXXRecordDeclD0Ev", "clang::CXXRecordDecl::~CXXRecordDecl()"},
-    {"_ZN5clang18FriendTemplateDeclD1Ev", "clang::FriendTemplateDecl::~FriendTemplateDecl()"},
-    {"_ZN5clang18FriendTemplateDeclD0Ev", "clang::FriendTemplateDecl::~FriendTemplateDecl()"},
-    {"_ZN5clang38ClassTemplatePartialSpecializationDeclD1Ev", "clang::ClassTemplatePartialSpecializationDecl::~ClassTemplatePartialSpecializationDecl()"},
-    {"_ZN5clang38ClassTemplatePartialSpecializationDeclD0Ev", "clang::ClassTemplatePartialSpecializationDecl::~ClassTemplatePartialSpecializationDecl()"},
-    {"_ZN5clang24TemplateTemplateParmDeclC2EPNS_11DeclContextENS_14SourceLocationEjjbPNS_14IdentifierInfoEPNS_21TemplateParameterListE", "clang::TemplateTemplateParmDecl::TemplateTemplateParmDecl(clang::DeclContext*, clang::SourceLocation, unsigned int, unsigned int, bool, clang::IdentifierInfo*, clang::TemplateParameterList*)"},
-    {"_ZN5clang24TemplateTemplateParmDeclD1Ev", "clang::TemplateTemplateParmDecl::~TemplateTemplateParmDecl()"},
-    {"_ZN5clang24TemplateTemplateParmDeclD0Ev", "clang::TemplateTemplateParmDecl::~TemplateTemplateParmDecl()"},
-    {"_ZNK5clang24TemplateTemplateParmDecl14getSourceRangeEv", "clang::TemplateTemplateParmDecl::getSourceRange() const"},
-    {"_ZN5clang20TemplateTypeParmDeclC2EPNS_11DeclContextENS_14SourceLocationEPNS_14IdentifierInfoEbNS_8QualTypeEb", "clang::TemplateTypeParmDecl::TemplateTypeParmDecl(clang::DeclContext*, clang::SourceLocation, clang::IdentifierInfo*, bool, clang::QualType, bool)"},
-    {"_ZN5clang20TemplateTypeParmDeclD1Ev", "clang::TemplateTypeParmDecl::~TemplateTypeParmDecl()"},
-    {"_ZN5clang20TemplateTypeParmDeclD0Ev", "clang::TemplateTypeParmDecl::~TemplateTypeParmDecl()"},
-    {"_ZN4llvm10FoldingSetIN5clang38ClassTemplatePartialSpecializationDeclEED1Ev", "llvm::FoldingSet<clang::ClassTemplatePartialSpecializationDecl>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang38ClassTemplatePartialSpecializationDeclEED0Ev", "llvm::FoldingSet<clang::ClassTemplatePartialSpecializationDecl>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang38ClassTemplatePartialSpecializationDeclEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ClassTemplatePartialSpecializationDecl>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang38ClassTemplatePartialSpecializationDeclEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ClassTemplatePartialSpecializationDecl>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang38ClassTemplatePartialSpecializationDeclEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ClassTemplatePartialSpecializationDecl>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang31ClassTemplateSpecializationDeclEED1Ev", "llvm::FoldingSet<clang::ClassTemplateSpecializationDecl>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang31ClassTemplateSpecializationDeclEED0Ev", "llvm::FoldingSet<clang::ClassTemplateSpecializationDecl>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang31ClassTemplateSpecializationDeclEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ClassTemplateSpecializationDecl>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang31ClassTemplateSpecializationDeclEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::ClassTemplateSpecializationDecl>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang31ClassTemplateSpecializationDeclEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::ClassTemplateSpecializationDecl>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang34FunctionTemplateSpecializationInfoEED1Ev", "llvm::FoldingSet<clang::FunctionTemplateSpecializationInfo>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang34FunctionTemplateSpecializationInfoEED0Ev", "llvm::FoldingSet<clang::FunctionTemplateSpecializationInfo>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang34FunctionTemplateSpecializationInfoEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::FunctionTemplateSpecializationInfo>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang34FunctionTemplateSpecializationInfoEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::FunctionTemplateSpecializationInfo>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang34FunctionTemplateSpecializationInfoEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::FunctionTemplateSpecializationInfo>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN5clang15DeclarationName7compareES0_S0_", "clang::DeclarationName::compare(clang::DeclarationName, clang::DeclarationName)"},
-    {"_ZNK5clang15DeclarationName11getNameKindEv", "clang::DeclarationName::getNameKind() const"},
-    {"_ZNK5clang15DeclarationName15getObjCSelectorEv", "clang::DeclarationName::getObjCSelector() const"},
-    {"_ZNK5clang15DeclarationName14getCXXNameTypeEv", "clang::DeclarationName::getCXXNameType() const"},
-    {"_ZNK5clang15DeclarationName24getCXXOverloadedOperatorEv", "clang::DeclarationName::getCXXOverloadedOperator() const"},
-    {"_ZNK5clang15DeclarationName23getCXXLiteralIdentifierEv", "clang::DeclarationName::getCXXLiteralIdentifier() const"},
-    {"_ZN5clang15DeclarationNameC1ENS_8SelectorE", "clang::DeclarationName::DeclarationName(clang::Selector)"},
-    {"_ZN5clang15DeclarationNameC2ENS_8SelectorE", "clang::DeclarationName::DeclarationName(clang::Selector)"},
-    {"_ZNK5clang15DeclarationName15isDependentNameEv", "clang::DeclarationName::isDependentName() const"},
-    {"_ZNK5clang15DeclarationName11getAsStringEv", "clang::DeclarationName::getAsString() const"},
-    {"_ZNK5clang15DeclarationName9printNameERN4llvm11raw_ostreamE", "clang::DeclarationName::printName(llvm::raw_ostream&) const"},
-    {"_ZNK5clang15DeclarationName20getFETokenInfoAsVoidEv", "clang::DeclarationName::getFETokenInfoAsVoid() const"},
-    {"_ZN5clang15DeclarationName14setFETokenInfoEPv", "clang::DeclarationName::setFETokenInfo(void*)"},
-    {"_ZN5clang15DeclarationName21getUsingDirectiveNameEv", "clang::DeclarationName::getUsingDirectiveName()"},
-    {"_ZNK5clang15DeclarationName4dumpEv", "clang::DeclarationName::dump() const"},
-    {"_ZN5clang20DeclarationNameTableC1ERKNS_10ASTContextE", "clang::DeclarationNameTable::DeclarationNameTable(clang::ASTContext const&)"},
-    {"_ZN5clang20DeclarationNameTableC2ERKNS_10ASTContextE", "clang::DeclarationNameTable::DeclarationNameTable(clang::ASTContext const&)"},
-    {"_ZN5clang20DeclarationNameTableD1Ev", "clang::DeclarationNameTable::~DeclarationNameTable()"},
-    {"_ZN5clang20DeclarationNameTableD2Ev", "clang::DeclarationNameTable::~DeclarationNameTable()"},
-    {"_ZN5clang20DeclarationNameTable17getCXXSpecialNameENS_15DeclarationName8NameKindENS_7CanQualINS_4TypeEEE", "clang::DeclarationNameTable::getCXXSpecialName(clang::DeclarationName::NameKind, clang::CanQual<clang::Type>)"},
-    {"_ZN5clang20DeclarationNameTable18getCXXOperatorNameENS_22OverloadedOperatorKindE", "clang::DeclarationNameTable::getCXXOperatorName(clang::OverloadedOperatorKind)"},
-    {"_ZN5clang20DeclarationNameTable25getCXXLiteralOperatorNameEPNS_14IdentifierInfoE", "clang::DeclarationNameTable::getCXXLiteralOperatorName(clang::IdentifierInfo*)"},
-    {"_ZN4llvm12DenseMapInfoIN5clang15DeclarationNameEE12getHashValueES2_", "llvm::DenseMapInfo<clang::DeclarationName>::getHashValue(clang::DeclarationName)"},
-    {"_ZN5clang18DeclarationNameLocC1ENS_15DeclarationNameE", "clang::DeclarationNameLoc::DeclarationNameLoc(clang::DeclarationName)"},
-    {"_ZN5clang18DeclarationNameLocC2ENS_15DeclarationNameE", "clang::DeclarationNameLoc::DeclarationNameLoc(clang::DeclarationName)"},
-    {"_ZNK5clang19DeclarationNameInfo31containsUnexpandedParameterPackEv", "clang::DeclarationNameInfo::containsUnexpandedParameterPack() const"},
-    {"_ZNK5clang19DeclarationNameInfo11getAsStringEv", "clang::DeclarationNameInfo::getAsString() const"},
-    {"_ZNK5clang19DeclarationNameInfo9printNameERN4llvm11raw_ostreamE", "clang::DeclarationNameInfo::printName(llvm::raw_ostream&) const"},
-    {"_ZNK5clang19DeclarationNameInfo9getEndLocEv", "clang::DeclarationNameInfo::getEndLoc() const"},
-    {"_ZN4llvm10FoldingSetIN5clang24CXXLiteralOperatorIdNameEED1Ev", "llvm::FoldingSet<clang::CXXLiteralOperatorIdName>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang24CXXLiteralOperatorIdNameEED0Ev", "llvm::FoldingSet<clang::CXXLiteralOperatorIdName>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang24CXXLiteralOperatorIdNameEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::CXXLiteralOperatorIdName>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang24CXXLiteralOperatorIdNameEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::CXXLiteralOperatorIdName>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang24CXXLiteralOperatorIdNameEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::CXXLiteralOperatorIdName>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm10FoldingSetIN5clang14CXXSpecialNameEED1Ev", "llvm::FoldingSet<clang::CXXSpecialName>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang14CXXSpecialNameEED0Ev", "llvm::FoldingSet<clang::CXXSpecialName>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang14CXXSpecialNameEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::CXXSpecialName>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang14CXXSpecialNameEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::CXXSpecialName>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang14CXXSpecialNameEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::CXXSpecialName>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang4Decl7dumpXMLEv", "clang::Decl::dumpXML() const"},
-    {"_ZNK5clang4Decl7dumpXMLERN4llvm11raw_ostreamE", "clang::Decl::dumpXML(llvm::raw_ostream&) const"},
-    {"_ZNK5clang4Expr25isKnownToHaveBooleanValueEv", "clang::Expr::isKnownToHaveBooleanValue() const"},
-    {"_ZNK5clang4Expr10getExprLocEv", "clang::Expr::getExprLoc() const"},
-    {"_ZN5clang28ExplicitTemplateArgumentList14initializeFromERKNS_24TemplateArgumentListInfoE", "clang::ExplicitTemplateArgumentList::initializeFrom(clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang28ExplicitTemplateArgumentList14initializeFromERKNS_24TemplateArgumentListInfoERbS4_", "clang::ExplicitTemplateArgumentList::initializeFrom(clang::TemplateArgumentListInfo const&, bool&, bool&)"},
-    {"_ZNK5clang28ExplicitTemplateArgumentList8copyIntoERNS_24TemplateArgumentListInfoE", "clang::ExplicitTemplateArgumentList::copyInto(clang::TemplateArgumentListInfo&) const"},
-    {"_ZN5clang28ExplicitTemplateArgumentList7sizeForEj", "clang::ExplicitTemplateArgumentList::sizeFor(unsigned int)"},
-    {"_ZN5clang28ExplicitTemplateArgumentList7sizeForERKNS_24TemplateArgumentListInfoE", "clang::ExplicitTemplateArgumentList::sizeFor(clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang11DeclRefExpr17computeDependenceEv", "clang::DeclRefExpr::computeDependence()"},
-    {"_Z24computeDeclRefDependencePN5clang9NamedDeclENS_8QualTypeERbS3_", "computeDeclRefDependence(clang::NamedDecl*, clang::QualType, bool&, bool&)"},
-    {"_ZN5clang11DeclRefExprC1EPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9ValueDeclENS_14SourceLocationEPKNS_24TemplateArgumentListInfoENS_8QualTypeENS_13ExprValueKindE", "clang::DeclRefExpr::DeclRefExpr(clang::NestedNameSpecifier*, clang::SourceRange, clang::ValueDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*, clang::QualType, clang::ExprValueKind)"},
-    {"_ZN5clang11DeclRefExprC2EPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9ValueDeclENS_14SourceLocationEPKNS_24TemplateArgumentListInfoENS_8QualTypeENS_13ExprValueKindE", "clang::DeclRefExpr::DeclRefExpr(clang::NestedNameSpecifier*, clang::SourceRange, clang::ValueDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*, clang::QualType, clang::ExprValueKind)"},
-    {"_ZN5clang11DeclRefExprC1EPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9ValueDeclERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoENS_8QualTypeENS_13ExprValueKindE", "clang::DeclRefExpr::DeclRefExpr(clang::NestedNameSpecifier*, clang::SourceRange, clang::ValueDecl*, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*, clang::QualType, clang::ExprValueKind)"},
-    {"_ZN5clang11DeclRefExprC2EPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9ValueDeclERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoENS_8QualTypeENS_13ExprValueKindE", "clang::DeclRefExpr::DeclRefExpr(clang::NestedNameSpecifier*, clang::SourceRange, clang::ValueDecl*, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*, clang::QualType, clang::ExprValueKind)"},
-    {"_ZN5clang11DeclRefExpr6CreateERNS_10ASTContextEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9ValueDeclENS_14SourceLocationENS_8QualTypeENS_13ExprValueKindEPKNS_24TemplateArgumentListInfoE", "clang::DeclRefExpr::Create(clang::ASTContext&, clang::NestedNameSpecifier*, clang::SourceRange, clang::ValueDecl*, clang::SourceLocation, clang::QualType, clang::ExprValueKind, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang11DeclRefExpr6CreateERNS_10ASTContextEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9ValueDeclERKNS_19DeclarationNameInfoENS_8QualTypeENS_13ExprValueKindEPKNS_24TemplateArgumentListInfoE", "clang::DeclRefExpr::Create(clang::ASTContext&, clang::NestedNameSpecifier*, clang::SourceRange, clang::ValueDecl*, clang::DeclarationNameInfo const&, clang::QualType, clang::ExprValueKind, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang11DeclRefExpr11CreateEmptyERNS_10ASTContextEbbj", "clang::DeclRefExpr::CreateEmpty(clang::ASTContext&, bool, bool, unsigned int)"},
-    {"_ZNK5clang11DeclRefExpr14getSourceRangeEv", "clang::DeclRefExpr::getSourceRange() const"},
-    {"_ZN5clang14PredefinedExpr11ComputeNameENS0_9IdentTypeEPKNS_4DeclE", "clang::PredefinedExpr::ComputeName(clang::PredefinedExpr::IdentType, clang::Decl const*)"},
-    {"_ZN5clang16APNumericStorage11setIntValueERNS_10ASTContextERKN4llvm5APIntE", "clang::APNumericStorage::setIntValue(clang::ASTContext&, llvm::APInt const&)"},
-    {"_ZN5clang14IntegerLiteral6CreateERNS_10ASTContextERKN4llvm5APIntENS_8QualTypeENS_14SourceLocationE", "clang::IntegerLiteral::Create(clang::ASTContext&, llvm::APInt const&, clang::QualType, clang::SourceLocation)"},
-    {"_ZN5clang14IntegerLiteral6CreateERNS_10ASTContextENS_4Stmt10EmptyShellE", "clang::IntegerLiteral::Create(clang::ASTContext&, clang::Stmt::EmptyShell)"},
-    {"_ZN5clang15FloatingLiteral6CreateERNS_10ASTContextERKN4llvm7APFloatEbNS_8QualTypeENS_14SourceLocationE", "clang::FloatingLiteral::Create(clang::ASTContext&, llvm::APFloat const&, bool, clang::QualType, clang::SourceLocation)"},
-    {"_ZN5clang15FloatingLiteral6CreateERNS_10ASTContextENS_4Stmt10EmptyShellE", "clang::FloatingLiteral::Create(clang::ASTContext&, clang::Stmt::EmptyShell)"},
-    {"_ZNK5clang15FloatingLiteral27getValueAsApproximateDoubleEv", "clang::FloatingLiteral::getValueAsApproximateDouble() const"},
-    {"_ZN5clang13StringLiteral6CreateERNS_10ASTContextEPKcjbNS_8QualTypeEPKNS_14SourceLocationEj", "clang::StringLiteral::Create(clang::ASTContext&, char const*, unsigned int, bool, clang::QualType, clang::SourceLocation const*, unsigned int)"},
-    {"_ZN5clang13StringLiteral11CreateEmptyERNS_10ASTContextEj", "clang::StringLiteral::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang13StringLiteral9setStringERNS_10ASTContextEN4llvm9StringRefE", "clang::StringLiteral::setString(clang::ASTContext&, llvm::StringRef)"},
-    {"_ZNK5clang13StringLiteral17getLocationOfByteEjRKNS_13SourceManagerERKNS_11LangOptionsERKNS_10TargetInfoE", "clang::StringLiteral::getLocationOfByte(unsigned int, clang::SourceManager const&, clang::LangOptions const&, clang::TargetInfo const&) const"},
-    {"_ZN5clang13UnaryOperator12getOpcodeStrENS_17UnaryOperatorKindE", "clang::UnaryOperator::getOpcodeStr(clang::UnaryOperatorKind)"},
-    {"_ZN5clang13UnaryOperator19getOverloadedOpcodeENS_22OverloadedOperatorKindEb", "clang::UnaryOperator::getOverloadedOpcode(clang::OverloadedOperatorKind, bool)"},
-    {"_ZN5clang13UnaryOperator21getOverloadedOperatorENS_17UnaryOperatorKindE", "clang::UnaryOperator::getOverloadedOperator(clang::UnaryOperatorKind)"},
-    {"_ZN5clang8CallExprC1ERNS_10ASTContextENS_4Stmt9StmtClassEPNS_4ExprEjPS6_jNS_8QualTypeENS_13ExprValueKindENS_14SourceLocationE", "clang::CallExpr::CallExpr(clang::ASTContext&, clang::Stmt::StmtClass, clang::Expr*, unsigned int, clang::Expr**, unsigned int, clang::QualType, clang::ExprValueKind, clang::SourceLocation)"},
-    {"_ZN5clang8CallExprC2ERNS_10ASTContextENS_4Stmt9StmtClassEPNS_4ExprEjPS6_jNS_8QualTypeENS_13ExprValueKindENS_14SourceLocationE", "clang::CallExpr::CallExpr(clang::ASTContext&, clang::Stmt::StmtClass, clang::Expr*, unsigned int, clang::Expr**, unsigned int, clang::QualType, clang::ExprValueKind, clang::SourceLocation)"},
-    {"_ZN5clang8CallExprC1ERNS_10ASTContextEPNS_4ExprEPS4_jNS_8QualTypeENS_13ExprValueKindENS_14SourceLocationE", "clang::CallExpr::CallExpr(clang::ASTContext&, clang::Expr*, clang::Expr**, unsigned int, clang::QualType, clang::ExprValueKind, clang::SourceLocation)"},
-    {"_ZN5clang8CallExprC2ERNS_10ASTContextEPNS_4ExprEPS4_jNS_8QualTypeENS_13ExprValueKindENS_14SourceLocationE", "clang::CallExpr::CallExpr(clang::ASTContext&, clang::Expr*, clang::Expr**, unsigned int, clang::QualType, clang::ExprValueKind, clang::SourceLocation)"},
-    {"_ZN5clang8CallExprC1ERNS_10ASTContextENS_4Stmt9StmtClassENS3_10EmptyShellE", "clang::CallExpr::CallExpr(clang::ASTContext&, clang::Stmt::StmtClass, clang::Stmt::EmptyShell)"},
-    {"_ZN5clang8CallExprC2ERNS_10ASTContextENS_4Stmt9StmtClassENS3_10EmptyShellE", "clang::CallExpr::CallExpr(clang::ASTContext&, clang::Stmt::StmtClass, clang::Stmt::EmptyShell)"},
-    {"_ZN5clang8CallExprC1ERNS_10ASTContextENS_4Stmt9StmtClassEjNS3_10EmptyShellE", "clang::CallExpr::CallExpr(clang::ASTContext&, clang::Stmt::StmtClass, unsigned int, clang::Stmt::EmptyShell)"},
-    {"_ZN5clang8CallExprC2ERNS_10ASTContextENS_4Stmt9StmtClassEjNS3_10EmptyShellE", "clang::CallExpr::CallExpr(clang::ASTContext&, clang::Stmt::StmtClass, unsigned int, clang::Stmt::EmptyShell)"},
-    {"_ZN5clang8CallExpr13getCalleeDeclEv", "clang::CallExpr::getCalleeDecl()"},
-    {"_ZN5clang4Expr16IgnoreParenCastsEv", "clang::Expr::IgnoreParenCasts()"},
-    {"_ZN5clang8CallExpr15getDirectCalleeEv", "clang::CallExpr::getDirectCallee()"},
-    {"_ZN5clang8CallExpr10setNumArgsERNS_10ASTContextEj", "clang::CallExpr::setNumArgs(clang::ASTContext&, unsigned int)"},
-    {"_ZNK5clang8CallExpr13isBuiltinCallERKNS_10ASTContextE", "clang::CallExpr::isBuiltinCall(clang::ASTContext const&) const"},
-    {"_ZNK5clang8CallExpr17getCallReturnTypeEv", "clang::CallExpr::getCallReturnType() const"},
-    {"_ZN5clang12OffsetOfExpr6CreateERNS_10ASTContextENS_8QualTypeENS_14SourceLocationEPNS_14TypeSourceInfoEPNS0_12OffsetOfNodeEjPPNS_4ExprEjS4_", "clang::OffsetOfExpr::Create(clang::ASTContext&, clang::QualType, clang::SourceLocation, clang::TypeSourceInfo*, clang::OffsetOfExpr::OffsetOfNode*, unsigned int, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang12OffsetOfExprC1ERNS_10ASTContextENS_8QualTypeENS_14SourceLocationEPNS_14TypeSourceInfoEPNS0_12OffsetOfNodeEjPPNS_4ExprEjS4_", "clang::OffsetOfExpr::OffsetOfExpr(clang::ASTContext&, clang::QualType, clang::SourceLocation, clang::TypeSourceInfo*, clang::OffsetOfExpr::OffsetOfNode*, unsigned int, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang12OffsetOfExpr11CreateEmptyERNS_10ASTContextEjj", "clang::OffsetOfExpr::CreateEmpty(clang::ASTContext&, unsigned int, unsigned int)"},
-    {"_ZN5clang12OffsetOfExprC2ERNS_10ASTContextENS_8QualTypeENS_14SourceLocationEPNS_14TypeSourceInfoEPNS0_12OffsetOfNodeEjPPNS_4ExprEjS4_", "clang::OffsetOfExpr::OffsetOfExpr(clang::ASTContext&, clang::QualType, clang::SourceLocation, clang::TypeSourceInfo*, clang::OffsetOfExpr::OffsetOfNode*, unsigned int, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZNK5clang12OffsetOfExpr12OffsetOfNode12getFieldNameEv", "clang::OffsetOfExpr::OffsetOfNode::getFieldName() const"},
-    {"_ZN5clang10MemberExpr6CreateERNS_10ASTContextEPNS_4ExprEbPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9ValueDeclENS_14DeclAccessPairENS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoENS_8QualTypeENS_13ExprValueKindENS_14ExprObjectKindE", "clang::MemberExpr::Create(clang::ASTContext&, clang::Expr*, bool, clang::NestedNameSpecifier*, clang::SourceRange, clang::ValueDecl*, clang::DeclAccessPair, clang::DeclarationNameInfo, clang::TemplateArgumentListInfo const*, clang::QualType, clang::ExprValueKind, clang::ExprObjectKind)"},
-    {"_ZNK5clang8CastExpr15getCastKindNameEv", "clang::CastExpr::getCastKindName() const"},
-    {"_ZN5clang8CastExpr19getSubExprAsWrittenEv", "clang::CastExpr::getSubExprAsWritten()"},
-    {"_ZN5clang8CastExpr11path_bufferEv", "clang::CastExpr::path_buffer()"},
-    {"_ZN5clang8CastExpr11setCastPathERKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEE", "clang::CastExpr::setCastPath(llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const&)"},
-    {"_ZN5clang16ImplicitCastExpr6CreateERNS_10ASTContextENS_8QualTypeENS_8CastKindEPNS_4ExprEPKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEENS_13ExprValueKindE", "clang::ImplicitCastExpr::Create(clang::ASTContext&, clang::QualType, clang::CastKind, clang::Expr*, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const*, clang::ExprValueKind)"},
-    {"_ZN5clang16ImplicitCastExpr11CreateEmptyERNS_10ASTContextEj", "clang::ImplicitCastExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang14CStyleCastExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindENS_8CastKindEPNS_4ExprEPKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEPNS_14TypeSourceInfoENS_14SourceLocationESH_", "clang::CStyleCastExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::CastKind, clang::Expr*, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const*, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang14CStyleCastExpr11CreateEmptyERNS_10ASTContextEj", "clang::CStyleCastExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang14BinaryOperator12getOpcodeStrENS_18BinaryOperatorKindE", "clang::BinaryOperator::getOpcodeStr(clang::BinaryOperatorKind)"},
-    {"_ZN5clang14BinaryOperator19getOverloadedOpcodeENS_22OverloadedOperatorKindE", "clang::BinaryOperator::getOverloadedOpcode(clang::OverloadedOperatorKind)"},
-    {"_ZN5clang14BinaryOperator21getOverloadedOperatorENS_18BinaryOperatorKindE", "clang::BinaryOperator::getOverloadedOperator(clang::BinaryOperatorKind)"},
-    {"_ZN5clang12InitListExprC1ERNS_10ASTContextENS_14SourceLocationEPPNS_4ExprEjS3_", "clang::InitListExpr::InitListExpr(clang::ASTContext&, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang12InitListExprC2ERNS_10ASTContextENS_14SourceLocationEPPNS_4ExprEjS3_", "clang::InitListExpr::InitListExpr(clang::ASTContext&, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang12InitListExpr12reserveInitsERNS_10ASTContextEj", "clang::InitListExpr::reserveInits(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang12InitListExpr11resizeInitsERNS_10ASTContextEj", "clang::InitListExpr::resizeInits(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang12InitListExpr10updateInitERNS_10ASTContextEjPNS_4ExprE", "clang::InitListExpr::updateInit(clang::ASTContext&, unsigned int, clang::Expr*)"},
-    {"_ZNK5clang12InitListExpr14getSourceRangeEv", "clang::InitListExpr::getSourceRange() const"},
-    {"_ZNK5clang9BlockExpr15getFunctionTypeEv", "clang::BlockExpr::getFunctionType() const"},
-    {"_ZNK5clang9BlockExpr16getCaretLocationEv", "clang::BlockExpr::getCaretLocation() const"},
-    {"_ZNK5clang9BlockExpr7getBodyEv", "clang::BlockExpr::getBody() const"},
-    {"_ZN5clang9BlockExpr7getBodyEv", "clang::BlockExpr::getBody()"},
-    {"_ZNK5clang4Expr22isUnusedResultAWarningERNS_14SourceLocationERNS_11SourceRangeES4_RNS_10ASTContextE", "clang::Expr::isUnusedResultAWarning(clang::SourceLocation&, clang::SourceRange&, clang::SourceRange&, clang::ASTContext&) const"},
-    {"_ZN5clang4Expr12IgnoreParensEv", "clang::Expr::IgnoreParens()"},
-    {"_ZNK5clang4Expr17isOBJCGCCandidateERNS_10ASTContextE", "clang::Expr::isOBJCGCCandidate(clang::ASTContext&) const"},
-    {"_ZNK5clang4Expr21isBoundMemberFunctionERNS_10ASTContextE", "clang::Expr::isBoundMemberFunction(clang::ASTContext&) const"},
-    {"_ZNK5clang4Expr8CanThrowERNS_10ASTContextE", "clang::Expr::CanThrow(clang::ASTContext&) const"},
-    {"_Z16CanSubExprsThrowRN5clang10ASTContextEPKNS_4ExprE", "CanSubExprsThrow(clang::ASTContext&, clang::Expr const*)"},
-    {"_Z14CanCalleeThrowPKN5clang4DeclEb", "CanCalleeThrow(clang::Decl const*, bool)"},
-    {"_ZN5clang4Expr22IgnoreParenLValueCastsEv", "clang::Expr::IgnoreParenLValueCasts()"},
-    {"_ZN5clang4Expr19IgnoreParenImpCastsEv", "clang::Expr::IgnoreParenImpCasts()"},
-    {"_ZN5clang4Expr20IgnoreParenNoopCastsERNS_10ASTContextE", "clang::Expr::IgnoreParenNoopCasts(clang::ASTContext&)"},
-    {"_ZNK5clang4Expr17isDefaultArgumentEv", "clang::Expr::isDefaultArgument() const"},
-    {"_ZNK5clang4Expr17isTemporaryObjectERNS_10ASTContextEPKNS_13CXXRecordDeclE", "clang::Expr::isTemporaryObject(clang::ASTContext&, clang::CXXRecordDecl const*) const"},
-    {"_ZN5clang4Expr28hasAnyTypeDependentArgumentsEPPS0_j", "clang::Expr::hasAnyTypeDependentArguments(clang::Expr**, unsigned int)"},
-    {"_ZN5clang4Expr29hasAnyValueDependentArgumentsEPPS0_j", "clang::Expr::hasAnyValueDependentArguments(clang::Expr**, unsigned int)"},
-    {"_ZNK5clang4Expr21isConstantInitializerERNS_10ASTContextEb", "clang::Expr::isConstantInitializer(clang::ASTContext&, bool) const"},
-    {"_ZNK5clang4Expr21isNullPointerConstantERNS_10ASTContextENS0_34NullPointerConstantValueDependenceE", "clang::Expr::isNullPointerConstant(clang::ASTContext&, clang::Expr::NullPointerConstantValueDependence) const"},
-    {"_ZNK5clang4Expr15getObjCPropertyEv", "clang::Expr::getObjCProperty() const"},
-    {"_ZN5clang4Expr11getBitFieldEv", "clang::Expr::getBitField()"},
-    {"_ZNK5clang4Expr21refersToVectorElementEv", "clang::Expr::refersToVectorElement() const"},
-    {"_ZNK5clang20ExtVectorElementExpr7isArrowEv", "clang::ExtVectorElementExpr::isArrow() const"},
-    {"_ZNK5clang20ExtVectorElementExpr14getNumElementsEv", "clang::ExtVectorElementExpr::getNumElements() const"},
-    {"_ZNK5clang20ExtVectorElementExpr25containsDuplicateElementsEv", "clang::ExtVectorElementExpr::containsDuplicateElements() const"},
-    {"_ZNK5clang20ExtVectorElementExpr23getEncodedElementAccessERN4llvm15SmallVectorImplIjEE", "clang::ExtVectorElementExpr::getEncodedElementAccess(llvm::SmallVectorImpl<unsigned int>&) const"},
-    {"_ZN5clang15ObjCMessageExprC1ENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationES3_bS1_NS_8SelectorES3_PNS_14ObjCMethodDeclEPPNS_4ExprEjS3_", "clang::ObjCMessageExpr::ObjCMessageExpr(clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::SourceLocation, bool, clang::QualType, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExprC2ENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationES3_bS1_NS_8SelectorES3_PNS_14ObjCMethodDeclEPPNS_4ExprEjS3_", "clang::ObjCMessageExpr::ObjCMessageExpr(clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::SourceLocation, bool, clang::QualType, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExprC1ENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEPNS_14TypeSourceInfoENS_8SelectorES3_PNS_14ObjCMethodDeclEPPNS_4ExprEjS3_", "clang::ObjCMessageExpr::ObjCMessageExpr(clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::TypeSourceInfo*, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExprC2ENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEPNS_14TypeSourceInfoENS_8SelectorES3_PNS_14ObjCMethodDeclEPPNS_4ExprEjS3_", "clang::ObjCMessageExpr::ObjCMessageExpr(clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::TypeSourceInfo*, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExprC1ENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEPNS_4ExprENS_8SelectorES3_PNS_14ObjCMethodDeclEPS5_jS3_", "clang::ObjCMessageExpr::ObjCMessageExpr(clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::Expr*, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExprC2ENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEPNS_4ExprENS_8SelectorES3_PNS_14ObjCMethodDeclEPS5_jS3_", "clang::ObjCMessageExpr::ObjCMessageExpr(clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::Expr*, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationES5_bS3_NS_8SelectorES5_PNS_14ObjCMethodDeclEPPNS_4ExprEjS5_", "clang::ObjCMessageExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::SourceLocation, bool, clang::QualType, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEPNS_14TypeSourceInfoENS_8SelectorES5_PNS_14ObjCMethodDeclEPPNS_4ExprEjS5_", "clang::ObjCMessageExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::TypeSourceInfo*, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEPNS_4ExprENS_8SelectorES5_PNS_14ObjCMethodDeclEPS7_jS5_", "clang::ObjCMessageExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::SourceLocation, clang::Expr*, clang::Selector, clang::SourceLocation, clang::ObjCMethodDecl*, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang15ObjCMessageExpr11CreateEmptyERNS_10ASTContextEj", "clang::ObjCMessageExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZNK5clang15ObjCMessageExpr16getReceiverRangeEv", "clang::ObjCMessageExpr::getReceiverRange() const"},
-    {"_ZNK5clang15ObjCMessageExpr11getSelectorEv", "clang::ObjCMessageExpr::getSelector() const"},
-    {"_ZNK5clang15ObjCMessageExpr20getReceiverInterfaceEv", "clang::ObjCMessageExpr::getReceiverInterface() const"},
-    {"_ZNK5clang10ChooseExpr15isConditionTrueERKNS_10ASTContextE", "clang::ChooseExpr::isConditionTrue(clang::ASTContext const&) const"},
-    {"_ZN5clang17ShuffleVectorExprC1ERNS_10ASTContextEPPNS_4ExprEjNS_8QualTypeENS_14SourceLocationES7_", "clang::ShuffleVectorExpr::ShuffleVectorExpr(clang::ASTContext&, clang::Expr**, unsigned int, clang::QualType, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang17ShuffleVectorExprC2ERNS_10ASTContextEPPNS_4ExprEjNS_8QualTypeENS_14SourceLocationES7_", "clang::ShuffleVectorExpr::ShuffleVectorExpr(clang::ASTContext&, clang::Expr**, unsigned int, clang::QualType, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang17ShuffleVectorExpr8setExprsERNS_10ASTContextEPPNS_4ExprEj", "clang::ShuffleVectorExpr::setExprs(clang::ASTContext&, clang::Expr**, unsigned int)"},
-    {"_ZN5clang18DesignatedInitExpr10Designator12getFieldNameEv", "clang::DesignatedInitExpr::Designator::getFieldName()"},
-    {"_ZN5clang18DesignatedInitExprC1ERNS_10ASTContextENS_8QualTypeEjPKNS0_10DesignatorENS_14SourceLocationEbPPNS_4ExprEjS9_", "clang::DesignatedInitExpr::DesignatedInitExpr(clang::ASTContext&, clang::QualType, unsigned int, clang::DesignatedInitExpr::Designator const*, clang::SourceLocation, bool, clang::Expr**, unsigned int, clang::Expr*)"},
-    {"_ZN5clang18DesignatedInitExprC2ERNS_10ASTContextENS_8QualTypeEjPKNS0_10DesignatorENS_14SourceLocationEbPPNS_4ExprEjS9_", "clang::DesignatedInitExpr::DesignatedInitExpr(clang::ASTContext&, clang::QualType, unsigned int, clang::DesignatedInitExpr::Designator const*, clang::SourceLocation, bool, clang::Expr**, unsigned int, clang::Expr*)"},
-    {"_ZN5clang18DesignatedInitExpr6CreateERNS_10ASTContextEPNS0_10DesignatorEjPPNS_4ExprEjNS_14SourceLocationEbS6_", "clang::DesignatedInitExpr::Create(clang::ASTContext&, clang::DesignatedInitExpr::Designator*, unsigned int, clang::Expr**, unsigned int, clang::SourceLocation, bool, clang::Expr*)"},
-    {"_ZN5clang18DesignatedInitExpr11CreateEmptyERNS_10ASTContextEj", "clang::DesignatedInitExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang18DesignatedInitExpr14setDesignatorsERNS_10ASTContextEPKNS0_10DesignatorEj", "clang::DesignatedInitExpr::setDesignators(clang::ASTContext&, clang::DesignatedInitExpr::Designator const*, unsigned int)"},
-    {"_ZNK5clang18DesignatedInitExpr14getSourceRangeEv", "clang::DesignatedInitExpr::getSourceRange() const"},
-    {"_ZN5clang18DesignatedInitExpr13getArrayIndexERKNS0_10DesignatorE", "clang::DesignatedInitExpr::getArrayIndex(clang::DesignatedInitExpr::Designator const&)"},
-    {"_ZN5clang18DesignatedInitExpr18getArrayRangeStartERKNS0_10DesignatorE", "clang::DesignatedInitExpr::getArrayRangeStart(clang::DesignatedInitExpr::Designator const&)"},
-    {"_ZN5clang18DesignatedInitExpr16getArrayRangeEndERKNS0_10DesignatorE", "clang::DesignatedInitExpr::getArrayRangeEnd(clang::DesignatedInitExpr::Designator const&)"},
-    {"_ZN5clang18DesignatedInitExpr16ExpandDesignatorERNS_10ASTContextEjPKNS0_10DesignatorES5_", "clang::DesignatedInitExpr::ExpandDesignator(clang::ASTContext&, unsigned int, clang::DesignatedInitExpr::Designator const*, clang::DesignatedInitExpr::Designator const*)"},
-    {"_ZN5clang13ParenListExprC1ERNS_10ASTContextENS_14SourceLocationEPPNS_4ExprEjS3_", "clang::ParenListExpr::ParenListExpr(clang::ASTContext&, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang13ParenListExprC2ERNS_10ASTContextENS_14SourceLocationEPPNS_4ExprEjS3_", "clang::ParenListExpr::ParenListExpr(clang::ASTContext&, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang12ExprIteratorixEm", "clang::ExprIterator::operator[](unsigned long)"},
-    {"_ZNK5clang12ExprIteratordeEv", "clang::ExprIterator::operator*() const"},
-    {"_ZNK5clang12ExprIteratorptEv", "clang::ExprIterator::operator->() const"},
-    {"_ZNK5clang17ConstExprIteratorixEm", "clang::ConstExprIterator::operator[](unsigned long) const"},
-    {"_ZNK5clang17ConstExprIteratordeEv", "clang::ConstExprIterator::operator*() const"},
-    {"_ZNK5clang17ConstExprIteratorptEv", "clang::ConstExprIterator::operator->() const"},
-    {"_ZN5clang17SizeOfAlignOfExpr8childrenEv", "clang::SizeOfAlignOfExpr::children()"},
-    {"_ZN5clang15ObjCMessageExpr8childrenEv", "clang::ObjCMessageExpr::children()"},
-    {"_ZN5clang16BlockDeclRefExprC1EPNS_7VarDeclENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEbb", "clang::BlockDeclRefExpr::BlockDeclRefExpr(clang::VarDecl*, clang::QualType, clang::ExprValueKind, clang::SourceLocation, bool, bool)"},
-    {"_ZN5clang16BlockDeclRefExprC2EPNS_7VarDeclENS_8QualTypeENS_13ExprValueKindENS_14SourceLocationEbb", "clang::BlockDeclRefExpr::BlockDeclRefExpr(clang::VarDecl*, clang::QualType, clang::ExprValueKind, clang::SourceLocation, bool, bool)"},
-    {"_ZN5clang9ASTVectorIPNS_4StmtEE6insertIPPNS_4ExprEEEPS2_RNS_10ASTContextES8_T_SB_", "clang::Stmt** clang::ASTVector<clang::Stmt*>::insert<clang::Expr**>(clang::ASTContext&, clang::Stmt**, clang::Expr**, clang::Expr**)"},
-    {"_ZN5clang9ASTVectorIPNS_4StmtEE6resizeERNS_10ASTContextEjRKS2_", "clang::ASTVector<clang::Stmt*>::resize(clang::ASTContext&, unsigned int, clang::Stmt* const&)"},
-    {"_ZN5clang9ASTVectorIPNS_4StmtEE6insertERNS_10ASTContextEPS2_mRKS2_", "clang::ASTVector<clang::Stmt*>::insert(clang::ASTContext&, clang::Stmt**, unsigned long, clang::Stmt* const&)"},
-    {"_ZNK5clang4Decl7getAttrINS_20WarnUnusedResultAttrEEEPT_v", "clang::WarnUnusedResultAttr* clang::Decl::getAttr<clang::WarnUnusedResultAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_8PureAttrEEEPT_v", "clang::PureAttr* clang::Decl::getAttr<clang::PureAttr>() const"},
-    {"_ZNK5clang4Decl7getAttrINS_9ConstAttrEEEPT_v", "clang::ConstAttr* clang::Decl::getAttr<clang::ConstAttr>() const"},
-    {"_ZNK5clang7VarDecl16hasGlobalStorageEv", "clang::VarDecl::hasGlobalStorage() const"},
-    {"_ZN5clang9ASTVectorIPNS_4StmtEE6appendERNS_10ASTContextEmRKS2_", "clang::ASTVector<clang::Stmt*>::append(clang::ASTContext&, unsigned long, clang::Stmt* const&)"},
-    {"_ZN5clang9ASTVectorIPNS_4StmtEE6appendIPS2_EEvRNS_10ASTContextET_S8_", "void clang::ASTVector<clang::Stmt*>::append<clang::Stmt**>(clang::ASTContext&, clang::Stmt**, clang::Stmt**)"},
-    {"_ZN5clang9ASTVectorIPNS_4StmtEE6appendIPPNS_4ExprEEEvRNS_10ASTContextET_SA_", "void clang::ASTVector<clang::Stmt*>::append<clang::Expr**>(clang::ASTContext&, clang::Expr**, clang::Expr**)"},
-    {"_ZNK5clang16APNumericStorage11getIntValueEv", "clang::APNumericStorage::getIntValue() const"},
-    {"_ZN5clang8CastExprC2ENS_4Stmt9StmtClassENS_8QualTypeENS_13ExprValueKindENS_8CastKindEPNS_4ExprEj", "clang::CastExpr::CastExpr(clang::Stmt::StmtClass, clang::QualType, clang::ExprValueKind, clang::CastKind, clang::Expr*, unsigned int)"},
-    {"_ZN5clang14APFloatStorage8setValueERNS_10ASTContextERKN4llvm7APFloatE", "clang::APFloatStorage::setValue(clang::ASTContext&, llvm::APFloat const&)"},
-    {"_ZN5clang14IntegerLiteralC2ERNS_10ASTContextERKN4llvm5APIntENS_8QualTypeENS_14SourceLocationE", "clang::IntegerLiteral::IntegerLiteral(clang::ASTContext&, llvm::APInt const&, clang::QualType, clang::SourceLocation)"},
-    {"_ZNK5clang13CXXTypeidExpr14getTypeOperandEv", "clang::CXXTypeidExpr::getTypeOperand() const"},
-    {"_ZNK5clang13CXXUuidofExpr14getTypeOperandEv", "clang::CXXUuidofExpr::getTypeOperand() const"},
-    {"_ZNK5clang22CXXScalarValueInitExpr14getSourceRangeEv", "clang::CXXScalarValueInitExpr::getSourceRange() const"},
-    {"_ZN5clang10CXXNewExprC1ERNS_10ASTContextEbPNS_12FunctionDeclEPPNS_4ExprEjNS_11SourceRangeES6_PNS_18CXXConstructorDeclEbS7_jS4_bNS_8QualTypeEPNS_14TypeSourceInfoENS_14SourceLocationESE_SE_SE_", "clang::CXXNewExpr::CXXNewExpr(clang::ASTContext&, bool, clang::FunctionDecl*, clang::Expr**, unsigned int, clang::SourceRange, clang::Expr*, clang::CXXConstructorDecl*, bool, clang::Expr**, unsigned int, clang::FunctionDecl*, bool, clang::QualType, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang10CXXNewExprC2ERNS_10ASTContextEbPNS_12FunctionDeclEPPNS_4ExprEjNS_11SourceRangeES6_PNS_18CXXConstructorDeclEbS7_jS4_bNS_8QualTypeEPNS_14TypeSourceInfoENS_14SourceLocationESE_SE_SE_", "clang::CXXNewExpr::CXXNewExpr(clang::ASTContext&, bool, clang::FunctionDecl*, clang::Expr**, unsigned int, clang::SourceRange, clang::Expr*, clang::CXXConstructorDecl*, bool, clang::Expr**, unsigned int, clang::FunctionDecl*, bool, clang::QualType, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang10CXXNewExpr17AllocateArgsArrayERNS_10ASTContextEbjj", "clang::CXXNewExpr::AllocateArgsArray(clang::ASTContext&, bool, unsigned int, unsigned int)"},
-    {"_ZNK5clang13CXXDeleteExpr16getDestroyedTypeEv", "clang::CXXDeleteExpr::getDestroyedType() const"},
-    {"_ZN5clang27PseudoDestructorTypeStorageC1EPNS_14TypeSourceInfoE", "clang::PseudoDestructorTypeStorage::PseudoDestructorTypeStorage(clang::TypeSourceInfo*)"},
-    {"_ZN5clang27PseudoDestructorTypeStorageC2EPNS_14TypeSourceInfoE", "clang::PseudoDestructorTypeStorage::PseudoDestructorTypeStorage(clang::TypeSourceInfo*)"},
-    {"_ZN5clang23CXXPseudoDestructorExprC1ERNS_10ASTContextEPNS_4ExprEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_14TypeSourceInfoES5_S5_NS_27PseudoDestructorTypeStorageE", "clang::CXXPseudoDestructorExpr::CXXPseudoDestructorExpr(clang::ASTContext&, clang::Expr*, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation, clang::PseudoDestructorTypeStorage)"},
-    {"_ZN5clang23CXXPseudoDestructorExprC2ERNS_10ASTContextEPNS_4ExprEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_14TypeSourceInfoES5_S5_NS_27PseudoDestructorTypeStorageE", "clang::CXXPseudoDestructorExpr::CXXPseudoDestructorExpr(clang::ASTContext&, clang::Expr*, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation, clang::PseudoDestructorTypeStorage)"},
-    {"_ZNK5clang23CXXPseudoDestructorExpr16getDestroyedTypeEv", "clang::CXXPseudoDestructorExpr::getDestroyedType() const"},
-    {"_ZNK5clang23CXXPseudoDestructorExpr14getSourceRangeEv", "clang::CXXPseudoDestructorExpr::getSourceRange() const"},
-    {"_ZN5clang20UnresolvedLookupExpr6CreateERNS_10ASTContextEPNS_13CXXRecordDeclEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEbRKNS_24TemplateArgumentListInfoENS_21UnresolvedSetIteratorESE_", "clang::UnresolvedLookupExpr::Create(clang::ASTContext&, clang::CXXRecordDecl*, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, bool, clang::TemplateArgumentListInfo const&, clang::UnresolvedSetIterator, clang::UnresolvedSetIterator)"},
-    {"_ZN5clang20UnresolvedLookupExpr11CreateEmptyERNS_10ASTContextEbj", "clang::UnresolvedLookupExpr::CreateEmpty(clang::ASTContext&, bool, unsigned int)"},
-    {"_ZN5clang12OverloadExprC1ENS_4Stmt9StmtClassERNS_10ASTContextEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoENS_21UnresolvedSetIteratorESE_bb", "clang::OverloadExpr::OverloadExpr(clang::Stmt::StmtClass, clang::ASTContext&, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*, clang::UnresolvedSetIterator, clang::UnresolvedSetIterator, bool, bool)"},
-    {"_ZN5clang12OverloadExprC2ENS_4Stmt9StmtClassERNS_10ASTContextEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoENS_21UnresolvedSetIteratorESE_bb", "clang::OverloadExpr::OverloadExpr(clang::Stmt::StmtClass, clang::ASTContext&, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*, clang::UnresolvedSetIterator, clang::UnresolvedSetIterator, bool, bool)"},
-    {"_ZN5clang12OverloadExpr17initializeResultsERNS_10ASTContextENS_21UnresolvedSetIteratorES3_", "clang::OverloadExpr::initializeResults(clang::ASTContext&, clang::UnresolvedSetIterator, clang::UnresolvedSetIterator)"},
-    {"_ZNK5clang12OverloadExpr14getNamingClassEv", "clang::OverloadExpr::getNamingClass() const"},
-    {"_ZNK5clang20UnresolvedMemberExpr14getNamingClassEv", "clang::UnresolvedMemberExpr::getNamingClass() const"},
-    {"_ZN5clang25DependentScopeDeclRefExprC1ENS_8QualTypeEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::DependentScopeDeclRefExpr::DependentScopeDeclRefExpr(clang::QualType, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang25DependentScopeDeclRefExprC2ENS_8QualTypeEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::DependentScopeDeclRefExpr::DependentScopeDeclRefExpr(clang::QualType, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang25DependentScopeDeclRefExpr6CreateERNS_10ASTContextEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::DependentScopeDeclRefExpr::Create(clang::ASTContext&, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang25DependentScopeDeclRefExpr11CreateEmptyERNS_10ASTContextEbj", "clang::DependentScopeDeclRefExpr::CreateEmpty(clang::ASTContext&, bool, unsigned int)"},
-    {"_ZNK5clang16CXXConstructExpr14getSourceRangeEv", "clang::CXXConstructExpr::getSourceRange() const"},
-    {"_ZNK5clang19CXXOperatorCallExpr14getSourceRangeEv", "clang::CXXOperatorCallExpr::getSourceRange() const"},
-    {"_ZN5clang17CXXMemberCallExpr25getImplicitObjectArgumentEv", "clang::CXXMemberCallExpr::getImplicitObjectArgument()"},
-    {"_ZN5clang17CXXMemberCallExpr13getRecordDeclEv", "clang::CXXMemberCallExpr::getRecordDecl()"},
-    {"_ZNK5clang17CXXMemberCallExpr14getSourceRangeEv", "clang::CXXMemberCallExpr::getSourceRange() const"},
-    {"_ZNK5clang16CXXNamedCastExpr11getCastNameEv", "clang::CXXNamedCastExpr::getCastName() const"},
-    {"_ZN5clang17CXXStaticCastExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindENS_8CastKindEPNS_4ExprEPKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEPNS_14TypeSourceInfoENS_14SourceLocationESH_", "clang::CXXStaticCastExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::CastKind, clang::Expr*, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const*, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang17CXXStaticCastExpr11CreateEmptyERNS_10ASTContextEj", "clang::CXXStaticCastExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang18CXXDynamicCastExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindENS_8CastKindEPNS_4ExprEPKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEPNS_14TypeSourceInfoENS_14SourceLocationESH_", "clang::CXXDynamicCastExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::CastKind, clang::Expr*, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const*, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang18CXXDynamicCastExpr11CreateEmptyERNS_10ASTContextEj", "clang::CXXDynamicCastExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang22CXXReinterpretCastExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindENS_8CastKindEPNS_4ExprEPKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEEPNS_14TypeSourceInfoENS_14SourceLocationESH_", "clang::CXXReinterpretCastExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::CastKind, clang::Expr*, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const*, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang22CXXReinterpretCastExpr11CreateEmptyERNS_10ASTContextEj", "clang::CXXReinterpretCastExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang16CXXConstCastExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindEPNS_4ExprEPNS_14TypeSourceInfoENS_14SourceLocationES9_", "clang::CXXConstCastExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::Expr*, clang::TypeSourceInfo*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang16CXXConstCastExpr11CreateEmptyERNS_10ASTContextE", "clang::CXXConstCastExpr::CreateEmpty(clang::ASTContext&)"},
-    {"_ZN5clang21CXXFunctionalCastExpr6CreateERNS_10ASTContextENS_8QualTypeENS_13ExprValueKindEPNS_14TypeSourceInfoENS_14SourceLocationENS_8CastKindEPNS_4ExprEPKN4llvm11SmallVectorIPNS_16CXXBaseSpecifierELj4EEES7_", "clang::CXXFunctionalCastExpr::Create(clang::ASTContext&, clang::QualType, clang::ExprValueKind, clang::TypeSourceInfo*, clang::SourceLocation, clang::CastKind, clang::Expr*, llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const*, clang::SourceLocation)"},
-    {"_ZN5clang21CXXFunctionalCastExpr11CreateEmptyERNS_10ASTContextEj", "clang::CXXFunctionalCastExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang17CXXDefaultArgExpr6CreateERNS_10ASTContextENS_14SourceLocationEPNS_11ParmVarDeclEPNS_4ExprE", "clang::CXXDefaultArgExpr::Create(clang::ASTContext&, clang::SourceLocation, clang::ParmVarDecl*, clang::Expr*)"},
-    {"_ZN5clang12CXXTemporary6CreateERNS_10ASTContextEPKNS_17CXXDestructorDeclE", "clang::CXXTemporary::Create(clang::ASTContext&, clang::CXXDestructorDecl const*)"},
-    {"_ZN5clang20CXXBindTemporaryExpr6CreateERNS_10ASTContextEPNS_12CXXTemporaryEPNS_4ExprE", "clang::CXXBindTemporaryExpr::Create(clang::ASTContext&, clang::CXXTemporary*, clang::Expr*)"},
-    {"_ZN5clang22CXXTemporaryObjectExprC1ERNS_10ASTContextEPNS_18CXXConstructorDeclEPNS_14TypeSourceInfoEPPNS_4ExprEjNS_11SourceRangeEb", "clang::CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(clang::ASTContext&, clang::CXXConstructorDecl*, clang::TypeSourceInfo*, clang::Expr**, unsigned int, clang::SourceRange, bool)"},
-    {"_ZN5clang22CXXTemporaryObjectExprC2ERNS_10ASTContextEPNS_18CXXConstructorDeclEPNS_14TypeSourceInfoEPPNS_4ExprEjNS_11SourceRangeEb", "clang::CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(clang::ASTContext&, clang::CXXConstructorDecl*, clang::TypeSourceInfo*, clang::Expr**, unsigned int, clang::SourceRange, bool)"},
-    {"_ZN5clang16CXXConstructExprC2ERNS_10ASTContextENS_4Stmt9StmtClassENS_8QualTypeENS_14SourceLocationEPNS_18CXXConstructorDeclEbPPNS_4ExprEjbNS0_16ConstructionKindENS_11SourceRangeE", "clang::CXXConstructExpr::CXXConstructExpr(clang::ASTContext&, clang::Stmt::StmtClass, clang::QualType, clang::SourceLocation, clang::CXXConstructorDecl*, bool, clang::Expr**, unsigned int, bool, clang::CXXConstructExpr::ConstructionKind, clang::SourceRange)"},
-    {"_ZNK5clang22CXXTemporaryObjectExpr14getSourceRangeEv", "clang::CXXTemporaryObjectExpr::getSourceRange() const"},
-    {"_ZN5clang16CXXConstructExpr6CreateERNS_10ASTContextENS_8QualTypeENS_14SourceLocationEPNS_18CXXConstructorDeclEbPPNS_4ExprEjbNS0_16ConstructionKindENS_11SourceRangeE", "clang::CXXConstructExpr::Create(clang::ASTContext&, clang::QualType, clang::SourceLocation, clang::CXXConstructorDecl*, bool, clang::Expr**, unsigned int, bool, clang::CXXConstructExpr::ConstructionKind, clang::SourceRange)"},
-    {"_ZN5clang16CXXConstructExprC1ERNS_10ASTContextENS_4Stmt9StmtClassENS_8QualTypeENS_14SourceLocationEPNS_18CXXConstructorDeclEbPPNS_4ExprEjbNS0_16ConstructionKindENS_11SourceRangeE", "clang::CXXConstructExpr::CXXConstructExpr(clang::ASTContext&, clang::Stmt::StmtClass, clang::QualType, clang::SourceLocation, clang::CXXConstructorDecl*, bool, clang::Expr**, unsigned int, bool, clang::CXXConstructExpr::ConstructionKind, clang::SourceRange)"},
-    {"_ZN5clang16ExprWithCleanupsC1ERNS_10ASTContextEPNS_4ExprEPPNS_12CXXTemporaryEj", "clang::ExprWithCleanups::ExprWithCleanups(clang::ASTContext&, clang::Expr*, clang::CXXTemporary**, unsigned int)"},
-    {"_ZN5clang16ExprWithCleanupsC2ERNS_10ASTContextEPNS_4ExprEPPNS_12CXXTemporaryEj", "clang::ExprWithCleanups::ExprWithCleanups(clang::ASTContext&, clang::Expr*, clang::CXXTemporary**, unsigned int)"},
-    {"_ZN5clang16ExprWithCleanups17setNumTemporariesERNS_10ASTContextEj", "clang::ExprWithCleanups::setNumTemporaries(clang::ASTContext&, unsigned int)"},
-    {"_ZN5clang16ExprWithCleanups6CreateERNS_10ASTContextEPNS_4ExprEPPNS_12CXXTemporaryEj", "clang::ExprWithCleanups::Create(clang::ASTContext&, clang::Expr*, clang::CXXTemporary**, unsigned int)"},
-    {"_ZN5clang26CXXUnresolvedConstructExprC1EPNS_14TypeSourceInfoENS_14SourceLocationEPPNS_4ExprEjS3_", "clang::CXXUnresolvedConstructExpr::CXXUnresolvedConstructExpr(clang::TypeSourceInfo*, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang26CXXUnresolvedConstructExprC2EPNS_14TypeSourceInfoENS_14SourceLocationEPPNS_4ExprEjS3_", "clang::CXXUnresolvedConstructExpr::CXXUnresolvedConstructExpr(clang::TypeSourceInfo*, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang26CXXUnresolvedConstructExpr6CreateERNS_10ASTContextEPNS_14TypeSourceInfoENS_14SourceLocationEPPNS_4ExprEjS5_", "clang::CXXUnresolvedConstructExpr::Create(clang::ASTContext&, clang::TypeSourceInfo*, clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation)"},
-    {"_ZN5clang26CXXUnresolvedConstructExpr11CreateEmptyERNS_10ASTContextEj", "clang::CXXUnresolvedConstructExpr::CreateEmpty(clang::ASTContext&, unsigned int)"},
-    {"_ZNK5clang26CXXUnresolvedConstructExpr14getSourceRangeEv", "clang::CXXUnresolvedConstructExpr::getSourceRange() const"},
-    {"_ZN5clang27CXXDependentScopeMemberExprC1ERNS_10ASTContextEPNS_4ExprENS_8QualTypeEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9NamedDeclENS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(clang::ASTContext&, clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::NamedDecl*, clang::DeclarationNameInfo, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang27CXXDependentScopeMemberExprC2ERNS_10ASTContextEPNS_4ExprENS_8QualTypeEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9NamedDeclENS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(clang::ASTContext&, clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::NamedDecl*, clang::DeclarationNameInfo, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang27CXXDependentScopeMemberExprC1ERNS_10ASTContextEPNS_4ExprENS_8QualTypeEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9NamedDeclENS_19DeclarationNameInfoE", "clang::CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(clang::ASTContext&, clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::NamedDecl*, clang::DeclarationNameInfo)"},
-    {"_ZN5clang27CXXDependentScopeMemberExprC2ERNS_10ASTContextEPNS_4ExprENS_8QualTypeEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9NamedDeclENS_19DeclarationNameInfoE", "clang::CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(clang::ASTContext&, clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::NamedDecl*, clang::DeclarationNameInfo)"},
-    {"_ZN5clang27CXXDependentScopeMemberExpr6CreateERNS_10ASTContextEPNS_4ExprENS_8QualTypeEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeEPNS_9NamedDeclENS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoE", "clang::CXXDependentScopeMemberExpr::Create(clang::ASTContext&, clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::NamedDecl*, clang::DeclarationNameInfo, clang::TemplateArgumentListInfo const*)"},
-    {"_ZN5clang27CXXDependentScopeMemberExpr11CreateEmptyERNS_10ASTContextEbj", "clang::CXXDependentScopeMemberExpr::CreateEmpty(clang::ASTContext&, bool, unsigned int)"},
-    {"_ZN5clang20UnresolvedMemberExprC1ERNS_10ASTContextEbPNS_4ExprENS_8QualTypeEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoENS_21UnresolvedSetIteratorESG_", "clang::UnresolvedMemberExpr::UnresolvedMemberExpr(clang::ASTContext&, bool, clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*, clang::UnresolvedSetIterator, clang::UnresolvedSetIterator)"},
-    {"_ZN5clang20UnresolvedMemberExprC2ERNS_10ASTContextEbPNS_4ExprENS_8QualTypeEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoENS_21UnresolvedSetIteratorESG_", "clang::UnresolvedMemberExpr::UnresolvedMemberExpr(clang::ASTContext&, bool, clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*, clang::UnresolvedSetIterator, clang::UnresolvedSetIterator)"},
-    {"_ZN5clang20UnresolvedMemberExpr6CreateERNS_10ASTContextEbPNS_4ExprENS_8QualTypeEbNS_14SourceLocationEPNS_19NestedNameSpecifierENS_11SourceRangeERKNS_19DeclarationNameInfoEPKNS_24TemplateArgumentListInfoENS_21UnresolvedSetIteratorESG_", "clang::UnresolvedMemberExpr::Create(clang::ASTContext&, bool, clang::Expr*, clang::QualType, bool, clang::SourceLocation, clang::NestedNameSpecifier*, clang::SourceRange, clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*, clang::UnresolvedSetIterator, clang::UnresolvedSetIterator)"},
-    {"_ZN5clang20UnresolvedMemberExpr11CreateEmptyERNS_10ASTContextEbj", "clang::UnresolvedMemberExpr::CreateEmpty(clang::ASTContext&, bool, unsigned int)"},
-    {"_ZN5clang32SubstNonTypeTemplateParmPackExprC1ENS_8QualTypeEPNS_23NonTypeTemplateParmDeclENS_14SourceLocationERKNS_16TemplateArgumentE", "clang::SubstNonTypeTemplateParmPackExpr::SubstNonTypeTemplateParmPackExpr(clang::QualType, clang::NonTypeTemplateParmDecl*, clang::SourceLocation, clang::TemplateArgument const&)"},
-    {"_ZN5clang32SubstNonTypeTemplateParmPackExprC2ENS_8QualTypeEPNS_23NonTypeTemplateParmDeclENS_14SourceLocationERKNS_16TemplateArgumentE", "clang::SubstNonTypeTemplateParmPackExpr::SubstNonTypeTemplateParmPackExpr(clang::QualType, clang::NonTypeTemplateParmDecl*, clang::SourceLocation, clang::TemplateArgument const&)"},
-    {"_ZNK5clang32SubstNonTypeTemplateParmPackExpr15getArgumentPackEv", "clang::SubstNonTypeTemplateParmPackExpr::getArgumentPack() const"},
-    {"_ZNK5clang4Expr12ClassifyImplERNS_10ASTContextEPNS_14SourceLocationE", "clang::Expr::ClassifyImpl(clang::ASTContext&, clang::SourceLocation*) const"},
-    {"_Z16ClassifyInternalRN5clang10ASTContextEPKNS_4ExprE", "ClassifyInternal(clang::ASTContext&, clang::Expr const*)"},
-    {"_ZNK5clang4Expr14ClassifyLValueERNS_10ASTContextE", "clang::Expr::ClassifyLValue(clang::ASTContext&) const"},
-    {"_ZNK5clang4Expr18isModifiableLvalueERNS_10ASTContextEPNS_14SourceLocationE", "clang::Expr::isModifiableLvalue(clang::ASTContext&, clang::SourceLocation*) const"},
-    {"_Z15ClassifyUnnamedRN5clang10ASTContextENS_8QualTypeE", "ClassifyUnnamed(clang::ASTContext&, clang::QualType)"},
-    {"_ZNK5clang4Expr8EvaluateERNS0_10EvalResultERKNS_10ASTContextE", "clang::Expr::Evaluate(clang::Expr::EvalResult&, clang::ASTContext const&) const"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_116IntExprEvaluatorEbE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt*)"},
-    {"_ZNK5clang4Expr26EvaluateAsBooleanConditionERbRKNS_10ASTContextE", "clang::Expr::EvaluateAsBooleanCondition(bool&, clang::ASTContext const&) const"},
-    {"_Z22HandleConversionToBoolPKN5clang4ExprERbR8EvalInfo", "HandleConversionToBool(clang::Expr const*, bool&, EvalInfo&)"},
-    {"_ZNK5clang4Expr16EvaluateAsLValueERNS0_10EvalResultERKNS_10ASTContextE", "clang::Expr::EvaluateAsLValue(clang::Expr::EvalResult&, clang::ASTContext const&) const"},
-    {"_ZNK5clang4Expr19EvaluateAsAnyLValueERNS0_10EvalResultERKNS_10ASTContextE", "clang::Expr::EvaluateAsAnyLValue(clang::Expr::EvalResult&, clang::ASTContext const&) const"},
-    {"_ZNK5clang4Expr13isEvaluatableERKNS_10ASTContextE", "clang::Expr::isEvaluatable(clang::ASTContext const&) const"},
-    {"_ZNK5clang4Expr14HasSideEffectsERKNS_10ASTContextE", "clang::Expr::HasSideEffects(clang::ASTContext const&) const"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_113HasSideEffectEbE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::HasSideEffect, bool>::Visit(clang::Stmt*)"},
-    {"_ZNK5clang4Expr13EvaluateAsIntERKNS_10ASTContextE", "clang::Expr::EvaluateAsInt(clang::ASTContext const&) const"},
-    {"_ZNK5clang4Expr10EvalResult14isGlobalLValueEv", "clang::Expr::EvalResult::isGlobalLValue() const"},
-    {"_ZNK5clang4Expr21isIntegerConstantExprERN4llvm6APSIntERNS_10ASTContextEPNS_14SourceLocationEb", "clang::Expr::isIntegerConstantExpr(llvm::APSInt&, clang::ASTContext&, clang::SourceLocation*, bool) const"},
-    {"_Z8CheckICEPKN5clang4ExprERNS_10ASTContextE", "CheckICE(clang::Expr const*, clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_116IntExprEvaluator19VisitBinaryOperatorEPKN5clang14BinaryOperatorE", "(anonymous namespace)::IntExprEvaluator::VisitBinaryOperator(clang::BinaryOperator const*)"},
-    {"_ZN12_GLOBAL__N_116IntExprEvaluator13VisitCallExprEPN5clang8CallExprE", "(anonymous namespace)::IntExprEvaluator::VisitCallExpr(clang::CallExpr*)"},
-    {"_ZN12_GLOBAL__N_116IntExprEvaluator18VisitUnaryOperatorEPKN5clang13UnaryOperatorE", "(anonymous namespace)::IntExprEvaluator::VisitUnaryOperator(clang::UnaryOperator const*)"},
-    {"_ZN12_GLOBAL__N_116IntExprEvaluator7SuccessEyPKN5clang4ExprE", "(anonymous namespace)::IntExprEvaluator::Success(unsigned long long, clang::Expr const*)"},
-    {"_Z15EvaluateIntegerPKN5clang4ExprERN4llvm6APSIntER8EvalInfo", "EvaluateInteger(clang::Expr const*, llvm::APSInt&, EvalInfo&)"},
-    {"_ZN12_GLOBAL__N_116IntExprEvaluator19CheckReferencedDeclEPKN5clang4ExprEPKNS1_4DeclE", "(anonymous namespace)::IntExprEvaluator::CheckReferencedDecl(clang::Expr const*, clang::Decl const*)"},
-    {"_ZN12_GLOBAL__N_116IntExprEvaluator13VisitCastExprEPN5clang8CastExprE", "(anonymous namespace)::IntExprEvaluator::VisitCastExpr(clang::CastExpr*)"},
-    {"_Z18HandleIntToIntCastN5clang8QualTypeES0_RN4llvm6APSIntERKNS_10ASTContextE", "HandleIntToIntCast(clang::QualType, clang::QualType, llvm::APSInt&, clang::ASTContext const&)"},
-    {"_Z20HandleFloatToIntCastN5clang8QualTypeES0_RN4llvm7APFloatERKNS_10ASTContextE", "HandleFloatToIntCast(clang::QualType, clang::QualType, llvm::APFloat&, clang::ASTContext const&)"},
-    {"_Z22EvalPointerValueAsBoolRN12_GLOBAL__N_16LValueERb", "EvalPointerValueAsBool((anonymous namespace)::LValue&, bool&)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_119LValueExprEvaluatorEbE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::LValueExprEvaluator, bool>::Visit(clang::Stmt*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_120ComplexExprEvaluatorEbE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::ComplexExprEvaluator, bool>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_120ComplexExprEvaluator19VisitBinaryOperatorEPKN5clang14BinaryOperatorE", "(anonymous namespace)::ComplexExprEvaluator::VisitBinaryOperator(clang::BinaryOperator const*)"},
-    {"_ZN12_GLOBAL__N_120ComplexExprEvaluator18VisitUnaryOperatorEPKN5clang13UnaryOperatorE", "(anonymous namespace)::ComplexExprEvaluator::VisitUnaryOperator(clang::UnaryOperator const*)"},
-    {"_ZN12_GLOBAL__N_120ComplexExprEvaluator13VisitCastExprEPN5clang8CastExprE", "(anonymous namespace)::ComplexExprEvaluator::VisitCastExpr(clang::CastExpr*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_118FloatExprEvaluatorEbE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::FloatExprEvaluator, bool>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_118FloatExprEvaluator19VisitBinaryOperatorEPKN5clang14BinaryOperatorE", "(anonymous namespace)::FloatExprEvaluator::VisitBinaryOperator(clang::BinaryOperator const*)"},
-    {"_ZN12_GLOBAL__N_118FloatExprEvaluator13VisitCallExprEPKN5clang8CallExprE", "(anonymous namespace)::FloatExprEvaluator::VisitCallExpr(clang::CallExpr const*)"},
-    {"_ZN12_GLOBAL__N_118FloatExprEvaluator13VisitCastExprEPN5clang8CastExprE", "(anonymous namespace)::FloatExprEvaluator::VisitCastExpr(clang::CastExpr*)"},
-    {"_Z21TryEvaluateBuiltinNaNRKN5clang10ASTContextENS_8QualTypeEPKNS_4ExprEbRN4llvm7APFloatE", "TryEvaluateBuiltinNaN(clang::ASTContext const&, clang::QualType, clang::Expr const*, bool, llvm::APFloat&)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_120PointerExprEvaluatorEbE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::PointerExprEvaluator, bool>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_120PointerExprEvaluator19VisitBinaryOperatorEPKN5clang14BinaryOperatorE", "(anonymous namespace)::PointerExprEvaluator::VisitBinaryOperator(clang::BinaryOperator const*)"},
-    {"_ZN12_GLOBAL__N_120PointerExprEvaluator13VisitCastExprEPN5clang8CastExprE", "(anonymous namespace)::PointerExprEvaluator::VisitCastExpr(clang::CastExpr*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_119VectorExprEvaluatorENS_7APValueEE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::VectorExprEvaluator, clang::APValue>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_119VectorExprEvaluator13GetZeroVectorEN5clang8QualTypeE", "(anonymous namespace)::VectorExprEvaluator::GetZeroVector(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_119VectorExprEvaluator13VisitCastExprEPKN5clang8CastExprE", "(anonymous namespace)::VectorExprEvaluator::VisitCastExpr(clang::CastExpr const*)"},
-    {"_ZNK5clang10ASTContext12MakeIntValueEyNS_8QualTypeE", "clang::ASTContext::MakeIntValue(unsigned long long, clang::QualType) const"},
-    {"_ZN5clang7APValueC2ERKN4llvm6APSIntE", "clang::APValue::APValue(llvm::APSInt const&)"},
-    {"_ZNK4llvm5APIntcoEv", "llvm::APInt::operator~() const"},
-    {"_ZNK5clang7VarDecl17setEvaluatedValueERKNS_7APValueE", "clang::VarDecl::setEvaluatedValue(clang::APValue const&) const"},
-    {"_ZNK4llvm6APSIntanERKS0_", "llvm::APSInt::operator&(llvm::APSInt const&) const"},
-    {"_ZNK4llvm6APSInteoERKS0_", "llvm::APSInt::operator^(llvm::APSInt const&) const"},
-    {"_ZNK4llvm6APSIntorERKS0_", "llvm::APSInt::operator|(llvm::APSInt const&) const"},
-    {"_ZNK4llvm6APSIntdvERKS0_", "llvm::APSInt::operator/(llvm::APSInt const&) const"},
-    {"_ZNK4llvm6APSIntrmERKS0_", "llvm::APSInt::operator%(llvm::APSInt const&) const"},
-    {"_ZNK4llvm6APSIntlsEj", "llvm::APSInt::operator<<(unsigned int) const"},
-    {"_ZNK4llvm6APSIntrsEj", "llvm::APSInt::operator>>(unsigned int) const"},
-    {"_ZN5clang7APValue13setComplexIntERKN4llvm6APSIntES4_", "clang::APValue::setComplexInt(llvm::APSInt const&, llvm::APSInt const&)"},
-    {"_ZN5clang7APValue9setVectorEPKS0_j", "clang::APValue::setVector(clang::APValue const*, unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang7APValueELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::APValue, false>::grow(unsigned long)"},
-    {"_ZN4llvm11SmallVectorIN5clang7APValueELj4EEC2EjRKS2_", "llvm::SmallVector<clang::APValue, 4u>::SmallVector(unsigned int, clang::APValue const&)"},
-    {"_ZN4llvm6APSIntrSEj", "llvm::APSInt::operator>>=(unsigned int)"},
-    {"_ZN5clang26InheritanceHierarchyWriter9WriteNodeENS_8QualTypeEb", "clang::InheritanceHierarchyWriter::WriteNode(clang::QualType, bool)"},
-    {"_ZN5clang26InheritanceHierarchyWriter18WriteNodeReferenceENS_8QualTypeEb", "clang::InheritanceHierarchyWriter::WriteNodeReference(clang::QualType, bool)"},
-    {"_ZNK5clang13CXXRecordDecl15viewInheritanceERNS_10ASTContextE", "clang::CXXRecordDecl::viewInheritance(clang::ASTContext&) const"},
-    {"_ZN5clang26InheritanceHierarchyWriter10WriteGraphENS_8QualTypeE", "clang::InheritanceHierarchyWriter::WriteGraph(clang::QualType)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_iESt10_Select1stIS4_ENS0_16QualTypeOrderingESaIS4_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS4_ERKS4_", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, int>, std::_Select1st<std::pair<clang::QualType const, int> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<clang::QualType const, int> >, std::pair<clang::QualType const, int> const&)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_iESt10_Select1stIS4_ENS0_16QualTypeOrderingESaIS4_EE16_M_insert_uniqueERKS4_", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, int>, std::_Select1st<std::pair<clang::QualType const, int> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, int> > >::_M_insert_unique(std::pair<clang::QualType const, int> const&)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeES1_St9_IdentityIS1_ENS0_16QualTypeOrderingESaIS1_EE16_M_insert_uniqueERKS1_", "std::_Rb_tree<clang::QualType, clang::QualType, std::_Identity<clang::QualType>, clang::QualTypeOrdering, std::allocator<clang::QualType> >::_M_insert_unique(clang::QualType const&)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeESt4pairIKS1_iESt10_Select1stIS4_ENS0_16QualTypeOrderingESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E", "std::_Rb_tree<clang::QualType, std::pair<clang::QualType const, int>, std::_Select1st<std::pair<clang::QualType const, int> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const, int> > >::_M_erase(std::_Rb_tree_node<std::pair<clang::QualType const, int> >*)"},
-    {"_ZNSt8_Rb_treeIN5clang8QualTypeES1_St9_IdentityIS1_ENS0_16QualTypeOrderingESaIS1_EE8_M_eraseEPSt13_Rb_tree_nodeIS1_E", "std::_Rb_tree<clang::QualType, clang::QualType, std::_Identity<clang::QualType>, clang::QualTypeOrdering, std::allocator<clang::QualType> >::_M_erase(std::_Rb_tree_node<clang::QualType>*)"},
-    {"_ZN5clang19CreateItaniumCXXABIERNS_10ASTContextE", "clang::CreateItaniumCXXABI(clang::ASTContext&)"},
-    {"_ZN5clang15CreateARMCXXABIERNS_10ASTContextE", "clang::CreateARMCXXABI(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABID1Ev", "(anonymous namespace)::ARMCXXABI::~ARMCXXABI()"},
-    {"_ZN12_GLOBAL__N_19ARMCXXABID0Ev", "(anonymous namespace)::ARMCXXABI::~ARMCXXABI()"},
-    {"_ZNK12_GLOBAL__N_113ItaniumCXXABI20getMemberPointerSizeEPKN5clang17MemberPointerTypeE", "(anonymous namespace)::ItaniumCXXABI::getMemberPointerSize(clang::MemberPointerType const*) const"},
-    {"_ZNK12_GLOBAL__N_113ItaniumCXXABI24getDefaultMethodCallConvEv", "(anonymous namespace)::ItaniumCXXABI::getDefaultMethodCallConv() const"},
-    {"_ZNK12_GLOBAL__N_113ItaniumCXXABI13isNearlyEmptyEPKN5clang13CXXRecordDeclE", "(anonymous namespace)::ItaniumCXXABI::isNearlyEmpty(clang::CXXRecordDecl const*) const"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABID1Ev", "(anonymous namespace)::ItaniumCXXABI::~ItaniumCXXABI()"},
-    {"_ZN12_GLOBAL__N_113ItaniumCXXABID0Ev", "(anonymous namespace)::ItaniumCXXABI::~ItaniumCXXABI()"},
-    {"_ZN5clang26createItaniumMangleContextERNS_10ASTContextERNS_10DiagnosticE", "clang::createItaniumMangleContext(clang::ASTContext&, clang::Diagnostic&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContextD1Ev", "(anonymous namespace)::ItaniumMangleContext::~ItaniumMangleContext()"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContextD0Ev", "(anonymous namespace)::ItaniumMangleContext::~ItaniumMangleContext()"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext16startNewFunctionEv", "(anonymous namespace)::ItaniumMangleContext::startNewFunction()"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext20shouldMangleDeclNameEPKN5clang9NamedDeclE", "(anonymous namespace)::ItaniumMangleContext::shouldMangleDeclName(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext10mangleNameEPKN5clang9NamedDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleName(clang::NamedDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext11mangleThunkEPKN5clang13CXXMethodDeclERKNS1_9ThunkInfoERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleThunk(clang::CXXMethodDecl const*, clang::ThunkInfo const&, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext18mangleCXXDtorThunkEPKN5clang17CXXDestructorDeclENS1_11CXXDtorTypeERKNS1_14ThisAdjustmentERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleCXXDtorThunk(clang::CXXDestructorDecl const*, clang::CXXDtorType, clang::ThisAdjustment const&, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext24mangleReferenceTemporaryEPKN5clang7VarDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleReferenceTemporary(clang::VarDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext15mangleCXXVTableEPKN5clang13CXXRecordDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleCXXVTable(clang::CXXRecordDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext12mangleCXXVTTEPKN5clang13CXXRecordDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleCXXVTT(clang::CXXRecordDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext19mangleCXXCtorVTableEPKN5clang13CXXRecordDeclExS4_RN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleCXXCtorVTable(clang::CXXRecordDecl const*, long long, clang::CXXRecordDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext13mangleCXXRTTIEN5clang8QualTypeERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleCXXRTTI(clang::QualType, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext17mangleCXXRTTINameEN5clang8QualTypeERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleCXXRTTIName(clang::QualType, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext13mangleCXXCtorEPKN5clang18CXXConstructorDeclENS1_11CXXCtorTypeERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleCXXCtor(clang::CXXConstructorDecl const*, clang::CXXCtorType, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext13mangleCXXDtorEPKN5clang17CXXDestructorDeclENS1_11CXXDtorTypeERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleCXXDtor(clang::CXXDestructorDecl const*, clang::CXXDtorType, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_120ItaniumMangleContext26mangleItaniumGuardVariableEPKN5clang7VarDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::ItaniumMangleContext::mangleItaniumGuardVariable(clang::VarDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler10mangleNameEPKN5clang9NamedDeclE", "(anonymous namespace)::CXXNameMangler::mangleName(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_117GetLocalClassDeclEPKN5clang9NamedDeclE", "(anonymous namespace)::GetLocalClassDecl(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler15mangleLocalNameEPKN5clang9NamedDeclE", "(anonymous namespace)::CXXNameMangler::mangleLocalName(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler26mangleUnscopedTemplateNameEPKN5clang12TemplateDeclE", "(anonymous namespace)::CXXNameMangler::mangleUnscopedTemplateName(clang::TemplateDecl const*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler16mangleNestedNameEPKN5clang9NamedDeclEPKNS1_11DeclContextEb", "(anonymous namespace)::CXXNameMangler::mangleNestedName(clang::NamedDecl const*, clang::DeclContext const*, bool)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler16mangleQualifiersEN5clang10QualifiersE", "(anonymous namespace)::CXXNameMangler::mangleQualifiers(clang::Qualifiers)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler20mangleTemplatePrefixEPKN5clang12TemplateDeclE", "(anonymous namespace)::CXXNameMangler::mangleTemplatePrefix(clang::TemplateDecl const*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler12manglePrefixEPKN5clang11DeclContextEb", "(anonymous namespace)::CXXNameMangler::manglePrefix(clang::DeclContext const*, bool)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler21mangleUnqualifiedNameEPKN5clang9NamedDeclENS1_15DeclarationNameEj", "(anonymous namespace)::CXXNameMangler::mangleUnqualifiedName(clang::NamedDecl const*, clang::DeclarationName, unsigned int)"},
-    {"_Z24FindFirstNamedDataMemberPKN5clang10RecordDeclE", "FindFirstNamedDataMember(clang::RecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler10mangleTypeEN5clang8QualTypeE", "(anonymous namespace)::CXXNameMangler::mangleType(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler18mangleOperatorNameEN5clang22OverloadedOperatorKindEj", "(anonymous namespace)::CXXNameMangler::mangleOperatorName(clang::OverloadedOperatorKind, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler18mangleSubstitutionEN5clang8QualTypeE", "(anonymous namespace)::CXXNameMangler::mangleSubstitution(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler10mangleTypeEPKN5clang10VectorTypeE", "(anonymous namespace)::CXXNameMangler::mangleType(clang::VectorType const*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler15addSubstitutionEN5clang8QualTypeE", "(anonymous namespace)::CXXNameMangler::addSubstitution(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler15addSubstitutionEPKN5clang9NamedDeclE", "(anonymous namespace)::CXXNameMangler::addSubstitution(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler20mangleTemplatePrefixEN5clang12TemplateNameE", "(anonymous namespace)::CXXNameMangler::mangleTemplatePrefix(clang::TemplateName)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler18mangleTemplateArgsEN5clang12TemplateNameEPKNS1_16TemplateArgumentEj", "(anonymous namespace)::CXXNameMangler::mangleTemplateArgs(clang::TemplateName, clang::TemplateArgument const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler17mangleTemplateArgEPKN5clang9NamedDeclERKNS1_16TemplateArgumentE", "(anonymous namespace)::CXXNameMangler::mangleTemplateArg(clang::NamedDecl const*, clang::TemplateArgument const&)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler10mangleTypeEN5clang12TemplateNameE", "(anonymous namespace)::CXXNameMangler::mangleType(clang::TemplateName)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler16mangleExpressionEPKN5clang4ExprEj", "(anonymous namespace)::CXXNameMangler::mangleExpression(clang::Expr const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler20mangleIntegerLiteralEN5clang8QualTypeERKN4llvm6APSIntE", "(anonymous namespace)::CXXNameMangler::mangleIntegerLiteral(clang::QualType, llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler6mangleEPKN5clang9NamedDeclEN4llvm9StringRefE", "(anonymous namespace)::CXXNameMangler::mangle(clang::NamedDecl const*, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler22mangleFunctionEncodingEPKN5clang12FunctionDeclE", "(anonymous namespace)::CXXNameMangler::mangleFunctionEncoding(clang::FunctionDecl const*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler22mangleBareFunctionTypeEPKN5clang12FunctionTypeEb", "(anonymous namespace)::CXXNameMangler::mangleBareFunctionType(clang::FunctionType const*, bool)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler12mangleNumberERKN4llvm6APSIntE", "(anonymous namespace)::CXXNameMangler::mangleNumber(llvm::APSInt const&)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler11mangleFloatERKN4llvm7APFloatE", "(anonymous namespace)::CXXNameMangler::mangleFloat(llvm::APFloat const&)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler21mangleUnresolvedScopeEPN5clang19NestedNameSpecifierE", "(anonymous namespace)::CXXNameMangler::mangleUnresolvedScope(clang::NestedNameSpecifier*)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler18mangleSubstitutionEN5clang12TemplateNameE", "(anonymous namespace)::CXXNameMangler::mangleSubstitution(clang::TemplateName)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler15addSubstitutionEN5clang12TemplateNameE", "(anonymous namespace)::CXXNameMangler::addSubstitution(clang::TemplateName)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler18mangleSubstitutionEm", "(anonymous namespace)::CXXNameMangler::mangleSubstitution(unsigned long)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler26mangleStandardSubstitutionEPKN5clang9NamedDeclE", "(anonymous namespace)::CXXNameMangler::mangleStandardSubstitution(clang::NamedDecl const*)"},
-    {"_Z5isStdPKN5clang13NamespaceDeclE", "isStd(clang::NamespaceDecl const*)"},
-    {"_Z20isCharSpecializationN5clang8QualTypeEPKc", "isCharSpecialization(clang::QualType, char const*)"},
-    {"_Z26isStreamCharSpecializationILm14EEbPKN5clang31ClassTemplateSpecializationDeclERAT__Kc", "bool isStreamCharSpecialization<14ul>(clang::ClassTemplateSpecializationDecl const*, char const (&) [14ul])"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler10mangleNameEPKN5clang12TemplateDeclEPKNS1_16TemplateArgumentEj", "(anonymous namespace)::CXXNameMangler::mangleName(clang::TemplateDecl const*, clang::TemplateArgument const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114CXXNameMangler16mangleCallOffsetExx", "(anonymous namespace)::CXXNameMangler::mangleCallOffset(long long, long long)"},
-    {"_ZN4llvm8DenseMapImjNS_12DenseMapInfoImEENS1_IjEEE16InsertIntoBucketERKmRKjPSt4pairImjE", "llvm::DenseMap<unsigned long, unsigned int, llvm::DenseMapInfo<unsigned long>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(unsigned long const&, unsigned int const&, std::pair<unsigned long, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapImjNS_12DenseMapInfoImEENS1_IjEEE4growEj", "llvm::DenseMap<unsigned long, unsigned int, llvm::DenseMapInfo<unsigned long>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNK5clang4Decl7getAttrINS_12AsmLabelAttrEEEPT_v", "clang::AsmLabelAttr* clang::Decl::getAttr<clang::AsmLabelAttr>() const"},
-    {"_ZN4llvm8DenseMapIPKN5clang7TagDeclEyNS_12DenseMapInfoIS4_EENS5_IyEEE6insertERKSt4pairIS4_yE", "llvm::DenseMap<clang::TagDecl const*, unsigned long long, llvm::DenseMapInfo<clang::TagDecl const*>, llvm::DenseMapInfo<unsigned long long> >::insert(std::pair<clang::TagDecl const*, unsigned long long> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7TagDeclEyNS_12DenseMapInfoIS4_EENS5_IyEEE16InsertIntoBucketERKS4_RKyPSt4pairIS4_yE", "llvm::DenseMap<clang::TagDecl const*, unsigned long long, llvm::DenseMapInfo<clang::TagDecl const*>, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(clang::TagDecl const* const&, unsigned long long const&, std::pair<clang::TagDecl const*, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang7TagDeclEyNS_12DenseMapInfoIS4_EENS5_IyEEE4growEj", "llvm::DenseMap<clang::TagDecl const*, unsigned long long, llvm::DenseMapInfo<clang::TagDecl const*>, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9NamedDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::NamedDecl const*, unsigned int, llvm::DenseMapInfo<clang::NamedDecl const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::NamedDecl const* const&, unsigned int const&, std::pair<clang::NamedDecl const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9NamedDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::NamedDecl const*, unsigned int, llvm::DenseMapInfo<clang::NamedDecl const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang13MangleContext16startNewFunctionEv", "clang::MangleContext::startNewFunction()"},
-    {"_ZN4llvm8DenseMapIPKN5clang9BlockDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE16shrink_and_clearEv", "llvm::DenseMap<clang::BlockDecl const*, unsigned int, llvm::DenseMapInfo<clang::BlockDecl const*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN5clang13MangleContextD1Ev", "clang::MangleContext::~MangleContext()"},
-    {"_ZN5clang13MangleContextD0Ev", "clang::MangleContext::~MangleContext()"},
-    {"_ZN5clang13MangleContext26mangleItaniumGuardVariableEPKNS_7VarDeclERN4llvm15SmallVectorImplIcEE", "clang::MangleContext::mangleItaniumGuardVariable(clang::VarDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN5clang13MangleContext17mangleGlobalBlockEPKNS_9BlockDeclERN4llvm15SmallVectorImplIcEE", "clang::MangleContext::mangleGlobalBlock(clang::BlockDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN5clang13MangleContext15mangleCtorBlockEPKNS_18CXXConstructorDeclENS_11CXXCtorTypeEPKNS_9BlockDeclERN4llvm15SmallVectorImplIcEE", "clang::MangleContext::mangleCtorBlock(clang::CXXConstructorDecl const*, clang::CXXCtorType, clang::BlockDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_119mangleFunctionBlockERN5clang13MangleContextEN4llvm9StringRefEPKNS0_9BlockDeclERNS3_15SmallVectorImplIcEE", "(anonymous namespace)::mangleFunctionBlock(clang::MangleContext&, llvm::StringRef, clang::BlockDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN5clang13MangleContext15mangleDtorBlockEPKNS_17CXXDestructorDeclENS_11CXXDtorTypeEPKNS_9BlockDeclERN4llvm15SmallVectorImplIcEE", "clang::MangleContext::mangleDtorBlock(clang::CXXDestructorDecl const*, clang::CXXDtorType, clang::BlockDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN5clang13MangleContext11mangleBlockEPKNS_11DeclContextEPKNS_9BlockDeclERN4llvm15SmallVectorImplIcEE", "clang::MangleContext::mangleBlock(clang::DeclContext const*, clang::BlockDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN5clang13MangleContext20mangleObjCMethodNameEPKNS_14ObjCMethodDeclERN4llvm15SmallVectorImplIcEE", "clang::MangleContext::mangleObjCMethodName(clang::ObjCMethodDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN5clang13MangleContext11mangleBlockEPKNS_9BlockDeclERN4llvm15SmallVectorImplIcEE", "clang::MangleContext::mangleBlock(clang::BlockDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9BlockDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE6insertERKSt4pairIS4_jE", "llvm::DenseMap<clang::BlockDecl const*, unsigned int, llvm::DenseMapInfo<clang::BlockDecl const*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<clang::BlockDecl const*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9BlockDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<clang::BlockDecl const*, unsigned int, llvm::DenseMapInfo<clang::BlockDecl const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(clang::BlockDecl const* const&, unsigned int const&, std::pair<clang::BlockDecl const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9BlockDeclEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<clang::BlockDecl const*, unsigned int, llvm::DenseMapInfo<clang::BlockDecl const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN5clang21CreateMicrosoftCXXABIERNS_10ASTContextE", "clang::CreateMicrosoftCXXABI(clang::ASTContext&)"},
-    {"_ZN12_GLOBAL__N_115MicrosoftCXXABID1Ev", "(anonymous namespace)::MicrosoftCXXABI::~MicrosoftCXXABI()"},
-    {"_ZN12_GLOBAL__N_115MicrosoftCXXABID0Ev", "(anonymous namespace)::MicrosoftCXXABI::~MicrosoftCXXABI()"},
-    {"_ZNK12_GLOBAL__N_115MicrosoftCXXABI20getMemberPointerSizeEPKN5clang17MemberPointerTypeE", "(anonymous namespace)::MicrosoftCXXABI::getMemberPointerSize(clang::MemberPointerType const*) const"},
-    {"_ZNK12_GLOBAL__N_115MicrosoftCXXABI24getDefaultMethodCallConvEv", "(anonymous namespace)::MicrosoftCXXABI::getDefaultMethodCallConv() const"},
-    {"_ZNK12_GLOBAL__N_115MicrosoftCXXABI13isNearlyEmptyEPKN5clang13CXXRecordDeclE", "(anonymous namespace)::MicrosoftCXXABI::isNearlyEmpty(clang::CXXRecordDecl const*) const"},
-    {"_ZN5clang28createMicrosoftMangleContextERNS_10ASTContextERNS_10DiagnosticE", "clang::createMicrosoftMangleContext(clang::ASTContext&, clang::Diagnostic&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContextD1Ev", "(anonymous namespace)::MicrosoftMangleContext::~MicrosoftMangleContext()"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContextD0Ev", "(anonymous namespace)::MicrosoftMangleContext::~MicrosoftMangleContext()"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext20shouldMangleDeclNameEPKN5clang9NamedDeclE", "(anonymous namespace)::MicrosoftMangleContext::shouldMangleDeclName(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext10mangleNameEPKN5clang9NamedDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleName(clang::NamedDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext11mangleThunkEPKN5clang13CXXMethodDeclERKNS1_9ThunkInfoERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleThunk(clang::CXXMethodDecl const*, clang::ThunkInfo const&, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext18mangleCXXDtorThunkEPKN5clang17CXXDestructorDeclENS1_11CXXDtorTypeERKNS1_14ThisAdjustmentERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleCXXDtorThunk(clang::CXXDestructorDecl const*, clang::CXXDtorType, clang::ThisAdjustment const&, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext24mangleReferenceTemporaryEPKN5clang7VarDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleReferenceTemporary(clang::VarDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext15mangleCXXVTableEPKN5clang13CXXRecordDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleCXXVTable(clang::CXXRecordDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext12mangleCXXVTTEPKN5clang13CXXRecordDeclERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleCXXVTT(clang::CXXRecordDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext19mangleCXXCtorVTableEPKN5clang13CXXRecordDeclExS4_RN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleCXXCtorVTable(clang::CXXRecordDecl const*, long long, clang::CXXRecordDecl const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext13mangleCXXRTTIEN5clang8QualTypeERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleCXXRTTI(clang::QualType, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext17mangleCXXRTTINameEN5clang8QualTypeERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleCXXRTTIName(clang::QualType, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext13mangleCXXCtorEPKN5clang18CXXConstructorDeclENS1_11CXXCtorTypeERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleCXXCtor(clang::CXXConstructorDecl const*, clang::CXXCtorType, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_122MicrosoftMangleContext13mangleCXXDtorEPKN5clang17CXXDestructorDeclENS1_11CXXDtorTypeERN4llvm15SmallVectorImplIcEE", "(anonymous namespace)::MicrosoftMangleContext::mangleCXXDtor(clang::CXXDestructorDecl const*, clang::CXXDtorType, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler10mangleNameEPKN5clang9NamedDeclE", "(anonymous namespace)::MicrosoftCXXNameMangler::mangleName(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler10mangleTypeEN5clang8QualTypeE", "(anonymous namespace)::MicrosoftCXXNameMangler::mangleType(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler16mangleQualifiersEN5clang10QualifiersEb", "(anonymous namespace)::MicrosoftCXXNameMangler::mangleQualifiers(clang::Qualifiers, bool)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler21mangleExtraDimensionsEN5clang8QualTypeE", "(anonymous namespace)::MicrosoftCXXNameMangler::mangleExtraDimensions(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler12mangleNumberEx", "(anonymous namespace)::MicrosoftCXXNameMangler::mangleNumber(long long)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler10mangleTypeEPKN5clang7TagTypeE", "(anonymous namespace)::MicrosoftCXXNameMangler::mangleType(clang::TagType const*)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler10mangleTypeEPKN5clang12FunctionTypeEPKNS1_12FunctionDeclEbb", "(anonymous namespace)::MicrosoftCXXNameMangler::mangleType(clang::FunctionType const*, clang::FunctionDecl const*, bool, bool)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler21mangleUnqualifiedNameEPKN5clang9NamedDeclE", "(anonymous namespace)::MicrosoftCXXNameMangler::mangleUnqualifiedName(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_123MicrosoftCXXNameMangler13manglePostfixEPKN5clang11DeclContextEb", "(anonymous namespace)::MicrosoftCXXNameMangler::manglePostfix(clang::DeclContext const*, bool)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_5APIntELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::APInt, false>::grow(unsigned long)"},
-    {"_ZN5clang19NestedNameSpecifier12FindOrInsertERKNS_10ASTContextERKS0_", "clang::NestedNameSpecifier::FindOrInsert(clang::ASTContext const&, clang::NestedNameSpecifier const&)"},
-    {"_ZN5clang19NestedNameSpecifier6CreateERKNS_10ASTContextEPS0_PNS_14IdentifierInfoE", "clang::NestedNameSpecifier::Create(clang::ASTContext const&, clang::NestedNameSpecifier*, clang::IdentifierInfo*)"},
-    {"_ZN5clang19NestedNameSpecifier6CreateERKNS_10ASTContextEPS0_PNS_13NamespaceDeclE", "clang::NestedNameSpecifier::Create(clang::ASTContext const&, clang::NestedNameSpecifier*, clang::NamespaceDecl*)"},
-    {"_ZN5clang19NestedNameSpecifier6CreateERKNS_10ASTContextEPS0_bPKNS_4TypeE", "clang::NestedNameSpecifier::Create(clang::ASTContext const&, clang::NestedNameSpecifier*, bool, clang::Type const*)"},
-    {"_ZN5clang19NestedNameSpecifier6CreateERKNS_10ASTContextEPNS_14IdentifierInfoE", "clang::NestedNameSpecifier::Create(clang::ASTContext const&, clang::IdentifierInfo*)"},
-    {"_ZN5clang19NestedNameSpecifier15GlobalSpecifierERKNS_10ASTContextE", "clang::NestedNameSpecifier::GlobalSpecifier(clang::ASTContext const&)"},
-    {"_ZNK5clang19NestedNameSpecifier11isDependentEv", "clang::NestedNameSpecifier::isDependent() const"},
-    {"_ZNK5clang19NestedNameSpecifier31containsUnexpandedParameterPackEv", "clang::NestedNameSpecifier::containsUnexpandedParameterPack() const"},
-    {"_ZNK5clang19NestedNameSpecifier5printERN4llvm11raw_ostreamERKNS_14PrintingPolicyE", "clang::NestedNameSpecifier::print(llvm::raw_ostream&, clang::PrintingPolicy const&) const"},
-    {"_ZN5clang19NestedNameSpecifier4dumpERKNS_11LangOptionsE", "clang::NestedNameSpecifier::dump(clang::LangOptions const&)"},
-    {"_ZN5clang9ParentMapC1EPNS_4StmtE", "clang::ParentMap::ParentMap(clang::Stmt*)"},
-    {"_ZN5clang9ParentMapC2EPNS_4StmtE", "clang::ParentMap::ParentMap(clang::Stmt*)"},
-    {"_Z14BuildParentMapRN4llvm8DenseMapIPN5clang4StmtES3_NS_12DenseMapInfoIS3_EES5_EES3_", "BuildParentMap(llvm::DenseMap<clang::Stmt*, clang::Stmt*, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<clang::Stmt*> >&, clang::Stmt*)"},
-    {"_ZN5clang9ParentMapD1Ev", "clang::ParentMap::~ParentMap()"},
-    {"_ZN5clang9ParentMapD2Ev", "clang::ParentMap::~ParentMap()"},
-    {"_ZN5clang9ParentMap7addStmtEPNS_4StmtE", "clang::ParentMap::addStmt(clang::Stmt*)"},
-    {"_ZNK5clang9ParentMap9getParentEPNS_4StmtE", "clang::ParentMap::getParent(clang::Stmt*) const"},
-    {"_ZNK5clang9ParentMap21getParentIgnoreParensEPNS_4StmtE", "clang::ParentMap::getParentIgnoreParens(clang::Stmt*) const"},
-    {"_ZNK5clang9ParentMap14isConsumedExprEPNS_4ExprE", "clang::ParentMap::isConsumedExpr(clang::Expr*) const"},
-    {"_ZN5clang15ASTRecordLayout7DestroyERNS_10ASTContextE", "clang::ASTRecordLayout::Destroy(clang::ASTContext&)"},
-    {"_ZN5clang15ASTRecordLayoutC1ERKNS_10ASTContextENS_9CharUnitsEjjPKyj", "clang::ASTRecordLayout::ASTRecordLayout(clang::ASTContext const&, clang::CharUnits, unsigned int, unsigned int, unsigned long long const*, unsigned int)"},
-    {"_ZN5clang15ASTRecordLayoutC2ERKNS_10ASTContextENS_9CharUnitsEjjPKyj", "clang::ASTRecordLayout::ASTRecordLayout(clang::ASTContext const&, clang::CharUnits, unsigned int, unsigned int, unsigned long long const*, unsigned int)"},
-    {"_ZN5clang15ASTRecordLayoutC1ERKNS_10ASTContextENS_9CharUnitsEjyPKyjS4_S4_S4_PKNS_13CXXRecordDeclEbRKN4llvm8DenseMapIS9_S4_NSA_12DenseMapInfoIS9_EENSC_IS4_EEEESH_", "clang::ASTRecordLayout::ASTRecordLayout(clang::ASTContext const&, clang::CharUnits, unsigned int, unsigned long long, unsigned long long const*, unsigned int, clang::CharUnits, clang::CharUnits, clang::CharUnits, clang::CXXRecordDecl const*, bool, llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> > const&, llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> > const&)"},
-    {"_ZN5clang15ASTRecordLayoutC2ERKNS_10ASTContextENS_9CharUnitsEjyPKyjS4_S4_S4_PKNS_13CXXRecordDeclEbRKN4llvm8DenseMapIS9_S4_NSA_12DenseMapInfoIS9_EENSC_IS4_EEEESH_", "clang::ASTRecordLayout::ASTRecordLayout(clang::ASTContext const&, clang::CharUnits, unsigned int, unsigned long long, unsigned long long const*, unsigned int, clang::CharUnits, clang::CharUnits, clang::CharUnits, clang::CXXRecordDecl const*, bool, llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> > const&, llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> > const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS1_9CharUnitsENS_12DenseMapInfoIS4_EENS6_IS5_EEE8CopyFromERKS9_", "llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> >::CopyFrom(llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> > const&)"},
-    {"_ZNK5clang10ASTContext18getASTRecordLayoutEPKNS_10RecordDeclE", "clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilderD1Ev", "(anonymous namespace)::RecordLayoutBuilder::~RecordLayoutBuilder()"},
-    {"_ZNK5clang10ASTContext16DumpRecordLayoutEPKNS_10RecordDeclERN4llvm11raw_ostreamE", "clang::ASTContext::DumpRecordLayout(clang::RecordDecl const*, llvm::raw_ostream&) const"},
-    {"_ZN5clang10ASTContext14getKeyFunctionEPKNS_13CXXRecordDeclE", "clang::ASTContext::getKeyFunction(clang::CXXRecordDecl const*)"},
-    {"_ZNK5clang10ASTContext13getObjCLayoutEPKNS_17ObjCInterfaceDeclEPKNS_22ObjCImplementationDeclE", "clang::ASTContext::getObjCLayout(clang::ObjCInterfaceDecl const*, clang::ObjCImplementationDecl const*) const"},
-    {"_Z19DumpCXXRecordLayoutRN4llvm11raw_ostreamEPKN5clang13CXXRecordDeclERKNS2_10ASTContextENS2_9CharUnitsEjPKcb", "DumpCXXRecordLayout(llvm::raw_ostream&, clang::CXXRecordDecl const*, clang::ASTContext const&, clang::CharUnits, unsigned int, char const*, bool)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder16InitializeLayoutEPKN5clang4DeclE", "(anonymous namespace)::RecordLayoutBuilder::InitializeLayout(clang::Decl const*)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder11LayoutFieldEPKN5clang9FieldDeclE", "(anonymous namespace)::RecordLayoutBuilder::LayoutField(clang::FieldDecl const*)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder12FinishLayoutEPKN5clang9NamedDeclE", "(anonymous namespace)::RecordLayoutBuilder::FinishLayout(clang::NamedDecl const*)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder17CheckFieldPaddingEyyyjbPKN5clang9FieldDeclE", "(anonymous namespace)::RecordLayoutBuilder::CheckFieldPadding(unsigned long long, unsigned long long, unsigned long long, unsigned int, bool, clang::FieldDecl const*)"},
-    {"_ZNK12_GLOBAL__N_117EmptySubobjectMap30CanPlaceFieldSubobjectAtOffsetEPKN5clang9FieldDeclENS1_9CharUnitsE", "(anonymous namespace)::EmptySubobjectMap::CanPlaceFieldSubobjectAtOffset(clang::FieldDecl const*, clang::CharUnits) const"},
-    {"_ZN12_GLOBAL__N_117EmptySubobjectMap26UpdateEmptyFieldSubobjectsEPKN5clang9FieldDeclENS1_9CharUnitsE", "(anonymous namespace)::EmptySubobjectMap::UpdateEmptyFieldSubobjects(clang::FieldDecl const*, clang::CharUnits)"},
-    {"_ZN12_GLOBAL__N_117EmptySubobjectMap26UpdateEmptyFieldSubobjectsEPKN5clang13CXXRecordDeclES4_NS1_9CharUnitsE", "(anonymous namespace)::EmptySubobjectMap::UpdateEmptyFieldSubobjects(clang::CXXRecordDecl const*, clang::CXXRecordDecl const*, clang::CharUnits)"},
-    {"_ZN12_GLOBAL__N_117EmptySubobjectMap20AddSubobjectAtOffsetEPKN5clang13CXXRecordDeclENS1_9CharUnitsE", "(anonymous namespace)::EmptySubobjectMap::AddSubobjectAtOffset(clang::CXXRecordDecl const*, clang::CharUnits)"},
-    {"_ZNK12_GLOBAL__N_117EmptySubobjectMap30CanPlaceFieldSubobjectAtOffsetEPKN5clang13CXXRecordDeclES4_NS1_9CharUnitsE", "(anonymous namespace)::EmptySubobjectMap::CanPlaceFieldSubobjectAtOffset(clang::CXXRecordDecl const*, clang::CXXRecordDecl const*, clang::CharUnits) const"},
-    {"_ZNK12_GLOBAL__N_117EmptySubobjectMap25CanPlaceSubobjectAtOffsetEPKN5clang13CXXRecordDeclENS1_9CharUnitsE", "(anonymous namespace)::EmptySubobjectMap::CanPlaceSubobjectAtOffset(clang::CXXRecordDecl const*, clang::CharUnits) const"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilderD2Ev", "(anonymous namespace)::RecordLayoutBuilder::~RecordLayoutBuilder()"},
-    {"_ZNK12_GLOBAL__N_119RecordLayoutBuilder22GetVirtualPointersSizeEPKN5clang13CXXRecordDeclE", "(anonymous namespace)::RecordLayoutBuilder::GetVirtualPointersSize(clang::CXXRecordDecl const*) const"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilderD0Ev", "(anonymous namespace)::RecordLayoutBuilder::~RecordLayoutBuilder()"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder18LayoutVirtualBasesEPKN5clang13CXXRecordDeclES4_", "(anonymous namespace)::RecordLayoutBuilder::LayoutVirtualBases(clang::CXXRecordDecl const*, clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder10LayoutBaseEPKNS_17BaseSubobjectInfoE", "(anonymous namespace)::RecordLayoutBuilder::LayoutBase((anonymous namespace)::BaseSubobjectInfo const*)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder28AddPrimaryVirtualBaseOffsetsEPKNS_17BaseSubobjectInfoEN5clang9CharUnitsE", "(anonymous namespace)::RecordLayoutBuilder::AddPrimaryVirtualBaseOffsets((anonymous namespace)::BaseSubobjectInfo const*, clang::CharUnits)"},
-    {"_ZN12_GLOBAL__N_117EmptySubobjectMap29CanPlaceBaseSubobjectAtOffsetEPKNS_17BaseSubobjectInfoEN5clang9CharUnitsE", "(anonymous namespace)::EmptySubobjectMap::CanPlaceBaseSubobjectAtOffset((anonymous namespace)::BaseSubobjectInfo const*, clang::CharUnits)"},
-    {"_ZN12_GLOBAL__N_117EmptySubobjectMap25UpdateEmptyBaseSubobjectsEPKNS_17BaseSubobjectInfoEN5clang9CharUnitsEb", "(anonymous namespace)::EmptySubobjectMap::UpdateEmptyBaseSubobjects((anonymous namespace)::BaseSubobjectInfo const*, clang::CharUnits, bool)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder24ComputeBaseSubobjectInfoEPKN5clang13CXXRecordDeclE", "(anonymous namespace)::RecordLayoutBuilder::ComputeBaseSubobjectInfo(clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder24ComputeBaseSubobjectInfoEPKN5clang13CXXRecordDeclEbPNS_17BaseSubobjectInfoE", "(anonymous namespace)::RecordLayoutBuilder::ComputeBaseSubobjectInfo(clang::CXXRecordDecl const*, bool, (anonymous namespace)::BaseSubobjectInfo*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEPN12_GLOBAL__N_117BaseSubobjectInfoENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::CXXRecordDecl const*, (anonymous namespace)::BaseSubobjectInfo*, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<(anonymous namespace)::BaseSubobjectInfo*> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, (anonymous namespace)::BaseSubobjectInfo* const&, std::pair<clang::CXXRecordDecl const*, (anonymous namespace)::BaseSubobjectInfo*>*)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilder18SelectPrimaryVBaseEPKN5clang13CXXRecordDeclE", "(anonymous namespace)::RecordLayoutBuilder::SelectPrimaryVBase(clang::CXXRecordDecl const*)"},
-    {"_ZN12_GLOBAL__N_119RecordLayoutBuilderC2ERKN5clang10ASTContextEPNS_17EmptySubobjectMapE", "(anonymous namespace)::RecordLayoutBuilder::RecordLayoutBuilder(clang::ASTContext const&, (anonymous namespace)::EmptySubobjectMap*)"},
-    {"_ZNK12_GLOBAL__N_121MSRecordLayoutBuilder22GetVirtualPointersSizeEPKN5clang13CXXRecordDeclE", "(anonymous namespace)::MSRecordLayoutBuilder::GetVirtualPointersSize(clang::CXXRecordDecl const*) const"},
-    {"_ZN12_GLOBAL__N_121MSRecordLayoutBuilderD1Ev", "(anonymous namespace)::MSRecordLayoutBuilder::~MSRecordLayoutBuilder()"},
-    {"_ZN12_GLOBAL__N_121MSRecordLayoutBuilderD0Ev", "(anonymous namespace)::MSRecordLayoutBuilder::~MSRecordLayoutBuilder()"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEPKNS1_13CXXMethodDeclENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::CXXRecordDecl const*, clang::CXXMethodDecl const*, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CXXMethodDecl const*> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, clang::CXXMethodDecl const* const&, std::pair<clang::CXXRecordDecl const*, clang::CXXMethodDecl const*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclEPKNS1_13CXXMethodDeclENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, clang::CXXMethodDecl const*, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CXXMethodDecl const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang10RecordDeclEPKNS1_15ASTRecordLayoutENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::RecordDecl const*, clang::ASTRecordLayout const*, llvm::DenseMapInfo<clang::RecordDecl const*>, llvm::DenseMapInfo<clang::ASTRecordLayout const*> >::InsertIntoBucket(clang::RecordDecl const* const&, clang::ASTRecordLayout const* const&, std::pair<clang::RecordDecl const*, clang::ASTRecordLayout const*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang10RecordDeclEPKNS1_15ASTRecordLayoutENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::RecordDecl const*, clang::ASTRecordLayout const*, llvm::DenseMapInfo<clang::RecordDecl const*>, llvm::DenseMapInfo<clang::ASTRecordLayout const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang17ObjCContainerDeclEPKNS1_15ASTRecordLayoutENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::ObjCContainerDecl const*, clang::ASTRecordLayout const*, llvm::DenseMapInfo<clang::ObjCContainerDecl const*>, llvm::DenseMapInfo<clang::ASTRecordLayout const*> >::InsertIntoBucket(clang::ObjCContainerDecl const* const&, clang::ASTRecordLayout const* const&, std::pair<clang::ObjCContainerDecl const*, clang::ASTRecordLayout const*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang17ObjCContainerDeclEPKNS1_15ASTRecordLayoutENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::ObjCContainerDecl const*, clang::ASTRecordLayout const*, llvm::DenseMapInfo<clang::ObjCContainerDecl const*>, llvm::DenseMapInfo<clang::ASTRecordLayout const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS1_9CharUnitsENS_12DenseMapInfoIS4_EENS6_IS5_EEE16InsertIntoBucketERKS4_RKS5_PSt4pairIS4_S5_E", "llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> >::InsertIntoBucket(clang::CXXRecordDecl const* const&, clang::CharUnits const&, std::pair<clang::CXXRecordDecl const*, clang::CharUnits>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS1_9CharUnitsENS_12DenseMapInfoIS4_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> >::grow(unsigned int)"},
-    {"_ZSt6__findIPPKN5clang13CXXRecordDeclES3_ET_S5_S5_RKT0_St26random_access_iterator_tag", "clang::CXXRecordDecl const** std::__find<clang::CXXRecordDecl const**, clang::CXXRecordDecl const*>(clang::CXXRecordDecl const**, clang::CXXRecordDecl const**, clang::CXXRecordDecl const* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIN5clang9CharUnitsENS_11SmallVectorIPKNS1_13CXXRecordDeclELj1EEENS_12DenseMapInfoIS2_EENS8_IS7_EEE16FindAndConstructERKS2_", "llvm::DenseMap<clang::CharUnits, llvm::SmallVector<clang::CXXRecordDecl const*, 1u>, llvm::DenseMapInfo<clang::CharUnits>, llvm::DenseMapInfo<llvm::SmallVector<clang::CXXRecordDecl const*, 1u> > >::FindAndConstruct(clang::CharUnits const&)"},
-    {"_ZN4llvm8DenseMapIN5clang9CharUnitsENS_11SmallVectorIPKNS1_13CXXRecordDeclELj1EEENS_12DenseMapInfoIS2_EENS8_IS7_EEE16InsertIntoBucketERKS2_RKS7_PSt4pairIS2_S7_E", "llvm::DenseMap<clang::CharUnits, llvm::SmallVector<clang::CXXRecordDecl const*, 1u>, llvm::DenseMapInfo<clang::CharUnits>, llvm::DenseMapInfo<llvm::SmallVector<clang::CXXRecordDecl const*, 1u> > >::InsertIntoBucket(clang::CharUnits const&, llvm::SmallVector<clang::CXXRecordDecl const*, 1u> const&, std::pair<clang::CharUnits, llvm::SmallVector<clang::CXXRecordDecl const*, 1u> >*)"},
-    {"_ZN4llvm8DenseMapIN5clang9CharUnitsENS_11SmallVectorIPKNS1_13CXXRecordDeclELj1EEENS_12DenseMapInfoIS2_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::CharUnits, llvm::SmallVector<clang::CXXRecordDecl const*, 1u>, llvm::DenseMapInfo<clang::CharUnits>, llvm::DenseMapInfo<llvm::SmallVector<clang::CXXRecordDecl const*, 1u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPKN5clang13CXXRecordDeclEEaSERKS5_", "llvm::SmallVectorImpl<clang::CXXRecordDecl const*>::operator=(llvm::SmallVectorImpl<clang::CXXRecordDecl const*> const&)"},
-    {"_ZSt6__findIPKPKN5clang13CXXRecordDeclES3_ET_S6_S6_RKT0_St26random_access_iterator_tag", "clang::CXXRecordDecl const* const* std::__find<clang::CXXRecordDecl const* const*, clang::CXXRecordDecl const*>(clang::CXXRecordDecl const* const*, clang::CXXRecordDecl const* const*, clang::CXXRecordDecl const* const&, std::random_access_iterator_tag)"},
-    {"_ZNK5clang4Decl7getAttrINS_21MaxFieldAlignmentAttrEEEPT_v", "clang::MaxFieldAlignmentAttr* clang::Decl::getAttr<clang::MaxFieldAlignmentAttr>() const"},
-    {"_ZN4llvm8DenseMapIPKN5clang13CXXRecordDeclENS1_9CharUnitsENS_12DenseMapInfoIS4_EENS6_IS5_EEE6insertERKSt4pairIS4_S5_E", "llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*>, llvm::DenseMapInfo<clang::CharUnits> >::insert(std::pair<clang::CXXRecordDecl const*, clang::CharUnits> const&)"},
-    {"_ZNK5clang4Stmt16getStmtClassNameEv", "clang::Stmt::getStmtClassName() const"},
-    {"_Z21getStmtInfoTableEntryN5clang4Stmt9StmtClassE", "getStmtInfoTableEntry(clang::Stmt::StmtClass)"},
-    {"_ZN5clang4Stmt10PrintStatsEv", "clang::Stmt::PrintStats()"},
-    {"_ZN5clang4Stmt12addStmtClassENS0_9StmtClassE", "clang::Stmt::addStmtClass(clang::Stmt::StmtClass)"},
-    {"_ZN5clang4Stmt15CollectingStatsEb", "clang::Stmt::CollectingStats(bool)"},
-    {"_ZN5clang4Stmt8childrenEv", "clang::Stmt::children()"},
-    {"_ZNK5clang4Stmt14getSourceRangeEv", "clang::Stmt::getSourceRange() const"},
-    {"_ZNK5clang13ObjCAtTryStmt14getSourceRangeEv", "clang::ObjCAtTryStmt::getSourceRange() const"},
-    {"_ZNK5clang10ReturnStmt14getSourceRangeEv", "clang::ReturnStmt::getSourceRange() const"},
-    {"_ZN5clang12CompoundStmt8setStmtsERNS_10ASTContextEPPNS_4StmtEj", "clang::CompoundStmt::setStmts(clang::ASTContext&, clang::Stmt**, unsigned int)"},
-    {"_ZNK5clang9LabelStmt7getNameEv", "clang::LabelStmt::getName() const"},
-    {"_ZNK5clang4Stmt22hasImplicitControlFlowEv", "clang::Stmt::hasImplicitControlFlow() const"},
-    {"_ZN5clang7AsmStmt13getOutputExprEj", "clang::AsmStmt::getOutputExpr(unsigned int)"},
-    {"_ZNK5clang7AsmStmt19getOutputConstraintEj", "clang::AsmStmt::getOutputConstraint(unsigned int) const"},
-    {"_ZNK5clang7AsmStmt18getNumPlusOperandsEv", "clang::AsmStmt::getNumPlusOperands() const"},
-    {"_ZN5clang7AsmStmt12getInputExprEj", "clang::AsmStmt::getInputExpr(unsigned int)"},
-    {"_ZNK5clang7AsmStmt18getInputConstraintEj", "clang::AsmStmt::getInputConstraint(unsigned int) const"},
-    {"_ZN5clang7AsmStmt30setOutputsAndInputsAndClobbersERNS_10ASTContextEPPNS_14IdentifierInfoEPPNS_13StringLiteralEPPNS_4StmtEjjS8_j", "clang::AsmStmt::setOutputsAndInputsAndClobbers(clang::ASTContext&, clang::IdentifierInfo**, clang::StringLiteral**, clang::Stmt**, unsigned int, unsigned int, clang::StringLiteral**, unsigned int)"},
-    {"_ZNK5clang7AsmStmt15getNamedOperandEN4llvm9StringRefE", "clang::AsmStmt::getNamedOperand(llvm::StringRef) const"},
-    {"_ZNK5clang7AsmStmt16AnalyzeAsmStringERN4llvm15SmallVectorImplINS0_14AsmStringPieceEEERNS_10ASTContextERj", "clang::AsmStmt::AnalyzeAsmString(llvm::SmallVectorImpl<clang::AsmStmt::AsmStringPiece>&, clang::ASTContext&, unsigned int&) const"},
-    {"_ZNK5clang12CXXCatchStmt13getCaughtTypeEv", "clang::CXXCatchStmt::getCaughtType() const"},
-    {"_ZN5clang7AsmStmtC1ERNS_10ASTContextENS_14SourceLocationEbbbjjPPNS_14IdentifierInfoEPPNS_13StringLiteralEPPNS_4ExprES8_jS9_S3_", "clang::AsmStmt::AsmStmt(clang::ASTContext&, clang::SourceLocation, bool, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, clang::StringLiteral**, clang::Expr**, clang::StringLiteral*, unsigned int, clang::StringLiteral**, clang::SourceLocation)"},
-    {"_ZN5clang7AsmStmtC2ERNS_10ASTContextENS_14SourceLocationEbbbjjPPNS_14IdentifierInfoEPPNS_13StringLiteralEPPNS_4ExprES8_jS9_S3_", "clang::AsmStmt::AsmStmt(clang::ASTContext&, clang::SourceLocation, bool, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, clang::StringLiteral**, clang::Expr**, clang::StringLiteral*, unsigned int, clang::StringLiteral**, clang::SourceLocation)"},
-    {"_ZN5clang21ObjCForCollectionStmtC1EPNS_4StmtEPNS_4ExprES2_NS_14SourceLocationES5_", "clang::ObjCForCollectionStmt::ObjCForCollectionStmt(clang::Stmt*, clang::Expr*, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang21ObjCForCollectionStmtC2EPNS_4StmtEPNS_4ExprES2_NS_14SourceLocationES5_", "clang::ObjCForCollectionStmt::ObjCForCollectionStmt(clang::Stmt*, clang::Expr*, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang13ObjCAtTryStmtC1ENS_14SourceLocationEPNS_4StmtEPS3_jS3_", "clang::ObjCAtTryStmt::ObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, clang::Stmt**, unsigned int, clang::Stmt*)"},
-    {"_ZN5clang13ObjCAtTryStmtC2ENS_14SourceLocationEPNS_4StmtEPS3_jS3_", "clang::ObjCAtTryStmt::ObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, clang::Stmt**, unsigned int, clang::Stmt*)"},
-    {"_ZN5clang13ObjCAtTryStmt6CreateERNS_10ASTContextENS_14SourceLocationEPNS_4StmtEPS5_jS5_", "clang::ObjCAtTryStmt::Create(clang::ASTContext&, clang::SourceLocation, clang::Stmt*, clang::Stmt**, unsigned int, clang::Stmt*)"},
-    {"_ZN5clang13ObjCAtTryStmt11CreateEmptyERNS_10ASTContextEjb", "clang::ObjCAtTryStmt::CreateEmpty(clang::ASTContext&, unsigned int, bool)"},
-    {"_ZN5clang10CXXTryStmt6CreateERNS_10ASTContextENS_14SourceLocationEPNS_4StmtEPS5_j", "clang::CXXTryStmt::Create(clang::ASTContext&, clang::SourceLocation, clang::Stmt*, clang::Stmt**, unsigned int)"},
-    {"_ZN5clang10CXXTryStmtC1ENS_14SourceLocationEPNS_4StmtEPS3_j", "clang::CXXTryStmt::CXXTryStmt(clang::SourceLocation, clang::Stmt*, clang::Stmt**, unsigned int)"},
-    {"_ZN5clang10CXXTryStmt6CreateERNS_10ASTContextENS_4Stmt10EmptyShellEj", "clang::CXXTryStmt::Create(clang::ASTContext&, clang::Stmt::EmptyShell, unsigned int)"},
-    {"_ZN5clang10CXXTryStmtC2ENS_14SourceLocationEPNS_4StmtEPS3_j", "clang::CXXTryStmt::CXXTryStmt(clang::SourceLocation, clang::Stmt*, clang::Stmt**, unsigned int)"},
-    {"_ZN5clang6IfStmtC1ERNS_10ASTContextENS_14SourceLocationEPNS_7VarDeclEPNS_4ExprEPNS_4StmtES3_S9_", "clang::IfStmt::IfStmt(clang::ASTContext&, clang::SourceLocation, clang::VarDecl*, clang::Expr*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)"},
-    {"_ZN5clang6IfStmtC2ERNS_10ASTContextENS_14SourceLocationEPNS_7VarDeclEPNS_4ExprEPNS_4StmtES3_S9_", "clang::IfStmt::IfStmt(clang::ASTContext&, clang::SourceLocation, clang::VarDecl*, clang::Expr*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)"},
-    {"_ZN5clang6IfStmt20setConditionVariableERNS_10ASTContextEPNS_7VarDeclE", "clang::IfStmt::setConditionVariable(clang::ASTContext&, clang::VarDecl*)"},
-    {"_ZNK5clang6IfStmt20getConditionVariableEv", "clang::IfStmt::getConditionVariable() const"},
-    {"_ZN5clang7ForStmtC1ERNS_10ASTContextEPNS_4StmtEPNS_4ExprEPNS_7VarDeclES6_S4_NS_14SourceLocationES9_S9_", "clang::ForStmt::ForStmt(clang::ASTContext&, clang::Stmt*, clang::Expr*, clang::VarDecl*, clang::Expr*, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang7ForStmtC2ERNS_10ASTContextEPNS_4StmtEPNS_4ExprEPNS_7VarDeclES6_S4_NS_14SourceLocationES9_S9_", "clang::ForStmt::ForStmt(clang::ASTContext&, clang::Stmt*, clang::Expr*, clang::VarDecl*, clang::Expr*, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang7ForStmt20setConditionVariableERNS_10ASTContextEPNS_7VarDeclE", "clang::ForStmt::setConditionVariable(clang::ASTContext&, clang::VarDecl*)"},
-    {"_ZNK5clang7ForStmt20getConditionVariableEv", "clang::ForStmt::getConditionVariable() const"},
-    {"_ZN5clang10SwitchStmtC1ERNS_10ASTContextEPNS_7VarDeclEPNS_4ExprE", "clang::SwitchStmt::SwitchStmt(clang::ASTContext&, clang::VarDecl*, clang::Expr*)"},
-    {"_ZN5clang10SwitchStmtC2ERNS_10ASTContextEPNS_7VarDeclEPNS_4ExprE", "clang::SwitchStmt::SwitchStmt(clang::ASTContext&, clang::VarDecl*, clang::Expr*)"},
-    {"_ZN5clang10SwitchStmt20setConditionVariableERNS_10ASTContextEPNS_7VarDeclE", "clang::SwitchStmt::setConditionVariable(clang::ASTContext&, clang::VarDecl*)"},
-    {"_ZNK5clang10SwitchStmt20getConditionVariableEv", "clang::SwitchStmt::getConditionVariable() const"},
-    {"_ZN5clang10SwitchCase10getSubStmtEv", "clang::SwitchCase::getSubStmt()"},
-    {"_ZN5clang9WhileStmtC1ERNS_10ASTContextEPNS_7VarDeclEPNS_4ExprEPNS_4StmtENS_14SourceLocationE", "clang::WhileStmt::WhileStmt(clang::ASTContext&, clang::VarDecl*, clang::Expr*, clang::Stmt*, clang::SourceLocation)"},
-    {"_ZN5clang9WhileStmtC2ERNS_10ASTContextEPNS_7VarDeclEPNS_4ExprEPNS_4StmtENS_14SourceLocationE", "clang::WhileStmt::WhileStmt(clang::ASTContext&, clang::VarDecl*, clang::Expr*, clang::Stmt*, clang::SourceLocation)"},
-    {"_ZN5clang9WhileStmt20setConditionVariableERNS_10ASTContextEPNS_7VarDeclE", "clang::WhileStmt::setConditionVariable(clang::ASTContext&, clang::VarDecl*)"},
-    {"_ZNK5clang9WhileStmt20getConditionVariableEv", "clang::WhileStmt::getConditionVariable() const"},
-    {"_ZN5clang16IndirectGotoStmt17getConstantTargetEv", "clang::IndirectGotoStmt::getConstantTarget()"},
-    {"_ZNK5clang10ReturnStmt11getRetValueEv", "clang::ReturnStmt::getRetValue() const"},
-    {"_ZN5clang10ReturnStmt11getRetValueEv", "clang::ReturnStmt::getRetValue()"},
-    {"_ZN5clang8DeclStmt8childrenEv", "clang::DeclStmt::children()"},
-    {"_ZNK5clang27CXXDependentScopeMemberExpr14getSourceRangeEv", "clang::CXXDependentScopeMemberExpr::getSourceRange() const"},
-    {"_ZNK5clang10MemberExpr14getSourceRangeEv", "clang::MemberExpr::getSourceRange() const"},
-    {"_ZNK5clang20UnresolvedMemberExpr14getSourceRangeEv", "clang::UnresolvedMemberExpr::getSourceRange() const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang7AsmStmt14AsmStringPieceELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::AsmStmt::AsmStringPiece, false>::grow(unsigned long)"},
-    {"_ZNK5clang4Stmt4dumpERNS_13SourceManagerE", "clang::Stmt::dump(clang::SourceManager&) const"},
-    {"_ZNK5clang4Stmt4dumpERN4llvm11raw_ostreamERNS_13SourceManagerE", "clang::Stmt::dump(llvm::raw_ostream&, clang::SourceManager&) const"},
-    {"_ZN12_GLOBAL__N_110StmtDumper11DumpSubTreeEPN5clang4StmtE", "(anonymous namespace)::StmtDumper::DumpSubTree(clang::Stmt*)"},
-    {"_ZNK5clang4Stmt4dumpEv", "clang::Stmt::dump() const"},
-    {"_ZNK5clang4Stmt7dumpAllERNS_13SourceManagerE", "clang::Stmt::dumpAll(clang::SourceManager&) const"},
-    {"_ZNK5clang4Stmt7dumpAllEv", "clang::Stmt::dumpAll() const"},
-    {"_ZN12_GLOBAL__N_110StmtDumper13VisitDeclStmtEPN5clang8DeclStmtE", "(anonymous namespace)::StmtDumper::VisitDeclStmt(clang::DeclStmt*)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_110StmtDumperEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::StmtDumper, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper19VisitBinaryOperatorEPN5clang14BinaryOperatorE", "(anonymous namespace)::StmtDumper::VisitBinaryOperator(clang::BinaryOperator*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper27VisitCompoundAssignOperatorEPN5clang22CompoundAssignOperatorE", "(anonymous namespace)::StmtDumper::VisitCompoundAssignOperator(clang::CompoundAssignOperator*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper21VisitCXXConstructExprEPN5clang16CXXConstructExprE", "(anonymous namespace)::StmtDumper::VisitCXXConstructExpr(clang::CXXConstructExpr*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper18VisitUnaryOperatorEPN5clang13UnaryOperatorE", "(anonymous namespace)::StmtDumper::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper8DumpStmtEPKN5clang4StmtE", "(anonymous namespace)::StmtDumper::DumpStmt(clang::Stmt const*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper12DumpLocationEN5clang14SourceLocationE", "(anonymous namespace)::StmtDumper::DumpLocation(clang::SourceLocation)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper14DumpDeclaratorEPN5clang4DeclE", "(anonymous namespace)::StmtDumper::DumpDeclarator(clang::Decl*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper8DumpExprEPKN5clang4ExprE", "(anonymous namespace)::StmtDumper::DumpExpr(clang::Expr const*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper8DumpTypeEN5clang8QualTypeE", "(anonymous namespace)::StmtDumper::DumpType(clang::QualType)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper11DumpDeclRefEPN5clang4DeclE", "(anonymous namespace)::StmtDumper::DumpDeclRef(clang::Decl*)"},
-    {"_Z12DumpBasePathRN4llvm11raw_ostreamEPN5clang8CastExprE", "DumpBasePath(llvm::raw_ostream&, clang::CastExpr*)"},
-    {"_ZN12_GLOBAL__N_110StmtDumper21VisitCXXNamedCastExprEPN5clang16CXXNamedCastExprE", "(anonymous namespace)::StmtDumper::VisitCXXNamedCastExpr(clang::CXXNamedCastExpr*)"},
-    {"_ZN5clang16StmtIteratorBase6NextVAEv", "clang::StmtIteratorBase::NextVA()"},
-    {"_ZN5clang16StmtIteratorBase8NextDeclEb", "clang::StmtIteratorBase::NextDecl(bool)"},
-    {"_ZN5clang16StmtIteratorBase10HandleDeclEPNS_4DeclE", "clang::StmtIteratorBase::HandleDecl(clang::Decl*)"},
-    {"_ZN5clang16StmtIteratorBaseC1EPNS_4DeclEPPNS_4StmtE", "clang::StmtIteratorBase::StmtIteratorBase(clang::Decl*, clang::Stmt**)"},
-    {"_ZN5clang16StmtIteratorBaseC2EPNS_4DeclEPPNS_4StmtE", "clang::StmtIteratorBase::StmtIteratorBase(clang::Decl*, clang::Stmt**)"},
-    {"_ZN5clang16StmtIteratorBaseC1EPPNS_4DeclES3_", "clang::StmtIteratorBase::StmtIteratorBase(clang::Decl**, clang::Decl**)"},
-    {"_ZN5clang16StmtIteratorBaseC2EPPNS_4DeclES3_", "clang::StmtIteratorBase::StmtIteratorBase(clang::Decl**, clang::Decl**)"},
-    {"_ZN5clang16StmtIteratorBaseC1EPKNS_17VariableArrayTypeE", "clang::StmtIteratorBase::StmtIteratorBase(clang::VariableArrayType const*)"},
-    {"_ZN5clang16StmtIteratorBaseC2EPKNS_17VariableArrayTypeE", "clang::StmtIteratorBase::StmtIteratorBase(clang::VariableArrayType const*)"},
-    {"_ZNK5clang16StmtIteratorBase11GetDeclExprEv", "clang::StmtIteratorBase::GetDeclExpr() const"},
-    {"_ZNK5clang4Stmt10dumpPrettyERNS_10ASTContextE", "clang::Stmt::dumpPretty(clang::ASTContext&) const"},
-    {"_ZNK5clang4Stmt11printPrettyERN4llvm11raw_ostreamERNS_10ASTContextEPNS_13PrinterHelperERKNS_14PrintingPolicyEj", "clang::Stmt::printPretty(llvm::raw_ostream&, clang::ASTContext&, clang::PrinterHelper*, clang::PrintingPolicy const&, unsigned int) const"},
-    {"_ZN5clang13PrinterHelperD0Ev", "clang::PrinterHelper::~PrinterHelper()"},
-    {"_ZN5clang13PrinterHelperD1Ev", "clang::PrinterHelper::~PrinterHelper()"},
-    {"_ZN5clang13PrinterHelperD2Ev", "clang::PrinterHelper::~PrinterHelper()"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_111StmtPrinterEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::StmtPrinter, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter13VisitCallExprEPN5clang8CallExprE", "(anonymous namespace)::StmtPrinter::VisitCallExpr(clang::CallExpr*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter18VisitStringLiteralEPN5clang13StringLiteralE", "(anonymous namespace)::StmtPrinter::VisitStringLiteral(clang::StringLiteral*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter18VisitUnaryOperatorEPN5clang13UnaryOperatorE", "(anonymous namespace)::StmtPrinter::VisitUnaryOperator(clang::UnaryOperator*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter9PrintExprEPN5clang4ExprE", "(anonymous namespace)::StmtPrinter::PrintExpr(clang::Expr*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter9PrintStmtEPN5clang4StmtEi", "(anonymous namespace)::StmtPrinter::PrintStmt(clang::Stmt*, int)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter20PrintRawCompoundStmtEPN5clang12CompoundStmtE", "(anonymous namespace)::StmtPrinter::PrintRawCompoundStmt(clang::CompoundStmt*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter16PrintRawDeclStmtEPN5clang8DeclStmtE", "(anonymous namespace)::StmtPrinter::PrintRawDeclStmt(clang::DeclStmt*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter14PrintRawIfStmtEPN5clang6IfStmtE", "(anonymous namespace)::StmtPrinter::PrintRawIfStmt(clang::IfStmt*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter21VisitCXXNamedCastExprEPN5clang16CXXNamedCastExprE", "(anonymous namespace)::StmtPrinter::VisitCXXNamedCastExpr(clang::CXXNamedCastExpr*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter13PrintCallArgsEPN5clang8CallExprE", "(anonymous namespace)::StmtPrinter::PrintCallArgs(clang::CallExpr*)"},
-    {"_ZN12_GLOBAL__N_111StmtPrinter20PrintRawCXXCatchStmtEPN5clang12CXXCatchStmtE", "(anonymous namespace)::StmtPrinter::PrintRawCXXCatchStmt(clang::CXXCatchStmt*)"},
-    {"_ZN5clang4Stmt7ProfileERN4llvm16FoldingSetNodeIDERKNS_10ASTContextEb", "clang::Stmt::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&, bool)"},
-    {"_ZN5clang11StmtVisitorIN12_GLOBAL__N_112StmtProfilerEvE5VisitEPNS_4StmtE", "clang::StmtVisitor<(anonymous namespace)::StmtProfiler, void>::Visit(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_112StmtProfiler17VisitInitListExprEPN5clang12InitListExprE", "(anonymous namespace)::StmtProfiler::VisitInitListExpr(clang::InitListExpr*)"},
-    {"_ZN12_GLOBAL__N_112StmtProfiler9VisitStmtEPN5clang4StmtE", "(anonymous namespace)::StmtProfiler::VisitStmt(clang::Stmt*)"},
-    {"_ZN12_GLOBAL__N_112StmtProfiler9VisitDeclEPN5clang4DeclE", "(anonymous namespace)::StmtProfiler::VisitDecl(clang::Decl*)"},
-    {"_ZN12_GLOBAL__N_112StmtProfiler21VisitTemplateArgumentERKN5clang16TemplateArgumentE", "(anonymous namespace)::StmtProfiler::VisitTemplateArgument(clang::TemplateArgument const&)"},
-    {"_ZNK5clang4Stmt7viewASTEv", "clang::Stmt::viewAST() const"},
-    {"_ZN5clang16TemplateArgument14CreatePackCopyERNS_10ASTContextEPKS0_j", "clang::TemplateArgument::CreatePackCopy(clang::ASTContext&, clang::TemplateArgument const*, unsigned int)"},
-    {"_ZNK5clang16TemplateArgument11isDependentEv", "clang::TemplateArgument::isDependent() const"},
-    {"_ZNK5clang16TemplateArgument15isPackExpansionEv", "clang::TemplateArgument::isPackExpansion() const"},
-    {"_ZNK5clang16TemplateArgument31containsUnexpandedParameterPackEv", "clang::TemplateArgument::containsUnexpandedParameterPack() const"},
-    {"_ZNK5clang16TemplateArgument24getNumTemplateExpansionsEv", "clang::TemplateArgument::getNumTemplateExpansions() const"},
-    {"_ZNK5clang16TemplateArgument7ProfileERN4llvm16FoldingSetNodeIDERKNS_10ASTContextE", "clang::TemplateArgument::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&) const"},
-    {"_ZNK5clang16TemplateArgument18structurallyEqualsERKS0_", "clang::TemplateArgument::structurallyEquals(clang::TemplateArgument const&) const"},
-    {"_ZNK5clang16TemplateArgument23getPackExpansionPatternEv", "clang::TemplateArgument::getPackExpansionPattern() const"},
-    {"_ZNK5clang16TemplateArgument5printERKNS_14PrintingPolicyERN4llvm11raw_ostreamE", "clang::TemplateArgument::print(clang::PrintingPolicy const&, llvm::raw_ostream&) const"},
-    {"_ZN5clang23TemplateArgumentLocInfoC1Ev", "clang::TemplateArgumentLocInfo::TemplateArgumentLocInfo()"},
-    {"_ZN5clang23TemplateArgumentLocInfoC2Ev", "clang::TemplateArgumentLocInfo::TemplateArgumentLocInfo()"},
-    {"_ZNK5clang19TemplateArgumentLoc14getSourceRangeEv", "clang::TemplateArgumentLoc::getSourceRange() const"},
-    {"_ZNK5clang19TemplateArgumentLoc23getPackExpansionPatternERNS_14SourceLocationERN4llvm8OptionalIjEERNS_10ASTContextE", "clang::TemplateArgumentLoc::getPackExpansionPattern(clang::SourceLocation&, llvm::Optional<unsigned int>&, clang::ASTContext&) const"},
-    {"_ZN5clanglsERKNS_17DiagnosticBuilderERKNS_16TemplateArgumentE", "clang::operator<<(clang::DiagnosticBuilder const&, clang::TemplateArgument const&)"},
-    {"_ZNK5clang36SubstTemplateTemplateParmPackStorage15getArgumentPackEv", "clang::SubstTemplateTemplateParmPackStorage::getArgumentPack() const"},
-    {"_ZN5clang36SubstTemplateTemplateParmPackStorage7ProfileERN4llvm16FoldingSetNodeIDE", "clang::SubstTemplateTemplateParmPackStorage::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang36SubstTemplateTemplateParmPackStorage7ProfileERN4llvm16FoldingSetNodeIDERNS_10ASTContextEPNS_24TemplateTemplateParmDeclERKNS_16TemplateArgumentE", "clang::SubstTemplateTemplateParmPackStorage::Profile(llvm::FoldingSetNodeID&, clang::ASTContext&, clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)"},
-    {"_ZNK5clang12TemplateName7getKindEv", "clang::TemplateName::getKind() const"},
-    {"_ZNK5clang12TemplateName17getAsTemplateDeclEv", "clang::TemplateName::getAsTemplateDecl() const"},
-    {"_ZNK5clang12TemplateName11isDependentEv", "clang::TemplateName::isDependent() const"},
-    {"_ZNK5clang12TemplateName31containsUnexpandedParameterPackEv", "clang::TemplateName::containsUnexpandedParameterPack() const"},
-    {"_ZNK5clang12TemplateName5printERN4llvm11raw_ostreamERKNS_14PrintingPolicyEb", "clang::TemplateName::print(llvm::raw_ostream&, clang::PrintingPolicy const&, bool) const"},
-    {"_ZN5clanglsERKNS_17DiagnosticBuilderENS_12TemplateNameE", "clang::operator<<(clang::DiagnosticBuilder const&, clang::TemplateName)"},
-    {"_ZNK5clang12TemplateName4dumpEv", "clang::TemplateName::dump() const"},
-    {"_ZN5clang8QualType10isConstantES0_RNS_10ASTContextE", "clang::QualType::isConstant(clang::QualType, clang::ASTContext&)"},
-    {"_ZN5clang17ConstantArrayType20getNumAddressingBitsERNS_10ASTContextENS_8QualTypeERKN4llvm5APIntE", "clang::ConstantArrayType::getNumAddressingBits(clang::ASTContext&, clang::QualType, llvm::APInt const&)"},
-    {"_ZN5clang17ConstantArrayType14getMaxSizeBitsERNS_10ASTContextE", "clang::ConstantArrayType::getMaxSizeBits(clang::ASTContext&)"},
-    {"_ZN5clang23DependentSizedArrayTypeC1ERKNS_10ASTContextENS_8QualTypeES4_PNS_4ExprENS_9ArrayType17ArraySizeModifierEjNS_11SourceRangeE", "clang::DependentSizedArrayType::DependentSizedArrayType(clang::ASTContext const&, clang::QualType, clang::QualType, clang::Expr*, clang::ArrayType::ArraySizeModifier, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang23DependentSizedArrayTypeC2ERKNS_10ASTContextENS_8QualTypeES4_PNS_4ExprENS_9ArrayType17ArraySizeModifierEjNS_11SourceRangeE", "clang::DependentSizedArrayType::DependentSizedArrayType(clang::ASTContext const&, clang::QualType, clang::QualType, clang::Expr*, clang::ArrayType::ArraySizeModifier, unsigned int, clang::SourceRange)"},
-    {"_ZN5clang23DependentSizedArrayType7ProfileERN4llvm16FoldingSetNodeIDERKNS_10ASTContextENS_8QualTypeENS_9ArrayType17ArraySizeModifierEjPNS_4ExprE", "clang::DependentSizedArrayType::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&, clang::QualType, clang::ArrayType::ArraySizeModifier, unsigned int, clang::Expr*)"},
-    {"_ZN5clang27DependentSizedExtVectorTypeC1ERKNS_10ASTContextENS_8QualTypeES4_PNS_4ExprENS_14SourceLocationE", "clang::DependentSizedExtVectorType::DependentSizedExtVectorType(clang::ASTContext const&, clang::QualType, clang::QualType, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang27DependentSizedExtVectorTypeC2ERKNS_10ASTContextENS_8QualTypeES4_PNS_4ExprENS_14SourceLocationE", "clang::DependentSizedExtVectorType::DependentSizedExtVectorType(clang::ASTContext const&, clang::QualType, clang::QualType, clang::Expr*, clang::SourceLocation)"},
-    {"_ZN5clang27DependentSizedExtVectorType7ProfileERN4llvm16FoldingSetNodeIDERKNS_10ASTContextENS_8QualTypeEPNS_4ExprE", "clang::DependentSizedExtVectorType::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&, clang::QualType, clang::Expr*)"},
-    {"_ZN5clang10VectorTypeC1ENS_8QualTypeEjS1_NS0_10VectorKindE", "clang::VectorType::VectorType(clang::QualType, unsigned int, clang::QualType, clang::VectorType::VectorKind)"},
-    {"_ZN5clang10VectorTypeC2ENS_8QualTypeEjS1_NS0_10VectorKindE", "clang::VectorType::VectorType(clang::QualType, unsigned int, clang::QualType, clang::VectorType::VectorKind)"},
-    {"_ZN5clang10VectorTypeC1ENS_4Type9TypeClassENS_8QualTypeEjS3_NS0_10VectorKindE", "clang::VectorType::VectorType(clang::Type::TypeClass, clang::QualType, unsigned int, clang::QualType, clang::VectorType::VectorKind)"},
-    {"_ZN5clang10VectorTypeC2ENS_4Type9TypeClassENS_8QualTypeEjS3_NS0_10VectorKindE", "clang::VectorType::VectorType(clang::Type::TypeClass, clang::QualType, unsigned int, clang::QualType, clang::VectorType::VectorKind)"},
-    {"_ZNK5clang4Type29getArrayElementTypeNoTypeQualEv", "clang::Type::getArrayElementTypeNoTypeQual() const"},
-    {"_ZNK5clang4Type27getUnqualifiedDesugaredTypeEv", "clang::Type::getUnqualifiedDesugaredType() const"},
-    {"_ZN5clang8QualType16getDesugaredTypeES0_RKNS_10ASTContextE", "clang::QualType::getDesugaredType(clang::QualType, clang::ASTContext const&)"},
-    {"_ZN5clang8QualType21getSplitDesugaredTypeES0_", "clang::QualType::getSplitDesugaredType(clang::QualType)"},
-    {"_ZNK5clang11TypedefType7desugarEv", "clang::TypedefType::desugar() const"},
-    {"_ZNK5clang14TypeOfExprType7desugarEv", "clang::TypeOfExprType::desugar() const"},
-    {"_ZN5clang8QualType27getSplitUnqualifiedTypeImplES0_", "clang::QualType::getSplitUnqualifiedTypeImpl(clang::QualType)"},
-    {"_ZN5clang8QualType12IgnoreParensES0_", "clang::QualType::IgnoreParens(clang::QualType)"},
-    {"_ZNK5clang4Type10isVoidTypeEv", "clang::Type::isVoidType() const"},
-    {"_ZNK5clang4Type13isDerivedTypeEv", "clang::Type::isDerivedType() const"},
-    {"_ZNK5clang4Type11isClassTypeEv", "clang::Type::isClassType() const"},
-    {"_ZNK5clang4Type15isStructureTypeEv", "clang::Type::isStructureType() const"},
-    {"_ZNK5clang4Type22isStructureOrClassTypeEv", "clang::Type::isStructureOrClassType() const"},
-    {"_ZNK5clang4Type17isVoidPointerTypeEv", "clang::Type::isVoidPointerType() const"},
-    {"_ZNK5clang4Type11isUnionTypeEv", "clang::Type::isUnionType() const"},
-    {"_ZNK5clang4Type13isComplexTypeEv", "clang::Type::isComplexType() const"},
-    {"_ZNK5clang4Type14isFloatingTypeEv", "clang::Type::isFloatingType() const"},
-    {"_ZNK5clang4Type20isComplexIntegerTypeEv", "clang::Type::isComplexIntegerType() const"},
-    {"_ZNK5clang4Type23getAsComplexIntegerTypeEv", "clang::Type::getAsComplexIntegerType() const"},
-    {"_ZNK5clang4Type13isIntegerTypeEv", "clang::Type::isIntegerType() const"},
-    {"_ZNK5clang4Type14getPointeeTypeEv", "clang::Type::getPointeeType() const"},
-    {"_ZNK5clang4Type18getAsStructureTypeEv", "clang::Type::getAsStructureType() const"},
-    {"_ZNK5clang4Type14getAsUnionTypeEv", "clang::Type::getAsUnionType() const"},
-    {"_ZN5clang14ObjCObjectTypeC1ENS_8QualTypeES1_PKPNS_16ObjCProtocolDeclEj", "clang::ObjCObjectType::ObjCObjectType(clang::QualType, clang::QualType, clang::ObjCProtocolDecl* const*, unsigned int)"},
-    {"_ZN5clang14ObjCObjectTypeC2ENS_8QualTypeES1_PKPNS_16ObjCProtocolDeclEj", "clang::ObjCObjectType::ObjCObjectType(clang::QualType, clang::QualType, clang::ObjCProtocolDecl* const*, unsigned int)"},
-    {"_ZNK5clang4Type31getAsObjCQualifiedInterfaceTypeEv", "clang::Type::getAsObjCQualifiedInterfaceType() const"},
-    {"_ZNK5clang4Type28isObjCQualifiedInterfaceTypeEv", "clang::Type::isObjCQualifiedInterfaceType() const"},
-    {"_ZNK5clang4Type24getAsObjCQualifiedIdTypeEv", "clang::Type::getAsObjCQualifiedIdType() const"},
-    {"_ZNK5clang4Type29getAsObjCInterfacePointerTypeEv", "clang::Type::getAsObjCInterfacePointerType() const"},
-    {"_ZNK5clang4Type30getCXXRecordDeclForPointerTypeEv", "clang::Type::getCXXRecordDeclForPointerType() const"},
-    {"_ZNK5clang4Type18getAsCXXRecordDeclEv", "clang::Type::getAsCXXRecordDecl() const"},
-    {"_ZNK5clang21InjectedClassNameType7getDeclEv", "clang::InjectedClassNameType::getDecl() const"},
-    {"_ZNK5clang4Type24hasIntegerRepresentationEv", "clang::Type::hasIntegerRepresentation() const"},
-    {"_ZNK5clang4Type14isIntegralTypeERNS_10ASTContextE", "clang::Type::isIntegralType(clang::ASTContext&) const"},
-    {"_ZNK5clang4Type27isIntegralOrEnumerationTypeEv", "clang::Type::isIntegralOrEnumerationType() const"},
-    {"_ZNK5clang4Type35isIntegralOrUnscopedEnumerationTypeEv", "clang::Type::isIntegralOrUnscopedEnumerationType() const"},
-    {"_ZNK5clang4Type13isBooleanTypeEv", "clang::Type::isBooleanType() const"},
-    {"_ZNK5clang4Type10isCharTypeEv", "clang::Type::isCharType() const"},
-    {"_ZNK5clang4Type14isWideCharTypeEv", "clang::Type::isWideCharType() const"},
-    {"_ZNK5clang4Type18isAnyCharacterTypeEv", "clang::Type::isAnyCharacterType() const"},
-    {"_ZNK5clang4Type19isSignedIntegerTypeEv", "clang::Type::isSignedIntegerType() const"},
-    {"_ZNK5clang4Type30hasSignedIntegerRepresentationEv", "clang::Type::hasSignedIntegerRepresentation() const"},
-    {"_ZNK5clang4Type21isUnsignedIntegerTypeEv", "clang::Type::isUnsignedIntegerType() const"},
-    {"_ZNK5clang4Type32hasUnsignedIntegerRepresentationEv", "clang::Type::hasUnsignedIntegerRepresentation() const"},
-    {"_ZNK5clang4Type25hasFloatingRepresentationEv", "clang::Type::hasFloatingRepresentation() const"},
-    {"_ZNK5clang4Type18isRealFloatingTypeEv", "clang::Type::isRealFloatingType() const"},
-    {"_ZNK5clang4Type10isRealTypeEv", "clang::Type::isRealType() const"},
-    {"_ZNK5clang4Type16isArithmeticTypeEv", "clang::Type::isArithmeticType() const"},
-    {"_ZNK5clang4Type12isScalarTypeEv", "clang::Type::isScalarType() const"},
-    {"_ZNK5clang4Type17getScalarTypeKindEv", "clang::Type::getScalarTypeKind() const"},
-    {"_ZNK5clang4Type15isAggregateTypeEv", "clang::Type::isAggregateType() const"},
-    {"_ZNK5clang4Type18isConstantSizeTypeEv", "clang::Type::isConstantSizeType() const"},
-    {"_ZNK5clang4Type16isIncompleteTypeEv", "clang::Type::isIncompleteType() const"},
-    {"_ZNK5clang7TagType7getDeclEv", "clang::TagType::getDecl() const"},
-    {"_ZNK5clang4Type9isPODTypeEv", "clang::Type::isPODType() const"},
-    {"_ZNK5clang4Type13isLiteralTypeEv", "clang::Type::isLiteralType() const"},
-    {"_ZNK5clang4Type23isPromotableIntegerTypeEv", "clang::Type::isPromotableIntegerType() const"},
-    {"_ZNK5clang4Type13isNullPtrTypeEv", "clang::Type::isNullPtrType() const"},
-    {"_ZNK5clang4Type15isSpecifierTypeEv", "clang::Type::isSpecifierType() const"},
-    {"_ZN5clang15TypeWithKeyword21getKeywordForTypeSpecEj", "clang::TypeWithKeyword::getKeywordForTypeSpec(unsigned int)"},
-    {"_ZN5clang15TypeWithKeyword25getTagTypeKindForTypeSpecEj", "clang::TypeWithKeyword::getTagTypeKindForTypeSpec(unsigned int)"},
-    {"_ZN5clang15TypeWithKeyword24getKeywordForTagTypeKindENS_11TagTypeKindE", "clang::TypeWithKeyword::getKeywordForTagTypeKind(clang::TagTypeKind)"},
-    {"_ZN5clang15TypeWithKeyword24getTagTypeKindForKeywordENS_21ElaboratedTypeKeywordE", "clang::TypeWithKeyword::getTagTypeKindForKeyword(clang::ElaboratedTypeKeyword)"},
-    {"_ZN5clang15TypeWithKeyword20KeywordIsTagTypeKindENS_21ElaboratedTypeKeywordE", "clang::TypeWithKeyword::KeywordIsTagTypeKind(clang::ElaboratedTypeKeyword)"},
-    {"_ZN5clang15TypeWithKeyword14getKeywordNameENS_21ElaboratedTypeKeywordE", "clang::TypeWithKeyword::getKeywordName(clang::ElaboratedTypeKeyword)"},
-    {"_ZN5clang35DependentTemplateSpecializationTypeC1ENS_21ElaboratedTypeKeywordEPNS_19NestedNameSpecifierEPKNS_14IdentifierInfoEjPKNS_16TemplateArgumentENS_8QualTypeE", "clang::DependentTemplateSpecializationType::DependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifier*, clang::IdentifierInfo const*, unsigned int, clang::TemplateArgument const*, clang::QualType)"},
-    {"_ZN5clang35DependentTemplateSpecializationTypeC2ENS_21ElaboratedTypeKeywordEPNS_19NestedNameSpecifierEPKNS_14IdentifierInfoEjPKNS_16TemplateArgumentENS_8QualTypeE", "clang::DependentTemplateSpecializationType::DependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifier*, clang::IdentifierInfo const*, unsigned int, clang::TemplateArgument const*, clang::QualType)"},
-    {"_ZN5clang35DependentTemplateSpecializationType7ProfileERN4llvm16FoldingSetNodeIDERKNS_10ASTContextENS_21ElaboratedTypeKeywordEPNS_19NestedNameSpecifierEPKNS_14IdentifierInfoEjPKNS_16TemplateArgumentE", "clang::DependentTemplateSpecializationType::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifier*, clang::IdentifierInfo const*, unsigned int, clang::TemplateArgument const*)"},
-    {"_ZNK5clang4Type25isElaboratedTypeSpecifierEv", "clang::Type::isElaboratedTypeSpecifier() const"},
-    {"_ZNK5clang4Type16getTypeClassNameEv", "clang::Type::getTypeClassName() const"},
-    {"_ZNK5clang11BuiltinType7getNameERKNS_11LangOptionsE", "clang::BuiltinType::getName(clang::LangOptions const&) const"},
-    {"_ZNK5clang8QualType20getNonLValueExprTypeERNS_10ASTContextE", "clang::QualType::getNonLValueExprType(clang::ASTContext&) const"},
-    {"_ZN5clang12FunctionType18getNameForCallConvENS_11CallingConvE", "clang::FunctionType::getNameForCallConv(clang::CallingConv)"},
-    {"_ZN5clang17FunctionProtoTypeC1ENS_8QualTypeEPKS1_jS1_RKNS0_12ExtProtoInfoE", "clang::FunctionProtoType::FunctionProtoType(clang::QualType, clang::QualType const*, unsigned int, clang::QualType, clang::FunctionProtoType::ExtProtoInfo const&)"},
-    {"_ZN5clang17FunctionProtoTypeC2ENS_8QualTypeEPKS1_jS1_RKNS0_12ExtProtoInfoE", "clang::FunctionProtoType::FunctionProtoType(clang::QualType, clang::QualType const*, unsigned int, clang::QualType, clang::FunctionProtoType::ExtProtoInfo const&)"},
-    {"_ZNK5clang17FunctionProtoType18isTemplateVariadicEv", "clang::FunctionProtoType::isTemplateVariadic() const"},
-    {"_ZN5clang17FunctionProtoType7ProfileERN4llvm16FoldingSetNodeIDENS_8QualTypeEPKS4_jRKNS0_12ExtProtoInfoE", "clang::FunctionProtoType::Profile(llvm::FoldingSetNodeID&, clang::QualType, clang::QualType const*, unsigned int, clang::FunctionProtoType::ExtProtoInfo const&)"},
-    {"_ZN5clang17FunctionProtoType7ProfileERN4llvm16FoldingSetNodeIDE", "clang::FunctionProtoType::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang14TypeOfExprTypeC1EPNS_4ExprENS_8QualTypeE", "clang::TypeOfExprType::TypeOfExprType(clang::Expr*, clang::QualType)"},
-    {"_ZN5clang14TypeOfExprTypeC2EPNS_4ExprENS_8QualTypeE", "clang::TypeOfExprType::TypeOfExprType(clang::Expr*, clang::QualType)"},
-    {"_ZN5clang23DependentTypeOfExprType7ProfileERN4llvm16FoldingSetNodeIDERKNS_10ASTContextEPNS_4ExprE", "clang::DependentTypeOfExprType::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&, clang::Expr*)"},
-    {"_ZN5clang12DecltypeTypeC1EPNS_4ExprENS_8QualTypeES3_", "clang::DecltypeType::DecltypeType(clang::Expr*, clang::QualType, clang::QualType)"},
-    {"_ZN5clang12DecltypeTypeC2EPNS_4ExprENS_8QualTypeES3_", "clang::DecltypeType::DecltypeType(clang::Expr*, clang::QualType, clang::QualType)"},
-    {"_ZN5clang21DependentDecltypeTypeC1ERKNS_10ASTContextEPNS_4ExprE", "clang::DependentDecltypeType::DependentDecltypeType(clang::ASTContext const&, clang::Expr*)"},
-    {"_ZN5clang21DependentDecltypeTypeC2ERKNS_10ASTContextEPNS_4ExprE", "clang::DependentDecltypeType::DependentDecltypeType(clang::ASTContext const&, clang::Expr*)"},
-    {"_ZN5clang21DependentDecltypeType7ProfileERN4llvm16FoldingSetNodeIDERKNS_10ASTContextEPNS_4ExprE", "clang::DependentDecltypeType::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&, clang::Expr*)"},
-    {"_ZN5clang7TagTypeC1ENS_4Type9TypeClassEPKNS_7TagDeclENS_8QualTypeE", "clang::TagType::TagType(clang::Type::TypeClass, clang::TagDecl const*, clang::QualType)"},
-    {"_ZN5clang7TagTypeC2ENS_4Type9TypeClassEPKNS_7TagDeclENS_8QualTypeE", "clang::TagType::TagType(clang::Type::TypeClass, clang::TagDecl const*, clang::QualType)"},
-    {"_ZNK5clang7TagType14isBeingDefinedEv", "clang::TagType::isBeingDefined() const"},
-    {"_ZN5clang10RecordType7classofEPKNS_7TagTypeE", "clang::RecordType::classof(clang::TagType const*)"},
-    {"_ZN5clang8EnumType7classofEPKNS_7TagTypeE", "clang::EnumType::classof(clang::TagType const*)"},
-    {"_ZN5clang29SubstTemplateTypeParmPackTypeC1EPKNS_20TemplateTypeParmTypeENS_8QualTypeERKNS_16TemplateArgumentE", "clang::SubstTemplateTypeParmPackType::SubstTemplateTypeParmPackType(clang::TemplateTypeParmType const*, clang::QualType, clang::TemplateArgument const&)"},
-    {"_ZN5clang29SubstTemplateTypeParmPackTypeC2EPKNS_20TemplateTypeParmTypeENS_8QualTypeERKNS_16TemplateArgumentE", "clang::SubstTemplateTypeParmPackType::SubstTemplateTypeParmPackType(clang::TemplateTypeParmType const*, clang::QualType, clang::TemplateArgument const&)"},
-    {"_ZNK5clang29SubstTemplateTypeParmPackType15getArgumentPackEv", "clang::SubstTemplateTypeParmPackType::getArgumentPack() const"},
-    {"_ZN5clang29SubstTemplateTypeParmPackType7ProfileERN4llvm16FoldingSetNodeIDE", "clang::SubstTemplateTypeParmPackType::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZN5clang29SubstTemplateTypeParmPackType7ProfileERN4llvm16FoldingSetNodeIDEPKNS_20TemplateTypeParmTypeERKNS_16TemplateArgumentE", "clang::SubstTemplateTypeParmPackType::Profile(llvm::FoldingSetNodeID&, clang::TemplateTypeParmType const*, clang::TemplateArgument const&)"},
-    {"_ZN5clang26TemplateSpecializationType29anyDependentTemplateArgumentsERKNS_24TemplateArgumentListInfoE", "clang::TemplateSpecializationType::anyDependentTemplateArguments(clang::TemplateArgumentListInfo const&)"},
-    {"_ZN5clang26TemplateSpecializationType29anyDependentTemplateArgumentsEPKNS_19TemplateArgumentLocEj", "clang::TemplateSpecializationType::anyDependentTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int)"},
-    {"_ZN5clang26TemplateSpecializationType29anyDependentTemplateArgumentsEPKNS_16TemplateArgumentEj", "clang::TemplateSpecializationType::anyDependentTemplateArguments(clang::TemplateArgument const*, unsigned int)"},
-    {"_ZN5clang26TemplateSpecializationTypeC1ENS_12TemplateNameEPKNS_16TemplateArgumentEjNS_8QualTypeE", "clang::TemplateSpecializationType::TemplateSpecializationType(clang::TemplateName, clang::TemplateArgument const*, unsigned int, clang::QualType)"},
-    {"_ZN5clang26TemplateSpecializationTypeC2ENS_12TemplateNameEPKNS_16TemplateArgumentEjNS_8QualTypeE", "clang::TemplateSpecializationType::TemplateSpecializationType(clang::TemplateName, clang::TemplateArgument const*, unsigned int, clang::QualType)"},
-    {"_ZN5clang26TemplateSpecializationType7ProfileERN4llvm16FoldingSetNodeIDENS_12TemplateNameEPKNS_16TemplateArgumentEjRKNS_10ASTContextE", "clang::TemplateSpecializationType::Profile(llvm::FoldingSetNodeID&, clang::TemplateName, clang::TemplateArgument const*, unsigned int, clang::ASTContext const&)"},
-    {"_ZNK5clang18QualifierCollector5applyERKNS_10ASTContextENS_8QualTypeE", "clang::QualifierCollector::apply(clang::ASTContext const&, clang::QualType) const"},
-    {"_ZNK5clang18QualifierCollector5applyERKNS_10ASTContextEPKNS_4TypeE", "clang::QualifierCollector::apply(clang::ASTContext const&, clang::Type const*) const"},
-    {"_ZN5clang18ObjCObjectTypeImpl7ProfileERN4llvm16FoldingSetNodeIDENS_8QualTypeEPKPNS_16ObjCProtocolDeclEj", "clang::ObjCObjectTypeImpl::Profile(llvm::FoldingSetNodeID&, clang::QualType, clang::ObjCProtocolDecl* const*, unsigned int)"},
-    {"_ZN5clang18ObjCObjectTypeImpl7ProfileERN4llvm16FoldingSetNodeIDE", "clang::ObjCObjectTypeImpl::Profile(llvm::FoldingSetNodeID&)"},
-    {"_ZNK5clang4Type10getLinkageEv", "clang::Type::getLinkage() const"},
-    {"_ZN5clang17TypePropertyCacheIN12_GLOBAL__N_17PrivateEE6ensureEPKNS_4TypeE", "clang::TypePropertyCache<(anonymous namespace)::Private>::ensure(clang::Type const*)"},
-    {"_ZNK5clang4Type13getVisibilityEv", "clang::Type::getVisibility() const"},
-    {"_ZNK5clang4Type21hasUnnamedOrLocalTypeEv", "clang::Type::hasUnnamedOrLocalType() const"},
-    {"_ZNK5clang4Type23getLinkageAndVisibilityEv", "clang::Type::getLinkageAndVisibility() const"},
-    {"_ZN5clang4Type17ClearLinkageCacheEv", "clang::Type::ClearLinkageCache()"},
-    {"_ZNK5clang4Type15hasSizedVLATypeEv", "clang::Type::hasSizedVLAType() const"},
-    {"_ZNK4llvm6APSInt6extendEj", "llvm::APSInt::extend(unsigned int) const"},
-    {"_ZN5clang7TypeLoc23getLocalSourceRangeImplES0_", "clang::TypeLoc::getLocalSourceRangeImpl(clang::TypeLoc)"},
-    {"_ZN5clang7TypeLoc22getFullDataSizeForTypeENS_8QualTypeE", "clang::TypeLoc::getFullDataSizeForType(clang::QualType)"},
-    {"_ZN5clang14TypeLocVisitorIN12_GLOBAL__N_19TypeSizerEjE5VisitENS_7TypeLocE", "clang::TypeLocVisitor<(anonymous namespace)::TypeSizer, unsigned int>::Visit(clang::TypeLoc)"},
-    {"_ZN5clang7TypeLoc18getNextTypeLocImplES0_", "clang::TypeLoc::getNextTypeLocImpl(clang::TypeLoc)"},
-    {"_ZN5clang7TypeLoc14initializeImplERNS_10ASTContextES0_NS_14SourceLocationE", "clang::TypeLoc::initializeImpl(clang::ASTContext&, clang::TypeLoc, clang::SourceLocation)"},
-    {"_ZNK5clang7TypeLoc11getBeginLocEv", "clang::TypeLoc::getBeginLoc() const"},
-    {"_ZNK5clang7TypeLoc9getEndLocEv", "clang::TypeLoc::getEndLoc() const"},
-    {"_ZN5clang15TypeSpecTypeLoc7classofEPKNS_7TypeLocE", "clang::TypeSpecTypeLoc::classof(clang::TypeLoc const*)"},
-    {"_ZNK5clang17TypeOfExprTypeLoc19getLocalSourceRangeEv", "clang::TypeOfExprTypeLoc::getLocalSourceRange() const"},
-    {"_ZNK5clang14BuiltinTypeLoc18getWrittenTypeSpecEv", "clang::BuiltinTypeLoc::getWrittenTypeSpec() const"},
-    {"_ZN5clang7TypeLoc16IgnoreParensImplES0_", "clang::TypeLoc::IgnoreParensImpl(clang::TypeLoc)"},
-    {"_ZN5clang29TemplateSpecializationTypeLoc17initializeArgLocsERNS_10ASTContextEjPKNS_16TemplateArgumentEPNS_23TemplateArgumentLocInfoENS_14SourceLocationE", "clang::TemplateSpecializationTypeLoc::initializeArgLocs(clang::ASTContext&, unsigned int, clang::TemplateArgument const*, clang::TemplateArgumentLocInfo*, clang::SourceLocation)"},
-    {"_ZN5clang29TemplateSpecializationTypeLoc15initializeLocalERNS_10ASTContextENS_14SourceLocationE", "clang::TemplateSpecializationTypeLoc::initializeLocal(clang::ASTContext&, clang::SourceLocation)"},
-    {"_ZN5clang38DependentTemplateSpecializationTypeLoc15initializeLocalERNS_10ASTContextENS_14SourceLocationE", "clang::DependentTemplateSpecializationTypeLoc::initializeLocal(clang::ASTContext&, clang::SourceLocation)"},
-    {"_ZN5clang26TemplateSpecializationType25PrintTemplateArgumentListERKNS_24TemplateArgumentListInfoERKNS_14PrintingPolicyE", "clang::TemplateSpecializationType::PrintTemplateArgumentList(clang::TemplateArgumentListInfo const&, clang::PrintingPolicy const&)"},
-    {"_ZN5clang26TemplateSpecializationType25PrintTemplateArgumentListEPKNS_19TemplateArgumentLocEjRKNS_14PrintingPolicyE", "clang::TemplateSpecializationType::PrintTemplateArgumentList(clang::TemplateArgumentLoc const*, unsigned int, clang::PrintingPolicy const&)"},
-    {"_ZN5clang26TemplateSpecializationType25PrintTemplateArgumentListEPKNS_16TemplateArgumentEjRKNS_14PrintingPolicyEb", "clang::TemplateSpecializationType::PrintTemplateArgumentList(clang::TemplateArgument const*, unsigned int, clang::PrintingPolicy const&, bool)"},
-    {"_ZNK5clang8QualType4dumpEPKc", "clang::QualType::dump(char const*) const"},
-    {"_ZNK5clang8QualType4dumpEv", "clang::QualType::dump() const"},
-    {"_ZNK5clang4Type4dumpEv", "clang::Type::dump() const"},
-    {"_ZNK5clang10Qualifiers11getAsStringEv", "clang::Qualifiers::getAsString() const"},
-    {"_ZNK5clang10Qualifiers19getAsStringInternalERSsRKNS_14PrintingPolicyE", "clang::Qualifiers::getAsStringInternal(std::string&, clang::PrintingPolicy const&) const"},
-    {"_Z18AppendTypeQualListRSsj", "AppendTypeQualList(std::string&, unsigned int)"},
-    {"_ZN5clang8QualType11getAsStringEPKNS_4TypeENS_10QualifiersE", "clang::QualType::getAsString(clang::Type const*, clang::Qualifiers)"},
-    {"_ZN5clang8QualType19getAsStringInternalEPKNS_4TypeENS_10QualifiersERSsRKNS_14PrintingPolicyE", "clang::QualType::getAsStringInternal(clang::Type const*, clang::Qualifiers, std::string&, clang::PrintingPolicy const&)"},
-    {"_ZN12_GLOBAL__N_111TypePrinter5printEPKN5clang4TypeENS1_10QualifiersERSs", "(anonymous namespace)::TypePrinter::print(clang::Type const*, clang::Qualifiers, std::string&)"},
-    {"_ZN12_GLOBAL__N_111TypePrinter21printTemplateTypeParmEPKN5clang20TemplateTypeParmTypeERSs", "(anonymous namespace)::TypePrinter::printTemplateTypeParm(clang::TemplateTypeParmType const*, std::string&)"},
-    {"_ZN12_GLOBAL__N_111TypePrinter27printTemplateSpecializationEPKN5clang26TemplateSpecializationTypeERSs", "(anonymous namespace)::TypePrinter::printTemplateSpecialization(clang::TemplateSpecializationType const*, std::string&)"},
-    {"_ZN12_GLOBAL__N_111TypePrinter8printTagEPN5clang7TagDeclERSs", "(anonymous namespace)::TypePrinter::printTag(clang::TagDecl*, std::string&)"},
-    {"_ZN12_GLOBAL__N_111TypePrinter11AppendScopeEPN5clang11DeclContextERSs", "(anonymous namespace)::TypePrinter::AppendScope(clang::DeclContext*, std::string&)"},
-    {"_Z13printTypeSpecPKN5clang9NamedDeclERSs", "printTypeSpec(clang::NamedDecl const*, std::string&)"},
-    {"_ZN5clang9HeaderMap6CreateEPKNS_9FileEntryERNS_11FileManagerE", "clang::HeaderMap::Create(clang::FileEntry const*, clang::FileManager&)"},
-    {"_ZN5clang9HeaderMapD1Ev", "clang::HeaderMap::~HeaderMap()"},
-    {"_ZN5clang9HeaderMapD2Ev", "clang::HeaderMap::~HeaderMap()"},
-    {"_ZNK5clang9HeaderMap11getFileNameEv", "clang::HeaderMap::getFileName() const"},
-    {"_ZNK5clang9HeaderMap21getEndianAdjustedWordEj", "clang::HeaderMap::getEndianAdjustedWord(unsigned int) const"},
-    {"_ZNK5clang9HeaderMap9getHeaderEv", "clang::HeaderMap::getHeader() const"},
-    {"_ZNK5clang9HeaderMap9getBucketEj", "clang::HeaderMap::getBucket(unsigned int) const"},
-    {"_ZNK5clang9HeaderMap9getStringEj", "clang::HeaderMap::getString(unsigned int) const"},
-    {"_ZNK5clang9HeaderMap4dumpEv", "clang::HeaderMap::dump() const"},
-    {"_ZNK5clang9HeaderMap10LookupFileEN4llvm9StringRefERNS_11FileManagerE", "clang::HeaderMap::LookupFile(llvm::StringRef, clang::FileManager&) const"},
-    {"_ZN5clang14HeaderFileInfo19getControllingMacroEPNS_24ExternalIdentifierLookupE", "clang::HeaderFileInfo::getControllingMacro(clang::ExternalIdentifierLookup*)"},
-    {"_ZN5clang12HeaderSearchC1ERNS_11FileManagerE", "clang::HeaderSearch::HeaderSearch(clang::FileManager&)"},
-    {"_ZN5clang12HeaderSearchC2ERNS_11FileManagerE", "clang::HeaderSearch::HeaderSearch(clang::FileManager&)"},
-    {"_ZN5clang12HeaderSearchD1Ev", "clang::HeaderSearch::~HeaderSearch()"},
-    {"_ZN5clang12HeaderSearchD2Ev", "clang::HeaderSearch::~HeaderSearch()"},
-    {"_ZN5clang12HeaderSearch10PrintStatsEv", "clang::HeaderSearch::PrintStats()"},
-    {"_ZN5clang12HeaderSearch15CreateHeaderMapEPKNS_9FileEntryE", "clang::HeaderSearch::CreateHeaderMap(clang::FileEntry const*)"},
-    {"_ZNK5clang15DirectoryLookup7getNameEv", "clang::DirectoryLookup::getName() const"},
-    {"_ZNK5clang15DirectoryLookup10LookupFileEN4llvm9StringRefERNS_12HeaderSearchE", "clang::DirectoryLookup::LookupFile(llvm::StringRef, clang::HeaderSearch&) const"},
-    {"_ZNK5clang15DirectoryLookup17DoFrameworkLookupEN4llvm9StringRefERNS_12HeaderSearchE", "clang::DirectoryLookup::DoFrameworkLookup(llvm::StringRef, clang::HeaderSearch&) const"},
-    {"_ZN5clang12HeaderSearch10LookupFileEN4llvm9StringRefEbPKNS_15DirectoryLookupERS5_PKNS_9FileEntryE", "clang::HeaderSearch::LookupFile(llvm::StringRef, bool, clang::DirectoryLookup const*, clang::DirectoryLookup const*&, clang::FileEntry const*)"},
-    {"_ZN5clang12HeaderSearch11getFileInfoEPKNS_9FileEntryE", "clang::HeaderSearch::getFileInfo(clang::FileEntry const*)"},
-    {"_ZN5clang12HeaderSearch24LookupSubframeworkHeaderEN4llvm9StringRefEPKNS_9FileEntryE", "clang::HeaderSearch::LookupSubframeworkHeader(llvm::StringRef, clang::FileEntry const*)"},
-    {"_ZN5clang12HeaderSearch23setHeaderFileInfoForUIDENS_14HeaderFileInfoEj", "clang::HeaderSearch::setHeaderFileInfoForUID(clang::HeaderFileInfo, unsigned int)"},
-    {"_ZN5clang12HeaderSearch22ShouldEnterIncludeFileEPKNS_9FileEntryEb", "clang::HeaderSearch::ShouldEnterIncludeFile(clang::FileEntry const*, bool)"},
-    {"_ZNSt6vectorIN5clang14HeaderFileInfoESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_", "std::vector<clang::HeaderFileInfo, std::allocator<clang::HeaderFileInfo> >::_M_fill_insert(__gnu_cxx::__normal_iterator<clang::HeaderFileInfo*, std::vector<clang::HeaderFileInfo, std::allocator<clang::HeaderFileInfo> > >, unsigned long, clang::HeaderFileInfo const&)"},
-    {"_ZN4llvm15SmallVectorImplIcEaSERKS1_", "llvm::SmallVectorImpl<char>::operator=(llvm::SmallVectorImpl<char> const&)"},
-    {"_ZN4llvm9StringMapISt4pairIjjENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<std::pair<unsigned int, unsigned int> >& llvm::StringMap<std::pair<unsigned int, unsigned int>, llvm::MallocAllocator>::GetOrCreateValue<std::pair<unsigned int, unsigned int> >(llvm::StringRef, std::pair<unsigned int, unsigned int>)"},
-    {"_ZNSt6vectorISt4pairIPKN5clang9FileEntryEPKNS1_9HeaderMapEESaIS8_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS8_SA_EERKS8_", "std::vector<std::pair<clang::FileEntry const*, clang::HeaderMap const*>, std::allocator<std::pair<clang::FileEntry const*, clang::HeaderMap const*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<clang::FileEntry const*, clang::HeaderMap const*>*, std::vector<std::pair<clang::FileEntry const*, clang::HeaderMap const*>, std::allocator<std::pair<clang::FileEntry const*, clang::HeaderMap const*> > > >, std::pair<clang::FileEntry const*, clang::HeaderMap const*> const&)"},
-    {"_ZN4llvm9StringMapIPKN5clang14DirectoryEntryENS_15MallocAllocatorEE16GetOrCreateValueIS4_EERNS_14StringMapEntryIS4_EENS_9StringRefET_", "llvm::StringMapEntry<clang::DirectoryEntry const*>& llvm::StringMap<clang::DirectoryEntry const*, llvm::MallocAllocator>::GetOrCreateValue<clang::DirectoryEntry const*>(llvm::StringRef, clang::DirectoryEntry const*)"},
-    {"_ZNK5clang5Token15isObjCAtKeywordENS_3tok15ObjCKeywordKindE", "clang::Token::isObjCAtKeyword(clang::tok::ObjCKeywordKind) const"},
-    {"_ZNK5clang5Token16getObjCKeywordIDEv", "clang::Token::getObjCKeywordID() const"},
-    {"_ZN5clang5Lexer9InitLexerEPKcS2_S2_", "clang::Lexer::InitLexer(char const*, char const*, char const*)"},
-    {"_ZN5clang5LexerC1ENS_6FileIDEPKN4llvm12MemoryBufferERNS_12PreprocessorE", "clang::Lexer::Lexer(clang::FileID, llvm::MemoryBuffer const*, clang::Preprocessor&)"},
-    {"_ZN5clang5LexerC2ENS_6FileIDEPKN4llvm12MemoryBufferERNS_12PreprocessorE", "clang::Lexer::Lexer(clang::FileID, llvm::MemoryBuffer const*, clang::Preprocessor&)"},
-    {"_ZN5clang5LexerC1ENS_14SourceLocationERKNS_11LangOptionsEPKcS6_S6_", "clang::Lexer::Lexer(clang::SourceLocation, clang::LangOptions const&, char const*, char const*, char const*)"},
-    {"_ZN5clang5LexerC2ENS_14SourceLocationERKNS_11LangOptionsEPKcS6_S6_", "clang::Lexer::Lexer(clang::SourceLocation, clang::LangOptions const&, char const*, char const*, char const*)"},
-    {"_ZN5clang5LexerC1ENS_6FileIDEPKN4llvm12MemoryBufferERKNS_13SourceManagerERKNS_11LangOptionsE", "clang::Lexer::Lexer(clang::FileID, llvm::MemoryBuffer const*, clang::SourceManager const&, clang::LangOptions const&)"},
-    {"_ZN5clang5LexerC2ENS_6FileIDEPKN4llvm12MemoryBufferERKNS_13SourceManagerERKNS_11LangOptionsE", "clang::Lexer::Lexer(clang::FileID, llvm::MemoryBuffer const*, clang::SourceManager const&, clang::LangOptions const&)"},
-    {"_ZN5clang5Lexer18Create_PragmaLexerENS_14SourceLocationES1_S1_jRNS_12PreprocessorE", "clang::Lexer::Create_PragmaLexer(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, unsigned int, clang::Preprocessor&)"},
-    {"_ZN5clang5Lexer9StringifyERKSsb", "clang::Lexer::Stringify(std::string const&, bool)"},
-    {"_ZN5clang5Lexer9StringifyERN4llvm15SmallVectorImplIcEE", "clang::Lexer::Stringify(llvm::SmallVectorImpl<char>&)"},
-    {"_ZN5clang5Lexer11getSpellingERKNS_5TokenERKNS_13SourceManagerERKNS_11LangOptionsEPb", "clang::Lexer::getSpelling(clang::Token const&, clang::SourceManager const&, clang::LangOptions const&, bool*)"},
-    {"_ZN5clang5Lexer11getSpellingERKNS_5TokenERPKcRKNS_13SourceManagerERKNS_11LangOptionsEPb", "clang::Lexer::getSpelling(clang::Token const&, char const*&, clang::SourceManager const&, clang::LangOptions const&, bool*)"},
-    {"_ZN5clang5Lexer18MeasureTokenLengthENS_14SourceLocationERKNS_13SourceManagerERKNS_11LangOptionsE", "clang::Lexer::MeasureTokenLength(clang::SourceLocation, clang::SourceManager const&, clang::LangOptions const&)"},
-    {"_ZN5clang5Lexer19GetBeginningOfTokenENS_14SourceLocationERKNS_13SourceManagerERKNS_11LangOptionsE", "clang::Lexer::GetBeginningOfToken(clang::SourceLocation, clang::SourceManager const&, clang::LangOptions const&)"},
-    {"_ZN5clang5Lexer15ComputePreambleEPKN4llvm12MemoryBufferEj", "clang::Lexer::ComputePreamble(llvm::MemoryBuffer const*, unsigned int)"},
-    {"_ZN5clang5Lexer23AdvanceToTokenCharacterENS_14SourceLocationEjRKNS_13SourceManagerERKNS_11LangOptionsE", "clang::Lexer::AdvanceToTokenCharacter(clang::SourceLocation, unsigned int, clang::SourceManager const&, clang::LangOptions const&)"},
-    {"_ZN5clang5Lexer19SkipEscapedNewLinesEPKc", "clang::Lexer::SkipEscapedNewLines(char const*)"},
-    {"_ZN5clang5Lexer19getLocForEndOfTokenENS_14SourceLocationEjRKNS_13SourceManagerERKNS_11LangOptionsE", "clang::Lexer::getLocForEndOfToken(clang::SourceLocation, unsigned int, clang::SourceManager const&, clang::LangOptions const&)"},
-    {"_ZNK5clang5Lexer17getSourceLocationEPKcj", "clang::Lexer::getSourceLocation(char const*, unsigned int) const"},
-    {"_Z17GetMappedTokenLocRN5clang12PreprocessorENS_14SourceLocationEjj", "GetMappedTokenLoc(clang::Preprocessor&, clang::SourceLocation, unsigned int, unsigned int)"},
-    {"_ZNK5clang5Lexer4DiagEPKcj", "clang::Lexer::Diag(char const*, unsigned int) const"},
-    {"_ZN5clang5Lexer21getEscapedNewLineSizeEPKc", "clang::Lexer::getEscapedNewLineSize(char const*)"},
-    {"_ZN5clang5Lexer18getCharAndSizeSlowEPKcRjPNS_5TokenE", "clang::Lexer::getCharAndSizeSlow(char const*, unsigned int&, clang::Token*)"},
-    {"_ZN5clang5Lexer24getCharAndSizeSlowNoWarnEPKcRjRKNS_11LangOptionsE", "clang::Lexer::getCharAndSizeSlowNoWarn(char const*, unsigned int&, clang::LangOptions const&)"},
-    {"_ZN5clang5Lexer9SkipBytesEjb", "clang::Lexer::SkipBytes(unsigned int, bool)"},
-    {"_ZN5clang5Lexer13LexIdentifierERNS_5TokenEPKc", "clang::Lexer::LexIdentifier(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer18LexNumericConstantERNS_5TokenEPKc", "clang::Lexer::LexNumericConstant(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer16LexStringLiteralERNS_5TokenEPKcb", "clang::Lexer::LexStringLiteral(clang::Token&, char const*, bool)"},
-    {"_ZN5clang5Lexer22LexAngledStringLiteralERNS_5TokenEPKc", "clang::Lexer::LexAngledStringLiteral(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer15LexCharConstantERNS_5TokenEPKc", "clang::Lexer::LexCharConstant(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer14SkipWhitespaceERNS_5TokenEPKc", "clang::Lexer::SkipWhitespace(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer15SkipBCPLCommentERNS_5TokenEPKc", "clang::Lexer::SkipBCPLComment(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer15SaveBCPLCommentERNS_5TokenEPKc", "clang::Lexer::SaveBCPLComment(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer16SkipBlockCommentERNS_5TokenEPKc", "clang::Lexer::SkipBlockComment(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer15ReadToEndOfLineEv", "clang::Lexer::ReadToEndOfLine()"},
-    {"_ZN5clang5Lexer12LexEndOfFileERNS_5TokenEPKc", "clang::Lexer::LexEndOfFile(clang::Token&, char const*)"},
-    {"_ZN5clang5Lexer19isNextPPTokenLParenEv", "clang::Lexer::isNextPPTokenLParen()"},
-    {"_ZN5clang5Lexer16LexTokenInternalERNS_5TokenE", "clang::Lexer::LexTokenInternal(clang::Token&)"},
-    {"_ZN5clang5Lexer23IsStartOfConflictMarkerEPKc", "clang::Lexer::IsStartOfConflictMarker(char const*)"},
-    {"_ZN5clang5Lexer25HandleEndOfConflictMarkerEPKc", "clang::Lexer::HandleEndOfConflictMarker(char const*)"},
-    {"_ZN5clang20NumericLiteralParserC1EPKcS2_NS_14SourceLocationERNS_12PreprocessorE", "clang::NumericLiteralParser::NumericLiteralParser(char const*, char const*, clang::SourceLocation, clang::Preprocessor&)"},
-    {"_ZN5clang20NumericLiteralParserC2EPKcS2_NS_14SourceLocationERNS_12PreprocessorE", "clang::NumericLiteralParser::NumericLiteralParser(char const*, char const*, clang::SourceLocation, clang::Preprocessor&)"},
-    {"_ZN5clang20NumericLiteralParser27ParseNumberStartingWithZeroENS_14SourceLocationE", "clang::NumericLiteralParser::ParseNumberStartingWithZero(clang::SourceLocation)"},
-    {"_ZN5clang20NumericLiteralParser15GetIntegerValueERN4llvm5APIntE", "clang::NumericLiteralParser::GetIntegerValue(llvm::APInt&)"},
-    {"_ZN5clang20NumericLiteralParser13GetFloatValueERN4llvm7APFloatE", "clang::NumericLiteralParser::GetFloatValue(llvm::APFloat&)"},
-    {"_ZN5clang17CharLiteralParserC1EPKcS2_NS_14SourceLocationERNS_12PreprocessorE", "clang::CharLiteralParser::CharLiteralParser(char const*, char const*, clang::SourceLocation, clang::Preprocessor&)"},
-    {"_ZN5clang17CharLiteralParserC2EPKcS2_NS_14SourceLocationERNS_12PreprocessorE", "clang::CharLiteralParser::CharLiteralParser(char const*, char const*, clang::SourceLocation, clang::Preprocessor&)"},
-    {"_Z16ProcessUCNEscapeRPKcS0_RjRtN5clang13FullSourceLocEPNS4_10DiagnosticERKNS4_11LangOptionsE", "ProcessUCNEscape(char const*&, char const*, unsigned int&, unsigned short&, clang::FullSourceLoc, clang::Diagnostic*, clang::LangOptions const&)"},
-    {"_Z17ProcessCharEscapeRPKcS0_RbN5clang13FullSourceLocEbPNS3_10DiagnosticERKNS3_10TargetInfoE", "ProcessCharEscape(char const*&, char const*, bool&, clang::FullSourceLoc, bool, clang::Diagnostic*, clang::TargetInfo const&)"},
-    {"_ZN5clang19StringLiteralParserC1EPKNS_5TokenEjRNS_12PreprocessorEb", "clang::StringLiteralParser::StringLiteralParser(clang::Token const*, unsigned int, clang::Preprocessor&, bool)"},
-    {"_ZN5clang19StringLiteralParserC2EPKNS_5TokenEjRNS_12PreprocessorEb", "clang::StringLiteralParser::StringLiteralParser(clang::Token const*, unsigned int, clang::Preprocessor&, bool)"},
-    {"_ZN5clang19StringLiteralParser4initEPKNS_5TokenEj", "clang::StringLiteralParser::init(clang::Token const*, unsigned int)"},
-    {"_ZNK5clang19StringLiteralParser21getOffsetOfStringByteERKNS_5TokenEj", "clang::StringLiteralParser::getOffsetOfStringByte(clang::Token const&, unsigned int) const"},
-    {"_ZN5clang9MacroArgs6createEPKNS_9MacroInfoEPKNS_5TokenEjbRNS_12PreprocessorE", "clang::MacroArgs::create(clang::MacroInfo const*, clang::Token const*, unsigned int, bool, clang::Preprocessor&)"},
-    {"_ZNK5clang9MacroArgs16getUnexpArgumentEj", "clang::MacroArgs::getUnexpArgument(unsigned int) const"},
-    {"_ZN5clang9MacroArgs7destroyERNS_12PreprocessorE", "clang::MacroArgs::destroy(clang::Preprocessor&)"},
-    {"_ZN5clang9MacroArgs10deallocateEv", "clang::MacroArgs::deallocate()"},
-    {"_ZN5clang9MacroArgs12getArgLengthEPKNS_5TokenE", "clang::MacroArgs::getArgLength(clang::Token const*)"},
-    {"_ZNK5clang9MacroArgs20ArgNeedsPreexpansionEPKNS_5TokenERNS_12PreprocessorE", "clang::MacroArgs::ArgNeedsPreexpansion(clang::Token const*, clang::Preprocessor&) const"},
-    {"_ZN5clang9MacroArgs17getPreExpArgumentEjPKNS_9MacroInfoERNS_12PreprocessorE", "clang::MacroArgs::getPreExpArgument(unsigned int, clang::MacroInfo const*, clang::Preprocessor&)"},
-    {"_ZN5clang9MacroArgs17StringifyArgumentEPKNS_5TokenERNS_12PreprocessorEb", "clang::MacroArgs::StringifyArgument(clang::Token const*, clang::Preprocessor&, bool)"},
-    {"_ZN5clang9MacroArgs22getStringifiedArgumentEjRNS_12PreprocessorE", "clang::MacroArgs::getStringifiedArgument(unsigned int, clang::Preprocessor&)"},
-    {"_ZNSt6vectorIN5clang5TokenESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_", "std::vector<clang::Token, std::allocator<clang::Token> >::_M_fill_insert(__gnu_cxx::__normal_iterator<clang::Token*, std::vector<clang::Token, std::allocator<clang::Token> > >, unsigned long, clang::Token const&)"},
-    {"_ZNSt6vectorIN5clang5TokenESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::Token, std::allocator<clang::Token> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::Token*, std::vector<clang::Token, std::allocator<clang::Token> > >, clang::Token const&)"},
-    {"_ZNSt6vectorIS_IN5clang5TokenESaIS1_EESaIS3_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS3_S5_EEmRKS3_", "std::vector<std::vector<clang::Token, std::allocator<clang::Token> >, std::allocator<std::vector<clang::Token, std::allocator<clang::Token> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<std::vector<clang::Token, std::allocator<clang::Token> >*, std::vector<std::vector<clang::Token, std::allocator<clang::Token> >, std::allocator<std::vector<clang::Token, std::allocator<clang::Token> > > > >, unsigned long, std::vector<clang::Token, std::allocator<clang::Token> > const&)"},
-    {"_ZNSt6vectorIN5clang5TokenESaIS1_EEaSERKS3_", "std::vector<clang::Token, std::allocator<clang::Token> >::operator=(std::vector<clang::Token, std::allocator<clang::Token> > const&)"},
-    {"_ZNSt6vectorIN5clang5TokenESaIS1_EEC2ERKS3_", "std::vector<clang::Token, std::allocator<clang::Token> >::vector(std::vector<clang::Token, std::allocator<clang::Token> > const&)"},
-    {"_ZN5clang9MacroInfoC1ENS_14SourceLocationE", "clang::MacroInfo::MacroInfo(clang::SourceLocation)"},
-    {"_ZN5clang9MacroInfoC2ENS_14SourceLocationE", "clang::MacroInfo::MacroInfo(clang::SourceLocation)"},
-    {"_ZN5clang9MacroInfoC1ERKS0_RN4llvm16BumpPtrAllocatorE", "clang::MacroInfo::MacroInfo(clang::MacroInfo const&, llvm::BumpPtrAllocator&)"},
-    {"_ZN5clang9MacroInfoC2ERKS0_RN4llvm16BumpPtrAllocatorE", "clang::MacroInfo::MacroInfo(clang::MacroInfo const&, llvm::BumpPtrAllocator&)"},
-    {"_ZNK5clang9MacroInfo13isIdenticalToERKS0_RNS_12PreprocessorE", "clang::MacroInfo::isIdenticalTo(clang::MacroInfo const&, clang::Preprocessor&) const"},
-    {"_ZN4llvm15SmallVectorImplIN5clang5TokenEEaSERKS3_", "llvm::SmallVectorImpl<clang::Token>::operator=(llvm::SmallVectorImpl<clang::Token> const&)"},
-    {"_ZN5clang12Preprocessor24EnableBacktrackAtThisPosEv", "clang::Preprocessor::EnableBacktrackAtThisPos()"},
-    {"_ZN5clang12Preprocessor19EnterCachingLexModeEv", "clang::Preprocessor::EnterCachingLexMode()"},
-    {"_ZN5clang12Preprocessor23CommitBacktrackedTokensEv", "clang::Preprocessor::CommitBacktrackedTokens()"},
-    {"_ZN5clang12Preprocessor9BacktrackEv", "clang::Preprocessor::Backtrack()"},
-    {"_ZN5clang12Preprocessor10CachingLexERNS_5TokenE", "clang::Preprocessor::CachingLex(clang::Token&)"},
-    {"_ZN5clang12Preprocessor9PeekAheadEj", "clang::Preprocessor::PeekAhead(unsigned int)"},
-    {"_ZN5clang12Preprocessor28AnnotatePreviousCachedTokensERKNS_5TokenE", "clang::Preprocessor::AnnotatePreviousCachedTokens(clang::Token const&)"},
-    {"_ZNSt6vectorImSaImEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPmS1_EERKm", "std::vector<unsigned long, std::allocator<unsigned long> >::_M_insert_aux(__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >, unsigned long const&)"},
-    {"_ZN5clang12Preprocessor17AllocateMacroInfoEv", "clang::Preprocessor::AllocateMacroInfo()"},
-    {"_ZN5clang12Preprocessor17AllocateMacroInfoENS_14SourceLocationE", "clang::Preprocessor::AllocateMacroInfo(clang::SourceLocation)"},
-    {"_ZN5clang12Preprocessor14CloneMacroInfoERKNS_9MacroInfoE", "clang::Preprocessor::CloneMacroInfo(clang::MacroInfo const&)"},
-    {"_ZN5clang12Preprocessor16ReleaseMacroInfoEPNS_9MacroInfoE", "clang::Preprocessor::ReleaseMacroInfo(clang::MacroInfo*)"},
-    {"_ZN5clang12Preprocessor26DiscardUntilEndOfDirectiveEv", "clang::Preprocessor::DiscardUntilEndOfDirective()"},
-    {"_ZN5clang12Preprocessor13ReadMacroNameERNS_5TokenEc", "clang::Preprocessor::ReadMacroName(clang::Token&, char)"},
-    {"_ZN5clang12Preprocessor19CheckEndOfDirectiveEPKcb", "clang::Preprocessor::CheckEndOfDirective(char const*, bool)"},
-    {"_ZN5clang12Preprocessor28SkipExcludedConditionalBlockENS_14SourceLocationEbb", "clang::Preprocessor::SkipExcludedConditionalBlock(clang::SourceLocation, bool, bool)"},
-    {"_ZN5clang12Preprocessor31PTHSkipExcludedConditionalBlockEv", "clang::Preprocessor::PTHSkipExcludedConditionalBlock()"},
-    {"_ZN5clang12Preprocessor10LookupFileEN4llvm9StringRefEbPKNS_15DirectoryLookupERS5_", "clang::Preprocessor::LookupFile(llvm::StringRef, bool, clang::DirectoryLookup const*, clang::DirectoryLookup const*&)"},
-    {"_ZN5clang12Preprocessor15HandleDirectiveERNS_5TokenE", "clang::Preprocessor::HandleDirective(clang::Token&)"},
-    {"_ZN5clang12Preprocessor20HandleDigitDirectiveERNS_5TokenE", "clang::Preprocessor::HandleDigitDirective(clang::Token&)"},
-    {"_ZN5clang12Preprocessor17HandleIfDirectiveERNS_5TokenEb", "clang::Preprocessor::HandleIfDirective(clang::Token&, bool)"},
-    {"_ZN5clang12Preprocessor20HandleIfdefDirectiveERNS_5TokenEbb", "clang::Preprocessor::HandleIfdefDirective(clang::Token&, bool, bool)"},
-    {"_ZN5clang12Preprocessor19HandleElifDirectiveERNS_5TokenE", "clang::Preprocessor::HandleElifDirective(clang::Token&)"},
-    {"_ZN5clang12Preprocessor19HandleElseDirectiveERNS_5TokenE", "clang::Preprocessor::HandleElseDirective(clang::Token&)"},
-    {"_ZN5clang12Preprocessor20HandleEndifDirectiveERNS_5TokenE", "clang::Preprocessor::HandleEndifDirective(clang::Token&)"},
-    {"_ZN5clang12Preprocessor22HandleIncludeDirectiveENS_14SourceLocationERNS_5TokenEPKNS_15DirectoryLookupEb", "clang::Preprocessor::HandleIncludeDirective(clang::SourceLocation, clang::Token&, clang::DirectoryLookup const*, bool)"},
-    {"_ZN5clang12Preprocessor28HandleIncludeMacrosDirectiveENS_14SourceLocationERNS_5TokenE", "clang::Preprocessor::HandleIncludeMacrosDirective(clang::SourceLocation, clang::Token&)"},
-    {"_ZN5clang12Preprocessor21HandleDefineDirectiveERNS_5TokenE", "clang::Preprocessor::HandleDefineDirective(clang::Token&)"},
-    {"_ZN5clang12Preprocessor20HandleUndefDirectiveERNS_5TokenE", "clang::Preprocessor::HandleUndefDirective(clang::Token&)"},
-    {"_ZN5clang12Preprocessor19HandleLineDirectiveERNS_5TokenE", "clang::Preprocessor::HandleLineDirective(clang::Token&)"},
-    {"_ZN5clang12Preprocessor29HandleUserDiagnosticDirectiveERNS_5TokenEb", "clang::Preprocessor::HandleUserDiagnosticDirective(clang::Token&, bool)"},
-    {"_ZN5clang12Preprocessor21HandleImportDirectiveENS_14SourceLocationERNS_5TokenE", "clang::Preprocessor::HandleImportDirective(clang::SourceLocation, clang::Token&)"},
-    {"_ZN5clang12Preprocessor26HandleIncludeNextDirectiveENS_14SourceLocationERNS_5TokenE", "clang::Preprocessor::HandleIncludeNextDirective(clang::SourceLocation, clang::Token&)"},
-    {"_ZN5clang12Preprocessor24HandleIdentSCCSDirectiveERNS_5TokenE", "clang::Preprocessor::HandleIdentSCCSDirective(clang::Token&)"},
-    {"_Z12GetLineValueRN5clang5TokenERjjRNS_12PreprocessorE", "GetLineValue(clang::Token&, unsigned int&, unsigned int, clang::Preprocessor&)"},
-    {"_ZN5clang12Preprocessor26GetIncludeFilenameSpellingENS_14SourceLocationERN4llvm9StringRefE", "clang::Preprocessor::GetIncludeFilenameSpelling(clang::SourceLocation, llvm::StringRef&)"},
-    {"_ZN5clang12Preprocessor22ConcatenateIncludeNameERN4llvm11SmallStringILj128EEERNS_14SourceLocationE", "clang::Preprocessor::ConcatenateIncludeName(llvm::SmallString<128u>&, clang::SourceLocation&)"},
-    {"_ZN5clang12Preprocessor26ReadMacroDefinitionArgListEPNS_9MacroInfoE", "clang::Preprocessor::ReadMacroDefinitionArgList(clang::MacroInfo*)"},
-    {"_ZSt6__findIPPN5clang14IdentifierInfoES2_ET_S4_S4_RKT0_St26random_access_iterator_tag", "clang::IdentifierInfo** std::__find<clang::IdentifierInfo**, clang::IdentifierInfo*>(clang::IdentifierInfo**, clang::IdentifierInfo**, clang::IdentifierInfo* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN5clang17PPConditionalInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<clang::PPConditionalInfo, false>::grow(unsigned long)"},
-    {"_ZN5clang12Preprocessor27EvaluateDirectiveExpressionERPNS_14IdentifierInfoE", "clang::Preprocessor::EvaluateDirectiveExpression(clang::IdentifierInfo*&)"},
-    {"_Z13EvaluateValueRN12_GLOBAL__N_17PPValueERN5clang5TokenER14DefinedTrackerbRNS2_12PreprocessorE", "EvaluateValue((anonymous namespace)::PPValue&, clang::Token&, DefinedTracker&, bool, clang::Preprocessor&)"},
-    {"_Z24EvaluateDirectiveSubExprRN12_GLOBAL__N_17PPValueEjRN5clang5TokenEbRNS2_12PreprocessorE", "EvaluateDirectiveSubExpr((anonymous namespace)::PPValue&, unsigned int, clang::Token&, bool, clang::Preprocessor&)"},
-    {"_ZN5clang11PPCallbacksD0Ev", "clang::PPCallbacks::~PPCallbacks()"},
-    {"_ZN5clang11PPCallbacksD1Ev", "clang::PPCallbacks::~PPCallbacks()"},
-    {"_ZN5clang11PPCallbacksD2Ev", "clang::PPCallbacks::~PPCallbacks()"},
-    {"_ZNK5clang12Preprocessor15isInPrimaryFileEv", "clang::Preprocessor::isInPrimaryFile() const"},
-    {"_ZNK5clang12Preprocessor19getCurrentFileLexerEv", "clang::Preprocessor::getCurrentFileLexer() const"},
-    {"_ZN5clang12Preprocessor15EnterSourceFileENS_6FileIDEPKNS_15DirectoryLookupENS_14SourceLocationE", "clang::Preprocessor::EnterSourceFile(clang::FileID, clang::DirectoryLookup const*, clang::SourceLocation)"},
-    {"_ZN5clang12Preprocessor22EnterSourceFileWithPTHEPNS_8PTHLexerEPKNS_15DirectoryLookupE", "clang::Preprocessor::EnterSourceFileWithPTH(clang::PTHLexer*, clang::DirectoryLookup const*)"},
-    {"_ZN5clang12Preprocessor24EnterSourceFileWithLexerEPNS_5LexerEPKNS_15DirectoryLookupE", "clang::Preprocessor::EnterSourceFileWithLexer(clang::Lexer*, clang::DirectoryLookup const*)"},
-    {"_ZN5clang12Preprocessor10EnterMacroERNS_5TokenENS_14SourceLocationEPNS_9MacroArgsE", "clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroArgs*)"},
-    {"_ZN5clang12Preprocessor16EnterTokenStreamEPKNS_5TokenEjbb", "clang::Preprocessor::EnterTokenStream(clang::Token const*, unsigned int, bool, bool)"},
-    {"_ZN5clang12Preprocessor15HandleEndOfFileERNS_5TokenEb", "clang::Preprocessor::HandleEndOfFile(clang::Token&, bool)"},
-    {"_ZN5clang12Preprocessor21RemoveTopOfLexerStackEv", "clang::Preprocessor::RemoveTopOfLexerStack()"},
-    {"_ZN5clang12Preprocessor21HandleEndOfTokenLexerERNS_5TokenE", "clang::Preprocessor::HandleEndOfTokenLexer(clang::Token&)"},
-    {"_ZN5clang12Preprocessor27HandleMicrosoftCommentPasteERNS_5TokenE", "clang::Preprocessor::HandleMicrosoftCommentPaste(clang::Token&)"},
-    {"_ZNK5clang13SourceManager9getBufferENS_6FileIDENS_14SourceLocationEPb", "clang::SourceManager::getBuffer(clang::FileID, clang::SourceLocation, bool*) const"},
-    {"_ZN5clang12Preprocessor20PopIncludeMacroStackEv", "clang::Preprocessor::PopIncludeMacroStack()"},
-    {"_ZNSt6vectorIN5clang12Preprocessor16IncludeStackInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::Preprocessor::IncludeStackInfo, std::allocator<clang::Preprocessor::IncludeStackInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::Preprocessor::IncludeStackInfo*, std::vector<clang::Preprocessor::IncludeStackInfo, std::allocator<clang::Preprocessor::IncludeStackInfo> > >, clang::Preprocessor::IncludeStackInfo const&)"},
-    {"_ZNK5clang12Preprocessor15getInfoForMacroEPNS_14IdentifierInfoE", "clang::Preprocessor::getInfoForMacro(clang::IdentifierInfo*) const"},
-    {"_ZN5clang12Preprocessor12setMacroInfoEPNS_14IdentifierInfoEPNS_9MacroInfoE", "clang::Preprocessor::setMacroInfo(clang::IdentifierInfo*, clang::MacroInfo*)"},
-    {"_ZN5clang12Preprocessor21RegisterBuiltinMacrosEv", "clang::Preprocessor::RegisterBuiltinMacros()"},
-    {"_ZN5clang12Preprocessor19isNextPPTokenLParenEv", "clang::Preprocessor::isNextPPTokenLParen()"},
-    {"_ZN5clang12Preprocessor29HandleMacroExpandedIdentifierERNS_5TokenEPNS_9MacroInfoE", "clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroInfo*)"},
-    {"_ZN5clang12Preprocessor18ExpandBuiltinMacroERNS_5TokenE", "clang::Preprocessor::ExpandBuiltinMacro(clang::Token&)"},
-    {"_ZN5clang12Preprocessor25ReadFunctionLikeMacroArgsERNS_5TokenEPNS_9MacroInfoERNS_14SourceLocationE", "clang::Preprocessor::ReadFunctionLikeMacroArgs(clang::Token&, clang::MacroInfo*, clang::SourceLocation&)"},
-    {"_ZN5clang12Preprocessor15markMacroAsUsedEPNS_9MacroInfoE", "clang::Preprocessor::markMacroAsUsed(clang::MacroInfo*)"},
-    {"_Z16ComputeDATE_TIMERN5clang14SourceLocationES1_RNS_12PreprocessorE", "ComputeDATE_TIME(clang::SourceLocation&, clang::SourceLocation&, clang::Preprocessor&)"},
-    {"_Z24EvaluateHasIncludeCommonRN5clang5TokenEPNS_14IdentifierInfoERNS_12PreprocessorEPKNS_15DirectoryLookupE", "EvaluateHasIncludeCommon(clang::Token&, clang::IdentifierInfo*, clang::Preprocessor&, clang::DirectoryLookup const*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS1_9MacroInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<clang::IdentifierInfo*, clang::MacroInfo*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::MacroInfo*> >::InsertIntoBucket(clang::IdentifierInfo* const&, clang::MacroInfo* const&, std::pair<clang::IdentifierInfo*, clang::MacroInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoEPNS1_9MacroInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, clang::MacroInfo*, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<clang::MacroInfo*> >::grow(unsigned int)"},
-    {"_ZN5clang8PTHLexerC1ERNS_12PreprocessorENS_6FileIDEPKhS5_RNS_10PTHManagerE", "clang::PTHLexer::PTHLexer(clang::Preprocessor&, clang::FileID, unsigned char const*, unsigned char const*, clang::PTHManager&)"},
-    {"_ZN5clang8PTHLexerC2ERNS_12PreprocessorENS_6FileIDEPKhS5_RNS_10PTHManagerE", "clang::PTHLexer::PTHLexer(clang::Preprocessor&, clang::FileID, unsigned char const*, unsigned char const*, clang::PTHManager&)"},
-    {"_ZN5clang8PTHLexer3LexERNS_5TokenE", "clang::PTHLexer::Lex(clang::Token&)"},
-    {"_ZN5clang8PTHLexer12LexEndOfFileERNS_5TokenE", "clang::PTHLexer::LexEndOfFile(clang::Token&)"},
-    {"_ZN5clang8PTHLexer6getEOFERNS_5TokenE", "clang::PTHLexer::getEOF(clang::Token&)"},
-    {"_ZN5clang8PTHLexer18DiscardToEndOfLineEv", "clang::PTHLexer::DiscardToEndOfLine()"},
-    {"_ZN5clang8PTHLexer9SkipBlockEv", "clang::PTHLexer::SkipBlock()"},
-    {"_ZN5clang8PTHLexer17getSourceLocationEv", "clang::PTHLexer::getSourceLocation()"},
-    {"_ZN5clang10PTHManagerC1EPKN4llvm12MemoryBufferEPvPKhPPNS_14IdentifierInfoES5_jS7_PKc", "clang::PTHManager::PTHManager(llvm::MemoryBuffer const*, void*, unsigned char const*, clang::IdentifierInfo**, void*, unsigned int, unsigned char const*, char const*)"},
-    {"_ZN5clang10PTHManagerC2EPKN4llvm12MemoryBufferEPvPKhPPNS_14IdentifierInfoES5_jS7_PKc", "clang::PTHManager::PTHManager(llvm::MemoryBuffer const*, void*, unsigned char const*, clang::IdentifierInfo**, void*, unsigned int, unsigned char const*, char const*)"},
-    {"_ZN5clang10PTHManagerD0Ev", "clang::PTHManager::~PTHManager()"},
-    {"_ZN5clang10PTHManagerD1Ev", "clang::PTHManager::~PTHManager()"},
-    {"_ZN5clang10PTHManagerD2Ev", "clang::PTHManager::~PTHManager()"},
-    {"_ZN5clang10PTHManager6CreateERKSsRNS_10DiagnosticE", "clang::PTHManager::Create(std::string const&, clang::Diagnostic&)"},
-    {"_ZN5clang10PTHManager26LazilyCreateIdentifierInfoEj", "clang::PTHManager::LazilyCreateIdentifierInfo(unsigned int)"},
-    {"_ZN5clang10PTHManager3getEN4llvm9StringRefE", "clang::PTHManager::get(llvm::StringRef)"},
-    {"_ZN5clang10PTHManager11CreateLexerENS_6FileIDE", "clang::PTHManager::CreateLexer(clang::FileID)"},
-    {"_ZN5clang10PTHManager15createStatCacheEv", "clang::PTHManager::createStatCache()"},
-    {"_ZN12_GLOBAL__N_112PTHStatCacheD1Ev", "(anonymous namespace)::PTHStatCache::~PTHStatCache()"},
-    {"_ZN12_GLOBAL__N_112PTHStatCacheD0Ev", "(anonymous namespace)::PTHStatCache::~PTHStatCache()"},
-    {"_ZN12_GLOBAL__N_112PTHStatCache7getStatEPKcR4statPi", "(anonymous namespace)::PTHStatCache::getStat(char const*, stat&, int*)"},
-    {"_ZN5clang8PTHLexerD1Ev", "clang::PTHLexer::~PTHLexer()"},
-    {"_ZN5clang8PTHLexerD0Ev", "clang::PTHLexer::~PTHLexer()"},
-    {"_ZN5clang8PTHLexer11IndirectLexERNS_5TokenE", "clang::PTHLexer::IndirectLex(clang::Token&)"},
-    {"_ZN5clang13PragmaHandlerD0Ev", "clang::PragmaHandler::~PragmaHandler()"},
-    {"_ZN5clang13PragmaHandlerD1Ev", "clang::PragmaHandler::~PragmaHandler()"},
-    {"_ZN5clang13PragmaHandlerD2Ev", "clang::PragmaHandler::~PragmaHandler()"},
-    {"_ZN5clang18EmptyPragmaHandlerC1Ev", "clang::EmptyPragmaHandler::EmptyPragmaHandler()"},
-    {"_ZN5clang18EmptyPragmaHandlerC2Ev", "clang::EmptyPragmaHandler::EmptyPragmaHandler()"},
-    {"_ZN5clang18EmptyPragmaHandler12HandlePragmaERNS_12PreprocessorENS_20PragmaIntroducerKindERNS_5TokenE", "clang::EmptyPragmaHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN5clang15PragmaNamespaceD0Ev", "clang::PragmaNamespace::~PragmaNamespace()"},
-    {"_ZN5clang15PragmaNamespaceD1Ev", "clang::PragmaNamespace::~PragmaNamespace()"},
-    {"_ZN5clang15PragmaNamespaceD2Ev", "clang::PragmaNamespace::~PragmaNamespace()"},
-    {"_ZNK5clang15PragmaNamespace11FindHandlerEN4llvm9StringRefEb", "clang::PragmaNamespace::FindHandler(llvm::StringRef, bool) const"},
-    {"_ZN5clang15PragmaNamespace9AddPragmaEPNS_13PragmaHandlerE", "clang::PragmaNamespace::AddPragma(clang::PragmaHandler*)"},
-    {"_ZN5clang15PragmaNamespace19RemovePragmaHandlerEPNS_13PragmaHandlerE", "clang::PragmaNamespace::RemovePragmaHandler(clang::PragmaHandler*)"},
-    {"_ZN5clang15PragmaNamespace12HandlePragmaERNS_12PreprocessorENS_20PragmaIntroducerKindERNS_5TokenE", "clang::PragmaNamespace::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN5clang12Preprocessor21HandlePragmaDirectiveEj", "clang::Preprocessor::HandlePragmaDirective(unsigned int)"},
-    {"_ZN5clang12Preprocessor13Handle_PragmaERNS_5TokenE", "clang::Preprocessor::Handle_Pragma(clang::Token&)"},
-    {"_ZN5clang12Preprocessor13Handle_PragmaEjRKSsNS_14SourceLocationES3_", "clang::Preprocessor::Handle_Pragma(unsigned int, std::string const&, clang::SourceLocation, clang::SourceLocation)"},
-    {"_ZN5clang12Preprocessor23HandleMicrosoft__pragmaERNS_5TokenE", "clang::Preprocessor::HandleMicrosoft__pragma(clang::Token&)"},
-    {"_ZN5clang12Preprocessor16HandlePragmaOnceERNS_5TokenE", "clang::Preprocessor::HandlePragmaOnce(clang::Token&)"},
-    {"_ZN5clang12Preprocessor16HandlePragmaMarkEv", "clang::Preprocessor::HandlePragmaMark()"},
-    {"_ZN5clang12Preprocessor18HandlePragmaPoisonERNS_5TokenE", "clang::Preprocessor::HandlePragmaPoison(clang::Token&)"},
-    {"_ZN5clang12Preprocessor24HandlePragmaSystemHeaderERNS_5TokenE", "clang::Preprocessor::HandlePragmaSystemHeader(clang::Token&)"},
-    {"_ZN5clang12Preprocessor22HandlePragmaDependencyERNS_5TokenE", "clang::Preprocessor::HandlePragmaDependency(clang::Token&)"},
-    {"_ZN5clang12Preprocessor19HandlePragmaCommentERNS_5TokenE", "clang::Preprocessor::HandlePragmaComment(clang::Token&)"},
-    {"_ZN5clang12Preprocessor19HandlePragmaMessageERNS_5TokenE", "clang::Preprocessor::HandlePragmaMessage(clang::Token&)"},
-    {"_ZN5clang12Preprocessor25ParsePragmaPushOrPopMacroERNS_5TokenE", "clang::Preprocessor::ParsePragmaPushOrPopMacro(clang::Token&)"},
-    {"_ZN5clang12Preprocessor21HandlePragmaPushMacroERNS_5TokenE", "clang::Preprocessor::HandlePragmaPushMacro(clang::Token&)"},
-    {"_ZN5clang12Preprocessor20HandlePragmaPopMacroERNS_5TokenE", "clang::Preprocessor::HandlePragmaPopMacro(clang::Token&)"},
-    {"_ZN5clang12Preprocessor16AddPragmaHandlerEN4llvm9StringRefEPNS_13PragmaHandlerE", "clang::Preprocessor::AddPragmaHandler(llvm::StringRef, clang::PragmaHandler*)"},
-    {"_ZN5clang12Preprocessor19RemovePragmaHandlerEN4llvm9StringRefEPNS_13PragmaHandlerE", "clang::Preprocessor::RemovePragmaHandler(llvm::StringRef, clang::PragmaHandler*)"},
-    {"_ZN5clang12Preprocessor22RegisterBuiltinPragmasEv", "clang::Preprocessor::RegisterBuiltinPragmas()"},
-    {"_ZN12_GLOBAL__N_120PragmaCommentHandlerD1Ev", "(anonymous namespace)::PragmaCommentHandler::~PragmaCommentHandler()"},
-    {"_ZN12_GLOBAL__N_120PragmaCommentHandlerD0Ev", "(anonymous namespace)::PragmaCommentHandler::~PragmaCommentHandler()"},
-    {"_ZN12_GLOBAL__N_120PragmaCommentHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaCommentHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_125PragmaSTDC_UnknownHandlerD1Ev", "(anonymous namespace)::PragmaSTDC_UnknownHandler::~PragmaSTDC_UnknownHandler()"},
-    {"_ZN12_GLOBAL__N_125PragmaSTDC_UnknownHandlerD0Ev", "(anonymous namespace)::PragmaSTDC_UnknownHandler::~PragmaSTDC_UnknownHandler()"},
-    {"_ZN12_GLOBAL__N_125PragmaSTDC_UnknownHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaSTDC_UnknownHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_134PragmaSTDC_CX_LIMITED_RANGEHandlerD1Ev", "(anonymous namespace)::PragmaSTDC_CX_LIMITED_RANGEHandler::~PragmaSTDC_CX_LIMITED_RANGEHandler()"},
-    {"_ZN12_GLOBAL__N_134PragmaSTDC_CX_LIMITED_RANGEHandlerD0Ev", "(anonymous namespace)::PragmaSTDC_CX_LIMITED_RANGEHandler::~PragmaSTDC_CX_LIMITED_RANGEHandler()"},
-    {"_ZN12_GLOBAL__N_134PragmaSTDC_CX_LIMITED_RANGEHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaSTDC_CX_LIMITED_RANGEHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_114LexOnOffSwitchERN5clang12PreprocessorE", "(anonymous namespace)::LexOnOffSwitch(clang::Preprocessor&)"},
-    {"_ZN12_GLOBAL__N_129PragmaSTDC_FENV_ACCESSHandlerD1Ev", "(anonymous namespace)::PragmaSTDC_FENV_ACCESSHandler::~PragmaSTDC_FENV_ACCESSHandler()"},
-    {"_ZN12_GLOBAL__N_129PragmaSTDC_FENV_ACCESSHandlerD0Ev", "(anonymous namespace)::PragmaSTDC_FENV_ACCESSHandler::~PragmaSTDC_FENV_ACCESSHandler()"},
-    {"_ZN12_GLOBAL__N_129PragmaSTDC_FENV_ACCESSHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaSTDC_FENV_ACCESSHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_129PragmaSTDC_FP_CONTRACTHandlerD1Ev", "(anonymous namespace)::PragmaSTDC_FP_CONTRACTHandler::~PragmaSTDC_FP_CONTRACTHandler()"},
-    {"_ZN12_GLOBAL__N_129PragmaSTDC_FP_CONTRACTHandlerD0Ev", "(anonymous namespace)::PragmaSTDC_FP_CONTRACTHandler::~PragmaSTDC_FP_CONTRACTHandler()"},
-    {"_ZN12_GLOBAL__N_129PragmaSTDC_FP_CONTRACTHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaSTDC_FP_CONTRACTHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_118PragmaDebugHandlerD1Ev", "(anonymous namespace)::PragmaDebugHandler::~PragmaDebugHandler()"},
-    {"_ZN12_GLOBAL__N_118PragmaDebugHandlerD0Ev", "(anonymous namespace)::PragmaDebugHandler::~PragmaDebugHandler()"},
-    {"_ZN12_GLOBAL__N_118PragmaDebugHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaDebugHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_123PragmaDiagnosticHandlerD1Ev", "(anonymous namespace)::PragmaDiagnosticHandler::~PragmaDiagnosticHandler()"},
-    {"_ZN12_GLOBAL__N_123PragmaDiagnosticHandlerD0Ev", "(anonymous namespace)::PragmaDiagnosticHandler::~PragmaDiagnosticHandler()"},
-    {"_ZN12_GLOBAL__N_123PragmaDiagnosticHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaDiagnosticHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_123PragmaDependencyHandlerD1Ev", "(anonymous namespace)::PragmaDependencyHandler::~PragmaDependencyHandler()"},
-    {"_ZN12_GLOBAL__N_123PragmaDependencyHandlerD0Ev", "(anonymous namespace)::PragmaDependencyHandler::~PragmaDependencyHandler()"},
-    {"_ZN12_GLOBAL__N_123PragmaDependencyHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaDependencyHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_125PragmaSystemHeaderHandlerD1Ev", "(anonymous namespace)::PragmaSystemHeaderHandler::~PragmaSystemHeaderHandler()"},
-    {"_ZN12_GLOBAL__N_125PragmaSystemHeaderHandlerD0Ev", "(anonymous namespace)::PragmaSystemHeaderHandler::~PragmaSystemHeaderHandler()"},
-    {"_ZN12_GLOBAL__N_125PragmaSystemHeaderHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaSystemHeaderHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_119PragmaPoisonHandlerD1Ev", "(anonymous namespace)::PragmaPoisonHandler::~PragmaPoisonHandler()"},
-    {"_ZN12_GLOBAL__N_119PragmaPoisonHandlerD0Ev", "(anonymous namespace)::PragmaPoisonHandler::~PragmaPoisonHandler()"},
-    {"_ZN12_GLOBAL__N_119PragmaPoisonHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaPoisonHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_120PragmaMessageHandlerD1Ev", "(anonymous namespace)::PragmaMessageHandler::~PragmaMessageHandler()"},
-    {"_ZN12_GLOBAL__N_120PragmaMessageHandlerD0Ev", "(anonymous namespace)::PragmaMessageHandler::~PragmaMessageHandler()"},
-    {"_ZN12_GLOBAL__N_120PragmaMessageHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaMessageHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_121PragmaPopMacroHandlerD1Ev", "(anonymous namespace)::PragmaPopMacroHandler::~PragmaPopMacroHandler()"},
-    {"_ZN12_GLOBAL__N_121PragmaPopMacroHandlerD0Ev", "(anonymous namespace)::PragmaPopMacroHandler::~PragmaPopMacroHandler()"},
-    {"_ZN12_GLOBAL__N_121PragmaPopMacroHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaPopMacroHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_122PragmaPushMacroHandlerD1Ev", "(anonymous namespace)::PragmaPushMacroHandler::~PragmaPushMacroHandler()"},
-    {"_ZN12_GLOBAL__N_122PragmaPushMacroHandlerD0Ev", "(anonymous namespace)::PragmaPushMacroHandler::~PragmaPushMacroHandler()"},
-    {"_ZN12_GLOBAL__N_122PragmaPushMacroHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaPushMacroHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_117PragmaMarkHandlerD1Ev", "(anonymous namespace)::PragmaMarkHandler::~PragmaMarkHandler()"},
-    {"_ZN12_GLOBAL__N_117PragmaMarkHandlerD0Ev", "(anonymous namespace)::PragmaMarkHandler::~PragmaMarkHandler()"},
-    {"_ZN12_GLOBAL__N_117PragmaMarkHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaMarkHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN12_GLOBAL__N_117PragmaOnceHandlerD1Ev", "(anonymous namespace)::PragmaOnceHandler::~PragmaOnceHandler()"},
-    {"_ZN12_GLOBAL__N_117PragmaOnceHandlerD0Ev", "(anonymous namespace)::PragmaOnceHandler::~PragmaOnceHandler()"},
-    {"_ZN12_GLOBAL__N_117PragmaOnceHandler12HandlePragmaERN5clang12PreprocessorENS1_20PragmaIntroducerKindERNS1_5TokenE", "(anonymous namespace)::PragmaOnceHandler::HandlePragma(clang::Preprocessor&, clang::PragmaIntroducerKind, clang::Token&)"},
-    {"_ZN5clang18EmptyPragmaHandlerD1Ev", "clang::EmptyPragmaHandler::~EmptyPragmaHandler()"},
-    {"_ZN5clang18EmptyPragmaHandlerD0Ev", "clang::EmptyPragmaHandler::~EmptyPragmaHandler()"},
-    {"_ZNSt6vectorIPN5clang9MacroInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::MacroInfo**, std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> > >, clang::MacroInfo* const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoESt6vectorIPNS1_9MacroInfoESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE16FindAndConstructERKS3_", "llvm::DenseMap<clang::IdentifierInfo*, std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> >, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> > > >::FindAndConstruct(clang::IdentifierInfo* const&)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoESt6vectorIPNS1_9MacroInfoESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE16InsertIntoBucketERKS3_RKS8_PSt4pairIS3_S8_E", "llvm::DenseMap<clang::IdentifierInfo*, std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> >, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> > > >::InsertIntoBucket(clang::IdentifierInfo* const&, std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> > const&, std::pair<clang::IdentifierInfo*, std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> > >*)"},
-    {"_ZN4llvm8DenseMapIPN5clang14IdentifierInfoESt6vectorIPNS1_9MacroInfoESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE4growEj", "llvm::DenseMap<clang::IdentifierInfo*, std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> >, llvm::DenseMapInfo<clang::IdentifierInfo*>, llvm::DenseMapInfo<std::vector<clang::MacroInfo*, std::allocator<clang::MacroInfo*> > > >::grow(unsigned int)"},
-    {"_ZN4llvm9StringMapIPN5clang13PragmaHandlerENS_15MallocAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<clang::PragmaHandler*>& llvm::StringMap<clang::PragmaHandler*, llvm::MallocAllocator>::GetOrCreateValue<clang::PragmaHandler*>(llvm::StringRef, clang::PragmaHandler*)"},
-    {"_ZN5clang33ExternalPreprocessingRecordSourceD0Ev", "clang::ExternalPreprocessingRecordSource::~ExternalPreprocessingRecordSource()"},
-    {"_ZN5clang33ExternalPreprocessingRecordSourceD1Ev", "clang::ExternalPreprocessingRecordSource::~ExternalPreprocessingRecordSource()"},
-    {"_ZN5clang33ExternalPreprocessingRecordSourceD2Ev", "clang::ExternalPreprocessingRecordSource::~ExternalPreprocessingRecordSource()"},
-    {"_ZN5clang18InclusionDirectiveC1ERNS_19PreprocessingRecordENS0_13InclusionKindEN4llvm9StringRefEbPKNS_9FileEntryENS_11SourceRangeE", "clang::InclusionDirective::InclusionDirective(clang::PreprocessingRecord&, clang::InclusionDirective::InclusionKind, llvm::StringRef, bool, clang::FileEntry const*, clang::SourceRange)"},
-    {"_ZN5clang18InclusionDirectiveC2ERNS_19PreprocessingRecordENS0_13InclusionKindEN4llvm9StringRefEbPKNS_9FileEntryENS_11SourceRangeE", "clang::InclusionDirective::InclusionDirective(clang::PreprocessingRecord&, clang::InclusionDirective::InclusionKind, llvm::StringRef, bool, clang::FileEntry const*, clang::SourceRange)"},
-    {"_ZNK5clang19PreprocessingRecord29MaybeLoadPreallocatedEntitiesEv", "clang::PreprocessingRecord::MaybeLoadPreallocatedEntities() const"},
-    {"_ZN5clang19PreprocessingRecordC1Ev", "clang::PreprocessingRecord::PreprocessingRecord()"},
-    {"_ZN5clang19PreprocessingRecordC2Ev", "clang::PreprocessingRecord::PreprocessingRecord()"},
-    {"_ZN5clang19PreprocessingRecord5beginEb", "clang::PreprocessingRecord::begin(bool)"},
-    {"_ZN5clang19PreprocessingRecord3endEb", "clang::PreprocessingRecord::end(bool)"},
-    {"_ZNK5clang19PreprocessingRecord5beginEb", "clang::PreprocessingRecord::begin(bool) const"},
-    {"_ZNK5clang19PreprocessingRecord3endEb", "clang::PreprocessingRecord::end(bool) const"},
-    {"_ZN5clang19PreprocessingRecord21addPreprocessedEntityEPNS_18PreprocessedEntityE", "clang::PreprocessingRecord::addPreprocessedEntity(clang::PreprocessedEntity*)"},
-    {"_ZN5clang19PreprocessingRecord17SetExternalSourceERNS_33ExternalPreprocessingRecordSourceEj", "clang::PreprocessingRecord::SetExternalSource(clang::ExternalPreprocessingRecordSource&, unsigned int)"},
-    {"_ZN5clang19PreprocessingRecord21SetPreallocatedEntityEjPNS_18PreprocessedEntityE", "clang::PreprocessingRecord::SetPreallocatedEntity(unsigned int, clang::PreprocessedEntity*)"},
-    {"_ZN5clang19PreprocessingRecord23RegisterMacroDefinitionEPNS_9MacroInfoEPNS_15MacroDefinitionE", "clang::PreprocessingRecord::RegisterMacroDefinition(clang::MacroInfo*, clang::MacroDefinition*)"},
-    {"_ZN5clang19PreprocessingRecord19findMacroDefinitionEPKNS_9MacroInfoE", "clang::PreprocessingRecord::findMacroDefinition(clang::MacroInfo const*)"},
-    {"_ZN5clang19PreprocessingRecord12MacroExpandsERKNS_5TokenEPKNS_9MacroInfoE", "clang::PreprocessingRecord::MacroExpands(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang19PreprocessingRecord12MacroDefinedERKNS_5TokenEPKNS_9MacroInfoE", "clang::PreprocessingRecord::MacroDefined(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang19PreprocessingRecord14MacroUndefinedERKNS_5TokenEPKNS_9MacroInfoE", "clang::PreprocessingRecord::MacroUndefined(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang19PreprocessingRecord18InclusionDirectiveENS_14SourceLocationERKNS_5TokenEN4llvm9StringRefEbPKNS_9FileEntryES1_", "clang::PreprocessingRecord::InclusionDirective(clang::SourceLocation, clang::Token const&, llvm::StringRef, bool, clang::FileEntry const*, clang::SourceLocation)"},
-    {"_ZN5clang19PreprocessingRecordD1Ev", "clang::PreprocessingRecord::~PreprocessingRecord()"},
-    {"_ZN5clang19PreprocessingRecordD0Ev", "clang::PreprocessingRecord::~PreprocessingRecord()"},
-    {"_ZN4llvm8DenseMapIPKN5clang9MacroInfoEPNS1_15MacroDefinitionENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PSt4pairIS4_S6_E", "llvm::DenseMap<clang::MacroInfo const*, clang::MacroDefinition*, llvm::DenseMapInfo<clang::MacroInfo const*>, llvm::DenseMapInfo<clang::MacroDefinition*> >::InsertIntoBucket(clang::MacroInfo const* const&, clang::MacroDefinition* const&, std::pair<clang::MacroInfo const*, clang::MacroDefinition*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9MacroInfoEPNS1_15MacroDefinitionENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<clang::MacroInfo const*, clang::MacroDefinition*, llvm::DenseMapInfo<clang::MacroInfo const*>, llvm::DenseMapInfo<clang::MacroDefinition*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN5clang18PreprocessedEntityESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<clang::PreprocessedEntity**, std::vector<clang::PreprocessedEntity*, std::allocator<clang::PreprocessedEntity*> > >, unsigned long, clang::PreprocessedEntity* const&)"},
-    {"_ZN5clang26ExternalPreprocessorSourceD0Ev", "clang::ExternalPreprocessorSource::~ExternalPreprocessorSource()"},
-    {"_ZN5clang26ExternalPreprocessorSourceD1Ev", "clang::ExternalPreprocessorSource::~ExternalPreprocessorSource()"},
-    {"_ZN5clang26ExternalPreprocessorSourceD2Ev", "clang::ExternalPreprocessorSource::~ExternalPreprocessorSource()"},
-    {"_ZN5clang12PreprocessorC1ERNS_10DiagnosticERKNS_11LangOptionsERKNS_10TargetInfoERNS_13SourceManagerERNS_12HeaderSearchEPNS_20IdentifierInfoLookupEb", "clang::Preprocessor::Preprocessor(clang::Diagnostic&, clang::LangOptions const&, clang::TargetInfo const&, clang::SourceManager&, clang::HeaderSearch&, clang::IdentifierInfoLookup*, bool)"},
-    {"_ZN5clang12PreprocessorC2ERNS_10DiagnosticERKNS_11LangOptionsERKNS_10TargetInfoERNS_13SourceManagerERNS_12HeaderSearchEPNS_20IdentifierInfoLookupEb", "clang::Preprocessor::Preprocessor(clang::Diagnostic&, clang::LangOptions const&, clang::TargetInfo const&, clang::SourceManager&, clang::HeaderSearch&, clang::IdentifierInfoLookup*, bool)"},
-    {"_ZN5clang12PreprocessorD1Ev", "clang::Preprocessor::~Preprocessor()"},
-    {"_ZN5clang12PreprocessorD2Ev", "clang::Preprocessor::~Preprocessor()"},
-    {"_ZN5clang12Preprocessor13setPTHManagerEPNS_10PTHManagerE", "clang::Preprocessor::setPTHManager(clang::PTHManager*)"},
-    {"_ZNK5clang12Preprocessor9DumpTokenERKNS_5TokenEb", "clang::Preprocessor::DumpToken(clang::Token const&, bool) const"},
-    {"_ZNK5clang12Preprocessor12DumpLocationENS_14SourceLocationE", "clang::Preprocessor::DumpLocation(clang::SourceLocation) const"},
-    {"_ZNK5clang12Preprocessor9DumpMacroERKNS_9MacroInfoE", "clang::Preprocessor::DumpMacro(clang::MacroInfo const&) const"},
-    {"_ZN5clang12Preprocessor10PrintStatsEv", "clang::Preprocessor::PrintStats()"},
-    {"_ZNK5clang12Preprocessor11macro_beginEb", "clang::Preprocessor::macro_begin(bool) const"},
-    {"_ZNK5clang12Preprocessor9macro_endEb", "clang::Preprocessor::macro_end(bool) const"},
-    {"_ZN5clang12Preprocessor22SetCodeCompletionPointEPKNS_9FileEntryEjj", "clang::Preprocessor::SetCodeCompletionPoint(clang::FileEntry const*, unsigned int, unsigned int)"},
-    {"_ZNK5clang12Preprocessor20isCodeCompletionFileENS_14SourceLocationE", "clang::Preprocessor::isCodeCompletionFile(clang::SourceLocation) const"},
-    {"_ZN5clang12Preprocessor27CodeCompleteNaturalLanguageEv", "clang::Preprocessor::CodeCompleteNaturalLanguage()"},
-    {"_ZNK5clang12Preprocessor11getSpellingERKNS_5TokenERN4llvm15SmallVectorImplIcEEPb", "clang::Preprocessor::getSpelling(clang::Token const&, llvm::SmallVectorImpl<char>&, bool*) const"},
-    {"_ZN5clang12Preprocessor12CreateStringEPKcjRNS_5TokenENS_14SourceLocationE", "clang::Preprocessor::CreateString(char const*, unsigned int, clang::Token&, clang::SourceLocation)"},
-    {"_ZN5clang12Preprocessor19EnterMainSourceFileEv", "clang::Preprocessor::EnterMainSourceFile()"},
-    {"_ZN5clang12Preprocessor13EndSourceFileEv", "clang::Preprocessor::EndSourceFile()"},
-    {"_ZNK5clang12Preprocessor20LookUpIdentifierInfoERNS_5TokenE", "clang::Preprocessor::LookUpIdentifierInfo(clang::Token&) const"},
-    {"_ZN5clang12Preprocessor16HandleIdentifierERNS_5TokenE", "clang::Preprocessor::HandleIdentifier(clang::Token&)"},
-    {"_ZN5clang12Preprocessor17AddCommentHandlerEPNS_14CommentHandlerE", "clang::Preprocessor::AddCommentHandler(clang::CommentHandler*)"},
-    {"_ZN5clang12Preprocessor20RemoveCommentHandlerEPNS_14CommentHandlerE", "clang::Preprocessor::RemoveCommentHandler(clang::CommentHandler*)"},
-    {"_ZN5clang12Preprocessor13HandleCommentERNS_5TokenENS_11SourceRangeE", "clang::Preprocessor::HandleComment(clang::Token&, clang::SourceRange)"},
-    {"_ZN5clang14CommentHandlerD0Ev", "clang::CommentHandler::~CommentHandler()"},
-    {"_ZN5clang14CommentHandlerD1Ev", "clang::CommentHandler::~CommentHandler()"},
-    {"_ZN5clang14CommentHandlerD2Ev", "clang::CommentHandler::~CommentHandler()"},
-    {"_ZN5clang21CodeCompletionHandlerD0Ev", "clang::CodeCompletionHandler::~CodeCompletionHandler()"},
-    {"_ZN5clang21CodeCompletionHandlerD1Ev", "clang::CodeCompletionHandler::~CodeCompletionHandler()"},
-    {"_ZN5clang21CodeCompletionHandlerD2Ev", "clang::CodeCompletionHandler::~CodeCompletionHandler()"},
-    {"_ZN5clang12Preprocessor25createPreprocessingRecordEv", "clang::Preprocessor::createPreprocessingRecord()"},
-    {"_ZN5clang21CodeCompletionHandler21CodeCompleteDirectiveEb", "clang::CodeCompletionHandler::CodeCompleteDirective(bool)"},
-    {"_ZN5clang21CodeCompletionHandler34CodeCompleteInConditionalExclusionEv", "clang::CodeCompletionHandler::CodeCompleteInConditionalExclusion()"},
-    {"_ZN5clang21CodeCompletionHandler21CodeCompleteMacroNameEb", "clang::CodeCompletionHandler::CodeCompleteMacroName(bool)"},
-    {"_ZN5clang21CodeCompletionHandler34CodeCompletePreprocessorExpressionEv", "clang::CodeCompletionHandler::CodeCompletePreprocessorExpression()"},
-    {"_ZN5clang21CodeCompletionHandler25CodeCompleteMacroArgumentEPNS_14IdentifierInfoEPNS_9MacroInfoEj", "clang::CodeCompletionHandler::CodeCompleteMacroArgument(clang::IdentifierInfo*, clang::MacroInfo*, unsigned int)"},
-    {"_ZN5clang21CodeCompletionHandler27CodeCompleteNaturalLanguageEv", "clang::CodeCompletionHandler::CodeCompleteNaturalLanguage()"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN5clang14CommentHandlerESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<clang::CommentHandler**, std::vector<clang::CommentHandler*, std::allocator<clang::CommentHandler*> > > std::__find<__gnu_cxx::__normal_iterator<clang::CommentHandler**, std::vector<clang::CommentHandler*, std::allocator<clang::CommentHandler*> > >, clang::CommentHandler*>(__gnu_cxx::__normal_iterator<clang::CommentHandler**, std::vector<clang::CommentHandler*, std::allocator<clang::CommentHandler*> > >, __gnu_cxx::__normal_iterator<clang::CommentHandler**, std::vector<clang::CommentHandler*, std::allocator<clang::CommentHandler*> > >, clang::CommentHandler* const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIPN5clang14CommentHandlerESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::CommentHandler*, std::allocator<clang::CommentHandler*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CommentHandler**, std::vector<clang::CommentHandler*, std::allocator<clang::CommentHandler*> > >, clang::CommentHandler* const&)"},
-    {"_ZN5clang18PPChainedCallbacksD1Ev", "clang::PPChainedCallbacks::~PPChainedCallbacks()"},
-    {"_ZN5clang18PPChainedCallbacksD0Ev", "clang::PPChainedCallbacks::~PPChainedCallbacks()"},
-    {"_ZN5clang18PPChainedCallbacks11FileChangedENS_14SourceLocationENS_11PPCallbacks16FileChangeReasonENS_6SrcMgr18CharacteristicKindE", "clang::PPChainedCallbacks::FileChanged(clang::SourceLocation, clang::PPCallbacks::FileChangeReason, clang::SrcMgr::CharacteristicKind)"},
-    {"_ZN5clang18PPChainedCallbacks11FileSkippedERKNS_9FileEntryERKNS_5TokenENS_6SrcMgr18CharacteristicKindE", "clang::PPChainedCallbacks::FileSkipped(clang::FileEntry const&, clang::Token const&, clang::SrcMgr::CharacteristicKind)"},
-    {"_ZN5clang11PPCallbacks18InclusionDirectiveENS_14SourceLocationERKNS_5TokenEN4llvm9StringRefEbPKNS_9FileEntryES1_", "clang::PPCallbacks::InclusionDirective(clang::SourceLocation, clang::Token const&, llvm::StringRef, bool, clang::FileEntry const*, clang::SourceLocation)"},
-    {"_ZN5clang18PPChainedCallbacks13EndOfMainFileEv", "clang::PPChainedCallbacks::EndOfMainFile()"},
-    {"_ZN5clang18PPChainedCallbacks5IdentENS_14SourceLocationERKSs", "clang::PPChainedCallbacks::Ident(clang::SourceLocation, std::string const&)"},
-    {"_ZN5clang18PPChainedCallbacks13PragmaCommentENS_14SourceLocationEPKNS_14IdentifierInfoERKSs", "clang::PPChainedCallbacks::PragmaComment(clang::SourceLocation, clang::IdentifierInfo const*, std::string const&)"},
-    {"_ZN5clang18PPChainedCallbacks13PragmaMessageENS_14SourceLocationEN4llvm9StringRefE", "clang::PPChainedCallbacks::PragmaMessage(clang::SourceLocation, llvm::StringRef)"},
-    {"_ZN5clang18PPChainedCallbacks12MacroExpandsERKNS_5TokenEPKNS_9MacroInfoE", "clang::PPChainedCallbacks::MacroExpands(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang18PPChainedCallbacks12MacroDefinedERKNS_5TokenEPKNS_9MacroInfoE", "clang::PPChainedCallbacks::MacroDefined(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang18PPChainedCallbacks14MacroUndefinedERKNS_5TokenEPKNS_9MacroInfoE", "clang::PPChainedCallbacks::MacroUndefined(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang18PPChainedCallbacks2IfENS_11SourceRangeE", "clang::PPChainedCallbacks::If(clang::SourceRange)"},
-    {"_ZN5clang18PPChainedCallbacks4ElifENS_11SourceRangeE", "clang::PPChainedCallbacks::Elif(clang::SourceRange)"},
-    {"_ZN5clang18PPChainedCallbacks5IfdefERKNS_5TokenE", "clang::PPChainedCallbacks::Ifdef(clang::Token const&)"},
-    {"_ZN5clang18PPChainedCallbacks6IfndefERKNS_5TokenE", "clang::PPChainedCallbacks::Ifndef(clang::Token const&)"},
-    {"_ZN5clang18PPChainedCallbacks4ElseEv", "clang::PPChainedCallbacks::Else()"},
-    {"_ZN5clang18PPChainedCallbacks5EndifEv", "clang::PPChainedCallbacks::Endif()"},
-    {"_ZN5clang11PPCallbacks11FileChangedENS_14SourceLocationENS0_16FileChangeReasonENS_6SrcMgr18CharacteristicKindE", "clang::PPCallbacks::FileChanged(clang::SourceLocation, clang::PPCallbacks::FileChangeReason, clang::SrcMgr::CharacteristicKind)"},
-    {"_ZN5clang11PPCallbacks11FileSkippedERKNS_9FileEntryERKNS_5TokenENS_6SrcMgr18CharacteristicKindE", "clang::PPCallbacks::FileSkipped(clang::FileEntry const&, clang::Token const&, clang::SrcMgr::CharacteristicKind)"},
-    {"_ZN5clang11PPCallbacks13EndOfMainFileEv", "clang::PPCallbacks::EndOfMainFile()"},
-    {"_ZN5clang11PPCallbacks5IdentENS_14SourceLocationERKSs", "clang::PPCallbacks::Ident(clang::SourceLocation, std::string const&)"},
-    {"_ZN5clang11PPCallbacks13PragmaCommentENS_14SourceLocationEPKNS_14IdentifierInfoERKSs", "clang::PPCallbacks::PragmaComment(clang::SourceLocation, clang::IdentifierInfo const*, std::string const&)"},
-    {"_ZN5clang11PPCallbacks13PragmaMessageENS_14SourceLocationEN4llvm9StringRefE", "clang::PPCallbacks::PragmaMessage(clang::SourceLocation, llvm::StringRef)"},
-    {"_ZN5clang11PPCallbacks12MacroExpandsERKNS_5TokenEPKNS_9MacroInfoE", "clang::PPCallbacks::MacroExpands(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang11PPCallbacks12MacroDefinedERKNS_5TokenEPKNS_9MacroInfoE", "clang::PPCallbacks::MacroDefined(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang11PPCallbacks14MacroUndefinedERKNS_5TokenEPKNS_9MacroInfoE", "clang::PPCallbacks::MacroUndefined(clang::Token const&, clang::MacroInfo const*)"},
-    {"_ZN5clang11PPCallbacks2IfENS_11SourceRangeE", "clang::PPCallbacks::If(clang::SourceRange)"},
-    {"_ZN5clang11PPCallbacks4ElifENS_11SourceRangeE", "clang::PPCallbacks::Elif(clang::SourceRange)"},
-    {"_ZN5clang11PPCallbacks5IfdefERKNS_5TokenE", "clang::PPCallbacks::Ifdef(clang::Token const&)"},
-    {"_ZN5clang11PPCallbacks6IfndefERKNS_5TokenE", "clang::PPCallbacks::Ifndef(clang::Token const&)"},
-    {"_ZN5clang11PPCallbacks4ElseEv", "clang::PPCallbacks::Else()"},
-    {"_ZN5clang11PPCallbacks5EndifEv", "clang::PPCallbacks::Endif()"},
-    {"_ZN5clang15PragmaNamespace14getIfNamespaceEv", "clang::PragmaNamespace::getIfNamespace()"},
-    {"_ZN5clang13PragmaHandler14getIfNamespaceEv", "clang::PragmaHandler::getIfNamespace()"},
-    {"_ZN5clang15IdentifierTable3getEN4llvm9StringRefE", "clang::IdentifierTable::get(llvm::StringRef)"},
-    {"_ZN4llvm9StringMapIPN5clang14IdentifierInfoENS_16BumpPtrAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<clang::IdentifierInfo*>& llvm::StringMap<clang::IdentifierInfo*, llvm::BumpPtrAllocator>::GetOrCreateValue<clang::IdentifierInfo*>(llvm::StringRef, clang::IdentifierInfo*)"},
-    {"_ZN5clang11LangOptionsC2ERKS0_", "clang::LangOptions::LangOptions(clang::LangOptions const&)"},
-    {"_ZN5clang17PreprocessorLexer18LexIncludeFilenameERNS_5TokenE", "clang::PreprocessorLexer::LexIncludeFilename(clang::Token&)"},
-    {"_ZNK5clang17PreprocessorLexer12getFileEntryEv", "clang::PreprocessorLexer::getFileEntry() const"},
-    {"_ZN5clang13ScratchBufferC1ERNS_13SourceManagerE", "clang::ScratchBuffer::ScratchBuffer(clang::SourceManager&)"},
-    {"_ZN5clang13ScratchBufferC2ERNS_13SourceManagerE", "clang::ScratchBuffer::ScratchBuffer(clang::SourceManager&)"},
-    {"_ZN5clang13ScratchBuffer8getTokenEPKcjRS2_", "clang::ScratchBuffer::getToken(char const*, unsigned int, char const*&)"},
-    {"_ZN5clang13ScratchBuffer18AllocScratchBufferEj", "clang::ScratchBuffer::AllocScratchBuffer(unsigned int)"},
-    {"_ZNK5clang18TokenConcatenation11StartsWithLERKNS_5TokenE", "clang::TokenConcatenation::StartsWithL(clang::Token const&) const"},
-    {"_ZNK5clang18TokenConcatenation13IsIdentifierLERKNS_5TokenE", "clang::TokenConcatenation::IsIdentifierL(clang::Token const&) const"},
-    {"_ZN5clang18TokenConcatenationC1ERNS_12PreprocessorE", "clang::TokenConcatenation::TokenConcatenation(clang::Preprocessor&)"},
-    {"_ZN5clang18TokenConcatenationC2ERNS_12PreprocessorE", "clang::TokenConcatenation::TokenConcatenation(clang::Preprocessor&)"},
-    {"_ZNK5clang18TokenConcatenation11AvoidConcatERKNS_5TokenES3_S3_", "clang::TokenConcatenation::AvoidConcat(clang::Token const&, clang::Token const&, clang::Token const&) const"},
-    {"_Z12GetFirstCharRN5clang12PreprocessorERKNS_5TokenE", "GetFirstChar(clang::Preprocessor&, clang::Token const&)"},
-    {"_ZN5clang10TokenLexer4InitERNS_5TokenENS_14SourceLocationEPNS_9MacroArgsE", "clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroArgs*)"},
-    {"_ZN5clang10TokenLexer7destroyEv", "clang::TokenLexer::destroy()"},
-    {"_ZN5clang10TokenLexer23ExpandFunctionArgumentsEv", "clang::TokenLexer::ExpandFunctionArguments()"},
-    {"_ZN5clang10TokenLexer4InitEPKNS_5TokenEjbb", "clang::TokenLexer::Init(clang::Token const*, unsigned int, bool, bool)"},
-    {"_ZN5clang10TokenLexer3LexERNS_5TokenE", "clang::TokenLexer::Lex(clang::Token&)"},
-    {"_ZN5clang10TokenLexer11PasteTokensERNS_5TokenE", "clang::TokenLexer::PasteTokens(clang::Token&)"},
-    {"_ZN5clang10TokenLexer27HandleMicrosoftCommentPasteERNS_5TokenE", "clang::TokenLexer::HandleMicrosoftCommentPaste(clang::Token&)"},
-    {"_ZNK5clang10TokenLexer17isNextTokenLParenEv", "clang::TokenLexer::isNextTokenLParen() const"},
-    {"_ZNK5clang7Builtin7Context9GetRecordEj", "clang::Builtin::Context::GetRecord(unsigned int) const"},
-    {"_ZN5clang7Builtin7ContextC1ERKNS_10TargetInfoE", "clang::Builtin::Context::Context(clang::TargetInfo const&)"},
-    {"_ZN5clang7Builtin7ContextC2ERKNS_10TargetInfoE", "clang::Builtin::Context::Context(clang::TargetInfo const&)"},
-    {"_ZN5clang7Builtin7Context18InitializeBuiltinsERNS_15IdentifierTableERKNS_11LangOptionsE", "clang::Builtin::Context::InitializeBuiltins(clang::IdentifierTable&, clang::LangOptions const&)"},
-    {"_ZN5clang7Builtin7Context15GetBuiltinNamesERN4llvm15SmallVectorImplIPKcEEb", "clang::Builtin::Context::GetBuiltinNames(llvm::SmallVectorImpl<char const*>&, bool)"},
-    {"_ZN5clang7Builtin7Context13ForgetBuiltinEjRNS_15IdentifierTableE", "clang::Builtin::Context::ForgetBuiltin(unsigned int, clang::IdentifierTable&)"},
-    {"_ZN5clang7Builtin7Context12isPrintfLikeEjRjRb", "clang::Builtin::Context::isPrintfLike(unsigned int, unsigned int&, bool&)"},
-    {"_ZN5clang7Builtin7Context11isScanfLikeEjRjRb", "clang::Builtin::Context::isScanfLike(unsigned int, unsigned int&, bool&)"},
-    {"_ZN5clang10DiagnosticC1ERKN4llvm18IntrusiveRefCntPtrINS_13DiagnosticIDsEEEPNS_16DiagnosticClientEb", "clang::Diagnostic::Diagnostic(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> const&, clang::DiagnosticClient*, bool)"},
-    {"_ZN5clang10DiagnosticC2ERKN4llvm18IntrusiveRefCntPtrINS_13DiagnosticIDsEEEPNS_16DiagnosticClientEb", "clang::Diagnostic::Diagnostic(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> const&, clang::DiagnosticClient*, bool)"},
-    {"_Z18DummyArgToStringFnN5clang10Diagnostic12ArgumentKindElPKcjS3_jPKSt4pairIS1_lEjRN4llvm15SmallVectorImplIcEEPv", "DummyArgToStringFn(clang::Diagnostic::ArgumentKind, long, char const*, unsigned int, char const*, unsigned int, std::pair<clang::Diagnostic::ArgumentKind, long> const*, unsigned int, llvm::SmallVectorImpl<char>&, void*)"},
-    {"_ZN5clang10Diagnostic5ResetEv", "clang::Diagnostic::Reset()"},
-    {"_ZN5clang10DiagnosticD1Ev", "clang::Diagnostic::~Diagnostic()"},
-    {"_ZN5clang10DiagnosticD2Ev", "clang::Diagnostic::~Diagnostic()"},
-    {"_ZN5clang10Diagnostic9setClientEPNS_16DiagnosticClientEb", "clang::Diagnostic::setClient(clang::DiagnosticClient*, bool)"},
-    {"_ZN5clang10Diagnostic12pushMappingsENS_14SourceLocationE", "clang::Diagnostic::pushMappings(clang::SourceLocation)"},
-    {"_ZN5clang10Diagnostic11popMappingsENS_14SourceLocationE", "clang::Diagnostic::popMappings(clang::SourceLocation)"},
-    {"_ZN5clang10Diagnostic20SetDelayedDiagnosticEjN4llvm9StringRefES2_", "clang::Diagnostic::SetDelayedDiagnostic(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZN5clang10Diagnostic13ReportDelayedEv", "clang::Diagnostic::ReportDelayed()"},
-    {"_ZNK5clang10Diagnostic23GetDiagStatePointForLocENS_14SourceLocationE", "clang::Diagnostic::GetDiagStatePointForLoc(clang::SourceLocation) const"},
-    {"_ZN5clang10Diagnostic20setDiagnosticMappingEjNS_4diag7MappingENS_14SourceLocationE", "clang::Diagnostic::setDiagnosticMapping(unsigned int, clang::diag::Mapping, clang::SourceLocation)"},
-    {"_ZN5clang17DiagnosticBuilder11FlushCountsEv", "clang::DiagnosticBuilder::FlushCounts()"},
-    {"_ZN5clang17DiagnosticBuilder4EmitEv", "clang::DiagnosticBuilder::Emit()"},
-    {"_ZN5clang16DiagnosticClientD0Ev", "clang::DiagnosticClient::~DiagnosticClient()"},
-    {"_ZN5clang16DiagnosticClientD1Ev", "clang::DiagnosticClient::~DiagnosticClient()"},
-    {"_ZN5clang16DiagnosticClientD2Ev", "clang::DiagnosticClient::~DiagnosticClient()"},
-    {"_ZN5clang16DiagnosticClient16HandleDiagnosticENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::DiagnosticClient::HandleDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZNK5clang14DiagnosticInfo16FormatDiagnosticERN4llvm15SmallVectorImplIcEE", "clang::DiagnosticInfo::FormatDiagnostic(llvm::SmallVectorImpl<char>&) const"},
-    {"_ZNK5clang14DiagnosticInfo16FormatDiagnosticEPKcS2_RN4llvm15SmallVectorImplIcEE", "clang::DiagnosticInfo::FormatDiagnostic(char const*, char const*, llvm::SmallVectorImpl<char>&) const"},
-    {"_Z10ScanFormatPKcS0_c", "ScanFormat(char const*, char const*, char)"},
-    {"_Z20HandlePluralModifierRKN5clang14DiagnosticInfoEjPKcjRN4llvm15SmallVectorImplIcEE", "HandlePluralModifier(clang::DiagnosticInfo const&, unsigned int, char const*, unsigned int, llvm::SmallVectorImpl<char>&)"},
-    {"_Z21HandleOrdinalModifierjRN4llvm15SmallVectorImplIcEE", "HandleOrdinalModifier(unsigned int, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN5clang16StoredDiagnosticC1Ev", "clang::StoredDiagnostic::StoredDiagnostic()"},
-    {"_ZN5clang16StoredDiagnosticC2Ev", "clang::StoredDiagnostic::StoredDiagnostic()"},
-    {"_ZN5clang16StoredDiagnosticC1ENS_10Diagnostic5LevelEjN4llvm9StringRefE", "clang::StoredDiagnostic::StoredDiagnostic(clang::Diagnostic::Level, unsigned int, llvm::StringRef)"},
-    {"_ZN5clang16StoredDiagnosticC2ENS_10Diagnostic5LevelEjN4llvm9StringRefE", "clang::StoredDiagnostic::StoredDiagnostic(clang::Diagnostic::Level, unsigned int, llvm::StringRef)"},
-    {"_ZN5clang16StoredDiagnosticC1ENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::StoredDiagnostic::StoredDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZN5clang16StoredDiagnosticC2ENS_10Diagnostic5LevelERKNS_14DiagnosticInfoE", "clang::StoredDiagnostic::StoredDiagnostic(clang::Diagnostic::Level, clang::DiagnosticInfo const&)"},
-    {"_ZN5clang16StoredDiagnosticD1Ev", "clang::StoredDiagnostic::~StoredDiagnostic()"},
-    {"_ZN5clang16StoredDiagnosticD2Ev", "clang::StoredDiagnostic::~StoredDiagnostic()"},
-    {"_ZNK5clang16DiagnosticClient25IncludeInDiagnosticCountsEv", "clang::DiagnosticClient::IncludeInDiagnosticCounts() const"},
-    {"_ZN5clang17PartialDiagnostic16StorageAllocatorC1Ev", "clang::PartialDiagnostic::StorageAllocator::StorageAllocator()"},
-    {"_ZN5clang17PartialDiagnostic16StorageAllocatorC2Ev", "clang::PartialDiagnostic::StorageAllocator::StorageAllocator()"},
-    {"_ZN5clang17PartialDiagnostic16StorageAllocatorD1Ev", "clang::PartialDiagnostic::StorageAllocator::~StorageAllocator()"},
-    {"_ZN5clang17PartialDiagnostic16StorageAllocatorD2Ev", "clang::PartialDiagnostic::StorageAllocator::~StorageAllocator()"},
-    {"_ZNSt6vectorIN5clang15CharSourceRangeESaIS1_EE7reserveEm", "std::vector<clang::CharSourceRange, std::allocator<clang::CharSourceRange> >::reserve(unsigned long)"},
-    {"_ZNSt6vectorIN5clang9FixItHintESaIS1_EE7reserveEm", "std::vector<clang::FixItHint, std::allocator<clang::FixItHint> >::reserve(unsigned long)"},
-    {"_ZNSt6vectorIN5clang9FixItHintESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::FixItHint, std::allocator<clang::FixItHint> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::FixItHint*, std::vector<clang::FixItHint, std::allocator<clang::FixItHint> > >, clang::FixItHint const&)"},
-    {"_ZNSt6vectorIN5clang15CharSourceRangeESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::CharSourceRange, std::allocator<clang::CharSourceRange> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CharSourceRange*, std::vector<clang::CharSourceRange, std::allocator<clang::CharSourceRange> > >, clang::CharSourceRange const&)"},
-    {"_ZNSt6vectorIN5clang10Diagnostic14DiagStatePointESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::Diagnostic::DiagStatePoint, std::allocator<clang::Diagnostic::DiagStatePoint> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::Diagnostic::DiagStatePoint*, std::vector<clang::Diagnostic::DiagStatePoint, std::allocator<clang::Diagnostic::DiagStatePoint> > >, clang::Diagnostic::DiagStatePoint const&)"},
-    {"_ZNSt6vectorIPN5clang10Diagnostic9DiagStateESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<clang::Diagnostic::DiagState*, std::allocator<clang::Diagnostic::DiagState*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::Diagnostic::DiagState**, std::vector<clang::Diagnostic::DiagState*, std::allocator<clang::Diagnostic::DiagState*> > >, clang::Diagnostic::DiagState* const&)"},
-    {"_ZN4llvm8DenseMapIjjNS_12DenseMapInfoIjEES2_E8CopyFromERKS3_", "llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >::CopyFrom(llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> > const&)"},
-    {"_ZN5clang17PartialDiagnostic7StorageD2Ev", "clang::PartialDiagnostic::Storage::~Storage()"},
-    {"_ZN5clang13DiagnosticIDs23getWarningOptionForDiagEj", "clang::DiagnosticIDs::getWarningOptionForDiag(unsigned int)"},
-    {"_ZN5clang13DiagnosticIDs24getCategoryNumberForDiagEj", "clang::DiagnosticIDs::getCategoryNumberForDiag(unsigned int)"},
-    {"_ZN5clang13DiagnosticIDs21getCategoryNameFromIDEj", "clang::DiagnosticIDs::getCategoryNameFromID(unsigned int)"},
-    {"_ZN5clang13DiagnosticIDs27getDiagnosticSFINAEResponseEj", "clang::DiagnosticIDs::getDiagnosticSFINAEResponse(unsigned int)"},
-    {"_ZN5clang13DiagnosticIDsC1Ev", "clang::DiagnosticIDs::DiagnosticIDs()"},
-    {"_ZN5clang13DiagnosticIDsC2Ev", "clang::DiagnosticIDs::DiagnosticIDs()"},
-    {"_ZN5clang13DiagnosticIDsD1Ev", "clang::DiagnosticIDs::~DiagnosticIDs()"},
-    {"_ZN5clang13DiagnosticIDsD2Ev", "clang::DiagnosticIDs::~DiagnosticIDs()"},
-    {"_ZN5clang13DiagnosticIDs15getCustomDiagIDENS0_5LevelEN4llvm9StringRefE", "clang::DiagnosticIDs::getCustomDiagID(clang::DiagnosticIDs::Level, llvm::StringRef)"},
-    {"_ZN5clang13DiagnosticIDs27isBuiltinWarningOrExtensionEj", "clang::DiagnosticIDs::isBuiltinWarningOrExtension(unsigned int)"},
-    {"_ZN5clang13DiagnosticIDs13isBuiltinNoteEj", "clang::DiagnosticIDs::isBuiltinNote(unsigned int)"},
-    {"_ZN5clang13DiagnosticIDs22isBuiltinExtensionDiagEjRb", "clang::DiagnosticIDs::isBuiltinExtensionDiag(unsigned int, bool&)"},
-    {"_ZNK5clang13DiagnosticIDs14getDescriptionEj", "clang::DiagnosticIDs::getDescription(unsigned int) const"},
-    {"_ZNK5clang13DiagnosticIDs18getDiagnosticLevelEjNS_14SourceLocationERKNS_10DiagnosticE", "clang::DiagnosticIDs::getDiagnosticLevel(unsigned int, clang::SourceLocation, clang::Diagnostic const&) const"},
-    {"_ZNK5clang13DiagnosticIDs18getDiagnosticLevelEjjNS_14SourceLocationERKNS_10DiagnosticE", "clang::DiagnosticIDs::getDiagnosticLevel(unsigned int, unsigned int, clang::SourceLocation, clang::Diagnostic const&) const"},
-    {"_ZNK5clang13DiagnosticIDs25setDiagnosticGroupMappingEPKcNS_4diag7MappingENS_14SourceLocationERNS_10DiagnosticE", "clang::DiagnosticIDs::setDiagnosticGroupMapping(char const*, clang::diag::Mapping, clang::SourceLocation, clang::Diagnostic&) const"},
-    {"_Z15MapGroupMembersPK13WarningOptionN5clang4diag7MappingENS2_14SourceLocationERNS2_10DiagnosticE", "MapGroupMembers(WarningOption const*, clang::diag::Mapping, clang::SourceLocation, clang::Diagnostic&)"},
-    {"_ZNK5clang13DiagnosticIDs11ProcessDiagERNS_10DiagnosticE", "clang::DiagnosticIDs::ProcessDiag(clang::Diagnostic&) const"},
-    {"_ZN5clang4diag14CustomDiagInfo17getOrCreateDiagIDENS_13DiagnosticIDs5LevelEN4llvm9StringRefERS2_", "clang::diag::CustomDiagInfo::getOrCreateDiagID(clang::DiagnosticIDs::Level, llvm::StringRef, clang::DiagnosticIDs&)"},
-    {"_ZN4llvm8DenseMapIjjNS_12DenseMapInfoIjEES2_E16InsertIntoBucketERKjS5_PSt4pairIjjE", "llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(unsigned int const&, unsigned int const&, std::pair<unsigned int, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIjjNS_12DenseMapInfoIjEES2_E4growEj", "llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIN5clang13DiagnosticIDs5LevelESsESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<clang::DiagnosticIDs::Level, std::string>, std::allocator<std::pair<clang::DiagnosticIDs::Level, std::string> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<clang::DiagnosticIDs::Level, std::string>*, std::vector<std::pair<clang::DiagnosticIDs::Level, std::string>, std::allocator<std::pair<clang::DiagnosticIDs::Level, std::string> > > >, std::pair<clang::DiagnosticIDs::Level, std::string> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIN5clang13DiagnosticIDs5LevelESsES0_IKS4_jESt10_Select1stIS6_ESt4lessIS4_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<std::pair<clang::DiagnosticIDs::Level, std::string>, std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int>, std::_Select1st<std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> >, std::less<std::pair<clang::DiagnosticIDs::Level, std::string> >, std::allocator<std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> > >::_M_insert_unique(std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIN5clang13DiagnosticIDs5LevelESsES0_IKS4_jESt10_Select1stIS6_ESt4lessIS4_ESaIS6_EE9_M_insertEPSt18_Rb_tree_node_baseSE_RKS6_", "std::_Rb_tree<std::pair<clang::DiagnosticIDs::Level, std::string>, std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int>, std::_Select1st<std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> >, std::less<std::pair<clang::DiagnosticIDs::Level, std::string> >, std::allocator<std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIN5clang13DiagnosticIDs5LevelESsES0_IKS4_jESt10_Select1stIS6_ESt4lessIS4_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<std::pair<clang::DiagnosticIDs::Level, std::string>, std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int>, std::_Select1st<std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> >, std::less<std::pair<clang::DiagnosticIDs::Level, std::string> >, std::allocator<std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<clang::DiagnosticIDs::Level, std::string> const, unsigned int> >*)"},
-    {"_ZN5clang9FileEntryD1Ev", "clang::FileEntry::~FileEntry()"},
-    {"_ZN5clang9FileEntryD2Ev", "clang::FileEntry::~FileEntry()"},
-    {"_ZN5clang11FileManagerC1ERKNS_17FileSystemOptionsE", "clang::FileManager::FileManager(clang::FileSystemOptions const&)"},
-    {"_ZN5clang11FileManagerC2ERKNS_17FileSystemOptionsE", "clang::FileManager::FileManager(clang::FileSystemOptions const&)"},
-    {"_ZN5clang11FileManagerD1Ev", "clang::FileManager::~FileManager()"},
-    {"_ZN5clang11FileManagerD2Ev", "clang::FileManager::~FileManager()"},
-    {"_ZN5clang11FileManager12addStatCacheEPNS_19FileSystemStatCacheEb", "clang::FileManager::addStatCache(clang::FileSystemStatCache*, bool)"},
-    {"_ZN5clang11FileManager15removeStatCacheEPNS_19FileSystemStatCacheE", "clang::FileManager::removeStatCache(clang::FileSystemStatCache*)"},
-    {"_ZN5clang11FileManager12getDirectoryEN4llvm9StringRefE", "clang::FileManager::getDirectory(llvm::StringRef)"},
-    {"_ZN5clang11FileManager12getStatValueEPKcR4statPi", "clang::FileManager::getStatValue(char const*, stat&, int*)"},
-    {"_ZN5clang11FileManager7getFileEN4llvm9StringRefE", "clang::FileManager::getFile(llvm::StringRef)"},
-    {"_ZN5clang11FileManager14getVirtualFileEN4llvm9StringRefExl", "clang::FileManager::getVirtualFile(llvm::StringRef, long long, long)"},
-    {"_ZN5clang11FileManager17FixupRelativePathERN4llvm3sys4PathERKNS_17FileSystemOptionsE", "clang::FileManager::FixupRelativePath(llvm::sys::Path&, clang::FileSystemOptions const&)"},
-    {"_ZN5clang11FileManager16getBufferForFileEPKNS_9FileEntryEPSs", "clang::FileManager::getBufferForFile(clang::FileEntry const*, std::string*)"},
-    {"_ZN5clang11FileManager16getBufferForFileEN4llvm9StringRefEPSs", "clang::FileManager::getBufferForFile(llvm::StringRef, std::string*)"},
-    {"_ZNK5clang11FileManager10PrintStatsEv", "clang::FileManager::PrintStats() const"},
-    {"_ZN4llvm9StringMapIPN5clang9FileEntryENS_16BumpPtrAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<clang::FileEntry*>& llvm::StringMap<clang::FileEntry*, llvm::BumpPtrAllocator>::GetOrCreateValue<clang::FileEntry*>(llvm::StringRef, clang::FileEntry*)"},
-    {"_ZN4llvm9StringMapIPN5clang14DirectoryEntryENS_16BumpPtrAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<clang::DirectoryEntry*>& llvm::StringMap<clang::DirectoryEntry*, llvm::BumpPtrAllocator>::GetOrCreateValue<clang::DirectoryEntry*>(llvm::StringRef, clang::DirectoryEntry*)"},
-    {"_ZNSt8_Rb_treeIN5clang9FileEntryES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE16_M_insert_uniqueERKS1_", "std::_Rb_tree<clang::FileEntry, clang::FileEntry, std::_Identity<clang::FileEntry>, std::less<clang::FileEntry>, std::allocator<clang::FileEntry> >::_M_insert_unique(clang::FileEntry const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIiyES0_IKS1_N5clang14DirectoryEntryEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<std::pair<int, unsigned long long>, std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry>, std::_Select1st<std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> >, std::less<std::pair<int, unsigned long long> >, std::allocator<std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> >, std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIiyES0_IKS1_N5clang14DirectoryEntryEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<std::pair<int, unsigned long long>, std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry>, std::_Select1st<std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> >, std::less<std::pair<int, unsigned long long> >, std::allocator<std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> > >::_M_insert_unique(std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> const&)"},
-    {"_ZNSt8_Rb_treeIN5clang9FileEntryES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE8_M_eraseEPSt13_Rb_tree_nodeIS1_E", "std::_Rb_tree<clang::FileEntry, clang::FileEntry, std::_Identity<clang::FileEntry>, std::less<clang::FileEntry>, std::allocator<clang::FileEntry> >::_M_erase(std::_Rb_tree_node<clang::FileEntry>*)"},
-    {"_ZNSt8_Rb_treeISt4pairIiyES0_IKS1_N5clang14DirectoryEntryEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<std::pair<int, unsigned long long>, std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry>, std::_Select1st<std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> >, std::less<std::pair<int, unsigned long long> >, std::allocator<std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<int, unsigned long long> const, clang::DirectoryEntry> >*)"},
-    {"_ZN5clang19FileSystemStatCache3getEPKcR4statPiPS0_", "clang::FileSystemStatCache::get(char const*, stat&, int*, clang::FileSystemStatCache*)"},
-    {"_ZN5clang17MemorizeStatCalls7getStatEPKcR4statPi", "clang::MemorizeStatCalls::getStat(char const*, stat&, int*)"},
-    {"_ZN5clang17MemorizeStatCallsD1Ev", "clang::MemorizeStatCalls::~MemorizeStatCalls()"},
-    {"_ZN5clang17MemorizeStatCallsD0Ev", "clang::MemorizeStatCalls::~MemorizeStatCalls()"},
-    {"_ZN4llvm9StringMapI4statNS_16BumpPtrAllocatorEE16GetOrCreateValueIS1_EERNS_14StringMapEntryIS1_EENS_9StringRefET_", "llvm::StringMapEntry<stat>& llvm::StringMap<stat, llvm::BumpPtrAllocator>::GetOrCreateValue<stat>(llvm::StringRef, stat)"},
-    {"_ZN5clang14IdentifierInfoC1Ev", "clang::IdentifierInfo::IdentifierInfo()"},
-    {"_ZN5clang14IdentifierInfoC2Ev", "clang::IdentifierInfo::IdentifierInfo()"},
-    {"_ZN5clang18IdentifierIteratorD0Ev", "clang::IdentifierIterator::~IdentifierIterator()"},
-    {"_ZN5clang18IdentifierIteratorD1Ev", "clang::IdentifierIterator::~IdentifierIterator()"},
-    {"_ZN5clang18IdentifierIteratorD2Ev", "clang::IdentifierIterator::~IdentifierIterator()"},
-    {"_ZN5clang20IdentifierInfoLookupD0Ev", "clang::IdentifierInfoLookup::~IdentifierInfoLookup()"},
-    {"_ZN5clang20IdentifierInfoLookupD1Ev", "clang::IdentifierInfoLookup::~IdentifierInfoLookup()"},
-    {"_ZN5clang20IdentifierInfoLookupD2Ev", "clang::IdentifierInfoLookup::~IdentifierInfoLookup()"},
-    {"_ZNK5clang20IdentifierInfoLookup14getIdentifiersEv", "clang::IdentifierInfoLookup::getIdentifiers() const"},
-    {"_ZN5clang24ExternalIdentifierLookupD0Ev", "clang::ExternalIdentifierLookup::~ExternalIdentifierLookup()"},
-    {"_ZN5clang24ExternalIdentifierLookupD1Ev", "clang::ExternalIdentifierLookup::~ExternalIdentifierLookup()"},
-    {"_ZN5clang24ExternalIdentifierLookupD2Ev", "clang::ExternalIdentifierLookup::~ExternalIdentifierLookup()"},
-    {"_ZN5clang15IdentifierTableC1ERKNS_11LangOptionsEPNS_20IdentifierInfoLookupE", "clang::IdentifierTable::IdentifierTable(clang::LangOptions const&, clang::IdentifierInfoLookup*)"},
-    {"_ZN5clang15IdentifierTableC2ERKNS_11LangOptionsEPNS_20IdentifierInfoLookupE", "clang::IdentifierTable::IdentifierTable(clang::LangOptions const&, clang::IdentifierInfoLookup*)"},
-    {"_ZN5clang15IdentifierTable11AddKeywordsERKNS_11LangOptionsE", "clang::IdentifierTable::AddKeywords(clang::LangOptions const&)"},
-    {"_ZNK5clang14IdentifierInfo14getPPKeywordIDEv", "clang::IdentifierInfo::getPPKeywordID() const"},
-    {"_ZNK5clang15IdentifierTable10PrintStatsEv", "clang::IdentifierTable::PrintStats() const"},
-    {"_ZN4llvm12DenseMapInfoIN5clang8SelectorEE12getHashValueES2_", "llvm::DenseMapInfo<clang::Selector>::getHashValue(clang::Selector)"},
-    {"_ZNK5clang8Selector10getNumArgsEv", "clang::Selector::getNumArgs() const"},
-    {"_ZNK5clang8Selector24getIdentifierInfoForSlotEj", "clang::Selector::getIdentifierInfoForSlot(unsigned int) const"},
-    {"_ZNK5clang20MultiKeywordSelector7getNameEv", "clang::MultiKeywordSelector::getName() const"},
-    {"_ZNK5clang8Selector11getAsStringEv", "clang::Selector::getAsString() const"},
-    {"_ZN5clang13SelectorTable11getSelectorEjPPNS_14IdentifierInfoE", "clang::SelectorTable::getSelector(unsigned int, clang::IdentifierInfo**)"},
-    {"_ZN5clang13SelectorTableC1Ev", "clang::SelectorTable::SelectorTable()"},
-    {"_ZN5clang13SelectorTableC2Ev", "clang::SelectorTable::SelectorTable()"},
-    {"_ZN5clang13SelectorTableD1Ev", "clang::SelectorTable::~SelectorTable()"},
-    {"_ZN5clang13SelectorTableD2Ev", "clang::SelectorTable::~SelectorTable()"},
-    {"_ZN5clang19getOperatorSpellingENS_22OverloadedOperatorKindE", "clang::getOperatorSpelling(clang::OverloadedOperatorKind)"},
-    {"_ZN12_GLOBAL__N_119EmptyLookupIteratorD1Ev", "(anonymous namespace)::EmptyLookupIterator::~EmptyLookupIterator()"},
-    {"_ZN12_GLOBAL__N_119EmptyLookupIteratorD0Ev", "(anonymous namespace)::EmptyLookupIterator::~EmptyLookupIterator()"},
-    {"_ZN12_GLOBAL__N_119EmptyLookupIterator4NextEv", "(anonymous namespace)::EmptyLookupIterator::Next()"},
-    {"_ZN4llvm10FoldingSetIN5clang20MultiKeywordSelectorEED1Ev", "llvm::FoldingSet<clang::MultiKeywordSelector>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetIN5clang20MultiKeywordSelectorEED0Ev", "llvm::FoldingSet<clang::MultiKeywordSelector>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetIN5clang20MultiKeywordSelectorEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::MultiKeywordSelector>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang20MultiKeywordSelectorEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS7_", "llvm::FoldingSet<clang::MultiKeywordSelector>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetIN5clang20MultiKeywordSelectorEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<clang::MultiKeywordSelector>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK5clang19PrettyStackTraceLoc5printERN4llvm11raw_ostreamE", "clang::PrettyStackTraceLoc::print(llvm::raw_ostream&) const"},
-    {"_ZNK5clang14SourceLocation5printERN4llvm11raw_ostreamERKNS_13SourceManagerE", "clang::SourceLocation::print(llvm::raw_ostream&, clang::SourceManager const&) const"},
-    {"_ZNK5clang14SourceLocation4dumpERKNS_13SourceManagerE", "clang::SourceLocation::dump(clang::SourceManager const&) const"},
-    {"_ZNK5clang13FullSourceLoc9getFileIDEv", "clang::FullSourceLoc::getFileID() const"},
-    {"_ZNK5clang13FullSourceLoc19getInstantiationLocEv", "clang::FullSourceLoc::getInstantiationLoc() const"},
-    {"_ZNK5clang13FullSourceLoc14getSpellingLocEv", "clang::FullSourceLoc::getSpellingLoc() const"},
-    {"_ZNK5clang13FullSourceLoc26getInstantiationLineNumberEPb", "clang::FullSourceLoc::getInstantiationLineNumber(bool*) const"},
-    {"_ZNK5clang13FullSourceLoc28getInstantiationColumnNumberEPb", "clang::FullSourceLoc::getInstantiationColumnNumber(bool*) const"},
-    {"_ZNK5clang13FullSourceLoc21getSpellingLineNumberEPb", "clang::FullSourceLoc::getSpellingLineNumber(bool*) const"},
-    {"_ZNK5clang13FullSourceLoc23getSpellingColumnNumberEPb", "clang::FullSourceLoc::getSpellingColumnNumber(bool*) const"},
-    {"_ZNK5clang13FullSourceLoc16isInSystemHeaderEv", "clang::FullSourceLoc::isInSystemHeader() const"},
-    {"_ZNK5clang13FullSourceLoc29isBeforeInTranslationUnitThanENS_14SourceLocationE", "clang::FullSourceLoc::isBeforeInTranslationUnitThan(clang::SourceLocation) const"},
-    {"_ZNK5clang13FullSourceLoc16getCharacterDataEPb", "clang::FullSourceLoc::getCharacterData(bool*) const"},
-    {"_ZNK5clang13FullSourceLoc9getBufferEPb", "clang::FullSourceLoc::getBuffer(bool*) const"},
-    {"_ZNK5clang13FullSourceLoc13getBufferDataEPb", "clang::FullSourceLoc::getBufferData(bool*) const"},
-    {"_ZNK5clang13FullSourceLoc16getDecomposedLocEv", "clang::FullSourceLoc::getDecomposedLoc() const"},
-    {"_ZN5clang19PrettyStackTraceLocD1Ev", "clang::PrettyStackTraceLoc::~PrettyStackTraceLoc()"},
-    {"_ZN5clang19PrettyStackTraceLocD0Ev", "clang::PrettyStackTraceLoc::~PrettyStackTraceLoc()"},
-    {"_ZN5clang6SrcMgr12ContentCacheD1Ev", "clang::SrcMgr::ContentCache::~ContentCache()"},
-    {"_ZN5clang6SrcMgr12ContentCacheD2Ev", "clang::SrcMgr::ContentCache::~ContentCache()"},
-    {"_ZNK5clang6SrcMgr12ContentCache18getSizeBytesMappedEv", "clang::SrcMgr::ContentCache::getSizeBytesMapped() const"},
-    {"_ZNK5clang6SrcMgr12ContentCache7getSizeEv", "clang::SrcMgr::ContentCache::getSize() const"},
-    {"_ZN5clang6SrcMgr12ContentCache13replaceBufferEPKN4llvm12MemoryBufferEb", "clang::SrcMgr::ContentCache::replaceBuffer(llvm::MemoryBuffer const*, bool)"},
-    {"_ZNK5clang6SrcMgr12ContentCache9getBufferERNS_10DiagnosticERKNS_13SourceManagerENS_14SourceLocationEPb", "clang::SrcMgr::ContentCache::getBuffer(clang::Diagnostic&, clang::SourceManager const&, clang::SourceLocation, bool*) const"},
-    {"_ZN5clang13LineTableInfo22getLineTableFilenameIDEPKcj", "clang::LineTableInfo::getLineTableFilenameID(char const*, unsigned int)"},
-    {"_ZN5clang13LineTableInfo11AddLineNoteEjjji", "clang::LineTableInfo::AddLineNote(unsigned int, unsigned int, unsigned int, int)"},
-    {"_ZN5clang13LineTableInfo11AddLineNoteEjjjijNS_6SrcMgr18CharacteristicKindE", "clang::LineTableInfo::AddLineNote(unsigned int, unsigned int, unsigned int, int, unsigned int, clang::SrcMgr::CharacteristicKind)"},
-    {"_ZN5clang13LineTableInfo20FindNearestLineEntryEjj", "clang::LineTableInfo::FindNearestLineEntry(unsigned int, unsigned int)"},
-    {"_ZN5clang13LineTableInfo8AddEntryEjRKSt6vectorINS_9LineEntryESaIS2_EE", "clang::LineTableInfo::AddEntry(unsigned int, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > const&)"},
-    {"_ZN5clang13SourceManager22getLineTableFilenameIDEPKcj", "clang::SourceManager::getLineTableFilenameID(char const*, unsigned int)"},
-    {"_ZN5clang13SourceManager11AddLineNoteENS_14SourceLocationEji", "clang::SourceManager::AddLineNote(clang::SourceLocation, unsigned int, int)"},
-    {"_ZN5clang13SourceManager11AddLineNoteENS_14SourceLocationEjibbbb", "clang::SourceManager::AddLineNote(clang::SourceLocation, unsigned int, int, bool, bool, bool, bool)"},
-    {"_ZN5clang13SourceManager12getLineTableEv", "clang::SourceManager::getLineTable()"},
-    {"_ZN5clang13SourceManagerC1ERNS_10DiagnosticERNS_11FileManagerE", "clang::SourceManager::SourceManager(clang::Diagnostic&, clang::FileManager&)"},
-    {"_ZN5clang13SourceManagerC2ERNS_10DiagnosticERNS_11FileManagerE", "clang::SourceManager::SourceManager(clang::Diagnostic&, clang::FileManager&)"},
-    {"_ZN5clang13SourceManager13clearIDTablesEv", "clang::SourceManager::clearIDTables()"},
-    {"_ZN5clang13SourceManagerD1Ev", "clang::SourceManager::~SourceManager()"},
-    {"_ZN5clang13SourceManagerD2Ev", "clang::SourceManager::~SourceManager()"},
-    {"_ZN5clang13SourceManager22createInstantiationLocENS_14SourceLocationES1_S1_jjj", "clang::SourceManager::createInstantiationLoc(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN5clang13SourceManager23getOrCreateContentCacheEPKNS_9FileEntryE", "clang::SourceManager::getOrCreateContentCache(clang::FileEntry const*)"},
-    {"_ZN5clang13SourceManager27createMemBufferContentCacheEPKN4llvm12MemoryBufferE", "clang::SourceManager::createMemBufferContentCache(llvm::MemoryBuffer const*)"},
-    {"_ZN5clang13SourceManager22PreallocateSLocEntriesEPNS_23ExternalSLocEntrySourceEjj", "clang::SourceManager::PreallocateSLocEntries(clang::ExternalSLocEntrySource*, unsigned int, unsigned int)"},
-    {"_ZN5clang13SourceManager28ClearPreallocatedSLocEntriesEv", "clang::SourceManager::ClearPreallocatedSLocEntries()"},
-    {"_ZN5clang13SourceManager12createFileIDEPKNS_6SrcMgr12ContentCacheENS_14SourceLocationENS1_18CharacteristicKindEjj", "clang::SourceManager::createFileID(clang::SrcMgr::ContentCache const*, clang::SourceLocation, clang::SrcMgr::CharacteristicKind, unsigned int, unsigned int)"},
-    {"_ZN5clang13SourceManager22getMemoryBufferForFileEPKNS_9FileEntryEPb", "clang::SourceManager::getMemoryBufferForFile(clang::FileEntry const*, bool*)"},
-    {"_ZN5clang13SourceManager20overrideFileContentsEPKNS_9FileEntryEPKN4llvm12MemoryBufferEb", "clang::SourceManager::overrideFileContents(clang::FileEntry const*, llvm::MemoryBuffer const*, bool)"},
-    {"_ZNK5clang13SourceManager13getBufferDataENS_6FileIDEPb", "clang::SourceManager::getBufferData(clang::FileID, bool*) const"},
-    {"_ZNK5clang13SourceManager13getFileIDSlowEj", "clang::SourceManager::getFileIDSlow(unsigned int) const"},
-    {"_ZNK5clang13SourceManager27getInstantiationLocSlowCaseENS_14SourceLocationE", "clang::SourceManager::getInstantiationLocSlowCase(clang::SourceLocation) const"},
-    {"_ZNK5clang13SourceManager22getSpellingLocSlowCaseENS_14SourceLocationE", "clang::SourceManager::getSpellingLocSlowCase(clang::SourceLocation) const"},
-    {"_ZNK5clang13SourceManager37getDecomposedInstantiationLocSlowCaseEPKNS_6SrcMgr9SLocEntryEj", "clang::SourceManager::getDecomposedInstantiationLocSlowCase(clang::SrcMgr::SLocEntry const*, unsigned int) const"},
-    {"_ZNK5clang13SourceManager32getDecomposedSpellingLocSlowCaseEPKNS_6SrcMgr9SLocEntryEj", "clang::SourceManager::getDecomposedSpellingLocSlowCase(clang::SrcMgr::SLocEntry const*, unsigned int) const"},
-    {"_ZNK5clang13SourceManager23getImmediateSpellingLocENS_14SourceLocationE", "clang::SourceManager::getImmediateSpellingLoc(clang::SourceLocation) const"},
-    {"_ZNK5clang13SourceManager30getImmediateInstantiationRangeENS_14SourceLocationE", "clang::SourceManager::getImmediateInstantiationRange(clang::SourceLocation) const"},
-    {"_ZNK5clang13SourceManager21getInstantiationRangeENS_14SourceLocationE", "clang::SourceManager::getInstantiationRange(clang::SourceLocation) const"},
-    {"_ZNK5clang13SourceManager16getCharacterDataENS_14SourceLocationEPb", "clang::SourceManager::getCharacterData(clang::SourceLocation, bool*) const"},
-    {"_ZNK5clang13SourceManager15getColumnNumberENS_6FileIDEjPb", "clang::SourceManager::getColumnNumber(clang::FileID, unsigned int, bool*) const"},
-    {"_ZNK5clang13SourceManager23getSpellingColumnNumberENS_14SourceLocationEPb", "clang::SourceManager::getSpellingColumnNumber(clang::SourceLocation, bool*) const"},
-    {"_ZNK5clang13SourceManager28getInstantiationColumnNumberENS_14SourceLocationEPb", "clang::SourceManager::getInstantiationColumnNumber(clang::SourceLocation, bool*) const"},
-    {"_ZNK5clang13SourceManager13getLineNumberENS_6FileIDEjPb", "clang::SourceManager::getLineNumber(clang::FileID, unsigned int, bool*) const"},
-    {"_Z18ComputeLineNumbersRN5clang10DiagnosticEPNS_6SrcMgr12ContentCacheERN4llvm16BumpPtrAllocatorERKNS_13SourceManagerERb", "ComputeLineNumbers(clang::Diagnostic&, clang::SrcMgr::ContentCache*, llvm::BumpPtrAllocator&, clang::SourceManager const&, bool&)"},
-    {"_ZNK5clang13SourceManager26getInstantiationLineNumberENS_14SourceLocationEPb", "clang::SourceManager::getInstantiationLineNumber(clang::SourceLocation, bool*) const"},
-    {"_ZNK5clang13SourceManager21getSpellingLineNumberENS_14SourceLocationEPb", "clang::SourceManager::getSpellingLineNumber(clang::SourceLocation, bool*) const"},
-    {"_ZNK5clang13SourceManager21getFileCharacteristicENS_14SourceLocationE", "clang::SourceManager::getFileCharacteristic(clang::SourceLocation) const"},
-    {"_ZNK5clang13SourceManager13getBufferNameENS_14SourceLocationEPb", "clang::SourceManager::getBufferName(clang::SourceLocation, bool*) const"},
-    {"_ZNK5clang13SourceManager14getPresumedLocENS_14SourceLocationE", "clang::SourceManager::getPresumedLoc(clang::SourceLocation) const"},
-    {"_ZN5clang13SourceManager11getLocationEPKNS_9FileEntryEjj", "clang::SourceManager::getLocation(clang::FileEntry const*, unsigned int, unsigned int)"},
-    {"_ZNK5clang13SourceManager25isBeforeInTranslationUnitENS_14SourceLocationES1_", "clang::SourceManager::isBeforeInTranslationUnit(clang::SourceLocation, clang::SourceLocation) const"},
-    {"_Z22MoveUpIncludeHierarchyRSt4pairIN5clang6FileIDEjERKNS0_13SourceManagerE", "MoveUpIncludeHierarchy(std::pair<clang::FileID, unsigned int>&, clang::SourceManager const&)"},
-    {"_ZNK5clang13SourceManager10PrintStatsEv", "clang::SourceManager::PrintStats() const"},
-    {"_ZN5clang23ExternalSLocEntrySourceD0Ev", "clang::ExternalSLocEntrySource::~ExternalSLocEntrySource()"},
-    {"_ZN5clang23ExternalSLocEntrySourceD1Ev", "clang::ExternalSLocEntrySource::~ExternalSLocEntrySource()"},
-    {"_ZN5clang23ExternalSLocEntrySourceD2Ev", "clang::ExternalSLocEntrySource::~ExternalSLocEntrySource()"},
-    {"_ZNSt6vectorIN5clang9LineEntryESaIS1_EEaSERKS3_", "std::vector<clang::LineEntry, std::allocator<clang::LineEntry> >::operator=(std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > const&)"},
-    {"_ZNSt6vectorIbSaIbEE6resizeEmb", "std::vector<bool, std::allocator<bool> >::resize(unsigned long, bool)"},
-    {"_ZNK5clang13SourceManager24getDecomposedSpellingLocENS_14SourceLocationE", "clang::SourceManager::getDecomposedSpellingLoc(clang::SourceLocation) const"},
-    {"_ZNK5clang13SourceManager9getBufferENS_6FileIDEPb", "clang::SourceManager::getBuffer(clang::FileID, bool*) const"},
-    {"_ZNSt6vectorIN5clang6SrcMgr9SLocEntryESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<clang::SrcMgr::SLocEntry, std::allocator<clang::SrcMgr::SLocEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::SrcMgr::SLocEntry*, std::vector<clang::SrcMgr::SLocEntry, std::allocator<clang::SrcMgr::SLocEntry> > >, clang::SrcMgr::SLocEntry const&)"},
-    {"_ZNSt6vectorIN5clang6SrcMgr9SLocEntryESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<clang::SrcMgr::SLocEntry, std::allocator<clang::SrcMgr::SLocEntry> >::_M_fill_insert(__gnu_cxx::__normal_iterator<clang::SrcMgr::SLocEntry*, std::vector<clang::SrcMgr::SLocEntry, std::allocator<clang::SrcMgr::SLocEntry> > >, unsigned long, clang::SrcMgr::SLocEntry const&)"},
-    {"_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb", "std::vector<bool, std::allocator<bool> >::_M_fill_insert(std::_Bit_iterator, unsigned long, bool)"},
-    {"_ZSt4fillSt13_Bit_iteratorS_RKb", "std::fill(std::_Bit_iterator, std::_Bit_iterator, bool const&)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyISt13_Bit_iteratorS3_EET0_T_S5_S4_", "std::_Bit_iterator std::__copy<false, std::random_access_iterator_tag>::copy<std::_Bit_iterator, std::_Bit_iterator>(std::_Bit_iterator, std::_Bit_iterator, std::_Bit_iterator)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_", "std::_Bit_iterator std::__copy<false, std::random_access_iterator_tag>::copy<std::_Bit_const_iterator, std::_Bit_iterator>(std::_Bit_const_iterator, std::_Bit_const_iterator, std::_Bit_iterator)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bISt13_Bit_iteratorS3_EET0_T_S5_S4_", "std::_Bit_iterator std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<std::_Bit_iterator, std::_Bit_iterator>(std::_Bit_iterator, std::_Bit_iterator, std::_Bit_iterator)"},
-    {"_ZNSt6vectorIPN5clang6SrcMgr12ContentCacheESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<clang::SrcMgr::ContentCache*, std::allocator<clang::SrcMgr::ContentCache*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::SrcMgr::ContentCache**, std::vector<clang::SrcMgr::ContentCache*, std::allocator<clang::SrcMgr::ContentCache*> > >, clang::SrcMgr::ContentCache* const&)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9FileEntryEPNS1_6SrcMgr12ContentCacheENS_12DenseMapInfoIS4_EENS8_IS7_EEE16InsertIntoBucketERKS4_RKS7_PSt4pairIS4_S7_E", "llvm::DenseMap<clang::FileEntry const*, clang::SrcMgr::ContentCache*, llvm::DenseMapInfo<clang::FileEntry const*>, llvm::DenseMapInfo<clang::SrcMgr::ContentCache*> >::InsertIntoBucket(clang::FileEntry const* const&, clang::SrcMgr::ContentCache* const&, std::pair<clang::FileEntry const*, clang::SrcMgr::ContentCache*>*)"},
-    {"_ZN4llvm8DenseMapIPKN5clang9FileEntryEPNS1_6SrcMgr12ContentCacheENS_12DenseMapInfoIS4_EENS8_IS7_EEE4growEj", "llvm::DenseMap<clang::FileEntry const*, clang::SrcMgr::ContentCache*, llvm::DenseMapInfo<clang::FileEntry const*>, llvm::DenseMapInfo<clang::SrcMgr::ContentCache*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN5clang9LineEntryESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<clang::LineEntry, std::allocator<clang::LineEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::LineEntry*, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > >, clang::LineEntry const&)"},
-    {"_ZNSt6vectorIN5clang9LineEntryESaIS1_EEC2ERKS3_", "std::vector<clang::LineEntry, std::allocator<clang::LineEntry> >::vector(std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjSt6vectorIN5clang9LineEntryESaIS4_EEESt10_Select1stIS7_ESt4lessIjESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > >, std::_Select1st<std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > >, std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjSt6vectorIN5clang9LineEntryESaIS4_EEESt10_Select1stIS7_ESt4lessIjESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > >, std::_Select1st<std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > > >::_M_insert_unique(std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > const&)"},
-    {"_ZNSt6vectorIPN4llvm14StringMapEntryIjEESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::StringMapEntry<unsigned int>*, std::allocator<llvm::StringMapEntry<unsigned int>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::StringMapEntry<unsigned int>**, std::vector<llvm::StringMapEntry<unsigned int>*, std::allocator<llvm::StringMapEntry<unsigned int>*> > >, llvm::StringMapEntry<unsigned int>* const&)"},
-    {"_ZN4llvm9StringMapIjNS_16BumpPtrAllocatorEE16GetOrCreateValueIjEERNS_14StringMapEntryIjEENS_9StringRefET_", "llvm::StringMapEntry<unsigned int>& llvm::StringMap<unsigned int, llvm::BumpPtrAllocator>::GetOrCreateValue<unsigned int>(llvm::StringRef, unsigned int)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjSt6vectorIN5clang9LineEntryESaIS4_EEESt10_Select1stIS7_ESt4lessIjESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > >, std::_Select1st<std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::vector<clang::LineEntry, std::allocator<clang::LineEntry> > > >*)"},
-    {"_ZN5clang13LineTableInfoD2Ev", "clang::LineTableInfo::~LineTableInfo()"},
-    {"_ZN5clang10TargetInfoC1ERKSs", "clang::TargetInfo::TargetInfo(std::string const&)"},
-    {"_ZN5clang10TargetInfoC2ERKSs", "clang::TargetInfo::TargetInfo(std::string const&)"},
-    {"_ZN5clang10TargetInfoD0Ev", "clang::TargetInfo::~TargetInfo()"},
-    {"_ZN5clang10TargetInfoD1Ev", "clang::TargetInfo::~TargetInfo()"},
-    {"_ZN5clang10TargetInfoD2Ev", "clang::TargetInfo::~TargetInfo()"},
-    {"_ZN5clang10TargetInfo11getTypeNameENS0_7IntTypeE", "clang::TargetInfo::getTypeName(clang::TargetInfo::IntType)"},
-    {"_ZN5clang10TargetInfo21getTypeConstantSuffixENS0_7IntTypeE", "clang::TargetInfo::getTypeConstantSuffix(clang::TargetInfo::IntType)"},
-    {"_ZNK5clang10TargetInfo12getTypeWidthENS0_7IntTypeE", "clang::TargetInfo::getTypeWidth(clang::TargetInfo::IntType) const"},
-    {"_ZNK5clang10TargetInfo12getTypeAlignENS0_7IntTypeE", "clang::TargetInfo::getTypeAlign(clang::TargetInfo::IntType) const"},
-    {"_ZN5clang10TargetInfo12isTypeSignedENS0_7IntTypeE", "clang::TargetInfo::isTypeSigned(clang::TargetInfo::IntType)"},
-    {"_ZN5clang10TargetInfo20setForcedLangOptionsERNS_11LangOptionsE", "clang::TargetInfo::setForcedLangOptions(clang::LangOptions&)"},
-    {"_ZNK5clang10TargetInfo22isValidGCCRegisterNameEN4llvm9StringRefE", "clang::TargetInfo::isValidGCCRegisterName(llvm::StringRef) const"},
-    {"_ZNK5clang10TargetInfo28getNormalizedGCCRegisterNameEN4llvm9StringRefE", "clang::TargetInfo::getNormalizedGCCRegisterName(llvm::StringRef) const"},
-    {"_ZNK5clang10TargetInfo24validateOutputConstraintERNS0_14ConstraintInfoE", "clang::TargetInfo::validateOutputConstraint(clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZNK5clang10TargetInfo19resolveSymbolicNameERPKcPNS0_14ConstraintInfoEjRj", "clang::TargetInfo::resolveSymbolicName(char const*&, clang::TargetInfo::ConstraintInfo*, unsigned int, unsigned int&) const"},
-    {"_ZNK5clang10TargetInfo23validateInputConstraintEPNS0_14ConstraintInfoEjRS1_", "clang::TargetInfo::validateInputConstraint(clang::TargetInfo::ConstraintInfo*, unsigned int, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZN5clang10TargetInfo16CreateTargetInfoERNS_10DiagnosticERNS_13TargetOptionsE", "clang::TargetInfo::CreateTargetInfo(clang::Diagnostic&, clang::TargetOptions&)"},
-    {"_ZN12_GLOBAL__N_122DarwinX86_64TargetInfoC1ERKSs", "(anonymous namespace)::DarwinX86_64TargetInfo::DarwinX86_64TargetInfo(std::string const&)"},
-    {"_ZN12_GLOBAL__N_116X86_64TargetInfoD1Ev", "(anonymous namespace)::X86_64TargetInfo::~X86_64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_116X86_64TargetInfoD0Ev", "(anonymous namespace)::X86_64TargetInfo::~X86_64TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::X86TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::X86TargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_116X86_64TargetInfo20getVAListDeclarationEv", "(anonymous namespace)::X86_64TargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo17convertConstraintEc", "(anonymous namespace)::X86TargetInfo::convertConstraint(char) const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo11getClobbersEv", "(anonymous namespace)::X86TargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo18getDefaultFeaturesERKSsRN4llvm9StringMapIbNS3_15MallocAllocatorEEE", "(anonymous namespace)::X86TargetInfo::getDefaultFeatures(std::string const&, llvm::StringMap<bool, llvm::MallocAllocator>&) const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo17setFeatureEnabledERN4llvm9StringMapIbNS1_15MallocAllocatorEEERKSsb", "(anonymous namespace)::X86TargetInfo::setFeatureEnabled(llvm::StringMap<bool, llvm::MallocAllocator>&, std::string const&, bool) const"},
-    {"_ZN12_GLOBAL__N_113X86TargetInfo20HandleTargetFeaturesERSt6vectorISsSaISsEE", "(anonymous namespace)::X86TargetInfo::HandleTargetFeatures(std::vector<std::string, std::allocator<std::string> >&)"},
-    {"_ZNK12_GLOBAL__N_116X86_64TargetInfo23getEHDataRegisterNumberEj", "(anonymous namespace)::X86_64TargetInfo::getEHDataRegisterNumber(unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo19adjustInlineAsmTypeERSsPKN4llvm4TypeERNS2_11LLVMContextE", "(anonymous namespace)::X86TargetInfo::adjustInlineAsmType(std::string&, llvm::Type const*, llvm::LLVMContext&) const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::X86TargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::X86TargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113X86TargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::X86TargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_Z9DefineStdRN5clang12MacroBuilderEN4llvm9StringRefERKNS_11LangOptionsE", "DefineStd(clang::MacroBuilder&, llvm::StringRef, clang::LangOptions const&)"},
-    {"_ZN12_GLOBAL__N_113X86TargetInfoD1Ev", "(anonymous namespace)::X86TargetInfo::~X86TargetInfo()"},
-    {"_ZN12_GLOBAL__N_113X86TargetInfoD0Ev", "(anonymous namespace)::X86TargetInfo::~X86TargetInfo()"},
-    {"_ZN12_GLOBAL__N_135VisualStudioWindowsX86_64TargetInfoD1Ev", "(anonymous namespace)::VisualStudioWindowsX86_64TargetInfo::~VisualStudioWindowsX86_64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_135VisualStudioWindowsX86_64TargetInfoD0Ev", "(anonymous namespace)::VisualStudioWindowsX86_64TargetInfo::~VisualStudioWindowsX86_64TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_135VisualStudioWindowsX86_64TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::VisualStudioWindowsX86_64TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_123WindowsX86_64TargetInfo20getVAListDeclarationEv", "(anonymous namespace)::WindowsX86_64TargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_117WindowsTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::WindowsTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_123WindowsX86_64TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::WindowsX86_64TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_112OSTargetInfoINS_16X86_64TargetInfoEE16getTargetDefinesERKN5clang11LangOptionsERNS3_12MacroBuilderE", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_123WindowsX86_64TargetInfoD1Ev", "(anonymous namespace)::WindowsX86_64TargetInfo::~WindowsX86_64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_123WindowsX86_64TargetInfoD0Ev", "(anonymous namespace)::WindowsX86_64TargetInfo::~WindowsX86_64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_117WindowsTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::WindowsTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~WindowsTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117WindowsTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::WindowsTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~WindowsTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_121MinGWX86_64TargetInfoD1Ev", "(anonymous namespace)::MinGWX86_64TargetInfo::~MinGWX86_64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_121MinGWX86_64TargetInfoD0Ev", "(anonymous namespace)::MinGWX86_64TargetInfo::~MinGWX86_64TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_121MinGWX86_64TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::MinGWX86_64TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_117SolarisTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~SolarisTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117SolarisTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~SolarisTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117SolarisTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117FreeBSDTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_123OpenBSDX86_64TargetInfoD1Ev", "(anonymous namespace)::OpenBSDX86_64TargetInfo::~OpenBSDX86_64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_123OpenBSDX86_64TargetInfoD0Ev", "(anonymous namespace)::OpenBSDX86_64TargetInfo::~OpenBSDX86_64TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117OpenBSDTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::OpenBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_117OpenBSDTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::OpenBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~OpenBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117OpenBSDTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::OpenBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~OpenBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116NetBSDTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::NetBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~NetBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116NetBSDTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::NetBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~NetBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116NetBSDTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::NetBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_122DragonFlyBSDTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::DragonFlyBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~DragonFlyBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_122DragonFlyBSDTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::DragonFlyBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~DragonFlyBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_122DragonFlyBSDTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::DragonFlyBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~LinuxTargetInfo()"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~LinuxTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_115LinuxTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_122DarwinX86_64TargetInfoD1Ev", "(anonymous namespace)::DarwinX86_64TargetInfo::~DarwinX86_64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_122DarwinX86_64TargetInfoD0Ev", "(anonymous namespace)::DarwinX86_64TargetInfo::~DarwinX86_64TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_16X86_64TargetInfoEE23isValidSectionSpecifierEN4llvm9StringRefE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_64TargetInfo>::isValidSectionSpecifier(llvm::StringRef) const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_16X86_64TargetInfoEE29getStaticInitSectionSpecifierEv", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getStaticInitSectionSpecifier() const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_Z16getDarwinDefinesRN5clang12MacroBuilderERKNS_11LangOptionsERKN4llvm6TripleE", "getDarwinDefines(clang::MacroBuilder&, clang::LangOptions const&, llvm::Triple const&)"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_118AuroraUXTargetInfoINS_16X86_64TargetInfoEED1Ev", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~AuroraUXTargetInfo()"},
-    {"_ZN12_GLOBAL__N_118AuroraUXTargetInfoINS_16X86_64TargetInfoEED0Ev", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::X86_64TargetInfo>::~AuroraUXTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_118AuroraUXTargetInfoINS_16X86_64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::X86_64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_116X86_32TargetInfoD1Ev", "(anonymous namespace)::X86_32TargetInfo::~X86_32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_116X86_32TargetInfoD0Ev", "(anonymous namespace)::X86_32TargetInfo::~X86_32TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116X86_32TargetInfo20getVAListDeclarationEv", "(anonymous namespace)::X86_32TargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_116X86_32TargetInfo23getEHDataRegisterNumberEj", "(anonymous namespace)::X86_32TargetInfo::getEHDataRegisterNumber(unsigned int) const"},
-    {"_ZN12_GLOBAL__N_121HaikuX86_32TargetInfoD1Ev", "(anonymous namespace)::HaikuX86_32TargetInfo::~HaikuX86_32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_121HaikuX86_32TargetInfoD0Ev", "(anonymous namespace)::HaikuX86_32TargetInfo::~HaikuX86_32TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_121HaikuX86_32TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::HaikuX86_32TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_135VisualStudioWindowsX86_32TargetInfoD1Ev", "(anonymous namespace)::VisualStudioWindowsX86_32TargetInfo::~VisualStudioWindowsX86_32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_135VisualStudioWindowsX86_32TargetInfoD0Ev", "(anonymous namespace)::VisualStudioWindowsX86_32TargetInfo::~VisualStudioWindowsX86_32TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_135VisualStudioWindowsX86_32TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::VisualStudioWindowsX86_32TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_117WindowsTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::WindowsTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_123WindowsX86_32TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::WindowsX86_32TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_112OSTargetInfoINS_16X86_32TargetInfoEE16getTargetDefinesERKN5clang11LangOptionsERNS3_12MacroBuilderE", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_123WindowsX86_32TargetInfoD1Ev", "(anonymous namespace)::WindowsX86_32TargetInfo::~WindowsX86_32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_123WindowsX86_32TargetInfoD0Ev", "(anonymous namespace)::WindowsX86_32TargetInfo::~WindowsX86_32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_117WindowsTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::WindowsTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~WindowsTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117WindowsTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::WindowsTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~WindowsTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_121MinGWX86_32TargetInfoD1Ev", "(anonymous namespace)::MinGWX86_32TargetInfo::~MinGWX86_32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_121MinGWX86_32TargetInfoD0Ev", "(anonymous namespace)::MinGWX86_32TargetInfo::~MinGWX86_32TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_121MinGWX86_32TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::MinGWX86_32TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_122CygwinX86_32TargetInfoD1Ev", "(anonymous namespace)::CygwinX86_32TargetInfo::~CygwinX86_32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_122CygwinX86_32TargetInfoD0Ev", "(anonymous namespace)::CygwinX86_32TargetInfo::~CygwinX86_32TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_122CygwinX86_32TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::CygwinX86_32TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_117SolarisTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~SolarisTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117SolarisTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~SolarisTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117SolarisTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_115MinixTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::MinixTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~MinixTargetInfo()"},
-    {"_ZN12_GLOBAL__N_115MinixTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::MinixTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~MinixTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_115MinixTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::MinixTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117FreeBSDTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_121OpenBSDI386TargetInfoD1Ev", "(anonymous namespace)::OpenBSDI386TargetInfo::~OpenBSDI386TargetInfo()"},
-    {"_ZN12_GLOBAL__N_121OpenBSDI386TargetInfoD0Ev", "(anonymous namespace)::OpenBSDI386TargetInfo::~OpenBSDI386TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117OpenBSDTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::OpenBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_117OpenBSDTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::OpenBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~OpenBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117OpenBSDTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::OpenBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~OpenBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116NetBSDTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::NetBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~NetBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116NetBSDTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::NetBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~NetBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116NetBSDTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::NetBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_122DragonFlyBSDTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::DragonFlyBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~DragonFlyBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_122DragonFlyBSDTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::DragonFlyBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~DragonFlyBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_122DragonFlyBSDTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::DragonFlyBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~LinuxTargetInfo()"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~LinuxTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_115LinuxTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_120DarwinI386TargetInfoD1Ev", "(anonymous namespace)::DarwinI386TargetInfo::~DarwinI386TargetInfo()"},
-    {"_ZN12_GLOBAL__N_120DarwinI386TargetInfoD0Ev", "(anonymous namespace)::DarwinI386TargetInfo::~DarwinI386TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_16X86_32TargetInfoEE23isValidSectionSpecifierEN4llvm9StringRefE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_32TargetInfo>::isValidSectionSpecifier(llvm::StringRef) const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_16X86_32TargetInfoEE29getStaticInitSectionSpecifierEv", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getStaticInitSectionSpecifier() const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_118AuroraUXTargetInfoINS_16X86_32TargetInfoEED1Ev", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~AuroraUXTargetInfo()"},
-    {"_ZN12_GLOBAL__N_118AuroraUXTargetInfoINS_16X86_32TargetInfoEED0Ev", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::X86_32TargetInfo>::~AuroraUXTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_118AuroraUXTargetInfoINS_16X86_32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::X86_32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_113TCETargetInfoD1Ev", "(anonymous namespace)::TCETargetInfo::~TCETargetInfo()"},
-    {"_ZN12_GLOBAL__N_113TCETargetInfoD0Ev", "(anonymous namespace)::TCETargetInfo::~TCETargetInfo()"},
-    {"_ZNK12_GLOBAL__N_113TCETargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::TCETargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_113TCETargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::TCETargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113TCETargetInfo20getVAListDeclarationEv", "(anonymous namespace)::TCETargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_113TCETargetInfo11getClobbersEv", "(anonymous namespace)::TCETargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_113TCETargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::TCETargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113TCETargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::TCETargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113TCETargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::TCETargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZN12_GLOBAL__N_117SystemZTargetInfoD1Ev", "(anonymous namespace)::SystemZTargetInfo::~SystemZTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117SystemZTargetInfoD0Ev", "(anonymous namespace)::SystemZTargetInfo::~SystemZTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117SystemZTargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::SystemZTargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_117SystemZTargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::SystemZTargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_117SystemZTargetInfo20getVAListDeclarationEv", "(anonymous namespace)::SystemZTargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_117SystemZTargetInfo11getClobbersEv", "(anonymous namespace)::SystemZTargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_117SystemZTargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::SystemZTargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_117SystemZTargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::SystemZTargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_117SystemZTargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::SystemZTargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZN12_GLOBAL__N_116PS3SPUTargetInfoINS_15PPC64TargetInfoEED1Ev", "(anonymous namespace)::PS3SPUTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~PS3SPUTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116PS3SPUTargetInfoINS_15PPC64TargetInfoEED0Ev", "(anonymous namespace)::PS3SPUTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~PS3SPUTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_112OSTargetInfoINS_15PPC64TargetInfoEE16getTargetDefinesERKN5clang11LangOptionsERNS3_12MacroBuilderE", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::PPC64TargetInfo>::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_113PPCTargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::PPCTargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_115PPC64TargetInfo20getVAListDeclarationEv", "(anonymous namespace)::PPC64TargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_113PPCTargetInfo11getClobbersEv", "(anonymous namespace)::PPCTargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_113PPCTargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::PPCTargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113PPCTargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::PPCTargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113PPCTargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::PPCTargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZNK12_GLOBAL__N_116PS3SPUTargetInfoINS_15PPC64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::PS3SPUTargetInfo<(anonymous namespace)::PPC64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_113PPCTargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::PPCTargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_15PPC64TargetInfoEED1Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_15PPC64TargetInfoEED0Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_115PPC64TargetInfoD1Ev", "(anonymous namespace)::PPC64TargetInfo::~PPC64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_115PPC64TargetInfoD0Ev", "(anonymous namespace)::PPC64TargetInfo::~PPC64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_113PPCTargetInfoD1Ev", "(anonymous namespace)::PPCTargetInfo::~PPCTargetInfo()"},
-    {"_ZN12_GLOBAL__N_113PPCTargetInfoD0Ev", "(anonymous namespace)::PPCTargetInfo::~PPCTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117SparcV8TargetInfoD1Ev", "(anonymous namespace)::SparcV8TargetInfo::~SparcV8TargetInfo()"},
-    {"_ZN12_GLOBAL__N_117SparcV8TargetInfoD0Ev", "(anonymous namespace)::SparcV8TargetInfo::~SparcV8TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117SparcV8TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::SparcV8TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_117SparcV8TargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::SparcV8TargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_117SparcV8TargetInfo20getVAListDeclarationEv", "(anonymous namespace)::SparcV8TargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_117SparcV8TargetInfo11getClobbersEv", "(anonymous namespace)::SparcV8TargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_117SparcV8TargetInfo17setFeatureEnabledERN4llvm9StringMapIbNS1_15MallocAllocatorEEERKSsb", "(anonymous namespace)::SparcV8TargetInfo::setFeatureEnabled(llvm::StringMap<bool, llvm::MallocAllocator>&, std::string const&, bool) const"},
-    {"_ZN12_GLOBAL__N_117SparcV8TargetInfo20HandleTargetFeaturesERSt6vectorISsSaISsEE", "(anonymous namespace)::SparcV8TargetInfo::HandleTargetFeatures(std::vector<std::string, std::allocator<std::string> >&)"},
-    {"_ZNK12_GLOBAL__N_117SparcV8TargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::SparcV8TargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_117SparcV8TargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::SparcV8TargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_117SparcV8TargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::SparcV8TargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZN12_GLOBAL__N_124SolarisSparcV8TargetInfoD1Ev", "(anonymous namespace)::SolarisSparcV8TargetInfo::~SolarisSparcV8TargetInfo()"},
-    {"_ZN12_GLOBAL__N_124SolarisSparcV8TargetInfoD0Ev", "(anonymous namespace)::SolarisSparcV8TargetInfo::~SolarisSparcV8TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_112OSTargetInfoINS_17SparcV8TargetInfoEE16getTargetDefinesERKN5clang11LangOptionsERNS3_12MacroBuilderE", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_117SolarisTargetInfoINS_17SparcV8TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_117SolarisTargetInfoINS_17SparcV8TargetInfoEED1Ev", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::~SolarisTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117SolarisTargetInfoINS_17SparcV8TargetInfoEED0Ev", "(anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::~SolarisTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_17SparcV8TargetInfoEED1Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_17SparcV8TargetInfoEED0Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_125AuroraUXSparcV8TargetInfoD1Ev", "(anonymous namespace)::AuroraUXSparcV8TargetInfo::~AuroraUXSparcV8TargetInfo()"},
-    {"_ZN12_GLOBAL__N_125AuroraUXSparcV8TargetInfoD0Ev", "(anonymous namespace)::AuroraUXSparcV8TargetInfo::~AuroraUXSparcV8TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_118AuroraUXTargetInfoINS_17SparcV8TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_118AuroraUXTargetInfoINS_17SparcV8TargetInfoEED1Ev", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::~AuroraUXTargetInfo()"},
-    {"_ZN12_GLOBAL__N_118AuroraUXTargetInfoINS_17SparcV8TargetInfoEED0Ev", "(anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::SparcV8TargetInfo>::~AuroraUXTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116MBlazeTargetInfoD1Ev", "(anonymous namespace)::MBlazeTargetInfo::~MBlazeTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116MBlazeTargetInfoD0Ev", "(anonymous namespace)::MBlazeTargetInfo::~MBlazeTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116MBlazeTargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::MBlazeTargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_116MBlazeTargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::MBlazeTargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_116MBlazeTargetInfo20getVAListDeclarationEv", "(anonymous namespace)::MBlazeTargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_116MBlazeTargetInfo11getClobbersEv", "(anonymous namespace)::MBlazeTargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_116MBlazeTargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::MBlazeTargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_116MBlazeTargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::MBlazeTargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_116MBlazeTargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::MBlazeTargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZNK12_GLOBAL__N_116MBlazeTargetInfo15getTargetPrefixEv", "(anonymous namespace)::MBlazeTargetInfo::getTargetPrefix() const"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_15PPC64TargetInfoEED1Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_15PPC64TargetInfoEED0Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_117FreeBSDTargetInfoINS_15PPC64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::PPC64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_116PS3PPUTargetInfoINS_15PPC64TargetInfoEED1Ev", "(anonymous namespace)::PS3PPUTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~PS3PPUTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116PS3PPUTargetInfoINS_15PPC64TargetInfoEED0Ev", "(anonymous namespace)::PS3PPUTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~PS3PPUTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116PS3PPUTargetInfoINS_15PPC64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::PS3PPUTargetInfo<(anonymous namespace)::PPC64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_121DarwinPPC64TargetInfoD1Ev", "(anonymous namespace)::DarwinPPC64TargetInfo::~DarwinPPC64TargetInfo()"},
-    {"_ZN12_GLOBAL__N_121DarwinPPC64TargetInfoD0Ev", "(anonymous namespace)::DarwinPPC64TargetInfo::~DarwinPPC64TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_15PPC64TargetInfoEE23isValidSectionSpecifierEN4llvm9StringRefE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC64TargetInfo>::isValidSectionSpecifier(llvm::StringRef) const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_15PPC64TargetInfoEE29getStaticInitSectionSpecifierEv", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC64TargetInfo>::getStaticInitSectionSpecifier() const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_15PPC64TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC64TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_15PPC64TargetInfoEED1Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_15PPC64TargetInfoEED0Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC64TargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_115PPC32TargetInfoD1Ev", "(anonymous namespace)::PPC32TargetInfo::~PPC32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_115PPC32TargetInfoD0Ev", "(anonymous namespace)::PPC32TargetInfo::~PPC32TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_115PPC32TargetInfo20getVAListDeclarationEv", "(anonymous namespace)::PPC32TargetInfo::getVAListDeclaration() const"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_15PPC32TargetInfoEED1Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::PPC32TargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_15PPC32TargetInfoEED0Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::PPC32TargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_112OSTargetInfoINS_15PPC32TargetInfoEE16getTargetDefinesERKN5clang11LangOptionsERNS3_12MacroBuilderE", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::PPC32TargetInfo>::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_117FreeBSDTargetInfoINS_15PPC32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::PPC32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_15PPC32TargetInfoEED1Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::PPC32TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_15PPC32TargetInfoEED0Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::PPC32TargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_121DarwinPPC32TargetInfoD1Ev", "(anonymous namespace)::DarwinPPC32TargetInfo::~DarwinPPC32TargetInfo()"},
-    {"_ZN12_GLOBAL__N_121DarwinPPC32TargetInfoD0Ev", "(anonymous namespace)::DarwinPPC32TargetInfo::~DarwinPPC32TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_121DarwinPPC32TargetInfo20getVAListDeclarationEv", "(anonymous namespace)::DarwinPPC32TargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_15PPC32TargetInfoEE23isValidSectionSpecifierEN4llvm9StringRefE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC32TargetInfo>::isValidSectionSpecifier(llvm::StringRef) const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_15PPC32TargetInfoEE29getStaticInitSectionSpecifierEv", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC32TargetInfo>::getStaticInitSectionSpecifier() const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_15PPC32TargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC32TargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_15PPC32TargetInfoEED1Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC32TargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_15PPC32TargetInfoEED0Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC32TargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116MipselTargetInfoD1Ev", "(anonymous namespace)::MipselTargetInfo::~MipselTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116MipselTargetInfoD0Ev", "(anonymous namespace)::MipselTargetInfo::~MipselTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116MipselTargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::MipselTargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::MipsTargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo20getVAListDeclarationEv", "(anonymous namespace)::MipsTargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo11getClobbersEv", "(anonymous namespace)::MipsTargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo18getDefaultFeaturesERKSsRN4llvm9StringMapIbNS3_15MallocAllocatorEEE", "(anonymous namespace)::MipsTargetInfo::getDefaultFeatures(std::string const&, llvm::StringMap<bool, llvm::MallocAllocator>&) const"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo6getABIEv", "(anonymous namespace)::MipsTargetInfo::getABI() const"},
-    {"_ZN12_GLOBAL__N_114MipsTargetInfo6setCPUERKSs", "(anonymous namespace)::MipsTargetInfo::setCPU(std::string const&)"},
-    {"_ZN12_GLOBAL__N_114MipsTargetInfo6setABIERKSs", "(anonymous namespace)::MipsTargetInfo::setABI(std::string const&)"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::MipsTargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::MipsTargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::MipsTargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo14getArchDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::MipsTargetInfo::getArchDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_114MipsTargetInfoD1Ev", "(anonymous namespace)::MipsTargetInfo::~MipsTargetInfo()"},
-    {"_ZN12_GLOBAL__N_114MipsTargetInfoD0Ev", "(anonymous namespace)::MipsTargetInfo::~MipsTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_114MipsTargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::MipsTargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_16MipselTargetInfoEED1Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::MipselTargetInfo>::~LinuxTargetInfo()"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_16MipselTargetInfoEED0Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::MipselTargetInfo>::~LinuxTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_112OSTargetInfoINS_16MipselTargetInfoEE16getTargetDefinesERKN5clang11LangOptionsERNS3_12MacroBuilderE", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::MipselTargetInfo>::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_115LinuxTargetInfoINS_16MipselTargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::MipselTargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_16MipselTargetInfoEED1Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::MipselTargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_16MipselTargetInfoEED0Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::MipselTargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_113PSPTargetInfoINS_16MipselTargetInfoEED1Ev", "(anonymous namespace)::PSPTargetInfo<(anonymous namespace)::MipselTargetInfo>::~PSPTargetInfo()"},
-    {"_ZN12_GLOBAL__N_113PSPTargetInfoINS_16MipselTargetInfoEED0Ev", "(anonymous namespace)::PSPTargetInfo<(anonymous namespace)::MipselTargetInfo>::~PSPTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_113PSPTargetInfoINS_16MipselTargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::PSPTargetInfo<(anonymous namespace)::MipselTargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_14MipsTargetInfoEED1Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::MipsTargetInfo>::~LinuxTargetInfo()"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_14MipsTargetInfoEED0Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::MipsTargetInfo>::~LinuxTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_112OSTargetInfoINS_14MipsTargetInfoEE16getTargetDefinesERKN5clang11LangOptionsERNS3_12MacroBuilderE", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::MipsTargetInfo>::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_115LinuxTargetInfoINS_14MipsTargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::MipsTargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_14MipsTargetInfoEED1Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::MipsTargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_14MipsTargetInfoEED0Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::MipsTargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_113PSPTargetInfoINS_14MipsTargetInfoEED1Ev", "(anonymous namespace)::PSPTargetInfo<(anonymous namespace)::MipsTargetInfo>::~PSPTargetInfo()"},
-    {"_ZN12_GLOBAL__N_113PSPTargetInfoINS_14MipsTargetInfoEED0Ev", "(anonymous namespace)::PSPTargetInfo<(anonymous namespace)::MipsTargetInfo>::~PSPTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_113PSPTargetInfoINS_14MipsTargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::PSPTargetInfo<(anonymous namespace)::MipsTargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_116MSP430TargetInfoD1Ev", "(anonymous namespace)::MSP430TargetInfo::~MSP430TargetInfo()"},
-    {"_ZN12_GLOBAL__N_116MSP430TargetInfoD0Ev", "(anonymous namespace)::MSP430TargetInfo::~MSP430TargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116MSP430TargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::MSP430TargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_116MSP430TargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::MSP430TargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_116MSP430TargetInfo20getVAListDeclarationEv", "(anonymous namespace)::MSP430TargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_116MSP430TargetInfo11getClobbersEv", "(anonymous namespace)::MSP430TargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_116MSP430TargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::MSP430TargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_116MSP430TargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::MSP430TargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_116MSP430TargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::MSP430TargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZN12_GLOBAL__N_118BlackfinTargetInfoD1Ev", "(anonymous namespace)::BlackfinTargetInfo::~BlackfinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_118BlackfinTargetInfoD0Ev", "(anonymous namespace)::BlackfinTargetInfo::~BlackfinTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_118BlackfinTargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::BlackfinTargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_118BlackfinTargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::BlackfinTargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_118BlackfinTargetInfo20getVAListDeclarationEv", "(anonymous namespace)::BlackfinTargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_118BlackfinTargetInfo11getClobbersEv", "(anonymous namespace)::BlackfinTargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_118BlackfinTargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::BlackfinTargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_118BlackfinTargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::BlackfinTargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_118BlackfinTargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::BlackfinTargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfoC2ERKSs", "(anonymous namespace)::ARMTargetInfo::ARMTargetInfo(std::string const&)"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfoD1Ev", "(anonymous namespace)::ARMTargetInfo::~ARMTargetInfo()"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfoD0Ev", "(anonymous namespace)::ARMTargetInfo::~ARMTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo16getTargetDefinesERKN5clang11LangOptionsERNS1_12MacroBuilderE", "(anonymous namespace)::ARMTargetInfo::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo17getTargetBuiltinsERPKN5clang7Builtin4InfoERj", "(anonymous namespace)::ARMTargetInfo::getTargetBuiltins(clang::Builtin::Info const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo20getVAListDeclarationEv", "(anonymous namespace)::ARMTargetInfo::getVAListDeclaration() const"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo11getClobbersEv", "(anonymous namespace)::ARMTargetInfo::getClobbers() const"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo18getDefaultFeaturesERKSsRN4llvm9StringMapIbNS3_15MallocAllocatorEEE", "(anonymous namespace)::ARMTargetInfo::getDefaultFeatures(std::string const&, llvm::StringMap<bool, llvm::MallocAllocator>&) const"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo6getABIEv", "(anonymous namespace)::ARMTargetInfo::getABI() const"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfo6setCPUERKSs", "(anonymous namespace)::ARMTargetInfo::setCPU(std::string const&)"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfo6setABIERKSs", "(anonymous namespace)::ARMTargetInfo::setABI(std::string const&)"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo17setFeatureEnabledERN4llvm9StringMapIbNS1_15MallocAllocatorEEERKSsb", "(anonymous namespace)::ARMTargetInfo::setFeatureEnabled(llvm::StringMap<bool, llvm::MallocAllocator>&, std::string const&, bool) const"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfo20HandleTargetFeaturesERSt6vectorISsSaISsEE", "(anonymous namespace)::ARMTargetInfo::HandleTargetFeatures(std::vector<std::string, std::allocator<std::string> >&)"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo14getGCCRegNamesERPKPKcRj", "(anonymous namespace)::ARMTargetInfo::getGCCRegNames(char const* const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo16getGCCRegAliasesERPKN5clang10TargetInfo11GCCRegAliasERj", "(anonymous namespace)::ARMTargetInfo::getGCCRegAliases(clang::TargetInfo::GCCRegAlias const*&, unsigned int&) const"},
-    {"_ZNK12_GLOBAL__N_113ARMTargetInfo21validateAsmConstraintERPKcRN5clang10TargetInfo14ConstraintInfoE", "(anonymous namespace)::ARMTargetInfo::validateAsmConstraint(char const*&, clang::TargetInfo::ConstraintInfo&) const"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfo18getCPUDefineSuffixEN4llvm9StringRefE", "(anonymous namespace)::ARMTargetInfo::getCPUDefineSuffix(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_13ARMTargetInfoEED1Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::ARMTargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZN12_GLOBAL__N_117FreeBSDTargetInfoINS_13ARMTargetInfoEED0Ev", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::ARMTargetInfo>::~FreeBSDTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_112OSTargetInfoINS_13ARMTargetInfoEE16getTargetDefinesERKN5clang11LangOptionsERNS3_12MacroBuilderE", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::ARMTargetInfo>::getTargetDefines(clang::LangOptions const&, clang::MacroBuilder&) const"},
-    {"_ZNK12_GLOBAL__N_117FreeBSDTargetInfoINS_13ARMTargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::ARMTargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_13ARMTargetInfoEED1Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::ARMTargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_112OSTargetInfoINS_13ARMTargetInfoEED0Ev", "(anonymous namespace)::OSTargetInfo<(anonymous namespace)::ARMTargetInfo>::~OSTargetInfo()"},
-    {"_ZN12_GLOBAL__N_119DarwinARMTargetInfoD1Ev", "(anonymous namespace)::DarwinARMTargetInfo::~DarwinARMTargetInfo()"},
-    {"_ZN12_GLOBAL__N_119DarwinARMTargetInfoD0Ev", "(anonymous namespace)::DarwinARMTargetInfo::~DarwinARMTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_13ARMTargetInfoEE23isValidSectionSpecifierEN4llvm9StringRefE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::ARMTargetInfo>::isValidSectionSpecifier(llvm::StringRef) const"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_13ARMTargetInfoEE29getStaticInitSectionSpecifierEv", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::ARMTargetInfo>::getStaticInitSectionSpecifier() const"},
-    {"_ZNK12_GLOBAL__N_119DarwinARMTargetInfo12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS1_12MacroBuilderE", "(anonymous namespace)::DarwinARMTargetInfo::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_13ARMTargetInfoEED1Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::ARMTargetInfo>::~DarwinTargetInfo()"},
-    {"_ZN12_GLOBAL__N_116DarwinTargetInfoINS_13ARMTargetInfoEED0Ev", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::ARMTargetInfo>::~DarwinTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_116DarwinTargetInfoINS_13ARMTargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::ARMTargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_13ARMTargetInfoEED1Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::ARMTargetInfo>::~LinuxTargetInfo()"},
-    {"_ZN12_GLOBAL__N_115LinuxTargetInfoINS_13ARMTargetInfoEED0Ev", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::ARMTargetInfo>::~LinuxTargetInfo()"},
-    {"_ZNK12_GLOBAL__N_115LinuxTargetInfoINS_13ARMTargetInfoEE12getOSDefinesERKN5clang11LangOptionsERKN4llvm6TripleERNS3_12MacroBuilderE", "(anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::ARMTargetInfo>::getOSDefines(clang::LangOptions const&, llvm::Triple const&, clang::MacroBuilder&) const"},
-    {"_ZN5clang10TargetInfo9setCXXABIERKSs", "clang::TargetInfo::setCXXABI(std::string const&)"},
-    {"_ZNK5clang10TargetInfo31useGlobalsForAutomaticVariablesEv", "clang::TargetInfo::useGlobalsForAutomaticVariables() const"},
-    {"_ZNK5clang10TargetInfo18getCFStringSectionEv", "clang::TargetInfo::getCFStringSection() const"},
-    {"_ZNK5clang10TargetInfo18getNSStringSectionEv", "clang::TargetInfo::getNSStringSection() const"},
-    {"_ZNK5clang10TargetInfo31getNSStringNonFragileABISectionEv", "clang::TargetInfo::getNSStringNonFragileABISection() const"},
-    {"_ZNK5clang10TargetInfo23isValidSectionSpecifierEN4llvm9StringRefE", "clang::TargetInfo::isValidSectionSpecifier(llvm::StringRef) const"},
-    {"_ZNK5clang10TargetInfo6getABIEv", "clang::TargetInfo::getABI() const"},
-    {"_ZNK5clang10TargetInfo9getCXXABIEv", "clang::TargetInfo::getCXXABI() const"},
-    {"_ZN5clang10TargetInfo6setCPUERKSs", "clang::TargetInfo::setCPU(std::string const&)"},
-    {"_ZN5clang10TargetInfo6setABIERKSs", "clang::TargetInfo::setABI(std::string const&)"},
-    {"_ZN5clang10TargetInfo9setCXXABIENS_12TargetCXXABIE", "clang::TargetInfo::setCXXABI(clang::TargetCXXABI)"},
-    {"_ZNK5clang10TargetInfo29getStaticInitSectionSpecifierEv", "clang::TargetInfo::getStaticInitSectionSpecifier() const"},
-    {"_ZNK5clang10TargetInfo16getPointerWidthVEj", "clang::TargetInfo::getPointerWidthV(unsigned int) const"},
-    {"_ZNK5clang10TargetInfo16getPointerAlignVEj", "clang::TargetInfo::getPointerAlignV(unsigned int) const"},
-    {"_ZNK5clang10TargetInfo15getPtrDiffTypeVEj", "clang::TargetInfo::getPtrDiffTypeV(unsigned int) const"},
-    {"_ZN5clang12MacroBuilder11defineMacroERKN4llvm5TwineES4_", "clang::MacroBuilder::defineMacro(llvm::Twine const&, llvm::Twine const&)"},
-    {"_ZNK5clang10TargetInfo23getEHDataRegisterNumberEj", "clang::TargetInfo::getEHDataRegisterNumber(unsigned int) const"},
-    {"_ZNK5clang10TargetInfo17convertConstraintEc", "clang::TargetInfo::convertConstraint(char) const"},
-    {"_ZNK5clang10TargetInfo18getDefaultFeaturesERKSsRN4llvm9StringMapIbNS3_15MallocAllocatorEEE", "clang::TargetInfo::getDefaultFeatures(std::string const&, llvm::StringMap<bool, llvm::MallocAllocator>&) const"},
-    {"_ZNK5clang10TargetInfo17setFeatureEnabledERN4llvm9StringMapIbNS1_15MallocAllocatorEEERKSsb", "clang::TargetInfo::setFeatureEnabled(llvm::StringMap<bool, llvm::MallocAllocator>&, std::string const&, bool) const"},
-    {"_ZN5clang10TargetInfo20HandleTargetFeaturesERSt6vectorISsSaISsEE", "clang::TargetInfo::HandleTargetFeatures(std::vector<std::string, std::allocator<std::string> >&)"},
-    {"_ZNK5clang10TargetInfo19adjustInlineAsmTypeERSsPKN4llvm4TypeERNS2_11LLVMContextE", "clang::TargetInfo::adjustInlineAsmType(std::string&, llvm::Type const*, llvm::LLVMContext&) const"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEA16_cET_S8_S8_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::__find<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, char [16]>(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, char const (&) [16], std::random_access_iterator_tag)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEA12_cET_S8_S8_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > std::__find<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, char [12]>(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, char const (&) [12], std::random_access_iterator_tag)"},
-    {"_ZN4llvm12StringSwitchIPKcS2_E5CasesILj10ELj13ELj14ELj14EEERS3_RAT__S1_RAT0__S1_RAT1__S1_RAT2__S1_RKS2_", "llvm::StringSwitch<char const*, char const*>& llvm::StringSwitch<char const*, char const*>::Cases<10u, 13u, 14u, 14u>(char const (&) [10u], char const (&) [13u], char const (&) [14u], char const (&) [14u], char const* const&)"},
-    {"_ZN4llvm12StringSwitchIPKcS2_E5CasesILj9ELj11ELj8ELj8ELj5EEERS3_RAT__S1_RAT0__S1_RAT1__S1_RAT2__S1_RAT3__S1_RKS2_", "llvm::StringSwitch<char const*, char const*>& llvm::StringSwitch<char const*, char const*>::Cases<9u, 11u, 8u, 8u, 5u>(char const (&) [9u], char const (&) [11u], char const (&) [8u], char const (&) [8u], char const (&) [5u], char const* const&)"},
-    {"_ZN4llvm12StringSwitchIPKcS2_E5CasesILj9ELj7ELj8ELj8ELj8EEERS3_RAT__S1_RAT0__S1_RAT1__S1_RAT2__S1_RAT3__S1_RKS2_", "llvm::StringSwitch<char const*, char const*>& llvm::StringSwitch<char const*, char const*>::Cases<9u, 7u, 8u, 8u, 8u>(char const (&) [9u], char const (&) [7u], char const (&) [8u], char const (&) [8u], char const (&) [8u], char const* const&)"},
-    {"_ZN4llvm12StringSwitchIPKcS2_E5CasesILj6ELj10ELj10ELj10EEERS3_RAT__S1_RAT0__S1_RAT1__S1_RAT2__S1_RKS2_", "llvm::StringSwitch<char const*, char const*>& llvm::StringSwitch<char const*, char const*>::Cases<6u, 10u, 10u, 10u>(char const (&) [6u], char const (&) [10u], char const (&) [10u], char const (&) [10u], char const* const&)"},
-    {"_ZN4llvm12StringSwitchIPKcS2_E5CasesILj7ELj9ELj9EEERS3_RAT__S1_RAT0__S1_RAT1__S1_RKS2_", "llvm::StringSwitch<char const*, char const*>& llvm::StringSwitch<char const*, char const*>::Cases<7u, 9u, 9u>(char const (&) [7u], char const (&) [9u], char const (&) [9u], char const* const&)"},
-    {"_ZN4llvm12StringSwitchIPKcS2_E5CasesILj12ELj12ELj7EEERS3_RAT__S1_RAT0__S1_RAT1__S1_RKS2_", "llvm::StringSwitch<char const*, char const*>& llvm::StringSwitch<char const*, char const*>::Cases<12u, 12u, 7u>(char const (&) [12u], char const (&) [12u], char const (&) [7u], char const* const&)"},
-    {"_ZN5clang3tok12getTokenNameENS0_9TokenKindE", "clang::tok::getTokenName(clang::tok::TokenKind)"},
-    {"_ZN5clang3tok22getTokenSimpleSpellingENS0_9TokenKindE", "clang::tok::getTokenSimpleSpelling(clang::tok::TokenKind)"},
-    {"_ZN5clang22getClangRepositoryPathEv", "clang::getClangRepositoryPath()"},
-    {"_ZN5clang16getClangRevisionEv", "clang::getClangRevision()"},
-    {"_ZN5clang29getClangFullRepositoryVersionEv", "clang::getClangFullRepositoryVersion()"},
-    {"_ZN5clang19getClangFullVersionEv", "clang::getClangFullVersion()"},
-    {"_ZN4llvm26initializeArgPromotionPassERNS_12PassRegistryE", "llvm::initializeArgPromotionPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm27createArgumentPromotionPassEj", "llvm::createArgumentPromotionPass(unsigned int)"},
-    {"_ZN12_GLOBAL__N_112ArgPromotionD1Ev", "(anonymous namespace)::ArgPromotion::~ArgPromotion()"},
-    {"_ZN12_GLOBAL__N_112ArgPromotionD0Ev", "(anonymous namespace)::ArgPromotion::~ArgPromotion()"},
-    {"_ZNK12_GLOBAL__N_112ArgPromotion16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::ArgPromotion::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_112ArgPromotion8runOnSCCERN4llvm12CallGraphSCCE", "(anonymous namespace)::ArgPromotion::runOnSCC(llvm::CallGraphSCC&)"},
-    {"_ZNK12_GLOBAL__N_112ArgPromotion23isSafeToPromoteArgumentEPN4llvm8ArgumentEb", "(anonymous namespace)::ArgPromotion::isSafeToPromoteArgument(llvm::Argument*, bool) const"},
-    {"_ZN12_GLOBAL__N_112ArgPromotion11DoPromotionEPN4llvm8FunctionERNS1_11SmallPtrSetIPNS1_8ArgumentELj8EEES8_", "(anonymous namespace)::ArgPromotion::DoPromotion(llvm::Function*, llvm::SmallPtrSet<llvm::Argument*, 8u>&, llvm::SmallPtrSet<llvm::Argument*, 8u>&)"},
-    {"_Z15MarkIndicesSafeRKSt6vectorIySaIyEERSt3setIS1_St4lessIS1_ESaIS1_EE", "MarkIndicesSafe(std::vector<unsigned long long, std::allocator<unsigned long long> > const&, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > >&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_112ArgPromotionEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::ArgPromotion>()"},
-    {"_ZNK4llvm16CallGraphSCCPass27getPotentialPassManagerTypeEv", "llvm::CallGraphSCCPass::getPotentialPassManagerType() const"},
-    {"_ZN4llvm16CallGraphSCCPass16doInitializationERNS_9CallGraphE", "llvm::CallGraphSCCPass::doInitialization(llvm::CallGraph&)"},
-    {"_ZN4llvm16CallGraphSCCPass14doFinalizationERNS_9CallGraphE", "llvm::CallGraphSCCPass::doFinalization(llvm::CallGraph&)"},
-    {"_ZNSt3mapIPN4llvm8ArgumentESt3setISt6vectorIySaIyEESt4lessIS6_ESaIS6_EES7_IS2_ESaISt4pairIKS2_SA_EEEixERSD_", "std::map<llvm::Argument*, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > >, std::less<llvm::Argument*>, std::allocator<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > > >::operator[](llvm::Argument* const&)"},
-    {"_ZNSt3mapISt6vectorIySaIyEEPN4llvm8LoadInstESt4lessIS2_ESaISt4pairIKS2_S5_EEEixERS9_", "std::map<std::vector<unsigned long long, std::allocator<unsigned long long> >, llvm::LoadInst*, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> > >::operator[](std::vector<unsigned long long, std::allocator<unsigned long long> > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm8ArgumentESt4pairIKS2_St3setISt6vectorIySaIyEESt4lessIS8_ESaIS8_EEESt10_Select1stISD_ES9_IS2_ESaISD_EE8_M_eraseEPSt13_Rb_tree_nodeISD_E", "std::_Rb_tree<llvm::Argument*, std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > >, std::_Select1st<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > >, std::less<llvm::Argument*>, std::allocator<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > >*)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::vector<unsigned long long, std::allocator<unsigned long long> >, std::_Identity<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > >::_M_erase(std::_Rb_tree_node<std::vector<unsigned long long, std::allocator<unsigned long long> > >*)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEESt4pairIKS2_PN4llvm8LoadInstEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*>, std::_Select1st<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> >*)"},
-    {"_ZN4llvm17GetElementPtrInstC2IN9__gnu_cxx17__normal_iteratorIPPNS_5ValueESt6vectorIS5_SaIS5_EEEEEES5_T_SB_jRKNS_5TwineEPNS_11InstructionE", "llvm::GetElementPtrInst::GetElementPtrInst<__gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >(llvm::Value*, __gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, __gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEESt4pairIKS2_PN4llvm8LoadInstEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*>, std::_Select1st<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> >, std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> const&)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEESt4pairIKS2_PN4llvm8LoadInstEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*>, std::_Select1st<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> > >::_M_insert_unique(std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> const&)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEESt4pairIKS2_PN4llvm8LoadInstEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE14_M_create_nodeERKS8_", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*>, std::_Select1st<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> > >::_M_create_node(std::pair<std::vector<unsigned long long, std::allocator<unsigned long long> > const, llvm::LoadInst*> const&)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::vector<unsigned long long, std::allocator<unsigned long long> >, std::_Identity<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > >::_M_insert_unique(std::vector<unsigned long long, std::allocator<unsigned long long> > const&)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE14_M_create_nodeERKS2_", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::vector<unsigned long long, std::allocator<unsigned long long> >, std::_Identity<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > >::_M_create_node(std::vector<unsigned long long, std::allocator<unsigned long long> > const&)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE7_M_copyEPKSt13_Rb_tree_nodeIS2_EPSA_", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::vector<unsigned long long, std::allocator<unsigned long long> >, std::_Identity<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > >::_M_copy(std::_Rb_tree_node<std::vector<unsigned long long, std::allocator<unsigned long long> > > const*, std::_Rb_tree_node<std::vector<unsigned long long, std::allocator<unsigned long long> > >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm8ArgumentESt4pairIKS2_St3setISt6vectorIySaIyEESt4lessIS8_ESaIS8_EEESt10_Select1stISD_ES9_IS2_ESaISD_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISD_ERKSD_", "std::_Rb_tree<llvm::Argument*, std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > >, std::_Select1st<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > >, std::less<llvm::Argument*>, std::allocator<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > >, std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm8ArgumentESt4pairIKS2_St3setISt6vectorIySaIyEESt4lessIS8_ESaIS8_EEESt10_Select1stISD_ES9_IS2_ESaISD_EE9_M_insertEPSt18_Rb_tree_node_baseSK_RKSD_", "std::_Rb_tree<llvm::Argument*, std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > >, std::_Select1st<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > >, std::less<llvm::Argument*>, std::allocator<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm8ArgumentESt4pairIKS2_St3setISt6vectorIySaIyEESt4lessIS8_ESaIS8_EEESt10_Select1stISD_ES9_IS2_ESaISD_EE16_M_insert_uniqueERKSD_", "std::_Rb_tree<llvm::Argument*, std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > >, std::_Select1st<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > >, std::less<llvm::Argument*>, std::allocator<std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > > >::_M_insert_unique(std::pair<llvm::Argument* const, std::set<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > > > const&)"},
-    {"_ZN4llvm11df_iteratorINS_7InverseIPNS_10BasicBlockEEENS_11SmallPtrSetIS3_Lj16EEELb1ENS_11GraphTraitsIS4_EEE6toNextEv", "llvm::df_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::toNext()"},
-    {"_ZNSt6vectorISt4pairIN4llvm14PointerIntPairIPNS1_10BasicBlockELj1EjNS1_21PointerLikeTypeTraitsIS4_EEEENS1_12PredIteratorIS3_NS1_18value_use_iteratorINS1_4UserEEEEEESaISD_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSD_SF_EERKSD_", "std::vector<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >*, std::vector<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > > > > >, std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > > const&)"},
-    {"_ZNSt6vectorISt4pairIN4llvm14PointerIntPairIPNS1_10BasicBlockELj1EjNS1_21PointerLikeTypeTraitsIS4_EEEENS1_12PredIteratorIS3_NS1_18value_use_iteratorINS1_4UserEEEEEESaISD_EEC2ERKSF_", "std::vector<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > > > >::vector(std::vector<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > > > > const&)"},
-    {"_ZN4llvm11df_iteratorINS_7InverseIPNS_10BasicBlockEEENS_11SmallPtrSetIS3_Lj16EEELb1ENS_11GraphTraitsIS4_EEEC2ES3_RS6_", "llvm::df_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::df_iterator(llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE4findERKS2_", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::vector<unsigned long long, std::allocator<unsigned long long> >, std::_Identity<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > >::find(std::vector<unsigned long long, std::allocator<unsigned long long> > const&)"},
-    {"_ZNSt8_Rb_treeISt6vectorIySaIyEES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueESt23_Rb_tree_const_iteratorIS2_ERKS2_", "std::_Rb_tree<std::vector<unsigned long long, std::allocator<unsigned long long> >, std::vector<unsigned long long, std::allocator<unsigned long long> >, std::_Identity<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::less<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::allocator<std::vector<unsigned long long, std::allocator<unsigned long long> > > >::_M_insert_unique(std::_Rb_tree_const_iterator<std::vector<unsigned long long, std::allocator<unsigned long long> > >, std::vector<unsigned long long, std::allocator<unsigned long long> > const&)"},
-    {"_ZN4llvm16CallGraphSCCPassD1Ev", "llvm::CallGraphSCCPass::~CallGraphSCCPass()"},
-    {"_ZN4llvm16CallGraphSCCPassD0Ev", "llvm::CallGraphSCCPass::~CallGraphSCCPass()"},
-    {"_ZN4llvm27initializeConstantMergePassERNS_12PassRegistryE", "llvm::initializeConstantMergePass(llvm::PassRegistry&)"},
-    {"_ZN4llvm23createConstantMergePassEv", "llvm::createConstantMergePass()"},
-    {"_ZN12_GLOBAL__N_113ConstantMergeD1Ev", "(anonymous namespace)::ConstantMerge::~ConstantMerge()"},
-    {"_ZN12_GLOBAL__N_113ConstantMergeD0Ev", "(anonymous namespace)::ConstantMerge::~ConstantMerge()"},
-    {"_ZN12_GLOBAL__N_113ConstantMerge11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::ConstantMerge::runOnModule(llvm::Module&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_113ConstantMergeEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::ConstantMerge>()"},
-    {"_ZN4llvm8DenseMapIPNS_8ConstantEPNS_14GlobalVariableENS_12DenseMapInfoIS2_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Constant*, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::Constant*>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_8ConstantEPNS_14GlobalVariableENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Constant*, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::Constant*>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::InsertIntoBucket(llvm::Constant* const&, llvm::GlobalVariable* const&, std::pair<llvm::Constant*, llvm::GlobalVariable*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_8ConstantEPNS_14GlobalVariableENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Constant*, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::Constant*>, llvm::DenseMapInfo<llvm::GlobalVariable*> >::grow(unsigned int)"},
-    {"_ZN4llvm17initializeDAEPassERNS_12PassRegistryE", "llvm::initializeDAEPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm17initializeDAHPassERNS_12PassRegistryE", "llvm::initializeDAHPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm28createDeadArgEliminationPassEv", "llvm::createDeadArgEliminationPass()"},
-    {"_ZN4llvm24createDeadArgHackingPassEv", "llvm::createDeadArgHackingPass()"},
-    {"_ZN12_GLOBAL__N_13DAHD1Ev", "(anonymous namespace)::DAH::~DAH()"},
-    {"_ZN12_GLOBAL__N_13DAHD0Ev", "(anonymous namespace)::DAH::~DAH()"},
-    {"_ZN12_GLOBAL__N_13DAE11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::DAE::runOnModule(llvm::Module&)"},
-    {"_ZNK12_GLOBAL__N_13DAH19ShouldHackArgumentsEv", "(anonymous namespace)::DAH::ShouldHackArguments() const"},
-    {"_ZNSt3setIN12_GLOBAL__N_13DAE8RetOrArgESt4lessIS2_ESaIS2_EE5eraseERKS2_", "std::set<(anonymous namespace)::DAE::RetOrArg, std::less<(anonymous namespace)::DAE::RetOrArg>, std::allocator<(anonymous namespace)::DAE::RetOrArg> >::erase((anonymous namespace)::DAE::RetOrArg const&)"},
-    {"_ZNSt8_Rb_treeIN12_GLOBAL__N_13DAE8RetOrArgES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<(anonymous namespace)::DAE::RetOrArg, (anonymous namespace)::DAE::RetOrArg, std::_Identity<(anonymous namespace)::DAE::RetOrArg>, std::less<(anonymous namespace)::DAE::RetOrArg>, std::allocator<(anonymous namespace)::DAE::RetOrArg> >::_M_erase(std::_Rb_tree_node<(anonymous namespace)::DAE::RetOrArg>*)"},
-    {"_ZN12_GLOBAL__N_13DAE8MarkLiveERKN4llvm8FunctionE", "(anonymous namespace)::DAE::MarkLive(llvm::Function const&)"},
-    {"_ZN12_GLOBAL__N_13DAE9MarkValueERKNS0_8RetOrArgENS0_8LivenessERKN4llvm11SmallVectorIS1_Lj5EEE", "(anonymous namespace)::DAE::MarkValue((anonymous namespace)::DAE::RetOrArg const&, (anonymous namespace)::DAE::Liveness, llvm::SmallVector<(anonymous namespace)::DAE::RetOrArg, 5u> const&)"},
-    {"_ZN12_GLOBAL__N_13DAE8MarkLiveERKNS0_8RetOrArgE", "(anonymous namespace)::DAE::MarkLive((anonymous namespace)::DAE::RetOrArg const&)"},
-    {"_ZN12_GLOBAL__N_13DAE17PropagateLivenessERKNS0_8RetOrArgE", "(anonymous namespace)::DAE::PropagateLiveness((anonymous namespace)::DAE::RetOrArg const&)"},
-    {"_ZNSt8_Rb_treeIN12_GLOBAL__N_13DAE8RetOrArgESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<(anonymous namespace)::DAE::RetOrArg, std::pair<(anonymous namespace)::DAE::RetOrArg const, (anonymous namespace)::DAE::RetOrArg>, std::_Select1st<std::pair<(anonymous namespace)::DAE::RetOrArg const, (anonymous namespace)::DAE::RetOrArg> >, std::less<(anonymous namespace)::DAE::RetOrArg>, std::allocator<std::pair<(anonymous namespace)::DAE::RetOrArg const, (anonymous namespace)::DAE::RetOrArg> > >::_M_erase(std::_Rb_tree_node<std::pair<(anonymous namespace)::DAE::RetOrArg const, (anonymous namespace)::DAE::RetOrArg> >*)"},
-    {"_ZN12_GLOBAL__N_13DAE9SurveyUseEN4llvm18value_use_iteratorIKNS1_4UserEEERNS1_11SmallVectorINS0_8RetOrArgELj5EEEj", "(anonymous namespace)::DAE::SurveyUse(llvm::value_use_iterator<llvm::User const>, llvm::SmallVector<(anonymous namespace)::DAE::RetOrArg, 5u>&, unsigned int)"},
-    {"_ZN12_GLOBAL__N_13DAE13MarkIfNotLiveENS0_8RetOrArgERN4llvm11SmallVectorIS1_Lj5EEE", "(anonymous namespace)::DAE::MarkIfNotLive((anonymous namespace)::DAE::RetOrArg, llvm::SmallVector<(anonymous namespace)::DAE::RetOrArg, 5u>&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN12_GLOBAL__N_13DAE8RetOrArgELb0EE4growEm", "llvm::SmallVectorTemplateBase<(anonymous namespace)::DAE::RetOrArg, false>::grow(unsigned long)"},
-    {"_ZN4llvm11SmallVectorIN12_GLOBAL__N_13DAE8RetOrArgELj5EEC1ERKS4_", "llvm::SmallVector<(anonymous namespace)::DAE::RetOrArg, 5u>::SmallVector(llvm::SmallVector<(anonymous namespace)::DAE::RetOrArg, 5u> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11SmallVectorIN12_GLOBAL__N_13DAE8RetOrArgELj5EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SmallVector<(anonymous namespace)::DAE::RetOrArg, 5u>, false>::grow(unsigned long)"},
-    {"_ZN12_GLOBAL__N_13DAED1Ev", "(anonymous namespace)::DAE::~DAE()"},
-    {"_ZN12_GLOBAL__N_13DAED0Ev", "(anonymous namespace)::DAE::~DAE()"},
-    {"_ZNK12_GLOBAL__N_13DAE19ShouldHackArgumentsEv", "(anonymous namespace)::DAE::ShouldHackArguments() const"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_13DAHEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::DAH>()"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_13DAEEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::DAE>()"},
-    {"_ZN4llvm8CallInstC2IN9__gnu_cxx17__normal_iteratorIPPNS_5ValueESt6vectorIS5_SaIS5_EEEEEES5_T_SB_RKNS_5TwineEPNS_11InstructionE", "llvm::CallInst::CallInst<__gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >(llvm::Value*, __gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, __gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10InvokeInstC2IN9__gnu_cxx17__normal_iteratorIPPNS_5ValueESt6vectorIS5_SaIS5_EEEEEES5_PNS_10BasicBlockESC_T_SD_jRKNS_5TwineEPNS_11InstructionE", "llvm::InvokeInst::InvokeInst<__gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, __gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, __gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm11SmallVectorIiLj5EEC2EjRKi", "llvm::SmallVector<int, 5u>::SmallVector(unsigned int, int const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE16_M_insert_uniqueERKS3_", "std::_Rb_tree<llvm::Function const*, llvm::Function const*, std::_Identity<llvm::Function const*>, std::less<llvm::Function const*>, std::allocator<llvm::Function const*> >::_M_insert_unique(llvm::Function const* const&)"},
-    {"_ZNSt6vectorIPN4llvm5ValueESaIS2_EE13_M_assign_auxIPNS0_3UseEEEvT_S8_St20forward_iterator_tag", "void std::vector<llvm::Value*, std::allocator<llvm::Value*> >::_M_assign_aux<llvm::Use*>(llvm::Use*, llvm::Use*, std::forward_iterator_tag)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E", "std::_Rb_tree<llvm::Function const*, llvm::Function const*, std::_Identity<llvm::Function const*>, std::less<llvm::Function const*>, std::allocator<llvm::Function const*> >::_M_erase(std::_Rb_tree_node<llvm::Function const*>*)"},
-    {"_ZN4llvm17initializeDTEPassERNS_12PassRegistryE", "llvm::initializeDTEPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm29createDeadTypeEliminationPassEv", "llvm::createDeadTypeEliminationPass()"},
-    {"_ZN12_GLOBAL__N_13DTED1Ev", "(anonymous namespace)::DTE::~DTE()"},
-    {"_ZN12_GLOBAL__N_13DTED0Ev", "(anonymous namespace)::DTE::~DTE()"},
-    {"_ZNK12_GLOBAL__N_13DTE16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::DTE::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_13DTE11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::DTE::runOnModule(llvm::Module&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_13DTEEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::DTE>()"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4TypeES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E", "std::_Rb_tree<llvm::Type const*, llvm::Type const*, std::_Identity<llvm::Type const*>, std::less<llvm::Type const*>, std::allocator<llvm::Type const*> >::_M_erase(std::_Rb_tree_node<llvm::Type const*>*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4TypeES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE5eraseESt17_Rb_tree_iteratorIS3_ESB_", "std::_Rb_tree<llvm::Type const*, llvm::Type const*, std::_Identity<llvm::Type const*>, std::less<llvm::Type const*>, std::allocator<llvm::Type const*> >::erase(std::_Rb_tree_iterator<llvm::Type const*>, std::_Rb_tree_iterator<llvm::Type const*>)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4TypeES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE7_M_copyEPKSt13_Rb_tree_nodeIS3_EPSB_", "std::_Rb_tree<llvm::Type const*, llvm::Type const*, std::_Identity<llvm::Type const*>, std::less<llvm::Type const*>, std::allocator<llvm::Type const*> >::_M_copy(std::_Rb_tree_node<llvm::Type const*> const*, std::_Rb_tree_node<llvm::Type const*>*)"},
-    {"_ZN4llvm27initializeFunctionAttrsPassERNS_12PassRegistryE", "llvm::initializeFunctionAttrsPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm23createFunctionAttrsPassEv", "llvm::createFunctionAttrsPass()"},
-    {"_ZN12_GLOBAL__N_113FunctionAttrsD1Ev", "(anonymous namespace)::FunctionAttrs::~FunctionAttrs()"},
-    {"_ZN12_GLOBAL__N_113FunctionAttrsD0Ev", "(anonymous namespace)::FunctionAttrs::~FunctionAttrs()"},
-    {"_ZNK12_GLOBAL__N_113FunctionAttrs16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::FunctionAttrs::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_113FunctionAttrs8runOnSCCERN4llvm12CallGraphSCCE", "(anonymous namespace)::FunctionAttrs::runOnSCC(llvm::CallGraphSCC&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_113FunctionAttrsEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::FunctionAttrs>()"},
-    {"_ZN4llvm12UniqueVectorIPNS_5ValueEE6insertERKS2_", "llvm::UniqueVector<llvm::Value*>::insert(llvm::Value* const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<llvm::Value*, std::pair<llvm::Value* const, unsigned int>, std::_Select1st<std::pair<llvm::Value* const, unsigned int> >, std::less<llvm::Value*>, std::allocator<std::pair<llvm::Value* const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Value* const, unsigned int> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<llvm::Value*, std::pair<llvm::Value* const, unsigned int>, std::_Select1st<std::pair<llvm::Value* const, unsigned int> >, std::less<llvm::Value*>, std::allocator<std::pair<llvm::Value* const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Value* const, unsigned int> >, std::pair<llvm::Value* const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<llvm::Value*, std::pair<llvm::Value* const, unsigned int>, std::_Select1st<std::pair<llvm::Value* const, unsigned int> >, std::less<llvm::Value*>, std::allocator<std::pair<llvm::Value* const, unsigned int> > >::_M_insert_unique(std::pair<llvm::Value* const, unsigned int> const&)"},
-    {"_ZN4llvm23initializeGlobalDCEPassERNS_12PassRegistryE", "llvm::initializeGlobalDCEPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm19createGlobalDCEPassEv", "llvm::createGlobalDCEPass()"},
-    {"_ZN12_GLOBAL__N_19GlobalDCED1Ev", "(anonymous namespace)::GlobalDCE::~GlobalDCE()"},
-    {"_ZN12_GLOBAL__N_19GlobalDCED0Ev", "(anonymous namespace)::GlobalDCE::~GlobalDCE()"},
-    {"_ZN12_GLOBAL__N_19GlobalDCE11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::GlobalDCE::runOnModule(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_19GlobalDCE14GlobalIsNeededEPN4llvm11GlobalValueE", "(anonymous namespace)::GlobalDCE::GlobalIsNeeded(llvm::GlobalValue*)"},
-    {"_ZN12_GLOBAL__N_19GlobalDCE23MarkUsedGlobalsAsNeededEPN4llvm8ConstantE", "(anonymous namespace)::GlobalDCE::MarkUsedGlobalsAsNeeded(llvm::Constant*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_19GlobalDCEEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::GlobalDCE>()"},
-    {"_ZNSt6vectorIPN4llvm11GlobalAliasESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::GlobalAlias*, std::allocator<llvm::GlobalAlias*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::GlobalAlias**, std::vector<llvm::GlobalAlias*, std::allocator<llvm::GlobalAlias*> > >, llvm::GlobalAlias* const&)"},
-    {"_ZN4llvm23initializeGlobalOptPassERNS_12PassRegistryE", "llvm::initializeGlobalOptPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm25createGlobalOptimizerPassEv", "llvm::createGlobalOptimizerPass()"},
-    {"_ZN12_GLOBAL__N_19GlobalOptD1Ev", "(anonymous namespace)::GlobalOpt::~GlobalOpt()"},
-    {"_ZN12_GLOBAL__N_19GlobalOptD0Ev", "(anonymous namespace)::GlobalOpt::~GlobalOpt()"},
-    {"_ZNK12_GLOBAL__N_19GlobalOpt16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::GlobalOpt::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_19GlobalOpt11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::GlobalOpt::runOnModule(llvm::Module&)"},
-    {"_Z13AnalyzeGlobalPKN4llvm5ValueERN12_GLOBAL__N_112GlobalStatusERNS_11SmallPtrSetIPKNS_7PHINodeELj16EEE", "AnalyzeGlobal(llvm::Value const*, (anonymous namespace)::GlobalStatus&, llvm::SmallPtrSet<llvm::PHINode const*, 16u>&)"},
-    {"_ZN12_GLOBAL__N_19GlobalOpt21ProcessInternalGlobalEPN4llvm14GlobalVariableERNS1_14ilist_iteratorIS2_EERKNS1_11SmallPtrSetIPKNS1_7PHINodeELj16EEERKNS_12GlobalStatusE", "(anonymous namespace)::GlobalOpt::ProcessInternalGlobal(llvm::GlobalVariable*, llvm::ilist_iterator<llvm::GlobalVariable>&, llvm::SmallPtrSet<llvm::PHINode const*, 16u> const&, (anonymous namespace)::GlobalStatus const&)"},
-    {"_Z26CleanupConstantGlobalUsersPN4llvm5ValueEPNS_8ConstantE", "CleanupConstantGlobalUsers(llvm::Value*, llvm::Constant*)"},
-    {"_Z41ValueIsOnlyUsedLocallyOrStoredToOneGlobalPKN4llvm11InstructionEPKNS_14GlobalVariableERNS_11SmallPtrSetIPKNS_7PHINodeELj8EEE", "ValueIsOnlyUsedLocallyOrStoredToOneGlobal(llvm::Instruction const*, llvm::GlobalVariable const*, llvm::SmallPtrSet<llvm::PHINode const*, 8u>&)"},
-    {"_Z29ReplaceUsesOfMallocWithGlobalPN4llvm11InstructionEPNS_14GlobalVariableE", "ReplaceUsesOfMallocWithGlobal(llvm::Instruction*, llvm::GlobalVariable*)"},
-    {"_Z16GetHeapSROAValuePN4llvm5ValueEjRNS_8DenseMapIS1_St6vectorIS1_SaIS1_EENS_12DenseMapInfoIS1_EENS6_IS5_EEEERS3_ISt4pairIPNS_7PHINodeEjESaISE_EE", "GetHeapSROAValue(llvm::Value*, unsigned int, llvm::DenseMap<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*> >, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >&, std::vector<std::pair<llvm::PHINode*, unsigned int>, std::allocator<std::pair<llvm::PHINode*, unsigned int> > >&)"},
-    {"_Z23RewriteHeapSROALoadUserPN4llvm11InstructionERNS_8DenseMapIPNS_5ValueESt6vectorIS4_SaIS4_EENS_12DenseMapInfoIS4_EENS8_IS7_EEEERS5_ISt4pairIPNS_7PHINodeEjESaISG_EE", "RewriteHeapSROALoadUser(llvm::Instruction*, llvm::DenseMap<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*> >, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >&, std::vector<std::pair<llvm::PHINode*, unsigned int>, std::allocator<std::pair<llvm::PHINode*, unsigned int> > >&)"},
-    {"_Z30LoadUsesSimpleEnoughForHeapSRAPKN4llvm5ValueERNS_11SmallPtrSetIPKNS_7PHINodeELj32EEES8_", "LoadUsesSimpleEnoughForHeapSRA(llvm::Value const*, llvm::SmallPtrSet<llvm::PHINode const*, 32u>&, llvm::SmallPtrSet<llvm::PHINode const*, 32u>&)"},
-    {"_Z19ConstantPropUsersOfPN4llvm5ValueE", "ConstantPropUsersOf(llvm::Value*)"},
-    {"_Z28AllUsesOfValueWillTrapIfNullPKN4llvm5ValueERNS_11SmallPtrSetIPKNS_7PHINodeELj8EEE", "AllUsesOfValueWillTrapIfNull(llvm::Value const*, llvm::SmallPtrSet<llvm::PHINode const*, 8u>&)"},
-    {"_Z31OptimizeAwayTrappingUsesOfValuePN4llvm5ValueEPNS_8ConstantE", "OptimizeAwayTrappingUsesOfValue(llvm::Value*, llvm::Constant*)"},
-    {"_Z27getAggregateConstantElementPN4llvm8ConstantES1_", "getAggregateConstantElement(llvm::Constant*, llvm::Constant*)"},
-    {"_Z20isSafeSROAElementUsePN4llvm5ValueE", "isSafeSROAElementUse(llvm::Value*)"},
-    {"_Z21SafeToDestroyConstantPKN4llvm8ConstantE", "SafeToDestroyConstant(llvm::Constant const*)"},
-    {"_Z16EvaluateFunctionPN4llvm8FunctionERPNS_8ConstantERKNS_15SmallVectorImplIS3_EERSt6vectorIS1_SaIS1_EERNS_8DenseMapIS3_S3_NS_12DenseMapInfoIS3_EESF_EERS9_IPNS_14GlobalVariableESaISJ_EERNS_11SmallPtrSetIS3_Lj8EEEPKNS_10DataLayoutE", "EvaluateFunction(llvm::Function*, llvm::Constant*&, llvm::SmallVectorImpl<llvm::Constant*> const&, std::vector<llvm::Function*, std::allocator<llvm::Function*> >&, llvm::DenseMap<llvm::Constant*, llvm::Constant*, llvm::DenseMapInfo<llvm::Constant*>, llvm::DenseMapInfo<llvm::Constant*> >&, std::vector<llvm::GlobalVariable*, std::allocator<llvm::GlobalVariable*> >&, llvm::SmallPtrSet<llvm::Constant*, 8u>&, llvm::DataLayout const*)"},
-    {"_Z17EvaluateStoreIntoPN4llvm8ConstantES1_PNS_12ConstantExprEj", "EvaluateStoreInto(llvm::Constant*, llvm::Constant*, llvm::ConstantExpr*, unsigned int)"},
-    {"_Z33isSimpleEnoughValueToCommitHelperPN4llvm8ConstantERNS_11SmallPtrSetIS1_Lj8EEE", "isSimpleEnoughValueToCommitHelper(llvm::Constant*, llvm::SmallPtrSet<llvm::Constant*, 8u>&)"},
-    {"_Z9StripNestRKN4llvm11AttrListPtrE", "StripNest(llvm::AttrListPtr const&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_19GlobalOptEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::GlobalOpt>()"},
-    {"_ZNSt6vectorIPN4llvm5ValueESaIS2_EEaSERKS4_", "std::vector<llvm::Value*, std::allocator<llvm::Value*> >::operator=(std::vector<llvm::Value*, std::allocator<llvm::Value*> > const&)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm7PHINodeEjESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<llvm::PHINode*, unsigned int>, std::allocator<std::pair<llvm::PHINode*, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::PHINode*, unsigned int>*, std::vector<std::pair<llvm::PHINode*, unsigned int>, std::allocator<std::pair<llvm::PHINode*, unsigned int> > > >, std::pair<llvm::PHINode*, unsigned int> const&)"},
-    {"_ZNSt6vectorIPN4llvm5ValueESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::Value*, std::allocator<llvm::Value*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, unsigned long, llvm::Value* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueESt6vectorIS2_SaIS2_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE6insertERKSt4pairIS2_S5_E", "llvm::DenseMap<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*> >, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >::insert(std::pair<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*> > > const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueESt6vectorIS2_SaIS2_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*> >, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >::InsertIntoBucket(llvm::Value* const&, std::vector<llvm::Value*, std::allocator<llvm::Value*> > const&, std::pair<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueESt6vectorIS2_SaIS2_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*> >, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueESt6vectorIS2_SaIS2_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*> >, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<std::vector<llvm::Value*, std::allocator<llvm::Value*> > > >::FindAndConstruct(llvm::Value* const&)"},
-    {"_ZNSt6vectorIPN4llvm5ValueESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::Value*, std::allocator<llvm::Value*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Value**, std::vector<llvm::Value*, std::allocator<llvm::Value*> > >, llvm::Value* const&)"},
-    {"_ZNSt6vectorIPN4llvm14GlobalVariableESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::GlobalVariable*, std::allocator<llvm::GlobalVariable*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::GlobalVariable**, std::vector<llvm::GlobalVariable*, std::allocator<llvm::GlobalVariable*> > >, llvm::GlobalVariable* const&)"},
-    {"_ZNSt6vectorIPN4llvm8ConstantESaIS2_EE14_M_fill_assignEmRKS2_", "std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >::_M_fill_assign(unsigned long, llvm::Constant* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_8ConstantES2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<llvm::Constant*, llvm::Constant*, llvm::DenseMapInfo<llvm::Constant*>, llvm::DenseMapInfo<llvm::Constant*> >::InsertIntoBucket(llvm::Constant* const&, llvm::Constant* const&, std::pair<llvm::Constant*, llvm::Constant*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_8ConstantES2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<llvm::Constant*, llvm::Constant*, llvm::DenseMapInfo<llvm::Constant*>, llvm::DenseMapInfo<llvm::Constant*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_8ConstantENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Value*, llvm::Constant*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::Constant*> >::InsertIntoBucket(llvm::Value* const&, llvm::Constant* const&, std::pair<llvm::Value*, llvm::Constant*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_8ConstantENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Value*, llvm::Constant*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::Constant*> >::grow(unsigned int)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm8FunctionESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::Function**, std::vector<llvm::Function*, std::allocator<llvm::Function*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::Function**, std::vector<llvm::Function*, std::allocator<llvm::Function*> > >, llvm::Function*>(__gnu_cxx::__normal_iterator<llvm::Function**, std::vector<llvm::Function*, std::allocator<llvm::Function*> > >, __gnu_cxx::__normal_iterator<llvm::Function**, std::vector<llvm::Function*, std::allocator<llvm::Function*> > >, llvm::Function* const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIPN4llvm8FunctionESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::Function*, std::allocator<llvm::Function*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::Function**, std::vector<llvm::Function*, std::allocator<llvm::Function*> > >, unsigned long, llvm::Function* const&)"},
-    {"_ZN4llvm27initializeAlwaysInlinerPassERNS_12PassRegistryE", "llvm::initializeAlwaysInlinerPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm23createAlwaysInlinerPassEv", "llvm::createAlwaysInlinerPass()"},
-    {"_ZN12_GLOBAL__N_113AlwaysInlinerD1Ev", "(anonymous namespace)::AlwaysInliner::~AlwaysInliner()"},
-    {"_ZN12_GLOBAL__N_113AlwaysInlinerD0Ev", "(anonymous namespace)::AlwaysInliner::~AlwaysInliner()"},
-    {"_ZN12_GLOBAL__N_113AlwaysInliner13releaseMemoryEv", "(anonymous namespace)::AlwaysInliner::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_113AlwaysInliner16doInitializationERN4llvm9CallGraphE", "(anonymous namespace)::AlwaysInliner::doInitialization(llvm::CallGraph&)"},
-    {"_ZN12_GLOBAL__N_113AlwaysInliner14doFinalizationERN4llvm9CallGraphE", "(anonymous namespace)::AlwaysInliner::doFinalization(llvm::CallGraph&)"},
-    {"_ZN12_GLOBAL__N_113AlwaysInliner13getInlineCostEN4llvm8CallSiteE", "(anonymous namespace)::AlwaysInliner::getInlineCost(llvm::CallSite)"},
-    {"_ZN12_GLOBAL__N_113AlwaysInliner20getInlineFudgeFactorEN4llvm8CallSiteE", "(anonymous namespace)::AlwaysInliner::getInlineFudgeFactor(llvm::CallSite)"},
-    {"_ZN12_GLOBAL__N_113AlwaysInliner19resetCachedCostInfoEPN4llvm8FunctionE", "(anonymous namespace)::AlwaysInliner::resetCachedCostInfo(llvm::Function*)"},
-    {"_ZN12_GLOBAL__N_113AlwaysInliner18growCachedCostInfoEPN4llvm8FunctionES3_", "(anonymous namespace)::AlwaysInliner::growCachedCostInfo(llvm::Function*, llvm::Function*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_113AlwaysInlinerEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::AlwaysInliner>()"},
-    {"_ZN4llvm18InlineCostAnalyzer19resetCachedCostInfoEPNS_8FunctionE", "llvm::InlineCostAnalyzer::resetCachedCostInfo(llvm::Function*)"},
-    {"_ZNSt6vectorIN4llvm18InlineCostAnalyzer7ArgInfoESaIS2_EEaSERKS4_", "std::vector<llvm::InlineCostAnalyzer::ArgInfo, std::allocator<llvm::InlineCostAnalyzer::ArgInfo> >::operator=(std::vector<llvm::InlineCostAnalyzer::ArgInfo, std::allocator<llvm::InlineCostAnalyzer::ArgInfo> > const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_10BasicBlockEjNS_12DenseMapInfoIS3_EENS4_IjEEE8CopyFromERKS7_", "llvm::DenseMap<llvm::BasicBlock const*, unsigned int, llvm::DenseMapInfo<llvm::BasicBlock const*>, llvm::DenseMapInfo<unsigned int> >::CopyFrom(llvm::DenseMap<llvm::BasicBlock const*, unsigned int, llvm::DenseMapInfo<llvm::BasicBlock const*>, llvm::DenseMapInfo<unsigned int> > const&)"},
-    {"_ZN4llvm18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEED1Ev", "llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::~ValueMapCallbackVH()"},
-    {"_ZN4llvm18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEED0Ev", "llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::~ValueMapCallbackVH()"},
-    {"_ZN4llvm18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEE7deletedEv", "llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::deleted()"},
-    {"_ZN4llvm18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEE19allUsesReplacedWithEPNS_5ValueE", "llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E4findERKSB_", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::find(llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > const&)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E5eraseENS_16DenseMapIteratorISB_S6_SC_SA_Lb0EEE", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::erase(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo>, false>)"},
-    {"_ZN4llvm8ValueMapIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEE6insertERKSt4pairIS3_S5_E", "llvm::ValueMap<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::insert(std::pair<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo> const&)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E6insertERKSt4pairISB_S6_E", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::insert(std::pair<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo> const&)"},
-    {"_ZNSt4pairIN4llvm18ValueMapCallbackVHIPKNS0_8FunctionENS0_18InlineCostAnalyzer12FunctionInfoENS0_14ValueMapConfigIS4_EENS0_12DenseMapInfoIS6_EEEES6_EC2ERKSB_RKS6_", "std::pair<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo>::pair(llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > const&, llvm::InlineCostAnalyzer::FunctionInfo const&)"},
-    {"_ZNK4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E15LookupBucketForERKSB_RPSt4pairISB_S6_E", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::LookupBucketFor(llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > const&, std::pair<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo>*&) const"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E16InsertIntoBucketERKSB_RKS6_PSt4pairISB_S6_E", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::InsertIntoBucket(llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > const&, llvm::InlineCostAnalyzer::FunctionInfo const&, std::pair<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo>*)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E4growEj", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm18InlineCostAnalyzer7ArgInfoESaIS2_EEC2ERKS4_", "std::vector<llvm::InlineCostAnalyzer::ArgInfo, std::allocator<llvm::InlineCostAnalyzer::ArgInfo> >::vector(std::vector<llvm::InlineCostAnalyzer::ArgInfo, std::allocator<llvm::InlineCostAnalyzer::ArgInfo> > const&)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E5eraseERKSB_", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::erase(llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > const&)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E16FindAndConstructERKSB_", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::FindAndConstruct(llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > const&)"},
-    {"_ZN4llvm7InlinerD1Ev", "llvm::Inliner::~Inliner()"},
-    {"_ZN4llvm7InlinerD0Ev", "llvm::Inliner::~Inliner()"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_ED2Ev", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::~DenseMap()"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E4initEj", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::init(unsigned int)"},
-    {"_ZN4llvm27initializeSimpleInlinerPassERNS_12PassRegistryE", "llvm::initializeSimpleInlinerPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm26createFunctionInliningPassEv", "llvm::createFunctionInliningPass()"},
-    {"_ZN4llvm26createFunctionInliningPassEi", "llvm::createFunctionInliningPass(int)"},
-    {"_ZN12_GLOBAL__N_113SimpleInlinerD1Ev", "(anonymous namespace)::SimpleInliner::~SimpleInliner()"},
-    {"_ZN12_GLOBAL__N_113SimpleInlinerD0Ev", "(anonymous namespace)::SimpleInliner::~SimpleInliner()"},
-    {"_ZN12_GLOBAL__N_113SimpleInliner13releaseMemoryEv", "(anonymous namespace)::SimpleInliner::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_113SimpleInliner16doInitializationERN4llvm9CallGraphE", "(anonymous namespace)::SimpleInliner::doInitialization(llvm::CallGraph&)"},
-    {"_ZN12_GLOBAL__N_113SimpleInliner13getInlineCostEN4llvm8CallSiteE", "(anonymous namespace)::SimpleInliner::getInlineCost(llvm::CallSite)"},
-    {"_ZN12_GLOBAL__N_113SimpleInliner20getInlineFudgeFactorEN4llvm8CallSiteE", "(anonymous namespace)::SimpleInliner::getInlineFudgeFactor(llvm::CallSite)"},
-    {"_ZN12_GLOBAL__N_113SimpleInliner19resetCachedCostInfoEPN4llvm8FunctionE", "(anonymous namespace)::SimpleInliner::resetCachedCostInfo(llvm::Function*)"},
-    {"_ZN12_GLOBAL__N_113SimpleInliner18growCachedCostInfoEPN4llvm8FunctionES3_", "(anonymous namespace)::SimpleInliner::growCachedCostInfo(llvm::Function*, llvm::Function*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_113SimpleInlinerEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::SimpleInliner>()"},
-    {"_ZN4llvm7InlinerC1ERc", "llvm::Inliner::Inliner(char&)"},
-    {"_ZN4llvm7InlinerC2ERc", "llvm::Inliner::Inliner(char&)"},
-    {"_ZN4llvm7InlinerC1ERci", "llvm::Inliner::Inliner(char&, int)"},
-    {"_ZN4llvm7InlinerC2ERci", "llvm::Inliner::Inliner(char&, int)"},
-    {"_ZNK4llvm7Inliner16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::Inliner::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNK4llvm7Inliner18getInlineThresholdENS_8CallSiteE", "llvm::Inliner::getInlineThreshold(llvm::CallSite) const"},
-    {"_ZN4llvm7Inliner12shouldInlineENS_8CallSiteE", "llvm::Inliner::shouldInline(llvm::CallSite)"},
-    {"_ZN4llvm7Inliner8runOnSCCERNS_12CallGraphSCCE", "llvm::Inliner::runOnSCC(llvm::CallGraphSCC&)"},
-    {"_ZN4llvm7Inliner14doFinalizationERNS_9CallGraphE", "llvm::Inliner::doFinalization(llvm::CallGraph&)"},
-    {"_ZN4llvm7Inliner19removeDeadFunctionsERNS_9CallGraphEPNS_11SmallPtrSetIPKNS_8FunctionELj16EEE", "llvm::Inliner::removeDeadFunctions(llvm::CallGraph&, llvm::SmallPtrSet<llvm::Function const*, 16u>*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairINS_8CallSiteEiELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::CallSite, int>, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPKNS_9ArrayTypeESt6vectorIPNS_10AllocaInstESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::ArrayType const*, std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> >, llvm::DenseMapInfo<llvm::ArrayType const*>, llvm::DenseMapInfo<std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> > > >::FindAndConstruct(llvm::ArrayType const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_9ArrayTypeESt6vectorIPNS_10AllocaInstESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE16InsertIntoBucketERKS3_RKS8_PSt4pairIS3_S8_E", "llvm::DenseMap<llvm::ArrayType const*, std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> >, llvm::DenseMapInfo<llvm::ArrayType const*>, llvm::DenseMapInfo<std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> > > >::InsertIntoBucket(llvm::ArrayType const* const&, std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> > const&, std::pair<llvm::ArrayType const*, std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> > >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_9ArrayTypeESt6vectorIPNS_10AllocaInstESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE4growEj", "llvm::DenseMap<llvm::ArrayType const*, std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> >, llvm::DenseMapInfo<llvm::ArrayType const*>, llvm::DenseMapInfo<std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> > > >::grow(unsigned int)"},
-    {"_ZN4llvm21initializePruneEHPassERNS_12PassRegistryE", "llvm::initializePruneEHPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm17createPruneEHPassEv", "llvm::createPruneEHPass()"},
-    {"_ZN12_GLOBAL__N_17PruneEHD1Ev", "(anonymous namespace)::PruneEH::~PruneEH()"},
-    {"_ZN12_GLOBAL__N_17PruneEHD0Ev", "(anonymous namespace)::PruneEH::~PruneEH()"},
-    {"_ZN12_GLOBAL__N_17PruneEH8runOnSCCERN4llvm12CallGraphSCCE", "(anonymous namespace)::PruneEH::runOnSCC(llvm::CallGraphSCC&)"},
-    {"_ZN12_GLOBAL__N_17PruneEH16SimplifyFunctionEPN4llvm8FunctionE", "(anonymous namespace)::PruneEH::SimplifyFunction(llvm::Function*)"},
-    {"_ZN12_GLOBAL__N_17PruneEH16DeleteBasicBlockEPN4llvm10BasicBlockE", "(anonymous namespace)::PruneEH::DeleteBasicBlock(llvm::BasicBlock*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_17PruneEHEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::PruneEH>()"},
-    {"_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE22_M_initialize_dispatchINS0_12SuccIteratorIPNS0_14TerminatorInstES1_EEEEvT_SA_St12__false_type", "void std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >::_M_initialize_dispatch<llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >(llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock>, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock>, std::__false_type)"},
-    {"_ZN4llvm37initializeStripDeadPrototypesPassPassERNS_12PassRegistryE", "llvm::initializeStripDeadPrototypesPassPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm29createStripDeadPrototypesPassEv", "llvm::createStripDeadPrototypesPass()"},
-    {"_ZN12_GLOBAL__N_123StripDeadPrototypesPassD1Ev", "(anonymous namespace)::StripDeadPrototypesPass::~StripDeadPrototypesPass()"},
-    {"_ZN12_GLOBAL__N_123StripDeadPrototypesPassD0Ev", "(anonymous namespace)::StripDeadPrototypesPass::~StripDeadPrototypesPass()"},
-    {"_ZN12_GLOBAL__N_123StripDeadPrototypesPass11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::StripDeadPrototypesPass::runOnModule(llvm::Module&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_123StripDeadPrototypesPassEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::StripDeadPrototypesPass>()"},
-    {"_ZN4llvm18WriteBitcodeToFileEPKNS_6ModuleERNS_11raw_ostreamE", "llvm::WriteBitcodeToFile(llvm::Module const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm20WriteBitcodeToStreamEPKNS_6ModuleERNS_15BitstreamWriterE", "llvm::WriteBitcodeToStream(llvm::Module const*, llvm::BitstreamWriter&)"},
-    {"_Z11WriteModulePKN4llvm6ModuleERNS_15BitstreamWriterE", "WriteModule(llvm::Module const*, llvm::BitstreamWriter&)"},
-    {"_Z13WriteFunctionRKN4llvm8FunctionERNS_15ValueEnumeratorERNS_15BitstreamWriterE", "WriteFunction(llvm::Function const&, llvm::ValueEnumerator&, llvm::BitstreamWriter&)"},
-    {"_Z21WriteValueSymbolTableRKN4llvm16ValueSymbolTableERKNS_15ValueEnumeratorERNS_15BitstreamWriterE", "WriteValueSymbolTable(llvm::ValueSymbolTable const&, llvm::ValueEnumerator const&, llvm::BitstreamWriter&)"},
-    {"_Z14WriteConstantsjjRKN4llvm15ValueEnumeratorERNS_15BitstreamWriterEb", "WriteConstants(unsigned int, unsigned int, llvm::ValueEnumerator const&, llvm::BitstreamWriter&, bool)"},
-    {"_Z20GetOptimizationFlagsPKN4llvm5ValueE", "GetOptimizationFlags(llvm::Value const*)"},
-    {"_Z11WriteMDNodePKN4llvm6MDNodeERKNS_15ValueEnumeratorERNS_15BitstreamWriterERNS_11SmallVectorIyLj64EEE", "WriteMDNode(llvm::MDNode const*, llvm::ValueEnumerator const&, llvm::BitstreamWriter&, llvm::SmallVector<unsigned long long, 64u>&)"},
-    {"_Z17WriteStringRecordjRKSsjRN4llvm15BitstreamWriterE", "WriteStringRecord(unsigned int, std::string const&, unsigned int, llvm::BitstreamWriter&)"},
-    {"_ZN4llvm15ValueEnumeratorD2Ev", "llvm::ValueEnumerator::~ValueEnumerator()"},
-    {"_ZN4llvm15BitstreamWriter10EmitRecordIjEEvjRNS_15SmallVectorImplIT_EEj", "void llvm::BitstreamWriter::EmitRecord<unsigned int>(unsigned int, llvm::SmallVectorImpl<unsigned int>&, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIjE6insertEPjRKj", "llvm::SmallVectorImpl<unsigned int>::insert(unsigned int*, unsigned int const&)"},
-    {"_ZN4llvm15BitstreamWriter24EmitRecordWithAbbrevImplIjEEvjRNS_15SmallVectorImplIT_EENS_9StringRefE", "void llvm::BitstreamWriter::EmitRecordWithAbbrevImpl<unsigned int>(unsigned int, llvm::SmallVectorImpl<unsigned int>&, llvm::StringRef)"},
-    {"_ZN4llvm15BitstreamWriter20EmitAbbreviatedFieldIjEEvRKNS_15BitCodeAbbrevOpET_", "void llvm::BitstreamWriter::EmitAbbreviatedField<unsigned int>(llvm::BitCodeAbbrevOp const&, unsigned int)"},
-    {"_ZN4llvm15BitstreamWriter19EmitBlockInfoAbbrevEjPNS_13BitCodeAbbrevE", "llvm::BitstreamWriter::EmitBlockInfoAbbrev(unsigned int, llvm::BitCodeAbbrev*)"},
-    {"_ZN4llvm15BitstreamWriter15SwitchToBlockIDEj", "llvm::BitstreamWriter::SwitchToBlockID(unsigned int)"},
-    {"_ZN4llvm15BitstreamWriter20getOrCreateBlockInfoEj", "llvm::BitstreamWriter::getOrCreateBlockInfo(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm15BitstreamWriter9BlockInfoESaIS2_EE9push_backERKS2_", "std::vector<llvm::BitstreamWriter::BlockInfo, std::allocator<llvm::BitstreamWriter::BlockInfo> >::push_back(llvm::BitstreamWriter::BlockInfo const&)"},
-    {"_ZNSt6vectorIN4llvm15BitstreamWriter9BlockInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::BitstreamWriter::BlockInfo, std::allocator<llvm::BitstreamWriter::BlockInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::BitstreamWriter::BlockInfo*, std::vector<llvm::BitstreamWriter::BlockInfo, std::allocator<llvm::BitstreamWriter::BlockInfo> > >, llvm::BitstreamWriter::BlockInfo const&)"},
-    {"_ZN4llvm23createBitcodeWriterPassERNS_11raw_ostreamE", "llvm::createBitcodeWriterPass(llvm::raw_ostream&)"},
-    {"_ZN12_GLOBAL__N_116WriteBitcodePassD1Ev", "(anonymous namespace)::WriteBitcodePass::~WriteBitcodePass()"},
-    {"_ZN12_GLOBAL__N_116WriteBitcodePassD0Ev", "(anonymous namespace)::WriteBitcodePass::~WriteBitcodePass()"},
-    {"_ZNK12_GLOBAL__N_116WriteBitcodePass11getPassNameEv", "(anonymous namespace)::WriteBitcodePass::getPassName() const"},
-    {"_ZN12_GLOBAL__N_116WriteBitcodePass11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::WriteBitcodePass::runOnModule(llvm::Module&)"},
-    {"_ZN4llvm15ValueEnumeratorC1EPKNS_6ModuleE", "llvm::ValueEnumerator::ValueEnumerator(llvm::Module const*)"},
-    {"_ZN4llvm15ValueEnumeratorC2EPKNS_6ModuleE", "llvm::ValueEnumerator::ValueEnumerator(llvm::Module const*)"},
-    {"_ZN4llvm15ValueEnumerator14EnumerateValueEPKNS_5ValueE", "llvm::ValueEnumerator::EnumerateValue(llvm::Value const*)"},
-    {"_ZN4llvm15ValueEnumerator19EnumerateAttributesERKNS_11AttrListPtrE", "llvm::ValueEnumerator::EnumerateAttributes(llvm::AttrListPtr const&)"},
-    {"_ZN4llvm15ValueEnumerator24EnumerateTypeSymbolTableERKNS_15TypeSymbolTableE", "llvm::ValueEnumerator::EnumerateTypeSymbolTable(llvm::TypeSymbolTable const&)"},
-    {"_ZN4llvm15ValueEnumerator25EnumerateValueSymbolTableERKNS_16ValueSymbolTableE", "llvm::ValueEnumerator::EnumerateValueSymbolTable(llvm::ValueSymbolTable const&)"},
-    {"_ZN4llvm15ValueEnumerator22EnumerateNamedMetadataEPKNS_6ModuleE", "llvm::ValueEnumerator::EnumerateNamedMetadata(llvm::Module const*)"},
-    {"_ZN4llvm15ValueEnumerator13EnumerateTypeEPKNS_4TypeE", "llvm::ValueEnumerator::EnumerateType(llvm::Type const*)"},
-    {"_ZN4llvm15ValueEnumerator20EnumerateOperandTypeEPKNS_5ValueE", "llvm::ValueEnumerator::EnumerateOperandType(llvm::Value const*)"},
-    {"_ZN4llvm15ValueEnumerator17EnumerateMetadataEPKNS_5ValueE", "llvm::ValueEnumerator::EnumerateMetadata(llvm::Value const*)"},
-    {"_ZN4llvm15ValueEnumerator17OptimizeConstantsEjj", "llvm::ValueEnumerator::OptimizeConstants(unsigned int, unsigned int)"},
-    {"_Z18CompareByFrequencyRKSt4pairIPKN4llvm4TypeEjES6_", "CompareByFrequency(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)"},
-    {"_ZNK4llvm15ValueEnumerator16getInstructionIDEPKNS_11InstructionE", "llvm::ValueEnumerator::getInstructionID(llvm::Instruction const*) const"},
-    {"_ZN4llvm15ValueEnumerator16setInstructionIDEPKNS_11InstructionE", "llvm::ValueEnumerator::setInstructionID(llvm::Instruction const*)"},
-    {"_ZNK4llvm15ValueEnumerator10getValueIDEPKNS_5ValueE", "llvm::ValueEnumerator::getValueID(llvm::Value const*) const"},
-    {"_ZN4llvm15ValueEnumerator20EnumerateNamedMDNodeEPKNS_11NamedMDNodeE", "llvm::ValueEnumerator::EnumerateNamedMDNode(llvm::NamedMDNode const*)"},
-    {"_ZN4llvm15ValueEnumerator23EnumerateMDNodeOperandsEPKNS_6MDNodeE", "llvm::ValueEnumerator::EnumerateMDNodeOperands(llvm::MDNode const*)"},
-    {"_ZN4llvm15ValueEnumerator30EnumerateFunctionLocalMetadataEPKNS_6MDNodeE", "llvm::ValueEnumerator::EnumerateFunctionLocalMetadata(llvm::MDNode const*)"},
-    {"_ZN4llvm15ValueEnumerator19incorporateFunctionERKNS_8FunctionE", "llvm::ValueEnumerator::incorporateFunction(llvm::Function const&)"},
-    {"_ZN4llvm15ValueEnumerator13purgeFunctionEv", "llvm::ValueEnumerator::purgeFunction()"},
-    {"_ZNK4llvm15ValueEnumerator21getGlobalBasicBlockIDEPKNS_10BasicBlockE", "llvm::ValueEnumerator::getGlobalBasicBlockID(llvm::BasicBlock const*) const"},
-    {"_ZSt21__inplace_stable_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEEN12_GLOBAL__N_116CstSortPredicateEEvT_SF_T0_", "void std::__inplace_stable_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, (anonymous namespace)::CstSortPredicate>(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, (anonymous namespace)::CstSortPredicate)"},
-    {"_ZSt22__stable_sort_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEES8_lN12_GLOBAL__N_116CstSortPredicateEEvT_SF_T0_T1_T2_", "void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::pair<llvm::Value const*, unsigned int>*, long, (anonymous namespace)::CstSortPredicate>(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::pair<llvm::Value const*, unsigned int>*, long, (anonymous namespace)::CstSortPredicate)"},
-    {"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEES8_N12_GLOBAL__N_116CstSortPredicateEEvT_SF_T0_T1_", "void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::pair<llvm::Value const*, unsigned int>*, (anonymous namespace)::CstSortPredicate>(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::pair<llvm::Value const*, unsigned int>*, (anonymous namespace)::CstSortPredicate)"},
-    {"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEElS8_N12_GLOBAL__N_116CstSortPredicateEEvT_SF_SF_T0_SG_T1_SG_T2_", "void std::__merge_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, long, std::pair<llvm::Value const*, unsigned int>*, (anonymous namespace)::CstSortPredicate>(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, long, long, std::pair<llvm::Value const*, unsigned int>*, long, (anonymous namespace)::CstSortPredicate)"},
-    {"_ZN12_GLOBAL__N_116CstSortPredicateclERKSt4pairIPKN4llvm5ValueEjES8_", "(anonymous namespace)::CstSortPredicate::operator()(std::pair<llvm::Value const*, unsigned int> const&, std::pair<llvm::Value const*, unsigned int> const&)"},
-    {"_ZSt5mergeIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEESC_S8_N12_GLOBAL__N_116CstSortPredicateEET1_T_SG_T0_SH_SF_T2_", "std::pair<llvm::Value const*, unsigned int>* std::merge<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::pair<llvm::Value const*, unsigned int>*, (anonymous namespace)::CstSortPredicate>(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::pair<llvm::Value const*, unsigned int>*, (anonymous namespace)::CstSortPredicate)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEEN12_GLOBAL__N_116CstSortPredicateEEvT_SF_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, (anonymous namespace)::CstSortPredicate>(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, (anonymous namespace)::CstSortPredicate)"},
-    {"_ZSt22__merge_without_bufferIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEElN12_GLOBAL__N_116CstSortPredicateEEvT_SF_SF_T0_SG_T1_", "void std::__merge_without_buffer<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, long, (anonymous namespace)::CstSortPredicate>(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, long, long, (anonymous namespace)::CstSortPredicate)"},
-    {"_ZNSt6vectorISt4pairIPKN4llvm5ValueEjESaIS5_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS5_S7_EEmRKS5_", "std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > >::_M_fill_insert(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, unsigned long, std::pair<llvm::Value const*, unsigned int> const&)"},
-    {"_ZNSt6vectorISt4pairIPKN4llvm4TypeEjESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int> const&)"},
-    {"_ZNSt6vectorISt4pairIPKN4llvm5ValueEjESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::pair<llvm::Value const*, unsigned int> const&)"},
-    {"_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEES8_lET_SD_SD_SD_T1_SE_T0_SE_", "__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > > std::__rotate_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::pair<llvm::Value const*, unsigned int>*, long>(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, long, long, std::pair<llvm::Value const*, unsigned int>*, long)"},
-    {"_ZSt8__rotateIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm5ValueEjESt6vectorIS7_SaIS7_EEEEEvT_SD_SD_St26random_access_iterator_tag", "void std::__rotate<__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Value const*, unsigned int>*, std::vector<std::pair<llvm::Value const*, unsigned int>, std::allocator<std::pair<llvm::Value const*, unsigned int> > > >, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::Type const*, unsigned int, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::Type const* const&, unsigned int const&, std::pair<llvm::Type const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::Type const*, unsigned int, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZSt21__inplace_stable_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEEPFbRKS7_SE_EEvT_SH_T0_", "void std::__inplace_stable_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZSt22__stable_sort_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEES8_lPFbRKS7_SE_EEvT_SH_T0_T1_T2_", "void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEES8_PFbRKS7_SE_EEvT_SH_T0_T1_", "void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEElS8_PFbRKS7_SE_EEvT_SH_SH_T0_SI_T1_SI_T2_", "void std::__merge_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, long, std::pair<llvm::Type const*, unsigned int>*, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, long, long, std::pair<llvm::Type const*, unsigned int>*, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZSt16__merge_backwardIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEES8_SC_PFbRKS7_SE_EET1_T_SI_T0_SJ_SH_T2_", "__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > > std::__merge_backward<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, std::pair<llvm::Type const*, unsigned int>*, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEES8_lET_SD_SD_SD_T1_SE_T0_SE_", "__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > > std::__rotate_adaptive<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, long>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, long, long, std::pair<llvm::Type const*, unsigned int>*, long)"},
-    {"_ZSt8__rotateIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEEEvT_SD_SD_St26random_access_iterator_tag", "void std::__rotate<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::random_access_iterator_tag)"},
-    {"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEES8_lPFbRKS7_SE_EEvT_SH_T0_T1_T2_", "void std::__merge_sort_loop<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, std::pair<llvm::Type const*, unsigned int>*, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZSt17__merge_sort_loopIPSt4pairIPKN4llvm4TypeEjEN9__gnu_cxx17__normal_iteratorIS6_St6vectorIS5_SaIS5_EEEElPFbRKS5_SE_EEvT_SH_T0_T1_T2_", "void std::__merge_sort_loop<std::pair<llvm::Type const*, unsigned int>*, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(std::pair<llvm::Type const*, unsigned int>*, std::pair<llvm::Type const*, unsigned int>*, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEEPFbRKS7_SE_EEvT_SH_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZSt22__merge_without_bufferIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN4llvm4TypeEjESt6vectorIS7_SaIS7_EEEElPFbRKS7_SE_EEvT_SH_SH_T0_SI_T1_", "void std::__merge_without_buffer<__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&)>(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, unsigned int>*, std::vector<std::pair<llvm::Type const*, unsigned int>, std::allocator<std::pair<llvm::Type const*, unsigned int> > > >, long, long, bool (*)(std::pair<llvm::Type const*, unsigned int> const&, std::pair<llvm::Type const*, unsigned int> const&))"},
-    {"_ZN4llvm13BitcodeReader9FreeStateEv", "llvm::BitcodeReader::FreeState()"},
-    {"_ZN4llvm22BitcodeReaderValueList11AssignValueEPNS_5ValueEj", "llvm::BitcodeReaderValueList::AssignValue(llvm::Value*, unsigned int)"},
-    {"_ZN4llvm22BitcodeReaderValueList17getConstantFwdRefEjPKNS_4TypeE", "llvm::BitcodeReaderValueList::getConstantFwdRef(unsigned int, llvm::Type const*)"},
-    {"_ZN4llvm22BitcodeReaderValueList14getValueFwdRefEjPKNS_4TypeE", "llvm::BitcodeReaderValueList::getValueFwdRef(unsigned int, llvm::Type const*)"},
-    {"_ZN4llvm22BitcodeReaderValueList26ResolveConstantForwardRefsEv", "llvm::BitcodeReaderValueList::ResolveConstantForwardRefs()"},
-    {"_ZN4llvm24BitcodeReaderMDValueList11AssignValueEPNS_5ValueEj", "llvm::BitcodeReaderMDValueList::AssignValue(llvm::Value*, unsigned int)"},
-    {"_ZN4llvm24BitcodeReaderMDValueList14getValueFwdRefEj", "llvm::BitcodeReaderMDValueList::getValueFwdRef(unsigned int)"},
-    {"_ZN4llvm13BitcodeReader11getTypeByIDEjb", "llvm::BitcodeReader::getTypeByID(unsigned int, bool)"},
-    {"_ZN4llvm13BitcodeReader19ParseAttributeBlockEv", "llvm::BitcodeReader::ParseAttributeBlock()"},
-    {"_ZN4llvm13BitcodeReader14ParseTypeTableEv", "llvm::BitcodeReader::ParseTypeTable()"},
-    {"_ZN4llvm13BitcodeReader20ParseTypeSymbolTableEv", "llvm::BitcodeReader::ParseTypeSymbolTable()"},
-    {"_ZN4llvm13BitcodeReader21ParseValueSymbolTableEv", "llvm::BitcodeReader::ParseValueSymbolTable()"},
-    {"_ZN4llvm13BitcodeReader13ParseMetadataEv", "llvm::BitcodeReader::ParseMetadata()"},
-    {"_ZN4llvm13BitcodeReader26ResolveGlobalAndAliasInitsEv", "llvm::BitcodeReader::ResolveGlobalAndAliasInits()"},
-    {"_ZN4llvm13BitcodeReader14ParseConstantsEv", "llvm::BitcodeReader::ParseConstants()"},
-    {"_Z22GetDecodedBinaryOpcodejPKN4llvm4TypeE", "GetDecodedBinaryOpcode(unsigned int, llvm::Type const*)"},
-    {"_ZN4llvm13BitcodeReader27RememberAndSkipFunctionBodyEv", "llvm::BitcodeReader::RememberAndSkipFunctionBody()"},
-    {"_ZN4llvm13BitcodeReader11ParseModuleEv", "llvm::BitcodeReader::ParseModule()"},
-    {"_ZN4llvm13BitcodeReader16ParseBitcodeIntoEPNS_6ModuleE", "llvm::BitcodeReader::ParseBitcodeInto(llvm::Module*)"},
-    {"_ZN4llvm13BitcodeReader17ParseModuleTripleERSs", "llvm::BitcodeReader::ParseModuleTriple(std::string&)"},
-    {"_ZN4llvm13BitcodeReader11ParseTripleERSs", "llvm::BitcodeReader::ParseTriple(std::string&)"},
-    {"_ZN4llvm13BitcodeReader23ParseMetadataAttachmentEv", "llvm::BitcodeReader::ParseMetadataAttachment()"},
-    {"_ZN4llvm13BitcodeReader17ParseFunctionBodyEPNS_8FunctionE", "llvm::BitcodeReader::ParseFunctionBody(llvm::Function*)"},
-    {"_ZNK4llvm13BitcodeReader16isMaterializableEPKNS_11GlobalValueE", "llvm::BitcodeReader::isMaterializable(llvm::GlobalValue const*) const"},
-    {"_ZN4llvm13BitcodeReader11MaterializeEPNS_11GlobalValueEPSs", "llvm::BitcodeReader::Materialize(llvm::GlobalValue*, std::string*)"},
-    {"_ZNK4llvm13BitcodeReader18isDematerializableEPKNS_11GlobalValueE", "llvm::BitcodeReader::isDematerializable(llvm::GlobalValue const*) const"},
-    {"_ZN4llvm13BitcodeReader13DematerializeEPNS_11GlobalValueE", "llvm::BitcodeReader::Dematerialize(llvm::GlobalValue*)"},
-    {"_ZN4llvm13BitcodeReader17MaterializeModuleEPNS_6ModuleEPSs", "llvm::BitcodeReader::MaterializeModule(llvm::Module*, std::string*)"},
-    {"_ZN4llvm20getLazyBitcodeModuleEPNS_12MemoryBufferERNS_11LLVMContextEPSs", "llvm::getLazyBitcodeModule(llvm::MemoryBuffer*, llvm::LLVMContext&, std::string*)"},
-    {"_ZN4llvm16ParseBitcodeFileEPNS_12MemoryBufferERNS_11LLVMContextEPSs", "llvm::ParseBitcodeFile(llvm::MemoryBuffer*, llvm::LLVMContext&, std::string*)"},
-    {"_ZN4llvm22getBitcodeTargetTripleEPNS_12MemoryBufferERNS_11LLVMContextEPSs", "llvm::getBitcodeTargetTriple(llvm::MemoryBuffer*, llvm::LLVMContext&, std::string*)"},
-    {"_ZN4llvm12_GLOBAL__N_119ConstantPlaceHolderD1Ev", "llvm::(anonymous namespace)::ConstantPlaceHolder::~ConstantPlaceHolder()"},
-    {"_ZN4llvm12_GLOBAL__N_119ConstantPlaceHolderD0Ev", "llvm::(anonymous namespace)::ConstantPlaceHolder::~ConstantPlaceHolder()"},
-    {"_ZN4llvm22BitcodeReaderValueList9push_backEPNS_5ValueE", "llvm::BitcodeReaderValueList::push_back(llvm::Value*)"},
-    {"_ZN4llvm22BitcodeReaderValueList6resizeEj", "llvm::BitcodeReaderValueList::resize(unsigned int)"},
-    {"_ZN4llvm24BitcodeReaderMDValueList9push_backEPNS_5ValueE", "llvm::BitcodeReaderMDValueList::push_back(llvm::Value*)"},
-    {"_ZN4llvm24BitcodeReaderMDValueList6resizeEj", "llvm::BitcodeReaderMDValueList::resize(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm12PATypeHolderESaIS1_EE7reserveEm", "std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >::reserve(unsigned long)"},
-    {"_ZN4llvm15SmallVectorImplIyE6resizeEj", "llvm::SmallVectorImpl<unsigned long long>::resize(unsigned int)"},
-    {"_ZN4llvm22BitcodeReaderValueList8shrinkToEj", "llvm::BitcodeReaderValueList::shrinkTo(unsigned int)"},
-    {"_ZN4llvm13BitcodeReader16getValueTypePairERNS_11SmallVectorIyLj64EEERjjRPNS_5ValueE", "llvm::BitcodeReader::getValueTypePair(llvm::SmallVector<unsigned long long, 64u>&, unsigned int&, unsigned int, llvm::Value*&)"},
-    {"_ZN4llvm24BitcodeReaderMDValueList8shrinkToEj", "llvm::BitcodeReaderMDValueList::shrinkTo(unsigned int)"},
-    {"_ZN4llvm13BitcodeReaderD1Ev", "llvm::BitcodeReader::~BitcodeReader()"},
-    {"_ZN4llvm13BitcodeReaderD0Ev", "llvm::BitcodeReader::~BitcodeReader()"},
-    {"_ZN4llvm10InvokeInstC2IPPNS_5ValueEEES3_PNS_10BasicBlockES6_T_S7_jRKNS_5TwineEPNS_11InstructionE", "llvm::InvokeInst::InvokeInst<llvm::Value**>(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value**, llvm::Value**, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm15InsertValueInstC2IPjEEPNS_5ValueES4_T_S5_RKNS_5TwineEPNS_11InstructionE", "llvm::InsertValueInst::InsertValueInst<unsigned int*>(llvm::Value*, llvm::Value*, unsigned int*, unsigned int*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, unsigned long, llvm::BasicBlock* const&)"},
-    {"_ZNSt6vectorIPN4llvm8FunctionESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::Function*, std::allocator<llvm::Function*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Function**, std::vector<llvm::Function*, std::allocator<llvm::Function*> > >, llvm::Function* const&)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm8FunctionES3_ESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<llvm::Function*, llvm::Function*>, std::allocator<std::pair<llvm::Function*, llvm::Function*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::Function*, llvm::Function*>*, std::vector<std::pair<llvm::Function*, llvm::Function*>, std::allocator<std::pair<llvm::Function*, llvm::Function*> > > >, std::pair<llvm::Function*, llvm::Function*> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_8FunctionEyNS_12DenseMapInfoIS2_EENS3_IyEEE16InsertIntoBucketERKS2_RKyPSt4pairIS2_yE", "llvm::DenseMap<llvm::Function*, unsigned long long, llvm::DenseMapInfo<llvm::Function*>, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(llvm::Function* const&, unsigned long long const&, std::pair<llvm::Function*, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapIPNS_8FunctionEyNS_12DenseMapInfoIS2_EENS3_IyEEE4growEj", "llvm::DenseMap<llvm::Function*, unsigned long long, llvm::DenseMapInfo<llvm::Function*>, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIjPN4llvm14GlobalVariableEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::GlobalVariable*>*, std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > > >, std::pair<unsigned int, llvm::GlobalVariable*> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_8FunctionESt6vectorISt4pairIjPNS_14GlobalVariableEESaIS7_EENS_12DenseMapInfoIS2_EENSA_IS9_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::Function*, std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > >, llvm::DenseMapInfo<llvm::Function*>, llvm::DenseMapInfo<std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > > > >::FindAndConstruct(llvm::Function* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_8FunctionESt6vectorISt4pairIjPNS_14GlobalVariableEESaIS7_EENS_12DenseMapInfoIS2_EENSA_IS9_EEE16InsertIntoBucketERKS2_RKS9_PS4_IS2_S9_E", "llvm::DenseMap<llvm::Function*, std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > >, llvm::DenseMapInfo<llvm::Function*>, llvm::DenseMapInfo<std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > > > >::InsertIntoBucket(llvm::Function* const&, std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > > const&, std::pair<llvm::Function*, std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > > >*)"},
-    {"_ZN4llvm8DenseMapIPNS_8FunctionESt6vectorISt4pairIjPNS_14GlobalVariableEESaIS7_EENS_12DenseMapInfoIS2_EENSA_IS9_EEE4growEj", "llvm::DenseMap<llvm::Function*, std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > >, llvm::DenseMapInfo<llvm::Function*>, llvm::DenseMapInfo<std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > > > >::grow(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIjPN4llvm14GlobalVariableEESaIS4_EEC2ERKS6_", "std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > >::vector(std::vector<std::pair<unsigned int, llvm::GlobalVariable*>, std::allocator<std::pair<unsigned int, llvm::GlobalVariable*> > > const&)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm11GlobalAliasEjESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<llvm::GlobalAlias*, unsigned int>, std::allocator<std::pair<llvm::GlobalAlias*, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::GlobalAlias*, unsigned int>*, std::vector<std::pair<llvm::GlobalAlias*, unsigned int>, std::allocator<std::pair<llvm::GlobalAlias*, unsigned int> > > >, std::pair<llvm::GlobalAlias*, unsigned int> const&)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm14GlobalVariableEjESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<llvm::GlobalVariable*, unsigned int>, std::allocator<std::pair<llvm::GlobalVariable*, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::GlobalVariable*, unsigned int>*, std::vector<std::pair<llvm::GlobalVariable*, unsigned int>, std::allocator<std::pair<llvm::GlobalVariable*, unsigned int> > > >, std::pair<llvm::GlobalVariable*, unsigned int> const&)"},
-    {"_ZNSt6vectorIN4llvm11AttrListPtrESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::AttrListPtr, std::allocator<llvm::AttrListPtr> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::AttrListPtr*, std::vector<llvm::AttrListPtr, std::allocator<llvm::AttrListPtr> > >, llvm::AttrListPtr const&)"},
-    {"_ZNSt6vectorIN4llvm12PATypeHolderESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::PATypeHolder*, std::vector<llvm::PATypeHolder, std::allocator<llvm::PATypeHolder> > >, llvm::PATypeHolder const&)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPSt4pairIPN4llvm8ConstantEjESt6vectorIS6_SaIS6_EEEElEvT_SC_T0_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, long>(__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, long)"},
-    {"_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPN4llvm8ConstantEjESt6vectorIS6_SaIS6_EEEEEvT_SC_", "void std::__final_insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIPN4llvm8ConstantEjESt6vectorIS6_SaIS6_EEEEEvT_SC_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >)"},
-    {"_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPSt4pairIPN4llvm8ConstantEjESt6vectorIS6_SaIS6_EEEEEvT_SC_SC_", "void std::__heap_select<__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPSt4pairIPN4llvm8ConstantEjESt6vectorIS6_SaIS6_EEEElS6_EvT_T0_SD_T1_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, long, std::pair<llvm::Constant*, unsigned int> >(__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, long, long, std::pair<llvm::Constant*, unsigned int>)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm8ConstantEjESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::Constant*, unsigned int>*, std::vector<std::pair<llvm::Constant*, unsigned int>, std::allocator<std::pair<llvm::Constant*, unsigned int> > > >, std::pair<llvm::Constant*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIjjNS_12DenseMapInfoIjEES2_E16shrink_and_clearEv", "llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_8FunctionEyNS_12DenseMapInfoIS2_EENS3_IyEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Function*, unsigned long long, llvm::DenseMapInfo<llvm::Function*>, llvm::DenseMapInfo<unsigned long long> >::shrink_and_clear()"},
-    {"_ZN4llvm13BitcodeReaderD2Ev", "llvm::BitcodeReader::~BitcodeReader()"},
-    {"_ZN4llvm13BitcodeReaderC2EPNS_12MemoryBufferERNS_11LLVMContextE", "llvm::BitcodeReader::BitcodeReader(llvm::MemoryBuffer*, llvm::LLVMContext&)"},
-    {"_ZN4llvm14GVMaterializer13DematerializeEPNS_11GlobalValueE", "llvm::GVMaterializer::Dematerialize(llvm::GlobalValue*)"},
-    {"_ZNSt6vectorIN4llvm6WeakVHESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_", "std::vector<llvm::WeakVH, std::allocator<llvm::WeakVH> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::WeakVH*, std::vector<llvm::WeakVH, std::allocator<llvm::WeakVH> > >, unsigned long, llvm::WeakVH const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN4llvm6WeakVHES5_EET0_T_S7_S6_", "llvm::WeakVH* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<llvm::WeakVH*, llvm::WeakVH*>(llvm::WeakVH*, llvm::WeakVH*, llvm::WeakVH*)"},
-    {"_ZNSt6vectorIN4llvm6WeakVHESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::WeakVH, std::allocator<llvm::WeakVH> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::WeakVH*, std::vector<llvm::WeakVH, std::allocator<llvm::WeakVH> > >, llvm::WeakVH const&)"},
-    {"_ZNK4llvm7LLLexer5ErrorENS_5SMLocERKNS_5TwineE", "llvm::LLLexer::Error(llvm::SMLoc, llvm::Twine const&) const"},
-    {"_ZN4llvm7LLLexer6atoullEPKcS2_", "llvm::LLLexer::atoull(char const*, char const*)"},
-    {"_ZN4llvm7LLLexer11HexIntToValEPKcS2_", "llvm::LLLexer::HexIntToVal(char const*, char const*)"},
-    {"_ZN4llvm7LLLexer12HexToIntPairEPKcS2_Py", "llvm::LLLexer::HexToIntPair(char const*, char const*, unsigned long long*)"},
-    {"_ZN4llvm7LLLexer16FP80HexToIntPairEPKcS2_Py", "llvm::LLLexer::FP80HexToIntPair(char const*, char const*, unsigned long long*)"},
-    {"_ZN4llvm7LLLexerC1EPNS_12MemoryBufferERNS_9SourceMgrERNS_12SMDiagnosticERNS_11LLVMContextE", "llvm::LLLexer::LLLexer(llvm::MemoryBuffer*, llvm::SourceMgr&, llvm::SMDiagnostic&, llvm::LLVMContext&)"},
-    {"_ZN4llvm7LLLexerC2EPNS_12MemoryBufferERNS_9SourceMgrERNS_12SMDiagnosticERNS_11LLVMContextE", "llvm::LLLexer::LLLexer(llvm::MemoryBuffer*, llvm::SourceMgr&, llvm::SMDiagnostic&, llvm::LLVMContext&)"},
-    {"_ZNK4llvm7LLLexer11getFilenameEv", "llvm::LLLexer::getFilename() const"},
-    {"_ZN4llvm7LLLexer11getNextCharEv", "llvm::LLLexer::getNextChar()"},
-    {"_ZN4llvm7LLLexer8LexTokenEv", "llvm::LLLexer::LexToken()"},
-    {"_ZN4llvm7LLLexer13LexIdentifierEv", "llvm::LLLexer::LexIdentifier()"},
-    {"_ZN4llvm7LLLexer11LexPositiveEv", "llvm::LLLexer::LexPositive()"},
-    {"_ZN4llvm7LLLexer5LexAtEv", "llvm::LLLexer::LexAt()"},
-    {"_ZN4llvm7LLLexer10LexPercentEv", "llvm::LLLexer::LexPercent()"},
-    {"_ZN4llvm7LLLexer8LexQuoteEv", "llvm::LLLexer::LexQuote()"},
-    {"_ZN4llvm7LLLexer15SkipLineCommentEv", "llvm::LLLexer::SkipLineComment()"},
-    {"_ZN4llvm7LLLexer10LexExclaimEv", "llvm::LLLexer::LexExclaim()"},
-    {"_ZN4llvm7LLLexer18LexDigitOrNegativeEv", "llvm::LLLexer::LexDigitOrNegative()"},
-    {"_Z13UnEscapeLexedRSs", "UnEscapeLexed(std::string&)"},
-    {"_ZN4llvm7LLLexer5Lex0xEv", "llvm::LLLexer::Lex0x()"},
-    {"_ZN4llvm8LLParser3RunEv", "llvm::LLParser::Run()"},
-    {"_ZN4llvm8LLParser21ParseTopLevelEntitiesEv", "llvm::LLParser::ParseTopLevelEntities()"},
-    {"_ZN4llvm8LLParser19ValidateEndOfModuleEv", "llvm::LLParser::ValidateEndOfModule()"},
-    {"_ZN4llvm8LLParser31ResolveForwardRefBlockAddressesEPNS_8FunctionERSt6vectorISt4pairINS_5ValIDEPNS_11GlobalValueEESaIS8_EEPNS0_16PerFunctionStateE", "llvm::LLParser::ResolveForwardRefBlockAddresses(llvm::Function*, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > >&, llvm::LLParser::PerFunctionState*)"},
-    {"_ZN4llvm8LLParser16PerFunctionState5GetBBERKSsNS_5SMLocE", "llvm::LLParser::PerFunctionState::GetBB(std::string const&, llvm::SMLoc)"},
-    {"_ZN4llvm8LLParser16PerFunctionState5GetBBEjNS_5SMLocE", "llvm::LLParser::PerFunctionState::GetBB(unsigned int, llvm::SMLoc)"},
-    {"_ZN4llvm8LLParser12ParseDeclareEv", "llvm::LLParser::ParseDeclare()"},
-    {"_ZN4llvm8LLParser11ParseDefineEv", "llvm::LLParser::ParseDefine()"},
-    {"_ZN4llvm8LLParser14ParseModuleAsmEv", "llvm::LLParser::ParseModuleAsm()"},
-    {"_ZN4llvm8LLParser21ParseTargetDefinitionEv", "llvm::LLParser::ParseTargetDefinition()"},
-    {"_ZN4llvm8LLParser12ParseDepLibsEv", "llvm::LLParser::ParseDepLibs()"},
-    {"_ZN4llvm8LLParser16ParseUnnamedTypeEv", "llvm::LLParser::ParseUnnamedType()"},
-    {"_ZN4llvm8LLParser14ParseNamedTypeEv", "llvm::LLParser::ParseNamedType()"},
-    {"_ZN4llvm8LLParser18ParseUnnamedGlobalEv", "llvm::LLParser::ParseUnnamedGlobal()"},
-    {"_ZN4llvm8LLParser16ParseNamedGlobalEv", "llvm::LLParser::ParseNamedGlobal()"},
-    {"_ZN4llvm8LLParser23ParseStandaloneMetadataEv", "llvm::LLParser::ParseStandaloneMetadata()"},
-    {"_ZN4llvm8LLParser18ParseNamedMetadataEv", "llvm::LLParser::ParseNamedMetadata()"},
-    {"_ZN4llvm8LLParser23ParseOptionalVisibilityERj", "llvm::LLParser::ParseOptionalVisibility(unsigned int&)"},
-    {"_ZN4llvm8LLParser11ParseGlobalERKSsNS_5SMLocEjbj", "llvm::LLParser::ParseGlobal(std::string const&, llvm::SMLoc, unsigned int, bool, unsigned int)"},
-    {"_ZN4llvm8LLParser10ParseTokenENS_5lltok4KindEPKc", "llvm::LLParser::ParseToken(llvm::lltok::Kind, char const*)"},
-    {"_ZN4llvm8LLParser19ParseStringConstantERSs", "llvm::LLParser::ParseStringConstant(std::string&)"},
-    {"_ZN4llvm8LLParser9ParseTypeERNS_12PATypeHolderEb", "llvm::LLParser::ParseType(llvm::PATypeHolder&, bool)"},
-    {"_ZN4llvm8LLParser19ParseFunctionHeaderERPNS_8FunctionEb", "llvm::LLParser::ParseFunctionHeader(llvm::Function*&, bool)"},
-    {"_ZN4llvm8LLParser17ParseFunctionBodyERNS_8FunctionE", "llvm::LLParser::ParseFunctionBody(llvm::Function&)"},
-    {"_ZN4llvm8LLParser15ParseGlobalTypeERb", "llvm::LLParser::ParseGlobalType(bool&)"},
-    {"_ZN4llvm8LLParser20ParseOptionalLinkageERjRb", "llvm::LLParser::ParseOptionalLinkage(unsigned int&, bool&)"},
-    {"_ZN4llvm8LLParser10ParseAliasERKSsNS_5SMLocEj", "llvm::LLParser::ParseAlias(std::string const&, llvm::SMLoc, unsigned int)"},
-    {"_ZN4llvm8LLParser13ParseMDStringERPNS_8MDStringE", "llvm::LLParser::ParseMDString(llvm::MDString*&)"},
-    {"_ZN4llvm8LLParser13ParseMDNodeIDERPNS_6MDNodeERj", "llvm::LLParser::ParseMDNodeID(llvm::MDNode*&, unsigned int&)"},
-    {"_ZN4llvm8LLParser11ParseUInt32ERj", "llvm::LLParser::ParseUInt32(unsigned int&)"},
-    {"_ZN4llvm8LLParser13ParseMDNodeIDERPNS_6MDNodeE", "llvm::LLParser::ParseMDNodeID(llvm::MDNode*&)"},
-    {"_ZN4llvm8LLParser17ParseMDNodeVectorERNS_15SmallVectorImplIPNS_5ValueEEEPNS0_16PerFunctionStateE", "llvm::LLParser::ParseMDNodeVector(llvm::SmallVectorImpl<llvm::Value*>&, llvm::LLParser::PerFunctionState*)"},
-    {"_ZN4llvm8LLParser23ParseGlobalTypeAndValueERPNS_8ConstantE", "llvm::LLParser::ParseGlobalTypeAndValue(llvm::Constant*&)"},
-    {"_ZN4llvm8LLParser10ParseValIDERNS_5ValIDEPNS0_16PerFunctionStateE", "llvm::LLParser::ParseValID(llvm::ValID&, llvm::LLParser::PerFunctionState*)"},
-    {"_ZN4llvm8LLParser22ParseOptionalAddrSpaceERj", "llvm::LLParser::ParseOptionalAddrSpace(unsigned int&)"},
-    {"_ZN4llvm8LLParser16ParseGlobalValueEPKNS_4TypeERPNS_8ConstantE", "llvm::LLParser::ParseGlobalValue(llvm::Type const*, llvm::Constant*&)"},
-    {"_ZN4llvm8LLParser22ParseOptionalAlignmentERj", "llvm::LLParser::ParseOptionalAlignment(unsigned int&)"},
-    {"_ZN4llvm8LLParser12GetGlobalValERKSsPKNS_4TypeENS_5SMLocE", "llvm::LLParser::GetGlobalVal(std::string const&, llvm::Type const*, llvm::SMLoc)"},
-    {"_ZN4llvm8LLParser12GetGlobalValEjPKNS_4TypeENS_5SMLocE", "llvm::LLParser::GetGlobalVal(unsigned int, llvm::Type const*, llvm::SMLoc)"},
-    {"_ZN4llvm8LLParser18ParseOptionalAttrsERjj", "llvm::LLParser::ParseOptionalAttrs(unsigned int&, unsigned int)"},
-    {"_ZN4llvm8LLParser27ParseOptionalStackAlignmentERj", "llvm::LLParser::ParseOptionalStackAlignment(unsigned int&)"},
-    {"_ZN4llvm8LLParser24ParseOptionalCallingConvERNS_11CallingConv2IDE", "llvm::LLParser::ParseOptionalCallingConv(llvm::CallingConv::ID&)"},
-    {"_ZN4llvm8LLParser24ParseInstructionMetadataEPNS_11InstructionEPNS0_16PerFunctionStateE", "llvm::LLParser::ParseInstructionMetadata(llvm::Instruction*, llvm::LLParser::PerFunctionState*)"},
-    {"_ZN4llvm8LLParser22ParseMetadataListValueERNS_5ValIDEPNS0_16PerFunctionStateE", "llvm::LLParser::ParseMetadataListValue(llvm::ValID&, llvm::LLParser::PerFunctionState*)"},
-    {"_ZN4llvm8LLParser23ParseOptionalCommaAlignERjRb", "llvm::LLParser::ParseOptionalCommaAlign(unsigned int&, bool&)"},
-    {"_ZN4llvm8LLParser14ParseIndexListERNS_15SmallVectorImplIjEERb", "llvm::LLParser::ParseIndexList(llvm::SmallVectorImpl<unsigned int>&, bool&)"},
-    {"_ZN4llvm8LLParser12ParseTypeRecERNS_12PATypeHolderE", "llvm::LLParser::ParseTypeRec(llvm::PATypeHolder&)"},
-    {"_ZN4llvm8LLParser12HandleUpRefsEPKNS_4TypeE", "llvm::LLParser::HandleUpRefs(llvm::Type const*)"},
-    {"_ZN4llvm8LLParser15ParseStructTypeERNS_12PATypeHolderEb", "llvm::LLParser::ParseStructType(llvm::PATypeHolder&, bool)"},
-    {"_ZN4llvm8LLParser20ParseArrayVectorTypeERNS_12PATypeHolderEb", "llvm::LLParser::ParseArrayVectorType(llvm::PATypeHolder&, bool)"},
-    {"_ZN4llvm8LLParser17ParseFunctionTypeERNS_12PATypeHolderE", "llvm::LLParser::ParseFunctionType(llvm::PATypeHolder&)"},
-    {"_ZN4llvm8LLParser18ParseParameterListERNS_15SmallVectorImplINS0_9ParamInfoEEERNS0_16PerFunctionStateE", "llvm::LLParser::ParseParameterList(llvm::SmallVectorImpl<llvm::LLParser::ParamInfo>&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser10ParseValueEPKNS_4TypeERPNS_5ValueERNS0_16PerFunctionStateE", "llvm::LLParser::ParseValue(llvm::Type const*, llvm::Value*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser17ParseArgumentListERSt6vectorINS0_7ArgInfoESaIS2_EERbb", "llvm::LLParser::ParseArgumentList(std::vector<llvm::LLParser::ArgInfo, std::allocator<llvm::LLParser::ArgInfo> >&, bool&, bool)"},
-    {"_ZN4llvm8LLParser16PerFunctionStateC1ERS0_RNS_8FunctionEi", "llvm::LLParser::PerFunctionState::PerFunctionState(llvm::LLParser&, llvm::Function&, int)"},
-    {"_ZN4llvm8LLParser16PerFunctionStateC2ERS0_RNS_8FunctionEi", "llvm::LLParser::PerFunctionState::PerFunctionState(llvm::LLParser&, llvm::Function&, int)"},
-    {"_ZN4llvm8LLParser16PerFunctionStateD1Ev", "llvm::LLParser::PerFunctionState::~PerFunctionState()"},
-    {"_ZN4llvm8LLParser16PerFunctionStateD2Ev", "llvm::LLParser::PerFunctionState::~PerFunctionState()"},
-    {"_ZN4llvm8LLParser16PerFunctionState14FinishFunctionEv", "llvm::LLParser::PerFunctionState::FinishFunction()"},
-    {"_ZN4llvm8LLParser16PerFunctionState6GetValERKSsPKNS_4TypeENS_5SMLocE", "llvm::LLParser::PerFunctionState::GetVal(std::string const&, llvm::Type const*, llvm::SMLoc)"},
-    {"_ZN4llvm8LLParser16PerFunctionState6GetValEjPKNS_4TypeENS_5SMLocE", "llvm::LLParser::PerFunctionState::GetVal(unsigned int, llvm::Type const*, llvm::SMLoc)"},
-    {"_ZN4llvm8LLParser16PerFunctionState11SetInstNameEiRKSsNS_5SMLocEPNS_11InstructionE", "llvm::LLParser::PerFunctionState::SetInstName(int, std::string const&, llvm::SMLoc, llvm::Instruction*)"},
-    {"_ZN4llvm8LLParser16PerFunctionState8DefineBBERKSsNS_5SMLocE", "llvm::LLParser::PerFunctionState::DefineBB(std::string const&, llvm::SMLoc)"},
-    {"_ZN4llvm8LLParser18ParseMetadataValueERNS_5ValIDEPNS0_16PerFunctionStateE", "llvm::LLParser::ParseMetadataValue(llvm::ValID&, llvm::LLParser::PerFunctionState*)"},
-    {"_ZN4llvm8LLParser22ParseGlobalValueVectorERNS_15SmallVectorImplIPNS_8ConstantEEE", "llvm::LLParser::ParseGlobalValueVector(llvm::SmallVectorImpl<llvm::Constant*>&)"},
-    {"_ZN4llvm8LLParser17ParseCmpPredicateERjj", "llvm::LLParser::ParseCmpPredicate(unsigned int&, unsigned int)"},
-    {"_ZN4llvm8LLParser19ConvertValIDToValueEPKNS_4TypeERNS_5ValIDERPNS_5ValueEPNS0_16PerFunctionStateE", "llvm::LLParser::ConvertValIDToValue(llvm::Type const*, llvm::ValID&, llvm::Value*&, llvm::LLParser::PerFunctionState*)"},
-    {"_ZN4llvm8LLParser17ParseTypeAndValueERPNS_5ValueERNS0_16PerFunctionStateE", "llvm::LLParser::ParseTypeAndValue(llvm::Value*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser22ParseTypeAndBasicBlockERPNS_10BasicBlockERNS_5SMLocERNS0_16PerFunctionStateE", "llvm::LLParser::ParseTypeAndBasicBlock(llvm::BasicBlock*&, llvm::SMLoc&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser15ParseBasicBlockERNS0_16PerFunctionStateE", "llvm::LLParser::ParseBasicBlock(llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser16ParseInstructionERPNS_11InstructionEPNS_10BasicBlockERNS0_16PerFunctionStateE", "llvm::LLParser::ParseInstruction(llvm::Instruction*&, llvm::BasicBlock*, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser8ParseRetERPNS_11InstructionEPNS_10BasicBlockERNS0_16PerFunctionStateE", "llvm::LLParser::ParseRet(llvm::Instruction*&, llvm::BasicBlock*, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser7ParseBrERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseBr(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser11ParseSwitchERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseSwitch(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser15ParseIndirectBrERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseIndirectBr(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser11ParseInvokeERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseInvoke(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser15ParseArithmeticERPNS_11InstructionERNS0_16PerFunctionStateEjj", "llvm::LLParser::ParseArithmetic(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, unsigned int, unsigned int)"},
-    {"_ZN4llvm8LLParser12ParseLogicalERPNS_11InstructionERNS0_16PerFunctionStateEj", "llvm::LLParser::ParseLogical(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, unsigned int)"},
-    {"_ZN4llvm8LLParser12ParseCompareERPNS_11InstructionERNS0_16PerFunctionStateEj", "llvm::LLParser::ParseCompare(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, unsigned int)"},
-    {"_ZN4llvm8LLParser9ParseCastERPNS_11InstructionERNS0_16PerFunctionStateEj", "llvm::LLParser::ParseCast(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, unsigned int)"},
-    {"_ZN4llvm8LLParser11ParseSelectERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseSelect(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser11ParseVA_ArgERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseVA_Arg(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser19ParseExtractElementERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseExtractElement(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser18ParseInsertElementERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseInsertElement(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser18ParseShuffleVectorERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseShuffleVector(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser8ParsePHIERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParsePHI(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser9ParseCallERPNS_11InstructionERNS0_16PerFunctionStateEb", "llvm::LLParser::ParseCall(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, bool)"},
-    {"_ZN4llvm8LLParser10ParseAllocERPNS_11InstructionERNS0_16PerFunctionStateEPNS_10BasicBlockEb", "llvm::LLParser::ParseAlloc(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, llvm::BasicBlock*, bool)"},
-    {"_ZN4llvm8LLParser9ParseFreeERPNS_11InstructionERNS0_16PerFunctionStateEPNS_10BasicBlockE", "llvm::LLParser::ParseFree(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LLParser9ParseLoadERPNS_11InstructionERNS0_16PerFunctionStateEb", "llvm::LLParser::ParseLoad(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, bool)"},
-    {"_ZN4llvm8LLParser10ParseStoreERPNS_11InstructionERNS0_16PerFunctionStateEb", "llvm::LLParser::ParseStore(llvm::Instruction*&, llvm::LLParser::PerFunctionState&, bool)"},
-    {"_ZN4llvm8LLParser14ParseGetResultERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseGetResult(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser18ParseGetElementPtrERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseGetElementPtr(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser17ParseExtractValueERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseExtractValue(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8LLParser16ParseInsertValueERPNS_11InstructionERNS0_16PerFunctionStateE", "llvm::LLParser::ParseInsertValue(llvm::Instruction*&, llvm::LLParser::PerFunctionState&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt6vectorINS_8LLParser5MDRefESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE5clearEv", "llvm::DenseMap<llvm::Instruction*, std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> >, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > > >::clear()"},
-    {"_ZNSt3mapIjSt4pairIN4llvm10TrackingVHINS1_6MDNodeEEENS1_5SMLocEESt4lessIjESaIS0_IKjS6_EEEixERS9_", "std::map<unsigned int, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > > >::operator[](unsigned int const&)"},
-    {"_ZNSt3mapISsSt4pairIPN4llvm11GlobalValueENS1_5SMLocEESt4lessISsESaIS0_IKSsS5_EEEixERS8_", "std::map<std::string, std::pair<llvm::GlobalValue*, llvm::SMLoc>, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::operator[](std::string const&)"},
-    {"_ZNSt3mapISsSt4pairIPN4llvm5ValueENS1_5SMLocEESt4lessISsESaIS0_IKSsS5_EEEixERS8_", "std::map<std::string, std::pair<llvm::Value*, llvm::SMLoc>, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > > >::operator[](std::string const&)"},
-    {"_ZNSt3mapIN4llvm5ValIDESt6vectorISt4pairIS1_PNS0_11GlobalValueEESaIS6_EESt4lessIS1_ESaIS3_IKS1_S8_EEEixERSB_", "std::map<llvm::ValID, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > >, std::less<llvm::ValID>, std::allocator<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > > >::operator[](llvm::ValID const&)"},
-    {"_ZNSt4pairIN4llvm5ValIDEPNS0_11GlobalValueEEC2IS1_PNS0_14GlobalVariableEEERKS_IT_T0_E", "std::pair<llvm::ValID, llvm::GlobalValue*>::pair<llvm::ValID, llvm::GlobalVariable*>(std::pair<llvm::ValID, llvm::GlobalVariable*> const&)"},
-    {"_ZNSt4pairIN4llvm5ValIDEPNS0_14GlobalVariableEEC2ERKS1_RKS3_", "std::pair<llvm::ValID, llvm::GlobalVariable*>::pair(llvm::ValID const&, llvm::GlobalVariable* const&)"},
-    {"_ZN9__gnu_cxx13new_allocatorISt4pairIN4llvm5ValIDEPNS2_11GlobalValueEEE9constructEPS6_RKS6_", "__gnu_cxx::new_allocator<std::pair<llvm::ValID, llvm::GlobalValue*> >::construct(std::pair<llvm::ValID, llvm::GlobalValue*>*, std::pair<llvm::ValID, llvm::GlobalValue*> const&)"},
-    {"_ZNSt6vectorISt4pairIN4llvm5ValIDEPNS1_11GlobalValueEESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::ValID, llvm::GlobalValue*>*, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, std::pair<llvm::ValID, llvm::GlobalValue*> const&)"},
-    {"_ZNSt4pairIN4llvm5ValIDEPNS0_11GlobalValueEEaSERKS4_", "std::pair<llvm::ValID, llvm::GlobalValue*>::operator=(std::pair<llvm::ValID, llvm::GlobalValue*> const&)"},
-    {"_ZSt24__uninitialized_copy_auxIPSt4pairIN4llvm5ValIDEPNS1_11GlobalValueEES6_ET0_T_S8_S7_St12__false_type", "std::pair<llvm::ValID, llvm::GlobalValue*>* std::__uninitialized_copy_aux<std::pair<llvm::ValID, llvm::GlobalValue*>*, std::pair<llvm::ValID, llvm::GlobalValue*>*>(std::pair<llvm::ValID, llvm::GlobalValue*>*, std::pair<llvm::ValID, llvm::GlobalValue*>*, std::pair<llvm::ValID, llvm::GlobalValue*>*, std::__false_type)"},
-    {"_ZNSt4pairIKN4llvm5ValIDESt6vectorIS_IS1_PNS0_11GlobalValueEESaIS6_EEEC2ERS2_RKS8_", "std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >::pair(llvm::ValID const&, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > const&)"},
-    {"_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSt4pairIN4llvm5ValIDEPNS3_11GlobalValueEESt6vectorIS7_SaIS7_EEEEPS7_ET0_T_SG_SF_St12__false_type", "std::pair<llvm::ValID, llvm::GlobalValue*>* std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<std::pair<llvm::ValID, llvm::GlobalValue*> const*, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, std::pair<llvm::ValID, llvm::GlobalValue*>*>(__gnu_cxx::__normal_iterator<std::pair<llvm::ValID, llvm::GlobalValue*> const*, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::ValID, llvm::GlobalValue*> const*, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, std::pair<llvm::ValID, llvm::GlobalValue*>*, std::__false_type)"},
-    {"_ZNSt8_Rb_treeIN4llvm5ValIDESt4pairIKS1_St6vectorIS2_IS1_PNS0_11GlobalValueEESaIS7_EEESt10_Select1stISA_ESt4lessIS1_ESaISA_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISA_ERKSA_", "std::_Rb_tree<llvm::ValID, std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, std::_Select1st<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > >, std::less<llvm::ValID>, std::allocator<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > >, std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm5ValIDESt4pairIKS1_St6vectorIS2_IS1_PNS0_11GlobalValueEESaIS7_EEESt10_Select1stISA_ESt4lessIS1_ESaISA_EE9_M_insertEPSt18_Rb_tree_node_baseSI_RKSA_", "std::_Rb_tree<llvm::ValID, std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, std::_Select1st<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > >, std::less<llvm::ValID>, std::allocator<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm5ValIDESt4pairIKS1_St6vectorIS2_IS1_PNS0_11GlobalValueEESaIS7_EEESt10_Select1stISA_ESt4lessIS1_ESaISA_EE16_M_insert_uniqueERKSA_", "std::_Rb_tree<llvm::ValID, std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, std::_Select1st<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > >, std::less<llvm::ValID>, std::allocator<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > > >::_M_insert_unique(std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > const&)"},
-    {"_ZNSt4pairIKN4llvm5ValIDESt6vectorIS_IS1_PNS0_11GlobalValueEESaIS6_EEEC2ERKS9_", "std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >::pair(std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE11equal_rangeERS1_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > > >::equal_range(std::string const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE5eraseESt17_Rb_tree_iteratorIS7_ESF_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > > >::erase(std::_Rb_tree_iterator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::_Rb_tree_iterator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessIjESaIS7_EE5eraseESt17_Rb_tree_iteratorIS7_ESF_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > > >::erase(std::_Rb_tree_iterator<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::_Rb_tree_iterator<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > >)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessIjESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessIjESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessIjESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > > >::_M_insert_unique(std::pair<unsigned int const, std::pair<llvm::Value*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE9_M_insertEPSt18_Rb_tree_node_baseSF_RKS7_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > > >::_M_insert_unique(std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm5ValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE4findERS1_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::Value*, llvm::SMLoc> > > >::find(std::string const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm5ValIDESt4pairIKS1_St6vectorIS2_IS1_PNS0_11GlobalValueEESaIS7_EEESt10_Select1stISA_ESt4lessIS1_ESaISA_EE4findERS3_", "std::_Rb_tree<llvm::ValID, std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, std::_Select1st<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > >, std::less<llvm::ValID>, std::allocator<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > > >::find(llvm::ValID const&)"},
-    {"_ZNSt6vectorIN4llvm8LLParser7ArgInfoESaIS2_EED2Ev", "std::vector<llvm::LLParser::ArgInfo, std::allocator<llvm::LLParser::ArgInfo> >::~vector()"},
-    {"_ZNSt6vectorIN4llvm8LLParser7ArgInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::LLParser::ArgInfo, std::allocator<llvm::LLParser::ArgInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::LLParser::ArgInfo*, std::vector<llvm::LLParser::ArgInfo, std::allocator<llvm::LLParser::ArgInfo> > >, llvm::LLParser::ArgInfo const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_8LLParser9ParamInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::LLParser::ParamInfo, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorIN4llvm8LLParser11UpRefRecordESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::LLParser::UpRefRecord, std::allocator<llvm::LLParser::UpRefRecord> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::LLParser::UpRefRecord*, std::vector<llvm::LLParser::UpRefRecord, std::allocator<llvm::LLParser::UpRefRecord> > >, llvm::LLParser::UpRefRecord const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IN4llvm12PATypeHolderENS2_5SMLocEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::PATypeHolder, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > > >::_M_insert_unique(std::pair<unsigned int const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IN4llvm12PATypeHolderENS2_5SMLocEEESt10_Select1stIS6_ESt4lessISsESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > > >::_M_insert_unique(std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IN4llvm12PATypeHolderENS2_5SMLocEEESt10_Select1stIS6_ESt4lessISsESaIS6_EE9_M_insertEPSt18_Rb_tree_node_baseSE_RKS6_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > const&)"},
-    {"_ZSt6__findIPN4llvm12PATypeHandleEPKNS0_4TypeEET_S6_S6_RKT0_St26random_access_iterator_tag", "llvm::PATypeHandle* std::__find<llvm::PATypeHandle*, llvm::Type const*>(llvm::PATypeHandle*, llvm::PATypeHandle*, llvm::Type const* const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIN4llvm8LLParser5MDRefESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::LLParser::MDRef*, std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > >, llvm::LLParser::MDRef const&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt6vectorINS_8LLParser5MDRefESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::Instruction*, std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> >, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > > >::FindAndConstruct(llvm::Instruction* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt6vectorINS_8LLParser5MDRefESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE16InsertIntoBucketERKS2_RKS7_PSt4pairIS2_S7_E", "llvm::DenseMap<llvm::Instruction*, std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> >, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > > >::InsertIntoBucket(llvm::Instruction* const&, std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > const&, std::pair<llvm::Instruction*, std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > >*)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt6vectorINS_8LLParser5MDRefESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE4growEj", "llvm::DenseMap<llvm::Instruction*, std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> >, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm8LLParser5MDRefESaIS2_EEC2ERKS4_", "std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> >::vector(std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessIjESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessIjESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::_M_insert_unique(std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE9_M_insertEPSt18_Rb_tree_node_baseSF_RKS7_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::_M_insert_unique(std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > const&)"},
-    {"_ZNSt6vectorIPN4llvm11GlobalValueESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::GlobalValue*, std::allocator<llvm::GlobalValue*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::GlobalValue**, std::vector<llvm::GlobalValue*, std::allocator<llvm::GlobalValue*> > >, llvm::GlobalValue* const&)"},
-    {"_ZN4llvm6iplistINS_14GlobalVariableENS_12ilist_traitsIS1_EEE8transferENS_14ilist_iteratorIS1_EERS4_S6_S6_", "llvm::iplist<llvm::GlobalVariable, llvm::ilist_traits<llvm::GlobalVariable> >::transfer(llvm::ilist_iterator<llvm::GlobalVariable>, llvm::iplist<llvm::GlobalVariable, llvm::ilist_traits<llvm::GlobalVariable> >&, llvm::ilist_iterator<llvm::GlobalVariable>, llvm::ilist_iterator<llvm::GlobalVariable>)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE11equal_rangeERS1_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::equal_range(std::string const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE5eraseESt17_Rb_tree_iteratorIS7_ESF_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::erase(std::_Rb_tree_iterator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::_Rb_tree_iterator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE4findERS1_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::find(std::string const&)"},
-    {"_ZNSt6vectorIN4llvm10TrackingVHINS0_6MDNodeEEESaIS3_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS3_S5_EEmRKS3_", "std::vector<llvm::TrackingVH<llvm::MDNode>, std::allocator<llvm::TrackingVH<llvm::MDNode> > >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::TrackingVH<llvm::MDNode>*, std::vector<llvm::TrackingVH<llvm::MDNode>, std::allocator<llvm::TrackingVH<llvm::MDNode> > > >, unsigned long, llvm::TrackingVH<llvm::MDNode> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IN4llvm10TrackingVHINS2_6MDNodeEEENS2_5SMLocEEESt10_Select1stIS8_ESt4lessIjESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > >, std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IN4llvm10TrackingVHINS2_6MDNodeEEENS2_5SMLocEEESt10_Select1stIS8_ESt4lessIjESaIS8_EE9_M_insertEPSt18_Rb_tree_node_baseSG_RKS8_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IN4llvm10TrackingVHINS2_6MDNodeEEENS2_5SMLocEEESt10_Select1stIS8_ESt4lessIjESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > > >::_M_insert_unique(std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IN4llvm12PATypeHolderENS2_5SMLocEEESt10_Select1stIS6_ESt4lessISsESaIS6_EE4findERS1_", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > > >::find(std::string const&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt6vectorINS_8LLParser5MDRefESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Instruction*, std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> >, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::vector<llvm::LLParser::MDRef, std::allocator<llvm::LLParser::MDRef> > > >::shrink_and_clear()"},
-    {"_ZN4llvm13ParseAssemblyEPNS_12MemoryBufferEPNS_6ModuleERNS_12SMDiagnosticERNS_11LLVMContextE", "llvm::ParseAssembly(llvm::MemoryBuffer*, llvm::Module*, llvm::SMDiagnostic&, llvm::LLVMContext&)"},
-    {"_ZN4llvm17ParseAssemblyFileERKSsRNS_12SMDiagnosticERNS_11LLVMContextE", "llvm::ParseAssemblyFile(std::string const&, llvm::SMDiagnostic&, llvm::LLVMContext&)"},
-    {"_ZN4llvm19ParseAssemblyStringEPKcPNS_6ModuleERNS_12SMDiagnosticERNS_11LLVMContextE", "llvm::ParseAssemblyString(char const*, llvm::Module*, llvm::SMDiagnostic&, llvm::LLVMContext&)"},
-    {"_ZN4llvm8LLParserD2Ev", "llvm::LLParser::~LLParser()"},
-    {"_ZN4llvm7LLLexerD2Ev", "llvm::LLLexer::~LLLexer()"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IN4llvm12PATypeHolderENS2_5SMLocEEESt10_Select1stIS6_ESt4lessISsESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >*)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IN4llvm12PATypeHolderENS2_5SMLocEEESt10_Select1stIS6_ESt4lessISsESaIS6_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::string const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IN4llvm12PATypeHolderENS2_5SMLocEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::PATypeHolder, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::pair<llvm::PATypeHolder, llvm::SMLoc> > >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IN4llvm10TrackingVHINS2_6MDNodeEEENS2_5SMLocEEESt10_Select1stIS8_ESt4lessIjESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::pair<llvm::TrackingVH<llvm::MDNode>, llvm::SMLoc> > >*)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessISsESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<std::string, std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPN4llvm11GlobalValueENS2_5SMLocEEESt10_Select1stIS7_ESt4lessIjESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::pair<llvm::GlobalValue*, llvm::SMLoc> > >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm5ValIDESt4pairIKS1_St6vectorIS2_IS1_PNS0_11GlobalValueEESaIS7_EEESt10_Select1stISA_ESt4lessIS1_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E", "std::_Rb_tree<llvm::ValID, std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >, std::_Select1st<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > >, std::less<llvm::ValID>, std::allocator<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > > >*)"},
-    {"_ZNSt4pairIKN4llvm5ValIDESt6vectorIS_IS1_PNS0_11GlobalValueEESaIS6_EEED2Ev", "std::pair<llvm::ValID const, std::vector<std::pair<llvm::ValID, llvm::GlobalValue*>, std::allocator<std::pair<llvm::ValID, llvm::GlobalValue*> > > >::~pair()"},
-    {"_ZSt13__destroy_auxIPSt4pairIN4llvm5ValIDEPNS1_11GlobalValueEEEvT_S7_St12__false_type", "void std::__destroy_aux<std::pair<llvm::ValID, llvm::GlobalValue*>*>(std::pair<llvm::ValID, llvm::GlobalValue*>*, std::pair<llvm::ValID, llvm::GlobalValue*>*, std::__false_type)"},
-    {"_ZN4llvm8LLParserC2EPNS_12MemoryBufferERNS_9SourceMgrERNS_12SMDiagnosticEPNS_6ModuleE", "llvm::LLParser::LLParser(llvm::MemoryBuffer*, llvm::SourceMgr&, llvm::SMDiagnostic&, llvm::Module*)"},
-    {"_ZN4llvm16RegisterAsmLexerIN12_GLOBAL__N_111X86AsmLexerEE9AllocatorERKNS_6TargetERKNS_9MCAsmInfoE", "llvm::RegisterAsmLexer<(anonymous namespace)::X86AsmLexer>::Allocator(llvm::Target const&, llvm::MCAsmInfo const&)"},
-    {"_ZN12_GLOBAL__N_111X86AsmLexer8LexTokenEv", "(anonymous namespace)::X86AsmLexer::LexToken()"},
-    {"_ZN12_GLOBAL__N_111X86AsmLexerD1Ev", "(anonymous namespace)::X86AsmLexer::~X86AsmLexer()"},
-    {"_ZN12_GLOBAL__N_111X86AsmLexerD0Ev", "(anonymous namespace)::X86AsmLexer::~X86AsmLexer()"},
-    {"_Z17MatchRegisterNameN4llvm9StringRefE", "MatchRegisterName(llvm::StringRef)"},
-    {"_ZN4llvm17RegisterAsmParserIN12_GLOBAL__N_118X86_64ATTAsmParserEE9AllocatorERKNS_6TargetERNS_11MCAsmParserERNS_13TargetMachineE", "llvm::RegisterAsmParser<(anonymous namespace)::X86_64ATTAsmParser>::Allocator(llvm::Target const&, llvm::MCAsmParser&, llvm::TargetMachine&)"},
-    {"_ZN12_GLOBAL__N_118X86_64ATTAsmParserD1Ev", "(anonymous namespace)::X86_64ATTAsmParser::~X86_64ATTAsmParser()"},
-    {"_ZN12_GLOBAL__N_118X86_64ATTAsmParserD0Ev", "(anonymous namespace)::X86_64ATTAsmParser::~X86_64ATTAsmParser()"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParser13ParseRegisterERjRN4llvm5SMLocES4_", "(anonymous namespace)::X86ATTAsmParser::ParseRegister(unsigned int&, llvm::SMLoc&, llvm::SMLoc&)"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParser16ParseInstructionEN4llvm9StringRefENS1_5SMLocERNS1_15SmallVectorImplIPNS1_18MCParsedAsmOperandEEE", "(anonymous namespace)::X86ATTAsmParser::ParseInstruction(llvm::StringRef, llvm::SMLoc, llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*>&)"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParser14ParseDirectiveEN4llvm8AsmTokenE", "(anonymous namespace)::X86ATTAsmParser::ParseDirective(llvm::AsmToken)"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParser23MatchAndEmitInstructionEN4llvm5SMLocERNS1_15SmallVectorImplIPNS1_18MCParsedAsmOperandEEERNS1_10MCStreamerE", "(anonymous namespace)::X86ATTAsmParser::MatchAndEmitInstruction(llvm::SMLoc, llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*>&, llvm::MCStreamer&)"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParser20MatchInstructionImplERKN4llvm15SmallVectorImplIPNS1_18MCParsedAsmOperandEEERNS1_6MCInstERj", "(anonymous namespace)::X86ATTAsmParser::MatchInstructionImpl(llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*> const&, llvm::MCInst&, unsigned int&)"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParser15ConvertToMCInstEjRN4llvm6MCInstEjRKNS1_15SmallVectorImplIPNS1_18MCParsedAsmOperandEEE", "(anonymous namespace)::X86ATTAsmParser::ConvertToMCInst(unsigned int, llvm::MCInst&, unsigned int, llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*> const&)"},
-    {"_ZNK12_GLOBAL__N_110X86Operand14addMemOperandsERN4llvm6MCInstEj", "(anonymous namespace)::X86Operand::addMemOperands(llvm::MCInst&, unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_110X86Operand7addExprERN4llvm6MCInstEPKNS1_6MCExprE", "(anonymous namespace)::X86Operand::addExpr(llvm::MCInst&, llvm::MCExpr const*) const"},
-    {"_ZN12_GLOBAL__N_110X86OperandD1Ev", "(anonymous namespace)::X86Operand::~X86Operand()"},
-    {"_ZN12_GLOBAL__N_110X86OperandD0Ev", "(anonymous namespace)::X86Operand::~X86Operand()"},
-    {"_ZNK12_GLOBAL__N_110X86Operand11getStartLocEv", "(anonymous namespace)::X86Operand::getStartLoc() const"},
-    {"_ZNK12_GLOBAL__N_110X86Operand9getEndLocEv", "(anonymous namespace)::X86Operand::getEndLoc() const"},
-    {"_ZNK12_GLOBAL__N_110X86Operand4dumpERN4llvm11raw_ostreamE", "(anonymous namespace)::X86Operand::dump(llvm::raw_ostream&) const"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParser12ParseOperandEv", "(anonymous namespace)::X86ATTAsmParser::ParseOperand()"},
-    {"_Z17MatchRegisterNameN4llvm9StringRefE", "MatchRegisterName(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParser15ParseMemOperandEjN4llvm5SMLocE", "(anonymous namespace)::X86ATTAsmParser::ParseMemOperand(unsigned int, llvm::SMLoc)"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParserD1Ev", "(anonymous namespace)::X86ATTAsmParser::~X86ATTAsmParser()"},
-    {"_ZN12_GLOBAL__N_115X86ATTAsmParserD0Ev", "(anonymous namespace)::X86ATTAsmParser::~X86ATTAsmParser()"},
-    {"_ZN4llvm17RegisterAsmParserIN12_GLOBAL__N_118X86_32ATTAsmParserEE9AllocatorERKNS_6TargetERNS_11MCAsmParserERNS_13TargetMachineE", "llvm::RegisterAsmParser<(anonymous namespace)::X86_32ATTAsmParser>::Allocator(llvm::Target const&, llvm::MCAsmParser&, llvm::TargetMachine&)"},
-    {"_ZN12_GLOBAL__N_118X86_32ATTAsmParserD1Ev", "(anonymous namespace)::X86_32ATTAsmParser::~X86_32ATTAsmParser()"},
-    {"_ZN12_GLOBAL__N_118X86_32ATTAsmParserD0Ev", "(anonymous namespace)::X86_32ATTAsmParser::~X86_32ATTAsmParser()"},
-    {"_ZN4llvm22createSSEDomainFixPassEv", "llvm::createSSEDomainFixPass()"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPassD1Ev", "(anonymous namespace)::SSEDomainFixPass::~SSEDomainFixPass()"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPassD0Ev", "(anonymous namespace)::SSEDomainFixPass::~SSEDomainFixPass()"},
-    {"_ZNK12_GLOBAL__N_116SSEDomainFixPass11getPassNameEv", "(anonymous namespace)::SSEDomainFixPass::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_116SSEDomainFixPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::SSEDomainFixPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::SSEDomainFixPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPass14visitHardInstrEPN4llvm12MachineInstrEj", "(anonymous namespace)::SSEDomainFixPass::visitHardInstr(llvm::MachineInstr*, unsigned int)"},
-    {"_ZN4llvm24SpecificBumpPtrAllocatorIN12_GLOBAL__N_111DomainValueEE10DestroyAllEv", "llvm::SpecificBumpPtrAllocator<(anonymous namespace)::DomainValue>::DestroyAll()"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPass8CollapseEPNS_11DomainValueEj", "(anonymous namespace)::SSEDomainFixPass::Collapse((anonymous namespace)::DomainValue*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPass10SetLiveRegEiPNS_11DomainValueE", "(anonymous namespace)::SSEDomainFixPass::SetLiveReg(int, (anonymous namespace)::DomainValue*)"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPass5ForceEij", "(anonymous namespace)::SSEDomainFixPass::Force(int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPass5MergeEPNS_11DomainValueES2_", "(anonymous namespace)::SSEDomainFixPass::Merge((anonymous namespace)::DomainValue*, (anonymous namespace)::DomainValue*)"},
-    {"_ZN4llvm12df_ext_beginIPNS_17MachineBasicBlockENS_11SmallPtrSetIS2_Lj16EEEEENS_15df_ext_iteratorIT_T0_EERKS6_RS7_", "llvm::df_ext_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 16u> > llvm::df_ext_begin<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 16u> >(llvm::MachineBasicBlock* const&, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 16u>&)"},
-    {"_ZN4llvm11df_iteratorIPNS_17MachineBasicBlockENS_11SmallPtrSetIS2_Lj16EEELb1ENS_11GraphTraitsIS2_EEE6toNextEv", "llvm::df_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 16u>, true, llvm::GraphTraits<llvm::MachineBasicBlock*> >::toNext()"},
-    {"_ZNSt6vectorISt4pairIN4llvm14PointerIntPairIPNS1_17MachineBasicBlockELj1EjNS1_21PointerLikeTypeTraitsIS4_EEEEN9__gnu_cxx17__normal_iteratorIPS4_S_IS4_SaIS4_EEEEESaISE_EE13_M_insert_auxENS9_IPSE_SG_EERKSE_", "std::vector<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >*, std::vector<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > > > > >, std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > > const&)"},
-    {"_ZNSt6vectorISt4pairIN4llvm14PointerIntPairIPNS1_17MachineBasicBlockELj1EjNS1_21PointerLikeTypeTraitsIS4_EEEEN9__gnu_cxx17__normal_iteratorIPS4_S_IS4_SaIS4_EEEEESaISE_EEC2ERKSG_", "std::vector<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > > > >::vector(std::vector<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::MachineBasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::MachineBasicBlock*> >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > > > > const&)"},
-    {"_ZN4llvm11df_iteratorIPNS_17MachineBasicBlockENS_11SmallPtrSetIS2_Lj16EEELb1ENS_11GraphTraitsIS2_EEEC2ES2_RS4_", "llvm::df_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 16u>, true, llvm::GraphTraits<llvm::MachineBasicBlock*> >::df_iterator(llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 16u>&)"},
-    {"_ZN4llvm22createX86_32AsmBackendERKNS_6TargetERKSs", "llvm::createX86_32AsmBackend(llvm::Target const&, std::string const&)"},
-    {"_ZN4llvm22createX86_64AsmBackendERKNS_6TargetERKSs", "llvm::createX86_64AsmBackend(llvm::Target const&, std::string const&)"},
-    {"_ZN12_GLOBAL__N_119ELFX86_64AsmBackendD1Ev", "(anonymous namespace)::ELFX86_64AsmBackend::~ELFX86_64AsmBackend()"},
-    {"_ZN12_GLOBAL__N_119ELFX86_64AsmBackendD0Ev", "(anonymous namespace)::ELFX86_64AsmBackend::~ELFX86_64AsmBackend()"},
-    {"_ZNK12_GLOBAL__N_119ELFX86_64AsmBackend18createObjectWriterERN4llvm11raw_ostreamE", "(anonymous namespace)::ELFX86_64AsmBackend::createObjectWriter(llvm::raw_ostream&) const"},
-    {"_ZNK12_GLOBAL__N_116ELFX86AsmBackend25doesSectionRequireSymbolsERKN4llvm9MCSectionE", "(anonymous namespace)::ELFX86AsmBackend::doesSectionRequireSymbols(llvm::MCSection const&) const"},
-    {"_ZNK12_GLOBAL__N_113X86AsmBackend16getNumFixupKindsEv", "(anonymous namespace)::X86AsmBackend::getNumFixupKinds() const"},
-    {"_ZNK12_GLOBAL__N_113X86AsmBackend16getFixupKindInfoEN4llvm11MCFixupKindE", "(anonymous namespace)::X86AsmBackend::getFixupKindInfo(llvm::MCFixupKind) const"},
-    {"_ZNK12_GLOBAL__N_113X86AsmBackend10ApplyFixupERKN4llvm7MCFixupEPcjy", "(anonymous namespace)::X86AsmBackend::ApplyFixup(llvm::MCFixup const&, char*, unsigned int, unsigned long long) const"},
-    {"_ZNK12_GLOBAL__N_113X86AsmBackend17MayNeedRelaxationERKN4llvm6MCInstE", "(anonymous namespace)::X86AsmBackend::MayNeedRelaxation(llvm::MCInst const&) const"},
-    {"_ZNK12_GLOBAL__N_113X86AsmBackend16RelaxInstructionERKN4llvm6MCInstERS2_", "(anonymous namespace)::X86AsmBackend::RelaxInstruction(llvm::MCInst const&, llvm::MCInst&) const"},
-    {"_ZNK12_GLOBAL__N_113X86AsmBackend12WriteNopDataEyPN4llvm14MCObjectWriterE", "(anonymous namespace)::X86AsmBackend::WriteNopData(unsigned long long, llvm::MCObjectWriter*) const"},
-    {"_ZN12_GLOBAL__N_118X86ELFObjectWriterD1Ev", "(anonymous namespace)::X86ELFObjectWriter::~X86ELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_118X86ELFObjectWriterD0Ev", "(anonymous namespace)::X86ELFObjectWriter::~X86ELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_116ELFX86AsmBackendD1Ev", "(anonymous namespace)::ELFX86AsmBackend::~ELFX86AsmBackend()"},
-    {"_ZN12_GLOBAL__N_116ELFX86AsmBackendD0Ev", "(anonymous namespace)::ELFX86AsmBackend::~ELFX86AsmBackend()"},
-    {"_ZN12_GLOBAL__N_113X86AsmBackendD1Ev", "(anonymous namespace)::X86AsmBackend::~X86AsmBackend()"},
-    {"_ZN12_GLOBAL__N_113X86AsmBackendD0Ev", "(anonymous namespace)::X86AsmBackend::~X86AsmBackend()"},
-    {"_ZN12_GLOBAL__N_122DarwinX86_64AsmBackendD1Ev", "(anonymous namespace)::DarwinX86_64AsmBackend::~DarwinX86_64AsmBackend()"},
-    {"_ZN12_GLOBAL__N_122DarwinX86_64AsmBackendD0Ev", "(anonymous namespace)::DarwinX86_64AsmBackend::~DarwinX86_64AsmBackend()"},
-    {"_ZNK12_GLOBAL__N_122DarwinX86_64AsmBackend18createObjectWriterERN4llvm11raw_ostreamE", "(anonymous namespace)::DarwinX86_64AsmBackend::createObjectWriter(llvm::raw_ostream&) const"},
-    {"_ZNK12_GLOBAL__N_122DarwinX86_64AsmBackend25doesSectionRequireSymbolsERKN4llvm9MCSectionE", "(anonymous namespace)::DarwinX86_64AsmBackend::doesSectionRequireSymbols(llvm::MCSection const&) const"},
-    {"_ZNK12_GLOBAL__N_122DarwinX86_64AsmBackend19isSectionAtomizableERKN4llvm9MCSectionE", "(anonymous namespace)::DarwinX86_64AsmBackend::isSectionAtomizable(llvm::MCSection const&) const"},
-    {"_ZN12_GLOBAL__N_119DarwinX86AsmBackendD1Ev", "(anonymous namespace)::DarwinX86AsmBackend::~DarwinX86AsmBackend()"},
-    {"_ZN12_GLOBAL__N_119DarwinX86AsmBackendD0Ev", "(anonymous namespace)::DarwinX86AsmBackend::~DarwinX86AsmBackend()"},
-    {"_ZN12_GLOBAL__N_119ELFX86_32AsmBackendD1Ev", "(anonymous namespace)::ELFX86_32AsmBackend::~ELFX86_32AsmBackend()"},
-    {"_ZN12_GLOBAL__N_119ELFX86_32AsmBackendD0Ev", "(anonymous namespace)::ELFX86_32AsmBackend::~ELFX86_32AsmBackend()"},
-    {"_ZNK12_GLOBAL__N_119ELFX86_32AsmBackend18createObjectWriterERN4llvm11raw_ostreamE", "(anonymous namespace)::ELFX86_32AsmBackend::createObjectWriter(llvm::raw_ostream&) const"},
-    {"_ZN12_GLOBAL__N_120WindowsX86AsmBackendD1Ev", "(anonymous namespace)::WindowsX86AsmBackend::~WindowsX86AsmBackend()"},
-    {"_ZN12_GLOBAL__N_120WindowsX86AsmBackendD0Ev", "(anonymous namespace)::WindowsX86AsmBackend::~WindowsX86AsmBackend()"},
-    {"_ZNK12_GLOBAL__N_120WindowsX86AsmBackend18createObjectWriterERN4llvm11raw_ostreamE", "(anonymous namespace)::WindowsX86AsmBackend::createObjectWriter(llvm::raw_ostream&) const"},
-    {"_ZN12_GLOBAL__N_122DarwinX86_32AsmBackendD1Ev", "(anonymous namespace)::DarwinX86_32AsmBackend::~DarwinX86_32AsmBackend()"},
-    {"_ZN12_GLOBAL__N_122DarwinX86_32AsmBackendD0Ev", "(anonymous namespace)::DarwinX86_32AsmBackend::~DarwinX86_32AsmBackend()"},
-    {"_ZNK12_GLOBAL__N_122DarwinX86_32AsmBackend18createObjectWriterERN4llvm11raw_ostreamE", "(anonymous namespace)::DarwinX86_32AsmBackend::createObjectWriter(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm16TargetAsmBackend19isSectionAtomizableERKNS_9MCSectionE", "llvm::TargetAsmBackend::isSectionAtomizable(llvm::MCSection const&) const"},
-    {"_ZN4llvm16TargetAsmBackend19HandleAssemblerFlagENS_15MCAssemblerFlagE", "llvm::TargetAsmBackend::HandleAssemblerFlag(llvm::MCAssemblerFlag)"},
-    {"_ZN4llvm15SmallVectorImplINS_9MCOperandEEaSERKS2_", "llvm::SmallVectorImpl<llvm::MCOperand>::operator=(llvm::SmallVectorImpl<llvm::MCOperand> const&)"},
-    {"_ZNK4llvm16TargetAsmBackend25doesSectionRequireSymbolsERKNS_9MCSectionE", "llvm::TargetAsmBackend::doesSectionRequireSymbols(llvm::MCSection const&) const"},
-    {"_ZN4llvm13X86AsmPrinter20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm13X86AsmPrinter18printSymbolOperandERKNS_14MachineOperandERNS_11raw_ostreamE", "llvm::X86AsmPrinter::printSymbolOperand(llvm::MachineOperand const&, llvm::raw_ostream&)"},
-    {"_ZN4llvm13X86AsmPrinter15print_pcrel_immEPKNS_12MachineInstrEjRNS_11raw_ostreamE", "llvm::X86AsmPrinter::print_pcrel_imm(llvm::MachineInstr const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm13X86AsmPrinter12printOperandEPKNS_12MachineInstrEjRNS_11raw_ostreamEPKc", "llvm::X86AsmPrinter::printOperand(llvm::MachineInstr const*, unsigned int, llvm::raw_ostream&, char const*)"},
-    {"_ZN4llvm13X86AsmPrinter10printSSECCEPKNS_12MachineInstrEjRNS_11raw_ostreamE", "llvm::X86AsmPrinter::printSSECC(llvm::MachineInstr const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm13X86AsmPrinter20printLeaMemReferenceEPKNS_12MachineInstrEjRNS_11raw_ostreamEPKc", "llvm::X86AsmPrinter::printLeaMemReference(llvm::MachineInstr const*, unsigned int, llvm::raw_ostream&, char const*)"},
-    {"_ZN4llvm13X86AsmPrinter17printMemReferenceEPKNS_12MachineInstrEjRNS_11raw_ostreamEPKc", "llvm::X86AsmPrinter::printMemReference(llvm::MachineInstr const*, unsigned int, llvm::raw_ostream&, char const*)"},
-    {"_ZN4llvm13X86AsmPrinter13printPICLabelEPKNS_12MachineInstrEjRNS_11raw_ostreamE", "llvm::X86AsmPrinter::printPICLabel(llvm::MachineInstr const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm13X86AsmPrinter17printAsmMRegisterERKNS_14MachineOperandEcRNS_11raw_ostreamE", "llvm::X86AsmPrinter::printAsmMRegister(llvm::MachineOperand const&, char, llvm::raw_ostream&)"},
-    {"_ZN4llvm13X86AsmPrinter15PrintAsmOperandEPKNS_12MachineInstrEjjPKcRNS_11raw_ostreamE", "llvm::X86AsmPrinter::PrintAsmOperand(llvm::MachineInstr const*, unsigned int, unsigned int, char const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm13X86AsmPrinter21PrintAsmMemoryOperandEPKNS_12MachineInstrEjjPKcRNS_11raw_ostreamE", "llvm::X86AsmPrinter::PrintAsmMemoryOperand(llvm::MachineInstr const*, unsigned int, unsigned int, char const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm13X86AsmPrinter18EmitStartOfAsmFileERNS_6ModuleE", "llvm::X86AsmPrinter::EmitStartOfAsmFile(llvm::Module&)"},
-    {"_ZN4llvm13X86AsmPrinter16EmitEndOfAsmFileERNS_6ModuleE", "llvm::X86AsmPrinter::EmitEndOfAsmFile(llvm::Module&)"},
-    {"_ZNK4llvm13X86AsmPrinter21getDebugValueLocationEPKNS_12MachineInstrE", "llvm::X86AsmPrinter::getDebugValueLocation(llvm::MachineInstr const*) const"},
-    {"_ZN4llvm13X86AsmPrinter22PrintDebugValueCommentEPKNS_12MachineInstrERNS_11raw_ostreamE", "llvm::X86AsmPrinter::PrintDebugValueComment(llvm::MachineInstr const*, llvm::raw_ostream&)"},
-    {"_Z22createX86MCInstPrinterRKN4llvm6TargetEjRKNS_9MCAsmInfoE", "createX86MCInstPrinter(llvm::Target const&, unsigned int, llvm::MCAsmInfo const&)"},
-    {"_ZNK4llvm12X86Subtarget12isTargetCOFFEv", "llvm::X86Subtarget::isTargetCOFF() const"},
-    {"_ZNK4llvm12X86Subtarget11isTargetELFEv", "llvm::X86Subtarget::isTargetELF() const"},
-    {"_ZN4llvm7DIScopeD1Ev", "llvm::DIScope::~DIScope()"},
-    {"_ZN4llvm12DISubprogramD1Ev", "llvm::DISubprogram::~DISubprogram()"},
-    {"_ZN4llvm13X86AsmPrinterD1Ev", "llvm::X86AsmPrinter::~X86AsmPrinter()"},
-    {"_ZN4llvm13X86AsmPrinterD0Ev", "llvm::X86AsmPrinter::~X86AsmPrinter()"},
-    {"_ZNK4llvm13X86AsmPrinter11getPassNameEv", "llvm::X86AsmPrinter::getPassName() const"},
-    {"_ZN4llvm10AsmPrinter14getISAEncodingEv", "llvm::AsmPrinter::getISAEncoding()"},
-    {"_ZN4llvm18RegisterAsmPrinterINS_13X86AsmPrinterEE9AllocatorERNS_13TargetMachineERNS_10MCStreamerE", "llvm::RegisterAsmPrinter<llvm::X86AsmPrinter>::Allocator(llvm::TargetMachine&, llvm::MCStreamer&)"},
-    {"_ZNSt6vectorIPKN4llvm8MCSymbolESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::MCSymbol const*, std::allocator<llvm::MCSymbol const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MCSymbol const**, std::vector<llvm::MCSymbol const*, std::allocator<llvm::MCSymbol const*> > >, llvm::MCSymbol const* const&)"},
-    {"_ZN4llvm12DISubprogramD0Ev", "llvm::DISubprogram::~DISubprogram()"},
-    {"_ZN4llvm7DIScopeD0Ev", "llvm::DIScope::~DIScope()"},
-    {"_ZN4llvm24X86COFFMachineModuleInfoD0Ev", "llvm::X86COFFMachineModuleInfo::~X86COFFMachineModuleInfo()"},
-    {"_ZN4llvm24X86COFFMachineModuleInfoD1Ev", "llvm::X86COFFMachineModuleInfo::~X86COFFMachineModuleInfo()"},
-    {"_ZN4llvm24X86COFFMachineModuleInfoD2Ev", "llvm::X86COFFMachineModuleInfo::~X86COFFMachineModuleInfo()"},
-    {"_ZN4llvm27createX86JITCodeEmitterPassERNS_16X86TargetMachineERNS_14JITCodeEmitterE", "llvm::createX86JITCodeEmitterPass(llvm::X86TargetMachine&, llvm::JITCodeEmitter&)"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEED1Ev", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::~Emitter()"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEED0Ev", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::~Emitter()"},
-    {"_ZNK12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE11getPassNameEv", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE16getAnalysisUsageERNS1_13AnalysisUsageE", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE20runOnMachineFunctionERNS1_15MachineFunctionE", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE15emitInstructionERNS1_12MachineInstrEPKNS1_15TargetInstrDescE", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitInstruction(llvm::MachineInstr&, llvm::TargetInstrDesc const*)"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE17emitGlobalAddressEPKNS1_11GlobalValueEjllb", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitGlobalAddress(llvm::GlobalValue const*, unsigned int, long, long, bool)"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE25emitExternalSymbolAddressEPKcj", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitExternalSymbolAddress(char const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE20emitJumpTableAddressEjjl", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitJumpTableAddress(unsigned int, unsigned int, long)"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE20emitConstPoolAddressEjjll", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitConstPoolAddress(unsigned int, unsigned int, long, long)"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE16emitMemModRMByteERKNS1_12MachineInstrEjjl", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitMemModRMByte(llvm::MachineInstr const&, unsigned int, unsigned int, long)"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE21emitDisplacementFieldEPKNS1_14MachineOperandEilb", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitDisplacementField(llvm::MachineOperand const*, int, long, bool)"},
-    {"_ZN4llvm16X86ELFWriterInfoC1Ebb", "llvm::X86ELFWriterInfo::X86ELFWriterInfo(bool, bool)"},
-    {"_ZN4llvm16X86ELFWriterInfoC2Ebb", "llvm::X86ELFWriterInfo::X86ELFWriterInfo(bool, bool)"},
-    {"_ZN4llvm16X86ELFWriterInfoD0Ev", "llvm::X86ELFWriterInfo::~X86ELFWriterInfo()"},
-    {"_ZN4llvm16X86ELFWriterInfoD1Ev", "llvm::X86ELFWriterInfo::~X86ELFWriterInfo()"},
-    {"_ZN4llvm16X86ELFWriterInfoD2Ev", "llvm::X86ELFWriterInfo::~X86ELFWriterInfo()"},
-    {"_ZNK4llvm16X86ELFWriterInfo17getRelocationTypeEj", "llvm::X86ELFWriterInfo::getRelocationType(unsigned int) const"},
-    {"_ZNK4llvm16X86ELFWriterInfo24getDefaultAddendForRelTyEjl", "llvm::X86ELFWriterInfo::getDefaultAddendForRelTy(unsigned int, long) const"},
-    {"_ZNK4llvm16X86ELFWriterInfo19getRelocationTySizeEj", "llvm::X86ELFWriterInfo::getRelocationTySize(unsigned int) const"},
-    {"_ZNK4llvm16X86ELFWriterInfo15isPCRelativeRelEj", "llvm::X86ELFWriterInfo::isPCRelativeRel(unsigned int) const"},
-    {"_ZNK4llvm16X86ELFWriterInfo28getAbsoluteLabelMachineRelTyEv", "llvm::X86ELFWriterInfo::getAbsoluteLabelMachineRelTy() const"},
-    {"_ZNK4llvm16X86ELFWriterInfo17computeRelocationEjjj", "llvm::X86ELFWriterInfo::computeRelocation(unsigned int, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm16X86ELFWriterInfo19hasRelocationAddendEv", "llvm::X86ELFWriterInfo::hasRelocationAddend() const"},
-    {"_ZN4llvm3X8614createFastISelERNS_20FunctionLoweringInfoE", "llvm::X86::createFastISel(llvm::FunctionLoweringInfo&)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel13TryToFoldLoadEPN4llvm12MachineInstrEjPKNS1_8LoadInstE", "(anonymous namespace)::X86FastISel::TryToFoldLoad(llvm::MachineInstr*, unsigned int, llvm::LoadInst const*)"},
-    {"_ZN12_GLOBAL__N_111X86FastISelD1Ev", "(anonymous namespace)::X86FastISel::~X86FastISel()"},
-    {"_ZN12_GLOBAL__N_111X86FastISelD0Ev", "(anonymous namespace)::X86FastISel::~X86FastISel()"},
-    {"_ZN12_GLOBAL__N_111X86FastISel23TargetSelectInstructionEPKN4llvm11InstructionE", "(anonymous namespace)::X86FastISel::TargetSelectInstruction(llvm::Instruction const*)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel10FastEmit_rEN4llvm3MVTES2_jjb", "(anonymous namespace)::X86FastISel::FastEmit_r(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel11FastEmit_rrEN4llvm3MVTES2_jjbjb", "(anonymous namespace)::X86FastISel::FastEmit_rr(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel11FastEmit_riEN4llvm3MVTES2_jjby", "(anonymous namespace)::X86FastISel::FastEmit_ri(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel10FastEmit_iEN4llvm3MVTES2_jy", "(anonymous namespace)::X86FastISel::FastEmit_i(llvm::MVT, llvm::MVT, unsigned int, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel25TargetMaterializeConstantEPKN4llvm8ConstantE", "(anonymous namespace)::X86FastISel::TargetMaterializeConstant(llvm::Constant const*)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel23TargetMaterializeAllocaEPKN4llvm10AllocaInstE", "(anonymous namespace)::X86FastISel::TargetMaterializeAlloca(llvm::AllocaInst const*)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel16X86SelectAddressEPKN4llvm5ValueERNS1_14X86AddressModeE", "(anonymous namespace)::X86FastISel::X86SelectAddress(llvm::Value const*, llvm::X86AddressMode&)"},
-    {"_ZN4llvm14addFullAddressERKNS_19MachineInstrBuilderERKNS_14X86AddressModeE", "llvm::addFullAddress(llvm::MachineInstrBuilder const&, llvm::X86AddressMode const&)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel13X86SelectZExtEPKN4llvm11InstructionE", "(anonymous namespace)::X86FastISel::X86SelectZExt(llvm::Instruction const*)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel14X86SelectTruncEPKN4llvm11InstructionE", "(anonymous namespace)::X86FastISel::X86SelectTrunc(llvm::Instruction const*)"},
-    {"_Z6CC_X86jN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_X86(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel16X86FastEmitStoreEN4llvm3EVTEPKNS1_5ValueERKNS1_14X86AddressModeE", "(anonymous namespace)::X86FastISel::X86FastEmitStore(llvm::EVT, llvm::Value const*, llvm::X86AddressMode const&)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel16X86FastEmitStoreEN4llvm3EVTEjRKNS1_14X86AddressModeE", "(anonymous namespace)::X86FastISel::X86FastEmitStore(llvm::EVT, unsigned int, llvm::X86AddressMode const&)"},
-    {"_Z9RetCC_X86jN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_X86(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN4llvm17addFrameReferenceERKNS_19MachineInstrBuilderEii", "llvm::addFrameReference(llvm::MachineInstrBuilder const&, int, int)"},
-    {"_Z15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z14RetCC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN12_GLOBAL__N_111X86FastISel18X86FastEmitCompareEPKN4llvm5ValueES4_NS1_3EVTE", "(anonymous namespace)::X86FastISel::X86FastEmitCompare(llvm::Value const*, llvm::Value const*, llvm::EVT)"},
-    {"_ZN4llvm14X86AddressMode14getFullAddressERNS_15SmallVectorImplINS_14MachineOperandEEE", "llvm::X86AddressMode::getFullAddress(llvm::SmallVectorImpl<llvm::MachineOperand>&)"},
-    {"_ZN4llvm36createX86FloatingPointStackifierPassEv", "llvm::createX86FloatingPointStackifierPass()"},
-    {"_ZN12_GLOBAL__N_13FPSD1Ev", "(anonymous namespace)::FPS::~FPS()"},
-    {"_ZN12_GLOBAL__N_13FPSD0Ev", "(anonymous namespace)::FPS::~FPS()"},
-    {"_ZNK12_GLOBAL__N_13FPS11getPassNameEv", "(anonymous namespace)::FPS::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_13FPS16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::FPS::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_13FPS20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::FPS::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_13FPS17processBasicBlockERN4llvm15MachineFunctionERNS1_17MachineBasicBlockE", "(anonymous namespace)::FPS::processBasicBlock(llvm::MachineFunction&, llvm::MachineBasicBlock&)"},
-    {"_ZN12_GLOBAL__N_13FPS14adjustLiveRegsEjN4llvm14ilist_iteratorINS1_12MachineInstrEEE", "(anonymous namespace)::FPS::adjustLiveRegs(unsigned int, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN12_GLOBAL__N_13FPS9moveToTopEjN4llvm14ilist_iteratorINS1_12MachineInstrEEE", "(anonymous namespace)::FPS::moveToTop(unsigned int, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN12_GLOBAL__N_13FPS13popStackAfterERN4llvm14ilist_iteratorINS1_12MachineInstrEEE", "(anonymous namespace)::FPS::popStackAfter(llvm::ilist_iterator<llvm::MachineInstr>&)"},
-    {"_ZN12_GLOBAL__N_13FPS19freeStackSlotBeforeEN4llvm14ilist_iteratorINS1_12MachineInstrEEEj", "(anonymous namespace)::FPS::freeStackSlotBefore(llvm::ilist_iterator<llvm::MachineInstr>, unsigned int)"},
-    {"_ZN12_GLOBAL__N_13FPS14duplicateToTopEjjPN4llvm12MachineInstrE", "(anonymous namespace)::FPS::duplicateToTop(unsigned int, unsigned int, llvm::MachineInstr*)"},
-    {"_ZN4llvm12df_ext_beginIPNS_17MachineBasicBlockENS_11SmallPtrSetIS2_Lj8EEEEENS_15df_ext_iteratorIT_T0_EERKS6_RS7_", "llvm::df_ext_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u> > llvm::df_ext_begin<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u> >(llvm::MachineBasicBlock* const&, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>&)"},
-    {"_ZN4llvm11df_iteratorIPNS_17MachineBasicBlockENS_11SmallPtrSetIS2_Lj8EEELb1ENS_11GraphTraitsIS2_EEE6toNextEv", "llvm::df_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, true, llvm::GraphTraits<llvm::MachineBasicBlock*> >::toNext()"},
-    {"_ZN4llvm11df_iteratorIPNS_17MachineBasicBlockENS_11SmallPtrSetIS2_Lj8EEELb1ENS_11GraphTraitsIS2_EEEC2ES2_RS4_", "llvm::df_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, true, llvm::GraphTraits<llvm::MachineBasicBlock*> >::df_iterator(llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>&)"},
-    {"_ZNK4llvm16X86FrameLowering20hasReservedCallFrameERKNS_15MachineFunctionE", "llvm::X86FrameLowering::hasReservedCallFrame(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm16X86FrameLowering5hasFPERKNS_15MachineFunctionE", "llvm::X86FrameLowering::hasFP(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm16X86FrameLowering25emitCalleeSavedFrameMovesERNS_15MachineFunctionEPNS_8MCSymbolEj", "llvm::X86FrameLowering::emitCalleeSavedFrameMoves(llvm::MachineFunction&, llvm::MCSymbol*, unsigned int) const"},
-    {"_ZNK4llvm16X86FrameLowering12emitPrologueERNS_15MachineFunctionE", "llvm::X86FrameLowering::emitPrologue(llvm::MachineFunction&) const"},
-    {"_Z14mergeSPUpdatesRN4llvm17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEEjb", "mergeSPUpdates(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, unsigned int, bool)"},
-    {"_Z12emitSPUpdateRN4llvm17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEEjxbRKNS_15TargetInstrInfoERKNS_18TargetRegisterInfoE", "emitSPUpdate(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, unsigned int, long long, bool, llvm::TargetInstrInfo const&, llvm::TargetRegisterInfo const&)"},
-    {"_ZNK4llvm16X86FrameLowering12emitEpilogueERNS_15MachineFunctionERNS_17MachineBasicBlockE", "llvm::X86FrameLowering::emitEpilogue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const"},
-    {"_ZNK4llvm16X86FrameLowering20getInitialFrameStateERSt6vectorINS_11MachineMoveESaIS2_EE", "llvm::X86FrameLowering::getInitialFrameState(std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> >&) const"},
-    {"_ZNK4llvm16X86FrameLowering19getFrameIndexOffsetERKNS_15MachineFunctionEi", "llvm::X86FrameLowering::getFrameIndexOffset(llvm::MachineFunction const&, int) const"},
-    {"_ZNK4llvm16X86FrameLowering25spillCalleeSavedRegistersERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEPKNS_18TargetRegisterInfoE", "llvm::X86FrameLowering::spillCalleeSavedRegisters(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm16X86FrameLowering27restoreCalleeSavedRegistersERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEPKNS_18TargetRegisterInfoE", "llvm::X86FrameLowering::restoreCalleeSavedRegisters(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm16X86FrameLowering36processFunctionBeforeCalleeSavedScanERNS_15MachineFunctionEPNS_12RegScavengerE", "llvm::X86FrameLowering::processFunctionBeforeCalleeSavedScan(llvm::MachineFunction&, llvm::RegScavenger*) const"},
-    {"_ZNK4llvm12X86Subtarget13isTargetWin32Ev", "llvm::X86Subtarget::isTargetWin32() const"},
-    {"_ZNSt6vectorIN4llvm11MachineMoveESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineMove*, std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> > >, llvm::MachineMove const&)"},
-    {"_ZN4llvm8SmallSetIjLj8EE6insertERKj", "llvm::SmallSet<unsigned int, 8u>::insert(unsigned int const&)"},
-    {"_ZN4llvm16createX86ISelDagERNS_16X86TargetMachineENS_10CodeGenOpt5LevelE", "llvm::createX86ISelDag(llvm::X86TargetMachine&, llvm::CodeGenOpt::Level)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISelD1Ev", "(anonymous namespace)::X86DAGToDAGISel::~X86DAGToDAGISel()"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISelD0Ev", "(anonymous namespace)::X86DAGToDAGISel::~X86DAGToDAGISel()"},
-    {"_ZNK12_GLOBAL__N_115X86DAGToDAGISel11getPassNameEv", "(anonymous namespace)::X86DAGToDAGISel::getPassName() const"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel21EmitFunctionEntryCodeEv", "(anonymous namespace)::X86DAGToDAGISel::EmitFunctionEntryCode()"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel17PreprocessISelDAGEv", "(anonymous namespace)::X86DAGToDAGISel::PreprocessISelDAG()"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel6SelectEPN4llvm6SDNodeE", "(anonymous namespace)::X86DAGToDAGISel::Select(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel28SelectInlineAsmMemoryOperandERKN4llvm7SDValueEcRSt6vectorIS2_SaIS2_EE", "(anonymous namespace)::X86DAGToDAGISel::SelectInlineAsmMemoryOperand(llvm::SDValue const&, char, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >&)"},
-    {"_ZNK12_GLOBAL__N_115X86DAGToDAGISel18IsProfitableToFoldEN4llvm7SDValueEPNS1_6SDNodeES4_", "(anonymous namespace)::X86DAGToDAGISel::IsProfitableToFold(llvm::SDValue, llvm::SDNode*, llvm::SDNode*) const"},
-    {"_ZNK12_GLOBAL__N_115X86DAGToDAGISel21CheckPatternPredicateEj", "(anonymous namespace)::X86DAGToDAGISel::CheckPatternPredicate(unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_115X86DAGToDAGISel18CheckNodePredicateEPN4llvm6SDNodeEj", "(anonymous namespace)::X86DAGToDAGISel::CheckNodePredicate(llvm::SDNode*, unsigned int) const"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel19CheckComplexPatternEPN4llvm6SDNodeES3_NS1_7SDValueEjRNS1_15SmallVectorImplISt4pairIS4_S3_EEE", "(anonymous namespace)::X86DAGToDAGISel::CheckComplexPattern(llvm::SDNode*, llvm::SDNode*, llvm::SDValue, unsigned int, llvm::SmallVectorImpl<std::pair<llvm::SDValue, llvm::SDNode*> >&)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel14RunSDNodeXFormEN4llvm7SDValueEj", "(anonymous namespace)::X86DAGToDAGISel::RunSDNodeXForm(llvm::SDValue, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel10SelectAddrEPN4llvm6SDNodeENS1_7SDValueERS4_S5_S5_S5_S5_", "(anonymous namespace)::X86DAGToDAGISel::SelectAddr(llvm::SDNode*, llvm::SDValue, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel19SelectScalarSSELoadEPN4llvm6SDNodeENS1_7SDValueERS4_S5_S5_S5_S5_S5_", "(anonymous namespace)::X86DAGToDAGISel::SelectScalarSSELoad(llvm::SDNode*, llvm::SDValue, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel13SelectLEAAddrEN4llvm7SDValueERS2_S3_S3_S3_S3_", "(anonymous namespace)::X86DAGToDAGISel::SelectLEAAddr(llvm::SDValue, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel17SelectTLSADDRAddrEN4llvm7SDValueERS2_S3_S3_S3_S3_", "(anonymous namespace)::X86DAGToDAGISel::SelectTLSADDRAddr(llvm::SDValue, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel18getAddressOperandsERNS_18X86ISelAddressModeERN4llvm7SDValueES5_S5_S5_S5_", "(anonymous namespace)::X86DAGToDAGISel::getAddressOperands((anonymous namespace)::X86ISelAddressMode&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel12MatchAddressEN4llvm7SDValueERNS_18X86ISelAddressModeE", "(anonymous namespace)::X86DAGToDAGISel::MatchAddress(llvm::SDValue, (anonymous namespace)::X86ISelAddressMode&)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel23MatchAddressRecursivelyEN4llvm7SDValueERNS_18X86ISelAddressModeEj", "(anonymous namespace)::X86DAGToDAGISel::MatchAddressRecursively(llvm::SDValue, (anonymous namespace)::X86ISelAddressMode&, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel14SelectAtomic64EPN4llvm6SDNodeEj", "(anonymous namespace)::X86DAGToDAGISel::SelectAtomic64(llvm::SDNode*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115X86DAGToDAGISel11TryFoldLoadEPN4llvm6SDNodeENS1_7SDValueERS4_S5_S5_S5_S5_", "(anonymous namespace)::X86DAGToDAGISel::TryFoldLoad(llvm::SDNode*, llvm::SDValue, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm17X86TargetLoweringC1ERNS_16X86TargetMachineE", "llvm::X86TargetLowering::X86TargetLowering(llvm::X86TargetMachine&)"},
-    {"_ZN4llvm17X86TargetLoweringC2ERNS_16X86TargetMachineE", "llvm::X86TargetLowering::X86TargetLowering(llvm::X86TargetMachine&)"},
-    {"_ZNK4llvm17X86TargetLowering18getSetCCResultTypeENS_3EVTE", "llvm::X86TargetLowering::getSetCCResultType(llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering21getByValTypeAlignmentEPKNS_4TypeE", "llvm::X86TargetLowering::getByValTypeAlignment(llvm::Type const*) const"},
-    {"_Z16getMaxByValAlignPKN4llvm4TypeERj", "getMaxByValAlign(llvm::Type const*, unsigned int&)"},
-    {"_ZNK4llvm17X86TargetLowering19getOptimalMemOpTypeEyjjbbRNS_15MachineFunctionE", "llvm::X86TargetLowering::getOptimalMemOpType(unsigned long long, unsigned int, unsigned int, bool, bool, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm17X86TargetLowering20getJumpTableEncodingEv", "llvm::X86TargetLowering::getJumpTableEncoding() const"},
-    {"_ZNK4llvm17X86TargetLowering25LowerCustomJumpTableEntryEPKNS_20MachineJumpTableInfoEPKNS_17MachineBasicBlockEjRNS_9MCContextE", "llvm::X86TargetLowering::LowerCustomJumpTableEntry(llvm::MachineJumpTableInfo const*, llvm::MachineBasicBlock const*, unsigned int, llvm::MCContext&) const"},
-    {"_ZNK4llvm17X86TargetLowering24getPICJumpTableRelocBaseENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::getPICJumpTableRelocBase(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering28getPICJumpTableRelocBaseExprEPKNS_15MachineFunctionEjRNS_9MCContextE", "llvm::X86TargetLowering::getPICJumpTableRelocBaseExpr(llvm::MachineFunction const*, unsigned int, llvm::MCContext&) const"},
-    {"_ZNK4llvm17X86TargetLowering20getFunctionAlignmentEPKNS_8FunctionE", "llvm::X86TargetLowering::getFunctionAlignment(llvm::Function const*) const"},
-    {"_ZNK4llvm17X86TargetLowering23findRepresentativeClassENS_3EVTE", "llvm::X86TargetLowering::findRepresentativeClass(llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering19getRegPressureLimitEPKNS_19TargetRegisterClassERNS_15MachineFunctionE", "llvm::X86TargetLowering::getRegPressureLimit(llvm::TargetRegisterClass const*, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm17X86TargetLowering22getStackCookieLocationERjS1_", "llvm::X86TargetLowering::getStackCookieLocation(unsigned int&, unsigned int&) const"},
-    {"_ZNK4llvm17X86TargetLowering14CanLowerReturnENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERNS_11LLVMContextE", "llvm::X86TargetLowering::CanLowerReturn(llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::LLVMContext&) const"},
-    {"_Z9RetCC_X86jN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_X86(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZNK4llvm17X86TargetLowering11LowerReturnENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS4_IS1_EENS_8DebugLocERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerReturn(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::DebugLoc, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering18isUsedByReturnOnlyEPNS_6SDNodeE", "llvm::X86TargetLowering::isUsedByReturnOnly(llvm::SDNode*) const"},
-    {"_ZNK4llvm17X86TargetLowering15LowerCallResultENS_7SDValueES1_NS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EE", "llvm::X86TargetLowering::LowerCallResult(llvm::SDValue, llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const"},
-    {"_ZNK4llvm17X86TargetLowering16LowerMemArgumentENS_7SDValueENS_11CallingConv2IDERKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERKNS_11CCValAssignEPNS_16MachineFrameInfoEj", "llvm::X86TargetLowering::LowerMemArgument(llvm::SDValue, llvm::CallingConv::ID, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::CCValAssign const&, llvm::MachineFrameInfo*, unsigned int) const"},
-    {"_ZNK4llvm17X86TargetLowering20LowerFormalArgumentsENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EE", "llvm::X86TargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const"},
-    {"_Z6CC_X86jN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_X86(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZNK4llvm17X86TargetLowering27GetAlignedArgumentStackSizeEjRNS_12SelectionDAGE", "llvm::X86TargetLowering::GetAlignedArgumentStackSize(unsigned int, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering16LowerMemOpCallToENS_7SDValueES1_S1_NS_8DebugLocERNS_12SelectionDAGERKNS_11CCValAssignENS_3ISD10ArgFlagsTyE", "llvm::X86TargetLowering::LowerMemOpCallTo(llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::DebugLoc, llvm::SelectionDAG&, llvm::CCValAssign const&, llvm::ISD::ArgFlagsTy) const"},
-    {"_ZNK4llvm17X86TargetLowering23EmitTailCallLoadRetAddrERNS_12SelectionDAGERNS_7SDValueES3_bbiNS_8DebugLocE", "llvm::X86TargetLowering::EmitTailCallLoadRetAddr(llvm::SelectionDAG&, llvm::SDValue&, llvm::SDValue, bool, bool, int, llvm::DebugLoc) const"},
-    {"_ZNK4llvm17X86TargetLowering26getReturnAddressFrameIndexERNS_12SelectionDAGE", "llvm::X86TargetLowering::getReturnAddressFrameIndex(llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering9LowerCallENS_7SDValueES1_NS_11CallingConv2IDEbRbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS5_IS1_EERKNS5_INS6_8InputArgEEENS_8DebugLocERNS_12SelectionDAGERSB_", "llvm::X86TargetLowering::LowerCall(llvm::SDValue, llvm::SDValue, llvm::CallingConv::ID, bool, bool&, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const"},
-    {"_ZNK4llvm17X86TargetLowering33IsEligibleForTailCallOptimizationENS_7SDValueENS_11CallingConv2IDEbbbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS4_IS1_EERKNS4_INS5_8InputArgEEERNS_12SelectionDAGE", "llvm::X86TargetLowering::IsEligibleForTailCallOptimization(llvm::SDValue, llvm::CallingConv::ID, bool, bool, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::SelectionDAG&) const"},
-    {"_Z7getMOVLRN4llvm12SelectionDAGENS_8DebugLocENS_3EVTENS_7SDValueES4_", "getMOVL(llvm::SelectionDAG&, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_ZNK4llvm17X86TargetLowering18LowerGlobalAddressENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerGlobalAddress(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering19LowerExternalSymbolENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerExternalSymbol(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering14createFastISelERNS_20FunctionLoweringInfoE", "llvm::X86TargetLowering::createFastISel(llvm::FunctionLoweringInfo&) const"},
-    {"_ZN4llvm3X8628isOffsetSuitableForCodeModelExNS_9CodeModel5ModelEb", "llvm::X86::isOffsetSuitableForCodeModel(long long, llvm::CodeModel::Model, bool)"},
-    {"_ZNK4llvm17X86TargetLowering12isFPImmLegalERKNS_7APFloatENS_3EVTE", "llvm::X86TargetLowering::isFPImmLegal(llvm::APFloat const&, llvm::EVT) const"},
-    {"_ZN4llvm3X8612isPSHUFDMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isPSHUFDMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8613isPSHUFHWMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isPSHUFHWMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8613isPSHUFLWMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isPSHUFLWMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8613isPALIGNRMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isPALIGNRMask(llvm::ShuffleVectorSDNode*)"},
-    {"_Z13isPALIGNRMaskRKN4llvm15SmallVectorImplIiEENS_3EVTEb", "isPALIGNRMask(llvm::SmallVectorImpl<int> const&, llvm::EVT, bool)"},
-    {"_ZN4llvm3X8611isSHUFPMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isSHUFPMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8613isMOVHLPSMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isMOVHLPSMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8622isMOVHLPS_v_undef_MaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isMOVHLPS_v_undef_Mask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8611isMOVLPMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isMOVLPMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8613isMOVLHPSMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isMOVLHPSMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8612isUNPCKLMaskEPNS_19ShuffleVectorSDNodeEb", "llvm::X86::isUNPCKLMask(llvm::ShuffleVectorSDNode*, bool)"},
-    {"_ZN4llvm3X8612isUNPCKHMaskEPNS_19ShuffleVectorSDNodeEb", "llvm::X86::isUNPCKHMask(llvm::ShuffleVectorSDNode*, bool)"},
-    {"_ZN4llvm3X8621isUNPCKL_v_undef_MaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isUNPCKL_v_undef_Mask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8621isUNPCKH_v_undef_MaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isUNPCKH_v_undef_Mask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8610isMOVLMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isMOVLMask(llvm::ShuffleVectorSDNode*)"},
-    {"_Z10isMOVLMaskRKN4llvm15SmallVectorImplIiEENS_3EVTE", "isMOVLMask(llvm::SmallVectorImpl<int> const&, llvm::EVT)"},
-    {"_ZN4llvm3X8614isMOVSHDUPMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isMOVSHDUPMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8614isMOVSLDUPMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isMOVSLDUPMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8613isMOVDDUPMaskEPNS_19ShuffleVectorSDNodeE", "llvm::X86::isMOVDDUPMask(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm3X8619isVEXTRACTF128IndexEPNS_6SDNodeE", "llvm::X86::isVEXTRACTF128Index(llvm::SDNode*)"},
-    {"_ZN4llvm3X8618isVINSERTF128IndexEPNS_6SDNodeE", "llvm::X86::isVINSERTF128Index(llvm::SDNode*)"},
-    {"_ZN4llvm3X8623getShuffleSHUFImmediateEPNS_6SDNodeE", "llvm::X86::getShuffleSHUFImmediate(llvm::SDNode*)"},
-    {"_ZN4llvm3X8626getShufflePSHUFHWImmediateEPNS_6SDNodeE", "llvm::X86::getShufflePSHUFHWImmediate(llvm::SDNode*)"},
-    {"_ZN4llvm3X8626getShufflePSHUFLWImmediateEPNS_6SDNodeE", "llvm::X86::getShufflePSHUFLWImmediate(llvm::SDNode*)"},
-    {"_ZN4llvm3X8626getShufflePALIGNRImmediateEPNS_6SDNodeE", "llvm::X86::getShufflePALIGNRImmediate(llvm::SDNode*)"},
-    {"_ZN4llvm3X8631getExtractVEXTRACTF128ImmediateEPNS_6SDNodeE", "llvm::X86::getExtractVEXTRACTF128Immediate(llvm::SDNode*)"},
-    {"_ZN4llvm3X8629getInsertVINSERTF128ImmediateEPNS_6SDNodeE", "llvm::X86::getInsertVINSERTF128Immediate(llvm::SDNode*)"},
-    {"_ZN4llvm3X8610isZeroNodeENS_7SDValueE", "llvm::X86::isZeroNode(llvm::SDValue)"},
-    {"_Z19getShuffleScalarEltPN4llvm6SDNodeEiRNS_12SelectionDAGEj", "getShuffleScalarElt(llvm::SDNode*, int, llvm::SelectionDAG&, unsigned int)"},
-    {"_ZNK4llvm17X86TargetLowering22LowerAsSplatVectorLoadENS_7SDValueENS_3EVTENS_8DebugLocERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerAsSplatVectorLoad(llvm::SDValue, llvm::EVT, llvm::DebugLoc, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering17LowerBUILD_VECTORENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerBUILD_VECTOR(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_Z13getZeroVectorN4llvm3EVTEbRNS_12SelectionDAGENS_8DebugLocE", "getZeroVector(llvm::EVT, bool, llvm::SelectionDAG&, llvm::DebugLoc)"},
-    {"_Z27getShuffleVectorZeroOrUndefN4llvm7SDValueEjbbRNS_12SelectionDAGE", "getShuffleVectorZeroOrUndef(llvm::SDValue, unsigned int, bool, bool, llvm::SelectionDAG&)"},
-    {"_Z10getUnpacklRN4llvm12SelectionDAGENS_8DebugLocENS_3EVTENS_7SDValueES4_", "getUnpackl(llvm::SelectionDAG&, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_Z24EltsFromConsecutiveLoadsN4llvm3EVTERNS_15SmallVectorImplINS_7SDValueEEERNS_8DebugLocERNS_12SelectionDAGE", "EltsFromConsecutiveLoads(llvm::EVT, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::DebugLoc&, llvm::SelectionDAG&)"},
-    {"_ZNK4llvm17X86TargetLowering19LowerCONCAT_VECTORSENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerCONCAT_VECTORS(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering24LowerVECTOR_SHUFFLEv8i16ENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerVECTOR_SHUFFLEv8i16(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering19LowerVECTOR_SHUFFLEENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerVECTOR_SHUFFLE(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_Z12getVZextMovLN4llvm3EVTES0_NS_7SDValueERNS_12SelectionDAGEPKNS_12X86SubtargetENS_8DebugLocE", "getVZextMovL(llvm::EVT, llvm::EVT, llvm::SDValue, llvm::SelectionDAG&, llvm::X86Subtarget const*, llvm::DebugLoc)"},
-    {"_Z20CommuteVectorShufflePN4llvm19ShuffleVectorSDNodeERNS_12SelectionDAGE", "CommuteVectorShuffle(llvm::ShuffleVectorSDNode*, llvm::SelectionDAG&)"},
-    {"_ZNK4llvm17X86TargetLowering28LowerEXTRACT_VECTOR_ELT_SSE4ENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerEXTRACT_VECTOR_ELT_SSE4(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering23LowerEXTRACT_VECTOR_ELTENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerEXTRACT_VECTOR_ELT(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering27LowerINSERT_VECTOR_ELT_SSE4ENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerINSERT_VECTOR_ELT_SSE4(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering22LowerINSERT_VECTOR_ELTENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerINSERT_VECTOR_ELT(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_Z19Extract128BitVectorN4llvm7SDValueES0_RNS_12SelectionDAGENS_8DebugLocE", "Extract128BitVector(llvm::SDValue, llvm::SDValue, llvm::SelectionDAG&, llvm::DebugLoc)"},
-    {"_Z18Insert128BitVectorN4llvm7SDValueES0_S0_RNS_12SelectionDAGENS_8DebugLocE", "Insert128BitVector(llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SelectionDAG&, llvm::DebugLoc)"},
-    {"_ZNK4llvm17X86TargetLowering21LowerSCALAR_TO_VECTORENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerSCALAR_TO_VECTOR(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering22LowerEXTRACT_SUBVECTORENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerEXTRACT_SUBVECTOR(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering21LowerINSERT_SUBVECTORENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerINSERT_SUBVECTOR(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering17LowerConstantPoolENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerConstantPool(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering14LowerJumpTableENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerJumpTable(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering17LowerBlockAddressENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerBlockAddress(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering18LowerGlobalAddressEPKNS_11GlobalValueENS_8DebugLocExRNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerGlobalAddress(llvm::GlobalValue const*, llvm::DebugLoc, long long, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering21LowerGlobalTLSAddressENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerGlobalTLSAddress(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering10LowerShiftENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerShift(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering15LowerSINT_TO_FPENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerSINT_TO_FP(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering9BuildFILDENS_7SDValueENS_3EVTES1_S1_RNS_12SelectionDAGE", "llvm::X86TargetLowering::BuildFILD(llvm::SDValue, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering19LowerUINT_TO_FP_i64ENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerUINT_TO_FP_i64(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering19LowerUINT_TO_FP_i32ENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerUINT_TO_FP_i32(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering15LowerUINT_TO_FPENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerUINT_TO_FP(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering15FP_TO_INTHelperENS_7SDValueERNS_12SelectionDAGEb", "llvm::X86TargetLowering::FP_TO_INTHelper(llvm::SDValue, llvm::SelectionDAG&, bool) const"},
-    {"_ZNK4llvm17X86TargetLowering15LowerFP_TO_SINTENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerFP_TO_SINT(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering15LowerFP_TO_UINTENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerFP_TO_UINT(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering9LowerFABSENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerFABS(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering9LowerFNEGENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerFNEG(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering14LowerFCOPYSIGNENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerFCOPYSIGN(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering8EmitTestENS_7SDValueEjRNS_12SelectionDAGE", "llvm::X86TargetLowering::EmitTest(llvm::SDValue, unsigned int, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering7EmitCmpENS_7SDValueES1_jRNS_12SelectionDAGE", "llvm::X86TargetLowering::EmitCmp(llvm::SDValue, llvm::SDValue, unsigned int, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering9LowerToBTENS_7SDValueENS_3ISD8CondCodeENS_8DebugLocERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerToBT(llvm::SDValue, llvm::ISD::CondCode, llvm::DebugLoc, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering10LowerSETCCENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerSETCC(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_Z14TranslateX86CCN4llvm3ISD8CondCodeEbRNS_7SDValueES3_RNS_12SelectionDAGE", "TranslateX86CC(llvm::ISD::CondCode, bool, llvm::SDValue&, llvm::SDValue&, llvm::SelectionDAG&)"},
-    {"_ZNK4llvm17X86TargetLowering11LowerVSETCCENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerVSETCC(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering11LowerSELECTENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerSELECT(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering11LowerBRCONDENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerBRCOND(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering23LowerDYNAMIC_STACKALLOCENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerDYNAMIC_STACKALLOC(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering12LowerVASTARTENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerVASTART(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering10LowerVAARGENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerVAARG(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering11LowerVACOPYENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerVACOPY(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering23LowerINTRINSIC_WO_CHAINENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerINTRINSIC_WO_CHAIN(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering15LowerRETURNADDRENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerRETURNADDR(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering14LowerFRAMEADDRENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerFRAMEADDR(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering25LowerFRAME_TO_ARGS_OFFSETENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerFRAME_TO_ARGS_OFFSET(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering14LowerEH_RETURNENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerEH_RETURN(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering15LowerTRAMPOLINEENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerTRAMPOLINE(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering16LowerFLT_ROUNDS_ENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerFLT_ROUNDS_(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering9LowerCTLZENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerCTLZ(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering9LowerCTTZENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerCTTZ(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering14LowerMUL_V2I64ENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerMUL_V2I64(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering8LowerSHLENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerSHL(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering10LowerXALUOENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerXALUO(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering15LowerMEMBARRIERENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerMEMBARRIER(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering13LowerCMP_SWAPENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerCMP_SWAP(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering21LowerREADCYCLECOUNTERENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerREADCYCLECOUNTER(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering12LowerBITCASTENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerBITCAST(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering13LowerLOAD_SUBENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerLOAD_SUB(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering14LowerOperationENS_7SDValueERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerOperation(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering23ReplaceATOMIC_BINARY_64EPNS_6SDNodeERNS_15SmallVectorImplINS_7SDValueEEERNS_12SelectionDAGEj", "llvm::X86TargetLowering::ReplaceATOMIC_BINARY_64(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SelectionDAG&, unsigned int) const"},
-    {"_ZNK4llvm17X86TargetLowering18ReplaceNodeResultsEPNS_6SDNodeERNS_15SmallVectorImplINS_7SDValueEEERNS_12SelectionDAGE", "llvm::X86TargetLowering::ReplaceNodeResults(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering17getTargetNodeNameEj", "llvm::X86TargetLowering::getTargetNodeName(unsigned int) const"},
-    {"_ZNK4llvm17X86TargetLowering21isLegalAddressingModeERKNS_14TargetLowering8AddrModeEPKNS_4TypeE", "llvm::X86TargetLowering::isLegalAddressingMode(llvm::TargetLowering::AddrMode const&, llvm::Type const*) const"},
-    {"_ZNK4llvm17X86TargetLowering14isTruncateFreeEPKNS_4TypeES3_", "llvm::X86TargetLowering::isTruncateFree(llvm::Type const*, llvm::Type const*) const"},
-    {"_ZNK4llvm17X86TargetLowering14isTruncateFreeENS_3EVTES1_", "llvm::X86TargetLowering::isTruncateFree(llvm::EVT, llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering10isZExtFreeEPKNS_4TypeES3_", "llvm::X86TargetLowering::isZExtFree(llvm::Type const*, llvm::Type const*) const"},
-    {"_ZNK4llvm17X86TargetLowering10isZExtFreeENS_3EVTES1_", "llvm::X86TargetLowering::isZExtFree(llvm::EVT, llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering21isNarrowingProfitableENS_3EVTES1_", "llvm::X86TargetLowering::isNarrowingProfitable(llvm::EVT, llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering18isShuffleMaskLegalERKNS_15SmallVectorImplIiEENS_3EVTE", "llvm::X86TargetLowering::isShuffleMaskLegal(llvm::SmallVectorImpl<int> const&, llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering22isVectorClearMaskLegalERKNS_15SmallVectorImplIiEENS_3EVTE", "llvm::X86TargetLowering::isVectorClearMaskLegal(llvm::SmallVectorImpl<int> const&, llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering35EmitAtomicBitwiseWithCustomInserterEPNS_12MachineInstrEPNS_17MachineBasicBlockEjjjjjjPNS_19TargetRegisterClassEb", "llvm::X86TargetLowering::EmitAtomicBitwiseWithCustomInserter(llvm::MachineInstr*, llvm::MachineBasicBlock*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, llvm::TargetRegisterClass*, bool) const"},
-    {"_ZNK4llvm17X86TargetLowering35EmitAtomicBit6432WithCustomInserterEPNS_12MachineInstrEPNS_17MachineBasicBlockEjjjjb", "llvm::X86TargetLowering::EmitAtomicBit6432WithCustomInserter(llvm::MachineInstr*, llvm::MachineBasicBlock*, unsigned int, unsigned int, unsigned int, unsigned int, bool) const"},
-    {"_ZNK4llvm17X86TargetLowering34EmitAtomicMinMaxWithCustomInserterEPNS_12MachineInstrEPNS_17MachineBasicBlockEj", "llvm::X86TargetLowering::EmitAtomicMinMaxWithCustomInserter(llvm::MachineInstr*, llvm::MachineBasicBlock*, unsigned int) const"},
-    {"_ZNK4llvm17X86TargetLowering8EmitPCMPEPNS_12MachineInstrEPNS_17MachineBasicBlockEjb", "llvm::X86TargetLowering::EmitPCMP(llvm::MachineInstr*, llvm::MachineBasicBlock*, unsigned int, bool) const"},
-    {"_ZNK4llvm17X86TargetLowering11EmitMonitorEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::X86TargetLowering::EmitMonitor(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm17X86TargetLowering9EmitMwaitEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::X86TargetLowering::EmitMwait(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm17X86TargetLowering29EmitVAARG64WithCustomInserterEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::X86TargetLowering::EmitVAARG64WithCustomInserter(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm17X86TargetLowering40EmitVAStartSaveXMMRegsWithCustomInserterEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::X86TargetLowering::EmitVAStartSaveXMMRegsWithCustomInserter(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm17X86TargetLowering17EmitLoweredSelectEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::X86TargetLowering::EmitLoweredSelect(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm17X86TargetLowering20EmitLoweredWinAllocaEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::X86TargetLowering::EmitLoweredWinAlloca(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm17X86TargetLowering18EmitLoweredTLSCallEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::X86TargetLowering::EmitLoweredTLSCall(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm17X86TargetLowering27EmitInstrWithCustomInserterEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::X86TargetLowering::EmitInstrWithCustomInserter(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZN4llvm17addFrameReferenceERKNS_19MachineInstrBuilderEii", "llvm::addFrameReference(llvm::MachineInstrBuilder const&, int, int)"},
-    {"_ZNK4llvm17X86TargetLowering30computeMaskedBitsForTargetNodeENS_7SDValueERKNS_5APIntERS2_S5_RKNS_12SelectionDAGEj", "llvm::X86TargetLowering::computeMaskedBitsForTargetNode(llvm::SDValue, llvm::APInt const&, llvm::APInt&, llvm::APInt&, llvm::SelectionDAG const&, unsigned int) const"},
-    {"_ZNK4llvm17X86TargetLowering31ComputeNumSignBitsForTargetNodeENS_7SDValueEj", "llvm::X86TargetLowering::ComputeNumSignBitsForTargetNode(llvm::SDValue, unsigned int) const"},
-    {"_ZNK4llvm17X86TargetLowering14isGAPlusOffsetEPNS_6SDNodeERPKNS_11GlobalValueERx", "llvm::X86TargetLowering::isGAPlusOffset(llvm::SDNode*, llvm::GlobalValue const*&, long long&) const"},
-    {"_ZNK4llvm17X86TargetLowering17PerformDAGCombineEPNS_6SDNodeERNS_14TargetLowering15DAGCombinerInfoE", "llvm::X86TargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const"},
-    {"_ZNK4llvm17X86TargetLowering20isTypeDesirableForOpEjNS_3EVTE", "llvm::X86TargetLowering::isTypeDesirableForOp(unsigned int, llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering22IsDesirableToPromoteOpENS_7SDValueERNS_3EVTE", "llvm::X86TargetLowering::IsDesirableToPromoteOp(llvm::SDValue, llvm::EVT&) const"},
-    {"_ZNK4llvm17X86TargetLowering15ExpandInlineAsmEPNS_8CallInstE", "llvm::X86TargetLowering::ExpandInlineAsm(llvm::CallInst*) const"},
-    {"_ZNK4llvm17X86TargetLowering17getConstraintTypeERKSs", "llvm::X86TargetLowering::getConstraintType(std::string const&) const"},
-    {"_ZNK4llvm17X86TargetLowering30getSingleConstraintMatchWeightERNS_14TargetLowering14AsmOperandInfoEPKc", "llvm::X86TargetLowering::getSingleConstraintMatchWeight(llvm::TargetLowering::AsmOperandInfo&, char const*) const"},
-    {"_ZNK4llvm17X86TargetLowering16LowerXConstraintENS_3EVTE", "llvm::X86TargetLowering::LowerXConstraint(llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering28LowerAsmOperandForConstraintENS_7SDValueEcRSt6vectorIS1_SaIS1_EERNS_12SelectionDAGE", "llvm::X86TargetLowering::LowerAsmOperandForConstraint(llvm::SDValue, char, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17X86TargetLowering33getRegClassForInlineAsmConstraintERKSsNS_3EVTE", "llvm::X86TargetLowering::getRegClassForInlineAsmConstraint(std::string const&, llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering28getRegForInlineAsmConstraintERKSsNS_3EVTE", "llvm::X86TargetLowering::getRegForInlineAsmConstraint(std::string const&, llvm::EVT) const"},
-    {"_Z10GetTLSADDRRN4llvm12SelectionDAGENS_7SDValueEPNS_19GlobalAddressSDNodeEPS2_NS_3EVTEjh", "GetTLSADDR(llvm::SelectionDAG&, llvm::SDValue, llvm::GlobalAddressSDNode*, llvm::SDValue*, llvm::EVT, unsigned int, unsigned char)"},
-    {"_Z17MayFoldVectorLoadN4llvm7SDValueE", "MayFoldVectorLoad(llvm::SDValue)"},
-    {"_Z24RewriteAsNarrowerShufflePN4llvm19ShuffleVectorSDNodeERNS_12SelectionDAGENS_8DebugLocE", "RewriteAsNarrowerShuffle(llvm::ShuffleVectorSDNode*, llvm::SelectionDAG&, llvm::DebugLoc)"},
-    {"_Z16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z14RetCC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN4llvm15SmallVectorImplINS_7SDValueEE6resizeEj", "llvm::SmallVectorImpl<llvm::SDValue>::resize(unsigned int)"},
-    {"_ZN4llvm8SmallSetINS_7SDValueELj8EE6insertERKS1_", "llvm::SmallSet<llvm::SDValue, 8u>::insert(llvm::SDValue const&)"},
-    {"_ZN4llvm5APInt10getBitsSetEjjj", "llvm::APInt::getBitsSet(unsigned int, unsigned int, unsigned int)"},
-    {"_ZNK4llvm3EVT6bitsLTES0_", "llvm::EVT::bitsLT(llvm::EVT) const"},
-    {"_ZNK4llvm19MachineInstrBuilder7addDispERKNS_14MachineOperandEx", "llvm::MachineInstrBuilder::addDisp(llvm::MachineOperand const&, long long) const"},
-    {"_ZN4llvm5APInt14getHighBitsSetEjj", "llvm::APInt::getHighBitsSet(unsigned int, unsigned int)"},
-    {"_ZN4llvm11SmallVectorIjLj4EEC2EjRKj", "llvm::SmallVector<unsigned int, 4u>::SmallVector(unsigned int, unsigned int const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm7SDValueES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE16_M_insert_uniqueERKS1_", "std::_Rb_tree<llvm::SDValue, llvm::SDValue, std::_Identity<llvm::SDValue>, std::less<llvm::SDValue>, std::allocator<llvm::SDValue> >::_M_insert_unique(llvm::SDValue const&)"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm14ConstraintInfoESaIS2_EED2Ev", "std::vector<llvm::InlineAsm::ConstraintInfo, std::allocator<llvm::InlineAsm::ConstraintInfo> >::~vector()"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm17SubConstraintInfoESaIS2_EED2Ev", "std::vector<llvm::InlineAsm::SubConstraintInfo, std::allocator<llvm::InlineAsm::SubConstraintInfo> >::~vector()"},
-    {"_ZN4llvm5APInt13getLowBitsSetEjj", "llvm::APInt::getLowBitsSet(unsigned int, unsigned int)"},
-    {"_ZNK4llvm5APIntplEy", "llvm::APInt::operator+(unsigned long long) const"},
-    {"_ZN4llvm5APInt17getSignedMinValueEj", "llvm::APInt::getSignedMinValue(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIiiEE6resizeEj", "llvm::SmallVectorImpl<std::pair<int, int> >::resize(unsigned int)"},
-    {"_ZN4llvm11SmallVectorIiLj8EEC2EjRKi", "llvm::SmallVector<int, 8u>::SmallVector(unsigned int, int const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm7SDValueES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE8_M_eraseEPSt13_Rb_tree_nodeIS1_E", "std::_Rb_tree<llvm::SDValue, llvm::SDValue, std::_Identity<llvm::SDValue>, std::less<llvm::SDValue>, std::allocator<llvm::SDValue> >::_M_erase(std::_Rb_tree_node<llvm::SDValue>*)"},
-    {"_ZNSt6vectorIN4llvm7APFloatESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::APFloat, std::allocator<llvm::APFloat> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::APFloat*, std::vector<llvm::APFloat, std::allocator<llvm::APFloat> > >, llvm::APFloat const&)"},
-    {"_ZN4llvm28TargetLoweringObjectFileCOFFD1Ev", "llvm::TargetLoweringObjectFileCOFF::~TargetLoweringObjectFileCOFF()"},
-    {"_ZN4llvm28TargetLoweringObjectFileCOFFD0Ev", "llvm::TargetLoweringObjectFileCOFF::~TargetLoweringObjectFileCOFF()"},
-    {"_ZNK4llvm28TargetLoweringObjectFileCOFF17getDrectveSectionEv", "llvm::TargetLoweringObjectFileCOFF::getDrectveSection() const"},
-    {"_ZN4llvm12X86InstrInfoC1ERNS_16X86TargetMachineE", "llvm::X86InstrInfo::X86InstrInfo(llvm::X86TargetMachine&)"},
-    {"_ZN4llvm12X86InstrInfoC2ERNS_16X86TargetMachineE", "llvm::X86InstrInfo::X86InstrInfo(llvm::X86TargetMachine&)"},
-    {"_ZNK4llvm12X86InstrInfo21isCoalescableExtInstrERKNS_12MachineInstrERjS4_S4_", "llvm::X86InstrInfo::isCoalescableExtInstr(llvm::MachineInstr const&, unsigned int&, unsigned int&, unsigned int&) const"},
-    {"_ZNK4llvm12X86InstrInfo14isFrameOperandEPKNS_12MachineInstrEjRi", "llvm::X86InstrInfo::isFrameOperand(llvm::MachineInstr const*, unsigned int, int&) const"},
-    {"_ZNK4llvm12X86InstrInfo19isLoadFromStackSlotEPKNS_12MachineInstrERi", "llvm::X86InstrInfo::isLoadFromStackSlot(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm12X86InstrInfo25isLoadFromStackSlotPostFEEPKNS_12MachineInstrERi", "llvm::X86InstrInfo::isLoadFromStackSlotPostFE(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm12X86InstrInfo20hasLoadFromStackSlotEPKNS_12MachineInstrERPKNS_17MachineMemOperandERi", "llvm::X86InstrInfo::hasLoadFromStackSlot(llvm::MachineInstr const*, llvm::MachineMemOperand const*&, int&) const"},
-    {"_ZNK4llvm12X86InstrInfo18isStoreToStackSlotEPKNS_12MachineInstrERi", "llvm::X86InstrInfo::isStoreToStackSlot(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm12X86InstrInfo24isStoreToStackSlotPostFEEPKNS_12MachineInstrERi", "llvm::X86InstrInfo::isStoreToStackSlotPostFE(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm12X86InstrInfo19hasStoreToStackSlotEPKNS_12MachineInstrERPKNS_17MachineMemOperandERi", "llvm::X86InstrInfo::hasStoreToStackSlot(llvm::MachineInstr const*, llvm::MachineMemOperand const*&, int&) const"},
-    {"_ZNK4llvm12X86InstrInfo33isReallyTriviallyReMaterializableEPKNS_12MachineInstrEPNS_13AliasAnalysisE", "llvm::X86InstrInfo::isReallyTriviallyReMaterializable(llvm::MachineInstr const*, llvm::AliasAnalysis*) const"},
-    {"_ZNK4llvm12X86InstrInfo13reMaterializeERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjjPKS4_RKNS_18TargetRegisterInfoE", "llvm::X86InstrInfo::reMaterialize(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, unsigned int, llvm::MachineInstr const*, llvm::TargetRegisterInfo const&) const"},
-    {"_ZNK4llvm12X86InstrInfo28convertToThreeAddressWithLEAEjRNS_14ilist_iteratorINS_17MachineBasicBlockEEERNS1_INS_12MachineInstrEEEPNS_13LiveVariablesE", "llvm::X86InstrInfo::convertToThreeAddressWithLEA(unsigned int, llvm::ilist_iterator<llvm::MachineBasicBlock>&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::LiveVariables*) const"},
-    {"_ZNK4llvm12X86InstrInfo21convertToThreeAddressERNS_14ilist_iteratorINS_17MachineBasicBlockEEERNS1_INS_12MachineInstrEEEPNS_13LiveVariablesE", "llvm::X86InstrInfo::convertToThreeAddress(llvm::ilist_iterator<llvm::MachineBasicBlock>&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::LiveVariables*) const"},
-    {"_ZNK4llvm12X86InstrInfo18commuteInstructionEPNS_12MachineInstrEb", "llvm::X86InstrInfo::commuteInstruction(llvm::MachineInstr*, bool) const"},
-    {"_ZN4llvm3X8621GetCondBranchFromCondENS0_8CondCodeE", "llvm::X86::GetCondBranchFromCond(llvm::X86::CondCode)"},
-    {"_ZN4llvm3X8626GetOppositeBranchConditionENS0_8CondCodeE", "llvm::X86::GetOppositeBranchCondition(llvm::X86::CondCode)"},
-    {"_ZNK4llvm12X86InstrInfo24isUnpredicatedTerminatorEPKNS_12MachineInstrE", "llvm::X86InstrInfo::isUnpredicatedTerminator(llvm::MachineInstr const*) const"},
-    {"_ZNK4llvm12X86InstrInfo13AnalyzeBranchERNS_17MachineBasicBlockERPS1_S4_RNS_15SmallVectorImplINS_14MachineOperandEEEb", "llvm::X86InstrInfo::AnalyzeBranch(llvm::MachineBasicBlock&, llvm::MachineBasicBlock*&, llvm::MachineBasicBlock*&, llvm::SmallVectorImpl<llvm::MachineOperand>&, bool) const"},
-    {"_ZNK4llvm12X86InstrInfo12RemoveBranchERNS_17MachineBasicBlockE", "llvm::X86InstrInfo::RemoveBranch(llvm::MachineBasicBlock&) const"},
-    {"_ZNK4llvm12X86InstrInfo12InsertBranchERNS_17MachineBasicBlockEPS1_S3_RKNS_15SmallVectorImplINS_14MachineOperandEEENS_8DebugLocE", "llvm::X86InstrInfo::InsertBranch(llvm::MachineBasicBlock&, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::SmallVectorImpl<llvm::MachineOperand> const&, llvm::DebugLoc) const"},
-    {"_ZNK4llvm12X86InstrInfo11copyPhysRegERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjb", "llvm::X86InstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::DebugLoc, unsigned int, unsigned int, bool) const"},
-    {"_ZNK4llvm12X86InstrInfo19storeRegToStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjbiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::X86InstrInfo::storeRegToStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, bool, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZN4llvm17addFrameReferenceERKNS_19MachineInstrBuilderEii", "llvm::addFrameReference(llvm::MachineInstrBuilder const&, int, int)"},
-    {"_ZNK4llvm12X86InstrInfo14storeRegToAddrERNS_15MachineFunctionEjbRNS_15SmallVectorImplINS_14MachineOperandEEEPKNS_19TargetRegisterClassEPPNS_17MachineMemOperandESC_RNS3_IPNS_12MachineInstrEEE", "llvm::X86InstrInfo::storeRegToAddr(llvm::MachineFunction&, unsigned int, bool, llvm::SmallVectorImpl<llvm::MachineOperand>&, llvm::TargetRegisterClass const*, llvm::MachineMemOperand**, llvm::MachineMemOperand**, llvm::SmallVectorImpl<llvm::MachineInstr*>&) const"},
-    {"_ZNK4llvm12X86InstrInfo20loadRegFromStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::X86InstrInfo::loadRegFromStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm12X86InstrInfo15loadRegFromAddrERNS_15MachineFunctionEjRNS_15SmallVectorImplINS_14MachineOperandEEEPKNS_19TargetRegisterClassEPPNS_17MachineMemOperandESC_RNS3_IPNS_12MachineInstrEEE", "llvm::X86InstrInfo::loadRegFromAddr(llvm::MachineFunction&, unsigned int, llvm::SmallVectorImpl<llvm::MachineOperand>&, llvm::TargetRegisterClass const*, llvm::MachineMemOperand**, llvm::MachineMemOperand**, llvm::SmallVectorImpl<llvm::MachineInstr*>&) const"},
-    {"_ZNK4llvm12X86InstrInfo24emitFrameIndexDebugValueERNS_15MachineFunctionEiyPKNS_6MDNodeENS_8DebugLocE", "llvm::X86InstrInfo::emitFrameIndexDebugValue(llvm::MachineFunction&, int, unsigned long long, llvm::MDNode const*, llvm::DebugLoc) const"},
-    {"_ZNK4llvm12X86InstrInfo21foldMemoryOperandImplERNS_15MachineFunctionEPNS_12MachineInstrEjRKNS_15SmallVectorImplINS_14MachineOperandEEEjj", "llvm::X86InstrInfo::foldMemoryOperandImpl(llvm::MachineFunction&, llvm::MachineInstr*, unsigned int, llvm::SmallVectorImpl<llvm::MachineOperand> const&, unsigned int, unsigned int) const"},
-    {"_Z10MakeM0InstRKN4llvm15TargetInstrInfoEjRKNS_15SmallVectorImplINS_14MachineOperandEEEPNS_12MachineInstrE", "MakeM0Inst(llvm::TargetInstrInfo const&, unsigned int, llvm::SmallVectorImpl<llvm::MachineOperand> const&, llvm::MachineInstr*)"},
-    {"_ZNK4llvm12X86InstrInfo21foldMemoryOperandImplERNS_15MachineFunctionEPNS_12MachineInstrERKNS_15SmallVectorImplIjEEi", "llvm::X86InstrInfo::foldMemoryOperandImpl(llvm::MachineFunction&, llvm::MachineInstr*, llvm::SmallVectorImpl<unsigned int> const&, int) const"},
-    {"_ZNK4llvm12X86InstrInfo21foldMemoryOperandImplERNS_15MachineFunctionEPNS_12MachineInstrERKNS_15SmallVectorImplIjEES4_", "llvm::X86InstrInfo::foldMemoryOperandImpl(llvm::MachineFunction&, llvm::MachineInstr*, llvm::SmallVectorImpl<unsigned int> const&, llvm::MachineInstr*) const"},
-    {"_ZNK4llvm12X86InstrInfo20canFoldMemoryOperandEPKNS_12MachineInstrERKNS_15SmallVectorImplIjEE", "llvm::X86InstrInfo::canFoldMemoryOperand(llvm::MachineInstr const*, llvm::SmallVectorImpl<unsigned int> const&) const"},
-    {"_ZNK4llvm12X86InstrInfo19unfoldMemoryOperandERNS_15MachineFunctionEPNS_12MachineInstrEjbbRNS_15SmallVectorImplIS4_EE", "llvm::X86InstrInfo::unfoldMemoryOperand(llvm::MachineFunction&, llvm::MachineInstr*, unsigned int, bool, bool, llvm::SmallVectorImpl<llvm::MachineInstr*>&) const"},
-    {"_ZNK4llvm12X86InstrInfo19unfoldMemoryOperandERNS_12SelectionDAGEPNS_6SDNodeERNS_15SmallVectorImplIS4_EE", "llvm::X86InstrInfo::unfoldMemoryOperand(llvm::SelectionDAG&, llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDNode*>&) const"},
-    {"_ZNK4llvm12X86InstrInfo26getOpcodeAfterMemoryUnfoldEjbbPj", "llvm::X86InstrInfo::getOpcodeAfterMemoryUnfold(unsigned int, bool, bool, unsigned int*) const"},
-    {"_ZNK4llvm12X86InstrInfo23areLoadsFromSameBasePtrEPNS_6SDNodeES2_RxS3_", "llvm::X86InstrInfo::areLoadsFromSameBasePtr(llvm::SDNode*, llvm::SDNode*, long long&, long long&) const"},
-    {"_ZNK4llvm12X86InstrInfo23shouldScheduleLoadsNearEPNS_6SDNodeES2_xxj", "llvm::X86InstrInfo::shouldScheduleLoadsNear(llvm::SDNode*, llvm::SDNode*, long long, long long, unsigned int) const"},
-    {"_ZNK4llvm12X86InstrInfo22ReverseBranchConditionERNS_15SmallVectorImplINS_14MachineOperandEEE", "llvm::X86InstrInfo::ReverseBranchCondition(llvm::SmallVectorImpl<llvm::MachineOperand>&) const"},
-    {"_ZNK4llvm12X86InstrInfo24isSafeToMoveRegClassDefsEPKNS_19TargetRegisterClassE", "llvm::X86InstrInfo::isSafeToMoveRegClassDefs(llvm::TargetRegisterClass const*) const"},
-    {"_ZN4llvm12X86InstrInfo19isX86_64ExtendedRegEj", "llvm::X86InstrInfo::isX86_64ExtendedReg(unsigned int)"},
-    {"_ZNK4llvm12X86InstrInfo16getGlobalBaseRegEPNS_15MachineFunctionE", "llvm::X86InstrInfo::getGlobalBaseReg(llvm::MachineFunction*) const"},
-    {"_ZNK4llvm12X86InstrInfo12GetSSEDomainEPKNS_12MachineInstrE", "llvm::X86InstrInfo::GetSSEDomain(llvm::MachineInstr const*) const"},
-    {"_ZNK4llvm12X86InstrInfo12SetSSEDomainEPNS_12MachineInstrEj", "llvm::X86InstrInfo::SetSSEDomain(llvm::MachineInstr*, unsigned int) const"},
-    {"_ZNK4llvm12X86InstrInfo21getNoopForMachoTargetERNS_6MCInstE", "llvm::X86InstrInfo::getNoopForMachoTarget(llvm::MCInst&) const"},
-    {"_ZNK4llvm12X86InstrInfo21hasHighOperandLatencyEPKNS_18InstrItineraryDataEPKNS_19MachineRegisterInfoEPKNS_12MachineInstrEjS9_j", "llvm::X86InstrInfo::hasHighOperandLatency(llvm::InstrItineraryData const*, llvm::MachineRegisterInfo const*, llvm::MachineInstr const*, unsigned int, llvm::MachineInstr const*, unsigned int) const"},
-    {"_ZN4llvm23createGlobalBaseRegPassEv", "llvm::createGlobalBaseRegPass()"},
-    {"_ZN12_GLOBAL__N_14CGBRD1Ev", "(anonymous namespace)::CGBR::~CGBR()"},
-    {"_ZN12_GLOBAL__N_14CGBRD0Ev", "(anonymous namespace)::CGBR::~CGBR()"},
-    {"_ZNK12_GLOBAL__N_14CGBR11getPassNameEv", "(anonymous namespace)::CGBR::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_14CGBR16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::CGBR::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_14CGBR20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::CGBR::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_Z21getLoadStoreRegOpcodejPKN4llvm19TargetRegisterClassEbRKNS_13TargetMachineEb", "getLoadStoreRegOpcode(unsigned int, llvm::TargetRegisterClass const*, bool, llvm::TargetMachine const&, bool)"},
-    {"_ZN4llvm22X86MachineFunctionInfoD1Ev", "llvm::X86MachineFunctionInfo::~X86MachineFunctionInfo()"},
-    {"_ZN4llvm22X86MachineFunctionInfoD0Ev", "llvm::X86MachineFunctionInfo::~X86MachineFunctionInfo()"},
-    {"_ZNSt6vectorIN4llvm3EVTESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::EVT, std::allocator<llvm::EVT> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::EVT*, std::vector<llvm::EVT, std::allocator<llvm::EVT> > >, llvm::EVT const&)"},
-    {"_ZNSt6vectorIN4llvm7SDValueESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SDValue*, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> > >, llvm::SDValue const&)"},
-    {"_ZN4llvm8DenseMapIjSt4pairIjjENS_12DenseMapInfoIjEENS3_IS2_EEE16InsertIntoBucketERKjRKS2_PS1_IjS2_E", "llvm::DenseMap<unsigned int, std::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> > >::InsertIntoBucket(unsigned int const&, std::pair<unsigned int, unsigned int> const&, std::pair<unsigned int, std::pair<unsigned int, unsigned int> >*)"},
-    {"_ZN4llvm8DenseMapIjSt4pairIjjENS_12DenseMapInfoIjEENS3_IS2_EEE4growEj", "llvm::DenseMap<unsigned int, std::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, llvm::MachineInstr* const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_14MachineOperandELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::MachineOperand, false>::grow(unsigned long)"},
-    {"_ZN4llvm19MachineFunctionPassD1Ev", "llvm::MachineFunctionPass::~MachineFunctionPass()"},
-    {"_ZN4llvm19MachineFunctionPassD0Ev", "llvm::MachineFunctionPass::~MachineFunctionPass()"},
-    {"_ZN4llvm12FunctionPassD1Ev", "llvm::FunctionPass::~FunctionPass()"},
-    {"_ZN4llvm12FunctionPassD0Ev", "llvm::FunctionPass::~FunctionPass()"},
-    {"_ZN4llvm10X86JITInfo29replaceMachineCodeForFunctionEPvS1_", "llvm::X86JITInfo::replaceMachineCodeForFunction(void*, void*)"},
-    {"_ZN4llvm10X86JITInfo23getLazyResolverFunctionEPFPvS1_E", "llvm::X86JITInfo::getLazyResolverFunction(void* (*)(void*))"},
-    {"_ZN4llvm10X86JITInfoC1ERNS_16X86TargetMachineE", "llvm::X86JITInfo::X86JITInfo(llvm::X86TargetMachine&)"},
-    {"_ZN4llvm10X86JITInfoC2ERNS_16X86TargetMachineE", "llvm::X86JITInfo::X86JITInfo(llvm::X86TargetMachine&)"},
-    {"_ZN4llvm10X86JITInfo26emitGlobalValueIndirectSymEPKNS_11GlobalValueEPvRNS_14JITCodeEmitterE", "llvm::X86JITInfo::emitGlobalValueIndirectSym(llvm::GlobalValue const*, void*, llvm::JITCodeEmitter&)"},
-    {"_ZN4llvm10X86JITInfo13getStubLayoutEv", "llvm::X86JITInfo::getStubLayout()"},
-    {"_ZN4llvm10X86JITInfo16emitFunctionStubEPKNS_8FunctionEPvRNS_14JITCodeEmitterE", "llvm::X86JITInfo::emitFunctionStub(llvm::Function const*, void*, llvm::JITCodeEmitter&)"},
-    {"_ZN4llvm10X86JITInfo20getPICJumpTableEntryEmm", "llvm::X86JITInfo::getPICJumpTableEntry(unsigned long, unsigned long)"},
-    {"_ZN4llvm10X86JITInfo8relocateEPvPNS_17MachineRelocationEjPh", "llvm::X86JITInfo::relocate(void*, llvm::MachineRelocation*, unsigned int, unsigned char*)"},
-    {"_ZN4llvm10X86JITInfo25allocateThreadLocalMemoryEm", "llvm::X86JITInfo::allocateThreadLocalMemory(unsigned long)"},
-    {"_ZN4llvm18X86MCAsmInfoDarwinC1ERKNS_6TripleE", "llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(llvm::Triple const&)"},
-    {"_ZN4llvm18X86MCAsmInfoDarwinC2ERKNS_6TripleE", "llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(llvm::Triple const&)"},
-    {"_ZN4llvm15X86ELFMCAsmInfoC1ERKNS_6TripleE", "llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(llvm::Triple const&)"},
-    {"_ZN4llvm15X86ELFMCAsmInfoC2ERKNS_6TripleE", "llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(llvm::Triple const&)"},
-    {"_ZNK4llvm15X86ELFMCAsmInfo28getNonexecutableStackSectionERNS_9MCContextE", "llvm::X86ELFMCAsmInfo::getNonexecutableStackSection(llvm::MCContext&) const"},
-    {"_ZN4llvm16X86MCAsmInfoCOFFC1ERKNS_6TripleE", "llvm::X86MCAsmInfoCOFF::X86MCAsmInfoCOFF(llvm::Triple const&)"},
-    {"_ZN4llvm16X86MCAsmInfoCOFFC2ERKNS_6TripleE", "llvm::X86MCAsmInfoCOFF::X86MCAsmInfoCOFF(llvm::Triple const&)"},
-    {"_ZN4llvm2cl3optI17AsmWriterFlavorTyLb0ENS0_6parserIS2_EEED1Ev", "llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >::~opt()"},
-    {"_ZNK4llvm9MCAsmInfo18getDataASDirectiveEjj", "llvm::MCAsmInfo::getDataASDirective(unsigned int, unsigned int) const"},
-    {"_ZN4llvm15X86ELFMCAsmInfoD1Ev", "llvm::X86ELFMCAsmInfo::~X86ELFMCAsmInfo()"},
-    {"_ZN4llvm15X86ELFMCAsmInfoD0Ev", "llvm::X86ELFMCAsmInfo::~X86ELFMCAsmInfo()"},
-    {"_ZN4llvm16X86MCAsmInfoCOFFD1Ev", "llvm::X86MCAsmInfoCOFF::~X86MCAsmInfoCOFF()"},
-    {"_ZN4llvm16X86MCAsmInfoCOFFD0Ev", "llvm::X86MCAsmInfoCOFF::~X86MCAsmInfoCOFF()"},
-    {"_ZNK4llvm9MCAsmInfo28getNonexecutableStackSectionERNS_9MCContextE", "llvm::MCAsmInfo::getNonexecutableStackSection(llvm::MCContext&) const"},
-    {"_ZN4llvm18X86MCAsmInfoDarwinD1Ev", "llvm::X86MCAsmInfoDarwin::~X86MCAsmInfoDarwin()"},
-    {"_ZN4llvm18X86MCAsmInfoDarwinD0Ev", "llvm::X86MCAsmInfoDarwin::~X86MCAsmInfoDarwin()"},
-    {"_ZN4llvm15MCAsmInfoDarwinD1Ev", "llvm::MCAsmInfoDarwin::~MCAsmInfoDarwin()"},
-    {"_ZN4llvm15MCAsmInfoDarwinD0Ev", "llvm::MCAsmInfoDarwin::~MCAsmInfoDarwin()"},
-    {"_ZN4llvm13MCAsmInfoCOFFD1Ev", "llvm::MCAsmInfoCOFF::~MCAsmInfoCOFF()"},
-    {"_ZN4llvm13MCAsmInfoCOFFD0Ev", "llvm::MCAsmInfoCOFF::~MCAsmInfoCOFF()"},
-    {"_ZN4llvm2cl3optI17AsmWriterFlavorTyLb0ENS0_6parserIS2_EEE16handleOccurrenceEjNS_9StringRefES6_", "llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optI17AsmWriterFlavorTyLb0ENS0_6parserIS2_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optI17AsmWriterFlavorTyLb0ENS0_6parserIS2_EEE14getOptionWidthEv", "llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optI17AsmWriterFlavorTyLb0ENS0_6parserIS2_EEE15printOptionInfoEm", "llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optI17AsmWriterFlavorTyLb0ENS0_6parserIS2_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optI17AsmWriterFlavorTyLb0ENS0_6parserIS2_EEED0Ev", "llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >::~opt()"},
-    {"_ZN4llvm2cl6parserI17AsmWriterFlavorTyE5parseERNS0_6OptionENS_9StringRefES6_RS2_", "llvm::cl::parser<AsmWriterFlavorTy>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, AsmWriterFlavorTy&)"},
-    {"_ZNK4llvm2cl11ValuesClassIiE5applyINS0_3optI17AsmWriterFlavorTyLb0ENS0_6parserIS5_EEEEEEvRT_", "void llvm::cl::ValuesClass<int>::apply<llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> > >(llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserI17AsmWriterFlavorTyE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<AsmWriterFlavorTy>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm2cl6parserI17AsmWriterFlavorTyED1Ev", "llvm::cl::parser<AsmWriterFlavorTy>::~parser()"},
-    {"_ZN4llvm2cl6parserI17AsmWriterFlavorTyED0Ev", "llvm::cl::parser<AsmWriterFlavorTy>::~parser()"},
-    {"_ZNK4llvm2cl6parserI17AsmWriterFlavorTyE13getNumOptionsEv", "llvm::cl::parser<AsmWriterFlavorTy>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserI17AsmWriterFlavorTyE9getOptionEj", "llvm::cl::parser<AsmWriterFlavorTy>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserI17AsmWriterFlavorTyE14getDescriptionEj", "llvm::cl::parser<AsmWriterFlavorTy>::getDescription(unsigned int) const"},
-    {"_ZN4llvm25createX86_32MCCodeEmitterERKNS_6TargetERNS_13TargetMachineERNS_9MCContextE", "llvm::createX86_32MCCodeEmitter(llvm::Target const&, llvm::TargetMachine&, llvm::MCContext&)"},
-    {"_ZN4llvm25createX86_64MCCodeEmitterERKNS_6TargetERNS_13TargetMachineERNS_9MCContextE", "llvm::createX86_64MCCodeEmitter(llvm::Target const&, llvm::TargetMachine&, llvm::MCContext&)"},
-    {"_ZN12_GLOBAL__N_116X86MCCodeEmitterD1Ev", "(anonymous namespace)::X86MCCodeEmitter::~X86MCCodeEmitter()"},
-    {"_ZN12_GLOBAL__N_116X86MCCodeEmitterD0Ev", "(anonymous namespace)::X86MCCodeEmitter::~X86MCCodeEmitter()"},
-    {"_ZNK12_GLOBAL__N_116X86MCCodeEmitter17EncodeInstructionERKN4llvm6MCInstERNS1_11raw_ostreamERNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::X86MCCodeEmitter::EncodeInstruction(llvm::MCInst const&, llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116X86MCCodeEmitter13EmitImmediateERKN4llvm9MCOperandEjNS1_11MCFixupKindERjRNS1_11raw_ostreamERNS1_15SmallVectorImplINS1_7MCFixupEEEi", "(anonymous namespace)::X86MCCodeEmitter::EmitImmediate(llvm::MCOperand const&, unsigned int, llvm::MCFixupKind, unsigned int&, llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&, int) const"},
-    {"_ZNK12_GLOBAL__N_116X86MCCodeEmitter16EmitMemModRMByteERKN4llvm6MCInstEjjyRjRNS1_11raw_ostreamERNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::X86MCCodeEmitter::EmitMemModRMByte(llvm::MCInst const&, unsigned int, unsigned int, unsigned long long, unsigned int&, llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116X86MCCodeEmitter25EmitSegmentOverridePrefixEyRjiRKN4llvm6MCInstERNS2_11raw_ostreamE", "(anonymous namespace)::X86MCCodeEmitter::EmitSegmentOverridePrefix(unsigned long long, unsigned int&, int, llvm::MCInst const&, llvm::raw_ostream&) const"},
-    {"_ZN4llvm14X86MCInstLowerC1EPNS_7ManglerERKNS_15MachineFunctionERNS_13X86AsmPrinterE", "llvm::X86MCInstLower::X86MCInstLower(llvm::Mangler*, llvm::MachineFunction const&, llvm::X86AsmPrinter&)"},
-    {"_ZN4llvm14X86MCInstLowerC2EPNS_7ManglerERKNS_15MachineFunctionERNS_13X86AsmPrinterE", "llvm::X86MCInstLower::X86MCInstLower(llvm::Mangler*, llvm::MachineFunction const&, llvm::X86AsmPrinter&)"},
-    {"_ZNK4llvm14X86MCInstLower11getMachOMMIEv", "llvm::X86MCInstLower::getMachOMMI() const"},
-    {"_ZNK4llvm14X86MCInstLower20GetSymbolFromOperandERKNS_14MachineOperandE", "llvm::X86MCInstLower::GetSymbolFromOperand(llvm::MachineOperand const&) const"},
-    {"_ZNK4llvm14X86MCInstLower18LowerSymbolOperandERKNS_14MachineOperandEPNS_8MCSymbolE", "llvm::X86MCInstLower::LowerSymbolOperand(llvm::MachineOperand const&, llvm::MCSymbol*) const"},
-    {"_ZNK4llvm14X86MCInstLower5LowerEPKNS_12MachineInstrERNS_6MCInstE", "llvm::X86MCInstLower::Lower(llvm::MachineInstr const*, llvm::MCInst&) const"},
-    {"_Z21SimplifyShortMoveFormRN4llvm13X86AsmPrinterERNS_6MCInstEj", "SimplifyShortMoveForm(llvm::X86AsmPrinter&, llvm::MCInst&, unsigned int)"},
-    {"_Z20SimplifyShortImmFormRN4llvm6MCInstEj", "SimplifyShortImmForm(llvm::MCInst&, unsigned int)"},
-    {"_ZN4llvm13X86AsmPrinter15EmitInstructionEPKNS_12MachineInstrE", "llvm::X86AsmPrinter::EmitInstruction(llvm::MachineInstr const*)"},
-    {"_ZN4llvm15SmallVectorImplIcE6insertIPKcEEPcS5_T_S6_", "char* llvm::SmallVectorImpl<char>::insert<char const*>(char*, char const*, char const*)"},
-    {"_ZN4llvm25createX86MachObjectWriterERNS_11raw_ostreamEbjj", "llvm::createX86MachObjectWriter(llvm::raw_ostream&, bool, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_119X86MachObjectWriterD1Ev", "(anonymous namespace)::X86MachObjectWriter::~X86MachObjectWriter()"},
-    {"_ZN12_GLOBAL__N_119X86MachObjectWriterD0Ev", "(anonymous namespace)::X86MachObjectWriter::~X86MachObjectWriter()"},
-    {"_ZN4llvm15X86RegisterInfoC1ERNS_16X86TargetMachineERKNS_15TargetInstrInfoE", "llvm::X86RegisterInfo::X86RegisterInfo(llvm::X86TargetMachine&, llvm::TargetInstrInfo const&)"},
-    {"_ZN4llvm15X86RegisterInfoC2ERNS_16X86TargetMachineERKNS_15TargetInstrInfoE", "llvm::X86RegisterInfo::X86RegisterInfo(llvm::X86TargetMachine&, llvm::TargetInstrInfo const&)"},
-    {"_ZN4llvm18X86GenRegisterInfoC2Eii", "llvm::X86GenRegisterInfo::X86GenRegisterInfo(int, int)"},
-    {"_ZNK4llvm15X86RegisterInfo14getDwarfRegNumEjb", "llvm::X86RegisterInfo::getDwarfRegNum(unsigned int, bool) const"},
-    {"_ZNK4llvm18X86GenRegisterInfo18getDwarfRegNumFullEjj", "llvm::X86GenRegisterInfo::getDwarfRegNumFull(unsigned int, unsigned int) const"},
-    {"_ZN4llvm15X86RegisterInfo12getX86RegNumEj", "llvm::X86RegisterInfo::getX86RegNum(unsigned int)"},
-    {"_ZNK4llvm15X86RegisterInfo24getMatchingSuperRegClassEPKNS_19TargetRegisterClassES3_j", "llvm::X86RegisterInfo::getMatchingSuperRegClass(llvm::TargetRegisterClass const*, llvm::TargetRegisterClass const*, unsigned int) const"},
-    {"_ZNK4llvm15X86RegisterInfo18getPointerRegClassEj", "llvm::X86RegisterInfo::getPointerRegClass(unsigned int) const"},
-    {"_ZNK4llvm15X86RegisterInfo20getCrossCopyRegClassEPKNS_19TargetRegisterClassE", "llvm::X86RegisterInfo::getCrossCopyRegClass(llvm::TargetRegisterClass const*) const"},
-    {"_ZNK4llvm15X86RegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionE", "llvm::X86RegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const"},
-    {"_ZNK4llvm15X86RegisterInfo15getReservedRegsERKNS_15MachineFunctionE", "llvm::X86RegisterInfo::getReservedRegs(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm15X86RegisterInfo15canRealignStackERKNS_15MachineFunctionE", "llvm::X86RegisterInfo::canRealignStack(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm15X86RegisterInfo21needsStackRealignmentERKNS_15MachineFunctionE", "llvm::X86RegisterInfo::needsStackRealignment(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm15X86RegisterInfo20hasReservedSpillSlotERKNS_15MachineFunctionEjRi", "llvm::X86RegisterInfo::hasReservedSpillSlot(llvm::MachineFunction const&, unsigned int, int&) const"},
-    {"_ZNK4llvm15X86RegisterInfo29eliminateCallFramePseudoInstrERNS_15MachineFunctionERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(llvm::MachineFunction&, llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>) const"},
-    {"_ZNK4llvm15X86RegisterInfo19eliminateFrameIndexENS_14ilist_iteratorINS_12MachineInstrEEEiPNS_12RegScavengerE", "llvm::X86RegisterInfo::eliminateFrameIndex(llvm::ilist_iterator<llvm::MachineInstr>, int, llvm::RegScavenger*) const"},
-    {"_ZNK4llvm15X86RegisterInfo13getRARegisterEv", "llvm::X86RegisterInfo::getRARegister() const"},
-    {"_ZNK4llvm15X86RegisterInfo16getFrameRegisterERKNS_15MachineFunctionE", "llvm::X86RegisterInfo::getFrameRegister(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm15X86RegisterInfo22getEHExceptionRegisterEv", "llvm::X86RegisterInfo::getEHExceptionRegister() const"},
-    {"_ZNK4llvm15X86RegisterInfo20getEHHandlerRegisterEv", "llvm::X86RegisterInfo::getEHHandlerRegister() const"},
-    {"_ZN4llvm22getX86SubSuperRegisterEjNS_3EVTEb", "llvm::getX86SubSuperRegister(unsigned int, llvm::EVT, bool)"},
-    {"_ZN4llvm3X868CCRClassC1Ev", "llvm::X86::CCRClass::CCRClass()"},
-    {"_ZN4llvm3X8616CONTROL_REGClassC1Ev", "llvm::X86::CONTROL_REGClass::CONTROL_REGClass()"},
-    {"_ZN4llvm3X8614DEBUG_REGClassC1Ev", "llvm::X86::DEBUG_REGClass::DEBUG_REGClass()"},
-    {"_ZN4llvm3X869FR32ClassC1Ev", "llvm::X86::FR32Class::FR32Class()"},
-    {"_ZN4llvm3X869FR64ClassC1Ev", "llvm::X86::FR64Class::FR64Class()"},
-    {"_ZN4llvm3X869GR16ClassC1Ev", "llvm::X86::GR16Class::GR16Class()"},
-    {"_ZN4llvm3X8614GR16_ABCDClassC1Ev", "llvm::X86::GR16_ABCDClass::GR16_ABCDClass()"},
-    {"_ZN4llvm3X8615GR16_NOREXClassC1Ev", "llvm::X86::GR16_NOREXClass::GR16_NOREXClass()"},
-    {"_ZN4llvm3X869GR32ClassC1Ev", "llvm::X86::GR32Class::GR32Class()"},
-    {"_ZN4llvm3X8614GR32_ABCDClassC1Ev", "llvm::X86::GR32_ABCDClass::GR32_ABCDClass()"},
-    {"_ZN4llvm3X8612GR32_ADClassC1Ev", "llvm::X86::GR32_ADClass::GR32_ADClass()"},
-    {"_ZN4llvm3X8615GR32_NOREXClassC1Ev", "llvm::X86::GR32_NOREXClass::GR32_NOREXClass()"},
-    {"_ZN4llvm3X8614GR32_NOSPClassC1Ev", "llvm::X86::GR32_NOSPClass::GR32_NOSPClass()"},
-    {"_ZN4llvm3X8612GR32_TCClassC1Ev", "llvm::X86::GR32_TCClass::GR32_TCClass()"},
-    {"_ZN4llvm3X869GR64ClassC1Ev", "llvm::X86::GR64Class::GR64Class()"},
-    {"_ZN4llvm3X8614GR64_ABCDClassC1Ev", "llvm::X86::GR64_ABCDClass::GR64_ABCDClass()"},
-    {"_ZN4llvm3X8615GR64_NOREXClassC1Ev", "llvm::X86::GR64_NOREXClass::GR64_NOREXClass()"},
-    {"_ZN4llvm3X8620GR64_NOREX_NOSPClassC1Ev", "llvm::X86::GR64_NOREX_NOSPClass::GR64_NOREX_NOSPClass()"},
-    {"_ZN4llvm3X8614GR64_NOSPClassC1Ev", "llvm::X86::GR64_NOSPClass::GR64_NOSPClass()"},
-    {"_ZN4llvm3X8612GR64_TCClassC1Ev", "llvm::X86::GR64_TCClass::GR64_TCClass()"},
-    {"_ZN4llvm3X8615GR64_TCW64ClassC1Ev", "llvm::X86::GR64_TCW64Class::GR64_TCW64Class()"},
-    {"_ZN4llvm3X868GR8ClassC1Ev", "llvm::X86::GR8Class::GR8Class()"},
-    {"_ZN4llvm3X8615GR8_ABCD_HClassC1Ev", "llvm::X86::GR8_ABCD_HClass::GR8_ABCD_HClass()"},
-    {"_ZN4llvm3X8615GR8_ABCD_LClassC1Ev", "llvm::X86::GR8_ABCD_LClass::GR8_ABCD_LClass()"},
-    {"_ZN4llvm3X8614GR8_NOREXClassC1Ev", "llvm::X86::GR8_NOREXClass::GR8_NOREXClass()"},
-    {"_ZN4llvm3X8610RFP32ClassC1Ev", "llvm::X86::RFP32Class::RFP32Class()"},
-    {"_ZN4llvm3X8610RFP64ClassC1Ev", "llvm::X86::RFP64Class::RFP64Class()"},
-    {"_ZN4llvm3X8610RFP80ClassC1Ev", "llvm::X86::RFP80Class::RFP80Class()"},
-    {"_ZN4llvm3X868RSTClassC1Ev", "llvm::X86::RSTClass::RSTClass()"},
-    {"_ZN4llvm3X8616SEGMENT_REGClassC1Ev", "llvm::X86::SEGMENT_REGClass::SEGMENT_REGClass()"},
-    {"_ZN4llvm3X8610VR128ClassC1Ev", "llvm::X86::VR128Class::VR128Class()"},
-    {"_ZN4llvm3X8610VR256ClassC1Ev", "llvm::X86::VR256Class::VR256Class()"},
-    {"_ZN4llvm3X869VR64ClassC1Ev", "llvm::X86::VR64Class::VR64Class()"},
-    {"_ZNK4llvm3X868CCRClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::CCRClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X868CCRClassC2Ev", "llvm::X86::CCRClass::CCRClass()"},
-    {"_ZN4llvm3X8616CONTROL_REGClassC2Ev", "llvm::X86::CONTROL_REGClass::CONTROL_REGClass()"},
-    {"_ZN4llvm3X8614DEBUG_REGClassC2Ev", "llvm::X86::DEBUG_REGClass::DEBUG_REGClass()"},
-    {"_ZNK4llvm3X869FR32Class20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::FR32Class::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X869FR32ClassC2Ev", "llvm::X86::FR32Class::FR32Class()"},
-    {"_ZNK4llvm3X869FR64Class20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::FR64Class::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X869FR64ClassC2Ev", "llvm::X86::FR64Class::FR64Class()"},
-    {"_ZNK4llvm3X869GR16Class22allocation_order_beginERKNS_15MachineFunctionE", "llvm::X86::GR16Class::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3X869GR16Class20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR16Class::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X869GR16ClassC2Ev", "llvm::X86::GR16Class::GR16Class()"},
-    {"_ZN4llvm3X8614GR16_ABCDClassC2Ev", "llvm::X86::GR16_ABCDClass::GR16_ABCDClass()"},
-    {"_ZNK4llvm3X8615GR16_NOREXClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR16_NOREXClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8615GR16_NOREXClassC2Ev", "llvm::X86::GR16_NOREXClass::GR16_NOREXClass()"},
-    {"_ZNK4llvm3X869GR32Class22allocation_order_beginERKNS_15MachineFunctionE", "llvm::X86::GR32Class::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3X869GR32Class20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR32Class::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X869GR32ClassC2Ev", "llvm::X86::GR32Class::GR32Class()"},
-    {"_ZN4llvm3X8614GR32_ABCDClassC2Ev", "llvm::X86::GR32_ABCDClass::GR32_ABCDClass()"},
-    {"_ZN4llvm3X8612GR32_ADClassC2Ev", "llvm::X86::GR32_ADClass::GR32_ADClass()"},
-    {"_ZNK4llvm3X8615GR32_NOREXClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR32_NOREXClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8615GR32_NOREXClassC2Ev", "llvm::X86::GR32_NOREXClass::GR32_NOREXClass()"},
-    {"_ZNK4llvm3X8614GR32_NOSPClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::X86::GR32_NOSPClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3X8614GR32_NOSPClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR32_NOSPClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8614GR32_NOSPClassC2Ev", "llvm::X86::GR32_NOSPClass::GR32_NOSPClass()"},
-    {"_ZN4llvm3X8612GR32_TCClassC2Ev", "llvm::X86::GR32_TCClass::GR32_TCClass()"},
-    {"_ZNK4llvm3X869GR64Class20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR64Class::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X869GR64ClassC2Ev", "llvm::X86::GR64Class::GR64Class()"},
-    {"_ZN4llvm3X8614GR64_ABCDClassC2Ev", "llvm::X86::GR64_ABCDClass::GR64_ABCDClass()"},
-    {"_ZNK4llvm3X8615GR64_NOREXClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR64_NOREXClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8615GR64_NOREXClassC2Ev", "llvm::X86::GR64_NOREXClass::GR64_NOREXClass()"},
-    {"_ZNK4llvm3X8620GR64_NOREX_NOSPClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR64_NOREX_NOSPClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8620GR64_NOREX_NOSPClassC2Ev", "llvm::X86::GR64_NOREX_NOSPClass::GR64_NOREX_NOSPClass()"},
-    {"_ZNK4llvm3X8614GR64_NOSPClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR64_NOSPClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8614GR64_NOSPClassC2Ev", "llvm::X86::GR64_NOSPClass::GR64_NOSPClass()"},
-    {"_ZN4llvm3X8612GR64_TCClassC2Ev", "llvm::X86::GR64_TCClass::GR64_TCClass()"},
-    {"_ZN4llvm3X8615GR64_TCW64ClassC2Ev", "llvm::X86::GR64_TCW64Class::GR64_TCW64Class()"},
-    {"_ZNK4llvm3X868GR8Class22allocation_order_beginERKNS_15MachineFunctionE", "llvm::X86::GR8Class::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3X868GR8Class20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR8Class::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X868GR8ClassC2Ev", "llvm::X86::GR8Class::GR8Class()"},
-    {"_ZN4llvm3X8615GR8_ABCD_HClassC2Ev", "llvm::X86::GR8_ABCD_HClass::GR8_ABCD_HClass()"},
-    {"_ZN4llvm3X8615GR8_ABCD_LClassC2Ev", "llvm::X86::GR8_ABCD_LClass::GR8_ABCD_LClass()"},
-    {"_ZNK4llvm3X8614GR8_NOREXClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::X86::GR8_NOREXClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3X8614GR8_NOREXClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::GR8_NOREXClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8614GR8_NOREXClassC2Ev", "llvm::X86::GR8_NOREXClass::GR8_NOREXClass()"},
-    {"_ZN4llvm3X8610RFP32ClassC2Ev", "llvm::X86::RFP32Class::RFP32Class()"},
-    {"_ZN4llvm3X8610RFP64ClassC2Ev", "llvm::X86::RFP64Class::RFP64Class()"},
-    {"_ZN4llvm3X8610RFP80ClassC2Ev", "llvm::X86::RFP80Class::RFP80Class()"},
-    {"_ZNK4llvm3X868RSTClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::RSTClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X868RSTClassC2Ev", "llvm::X86::RSTClass::RSTClass()"},
-    {"_ZN4llvm3X8616SEGMENT_REGClassC2Ev", "llvm::X86::SEGMENT_REGClass::SEGMENT_REGClass()"},
-    {"_ZNK4llvm3X8610VR128Class20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::VR128Class::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8610VR128ClassC2Ev", "llvm::X86::VR128Class::VR128Class()"},
-    {"_ZNK4llvm3X8610VR256Class20allocation_order_endERKNS_15MachineFunctionE", "llvm::X86::VR256Class::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3X8610VR256ClassC2Ev", "llvm::X86::VR256Class::VR256Class()"},
-    {"_ZN4llvm3X869VR64ClassC2Ev", "llvm::X86::VR64Class::VR64Class()"},
-    {"_ZNK4llvm18X86GenRegisterInfo9getSubRegEjj", "llvm::X86GenRegisterInfo::getSubReg(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm18X86GenRegisterInfo14getSubRegIndexEjj", "llvm::X86GenRegisterInfo::getSubRegIndex(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm18X86GenRegisterInfo20composeSubRegIndicesEjj", "llvm::X86GenRegisterInfo::composeSubRegIndices(unsigned int, unsigned int) const"},
-    {"_ZN4llvm18X86GenRegisterInfoC1Eii", "llvm::X86GenRegisterInfo::X86GenRegisterInfo(int, int)"},
-    {"_ZN4llvm39createX86MaxStackAlignmentHeuristicPassEv", "llvm::createX86MaxStackAlignmentHeuristicPass()"},
-    {"_ZN12_GLOBAL__N_14MSAHD1Ev", "(anonymous namespace)::MSAH::~MSAH()"},
-    {"_ZN12_GLOBAL__N_14MSAHD0Ev", "(anonymous namespace)::MSAH::~MSAH()"},
-    {"_ZNK12_GLOBAL__N_14MSAH11getPassNameEv", "(anonymous namespace)::MSAH::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_14MSAH16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::MSAH::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_14MSAH20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MSAH::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm3X868CCRClassD1Ev", "llvm::X86::CCRClass::~CCRClass()"},
-    {"_ZN4llvm3X8616CONTROL_REGClassD1Ev", "llvm::X86::CONTROL_REGClass::~CONTROL_REGClass()"},
-    {"_ZN4llvm3X8614DEBUG_REGClassD1Ev", "llvm::X86::DEBUG_REGClass::~DEBUG_REGClass()"},
-    {"_ZN4llvm3X869FR32ClassD1Ev", "llvm::X86::FR32Class::~FR32Class()"},
-    {"_ZN4llvm3X869FR64ClassD1Ev", "llvm::X86::FR64Class::~FR64Class()"},
-    {"_ZN4llvm3X869GR16ClassD1Ev", "llvm::X86::GR16Class::~GR16Class()"},
-    {"_ZN4llvm3X8614GR16_ABCDClassD1Ev", "llvm::X86::GR16_ABCDClass::~GR16_ABCDClass()"},
-    {"_ZN4llvm3X8615GR16_NOREXClassD1Ev", "llvm::X86::GR16_NOREXClass::~GR16_NOREXClass()"},
-    {"_ZN4llvm3X869GR32ClassD1Ev", "llvm::X86::GR32Class::~GR32Class()"},
-    {"_ZN4llvm3X8614GR32_ABCDClassD1Ev", "llvm::X86::GR32_ABCDClass::~GR32_ABCDClass()"},
-    {"_ZN4llvm3X8612GR32_ADClassD1Ev", "llvm::X86::GR32_ADClass::~GR32_ADClass()"},
-    {"_ZN4llvm3X8615GR32_NOREXClassD1Ev", "llvm::X86::GR32_NOREXClass::~GR32_NOREXClass()"},
-    {"_ZN4llvm3X8614GR32_NOSPClassD1Ev", "llvm::X86::GR32_NOSPClass::~GR32_NOSPClass()"},
-    {"_ZN4llvm3X8612GR32_TCClassD1Ev", "llvm::X86::GR32_TCClass::~GR32_TCClass()"},
-    {"_ZN4llvm3X869GR64ClassD1Ev", "llvm::X86::GR64Class::~GR64Class()"},
-    {"_ZN4llvm3X8614GR64_ABCDClassD1Ev", "llvm::X86::GR64_ABCDClass::~GR64_ABCDClass()"},
-    {"_ZN4llvm3X8615GR64_NOREXClassD1Ev", "llvm::X86::GR64_NOREXClass::~GR64_NOREXClass()"},
-    {"_ZN4llvm3X8620GR64_NOREX_NOSPClassD1Ev", "llvm::X86::GR64_NOREX_NOSPClass::~GR64_NOREX_NOSPClass()"},
-    {"_ZN4llvm3X8614GR64_NOSPClassD1Ev", "llvm::X86::GR64_NOSPClass::~GR64_NOSPClass()"},
-    {"_ZN4llvm3X8612GR64_TCClassD1Ev", "llvm::X86::GR64_TCClass::~GR64_TCClass()"},
-    {"_ZN4llvm3X8615GR64_TCW64ClassD1Ev", "llvm::X86::GR64_TCW64Class::~GR64_TCW64Class()"},
-    {"_ZN4llvm3X868GR8ClassD1Ev", "llvm::X86::GR8Class::~GR8Class()"},
-    {"_ZN4llvm3X8615GR8_ABCD_HClassD1Ev", "llvm::X86::GR8_ABCD_HClass::~GR8_ABCD_HClass()"},
-    {"_ZN4llvm3X8615GR8_ABCD_LClassD1Ev", "llvm::X86::GR8_ABCD_LClass::~GR8_ABCD_LClass()"},
-    {"_ZN4llvm3X8614GR8_NOREXClassD1Ev", "llvm::X86::GR8_NOREXClass::~GR8_NOREXClass()"},
-    {"_ZN4llvm3X8610RFP32ClassD1Ev", "llvm::X86::RFP32Class::~RFP32Class()"},
-    {"_ZN4llvm3X8610RFP64ClassD1Ev", "llvm::X86::RFP64Class::~RFP64Class()"},
-    {"_ZN4llvm3X8610RFP80ClassD1Ev", "llvm::X86::RFP80Class::~RFP80Class()"},
-    {"_ZN4llvm3X868RSTClassD1Ev", "llvm::X86::RSTClass::~RSTClass()"},
-    {"_ZN4llvm3X8616SEGMENT_REGClassD1Ev", "llvm::X86::SEGMENT_REGClass::~SEGMENT_REGClass()"},
-    {"_ZN4llvm3X8610VR128ClassD1Ev", "llvm::X86::VR128Class::~VR128Class()"},
-    {"_ZN4llvm3X8610VR256ClassD1Ev", "llvm::X86::VR256Class::~VR256Class()"},
-    {"_ZN4llvm3X869VR64ClassD1Ev", "llvm::X86::VR64Class::~VR64Class()"},
-    {"_ZN4llvm3X868CCRClassD0Ev", "llvm::X86::CCRClass::~CCRClass()"},
-    {"_ZN4llvm3X869FR32ClassD0Ev", "llvm::X86::FR32Class::~FR32Class()"},
-    {"_ZN4llvm3X869FR64ClassD0Ev", "llvm::X86::FR64Class::~FR64Class()"},
-    {"_ZN4llvm3X869GR16ClassD0Ev", "llvm::X86::GR16Class::~GR16Class()"},
-    {"_ZN4llvm3X8615GR16_NOREXClassD0Ev", "llvm::X86::GR16_NOREXClass::~GR16_NOREXClass()"},
-    {"_ZN4llvm3X869GR32ClassD0Ev", "llvm::X86::GR32Class::~GR32Class()"},
-    {"_ZN4llvm3X8615GR32_NOREXClassD0Ev", "llvm::X86::GR32_NOREXClass::~GR32_NOREXClass()"},
-    {"_ZN4llvm3X8614GR32_NOSPClassD0Ev", "llvm::X86::GR32_NOSPClass::~GR32_NOSPClass()"},
-    {"_ZN4llvm3X869GR64ClassD0Ev", "llvm::X86::GR64Class::~GR64Class()"},
-    {"_ZN4llvm3X8615GR64_NOREXClassD0Ev", "llvm::X86::GR64_NOREXClass::~GR64_NOREXClass()"},
-    {"_ZN4llvm3X8620GR64_NOREX_NOSPClassD0Ev", "llvm::X86::GR64_NOREX_NOSPClass::~GR64_NOREX_NOSPClass()"},
-    {"_ZN4llvm3X8614GR64_NOSPClassD0Ev", "llvm::X86::GR64_NOSPClass::~GR64_NOSPClass()"},
-    {"_ZN4llvm3X868GR8ClassD0Ev", "llvm::X86::GR8Class::~GR8Class()"},
-    {"_ZN4llvm3X8614GR8_NOREXClassD0Ev", "llvm::X86::GR8_NOREXClass::~GR8_NOREXClass()"},
-    {"_ZN4llvm3X868RSTClassD0Ev", "llvm::X86::RSTClass::~RSTClass()"},
-    {"_ZN4llvm3X8610VR128ClassD0Ev", "llvm::X86::VR128Class::~VR128Class()"},
-    {"_ZN4llvm3X8610VR256ClassD0Ev", "llvm::X86::VR256Class::~VR256Class()"},
-    {"_ZN4llvm3X869VR64ClassD0Ev", "llvm::X86::VR64Class::~VR64Class()"},
-    {"_ZN4llvm3X8616SEGMENT_REGClassD0Ev", "llvm::X86::SEGMENT_REGClass::~SEGMENT_REGClass()"},
-    {"_ZN4llvm3X8610RFP80ClassD0Ev", "llvm::X86::RFP80Class::~RFP80Class()"},
-    {"_ZN4llvm3X8610RFP64ClassD0Ev", "llvm::X86::RFP64Class::~RFP64Class()"},
-    {"_ZN4llvm3X8610RFP32ClassD0Ev", "llvm::X86::RFP32Class::~RFP32Class()"},
-    {"_ZN4llvm3X8615GR8_ABCD_LClassD0Ev", "llvm::X86::GR8_ABCD_LClass::~GR8_ABCD_LClass()"},
-    {"_ZN4llvm3X8615GR8_ABCD_HClassD0Ev", "llvm::X86::GR8_ABCD_HClass::~GR8_ABCD_HClass()"},
-    {"_ZN4llvm3X8615GR64_TCW64ClassD0Ev", "llvm::X86::GR64_TCW64Class::~GR64_TCW64Class()"},
-    {"_ZN4llvm3X8612GR64_TCClassD0Ev", "llvm::X86::GR64_TCClass::~GR64_TCClass()"},
-    {"_ZN4llvm3X8614GR64_ABCDClassD0Ev", "llvm::X86::GR64_ABCDClass::~GR64_ABCDClass()"},
-    {"_ZN4llvm3X8612GR32_TCClassD0Ev", "llvm::X86::GR32_TCClass::~GR32_TCClass()"},
-    {"_ZN4llvm3X8612GR32_ADClassD0Ev", "llvm::X86::GR32_ADClass::~GR32_ADClass()"},
-    {"_ZN4llvm3X8614GR32_ABCDClassD0Ev", "llvm::X86::GR32_ABCDClass::~GR32_ABCDClass()"},
-    {"_ZN4llvm3X8614GR16_ABCDClassD0Ev", "llvm::X86::GR16_ABCDClass::~GR16_ABCDClass()"},
-    {"_ZN4llvm3X8614DEBUG_REGClassD0Ev", "llvm::X86::DEBUG_REGClass::~DEBUG_REGClass()"},
-    {"_ZN4llvm3X8616CONTROL_REGClassD0Ev", "llvm::X86::CONTROL_REGClass::~CONTROL_REGClass()"},
-    {"_ZN4llvm19X86SelectionDAGInfoC1ERKNS_16X86TargetMachineE", "llvm::X86SelectionDAGInfo::X86SelectionDAGInfo(llvm::X86TargetMachine const&)"},
-    {"_ZN4llvm19X86SelectionDAGInfoC2ERKNS_16X86TargetMachineE", "llvm::X86SelectionDAGInfo::X86SelectionDAGInfo(llvm::X86TargetMachine const&)"},
-    {"_ZN4llvm19X86SelectionDAGInfoD0Ev", "llvm::X86SelectionDAGInfo::~X86SelectionDAGInfo()"},
-    {"_ZN4llvm19X86SelectionDAGInfoD1Ev", "llvm::X86SelectionDAGInfo::~X86SelectionDAGInfo()"},
-    {"_ZN4llvm19X86SelectionDAGInfoD2Ev", "llvm::X86SelectionDAGInfo::~X86SelectionDAGInfo()"},
-    {"_ZNK4llvm19X86SelectionDAGInfo23EmitTargetCodeForMemsetERNS_12SelectionDAGENS_8DebugLocENS_7SDValueES4_S4_S4_jbNS_18MachinePointerInfoE", "llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, llvm::MachinePointerInfo) const"},
-    {"_ZNK4llvm19X86SelectionDAGInfo23EmitTargetCodeForMemcpyERNS_12SelectionDAGENS_8DebugLocENS_7SDValueES4_S4_S4_jbbNS_18MachinePointerInfoES5_", "llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo) const"},
-    {"_ZNK4llvm3EVT6bitsGTES0_", "llvm::EVT::bitsGT(llvm::EVT) const"},
-    {"_ZN4llvm12X86Subtarget22ParseSubtargetFeaturesERKSsS2_", "llvm::X86Subtarget::ParseSubtargetFeatures(std::string const&, std::string const&)"},
-    {"_ZNK4llvm12X86Subtarget29ClassifyBlockAddressReferenceEv", "llvm::X86Subtarget::ClassifyBlockAddressReference() const"},
-    {"_ZNK4llvm12X86Subtarget23ClassifyGlobalReferenceEPKNS_11GlobalValueERKNS_13TargetMachineE", "llvm::X86Subtarget::ClassifyGlobalReference(llvm::GlobalValue const*, llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm12X86Subtarget13getBZeroEntryEv", "llvm::X86Subtarget::getBZeroEntry() const"},
-    {"_ZNK4llvm12X86Subtarget26IsLegalToCallImmediateAddrERKNS_13TargetMachineE", "llvm::X86Subtarget::IsLegalToCallImmediateAddr(llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm12X86Subtarget24getSpecialAddressLatencyEv", "llvm::X86Subtarget::getSpecialAddressLatency() const"},
-    {"_ZN4llvm12X86Subtarget27AutoDetectSubtargetFeaturesEv", "llvm::X86Subtarget::AutoDetectSubtargetFeatures()"},
-    {"_ZN4llvm12X86SubtargetC1ERKSsS2_b", "llvm::X86Subtarget::X86Subtarget(std::string const&, std::string const&, bool)"},
-    {"_ZN4llvm12X86SubtargetC2ERKSsS2_b", "llvm::X86Subtarget::X86Subtarget(std::string const&, std::string const&, bool)"},
-    {"_ZNK4llvm12X86Subtarget11IsCalleePopEbNS_11CallingConv2IDE", "llvm::X86Subtarget::IsCalleePop(bool, llvm::CallingConv::ID) const"},
-    {"_Z15createMCAsmInfoRKN4llvm6TargetENS_9StringRefE", "createMCAsmInfo(llvm::Target const&, llvm::StringRef)"},
-    {"_Z16createMCStreamerRKN4llvm6TargetERKSsRNS_9MCContextERNS_16TargetAsmBackendERNS_11raw_ostreamEPNS_13MCCodeEmitterEbb", "createMCStreamer(llvm::Target const&, std::string const&, llvm::MCContext&, llvm::TargetAsmBackend&, llvm::raw_ostream&, llvm::MCCodeEmitter*, bool, bool)"},
-    {"_ZN4llvm19X86_32TargetMachineC1ERKNS_6TargetERKSsS5_", "llvm::X86_32TargetMachine::X86_32TargetMachine(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm19X86_32TargetMachineC2ERKNS_6TargetERKSsS5_", "llvm::X86_32TargetMachine::X86_32TargetMachine(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm16X86TargetMachineC2ERKNS_6TargetERKSsS5_b", "llvm::X86TargetMachine::X86TargetMachine(llvm::Target const&, std::string const&, std::string const&, bool)"},
-    {"_ZN4llvm19X86_64TargetMachineC1ERKNS_6TargetERKSsS5_", "llvm::X86_64TargetMachine::X86_64TargetMachine(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm19X86_64TargetMachineC2ERKNS_6TargetERKSsS5_", "llvm::X86_64TargetMachine::X86_64TargetMachine(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm16X86TargetMachineC1ERKNS_6TargetERKSsS5_b", "llvm::X86TargetMachine::X86TargetMachine(llvm::Target const&, std::string const&, std::string const&, bool)"},
-    {"_ZN4llvm16X86TargetMachine15addInstSelectorERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::X86TargetMachine::addInstSelector(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm16X86TargetMachine14addPreRegAllocERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::X86TargetMachine::addPreRegAlloc(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm16X86TargetMachine15addPostRegAllocERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::X86TargetMachine::addPostRegAlloc(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm16X86TargetMachine14addPreEmitPassERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::X86TargetMachine::addPreEmitPass(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm16X86TargetMachine14addCodeEmitterERNS_15PassManagerBaseENS_10CodeGenOpt5LevelERNS_14JITCodeEmitterE", "llvm::X86TargetMachine::addCodeEmitter(llvm::PassManagerBase&, llvm::CodeGenOpt::Level, llvm::JITCodeEmitter&)"},
-    {"_ZN4llvm16X86TargetMachine21setCodeModelForStaticEv", "llvm::X86TargetMachine::setCodeModelForStatic()"},
-    {"_ZN4llvm16X86TargetMachine18setCodeModelForJITEv", "llvm::X86TargetMachine::setCodeModelForJIT()"},
-    {"_ZNK4llvm12X86Subtarget13isTargetWin64Ev", "llvm::X86Subtarget::isTargetWin64() const"},
-    {"_ZNK4llvm16X86TargetMachine16getSubtargetImplEv", "llvm::X86TargetMachine::getSubtargetImpl() const"},
-    {"_ZN4llvm16X86TargetMachineD1Ev", "llvm::X86TargetMachine::~X86TargetMachine()"},
-    {"_ZN4llvm16X86TargetMachineD0Ev", "llvm::X86TargetMachine::~X86TargetMachine()"},
-    {"_ZNK4llvm16X86TargetMachine12getInstrInfoEv", "llvm::X86TargetMachine::getInstrInfo() const"},
-    {"_ZNK4llvm16X86TargetMachine16getFrameLoweringEv", "llvm::X86TargetMachine::getFrameLowering() const"},
-    {"_ZNK4llvm16X86TargetMachine17getTargetLoweringEv", "llvm::X86TargetMachine::getTargetLowering() const"},
-    {"_ZNK4llvm16X86TargetMachine19getSelectionDAGInfoEv", "llvm::X86TargetMachine::getSelectionDAGInfo() const"},
-    {"_ZNK4llvm16X86TargetMachine15getRegisterInfoEv", "llvm::X86TargetMachine::getRegisterInfo() const"},
-    {"_ZN4llvm16X86TargetMachine10getJITInfoEv", "llvm::X86TargetMachine::getJITInfo()"},
-    {"_ZNK4llvm16X86TargetMachine16getELFWriterInfoEv", "llvm::X86TargetMachine::getELFWriterInfo() const"},
-    {"_ZN4llvm19X86_64TargetMachineD1Ev", "llvm::X86_64TargetMachine::~X86_64TargetMachine()"},
-    {"_ZN4llvm19X86_64TargetMachineD0Ev", "llvm::X86_64TargetMachine::~X86_64TargetMachine()"},
-    {"_ZNK4llvm19X86_64TargetMachine12getInstrInfoEv", "llvm::X86_64TargetMachine::getInstrInfo() const"},
-    {"_ZNK4llvm19X86_64TargetMachine17getTargetLoweringEv", "llvm::X86_64TargetMachine::getTargetLowering() const"},
-    {"_ZNK4llvm19X86_64TargetMachine19getSelectionDAGInfoEv", "llvm::X86_64TargetMachine::getSelectionDAGInfo() const"},
-    {"_ZNK4llvm19X86_64TargetMachine13getDataLayoutEv", "llvm::X86_64TargetMachine::getDataLayout() const"},
-    {"_ZN4llvm19X86_64TargetMachine10getJITInfoEv", "llvm::X86_64TargetMachine::getJITInfo()"},
-    {"_ZN4llvm19X86_32TargetMachineD1Ev", "llvm::X86_32TargetMachine::~X86_32TargetMachine()"},
-    {"_ZN4llvm19X86_32TargetMachineD0Ev", "llvm::X86_32TargetMachine::~X86_32TargetMachine()"},
-    {"_ZNK4llvm19X86_32TargetMachine12getInstrInfoEv", "llvm::X86_32TargetMachine::getInstrInfo() const"},
-    {"_ZNK4llvm19X86_32TargetMachine17getTargetLoweringEv", "llvm::X86_32TargetMachine::getTargetLowering() const"},
-    {"_ZNK4llvm19X86_32TargetMachine19getSelectionDAGInfoEv", "llvm::X86_32TargetMachine::getSelectionDAGInfo() const"},
-    {"_ZNK4llvm19X86_32TargetMachine13getDataLayoutEv", "llvm::X86_32TargetMachine::getDataLayout() const"},
-    {"_ZN4llvm19X86_32TargetMachine10getJITInfoEv", "llvm::X86_32TargetMachine::getJITInfo()"},
-    {"_ZN4llvm19X86_32TargetMachineD2Ev", "llvm::X86_32TargetMachine::~X86_32TargetMachine()"},
-    {"_ZN4llvm10X86JITInfoD1Ev", "llvm::X86JITInfo::~X86JITInfo()"},
-    {"_ZN4llvm17X86TargetLoweringD1Ev", "llvm::X86TargetLowering::~X86TargetLowering()"},
-    {"_ZN4llvm12X86InstrInfoD1Ev", "llvm::X86InstrInfo::~X86InstrInfo()"},
-    {"_ZN4llvm16X86TargetMachineD2Ev", "llvm::X86TargetMachine::~X86TargetMachine()"},
-    {"_ZN4llvm16X86FrameLoweringD1Ev", "llvm::X86FrameLowering::~X86FrameLowering()"},
-    {"_ZN4llvm12X86SubtargetD1Ev", "llvm::X86Subtarget::~X86Subtarget()"},
-    {"_ZN4llvm12X86SubtargetD0Ev", "llvm::X86Subtarget::~X86Subtarget()"},
-    {"_ZN4llvm16X86FrameLoweringD0Ev", "llvm::X86FrameLowering::~X86FrameLowering()"},
-    {"_ZN4llvm15X86RegisterInfoD1Ev", "llvm::X86RegisterInfo::~X86RegisterInfo()"},
-    {"_ZN4llvm12X86InstrInfoD0Ev", "llvm::X86InstrInfo::~X86InstrInfo()"},
-    {"_ZNK4llvm12X86InstrInfo15getRegisterInfoEv", "llvm::X86InstrInfo::getRegisterInfo() const"},
-    {"_ZN4llvm15X86RegisterInfoD0Ev", "llvm::X86RegisterInfo::~X86RegisterInfo()"},
-    {"_ZN4llvm18X86GenRegisterInfoD1Ev", "llvm::X86GenRegisterInfo::~X86GenRegisterInfo()"},
-    {"_ZN4llvm18X86GenRegisterInfoD0Ev", "llvm::X86GenRegisterInfo::~X86GenRegisterInfo()"},
-    {"_ZNK4llvm18X86GenRegisterInfo21needsStackRealignmentERKNS_15MachineFunctionE", "llvm::X86GenRegisterInfo::needsStackRealignment(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm17X86TargetLoweringD0Ev", "llvm::X86TargetLowering::~X86TargetLowering()"},
-    {"_ZNK4llvm14TargetLowering23getSchedulingPreferenceEPNS_6SDNodeE", "llvm::TargetLowering::getSchedulingPreference(llvm::SDNode*) const"},
-    {"_ZNK4llvm14TargetLowering14getRegClassForENS_3EVTE", "llvm::TargetLowering::getRegClassFor(llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering18getTgtMemIntrinsicERNS0_13IntrinsicInfoERKNS_8CallInstEj", "llvm::TargetLowering::getTgtMemIntrinsic(llvm::TargetLowering::IntrinsicInfo&, llvm::CallInst const&, unsigned int) const"},
-    {"_ZNK4llvm17X86TargetLowering22ShouldShrinkFPConstantENS_3EVTE", "llvm::X86TargetLowering::ShouldShrinkFPConstant(llvm::EVT) const"},
-    {"_ZNK4llvm17X86TargetLowering29allowsUnalignedMemoryAccessesENS_3EVTE", "llvm::X86TargetLowering::allowsUnalignedMemoryAccesses(llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering25getPreIndexedAddressPartsEPNS_6SDNodeERNS_7SDValueES4_RNS_3ISD14MemIndexedModeERNS_12SelectionDAGE", "llvm::TargetLowering::getPreIndexedAddressParts(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&, llvm::ISD::MemIndexedMode&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm14TargetLowering26getPostIndexedAddressPartsEPNS_6SDNodeES2_RNS_7SDValueES4_RNS_3ISD14MemIndexedModeERNS_12SelectionDAGE", "llvm::TargetLowering::getPostIndexedAddressParts(llvm::SDNode*, llvm::SDNode*, llvm::SDValue&, llvm::SDValue&, llvm::ISD::MemIndexedMode&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm14TargetLowering22getMaximalGlobalOffsetEv", "llvm::TargetLowering::getMaximalGlobalOffset() const"},
-    {"_ZNK4llvm14TargetLowering33isDesirableToTransformToIntegerOpEjNS_3EVTE", "llvm::TargetLowering::isDesirableToTransformToIntegerOp(unsigned int, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering20isLegalICmpImmediateEx", "llvm::TargetLowering::isLegalICmpImmediate(long long) const"},
-    {"_ZN4llvm10X86JITInfoD0Ev", "llvm::X86JITInfo::~X86JITInfo()"},
-    {"_ZN4llvm19X86_64TargetMachineD2Ev", "llvm::X86_64TargetMachine::~X86_64TargetMachine()"},
-    {"_ZN4llvm21RegisterTargetMachineINS_19X86_64TargetMachineEE9AllocatorERKNS_6TargetERKSsS7_", "llvm::RegisterTargetMachine<llvm::X86_64TargetMachine>::Allocator(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm21RegisterTargetMachineINS_19X86_32TargetMachineEE9AllocatorERKNS_6TargetERKSsS7_", "llvm::RegisterTargetMachine<llvm::X86_32TargetMachine>::Allocator(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZNK4llvm27X8664_MachoTargetObjectFile30getExprForDwarfGlobalReferenceEPKNS_11GlobalValueEPNS_7ManglerEPNS_17MachineModuleInfoEjRNS_10MCStreamerE", "llvm::X8664_MachoTargetObjectFile::getExprForDwarfGlobalReference(llvm::GlobalValue const*, llvm::Mangler*, llvm::MachineModuleInfo*, unsigned int, llvm::MCStreamer&) const"},
-    {"_ZNK4llvm25X8632_ELFTargetObjectFile22getPersonalityEncodingEv", "llvm::X8632_ELFTargetObjectFile::getPersonalityEncoding() const"},
-    {"_ZNK4llvm25X8632_ELFTargetObjectFile15getLSDAEncodingEv", "llvm::X8632_ELFTargetObjectFile::getLSDAEncoding() const"},
-    {"_ZNK4llvm25X8632_ELFTargetObjectFile14getFDEEncodingEv", "llvm::X8632_ELFTargetObjectFile::getFDEEncoding() const"},
-    {"_ZNK4llvm25X8632_ELFTargetObjectFile16getTTypeEncodingEv", "llvm::X8632_ELFTargetObjectFile::getTTypeEncoding() const"},
-    {"_ZNK4llvm25X8664_ELFTargetObjectFile22getPersonalityEncodingEv", "llvm::X8664_ELFTargetObjectFile::getPersonalityEncoding() const"},
-    {"_ZNK4llvm25X8664_ELFTargetObjectFile15getLSDAEncodingEv", "llvm::X8664_ELFTargetObjectFile::getLSDAEncoding() const"},
-    {"_ZNK4llvm25X8664_ELFTargetObjectFile14getFDEEncodingEv", "llvm::X8664_ELFTargetObjectFile::getFDEEncoding() const"},
-    {"_ZNK4llvm25X8664_ELFTargetObjectFile16getTTypeEncodingEv", "llvm::X8664_ELFTargetObjectFile::getTTypeEncoding() const"},
-    {"_ZN4llvm25X8632_ELFTargetObjectFileD1Ev", "llvm::X8632_ELFTargetObjectFile::~X8632_ELFTargetObjectFile()"},
-    {"_ZN4llvm25X8632_ELFTargetObjectFileD0Ev", "llvm::X8632_ELFTargetObjectFile::~X8632_ELFTargetObjectFile()"},
-    {"_ZN4llvm25X8664_ELFTargetObjectFileD1Ev", "llvm::X8664_ELFTargetObjectFile::~X8664_ELFTargetObjectFile()"},
-    {"_ZN4llvm25X8664_ELFTargetObjectFileD0Ev", "llvm::X8664_ELFTargetObjectFile::~X8664_ELFTargetObjectFile()"},
-    {"_ZN4llvm27X8664_MachoTargetObjectFileD1Ev", "llvm::X8664_MachoTargetObjectFile::~X8664_MachoTargetObjectFile()"},
-    {"_ZN4llvm27X8664_MachoTargetObjectFileD0Ev", "llvm::X8664_MachoTargetObjectFile::~X8664_MachoTargetObjectFile()"},
-    {"_ZN4llvm17X86ATTInstPrinter16printInstructionEPKNS_6MCInstERNS_11raw_ostreamE", "llvm::X86ATTInstPrinter::printInstruction(llvm::MCInst const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm17X86ATTInstPrinter12printOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::X86ATTInstPrinter::printOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm17X86ATTInstPrinter15print_pcrel_immEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::X86ATTInstPrinter::print_pcrel_imm(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm17X86ATTInstPrinter10printSSECCEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::X86ATTInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm17X86ATTInstPrinter15getRegisterNameEj", "llvm::X86ATTInstPrinter::getRegisterName(unsigned int)"},
-    {"_ZN4llvm17X86ATTInstPrinter18getInstructionNameEj", "llvm::X86ATTInstPrinter::getInstructionName(unsigned int)"},
-    {"_ZN4llvm17X86ATTInstPrinter9printInstEPKNS_6MCInstERNS_11raw_ostreamE", "llvm::X86ATTInstPrinter::printInst(llvm::MCInst const*, llvm::raw_ostream&)"},
-    {"_ZNK4llvm17X86ATTInstPrinter13getOpcodeNameEj", "llvm::X86ATTInstPrinter::getOpcodeName(unsigned int) const"},
-    {"_ZN4llvm17X86ATTInstPrinter17printMemReferenceEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::X86ATTInstPrinter::printMemReference(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm17X86ATTInstPrinterD1Ev", "llvm::X86ATTInstPrinter::~X86ATTInstPrinter()"},
-    {"_ZN4llvm17X86ATTInstPrinterD0Ev", "llvm::X86ATTInstPrinter::~X86ATTInstPrinter()"},
-    {"_ZN4llvm22EmitAnyX86InstCommentsEPKNS_6MCInstERNS_11raw_ostreamEPFPKcjE", "llvm::EmitAnyX86InstComments(llvm::MCInst const*, llvm::raw_ostream&, char const* (*)(unsigned int))"},
-    {"_Z16DecodeSHUFPSMaskjjRN4llvm15SmallVectorImplIjEE", "DecodeSHUFPSMask(unsigned int, unsigned int, llvm::SmallVectorImpl<unsigned int>&)"},
-    {"_ZN4llvm19X86IntelInstPrinter16printInstructionEPKNS_6MCInstERNS_11raw_ostreamE", "llvm::X86IntelInstPrinter::printInstruction(llvm::MCInst const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm19X86IntelInstPrinter12printOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::X86IntelInstPrinter::printOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm19X86IntelInstPrinter15print_pcrel_immEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::X86IntelInstPrinter::print_pcrel_imm(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm19X86IntelInstPrinter10printSSECCEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::X86IntelInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm19X86IntelInstPrinter15getRegisterNameEj", "llvm::X86IntelInstPrinter::getRegisterName(unsigned int)"},
-    {"_ZN4llvm19X86IntelInstPrinter18getInstructionNameEj", "llvm::X86IntelInstPrinter::getInstructionName(unsigned int)"},
-    {"_ZN4llvm19X86IntelInstPrinter9printInstEPKNS_6MCInstERNS_11raw_ostreamE", "llvm::X86IntelInstPrinter::printInst(llvm::MCInst const*, llvm::raw_ostream&)"},
-    {"_ZNK4llvm19X86IntelInstPrinter13getOpcodeNameEj", "llvm::X86IntelInstPrinter::getOpcodeName(unsigned int) const"},
-    {"_ZN4llvm19X86IntelInstPrinter17printMemReferenceEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::X86IntelInstPrinter::printMemReference(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm19X86IntelInstPrinterD1Ev", "llvm::X86IntelInstPrinter::~X86IntelInstPrinter()"},
-    {"_ZN4llvm19X86IntelInstPrinterD0Ev", "llvm::X86IntelInstPrinter::~X86IntelInstPrinter()"},
-    {"_ZN4llvm14RegisterTargetILNS_6Triple8ArchTypeE16ELb1EE21getTripleMatchQualityERKSs", "llvm::RegisterTarget<(llvm::Triple::ArchType)16, true>::getTripleMatchQuality(std::string const&)"},
-    {"_ZN4llvm14RegisterTargetILNS_6Triple8ArchTypeE15ELb1EE21getTripleMatchQualityERKSs", "llvm::RegisterTarget<(llvm::Triple::ArchType)15, true>::getTripleMatchQuality(std::string const&)"},
-    {"_ZN4llvm16RegisterAsmLexerIN12_GLOBAL__N_113ThumbAsmLexerEE9AllocatorERKNS_6TargetERKNS_9MCAsmInfoE", "llvm::RegisterAsmLexer<(anonymous namespace)::ThumbAsmLexer>::Allocator(llvm::Target const&, llvm::MCAsmInfo const&)"},
-    {"_ZN12_GLOBAL__N_115ARMBaseAsmLexer15InitRegisterMapEPKN4llvm18TargetRegisterInfoE", "(anonymous namespace)::ARMBaseAsmLexer::InitRegisterMap(llvm::TargetRegisterInfo const*)"},
-    {"_ZN12_GLOBAL__N_115ARMBaseAsmLexer8LexTokenEv", "(anonymous namespace)::ARMBaseAsmLexer::LexToken()"},
-    {"_ZN12_GLOBAL__N_113ThumbAsmLexerD1Ev", "(anonymous namespace)::ThumbAsmLexer::~ThumbAsmLexer()"},
-    {"_ZN12_GLOBAL__N_113ThumbAsmLexerD0Ev", "(anonymous namespace)::ThumbAsmLexer::~ThumbAsmLexer()"},
-    {"_ZN12_GLOBAL__N_115ARMBaseAsmLexerD1Ev", "(anonymous namespace)::ARMBaseAsmLexer::~ARMBaseAsmLexer()"},
-    {"_ZN12_GLOBAL__N_115ARMBaseAsmLexerD0Ev", "(anonymous namespace)::ARMBaseAsmLexer::~ARMBaseAsmLexer()"},
-    {"_ZN4llvm16RegisterAsmLexerIN12_GLOBAL__N_111ARMAsmLexerEE9AllocatorERKNS_6TargetERKNS_9MCAsmInfoE", "llvm::RegisterAsmLexer<(anonymous namespace)::ARMAsmLexer>::Allocator(llvm::Target const&, llvm::MCAsmInfo const&)"},
-    {"_ZN12_GLOBAL__N_111ARMAsmLexerD1Ev", "(anonymous namespace)::ARMAsmLexer::~ARMAsmLexer()"},
-    {"_ZN12_GLOBAL__N_111ARMAsmLexerD0Ev", "(anonymous namespace)::ARMAsmLexer::~ARMAsmLexer()"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsjESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<std::string, std::pair<std::string const, unsigned int>, std::_Select1st<std::pair<std::string const, unsigned int> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, unsigned int> >*)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsjESt10_Select1stIS2_ESt4lessISsESaIS2_EE4findERS1_", "std::_Rb_tree<std::string, std::pair<std::string const, unsigned int>, std::_Select1st<std::pair<std::string const, unsigned int> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned int> > >::find(std::string const&)"},
-    {"_ZNSt3mapISsjSt4lessISsESaISt4pairIKSsjEEEixERS3_", "std::map<std::string, unsigned int, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned int> > >::operator[](std::string const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsjESt10_Select1stIS2_ESt4lessISsESaIS2_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS2_ERKS2_", "std::_Rb_tree<std::string, std::pair<std::string const, unsigned int>, std::_Select1st<std::pair<std::string const, unsigned int> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, unsigned int> >, std::pair<std::string const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsjESt10_Select1stIS2_ESt4lessISsESaIS2_EE9_M_insertEPSt18_Rb_tree_node_baseSA_RKS2_", "std::_Rb_tree<std::string, std::pair<std::string const, unsigned int>, std::_Select1st<std::pair<std::string const, unsigned int> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned int> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsjESt10_Select1stIS2_ESt4lessISsESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<std::string, std::pair<std::string const, unsigned int>, std::_Select1st<std::pair<std::string const, unsigned int> >, std::less<std::string>, std::allocator<std::pair<std::string const, unsigned int> > >::_M_insert_unique(std::pair<std::string const, unsigned int> const&)"},
-    {"_ZN4llvm17RegisterAsmParserIN12_GLOBAL__N_112ARMAsmParserEE9AllocatorERKNS_6TargetERNS_11MCAsmParserERNS_13TargetMachineE", "llvm::RegisterAsmParser<(anonymous namespace)::ARMAsmParser>::Allocator(llvm::Target const&, llvm::MCAsmParser&, llvm::TargetMachine&)"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParserD1Ev", "(anonymous namespace)::ARMAsmParser::~ARMAsmParser()"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParserD0Ev", "(anonymous namespace)::ARMAsmParser::~ARMAsmParser()"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser13ParseRegisterERjRN4llvm5SMLocES4_", "(anonymous namespace)::ARMAsmParser::ParseRegister(unsigned int&, llvm::SMLoc&, llvm::SMLoc&)"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser16ParseInstructionEN4llvm9StringRefENS1_5SMLocERNS1_15SmallVectorImplIPNS1_18MCParsedAsmOperandEEE", "(anonymous namespace)::ARMAsmParser::ParseInstruction(llvm::StringRef, llvm::SMLoc, llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*>&)"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser14ParseDirectiveEN4llvm8AsmTokenE", "(anonymous namespace)::ARMAsmParser::ParseDirective(llvm::AsmToken)"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser23MatchAndEmitInstructionEN4llvm5SMLocERNS1_15SmallVectorImplIPNS1_18MCParsedAsmOperandEEERNS1_10MCStreamerE", "(anonymous namespace)::ARMAsmParser::MatchAndEmitInstruction(llvm::SMLoc, llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*>&, llvm::MCStreamer&)"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser20MatchInstructionImplERKN4llvm15SmallVectorImplIPNS1_18MCParsedAsmOperandEEERNS1_6MCInstERj", "(anonymous namespace)::ARMAsmParser::MatchInstructionImpl(llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*> const&, llvm::MCInst&, unsigned int&)"},
-    {"_ZN12_GLOBAL__N_110ARMOperandD1Ev", "(anonymous namespace)::ARMOperand::~ARMOperand()"},
-    {"_ZN12_GLOBAL__N_110ARMOperandD0Ev", "(anonymous namespace)::ARMOperand::~ARMOperand()"},
-    {"_ZNK12_GLOBAL__N_110ARMOperand11getStartLocEv", "(anonymous namespace)::ARMOperand::getStartLoc() const"},
-    {"_ZNK12_GLOBAL__N_110ARMOperand9getEndLocEv", "(anonymous namespace)::ARMOperand::getEndLoc() const"},
-    {"_ZNK12_GLOBAL__N_110ARMOperand4dumpERN4llvm11raw_ostreamE", "(anonymous namespace)::ARMOperand::dump(llvm::raw_ostream&) const"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser15ConvertToMCInstEjRN4llvm6MCInstEjRKNS1_15SmallVectorImplIPNS1_18MCParsedAsmOperandEEE", "(anonymous namespace)::ARMAsmParser::ConvertToMCInst(unsigned int, llvm::MCInst&, unsigned int, llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*> const&)"},
-    {"_ZNK12_GLOBAL__N_110ARMOperand19addCondCodeOperandsERN4llvm6MCInstEj", "(anonymous namespace)::ARMOperand::addCondCodeOperands(llvm::MCInst&, unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_110ARMOperand14addImmOperandsERN4llvm6MCInstEj", "(anonymous namespace)::ARMOperand::addImmOperands(llvm::MCInst&, unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_110ARMOperand19addMemMode5OperandsERN4llvm6MCInstEj", "(anonymous namespace)::ARMOperand::addMemMode5Operands(llvm::MCInst&, unsigned int) const"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser12ParseOperandERN4llvm15SmallVectorImplIPNS1_18MCParsedAsmOperandEEENS1_9StringRefE", "(anonymous namespace)::ARMAsmParser::ParseOperand(llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*>&, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser16TryParseRegisterEv", "(anonymous namespace)::ARMAsmParser::TryParseRegister()"},
-    {"_ZN4llvm25array_pod_sort_comparatorIjEEiPKvS2_", "int llvm::array_pod_sort_comparator<unsigned int>(void const*, void const*)"},
-    {"_ZN12_GLOBAL__N_112ARMAsmParser20ParseMemoryOffsetRegERbS1_R9ShiftTypeRPKN4llvm6MCExprES8_S1_RiRNS4_5SMLocE", "(anonymous namespace)::ARMAsmParser::ParseMemoryOffsetReg(bool&, bool&, ShiftType&, llvm::MCExpr const*&, llvm::MCExpr const*&, bool&, int&, llvm::SMLoc&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_18MCParsedAsmOperandEE6insertEPS2_RKS2_", "llvm::SmallVectorImpl<llvm::MCParsedAsmOperand*>::insert(llvm::MCParsedAsmOperand**, llvm::MCParsedAsmOperand* const&)"},
-    {"_ZN4llvm18MCParsedAsmOperandD1Ev", "llvm::MCParsedAsmOperand::~MCParsedAsmOperand()"},
-    {"_ZN4llvm18MCParsedAsmOperandD0Ev", "llvm::MCParsedAsmOperand::~MCParsedAsmOperand()"},
-    {"_ZN4llvm8DenseMapIjbNS_12DenseMapInfoIjEENS1_IbEEE16InsertIntoBucketERKjRKbPSt4pairIjbE", "llvm::DenseMap<unsigned int, bool, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<bool> >::InsertIntoBucket(unsigned int const&, bool const&, std::pair<unsigned int, bool>*)"},
-    {"_ZN4llvm8DenseMapIjbNS_12DenseMapInfoIjEENS1_IbEEE4growEj", "llvm::DenseMap<unsigned int, bool, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<bool> >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIjNS_5SMLocEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<unsigned int, llvm::SMLoc>, false>::grow(unsigned long)"},
-    {"_ZN4llvm19createARMAsmBackendERKNS_6TargetERKSs", "llvm::createARMAsmBackend(llvm::Target const&, std::string const&)"},
-    {"_ZN12_GLOBAL__N_116ELFARMAsmBackendD1Ev", "(anonymous namespace)::ELFARMAsmBackend::~ELFARMAsmBackend()"},
-    {"_ZN12_GLOBAL__N_116ELFARMAsmBackendD0Ev", "(anonymous namespace)::ELFARMAsmBackend::~ELFARMAsmBackend()"},
-    {"_ZNK12_GLOBAL__N_116ELFARMAsmBackend18createObjectWriterERN4llvm11raw_ostreamE", "(anonymous namespace)::ELFARMAsmBackend::createObjectWriter(llvm::raw_ostream&) const"},
-    {"_ZNK12_GLOBAL__N_113ARMAsmBackend16getNumFixupKindsEv", "(anonymous namespace)::ARMAsmBackend::getNumFixupKinds() const"},
-    {"_ZNK12_GLOBAL__N_113ARMAsmBackend16getFixupKindInfoEN4llvm11MCFixupKindE", "(anonymous namespace)::ARMAsmBackend::getFixupKindInfo(llvm::MCFixupKind) const"},
-    {"_ZNK12_GLOBAL__N_116ELFARMAsmBackend10ApplyFixupERKN4llvm7MCFixupEPcjy", "(anonymous namespace)::ELFARMAsmBackend::ApplyFixup(llvm::MCFixup const&, char*, unsigned int, unsigned long long) const"},
-    {"_ZNK12_GLOBAL__N_113ARMAsmBackend17MayNeedRelaxationERKN4llvm6MCInstE", "(anonymous namespace)::ARMAsmBackend::MayNeedRelaxation(llvm::MCInst const&) const"},
-    {"_ZNK12_GLOBAL__N_113ARMAsmBackend16RelaxInstructionERKN4llvm6MCInstERS2_", "(anonymous namespace)::ARMAsmBackend::RelaxInstruction(llvm::MCInst const&, llvm::MCInst&) const"},
-    {"_ZNK12_GLOBAL__N_113ARMAsmBackend12WriteNopDataEyPN4llvm14MCObjectWriterE", "(anonymous namespace)::ARMAsmBackend::WriteNopData(unsigned long long, llvm::MCObjectWriter*) const"},
-    {"_ZN12_GLOBAL__N_113ARMAsmBackend19HandleAssemblerFlagEN4llvm15MCAssemblerFlagE", "(anonymous namespace)::ARMAsmBackend::HandleAssemblerFlag(llvm::MCAssemblerFlag)"},
-    {"_Z16adjustFixupValuejy", "adjustFixupValue(unsigned int, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_118ARMELFObjectWriterD1Ev", "(anonymous namespace)::ARMELFObjectWriter::~ARMELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_118ARMELFObjectWriterD0Ev", "(anonymous namespace)::ARMELFObjectWriter::~ARMELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_113ARMAsmBackendD1Ev", "(anonymous namespace)::ARMAsmBackend::~ARMAsmBackend()"},
-    {"_ZN12_GLOBAL__N_113ARMAsmBackendD0Ev", "(anonymous namespace)::ARMAsmBackend::~ARMAsmBackend()"},
-    {"_ZN12_GLOBAL__N_119DarwinARMAsmBackendD1Ev", "(anonymous namespace)::DarwinARMAsmBackend::~DarwinARMAsmBackend()"},
-    {"_ZN12_GLOBAL__N_119DarwinARMAsmBackendD0Ev", "(anonymous namespace)::DarwinARMAsmBackend::~DarwinARMAsmBackend()"},
-    {"_ZNK12_GLOBAL__N_119DarwinARMAsmBackend18createObjectWriterERN4llvm11raw_ostreamE", "(anonymous namespace)::DarwinARMAsmBackend::createObjectWriter(llvm::raw_ostream&) const"},
-    {"_ZNK12_GLOBAL__N_119DarwinARMAsmBackend25doesSectionRequireSymbolsERKN4llvm9MCSectionE", "(anonymous namespace)::DarwinARMAsmBackend::doesSectionRequireSymbols(llvm::MCSection const&) const"},
-    {"_ZNK12_GLOBAL__N_119DarwinARMAsmBackend10ApplyFixupERKN4llvm7MCFixupEPcjy", "(anonymous namespace)::DarwinARMAsmBackend::ApplyFixup(llvm::MCFixup const&, char*, unsigned int, unsigned long long) const"},
-    {"_ZN12_GLOBAL__N_119ARMMachObjectWriterD1Ev", "(anonymous namespace)::ARMMachObjectWriter::~ARMMachObjectWriter()"},
-    {"_ZN12_GLOBAL__N_119ARMMachObjectWriterD0Ev", "(anonymous namespace)::ARMMachObjectWriter::~ARMMachObjectWriter()"},
-    {"_ZN4llvm14MCObjectWriter7Write16Et", "llvm::MCObjectWriter::Write16(unsigned short)"},
-    {"_ZN4llvm14MCObjectWriter9WriteLE32Ej", "llvm::MCObjectWriter::WriteLE32(unsigned int)"},
-    {"_ZN4llvm14MCObjectWriter9WriteBE32Ej", "llvm::MCObjectWriter::WriteBE32(unsigned int)"},
-    {"_ZNK4llvm13ARMAsmPrinter21getDebugValueLocationEPKNS_12MachineInstrE", "llvm::ARMAsmPrinter::getDebugValueLocation(llvm::MachineInstr const*) const"},
-    {"_ZN4llvm13ARMAsmPrinter22EmitFunctionEntryLabelEv", "llvm::ARMAsmPrinter::EmitFunctionEntryLabel()"},
-    {"_ZN4llvm13ARMAsmPrinter20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::ARMAsmPrinter::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm13ARMAsmPrinter12printOperandEPKNS_12MachineInstrEiRNS_11raw_ostreamEPKc", "llvm::ARMAsmPrinter::printOperand(llvm::MachineInstr const*, int, llvm::raw_ostream&, char const*)"},
-    {"_ZNK4llvm13ARMAsmPrinter27GetARMSetPICJumpTableLabel2EjjPKNS_17MachineBasicBlockE", "llvm::ARMAsmPrinter::GetARMSetPICJumpTableLabel2(unsigned int, unsigned int, llvm::MachineBasicBlock const*) const"},
-    {"_ZNK4llvm13ARMAsmPrinter27GetARMJTIPICJumpTableLabel2Ejj", "llvm::ARMAsmPrinter::GetARMJTIPICJumpTableLabel2(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm13ARMAsmPrinter17GetARMSJLJEHLabelEv", "llvm::ARMAsmPrinter::GetARMSJLJEHLabel() const"},
-    {"_ZN4llvm13ARMAsmPrinter15PrintAsmOperandEPKNS_12MachineInstrEjjPKcRNS_11raw_ostreamE", "llvm::ARMAsmPrinter::PrintAsmOperand(llvm::MachineInstr const*, unsigned int, unsigned int, char const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm13ARMAsmPrinter21PrintAsmMemoryOperandEPKNS_12MachineInstrEjjPKcRNS_11raw_ostreamE", "llvm::ARMAsmPrinter::PrintAsmMemoryOperand(llvm::MachineInstr const*, unsigned int, unsigned int, char const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm13ARMAsmPrinter18EmitStartOfAsmFileERNS_6ModuleE", "llvm::ARMAsmPrinter::EmitStartOfAsmFile(llvm::Module&)"},
-    {"_ZN4llvm13ARMAsmPrinter14emitAttributesEv", "llvm::ARMAsmPrinter::emitAttributes()"},
-    {"_ZN4llvm13ARMAsmPrinter16EmitEndOfAsmFileERNS_6ModuleE", "llvm::ARMAsmPrinter::EmitEndOfAsmFile(llvm::Module&)"},
-    {"_ZN4llvm13ARMAsmPrinter23emitARMAttributeSectionEv", "llvm::ARMAsmPrinter::emitARMAttributeSection()"},
-    {"_ZN4llvm13ARMAsmPrinter14GetARMGVSymbolEPKNS_11GlobalValueE", "llvm::ARMAsmPrinter::GetARMGVSymbol(llvm::GlobalValue const*)"},
-    {"_ZN4llvm13ARMAsmPrinter28EmitMachineConstantPoolValueEPNS_24MachineConstantPoolValueE", "llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(llvm::MachineConstantPoolValue*)"},
-    {"_Z11getPICLabelPKcjjRN4llvm9MCContextE", "getPICLabel(char const*, unsigned int, unsigned int, llvm::MCContext&)"},
-    {"_ZN4llvm13ARMAsmPrinter13EmitJumpTableEPKNS_12MachineInstrE", "llvm::ARMAsmPrinter::EmitJumpTable(llvm::MachineInstr const*)"},
-    {"_ZN4llvm13ARMAsmPrinter14EmitJump2TableEPKNS_12MachineInstrE", "llvm::ARMAsmPrinter::EmitJump2Table(llvm::MachineInstr const*)"},
-    {"_ZN4llvm13ARMAsmPrinter22PrintDebugValueCommentEPKNS_12MachineInstrERNS_11raw_ostreamE", "llvm::ARMAsmPrinter::PrintDebugValueComment(llvm::MachineInstr const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm13ARMAsmPrinter22EmitPatchedInstructionEPKNS_12MachineInstrEj", "llvm::ARMAsmPrinter::EmitPatchedInstruction(llvm::MachineInstr const*, unsigned int)"},
-    {"_ZN4llvm13ARMAsmPrinter15EmitInstructionEPKNS_12MachineInstrE", "llvm::ARMAsmPrinter::EmitInstruction(llvm::MachineInstr const*)"},
-    {"_Z19populateADROperandsRN4llvm6MCInstEjPKNS_8MCSymbolEjjRNS_9MCContextE", "populateADROperands(llvm::MCInst&, unsigned int, llvm::MCSymbol const*, unsigned int, unsigned int, llvm::MCContext&)"},
-    {"_Z22createARMMCInstPrinterRKN4llvm6TargetEjRKNS_9MCAsmInfoE", "createARMMCInstPrinter(llvm::Target const&, unsigned int, llvm::MCAsmInfo const&)"},
-    {"_ZN12_GLOBAL__N_122ObjectAttributeEmitter17MaybeSwitchVendorEN4llvm9StringRefE", "(anonymous namespace)::ObjectAttributeEmitter::MaybeSwitchVendor(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_122ObjectAttributeEmitter13EmitAttributeEjj", "(anonymous namespace)::ObjectAttributeEmitter::EmitAttribute(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_122ObjectAttributeEmitter17EmitTextAttributeEjN4llvm9StringRefE", "(anonymous namespace)::ObjectAttributeEmitter::EmitTextAttribute(unsigned int, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_122ObjectAttributeEmitter6FinishEv", "(anonymous namespace)::ObjectAttributeEmitter::Finish()"},
-    {"_ZN12_GLOBAL__N_122ObjectAttributeEmitterD1Ev", "(anonymous namespace)::ObjectAttributeEmitter::~ObjectAttributeEmitter()"},
-    {"_ZN12_GLOBAL__N_122ObjectAttributeEmitterD0Ev", "(anonymous namespace)::ObjectAttributeEmitter::~ObjectAttributeEmitter()"},
-    {"_ZN12_GLOBAL__N_116AttributeEmitterD1Ev", "(anonymous namespace)::AttributeEmitter::~AttributeEmitter()"},
-    {"_ZN12_GLOBAL__N_116AttributeEmitterD0Ev", "(anonymous namespace)::AttributeEmitter::~AttributeEmitter()"},
-    {"_ZN12_GLOBAL__N_119AsmAttributeEmitter17MaybeSwitchVendorEN4llvm9StringRefE", "(anonymous namespace)::AsmAttributeEmitter::MaybeSwitchVendor(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_119AsmAttributeEmitter13EmitAttributeEjj", "(anonymous namespace)::AsmAttributeEmitter::EmitAttribute(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_119AsmAttributeEmitter17EmitTextAttributeEjN4llvm9StringRefE", "(anonymous namespace)::AsmAttributeEmitter::EmitTextAttribute(unsigned int, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_119AsmAttributeEmitter6FinishEv", "(anonymous namespace)::AsmAttributeEmitter::Finish()"},
-    {"_ZN12_GLOBAL__N_119AsmAttributeEmitterD1Ev", "(anonymous namespace)::AsmAttributeEmitter::~AsmAttributeEmitter()"},
-    {"_ZN12_GLOBAL__N_119AsmAttributeEmitterD0Ev", "(anonymous namespace)::AsmAttributeEmitter::~AsmAttributeEmitter()"},
-    {"_ZNSt6vectorISt4pairIPN4llvm8MCSymbolENS1_14PointerIntPairIS3_Lj1EbNS1_21PointerLikeTypeTraitsIS3_EEEEESaIS8_EEaSERKSA_", "std::vector<std::pair<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > >, std::allocator<std::pair<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > > > >::operator=(std::vector<std::pair<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > >, std::allocator<std::pair<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > > > > const&)"},
-    {"_ZN4llvm13ARMAsmPrinterD1Ev", "llvm::ARMAsmPrinter::~ARMAsmPrinter()"},
-    {"_ZN4llvm13ARMAsmPrinterD0Ev", "llvm::ARMAsmPrinter::~ARMAsmPrinter()"},
-    {"_ZNK4llvm13ARMAsmPrinter11getPassNameEv", "llvm::ARMAsmPrinter::getPassName() const"},
-    {"_ZNK4llvm4Pass9getPassIDEv", "llvm::Pass::getPassID() const"},
-    {"_ZN4llvm13ARMAsmPrinter16EmitConstantPoolEv", "llvm::ARMAsmPrinter::EmitConstantPool()"},
-    {"_ZN4llvm10AsmPrinter21EmitFunctionBodyStartEv", "llvm::AsmPrinter::EmitFunctionBodyStart()"},
-    {"_ZN4llvm10AsmPrinter19EmitFunctionBodyEndEv", "llvm::AsmPrinter::EmitFunctionBodyEnd()"},
-    {"_ZN4llvm13ARMAsmPrinter14getISAEncodingEv", "llvm::ARMAsmPrinter::getISAEncoding()"},
-    {"_ZN4llvm18RegisterAsmPrinterINS_13ARMAsmPrinterEE9AllocatorERNS_13TargetMachineERNS_10MCStreamerE", "llvm::RegisterAsmPrinter<llvm::ARMAsmPrinter>::Allocator(llvm::TargetMachine&, llvm::MCStreamer&)"},
-    {"_ZN4llvm22MachineModuleInfoMachOC2ERKNS_17MachineModuleInfoE", "llvm::MachineModuleInfoMachO::MachineModuleInfoMachO(llvm::MachineModuleInfo const&)"},
-    {"_ZN4llvm15ARMFunctionInfoC2ERNS_15MachineFunctionE", "llvm::ARMFunctionInfo::ARMFunctionInfo(llvm::MachineFunction&)"},
-    {"_ZN4llvm15ARMFunctionInfoD1Ev", "llvm::ARMFunctionInfo::~ARMFunctionInfo()"},
-    {"_ZN4llvm15ARMFunctionInfoD0Ev", "llvm::ARMFunctionInfo::~ARMFunctionInfo()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_9MCOperandELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::MCOperand, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolENS_14PointerIntPairIS2_Lj1EbNS_21PointerLikeTypeTraitsIS2_EEEENS_12DenseMapInfoIS2_EENS7_IS6_EEE16InsertIntoBucketERKS2_RKS6_PSt4pairIS2_S6_E", "llvm::DenseMap<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > > >::InsertIntoBucket(llvm::MCSymbol* const&, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > const&, std::pair<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > >*)"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolENS_14PointerIntPairIS2_Lj1EbNS_21PointerLikeTypeTraitsIS2_EEEENS_12DenseMapInfoIS2_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > > >::grow(unsigned int)"},
-    {"_ZN4llvm16ARMBaseInstrInfoC1ERKNS_12ARMSubtargetE", "llvm::ARMBaseInstrInfo::ARMBaseInstrInfo(llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm16ARMBaseInstrInfoC2ERKNS_12ARMSubtargetE", "llvm::ARMBaseInstrInfo::ARMBaseInstrInfo(llvm::ARMSubtarget const&)"},
-    {"_ZNK4llvm16ARMBaseInstrInfo28CreateTargetHazardRecognizerEPKNS_13TargetMachineEPKNS_11ScheduleDAGE", "llvm::ARMBaseInstrInfo::CreateTargetHazardRecognizer(llvm::TargetMachine const*, llvm::ScheduleDAG const*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo34CreateTargetPostRAHazardRecognizerEPKNS_18InstrItineraryDataEPKNS_11ScheduleDAGE", "llvm::ARMBaseInstrInfo::CreateTargetPostRAHazardRecognizer(llvm::InstrItineraryData const*, llvm::ScheduleDAG const*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo21convertToThreeAddressERNS_14ilist_iteratorINS_17MachineBasicBlockEEERNS1_INS_12MachineInstrEEEPNS_13LiveVariablesE", "llvm::ARMBaseInstrInfo::convertToThreeAddress(llvm::ilist_iterator<llvm::MachineBasicBlock>&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::LiveVariables*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo13AnalyzeBranchERNS_17MachineBasicBlockERPS1_S4_RNS_15SmallVectorImplINS_14MachineOperandEEEb", "llvm::ARMBaseInstrInfo::AnalyzeBranch(llvm::MachineBasicBlock&, llvm::MachineBasicBlock*&, llvm::MachineBasicBlock*&, llvm::SmallVectorImpl<llvm::MachineOperand>&, bool) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo12RemoveBranchERNS_17MachineBasicBlockE", "llvm::ARMBaseInstrInfo::RemoveBranch(llvm::MachineBasicBlock&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo12InsertBranchERNS_17MachineBasicBlockEPS1_S3_RKNS_15SmallVectorImplINS_14MachineOperandEEENS_8DebugLocE", "llvm::ARMBaseInstrInfo::InsertBranch(llvm::MachineBasicBlock&, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::SmallVectorImpl<llvm::MachineOperand> const&, llvm::DebugLoc) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo22ReverseBranchConditionERNS_15SmallVectorImplINS_14MachineOperandEEE", "llvm::ARMBaseInstrInfo::ReverseBranchCondition(llvm::SmallVectorImpl<llvm::MachineOperand>&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo20PredicateInstructionEPNS_12MachineInstrERKNS_15SmallVectorImplINS_14MachineOperandEEE", "llvm::ARMBaseInstrInfo::PredicateInstruction(llvm::MachineInstr*, llvm::SmallVectorImpl<llvm::MachineOperand> const&) const"},
-    {"_ZN4llvm27getMatchingCondBranchOpcodeEi", "llvm::getMatchingCondBranchOpcode(int)"},
-    {"_ZNK4llvm16ARMBaseInstrInfo17SubsumesPredicateERKNS_15SmallVectorImplINS_14MachineOperandEEES5_", "llvm::ARMBaseInstrInfo::SubsumesPredicate(llvm::SmallVectorImpl<llvm::MachineOperand> const&, llvm::SmallVectorImpl<llvm::MachineOperand> const&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo16DefinesPredicateEPNS_12MachineInstrERSt6vectorINS_14MachineOperandESaIS4_EE", "llvm::ARMBaseInstrInfo::DefinesPredicate(llvm::MachineInstr*, std::vector<llvm::MachineOperand, std::allocator<llvm::MachineOperand> >&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo12isPredicableEPNS_12MachineInstrE", "llvm::ARMBaseInstrInfo::isPredicable(llvm::MachineInstr*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo18GetInstSizeInBytesEPKNS_12MachineInstrE", "llvm::ARMBaseInstrInfo::GetInstSizeInBytes(llvm::MachineInstr const*) const"},
-    {"_Z15getNumJTEntriesRKSt6vectorIN4llvm21MachineJumpTableEntryESaIS1_EEj", "getNumJTEntries(std::vector<llvm::MachineJumpTableEntry, std::allocator<llvm::MachineJumpTableEntry> > const&, unsigned int)"},
-    {"_ZNK4llvm16ARMBaseInstrInfo11copyPhysRegERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjb", "llvm::ARMBaseInstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::DebugLoc, unsigned int, unsigned int, bool) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo19storeRegToStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjbiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::ARMBaseInstrInfo::storeRegToStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, bool, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo18isStoreToStackSlotEPKNS_12MachineInstrERi", "llvm::ARMBaseInstrInfo::isStoreToStackSlot(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo20loadRegFromStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::ARMBaseInstrInfo::loadRegFromStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo19isLoadFromStackSlotEPKNS_12MachineInstrERi", "llvm::ARMBaseInstrInfo::isLoadFromStackSlot(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo24emitFrameIndexDebugValueERNS_15MachineFunctionEiyPKNS_6MDNodeENS_8DebugLocE", "llvm::ARMBaseInstrInfo::emitFrameIndexDebugValue(llvm::MachineFunction&, int, unsigned long long, llvm::MDNode const*, llvm::DebugLoc) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo13reMaterializeERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjjPKS4_RKNS_18TargetRegisterInfoE", "llvm::ARMBaseInstrInfo::reMaterialize(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, unsigned int, llvm::MachineInstr const*, llvm::TargetRegisterInfo const&) const"},
-    {"_Z12duplicateCPVRN4llvm15MachineFunctionERj", "duplicateCPV(llvm::MachineFunction&, unsigned int&)"},
-    {"_ZNK4llvm16ARMBaseInstrInfo9duplicateEPNS_12MachineInstrERNS_15MachineFunctionE", "llvm::ARMBaseInstrInfo::duplicate(llvm::MachineInstr*, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo16produceSameValueEPKNS_12MachineInstrES3_PKNS_19MachineRegisterInfoE", "llvm::ARMBaseInstrInfo::produceSameValue(llvm::MachineInstr const*, llvm::MachineInstr const*, llvm::MachineRegisterInfo const*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo23areLoadsFromSameBasePtrEPNS_6SDNodeES2_RxS3_", "llvm::ARMBaseInstrInfo::areLoadsFromSameBasePtr(llvm::SDNode*, llvm::SDNode*, long long&, long long&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo23shouldScheduleLoadsNearEPNS_6SDNodeES2_xxj", "llvm::ARMBaseInstrInfo::shouldScheduleLoadsNear(llvm::SDNode*, llvm::SDNode*, long long, long long, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo20isSchedulingBoundaryEPKNS_12MachineInstrEPKNS_17MachineBasicBlockERKNS_15MachineFunctionE", "llvm::ARMBaseInstrInfo::isSchedulingBoundary(llvm::MachineInstr const*, llvm::MachineBasicBlock const*, llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo19isProfitableToIfCvtERNS_17MachineBasicBlockEjjff", "llvm::ARMBaseInstrInfo::isProfitableToIfCvt(llvm::MachineBasicBlock&, unsigned int, unsigned int, float, float) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo19isProfitableToIfCvtERNS_17MachineBasicBlockEjjS2_jjff", "llvm::ARMBaseInstrInfo::isProfitableToIfCvt(llvm::MachineBasicBlock&, unsigned int, unsigned int, llvm::MachineBasicBlock&, unsigned int, unsigned int, float, float) const"},
-    {"_ZN4llvm17getInstrPredicateEPKNS_12MachineInstrERj", "llvm::getInstrPredicate(llvm::MachineInstr const*, unsigned int&)"},
-    {"_ZN4llvm23emitARMRegPlusImmediateERNS_17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjiNS_5ARMCC9CondCodesEjRKNS_16ARMBaseInstrInfoE", "llvm::emitARMRegPlusImmediate(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::DebugLoc, unsigned int, unsigned int, int, llvm::ARMCC::CondCodes, unsigned int, llvm::ARMBaseInstrInfo const&)"},
-    {"_ZN4llvm20rewriteARMFrameIndexERNS_12MachineInstrEjjRiRKNS_16ARMBaseInstrInfoE", "llvm::rewriteARMFrameIndex(llvm::MachineInstr&, unsigned int, unsigned int, int&, llvm::ARMBaseInstrInfo const&)"},
-    {"_ZNK4llvm16ARMBaseInstrInfo14AnalyzeCompareEPKNS_12MachineInstrERjRiS5_", "llvm::ARMBaseInstrInfo::AnalyzeCompare(llvm::MachineInstr const*, unsigned int&, int&, int&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo20OptimizeCompareInstrEPNS_12MachineInstrEjiiPKNS_19MachineRegisterInfoE", "llvm::ARMBaseInstrInfo::OptimizeCompareInstr(llvm::MachineInstr*, unsigned int, int, int, llvm::MachineRegisterInfo const*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo13FoldImmediateEPNS_12MachineInstrES2_jPNS_19MachineRegisterInfoE", "llvm::ARMBaseInstrInfo::FoldImmediate(llvm::MachineInstr*, llvm::MachineInstr*, unsigned int, llvm::MachineRegisterInfo*) const"},
-    {"_ZN4llvm6ARM_AM22getT2SOImmTwoPartFirstEj", "llvm::ARM_AM::getT2SOImmTwoPartFirst(unsigned int)"},
-    {"_ZNK4llvm16ARMBaseInstrInfo14getNumMicroOpsEPKNS_18InstrItineraryDataEPKNS_12MachineInstrE", "llvm::ARMBaseInstrInfo::getNumMicroOps(llvm::InstrItineraryData const*, llvm::MachineInstr const*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo15getVLDMDefCycleEPKNS_18InstrItineraryDataERKNS_15TargetInstrDescEjjj", "llvm::ARMBaseInstrInfo::getVLDMDefCycle(llvm::InstrItineraryData const*, llvm::TargetInstrDesc const&, unsigned int, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo14getLDMDefCycleEPKNS_18InstrItineraryDataERKNS_15TargetInstrDescEjjj", "llvm::ARMBaseInstrInfo::getLDMDefCycle(llvm::InstrItineraryData const*, llvm::TargetInstrDesc const&, unsigned int, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo15getVSTMUseCycleEPKNS_18InstrItineraryDataERKNS_15TargetInstrDescEjjj", "llvm::ARMBaseInstrInfo::getVSTMUseCycle(llvm::InstrItineraryData const*, llvm::TargetInstrDesc const&, unsigned int, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo14getSTMUseCycleEPKNS_18InstrItineraryDataERKNS_15TargetInstrDescEjjj", "llvm::ARMBaseInstrInfo::getSTMUseCycle(llvm::InstrItineraryData const*, llvm::TargetInstrDesc const&, unsigned int, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo17getOperandLatencyEPKNS_18InstrItineraryDataERKNS_15TargetInstrDescEjjS6_jj", "llvm::ARMBaseInstrInfo::getOperandLatency(llvm::InstrItineraryData const*, llvm::TargetInstrDesc const&, unsigned int, unsigned int, llvm::TargetInstrDesc const&, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo17getOperandLatencyEPKNS_18InstrItineraryDataEPKNS_12MachineInstrEjS6_j", "llvm::ARMBaseInstrInfo::getOperandLatency(llvm::InstrItineraryData const*, llvm::MachineInstr const*, unsigned int, llvm::MachineInstr const*, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo17getOperandLatencyEPKNS_18InstrItineraryDataEPNS_6SDNodeEjS5_j", "llvm::ARMBaseInstrInfo::getOperandLatency(llvm::InstrItineraryData const*, llvm::SDNode*, unsigned int, llvm::SDNode*, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo15getInstrLatencyEPKNS_18InstrItineraryDataEPKNS_12MachineInstrEPj", "llvm::ARMBaseInstrInfo::getInstrLatency(llvm::InstrItineraryData const*, llvm::MachineInstr const*, unsigned int*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo15getInstrLatencyEPKNS_18InstrItineraryDataEPNS_6SDNodeE", "llvm::ARMBaseInstrInfo::getInstrLatency(llvm::InstrItineraryData const*, llvm::SDNode*) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo21hasHighOperandLatencyEPKNS_18InstrItineraryDataEPKNS_19MachineRegisterInfoEPKNS_12MachineInstrEjS9_j", "llvm::ARMBaseInstrInfo::hasHighOperandLatency(llvm::InstrItineraryData const*, llvm::MachineRegisterInfo const*, llvm::MachineInstr const*, unsigned int, llvm::MachineInstr const*, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo16hasLowDefLatencyEPKNS_18InstrItineraryDataEPKNS_12MachineInstrEj", "llvm::ARMBaseInstrInfo::hasLowDefLatency(llvm::InstrItineraryData const*, llvm::MachineInstr const*, unsigned int) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo18isFpMLxInstructionEjRjS1_RbS2_", "llvm::ARMBaseInstrInfo::isFpMLxInstruction(unsigned int, unsigned int&, unsigned int&, bool&, bool&) const"},
-    {"_ZN4llvm8DenseMapIjjNS_12DenseMapInfoIjEES2_E6insertERKSt4pairIjjE", "llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<unsigned int, unsigned int> const&)"},
-    {"_ZN4llvm8SmallSetIjLj16EE6insertERKj", "llvm::SmallSet<unsigned int, 16u>::insert(unsigned int const&)"},
-    {"_ZN4llvm13LiveVariables7VarInfo10removeKillEPNS_12MachineInstrE", "llvm::LiveVariables::VarInfo::removeKill(llvm::MachineInstr*)"},
-    {"_ZNSt6vectorIN4llvm14MachineOperandESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MachineOperand, std::allocator<llvm::MachineOperand> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineOperand*, std::vector<llvm::MachineOperand, std::allocator<llvm::MachineOperand> > >, llvm::MachineOperand const&)"},
-    {"_ZNSt8_Rb_treeIjjSt9_IdentityIjESt4lessIjESaIjEE16_M_insert_uniqueERKj", "std::_Rb_tree<unsigned int, unsigned int, std::_Identity<unsigned int>, std::less<unsigned int>, std::allocator<unsigned int> >::_M_insert_unique(unsigned int const&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm12MachineInstrESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, llvm::MachineInstr*>(__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, __gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, llvm::MachineInstr* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm24ScheduleHazardRecognizer8EmitNoopEv", "llvm::ScheduleHazardRecognizer::EmitNoop()"},
-    {"_ZN4llvm19ARMBaseRegisterInfoC1ERKNS_16ARMBaseInstrInfoERKNS_12ARMSubtargetE", "llvm::ARMBaseRegisterInfo::ARMBaseRegisterInfo(llvm::ARMBaseInstrInfo const&, llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm19ARMBaseRegisterInfoC2ERKNS_16ARMBaseInstrInfoERKNS_12ARMSubtargetE", "llvm::ARMBaseRegisterInfo::ARMBaseRegisterInfo(llvm::ARMBaseInstrInfo const&, llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm18ARMGenRegisterInfoC2Eii", "llvm::ARMGenRegisterInfo::ARMGenRegisterInfo(int, int)"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo15getReservedRegsERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::getReservedRegs(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo14hasBasePointerERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::hasBasePointer(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo13isReservedRegERKNS_15MachineFunctionEj", "llvm::ARMBaseRegisterInfo::isReservedReg(llvm::MachineFunction const&, unsigned int) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo24getMatchingSuperRegClassEPKNS_19TargetRegisterClassES3_j", "llvm::ARMBaseRegisterInfo::getMatchingSuperRegClass(llvm::TargetRegisterClass const*, llvm::TargetRegisterClass const*, unsigned int) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo23canCombineSubRegIndicesEPKNS_19TargetRegisterClassERNS_15SmallVectorImplIjEERj", "llvm::ARMBaseRegisterInfo::canCombineSubRegIndices(llvm::TargetRegisterClass const*, llvm::SmallVectorImpl<unsigned int>&, unsigned int&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo18getPointerRegClassEj", "llvm::ARMBaseRegisterInfo::getPointerRegClass(unsigned int) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo19getRegisterPairEvenEjRKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::getRegisterPairEven(unsigned int, llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo18getRegisterPairOddEjRKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::getRegisterPairOdd(unsigned int, llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo19ResolveRegAllocHintEjjRKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::ResolveRegAllocHint(unsigned int, unsigned int, llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo18UpdateRegAllocHintEjjRNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::UpdateRegAllocHint(unsigned int, unsigned int, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo15canRealignStackERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::canRealignStack(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo21needsStackRealignmentERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::needsStackRealignment(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo20cannotEliminateFrameERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::cannotEliminateFrame(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo13getRARegisterEv", "llvm::ARMBaseRegisterInfo::getRARegister() const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo16getFrameRegisterERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::getFrameRegister(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo22getEHExceptionRegisterEv", "llvm::ARMBaseRegisterInfo::getEHExceptionRegister() const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo20getEHHandlerRegisterEv", "llvm::ARMBaseRegisterInfo::getEHHandlerRegister() const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo14getDwarfRegNumEjb", "llvm::ARMBaseRegisterInfo::getDwarfRegNum(unsigned int, bool) const"},
-    {"_ZNK4llvm18ARMGenRegisterInfo18getDwarfRegNumFullEjj", "llvm::ARMGenRegisterInfo::getDwarfRegNumFull(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo17emitLoadConstPoolERNS_17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjiNS_5ARMCC9CondCodesEj", "llvm::ARMBaseRegisterInfo::emitLoadConstPool(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::DebugLoc, unsigned int, unsigned int, int, llvm::ARMCC::CondCodes, unsigned int) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo26requiresRegisterScavengingERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::requiresRegisterScavenging(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo28requiresFrameIndexScavengingERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::requiresFrameIndexScavenging(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo28requiresVirtualBaseRegistersERKNS_15MachineFunctionE", "llvm::ARMBaseRegisterInfo::requiresVirtualBaseRegisters(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo29eliminateCallFramePseudoInstrERNS_15MachineFunctionERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::ARMBaseRegisterInfo::eliminateCallFramePseudoInstr(llvm::MachineFunction&, llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo24getFrameIndexInstrOffsetEPKNS_12MachineInstrEi", "llvm::ARMBaseRegisterInfo::getFrameIndexInstrOffset(llvm::MachineInstr const*, int) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo17needsFrameBaseRegEPNS_12MachineInstrEx", "llvm::ARMBaseRegisterInfo::needsFrameBaseReg(llvm::MachineInstr*, long long) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo28materializeFrameBaseRegisterEPNS_17MachineBasicBlockEjix", "llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(llvm::MachineBasicBlock*, unsigned int, int, long long) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo17resolveFrameIndexENS_14ilist_iteratorINS_12MachineInstrEEEjx", "llvm::ARMBaseRegisterInfo::resolveFrameIndex(llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, long long) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo18isFrameOffsetLegalEPKNS_12MachineInstrEx", "llvm::ARMBaseRegisterInfo::isFrameOffsetLegal(llvm::MachineInstr const*, long long) const"},
-    {"_ZNK4llvm19ARMBaseRegisterInfo19eliminateFrameIndexENS_14ilist_iteratorINS_12MachineInstrEEEiPNS_12RegScavengerE", "llvm::ARMBaseRegisterInfo::eliminateFrameIndex(llvm::ilist_iterator<llvm::MachineInstr>, int, llvm::RegScavenger*) const"},
-    {"_ZN4llvm3ARM8CCRClassC1Ev", "llvm::ARM::CCRClass::CCRClass()"},
-    {"_ZN4llvm3ARM8DPRClassC1Ev", "llvm::ARM::DPRClass::DPRClass()"},
-    {"_ZN4llvm3ARM10DPR_8ClassC1Ev", "llvm::ARM::DPR_8Class::DPR_8Class()"},
-    {"_ZN4llvm3ARM13DPR_VFP2ClassC1Ev", "llvm::ARM::DPR_VFP2Class::DPR_VFP2Class()"},
-    {"_ZN4llvm3ARM8GPRClassC1Ev", "llvm::ARM::GPRClass::GPRClass()"},
-    {"_ZN4llvm3ARM8QPRClassC1Ev", "llvm::ARM::QPRClass::QPRClass()"},
-    {"_ZN4llvm3ARM10QPR_8ClassC1Ev", "llvm::ARM::QPR_8Class::QPR_8Class()"},
-    {"_ZN4llvm3ARM13QPR_VFP2ClassC1Ev", "llvm::ARM::QPR_VFP2Class::QPR_VFP2Class()"},
-    {"_ZN4llvm3ARM9QQPRClassC1Ev", "llvm::ARM::QQPRClass::QQPRClass()"},
-    {"_ZN4llvm3ARM14QQPR_VFP2ClassC1Ev", "llvm::ARM::QQPR_VFP2Class::QQPR_VFP2Class()"},
-    {"_ZN4llvm3ARM11QQQQPRClassC1Ev", "llvm::ARM::QQQQPRClass::QQQQPRClass()"},
-    {"_ZN4llvm3ARM8SPRClassC1Ev", "llvm::ARM::SPRClass::SPRClass()"},
-    {"_ZN4llvm3ARM10SPR_8ClassC1Ev", "llvm::ARM::SPR_8Class::SPR_8Class()"},
-    {"_ZN4llvm3ARM9rGPRClassC1Ev", "llvm::ARM::rGPRClass::rGPRClass()"},
-    {"_ZN4llvm3ARM9tGPRClassC1Ev", "llvm::ARM::tGPRClass::tGPRClass()"},
-    {"_ZN4llvm3ARM10tcGPRClassC1Ev", "llvm::ARM::tcGPRClass::tcGPRClass()"},
-    {"_ZN4llvm3ARM8CCRClassC2Ev", "llvm::ARM::CCRClass::CCRClass()"},
-    {"_ZNK4llvm3ARM8DPRClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::ARM::DPRClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3ARM8DPRClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::ARM::DPRClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3ARM8DPRClassC2Ev", "llvm::ARM::DPRClass::DPRClass()"},
-    {"_ZN4llvm3ARM10DPR_8ClassC2Ev", "llvm::ARM::DPR_8Class::DPR_8Class()"},
-    {"_ZN4llvm3ARM13DPR_VFP2ClassC2Ev", "llvm::ARM::DPR_VFP2Class::DPR_VFP2Class()"},
-    {"_ZNK4llvm3ARM8GPRClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::ARM::GPRClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3ARM8GPRClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::ARM::GPRClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3ARM8GPRClassC2Ev", "llvm::ARM::GPRClass::GPRClass()"},
-    {"_ZNK4llvm3ARM8QPRClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::ARM::QPRClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3ARM8QPRClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::ARM::QPRClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3ARM8QPRClassC2Ev", "llvm::ARM::QPRClass::QPRClass()"},
-    {"_ZN4llvm3ARM10QPR_8ClassC2Ev", "llvm::ARM::QPR_8Class::QPR_8Class()"},
-    {"_ZN4llvm3ARM13QPR_VFP2ClassC2Ev", "llvm::ARM::QPR_VFP2Class::QPR_VFP2Class()"},
-    {"_ZNK4llvm3ARM9QQPRClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::ARM::QQPRClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3ARM9QQPRClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::ARM::QQPRClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3ARM9QQPRClassC2Ev", "llvm::ARM::QQPRClass::QQPRClass()"},
-    {"_ZN4llvm3ARM14QQPR_VFP2ClassC2Ev", "llvm::ARM::QQPR_VFP2Class::QQPR_VFP2Class()"},
-    {"_ZNK4llvm3ARM11QQQQPRClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::ARM::QQQQPRClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3ARM11QQQQPRClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::ARM::QQQQPRClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3ARM11QQQQPRClassC2Ev", "llvm::ARM::QQQQPRClass::QQQQPRClass()"},
-    {"_ZN4llvm3ARM8SPRClassC2Ev", "llvm::ARM::SPRClass::SPRClass()"},
-    {"_ZN4llvm3ARM10SPR_8ClassC2Ev", "llvm::ARM::SPR_8Class::SPR_8Class()"},
-    {"_ZNK4llvm3ARM9rGPRClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::ARM::rGPRClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3ARM9rGPRClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::ARM::rGPRClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3ARM9rGPRClassC2Ev", "llvm::ARM::rGPRClass::rGPRClass()"},
-    {"_ZN4llvm3ARM9tGPRClassC2Ev", "llvm::ARM::tGPRClass::tGPRClass()"},
-    {"_ZNK4llvm3ARM10tcGPRClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::ARM::tcGPRClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm3ARM10tcGPRClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::ARM::tcGPRClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3ARM10tcGPRClassC2Ev", "llvm::ARM::tcGPRClass::tcGPRClass()"},
-    {"_ZNK4llvm18ARMGenRegisterInfo9getSubRegEjj", "llvm::ARMGenRegisterInfo::getSubReg(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm18ARMGenRegisterInfo14getSubRegIndexEjj", "llvm::ARMGenRegisterInfo::getSubRegIndex(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm18ARMGenRegisterInfo20composeSubRegIndicesEjj", "llvm::ARMGenRegisterInfo::composeSubRegIndices(unsigned int, unsigned int) const"},
-    {"_ZN4llvm18ARMGenRegisterInfoC1Eii", "llvm::ARMGenRegisterInfo::ARMGenRegisterInfo(int, int)"},
-    {"_ZN4llvm3ARM8CCRClassD1Ev", "llvm::ARM::CCRClass::~CCRClass()"},
-    {"_ZN4llvm3ARM8DPRClassD1Ev", "llvm::ARM::DPRClass::~DPRClass()"},
-    {"_ZN4llvm3ARM10DPR_8ClassD1Ev", "llvm::ARM::DPR_8Class::~DPR_8Class()"},
-    {"_ZN4llvm3ARM13DPR_VFP2ClassD1Ev", "llvm::ARM::DPR_VFP2Class::~DPR_VFP2Class()"},
-    {"_ZN4llvm3ARM8GPRClassD1Ev", "llvm::ARM::GPRClass::~GPRClass()"},
-    {"_ZN4llvm3ARM8QPRClassD1Ev", "llvm::ARM::QPRClass::~QPRClass()"},
-    {"_ZN4llvm3ARM10QPR_8ClassD1Ev", "llvm::ARM::QPR_8Class::~QPR_8Class()"},
-    {"_ZN4llvm3ARM13QPR_VFP2ClassD1Ev", "llvm::ARM::QPR_VFP2Class::~QPR_VFP2Class()"},
-    {"_ZN4llvm3ARM9QQPRClassD1Ev", "llvm::ARM::QQPRClass::~QQPRClass()"},
-    {"_ZN4llvm3ARM14QQPR_VFP2ClassD1Ev", "llvm::ARM::QQPR_VFP2Class::~QQPR_VFP2Class()"},
-    {"_ZN4llvm3ARM11QQQQPRClassD1Ev", "llvm::ARM::QQQQPRClass::~QQQQPRClass()"},
-    {"_ZN4llvm3ARM8SPRClassD1Ev", "llvm::ARM::SPRClass::~SPRClass()"},
-    {"_ZN4llvm3ARM10SPR_8ClassD1Ev", "llvm::ARM::SPR_8Class::~SPR_8Class()"},
-    {"_ZN4llvm3ARM9rGPRClassD1Ev", "llvm::ARM::rGPRClass::~rGPRClass()"},
-    {"_ZN4llvm3ARM9tGPRClassD1Ev", "llvm::ARM::tGPRClass::~tGPRClass()"},
-    {"_ZN4llvm3ARM10tcGPRClassD1Ev", "llvm::ARM::tcGPRClass::~tcGPRClass()"},
-    {"_ZN4llvm19TargetRegisterClassC2EjPKcPKNS_3EVTEPKPKS0_S9_S9_S9_jjiPKjSB_", "llvm::TargetRegisterClass::TargetRegisterClass(unsigned int, char const*, llvm::EVT const*, llvm::TargetRegisterClass const* const*, llvm::TargetRegisterClass const* const*, llvm::TargetRegisterClass const* const*, llvm::TargetRegisterClass const* const*, unsigned int, unsigned int, int, unsigned int const*, unsigned int const*)"},
-    {"_ZN4llvm3ARM8DPRClassD0Ev", "llvm::ARM::DPRClass::~DPRClass()"},
-    {"_ZN4llvm3ARM8GPRClassD0Ev", "llvm::ARM::GPRClass::~GPRClass()"},
-    {"_ZN4llvm3ARM8QPRClassD0Ev", "llvm::ARM::QPRClass::~QPRClass()"},
-    {"_ZN4llvm3ARM9QQPRClassD0Ev", "llvm::ARM::QQPRClass::~QQPRClass()"},
-    {"_ZN4llvm3ARM11QQQQPRClassD0Ev", "llvm::ARM::QQQQPRClass::~QQQQPRClass()"},
-    {"_ZN4llvm3ARM9rGPRClassD0Ev", "llvm::ARM::rGPRClass::~rGPRClass()"},
-    {"_ZN4llvm3ARM10tcGPRClassD0Ev", "llvm::ARM::tcGPRClass::~tcGPRClass()"},
-    {"_ZN4llvm3ARM9tGPRClassD0Ev", "llvm::ARM::tGPRClass::~tGPRClass()"},
-    {"_ZNK4llvm19TargetRegisterClass22allocation_order_beginERKNS_15MachineFunctionE", "llvm::TargetRegisterClass::allocation_order_begin(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19TargetRegisterClass20allocation_order_endERKNS_15MachineFunctionE", "llvm::TargetRegisterClass::allocation_order_end(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm3ARM10SPR_8ClassD0Ev", "llvm::ARM::SPR_8Class::~SPR_8Class()"},
-    {"_ZN4llvm3ARM8SPRClassD0Ev", "llvm::ARM::SPRClass::~SPRClass()"},
-    {"_ZN4llvm3ARM14QQPR_VFP2ClassD0Ev", "llvm::ARM::QQPR_VFP2Class::~QQPR_VFP2Class()"},
-    {"_ZN4llvm3ARM13QPR_VFP2ClassD0Ev", "llvm::ARM::QPR_VFP2Class::~QPR_VFP2Class()"},
-    {"_ZN4llvm3ARM10QPR_8ClassD0Ev", "llvm::ARM::QPR_8Class::~QPR_8Class()"},
-    {"_ZN4llvm3ARM13DPR_VFP2ClassD0Ev", "llvm::ARM::DPR_VFP2Class::~DPR_VFP2Class()"},
-    {"_ZN4llvm3ARM10DPR_8ClassD0Ev", "llvm::ARM::DPR_8Class::~DPR_8Class()"},
-    {"_ZN4llvm3ARM8CCRClassD0Ev", "llvm::ARM::CCRClass::~CCRClass()"},
-    {"_ZN4llvm19TargetRegisterClassD1Ev", "llvm::TargetRegisterClass::~TargetRegisterClass()"},
-    {"_ZN4llvm19TargetRegisterClassD0Ev", "llvm::TargetRegisterClass::~TargetRegisterClass()"},
-    {"_ZN4llvm27createARMJITCodeEmitterPassERNS_20ARMBaseTargetMachineERNS_14JITCodeEmitterE", "llvm::createARMJITCodeEmitterPass(llvm::ARMBaseTargetMachine&, llvm::JITCodeEmitter&)"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitterD1Ev", "(anonymous namespace)::ARMCodeEmitter::~ARMCodeEmitter()"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitterD0Ev", "(anonymous namespace)::ARMCodeEmitter::~ARMCodeEmitter()"},
-    {"_ZNK12_GLOBAL__N_114ARMCodeEmitter11getPassNameEv", "(anonymous namespace)::ARMCodeEmitter::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_114ARMCodeEmitter16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::ARMCodeEmitter::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::ARMCodeEmitter::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter15emitInstructionERKN4llvm12MachineInstrE", "(anonymous namespace)::ARMCodeEmitter::emitInstruction(llvm::MachineInstr const&)"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter25emitLEApcrelJTInstructionERKN4llvm12MachineInstrE", "(anonymous namespace)::ARMCodeEmitter::emitLEApcrelJTInstruction(llvm::MachineInstr const&)"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter29emitDataProcessingInstructionERKN4llvm12MachineInstrEjj", "(anonymous namespace)::ARMCodeEmitter::emitDataProcessingInstruction(llvm::MachineInstr const&, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter24emitLoadStoreInstructionERKN4llvm12MachineInstrEjj", "(anonymous namespace)::ARMCodeEmitter::emitLoadStoreInstruction(llvm::MachineInstr const&, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter28emitMiscLoadStoreInstructionERKN4llvm12MachineInstrEj", "(anonymous namespace)::ARMCodeEmitter::emitMiscLoadStoreInstruction(llvm::MachineInstr const&, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter25emitMiscBranchInstructionERKN4llvm12MachineInstrE", "(anonymous namespace)::ARMCodeEmitter::emitMiscBranchInstruction(llvm::MachineInstr const&)"},
-    {"_ZNK12_GLOBAL__N_114ARMCodeEmitter21getBinaryCodeForInstrERKN4llvm12MachineInstrE", "(anonymous namespace)::ARMCodeEmitter::getBinaryCodeForInstr(llvm::MachineInstr const&) const"},
-    {"_Z12encodeNEONRdRKN4llvm12MachineInstrEj", "encodeNEONRd(llvm::MachineInstr const&, unsigned int)"},
-    {"_Z12encodeNEONRnRKN4llvm12MachineInstrEj", "encodeNEONRn(llvm::MachineInstr const&, unsigned int)"},
-    {"_Z12encodeNEONRmRKN4llvm12MachineInstrEj", "encodeNEONRm(llvm::MachineInstr const&, unsigned int)"},
-    {"_ZNK12_GLOBAL__N_114ARMCodeEmitter17getMachineOpValueERKN4llvm12MachineInstrERKNS1_14MachineOperandE", "(anonymous namespace)::ARMCodeEmitter::getMachineOpValue(llvm::MachineInstr const&, llvm::MachineOperand const&) const"},
-    {"_ZNK12_GLOBAL__N_114ARMCodeEmitter23getAddrModeImm12OpValueERKN4llvm12MachineInstrEj", "(anonymous namespace)::ARMCodeEmitter::getAddrModeImm12OpValue(llvm::MachineInstr const&, unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_114ARMCodeEmitter19getAddrMode5OpValueERKN4llvm12MachineInstrEj", "(anonymous namespace)::ARMCodeEmitter::getAddrMode5OpValue(llvm::MachineInstr const&, unsigned int) const"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter19emitInlineJumpTableEj", "(anonymous namespace)::ARMCodeEmitter::emitInlineJumpTable(unsigned int)"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter14getMovi32ValueERKN4llvm12MachineInstrERKNS1_14MachineOperandEj", "(anonymous namespace)::ARMCodeEmitter::getMovi32Value(llvm::MachineInstr const&, llvm::MachineOperand const&, unsigned int)"},
-    {"_ZN4llvm8DenseMapIjlNS_12DenseMapInfoIjEENS1_IlEEE6insertERKSt4pairIjlE", "llvm::DenseMap<unsigned int, long, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<long> >::insert(std::pair<unsigned int, long> const&)"},
-    {"_ZN4llvm8DenseMapIjlNS_12DenseMapInfoIjEENS1_IlEEE16InsertIntoBucketERKjRKlPSt4pairIjlE", "llvm::DenseMap<unsigned int, long, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<long> >::InsertIntoBucket(unsigned int const&, long const&, std::pair<unsigned int, long>*)"},
-    {"_ZN4llvm8DenseMapIjlNS_12DenseMapInfoIjEENS1_IlEEE4growEj", "llvm::DenseMap<unsigned int, long, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<long> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIlE6resizeEj", "llvm::SmallVectorImpl<long>::resize(unsigned int)"},
-    {"_ZN4llvm27createARMConstantIslandPassEv", "llvm::createARMConstantIslandPass()"},
-    {"_ZN12_GLOBAL__N_118ARMConstantIslandsD1Ev", "(anonymous namespace)::ARMConstantIslands::~ARMConstantIslands()"},
-    {"_ZN12_GLOBAL__N_118ARMConstantIslandsD0Ev", "(anonymous namespace)::ARMConstantIslands::~ARMConstantIslands()"},
-    {"_ZNK12_GLOBAL__N_118ARMConstantIslands11getPassNameEv", "(anonymous namespace)::ARMConstantIslands::getPassName() const"},
-    {"_ZN12_GLOBAL__N_118ARMConstantIslands20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::ARMConstantIslands::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_118ARMConstantIslands12CPEIsInRangeEPN4llvm12MachineInstrEjS3_jbb", "(anonymous namespace)::ARMConstantIslands::CPEIsInRange(llvm::MachineInstr*, unsigned int, llvm::MachineInstr*, unsigned int, bool, bool)"},
-    {"_ZN12_GLOBAL__N_118ARMConstantIslands20AdjustBBOffsetsAfterEPN4llvm17MachineBasicBlockEi", "(anonymous namespace)::ARMConstantIslands::AdjustBBOffsetsAfter(llvm::MachineBasicBlock*, int)"},
-    {"_ZN12_GLOBAL__N_118ARMConstantIslands21SplitBlockBeforeInstrEPN4llvm12MachineInstrE", "(anonymous namespace)::ARMConstantIslands::SplitBlockBeforeInstr(llvm::MachineInstr*)"},
-    {"_ZNSt6vectorIN12_GLOBAL__N_118ARMConstantIslands9ImmBranchESaIS2_EE9push_backERKS2_", "std::vector<(anonymous namespace)::ARMConstantIslands::ImmBranch, std::allocator<(anonymous namespace)::ARMConstantIslands::ImmBranch> >::push_back((anonymous namespace)::ARMConstantIslands::ImmBranch const&)"},
-    {"_ZN12_GLOBAL__N_118ARMConstantIslands17DecrementOldEntryEjPN4llvm12MachineInstrE", "(anonymous namespace)::ARMConstantIslands::DecrementOldEntry(unsigned int, llvm::MachineInstr*)"},
-    {"_ZNSt6vectorIN12_GLOBAL__N_118ARMConstantIslands7CPEntryESaIS2_EE9push_backERKS2_", "std::vector<(anonymous namespace)::ARMConstantIslands::CPEntry, std::allocator<(anonymous namespace)::ARMConstantIslands::CPEntry> >::push_back((anonymous namespace)::ARMConstantIslands::CPEntry const&)"},
-    {"_ZNSt6vectorIN12_GLOBAL__N_118ARMConstantIslands7CPEntryESaIS2_EEC1ERKS4_", "std::vector<(anonymous namespace)::ARMConstantIslands::CPEntry, std::allocator<(anonymous namespace)::ARMConstantIslands::CPEntry> >::vector(std::vector<(anonymous namespace)::ARMConstantIslands::CPEntry, std::allocator<(anonymous namespace)::ARMConstantIslands::CPEntry> > const&)"},
-    {"_ZNSt6vectorIPN4llvm17MachineBasicBlockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, llvm::MachineBasicBlock* const&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm17MachineBasicBlockESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, llvm::MachineBasicBlock*>(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, llvm::MachineBasicBlock* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm20ARMConstantPoolValueC1EPKNS_8ConstantEjNS_5ARMCP9ARMCPKindEhNS4_13ARMCPModifierEb", "llvm::ARMConstantPoolValue::ARMConstantPoolValue(llvm::Constant const*, unsigned int, llvm::ARMCP::ARMCPKind, unsigned char, llvm::ARMCP::ARMCPModifier, bool)"},
-    {"_ZN4llvm20ARMConstantPoolValueC2EPKNS_8ConstantEjNS_5ARMCP9ARMCPKindEhNS4_13ARMCPModifierEb", "llvm::ARMConstantPoolValue::ARMConstantPoolValue(llvm::Constant const*, unsigned int, llvm::ARMCP::ARMCPKind, unsigned char, llvm::ARMCP::ARMCPModifier, bool)"},
-    {"_ZN4llvm20ARMConstantPoolValueC1ERNS_11LLVMContextEPKcjhNS_5ARMCP13ARMCPModifierEb", "llvm::ARMConstantPoolValue::ARMConstantPoolValue(llvm::LLVMContext&, char const*, unsigned int, unsigned char, llvm::ARMCP::ARMCPModifier, bool)"},
-    {"_ZN4llvm20ARMConstantPoolValueC2ERNS_11LLVMContextEPKcjhNS_5ARMCP13ARMCPModifierEb", "llvm::ARMConstantPoolValue::ARMConstantPoolValue(llvm::LLVMContext&, char const*, unsigned int, unsigned char, llvm::ARMCP::ARMCPModifier, bool)"},
-    {"_ZN4llvm20ARMConstantPoolValueC1EPKNS_11GlobalValueENS_5ARMCP13ARMCPModifierE", "llvm::ARMConstantPoolValue::ARMConstantPoolValue(llvm::GlobalValue const*, llvm::ARMCP::ARMCPModifier)"},
-    {"_ZN4llvm20ARMConstantPoolValueC2EPKNS_11GlobalValueENS_5ARMCP13ARMCPModifierE", "llvm::ARMConstantPoolValue::ARMConstantPoolValue(llvm::GlobalValue const*, llvm::ARMCP::ARMCPModifier)"},
-    {"_ZNK4llvm20ARMConstantPoolValue5getGVEv", "llvm::ARMConstantPoolValue::getGV() const"},
-    {"_ZNK4llvm20ARMConstantPoolValue15getBlockAddressEv", "llvm::ARMConstantPoolValue::getBlockAddress() const"},
-    {"_ZN4llvm20ARMConstantPoolValue25getExistingMachineCPValueEPNS_19MachineConstantPoolEj", "llvm::ARMConstantPoolValue::getExistingMachineCPValue(llvm::MachineConstantPool*, unsigned int)"},
-    {"_ZN4llvm20ARMConstantPoolValueD0Ev", "llvm::ARMConstantPoolValue::~ARMConstantPoolValue()"},
-    {"_ZN4llvm20ARMConstantPoolValueD1Ev", "llvm::ARMConstantPoolValue::~ARMConstantPoolValue()"},
-    {"_ZN4llvm20ARMConstantPoolValueD2Ev", "llvm::ARMConstantPoolValue::~ARMConstantPoolValue()"},
-    {"_ZN4llvm20ARMConstantPoolValue20AddSelectionDAGCSEIdERNS_16FoldingSetNodeIDE", "llvm::ARMConstantPoolValue::AddSelectionDAGCSEId(llvm::FoldingSetNodeID&)"},
-    {"_ZN4llvm20ARMConstantPoolValue12hasSameValueEPS0_", "llvm::ARMConstantPoolValue::hasSameValue(llvm::ARMConstantPoolValue*)"},
-    {"_ZNK4llvm20ARMConstantPoolValue4dumpEv", "llvm::ARMConstantPoolValue::dump() const"},
-    {"_ZNK4llvm20ARMConstantPoolValue5printERNS_11raw_ostreamE", "llvm::ARMConstantPoolValue::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm20ARMConstantPoolValue17getRelocationInfoEv", "llvm::ARMConstantPoolValue::getRelocationInfo() const"},
-    {"_ZNSt6vectorIN4llvm24MachineConstantPoolEntryESaIS1_EEC2ERKS3_", "std::vector<llvm::MachineConstantPoolEntry, std::allocator<llvm::MachineConstantPoolEntry> >::vector(std::vector<llvm::MachineConstantPoolEntry, std::allocator<llvm::MachineConstantPoolEntry> > const&)"},
-    {"_ZN4llvm24MachineConstantPoolValueD1Ev", "llvm::MachineConstantPoolValue::~MachineConstantPoolValue()"},
-    {"_ZN4llvm24MachineConstantPoolValueD0Ev", "llvm::MachineConstantPoolValue::~MachineConstantPoolValue()"},
-    {"_ZN4llvm16ARMELFWriterInfoC1ERNS_13TargetMachineE", "llvm::ARMELFWriterInfo::ARMELFWriterInfo(llvm::TargetMachine&)"},
-    {"_ZN4llvm16ARMELFWriterInfoC2ERNS_13TargetMachineE", "llvm::ARMELFWriterInfo::ARMELFWriterInfo(llvm::TargetMachine&)"},
-    {"_ZN4llvm16ARMELFWriterInfoD0Ev", "llvm::ARMELFWriterInfo::~ARMELFWriterInfo()"},
-    {"_ZN4llvm16ARMELFWriterInfoD1Ev", "llvm::ARMELFWriterInfo::~ARMELFWriterInfo()"},
-    {"_ZN4llvm16ARMELFWriterInfoD2Ev", "llvm::ARMELFWriterInfo::~ARMELFWriterInfo()"},
-    {"_ZNK4llvm16ARMELFWriterInfo17getRelocationTypeEj", "llvm::ARMELFWriterInfo::getRelocationType(unsigned int) const"},
-    {"_ZNK4llvm16ARMELFWriterInfo24getDefaultAddendForRelTyEjl", "llvm::ARMELFWriterInfo::getDefaultAddendForRelTy(unsigned int, long) const"},
-    {"_ZNK4llvm16ARMELFWriterInfo19getRelocationTySizeEj", "llvm::ARMELFWriterInfo::getRelocationTySize(unsigned int) const"},
-    {"_ZNK4llvm16ARMELFWriterInfo15isPCRelativeRelEj", "llvm::ARMELFWriterInfo::isPCRelativeRel(unsigned int) const"},
-    {"_ZNK4llvm16ARMELFWriterInfo28getAbsoluteLabelMachineRelTyEv", "llvm::ARMELFWriterInfo::getAbsoluteLabelMachineRelTy() const"},
-    {"_ZNK4llvm16ARMELFWriterInfo17computeRelocationEjjj", "llvm::ARMELFWriterInfo::computeRelocation(unsigned int, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm16ARMELFWriterInfo19hasRelocationAddendEv", "llvm::ARMELFWriterInfo::hasRelocationAddend() const"},
-    {"_ZN4llvm25createARMExpandPseudoPassEv", "llvm::createARMExpandPseudoPass()"},
-    {"_ZN12_GLOBAL__N_115ARMExpandPseudoD1Ev", "(anonymous namespace)::ARMExpandPseudo::~ARMExpandPseudo()"},
-    {"_ZN12_GLOBAL__N_115ARMExpandPseudoD0Ev", "(anonymous namespace)::ARMExpandPseudo::~ARMExpandPseudo()"},
-    {"_ZNK12_GLOBAL__N_115ARMExpandPseudo11getPassNameEv", "(anonymous namespace)::ARMExpandPseudo::getPassName() const"},
-    {"_ZN12_GLOBAL__N_115ARMExpandPseudo20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::ARMExpandPseudo::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_115ARMExpandPseudo8ExpandMIERN4llvm17MachineBasicBlockENS1_14ilist_iteratorINS1_12MachineInstrEEE", "(anonymous namespace)::ARMExpandPseudo::ExpandMI(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN12_GLOBAL__N_115ARMExpandPseudo10ExpandVTBLERN4llvm14ilist_iteratorINS1_12MachineInstrEEEjbj", "(anonymous namespace)::ARMExpandPseudo::ExpandVTBL(llvm::ilist_iterator<llvm::MachineInstr>&, unsigned int, bool, unsigned int)"},
-    {"_Z11GetDSubRegsjN12_GLOBAL__N_114NEONRegSpacingEPKN4llvm18TargetRegisterInfoERjS5_S5_S5_", "GetDSubRegs(unsigned int, (anonymous namespace)::NEONRegSpacing, llvm::TargetRegisterInfo const*, unsigned int&, unsigned int&, unsigned int&, unsigned int&)"},
-    {"_ZN4llvm3ARM14createFastISelERNS_20FunctionLoweringInfoE", "llvm::ARM::createFastISel(llvm::FunctionLoweringInfo&)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISelD1Ev", "(anonymous namespace)::ARMFastISel::~ARMFastISel()"},
-    {"_ZN12_GLOBAL__N_111ARMFastISelD0Ev", "(anonymous namespace)::ARMFastISel::~ARMFastISel()"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel23TargetSelectInstructionEPKN4llvm11InstructionE", "(anonymous namespace)::ARMFastISel::TargetSelectInstruction(llvm::Instruction const*)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel10FastEmit_rEN4llvm3MVTES2_jjb", "(anonymous namespace)::ARMFastISel::FastEmit_r(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel11FastEmit_rrEN4llvm3MVTES2_jjbjb", "(anonymous namespace)::ARMFastISel::FastEmit_rr(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel11FastEmit_riEN4llvm3MVTES2_jjby", "(anonymous namespace)::ARMFastISel::FastEmit_ri(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel10FastEmit_iEN4llvm3MVTES2_jy", "(anonymous namespace)::ARMFastISel::FastEmit_i(llvm::MVT, llvm::MVT, unsigned int, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel25TargetMaterializeConstantEPKN4llvm8ConstantE", "(anonymous namespace)::ARMFastISel::TargetMaterializeConstant(llvm::Constant const*)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel23TargetMaterializeAllocaEPKN4llvm10AllocaInstE", "(anonymous namespace)::ARMFastISel::TargetMaterializeAlloca(llvm::AllocaInst const*)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel13FastEmitInst_EjPKN4llvm19TargetRegisterClassE", "(anonymous namespace)::ARMFastISel::FastEmitInst_(unsigned int, llvm::TargetRegisterClass const*)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel14FastEmitInst_rEjPKN4llvm19TargetRegisterClassEjb", "(anonymous namespace)::ARMFastISel::FastEmitInst_r(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel15FastEmitInst_rrEjPKN4llvm19TargetRegisterClassEjbjb", "(anonymous namespace)::ARMFastISel::FastEmitInst_rr(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel15FastEmitInst_riEjPKN4llvm19TargetRegisterClassEjby", "(anonymous namespace)::ARMFastISel::FastEmitInst_ri(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel15FastEmitInst_rfEjPKN4llvm19TargetRegisterClassEjbPKNS1_10ConstantFPE", "(anonymous namespace)::ARMFastISel::FastEmitInst_rf(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool, llvm::ConstantFP const*)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel14FastEmitInst_iEjPKN4llvm19TargetRegisterClassEy", "(anonymous namespace)::ARMFastISel::FastEmitInst_i(unsigned int, llvm::TargetRegisterClass const*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel16FastEmitInst_rriEjPKN4llvm19TargetRegisterClassEjbjby", "(anonymous namespace)::ARMFastISel::FastEmitInst_rri(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool, unsigned int, bool, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel26FastEmitInst_extractsubregEN4llvm3MVTEjbj", "(anonymous namespace)::ARMFastISel::FastEmitInst_extractsubreg(llvm::MVT, unsigned int, bool, unsigned int)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel15AddOptionalDefsERKN4llvm19MachineInstrBuilderE", "(anonymous namespace)::ARMFastISel::AddOptionalDefs(llvm::MachineInstrBuilder const&)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel16ARMMaterializeGVEPKN4llvm11GlobalValueENS1_3EVTE", "(anonymous namespace)::ARMFastISel::ARMMaterializeGV(llvm::GlobalValue const*, llvm::EVT)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel14SelectBinaryOpEPKN4llvm11InstructionEj", "(anonymous namespace)::ARMFastISel::SelectBinaryOp(llvm::Instruction const*, unsigned int)"},
-    {"_Z19RetCC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z16CC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z15RetCC_ARM_AAPCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_ARM_AAPCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z12CC_ARM_AAPCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_ARM_AAPCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z14RetCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z11CC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN4llvm13f64AssignAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEb", "llvm::f64AssignAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)"},
-    {"_ZN4llvm12f64RetAssignERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateE", "llvm::f64RetAssign(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&)"},
-    {"_Z19CC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN4llvm14f64AssignAAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEb", "llvm::f64AssignAAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)"},
-    {"_Z22RetCC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel15ProcessCallArgsERN4llvm15SmallVectorImplIPNS1_5ValueEEERNS2_IjEERNS2_INS1_3MVTEEERNS2_INS1_3ISD10ArgFlagsTyEEES8_NS1_11CallingConv2IDERj", "(anonymous namespace)::ARMFastISel::ProcessCallArgs(llvm::SmallVectorImpl<llvm::Value*>&, llvm::SmallVectorImpl<unsigned int>&, llvm::SmallVectorImpl<llvm::MVT>&, llvm::SmallVectorImpl<llvm::ISD::ArgFlagsTy>&, llvm::SmallVectorImpl<unsigned int>&, llvm::CallingConv::ID, unsigned int&)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel10FinishCallEN4llvm3MVTERNS1_15SmallVectorImplIjEEPKNS1_11InstructionENS1_11CallingConv2IDERj", "(anonymous namespace)::ARMFastISel::FinishCall(llvm::MVT, llvm::SmallVectorImpl<unsigned int>&, llvm::Instruction const*, llvm::CallingConv::ID, unsigned int&)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel12ARMEmitStoreEN4llvm3EVTEjRNS_7AddressE", "(anonymous namespace)::ARMFastISel::ARMEmitStore(llvm::EVT, unsigned int, (anonymous namespace)::Address&)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel18ARMSimplifyAddressERNS_7AddressEN4llvm3EVTE", "(anonymous namespace)::ARMFastISel::ARMSimplifyAddress((anonymous namespace)::Address&, llvm::EVT)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel20AddLoadStoreOperandsEN4llvm3EVTERNS_7AddressERKNS1_19MachineInstrBuilderE", "(anonymous namespace)::ARMFastISel::AddLoadStoreOperands(llvm::EVT, (anonymous namespace)::Address&, llvm::MachineInstrBuilder const&)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel14ARMEmitLibcallEPKN4llvm11InstructionENS1_5RTLIB7LibcallE", "(anonymous namespace)::ARMFastISel::ARMEmitLibcall(llvm::Instruction const*, llvm::RTLIB::Libcall)"},
-    {"_ZN12_GLOBAL__N_111ARMFastISel17ARMComputeAddressEPKN4llvm5ValueERNS_7AddressE", "(anonymous namespace)::ARMFastISel::ARMComputeAddress(llvm::Value const*, (anonymous namespace)::Address&)"},
-    {"_ZN4llvm8FastISel13TryToFoldLoadEPNS_12MachineInstrEjPKNS_8LoadInstE", "llvm::FastISel::TryToFoldLoad(llvm::MachineInstr*, unsigned int, llvm::LoadInst const*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_3ISD10ArgFlagsTyELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::ISD::ArgFlagsTy, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_3MVTELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::MVT, false>::grow(unsigned long)"},
-    {"_ZNK4llvm16ARMFrameLowering5hasFPERKNS_15MachineFunctionE", "llvm::ARMFrameLowering::hasFP(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm16ARMFrameLowering20hasReservedCallFrameERKNS_15MachineFunctionE", "llvm::ARMFrameLowering::hasReservedCallFrame(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm16ARMFrameLowering27canSimplifyCallFramePseudosERKNS_15MachineFunctionE", "llvm::ARMFrameLowering::canSimplifyCallFramePseudos(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm16ARMFrameLowering12emitPrologueERNS_15MachineFunctionE", "llvm::ARMFrameLowering::emitPrologue(llvm::MachineFunction&) const"},
-    {"_ZNK4llvm16ARMFrameLowering12emitEpilogueERNS_15MachineFunctionERNS_17MachineBasicBlockE", "llvm::ARMFrameLowering::emitEpilogue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const"},
-    {"_ZNK4llvm16ARMFrameLowering22getFrameIndexReferenceERKNS_15MachineFunctionEiRj", "llvm::ARMFrameLowering::getFrameIndexReference(llvm::MachineFunction const&, int, unsigned int&) const"},
-    {"_ZNK4llvm16ARMFrameLowering26ResolveFrameIndexReferenceERKNS_15MachineFunctionEiRji", "llvm::ARMFrameLowering::ResolveFrameIndexReference(llvm::MachineFunction const&, int, unsigned int&, int) const"},
-    {"_ZNK4llvm16ARMFrameLowering19getFrameIndexOffsetERKNS_15MachineFunctionEi", "llvm::ARMFrameLowering::getFrameIndexOffset(llvm::MachineFunction const&, int) const"},
-    {"_ZNK4llvm16ARMFrameLowering12emitPushInstERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEjjbPFbjbE", "llvm::ARMFrameLowering::emitPushInst(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, unsigned int, unsigned int, bool, bool (*)(unsigned int, bool)) const"},
-    {"_ZNK4llvm16ARMFrameLowering11emitPopInstERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEjjbbPFbjbE", "llvm::ARMFrameLowering::emitPopInst(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, unsigned int, unsigned int, bool, bool, bool (*)(unsigned int, bool)) const"},
-    {"_ZNK4llvm16ARMFrameLowering25spillCalleeSavedRegistersERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEPKNS_18TargetRegisterInfoE", "llvm::ARMFrameLowering::spillCalleeSavedRegisters(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZN4llvm18isARMArea1RegisterEjb", "llvm::isARMArea1Register(unsigned int, bool)"},
-    {"_ZN4llvm18isARMArea2RegisterEjb", "llvm::isARMArea2Register(unsigned int, bool)"},
-    {"_ZN4llvm18isARMArea3RegisterEjb", "llvm::isARMArea3Register(unsigned int, bool)"},
-    {"_ZNK4llvm16ARMFrameLowering27restoreCalleeSavedRegistersERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEPKNS_18TargetRegisterInfoE", "llvm::ARMFrameLowering::restoreCalleeSavedRegisters(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm16ARMFrameLowering36processFunctionBeforeCalleeSavedScanERNS_15MachineFunctionEPNS_12RegScavengerE", "llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(llvm::MachineFunction&, llvm::RegScavenger*) const"},
-    {"_ZSt6__findIPjjET_S1_S1_RKT0_St26random_access_iterator_tag", "unsigned int* std::__find<unsigned int*, unsigned int>(unsigned int*, unsigned int*, unsigned int const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIN4llvm16MachineFrameInfo11StackObjectESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::MachineFrameInfo::StackObject, std::allocator<llvm::MachineFrameInfo::StackObject> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineFrameInfo::StackObject*, std::vector<llvm::MachineFrameInfo::StackObject, std::allocator<llvm::MachineFrameInfo::StackObject> > >, llvm::MachineFrameInfo::StackObject const&)"},
-    {"_ZN4llvm24createARMGlobalMergePassEPKNS_14TargetLoweringE", "llvm::createARMGlobalMergePass(llvm::TargetLowering const*)"},
-    {"_ZN12_GLOBAL__N_114ARMGlobalMergeD1Ev", "(anonymous namespace)::ARMGlobalMerge::~ARMGlobalMerge()"},
-    {"_ZN12_GLOBAL__N_114ARMGlobalMergeD0Ev", "(anonymous namespace)::ARMGlobalMerge::~ARMGlobalMerge()"},
-    {"_ZNK12_GLOBAL__N_114ARMGlobalMerge11getPassNameEv", "(anonymous namespace)::ARMGlobalMerge::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_114ARMGlobalMerge16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::ARMGlobalMerge::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114ARMGlobalMerge16doInitializationERN4llvm6ModuleE", "(anonymous namespace)::ARMGlobalMerge::doInitialization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_114ARMGlobalMerge13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::ARMGlobalMerge::runOnFunction(llvm::Function&)"},
-    {"_ZNK12_GLOBAL__N_114ARMGlobalMerge7doMergeERN4llvm15SmallVectorImplIPNS1_14GlobalVariableEEERNS1_6ModuleEb", "(anonymous namespace)::ARMGlobalMerge::doMerge(llvm::SmallVectorImpl<llvm::GlobalVariable*>&, llvm::Module&, bool) const"},
-    {"_ZSt21__inplace_stable_sortIPPN4llvm14GlobalVariableEN12_GLOBAL__N_114ARMGlobalMerge9GlobalCmpEEvT_S7_T0_", "void std::__inplace_stable_sort<llvm::GlobalVariable**, (anonymous namespace)::ARMGlobalMerge::GlobalCmp>(llvm::GlobalVariable**, llvm::GlobalVariable**, (anonymous namespace)::ARMGlobalMerge::GlobalCmp)"},
-    {"_ZSt22__stable_sort_adaptiveIPPN4llvm14GlobalVariableES3_lN12_GLOBAL__N_114ARMGlobalMerge9GlobalCmpEEvT_S7_T0_T1_T2_", "void std::__stable_sort_adaptive<llvm::GlobalVariable**, llvm::GlobalVariable**, long, (anonymous namespace)::ARMGlobalMerge::GlobalCmp>(llvm::GlobalVariable**, llvm::GlobalVariable**, llvm::GlobalVariable**, long, (anonymous namespace)::ARMGlobalMerge::GlobalCmp)"},
-    {"_ZSt24__merge_sort_with_bufferIPPN4llvm14GlobalVariableES3_N12_GLOBAL__N_114ARMGlobalMerge9GlobalCmpEEvT_S7_T0_T1_", "void std::__merge_sort_with_buffer<llvm::GlobalVariable**, llvm::GlobalVariable**, (anonymous namespace)::ARMGlobalMerge::GlobalCmp>(llvm::GlobalVariable**, llvm::GlobalVariable**, llvm::GlobalVariable**, (anonymous namespace)::ARMGlobalMerge::GlobalCmp)"},
-    {"_ZSt16__merge_adaptiveIPPN4llvm14GlobalVariableElS3_N12_GLOBAL__N_114ARMGlobalMerge9GlobalCmpEEvT_S7_S7_T0_S8_T1_S8_T2_", "void std::__merge_adaptive<llvm::GlobalVariable**, long, llvm::GlobalVariable**, (anonymous namespace)::ARMGlobalMerge::GlobalCmp>(llvm::GlobalVariable**, llvm::GlobalVariable**, llvm::GlobalVariable**, long, long, llvm::GlobalVariable**, long, (anonymous namespace)::ARMGlobalMerge::GlobalCmp)"},
-    {"_ZSt16__insertion_sortIPPN4llvm14GlobalVariableEN12_GLOBAL__N_114ARMGlobalMerge9GlobalCmpEEvT_S7_T0_", "void std::__insertion_sort<llvm::GlobalVariable**, (anonymous namespace)::ARMGlobalMerge::GlobalCmp>(llvm::GlobalVariable**, llvm::GlobalVariable**, (anonymous namespace)::ARMGlobalMerge::GlobalCmp)"},
-    {"_ZSt22__merge_without_bufferIPPN4llvm14GlobalVariableElN12_GLOBAL__N_114ARMGlobalMerge9GlobalCmpEEvT_S7_S7_T0_S8_T1_", "void std::__merge_without_buffer<llvm::GlobalVariable**, long, (anonymous namespace)::ARMGlobalMerge::GlobalCmp>(llvm::GlobalVariable**, llvm::GlobalVariable**, llvm::GlobalVariable**, long, long, (anonymous namespace)::ARMGlobalMerge::GlobalCmp)"},
-    {"_ZSt8__rotateIPPN4llvm14GlobalVariableEEvT_S4_S4_St26random_access_iterator_tag", "void std::__rotate<llvm::GlobalVariable**>(llvm::GlobalVariable**, llvm::GlobalVariable**, llvm::GlobalVariable**, std::random_access_iterator_tag)"},
-    {"_ZN4llvm19ARMHazardRecognizer13getHazardTypeEPNS_5SUnitEi", "llvm::ARMHazardRecognizer::getHazardType(llvm::SUnit*, int)"},
-    {"_ZN4llvm19ARMHazardRecognizer5ResetEv", "llvm::ARMHazardRecognizer::Reset()"},
-    {"_ZN4llvm19ARMHazardRecognizer15EmitInstructionEPNS_5SUnitE", "llvm::ARMHazardRecognizer::EmitInstruction(llvm::SUnit*)"},
-    {"_ZN4llvm19ARMHazardRecognizer12AdvanceCycleEv", "llvm::ARMHazardRecognizer::AdvanceCycle()"},
-    {"_ZN4llvm19ARMHazardRecognizer11RecedeCycleEv", "llvm::ARMHazardRecognizer::RecedeCycle()"},
-    {"_ZN4llvm19ARMHazardRecognizerD1Ev", "llvm::ARMHazardRecognizer::~ARMHazardRecognizer()"},
-    {"_ZN4llvm19ARMHazardRecognizerD0Ev", "llvm::ARMHazardRecognizer::~ARMHazardRecognizer()"},
-    {"_ZN4llvm16createARMISelDagERNS_20ARMBaseTargetMachineENS_10CodeGenOpt5LevelE", "llvm::createARMISelDag(llvm::ARMBaseTargetMachine&, llvm::CodeGenOpt::Level)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISelD1Ev", "(anonymous namespace)::ARMDAGToDAGISel::~ARMDAGToDAGISel()"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISelD0Ev", "(anonymous namespace)::ARMDAGToDAGISel::~ARMDAGToDAGISel()"},
-    {"_ZNK12_GLOBAL__N_115ARMDAGToDAGISel11getPassNameEv", "(anonymous namespace)::ARMDAGToDAGISel::getPassName() const"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeE", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel28SelectInlineAsmMemoryOperandERKN4llvm7SDValueEcRSt6vectorIS2_SaIS2_EE", "(anonymous namespace)::ARMDAGToDAGISel::SelectInlineAsmMemoryOperand(llvm::SDValue const&, char, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >&)"},
-    {"_ZNK12_GLOBAL__N_115ARMDAGToDAGISel21CheckPatternPredicateEj", "(anonymous namespace)::ARMDAGToDAGISel::CheckPatternPredicate(unsigned int) const"},
-    {"_ZNK12_GLOBAL__N_115ARMDAGToDAGISel18CheckNodePredicateEPN4llvm6SDNodeEj", "(anonymous namespace)::ARMDAGToDAGISel::CheckNodePredicate(llvm::SDNode*, unsigned int) const"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel19CheckComplexPatternEPN4llvm6SDNodeES3_NS1_7SDValueEjRNS1_15SmallVectorImplISt4pairIS4_S3_EEE", "(anonymous namespace)::ARMDAGToDAGISel::CheckComplexPattern(llvm::SDNode*, llvm::SDNode*, llvm::SDValue, unsigned int, llvm::SmallVectorImpl<std::pair<llvm::SDValue, llvm::SDNode*> >&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel14RunSDNodeXFormEN4llvm7SDValueEj", "(anonymous namespace)::ARMDAGToDAGISel::RunSDNodeXForm(llvm::SDValue, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel23SelectShifterOperandRegEN4llvm7SDValueERS2_S3_S3_", "(anonymous namespace)::ARMDAGToDAGISel::SelectShifterOperandReg(llvm::SDValue, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel20SelectT2AddrModeImm8EN4llvm7SDValueERS2_S3_", "(anonymous namespace)::ARMDAGToDAGISel::SelectT2AddrModeImm8(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel21SelectThumbAddrModeSPEN4llvm7SDValueERS2_S3_", "(anonymous namespace)::ARMDAGToDAGISel::SelectThumbAddrModeSP(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel15SelectAddrMode6EPN4llvm6SDNodeENS1_7SDValueERS4_S5_", "(anonymous namespace)::ARMDAGToDAGISel::SelectAddrMode6(llvm::SDNode*, llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel21SelectAddrMode2OffsetEPN4llvm6SDNodeENS1_7SDValueERS4_S5_", "(anonymous namespace)::ARMDAGToDAGISel::SelectAddrMode2Offset(llvm::SDNode*, llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel21SelectAddrMode3OffsetEPN4llvm6SDNodeENS1_7SDValueERS4_S5_", "(anonymous namespace)::ARMDAGToDAGISel::SelectAddrMode3Offset(llvm::SDNode*, llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel26SelectT2AddrModeImm8OffsetEPN4llvm6SDNodeENS1_7SDValueERS4_", "(anonymous namespace)::ARMDAGToDAGISel::SelectT2AddrModeImm8Offset(llvm::SDNode*, llvm::SDValue, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel24SelectThumbAddrModeImm5SEN4llvm7SDValueEjRS2_S3_", "(anonymous namespace)::ARMDAGToDAGISel::SelectThumbAddrModeImm5S(llvm::SDValue, unsigned int, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel21SelectThumbAddrModeRIEN4llvm7SDValueERS2_S3_j", "(anonymous namespace)::ARMDAGToDAGISel::SelectThumbAddrModeRI(llvm::SDValue, llvm::SDValue&, llvm::SDValue&, unsigned int)"},
-    {"_ZN4llvm6ARM_AM16decodeNEONModImmEjRj", "llvm::ARM_AM::decodeNEONModImm(unsigned int, unsigned int&)"},
-    {"_ZNK12_GLOBAL__N_115ARMDAGToDAGISel18hasNoVMLxHazardUseEPN4llvm6SDNodeE", "(anonymous namespace)::ARMDAGToDAGISel::hasNoVMLxHazardUse(llvm::SDNode*) const"},
-    {"_ZN4llvm6ARM_AM17isSOImmTwoPartValEj", "llvm::ARM_AM::isSOImmTwoPartVal(unsigned int)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel27SelectV6T2BitfieldExtractOpEPN4llvm6SDNodeEb", "(anonymous namespace)::ARMDAGToDAGISel::SelectV6T2BitfieldExtractOp(llvm::SDNode*, bool)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel12SelectVLDDupEPN4llvm6SDNodeEbjPj", "(anonymous namespace)::ARMDAGToDAGISel::SelectVLDDup(llvm::SDNode*, bool, unsigned int, unsigned int*)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel9SelectVLDEPN4llvm6SDNodeEbjPjS4_S4_", "(anonymous namespace)::ARMDAGToDAGISel::SelectVLD(llvm::SDNode*, bool, unsigned int, unsigned int*, unsigned int*, unsigned int*)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel15SelectVLDSTLaneEPN4llvm6SDNodeEbbjPjS4_", "(anonymous namespace)::ARMDAGToDAGISel::SelectVLDSTLane(llvm::SDNode*, bool, bool, unsigned int, unsigned int*, unsigned int*)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel9SelectVSTEPN4llvm6SDNodeEbjPjS4_S4_", "(anonymous namespace)::ARMDAGToDAGISel::SelectVST(llvm::SDNode*, bool, unsigned int, unsigned int*, unsigned int*, unsigned int*)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel10SelectVTBLEPN4llvm6SDNodeEbjj", "(anonymous namespace)::ARMDAGToDAGISel::SelectVTBL(llvm::SDNode*, bool, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel9QuadDRegsEN4llvm3EVTENS1_7SDValueES3_S3_S3_", "(anonymous namespace)::ARMDAGToDAGISel::QuadDRegs(llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel9QuadQRegsEN4llvm3EVTENS1_7SDValueES3_S3_S3_", "(anonymous namespace)::ARMDAGToDAGISel::QuadQRegs(llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel19SelectT2CMOVShiftOpEPN4llvm6SDNodeENS1_7SDValueES4_NS1_5ARMCC9CondCodesES4_S4_", "(anonymous namespace)::ARMDAGToDAGISel::SelectT2CMOVShiftOp(llvm::SDNode*, llvm::SDValue, llvm::SDValue, llvm::ARMCC::CondCodes, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel20SelectARMCMOVShiftOpEPN4llvm6SDNodeENS1_7SDValueES4_NS1_5ARMCC9CondCodesES4_S4_", "(anonymous namespace)::ARMDAGToDAGISel::SelectARMCMOVShiftOp(llvm::SDNode*, llvm::SDValue, llvm::SDValue, llvm::ARMCC::CondCodes, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel17SelectT2CMOVImmOpEPN4llvm6SDNodeENS1_7SDValueES4_NS1_5ARMCC9CondCodesES4_S4_", "(anonymous namespace)::ARMDAGToDAGISel::SelectT2CMOVImmOp(llvm::SDNode*, llvm::SDValue, llvm::SDValue, llvm::ARMCC::CondCodes, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_115ARMDAGToDAGISel18SelectARMCMOVImmOpEPN4llvm6SDNodeENS1_7SDValueES4_NS1_5ARMCC9CondCodesES4_S4_", "(anonymous namespace)::ARMDAGToDAGISel::SelectARMCMOVImmOp(llvm::SDNode*, llvm::SDValue, llvm::SDValue, llvm::ARMCC::CondCodes, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16SelectionDAGISel21EmitFunctionEntryCodeEv", "llvm::SelectionDAGISel::EmitFunctionEntryCode()"},
-    {"_ZN4llvm16SelectionDAGISel17PreprocessISelDAGEv", "llvm::SelectionDAGISel::PreprocessISelDAG()"},
-    {"_ZN4llvm16SelectionDAGISel18PostprocessISelDAGEv", "llvm::SelectionDAGISel::PostprocessISelDAG()"},
-    {"_ZN4llvm15SmallVectorImplISt4pairINS_7SDValueEPNS_6SDNodeEEE6resizeEj", "llvm::SmallVectorImpl<std::pair<llvm::SDValue, llvm::SDNode*> >::resize(unsigned int)"},
-    {"_ZN4llvm16SelectionDAGISel11ISelUpdaterD1Ev", "llvm::SelectionDAGISel::ISelUpdater::~ISelUpdater()"},
-    {"_ZN4llvm16SelectionDAGISel11ISelUpdaterD0Ev", "llvm::SelectionDAGISel::ISelUpdater::~ISelUpdater()"},
-    {"_ZN4llvm16SelectionDAGISel11ISelUpdater11NodeDeletedEPNS_6SDNodeES3_", "llvm::SelectionDAGISel::ISelUpdater::NodeDeleted(llvm::SDNode*, llvm::SDNode*)"},
-    {"_ZN4llvm16SelectionDAGISel11ISelUpdater11NodeUpdatedEPNS_6SDNodeE", "llvm::SelectionDAGISel::ISelUpdater::NodeUpdated(llvm::SDNode*)"},
-    {"_ZN4llvm17ARMTargetLowering14addTypeForNEONENS_3EVTES1_S1_", "llvm::ARMTargetLowering::addTypeForNEON(llvm::EVT, llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm17ARMTargetLowering16addDRTypeForNEONENS_3EVTE", "llvm::ARMTargetLowering::addDRTypeForNEON(llvm::EVT)"},
-    {"_ZN4llvm17ARMTargetLowering16addQRTypeForNEONENS_3EVTE", "llvm::ARMTargetLowering::addQRTypeForNEON(llvm::EVT)"},
-    {"_ZN4llvm17ARMTargetLoweringC1ERNS_13TargetMachineE", "llvm::ARMTargetLowering::ARMTargetLowering(llvm::TargetMachine&)"},
-    {"_ZN4llvm17ARMTargetLoweringC2ERNS_13TargetMachineE", "llvm::ARMTargetLowering::ARMTargetLowering(llvm::TargetMachine&)"},
-    {"_ZNK4llvm17ARMTargetLowering23findRepresentativeClassENS_3EVTE", "llvm::ARMTargetLowering::findRepresentativeClass(llvm::EVT) const"},
-    {"_ZNK4llvm17ARMTargetLowering17getTargetNodeNameEj", "llvm::ARMTargetLowering::getTargetNodeName(unsigned int) const"},
-    {"_ZNK4llvm17ARMTargetLowering14getRegClassForENS_3EVTE", "llvm::ARMTargetLowering::getRegClassFor(llvm::EVT) const"},
-    {"_ZNK4llvm17ARMTargetLowering14createFastISelERNS_20FunctionLoweringInfoE", "llvm::ARMTargetLowering::createFastISel(llvm::FunctionLoweringInfo&) const"},
-    {"_ZNK4llvm17ARMTargetLowering20getFunctionAlignmentEPKNS_8FunctionE", "llvm::ARMTargetLowering::getFunctionAlignment(llvm::Function const*) const"},
-    {"_ZNK4llvm17ARMTargetLowering22getMaximalGlobalOffsetEv", "llvm::ARMTargetLowering::getMaximalGlobalOffset() const"},
-    {"_ZNK4llvm17ARMTargetLowering23getSchedulingPreferenceEPNS_6SDNodeE", "llvm::ARMTargetLowering::getSchedulingPreference(llvm::SDNode*) const"},
-    {"_ZNK4llvm17ARMTargetLowering19getRegPressureLimitEPKNS_19TargetRegisterClassERNS_15MachineFunctionE", "llvm::ARMTargetLowering::getRegPressureLimit(llvm::TargetRegisterClass const*, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm17ARMTargetLowering17CCAssignFnForNodeENS_11CallingConv2IDEbb", "llvm::ARMTargetLowering::CCAssignFnForNode(llvm::CallingConv::ID, bool, bool) const"},
-    {"_Z18RetFastCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetFastCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z15FastCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "FastCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z19RetCC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z16CC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z14RetCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z11CC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z15RetCC_ARM_AAPCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_ARM_AAPCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_Z12CC_ARM_AAPCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_ARM_AAPCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZNK4llvm17ARMTargetLowering15LowerCallResultENS_7SDValueES1_NS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EE", "llvm::ARMTargetLowering::LowerCallResult(llvm::SDValue, llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const"},
-    {"_ZNK4llvm17ARMTargetLowering16LowerMemOpCallToENS_7SDValueES1_S1_NS_8DebugLocERNS_12SelectionDAGERKNS_11CCValAssignENS_3ISD10ArgFlagsTyE", "llvm::ARMTargetLowering::LowerMemOpCallTo(llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::DebugLoc, llvm::SelectionDAG&, llvm::CCValAssign const&, llvm::ISD::ArgFlagsTy) const"},
-    {"_ZNK4llvm17ARMTargetLowering16PassF64ArgInRegsENS_8DebugLocERNS_12SelectionDAGENS_7SDValueERS4_RNS_11SmallVectorISt4pairIjS4_ELj8EEERNS_11CCValAssignESC_S5_RNS6_IS4_Lj8EEENS_3ISD10ArgFlagsTyE", "llvm::ARMTargetLowering::PassF64ArgInRegs(llvm::DebugLoc, llvm::SelectionDAG&, llvm::SDValue, llvm::SDValue&, llvm::SmallVector<std::pair<unsigned int, llvm::SDValue>, 8u>&, llvm::CCValAssign&, llvm::CCValAssign&, llvm::SDValue&, llvm::SmallVector<llvm::SDValue, 8u>&, llvm::ISD::ArgFlagsTy) const"},
-    {"_ZNK4llvm17ARMTargetLowering9LowerCallENS_7SDValueES1_NS_11CallingConv2IDEbRbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS5_IS1_EERKNS5_INS6_8InputArgEEENS_8DebugLocERNS_12SelectionDAGERSB_", "llvm::ARMTargetLowering::LowerCall(llvm::SDValue, llvm::SDValue, llvm::CallingConv::ID, bool, bool&, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const"},
-    {"_ZNK4llvm17ARMTargetLowering33IsEligibleForTailCallOptimizationENS_7SDValueENS_11CallingConv2IDEbbbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS4_IS1_EERKNS4_INS5_8InputArgEEERNS_12SelectionDAGE", "llvm::ARMTargetLowering::IsEligibleForTailCallOptimization(llvm::SDValue, llvm::CallingConv::ID, bool, bool, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering11LowerReturnENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS4_IS1_EENS_8DebugLocERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerReturn(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::DebugLoc, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering18isUsedByReturnOnlyEPNS_6SDNodeE", "llvm::ARMTargetLowering::isUsedByReturnOnly(llvm::SDNode*) const"},
-    {"_ZNK4llvm17ARMTargetLowering20getJumpTableEncodingEv", "llvm::ARMTargetLowering::getJumpTableEncoding() const"},
-    {"_ZNK4llvm17ARMTargetLowering17LowerBlockAddressENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerBlockAddress(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering29LowerToTLSGeneralDynamicModelEPNS_19GlobalAddressSDNodeERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerToTLSGeneralDynamicModel(llvm::GlobalAddressSDNode*, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering20LowerToTLSExecModelsEPNS_19GlobalAddressSDNodeERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerToTLSExecModels(llvm::GlobalAddressSDNode*, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering21LowerGlobalTLSAddressENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerGlobalTLSAddress(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering21LowerGlobalAddressELFENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerGlobalAddressELF(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering24LowerGlobalAddressDarwinENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerGlobalAddressDarwin(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering24LowerGLOBAL_OFFSET_TABLEENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerGLOBAL_OFFSET_TABLE(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering26LowerEH_SJLJ_DISPATCHSETUPENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerEH_SJLJ_DISPATCHSETUP(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering19LowerEH_SJLJ_SETJMPENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerEH_SJLJ_SETJMP(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering20LowerEH_SJLJ_LONGJMPENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerEH_SJLJ_LONGJMP(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering23LowerINTRINSIC_WO_CHAINENS_7SDValueERNS_12SelectionDAGEPKNS_12ARMSubtargetE", "llvm::ARMTargetLowering::LowerINTRINSIC_WO_CHAIN(llvm::SDValue, llvm::SelectionDAG&, llvm::ARMSubtarget const*) const"},
-    {"_ZNK4llvm17ARMTargetLowering20GetF64FormalArgumentERNS_11CCValAssignES2_RNS_7SDValueERNS_12SelectionDAGENS_8DebugLocE", "llvm::ARMTargetLowering::GetF64FormalArgument(llvm::CCValAssign&, llvm::CCValAssign&, llvm::SDValue&, llvm::SelectionDAG&, llvm::DebugLoc) const"},
-    {"_ZNK4llvm17ARMTargetLowering20LowerFormalArgumentsENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EE", "llvm::ARMTargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const"},
-    {"_ZNK4llvm17ARMTargetLowering9getARMCmpENS_7SDValueES1_NS_3ISD8CondCodeERS1_RNS_12SelectionDAGENS_8DebugLocE", "llvm::ARMTargetLowering::getARMCmp(llvm::SDValue, llvm::SDValue, llvm::ISD::CondCode, llvm::SDValue&, llvm::SelectionDAG&, llvm::DebugLoc) const"},
-    {"_ZNK4llvm17ARMTargetLowering9getVFPCmpENS_7SDValueES1_RNS_12SelectionDAGENS_8DebugLocE", "llvm::ARMTargetLowering::getVFPCmp(llvm::SDValue, llvm::SDValue, llvm::SelectionDAG&, llvm::DebugLoc) const"},
-    {"_ZNK4llvm17ARMTargetLowering11LowerSELECTENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerSELECT(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering14LowerSELECT_CCENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerSELECT_CC(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering17OptimizeVFPBrcondENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::OptimizeVFPBrcond(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_Z14canChangeToIntN4llvm7SDValueERbPKNS_12ARMSubtargetE", "canChangeToInt(llvm::SDValue, bool&, llvm::ARMSubtarget const*)"},
-    {"_Z15bitcastf32Toi32N4llvm7SDValueERNS_12SelectionDAGE", "bitcastf32Toi32(llvm::SDValue, llvm::SelectionDAG&)"},
-    {"_Z14expandf64Toi32N4llvm7SDValueERNS_12SelectionDAGERS0_S3_", "expandf64Toi32(llvm::SDValue, llvm::SelectionDAG&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZNK4llvm17ARMTargetLowering10LowerBR_CCENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerBR_CC(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering10LowerBR_JTENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerBR_JT(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering14LowerFCOPYSIGNENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerFCOPYSIGN(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering15LowerRETURNADDRENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerRETURNADDR(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering14LowerFRAMEADDRENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerFRAMEADDR(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering20LowerShiftRightPartsENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerShiftRightParts(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering19LowerShiftLeftPartsENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerShiftLeftParts(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering16LowerFLT_ROUNDS_ENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerFLT_ROUNDS_(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering17LowerBUILD_VECTORENS_7SDValueERNS_12SelectionDAGEPKNS_12ARMSubtargetE", "llvm::ARMTargetLowering::LowerBUILD_VECTOR(llvm::SDValue, llvm::SelectionDAG&, llvm::ARMSubtarget const*) const"},
-    {"_Z17isNEONModifiedImmyyjRN4llvm12SelectionDAGERNS_3EVTEbNS_14NEONModImmTypeE", "isNEONModifiedImm(unsigned long long, unsigned long long, unsigned int, llvm::SelectionDAG&, llvm::EVT&, bool, llvm::NEONModImmType)"},
-    {"_ZNK4llvm17ARMTargetLowering18ReconstructShuffleENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::ReconstructShuffle(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering18isShuffleMaskLegalERKNS_15SmallVectorImplIiEENS_3EVTE", "llvm::ARMTargetLowering::isShuffleMaskLegal(llvm::SmallVectorImpl<int> const&, llvm::EVT) const"},
-    {"_Z10isVREVMaskRKN4llvm15SmallVectorImplIiEENS_3EVTEj", "isVREVMask(llvm::SmallVectorImpl<int> const&, llvm::EVT, unsigned int)"},
-    {"_Z10isVTRNMaskRKN4llvm15SmallVectorImplIiEENS_3EVTERj", "isVTRNMask(llvm::SmallVectorImpl<int> const&, llvm::EVT, unsigned int&)"},
-    {"_Z10isVUZPMaskRKN4llvm15SmallVectorImplIiEENS_3EVTERj", "isVUZPMask(llvm::SmallVectorImpl<int> const&, llvm::EVT, unsigned int&)"},
-    {"_Z10isVZIPMaskRKN4llvm15SmallVectorImplIiEENS_3EVTERj", "isVZIPMask(llvm::SmallVectorImpl<int> const&, llvm::EVT, unsigned int&)"},
-    {"_Z19isVTRN_v_undef_MaskRKN4llvm15SmallVectorImplIiEENS_3EVTERj", "isVTRN_v_undef_Mask(llvm::SmallVectorImpl<int> const&, llvm::EVT, unsigned int&)"},
-    {"_Z19isVUZP_v_undef_MaskRKN4llvm15SmallVectorImplIiEENS_3EVTERj", "isVUZP_v_undef_Mask(llvm::SmallVectorImpl<int> const&, llvm::EVT, unsigned int&)"},
-    {"_Z19isVZIP_v_undef_MaskRKN4llvm15SmallVectorImplIiEENS_3EVTERj", "isVZIP_v_undef_Mask(llvm::SmallVectorImpl<int> const&, llvm::EVT, unsigned int&)"},
-    {"_ZNK4llvm17ARMTargetLowering14LowerOperationENS_7SDValueERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerOperation(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_Z13ExpandBITCASTPN4llvm6SDNodeERNS_12SelectionDAGE", "ExpandBITCAST(llvm::SDNode*, llvm::SelectionDAG&)"},
-    {"_ZNK4llvm17ARMTargetLowering18ReplaceNodeResultsEPNS_6SDNodeERNS_15SmallVectorImplINS_7SDValueEEERNS_12SelectionDAGE", "llvm::ARMTargetLowering::ReplaceNodeResults(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering17EmitAtomicCmpSwapEPNS_12MachineInstrEPNS_17MachineBasicBlockEj", "llvm::ARMTargetLowering::EmitAtomicCmpSwap(llvm::MachineInstr*, llvm::MachineBasicBlock*, unsigned int) const"},
-    {"_ZNK4llvm17ARMTargetLowering16EmitAtomicBinaryEPNS_12MachineInstrEPNS_17MachineBasicBlockEjj", "llvm::ARMTargetLowering::EmitAtomicBinary(llvm::MachineInstr*, llvm::MachineBasicBlock*, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm17ARMTargetLowering27EmitInstrWithCustomInserterEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::ARMTargetLowering::EmitInstrWithCustomInserter(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm17ARMTargetLowering17PerformDAGCombineEPNS_6SDNodeERNS_14TargetLowering15DAGCombinerInfoE", "llvm::ARMTargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const"},
-    {"_Z21PerformVMOVDRRCombinePN4llvm6SDNodeERNS_12SelectionDAGE", "PerformVMOVDRRCombine(llvm::SDNode*, llvm::SelectionDAG&)"},
-    {"_Z17CombineBaseUpdatePN4llvm6SDNodeERNS_14TargetLowering15DAGCombinerInfoE", "CombineBaseUpdate(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&)"},
-    {"_ZNK4llvm17ARMTargetLowering33isDesirableToTransformToIntegerOpEjNS_3EVTE", "llvm::ARMTargetLowering::isDesirableToTransformToIntegerOp(unsigned int, llvm::EVT) const"},
-    {"_ZNK4llvm17ARMTargetLowering29allowsUnalignedMemoryAccessesENS_3EVTE", "llvm::ARMTargetLowering::allowsUnalignedMemoryAccesses(llvm::EVT) const"},
-    {"_ZNK4llvm17ARMTargetLowering29isLegalT2ScaledAddressingModeERKNS_14TargetLowering8AddrModeENS_3EVTE", "llvm::ARMTargetLowering::isLegalT2ScaledAddressingMode(llvm::TargetLowering::AddrMode const&, llvm::EVT) const"},
-    {"_ZNK4llvm17ARMTargetLowering21isLegalAddressingModeERKNS_14TargetLowering8AddrModeEPKNS_4TypeE", "llvm::ARMTargetLowering::isLegalAddressingMode(llvm::TargetLowering::AddrMode const&, llvm::Type const*) const"},
-    {"_ZNK4llvm17ARMTargetLowering20isLegalICmpImmediateEx", "llvm::ARMTargetLowering::isLegalICmpImmediate(long long) const"},
-    {"_ZNK4llvm17ARMTargetLowering25getPreIndexedAddressPartsEPNS_6SDNodeERNS_7SDValueES4_RNS_3ISD14MemIndexedModeERNS_12SelectionDAGE", "llvm::ARMTargetLowering::getPreIndexedAddressParts(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&, llvm::ISD::MemIndexedMode&, llvm::SelectionDAG&) const"},
-    {"_Z24getT2IndexedAddressPartsPN4llvm6SDNodeENS_3EVTEbRNS_7SDValueES4_RbRNS_12SelectionDAGE", "getT2IndexedAddressParts(llvm::SDNode*, llvm::EVT, bool, llvm::SDValue&, llvm::SDValue&, bool&, llvm::SelectionDAG&)"},
-    {"_Z25getARMIndexedAddressPartsPN4llvm6SDNodeENS_3EVTEbRNS_7SDValueES4_RbRNS_12SelectionDAGE", "getARMIndexedAddressParts(llvm::SDNode*, llvm::EVT, bool, llvm::SDValue&, llvm::SDValue&, bool&, llvm::SelectionDAG&)"},
-    {"_ZNK4llvm17ARMTargetLowering26getPostIndexedAddressPartsEPNS_6SDNodeES2_RNS_7SDValueES4_RNS_3ISD14MemIndexedModeERNS_12SelectionDAGE", "llvm::ARMTargetLowering::getPostIndexedAddressParts(llvm::SDNode*, llvm::SDNode*, llvm::SDValue&, llvm::SDValue&, llvm::ISD::MemIndexedMode&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering30computeMaskedBitsForTargetNodeENS_7SDValueERKNS_5APIntERS2_S5_RKNS_12SelectionDAGEj", "llvm::ARMTargetLowering::computeMaskedBitsForTargetNode(llvm::SDValue, llvm::APInt const&, llvm::APInt&, llvm::APInt&, llvm::SelectionDAG const&, unsigned int) const"},
-    {"_ZNK4llvm17ARMTargetLowering15ExpandInlineAsmEPNS_8CallInstE", "llvm::ARMTargetLowering::ExpandInlineAsm(llvm::CallInst*) const"},
-    {"_ZNK4llvm17ARMTargetLowering17getConstraintTypeERKSs", "llvm::ARMTargetLowering::getConstraintType(std::string const&) const"},
-    {"_ZNK4llvm17ARMTargetLowering30getSingleConstraintMatchWeightERNS_14TargetLowering14AsmOperandInfoEPKc", "llvm::ARMTargetLowering::getSingleConstraintMatchWeight(llvm::TargetLowering::AsmOperandInfo&, char const*) const"},
-    {"_ZNK4llvm17ARMTargetLowering28getRegForInlineAsmConstraintERKSsNS_3EVTE", "llvm::ARMTargetLowering::getRegForInlineAsmConstraint(std::string const&, llvm::EVT) const"},
-    {"_ZNK4llvm17ARMTargetLowering33getRegClassForInlineAsmConstraintERKSsNS_3EVTE", "llvm::ARMTargetLowering::getRegClassForInlineAsmConstraint(std::string const&, llvm::EVT) const"},
-    {"_ZNK4llvm17ARMTargetLowering28LowerAsmOperandForConstraintENS_7SDValueEcRSt6vectorIS1_SaIS1_EERNS_12SelectionDAGE", "llvm::ARMTargetLowering::LowerAsmOperandForConstraint(llvm::SDValue, char, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm17ARMTargetLowering20isOffsetFoldingLegalEPKNS_19GlobalAddressSDNodeE", "llvm::ARMTargetLowering::isOffsetFoldingLegal(llvm::GlobalAddressSDNode const*) const"},
-    {"_ZN4llvm3ARM12getVFPf32ImmERKNS_7APFloatE", "llvm::ARM::getVFPf32Imm(llvm::APFloat const&)"},
-    {"_ZN4llvm3ARM12getVFPf64ImmERKNS_7APFloatE", "llvm::ARM::getVFPf64Imm(llvm::APFloat const&)"},
-    {"_ZN4llvm3ARM22isBitFieldInvertedMaskEj", "llvm::ARM::isBitFieldInvertedMask(unsigned int)"},
-    {"_ZNK4llvm17ARMTargetLowering12isFPImmLegalERKNS_7APFloatENS_3EVTE", "llvm::ARMTargetLowering::isFPImmLegal(llvm::APFloat const&, llvm::EVT) const"},
-    {"_ZNK4llvm17ARMTargetLowering18getTgtMemIntrinsicERNS_14TargetLowering13IntrinsicInfoERKNS_8CallInstEj", "llvm::ARMTargetLowering::getTgtMemIntrinsic(llvm::TargetLowering::IntrinsicInfo&, llvm::CallInst const&, unsigned int) const"},
-    {"_Z12getVShiftImmN4llvm7SDValueEjRx", "getVShiftImm(llvm::SDValue, unsigned int, long long&)"},
-    {"_Z19combineSelectAndUsePN4llvm6SDNodeENS_7SDValueES2_RNS_14TargetLowering15DAGCombinerInfoE", "combineSelectAndUse(llvm::SDNode*, llvm::SDValue, llvm::SDValue, llvm::TargetLowering::DAGCombinerInfo&)"},
-    {"_Z13SkipExtensionPN4llvm6SDNodeERNS_12SelectionDAGE", "SkipExtension(llvm::SDNode*, llvm::SelectionDAG&)"},
-    {"_Z22isExtendedBUILD_VECTORPN4llvm6SDNodeERNS_12SelectionDAGEb", "isExtendedBUILD_VECTOR(llvm::SDNode*, llvm::SelectionDAG&, bool)"},
-    {"_Z22GeneratePerfectShufflejN4llvm7SDValueES0_RNS_12SelectionDAGENS_8DebugLocE", "GeneratePerfectShuffle(unsigned int, llvm::SDValue, llvm::SDValue, llvm::SelectionDAG&, llvm::DebugLoc)"},
-    {"_Z19CC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "CC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN4llvm14f64AssignAAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEb", "llvm::f64AssignAAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)"},
-    {"_Z22RetCC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateE", "RetCC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)"},
-    {"_ZN4llvm12f64RetAssignERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateE", "llvm::f64RetAssign(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&)"},
-    {"_ZN4llvm13f64AssignAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEb", "llvm::f64AssignAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)"},
-    {"_ZN4llvm12SelectionDAG14getCALLSEQ_ENDENS_7SDValueES1_S1_S1_", "llvm::SelectionDAG::getCALLSEQ_END(llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm11make_vectorIjEESt6vectorIT_SaIS2_EES2_z", "std::vector<unsigned int, std::allocator<unsigned int> > llvm::make_vector<unsigned int>(unsigned int, ...)"},
-    {"_ZNSt6vectorIN4llvm14TargetLowering12ArgListEntryESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::TargetLowering::ArgListEntry, std::allocator<llvm::TargetLowering::ArgListEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::TargetLowering::ArgListEntry*, std::vector<llvm::TargetLowering::ArgListEntry, std::allocator<llvm::TargetLowering::ArgListEntry> > >, llvm::TargetLowering::ArgListEntry const&)"},
-    {"_ZN4llvm5APInt11flipAllBitsEv", "llvm::APInt::flipAllBits()"},
-    {"_ZNK4llvm19ShuffleVectorSDNode7getMaskERNS_15SmallVectorImplIiEE", "llvm::ShuffleVectorSDNode::getMask(llvm::SmallVectorImpl<int>&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11CCValAssignELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::CCValAssign, false>::grow(unsigned long)"},
-    {"_ZNK4llvm24TargetLoweringObjectFile26shouldEmitUsedDirectiveForEPKNS_11GlobalValueEPNS_7ManglerE", "llvm::TargetLoweringObjectFile::shouldEmitUsedDirectiveFor(llvm::GlobalValue const*, llvm::Mangler*) const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile29getSpecialCasedSectionGlobalsEPKNS_11GlobalValueEPNS_7ManglerENS_11SectionKindE", "llvm::TargetLoweringObjectFile::getSpecialCasedSectionGlobals(llvm::GlobalValue const*, llvm::Mangler*, llvm::SectionKind) const"},
-    {"_ZNK4llvm22ARMElfTargetObjectFile20getAttributesSectionEv", "llvm::ARMElfTargetObjectFile::getAttributesSection() const"},
-    {"_ZN4llvm27TargetLoweringObjectFileELFD1Ev", "llvm::TargetLoweringObjectFileELF::~TargetLoweringObjectFileELF()"},
-    {"_ZN4llvm27TargetLoweringObjectFileELFD0Ev", "llvm::TargetLoweringObjectFileELF::~TargetLoweringObjectFileELF()"},
-    {"_ZN4llvm29TargetLoweringObjectFileMachOD1Ev", "llvm::TargetLoweringObjectFileMachO::~TargetLoweringObjectFileMachO()"},
-    {"_ZN4llvm29TargetLoweringObjectFileMachOD0Ev", "llvm::TargetLoweringObjectFileMachO::~TargetLoweringObjectFileMachO()"},
-    {"_ZNSt6vectorISt4pairIN4llvm3EVTEPNS1_19TargetRegisterClassEESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<llvm::EVT, llvm::TargetRegisterClass*>, std::allocator<std::pair<llvm::EVT, llvm::TargetRegisterClass*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::EVT, llvm::TargetRegisterClass*>*, std::vector<std::pair<llvm::EVT, llvm::TargetRegisterClass*>, std::allocator<std::pair<llvm::EVT, llvm::TargetRegisterClass*> > > >, std::pair<llvm::EVT, llvm::TargetRegisterClass*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIjN4llvm3MVT15SimpleValueTypeEES0_IKS4_S3_ESt10_Select1stIS6_ESt4lessIS4_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<std::pair<unsigned int, llvm::MVT::SimpleValueType>, std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType>, std::_Select1st<std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> >, std::less<std::pair<unsigned int, llvm::MVT::SimpleValueType> >, std::allocator<std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> >, std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIjN4llvm3MVT15SimpleValueTypeEES0_IKS4_S3_ESt10_Select1stIS6_ESt4lessIS4_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<std::pair<unsigned int, llvm::MVT::SimpleValueType>, std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType>, std::_Select1st<std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> >, std::less<std::pair<unsigned int, llvm::MVT::SimpleValueType> >, std::allocator<std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> > >::_M_insert_unique(std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> const&)"},
-    {"_ZN4llvm12ARMInstrInfoC1ERKNS_12ARMSubtargetE", "llvm::ARMInstrInfo::ARMInstrInfo(llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm12ARMInstrInfoC2ERKNS_12ARMSubtargetE", "llvm::ARMInstrInfo::ARMInstrInfo(llvm::ARMSubtarget const&)"},
-    {"_ZNK4llvm12ARMInstrInfo18getUnindexedOpcodeEj", "llvm::ARMInstrInfo::getUnindexedOpcode(unsigned int) const"},
-    {"_ZN4llvm10ARMJITInfo29replaceMachineCodeForFunctionEPvS1_", "llvm::ARMJITInfo::replaceMachineCodeForFunction(void*, void*)"},
-    {"_ZN4llvm10ARMJITInfo23getLazyResolverFunctionEPFPvS1_E", "llvm::ARMJITInfo::getLazyResolverFunction(void* (*)(void*))"},
-    {"_ZN4llvm10ARMJITInfo26emitGlobalValueIndirectSymEPKNS_11GlobalValueEPvRNS_14JITCodeEmitterE", "llvm::ARMJITInfo::emitGlobalValueIndirectSym(llvm::GlobalValue const*, void*, llvm::JITCodeEmitter&)"},
-    {"_ZN4llvm10ARMJITInfo13getStubLayoutEv", "llvm::ARMJITInfo::getStubLayout()"},
-    {"_ZN4llvm10ARMJITInfo16emitFunctionStubEPKNS_8FunctionEPvRNS_14JITCodeEmitterE", "llvm::ARMJITInfo::emitFunctionStub(llvm::Function const*, void*, llvm::JITCodeEmitter&)"},
-    {"_ZNK4llvm10ARMJITInfo20resolveRelocDestAddrEPNS_17MachineRelocationE", "llvm::ARMJITInfo::resolveRelocDestAddr(llvm::MachineRelocation*) const"},
-    {"_ZN4llvm10ARMJITInfo8relocateEPvPNS_17MachineRelocationEjPh", "llvm::ARMJITInfo::relocate(void*, llvm::MachineRelocation*, unsigned int, unsigned char*)"},
-    {"_ZN4llvm8DenseMapIPvlNS_12DenseMapInfoIS1_EENS2_IlEEE6insertERKSt4pairIS1_lE", "llvm::DenseMap<void*, long, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<long> >::insert(std::pair<void*, long> const&)"},
-    {"_ZN4llvm8DenseMapIPvlNS_12DenseMapInfoIS1_EENS2_IlEEE16InsertIntoBucketERKS1_RKlPSt4pairIS1_lE", "llvm::DenseMap<void*, long, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<long> >::InsertIntoBucket(void* const&, long const&, std::pair<void*, long>*)"},
-    {"_ZN4llvm8DenseMapIPvlNS_12DenseMapInfoIS1_EENS2_IlEEE4growEj", "llvm::DenseMap<void*, long, llvm::DenseMapInfo<void*>, llvm::DenseMapInfo<long> >::grow(unsigned int)"},
-    {"_ZN4llvm6ARM_AM27getLoadStoreMultipleSubModeEi", "llvm::ARM_AM::getLoadStoreMultipleSubMode(int)"},
-    {"_ZN4llvm34createARMLoadStoreOptimizationPassEb", "llvm::createARMLoadStoreOptimizationPass(bool)"},
-    {"_ZN12_GLOBAL__N_115ARMLoadStoreOptD1Ev", "(anonymous namespace)::ARMLoadStoreOpt::~ARMLoadStoreOpt()"},
-    {"_ZN12_GLOBAL__N_115ARMLoadStoreOptD0Ev", "(anonymous namespace)::ARMLoadStoreOpt::~ARMLoadStoreOpt()"},
-    {"_ZNK12_GLOBAL__N_115ARMLoadStoreOpt11getPassNameEv", "(anonymous namespace)::ARMLoadStoreOpt::getPassName() const"},
-    {"_ZN12_GLOBAL__N_115ARMLoadStoreOpt20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::ARMLoadStoreOpt::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_Z10isMemoryOpPKN4llvm12MachineInstrE", "isMemoryOp(llvm::MachineInstr const*)"},
-    {"_ZN12_GLOBAL__N_115ARMLoadStoreOpt12MergeLDR_STRERN4llvm17MachineBasicBlockEjjijNS1_5ARMCC9CondCodesEjjRNS1_11SmallVectorINS0_15MemOpQueueEntryELj8EEERNS6_INS1_14ilist_iteratorINS1_12MachineInstrEEELj4EEE", "(anonymous namespace)::ARMLoadStoreOpt::MergeLDR_STR(llvm::MachineBasicBlock&, unsigned int, unsigned int, int, unsigned int, llvm::ARMCC::CondCodes, unsigned int, unsigned int, llvm::SmallVector<(anonymous namespace)::ARMLoadStoreOpt::MemOpQueueEntry, 8u>&, llvm::SmallVector<llvm::ilist_iterator<llvm::MachineInstr>, 4u>&)"},
-    {"_ZN12_GLOBAL__N_115ARMLoadStoreOpt24MergeBaseUpdateLoadStoreERN4llvm17MachineBasicBlockENS1_14ilist_iteratorINS1_12MachineInstrEEEPKNS1_15TargetInstrInfoERbRS6_", "(anonymous namespace)::ARMLoadStoreOpt::MergeBaseUpdateLoadStore(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::TargetInstrInfo const*, bool&, llvm::ilist_iterator<llvm::MachineInstr>&)"},
-    {"_ZN12_GLOBAL__N_115ARMLoadStoreOpt14MergeOpsUpdateERN4llvm17MachineBasicBlockERNS1_11SmallVectorINS0_15MemOpQueueEntryELj8EEEjjjijbiNS1_5ARMCC9CondCodesEjjNS1_8DebugLocERNS4_INS1_14ilist_iteratorINS1_12MachineInstrEEELj4EEE", "(anonymous namespace)::ARMLoadStoreOpt::MergeOpsUpdate(llvm::MachineBasicBlock&, llvm::SmallVector<(anonymous namespace)::ARMLoadStoreOpt::MemOpQueueEntry, 8u>&, unsigned int, unsigned int, unsigned int, int, unsigned int, bool, int, llvm::ARMCC::CondCodes, unsigned int, unsigned int, llvm::DebugLoc, llvm::SmallVector<llvm::ilist_iterator<llvm::MachineInstr>, 4u>&)"},
-    {"_Z13InsertLDR_STRRN4llvm17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEEibNS_8DebugLocEjjbbjbbbbNS_5ARMCC9CondCodesEjPKNS_15TargetInstrInfoEb", "InsertLDR_STR(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, int, bool, llvm::DebugLoc, unsigned int, unsigned int, bool, bool, unsigned int, bool, bool, bool, bool, llvm::ARMCC::CondCodes, unsigned int, llvm::TargetInstrInfo const*, bool)"},
-    {"_ZN12_GLOBAL__N_123ARMPreAllocLoadStoreOptD1Ev", "(anonymous namespace)::ARMPreAllocLoadStoreOpt::~ARMPreAllocLoadStoreOpt()"},
-    {"_ZN12_GLOBAL__N_123ARMPreAllocLoadStoreOptD0Ev", "(anonymous namespace)::ARMPreAllocLoadStoreOpt::~ARMPreAllocLoadStoreOpt()"},
-    {"_ZNK12_GLOBAL__N_123ARMPreAllocLoadStoreOpt11getPassNameEv", "(anonymous namespace)::ARMPreAllocLoadStoreOpt::getPassName() const"},
-    {"_ZN12_GLOBAL__N_123ARMPreAllocLoadStoreOpt20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::ARMPreAllocLoadStoreOpt::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_123ARMPreAllocLoadStoreOpt13RescheduleOpsEPN4llvm17MachineBasicBlockERNS1_11SmallVectorIPNS1_12MachineInstrELj4EEEjbRNS1_8DenseMapIS6_jNS1_12DenseMapInfoIS6_EENSA_IjEEEE", "(anonymous namespace)::ARMPreAllocLoadStoreOpt::RescheduleOps(llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineInstr*, 4u>&, unsigned int, bool, llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZSt16__introsort_loopIPPN4llvm12MachineInstrElN12_GLOBAL__N_113OffsetCompareEEvT_S6_T0_T1_", "void std::__introsort_loop<llvm::MachineInstr**, long, (anonymous namespace)::OffsetCompare>(llvm::MachineInstr**, llvm::MachineInstr**, long, (anonymous namespace)::OffsetCompare)"},
-    {"_ZNK12_GLOBAL__N_113OffsetCompareclEPKN4llvm12MachineInstrES4_", "(anonymous namespace)::OffsetCompare::operator()(llvm::MachineInstr const*, llvm::MachineInstr const*) const"},
-    {"_ZSt13__adjust_heapIPPN4llvm12MachineInstrElS2_N12_GLOBAL__N_113OffsetCompareEEvT_T0_S7_T1_T2_", "void std::__adjust_heap<llvm::MachineInstr**, long, llvm::MachineInstr*, (anonymous namespace)::OffsetCompare>(llvm::MachineInstr**, long, long, llvm::MachineInstr*, (anonymous namespace)::OffsetCompare)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_14ilist_iteratorINS_12MachineInstrEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::ilist_iterator<llvm::MachineInstr>, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE5clearEv", "llvm::DenseMap<unsigned int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::clear()"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::shrink_and_clear()"},
-    {"_ZN4llvm15SmallVectorImplIPNS_12MachineInstrEEaSERKS3_", "llvm::SmallVectorImpl<llvm::MachineInstr*>::operator=(llvm::SmallVectorImpl<llvm::MachineInstr*> const&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE16FindAndConstructERKj", "llvm::DenseMap<unsigned int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::FindAndConstruct(unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE16InsertIntoBucketERKjRKS4_PSt4pairIjS4_E", "llvm::DenseMap<unsigned int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::InsertIntoBucket(unsigned int const&, llvm::SmallVector<llvm::MachineInstr*, 4u> const&, std::pair<unsigned int, llvm::SmallVector<llvm::MachineInstr*, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::MachineInstr* const&, unsigned int const&, std::pair<llvm::MachineInstr*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm18ARMMCAsmInfoDarwinC1Ev", "llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin()"},
-    {"_ZN4llvm18ARMMCAsmInfoDarwinC2Ev", "llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin()"},
-    {"_ZN4llvm15ARMELFMCAsmInfoC1Ev", "llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo()"},
-    {"_ZN4llvm15ARMELFMCAsmInfoC2Ev", "llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo()"},
-    {"_ZN4llvm15ARMELFMCAsmInfoD1Ev", "llvm::ARMELFMCAsmInfo::~ARMELFMCAsmInfo()"},
-    {"_ZN4llvm15ARMELFMCAsmInfoD0Ev", "llvm::ARMELFMCAsmInfo::~ARMELFMCAsmInfo()"},
-    {"_ZN4llvm18ARMMCAsmInfoDarwinD1Ev", "llvm::ARMMCAsmInfoDarwin::~ARMMCAsmInfoDarwin()"},
-    {"_ZN4llvm18ARMMCAsmInfoDarwinD0Ev", "llvm::ARMMCAsmInfoDarwin::~ARMMCAsmInfoDarwin()"},
-    {"_ZN4llvm22createARMMCCodeEmitterERKNS_6TargetERNS_13TargetMachineERNS_9MCContextE", "llvm::createARMMCCodeEmitter(llvm::Target const&, llvm::TargetMachine&, llvm::MCContext&)"},
-    {"_ZN12_GLOBAL__N_116ARMMCCodeEmitterD1Ev", "(anonymous namespace)::ARMMCCodeEmitter::~ARMMCCodeEmitter()"},
-    {"_ZN12_GLOBAL__N_116ARMMCCodeEmitterD0Ev", "(anonymous namespace)::ARMMCCodeEmitter::~ARMMCCodeEmitter()"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter17EncodeInstructionERKN4llvm6MCInstERNS1_11raw_ostreamERNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::EncodeInstruction(llvm::MCInst const&, llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter21getBinaryCodeForInstrERKN4llvm6MCInstERNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getBinaryCodeForInstr(llvm::MCInst const&, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter17getMachineOpValueERKN4llvm6MCInstERKNS1_9MCOperandERNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getMachineOpValue(llvm::MCInst const&, llvm::MCOperand const&, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter15getSORegOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getSORegOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter17getT2SORegOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getT2SORegOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter17getT2SOImmOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getT2SOImmOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter19getHiLo16ImmOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getHiLo16ImmOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter22getRegisterListOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getRegisterListOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter23getAddrModeImm12OpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getAddrModeImm12OpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter25getT2AddrModeSORegOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getT2AddrModeSORegOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter25getARMBranchTargetOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getARMBranchTargetOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter19getAddrMode5OpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getAddrMode5OpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter19getLdStSORegOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getLdStSORegOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter19getAddrMode3OpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getAddrMode3OpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter25getAddrMode2OffsetOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getAddrMode2OffsetOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter25getAddrMode3OffsetOpValueERKN4llvm6MCInstEjRNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::getAddrMode3OffsetOpValue(llvm::MCInst const&, unsigned int, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZNK12_GLOBAL__N_116ARMMCCodeEmitter22EncodeAddrModeOpValuesERKN4llvm6MCInstEjRjS5_RNS1_15SmallVectorImplINS1_7MCFixupEEE", "(anonymous namespace)::ARMMCCodeEmitter::EncodeAddrModeOpValues(llvm::MCInst const&, unsigned int, unsigned int&, unsigned int&, llvm::SmallVectorImpl<llvm::MCFixup>&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_7MCFixupELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::MCFixup, false>::grow(unsigned long)"},
-    {"_ZN4llvm9ARMMCExpr6CreateENS0_11VariantKindEPKNS_6MCExprERNS_9MCContextE", "llvm::ARMMCExpr::Create(llvm::ARMMCExpr::VariantKind, llvm::MCExpr const*, llvm::MCContext&)"},
-    {"_ZNK4llvm9ARMMCExpr9PrintImplERNS_11raw_ostreamE", "llvm::ARMMCExpr::PrintImpl(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm9ARMMCExpr25EvaluateAsRelocatableImplERNS_7MCValueEPKNS_11MCAsmLayoutE", "llvm::ARMMCExpr::EvaluateAsRelocatableImpl(llvm::MCValue&, llvm::MCAsmLayout const*) const"},
-    {"_ZNK4llvm9ARMMCExpr15AddValueSymbolsEPNS_11MCAssemblerE", "llvm::ARMMCExpr::AddValueSymbols(llvm::MCAssembler*) const"},
-    {"_Z16AddValueSymbols_PKN4llvm6MCExprEPNS_11MCAssemblerE", "AddValueSymbols_(llvm::MCExpr const*, llvm::MCAssembler*)"},
-    {"_ZN4llvm9ARMMCExprD1Ev", "llvm::ARMMCExpr::~ARMMCExpr()"},
-    {"_ZN4llvm9ARMMCExprD0Ev", "llvm::ARMMCExpr::~ARMMCExpr()"},
-    {"_ZN4llvm28LowerARMMachineInstrToMCInstEPKNS_12MachineInstrERNS_6MCInstERNS_13ARMAsmPrinterE", "llvm::LowerARMMachineInstrToMCInst(llvm::MachineInstr const*, llvm::MCInst&, llvm::ARMAsmPrinter&)"},
-    {"_Z12GetSymbolRefRKN4llvm14MachineOperandEPKNS_8MCSymbolERNS_13ARMAsmPrinterE", "GetSymbolRef(llvm::MachineOperand const&, llvm::MCSymbol const*, llvm::ARMAsmPrinter&)"},
-    {"_ZN4llvm15ARMRegisterInfoC1ERKNS_16ARMBaseInstrInfoERKNS_12ARMSubtargetE", "llvm::ARMRegisterInfo::ARMRegisterInfo(llvm::ARMBaseInstrInfo const&, llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm15ARMRegisterInfoC2ERKNS_16ARMBaseInstrInfoERKNS_12ARMSubtargetE", "llvm::ARMRegisterInfo::ARMRegisterInfo(llvm::ARMBaseInstrInfo const&, llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm19ARMSelectionDAGInfoC1ERKNS_13TargetMachineE", "llvm::ARMSelectionDAGInfo::ARMSelectionDAGInfo(llvm::TargetMachine const&)"},
-    {"_ZN4llvm19ARMSelectionDAGInfoC2ERKNS_13TargetMachineE", "llvm::ARMSelectionDAGInfo::ARMSelectionDAGInfo(llvm::TargetMachine const&)"},
-    {"_ZN4llvm19ARMSelectionDAGInfoD0Ev", "llvm::ARMSelectionDAGInfo::~ARMSelectionDAGInfo()"},
-    {"_ZN4llvm19ARMSelectionDAGInfoD1Ev", "llvm::ARMSelectionDAGInfo::~ARMSelectionDAGInfo()"},
-    {"_ZN4llvm19ARMSelectionDAGInfoD2Ev", "llvm::ARMSelectionDAGInfo::~ARMSelectionDAGInfo()"},
-    {"_ZNK4llvm19ARMSelectionDAGInfo23EmitTargetCodeForMemcpyERNS_12SelectionDAGENS_8DebugLocENS_7SDValueES4_S4_S4_jbbNS_18MachinePointerInfoES5_", "llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo) const"},
-    {"_ZNK4llvm22TargetSelectionDAGInfo24EmitTargetCodeForMemmoveERNS_12SelectionDAGENS_8DebugLocENS_7SDValueES4_S4_S4_jbNS_18MachinePointerInfoES5_", "llvm::TargetSelectionDAGInfo::EmitTargetCodeForMemmove(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo) const"},
-    {"_ZNK4llvm22TargetSelectionDAGInfo23EmitTargetCodeForMemsetERNS_12SelectionDAGENS_8DebugLocENS_7SDValueES4_S4_S4_jbNS_18MachinePointerInfoE", "llvm::TargetSelectionDAGInfo::EmitTargetCodeForMemset(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, llvm::MachinePointerInfo) const"},
-    {"_ZN4llvm12ARMSubtarget22ParseSubtargetFeaturesERKSsS2_", "llvm::ARMSubtarget::ParseSubtargetFeatures(std::string const&, std::string const&)"},
-    {"_ZN4llvm12ARMSubtargetC1ERKSsS2_b", "llvm::ARMSubtarget::ARMSubtarget(std::string const&, std::string const&, bool)"},
-    {"_ZN4llvm12ARMSubtargetC2ERKSsS2_b", "llvm::ARMSubtarget::ARMSubtarget(std::string const&, std::string const&, bool)"},
-    {"_ZN4llvm12ARMSubtarget17computeIssueWidthEv", "llvm::ARMSubtarget::computeIssueWidth()"},
-    {"_ZNK4llvm12ARMSubtarget18GVIsIndirectSymbolEPKNS_11GlobalValueENS_5Reloc5ModelE", "llvm::ARMSubtarget::GVIsIndirectSymbol(llvm::GlobalValue const*, llvm::Reloc::Model) const"},
-    {"_ZNK4llvm12ARMSubtarget23getMispredictionPenaltyEv", "llvm::ARMSubtarget::getMispredictionPenalty() const"},
-    {"_ZNK4llvm12ARMSubtarget21enablePostRASchedulerENS_10CodeGenOpt5LevelERNS_15TargetSubtarget16AntiDepBreakModeERNS_15SmallVectorImplIPNS_19TargetRegisterClassEEE", "llvm::ARMSubtarget::enablePostRAScheduler(llvm::CodeGenOpt::Level, llvm::TargetSubtarget::AntiDepBreakMode&, llvm::SmallVectorImpl<llvm::TargetRegisterClass*>&) const"},
-    {"_Z15createMCAsmInfoRKN4llvm6TargetENS_9StringRefE", "createMCAsmInfo(llvm::Target const&, llvm::StringRef)"},
-    {"_Z16createMCStreamerRKN4llvm6TargetERKSsRNS_9MCContextERNS_16TargetAsmBackendERNS_11raw_ostreamEPNS_13MCCodeEmitterEbb", "createMCStreamer(llvm::Target const&, std::string const&, llvm::MCContext&, llvm::TargetAsmBackend&, llvm::raw_ostream&, llvm::MCCodeEmitter*, bool, bool)"},
-    {"_ZN4llvm20ARMBaseTargetMachineC1ERKNS_6TargetERKSsS5_b", "llvm::ARMBaseTargetMachine::ARMBaseTargetMachine(llvm::Target const&, std::string const&, std::string const&, bool)"},
-    {"_ZN4llvm20ARMBaseTargetMachineC2ERKNS_6TargetERKSsS5_b", "llvm::ARMBaseTargetMachine::ARMBaseTargetMachine(llvm::Target const&, std::string const&, std::string const&, bool)"},
-    {"_ZN4llvm16ARMTargetMachineC1ERKNS_6TargetERKSsS5_", "llvm::ARMTargetMachine::ARMTargetMachine(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm16ARMTargetMachineC2ERKNS_6TargetERKSsS5_", "llvm::ARMTargetMachine::ARMTargetMachine(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm18ThumbTargetMachineC1ERKNS_6TargetERKSsS5_", "llvm::ThumbTargetMachine::ThumbTargetMachine(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm18ThumbTargetMachineC2ERKNS_6TargetERKSsS5_", "llvm::ThumbTargetMachine::ThumbTargetMachine(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm20ARMBaseTargetMachine10addPreISelERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::ARMBaseTargetMachine::addPreISel(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm20ARMBaseTargetMachine15addInstSelectorERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::ARMBaseTargetMachine::addInstSelector(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm20ARMBaseTargetMachine14addPreRegAllocERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::ARMBaseTargetMachine::addPreRegAlloc(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm20ARMBaseTargetMachine12addPreSched2ERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::ARMBaseTargetMachine::addPreSched2(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm20ARMBaseTargetMachine14addPreEmitPassERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::ARMBaseTargetMachine::addPreEmitPass(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm20ARMBaseTargetMachine14addCodeEmitterERNS_15PassManagerBaseENS_10CodeGenOpt5LevelERNS_14JITCodeEmitterE", "llvm::ARMBaseTargetMachine::addCodeEmitter(llvm::PassManagerBase&, llvm::CodeGenOpt::Level, llvm::JITCodeEmitter&)"},
-    {"_ZNK4llvm20ARMBaseTargetMachine16getSubtargetImplEv", "llvm::ARMBaseTargetMachine::getSubtargetImpl() const"},
-    {"_ZN4llvm20ARMBaseTargetMachineD1Ev", "llvm::ARMBaseTargetMachine::~ARMBaseTargetMachine()"},
-    {"_ZN4llvm20ARMBaseTargetMachineD0Ev", "llvm::ARMBaseTargetMachine::~ARMBaseTargetMachine()"},
-    {"_ZNK4llvm13TargetMachine12getInstrInfoEv", "llvm::TargetMachine::getInstrInfo() const"},
-    {"_ZNK4llvm13TargetMachine16getFrameLoweringEv", "llvm::TargetMachine::getFrameLowering() const"},
-    {"_ZNK4llvm13TargetMachine17getTargetLoweringEv", "llvm::TargetMachine::getTargetLowering() const"},
-    {"_ZNK4llvm13TargetMachine19getSelectionDAGInfoEv", "llvm::TargetMachine::getSelectionDAGInfo() const"},
-    {"_ZNK4llvm13TargetMachine13getDataLayoutEv", "llvm::TargetMachine::getDataLayout() const"},
-    {"_ZNK4llvm13TargetMachine15getRegisterInfoEv", "llvm::TargetMachine::getRegisterInfo() const"},
-    {"_ZNK4llvm13TargetMachine16getIntrinsicInfoEv", "llvm::TargetMachine::getIntrinsicInfo() const"},
-    {"_ZN4llvm20ARMBaseTargetMachine10getJITInfoEv", "llvm::ARMBaseTargetMachine::getJITInfo()"},
-    {"_ZNK4llvm20ARMBaseTargetMachine21getInstrItineraryDataEv", "llvm::ARMBaseTargetMachine::getInstrItineraryData() const"},
-    {"_ZNK4llvm13TargetMachine16getELFWriterInfoEv", "llvm::TargetMachine::getELFWriterInfo() const"},
-    {"_ZNK4llvm17LLVMTargetMachine25getEnableTailMergeDefaultEv", "llvm::LLVMTargetMachine::getEnableTailMergeDefault() const"},
-    {"_ZN4llvm17LLVMTargetMachine15addPostRegAllocERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::LLVMTargetMachine::addPostRegAlloc(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm18ThumbTargetMachineD1Ev", "llvm::ThumbTargetMachine::~ThumbTargetMachine()"},
-    {"_ZN4llvm18ThumbTargetMachineD0Ev", "llvm::ThumbTargetMachine::~ThumbTargetMachine()"},
-    {"_ZNK4llvm18ThumbTargetMachine12getInstrInfoEv", "llvm::ThumbTargetMachine::getInstrInfo() const"},
-    {"_ZNK4llvm18ThumbTargetMachine16getFrameLoweringEv", "llvm::ThumbTargetMachine::getFrameLowering() const"},
-    {"_ZNK4llvm18ThumbTargetMachine17getTargetLoweringEv", "llvm::ThumbTargetMachine::getTargetLowering() const"},
-    {"_ZNK4llvm18ThumbTargetMachine19getSelectionDAGInfoEv", "llvm::ThumbTargetMachine::getSelectionDAGInfo() const"},
-    {"_ZNK4llvm18ThumbTargetMachine13getDataLayoutEv", "llvm::ThumbTargetMachine::getDataLayout() const"},
-    {"_ZNK4llvm18ThumbTargetMachine15getRegisterInfoEv", "llvm::ThumbTargetMachine::getRegisterInfo() const"},
-    {"_ZNK4llvm18ThumbTargetMachine16getELFWriterInfoEv", "llvm::ThumbTargetMachine::getELFWriterInfo() const"},
-    {"_ZN4llvm16ARMTargetMachineD1Ev", "llvm::ARMTargetMachine::~ARMTargetMachine()"},
-    {"_ZN4llvm16ARMTargetMachineD0Ev", "llvm::ARMTargetMachine::~ARMTargetMachine()"},
-    {"_ZNK4llvm16ARMTargetMachine12getInstrInfoEv", "llvm::ARMTargetMachine::getInstrInfo() const"},
-    {"_ZNK4llvm16ARMTargetMachine16getFrameLoweringEv", "llvm::ARMTargetMachine::getFrameLowering() const"},
-    {"_ZNK4llvm16ARMTargetMachine17getTargetLoweringEv", "llvm::ARMTargetMachine::getTargetLowering() const"},
-    {"_ZNK4llvm16ARMTargetMachine19getSelectionDAGInfoEv", "llvm::ARMTargetMachine::getSelectionDAGInfo() const"},
-    {"_ZNK4llvm16ARMTargetMachine13getDataLayoutEv", "llvm::ARMTargetMachine::getDataLayout() const"},
-    {"_ZNK4llvm16ARMTargetMachine15getRegisterInfoEv", "llvm::ARMTargetMachine::getRegisterInfo() const"},
-    {"_ZNK4llvm16ARMTargetMachine16getELFWriterInfoEv", "llvm::ARMTargetMachine::getELFWriterInfo() const"},
-    {"_ZN4llvm16ARMTargetMachineD2Ev", "llvm::ARMTargetMachine::~ARMTargetMachine()"},
-    {"_ZN4llvm16ARMFrameLoweringD1Ev", "llvm::ARMFrameLowering::~ARMFrameLowering()"},
-    {"_ZN4llvm17ARMTargetLoweringD1Ev", "llvm::ARMTargetLowering::~ARMTargetLowering()"},
-    {"_ZN4llvm12ARMInstrInfoD1Ev", "llvm::ARMInstrInfo::~ARMInstrInfo()"},
-    {"_ZN4llvm20ARMBaseTargetMachineD2Ev", "llvm::ARMBaseTargetMachine::~ARMBaseTargetMachine()"},
-    {"_ZN4llvm10ARMJITInfoD1Ev", "llvm::ARMJITInfo::~ARMJITInfo()"},
-    {"_ZN4llvm12ARMSubtargetD1Ev", "llvm::ARMSubtarget::~ARMSubtarget()"},
-    {"_ZNK4llvm13TargetMachine16getSubtargetImplEv", "llvm::TargetMachine::getSubtargetImpl() const"},
-    {"_ZN4llvm17LLVMTargetMachineD1Ev", "llvm::LLVMTargetMachine::~LLVMTargetMachine()"},
-    {"_ZN4llvm17LLVMTargetMachineD0Ev", "llvm::LLVMTargetMachine::~LLVMTargetMachine()"},
-    {"_ZN4llvm13TargetMachine10getJITInfoEv", "llvm::TargetMachine::getJITInfo()"},
-    {"_ZNK4llvm13TargetMachine21getInstrItineraryDataEv", "llvm::TargetMachine::getInstrItineraryData() const"},
-    {"_ZN4llvm17LLVMTargetMachine10addPreISelERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::LLVMTargetMachine::addPreISel(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm17LLVMTargetMachine15addInstSelectorERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::LLVMTargetMachine::addInstSelector(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm17LLVMTargetMachine14addPreRegAllocERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::LLVMTargetMachine::addPreRegAlloc(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm17LLVMTargetMachine12addPreSched2ERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::LLVMTargetMachine::addPreSched2(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm17LLVMTargetMachine14addPreEmitPassERNS_15PassManagerBaseENS_10CodeGenOpt5LevelE", "llvm::LLVMTargetMachine::addPreEmitPass(llvm::PassManagerBase&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm17LLVMTargetMachine14addCodeEmitterERNS_15PassManagerBaseENS_10CodeGenOpt5LevelERNS_14JITCodeEmitterE", "llvm::LLVMTargetMachine::addCodeEmitter(llvm::PassManagerBase&, llvm::CodeGenOpt::Level, llvm::JITCodeEmitter&)"},
-    {"_ZN4llvm12ARMSubtargetD0Ev", "llvm::ARMSubtarget::~ARMSubtarget()"},
-    {"_ZNK4llvm15TargetSubtarget24getSpecialAddressLatencyEv", "llvm::TargetSubtarget::getSpecialAddressLatency() const"},
-    {"_ZNK4llvm15TargetSubtarget21adjustSchedDependencyEPNS_5SUnitES2_RNS_4SDepE", "llvm::TargetSubtarget::adjustSchedDependency(llvm::SUnit*, llvm::SUnit*, llvm::SDep&) const"},
-    {"_ZN4llvm10ARMJITInfoD0Ev", "llvm::ARMJITInfo::~ARMJITInfo()"},
-    {"_ZN4llvm13TargetJITInfo20getPICJumpTableEntryEmm", "llvm::TargetJITInfo::getPICJumpTableEntry(unsigned long, unsigned long)"},
-    {"_ZN4llvm13TargetJITInfo25allocateThreadLocalMemoryEm", "llvm::TargetJITInfo::allocateThreadLocalMemory(unsigned long)"},
-    {"_ZNK4llvm10ARMJITInfo21hasCustomConstantPoolEv", "llvm::ARMJITInfo::hasCustomConstantPool() const"},
-    {"_ZNK4llvm10ARMJITInfo19hasCustomJumpTablesEv", "llvm::ARMJITInfo::hasCustomJumpTables() const"},
-    {"_ZNK4llvm10ARMJITInfo24allocateSeparateGVMemoryEv", "llvm::ARMJITInfo::allocateSeparateGVMemory() const"},
-    {"_ZN4llvm13TargetJITInfoD1Ev", "llvm::TargetJITInfo::~TargetJITInfo()"},
-    {"_ZN4llvm13TargetJITInfoD0Ev", "llvm::TargetJITInfo::~TargetJITInfo()"},
-    {"_ZN4llvm13TargetJITInfo26emitGlobalValueIndirectSymEPKNS_11GlobalValueEPvRNS_14JITCodeEmitterE", "llvm::TargetJITInfo::emitGlobalValueIndirectSym(llvm::GlobalValue const*, void*, llvm::JITCodeEmitter&)"},
-    {"_ZN4llvm13TargetJITInfo13getStubLayoutEv", "llvm::TargetJITInfo::getStubLayout()"},
-    {"_ZN4llvm13TargetJITInfo16emitFunctionStubEPKNS_8FunctionEPvRNS_14JITCodeEmitterE", "llvm::TargetJITInfo::emitFunctionStub(llvm::Function const*, void*, llvm::JITCodeEmitter&)"},
-    {"_ZN4llvm13TargetJITInfo23getLazyResolverFunctionEPFPvS1_E", "llvm::TargetJITInfo::getLazyResolverFunction(void* (*)(void*))"},
-    {"_ZN4llvm13TargetJITInfo8relocateEPvPNS_17MachineRelocationEjPh", "llvm::TargetJITInfo::relocate(void*, llvm::MachineRelocation*, unsigned int, unsigned char*)"},
-    {"_ZNK4llvm13TargetJITInfo21hasCustomConstantPoolEv", "llvm::TargetJITInfo::hasCustomConstantPool() const"},
-    {"_ZNK4llvm13TargetJITInfo19hasCustomJumpTablesEv", "llvm::TargetJITInfo::hasCustomJumpTables() const"},
-    {"_ZNK4llvm13TargetJITInfo24allocateSeparateGVMemoryEv", "llvm::TargetJITInfo::allocateSeparateGVMemory() const"},
-    {"_ZN4llvm15ARMRegisterInfoD1Ev", "llvm::ARMRegisterInfo::~ARMRegisterInfo()"},
-    {"_ZN4llvm12ARMInstrInfoD0Ev", "llvm::ARMInstrInfo::~ARMInstrInfo()"},
-    {"_ZNK4llvm15TargetInstrInfo33isReallyTriviallyReMaterializableEPKNS_12MachineInstrEPNS_13AliasAnalysisE", "llvm::TargetInstrInfo::isReallyTriviallyReMaterializable(llvm::MachineInstr const*, llvm::AliasAnalysis*) const"},
-    {"_ZNK4llvm15TargetInstrInfo21isCoalescableExtInstrERKNS_12MachineInstrERjS4_S4_", "llvm::TargetInstrInfo::isCoalescableExtInstr(llvm::MachineInstr const&, unsigned int&, unsigned int&, unsigned int&) const"},
-    {"_ZNK4llvm15TargetInstrInfo25isLoadFromStackSlotPostFEEPKNS_12MachineInstrERi", "llvm::TargetInstrInfo::isLoadFromStackSlotPostFE(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm15TargetInstrInfo20hasLoadFromStackSlotEPKNS_12MachineInstrERPKNS_17MachineMemOperandERi", "llvm::TargetInstrInfo::hasLoadFromStackSlot(llvm::MachineInstr const*, llvm::MachineMemOperand const*&, int&) const"},
-    {"_ZNK4llvm15TargetInstrInfo24isStoreToStackSlotPostFEEPKNS_12MachineInstrERi", "llvm::TargetInstrInfo::isStoreToStackSlotPostFE(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm15TargetInstrInfo19hasStoreToStackSlotEPKNS_12MachineInstrERPKNS_17MachineMemOperandERi", "llvm::TargetInstrInfo::hasStoreToStackSlot(llvm::MachineInstr const*, llvm::MachineMemOperand const*&, int&) const"},
-    {"_ZNK4llvm15TargetInstrInfo21scheduleTwoAddrSourceEPNS_12MachineInstrES2_RKNS_18TargetRegisterInfoE", "llvm::TargetInstrInfo::scheduleTwoAddrSource(llvm::MachineInstr*, llvm::MachineInstr*, llvm::TargetRegisterInfo const&) const"},
-    {"_ZNK4llvm15TargetInstrInfo19isLegalToSplitMBBAtERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::TargetInstrInfo::isLegalToSplitMBBAt(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo25isProfitableToDupForIfCvtERNS_17MachineBasicBlockEjff", "llvm::ARMBaseInstrInfo::isProfitableToDupForIfCvt(llvm::MachineBasicBlock&, unsigned int, float, float) const"},
-    {"_ZNK4llvm15TargetInstrInfo21foldMemoryOperandImplERNS_15MachineFunctionEPNS_12MachineInstrERKNS_15SmallVectorImplIjEEi", "llvm::TargetInstrInfo::foldMemoryOperandImpl(llvm::MachineFunction&, llvm::MachineInstr*, llvm::SmallVectorImpl<unsigned int> const&, int) const"},
-    {"_ZNK4llvm15TargetInstrInfo21foldMemoryOperandImplERNS_15MachineFunctionEPNS_12MachineInstrERKNS_15SmallVectorImplIjEES4_", "llvm::TargetInstrInfo::foldMemoryOperandImpl(llvm::MachineFunction&, llvm::MachineInstr*, llvm::SmallVectorImpl<unsigned int> const&, llvm::MachineInstr*) const"},
-    {"_ZNK4llvm15TargetInstrInfo19unfoldMemoryOperandERNS_15MachineFunctionEPNS_12MachineInstrEjbbRNS_15SmallVectorImplIS4_EE", "llvm::TargetInstrInfo::unfoldMemoryOperand(llvm::MachineFunction&, llvm::MachineInstr*, unsigned int, bool, bool, llvm::SmallVectorImpl<llvm::MachineInstr*>&) const"},
-    {"_ZNK4llvm15TargetInstrInfo19unfoldMemoryOperandERNS_12SelectionDAGEPNS_6SDNodeERNS_15SmallVectorImplIS4_EE", "llvm::TargetInstrInfo::unfoldMemoryOperand(llvm::SelectionDAG&, llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDNode*>&) const"},
-    {"_ZNK4llvm15TargetInstrInfo26getOpcodeAfterMemoryUnfoldEjbbPj", "llvm::TargetInstrInfo::getOpcodeAfterMemoryUnfold(unsigned int, bool, bool, unsigned int*) const"},
-    {"_ZNK4llvm15TargetInstrInfo21getNoopForMachoTargetERNS_6MCInstE", "llvm::TargetInstrInfo::getNoopForMachoTarget(llvm::MCInst&) const"},
-    {"_ZNK4llvm16ARMBaseInstrInfo12isPredicatedEPKNS_12MachineInstrE", "llvm::ARMBaseInstrInfo::isPredicated(llvm::MachineInstr const*) const"},
-    {"_ZNK4llvm15TargetInstrInfo24isSafeToMoveRegClassDefsEPKNS_19TargetRegisterClassE", "llvm::TargetInstrInfo::isSafeToMoveRegClassDefs(llvm::TargetRegisterClass const*) const"},
-    {"_ZNK4llvm12ARMInstrInfo15getRegisterInfoEv", "llvm::ARMInstrInfo::getRegisterInfo() const"},
-    {"_ZN4llvm16ARMBaseInstrInfoD1Ev", "llvm::ARMBaseInstrInfo::~ARMBaseInstrInfo()"},
-    {"_ZN4llvm16ARMBaseInstrInfoD0Ev", "llvm::ARMBaseInstrInfo::~ARMBaseInstrInfo()"},
-    {"_ZN4llvm19TargetInstrInfoImplD1Ev", "llvm::TargetInstrInfoImpl::~TargetInstrInfoImpl()"},
-    {"_ZN4llvm19TargetInstrInfoImplD0Ev", "llvm::TargetInstrInfoImpl::~TargetInstrInfoImpl()"},
-    {"_ZNK4llvm15TargetInstrInfo19isLoadFromStackSlotEPKNS_12MachineInstrERi", "llvm::TargetInstrInfo::isLoadFromStackSlot(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm15TargetInstrInfo18isStoreToStackSlotEPKNS_12MachineInstrERi", "llvm::TargetInstrInfo::isStoreToStackSlot(llvm::MachineInstr const*, int&) const"},
-    {"_ZNK4llvm15TargetInstrInfo21convertToThreeAddressERNS_14ilist_iteratorINS_17MachineBasicBlockEEERNS1_INS_12MachineInstrEEEPNS_13LiveVariablesE", "llvm::TargetInstrInfo::convertToThreeAddress(llvm::ilist_iterator<llvm::MachineBasicBlock>&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::LiveVariables*) const"},
-    {"_ZNK4llvm15TargetInstrInfo13AnalyzeBranchERNS_17MachineBasicBlockERPS1_S4_RNS_15SmallVectorImplINS_14MachineOperandEEEb", "llvm::TargetInstrInfo::AnalyzeBranch(llvm::MachineBasicBlock&, llvm::MachineBasicBlock*&, llvm::MachineBasicBlock*&, llvm::SmallVectorImpl<llvm::MachineOperand>&, bool) const"},
-    {"_ZNK4llvm15TargetInstrInfo12RemoveBranchERNS_17MachineBasicBlockE", "llvm::TargetInstrInfo::RemoveBranch(llvm::MachineBasicBlock&) const"},
-    {"_ZNK4llvm15TargetInstrInfo12InsertBranchERNS_17MachineBasicBlockEPS1_S3_RKNS_15SmallVectorImplINS_14MachineOperandEEENS_8DebugLocE", "llvm::TargetInstrInfo::InsertBranch(llvm::MachineBasicBlock&, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::SmallVectorImpl<llvm::MachineOperand> const&, llvm::DebugLoc) const"},
-    {"_ZNK4llvm15TargetInstrInfo19isProfitableToIfCvtERNS_17MachineBasicBlockEjjff", "llvm::TargetInstrInfo::isProfitableToIfCvt(llvm::MachineBasicBlock&, unsigned int, unsigned int, float, float) const"},
-    {"_ZNK4llvm15TargetInstrInfo19isProfitableToIfCvtERNS_17MachineBasicBlockEjjS2_jjff", "llvm::TargetInstrInfo::isProfitableToIfCvt(llvm::MachineBasicBlock&, unsigned int, unsigned int, llvm::MachineBasicBlock&, unsigned int, unsigned int, float, float) const"},
-    {"_ZNK4llvm15TargetInstrInfo25isProfitableToDupForIfCvtERNS_17MachineBasicBlockEjff", "llvm::TargetInstrInfo::isProfitableToDupForIfCvt(llvm::MachineBasicBlock&, unsigned int, float, float) const"},
-    {"_ZNK4llvm15TargetInstrInfo11copyPhysRegERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjb", "llvm::TargetInstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::DebugLoc, unsigned int, unsigned int, bool) const"},
-    {"_ZNK4llvm15TargetInstrInfo19storeRegToStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjbiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::TargetInstrInfo::storeRegToStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, bool, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm15TargetInstrInfo20loadRegFromStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::TargetInstrInfo::loadRegFromStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm15TargetInstrInfo24emitFrameIndexDebugValueERNS_15MachineFunctionEiyPKNS_6MDNodeENS_8DebugLocE", "llvm::TargetInstrInfo::emitFrameIndexDebugValue(llvm::MachineFunction&, int, unsigned long long, llvm::MDNode const*, llvm::DebugLoc) const"},
-    {"_ZNK4llvm15TargetInstrInfo23areLoadsFromSameBasePtrEPNS_6SDNodeES2_RxS3_", "llvm::TargetInstrInfo::areLoadsFromSameBasePtr(llvm::SDNode*, llvm::SDNode*, long long&, long long&) const"},
-    {"_ZNK4llvm15TargetInstrInfo23shouldScheduleLoadsNearEPNS_6SDNodeES2_xxj", "llvm::TargetInstrInfo::shouldScheduleLoadsNear(llvm::SDNode*, llvm::SDNode*, long long, long long, unsigned int) const"},
-    {"_ZNK4llvm15TargetInstrInfo22ReverseBranchConditionERNS_15SmallVectorImplINS_14MachineOperandEEE", "llvm::TargetInstrInfo::ReverseBranchCondition(llvm::SmallVectorImpl<llvm::MachineOperand>&) const"},
-    {"_ZNK4llvm15TargetInstrInfo12isPredicatedEPKNS_12MachineInstrE", "llvm::TargetInstrInfo::isPredicated(llvm::MachineInstr const*) const"},
-    {"_ZNK4llvm15TargetInstrInfo17SubsumesPredicateERKNS_15SmallVectorImplINS_14MachineOperandEEES5_", "llvm::TargetInstrInfo::SubsumesPredicate(llvm::SmallVectorImpl<llvm::MachineOperand> const&, llvm::SmallVectorImpl<llvm::MachineOperand> const&) const"},
-    {"_ZNK4llvm15TargetInstrInfo16DefinesPredicateEPNS_12MachineInstrERSt6vectorINS_14MachineOperandESaIS4_EE", "llvm::TargetInstrInfo::DefinesPredicate(llvm::MachineInstr*, std::vector<llvm::MachineOperand, std::allocator<llvm::MachineOperand> >&) const"},
-    {"_ZNK4llvm15TargetInstrInfo12isPredicableEPNS_12MachineInstrE", "llvm::TargetInstrInfo::isPredicable(llvm::MachineInstr*) const"},
-    {"_ZNK4llvm15TargetInstrInfo14AnalyzeCompareEPKNS_12MachineInstrERjRiS5_", "llvm::TargetInstrInfo::AnalyzeCompare(llvm::MachineInstr const*, unsigned int&, int&, int&) const"},
-    {"_ZNK4llvm15TargetInstrInfo20OptimizeCompareInstrEPNS_12MachineInstrEjiiPKNS_19MachineRegisterInfoE", "llvm::TargetInstrInfo::OptimizeCompareInstr(llvm::MachineInstr*, unsigned int, int, int, llvm::MachineRegisterInfo const*) const"},
-    {"_ZNK4llvm15TargetInstrInfo13FoldImmediateEPNS_12MachineInstrES2_jPNS_19MachineRegisterInfoE", "llvm::TargetInstrInfo::FoldImmediate(llvm::MachineInstr*, llvm::MachineInstr*, unsigned int, llvm::MachineRegisterInfo*) const"},
-    {"_ZNK4llvm15TargetInstrInfo21hasHighOperandLatencyEPKNS_18InstrItineraryDataEPKNS_19MachineRegisterInfoEPKNS_12MachineInstrEjS9_j", "llvm::TargetInstrInfo::hasHighOperandLatency(llvm::InstrItineraryData const*, llvm::MachineRegisterInfo const*, llvm::MachineInstr const*, unsigned int, llvm::MachineInstr const*, unsigned int) const"},
-    {"_ZNSt8_Rb_treeIjjSt9_IdentityIjESt4lessIjESaIjEE8_M_eraseEPSt13_Rb_tree_nodeIjE", "std::_Rb_tree<unsigned int, unsigned int, std::_Identity<unsigned int>, std::less<unsigned int>, std::allocator<unsigned int> >::_M_erase(std::_Rb_tree_node<unsigned int>*)"},
-    {"_ZN4llvm15ARMRegisterInfoD0Ev", "llvm::ARMRegisterInfo::~ARMRegisterInfo()"},
-    {"_ZNK4llvm18TargetRegisterInfo20getCrossCopyRegClassEPKNS_19TargetRegisterClassE", "llvm::TargetRegisterInfo::getCrossCopyRegClass(llvm::TargetRegisterClass const*) const"},
-    {"_ZNK4llvm18TargetRegisterInfo20hasReservedSpillSlotERKNS_15MachineFunctionEjRi", "llvm::TargetRegisterInfo::hasReservedSpillSlot(llvm::MachineFunction const&, unsigned int, int&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo21saveScavengerRegisterERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERS5_PKNS_19TargetRegisterClassEj", "llvm::TargetRegisterInfo::saveScavengerRegister(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::TargetRegisterClass const*, unsigned int) const"},
-    {"_ZN4llvm19ARMBaseRegisterInfoD1Ev", "llvm::ARMBaseRegisterInfo::~ARMBaseRegisterInfo()"},
-    {"_ZN4llvm19ARMBaseRegisterInfoD0Ev", "llvm::ARMBaseRegisterInfo::~ARMBaseRegisterInfo()"},
-    {"_ZN4llvm18ARMGenRegisterInfoD1Ev", "llvm::ARMGenRegisterInfo::~ARMGenRegisterInfo()"},
-    {"_ZN4llvm18ARMGenRegisterInfoD0Ev", "llvm::ARMGenRegisterInfo::~ARMGenRegisterInfo()"},
-    {"_ZNK4llvm18TargetRegisterInfo23canCombineSubRegIndicesEPKNS_19TargetRegisterClassERNS_15SmallVectorImplIjEERj", "llvm::TargetRegisterInfo::canCombineSubRegIndices(llvm::TargetRegisterClass const*, llvm::SmallVectorImpl<unsigned int>&, unsigned int&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo24getMatchingSuperRegClassEPKNS_19TargetRegisterClassES3_j", "llvm::TargetRegisterInfo::getMatchingSuperRegClass(llvm::TargetRegisterClass const*, llvm::TargetRegisterClass const*, unsigned int) const"},
-    {"_ZNK4llvm18TargetRegisterInfo18getPointerRegClassEj", "llvm::TargetRegisterInfo::getPointerRegClass(unsigned int) const"},
-    {"_ZNK4llvm18TargetRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionE", "llvm::TargetRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo19ResolveRegAllocHintEjjRKNS_15MachineFunctionE", "llvm::TargetRegisterInfo::ResolveRegAllocHint(unsigned int, unsigned int, llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo18UpdateRegAllocHintEjjRNS_15MachineFunctionE", "llvm::TargetRegisterInfo::UpdateRegAllocHint(unsigned int, unsigned int, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo26requiresRegisterScavengingERKNS_15MachineFunctionE", "llvm::TargetRegisterInfo::requiresRegisterScavenging(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo28requiresFrameIndexScavengingERKNS_15MachineFunctionE", "llvm::TargetRegisterInfo::requiresFrameIndexScavenging(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo28requiresVirtualBaseRegistersERKNS_15MachineFunctionE", "llvm::TargetRegisterInfo::requiresVirtualBaseRegisters(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm18ARMGenRegisterInfo21needsStackRealignmentERKNS_15MachineFunctionE", "llvm::ARMGenRegisterInfo::needsStackRealignment(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo24getFrameIndexInstrOffsetEPKNS_12MachineInstrEi", "llvm::TargetRegisterInfo::getFrameIndexInstrOffset(llvm::MachineInstr const*, int) const"},
-    {"_ZNK4llvm18TargetRegisterInfo17needsFrameBaseRegEPNS_12MachineInstrEx", "llvm::TargetRegisterInfo::needsFrameBaseReg(llvm::MachineInstr*, long long) const"},
-    {"_ZNK4llvm18TargetRegisterInfo28materializeFrameBaseRegisterEPNS_17MachineBasicBlockEjix", "llvm::TargetRegisterInfo::materializeFrameBaseRegister(llvm::MachineBasicBlock*, unsigned int, int, long long) const"},
-    {"_ZNK4llvm18TargetRegisterInfo17resolveFrameIndexENS_14ilist_iteratorINS_12MachineInstrEEEjx", "llvm::TargetRegisterInfo::resolveFrameIndex(llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, long long) const"},
-    {"_ZNK4llvm18TargetRegisterInfo18isFrameOffsetLegalEPKNS_12MachineInstrEx", "llvm::TargetRegisterInfo::isFrameOffsetLegal(llvm::MachineInstr const*, long long) const"},
-    {"_ZNK4llvm18TargetRegisterInfo29eliminateCallFramePseudoInstrERNS_15MachineFunctionERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::TargetRegisterInfo::eliminateCallFramePseudoInstr(llvm::MachineFunction&, llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>) const"},
-    {"_ZN4llvm17ARMTargetLoweringD0Ev", "llvm::ARMTargetLowering::~ARMTargetLowering()"},
-    {"_ZNK4llvm14TargetLowering17getRepRegClassForENS_3EVTE", "llvm::TargetLowering::getRepRegClassFor(llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering21getRepRegClassCostForENS_3EVTE", "llvm::TargetLowering::getRepRegClassCostFor(llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering22isVectorClearMaskLegalERKNS_15SmallVectorImplIiEENS_3EVTE", "llvm::TargetLowering::isVectorClearMaskLegal(llvm::SmallVectorImpl<int> const&, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering22ShouldShrinkFPConstantENS_3EVTE", "llvm::TargetLowering::ShouldShrinkFPConstant(llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering19getOptimalMemOpTypeEyjjbbRNS_15MachineFunctionE", "llvm::TargetLowering::getOptimalMemOpType(unsigned long long, unsigned int, unsigned int, bool, bool, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm14TargetLowering25LowerCustomJumpTableEntryEPKNS_20MachineJumpTableInfoEPKNS_17MachineBasicBlockEjRNS_9MCContextE", "llvm::TargetLowering::LowerCustomJumpTableEntry(llvm::MachineJumpTableInfo const*, llvm::MachineBasicBlock const*, unsigned int, llvm::MCContext&) const"},
-    {"_ZNK4llvm14TargetLowering22getStackCookieLocationERjS1_", "llvm::TargetLowering::getStackCookieLocation(unsigned int&, unsigned int&) const"},
-    {"_ZNK4llvm14TargetLowering20isTypeDesirableForOpEjNS_3EVTE", "llvm::TargetLowering::isTypeDesirableForOp(unsigned int, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering22IsDesirableToPromoteOpENS_7SDValueERNS_3EVTE", "llvm::TargetLowering::IsDesirableToPromoteOp(llvm::SDValue, llvm::EVT&) const"},
-    {"_ZNK4llvm14TargetLowering14CanLowerReturnENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERNS_11LLVMContextE", "llvm::TargetLowering::CanLowerReturn(llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::LLVMContext&) const"},
-    {"_ZNK4llvm14TargetLowering14isTruncateFreeEPKNS_4TypeES3_", "llvm::TargetLowering::isTruncateFree(llvm::Type const*, llvm::Type const*) const"},
-    {"_ZNK4llvm14TargetLowering14isTruncateFreeENS_3EVTES1_", "llvm::TargetLowering::isTruncateFree(llvm::EVT, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering10isZExtFreeEPKNS_4TypeES3_", "llvm::TargetLowering::isZExtFree(llvm::Type const*, llvm::Type const*) const"},
-    {"_ZNK4llvm14TargetLowering10isZExtFreeENS_3EVTES1_", "llvm::TargetLowering::isZExtFree(llvm::EVT, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering21isNarrowingProfitableENS_3EVTES1_", "llvm::TargetLowering::isNarrowingProfitable(llvm::EVT, llvm::EVT) const"},
-    {"_ZN4llvm16ARMFrameLoweringD0Ev", "llvm::ARMFrameLowering::~ARMFrameLowering()"},
-    {"_ZNK4llvm19TargetFrameLowering24getCalleeSavedSpillSlotsERj", "llvm::TargetFrameLowering::getCalleeSavedSpillSlots(unsigned int&) const"},
-    {"_ZNK4llvm19TargetFrameLowering31targetHandlesStackFrameRoundingEv", "llvm::TargetFrameLowering::targetHandlesStackFrameRounding() const"},
-    {"_ZNK4llvm19TargetFrameLowering35processFunctionBeforeFrameFinalizedERNS_15MachineFunctionE", "llvm::TargetFrameLowering::processFunctionBeforeFrameFinalized(llvm::MachineFunction&) const"},
-    {"_ZN4llvm21RegisterTargetMachineINS_18ThumbTargetMachineEE9AllocatorERKNS_6TargetERKSsS7_", "llvm::RegisterTargetMachine<llvm::ThumbTargetMachine>::Allocator(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZN4llvm21RegisterTargetMachineINS_16ARMTargetMachineEE9AllocatorERKNS_6TargetERKSsS7_", "llvm::RegisterTargetMachine<llvm::ARMTargetMachine>::Allocator(llvm::Target const&, std::string const&, std::string const&)"},
-    {"_ZNK4llvm19TargetFrameLowering25spillCalleeSavedRegistersERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEPKNS_18TargetRegisterInfoE", "llvm::TargetFrameLowering::spillCalleeSavedRegisters(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm19TargetFrameLowering27restoreCalleeSavedRegistersERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEPKNS_18TargetRegisterInfoE", "llvm::TargetFrameLowering::restoreCalleeSavedRegisters(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm19TargetFrameLowering20hasReservedCallFrameERKNS_15MachineFunctionE", "llvm::TargetFrameLowering::hasReservedCallFrame(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19TargetFrameLowering27canSimplifyCallFramePseudosERKNS_15MachineFunctionE", "llvm::TargetFrameLowering::canSimplifyCallFramePseudos(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19TargetFrameLowering36processFunctionBeforeCalleeSavedScanERNS_15MachineFunctionEPNS_12RegScavengerE", "llvm::TargetFrameLowering::processFunctionBeforeCalleeSavedScan(llvm::MachineFunction&, llvm::RegScavenger*) const"},
-    {"_ZN4llvm13ImmutablePass18getAsImmutablePassEv", "llvm::ImmutablePass::getAsImmutablePass()"},
-    {"_ZN4llvm13ImmutablePass11runOnModuleERNS_6ModuleE", "llvm::ImmutablePass::runOnModule(llvm::Module&)"},
-    {"_ZN4llvm10ARMJITInfoC2Ev", "llvm::ARMJITInfo::ARMJITInfo()"},
-    {"_ZN4llvm22ARMElfTargetObjectFile10InitializeERNS_9MCContextERKNS_13TargetMachineE", "llvm::ARMElfTargetObjectFile::Initialize(llvm::MCContext&, llvm::TargetMachine const&)"},
-    {"_ZN4llvm22ARMElfTargetObjectFileD1Ev", "llvm::ARMElfTargetObjectFile::~ARMElfTargetObjectFile()"},
-    {"_ZN4llvm22ARMElfTargetObjectFileD0Ev", "llvm::ARMElfTargetObjectFile::~ARMElfTargetObjectFile()"},
-    {"_ZN4llvm22createMLxExpansionPassEv", "llvm::createMLxExpansionPass()"},
-    {"_ZN12_GLOBAL__N_112MLxExpansionD1Ev", "(anonymous namespace)::MLxExpansion::~MLxExpansion()"},
-    {"_ZN12_GLOBAL__N_112MLxExpansionD0Ev", "(anonymous namespace)::MLxExpansion::~MLxExpansion()"},
-    {"_ZNK12_GLOBAL__N_112MLxExpansion11getPassNameEv", "(anonymous namespace)::MLxExpansion::getPassName() const"},
-    {"_ZN12_GLOBAL__N_112MLxExpansion20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MLxExpansion::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm21createNEONMoveFixPassEv", "llvm::createNEONMoveFixPass()"},
-    {"_ZN12_GLOBAL__N_115NEONMoveFixPassD1Ev", "(anonymous namespace)::NEONMoveFixPass::~NEONMoveFixPass()"},
-    {"_ZN12_GLOBAL__N_115NEONMoveFixPassD0Ev", "(anonymous namespace)::NEONMoveFixPass::~NEONMoveFixPass()"},
-    {"_ZNK12_GLOBAL__N_115NEONMoveFixPass11getPassNameEv", "(anonymous namespace)::NEONMoveFixPass::getPassName() const"},
-    {"_ZN12_GLOBAL__N_115NEONMoveFixPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::NEONMoveFixPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm8DenseMapIjPKNS_12MachineInstrENS_12DenseMapInfoIjEENS4_IS3_EEE16InsertIntoBucketERKjRKS3_PSt4pairIjS3_E", "llvm::DenseMap<unsigned int, llvm::MachineInstr const*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr const*> >::InsertIntoBucket(unsigned int const&, llvm::MachineInstr const* const&, std::pair<unsigned int, llvm::MachineInstr const*>*)"},
-    {"_ZN4llvm8DenseMapIjPKNS_12MachineInstrENS_12DenseMapInfoIjEENS4_IS3_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::MachineInstr const*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr const*> >::grow(unsigned int)"},
-    {"_ZNK4llvm19Thumb1FrameLowering20hasReservedCallFrameERKNS_15MachineFunctionE", "llvm::Thumb1FrameLowering::hasReservedCallFrame(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19Thumb1FrameLowering12emitPrologueERNS_15MachineFunctionE", "llvm::Thumb1FrameLowering::emitPrologue(llvm::MachineFunction&) const"},
-    {"_ZNK4llvm19Thumb1FrameLowering12emitEpilogueERNS_15MachineFunctionERNS_17MachineBasicBlockE", "llvm::Thumb1FrameLowering::emitEpilogue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const"},
-    {"_ZNK4llvm19Thumb1FrameLowering25spillCalleeSavedRegistersERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEPKNS_18TargetRegisterInfoE", "llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm19Thumb1FrameLowering27restoreCalleeSavedRegistersERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERKSt6vectorINS_15CalleeSavedInfoESaIS7_EEPKNS_18TargetRegisterInfoE", "llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZN4llvm19Thumb1FrameLoweringD1Ev", "llvm::Thumb1FrameLowering::~Thumb1FrameLowering()"},
-    {"_ZN4llvm19Thumb1FrameLoweringD0Ev", "llvm::Thumb1FrameLowering::~Thumb1FrameLowering()"},
-    {"_ZNSt6vectorIjSaIjEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPjS1_EERKj", "std::vector<unsigned int, std::allocator<unsigned int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, unsigned int const&)"},
-    {"_ZN4llvm9BitVector6resizeEjb", "llvm::BitVector::resize(unsigned int, bool)"},
-    {"_ZN4llvm15Thumb1InstrInfoC1ERKNS_12ARMSubtargetE", "llvm::Thumb1InstrInfo::Thumb1InstrInfo(llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm15Thumb1InstrInfoC2ERKNS_12ARMSubtargetE", "llvm::Thumb1InstrInfo::Thumb1InstrInfo(llvm::ARMSubtarget const&)"},
-    {"_ZNK4llvm15Thumb1InstrInfo18getUnindexedOpcodeEj", "llvm::Thumb1InstrInfo::getUnindexedOpcode(unsigned int) const"},
-    {"_ZNK4llvm15Thumb1InstrInfo11copyPhysRegERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjb", "llvm::Thumb1InstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::DebugLoc, unsigned int, unsigned int, bool) const"},
-    {"_ZNK4llvm15Thumb1InstrInfo19storeRegToStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjbiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::Thumb1InstrInfo::storeRegToStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, bool, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm15Thumb1InstrInfo20loadRegFromStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::Thumb1InstrInfo::loadRegFromStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZN4llvm15Thumb1InstrInfoD1Ev", "llvm::Thumb1InstrInfo::~Thumb1InstrInfo()"},
-    {"_ZN4llvm15Thumb1InstrInfoD0Ev", "llvm::Thumb1InstrInfo::~Thumb1InstrInfo()"},
-    {"_ZNK4llvm15Thumb1InstrInfo15getRegisterInfoEv", "llvm::Thumb1InstrInfo::getRegisterInfo() const"},
-    {"_ZN4llvm18Thumb1RegisterInfoD1Ev", "llvm::Thumb1RegisterInfo::~Thumb1RegisterInfo()"},
-    {"_ZN4llvm18Thumb1RegisterInfoD0Ev", "llvm::Thumb1RegisterInfo::~Thumb1RegisterInfo()"},
-    {"_ZN4llvm18Thumb1RegisterInfoC1ERKNS_16ARMBaseInstrInfoERKNS_12ARMSubtargetE", "llvm::Thumb1RegisterInfo::Thumb1RegisterInfo(llvm::ARMBaseInstrInfo const&, llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm18Thumb1RegisterInfoC2ERKNS_16ARMBaseInstrInfoERKNS_12ARMSubtargetE", "llvm::Thumb1RegisterInfo::Thumb1RegisterInfo(llvm::ARMBaseInstrInfo const&, llvm::ARMSubtarget const&)"},
-    {"_ZNK4llvm18Thumb1RegisterInfo17emitLoadConstPoolERNS_17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjiNS_5ARMCC9CondCodesEj", "llvm::Thumb1RegisterInfo::emitLoadConstPool(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::DebugLoc, unsigned int, unsigned int, int, llvm::ARMCC::CondCodes, unsigned int) const"},
-    {"_ZN4llvm25emitThumbRegPlusImmediateERNS_17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEEjjiRKNS_15TargetInstrInfoERKNS_19ARMBaseRegisterInfoENS_8DebugLocE", "llvm::emitThumbRegPlusImmediate(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, unsigned int, unsigned int, int, llvm::TargetInstrInfo const&, llvm::ARMBaseRegisterInfo const&, llvm::DebugLoc)"},
-    {"_Z24emitThumbRegPlusImmInRegRN4llvm17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEEjjibRKNS_15TargetInstrInfoERKNS_19ARMBaseRegisterInfoENS_8DebugLocE", "emitThumbRegPlusImmInReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, unsigned int, unsigned int, int, bool, llvm::TargetInstrInfo const&, llvm::ARMBaseRegisterInfo const&, llvm::DebugLoc)"},
-    {"_ZNK4llvm18Thumb1RegisterInfo29eliminateCallFramePseudoInstrERNS_15MachineFunctionERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::Thumb1RegisterInfo::eliminateCallFramePseudoInstr(llvm::MachineFunction&, llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>) const"},
-    {"_ZNK4llvm18Thumb1RegisterInfo17rewriteFrameIndexENS_14ilist_iteratorINS_12MachineInstrEEEjjRiRKNS_16ARMBaseInstrInfoE", "llvm::Thumb1RegisterInfo::rewriteFrameIndex(llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, unsigned int, int&, llvm::ARMBaseInstrInfo const&) const"},
-    {"_ZNK4llvm18Thumb1RegisterInfo17resolveFrameIndexENS_14ilist_iteratorINS_12MachineInstrEEEjx", "llvm::Thumb1RegisterInfo::resolveFrameIndex(llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, long long) const"},
-    {"_ZNK4llvm18Thumb1RegisterInfo21saveScavengerRegisterERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEERS5_PKNS_19TargetRegisterClassEj", "llvm::Thumb1RegisterInfo::saveScavengerRegister(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::TargetRegisterClass const*, unsigned int) const"},
-    {"_ZNK4llvm18Thumb1RegisterInfo19eliminateFrameIndexENS_14ilist_iteratorINS_12MachineInstrEEEiPNS_12RegScavengerE", "llvm::Thumb1RegisterInfo::eliminateFrameIndex(llvm::ilist_iterator<llvm::MachineInstr>, int, llvm::RegScavenger*) const"},
-    {"_ZN4llvm23createThumb2ITBlockPassEv", "llvm::createThumb2ITBlockPass()"},
-    {"_ZN12_GLOBAL__N_117Thumb2ITBlockPassD1Ev", "(anonymous namespace)::Thumb2ITBlockPass::~Thumb2ITBlockPass()"},
-    {"_ZN12_GLOBAL__N_117Thumb2ITBlockPassD0Ev", "(anonymous namespace)::Thumb2ITBlockPass::~Thumb2ITBlockPass()"},
-    {"_ZNK12_GLOBAL__N_117Thumb2ITBlockPass11getPassNameEv", "(anonymous namespace)::Thumb2ITBlockPass::getPassName() const"},
-    {"_ZN12_GLOBAL__N_117Thumb2ITBlockPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::Thumb2ITBlockPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_Z12TrackDefUsesPN4llvm12MachineInstrERNS_8SmallSetIjLj4EEES4_PKNS_18TargetRegisterInfoE", "TrackDefUses(llvm::MachineInstr*, llvm::SmallSet<unsigned int, 4u>&, llvm::SmallSet<unsigned int, 4u>&, llvm::TargetRegisterInfo const*)"},
-    {"_ZN4llvm8SmallSetIjLj4EE6insertERKj", "llvm::SmallSet<unsigned int, 4u>::insert(unsigned int const&)"},
-    {"_ZN4llvm15Thumb2InstrInfoC1ERKNS_12ARMSubtargetE", "llvm::Thumb2InstrInfo::Thumb2InstrInfo(llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm15Thumb2InstrInfoC2ERKNS_12ARMSubtargetE", "llvm::Thumb2InstrInfo::Thumb2InstrInfo(llvm::ARMSubtarget const&)"},
-    {"_ZNK4llvm15Thumb2InstrInfo18getUnindexedOpcodeEj", "llvm::Thumb2InstrInfo::getUnindexedOpcode(unsigned int) const"},
-    {"_ZNK4llvm15Thumb2InstrInfo23ReplaceTailWithBranchToENS_14ilist_iteratorINS_12MachineInstrEEEPNS_17MachineBasicBlockE", "llvm::Thumb2InstrInfo::ReplaceTailWithBranchTo(llvm::ilist_iterator<llvm::MachineInstr>, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm15Thumb2InstrInfo19isLegalToSplitMBBAtERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::Thumb2InstrInfo::isLegalToSplitMBBAt(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>) const"},
-    {"_ZN4llvm19getITInstrPredicateEPKNS_12MachineInstrERj", "llvm::getITInstrPredicate(llvm::MachineInstr const*, unsigned int&)"},
-    {"_ZNK4llvm15Thumb2InstrInfo11copyPhysRegERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjb", "llvm::Thumb2InstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::DebugLoc, unsigned int, unsigned int, bool) const"},
-    {"_ZNK4llvm15Thumb2InstrInfo19storeRegToStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjbiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::Thumb2InstrInfo::storeRegToStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, bool, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm15Thumb2InstrInfo20loadRegFromStackSlotERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjiPKNS_19TargetRegisterClassEPKNS_18TargetRegisterInfoE", "llvm::Thumb2InstrInfo::loadRegFromStackSlot(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, int, llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const"},
-    {"_ZN4llvm22emitT2RegPlusImmediateERNS_17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjiNS_5ARMCC9CondCodesEjRKNS_16ARMBaseInstrInfoE", "llvm::emitT2RegPlusImmediate(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::DebugLoc, unsigned int, unsigned int, int, llvm::ARMCC::CondCodes, unsigned int, llvm::ARMBaseInstrInfo const&)"},
-    {"_ZN4llvm19rewriteT2FrameIndexERNS_12MachineInstrEjjRiRKNS_16ARMBaseInstrInfoE", "llvm::rewriteT2FrameIndex(llvm::MachineInstr&, unsigned int, unsigned int, int&, llvm::ARMBaseInstrInfo const&)"},
-    {"_ZNK4llvm15Thumb2InstrInfo21scheduleTwoAddrSourceEPNS_12MachineInstrES2_RKNS_18TargetRegisterInfoE", "llvm::Thumb2InstrInfo::scheduleTwoAddrSource(llvm::MachineInstr*, llvm::MachineInstr*, llvm::TargetRegisterInfo const&) const"},
-    {"_ZN4llvm15Thumb2InstrInfoD1Ev", "llvm::Thumb2InstrInfo::~Thumb2InstrInfo()"},
-    {"_ZN4llvm15Thumb2InstrInfoD0Ev", "llvm::Thumb2InstrInfo::~Thumb2InstrInfo()"},
-    {"_ZNK4llvm15Thumb2InstrInfo15getRegisterInfoEv", "llvm::Thumb2InstrInfo::getRegisterInfo() const"},
-    {"_ZN4llvm18Thumb2RegisterInfoD1Ev", "llvm::Thumb2RegisterInfo::~Thumb2RegisterInfo()"},
-    {"_ZN4llvm18Thumb2RegisterInfoD0Ev", "llvm::Thumb2RegisterInfo::~Thumb2RegisterInfo()"},
-    {"_ZN4llvm18Thumb2RegisterInfoC1ERKNS_16ARMBaseInstrInfoERKNS_12ARMSubtargetE", "llvm::Thumb2RegisterInfo::Thumb2RegisterInfo(llvm::ARMBaseInstrInfo const&, llvm::ARMSubtarget const&)"},
-    {"_ZN4llvm18Thumb2RegisterInfoC2ERKNS_16ARMBaseInstrInfoERKNS_12ARMSubtargetE", "llvm::Thumb2RegisterInfo::Thumb2RegisterInfo(llvm::ARMBaseInstrInfo const&, llvm::ARMSubtarget const&)"},
-    {"_ZNK4llvm18Thumb2RegisterInfo17emitLoadConstPoolERNS_17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEENS_8DebugLocEjjiNS_5ARMCC9CondCodesEj", "llvm::Thumb2RegisterInfo::emitLoadConstPool(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::DebugLoc, unsigned int, unsigned int, int, llvm::ARMCC::CondCodes, unsigned int) const"},
-    {"_ZN4llvm29createThumb2SizeReductionPassEv", "llvm::createThumb2SizeReductionPass()"},
-    {"_ZN12_GLOBAL__N_116Thumb2SizeReduceD1Ev", "(anonymous namespace)::Thumb2SizeReduce::~Thumb2SizeReduce()"},
-    {"_ZN12_GLOBAL__N_116Thumb2SizeReduceD0Ev", "(anonymous namespace)::Thumb2SizeReduce::~Thumb2SizeReduce()"},
-    {"_ZNK12_GLOBAL__N_116Thumb2SizeReduce11getPassNameEv", "(anonymous namespace)::Thumb2SizeReduce::getPassName() const"},
-    {"_ZN12_GLOBAL__N_116Thumb2SizeReduce20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::Thumb2SizeReduce::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_116Thumb2SizeReduce13ReduceTo2AddrERN4llvm17MachineBasicBlockEPNS1_12MachineInstrERKNS_11ReduceEntryEb", "(anonymous namespace)::Thumb2SizeReduce::ReduceTo2Addr(llvm::MachineBasicBlock&, llvm::MachineInstr*, (anonymous namespace)::ReduceEntry const&, bool)"},
-    {"_ZN12_GLOBAL__N_116Thumb2SizeReduce14ReduceToNarrowERN4llvm17MachineBasicBlockEPNS1_12MachineInstrERKNS_11ReduceEntryEb", "(anonymous namespace)::Thumb2SizeReduce::ReduceToNarrow(llvm::MachineBasicBlock&, llvm::MachineInstr*, (anonymous namespace)::ReduceEntry const&, bool)"},
-    {"_ZN4llvm14TargetLowering15DAGCombinerInfo13AddToWorklistEPNS_6SDNodeE", "llvm::TargetLowering::DAGCombinerInfo::AddToWorklist(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner13AddToWorkListEPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::AddToWorkList(llvm::SDNode*)"},
-    {"_ZN4llvm14TargetLowering15DAGCombinerInfo9CombineToEPNS_6SDNodeERKSt6vectorINS_7SDValueESaIS5_EEb", "llvm::TargetLowering::DAGCombinerInfo::CombineTo(llvm::SDNode*, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> > const&, bool)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner9CombineToEPN4llvm6SDNodeEPKNS1_7SDValueEjb", "(anonymous namespace)::DAGCombiner::CombineTo(llvm::SDNode*, llvm::SDValue const*, unsigned int, bool)"},
-    {"_ZN4llvm14TargetLowering15DAGCombinerInfo9CombineToEPNS_6SDNodeENS_7SDValueEb", "llvm::TargetLowering::DAGCombinerInfo::CombineTo(llvm::SDNode*, llvm::SDValue, bool)"},
-    {"_ZN4llvm14TargetLowering15DAGCombinerInfo9CombineToEPNS_6SDNodeENS_7SDValueES4_b", "llvm::TargetLowering::DAGCombinerInfo::CombineTo(llvm::SDNode*, llvm::SDValue, llvm::SDValue, bool)"},
-    {"_ZN4llvm14TargetLowering15DAGCombinerInfo23CommitTargetLoweringOptERKNS0_17TargetLoweringOptE", "llvm::TargetLowering::DAGCombinerInfo::CommitTargetLoweringOpt(llvm::TargetLowering::TargetLoweringOpt const&)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner23CommitTargetLoweringOptERKN4llvm14TargetLowering17TargetLoweringOptE", "(anonymous namespace)::DAGCombiner::CommitTargetLoweringOpt(llvm::TargetLowering::TargetLoweringOpt const&)"},
-    {"_ZN4llvm12SelectionDAG7CombineENS_12CombineLevelERNS_13AliasAnalysisENS_10CodeGenOpt5LevelE", "llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AliasAnalysis&, llvm::CodeGenOpt::Level)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner7combineEPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::combine(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_115WorkListRemoverD1Ev", "(anonymous namespace)::WorkListRemover::~WorkListRemover()"},
-    {"_ZN12_GLOBAL__N_115WorkListRemoverD0Ev", "(anonymous namespace)::WorkListRemover::~WorkListRemover()"},
-    {"_ZN12_GLOBAL__N_115WorkListRemover11NodeDeletedEPN4llvm6SDNodeES3_", "(anonymous namespace)::WorkListRemover::NodeDeleted(llvm::SDNode*, llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_115WorkListRemover11NodeUpdatedEPN4llvm6SDNodeE", "(anonymous namespace)::WorkListRemover::NodeUpdated(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner5visitEPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::visit(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner18SExtPromoteOperandEN4llvm7SDValueENS1_3EVTE", "(anonymous namespace)::DAGCombiner::SExtPromoteOperand(llvm::SDValue, llvm::EVT)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner18ZExtPromoteOperandEN4llvm7SDValueENS1_3EVTE", "(anonymous namespace)::DAGCombiner::ZExtPromoteOperand(llvm::SDValue, llvm::EVT)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner14PromoteOperandEN4llvm7SDValueENS1_3EVTERb", "(anonymous namespace)::DAGCombiner::PromoteOperand(llvm::SDValue, llvm::EVT, bool&)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner27ReplaceLoadWithPromotedLoadEPN4llvm6SDNodeES3_", "(anonymous namespace)::DAGCombiner::ReplaceLoadWithPromotedLoad(llvm::SDNode*, llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner8visitXOREPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::visitXOR(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner15FindBetterChainEPN4llvm6SDNodeENS1_7SDValueE", "(anonymous namespace)::DAGCombiner::FindBetterChain(llvm::SDNode*, llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner28CombineToPreIndexedLoadStoreEPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::CombineToPreIndexedLoadStore(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner29CombineToPostIndexedLoadStoreEPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::CombineToPostIndexedLoadStore(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner15GetDemandedBitsEN4llvm7SDValueERKNS1_5APIntE", "(anonymous namespace)::DAGCombiner::GetDemandedBits(llvm::SDValue, llvm::APInt const&)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner20SimplifyDemandedBitsEN4llvm7SDValueERKNS1_5APIntE", "(anonymous namespace)::DAGCombiner::SimplifyDemandedBits(llvm::SDValue, llvm::APInt const&)"},
-    {"_Z18CheckForMaskedLoadN4llvm7SDValueES0_S0_", "CheckForMaskedLoad(llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_Z31ShrinkLoadReplaceStoreWithStoreRKSt4pairIjjEN4llvm7SDValueEPNS3_11StoreSDNodeEPN12_GLOBAL__N_111DAGCombinerE", "ShrinkLoadReplaceStoreWithStore(std::pair<unsigned int, unsigned int> const&, llvm::SDValue, llvm::StoreSDNode*, (anonymous namespace)::DAGCombiner*)"},
-    {"_ZNK12_GLOBAL__N_111DAGCombiner13FindAliasInfoEPN4llvm6SDNodeERNS1_7SDValueERxRPKNS1_5ValueERiRjRPKNS1_6MDNodeE", "(anonymous namespace)::DAGCombiner::FindAliasInfo(llvm::SDNode*, llvm::SDValue&, long long&, llvm::Value const*&, int&, unsigned int&, llvm::MDNode const*&) const"},
-    {"_Z18isNegatibleForFreeN4llvm7SDValueEbj", "isNegatibleForFree(llvm::SDValue, bool, unsigned int)"},
-    {"_Z20GetNegatedExpressionN4llvm7SDValueERNS_12SelectionDAGEbj", "GetNegatedExpression(llvm::SDValue, llvm::SelectionDAG&, bool, unsigned int)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner14SimplifyVBinOpEPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::SimplifyVBinOp(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner23CombineConsecutiveLoadsEPN4llvm6SDNodeENS1_3EVTE", "(anonymous namespace)::DAGCombiner::CombineConsecutiveLoads(llvm::SDNode*, llvm::EVT)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner33ConstantFoldBITCASTofBUILD_VECTOREPN4llvm6SDNodeENS1_3EVTE", "(anonymous namespace)::DAGCombiner::ConstantFoldBITCASTofBUILD_VECTOR(llvm::SDNode*, llvm::EVT)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner15ReduceLoadWidthEPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::ReduceLoadWidth(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner20SimplifyDemandedBitsEN4llvm7SDValueE", "(anonymous namespace)::DAGCombiner::SimplifyDemandedBits(llvm::SDValue)"},
-    {"_Z23ExtendUsesToFormExtLoadPN4llvm6SDNodeENS_7SDValueEjRNS_11SmallVectorIS1_Lj4EEERKNS_14TargetLoweringE", "ExtendUsesToFormExtLoad(llvm::SDNode*, llvm::SDValue, unsigned int, llvm::SmallVector<llvm::SDNode*, 4u>&, llvm::TargetLowering const&)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner16SimplifySelectCCEN4llvm8DebugLocENS1_7SDValueES3_S3_S3_NS1_3ISD8CondCodeEb", "(anonymous namespace)::DAGCombiner::SimplifySelectCC(llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::ISD::CondCode, bool)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner17SimplifySelectOpsEPN4llvm6SDNodeENS1_7SDValueES4_", "(anonymous namespace)::DAGCombiner::SimplifySelectOps(llvm::SDNode*, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner20visitShiftByConstantEPN4llvm6SDNodeEj", "(anonymous namespace)::DAGCombiner::visitShiftByConstant(llvm::SDNode*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner14ReassociateOpsEjN4llvm8DebugLocENS1_7SDValueES3_", "(anonymous namespace)::DAGCombiner::ReassociateOps(unsigned int, llvm::DebugLoc, llvm::SDValue, llvm::SDValue)"},
-    {"_Z17isSetCCEquivalentN4llvm7SDValueERS0_S1_S1_", "isSetCCEquivalent(llvm::SDValue, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner32SimplifyBinOpWithSameOpcodeHandsEPN4llvm6SDNodeE", "(anonymous namespace)::DAGCombiner::SimplifyBinOpWithSameOpcodeHands(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_111DAGCombiner26SimplifyNodeWithTwoResultsEPN4llvm6SDNodeEjj", "(anonymous namespace)::DAGCombiner::SimplifyNodeWithTwoResults(llvm::SDNode*, unsigned int, unsigned int)"},
-    {"_Z21combineShlAddConstantN4llvm8DebugLocENS_7SDValueES1_RNS_12SelectionDAGE", "combineShlAddConstant(llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SelectionDAG&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm6SDNodeESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::SDNode**, std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::SDNode**, std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> > >, llvm::SDNode*>(__gnu_cxx::__normal_iterator<llvm::SDNode**, std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> > >, __gnu_cxx::__normal_iterator<llvm::SDNode**, std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> > >, llvm::SDNode* const&, std::random_access_iterator_tag)"},
-    {"_ZNK4llvm3EVT6bitsGEES0_", "llvm::EVT::bitsGE(llvm::EVT) const"},
-    {"_ZSt6__findIPPN4llvm6SDNodeES2_ET_S4_S4_RKT0_St26random_access_iterator_tag", "llvm::SDNode** std::__find<llvm::SDNode**, llvm::SDNode*>(llvm::SDNode**, llvm::SDNode**, llvm::SDNode* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8FastISel13startNewBlockEv", "llvm::FastISel::startNewBlock()"},
-    {"_ZNK4llvm8FastISel14hasTrivialKillEPKNS_5ValueE", "llvm::FastISel::hasTrivialKill(llvm::Value const*) const"},
-    {"_ZN4llvm8FastISel14getRegForValueEPKNS_5ValueE", "llvm::FastISel::getRegForValue(llvm::Value const*)"},
-    {"_ZN4llvm8FastISel19enterLocalValueAreaEv", "llvm::FastISel::enterLocalValueArea()"},
-    {"_ZN4llvm8FastISel22materializeRegForValueEPKNS_5ValueENS_3MVTE", "llvm::FastISel::materializeRegForValue(llvm::Value const*, llvm::MVT)"},
-    {"_ZN4llvm8FastISel19leaveLocalValueAreaENS0_9SavePointE", "llvm::FastISel::leaveLocalValueArea(llvm::FastISel::SavePoint)"},
-    {"_ZN4llvm8FastISel14SelectOperatorEPKNS_4UserEj", "llvm::FastISel::SelectOperator(llvm::User const*, unsigned int)"},
-    {"_ZN4llvm8FastISel17lookUpRegForValueEPKNS_5ValueE", "llvm::FastISel::lookUpRegForValue(llvm::Value const*)"},
-    {"_ZN4llvm8FastISel15createResultRegEPKNS_19TargetRegisterClassE", "llvm::FastISel::createResultReg(llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm8FastISel14UpdateValueMapEPKNS_5ValueEj", "llvm::FastISel::UpdateValueMap(llvm::Value const*, unsigned int)"},
-    {"_ZN4llvm8FastISel17getRegForGEPIndexEPKNS_5ValueE", "llvm::FastISel::getRegForGEPIndex(llvm::Value const*)"},
-    {"_ZN4llvm8FastISel17recomputeInsertPtEv", "llvm::FastISel::recomputeInsertPt()"},
-    {"_ZN4llvm8FastISel14SelectBinaryOpEPKNS_4UserEj", "llvm::FastISel::SelectBinaryOp(llvm::User const*, unsigned int)"},
-    {"_ZN4llvm8FastISel19SelectGetElementPtrEPKNS_4UserE", "llvm::FastISel::SelectGetElementPtr(llvm::User const*)"},
-    {"_ZN4llvm8FastISel12FastEmit_ri_ENS_3MVTEjjbyS1_", "llvm::FastISel::FastEmit_ri_(llvm::MVT, unsigned int, unsigned int, bool, unsigned long long, llvm::MVT)"},
-    {"_ZN4llvm8FastISel10SelectCallEPKNS_4UserE", "llvm::FastISel::SelectCall(llvm::User const*)"},
-    {"_ZN4llvm8FastISel10SelectCastEPKNS_4UserEj", "llvm::FastISel::SelectCast(llvm::User const*, unsigned int)"},
-    {"_ZN4llvm8FastISel18FastEmitZExtFromI1ENS_3MVTEjb", "llvm::FastISel::FastEmitZExtFromI1(llvm::MVT, unsigned int, bool)"},
-    {"_ZN4llvm8FastISel13SelectBitCastEPKNS_4UserE", "llvm::FastISel::SelectBitCast(llvm::User const*)"},
-    {"_ZN4llvm8FastISel17SelectInstructionEPKNS_11InstructionE", "llvm::FastISel::SelectInstruction(llvm::Instruction const*)"},
-    {"_ZN4llvm8FastISel31HandlePHINodesInSuccessorBlocksEPKNS_10BasicBlockE", "llvm::FastISel::HandlePHINodesInSuccessorBlocks(llvm::BasicBlock const*)"},
-    {"_ZN4llvm8FastISel14FastEmitBranchEPNS_17MachineBasicBlockENS_8DebugLocE", "llvm::FastISel::FastEmitBranch(llvm::MachineBasicBlock*, llvm::DebugLoc)"},
-    {"_ZN4llvm8FastISel10SelectFNegEPKNS_4UserE", "llvm::FastISel::SelectFNeg(llvm::User const*)"},
-    {"_ZN4llvm8FastISelC1ERNS_20FunctionLoweringInfoE", "llvm::FastISel::FastISel(llvm::FunctionLoweringInfo&)"},
-    {"_ZN4llvm8FastISelC2ERNS_20FunctionLoweringInfoE", "llvm::FastISel::FastISel(llvm::FunctionLoweringInfo&)"},
-    {"_ZN4llvm8FastISelD0Ev", "llvm::FastISel::~FastISel()"},
-    {"_ZN4llvm8FastISelD1Ev", "llvm::FastISel::~FastISel()"},
-    {"_ZN4llvm8FastISelD2Ev", "llvm::FastISel::~FastISel()"},
-    {"_ZN4llvm8FastISel9FastEmit_ENS_3MVTES1_j", "llvm::FastISel::FastEmit_(llvm::MVT, llvm::MVT, unsigned int)"},
-    {"_ZN4llvm8FastISel10FastEmit_rENS_3MVTES1_jjb", "llvm::FastISel::FastEmit_r(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool)"},
-    {"_ZN4llvm8FastISel11FastEmit_rrENS_3MVTES1_jjbjb", "llvm::FastISel::FastEmit_rr(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool, unsigned int, bool)"},
-    {"_ZN4llvm8FastISel10FastEmit_iENS_3MVTES1_jy", "llvm::FastISel::FastEmit_i(llvm::MVT, llvm::MVT, unsigned int, unsigned long long)"},
-    {"_ZN4llvm8FastISel10FastEmit_fENS_3MVTES1_jPKNS_10ConstantFPE", "llvm::FastISel::FastEmit_f(llvm::MVT, llvm::MVT, unsigned int, llvm::ConstantFP const*)"},
-    {"_ZN4llvm8FastISel11FastEmit_riENS_3MVTES1_jjby", "llvm::FastISel::FastEmit_ri(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool, unsigned long long)"},
-    {"_ZN4llvm8FastISel11FastEmit_rfENS_3MVTES1_jjbPKNS_10ConstantFPE", "llvm::FastISel::FastEmit_rf(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool, llvm::ConstantFP const*)"},
-    {"_ZN4llvm8FastISel12FastEmit_rriENS_3MVTES1_jjbjby", "llvm::FastISel::FastEmit_rri(llvm::MVT, llvm::MVT, unsigned int, unsigned int, bool, unsigned int, bool, unsigned long long)"},
-    {"_ZN4llvm8FastISel12FastEmit_rf_ENS_3MVTEjjbPKNS_10ConstantFPES1_", "llvm::FastISel::FastEmit_rf_(llvm::MVT, unsigned int, unsigned int, bool, llvm::ConstantFP const*, llvm::MVT)"},
-    {"_ZN4llvm8FastISel13FastEmitInst_EjPKNS_19TargetRegisterClassE", "llvm::FastISel::FastEmitInst_(unsigned int, llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm8FastISel14FastEmitInst_rEjPKNS_19TargetRegisterClassEjb", "llvm::FastISel::FastEmitInst_r(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool)"},
-    {"_ZN4llvm8FastISel15FastEmitInst_rrEjPKNS_19TargetRegisterClassEjbjb", "llvm::FastISel::FastEmitInst_rr(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool, unsigned int, bool)"},
-    {"_ZN4llvm8FastISel15FastEmitInst_riEjPKNS_19TargetRegisterClassEjby", "llvm::FastISel::FastEmitInst_ri(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool, unsigned long long)"},
-    {"_ZN4llvm8FastISel15FastEmitInst_rfEjPKNS_19TargetRegisterClassEjbPKNS_10ConstantFPE", "llvm::FastISel::FastEmitInst_rf(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool, llvm::ConstantFP const*)"},
-    {"_ZN4llvm8FastISel16FastEmitInst_rriEjPKNS_19TargetRegisterClassEjbjby", "llvm::FastISel::FastEmitInst_rri(unsigned int, llvm::TargetRegisterClass const*, unsigned int, bool, unsigned int, bool, unsigned long long)"},
-    {"_ZN4llvm8FastISel14FastEmitInst_iEjPKNS_19TargetRegisterClassEy", "llvm::FastISel::FastEmitInst_i(unsigned int, llvm::TargetRegisterClass const*, unsigned long long)"},
-    {"_ZN4llvm8FastISel26FastEmitInst_extractsubregENS_3MVTEjbj", "llvm::FastISel::FastEmitInst_extractsubreg(llvm::MVT, unsigned int, bool, unsigned int)"},
-    {"_ZN4llvm8FastISel25TargetMaterializeConstantEPKNS_8ConstantE", "llvm::FastISel::TargetMaterializeConstant(llvm::Constant const*)"},
-    {"_ZN4llvm8FastISel23TargetMaterializeAllocaEPKNS_10AllocaInstE", "llvm::FastISel::TargetMaterializeAlloca(llvm::AllocaInst const*)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm12MachineInstrEjESaIS4_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS4_S6_EEmRKS4_", "std::vector<std::pair<llvm::MachineInstr*, unsigned int>, std::allocator<std::pair<llvm::MachineInstr*, unsigned int> > >::_M_fill_insert(__gnu_cxx::__normal_iterator<std::pair<llvm::MachineInstr*, unsigned int>*, std::vector<std::pair<llvm::MachineInstr*, unsigned int>, std::allocator<std::pair<llvm::MachineInstr*, unsigned int> > > >, unsigned long, std::pair<llvm::MachineInstr*, unsigned int> const&)"},
-    {"_ZN4llvm20FunctionLoweringInfoC1ERKNS_14TargetLoweringE", "llvm::FunctionLoweringInfo::FunctionLoweringInfo(llvm::TargetLowering const&)"},
-    {"_ZN4llvm20FunctionLoweringInfoC2ERKNS_14TargetLoweringE", "llvm::FunctionLoweringInfo::FunctionLoweringInfo(llvm::TargetLowering const&)"},
-    {"_ZN4llvm20FunctionLoweringInfo3setERKNS_8FunctionERNS_15MachineFunctionE", "llvm::FunctionLoweringInfo::set(llvm::Function const&, llvm::MachineFunction&)"},
-    {"_ZN4llvm20FunctionLoweringInfo5clearEv", "llvm::FunctionLoweringInfo::clear()"},
-    {"_ZN4llvm20FunctionLoweringInfo9CreateRegENS_3EVTE", "llvm::FunctionLoweringInfo::CreateReg(llvm::EVT)"},
-    {"_ZN4llvm20FunctionLoweringInfo10CreateRegsEPKNS_4TypeE", "llvm::FunctionLoweringInfo::CreateRegs(llvm::Type const*)"},
-    {"_ZN4llvm20FunctionLoweringInfo26setByValArgumentFrameIndexEPKNS_8ArgumentEi", "llvm::FunctionLoweringInfo::setByValArgumentFrameIndex(llvm::Argument const*, int)"},
-    {"_ZN4llvm20FunctionLoweringInfo26getByValArgumentFrameIndexEPKNS_8ArgumentE", "llvm::FunctionLoweringInfo::getByValArgumentFrameIndex(llvm::Argument const*)"},
-    {"_ZN4llvm12AddCatchInfoERKNS_8CallInstEPNS_17MachineModuleInfoEPNS_17MachineBasicBlockE", "llvm::AddCatchInfo(llvm::CallInst const&, llvm::MachineModuleInfo*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm13CopyCatchInfoEPKNS_10BasicBlockES2_PNS_17MachineModuleInfoERNS_20FunctionLoweringInfoE", "llvm::CopyCatchInfo(llvm::BasicBlock const*, llvm::BasicBlock const*, llvm::MachineModuleInfo*, llvm::FunctionLoweringInfo&)"},
-    {"_ZN4llvm8DenseMapIPKNS_8ArgumentEiNS_12DenseMapInfoIS3_EENS4_IiEEE16InsertIntoBucketERKS3_RKiPSt4pairIS3_iE", "llvm::DenseMap<llvm::Argument const*, int, llvm::DenseMapInfo<llvm::Argument const*>, llvm::DenseMapInfo<int> >::InsertIntoBucket(llvm::Argument const* const&, int const&, std::pair<llvm::Argument const*, int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_8ArgumentEiNS_12DenseMapInfoIS3_EENS4_IiEEE4growEj", "llvm::DenseMap<llvm::Argument const*, int, llvm::DenseMapInfo<llvm::Argument const*>, llvm::DenseMapInfo<int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_8ArgumentEiNS_12DenseMapInfoIS3_EENS4_IiEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Argument const*, int, llvm::DenseMapInfo<llvm::Argument const*>, llvm::DenseMapInfo<int> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_10AllocaInstEiNS_12DenseMapInfoIS3_EENS4_IiEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::AllocaInst const*, int, llvm::DenseMapInfo<llvm::AllocaInst const*>, llvm::DenseMapInfo<int> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_10BasicBlockEPNS_17MachineBasicBlockENS_12DenseMapInfoIS3_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::BasicBlock const*, llvm::MachineBasicBlock*, llvm::DenseMapInfo<llvm::BasicBlock const*>, llvm::DenseMapInfo<llvm::MachineBasicBlock*> >::shrink_and_clear()"},
-    {"_ZN4llvm12InstrEmitter12CountResultsEPNS_6SDNodeE", "llvm::InstrEmitter::CountResults(llvm::SDNode*)"},
-    {"_ZN4llvm12InstrEmitter13CountOperandsEPNS_6SDNodeE", "llvm::InstrEmitter::CountOperands(llvm::SDNode*)"},
-    {"_ZN4llvm12InstrEmitter15EmitCopyFromRegEPNS_6SDNodeEjbbjRNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS4_EENS5_IjEEEE", "llvm::InstrEmitter::EmitCopyFromReg(llvm::SDNode*, unsigned int, bool, bool, unsigned int, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZNK4llvm12InstrEmitter24getDstOfOnlyCopyToRegUseEPNS_6SDNodeEj", "llvm::InstrEmitter::getDstOfOnlyCopyToRegUse(llvm::SDNode*, unsigned int) const"},
-    {"_ZN4llvm12InstrEmitter22CreateVirtualRegistersEPNS_6SDNodeEPNS_12MachineInstrERKNS_15TargetInstrDescEbbRNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS9_EENSA_IjEEEE", "llvm::InstrEmitter::CreateVirtualRegisters(llvm::SDNode*, llvm::MachineInstr*, llvm::TargetInstrDesc const&, bool, bool, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN4llvm12InstrEmitter5getVRENS_7SDValueERNS_8DenseMapIS1_jNS_12DenseMapInfoIS1_EENS3_IjEEEE", "llvm::InstrEmitter::getVR(llvm::SDValue, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN4llvm12InstrEmitter18AddRegisterOperandEPNS_12MachineInstrENS_7SDValueEjPKNS_15TargetInstrDescERNS_8DenseMapIS3_jNS_12DenseMapInfoIS3_EENS8_IjEEEEbbb", "llvm::InstrEmitter::AddRegisterOperand(llvm::MachineInstr*, llvm::SDValue, unsigned int, llvm::TargetInstrDesc const*, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&, bool, bool, bool)"},
-    {"_ZN4llvm12InstrEmitter10AddOperandEPNS_12MachineInstrENS_7SDValueEjPKNS_15TargetInstrDescERNS_8DenseMapIS3_jNS_12DenseMapInfoIS3_EENS8_IjEEEEbbb", "llvm::InstrEmitter::AddOperand(llvm::MachineInstr*, llvm::SDValue, unsigned int, llvm::TargetInstrDesc const*, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&, bool, bool, bool)"},
-    {"_ZN4llvm12InstrEmitter14EmitSubregNodeEPNS_6SDNodeERNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS4_EENS5_IjEEEEbb", "llvm::InstrEmitter::EmitSubregNode(llvm::SDNode*, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&, bool, bool)"},
-    {"_ZN4llvm12InstrEmitter22EmitCopyToRegClassNodeEPNS_6SDNodeERNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS4_EENS5_IjEEEE", "llvm::InstrEmitter::EmitCopyToRegClassNode(llvm::SDNode*, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN4llvm12InstrEmitter15EmitRegSequenceEPNS_6SDNodeERNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS4_EENS5_IjEEEEbb", "llvm::InstrEmitter::EmitRegSequence(llvm::SDNode*, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&, bool, bool)"},
-    {"_ZN4llvm12InstrEmitter12EmitDbgValueEPNS_10SDDbgValueERNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS4_EENS5_IjEEEE", "llvm::InstrEmitter::EmitDbgValue(llvm::SDDbgValue*, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN4llvm12InstrEmitter15EmitMachineNodeEPNS_6SDNodeEbbRNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS4_EENS5_IjEEEE", "llvm::InstrEmitter::EmitMachineNode(llvm::SDNode*, bool, bool, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN4llvm12InstrEmitter15EmitSpecialNodeEPNS_6SDNodeEbbRNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS4_EENS5_IjEEEE", "llvm::InstrEmitter::EmitSpecialNode(llvm::SDNode*, bool, bool, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN4llvm12InstrEmitterC1EPNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::InstrEmitter::InstrEmitter(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN4llvm12InstrEmitterC2EPNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::InstrEmitter::InstrEmitter(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS1_EENS2_IjEEE6insertERKSt4pairIS1_jE", "llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<llvm::SDValue, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS1_EENS2_IjEEE4findERKS1_", "llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >::find(llvm::SDValue const&)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS1_EENS2_IjEEE16InsertIntoBucketERKS1_RKjPSt4pairIS1_jE", "llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::SDValue const&, unsigned int const&, std::pair<llvm::SDValue, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS1_EENS2_IjEEE4growEj", "llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm12SelectionDAG8LegalizeENS_10CodeGenOpt5LevelE", "llvm::SelectionDAG::Legalize(llvm::CodeGenOpt::Level)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize10LegalizeOpEN4llvm7SDValueE", "(anonymous namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize10ExpandNodeEPN4llvm6SDNodeERNS1_15SmallVectorImplINS1_7SDValueEEE", "(anonymous namespace)::SelectionDAGLegalize::ExpandNode(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&)"},
-    {"_Z24FindCallEndFromCallStartPN4llvm6SDNodeEi", "FindCallEndFromCallStart(llvm::SDNode*, int)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize28LegalizeAllNodesNotLeadingToEPN4llvm6SDNodeES3_RNS1_11SmallPtrSetIS3_Lj32EEE", "(anonymous namespace)::SelectionDAGLegalize::LegalizeAllNodesNotLeadingTo(llvm::SDNode*, llvm::SDNode*, llvm::SmallPtrSet<llvm::SDNode*, 32u>&)"},
-    {"_Z19ExpandUnalignedLoadPN4llvm10LoadSDNodeERNS_12SelectionDAGERKNS_14TargetLoweringE", "ExpandUnalignedLoad(llvm::LoadSDNode*, llvm::SelectionDAG&, llvm::TargetLowering const&)"},
-    {"_Z20ExpandUnalignedStorePN4llvm11StoreSDNodeERNS_12SelectionDAGERKNS_14TargetLoweringE", "ExpandUnalignedStore(llvm::StoreSDNode*, llvm::SelectionDAG&, llvm::TargetLowering const&)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize29ExpandVectorBuildThroughStackEPN4llvm6SDNodeE", "(anonymous namespace)::SelectionDAGLegalize::ExpandVectorBuildThroughStack(llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize16EmitStackConvertEN4llvm7SDValueENS1_3EVTES3_NS1_8DebugLocE", "(anonymous namespace)::SelectionDAGLegalize::EmitStackConvert(llvm::SDValue, llvm::EVT, llvm::EVT, llvm::DebugLoc)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize35ExpandExtractFromVectorThroughStackEN4llvm7SDValueE", "(anonymous namespace)::SelectionDAGLegalize::ExpandExtractFromVectorThroughStack(llvm::SDValue)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize13ExpandLibCallEN4llvm5RTLIB7LibcallEPNS1_6SDNodeEb", "(anonymous namespace)::SelectionDAGLegalize::ExpandLibCall(llvm::RTLIB::Libcall, llvm::SDNode*, bool)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize21LegalizeSetCCCondCodeEN4llvm3EVTERNS1_7SDValueES4_S4_NS1_8DebugLocE", "(anonymous namespace)::SelectionDAGLegalize::LegalizeSetCCCondCode(llvm::EVT, llvm::SDValue&, llvm::SDValue&, llvm::SDValue&, llvm::DebugLoc)"},
-    {"_ZN12_GLOBAL__N_120SelectionDAGLegalize18ExpandChainLibCallEN4llvm5RTLIB7LibcallEPNS1_6SDNodeEb", "(anonymous namespace)::SelectionDAGLegalize::ExpandChainLibCall(llvm::RTLIB::Libcall, llvm::SDNode*, bool)"},
-    {"_Z9SplatBytejh", "SplatByte(unsigned int, unsigned char)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueES1_NS_12DenseMapInfoIS1_EES3_E16shrink_and_clearEv", "llvm::DenseMap<llvm::SDValue, llvm::SDValue, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue> >::shrink_and_clear()"},
-    {"_ZNK4llvm14TargetLowering18getTypeToPromoteToEjNS_3EVTE", "llvm::TargetLowering::getTypeToPromoteTo(unsigned int, llvm::EVT) const"},
-    {"_ZNK4llvm3EVT21getHalfSizedIntegerVTERNS_11LLVMContextE", "llvm::EVT::getHalfSizedIntegerVT(llvm::LLVMContext&) const"},
-    {"_ZN4llvm8DenseMapINS_7SDValueES1_NS_12DenseMapInfoIS1_EES3_E6insertERKSt4pairIS1_S1_E", "llvm::DenseMap<llvm::SDValue, llvm::SDValue, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue> >::insert(std::pair<llvm::SDValue, llvm::SDValue> const&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17SoftenFloatResultEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::SoftenFloatResult(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer22SoftenFloatRes_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25SoftenFloatRes_BUILD_PAIREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_BUILD_PAIR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25SoftenFloatRes_ConstantFPEPNS_16ConstantFPSDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_ConstantFP(llvm::ConstantFPSDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer33SoftenFloatRes_EXTRACT_VECTOR_ELTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_EXTRACT_VECTOR_ELT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FABSEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FABS(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FADDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FADD(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20SoftenFloatRes_FCEILEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FCEIL(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24SoftenFloatRes_FCOPYSIGNEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FCOPYSIGN(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FCOSEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FCOS(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FDIVEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FDIV(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FEXPEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FEXP(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20SoftenFloatRes_FEXP2EPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FEXP2(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21SoftenFloatRes_FFLOOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FFLOOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FLOGEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FLOG(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20SoftenFloatRes_FLOG2EPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FLOG2(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21SoftenFloatRes_FLOG10EPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FLOG10(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FMULEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FMUL(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25SoftenFloatRes_FNEARBYINTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FNEARBYINT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FNEGEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FNEG(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24SoftenFloatRes_FP_EXTENDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FP_EXTEND(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer23SoftenFloatRes_FP_ROUNDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FP_ROUND(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer27SoftenFloatRes_FP16_TO_FP32EPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FP16_TO_FP32(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FPOWEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FPOW(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20SoftenFloatRes_FPOWIEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FPOWI(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FREMEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FREM(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20SoftenFloatRes_FRINTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FRINT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FSINEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FSIN(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20SoftenFloatRes_FSQRTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FSQRT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_FSUBEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FSUB(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21SoftenFloatRes_FTRUNCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_FTRUNC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatRes_LOADEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_LOAD(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21SoftenFloatRes_SELECTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_SELECT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24SoftenFloatRes_SELECT_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_SELECT_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25SoftenFloatRes_XINT_TO_FPEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_XINT_TO_FP(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20SoftenFloatRes_UNDEFEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_UNDEF(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20SoftenFloatRes_VAARGEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatRes_VAARG(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18SoftenFloatOperandEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::SoftenFloatOperand(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer21SoftenFloatOp_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatOp_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatOp_BR_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatOp_BR_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22SoftenFloatOp_FP_ROUNDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatOp_FP_ROUND(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24SoftenFloatOp_FP_TO_SINTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatOp_FP_TO_SINT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24SoftenFloatOp_FP_TO_UINTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatOp_FP_TO_UINT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer26SoftenFloatOp_FP32_TO_FP16EPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatOp_FP32_TO_FP16(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer23SoftenFloatOp_SELECT_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatOp_SELECT_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatOp_SETCCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SoftenFloatOp_SETCC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenFloatOp_STOREEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::SoftenFloatOp_STORE(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SoftenSetCCOperandsERNS_7SDValueES2_RNS_3ISD8CondCodeENS_8DebugLocE", "llvm::DAGTypeLegalizer::SoftenSetCCOperands(llvm::SDValue&, llvm::SDValue&, llvm::ISD::CondCode&, llvm::DebugLoc)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandFloatResultEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::ExpandFloatResult(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer25ExpandFloatRes_ConstantFPEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_ConstantFP(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FABSEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FABS(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FADDEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FADD(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandFloatRes_FCEILEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FCEIL(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer24ExpandFloatRes_FCOPYSIGNEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FCOPYSIGN(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FCOSEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FCOS(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FDIVEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FDIV(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FEXPEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FEXP(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandFloatRes_FEXP2EPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FEXP2(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandFloatRes_FFLOOREPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FFLOOR(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FLOGEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FLOG(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandFloatRes_FLOG2EPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FLOG2(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandFloatRes_FLOG10EPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FLOG10(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FMULEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FMUL(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer25ExpandFloatRes_FNEARBYINTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FNEARBYINT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FNEGEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FNEG(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer24ExpandFloatRes_FP_EXTENDEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FP_EXTEND(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FPOWEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FPOW(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandFloatRes_FPOWIEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FPOWI(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandFloatRes_FRINTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FRINT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FSINEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FSIN(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandFloatRes_FSQRTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FSQRT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_FSUBEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FSUB(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandFloatRes_FTRUNCEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_FTRUNC(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatRes_LOADEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_LOAD(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer25ExpandFloatRes_XINT_TO_FPEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandFloatRes_XINT_TO_FP(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer18ExpandFloatOperandEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::ExpandFloatOperand(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatOp_BR_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandFloatOp_BR_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ExpandFloatOp_FP_ROUNDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandFloatOp_FP_ROUND(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24ExpandFloatOp_FP_TO_SINTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandFloatOp_FP_TO_SINT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24ExpandFloatOp_FP_TO_UINTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandFloatOp_FP_TO_UINT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ExpandFloatOp_SELECT_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandFloatOp_SELECT_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatOp_SETCCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandFloatOp_SETCC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandFloatOp_STOREEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::ExpandFloatOp_STORE(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer24FloatExpandSetCCOperandsERNS_7SDValueES2_RNS_3ISD8CondCodeENS_8DebugLocE", "llvm::DAGTypeLegalizer::FloatExpandSetCCOperands(llvm::SDValue&, llvm::SDValue&, llvm::ISD::CondCode&, llvm::DebugLoc)"},
-    {"_ZN4llvm16DAGTypeLegalizer20PromoteIntegerResultEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntegerResult(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer24PromoteIntRes_AssertSextEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_AssertSext(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24PromoteIntRes_AssertZextEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_AssertZext(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21PromoteIntRes_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19PromoteIntRes_BSWAPEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_BSWAP(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24PromoteIntRes_BUILD_PAIREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_BUILD_PAIR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22PromoteIntRes_ConstantEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_Constant(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer28PromoteIntRes_CONVERT_RNDSATEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_CONVERT_RNDSAT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntRes_CTLZEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_CTLZ(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19PromoteIntRes_CTPOPEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_CTPOP(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntRes_CTTZEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_CTTZ(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer32PromoteIntRes_EXTRACT_VECTOR_ELTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_EXTRACT_VECTOR_ELT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntRes_LOADEPNS_10LoadSDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_LOAD(llvm::LoadSDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20PromoteIntRes_SELECTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SELECT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer23PromoteIntRes_SELECT_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SELECT_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19PromoteIntRes_SETCCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SETCC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17PromoteIntRes_SHLEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SHL(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer31PromoteIntRes_SIGN_EXTEND_INREGEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SIGN_EXTEND_INREG(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17PromoteIntRes_SRAEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SRA(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17PromoteIntRes_SRLEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SRL(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22PromoteIntRes_TRUNCATEEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_TRUNCATE(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19PromoteIntRes_UNDEFEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_UNDEF(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19PromoteIntRes_VAARGEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_VAARG(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24PromoteIntRes_INT_EXTENDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_INT_EXTEND(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24PromoteIntRes_FP_TO_XINTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_FP_TO_XINT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer26PromoteIntRes_FP32_TO_FP16EPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_FP32_TO_FP16(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer28PromoteIntRes_SimpleIntBinOpEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SimpleIntBinOp(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntRes_SDIVEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_SDIV(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntRes_UDIVEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_UDIV(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22PromoteIntRes_SADDSUBOEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntRes_SADDSUBO(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer22PromoteIntRes_UADDSUBOEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntRes_UADDSUBO(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer19PromoteIntRes_XMULOEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntRes_XMULO(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer21PromoteIntRes_Atomic1EPNS_12AtomicSDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_Atomic1(llvm::AtomicSDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21PromoteIntRes_Atomic2EPNS_12AtomicSDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_Atomic2(llvm::AtomicSDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22PromoteIntRes_OverflowEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntRes_Overflow(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21PromoteIntegerOperandEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntegerOperand(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer23PromoteIntOp_ANY_EXTENDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_ANY_EXTEND(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20PromoteIntOp_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntOp_BR_CCEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntOp_BR_CC(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer19PromoteIntOp_BRCONDEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntOp_BRCOND(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer23PromoteIntOp_BUILD_PAIREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_BUILD_PAIR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25PromoteIntOp_BUILD_VECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_BUILD_VECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer27PromoteIntOp_CONVERT_RNDSATEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_CONVERT_RNDSAT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer30PromoteIntOp_INSERT_VECTOR_ELTEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntOp_INSERT_VECTOR_ELT(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer23PromoteIntOp_MEMBARRIEREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_MEMBARRIER(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer29PromoteIntOp_SCALAR_TO_VECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_SCALAR_TO_VECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19PromoteIntOp_SELECTEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntOp_SELECT(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer22PromoteIntOp_SELECT_CCEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntOp_SELECT_CC(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntOp_SETCCEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntOp_SETCC(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer24PromoteIntOp_SIGN_EXTENDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_SIGN_EXTEND(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer23PromoteIntOp_SINT_TO_FPEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_SINT_TO_FP(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntOp_STOREEPNS_11StoreSDNodeEj", "llvm::DAGTypeLegalizer::PromoteIntOp_STORE(llvm::StoreSDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer21PromoteIntOp_TRUNCATEEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_TRUNCATE(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer23PromoteIntOp_UINT_TO_FPEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_UINT_TO_FP(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24PromoteIntOp_ZERO_EXTENDEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_ZERO_EXTEND(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18PromoteIntOp_ShiftEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::PromoteIntOp_Shift(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20PromoteSetCCOperandsERNS_7SDValueES2_NS_3ISD8CondCodeE", "llvm::DAGTypeLegalizer::PromoteSetCCOperands(llvm::SDValue&, llvm::SDValue&, llvm::ISD::CondCode)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandIntegerResultEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::ExpandIntegerResult(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ExpandIntRes_ANY_EXTENDEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_ANY_EXTEND(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ExpandIntRes_AssertSextEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_AssertSext(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ExpandIntRes_AssertZextEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_AssertZext(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer18ExpandIntRes_BSWAPEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_BSWAP(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandIntRes_ConstantEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_Constant(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntRes_CTLZEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_CTLZ(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer18ExpandIntRes_CTPOPEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_CTPOP(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntRes_CTTZEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_CTTZ(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ExpandIntRes_FP_TO_SINTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_FP_TO_SINT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ExpandIntRes_FP_TO_UINTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_FP_TO_UINT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntRes_LOADEPNS_10LoadSDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_LOAD(llvm::LoadSDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer16ExpandIntRes_MULEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_MUL(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntRes_SDIVEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_SDIV(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer24ExpandIntRes_SIGN_EXTENDEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_SIGN_EXTEND(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer30ExpandIntRes_SIGN_EXTEND_INREGEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_SIGN_EXTEND_INREG(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntRes_SREMEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_SREM(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandIntRes_TRUNCATEEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_TRUNCATE(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntRes_UDIVEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_UDIV(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntRes_UREMEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_UREM(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer24ExpandIntRes_ZERO_EXTENDEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_ZERO_EXTEND(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer12ExpandAtomicEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandAtomic(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandIntRes_LogicalEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_Logical(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19ExpandIntRes_ADDSUBEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_ADDSUB(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandIntRes_ADDSUBCEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_ADDSUBC(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandIntRes_ADDSUBEEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_ADDSUBE(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer18ExpandIntRes_ShiftEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_Shift(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandIntRes_SADDSUBOEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_SADDSUBO(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandIntRes_UADDSUBOEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_UADDSUBO(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ExpandIntRes_UMULSMULOEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandIntRes_UMULSMULO(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandShiftByConstantEPNS_6SDNodeEjRNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandShiftByConstant(llvm::SDNode*, unsigned int, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer29ExpandShiftWithKnownAmountBitEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandShiftWithKnownAmountBit(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer31ExpandShiftWithUnknownAmountBitEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandShiftWithUnknownAmountBit(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandIntegerOperandEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::ExpandIntegerOperand(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntOp_BR_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandIntOp_BR_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandIntOp_SELECT_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandIntOp_SELECT_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntOp_SETCCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandIntOp_SETCC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ExpandIntOp_SINT_TO_FPEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandIntOp_SINT_TO_FP(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntOp_STOREEPNS_11StoreSDNodeEj", "llvm::DAGTypeLegalizer::ExpandIntOp_STORE(llvm::StoreSDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandIntOp_TRUNCATEEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandIntOp_TRUNCATE(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ExpandIntOp_UINT_TO_FPEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandIntOp_UINT_TO_FP(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandIntOp_ShiftEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandIntOp_Shift(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ExpandIntOp_RETURNADDREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandIntOp_RETURNADDR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer26IntegerExpandSetCCOperandsERNS_7SDValueES2_RNS_3ISD8CondCodeENS_8DebugLocE", "llvm::DAGTypeLegalizer::IntegerExpandSetCCOperands(llvm::SDValue&, llvm::SDValue&, llvm::ISD::CondCode&, llvm::DebugLoc)"},
-    {"_ZN4llvm16DAGTypeLegalizer22PerformExpensiveChecksEv", "llvm::DAGTypeLegalizer::PerformExpensiveChecks()"},
-    {"_ZN4llvm16DAGTypeLegalizer3runEv", "llvm::DAGTypeLegalizer::run()"},
-    {"_ZN4llvm16DAGTypeLegalizer14AnalyzeNewNodeEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::AnalyzeNewNode(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer16ReplaceValueWithENS_7SDValueES1_", "llvm::DAGTypeLegalizer::ReplaceValueWith(llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer11ExpungeNodeEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpungeNode(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer15AnalyzeNewValueERNS_7SDValueE", "llvm::DAGTypeLegalizer::AnalyzeNewValue(llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer10RemapValueERNS_7SDValueE", "llvm::DAGTypeLegalizer::RemapValue(llvm::SDValue&)"},
-    {"_ZN12_GLOBAL__N_118NodeUpdateListenerD1Ev", "(anonymous namespace)::NodeUpdateListener::~NodeUpdateListener()"},
-    {"_ZN4llvm16DAGTypeLegalizer18SetPromotedIntegerENS_7SDValueES1_", "llvm::DAGTypeLegalizer::SetPromotedInteger(llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer16SetSoftenedFloatENS_7SDValueES1_", "llvm::DAGTypeLegalizer::SetSoftenedFloat(llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SetScalarizedVectorENS_7SDValueES1_", "llvm::DAGTypeLegalizer::SetScalarizedVector(llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer18GetExpandedIntegerENS_7SDValueERS1_S2_", "llvm::DAGTypeLegalizer::GetExpandedInteger(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer18SetExpandedIntegerENS_7SDValueES1_S1_", "llvm::DAGTypeLegalizer::SetExpandedInteger(llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer16GetExpandedFloatENS_7SDValueERS1_S2_", "llvm::DAGTypeLegalizer::GetExpandedFloat(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer16SetExpandedFloatENS_7SDValueES1_S1_", "llvm::DAGTypeLegalizer::SetExpandedFloat(llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer14GetSplitVectorENS_7SDValueERS1_S2_", "llvm::DAGTypeLegalizer::GetSplitVector(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer14SetSplitVectorENS_7SDValueES1_S1_", "llvm::DAGTypeLegalizer::SetSplitVector(llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer16SetWidenedVectorENS_7SDValueES1_", "llvm::DAGTypeLegalizer::SetWidenedVector(llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer19BitConvertToIntegerENS_7SDValueE", "llvm::DAGTypeLegalizer::BitConvertToInteger(llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer31BitConvertVectorToIntegerVectorENS_7SDValueE", "llvm::DAGTypeLegalizer::BitConvertVectorToIntegerVector(llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer20CreateStackStoreLoadENS_7SDValueENS_3EVTE", "llvm::DAGTypeLegalizer::CreateStackStoreLoad(llvm::SDValue, llvm::EVT)"},
-    {"_ZN4llvm16DAGTypeLegalizer15CustomLowerNodeEPNS_6SDNodeENS_3EVTEb", "llvm::DAGTypeLegalizer::CustomLowerNode(llvm::SDNode*, llvm::EVT, bool)"},
-    {"_ZN4llvm16DAGTypeLegalizer20CustomWidenLowerNodeEPNS_6SDNodeENS_3EVTE", "llvm::DAGTypeLegalizer::CustomWidenLowerNode(llvm::SDNode*, llvm::EVT)"},
-    {"_ZN4llvm16DAGTypeLegalizer15GetSplitDestVTsENS_3EVTERS1_S2_", "llvm::DAGTypeLegalizer::GetSplitDestVTs(llvm::EVT, llvm::EVT&, llvm::EVT&)"},
-    {"_ZN4llvm16DAGTypeLegalizer15GetPairElementsENS_7SDValueERS1_S2_", "llvm::DAGTypeLegalizer::GetPairElements(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer23GetVectorElementPointerENS_7SDValueENS_3EVTES1_", "llvm::DAGTypeLegalizer::GetVectorElementPointer(llvm::SDValue, llvm::EVT, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer12JoinIntegersENS_7SDValueES1_", "llvm::DAGTypeLegalizer::JoinIntegers(llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer10LibCallifyENS_5RTLIB7LibcallEPNS_6SDNodeEb", "llvm::DAGTypeLegalizer::LibCallify(llvm::RTLIB::Libcall, llvm::SDNode*, bool)"},
-    {"_ZN4llvm16DAGTypeLegalizer11MakeLibCallENS_5RTLIB7LibcallENS_3EVTEPKNS_7SDValueEjbNS_8DebugLocE", "llvm::DAGTypeLegalizer::MakeLibCall(llvm::RTLIB::Libcall, llvm::EVT, llvm::SDValue const*, unsigned int, bool, llvm::DebugLoc)"},
-    {"_ZN4llvm16DAGTypeLegalizer18ExpandChainLibCallENS_5RTLIB7LibcallEPNS_6SDNodeEb", "llvm::DAGTypeLegalizer::ExpandChainLibCall(llvm::RTLIB::Libcall, llvm::SDNode*, bool)"},
-    {"_ZN4llvm16DAGTypeLegalizer20PromoteTargetBooleanENS_7SDValueENS_3EVTE", "llvm::DAGTypeLegalizer::PromoteTargetBoolean(llvm::SDValue, llvm::EVT)"},
-    {"_ZN4llvm16DAGTypeLegalizer12SplitIntegerENS_7SDValueENS_3EVTES2_RS1_S3_", "llvm::DAGTypeLegalizer::SplitInteger(llvm::SDValue, llvm::EVT, llvm::EVT, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer12SplitIntegerENS_7SDValueERS1_S2_", "llvm::DAGTypeLegalizer::SplitInteger(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm12SelectionDAG13LegalizeTypesEv", "llvm::SelectionDAG::LegalizeTypes()"},
-    {"_ZN12_GLOBAL__N_118NodeUpdateListenerD0Ev", "(anonymous namespace)::NodeUpdateListener::~NodeUpdateListener()"},
-    {"_ZN12_GLOBAL__N_118NodeUpdateListener11NodeDeletedEPN4llvm6SDNodeES3_", "(anonymous namespace)::NodeUpdateListener::NodeDeleted(llvm::SDNode*, llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_118NodeUpdateListener11NodeUpdatedEPN4llvm6SDNodeE", "(anonymous namespace)::NodeUpdateListener::NodeUpdated(llvm::SDNode*)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueES1_NS_12DenseMapInfoIS1_EES3_E4findERKS1_", "llvm::DenseMap<llvm::SDValue, llvm::SDValue, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue> >::find(llvm::SDValue const&)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueESt4pairIS1_S1_ENS_12DenseMapInfoIS1_EENS4_IS3_EEE4findERKS1_", "llvm::DenseMap<llvm::SDValue, std::pair<llvm::SDValue, llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<std::pair<llvm::SDValue, llvm::SDValue> > >::find(llvm::SDValue const&)"},
-    {"_ZNK4llvm16DAGTypeLegalizer13getTypeActionENS_3EVTE", "llvm::DAGTypeLegalizer::getTypeAction(llvm::EVT) const"},
-    {"_ZN4llvm8DenseMapINS_7SDValueESt4pairIS1_S1_ENS_12DenseMapInfoIS1_EENS4_IS3_EEE16FindAndConstructERKS1_", "llvm::DenseMap<llvm::SDValue, std::pair<llvm::SDValue, llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<std::pair<llvm::SDValue, llvm::SDValue> > >::FindAndConstruct(llvm::SDValue const&)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueESt4pairIS1_S1_ENS_12DenseMapInfoIS1_EENS4_IS3_EEE16InsertIntoBucketERKS1_RKS3_PS2_IS1_S3_E", "llvm::DenseMap<llvm::SDValue, std::pair<llvm::SDValue, llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<std::pair<llvm::SDValue, llvm::SDValue> > >::InsertIntoBucket(llvm::SDValue const&, std::pair<llvm::SDValue, llvm::SDValue> const&, std::pair<llvm::SDValue, std::pair<llvm::SDValue, llvm::SDValue> >*)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueESt4pairIS1_S1_ENS_12DenseMapInfoIS1_EENS4_IS3_EEE4growEj", "llvm::DenseMap<llvm::SDValue, std::pair<llvm::SDValue, llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<std::pair<llvm::SDValue, llvm::SDValue> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueES1_NS_12DenseMapInfoIS1_EES3_E16FindAndConstructERKS1_", "llvm::DenseMap<llvm::SDValue, llvm::SDValue, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue> >::FindAndConstruct(llvm::SDValue const&)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueES1_NS_12DenseMapInfoIS1_EES3_E16InsertIntoBucketERKS1_S6_PSt4pairIS1_S1_E", "llvm::DenseMap<llvm::SDValue, llvm::SDValue, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue> >::InsertIntoBucket(llvm::SDValue const&, llvm::SDValue const&, std::pair<llvm::SDValue, llvm::SDValue>*)"},
-    {"_ZN4llvm8DenseMapINS_7SDValueES1_NS_12DenseMapInfoIS1_EES3_E4growEj", "llvm::DenseMap<llvm::SDValue, llvm::SDValue, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<llvm::SDValue> >::grow(unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizerD2Ev", "llvm::DAGTypeLegalizer::~DAGTypeLegalizer()"},
-    {"_ZN4llvm16DAGTypeLegalizerC2ERNS_12SelectionDAGE", "llvm::DAGTypeLegalizer::DAGTypeLegalizer(llvm::SelectionDAG&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17ExpandRes_BITCASTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandRes_BITCAST(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandRes_BUILD_PAIREPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandRes_BUILD_PAIR(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer25ExpandRes_EXTRACT_ELEMENTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandRes_EXTRACT_ELEMENT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer28ExpandRes_EXTRACT_VECTOR_ELTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandRes_EXTRACT_VECTOR_ELT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandRes_NormalLoadEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandRes_NormalLoad(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer15ExpandRes_VAARGEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::ExpandRes_VAARG(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer16ExpandOp_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandOp_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ExpandOp_BUILD_VECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandOp_BUILD_VECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24ExpandOp_EXTRACT_ELEMENTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandOp_EXTRACT_ELEMENT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer26ExpandOp_INSERT_VECTOR_ELTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandOp_INSERT_VECTOR_ELT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25ExpandOp_SCALAR_TO_VECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ExpandOp_SCALAR_TO_VECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ExpandOp_NormalStoreEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::ExpandOp_NormalStore(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer21SplitRes_MERGE_VALUESEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitRes_MERGE_VALUES(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer15SplitRes_SELECTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitRes_SELECT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer18SplitRes_SELECT_CCEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitRes_SELECT_CC(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer14SplitRes_UNDEFEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitRes_UNDEF(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZNSt6vectorIN4llvm7SDValueESaIS1_EE7reserveEm", "std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >::reserve(unsigned long)"},
-    {"_ZN4llvm16DAGTypeLegalizer10GetSplitOpENS_7SDValueERS1_S2_", "llvm::DAGTypeLegalizer::GetSplitOp(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm12SelectionDAG15LegalizeVectorsEv", "llvm::SelectionDAG::LegalizeVectors()"},
-    {"_ZN12_GLOBAL__N_115VectorLegalizer10LegalizeOpEN4llvm7SDValueE", "(anonymous namespace)::VectorLegalizer::LegalizeOp(llvm::SDValue)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ScalarizeVectorResultEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::ScalarizeVectorResult(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ScalarizeVecRes_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer30ScalarizeVecRes_CONVERT_RNDSATEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_CONVERT_RNDSAT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer33ScalarizeVecRes_EXTRACT_SUBVECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_EXTRACT_SUBVECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ScalarizeVecRes_InregOpEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_InregOp(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ScalarizeVecRes_FPOWIEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_FPOWI(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer33ScalarizeVecRes_INSERT_VECTOR_ELTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_INSERT_VECTOR_ELT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ScalarizeVecRes_LOADEPNS_10LoadSDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_LOAD(llvm::LoadSDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer32ScalarizeVecRes_SCALAR_TO_VECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_SCALAR_TO_VECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ScalarizeVecRes_SELECTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_SELECT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25ScalarizeVecRes_SELECT_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_SELECT_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ScalarizeVecRes_SETCCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_SETCC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ScalarizeVecRes_UNDEFEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_UNDEF(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer30ScalarizeVecRes_VECTOR_SHUFFLEEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_VECTOR_SHUFFLE(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ScalarizeVecRes_VSETCCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_VSETCC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer23ScalarizeVecRes_UnaryOpEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_UnaryOp(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21ScalarizeVecRes_BinOpEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecRes_BinOp(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ScalarizeVectorOperandEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::ScalarizeVectorOperand(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer22ScalarizeVecOp_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecOp_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer29ScalarizeVecOp_CONCAT_VECTORSEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecOp_CONCAT_VECTORS(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer33ScalarizeVecOp_EXTRACT_VECTOR_ELTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::ScalarizeVecOp_EXTRACT_VECTOR_ELT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20ScalarizeVecOp_STOREEPNS_11StoreSDNodeEj", "llvm::DAGTypeLegalizer::ScalarizeVecOp_STORE(llvm::StoreSDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer17SplitVectorResultEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::SplitVectorResult(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SplitVecRes_BITCASTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_BITCAST(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer24SplitVecRes_BUILD_VECTOREPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_BUILD_VECTOR(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer26SplitVecRes_CONCAT_VECTORSEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_CONCAT_VECTORS(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer26SplitVecRes_CONVERT_RNDSATEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_CONVERT_RNDSAT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer29SplitVecRes_EXTRACT_SUBVECTOREPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_EXTRACT_SUBVECTOR(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SplitVecRes_InregOpEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_InregOp(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17SplitVecRes_FPOWIEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_FPOWI(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer29SplitVecRes_INSERT_VECTOR_ELTEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_INSERT_VECTOR_ELT(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer28SplitVecRes_SCALAR_TO_VECTOREPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_SCALAR_TO_VECTOR(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer16SplitVecRes_LOADEPNS_10LoadSDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_LOAD(llvm::LoadSDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17SplitVecRes_SETCCEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_SETCC(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer26SplitVecRes_VECTOR_SHUFFLEEPNS_19ShuffleVectorSDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_VECTOR_SHUFFLE(llvm::ShuffleVectorSDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer19SplitVecRes_UnaryOpEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_UnaryOp(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer17SplitVecRes_BinOpEPNS_6SDNodeERNS_7SDValueES4_", "llvm::DAGTypeLegalizer::SplitVecRes_BinOp(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZN4llvm16DAGTypeLegalizer18SplitVectorOperandEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::SplitVectorOperand(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer18SplitVecOp_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SplitVecOp_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer28SplitVecOp_EXTRACT_SUBVECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SplitVecOp_EXTRACT_SUBVECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer29SplitVecOp_EXTRACT_VECTOR_ELTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SplitVecOp_EXTRACT_VECTOR_ELT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25SplitVecOp_CONCAT_VECTORSEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SplitVecOp_CONCAT_VECTORS(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer16SplitVecOp_STOREEPNS_11StoreSDNodeEj", "llvm::DAGTypeLegalizer::SplitVecOp_STORE(llvm::StoreSDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer18SplitVecOp_UnaryOpEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::SplitVecOp_UnaryOp(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17WidenVectorResultEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::WidenVectorResult(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer19WidenVecRes_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer24WidenVecRes_BUILD_VECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_BUILD_VECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer26WidenVecRes_CONCAT_VECTORSEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_CONCAT_VECTORS(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer26WidenVecRes_CONVERT_RNDSATEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_CONVERT_RNDSAT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer29WidenVecRes_EXTRACT_SUBVECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_EXTRACT_SUBVECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19WidenVecRes_InregOpEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_InregOp(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer29WidenVecRes_INSERT_VECTOR_ELTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_INSERT_VECTOR_ELT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer16WidenVecRes_LOADEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_LOAD(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer28WidenVecRes_SCALAR_TO_VECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_SCALAR_TO_VECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18WidenVecRes_SELECTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_SELECT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer21WidenVecRes_SELECT_CCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_SELECT_CC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17WidenVecRes_SETCCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_SETCC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17WidenVecRes_UNDEFEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_UNDEF(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer26WidenVecRes_VECTOR_SHUFFLEEPNS_19ShuffleVectorSDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_VECTOR_SHUFFLE(llvm::ShuffleVectorSDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18WidenVecRes_VSETCCEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_VSETCC(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18WidenVecRes_BinaryEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_Binary(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer16WidenVecRes_POWIEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_POWI(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17WidenVecRes_ShiftEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_Shift(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer19WidenVecRes_ConvertEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_Convert(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer17WidenVecRes_UnaryEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecRes_Unary(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer12ModifyToTypeENS_7SDValueENS_3EVTE", "llvm::DAGTypeLegalizer::ModifyToType(llvm::SDValue, llvm::EVT)"},
-    {"_ZN4llvm16DAGTypeLegalizer22GenWidenVectorExtLoadsERNS_11SmallVectorINS_7SDValueELj16EEEPNS_10LoadSDNodeENS_3ISD11LoadExtTypeE", "llvm::DAGTypeLegalizer::GenWidenVectorExtLoads(llvm::SmallVector<llvm::SDValue, 16u>&, llvm::LoadSDNode*, llvm::ISD::LoadExtType)"},
-    {"_ZN4llvm16DAGTypeLegalizer19GenWidenVectorLoadsERNS_11SmallVectorINS_7SDValueELj16EEEPNS_10LoadSDNodeE", "llvm::DAGTypeLegalizer::GenWidenVectorLoads(llvm::SmallVector<llvm::SDValue, 16u>&, llvm::LoadSDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18WidenVectorOperandEPNS_6SDNodeEj", "llvm::DAGTypeLegalizer::WidenVectorOperand(llvm::SDNode*, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer18WidenVecOp_BITCASTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecOp_BITCAST(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25WidenVecOp_CONCAT_VECTORSEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecOp_CONCAT_VECTORS(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer28WidenVecOp_EXTRACT_SUBVECTOREPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecOp_EXTRACT_SUBVECTOR(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer29WidenVecOp_EXTRACT_VECTOR_ELTEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecOp_EXTRACT_VECTOR_ELT(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer16WidenVecOp_STOREEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecOp_STORE(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer18WidenVecOp_ConvertEPNS_6SDNodeE", "llvm::DAGTypeLegalizer::WidenVecOp_Convert(llvm::SDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer25GenWidenVectorTruncStoresERNS_11SmallVectorINS_7SDValueELj16EEEPNS_11StoreSDNodeE", "llvm::DAGTypeLegalizer::GenWidenVectorTruncStores(llvm::SmallVector<llvm::SDValue, 16u>&, llvm::StoreSDNode*)"},
-    {"_ZN4llvm16DAGTypeLegalizer20GenWidenVectorStoresERNS_11SmallVectorINS_7SDValueELj16EEEPNS_11StoreSDNodeE", "llvm::DAGTypeLegalizer::GenWidenVectorStores(llvm::SmallVector<llvm::SDValue, 16u>&, llvm::StoreSDNode*)"},
-    {"_Z11FindMemTypeRN4llvm12SelectionDAGERKNS_14TargetLoweringEjNS_3EVTEjj", "FindMemType(llvm::SelectionDAG&, llvm::TargetLowering const&, unsigned int, llvm::EVT, unsigned int, unsigned int)"},
-    {"_Z21BuildVectorFromScalarRN4llvm12SelectionDAGENS_3EVTERNS_11SmallVectorINS_7SDValueELj16EEEjj", "BuildVectorFromScalar(llvm::SelectionDAG&, llvm::EVT, llvm::SmallVector<llvm::SDValue, 16u>&, unsigned int, unsigned int)"},
-    {"_ZN4llvm16DAGTypeLegalizer13GetExpandedOpENS_7SDValueERS1_S2_", "llvm::DAGTypeLegalizer::GetExpandedOp(llvm::SDValue, llvm::SDValue&, llvm::SDValue&)"},
-    {"_ZNK4llvm3EVT6bitsEqES0_", "llvm::EVT::bitsEq(llvm::EVT) const"},
-    {"_ZN4llvm24createTDListDAGSchedulerEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelE", "llvm::createTDListDAGScheduler(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)"},
-    {"_ZN12_GLOBAL__N_115ScheduleDAGListD1Ev", "(anonymous namespace)::ScheduleDAGList::~ScheduleDAGList()"},
-    {"_ZN12_GLOBAL__N_115ScheduleDAGListD0Ev", "(anonymous namespace)::ScheduleDAGList::~ScheduleDAGList()"},
-    {"_ZN12_GLOBAL__N_115ScheduleDAGList8ScheduleEv", "(anonymous namespace)::ScheduleDAGList::Schedule()"},
-    {"_ZN12_GLOBAL__N_115ScheduleDAGList17ReleaseSuccessorsEPN4llvm5SUnitE", "(anonymous namespace)::ScheduleDAGList::ReleaseSuccessors(llvm::SUnit*)"},
-    {"_ZN4llvm26createBURRListDAGSchedulerEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelE", "llvm::createBURRListDAGScheduler(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm26createTDRRListDAGSchedulerEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelE", "llvm::createTDRRListDAGScheduler(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm28createSourceListDAGSchedulerEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelE", "llvm::createSourceListDAGScheduler(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm28createHybridListDAGSchedulerEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelE", "llvm::createHybridListDAGScheduler(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm25createILPListDAGSchedulerEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelE", "llvm::createILPListDAGScheduler(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRListC1ERN4llvm15MachineFunctionEbPNS1_23SchedulingPriorityQueueENS1_10CodeGenOpt5LevelE", "(anonymous namespace)::ScheduleDAGRRList::ScheduleDAGRRList(llvm::MachineFunction&, bool, llvm::SchedulingPriorityQueue*, llvm::CodeGenOpt::Level)"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBaseC2ERN4llvm15MachineFunctionEbbPKNS1_15TargetInstrInfoEPKNS1_18TargetRegisterInfoEPKNS1_14TargetLoweringE", "(anonymous namespace)::RegReductionPQBase::RegReductionPQBase(llvm::MachineFunction&, bool, bool, llvm::TargetInstrInfo const*, llvm::TargetRegisterInfo const*, llvm::TargetLowering const*)"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_14ilp_ls_rr_sortEED1Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::ilp_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_14ilp_ls_rr_sortEED0Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::ilp_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_14ilp_ls_rr_sortEE10isBottomUpEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::ilp_ls_rr_sort>::isBottomUp() const"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBase9initNodesERSt6vectorIN4llvm5SUnitESaIS3_EE", "(anonymous namespace)::RegReductionPQBase::initNodes(std::vector<llvm::SUnit, std::allocator<llvm::SUnit> >&)"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBase7addNodeEPKN4llvm5SUnitE", "(anonymous namespace)::RegReductionPQBase::addNode(llvm::SUnit const*)"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBase10updateNodeEPKN4llvm5SUnitE", "(anonymous namespace)::RegReductionPQBase::updateNode(llvm::SUnit const*)"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBase12releaseStateEv", "(anonymous namespace)::RegReductionPQBase::releaseState()"},
-    {"_ZNK12_GLOBAL__N_118RegReductionPQBase5emptyEv", "(anonymous namespace)::RegReductionPQBase::empty() const"},
-    {"_ZNK12_GLOBAL__N_118RegReductionPQBase17tracksRegPressureEv", "(anonymous namespace)::RegReductionPQBase::tracksRegPressure() const"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_14ilp_ls_rr_sortEE7isReadyEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::ilp_ls_rr_sort>::isReady(llvm::SUnit*) const"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBase4pushEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPQBase::push(llvm::SUnit*)"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_14ilp_ls_rr_sortEE3popEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::ilp_ls_rr_sort>::pop()"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBase6removeEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPQBase::remove(llvm::SUnit*)"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_14ilp_ls_rr_sortEE4dumpEPN4llvm11ScheduleDAGE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::ilp_ls_rr_sort>::dump(llvm::ScheduleDAG*) const"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBase13ScheduledNodeEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPQBase::ScheduledNode(llvm::SUnit*)"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBase15UnscheduledNodeEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPQBase::UnscheduledNode(llvm::SUnit*)"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_14ilp_ls_rr_sortEE12popFromQueueERSt6vectorIPN4llvm5SUnitESaIS6_EERS1_", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::ilp_ls_rr_sort>::popFromQueue(std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >&, (anonymous namespace)::ilp_ls_rr_sort&)"},
-    {"_Z8BURRSortPN4llvm5SUnitES1_PN12_GLOBAL__N_118RegReductionPQBaseE", "BURRSort(llvm::SUnit*, llvm::SUnit*, (anonymous namespace)::RegReductionPQBase*)"},
-    {"_ZNK12_GLOBAL__N_118RegReductionPQBase15HighRegPressureEPKN4llvm5SUnitE", "(anonymous namespace)::RegReductionPQBase::HighRegPressure(llvm::SUnit const*) const"},
-    {"_Z11closestSuccPKN4llvm5SUnitE", "closestSucc(llvm::SUnit const*)"},
-    {"_Z16BUCompareLatencyPN4llvm5SUnitES1_bPN12_GLOBAL__N_118RegReductionPQBaseE", "BUCompareLatency(llvm::SUnit*, llvm::SUnit*, bool, (anonymous namespace)::RegReductionPQBase*)"},
-    {"_Z25CalcNodeSethiUllmanNumberPKN4llvm5SUnitERSt6vectorIjSaIjEE", "CalcNodeSethiUllmanNumber(llvm::SUnit const*, std::vector<unsigned int, std::allocator<unsigned int> >&)"},
-    {"_Z21canClobberPhysRegDefsPKN4llvm5SUnitES2_PKNS_15TargetInstrInfoEPKNS_18TargetRegisterInfoE", "canClobberPhysRegDefs(llvm::SUnit const*, llvm::SUnit const*, llvm::TargetInstrInfo const*, llvm::TargetRegisterInfo const*)"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBaseD1Ev", "(anonymous namespace)::RegReductionPQBase::~RegReductionPQBase()"},
-    {"_ZN12_GLOBAL__N_118RegReductionPQBaseD0Ev", "(anonymous namespace)::RegReductionPQBase::~RegReductionPQBase()"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_17hybrid_ls_rr_sortEED1Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::hybrid_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_17hybrid_ls_rr_sortEED0Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::hybrid_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_17hybrid_ls_rr_sortEE10isBottomUpEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::hybrid_ls_rr_sort>::isBottomUp() const"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_17hybrid_ls_rr_sortEE7isReadyEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::hybrid_ls_rr_sort>::isReady(llvm::SUnit*) const"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_17hybrid_ls_rr_sortEE3popEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::hybrid_ls_rr_sort>::pop()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_17hybrid_ls_rr_sortEE4dumpEPN4llvm11ScheduleDAGE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::hybrid_ls_rr_sort>::dump(llvm::ScheduleDAG*) const"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_17hybrid_ls_rr_sortEE12popFromQueueERSt6vectorIPN4llvm5SUnitESaIS6_EERS1_", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::hybrid_ls_rr_sort>::popFromQueue(std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >&, (anonymous namespace)::hybrid_ls_rr_sort&)"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_14src_ls_rr_sortEED1Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::src_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_14src_ls_rr_sortEED0Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::src_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_14src_ls_rr_sortEE10isBottomUpEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::src_ls_rr_sort>::isBottomUp() const"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_14src_ls_rr_sortEE7isReadyEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::src_ls_rr_sort>::isReady(llvm::SUnit*) const"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_14src_ls_rr_sortEE3popEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::src_ls_rr_sort>::pop()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_14src_ls_rr_sortEE4dumpEPN4llvm11ScheduleDAGE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::src_ls_rr_sort>::dump(llvm::ScheduleDAG*) const"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_14src_ls_rr_sortEE12popFromQueueERSt6vectorIPN4llvm5SUnitESaIS6_EERS1_", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::src_ls_rr_sort>::popFromQueue(std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >&, (anonymous namespace)::src_ls_rr_sort&)"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_13td_ls_rr_sortEED1Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::td_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_13td_ls_rr_sortEED0Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::td_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_13td_ls_rr_sortEE10isBottomUpEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::td_ls_rr_sort>::isBottomUp() const"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_13td_ls_rr_sortEE7isReadyEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::td_ls_rr_sort>::isReady(llvm::SUnit*) const"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_13td_ls_rr_sortEE3popEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::td_ls_rr_sort>::pop()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_13td_ls_rr_sortEE4dumpEPN4llvm11ScheduleDAGE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::td_ls_rr_sort>::dump(llvm::ScheduleDAG*) const"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_13td_ls_rr_sortEE12popFromQueueERSt6vectorIPN4llvm5SUnitESaIS6_EERS1_", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::td_ls_rr_sort>::popFromQueue(std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >&, (anonymous namespace)::td_ls_rr_sort&)"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_13bu_ls_rr_sortEED1Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::bu_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_13bu_ls_rr_sortEED0Ev", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::bu_ls_rr_sort>::~RegReductionPriorityQueue()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_13bu_ls_rr_sortEE10isBottomUpEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::bu_ls_rr_sort>::isBottomUp() const"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_13bu_ls_rr_sortEE7isReadyEPN4llvm5SUnitE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::bu_ls_rr_sort>::isReady(llvm::SUnit*) const"},
-    {"_ZN12_GLOBAL__N_125RegReductionPriorityQueueINS_13bu_ls_rr_sortEE3popEv", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::bu_ls_rr_sort>::pop()"},
-    {"_ZNK12_GLOBAL__N_125RegReductionPriorityQueueINS_13bu_ls_rr_sortEE4dumpEPN4llvm11ScheduleDAGE", "(anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::bu_ls_rr_sort>::dump(llvm::ScheduleDAG*) const"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRListD1Ev", "(anonymous namespace)::ScheduleDAGRRList::~ScheduleDAGRRList()"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRListD0Ev", "(anonymous namespace)::ScheduleDAGRRList::~ScheduleDAGRRList()"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRList8ScheduleEv", "(anonymous namespace)::ScheduleDAGRRList::Schedule()"},
-    {"_ZNK12_GLOBAL__N_117ScheduleDAGRRList18ForceUnitLatenciesEv", "(anonymous namespace)::ScheduleDAGRRList::ForceUnitLatencies() const"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRList20ListScheduleBottomUpEv", "(anonymous namespace)::ScheduleDAGRRList::ListScheduleBottomUp()"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRList19ReleasePredecessorsEPN4llvm5SUnitE", "(anonymous namespace)::ScheduleDAGRRList::ReleasePredecessors(llvm::SUnit*)"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRList14AdvanceToCycleEj", "(anonymous namespace)::ScheduleDAGRRList::AdvanceToCycle(unsigned int)"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRList14ReleasePendingEv", "(anonymous namespace)::ScheduleDAGRRList::ReleasePending()"},
-    {"_ZN12_GLOBAL__N_117ScheduleDAGRRList8EmitNodeEPN4llvm5SUnitE", "(anonymous namespace)::ScheduleDAGRRList::EmitNode(llvm::SUnit*)"},
-    {"_Z18CheckForLiveRegDefPN4llvm5SUnitEjRSt6vectorIS1_SaIS1_EERNS_8SmallSetIjLj4EEERNS_11SmallVectorIjLj4EEEPKNS_18TargetRegisterInfoE", "CheckForLiveRegDef(llvm::SUnit*, unsigned int, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >&, llvm::SmallSet<unsigned int, 4u>&, llvm::SmallVector<unsigned int, 4u>&, llvm::TargetRegisterInfo const*)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm5SUnitESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::SUnit**, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::SUnit**, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, llvm::SUnit*>(__gnu_cxx::__normal_iterator<llvm::SUnit**, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, __gnu_cxx::__normal_iterator<llvm::SUnit**, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, llvm::SUnit* const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIjSaIjEE14_M_fill_assignEmRKj", "std::vector<unsigned int, std::allocator<unsigned int> >::_M_fill_assign(unsigned long, unsigned int const&)"},
-    {"_ZNK4llvm18ScheduleDAGSDNodes21ComputeOperandLatencyEPNS_5SUnitES2_RNS_4SDepE", "llvm::ScheduleDAGSDNodes::ComputeOperandLatency(llvm::SUnit*, llvm::SUnit*, llvm::SDep&) const"},
-    {"_ZN4llvm8DenseMapIPNS_5SUnitENS_11SmallVectorIjLj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE6insertERKSt4pairIS2_S4_E", "llvm::DenseMap<llvm::SUnit*, llvm::SmallVector<unsigned int, 4u>, llvm::DenseMapInfo<llvm::SUnit*>, llvm::DenseMapInfo<llvm::SmallVector<unsigned int, 4u> > >::insert(std::pair<llvm::SUnit*, llvm::SmallVector<unsigned int, 4u> > const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5SUnitENS_11SmallVectorIjLj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::SUnit*, llvm::SmallVector<unsigned int, 4u>, llvm::DenseMapInfo<llvm::SUnit*>, llvm::DenseMapInfo<llvm::SmallVector<unsigned int, 4u> > >::FindAndConstruct(llvm::SUnit* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5SUnitENS_11SmallVectorIjLj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::SUnit*, llvm::SmallVector<unsigned int, 4u>, llvm::DenseMapInfo<llvm::SUnit*>, llvm::DenseMapInfo<llvm::SmallVector<unsigned int, 4u> > >::InsertIntoBucket(llvm::SUnit* const&, llvm::SmallVector<unsigned int, 4u> const&, std::pair<llvm::SUnit*, llvm::SmallVector<unsigned int, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_5SUnitENS_11SmallVectorIjLj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::SUnit*, llvm::SmallVector<unsigned int, 4u>, llvm::DenseMapInfo<llvm::SUnit*>, llvm::DenseMapInfo<llvm::SmallVector<unsigned int, 4u> > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN4llvm5SUnitESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::SUnit**, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, unsigned long, llvm::SUnit* const&)"},
-    {"_ZN4llvm18ScheduleDAGSDNodesD1Ev", "llvm::ScheduleDAGSDNodes::~ScheduleDAGSDNodes()"},
-    {"_ZN4llvm18ScheduleDAGSDNodesD0Ev", "llvm::ScheduleDAGSDNodes::~ScheduleDAGSDNodes()"},
-    {"_ZN4llvm18ScheduleDAGSDNodesC1ERNS_15MachineFunctionE", "llvm::ScheduleDAGSDNodes::ScheduleDAGSDNodes(llvm::MachineFunction&)"},
-    {"_ZN4llvm18ScheduleDAGSDNodesC2ERNS_15MachineFunctionE", "llvm::ScheduleDAGSDNodes::ScheduleDAGSDNodes(llvm::MachineFunction&)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes3RunEPNS_12SelectionDAGEPNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::ScheduleDAGSDNodes::Run(llvm::SelectionDAG*, llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes8NewSUnitEPNS_6SDNodeE", "llvm::ScheduleDAGSDNodes::NewSUnit(llvm::SDNode*)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes5CloneEPNS_5SUnitE", "llvm::ScheduleDAGSDNodes::Clone(llvm::SUnit*)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes23ClusterNeighboringLoadsEPNS_6SDNodeE", "llvm::ScheduleDAGSDNodes::ClusterNeighboringLoads(llvm::SDNode*)"},
-    {"_Z7AddGluePN4llvm6SDNodeENS_7SDValueEbPNS_12SelectionDAGE", "AddGlue(llvm::SDNode*, llvm::SDValue, bool, llvm::SelectionDAG*)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes12ClusterNodesEv", "llvm::ScheduleDAGSDNodes::ClusterNodes()"},
-    {"_ZN4llvm18ScheduleDAGSDNodes15BuildSchedUnitsEv", "llvm::ScheduleDAGSDNodes::BuildSchedUnits()"},
-    {"_ZN4llvm18ScheduleDAGSDNodes18InitNumRegDefsLeftEPNS_5SUnitE", "llvm::ScheduleDAGSDNodes::InitNumRegDefsLeft(llvm::SUnit*)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes13AddSchedEdgesEv", "llvm::ScheduleDAGSDNodes::AddSchedEdges()"},
-    {"_ZN4llvm18ScheduleDAGSDNodes15BuildSchedGraphEPNS_13AliasAnalysisE", "llvm::ScheduleDAGSDNodes::BuildSchedGraph(llvm::AliasAnalysis*)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes10RegDefIter15InitNodeNumDefsEv", "llvm::ScheduleDAGSDNodes::RegDefIter::InitNodeNumDefs()"},
-    {"_ZN4llvm18ScheduleDAGSDNodes10RegDefIterC1EPKNS_5SUnitEPKS0_", "llvm::ScheduleDAGSDNodes::RegDefIter::RegDefIter(llvm::SUnit const*, llvm::ScheduleDAGSDNodes const*)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes10RegDefIterC2EPKNS_5SUnitEPKS0_", "llvm::ScheduleDAGSDNodes::RegDefIter::RegDefIter(llvm::SUnit const*, llvm::ScheduleDAGSDNodes const*)"},
-    {"_ZN4llvm18ScheduleDAGSDNodes10RegDefIter7AdvanceEv", "llvm::ScheduleDAGSDNodes::RegDefIter::Advance()"},
-    {"_ZN4llvm18ScheduleDAGSDNodes14ComputeLatencyEPNS_5SUnitE", "llvm::ScheduleDAGSDNodes::ComputeLatency(llvm::SUnit*)"},
-    {"_ZNK4llvm18ScheduleDAGSDNodes21ComputeOperandLatencyEPNS_6SDNodeES2_jRNS_4SDepE", "llvm::ScheduleDAGSDNodes::ComputeOperandLatency(llvm::SDNode*, llvm::SDNode*, unsigned int, llvm::SDep&) const"},
-    {"_ZNK4llvm18ScheduleDAGSDNodes8dumpNodeEPKNS_5SUnitE", "llvm::ScheduleDAGSDNodes::dumpNode(llvm::SUnit const*) const"},
-    {"_ZN4llvm18ScheduleDAGSDNodes12EmitScheduleEv", "llvm::ScheduleDAGSDNodes::EmitSchedule()"},
-    {"_Z17ProcessSourceNodePN4llvm6SDNodeEPNS_12SelectionDAGERNS_12InstrEmitterERNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoIS7_EENS8_IjEEEERNS_11SmallVectorISt4pairIjPNS_12MachineInstrEELj32EEERNS_8SmallSetIjLj8EEE", "ProcessSourceNode(llvm::SDNode*, llvm::SelectionDAG*, llvm::InstrEmitter&, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&, llvm::SmallVector<std::pair<unsigned int, llvm::MachineInstr*>, 32u>&, llvm::SmallSet<unsigned int, 8u>&)"},
-    {"_ZSt16__introsort_loopIPSt4pairIjPN4llvm12MachineInstrEElN12_GLOBAL__N_111OrderSorterEEvT_S8_T0_T1_", "void std::__introsort_loop<std::pair<unsigned int, llvm::MachineInstr*>*, long, (anonymous namespace)::OrderSorter>(std::pair<unsigned int, llvm::MachineInstr*>*, std::pair<unsigned int, llvm::MachineInstr*>*, long, (anonymous namespace)::OrderSorter)"},
-    {"_ZSt16__insertion_sortIPSt4pairIjPN4llvm12MachineInstrEEN12_GLOBAL__N_111OrderSorterEEvT_S8_T0_", "void std::__insertion_sort<std::pair<unsigned int, llvm::MachineInstr*>*, (anonymous namespace)::OrderSorter>(std::pair<unsigned int, llvm::MachineInstr*>*, std::pair<unsigned int, llvm::MachineInstr*>*, (anonymous namespace)::OrderSorter)"},
-    {"_Z18ProcessSDDbgValuesPN4llvm6SDNodeEPNS_12SelectionDAGERNS_12InstrEmitterERNS_11SmallVectorISt4pairIjPNS_12MachineInstrEELj32EEERNS_8DenseMapINS_7SDValueEjNS_12DenseMapInfoISE_EENSF_IjEEEEj", "ProcessSDDbgValues(llvm::SDNode*, llvm::SelectionDAG*, llvm::InstrEmitter&, llvm::SmallVector<std::pair<unsigned int, llvm::MachineInstr*>, 32u>&, llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&, unsigned int)"},
-    {"_ZN4llvm8DenseMapIxPNS_6SDNodeENS_12DenseMapInfoIxEENS3_IS2_EEE6insertERKSt4pairIxS2_E", "llvm::DenseMap<long long, llvm::SDNode*, llvm::DenseMapInfo<long long>, llvm::DenseMapInfo<llvm::SDNode*> >::insert(std::pair<long long, llvm::SDNode*> const&)"},
-    {"_ZN4llvm8DenseMapIxPNS_6SDNodeENS_12DenseMapInfoIxEENS3_IS2_EEE16InsertIntoBucketERKxRKS2_PSt4pairIxS2_E", "llvm::DenseMap<long long, llvm::SDNode*, llvm::DenseMapInfo<long long>, llvm::DenseMapInfo<llvm::SDNode*> >::InsertIntoBucket(long long const&, llvm::SDNode* const&, std::pair<long long, llvm::SDNode*>*)"},
-    {"_ZN4llvm8DenseMapIxPNS_6SDNodeENS_12DenseMapInfoIxEENS3_IS2_EEE4growEj", "llvm::DenseMap<long long, llvm::SDNode*, llvm::DenseMapInfo<long long>, llvm::DenseMapInfo<llvm::SDNode*> >::grow(unsigned int)"},
-    {"_ZSt16__introsort_loopIPxlEvT_S1_T0_", "void std::__introsort_loop<long long*, long>(long long*, long long*, long)"},
-    {"_ZSt22__final_insertion_sortIPxEvT_S1_", "void std::__final_insertion_sort<long long*>(long long*, long long*)"},
-    {"_ZSt13__heap_selectIPxEvT_S1_S1_", "void std::__heap_select<long long*>(long long*, long long*, long long*)"},
-    {"_ZSt9sort_heapIPxEvT_S1_", "void std::sort_heap<long long*>(long long*, long long*)"},
-    {"_ZSt9make_heapIPxEvT_S1_", "void std::make_heap<long long*>(long long*, long long*)"},
-    {"_ZN4llvm12SelectionDAG17DAGUpdateListenerD0Ev", "llvm::SelectionDAG::DAGUpdateListener::~DAGUpdateListener()"},
-    {"_ZN4llvm12SelectionDAG17DAGUpdateListenerD1Ev", "llvm::SelectionDAG::DAGUpdateListener::~DAGUpdateListener()"},
-    {"_ZN4llvm12SelectionDAG17DAGUpdateListenerD2Ev", "llvm::SelectionDAG::DAGUpdateListener::~DAGUpdateListener()"},
-    {"_ZNK4llvm16ConstantFPSDNode14isExactlyValueERKNS_7APFloatE", "llvm::ConstantFPSDNode::isExactlyValue(llvm::APFloat const&) const"},
-    {"_ZN4llvm16ConstantFPSDNode19isValueValidForTypeENS_3EVTERKNS_7APFloatE", "llvm::ConstantFPSDNode::isValueValidForType(llvm::EVT, llvm::APFloat const&)"},
-    {"_ZN4llvm3ISD20isBuildVectorAllOnesEPKNS_6SDNodeE", "llvm::ISD::isBuildVectorAllOnes(llvm::SDNode const*)"},
-    {"_ZN4llvm3ISD21isBuildVectorAllZerosEPKNS_6SDNodeE", "llvm::ISD::isBuildVectorAllZeros(llvm::SDNode const*)"},
-    {"_ZN4llvm3ISD16isScalarToVectorEPKNS_6SDNodeE", "llvm::ISD::isScalarToVector(llvm::SDNode const*)"},
-    {"_ZN4llvm3ISD23getSetCCSwappedOperandsENS0_8CondCodeE", "llvm::ISD::getSetCCSwappedOperands(llvm::ISD::CondCode)"},
-    {"_ZN4llvm3ISD15getSetCCInverseENS0_8CondCodeEb", "llvm::ISD::getSetCCInverse(llvm::ISD::CondCode, bool)"},
-    {"_ZN4llvm3ISD19getSetCCOrOperationENS0_8CondCodeES1_b", "llvm::ISD::getSetCCOrOperation(llvm::ISD::CondCode, llvm::ISD::CondCode, bool)"},
-    {"_ZN4llvm3ISD20getSetCCAndOperationENS0_8CondCodeES1_b", "llvm::ISD::getSetCCAndOperation(llvm::ISD::CondCode, llvm::ISD::CondCode, bool)"},
-    {"_ZN4llvm12SelectionDAG15RemoveDeadNodesEv", "llvm::SelectionDAG::RemoveDeadNodes()"},
-    {"_ZN4llvm12SelectionDAG15RemoveDeadNodesERNS_15SmallVectorImplIPNS_6SDNodeEEEPNS0_17DAGUpdateListenerE", "llvm::SelectionDAG::RemoveDeadNodes(llvm::SmallVectorImpl<llvm::SDNode*>&, llvm::SelectionDAG::DAGUpdateListener*)"},
-    {"_ZN4llvm12HandleSDNodeD1Ev", "llvm::HandleSDNode::~HandleSDNode()"},
-    {"_ZN4llvm12SelectionDAG21RemoveNodeFromCSEMapsEPNS_6SDNodeE", "llvm::SelectionDAG::RemoveNodeFromCSEMaps(llvm::SDNode*)"},
-    {"_ZN4llvm12SelectionDAG14DeallocateNodeEPNS_6SDNodeE", "llvm::SelectionDAG::DeallocateNode(llvm::SDNode*)"},
-    {"_ZN4llvm12SelectionDAG14RemoveDeadNodeEPNS_6SDNodeEPNS0_17DAGUpdateListenerE", "llvm::SelectionDAG::RemoveDeadNode(llvm::SDNode*, llvm::SelectionDAG::DAGUpdateListener*)"},
-    {"_ZN4llvm12SelectionDAG10DeleteNodeEPNS_6SDNodeE", "llvm::SelectionDAG::DeleteNode(llvm::SDNode*)"},
-    {"_ZN4llvm12SelectionDAG22DeleteNodeNotInCSEMapsEPNS_6SDNodeE", "llvm::SelectionDAG::DeleteNodeNotInCSEMaps(llvm::SDNode*)"},
-    {"_ZN4llvm6SDNode12DropOperandsEv", "llvm::SDNode::DropOperands()"},
-    {"_ZN4llvm12SelectionDAG24AddModifiedNodeToCSEMapsEPNS_6SDNodeEPNS0_17DAGUpdateListenerE", "llvm::SelectionDAG::AddModifiedNodeToCSEMaps(llvm::SDNode*, llvm::SelectionDAG::DAGUpdateListener*)"},
-    {"_ZN4llvm12SelectionDAG18ReplaceAllUsesWithEPNS_6SDNodeES2_PNS0_17DAGUpdateListenerE", "llvm::SelectionDAG::ReplaceAllUsesWith(llvm::SDNode*, llvm::SDNode*, llvm::SelectionDAG::DAGUpdateListener*)"},
-    {"_ZN4llvm12SelectionDAG20FindModifiedNodeSlotEPNS_6SDNodeENS_7SDValueERPv", "llvm::SelectionDAG::FindModifiedNodeSlot(llvm::SDNode*, llvm::SDValue, void*&)"},
-    {"_Z15AddNodeIDCustomRN4llvm16FoldingSetNodeIDEPKNS_6SDNodeE", "AddNodeIDCustom(llvm::FoldingSetNodeID&, llvm::SDNode const*)"},
-    {"_ZN4llvm12SelectionDAG20FindModifiedNodeSlotEPNS_6SDNodeENS_7SDValueES3_RPv", "llvm::SelectionDAG::FindModifiedNodeSlot(llvm::SDNode*, llvm::SDValue, llvm::SDValue, void*&)"},
-    {"_ZN4llvm12SelectionDAG20FindModifiedNodeSlotEPNS_6SDNodeEPKNS_7SDValueEjRPv", "llvm::SelectionDAG::FindModifiedNodeSlot(llvm::SDNode*, llvm::SDValue const*, unsigned int, void*&)"},
-    {"_ZNK4llvm12SelectionDAG15getEVTAlignmentENS_3EVTE", "llvm::SelectionDAG::getEVTAlignment(llvm::EVT) const"},
-    {"_ZN4llvm12SelectionDAGC1ERKNS_13TargetMachineE", "llvm::SelectionDAG::SelectionDAG(llvm::TargetMachine const&)"},
-    {"_ZN4llvm12SelectionDAGC2ERKNS_13TargetMachineE", "llvm::SelectionDAG::SelectionDAG(llvm::TargetMachine const&)"},
-    {"_ZN4llvm12SelectionDAG9getVTListENS_3EVTE", "llvm::SelectionDAG::getVTList(llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG4initERNS_15MachineFunctionE", "llvm::SelectionDAG::init(llvm::MachineFunction&)"},
-    {"_ZN4llvm12SelectionDAGD1Ev", "llvm::SelectionDAG::~SelectionDAG()"},
-    {"_ZN4llvm12SelectionDAGD2Ev", "llvm::SelectionDAG::~SelectionDAG()"},
-    {"_ZN4llvm12SelectionDAG14allnodes_clearEv", "llvm::SelectionDAG::allnodes_clear()"},
-    {"_ZN4llvm12SelectionDAG5clearEv", "llvm::SelectionDAG::clear()"},
-    {"_ZN4llvm12SelectionDAG14getSExtOrTruncENS_7SDValueENS_8DebugLocENS_3EVTE", "llvm::SelectionDAG::getSExtOrTrunc(llvm::SDValue, llvm::DebugLoc, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_3EVTENS_7SDValueE", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getZExtOrTruncENS_7SDValueENS_8DebugLocENS_3EVTE", "llvm::SelectionDAG::getZExtOrTrunc(llvm::SDValue, llvm::DebugLoc, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG18getZeroExtendInRegENS_7SDValueENS_8DebugLocENS_3EVTE", "llvm::SelectionDAG::getZeroExtendInReg(llvm::SDValue, llvm::DebugLoc, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_3EVTENS_7SDValueES3_", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG11getConstantERKNS_5APIntENS_3EVTEb", "llvm::SelectionDAG::getConstant(llvm::APInt const&, llvm::EVT, bool)"},
-    {"_ZN4llvm12SelectionDAG6getNOTENS_8DebugLocENS_7SDValueENS_3EVTE", "llvm::SelectionDAG::getNOT(llvm::DebugLoc, llvm::SDValue, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG11getConstantEyNS_3EVTEb", "llvm::SelectionDAG::getConstant(unsigned long long, llvm::EVT, bool)"},
-    {"_ZN4llvm12SelectionDAG11getConstantERKNS_11ConstantIntENS_3EVTEb", "llvm::SelectionDAG::getConstant(llvm::ConstantInt const&, llvm::EVT, bool)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_3EVTEPKNS_7SDValueEj", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG17getIntPtrConstantEyb", "llvm::SelectionDAG::getIntPtrConstant(unsigned long long, bool)"},
-    {"_ZN4llvm12SelectionDAG13getConstantFPERKNS_7APFloatENS_3EVTEb", "llvm::SelectionDAG::getConstantFP(llvm::APFloat const&, llvm::EVT, bool)"},
-    {"_ZN4llvm12SelectionDAG13getConstantFPERKNS_10ConstantFPENS_3EVTEb", "llvm::SelectionDAG::getConstantFP(llvm::ConstantFP const&, llvm::EVT, bool)"},
-    {"_ZN4llvm12SelectionDAG13getConstantFPEdNS_3EVTEb", "llvm::SelectionDAG::getConstantFP(double, llvm::EVT, bool)"},
-    {"_ZN4llvm12SelectionDAG16getGlobalAddressEPKNS_11GlobalValueENS_8DebugLocENS_3EVTExbh", "llvm::SelectionDAG::getGlobalAddress(llvm::GlobalValue const*, llvm::DebugLoc, llvm::EVT, long long, bool, unsigned char)"},
-    {"_ZN4llvm19GlobalAddressSDNodeC1EjNS_8DebugLocEPKNS_11GlobalValueENS_3EVTExh", "llvm::GlobalAddressSDNode::GlobalAddressSDNode(unsigned int, llvm::DebugLoc, llvm::GlobalValue const*, llvm::EVT, long long, unsigned char)"},
-    {"_ZN4llvm12SelectionDAG13getFrameIndexEiNS_3EVTEb", "llvm::SelectionDAG::getFrameIndex(int, llvm::EVT, bool)"},
-    {"_ZN4llvm12SelectionDAG12getJumpTableEiNS_3EVTEbh", "llvm::SelectionDAG::getJumpTable(int, llvm::EVT, bool, unsigned char)"},
-    {"_ZN4llvm12SelectionDAG15getConstantPoolEPKNS_8ConstantENS_3EVTEjibh", "llvm::SelectionDAG::getConstantPool(llvm::Constant const*, llvm::EVT, unsigned int, int, bool, unsigned char)"},
-    {"_ZN4llvm12SelectionDAG15getConstantPoolEPNS_24MachineConstantPoolValueENS_3EVTEjibh", "llvm::SelectionDAG::getConstantPool(llvm::MachineConstantPoolValue*, llvm::EVT, unsigned int, int, bool, unsigned char)"},
-    {"_ZN4llvm12SelectionDAG13getBasicBlockEPNS_17MachineBasicBlockE", "llvm::SelectionDAG::getBasicBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12SelectionDAG12getValueTypeENS_3EVTE", "llvm::SelectionDAG::getValueType(llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG17getExternalSymbolEPKcNS_3EVTE", "llvm::SelectionDAG::getExternalSymbol(char const*, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG23getTargetExternalSymbolEPKcNS_3EVTEh", "llvm::SelectionDAG::getTargetExternalSymbol(char const*, llvm::EVT, unsigned char)"},
-    {"_ZN4llvm12SelectionDAG11getCondCodeENS_3ISD8CondCodeE", "llvm::SelectionDAG::getCondCode(llvm::ISD::CondCode)"},
-    {"_ZN4llvm12SelectionDAG16getVectorShuffleENS_3EVTENS_8DebugLocENS_7SDValueES3_PKi", "llvm::SelectionDAG::getVectorShuffle(llvm::EVT, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, int const*)"},
-    {"_ZN4llvm12SelectionDAG16getConvertRndSatENS_3EVTENS_8DebugLocENS_7SDValueES3_S3_S3_S3_NS_3ISD7CvtCodeE", "llvm::SelectionDAG::getConvertRndSat(llvm::EVT, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::ISD::CvtCode)"},
-    {"_ZN4llvm12SelectionDAG11getRegisterEjNS_3EVTE", "llvm::SelectionDAG::getRegister(unsigned int, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG10getEHLabelENS_8DebugLocENS_7SDValueEPNS_8MCSymbolE", "llvm::SelectionDAG::getEHLabel(llvm::DebugLoc, llvm::SDValue, llvm::MCSymbol*)"},
-    {"_ZN4llvm12SelectionDAG15getBlockAddressEPKNS_12BlockAddressENS_3EVTEbh", "llvm::SelectionDAG::getBlockAddress(llvm::BlockAddress const*, llvm::EVT, bool, unsigned char)"},
-    {"_ZN4llvm12SelectionDAG11getSrcValueEPKNS_5ValueE", "llvm::SelectionDAG::getSrcValue(llvm::Value const*)"},
-    {"_ZN4llvm12SelectionDAG9getMDNodeEPKNS_6MDNodeE", "llvm::SelectionDAG::getMDNode(llvm::MDNode const*)"},
-    {"_ZN4llvm12SelectionDAG21getShiftAmountOperandENS_7SDValueE", "llvm::SelectionDAG::getShiftAmountOperand(llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG20CreateStackTemporaryENS_3EVTEj", "llvm::SelectionDAG::CreateStackTemporary(llvm::EVT, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG20CreateStackTemporaryENS_3EVTES1_", "llvm::SelectionDAG::CreateStackTemporary(llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG9FoldSetCCENS_3EVTENS_7SDValueES2_NS_3ISD8CondCodeENS_8DebugLocE", "llvm::SelectionDAG::FoldSetCC(llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::ISD::CondCode, llvm::DebugLoc)"},
-    {"_ZNK4llvm12SelectionDAG13SignBitIsZeroENS_7SDValueEj", "llvm::SelectionDAG::SignBitIsZero(llvm::SDValue, unsigned int) const"},
-    {"_ZNK4llvm12SelectionDAG17MaskedValueIsZeroENS_7SDValueERKNS_5APIntEj", "llvm::SelectionDAG::MaskedValueIsZero(llvm::SDValue, llvm::APInt const&, unsigned int) const"},
-    {"_ZNK4llvm12SelectionDAG17ComputeMaskedBitsENS_7SDValueERKNS_5APIntERS2_S5_j", "llvm::SelectionDAG::ComputeMaskedBits(llvm::SDValue, llvm::APInt const&, llvm::APInt&, llvm::APInt&, unsigned int) const"},
-    {"_ZNK4llvm12SelectionDAG18ComputeNumSignBitsENS_7SDValueEj", "llvm::SelectionDAG::ComputeNumSignBits(llvm::SDValue, unsigned int) const"},
-    {"_ZNK4llvm12SelectionDAG15isKnownNeverNaNENS_7SDValueE", "llvm::SelectionDAG::isKnownNeverNaN(llvm::SDValue) const"},
-    {"_ZNK4llvm12SelectionDAG16isKnownNeverZeroENS_7SDValueE", "llvm::SelectionDAG::isKnownNeverZero(llvm::SDValue) const"},
-    {"_ZNK4llvm12SelectionDAG9isEqualToENS_7SDValueES1_", "llvm::SelectionDAG::isEqualTo(llvm::SDValue, llvm::SDValue) const"},
-    {"_ZNK4llvm12SelectionDAG23isVerifiedDebugInfoDescENS_7SDValueE", "llvm::SelectionDAG::isVerifiedDebugInfoDesc(llvm::SDValue) const"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_3EVTE", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG22FoldConstantArithmeticEjNS_3EVTEPNS_14ConstantSDNodeES3_", "llvm::SelectionDAG::FoldConstantArithmetic(unsigned int, llvm::EVT, llvm::ConstantSDNode*, llvm::ConstantSDNode*)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_3EVTENS_7SDValueES3_S3_", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_3EVTENS_7SDValueES3_S3_S3_", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_3EVTENS_7SDValueES3_S3_S3_S3_", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG27getStackArgumentTokenFactorENS_7SDValueE", "llvm::SelectionDAG::getStackArgumentTokenFactor(llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG9getMemcpyENS_7SDValueENS_8DebugLocES1_S1_S1_jbbNS_18MachinePointerInfoES3_", "llvm::SelectionDAG::getMemcpy(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo)"},
-    {"_Z23getMemcpyLoadsAndStoresRN4llvm12SelectionDAGENS_8DebugLocENS_7SDValueES3_S3_yjbbNS_18MachinePointerInfoES4_", "getMemcpyLoadsAndStores(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned long long, unsigned int, bool, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo)"},
-    {"_ZN4llvm12SelectionDAG10getMemmoveENS_7SDValueENS_8DebugLocES1_S1_S1_jbNS_18MachinePointerInfoES3_", "llvm::SelectionDAG::getMemmove(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo)"},
-    {"_ZN4llvm12SelectionDAG9getMemsetENS_7SDValueENS_8DebugLocES1_S1_S1_jbNS_18MachinePointerInfoE", "llvm::SelectionDAG::getMemset(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, llvm::MachinePointerInfo)"},
-    {"_ZN4llvm12SelectionDAG9getAtomicEjNS_8DebugLocENS_3EVTENS_7SDValueES3_S3_S3_NS_18MachinePointerInfoEj", "llvm::SelectionDAG::getAtomic(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::MachinePointerInfo, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG9getAtomicEjNS_8DebugLocENS_3EVTENS_7SDValueES3_S3_S3_PNS_17MachineMemOperandE", "llvm::SelectionDAG::getAtomic(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm12SelectionDAG9getVTListENS_3EVTES1_", "llvm::SelectionDAG::getVTList(llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG9getAtomicEjNS_8DebugLocENS_3EVTENS_7SDValueES3_S3_PKNS_5ValueEj", "llvm::SelectionDAG::getAtomic(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::Value const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG9getAtomicEjNS_8DebugLocENS_3EVTENS_7SDValueES3_S3_PNS_17MachineMemOperandE", "llvm::SelectionDAG::getAtomic(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm12SelectionDAG14getMergeValuesEPKNS_7SDValueEjNS_8DebugLocE", "llvm::SelectionDAG::getMergeValues(llvm::SDValue const*, unsigned int, llvm::DebugLoc)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_8SDVTListEPKNS_7SDValueEj", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG9getVTListEPKNS_3EVTEj", "llvm::SelectionDAG::getVTList(llvm::EVT const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG19getMemIntrinsicNodeEjNS_8DebugLocEPKNS_3EVTEjPKNS_7SDValueEjS2_NS_18MachinePointerInfoEjbbb", "llvm::SelectionDAG::getMemIntrinsicNode(unsigned int, llvm::DebugLoc, llvm::EVT const*, unsigned int, llvm::SDValue const*, unsigned int, llvm::EVT, llvm::MachinePointerInfo, unsigned int, bool, bool, bool)"},
-    {"_ZN4llvm12SelectionDAG19getMemIntrinsicNodeEjNS_8DebugLocENS_8SDVTListEPKNS_7SDValueEjNS_3EVTENS_18MachinePointerInfoEjbbb", "llvm::SelectionDAG::getMemIntrinsicNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue const*, unsigned int, llvm::EVT, llvm::MachinePointerInfo, unsigned int, bool, bool, bool)"},
-    {"_ZN4llvm12SelectionDAG19getMemIntrinsicNodeEjNS_8DebugLocENS_8SDVTListEPKNS_7SDValueEjNS_3EVTEPNS_17MachineMemOperandE", "llvm::SelectionDAG::getMemIntrinsicNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue const*, unsigned int, llvm::EVT, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm12SelectionDAG7getLoadENS_3ISD14MemIndexedModeENS1_11LoadExtTypeENS_3EVTENS_8DebugLocENS_7SDValueES6_S6_NS_18MachinePointerInfoES4_bbjPKNS_6MDNodeE", "llvm::SelectionDAG::getLoad(llvm::ISD::MemIndexedMode, llvm::ISD::LoadExtType, llvm::EVT, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::MachinePointerInfo, llvm::EVT, bool, bool, unsigned int, llvm::MDNode const*)"},
-    {"_ZN4llvm12SelectionDAG7getLoadENS_3ISD14MemIndexedModeENS1_11LoadExtTypeENS_3EVTENS_8DebugLocENS_7SDValueES6_S6_S4_PNS_17MachineMemOperandE", "llvm::SelectionDAG::getLoad(llvm::ISD::MemIndexedMode, llvm::ISD::LoadExtType, llvm::EVT, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::EVT, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm12SelectionDAG9getVTListENS_3EVTES1_S1_", "llvm::SelectionDAG::getVTList(llvm::EVT, llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG7getLoadENS_3EVTENS_8DebugLocENS_7SDValueES3_NS_18MachinePointerInfoEbbjPKNS_6MDNodeE", "llvm::SelectionDAG::getLoad(llvm::EVT, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::MachinePointerInfo, bool, bool, unsigned int, llvm::MDNode const*)"},
-    {"_ZN4llvm12SelectionDAG10getExtLoadENS_3ISD11LoadExtTypeENS_3EVTENS_8DebugLocENS_7SDValueES5_NS_18MachinePointerInfoES3_bbjPKNS_6MDNodeE", "llvm::SelectionDAG::getExtLoad(llvm::ISD::LoadExtType, llvm::EVT, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::MachinePointerInfo, llvm::EVT, bool, bool, unsigned int, llvm::MDNode const*)"},
-    {"_ZN4llvm12SelectionDAG14getIndexedLoadENS_7SDValueENS_8DebugLocES1_S1_NS_3ISD14MemIndexedModeE", "llvm::SelectionDAG::getIndexedLoad(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::ISD::MemIndexedMode)"},
-    {"_ZN4llvm12SelectionDAG8getStoreENS_7SDValueENS_8DebugLocES1_S1_NS_18MachinePointerInfoEbbjPKNS_6MDNodeE", "llvm::SelectionDAG::getStore(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::MachinePointerInfo, bool, bool, unsigned int, llvm::MDNode const*)"},
-    {"_Z16InferPointerInfoN4llvm7SDValueEx", "InferPointerInfo(llvm::SDValue, long long)"},
-    {"_ZN4llvm12SelectionDAG8getStoreENS_7SDValueENS_8DebugLocES1_S1_PNS_17MachineMemOperandE", "llvm::SelectionDAG::getStore(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm12SelectionDAG13getTruncStoreENS_7SDValueENS_8DebugLocES1_S1_NS_18MachinePointerInfoENS_3EVTEbbjPKNS_6MDNodeE", "llvm::SelectionDAG::getTruncStore(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::MachinePointerInfo, llvm::EVT, bool, bool, unsigned int, llvm::MDNode const*)"},
-    {"_ZN4llvm12SelectionDAG13getTruncStoreENS_7SDValueENS_8DebugLocES1_S1_NS_3EVTEPNS_17MachineMemOperandE", "llvm::SelectionDAG::getTruncStore(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::EVT, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm12SelectionDAG15getIndexedStoreENS_7SDValueENS_8DebugLocES1_S1_NS_3ISD14MemIndexedModeE", "llvm::SelectionDAG::getIndexedStore(llvm::SDValue, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::ISD::MemIndexedMode)"},
-    {"_ZN4llvm12SelectionDAG8getVAArgENS_3EVTENS_8DebugLocENS_7SDValueES3_S3_j", "llvm::SelectionDAG::getVAArg(llvm::EVT, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_3EVTEPKNS_5SDUseEj", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDUse const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocERKSt6vectorINS_3EVTESaIS3_EEPKNS_7SDValueEj", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, std::vector<llvm::EVT, std::allocator<llvm::EVT> > const&, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocEPKNS_3EVTEjPKNS_7SDValueEj", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT const*, unsigned int, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_8SDVTListE", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::SDVTList)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_8SDVTListENS_7SDValueE", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_8SDVTListENS_7SDValueES3_", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_8SDVTListENS_7SDValueES3_S3_", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_8SDVTListENS_7SDValueES3_S3_S3_", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG7getNodeEjNS_8DebugLocENS_8SDVTListENS_7SDValueES3_S3_S3_S3_", "llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm6SDNode16getValueTypeListENS_3EVTE", "llvm::SDNode::getValueTypeList(llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG9getVTListENS_3EVTES1_S1_S1_", "llvm::SelectionDAG::getVTList(llvm::EVT, llvm::EVT, llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG18UpdateNodeOperandsEPNS_6SDNodeENS_7SDValueE", "llvm::SelectionDAG::UpdateNodeOperands(llvm::SDNode*, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG18UpdateNodeOperandsEPNS_6SDNodeENS_7SDValueES3_", "llvm::SelectionDAG::UpdateNodeOperands(llvm::SDNode*, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG18UpdateNodeOperandsEPNS_6SDNodeENS_7SDValueES3_S3_", "llvm::SelectionDAG::UpdateNodeOperands(llvm::SDNode*, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG18UpdateNodeOperandsEPNS_6SDNodeEPKNS_7SDValueEj", "llvm::SelectionDAG::UpdateNodeOperands(llvm::SDNode*, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG18UpdateNodeOperandsEPNS_6SDNodeENS_7SDValueES3_S3_S3_", "llvm::SelectionDAG::UpdateNodeOperands(llvm::SDNode*, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG18UpdateNodeOperandsEPNS_6SDNodeENS_7SDValueES3_S3_S3_S3_", "llvm::SelectionDAG::UpdateNodeOperands(llvm::SDNode*, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTE", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_8SDVTListEPKNS_7SDValueEj", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::SDVTList, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTENS_7SDValueE", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTENS_7SDValueES4_", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTENS_7SDValueES4_S4_", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTEPKNS_7SDValueEj", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTES3_PKNS_7SDValueEj", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTES3_", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTES3_S3_PKNS_7SDValueEj", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::EVT, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTES3_S3_S3_PKNS_7SDValueEj", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::EVT, llvm::EVT, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTES3_NS_7SDValueE", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::EVT, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTES3_NS_7SDValueES4_", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTES3_NS_7SDValueES4_S4_", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG12SelectNodeToEPNS_6SDNodeEjNS_3EVTES3_S3_NS_7SDValueES4_S4_", "llvm::SelectionDAG::SelectNodeTo(llvm::SDNode*, unsigned int, llvm::EVT, llvm::EVT, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG11MorphNodeToEPNS_6SDNodeEjNS_8SDVTListEPKNS_7SDValueEj", "llvm::SelectionDAG::MorphNodeTo(llvm::SDNode*, unsigned int, llvm::SDVTList, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTE", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_8SDVTListEPKNS_7SDValueEj", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTENS_7SDValueE", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTENS_7SDValueES3_", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTENS_7SDValueES3_S3_", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTEPKNS_7SDValueEj", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_NS_7SDValueE", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_NS_7SDValueES3_", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_NS_7SDValueES3_S3_", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_PKNS_7SDValueEj", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_S2_NS_7SDValueES3_", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_S2_NS_7SDValueES3_S3_", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_S2_PKNS_7SDValueEj", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocENS_3EVTES2_S2_S2_PKNS_7SDValueEj", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, llvm::EVT, llvm::EVT, llvm::EVT, llvm::EVT, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG14getMachineNodeEjNS_8DebugLocERKSt6vectorINS_3EVTESaIS3_EEPKNS_7SDValueEj", "llvm::SelectionDAG::getMachineNode(unsigned int, llvm::DebugLoc, std::vector<llvm::EVT, std::allocator<llvm::EVT> > const&, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG22getTargetExtractSubregEiNS_8DebugLocENS_3EVTENS_7SDValueE", "llvm::SelectionDAG::getTargetExtractSubreg(int, llvm::DebugLoc, llvm::EVT, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG21getTargetInsertSubregEiNS_8DebugLocENS_3EVTENS_7SDValueES3_", "llvm::SelectionDAG::getTargetInsertSubreg(int, llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12SelectionDAG15getNodeIfExistsEjNS_8SDVTListEPKNS_7SDValueEj", "llvm::SelectionDAG::getNodeIfExists(unsigned int, llvm::SDVTList, llvm::SDValue const*, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG11getDbgValueEPNS_6MDNodeEPNS_6SDNodeEjyNS_8DebugLocEj", "llvm::SelectionDAG::getDbgValue(llvm::MDNode*, llvm::SDNode*, unsigned int, unsigned long long, llvm::DebugLoc, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG11getDbgValueEPNS_6MDNodeEPKNS_5ValueEyNS_8DebugLocEj", "llvm::SelectionDAG::getDbgValue(llvm::MDNode*, llvm::Value const*, unsigned long long, llvm::DebugLoc, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG11getDbgValueEPNS_6MDNodeEjyNS_8DebugLocEj", "llvm::SelectionDAG::getDbgValue(llvm::MDNode*, unsigned int, unsigned long long, llvm::DebugLoc, unsigned int)"},
-    {"_ZN4llvm12SelectionDAG18ReplaceAllUsesWithENS_7SDValueES1_PNS0_17DAGUpdateListenerE", "llvm::SelectionDAG::ReplaceAllUsesWith(llvm::SDValue, llvm::SDValue, llvm::SelectionDAG::DAGUpdateListener*)"},
-    {"_ZN12_GLOBAL__N_118RAUWUpdateListenerD1Ev", "(anonymous namespace)::RAUWUpdateListener::~RAUWUpdateListener()"},
-    {"_ZN4llvm12SelectionDAG18ReplaceAllUsesWithEPNS_6SDNodeEPKNS_7SDValueEPNS0_17DAGUpdateListenerE", "llvm::SelectionDAG::ReplaceAllUsesWith(llvm::SDNode*, llvm::SDValue const*, llvm::SelectionDAG::DAGUpdateListener*)"},
-    {"_ZN4llvm12SelectionDAG25ReplaceAllUsesOfValueWithENS_7SDValueES1_PNS0_17DAGUpdateListenerE", "llvm::SelectionDAG::ReplaceAllUsesOfValueWith(llvm::SDValue, llvm::SDValue, llvm::SelectionDAG::DAGUpdateListener*)"},
-    {"_ZN4llvm12SelectionDAG26ReplaceAllUsesOfValuesWithEPKNS_7SDValueES3_jPNS0_17DAGUpdateListenerE", "llvm::SelectionDAG::ReplaceAllUsesOfValuesWith(llvm::SDValue const*, llvm::SDValue const*, unsigned int, llvm::SelectionDAG::DAGUpdateListener*)"},
-    {"_ZN4llvm12SelectionDAG22AssignTopologicalOrderEv", "llvm::SelectionDAG::AssignTopologicalOrder()"},
-    {"_ZN4llvm14checkForCyclesEPKNS_6SDNodeE", "llvm::checkForCycles(llvm::SDNode const*)"},
-    {"_ZN4llvm12SelectionDAG14AssignOrderingEPKNS_6SDNodeEj", "llvm::SelectionDAG::AssignOrdering(llvm::SDNode const*, unsigned int)"},
-    {"_ZNK4llvm12SelectionDAG11GetOrderingEPKNS_6SDNodeE", "llvm::SelectionDAG::GetOrdering(llvm::SDNode const*) const"},
-    {"_ZN4llvm12SelectionDAG11AddDbgValueEPNS_10SDDbgValueEPNS_6SDNodeEb", "llvm::SelectionDAG::AddDbgValue(llvm::SDDbgValue*, llvm::SDNode*, bool)"},
-    {"_ZN4llvm12SelectionDAG17TransferDbgValuesENS_7SDValueES1_", "llvm::SelectionDAG::TransferDbgValues(llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm12HandleSDNodeD2Ev", "llvm::HandleSDNode::~HandleSDNode()"},
-    {"_ZN4llvm19GlobalAddressSDNodeC2EjNS_8DebugLocEPKNS_11GlobalValueENS_3EVTExh", "llvm::GlobalAddressSDNode::GlobalAddressSDNode(unsigned int, llvm::DebugLoc, llvm::GlobalValue const*, llvm::EVT, long long, unsigned char)"},
-    {"_ZN4llvm9MemSDNodeC1EjNS_8DebugLocENS_8SDVTListENS_3EVTEPNS_17MachineMemOperandE", "llvm::MemSDNode::MemSDNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::EVT, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm9MemSDNodeC2EjNS_8DebugLocENS_8SDVTListENS_3EVTEPNS_17MachineMemOperandE", "llvm::MemSDNode::MemSDNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::EVT, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm9MemSDNodeC1EjNS_8DebugLocENS_8SDVTListEPKNS_7SDValueEjNS_3EVTEPNS_17MachineMemOperandE", "llvm::MemSDNode::MemSDNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue const*, unsigned int, llvm::EVT, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm9MemSDNodeC2EjNS_8DebugLocENS_8SDVTListEPKNS_7SDValueEjNS_3EVTEPNS_17MachineMemOperandE", "llvm::MemSDNode::MemSDNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue const*, unsigned int, llvm::EVT, llvm::MachineMemOperand*)"},
-    {"_ZNK4llvm6SDNode7ProfileERNS_16FoldingSetNodeIDE", "llvm::SDNode::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm6SDNode15hasNUsesOfValueEjj", "llvm::SDNode::hasNUsesOfValue(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm6SDNode16hasAnyUseOfValueEj", "llvm::SDNode::hasAnyUseOfValue(unsigned int) const"},
-    {"_ZNK4llvm6SDNode12isOnlyUserOfEPS0_", "llvm::SDNode::isOnlyUserOf(llvm::SDNode*) const"},
-    {"_ZNK4llvm7SDValue11isOperandOfEPNS_6SDNodeE", "llvm::SDValue::isOperandOf(llvm::SDNode*) const"},
-    {"_ZNK4llvm6SDNode11isOperandOfEPS0_", "llvm::SDNode::isOperandOf(llvm::SDNode*) const"},
-    {"_ZNK4llvm7SDValue30reachesChainWithoutSideEffectsES0_j", "llvm::SDValue::reachesChainWithoutSideEffects(llvm::SDValue, unsigned int) const"},
-    {"_ZNK4llvm6SDNode15isPredecessorOfEPS0_", "llvm::SDNode::isPredecessorOf(llvm::SDNode*) const"},
-    {"_ZNK4llvm6SDNode21getConstantOperandValEj", "llvm::SDNode::getConstantOperandVal(unsigned int) const"},
-    {"_ZNK4llvm6SDNode16getOperationNameEPKNS_12SelectionDAGE", "llvm::SDNode::getOperationName(llvm::SelectionDAG const*) const"},
-    {"_ZN4llvm6SDNode18getIndexedModeNameENS_3ISD14MemIndexedModeE", "llvm::SDNode::getIndexedModeName(llvm::ISD::MemIndexedMode)"},
-    {"_ZN4llvm3ISD10ArgFlagsTy17getArgFlagsStringEv", "llvm::ISD::ArgFlagsTy::getArgFlagsString()"},
-    {"_ZNK4llvm6SDNode4dumpEv", "llvm::SDNode::dump() const"},
-    {"_ZNK4llvm6SDNode4dumpEPKNS_12SelectionDAGE", "llvm::SDNode::dump(llvm::SelectionDAG const*) const"},
-    {"_ZNK4llvm6SDNode5printERNS_11raw_ostreamEPKNS_12SelectionDAGE", "llvm::SDNode::print(llvm::raw_ostream&, llvm::SelectionDAG const*) const"},
-    {"_ZNK4llvm6SDNode11print_typesERNS_11raw_ostreamEPKNS_12SelectionDAGE", "llvm::SDNode::print_types(llvm::raw_ostream&, llvm::SelectionDAG const*) const"},
-    {"_ZNK4llvm6SDNode13print_detailsERNS_11raw_ostreamEPKNS_12SelectionDAGE", "llvm::SDNode::print_details(llvm::raw_ostream&, llvm::SelectionDAG const*) const"},
-    {"_ZNK4llvm6SDNode15printrWithDepthERNS_11raw_ostreamEPKNS_12SelectionDAGEj", "llvm::SDNode::printrWithDepth(llvm::raw_ostream&, llvm::SelectionDAG const*, unsigned int) const"},
-    {"_Z21printrWithDepthHelperRN4llvm11raw_ostreamEPKNS_6SDNodeEPKNS_12SelectionDAGEjj", "printrWithDepthHelper(llvm::raw_ostream&, llvm::SDNode const*, llvm::SelectionDAG const*, unsigned int, unsigned int)"},
-    {"_ZNK4llvm6SDNode10printrFullERNS_11raw_ostreamEPKNS_12SelectionDAGE", "llvm::SDNode::printrFull(llvm::raw_ostream&, llvm::SelectionDAG const*) const"},
-    {"_ZNK4llvm6SDNode14dumprWithDepthEPKNS_12SelectionDAGEj", "llvm::SDNode::dumprWithDepth(llvm::SelectionDAG const*, unsigned int) const"},
-    {"_ZNK4llvm6SDNode9dumprFullEPKNS_12SelectionDAGE", "llvm::SDNode::dumprFull(llvm::SelectionDAG const*) const"},
-    {"_ZN4llvm12SelectionDAG14UnrollVectorOpEPNS_6SDNodeEj", "llvm::SelectionDAG::UnrollVectorOp(llvm::SDNode*, unsigned int)"},
-    {"_ZNK4llvm12SelectionDAG17isConsecutiveLoadEPNS_10LoadSDNodeES2_ji", "llvm::SelectionDAG::isConsecutiveLoad(llvm::LoadSDNode*, llvm::LoadSDNode*, unsigned int, int) const"},
-    {"_ZNK4llvm12SelectionDAG17InferPtrAlignmentENS_7SDValueE", "llvm::SelectionDAG::InferPtrAlignment(llvm::SDValue) const"},
-    {"_ZNK4llvm12SelectionDAG4dumpEv", "llvm::SelectionDAG::dump() const"},
-    {"_Z9DumpNodesPKN4llvm6SDNodeEjPKNS_12SelectionDAGE", "DumpNodes(llvm::SDNode const*, unsigned int, llvm::SelectionDAG const*)"},
-    {"_ZNK4llvm6SDNode6printrERNS_11raw_ostreamEPKNS_12SelectionDAGE", "llvm::SDNode::printr(llvm::raw_ostream&, llvm::SelectionDAG const*) const"},
-    {"_ZNK4llvm6SDNode5dumprEv", "llvm::SDNode::dumpr() const"},
-    {"_Z10DumpNodesrRN4llvm11raw_ostreamEPKNS_6SDNodeEjPKNS_12SelectionDAGERNS_11SmallPtrSetIS4_Lj128EEE", "DumpNodesr(llvm::raw_ostream&, llvm::SDNode const*, unsigned int, llvm::SelectionDAG const*, llvm::SmallPtrSet<llvm::SDNode const*, 128u>&)"},
-    {"_ZNK4llvm6SDNode5dumprEPKNS_12SelectionDAGE", "llvm::SDNode::dumpr(llvm::SelectionDAG const*) const"},
-    {"_ZNK4llvm19GlobalAddressSDNode15getAddressSpaceEv", "llvm::GlobalAddressSDNode::getAddressSpace() const"},
-    {"_ZNK4llvm18ConstantPoolSDNode7getTypeEv", "llvm::ConstantPoolSDNode::getType() const"},
-    {"_ZN4llvm17BuildVectorSDNode15isConstantSplatERNS_5APIntES2_RjRbjb", "llvm::BuildVectorSDNode::isConstantSplat(llvm::APInt&, llvm::APInt&, unsigned int&, bool&, unsigned int, bool)"},
-    {"_ZN4llvm19ShuffleVectorSDNode11isSplatMaskEPKiNS_3EVTE", "llvm::ShuffleVectorSDNode::isSplatMask(int const*, llvm::EVT)"},
-    {"_ZN4llvm14checkForCyclesEPKNS_12SelectionDAGE", "llvm::checkForCycles(llvm::SelectionDAG const*)"},
-    {"_ZN4llvm14object_creatorIN12_GLOBAL__N_18EVTArrayEEEPvv", "void* llvm::object_creator<(anonymous namespace)::EVTArray>()"},
-    {"_ZN4llvm14object_deleterIN12_GLOBAL__N_18EVTArrayEE4callEPv", "llvm::object_deleter<(anonymous namespace)::EVTArray>::call(void*)"},
-    {"_ZSt16__introsort_loopIPN12_GLOBAL__N_17UseMemoElEvT_S3_T0_", "void std::__introsort_loop<(anonymous namespace)::UseMemo*, long>((anonymous namespace)::UseMemo*, (anonymous namespace)::UseMemo*, long)"},
-    {"_ZSt16__insertion_sortIPN12_GLOBAL__N_17UseMemoEEvT_S3_", "void std::__insertion_sort<(anonymous namespace)::UseMemo*>((anonymous namespace)::UseMemo*, (anonymous namespace)::UseMemo*)"},
-    {"_ZN12_GLOBAL__N_118RAUWUpdateListenerD0Ev", "(anonymous namespace)::RAUWUpdateListener::~RAUWUpdateListener()"},
-    {"_ZN12_GLOBAL__N_118RAUWUpdateListener11NodeDeletedEPN4llvm6SDNodeES3_", "(anonymous namespace)::RAUWUpdateListener::NodeDeleted(llvm::SDNode*, llvm::SDNode*)"},
-    {"_ZN12_GLOBAL__N_118RAUWUpdateListener11NodeUpdatedEPN4llvm6SDNodeE", "(anonymous namespace)::RAUWUpdateListener::NodeUpdated(llvm::SDNode*)"},
-    {"_Z24FindOptimalMemOpLoweringRSt6vectorIN4llvm3EVTESaIS1_EEjyjjbbRNS0_12SelectionDAGERKNS0_14TargetLoweringE", "FindOptimalMemOpLowering(std::vector<llvm::EVT, std::allocator<llvm::EVT> >&, unsigned int, unsigned long long, unsigned int, unsigned int, bool, bool, llvm::SelectionDAG&, llvm::TargetLowering const&)"},
-    {"_Z14getMemsetValueN4llvm7SDValueENS_3EVTERNS_12SelectionDAGENS_8DebugLocE", "getMemsetValue(llvm::SDValue, llvm::EVT, llvm::SelectionDAG&, llvm::DebugLoc)"},
-    {"_Z9SplatBytejh", "SplatByte(unsigned int, unsigned char)"},
-    {"_ZN4llvm10FoldingSetINS_6SDNodeEED1Ev", "llvm::FoldingSet<llvm::SDNode>::~FoldingSet()"},
-    {"_ZNSt3mapISt4pairISshEPN4llvm6SDNodeESt4lessIS1_ESaIS0_IKS1_S4_EEEixERS7_", "std::map<std::pair<std::string, unsigned char>, llvm::SDNode*, std::less<std::pair<std::string, unsigned char> >, std::allocator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> > >::operator[](std::pair<std::string, unsigned char> const&)"},
-    {"_ZNK4llvm5APInt4sremERKS0_", "llvm::APInt::srem(llvm::APInt const&) const"},
-    {"_ZN4llvm9SDDbgInfo3addEPNS_10SDDbgValueEPKNS_6SDNodeEb", "llvm::SDDbgInfo::add(llvm::SDDbgValue*, llvm::SDNode const*, bool)"},
-    {"_ZN4llvm6SDNodeC2EjNS_8DebugLocENS_8SDVTListEPKNS_7SDValueEj", "llvm::SDNode::SDNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue const*, unsigned int)"},
-    {"_ZNSt6vectorIN4llvm3EVTESaIS1_EE7reserveEm", "std::vector<llvm::EVT, std::allocator<llvm::EVT> >::reserve(unsigned long)"},
-    {"_ZNSt8_Rb_treeIN4llvm3EVTES1_St9_IdentityIS1_ENS1_14compareRawBitsESaIS1_EE16_M_insert_uniqueERKS1_", "std::_Rb_tree<llvm::EVT, llvm::EVT, std::_Identity<llvm::EVT>, llvm::EVT::compareRawBits, std::allocator<llvm::EVT> >::_M_insert_unique(llvm::EVT const&)"},
-    {"_ZN4llvm14object_creatorISt3setINS_3EVTENS2_14compareRawBitsESaIS2_EEEEPvv", "void* llvm::object_creator<std::set<llvm::EVT, llvm::EVT::compareRawBits, std::allocator<llvm::EVT> > >()"},
-    {"_ZN4llvm14object_deleterISt3setINS_3EVTENS2_14compareRawBitsESaIS2_EEE4callEPv", "llvm::object_deleter<std::set<llvm::EVT, llvm::EVT::compareRawBits, std::allocator<llvm::EVT> > >::call(void*)"},
-    {"_ZNSt8_Rb_treeIN4llvm3EVTES1_St9_IdentityIS1_ENS1_14compareRawBitsESaIS1_EE8_M_eraseEPSt13_Rb_tree_nodeIS1_E", "std::_Rb_tree<llvm::EVT, llvm::EVT, std::_Identity<llvm::EVT>, llvm::EVT::compareRawBits, std::allocator<llvm::EVT> >::_M_erase(std::_Rb_tree_node<llvm::EVT>*)"},
-    {"_ZNSt6vectorIN4llvm8SDVTListESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::SDVTList, std::allocator<llvm::SDVTList> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SDVTList*, std::vector<llvm::SDVTList, std::allocator<llvm::SDVTList> > >, llvm::SDVTList const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_3EVTELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::EVT, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorIPN4llvm14CondCodeSDNodeESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::CondCodeSDNode*, std::allocator<llvm::CondCodeSDNode*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::CondCodeSDNode**, std::vector<llvm::CondCodeSDNode*, std::allocator<llvm::CondCodeSDNode*> > >, unsigned long, llvm::CondCodeSDNode* const&)"},
-    {"_ZNSt8_Rb_treeISt4pairISshES0_IKS1_PN4llvm6SDNodeEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<std::pair<std::string, unsigned char>, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*>, std::_Select1st<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::less<std::pair<std::string, unsigned char> >, std::allocator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairISshES0_IKS1_PN4llvm6SDNodeEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE9_M_insertEPSt18_Rb_tree_node_baseSE_RKS6_", "std::_Rb_tree<std::pair<std::string, unsigned char>, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*>, std::_Select1st<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::less<std::pair<std::string, unsigned char> >, std::allocator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairISshES0_IKS1_PN4llvm6SDNodeEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<std::pair<std::string, unsigned char>, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*>, std::_Select1st<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::less<std::pair<std::string, unsigned char> >, std::allocator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> > >::_M_insert_unique(std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairISshES0_IKS1_PN4llvm6SDNodeEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE11lower_boundERS2_", "std::_Rb_tree<std::pair<std::string, unsigned char>, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*>, std::_Select1st<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::less<std::pair<std::string, unsigned char> >, std::allocator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> > >::lower_bound(std::pair<std::string, unsigned char> const&)"},
-    {"_ZN4llvm9StringMapIPNS_6SDNodeENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::SDNode*>& llvm::StringMap<llvm::SDNode*, llvm::MallocAllocator>::GetOrCreateValue<llvm::SDNode*>(llvm::StringRef, llvm::SDNode*)"},
-    {"_ZNSt8_Rb_treeIN4llvm3EVTESt4pairIKS1_PNS0_6SDNodeEESt10_Select1stIS6_ENS1_14compareRawBitsESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::EVT, std::pair<llvm::EVT const, llvm::SDNode*>, std::_Select1st<std::pair<llvm::EVT const, llvm::SDNode*> >, llvm::EVT::compareRawBits, std::allocator<std::pair<llvm::EVT const, llvm::SDNode*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::EVT const, llvm::SDNode*> >, std::pair<llvm::EVT const, llvm::SDNode*> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm3EVTESt4pairIKS1_PNS0_6SDNodeEESt10_Select1stIS6_ENS1_14compareRawBitsESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::EVT, std::pair<llvm::EVT const, llvm::SDNode*>, std::_Select1st<std::pair<llvm::EVT const, llvm::SDNode*> >, llvm::EVT::compareRawBits, std::allocator<std::pair<llvm::EVT const, llvm::SDNode*> > >::_M_insert_unique(std::pair<llvm::EVT const, llvm::SDNode*> const&)"},
-    {"_ZNSt6vectorIPN4llvm6SDNodeESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::SDNode**, std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> > >, unsigned long, llvm::SDNode* const&)"},
-    {"_ZNSt8_Rb_treeISt4pairISshES0_IKS1_PN4llvm6SDNodeEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<std::pair<std::string, unsigned char>, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*>, std::_Select1st<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::less<std::pair<std::string, unsigned char> >, std::allocator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm3EVTESt4pairIKS1_PNS0_6SDNodeEESt10_Select1stIS6_ENS1_14compareRawBitsESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::EVT, std::pair<llvm::EVT const, llvm::SDNode*>, std::_Select1st<std::pair<llvm::EVT const, llvm::SDNode*> >, llvm::EVT::compareRawBits, std::allocator<std::pair<llvm::EVT const, llvm::SDNode*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::EVT const, llvm::SDNode*> >*)"},
-    {"_ZN4llvm10FoldingSetINS_6SDNodeEED0Ev", "llvm::FoldingSet<llvm::SDNode>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_6SDNodeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::SDNode>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_6SDNodeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS6_", "llvm::FoldingSet<llvm::SDNode>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_6SDNodeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::SDNode>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNSt8_Rb_treeIN4llvm3EVTESt4pairIKS1_PNS0_6SDNodeEESt10_Select1stIS6_ENS1_14compareRawBitsESaIS6_EE5eraseESt17_Rb_tree_iteratorIS6_ESD_", "std::_Rb_tree<llvm::EVT, std::pair<llvm::EVT const, llvm::SDNode*>, std::_Select1st<std::pair<llvm::EVT const, llvm::SDNode*> >, llvm::EVT::compareRawBits, std::allocator<std::pair<llvm::EVT const, llvm::SDNode*> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::EVT const, llvm::SDNode*> >, std::_Rb_tree_iterator<std::pair<llvm::EVT const, llvm::SDNode*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairISshES0_IKS1_PN4llvm6SDNodeEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE5eraseESt17_Rb_tree_iteratorIS6_ESE_", "std::_Rb_tree<std::pair<std::string, unsigned char>, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*>, std::_Select1st<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::less<std::pair<std::string, unsigned char> >, std::allocator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> > >::erase(std::_Rb_tree_iterator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::_Rb_tree_iterator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairISshES0_IKS1_PN4llvm6SDNodeEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE11upper_boundERS2_", "std::_Rb_tree<std::pair<std::string, unsigned char>, std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*>, std::_Select1st<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> >, std::less<std::pair<std::string, unsigned char> >, std::allocator<std::pair<std::pair<std::string, unsigned char> const, llvm::SDNode*> > >::upper_bound(std::pair<std::string, unsigned char> const&)"},
-    {"_ZN4llvm11SmallVectorIPNS_6SDNodeELj16EEC2EjRKS2_", "llvm::SmallVector<llvm::SDNode*, 16u>::SmallVector(unsigned int, llvm::SDNode* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6SDNodeENS_11SmallVectorIPNS_10SDDbgValueELj2EEENS_12DenseMapInfoIS3_EENS8_IS7_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::SDNode const*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<llvm::SDNode const*>, llvm::DenseMapInfo<llvm::SmallVector<llvm::SDDbgValue*, 2u> > >::FindAndConstruct(llvm::SDNode const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6SDNodeENS_11SmallVectorIPNS_10SDDbgValueELj2EEENS_12DenseMapInfoIS3_EENS8_IS7_EEE16InsertIntoBucketERKS3_RKS7_PSt4pairIS3_S7_E", "llvm::DenseMap<llvm::SDNode const*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<llvm::SDNode const*>, llvm::DenseMapInfo<llvm::SmallVector<llvm::SDDbgValue*, 2u> > >::InsertIntoBucket(llvm::SDNode const* const&, llvm::SmallVector<llvm::SDDbgValue*, 2u> const&, std::pair<llvm::SDNode const*, llvm::SmallVector<llvm::SDDbgValue*, 2u> >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6SDNodeENS_11SmallVectorIPNS_10SDDbgValueELj2EEENS_12DenseMapInfoIS3_EENS8_IS7_EEE4growEj", "llvm::DenseMap<llvm::SDNode const*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<llvm::SDNode const*>, llvm::DenseMapInfo<llvm::SmallVector<llvm::SDDbgValue*, 2u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_10SDDbgValueEEaSERKS3_", "llvm::SmallVectorImpl<llvm::SDDbgValue*>::operator=(llvm::SmallVectorImpl<llvm::SDDbgValue*> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6SDNodeEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::SDNode const*, unsigned int, llvm::DenseMapInfo<llvm::SDNode const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::SDNode const* const&, unsigned int const&, std::pair<llvm::SDNode const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6SDNodeEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::SDNode const*, unsigned int, llvm::DenseMapInfo<llvm::SDNode const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm12LSBaseSDNodeC2ENS_3ISD8NodeTypeENS_8DebugLocEPNS_7SDValueEjNS_8SDVTListENS1_14MemIndexedModeENS_3EVTEPNS_17MachineMemOperandE", "llvm::LSBaseSDNode::LSBaseSDNode(llvm::ISD::NodeType, llvm::DebugLoc, llvm::SDValue*, unsigned int, llvm::SDVTList, llvm::ISD::MemIndexedMode, llvm::EVT, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm12AtomicSDNodeC2EjNS_8DebugLocENS_8SDVTListENS_3EVTENS_7SDValueES4_S4_PNS_17MachineMemOperandE", "llvm::AtomicSDNode::AtomicSDNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm12AtomicSDNodeC2EjNS_8DebugLocENS_8SDVTListENS_3EVTENS_7SDValueES4_S4_S4_PNS_17MachineMemOperandE", "llvm::AtomicSDNode::AtomicSDNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*)"},
-    {"_ZN4llvm13TernarySDNodeC2EjNS_8DebugLocENS_8SDVTListENS_7SDValueES3_S3_", "llvm::TernarySDNode::TernarySDNode(unsigned int, llvm::DebugLoc, llvm::SDVTList, llvm::SDValue, llvm::SDValue, llvm::SDValue)"},
-    {"_ZN4llvm8DenseMapIPKNS_6SDNodeENS_11SmallVectorIPNS_10SDDbgValueELj2EEENS_12DenseMapInfoIS3_EENS8_IS7_EEE5clearEv", "llvm::DenseMap<llvm::SDNode const*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<llvm::SDNode const*>, llvm::DenseMapInfo<llvm::SmallVector<llvm::SDDbgValue*, 2u> > >::clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_6SDNodeENS_11SmallVectorIPNS_10SDDbgValueELj2EEENS_12DenseMapInfoIS3_EENS8_IS7_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::SDNode const*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<llvm::SDNode const*>, llvm::DenseMapInfo<llvm::SmallVector<llvm::SDDbgValue*, 2u> > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_6SDNodeEjNS_12DenseMapInfoIS3_EENS4_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::SDNode const*, unsigned int, llvm::DenseMapInfo<llvm::SDNode const*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm19SelectionDAGBuilder4initEPNS_14GCFunctionInfoERNS_13AliasAnalysisE", "llvm::SelectionDAGBuilder::init(llvm::GCFunctionInfo*, llvm::AliasAnalysis&)"},
-    {"_ZN4llvm19SelectionDAGBuilder5clearEv", "llvm::SelectionDAGBuilder::clear()"},
-    {"_ZN4llvm19SelectionDAGBuilder7getRootEv", "llvm::SelectionDAGBuilder::getRoot()"},
-    {"_ZN4llvm19SelectionDAGBuilder14getControlRootEv", "llvm::SelectionDAGBuilder::getControlRoot()"},
-    {"_ZN4llvm19SelectionDAGBuilder20AssignOrderingToNodeEPKNS_6SDNodeE", "llvm::SelectionDAGBuilder::AssignOrderingToNode(llvm::SDNode const*)"},
-    {"_ZN4llvm19SelectionDAGBuilder5visitERKNS_11InstructionE", "llvm::SelectionDAGBuilder::visit(llvm::Instruction const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder31HandlePHINodesInSuccessorBlocksEPKNS_10BasicBlockE", "llvm::SelectionDAGBuilder::HandlePHINodesInSuccessorBlocks(llvm::BasicBlock const*)"},
-    {"_ZN4llvm19SelectionDAGBuilder5visitEjRKNS_4UserE", "llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder24CopyToExportRegsIfNeededEPKNS_5ValueE", "llvm::SelectionDAGBuilder::CopyToExportRegsIfNeeded(llvm::Value const*)"},
-    {"_ZN4llvm19SelectionDAGBuilder8visitPHIERKNS_7PHINodeE", "llvm::SelectionDAGBuilder::visitPHI(llvm::PHINode const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder8visitRetERKNS_10ReturnInstE", "llvm::SelectionDAGBuilder::visitRet(llvm::ReturnInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder7visitBrERKNS_10BranchInstE", "llvm::SelectionDAGBuilder::visitBr(llvm::BranchInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitSwitchERKNS_10SwitchInstE", "llvm::SelectionDAGBuilder::visitSwitch(llvm::SwitchInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder15visitIndirectBrERKNS_14IndirectBrInstE", "llvm::SelectionDAGBuilder::visitIndirectBr(llvm::IndirectBrInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitInvokeERKNS_10InvokeInstE", "llvm::SelectionDAGBuilder::visitInvoke(llvm::InvokeInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitUnwindERKNS_10UnwindInstE", "llvm::SelectionDAGBuilder::visitUnwind(llvm::UnwindInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitFSubERKNS_4UserE", "llvm::SelectionDAGBuilder::visitFSub(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitAllocaERKNS_10AllocaInstE", "llvm::SelectionDAGBuilder::visitAlloca(llvm::AllocaInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitLoadERKNS_8LoadInstE", "llvm::SelectionDAGBuilder::visitLoad(llvm::LoadInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder10visitStoreERKNS_9StoreInstE", "llvm::SelectionDAGBuilder::visitStore(llvm::StoreInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder18visitGetElementPtrERKNS_4UserE", "llvm::SelectionDAGBuilder::visitGetElementPtr(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder10visitTruncERKNS_4UserE", "llvm::SelectionDAGBuilder::visitTrunc(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitZExtERKNS_4UserE", "llvm::SelectionDAGBuilder::visitZExt(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitSExtERKNS_4UserE", "llvm::SelectionDAGBuilder::visitSExt(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitFPToUIERKNS_4UserE", "llvm::SelectionDAGBuilder::visitFPToUI(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitFPToSIERKNS_4UserE", "llvm::SelectionDAGBuilder::visitFPToSI(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitUIToFPERKNS_4UserE", "llvm::SelectionDAGBuilder::visitUIToFP(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitSIToFPERKNS_4UserE", "llvm::SelectionDAGBuilder::visitSIToFP(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder12visitFPTruncERKNS_4UserE", "llvm::SelectionDAGBuilder::visitFPTrunc(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder10visitFPExtERKNS_4UserE", "llvm::SelectionDAGBuilder::visitFPExt(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder13visitPtrToIntERKNS_4UserE", "llvm::SelectionDAGBuilder::visitPtrToInt(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder13visitIntToPtrERKNS_4UserE", "llvm::SelectionDAGBuilder::visitIntToPtr(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder12visitBitCastERKNS_4UserE", "llvm::SelectionDAGBuilder::visitBitCast(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitICmpERKNS_4UserE", "llvm::SelectionDAGBuilder::visitICmp(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitFCmpERKNS_4UserE", "llvm::SelectionDAGBuilder::visitFCmp(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitCallERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitSelectERKNS_4UserE", "llvm::SelectionDAGBuilder::visitSelect(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder10visitVAArgERKNS_9VAArgInstE", "llvm::SelectionDAGBuilder::visitVAArg(llvm::VAArgInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder19visitExtractElementERKNS_4UserE", "llvm::SelectionDAGBuilder::visitExtractElement(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder18visitInsertElementERKNS_4UserE", "llvm::SelectionDAGBuilder::visitInsertElement(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder18visitShuffleVectorERKNS_4UserE", "llvm::SelectionDAGBuilder::visitShuffleVector(llvm::User const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder17visitExtractValueERKNS_16ExtractValueInstE", "llvm::SelectionDAGBuilder::visitExtractValue(llvm::ExtractValueInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder16visitInsertValueERKNS_15InsertValueInstE", "llvm::SelectionDAGBuilder::visitInsertValue(llvm::InsertValueInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder8getValueEPKNS_5ValueE", "llvm::SelectionDAGBuilder::getValue(llvm::Value const*)"},
-    {"_ZN4llvm19SelectionDAGBuilder24resolveDanglingDebugInfoEPKNS_5ValueENS_7SDValueE", "llvm::SelectionDAGBuilder::resolveDanglingDebugInfo(llvm::Value const*, llvm::SDValue)"},
-    {"_ZN4llvm19SelectionDAGBuilder24EmitFuncArgumentDbgValueEPKNS_5ValueEPNS_6MDNodeExRKNS_7SDValueE", "llvm::SelectionDAGBuilder::EmitFuncArgumentDbgValue(llvm::Value const*, llvm::MDNode*, long long, llvm::SDValue const&)"},
-    {"_ZN12_GLOBAL__N_112RegsForValueC1ERN4llvm11LLVMContextERKNS1_14TargetLoweringEjPKNS1_4TypeE", "(anonymous namespace)::RegsForValue::RegsForValue(llvm::LLVMContext&, llvm::TargetLowering const&, unsigned int, llvm::Type const*)"},
-    {"_ZNK12_GLOBAL__N_112RegsForValue15getCopyFromRegsERN4llvm12SelectionDAGERNS1_20FunctionLoweringInfoENS1_8DebugLocERNS1_7SDValueEPS7_", "(anonymous namespace)::RegsForValue::getCopyFromRegs(llvm::SelectionDAG&, llvm::FunctionLoweringInfo&, llvm::DebugLoc, llvm::SDValue&, llvm::SDValue*) const"},
-    {"_ZN4llvm19SelectionDAGBuilder12getValueImplEPKNS_5ValueE", "llvm::SelectionDAGBuilder::getValueImpl(llvm::Value const*)"},
-    {"_ZN4llvm19SelectionDAGBuilder19getNonRegisterValueEPKNS_5ValueE", "llvm::SelectionDAGBuilder::getNonRegisterValue(llvm::Value const*)"},
-    {"_Z14getCopyToPartsRN4llvm12SelectionDAGENS_8DebugLocENS_7SDValueEPS3_jNS_3EVTENS_3ISD8NodeTypeE", "getCopyToParts(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue, llvm::SDValue*, unsigned int, llvm::EVT, llvm::ISD::NodeType)"},
-    {"_ZN4llvm19SelectionDAGBuilder26CopyValueToVirtualRegisterEPKNS_5ValueEj", "llvm::SelectionDAGBuilder::CopyValueToVirtualRegister(llvm::Value const*, unsigned int)"},
-    {"_ZN4llvm19SelectionDAGBuilder22ExportFromCurrentBlockEPKNS_5ValueE", "llvm::SelectionDAGBuilder::ExportFromCurrentBlock(llvm::Value const*)"},
-    {"_ZN4llvm19SelectionDAGBuilder28isExportableFromCurrentBlockEPKNS_5ValueEPKNS_10BasicBlockE", "llvm::SelectionDAGBuilder::isExportableFromCurrentBlock(llvm::Value const*, llvm::BasicBlock const*)"},
-    {"_ZN4llvm19SelectionDAGBuilder28EmitBranchForMergedConditionEPKNS_5ValueEPNS_17MachineBasicBlockES5_S5_S5_", "llvm::SelectionDAGBuilder::EmitBranchForMergedCondition(llvm::Value const*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder20FindMergedConditionsEPKNS_5ValueEPNS_17MachineBasicBlockES5_S5_S5_j", "llvm::SelectionDAGBuilder::FindMergedConditions(llvm::Value const*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, unsigned int)"},
-    {"_ZN4llvm19SelectionDAGBuilder20ShouldEmitAsBranchesERKSt6vectorINS0_9CaseBlockESaIS2_EE", "llvm::SelectionDAGBuilder::ShouldEmitAsBranches(std::vector<llvm::SelectionDAGBuilder::CaseBlock, std::allocator<llvm::SelectionDAGBuilder::CaseBlock> > const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder15visitSwitchCaseERNS0_9CaseBlockEPNS_17MachineBasicBlockE", "llvm::SelectionDAGBuilder::visitSwitchCase(llvm::SelectionDAGBuilder::CaseBlock&, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder14visitJumpTableERNS0_9JumpTableE", "llvm::SelectionDAGBuilder::visitJumpTable(llvm::SelectionDAGBuilder::JumpTable&)"},
-    {"_ZN4llvm19SelectionDAGBuilder20visitJumpTableHeaderERNS0_9JumpTableERNS0_15JumpTableHeaderEPNS_17MachineBasicBlockE", "llvm::SelectionDAGBuilder::visitJumpTableHeader(llvm::SelectionDAGBuilder::JumpTable&, llvm::SelectionDAGBuilder::JumpTableHeader&, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder18visitBitTestHeaderERNS0_12BitTestBlockEPNS_17MachineBasicBlockE", "llvm::SelectionDAGBuilder::visitBitTestHeader(llvm::SelectionDAGBuilder::BitTestBlock&, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder16visitBitTestCaseERNS0_12BitTestBlockEPNS_17MachineBasicBlockEjRNS0_11BitTestCaseES4_", "llvm::SelectionDAGBuilder::visitBitTestCase(llvm::SelectionDAGBuilder::BitTestBlock&, llvm::MachineBasicBlock*, unsigned int, llvm::SelectionDAGBuilder::BitTestCase&, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder14visitInlineAsmENS_17ImmutableCallSiteE", "llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite)"},
-    {"_ZN4llvm19SelectionDAGBuilder11LowerCallToENS_17ImmutableCallSiteENS_7SDValueEbPNS_17MachineBasicBlockE", "llvm::SelectionDAGBuilder::LowerCallTo(llvm::ImmutableCallSite, llvm::SDValue, bool, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder22handleSmallSwitchRangeERNS0_7CaseRecERSt6vectorIS1_SaIS1_EEPKNS_5ValueEPNS_17MachineBasicBlockESB_", "llvm::SelectionDAGBuilder::handleSmallSwitchRange(llvm::SelectionDAGBuilder::CaseRec&, std::vector<llvm::SelectionDAGBuilder::CaseRec, std::allocator<llvm::SelectionDAGBuilder::CaseRec> >&, llvm::Value const*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder18handleJTSwitchCaseERNS0_7CaseRecERSt6vectorIS1_SaIS1_EEPKNS_5ValueEPNS_17MachineBasicBlockESB_", "llvm::SelectionDAGBuilder::handleJTSwitchCase(llvm::SelectionDAGBuilder::CaseRec&, std::vector<llvm::SelectionDAGBuilder::CaseRec, std::allocator<llvm::SelectionDAGBuilder::CaseRec> >&, llvm::Value const*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_Z12ComputeRangeRKN4llvm5APIntES2_", "ComputeRange(llvm::APInt const&, llvm::APInt const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder23handleBTSplitSwitchCaseERNS0_7CaseRecERSt6vectorIS1_SaIS1_EEPKNS_5ValueEPNS_17MachineBasicBlockESB_", "llvm::SelectionDAGBuilder::handleBTSplitSwitchCase(llvm::SelectionDAGBuilder::CaseRec&, std::vector<llvm::SelectionDAGBuilder::CaseRec, std::allocator<llvm::SelectionDAGBuilder::CaseRec> >&, llvm::Value const*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder24handleBitTestsSwitchCaseERNS0_7CaseRecERSt6vectorIS1_SaIS1_EEPKNS_5ValueEPNS_17MachineBasicBlockESB_", "llvm::SelectionDAGBuilder::handleBitTestsSwitchCase(llvm::SelectionDAGBuilder::CaseRec&, std::vector<llvm::SelectionDAGBuilder::CaseRec, std::allocator<llvm::SelectionDAGBuilder::CaseRec> >&, llvm::Value const*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder10ClusterifyERSt6vectorINS0_4CaseESaIS2_EERKNS_10SwitchInstE", "llvm::SelectionDAGBuilder::Clusterify(std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> >&, llvm::SwitchInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder16UpdateSplitBlockEPNS_17MachineBasicBlockES2_", "llvm::SelectionDAGBuilder::UpdateSplitBlock(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitBinaryERKNS_4UserEj", "llvm::SelectionDAGBuilder::visitBinary(llvm::User const&, unsigned int)"},
-    {"_ZN4llvm19SelectionDAGBuilder10visitShiftERKNS_4UserEj", "llvm::SelectionDAGBuilder::visitShift(llvm::User const&, unsigned int)"},
-    {"_ZN4llvm19SelectionDAGBuilder20visitTargetIntrinsicERKNS_8CallInstEj", "llvm::SelectionDAGBuilder::visitTargetIntrinsic(llvm::CallInst const&, unsigned int)"},
-    {"_ZN4llvm19SelectionDAGBuilder21implVisitBinaryAtomicERKNS_8CallInstENS_3ISD8NodeTypeE", "llvm::SelectionDAGBuilder::implVisitBinaryAtomic(llvm::CallInst const&, llvm::ISD::NodeType)"},
-    {"_ZN4llvm19SelectionDAGBuilder20implVisitAluOverflowERKNS_8CallInstENS_3ISD8NodeTypeE", "llvm::SelectionDAGBuilder::implVisitAluOverflow(llvm::CallInst const&, llvm::ISD::NodeType)"},
-    {"_ZN4llvm19SelectionDAGBuilder8visitExpERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitExp(llvm::CallInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder8visitLogERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitLog(llvm::CallInst const&)"},
-    {"_Z11GetExponentRN4llvm12SelectionDAGENS_7SDValueERKNS_14TargetLoweringENS_8DebugLocE", "GetExponent(llvm::SelectionDAG&, llvm::SDValue, llvm::TargetLowering const&, llvm::DebugLoc)"},
-    {"_Z14GetSignificandRN4llvm12SelectionDAGENS_7SDValueENS_8DebugLocE", "GetSignificand(llvm::SelectionDAG&, llvm::SDValue, llvm::DebugLoc)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitLog2ERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitLog2(llvm::CallInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder10visitLog10ERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitLog10(llvm::CallInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder9visitExp2ERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitExp2(llvm::CallInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder8visitPowERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitPow(llvm::CallInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder18visitIntrinsicCallERKNS_8CallInstEj", "llvm::SelectionDAGBuilder::visitIntrinsicCall(llvm::CallInst const&, unsigned int)"},
-    {"_ZN4llvm19SelectionDAGBuilder12visitVAStartERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitVAStart(llvm::CallInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder10visitVAEndERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitVAEnd(llvm::CallInst const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder11visitVACopyERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitVACopy(llvm::CallInst const&)"},
-    {"_ZNK4llvm14TargetLowering11LowerCallToENS_7SDValueEPKNS_4TypeEbbbbjNS_11CallingConv2IDEbbS1_RSt6vectorINS0_12ArgListEntryESaIS8_EERNS_12SelectionDAGENS_8DebugLocE", "llvm::TargetLowering::LowerCallTo(llvm::SDValue, llvm::Type const*, bool, bool, bool, bool, unsigned int, llvm::CallingConv::ID, bool, bool, llvm::SDValue, std::vector<llvm::TargetLowering::ArgListEntry, std::allocator<llvm::TargetLowering::ArgListEntry> >&, llvm::SelectionDAG&, llvm::DebugLoc) const"},
-    {"_Z16getCopyFromPartsRN4llvm12SelectionDAGENS_8DebugLocEPKNS_7SDValueEjNS_3EVTES6_NS_3ISD8NodeTypeE", "getCopyFromParts(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue const*, unsigned int, llvm::EVT, llvm::EVT, llvm::ISD::NodeType)"},
-    {"_ZN4llvm19SelectionDAGBuilder15visitMemCmpCallERKNS_8CallInstE", "llvm::SelectionDAGBuilder::visitMemCmpCall(llvm::CallInst const&)"},
-    {"_Z13getMemCmpLoadPKN4llvm5ValueENS_3MVTEPKNS_4TypeERNS_19SelectionDAGBuilderE", "getMemCmpLoad(llvm::Value const*, llvm::MVT, llvm::Type const*, llvm::SelectionDAGBuilder&)"},
-    {"_ZN4llvm19SelectionDAGBuilder20GetRegistersForValueERNS_20SDISelAsmOperandInfoERSt3setIjSt4lessIjESaIjEES8_", "llvm::SelectionDAGBuilder::GetRegistersForValue(llvm::SDISelAsmOperandInfo&, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> >&, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> >&)"},
-    {"_ZN12_GLOBAL__N_112RegsForValueC1ERKN4llvm11SmallVectorIjLj4EEENS1_3EVTES6_", "(anonymous namespace)::RegsForValue::RegsForValue(llvm::SmallVector<unsigned int, 4u> const&, llvm::EVT, llvm::EVT)"},
-    {"_ZNK12_GLOBAL__N_112RegsForValue20AddInlineAsmOperandsEjbjRN4llvm12SelectionDAGERSt6vectorINS1_7SDValueESaIS5_EE", "(anonymous namespace)::RegsForValue::AddInlineAsmOperands(unsigned int, bool, unsigned int, llvm::SelectionDAG&, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >&) const"},
-    {"_ZNK12_GLOBAL__N_112RegsForValue13getCopyToRegsEN4llvm7SDValueERNS1_12SelectionDAGENS1_8DebugLocERS2_PS2_", "(anonymous namespace)::RegsForValue::getCopyToRegs(llvm::SDValue, llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue&, llvm::SDValue*) const"},
-    {"_ZNK4llvm14TargetLowering21LowerOperationWrapperEPNS_6SDNodeERNS_15SmallVectorImplINS_7SDValueEEERNS_12SelectionDAGE", "llvm::TargetLowering::LowerOperationWrapper(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm14TargetLowering14LowerOperationENS_7SDValueERNS_12SelectionDAGE", "llvm::TargetLowering::LowerOperation(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZN4llvm16SelectionDAGISel14LowerArgumentsEPKNS_10BasicBlockE", "llvm::SelectionDAGISel::LowerArguments(llvm::BasicBlock const*)"},
-    {"_ZSt22__uninitialized_copy_aIPSt4pairIN12_GLOBAL__N_112RegsForValueEPN4llvm5ValueEES7_S6_ET0_T_S9_S8_SaIT1_E", "std::pair<(anonymous namespace)::RegsForValue, llvm::Value*>* std::__uninitialized_copy_a<std::pair<(anonymous namespace)::RegsForValue, llvm::Value*>*, std::pair<(anonymous namespace)::RegsForValue, llvm::Value*>*, std::pair<(anonymous namespace)::RegsForValue, llvm::Value*> >(std::pair<(anonymous namespace)::RegsForValue, llvm::Value*>*, std::pair<(anonymous namespace)::RegsForValue, llvm::Value*>*, std::pair<(anonymous namespace)::RegsForValue, llvm::Value*>*, std::allocator<std::pair<(anonymous namespace)::RegsForValue, llvm::Value*> >)"},
-    {"_ZN4llvm25array_pod_sort_comparatorIPNS_10BasicBlockEEEiPKvS4_", "int llvm::array_pod_sort_comparator<llvm::BasicBlock*>(void const*, void const*)"},
-    {"_ZN4llvm19SelectionDAGBuilder12visitUserOp1ERKNS_11InstructionE", "llvm::SelectionDAGBuilder::visitUserOp1(llvm::Instruction const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder12visitUserOp2ERKNS_11InstructionE", "llvm::SelectionDAGBuilder::visitUserOp2(llvm::Instruction const&)"},
-    {"_ZN4llvm20FunctionLoweringInfo21InitializeRegForValueEPKNS_5ValueE", "llvm::FunctionLoweringInfo::InitializeRegForValue(llvm::Value const*)"},
-    {"_ZNSt6vectorISt4pairIN4llvm19SelectionDAGBuilder15JumpTableHeaderENS2_9JumpTableEESaIS5_EE9push_backERKS5_", "std::vector<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>, std::allocator<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable> > >::push_back(std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable> const&)"},
-    {"_ZNK4llvm5APInt3ugeEy", "llvm::APInt::uge(unsigned long long) const"},
-    {"_ZNK4llvm5APInt3sltEy", "llvm::APInt::slt(unsigned long long) const"},
-    {"_ZN4llvm17MachineModuleInfo18setVariableDbgInfoEPNS_6MDNodeEjNS_8DebugLocE", "llvm::MachineModuleInfo::setVariableDbgInfo(llvm::MDNode*, unsigned int, llvm::DebugLoc)"},
-    {"_ZNSt6vectorIN4llvm14TargetLowering12ArgListEntryESaIS2_EE7reserveEm", "std::vector<llvm::TargetLowering::ArgListEntry, std::allocator<llvm::TargetLowering::ArgListEntry> >::reserve(unsigned long)"},
-    {"_ZN4llvm8po_beginIPKNS_4TypeEEENS_11po_iteratorIT_NS_11SmallPtrSetIPNS_11GraphTraitsIS5_E8NodeTypeELj8EEELb0ES8_EES5_", "llvm::po_iterator<llvm::Type const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::Type const*>::NodeType*, 8u>, false, llvm::GraphTraits<llvm::Type const*> > llvm::po_begin<llvm::Type const*>(llvm::Type const*)"},
-    {"_ZNK4llvm20SDISelAsmOperandInfo17MarkAllocatedRegsEbbRSt3setIjSt4lessIjESaIjEES6_RKNS_18TargetRegisterInfoE", "llvm::SDISelAsmOperandInfo::MarkAllocatedRegs(bool, bool, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> >&, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> >&, llvm::TargetRegisterInfo const&) const"},
-    {"_ZNK4llvm20SDISelAsmOperandInfo20getCallOperandValEVTERNS_11LLVMContextERKNS_14TargetLoweringEPKNS_10DataLayoutE", "llvm::SDISelAsmOperandInfo::getCallOperandValEVT(llvm::LLVMContext&, llvm::TargetLowering const&, llvm::DataLayout const*) const"},
-    {"_ZN4llvm8DenseMapIPKNS_8ConstantEjNS_12DenseMapInfoIS3_EENS4_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Constant const*, unsigned int, llvm::DenseMapInfo<llvm::Constant const*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZNSt6vectorISt4pairIPN4llvm12MachineInstrEjESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<llvm::MachineInstr*, unsigned int>, std::allocator<std::pair<llvm::MachineInstr*, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::MachineInstr*, unsigned int>*, std::vector<std::pair<llvm::MachineInstr*, unsigned int>, std::allocator<std::pair<llvm::MachineInstr*, unsigned int> > > >, std::pair<llvm::MachineInstr*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_8ConstantEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::Constant const*, unsigned int, llvm::DenseMapInfo<llvm::Constant const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::Constant const* const&, unsigned int const&, std::pair<llvm::Constant const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_8ConstantEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::Constant const*, unsigned int, llvm::DenseMapInfo<llvm::Constant const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_3ISD8InputArgELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::ISD::InputArg, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorISt4pairIN4llvm7SDValueEPKNS1_5ValueEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<std::pair<llvm::SDValue, llvm::Value const*>, std::allocator<std::pair<llvm::SDValue, llvm::Value const*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::SDValue, llvm::Value const*>*, std::vector<std::pair<llvm::SDValue, llvm::Value const*>, std::allocator<std::pair<llvm::SDValue, llvm::Value const*> > > >, std::pair<llvm::SDValue, llvm::Value const*> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_20SDISelAsmOperandInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SDISelAsmOperandInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm20SDISelAsmOperandInfoC2ERKS0_", "llvm::SDISelAsmOperandInfo::SDISelAsmOperandInfo(llvm::SDISelAsmOperandInfo const&)"},
-    {"_ZN4llvm11po_iteratorIPKNS_4TypeENS_11SmallPtrSetIS3_Lj8EEELb0ENS_11GraphTraitsIS3_EEE13traverseChildEv", "llvm::po_iterator<llvm::Type const*, llvm::SmallPtrSet<llvm::Type const*, 8u>, false, llvm::GraphTraits<llvm::Type const*> >::traverseChild()"},
-    {"_ZNSt6vectorISt4pairIPKN4llvm4TypeEPNS1_12PATypeHandleEESaIS7_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS7_S9_EERKS7_", "std::vector<std::pair<llvm::Type const*, llvm::PATypeHandle*>, std::allocator<std::pair<llvm::Type const*, llvm::PATypeHandle*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::Type const*, llvm::PATypeHandle*>*, std::vector<std::pair<llvm::Type const*, llvm::PATypeHandle*>, std::allocator<std::pair<llvm::Type const*, llvm::PATypeHandle*> > > >, std::pair<llvm::Type const*, llvm::PATypeHandle*> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_10AllocaInstEiNS_12DenseMapInfoIS3_EENS4_IiEEE16InsertIntoBucketERKS3_RKiPSt4pairIS3_iE", "llvm::DenseMap<llvm::AllocaInst const*, int, llvm::DenseMapInfo<llvm::AllocaInst const*>, llvm::DenseMapInfo<int> >::InsertIntoBucket(llvm::AllocaInst const* const&, int const&, std::pair<llvm::AllocaInst const*, int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_10AllocaInstEiNS_12DenseMapInfoIS3_EENS4_IiEEE4growEj", "llvm::DenseMap<llvm::AllocaInst const*, int, llvm::DenseMapInfo<llvm::AllocaInst const*>, llvm::DenseMapInfo<int> >::grow(unsigned int)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder4CaseESt6vectorIS4_SaIS4_EEEElNS3_7CaseCmpEEvT_SB_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, long, llvm::SelectionDAGBuilder::CaseCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, long, llvm::SelectionDAGBuilder::CaseCmp)"},
-    {"_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder4CaseESt6vectorIS4_SaIS4_EEEENS3_7CaseCmpEEvT_SB_T0_", "void std::__final_insertion_sort<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::CaseCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::CaseCmp)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder4CaseESt6vectorIS4_SaIS4_EEEENS3_7CaseCmpEEvT_SB_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::CaseCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::CaseCmp)"},
-    {"_ZSt21__unguarded_partitionIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder4CaseESt6vectorIS4_SaIS4_EEEES4_NS3_7CaseCmpEET_SB_SB_T0_T1_", "__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > > std::__unguarded_partition<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::Case, llvm::SelectionDAGBuilder::CaseCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::Case, llvm::SelectionDAGBuilder::CaseCmp)"},
-    {"_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder4CaseESt6vectorIS4_SaIS4_EEEENS3_7CaseCmpEEvT_SB_SB_T0_", "void std::__heap_select<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::CaseCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::CaseCmp)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder4CaseESt6vectorIS4_SaIS4_EEEElS4_NS3_7CaseCmpEEvT_T0_SC_T1_T2_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, long, llvm::SelectionDAGBuilder::Case, llvm::SelectionDAGBuilder::CaseCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, long, long, llvm::SelectionDAGBuilder::Case, llvm::SelectionDAGBuilder::CaseCmp)"},
-    {"_ZNSt6vectorIN4llvm19SelectionDAGBuilder4CaseESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::Case*, std::vector<llvm::SelectionDAGBuilder::Case, std::allocator<llvm::SelectionDAGBuilder::Case> > >, llvm::SelectionDAGBuilder::Case const&)"},
-    {"_ZN9__gnu_cxx13new_allocatorIN4llvm19SelectionDAGBuilder12BitTestBlockEE9constructEPS3_RKS3_", "__gnu_cxx::new_allocator<llvm::SelectionDAGBuilder::BitTestBlock>::construct(llvm::SelectionDAGBuilder::BitTestBlock*, llvm::SelectionDAGBuilder::BitTestBlock const&)"},
-    {"_ZNSt6vectorIN4llvm19SelectionDAGBuilder12BitTestBlockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::SelectionDAGBuilder::BitTestBlock, std::allocator<llvm::SelectionDAGBuilder::BitTestBlock> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::BitTestBlock*, std::vector<llvm::SelectionDAGBuilder::BitTestBlock, std::allocator<llvm::SelectionDAGBuilder::BitTestBlock> > >, llvm::SelectionDAGBuilder::BitTestBlock const&)"},
-    {"_ZN4llvm19SelectionDAGBuilder12BitTestBlockaSERKS1_", "llvm::SelectionDAGBuilder::BitTestBlock::operator=(llvm::SelectionDAGBuilder::BitTestBlock const&)"},
-    {"_ZSt24__uninitialized_copy_auxIPN4llvm19SelectionDAGBuilder12BitTestBlockES3_ET0_T_S5_S4_St12__false_type", "llvm::SelectionDAGBuilder::BitTestBlock* std::__uninitialized_copy_aux<llvm::SelectionDAGBuilder::BitTestBlock*, llvm::SelectionDAGBuilder::BitTestBlock*>(llvm::SelectionDAGBuilder::BitTestBlock*, llvm::SelectionDAGBuilder::BitTestBlock*, llvm::SelectionDAGBuilder::BitTestBlock*, std::__false_type)"},
-    {"_ZN4llvm15SmallVectorImplINS_19SelectionDAGBuilder11BitTestCaseEEaSERKS3_", "llvm::SmallVectorImpl<llvm::SelectionDAGBuilder::BitTestCase>::operator=(llvm::SmallVectorImpl<llvm::SelectionDAGBuilder::BitTestCase> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_19SelectionDAGBuilder11BitTestCaseELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SelectionDAGBuilder::BitTestCase, false>::grow(unsigned long)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder8CaseBitsESt6vectorIS4_SaIS4_EEEElNS3_11CaseBitsCmpEEvT_SB_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, long, llvm::SelectionDAGBuilder::CaseBitsCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, long, llvm::SelectionDAGBuilder::CaseBitsCmp)"},
-    {"_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder8CaseBitsESt6vectorIS4_SaIS4_EEEENS3_11CaseBitsCmpEEvT_SB_T0_", "void std::__final_insertion_sort<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBitsCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBitsCmp)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder8CaseBitsESt6vectorIS4_SaIS4_EEEENS3_11CaseBitsCmpEEvT_SB_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBitsCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBitsCmp)"},
-    {"_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder8CaseBitsESt6vectorIS4_SaIS4_EEEENS3_11CaseBitsCmpEEvT_SB_SB_T0_", "void std::__heap_select<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBitsCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBitsCmp)"},
-    {"_ZSt9sort_heapIN9__gnu_cxx17__normal_iteratorIPN4llvm19SelectionDAGBuilder8CaseBitsESt6vectorIS4_SaIS4_EEEENS3_11CaseBitsCmpEEvT_SB_T0_", "void std::sort_heap<__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBitsCmp>(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, __gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBitsCmp)"},
-    {"_ZNSt6vectorIN4llvm19SelectionDAGBuilder8CaseBitsESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBits*, std::vector<llvm::SelectionDAGBuilder::CaseBits, std::allocator<llvm::SelectionDAGBuilder::CaseBits> > >, llvm::SelectionDAGBuilder::CaseBits const&)"},
-    {"_ZNSt6vectorIN4llvm19SelectionDAGBuilder7CaseRecESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::SelectionDAGBuilder::CaseRec, std::allocator<llvm::SelectionDAGBuilder::CaseRec> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseRec*, std::vector<llvm::SelectionDAGBuilder::CaseRec, std::allocator<llvm::SelectionDAGBuilder::CaseRec> > >, llvm::SelectionDAGBuilder::CaseRec const&)"},
-    {"_ZNSt6vectorISt4pairIN4llvm19SelectionDAGBuilder15JumpTableHeaderENS2_9JumpTableEESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>, std::allocator<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*, std::vector<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>, std::allocator<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable> > > >, std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable> const&)"},
-    {"_ZSt24__uninitialized_copy_auxIPSt4pairIN4llvm19SelectionDAGBuilder15JumpTableHeaderENS2_9JumpTableEES6_ET0_T_S8_S7_St12__false_type", "std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>* std::__uninitialized_copy_aux<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*, std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*>(std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*, std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*, std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*, std::__false_type)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPSt4pairIN4llvm19SelectionDAGBuilder15JumpTableHeaderENS5_9JumpTableEES9_EET0_T_SB_SA_", "std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*, std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*>(std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*, std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*, std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>*)"},
-    {"_ZNSt6vectorIN4llvm19SelectionDAGBuilder9CaseBlockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::SelectionDAGBuilder::CaseBlock, std::allocator<llvm::SelectionDAGBuilder::CaseBlock> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SelectionDAGBuilder::CaseBlock*, std::vector<llvm::SelectionDAGBuilder::CaseBlock, std::allocator<llvm::SelectionDAGBuilder::CaseBlock> > >, llvm::SelectionDAGBuilder::CaseBlock const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueENS_19SelectionDAGBuilder17DanglingDebugInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::Value const*, llvm::SelectionDAGBuilder::DanglingDebugInfo, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<llvm::SelectionDAGBuilder::DanglingDebugInfo> >::InsertIntoBucket(llvm::Value const* const&, llvm::SelectionDAGBuilder::DanglingDebugInfo const&, std::pair<llvm::Value const*, llvm::SelectionDAGBuilder::DanglingDebugInfo>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueENS_19SelectionDAGBuilder17DanglingDebugInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::Value const*, llvm::SelectionDAGBuilder::DanglingDebugInfo, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<llvm::SelectionDAGBuilder::DanglingDebugInfo> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueENS_19SelectionDAGBuilder17DanglingDebugInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Value const*, llvm::SelectionDAGBuilder::DanglingDebugInfo, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<llvm::SelectionDAGBuilder::DanglingDebugInfo> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueENS_7SDValueENS_12DenseMapInfoIS3_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Value const*, llvm::SDValue, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<llvm::SDValue> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueENS_7SDValueENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<llvm::Value const*, llvm::SDValue, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<llvm::SDValue> >::InsertIntoBucket(llvm::Value const* const&, llvm::SDValue const&, std::pair<llvm::Value const*, llvm::SDValue>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueENS_7SDValueENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Value const*, llvm::SDValue, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<llvm::SDValue> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplINS_3EVTEEaSERKS2_", "llvm::SmallVectorImpl<llvm::EVT>::operator=(llvm::SmallVectorImpl<llvm::EVT> const&)"},
-    {"_ZN4llvm20SDISelAsmOperandInfoD2Ev", "llvm::SDISelAsmOperandInfo::~SDISelAsmOperandInfo()"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::MCSymbol*, unsigned int, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::MCSymbol* const&, unsigned int const&, std::pair<llvm::MCSymbol*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::MCSymbol*, unsigned int, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm6GCRootESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::GCRoot, std::allocator<llvm::GCRoot> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::GCRoot*, std::vector<llvm::GCRoot, std::allocator<llvm::GCRoot> > >, llvm::GCRoot const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairINS_10TrackingVHINS_6MDNodeEEES1_IjNS_8DebugLocEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::TrackingVH<llvm::MDNode>, std::pair<unsigned int, llvm::DebugLoc> >, false>::grow(unsigned long)"},
-    {"_ZN4llvm19SelectionDAGBuilder12BitTestBlockC2ENS_5APIntES2_PKNS_5ValueEjNS_3EVTEbPNS_17MachineBasicBlockES8_RKNS_11SmallVectorINS0_11BitTestCaseELj3EEE", "llvm::SelectionDAGBuilder::BitTestBlock::BitTestBlock(llvm::APInt, llvm::APInt, llvm::Value const*, unsigned int, llvm::EVT, bool, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::SmallVector<llvm::SelectionDAGBuilder::BitTestCase, 3u> const&)"},
-    {"_ZN4llvm22createDefaultSchedulerEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelE", "llvm::createDefaultScheduler(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)"},
-    {"_ZNK4llvm14TargetLowering27EmitInstrWithCustomInserterEPNS_12MachineInstrEPNS_17MachineBasicBlockE", "llvm::TargetLowering::EmitInstrWithCustomInserter(llvm::MachineInstr*, llvm::MachineBasicBlock*) const"},
-    {"_ZN4llvm16SelectionDAGISelC1ERKNS_13TargetMachineENS_10CodeGenOpt5LevelE", "llvm::SelectionDAGISel::SelectionDAGISel(llvm::TargetMachine const&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm16SelectionDAGISelC2ERKNS_13TargetMachineENS_10CodeGenOpt5LevelE", "llvm::SelectionDAGISel::SelectionDAGISel(llvm::TargetMachine const&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm16SelectionDAGISelD0Ev", "llvm::SelectionDAGISel::~SelectionDAGISel()"},
-    {"_ZN4llvm16SelectionDAGISelD1Ev", "llvm::SelectionDAGISel::~SelectionDAGISel()"},
-    {"_ZN4llvm16SelectionDAGISelD2Ev", "llvm::SelectionDAGISel::~SelectionDAGISel()"},
-    {"_ZNK4llvm16SelectionDAGISel16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::SelectionDAGISel::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE", "llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)"},
-    {"_ZN4llvm16SelectionDAGISel16SelectBasicBlockENS_14ilist_iteratorIKNS_11InstructionEEES4_Rb", "llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&)"},
-    {"_ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv", "llvm::SelectionDAGISel::CodeGenAndEmitDAG()"},
-    {"_ZN4llvm16SelectionDAGISel22ComputeLiveOutVRegInfoEv", "llvm::SelectionDAGISel::ComputeLiveOutVRegInfo()"},
-    {"_ZN4llvm16SelectionDAGISel22DoInstructionSelectionEv", "llvm::SelectionDAGISel::DoInstructionSelection()"},
-    {"_ZN4llvm16SelectionDAGISel15CreateSchedulerEv", "llvm::SelectionDAGISel::CreateScheduler()"},
-    {"_ZN4llvm16SelectionDAGISel19PrepareEHLandingPadEv", "llvm::SelectionDAGISel::PrepareEHLandingPad()"},
-    {"_ZN4llvm16SelectionDAGISel21TryToFoldFastISelLoadEPKNS_8LoadInstEPNS_8FastISelE", "llvm::SelectionDAGISel::TryToFoldFastISelLoad(llvm::LoadInst const*, llvm::FastISel*)"},
-    {"_ZN4llvm16SelectionDAGISel16FinishBasicBlockEv", "llvm::SelectionDAGISel::FinishBasicBlock()"},
-    {"_ZNK4llvm16SelectionDAGISel12CheckAndMaskENS_7SDValueEPNS_14ConstantSDNodeEx", "llvm::SelectionDAGISel::CheckAndMask(llvm::SDValue, llvm::ConstantSDNode*, long long) const"},
-    {"_ZNK4llvm16SelectionDAGISel11CheckOrMaskENS_7SDValueEPNS_14ConstantSDNodeEx", "llvm::SelectionDAGISel::CheckOrMask(llvm::SDValue, llvm::ConstantSDNode*, long long) const"},
-    {"_ZN4llvm16SelectionDAGISel29SelectInlineAsmMemoryOperandsERSt6vectorINS_7SDValueESaIS2_EE", "llvm::SelectionDAGISel::SelectInlineAsmMemoryOperands(std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >&)"},
-    {"_ZNK4llvm16SelectionDAGISel18IsProfitableToFoldENS_7SDValueEPNS_6SDNodeES3_", "llvm::SelectionDAGISel::IsProfitableToFold(llvm::SDValue, llvm::SDNode*, llvm::SDNode*) const"},
-    {"_ZN4llvm16SelectionDAGISel13IsLegalToFoldENS_7SDValueEPNS_6SDNodeES3_NS_10CodeGenOpt5LevelEb", "llvm::SelectionDAGISel::IsLegalToFold(llvm::SDValue, llvm::SDNode*, llvm::SDNode*, llvm::CodeGenOpt::Level, bool)"},
-    {"_Z13findNonImmUsePN4llvm6SDNodeES1_S1_S1_RNS_11SmallPtrSetIS1_Lj16EEEb", "findNonImmUse(llvm::SDNode*, llvm::SDNode*, llvm::SDNode*, llvm::SDNode*, llvm::SmallPtrSet<llvm::SDNode*, 16u>&, bool)"},
-    {"_ZN4llvm16SelectionDAGISel16Select_INLINEASMEPNS_6SDNodeE", "llvm::SelectionDAGISel::Select_INLINEASM(llvm::SDNode*)"},
-    {"_ZN4llvm16SelectionDAGISel12Select_UNDEFEPNS_6SDNodeE", "llvm::SelectionDAGISel::Select_UNDEF(llvm::SDNode*)"},
-    {"_ZN4llvm16SelectionDAGISel19UpdateChainsAndGlueEPNS_6SDNodeENS_7SDValueERKNS_15SmallVectorImplIS2_EES3_S7_b", "llvm::SelectionDAGISel::UpdateChainsAndGlue(llvm::SDNode*, llvm::SDValue, llvm::SmallVectorImpl<llvm::SDNode*> const&, llvm::SDValue, llvm::SmallVectorImpl<llvm::SDNode*> const&, bool)"},
-    {"_ZN4llvm16SelectionDAGISel9MorphNodeEPNS_6SDNodeEjNS_8SDVTListEPKNS_7SDValueEjj", "llvm::SelectionDAGISel::MorphNode(llvm::SDNode*, unsigned int, llvm::SDVTList, llvm::SDValue const*, unsigned int, unsigned int)"},
-    {"_ZN4llvm16SelectionDAGISel16SelectCodeCommonEPNS_6SDNodeEPKhj", "llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int)"},
-    {"_Z22HandleMergeInputChainsRN4llvm15SmallVectorImplIPNS_6SDNodeEEEPNS_12SelectionDAGE", "HandleMergeInputChains(llvm::SmallVectorImpl<llvm::SDNode*>&, llvm::SelectionDAG*)"},
-    {"_ZN4llvm16SelectionDAGISel15CannotYetSelectEPNS_6SDNodeE", "llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*)"},
-    {"_Z14WalkChainUsersPN4llvm6SDNodeERNS_15SmallVectorImplIS1_EES4_", "WalkChainUsers(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDNode*>&, llvm::SmallVectorImpl<llvm::SDNode*>&)"},
-    {"_ZN4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEED1Ev", "llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >::~opt()"},
-    {"_ZN4llvm17RegisterSchedulerD1Ev", "llvm::RegisterScheduler::~RegisterScheduler()"},
-    {"_ZN4llvm15SmallVectorImplIPNS_17MachineMemOperandEE6resizeEj", "llvm::SmallVectorImpl<llvm::MachineMemOperand*>::resize(unsigned int)"},
-    {"_ZN4llvm16SelectionDAGISel28SelectInlineAsmMemoryOperandERKNS_7SDValueEcRSt6vectorIS1_SaIS1_EE", "llvm::SelectionDAGISel::SelectInlineAsmMemoryOperand(llvm::SDValue const&, char, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >&)"},
-    {"_ZNK4llvm16SelectionDAGISel21CheckPatternPredicateEj", "llvm::SelectionDAGISel::CheckPatternPredicate(unsigned int) const"},
-    {"_ZNK4llvm16SelectionDAGISel18CheckNodePredicateEPNS_6SDNodeEj", "llvm::SelectionDAGISel::CheckNodePredicate(llvm::SDNode*, unsigned int) const"},
-    {"_ZN4llvm16SelectionDAGISel19CheckComplexPatternEPNS_6SDNodeES2_NS_7SDValueEjRNS_15SmallVectorImplISt4pairIS3_S2_EEE", "llvm::SelectionDAGISel::CheckComplexPattern(llvm::SDNode*, llvm::SDNode*, llvm::SDValue, unsigned int, llvm::SmallVectorImpl<std::pair<llvm::SDValue, llvm::SDNode*> >&)"},
-    {"_ZN4llvm16SelectionDAGISel14RunSDNodeXFormENS_7SDValueEj", "llvm::SelectionDAGISel::RunSDNodeXForm(llvm::SDValue, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplINS_7SDValueEEaSERKS2_", "llvm::SmallVectorImpl<llvm::SDValue>::operator=(llvm::SmallVectorImpl<llvm::SDValue> const&)"},
-    {"_ZNSt6vectorIjSaIjEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPjS1_EEmRKj", "std::vector<unsigned int, std::allocator<unsigned int> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, unsigned long, unsigned int const&)"},
-    {"_ZNSt6vectorIN4llvm7SDValueESaIS1_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEEEvS8_T_S9_St20forward_iterator_tag", "void std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >::_M_range_insert<__gnu_cxx::__normal_iterator<llvm::SDValue*, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> > > >(__gnu_cxx::__normal_iterator<llvm::SDValue*, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> > >, __gnu_cxx::__normal_iterator<llvm::SDValue*, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> > >, __gnu_cxx::__normal_iterator<llvm::SDValue*, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> > >, std::forward_iterator_tag)"},
-    {"_ZNSt6vectorIN4llvm19SelectionDAGBuilder12BitTestBlockESaIS2_EE15_M_erase_at_endEPS2_", "std::vector<llvm::SelectionDAGBuilder::BitTestBlock, std::allocator<llvm::SelectionDAGBuilder::BitTestBlock> >::_M_erase_at_end(llvm::SelectionDAGBuilder::BitTestBlock*)"},
-    {"_ZN4llvm8DenseMapIPKNS_10BasicBlockEPNS_17MachineBasicBlockENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::BasicBlock const*, llvm::MachineBasicBlock*, llvm::DenseMapInfo<llvm::BasicBlock const*>, llvm::DenseMapInfo<llvm::MachineBasicBlock*> >::InsertIntoBucket(llvm::BasicBlock const* const&, llvm::MachineBasicBlock* const&, std::pair<llvm::BasicBlock const*, llvm::MachineBasicBlock*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_10BasicBlockEPNS_17MachineBasicBlockENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock const*, llvm::MachineBasicBlock*, llvm::DenseMapInfo<llvm::BasicBlock const*>, llvm::DenseMapInfo<llvm::MachineBasicBlock*> >::grow(unsigned int)"},
-    {"_ZN4llvm10IndexedMapINS_20FunctionLoweringInfo11LiveOutInfoENS_20VirtReg2IndexFunctorEE6resizeEm", "llvm::IndexedMap<llvm::FunctionLoweringInfo::LiveOutInfo, llvm::VirtReg2IndexFunctor>::resize(unsigned long)"},
-    {"_ZNSt6vectorIN4llvm20FunctionLoweringInfo11LiveOutInfoESaIS2_EE6resizeEmS2_", "std::vector<llvm::FunctionLoweringInfo::LiveOutInfo, std::allocator<llvm::FunctionLoweringInfo::LiveOutInfo> >::resize(unsigned long, llvm::FunctionLoweringInfo::LiveOutInfo)"},
-    {"_ZNSt6vectorIN4llvm20FunctionLoweringInfo11LiveOutInfoESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::FunctionLoweringInfo::LiveOutInfo, std::allocator<llvm::FunctionLoweringInfo::LiveOutInfo> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::FunctionLoweringInfo::LiveOutInfo*, std::vector<llvm::FunctionLoweringInfo::LiveOutInfo, std::allocator<llvm::FunctionLoweringInfo::LiveOutInfo> > >, unsigned long, llvm::FunctionLoweringInfo::LiveOutInfo const&)"},
-    {"_ZSt26__uninitialized_fill_n_auxIPN4llvm20FunctionLoweringInfo11LiveOutInfoEmS2_EvT_T0_RKT1_St12__false_type", "void std::__uninitialized_fill_n_aux<llvm::FunctionLoweringInfo::LiveOutInfo*, unsigned long, llvm::FunctionLoweringInfo::LiveOutInfo>(llvm::FunctionLoweringInfo::LiveOutInfo*, unsigned long, llvm::FunctionLoweringInfo::LiveOutInfo const&, std::__false_type)"},
-    {"_ZNSt6__fillILb0EE4fillIPN4llvm20FunctionLoweringInfo11LiveOutInfoES4_EEvT_S6_RKT0_", "void std::__fill<false>::fill<llvm::FunctionLoweringInfo::LiveOutInfo*, llvm::FunctionLoweringInfo::LiveOutInfo>(llvm::FunctionLoweringInfo::LiveOutInfo*, llvm::FunctionLoweringInfo::LiveOutInfo*, llvm::FunctionLoweringInfo::LiveOutInfo const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN4llvm20FunctionLoweringInfo11LiveOutInfoES6_EET0_T_S8_S7_", "llvm::FunctionLoweringInfo::LiveOutInfo* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<llvm::FunctionLoweringInfo::LiveOutInfo*, llvm::FunctionLoweringInfo::LiveOutInfo*>(llvm::FunctionLoweringInfo::LiveOutInfo*, llvm::FunctionLoweringInfo::LiveOutInfo*, llvm::FunctionLoweringInfo::LiveOutInfo*)"},
-    {"_ZN4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEE4doneEv", "llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >::done()"},
-    {"_ZN4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEE16handleOccurrenceEjNS_9StringRefESE_", "llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEE14getOptionWidthEv", "llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEE15printOptionInfoEm", "llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEED0Ev", "llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >::~opt()"},
-    {"_ZN4llvm2cl6parserIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEEE5parseERNS0_6OptionENS_9StringRefESD_RS9_", "llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, llvm::ScheduleDAGSDNodes* (*&)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level))"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEEE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm18RegisterPassParserINS_17RegisterSchedulerEED1Ev", "llvm::RegisterPassParser<llvm::RegisterScheduler>::~RegisterPassParser()"},
-    {"_ZN4llvm18RegisterPassParserINS_17RegisterSchedulerEED0Ev", "llvm::RegisterPassParser<llvm::RegisterScheduler>::~RegisterPassParser()"},
-    {"_ZN4llvm18RegisterPassParserINS_17RegisterSchedulerEE9NotifyAddEPKcPFPvvES4_", "llvm::RegisterPassParser<llvm::RegisterScheduler>::NotifyAdd(char const*, void* (*)(), char const*)"},
-    {"_ZN4llvm18RegisterPassParserINS_17RegisterSchedulerEE12NotifyRemoveEPKc", "llvm::RegisterPassParser<llvm::RegisterScheduler>::NotifyRemove(char const*)"},
-    {"_ZThn16_N4llvm18RegisterPassParserINS_17RegisterSchedulerEED1Ev", "non-virtual thunk to llvm::RegisterPassParser<llvm::RegisterScheduler>::~RegisterPassParser()"},
-    {"_ZThn16_N4llvm18RegisterPassParserINS_17RegisterSchedulerEED0Ev", "non-virtual thunk to llvm::RegisterPassParser<llvm::RegisterScheduler>::~RegisterPassParser()"},
-    {"_ZNK4llvm2cl6parserIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEEE13getNumOptionsEv", "llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEEE9getOptionEj", "llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEEE14getDescriptionEj", "llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getDescription(unsigned int) const"},
-    {"_ZN4llvm27MachinePassRegistryListenerD1Ev", "llvm::MachinePassRegistryListener::~MachinePassRegistryListener()"},
-    {"_ZN4llvm27MachinePassRegistryListenerD0Ev", "llvm::MachinePassRegistryListener::~MachinePassRegistryListener()"},
-    {"_ZN4llvm2cl6parserIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEEED1Ev", "llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::~parser()"},
-    {"_ZN4llvm2cl6parserIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEEED0Ev", "llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::~parser()"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::Value const*, unsigned int, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::Value const* const&, unsigned int const&, std::pair<llvm::Value const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::Value const*, unsigned int, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm20FunctionLoweringInfoD2Ev", "llvm::FunctionLoweringInfo::~FunctionLoweringInfo()"},
-    {"_ZNSt6vectorIN4llvm20FunctionLoweringInfo11LiveOutInfoESaIS2_EED2Ev", "std::vector<llvm::FunctionLoweringInfo::LiveOutInfo, std::allocator<llvm::FunctionLoweringInfo::LiveOutInfo> >::~vector()"},
-    {"_ZN4llvm19SelectionDAGBuilderD2Ev", "llvm::SelectionDAGBuilder::~SelectionDAGBuilder()"},
-    {"_ZNSt6vectorISt4pairIN4llvm19SelectionDAGBuilder15JumpTableHeaderENS2_9JumpTableEESaIS5_EED2Ev", "std::vector<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable>, std::allocator<std::pair<llvm::SelectionDAGBuilder::JumpTableHeader, llvm::SelectionDAGBuilder::JumpTable> > >::~vector()"},
-    {"_ZNSt6vectorIN4llvm19SelectionDAGBuilder12BitTestBlockESaIS2_EED2Ev", "std::vector<llvm::SelectionDAGBuilder::BitTestBlock, std::allocator<llvm::SelectionDAGBuilder::BitTestBlock> >::~vector()"},
-    {"_ZN4llvm19SelectionDAGBuilderC2ERNS_12SelectionDAGERNS_20FunctionLoweringInfoENS_10CodeGenOpt5LevelE", "llvm::SelectionDAGBuilder::SelectionDAGBuilder(llvm::SelectionDAG&, llvm::FunctionLoweringInfo&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm14DOTGraphTraitsIPNS_12SelectionDAGEE12getNodeLabelEPKNS_6SDNodeEPKS1_", "llvm::DOTGraphTraits<llvm::SelectionDAG*>::getNodeLabel(llvm::SDNode const*, llvm::SelectionDAG const*)"},
-    {"_ZN4llvm12SelectionDAG9viewGraphERKSs", "llvm::SelectionDAG::viewGraph(std::string const&)"},
-    {"_ZN4llvm12SelectionDAG9viewGraphEv", "llvm::SelectionDAG::viewGraph()"},
-    {"_ZN4llvm12SelectionDAG15clearGraphAttrsEv", "llvm::SelectionDAG::clearGraphAttrs()"},
-    {"_ZN4llvm12SelectionDAG13setGraphAttrsEPKNS_6SDNodeEPKc", "llvm::SelectionDAG::setGraphAttrs(llvm::SDNode const*, char const*)"},
-    {"_ZNK4llvm12SelectionDAG13getGraphAttrsEPKNS_6SDNodeE", "llvm::SelectionDAG::getGraphAttrs(llvm::SDNode const*) const"},
-    {"_ZN4llvm12SelectionDAG13setGraphColorEPKNS_6SDNodeEPKc", "llvm::SelectionDAG::setGraphColor(llvm::SDNode const*, char const*)"},
-    {"_ZN4llvm12SelectionDAG22setSubgraphColorHelperEPNS_6SDNodeEPKcRNS_8DenseSetIS2_NS_12DenseMapInfoIS2_EEEEiRb", "llvm::SelectionDAG::setSubgraphColorHelper(llvm::SDNode*, char const*, llvm::DenseSet<llvm::SDNode*, llvm::DenseMapInfo<llvm::SDNode*> >&, int, bool&)"},
-    {"_ZN4llvm12SelectionDAG16setSubgraphColorEPNS_6SDNodeEPKc", "llvm::SelectionDAG::setSubgraphColor(llvm::SDNode*, char const*)"},
-    {"_ZNK4llvm18ScheduleDAGSDNodes17getGraphNodeLabelEPKNS_5SUnitE", "llvm::ScheduleDAGSDNodes::getGraphNodeLabel(llvm::SUnit const*) const"},
-    {"_ZNK4llvm18ScheduleDAGSDNodes22getCustomGraphFeaturesERNS_11GraphWriterIPNS_11ScheduleDAGEEE", "llvm::ScheduleDAGSDNodes::getCustomGraphFeatures(llvm::GraphWriter<llvm::ScheduleDAG*>&) const"},
-    {"_ZN4llvm11GraphWriterIPNS_11ScheduleDAGEE14emitSimpleNodeEPKvRKSsS7_jPKSt6vectorISsSaISsEE", "llvm::GraphWriter<llvm::ScheduleDAG*>::emitSimpleNode(void const*, std::string const&, std::string const&, unsigned int, std::vector<std::string, std::allocator<std::string> > const*)"},
-    {"_ZN4llvm11GraphWriterIPNS_11ScheduleDAGEE8emitEdgeEPKviS5_iRKSs", "llvm::GraphWriter<llvm::ScheduleDAG*>::emitEdge(void const*, int, void const*, int, std::string const&)"},
-    {"_ZN4llvm11getTLSModelEPKNS_11GlobalValueENS_5Reloc5ModelE", "llvm::getTLSModel(llvm::GlobalValue const*, llvm::Reloc::Model)"},
-    {"_ZN4llvm5RTLIB8getFPEXTENS_3EVTES1_", "llvm::RTLIB::getFPEXT(llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm5RTLIB10getFPROUNDENS_3EVTES1_", "llvm::RTLIB::getFPROUND(llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm5RTLIB11getFPTOSINTENS_3EVTES1_", "llvm::RTLIB::getFPTOSINT(llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm5RTLIB11getFPTOUINTENS_3EVTES1_", "llvm::RTLIB::getFPTOUINT(llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm5RTLIB11getSINTTOFPENS_3EVTES1_", "llvm::RTLIB::getSINTTOFP(llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm5RTLIB11getUINTTOFPENS_3EVTES1_", "llvm::RTLIB::getUINTTOFP(llvm::EVT, llvm::EVT)"},
-    {"_ZN4llvm14TargetLoweringC1ERKNS_13TargetMachineEPKNS_24TargetLoweringObjectFileE", "llvm::TargetLowering::TargetLowering(llvm::TargetMachine const&, llvm::TargetLoweringObjectFile const*)"},
-    {"_ZN4llvm14TargetLoweringC2ERKNS_13TargetMachineEPKNS_24TargetLoweringObjectFileE", "llvm::TargetLowering::TargetLowering(llvm::TargetMachine const&, llvm::TargetLoweringObjectFile const*)"},
-    {"_ZN4llvm14TargetLoweringD0Ev", "llvm::TargetLowering::~TargetLowering()"},
-    {"_ZN4llvm14TargetLoweringD1Ev", "llvm::TargetLowering::~TargetLowering()"},
-    {"_ZN4llvm14TargetLoweringD2Ev", "llvm::TargetLowering::~TargetLowering()"},
-    {"_ZNK4llvm14TargetLowering9canOpTrapEjNS_3EVTE", "llvm::TargetLowering::canOpTrap(unsigned int, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering9isLegalRCEPKNS_19TargetRegisterClassE", "llvm::TargetLowering::isLegalRC(llvm::TargetRegisterClass const*) const"},
-    {"_ZNK4llvm14TargetLowering26hasLegalSuperRegRegClassesEPKNS_19TargetRegisterClassE", "llvm::TargetLowering::hasLegalSuperRegRegClasses(llvm::TargetRegisterClass const*) const"},
-    {"_ZNK4llvm14TargetLowering23findRepresentativeClassENS_3EVTE", "llvm::TargetLowering::findRepresentativeClass(llvm::EVT) const"},
-    {"_ZN4llvm14TargetLowering25computeRegisterPropertiesEv", "llvm::TargetLowering::computeRegisterProperties()"},
-    {"_ZNK4llvm14TargetLowering17getTargetNodeNameEj", "llvm::TargetLowering::getTargetNodeName(unsigned int) const"},
-    {"_ZNK4llvm14TargetLowering18getSetCCResultTypeENS_3EVTE", "llvm::TargetLowering::getSetCCResultType(llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering23getCmpLibcallReturnTypeEv", "llvm::TargetLowering::getCmpLibcallReturnType() const"},
-    {"_ZNK4llvm14TargetLowering22getVectorTypeBreakdownERNS_11LLVMContextENS_3EVTERS3_RjS4_", "llvm::TargetLowering::getVectorTypeBreakdown(llvm::LLVMContext&, llvm::EVT, llvm::EVT&, unsigned int&, llvm::EVT&) const"},
-    {"_ZN4llvm13GetReturnInfoEPKNS_4TypeEjRNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS_14TargetLoweringEPNS3_IyEE", "llvm::GetReturnInfo(llvm::Type const*, unsigned int, llvm::SmallVectorImpl<llvm::ISD::OutputArg>&, llvm::TargetLowering const&, llvm::SmallVectorImpl<unsigned long long>*)"},
-    {"_ZNK4llvm14TargetLowering21getByValTypeAlignmentEPKNS_4TypeE", "llvm::TargetLowering::getByValTypeAlignment(llvm::Type const*) const"},
-    {"_ZNK4llvm14TargetLowering20getJumpTableEncodingEv", "llvm::TargetLowering::getJumpTableEncoding() const"},
-    {"_ZNK4llvm14TargetLowering24getPICJumpTableRelocBaseENS_7SDValueERNS_12SelectionDAGE", "llvm::TargetLowering::getPICJumpTableRelocBase(llvm::SDValue, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm14TargetLowering28getPICJumpTableRelocBaseExprEPKNS_15MachineFunctionEjRNS_9MCContextE", "llvm::TargetLowering::getPICJumpTableRelocBaseExpr(llvm::MachineFunction const*, unsigned int, llvm::MCContext&) const"},
-    {"_ZNK4llvm14TargetLowering20isOffsetFoldingLegalEPKNS_19GlobalAddressSDNodeE", "llvm::TargetLowering::isOffsetFoldingLegal(llvm::GlobalAddressSDNode const*) const"},
-    {"_ZN4llvm14TargetLowering17TargetLoweringOpt22ShrinkDemandedConstantENS_7SDValueERKNS_5APIntE", "llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(llvm::SDValue, llvm::APInt const&)"},
-    {"_ZN4llvm14TargetLowering17TargetLoweringOpt16ShrinkDemandedOpENS_7SDValueEjRKNS_5APIntENS_8DebugLocE", "llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(llvm::SDValue, unsigned int, llvm::APInt const&, llvm::DebugLoc)"},
-    {"_ZNK4llvm14TargetLowering20SimplifyDemandedBitsENS_7SDValueERKNS_5APIntERS2_S5_RNS0_17TargetLoweringOptEj", "llvm::TargetLowering::SimplifyDemandedBits(llvm::SDValue, llvm::APInt const&, llvm::APInt&, llvm::APInt&, llvm::TargetLowering::TargetLoweringOpt&, unsigned int) const"},
-    {"_ZNK4llvm14TargetLowering30computeMaskedBitsForTargetNodeENS_7SDValueERKNS_5APIntERS2_S5_RKNS_12SelectionDAGEj", "llvm::TargetLowering::computeMaskedBitsForTargetNode(llvm::SDValue, llvm::APInt const&, llvm::APInt&, llvm::APInt&, llvm::SelectionDAG const&, unsigned int) const"},
-    {"_ZNK4llvm14TargetLowering31ComputeNumSignBitsForTargetNodeENS_7SDValueEj", "llvm::TargetLowering::ComputeNumSignBitsForTargetNode(llvm::SDValue, unsigned int) const"},
-    {"_ZNK4llvm14TargetLowering13SimplifySetCCENS_3EVTENS_7SDValueES2_NS_3ISD8CondCodeEbRNS0_15DAGCombinerInfoENS_8DebugLocE", "llvm::TargetLowering::SimplifySetCC(llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::ISD::CondCode, bool, llvm::TargetLowering::DAGCombinerInfo&, llvm::DebugLoc) const"},
-    {"_Z24ValueHasExactlyOneBitSetN4llvm7SDValueERKNS_12SelectionDAGE", "ValueHasExactlyOneBitSet(llvm::SDValue, llvm::SelectionDAG const&)"},
-    {"_ZNK4llvm14TargetLowering14isGAPlusOffsetEPNS_6SDNodeERPKNS_11GlobalValueERx", "llvm::TargetLowering::isGAPlusOffset(llvm::SDNode*, llvm::GlobalValue const*&, long long&) const"},
-    {"_ZNK4llvm14TargetLowering17PerformDAGCombineEPNS_6SDNodeERNS0_15DAGCombinerInfoE", "llvm::TargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const"},
-    {"_ZNK4llvm14TargetLowering17getConstraintTypeERKSs", "llvm::TargetLowering::getConstraintType(std::string const&) const"},
-    {"_ZNK4llvm14TargetLowering16LowerXConstraintENS_3EVTE", "llvm::TargetLowering::LowerXConstraint(llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering28LowerAsmOperandForConstraintENS_7SDValueEcRSt6vectorIS1_SaIS1_EERNS_12SelectionDAGE", "llvm::TargetLowering::LowerAsmOperandForConstraint(llvm::SDValue, char, std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm14TargetLowering33getRegClassForInlineAsmConstraintERKSsNS_3EVTE", "llvm::TargetLowering::getRegClassForInlineAsmConstraint(std::string const&, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering28getRegForInlineAsmConstraintERKSsNS_3EVTE", "llvm::TargetLowering::getRegForInlineAsmConstraint(std::string const&, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering14AsmOperandInfo25isMatchingInputConstraintEv", "llvm::TargetLowering::AsmOperandInfo::isMatchingInputConstraint() const"},
-    {"_ZNK4llvm14TargetLowering14AsmOperandInfo17getMatchedOperandEv", "llvm::TargetLowering::AsmOperandInfo::getMatchedOperand() const"},
-    {"_ZNK4llvm14TargetLowering16ParseConstraintsENS_17ImmutableCallSiteE", "llvm::TargetLowering::ParseConstraints(llvm::ImmutableCallSite) const"},
-    {"_ZNK4llvm14TargetLowering32getMultipleConstraintMatchWeightERNS0_14AsmOperandInfoEi", "llvm::TargetLowering::getMultipleConstraintMatchWeight(llvm::TargetLowering::AsmOperandInfo&, int) const"},
-    {"_ZNK4llvm14TargetLowering30getSingleConstraintMatchWeightERNS0_14AsmOperandInfoEPKc", "llvm::TargetLowering::getSingleConstraintMatchWeight(llvm::TargetLowering::AsmOperandInfo&, char const*) const"},
-    {"_ZNK4llvm14TargetLowering22ComputeConstraintToUseERNS0_14AsmOperandInfoENS_7SDValueEPNS_12SelectionDAGE", "llvm::TargetLowering::ComputeConstraintToUse(llvm::TargetLowering::AsmOperandInfo&, llvm::SDValue, llvm::SelectionDAG*) const"},
-    {"_ZNK4llvm14TargetLowering21isLegalAddressingModeERKNS0_8AddrModeEPKNS_4TypeE", "llvm::TargetLowering::isLegalAddressingMode(llvm::TargetLowering::AddrMode const&, llvm::Type const*) const"},
-    {"_ZNK4llvm14TargetLowering9BuildSDIVEPNS_6SDNodeERNS_12SelectionDAGEPSt6vectorIS2_SaIS2_EE", "llvm::TargetLowering::BuildSDIV(llvm::SDNode*, llvm::SelectionDAG&, std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> >*) const"},
-    {"_ZNK4llvm14TargetLowering9BuildUDIVEPNS_6SDNodeERNS_12SelectionDAGEPSt6vectorIS2_SaIS2_EE", "llvm::TargetLowering::BuildUDIV(llvm::SDNode*, llvm::SelectionDAG&, std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> >*) const"},
-    {"_ZNK4llvm14TargetLowering20getTypeToTransformToERNS_11LLVMContextENS_3EVTE", "llvm::TargetLowering::getTypeToTransformTo(llvm::LLVMContext&, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering15getRegisterTypeERNS_11LLVMContextENS_3EVTE", "llvm::TargetLowering::getRegisterType(llvm::LLVMContext&, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering15getNumRegistersERNS_11LLVMContextENS_3EVTE", "llvm::TargetLowering::getNumRegisters(llvm::LLVMContext&, llvm::EVT) const"},
-    {"_ZNK4llvm5APInt10intersectsERKS0_", "llvm::APInt::intersects(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt6isIntNEj", "llvm::APInt::isIntN(unsigned int) const"},
-    {"_ZNK4llvm3EVT6bitsLEES0_", "llvm::EVT::bitsLE(llvm::EVT) const"},
-    {"_ZN4llvm5APInt17getSignedMaxValueEj", "llvm::APInt::getSignedMaxValue(unsigned int)"},
-    {"_ZNK4llvm5APIntmiEy", "llvm::APInt::operator-(unsigned long long) const"},
-    {"_ZNK4llvm14TargetLowering19getRegPressureLimitEPKNS_19TargetRegisterClassERNS_15MachineFunctionE", "llvm::TargetLowering::getRegPressureLimit(llvm::TargetRegisterClass const*, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm14TargetLowering12isFPImmLegalERKNS_7APFloatENS_3EVTE", "llvm::TargetLowering::isFPImmLegal(llvm::APFloat const&, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering18isShuffleMaskLegalERKNS_15SmallVectorImplIiEENS_3EVTE", "llvm::TargetLowering::isShuffleMaskLegal(llvm::SmallVectorImpl<int> const&, llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering29allowsUnalignedMemoryAccessesENS_3EVTE", "llvm::TargetLowering::allowsUnalignedMemoryAccesses(llvm::EVT) const"},
-    {"_ZNK4llvm14TargetLowering20LowerFormalArgumentsENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EE", "llvm::TargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const"},
-    {"_ZNK4llvm14TargetLowering9LowerCallENS_7SDValueES1_NS_11CallingConv2IDEbRbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS5_IS1_EERKNS5_INS6_8InputArgEEENS_8DebugLocERNS_12SelectionDAGERSB_", "llvm::TargetLowering::LowerCall(llvm::SDValue, llvm::SDValue, llvm::CallingConv::ID, bool, bool&, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const"},
-    {"_ZNK4llvm14TargetLowering11LowerReturnENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS4_IS1_EENS_8DebugLocERNS_12SelectionDAGE", "llvm::TargetLowering::LowerReturn(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::DebugLoc, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm14TargetLowering18isUsedByReturnOnlyEPNS_6SDNodeE", "llvm::TargetLowering::isUsedByReturnOnly(llvm::SDNode*) const"},
-    {"_ZNK4llvm14TargetLowering18ReplaceNodeResultsEPNS_6SDNodeERNS_15SmallVectorImplINS_7SDValueEEERNS_12SelectionDAGE", "llvm::TargetLowering::ReplaceNodeResults(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SelectionDAG&) const"},
-    {"_ZNK4llvm14TargetLowering14createFastISelERNS_20FunctionLoweringInfoE", "llvm::TargetLowering::createFastISel(llvm::FunctionLoweringInfo&) const"},
-    {"_ZNK4llvm14TargetLowering15ExpandInlineAsmEPNS_8CallInstE", "llvm::TargetLowering::ExpandInlineAsm(llvm::CallInst*) const"},
-    {"_ZNSt6vectorIPN4llvm6SDNodeESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SDNode**, std::vector<llvm::SDNode*, std::allocator<llvm::SDNode*> > >, llvm::SDNode* const&)"},
-    {"_ZNSt6vectorIN4llvm14TargetLowering14AsmOperandInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::TargetLowering::AsmOperandInfo, std::allocator<llvm::TargetLowering::AsmOperandInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::TargetLowering::AsmOperandInfo*, std::vector<llvm::TargetLowering::AsmOperandInfo, std::allocator<llvm::TargetLowering::AsmOperandInfo> > >, llvm::TargetLowering::AsmOperandInfo const&)"},
-    {"_ZSt13__destroy_auxIPN4llvm14TargetLowering14AsmOperandInfoEEvT_S4_St12__false_type", "void std::__destroy_aux<llvm::TargetLowering::AsmOperandInfo*>(llvm::TargetLowering::AsmOperandInfo*, llvm::TargetLowering::AsmOperandInfo*, std::__false_type)"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm17SubConstraintInfoESaIS2_EEaSERKS4_", "std::vector<llvm::InlineAsm::SubConstraintInfo, std::allocator<llvm::InlineAsm::SubConstraintInfo> >::operator=(std::vector<llvm::InlineAsm::SubConstraintInfo, std::allocator<llvm::InlineAsm::SubConstraintInfo> > const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN4llvm14TargetLowering14AsmOperandInfoES6_EET0_T_S8_S7_", "llvm::TargetLowering::AsmOperandInfo* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<llvm::TargetLowering::AsmOperandInfo*, llvm::TargetLowering::AsmOperandInfo*>(llvm::TargetLowering::AsmOperandInfo*, llvm::TargetLowering::AsmOperandInfo*, llvm::TargetLowering::AsmOperandInfo*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_3ISD9OutputArgELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::ISD::OutputArg, false>::grow(unsigned long)"},
-    {"_ZNK4llvm3EVT17getPow2VectorTypeERNS_11LLVMContextE", "llvm::EVT::getPow2VectorType(llvm::LLVMContext&) const"},
-    {"_ZNK4llvm14TargetLowering19ValueTypeActionImpl21getExtendedTypeActionENS_3EVTE", "llvm::TargetLowering::ValueTypeActionImpl::getExtendedTypeAction(llvm::EVT) const"},
-    {"_ZNSt8_Rb_treeISt4pairIjN4llvm3MVT15SimpleValueTypeEES0_IKS4_S3_ESt10_Select1stIS6_ESt4lessIS4_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<std::pair<unsigned int, llvm::MVT::SimpleValueType>, std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType>, std::_Select1st<std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> >, std::less<std::pair<unsigned int, llvm::MVT::SimpleValueType> >, std::allocator<std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<unsigned int, llvm::MVT::SimpleValueType> const, llvm::MVT::SimpleValueType> >*)"},
-    {"_ZN4llvm22TargetSelectionDAGInfoC1ERKNS_13TargetMachineE", "llvm::TargetSelectionDAGInfo::TargetSelectionDAGInfo(llvm::TargetMachine const&)"},
-    {"_ZN4llvm22TargetSelectionDAGInfoC2ERKNS_13TargetMachineE", "llvm::TargetSelectionDAGInfo::TargetSelectionDAGInfo(llvm::TargetMachine const&)"},
-    {"_ZN4llvm22TargetSelectionDAGInfoD0Ev", "llvm::TargetSelectionDAGInfo::~TargetSelectionDAGInfo()"},
-    {"_ZN4llvm22TargetSelectionDAGInfoD1Ev", "llvm::TargetSelectionDAGInfo::~TargetSelectionDAGInfo()"},
-    {"_ZN4llvm22TargetSelectionDAGInfoD2Ev", "llvm::TargetSelectionDAGInfo::~TargetSelectionDAGInfo()"},
-    {"_ZNK4llvm22TargetSelectionDAGInfo23EmitTargetCodeForMemcpyERNS_12SelectionDAGENS_8DebugLocENS_7SDValueES4_S4_S4_jbbNS_18MachinePointerInfoES5_", "llvm::TargetSelectionDAGInfo::EmitTargetCodeForMemcpy(llvm::SelectionDAG&, llvm::DebugLoc, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, unsigned int, bool, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo) const"},
-    {"_ZN4llvm10AsmPrinterC1ERNS_13TargetMachineERNS_10MCStreamerE", "llvm::AsmPrinter::AsmPrinter(llvm::TargetMachine&, llvm::MCStreamer&)"},
-    {"_ZN4llvm10AsmPrinterC2ERNS_13TargetMachineERNS_10MCStreamerE", "llvm::AsmPrinter::AsmPrinter(llvm::TargetMachine&, llvm::MCStreamer&)"},
-    {"_ZN4llvm10AsmPrinterD0Ev", "llvm::AsmPrinter::~AsmPrinter()"},
-    {"_ZN4llvm10AsmPrinterD1Ev", "llvm::AsmPrinter::~AsmPrinter()"},
-    {"_ZN4llvm10AsmPrinterD2Ev", "llvm::AsmPrinter::~AsmPrinter()"},
-    {"_ZNK4llvm10AsmPrinter17getFunctionNumberEv", "llvm::AsmPrinter::getFunctionNumber() const"},
-    {"_ZNK4llvm10AsmPrinter18getObjFileLoweringEv", "llvm::AsmPrinter::getObjFileLowering() const"},
-    {"_ZNK4llvm10AsmPrinter13getDataLayoutEv", "llvm::AsmPrinter::getDataLayout() const"},
-    {"_ZNK4llvm10AsmPrinter17getCurrentSectionEv", "llvm::AsmPrinter::getCurrentSection() const"},
-    {"_ZNK4llvm10AsmPrinter16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::AsmPrinter::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm10AsmPrinter16doInitializationERNS_6ModuleE", "llvm::AsmPrinter::doInitialization(llvm::Module&)"},
-    {"_ZN4llvm10AsmPrinter20GetOrCreateGCPrinterEPNS_10GCStrategyE", "llvm::AsmPrinter::GetOrCreateGCPrinter(llvm::GCStrategy*)"},
-    {"_ZNK4llvm10AsmPrinter11EmitLinkageEjPNS_8MCSymbolE", "llvm::AsmPrinter::EmitLinkage(unsigned int, llvm::MCSymbol*) const"},
-    {"_ZN4llvm10AsmPrinter18EmitGlobalVariableEPKNS_14GlobalVariableE", "llvm::AsmPrinter::EmitGlobalVariable(llvm::GlobalVariable const*)"},
-    {"_ZN4llvm10AsmPrinter21EmitSpecialLLVMGlobalEPKNS_14GlobalVariableE", "llvm::AsmPrinter::EmitSpecialLLVMGlobal(llvm::GlobalVariable const*)"},
-    {"_ZNK4llvm10AsmPrinter14EmitVisibilityEPNS_8MCSymbolEj", "llvm::AsmPrinter::EmitVisibility(llvm::MCSymbol*, unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter13EmitAlignmentEjPKNS_11GlobalValueE", "llvm::AsmPrinter::EmitAlignment(unsigned int, llvm::GlobalValue const*) const"},
-    {"_ZN4llvm10AsmPrinter18EmitGlobalConstantEPKNS_8ConstantEj", "llvm::AsmPrinter::EmitGlobalConstant(llvm::Constant const*, unsigned int)"},
-    {"_ZNK4llvm10AsmPrinter23GetExternalSymbolSymbolENS_9StringRefE", "llvm::AsmPrinter::GetExternalSymbolSymbol(llvm::StringRef) const"},
-    {"_ZN4llvm10AsmPrinter18EmitFunctionHeaderEv", "llvm::AsmPrinter::EmitFunctionHeader()"},
-    {"_ZN4llvm10AsmPrinter22EmitFunctionEntryLabelEv", "llvm::AsmPrinter::EmitFunctionEntryLabel()"},
-    {"_ZN4llvm10AsmPrinter16EmitFunctionBodyEv", "llvm::AsmPrinter::EmitFunctionBody()"},
-    {"_ZNK4llvm10AsmPrinter19EmitBasicBlockStartEPKNS_17MachineBasicBlockE", "llvm::AsmPrinter::EmitBasicBlockStart(llvm::MachineBasicBlock const*) const"},
-    {"_ZN4llvm10AsmPrinter17EmitJumpTableInfoEv", "llvm::AsmPrinter::EmitJumpTableInfo()"},
-    {"_ZNK4llvm10AsmPrinter21getDebugValueLocationEPKNS_12MachineInstrE", "llvm::AsmPrinter::getDebugValueLocation(llvm::MachineInstr const*) const"},
-    {"_ZN4llvm10AsmPrinter14doFinalizationERNS_6ModuleE", "llvm::AsmPrinter::doFinalization(llvm::Module&)"},
-    {"_ZN4llvm10AsmPrinter20SetupMachineFunctionERNS_15MachineFunctionE", "llvm::AsmPrinter::SetupMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm10AsmPrinter16EmitConstantPoolEv", "llvm::AsmPrinter::EmitConstantPool()"},
-    {"_ZNK4llvm10AsmPrinter12GetCPISymbolEj", "llvm::AsmPrinter::GetCPISymbol(unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter14GetJTSetSymbolEjj", "llvm::AsmPrinter::GetJTSetSymbol(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter12GetJTISymbolEjb", "llvm::AsmPrinter::GetJTISymbol(unsigned int, bool) const"},
-    {"_ZNK4llvm10AsmPrinter18EmitJumpTableEntryEPKNS_20MachineJumpTableInfoEPKNS_17MachineBasicBlockEj", "llvm::AsmPrinter::EmitJumpTableEntry(llvm::MachineJumpTableInfo const*, llvm::MachineBasicBlock const*, unsigned int) const"},
-    {"_ZN4llvm10AsmPrinter16EmitLLVMUsedListEPNS_8ConstantE", "llvm::AsmPrinter::EmitLLVMUsedList(llvm::Constant*)"},
-    {"_ZN4llvm10AsmPrinter18EmitXXStructorListEPNS_8ConstantE", "llvm::AsmPrinter::EmitXXStructorList(llvm::Constant*)"},
-    {"_ZNK4llvm10AsmPrinter8EmitInt8Ei", "llvm::AsmPrinter::EmitInt8(int) const"},
-    {"_ZNK4llvm10AsmPrinter9EmitInt16Ei", "llvm::AsmPrinter::EmitInt16(int) const"},
-    {"_ZNK4llvm10AsmPrinter9EmitInt32Ei", "llvm::AsmPrinter::EmitInt32(int) const"},
-    {"_ZNK4llvm10AsmPrinter19EmitLabelDifferenceEPKNS_8MCSymbolES3_j", "llvm::AsmPrinter::EmitLabelDifference(llvm::MCSymbol const*, llvm::MCSymbol const*, unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter13GetTempSymbolENS_9StringRefEj", "llvm::AsmPrinter::GetTempSymbol(llvm::StringRef, unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter25EmitLabelOffsetDifferenceEPKNS_8MCSymbolEyS3_j", "llvm::AsmPrinter::EmitLabelOffsetDifference(llvm::MCSymbol const*, unsigned long long, llvm::MCSymbol const*, unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter19EmitLabelPlusOffsetEPKNS_8MCSymbolEyj", "llvm::AsmPrinter::EmitLabelPlusOffset(llvm::MCSymbol const*, unsigned long long, unsigned int) const"},
-    {"_Z22EmitGlobalConstantImplPKN4llvm8ConstantEjRNS_10AsmPrinterE", "EmitGlobalConstantImpl(llvm::Constant const*, unsigned int, llvm::AsmPrinter&)"},
-    {"_ZN4llvm10AsmPrinter28EmitMachineConstantPoolValueEPNS_24MachineConstantPoolValueE", "llvm::AsmPrinter::EmitMachineConstantPoolValue(llvm::MachineConstantPoolValue*)"},
-    {"_ZNK4llvm10AsmPrinter11printOffsetExRNS_11raw_ostreamE", "llvm::AsmPrinter::printOffset(long long, llvm::raw_ostream&) const"},
-    {"_ZNK4llvm10AsmPrinter13GetTempSymbolENS_9StringRefE", "llvm::AsmPrinter::GetTempSymbol(llvm::StringRef) const"},
-    {"_ZNK4llvm10AsmPrinter21GetBlockAddressSymbolEPKNS_12BlockAddressE", "llvm::AsmPrinter::GetBlockAddressSymbol(llvm::BlockAddress const*) const"},
-    {"_ZNK4llvm10AsmPrinter21GetBlockAddressSymbolEPKNS_10BasicBlockE", "llvm::AsmPrinter::GetBlockAddressSymbol(llvm::BasicBlock const*) const"},
-    {"_ZNK4llvm10AsmPrinter28GetSymbolWithGlobalValueBaseEPKNS_11GlobalValueENS_9StringRefEb", "llvm::AsmPrinter::GetSymbolWithGlobalValueBase(llvm::GlobalValue const*, llvm::StringRef, bool) const"},
-    {"_Z26EmitBasicBlockLoopCommentsRKN4llvm17MachineBasicBlockEPKNS_15MachineLoopInfoERKNS_10AsmPrinterE", "EmitBasicBlockLoopComments(llvm::MachineBasicBlock const&, llvm::MachineLoopInfo const*, llvm::AsmPrinter const&)"},
-    {"_ZNK4llvm10AsmPrinter33isBlockOnlyReachableByFallthroughEPKNS_17MachineBasicBlockE", "llvm::AsmPrinter::isBlockOnlyReachableByFallthrough(llvm::MachineBasicBlock const*) const"},
-    {"_Z22PrintParentLoopCommentRN4llvm11raw_ostreamEPKNS_11MachineLoopEj", "PrintParentLoopComment(llvm::raw_ostream&, llvm::MachineLoop const*, unsigned int)"},
-    {"_Z21PrintChildLoopCommentRN4llvm11raw_ostreamEPKNS_11MachineLoopEj", "PrintChildLoopComment(llvm::raw_ostream&, llvm::MachineLoop const*, unsigned int)"},
-    {"_Z13LowerConstantPKN4llvm8ConstantERNS_10AsmPrinterE", "LowerConstant(llvm::Constant const*, llvm::AsmPrinter&)"},
-    {"_Z12EmitDebugLocN4llvm8DebugLocEPKNS_15MachineFunctionERNS_11raw_ostreamE", "EmitDebugLoc(llvm::DebugLoc, llvm::MachineFunction const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm8DenseMapIPNS_10GCStrategyEPNS_17GCMetadataPrinterENS_12DenseMapInfoIS2_EENS5_IS4_EEE6insertERKSt4pairIS2_S4_E", "llvm::DenseMap<llvm::GCStrategy*, llvm::GCMetadataPrinter*, llvm::DenseMapInfo<llvm::GCStrategy*>, llvm::DenseMapInfo<llvm::GCMetadataPrinter*> >::insert(std::pair<llvm::GCStrategy*, llvm::GCMetadataPrinter*> const&)"},
-    {"_ZN4llvm10AsmPrinter20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::AsmPrinter::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm10AsmPrinter18EmitStartOfAsmFileERNS_6ModuleE", "llvm::AsmPrinter::EmitStartOfAsmFile(llvm::Module&)"},
-    {"_ZN4llvm10AsmPrinter16EmitEndOfAsmFileERNS_6ModuleE", "llvm::AsmPrinter::EmitEndOfAsmFile(llvm::Module&)"},
-    {"_ZN4llvm10AsmPrinter15EmitInstructionEPKNS_12MachineInstrE", "llvm::AsmPrinter::EmitInstruction(llvm::MachineInstr const*)"},
-    {"_ZN4llvm8DenseMapIPNS_10GCStrategyEPNS_17GCMetadataPrinterENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::GCStrategy*, llvm::GCMetadataPrinter*, llvm::DenseMapInfo<llvm::GCStrategy*>, llvm::DenseMapInfo<llvm::GCMetadataPrinter*> >::InsertIntoBucket(llvm::GCStrategy* const&, llvm::GCMetadataPrinter* const&, std::pair<llvm::GCStrategy*, llvm::GCMetadataPrinter*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10GCStrategyEPNS_17GCMetadataPrinterENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::GCStrategy*, llvm::GCMetadataPrinter*, llvm::DenseMapInfo<llvm::GCStrategy*>, llvm::DenseMapInfo<llvm::GCMetadataPrinter*> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIjEaSERKS1_", "llvm::SmallVectorImpl<unsigned int>::operator=(llvm::SmallVectorImpl<unsigned int> const&)"},
-    {"_ZN4llvm14format_object1IyED1Ev", "llvm::format_object1<unsigned long long>::~format_object1()"},
-    {"_ZNK4llvm14format_object1IyE7snprintEPcj", "llvm::format_object1<unsigned long long>::snprint(char*, unsigned int) const"},
-    {"_ZN4llvm14format_object1IyED0Ev", "llvm::format_object1<unsigned long long>::~format_object1()"},
-    {"_ZNK4llvm10AsmPrinter11EmitSLEB128EiPKc", "llvm::AsmPrinter::EmitSLEB128(int, char const*) const"},
-    {"_ZNK4llvm10AsmPrinter11EmitULEB128EjPKcj", "llvm::AsmPrinter::EmitULEB128(unsigned int, char const*, unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter11EmitCFAByteEj", "llvm::AsmPrinter::EmitCFAByte(unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter16EmitEncodingByteEjPKc", "llvm::AsmPrinter::EmitEncodingByte(unsigned int, char const*) const"},
-    {"_ZNK4llvm10AsmPrinter21GetSizeOfEncodedValueEj", "llvm::AsmPrinter::GetSizeOfEncodedValue(unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter13EmitReferenceEPKNS_8MCSymbolEj", "llvm::AsmPrinter::EmitReference(llvm::MCSymbol const*, unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter13EmitReferenceEPKNS_11GlobalValueEj", "llvm::AsmPrinter::EmitReference(llvm::GlobalValue const*, unsigned int) const"},
-    {"_ZNK4llvm10AsmPrinter17EmitSectionOffsetEPKNS_8MCSymbolES3_", "llvm::AsmPrinter::EmitSectionOffset(llvm::MCSymbol const*, llvm::MCSymbol const*) const"},
-    {"_ZNK4llvm10AsmPrinter14EmitFrameMovesERKSt6vectorINS_11MachineMoveESaIS2_EEPNS_8MCSymbolEb", "llvm::AsmPrinter::EmitFrameMoves(std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> > const&, llvm::MCSymbol*, bool) const"},
-    {"_ZNK4llvm10AsmPrinter17EmitCFIFrameMovesERKSt6vectorINS_11MachineMoveESaIS2_EE", "llvm::AsmPrinter::EmitCFIFrameMoves(std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> > const&) const"},
-    {"_ZNK4llvm10AsmPrinter13EmitInlineAsmENS_9StringRefEPKNS_6MDNodeE", "llvm::AsmPrinter::EmitInlineAsm(llvm::StringRef, llvm::MDNode const*) const"},
-    {"_Z17SrcMgrDiagHandlerRKN4llvm12SMDiagnosticEPv", "SrcMgrDiagHandler(llvm::SMDiagnostic const&, void*)"},
-    {"_ZNK4llvm10AsmPrinter13EmitInlineAsmEPKNS_12MachineInstrE", "llvm::AsmPrinter::EmitInlineAsm(llvm::MachineInstr const*) const"},
-    {"_ZNK4llvm10AsmPrinter12PrintSpecialEPKNS_12MachineInstrERNS_11raw_ostreamEPKc", "llvm::AsmPrinter::PrintSpecial(llvm::MachineInstr const*, llvm::raw_ostream&, char const*) const"},
-    {"_ZN4llvm10AsmPrinter15PrintAsmOperandEPKNS_12MachineInstrEjjPKcRNS_11raw_ostreamE", "llvm::AsmPrinter::PrintAsmOperand(llvm::MachineInstr const*, unsigned int, unsigned int, char const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm10AsmPrinter21PrintAsmMemoryOperandEPKNS_12MachineInstrEjjPKcRNS_11raw_ostreamE", "llvm::AsmPrinter::PrintAsmMemoryOperand(llvm::MachineInstr const*, unsigned int, unsigned int, char const*, llvm::raw_ostream&)"},
-    {"_ZNK4llvm13DIEAbbrevData7ProfileERNS_16FoldingSetNodeIDE", "llvm::DIEAbbrevData::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm9DIEAbbrev7ProfileERNS_16FoldingSetNodeIDE", "llvm::DIEAbbrev::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm9DIEAbbrev4EmitEPNS_10AsmPrinterE", "llvm::DIEAbbrev::Emit(llvm::AsmPrinter*) const"},
-    {"_ZN4llvm3DIED0Ev", "llvm::DIE::~DIE()"},
-    {"_ZN4llvm3DIED1Ev", "llvm::DIE::~DIE()"},
-    {"_ZN4llvm3DIED2Ev", "llvm::DIE::~DIE()"},
-    {"_ZN4llvm3DIE16addSiblingOffsetERNS_16BumpPtrAllocatorE", "llvm::DIE::addSiblingOffset(llvm::BumpPtrAllocator&)"},
-    {"_ZNK4llvm10DIEInteger9EmitValueEPNS_10AsmPrinterEj", "llvm::DIEInteger::EmitValue(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNK4llvm10DIEInteger6SizeOfEPNS_10AsmPrinterEj", "llvm::DIEInteger::SizeOf(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNK4llvm9DIEString9EmitValueEPNS_10AsmPrinterEj", "llvm::DIEString::EmitValue(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNK4llvm8DIELabel9EmitValueEPNS_10AsmPrinterEj", "llvm::DIELabel::EmitValue(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNK4llvm8DIELabel6SizeOfEPNS_10AsmPrinterEj", "llvm::DIELabel::SizeOf(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNK4llvm8DIEDelta9EmitValueEPNS_10AsmPrinterEj", "llvm::DIEDelta::EmitValue(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNK4llvm8DIEDelta6SizeOfEPNS_10AsmPrinterEj", "llvm::DIEDelta::SizeOf(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNK4llvm8DIEEntry9EmitValueEPNS_10AsmPrinterEj", "llvm::DIEEntry::EmitValue(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZN4llvm8DIEBlock11ComputeSizeEPNS_10AsmPrinterE", "llvm::DIEBlock::ComputeSize(llvm::AsmPrinter*)"},
-    {"_ZNK4llvm8DIEBlock9EmitValueEPNS_10AsmPrinterEj", "llvm::DIEBlock::EmitValue(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNK4llvm8DIEBlock6SizeOfEPNS_10AsmPrinterEj", "llvm::DIEBlock::SizeOf(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZN4llvm15SmallVectorImplIPNS_8DIEValueEE6insertEPS2_RKS2_", "llvm::SmallVectorImpl<llvm::DIEValue*>::insert(llvm::DIEValue**, llvm::DIEValue* const&)"},
-    {"_ZN4llvm10DIEIntegerD1Ev", "llvm::DIEInteger::~DIEInteger()"},
-    {"_ZN4llvm10DIEIntegerD0Ev", "llvm::DIEInteger::~DIEInteger()"},
-    {"_ZN4llvm9DIEStringD1Ev", "llvm::DIEString::~DIEString()"},
-    {"_ZN4llvm9DIEStringD0Ev", "llvm::DIEString::~DIEString()"},
-    {"_ZN4llvm8DIELabelD1Ev", "llvm::DIELabel::~DIELabel()"},
-    {"_ZN4llvm8DIELabelD0Ev", "llvm::DIELabel::~DIELabel()"},
-    {"_ZN4llvm8DIEDeltaD1Ev", "llvm::DIEDelta::~DIEDelta()"},
-    {"_ZN4llvm8DIEDeltaD0Ev", "llvm::DIEDelta::~DIEDelta()"},
-    {"_ZN4llvm8DIEEntryD1Ev", "llvm::DIEEntry::~DIEEntry()"},
-    {"_ZN4llvm8DIEEntryD0Ev", "llvm::DIEEntry::~DIEEntry()"},
-    {"_ZN4llvm15SmallVectorImplINS_13DIEAbbrevDataEE6insertEPS1_RKS1_", "llvm::SmallVectorImpl<llvm::DIEAbbrevData>::insert(llvm::DIEAbbrevData*, llvm::DIEAbbrevData const&)"},
-    {"_ZN4llvm17DwarfCFIExceptionC1EPNS_10AsmPrinterE", "llvm::DwarfCFIException::DwarfCFIException(llvm::AsmPrinter*)"},
-    {"_ZN4llvm17DwarfCFIExceptionC2EPNS_10AsmPrinterE", "llvm::DwarfCFIException::DwarfCFIException(llvm::AsmPrinter*)"},
-    {"_ZN4llvm17DwarfCFIExceptionD0Ev", "llvm::DwarfCFIException::~DwarfCFIException()"},
-    {"_ZN4llvm17DwarfCFIExceptionD1Ev", "llvm::DwarfCFIException::~DwarfCFIException()"},
-    {"_ZN4llvm17DwarfCFIExceptionD2Ev", "llvm::DwarfCFIException::~DwarfCFIException()"},
-    {"_ZN4llvm17DwarfCFIException9EndModuleEv", "llvm::DwarfCFIException::EndModule()"},
-    {"_ZN4llvm17DwarfCFIException13BeginFunctionEPKNS_15MachineFunctionE", "llvm::DwarfCFIException::BeginFunction(llvm::MachineFunction const*)"},
-    {"_ZN4llvm17DwarfCFIException11EndFunctionEv", "llvm::DwarfCFIException::EndFunction()"},
-    {"_ZN4llvm8DbgScopeD0Ev", "llvm::DbgScope::~DbgScope()"},
-    {"_ZN4llvm8DbgScopeD1Ev", "llvm::DbgScope::~DbgScope()"},
-    {"_ZN4llvm8DbgScopeD2Ev", "llvm::DbgScope::~DbgScope()"},
-    {"_ZN4llvm10DwarfDebugC1EPNS_10AsmPrinterEPNS_6ModuleE", "llvm::DwarfDebug::DwarfDebug(llvm::AsmPrinter*, llvm::Module*)"},
-    {"_ZN4llvm10DwarfDebugC2EPNS_10AsmPrinterEPNS_6ModuleE", "llvm::DwarfDebug::DwarfDebug(llvm::AsmPrinter*, llvm::Module*)"},
-    {"_ZN4llvm10DwarfDebug11beginModuleEPNS_6ModuleE", "llvm::DwarfDebug::beginModule(llvm::Module*)"},
-    {"_ZN4llvm10DwarfDebugD1Ev", "llvm::DwarfDebug::~DwarfDebug()"},
-    {"_ZN4llvm10DwarfDebugD2Ev", "llvm::DwarfDebug::~DwarfDebug()"},
-    {"_ZN4llvm10DwarfDebug18getStringPoolEntryENS_9StringRefE", "llvm::DwarfDebug::getStringPoolEntry(llvm::StringRef)"},
-    {"_ZN4llvm10DwarfDebug18assignAbbrevNumberERNS_9DIEAbbrevE", "llvm::DwarfDebug::assignAbbrevNumber(llvm::DIEAbbrev&)"},
-    {"_ZN4llvm10DwarfDebug14createDIEEntryEPNS_3DIEE", "llvm::DwarfDebug::createDIEEntry(llvm::DIE*)"},
-    {"_ZN4llvm10DwarfDebug7addUIntEPNS_3DIEEjjy", "llvm::DwarfDebug::addUInt(llvm::DIE*, unsigned int, unsigned int, unsigned long long)"},
-    {"_ZN4llvm10DwarfDebug7addSIntEPNS_3DIEEjjx", "llvm::DwarfDebug::addSInt(llvm::DIE*, unsigned int, unsigned int, long long)"},
-    {"_ZN4llvm10DwarfDebug9addStringEPNS_3DIEEjjNS_9StringRefE", "llvm::DwarfDebug::addString(llvm::DIE*, unsigned int, unsigned int, llvm::StringRef)"},
-    {"_ZN4llvm10DwarfDebug8addLabelEPNS_3DIEEjjPKNS_8MCSymbolE", "llvm::DwarfDebug::addLabel(llvm::DIE*, unsigned int, unsigned int, llvm::MCSymbol const*)"},
-    {"_ZN4llvm10DwarfDebug8addDeltaEPNS_3DIEEjjPKNS_8MCSymbolES5_", "llvm::DwarfDebug::addDelta(llvm::DIE*, unsigned int, unsigned int, llvm::MCSymbol const*, llvm::MCSymbol const*)"},
-    {"_ZN4llvm10DwarfDebug11addDIEEntryEPNS_3DIEEjjS2_", "llvm::DwarfDebug::addDIEEntry(llvm::DIE*, unsigned int, unsigned int, llvm::DIE*)"},
-    {"_ZN4llvm10DwarfDebug8addBlockEPNS_3DIEEjjPNS_8DIEBlockE", "llvm::DwarfDebug::addBlock(llvm::DIE*, unsigned int, unsigned int, llvm::DIEBlock*)"},
-    {"_ZN4llvm10DwarfDebug13addSourceLineEPNS_3DIEENS_10DIVariableE", "llvm::DwarfDebug::addSourceLine(llvm::DIE*, llvm::DIVariable)"},
-    {"_ZN4llvm10DwarfDebug19GetOrCreateSourceIDENS_9StringRefE", "llvm::DwarfDebug::GetOrCreateSourceID(llvm::StringRef)"},
-    {"_ZN4llvm10DwarfDebug13addSourceLineEPNS_3DIEENS_16DIGlobalVariableE", "llvm::DwarfDebug::addSourceLine(llvm::DIE*, llvm::DIGlobalVariable)"},
-    {"_ZN4llvm10DwarfDebug13addSourceLineEPNS_3DIEENS_12DISubprogramE", "llvm::DwarfDebug::addSourceLine(llvm::DIE*, llvm::DISubprogram)"},
-    {"_ZN4llvm10DwarfDebug13addSourceLineEPNS_3DIEENS_6DITypeE", "llvm::DwarfDebug::addSourceLine(llvm::DIE*, llvm::DIType)"},
-    {"_ZN4llvm10DwarfDebug13addSourceLineEPNS_3DIEENS_11DINameSpaceE", "llvm::DwarfDebug::addSourceLine(llvm::DIE*, llvm::DINameSpace)"},
-    {"_ZN4llvm10DwarfDebug18addVariableAddressERPNS_11DbgVariableEPNS_3DIEEx", "llvm::DwarfDebug::addVariableAddress(llvm::DbgVariable*&, llvm::DIE*, long long)"},
-    {"_ZN4llvm10DwarfDebug17addComplexAddressERPNS_11DbgVariableEPNS_3DIEEjRKNS_15MachineLocationE", "llvm::DwarfDebug::addComplexAddress(llvm::DbgVariable*&, llvm::DIE*, unsigned int, llvm::MachineLocation const&)"},
-    {"_ZN4llvm10DwarfDebug20addBlockByrefAddressERPNS_11DbgVariableEPNS_3DIEEjRKNS_15MachineLocationE", "llvm::DwarfDebug::addBlockByrefAddress(llvm::DbgVariable*&, llvm::DIE*, unsigned int, llvm::MachineLocation const&)"},
-    {"_ZN4llvm10DwarfDebug10addAddressEPNS_3DIEEjRKNS_15MachineLocationE", "llvm::DwarfDebug::addAddress(llvm::DIE*, unsigned int, llvm::MachineLocation const&)"},
-    {"_ZN4llvm10DwarfDebug18addRegisterAddressEPNS_3DIEERKNS_14MachineOperandE", "llvm::DwarfDebug::addRegisterAddress(llvm::DIE*, llvm::MachineOperand const&)"},
-    {"_ZN4llvm10DwarfDebug16addConstantValueEPNS_3DIEERKNS_14MachineOperandE", "llvm::DwarfDebug::addConstantValue(llvm::DIE*, llvm::MachineOperand const&)"},
-    {"_ZN4llvm10DwarfDebug18addConstantFPValueEPNS_3DIEERKNS_14MachineOperandE", "llvm::DwarfDebug::addConstantFPValue(llvm::DIE*, llvm::MachineOperand const&)"},
-    {"_ZN4llvm10DwarfDebug16addConstantValueEPNS_3DIEEPNS_11ConstantIntEb", "llvm::DwarfDebug::addConstantValue(llvm::DIE*, llvm::ConstantInt*, bool)"},
-    {"_ZN4llvm10DwarfDebug17addToContextOwnerEPNS_3DIEENS_12DIDescriptorE", "llvm::DwarfDebug::addToContextOwner(llvm::DIE*, llvm::DIDescriptor)"},
-    {"_ZN4llvm10DwarfDebug18getOrCreateTypeDIEENS_6DITypeE", "llvm::DwarfDebug::getOrCreateTypeDIE(llvm::DIType)"},
-    {"_ZN4llvm10DwarfDebug20getOrCreateNameSpaceENS_11DINameSpaceE", "llvm::DwarfDebug::getOrCreateNameSpace(llvm::DINameSpace)"},
-    {"_ZN4llvm10DwarfDebug19createSubprogramDIEENS_12DISubprogramE", "llvm::DwarfDebug::createSubprogramDIE(llvm::DISubprogram)"},
-    {"_ZNK4llvm10DwarfDebug14getCompileUnitEPKNS_6MDNodeE", "llvm::DwarfDebug::getCompileUnit(llvm::MDNode const*) const"},
-    {"_ZN4llvm10DwarfDebug16constructTypeDIEERNS_3DIEENS_11DIBasicTypeE", "llvm::DwarfDebug::constructTypeDIE(llvm::DIE&, llvm::DIBasicType)"},
-    {"_ZN4llvm10DwarfDebug16constructTypeDIEERNS_3DIEENS_15DICompositeTypeE", "llvm::DwarfDebug::constructTypeDIE(llvm::DIE&, llvm::DICompositeType)"},
-    {"_ZN4llvm10DwarfDebug16constructTypeDIEERNS_3DIEENS_13DIDerivedTypeE", "llvm::DwarfDebug::constructTypeDIE(llvm::DIE&, llvm::DIDerivedType)"},
-    {"_ZN4llvm10DwarfDebug7addTypeEPNS_3DIEENS_6DITypeE", "llvm::DwarfDebug::addType(llvm::DIE*, llvm::DIType)"},
-    {"_ZN4llvm10DwarfDebug21constructArrayTypeDIEERNS_3DIEEPNS_15DICompositeTypeE", "llvm::DwarfDebug::constructArrayTypeDIE(llvm::DIE&, llvm::DICompositeType*)"},
-    {"_ZN4llvm10DwarfDebug20constructEnumTypeDIEENS_12DIEnumeratorE", "llvm::DwarfDebug::constructEnumTypeDIE(llvm::DIEnumerator)"},
-    {"_ZN4llvm10DwarfDebug15createMemberDIEENS_13DIDerivedTypeE", "llvm::DwarfDebug::createMemberDIE(llvm::DIDerivedType)"},
-    {"_ZN4llvm10DwarfDebug35getOrCreateTemplateTypeParameterDIEENS_23DITemplateTypeParameterE", "llvm::DwarfDebug::getOrCreateTemplateTypeParameterDIE(llvm::DITemplateTypeParameter)"},
-    {"_ZN4llvm10DwarfDebug36getOrCreateTemplateValueParameterDIEENS_24DITemplateValueParameterE", "llvm::DwarfDebug::getOrCreateTemplateValueParameterDIE(llvm::DITemplateValueParameter)"},
-    {"_ZN4llvm10DwarfDebug20constructSubrangeDIEERNS_3DIEENS_10DISubrangeEPS1_", "llvm::DwarfDebug::constructSubrangeDIE(llvm::DIE&, llvm::DISubrange, llvm::DIE*)"},
-    {"_ZN4llvm10DwarfDebug24getOrCreateAbstractScopeEPKNS_6MDNodeE", "llvm::DwarfDebug::getOrCreateAbstractScope(llvm::MDNode const*)"},
-    {"_ZN4llvm10DwarfDebug24updateSubprogramScopeDIEEPKNS_6MDNodeE", "llvm::DwarfDebug::updateSubprogramScopeDIE(llvm::MDNode const*)"},
-    {"_Z19isSubprogramContextPKN4llvm6MDNodeE", "isSubprogramContext(llvm::MDNode const*)"},
-    {"_ZN4llvm10DwarfDebug24constructLexicalScopeDIEEPNS_8DbgScopeE", "llvm::DwarfDebug::constructLexicalScopeDIE(llvm::DbgScope*)"},
-    {"_ZN4llvm10DwarfDebug18getLabelBeforeInsnEPKNS_12MachineInstrE", "llvm::DwarfDebug::getLabelBeforeInsn(llvm::MachineInstr const*)"},
-    {"_ZN4llvm10DwarfDebug17getLabelAfterInsnEPKNS_12MachineInstrE", "llvm::DwarfDebug::getLabelAfterInsn(llvm::MachineInstr const*)"},
-    {"_ZN4llvm10DwarfDebug24constructInlinedScopeDIEEPNS_8DbgScopeE", "llvm::DwarfDebug::constructInlinedScopeDIE(llvm::DbgScope*)"},
-    {"_ZN4llvm10DwarfDebug20constructVariableDIEEPNS_11DbgVariableEPNS_8DbgScopeE", "llvm::DwarfDebug::constructVariableDIE(llvm::DbgVariable*, llvm::DbgScope*)"},
-    {"_ZN4llvm10DwarfDebug22findVariableFrameIndexEPKNS_11DbgVariableEPi", "llvm::DwarfDebug::findVariableFrameIndex(llvm::DbgVariable const*, int*)"},
-    {"_ZN4llvm10DwarfDebug11addPubTypesENS_12DISubprogramE", "llvm::DwarfDebug::addPubTypes(llvm::DISubprogram)"},
-    {"_ZN4llvm10DwarfDebug17constructScopeDIEEPNS_8DbgScopeE", "llvm::DwarfDebug::constructScopeDIE(llvm::DbgScope*)"},
-    {"_ZN4llvm10DwarfDebug20constructCompileUnitEPKNS_6MDNodeE", "llvm::DwarfDebug::constructCompileUnit(llvm::MDNode const*)"},
-    {"_ZN4llvm10DwarfDebug26constructGlobalVariableDIEEPKNS_6MDNodeE", "llvm::DwarfDebug::constructGlobalVariableDIE(llvm::MDNode const*)"},
-    {"_Z16isUnsignedDITypeN4llvm6DITypeE", "isUnsignedDIType(llvm::DIType)"},
-    {"_ZN4llvm10DwarfDebug22constructSubprogramDIEEPKNS_6MDNodeE", "llvm::DwarfDebug::constructSubprogramDIE(llvm::MDNode const*)"},
-    {"_ZN4llvm10DwarfDebug17EmitSectionLabelsEv", "llvm::DwarfDebug::EmitSectionLabels()"},
-    {"_ZN4llvm10DwarfDebug9endModuleEv", "llvm::DwarfDebug::endModule()"},
-    {"_ZN4llvm10DwarfDebug20emitCommonDebugFrameEv", "llvm::DwarfDebug::emitCommonDebugFrame()"},
-    {"_ZN4llvm10DwarfDebug22emitFunctionDebugFrameERKNS0_22FunctionDebugFrameInfoE", "llvm::DwarfDebug::emitFunctionDebugFrame(llvm::DwarfDebug::FunctionDebugFrameInfo const&)"},
-    {"_ZN4llvm10DwarfDebug21computeSizeAndOffsetsEv", "llvm::DwarfDebug::computeSizeAndOffsets()"},
-    {"_ZN4llvm10DwarfDebug13emitDebugInfoEv", "llvm::DwarfDebug::emitDebugInfo()"},
-    {"_ZNK4llvm10DwarfDebug17emitAbbreviationsEv", "llvm::DwarfDebug::emitAbbreviations() const"},
-    {"_ZN4llvm10DwarfDebug17emitDebugPubNamesEv", "llvm::DwarfDebug::emitDebugPubNames()"},
-    {"_ZN4llvm10DwarfDebug17emitDebugPubTypesEv", "llvm::DwarfDebug::emitDebugPubTypes()"},
-    {"_ZN4llvm10DwarfDebug12emitDebugLocEv", "llvm::DwarfDebug::emitDebugLoc()"},
-    {"_ZN4llvm10DwarfDebug16EmitDebugARangesEv", "llvm::DwarfDebug::EmitDebugARanges()"},
-    {"_ZN4llvm10DwarfDebug15emitDebugRangesEv", "llvm::DwarfDebug::emitDebugRanges()"},
-    {"_ZN4llvm10DwarfDebug16emitDebugMacInfoEv", "llvm::DwarfDebug::emitDebugMacInfo()"},
-    {"_ZN4llvm10DwarfDebug19emitDebugInlineInfoEv", "llvm::DwarfDebug::emitDebugInlineInfo()"},
-    {"_ZN4llvm10DwarfDebug12emitDebugStrEv", "llvm::DwarfDebug::emitDebugStr()"},
-    {"_ZN4llvm10DwarfDebug20findAbstractVariableERNS_10DIVariableENS_8DebugLocE", "llvm::DwarfDebug::findAbstractVariable(llvm::DIVariable&, llvm::DebugLoc)"},
-    {"_ZN4llvm10DwarfDebug31collectVariableInfoFromMMITableEPKNS_15MachineFunctionERNS_11SmallPtrSetIPKNS_6MDNodeELj16EEE", "llvm::DwarfDebug::collectVariableInfoFromMMITable(llvm::MachineFunction const*, llvm::SmallPtrSet<llvm::MDNode const*, 16u>&)"},
-    {"_ZN4llvm10DwarfDebug24recordVariableFrameIndexEPKNS_11DbgVariableEi", "llvm::DwarfDebug::recordVariableFrameIndex(llvm::DbgVariable const*, int)"},
-    {"_ZN4llvm10DwarfDebug19collectVariableInfoEPKNS_15MachineFunctionERNS_11SmallPtrSetIPKNS_6MDNodeELj16EEE", "llvm::DwarfDebug::collectVariableInfo(llvm::MachineFunction const*, llvm::SmallPtrSet<llvm::MDNode const*, 16u>&)"},
-    {"_ZN4llvm10DwarfDebug12findDbgScopeEPKNS_12MachineInstrE", "llvm::DwarfDebug::findDbgScope(llvm::MachineInstr const*)"},
-    {"_ZN4llvm10DwarfDebug16beginInstructionEPKNS_12MachineInstrE", "llvm::DwarfDebug::beginInstruction(llvm::MachineInstr const*)"},
-    {"_ZN4llvm10DwarfDebug16recordSourceLineEjjPKNS_6MDNodeE", "llvm::DwarfDebug::recordSourceLine(unsigned int, unsigned int, llvm::MDNode const*)"},
-    {"_ZN4llvm10DwarfDebug14endInstructionEPKNS_12MachineInstrE", "llvm::DwarfDebug::endInstruction(llvm::MachineInstr const*)"},
-    {"_ZN4llvm10DwarfDebug19getOrCreateDbgScopeEPKNS_6MDNodeES3_", "llvm::DwarfDebug::getOrCreateDbgScope(llvm::MDNode const*, llvm::MDNode const*)"},
-    {"_ZN4llvm10DwarfDebug23extractScopeInformationEv", "llvm::DwarfDebug::extractScopeInformation()"},
-    {"_ZN4llvm10DwarfDebug20identifyScopeMarkersEv", "llvm::DwarfDebug::identifyScopeMarkers()"},
-    {"_ZN4llvm10DwarfDebug13beginFunctionEPKNS_15MachineFunctionE", "llvm::DwarfDebug::beginFunction(llvm::MachineFunction const*)"},
-    {"_ZN4llvm10DwarfDebug11endFunctionEPKNS_15MachineFunctionE", "llvm::DwarfDebug::endFunction(llvm::MachineFunction const*)"},
-    {"_ZN4llvm10DwarfDebug20computeSizeAndOffsetEPNS_3DIEEjb", "llvm::DwarfDebug::computeSizeAndOffset(llvm::DIE*, unsigned int, bool)"},
-    {"_ZN4llvm10DwarfDebug7emitDIEEPNS_3DIEE", "llvm::DwarfDebug::emitDIE(llvm::DIE*)"},
-    {"_ZN4llvm10DwarfDebug19emitEndOfLineMatrixEj", "llvm::DwarfDebug::emitEndOfLineMatrix(unsigned int)"},
-    {"_ZN4llvm25array_pod_sort_comparatorISt4pairIjPNS_14StringMapEntryIS1_IPNS_8MCSymbolEjEEEEEEiPKvSA_", "int llvm::array_pod_sort_comparator<std::pair<unsigned int, llvm::StringMapEntry<std::pair<llvm::MCSymbol*, unsigned int> >*> >(void const*, void const*)"},
-    {"_ZN4llvm10FoldingSetINS_9DIEAbbrevEED1Ev", "llvm::FoldingSet<llvm::DIEAbbrev>::~FoldingSet()"},
-    {"_ZNK4llvm11DbgVariable7getTypeEv", "llvm::DbgVariable::getType() const"},
-    {"_ZN4llvm8DenseMapIPNS_3DIEEPKNS_6MDNodeENS_12DenseMapInfoIS2_EENS6_IS5_EEE6insertERKSt4pairIS2_S5_E", "llvm::DenseMap<llvm::DIE*, llvm::MDNode const*, llvm::DenseMapInfo<llvm::DIE*>, llvm::DenseMapInfo<llvm::MDNode const*> >::insert(std::pair<llvm::DIE*, llvm::MDNode const*> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_3DIEENS_12DenseMapInfoIS3_EENS6_IS5_EEE6insertERKSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::DIE*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DIE*> >::insert(std::pair<llvm::MDNode const*, llvm::DIE*> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_11CompileUnitENS_12DenseMapInfoIS3_EENS6_IS5_EEE6insertERKSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::CompileUnit*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::CompileUnit*> >::insert(std::pair<llvm::MDNode const*, llvm::CompileUnit*> const&)"},
-    {"_ZN4llvm12UniqueVectorIPKNS_9MCSectionEE6insertERKS3_", "llvm::UniqueVector<llvm::MCSection const*>::insert(llvm::MCSection const* const&)"},
-    {"_ZN4llvm22DeleteContainerSecondsINS_8DenseMapIPKNS_6MDNodeEPNS_8DbgScopeENS_12DenseMapInfoIS4_EENS7_IS6_EEEEEEvRT_", "void llvm::DeleteContainerSeconds<llvm::DenseMap<llvm::MDNode const*, llvm::DbgScope*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgScope*> > >(llvm::DenseMap<llvm::MDNode const*, llvm::DbgScope*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgScope*> >&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_8DbgScopeENS_12DenseMapInfoIS3_EENS6_IS5_EEE6insertERKSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::DbgScope*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgScope*> >::insert(std::pair<llvm::MDNode const*, llvm::DbgScope*> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableEiNS_12DenseMapInfoIS3_EENS4_IiEEE16InsertIntoBucketERKS3_RKiPSt4pairIS3_iE", "llvm::DenseMap<llvm::DbgVariable const*, int, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<int> >::InsertIntoBucket(llvm::DbgVariable const* const&, int const&, std::pair<llvm::DbgVariable const*, int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableEiNS_12DenseMapInfoIS3_EENS4_IiEEE4growEj", "llvm::DenseMap<llvm::DbgVariable const*, int, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrEPNS_8MCSymbolENS_12DenseMapInfoIS3_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineInstr const*, llvm::MCSymbol*, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::MCSymbol*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_11DbgVariableENS_12DenseMapInfoIS3_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MDNode const*, llvm::DbgVariable*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgVariable*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_8DbgScopeENS_12DenseMapInfoIS3_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MDNode const*, llvm::DbgScope*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgScope*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableEPKNS_12MachineInstrENS_12DenseMapInfoIS3_EENS7_IS6_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::DbgVariable const*, llvm::MachineInstr const*, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<llvm::MachineInstr const*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableES3_NS_12DenseMapInfoIS3_EES5_E16shrink_and_clearEv", "llvm::DenseMap<llvm::DbgVariable const*, llvm::DbgVariable const*, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<llvm::DbgVariable const*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableEiNS_12DenseMapInfoIS3_EENS4_IiEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::DbgVariable const*, int, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<int> >::shrink_and_clear()"},
-    {"_ZNSt6vectorIN4llvm10DwarfDebug22FunctionDebugFrameInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::DwarfDebug::FunctionDebugFrameInfo, std::allocator<llvm::DwarfDebug::FunctionDebugFrameInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::DwarfDebug::FunctionDebugFrameInfo*, std::vector<llvm::DwarfDebug::FunctionDebugFrameInfo, std::allocator<llvm::DwarfDebug::FunctionDebugFrameInfo> > >, llvm::DwarfDebug::FunctionDebugFrameInfo const&)"},
-    {"_ZNSt6vectorIN4llvm11MachineMoveESaIS1_EEaSERKS3_", "std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> >::operator=(std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> > const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrEPNS_8DbgScopeENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MachineInstr const*, llvm::DbgScope*, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::DbgScope*> >::InsertIntoBucket(llvm::MachineInstr const* const&, llvm::DbgScope* const&, std::pair<llvm::MachineInstr const*, llvm::DbgScope*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrEPNS_8DbgScopeENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MachineInstr const*, llvm::DbgScope*, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::DbgScope*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_8DbgScopeENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::DbgScope*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgScope*> >::InsertIntoBucket(llvm::MDNode const* const&, llvm::DbgScope* const&, std::pair<llvm::MDNode const*, llvm::DbgScope*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_8DbgScopeENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MDNode const*, llvm::DbgScope*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgScope*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrEPNS_8MCSymbolENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MachineInstr const*, llvm::MCSymbol*, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::MCSymbol*> >::InsertIntoBucket(llvm::MachineInstr const* const&, llvm::MCSymbol* const&, std::pair<llvm::MachineInstr const*, llvm::MCSymbol*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrEPNS_8MCSymbolENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MachineInstr const*, llvm::MCSymbol*, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::MCSymbol*> >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_16DotDebugLocEntryELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::DotDebugLocEntry, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableEPKNS_12MachineInstrENS_12DenseMapInfoIS3_EENS7_IS6_EEE16InsertIntoBucketERKS3_RKS6_PSt4pairIS3_S6_E", "llvm::DenseMap<llvm::DbgVariable const*, llvm::MachineInstr const*, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<llvm::MachineInstr const*> >::InsertIntoBucket(llvm::DbgVariable const* const&, llvm::MachineInstr const* const&, std::pair<llvm::DbgVariable const*, llvm::MachineInstr const*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableEPKNS_12MachineInstrENS_12DenseMapInfoIS3_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::DbgVariable const*, llvm::MachineInstr const*, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<llvm::MachineInstr const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableES3_NS_12DenseMapInfoIS3_EES5_E16InsertIntoBucketERKS3_S8_PSt4pairIS3_S3_E", "llvm::DenseMap<llvm::DbgVariable const*, llvm::DbgVariable const*, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<llvm::DbgVariable const*> >::InsertIntoBucket(llvm::DbgVariable const* const&, llvm::DbgVariable const* const&, std::pair<llvm::DbgVariable const*, llvm::DbgVariable const*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_11DbgVariableES3_NS_12DenseMapInfoIS3_EES5_E4growEj", "llvm::DenseMap<llvm::DbgVariable const*, llvm::DbgVariable const*, llvm::DenseMapInfo<llvm::DbgVariable const*>, llvm::DenseMapInfo<llvm::DbgVariable const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_11DbgVariableENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::DbgVariable*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgVariable*> >::InsertIntoBucket(llvm::MDNode const* const&, llvm::DbgVariable* const&, std::pair<llvm::MDNode const*, llvm::DbgVariable*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_11DbgVariableENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MDNode const*, llvm::DbgVariable*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DbgVariable*> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm9MCSectionESt4pairIKS3_jESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::MCSection const*, std::pair<llvm::MCSection const* const, unsigned int>, std::_Select1st<std::pair<llvm::MCSection const* const, unsigned int> >, std::less<llvm::MCSection const*>, std::allocator<std::pair<llvm::MCSection const* const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::MCSection const* const, unsigned int> >, std::pair<llvm::MCSection const* const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm9MCSectionESt4pairIKS3_jESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::MCSection const*, std::pair<llvm::MCSection const* const, unsigned int>, std::_Select1st<std::pair<llvm::MCSection const* const, unsigned int> >, std::less<llvm::MCSection const*>, std::allocator<std::pair<llvm::MCSection const* const, unsigned int> > >::_M_insert_unique(std::pair<llvm::MCSection const* const, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_11CompileUnitENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::CompileUnit*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::CompileUnit*> >::InsertIntoBucket(llvm::MDNode const* const&, llvm::CompileUnit* const&, std::pair<llvm::MDNode const*, llvm::CompileUnit*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_11CompileUnitENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MDNode const*, llvm::CompileUnit*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::CompileUnit*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeENS_11SmallVectorISt4pairIPKNS_8MCSymbolEPNS_3DIEEELj4EEENS_12DenseMapInfoIS3_EENSD_ISC_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::MDNode const*, llvm::SmallVector<std::pair<llvm::MCSymbol const*, llvm::DIE*>, 4u>, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<llvm::MCSymbol const*, llvm::DIE*>, 4u> > >::FindAndConstruct(llvm::MDNode const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeENS_11SmallVectorISt4pairIPKNS_8MCSymbolEPNS_3DIEEELj4EEENS_12DenseMapInfoIS3_EENSD_ISC_EEE16InsertIntoBucketERKS3_RKSC_PS5_IS3_SC_E", "llvm::DenseMap<llvm::MDNode const*, llvm::SmallVector<std::pair<llvm::MCSymbol const*, llvm::DIE*>, 4u>, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<llvm::MCSymbol const*, llvm::DIE*>, 4u> > >::InsertIntoBucket(llvm::MDNode const* const&, llvm::SmallVector<std::pair<llvm::MCSymbol const*, llvm::DIE*>, 4u> const&, std::pair<llvm::MDNode const*, llvm::SmallVector<std::pair<llvm::MCSymbol const*, llvm::DIE*>, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeENS_11SmallVectorISt4pairIPKNS_8MCSymbolEPNS_3DIEEELj4EEENS_12DenseMapInfoIS3_EENSD_ISC_EEE4growEj", "llvm::DenseMap<llvm::MDNode const*, llvm::SmallVector<std::pair<llvm::MCSymbol const*, llvm::DIE*>, 4u>, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<llvm::MCSymbol const*, llvm::DIE*>, 4u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIPKNS_8MCSymbolEPNS_3DIEEEEaSERKS8_", "llvm::SmallVectorImpl<std::pair<llvm::MCSymbol const*, llvm::DIE*> >::operator=(llvm::SmallVectorImpl<std::pair<llvm::MCSymbol const*, llvm::DIE*> > const&)"},
-    {"_ZN4llvm8DenseMapIPNS_3DIEEPKNS_6MDNodeENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::DIE*, llvm::MDNode const*, llvm::DenseMapInfo<llvm::DIE*>, llvm::DenseMapInfo<llvm::MDNode const*> >::InsertIntoBucket(llvm::DIE* const&, llvm::MDNode const* const&, std::pair<llvm::DIE*, llvm::MDNode const*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_3DIEEPKNS_6MDNodeENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::DIE*, llvm::MDNode const*, llvm::DenseMapInfo<llvm::DIE*>, llvm::DenseMapInfo<llvm::MDNode const*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN4llvm8DIEBlockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::DIEBlock*, std::allocator<llvm::DIEBlock*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::DIEBlock**, std::vector<llvm::DIEBlock*, std::allocator<llvm::DIEBlock*> > >, llvm::DIEBlock* const&)"},
-    {"_ZNSt6vectorIPN4llvm9DIEAbbrevESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::DIEAbbrev*, std::allocator<llvm::DIEAbbrev*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::DIEAbbrev**, std::vector<llvm::DIEAbbrev*, std::allocator<llvm::DIEAbbrev*> > >, llvm::DIEAbbrev* const&)"},
-    {"_ZN4llvm9StringMapISt4pairIPNS_8MCSymbolEjENS_15MallocAllocatorEE16GetOrCreateValueIS4_EERNS_14StringMapEntryIS4_EENS_9StringRefET_", "llvm::StringMapEntry<std::pair<llvm::MCSymbol*, unsigned int> >& llvm::StringMap<std::pair<llvm::MCSymbol*, unsigned int>, llvm::MallocAllocator>::GetOrCreateValue<std::pair<llvm::MCSymbol*, unsigned int> >(llvm::StringRef, std::pair<llvm::MCSymbol*, unsigned int>)"},
-    {"_ZN4llvm10FoldingSetINS_9DIEAbbrevEED0Ev", "llvm::FoldingSet<llvm::DIEAbbrev>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_9DIEAbbrevEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::DIEAbbrev>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_9DIEAbbrevEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS6_", "llvm::FoldingSet<llvm::DIEAbbrev>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_9DIEAbbrevEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::DIEAbbrev>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_3DIEENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::DIE*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DIE*> >::InsertIntoBucket(llvm::MDNode const* const&, llvm::DIE* const&, std::pair<llvm::MDNode const*, llvm::DIE*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_3DIEENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MDNode const*, llvm::DIE*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DIE*> >::grow(unsigned int)"},
-    {"_ZN4llvm11CompileUnitD2Ev", "llvm::CompileUnit::~CompileUnit()"},
-    {"_ZN4llvm9StringMapIPNS_3DIEENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::DIE*>& llvm::StringMap<llvm::DIE*, llvm::MallocAllocator>::GetOrCreateValue<llvm::DIE*>(llvm::StringRef, llvm::DIE*)"},
-    {"_ZN4llvm11CompileUnitC2EjPNS_3DIEE", "llvm::CompileUnit::CompileUnit(unsigned int, llvm::DIE*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_8DIEEntryENS_12DenseMapInfoIS3_EENS6_IS5_EEE6insertERKSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::DIEEntry*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DIEEntry*> >::insert(std::pair<llvm::MDNode const*, llvm::DIEEntry*> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_8DIEEntryENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MDNode const*, llvm::DIEEntry*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DIEEntry*> >::InsertIntoBucket(llvm::MDNode const* const&, llvm::DIEEntry* const&, std::pair<llvm::MDNode const*, llvm::DIEEntry*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEPNS_8DIEEntryENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MDNode const*, llvm::DIEEntry*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<llvm::DIEEntry*> >::grow(unsigned int)"},
-    {"_ZN4llvm9DIEAbbrevD1Ev", "llvm::DIEAbbrev::~DIEAbbrev()"},
-    {"_ZN4llvm9DIEAbbrevD0Ev", "llvm::DIEAbbrev::~DIEAbbrev()"},
-    {"_ZNSt6vectorIPN4llvm3DIEESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::DIE*, std::allocator<llvm::DIE*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::DIE**, std::vector<llvm::DIE*, std::allocator<llvm::DIE*> > >, llvm::DIE* const&)"},
-    {"_ZN4llvm8DIEBlockD1Ev", "llvm::DIEBlock::~DIEBlock()"},
-    {"_ZN4llvm8DIEBlockD0Ev", "llvm::DIEBlock::~DIEBlock()"},
-    {"_ZThn16_N4llvm8DIEBlockD1Ev", "non-virtual thunk to llvm::DIEBlock::~DIEBlock()"},
-    {"_ZThn16_N4llvm8DIEBlockD0Ev", "non-virtual thunk to llvm::DIEBlock::~DIEBlock()"},
-    {"_ZN4llvm8DIEValueD1Ev", "llvm::DIEValue::~DIEValue()"},
-    {"_ZN4llvm8DIEValueD0Ev", "llvm::DIEValue::~DIEValue()"},
-    {"_ZNK4llvm9DIEString6SizeOfEPNS_10AsmPrinterEj", "llvm::DIEString::SizeOf(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_13DIEAbbrevDataELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::DIEAbbrevData, false>::grow(unsigned long)"},
-    {"_ZNK4llvm8DIEEntry6SizeOfEPNS_10AsmPrinterEj", "llvm::DIEEntry::SizeOf(llvm::AsmPrinter*, unsigned int) const"},
-    {"_ZNSt8_Rb_treeIPKN4llvm9MCSectionESt4pairIKS3_jESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::MCSection const*, std::pair<llvm::MCSection const* const, unsigned int>, std::_Select1st<std::pair<llvm::MCSection const* const, unsigned int> >, std::less<llvm::MCSection const*>, std::allocator<std::pair<llvm::MCSection const* const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MCSection const* const, unsigned int> >*)"},
-    {"_ZN4llvm14DwarfExceptionC1EPNS_10AsmPrinterE", "llvm::DwarfException::DwarfException(llvm::AsmPrinter*)"},
-    {"_ZN4llvm14DwarfExceptionC2EPNS_10AsmPrinterE", "llvm::DwarfException::DwarfException(llvm::AsmPrinter*)"},
-    {"_ZN4llvm14DwarfExceptionD0Ev", "llvm::DwarfException::~DwarfException()"},
-    {"_ZN4llvm14DwarfExceptionD1Ev", "llvm::DwarfException::~DwarfException()"},
-    {"_ZN4llvm14DwarfExceptionD2Ev", "llvm::DwarfException::~DwarfException()"},
-    {"_ZN4llvm14DwarfException13SharedTypeIdsEPKNS_14LandingPadInfoES3_", "llvm::DwarfException::SharedTypeIds(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*)"},
-    {"_ZN4llvm14DwarfException5PadLTEPKNS_14LandingPadInfoES3_", "llvm::DwarfException::PadLT(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*)"},
-    {"_ZN4llvm14DwarfException19ComputeActionsTableERKNS_15SmallVectorImplIPKNS_14LandingPadInfoEEERNS1_INS0_11ActionEntryEEERNS1_IjEE", "llvm::DwarfException::ComputeActionsTable(llvm::SmallVectorImpl<llvm::LandingPadInfo const*> const&, llvm::SmallVectorImpl<llvm::DwarfException::ActionEntry>&, llvm::SmallVectorImpl<unsigned int>&)"},
-    {"_ZN4llvm14DwarfException22CallToNoUnwindFunctionEPKNS_12MachineInstrE", "llvm::DwarfException::CallToNoUnwindFunction(llvm::MachineInstr const*)"},
-    {"_ZN4llvm14DwarfException20ComputeCallSiteTableERNS_15SmallVectorImplINS0_13CallSiteEntryEEERKNS_8DenseMapIPNS_8MCSymbolENS0_8PadRangeENS_12DenseMapInfoIS7_EENS9_IS8_EEEERKNS1_IPKNS_14LandingPadInfoEEERKNS1_IjEE", "llvm::DwarfException::ComputeCallSiteTable(llvm::SmallVectorImpl<llvm::DwarfException::CallSiteEntry>&, llvm::DenseMap<llvm::MCSymbol*, llvm::DwarfException::PadRange, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::DwarfException::PadRange> > const&, llvm::SmallVectorImpl<llvm::LandingPadInfo const*> const&, llvm::SmallVectorImpl<unsigned int> const&)"},
-    {"_ZN4llvm14DwarfException18EmitExceptionTableEv", "llvm::DwarfException::EmitExceptionTable()"},
-    {"_ZN4llvm14DwarfException9EndModuleEv", "llvm::DwarfException::EndModule()"},
-    {"_ZN4llvm14DwarfException13BeginFunctionEPKNS_15MachineFunctionE", "llvm::DwarfException::BeginFunction(llvm::MachineFunction const*)"},
-    {"_ZN4llvm14DwarfException11EndFunctionEv", "llvm::DwarfException::EndFunction()"},
-    {"_ZN4llvm15SmallVectorImplINS_14DwarfException13CallSiteEntryEE6resizeEj", "llvm::SmallVectorImpl<llvm::DwarfException::CallSiteEntry>::resize(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolENS_14DwarfException8PadRangeENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::MCSymbol*, llvm::DwarfException::PadRange, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::DwarfException::PadRange> >::InsertIntoBucket(llvm::MCSymbol* const&, llvm::DwarfException::PadRange const&, std::pair<llvm::MCSymbol*, llvm::DwarfException::PadRange>*)"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolENS_14DwarfException8PadRangeENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::MCSymbol*, llvm::DwarfException::PadRange, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::DwarfException::PadRange> >::grow(unsigned int)"},
-    {"_ZSt16__introsort_loopIPPKN4llvm14LandingPadInfoElPFbS3_S3_EEvT_S7_T0_T1_", "void std::__introsort_loop<llvm::LandingPadInfo const**, long, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*)>(llvm::LandingPadInfo const**, llvm::LandingPadInfo const**, long, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*))"},
-    {"_ZSt22__final_insertion_sortIPPKN4llvm14LandingPadInfoEPFbS3_S3_EEvT_S7_T0_", "void std::__final_insertion_sort<llvm::LandingPadInfo const**, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*)>(llvm::LandingPadInfo const**, llvm::LandingPadInfo const**, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*))"},
-    {"_ZSt16__insertion_sortIPPKN4llvm14LandingPadInfoEPFbS3_S3_EEvT_S7_T0_", "void std::__insertion_sort<llvm::LandingPadInfo const**, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*)>(llvm::LandingPadInfo const**, llvm::LandingPadInfo const**, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*))"},
-    {"_ZSt13__heap_selectIPPKN4llvm14LandingPadInfoEPFbS3_S3_EEvT_S7_S7_T0_", "void std::__heap_select<llvm::LandingPadInfo const**, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*)>(llvm::LandingPadInfo const**, llvm::LandingPadInfo const**, llvm::LandingPadInfo const**, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*))"},
-    {"_ZSt13__adjust_heapIPPKN4llvm14LandingPadInfoElS3_PFbS3_S3_EEvT_T0_S8_T1_T2_", "void std::__adjust_heap<llvm::LandingPadInfo const**, long, llvm::LandingPadInfo const*, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*)>(llvm::LandingPadInfo const**, long, long, llvm::LandingPadInfo const*, bool (*)(llvm::LandingPadInfo const*, llvm::LandingPadInfo const*))"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_14DwarfException13CallSiteEntryELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::DwarfException::CallSiteEntry, false>::grow(unsigned long)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_14DwarfException11ActionEntryELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::DwarfException::ActionEntry, false>::grow(unsigned long)"},
-    {"_ZN4llvm19DwarfTableExceptionC1EPNS_10AsmPrinterE", "llvm::DwarfTableException::DwarfTableException(llvm::AsmPrinter*)"},
-    {"_ZN4llvm19DwarfTableExceptionC2EPNS_10AsmPrinterE", "llvm::DwarfTableException::DwarfTableException(llvm::AsmPrinter*)"},
-    {"_ZN4llvm19DwarfTableExceptionD0Ev", "llvm::DwarfTableException::~DwarfTableException()"},
-    {"_ZN4llvm19DwarfTableExceptionD1Ev", "llvm::DwarfTableException::~DwarfTableException()"},
-    {"_ZN4llvm19DwarfTableExceptionD2Ev", "llvm::DwarfTableException::~DwarfTableException()"},
-    {"_ZN4llvm19DwarfTableException7EmitCIEEPKNS_8FunctionEj", "llvm::DwarfTableException::EmitCIE(llvm::Function const*, unsigned int)"},
-    {"_ZN4llvm19DwarfTableException7EmitFDEERKNS0_19FunctionEHFrameInfoE", "llvm::DwarfTableException::EmitFDE(llvm::DwarfTableException::FunctionEHFrameInfo const&)"},
-    {"_ZN4llvm19DwarfTableException9EndModuleEv", "llvm::DwarfTableException::EndModule()"},
-    {"_ZN4llvm19DwarfTableException13BeginFunctionEPKNS_15MachineFunctionE", "llvm::DwarfTableException::BeginFunction(llvm::MachineFunction const*)"},
-    {"_ZN4llvm19DwarfTableException11EndFunctionEv", "llvm::DwarfTableException::EndFunction()"},
-    {"_ZNSt6vectorIN4llvm19DwarfTableException19FunctionEHFrameInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::DwarfTableException::FunctionEHFrameInfo, std::allocator<llvm::DwarfTableException::FunctionEHFrameInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::DwarfTableException::FunctionEHFrameInfo*, std::vector<llvm::DwarfTableException::FunctionEHFrameInfo, std::allocator<llvm::DwarfTableException::FunctionEHFrameInfo> > >, llvm::DwarfTableException::FunctionEHFrameInfo const&)"},
-    {"_ZN4llvm8AsmLexerC1ERKNS_9MCAsmInfoE", "llvm::AsmLexer::AsmLexer(llvm::MCAsmInfo const&)"},
-    {"_ZN4llvm8AsmLexerC2ERKNS_9MCAsmInfoE", "llvm::AsmLexer::AsmLexer(llvm::MCAsmInfo const&)"},
-    {"_ZN4llvm8AsmLexerD0Ev", "llvm::AsmLexer::~AsmLexer()"},
-    {"_ZN4llvm8AsmLexerD1Ev", "llvm::AsmLexer::~AsmLexer()"},
-    {"_ZN4llvm8AsmLexerD2Ev", "llvm::AsmLexer::~AsmLexer()"},
-    {"_ZN4llvm8AsmLexer9setBufferEPKNS_12MemoryBufferEPKc", "llvm::AsmLexer::setBuffer(llvm::MemoryBuffer const*, char const*)"},
-    {"_ZN4llvm8AsmLexer11ReturnErrorEPKcRKSs", "llvm::AsmLexer::ReturnError(char const*, std::string const&)"},
-    {"_ZN4llvm8AsmLexer11getNextCharEv", "llvm::AsmLexer::getNextChar()"},
-    {"_ZN4llvm8AsmLexer15LexFloatLiteralEv", "llvm::AsmLexer::LexFloatLiteral()"},
-    {"_ZN4llvm8AsmLexer13LexIdentifierEv", "llvm::AsmLexer::LexIdentifier()"},
-    {"_ZN4llvm8AsmLexer8LexSlashEv", "llvm::AsmLexer::LexSlash()"},
-    {"_ZN4llvm8AsmLexer14LexLineCommentEv", "llvm::AsmLexer::LexLineComment()"},
-    {"_ZN4llvm8AsmLexer8LexDigitEv", "llvm::AsmLexer::LexDigit()"},
-    {"_ZN4llvm8AsmLexer14LexSingleQuoteEv", "llvm::AsmLexer::LexSingleQuote()"},
-    {"_ZN4llvm8AsmLexer8LexQuoteEv", "llvm::AsmLexer::LexQuote()"},
-    {"_ZN4llvm8AsmLexer22LexUntilEndOfStatementEv", "llvm::AsmLexer::LexUntilEndOfStatement()"},
-    {"_ZN4llvm8AsmLexer18isAtStartOfCommentEc", "llvm::AsmLexer::isAtStartOfComment(char)"},
-    {"_ZN4llvm8AsmLexer8LexTokenEv", "llvm::AsmLexer::LexToken()"},
-    {"_ZN4llvm17createMCAsmParserERKNS_6TargetERNS_9SourceMgrERNS_9MCContextERNS_10MCStreamerERKNS_9MCAsmInfoE", "llvm::createMCAsmParser(llvm::Target const&, llvm::SourceMgr&, llvm::MCContext&, llvm::MCStreamer&, llvm::MCAsmInfo const&)"},
-    {"_ZN12_GLOBAL__N_19AsmParserD1Ev", "(anonymous namespace)::AsmParser::~AsmParser()"},
-    {"_ZN12_GLOBAL__N_19AsmParserD0Ev", "(anonymous namespace)::AsmParser::~AsmParser()"},
-    {"_ZN12_GLOBAL__N_19AsmParser19AddDirectiveHandlerEPN4llvm20MCAsmParserExtensionENS1_9StringRefEPFbS3_S4_NS1_5SMLocEE", "(anonymous namespace)::AsmParser::AddDirectiveHandler(llvm::MCAsmParserExtension*, llvm::StringRef, bool (*)(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc))"},
-    {"_ZN12_GLOBAL__N_19AsmParser16getSourceManagerEv", "(anonymous namespace)::AsmParser::getSourceManager()"},
-    {"_ZN12_GLOBAL__N_19AsmParser8getLexerEv", "(anonymous namespace)::AsmParser::getLexer()"},
-    {"_ZN12_GLOBAL__N_19AsmParser10getContextEv", "(anonymous namespace)::AsmParser::getContext()"},
-    {"_ZN12_GLOBAL__N_19AsmParser11getStreamerEv", "(anonymous namespace)::AsmParser::getStreamer()"},
-    {"_ZN12_GLOBAL__N_19AsmParser3RunEbb", "(anonymous namespace)::AsmParser::Run(bool, bool)"},
-    {"_ZN12_GLOBAL__N_19AsmParser7WarningEN4llvm5SMLocERKNS1_5TwineE", "(anonymous namespace)::AsmParser::Warning(llvm::SMLoc, llvm::Twine const&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser5ErrorEN4llvm5SMLocERKNS1_5TwineE", "(anonymous namespace)::AsmParser::Error(llvm::SMLoc, llvm::Twine const&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser3LexEv", "(anonymous namespace)::AsmParser::Lex()"},
-    {"_ZN12_GLOBAL__N_19AsmParser15ParseIdentifierERN4llvm9StringRefE", "(anonymous namespace)::AsmParser::ParseIdentifier(llvm::StringRef&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser27ParseStringToEndOfStatementEv", "(anonymous namespace)::AsmParser::ParseStringToEndOfStatement()"},
-    {"_ZN12_GLOBAL__N_19AsmParser19EatToEndOfStatementEv", "(anonymous namespace)::AsmParser::EatToEndOfStatement()"},
-    {"_ZN12_GLOBAL__N_19AsmParser15ParseExpressionERPKN4llvm6MCExprERNS1_5SMLocE", "(anonymous namespace)::AsmParser::ParseExpression(llvm::MCExpr const*&, llvm::SMLoc&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser20ParseParenExpressionERPKN4llvm6MCExprERNS1_5SMLocE", "(anonymous namespace)::AsmParser::ParseParenExpression(llvm::MCExpr const*&, llvm::SMLoc&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser23ParseAbsoluteExpressionERx", "(anonymous namespace)::AsmParser::ParseAbsoluteExpression(long long&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser14ParseParenExprERPKN4llvm6MCExprERNS1_5SMLocE", "(anonymous namespace)::AsmParser::ParseParenExpr(llvm::MCExpr const*&, llvm::SMLoc&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser13ParseBinOpRHSEjRPKN4llvm6MCExprERNS1_5SMLocE", "(anonymous namespace)::AsmParser::ParseBinOpRHS(unsigned int, llvm::MCExpr const*&, llvm::SMLoc&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser16ParsePrimaryExprERPKN4llvm6MCExprERNS1_5SMLocE", "(anonymous namespace)::AsmParser::ParsePrimaryExpr(llvm::MCExpr const*&, llvm::SMLoc&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser19ApplyModifierToExprEPKN4llvm6MCExprENS1_15MCSymbolRefExpr11VariantKindE", "(anonymous namespace)::AsmParser::ApplyModifierToExpr(llvm::MCExpr const*, llvm::MCSymbolRefExpr::VariantKind)"},
-    {"_ZN12_GLOBAL__N_19AsmParser14ParseStatementEv", "(anonymous namespace)::AsmParser::ParseStatement()"},
-    {"_ZN12_GLOBAL__N_19AsmParser19ParseDirectiveIfdefEN4llvm5SMLocEb", "(anonymous namespace)::AsmParser::ParseDirectiveIfdef(llvm::SMLoc, bool)"},
-    {"_ZN12_GLOBAL__N_19AsmParser20CheckForValidSectionEv", "(anonymous namespace)::AsmParser::CheckForValidSection()"},
-    {"_ZN12_GLOBAL__N_19AsmParser15ParseAssignmentEN4llvm9StringRefEb", "(anonymous namespace)::AsmParser::ParseAssignment(llvm::StringRef, bool)"},
-    {"_ZN12_GLOBAL__N_19AsmParser17ParseDirectiveSetEN4llvm9StringRefEb", "(anonymous namespace)::AsmParser::ParseDirectiveSet(llvm::StringRef, bool)"},
-    {"_ZN12_GLOBAL__N_19AsmParser19ParseDirectiveAsciiEN4llvm9StringRefEb", "(anonymous namespace)::AsmParser::ParseDirectiveAscii(llvm::StringRef, bool)"},
-    {"_ZN12_GLOBAL__N_19AsmParser19ParseDirectiveValueEj", "(anonymous namespace)::AsmParser::ParseDirectiveValue(unsigned int)"},
-    {"_ZN12_GLOBAL__N_19AsmParser23ParseDirectiveRealValueERKN4llvm12fltSemanticsE", "(anonymous namespace)::AsmParser::ParseDirectiveRealValue(llvm::fltSemantics const&)"},
-    {"_ZN12_GLOBAL__N_19AsmParser19ParseDirectiveAlignEbj", "(anonymous namespace)::AsmParser::ParseDirectiveAlign(bool, unsigned int)"},
-    {"_ZN12_GLOBAL__N_19AsmParser29ParseDirectiveSymbolAttributeEN4llvm12MCSymbolAttrE", "(anonymous namespace)::AsmParser::ParseDirectiveSymbolAttribute(llvm::MCSymbolAttr)"},
-    {"_ZN12_GLOBAL__N_19AsmParser18ParseDirectiveCommEb", "(anonymous namespace)::AsmParser::ParseDirectiveComm(bool)"},
-    {"_Z8MarkUsedPKN4llvm6MCExprE", "MarkUsed(llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_116GenericAsmParserD1Ev", "(anonymous namespace)::GenericAsmParser::~GenericAsmParser()"},
-    {"_ZN12_GLOBAL__N_116GenericAsmParserD0Ev", "(anonymous namespace)::GenericAsmParser::~GenericAsmParser()"},
-    {"_ZN12_GLOBAL__N_116GenericAsmParser10InitializeERN4llvm11MCAsmParserE", "(anonymous namespace)::GenericAsmParser::Initialize(llvm::MCAsmParser&)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_20ParseDirectiveLEB128ENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveLEB128(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_22ParseDirectiveEndMacroENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveEndMacro(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_19ParseDirectiveMacroENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveMacro(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_25ParseDirectiveMacrosOnOffENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveMacrosOnOff(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_29ParseDirectiveCFIRestoreStateENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIRestoreState(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_30ParseDirectiveCFIRememberStateENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIRememberState(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_34ParseDirectiveCFIPersonalityOrLsdaENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIPersonalityOrLsda(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_23ParseDirectiveCFIOffsetENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIOffset(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN12_GLOBAL__N_116GenericAsmParser29ParseRegisterOrRegisterNumberERxN4llvm5SMLocE", "(anonymous namespace)::GenericAsmParser::ParseRegisterOrRegisterNumber(long long&, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_31ParseDirectiveCFIDefCfaRegisterENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIDefCfaRegister(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_29ParseDirectiveCFIDefCfaOffsetENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIDefCfaOffset(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_23ParseDirectiveCFIDefCfaENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIDefCfa(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_24ParseDirectiveCFIEndProcENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIEndProc(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_26ParseDirectiveCFIStartProcENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveCFIStartProc(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_19ParseDirectiveStabsENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveStabs(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_17ParseDirectiveLocENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveLoc(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_18ParseDirectiveLineENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveLine(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_116GenericAsmParserEXadL_ZNS3_18ParseDirectiveFileENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::GenericAsmParser, &((anonymous namespace)::GenericAsmParser::ParseDirectiveFile(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZNSt6vectorIN4llvm8AsmTokenESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::AsmToken*, std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> > >, llvm::AsmToken const&)"},
-    {"_ZNSt6vectorIS_IN4llvm8AsmTokenESaIS1_EESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> >, std::allocator<std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> >*, std::vector<std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> >, std::allocator<std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> > > > >, std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> > const&)"},
-    {"_ZNSt6vectorIN4llvm8AsmTokenESaIS1_EEaSERKS3_", "std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> >::operator=(std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> > const&)"},
-    {"_ZNSt6vectorIN4llvm8AsmTokenESaIS1_EEC2ERKS3_", "std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> >::vector(std::vector<llvm::AsmToken, std::allocator<llvm::AsmToken> > const&)"},
-    {"_ZNSt6vectorIN4llvm7AsmCondESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::AsmCond, std::allocator<llvm::AsmCond> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::AsmCond*, std::vector<llvm::AsmCond, std::allocator<llvm::AsmCond> > >, llvm::AsmCond const&)"},
-    {"_ZN4llvm9StringMapISt4pairIPNS_20MCAsmParserExtensionEPFbS3_NS_9StringRefENS_5SMLocEEENS_15MallocAllocatorEE16GetOrCreateValueIS8_EERNS_14StringMapEntryIS8_EES4_T_", "llvm::StringMapEntry<std::pair<llvm::MCAsmParserExtension*, bool (*)(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)> >& llvm::StringMap<std::pair<llvm::MCAsmParserExtension*, bool (*)(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)>, llvm::MallocAllocator>::GetOrCreateValue<std::pair<llvm::MCAsmParserExtension*, bool (*)(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)> >(llvm::StringRef, std::pair<llvm::MCAsmParserExtension*, bool (*)(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)>)"},
-    {"_ZN4llvm19createCOFFAsmParserEv", "llvm::createCOFFAsmParser()"},
-    {"_ZN12_GLOBAL__N_113COFFAsmParserD1Ev", "(anonymous namespace)::COFFAsmParser::~COFFAsmParser()"},
-    {"_ZN12_GLOBAL__N_113COFFAsmParserD0Ev", "(anonymous namespace)::COFFAsmParser::~COFFAsmParser()"},
-    {"_ZN12_GLOBAL__N_113COFFAsmParser10InitializeERN4llvm11MCAsmParserE", "(anonymous namespace)::COFFAsmParser::Initialize(llvm::MCAsmParser&)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_113COFFAsmParserEXadL_ZNS3_19ParseDirectiveEndefENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::COFFAsmParser, &((anonymous namespace)::COFFAsmParser::ParseDirectiveEndef(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_113COFFAsmParserEXadL_ZNS3_18ParseDirectiveTypeENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::COFFAsmParser, &((anonymous namespace)::COFFAsmParser::ParseDirectiveType(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_113COFFAsmParserEXadL_ZNS3_17ParseDirectiveSclENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::COFFAsmParser, &((anonymous namespace)::COFFAsmParser::ParseDirectiveScl(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_113COFFAsmParserEXadL_ZNS3_17ParseDirectiveDefENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::COFFAsmParser, &((anonymous namespace)::COFFAsmParser::ParseDirectiveDef(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_113COFFAsmParserEXadL_ZNS3_24ParseSectionDirectiveBSSENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::COFFAsmParser, &((anonymous namespace)::COFFAsmParser::ParseSectionDirectiveBSS(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN12_GLOBAL__N_113COFFAsmParser18ParseSectionSwitchEN4llvm9StringRefEjNS1_11SectionKindE", "(anonymous namespace)::COFFAsmParser::ParseSectionSwitch(llvm::StringRef, unsigned int, llvm::SectionKind)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_113COFFAsmParserEXadL_ZNS3_25ParseSectionDirectiveDataENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::COFFAsmParser, &((anonymous namespace)::COFFAsmParser::ParseSectionDirectiveData(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_113COFFAsmParserEXadL_ZNS3_25ParseSectionDirectiveTextENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::COFFAsmParser, &((anonymous namespace)::COFFAsmParser::ParseSectionDirectiveText(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm21createDarwinAsmParserEv", "llvm::createDarwinAsmParser()"},
-    {"_ZN12_GLOBAL__N_115DarwinAsmParserD1Ev", "(anonymous namespace)::DarwinAsmParser::~DarwinAsmParser()"},
-    {"_ZN12_GLOBAL__N_115DarwinAsmParserD0Ev", "(anonymous namespace)::DarwinAsmParser::~DarwinAsmParser()"},
-    {"_ZN12_GLOBAL__N_115DarwinAsmParser10InitializeERN4llvm11MCAsmParserE", "(anonymous namespace)::DarwinAsmParser::Initialize(llvm::MCAsmParser&)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_24ParseSectionDirectiveTLVENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveTLV(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN12_GLOBAL__N_115DarwinAsmParser18ParseSectionSwitchEPKcS2_jjj", "(anonymous namespace)::DarwinAsmParser::ParseSectionSwitch(char const*, char const*, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_35ParseSectionDirectiveThreadInitFuncENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveThreadInitFunc(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_25ParseSectionDirectiveTextENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveText(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_26ParseSectionDirectiveTDataENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveTData(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_31ParseSectionDirectiveSymbolStubENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveSymbolStub(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_31ParseSectionDirectiveStaticDataENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveStaticData(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveStaticConstENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveStaticConst(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_34ParseSectionDirectivePICSymbolStubENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectivePICSymbolStub(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveObjCSymbolsENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCSymbols(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_37ParseSectionDirectiveObjCStringObjectENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCStringObject(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_37ParseSectionDirectiveObjCSelectorStrsENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCSelectorStrs(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_33ParseSectionDirectiveObjCProtocolENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCProtocol(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_35ParseSectionDirectiveObjCModuleInfoENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCModuleInfo(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_37ParseSectionDirectiveObjCMethVarTypesENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCMethVarTypes(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_37ParseSectionDirectiveObjCMethVarNamesENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCMethVarNames(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_34ParseSectionDirectiveObjCMetaClassENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCMetaClass(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_36ParseSectionDirectiveObjCMessageRefsENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCMessageRefs(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_37ParseSectionDirectiveObjCInstanceVarsENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCInstanceVars(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_33ParseSectionDirectiveObjCInstMethENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCInstMeth(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveObjCClsRefsENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCClsRefs(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveObjCClsMethENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCClsMeth(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_34ParseSectionDirectiveObjCClassVarsENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCClassVars(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_35ParseSectionDirectiveObjCClassNamesENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCClassNames(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_30ParseSectionDirectiveObjCClassENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCClass(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_33ParseSectionDirectiveObjCCategoryENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCCategory(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_36ParseSectionDirectiveObjCCatInstMethENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCCatInstMeth(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_35ParseSectionDirectiveObjCCatClsMethENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveObjCCatClsMeth(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_42ParseSectionDirectiveNonLazySymbolPointersENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveNonLazySymbolPointers(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveModTermFuncENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveModTermFunc(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveModInitFuncENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveModInitFunc(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_29ParseSectionDirectiveLiteral8ENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveLiteral8(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_29ParseSectionDirectiveLiteral4ENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveLiteral4(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_30ParseSectionDirectiveLiteral16ENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveLiteral16(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_39ParseSectionDirectiveLazySymbolPointersENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveLazySymbolPointers(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveFVMLibInit1ENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveFVMLibInit1(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveFVMLibInit0ENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveFVMLibInit0(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_25ParseSectionDirectiveDyldENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveDyld(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_31ParseSectionDirectiveDestructorENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveDestructor(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_25ParseSectionDirectiveDataENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveData(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_28ParseSectionDirectiveCStringENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveCString(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_32ParseSectionDirectiveConstructorENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveConstructor(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_30ParseSectionDirectiveConstDataENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveConstData(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_26ParseSectionDirectiveConstENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseSectionDirectiveConst(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_22ParseDirectiveZerofillENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveZerofill(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_18ParseDirectiveTBSSENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveTBSS(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_28ParseDirectiveSecureLogResetENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveSecureLogReset(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_29ParseDirectiveSecureLogUniqueENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveSecureLogUnique(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_21ParseDirectiveSectionENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveSection(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_24ParseDirectiveDumpOrLoadENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveDumpOrLoad(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_35ParseDirectiveSubsectionsViaSymbolsENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveSubsectionsViaSymbols(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_18ParseDirectiveLsymENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveLsym(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_115DarwinAsmParserEXadL_ZNS3_18ParseDirectiveDescENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::DarwinAsmParser, &((anonymous namespace)::DarwinAsmParser::ParseDirectiveDesc(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm18createELFAsmParserEv", "llvm::createELFAsmParser()"},
-    {"_ZN12_GLOBAL__N_112ELFAsmParserD1Ev", "(anonymous namespace)::ELFAsmParser::~ELFAsmParser()"},
-    {"_ZN12_GLOBAL__N_112ELFAsmParserD0Ev", "(anonymous namespace)::ELFAsmParser::~ELFAsmParser()"},
-    {"_ZN12_GLOBAL__N_112ELFAsmParser10InitializeERN4llvm11MCAsmParserE", "(anonymous namespace)::ELFAsmParser::Initialize(llvm::MCAsmParser&)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_21ParseDirectiveWeakrefENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseDirectiveWeakref(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_20ParseDirectiveSymverENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseDirectiveSymver(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_19ParseDirectiveIdentENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseDirectiveIdent(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_18ParseDirectiveTypeENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseDirectiveType(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_22ParseDirectivePreviousENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseDirectivePrevious(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_18ParseDirectiveSizeENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseDirectiveSize(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_21ParseDirectiveSectionENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseDirectiveSection(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_28ParseSectionDirectiveEhFrameENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveEhFrame(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN12_GLOBAL__N_112ELFAsmParser18ParseSectionSwitchEN4llvm9StringRefEjjNS1_11SectionKindE", "(anonymous namespace)::ELFAsmParser::ParseSectionSwitch(llvm::StringRef, unsigned int, unsigned int, llvm::SectionKind)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_35ParseSectionDirectiveDataRelRoLocalENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveDataRelRoLocal(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_30ParseSectionDirectiveDataRelRoENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveDataRelRo(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_28ParseSectionDirectiveDataRelENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveDataRel(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_25ParseSectionDirectiveTBSSENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveTBSS(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_26ParseSectionDirectiveTDataENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveTData(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_27ParseSectionDirectiveRoDataENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveRoData(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_24ParseSectionDirectiveBSSENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveBSS(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_25ParseSectionDirectiveTextENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveText(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm20MCAsmParserExtension15HandleDirectiveIN12_GLOBAL__N_112ELFAsmParserEXadL_ZNS3_25ParseSectionDirectiveDataENS_9StringRefENS_5SMLocEEEEEbPS0_S4_S5_", "bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &((anonymous namespace)::ELFAsmParser::ParseSectionDirectiveData(llvm::StringRef, llvm::SMLoc))>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc)"},
-    {"_ZN4llvm10MCAsmLexerC1Ev", "llvm::MCAsmLexer::MCAsmLexer()"},
-    {"_ZN4llvm10MCAsmLexerC2Ev", "llvm::MCAsmLexer::MCAsmLexer()"},
-    {"_ZN4llvm10MCAsmLexerD0Ev", "llvm::MCAsmLexer::~MCAsmLexer()"},
-    {"_ZN4llvm10MCAsmLexerD1Ev", "llvm::MCAsmLexer::~MCAsmLexer()"},
-    {"_ZN4llvm10MCAsmLexerD2Ev", "llvm::MCAsmLexer::~MCAsmLexer()"},
-    {"_ZNK4llvm10MCAsmLexer6getLocEv", "llvm::MCAsmLexer::getLoc() const"},
-    {"_ZNK4llvm8AsmToken6getLocEv", "llvm::AsmToken::getLoc() const"},
-    {"_ZN4llvm11MCAsmParserC1Ev", "llvm::MCAsmParser::MCAsmParser()"},
-    {"_ZN4llvm11MCAsmParserC2Ev", "llvm::MCAsmParser::MCAsmParser()"},
-    {"_ZN4llvm11MCAsmParserD0Ev", "llvm::MCAsmParser::~MCAsmParser()"},
-    {"_ZN4llvm11MCAsmParserD1Ev", "llvm::MCAsmParser::~MCAsmParser()"},
-    {"_ZN4llvm11MCAsmParserD2Ev", "llvm::MCAsmParser::~MCAsmParser()"},
-    {"_ZN4llvm11MCAsmParser15setTargetParserERNS_15TargetAsmParserE", "llvm::MCAsmParser::setTargetParser(llvm::TargetAsmParser&)"},
-    {"_ZN4llvm11MCAsmParser6getTokEv", "llvm::MCAsmParser::getTok()"},
-    {"_ZN4llvm11MCAsmParser8TokErrorERKNS_5TwineE", "llvm::MCAsmParser::TokError(llvm::Twine const&)"},
-    {"_ZN4llvm11MCAsmParser15ParseExpressionERPKNS_6MCExprE", "llvm::MCAsmParser::ParseExpression(llvm::MCExpr const*&)"},
-    {"_ZN4llvm20MCAsmParserExtensionC1Ev", "llvm::MCAsmParserExtension::MCAsmParserExtension()"},
-    {"_ZN4llvm20MCAsmParserExtensionC2Ev", "llvm::MCAsmParserExtension::MCAsmParserExtension()"},
-    {"_ZN4llvm20MCAsmParserExtensionD0Ev", "llvm::MCAsmParserExtension::~MCAsmParserExtension()"},
-    {"_ZN4llvm20MCAsmParserExtensionD1Ev", "llvm::MCAsmParserExtension::~MCAsmParserExtension()"},
-    {"_ZN4llvm20MCAsmParserExtensionD2Ev", "llvm::MCAsmParserExtension::~MCAsmParserExtension()"},
-    {"_ZN4llvm20MCAsmParserExtension10InitializeERNS_11MCAsmParserE", "llvm::MCAsmParserExtension::Initialize(llvm::MCAsmParser&)"},
-    {"_ZN4llvm15TargetAsmParserC1ERKNS_6TargetE", "llvm::TargetAsmParser::TargetAsmParser(llvm::Target const&)"},
-    {"_ZN4llvm15TargetAsmParserC2ERKNS_6TargetE", "llvm::TargetAsmParser::TargetAsmParser(llvm::Target const&)"},
-    {"_ZN4llvm15TargetAsmParserD0Ev", "llvm::TargetAsmParser::~TargetAsmParser()"},
-    {"_ZN4llvm15TargetAsmParserD1Ev", "llvm::TargetAsmParser::~TargetAsmParser()"},
-    {"_ZN4llvm15TargetAsmParserD2Ev", "llvm::TargetAsmParser::~TargetAsmParser()"},
-    {"_ZN4llvm22AggressiveAntiDepStateC1EjPNS_17MachineBasicBlockE", "llvm::AggressiveAntiDepState::AggressiveAntiDepState(unsigned int, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm22AggressiveAntiDepStateC2EjPNS_17MachineBasicBlockE", "llvm::AggressiveAntiDepState::AggressiveAntiDepState(unsigned int, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm22AggressiveAntiDepState8GetGroupEj", "llvm::AggressiveAntiDepState::GetGroup(unsigned int)"},
-    {"_ZN4llvm22AggressiveAntiDepState12GetGroupRegsEjRSt6vectorIjSaIjEEPSt8multimapIjNS0_17RegisterReferenceESt4lessIjESaISt4pairIKjS6_EEE", "llvm::AggressiveAntiDepState::GetGroupRegs(unsigned int, std::vector<unsigned int, std::allocator<unsigned int> >&, std::multimap<unsigned int, llvm::AggressiveAntiDepState::RegisterReference, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference> > >*)"},
-    {"_ZN4llvm22AggressiveAntiDepState11UnionGroupsEjj", "llvm::AggressiveAntiDepState::UnionGroups(unsigned int, unsigned int)"},
-    {"_ZN4llvm22AggressiveAntiDepState10LeaveGroupEj", "llvm::AggressiveAntiDepState::LeaveGroup(unsigned int)"},
-    {"_ZN4llvm22AggressiveAntiDepState6IsLiveEj", "llvm::AggressiveAntiDepState::IsLive(unsigned int)"},
-    {"_ZN4llvm24AggressiveAntiDepBreakerC1ERNS_15MachineFunctionERNS_15SmallVectorImplIPNS_19TargetRegisterClassEEE", "llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(llvm::MachineFunction&, llvm::SmallVectorImpl<llvm::TargetRegisterClass*>&)"},
-    {"_ZN4llvm24AggressiveAntiDepBreakerC2ERNS_15MachineFunctionERNS_15SmallVectorImplIPNS_19TargetRegisterClassEEE", "llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(llvm::MachineFunction&, llvm::SmallVectorImpl<llvm::TargetRegisterClass*>&)"},
-    {"_ZN4llvm24AggressiveAntiDepBreakerD0Ev", "llvm::AggressiveAntiDepBreaker::~AggressiveAntiDepBreaker()"},
-    {"_ZN4llvm24AggressiveAntiDepBreakerD1Ev", "llvm::AggressiveAntiDepBreaker::~AggressiveAntiDepBreaker()"},
-    {"_ZN4llvm24AggressiveAntiDepBreakerD2Ev", "llvm::AggressiveAntiDepBreaker::~AggressiveAntiDepBreaker()"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker10StartBlockEPNS_17MachineBasicBlockE", "llvm::AggressiveAntiDepBreaker::StartBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker11FinishBlockEv", "llvm::AggressiveAntiDepBreaker::FinishBlock()"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker7ObserveEPNS_12MachineInstrEjj", "llvm::AggressiveAntiDepBreaker::Observe(llvm::MachineInstr*, unsigned int, unsigned int)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker15GetPassthruRegsEPNS_12MachineInstrERSt3setIjSt4lessIjESaIjEE", "llvm::AggressiveAntiDepBreaker::GetPassthruRegs(llvm::MachineInstr*, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> >&)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker18PrescanInstructionEPNS_12MachineInstrEjRSt3setIjSt4lessIjESaIjEE", "llvm::AggressiveAntiDepBreaker::PrescanInstruction(llvm::MachineInstr*, unsigned int, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> >&)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker15ScanInstructionEPNS_12MachineInstrEj", "llvm::AggressiveAntiDepBreaker::ScanInstruction(llvm::MachineInstr*, unsigned int)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker16IsImplicitDefUseEPNS_12MachineInstrERNS_14MachineOperandE", "llvm::AggressiveAntiDepBreaker::IsImplicitDefUse(llvm::MachineInstr*, llvm::MachineOperand&)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker13HandleLastUseEjjPKcS2_S2_", "llvm::AggressiveAntiDepBreaker::HandleLastUse(unsigned int, unsigned int, char const*, char const*, char const*)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker18GetRenameRegistersEj", "llvm::AggressiveAntiDepBreaker::GetRenameRegisters(unsigned int)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker25FindSuitableFreeRegistersEjRSt3mapIPKNS_19TargetRegisterClassEPKjSt4lessIS4_ESaISt4pairIKS4_S6_EEERS1_IjjS7_IjESaIS9_IS5_jEEE", "llvm::AggressiveAntiDepBreaker::FindSuitableFreeRegisters(unsigned int, std::map<llvm::TargetRegisterClass const*, unsigned int const*, std::less<llvm::TargetRegisterClass const*>, std::allocator<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> > >&, std::map<unsigned int, unsigned int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int> > >&)"},
-    {"_ZN4llvm24AggressiveAntiDepBreaker21BreakAntiDependenciesERKSt6vectorINS_5SUnitESaIS2_EENS_14ilist_iteratorINS_12MachineInstrEEES9_j", "llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(std::vector<llvm::SUnit, std::allocator<llvm::SUnit> > const&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_PKNS0_5SUnitEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, llvm::SUnit const*>, std::_Select1st<std::pair<llvm::MachineInstr* const, llvm::SUnit const*> >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, llvm::SUnit const*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, llvm::SUnit const*> >, std::pair<llvm::MachineInstr* const, llvm::SUnit const*> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_PKNS0_5SUnitEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, llvm::SUnit const*>, std::_Select1st<std::pair<llvm::MachineInstr* const, llvm::SUnit const*> >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, llvm::SUnit const*> > >::_M_insert_unique(std::pair<llvm::MachineInstr* const, llvm::SUnit const*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm19TargetRegisterClassESt4pairIKS3_PKjESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE5eraseESt17_Rb_tree_iteratorIS8_ESG_", "std::_Rb_tree<llvm::TargetRegisterClass const*, std::pair<llvm::TargetRegisterClass const* const, unsigned int const*>, std::_Select1st<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> >, std::less<llvm::TargetRegisterClass const*>, std::allocator<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> >, std::_Rb_tree_iterator<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm19TargetRegisterClassESt4pairIKS3_PKjESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::TargetRegisterClass const*, std::pair<llvm::TargetRegisterClass const* const, unsigned int const*>, std::_Select1st<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> >, std::less<llvm::TargetRegisterClass const*>, std::allocator<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, unsigned int>, std::_Select1st<std::pair<unsigned int const, unsigned int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int> > >::_M_insert_unique(std::pair<unsigned int const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjN4llvm9BitVectorEESt10_Select1stIS4_ESt4lessIjESaIS4_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS4_ERKS4_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::BitVector>, std::_Select1st<std::pair<unsigned int const, llvm::BitVector> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::BitVector> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, llvm::BitVector> >, std::pair<unsigned int const, llvm::BitVector> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjN4llvm9BitVectorEESt10_Select1stIS4_ESt4lessIjESaIS4_EE9_M_insertEPSt18_Rb_tree_node_baseSC_RKS4_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::BitVector>, std::_Select1st<std::pair<unsigned int const, llvm::BitVector> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::BitVector> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<unsigned int const, llvm::BitVector> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjN4llvm9BitVectorEESt10_Select1stIS4_ESt4lessIjESaIS4_EE16_M_insert_uniqueERKS4_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::BitVector>, std::_Select1st<std::pair<unsigned int const, llvm::BitVector> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::BitVector> > >::_M_insert_unique(std::pair<unsigned int const, llvm::BitVector> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, unsigned int>, std::_Select1st<std::pair<unsigned int const, unsigned int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, unsigned int> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm19TargetRegisterClassESt4pairIKS3_PKjESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<llvm::TargetRegisterClass const*, std::pair<llvm::TargetRegisterClass const* const, unsigned int const*>, std::_Select1st<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> >, std::less<llvm::TargetRegisterClass const*>, std::allocator<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> >, std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm19TargetRegisterClassESt4pairIKS3_PKjESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::TargetRegisterClass const*, std::pair<llvm::TargetRegisterClass const* const, unsigned int const*>, std::_Select1st<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> >, std::less<llvm::TargetRegisterClass const*>, std::allocator<std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> > >::_M_insert_unique(std::pair<llvm::TargetRegisterClass const* const, unsigned int const*> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjN4llvm22AggressiveAntiDepState17RegisterReferenceEESt10_Select1stIS5_ESt4lessIjESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_ESD_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference>, std::_Select1st<std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference> > >::erase(std::_Rb_tree_iterator<std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference> >, std::_Rb_tree_iterator<std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference> >)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjN4llvm22AggressiveAntiDepState17RegisterReferenceEESt10_Select1stIS5_ESt4lessIjESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference>, std::_Select1st<std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, llvm::AggressiveAntiDepState::RegisterReference> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_PKNS0_5SUnitEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, llvm::SUnit const*>, std::_Select1st<std::pair<llvm::MachineInstr* const, llvm::SUnit const*> >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, llvm::SUnit const*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineInstr* const, llvm::SUnit const*> >*)"},
-    {"_ZNSt6vectorIPKN4llvm4SDepESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::SDep const*, std::allocator<llvm::SDep const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SDep const**, std::vector<llvm::SDep const*, std::allocator<llvm::SDep const*> > >, llvm::SDep const* const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjN4llvm9BitVectorEESt10_Select1stIS4_ESt4lessIjESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::BitVector>, std::_Select1st<std::pair<unsigned int const, llvm::BitVector> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::BitVector> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, llvm::BitVector> >*)"},
-    {"_ZN4llvm18ComputeLinearIndexEPKNS_4TypeEPKjS4_j", "llvm::ComputeLinearIndex(llvm::Type const*, unsigned int const*, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm15ComputeValueVTsERKNS_14TargetLoweringEPKNS_4TypeERNS_15SmallVectorImplINS_3EVTEEEPNS6_IyEEy", "llvm::ComputeValueVTs(llvm::TargetLowering const&, llvm::Type const*, llvm::SmallVectorImpl<llvm::EVT>&, llvm::SmallVectorImpl<unsigned long long>*, unsigned long long)"},
-    {"_ZN4llvm15ExtractTypeInfoEPNS_5ValueE", "llvm::ExtractTypeInfo(llvm::Value*)"},
-    {"_ZN4llvm25hasInlineAsmMemConstraintERSt6vectorINS_9InlineAsm14ConstraintInfoESaIS2_EERKNS_14TargetLoweringE", "llvm::hasInlineAsmMemConstraint(std::vector<llvm::InlineAsm::ConstraintInfo, std::allocator<llvm::InlineAsm::ConstraintInfo> >&, llvm::TargetLowering const&)"},
-    {"_ZN4llvm15getFCmpCondCodeENS_7CmpInst9PredicateE", "llvm::getFCmpCondCode(llvm::CmpInst::Predicate)"},
-    {"_ZN4llvm15getICmpCondCodeENS_7CmpInst9PredicateE", "llvm::getICmpCondCode(llvm::CmpInst::Predicate)"},
-    {"_ZN4llvm20isInTailCallPositionENS_17ImmutableCallSiteEjRKNS_14TargetLoweringE", "llvm::isInTailCallPosition(llvm::ImmutableCallSite, unsigned int, llvm::TargetLowering const&)"},
-    {"_ZN4llvm20isInTailCallPositionERNS_12SelectionDAGEPNS_6SDNodeERKNS_14TargetLoweringE", "llvm::isInTailCallPosition(llvm::SelectionDAG&, llvm::SDNode*, llvm::TargetLowering const&)"},
-    {"_ZN4llvm23createBranchFoldingPassEb", "llvm::createBranchFoldingPass(bool)"},
-    {"_ZN4llvm12BranchFolderC1Eb", "llvm::BranchFolder::BranchFolder(bool)"},
-    {"_ZN4llvm12BranchFolderC2Eb", "llvm::BranchFolder::BranchFolder(bool)"},
-    {"_ZN4llvm12BranchFolder15RemoveDeadBlockEPNS_17MachineBasicBlockE", "llvm::BranchFolder::RemoveDeadBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12BranchFolder20OptimizeImpDefsBlockEPNS_17MachineBasicBlockE", "llvm::BranchFolder::OptimizeImpDefsBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12BranchFolder16OptimizeFunctionERNS_15MachineFunctionEPKNS_15TargetInstrInfoEPKNS_18TargetRegisterInfoEPNS_17MachineModuleInfoE", "llvm::BranchFolder::OptimizeFunction(llvm::MachineFunction&, llvm::TargetInstrInfo const*, llvm::TargetRegisterInfo const*, llvm::MachineModuleInfo*)"},
-    {"_ZN4llvm12BranchFolder15TailMergeBlocksERNS_15MachineFunctionE", "llvm::BranchFolder::TailMergeBlocks(llvm::MachineFunction&)"},
-    {"_ZN4llvm12BranchFolder16OptimizeBranchesERNS_15MachineFunctionE", "llvm::BranchFolder::OptimizeBranches(llvm::MachineFunction&)"},
-    {"_ZN4llvm12BranchFolder23ReplaceTailWithBranchToENS_14ilist_iteratorINS_12MachineInstrEEEPNS_17MachineBasicBlockE", "llvm::BranchFolder::ReplaceTailWithBranchTo(llvm::ilist_iterator<llvm::MachineInstr>, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12BranchFolder10SplitMBBAtERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::BranchFolder::SplitMBBAt(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZNK4llvm12BranchFolder18MergePotentialsEltltERKS1_", "llvm::BranchFolder::MergePotentialsElt::operator<(llvm::BranchFolder::MergePotentialsElt const&) const"},
-    {"_ZN4llvm12BranchFolder16ComputeSameTailsEjjPNS_17MachineBasicBlockES2_", "llvm::BranchFolder::ComputeSameTails(unsigned int, unsigned int, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12BranchFolder20RemoveBlocksWithHashEjPNS_17MachineBasicBlockES2_", "llvm::BranchFolder::RemoveBlocksWithHash(unsigned int, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_Z7FixTailPN4llvm17MachineBasicBlockES1_PKNS_15TargetInstrInfoE", "FixTail(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::TargetInstrInfo const*)"},
-    {"_ZN4llvm12BranchFolder25CreateCommonTailOnlyBlockERPNS_17MachineBasicBlockEjRj", "llvm::BranchFolder::CreateCommonTailOnlyBlock(llvm::MachineBasicBlock*&, unsigned int, unsigned int&)"},
-    {"_ZN4llvm12BranchFolder18TryTailMergeBlocksEPNS_17MachineBasicBlockES2_", "llvm::BranchFolder::TryTailMergeBlocks(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_Z12HashEndOfMBBPKN4llvm17MachineBasicBlockE", "HashEndOfMBB(llvm::MachineBasicBlock const*)"},
-    {"_ZN4llvm12BranchFolder13OptimizeBlockEPNS_17MachineBasicBlockE", "llvm::BranchFolder::OptimizeBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN12_GLOBAL__N_116BranchFolderPassD1Ev", "(anonymous namespace)::BranchFolderPass::~BranchFolderPass()"},
-    {"_ZN12_GLOBAL__N_116BranchFolderPassD0Ev", "(anonymous namespace)::BranchFolderPass::~BranchFolderPass()"},
-    {"_ZNK12_GLOBAL__N_116BranchFolderPass11getPassNameEv", "(anonymous namespace)::BranchFolderPass::getPassName() const"},
-    {"_ZN12_GLOBAL__N_116BranchFolderPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::BranchFolderPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZNSt6vectorIN4llvm12BranchFolder18MergePotentialsEltESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt const&)"},
-    {"_ZSt21__inplace_stable_sortIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEEEvT_SA_", "void std::__inplace_stable_sort<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > >(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >)"},
-    {"_ZSt22__stable_sort_adaptiveIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEES5_lEvT_SA_T0_T1_", "void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*, long>(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*, long)"},
-    {"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEES5_EvT_SA_T0_", "void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*>(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*)"},
-    {"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEElS5_EvT_SA_SA_T0_SB_T1_SB_", "void std::__merge_adaptive<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, long, llvm::BranchFolder::MergePotentialsElt*>(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, long, long, llvm::BranchFolder::MergePotentialsElt*, long)"},
-    {"_ZSt5mergeIPN4llvm12BranchFolder18MergePotentialsEltEN9__gnu_cxx17__normal_iteratorIS3_St6vectorIS2_SaIS2_EEEES9_ET1_T_SB_T0_SC_SA_", "__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > std::merge<llvm::BranchFolder::MergePotentialsElt*, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > >(llvm::BranchFolder::MergePotentialsElt*, llvm::BranchFolder::MergePotentialsElt*, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >)"},
-    {"_ZSt16__merge_backwardIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEES5_S9_ET1_T_SB_T0_SC_SA_", "__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > std::__merge_backward<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > >(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*, llvm::BranchFolder::MergePotentialsElt*, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >)"},
-    {"_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEES5_lET_SA_SA_SA_T1_SB_T0_SB_", "__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > std::__rotate_adaptive<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*, long>(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, long, long, llvm::BranchFolder::MergePotentialsElt*, long)"},
-    {"_ZSt8__rotateIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEEEvT_SA_SA_St26random_access_iterator_tag", "void std::__rotate<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > >(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, std::random_access_iterator_tag)"},
-    {"_ZSt5mergeIPN4llvm12BranchFolder18MergePotentialsEltES3_N9__gnu_cxx17__normal_iteratorIS3_St6vectorIS2_SaIS2_EEEEET1_T_SB_T0_SC_SA_", "__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > std::merge<llvm::BranchFolder::MergePotentialsElt*, llvm::BranchFolder::MergePotentialsElt*, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > >(llvm::BranchFolder::MergePotentialsElt*, llvm::BranchFolder::MergePotentialsElt*, llvm::BranchFolder::MergePotentialsElt*, llvm::BranchFolder::MergePotentialsElt*, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >)"},
-    {"_ZSt5mergeIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEES9_S5_ET1_T_SB_T0_SC_SA_", "llvm::BranchFolder::MergePotentialsElt* std::merge<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*>(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, llvm::BranchFolder::MergePotentialsElt*)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEEEvT_SA_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > > >(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >)"},
-    {"_ZSt22__merge_without_bufferIN9__gnu_cxx17__normal_iteratorIPN4llvm12BranchFolder18MergePotentialsEltESt6vectorIS4_SaIS4_EEEElEvT_SA_SA_T0_SB_", "void std::__merge_without_buffer<__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, long>(__gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, __gnu_cxx::__normal_iterator<llvm::BranchFolder::MergePotentialsElt*, std::vector<llvm::BranchFolder::MergePotentialsElt, std::allocator<llvm::BranchFolder::MergePotentialsElt> > >, long, long)"},
-    {"_ZNSt6vectorIN4llvm12BranchFolder11SameTailEltESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::BranchFolder::SameTailElt, std::allocator<llvm::BranchFolder::SameTailElt> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::BranchFolder::SameTailElt*, std::vector<llvm::BranchFolder::SameTailElt, std::allocator<llvm::BranchFolder::SameTailElt> > >, llvm::BranchFolder::SameTailElt const&)"},
-    {"_ZN4llvm35initializeCalculateSpillWeightsPassERNS_12PassRegistryE", "llvm::initializeCalculateSpillWeightsPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm21CalculateSpillWeights16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::CalculateSpillWeights::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm21CalculateSpillWeights20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::CalculateSpillWeights::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm14VirtRegAuxInfo22CalculateWeightAndHintERNS_12LiveIntervalE", "llvm::VirtRegAuxInfo::CalculateWeightAndHint(llvm::LiveInterval&)"},
-    {"_ZN4llvm14VirtRegAuxInfo17CalculateRegClassEj", "llvm::VirtRegAuxInfo::CalculateRegClass(unsigned int)"},
-    {"_ZN4llvm21CalculateSpillWeightsD1Ev", "llvm::CalculateSpillWeights::~CalculateSpillWeights()"},
-    {"_ZN4llvm21CalculateSpillWeightsD0Ev", "llvm::CalculateSpillWeights::~CalculateSpillWeights()"},
-    {"_ZN4llvm8DenseMapIjfNS_12DenseMapInfoIjEENS1_IfEEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, float, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<float> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIjfNS_12DenseMapInfoIjEENS1_IfEEE16InsertIntoBucketERKjRKfPSt4pairIjfE", "llvm::DenseMap<unsigned int, float, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<float> >::InsertIntoBucket(unsigned int const&, float const&, std::pair<unsigned int, float>*)"},
-    {"_ZN4llvm8DenseMapIjfNS_12DenseMapInfoIjEENS1_IfEEE4growEj", "llvm::DenseMap<unsigned int, float, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<float> >::grow(unsigned int)"},
-    {"_ZN4llvm15callDefaultCtorINS_21CalculateSpillWeightsEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::CalculateSpillWeights>()"},
-    {"_ZN4llvm7CCStateC1ENS_11CallingConv2IDEbRKNS_13TargetMachineERNS_11SmallVectorINS_11CCValAssignELj16EEERNS_11LLVMContextE", "llvm::CCState::CCState(llvm::CallingConv::ID, bool, llvm::TargetMachine const&, llvm::SmallVector<llvm::CCValAssign, 16u>&, llvm::LLVMContext&)"},
-    {"_ZN4llvm7CCStateC2ENS_11CallingConv2IDEbRKNS_13TargetMachineERNS_11SmallVectorINS_11CCValAssignELj16EEERNS_11LLVMContextE", "llvm::CCState::CCState(llvm::CallingConv::ID, bool, llvm::TargetMachine const&, llvm::SmallVector<llvm::CCValAssign, 16u>&, llvm::LLVMContext&)"},
-    {"_ZN4llvm7CCState11HandleByValEjNS_3MVTES1_NS_11CCValAssign7LocInfoEiiNS_3ISD10ArgFlagsTyE", "llvm::CCState::HandleByVal(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, int, int, llvm::ISD::ArgFlagsTy)"},
-    {"_ZN4llvm7CCState13MarkAllocatedEj", "llvm::CCState::MarkAllocated(unsigned int)"},
-    {"_ZN4llvm7CCState22AnalyzeFormalArgumentsERKNS_15SmallVectorImplINS_3ISD8InputArgEEEPFbjNS_3MVTES7_NS_11CCValAssign7LocInfoENS2_10ArgFlagsTyERS0_E", "llvm::CCState::AnalyzeFormalArguments(llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))"},
-    {"_ZN4llvm7CCState11CheckReturnERKNS_15SmallVectorImplINS_3ISD9OutputArgEEEPFbjNS_3MVTES7_NS_11CCValAssign7LocInfoENS2_10ArgFlagsTyERS0_E", "llvm::CCState::CheckReturn(llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))"},
-    {"_ZN4llvm7CCState13AnalyzeReturnERKNS_15SmallVectorImplINS_3ISD9OutputArgEEEPFbjNS_3MVTES7_NS_11CCValAssign7LocInfoENS2_10ArgFlagsTyERS0_E", "llvm::CCState::AnalyzeReturn(llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))"},
-    {"_ZN4llvm7CCState19AnalyzeCallOperandsERKNS_15SmallVectorImplINS_3ISD9OutputArgEEEPFbjNS_3MVTES7_NS_11CCValAssign7LocInfoENS2_10ArgFlagsTyERS0_E", "llvm::CCState::AnalyzeCallOperands(llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))"},
-    {"_ZN4llvm7CCState19AnalyzeCallOperandsERNS_15SmallVectorImplINS_3MVTEEERNS1_INS_3ISD10ArgFlagsTyEEEPFbjS2_S2_NS_11CCValAssign7LocInfoES6_RS0_E", "llvm::CCState::AnalyzeCallOperands(llvm::SmallVectorImpl<llvm::MVT>&, llvm::SmallVectorImpl<llvm::ISD::ArgFlagsTy>&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))"},
-    {"_ZN4llvm7CCState17AnalyzeCallResultERKNS_15SmallVectorImplINS_3ISD8InputArgEEEPFbjNS_3MVTES7_NS_11CCValAssign7LocInfoENS2_10ArgFlagsTyERS0_E", "llvm::CCState::AnalyzeCallResult(llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))"},
-    {"_ZN4llvm7CCState17AnalyzeCallResultENS_3MVTEPFbjS1_S1_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERS0_E", "llvm::CCState::AnalyzeCallResult(llvm::MVT, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))"},
-    {"_ZN4llvm26createCodePlacementOptPassEv", "llvm::createCodePlacementOptPass()"},
-    {"_ZN12_GLOBAL__N_116CodePlacementOptD1Ev", "(anonymous namespace)::CodePlacementOpt::~CodePlacementOpt()"},
-    {"_ZN12_GLOBAL__N_116CodePlacementOptD0Ev", "(anonymous namespace)::CodePlacementOpt::~CodePlacementOpt()"},
-    {"_ZNK12_GLOBAL__N_116CodePlacementOpt11getPassNameEv", "(anonymous namespace)::CodePlacementOpt::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_116CodePlacementOpt16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::CodePlacementOpt::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_116CodePlacementOpt20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::CodePlacementOpt::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_116CodePlacementOpt9AlignLoopERN4llvm15MachineFunctionEPNS1_11MachineLoopEj", "(anonymous namespace)::CodePlacementOpt::AlignLoop(llvm::MachineFunction&, llvm::MachineLoop*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_116CodePlacementOpt32OptimizeIntraLoopEdgesInLoopNestERN4llvm15MachineFunctionEPNS1_11MachineLoopE", "(anonymous namespace)::CodePlacementOpt::OptimizeIntraLoopEdgesInLoopNest(llvm::MachineFunction&, llvm::MachineLoop*)"},
-    {"_ZN12_GLOBAL__N_116CodePlacementOpt23HasAnalyzableTerminatorEPN4llvm17MachineBasicBlockE", "(anonymous namespace)::CodePlacementOpt::HasAnalyzableTerminator(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm22CriticalAntiDepBreakerC1ERNS_15MachineFunctionE", "llvm::CriticalAntiDepBreaker::CriticalAntiDepBreaker(llvm::MachineFunction&)"},
-    {"_ZN4llvm22CriticalAntiDepBreakerC2ERNS_15MachineFunctionE", "llvm::CriticalAntiDepBreaker::CriticalAntiDepBreaker(llvm::MachineFunction&)"},
-    {"_ZN4llvm22CriticalAntiDepBreakerD0Ev", "llvm::CriticalAntiDepBreaker::~CriticalAntiDepBreaker()"},
-    {"_ZN4llvm22CriticalAntiDepBreakerD1Ev", "llvm::CriticalAntiDepBreaker::~CriticalAntiDepBreaker()"},
-    {"_ZN4llvm22CriticalAntiDepBreakerD2Ev", "llvm::CriticalAntiDepBreaker::~CriticalAntiDepBreaker()"},
-    {"_ZN4llvm22CriticalAntiDepBreaker10StartBlockEPNS_17MachineBasicBlockE", "llvm::CriticalAntiDepBreaker::StartBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm22CriticalAntiDepBreaker11FinishBlockEv", "llvm::CriticalAntiDepBreaker::FinishBlock()"},
-    {"_ZN4llvm22CriticalAntiDepBreaker7ObserveEPNS_12MachineInstrEjj", "llvm::CriticalAntiDepBreaker::Observe(llvm::MachineInstr*, unsigned int, unsigned int)"},
-    {"_ZN4llvm22CriticalAntiDepBreaker18PrescanInstructionEPNS_12MachineInstrE", "llvm::CriticalAntiDepBreaker::PrescanInstruction(llvm::MachineInstr*)"},
-    {"_ZN4llvm22CriticalAntiDepBreaker15ScanInstructionEPNS_12MachineInstrEj", "llvm::CriticalAntiDepBreaker::ScanInstruction(llvm::MachineInstr*, unsigned int)"},
-    {"_ZN4llvm22CriticalAntiDepBreaker23isNewRegClobberedByRefsESt23_Rb_tree_const_iteratorISt4pairIKjPNS_14MachineOperandEEES7_j", "llvm::CriticalAntiDepBreaker::isNewRegClobberedByRefs(std::_Rb_tree_const_iterator<std::pair<unsigned int const, llvm::MachineOperand*> >, std::_Rb_tree_const_iterator<std::pair<unsigned int const, llvm::MachineOperand*> >, unsigned int)"},
-    {"_ZN4llvm22CriticalAntiDepBreaker24findSuitableFreeRegisterESt23_Rb_tree_const_iteratorISt4pairIKjPNS_14MachineOperandEEES7_jjPKNS_19TargetRegisterClassE", "llvm::CriticalAntiDepBreaker::findSuitableFreeRegister(std::_Rb_tree_const_iterator<std::pair<unsigned int const, llvm::MachineOperand*> >, std::_Rb_tree_const_iterator<std::pair<unsigned int const, llvm::MachineOperand*> >, unsigned int, unsigned int, llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm22CriticalAntiDepBreaker21BreakAntiDependenciesERKSt6vectorINS_5SUnitESaIS2_EENS_14ilist_iteratorINS_12MachineInstrEEES9_j", "llvm::CriticalAntiDepBreaker::BreakAntiDependencies(std::vector<llvm::SUnit, std::allocator<llvm::SUnit> > const&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEPKNS_5SUnitENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::MachineInstr*, llvm::SUnit const*, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<llvm::SUnit const*> >::InsertIntoBucket(llvm::MachineInstr* const&, llvm::SUnit const* const&, std::pair<llvm::MachineInstr*, llvm::SUnit const*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEPKNS_5SUnitENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MachineInstr*, llvm::SUnit const*, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<llvm::SUnit const*> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN4llvm14MachineOperandEESt10_Select1stIS5_ESt4lessIjESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_ESD_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::MachineOperand*>, std::_Select1st<std::pair<unsigned int const, llvm::MachineOperand*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::MachineOperand*> > >::erase(std::_Rb_tree_iterator<std::pair<unsigned int const, llvm::MachineOperand*> >, std::_Rb_tree_iterator<std::pair<unsigned int const, llvm::MachineOperand*> >)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjPN4llvm14MachineOperandEESt10_Select1stIS5_ESt4lessIjESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::MachineOperand*>, std::_Select1st<std::pair<unsigned int const, llvm::MachineOperand*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::MachineOperand*> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, llvm::MachineOperand*> >*)"},
-    {"_ZN4llvm40initializeDeadMachineInstructionElimPassERNS_12PassRegistryE", "llvm::initializeDeadMachineInstructionElimPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm36createDeadMachineInstructionElimPassEv", "llvm::createDeadMachineInstructionElimPass()"},
-    {"_ZN12_GLOBAL__N_126DeadMachineInstructionElimD1Ev", "(anonymous namespace)::DeadMachineInstructionElim::~DeadMachineInstructionElim()"},
-    {"_ZN12_GLOBAL__N_126DeadMachineInstructionElimD0Ev", "(anonymous namespace)::DeadMachineInstructionElim::~DeadMachineInstructionElim()"},
-    {"_ZN12_GLOBAL__N_126DeadMachineInstructionElim20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::DeadMachineInstructionElim::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_126DeadMachineInstructionElimEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::DeadMachineInstructionElim>()"},
-    {"_ZN4llvm17createDwarfEHPassEPKNS_13TargetMachineE", "llvm::createDwarfEHPass(llvm::TargetMachine const*)"},
-    {"_ZN12_GLOBAL__N_114DwarfEHPrepareD1Ev", "(anonymous namespace)::DwarfEHPrepare::~DwarfEHPrepare()"},
-    {"_ZN12_GLOBAL__N_114DwarfEHPrepareD0Ev", "(anonymous namespace)::DwarfEHPrepare::~DwarfEHPrepare()"},
-    {"_ZNK12_GLOBAL__N_114DwarfEHPrepare11getPassNameEv", "(anonymous namespace)::DwarfEHPrepare::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_114DwarfEHPrepare16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::DwarfEHPrepare::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114DwarfEHPrepare13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::DwarfEHPrepare::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_114DwarfEHPrepare16CleanupSelectorsERN4llvm11SmallPtrSetIPNS1_13IntrinsicInstELj32EEE", "(anonymous namespace)::DwarfEHPrepare::CleanupSelectors(llvm::SmallPtrSet<llvm::IntrinsicInst*, 32u>&)"},
-    {"_ZN12_GLOBAL__N_114DwarfEHPrepare19FindSelectorAndURoREPN4llvm11InstructionERbRNS1_11SmallPtrSetIPNS1_13IntrinsicInstELj8EEE", "(anonymous namespace)::DwarfEHPrepare::FindSelectorAndURoR(llvm::Instruction*, bool&, llvm::SmallPtrSet<llvm::IntrinsicInst*, 8u>&)"},
-    {"_ZN12_GLOBAL__N_114DwarfEHPrepare24CreateExceptionValueCallEPN4llvm10BasicBlockE", "(anonymous namespace)::DwarfEHPrepare::CreateExceptionValueCall(llvm::BasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE5SplitINS_7InverseIPS1_EENS_11GraphTraitsIS6_EEEEvRNS0_INT0_8NodeTypeEEEPSA_", "void llvm::DominatorTreeBase<llvm::BasicBlock>::Split<llvm::Inverse<llvm::BasicBlock*>, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> >::NodeType>&, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> >::NodeType*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE5SplitIPS1_NS_11GraphTraitsIS4_EEEEvRNS0_INT0_8NodeTypeEEEPS8_", "void llvm::DominatorTreeBase<llvm::BasicBlock>::Split<llvm::BasicBlock*, llvm::GraphTraits<llvm::BasicBlock*> >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::BasicBlock*>::NodeType>&, llvm::GraphTraits<llvm::BasicBlock*>::NodeType*)"},
-    {"_ZNSt6vectorIPN4llvm15DomTreeNodeBaseINS0_10BasicBlockEEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > >, llvm::DomTreeNodeBase<llvm::BasicBlock>* const&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm15DomTreeNodeBaseINS2_10BasicBlockEEESt6vectorIS6_SaIS6_EEEES6_ET_SC_SC_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > >, llvm::DomTreeNodeBase<llvm::BasicBlock>*>(__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > >, llvm::DomTreeNodeBase<llvm::BasicBlock>* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_15DomTreeNodeBaseIS1_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::DomTreeNodeBase<llvm::BasicBlock>* const&, std::pair<llvm::BasicBlock*, llvm::DomTreeNodeBase<llvm::BasicBlock>*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_15DomTreeNodeBaseIS1_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, llvm::BasicBlock* const&)"},
-    {"_ZN4llvm25initializeEdgeBundlesPassERNS_12PassRegistryE", "llvm::initializeEdgeBundlesPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm11EdgeBundles16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::EdgeBundles::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm11EdgeBundles20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::EdgeBundles::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZNK4llvm11EdgeBundles4viewEv", "llvm::EdgeBundles::view() const"},
-    {"_ZN4llvm10WriteGraphERNS_11raw_ostreamERKNS_11EdgeBundlesEbRKSs", "llvm::WriteGraph(llvm::raw_ostream&, llvm::EdgeBundles const&, bool, std::string const&)"},
-    {"_ZN4llvm11EdgeBundlesD1Ev", "llvm::EdgeBundles::~EdgeBundles()"},
-    {"_ZN4llvm11EdgeBundlesD0Ev", "llvm::EdgeBundles::~EdgeBundles()"},
-    {"_ZN4llvm10WriteGraphINS_11EdgeBundlesEEENS_3sys4PathERKT_RKSsbS8_", "llvm::sys::Path llvm::WriteGraph<llvm::EdgeBundles>(llvm::EdgeBundles const&, std::string const&, bool, std::string const&)"},
-    {"_ZN4llvm15callDefaultCtorINS_11EdgeBundlesEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::EdgeBundles>()"},
-    {"_ZN4llvm31initializeExpandISelPseudosPassERNS_12PassRegistryE", "llvm::initializeExpandISelPseudosPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm27createExpandISelPseudosPassEv", "llvm::createExpandISelPseudosPass()"},
-    {"_ZN12_GLOBAL__N_117ExpandISelPseudosD1Ev", "(anonymous namespace)::ExpandISelPseudos::~ExpandISelPseudos()"},
-    {"_ZN12_GLOBAL__N_117ExpandISelPseudosD0Ev", "(anonymous namespace)::ExpandISelPseudos::~ExpandISelPseudos()"},
-    {"_ZNK12_GLOBAL__N_117ExpandISelPseudos11getPassNameEv", "(anonymous namespace)::ExpandISelPseudos::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_117ExpandISelPseudos16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::ExpandISelPseudos::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_117ExpandISelPseudos20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::ExpandISelPseudos::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_117ExpandISelPseudosEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::ExpandISelPseudos>()"},
-    {"_ZN4llvm26initializeGCModuleInfoPassERNS_12PassRegistryE", "llvm::initializeGCModuleInfoPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm14GCFunctionInfoC1ERKNS_8FunctionERNS_10GCStrategyE", "llvm::GCFunctionInfo::GCFunctionInfo(llvm::Function const&, llvm::GCStrategy&)"},
-    {"_ZN4llvm14GCFunctionInfoC2ERKNS_8FunctionERNS_10GCStrategyE", "llvm::GCFunctionInfo::GCFunctionInfo(llvm::Function const&, llvm::GCStrategy&)"},
-    {"_ZN4llvm14GCFunctionInfoD1Ev", "llvm::GCFunctionInfo::~GCFunctionInfo()"},
-    {"_ZN4llvm14GCFunctionInfoD2Ev", "llvm::GCFunctionInfo::~GCFunctionInfo()"},
-    {"_ZN4llvm12GCModuleInfoC1Ev", "llvm::GCModuleInfo::GCModuleInfo()"},
-    {"_ZN4llvm12GCModuleInfoC2Ev", "llvm::GCModuleInfo::GCModuleInfo()"},
-    {"_ZN4llvm12GCModuleInfoD0Ev", "llvm::GCModuleInfo::~GCModuleInfo()"},
-    {"_ZN4llvm12GCModuleInfoD1Ev", "llvm::GCModuleInfo::~GCModuleInfo()"},
-    {"_ZN4llvm12GCModuleInfoD2Ev", "llvm::GCModuleInfo::~GCModuleInfo()"},
-    {"_ZN4llvm12GCModuleInfo5clearEv", "llvm::GCModuleInfo::clear()"},
-    {"_ZN4llvm12GCModuleInfo19getOrCreateStrategyEPKNS_6ModuleERKSs", "llvm::GCModuleInfo::getOrCreateStrategy(llvm::Module const*, std::string const&)"},
-    {"_ZN4llvm12GCModuleInfo15getFunctionInfoERKNS_8FunctionE", "llvm::GCModuleInfo::getFunctionInfo(llvm::Function const&)"},
-    {"_ZN4llvm19createGCInfoPrinterERNS_11raw_ostreamE", "llvm::createGCInfoPrinter(llvm::raw_ostream&)"},
-    {"_ZN4llvm19createGCInfoDeleterEv", "llvm::createGCInfoDeleter()"},
-    {"_ZN12_GLOBAL__N_17DeleterD1Ev", "(anonymous namespace)::Deleter::~Deleter()"},
-    {"_ZN12_GLOBAL__N_17DeleterD0Ev", "(anonymous namespace)::Deleter::~Deleter()"},
-    {"_ZNK12_GLOBAL__N_17Deleter11getPassNameEv", "(anonymous namespace)::Deleter::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_17Deleter16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::Deleter::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_17Deleter13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::Deleter::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_17Deleter14doFinalizationERN4llvm6ModuleE", "(anonymous namespace)::Deleter::doFinalization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_17PrinterD1Ev", "(anonymous namespace)::Printer::~Printer()"},
-    {"_ZN12_GLOBAL__N_17PrinterD0Ev", "(anonymous namespace)::Printer::~Printer()"},
-    {"_ZNK12_GLOBAL__N_17Printer11getPassNameEv", "(anonymous namespace)::Printer::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_17Printer16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::Printer::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_17Printer13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::Printer::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm8DenseMapIPKNS_8FunctionEPNS_14GCFunctionInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Function const*, llvm::GCFunctionInfo*, llvm::DenseMapInfo<llvm::Function const*>, llvm::DenseMapInfo<llvm::GCFunctionInfo*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_8FunctionEPNS_14GCFunctionInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::Function const*, llvm::GCFunctionInfo*, llvm::DenseMapInfo<llvm::Function const*>, llvm::DenseMapInfo<llvm::GCFunctionInfo*> >::InsertIntoBucket(llvm::Function const* const&, llvm::GCFunctionInfo* const&, std::pair<llvm::Function const*, llvm::GCFunctionInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_8FunctionEPNS_14GCFunctionInfoENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::Function const*, llvm::GCFunctionInfo*, llvm::DenseMapInfo<llvm::Function const*>, llvm::DenseMapInfo<llvm::GCFunctionInfo*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN4llvm10GCStrategyESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::GCStrategy*, std::allocator<llvm::GCStrategy*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::GCStrategy**, std::vector<llvm::GCStrategy*, std::allocator<llvm::GCStrategy*> > >, llvm::GCStrategy* const&)"},
-    {"_ZN4llvm9StringMapIPNS_10GCStrategyENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::GCStrategy*>& llvm::StringMap<llvm::GCStrategy*, llvm::MallocAllocator>::GetOrCreateValue<llvm::GCStrategy*>(llvm::StringRef, llvm::GCStrategy*)"},
-    {"_ZN4llvm15callDefaultCtorINS_12GCModuleInfoEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::GCModuleInfo>()"},
-    {"_ZN4llvm10GCStrategyC1Ev", "llvm::GCStrategy::GCStrategy()"},
-    {"_ZN4llvm10GCStrategyC2Ev", "llvm::GCStrategy::GCStrategy()"},
-    {"_ZN4llvm10GCStrategyD0Ev", "llvm::GCStrategy::~GCStrategy()"},
-    {"_ZN4llvm10GCStrategyD1Ev", "llvm::GCStrategy::~GCStrategy()"},
-    {"_ZN4llvm10GCStrategyD2Ev", "llvm::GCStrategy::~GCStrategy()"},
-    {"_ZN4llvm10GCStrategy24initializeCustomLoweringERNS_6ModuleE", "llvm::GCStrategy::initializeCustomLowering(llvm::Module&)"},
-    {"_ZN4llvm10GCStrategy21performCustomLoweringERNS_8FunctionE", "llvm::GCStrategy::performCustomLowering(llvm::Function&)"},
-    {"_ZN4llvm10GCStrategy18insertFunctionInfoERKNS_8FunctionE", "llvm::GCStrategy::insertFunctionInfo(llvm::Function const&)"},
-    {"_ZN4llvm29initializeLowerIntrinsicsPassERNS_12PassRegistryE", "llvm::initializeLowerIntrinsicsPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm20createGCLoweringPassEv", "llvm::createGCLoweringPass()"},
-    {"_ZN4llvm31createGCMachineCodeAnalysisPassEv", "llvm::createGCMachineCodeAnalysisPass()"},
-    {"_ZN12_GLOBAL__N_119MachineCodeAnalysisD1Ev", "(anonymous namespace)::MachineCodeAnalysis::~MachineCodeAnalysis()"},
-    {"_ZN12_GLOBAL__N_119MachineCodeAnalysisD0Ev", "(anonymous namespace)::MachineCodeAnalysis::~MachineCodeAnalysis()"},
-    {"_ZNK12_GLOBAL__N_119MachineCodeAnalysis11getPassNameEv", "(anonymous namespace)::MachineCodeAnalysis::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_119MachineCodeAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::MachineCodeAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_119MachineCodeAnalysis20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MachineCodeAnalysis::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZNK12_GLOBAL__N_119MachineCodeAnalysis11InsertLabelERN4llvm17MachineBasicBlockENS1_14ilist_iteratorINS1_12MachineInstrEEENS1_8DebugLocE", "(anonymous namespace)::MachineCodeAnalysis::InsertLabel(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::DebugLoc) const"},
-    {"_ZN12_GLOBAL__N_115LowerIntrinsicsD1Ev", "(anonymous namespace)::LowerIntrinsics::~LowerIntrinsics()"},
-    {"_ZN12_GLOBAL__N_115LowerIntrinsicsD0Ev", "(anonymous namespace)::LowerIntrinsics::~LowerIntrinsics()"},
-    {"_ZNK12_GLOBAL__N_115LowerIntrinsics11getPassNameEv", "(anonymous namespace)::LowerIntrinsics::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_115LowerIntrinsics16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LowerIntrinsics::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_115LowerIntrinsics16doInitializationERN4llvm6ModuleE", "(anonymous namespace)::LowerIntrinsics::doInitialization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_115LowerIntrinsics13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::LowerIntrinsics::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_115LowerIntrinsicsEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LowerIntrinsics>()"},
-    {"_ZNSt6vectorIPN4llvm14GCFunctionInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::GCFunctionInfo*, std::allocator<llvm::GCFunctionInfo*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::GCFunctionInfo**, std::vector<llvm::GCFunctionInfo*, std::allocator<llvm::GCFunctionInfo*> > >, llvm::GCFunctionInfo* const&)"},
-    {"_ZNSt6vectorIN4llvm7GCPointESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::GCPoint, std::allocator<llvm::GCPoint> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::GCPoint*, std::vector<llvm::GCPoint, std::allocator<llvm::GCPoint> > >, llvm::GCPoint const&)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE11recalculateINS_8FunctionEEEvRT_", "void llvm::DominatorTreeBase<llvm::BasicBlock>::recalculate<llvm::Function>(llvm::Function&)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockES2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::BasicBlock*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::BasicBlock* const&, std::pair<llvm::BasicBlock*, llvm::BasicBlock*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockES2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::BasicBlock*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockES2_NS_12DenseMapInfoIS2_EES4_E16shrink_and_clearEv", "llvm::DenseMap<llvm::BasicBlock*, llvm::BasicBlock*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_15DomTreeNodeBaseIS1_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::BasicBlock*, llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::shrink_and_clear()"},
-    {"_ZN4llvm25initializeIfConverterPassERNS_12PassRegistryE", "llvm::initializeIfConverterPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm21createIfConverterPassEv", "llvm::createIfConverterPass()"},
-    {"_ZN12_GLOBAL__N_111IfConverterD1Ev", "(anonymous namespace)::IfConverter::~IfConverter()"},
-    {"_ZN12_GLOBAL__N_111IfConverterD0Ev", "(anonymous namespace)::IfConverter::~IfConverter()"},
-    {"_ZNK12_GLOBAL__N_111IfConverter11getPassNameEv", "(anonymous namespace)::IfConverter::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_111IfConverter16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::IfConverter::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_111IfConverter20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::IfConverter::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_111IfConverter14PredicateBlockERNS0_6BBInfoEN4llvm14ilist_iteratorINS3_12MachineInstrEEERNS3_15SmallVectorImplINS3_14MachineOperandEEERNS3_8SmallSetIjLj4EEE", "(anonymous namespace)::IfConverter::PredicateBlock((anonymous namespace)::IfConverter::BBInfo&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::SmallVectorImpl<llvm::MachineOperand>&, llvm::SmallSet<unsigned int, 4u>&)"},
-    {"_ZN12_GLOBAL__N_111IfConverter11MergeBlocksERNS0_6BBInfoES2_b", "(anonymous namespace)::IfConverter::MergeBlocks((anonymous namespace)::IfConverter::BBInfo&, (anonymous namespace)::IfConverter::BBInfo&, bool)"},
-    {"_ZN12_GLOBAL__N_111IfConverter6BBInfoC1ERKS1_", "(anonymous namespace)::IfConverter::BBInfo::BBInfo((anonymous namespace)::IfConverter::BBInfo const&)"},
-    {"_ZN12_GLOBAL__N_111IfConverter16RemoveExtraEdgesERNS0_6BBInfoE", "(anonymous namespace)::IfConverter::RemoveExtraEdges((anonymous namespace)::IfConverter::BBInfo&)"},
-    {"_Z16UpdatePredRedefsPN4llvm12MachineInstrERNS_8SmallSetIjLj4EEEPKNS_18TargetRegisterInfoEb", "UpdatePredRedefs(llvm::MachineInstr*, llvm::SmallSet<unsigned int, 4u>&, llvm::TargetRegisterInfo const*, bool)"},
-    {"_ZN12_GLOBAL__N_111IfConverter21CopyAndPredicateBlockERNS0_6BBInfoES2_RN4llvm15SmallVectorImplINS3_14MachineOperandEEERNS3_8SmallSetIjLj4EEEb", "(anonymous namespace)::IfConverter::CopyAndPredicateBlock((anonymous namespace)::IfConverter::BBInfo&, (anonymous namespace)::IfConverter::BBInfo&, llvm::SmallVectorImpl<llvm::MachineOperand>&, llvm::SmallSet<unsigned int, 4u>&, bool)"},
-    {"_ZN12_GLOBAL__N_111IfConverter12AnalyzeBlockEPN4llvm17MachineBasicBlockERSt6vectorIPNS0_10IfcvtTokenESaIS6_EE", "(anonymous namespace)::IfConverter::AnalyzeBlock(llvm::MachineBasicBlock*, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> >&)"},
-    {"_ZSt21__inplace_stable_sortIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEEPFbS5_S5_EEvT_SD_T0_", "void std::__inplace_stable_sort<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt22__stable_sort_adaptiveIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEES6_lPFbS5_S5_EEvT_SD_T0_T1_T2_", "void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken**, long, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken**, long, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEES6_PFbS5_S5_EEvT_SD_T0_T1_", "void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken**, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken**, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEElS6_PFbS5_S5_EEvT_SD_SD_T0_SE_T1_SE_T2_", "void std::__merge_adaptive<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, long, (anonymous namespace)::IfConverter::IfcvtToken**, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, long, long, (anonymous namespace)::IfConverter::IfcvtToken**, long, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt11lower_boundIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEES5_PFbS5_S5_EET_SD_SD_RKT0_T1_", "__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > > std::lower_bound<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken*, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken* const&, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt11upper_boundIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEES5_PFbS5_S5_EET_SD_SD_RKT0_T1_", "__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > > std::upper_bound<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken*, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken* const&, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt6rotateIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEEEvT_SB_SB_", "void std::rotate<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > > >(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >)"},
-    {"_ZSt5mergeIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenES4_N9__gnu_cxx17__normal_iteratorIS4_St6vectorIS3_SaIS3_EEEEPFbS3_S3_EET1_T_SE_T0_SF_SD_T2_", "__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > > std::merge<(anonymous namespace)::IfConverter::IfcvtToken**, (anonymous namespace)::IfConverter::IfcvtToken**, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>((anonymous namespace)::IfConverter::IfcvtToken**, (anonymous namespace)::IfConverter::IfcvtToken**, (anonymous namespace)::IfConverter::IfcvtToken**, (anonymous namespace)::IfConverter::IfcvtToken**, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt5mergeIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEESA_S6_PFbS5_S5_EET1_T_SE_T0_SF_SD_T2_", "(anonymous namespace)::IfConverter::IfcvtToken** std::merge<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken**, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, (anonymous namespace)::IfConverter::IfcvtToken**, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEEPFbS5_S5_EEvT_SD_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZSt22__merge_without_bufferIN9__gnu_cxx17__normal_iteratorIPPN12_GLOBAL__N_111IfConverter10IfcvtTokenESt6vectorIS5_SaIS5_EEEElPFbS5_S5_EEvT_SD_SD_T0_SE_T1_", "void std::__merge_without_buffer<__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, long, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*)>(__gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::IfConverter::IfcvtToken**, std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> > >, long, long, bool (*)((anonymous namespace)::IfConverter::IfcvtToken*, (anonymous namespace)::IfConverter::IfcvtToken*))"},
-    {"_ZN12_GLOBAL__N_111IfConverter19FeasibilityAnalysisERNS0_6BBInfoERN4llvm15SmallVectorImplINS3_14MachineOperandEEEbb", "(anonymous namespace)::IfConverter::FeasibilityAnalysis((anonymous namespace)::IfConverter::BBInfo&, llvm::SmallVectorImpl<llvm::MachineOperand>&, bool, bool)"},
-    {"_ZNSt6vectorIPN12_GLOBAL__N_111IfConverter10IfcvtTokenESaIS3_EE9push_backERKS3_", "std::vector<(anonymous namespace)::IfConverter::IfcvtToken*, std::allocator<(anonymous namespace)::IfConverter::IfcvtToken*> >::push_back((anonymous namespace)::IfConverter::IfcvtToken* const&)"},
-    {"_ZNK12_GLOBAL__N_111IfConverter13ValidTriangleERNS0_6BBInfoES2_bRjff", "(anonymous namespace)::IfConverter::ValidTriangle((anonymous namespace)::IfConverter::BBInfo&, (anonymous namespace)::IfConverter::BBInfo&, bool, unsigned int&, float, float) const"},
-    {"_ZSt4fillIPN12_GLOBAL__N_111IfConverter6BBInfoES2_EvT_S4_RKT0_", "void std::fill<(anonymous namespace)::IfConverter::BBInfo*, (anonymous namespace)::IfConverter::BBInfo>((anonymous namespace)::IfConverter::BBInfo*, (anonymous namespace)::IfConverter::BBInfo*, (anonymous namespace)::IfConverter::BBInfo const&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_111IfConverterEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::IfConverter>()"},
-    {"_ZN4llvm15SmallVectorImplINS_14MachineOperandEEaSERKS2_", "llvm::SmallVectorImpl<llvm::MachineOperand>::operator=(llvm::SmallVectorImpl<llvm::MachineOperand> const&)"},
-    {"_ZN4llvm8SmallSetIjLj4EE5eraseERKj", "llvm::SmallSet<unsigned int, 4u>::erase(unsigned int const&)"},
-    {"_ZNSt8_Rb_treeIjjSt9_IdentityIjESt4lessIjESaIjEE5eraseESt17_Rb_tree_iteratorIjES7_", "std::_Rb_tree<unsigned int, unsigned int, std::_Identity<unsigned int>, std::less<unsigned int>, std::allocator<unsigned int> >::erase(std::_Rb_tree_iterator<unsigned int>, std::_Rb_tree_iterator<unsigned int>)"},
-    {"_ZN4llvm13idf_ext_beginIPNS_17MachineBasicBlockESt3setIS2_St4lessIS2_ESaIS2_EEEENS_16idf_ext_iteratorIT_T0_EERKS9_RSA_", "llvm::idf_ext_iterator<llvm::MachineBasicBlock*, std::set<llvm::MachineBasicBlock*, std::less<llvm::MachineBasicBlock*>, std::allocator<llvm::MachineBasicBlock*> > > llvm::idf_ext_begin<llvm::MachineBasicBlock*, std::set<llvm::MachineBasicBlock*, std::less<llvm::MachineBasicBlock*>, std::allocator<llvm::MachineBasicBlock*> > >(llvm::MachineBasicBlock* const&, std::set<llvm::MachineBasicBlock*, std::less<llvm::MachineBasicBlock*>, std::allocator<llvm::MachineBasicBlock*> >&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm17MachineBasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, std::_Identity<llvm::MachineBasicBlock*>, std::less<llvm::MachineBasicBlock*>, std::allocator<llvm::MachineBasicBlock*> >::_M_erase(std::_Rb_tree_node<llvm::MachineBasicBlock*>*)"},
-    {"_ZN4llvm11df_iteratorINS_7InverseIPNS_17MachineBasicBlockEEESt3setIS3_St4lessIS3_ESaIS3_EELb1ENS_11GraphTraitsIS4_EEE6toNextEv", "llvm::df_iterator<llvm::Inverse<llvm::MachineBasicBlock*>, std::set<llvm::MachineBasicBlock*, std::less<llvm::MachineBasicBlock*>, std::allocator<llvm::MachineBasicBlock*> >, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> > >::toNext()"},
-    {"_ZNSt8_Rb_treeIPN4llvm17MachineBasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, std::_Identity<llvm::MachineBasicBlock*>, std::less<llvm::MachineBasicBlock*>, std::allocator<llvm::MachineBasicBlock*> >::_M_insert_unique(llvm::MachineBasicBlock* const&)"},
-    {"_ZN4llvm19createInlineSpillerERNS_19MachineFunctionPassERNS_15MachineFunctionERNS_10VirtRegMapE", "llvm::createInlineSpiller(llvm::MachineFunctionPass&, llvm::MachineFunction&, llvm::VirtRegMap&)"},
-    {"_ZN12_GLOBAL__N_113InlineSpillerD1Ev", "(anonymous namespace)::InlineSpiller::~InlineSpiller()"},
-    {"_ZN12_GLOBAL__N_113InlineSpillerD0Ev", "(anonymous namespace)::InlineSpiller::~InlineSpiller()"},
-    {"_ZN12_GLOBAL__N_113InlineSpiller5spillEPN4llvm12LiveIntervalERNS1_15SmallVectorImplIS3_EERKS5_", "(anonymous namespace)::InlineSpiller::spill(llvm::LiveInterval*, llvm::SmallVectorImpl<llvm::LiveInterval*>&, llvm::SmallVectorImpl<llvm::LiveInterval*> const&)"},
-    {"_ZN12_GLOBAL__N_113InlineSpiller17foldMemoryOperandEN4llvm14ilist_iteratorINS1_12MachineInstrEEERKNS1_15SmallVectorImplIjEEPS3_", "(anonymous namespace)::InlineSpiller::foldMemoryOperand(llvm::ilist_iterator<llvm::MachineInstr>, llvm::SmallVectorImpl<unsigned int> const&, llvm::MachineInstr*)"},
-    {"_ZN4llvm17IntrinsicLowering13AddPrototypesERNS_6ModuleE", "llvm::IntrinsicLowering::AddPrototypes(llvm::Module&)"},
-    {"_Z20EnsureFunctionExistsIN4llvm14ilist_iteratorINS0_8ArgumentEEEEvRNS0_6ModuleEPKcT_S8_PKNS0_4TypeE", "void EnsureFunctionExists<llvm::ilist_iterator<llvm::Argument> >(llvm::Module&, char const*, llvm::ilist_iterator<llvm::Argument>, llvm::ilist_iterator<llvm::Argument>, llvm::Type const*)"},
-    {"_Z23EnsureFPIntrinsicsExistRN4llvm6ModuleEPNS_8FunctionEPKcS5_S5_", "EnsureFPIntrinsicsExist(llvm::Module&, llvm::Function*, char const*, char const*, char const*)"},
-    {"_ZN4llvm17IntrinsicLowering18LowerIntrinsicCallEPNS_8CallInstE", "llvm::IntrinsicLowering::LowerIntrinsicCall(llvm::CallInst*)"},
-    {"_Z15ReplaceCallWithIPN4llvm3UseEEPNS0_8CallInstEPKcS4_T_S7_PKNS0_4TypeE", "llvm::CallInst* ReplaceCallWith<llvm::Use*>(char const*, llvm::CallInst*, llvm::Use*, llvm::Use*, llvm::Type const*)"},
-    {"_Z10LowerCTPOPRN4llvm11LLVMContextEPNS_5ValueEPNS_11InstructionE", "LowerCTPOP(llvm::LLVMContext&, llvm::Value*, llvm::Instruction*)"},
-    {"_Z15ReplaceCallWithIPPN4llvm5ValueEEPNS0_8CallInstEPKcS5_T_S8_PKNS0_4TypeE", "llvm::CallInst* ReplaceCallWith<llvm::Value**>(char const*, llvm::CallInst*, llvm::Value**, llvm::Value**, llvm::Type const*)"},
-    {"_Z26ReplaceFPIntrinsicWithCallPN4llvm8CallInstEPKcS3_S3_", "ReplaceFPIntrinsicWithCall(llvm::CallInst*, char const*, char const*, char const*)"},
-    {"_ZN4llvm17IntrinsicLowering15LowerToByteSwapEPNS_8CallInstE", "llvm::IntrinsicLowering::LowerToByteSwap(llvm::CallInst*)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateNotEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateNot(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateSubEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateSub(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateAndEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateAnd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE13CreateIntCastEPNS_5ValueEPKNS_4TypeEbRKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateIntCast(llvm::Value*, llvm::Type const*, bool, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateCallIPPNS_5ValueEEEPNS_8CallInstES7_T_SB_RKNS_5TwineE", "llvm::CallInst* llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateCall<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateAddEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateAdd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm17LLVMTargetMachineC1ERKNS_6TargetERKSs", "llvm::LLVMTargetMachine::LLVMTargetMachine(llvm::Target const&, std::string const&)"},
-    {"_ZN4llvm17LLVMTargetMachineC2ERKNS_6TargetERKSs", "llvm::LLVMTargetMachine::LLVMTargetMachine(llvm::Target const&, std::string const&)"},
-    {"_ZN4llvm17LLVMTargetMachine18setCodeModelForJITEv", "llvm::LLVMTargetMachine::setCodeModelForJIT()"},
-    {"_ZN4llvm17LLVMTargetMachine21setCodeModelForStaticEv", "llvm::LLVMTargetMachine::setCodeModelForStatic()"},
-    {"_ZN4llvm17LLVMTargetMachine19addPassesToEmitFileERNS_15PassManagerBaseERNS_21formatted_raw_ostreamENS_13TargetMachine15CodeGenFileTypeENS_10CodeGenOpt5LevelEb", "llvm::LLVMTargetMachine::addPassesToEmitFile(llvm::PassManagerBase&, llvm::formatted_raw_ostream&, llvm::TargetMachine::CodeGenFileType, llvm::CodeGenOpt::Level, bool)"},
-    {"_ZN4llvm17LLVMTargetMachine22addCommonCodeGenPassesERNS_15PassManagerBaseENS_10CodeGenOpt5LevelEbRPNS_9MCContextE", "llvm::LLVMTargetMachine::addCommonCodeGenPasses(llvm::PassManagerBase&, llvm::CodeGenOpt::Level, bool, llvm::MCContext*&)"},
-    {"_ZN4llvm17LLVMTargetMachine26addPassesToEmitMachineCodeERNS_15PassManagerBaseERNS_14JITCodeEmitterENS_10CodeGenOpt5LevelEb", "llvm::LLVMTargetMachine::addPassesToEmitMachineCode(llvm::PassManagerBase&, llvm::JITCodeEmitter&, llvm::CodeGenOpt::Level, bool)"},
-    {"_ZN4llvm17LLVMTargetMachine17addPassesToEmitMCERNS_15PassManagerBaseERPNS_9MCContextENS_10CodeGenOpt5LevelEb", "llvm::LLVMTargetMachine::addPassesToEmitMC(llvm::PassManagerBase&, llvm::MCContext*&, llvm::CodeGenOpt::Level, bool)"},
-    {"_Z14printAndVerifyRN4llvm15PassManagerBaseEPKc", "printAndVerify(llvm::PassManagerBase&, char const*)"},
-    {"_Z13printNoVerifyRN4llvm15PassManagerBaseEPKc", "printNoVerify(llvm::PassManagerBase&, char const*)"},
-    {"_ZN4llvm2cl3optINS0_13boolOrDefaultELb0ENS0_6parserIS2_EEED1Ev", "llvm::cl::opt<llvm::cl::boolOrDefault, false, llvm::cl::parser<llvm::cl::boolOrDefault> >::~opt()"},
-    {"_ZN4llvm2cl3optINS0_13boolOrDefaultELb0ENS0_6parserIS2_EEE16handleOccurrenceEjNS_9StringRefES6_", "llvm::cl::opt<llvm::cl::boolOrDefault, false, llvm::cl::parser<llvm::cl::boolOrDefault> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optINS0_13boolOrDefaultELb0ENS0_6parserIS2_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<llvm::cl::boolOrDefault, false, llvm::cl::parser<llvm::cl::boolOrDefault> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optINS0_13boolOrDefaultELb0ENS0_6parserIS2_EEE14getOptionWidthEv", "llvm::cl::opt<llvm::cl::boolOrDefault, false, llvm::cl::parser<llvm::cl::boolOrDefault> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optINS0_13boolOrDefaultELb0ENS0_6parserIS2_EEE15printOptionInfoEm", "llvm::cl::opt<llvm::cl::boolOrDefault, false, llvm::cl::parser<llvm::cl::boolOrDefault> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optINS0_13boolOrDefaultELb0ENS0_6parserIS2_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<llvm::cl::boolOrDefault, false, llvm::cl::parser<llvm::cl::boolOrDefault> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optINS0_13boolOrDefaultELb0ENS0_6parserIS2_EEED0Ev", "llvm::cl::opt<llvm::cl::boolOrDefault, false, llvm::cl::parser<llvm::cl::boolOrDefault> >::~opt()"},
-    {"_ZNK4llvm12latency_sortclEPKNS_5SUnitES3_", "llvm::latency_sort::operator()(llvm::SUnit const*, llvm::SUnit const*) const"},
-    {"_ZN4llvm20LatencyPriorityQueue24getSingleUnscheduledPredEPNS_5SUnitE", "llvm::LatencyPriorityQueue::getSingleUnscheduledPred(llvm::SUnit*)"},
-    {"_ZN4llvm20LatencyPriorityQueue4pushEPNS_5SUnitE", "llvm::LatencyPriorityQueue::push(llvm::SUnit*)"},
-    {"_ZN4llvm20LatencyPriorityQueue13ScheduledNodeEPNS_5SUnitE", "llvm::LatencyPriorityQueue::ScheduledNode(llvm::SUnit*)"},
-    {"_ZN4llvm20LatencyPriorityQueue32AdjustPriorityOfUnscheduledPredsEPNS_5SUnitE", "llvm::LatencyPriorityQueue::AdjustPriorityOfUnscheduledPreds(llvm::SUnit*)"},
-    {"_ZN4llvm20LatencyPriorityQueue3popEv", "llvm::LatencyPriorityQueue::pop()"},
-    {"_ZN4llvm20LatencyPriorityQueue6removeEPNS_5SUnitE", "llvm::LatencyPriorityQueue::remove(llvm::SUnit*)"},
-    {"_ZNK4llvm20LatencyPriorityQueue4dumpEPNS_11ScheduleDAGE", "llvm::LatencyPriorityQueue::dump(llvm::ScheduleDAG*) const"},
-    {"_ZN4llvm32initializeLiveDebugVariablesPassERNS_12PassRegistryE", "llvm::initializeLiveDebugVariablesPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm18LiveDebugVariables16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::LiveDebugVariables::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm18LiveDebugVariablesC1Ev", "llvm::LiveDebugVariables::LiveDebugVariables()"},
-    {"_ZN4llvm18LiveDebugVariablesC2Ev", "llvm::LiveDebugVariables::LiveDebugVariables()"},
-    {"_ZN4llvm18LiveDebugVariables20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::LiveDebugVariables::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm18LiveDebugVariables13releaseMemoryEv", "llvm::LiveDebugVariables::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_17LDVImpl5clearEv", "(anonymous namespace)::LDVImpl::clear()"},
-    {"_ZN4llvm18LiveDebugVariablesD0Ev", "llvm::LiveDebugVariables::~LiveDebugVariables()"},
-    {"_ZN4llvm18LiveDebugVariablesD1Ev", "llvm::LiveDebugVariables::~LiveDebugVariables()"},
-    {"_ZN4llvm18LiveDebugVariablesD2Ev", "llvm::LiveDebugVariables::~LiveDebugVariables()"},
-    {"_ZN4llvm18LiveDebugVariables14renameRegisterEjjj", "llvm::LiveDebugVariables::renameRegister(unsigned int, unsigned int, unsigned int)"},
-    {"_ZN4llvm18LiveDebugVariables15emitDebugValuesEPNS_10VirtRegMapE", "llvm::LiveDebugVariables::emitDebugValues(llvm::VirtRegMap*)"},
-    {"_ZN12_GLOBAL__N_19UserValue16insertDebugValueEPN4llvm17MachineBasicBlockENS1_9SlotIndexEjRNS1_13LiveIntervalsERKNS1_15TargetInstrInfoE", "(anonymous namespace)::UserValue::insertDebugValue(llvm::MachineBasicBlock*, llvm::SlotIndex, unsigned int, llvm::LiveIntervals&, llvm::TargetInstrInfo const&)"},
-    {"_Z18findInsertLocationPN4llvm17MachineBasicBlockENS_9SlotIndexERNS_13LiveIntervalsE", "findInsertLocation(llvm::MachineBasicBlock*, llvm::SlotIndex, llvm::LiveIntervals&)"},
-    {"_ZN12_GLOBAL__N_19UserValue16coalesceLocationEj", "(anonymous namespace)::UserValue::coalesceLocation(unsigned int)"},
-    {"_ZN12_GLOBAL__N_17LDVImpl10mapVirtRegEjPNS_9UserValueE", "(anonymous namespace)::LDVImpl::mapVirtReg(unsigned int, (anonymous namespace)::UserValue*)"},
-    {"_ZN12_GLOBAL__N_19UserValue9extendDefEN4llvm9SlotIndexEjPNS1_12LiveIntervalEPKNS1_6VNInfoERNS1_13LiveIntervalsERNS1_20MachineDominatorTreeE", "(anonymous namespace)::UserValue::extendDef(llvm::SlotIndex, unsigned int, llvm::LiveInterval*, llvm::VNInfo const*, llvm::LiveIntervals&, llvm::MachineDominatorTree&)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE14const_iterator7setRootEj", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::const_iterator::setRoot(unsigned int)"},
-    {"_ZN4llvm15IntervalMapImpl4Path8fillLeftEj", "llvm::IntervalMapImpl::Path::fillLeft(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_15IntervalMapImpl4Path5EntryELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::IntervalMapImpl::Path::Entry, false>::grow(unsigned long)"},
-    {"_ZN4llvm15SmallVectorImplINS_15IntervalMapImpl4Path5EntryEEaSERKS4_", "llvm::SmallVectorImpl<llvm::IntervalMapImpl::Path::Entry>::operator=(llvm::SmallVectorImpl<llvm::IntervalMapImpl::Path::Entry> const&)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator8setValueEj", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::setValue(unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator16canCoalesceRightES1_j", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::canCoalesceRight(llvm::SlotIndex, unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator15canCoalesceLeftES1_j", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::canCoalesceLeft(llvm::SlotIndex, unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator9treeEraseEb", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::treeErase(bool)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator9eraseNodeEj", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::eraseNode(unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE16switchRootToLeafEv", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::switchRootToLeaf()"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE10visitNodesEMS4_FvNS_15IntervalMapImpl7NodeRefEjE", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::visitNodes(void (llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::*)(llvm::IntervalMapImpl::NodeRef, unsigned int))"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE10deleteNodeENS_15IntervalMapImpl7NodeRefEj", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::deleteNode(llvm::IntervalMapImpl::NodeRef, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplINS_15IntervalMapImpl7NodeRefEE4swapERS3_", "llvm::SmallVectorImpl<llvm::IntervalMapImpl::NodeRef>::swap(llvm::SmallVectorImpl<llvm::IntervalMapImpl::NodeRef>&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_15IntervalMapImpl7NodeRefELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::IntervalMapImpl::NodeRef, false>::grow(unsigned long)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator6insertES1_S1_j", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::insert(llvm::SlotIndex, llvm::SlotIndex, unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator10treeInsertES1_S1_j", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::treeInsert(llvm::SlotIndex, llvm::SlotIndex, unsigned int)"},
-    {"_ZN4llvm15IntervalMapImpl8LeafNodeINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS2_EEE10insertFromERjjS2_S2_j", "llvm::IntervalMapImpl::LeafNode<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::insertFrom(unsigned int&, unsigned int, llvm::SlotIndex, llvm::SlotIndex, unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE10branchRootEj", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::branchRoot(unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE18switchRootToBranchEv", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::switchRootToBranch()"},
-    {"_ZN4llvm15IntervalMapImpl8NodeBaseISt4pairINS_9SlotIndexES3_EjLj9EEC2Ev", "llvm::IntervalMapImpl::NodeBase<std::pair<llvm::SlotIndex, llvm::SlotIndex>, unsigned int, 9u>::NodeBase()"},
-    {"_ZN4llvm15IntervalMapImpl8LeafNodeINS_9SlotIndexEjLj9ENS_15IntervalMapInfoIS2_EEE10insertFromERjjS2_S2_j", "llvm::IntervalMapImpl::LeafNode<llvm::SlotIndex, unsigned int, 9u, llvm::IntervalMapInfo<llvm::SlotIndex> >::insertFrom(unsigned int&, unsigned int, llvm::SlotIndex, llvm::SlotIndex, unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator8overflowINS_15IntervalMapImpl8LeafNodeIS1_jLj9ES3_EEEEbj", "bool llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::overflow<llvm::IntervalMapImpl::LeafNode<llvm::SlotIndex, unsigned int, 9u, llvm::IntervalMapInfo<llvm::SlotIndex> > >(unsigned int)"},
-    {"_ZN4llvm15IntervalMapImpl18adjustSiblingSizesINS0_8LeafNodeINS_9SlotIndexEjLj9ENS_15IntervalMapInfoIS3_EEEEEEvPPT_jPjPKj", "void llvm::IntervalMapImpl::adjustSiblingSizes<llvm::IntervalMapImpl::LeafNode<llvm::SlotIndex, unsigned int, 9u, llvm::IntervalMapInfo<llvm::SlotIndex> > >(llvm::IntervalMapImpl::LeafNode<llvm::SlotIndex, unsigned int, 9u, llvm::IntervalMapInfo<llvm::SlotIndex> >**, unsigned int, unsigned int*, unsigned int const*)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator10insertNodeEjNS_15IntervalMapImpl7NodeRefES1_", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::insertNode(unsigned int, llvm::IntervalMapImpl::NodeRef, llvm::SlotIndex)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE9splitRootEj", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::splitRoot(unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE8iterator8overflowINS_15IntervalMapImpl10BranchNodeIS1_jLj12ES3_EEEEbj", "bool llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::overflow<llvm::IntervalMapImpl::BranchNode<llvm::SlotIndex, unsigned int, 12u, llvm::IntervalMapInfo<llvm::SlotIndex> > >(unsigned int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE7newNodeINS_15IntervalMapImpl10BranchNodeIS1_jLj12ES3_EEEEPT_v", "llvm::IntervalMapImpl::BranchNode<llvm::SlotIndex, unsigned int, 12u, llvm::IntervalMapInfo<llvm::SlotIndex> >* llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::newNode<llvm::IntervalMapImpl::BranchNode<llvm::SlotIndex, unsigned int, 12u, llvm::IntervalMapInfo<llvm::SlotIndex> > >()"},
-    {"_ZN4llvm15IntervalMapImpl18adjustSiblingSizesINS0_10BranchNodeINS_9SlotIndexEjLj12ENS_15IntervalMapInfoIS3_EEEEEEvPPT_jPjPKj", "void llvm::IntervalMapImpl::adjustSiblingSizes<llvm::IntervalMapImpl::BranchNode<llvm::SlotIndex, unsigned int, 12u, llvm::IntervalMapInfo<llvm::SlotIndex> > >(llvm::IntervalMapImpl::BranchNode<llvm::SlotIndex, unsigned int, 12u, llvm::IntervalMapInfo<llvm::SlotIndex> >**, unsigned int, unsigned int*, unsigned int const*)"},
-    {"_ZN4llvm15IntervalMapImpl8NodeBaseINS0_7NodeRefENS_9SlotIndexELj12EE17adjustFromLeftSibEjRS4_ji", "llvm::IntervalMapImpl::NodeBase<llvm::IntervalMapImpl::NodeRef, llvm::SlotIndex, 12u>::adjustFromLeftSib(unsigned int, llvm::IntervalMapImpl::NodeBase<llvm::IntervalMapImpl::NodeRef, llvm::SlotIndex, 12u>&, unsigned int, int)"},
-    {"_ZN4llvm15IntervalMapImpl8NodeBaseISt4pairINS_9SlotIndexES3_EjLj9EE17adjustFromLeftSibEjRS5_ji", "llvm::IntervalMapImpl::NodeBase<std::pair<llvm::SlotIndex, llvm::SlotIndex>, unsigned int, 9u>::adjustFromLeftSib(unsigned int, llvm::IntervalMapImpl::NodeBase<std::pair<llvm::SlotIndex, llvm::SlotIndex>, unsigned int, 9u>&, unsigned int, int)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE14const_iterator4findES1_", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::const_iterator::find(llvm::SlotIndex)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE14const_iterator8treeFindES1_", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::const_iterator::treeFind(llvm::SlotIndex)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEE14const_iterator12pathFillFindES1_", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::const_iterator::pathFillFind(llvm::SlotIndex)"},
-    {"_ZN4llvm11IntervalMapINS_9SlotIndexEjLj4ENS_15IntervalMapInfoIS1_EEEC2ERNS_18RecyclingAllocatorINS_16BumpPtrAllocatorEcLm192ELm64EEE", "llvm::IntervalMap<llvm::SlotIndex, unsigned int, 4u, llvm::IntervalMapInfo<llvm::SlotIndex> >::IntervalMap(llvm::RecyclingAllocator<llvm::BumpPtrAllocator, char, 192ul, 64ul>&)"},
-    {"_ZN4llvm15callDefaultCtorINS_18LiveDebugVariablesEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::LiveDebugVariables>()"},
-    {"_ZN4llvm12LiveInterval4findENS_9SlotIndexE", "llvm::LiveInterval::find(llvm::SlotIndex)"},
-    {"_ZNK4llvm12LiveInterval13killedInRangeENS_9SlotIndexES1_", "llvm::LiveInterval::killedInRange(llvm::SlotIndex, llvm::SlotIndex) const"},
-    {"_ZNK4llvm12LiveInterval12overlapsFromERKS0_PKNS_9LiveRangeE", "llvm::LiveInterval::overlapsFrom(llvm::LiveInterval const&, llvm::LiveRange const*) const"},
-    {"_ZNK4llvm12LiveInterval8overlapsENS_9SlotIndexES1_", "llvm::LiveInterval::overlaps(llvm::SlotIndex, llvm::SlotIndex) const"},
-    {"_ZN4llvm12LiveInterval20markValNoForDeletionEPNS_6VNInfoE", "llvm::LiveInterval::markValNoForDeletion(llvm::VNInfo*)"},
-    {"_ZN4llvm12LiveInterval14RenumberValuesERNS_13LiveIntervalsE", "llvm::LiveInterval::RenumberValues(llvm::LiveIntervals&)"},
-    {"_ZN4llvm12LiveInterval19extendIntervalEndToEPNS_9LiveRangeENS_9SlotIndexE", "llvm::LiveInterval::extendIntervalEndTo(llvm::LiveRange*, llvm::SlotIndex)"},
-    {"_ZN4llvm12LiveInterval21extendIntervalStartToEPNS_9LiveRangeENS_9SlotIndexE", "llvm::LiveInterval::extendIntervalStartTo(llvm::LiveRange*, llvm::SlotIndex)"},
-    {"_ZN4llvm12LiveInterval12addRangeFromENS_9LiveRangeEPS1_", "llvm::LiveInterval::addRangeFrom(llvm::LiveRange, llvm::LiveRange*)"},
-    {"_ZN4llvm12LiveInterval11removeRangeENS_9SlotIndexES1_b", "llvm::LiveInterval::removeRange(llvm::SlotIndex, llvm::SlotIndex, bool)"},
-    {"_ZN4llvm12LiveInterval11removeValNoEPNS_6VNInfoE", "llvm::LiveInterval::removeValNo(llvm::VNInfo*)"},
-    {"_ZNK4llvm12LiveInterval26findDefinedVNInfoForRegIntENS_9SlotIndexE", "llvm::LiveInterval::findDefinedVNInfoForRegInt(llvm::SlotIndex) const"},
-    {"_ZN4llvm12LiveInterval4joinERS0_PKiS3_RNS_11SmallVectorIPNS_6VNInfoELj16EEEPNS_19MachineRegisterInfoE", "llvm::LiveInterval::join(llvm::LiveInterval&, int const*, int const*, llvm::SmallVector<llvm::VNInfo*, 16u>&, llvm::MachineRegisterInfo*)"},
-    {"_ZN4llvm12LiveInterval19ComputeJoinedWeightERKS0_", "llvm::LiveInterval::ComputeJoinedWeight(llvm::LiveInterval const&)"},
-    {"_ZN4llvm12LiveInterval20MergeRangesInAsValueERKS0_PNS_6VNInfoE", "llvm::LiveInterval::MergeRangesInAsValue(llvm::LiveInterval const&, llvm::VNInfo*)"},
-    {"_ZN4llvm12LiveInterval19MergeValueInAsValueERKS0_PKNS_6VNInfoEPS3_", "llvm::LiveInterval::MergeValueInAsValue(llvm::LiveInterval const&, llvm::VNInfo const*, llvm::VNInfo*)"},
-    {"_ZN4llvm12LiveInterval20MergeValueNumberIntoEPNS_6VNInfoES2_", "llvm::LiveInterval::MergeValueNumberInto(llvm::VNInfo*, llvm::VNInfo*)"},
-    {"_ZN4llvm12LiveInterval4CopyERKS0_PNS_19MachineRegisterInfoERNS_16BumpPtrAllocatorE", "llvm::LiveInterval::Copy(llvm::LiveInterval const&, llvm::MachineRegisterInfo*, llvm::BumpPtrAllocator&)"},
-    {"_ZNK4llvm12LiveInterval7getSizeEv", "llvm::LiveInterval::getSize() const"},
-    {"_ZN4llvmlsERNS_11raw_ostreamERKNS_9LiveRangeE", "llvm::operator<<(llvm::raw_ostream&, llvm::LiveRange const&)"},
-    {"_ZNK4llvm9LiveRange4dumpEv", "llvm::LiveRange::dump() const"},
-    {"_ZNK4llvm12LiveInterval5printERNS_11raw_ostreamEPKNS_18TargetRegisterInfoE", "llvm::LiveInterval::print(llvm::raw_ostream&, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm12LiveInterval4dumpEv", "llvm::LiveInterval::dump() const"},
-    {"_ZNK4llvm9LiveRange5printERNS_11raw_ostreamE", "llvm::LiveRange::print(llvm::raw_ostream&) const"},
-    {"_ZN4llvm24ConnectedVNInfoEqClasses8ClassifyEPKNS_12LiveIntervalE", "llvm::ConnectedVNInfoEqClasses::Classify(llvm::LiveInterval const*)"},
-    {"_ZN4llvm24ConnectedVNInfoEqClasses10DistributeEPPNS_12LiveIntervalE", "llvm::ConnectedVNInfoEqClasses::Distribute(llvm::LiveInterval**)"},
-    {"_ZN4llvm15SmallVectorImplINS_9LiveRangeEE6insertEPS1_RKS1_", "llvm::SmallVectorImpl<llvm::LiveRange>::insert(llvm::LiveRange*, llvm::LiveRange const&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_6VNInfoEE6resizeEj", "llvm::SmallVectorImpl<llvm::VNInfo*>::resize(unsigned int)"},
-    {"_ZNK4llvm12LiveInterval23FindLiveRangeContainingENS_9SlotIndexE", "llvm::LiveInterval::FindLiveRangeContaining(llvm::SlotIndex) const"},
-    {"_ZN4llvm27initializeLiveIntervalsPassERNS_12PassRegistryE", "llvm::initializeLiveIntervalsPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm13LiveIntervals16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::LiveIntervals::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm13LiveIntervals13releaseMemoryEv", "llvm::LiveIntervals::releaseMemory()"},
-    {"_ZN4llvm13LiveIntervals20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::LiveIntervals::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm13LiveIntervals16computeIntervalsEv", "llvm::LiveIntervals::computeIntervals()"},
-    {"_ZNK4llvm13LiveIntervals5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::LiveIntervals::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZNK4llvm13LiveIntervals11printInstrsERNS_11raw_ostreamE", "llvm::LiveIntervals::printInstrs(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm13LiveIntervals10dumpInstrsEv", "llvm::LiveIntervals::dumpInstrs() const"},
-    {"_ZN4llvm13LiveIntervals20conflictsWithPhysRegERKNS_12LiveIntervalERNS_10VirtRegMapEj", "llvm::LiveIntervals::conflictsWithPhysReg(llvm::LiveInterval const&, llvm::VirtRegMap&, unsigned int)"},
-    {"_ZN4llvm13LiveIntervals21conflictsWithAliasRefERNS_12LiveIntervalEjRNS_11SmallPtrSetIPNS_12MachineInstrELj32EEE", "llvm::LiveIntervals::conflictsWithAliasRef(llvm::LiveInterval&, unsigned int, llvm::SmallPtrSet<llvm::MachineInstr*, 32u>&)"},
-    {"_ZN4llvm13LiveIntervals14isPartialRedefENS_9SlotIndexERNS_14MachineOperandERNS_12LiveIntervalE", "llvm::LiveIntervals::isPartialRedef(llvm::SlotIndex, llvm::MachineOperand&, llvm::LiveInterval&)"},
-    {"_ZN4llvm13LiveIntervals24handleVirtualRegisterDefEPNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEENS_9SlotIndexERNS_14MachineOperandEjRNS_12LiveIntervalE", "llvm::LiveIntervals::handleVirtualRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int, llvm::LiveInterval&)"},
-    {"_ZN4llvm13LiveIntervals25handlePhysicalRegisterDefEPNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEENS_9SlotIndexERNS_14MachineOperandERNS_12LiveIntervalEPS4_", "llvm::LiveIntervals::handlePhysicalRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>, llvm::SlotIndex, llvm::MachineOperand&, llvm::LiveInterval&, llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveIntervals17handleRegisterDefEPNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEENS_9SlotIndexERNS_14MachineOperandEj", "llvm::LiveIntervals::handleRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int)"},
-    {"_ZN4llvm13LiveIntervals20handleLiveInRegisterEPNS_17MachineBasicBlockENS_9SlotIndexERNS_12LiveIntervalEb", "llvm::LiveIntervals::handleLiveInRegister(llvm::MachineBasicBlock*, llvm::SlotIndex, llvm::LiveInterval&, bool)"},
-    {"_ZN4llvm13LiveIntervals14createIntervalEj", "llvm::LiveIntervals::createInterval(unsigned int)"},
-    {"_ZN4llvm13LiveIntervals11dupIntervalEPNS_12LiveIntervalE", "llvm::LiveIntervals::dupInterval(llvm::LiveInterval*)"},
-    {"_ZN4llvm13LiveIntervals12shrinkToUsesEPNS_12LiveIntervalE", "llvm::LiveIntervals::shrinkToUses(llvm::LiveInterval*)"},
-    {"_ZNK4llvm13LiveIntervals17getLastSplitPointERKNS_12LiveIntervalEPNS_17MachineBasicBlockE", "llvm::LiveIntervals::getLastSplitPoint(llvm::LiveInterval const&, llvm::MachineBasicBlock*) const"},
-    {"_ZN4llvm13LiveIntervals12addKillFlagsEv", "llvm::LiveIntervals::addKillFlags()"},
-    {"_ZNK4llvm13LiveIntervals19getReMatImplicitUseERKNS_12LiveIntervalEPNS_12MachineInstrE", "llvm::LiveIntervals::getReMatImplicitUse(llvm::LiveInterval const&, llvm::MachineInstr*) const"},
-    {"_ZNK4llvm13LiveIntervals18isValNoAvailableAtERKNS_12LiveIntervalEPNS_12MachineInstrENS_9SlotIndexE", "llvm::LiveIntervals::isValNoAvailableAt(llvm::LiveInterval const&, llvm::MachineInstr*, llvm::SlotIndex) const"},
-    {"_ZN4llvm13LiveIntervals18isReMaterializableERKNS_12LiveIntervalEPKNS_6VNInfoEPNS_12MachineInstrERKNS_15SmallVectorImplIPS1_EERb", "llvm::LiveIntervals::isReMaterializable(llvm::LiveInterval const&, llvm::VNInfo const*, llvm::MachineInstr*, llvm::SmallVectorImpl<llvm::LiveInterval*> const&, bool&)"},
-    {"_ZN4llvm13LiveIntervals18isReMaterializableERKNS_12LiveIntervalEPKNS_6VNInfoEPNS_12MachineInstrE", "llvm::LiveIntervals::isReMaterializable(llvm::LiveInterval const&, llvm::VNInfo const*, llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveIntervals18isReMaterializableERKNS_12LiveIntervalERKNS_15SmallVectorImplIPS1_EERb", "llvm::LiveIntervals::isReMaterializable(llvm::LiveInterval const&, llvm::SmallVectorImpl<llvm::LiveInterval*> const&, bool&)"},
-    {"_ZN4llvm13LiveIntervals20tryFoldMemoryOperandERPNS_12MachineInstrERNS_10VirtRegMapES2_NS_9SlotIndexERNS_11SmallVectorIjLj2EEEbij", "llvm::LiveIntervals::tryFoldMemoryOperand(llvm::MachineInstr*&, llvm::VirtRegMap&, llvm::MachineInstr*, llvm::SlotIndex, llvm::SmallVector<unsigned int, 2u>&, bool, int, unsigned int)"},
-    {"_Z15FilterFoldedOpsPN4llvm12MachineInstrERNS_11SmallVectorIjLj2EEERjS4_", "FilterFoldedOps(llvm::MachineInstr*, llvm::SmallVector<unsigned int, 2u>&, unsigned int&, llvm::SmallVector<unsigned int, 2u>&)"},
-    {"_ZNK4llvm13LiveIntervals20canFoldMemoryOperandEPNS_12MachineInstrERNS_11SmallVectorIjLj2EEEb", "llvm::LiveIntervals::canFoldMemoryOperand(llvm::MachineInstr*, llvm::SmallVector<unsigned int, 2u>&, bool) const"},
-    {"_ZNK4llvm13LiveIntervals18intervalIsInOneMBBERKNS_12LiveIntervalE", "llvm::LiveIntervals::intervalIsInOneMBB(llvm::LiveInterval const&) const"},
-    {"_ZN4llvm13LiveIntervals18rewriteImplicitOpsERKNS_12LiveIntervalEPNS_12MachineInstrEjRNS_10VirtRegMapE", "llvm::LiveIntervals::rewriteImplicitOps(llvm::LiveInterval const&, llvm::MachineInstr*, unsigned int, llvm::VirtRegMap&)"},
-    {"_ZN4llvm13LiveIntervals27rewriteInstructionForSpillsERKNS_12LiveIntervalEPKNS_6VNInfoEbNS_9SlotIndexES7_PNS_12MachineInstrES9_S9_jibbbbRNS_10VirtRegMapEPKNS_19TargetRegisterClassERNS_11SmallVectorIiLj4EEEPKNS_15MachineLoopInfoERjjRbSM_RNS_8DenseMapIjjNS_12DenseMapInfoIjEESP_EERSt6vectorIPS1_SaIST_EE", "llvm::LiveIntervals::rewriteInstructionForSpills(llvm::LiveInterval const&, llvm::VNInfo const*, bool, llvm::SlotIndex, llvm::SlotIndex, llvm::MachineInstr*, llvm::MachineInstr*, llvm::MachineInstr*, unsigned int, int, bool, bool, bool, bool, llvm::VirtRegMap&, llvm::TargetRegisterClass const*, llvm::SmallVector<int, 4u>&, llvm::MachineLoopInfo const*, unsigned int&, unsigned int, bool&, bool&, llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >&, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> >&)"},
-    {"_ZNK4llvm13LiveIntervals20anyKillInMBBAfterIdxERKNS_12LiveIntervalEPKNS_6VNInfoEPNS_17MachineBasicBlockENS_9SlotIndexE", "llvm::LiveIntervals::anyKillInMBBAfterIdx(llvm::LiveInterval const&, llvm::VNInfo const*, llvm::MachineBasicBlock*, llvm::SlotIndex) const"},
-    {"_ZN4llvm13LiveIntervals28rewriteInstructionsForSpillsERKNS_12LiveIntervalEbRPKNS_9LiveRangeEPNS_12MachineInstrES9_jibbbbRNS_10VirtRegMapEPKNS_19TargetRegisterClassERNS_11SmallVectorIiLj4EEEPKNS_15MachineLoopInfoERNS_9BitVectorERNS_8DenseMapIjSt6vectorINS0_6SRInfoESaISP_EENS_12DenseMapInfoIjEENSS_ISR_EEEESM_SW_RNSN_IjjST_ST_EERSO_IPS1_SaISZ_EE", "llvm::LiveIntervals::rewriteInstructionsForSpills(llvm::LiveInterval const&, bool, llvm::LiveRange const*&, llvm::MachineInstr*, llvm::MachineInstr*, unsigned int, int, bool, bool, bool, bool, llvm::VirtRegMap&, llvm::TargetRegisterClass const*, llvm::SmallVector<int, 4u>&, llvm::MachineLoopInfo const*, llvm::BitVector&, llvm::DenseMap<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > >&, llvm::BitVector&, llvm::DenseMap<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > >&, llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >&, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> >&)"},
-    {"_ZN4llvm13LiveIntervals14getSpillWeightEbbj", "llvm::LiveIntervals::getSpillWeight(bool, bool, unsigned int)"},
-    {"_ZN4llvm13LiveIntervals16alsoFoldARestoreEiNS_9SlotIndexEjRNS_9BitVectorERNS_8DenseMapIjSt6vectorINS0_6SRInfoESaIS6_EENS_12DenseMapInfoIjEENS9_IS8_EEEE", "llvm::LiveIntervals::alsoFoldARestore(int, llvm::SlotIndex, unsigned int, llvm::BitVector&, llvm::DenseMap<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > >&)"},
-    {"_ZN4llvm13LiveIntervals16eraseRestoreInfoEiNS_9SlotIndexEjRNS_9BitVectorERNS_8DenseMapIjSt6vectorINS0_6SRInfoESaIS6_EENS_12DenseMapInfoIjEENS9_IS8_EEEE", "llvm::LiveIntervals::eraseRestoreInfo(int, llvm::SlotIndex, unsigned int, llvm::BitVector&, llvm::DenseMap<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > >&)"},
-    {"_ZN4llvm13LiveIntervals20handleSpilledImpDefsERKNS_12LiveIntervalERNS_10VirtRegMapEPKNS_19TargetRegisterClassERSt6vectorIPS1_SaISA_EE", "llvm::LiveIntervals::handleSpilledImpDefs(llvm::LiveInterval const&, llvm::VirtRegMap&, llvm::TargetRegisterClass const*, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> >&)"},
-    {"_ZN4llvm13LiveIntervals21normalizeSpillWeightsERSt6vectorIPNS_12LiveIntervalESaIS3_EE", "llvm::LiveIntervals::normalizeSpillWeights(std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> >&)"},
-    {"_ZN4llvm13LiveIntervals21addIntervalsForSpillsERKNS_12LiveIntervalERKNS_15SmallVectorImplIPS1_EEPKNS_15MachineLoopInfoERNS_10VirtRegMapE", "llvm::LiveIntervals::addIntervalsForSpills(llvm::LiveInterval const&, llvm::SmallVectorImpl<llvm::LiveInterval*> const&, llvm::MachineLoopInfo const*, llvm::VirtRegMap&)"},
-    {"_ZNK4llvm13LiveIntervals22hasAllocatableSuperRegEj", "llvm::LiveIntervals::hasAllocatableSuperReg(unsigned int) const"},
-    {"_ZNK4llvm13LiveIntervals20getRepresentativeRegEj", "llvm::LiveIntervals::getRepresentativeReg(unsigned int) const"},
-    {"_ZNK4llvm13LiveIntervals26getNumConflictsWithPhysRegERKNS_12LiveIntervalEj", "llvm::LiveIntervals::getNumConflictsWithPhysReg(llvm::LiveInterval const&, unsigned int) const"},
-    {"_ZN4llvm13LiveIntervals29spillPhysRegAroundRegDefsUsesERKNS_12LiveIntervalEjRNS_10VirtRegMapE", "llvm::LiveIntervals::spillPhysRegAroundRegDefsUses(llvm::LiveInterval const&, unsigned int, llvm::VirtRegMap&)"},
-    {"_ZN4llvm13LiveIntervals24addLiveRangeToEndOfBlockEjPNS_12MachineInstrE", "llvm::LiveIntervals::addLiveRangeToEndOfBlock(unsigned int, llvm::MachineInstr*)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_111RewriteInfoESt6vectorIS3_SaIS3_EEEElNS2_18RewriteInfoCompareEEvT_SA_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<(anonymous namespace)::RewriteInfo*, std::vector<(anonymous namespace)::RewriteInfo, std::allocator<(anonymous namespace)::RewriteInfo> > >, long, (anonymous namespace)::RewriteInfoCompare>(__gnu_cxx::__normal_iterator<(anonymous namespace)::RewriteInfo*, std::vector<(anonymous namespace)::RewriteInfo, std::allocator<(anonymous namespace)::RewriteInfo> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::RewriteInfo*, std::vector<(anonymous namespace)::RewriteInfo, std::allocator<(anonymous namespace)::RewriteInfo> > >, long, (anonymous namespace)::RewriteInfoCompare)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_111RewriteInfoESt6vectorIS3_SaIS3_EEEENS2_18RewriteInfoCompareEEvT_SA_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<(anonymous namespace)::RewriteInfo*, std::vector<(anonymous namespace)::RewriteInfo, std::allocator<(anonymous namespace)::RewriteInfo> > >, (anonymous namespace)::RewriteInfoCompare>(__gnu_cxx::__normal_iterator<(anonymous namespace)::RewriteInfo*, std::vector<(anonymous namespace)::RewriteInfo, std::allocator<(anonymous namespace)::RewriteInfo> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::RewriteInfo*, std::vector<(anonymous namespace)::RewriteInfo, std::allocator<(anonymous namespace)::RewriteInfo> > >, (anonymous namespace)::RewriteInfoCompare)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_111RewriteInfoESt6vectorIS3_SaIS3_EEEElS3_NS2_18RewriteInfoCompareEEvT_T0_SB_T1_T2_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<(anonymous namespace)::RewriteInfo*, std::vector<(anonymous namespace)::RewriteInfo, std::allocator<(anonymous namespace)::RewriteInfo> > >, long, (anonymous namespace)::RewriteInfo, (anonymous namespace)::RewriteInfoCompare>(__gnu_cxx::__normal_iterator<(anonymous namespace)::RewriteInfo*, std::vector<(anonymous namespace)::RewriteInfo, std::allocator<(anonymous namespace)::RewriteInfo> > >, long, long, (anonymous namespace)::RewriteInfo, (anonymous namespace)::RewriteInfoCompare)"},
-    {"_ZN4llvm13LiveIntervals19getOrCreateIntervalEj", "llvm::LiveIntervals::getOrCreateInterval(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplINS_9LiveRangeEE4swapERS2_", "llvm::SmallVectorImpl<llvm::LiveRange>::swap(llvm::SmallVectorImpl<llvm::LiveRange>&)"},
-    {"_ZNK4llvm13LiveIntervals13isLiveInToMBBERKNS_12LiveIntervalEPKNS_17MachineBasicBlockE", "llvm::LiveIntervals::isLiveInToMBB(llvm::LiveInterval const&, llvm::MachineBasicBlock const*) const"},
-    {"_ZN4llvm10VirtRegMap16transferSpillPtsEPNS_12MachineInstrES2_", "llvm::VirtRegMap::transferSpillPts(llvm::MachineInstr*, llvm::MachineInstr*)"},
-    {"_ZN4llvm10VirtRegMap18transferRestorePtsEPNS_12MachineInstrES2_", "llvm::VirtRegMap::transferRestorePts(llvm::MachineInstr*, llvm::MachineInstr*)"},
-    {"_ZN4llvm10VirtRegMap23transferEmergencySpillsEPNS_12MachineInstrES2_", "llvm::VirtRegMap::transferEmergencySpills(llvm::MachineInstr*, llvm::MachineInstr*)"},
-    {"_ZNK4llvm11SlotIndexes19getMBBCoveringRangeENS_9SlotIndexES1_", "llvm::SlotIndexes::getMBBCoveringRange(llvm::SlotIndex, llvm::SlotIndex) const"},
-    {"_ZN4llvm8DenseMapIjSt6vectorINS_13LiveIntervals6SRInfoESaIS3_EENS_12DenseMapInfoIjEENS6_IS5_EEE6insertERKSt4pairIjS5_E", "llvm::DenseMap<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > >::insert(std::pair<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > const&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_12MachineInstrEE6resizeEjRKS2_", "llvm::SmallVectorImpl<llvm::MachineInstr*>::resize(unsigned int, llvm::MachineInstr* const&)"},
-    {"_ZN4llvm15SmallVectorImplIiE6resizeEjRKi", "llvm::SmallVectorImpl<int>::resize(unsigned int, int const&)"},
-    {"_ZN4llvm10VirtRegMap13addSpillPointEjbPNS_12MachineInstrE", "llvm::VirtRegMap::addSpillPoint(unsigned int, bool, llvm::MachineInstr*)"},
-    {"_ZN4llvm10VirtRegMap15addRestorePointEjPNS_12MachineInstrE", "llvm::VirtRegMap::addRestorePoint(unsigned int, llvm::MachineInstr*)"},
-    {"_ZN4llvm10VirtRegMap17addEmergencySpillEjPNS_12MachineInstrE", "llvm::VirtRegMap::addEmergencySpill(unsigned int, llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveIntervalsD1Ev", "llvm::LiveIntervals::~LiveIntervals()"},
-    {"_ZN4llvm13LiveIntervalsD0Ev", "llvm::LiveIntervals::~LiveIntervals()"},
-    {"_ZN4llvm8DenseMapIjSt6vectorINS_13LiveIntervals6SRInfoESaIS3_EENS_12DenseMapInfoIjEENS6_IS5_EEE16FindAndConstructERKj", "llvm::DenseMap<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > >::FindAndConstruct(unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIjSt6vectorINS_13LiveIntervals6SRInfoESaIS3_EENS_12DenseMapInfoIjEENS6_IS5_EEE16InsertIntoBucketERKjRKS5_PSt4pairIjS5_E", "llvm::DenseMap<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > >::InsertIntoBucket(unsigned int const&, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > const&, std::pair<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > >*)"},
-    {"_ZN4llvm8DenseMapIjSt6vectorINS_13LiveIntervals6SRInfoESaIS3_EENS_12DenseMapInfoIjEENS6_IS5_EEE4growEj", "llvm::DenseMap<unsigned int, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm13LiveIntervals6SRInfoESaIS2_EEC2ERKS4_", "std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >::vector(std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > const&)"},
-    {"_ZNSt6vectorIN4llvm13LiveIntervals6SRInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::LiveIntervals::SRInfo*, std::vector<llvm::LiveIntervals::SRInfo, std::allocator<llvm::LiveIntervals::SRInfo> > >, llvm::LiveIntervals::SRInfo const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_12LiveIntervalENS_12DenseMapInfoIjEENS3_IS2_EEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, llvm::LiveInterval*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::LiveInterval*> >::shrink_and_clear()"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIjSaIjEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > > >::_M_insert_unique(std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIjSaIjEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE14_M_create_nodeERKS8_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > > >::_M_create_node(std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIjSaIjEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >, std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > const&)"},
-    {"_ZNSt6vectorISt4pairIjbESaIS1_EEC2ERKS3_", "std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > >::vector(std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIS3_IjbESaIS6_EEESt10_Select1stIS9_ESt4lessIS2_ESaIS9_EE16_M_insert_uniqueERKS9_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > > >::_M_insert_unique(std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > const&)"},
-    {"_ZNSt6vectorISt4pairIjbESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int, bool>*, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > >, std::pair<unsigned int, bool> const&)"},
-    {"_ZN4llvm11SlotIndexes25replaceMachineInstrInMapsEPNS_12MachineInstrES2_", "llvm::SlotIndexes::replaceMachineInstrInMaps(llvm::MachineInstr*, llvm::MachineInstr*)"},
-    {"_ZN4llvm8DenseMapIjPNS_12LiveIntervalENS_12DenseMapInfoIjEENS3_IS2_EEE6insertERKSt4pairIjS2_E", "llvm::DenseMap<unsigned int, llvm::LiveInterval*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::LiveInterval*> >::insert(std::pair<unsigned int, llvm::LiveInterval*> const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_12LiveIntervalENS_12DenseMapInfoIjEENS3_IS2_EEE16InsertIntoBucketERKjRKS2_PSt4pairIjS2_E", "llvm::DenseMap<unsigned int, llvm::LiveInterval*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::LiveInterval*> >::InsertIntoBucket(unsigned int const&, llvm::LiveInterval* const&, std::pair<unsigned int, llvm::LiveInterval*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_12LiveIntervalENS_12DenseMapInfoIjEENS3_IS2_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::LiveInterval*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::LiveInterval*> >::grow(unsigned int)"},
-    {"_ZN4llvm15callDefaultCtorINS_13LiveIntervalsEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::LiveIntervals>()"},
-    {"_ZN4llvm13LiveIntervalsC2Ev", "llvm::LiveIntervals::LiveIntervals()"},
-    {"_ZN4llvm13LiveRangeEdit6createERNS_19MachineRegisterInfoERNS_13LiveIntervalsERNS_10VirtRegMapE", "llvm::LiveRangeEdit::create(llvm::MachineRegisterInfo&, llvm::LiveIntervals&, llvm::VirtRegMap&)"},
-    {"_ZN4llvm13LiveRangeEdit14scanRemattableERNS_13LiveIntervalsERKNS_15TargetInstrInfoEPNS_13AliasAnalysisE", "llvm::LiveRangeEdit::scanRemattable(llvm::LiveIntervals&, llvm::TargetInstrInfo const&, llvm::AliasAnalysis*)"},
-    {"_ZN4llvm13LiveRangeEdit19anyRematerializableERNS_13LiveIntervalsERKNS_15TargetInstrInfoEPNS_13AliasAnalysisE", "llvm::LiveRangeEdit::anyRematerializable(llvm::LiveIntervals&, llvm::TargetInstrInfo const&, llvm::AliasAnalysis*)"},
-    {"_ZN4llvm13LiveRangeEdit18allUsesAvailableAtEPKNS_12MachineInstrENS_9SlotIndexES4_RNS_13LiveIntervalsE", "llvm::LiveRangeEdit::allUsesAvailableAt(llvm::MachineInstr const*, llvm::SlotIndex, llvm::SlotIndex, llvm::LiveIntervals&)"},
-    {"_ZN4llvm13LiveRangeEdit18canRematerializeAtERNS0_5RematENS_9SlotIndexEbRNS_13LiveIntervalsE", "llvm::LiveRangeEdit::canRematerializeAt(llvm::LiveRangeEdit::Remat&, llvm::SlotIndex, bool, llvm::LiveIntervals&)"},
-    {"_ZN4llvm13LiveRangeEdit15rematerializeAtERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjRKNS0_5RematERNS_13LiveIntervalsERKNS_15TargetInstrInfoERKNS_18TargetRegisterInfoE", "llvm::LiveRangeEdit::rematerializeAt(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, llvm::LiveRangeEdit::Remat const&, llvm::LiveIntervals&, llvm::TargetInstrInfo const&, llvm::TargetRegisterInfo const&)"},
-    {"_ZN4llvm24initializeLiveStacksPassERNS_12PassRegistryE", "llvm::initializeLiveStacksPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm10LiveStacks16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::LiveStacks::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm10LiveStacks13releaseMemoryEv", "llvm::LiveStacks::releaseMemory()"},
-    {"_ZN4llvm10LiveStacks20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::LiveStacks::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm10LiveStacks19getOrCreateIntervalEiPKNS_19TargetRegisterClassE", "llvm::LiveStacks::getOrCreateInterval(int, llvm::TargetRegisterClass const*)"},
-    {"_ZNK4llvm10LiveStacks5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::LiveStacks::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZN4llvm10LiveStacksD1Ev", "llvm::LiveStacks::~LiveStacks()"},
-    {"_ZN4llvm10LiveStacksD0Ev", "llvm::LiveStacks::~LiveStacks()"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiPKN4llvm19TargetRegisterClassEESt10_Select1stIS6_ESt4lessIiESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<int, std::pair<int const, llvm::TargetRegisterClass const*>, std::_Select1st<std::pair<int const, llvm::TargetRegisterClass const*> >, std::less<int>, std::allocator<std::pair<int const, llvm::TargetRegisterClass const*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, llvm::TargetRegisterClass const*> >, std::pair<int const, llvm::TargetRegisterClass const*> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiPKN4llvm19TargetRegisterClassEESt10_Select1stIS6_ESt4lessIiESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<int, std::pair<int const, llvm::TargetRegisterClass const*>, std::_Select1st<std::pair<int const, llvm::TargetRegisterClass const*> >, std::less<int>, std::allocator<std::pair<int const, llvm::TargetRegisterClass const*> > >::_M_insert_unique(std::pair<int const, llvm::TargetRegisterClass const*> const&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_6VNInfoEEaSERKS3_", "llvm::SmallVectorImpl<llvm::VNInfo*>::operator=(llvm::SmallVectorImpl<llvm::VNInfo*> const&)"},
-    {"_ZN4llvm15SmallVectorImplINS_9LiveRangeEEaSERKS2_", "llvm::SmallVectorImpl<llvm::LiveRange>::operator=(llvm::SmallVectorImpl<llvm::LiveRange> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiN4llvm12LiveIntervalEESt10_Select1stIS4_ESt4lessIiESaIS4_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS4_ERKS4_", "std::_Rb_tree<int, std::pair<int const, llvm::LiveInterval>, std::_Select1st<std::pair<int const, llvm::LiveInterval> >, std::less<int>, std::allocator<std::pair<int const, llvm::LiveInterval> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, llvm::LiveInterval> >, std::pair<int const, llvm::LiveInterval> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiN4llvm12LiveIntervalEESt10_Select1stIS4_ESt4lessIiESaIS4_EE16_M_insert_uniqueERKS4_", "std::_Rb_tree<int, std::pair<int const, llvm::LiveInterval>, std::_Select1st<std::pair<int const, llvm::LiveInterval> >, std::less<int>, std::allocator<std::pair<int const, llvm::LiveInterval> > >::_M_insert_unique(std::pair<int const, llvm::LiveInterval> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiN4llvm12LiveIntervalEESt10_Select1stIS4_ESt4lessIiESaIS4_EE14_M_create_nodeERKS4_", "std::_Rb_tree<int, std::pair<int const, llvm::LiveInterval>, std::_Select1st<std::pair<int const, llvm::LiveInterval> >, std::less<int>, std::allocator<std::pair<int const, llvm::LiveInterval> > >::_M_create_node(std::pair<int const, llvm::LiveInterval> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiPKN4llvm19TargetRegisterClassEESt10_Select1stIS6_ESt4lessIiESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<int, std::pair<int const, llvm::TargetRegisterClass const*>, std::_Select1st<std::pair<int const, llvm::TargetRegisterClass const*> >, std::less<int>, std::allocator<std::pair<int const, llvm::TargetRegisterClass const*> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, llvm::TargetRegisterClass const*> >*)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiN4llvm12LiveIntervalEESt10_Select1stIS4_ESt4lessIiESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E", "std::_Rb_tree<int, std::pair<int const, llvm::LiveInterval>, std::_Select1st<std::pair<int const, llvm::LiveInterval> >, std::less<int>, std::allocator<std::pair<int const, llvm::LiveInterval> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, llvm::LiveInterval> >*)"},
-    {"_ZN4llvm15callDefaultCtorINS_10LiveStacksEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::LiveStacks>()"},
-    {"_ZN4llvm27initializeLiveVariablesPassERNS_12PassRegistryE", "llvm::initializeLiveVariablesPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm13LiveVariables16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::LiveVariables::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNK4llvm13LiveVariables7VarInfo8findKillEPKNS_17MachineBasicBlockE", "llvm::LiveVariables::VarInfo::findKill(llvm::MachineBasicBlock const*) const"},
-    {"_ZNK4llvm13LiveVariables7VarInfo4dumpEv", "llvm::LiveVariables::VarInfo::dump() const"},
-    {"_ZN4llvm13LiveVariables10getVarInfoEj", "llvm::LiveVariables::getVarInfo(unsigned int)"},
-    {"_ZN4llvm13LiveVariables23MarkVirtRegAliveInBlockERNS0_7VarInfoEPNS_17MachineBasicBlockES4_RSt6vectorIS4_SaIS4_EE", "llvm::LiveVariables::MarkVirtRegAliveInBlock(llvm::LiveVariables::VarInfo&, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> >&)"},
-    {"_ZN4llvm13LiveVariables23MarkVirtRegAliveInBlockERNS0_7VarInfoEPNS_17MachineBasicBlockES4_", "llvm::LiveVariables::MarkVirtRegAliveInBlock(llvm::LiveVariables::VarInfo&, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm13LiveVariables16HandleVirtRegUseEjPNS_17MachineBasicBlockEPNS_12MachineInstrE", "llvm::LiveVariables::HandleVirtRegUse(unsigned int, llvm::MachineBasicBlock*, llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveVariables16HandleVirtRegDefEjPNS_12MachineInstrE", "llvm::LiveVariables::HandleVirtRegDef(unsigned int, llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveVariables18FindLastPartialDefEjRNS_8SmallSetIjLj4EEE", "llvm::LiveVariables::FindLastPartialDef(unsigned int, llvm::SmallSet<unsigned int, 4u>&)"},
-    {"_ZN4llvm13LiveVariables16HandlePhysRegUseEjPNS_12MachineInstrE", "llvm::LiveVariables::HandlePhysRegUse(unsigned int, llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveVariables20FindLastRefOrPartRefEj", "llvm::LiveVariables::FindLastRefOrPartRef(unsigned int)"},
-    {"_ZN4llvm13LiveVariables17HandlePhysRegKillEjPNS_12MachineInstrE", "llvm::LiveVariables::HandlePhysRegKill(unsigned int, llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveVariables16HandlePhysRegDefEjPNS_12MachineInstrERNS_11SmallVectorIjLj4EEE", "llvm::LiveVariables::HandlePhysRegDef(unsigned int, llvm::MachineInstr*, llvm::SmallVector<unsigned int, 4u>&)"},
-    {"_ZN4llvm13LiveVariables17UpdatePhysRegDefsEPNS_12MachineInstrERNS_11SmallVectorIjLj4EEE", "llvm::LiveVariables::UpdatePhysRegDefs(llvm::MachineInstr*, llvm::SmallVector<unsigned int, 4u>&)"},
-    {"_ZN4llvm13LiveVariables20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::LiveVariables::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm13LiveVariables15analyzePHINodesERKNS_15MachineFunctionE", "llvm::LiveVariables::analyzePHINodes(llvm::MachineFunction const&)"},
-    {"_ZN4llvm13LiveVariables22replaceKillInstructionEjPNS_12MachineInstrES2_", "llvm::LiveVariables::replaceKillInstruction(unsigned int, llvm::MachineInstr*, llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveVariables28removeVirtualRegistersKilledEPNS_12MachineInstrE", "llvm::LiveVariables::removeVirtualRegistersKilled(llvm::MachineInstr*)"},
-    {"_ZN4llvm13LiveVariables7VarInfo8isLiveInERKNS_17MachineBasicBlockEjRNS_19MachineRegisterInfoE", "llvm::LiveVariables::VarInfo::isLiveIn(llvm::MachineBasicBlock const&, unsigned int, llvm::MachineRegisterInfo&)"},
-    {"_ZN4llvm13LiveVariables9isLiveOutEjRKNS_17MachineBasicBlockE", "llvm::LiveVariables::isLiveOut(unsigned int, llvm::MachineBasicBlock const&)"},
-    {"_ZN4llvm13LiveVariables11addNewBlockEPNS_17MachineBasicBlockES2_S2_", "llvm::LiveVariables::addNewBlock(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm15SparseBitVectorILj128EE4testEj", "llvm::SparseBitVector<128u>::test(unsigned int)"},
-    {"_ZN4llvm15SparseBitVectorILj128EE3setEj", "llvm::SparseBitVector<128u>::set(unsigned int)"},
-    {"_ZN4llvm8SmallSetIjLj8EE5eraseERKj", "llvm::SmallSet<unsigned int, 8u>::erase(unsigned int const&)"},
-    {"_ZN4llvm8SmallSetIjLj32EE6insertERKj", "llvm::SmallSet<unsigned int, 32u>::insert(unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEjNS_12DenseMapInfoIS2_EENS3_IjEEE6insertERKSt4pairIS2_jE", "llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<llvm::MachineInstr*, unsigned int> const&)"},
-    {"_ZN4llvm13LiveVariablesD1Ev", "llvm::LiveVariables::~LiveVariables()"},
-    {"_ZN4llvm13LiveVariablesD0Ev", "llvm::LiveVariables::~LiveVariables()"},
-    {"_ZN4llvm13LiveVariables13releaseMemoryEv", "llvm::LiveVariables::releaseMemory()"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN4llvm17MachineBasicBlockESt6vectorIS4_SaIS4_EEEElEvT_SA_T0_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, long>(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, long)"},
-    {"_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4llvm17MachineBasicBlockESt6vectorIS4_SaIS4_EEEEEvT_SA_", "void std::__final_insertion_sort<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >)"},
-    {"_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPPN4llvm17MachineBasicBlockESt6vectorIS4_SaIS4_EEEEEvT_SA_SA_", "void std::__heap_select<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >)"},
-    {"_ZSt9sort_heapIN9__gnu_cxx17__normal_iteratorIPPN4llvm17MachineBasicBlockESt6vectorIS4_SaIS4_EEEEEvT_SA_", "void std::sort_heap<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >)"},
-    {"_ZSt9make_heapIN9__gnu_cxx17__normal_iteratorIPPN4llvm17MachineBasicBlockESt6vectorIS4_SaIS4_EEEEEvT_SA_", "void std::make_heap<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEjNS_12DenseMapInfoIS2_EENS3_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm10IndexedMapINS_13LiveVariables7VarInfoENS_20VirtReg2IndexFunctorEE6resizeEm", "llvm::IndexedMap<llvm::LiveVariables::VarInfo, llvm::VirtReg2IndexFunctor>::resize(unsigned long)"},
-    {"_ZNSt6vectorIN4llvm13LiveVariables7VarInfoESaIS2_EE6resizeEmS2_", "std::vector<llvm::LiveVariables::VarInfo, std::allocator<llvm::LiveVariables::VarInfo> >::resize(unsigned long, llvm::LiveVariables::VarInfo)"},
-    {"_ZN4llvm6iplistINS_22SparseBitVectorElementILj128EEENS_12ilist_traitsIS2_EEED2Ev", "llvm::iplist<llvm::SparseBitVectorElement<128u>, llvm::ilist_traits<llvm::SparseBitVectorElement<128u> > >::~iplist()"},
-    {"_ZN4llvm15SparseBitVectorILj128EEC2ERKS1_", "llvm::SparseBitVector<128u>::SparseBitVector(llvm::SparseBitVector<128u> const&)"},
-    {"_ZN4llvm5ilistINS_22SparseBitVectorElementILj128EEEE9push_backERKS2_", "llvm::ilist<llvm::SparseBitVectorElement<128u> >::push_back(llvm::SparseBitVectorElement<128u> const&)"},
-    {"_ZNSt6vectorIN4llvm13LiveVariables7VarInfoESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::LiveVariables::VarInfo, std::allocator<llvm::LiveVariables::VarInfo> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::LiveVariables::VarInfo*, std::vector<llvm::LiveVariables::VarInfo, std::allocator<llvm::LiveVariables::VarInfo> > >, unsigned long, llvm::LiveVariables::VarInfo const&)"},
-    {"_ZSt26__uninitialized_fill_n_auxIPN4llvm13LiveVariables7VarInfoEmS2_EvT_T0_RKT1_St12__false_type", "void std::__uninitialized_fill_n_aux<llvm::LiveVariables::VarInfo*, unsigned long, llvm::LiveVariables::VarInfo>(llvm::LiveVariables::VarInfo*, unsigned long, llvm::LiveVariables::VarInfo const&, std::__false_type)"},
-    {"_ZN4llvm15SparseBitVectorILj128EEaSERKS1_", "llvm::SparseBitVector<128u>::operator=(llvm::SparseBitVector<128u> const&)"},
-    {"_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EEaSERKS4_", "std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >::operator=(std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > const&)"},
-    {"_ZN4llvm15SparseBitVectorILj128EE23SparseBitVectorIterator20AdvanceToNextNonZeroEv", "llvm::SparseBitVector<128u>::SparseBitVectorIterator::AdvanceToNextNonZero()"},
-    {"_ZN4llvm15SparseBitVectorILj128EE23SparseBitVectorIteratorC2EPKS1_b", "llvm::SparseBitVector<128u>::SparseBitVectorIterator::SparseBitVectorIterator(llvm::SparseBitVector<128u> const*, bool)"},
-    {"_ZN4llvm15SparseBitVectorILj128EE14FindLowerBoundEj", "llvm::SparseBitVector<128u>::FindLowerBound(unsigned int)"},
-    {"_ZN4llvm13LiveVariablesD2Ev", "llvm::LiveVariables::~LiveVariables()"},
-    {"_ZN4llvm15callDefaultCtorINS_13LiveVariablesEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::LiveVariables>()"},
-    {"_ZN4llvm13LiveVariablesC2Ev", "llvm::LiveVariables::LiveVariables()"},
-    {"_ZN4llvm34createLocalStackSlotAllocationPassEv", "llvm::createLocalStackSlotAllocationPass()"},
-    {"_ZN12_GLOBAL__N_118LocalStackSlotPassD1Ev", "(anonymous namespace)::LocalStackSlotPass::~LocalStackSlotPass()"},
-    {"_ZN12_GLOBAL__N_118LocalStackSlotPassD0Ev", "(anonymous namespace)::LocalStackSlotPass::~LocalStackSlotPass()"},
-    {"_ZNK12_GLOBAL__N_118LocalStackSlotPass11getPassNameEv", "(anonymous namespace)::LocalStackSlotPass::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_118LocalStackSlotPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LocalStackSlotPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_118LocalStackSlotPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::LocalStackSlotPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm25array_pod_sort_comparatorIN12_GLOBAL__N_18FrameRefEEEiPKvS4_", "int llvm::array_pod_sort_comparator<(anonymous namespace)::FrameRef>(void const*, void const*)"},
-    {"_ZN12_GLOBAL__N_118LocalStackSlotPass17AdjustStackOffsetEPN4llvm16MachineFrameInfoEiRxbRj", "(anonymous namespace)::LocalStackSlotPass::AdjustStackOffset(llvm::MachineFrameInfo*, int, long long&, bool, unsigned int&)"},
-    {"_ZN4llvm15SmallVectorImplIxE6resizeEj", "llvm::SmallVectorImpl<long long>::resize(unsigned int)"},
-    {"_ZN4llvm22createLowerSubregsPassEv", "llvm::createLowerSubregsPass()"},
-    {"_ZN12_GLOBAL__N_127LowerSubregsInstructionPassD1Ev", "(anonymous namespace)::LowerSubregsInstructionPass::~LowerSubregsInstructionPass()"},
-    {"_ZN12_GLOBAL__N_127LowerSubregsInstructionPassD0Ev", "(anonymous namespace)::LowerSubregsInstructionPass::~LowerSubregsInstructionPass()"},
-    {"_ZNK12_GLOBAL__N_127LowerSubregsInstructionPass11getPassNameEv", "(anonymous namespace)::LowerSubregsInstructionPass::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_127LowerSubregsInstructionPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LowerSubregsInstructionPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_127LowerSubregsInstructionPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::LowerSubregsInstructionPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm17MachineBasicBlockC1ERNS_15MachineFunctionEPKNS_10BasicBlockE", "llvm::MachineBasicBlock::MachineBasicBlock(llvm::MachineFunction&, llvm::BasicBlock const*)"},
-    {"_ZN4llvm17MachineBasicBlockC2ERNS_15MachineFunctionEPKNS_10BasicBlockE", "llvm::MachineBasicBlock::MachineBasicBlock(llvm::MachineFunction&, llvm::BasicBlock const*)"},
-    {"_ZN4llvm17MachineBasicBlockD1Ev", "llvm::MachineBasicBlock::~MachineBasicBlock()"},
-    {"_ZN4llvm17MachineBasicBlockD2Ev", "llvm::MachineBasicBlock::~MachineBasicBlock()"},
-    {"_ZNK4llvm17MachineBasicBlock9getSymbolEv", "llvm::MachineBasicBlock::getSymbol() const"},
-    {"_ZN4llvmlsERNS_11raw_ostreamERKNS_17MachineBasicBlockE", "llvm::operator<<(llvm::raw_ostream&, llvm::MachineBasicBlock const&)"},
-    {"_ZNK4llvm17MachineBasicBlock5printERNS_11raw_ostreamEPNS_11SlotIndexesE", "llvm::MachineBasicBlock::print(llvm::raw_ostream&, llvm::SlotIndexes*) const"},
-    {"_ZN4llvm12ilist_traitsINS_17MachineBasicBlockEE13addNodeToListEPS1_", "llvm::ilist_traits<llvm::MachineBasicBlock>::addNodeToList(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12ilist_traitsINS_17MachineBasicBlockEE18removeNodeFromListEPS1_", "llvm::ilist_traits<llvm::MachineBasicBlock>::removeNodeFromList(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12ilist_traitsINS_12MachineInstrEE13addNodeToListEPS1_", "llvm::ilist_traits<llvm::MachineInstr>::addNodeToList(llvm::MachineInstr*)"},
-    {"_ZN4llvm12ilist_traitsINS_12MachineInstrEE18removeNodeFromListEPS1_", "llvm::ilist_traits<llvm::MachineInstr>::removeNodeFromList(llvm::MachineInstr*)"},
-    {"_ZN4llvm12ilist_traitsINS_12MachineInstrEE21transferNodesFromListERS2_NS_14ilist_iteratorIS1_EES5_", "llvm::ilist_traits<llvm::MachineInstr>::transferNodesFromList(llvm::ilist_traits<llvm::MachineInstr>&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN4llvm12ilist_traitsINS_12MachineInstrEE10deleteNodeEPS1_", "llvm::ilist_traits<llvm::MachineInstr>::deleteNode(llvm::MachineInstr*)"},
-    {"_ZN4llvm17MachineBasicBlock14getFirstNonPHIEv", "llvm::MachineBasicBlock::getFirstNonPHI()"},
-    {"_ZN4llvm17MachineBasicBlock17SkipPHIsAndLabelsENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::MachineBasicBlock::SkipPHIsAndLabels(llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN4llvm17MachineBasicBlock18getFirstTerminatorEv", "llvm::MachineBasicBlock::getFirstTerminator()"},
-    {"_ZN4llvm17MachineBasicBlock20getLastNonDebugInstrEv", "llvm::MachineBasicBlock::getLastNonDebugInstr()"},
-    {"_ZNK4llvm17MachineBasicBlock22getLandingPadSuccessorEv", "llvm::MachineBasicBlock::getLandingPadSuccessor() const"},
-    {"_ZNK4llvm17MachineBasicBlock4dumpEv", "llvm::MachineBasicBlock::dump() const"},
-    {"_ZNK4llvm17MachineBasicBlock7getNameEv", "llvm::MachineBasicBlock::getName() const"},
-    {"_ZN4llvm17MachineBasicBlock12removeLiveInEj", "llvm::MachineBasicBlock::removeLiveIn(unsigned int)"},
-    {"_ZNK4llvm17MachineBasicBlock8isLiveInEj", "llvm::MachineBasicBlock::isLiveIn(unsigned int) const"},
-    {"_ZN4llvm17MachineBasicBlock10moveBeforeEPS0_", "llvm::MachineBasicBlock::moveBefore(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineBasicBlock9moveAfterEPS0_", "llvm::MachineBasicBlock::moveAfter(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineBasicBlock16updateTerminatorEv", "llvm::MachineBasicBlock::updateTerminator()"},
-    {"_ZNK4llvm17MachineBasicBlock17isLayoutSuccessorEPKS0_", "llvm::MachineBasicBlock::isLayoutSuccessor(llvm::MachineBasicBlock const*) const"},
-    {"_ZN4llvm17MachineBasicBlock12addSuccessorEPS0_", "llvm::MachineBasicBlock::addSuccessor(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineBasicBlock14addPredecessorEPS0_", "llvm::MachineBasicBlock::addPredecessor(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineBasicBlock15removeSuccessorEPS0_", "llvm::MachineBasicBlock::removeSuccessor(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineBasicBlock17removePredecessorEPS0_", "llvm::MachineBasicBlock::removePredecessor(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineBasicBlock15removeSuccessorEN9__gnu_cxx17__normal_iteratorIPPS0_St6vectorIS3_SaIS3_EEEE", "llvm::MachineBasicBlock::removeSuccessor(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >)"},
-    {"_ZN4llvm17MachineBasicBlock18transferSuccessorsEPS0_", "llvm::MachineBasicBlock::transferSuccessors(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineBasicBlock31transferSuccessorsAndUpdatePHIsEPS0_", "llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs(llvm::MachineBasicBlock*)"},
-    {"_ZNK4llvm17MachineBasicBlock11isSuccessorEPKS0_", "llvm::MachineBasicBlock::isSuccessor(llvm::MachineBasicBlock const*) const"},
-    {"_ZN4llvm17MachineBasicBlock14canFallThroughEv", "llvm::MachineBasicBlock::canFallThrough()"},
-    {"_ZN4llvm17MachineBasicBlock17SplitCriticalEdgeEPS0_PNS_4PassE", "llvm::MachineBasicBlock::SplitCriticalEdge(llvm::MachineBasicBlock*, llvm::Pass*)"},
-    {"_ZN4llvm17MachineBasicBlock22ReplaceUsesOfBlockWithEPS0_S1_", "llvm::MachineBasicBlock::ReplaceUsesOfBlockWith(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineBasicBlock16removeFromParentEv", "llvm::MachineBasicBlock::removeFromParent()"},
-    {"_ZN4llvm17MachineBasicBlock15eraseFromParentEv", "llvm::MachineBasicBlock::eraseFromParent()"},
-    {"_ZN4llvm17MachineBasicBlock20CorrectExtraCFGEdgesEPS0_S1_b", "llvm::MachineBasicBlock::CorrectExtraCFGEdges(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, bool)"},
-    {"_ZN4llvm17MachineBasicBlock12findDebugLocERNS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::MachineBasicBlock::findDebugLoc(llvm::ilist_iterator<llvm::MachineInstr>&)"},
-    {"_ZN4llvm14WriteAsOperandERNS_11raw_ostreamEPKNS_17MachineBasicBlockEb", "llvm::WriteAsOperand(llvm::raw_ostream&, llvm::MachineBasicBlock const*, bool)"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE19addBasicBlockToLoopEPS1_RNS_12LoopInfoBaseIS1_S2_EE", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::addBasicBlockToLoop(llvm::MachineBasicBlock*, llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>&)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_11MachineLoopENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::MachineLoop*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::MachineLoop*> >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::MachineLoop* const&, std::pair<llvm::MachineBasicBlock*, llvm::MachineLoop*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_11MachineLoopENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::MachineLoop*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::MachineLoop*> >::grow(unsigned int)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPKPN4llvm17MachineBasicBlockESt6vectorIS4_SaIS4_EEEEPKS3_ET_SD_SD_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock* const*, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock* const*, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, llvm::MachineBasicBlock const*>(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock* const*, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock* const*, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, llvm::MachineBasicBlock const* const&, std::random_access_iterator_tag)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPKjSt6vectorIjSaIjEEEEjET_S8_S8_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<unsigned int const*, std::vector<unsigned int, std::allocator<unsigned int> > > std::__find<__gnu_cxx::__normal_iterator<unsigned int const*, std::vector<unsigned int, std::allocator<unsigned int> > >, unsigned int>(__gnu_cxx::__normal_iterator<unsigned int const*, std::vector<unsigned int, std::allocator<unsigned int> > >, __gnu_cxx::__normal_iterator<unsigned int const*, std::vector<unsigned int, std::allocator<unsigned int> > >, unsigned int const&, std::random_access_iterator_tag)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEjET_S7_S7_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > > std::__find<__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, unsigned int>(__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, __gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, unsigned int const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIPN4llvm15DomTreeNodeBaseINS0_17MachineBasicBlockEEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > >, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm15DomTreeNodeBaseINS2_17MachineBasicBlockEEESt6vectorIS6_SaIS6_EEEES6_ET_SC_SC_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > >, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>(__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > >, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_15DomTreeNodeBaseIS1_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&, std::pair<llvm::MachineBasicBlock*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_15DomTreeNodeBaseIS1_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPNS_15DomTreeNodeBaseINS_17MachineBasicBlockEEEN9__gnu_cxx17__normal_iteratorIPS5_St6vectorIS5_SaIS5_EEEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > >, false>::grow(unsigned long)"},
-    {"_ZN4llvm6iplistINS_17MachineBasicBlockENS_12ilist_traitsIS1_EEE6insertENS_14ilist_iteratorIS1_EEPS1_", "llvm::iplist<llvm::MachineBasicBlock, llvm::ilist_traits<llvm::MachineBasicBlock> >::insert(llvm::ilist_iterator<llvm::MachineBasicBlock>, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm24initializeMachineCSEPassERNS_12PassRegistryE", "llvm::initializeMachineCSEPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm20createMachineCSEPassEv", "llvm::createMachineCSEPass()"},
-    {"_ZN12_GLOBAL__N_110MachineCSEC1Ev", "(anonymous namespace)::MachineCSE::MachineCSE()"},
-    {"_ZN12_GLOBAL__N_110MachineCSED1Ev", "(anonymous namespace)::MachineCSE::~MachineCSE()"},
-    {"_ZN12_GLOBAL__N_110MachineCSED0Ev", "(anonymous namespace)::MachineCSE::~MachineCSE()"},
-    {"_ZNK12_GLOBAL__N_110MachineCSE16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::MachineCSE::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_110MachineCSE13releaseMemoryEv", "(anonymous namespace)::MachineCSE::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_110MachineCSE20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MachineCSE::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_110MachineCSE9ExitScopeEPN4llvm17MachineBasicBlockE", "(anonymous namespace)::MachineCSE::ExitScope(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_110MachineCSEEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::MachineCSE>()"},
-    {"_ZN4llvm20ScopedHashTableScopeIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS2_jEELm32ELm8EEEED2Ev", "llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >::~ScopedHashTableScope()"},
-    {"_ZNK4llvm8DenseMapIPNS_12MachineInstrEPNS_18ScopedHashTableValIS2_jEENS_27MachineInstrExpressionTraitENS_12DenseMapInfoIS5_EEE15LookupBucketForERKS2_RPSt4pairIS2_S5_E", "llvm::DenseMap<llvm::MachineInstr*, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>*, llvm::MachineInstrExpressionTrait, llvm::DenseMapInfo<llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>*> >::LookupBucketFor(llvm::MachineInstr* const&, std::pair<llvm::MachineInstr*, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>*>*&) const"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEPNS_18ScopedHashTableValIS2_jEENS_27MachineInstrExpressionTraitENS_12DenseMapInfoIS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::MachineInstr*, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>*, llvm::MachineInstrExpressionTrait, llvm::DenseMapInfo<llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>*> >::InsertIntoBucket(llvm::MachineInstr* const&, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>* const&, std::pair<llvm::MachineInstr*, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEPNS_18ScopedHashTableValIS2_jEENS_27MachineInstrExpressionTraitENS_12DenseMapInfoIS5_EEE4growEj", "llvm::DenseMap<llvm::MachineInstr*, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>*, llvm::MachineInstrExpressionTrait, llvm::DenseMapInfo<llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>*> >::grow(unsigned int)"},
-    {"_ZN4llvm15ScopedHashTableIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS2_jEELm32ELm8EEEE6insertERKS2_RKj", "llvm::ScopedHashTable<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >::insert(llvm::MachineInstr* const&, unsigned int const&)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_20ScopedHashTableScopeIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS5_jEELm32ELm8EEEEENS_12DenseMapInfoIS2_EENSE_ISD_EEE16InsertIntoBucketERKS2_RKSD_PSt4pairIS2_SD_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >*> >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >* const&, std::pair<llvm::MachineBasicBlock*, llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_20ScopedHashTableScopeIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS5_jEELm32ELm8EEEEENS_12DenseMapInfoIS2_EENSE_ISD_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_15DomTreeNodeBaseINS_17MachineBasicBlockEEES4_NS_12DenseMapInfoIS4_EES6_E16InsertIntoBucketERKS4_S9_PSt4pairIS4_S4_E", "llvm::DenseMap<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::InsertIntoBucket(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&, std::pair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_15DomTreeNodeBaseINS_17MachineBasicBlockEEES4_NS_12DenseMapInfoIS4_EES6_E4growEj", "llvm::DenseMap<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_15DomTreeNodeBaseINS_17MachineBasicBlockEEEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, unsigned int, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&, unsigned int const&, std::pair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_15DomTreeNodeBaseINS_17MachineBasicBlockEEEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, unsigned int, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_20ScopedHashTableScopeIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS5_jEELm32ELm8EEEEENS_12DenseMapInfoIS2_EENSE_ISD_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::ScopedHashTableScope<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >*> >::shrink_and_clear()"},
-    {"_ZN4llvm15ScopedHashTableIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS2_jEELm32ELm8EEEED2Ev", "llvm::ScopedHashTable<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::MachineInstr*, unsigned int>, 32ul, 8ul> >::~ScopedHashTable()"},
-    {"_ZN4llvm12PrintDomTreeINS_17MachineBasicBlockEEEvPKNS_15DomTreeNodeBaseIT_EERNS_11raw_ostreamEj", "void llvm::PrintDomTree<llvm::MachineBasicBlock>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::raw_ostream&, unsigned int)"},
-    {"_ZN4llvm34initializeMachineDominatorTreePassERNS_12PassRegistryE", "llvm::initializeMachineDominatorTreePass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm20MachineDominatorTree16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::MachineDominatorTree::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm20MachineDominatorTree20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::MachineDominatorTree::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm20MachineDominatorTreeC1Ev", "llvm::MachineDominatorTree::MachineDominatorTree()"},
-    {"_ZN4llvm20MachineDominatorTreeC2Ev", "llvm::MachineDominatorTree::MachineDominatorTree()"},
-    {"_ZN4llvm20MachineDominatorTreeD0Ev", "llvm::MachineDominatorTree::~MachineDominatorTree()"},
-    {"_ZN4llvm20MachineDominatorTreeD1Ev", "llvm::MachineDominatorTree::~MachineDominatorTree()"},
-    {"_ZN4llvm20MachineDominatorTreeD2Ev", "llvm::MachineDominatorTree::~MachineDominatorTree()"},
-    {"_ZN4llvm20MachineDominatorTree13releaseMemoryEv", "llvm::MachineDominatorTree::releaseMemory()"},
-    {"_ZNK4llvm20MachineDominatorTree5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::MachineDominatorTree::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE5beginEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::begin()"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE3endEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::end()"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE5beginEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::begin() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE3endEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::end() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE8getBlockEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::getBlock() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE7getIDomEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::getIDom() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE11getChildrenEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::getChildren() const"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEEC1EPS1_PS2_", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::DomTreeNodeBase(llvm::MachineBasicBlock*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEEC2EPS1_PS2_", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::DomTreeNodeBase(llvm::MachineBasicBlock*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE8addChildEPS2_", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::addChild(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE14getNumChildrenEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::getNumChildren() const"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE16clearAllChildrenEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::clearAllChildren()"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE7compareEPS2_", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::compare(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE7setIDomEPS2_", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::setIDom(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE11getDFSNumInEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::getDFSNumIn() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE12getDFSNumOutEv", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::getDFSNumOut() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_17MachineBasicBlockEE11DominatedByEPKS2_", "llvm::DomTreeNodeBase<llvm::MachineBasicBlock>::DominatedBy(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE7InfoRecC1Ev", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec::InfoRec()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE7InfoRecC2Ev", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec::InfoRec()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE5resetEv", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::reset()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEEC1Eb", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::DominatorTreeBase(bool)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEEC2Eb", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::DominatorTreeBase(bool)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEED0Ev", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::~DominatorTreeBase()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEED1Ev", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::~DominatorTreeBase()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEED2Ev", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::~DominatorTreeBase()"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE7compareERS2_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::compare(llvm::DominatorTreeBase<llvm::MachineBasicBlock>&) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE13releaseMemoryEv", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::releaseMemory()"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE7getNodeEPS1_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::getNode(llvm::MachineBasicBlock*) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE11getRootNodeEv", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::getRootNode()"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE11getRootNodeEv", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::getRootNode() const"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE17properlyDominatesEPKNS_15DomTreeNodeBaseIS1_EES6_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::properlyDominates(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*) const"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE23dominatedBySlowTreeWalkEPKNS_15DomTreeNodeBaseIS1_EES6_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::dominatedBySlowTreeWalk(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE17properlyDominatesEPKS1_S4_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::properlyDominates(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE20isReachableFromEntryEPKS1_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::isReachableFromEntry(llvm::MachineBasicBlock const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE9dominatesEPKS1_S4_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::dominates(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE9dominatesEPKNS_15DomTreeNodeBaseIS1_EES6_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::dominates(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE16updateDFSNumbersEv", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::updateDFSNumbers()"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE7getRootEv", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::getRoot() const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE26findNearestCommonDominatorEPS1_S3_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::findNearestCommonDominator(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE26findNearestCommonDominatorEPKS1_S4_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::findNearestCommonDominator(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE11addNewBlockEPS1_S3_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::addNewBlock(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE24changeImmediateDominatorEPNS_15DomTreeNodeBaseIS1_EES5_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::changeImmediateDominator(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE24changeImmediateDominatorEPS1_S3_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::changeImmediateDominator(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE9eraseNodeEPS1_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::eraseNode(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE10removeNodeEPS1_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::removeNode(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE10splitBlockEPS1_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::splitBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE5SplitINS_7InverseIPS1_EENS_11GraphTraitsIS6_EEEEvRNS0_INT0_8NodeTypeEEEPSA_", "void llvm::DominatorTreeBase<llvm::MachineBasicBlock>::Split<llvm::Inverse<llvm::MachineBasicBlock*>, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> > >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> >::NodeType>&, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> >::NodeType*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE5SplitIPS1_NS_11GraphTraitsIS4_EEEEvRNS0_INT0_8NodeTypeEEEPS8_", "void llvm::DominatorTreeBase<llvm::MachineBasicBlock>::Split<llvm::MachineBasicBlock*, llvm::GraphTraits<llvm::MachineBasicBlock*> >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeType>&, llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeType*)"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE5printERNS_11raw_ostreamE", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::print(llvm::raw_ostream&) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE15getNodeForBlockEPS1_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::getNodeForBlock(llvm::MachineBasicBlock*)"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE7getIDomEPS1_", "llvm::DominatorTreeBase<llvm::MachineBasicBlock>::getIDom(llvm::MachineBasicBlock*) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEE11recalculateINS_15MachineFunctionEEEvRT_", "void llvm::DominatorTreeBase<llvm::MachineBasicBlock>::recalculate<llvm::MachineFunction>(llvm::MachineFunction&)"},
-    {"_ZN4llvm9CalculateINS_15MachineFunctionEPNS_17MachineBasicBlockEEEvRNS_17DominatorTreeBaseINS_11GraphTraitsIT0_E8NodeTypeEEERT_", "void llvm::Calculate<llvm::MachineFunction, llvm::MachineBasicBlock*>(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeType>&, llvm::MachineFunction&)"},
-    {"_ZN4llvm9CalculateINS_15MachineFunctionENS_7InverseIPNS_17MachineBasicBlockEEEEEvRNS_17DominatorTreeBaseINS_11GraphTraitsIT0_E8NodeTypeEEERT_", "void llvm::Calculate<llvm::MachineFunction, llvm::Inverse<llvm::MachineBasicBlock*> >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> >::NodeType>&, llvm::MachineFunction&)"},
-    {"_ZN4llvm7DFSPassINS_11GraphTraitsINS_7InverseIPNS_17MachineBasicBlockEEEEEEEjRNS_17DominatorTreeBaseINT_8NodeTypeEEEPS9_j", "unsigned int llvm::DFSPass<llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> > >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> >::NodeType>&, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> >::NodeType*, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIjE6resizeEj", "llvm::SmallVectorImpl<unsigned int>::resize(unsigned int)"},
-    {"_ZN4llvm4EvalINS_11GraphTraitsINS_7InverseIPNS_17MachineBasicBlockEEEEEEEPNT_8NodeTypeERNS_17DominatorTreeBaseIS8_EES9_j", "llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> >::NodeType* llvm::Eval<llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> > >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> >::NodeType>&, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock*> >::NodeType*, unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_17DominatorTreeBaseIS1_E7InfoRecENS_12DenseMapInfoIS2_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec> >::shrink_and_clear()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPNS_17MachineBasicBlockEN9__gnu_cxx17__normal_iteratorIPS3_St6vectorIS3_SaIS3_EEEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::MachineBasicBlock*, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_17DominatorTreeBaseIS1_E7InfoRecENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec> >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec const&, std::pair<llvm::MachineBasicBlock*, llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_17DominatorTreeBaseIS1_E7InfoRecENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::DominatorTreeBase<llvm::MachineBasicBlock>::InfoRec> >::grow(unsigned int)"},
-    {"_ZN4llvm7DFSPassINS_11GraphTraitsIPNS_17MachineBasicBlockEEEEEjRNS_17DominatorTreeBaseINT_8NodeTypeEEEPS7_j", "unsigned int llvm::DFSPass<llvm::GraphTraits<llvm::MachineBasicBlock*> >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeType>&, llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeType*, unsigned int)"},
-    {"_ZN4llvm4EvalINS_11GraphTraitsIPNS_17MachineBasicBlockEEEEEPNT_8NodeTypeERNS_17DominatorTreeBaseIS6_EES7_j", "llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeType* llvm::Eval<llvm::GraphTraits<llvm::MachineBasicBlock*> >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeType>&, llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeType*, unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockES2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::MachineBasicBlock*> >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::MachineBasicBlock* const&, std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockES2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::MachineBasicBlock*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockES2_NS_12DenseMapInfoIS2_EES4_E16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::MachineBasicBlock*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_15DomTreeNodeBaseIS1_EENS_12DenseMapInfoIS2_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::shrink_and_clear()"},
-    {"_ZN4llvm15callDefaultCtorINS_20MachineDominatorTreeEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::MachineDominatorTree>()"},
-    {"_ZN4llvm19MachineFunctionInfoD0Ev", "llvm::MachineFunctionInfo::~MachineFunctionInfo()"},
-    {"_ZN4llvm19MachineFunctionInfoD1Ev", "llvm::MachineFunctionInfo::~MachineFunctionInfo()"},
-    {"_ZN4llvm19MachineFunctionInfoD2Ev", "llvm::MachineFunctionInfo::~MachineFunctionInfo()"},
-    {"_ZN4llvm12ilist_traitsINS_17MachineBasicBlockEE10deleteNodeEPS1_", "llvm::ilist_traits<llvm::MachineBasicBlock>::deleteNode(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm15MachineFunction23DeleteMachineBasicBlockEPNS_17MachineBasicBlockE", "llvm::MachineFunction::DeleteMachineBasicBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm15MachineFunctionC1EPKNS_8FunctionERKNS_13TargetMachineEjRNS_17MachineModuleInfoEPNS_12GCModuleInfoE", "llvm::MachineFunction::MachineFunction(llvm::Function const*, llvm::TargetMachine const&, unsigned int, llvm::MachineModuleInfo&, llvm::GCModuleInfo*)"},
-    {"_ZN4llvm15MachineFunctionC2EPKNS_8FunctionERKNS_13TargetMachineEjRNS_17MachineModuleInfoEPNS_12GCModuleInfoE", "llvm::MachineFunction::MachineFunction(llvm::Function const*, llvm::TargetMachine const&, unsigned int, llvm::MachineModuleInfo&, llvm::GCModuleInfo*)"},
-    {"_ZN4llvm15MachineFunctionD1Ev", "llvm::MachineFunction::~MachineFunction()"},
-    {"_ZN4llvm15MachineFunctionD2Ev", "llvm::MachineFunction::~MachineFunction()"},
-    {"_ZN4llvm19MachineConstantPoolD1Ev", "llvm::MachineConstantPool::~MachineConstantPool()"},
-    {"_ZN4llvm15MachineFunction24getOrCreateJumpTableInfoEj", "llvm::MachineFunction::getOrCreateJumpTableInfo(unsigned int)"},
-    {"_ZN4llvm15MachineFunction14RenumberBlocksEPNS_17MachineBasicBlockE", "llvm::MachineFunction::RenumberBlocks(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm15MachineFunction18CreateMachineInstrERKNS_15TargetInstrDescENS_8DebugLocEb", "llvm::MachineFunction::CreateMachineInstr(llvm::TargetInstrDesc const&, llvm::DebugLoc, bool)"},
-    {"_ZN4llvm15MachineFunction17CloneMachineInstrEPKNS_12MachineInstrE", "llvm::MachineFunction::CloneMachineInstr(llvm::MachineInstr const*)"},
-    {"_ZN4llvm15MachineFunction18DeleteMachineInstrEPNS_12MachineInstrE", "llvm::MachineFunction::DeleteMachineInstr(llvm::MachineInstr*)"},
-    {"_ZN4llvm15MachineFunction23CreateMachineBasicBlockEPKNS_10BasicBlockE", "llvm::MachineFunction::CreateMachineBasicBlock(llvm::BasicBlock const*)"},
-    {"_ZN4llvm15MachineFunction20getMachineMemOperandENS_18MachinePointerInfoEjyjPKNS_6MDNodeE", "llvm::MachineFunction::getMachineMemOperand(llvm::MachinePointerInfo, unsigned int, unsigned long long, unsigned int, llvm::MDNode const*)"},
-    {"_ZN4llvm15MachineFunction20getMachineMemOperandEPKNS_17MachineMemOperandExy", "llvm::MachineFunction::getMachineMemOperand(llvm::MachineMemOperand const*, long long, unsigned long long)"},
-    {"_ZN4llvm15MachineFunction20allocateMemRefsArrayEm", "llvm::MachineFunction::allocateMemRefsArray(unsigned long)"},
-    {"_ZN4llvm15MachineFunction18extractLoadMemRefsEPPNS_17MachineMemOperandES3_", "llvm::MachineFunction::extractLoadMemRefs(llvm::MachineMemOperand**, llvm::MachineMemOperand**)"},
-    {"_ZN4llvm15MachineFunction19extractStoreMemRefsEPPNS_17MachineMemOperandES3_", "llvm::MachineFunction::extractStoreMemRefs(llvm::MachineMemOperand**, llvm::MachineMemOperand**)"},
-    {"_ZNK4llvm15MachineFunction4dumpEv", "llvm::MachineFunction::dump() const"},
-    {"_ZNK4llvm15MachineFunction5printERNS_11raw_ostreamEPNS_11SlotIndexesE", "llvm::MachineFunction::print(llvm::raw_ostream&, llvm::SlotIndexes*) const"},
-    {"_ZNK4llvm16MachineFrameInfo5printERKNS_15MachineFunctionERNS_11raw_ostreamE", "llvm::MachineFrameInfo::print(llvm::MachineFunction const&, llvm::raw_ostream&) const"},
-    {"_ZNK4llvm20MachineJumpTableInfo5printERNS_11raw_ostreamE", "llvm::MachineJumpTableInfo::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm19MachineConstantPool5printERNS_11raw_ostreamE", "llvm::MachineConstantPool::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm15MachineFunction7viewCFGEv", "llvm::MachineFunction::viewCFG() const"},
-    {"_ZNK4llvm15MachineFunction11viewCFGOnlyEv", "llvm::MachineFunction::viewCFGOnly() const"},
-    {"_ZN4llvm15MachineFunction9addLiveInEjPKNS_19TargetRegisterClassENS_8DebugLocE", "llvm::MachineFunction::addLiveIn(unsigned int, llvm::TargetRegisterClass const*, llvm::DebugLoc)"},
-    {"_ZNK4llvm15MachineFunction12getJTISymbolEjRNS_9MCContextEb", "llvm::MachineFunction::getJTISymbol(unsigned int, llvm::MCContext&, bool) const"},
-    {"_ZNK4llvm15MachineFunction16getPICBaseSymbolEv", "llvm::MachineFunction::getPICBaseSymbol() const"},
-    {"_ZN4llvm16MachineFrameInfo17CreateFixedObjectEyxb", "llvm::MachineFrameInfo::CreateFixedObject(unsigned long long, long long, bool)"},
-    {"_ZNK4llvm16MachineFrameInfo15getPristineRegsEPKNS_17MachineBasicBlockE", "llvm::MachineFrameInfo::getPristineRegs(llvm::MachineBasicBlock const*) const"},
-    {"_ZNK4llvm16MachineFrameInfo4dumpERKNS_15MachineFunctionE", "llvm::MachineFrameInfo::dump(llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm20MachineJumpTableInfo12getEntrySizeERKNS_10DataLayoutE", "llvm::MachineJumpTableInfo::getEntrySize(llvm::DataLayout const&) const"},
-    {"_ZNK4llvm20MachineJumpTableInfo17getEntryAlignmentERKNS_10DataLayoutE", "llvm::MachineJumpTableInfo::getEntryAlignment(llvm::DataLayout const&) const"},
-    {"_ZN4llvm20MachineJumpTableInfo20createJumpTableIndexERKSt6vectorIPNS_17MachineBasicBlockESaIS3_EE", "llvm::MachineJumpTableInfo::createJumpTableIndex(std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > const&)"},
-    {"_ZN4llvm20MachineJumpTableInfo22ReplaceMBBInJumpTablesEPNS_17MachineBasicBlockES2_", "llvm::MachineJumpTableInfo::ReplaceMBBInJumpTables(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm20MachineJumpTableInfo21ReplaceMBBInJumpTableEjPNS_17MachineBasicBlockES2_", "llvm::MachineJumpTableInfo::ReplaceMBBInJumpTable(unsigned int, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*)"},
-    {"_ZNK4llvm20MachineJumpTableInfo4dumpEv", "llvm::MachineJumpTableInfo::dump() const"},
-    {"_ZNK4llvm24MachineConstantPoolEntry7getTypeEv", "llvm::MachineConstantPoolEntry::getType() const"},
-    {"_ZNK4llvm24MachineConstantPoolEntry17getRelocationInfoEv", "llvm::MachineConstantPoolEntry::getRelocationInfo() const"},
-    {"_ZN4llvm19MachineConstantPoolD2Ev", "llvm::MachineConstantPool::~MachineConstantPool()"},
-    {"_ZN4llvm19MachineConstantPool20getConstantPoolIndexEPKNS_8ConstantEj", "llvm::MachineConstantPool::getConstantPoolIndex(llvm::Constant const*, unsigned int)"},
-    {"_Z25CanShareConstantPoolEntryPKN4llvm8ConstantES2_PKNS_10DataLayoutE", "CanShareConstantPoolEntry(llvm::Constant const*, llvm::Constant const*, llvm::DataLayout const*)"},
-    {"_ZN4llvm19MachineConstantPool20getConstantPoolIndexEPNS_24MachineConstantPoolValueEj", "llvm::MachineConstantPool::getConstantPoolIndex(llvm::MachineConstantPoolValue*, unsigned int)"},
-    {"_ZNK4llvm19MachineConstantPool4dumpEv", "llvm::MachineConstantPool::dump() const"},
-    {"_ZN4llvm6iplistINS_17MachineBasicBlockENS_12ilist_traitsIS1_EEE5clearEv", "llvm::iplist<llvm::MachineBasicBlock, llvm::ilist_traits<llvm::MachineBasicBlock> >::clear()"},
-    {"_ZNSt6vectorIN4llvm21MachineJumpTableEntryESaIS1_EE9push_backERKS1_", "std::vector<llvm::MachineJumpTableEntry, std::allocator<llvm::MachineJumpTableEntry> >::push_back(llvm::MachineJumpTableEntry const&)"},
-    {"_ZNSt6vectorIN4llvm24MachineConstantPoolEntryESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MachineConstantPoolEntry, std::allocator<llvm::MachineConstantPoolEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineConstantPoolEntry*, std::vector<llvm::MachineConstantPoolEntry, std::allocator<llvm::MachineConstantPoolEntry> > >, llvm::MachineConstantPoolEntry const&)"},
-    {"_ZNSt6vectorIN4llvm21MachineJumpTableEntryESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MachineJumpTableEntry, std::allocator<llvm::MachineJumpTableEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineJumpTableEntry*, std::vector<llvm::MachineJumpTableEntry, std::allocator<llvm::MachineJumpTableEntry> > >, llvm::MachineJumpTableEntry const&)"},
-    {"_ZNSt6vectorIPN4llvm17MachineBasicBlockESaIS2_EEaSERKS4_", "std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> >::operator=(std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > const&)"},
-    {"_ZNSt6vectorIPN4llvm17MachineBasicBlockESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, unsigned long, llvm::MachineBasicBlock* const&)"},
-    {"_ZN4llvm8DenseMapIjNS_8DebugLocENS_12DenseMapInfoIjEENS2_IS1_EEE16InsertIntoBucketERKjRKS1_PSt4pairIjS1_E", "llvm::DenseMap<unsigned int, llvm::DebugLoc, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::DebugLoc> >::InsertIntoBucket(unsigned int const&, llvm::DebugLoc const&, std::pair<unsigned int, llvm::DebugLoc>*)"},
-    {"_ZN4llvm8DenseMapIjNS_8DebugLocENS_12DenseMapInfoIjEENS2_IS1_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::DebugLoc, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::DebugLoc> >::grow(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIjjESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int, unsigned int>*, std::vector<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > > >, std::pair<unsigned int, unsigned int> const&)"},
-    {"_ZN4llvm23MachineFunctionAnalysisC1ERKNS_13TargetMachineENS_10CodeGenOpt5LevelE", "llvm::MachineFunctionAnalysis::MachineFunctionAnalysis(llvm::TargetMachine const&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm23MachineFunctionAnalysisC2ERKNS_13TargetMachineENS_10CodeGenOpt5LevelE", "llvm::MachineFunctionAnalysis::MachineFunctionAnalysis(llvm::TargetMachine const&, llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm23MachineFunctionAnalysisD0Ev", "llvm::MachineFunctionAnalysis::~MachineFunctionAnalysis()"},
-    {"_ZN4llvm23MachineFunctionAnalysisD1Ev", "llvm::MachineFunctionAnalysis::~MachineFunctionAnalysis()"},
-    {"_ZN4llvm23MachineFunctionAnalysisD2Ev", "llvm::MachineFunctionAnalysis::~MachineFunctionAnalysis()"},
-    {"_ZNK4llvm23MachineFunctionAnalysis16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::MachineFunctionAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm23MachineFunctionAnalysis16doInitializationERNS_6ModuleE", "llvm::MachineFunctionAnalysis::doInitialization(llvm::Module&)"},
-    {"_ZN4llvm23MachineFunctionAnalysis13runOnFunctionERNS_8FunctionE", "llvm::MachineFunctionAnalysis::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm23MachineFunctionAnalysis13releaseMemoryEv", "llvm::MachineFunctionAnalysis::releaseMemory()"},
-    {"_ZNK4llvm23MachineFunctionAnalysis11getPassNameEv", "llvm::MachineFunctionAnalysis::getPassName() const"},
-    {"_ZNK4llvm19MachineFunctionPass17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::MachineFunctionPass::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE", "llvm::MachineFunctionPass::runOnFunction(llvm::Function&)"},
-    {"_ZNK4llvm19MachineFunctionPass16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::MachineFunctionPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm32createMachineFunctionPrinterPassERNS_11raw_ostreamERKSs", "llvm::createMachineFunctionPrinterPass(llvm::raw_ostream&, std::string const&)"},
-    {"_ZN12_GLOBAL__N_126MachineFunctionPrinterPassD1Ev", "(anonymous namespace)::MachineFunctionPrinterPass::~MachineFunctionPrinterPass()"},
-    {"_ZN12_GLOBAL__N_126MachineFunctionPrinterPassD0Ev", "(anonymous namespace)::MachineFunctionPrinterPass::~MachineFunctionPrinterPass()"},
-    {"_ZNK12_GLOBAL__N_126MachineFunctionPrinterPass11getPassNameEv", "(anonymous namespace)::MachineFunctionPrinterPass::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_126MachineFunctionPrinterPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::MachineFunctionPrinterPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_126MachineFunctionPrinterPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MachineFunctionPrinterPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm14MachineOperand22AddRegOperandToRegInfoEPNS_19MachineRegisterInfoE", "llvm::MachineOperand::AddRegOperandToRegInfo(llvm::MachineRegisterInfo*)"},
-    {"_ZN4llvm14MachineOperand27RemoveRegOperandFromRegInfoEv", "llvm::MachineOperand::RemoveRegOperandFromRegInfo()"},
-    {"_ZN4llvm14MachineOperand6setRegEj", "llvm::MachineOperand::setReg(unsigned int)"},
-    {"_ZN4llvm14MachineOperand12substVirtRegEjjRKNS_18TargetRegisterInfoE", "llvm::MachineOperand::substVirtReg(unsigned int, unsigned int, llvm::TargetRegisterInfo const&)"},
-    {"_ZN4llvm14MachineOperand12substPhysRegEjRKNS_18TargetRegisterInfoE", "llvm::MachineOperand::substPhysReg(unsigned int, llvm::TargetRegisterInfo const&)"},
-    {"_ZN4llvm14MachineOperand17ChangeToImmediateEx", "llvm::MachineOperand::ChangeToImmediate(long long)"},
-    {"_ZN4llvm14MachineOperand16ChangeToRegisterEjbbbbbb", "llvm::MachineOperand::ChangeToRegister(unsigned int, bool, bool, bool, bool, bool, bool)"},
-    {"_ZNK4llvm14MachineOperand13isIdenticalToERKS0_", "llvm::MachineOperand::isIdenticalTo(llvm::MachineOperand const&) const"},
-    {"_ZNK4llvm14MachineOperand5printERNS_11raw_ostreamEPKNS_13TargetMachineE", "llvm::MachineOperand::print(llvm::raw_ostream&, llvm::TargetMachine const*) const"},
-    {"_ZNK4llvm18MachinePointerInfo12getAddrSpaceEv", "llvm::MachinePointerInfo::getAddrSpace() const"},
-    {"_ZN4llvm18MachinePointerInfo15getConstantPoolEv", "llvm::MachinePointerInfo::getConstantPool()"},
-    {"_ZN4llvm18MachinePointerInfo13getFixedStackEix", "llvm::MachinePointerInfo::getFixedStack(int, long long)"},
-    {"_ZN4llvm18MachinePointerInfo12getJumpTableEv", "llvm::MachinePointerInfo::getJumpTable()"},
-    {"_ZN4llvm18MachinePointerInfo6getGOTEv", "llvm::MachinePointerInfo::getGOT()"},
-    {"_ZN4llvm18MachinePointerInfo8getStackEx", "llvm::MachinePointerInfo::getStack(long long)"},
-    {"_ZN4llvm17MachineMemOperandC1ENS_18MachinePointerInfoEjyjPKNS_6MDNodeE", "llvm::MachineMemOperand::MachineMemOperand(llvm::MachinePointerInfo, unsigned int, unsigned long long, unsigned int, llvm::MDNode const*)"},
-    {"_ZN4llvm17MachineMemOperandC2ENS_18MachinePointerInfoEjyjPKNS_6MDNodeE", "llvm::MachineMemOperand::MachineMemOperand(llvm::MachinePointerInfo, unsigned int, unsigned long long, unsigned int, llvm::MDNode const*)"},
-    {"_ZNK4llvm17MachineMemOperand7ProfileERNS_16FoldingSetNodeIDE", "llvm::MachineMemOperand::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm17MachineMemOperand15refineAlignmentEPKS0_", "llvm::MachineMemOperand::refineAlignment(llvm::MachineMemOperand const*)"},
-    {"_ZNK4llvm17MachineMemOperand12getAlignmentEv", "llvm::MachineMemOperand::getAlignment() const"},
-    {"_ZN4llvmlsERNS_11raw_ostreamERKNS_17MachineMemOperandE", "llvm::operator<<(llvm::raw_ostream&, llvm::MachineMemOperand const&)"},
-    {"_ZN4llvm12MachineInstrC1Ev", "llvm::MachineInstr::MachineInstr()"},
-    {"_ZN4llvm12MachineInstrC2Ev", "llvm::MachineInstr::MachineInstr()"},
-    {"_ZN4llvm12MachineInstr25addImplicitDefUseOperandsEv", "llvm::MachineInstr::addImplicitDefUseOperands()"},
-    {"_ZN4llvm12MachineInstr10addOperandERKNS_14MachineOperandE", "llvm::MachineInstr::addOperand(llvm::MachineOperand const&)"},
-    {"_ZN4llvm12MachineInstrC1ERKNS_15TargetInstrDescEb", "llvm::MachineInstr::MachineInstr(llvm::TargetInstrDesc const&, bool)"},
-    {"_ZN4llvm12MachineInstrC2ERKNS_15TargetInstrDescEb", "llvm::MachineInstr::MachineInstr(llvm::TargetInstrDesc const&, bool)"},
-    {"_ZN4llvm12MachineInstrC1ERKNS_15TargetInstrDescENS_8DebugLocEb", "llvm::MachineInstr::MachineInstr(llvm::TargetInstrDesc const&, llvm::DebugLoc, bool)"},
-    {"_ZN4llvm12MachineInstrC2ERKNS_15TargetInstrDescENS_8DebugLocEb", "llvm::MachineInstr::MachineInstr(llvm::TargetInstrDesc const&, llvm::DebugLoc, bool)"},
-    {"_ZN4llvm12MachineInstrC1EPNS_17MachineBasicBlockERKNS_15TargetInstrDescE", "llvm::MachineInstr::MachineInstr(llvm::MachineBasicBlock*, llvm::TargetInstrDesc const&)"},
-    {"_ZN4llvm12MachineInstrC2EPNS_17MachineBasicBlockERKNS_15TargetInstrDescE", "llvm::MachineInstr::MachineInstr(llvm::MachineBasicBlock*, llvm::TargetInstrDesc const&)"},
-    {"_ZN4llvm12MachineInstrC1EPNS_17MachineBasicBlockENS_8DebugLocERKNS_15TargetInstrDescE", "llvm::MachineInstr::MachineInstr(llvm::MachineBasicBlock*, llvm::DebugLoc, llvm::TargetInstrDesc const&)"},
-    {"_ZN4llvm12MachineInstrC2EPNS_17MachineBasicBlockENS_8DebugLocERKNS_15TargetInstrDescE", "llvm::MachineInstr::MachineInstr(llvm::MachineBasicBlock*, llvm::DebugLoc, llvm::TargetInstrDesc const&)"},
-    {"_ZN4llvm12MachineInstrC1ERNS_15MachineFunctionERKS0_", "llvm::MachineInstr::MachineInstr(llvm::MachineFunction&, llvm::MachineInstr const&)"},
-    {"_ZN4llvm12MachineInstrC2ERNS_15MachineFunctionERKS0_", "llvm::MachineInstr::MachineInstr(llvm::MachineFunction&, llvm::MachineInstr const&)"},
-    {"_ZN4llvm12MachineInstrD1Ev", "llvm::MachineInstr::~MachineInstr()"},
-    {"_ZN4llvm12MachineInstrD2Ev", "llvm::MachineInstr::~MachineInstr()"},
-    {"_ZN4llvm12MachineInstr10getRegInfoEv", "llvm::MachineInstr::getRegInfo()"},
-    {"_ZN4llvm12MachineInstr29RemoveRegOperandsFromUseListsEv", "llvm::MachineInstr::RemoveRegOperandsFromUseLists()"},
-    {"_ZN4llvm12MachineInstr24AddRegOperandsToUseListsERNS_19MachineRegisterInfoE", "llvm::MachineInstr::AddRegOperandsToUseLists(llvm::MachineRegisterInfo&)"},
-    {"_ZN4llvm12MachineInstr13RemoveOperandEj", "llvm::MachineInstr::RemoveOperand(unsigned int)"},
-    {"_ZN4llvm12MachineInstr13addMemOperandERNS_15MachineFunctionEPNS_17MachineMemOperandE", "llvm::MachineInstr::addMemOperand(llvm::MachineFunction&, llvm::MachineMemOperand*)"},
-    {"_ZNK4llvm12MachineInstr13isIdenticalToEPKS0_NS0_11MICheckTypeE", "llvm::MachineInstr::isIdenticalTo(llvm::MachineInstr const*, llvm::MachineInstr::MICheckType) const"},
-    {"_ZN4llvm12MachineInstr16removeFromParentEv", "llvm::MachineInstr::removeFromParent()"},
-    {"_ZN4llvm12MachineInstr15eraseFromParentEv", "llvm::MachineInstr::eraseFromParent()"},
-    {"_ZNK4llvm12MachineInstr16OperandsCompleteEv", "llvm::MachineInstr::OperandsComplete() const"},
-    {"_ZNK4llvm12MachineInstr22getNumExplicitOperandsEv", "llvm::MachineInstr::getNumExplicitOperands() const"},
-    {"_ZNK4llvm12MachineInstr24isStackAligningInlineAsmEv", "llvm::MachineInstr::isStackAligningInlineAsm() const"},
-    {"_ZNK4llvm12MachineInstr25findRegisterUseOperandIdxEjbPKNS_18TargetRegisterInfoE", "llvm::MachineInstr::findRegisterUseOperandIdx(unsigned int, bool, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm12MachineInstr26readsWritesVirtualRegisterEjPNS_15SmallVectorImplIjEE", "llvm::MachineInstr::readsWritesVirtualRegister(unsigned int, llvm::SmallVectorImpl<unsigned int>*) const"},
-    {"_ZNK4llvm12MachineInstr25findRegisterDefOperandIdxEjbbPKNS_18TargetRegisterInfoE", "llvm::MachineInstr::findRegisterDefOperandIdx(unsigned int, bool, bool, llvm::TargetRegisterInfo const*) const"},
-    {"_ZNK4llvm12MachineInstr23findFirstPredOperandIdxEv", "llvm::MachineInstr::findFirstPredOperandIdx() const"},
-    {"_ZNK4llvm12MachineInstr21isRegTiedToUseOperandEjPj", "llvm::MachineInstr::isRegTiedToUseOperand(unsigned int, unsigned int*) const"},
-    {"_ZNK4llvm12MachineInstr21isRegTiedToDefOperandEjPj", "llvm::MachineInstr::isRegTiedToDefOperand(unsigned int, unsigned int*) const"},
-    {"_ZN4llvm12MachineInstr13clearKillInfoEv", "llvm::MachineInstr::clearKillInfo()"},
-    {"_ZN4llvm12MachineInstr16copyKillDeadInfoEPKS0_", "llvm::MachineInstr::copyKillDeadInfo(llvm::MachineInstr const*)"},
-    {"_ZN4llvm12MachineInstr14copyPredicatesEPKS0_", "llvm::MachineInstr::copyPredicates(llvm::MachineInstr const*)"},
-    {"_ZN4llvm12MachineInstr18substituteRegisterEjjjRKNS_18TargetRegisterInfoE", "llvm::MachineInstr::substituteRegister(unsigned int, unsigned int, unsigned int, llvm::TargetRegisterInfo const&)"},
-    {"_ZNK4llvm12MachineInstr12isSafeToMoveEPKNS_15TargetInstrInfoEPNS_13AliasAnalysisERb", "llvm::MachineInstr::isSafeToMove(llvm::TargetInstrInfo const*, llvm::AliasAnalysis*, bool&) const"},
-    {"_ZNK4llvm12MachineInstr23hasUnmodeledSideEffectsEv", "llvm::MachineInstr::hasUnmodeledSideEffects() const"},
-    {"_ZNK4llvm12MachineInstr15isInvariantLoadEPNS_13AliasAnalysisE", "llvm::MachineInstr::isInvariantLoad(llvm::AliasAnalysis*) const"},
-    {"_ZNK4llvm12MachineInstr20hasVolatileMemoryRefEv", "llvm::MachineInstr::hasVolatileMemoryRef() const"},
-    {"_ZNK4llvm12MachineInstr13isSafeToReMatEPKNS_15TargetInstrInfoEPNS_13AliasAnalysisEj", "llvm::MachineInstr::isSafeToReMat(llvm::TargetInstrInfo const*, llvm::AliasAnalysis*, unsigned int) const"},
-    {"_ZNK4llvm12MachineInstr18isConstantValuePHIEv", "llvm::MachineInstr::isConstantValuePHI() const"},
-    {"_ZNK4llvm12MachineInstr14allDefsAreDeadEv", "llvm::MachineInstr::allDefsAreDead() const"},
-    {"_ZN4llvm12MachineInstr15copyImplicitOpsEPKS0_", "llvm::MachineInstr::copyImplicitOps(llvm::MachineInstr const*)"},
-    {"_ZNK4llvm12MachineInstr4dumpEv", "llvm::MachineInstr::dump() const"},
-    {"_ZNK4llvm12MachineInstr5printERNS_11raw_ostreamEPKNS_13TargetMachineE", "llvm::MachineInstr::print(llvm::raw_ostream&, llvm::TargetMachine const*) const"},
-    {"_Z13printDebugLocN4llvm8DebugLocEPKNS_15MachineFunctionERNS_11raw_ostreamE", "printDebugLoc(llvm::DebugLoc, llvm::MachineFunction const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm12MachineInstr17addRegisterKilledEjPKNS_18TargetRegisterInfoEb", "llvm::MachineInstr::addRegisterKilled(unsigned int, llvm::TargetRegisterInfo const*, bool)"},
-    {"_ZN4llvm12MachineInstr15addRegisterDeadEjPKNS_18TargetRegisterInfoEb", "llvm::MachineInstr::addRegisterDead(unsigned int, llvm::TargetRegisterInfo const*, bool)"},
-    {"_ZN4llvm12MachineInstr18addRegisterDefinedEjPKNS_18TargetRegisterInfoE", "llvm::MachineInstr::addRegisterDefined(unsigned int, llvm::TargetRegisterInfo const*)"},
-    {"_ZN4llvm12MachineInstr21setPhysRegsDeadExceptERKNS_15SmallVectorImplIjEERKNS_18TargetRegisterInfoE", "llvm::MachineInstr::setPhysRegsDeadExcept(llvm::SmallVectorImpl<unsigned int> const&, llvm::TargetRegisterInfo const&)"},
-    {"_ZN4llvm27MachineInstrExpressionTrait12getHashValueERKPKNS_12MachineInstrE", "llvm::MachineInstrExpressionTrait::getHashValue(llvm::MachineInstr const* const&)"},
-    {"_ZNSt6vectorIN4llvm14MachineOperandESaIS1_EE7reserveEm", "std::vector<llvm::MachineOperand, std::allocator<llvm::MachineOperand> >::reserve(unsigned long)"},
-    {"_ZN4llvm25initializeMachineLICMPassERNS_12PassRegistryE", "llvm::initializeMachineLICMPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm21createMachineLICMPassEb", "llvm::createMachineLICMPass(bool)"},
-    {"_ZN12_GLOBAL__N_111MachineLICMD1Ev", "(anonymous namespace)::MachineLICM::~MachineLICM()"},
-    {"_ZN12_GLOBAL__N_111MachineLICMD0Ev", "(anonymous namespace)::MachineLICM::~MachineLICM()"},
-    {"_ZNK12_GLOBAL__N_111MachineLICM11getPassNameEv", "(anonymous namespace)::MachineLICM::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_111MachineLICM16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::MachineLICM::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_111MachineLICM13releaseMemoryEv", "(anonymous namespace)::MachineLICM::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_111MachineLICM20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MachineLICM::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_111MachineLICM11HoistRegionEPN4llvm15DomTreeNodeBaseINS1_17MachineBasicBlockEEEb", "(anonymous namespace)::MachineLICM::HoistRegion(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, bool)"},
-    {"_ZN12_GLOBAL__N_111MachineLICM15getCurPreheaderEv", "(anonymous namespace)::MachineLICM::getCurPreheader()"},
-    {"_ZN12_GLOBAL__N_111MachineLICM15InitRegPressureEPN4llvm17MachineBasicBlockE", "(anonymous namespace)::MachineLICM::InitRegPressure(llvm::MachineBasicBlock*)"},
-    {"_ZN12_GLOBAL__N_111MachineLICM17UpdateRegPressureEPKN4llvm12MachineInstrE", "(anonymous namespace)::MachineLICM::UpdateRegPressure(llvm::MachineInstr const*)"},
-    {"_ZN12_GLOBAL__N_111MachineLICM19IsLoopInvariantInstERN4llvm12MachineInstrE", "(anonymous namespace)::MachineLICM::IsLoopInvariantInst(llvm::MachineInstr&)"},
-    {"_ZN12_GLOBAL__N_111MachineLICM19IsProfitableToHoistERN4llvm12MachineInstrE", "(anonymous namespace)::MachineLICM::IsProfitableToHoist(llvm::MachineInstr&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_111MachineLICMEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::MachineLICM>()"},
-    {"_ZN4llvm8DenseMapIjSt6vectorIPKNS_12MachineInstrESaIS4_EENS_12DenseMapInfoIjEENS7_IS6_EEE5clearEv", "llvm::DenseMap<unsigned int, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > > >::clear()"},
-    {"_ZN4llvm8DenseMapIjSt6vectorIPKNS_12MachineInstrESaIS4_EENS_12DenseMapInfoIjEENS7_IS6_EEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIjSt6vectorIPKNS_12MachineInstrESaIS4_EENS_12DenseMapInfoIjEENS7_IS6_EEE6insertERKSt4pairIjS6_E", "llvm::DenseMap<unsigned int, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > > >::insert(std::pair<unsigned int, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > > const&)"},
-    {"_ZN4llvm8DenseMapIjSt6vectorIPKNS_12MachineInstrESaIS4_EENS_12DenseMapInfoIjEENS7_IS6_EEE16InsertIntoBucketERKjRKS6_PSt4pairIjS6_E", "llvm::DenseMap<unsigned int, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > > >::InsertIntoBucket(unsigned int const&, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > const&, std::pair<unsigned int, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > >*)"},
-    {"_ZN4llvm8DenseMapIjSt6vectorIPKNS_12MachineInstrESaIS4_EENS_12DenseMapInfoIjEENS7_IS6_EEE4growEj", "llvm::DenseMap<unsigned int, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPKN4llvm12MachineInstrESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineInstr const**, std::vector<llvm::MachineInstr const*, std::allocator<llvm::MachineInstr const*> > >, llvm::MachineInstr const* const&)"},
-    {"_ZN4llvm8DenseMapIjiNS_12DenseMapInfoIjEENS1_IiEEE6insertERKSt4pairIjiE", "llvm::DenseMap<unsigned int, int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<int> >::insert(std::pair<unsigned int, int> const&)"},
-    {"_ZN4llvm8DenseMapIjiNS_12DenseMapInfoIjEENS1_IiEEE16InsertIntoBucketERKjRKiPSt4pairIjiE", "llvm::DenseMap<unsigned int, int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<int> >::InsertIntoBucket(unsigned int const&, int const&, std::pair<unsigned int, int>*)"},
-    {"_ZN4llvm8DenseMapIjiNS_12DenseMapInfoIjEENS1_IiEEE4growEj", "llvm::DenseMap<unsigned int, int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<int> >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11SmallVectorIjLj8EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SmallVector<unsigned int, 8u>, false>::grow(unsigned long)"},
-    {"_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE", "std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_erase(std::_Rb_tree_node<int>*)"},
-    {"_ZN4llvm8SmallSetIiLj32EE6insertERKi", "llvm::SmallSet<int, 32u>::insert(int const&)"},
-    {"_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueERKi", "std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_insert_unique(int const&)"},
-    {"_ZN4llvm29initializeMachineLoopInfoPassERNS_12PassRegistryE", "llvm::initializeMachineLoopInfoPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15MachineLoopInfo20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::MachineLoopInfo::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZNK4llvm15MachineLoopInfo16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::MachineLoopInfo::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm11MachineLoop11getTopBlockEv", "llvm::MachineLoop::getTopBlock()"},
-    {"_ZN4llvm11MachineLoop14getBottomBlockEv", "llvm::MachineLoop::getBottomBlock()"},
-    {"_ZNK4llvm11MachineLoop4dumpEv", "llvm::MachineLoop::dump() const"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEEC1Ev", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::LoopBase()"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEEC2Ev", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::LoopBase()"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEED1Ev", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::~LoopBase()"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEED2Ev", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::~LoopBase()"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE12getLoopDepthEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getLoopDepth() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE9getHeaderEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getHeader() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE13getParentLoopEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getParentLoop() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE8containsEPKS2_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::contains(llvm::MachineLoop const*) const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE8containsEPKS1_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::contains(llvm::MachineBasicBlock const*) const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE11block_beginEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::block_begin() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE9block_endEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::block_end() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE11getSubLoopsEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getSubLoops() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE5beginEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::begin() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE3endEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::end() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE5emptyEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::empty() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE9getBlocksEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getBlocks() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE13isLoopExitingEPKS1_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::isLoopExiting(llvm::MachineBasicBlock const*) const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE15getNumBackEdgesEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getNumBackEdges() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE16getExitingBlocksERNS_15SmallVectorImplIPS1_EE", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getExitingBlocks(llvm::SmallVectorImpl<llvm::MachineBasicBlock*>&) const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE15getExitingBlockEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getExitingBlock() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE13getExitBlocksERNS_15SmallVectorImplIPS1_EE", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getExitBlocks(llvm::SmallVectorImpl<llvm::MachineBasicBlock*>&) const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE12getExitBlockEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getExitBlock() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE16getLoopPreheaderEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getLoopPreheader() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE18getLoopPredecessorEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getLoopPredecessor() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE12getLoopLatchEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getLoopLatch() const"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE20replaceChildLoopWithEPS2_S4_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::replaceChildLoopWith(llvm::MachineLoop*, llvm::MachineLoop*)"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE12addChildLoopEPS2_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::addChildLoop(llvm::MachineLoop*)"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE15removeChildLoopEN9__gnu_cxx17__normal_iteratorIPKPS2_St6vectorIS6_SaIS6_EEEE", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::removeChildLoop(__gnu_cxx::__normal_iterator<llvm::MachineLoop* const*, std::vector<llvm::MachineLoop*, std::allocator<llvm::MachineLoop*> > >)"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE13addBlockEntryEPS1_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::addBlockEntry(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE12moveToHeaderEPS1_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::moveToHeader(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE19removeBlockFromLoopEPS1_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::removeBlockFromLoop(llvm::MachineBasicBlock*)"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE10verifyLoopEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::verifyLoop() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE14verifyLoopNestEv", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::verifyLoopNest() const"},
-    {"_ZNK4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEE5printERNS_11raw_ostreamEj", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::print(llvm::raw_ostream&, unsigned int) const"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEEC1EPS1_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::LoopBase(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm8LoopBaseINS_17MachineBasicBlockENS_11MachineLoopEEC2EPS1_", "llvm::LoopBase<llvm::MachineBasicBlock, llvm::MachineLoop>::LoopBase(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEEC1Ev", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::LoopInfoBase()"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEEC2Ev", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::LoopInfoBase()"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEED1Ev", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::~LoopInfoBase()"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEED2Ev", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::~LoopInfoBase()"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE13releaseMemoryEv", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::releaseMemory()"},
-    {"_ZNK4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE5beginEv", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::begin() const"},
-    {"_ZNK4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE3endEv", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::end() const"},
-    {"_ZNK4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE5emptyEv", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::empty() const"},
-    {"_ZNK4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE10getLoopForEPKS1_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getLoopFor(llvm::MachineBasicBlock const*) const"},
-    {"_ZNK4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEEixEPKS1_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::operator[](llvm::MachineBasicBlock const*) const"},
-    {"_ZNK4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE12getLoopDepthEPKS1_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::getLoopDepth(llvm::MachineBasicBlock const*) const"},
-    {"_ZNK4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE12isLoopHeaderEPS1_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::isLoopHeader(llvm::MachineBasicBlock*) const"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE10removeLoopEN9__gnu_cxx17__normal_iteratorIPKPS2_St6vectorIS6_SaIS6_EEEE", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::removeLoop(__gnu_cxx::__normal_iterator<llvm::MachineLoop* const*, std::vector<llvm::MachineLoop*, std::allocator<llvm::MachineLoop*> > >)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE13changeLoopForEPS1_PS2_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::changeLoopFor(llvm::MachineBasicBlock*, llvm::MachineLoop*)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE18changeTopLevelLoopEPS2_S4_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::changeTopLevelLoop(llvm::MachineLoop*, llvm::MachineLoop*)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE15addTopLevelLoopEPS2_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::addTopLevelLoop(llvm::MachineLoop*)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE11removeBlockEPS1_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::removeBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE23isNotAlreadyContainedInEPKS2_S5_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::isNotAlreadyContainedIn(llvm::MachineLoop const*, llvm::MachineLoop const*)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE9CalculateERNS_17DominatorTreeBaseIS1_EE", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::Calculate(llvm::DominatorTreeBase<llvm::MachineBasicBlock>&)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE15ConsiderForLoopEPS1_RNS_17DominatorTreeBaseIS1_EE", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::ConsiderForLoop(llvm::MachineBasicBlock*, llvm::DominatorTreeBase<llvm::MachineBasicBlock>&)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_11MachineLoopENS_12DenseMapInfoIS2_EENS5_IS4_EEE6insertERKSt4pairIS2_S4_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::MachineLoop*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::MachineLoop*> >::insert(std::pair<llvm::MachineBasicBlock*, llvm::MachineLoop*> const&)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE19MoveSiblingLoopIntoEPS2_S4_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::MoveSiblingLoopInto(llvm::MachineLoop*, llvm::MachineLoop*)"},
-    {"_ZN4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE14InsertLoopIntoEPS2_S4_", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::InsertLoopInto(llvm::MachineLoop*, llvm::MachineLoop*)"},
-    {"_ZNK4llvm12LoopInfoBaseINS_17MachineBasicBlockENS_11MachineLoopEE5printERNS_11raw_ostreamE", "llvm::LoopInfoBase<llvm::MachineBasicBlock, llvm::MachineLoop>::print(llvm::raw_ostream&) const"},
-    {"_ZN4llvm15MachineLoopInfoD1Ev", "llvm::MachineLoopInfo::~MachineLoopInfo()"},
-    {"_ZN4llvm15MachineLoopInfoD0Ev", "llvm::MachineLoopInfo::~MachineLoopInfo()"},
-    {"_ZN4llvm15MachineLoopInfo13releaseMemoryEv", "llvm::MachineLoopInfo::releaseMemory()"},
-    {"_ZNSt8_Rb_treeIPN4llvm17MachineBasicBlockESt4pairIKS2_PNS0_11MachineLoopEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<llvm::MachineBasicBlock*, std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*>, std::_Select1st<std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> >, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> >, std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm17MachineBasicBlockESt4pairIKS2_PNS0_11MachineLoopEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<llvm::MachineBasicBlock*, std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*>, std::_Select1st<std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> >, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> > >::_M_insert_unique(std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> const&)"},
-    {"_ZNSt6vectorIPN4llvm17MachineBasicBlockESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS2_S4_EEEEvS9_T_SA_St20forward_iterator_tag", "void std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> >::_M_range_insert<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, std::forward_iterator_tag)"},
-    {"_ZN4llvm11df_iteratorIPNS_17MachineBasicBlockENS_11SmallPtrSetIS2_Lj8EEELb0ENS_11GraphTraitsIS2_EEE6toNextEv", "llvm::df_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::toNext()"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_11MachineLoopENS_12DenseMapInfoIS2_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::MachineLoop*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::MachineLoop*> >::shrink_and_clear()"},
-    {"_ZNSt6vectorIPN4llvm11MachineLoopESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::MachineLoop*, std::allocator<llvm::MachineLoop*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MachineLoop**, std::vector<llvm::MachineLoop*, std::allocator<llvm::MachineLoop*> > >, llvm::MachineLoop* const&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm11MachineLoopESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::MachineLoop**, std::vector<llvm::MachineLoop*, std::allocator<llvm::MachineLoop*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::MachineLoop**, std::vector<llvm::MachineLoop*, std::allocator<llvm::MachineLoop*> > >, llvm::MachineLoop*>(__gnu_cxx::__normal_iterator<llvm::MachineLoop**, std::vector<llvm::MachineLoop*, std::allocator<llvm::MachineLoop*> > >, __gnu_cxx::__normal_iterator<llvm::MachineLoop**, std::vector<llvm::MachineLoop*, std::allocator<llvm::MachineLoop*> > >, llvm::MachineLoop* const&, std::random_access_iterator_tag)"},
-    {"_ZSt16__introsort_loopIPPN4llvm17MachineBasicBlockElEvT_S4_T0_", "void std::__introsort_loop<llvm::MachineBasicBlock**, long>(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, long)"},
-    {"_ZSt22__final_insertion_sortIPPN4llvm17MachineBasicBlockEEvT_S4_", "void std::__final_insertion_sort<llvm::MachineBasicBlock**>(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**)"},
-    {"_ZSt13__heap_selectIPPN4llvm17MachineBasicBlockEEvT_S4_S4_", "void std::__heap_select<llvm::MachineBasicBlock**>(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, llvm::MachineBasicBlock**)"},
-    {"_ZSt9sort_heapIPPN4llvm17MachineBasicBlockEEvT_S4_", "void std::sort_heap<llvm::MachineBasicBlock**>(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**)"},
-    {"_ZSt9make_heapIPPN4llvm17MachineBasicBlockEEvT_S4_", "void std::make_heap<llvm::MachineBasicBlock**>(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**)"},
-    {"_ZN4llvm15callDefaultCtorINS_15MachineLoopInfoEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::MachineLoopInfo>()"},
-    {"_ZN4llvm15MachineLoopInfoC2Ev", "llvm::MachineLoopInfo::MachineLoopInfo()"},
-    {"_ZNSt8_Rb_treeIPN4llvm17MachineBasicBlockESt4pairIKS2_PNS0_11MachineLoopEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<llvm::MachineBasicBlock*, std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*>, std::_Select1st<std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> >, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineBasicBlock* const, llvm::MachineLoop*> >*)"},
-    {"_ZN4llvm31initializeMachineModuleInfoPassERNS_12PassRegistryE", "llvm::initializeMachineModuleInfoPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm21MachineModuleInfoImplD0Ev", "llvm::MachineModuleInfoImpl::~MachineModuleInfoImpl()"},
-    {"_ZN4llvm21MachineModuleInfoImplD1Ev", "llvm::MachineModuleInfoImpl::~MachineModuleInfoImpl()"},
-    {"_ZN4llvm21MachineModuleInfoImplD2Ev", "llvm::MachineModuleInfoImpl::~MachineModuleInfoImpl()"},
-    {"_ZN4llvm15MMIAddrLabelMap18getAddrLabelSymbolEPNS_10BasicBlockE", "llvm::MMIAddrLabelMap::getAddrLabelSymbol(llvm::BasicBlock*)"},
-    {"_ZN4llvm15MMIAddrLabelMap24getAddrLabelSymbolToEmitEPNS_10BasicBlockE", "llvm::MMIAddrLabelMap::getAddrLabelSymbolToEmit(llvm::BasicBlock*)"},
-    {"_ZN4llvm15MMIAddrLabelMap29takeDeletedSymbolsForFunctionEPNS_8FunctionERSt6vectorIPNS_8MCSymbolESaIS5_EE", "llvm::MMIAddrLabelMap::takeDeletedSymbolsForFunction(llvm::Function*, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> >&)"},
-    {"_ZN4llvm15MMIAddrLabelMap21UpdateForDeletedBlockEPNS_10BasicBlockE", "llvm::MMIAddrLabelMap::UpdateForDeletedBlock(llvm::BasicBlock*)"},
-    {"_ZN4llvm15MMIAddrLabelMap18UpdateForRAUWBlockEPNS_10BasicBlockES2_", "llvm::MMIAddrLabelMap::UpdateForRAUWBlock(llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm26MMIAddrLabelMapCallbackPtr7deletedEv", "llvm::MMIAddrLabelMapCallbackPtr::deleted()"},
-    {"_ZN4llvm26MMIAddrLabelMapCallbackPtr19allUsesReplacedWithEPNS_5ValueE", "llvm::MMIAddrLabelMapCallbackPtr::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZN4llvm17MachineModuleInfoC1ERKNS_9MCAsmInfoEPKNS_13TargetAsmInfoE", "llvm::MachineModuleInfo::MachineModuleInfo(llvm::MCAsmInfo const&, llvm::TargetAsmInfo const*)"},
-    {"_ZN4llvm17MachineModuleInfoC2ERKNS_9MCAsmInfoEPKNS_13TargetAsmInfoE", "llvm::MachineModuleInfo::MachineModuleInfo(llvm::MCAsmInfo const&, llvm::TargetAsmInfo const*)"},
-    {"_ZN4llvm17MachineModuleInfoC1Ev", "llvm::MachineModuleInfo::MachineModuleInfo()"},
-    {"_ZN4llvm17MachineModuleInfoC2Ev", "llvm::MachineModuleInfo::MachineModuleInfo()"},
-    {"_ZN4llvm17MachineModuleInfoD0Ev", "llvm::MachineModuleInfo::~MachineModuleInfo()"},
-    {"_ZN4llvm17MachineModuleInfoD1Ev", "llvm::MachineModuleInfo::~MachineModuleInfo()"},
-    {"_ZN4llvm17MachineModuleInfoD2Ev", "llvm::MachineModuleInfo::~MachineModuleInfo()"},
-    {"_ZN4llvm17MachineModuleInfo16doInitializationEv", "llvm::MachineModuleInfo::doInitialization()"},
-    {"_ZN4llvm17MachineModuleInfo14doFinalizationEv", "llvm::MachineModuleInfo::doFinalization()"},
-    {"_ZN4llvm17MachineModuleInfo11EndFunctionEv", "llvm::MachineModuleInfo::EndFunction()"},
-    {"_ZN4llvm17MachineModuleInfo13AnalyzeModuleERKNS_6ModuleE", "llvm::MachineModuleInfo::AnalyzeModule(llvm::Module const&)"},
-    {"_ZN4llvm17MachineModuleInfo18getAddrLabelSymbolEPKNS_10BasicBlockE", "llvm::MachineModuleInfo::getAddrLabelSymbol(llvm::BasicBlock const*)"},
-    {"_ZN4llvm17MachineModuleInfo24getAddrLabelSymbolToEmitEPKNS_10BasicBlockE", "llvm::MachineModuleInfo::getAddrLabelSymbolToEmit(llvm::BasicBlock const*)"},
-    {"_ZN4llvm17MachineModuleInfo29takeDeletedSymbolsForFunctionEPKNS_8FunctionERSt6vectorIPNS_8MCSymbolESaIS6_EE", "llvm::MachineModuleInfo::takeDeletedSymbolsForFunction(llvm::Function const*, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> >&)"},
-    {"_ZN4llvm17MachineModuleInfo25getOrCreateLandingPadInfoEPNS_17MachineBasicBlockE", "llvm::MachineModuleInfo::getOrCreateLandingPadInfo(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineModuleInfo9addInvokeEPNS_17MachineBasicBlockEPNS_8MCSymbolES4_", "llvm::MachineModuleInfo::addInvoke(llvm::MachineBasicBlock*, llvm::MCSymbol*, llvm::MCSymbol*)"},
-    {"_ZN4llvm17MachineModuleInfo13addLandingPadEPNS_17MachineBasicBlockE", "llvm::MachineModuleInfo::addLandingPad(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineModuleInfo14addPersonalityEPNS_17MachineBasicBlockEPKNS_8FunctionE", "llvm::MachineModuleInfo::addPersonality(llvm::MachineBasicBlock*, llvm::Function const*)"},
-    {"_ZN4llvm17MachineModuleInfo16addCatchTypeInfoEPNS_17MachineBasicBlockERSt6vectorIPKNS_14GlobalVariableESaIS6_EE", "llvm::MachineModuleInfo::addCatchTypeInfo(llvm::MachineBasicBlock*, std::vector<llvm::GlobalVariable const*, std::allocator<llvm::GlobalVariable const*> >&)"},
-    {"_ZN4llvm17MachineModuleInfo12getTypeIDForEPKNS_14GlobalVariableE", "llvm::MachineModuleInfo::getTypeIDFor(llvm::GlobalVariable const*)"},
-    {"_ZN4llvm17MachineModuleInfo17addFilterTypeInfoEPNS_17MachineBasicBlockERSt6vectorIPKNS_14GlobalVariableESaIS6_EE", "llvm::MachineModuleInfo::addFilterTypeInfo(llvm::MachineBasicBlock*, std::vector<llvm::GlobalVariable const*, std::allocator<llvm::GlobalVariable const*> >&)"},
-    {"_ZN4llvm17MachineModuleInfo14getFilterIDForERSt6vectorIjSaIjEE", "llvm::MachineModuleInfo::getFilterIDFor(std::vector<unsigned int, std::allocator<unsigned int> >&)"},
-    {"_ZN4llvm17MachineModuleInfo10addCleanupEPNS_17MachineBasicBlockE", "llvm::MachineModuleInfo::addCleanup(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineModuleInfo15TidyLandingPadsEPNS_8DenseMapIPNS_8MCSymbolEmNS_12DenseMapInfoIS3_EENS4_ImEEEE", "llvm::MachineModuleInfo::TidyLandingPads(llvm::DenseMap<llvm::MCSymbol*, unsigned long, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<unsigned long> >*)"},
-    {"_ZNK4llvm17MachineModuleInfo14getPersonalityEv", "llvm::MachineModuleInfo::getPersonality() const"},
-    {"_ZNK4llvm17MachineModuleInfo19getPersonalityIndexEv", "llvm::MachineModuleInfo::getPersonalityIndex() const"},
-    {"_ZN4llvm26MMIAddrLabelMapCallbackPtrD1Ev", "llvm::MMIAddrLabelMapCallbackPtr::~MMIAddrLabelMapCallbackPtr()"},
-    {"_ZNSt6vectorIPN4llvm8MCSymbolESaIS2_EEaSERKS4_", "std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> >::operator=(std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > const&)"},
-    {"_ZNSt6vectorIN4llvm14LandingPadInfoESaIS1_EE5clearEv", "std::vector<llvm::LandingPadInfo, std::allocator<llvm::LandingPadInfo> >::clear()"},
-    {"_ZNSt6vectorIN4llvm14LandingPadInfoESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS1_S3_EE", "std::vector<llvm::LandingPadInfo, std::allocator<llvm::LandingPadInfo> >::erase(__gnu_cxx::__normal_iterator<llvm::LandingPadInfo*, std::vector<llvm::LandingPadInfo, std::allocator<llvm::LandingPadInfo> > >)"},
-    {"_ZN4llvm26MMIAddrLabelMapCallbackPtrD0Ev", "llvm::MMIAddrLabelMapCallbackPtr::~MMIAddrLabelMapCallbackPtr()"},
-    {"_ZNSt6vectorIPKN4llvm14GlobalVariableESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::GlobalVariable const*, std::allocator<llvm::GlobalVariable const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::GlobalVariable const**, std::vector<llvm::GlobalVariable const*, std::allocator<llvm::GlobalVariable const*> > >, llvm::GlobalVariable const* const&)"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPN4llvm14LandingPadInfoES5_EET0_T_S7_S6_", "llvm::LandingPadInfo* std::__copy<false, std::random_access_iterator_tag>::copy<llvm::LandingPadInfo*, llvm::LandingPadInfo*>(llvm::LandingPadInfo*, llvm::LandingPadInfo*, llvm::LandingPadInfo*)"},
-    {"_ZNSt6vectorIiSaIiEEaSERKS1_", "std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_8MCSymbolEEaSERKS3_", "llvm::SmallVectorImpl<llvm::MCSymbol*>::operator=(llvm::SmallVectorImpl<llvm::MCSymbol*> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolEmNS_12DenseMapInfoIS2_EENS3_ImEEE16InsertIntoBucketERKS2_RKmPSt4pairIS2_mE", "llvm::DenseMap<llvm::MCSymbol*, unsigned long, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<unsigned long> >::InsertIntoBucket(llvm::MCSymbol* const&, unsigned long const&, std::pair<llvm::MCSymbol*, unsigned long>*)"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolEmNS_12DenseMapInfoIS2_EENS3_ImEEE4growEj", "llvm::DenseMap<llvm::MCSymbol*, unsigned long, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<unsigned long> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIiSaIiEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPiS1_EERKi", "std::vector<int, std::allocator<int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)"},
-    {"_ZNSt6vectorIN4llvm14LandingPadInfoESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::LandingPadInfo, std::allocator<llvm::LandingPadInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::LandingPadInfo*, std::vector<llvm::LandingPadInfo, std::allocator<llvm::LandingPadInfo> > >, llvm::LandingPadInfo const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN4llvm14LandingPadInfoES5_EET0_T_S7_S6_", "llvm::LandingPadInfo* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<llvm::LandingPadInfo*, llvm::LandingPadInfo*>(llvm::LandingPadInfo*, llvm::LandingPadInfo*, llvm::LandingPadInfo*)"},
-    {"_ZN4llvm14LandingPadInfoC2ERKS0_", "llvm::LandingPadInfo::LandingPadInfo(llvm::LandingPadInfo const&)"},
-    {"_ZN4llvm8DenseMapIPNS_8MCSymbolEjNS_12DenseMapInfoIS2_EENS3_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MCSymbol*, unsigned int, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZNSt6vectorIPKN4llvm8FunctionESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::Function const*, std::allocator<llvm::Function const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Function const**, std::vector<llvm::Function const*, std::allocator<llvm::Function const*> > >, llvm::Function const* const&)"},
-    {"_ZNSt6vectorIN4llvm14LandingPadInfoESaIS1_EED2Ev", "std::vector<llvm::LandingPadInfo, std::allocator<llvm::LandingPadInfo> >::~vector()"},
-    {"_ZNSt6vectorIPN4llvm8MCSymbolESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS2_S4_EEEEvS9_T_SA_St20forward_iterator_tag", "void std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> >::_M_range_insert<__gnu_cxx::__normal_iterator<llvm::MCSymbol**, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > > >(__gnu_cxx::__normal_iterator<llvm::MCSymbol**, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > >, __gnu_cxx::__normal_iterator<llvm::MCSymbol**, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > >, __gnu_cxx::__normal_iterator<llvm::MCSymbol**, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > >, std::forward_iterator_tag)"},
-    {"_ZN4llvm8DenseMapINS_11AssertingVHINS_8FunctionEEESt6vectorIPNS_8MCSymbolESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::AssertingVH<llvm::Function>, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Function> >, llvm::DenseMapInfo<std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > > >::FindAndConstruct(llvm::AssertingVH<llvm::Function> const&)"},
-    {"_ZN4llvm8DenseMapINS_11AssertingVHINS_8FunctionEEESt6vectorIPNS_8MCSymbolESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE16InsertIntoBucketERKS3_RKS8_PSt4pairIS3_S8_E", "llvm::DenseMap<llvm::AssertingVH<llvm::Function>, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Function> >, llvm::DenseMapInfo<std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > > >::InsertIntoBucket(llvm::AssertingVH<llvm::Function> const&, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > const&, std::pair<llvm::AssertingVH<llvm::Function>, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > >*)"},
-    {"_ZN4llvm8DenseMapINS_11AssertingVHINS_8FunctionEEESt6vectorIPNS_8MCSymbolESaIS6_EENS_12DenseMapInfoIS3_EENS9_IS8_EEE4growEj", "llvm::DenseMap<llvm::AssertingVH<llvm::Function>, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Function> >, llvm::DenseMapInfo<std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN4llvm8MCSymbolESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MCSymbol**, std::vector<llvm::MCSymbol*, std::allocator<llvm::MCSymbol*> > >, llvm::MCSymbol* const&)"},
-    {"_ZNSt6vectorIN4llvm26MMIAddrLabelMapCallbackPtrESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MMIAddrLabelMapCallbackPtr, std::allocator<llvm::MMIAddrLabelMapCallbackPtr> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MMIAddrLabelMapCallbackPtr*, std::vector<llvm::MMIAddrLabelMapCallbackPtr, std::allocator<llvm::MMIAddrLabelMapCallbackPtr> > >, llvm::MMIAddrLabelMapCallbackPtr const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN4llvm26MMIAddrLabelMapCallbackPtrES5_EET0_T_S7_S6_", "llvm::MMIAddrLabelMapCallbackPtr* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<llvm::MMIAddrLabelMapCallbackPtr*, llvm::MMIAddrLabelMapCallbackPtr*>(llvm::MMIAddrLabelMapCallbackPtr*, llvm::MMIAddrLabelMapCallbackPtr*, llvm::MMIAddrLabelMapCallbackPtr*)"},
-    {"_ZN4llvm8DenseMapINS_11AssertingVHINS_10BasicBlockEEENS_15MMIAddrLabelMap17AddrLabelSymEntryENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::AssertingVH<llvm::BasicBlock>, llvm::MMIAddrLabelMap::AddrLabelSymEntry, llvm::DenseMapInfo<llvm::AssertingVH<llvm::BasicBlock> >, llvm::DenseMapInfo<llvm::MMIAddrLabelMap::AddrLabelSymEntry> >::InsertIntoBucket(llvm::AssertingVH<llvm::BasicBlock> const&, llvm::MMIAddrLabelMap::AddrLabelSymEntry const&, std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::MMIAddrLabelMap::AddrLabelSymEntry>*)"},
-    {"_ZN4llvm8DenseMapINS_11AssertingVHINS_10BasicBlockEEENS_15MMIAddrLabelMap17AddrLabelSymEntryENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::AssertingVH<llvm::BasicBlock>, llvm::MMIAddrLabelMap::AddrLabelSymEntry, llvm::DenseMapInfo<llvm::AssertingVH<llvm::BasicBlock> >, llvm::DenseMapInfo<llvm::MMIAddrLabelMap::AddrLabelSymEntry> >::grow(unsigned int)"},
-    {"_ZN4llvm15MMIAddrLabelMapC2ERNS_9MCContextE", "llvm::MMIAddrLabelMap::MMIAddrLabelMap(llvm::MCContext&)"},
-    {"_ZN4llvm15MMIAddrLabelMapD2Ev", "llvm::MMIAddrLabelMap::~MMIAddrLabelMap()"},
-    {"_ZN4llvm15callDefaultCtorINS_17MachineModuleInfoEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::MachineModuleInfo>()"},
-    {"_ZN4llvm22MachineModuleInfoMachO6AnchorEv", "llvm::MachineModuleInfoMachO::Anchor()"},
-    {"_ZN4llvm20MachineModuleInfoELF6AnchorEv", "llvm::MachineModuleInfoELF::Anchor()"},
-    {"_ZN4llvm21MachineModuleInfoImpl14GetSortedStubsERKNS_8DenseMapIPNS_8MCSymbolENS_14PointerIntPairIS3_Lj1EbNS_21PointerLikeTypeTraitsIS3_EEEENS_12DenseMapInfoIS3_EENS8_IS7_EEEE", "llvm::MachineModuleInfoImpl::GetSortedStubs(llvm::DenseMap<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > > > const&)"},
-    {"_Z14SortSymbolPairPKvS0_", "SortSymbolPair(void const*, void const*)"},
-    {"_ZN4llvm22MachineModuleInfoMachOD1Ev", "llvm::MachineModuleInfoMachO::~MachineModuleInfoMachO()"},
-    {"_ZN4llvm22MachineModuleInfoMachOD0Ev", "llvm::MachineModuleInfoMachO::~MachineModuleInfoMachO()"},
-    {"_ZN4llvm20MachineModuleInfoELFD1Ev", "llvm::MachineModuleInfoELF::~MachineModuleInfoELF()"},
-    {"_ZN4llvm20MachineModuleInfoELFD0Ev", "llvm::MachineModuleInfoELF::~MachineModuleInfoELF()"},
-    {"_ZNSt6vectorISt4pairIPN4llvm8MCSymbolENS1_14PointerIntPairIS3_Lj1EbNS1_21PointerLikeTypeTraitsIS3_EEEEESaIS8_EE19_M_range_initializeINS1_16DenseMapIteratorIS3_S7_NS1_12DenseMapInfoIS3_EENSD_IS7_EELb1EEEEEvT_SH_St20forward_iterator_tag", "void std::vector<std::pair<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > >, std::allocator<std::pair<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > > > >::_M_range_initialize<llvm::DenseMapIterator<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > >, true> >(llvm::DenseMapIterator<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > >, true>, llvm::DenseMapIterator<llvm::MCSymbol*, llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> >, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::MCSymbol*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::MCSymbol*> > >, true>, std::forward_iterator_tag)"},
-    {"_ZN4llvm19MachinePassRegistry6RemoveEPNS_23MachinePassRegistryNodeE", "llvm::MachinePassRegistry::Remove(llvm::MachinePassRegistryNode*)"},
-    {"_ZN4llvm19MachineRegisterInfoC1ERKNS_18TargetRegisterInfoE", "llvm::MachineRegisterInfo::MachineRegisterInfo(llvm::TargetRegisterInfo const&)"},
-    {"_ZN4llvm19MachineRegisterInfoC2ERKNS_18TargetRegisterInfoE", "llvm::MachineRegisterInfo::MachineRegisterInfo(llvm::TargetRegisterInfo const&)"},
-    {"_ZN4llvm19MachineRegisterInfoD1Ev", "llvm::MachineRegisterInfo::~MachineRegisterInfo()"},
-    {"_ZN4llvm19MachineRegisterInfoD2Ev", "llvm::MachineRegisterInfo::~MachineRegisterInfo()"},
-    {"_ZN4llvm19MachineRegisterInfo11setRegClassEjPKNS_19TargetRegisterClassE", "llvm::MachineRegisterInfo::setRegClass(unsigned int, llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm19MachineRegisterInfo17constrainRegClassEjPKNS_19TargetRegisterClassE", "llvm::MachineRegisterInfo::constrainRegClass(unsigned int, llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm19MachineRegisterInfo21createVirtualRegisterEPKNS_19TargetRegisterClassE", "llvm::MachineRegisterInfo::createVirtualRegister(llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm19MachineRegisterInfo26HandleVRegListReallocationEv", "llvm::MachineRegisterInfo::HandleVRegListReallocation()"},
-    {"_ZN4llvm19MachineRegisterInfo14replaceRegWithEjj", "llvm::MachineRegisterInfo::replaceRegWith(unsigned int, unsigned int)"},
-    {"_ZNK4llvm19MachineRegisterInfo10getVRegDefEj", "llvm::MachineRegisterInfo::getVRegDef(unsigned int) const"},
-    {"_ZNK4llvm19MachineRegisterInfo9hasOneUseEj", "llvm::MachineRegisterInfo::hasOneUse(unsigned int) const"},
-    {"_ZNK4llvm19MachineRegisterInfo15hasOneNonDBGUseEj", "llvm::MachineRegisterInfo::hasOneNonDBGUse(unsigned int) const"},
-    {"_ZNK4llvm19MachineRegisterInfo14clearKillFlagsEj", "llvm::MachineRegisterInfo::clearKillFlags(unsigned int) const"},
-    {"_ZNK4llvm19MachineRegisterInfo8isLiveInEj", "llvm::MachineRegisterInfo::isLiveIn(unsigned int) const"},
-    {"_ZNK4llvm19MachineRegisterInfo9isLiveOutEj", "llvm::MachineRegisterInfo::isLiveOut(unsigned int) const"},
-    {"_ZNK4llvm19MachineRegisterInfo16getLiveInPhysRegEj", "llvm::MachineRegisterInfo::getLiveInPhysReg(unsigned int) const"},
-    {"_ZNK4llvm19MachineRegisterInfo16getLiveInVirtRegEj", "llvm::MachineRegisterInfo::getLiveInVirtReg(unsigned int) const"},
-    {"_ZN4llvm19MachineRegisterInfo16EmitLiveInCopiesEPNS_17MachineBasicBlockERKNS_18TargetRegisterInfoERKNS_15TargetInstrInfoE", "llvm::MachineRegisterInfo::EmitLiveInCopies(llvm::MachineBasicBlock*, llvm::TargetRegisterInfo const&, llvm::TargetInstrInfo const&)"},
-    {"_ZN4llvm19MachineRegisterInfo17closePhysRegsUsedERKNS_18TargetRegisterInfoE", "llvm::MachineRegisterInfo::closePhysRegsUsed(llvm::TargetRegisterInfo const&)"},
-    {"_ZNSt6vectorISt4pairIjjESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_", "std::vector<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >::_M_fill_insert(__gnu_cxx::__normal_iterator<std::pair<unsigned int, unsigned int>*, std::vector<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > > >, unsigned long, std::pair<unsigned int, unsigned int> const&)"},
-    {"_ZNSt6vectorISt4pairIPKN4llvm19TargetRegisterClassEPNS1_14MachineOperandEESaIS7_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS7_S9_EEmRKS7_", "std::vector<std::pair<llvm::TargetRegisterClass const*, llvm::MachineOperand*>, std::allocator<std::pair<llvm::TargetRegisterClass const*, llvm::MachineOperand*> > >::_M_fill_insert(__gnu_cxx::__normal_iterator<std::pair<llvm::TargetRegisterClass const*, llvm::MachineOperand*>*, std::vector<std::pair<llvm::TargetRegisterClass const*, llvm::MachineOperand*>, std::allocator<std::pair<llvm::TargetRegisterClass const*, llvm::MachineOperand*> > > >, unsigned long, std::pair<llvm::TargetRegisterClass const*, llvm::MachineOperand*> const&)"},
-    {"_ZNSt6vectorISt4pairIjjESaIS1_EE7reserveEm", "std::vector<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >::reserve(unsigned long)"},
-    {"_ZNSt6vectorISt4pairIPKN4llvm19TargetRegisterClassEPNS1_14MachineOperandEESaIS7_EE7reserveEm", "std::vector<std::pair<llvm::TargetRegisterClass const*, llvm::MachineOperand*>, std::allocator<std::pair<llvm::TargetRegisterClass const*, llvm::MachineOperand*> > >::reserve(unsigned long)"},
-    {"_ZN4llvm17MachineSSAUpdaterC1ERNS_15MachineFunctionEPNS_15SmallVectorImplIPNS_12MachineInstrEEE", "llvm::MachineSSAUpdater::MachineSSAUpdater(llvm::MachineFunction&, llvm::SmallVectorImpl<llvm::MachineInstr*>*)"},
-    {"_ZN4llvm17MachineSSAUpdaterC2ERNS_15MachineFunctionEPNS_15SmallVectorImplIPNS_12MachineInstrEEE", "llvm::MachineSSAUpdater::MachineSSAUpdater(llvm::MachineFunction&, llvm::SmallVectorImpl<llvm::MachineInstr*>*)"},
-    {"_ZN4llvm17MachineSSAUpdaterD1Ev", "llvm::MachineSSAUpdater::~MachineSSAUpdater()"},
-    {"_ZN4llvm17MachineSSAUpdaterD2Ev", "llvm::MachineSSAUpdater::~MachineSSAUpdater()"},
-    {"_ZN4llvm17MachineSSAUpdater10InitializeEj", "llvm::MachineSSAUpdater::Initialize(unsigned int)"},
-    {"_ZNK4llvm17MachineSSAUpdater16HasValueForBlockEPNS_17MachineBasicBlockE", "llvm::MachineSSAUpdater::HasValueForBlock(llvm::MachineBasicBlock*) const"},
-    {"_ZN4llvm17MachineSSAUpdater17AddAvailableValueEPNS_17MachineBasicBlockEj", "llvm::MachineSSAUpdater::AddAvailableValue(llvm::MachineBasicBlock*, unsigned int)"},
-    {"_ZN4llvm17MachineSSAUpdater20GetValueAtEndOfBlockEPNS_17MachineBasicBlockE", "llvm::MachineSSAUpdater::GetValueAtEndOfBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineSSAUpdater28GetValueAtEndOfBlockInternalEPNS_17MachineBasicBlockE", "llvm::MachineSSAUpdater::GetValueAtEndOfBlockInternal(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17MachineSSAUpdater23GetValueInMiddleOfBlockEPNS_17MachineBasicBlockE", "llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(llvm::MachineBasicBlock*)"},
-    {"_Z12InsertNewDefjPN4llvm17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEPKNS_19TargetRegisterClassEPNS_19MachineRegisterInfoEPKNS_15TargetInstrInfoE", "InsertNewDef(unsigned int, llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>, llvm::TargetRegisterClass const*, llvm::MachineRegisterInfo*, llvm::TargetInstrInfo const*)"},
-    {"_ZN4llvm17MachineSSAUpdater10RewriteUseERNS_14MachineOperandE", "llvm::MachineSSAUpdater::RewriteUse(llvm::MachineOperand&)"},
-    {"_ZN4llvm17MachineSSAUpdater14ReplaceRegWithEjj", "llvm::MachineSSAUpdater::ReplaceRegWith(unsigned int, unsigned int)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_17MachineSSAUpdaterEE8GetValueEPNS_17MachineBasicBlockE", "llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::GetValue(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_17MachineSSAUpdaterEE14BuildBlockListEPNS_17MachineBasicBlockEPNS_15SmallVectorImplIPNS2_6BBInfoEEE", "llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BuildBlockList(llvm::MachineBasicBlock*, llvm::SmallVectorImpl<llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*>*)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_17MachineSSAUpdaterEE14FindDominatorsEPNS_15SmallVectorImplIPNS2_6BBInfoEEES5_", "llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::FindDominators(llvm::SmallVectorImpl<llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*>*, llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_17MachineSSAUpdaterEE17FindAvailableValsEPNS_15SmallVectorImplIPNS2_6BBInfoEEE", "llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::FindAvailableVals(llvm::SmallVectorImpl<llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_14SSAUpdaterImplINS_17MachineSSAUpdaterEE6BBInfoENS_12DenseMapInfoIS2_EENS8_IS7_EEE16InsertIntoBucketERKS2_RKS7_PSt4pairIS2_S7_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*> >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo* const&, std::pair<llvm::MachineBasicBlock*, llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_14SSAUpdaterImplINS_17MachineSSAUpdaterEE6BBInfoENS_12DenseMapInfoIS2_EENS8_IS7_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::BBInfo*> >::grow(unsigned int)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_17MachineSSAUpdaterEE17CheckIfPHIMatchesEPNS_12MachineInstrE", "llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::CheckIfPHIMatches(llvm::MachineInstr*)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_17MachineSSAUpdaterEE17RecordMatchingPHIEPNS_12MachineInstrE", "llvm::SSAUpdaterImpl<llvm::MachineSSAUpdater>::RecordMatchingPHI(llvm::MachineInstr*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::MachineBasicBlock*, unsigned int, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::MachineBasicBlock* const&, unsigned int const&, std::pair<llvm::MachineBasicBlock*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, unsigned int, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEjNS_12DenseMapInfoIS2_EENS3_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, unsigned int, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm28initializeMachineSinkingPassERNS_12PassRegistryE", "llvm::initializeMachineSinkingPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm24createMachineSinkingPassEv", "llvm::createMachineSinkingPass()"},
-    {"_ZN12_GLOBAL__N_114MachineSinkingD1Ev", "(anonymous namespace)::MachineSinking::~MachineSinking()"},
-    {"_ZN12_GLOBAL__N_114MachineSinkingD0Ev", "(anonymous namespace)::MachineSinking::~MachineSinking()"},
-    {"_ZNK12_GLOBAL__N_114MachineSinking16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::MachineSinking::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114MachineSinking13releaseMemoryEv", "(anonymous namespace)::MachineSinking::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_114MachineSinking20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MachineSinking::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZNK12_GLOBAL__N_114MachineSinking23AllUsesDominatedByBlockEjPN4llvm17MachineBasicBlockES3_RbS4_", "(anonymous namespace)::MachineSinking::AllUsesDominatedByBlock(unsigned int, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, bool&, bool&) const"},
-    {"_ZN12_GLOBAL__N_114MachineSinking17SplitCriticalEdgeEPN4llvm12MachineInstrEPNS1_17MachineBasicBlockES5_b", "(anonymous namespace)::MachineSinking::SplitCriticalEdge(llvm::MachineInstr*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, bool)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_114MachineSinkingEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::MachineSinking>()"},
-    {"_ZN4llvm8SmallSetISt4pairIPNS_17MachineBasicBlockES3_ELj8EE6insertERKS4_", "llvm::SmallSet<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*>, 8u>::insert(std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPN4llvm17MachineBasicBlockES3_ES4_St9_IdentityIS4_ESt4lessIS4_ESaIS4_EE16_M_insert_uniqueERKS4_", "std::_Rb_tree<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*>, std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*>, std::_Identity<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> >, std::less<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> >, std::allocator<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> > >::_M_insert_unique(std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPN4llvm17MachineBasicBlockES3_ES4_St9_IdentityIS4_ESt4lessIS4_ESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E", "std::_Rb_tree<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*>, std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*>, std::_Identity<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> >, std::less<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> >, std::allocator<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*> >*)"},
-    {"_ZN4llvm33initializeMachineVerifierPassPassERNS_12PassRegistryE", "llvm::initializeMachineVerifierPassPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm25createMachineVerifierPassEPKc", "llvm::createMachineVerifierPass(char const*)"},
-    {"_ZNK4llvm15MachineFunction6verifyEPNS_4PassEPKc", "llvm::MachineFunction::verify(llvm::Pass*, char const*) const"},
-    {"_ZN12_GLOBAL__N_115MachineVerifier20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MachineVerifier::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_115MachineVerifier6reportEPKcPKN4llvm17MachineBasicBlockE", "(anonymous namespace)::MachineVerifier::report(char const*, llvm::MachineBasicBlock const*)"},
-    {"_ZN12_GLOBAL__N_115MachineVerifier25visitMachineFunctionAfterEv", "(anonymous namespace)::MachineVerifier::visitMachineFunctionAfter()"},
-    {"_ZN4llvm8DenseMapIPKNS_17MachineBasicBlockEN12_GLOBAL__N_115MachineVerifier6BBInfoENS_12DenseMapInfoIS3_EENS7_IS6_EEEixERKS3_", "llvm::DenseMap<llvm::MachineBasicBlock const*, (anonymous namespace)::MachineVerifier::BBInfo, llvm::DenseMapInfo<llvm::MachineBasicBlock const*>, llvm::DenseMapInfo<(anonymous namespace)::MachineVerifier::BBInfo> >::operator[](llvm::MachineBasicBlock const* const&)"},
-    {"_ZN12_GLOBAL__N_115MachineVerifier6reportEPKcPKN4llvm15MachineFunctionE", "(anonymous namespace)::MachineVerifier::report(char const*, llvm::MachineFunction const*)"},
-    {"_ZN12_GLOBAL__N_115MachineVerifier6reportEPKcPKN4llvm12MachineInstrE", "(anonymous namespace)::MachineVerifier::report(char const*, llvm::MachineInstr const*)"},
-    {"_ZN12_GLOBAL__N_115MachineVerifier6BBInfo9addPassedERKN4llvm8DenseSetIjNS2_12DenseMapInfoIjEEEE", "(anonymous namespace)::MachineVerifier::BBInfo::addPassed(llvm::DenseSet<unsigned int, llvm::DenseMapInfo<unsigned int> > const&)"},
-    {"_ZN12_GLOBAL__N_115MachineVerifier13markReachableEPKN4llvm17MachineBasicBlockE", "(anonymous namespace)::MachineVerifier::markReachable(llvm::MachineBasicBlock const*)"},
-    {"_ZN12_GLOBAL__N_119MachineVerifierPassD1Ev", "(anonymous namespace)::MachineVerifierPass::~MachineVerifierPass()"},
-    {"_ZN12_GLOBAL__N_119MachineVerifierPassD0Ev", "(anonymous namespace)::MachineVerifierPass::~MachineVerifierPass()"},
-    {"_ZNK12_GLOBAL__N_119MachineVerifierPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::MachineVerifierPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_119MachineVerifierPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::MachineVerifierPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_119MachineVerifierPassEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::MachineVerifierPass>()"},
-    {"_ZN4llvm8DenseMapIjcNS_12DenseMapInfoIjEENS1_IcEEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, char, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<char> >::shrink_and_clear()"},
-    {"_ZNK4llvm11SlotIndexes15getMBBFromIndexENS_9SlotIndexE", "llvm::SlotIndexes::getMBBFromIndex(llvm::SlotIndex) const"},
-    {"_ZN4llvm8DenseMapIPKNS_17MachineBasicBlockEcNS_12DenseMapInfoIS3_EENS4_IcEEE6insertERKSt4pairIS3_cE", "llvm::DenseMap<llvm::MachineBasicBlock const*, char, llvm::DenseMapInfo<llvm::MachineBasicBlock const*>, llvm::DenseMapInfo<char> >::insert(std::pair<llvm::MachineBasicBlock const*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_17MachineBasicBlockEcNS_12DenseMapInfoIS3_EENS4_IcEEE16InsertIntoBucketERKS3_RKcPSt4pairIS3_cE", "llvm::DenseMap<llvm::MachineBasicBlock const*, char, llvm::DenseMapInfo<llvm::MachineBasicBlock const*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(llvm::MachineBasicBlock const* const&, char const&, std::pair<llvm::MachineBasicBlock const*, char>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_17MachineBasicBlockEcNS_12DenseMapInfoIS3_EENS4_IcEEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock const*, char, llvm::DenseMapInfo<llvm::MachineBasicBlock const*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIjcNS_12DenseMapInfoIjEENS1_IcEEE8CopyFromERKS4_", "llvm::DenseMap<unsigned int, char, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<char> >::CopyFrom(llvm::DenseMap<unsigned int, char, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<char> > const&)"},
-    {"_ZN4llvm8DenseMapIjPKNS_12MachineInstrENS_12DenseMapInfoIjEENS4_IS3_EEE8CopyFromERKS7_", "llvm::DenseMap<unsigned int, llvm::MachineInstr const*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr const*> >::CopyFrom(llvm::DenseMap<unsigned int, llvm::MachineInstr const*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr const*> > const&)"},
-    {"_ZN4llvm8DenseMapIjPKNS_12MachineInstrENS_12DenseMapInfoIjEENS4_IS3_EEE6insertERKSt4pairIjS3_E", "llvm::DenseMap<unsigned int, llvm::MachineInstr const*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr const*> >::insert(std::pair<unsigned int, llvm::MachineInstr const*> const&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm12MachineInstrESt6vectorIS4_SaIS4_EEEEPKS3_ET_SC_SC_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, llvm::MachineInstr const*>(__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, __gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, llvm::MachineInstr const* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm26initializeOptimizePHIsPassERNS_12PassRegistryE", "llvm::initializeOptimizePHIsPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm22createOptimizePHIsPassEv", "llvm::createOptimizePHIsPass()"},
-    {"_ZN12_GLOBAL__N_112OptimizePHIsD1Ev", "(anonymous namespace)::OptimizePHIs::~OptimizePHIs()"},
-    {"_ZN12_GLOBAL__N_112OptimizePHIsD0Ev", "(anonymous namespace)::OptimizePHIs::~OptimizePHIs()"},
-    {"_ZNK12_GLOBAL__N_112OptimizePHIs16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::OptimizePHIs::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_112OptimizePHIs20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::OptimizePHIs::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_112OptimizePHIs21IsSingleValuePHICycleEPN4llvm12MachineInstrERjRNS1_11SmallPtrSetIS3_Lj16EEE", "(anonymous namespace)::OptimizePHIs::IsSingleValuePHICycle(llvm::MachineInstr*, unsigned int&, llvm::SmallPtrSet<llvm::MachineInstr*, 16u>&)"},
-    {"_ZN12_GLOBAL__N_112OptimizePHIs14IsDeadPHICycleEPN4llvm12MachineInstrERNS1_11SmallPtrSetIS3_Lj16EEE", "(anonymous namespace)::OptimizePHIs::IsDeadPHICycle(llvm::MachineInstr*, llvm::SmallPtrSet<llvm::MachineInstr*, 16u>&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_112OptimizePHIsEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::OptimizePHIs>()"},
-    {"_ZN4llvm28initializePHIEliminationPassERNS_12PassRegistryE", "llvm::initializePHIEliminationPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_114PHIEliminationEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::PHIElimination>()"},
-    {"_ZN12_GLOBAL__N_114PHIEliminationD1Ev", "(anonymous namespace)::PHIElimination::~PHIElimination()"},
-    {"_ZN12_GLOBAL__N_114PHIEliminationD0Ev", "(anonymous namespace)::PHIElimination::~PHIElimination()"},
-    {"_ZNK12_GLOBAL__N_114PHIElimination16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PHIElimination::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114PHIElimination20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::PHIElimination::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm8DenseMapISt4pairIjjEjNS_12DenseMapInfoIS2_EENS3_IjEEE5clearEv", "llvm::DenseMap<std::pair<unsigned int, unsigned int>, unsigned int, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> >, llvm::DenseMapInfo<unsigned int> >::clear()"},
-    {"_ZN4llvm8DenseMapISt4pairIjjEjNS_12DenseMapInfoIS2_EENS3_IjEEE16shrink_and_clearEv", "llvm::DenseMap<std::pair<unsigned int, unsigned int>, unsigned int, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> >, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_12DenseMapInfoIjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm15SparseBitVectorILj128EE5resetEj", "llvm::SparseBitVector<128u>::reset(unsigned int)"},
-    {"_ZNK4llvm8DenseMapISt4pairIjjEjNS_12DenseMapInfoIS2_EENS3_IjEEE15LookupBucketForERKS2_RPS1_IS2_jE", "llvm::DenseMap<std::pair<unsigned int, unsigned int>, unsigned int, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> >, llvm::DenseMapInfo<unsigned int> >::LookupBucketFor(std::pair<unsigned int, unsigned int> const&, std::pair<std::pair<unsigned int, unsigned int>, unsigned int>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIjjEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPS1_IS2_jE", "llvm::DenseMap<std::pair<unsigned int, unsigned int>, unsigned int, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> >, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(std::pair<unsigned int, unsigned int> const&, unsigned int const&, std::pair<std::pair<unsigned int, unsigned int>, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIjjEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<std::pair<unsigned int, unsigned int>, unsigned int, llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> >, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNK4llvm8DenseMapIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_12DenseMapInfoIjEEE15LookupBucketForERKS2_RPSt4pairIS2_jE", "llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::DenseMapInfo<unsigned int> >::LookupBucketFor(llvm::MachineInstr* const&, std::pair<llvm::MachineInstr*, unsigned int>*&) const"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_12DenseMapInfoIjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::MachineInstr* const&, unsigned int const&, std::pair<llvm::MachineInstr*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEjNS_27MachineInstrExpressionTraitENS_12DenseMapInfoIjEEE4growEj", "llvm::DenseMap<llvm::MachineInstr*, unsigned int, llvm::MachineInstrExpressionTrait, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm22findPHICopyInsertPointEPNS_17MachineBasicBlockES1_j", "llvm::findPHICopyInsertPoint(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, unsigned int)"},
-    {"_Z30createDefaultRegisterAllocatorv", "createDefaultRegisterAllocator()"},
-    {"_ZN4llvm23createRegisterAllocatorENS_10CodeGenOpt5LevelE", "llvm::createRegisterAllocator(llvm::CodeGenOpt::Level)"},
-    {"_ZN4llvm16RegisterRegAllocD1Ev", "llvm::RegisterRegAlloc::~RegisterRegAlloc()"},
-    {"_ZN4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEED1Ev", "llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >::~opt()"},
-    {"_ZN4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEE4doneEv", "llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >::done()"},
-    {"_ZN4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEE16handleOccurrenceEjNS_9StringRefESA_", "llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEE14getOptionWidthEv", "llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEE15printOptionInfoEm", "llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEED0Ev", "llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >::~opt()"},
-    {"_ZN4llvm2cl6parserIPFPNS_12FunctionPassEvEE5parseERNS0_6OptionENS_9StringRefES9_RS5_", "llvm::cl::parser<llvm::FunctionPass* (*)()>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, llvm::FunctionPass* (*&)())"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserIPFPNS_12FunctionPassEvEE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::FunctionPass* (*)()>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm18RegisterPassParserINS_16RegisterRegAllocEED1Ev", "llvm::RegisterPassParser<llvm::RegisterRegAlloc>::~RegisterPassParser()"},
-    {"_ZN4llvm18RegisterPassParserINS_16RegisterRegAllocEED0Ev", "llvm::RegisterPassParser<llvm::RegisterRegAlloc>::~RegisterPassParser()"},
-    {"_ZN4llvm18RegisterPassParserINS_16RegisterRegAllocEE9NotifyAddEPKcPFPvvES4_", "llvm::RegisterPassParser<llvm::RegisterRegAlloc>::NotifyAdd(char const*, void* (*)(), char const*)"},
-    {"_ZN4llvm18RegisterPassParserINS_16RegisterRegAllocEE12NotifyRemoveEPKc", "llvm::RegisterPassParser<llvm::RegisterRegAlloc>::NotifyRemove(char const*)"},
-    {"_ZThn16_N4llvm18RegisterPassParserINS_16RegisterRegAllocEED1Ev", "non-virtual thunk to llvm::RegisterPassParser<llvm::RegisterRegAlloc>::~RegisterPassParser()"},
-    {"_ZThn16_N4llvm18RegisterPassParserINS_16RegisterRegAllocEED0Ev", "non-virtual thunk to llvm::RegisterPassParser<llvm::RegisterRegAlloc>::~RegisterPassParser()"},
-    {"_ZNK4llvm2cl6parserIPFPNS_12FunctionPassEvEE13getNumOptionsEv", "llvm::cl::parser<llvm::FunctionPass* (*)()>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserIPFPNS_12FunctionPassEvEE9getOptionEj", "llvm::cl::parser<llvm::FunctionPass* (*)()>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserIPFPNS_12FunctionPassEvEE14getDescriptionEj", "llvm::cl::parser<llvm::FunctionPass* (*)()>::getDescription(unsigned int) const"},
-    {"_ZN4llvm2cl6parserIPFPNS_12FunctionPassEvEED1Ev", "llvm::cl::parser<llvm::FunctionPass* (*)()>::~parser()"},
-    {"_ZN4llvm2cl6parserIPFPNS_12FunctionPassEvEED0Ev", "llvm::cl::parser<llvm::FunctionPass* (*)()>::~parser()"},
-    {"_ZN4llvm31initializePeepholeOptimizerPassERNS_12PassRegistryE", "llvm::initializePeepholeOptimizerPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm27createPeepholeOptimizerPassEv", "llvm::createPeepholeOptimizerPass()"},
-    {"_ZN12_GLOBAL__N_117PeepholeOptimizerD1Ev", "(anonymous namespace)::PeepholeOptimizer::~PeepholeOptimizer()"},
-    {"_ZN12_GLOBAL__N_117PeepholeOptimizerD0Ev", "(anonymous namespace)::PeepholeOptimizer::~PeepholeOptimizer()"},
-    {"_ZNK12_GLOBAL__N_117PeepholeOptimizer16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PeepholeOptimizer::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_117PeepholeOptimizer20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::PeepholeOptimizer::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_117PeepholeOptimizerEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::PeepholeOptimizer>()"},
-    {"_ZN4llvm8DenseMapIjPNS_12MachineInstrENS_12DenseMapInfoIjEENS3_IS2_EEE6insertERKSt4pairIjS2_E", "llvm::DenseMap<unsigned int, llvm::MachineInstr*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr*> >::insert(std::pair<unsigned int, llvm::MachineInstr*> const&)"},
-    {"_ZN4llvm8DenseMapIjPNS_12MachineInstrENS_12DenseMapInfoIjEENS3_IS2_EEE16InsertIntoBucketERKjRKS2_PSt4pairIjS2_E", "llvm::DenseMap<unsigned int, llvm::MachineInstr*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr*> >::InsertIntoBucket(unsigned int const&, llvm::MachineInstr* const&, std::pair<unsigned int, llvm::MachineInstr*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_12MachineInstrENS_12DenseMapInfoIjEENS3_IS2_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::MachineInstr*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIjPNS_12MachineInstrENS_12DenseMapInfoIjEENS3_IS2_EEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, llvm::MachineInstr*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MachineInstr*> >::shrink_and_clear()"},
-    {"_ZN4llvm14AntiDepBreakerD0Ev", "llvm::AntiDepBreaker::~AntiDepBreaker()"},
-    {"_ZN4llvm14AntiDepBreakerD1Ev", "llvm::AntiDepBreaker::~AntiDepBreaker()"},
-    {"_ZN4llvm14AntiDepBreakerD2Ev", "llvm::AntiDepBreaker::~AntiDepBreaker()"},
-    {"_ZN4llvm21createPostRASchedulerENS_10CodeGenOpt5LevelE", "llvm::createPostRAScheduler(llvm::CodeGenOpt::Level)"},
-    {"_ZN12_GLOBAL__N_115PostRASchedulerD1Ev", "(anonymous namespace)::PostRAScheduler::~PostRAScheduler()"},
-    {"_ZN12_GLOBAL__N_115PostRASchedulerD0Ev", "(anonymous namespace)::PostRAScheduler::~PostRAScheduler()"},
-    {"_ZNK12_GLOBAL__N_115PostRAScheduler11getPassNameEv", "(anonymous namespace)::PostRAScheduler::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_115PostRAScheduler16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PostRAScheduler::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_115PostRAScheduler20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::PostRAScheduler::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_120SchedulePostRATDList10StartBlockEPN4llvm17MachineBasicBlockE", "(anonymous namespace)::SchedulePostRATDList::StartBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN12_GLOBAL__N_120SchedulePostRATDList11FinishBlockEv", "(anonymous namespace)::SchedulePostRATDList::FinishBlock()"},
-    {"_ZN12_GLOBAL__N_120SchedulePostRATDListD1Ev", "(anonymous namespace)::SchedulePostRATDList::~SchedulePostRATDList()"},
-    {"_ZN12_GLOBAL__N_120SchedulePostRATDListD0Ev", "(anonymous namespace)::SchedulePostRATDList::~SchedulePostRATDList()"},
-    {"_ZN12_GLOBAL__N_120SchedulePostRATDList8ScheduleEv", "(anonymous namespace)::SchedulePostRATDList::Schedule()"},
-    {"_ZN12_GLOBAL__N_120SchedulePostRATDList17ReleaseSuccessorsEPN4llvm5SUnitE", "(anonymous namespace)::SchedulePostRATDList::ReleaseSuccessors(llvm::SUnit*)"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEEC2IA24_cNS0_4descENS0_11initializerIA5_cEENS0_12OptionHiddenEEERKT_RKT0_RKT1_RKT2_", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::opt<char [24], llvm::cl::desc, llvm::cl::initializer<char [5]>, llvm::cl::OptionHidden>(char const (&) [24], llvm::cl::desc const&, llvm::cl::initializer<char [5]> const&, llvm::cl::OptionHidden const&)"},
-    {"_ZN4llvm20LatencyPriorityQueueD1Ev", "llvm::LatencyPriorityQueue::~LatencyPriorityQueue()"},
-    {"_ZN4llvm17ScheduleDAGInstrsD2Ev", "llvm::ScheduleDAGInstrs::~ScheduleDAGInstrs()"},
-    {"_ZNK4llvm11ScheduleDAG22addCustomGraphFeaturesERNS_11GraphWriterIPS0_EE", "llvm::ScheduleDAG::addCustomGraphFeatures(llvm::GraphWriter<llvm::ScheduleDAG*>&) const"},
-    {"_ZNK4llvm11ScheduleDAG18ForceUnitLatenciesEv", "llvm::ScheduleDAG::ForceUnitLatencies() const"},
-    {"_ZNSt6vectorIPN4llvm5SUnitESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SUnit**, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, llvm::SUnit* const&)"},
-    {"_ZN4llvm15SmallVectorImplINS_4SDepEEaSERKS2_", "llvm::SmallVectorImpl<llvm::SDep>::operator=(llvm::SmallVectorImpl<llvm::SDep> const&)"},
-    {"_ZNSt6vectorIN4llvm5SUnitESaIS1_EE15_M_erase_at_endEPS1_", "std::vector<llvm::SUnit, std::allocator<llvm::SUnit> >::_M_erase_at_end(llvm::SUnit*)"},
-    {"_ZN4llvm17ScheduleDAGInstrsD1Ev", "llvm::ScheduleDAGInstrs::~ScheduleDAGInstrs()"},
-    {"_ZN4llvm17ScheduleDAGInstrsD0Ev", "llvm::ScheduleDAGInstrs::~ScheduleDAGInstrs()"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPKN4llvm14MachineOperandEjEESt10_Select1stIS7_ESt4lessIjESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::MachineOperand const*, unsigned int> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::MachineOperand const*, unsigned int> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::MachineOperand const*, unsigned int> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::pair<llvm::MachineOperand const*, unsigned int> > >*)"},
-    {"_ZN4llvm20LatencyPriorityQueueD0Ev", "llvm::LatencyPriorityQueue::~LatencyPriorityQueue()"},
-    {"_ZNK4llvm20LatencyPriorityQueue10isBottomUpEv", "llvm::LatencyPriorityQueue::isBottomUp() const"},
-    {"_ZN4llvm20LatencyPriorityQueue9initNodesERSt6vectorINS_5SUnitESaIS2_EE", "llvm::LatencyPriorityQueue::initNodes(std::vector<llvm::SUnit, std::allocator<llvm::SUnit> >&)"},
-    {"_ZN4llvm20LatencyPriorityQueue7addNodeEPKNS_5SUnitE", "llvm::LatencyPriorityQueue::addNode(llvm::SUnit const*)"},
-    {"_ZN4llvm20LatencyPriorityQueue10updateNodeEPKNS_5SUnitE", "llvm::LatencyPriorityQueue::updateNode(llvm::SUnit const*)"},
-    {"_ZN4llvm20LatencyPriorityQueue12releaseStateEv", "llvm::LatencyPriorityQueue::releaseState()"},
-    {"_ZNK4llvm20LatencyPriorityQueue5emptyEv", "llvm::LatencyPriorityQueue::empty() const"},
-    {"_ZNK4llvm23SchedulingPriorityQueue17tracksRegPressureEv", "llvm::SchedulingPriorityQueue::tracksRegPressure() const"},
-    {"_ZNK4llvm23SchedulingPriorityQueue7isReadyEPNS_5SUnitE", "llvm::SchedulingPriorityQueue::isReady(llvm::SUnit*) const"},
-    {"_ZN4llvm23SchedulingPriorityQueue15UnscheduledNodeEPNS_5SUnitE", "llvm::SchedulingPriorityQueue::UnscheduledNode(llvm::SUnit*)"},
-    {"_ZN4llvm23SchedulingPriorityQueueD1Ev", "llvm::SchedulingPriorityQueue::~SchedulingPriorityQueue()"},
-    {"_ZN4llvm23SchedulingPriorityQueueD0Ev", "llvm::SchedulingPriorityQueue::~SchedulingPriorityQueue()"},
-    {"_ZNK4llvm23SchedulingPriorityQueue4dumpEPNS_11ScheduleDAGE", "llvm::SchedulingPriorityQueue::dump(llvm::ScheduleDAG*) const"},
-    {"_ZN4llvm23SchedulingPriorityQueue13ScheduledNodeEPNS_5SUnitE", "llvm::SchedulingPriorityQueue::ScheduledNode(llvm::SUnit*)"},
-    {"_ZN4llvm31initializePreAllocSplittingPassERNS_12PassRegistryE", "llvm::initializePreAllocSplittingPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_117PreAllocSplittingEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::PreAllocSplitting>()"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplittingD1Ev", "(anonymous namespace)::PreAllocSplitting::~PreAllocSplitting()"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplittingD0Ev", "(anonymous namespace)::PreAllocSplitting::~PreAllocSplitting()"},
-    {"_ZNK12_GLOBAL__N_117PreAllocSplitting11getPassNameEv", "(anonymous namespace)::PreAllocSplitting::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_117PreAllocSplitting5printERN4llvm11raw_ostreamEPKNS1_6ModuleE", "(anonymous namespace)::PreAllocSplitting::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZNK12_GLOBAL__N_117PreAllocSplitting16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PreAllocSplitting::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting13releaseMemoryEv", "(anonymous namespace)::PreAllocSplitting::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::PreAllocSplitting::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting9FoldSpillEjPKN4llvm19TargetRegisterClassEPNS1_12MachineInstrES6_PNS1_17MachineBasicBlockERiRNS1_11SmallPtrSetIS6_Lj4EEE", "(anonymous namespace)::PreAllocSplitting::FoldSpill(unsigned int, llvm::TargetRegisterClass const*, llvm::MachineInstr*, llvm::MachineInstr*, llvm::MachineBasicBlock*, int&, llvm::SmallPtrSet<llvm::MachineInstr*, 4u>&)"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting14findSpillPointEPN4llvm17MachineBasicBlockEPNS1_12MachineInstrES5_RNS1_11SmallPtrSetIS5_Lj4EEE", "(anonymous namespace)::PreAllocSplitting::findSpillPoint(llvm::MachineBasicBlock*, llvm::MachineInstr*, llvm::MachineInstr*, llvm::SmallPtrSet<llvm::MachineInstr*, 4u>&)"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting20CreateSpillStackSlotEjPKN4llvm19TargetRegisterClassE", "(anonymous namespace)::PreAllocSplitting::CreateSpillStackSlot(unsigned int, llvm::TargetRegisterClass const*)"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting23UpdateSpillSlotIntervalEPN4llvm6VNInfoENS1_9SlotIndexES4_", "(anonymous namespace)::PreAllocSplitting::UpdateSpillSlotInterval(llvm::VNInfo*, llvm::SlotIndex, llvm::SlotIndex)"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting23ReconstructLiveIntervalEPN4llvm12LiveIntervalE", "(anonymous namespace)::PreAllocSplitting::ReconstructLiveInterval(llvm::LiveInterval*)"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting13RenumberValnoEPN4llvm6VNInfoE", "(anonymous namespace)::PreAllocSplitting::RenumberValno(llvm::VNInfo*)"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting22PerformPHIConstructionEN4llvm14ilist_iteratorINS1_12MachineInstrEEEPNS1_17MachineBasicBlockEPNS1_12LiveIntervalERNS1_11SmallPtrSetIPS3_Lj4EEERNS1_8DenseMapIS6_NS9_ISA_Lj2EEENS1_12DenseMapInfoIS6_EENSF_ISE_EEEESJ_RNSD_ISA_PNS1_6VNInfoENSF_ISA_EENSF_ISL_EEEERNSD_IS6_SL_SG_SN_EESR_bb", "(anonymous namespace)::PreAllocSplitting::PerformPHIConstruction(llvm::ilist_iterator<llvm::MachineInstr>, llvm::MachineBasicBlock*, llvm::LiveInterval*, llvm::SmallPtrSet<llvm::MachineInstr*, 4u>&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineInstr*, 2u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 2u> > >&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineInstr*, 2u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 2u> > >&, llvm::DenseMap<llvm::MachineInstr*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<llvm::VNInfo*> >&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::VNInfo*> >&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::VNInfo*> >&, bool, bool)"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting30PerformPHIConstructionFallBackEN4llvm14ilist_iteratorINS1_12MachineInstrEEEPNS1_17MachineBasicBlockEPNS1_12LiveIntervalERNS1_11SmallPtrSetIPS3_Lj4EEERNS1_8DenseMapIS6_NS9_ISA_Lj2EEENS1_12DenseMapInfoIS6_EENSF_ISE_EEEESJ_RNSD_ISA_PNS1_6VNInfoENSF_ISA_EENSF_ISL_EEEERNSD_IS6_SL_SG_SN_EESR_bb", "(anonymous namespace)::PreAllocSplitting::PerformPHIConstructionFallBack(llvm::ilist_iterator<llvm::MachineInstr>, llvm::MachineBasicBlock*, llvm::LiveInterval*, llvm::SmallPtrSet<llvm::MachineInstr*, 4u>&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineInstr*, 2u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 2u> > >&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineInstr*, 2u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 2u> > >&, llvm::DenseMap<llvm::MachineInstr*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<llvm::VNInfo*> >&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::VNInfo*> >&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::VNInfo*> >&, bool, bool)"},
-    {"_ZN4llvm8DenseMapIPNS_6VNInfoENS_11SmallPtrSetIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIS2_EENS7_IS6_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::VNInfo*, llvm::SmallPtrSet<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<llvm::VNInfo*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 4u> > >::FindAndConstruct(llvm::VNInfo* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_6VNInfoENS_11SmallPtrSetIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIS2_EENS7_IS6_EEE16InsertIntoBucketERKS2_RKS6_PSt4pairIS2_S6_E", "llvm::DenseMap<llvm::VNInfo*, llvm::SmallPtrSet<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<llvm::VNInfo*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 4u> > >::InsertIntoBucket(llvm::VNInfo* const&, llvm::SmallPtrSet<llvm::MachineInstr*, 4u> const&, std::pair<llvm::VNInfo*, llvm::SmallPtrSet<llvm::MachineInstr*, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_6VNInfoENS_11SmallPtrSetIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIS2_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::VNInfo*, llvm::SmallPtrSet<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<llvm::VNInfo*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 4u> > >::grow(unsigned int)"},
-    {"_ZSt6__findIPPN4llvm6VNInfoES2_ET_S4_S4_RKT0_St26random_access_iterator_tag", "llvm::VNInfo** std::__find<llvm::VNInfo**, llvm::VNInfo*>(llvm::VNInfo**, llvm::VNInfo**, llvm::VNInfo* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_6VNInfoENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::VNInfo*> >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::VNInfo* const&, std::pair<llvm::MachineBasicBlock*, llvm::VNInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockEPNS_6VNInfoENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::VNInfo*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEPNS_6VNInfoENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::MachineInstr*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<llvm::VNInfo*> >::InsertIntoBucket(llvm::MachineInstr* const&, llvm::VNInfo* const&, std::pair<llvm::MachineInstr*, llvm::VNInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_12MachineInstrEPNS_6VNInfoENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::MachineInstr*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::MachineInstr*>, llvm::DenseMapInfo<llvm::VNInfo*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_11SmallPtrSetIPNS_12MachineInstrELj2EEENS_12DenseMapInfoIS2_EENS7_IS6_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineInstr*, 2u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 2u> > >::FindAndConstruct(llvm::MachineBasicBlock* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_11SmallPtrSetIPNS_12MachineInstrELj2EEENS_12DenseMapInfoIS2_EENS7_IS6_EEE16InsertIntoBucketERKS2_RKS6_PSt4pairIS2_S6_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineInstr*, 2u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 2u> > >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::SmallPtrSet<llvm::MachineInstr*, 2u> const&, std::pair<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineInstr*, 2u> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_11SmallPtrSetIPNS_12MachineInstrELj2EEENS_12DenseMapInfoIS2_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineInstr*, 2u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::MachineInstr*, 2u> > >::grow(unsigned int)"},
-    {"_ZNK4llvm8DenseMapINS_9SlotIndexES1_NS_12DenseMapInfoIS1_EES3_E15LookupBucketForERKS1_RPSt4pairIS1_S1_E", "llvm::DenseMap<llvm::SlotIndex, llvm::SlotIndex, llvm::DenseMapInfo<llvm::SlotIndex>, llvm::DenseMapInfo<llvm::SlotIndex> >::LookupBucketFor(llvm::SlotIndex const&, std::pair<llvm::SlotIndex, llvm::SlotIndex>*&) const"},
-    {"_ZN4llvm8DenseMapINS_9SlotIndexES1_NS_12DenseMapInfoIS1_EES3_E16InsertIntoBucketERKS1_S6_PSt4pairIS1_S1_E", "llvm::DenseMap<llvm::SlotIndex, llvm::SlotIndex, llvm::DenseMapInfo<llvm::SlotIndex>, llvm::DenseMapInfo<llvm::SlotIndex> >::InsertIntoBucket(llvm::SlotIndex const&, llvm::SlotIndex const&, std::pair<llvm::SlotIndex, llvm::SlotIndex>*)"},
-    {"_ZN4llvm8DenseMapINS_9SlotIndexES1_NS_12DenseMapInfoIS1_EES3_E4growEj", "llvm::DenseMap<llvm::SlotIndex, llvm::SlotIndex, llvm::DenseMapInfo<llvm::SlotIndex>, llvm::DenseMapInfo<llvm::SlotIndex> >::grow(unsigned int)"},
-    {"_ZNK4llvm8DenseMapINS_9SlotIndexES1_NS_12DenseMapInfoIS1_EES3_E4findERKS1_", "llvm::DenseMap<llvm::SlotIndex, llvm::SlotIndex, llvm::DenseMapInfo<llvm::SlotIndex>, llvm::DenseMapInfo<llvm::SlotIndex> >::find(llvm::SlotIndex const&) const"},
-    {"_ZN4llvm8DenseMapINS_9SlotIndexES1_NS_12DenseMapInfoIS1_EES3_E5clearEv", "llvm::DenseMap<llvm::SlotIndex, llvm::SlotIndex, llvm::DenseMapInfo<llvm::SlotIndex>, llvm::DenseMapInfo<llvm::SlotIndex> >::clear()"},
-    {"_ZN4llvm8DenseMapINS_9SlotIndexES1_NS_12DenseMapInfoIS1_EES3_E16shrink_and_clearEv", "llvm::DenseMap<llvm::SlotIndex, llvm::SlotIndex, llvm::DenseMapInfo<llvm::SlotIndex>, llvm::DenseMapInfo<llvm::SlotIndex> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIjiNS_12DenseMapInfoIjEENS1_IiEEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<int> >::shrink_and_clear()"},
-    {"_ZN4llvm33initializeProcessImplicitDefsPassERNS_12PassRegistryE", "llvm::initializeProcessImplicitDefsPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm19ProcessImplicitDefs16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::ProcessImplicitDefs::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm19ProcessImplicitDefs22CanTurnIntoImplicitDefEPNS_12MachineInstrEjjPKNS_15TargetInstrInfoERNS_8SmallSetIjLj8EEE", "llvm::ProcessImplicitDefs::CanTurnIntoImplicitDef(llvm::MachineInstr*, unsigned int, unsigned int, llvm::TargetInstrInfo const*, llvm::SmallSet<unsigned int, 8u>&)"},
-    {"_ZN4llvm19ProcessImplicitDefs20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::ProcessImplicitDefs::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm19ProcessImplicitDefsD1Ev", "llvm::ProcessImplicitDefs::~ProcessImplicitDefs()"},
-    {"_ZN4llvm19ProcessImplicitDefsD0Ev", "llvm::ProcessImplicitDefs::~ProcessImplicitDefs()"},
-    {"_ZN4llvm15callDefaultCtorINS_19ProcessImplicitDefsEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::ProcessImplicitDefs>()"},
-    {"_ZN4llvm17initializePEIPassERNS_12PassRegistryE", "llvm::initializePEIPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm30createPrologEpilogCodeInserterEv", "llvm::createPrologEpilogCodeInserter()"},
-    {"_ZN4llvm3PEI20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::PEI::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI25calculateCallsInformationERNS_15MachineFunctionE", "llvm::PEI::calculateCallsInformation(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI29calculateCalleeSavedRegistersERNS_15MachineFunctionE", "llvm::PEI::calculateCalleeSavedRegisters(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI26insertCSRSpillsAndRestoresERNS_15MachineFunctionE", "llvm::PEI::insertCSRSpillsAndRestores(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI27calculateFrameObjectOffsetsERNS_15MachineFunctionE", "llvm::PEI::calculateFrameObjectOffsets(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI22insertPrologEpilogCodeERNS_15MachineFunctionE", "llvm::PEI::insertPrologEpilogCode(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI19replaceFrameIndicesERNS_15MachineFunctionE", "llvm::PEI::replaceFrameIndices(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI24scavengeFrameVirtualRegsERNS_15MachineFunctionE", "llvm::PEI::scavengeFrameVirtualRegs(llvm::MachineFunction&)"},
-    {"_ZN4llvm8SmallSetIiLj16EE6insertERKi", "llvm::SmallSet<int, 16u>::insert(int const&)"},
-    {"_ZNSt6vectorIN4llvm15CalleeSavedInfoESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::CalleeSavedInfo*, std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > >, llvm::CalleeSavedInfo const&)"},
-    {"_ZNSt6vectorIN4llvm14ilist_iteratorINS0_12MachineInstrEEESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::ilist_iterator<llvm::MachineInstr>, std::allocator<llvm::ilist_iterator<llvm::MachineInstr> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ilist_iterator<llvm::MachineInstr>*, std::vector<llvm::ilist_iterator<llvm::MachineInstr>, std::allocator<llvm::ilist_iterator<llvm::MachineInstr> > > >, llvm::ilist_iterator<llvm::MachineInstr> const&)"},
-    {"_ZNSt6vectorIN4llvm15CalleeSavedInfoESaIS1_EEaSERKS3_", "std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> >::operator=(std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&)"},
-    {"_ZN4llvm3PEIC2Ev", "llvm::PEI::PEI()"},
-    {"_ZNK4llvm3PEI11getPassNameEv", "llvm::PEI::getPassName() const"},
-    {"_ZN4llvm15callDefaultCtorINS_3PEIEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::PEI>()"},
-    {"_ZN4llvm17PseudoSourceValue8getStackEv", "llvm::PseudoSourceValue::getStack()"},
-    {"_ZN4llvm17PseudoSourceValue6getGOTEv", "llvm::PseudoSourceValue::getGOT()"},
-    {"_ZN4llvm17PseudoSourceValue12getJumpTableEv", "llvm::PseudoSourceValue::getJumpTable()"},
-    {"_ZN4llvm17PseudoSourceValue15getConstantPoolEv", "llvm::PseudoSourceValue::getConstantPool()"},
-    {"_ZN4llvm17PseudoSourceValueC1ENS_5Value7ValueTyE", "llvm::PseudoSourceValue::PseudoSourceValue(llvm::Value::ValueTy)"},
-    {"_ZN4llvm17PseudoSourceValueC2ENS_5Value7ValueTyE", "llvm::PseudoSourceValue::PseudoSourceValue(llvm::Value::ValueTy)"},
-    {"_ZNK4llvm17PseudoSourceValue11printCustomERNS_11raw_ostreamE", "llvm::PseudoSourceValue::printCustom(llvm::raw_ostream&) const"},
-    {"_ZN4llvm17PseudoSourceValue13getFixedStackEi", "llvm::PseudoSourceValue::getFixedStack(int)"},
-    {"_ZNK4llvm17PseudoSourceValue10isConstantEPKNS_16MachineFrameInfoE", "llvm::PseudoSourceValue::isConstant(llvm::MachineFrameInfo const*) const"},
-    {"_ZNK4llvm17PseudoSourceValue9isAliasedEPKNS_16MachineFrameInfoE", "llvm::PseudoSourceValue::isAliased(llvm::MachineFrameInfo const*) const"},
-    {"_ZNK4llvm17PseudoSourceValue8mayAliasEPKNS_16MachineFrameInfoE", "llvm::PseudoSourceValue::mayAlias(llvm::MachineFrameInfo const*) const"},
-    {"_ZNK4llvm27FixedStackPseudoSourceValue10isConstantEPKNS_16MachineFrameInfoE", "llvm::FixedStackPseudoSourceValue::isConstant(llvm::MachineFrameInfo const*) const"},
-    {"_ZNK4llvm27FixedStackPseudoSourceValue9isAliasedEPKNS_16MachineFrameInfoE", "llvm::FixedStackPseudoSourceValue::isAliased(llvm::MachineFrameInfo const*) const"},
-    {"_ZNK4llvm27FixedStackPseudoSourceValue8mayAliasEPKNS_16MachineFrameInfoE", "llvm::FixedStackPseudoSourceValue::mayAlias(llvm::MachineFrameInfo const*) const"},
-    {"_ZNK4llvm27FixedStackPseudoSourceValue11printCustomERNS_11raw_ostreamE", "llvm::FixedStackPseudoSourceValue::printCustom(llvm::raw_ostream&) const"},
-    {"_ZN4llvm14object_creatorIN12_GLOBAL__N_112PSVGlobalsTyEEEPvv", "void* llvm::object_creator<(anonymous namespace)::PSVGlobalsTy>()"},
-    {"_ZN4llvm14object_deleterIN12_GLOBAL__N_112PSVGlobalsTyEE4callEPv", "llvm::object_deleter<(anonymous namespace)::PSVGlobalsTy>::call(void*)"},
-    {"_ZN4llvm17PseudoSourceValueD1Ev", "llvm::PseudoSourceValue::~PseudoSourceValue()"},
-    {"_ZN4llvm17PseudoSourceValueD0Ev", "llvm::PseudoSourceValue::~PseudoSourceValue()"},
-    {"_ZN4llvm27FixedStackPseudoSourceValueD1Ev", "llvm::FixedStackPseudoSourceValue::~FixedStackPseudoSourceValue()"},
-    {"_ZN4llvm27FixedStackPseudoSourceValueD0Ev", "llvm::FixedStackPseudoSourceValue::~FixedStackPseudoSourceValue()"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiPKN4llvm17PseudoSourceValueEESt10_Select1stIS6_ESt4lessIiESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<int, std::pair<int const, llvm::PseudoSourceValue const*>, std::_Select1st<std::pair<int const, llvm::PseudoSourceValue const*> >, std::less<int>, std::allocator<std::pair<int const, llvm::PseudoSourceValue const*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, llvm::PseudoSourceValue const*> >, std::pair<int const, llvm::PseudoSourceValue const*> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiPKN4llvm17PseudoSourceValueEESt10_Select1stIS6_ESt4lessIiESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<int, std::pair<int const, llvm::PseudoSourceValue const*>, std::_Select1st<std::pair<int const, llvm::PseudoSourceValue const*> >, std::less<int>, std::allocator<std::pair<int const, llvm::PseudoSourceValue const*> > >::_M_insert_unique(std::pair<int const, llvm::PseudoSourceValue const*> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKiPKN4llvm17PseudoSourceValueEESt10_Select1stIS6_ESt4lessIiESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<int, std::pair<int const, llvm::PseudoSourceValue const*>, std::_Select1st<std::pair<int const, llvm::PseudoSourceValue const*> >, std::less<int>, std::allocator<std::pair<int const, llvm::PseudoSourceValue const*> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, llvm::PseudoSourceValue const*> >*)"},
-    {"_ZN4llvm27createFastRegisterAllocatorEv", "llvm::createFastRegisterAllocator()"},
-    {"_ZN12_GLOBAL__N_16RAFastD1Ev", "(anonymous namespace)::RAFast::~RAFast()"},
-    {"_ZN12_GLOBAL__N_16RAFastD0Ev", "(anonymous namespace)::RAFast::~RAFast()"},
-    {"_ZNK12_GLOBAL__N_16RAFast11getPassNameEv", "(anonymous namespace)::RAFast::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_16RAFast16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::RAFast::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_16RAFast20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::RAFast::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_16RAFast13definePhysRegEPN4llvm12MachineInstrEjNS0_8RegStateE", "(anonymous namespace)::RAFast::definePhysReg(llvm::MachineInstr*, unsigned int, (anonymous namespace)::RAFast::RegState)"},
-    {"_ZN12_GLOBAL__N_16RAFast10setPhysRegEPN4llvm12MachineInstrEjj", "(anonymous namespace)::RAFast::setPhysReg(llvm::MachineInstr*, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_16RAFast13reloadVirtRegEPN4llvm12MachineInstrEjjj", "(anonymous namespace)::RAFast::reloadVirtReg(llvm::MachineInstr*, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_16RAFast8spillAllEPN4llvm12MachineInstrE", "(anonymous namespace)::RAFast::spillAll(llvm::MachineInstr*)"},
-    {"_ZN12_GLOBAL__N_16RAFast13defineVirtRegEPN4llvm12MachineInstrEjjj", "(anonymous namespace)::RAFast::defineVirtReg(llvm::MachineInstr*, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN4llvm8DenseMapIjN12_GLOBAL__N_16RAFast7LiveRegENS_12DenseMapInfoIjEENS4_IS3_EEE6insertERKSt4pairIjS3_E", "llvm::DenseMap<unsigned int, (anonymous namespace)::RAFast::LiveReg, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<(anonymous namespace)::RAFast::LiveReg> >::insert(std::pair<unsigned int, (anonymous namespace)::RAFast::LiveReg> const&)"},
-    {"_ZN12_GLOBAL__N_16RAFast12allocVirtRegEPN4llvm12MachineInstrERSt4pairIjNS0_7LiveRegEEj", "(anonymous namespace)::RAFast::allocVirtReg(llvm::MachineInstr*, std::pair<unsigned int, (anonymous namespace)::RAFast::LiveReg>&, unsigned int)"},
-    {"_ZNK12_GLOBAL__N_16RAFast13calcSpillCostEj", "(anonymous namespace)::RAFast::calcSpillCost(unsigned int) const"},
-    {"_ZN12_GLOBAL__N_16RAFast12spillVirtRegEN4llvm14ilist_iteratorINS1_12MachineInstrEEENS1_16DenseMapIteratorIjNS0_7LiveRegENS1_12DenseMapInfoIjEENS7_IS6_EELb0EEE", "(anonymous namespace)::RAFast::spillVirtReg(llvm::ilist_iterator<llvm::MachineInstr>, llvm::DenseMapIterator<unsigned int, (anonymous namespace)::RAFast::LiveReg, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<(anonymous namespace)::RAFast::LiveReg>, false>)"},
-    {"_ZN4llvm33createLinearScanRegisterAllocatorEv", "llvm::createLinearScanRegisterAllocator()"},
-    {"_ZN4llvm23initializeRALinScanPassERNS_12PassRegistryE", "llvm::initializeRALinScanPass(llvm::PassRegistry&)"},
-    {"_ZN12_GLOBAL__N_19RALinScanC1Ev", "(anonymous namespace)::RALinScan::RALinScan()"},
-    {"_ZN12_GLOBAL__N_19RALinScanD1Ev", "(anonymous namespace)::RALinScan::~RALinScan()"},
-    {"_ZN12_GLOBAL__N_19RALinScanD0Ev", "(anonymous namespace)::RALinScan::~RALinScan()"},
-    {"_ZNK12_GLOBAL__N_19RALinScan11getPassNameEv", "(anonymous namespace)::RALinScan::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_19RALinScan16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::RALinScan::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_19RALinScan20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::RALinScan::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_19RALinScan30assignRegOrStackSlotAtIntervalEPN4llvm12LiveIntervalE", "(anonymous namespace)::RALinScan::assignRegOrStackSlotAtInterval(llvm::LiveInterval*)"},
-    {"_ZN12_GLOBAL__N_19RALinScan14getFreePhysRegEPN4llvm12LiveIntervalE", "(anonymous namespace)::RALinScan::getFreePhysReg(llvm::LiveInterval*)"},
-    {"_ZN12_GLOBAL__N_19RALinScan18updateSpillWeightsERSt6vectorIfSaIfEEjfPKN4llvm19TargetRegisterClassE", "(anonymous namespace)::RALinScan::updateSpillWeights(std::vector<float, std::allocator<float> >&, unsigned int, float, llvm::TargetRegisterClass const*)"},
-    {"_ZSt4sortIPPN4llvm12LiveIntervalEN12_GLOBAL__N_18LISorterEEvT_S6_T0_", "void std::sort<llvm::LiveInterval**, (anonymous namespace)::LISorter>(llvm::LiveInterval**, llvm::LiveInterval**, (anonymous namespace)::LISorter)"},
-    {"_Z17getConflictWeightPN4llvm12LiveIntervalEjPNS_13LiveIntervalsEPNS_19MachineRegisterInfoEPNS_15MachineLoopInfoE", "getConflictWeight(llvm::LiveInterval*, unsigned int, llvm::LiveIntervals*, llvm::MachineRegisterInfo*, llvm::MachineLoopInfo*)"},
-    {"_ZSt16__introsort_loopIPPN4llvm12LiveIntervalElN12_GLOBAL__N_18LISorterEEvT_S6_T0_T1_", "void std::__introsort_loop<llvm::LiveInterval**, long, (anonymous namespace)::LISorter>(llvm::LiveInterval**, llvm::LiveInterval**, long, (anonymous namespace)::LISorter)"},
-    {"_ZSt16__insertion_sortIPPN4llvm12LiveIntervalEN12_GLOBAL__N_18LISorterEEvT_S6_T0_", "void std::__insertion_sort<llvm::LiveInterval**, (anonymous namespace)::LISorter>(llvm::LiveInterval**, llvm::LiveInterval**, (anonymous namespace)::LISorter)"},
-    {"_ZSt25__unguarded_linear_insertIPPN4llvm12LiveIntervalES2_N12_GLOBAL__N_18LISorterEEvT_T0_T1_", "void std::__unguarded_linear_insert<llvm::LiveInterval**, llvm::LiveInterval*, (anonymous namespace)::LISorter>(llvm::LiveInterval**, llvm::LiveInterval*, (anonymous namespace)::LISorter)"},
-    {"_ZSt13__adjust_heapIPPN4llvm12LiveIntervalElS2_N12_GLOBAL__N_18LISorterEEvT_T0_S7_T1_T2_", "void std::__adjust_heap<llvm::LiveInterval**, long, llvm::LiveInterval*, (anonymous namespace)::LISorter>(llvm::LiveInterval**, long, long, llvm::LiveInterval*, (anonymous namespace)::LISorter)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPSt4pairIjfESt6vectorIS3_SaIS3_EEEElN12_GLOBAL__N_113WeightCompareEEvT_SB_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, long, (anonymous namespace)::WeightCompare>(__gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, __gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, long, (anonymous namespace)::WeightCompare)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIjfESt6vectorIS3_SaIS3_EEEEN12_GLOBAL__N_113WeightCompareEEvT_SB_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, (anonymous namespace)::WeightCompare>(__gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, __gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, (anonymous namespace)::WeightCompare)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPSt4pairIjfESt6vectorIS3_SaIS3_EEEElS3_N12_GLOBAL__N_113WeightCompareEEvT_T0_SC_T1_T2_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, long, std::pair<unsigned int, float>, (anonymous namespace)::WeightCompare>(__gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, long, long, std::pair<unsigned int, float>, (anonymous namespace)::WeightCompare)"},
-    {"_ZN12_GLOBAL__N_19RALinScan14getFreePhysRegEPN4llvm12LiveIntervalEPKNS1_19TargetRegisterClassEjRNS1_11SmallVectorIjLj256EEEb", "(anonymous namespace)::RALinScan::getFreePhysReg(llvm::LiveInterval*, llvm::TargetRegisterClass const*, unsigned int, llvm::SmallVector<unsigned int, 256u>&, bool)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_19RALinScanEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::RALinScan>()"},
-    {"_ZN4llvm15SmallVectorImplIjE6resizeEjRKj", "llvm::SmallVectorImpl<unsigned int>::resize(unsigned int, unsigned int const&)"},
-    {"_ZNK4llvm11SlotIndexes14findLiveInMBBsENS_9SlotIndexES1_RNS_15SmallVectorImplIPNS_17MachineBasicBlockEEE", "llvm::SlotIndexes::findLiveInMBBs(llvm::SlotIndex, llvm::SlotIndex, llvm::SmallVectorImpl<llvm::MachineBasicBlock*>&) const"},
-    {"_ZNSt14priority_queueIPN4llvm12LiveIntervalENS0_11SmallVectorIS2_Lj64EEENS0_11greater_ptrIS1_EEE4pushERKS2_", "std::priority_queue<llvm::LiveInterval*, llvm::SmallVector<llvm::LiveInterval*, 64u>, llvm::greater_ptr<llvm::LiveInterval> >::push(llvm::LiveInterval* const&)"},
-    {"_ZSt6__findIPKjjET_S2_S2_RKT0_St26random_access_iterator_tag", "unsigned int const* std::__find<unsigned int const*, unsigned int>(unsigned int const*, unsigned int const*, unsigned int const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIjPKNS_19TargetRegisterClassENS_12DenseMapInfoIjEENS4_IS3_EEE16InsertIntoBucketERKjRKS3_PSt4pairIjS3_E", "llvm::DenseMap<unsigned int, llvm::TargetRegisterClass const*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::TargetRegisterClass const*> >::InsertIntoBucket(unsigned int const&, llvm::TargetRegisterClass const* const&, std::pair<unsigned int, llvm::TargetRegisterClass const*>*)"},
-    {"_ZN4llvm8DenseMapIjPKNS_19TargetRegisterClassENS_12DenseMapInfoIjEENS4_IS3_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::TargetRegisterClass const*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::TargetRegisterClass const*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIjfESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int, float>*, std::vector<std::pair<unsigned int, float>, std::allocator<std::pair<unsigned int, float> > > >, std::pair<unsigned int, float> const&)"},
-    {"_ZNK4llvm18EquivalenceClassesIPKNS_19TargetRegisterClassEE7ECValue9getLeaderEv", "llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue::getLeader() const"},
-    {"_ZSt13__adjust_heapIPPN4llvm12LiveIntervalElS2_NS0_11greater_ptrIS1_EEEvT_T0_S7_T1_T2_", "void std::__adjust_heap<llvm::LiveInterval**, long, llvm::LiveInterval*, llvm::greater_ptr<llvm::LiveInterval> >(llvm::LiveInterval**, long, long, llvm::LiveInterval*, llvm::greater_ptr<llvm::LiveInterval>)"},
-    {"_ZN4llvm18EquivalenceClassesIPKNS_19TargetRegisterClassEE9unionSetsERKS3_S6_", "llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::unionSets(llvm::TargetRegisterClass const* const&, llvm::TargetRegisterClass const* const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm18EquivalenceClassesIPKNS0_19TargetRegisterClassEE7ECValueES6_St9_IdentityIS6_ESt4lessIS6_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue, llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue, std::_Identity<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue>, std::less<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue>, std::allocator<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue> >::_M_insert_unique(llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm18EquivalenceClassesIPKNS0_19TargetRegisterClassEE7ECValueES6_St9_IdentityIS6_ESt4lessIS6_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue, llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue, std::_Identity<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue>, std::less<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue>, std::allocator<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue> >::_M_erase(std::_Rb_tree_node<llvm::EquivalenceClasses<llvm::TargetRegisterClass const*>::ECValue>*)"},
-    {"_ZNSt14priority_queueIPN4llvm12LiveIntervalENS0_11SmallVectorIS2_Lj64EEENS0_11greater_ptrIS1_EEEC2ERKS6_RKS4_", "std::priority_queue<llvm::LiveInterval*, llvm::SmallVector<llvm::LiveInterval*, 64u>, llvm::greater_ptr<llvm::LiveInterval> >::priority_queue(llvm::greater_ptr<llvm::LiveInterval> const&, llvm::SmallVector<llvm::LiveInterval*, 64u> const&)"},
-    {"_ZN4llvm40initializeRegisterCoalescerAnalysisGroupERNS_12PassRegistryE", "llvm::initializeRegisterCoalescerAnalysisGroup(llvm::PassRegistry&)"},
-    {"_ZN4llvm17RegisterCoalescerD0Ev", "llvm::RegisterCoalescer::~RegisterCoalescer()"},
-    {"_ZN4llvm17RegisterCoalescerD1Ev", "llvm::RegisterCoalescer::~RegisterCoalescer()"},
-    {"_ZN4llvm17RegisterCoalescerD2Ev", "llvm::RegisterCoalescer::~RegisterCoalescer()"},
-    {"_ZNK4llvm13CoalescerPair7composeEjj", "llvm::CoalescerPair::compose(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm13CoalescerPair11isMoveInstrEPKNS_12MachineInstrERjS4_S4_S4_", "llvm::CoalescerPair::isMoveInstr(llvm::MachineInstr const*, unsigned int&, unsigned int&, unsigned int&, unsigned int&) const"},
-    {"_ZN4llvm13CoalescerPair12setRegistersEPKNS_12MachineInstrE", "llvm::CoalescerPair::setRegisters(llvm::MachineInstr const*)"},
-    {"_ZN4llvm13CoalescerPair4flipEv", "llvm::CoalescerPair::flip()"},
-    {"_ZNK4llvm13CoalescerPair13isCoalescableEPKNS_12MachineInstrE", "llvm::CoalescerPair::isCoalescable(llvm::MachineInstr const*) const"},
-    {"_ZN4llvm12RegScavenger7setUsedEj", "llvm::RegScavenger::setUsed(unsigned int)"},
-    {"_ZNK4llvm12RegScavenger11isAliasUsedEj", "llvm::RegScavenger::isAliasUsed(unsigned int) const"},
-    {"_ZN4llvm12RegScavenger12initRegStateEv", "llvm::RegScavenger::initRegState()"},
-    {"_ZN4llvm12RegScavenger15enterBasicBlockEPNS_17MachineBasicBlockE", "llvm::RegScavenger::enterBasicBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm12RegScavenger17addRegWithSubRegsERNS_9BitVectorEj", "llvm::RegScavenger::addRegWithSubRegs(llvm::BitVector&, unsigned int)"},
-    {"_ZN4llvm12RegScavenger17addRegWithAliasesERNS_9BitVectorEj", "llvm::RegScavenger::addRegWithAliases(llvm::BitVector&, unsigned int)"},
-    {"_ZN4llvm12RegScavenger7forwardEv", "llvm::RegScavenger::forward()"},
-    {"_ZN4llvm12RegScavenger11getRegsUsedERNS_9BitVectorEb", "llvm::RegScavenger::getRegsUsed(llvm::BitVector&, bool)"},
-    {"_ZNK4llvm12RegScavenger13FindUnusedRegEPKNS_19TargetRegisterClassE", "llvm::RegScavenger::FindUnusedReg(llvm::TargetRegisterClass const*) const"},
-    {"_ZN4llvm12RegScavenger16getRegsAvailableEPKNS_19TargetRegisterClassERNS_9BitVectorE", "llvm::RegScavenger::getRegsAvailable(llvm::TargetRegisterClass const*, llvm::BitVector&)"},
-    {"_ZN4llvm12RegScavenger15findSurvivorRegENS_14ilist_iteratorINS_12MachineInstrEEERNS_9BitVectorEjRS3_", "llvm::RegScavenger::findSurvivorReg(llvm::ilist_iterator<llvm::MachineInstr>, llvm::BitVector&, unsigned int, llvm::ilist_iterator<llvm::MachineInstr>&)"},
-    {"_ZN4llvm12RegScavenger16scavengeRegisterEPKNS_19TargetRegisterClassENS_14ilist_iteratorINS_12MachineInstrEEEi", "llvm::RegScavenger::scavengeRegister(llvm::TargetRegisterClass const*, llvm::ilist_iterator<llvm::MachineInstr>, int)"},
-    {"_ZN4llvm9BitVectoraSERKS0_", "llvm::BitVector::operator=(llvm::BitVector const&)"},
-    {"_ZN4llvm12RegScavenger7setUsedERNS_9BitVectorE", "llvm::RegScavenger::setUsed(llvm::BitVector&)"},
-    {"_ZNK4llvm9BitVectorcoEv", "llvm::BitVector::operator~() const"},
-    {"_ZN4llvm11ScheduleDAGC1ERNS_15MachineFunctionE", "llvm::ScheduleDAG::ScheduleDAG(llvm::MachineFunction&)"},
-    {"_ZN4llvm11ScheduleDAGC2ERNS_15MachineFunctionE", "llvm::ScheduleDAG::ScheduleDAG(llvm::MachineFunction&)"},
-    {"_ZN4llvm11ScheduleDAGD0Ev", "llvm::ScheduleDAG::~ScheduleDAG()"},
-    {"_ZN4llvm11ScheduleDAGD1Ev", "llvm::ScheduleDAG::~ScheduleDAG()"},
-    {"_ZN4llvm11ScheduleDAGD2Ev", "llvm::ScheduleDAG::~ScheduleDAG()"},
-    {"_ZNK4llvm11ScheduleDAG11getNodeDescEPKNS_6SDNodeE", "llvm::ScheduleDAG::getNodeDesc(llvm::SDNode const*) const"},
-    {"_ZNK4llvm11ScheduleDAG12dumpScheduleEv", "llvm::ScheduleDAG::dumpSchedule() const"},
-    {"_ZNK4llvm5SUnit4dumpEPKNS_11ScheduleDAGE", "llvm::SUnit::dump(llvm::ScheduleDAG const*) const"},
-    {"_ZN4llvm11ScheduleDAG3RunEPNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::ScheduleDAG::Run(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>)"},
-    {"_ZN4llvm5SUnit7addPredERKNS_4SDepE", "llvm::SUnit::addPred(llvm::SDep const&)"},
-    {"_ZN4llvm5SUnit13setDepthDirtyEv", "llvm::SUnit::setDepthDirty()"},
-    {"_ZN4llvm5SUnit14setHeightDirtyEv", "llvm::SUnit::setHeightDirty()"},
-    {"_ZN4llvm5SUnit10removePredERKNS_4SDepE", "llvm::SUnit::removePred(llvm::SDep const&)"},
-    {"_ZN4llvm5SUnit17setDepthToAtLeastEj", "llvm::SUnit::setDepthToAtLeast(unsigned int)"},
-    {"_ZN4llvm5SUnit18setHeightToAtLeastEj", "llvm::SUnit::setHeightToAtLeast(unsigned int)"},
-    {"_ZN4llvm5SUnit12ComputeDepthEv", "llvm::SUnit::ComputeDepth()"},
-    {"_ZN4llvm5SUnit13ComputeHeightEv", "llvm::SUnit::ComputeHeight()"},
-    {"_ZNK4llvm5SUnit7dumpAllEPKNS_11ScheduleDAGE", "llvm::SUnit::dumpAll(llvm::ScheduleDAG const*) const"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSort25InitDAGTopologicalSortingEv", "llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting()"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSort8AllocateEii", "llvm::ScheduleDAGTopologicalSort::Allocate(int, int)"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSort7AddPredEPNS_5SUnitES2_", "llvm::ScheduleDAGTopologicalSort::AddPred(llvm::SUnit*, llvm::SUnit*)"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSort3DFSEPKNS_5SUnitEiRb", "llvm::ScheduleDAGTopologicalSort::DFS(llvm::SUnit const*, int, bool&)"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSort5ShiftERNS_9BitVectorEii", "llvm::ScheduleDAGTopologicalSort::Shift(llvm::BitVector&, int, int)"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSort10RemovePredEPNS_5SUnitES2_", "llvm::ScheduleDAGTopologicalSort::RemovePred(llvm::SUnit*, llvm::SUnit*)"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSort15WillCreateCycleEPNS_5SUnitES2_", "llvm::ScheduleDAGTopologicalSort::WillCreateCycle(llvm::SUnit*, llvm::SUnit*)"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSort11IsReachableEPKNS_5SUnitES3_", "llvm::ScheduleDAGTopologicalSort::IsReachable(llvm::SUnit const*, llvm::SUnit const*)"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSortC1ERSt6vectorINS_5SUnitESaIS2_EE", "llvm::ScheduleDAGTopologicalSort::ScheduleDAGTopologicalSort(std::vector<llvm::SUnit, std::allocator<llvm::SUnit> >&)"},
-    {"_ZN4llvm26ScheduleDAGTopologicalSortC2ERSt6vectorINS_5SUnitESaIS2_EE", "llvm::ScheduleDAGTopologicalSort::ScheduleDAGTopologicalSort(std::vector<llvm::SUnit, std::allocator<llvm::SUnit> >&)"},
-    {"_ZN4llvm24ScheduleHazardRecognizerD0Ev", "llvm::ScheduleHazardRecognizer::~ScheduleHazardRecognizer()"},
-    {"_ZN4llvm24ScheduleHazardRecognizerD1Ev", "llvm::ScheduleHazardRecognizer::~ScheduleHazardRecognizer()"},
-    {"_ZN4llvm24ScheduleHazardRecognizerD2Ev", "llvm::ScheduleHazardRecognizer::~ScheduleHazardRecognizer()"},
-    {"_ZNK4llvm11ScheduleDAG21ComputeOperandLatencyEPNS_5SUnitES2_RNS_4SDepE", "llvm::ScheduleDAG::ComputeOperandLatency(llvm::SUnit*, llvm::SUnit*, llvm::SDep&) const"},
-    {"_ZNSt6vectorIPKN4llvm5SUnitESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::SUnit const*, std::allocator<llvm::SUnit const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SUnit const**, std::vector<llvm::SUnit const*, std::allocator<llvm::SUnit const*> > >, llvm::SUnit const* const&)"},
-    {"_ZNSt6vectorIiSaIiEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPiS1_EEmRKi", "std::vector<int, std::allocator<int> >::_M_fill_insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, unsigned long, int const&)"},
-    {"_ZNSt6vectorIN4llvm5SUnitESaIS1_EED2Ev", "std::vector<llvm::SUnit, std::allocator<llvm::SUnit> >::~vector()"},
-    {"_ZN4llvm11ScheduleDAG8EmitNoopEv", "llvm::ScheduleDAG::EmitNoop()"},
-    {"_ZN4llvm11ScheduleDAG15EmitPhysRegCopyEPNS_5SUnitERNS_8DenseMapIS2_jNS_12DenseMapInfoIS2_EENS4_IjEEEE", "llvm::ScheduleDAG::EmitPhysRegCopy(llvm::SUnit*, llvm::DenseMap<llvm::SUnit*, unsigned int, llvm::DenseMapInfo<llvm::SUnit*>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN4llvm8DenseMapIPNS_5SUnitEjNS_12DenseMapInfoIS2_EENS3_IjEEE6insertERKSt4pairIS2_jE", "llvm::DenseMap<llvm::SUnit*, unsigned int, llvm::DenseMapInfo<llvm::SUnit*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<llvm::SUnit*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5SUnitEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::SUnit*, unsigned int, llvm::DenseMapInfo<llvm::SUnit*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::SUnit* const&, unsigned int const&, std::pair<llvm::SUnit*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5SUnitEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::SUnit*, unsigned int, llvm::DenseMapInfo<llvm::SUnit*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm17ScheduleDAGInstrsC1ERNS_15MachineFunctionERKNS_15MachineLoopInfoERKNS_20MachineDominatorTreeE", "llvm::ScheduleDAGInstrs::ScheduleDAGInstrs(llvm::MachineFunction&, llvm::MachineLoopInfo const&, llvm::MachineDominatorTree const&)"},
-    {"_ZN4llvm17ScheduleDAGInstrsC2ERNS_15MachineFunctionERKNS_15MachineLoopInfoERKNS_20MachineDominatorTreeE", "llvm::ScheduleDAGInstrs::ScheduleDAGInstrs(llvm::MachineFunction&, llvm::MachineLoopInfo const&, llvm::MachineDominatorTree const&)"},
-    {"_ZN4llvm17ScheduleDAGInstrs3RunEPNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEES5_j", "llvm::ScheduleDAGInstrs::Run(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineInstr>, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int)"},
-    {"_ZN4llvm17ScheduleDAGInstrs10StartBlockEPNS_17MachineBasicBlockE", "llvm::ScheduleDAGInstrs::StartBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm17ScheduleDAGInstrs19AddSchedBarrierDepsEv", "llvm::ScheduleDAGInstrs::AddSchedBarrierDeps()"},
-    {"_ZN4llvm17ScheduleDAGInstrs15BuildSchedGraphEPNS_13AliasAnalysisE", "llvm::ScheduleDAGInstrs::BuildSchedGraph(llvm::AliasAnalysis*)"},
-    {"_Z27getUnderlyingObjectForInstrPKN4llvm12MachineInstrEPKNS_16MachineFrameInfoERb", "getUnderlyingObjectForInstr(llvm::MachineInstr const*, llvm::MachineFrameInfo const*, bool&)"},
-    {"_ZN4llvm17ScheduleDAGInstrs11FinishBlockEv", "llvm::ScheduleDAGInstrs::FinishBlock()"},
-    {"_ZN4llvm17ScheduleDAGInstrs14ComputeLatencyEPNS_5SUnitE", "llvm::ScheduleDAGInstrs::ComputeLatency(llvm::SUnit*)"},
-    {"_ZNK4llvm17ScheduleDAGInstrs21ComputeOperandLatencyEPNS_5SUnitES2_RNS_4SDepE", "llvm::ScheduleDAGInstrs::ComputeOperandLatency(llvm::SUnit*, llvm::SUnit*, llvm::SDep&) const"},
-    {"_ZNK4llvm17ScheduleDAGInstrs8dumpNodeEPKNS_5SUnitE", "llvm::ScheduleDAGInstrs::dumpNode(llvm::SUnit const*) const"},
-    {"_ZNK4llvm17ScheduleDAGInstrs17getGraphNodeLabelEPKNS_5SUnitE", "llvm::ScheduleDAGInstrs::getGraphNodeLabel(llvm::SUnit const*) const"},
-    {"_ZN4llvm17ScheduleDAGInstrs12EmitScheduleEv", "llvm::ScheduleDAGInstrs::EmitSchedule()"},
-    {"_ZN4llvm16LoopDependencies9VisitLoopEPKNS_11MachineLoopE", "llvm::LoopDependencies::VisitLoop(llvm::MachineLoop const*)"},
-    {"_ZNSt6vectorIN4llvm5SUnitESaIS1_EE7reserveEm", "std::vector<llvm::SUnit, std::allocator<llvm::SUnit> >::reserve(unsigned long)"},
-    {"_ZN4llvm17ScheduleDAGInstrs8NewSUnitEPNS_12MachineInstrE", "llvm::ScheduleDAGInstrs::NewSUnit(llvm::MachineInstr*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm5ValueESt4pairIKS3_St6vectorIPNS0_5SUnitESaIS8_EEESt10_Select1stISB_ESt4lessIS3_ESaISB_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISB_ERKSB_", "std::_Rb_tree<llvm::Value const*, std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, std::_Select1st<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > >, std::less<llvm::Value const*>, std::allocator<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > >, std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm5ValueESt4pairIKS3_St6vectorIPNS0_5SUnitESaIS8_EEESt10_Select1stISB_ESt4lessIS3_ESaISB_EE16_M_insert_uniqueERKSB_", "std::_Rb_tree<llvm::Value const*, std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, std::_Select1st<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > >, std::less<llvm::Value const*>, std::allocator<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > > >::_M_insert_unique(std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm5ValueESt4pairIKS3_St6vectorIPNS0_5SUnitESaIS8_EEESt10_Select1stISB_ESt4lessIS3_ESaISB_EE14_M_create_nodeERKSB_", "std::_Rb_tree<llvm::Value const*, std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, std::_Select1st<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > >, std::less<llvm::Value const*>, std::allocator<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > > >::_M_create_node(std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm5ValueESt4pairIKS3_PNS0_5SUnitEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<llvm::Value const*, std::pair<llvm::Value const* const, llvm::SUnit*>, std::_Select1st<std::pair<llvm::Value const* const, llvm::SUnit*> >, std::less<llvm::Value const*>, std::allocator<std::pair<llvm::Value const* const, llvm::SUnit*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Value const* const, llvm::SUnit*> >, std::pair<llvm::Value const* const, llvm::SUnit*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm5ValueESt4pairIKS3_PNS0_5SUnitEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::Value const*, std::pair<llvm::Value const* const, llvm::SUnit*>, std::_Select1st<std::pair<llvm::Value const* const, llvm::SUnit*> >, std::less<llvm::Value const*>, std::allocator<std::pair<llvm::Value const* const, llvm::SUnit*> > >::_M_insert_unique(std::pair<llvm::Value const* const, llvm::SUnit*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm5ValueESt4pairIKS3_St6vectorIPNS0_5SUnitESaIS8_EEESt10_Select1stISB_ESt4lessIS3_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E", "std::_Rb_tree<llvm::Value const*, std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, std::_Select1st<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > >, std::less<llvm::Value const*>, std::allocator<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Value const* const, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > > >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm5ValueESt4pairIKS3_PNS0_5SUnitEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::Value const*, std::pair<llvm::Value const* const, llvm::SUnit*>, std::_Select1st<std::pair<llvm::Value const* const, llvm::SUnit*> >, std::less<llvm::Value const*>, std::allocator<std::pair<llvm::Value const* const, llvm::SUnit*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Value const* const, llvm::SUnit*> >*)"},
-    {"_ZN4llvm5SUnitC2ERKS0_", "llvm::SUnit::SUnit(llvm::SUnit const&)"},
-    {"_ZSt26__uninitialized_fill_n_auxIPSt6vectorIPN4llvm5SUnitESaIS3_EEmS5_EvT_T0_RKT1_St12__false_type", "void std::__uninitialized_fill_n_aux<std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >*, unsigned long, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >(std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> >*, unsigned long, std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > const&, std::__false_type)"},
-    {"_ZNSt6vectorIN4llvm5SUnitESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::SUnit, std::allocator<llvm::SUnit> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::SUnit*, std::vector<llvm::SUnit, std::allocator<llvm::SUnit> > >, llvm::SUnit const&)"},
-    {"_ZN4llvm5SUnitaSERKS0_", "llvm::SUnit::operator=(llvm::SUnit const&)"},
-    {"_ZN4llvm16LoopDependencies11VisitRegionEPKNS_15DomTreeNodeBaseINS_17MachineBasicBlockEEEPKS2_PKNS_11MachineLoopERKNS_8SmallSetIjLj8EEE", "llvm::LoopDependencies::VisitRegion(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::MachineBasicBlock const*, llvm::MachineLoop const*, llvm::SmallSet<unsigned int, 8u> const&)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjS0_IPKN4llvm14MachineOperandEjEESt10_Select1stIS7_ESt4lessIjESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::pair<llvm::MachineOperand const*, unsigned int> >, std::_Select1st<std::pair<unsigned int const, std::pair<llvm::MachineOperand const*, unsigned int> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<llvm::MachineOperand const*, unsigned int> > > >::_M_insert_unique(std::pair<unsigned int const, std::pair<llvm::MachineOperand const*, unsigned int> > const&)"},
-    {"_ZN4llvm26ScoreboardHazardRecognizerC1EPKNS_18InstrItineraryDataEPKNS_11ScheduleDAGEPKc", "llvm::ScoreboardHazardRecognizer::ScoreboardHazardRecognizer(llvm::InstrItineraryData const*, llvm::ScheduleDAG const*, char const*)"},
-    {"_ZN4llvm26ScoreboardHazardRecognizerC2EPKNS_18InstrItineraryDataEPKNS_11ScheduleDAGEPKc", "llvm::ScoreboardHazardRecognizer::ScoreboardHazardRecognizer(llvm::InstrItineraryData const*, llvm::ScheduleDAG const*, char const*)"},
-    {"_ZN4llvm26ScoreboardHazardRecognizer5ResetEv", "llvm::ScoreboardHazardRecognizer::Reset()"},
-    {"_ZNK4llvm26ScoreboardHazardRecognizer10Scoreboard4dumpEv", "llvm::ScoreboardHazardRecognizer::Scoreboard::dump() const"},
-    {"_ZNK4llvm26ScoreboardHazardRecognizer12atIssueLimitEv", "llvm::ScoreboardHazardRecognizer::atIssueLimit() const"},
-    {"_ZN4llvm26ScoreboardHazardRecognizer13getHazardTypeEPNS_5SUnitEi", "llvm::ScoreboardHazardRecognizer::getHazardType(llvm::SUnit*, int)"},
-    {"_ZN4llvm26ScoreboardHazardRecognizer15EmitInstructionEPNS_5SUnitE", "llvm::ScoreboardHazardRecognizer::EmitInstruction(llvm::SUnit*)"},
-    {"_ZN4llvm26ScoreboardHazardRecognizer12AdvanceCycleEv", "llvm::ScoreboardHazardRecognizer::AdvanceCycle()"},
-    {"_ZN4llvm26ScoreboardHazardRecognizer11RecedeCycleEv", "llvm::ScoreboardHazardRecognizer::RecedeCycle()"},
-    {"_ZN4llvm26ScoreboardHazardRecognizerD1Ev", "llvm::ScoreboardHazardRecognizer::~ScoreboardHazardRecognizer()"},
-    {"_ZN4llvm26ScoreboardHazardRecognizerD0Ev", "llvm::ScoreboardHazardRecognizer::~ScoreboardHazardRecognizer()"},
-    {"_ZNK4llvm3PEI16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::PEI::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm3PEI24getTopLevelLoopPreheaderEPNS_11MachineLoopE", "llvm::PEI::getTopLevelLoopPreheader(llvm::MachineLoop*)"},
-    {"_ZN4llvm3PEI21getTopLevelLoopParentEPNS_11MachineLoopE", "llvm::PEI::getTopLevelLoopParent(llvm::MachineLoop*)"},
-    {"_ZN4llvm3PEI13isReturnBlockEPNS_17MachineBasicBlockE", "llvm::PEI::isReturnBlock(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm3PEI19clearAnticAvailSetsEv", "llvm::PEI::clearAnticAvailSets()"},
-    {"_ZN4llvm3PEI12clearAllSetsEv", "llvm::PEI::clearAllSets()"},
-    {"_ZN4llvm3PEI22initShrinkWrappingInfoEv", "llvm::PEI::initShrinkWrappingInfo()"},
-    {"_ZN4llvm3PEI25placeCSRSpillsAndRestoresERNS_15MachineFunctionE", "llvm::PEI::placeCSRSpillsAndRestores(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI13calculateSetsERNS_15MachineFunctionE", "llvm::PEI::calculateSets(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI22placeSpillsAndRestoresERNS_15MachineFunctionE", "llvm::PEI::placeSpillsAndRestores(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI14calcAnticInOutEPNS_17MachineBasicBlockE", "llvm::PEI::calcAnticInOut(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm3PEI14calcAvailInOutEPNS_17MachineBasicBlockE", "llvm::PEI::calcAvailInOut(llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm3PEI19calculateAnticAvailERNS_15MachineFunctionE", "llvm::PEI::calculateAnticAvail(llvm::MachineFunction&)"},
-    {"_ZN4llvm3PEI23propagateUsesAroundLoopEPNS_17MachineBasicBlockEPNS_11MachineLoopE", "llvm::PEI::propagateUsesAroundLoop(llvm::MachineBasicBlock*, llvm::MachineLoop*)"},
-    {"_ZN4llvm3PEI20addUsesForMEMERegionEPNS_17MachineBasicBlockERNS_11SmallVectorIS2_Lj4EEE", "llvm::PEI::addUsesForMEMERegion(llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>&)"},
-    {"_ZN4llvm3PEI23addUsesForTopLevelLoopsERNS_11SmallVectorIPNS_17MachineBasicBlockELj4EEE", "llvm::PEI::addUsesForTopLevelLoops(llvm::SmallVector<llvm::MachineBasicBlock*, 4u>&)"},
-    {"_ZN4llvm3PEI19calcSpillPlacementsEPNS_17MachineBasicBlockERNS_11SmallVectorIS2_Lj4EEERNS_8DenseMapIS2_NS_15SparseBitVectorILj128EEENS_12DenseMapInfoIS2_EENS9_IS8_EEEE", "llvm::PEI::calcSpillPlacements(llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SparseBitVector<128u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SparseBitVector<128u> > >&)"},
-    {"_ZN4llvm3PEI21calcRestorePlacementsEPNS_17MachineBasicBlockERNS_11SmallVectorIS2_Lj4EEERNS_8DenseMapIS2_NS_15SparseBitVectorILj128EEENS_12DenseMapInfoIS2_EENS9_IS8_EEEE", "llvm::PEI::calcRestorePlacements(llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>&, llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SparseBitVector<128u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SparseBitVector<128u> > >&)"},
-    {"_ZN4llvm2cl3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS2_EEED1Ev", "llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >::~opt()"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_15SparseBitVectorILj128EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE5clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SparseBitVector<128u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SparseBitVector<128u> > >::clear()"},
-    {"_ZN4llvm15SparseBitVectorILj128EEaNERKS1_", "llvm::SparseBitVector<128u>::operator&=(llvm::SparseBitVector<128u> const&)"},
-    {"_ZN4llvm15SparseBitVectorILj128EEoRERKS1_", "llvm::SparseBitVector<128u>::operator|=(llvm::SparseBitVector<128u> const&)"},
-    {"_ZNK4llvm15SparseBitVectorILj128EEeqERKS1_", "llvm::SparseBitVector<128u>::operator==(llvm::SparseBitVector<128u> const&) const"},
-    {"_ZNK4llvm15SparseBitVectorILj128EE10intersectsERKS1_", "llvm::SparseBitVector<128u>::intersects(llvm::SparseBitVector<128u> const&) const"},
-    {"_ZNK4llvm15SparseBitVectorILj128EE5countEv", "llvm::SparseBitVector<128u>::count() const"},
-    {"_ZN4llvm3PEID1Ev", "llvm::PEI::~PEI()"},
-    {"_ZN4llvm3PEID0Ev", "llvm::PEI::~PEI()"},
-    {"_ZN4llvm15SmallVectorImplIPNS_17MachineBasicBlockEEaSERKS3_", "llvm::SmallVectorImpl<llvm::MachineBasicBlock*>::operator=(llvm::SmallVectorImpl<llvm::MachineBasicBlock*> const&)"},
-    {"_ZN4llvm15SparseBitVectorILj128EE23intersectWithComplementERKS1_S3_", "llvm::SparseBitVector<128u>::intersectWithComplement(llvm::SparseBitVector<128u> const&, llvm::SparseBitVector<128u> const&)"},
-    {"_ZNSt6vectorIN4llvm15CalleeSavedInfoESaIS1_EEC2ERKS3_", "std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> >::vector(std::vector<llvm::CalleeSavedInfo, std::allocator<llvm::CalleeSavedInfo> > const&)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_15SparseBitVectorILj128EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SparseBitVector<128u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SparseBitVector<128u> > >::FindAndConstruct(llvm::MachineBasicBlock* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_15SparseBitVectorILj128EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SparseBitVector<128u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SparseBitVector<128u> > >::InsertIntoBucket(llvm::MachineBasicBlock* const&, llvm::SparseBitVector<128u> const&, std::pair<llvm::MachineBasicBlock*, llvm::SparseBitVector<128u> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_15SparseBitVectorILj128EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SparseBitVector<128u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SparseBitVector<128u> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockENS_15SparseBitVectorILj128EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, llvm::SparseBitVector<128u>, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<llvm::SparseBitVector<128u> > >::shrink_and_clear()"},
-    {"_ZN4llvm2cl3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS2_EEE16handleOccurrenceEjNS_9StringRefES6_", "llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS2_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS2_EEE14getOptionWidthEv", "llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS2_EEE15printOptionInfoEm", "llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS2_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS2_EEED0Ev", "llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >::~opt()"},
-    {"_ZN4llvm2cl6parserI20ShrinkWrapDebugLevelE5parseERNS0_6OptionENS_9StringRefES6_RS2_", "llvm::cl::parser<ShrinkWrapDebugLevel>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, ShrinkWrapDebugLevel&)"},
-    {"_ZNK4llvm2cl11ValuesClassIiE5applyINS0_3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS5_EEEEEEvRT_", "void llvm::cl::ValuesClass<int>::apply<llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> > >(llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserI20ShrinkWrapDebugLevelE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<ShrinkWrapDebugLevel>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm2cl6parserI20ShrinkWrapDebugLevelED1Ev", "llvm::cl::parser<ShrinkWrapDebugLevel>::~parser()"},
-    {"_ZN4llvm2cl6parserI20ShrinkWrapDebugLevelED0Ev", "llvm::cl::parser<ShrinkWrapDebugLevel>::~parser()"},
-    {"_ZNK4llvm2cl6parserI20ShrinkWrapDebugLevelE13getNumOptionsEv", "llvm::cl::parser<ShrinkWrapDebugLevel>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserI20ShrinkWrapDebugLevelE9getOptionEj", "llvm::cl::parser<ShrinkWrapDebugLevel>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserI20ShrinkWrapDebugLevelE14getDescriptionEj", "llvm::cl::parser<ShrinkWrapDebugLevel>::getDescription(unsigned int) const"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEEC2IA17_cNS0_12OptionHiddenENS0_4descENS0_10value_descENS0_11initializerIA1_cEEEERKT_RKT0_RKT1_RKT2_RKT3_", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::opt<char [17], llvm::cl::OptionHidden, llvm::cl::desc, llvm::cl::value_desc, llvm::cl::initializer<char [1]> >(char const (&) [17], llvm::cl::OptionHidden const&, llvm::cl::desc const&, llvm::cl::value_desc const&, llvm::cl::initializer<char [1]> const&)"},
-    {"_ZN4llvm3PEID2Ev", "llvm::PEI::~PEI()"},
-    {"_ZN4llvm38initializeSimpleRegisterCoalescingPassERNS_12PassRegistryE", "llvm::initializeSimpleRegisterCoalescingPass(llvm::PassRegistry&)"},
-    {"_ZThn32_NK4llvm24SimpleRegisterCoalescing16getAnalysisUsageERNS_13AnalysisUsageE", "non-virtual thunk to llvm::SimpleRegisterCoalescing::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNK4llvm24SimpleRegisterCoalescing16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::SimpleRegisterCoalescing::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm24SimpleRegisterCoalescing20AdjustCopiesBackFromERKNS_13CoalescerPairEPNS_12MachineInstrE", "llvm::SimpleRegisterCoalescing::AdjustCopiesBackFrom(llvm::CoalescerPair const&, llvm::MachineInstr*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing25TrimLiveIntervalToLastUseENS_9SlotIndexEPNS_17MachineBasicBlockERNS_12LiveIntervalEPKNS_9LiveRangeE", "llvm::SimpleRegisterCoalescing::TrimLiveIntervalToLastUse(llvm::SlotIndex, llvm::MachineBasicBlock*, llvm::LiveInterval&, llvm::LiveRange const*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing20HasOtherReachingDefsERNS_12LiveIntervalES2_PNS_6VNInfoES4_", "llvm::SimpleRegisterCoalescing::HasOtherReachingDefs(llvm::LiveInterval&, llvm::LiveInterval&, llvm::VNInfo*, llvm::VNInfo*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing24RemoveCopyByCommutingDefERKNS_13CoalescerPairEPNS_12MachineInstrE", "llvm::SimpleRegisterCoalescing::RemoveCopyByCommutingDef(llvm::CoalescerPair const&, llvm::MachineInstr*)"},
-    {"_ZNK4llvm24SimpleRegisterCoalescing15lastRegisterUseENS_9SlotIndexES1_jRS1_", "llvm::SimpleRegisterCoalescing::lastRegisterUse(llvm::SlotIndex, llvm::SlotIndex, unsigned int, llvm::SlotIndex&) const"},
-    {"_Z21isSameOrFallThroughBBPN4llvm17MachineBasicBlockES1_PKNS_15TargetInstrInfoE", "isSameOrFallThroughBB(llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::TargetInstrInfo const*)"},
-    {"_Z11removeRangeRN4llvm12LiveIntervalENS_9SlotIndexES2_PNS_13LiveIntervalsEPKNS_18TargetRegisterInfoE", "removeRange(llvm::LiveInterval&, llvm::SlotIndex, llvm::SlotIndex, llvm::LiveIntervals*, llvm::TargetRegisterInfo const*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing23ReMaterializeTrivialDefERNS_12LiveIntervalEbjjPNS_12MachineInstrE", "llvm::SimpleRegisterCoalescing::ReMaterializeTrivialDef(llvm::LiveInterval&, bool, unsigned int, unsigned int, llvm::MachineInstr*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing14RemoveCopyFlagEjPKNS_12MachineInstrE", "llvm::SimpleRegisterCoalescing::RemoveCopyFlag(unsigned int, llvm::MachineInstr const*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing17UpdateRegDefsUsesERKNS_13CoalescerPairE", "llvm::SimpleRegisterCoalescing::UpdateRegDefsUses(llvm::CoalescerPair const&)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing24ShortenDeadCopyLiveRangeERNS_12LiveIntervalEPNS_12MachineInstrE", "llvm::SimpleRegisterCoalescing::ShortenDeadCopyLiveRange(llvm::LiveInterval&, llvm::MachineInstr*)"},
-    {"_Z21removeIntervalIfEmptyRN4llvm12LiveIntervalEPNS_13LiveIntervalsEPKNS_18TargetRegisterInfoE", "removeIntervalIfEmpty(llvm::LiveInterval&, llvm::LiveIntervals*, llvm::TargetRegisterInfo const*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing13RemoveDeadDefERNS_12LiveIntervalEPNS_12MachineInstrE", "llvm::SimpleRegisterCoalescing::RemoveDeadDef(llvm::LiveInterval&, llvm::MachineInstr*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing27ShortenDeadCopySrcLiveRangeERNS_12LiveIntervalEPNS_12MachineInstrE", "llvm::SimpleRegisterCoalescing::ShortenDeadCopySrcLiveRange(llvm::LiveInterval&, llvm::MachineInstr*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing21isWinToJoinCrossClassEjjPKNS_19TargetRegisterClassES3_S3_", "llvm::SimpleRegisterCoalescing::isWinToJoinCrossClass(unsigned int, unsigned int, llvm::TargetRegisterClass const*, llvm::TargetRegisterClass const*, llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing8JoinCopyERNS_7CopyRecERb", "llvm::SimpleRegisterCoalescing::JoinCopy(llvm::CopyRec&, bool&)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing13JoinIntervalsERNS_13CoalescerPairE", "llvm::SimpleRegisterCoalescing::JoinIntervals(llvm::CoalescerPair&)"},
-    {"_Z17ComputeUltimateVNPN4llvm6VNInfoERNS_11SmallVectorIS1_Lj16EEERNS_8DenseMapIS1_S1_NS_12DenseMapInfoIS1_EES7_EES9_RNS2_IiLj16EEESB_", "ComputeUltimateVN(llvm::VNInfo*, llvm::SmallVector<llvm::VNInfo*, 16u>&, llvm::DenseMap<llvm::VNInfo*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::VNInfo*>, llvm::DenseMapInfo<llvm::VNInfo*> >&, llvm::DenseMap<llvm::VNInfo*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::VNInfo*>, llvm::DenseMapInfo<llvm::VNInfo*> >&, llvm::SmallVector<int, 16u>&, llvm::SmallVector<int, 16u>&)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing17CopyCoalesceInMBBEPNS_17MachineBasicBlockERSt6vectorINS_7CopyRecESaIS4_EE", "llvm::SimpleRegisterCoalescing::CopyCoalesceInMBB(llvm::MachineBasicBlock*, std::vector<llvm::CopyRec, std::allocator<llvm::CopyRec> >&)"},
-    {"_ZN4llvm24SimpleRegisterCoalescing13joinIntervalsEv", "llvm::SimpleRegisterCoalescing::joinIntervals()"},
-    {"_ZNK4llvm24SimpleRegisterCoalescing24differingRegisterClassesEjj", "llvm::SimpleRegisterCoalescing::differingRegisterClasses(unsigned int, unsigned int) const"},
-    {"_ZN4llvm24SimpleRegisterCoalescing13releaseMemoryEv", "llvm::SimpleRegisterCoalescing::releaseMemory()"},
-    {"_ZN4llvm24SimpleRegisterCoalescing20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::SimpleRegisterCoalescing::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZNK4llvm24SimpleRegisterCoalescing5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::SimpleRegisterCoalescing::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZN4llvm29createSimpleRegisterCoalescerEv", "llvm::createSimpleRegisterCoalescer()"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPSt4pairIjPN4llvm17MachineBasicBlockEESt6vectorIS6_SaIS6_EEEElN12_GLOBAL__N_115DepthMBBCompareEEvT_SE_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, long, (anonymous namespace)::DepthMBBCompare>(__gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, __gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, long, (anonymous namespace)::DepthMBBCompare)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIjPN4llvm17MachineBasicBlockEESt6vectorIS6_SaIS6_EEEEN12_GLOBAL__N_115DepthMBBCompareEEvT_SE_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, (anonymous namespace)::DepthMBBCompare>(__gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, __gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, (anonymous namespace)::DepthMBBCompare)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPSt4pairIjPN4llvm17MachineBasicBlockEESt6vectorIS6_SaIS6_EEEElS6_N12_GLOBAL__N_115DepthMBBCompareEEvT_T0_SF_T1_T2_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, long, std::pair<unsigned int, llvm::MachineBasicBlock*>, (anonymous namespace)::DepthMBBCompare>(__gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, long, long, std::pair<unsigned int, llvm::MachineBasicBlock*>, (anonymous namespace)::DepthMBBCompare)"},
-    {"_ZN4llvm13LiveIntervals14removeIntervalEj", "llvm::LiveIntervals::removeInterval(unsigned int)"},
-    {"_ZN4llvm24SimpleRegisterCoalescingD1Ev", "llvm::SimpleRegisterCoalescing::~SimpleRegisterCoalescing()"},
-    {"_ZN4llvm24SimpleRegisterCoalescingD0Ev", "llvm::SimpleRegisterCoalescing::~SimpleRegisterCoalescing()"},
-    {"_ZN4llvm24SimpleRegisterCoalescing16coalesceFunctionERNS_15MachineFunctionERNS_13RegallocQueryE", "llvm::SimpleRegisterCoalescing::coalesceFunction(llvm::MachineFunction&, llvm::RegallocQuery&)"},
-    {"_ZThn32_N4llvm24SimpleRegisterCoalescingD1Ev", "non-virtual thunk to llvm::SimpleRegisterCoalescing::~SimpleRegisterCoalescing()"},
-    {"_ZThn32_N4llvm24SimpleRegisterCoalescingD0Ev", "non-virtual thunk to llvm::SimpleRegisterCoalescing::~SimpleRegisterCoalescing()"},
-    {"_ZThn32_N4llvm24SimpleRegisterCoalescing16coalesceFunctionERNS_15MachineFunctionERNS_13RegallocQueryE", "non-virtual thunk to llvm::SimpleRegisterCoalescing::coalesceFunction(llvm::MachineFunction&, llvm::RegallocQuery&)"},
-    {"_ZN4llvm17RegisterCoalescer5resetERNS_15MachineFunctionE", "llvm::RegisterCoalescer::reset(llvm::MachineFunction&)"},
-    {"_ZNSt6vectorISt4pairIjPN4llvm17MachineBasicBlockEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int, llvm::MachineBasicBlock*>*, std::vector<std::pair<unsigned int, llvm::MachineBasicBlock*>, std::allocator<std::pair<unsigned int, llvm::MachineBasicBlock*> > > >, std::pair<unsigned int, llvm::MachineBasicBlock*> const&)"},
-    {"_ZNSt6vectorIN4llvm7CopyRecESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::CopyRec, std::allocator<llvm::CopyRec> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::CopyRec*, std::vector<llvm::CopyRec, std::allocator<llvm::CopyRec> > >, llvm::CopyRec const&)"},
-    {"_ZN4llvm8DenseMapIPNS_6VNInfoES2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<llvm::VNInfo*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::VNInfo*>, llvm::DenseMapInfo<llvm::VNInfo*> >::InsertIntoBucket(llvm::VNInfo* const&, llvm::VNInfo* const&, std::pair<llvm::VNInfo*, llvm::VNInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_6VNInfoES2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<llvm::VNInfo*, llvm::VNInfo*, llvm::DenseMapInfo<llvm::VNInfo*>, llvm::DenseMapInfo<llvm::VNInfo*> >::grow(unsigned int)"},
-    {"_ZN4llvm24SimpleRegisterCoalescingD2Ev", "llvm::SimpleRegisterCoalescing::~SimpleRegisterCoalescing()"},
-    {"_ZN4llvm24SimpleRegisterCoalescingC2Ev", "llvm::SimpleRegisterCoalescing::SimpleRegisterCoalescing()"},
-    {"_ZNK4llvm17RegisterCoalescer16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::RegisterCoalescer::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm15callDefaultCtorINS_24SimpleRegisterCoalescingEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::SimpleRegisterCoalescing>()"},
-    {"_ZN4llvm16createSjLjEHPassEPKNS_14TargetLoweringE", "llvm::createSjLjEHPass(llvm::TargetLowering const*)"},
-    {"_ZN12_GLOBAL__N_110SjLjEHPassD1Ev", "(anonymous namespace)::SjLjEHPass::~SjLjEHPass()"},
-    {"_ZN12_GLOBAL__N_110SjLjEHPassD0Ev", "(anonymous namespace)::SjLjEHPass::~SjLjEHPass()"},
-    {"_ZNK12_GLOBAL__N_110SjLjEHPass11getPassNameEv", "(anonymous namespace)::SjLjEHPass::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_110SjLjEHPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::SjLjEHPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_110SjLjEHPass16doInitializationERN4llvm6ModuleE", "(anonymous namespace)::SjLjEHPass::doInitialization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_110SjLjEHPass13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::SjLjEHPass::runOnFunction(llvm::Function&)"},
-    {"_Z16MarkBlocksLiveInPN4llvm10BasicBlockERSt3setIS1_St4lessIS1_ESaIS1_EE", "MarkBlocksLiveIn(llvm::BasicBlock*, std::set<llvm::BasicBlock*, std::less<llvm::BasicBlock*>, std::allocator<llvm::BasicBlock*> >&)"},
-    {"_ZN4llvm8ICmpInstC2EPNS_11InstructionENS_7CmpInst9PredicateEPNS_5ValueES6_RKNS_5TwineE", "llvm::ICmpInst::ICmpInst(llvm::Instruction*, llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm17GetElementPtrInstC2IPPNS_5ValueEEES3_T_S5_jRKNS_5TwineEPNS_11InstructionE", "llvm::GetElementPtrInst::GetElementPtrInst<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<llvm::BasicBlock*, llvm::BasicBlock*, std::_Identity<llvm::BasicBlock*>, std::less<llvm::BasicBlock*>, std::allocator<llvm::BasicBlock*> >::_M_erase(std::_Rb_tree_node<llvm::BasicBlock*>*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<llvm::BasicBlock*, llvm::BasicBlock*, std::_Identity<llvm::BasicBlock*>, std::less<llvm::BasicBlock*>, std::allocator<llvm::BasicBlock*> >::_M_insert_unique(llvm::BasicBlock* const&)"},
-    {"_ZN4llvm16ExtractValueInstC2IPjEEPNS_5ValueET_S5_RKNS_5TwineEPNS_11InstructionE", "llvm::ExtractValueInst::ExtractValueInst<unsigned int*>(llvm::Value*, unsigned int*, unsigned int*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm25initializeSlotIndexesPassERNS_12PassRegistryE", "llvm::initializeSlotIndexesPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm14IndexListEntry16getEmptyKeyEntryEv", "llvm::IndexListEntry::getEmptyKeyEntry()"},
-    {"_ZN4llvm14IndexListEntry20getTombstoneKeyEntryEv", "llvm::IndexListEntry::getTombstoneKeyEntry()"},
-    {"_ZNK4llvm11SlotIndexes16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::SlotIndexes::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm11SlotIndexes13releaseMemoryEv", "llvm::SlotIndexes::releaseMemory()"},
-    {"_ZN4llvm11SlotIndexes20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::SlotIndexes::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm11SlotIndexes15renumberIndexesEv", "llvm::SlotIndexes::renumberIndexes()"},
-    {"_ZNK4llvm11SlotIndexes4dumpEv", "llvm::SlotIndexes::dump() const"},
-    {"_ZNK4llvm9SlotIndex5printERNS_11raw_ostreamE", "llvm::SlotIndex::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm9SlotIndex4dumpEv", "llvm::SlotIndex::dump() const"},
-    {"_ZN4llvm14object_creatorIN12_GLOBAL__N_123TombstoneIndexListEntryEEEPvv", "void* llvm::object_creator<(anonymous namespace)::TombstoneIndexListEntry>()"},
-    {"_ZN4llvm14object_deleterIN12_GLOBAL__N_123TombstoneIndexListEntryEE4callEPv", "llvm::object_deleter<(anonymous namespace)::TombstoneIndexListEntry>::call(void*)"},
-    {"_ZN4llvm14object_creatorIN12_GLOBAL__N_119EmptyIndexListEntryEEEPvv", "void* llvm::object_creator<(anonymous namespace)::EmptyIndexListEntry>()"},
-    {"_ZN4llvm14object_deleterIN12_GLOBAL__N_119EmptyIndexListEntryEE4callEPv", "llvm::object_deleter<(anonymous namespace)::EmptyIndexListEntry>::call(void*)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrENS_9SlotIndexENS_12DenseMapInfoIS3_EENS5_IS4_EEE6insertERKSt4pairIS3_S4_E", "llvm::DenseMap<llvm::MachineInstr const*, llvm::SlotIndex, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::SlotIndex> >::insert(std::pair<llvm::MachineInstr const*, llvm::SlotIndex> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_17MachineBasicBlockESt4pairINS_9SlotIndexES5_ENS_12DenseMapInfoIS3_EENS7_IS6_EEE6insertERKS4_IS3_S6_E", "llvm::DenseMap<llvm::MachineBasicBlock const*, std::pair<llvm::SlotIndex, llvm::SlotIndex>, llvm::DenseMapInfo<llvm::MachineBasicBlock const*>, llvm::DenseMapInfo<std::pair<llvm::SlotIndex, llvm::SlotIndex> > >::insert(std::pair<llvm::MachineBasicBlock const*, std::pair<llvm::SlotIndex, llvm::SlotIndex> > const&)"},
-    {"_ZN4llvm11SlotIndexesD1Ev", "llvm::SlotIndexes::~SlotIndexes()"},
-    {"_ZN4llvm11SlotIndexesD0Ev", "llvm::SlotIndexes::~SlotIndexes()"},
-    {"_ZN4llvm8DenseMapIPKNS_17MachineBasicBlockESt4pairINS_9SlotIndexES5_ENS_12DenseMapInfoIS3_EENS7_IS6_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock const*, std::pair<llvm::SlotIndex, llvm::SlotIndex>, llvm::DenseMapInfo<llvm::MachineBasicBlock const*>, llvm::DenseMapInfo<std::pair<llvm::SlotIndex, llvm::SlotIndex> > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrENS_9SlotIndexENS_12DenseMapInfoIS3_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineInstr const*, llvm::SlotIndex, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::SlotIndex> >::shrink_and_clear()"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm9SlotIndexEPNS3_17MachineBasicBlockEESt6vectorIS7_SaIS7_EEEElNS3_14Idx2MBBCompareEEvT_SE_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, long, llvm::Idx2MBBCompare>(__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, long, llvm::Idx2MBBCompare)"},
-    {"_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm9SlotIndexEPNS3_17MachineBasicBlockEESt6vectorIS7_SaIS7_EEEENS3_14Idx2MBBCompareEEvT_SE_T0_", "void std::__final_insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, llvm::Idx2MBBCompare>(__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, llvm::Idx2MBBCompare)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm9SlotIndexEPNS3_17MachineBasicBlockEESt6vectorIS7_SaIS7_EEEENS3_14Idx2MBBCompareEEvT_SE_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, llvm::Idx2MBBCompare>(__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, llvm::Idx2MBBCompare)"},
-    {"_ZSt21__unguarded_partitionIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm9SlotIndexEPNS3_17MachineBasicBlockEESt6vectorIS7_SaIS7_EEEES7_NS3_14Idx2MBBCompareEET_SE_SE_T0_T1_", "__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > > std::__unguarded_partition<__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, llvm::Idx2MBBCompare>(__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, llvm::Idx2MBBCompare)"},
-    {"_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm9SlotIndexEPNS3_17MachineBasicBlockEESt6vectorIS7_SaIS7_EEEENS3_14Idx2MBBCompareEEvT_SE_SE_T0_", "void std::__heap_select<__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, llvm::Idx2MBBCompare>(__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, llvm::Idx2MBBCompare)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm9SlotIndexEPNS3_17MachineBasicBlockEESt6vectorIS7_SaIS7_EEEElS7_NS3_14Idx2MBBCompareEEvT_T0_SF_T1_T2_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, long, std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, llvm::Idx2MBBCompare>(__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, long, long, std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, llvm::Idx2MBBCompare)"},
-    {"_ZNSt6vectorISt4pairIN4llvm9SlotIndexEPNS1_17MachineBasicBlockEESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>*, std::vector<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> > > >, std::pair<llvm::SlotIndex, llvm::MachineBasicBlock*> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_17MachineBasicBlockESt4pairINS_9SlotIndexES5_ENS_12DenseMapInfoIS3_EENS7_IS6_EEE16InsertIntoBucketERKS3_RKS6_PS4_IS3_S6_E", "llvm::DenseMap<llvm::MachineBasicBlock const*, std::pair<llvm::SlotIndex, llvm::SlotIndex>, llvm::DenseMapInfo<llvm::MachineBasicBlock const*>, llvm::DenseMapInfo<std::pair<llvm::SlotIndex, llvm::SlotIndex> > >::InsertIntoBucket(llvm::MachineBasicBlock const* const&, std::pair<llvm::SlotIndex, llvm::SlotIndex> const&, std::pair<llvm::MachineBasicBlock const*, std::pair<llvm::SlotIndex, llvm::SlotIndex> >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_17MachineBasicBlockESt4pairINS_9SlotIndexES5_ENS_12DenseMapInfoIS3_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock const*, std::pair<llvm::SlotIndex, llvm::SlotIndex>, llvm::DenseMapInfo<llvm::MachineBasicBlock const*>, llvm::DenseMapInfo<std::pair<llvm::SlotIndex, llvm::SlotIndex> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrENS_9SlotIndexENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<llvm::MachineInstr const*, llvm::SlotIndex, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::SlotIndex> >::InsertIntoBucket(llvm::MachineInstr const* const&, llvm::SlotIndex const&, std::pair<llvm::MachineInstr const*, llvm::SlotIndex>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MachineInstrENS_9SlotIndexENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::MachineInstr const*, llvm::SlotIndex, llvm::DenseMapInfo<llvm::MachineInstr const*>, llvm::DenseMapInfo<llvm::SlotIndex> >::grow(unsigned int)"},
-    {"_ZN4llvm15callDefaultCtorINS_11SlotIndexesEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::SlotIndexes>()"},
-    {"_ZN4llvm11SlotIndexesC2Ev", "llvm::SlotIndexes::SlotIndexes()"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_111SpillerNameELb0ENS0_6parserIS3_EEED1Ev", "llvm::cl::opt<(anonymous namespace)::SpillerName, false, llvm::cl::parser<(anonymous namespace)::SpillerName> >::~opt()"},
-    {"_ZN4llvm7SpillerD0Ev", "llvm::Spiller::~Spiller()"},
-    {"_ZN4llvm7SpillerD1Ev", "llvm::Spiller::~Spiller()"},
-    {"_ZN4llvm7SpillerD2Ev", "llvm::Spiller::~Spiller()"},
-    {"_ZN4llvm13createSpillerERNS_19MachineFunctionPassERNS_15MachineFunctionERNS_10VirtRegMapE", "llvm::createSpiller(llvm::MachineFunctionPass&, llvm::MachineFunction&, llvm::VirtRegMap&)"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_111SpillerNameELb0ENS0_6parserIS3_EEE16handleOccurrenceEjNS_9StringRefES7_", "llvm::cl::opt<(anonymous namespace)::SpillerName, false, llvm::cl::parser<(anonymous namespace)::SpillerName> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_111SpillerNameELb0ENS0_6parserIS3_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<(anonymous namespace)::SpillerName, false, llvm::cl::parser<(anonymous namespace)::SpillerName> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_111SpillerNameELb0ENS0_6parserIS3_EEE14getOptionWidthEv", "llvm::cl::opt<(anonymous namespace)::SpillerName, false, llvm::cl::parser<(anonymous namespace)::SpillerName> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_111SpillerNameELb0ENS0_6parserIS3_EEE15printOptionInfoEm", "llvm::cl::opt<(anonymous namespace)::SpillerName, false, llvm::cl::parser<(anonymous namespace)::SpillerName> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_111SpillerNameELb0ENS0_6parserIS3_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<(anonymous namespace)::SpillerName, false, llvm::cl::parser<(anonymous namespace)::SpillerName> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_111SpillerNameELb0ENS0_6parserIS3_EEED0Ev", "llvm::cl::opt<(anonymous namespace)::SpillerName, false, llvm::cl::parser<(anonymous namespace)::SpillerName> >::~opt()"},
-    {"_ZN4llvm2cl6parserIN12_GLOBAL__N_111SpillerNameEED1Ev", "llvm::cl::parser<(anonymous namespace)::SpillerName>::~parser()"},
-    {"_ZN4llvm2cl6parserIN12_GLOBAL__N_111SpillerNameEED0Ev", "llvm::cl::parser<(anonymous namespace)::SpillerName>::~parser()"},
-    {"_ZNK4llvm2cl6parserIN12_GLOBAL__N_111SpillerNameEE13getNumOptionsEv", "llvm::cl::parser<(anonymous namespace)::SpillerName>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserIN12_GLOBAL__N_111SpillerNameEE9getOptionEj", "llvm::cl::parser<(anonymous namespace)::SpillerName>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserIN12_GLOBAL__N_111SpillerNameEE14getDescriptionEj", "llvm::cl::parser<(anonymous namespace)::SpillerName>::getDescription(unsigned int) const"},
-    {"_ZN12_GLOBAL__N_115StandardSpillerD1Ev", "(anonymous namespace)::StandardSpiller::~StandardSpiller()"},
-    {"_ZN12_GLOBAL__N_115StandardSpillerD0Ev", "(anonymous namespace)::StandardSpiller::~StandardSpiller()"},
-    {"_ZN12_GLOBAL__N_115StandardSpiller5spillEPN4llvm12LiveIntervalERNS1_15SmallVectorImplIS3_EERKS5_", "(anonymous namespace)::StandardSpiller::spill(llvm::LiveInterval*, llvm::SmallVectorImpl<llvm::LiveInterval*>&, llvm::SmallVectorImpl<llvm::LiveInterval*> const&)"},
-    {"_ZN12_GLOBAL__N_114TrivialSpillerD1Ev", "(anonymous namespace)::TrivialSpiller::~TrivialSpiller()"},
-    {"_ZN12_GLOBAL__N_114TrivialSpillerD0Ev", "(anonymous namespace)::TrivialSpiller::~TrivialSpiller()"},
-    {"_ZN12_GLOBAL__N_114TrivialSpiller5spillEPN4llvm12LiveIntervalERNS1_15SmallVectorImplIS3_EERKS5_", "(anonymous namespace)::TrivialSpiller::spill(llvm::LiveInterval*, llvm::SmallVectorImpl<llvm::LiveInterval*>&, llvm::SmallVectorImpl<llvm::LiveInterval*> const&)"},
-    {"_ZN12_GLOBAL__N_111SpillerBaseD1Ev", "(anonymous namespace)::SpillerBase::~SpillerBase()"},
-    {"_ZN12_GLOBAL__N_111SpillerBaseD0Ev", "(anonymous namespace)::SpillerBase::~SpillerBase()"},
-    {"_ZN4llvm15SmallVectorImplIPNS_12LiveIntervalEE6insertIN9__gnu_cxx17__normal_iteratorIPS2_St6vectorIS2_SaIS2_EEEEEES7_S7_T_SC_", "llvm::LiveInterval** llvm::SmallVectorImpl<llvm::LiveInterval*>::insert<__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > > >(llvm::LiveInterval**, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >)"},
-    {"_ZN4llvm11SlotIndexes24insertMachineInstrInMapsEPNS_12MachineInstrEPb", "llvm::SlotIndexes::insertMachineInstrInMaps(llvm::MachineInstr*, bool*)"},
-    {"_ZN4llvm28initializeStackProtectorPassERNS_12PassRegistryE", "llvm::initializeStackProtectorPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm24createStackProtectorPassEPKNS_14TargetLoweringE", "llvm::createStackProtectorPass(llvm::TargetLowering const*)"},
-    {"_ZN12_GLOBAL__N_114StackProtectorD1Ev", "(anonymous namespace)::StackProtector::~StackProtector()"},
-    {"_ZN12_GLOBAL__N_114StackProtectorD0Ev", "(anonymous namespace)::StackProtector::~StackProtector()"},
-    {"_ZNK12_GLOBAL__N_114StackProtector16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::StackProtector::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114StackProtector13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::StackProtector::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_114StackProtectorEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::StackProtector>()"},
-    {"_ZN4llvm8ICmpInstC2ERNS_10BasicBlockENS_7CmpInst9PredicateEPNS_5ValueES6_RKNS_5TwineE", "llvm::ICmpInst::ICmpInst(llvm::BasicBlock&, llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm31initializeStackSlotColoringPassERNS_12PassRegistryE", "llvm::initializeStackSlotColoringPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm27createStackSlotColoringPassEb", "llvm::createStackSlotColoringPass(bool)"},
-    {"_ZN12_GLOBAL__N_117StackSlotColoringD1Ev", "(anonymous namespace)::StackSlotColoring::~StackSlotColoring()"},
-    {"_ZN12_GLOBAL__N_117StackSlotColoringD0Ev", "(anonymous namespace)::StackSlotColoring::~StackSlotColoring()"},
-    {"_ZNK12_GLOBAL__N_117StackSlotColoring11getPassNameEv", "(anonymous namespace)::StackSlotColoring::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_117StackSlotColoring16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::StackSlotColoring::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_117StackSlotColoring20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::StackSlotColoring::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZSt21__inplace_stable_sortIN9__gnu_cxx17__normal_iteratorIPPN4llvm12LiveIntervalESt6vectorIS4_SaIS4_EEEEN12_GLOBAL__N_114IntervalSorterEEvT_SC_T0_", "void std::__inplace_stable_sort<__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, (anonymous namespace)::IntervalSorter>(__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, (anonymous namespace)::IntervalSorter)"},
-    {"_ZSt22__stable_sort_adaptiveIN9__gnu_cxx17__normal_iteratorIPPN4llvm12LiveIntervalESt6vectorIS4_SaIS4_EEEES5_lN12_GLOBAL__N_114IntervalSorterEEvT_SC_T0_T1_T2_", "void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, llvm::LiveInterval**, long, (anonymous namespace)::IntervalSorter>(__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, llvm::LiveInterval**, long, (anonymous namespace)::IntervalSorter)"},
-    {"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPPN4llvm12LiveIntervalESt6vectorIS4_SaIS4_EEEES5_N12_GLOBAL__N_114IntervalSorterEEvT_SC_T0_T1_", "void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, llvm::LiveInterval**, (anonymous namespace)::IntervalSorter>(__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, llvm::LiveInterval**, (anonymous namespace)::IntervalSorter)"},
-    {"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPPN4llvm12LiveIntervalESt6vectorIS4_SaIS4_EEEElS5_N12_GLOBAL__N_114IntervalSorterEEvT_SC_SC_T0_SD_T1_SD_T2_", "void std::__merge_adaptive<__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, long, llvm::LiveInterval**, (anonymous namespace)::IntervalSorter>(__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, long, long, llvm::LiveInterval**, long, (anonymous namespace)::IntervalSorter)"},
-    {"_ZSt22__merge_without_bufferIN9__gnu_cxx17__normal_iteratorIPPN4llvm12LiveIntervalESt6vectorIS4_SaIS4_EEEElN12_GLOBAL__N_114IntervalSorterEEvT_SC_SC_T0_SD_T1_", "void std::__merge_without_buffer<__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, long, (anonymous namespace)::IntervalSorter>(__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, long, long, (anonymous namespace)::IntervalSorter)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_117StackSlotColoringEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::StackSlotColoring>()"},
-    {"_ZN4llvm15SmallVectorImplINS_8SmallSetIjLj4EEEED2Ev", "llvm::SmallVectorImpl<llvm::SmallSet<unsigned int, 4u> >::~SmallVectorImpl()"},
-    {"_ZN4llvm15SmallVectorImplINS_8SmallSetIjLj4EEEE9push_backERKS2_", "llvm::SmallVectorImpl<llvm::SmallSet<unsigned int, 4u> >::push_back(llvm::SmallSet<unsigned int, 4u> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_8SmallSetIjLj4EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SmallSet<unsigned int, 4u>, false>::grow(unsigned long)"},
-    {"_ZSt24__uninitialized_copy_auxIPN4llvm8SmallSetIjLj4EEES3_ET0_T_S5_S4_St12__false_type", "llvm::SmallSet<unsigned int, 4u>* std::__uninitialized_copy_aux<llvm::SmallSet<unsigned int, 4u>*, llvm::SmallSet<unsigned int, 4u>*>(llvm::SmallSet<unsigned int, 4u>*, llvm::SmallSet<unsigned int, 4u>*, llvm::SmallSet<unsigned int, 4u>*, std::__false_type)"},
-    {"_ZNSt8_Rb_treeIjjSt9_IdentityIjESt4lessIjESaIjEE7_M_copyEPKSt13_Rb_tree_nodeIjEPS7_", "std::_Rb_tree<unsigned int, unsigned int, std::_Identity<unsigned int>, std::less<unsigned int>, std::allocator<unsigned int> >::_M_copy(std::_Rb_tree_node<unsigned int> const*, std::_Rb_tree_node<unsigned int>*)"},
-    {"_ZN4llvm10VirtRegMap22getFirstUnusedRegisterEPKNS_19TargetRegisterClassE", "llvm::VirtRegMap::getFirstUnusedRegister(llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm8DenseMapIPKNS_19TargetRegisterClassENS_9BitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::TargetRegisterClass const*, llvm::BitVector, llvm::DenseMapInfo<llvm::TargetRegisterClass const*>, llvm::DenseMapInfo<llvm::BitVector> >::FindAndConstruct(llvm::TargetRegisterClass const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_19TargetRegisterClassENS_9BitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<llvm::TargetRegisterClass const*, llvm::BitVector, llvm::DenseMapInfo<llvm::TargetRegisterClass const*>, llvm::DenseMapInfo<llvm::BitVector> >::InsertIntoBucket(llvm::TargetRegisterClass const* const&, llvm::BitVector const&, std::pair<llvm::TargetRegisterClass const*, llvm::BitVector>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_19TargetRegisterClassENS_9BitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::TargetRegisterClass const*, llvm::BitVector, llvm::DenseMapInfo<llvm::TargetRegisterClass const*>, llvm::DenseMapInfo<llvm::BitVector> >::grow(unsigned int)"},
-    {"_ZSt8__rotateIN9__gnu_cxx17__normal_iteratorIPPN4llvm12LiveIntervalESt6vectorIS4_SaIS4_EEEEEvT_SA_SA_St26random_access_iterator_tag", "void std::__rotate<__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > > >(__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, __gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, std::random_access_iterator_tag)"},
-    {"_ZN4llvm11SmallVectorINS0_IiLj4EEELj16EEC2EjRKS1_", "llvm::SmallVector<llvm::SmallVector<int, 4u>, 16u>::SmallVector(unsigned int, llvm::SmallVector<int, 4u> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11SmallVectorIiLj4EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SmallVector<int, 4u>, false>::grow(unsigned long)"},
-    {"_ZN4llvm15SmallVectorImplIiEaSERKS1_", "llvm::SmallVectorImpl<int>::operator=(llvm::SmallVectorImpl<int> const&)"},
-    {"_ZN4llvm11SmallVectorIfLj16EEC2EjRKf", "llvm::SmallVector<float, 16u>::SmallVector(unsigned int, float const&)"},
-    {"_ZN4llvm11SmallVectorIiLj16EEC2EjRKi", "llvm::SmallVector<int, 16u>::SmallVector(unsigned int, int const&)"},
-    {"_ZN4llvm15SmallVectorImplINS_11SmallVectorIPNS_12LiveIntervalELj4EEEE6resizeEj", "llvm::SmallVectorImpl<llvm::SmallVector<llvm::LiveInterval*, 4u> >::resize(unsigned int)"},
-    {"_ZNSt6vectorIPN4llvm12LiveIntervalESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::LiveInterval**, std::vector<llvm::LiveInterval*, std::allocator<llvm::LiveInterval*> > >, llvm::LiveInterval* const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11SmallVectorIPNS_12LiveIntervalELj4EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SmallVector<llvm::LiveInterval*, 4u>, false>::grow(unsigned long)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_12LiveIntervalEEaSERKS3_", "llvm::SmallVectorImpl<llvm::LiveInterval*>::operator=(llvm::SmallVectorImpl<llvm::LiveInterval*> const&)"},
-    {"_ZN4llvm15SmallVectorImplINS_11SmallVectorIPNS_12MachineInstrELj8EEEE6resizeEj", "llvm::SmallVectorImpl<llvm::SmallVector<llvm::MachineInstr*, 8u> >::resize(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11SmallVectorIPNS_12MachineInstrELj8EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SmallVector<llvm::MachineInstr*, 8u>, false>::grow(unsigned long)"},
-    {"_ZN4llvm34initializeStrongPHIEliminationPassERNS_12PassRegistryE", "llvm::initializeStrongPHIEliminationPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_120StrongPHIEliminationEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::StrongPHIElimination>()"},
-    {"_ZN12_GLOBAL__N_120StrongPHIEliminationD1Ev", "(anonymous namespace)::StrongPHIElimination::~StrongPHIElimination()"},
-    {"_ZN12_GLOBAL__N_120StrongPHIEliminationD0Ev", "(anonymous namespace)::StrongPHIElimination::~StrongPHIElimination()"},
-    {"_ZNK12_GLOBAL__N_120StrongPHIElimination16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::StrongPHIElimination::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_120StrongPHIElimination20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::StrongPHIElimination::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_120StrongPHIElimination9unionRegsEjj", "(anonymous namespace)::StrongPHIElimination::unionRegs(unsigned int, unsigned int)"},
-    {"_ZN4llvm8DenseMapIjPN12_GLOBAL__N_120StrongPHIElimination4NodeENS_12DenseMapInfoIjEENS5_IS4_EEE5clearEv", "llvm::DenseMap<unsigned int, (anonymous namespace)::StrongPHIElimination::Node*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<(anonymous namespace)::StrongPHIElimination::Node*> >::clear()"},
-    {"_ZN12_GLOBAL__N_120StrongPHIElimination11getRegColorEj", "(anonymous namespace)::StrongPHIElimination::getRegColor(unsigned int)"},
-    {"_ZN12_GLOBAL__N_120StrongPHIElimination17MergeLIsAndRenameEjj", "(anonymous namespace)::StrongPHIElimination::MergeLIsAndRename(unsigned int, unsigned int)"},
-    {"_ZN4llvm8DenseMapIjPN12_GLOBAL__N_120StrongPHIElimination4NodeENS_12DenseMapInfoIjEENS5_IS4_EEEixERKj", "llvm::DenseMap<unsigned int, (anonymous namespace)::StrongPHIElimination::Node*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<(anonymous namespace)::StrongPHIElimination::Node*> >::operator[](unsigned int const&)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN4llvm12MachineInstrESt6vectorIS4_SaIS4_EEEElN12_GLOBAL__N_114MIIndexCompareEEvT_SC_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, long, (anonymous namespace)::MIIndexCompare>(__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, __gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, long, (anonymous namespace)::MIIndexCompare)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4llvm12MachineInstrESt6vectorIS4_SaIS4_EEEEN12_GLOBAL__N_114MIIndexCompareEEvT_SC_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, (anonymous namespace)::MIIndexCompare>(__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, __gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, (anonymous namespace)::MIIndexCompare)"},
-    {"_ZNK12_GLOBAL__N_114MIIndexCompareclEPKN4llvm12MachineInstrES4_", "(anonymous namespace)::MIIndexCompare::operator()(llvm::MachineInstr const*, llvm::MachineInstr const*) const"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4llvm12MachineInstrESt6vectorIS4_SaIS4_EEEElS4_N12_GLOBAL__N_114MIIndexCompareEEvT_T0_SD_T1_T2_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, long, llvm::MachineInstr*, (anonymous namespace)::MIIndexCompare>(__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, long, long, llvm::MachineInstr*, (anonymous namespace)::MIIndexCompare)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockESt6vectorIPNS_12MachineInstrESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE5clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > > >::clear()"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEPNS_12MachineInstrENS_12DenseMapInfoIS4_EENS7_IS6_EEE5clearEv", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, llvm::MachineInstr*, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::MachineInstr*> >::clear()"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEPNS_12MachineInstrENS_12DenseMapInfoIS4_EENS7_IS6_EEE16shrink_and_clearEv", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, llvm::MachineInstr*, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::MachineInstr*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEcNS_12DenseMapInfoIS4_EENS5_IcEEE5clearEv", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, char, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<char> >::clear()"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEcNS_12DenseMapInfoIS4_EENS5_IcEEE16shrink_and_clearEv", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, char, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<char> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockESt6vectorIPNS_12MachineInstrESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::MachineBasicBlock*, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > > >::shrink_and_clear()"},
-    {"_ZNK4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEPNS_12MachineInstrENS_12DenseMapInfoIS4_EENS7_IS6_EEE15LookupBucketForERKS4_RPS1_IS4_S6_E", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, llvm::MachineInstr*, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::MachineInstr*> >::LookupBucketFor(std::pair<llvm::MachineBasicBlock*, unsigned int> const&, std::pair<std::pair<llvm::MachineBasicBlock*, unsigned int>, llvm::MachineInstr*>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEPNS_12MachineInstrENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PS1_IS4_S6_E", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, llvm::MachineInstr*, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::MachineInstr*> >::InsertIntoBucket(std::pair<llvm::MachineBasicBlock*, unsigned int> const&, llvm::MachineInstr* const&, std::pair<std::pair<llvm::MachineBasicBlock*, unsigned int>, llvm::MachineInstr*>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEPNS_12MachineInstrENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, llvm::MachineInstr*, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::MachineInstr*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEcNS_12DenseMapInfoIS4_EENS5_IcEEE6insertERKS1_IS4_cE", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, char, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<char> >::insert(std::pair<std::pair<llvm::MachineBasicBlock*, unsigned int>, char> const&)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEcNS_12DenseMapInfoIS4_EENS5_IcEEE15LookupBucketForERKS4_RPS1_IS4_cE", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, char, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<char> >::LookupBucketFor(std::pair<llvm::MachineBasicBlock*, unsigned int> const&, std::pair<std::pair<llvm::MachineBasicBlock*, unsigned int>, char>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEcNS_12DenseMapInfoIS4_EENS5_IcEEE16InsertIntoBucketERKS4_RKcPS1_IS4_cE", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, char, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<char> >::InsertIntoBucket(std::pair<llvm::MachineBasicBlock*, unsigned int> const&, char const&, std::pair<std::pair<llvm::MachineBasicBlock*, unsigned int>, char>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_17MachineBasicBlockEjEcNS_12DenseMapInfoIS4_EENS5_IcEEE4growEj", "llvm::DenseMap<std::pair<llvm::MachineBasicBlock*, unsigned int>, char, llvm::DenseMapInfo<std::pair<llvm::MachineBasicBlock*, unsigned int> >, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm11df_iteratorIPNS_15DomTreeNodeBaseINS_17MachineBasicBlockEEENS_11SmallPtrSetIS4_Lj8EEELb0ENS_11GraphTraitsIS4_EEE6toNextEv", "llvm::df_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::toNext()"},
-    {"_ZNSt6vectorISt4pairIN4llvm14PointerIntPairIPNS1_15DomTreeNodeBaseINS1_17MachineBasicBlockEEELj1EjNS1_21PointerLikeTypeTraitsIS6_EEEEN9__gnu_cxx17__normal_iteratorIPS6_S_IS6_SaIS6_EEEEESaISG_EE13_M_insert_auxENSB_IPSG_SI_EERKSG_", "std::vector<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > >*, std::vector<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > > > > >, std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > > const&)"},
-    {"_ZNK4llvm13LiveIntervals14isLiveOutOfMBBERKNS_12LiveIntervalEPKNS_17MachineBasicBlockE", "llvm::LiveIntervals::isLiveOutOfMBB(llvm::LiveInterval const&, llvm::MachineBasicBlock const*) const"},
-    {"_ZN4llvm8DenseMapIjSt4pairIPNS_12MachineInstrEjENS_12DenseMapInfoIjEENS5_IS4_EEE16InsertIntoBucketERKjRKS4_PS1_IjS4_E", "llvm::DenseMap<unsigned int, std::pair<llvm::MachineInstr*, unsigned int>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::pair<llvm::MachineInstr*, unsigned int> > >::InsertIntoBucket(unsigned int const&, std::pair<llvm::MachineInstr*, unsigned int> const&, std::pair<unsigned int, std::pair<llvm::MachineInstr*, unsigned int> >*)"},
-    {"_ZN4llvm8DenseMapIjSt4pairIPNS_12MachineInstrEjENS_12DenseMapInfoIjEENS5_IS4_EEE4growEj", "llvm::DenseMap<unsigned int, std::pair<llvm::MachineInstr*, unsigned int>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::pair<llvm::MachineInstr*, unsigned int> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIjSt4pairIPNS_12MachineInstrEjENS_12DenseMapInfoIjEENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, std::pair<llvm::MachineInstr*, unsigned int>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::pair<llvm::MachineInstr*, unsigned int> > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockESt6vectorIPNS_12MachineInstrESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::MachineBasicBlock*, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > > >::FindAndConstruct(llvm::MachineBasicBlock* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockESt6vectorIPNS_12MachineInstrESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE16InsertIntoBucketERKS2_RKS7_PSt4pairIS2_S7_E", "llvm::DenseMap<llvm::MachineBasicBlock*, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > > >::InsertIntoBucket(llvm::MachineBasicBlock* const&, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > const&, std::pair<llvm::MachineBasicBlock*, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >*)"},
-    {"_ZN4llvm8DenseMapIPNS_17MachineBasicBlockESt6vectorIPNS_12MachineInstrESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE4growEj", "llvm::DenseMap<llvm::MachineBasicBlock*, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >, llvm::DenseMapInfo<llvm::MachineBasicBlock*>, llvm::DenseMapInfo<std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > > >::grow(unsigned int)"},
-    {"_ZN4llvm23createTailDuplicatePassEb", "llvm::createTailDuplicatePass(bool)"},
-    {"_ZN12_GLOBAL__N_117TailDuplicatePassD1Ev", "(anonymous namespace)::TailDuplicatePass::~TailDuplicatePass()"},
-    {"_ZN12_GLOBAL__N_117TailDuplicatePassD0Ev", "(anonymous namespace)::TailDuplicatePass::~TailDuplicatePass()"},
-    {"_ZNK12_GLOBAL__N_117TailDuplicatePass11getPassNameEv", "(anonymous namespace)::TailDuplicatePass::getPassName() const"},
-    {"_ZN12_GLOBAL__N_117TailDuplicatePass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::TailDuplicatePass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_Z10VerifyPHIsRN4llvm15MachineFunctionEb", "VerifyPHIs(llvm::MachineFunction&, bool)"},
-    {"_ZN12_GLOBAL__N_117TailDuplicatePass10ProcessPHIEPN4llvm12MachineInstrEPNS1_17MachineBasicBlockES5_RNS1_8DenseMapIjjNS1_12DenseMapInfoIjEES8_EERNS1_11SmallVectorISt4pairIjjELj4EEE", "(anonymous namespace)::TailDuplicatePass::ProcessPHI(llvm::MachineInstr*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >&, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u>&)"},
-    {"_ZN12_GLOBAL__N_117TailDuplicatePass20DuplicateInstructionEPN4llvm12MachineInstrEPNS1_17MachineBasicBlockES5_RNS1_15MachineFunctionERNS1_8DenseMapIjjNS1_12DenseMapInfoIjEESA_EE", "(anonymous namespace)::TailDuplicatePass::DuplicateInstruction(llvm::MachineInstr*, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::MachineFunction&, llvm::DenseMap<unsigned int, unsigned int, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN12_GLOBAL__N_117TailDuplicatePass17AddSSAUpdateEntryEjjPN4llvm17MachineBasicBlockE", "(anonymous namespace)::TailDuplicatePass::AddSSAUpdateEntry(unsigned int, unsigned int, llvm::MachineBasicBlock*)"},
-    {"_ZN4llvm8DenseMapIjSt6vectorISt4pairIPNS_17MachineBasicBlockEjESaIS5_EENS_12DenseMapInfoIjEENS8_IS7_EEE5clearEv", "llvm::DenseMap<unsigned int, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > > >::clear()"},
-    {"_ZN4llvm8DenseMapIjSt6vectorISt4pairIPNS_17MachineBasicBlockEjESaIS5_EENS_12DenseMapInfoIjEENS8_IS7_EEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIjSt6vectorISt4pairIPNS_17MachineBasicBlockEjESaIS5_EENS_12DenseMapInfoIjEENS8_IS7_EEE6insertERKS2_IjS7_E", "llvm::DenseMap<unsigned int, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > > >::insert(std::pair<unsigned int, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > > const&)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm17MachineBasicBlockEjESaIS4_EEC2ERKS6_", "std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > >::vector(std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > const&)"},
-    {"_ZN4llvm8DenseMapIjSt6vectorISt4pairIPNS_17MachineBasicBlockEjESaIS5_EENS_12DenseMapInfoIjEENS8_IS7_EEE16InsertIntoBucketERKjRKS7_PS2_IjS7_E", "llvm::DenseMap<unsigned int, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > > >::InsertIntoBucket(unsigned int const&, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > const&, std::pair<unsigned int, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > >*)"},
-    {"_ZN4llvm8DenseMapIjSt6vectorISt4pairIPNS_17MachineBasicBlockEjESaIS5_EENS_12DenseMapInfoIjEENS8_IS7_EEE4growEj", "llvm::DenseMap<unsigned int, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > >, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > > >::grow(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm17MachineBasicBlockEjESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::MachineBasicBlock*, unsigned int>*, std::vector<std::pair<llvm::MachineBasicBlock*, unsigned int>, std::allocator<std::pair<llvm::MachineBasicBlock*, unsigned int> > > >, std::pair<llvm::MachineBasicBlock*, unsigned int> const&)"},
-    {"_ZN4llvm14SmallSetVectorIPNS_17MachineBasicBlockELj8EEC2IN9__gnu_cxx17__normal_iteratorIPS2_St6vectorIS2_SaIS2_EEEEEET_SC_", "llvm::SmallSetVector<llvm::MachineBasicBlock*, 8u>::SmallSetVector<__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > > >(__gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::MachineBasicBlock**, std::vector<llvm::MachineBasicBlock*, std::allocator<llvm::MachineBasicBlock*> > >)"},
-    {"_ZNK4llvm19TargetInstrInfoImpl23ReplaceTailWithBranchToENS_14ilist_iteratorINS_12MachineInstrEEEPNS_17MachineBasicBlockE", "llvm::TargetInstrInfoImpl::ReplaceTailWithBranchTo(llvm::ilist_iterator<llvm::MachineInstr>, llvm::MachineBasicBlock*) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl18commuteInstructionEPNS_12MachineInstrEb", "llvm::TargetInstrInfoImpl::commuteInstruction(llvm::MachineInstr*, bool) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl21findCommutedOpIndicesEPNS_12MachineInstrERjS3_", "llvm::TargetInstrInfoImpl::findCommutedOpIndices(llvm::MachineInstr*, unsigned int&, unsigned int&) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl20PredicateInstructionEPNS_12MachineInstrERKNS_15SmallVectorImplINS_14MachineOperandEEE", "llvm::TargetInstrInfoImpl::PredicateInstruction(llvm::MachineInstr*, llvm::SmallVectorImpl<llvm::MachineOperand> const&) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl13reMaterializeERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEEjjPKS4_RKNS_18TargetRegisterInfoE", "llvm::TargetInstrInfoImpl::reMaterialize(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, unsigned int, llvm::MachineInstr const*, llvm::TargetRegisterInfo const&) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl16produceSameValueEPKNS_12MachineInstrES3_PKNS_19MachineRegisterInfoE", "llvm::TargetInstrInfoImpl::produceSameValue(llvm::MachineInstr const*, llvm::MachineInstr const*, llvm::MachineRegisterInfo const*) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl9duplicateEPNS_12MachineInstrERNS_15MachineFunctionE", "llvm::TargetInstrInfoImpl::duplicate(llvm::MachineInstr*, llvm::MachineFunction&) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl20canFoldMemoryOperandEPKNS_12MachineInstrERKNS_15SmallVectorImplIjEE", "llvm::TargetInstrInfoImpl::canFoldMemoryOperand(llvm::MachineInstr const*, llvm::SmallVectorImpl<unsigned int> const&) const"},
-    {"_Z11canFoldCopyPKN4llvm12MachineInstrEj", "canFoldCopy(llvm::MachineInstr const*, unsigned int)"},
-    {"_ZNK4llvm15TargetInstrInfo17foldMemoryOperandENS_14ilist_iteratorINS_12MachineInstrEEERKNS_15SmallVectorImplIjEEi", "llvm::TargetInstrInfo::foldMemoryOperand(llvm::ilist_iterator<llvm::MachineInstr>, llvm::SmallVectorImpl<unsigned int> const&, int) const"},
-    {"_ZNK4llvm15TargetInstrInfo17foldMemoryOperandENS_14ilist_iteratorINS_12MachineInstrEEERKNS_15SmallVectorImplIjEEPS2_", "llvm::TargetInstrInfo::foldMemoryOperand(llvm::ilist_iterator<llvm::MachineInstr>, llvm::SmallVectorImpl<unsigned int> const&, llvm::MachineInstr*) const"},
-    {"_ZNK4llvm15TargetInstrInfo40isReallyTriviallyReMaterializableGenericEPKNS_12MachineInstrEPNS_13AliasAnalysisE", "llvm::TargetInstrInfo::isReallyTriviallyReMaterializableGeneric(llvm::MachineInstr const*, llvm::AliasAnalysis*) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl20isSchedulingBoundaryEPKNS_12MachineInstrEPKNS_17MachineBasicBlockERKNS_15MachineFunctionE", "llvm::TargetInstrInfoImpl::isSchedulingBoundary(llvm::MachineInstr const*, llvm::MachineBasicBlock const*, llvm::MachineFunction const&) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl24usePreRAHazardRecognizerEv", "llvm::TargetInstrInfoImpl::usePreRAHazardRecognizer() const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl28CreateTargetHazardRecognizerEPKNS_13TargetMachineEPKNS_11ScheduleDAGE", "llvm::TargetInstrInfoImpl::CreateTargetHazardRecognizer(llvm::TargetMachine const*, llvm::ScheduleDAG const*) const"},
-    {"_ZNK4llvm19TargetInstrInfoImpl34CreateTargetPostRAHazardRecognizerEPKNS_18InstrItineraryDataEPKNS_11ScheduleDAGE", "llvm::TargetInstrInfoImpl::CreateTargetPostRAHazardRecognizer(llvm::InstrItineraryData const*, llvm::ScheduleDAG const*) const"},
-    {"_ZNK4llvm24ScheduleHazardRecognizer12atIssueLimitEv", "llvm::ScheduleHazardRecognizer::atIssueLimit() const"},
-    {"_ZN4llvm24ScheduleHazardRecognizer13getHazardTypeEPNS_5SUnitEi", "llvm::ScheduleHazardRecognizer::getHazardType(llvm::SUnit*, int)"},
-    {"_ZN4llvm24ScheduleHazardRecognizer5ResetEv", "llvm::ScheduleHazardRecognizer::Reset()"},
-    {"_ZN4llvm24ScheduleHazardRecognizer15EmitInstructionEPNS_5SUnitE", "llvm::ScheduleHazardRecognizer::EmitInstruction(llvm::SUnit*)"},
-    {"_ZN4llvm24ScheduleHazardRecognizer12AdvanceCycleEv", "llvm::ScheduleHazardRecognizer::AdvanceCycle()"},
-    {"_ZN4llvm24ScheduleHazardRecognizer11RecedeCycleEv", "llvm::ScheduleHazardRecognizer::RecedeCycle()"},
-    {"_ZN4llvm27TargetLoweringObjectFileELF10InitializeERNS_9MCContextERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileELF::Initialize(llvm::MCContext&, llvm::TargetMachine const&)"},
-    {"_ZNK4llvm27TargetLoweringObjectFileELF17getEHFrameSectionEv", "llvm::TargetLoweringObjectFileELF::getEHFrameSection() const"},
-    {"_ZNK4llvm27TargetLoweringObjectFileELF24getExplicitSectionGlobalEPKNS_11GlobalValueENS_11SectionKindEPNS_7ManglerERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileELF::getExplicitSectionGlobal(llvm::GlobalValue const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm27TargetLoweringObjectFileELF22SelectSectionForGlobalEPKNS_11GlobalValueENS_11SectionKindEPNS_7ManglerERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileELF::SelectSectionForGlobal(llvm::GlobalValue const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm27TargetLoweringObjectFileELF21getSectionForConstantENS_11SectionKindE", "llvm::TargetLoweringObjectFileELF::getSectionForConstant(llvm::SectionKind) const"},
-    {"_ZNK4llvm27TargetLoweringObjectFileELF30getExprForDwarfGlobalReferenceEPKNS_11GlobalValueEPNS_7ManglerEPNS_17MachineModuleInfoEjRNS_10MCStreamerE", "llvm::TargetLoweringObjectFileELF::getExprForDwarfGlobalReference(llvm::GlobalValue const*, llvm::Mangler*, llvm::MachineModuleInfo*, unsigned int, llvm::MCStreamer&) const"},
-    {"_ZN4llvm29TargetLoweringObjectFileMachO10InitializeERNS_9MCContextERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileMachO::Initialize(llvm::MCContext&, llvm::TargetMachine const&)"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO17getEHFrameSectionEv", "llvm::TargetLoweringObjectFileMachO::getEHFrameSection() const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO24getExplicitSectionGlobalEPKNS_11GlobalValueENS_11SectionKindEPNS_7ManglerERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(llvm::GlobalValue const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO22SelectSectionForGlobalEPKNS_11GlobalValueENS_11SectionKindEPNS_7ManglerERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileMachO::SelectSectionForGlobal(llvm::GlobalValue const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO21getSectionForConstantENS_11SectionKindE", "llvm::TargetLoweringObjectFileMachO::getSectionForConstant(llvm::SectionKind) const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO26shouldEmitUsedDirectiveForEPKNS_11GlobalValueEPNS_7ManglerE", "llvm::TargetLoweringObjectFileMachO::shouldEmitUsedDirectiveFor(llvm::GlobalValue const*, llvm::Mangler*) const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO30getExprForDwarfGlobalReferenceEPKNS_11GlobalValueEPNS_7ManglerEPNS_17MachineModuleInfoEjRNS_10MCStreamerE", "llvm::TargetLoweringObjectFileMachO::getExprForDwarfGlobalReference(llvm::GlobalValue const*, llvm::Mangler*, llvm::MachineModuleInfo*, unsigned int, llvm::MCStreamer&) const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO22getPersonalityEncodingEv", "llvm::TargetLoweringObjectFileMachO::getPersonalityEncoding() const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO15getLSDAEncodingEv", "llvm::TargetLoweringObjectFileMachO::getLSDAEncoding() const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO14getFDEEncodingEv", "llvm::TargetLoweringObjectFileMachO::getFDEEncoding() const"},
-    {"_ZNK4llvm29TargetLoweringObjectFileMachO16getTTypeEncodingEv", "llvm::TargetLoweringObjectFileMachO::getTTypeEncoding() const"},
-    {"_ZN4llvm28TargetLoweringObjectFileCOFF10InitializeERNS_9MCContextERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileCOFF::Initialize(llvm::MCContext&, llvm::TargetMachine const&)"},
-    {"_ZNK4llvm28TargetLoweringObjectFileCOFF17getEHFrameSectionEv", "llvm::TargetLoweringObjectFileCOFF::getEHFrameSection() const"},
-    {"_ZNK4llvm28TargetLoweringObjectFileCOFF24getExplicitSectionGlobalEPKNS_11GlobalValueENS_11SectionKindEPNS_7ManglerERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(llvm::GlobalValue const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm28TargetLoweringObjectFileCOFF22SelectSectionForGlobalEPKNS_11GlobalValueENS_11SectionKindEPNS_7ManglerERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal(llvm::GlobalValue const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&) const"},
-    {"_ZN4llvm39initializeTwoAddressInstructionPassPassERNS_12PassRegistryE", "llvm::initializeTwoAddressInstructionPassPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_125TwoAddressInstructionPassEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::TwoAddressInstructionPass>()"},
-    {"_ZN12_GLOBAL__N_125TwoAddressInstructionPassD1Ev", "(anonymous namespace)::TwoAddressInstructionPass::~TwoAddressInstructionPass()"},
-    {"_ZN12_GLOBAL__N_125TwoAddressInstructionPassD0Ev", "(anonymous namespace)::TwoAddressInstructionPass::~TwoAddressInstructionPass()"},
-    {"_ZNK12_GLOBAL__N_125TwoAddressInstructionPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::TwoAddressInstructionPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_125TwoAddressInstructionPass20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::TwoAddressInstructionPass::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_125TwoAddressInstructionPass23TryInstructionTransformERN4llvm14ilist_iteratorINS1_12MachineInstrEEES5_RNS2_INS1_17MachineBasicBlockEEEjjj", "(anonymous namespace)::TwoAddressInstructionPass::TryInstructionTransform(llvm::ilist_iterator<llvm::MachineInstr>&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::ilist_iterator<llvm::MachineBasicBlock>&, unsigned int, unsigned int, unsigned int)"},
-    {"_Z8isKilledRN4llvm12MachineInstrEjPKNS_19MachineRegisterInfoEPKNS_15TargetInstrInfoE", "isKilled(llvm::MachineInstr&, unsigned int, llvm::MachineRegisterInfo const*, llvm::TargetInstrInfo const*)"},
-    {"_ZN12_GLOBAL__N_125TwoAddressInstructionPass17NoUseAfterLastDefEjPN4llvm17MachineBasicBlockEjRj", "(anonymous namespace)::TwoAddressInstructionPass::NoUseAfterLastDef(unsigned int, llvm::MachineBasicBlock*, unsigned int, unsigned int&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorISt4pairIjjELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE6insertERKS2_IjS4_E", "llvm::DenseMap<unsigned int, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u> > >::insert(std::pair<unsigned int, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u> > const&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorISt4pairIjjELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE5clearEv", "llvm::DenseMap<unsigned int, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u> > >::clear()"},
-    {"_ZSt16__introsort_loopIPjlEvT_S1_T0_", "void std::__introsort_loop<unsigned int*, long>(unsigned int*, unsigned int*, long)"},
-    {"_ZSt22__final_insertion_sortIPjEvT_S1_", "void std::__final_insertion_sort<unsigned int*>(unsigned int*, unsigned int*)"},
-    {"_ZSt13__heap_selectIPjEvT_S1_S1_", "void std::__heap_select<unsigned int*>(unsigned int*, unsigned int*, unsigned int*)"},
-    {"_ZSt9sort_heapIPjEvT_S1_", "void std::sort_heap<unsigned int*>(unsigned int*, unsigned int*)"},
-    {"_ZSt9make_heapIPjEvT_S1_", "void std::make_heap<unsigned int*>(unsigned int*, unsigned int*)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorISt4pairIjjELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<unsigned int, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u> > >::shrink_and_clear()"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIjjEEaSERKS3_", "llvm::SmallVectorImpl<std::pair<unsigned int, unsigned int> >::operator=(llvm::SmallVectorImpl<std::pair<unsigned int, unsigned int> > const&)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorISt4pairIjjELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE16InsertIntoBucketERKjRKS4_PS2_IjS4_E", "llvm::DenseMap<unsigned int, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u> > >::InsertIntoBucket(unsigned int const&, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u> const&, std::pair<unsigned int, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIjNS_11SmallVectorISt4pairIjjELj4EEENS_12DenseMapInfoIjEENS5_IS4_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u>, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, unsigned int>, 4u> > >::grow(unsigned int)"},
-    {"_ZN4llvm34initializeUnreachableBlockElimPassERNS_12PassRegistryE", "llvm::initializeUnreachableBlockElimPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm37createUnreachableBlockEliminationPassEv", "llvm::createUnreachableBlockEliminationPass()"},
-    {"_ZN4llvm41initializeUnreachableMachineBlockElimPassERNS_12PassRegistryE", "llvm::initializeUnreachableMachineBlockElimPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_127UnreachableMachineBlockElimEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::UnreachableMachineBlockElim>()"},
-    {"_ZN12_GLOBAL__N_127UnreachableMachineBlockElimD1Ev", "(anonymous namespace)::UnreachableMachineBlockElim::~UnreachableMachineBlockElim()"},
-    {"_ZN12_GLOBAL__N_127UnreachableMachineBlockElimD0Ev", "(anonymous namespace)::UnreachableMachineBlockElim::~UnreachableMachineBlockElim()"},
-    {"_ZNK12_GLOBAL__N_127UnreachableMachineBlockElim16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::UnreachableMachineBlockElim::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_127UnreachableMachineBlockElim20runOnMachineFunctionERN4llvm15MachineFunctionE", "(anonymous namespace)::UnreachableMachineBlockElim::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN12_GLOBAL__N_120UnreachableBlockElimD1Ev", "(anonymous namespace)::UnreachableBlockElim::~UnreachableBlockElim()"},
-    {"_ZN12_GLOBAL__N_120UnreachableBlockElimD0Ev", "(anonymous namespace)::UnreachableBlockElim::~UnreachableBlockElim()"},
-    {"_ZNK12_GLOBAL__N_120UnreachableBlockElim16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::UnreachableBlockElim::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_120UnreachableBlockElim13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::UnreachableBlockElim::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_120UnreachableBlockElimEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::UnreachableBlockElim>()"},
-    {"_ZN4llvm12df_ext_beginIPNS_15MachineFunctionENS_11SmallPtrSetIPNS_17MachineBasicBlockELj8EEEEENS_15df_ext_iteratorIT_T0_EERKS8_RS9_", "llvm::df_ext_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u> > llvm::df_ext_begin<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u> >(llvm::MachineFunction* const&, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>&)"},
-    {"_ZN4llvm11df_iteratorIPNS_15MachineFunctionENS_11SmallPtrSetIPNS_17MachineBasicBlockELj8EEELb1ENS_11GraphTraitsIS2_EEE6toNextEv", "llvm::df_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, true, llvm::GraphTraits<llvm::MachineFunction*> >::toNext()"},
-    {"_ZN4llvm11df_iteratorIPNS_15MachineFunctionENS_11SmallPtrSetIPNS_17MachineBasicBlockELj8EEELb1ENS_11GraphTraitsIS2_EEEC2ES5_RS6_", "llvm::df_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, true, llvm::GraphTraits<llvm::MachineFunction*> >::df_iterator(llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>&)"},
-    {"_ZN4llvm12df_ext_beginIPNS_8FunctionENS_11SmallPtrSetIPNS_10BasicBlockELj8EEEEENS_15df_ext_iteratorIT_T0_EERKS8_RS9_", "llvm::df_ext_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u> > llvm::df_ext_begin<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u> >(llvm::Function* const&, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>&)"},
-    {"_ZN4llvm11df_iteratorIPNS_8FunctionENS_11SmallPtrSetIPNS_10BasicBlockELj8EEELb1ENS_11GraphTraitsIS2_EEE6toNextEv", "llvm::df_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, true, llvm::GraphTraits<llvm::Function*> >::toNext()"},
-    {"_ZNSt6vectorISt4pairIN4llvm14PointerIntPairIPNS1_10BasicBlockELj1EjNS1_21PointerLikeTypeTraitsIS4_EEEENS1_12SuccIteratorIPNS1_14TerminatorInstES3_EEESaISC_EEC2ERKSE_", "std::vector<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, std::allocator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > > >::vector(std::vector<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, std::allocator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > > > const&)"},
-    {"_ZN4llvm11df_iteratorIPNS_8FunctionENS_11SmallPtrSetIPNS_10BasicBlockELj8EEELb1ENS_11GraphTraitsIS2_EEEC2ES5_RS6_", "llvm::df_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, true, llvm::GraphTraits<llvm::Function*> >::df_iterator(llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>&)"},
-    {"_ZN4llvm24initializeVirtRegMapPassERNS_12PassRegistryE", "llvm::initializeVirtRegMapPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm10VirtRegMap20runOnMachineFunctionERNS_15MachineFunctionE", "llvm::VirtRegMap::runOnMachineFunction(llvm::MachineFunction&)"},
-    {"_ZN4llvm10VirtRegMap4growEv", "llvm::VirtRegMap::grow()"},
-    {"_ZN4llvm10VirtRegMap15createSpillSlotEPKNS_19TargetRegisterClassE", "llvm::VirtRegMap::createSpillSlot(llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm10VirtRegMap15getRegAllocPrefEj", "llvm::VirtRegMap::getRegAllocPref(unsigned int)"},
-    {"_ZN4llvm10VirtRegMap20assignVirt2StackSlotEj", "llvm::VirtRegMap::assignVirt2StackSlot(unsigned int)"},
-    {"_ZN4llvm10VirtRegMap20assignVirt2StackSlotEji", "llvm::VirtRegMap::assignVirt2StackSlot(unsigned int, int)"},
-    {"_ZN4llvm10VirtRegMap17assignVirtReMatIdEj", "llvm::VirtRegMap::assignVirtReMatId(unsigned int)"},
-    {"_ZN4llvm10VirtRegMap17assignVirtReMatIdEji", "llvm::VirtRegMap::assignVirtReMatId(unsigned int, int)"},
-    {"_ZN4llvm10VirtRegMap21getEmergencySpillSlotEPKNS_19TargetRegisterClassE", "llvm::VirtRegMap::getEmergencySpillSlot(llvm::TargetRegisterClass const*)"},
-    {"_ZN4llvm10VirtRegMap15addSpillSlotUseEiPNS_12MachineInstrE", "llvm::VirtRegMap::addSpillSlotUse(int, llvm::MachineInstr*)"},
-    {"_ZN4llvm10VirtRegMap10virtFoldedEjPNS_12MachineInstrES2_NS0_6ModRefE", "llvm::VirtRegMap::virtFolded(unsigned int, llvm::MachineInstr*, llvm::MachineInstr*, llvm::VirtRegMap::ModRef)"},
-    {"_ZN4llvm10VirtRegMap10virtFoldedEjPNS_12MachineInstrENS0_6ModRefE", "llvm::VirtRegMap::virtFolded(unsigned int, llvm::MachineInstr*, llvm::VirtRegMap::ModRef)"},
-    {"_ZN4llvm10VirtRegMap26RemoveMachineInstrFromMapsEPNS_12MachineInstrE", "llvm::VirtRegMap::RemoveMachineInstrFromMaps(llvm::MachineInstr*)"},
-    {"_ZN4llvm10VirtRegMap19FindUnusedRegistersEPNS_13LiveIntervalsE", "llvm::VirtRegMap::FindUnusedRegisters(llvm::LiveIntervals*)"},
-    {"_ZNK4llvm10VirtRegMap5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::VirtRegMap::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZNK4llvm10VirtRegMap4dumpEv", "llvm::VirtRegMap::dump() const"},
-    {"_ZN4llvm15SmallVectorImplINS_11SmallPtrSetIPNS_12MachineInstrELj4EEEE6resizeEj", "llvm::SmallVectorImpl<llvm::SmallPtrSet<llvm::MachineInstr*, 4u> >::resize(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_19TargetRegisterClassENS_9BitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE5clearEv", "llvm::DenseMap<llvm::TargetRegisterClass const*, llvm::BitVector, llvm::DenseMapInfo<llvm::TargetRegisterClass const*>, llvm::DenseMapInfo<llvm::BitVector> >::clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_19TargetRegisterClassENS_9BitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE6insertERKSt4pairIS3_S4_E", "llvm::DenseMap<llvm::TargetRegisterClass const*, llvm::BitVector, llvm::DenseMapInfo<llvm::TargetRegisterClass const*>, llvm::DenseMapInfo<llvm::BitVector> >::insert(std::pair<llvm::TargetRegisterClass const*, llvm::BitVector> const&)"},
-    {"_ZN4llvm10VirtRegMapD1Ev", "llvm::VirtRegMap::~VirtRegMap()"},
-    {"_ZN4llvm10VirtRegMapD0Ev", "llvm::VirtRegMap::~VirtRegMap()"},
-    {"_ZNK4llvm10VirtRegMap16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::VirtRegMap::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIjSaIjEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE5eraseESt17_Rb_tree_iteratorIS8_ESG_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >, std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIjSaIjEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineInstr* const, std::vector<unsigned int, std::allocator<unsigned int> > > >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIS3_IjbESaIS6_EEESt10_Select1stIS9_ESt4lessIS2_ESaIS9_EE5eraseESt17_Rb_tree_iteratorIS9_ESH_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > >, std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > >)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIS3_IjbESaIS6_EEESt10_Select1stIS9_ESt4lessIS2_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_S3_IjNS0_10VirtRegMap6ModRefEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE5eraseESt17_Rb_tree_iteratorIS8_ESG_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > >, std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > >)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_S3_IjNS0_10VirtRegMap6ModRefEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_S3_IjNS0_10VirtRegMap6ModRefEEESt10_Select1stIS8_ESt4lessIS2_ESaIS8_EE15_M_insert_equalESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > > >::_M_insert_equal(std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > >, std::pair<llvm::MachineInstr* const, std::pair<unsigned int, llvm::VirtRegMap::ModRef> > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm19TargetRegisterClassESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::TargetRegisterClass const*, std::pair<llvm::TargetRegisterClass const* const, int>, std::_Select1st<std::pair<llvm::TargetRegisterClass const* const, int> >, std::less<llvm::TargetRegisterClass const*>, std::allocator<std::pair<llvm::TargetRegisterClass const* const, int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::TargetRegisterClass const* const, int> >, std::pair<llvm::TargetRegisterClass const* const, int> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm19TargetRegisterClassESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::TargetRegisterClass const*, std::pair<llvm::TargetRegisterClass const* const, int>, std::_Select1st<std::pair<llvm::TargetRegisterClass const* const, int> >, std::less<llvm::TargetRegisterClass const*>, std::allocator<std::pair<llvm::TargetRegisterClass const* const, int> > >::_M_insert_unique(std::pair<llvm::TargetRegisterClass const* const, int> const&)"},
-    {"_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::MachineInstr**, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> > >, unsigned long, llvm::MachineInstr* const&)"},
-    {"_ZNSt6vectorIN4llvm9SlotIndexESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EEmRKS1_", "std::vector<llvm::SlotIndex, std::allocator<llvm::SlotIndex> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::SlotIndex*, std::vector<llvm::SlotIndex, std::allocator<llvm::SlotIndex> > >, unsigned long, llvm::SlotIndex const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_19TargetRegisterClassENS_9BitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::TargetRegisterClass const*, llvm::BitVector, llvm::DenseMapInfo<llvm::TargetRegisterClass const*>, llvm::DenseMapInfo<llvm::BitVector> >::shrink_and_clear()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_11SmallPtrSetIPNS_12MachineInstrELj4EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::SmallPtrSet<llvm::MachineInstr*, 4u>, false>::grow(unsigned long)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm19TargetRegisterClassESt4pairIKS3_iESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::TargetRegisterClass const*, std::pair<llvm::TargetRegisterClass const* const, int>, std::_Select1st<std::pair<llvm::TargetRegisterClass const* const, int> >, std::less<llvm::TargetRegisterClass const*>, std::allocator<std::pair<llvm::TargetRegisterClass const* const, int> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::TargetRegisterClass const* const, int> >*)"},
-    {"_ZN4llvm10VirtRegMapD2Ev", "llvm::VirtRegMap::~VirtRegMap()"},
-    {"_ZN4llvm15callDefaultCtorINS_10VirtRegMapEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::VirtRegMap>()"},
-    {"_ZN4llvm10VirtRegMapC2Ev", "llvm::VirtRegMap::VirtRegMap()"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_112RewriterNameELb0ENS0_6parserIS3_EEED1Ev", "llvm::cl::opt<(anonymous namespace)::RewriterName, false, llvm::cl::parser<(anonymous namespace)::RewriterName> >::~opt()"},
-    {"_ZN4llvm15VirtRegRewriterD0Ev", "llvm::VirtRegRewriter::~VirtRegRewriter()"},
-    {"_ZN4llvm15VirtRegRewriterD1Ev", "llvm::VirtRegRewriter::~VirtRegRewriter()"},
-    {"_ZN4llvm15VirtRegRewriterD2Ev", "llvm::VirtRegRewriter::~VirtRegRewriter()"},
-    {"_ZN4llvm21createVirtRegRewriterEv", "llvm::createVirtRegRewriter()"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_112RewriterNameELb0ENS0_6parserIS3_EEE16handleOccurrenceEjNS_9StringRefES7_", "llvm::cl::opt<(anonymous namespace)::RewriterName, false, llvm::cl::parser<(anonymous namespace)::RewriterName> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_112RewriterNameELb0ENS0_6parserIS3_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<(anonymous namespace)::RewriterName, false, llvm::cl::parser<(anonymous namespace)::RewriterName> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_112RewriterNameELb0ENS0_6parserIS3_EEE14getOptionWidthEv", "llvm::cl::opt<(anonymous namespace)::RewriterName, false, llvm::cl::parser<(anonymous namespace)::RewriterName> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_112RewriterNameELb0ENS0_6parserIS3_EEE15printOptionInfoEm", "llvm::cl::opt<(anonymous namespace)::RewriterName, false, llvm::cl::parser<(anonymous namespace)::RewriterName> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_112RewriterNameELb0ENS0_6parserIS3_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<(anonymous namespace)::RewriterName, false, llvm::cl::parser<(anonymous namespace)::RewriterName> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_112RewriterNameELb0ENS0_6parserIS3_EEED0Ev", "llvm::cl::opt<(anonymous namespace)::RewriterName, false, llvm::cl::parser<(anonymous namespace)::RewriterName> >::~opt()"},
-    {"_ZN4llvm2cl6parserIN12_GLOBAL__N_112RewriterNameEED1Ev", "llvm::cl::parser<(anonymous namespace)::RewriterName>::~parser()"},
-    {"_ZN4llvm2cl6parserIN12_GLOBAL__N_112RewriterNameEED0Ev", "llvm::cl::parser<(anonymous namespace)::RewriterName>::~parser()"},
-    {"_ZNK4llvm2cl6parserIN12_GLOBAL__N_112RewriterNameEE13getNumOptionsEv", "llvm::cl::parser<(anonymous namespace)::RewriterName>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserIN12_GLOBAL__N_112RewriterNameEE9getOptionEj", "llvm::cl::parser<(anonymous namespace)::RewriterName>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserIN12_GLOBAL__N_112RewriterNameEE14getDescriptionEj", "llvm::cl::parser<(anonymous namespace)::RewriterName>::getDescription(unsigned int) const"},
-    {"_ZN12_GLOBAL__N_115TrivialRewriterD1Ev", "(anonymous namespace)::TrivialRewriter::~TrivialRewriter()"},
-    {"_ZN12_GLOBAL__N_115TrivialRewriterD0Ev", "(anonymous namespace)::TrivialRewriter::~TrivialRewriter()"},
-    {"_ZN12_GLOBAL__N_115TrivialRewriter20runOnMachineFunctionERN4llvm15MachineFunctionERNS1_10VirtRegMapEPNS1_13LiveIntervalsE", "(anonymous namespace)::TrivialRewriter::runOnMachineFunction(llvm::MachineFunction&, llvm::VirtRegMap&, llvm::LiveIntervals*)"},
-    {"_Z17substitutePhysRegRN4llvm14MachineOperandEjRKNS_18TargetRegisterInfoE", "substitutePhysReg(llvm::MachineOperand&, unsigned int, llvm::TargetRegisterInfo const&)"},
-    {"_ZN12_GLOBAL__N_113LocalRewriterD1Ev", "(anonymous namespace)::LocalRewriter::~LocalRewriter()"},
-    {"_ZN12_GLOBAL__N_113LocalRewriterD0Ev", "(anonymous namespace)::LocalRewriter::~LocalRewriter()"},
-    {"_ZN12_GLOBAL__N_113LocalRewriter20runOnMachineFunctionERN4llvm15MachineFunctionERNS1_10VirtRegMapEPNS1_13LiveIntervalsE", "(anonymous namespace)::LocalRewriter::runOnMachineFunction(llvm::MachineFunction&, llvm::VirtRegMap&, llvm::LiveIntervals*)"},
-    {"_ZN12_GLOBAL__N_113LocalRewriter10RewriteMBBEPN4llvm13LiveIntervalsERNS_15AvailableSpillsERNS1_9BitVectorERSt6vectorIPNS1_14MachineOperandESaISA_EE", "(anonymous namespace)::LocalRewriter::RewriteMBB(llvm::LiveIntervals*, (anonymous namespace)::AvailableSpills&, llvm::BitVector&, std::vector<llvm::MachineOperand*, std::allocator<llvm::MachineOperand*> >&)"},
-    {"_ZN12_GLOBAL__N_113LocalRewriter10EraseInstrEPN4llvm12MachineInstrE", "(anonymous namespace)::LocalRewriter::EraseInstr(llvm::MachineInstr*)"},
-    {"_Z22ResurrectConfirmedKilljPKN4llvm18TargetRegisterInfoERNS_9BitVectorERSt6vectorIPNS_14MachineOperandESaIS7_EE", "ResurrectConfirmedKill(unsigned int, llvm::TargetRegisterInfo const*, llvm::BitVector&, std::vector<llvm::MachineOperand*, std::allocator<llvm::MachineOperand*> >&)"},
-    {"_ZN12_GLOBAL__N_115AvailableSpills18ClobberPhysRegOnlyEj", "(anonymous namespace)::AvailableSpills::ClobberPhysRegOnly(unsigned int)"},
-    {"_Z15InvalidateKillsRN4llvm12MachineInstrEPKNS_18TargetRegisterInfoERNS_9BitVectorERSt6vectorIPNS_14MachineOperandESaIS9_EEPNS_11SmallVectorIjLj2EEE", "InvalidateKills(llvm::MachineInstr&, llvm::TargetRegisterInfo const*, llvm::BitVector&, std::vector<llvm::MachineOperand*, std::allocator<llvm::MachineOperand*> >&, llvm::SmallVector<unsigned int, 2u>*)"},
-    {"_ZN12_GLOBAL__N_115AvailableSpills22ModifyStackSlotOrReMatEi", "(anonymous namespace)::AvailableSpills::ModifyStackSlotOrReMat(int)"},
-    {"_ZN12_GLOBAL__N_115AvailableSpills12addAvailableEijb", "(anonymous namespace)::AvailableSpills::addAvailable(int, unsigned int, bool)"},
-    {"_Z11UpdateKillsRN4llvm12MachineInstrEPKNS_18TargetRegisterInfoERNS_9BitVectorERSt6vectorIPNS_14MachineOperandESaIS9_EE", "UpdateKills(llvm::MachineInstr&, llvm::TargetRegisterInfo const*, llvm::BitVector&, std::vector<llvm::MachineOperand*, std::allocator<llvm::MachineOperand*> >&)"},
-    {"_Z14isSafeToDeleteRN4llvm12MachineInstrE", "isSafeToDelete(llvm::MachineInstr&)"},
-    {"_Z13ResurrectKillRN4llvm12MachineInstrEjPKNS_18TargetRegisterInfoERNS_9BitVectorERSt6vectorIPNS_14MachineOperandESaIS9_EE", "ResurrectKill(llvm::MachineInstr&, unsigned int, llvm::TargetRegisterInfo const*, llvm::BitVector&, std::vector<llvm::MachineOperand*, std::allocator<llvm::MachineOperand*> >&)"},
-    {"_ZN12_GLOBAL__N_19ReuseInfo15GetRegForReloadEPKN4llvm19TargetRegisterClassEjRNS1_15MachineFunctionEPNS1_12MachineInstrERNS_15AvailableSpillsERSt6vectorIS8_SaIS8_EERNS1_8SmallSetIjLj8EEERNS1_9BitVectorERSB_IPNS1_14MachineOperandESaISL_EERNS1_10VirtRegMapE", "(anonymous namespace)::ReuseInfo::GetRegForReload(llvm::TargetRegisterClass const*, unsigned int, llvm::MachineFunction&, llvm::MachineInstr*, (anonymous namespace)::AvailableSpills&, std::vector<llvm::MachineInstr*, std::allocator<llvm::MachineInstr*> >&, llvm::SmallSet<unsigned int, 8u>&, llvm::BitVector&, std::vector<llvm::MachineOperand*, std::allocator<llvm::MachineOperand*> >&, llvm::VirtRegMap&)"},
-    {"_Z16ComputeReloadLocN4llvm14ilist_iteratorINS_12MachineInstrEEES2_jPKNS_18TargetRegisterInfoEbiPKNS_15TargetInstrInfoERKNS_15MachineFunctionE", "ComputeReloadLoc(llvm::ilist_iterator<llvm::MachineInstr>, llvm::ilist_iterator<llvm::MachineInstr>, unsigned int, llvm::TargetRegisterInfo const*, bool, int, llvm::TargetInstrInfo const*, llvm::MachineFunction const&)"},
-    {"_Z13ReMaterializeRN4llvm17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEEjjPKNS_15TargetInstrInfoEPKNS_18TargetRegisterInfoERNS_10VirtRegMapE", "ReMaterialize(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, unsigned int, unsigned int, llvm::TargetInstrInfo const*, llvm::TargetRegisterInfo const*, llvm::VirtRegMap&)"},
-    {"_ZSt16__introsort_loopIPSt4pairIPN4llvm12MachineInstrEiElN12_GLOBAL__N_19RefSorterEEvT_S8_T0_T1_", "void std::__introsort_loop<std::pair<llvm::MachineInstr*, int>*, long, (anonymous namespace)::RefSorter>(std::pair<llvm::MachineInstr*, int>*, std::pair<llvm::MachineInstr*, int>*, long, (anonymous namespace)::RefSorter)"},
-    {"_ZSt16__insertion_sortIPSt4pairIPN4llvm12MachineInstrEiEN12_GLOBAL__N_19RefSorterEEvT_S8_T0_", "void std::__insertion_sort<std::pair<llvm::MachineInstr*, int>*, (anonymous namespace)::RefSorter>(std::pair<llvm::MachineInstr*, int>*, std::pair<llvm::MachineInstr*, int>*, (anonymous namespace)::RefSorter)"},
-    {"_ZN12_GLOBAL__N_115AvailableSpills26disallowClobberPhysRegOnlyEj", "(anonymous namespace)::AvailableSpills::disallowClobberPhysRegOnly(unsigned int)"},
-    {"_Z20FoldsStackSlotModRefRN4llvm12MachineInstrEijPKNS_15TargetInstrInfoEPKNS_18TargetRegisterInfoERNS_10VirtRegMapE", "FoldsStackSlotModRef(llvm::MachineInstr&, int, unsigned int, llvm::TargetInstrInfo const*, llvm::TargetRegisterInfo const*, llvm::VirtRegMap&)"},
-    {"_ZN4llvm8DenseMapIiNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIiEENS5_IS4_EEE5clearEv", "llvm::DenseMap<int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::clear()"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKijESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<int, std::pair<int const, unsigned int>, std::_Select1st<std::pair<int const, unsigned int> >, std::less<int>, std::allocator<std::pair<int const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, unsigned int> >*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjiESt10_Select1stIS2_ESt4lessIjESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, int>, std::_Select1st<std::pair<unsigned int const, int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, int> >*)"},
-    {"_ZN4llvm8DenseMapIiNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIiEENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIiNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIiEENS5_IS4_EEE16FindAndConstructERKi", "llvm::DenseMap<int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::FindAndConstruct(int const&)"},
-    {"_ZN4llvm8DenseMapIiNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIiEENS5_IS4_EEE16InsertIntoBucketERKiRKS4_PSt4pairIiS4_E", "llvm::DenseMap<int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::InsertIntoBucket(int const&, llvm::SmallVector<llvm::MachineInstr*, 4u> const&, std::pair<int, llvm::SmallVector<llvm::MachineInstr*, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIiNS_11SmallVectorIPNS_12MachineInstrELj4EEENS_12DenseMapInfoIiEENS5_IS4_EEE4growEj", "llvm::DenseMap<int, llvm::SmallVector<llvm::MachineInstr*, 4u>, llvm::DenseMapInfo<int>, llvm::DenseMapInfo<llvm::SmallVector<llvm::MachineInstr*, 4u> > >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKijESt10_Select1stIS2_ESt4lessIiESaIS2_EE5eraseESt17_Rb_tree_iteratorIS2_ESA_", "std::_Rb_tree<int, std::pair<int const, unsigned int>, std::_Select1st<std::pair<int const, unsigned int> >, std::less<int>, std::allocator<std::pair<int const, unsigned int> > >::erase(std::_Rb_tree_iterator<std::pair<int const, unsigned int> >, std::_Rb_tree_iterator<std::pair<int const, unsigned int> >)"},
-    {"_ZN4llvm8SmallSetIiLj2EE6insertERKi", "llvm::SmallSet<int, 2u>::insert(int const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKijESt10_Select1stIS2_ESt4lessIiESaIS2_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS2_ERKS2_", "std::_Rb_tree<int, std::pair<int const, unsigned int>, std::_Select1st<std::pair<int const, unsigned int> >, std::less<int>, std::allocator<std::pair<int const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, unsigned int> >, std::pair<int const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIiSt4pairIKijESt10_Select1stIS2_ESt4lessIiESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<int, std::pair<int const, unsigned int>, std::_Select1st<std::pair<int const, unsigned int> >, std::less<int>, std::allocator<std::pair<int const, unsigned int> > >::_M_insert_unique(std::pair<int const, unsigned int> const&)"},
-    {"_ZN4llvm8SmallSetIjLj2EE6insertERKj", "llvm::SmallSet<unsigned int, 2u>::insert(unsigned int const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12MachineInstrESt4pairIKS2_St6vectorIS3_IjbESaIS6_EEESt10_Select1stIS9_ESt4lessIS2_ESaIS9_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS9_ERKS9_", "std::_Rb_tree<llvm::MachineInstr*, std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > >, std::_Select1st<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > >, std::less<llvm::MachineInstr*>, std::allocator<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > >, std::pair<llvm::MachineInstr* const, std::vector<std::pair<unsigned int, bool>, std::allocator<std::pair<unsigned int, bool> > > > const&)"},
-    {"_ZN4llvm8SmallSetIiLj4EE6insertERKi", "llvm::SmallSet<int, 4u>::insert(int const&)"},
-    {"_ZNSt6vectorIPN4llvm14MachineOperandESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::MachineOperand*, std::allocator<llvm::MachineOperand*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::MachineOperand**, std::vector<llvm::MachineOperand*, std::allocator<llvm::MachineOperand*> > >, unsigned long, llvm::MachineOperand* const&)"},
-    {"_ZN4llvm18initializeADCEPassERNS_12PassRegistryE", "llvm::initializeADCEPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm23createAggressiveDCEPassEv", "llvm::createAggressiveDCEPass()"},
-    {"_ZN12_GLOBAL__N_14ADCED1Ev", "(anonymous namespace)::ADCE::~ADCE()"},
-    {"_ZN12_GLOBAL__N_14ADCED0Ev", "(anonymous namespace)::ADCE::~ADCE()"},
-    {"_ZNK12_GLOBAL__N_14ADCE16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::ADCE::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_14ADCE13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::ADCE::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_14ADCEEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::ADCE>()"},
-    {"_ZN4llvm28initializeCodeGenPreparePassERNS_12PassRegistryE", "llvm::initializeCodeGenPreparePass(llvm::PassRegistry&)"},
-    {"_ZN4llvm24createCodeGenPreparePassEPKNS_14TargetLoweringE", "llvm::createCodeGenPreparePass(llvm::TargetLowering const*)"},
-    {"_ZN12_GLOBAL__N_114CodeGenPrepareC1EPKN4llvm14TargetLoweringE", "(anonymous namespace)::CodeGenPrepare::CodeGenPrepare(llvm::TargetLowering const*)"},
-    {"_ZN12_GLOBAL__N_114CodeGenPrepareD1Ev", "(anonymous namespace)::CodeGenPrepare::~CodeGenPrepare()"},
-    {"_ZN12_GLOBAL__N_114CodeGenPrepareD0Ev", "(anonymous namespace)::CodeGenPrepare::~CodeGenPrepare()"},
-    {"_ZNK12_GLOBAL__N_114CodeGenPrepare16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::CodeGenPrepare::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114CodeGenPrepare13releaseMemoryEv", "(anonymous namespace)::CodeGenPrepare::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_114CodeGenPrepare13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::CodeGenPrepare::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_114CodeGenPrepare12OptimizeInstEPN4llvm11InstructionE", "(anonymous namespace)::CodeGenPrepare::OptimizeInst(llvm::Instruction*)"},
-    {"_ZN12_GLOBAL__N_114CodeGenPrepare18OptimizeMemoryInstEPN4llvm11InstructionEPNS1_5ValueEPKNS1_4TypeE", "(anonymous namespace)::CodeGenPrepare::OptimizeMemoryInst(llvm::Instruction*, llvm::Value*, llvm::Type const*)"},
-    {"_ZN12_GLOBAL__N_131CodeGenPrepareFortifiedLibCallsD1Ev", "(anonymous namespace)::CodeGenPrepareFortifiedLibCalls::~CodeGenPrepareFortifiedLibCalls()"},
-    {"_ZN12_GLOBAL__N_131CodeGenPrepareFortifiedLibCalls11replaceCallEPN4llvm5ValueE", "(anonymous namespace)::CodeGenPrepareFortifiedLibCalls::replaceCall(llvm::Value*)"},
-    {"_ZNK12_GLOBAL__N_131CodeGenPrepareFortifiedLibCalls10isFoldableEjjb", "(anonymous namespace)::CodeGenPrepareFortifiedLibCalls::isFoldable(unsigned int, unsigned int, bool) const"},
-    {"_ZN12_GLOBAL__N_131CodeGenPrepareFortifiedLibCallsD0Ev", "(anonymous namespace)::CodeGenPrepareFortifiedLibCalls::~CodeGenPrepareFortifiedLibCalls()"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_114CodeGenPrepareEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::CodeGenPrepare>()"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueES2_NS_12DenseMapInfoIS2_EES4_E16shrink_and_clearEv", "llvm::DenseMap<llvm::Value*, llvm::Value*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::Value*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueES2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<llvm::Value*, llvm::Value*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::Value*> >::InsertIntoBucket(llvm::Value* const&, llvm::Value* const&, std::pair<llvm::Value*, llvm::Value*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueES2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<llvm::Value*, llvm::Value*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_11InstructionEEaSERKS3_", "llvm::SmallVectorImpl<llvm::Instruction*>::operator=(llvm::SmallVectorImpl<llvm::Instruction*> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_7CmpInstENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::CmpInst*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::CmpInst*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::CmpInst* const&, std::pair<llvm::BasicBlock*, llvm::CmpInst*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_7CmpInstENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::CmpInst*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::CmpInst*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_11InstructionENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::Instruction*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Instruction*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::Instruction* const&, std::pair<llvm::BasicBlock*, llvm::Instruction*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_11InstructionENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::Instruction*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Instruction*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_8CastInstENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::CastInst*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::CastInst*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::CastInst* const&, std::pair<llvm::BasicBlock*, llvm::CastInst*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_8CastInstENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::CastInst*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::CastInst*> >::grow(unsigned int)"},
-    {"_ZNK4llvm8SmallSetISt4pairIPKNS_10BasicBlockES4_ELj8EE5countERKS5_", "llvm::SmallSet<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, 8u>::count(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const&) const"},
-    {"_ZN4llvm8SmallSetISt4pairIPKNS_10BasicBlockES4_ELj8EE6insertERKS5_", "llvm::SmallSet<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, 8u>::insert(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10BasicBlockES4_ES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::_Identity<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> > >::_M_insert_unique(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10BasicBlockES4_ES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::_Identity<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >*)"},
-    {"_ZN4llvm40initializeCorrelatedValuePropagationPassERNS_12PassRegistryE", "llvm::initializeCorrelatedValuePropagationPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm36createCorrelatedValuePropagationPassEv", "llvm::createCorrelatedValuePropagationPass()"},
-    {"_ZN12_GLOBAL__N_126CorrelatedValuePropagationD1Ev", "(anonymous namespace)::CorrelatedValuePropagation::~CorrelatedValuePropagation()"},
-    {"_ZN12_GLOBAL__N_126CorrelatedValuePropagationD0Ev", "(anonymous namespace)::CorrelatedValuePropagation::~CorrelatedValuePropagation()"},
-    {"_ZNK12_GLOBAL__N_126CorrelatedValuePropagation16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::CorrelatedValuePropagation::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_126CorrelatedValuePropagation13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::CorrelatedValuePropagation::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_126CorrelatedValuePropagationEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::CorrelatedValuePropagation>()"},
-    {"_ZN4llvm17initializeDSEPassERNS_12PassRegistryE", "llvm::initializeDSEPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm30createDeadStoreEliminationPassEv", "llvm::createDeadStoreEliminationPass()"},
-    {"_ZN12_GLOBAL__N_13DSED1Ev", "(anonymous namespace)::DSE::~DSE()"},
-    {"_ZN12_GLOBAL__N_13DSED0Ev", "(anonymous namespace)::DSE::~DSE()"},
-    {"_ZNK12_GLOBAL__N_13DSE16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::DSE::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_13DSE13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::DSE::runOnFunction(llvm::Function&)"},
-    {"_Z21DeleteDeadInstructionPN4llvm11InstructionERNS_24MemoryDependenceAnalysisEPNS_11SmallPtrSetIPNS_5ValueELj16EEE", "DeleteDeadInstruction(llvm::Instruction*, llvm::MemoryDependenceAnalysis&, llvm::SmallPtrSet<llvm::Value*, 16u>*)"},
-    {"_Z14getLocForWritePN4llvm11InstructionERNS_13AliasAnalysisE", "getLocForWrite(llvm::Instruction*, llvm::AliasAnalysis&)"},
-    {"_Z14getPointerSizePN4llvm5ValueERNS_13AliasAnalysisE", "getPointerSize(llvm::Value*, llvm::AliasAnalysis&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_13DSEEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::DSE>()"},
-    {"_ZN4llvm18createEarlyCSEPassEv", "llvm::createEarlyCSEPass()"},
-    {"_ZN4llvm22initializeEarlyCSEPassERNS_12PassRegistryE", "llvm::initializeEarlyCSEPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_18EarlyCSEEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::EarlyCSE>()"},
-    {"_ZN12_GLOBAL__N_18EarlyCSED1Ev", "(anonymous namespace)::EarlyCSE::~EarlyCSE()"},
-    {"_ZN12_GLOBAL__N_18EarlyCSED0Ev", "(anonymous namespace)::EarlyCSE::~EarlyCSE()"},
-    {"_ZNK12_GLOBAL__N_18EarlyCSE16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::EarlyCSE::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_18EarlyCSE13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::EarlyCSE::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_18EarlyCSE11processNodeEPN4llvm15DomTreeNodeBaseINS1_10BasicBlockEEE", "(anonymous namespace)::EarlyCSE::processNode(llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZN4llvm8DenseMapIN12_GLOBAL__N_111SimpleValueEPNS_18ScopedHashTableValIS2_PNS_5ValueEEENS_12DenseMapInfoIS2_EENS8_IS7_EEEixERKS2_", "llvm::DenseMap<(anonymous namespace)::SimpleValue, llvm::ScopedHashTableVal<(anonymous namespace)::SimpleValue, llvm::Value*>*, llvm::DenseMapInfo<(anonymous namespace)::SimpleValue>, llvm::DenseMapInfo<llvm::ScopedHashTableVal<(anonymous namespace)::SimpleValue, llvm::Value*>*> >::operator[]((anonymous namespace)::SimpleValue const&)"},
-    {"_ZNK4llvm8DenseMapIN12_GLOBAL__N_111SimpleValueEPNS_18ScopedHashTableValIS2_PNS_5ValueEEENS_12DenseMapInfoIS2_EENS8_IS7_EEE15LookupBucketForERKS2_RPSt4pairIS2_S7_E", "llvm::DenseMap<(anonymous namespace)::SimpleValue, llvm::ScopedHashTableVal<(anonymous namespace)::SimpleValue, llvm::Value*>*, llvm::DenseMapInfo<(anonymous namespace)::SimpleValue>, llvm::DenseMapInfo<llvm::ScopedHashTableVal<(anonymous namespace)::SimpleValue, llvm::Value*>*> >::LookupBucketFor((anonymous namespace)::SimpleValue const&, std::pair<(anonymous namespace)::SimpleValue, llvm::ScopedHashTableVal<(anonymous namespace)::SimpleValue, llvm::Value*>*>*&) const"},
-    {"_ZN4llvm8DenseMapIN12_GLOBAL__N_19CallValueEPNS_18ScopedHashTableValIS2_St4pairIPNS_5ValueEjEEENS_12DenseMapInfoIS2_EENSA_IS9_EEEixERKS2_", "llvm::DenseMap<(anonymous namespace)::CallValue, llvm::ScopedHashTableVal<(anonymous namespace)::CallValue, std::pair<llvm::Value*, unsigned int> >*, llvm::DenseMapInfo<(anonymous namespace)::CallValue>, llvm::DenseMapInfo<llvm::ScopedHashTableVal<(anonymous namespace)::CallValue, std::pair<llvm::Value*, unsigned int> >*> >::operator[]((anonymous namespace)::CallValue const&)"},
-    {"_ZNK4llvm8DenseMapIN12_GLOBAL__N_19CallValueEPNS_18ScopedHashTableValIS2_St4pairIPNS_5ValueEjEEENS_12DenseMapInfoIS2_EENSA_IS9_EEE15LookupBucketForERKS2_RPS4_IS2_S9_E", "llvm::DenseMap<(anonymous namespace)::CallValue, llvm::ScopedHashTableVal<(anonymous namespace)::CallValue, std::pair<llvm::Value*, unsigned int> >*, llvm::DenseMapInfo<(anonymous namespace)::CallValue>, llvm::DenseMapInfo<llvm::ScopedHashTableVal<(anonymous namespace)::CallValue, std::pair<llvm::Value*, unsigned int> >*> >::LookupBucketFor((anonymous namespace)::CallValue const&, std::pair<(anonymous namespace)::CallValue, llvm::ScopedHashTableVal<(anonymous namespace)::CallValue, std::pair<llvm::Value*, unsigned int> >*>*&) const"},
-    {"_ZN4llvm15ScopedHashTableIPNS_5ValueESt4pairIS2_jENS_12DenseMapInfoIS2_EENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS2_S4_EELm40ELm8EEEED2Ev", "llvm::ScopedHashTable<llvm::Value*, std::pair<llvm::Value*, unsigned int>, llvm::DenseMapInfo<llvm::Value*>, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >, 40ul, 8ul> >::~ScopedHashTable()"},
-    {"_ZN4llvm15ScopedHashTableIPNS_5ValueESt4pairIS2_jENS_12DenseMapInfoIS2_EENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS2_S4_EELm40ELm8EEEE6insertERKS2_RKS4_", "llvm::ScopedHashTable<llvm::Value*, std::pair<llvm::Value*, unsigned int>, llvm::DenseMapInfo<llvm::Value*>, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >, 40ul, 8ul> >::insert(llvm::Value* const&, std::pair<llvm::Value*, unsigned int> const&)"},
-    {"_ZN4llvm20ScopedHashTableScopeIPNS_5ValueESt4pairIS2_jENS_12DenseMapInfoIS2_EENS_18RecyclingAllocatorINS_16BumpPtrAllocatorENS_18ScopedHashTableValIS2_S4_EELm40ELm8EEEED2Ev", "llvm::ScopedHashTableScope<llvm::Value*, std::pair<llvm::Value*, unsigned int>, llvm::DenseMapInfo<llvm::Value*>, llvm::RecyclingAllocator<llvm::BumpPtrAllocator, llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >, 40ul, 8ul> >::~ScopedHashTableScope()"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_18ScopedHashTableValIS2_St4pairIS2_jEEENS_12DenseMapInfoIS2_EENS8_IS7_EEE16InsertIntoBucketERKS2_RKS7_PS4_IS2_S7_E", "llvm::DenseMap<llvm::Value*, llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >*> >::InsertIntoBucket(llvm::Value* const&, llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >* const&, std::pair<llvm::Value*, llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_18ScopedHashTableValIS2_St4pairIS2_jEEENS_12DenseMapInfoIS2_EENS8_IS7_EEE4growEj", "llvm::DenseMap<llvm::Value*, llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::ScopedHashTableVal<llvm::Value*, std::pair<llvm::Value*, unsigned int> >*> >::grow(unsigned int)"},
-    {"_ZN4llvm25initializeGEPSplitterPassERNS_12PassRegistryE", "llvm::initializeGEPSplitterPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm21createGEPSplitterPassEv", "llvm::createGEPSplitterPass()"},
-    {"_ZN12_GLOBAL__N_111GEPSplitterD1Ev", "(anonymous namespace)::GEPSplitter::~GEPSplitter()"},
-    {"_ZN12_GLOBAL__N_111GEPSplitterD0Ev", "(anonymous namespace)::GEPSplitter::~GEPSplitter()"},
-    {"_ZNK12_GLOBAL__N_111GEPSplitter16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::GEPSplitter::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_111GEPSplitter13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::GEPSplitter::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_111GEPSplitterEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::GEPSplitter>()"},
-    {"_ZN4llvm13createGVNPassEb", "llvm::createGVNPass(bool)"},
-    {"_ZN12_GLOBAL__N_13GVNC1Eb", "(anonymous namespace)::GVN::GVN(bool)"},
-    {"_ZN4llvm17initializeGVNPassERNS_12PassRegistryE", "llvm::initializeGVNPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_13GVNEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::GVN>()"},
-    {"_ZN12_GLOBAL__N_13GVND1Ev", "(anonymous namespace)::GVN::~GVN()"},
-    {"_ZN12_GLOBAL__N_13GVND0Ev", "(anonymous namespace)::GVN::~GVN()"},
-    {"_ZNK12_GLOBAL__N_13GVN16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::GVN::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_13GVN13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::GVN::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_13GVN17cleanupGlobalSetsEv", "(anonymous namespace)::GVN::cleanupGlobalSets()"},
-    {"_ZN12_GLOBAL__N_13GVN10findLeaderEPN4llvm10BasicBlockEj", "(anonymous namespace)::GVN::findLeader(llvm::BasicBlock*, unsigned int)"},
-    {"_ZN4llvm8DenseMapIjN12_GLOBAL__N_13GVN16LeaderTableEntryENS_12DenseMapInfoIjEENS4_IS3_EEEixERKj", "llvm::DenseMap<unsigned int, (anonymous namespace)::GVN::LeaderTableEntry, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<(anonymous namespace)::GVN::LeaderTableEntry> >::operator[](unsigned int const&)"},
-    {"_ZN12_GLOBAL__N_13GVN18processInstructionEPN4llvm11InstructionERNS1_15SmallVectorImplIS3_EE", "(anonymous namespace)::GVN::processInstruction(llvm::Instruction*, llvm::SmallVectorImpl<llvm::Instruction*>&)"},
-    {"_ZN12_GLOBAL__N_110ValueTable13lookup_or_addEPN4llvm5ValueE", "(anonymous namespace)::ValueTable::lookup_or_add(llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_110ValueTable17create_expressionEPN4llvm11InstructionE", "(anonymous namespace)::ValueTable::create_expression(llvm::Instruction*)"},
-    {"_ZN4llvm8DenseMapIN12_GLOBAL__N_110ExpressionEjNS_12DenseMapInfoIS2_EENS3_IjEEEixERKS2_", "llvm::DenseMap<(anonymous namespace)::Expression, unsigned int, llvm::DenseMapInfo<(anonymous namespace)::Expression>, llvm::DenseMapInfo<unsigned int> >::operator[]((anonymous namespace)::Expression const&)"},
-    {"_ZNK4llvm8DenseMapIN12_GLOBAL__N_110ExpressionEjNS_12DenseMapInfoIS2_EENS3_IjEEE15LookupBucketForERKS2_RPSt4pairIS2_jE", "llvm::DenseMap<(anonymous namespace)::Expression, unsigned int, llvm::DenseMapInfo<(anonymous namespace)::Expression>, llvm::DenseMapInfo<unsigned int> >::LookupBucketFor((anonymous namespace)::Expression const&, std::pair<(anonymous namespace)::Expression, unsigned int>*&) const"},
-    {"_Z30AnalyzeLoadFromClobberingStorePKN4llvm4TypeEPNS_5ValueEPNS_9StoreInstERKNS_10DataLayoutE", "AnalyzeLoadFromClobberingStore(llvm::Type const*, llvm::Value*, llvm::StoreInst*, llvm::DataLayout const&)"},
-    {"_Z20GetStoreValueForLoadPN4llvm5ValueEjPKNS_4TypeEPNS_11InstructionERKNS_10DataLayoutE", "GetStoreValueForLoad(llvm::Value*, unsigned int, llvm::Type const*, llvm::Instruction*, llvm::DataLayout const&)"},
-    {"_Z32AnalyzeLoadFromClobberingMemInstPKN4llvm4TypeEPNS_5ValueEPNS_12MemIntrinsicERKNS_10DataLayoutE", "AnalyzeLoadFromClobberingMemInst(llvm::Type const*, llvm::Value*, llvm::MemIntrinsic*, llvm::DataLayout const&)"},
-    {"_Z22GetMemInstValueForLoadPN4llvm12MemIntrinsicEjPKNS_4TypeEPNS_11InstructionERKNS_10DataLayoutE", "GetMemInstValueForLoad(llvm::MemIntrinsic*, unsigned int, llvm::Type const*, llvm::Instruction*, llvm::DataLayout const&)"},
-    {"_Z30CoerceAvailableValueToLoadTypePN4llvm5ValueEPKNS_4TypeEPNS_11InstructionERKNS_10DataLayoutE", "CoerceAvailableValueToLoadType(llvm::Value*, llvm::Type const*, llvm::Instruction*, llvm::DataLayout const&)"},
-    {"_Z31CanCoerceMustAliasedValueToLoadPN4llvm5ValueEPKNS_4TypeERKNS_10DataLayoutE", "CanCoerceMustAliasedValueToLoad(llvm::Value*, llvm::Type const*, llvm::DataLayout const&)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_121AvailableValueInBlockEE9push_backERKS2_", "llvm::SmallVectorImpl<(anonymous namespace)::AvailableValueInBlock>::push_back((anonymous namespace)::AvailableValueInBlock const&)"},
-    {"_Z22ConstructSSAForLoadSetPN4llvm8LoadInstERNS_15SmallVectorImplIN12_GLOBAL__N_121AvailableValueInBlockEEEPKNS_10DataLayoutERKNS_13DominatorTreeEPNS_13AliasAnalysisE", "ConstructSSAForLoadSet(llvm::LoadInst*, llvm::SmallVectorImpl<(anonymous namespace)::AvailableValueInBlock>&, llvm::DataLayout const*, llvm::DominatorTree const&, llvm::AliasAnalysis*)"},
-    {"_Z28IsValueFullyAvailableInBlockPN4llvm10BasicBlockERNS_8DenseMapIS1_cNS_12DenseMapInfoIS1_EENS3_IcEEEE", "IsValueFullyAvailableInBlock(llvm::BasicBlock*, llvm::DenseMap<llvm::BasicBlock*, char, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<char> >&)"},
-    {"_ZNK12_GLOBAL__N_121AvailableValueInBlock24MaterializeAdjustedValueEPKN4llvm4TypeEPKNS1_10DataLayoutE", "(anonymous namespace)::AvailableValueInBlock::MaterializeAdjustedValue(llvm::Type const*, llvm::DataLayout const*) const"},
-    {"_Z30AnalyzeLoadFromClobberingWritePKN4llvm4TypeEPNS_5ValueES4_yRKNS_10DataLayoutE", "AnalyzeLoadFromClobberingWrite(llvm::Type const*, llvm::Value*, llvm::Value*, unsigned long long, llvm::DataLayout const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEjNS_12DenseMapInfoIS2_EENS3_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Value*, unsigned int, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm7PHINode11addIncomingEPNS_5ValueEPNS_10BasicBlockE", "llvm::PHINode::addIncoming(llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm11df_iteratorIPNS_10BasicBlockENS_11SmallPtrSetIS2_Lj8EEELb0ENS_11GraphTraitsIS2_EEE6toNextEv", "llvm::df_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::toNext()"},
-    {"_ZNSt6vectorISt4pairIN4llvm14PointerIntPairIPNS1_10BasicBlockELj1EjNS1_21PointerLikeTypeTraitsIS4_EEEENS1_12SuccIteratorIPNS1_14TerminatorInstES3_EEESaISC_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSC_SE_EERKSC_", "std::vector<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, std::allocator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >*, std::vector<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, std::allocator<std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > > > >, std::pair<llvm::PointerIntPair<llvm::BasicBlock*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::BasicBlock*> >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEjNS_12DenseMapInfoIS2_EENS3_IjEEE6insertERKSt4pairIS2_jE", "llvm::DenseMap<llvm::Value*, unsigned int, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<llvm::Value*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::Value*, unsigned int, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::Value* const&, unsigned int const&, std::pair<llvm::Value*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::Value*, unsigned int, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_5ValueENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Value*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::Value* const&, std::pair<llvm::BasicBlock*, llvm::Value*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_5ValueENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPNS_15DomTreeNodeBaseINS_10BasicBlockEEEN9__gnu_cxx17__normal_iteratorIPS5_St6vectorIS5_SaIS5_EEEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > >, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_5ValueENS_12DenseMapInfoIS2_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Value*> >::shrink_and_clear()"},
-    {"_ZN4llvm11df_iteratorIPNS_15DomTreeNodeBaseINS_10BasicBlockEEENS_11SmallPtrSetIS4_Lj8EEELb0ENS_11GraphTraitsIS4_EEE6toNextEv", "llvm::df_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::toNext()"},
-    {"_ZNSt6vectorISt4pairIN4llvm14PointerIntPairIPNS1_15DomTreeNodeBaseINS1_10BasicBlockEEELj1EjNS1_21PointerLikeTypeTraitsIS6_EEEEN9__gnu_cxx17__normal_iteratorIPS6_S_IS6_SaIS6_EEEEESaISG_EE13_M_insert_auxENSB_IPSG_SI_EERKSG_", "std::vector<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > >*, std::vector<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > >, std::allocator<std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > > > > >, std::pair<llvm::PointerIntPair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 1u, unsigned int, llvm::PointerLikeTypeTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > > const&)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEcNS_12DenseMapInfoIS2_EENS3_IcEEE6insertERKSt4pairIS2_cE", "llvm::DenseMap<llvm::BasicBlock*, char, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<char> >::insert(std::pair<llvm::BasicBlock*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEcNS_12DenseMapInfoIS2_EENS3_IcEEE16InsertIntoBucketERKS2_RKcPSt4pairIS2_cE", "llvm::DenseMap<llvm::BasicBlock*, char, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(llvm::BasicBlock* const&, char const&, std::pair<llvm::BasicBlock*, char>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEcNS_12DenseMapInfoIS2_EENS3_IcEEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, char, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE8CreateOrEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateOr(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateShlEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateShl(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateCastENS_11Instruction7CastOpsEPNS_5ValueEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateCast(llvm::Instruction::CastOps, llvm::Value*, llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateLShrEPNS_5ValueES6_RKNS_5TwineEb", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateLShr(llvm::Value*, llvm::Value*, llvm::Twine const&, bool)"},
-    {"_ZN4llvm28initializeIndVarSimplifyPassERNS_12PassRegistryE", "llvm::initializeIndVarSimplifyPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm24createIndVarSimplifyPassEv", "llvm::createIndVarSimplifyPass()"},
-    {"_ZN12_GLOBAL__N_114IndVarSimplifyD1Ev", "(anonymous namespace)::IndVarSimplify::~IndVarSimplify()"},
-    {"_ZN12_GLOBAL__N_114IndVarSimplifyD0Ev", "(anonymous namespace)::IndVarSimplify::~IndVarSimplify()"},
-    {"_ZNK12_GLOBAL__N_114IndVarSimplify16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::IndVarSimplify::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114IndVarSimplify9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::IndVarSimplify::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_Z6isSafePKN4llvm4SCEVEPKNS_4LoopEPNS_15ScalarEvolutionE", "isSafe(llvm::SCEV const*, llvm::Loop const*, llvm::ScalarEvolution*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_114IndVarSimplifyEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::IndVarSimplify>()"},
-    {"_ZN4llvm27initializeJumpThreadingPassERNS_12PassRegistryE", "llvm::initializeJumpThreadingPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm23createJumpThreadingPassEv", "llvm::createJumpThreadingPass()"},
-    {"_ZN12_GLOBAL__N_113JumpThreadingC1Ev", "(anonymous namespace)::JumpThreading::JumpThreading()"},
-    {"_ZN12_GLOBAL__N_113JumpThreadingD1Ev", "(anonymous namespace)::JumpThreading::~JumpThreading()"},
-    {"_ZN12_GLOBAL__N_113JumpThreadingD0Ev", "(anonymous namespace)::JumpThreading::~JumpThreading()"},
-    {"_ZNK12_GLOBAL__N_113JumpThreading16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::JumpThreading::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_113JumpThreading13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::JumpThreading::runOnFunction(llvm::Function&)"},
-    {"_Z25GetBestDestForJumpOnUndefPN4llvm10BasicBlockE", "GetBestDestForJumpOnUndef(llvm::BasicBlock*)"},
-    {"_ZN12_GLOBAL__N_113JumpThreading22ProcessThreadableEdgesEPN4llvm5ValueEPNS1_10BasicBlockENS_18ConstantPreferenceE", "(anonymous namespace)::JumpThreading::ProcessThreadableEdges(llvm::Value*, llvm::BasicBlock*, (anonymous namespace)::ConstantPreference)"},
-    {"_ZN12_GLOBAL__N_113JumpThreading31ComputeValueKnownInPredecessorsEPN4llvm5ValueEPNS1_10BasicBlockERNS1_15SmallVectorImplISt4pairIPNS1_8ConstantES5_EEENS_18ConstantPreferenceE", "(anonymous namespace)::JumpThreading::ComputeValueKnownInPredecessors(llvm::Value*, llvm::BasicBlock*, llvm::SmallVectorImpl<std::pair<llvm::Constant*, llvm::BasicBlock*> >&, (anonymous namespace)::ConstantPreference)"},
-    {"_ZN12_GLOBAL__N_113JumpThreading32DuplicateCondBranchOnPHIIntoPredEPN4llvm10BasicBlockERKNS1_15SmallVectorImplIS3_EE", "(anonymous namespace)::JumpThreading::DuplicateCondBranchOnPHIIntoPred(llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::BasicBlock*> const&)"},
-    {"_Z28getJumpThreadDuplicationCostPKN4llvm10BasicBlockE", "getJumpThreadDuplicationCost(llvm::BasicBlock const*)"},
-    {"_Z31AddPHINodeEntriesForMappedBlockPN4llvm10BasicBlockES1_S1_RNS_8DenseMapIPNS_11InstructionEPNS_5ValueENS_12DenseMapInfoIS4_EENS7_IS6_EEEE", "AddPHINodeEntriesForMappedBlock(llvm::BasicBlock*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::DenseMap<llvm::Instruction*, llvm::Value*, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::Value*> >&)"},
-    {"_ZN4llvm25array_pod_sort_comparatorISt4pairIPNS_10BasicBlockEPNS_5ValueEEEEiPKvS8_", "int llvm::array_pod_sort_comparator<std::pair<llvm::BasicBlock*, llvm::Value*> >(void const*, void const*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_113JumpThreadingEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::JumpThreading>()"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionEPNS_5ValueENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Instruction*, llvm::Value*, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::Value*> >::InsertIntoBucket(llvm::Instruction* const&, llvm::Value* const&, std::pair<llvm::Instruction*, llvm::Value*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionEPNS_5ValueENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Instruction*, llvm::Value*, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPNS_5ValueEPNS_10BasicBlockEEcNS_12DenseMapInfoIS6_EENS7_IcEEE15LookupBucketForERKS6_RPS1_IS6_cE", "llvm::DenseMap<std::pair<llvm::Value*, llvm::BasicBlock*>, char, llvm::DenseMapInfo<std::pair<llvm::Value*, llvm::BasicBlock*> >, llvm::DenseMapInfo<char> >::LookupBucketFor(std::pair<llvm::Value*, llvm::BasicBlock*> const&, std::pair<std::pair<llvm::Value*, llvm::BasicBlock*>, char>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_5ValueEPNS_10BasicBlockEEcNS_12DenseMapInfoIS6_EENS7_IcEEE6insertERKS1_IS6_cE", "llvm::DenseMap<std::pair<llvm::Value*, llvm::BasicBlock*>, char, llvm::DenseMapInfo<std::pair<llvm::Value*, llvm::BasicBlock*> >, llvm::DenseMapInfo<char> >::insert(std::pair<std::pair<llvm::Value*, llvm::BasicBlock*>, char> const&)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_5ValueEPNS_10BasicBlockEEcNS_12DenseMapInfoIS6_EENS7_IcEEE16InsertIntoBucketERKS6_RKcPS1_IS6_cE", "llvm::DenseMap<std::pair<llvm::Value*, llvm::BasicBlock*>, char, llvm::DenseMapInfo<std::pair<llvm::Value*, llvm::BasicBlock*> >, llvm::DenseMapInfo<char> >::InsertIntoBucket(std::pair<llvm::Value*, llvm::BasicBlock*> const&, char const&, std::pair<std::pair<llvm::Value*, llvm::BasicBlock*>, char>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_5ValueEPNS_10BasicBlockEEcNS_12DenseMapInfoIS6_EENS7_IcEEE4growEj", "llvm::DenseMap<std::pair<llvm::Value*, llvm::BasicBlock*>, char, llvm::DenseMapInfo<std::pair<llvm::Value*, llvm::BasicBlock*> >, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_10BasicBlockEE6resizeEj", "llvm::SmallVectorImpl<llvm::BasicBlock*>::resize(unsigned int)"},
-    {"_ZSt6__findIPPN4llvm10BasicBlockES2_ET_S4_S4_RKT0_St26random_access_iterator_tag", "llvm::BasicBlock** std::__find<llvm::BasicBlock**, llvm::BasicBlock*>(llvm::BasicBlock**, llvm::BasicBlock**, llvm::BasicBlock* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm18initializeLICMPassERNS_12PassRegistryE", "llvm::initializeLICMPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm14createLICMPassEv", "llvm::createLICMPass()"},
-    {"_ZN12_GLOBAL__N_14LICMD1Ev", "(anonymous namespace)::LICM::~LICM()"},
-    {"_ZN12_GLOBAL__N_14LICMD0Ev", "(anonymous namespace)::LICM::~LICM()"},
-    {"_ZNK12_GLOBAL__N_14LICM16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LICM::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_14LICM9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LICM::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN12_GLOBAL__N_14LICM14doFinalizationEv", "(anonymous namespace)::LICM::doFinalization()"},
-    {"_ZN12_GLOBAL__N_14LICM23cloneBasicBlockAnalysisEPN4llvm10BasicBlockES3_PNS1_4LoopE", "(anonymous namespace)::LICM::cloneBasicBlockAnalysis(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Loop*)"},
-    {"_ZN12_GLOBAL__N_14LICM19deleteAnalysisValueEPN4llvm5ValueEPNS1_4LoopE", "(anonymous namespace)::LICM::deleteAnalysisValue(llvm::Value*, llvm::Loop*)"},
-    {"_ZN12_GLOBAL__N_14LICM10SinkRegionEPN4llvm15DomTreeNodeBaseINS1_10BasicBlockEEE", "(anonymous namespace)::LICM::SinkRegion(llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZN12_GLOBAL__N_14LICM11HoistRegionEPN4llvm15DomTreeNodeBaseINS1_10BasicBlockEEE", "(anonymous namespace)::LICM::HoistRegion(llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZN12_GLOBAL__N_14LICM30isSafeToExecuteUnconditionallyERN4llvm11InstructionE", "(anonymous namespace)::LICM::isSafeToExecuteUnconditionally(llvm::Instruction&)"},
-    {"_ZN12_GLOBAL__N_112LoopPromoterD1Ev", "(anonymous namespace)::LoopPromoter::~LoopPromoter()"},
-    {"_ZN12_GLOBAL__N_112LoopPromoterD0Ev", "(anonymous namespace)::LoopPromoter::~LoopPromoter()"},
-    {"_ZNK12_GLOBAL__N_112LoopPromoter12isInstInListEPN4llvm11InstructionERKNS1_15SmallVectorImplIS3_EE", "(anonymous namespace)::LoopPromoter::isInstInList(llvm::Instruction*, llvm::SmallVectorImpl<llvm::Instruction*> const&) const"},
-    {"_ZNK12_GLOBAL__N_112LoopPromoter34doExtraRewritesBeforeFinalDeletionEv", "(anonymous namespace)::LoopPromoter::doExtraRewritesBeforeFinalDeletion() const"},
-    {"_ZNK12_GLOBAL__N_112LoopPromoter20replaceLoadWithValueEPN4llvm8LoadInstEPNS1_5ValueE", "(anonymous namespace)::LoopPromoter::replaceLoadWithValue(llvm::LoadInst*, llvm::Value*) const"},
-    {"_ZNK12_GLOBAL__N_112LoopPromoter18instructionDeletedEPN4llvm11InstructionE", "(anonymous namespace)::LoopPromoter::instructionDeleted(llvm::Instruction*) const"},
-    {"_ZN12_GLOBAL__N_14LICM18canSinkOrHoistInstERN4llvm11InstructionE", "(anonymous namespace)::LICM::canSinkOrHoistInst(llvm::Instruction&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_14LICMEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LICM>()"},
-    {"_ZN4llvm6iplistINS_8AliasSetENS_12ilist_traitsIS1_EEE3endEv", "llvm::iplist<llvm::AliasSet, llvm::ilist_traits<llvm::AliasSet> >::end()"},
-    {"_ZN4llvm6iplistINS_8AliasSetENS_12ilist_traitsIS1_EEED2Ev", "llvm::iplist<llvm::AliasSet, llvm::ilist_traits<llvm::AliasSet> >::~iplist()"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEED2Ev", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::~DenseMap()"},
-    {"_ZN4llvm15AliasSetTracker13ASTCallbackVHD1Ev", "llvm::AliasSetTracker::ASTCallbackVH::~ASTCallbackVH()"},
-    {"_ZN4llvm15AliasSetTracker13ASTCallbackVHD0Ev", "llvm::AliasSetTracker::ASTCallbackVH::~ASTCallbackVH()"},
-    {"_ZN4llvm8DenseMapIPNS_4LoopEPNS_15AliasSetTrackerENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Loop*, llvm::AliasSetTracker*, llvm::DenseMapInfo<llvm::Loop*>, llvm::DenseMapInfo<llvm::AliasSetTracker*> >::InsertIntoBucket(llvm::Loop* const&, llvm::AliasSetTracker* const&, std::pair<llvm::Loop*, llvm::AliasSetTracker*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_4LoopEPNS_15AliasSetTrackerENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Loop*, llvm::AliasSetTracker*, llvm::DenseMapInfo<llvm::Loop*>, llvm::DenseMapInfo<llvm::AliasSetTracker*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE4initEj", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::init(unsigned int)"},
-    {"_ZN4llvm26initializeLoopDeletionPassERNS_12PassRegistryE", "llvm::initializeLoopDeletionPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm22createLoopDeletionPassEv", "llvm::createLoopDeletionPass()"},
-    {"_ZN12_GLOBAL__N_112LoopDeletionD1Ev", "(anonymous namespace)::LoopDeletion::~LoopDeletion()"},
-    {"_ZN12_GLOBAL__N_112LoopDeletionD0Ev", "(anonymous namespace)::LoopDeletion::~LoopDeletion()"},
-    {"_ZNK12_GLOBAL__N_112LoopDeletion16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LoopDeletion::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_112LoopDeletion9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LoopDeletion::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_112LoopDeletionEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LoopDeletion>()"},
-    {"_ZN4llvm15SmallVectorImplIPNS_15DomTreeNodeBaseINS_10BasicBlockEEEE6insertIN9__gnu_cxx17__normal_iteratorIPS4_St6vectorIS4_SaIS4_EEEEEES9_S9_T_SE_", "llvm::DomTreeNodeBase<llvm::BasicBlock>** llvm::SmallVectorImpl<llvm::DomTreeNodeBase<llvm::BasicBlock>*>::insert<__gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > >(llvm::DomTreeNodeBase<llvm::BasicBlock>**, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > >, __gnu_cxx::__normal_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>**, std::vector<llvm::DomTreeNodeBase<llvm::BasicBlock>*, std::allocator<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > >)"},
-    {"_ZN4llvm32initializeLoopIdiomRecognizePassERNS_12PassRegistryE", "llvm::initializeLoopIdiomRecognizePass(llvm::PassRegistry&)"},
-    {"_ZN4llvm19createLoopIdiomPassEv", "llvm::createLoopIdiomPass()"},
-    {"_ZN12_GLOBAL__N_118LoopIdiomRecognizeD1Ev", "(anonymous namespace)::LoopIdiomRecognize::~LoopIdiomRecognize()"},
-    {"_ZN12_GLOBAL__N_118LoopIdiomRecognizeD0Ev", "(anonymous namespace)::LoopIdiomRecognize::~LoopIdiomRecognize()"},
-    {"_ZNK12_GLOBAL__N_118LoopIdiomRecognize16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LoopIdiomRecognize::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_118LoopIdiomRecognize9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LoopIdiomRecognize::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN12_GLOBAL__N_118LoopIdiomRecognize28processLoopStoreOfSplatValueEPN4llvm5ValueEjjS3_PNS1_11InstructionEPKNS1_14SCEVAddRecExprEPKNS1_4SCEVE", "(anonymous namespace)::LoopIdiomRecognize::processLoopStoreOfSplatValue(llvm::Value*, unsigned int, unsigned int, llvm::Value*, llvm::Instruction*, llvm::SCEVAddRecExpr const*, llvm::SCEV const*)"},
-    {"_Z21mayLoopAccessLocationPN4llvm5ValueENS_13AliasAnalysis12ModRefResultEPNS_4LoopEPKNS_4SCEVEjRS2_PNS_11InstructionE", "mayLoopAccessLocation(llvm::Value*, llvm::AliasAnalysis::ModRefResult, llvm::Loop*, llvm::SCEV const*, unsigned int, llvm::AliasAnalysis&, llvm::Instruction*)"},
-    {"_Z21DeleteDeadInstructionPN4llvm11InstructionERNS_15ScalarEvolutionE", "DeleteDeadInstruction(llvm::Instruction*, llvm::ScalarEvolution&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_118LoopIdiomRecognizeEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LoopIdiomRecognize>()"},
-    {"_ZN4llvm24initializeLoopRotatePassERNS_12PassRegistryE", "llvm::initializeLoopRotatePass(llvm::PassRegistry&)"},
-    {"_ZN4llvm20createLoopRotatePassEv", "llvm::createLoopRotatePass()"},
-    {"_ZN12_GLOBAL__N_110LoopRotateD1Ev", "(anonymous namespace)::LoopRotate::~LoopRotate()"},
-    {"_ZN12_GLOBAL__N_110LoopRotateD0Ev", "(anonymous namespace)::LoopRotate::~LoopRotate()"},
-    {"_ZNK12_GLOBAL__N_110LoopRotate16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LoopRotate::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_110LoopRotate9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LoopRotate::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_110LoopRotateEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LoopRotate>()"},
-    {"_ZN4llvm8ValueMapIPKNS_5ValueENS_10TrackingVHIS1_EENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEEixERKS3_", "llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::operator[](llvm::Value const* const&)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_ED2Ev", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::~DenseMap()"},
-    {"_ZN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS1_EENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEED1Ev", "llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::~ValueMapCallbackVH()"},
-    {"_ZN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS1_EENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEED0Ev", "llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::~ValueMapCallbackVH()"},
-    {"_ZN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS1_EENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEE7deletedEv", "llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::deleted()"},
-    {"_ZN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS1_EENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEE19allUsesReplacedWithEPS1_", "llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E4findERKSB_", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::find(llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > const&)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E5eraseENS_16DenseMapIteratorISB_S6_SC_SA_Lb0EEE", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::erase(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> >, false>)"},
-    {"_ZN4llvm8ValueMapIPKNS_5ValueENS_10TrackingVHIS1_EENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEE6insertERKSt4pairIS3_S5_E", "llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::insert(std::pair<llvm::Value const*, llvm::TrackingVH<llvm::Value> > const&)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E6insertERKSt4pairISB_S6_E", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::insert(std::pair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value> > const&)"},
-    {"_ZNK4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E15LookupBucketForERKSB_RPSt4pairISB_S6_E", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::LookupBucketFor(llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > const&, std::pair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value> >*&) const"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E16InsertIntoBucketERKSB_RKS6_PSt4pairISB_S6_E", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::InsertIntoBucket(llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > const&, llvm::TrackingVH<llvm::Value> const&, std::pair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value> >*)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E4growEj", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E5eraseERKSB_", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::erase(llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > const&)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E4initEj", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::init(unsigned int)"},
-    {"_ZN4llvm32initializeLoopStrengthReducePassERNS_12PassRegistryE", "llvm::initializeLoopStrengthReducePass(llvm::PassRegistry&)"},
-    {"_ZN4llvm28createLoopStrengthReducePassEPKNS_14TargetLoweringE", "llvm::createLoopStrengthReducePass(llvm::TargetLowering const*)"},
-    {"_ZN12_GLOBAL__N_118LoopStrengthReduceD1Ev", "(anonymous namespace)::LoopStrengthReduce::~LoopStrengthReduce()"},
-    {"_ZN12_GLOBAL__N_118LoopStrengthReduceD0Ev", "(anonymous namespace)::LoopStrengthReduce::~LoopStrengthReduce()"},
-    {"_ZNK12_GLOBAL__N_118LoopStrengthReduce16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LoopStrengthReduce::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_118LoopStrengthReduce9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LoopStrengthReduce::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN12_GLOBAL__N_16LSRUseD1Ev", "(anonymous namespace)::LSRUse::~LSRUse()"},
-    {"_ZN12_GLOBAL__N_111LSRInstanceC2EPKN4llvm14TargetLoweringEPNS1_4LoopEPNS1_4PassE", "(anonymous namespace)::LSRInstance::LSRInstance(llvm::TargetLowering const*, llvm::Loop*, llvm::Pass*)"},
-    {"_ZN12_GLOBAL__N_111LSRInstance24GenerateAllReuseFormulaeEv", "(anonymous namespace)::LSRInstance::GenerateAllReuseFormulae()"},
-    {"_ZN12_GLOBAL__N_111LSRInstance38FilterOutUndesirableDedicatedRegistersEv", "(anonymous namespace)::LSRInstance::FilterOutUndesirableDedicatedRegisters()"},
-    {"_ZNK12_GLOBAL__N_111LSRInstance6ExpandERKNS_8LSRFixupERKNS_7FormulaEN4llvm14ilist_iteratorINS7_11InstructionEEERNS7_12SCEVExpanderERNS7_15SmallVectorImplINS7_6WeakVHEEE", "(anonymous namespace)::LSRInstance::Expand((anonymous namespace)::LSRFixup const&, (anonymous namespace)::Formula const&, llvm::ilist_iterator<llvm::Instruction>, llvm::SCEVExpander&, llvm::SmallVectorImpl<llvm::WeakVH>&) const"},
-    {"_ZNK12_GLOBAL__N_18LSRFixup21isUseFullyOutsideLoopEPKN4llvm4LoopE", "(anonymous namespace)::LSRFixup::isUseFullyOutsideLoop(llvm::Loop const*) const"},
-    {"_ZNK12_GLOBAL__N_111LSRInstance12SolveRecurseERN4llvm15SmallVectorImplIPKNS_7FormulaEEERNS_4CostES7_RKS8_RKNS1_11SmallPtrSetIPKNS1_4SCEVELj16EEERNS1_8DenseSetISF_NS1_12DenseMapInfoISF_EEEE", "(anonymous namespace)::LSRInstance::SolveRecurse(llvm::SmallVectorImpl<(anonymous namespace)::Formula const*>&, (anonymous namespace)::Cost&, llvm::SmallVectorImpl<(anonymous namespace)::Formula const*>&, (anonymous namespace)::Cost const&, llvm::SmallPtrSet<llvm::SCEV const*, 16u> const&, llvm::DenseSet<llvm::SCEV const*, llvm::DenseMapInfo<llvm::SCEV const*> >&) const"},
-    {"_ZN12_GLOBAL__N_14Cost11RateFormulaERKNS_7FormulaERN4llvm11SmallPtrSetIPKNS4_4SCEVELj16EEERKNS4_8DenseSetIS8_NS4_12DenseMapInfoIS8_EEEEPKNS4_4LoopERKNS4_15SmallVectorImplIxEERNS4_15ScalarEvolutionERNS4_13DominatorTreeE", "(anonymous namespace)::Cost::RateFormula((anonymous namespace)::Formula const&, llvm::SmallPtrSet<llvm::SCEV const*, 16u>&, llvm::DenseSet<llvm::SCEV const*, llvm::DenseMapInfo<llvm::SCEV const*> > const&, llvm::Loop const*, llvm::SmallVectorImpl<long long> const&, llvm::ScalarEvolution&, llvm::DominatorTree&)"},
-    {"_ZN12_GLOBAL__N_14Cost12RateRegisterEPKN4llvm4SCEVERNS1_11SmallPtrSetIS4_Lj16EEEPKNS1_4LoopERNS1_15ScalarEvolutionERNS1_13DominatorTreeE", "(anonymous namespace)::Cost::RateRegister(llvm::SCEV const*, llvm::SmallPtrSet<llvm::SCEV const*, 16u>&, llvm::Loop const*, llvm::ScalarEvolution&, llvm::DominatorTree&)"},
-    {"_ZN12_GLOBAL__N_16LSRUse13RecomputeRegsEmRNS_13RegUseTrackerE", "(anonymous namespace)::LSRUse::RecomputeRegs(unsigned long, (anonymous namespace)::RegUseTracker&)"},
-    {"_ZN12_GLOBAL__N_111LSRInstance18reconcileNewOffsetERNS_6LSRUseExbNS1_8KindTypeEPKN4llvm4TypeE", "(anonymous namespace)::LSRInstance::reconcileNewOffset((anonymous namespace)::LSRUse&, long long, bool, (anonymous namespace)::LSRUse::KindType, llvm::Type const*)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_17FormulaEEaSERKS3_", "llvm::SmallVectorImpl<(anonymous namespace)::Formula>::operator=(llvm::SmallVectorImpl<(anonymous namespace)::Formula> const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseIN12_GLOBAL__N_17FormulaELb0EE4growEm", "llvm::SmallVectorTemplateBase<(anonymous namespace)::Formula, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapINS_11SmallVectorIPKNS_4SCEVELj2EEEcN12_GLOBAL__N_122UniquifierDenseMapInfoENS_12DenseMapInfoIcEEE8CopyFromERKSA_", "llvm::DenseMap<llvm::SmallVector<llvm::SCEV const*, 2u>, char, (anonymous namespace)::UniquifierDenseMapInfo, llvm::DenseMapInfo<char> >::CopyFrom(llvm::DenseMap<llvm::SmallVector<llvm::SCEV const*, 2u>, char, (anonymous namespace)::UniquifierDenseMapInfo, llvm::DenseMapInfo<char> > const&)"},
-    {"_Z10isLegalUseRKN4llvm14TargetLowering8AddrModeEN12_GLOBAL__N_16LSRUse8KindTypeEPKNS_4TypeEPKS0_", "isLegalUse(llvm::TargetLowering::AddrMode const&, (anonymous namespace)::LSRUse::KindType, llvm::Type const*, llvm::TargetLowering const*)"},
-    {"_ZNK12_GLOBAL__N_16LSRUse22HasFormulaWithSameRegsERKNS_7FormulaE", "(anonymous namespace)::LSRUse::HasFormulaWithSameRegs((anonymous namespace)::Formula const&) const"},
-    {"_ZNK4llvm8DenseMapINS_11SmallVectorIPKNS_4SCEVELj2EEEcN12_GLOBAL__N_122UniquifierDenseMapInfoENS_12DenseMapInfoIcEEE15LookupBucketForERKS5_RPSt4pairIS5_cE", "llvm::DenseMap<llvm::SmallVector<llvm::SCEV const*, 2u>, char, (anonymous namespace)::UniquifierDenseMapInfo, llvm::DenseMapInfo<char> >::LookupBucketFor(llvm::SmallVector<llvm::SCEV const*, 2u> const&, std::pair<llvm::SmallVector<llvm::SCEV const*, 2u>, char>*&) const"},
-    {"_ZNK12_GLOBAL__N_113RegUseTracker24isRegUsedByUsesOtherThanEPKN4llvm4SCEVEm", "(anonymous namespace)::RegUseTracker::isRegUsedByUsesOtherThan(llvm::SCEV const*, unsigned long) const"},
-    {"_ZNK4llvm8DenseMapINS_11SmallVectorIPKNS_4SCEVELj2EEEmN12_GLOBAL__N_122UniquifierDenseMapInfoENS_12DenseMapInfoImEEE15LookupBucketForERKS5_RPSt4pairIS5_mE", "llvm::DenseMap<llvm::SmallVector<llvm::SCEV const*, 2u>, unsigned long, (anonymous namespace)::UniquifierDenseMapInfo, llvm::DenseMapInfo<unsigned long> >::LookupBucketFor(llvm::SmallVector<llvm::SCEV const*, 2u> const&, std::pair<llvm::SmallVector<llvm::SCEV const*, 2u>, unsigned long>*&) const"},
-    {"_ZN4llvm16DenseMapIteratorINS_11SmallVectorIPKNS_4SCEVELj2EEEmN12_GLOBAL__N_122UniquifierDenseMapInfoENS_12DenseMapInfoImEELb0EEC1EPSt4pairIS5_mESD_", "llvm::DenseMapIterator<llvm::SmallVector<llvm::SCEV const*, 2u>, unsigned long, (anonymous namespace)::UniquifierDenseMapInfo, llvm::DenseMapInfo<unsigned long>, false>::DenseMapIterator(std::pair<llvm::SmallVector<llvm::SCEV const*, 2u>, unsigned long>*, std::pair<llvm::SmallVector<llvm::SCEV const*, 2u>, unsigned long>*)"},
-    {"_ZN12_GLOBAL__N_111LSRInstance22GenerateReassociationsERNS_6LSRUseEjNS_7FormulaEj", "(anonymous namespace)::LSRInstance::GenerateReassociations((anonymous namespace)::LSRUse&, unsigned int, (anonymous namespace)::Formula, unsigned int)"},
-    {"_Z16ExtractImmediateRPKN4llvm4SCEVERNS_15ScalarEvolutionE", "ExtractImmediate(llvm::SCEV const*&, llvm::ScalarEvolution&)"},
-    {"_ZN12_GLOBAL__N_111LSRInstance13InsertFormulaERNS_6LSRUseEjRKNS_7FormulaE", "(anonymous namespace)::LSRInstance::InsertFormula((anonymous namespace)::LSRUse&, unsigned int, (anonymous namespace)::Formula const&)"},
-    {"_ZN12_GLOBAL__N_113RegUseTracker13CountRegisterEPKN4llvm4SCEVEm", "(anonymous namespace)::RegUseTracker::CountRegister(llvm::SCEV const*, unsigned long)"},
-    {"_ZN4llvm16DenseMapIteratorINS_11SmallVectorIPKNS_4SCEVELj2EEEcN12_GLOBAL__N_122UniquifierDenseMapInfoENS_12DenseMapInfoIcEELb0EEC1EPSt4pairIS5_cESD_", "llvm::DenseMapIterator<llvm::SmallVector<llvm::SCEV const*, 2u>, char, (anonymous namespace)::UniquifierDenseMapInfo, llvm::DenseMapInfo<char>, false>::DenseMapIterator(std::pair<llvm::SmallVector<llvm::SCEV const*, 2u>, char>*, std::pair<llvm::SmallVector<llvm::SCEV const*, 2u>, char>*)"},
-    {"_Z12getExactSDivPKN4llvm4SCEVES2_RNS_15ScalarEvolutionEb", "getExactSDiv(llvm::SCEV const*, llvm::SCEV const*, llvm::ScalarEvolution&, bool)"},
-    {"_Z13ExtractSymbolRPKN4llvm4SCEVERNS_15ScalarEvolutionE", "ExtractSymbol(llvm::SCEV const*&, llvm::ScalarEvolution&)"},
-    {"_Z15CollectSubexprsPKN4llvm4SCEVEPKNS_12SCEVConstantERNS_15SmallVectorImplIS2_EEPKNS_4LoopERNS_15ScalarEvolutionE", "CollectSubexprs(llvm::SCEV const*, llvm::SCEVConstant const*, llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::Loop const*, llvm::ScalarEvolution&)"},
-    {"_Z16isAlwaysFoldablePKN4llvm4SCEVExxbN12_GLOBAL__N_16LSRUse8KindTypeEPKNS_4TypeEPKNS_14TargetLoweringERNS_15ScalarEvolutionE", "isAlwaysFoldable(llvm::SCEV const*, long long, long long, bool, (anonymous namespace)::LSRUse::KindType, llvm::Type const*, llvm::TargetLowering const*, llvm::ScalarEvolution&)"},
-    {"_ZN12_GLOBAL__N_111LSRInstance11getNewFixupEv", "(anonymous namespace)::LSRInstance::getNewFixup()"},
-    {"_ZN12_GLOBAL__N_111LSRInstance6getUseERPKN4llvm4SCEVENS_6LSRUse8KindTypeEPKNS1_4TypeE", "(anonymous namespace)::LSRInstance::getUse(llvm::SCEV const*&, (anonymous namespace)::LSRUse::KindType, llvm::Type const*)"},
-    {"_Z13getAccessTypePKN4llvm11InstructionE", "getAccessType(llvm::Instruction const*)"},
-    {"_Z14DoInitialMatchPKN4llvm4SCEVEPNS_4LoopERNS_15SmallVectorImplIS2_EES7_RNS_15ScalarEvolutionE", "DoInitialMatch(llvm::SCEV const*, llvm::Loop*, llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::ScalarEvolution&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_118LoopStrengthReduceEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LoopStrengthReduce>()"},
-    {"_ZNK4llvm8LoopPass27getPotentialPassManagerTypeEv", "llvm::LoopPass::getPotentialPassManagerType() const"},
-    {"_ZN4llvm8LoopPass16doInitializationEPNS_4LoopERNS_13LPPassManagerE", "llvm::LoopPass::doInitialization(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN4llvm8LoopPass14doFinalizationEv", "llvm::LoopPass::doFinalization()"},
-    {"_ZN4llvm8LoopPass23cloneBasicBlockAnalysisEPNS_10BasicBlockES2_PNS_4LoopE", "llvm::LoopPass::cloneBasicBlockAnalysis(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Loop*)"},
-    {"_ZN4llvm8LoopPass19deleteAnalysisValueEPNS_5ValueEPNS_4LoopE", "llvm::LoopPass::deleteAnalysisValue(llvm::Value*, llvm::Loop*)"},
-    {"_ZNSt8_Rb_treeIxxSt9_IdentityIxESt4lessIxESaIxEE8_M_eraseEPSt13_Rb_tree_nodeIxE", "std::_Rb_tree<long long, long long, std::_Identity<long long>, std::less<long long>, std::allocator<long long> >::_M_erase(std::_Rb_tree_node<long long>*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4SCEVEPNS1_11InstructionEES0_IKS7_NS1_11AssertingVHINS1_5ValueEEEESt10_Select1stISC_ESt4lessIS7_ESaISC_EE8_M_eraseEPSt13_Rb_tree_nodeISC_E", "std::_Rb_tree<std::pair<llvm::SCEV const*, llvm::Instruction*>, std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> >, std::_Select1st<std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > >, std::less<std::pair<llvm::SCEV const*, llvm::Instruction*> >, std::allocator<std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm11AssertingVHINS0_5ValueEEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E", "std::_Rb_tree<llvm::AssertingVH<llvm::Value>, llvm::AssertingVH<llvm::Value>, std::_Identity<llvm::AssertingVH<llvm::Value> >, std::less<llvm::AssertingVH<llvm::Value> >, std::allocator<llvm::AssertingVH<llvm::Value> > >::_M_erase(std::_Rb_tree_node<llvm::AssertingVH<llvm::Value> >*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_6WeakVHELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::WeakVH, false>::grow(unsigned long)"},
-    {"_ZN4llvm15ScalarEvolution10getMulExprEPKNS_4SCEVES3_bb", "llvm::ScalarEvolution::getMulExpr(llvm::SCEV const*, llvm::SCEV const*, bool, bool)"},
-    {"_ZNK4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE12getLoopLatchEv", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getLoopLatch() const"},
-    {"_ZNK4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE16getExitingBlocksERNS_15SmallVectorImplIPS1_EE", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getExitingBlocks(llvm::SmallVectorImpl<llvm::BasicBlock*>&) const"},
-    {"_ZSt16__introsort_loopIPPN4llvm10BasicBlockElEvT_S4_T0_", "void std::__introsort_loop<llvm::BasicBlock**, long>(llvm::BasicBlock**, llvm::BasicBlock**, long)"},
-    {"_ZSt22__final_insertion_sortIPPN4llvm10BasicBlockEEvT_S4_", "void std::__final_insertion_sort<llvm::BasicBlock**>(llvm::BasicBlock**, llvm::BasicBlock**)"},
-    {"_ZSt13__heap_selectIPPN4llvm10BasicBlockEEvT_S4_S4_", "void std::__heap_select<llvm::BasicBlock**>(llvm::BasicBlock**, llvm::BasicBlock**, llvm::BasicBlock**)"},
-    {"_ZSt9sort_heapIPPN4llvm10BasicBlockEEvT_S4_", "void std::sort_heap<llvm::BasicBlock**>(llvm::BasicBlock**, llvm::BasicBlock**)"},
-    {"_ZSt9make_heapIPPN4llvm10BasicBlockEEvT_S4_", "void std::make_heap<llvm::BasicBlock**>(llvm::BasicBlock**, llvm::BasicBlock**)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPKPN4llvm10BasicBlockESt6vectorIS4_SaIS4_EEEEPKS3_ET_SD_SD_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::BasicBlock* const*, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::BasicBlock* const*, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, llvm::BasicBlock const*>(__gnu_cxx::__normal_iterator<llvm::BasicBlock* const*, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::BasicBlock* const*, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, llvm::BasicBlock const* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_5ValueENS_12DenseMapInfoIS2_EENS5_IS4_EEE6insertERKSt4pairIS2_S4_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Value*> >::insert(std::pair<llvm::BasicBlock*, llvm::Value*> const&)"},
-    {"_ZN4llvm12SCEVExpanderC2ERNS_15ScalarEvolutionE", "llvm::SCEVExpander::SCEVExpander(llvm::ScalarEvolution&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVEcNS_12DenseMapInfoIS3_EENS4_IcEEE6insertERKSt4pairIS3_cE", "llvm::DenseMap<llvm::SCEV const*, char, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<char> >::insert(std::pair<llvm::SCEV const*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVEcNS_12DenseMapInfoIS3_EENS4_IcEEE16InsertIntoBucketERKS3_RKcPSt4pairIS3_cE", "llvm::DenseMap<llvm::SCEV const*, char, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(llvm::SCEV const* const&, char const&, std::pair<llvm::SCEV const*, char>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVEcNS_12DenseMapInfoIS3_EENS4_IcEEE4growEj", "llvm::DenseMap<llvm::SCEV const*, char, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZSt6__findIPKPKN4llvm4SCEVES3_ET_S6_S6_RKT0_St26random_access_iterator_tag", "llvm::SCEV const* const* std::__find<llvm::SCEV const* const*, llvm::SCEV const*>(llvm::SCEV const* const*, llvm::SCEV const* const*, llvm::SCEV const* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm15SmallVectorImplIPKNS_4SCEVEEaSERKS4_", "llvm::SmallVectorImpl<llvm::SCEV const*>::operator=(llvm::SmallVectorImpl<llvm::SCEV const*> const&)"},
-    {"_ZN4llvm14SmallBitVector9referenceaSEb", "llvm::SmallBitVector::reference::operator=(bool)"},
-    {"_ZN4llvm14SmallBitVector6resizeEjb", "llvm::SmallBitVector::resize(unsigned int, bool)"},
-    {"_ZN4llvm15SmallVectorImplIxEaSERKS1_", "llvm::SmallVectorImpl<long long>::operator=(llvm::SmallVectorImpl<long long> const&)"},
-    {"_ZSt16__introsort_loopIPPKN4llvm4SCEVElEvT_S5_T0_", "void std::__introsort_loop<llvm::SCEV const**, long>(llvm::SCEV const**, llvm::SCEV const**, long)"},
-    {"_ZSt22__final_insertion_sortIPPKN4llvm4SCEVEEvT_S5_", "void std::__final_insertion_sort<llvm::SCEV const**>(llvm::SCEV const**, llvm::SCEV const**)"},
-    {"_ZSt13__heap_selectIPPKN4llvm4SCEVEEvT_S5_S5_", "void std::__heap_select<llvm::SCEV const**>(llvm::SCEV const**, llvm::SCEV const**, llvm::SCEV const**)"},
-    {"_ZSt9sort_heapIPPKN4llvm4SCEVEEvT_S5_", "void std::sort_heap<llvm::SCEV const**>(llvm::SCEV const**, llvm::SCEV const**)"},
-    {"_ZSt9make_heapIPPKN4llvm4SCEVEEvT_S5_", "void std::make_heap<llvm::SCEV const**>(llvm::SCEV const**, llvm::SCEV const**)"},
-    {"_ZNK4llvm14SmallBitVector9find_nextEj", "llvm::SmallBitVector::find_next(unsigned int) const"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVESt3mapIxS3_St4lessIxESaISt4pairIKxS3_EEENS_12DenseMapInfoIS3_EENSC_ISB_EEE6insertERKS7_IS3_SB_E", "llvm::DenseMap<llvm::SCEV const*, std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > >, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > > > >::insert(std::pair<llvm::SCEV const*, std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > > > const&)"},
-    {"_ZN4llvm14SmallBitVectoroRERKS0_", "llvm::SmallBitVector::operator|=(llvm::SmallBitVector const&)"},
-    {"_ZN4llvm8SmallSetISt4pairImxELj32EE6insertERKS2_", "llvm::SmallSet<std::pair<unsigned long, long long>, 32u>::insert(std::pair<unsigned long, long long> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVESt3mapIxS3_St4lessIxESaISt4pairIKxS3_EEENS_12DenseMapInfoIS3_EENSC_ISB_EEE5clearEv", "llvm::DenseMap<llvm::SCEV const*, std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > >, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > > > >::clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_14SmallBitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE5clearEv", "llvm::DenseMap<llvm::SCEV const*, llvm::SmallBitVector, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::SmallBitVector> >::clear()"},
-    {"_ZN4llvm15ScalarEvolution10getAddExprEPKNS_4SCEVES3_bb", "llvm::ScalarEvolution::getAddExpr(llvm::SCEV const*, llvm::SCEV const*, bool, bool)"},
-    {"_ZNK4llvm5APInt3uleEy", "llvm::APInt::ule(unsigned long long) const"},
-    {"_ZNSt8_Rb_treeISt4pairImxES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE8_M_eraseEPSt13_Rb_tree_nodeIS1_E", "std::_Rb_tree<std::pair<unsigned long, long long>, std::pair<unsigned long, long long>, std::_Identity<std::pair<unsigned long, long long> >, std::less<std::pair<unsigned long, long long> >, std::allocator<std::pair<unsigned long, long long> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned long, long long> >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_14SmallBitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::SCEV const*, llvm::SmallBitVector, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::SmallBitVector> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVESt3mapIxS3_St4lessIxESaISt4pairIKxS3_EEENS_12DenseMapInfoIS3_EENSC_ISB_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::SCEV const*, std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > >, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > > > >::shrink_and_clear()"},
-    {"_ZNSt8_Rb_treeISt4pairImxES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE16_M_insert_uniqueERKS1_", "std::_Rb_tree<std::pair<unsigned long, long long>, std::pair<unsigned long, long long>, std::_Identity<std::pair<unsigned long, long long> >, std::less<std::pair<unsigned long, long long> >, std::allocator<std::pair<unsigned long, long long> > >::_M_insert_unique(std::pair<unsigned long, long long> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_14SmallBitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::SCEV const*, llvm::SmallBitVector, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::SmallBitVector> >::FindAndConstruct(llvm::SCEV const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_14SmallBitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<llvm::SCEV const*, llvm::SmallBitVector, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::SmallBitVector> >::InsertIntoBucket(llvm::SCEV const* const&, llvm::SmallBitVector const&, std::pair<llvm::SCEV const*, llvm::SmallBitVector>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_14SmallBitVectorENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::SCEV const*, llvm::SmallBitVector, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::SmallBitVector> >::grow(unsigned int)"},
-    {"_ZNSt8_Rb_treeIxSt4pairIKxPKN4llvm4SCEVEESt10_Select1stIS6_ESt4lessIxESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<long long, std::pair<long long const, llvm::SCEV const*>, std::_Select1st<std::pair<long long const, llvm::SCEV const*> >, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > >::_M_insert_unique(std::pair<long long const, llvm::SCEV const*> const&)"},
-    {"_ZNSt8_Rb_treeIxSt4pairIKxPKN4llvm4SCEVEESt10_Select1stIS6_ESt4lessIxESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<long long, std::pair<long long const, llvm::SCEV const*>, std::_Select1st<std::pair<long long const, llvm::SCEV const*> >, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > >::_M_erase(std::_Rb_tree_node<std::pair<long long const, llvm::SCEV const*> >*)"},
-    {"_ZNSt8_Rb_treeIxSt4pairIKxPKN4llvm4SCEVEESt10_Select1stIS6_ESt4lessIxESaIS6_EE7_M_copyEPKSt13_Rb_tree_nodeIS6_EPSE_", "std::_Rb_tree<long long, std::pair<long long const, llvm::SCEV const*>, std::_Select1st<std::pair<long long const, llvm::SCEV const*> >, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > >::_M_copy(std::_Rb_tree_node<std::pair<long long const, llvm::SCEV const*> > const*, std::_Rb_tree_node<std::pair<long long const, llvm::SCEV const*> >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVESt3mapIxS3_St4lessIxESaISt4pairIKxS3_EEENS_12DenseMapInfoIS3_EENSC_ISB_EEE16InsertIntoBucketERKS3_RKSB_PS7_IS3_SB_E", "llvm::DenseMap<llvm::SCEV const*, std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > >, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > > > >::InsertIntoBucket(llvm::SCEV const* const&, std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > > const&, std::pair<llvm::SCEV const*, std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > > >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVESt3mapIxS3_St4lessIxESaISt4pairIKxS3_EEENS_12DenseMapInfoIS3_EENSC_ISB_EEE4growEj", "llvm::DenseMap<llvm::SCEV const*, std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > >, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<std::map<long long, llvm::SCEV const*, std::less<long long>, std::allocator<std::pair<long long const, llvm::SCEV const*> > > > >::grow(unsigned int)"},
-    {"_ZNK4llvm14SCEVAddRecExpr17getStepRecurrenceERNS_15ScalarEvolutionE", "llvm::SCEVAddRecExpr::getStepRecurrence(llvm::ScalarEvolution&) const"},
-    {"_ZN4llvm15ScalarEvolution13getAddRecExprERKNS_15SmallVectorImplIPKNS_4SCEVEEEPKNS_4LoopEbb", "llvm::ScalarEvolution::getAddRecExpr(llvm::SmallVectorImpl<llvm::SCEV const*> const&, llvm::Loop const*, bool, bool)"},
-    {"_ZN4llvm8SmallSetIxLj8EE6insertERKx", "llvm::SmallSet<long long, 8u>::insert(long long const&)"},
-    {"_ZNSt8_Rb_treeIxxSt9_IdentityIxESt4lessIxESaIxEE16_M_insert_uniqueERKx", "std::_Rb_tree<long long, long long, std::_Identity<long long>, std::less<long long>, std::allocator<long long> >::_M_insert_unique(long long const&)"},
-    {"_ZNK4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE18getLoopPredecessorEv", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getLoopPredecessor() const"},
-    {"_ZN4llvm8LoopPassD1Ev", "llvm::LoopPass::~LoopPass()"},
-    {"_ZN4llvm8LoopPassD0Ev", "llvm::LoopPass::~LoopPass()"},
-    {"_ZN4llvm24initializeLoopUnrollPassERNS_12PassRegistryE", "llvm::initializeLoopUnrollPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm20createLoopUnrollPassEv", "llvm::createLoopUnrollPass()"},
-    {"_ZN12_GLOBAL__N_110LoopUnrollD1Ev", "(anonymous namespace)::LoopUnroll::~LoopUnroll()"},
-    {"_ZN12_GLOBAL__N_110LoopUnrollD0Ev", "(anonymous namespace)::LoopUnroll::~LoopUnroll()"},
-    {"_ZNK12_GLOBAL__N_110LoopUnroll16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LoopUnroll::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_110LoopUnroll9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LoopUnroll::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_110LoopUnrollEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LoopUnroll>()"},
-    {"_ZN4llvm26initializeLoopUnswitchPassERNS_12PassRegistryE", "llvm::initializeLoopUnswitchPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm22createLoopUnswitchPassEb", "llvm::createLoopUnswitchPass(bool)"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitchD1Ev", "(anonymous namespace)::LoopUnswitch::~LoopUnswitch()"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitchD0Ev", "(anonymous namespace)::LoopUnswitch::~LoopUnswitch()"},
-    {"_ZNK12_GLOBAL__N_112LoopUnswitch16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LoopUnswitch::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitch13releaseMemoryEv", "(anonymous namespace)::LoopUnswitch::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitch9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LoopUnswitch::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_Z20FindLIVLoopConditionPN4llvm5ValueEPNS_4LoopERb", "FindLIVLoopCondition(llvm::Value*, llvm::Loop*, bool&)"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitch20UnswitchIfProfitableEPN4llvm5ValueEPNS1_8ConstantE", "(anonymous namespace)::LoopUnswitch::UnswitchIfProfitable(llvm::Value*, llvm::Constant*)"},
-    {"_Z9CloneLoopPN4llvm4LoopES1_RNS_8ValueMapIPKNS_5ValueENS_10TrackingVHIS3_EENS_14ValueMapConfigIS5_EENS_12DenseMapInfoIS7_EEEEPNS_8LoopInfoEPNS_13LPPassManagerE", "CloneLoop(llvm::Loop*, llvm::Loop*, llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >&, llvm::LoopInfo*, llvm::LPPassManager*)"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitch30EmitPreheaderBranchOnConditionEPN4llvm5ValueEPNS1_8ConstantEPNS1_10BasicBlockES7_PNS1_11InstructionE", "(anonymous namespace)::LoopUnswitch::EmitPreheaderBranchOnCondition(llvm::Value*, llvm::Constant*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Instruction*)"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitch36RewriteLoopBodyWithConditionConstantEPN4llvm4LoopEPNS1_5ValueEPNS1_8ConstantEb", "(anonymous namespace)::LoopUnswitch::RewriteLoopBodyWithConditionConstant(llvm::Loop*, llvm::Value*, llvm::Constant*, bool)"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitch12SimplifyCodeERSt6vectorIPN4llvm11InstructionESaIS4_EEPNS2_4LoopE", "(anonymous namespace)::LoopUnswitch::SimplifyCode(std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> >&, llvm::Loop*)"},
-    {"_Z18RemoveFromWorklistPN4llvm11InstructionERSt6vectorIS1_SaIS1_EE", "RemoveFromWorklist(llvm::Instruction*, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> >&)"},
-    {"_Z17ReplaceUsesOfWithPN4llvm11InstructionEPNS_5ValueERSt6vectorIS1_SaIS1_EEPNS_4LoopEPNS_13LPPassManagerE", "ReplaceUsesOfWith(llvm::Instruction*, llvm::Value*, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> >&, llvm::Loop*, llvm::LPPassManager*)"},
-    {"_Z28isTrivialLoopExitBlockHelperPN4llvm4LoopEPNS_10BasicBlockERS3_RSt3setIS3_St4lessIS3_ESaIS3_EE", "isTrivialLoopExitBlockHelper(llvm::Loop*, llvm::BasicBlock*, llvm::BasicBlock*&, std::set<llvm::BasicBlock*, std::less<llvm::BasicBlock*>, std::allocator<llvm::BasicBlock*> >&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_112LoopUnswitchEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LoopUnswitch>()"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm11InstructionESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::Instruction**, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::Instruction**, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > >, llvm::Instruction*>(__gnu_cxx::__normal_iterator<llvm::Instruction**, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > >, __gnu_cxx::__normal_iterator<llvm::Instruction**, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > >, llvm::Instruction* const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIPN4llvm4UserESaIS2_EEC2INS0_18value_use_iteratorIS1_EEEET_S8_RKS3_", "std::vector<llvm::User*, std::allocator<llvm::User*> >::vector<llvm::value_use_iterator<llvm::User> >(llvm::value_use_iterator<llvm::User>, llvm::value_use_iterator<llvm::User>, std::allocator<llvm::User*> const&)"},
-    {"_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE15_M_range_insertIPS2_EEvN9__gnu_cxx17__normal_iteratorIS6_S4_EET_SA_St20forward_iterator_tag", "void std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >::_M_range_insert<llvm::BasicBlock**>(__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, llvm::BasicBlock**, llvm::BasicBlock**, std::forward_iterator_tag)"},
-    {"_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEvNS7_IPS2_S4_EET_SD_St20forward_iterator_tag", "void std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >::_M_range_insert<__gnu_cxx::__normal_iterator<llvm::BasicBlock* const*, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > >(__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::BasicBlock* const*, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::BasicBlock* const*, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, std::forward_iterator_tag)"},
-    {"_ZN4llvm19createMemCpyOptPassEv", "llvm::createMemCpyOptPass()"},
-    {"_ZN4llvm23initializeMemCpyOptPassERNS_12PassRegistryE", "llvm::initializeMemCpyOptPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_19MemCpyOptEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::MemCpyOpt>()"},
-    {"_ZN12_GLOBAL__N_19MemCpyOptD1Ev", "(anonymous namespace)::MemCpyOpt::~MemCpyOpt()"},
-    {"_ZN12_GLOBAL__N_19MemCpyOptD0Ev", "(anonymous namespace)::MemCpyOpt::~MemCpyOpt()"},
-    {"_ZNK12_GLOBAL__N_19MemCpyOpt16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::MemCpyOpt::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_19MemCpyOpt13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::MemCpyOpt::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_19MemCpyOpt20performCallSlotOptznEPN4llvm11InstructionEPNS1_5ValueES5_yPNS1_8CallInstE", "(anonymous namespace)::MemCpyOpt::performCallSlotOptzn(llvm::Instruction*, llvm::Value*, llvm::Value*, unsigned long long, llvm::CallInst*)"},
-    {"_ZN12_GLOBAL__N_19MemCpyOpt20tryMergingIntoMemsetEPN4llvm11InstructionEPNS1_5ValueES5_", "(anonymous namespace)::MemCpyOpt::tryMergingIntoMemset(llvm::Instruction*, llvm::Value*, llvm::Value*)"},
-    {"_Z15IsPointerOffsetPN4llvm5ValueES1_RxRKNS_10DataLayoutE", "IsPointerOffset(llvm::Value*, llvm::Value*, long long&, llvm::DataLayout const&)"},
-    {"_ZN12_GLOBAL__N_112MemsetRanges8addStoreExPN4llvm9StoreInstE", "(anonymous namespace)::MemsetRanges::addStore(long long, llvm::StoreInst*)"},
-    {"_ZN12_GLOBAL__N_112MemsetRanges8addRangeExxPN4llvm5ValueEjPNS1_11InstructionE", "(anonymous namespace)::MemsetRanges::addRange(long long, long long, llvm::Value*, unsigned int, llvm::Instruction*)"},
-    {"_Z18GetOffsetFromIndexPKN4llvm17GetElementPtrInstEjRbRKNS_10DataLayoutE", "GetOffsetFromIndex(llvm::GetElementPtrInst const*, unsigned int, bool&, llvm::DataLayout const&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_4UserEE6appendINS_18value_use_iteratorIS1_EEEEvT_S7_", "void llvm::SmallVectorImpl<llvm::User*>::append<llvm::value_use_iterator<llvm::User> >(llvm::value_use_iterator<llvm::User>, llvm::value_use_iterator<llvm::User>)"},
-    {"_ZN4llvm25initializeReassociatePassERNS_12PassRegistryE", "llvm::initializeReassociatePass(llvm::PassRegistry&)"},
-    {"_ZN4llvm21createReassociatePassEv", "llvm::createReassociatePass()"},
-    {"_ZN12_GLOBAL__N_111ReassociateC1Ev", "(anonymous namespace)::Reassociate::Reassociate()"},
-    {"_ZN12_GLOBAL__N_111ReassociateD1Ev", "(anonymous namespace)::Reassociate::~Reassociate()"},
-    {"_ZN12_GLOBAL__N_111ReassociateD0Ev", "(anonymous namespace)::Reassociate::~Reassociate()"},
-    {"_ZNK12_GLOBAL__N_111Reassociate16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::Reassociate::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_111Reassociate13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::Reassociate::runOnFunction(llvm::Function&)"},
-    {"_Z21LowerNegateToMultiplyPN4llvm11InstructionERNS_8DenseMapINS_11AssertingVHINS_5ValueEEEjNS_12DenseMapInfoIS5_EENS6_IjEEEE", "LowerNegateToMultiply(llvm::Instruction*, llvm::DenseMap<llvm::AssertingVH<llvm::Value>, unsigned int, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Value> >, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN12_GLOBAL__N_111Reassociate21ReassociateExpressionEPN4llvm14BinaryOperatorE", "(anonymous namespace)::Reassociate::ReassociateExpression(llvm::BinaryOperator*)"},
-    {"_ZN12_GLOBAL__N_111Reassociate17LinearizeExprTreeEPN4llvm14BinaryOperatorERNS1_15SmallVectorImplINS_10ValueEntryEEE", "(anonymous namespace)::Reassociate::LinearizeExprTree(llvm::BinaryOperator*, llvm::SmallVectorImpl<(anonymous namespace)::ValueEntry>&)"},
-    {"_ZN12_GLOBAL__N_111Reassociate18OptimizeExpressionEPN4llvm14BinaryOperatorERNS1_15SmallVectorImplINS_10ValueEntryEEE", "(anonymous namespace)::Reassociate::OptimizeExpression(llvm::BinaryOperator*, llvm::SmallVectorImpl<(anonymous namespace)::ValueEntry>&)"},
-    {"_ZN12_GLOBAL__N_111Reassociate18RemoveDeadBinaryOpEPN4llvm5ValueE", "(anonymous namespace)::Reassociate::RemoveDeadBinaryOp(llvm::Value*)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_110ValueEntryEE6insertEPS2_RKS2_", "llvm::SmallVectorImpl<(anonymous namespace)::ValueEntry>::insert((anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry const&)"},
-    {"_ZN12_GLOBAL__N_111Reassociate15RewriteExprTreeEPN4llvm14BinaryOperatorERNS1_15SmallVectorImplINS_10ValueEntryEEEj", "(anonymous namespace)::Reassociate::RewriteExprTree(llvm::BinaryOperator*, llvm::SmallVectorImpl<(anonymous namespace)::ValueEntry>&, unsigned int)"},
-    {"_ZN12_GLOBAL__N_111Reassociate7getRankEPN4llvm5ValueE", "(anonymous namespace)::Reassociate::getRank(llvm::Value*)"},
-    {"_Z28FindSingleUseMultiplyFactorsPN4llvm5ValueERNS_15SmallVectorImplIS1_EERKNS2_IN12_GLOBAL__N_110ValueEntryEEEb", "FindSingleUseMultiplyFactors(llvm::Value*, llvm::SmallVectorImpl<llvm::Value*>&, llvm::SmallVectorImpl<(anonymous namespace)::ValueEntry> const&, bool)"},
-    {"_Z19EmitAddTreeOfValuesPN4llvm11InstructionERNS_15SmallVectorImplIPNS_5ValueEEE", "EmitAddTreeOfValues(llvm::Instruction*, llvm::SmallVectorImpl<llvm::Value*>&)"},
-    {"_ZSt21__inplace_stable_sortIPN12_GLOBAL__N_110ValueEntryEEvT_S3_", "void std::__inplace_stable_sort<(anonymous namespace)::ValueEntry*>((anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*)"},
-    {"_ZSt22__stable_sort_adaptiveIPN12_GLOBAL__N_110ValueEntryES2_lEvT_S3_T0_T1_", "void std::__stable_sort_adaptive<(anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, long>((anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, long)"},
-    {"_ZSt24__merge_sort_with_bufferIPN12_GLOBAL__N_110ValueEntryES2_EvT_S3_T0_", "void std::__merge_sort_with_buffer<(anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*>((anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*)"},
-    {"_ZSt16__merge_adaptiveIPN12_GLOBAL__N_110ValueEntryElS2_EvT_S3_S3_T0_S4_T1_S4_", "void std::__merge_adaptive<(anonymous namespace)::ValueEntry*, long, (anonymous namespace)::ValueEntry*>((anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, long, long, (anonymous namespace)::ValueEntry*, long)"},
-    {"_ZSt6rotateIPN12_GLOBAL__N_110ValueEntryEEvT_S3_S3_", "void std::rotate<(anonymous namespace)::ValueEntry*>((anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*)"},
-    {"_ZSt16__insertion_sortIPN12_GLOBAL__N_110ValueEntryEEvT_S3_", "void std::__insertion_sort<(anonymous namespace)::ValueEntry*>((anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*)"},
-    {"_ZSt22__merge_without_bufferIPN12_GLOBAL__N_110ValueEntryElEvT_S3_S3_T0_S4_", "void std::__merge_without_buffer<(anonymous namespace)::ValueEntry*, long>((anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, (anonymous namespace)::ValueEntry*, long, long)"},
-    {"_Z11NegateValuePN4llvm5ValueEPNS_11InstructionE", "NegateValue(llvm::Value*, llvm::Instruction*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_111ReassociateEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::Reassociate>()"},
-    {"_ZN4llvm8DenseMapINS_11AssertingVHINS_5ValueEEEjNS_12DenseMapInfoIS3_EENS4_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::AssertingVH<llvm::Value>, unsigned int, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Value> >, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapINS_11AssertingVHINS_5ValueEEEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::AssertingVH<llvm::Value>, unsigned int, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Value> >, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::AssertingVH<llvm::Value> const&, unsigned int const&, std::pair<llvm::AssertingVH<llvm::Value>, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapINS_11AssertingVHINS_5ValueEEEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::AssertingVH<llvm::Value>, unsigned int, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Value> >, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm25ReversePostOrderTraversalIPNS_8FunctionENS_11GraphTraitsIS2_EEEC2ES2_", "llvm::ReversePostOrderTraversal<llvm::Function*, llvm::GraphTraits<llvm::Function*> >::ReversePostOrderTraversal(llvm::Function*)"},
-    {"_ZSt4copyIN4llvm11po_iteratorIPNS0_10BasicBlockENS0_11SmallPtrSetIS3_Lj8EEELb0ENS0_11GraphTraitsIS3_EEEESt20back_insert_iteratorISt6vectorIS3_SaIS3_EEEET0_T_SF_SE_", "std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > std::copy<llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > >(llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >)"},
-    {"_ZN4llvm8po_beginIPNS_10BasicBlockEEENS_11po_iteratorIT_NS_11SmallPtrSetIPNS_11GraphTraitsIS4_E8NodeTypeELj8EEELb0ES7_EES4_", "llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::BasicBlock*>::NodeType*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> > llvm::po_begin<llvm::BasicBlock*>(llvm::BasicBlock*)"},
-    {"_ZN4llvm11po_iteratorIPNS_10BasicBlockENS_11SmallPtrSetIS2_Lj8EEELb0ENS_11GraphTraitsIS2_EEE13traverseChildEv", "llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::traverseChild()"},
-    {"_ZNSt6vectorISt4pairIPN4llvm10BasicBlockENS1_12SuccIteratorIPNS1_14TerminatorInstES2_EEESaIS8_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS8_SA_EERKS8_", "std::vector<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, std::allocator<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >*, std::vector<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, std::allocator<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > > > >, std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > const&)"},
-    {"_ZNSt13__copy_normalILb0ELb0EE8__copy_nIN4llvm11po_iteratorIPNS2_10BasicBlockENS2_11SmallPtrSetIS5_Lj8EEELb0ENS2_11GraphTraitsIS5_EEEESt20back_insert_iteratorISt6vectorIS5_SaIS5_EEEEET0_T_SH_SG_", "std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > std::__copy_normal<false, false>::__copy_n<llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > >(llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm10BasicBlockENS1_12SuccIteratorIPNS1_14TerminatorInstES2_EEESaIS8_EEC2ERKSA_", "std::vector<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, std::allocator<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > > >::vector(std::vector<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, std::allocator<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> > > > const&)"},
-    {"_ZSt10__copy_auxIN4llvm11po_iteratorIPNS0_10BasicBlockENS0_11SmallPtrSetIS3_Lj8EEELb0ENS0_11GraphTraitsIS3_EEEESt20back_insert_iteratorISt6vectorIS3_SaIS3_EEEET0_T_SF_SE_", "std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > std::__copy_aux<llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > >(llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >)"},
-    {"_ZNSt6__copyILb0ESt20forward_iterator_tagE4copyIN4llvm11po_iteratorIPNS3_10BasicBlockENS3_11SmallPtrSetIS6_Lj8EEELb0ENS3_11GraphTraitsIS6_EEEESt20back_insert_iteratorISt6vectorIS6_SaIS6_EEEEET0_T_SI_SH_", "std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > std::__copy<false, std::forward_iterator_tag>::copy<llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > >(llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >, std::back_insert_iterator<std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >)"},
-    {"_ZN4llvm18initializeSCCPPassERNS_12PassRegistryE", "llvm::initializeSCCPPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm14createSCCPPassEv", "llvm::createSCCPPass()"},
-    {"_ZN4llvm20initializeIPSCCPPassERNS_12PassRegistryE", "llvm::initializeIPSCCPPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm16createIPSCCPPassEv", "llvm::createIPSCCPPass()"},
-    {"_ZN12_GLOBAL__N_16IPSCCPD1Ev", "(anonymous namespace)::IPSCCP::~IPSCCP()"},
-    {"_ZN12_GLOBAL__N_16IPSCCPD0Ev", "(anonymous namespace)::IPSCCP::~IPSCCP()"},
-    {"_ZN12_GLOBAL__N_16IPSCCP11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::IPSCCP::runOnModule(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolverC1EPKN4llvm10DataLayoutE", "(anonymous namespace)::SCCPSolver::SCCPSolver(llvm::DataLayout const*)"},
-    {"_Z14AddressIsTakenPKN4llvm11GlobalValueE", "AddressIsTaken(llvm::GlobalValue const*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver23markAnythingOverdefinedEPN4llvm5ValueE", "(anonymous namespace)::SCCPSolver::markAnythingOverdefined(llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver5SolveEv", "(anonymous namespace)::SCCPSolver::Solve()"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver16ResolvedUndefsInERN4llvm8FunctionE", "(anonymous namespace)::SCCPSolver::ResolvedUndefsIn(llvm::Function&)"},
-    {"_Z24DeleteInstructionInBlockPN4llvm10BasicBlockE", "DeleteInstructionInBlock(llvm::BasicBlock*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolverD1Ev", "(anonymous namespace)::SCCPSolver::~SCCPSolver()"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver19getStructValueStateEPN4llvm5ValueEj", "(anonymous namespace)::SCCPSolver::getStructValueState(llvm::Value*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver13getValueStateEPN4llvm5ValueE", "(anonymous namespace)::SCCPSolver::getValueState(llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver18markForcedConstantEPN4llvm5ValueEPNS1_8ConstantE", "(anonymous namespace)::SCCPSolver::markForcedConstant(llvm::Value*, llvm::Constant*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver15markOverdefinedEPN4llvm5ValueE", "(anonymous namespace)::SCCPSolver::markOverdefined(llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver18markEdgeExecutableEPN4llvm10BasicBlockES3_", "(anonymous namespace)::SCCPSolver::markEdgeExecutable(llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver12visitPHINodeERN4llvm7PHINodeE", "(anonymous namespace)::SCCPSolver::visitPHINode(llvm::PHINode&)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver12markConstantEPN4llvm5ValueEPNS1_8ConstantE", "(anonymous namespace)::SCCPSolver::markConstant(llvm::Value*, llvm::Constant*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEN12_GLOBAL__N_110LatticeValENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Value*, (anonymous namespace)::LatticeVal, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<(anonymous namespace)::LatticeVal> >::InsertIntoBucket(llvm::Value* const&, (anonymous namespace)::LatticeVal const&, std::pair<llvm::Value*, (anonymous namespace)::LatticeVal>*)"},
-    {"_ZN4llvm11InstVisitorIN12_GLOBAL__N_110SCCPSolverEvE5visitERNS_11InstructionE", "llvm::InstVisitor<(anonymous namespace)::SCCPSolver, void>::visit(llvm::Instruction&)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver12mergeInValueERNS_10LatticeValEPN4llvm5ValueES1_", "(anonymous namespace)::SCCPSolver::mergeInValue((anonymous namespace)::LatticeVal&, llvm::Value*, (anonymous namespace)::LatticeVal)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver12mergeInValueEPN4llvm5ValueENS_10LatticeValE", "(anonymous namespace)::SCCPSolver::mergeInValue(llvm::Value*, (anonymous namespace)::LatticeVal)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver13visitCallSiteEN4llvm8CallSiteE", "(anonymous namespace)::SCCPSolver::visitCallSite(llvm::CallSite)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPNS_8FunctionEjEN12_GLOBAL__N_110LatticeValENS_12DenseMapInfoIS4_EENS7_IS6_EEE15LookupBucketForERKS4_RPS1_IS4_S6_E", "llvm::DenseMap<std::pair<llvm::Function*, unsigned int>, (anonymous namespace)::LatticeVal, llvm::DenseMapInfo<std::pair<llvm::Function*, unsigned int> >, llvm::DenseMapInfo<(anonymous namespace)::LatticeVal> >::LookupBucketFor(std::pair<llvm::Function*, unsigned int> const&, std::pair<std::pair<llvm::Function*, unsigned int>, (anonymous namespace)::LatticeVal>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_8FunctionEjEN12_GLOBAL__N_110LatticeValENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PS1_IS4_S6_E", "llvm::DenseMap<std::pair<llvm::Function*, unsigned int>, (anonymous namespace)::LatticeVal, llvm::DenseMapInfo<std::pair<llvm::Function*, unsigned int> >, llvm::DenseMapInfo<(anonymous namespace)::LatticeVal> >::InsertIntoBucket(std::pair<llvm::Function*, unsigned int> const&, (anonymous namespace)::LatticeVal const&, std::pair<std::pair<llvm::Function*, unsigned int>, (anonymous namespace)::LatticeVal>*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver12visitCmpInstERN4llvm7CmpInstE", "(anonymous namespace)::SCCPSolver::visitCmpInst(llvm::CmpInst&)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver23InsertInOverdefinedPHIsEPN4llvm11InstructionEPNS1_7PHINodeE", "(anonymous namespace)::SCCPSolver::InsertInOverdefinedPHIs(llvm::Instruction*, llvm::PHINode*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver25RemoveFromOverdefinedPHIsEPN4llvm11InstructionEPNS1_7PHINodeE", "(anonymous namespace)::SCCPSolver::RemoveFromOverdefinedPHIs(llvm::Instruction*, llvm::PHINode*)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver13visitCastInstERN4llvm8CastInstE", "(anonymous namespace)::SCCPSolver::visitCastInst(llvm::CastInst&)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver19visitBinaryOperatorERN4llvm11InstructionE", "(anonymous namespace)::SCCPSolver::visitBinaryOperator(llvm::Instruction&)"},
-    {"_ZN12_GLOBAL__N_110SCCPSolver19visitTerminatorInstERN4llvm14TerminatorInstE", "(anonymous namespace)::SCCPSolver::visitTerminatorInst(llvm::TerminatorInst&)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPNS_5ValueEjEN12_GLOBAL__N_110LatticeValENS_12DenseMapInfoIS4_EENS7_IS6_EEE15LookupBucketForERKS4_RPS1_IS4_S6_E", "llvm::DenseMap<std::pair<llvm::Value*, unsigned int>, (anonymous namespace)::LatticeVal, llvm::DenseMapInfo<std::pair<llvm::Value*, unsigned int> >, llvm::DenseMapInfo<(anonymous namespace)::LatticeVal> >::LookupBucketFor(std::pair<llvm::Value*, unsigned int> const&, std::pair<std::pair<llvm::Value*, unsigned int>, (anonymous namespace)::LatticeVal>*&) const"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_16IPSCCPEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::IPSCCP>()"},
-    {"_ZN12_GLOBAL__N_14SCCPD1Ev", "(anonymous namespace)::SCCP::~SCCP()"},
-    {"_ZN12_GLOBAL__N_14SCCPD0Ev", "(anonymous namespace)::SCCP::~SCCP()"},
-    {"_ZN12_GLOBAL__N_14SCCP13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::SCCP::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_14SCCPEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::SCCP>()"},
-    {"_ZNSt8_Rb_treeIPN4llvm7PHINodeESt4pairIKS2_PNS0_11InstructionEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<llvm::PHINode*, std::pair<llvm::PHINode* const, llvm::Instruction*>, std::_Select1st<std::pair<llvm::PHINode* const, llvm::Instruction*> >, std::less<llvm::PHINode*>, std::allocator<std::pair<llvm::PHINode* const, llvm::Instruction*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::PHINode* const, llvm::Instruction*> >*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_10BasicBlockES3_EcNS_12DenseMapInfoIS4_EENS5_IcEEE6insertERKS1_IS4_cE", "llvm::DenseMap<std::pair<llvm::BasicBlock*, llvm::BasicBlock*>, char, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, llvm::BasicBlock*> >, llvm::DenseMapInfo<char> >::insert(std::pair<std::pair<llvm::BasicBlock*, llvm::BasicBlock*>, char> const&)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPNS_10BasicBlockES3_EcNS_12DenseMapInfoIS4_EENS5_IcEEE15LookupBucketForERKS4_RPS1_IS4_cE", "llvm::DenseMap<std::pair<llvm::BasicBlock*, llvm::BasicBlock*>, char, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, llvm::BasicBlock*> >, llvm::DenseMapInfo<char> >::LookupBucketFor(std::pair<llvm::BasicBlock*, llvm::BasicBlock*> const&, std::pair<std::pair<llvm::BasicBlock*, llvm::BasicBlock*>, char>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_10BasicBlockES3_EcNS_12DenseMapInfoIS4_EENS5_IcEEE16InsertIntoBucketERKS4_RKcPS1_IS4_cE", "llvm::DenseMap<std::pair<llvm::BasicBlock*, llvm::BasicBlock*>, char, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, llvm::BasicBlock*> >, llvm::DenseMapInfo<char> >::InsertIntoBucket(std::pair<llvm::BasicBlock*, llvm::BasicBlock*> const&, char const&, std::pair<std::pair<llvm::BasicBlock*, llvm::BasicBlock*>, char>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_10BasicBlockES3_EcNS_12DenseMapInfoIS4_EENS5_IcEEE4growEj", "llvm::DenseMap<std::pair<llvm::BasicBlock*, llvm::BasicBlock*>, char, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, llvm::BasicBlock*> >, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm21initializeSROA_DTPassERNS_12PassRegistryE", "llvm::initializeSROA_DTPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm24initializeSROA_SSAUpPassERNS_12PassRegistryE", "llvm::initializeSROA_SSAUpPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm30createScalarReplAggregatesPassEib", "llvm::createScalarReplAggregatesPass(int, bool)"},
-    {"_ZN12_GLOBAL__N_110SROA_SSAUpD1Ev", "(anonymous namespace)::SROA_SSAUp::~SROA_SSAUp()"},
-    {"_ZN12_GLOBAL__N_110SROA_SSAUpD0Ev", "(anonymous namespace)::SROA_SSAUp::~SROA_SSAUp()"},
-    {"_ZNK12_GLOBAL__N_110SROA_SSAUp16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::SROA_SSAUp::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_14SROA13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::SROA::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_14SROA16performPromotionERN4llvm8FunctionE", "(anonymous namespace)::SROA::performPromotion(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_119ConvertToScalarInfo18CanConvertToScalarEPN4llvm5ValueEy", "(anonymous namespace)::ConvertToScalarInfo::CanConvertToScalar(llvm::Value*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_119ConvertToScalarInfo19ConvertUsesToScalarEPN4llvm5ValueEPNS1_10AllocaInstEy", "(anonymous namespace)::ConvertToScalarInfo::ConvertUsesToScalar(llvm::Value*, llvm::AllocaInst*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_119ConvertToScalarInfo26ConvertScalar_ExtractValueEPN4llvm5ValueEPKNS1_4TypeEyRNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::ConvertToScalarInfo::ConvertScalar_ExtractValue(llvm::Value*, llvm::Type const*, unsigned long long, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_119ConvertToScalarInfo25ConvertScalar_InsertValueEPN4llvm5ValueES3_yRNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::ConvertToScalarInfo::ConvertScalar_InsertValue(llvm::Value*, llvm::Value*, unsigned long long, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_119ConvertToScalarInfo11MergeInTypeEPKN4llvm4TypeEy", "(anonymous namespace)::ConvertToScalarInfo::MergeInType(llvm::Type const*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_14SROA20RewriteForScalarReplEPN4llvm11InstructionEPNS1_10AllocaInstEyRNS1_11SmallVectorIS5_Lj32EEE", "(anonymous namespace)::SROA::RewriteForScalarRepl(llvm::Instruction*, llvm::AllocaInst*, unsigned long long, llvm::SmallVector<llvm::AllocaInst*, 32u>&)"},
-    {"_ZN12_GLOBAL__N_14SROA20FindElementAndOffsetERPKN4llvm4TypeERyS5_", "(anonymous namespace)::SROA::FindElementAndOffset(llvm::Type const*&, unsigned long long&, llvm::Type const*&)"},
-    {"_ZN12_GLOBAL__N_14SROA19isSafeForScalarReplEPN4llvm11InstructionEyRNS0_10AllocaInfoE", "(anonymous namespace)::SROA::isSafeForScalarRepl(llvm::Instruction*, unsigned long long, (anonymous namespace)::SROA::AllocaInfo&)"},
-    {"_ZN12_GLOBAL__N_14SROA15isSafeMemAccessEyyPKN4llvm4TypeEbRNS0_10AllocaInfoEPNS1_11InstructionEb", "(anonymous namespace)::SROA::isSafeMemAccess(unsigned long long, unsigned long long, llvm::Type const*, bool, (anonymous namespace)::SROA::AllocaInfo&, llvm::Instruction*, bool)"},
-    {"_ZN12_GLOBAL__N_14SROA31isSafePHISelectUseForScalarReplEPN4llvm11InstructionEyRNS0_10AllocaInfoE", "(anonymous namespace)::SROA::isSafePHISelectUseForScalarRepl(llvm::Instruction*, unsigned long long, (anonymous namespace)::SROA::AllocaInfo&)"},
-    {"_ZN12_GLOBAL__N_14SROA16TypeHasComponentEPKN4llvm4TypeEyy", "(anonymous namespace)::SROA::TypeHasComponent(llvm::Type const*, unsigned long long, unsigned long long)"},
-    {"_Z30isOnlyCopiedFromConstantGlobalPN4llvm5ValueERPNS_15MemTransferInstEb", "isOnlyCopiedFromConstantGlobal(llvm::Value*, llvm::MemTransferInst*&, bool)"},
-    {"_Z27tryToMakeAllocaBePromotablePN4llvm10AllocaInstEPKNS_10DataLayoutE", "tryToMakeAllocaBePromotable(llvm::AllocaInst*, llvm::DataLayout const*)"},
-    {"_ZN12_GLOBAL__N_114AllocaPromoterD1Ev", "(anonymous namespace)::AllocaPromoter::~AllocaPromoter()"},
-    {"_ZN12_GLOBAL__N_114AllocaPromoterD0Ev", "(anonymous namespace)::AllocaPromoter::~AllocaPromoter()"},
-    {"_ZNK12_GLOBAL__N_114AllocaPromoter12isInstInListEPN4llvm11InstructionERKNS1_15SmallVectorImplIS3_EE", "(anonymous namespace)::AllocaPromoter::isInstInList(llvm::Instruction*, llvm::SmallVectorImpl<llvm::Instruction*> const&) const"},
-    {"_ZN12_GLOBAL__N_14SROAD1Ev", "(anonymous namespace)::SROA::~SROA()"},
-    {"_ZN12_GLOBAL__N_14SROAD0Ev", "(anonymous namespace)::SROA::~SROA()"},
-    {"_ZN12_GLOBAL__N_17SROA_DTD1Ev", "(anonymous namespace)::SROA_DT::~SROA_DT()"},
-    {"_ZN12_GLOBAL__N_17SROA_DTD0Ev", "(anonymous namespace)::SROA_DT::~SROA_DT()"},
-    {"_ZNK12_GLOBAL__N_17SROA_DT16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::SROA_DT::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_110SROA_SSAUpEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::SROA_SSAUp>()"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_17SROA_DTEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::SROA_DT>()"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateLoadEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateLoad(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE19CreateInsertElementEPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateInsertElement(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE18CreateExtractValueEPNS_5ValueEjRKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateExtractValue(llvm::Value*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE20CreateExtractElementEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateExtractElement(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE17CreateInsertValueEPNS_5ValueES6_jRKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateInsertValue(llvm::Value*, llvm::Value*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm11SmallVectorIPNS_8ConstantELj16EEC2EjRKS2_", "llvm::SmallVector<llvm::Constant*, 16u>::SmallVector(unsigned int, llvm::Constant* const&)"},
-    {"_ZNSt6vectorIPN4llvm10AllocaInstESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::AllocaInst**, std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> > >, llvm::AllocaInst* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_8LoadInstENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::LoadInst*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::LoadInst*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::LoadInst* const&, std::pair<llvm::BasicBlock*, llvm::LoadInst*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_8LoadInstENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::LoadInst*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::LoadInst*> >::grow(unsigned int)"},
-    {"_ZN4llvm29initializeCFGSimplifyPassPassERNS_12PassRegistryE", "llvm::initializeCFGSimplifyPassPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm27createCFGSimplificationPassEv", "llvm::createCFGSimplificationPass()"},
-    {"_ZN12_GLOBAL__N_115CFGSimplifyPassD1Ev", "(anonymous namespace)::CFGSimplifyPass::~CFGSimplifyPass()"},
-    {"_ZN12_GLOBAL__N_115CFGSimplifyPassD0Ev", "(anonymous namespace)::CFGSimplifyPass::~CFGSimplifyPass()"},
-    {"_ZN12_GLOBAL__N_115CFGSimplifyPass13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::CFGSimplifyPass::runOnFunction(llvm::Function&)"},
-    {"_Z29RemoveUnreachableBlocksFromFnRN4llvm8FunctionE", "RemoveUnreachableBlocksFromFn(llvm::Function&)"},
-    {"_Z20IterativeSimplifyCFGRN4llvm8FunctionEPKNS_10DataLayoutE", "IterativeSimplifyCFG(llvm::Function&, llvm::DataLayout const*)"},
-    {"_Z19ChangeToUnreachablePN4llvm11InstructionEb", "ChangeToUnreachable(llvm::Instruction*, bool)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_115CFGSimplifyPassEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::CFGSimplifyPass>()"},
-    {"_ZN4llvm30initializeSimplifyLibCallsPassERNS_12PassRegistryE", "llvm::initializeSimplifyLibCallsPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm26createSimplifyLibCallsPassEv", "llvm::createSimplifyLibCallsPass()"},
-    {"_ZN12_GLOBAL__N_116SimplifyLibCallsD1Ev", "(anonymous namespace)::SimplifyLibCalls::~SimplifyLibCalls()"},
-    {"_ZN12_GLOBAL__N_116SimplifyLibCallsD0Ev", "(anonymous namespace)::SimplifyLibCalls::~SimplifyLibCalls()"},
-    {"_ZNK12_GLOBAL__N_116SimplifyLibCalls16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::SimplifyLibCalls::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_116SimplifyLibCalls16doInitializationERN4llvm6ModuleE", "(anonymous namespace)::SimplifyLibCalls::doInitialization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_116SimplifyLibCalls13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::SimplifyLibCalls::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm9StringMapIPN12_GLOBAL__N_119LibCallOptimizationENS_15MallocAllocatorEEixENS_9StringRefE", "llvm::StringMap<(anonymous namespace)::LibCallOptimization*, llvm::MallocAllocator>::operator[](llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_116SimplifyLibCalls15setDoesNotThrowERN4llvm8FunctionE", "(anonymous namespace)::SimplifyLibCalls::setDoesNotThrow(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_116SimplifyLibCalls15setDoesNotAliasERN4llvm8FunctionEj", "(anonymous namespace)::SimplifyLibCalls::setDoesNotAlias(llvm::Function&, unsigned int)"},
-    {"_ZN12_GLOBAL__N_116SimplifyLibCalls22setDoesNotAccessMemoryERN4llvm8FunctionE", "(anonymous namespace)::SimplifyLibCalls::setDoesNotAccessMemory(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_17PutsOptD1Ev", "(anonymous namespace)::PutsOpt::~PutsOpt()"},
-    {"_ZN12_GLOBAL__N_110FPrintFOptD1Ev", "(anonymous namespace)::FPrintFOpt::~FPrintFOpt()"},
-    {"_ZN12_GLOBAL__N_18FPutsOptD1Ev", "(anonymous namespace)::FPutsOpt::~FPutsOpt()"},
-    {"_ZN12_GLOBAL__N_19FWriteOptD1Ev", "(anonymous namespace)::FWriteOpt::~FWriteOpt()"},
-    {"_ZN12_GLOBAL__N_19PrintFOptD1Ev", "(anonymous namespace)::PrintFOpt::~PrintFOpt()"},
-    {"_ZN12_GLOBAL__N_110SPrintFOptD1Ev", "(anonymous namespace)::SPrintFOpt::~SPrintFOpt()"},
-    {"_ZN12_GLOBAL__N_110ToAsciiOptD1Ev", "(anonymous namespace)::ToAsciiOpt::~ToAsciiOpt()"},
-    {"_ZN12_GLOBAL__N_110IsAsciiOptD1Ev", "(anonymous namespace)::IsAsciiOpt::~IsAsciiOpt()"},
-    {"_ZN12_GLOBAL__N_110IsDigitOptD1Ev", "(anonymous namespace)::IsDigitOpt::~IsDigitOpt()"},
-    {"_ZN12_GLOBAL__N_16AbsOptD1Ev", "(anonymous namespace)::AbsOpt::~AbsOpt()"},
-    {"_ZN12_GLOBAL__N_16FFSOptD1Ev", "(anonymous namespace)::FFSOpt::~FFSOpt()"},
-    {"_ZN12_GLOBAL__N_116UnaryDoubleFPOptD1Ev", "(anonymous namespace)::UnaryDoubleFPOpt::~UnaryDoubleFPOpt()"},
-    {"_ZN12_GLOBAL__N_17Exp2OptD1Ev", "(anonymous namespace)::Exp2Opt::~Exp2Opt()"},
-    {"_ZN12_GLOBAL__N_16PowOptD1Ev", "(anonymous namespace)::PowOpt::~PowOpt()"},
-    {"_ZN12_GLOBAL__N_19MemSetOptD1Ev", "(anonymous namespace)::MemSetOpt::~MemSetOpt()"},
-    {"_ZN12_GLOBAL__N_110MemMoveOptD1Ev", "(anonymous namespace)::MemMoveOpt::~MemMoveOpt()"},
-    {"_ZN12_GLOBAL__N_19MemCpyOptD1Ev", "(anonymous namespace)::MemCpyOpt::~MemCpyOpt()"},
-    {"_ZN12_GLOBAL__N_19MemCmpOptD1Ev", "(anonymous namespace)::MemCmpOpt::~MemCmpOpt()"},
-    {"_ZN12_GLOBAL__N_19StrStrOptD1Ev", "(anonymous namespace)::StrStrOpt::~StrStrOpt()"},
-    {"_ZN12_GLOBAL__N_110StrCSpnOptD1Ev", "(anonymous namespace)::StrCSpnOpt::~StrCSpnOpt()"},
-    {"_ZN12_GLOBAL__N_19StrSpnOptD1Ev", "(anonymous namespace)::StrSpnOpt::~StrSpnOpt()"},
-    {"_ZN12_GLOBAL__N_18StrToOptD1Ev", "(anonymous namespace)::StrToOpt::~StrToOpt()"},
-    {"_ZN12_GLOBAL__N_110StrPBrkOptD1Ev", "(anonymous namespace)::StrPBrkOpt::~StrPBrkOpt()"},
-    {"_ZN12_GLOBAL__N_19StrLenOptD1Ev", "(anonymous namespace)::StrLenOpt::~StrLenOpt()"},
-    {"_ZN12_GLOBAL__N_110StrNCpyOptD1Ev", "(anonymous namespace)::StrNCpyOpt::~StrNCpyOpt()"},
-    {"_ZN12_GLOBAL__N_19StrCpyOptD1Ev", "(anonymous namespace)::StrCpyOpt::~StrCpyOpt()"},
-    {"_ZN12_GLOBAL__N_110StrNCmpOptD1Ev", "(anonymous namespace)::StrNCmpOpt::~StrNCmpOpt()"},
-    {"_ZN12_GLOBAL__N_19StrCmpOptD1Ev", "(anonymous namespace)::StrCmpOpt::~StrCmpOpt()"},
-    {"_ZN12_GLOBAL__N_110StrRChrOptD1Ev", "(anonymous namespace)::StrRChrOpt::~StrRChrOpt()"},
-    {"_ZN12_GLOBAL__N_19StrChrOptD1Ev", "(anonymous namespace)::StrChrOpt::~StrChrOpt()"},
-    {"_ZN12_GLOBAL__N_110StrNCatOptD1Ev", "(anonymous namespace)::StrNCatOpt::~StrNCatOpt()"},
-    {"_ZN12_GLOBAL__N_19StrCatOptD1Ev", "(anonymous namespace)::StrCatOpt::~StrCatOpt()"},
-    {"_ZN12_GLOBAL__N_19StrCatOptD0Ev", "(anonymous namespace)::StrCatOpt::~StrCatOpt()"},
-    {"_ZN12_GLOBAL__N_19StrCatOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrCatOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_119LibCallOptimizationD1Ev", "(anonymous namespace)::LibCallOptimization::~LibCallOptimization()"},
-    {"_ZN12_GLOBAL__N_119LibCallOptimizationD0Ev", "(anonymous namespace)::LibCallOptimization::~LibCallOptimization()"},
-    {"_ZN12_GLOBAL__N_110StrNCatOptD0Ev", "(anonymous namespace)::StrNCatOpt::~StrNCatOpt()"},
-    {"_ZN12_GLOBAL__N_110StrNCatOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrNCatOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19StrChrOptD0Ev", "(anonymous namespace)::StrChrOpt::~StrChrOpt()"},
-    {"_ZN12_GLOBAL__N_19StrChrOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrChrOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110StrRChrOptD0Ev", "(anonymous namespace)::StrRChrOpt::~StrRChrOpt()"},
-    {"_ZN12_GLOBAL__N_110StrRChrOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrRChrOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19StrCmpOptD0Ev", "(anonymous namespace)::StrCmpOpt::~StrCmpOpt()"},
-    {"_ZN12_GLOBAL__N_19StrCmpOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrCmpOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110StrNCmpOptD0Ev", "(anonymous namespace)::StrNCmpOpt::~StrNCmpOpt()"},
-    {"_ZN12_GLOBAL__N_110StrNCmpOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrNCmpOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19StrCpyOptD0Ev", "(anonymous namespace)::StrCpyOpt::~StrCpyOpt()"},
-    {"_ZN12_GLOBAL__N_19StrCpyOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrCpyOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110StrNCpyOptD0Ev", "(anonymous namespace)::StrNCpyOpt::~StrNCpyOpt()"},
-    {"_ZN12_GLOBAL__N_110StrNCpyOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrNCpyOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19StrLenOptD0Ev", "(anonymous namespace)::StrLenOpt::~StrLenOpt()"},
-    {"_ZN12_GLOBAL__N_19StrLenOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrLenOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110StrPBrkOptD0Ev", "(anonymous namespace)::StrPBrkOpt::~StrPBrkOpt()"},
-    {"_ZN12_GLOBAL__N_110StrPBrkOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrPBrkOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_18StrToOptD0Ev", "(anonymous namespace)::StrToOpt::~StrToOpt()"},
-    {"_ZN12_GLOBAL__N_18StrToOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrToOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19StrSpnOptD0Ev", "(anonymous namespace)::StrSpnOpt::~StrSpnOpt()"},
-    {"_ZN12_GLOBAL__N_19StrSpnOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrSpnOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110StrCSpnOptD0Ev", "(anonymous namespace)::StrCSpnOpt::~StrCSpnOpt()"},
-    {"_ZN12_GLOBAL__N_110StrCSpnOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrCSpnOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19StrStrOptD0Ev", "(anonymous namespace)::StrStrOpt::~StrStrOpt()"},
-    {"_ZN12_GLOBAL__N_19StrStrOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::StrStrOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19MemCmpOptD0Ev", "(anonymous namespace)::MemCmpOpt::~MemCmpOpt()"},
-    {"_ZN12_GLOBAL__N_19MemCmpOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::MemCmpOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19MemCpyOptD0Ev", "(anonymous namespace)::MemCpyOpt::~MemCpyOpt()"},
-    {"_ZN12_GLOBAL__N_19MemCpyOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::MemCpyOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110MemMoveOptD0Ev", "(anonymous namespace)::MemMoveOpt::~MemMoveOpt()"},
-    {"_ZN12_GLOBAL__N_110MemMoveOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::MemMoveOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19MemSetOptD0Ev", "(anonymous namespace)::MemSetOpt::~MemSetOpt()"},
-    {"_ZN12_GLOBAL__N_19MemSetOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::MemSetOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_16PowOptD0Ev", "(anonymous namespace)::PowOpt::~PowOpt()"},
-    {"_ZN12_GLOBAL__N_16PowOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::PowOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_17Exp2OptD0Ev", "(anonymous namespace)::Exp2Opt::~Exp2Opt()"},
-    {"_ZN12_GLOBAL__N_17Exp2Opt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::Exp2Opt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_116UnaryDoubleFPOptD0Ev", "(anonymous namespace)::UnaryDoubleFPOpt::~UnaryDoubleFPOpt()"},
-    {"_ZN12_GLOBAL__N_116UnaryDoubleFPOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::UnaryDoubleFPOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_16FFSOptD0Ev", "(anonymous namespace)::FFSOpt::~FFSOpt()"},
-    {"_ZN12_GLOBAL__N_16FFSOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::FFSOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_16AbsOptD0Ev", "(anonymous namespace)::AbsOpt::~AbsOpt()"},
-    {"_ZN12_GLOBAL__N_16AbsOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::AbsOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110IsDigitOptD0Ev", "(anonymous namespace)::IsDigitOpt::~IsDigitOpt()"},
-    {"_ZN12_GLOBAL__N_110IsDigitOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::IsDigitOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110IsAsciiOptD0Ev", "(anonymous namespace)::IsAsciiOpt::~IsAsciiOpt()"},
-    {"_ZN12_GLOBAL__N_110IsAsciiOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::IsAsciiOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110ToAsciiOptD0Ev", "(anonymous namespace)::ToAsciiOpt::~ToAsciiOpt()"},
-    {"_ZN12_GLOBAL__N_110ToAsciiOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::ToAsciiOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110SPrintFOptD0Ev", "(anonymous namespace)::SPrintFOpt::~SPrintFOpt()"},
-    {"_ZN12_GLOBAL__N_110SPrintFOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::SPrintFOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19PrintFOptD0Ev", "(anonymous namespace)::PrintFOpt::~PrintFOpt()"},
-    {"_ZN12_GLOBAL__N_19PrintFOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::PrintFOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_19FWriteOptD0Ev", "(anonymous namespace)::FWriteOpt::~FWriteOpt()"},
-    {"_ZN12_GLOBAL__N_19FWriteOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::FWriteOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_18FPutsOptD0Ev", "(anonymous namespace)::FPutsOpt::~FPutsOpt()"},
-    {"_ZN12_GLOBAL__N_18FPutsOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::FPutsOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_110FPrintFOptD0Ev", "(anonymous namespace)::FPrintFOpt::~FPrintFOpt()"},
-    {"_ZN12_GLOBAL__N_110FPrintFOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::FPrintFOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN12_GLOBAL__N_17PutsOptD0Ev", "(anonymous namespace)::PutsOpt::~PutsOpt()"},
-    {"_ZN12_GLOBAL__N_17PutsOpt13CallOptimizerEPN4llvm8FunctionEPNS1_8CallInstERNS1_9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEE", "(anonymous namespace)::PutsOpt::CallOptimizer(llvm::Function*, llvm::CallInst*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_116SimplifyLibCallsEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::SimplifyLibCalls>()"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateGEPEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateGEP(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateLoadEPNS_5ValueEPKc", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateLoad(llvm::Value*, char const*)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateICmpENS_7CmpInst9PredicateEPNS_5ValueES8_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateICmp(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE26CreateConstInBoundsGEP1_64EPNS_5ValueEyRKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateConstInBoundsGEP1_64(llvm::Value*, unsigned long long, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE12CreateSelectEPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateSelect(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateFMulEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateFMul(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateFDivEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateFDiv(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateFCmpENS_7CmpInst9PredicateEPNS_5ValueES8_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateFCmp(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE11CreateCall2EPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateCall2(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateCallEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateCall(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateNegEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateNeg(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE11CreateStoreEPNS_5ValueES6_b", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateStore(llvm::Value*, llvm::Value*, bool)"},
-    {"_ZN4llvm26initializeTailCallElimPassERNS_12PassRegistryE", "llvm::initializeTailCallElimPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm29createTailCallEliminationPassEv", "llvm::createTailCallEliminationPass()"},
-    {"_ZN12_GLOBAL__N_112TailCallElimD1Ev", "(anonymous namespace)::TailCallElim::~TailCallElim()"},
-    {"_ZN12_GLOBAL__N_112TailCallElimD0Ev", "(anonymous namespace)::TailCallElim::~TailCallElim()"},
-    {"_ZN12_GLOBAL__N_112TailCallElim13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::TailCallElim::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_112TailCallElim16FindTRECandidateEPN4llvm11InstructionEb", "(anonymous namespace)::TailCallElim::FindTRECandidate(llvm::Instruction*, bool)"},
-    {"_ZN12_GLOBAL__N_112TailCallElim26EliminateRecursiveTailCallEPN4llvm8CallInstEPNS1_10ReturnInstERPNS1_10BasicBlockERbRNS1_11SmallVectorIPNS1_7PHINodeELj8EEEb", "(anonymous namespace)::TailCallElim::EliminateRecursiveTailCall(llvm::CallInst*, llvm::ReturnInst*, llvm::BasicBlock*&, bool&, llvm::SmallVector<llvm::PHINode*, 8u>&, bool)"},
-    {"_Z17isDynamicConstantPN4llvm5ValueEPNS_8CallInstEPNS_10ReturnInstE", "isDynamicConstant(llvm::Value*, llvm::CallInst*, llvm::ReturnInst*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_112TailCallElimEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::TailCallElim>()"},
-    {"_ZN4llvm12InstCombiner24WillNotOverflowSignedAddEPNS_5ValueES2_", "llvm::InstCombiner::WillNotOverflowSignedAdd(llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner8visitAddERNS_14BinaryOperatorE", "llvm::InstCombiner::visitAdd(llvm::BinaryOperator&)"},
-    {"_Z19dyn_castFoldableMulPN4llvm5ValueERPNS_11ConstantIntE", "dyn_castFoldableMul(llvm::Value*, llvm::ConstantInt*&)"},
-    {"_ZN4llvm12InstCombiner9visitFAddERNS_14BinaryOperatorE", "llvm::InstCombiner::visitFAdd(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner13EmitGEPOffsetEPNS_4UserE", "llvm::InstCombiner::EmitGEPOffset(llvm::User*)"},
-    {"_ZN4llvm12InstCombiner25OptimizePointerDifferenceEPNS_5ValueES2_PKNS_4TypeE", "llvm::InstCombiner::OptimizePointerDifference(llvm::Value*, llvm::Value*, llvm::Type const*)"},
-    {"_ZN4llvm12InstCombiner8visitSubERNS_14BinaryOperatorE", "llvm::InstCombiner::visitSub(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitFSubERNS_14BinaryOperatorE", "llvm::InstCombiner::visitFSub(llvm::BinaryOperator&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE12CreateNSWAddEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateNSWAdd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm12PatternMatch15CastClass_matchINS1_INS0_7bind_tyINS_5ValueEEELj39EEELj30EE5matchIS3_EEbPT_", "bool llvm::PatternMatch::CastClass_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 39u>, 30u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_9neg_matchINS0_7bind_tyINS_5ValueEEEEES5_Lj12EE5matchINS_14BinaryOperatorEEEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::neg_match<llvm::PatternMatch::bind_ty<llvm::Value> >, llvm::PatternMatch::bind_ty<llvm::Value>, 12u>::match<llvm::BinaryOperator>(llvm::BinaryOperator*)"},
-    {"_ZN4llvm12PatternMatch9neg_matchINS0_7bind_tyINS_5ValueEEEE5matchIS3_EEbPT_", "bool llvm::PatternMatch::neg_match<llvm::PatternMatch::bind_ty<llvm::Value> >::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch9neg_matchINS0_7bind_tyINS_5ValueEEEE5matchINS_8ConstantEEEbPT_", "bool llvm::PatternMatch::neg_match<llvm::PatternMatch::bind_ty<llvm::Value> >::match<llvm::Constant>(llvm::Constant*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_7bind_tyINS_5ValueEEENS0_9neg_matchIS4_EELj12EE5matchINS_14BinaryOperatorEEEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::bind_ty<llvm::Value>, llvm::PatternMatch::neg_match<llvm::PatternMatch::bind_ty<llvm::Value> >, 12u>::match<llvm::BinaryOperator>(llvm::BinaryOperator*)"},
-    {"_ZN4llvm12InstCombiner8OptAndOpEPNS_11InstructionEPNS_11ConstantIntES4_RNS_14BinaryOperatorE", "llvm::InstCombiner::OptAndOp(llvm::Instruction*, llvm::ConstantInt*, llvm::ConstantInt*, llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner15InsertRangeTestEPNS_5ValueEPNS_8ConstantES4_bb", "llvm::InstCombiner::InsertRangeTest(llvm::Value*, llvm::Constant*, llvm::Constant*, bool, bool)"},
-    {"_ZN4llvm12InstCombiner18FoldLogicalPlusAndEPNS_5ValueES2_PNS_11ConstantIntEbRNS_11InstructionE", "llvm::InstCombiner::FoldLogicalPlusAnd(llvm::Value*, llvm::Value*, llvm::ConstantInt*, bool, llvm::Instruction&)"},
-    {"_ZN4llvm12InstCombiner14FoldAndOfICmpsEPNS_8ICmpInstES2_", "llvm::InstCombiner::FoldAndOfICmps(llvm::ICmpInst*, llvm::ICmpInst*)"},
-    {"_Z12getICmpValuebjPN4llvm5ValueES1_PNS_9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEEE", "getICmpValue(bool, unsigned int, llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>*)"},
-    {"_Z22foldLogOpOfMaskedICmpsPN4llvm8ICmpInstES1_NS_7CmpInst9PredicateEPNS_9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEEE", "foldLogOpOfMaskedICmps(llvm::ICmpInst*, llvm::ICmpInst*, llvm::CmpInst::Predicate, llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>*)"},
-    {"_ZN4llvm12InstCombiner14FoldAndOfFCmpsEPNS_8FCmpInstES2_", "llvm::InstCombiner::FoldAndOfFCmps(llvm::FCmpInst*, llvm::FCmpInst*)"},
-    {"_ZN4llvm12InstCombiner8visitAndERNS_14BinaryOperatorE", "llvm::InstCombiner::visitAnd(llvm::BinaryOperator&)"},
-    {"_Z14dyn_castNotValPN4llvm5ValueE", "dyn_castNotVal(llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner10MatchBSwapERNS_14BinaryOperatorE", "llvm::InstCombiner::MatchBSwap(llvm::BinaryOperator&)"},
-    {"_Z17CollectBSwapPartsPN4llvm5ValueEijRNS_11SmallVectorIS1_Lj8EEE", "CollectBSwapParts(llvm::Value*, int, unsigned int, llvm::SmallVector<llvm::Value*, 8u>&)"},
-    {"_ZN4llvm12InstCombiner13FoldOrOfICmpsEPNS_8ICmpInstES2_", "llvm::InstCombiner::FoldOrOfICmps(llvm::ICmpInst*, llvm::ICmpInst*)"},
-    {"_ZN4llvm12InstCombiner13FoldOrOfFCmpsEPNS_8FCmpInstES2_", "llvm::InstCombiner::FoldOrOfFCmps(llvm::FCmpInst*, llvm::FCmpInst*)"},
-    {"_ZN4llvm12InstCombiner19FoldOrWithConstantsERNS_14BinaryOperatorEPNS_5ValueES4_S4_S4_", "llvm::InstCombiner::FoldOrWithConstants(llvm::BinaryOperator&, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner7visitOrERNS_14BinaryOperatorE", "llvm::InstCombiner::visitOr(llvm::BinaryOperator&)"},
-    {"_Z20MatchSelectFromAndOrPN4llvm5ValueES1_S1_S1_", "MatchSelectFromAndOr(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner8visitXorERNS_14BinaryOperatorE", "llvm::InstCombiner::visitXor(llvm::BinaryOperator&)"},
-    {"_Z19getTypeOfMaskedICmpPN4llvm5ValueES1_S1_NS_7CmpInst9PredicateE", "getTypeOfMaskedICmp(llvm::Value*, llvm::Value*, llvm::Value*, llvm::CmpInst::Predicate)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE8CreateOrEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateOr(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateNegEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateNeg(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE20CreateTruncOrBitCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateTruncOrBitCast(llvm::Value*, llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_5ValueEE6resizeEj", "llvm::SmallVectorImpl<llvm::Value*>::resize(unsigned int)"},
-    {"_ZN4llvm12PatternMatch9not_matchINS0_14specificval_tyEE5matchINS_8ConstantEEEbPT_", "bool llvm::PatternMatch::not_match<llvm::PatternMatch::specificval_ty>::match<llvm::Constant>(llvm::Constant*)"},
-    {"_ZN4llvm12PatternMatch9not_matchINS0_14BinaryOp_matchINS0_7bind_tyINS_5ValueEEES5_Lj23EEEE10matchIfNotEPS4_S8_", "llvm::PatternMatch::not_match<llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::bind_ty<llvm::Value>, llvm::PatternMatch::bind_ty<llvm::Value>, 23u> >::matchIfNot(llvm::Value*, llvm::Value*)"},
-    {"_ZNK4llvm12TargetFolder20CreateTruncOrBitCastEPNS_8ConstantEPKNS_4TypeE", "llvm::TargetFolder::CreateTruncOrBitCast(llvm::Constant*, llvm::Type const*) const"},
-    {"_ZN4llvm12PatternMatch9not_matchINS0_15CastClass_matchINS0_14specificval_tyELj32EEEE10matchIfNotEPNS_5ValueES7_", "llvm::PatternMatch::not_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::specificval_ty, 32u> >::matchIfNot(llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm8APIntOps13isShiftedMaskEjRKNS_5APIntE", "llvm::APIntOps::isShiftedMask(unsigned int, llvm::APInt const&)"},
-    {"_ZN4llvm12InstCombiner19SimplifyMemTransferEPNS_12MemIntrinsicE", "llvm::InstCombiner::SimplifyMemTransfer(llvm::MemIntrinsic*)"},
-    {"_ZN4llvm12InstCombiner14SimplifyMemSetEPNS_10MemSetInstE", "llvm::InstCombiner::SimplifyMemSet(llvm::MemSetInst*)"},
-    {"_ZN4llvm12InstCombiner13visitCallInstERNS_8CallInstE", "llvm::InstCombiner::visitCallInst(llvm::CallInst&)"},
-    {"_ZN4llvm12InstCombiner13visitCallSiteENS_8CallSiteE", "llvm::InstCombiner::visitCallSite(llvm::CallSite)"},
-    {"_ZN4llvm12InstCombiner15visitInvokeInstERNS_10InvokeInstE", "llvm::InstCombiner::visitInvokeInst(llvm::InvokeInst&)"},
-    {"_ZN4llvm12InstCombiner15tryOptimizeCallEPNS_8CallInstEPKNS_10DataLayoutE", "llvm::InstCombiner::tryOptimizeCall(llvm::CallInst*, llvm::DataLayout const*)"},
-    {"_ZN12_GLOBAL__N_128InstCombineFortifiedLibCallsD1Ev", "(anonymous namespace)::InstCombineFortifiedLibCalls::~InstCombineFortifiedLibCalls()"},
-    {"_ZN4llvm12InstCombiner26transformConstExprCastCallENS_8CallSiteE", "llvm::InstCombiner::transformConstExprCastCall(llvm::CallSite)"},
-    {"_ZN4llvm12InstCombiner30transformCallThroughTrampolineENS_8CallSiteE", "llvm::InstCombiner::transformCallThroughTrampoline(llvm::CallSite)"},
-    {"_ZN12_GLOBAL__N_128InstCombineFortifiedLibCalls11replaceCallEPN4llvm5ValueE", "(anonymous namespace)::InstCombineFortifiedLibCalls::replaceCall(llvm::Value*)"},
-    {"_ZNK12_GLOBAL__N_128InstCombineFortifiedLibCalls10isFoldableEjjb", "(anonymous namespace)::InstCombineFortifiedLibCalls::isFoldable(unsigned int, unsigned int, bool) const"},
-    {"_ZN12_GLOBAL__N_128InstCombineFortifiedLibCallsD0Ev", "(anonymous namespace)::InstCombineFortifiedLibCalls::~InstCombineFortifiedLibCalls()"},
-    {"_ZN4llvm12InstCombiner23PromoteCastOfAllocationERNS_11BitCastInstERNS_10AllocaInstE", "llvm::InstCombiner::PromoteCastOfAllocation(llvm::BitCastInst&, llvm::AllocaInst&)"},
-    {"_Z25DecomposeSimpleLinearExprPN4llvm5ValueERjRy", "DecomposeSimpleLinearExpr(llvm::Value*, unsigned int&, unsigned long long&)"},
-    {"_ZN4llvm12InstCombiner23EvaluateInDifferentTypeEPNS_5ValueEPKNS_4TypeEb", "llvm::InstCombiner::EvaluateInDifferentType(llvm::Value*, llvm::Type const*, bool)"},
-    {"_ZN4llvm12InstCombiner18ShouldOptimizeCastENS_11Instruction7CastOpsEPKNS_5ValueEPKNS_4TypeE", "llvm::InstCombiner::ShouldOptimizeCast(llvm::Instruction::CastOps, llvm::Value const*, llvm::Type const*)"},
-    {"_Z20isEliminableCastPairPKN4llvm8CastInstEjPKNS_4TypeEPNS_10DataLayoutE", "isEliminableCastPair(llvm::CastInst const*, unsigned int, llvm::Type const*, llvm::DataLayout*)"},
-    {"_ZN4llvm12InstCombiner20commonCastTransformsERNS_8CastInstE", "llvm::InstCombiner::commonCastTransforms(llvm::CastInst&)"},
-    {"_ZN4llvm12InstCombiner10visitTruncERNS_9TruncInstE", "llvm::InstCombiner::visitTrunc(llvm::TruncInst&)"},
-    {"_Z20CanEvaluateTruncatedPN4llvm5ValueEPKNS_4TypeE", "CanEvaluateTruncated(llvm::Value*, llvm::Type const*)"},
-    {"_ZN4llvm12InstCombiner17transformZExtICmpEPNS_8ICmpInstERNS_11InstructionEb", "llvm::InstCombiner::transformZExtICmp(llvm::ICmpInst*, llvm::Instruction&, bool)"},
-    {"_ZN4llvm12InstCombiner9visitZExtERNS_8ZExtInstE", "llvm::InstCombiner::visitZExt(llvm::ZExtInst&)"},
-    {"_Z16CanEvaluateZExtdPN4llvm5ValueEPKNS_4TypeERj", "CanEvaluateZExtd(llvm::Value*, llvm::Type const*, unsigned int&)"},
-    {"_ZN4llvm12InstCombiner9visitSExtERNS_8SExtInstE", "llvm::InstCombiner::visitSExt(llvm::SExtInst&)"},
-    {"_Z16CanEvaluateSExtdPN4llvm5ValueEPKNS_4TypeE", "CanEvaluateSExtd(llvm::Value*, llvm::Type const*)"},
-    {"_ZN4llvm12InstCombiner12visitFPTruncERNS_11FPTruncInstE", "llvm::InstCombiner::visitFPTrunc(llvm::FPTruncInst&)"},
-    {"_Z23LookThroughFPExtensionsPN4llvm5ValueE", "LookThroughFPExtensions(llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner10visitFPExtERNS_8CastInstE", "llvm::InstCombiner::visitFPExt(llvm::CastInst&)"},
-    {"_ZN4llvm12InstCombiner11visitFPToUIERNS_10FPToUIInstE", "llvm::InstCombiner::visitFPToUI(llvm::FPToUIInst&)"},
-    {"_ZN4llvm12InstCombiner11visitFPToSIERNS_10FPToSIInstE", "llvm::InstCombiner::visitFPToSI(llvm::FPToSIInst&)"},
-    {"_ZN4llvm12InstCombiner11visitUIToFPERNS_8CastInstE", "llvm::InstCombiner::visitUIToFP(llvm::CastInst&)"},
-    {"_ZN4llvm12InstCombiner11visitSIToFPERNS_8CastInstE", "llvm::InstCombiner::visitSIToFP(llvm::CastInst&)"},
-    {"_ZN4llvm12InstCombiner13visitIntToPtrERNS_12IntToPtrInstE", "llvm::InstCombiner::visitIntToPtr(llvm::IntToPtrInst&)"},
-    {"_ZN4llvm12InstCombiner27commonPointerCastTransformsERNS_8CastInstE", "llvm::InstCombiner::commonPointerCastTransforms(llvm::CastInst&)"},
-    {"_ZN4llvm12InstCombiner13visitPtrToIntERNS_12PtrToIntInstE", "llvm::InstCombiner::visitPtrToInt(llvm::PtrToIntInst&)"},
-    {"_ZN4llvm12InstCombiner12visitBitCastERNS_11BitCastInstE", "llvm::InstCombiner::visitBitCast(llvm::BitCastInst&)"},
-    {"_Z24CollectInsertionElementsPN4llvm5ValueEjRNS_15SmallVectorImplIS1_EEPKNS_4TypeE", "CollectInsertionElements(llvm::Value*, unsigned int, llvm::SmallVectorImpl<llvm::Value*>&, llvm::Type const*)"},
-    {"_Z12FitsInFPTypePN4llvm10ConstantFPERKNS_12fltSemanticsE", "FitsInFPType(llvm::ConstantFP*, llvm::fltSemantics const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateAndEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateAnd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE10CreateLShrEPNS_5ValueES5_RKNS_5TwineEb", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateLShr(llvm::Value*, llvm::Value*, llvm::Twine const&, bool)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateXorEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateXor(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateShlEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateShl(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE10CreateAShrEPNS_5ValueES5_RKNS_5TwineEb", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateAShr(llvm::Value*, llvm::Value*, llvm::Twine const&, bool)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateNotEPNS_5ValueERKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateNot(llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE20CreateExtractElementEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateExtractElement(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm11SmallVectorIPNS_5ValueELj8EEC2EjRKS2_", "llvm::SmallVector<llvm::Value*, 8u>::SmallVector(unsigned int, llvm::Value* const&)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS1_INS0_15CastClass_matchINS0_7bind_tyINS_5ValueEEELj30EEENS3_INS_11ConstantIntEEELj20EEES8_Lj22EE5matchIS4_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 30u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 20u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 22u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_15CastClass_matchINS0_7bind_tyINS_5ValueEEELj30EEENS3_INS_11ConstantIntEEELj20EE5matchIS4_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 30u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 20u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_15CastClass_matchINS0_7bind_tyINS_5ValueEEELj30EEENS3_INS_11ConstantIntEEELj20EE5matchINS_8ConstantEEEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 30u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 20u>::match<llvm::Constant>(llvm::Constant*)"},
-    {"_ZN4llvm12PatternMatch9not_matchINS0_7bind_tyINS_5ValueEEEE5matchINS_14BinaryOperatorEEEbPT_", "bool llvm::PatternMatch::not_match<llvm::PatternMatch::bind_ty<llvm::Value> >::match<llvm::BinaryOperator>(llvm::BinaryOperator*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_15CastClass_matchINS0_7bind_tyINS_5ValueEEELj31EEENS3_INS_11ConstantIntEEELj21EE5matchIS4_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 31u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 21u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE19CreateInsertElementEPNS_5ValueES5_S5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateInsertElement(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_15CastClass_matchINS0_7bind_tyINS_5ValueEEELj41EEENS3_INS_11ConstantIntEEELj21EE5matchIS4_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 41u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 21u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_15CastClass_matchINS0_7bind_tyINS_5ValueEEELj41EEENS3_INS_11ConstantIntEEELj21EE5matchINS_8ConstantEEEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 41u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 21u>::match<llvm::Constant>(llvm::Constant*)"},
-    {"_ZN4llvm12PatternMatch15CastClass_matchINS1_INS0_7bind_tyINS_5ValueEEELj41EEELj30EE5matchIS3_EEbPT_", "bool llvm::PatternMatch::CastClass_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 41u>, 30u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner28FoldCmpLoadFromIndexedGlobalEPNS_17GetElementPtrInstEPNS_14GlobalVariableERNS_7CmpInstEPNS_11ConstantIntE", "llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(llvm::GetElementPtrInst*, llvm::GlobalVariable*, llvm::CmpInst&, llvm::ConstantInt*)"},
-    {"_ZN4llvm12InstCombiner11FoldGEPICmpEPNS_11GEPOperatorEPNS_5ValueENS_7CmpInst9PredicateERNS_11InstructionE", "llvm::InstCombiner::FoldGEPICmp(llvm::GEPOperator*, llvm::Value*, llvm::CmpInst::Predicate, llvm::Instruction&)"},
-    {"_ZN4llvm12InstCombiner16FoldICmpAddOpCstERNS_8ICmpInstEPNS_5ValueEPNS_11ConstantIntENS_7CmpInst9PredicateES4_", "llvm::InstCombiner::FoldICmpAddOpCst(llvm::ICmpInst&, llvm::Value*, llvm::ConstantInt*, llvm::CmpInst::Predicate, llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner14FoldICmpDivCstERNS_8ICmpInstEPNS_14BinaryOperatorEPNS_11ConstantIntE", "llvm::InstCombiner::FoldICmpDivCst(llvm::ICmpInst&, llvm::BinaryOperator*, llvm::ConstantInt*)"},
-    {"_Z15AddWithOverflowRPN4llvm8ConstantES1_S1_b", "AddWithOverflow(llvm::Constant*&, llvm::Constant*, llvm::Constant*, bool)"},
-    {"_ZN4llvm12InstCombiner30visitICmpInstWithInstAndIntCstERNS_8ICmpInstEPNS_11InstructionEPNS_11ConstantIntE", "llvm::InstCombiner::visitICmpInstWithInstAndIntCst(llvm::ICmpInst&, llvm::Instruction*, llvm::ConstantInt*)"},
-    {"_Z14isSignBitCheckN4llvm7CmpInst9PredicateEPNS_11ConstantIntERb", "isSignBitCheck(llvm::CmpInst::Predicate, llvm::ConstantInt*, bool&)"},
-    {"_ZN4llvm12InstCombiner28visitICmpInstWithCastAndCastERNS_8ICmpInstE", "llvm::InstCombiner::visitICmpInstWithCastAndCast(llvm::ICmpInst&)"},
-    {"_ZN4llvm12InstCombiner13visitICmpInstERNS_8ICmpInstE", "llvm::InstCombiner::visitICmpInst(llvm::ICmpInst&)"},
-    {"_Z38ComputeSignedMinMaxValuesFromKnownBitsRKN4llvm5APIntES2_RS0_S3_", "ComputeSignedMinMaxValuesFromKnownBits(llvm::APInt const&, llvm::APInt const&, llvm::APInt&, llvm::APInt&)"},
-    {"_Z16ProcessUAddIdiomRN4llvm11InstructionEPNS_5ValueERNS_12InstCombinerE", "ProcessUAddIdiom(llvm::Instruction&, llvm::Value*, llvm::InstCombiner&)"},
-    {"_ZN4llvm12InstCombiner20FoldFCmp_IntToFP_CstERNS_8FCmpInstEPNS_11InstructionEPNS_8ConstantE", "llvm::InstCombiner::FoldFCmp_IntToFP_Cst(llvm::FCmpInst&, llvm::Instruction*, llvm::Constant*)"},
-    {"_ZN4llvm12InstCombiner13visitFCmpInstERNS_8FCmpInstE", "llvm::InstCombiner::visitFCmpInst(llvm::FCmpInst&)"},
-    {"_Z14HasAddOverflowPN4llvm11ConstantIntES1_S1_b", "HasAddOverflow(llvm::ConstantInt*, llvm::ConstantInt*, llvm::ConstantInt*, bool)"},
-    {"_ZNK4llvm5APInt3sgtEy", "llvm::APInt::sgt(unsigned long long) const"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS1_INS0_7bind_tyINS_5ValueEEES4_Lj8EEENS2_INS_11ConstantIntEEELj8EE5matchIS3_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::bind_ty<llvm::Value>, llvm::PatternMatch::bind_ty<llvm::Value>, 8u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 8u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_15CastClass_matchINS0_7bind_tyINS_5ValueEEELj39EEES6_Lj24EE5matchINS_11InstructionEEEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 39u>, llvm::PatternMatch::CastClass_match<llvm::PatternMatch::bind_ty<llvm::Value>, 39u>, 24u>::match<llvm::Instruction>(llvm::Instruction*)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE18CreateExtractValueEPNS_5ValueEjRKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateExtractValue(llvm::Value*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm12InstCombiner15visitAllocaInstERNS_10AllocaInstE", "llvm::InstCombiner::visitAllocaInst(llvm::AllocaInst&)"},
-    {"_ZN4llvm12InstCombiner13visitLoadInstERNS_8LoadInstE", "llvm::InstCombiner::visitLoadInst(llvm::LoadInst&)"},
-    {"_Z19InstCombineLoadCastRN4llvm12InstCombinerERNS_8LoadInstEPKNS_10DataLayoutE", "InstCombineLoadCast(llvm::InstCombiner&, llvm::LoadInst&, llvm::DataLayout const*)"},
-    {"_ZN4llvm12InstCombiner20hasOneUsePlusDeclareEPNS_5ValueE", "llvm::InstCombiner::hasOneUsePlusDeclare(llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner14visitStoreInstERNS_9StoreInstE", "llvm::InstCombiner::visitStoreInst(llvm::StoreInst&)"},
-    {"_Z22InstCombineStoreToCastRN4llvm12InstCombinerERNS_9StoreInstE", "InstCombineStoreToCast(llvm::InstCombiner&, llvm::StoreInst&)"},
-    {"_ZN4llvm12InstCombiner25SimplifyStoreAtEndOfBlockERNS_9StoreInstE", "llvm::InstCombiner::SimplifyStoreAtEndOfBlock(llvm::StoreInst&)"},
-    {"_ZN4llvm12InstCombiner8visitMulERNS_14BinaryOperatorE", "llvm::InstCombiner::visitMul(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitFMulERNS_14BinaryOperatorE", "llvm::InstCombiner::visitFMul(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner22SimplifyDivRemOfSelectERNS_14BinaryOperatorE", "llvm::InstCombiner::SimplifyDivRemOfSelect(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner20commonIDivTransformsERNS_14BinaryOperatorE", "llvm::InstCombiner::commonIDivTransforms(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitUDivERNS_14BinaryOperatorE", "llvm::InstCombiner::visitUDiv(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitSDivERNS_14BinaryOperatorE", "llvm::InstCombiner::visitSDiv(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitFDivERNS_14BinaryOperatorE", "llvm::InstCombiner::visitFDiv(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner19commonRemTransformsERNS_14BinaryOperatorE", "llvm::InstCombiner::commonRemTransforms(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner20commonIRemTransformsERNS_14BinaryOperatorE", "llvm::InstCombiner::commonIRemTransforms(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitURemERNS_14BinaryOperatorE", "llvm::InstCombiner::visitURem(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitSRemERNS_14BinaryOperatorE", "llvm::InstCombiner::visitSRem(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitFRemERNS_14BinaryOperatorE", "llvm::InstCombiner::visitFRem(llvm::BinaryOperator&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE10CreateURemEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateURem(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE10CreateSRemEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateSRem(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateSubEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateSub(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm19InstCombineWorklist8AddValueEPNS_5ValueE", "llvm::InstCombineWorklist::AddValue(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_11cst_pred_tyINS0_6is_oneEEENS0_7bind_tyINS_5ValueEEELj20EE5matchIS6_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::cst_pred_ty<llvm::PatternMatch::is_one>, llvm::PatternMatch::bind_ty<llvm::Value>, 20u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner22FoldPHIArgBinOpIntoPHIERNS_7PHINodeE", "llvm::InstCombiner::FoldPHIArgBinOpIntoPHI(llvm::PHINode&)"},
-    {"_ZN4llvm12InstCombiner20FoldPHIArgGEPIntoPHIERNS_7PHINodeE", "llvm::InstCombiner::FoldPHIArgGEPIntoPHI(llvm::PHINode&)"},
-    {"_ZN4llvm12InstCombiner21FoldPHIArgLoadIntoPHIERNS_7PHINodeE", "llvm::InstCombiner::FoldPHIArgLoadIntoPHI(llvm::PHINode&)"},
-    {"_Z29isSafeAndProfitableToSinkLoadPN4llvm8LoadInstE", "isSafeAndProfitableToSinkLoad(llvm::LoadInst*)"},
-    {"_ZN4llvm12InstCombiner19FoldPHIArgOpIntoPHIERNS_7PHINodeE", "llvm::InstCombiner::FoldPHIArgOpIntoPHI(llvm::PHINode&)"},
-    {"_ZN4llvm12InstCombiner24SliceUpIllegalIntegerPHIERNS_7PHINodeE", "llvm::InstCombiner::SliceUpIllegalIntegerPHI(llvm::PHINode&)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_114PHIUsageRecordEE9push_backERKS2_", "llvm::SmallVectorImpl<(anonymous namespace)::PHIUsageRecord>::push_back((anonymous namespace)::PHIUsageRecord const&)"},
-    {"_ZN4llvm8DenseMapIN12_GLOBAL__N_116LoweredPHIRecordEPNS_7PHINodeENS_12DenseMapInfoIS2_EENS5_IS4_EEEixERKS2_", "llvm::DenseMap<(anonymous namespace)::LoweredPHIRecord, llvm::PHINode*, llvm::DenseMapInfo<(anonymous namespace)::LoweredPHIRecord>, llvm::DenseMapInfo<llvm::PHINode*> >::operator[]((anonymous namespace)::LoweredPHIRecord const&)"},
-    {"_ZN4llvm12InstCombiner12visitPHINodeERNS_7PHINodeE", "llvm::InstCombiner::visitPHINode(llvm::PHINode&)"},
-    {"_Z14PHIsEqualValuePN4llvm7PHINodeEPNS_5ValueERNS_11SmallPtrSetIS1_Lj16EEE", "PHIsEqualValue(llvm::PHINode*, llvm::Value*, llvm::SmallPtrSet<llvm::PHINode*, 16u>&)"},
-    {"_ZNK4llvm8DenseMapIN12_GLOBAL__N_116LoweredPHIRecordEPNS_7PHINodeENS_12DenseMapInfoIS2_EENS5_IS4_EEE15LookupBucketForERKS2_RPSt4pairIS2_S4_E", "llvm::DenseMap<(anonymous namespace)::LoweredPHIRecord, llvm::PHINode*, llvm::DenseMapInfo<(anonymous namespace)::LoweredPHIRecord>, llvm::DenseMapInfo<llvm::PHINode*> >::LookupBucketFor((anonymous namespace)::LoweredPHIRecord const&, std::pair<(anonymous namespace)::LoweredPHIRecord, llvm::PHINode*>*&) const"},
-    {"_ZN4llvm25array_pod_sort_comparatorIN12_GLOBAL__N_114PHIUsageRecordEEEiPKvS4_", "int llvm::array_pod_sort_comparator<(anonymous namespace)::PHIUsageRecord>(void const*, void const*)"},
-    {"_ZSt6__findIPPN4llvm7PHINodeES2_ET_S4_S4_RKT0_St26random_access_iterator_tag", "llvm::PHINode** std::__find<llvm::PHINode**, llvm::PHINode*>(llvm::PHINode**, llvm::PHINode**, llvm::PHINode* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm11SmallVectorIPNS_7PHINodeELj16EEC2EjRKS2_", "llvm::SmallVector<llvm::PHINode*, 16u>::SmallVector(unsigned int, llvm::PHINode* const&)"},
-    {"_ZN4llvm12InstCombiner14FoldSelectOpOpERNS_10SelectInstEPNS_11InstructionES4_", "llvm::InstCombiner::FoldSelectOpOp(llvm::SelectInst&, llvm::Instruction*, llvm::Instruction*)"},
-    {"_ZN4llvm12InstCombiner16FoldSelectIntoOpERNS_10SelectInstEPNS_5ValueES4_", "llvm::InstCombiner::FoldSelectIntoOp(llvm::SelectInst&, llvm::Value*, llvm::Value*)"},
-    {"_Z25GetSelectFoldableConstantPN4llvm11InstructionE", "GetSelectFoldableConstant(llvm::Instruction*)"},
-    {"_Z10isSelect01PN4llvm8ConstantES1_", "isSelect01(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12InstCombiner23visitSelectInstWithICmpERNS_10SelectInstEPNS_8ICmpInstE", "llvm::InstCombiner::visitSelectInstWithICmp(llvm::SelectInst&, llvm::ICmpInst*)"},
-    {"_ZN4llvm12InstCombiner12FoldSPFofSPFEPNS_11InstructionENS_19SelectPatternFlavorEPNS_5ValueES5_RS1_S3_S5_", "llvm::InstCombiner::FoldSPFofSPF(llvm::Instruction*, llvm::SelectPatternFlavor, llvm::Value*, llvm::Value*, llvm::Instruction&, llvm::SelectPatternFlavor, llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner15visitSelectInstERNS_10SelectInstE", "llvm::InstCombiner::visitSelectInst(llvm::SelectInst&)"},
-    {"_ZN4llvm12InstCombiner21commonShiftTransformsERNS_14BinaryOperatorE", "llvm::InstCombiner::commonShiftTransforms(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner19FoldShiftByConstantEPNS_5ValueEPNS_11ConstantIntERNS_14BinaryOperatorE", "llvm::InstCombiner::FoldShiftByConstant(llvm::Value*, llvm::ConstantInt*, llvm::BinaryOperator&)"},
-    {"_Z18CanEvaluateShiftedPN4llvm5ValueEjbRNS_12InstCombinerE", "CanEvaluateShifted(llvm::Value*, unsigned int, bool, llvm::InstCombiner&)"},
-    {"_Z15GetShiftedValuePN4llvm5ValueEjbRNS_12InstCombinerE", "GetShiftedValue(llvm::Value*, unsigned int, bool, llvm::InstCombiner&)"},
-    {"_ZN4llvm12InstCombiner8visitShlERNS_14BinaryOperatorE", "llvm::InstCombiner::visitShl(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitLShrERNS_14BinaryOperatorE", "llvm::InstCombiner::visitLShr(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner9visitAShrERNS_14BinaryOperatorE", "llvm::InstCombiner::visitAShr(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_12BinOp2_matchINS0_7bind_tyINS_5ValueEEES5_Lj21ELj22EEENS3_INS_11ConstantIntEEELj23EE5matchIS4_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::BinOp2_match<llvm::PatternMatch::bind_ty<llvm::Value>, llvm::PatternMatch::bind_ty<llvm::Value>, 21u, 22u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 23u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_12BinOp2_matchINS0_7bind_tyINS_5ValueEEENS0_14specificval_tyELj21ELj22EEENS3_INS_11ConstantIntEEELj23EE5matchIS4_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::BinOp2_match<llvm::PatternMatch::bind_ty<llvm::Value>, llvm::PatternMatch::specificval_ty, 21u, 22u>, llvm::PatternMatch::bind_ty<llvm::ConstantInt>, 23u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner31SimplifyDemandedInstructionBitsERNS_11InstructionE", "llvm::InstCombiner::SimplifyDemandedInstructionBits(llvm::Instruction&)"},
-    {"_ZN4llvm12InstCombiner23SimplifyDemandedUseBitsEPNS_5ValueENS_5APIntERS3_S4_j", "llvm::InstCombiner::SimplifyDemandedUseBits(llvm::Value*, llvm::APInt, llvm::APInt&, llvm::APInt&, unsigned int)"},
-    {"_ZN4llvm12InstCombiner20SimplifyDemandedBitsERNS_3UseENS_5APIntERS3_S4_j", "llvm::InstCombiner::SimplifyDemandedBits(llvm::Use&, llvm::APInt, llvm::APInt&, llvm::APInt&, unsigned int)"},
-    {"_Z22ShrinkDemandedConstantPN4llvm11InstructionEjNS_5APIntE", "ShrinkDemandedConstant(llvm::Instruction*, unsigned int, llvm::APInt)"},
-    {"_ZN4llvm12InstCombiner26SimplifyDemandedVectorEltsEPNS_5ValueENS_5APIntERS3_j", "llvm::InstCombiner::SimplifyDemandedVectorElts(llvm::Value*, llvm::APInt, llvm::APInt&, unsigned int)"},
-    {"_ZN4llvm12InstCombiner23visitExtractElementInstERNS_18ExtractElementInstE", "llvm::InstCombiner::visitExtractElementInst(llvm::ExtractElementInst&)"},
-    {"_Z17FindScalarElementPN4llvm5ValueEj", "FindScalarElement(llvm::Value*, unsigned int)"},
-    {"_Z16CheapToScalarizePN4llvm5ValueEb", "CheapToScalarize(llvm::Value*, bool)"},
-    {"_Z14getShuffleMaskPKN4llvm17ShuffleVectorInstE", "getShuffleMask(llvm::ShuffleVectorInst const*)"},
-    {"_ZN4llvm12InstCombiner22visitInsertElementInstERNS_17InsertElementInstE", "llvm::InstCombiner::visitInsertElementInst(llvm::InsertElementInst&)"},
-    {"_Z22CollectShuffleElementsPN4llvm5ValueERSt6vectorIPNS_8ConstantESaIS4_EERS1_", "CollectShuffleElements(llvm::Value*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >&, llvm::Value*&)"},
-    {"_ZN4llvm12InstCombiner22visitShuffleVectorInstERNS_17ShuffleVectorInstE", "llvm::InstCombiner::visitShuffleVectorInst(llvm::ShuffleVectorInst&)"},
-    {"_Z28CollectSingleShuffleElementsPN4llvm5ValueES1_S1_RSt6vectorIPNS_8ConstantESaIS4_EE", "CollectSingleShuffleElements(llvm::Value*, llvm::Value*, llvm::Value*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >&)"},
-    {"_ZN4llvm21initializeInstCombineERNS_12PassRegistryE", "llvm::initializeInstCombine(llvm::PassRegistry&)"},
-    {"_ZN4llvm26initializeInstCombinerPassERNS_12PassRegistryE", "llvm::initializeInstCombinerPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm12InstCombiner16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::InstCombiner::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNK4llvm12InstCombiner16ShouldChangeTypeEPKNS_4TypeES3_", "llvm::InstCombiner::ShouldChangeType(llvm::Type const*, llvm::Type const*) const"},
-    {"_ZN4llvm12InstCombiner32SimplifyAssociativeOrCommutativeERNS_14BinaryOperatorE", "llvm::InstCombiner::SimplifyAssociativeOrCommutative(llvm::BinaryOperator&)"},
-    {"_ZN4llvm12InstCombiner29SimplifyUsingDistributiveLawsERNS_14BinaryOperatorE", "llvm::InstCombiner::SimplifyUsingDistributiveLaws(llvm::BinaryOperator&)"},
-    {"_ZNK4llvm12InstCombiner14dyn_castNegValEPNS_5ValueE", "llvm::InstCombiner::dyn_castNegVal(llvm::Value*) const"},
-    {"_ZNK4llvm12InstCombiner15dyn_castFNegValEPNS_5ValueE", "llvm::InstCombiner::dyn_castFNegVal(llvm::Value*) const"},
-    {"_ZN4llvm12InstCombiner16FoldOpIntoSelectERNS_11InstructionEPNS_10SelectInstE", "llvm::InstCombiner::FoldOpIntoSelect(llvm::Instruction&, llvm::SelectInst*)"},
-    {"_Z30FoldOperationIntoSelectOperandRN4llvm11InstructionEPNS_5ValueEPNS_12InstCombinerE", "FoldOperationIntoSelectOperand(llvm::Instruction&, llvm::Value*, llvm::InstCombiner*)"},
-    {"_ZN4llvm12InstCombiner13FoldOpIntoPhiERNS_11InstructionE", "llvm::InstCombiner::FoldOpIntoPhi(llvm::Instruction&)"},
-    {"_ZN4llvm12InstCombiner19FindElementAtOffsetEPKNS_4TypeExRNS_15SmallVectorImplIPNS_5ValueEEE", "llvm::InstCombiner::FindElementAtOffset(llvm::Type const*, long long, llvm::SmallVectorImpl<llvm::Value*>&)"},
-    {"_ZN4llvm12InstCombiner22visitGetElementPtrInstERNS_17GetElementPtrInstE", "llvm::InstCombiner::visitGetElementPtrInst(llvm::GetElementPtrInst&)"},
-    {"_ZN4llvm12InstCombiner11visitMallocERNS_11InstructionE", "llvm::InstCombiner::visitMalloc(llvm::Instruction&)"},
-    {"_ZN4llvm12InstCombiner9visitFreeERNS_8CallInstE", "llvm::InstCombiner::visitFree(llvm::CallInst&)"},
-    {"_ZN4llvm12InstCombiner15visitBranchInstERNS_10BranchInstE", "llvm::InstCombiner::visitBranchInst(llvm::BranchInst&)"},
-    {"_ZN4llvm12InstCombiner15visitSwitchInstERNS_10SwitchInstE", "llvm::InstCombiner::visitSwitchInst(llvm::SwitchInst&)"},
-    {"_ZN4llvm12InstCombiner21visitExtractValueInstERNS_16ExtractValueInstE", "llvm::InstCombiner::visitExtractValueInst(llvm::ExtractValueInst&)"},
-    {"_ZN4llvm12InstCombiner14DoOneIterationERNS_8FunctionEj", "llvm::InstCombiner::DoOneIteration(llvm::Function&, unsigned int)"},
-    {"_ZN4llvm12InstCombiner13runOnFunctionERNS_8FunctionE", "llvm::InstCombiner::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm30createInstructionCombiningPassEv", "llvm::createInstructionCombiningPass()"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE11CreateBinOpENS_11Instruction9BinaryOpsEPNS_5ValueES7_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateBinOp(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm12InstCombiner19InsertNewInstBeforeEPNS_11InstructionERS1_", "llvm::InstCombiner::InsertNewInstBefore(llvm::Instruction*, llvm::Instruction&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE12CreateSelectEPNS_5ValueES5_S5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateSelect(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE10CreateICmpENS_7CmpInst9PredicateEPNS_5ValueES7_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateICmp(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE10CreateFCmpENS_7CmpInst9PredicateEPNS_5ValueES7_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateFCmp(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE10CreateCastENS_11Instruction7CastOpsEPNS_5ValueEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateCast(llvm::Instruction::CastOps, llvm::Value*, llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN4llvm12InstCombiner19ReplaceInstUsesWithERNS_11InstructionEPNS_5ValueE", "llvm::InstCombiner::ReplaceInstUsesWith(llvm::Instruction&, llvm::Value*)"},
-    {"_ZN4llvm12InstCombiner21EraseInstFromFunctionERNS_11InstructionE", "llvm::InstCombiner::EraseInstFromFunction(llvm::Instruction&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE13CreateIntCastEPNS_5ValueEPKNS_4TypeEbRKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateIntCast(llvm::Value*, llvm::Type const*, bool, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateAddEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateAdd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE17CreateInBoundsGEPIPPNS_5ValueEEES6_S6_T_S8_RKNS_5TwineE", "llvm::Value* llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateInBoundsGEP<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateGEPIPPNS_5ValueEEES6_S6_T_S8_RKNS_5TwineE", "llvm::Value* llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateGEP<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE9CreateMulEPNS_5ValueES5_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateMul(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_21InstCombineIRInserterEE18CreateExtractValueIPKjEEPNS_5ValueES8_T_S9_RKNS_5TwineE", "llvm::Value* llvm::IRBuilder<true, llvm::TargetFolder, llvm::InstCombineIRInserter>::CreateExtractValue<unsigned int const*>(llvm::Value*, unsigned int const*, unsigned int const*, llvm::Twine const&)"},
-    {"_ZN4llvm11InstVisitorINS_12InstCombinerEPNS_11InstructionEE5visitERS2_", "llvm::InstVisitor<llvm::InstCombiner, llvm::Instruction*>::visit(llvm::Instruction&)"},
-    {"_ZN4llvm19InstCombineWorklist18AddUsersToWorkListERNS_11InstructionE", "llvm::InstCombineWorklist::AddUsersToWorkList(llvm::Instruction&)"},
-    {"_ZN4llvm12InstCombinerD1Ev", "llvm::InstCombiner::~InstCombiner()"},
-    {"_ZN4llvm12InstCombinerD0Ev", "llvm::InstCombiner::~InstCombiner()"},
-    {"_ZNK4llvm21InstCombineIRInserter12InsertHelperEPNS_11InstructionERKNS_5TwineEPNS_10BasicBlockENS_14ilist_iteratorIS1_EE", "llvm::InstCombineIRInserter::InsertHelper(llvm::Instruction*, llvm::Twine const&, llvm::BasicBlock*, llvm::ilist_iterator<llvm::Instruction>) const"},
-    {"_ZN4llvm15InsertValueInstC2IPKjEEPNS_5ValueES5_T_S6_RKNS_5TwineEPNS_11InstructionE", "llvm::InsertValueInst::InsertValueInst<unsigned int const*>(llvm::Value*, llvm::Value*, unsigned int const*, unsigned int const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm16ExtractValueInstC2IPKjEEPNS_5ValueET_S6_RKNS_5TwineEPNS_11InstructionE", "llvm::ExtractValueInst::ExtractValueInst<unsigned int const*>(llvm::Value*, unsigned int const*, unsigned int const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm12PatternMatch9not_matchINS0_7bind_tyINS_5ValueEEEE5matchIS3_EEbPT_", "bool llvm::PatternMatch::not_match<llvm::PatternMatch::bind_ty<llvm::Value> >::match<llvm::Value>(llvm::Value*)"},
-    {"_ZNK4llvm12TargetFolder13CreateIntCastEPNS_8ConstantEPKNS_4TypeEb", "llvm::TargetFolder::CreateIntCast(llvm::Constant*, llvm::Type const*, bool) const"},
-    {"_ZN4llvm12InstCombinerC2Ev", "llvm::InstCombiner::InstCombiner()"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionEjNS_12DenseMapInfoIS2_EENS3_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Instruction*, unsigned int, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm19InstCombineWorklist15AddInitialGroupEPKPNS_11InstructionEj", "llvm::InstCombineWorklist::AddInitialGroup(llvm::Instruction* const*, unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionEjNS_12DenseMapInfoIS2_EENS3_IjEEE6insertERKSt4pairIS2_jE", "llvm::DenseMap<llvm::Instruction*, unsigned int, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<unsigned int> >::insert(std::pair<llvm::Instruction*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::Instruction*, unsigned int, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::Instruction* const&, unsigned int const&, std::pair<llvm::Instruction*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::Instruction*, unsigned int, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm15callDefaultCtorINS_12InstCombinerEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::InstCombiner>()"},
-    {"_ZNK4llvm11ExtAddrMode5printERNS_11raw_ostreamE", "llvm::ExtAddrMode::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm11ExtAddrMode4dumpEv", "llvm::ExtAddrMode::dump() const"},
-    {"_ZN4llvm21AddressingModeMatcher16MatchScaledValueEPNS_5ValueExj", "llvm::AddressingModeMatcher::MatchScaledValue(llvm::Value*, long long, unsigned int)"},
-    {"_ZN4llvm21AddressingModeMatcher9MatchAddrEPNS_5ValueEj", "llvm::AddressingModeMatcher::MatchAddr(llvm::Value*, unsigned int)"},
-    {"_ZN4llvm21AddressingModeMatcher18MatchOperationAddrEPNS_4UserEjj", "llvm::AddressingModeMatcher::MatchOperationAddr(llvm::User*, unsigned int, unsigned int)"},
-    {"_ZN4llvm21AddressingModeMatcher36IsProfitableToFoldIntoAddressingModeEPNS_11InstructionERNS_11ExtAddrModeES4_", "llvm::AddressingModeMatcher::IsProfitableToFoldIntoAddressingMode(llvm::Instruction*, llvm::ExtAddrMode&, llvm::ExtAddrMode&)"},
-    {"_ZN4llvm21AddressingModeMatcher22ValueAlreadyLiveAtInstEPNS_5ValueES2_S2_", "llvm::AddressingModeMatcher::ValueAlreadyLiveAtInst(llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_Z17FindAllMemoryUsesPN4llvm11InstructionERNS_15SmallVectorImplISt4pairIS1_jEEERNS_11SmallPtrSetIS1_Lj16EEERKNS_14TargetLoweringE", "FindAllMemoryUses(llvm::Instruction*, llvm::SmallVectorImpl<std::pair<llvm::Instruction*, unsigned int> >&, llvm::SmallPtrSet<llvm::Instruction*, 16u>&, llvm::TargetLowering const&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_11InstructionEE6resizeEj", "llvm::SmallVectorImpl<llvm::Instruction*>::resize(unsigned int)"},
-    {"_ZSt6__findIPPN4llvm11InstructionES2_ET_S4_S4_RKT0_St26random_access_iterator_tag", "llvm::Instruction** std::__find<llvm::Instruction**, llvm::Instruction*>(llvm::Instruction**, llvm::Instruction**, llvm::Instruction* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm15DeleteDeadBlockEPNS_10BasicBlockE", "llvm::DeleteDeadBlock(llvm::BasicBlock*)"},
-    {"_ZN4llvm23FoldSingleEntryPHINodesEPNS_10BasicBlockEPNS_4PassE", "llvm::FoldSingleEntryPHINodes(llvm::BasicBlock*, llvm::Pass*)"},
-    {"_ZN4llvm14DeleteDeadPHIsEPNS_10BasicBlockE", "llvm::DeleteDeadPHIs(llvm::BasicBlock*)"},
-    {"_ZN4llvm25MergeBlockIntoPredecessorEPNS_10BasicBlockEPNS_4PassE", "llvm::MergeBlockIntoPredecessor(llvm::BasicBlock*, llvm::Pass*)"},
-    {"_ZN4llvm20ReplaceInstWithValueERNS_6iplistINS_11InstructionENS_12ilist_traitsIS1_EEEERNS_14ilist_iteratorIS1_EEPNS_5ValueE", "llvm::ReplaceInstWithValue(llvm::iplist<llvm::Instruction, llvm::ilist_traits<llvm::Instruction> >&, llvm::ilist_iterator<llvm::Instruction>&, llvm::Value*)"},
-    {"_ZN4llvm19ReplaceInstWithInstERNS_6iplistINS_11InstructionENS_12ilist_traitsIS1_EEEERNS_14ilist_iteratorIS1_EEPS1_", "llvm::ReplaceInstWithInst(llvm::iplist<llvm::Instruction, llvm::ilist_traits<llvm::Instruction> >&, llvm::ilist_iterator<llvm::Instruction>&, llvm::Instruction*)"},
-    {"_ZN4llvm19ReplaceInstWithInstEPNS_11InstructionES1_", "llvm::ReplaceInstWithInst(llvm::Instruction*, llvm::Instruction*)"},
-    {"_ZN4llvm18GetSuccessorNumberEPNS_10BasicBlockES1_", "llvm::GetSuccessorNumber(llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm9SplitEdgeEPNS_10BasicBlockES1_PNS_4PassE", "llvm::SplitEdge(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Pass*)"},
-    {"_ZN4llvm10SplitBlockEPNS_10BasicBlockEPNS_11InstructionEPNS_4PassE", "llvm::SplitBlock(llvm::BasicBlock*, llvm::Instruction*, llvm::Pass*)"},
-    {"_ZN4llvm22SplitBlockPredecessorsEPNS_10BasicBlockEPKS1_jPKcPNS_4PassE", "llvm::SplitBlockPredecessors(llvm::BasicBlock*, llvm::BasicBlock* const*, unsigned int, char const*, llvm::Pass*)"},
-    {"_ZN4llvm21FindFunctionBackedgesERKNS_8FunctionERNS_15SmallVectorImplISt4pairIPKNS_10BasicBlockES7_EEE", "llvm::FindFunctionBackedges(llvm::Function const&, llvm::SmallVectorImpl<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >&)"},
-    {"_ZN4llvm26FoldReturnIntoUncondBranchEPNS_10ReturnInstEPNS_10BasicBlockES3_", "llvm::FoldReturnIntoUncondBranch(llvm::ReturnInst*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE19addBasicBlockToLoopEPS1_RNS_12LoopInfoBaseIS1_S2_EE", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::addBasicBlockToLoop(llvm::BasicBlock*, llvm::LoopInfoBase<llvm::BasicBlock, llvm::Loop>&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPKNS_10BasicBlockENS_12SuccIteratorIPKNS_14TerminatorInstES3_EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::BasicBlock const*, llvm::SuccIterator<llvm::TerminatorInst const*, llvm::BasicBlock const> >, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_4LoopENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::Loop*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Loop*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::Loop* const&, std::pair<llvm::BasicBlock*, llvm::Loop*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_4LoopENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::Loop*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Loop*> >::grow(unsigned int)"},
-    {"_ZN4llvm12LoopInfoBaseINS_10BasicBlockENS_4LoopEE11removeBlockEPS1_", "llvm::LoopInfoBase<llvm::BasicBlock, llvm::Loop>::removeBlock(llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE19removeBlockFromLoopEPS1_", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::removeBlockFromLoop(llvm::BasicBlock*)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm10BasicBlockESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, llvm::BasicBlock*>(__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, __gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, llvm::BasicBlock* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm32initializeBreakCriticalEdgesPassERNS_12PassRegistryE", "llvm::initializeBreakCriticalEdgesPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm28createBreakCriticalEdgesPassEv", "llvm::createBreakCriticalEdgesPass()"},
-    {"_ZN4llvm14isCriticalEdgeEPKNS_14TerminatorInstEjb", "llvm::isCriticalEdge(llvm::TerminatorInst const*, unsigned int, bool)"},
-    {"_ZN4llvm17SplitCriticalEdgeEPNS_14TerminatorInstEjPNS_4PassEb", "llvm::SplitCriticalEdge(llvm::TerminatorInst*, unsigned int, llvm::Pass*, bool)"},
-    {"_Z26CreatePHIsForSplitLoopExitRN4llvm15SmallVectorImplIPNS_10BasicBlockEEES2_S2_", "CreatePHIsForSplitLoopExit(llvm::SmallVectorImpl<llvm::BasicBlock*>&, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN12_GLOBAL__N_118BreakCriticalEdgesD1Ev", "(anonymous namespace)::BreakCriticalEdges::~BreakCriticalEdges()"},
-    {"_ZN12_GLOBAL__N_118BreakCriticalEdgesD0Ev", "(anonymous namespace)::BreakCriticalEdges::~BreakCriticalEdges()"},
-    {"_ZNK12_GLOBAL__N_118BreakCriticalEdges16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::BreakCriticalEdges::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_118BreakCriticalEdges13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::BreakCriticalEdges::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_118BreakCriticalEdgesEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::BreakCriticalEdges>()"},
-    {"_ZN4llvm10CastToCStrEPNS_5ValueERNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEE", "llvm::CastToCStr(llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&)"},
-    {"_ZN4llvm10EmitStrLenEPNS_5ValueERNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitStrLen(llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm10EmitStrChrEPNS_5ValueEcRNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitStrChr(llvm::Value*, char, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm11EmitStrNCmpEPNS_5ValueES1_S1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitStrNCmp(llvm::Value*, llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm10EmitStrCpyEPNS_5ValueES1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutENS_9StringRefE", "llvm::EmitStrCpy(llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*, llvm::StringRef)"},
-    {"_ZN4llvm11EmitStrNCpyEPNS_5ValueES1_S1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutENS_9StringRefE", "llvm::EmitStrNCpy(llvm::Value*, llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*, llvm::StringRef)"},
-    {"_ZN4llvm13EmitMemCpyChkEPNS_5ValueES1_S1_S1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitMemCpyChk(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm10EmitMemChrEPNS_5ValueES1_S1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitMemChr(llvm::Value*, llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm10EmitMemCmpEPNS_5ValueES1_S1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitMemCmp(llvm::Value*, llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm20EmitUnaryFloatFnCallEPNS_5ValueEPKcRNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEERKNS_11AttrListPtrE", "llvm::EmitUnaryFloatFnCall(llvm::Value*, char const*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::AttrListPtr const&)"},
-    {"_ZN4llvm11EmitPutCharEPNS_5ValueERNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitPutChar(llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm8EmitPutSEPNS_5ValueERNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitPutS(llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm9EmitFPutCEPNS_5ValueES1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitFPutC(llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm9EmitFPutSEPNS_5ValueES1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitFPutS(llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm10EmitFWriteEPNS_5ValueES1_S1_RNS_9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEEEPKNS_10DataLayoutE", "llvm::EmitFWrite(llvm::Value*, llvm::Value*, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*)"},
-    {"_ZN4llvm25SimplifyFortifiedLibCallsD0Ev", "llvm::SimplifyFortifiedLibCalls::~SimplifyFortifiedLibCalls()"},
-    {"_ZN4llvm25SimplifyFortifiedLibCallsD1Ev", "llvm::SimplifyFortifiedLibCalls::~SimplifyFortifiedLibCalls()"},
-    {"_ZN4llvm25SimplifyFortifiedLibCallsD2Ev", "llvm::SimplifyFortifiedLibCalls::~SimplifyFortifiedLibCalls()"},
-    {"_ZN4llvm25SimplifyFortifiedLibCalls4foldEPNS_8CallInstEPKNS_10DataLayoutE", "llvm::SimplifyFortifiedLibCalls::fold(llvm::CallInst*, llvm::DataLayout const*)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE11CreateCall3EPNS_5ValueES6_S6_S6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateCall3(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE11CreateCall4EPNS_5ValueES6_S6_S6_S6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateCall4(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm15CloneBasicBlockEPKNS_10BasicBlockERNS_8ValueMapIPKNS_5ValueENS_10TrackingVHIS4_EENS_14ValueMapConfigIS6_EENS_12DenseMapInfoIS8_EEEERKNS_5TwineEPNS_8FunctionEPNS_14ClonedCodeInfoE", "llvm::CloneBasicBlock(llvm::BasicBlock const*, llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >&, llvm::Twine const&, llvm::Function*, llvm::ClonedCodeInfo*)"},
-    {"_ZN4llvm17CloneFunctionIntoEPNS_8FunctionEPKS0_RNS_8ValueMapIPKNS_5ValueENS_10TrackingVHIS5_EENS_14ValueMapConfigIS7_EENS_12DenseMapInfoIS9_EEEEbRNS_15SmallVectorImplIPNS_10ReturnInstEEEPKcPNS_14ClonedCodeInfoE", "llvm::CloneFunctionInto(llvm::Function*, llvm::Function const*, llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >&, bool, llvm::SmallVectorImpl<llvm::ReturnInst*>&, char const*, llvm::ClonedCodeInfo*)"},
-    {"_ZN4llvm13CloneFunctionEPKNS_8FunctionERNS_8ValueMapIPKNS_5ValueENS_10TrackingVHIS4_EENS_14ValueMapConfigIS6_EENS_12DenseMapInfoIS8_EEEEbPNS_14ClonedCodeInfoE", "llvm::CloneFunction(llvm::Function const*, llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >&, bool, llvm::ClonedCodeInfo*)"},
-    {"_ZN4llvm25CloneAndPruneFunctionIntoEPNS_8FunctionEPKS0_RNS_8ValueMapIPKNS_5ValueENS_10TrackingVHIS5_EENS_14ValueMapConfigIS7_EENS_12DenseMapInfoIS9_EEEEbRNS_15SmallVectorImplIPNS_10ReturnInstEEEPKcPNS_14ClonedCodeInfoEPKNS_10DataLayoutEPNS_11InstructionE", "llvm::CloneAndPruneFunctionInto(llvm::Function*, llvm::Function const*, llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >&, bool, llvm::SmallVectorImpl<llvm::ReturnInst*>&, char const*, llvm::ClonedCodeInfo*, llvm::DataLayout const*, llvm::Instruction*)"},
-    {"_Z19UpdateInlinedAtInfoRKN4llvm8DebugLocES2_RNS_11LLVMContextE", "UpdateInlinedAtInfo(llvm::DebugLoc const&, llvm::DebugLoc const&, llvm::LLVMContext&)"},
-    {"_ZNSt6vectorIPKN4llvm10BasicBlockESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::BasicBlock const*, std::allocator<llvm::BasicBlock const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::BasicBlock const**, std::vector<llvm::BasicBlock const*, std::allocator<llvm::BasicBlock const*> > >, llvm::BasicBlock const* const&)"},
-    {"_ZN4llvm16DemoteRegToStackERNS_11InstructionEbPS0_", "llvm::DemoteRegToStack(llvm::Instruction&, bool, llvm::Instruction*)"},
-    {"_ZN4llvm16DemotePHIToStackEPNS_7PHINodeEPNS_11InstructionE", "llvm::DemotePHIToStack(llvm::PHINode*, llvm::Instruction*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_PNS0_5ValueEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, llvm::Value*>, std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Value*> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, llvm::Value*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::BasicBlock* const, llvm::Value*> >, std::pair<llvm::BasicBlock* const, llvm::Value*> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_PNS0_5ValueEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, llvm::Value*>, std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Value*> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, llvm::Value*> > >::_M_insert_unique(std::pair<llvm::BasicBlock* const, llvm::Value*> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_PNS0_5ValueEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, llvm::Value*>, std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Value*> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, llvm::Value*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock* const, llvm::Value*> >*)"},
-    {"_ZN4llvm14InlineFunctionEPNS_8CallInstERNS_18InlineFunctionInfoE", "llvm::InlineFunction(llvm::CallInst*, llvm::InlineFunctionInfo&)"},
-    {"_ZN4llvm14InlineFunctionENS_8CallSiteERNS_18InlineFunctionInfoE", "llvm::InlineFunction(llvm::CallSite, llvm::InlineFunctionInfo&)"},
-    {"_ZN4llvm14InlineFunctionEPNS_10InvokeInstERNS_18InlineFunctionInfoE", "llvm::InlineFunction(llvm::InvokeInst*, llvm::InlineFunctionInfo&)"},
-    {"_ZNSt6vectorISt4pairIN4llvm6WeakVHEPNS1_13CallGraphNodeEESaIS5_EE13_M_assign_auxIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvT_SD_St20forward_iterator_tag", "void std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > >::_M_assign_aux<__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, std::forward_iterator_tag)"},
-    {"_ZNSt6vectorISt4pairIN4llvm6WeakVHEPNS1_13CallGraphNodeEESaIS5_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEESB_mT_SD_", "std::pair<llvm::WeakVH, llvm::CallGraphNode*>* std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > > >(unsigned long, __gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >)"},
-    {"_ZN4llvm19initializeLCSSAPassERNS_12PassRegistryE", "llvm::initializeLCSSAPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15createLCSSAPassEv", "llvm::createLCSSAPass()"},
-    {"_ZN12_GLOBAL__N_15LCSSAC1Ev", "(anonymous namespace)::LCSSA::LCSSA()"},
-    {"_ZN12_GLOBAL__N_15LCSSAD1Ev", "(anonymous namespace)::LCSSA::~LCSSA()"},
-    {"_ZN12_GLOBAL__N_15LCSSAD0Ev", "(anonymous namespace)::LCSSA::~LCSSA()"},
-    {"_ZNK12_GLOBAL__N_15LCSSA16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LCSSA::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNK12_GLOBAL__N_15LCSSA14verifyAnalysisEv", "(anonymous namespace)::LCSSA::verifyAnalysis() const"},
-    {"_ZN12_GLOBAL__N_15LCSSA9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LCSSA::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN4llvm25array_pod_sort_comparatorIPNS_10BasicBlockEEEiPKvS4_", "int llvm::array_pod_sort_comparator<llvm::BasicBlock*>(void const*, void const*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_15LCSSAEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LCSSA>()"},
-    {"_ZN4llvm17PredIteratorCache11GetNumPredsEPNS_10BasicBlockE", "llvm::PredIteratorCache::GetNumPreds(llvm::BasicBlock*)"},
-    {"_ZN4llvm22ConstantFoldTerminatorEPNS_10BasicBlockE", "llvm::ConstantFoldTerminator(llvm::BasicBlock*)"},
-    {"_ZN4llvm26isInstructionTriviallyDeadEPNS_11InstructionE", "llvm::isInstructionTriviallyDead(llvm::Instruction*)"},
-    {"_ZN4llvm42RecursivelyDeleteTriviallyDeadInstructionsEPNS_5ValueE", "llvm::RecursivelyDeleteTriviallyDeadInstructions(llvm::Value*)"},
-    {"_ZN4llvm28RecursivelyDeleteDeadPHINodeEPNS_7PHINodeE", "llvm::RecursivelyDeleteDeadPHINode(llvm::PHINode*)"},
-    {"_ZN4llvm27SimplifyInstructionsInBlockEPNS_10BasicBlockEPKNS_10DataLayoutE", "llvm::SimplifyInstructionsInBlock(llvm::BasicBlock*, llvm::DataLayout const*)"},
-    {"_ZN4llvm28RemovePredecessorAndSimplifyEPNS_10BasicBlockES1_PNS_10DataLayoutE", "llvm::RemovePredecessorAndSimplify(llvm::BasicBlock*, llvm::BasicBlock*, llvm::DataLayout*)"},
-    {"_ZN4llvm27MergeBasicBlockIntoOnlyPredEPNS_10BasicBlockEPNS_4PassE", "llvm::MergeBasicBlockIntoOnlyPred(llvm::BasicBlock*, llvm::Pass*)"},
-    {"_ZN4llvm39TryToSimplifyUncondBranchFromEmptyBlockEPNS_10BasicBlockE", "llvm::TryToSimplifyUncondBranchFromEmptyBlock(llvm::BasicBlock*)"},
-    {"_ZN4llvm26EliminateDuplicatePHINodesEPNS_10BasicBlockE", "llvm::EliminateDuplicatePHINodes(llvm::BasicBlock*)"},
-    {"_ZN4llvm26getOrEnforceKnownAlignmentEPNS_5ValueEjPKNS_10DataLayoutE", "llvm::getOrEnforceKnownAlignment(llvm::Value*, unsigned int, llvm::DataLayout const*)"},
-    {"_ZN4llvm8DenseMapImPNS_7PHINodeENS_12DenseMapInfoImEENS3_IS2_EEE6insertERKSt4pairImS2_E", "llvm::DenseMap<unsigned long, llvm::PHINode*, llvm::DenseMapInfo<unsigned long>, llvm::DenseMapInfo<llvm::PHINode*> >::insert(std::pair<unsigned long, llvm::PHINode*> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_7PHINodeES2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<llvm::PHINode*, llvm::PHINode*, llvm::DenseMapInfo<llvm::PHINode*>, llvm::DenseMapInfo<llvm::PHINode*> >::InsertIntoBucket(llvm::PHINode* const&, llvm::PHINode* const&, std::pair<llvm::PHINode*, llvm::PHINode*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_7PHINodeES2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<llvm::PHINode*, llvm::PHINode*, llvm::DenseMapInfo<llvm::PHINode*>, llvm::DenseMapInfo<llvm::PHINode*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapImPNS_7PHINodeENS_12DenseMapInfoImEENS3_IS2_EEE16InsertIntoBucketERKmRKS2_PSt4pairImS2_E", "llvm::DenseMap<unsigned long, llvm::PHINode*, llvm::DenseMapInfo<unsigned long>, llvm::DenseMapInfo<llvm::PHINode*> >::InsertIntoBucket(unsigned long const&, llvm::PHINode* const&, std::pair<unsigned long, llvm::PHINode*>*)"},
-    {"_ZN4llvm8DenseMapImPNS_7PHINodeENS_12DenseMapInfoImEENS3_IS2_EEE4growEj", "llvm::DenseMap<unsigned long, llvm::PHINode*, llvm::DenseMapInfo<unsigned long>, llvm::DenseMapInfo<llvm::PHINode*> >::grow(unsigned int)"},
-    {"_ZN4llvm11SmallPtrSetIPNS_10BasicBlockELj16EEC2INS_12PredIteratorIS1_NS_18value_use_iteratorINS_4UserEEEEEEET_SA_", "llvm::SmallPtrSet<llvm::BasicBlock*, 16u>::SmallPtrSet<llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >(llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >)"},
-    {"_ZN4llvm26initializeLoopSimplifyPassERNS_12PassRegistryE", "llvm::initializeLoopSimplifyPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm22createLoopSimplifyPassEv", "llvm::createLoopSimplifyPass()"},
-    {"_ZN12_GLOBAL__N_112LoopSimplifyD1Ev", "(anonymous namespace)::LoopSimplify::~LoopSimplify()"},
-    {"_ZN12_GLOBAL__N_112LoopSimplifyD0Ev", "(anonymous namespace)::LoopSimplify::~LoopSimplify()"},
-    {"_ZNK12_GLOBAL__N_112LoopSimplify16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LoopSimplify::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNK12_GLOBAL__N_112LoopSimplify14verifyAnalysisEv", "(anonymous namespace)::LoopSimplify::verifyAnalysis() const"},
-    {"_ZN12_GLOBAL__N_112LoopSimplify9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::LoopSimplify::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZN12_GLOBAL__N_112LoopSimplify24PlaceSplitBlockCarefullyEPN4llvm10BasicBlockERNS1_15SmallVectorImplIS3_EEPNS1_4LoopE", "(anonymous namespace)::LoopSimplify::PlaceSplitBlockCarefully(llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::BasicBlock*>&, llvm::Loop*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_112LoopSimplifyEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LoopSimplify>()"},
-    {"_ZNK4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE15getNumBackEdgesEv", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getNumBackEdges() const"},
-    {"_ZN4llvm14SmallSetVectorIPNS_10BasicBlockELj8EEC2IPS2_EET_S6_", "llvm::SmallSetVector<llvm::BasicBlock*, 8u>::SmallSetVector<llvm::BasicBlock**>(llvm::BasicBlock**, llvm::BasicBlock**)"},
-    {"_ZN4llvm10UnrollLoopEPNS_4LoopEjPNS_8LoopInfoEPNS_13LPPassManagerE", "llvm::UnrollLoop(llvm::Loop*, unsigned int, llvm::LoopInfo*, llvm::LPPassManager*)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS2_EENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E5beginEv", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::begin()"},
-    {"_ZNSt6vectorIPN4llvm7PHINodeESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::PHINode*, std::allocator<llvm::PHINode*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::PHINode**, std::vector<llvm::PHINode*, std::allocator<llvm::PHINode*> > >, llvm::PHINode* const&)"},
-    {"_ZN4llvm25initializeLowerInvokePassERNS_12PassRegistryE", "llvm::initializeLowerInvokePass(llvm::PassRegistry&)"},
-    {"_ZN4llvm21createLowerInvokePassEPKNS_14TargetLoweringE", "llvm::createLowerInvokePass(llvm::TargetLowering const*)"},
-    {"_ZN4llvm21createLowerInvokePassEPKNS_14TargetLoweringEb", "llvm::createLowerInvokePass(llvm::TargetLowering const*, bool)"},
-    {"_ZN12_GLOBAL__N_111LowerInvokeD1Ev", "(anonymous namespace)::LowerInvoke::~LowerInvoke()"},
-    {"_ZN12_GLOBAL__N_111LowerInvokeD0Ev", "(anonymous namespace)::LowerInvoke::~LowerInvoke()"},
-    {"_ZNK12_GLOBAL__N_111LowerInvoke16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LowerInvoke::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_111LowerInvoke16doInitializationERN4llvm6ModuleE", "(anonymous namespace)::LowerInvoke::doInitialization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_111LowerInvoke13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::LowerInvoke::runOnFunction(llvm::Function&)"},
-    {"_Z16MarkBlocksLiveInPN4llvm10BasicBlockERSt3setIS1_St4lessIS1_ESaIS1_EE", "MarkBlocksLiveIn(llvm::BasicBlock*, std::set<llvm::BasicBlock*, std::less<llvm::BasicBlock*>, std::allocator<llvm::BasicBlock*> >&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_111LowerInvokeEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LowerInvoke>()"},
-    {"_ZN4llvm17GetElementPtrInstC2IPPNS_5ValueEEES3_T_S5_jRKNS_5TwineEPNS_10BasicBlockE", "llvm::GetElementPtrInst::GetElementPtrInst<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, unsigned int, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10InvokeInstES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<llvm::InvokeInst*, llvm::InvokeInst*, std::_Identity<llvm::InvokeInst*>, std::less<llvm::InvokeInst*>, std::allocator<llvm::InvokeInst*> >::_M_erase(std::_Rb_tree_node<llvm::InvokeInst*>*)"},
-    {"_ZN4llvm25initializeLowerSwitchPassERNS_12PassRegistryE", "llvm::initializeLowerSwitchPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm21createLowerSwitchPassEv", "llvm::createLowerSwitchPass()"},
-    {"_ZlsRN4llvm11raw_ostreamERKSt6vectorIN12_GLOBAL__N_111LowerSwitch9CaseRangeESaIS5_EE", "operator<<(llvm::raw_ostream&, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > const&)"},
-    {"_ZN12_GLOBAL__N_111LowerSwitchD1Ev", "(anonymous namespace)::LowerSwitch::~LowerSwitch()"},
-    {"_ZN12_GLOBAL__N_111LowerSwitchD0Ev", "(anonymous namespace)::LowerSwitch::~LowerSwitch()"},
-    {"_ZNK12_GLOBAL__N_111LowerSwitch16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::LowerSwitch::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_111LowerSwitch13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::LowerSwitch::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_111LowerSwitch13switchConvertEN9__gnu_cxx17__normal_iteratorIPNS0_9CaseRangeESt6vectorIS3_SaIS3_EEEES8_PN4llvm5ValueEPNS9_10BasicBlockESD_", "(anonymous namespace)::LowerSwitch::switchConvert(__gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_111LowerSwitch9CaseRangeESt6vectorIS4_SaIS4_EEEElNS2_7CaseCmpEEvT_SB_T0_T1_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, long, (anonymous namespace)::CaseCmp>(__gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, long, (anonymous namespace)::CaseCmp)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_111LowerSwitch9CaseRangeESt6vectorIS4_SaIS4_EEEENS2_7CaseCmpEEvT_SB_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, (anonymous namespace)::CaseCmp>(__gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, (anonymous namespace)::CaseCmp)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_111LowerSwitch9CaseRangeESt6vectorIS4_SaIS4_EEEElS4_NS2_7CaseCmpEEvT_T0_SC_T1_T2_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, long, (anonymous namespace)::LowerSwitch::CaseRange, (anonymous namespace)::CaseCmp>(__gnu_cxx::__normal_iterator<(anonymous namespace)::LowerSwitch::CaseRange*, std::vector<(anonymous namespace)::LowerSwitch::CaseRange, std::allocator<(anonymous namespace)::LowerSwitch::CaseRange> > >, long, long, (anonymous namespace)::LowerSwitch::CaseRange, (anonymous namespace)::CaseCmp)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_111LowerSwitchEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::LowerSwitch>()"},
-    {"_ZN4llvm18isAllocaPromotableEPKNS_10AllocaInstE", "llvm::isAllocaPromotable(llvm::AllocaInst const*)"},
-    {"_ZN4llvm15PromoteMemToRegERKSt6vectorIPNS_10AllocaInstESaIS2_EERNS_13DominatorTreeEPNS_15AliasSetTrackerE", "llvm::PromoteMemToReg(std::vector<llvm::AllocaInst*, std::allocator<llvm::AllocaInst*> > const&, llvm::DominatorTree&, llvm::AliasSetTracker*)"},
-    {"_ZN12_GLOBAL__N_114PromoteMem2Reg3runEv", "(anonymous namespace)::PromoteMem2Reg::run()"},
-    {"_ZN12_GLOBAL__N_114PromoteMem2Reg31ConvertDebugDeclareToDebugValueEPN4llvm14DbgDeclareInstEPNS1_9StoreInstE", "(anonymous namespace)::PromoteMem2Reg::ConvertDebugDeclareToDebugValue(llvm::DbgDeclareInst*, llvm::StoreInst*)"},
-    {"_ZNSt6vectorIN12_GLOBAL__N_114RenamePassDataESaIS1_EE9push_backERKS1_", "std::vector<(anonymous namespace)::RenamePassData, std::allocator<(anonymous namespace)::RenamePassData> >::push_back((anonymous namespace)::RenamePassData const&)"},
-    {"_ZN12_GLOBAL__N_114PromoteMem2Reg11getNumPredsEPKN4llvm10BasicBlockE", "(anonymous namespace)::PromoteMem2Reg::getNumPreds(llvm::BasicBlock const*)"},
-    {"_ZN12_GLOBAL__N_114LargeBlockInfo19getInstructionIndexEPKN4llvm11InstructionE", "(anonymous namespace)::LargeBlockInfo::getInstructionIndex(llvm::Instruction const*)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_14DbgDeclareInstEE6resizeEj", "llvm::SmallVectorImpl<llvm::DbgDeclareInst*>::resize(unsigned int)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_10BasicBlockEjEPNS_7PHINodeENS_12DenseMapInfoIS4_EENS7_IS6_EEE5clearEv", "llvm::DenseMap<std::pair<llvm::BasicBlock*, unsigned int>, llvm::PHINode*, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::PHINode*> >::clear()"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_10BasicBlockEjEPNS_7PHINodeENS_12DenseMapInfoIS4_EENS7_IS6_EEE16shrink_and_clearEv", "llvm::DenseMap<std::pair<llvm::BasicBlock*, unsigned int>, llvm::PHINode*, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::PHINode*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_7PHINodeEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::PHINode*, unsigned int, llvm::DenseMapInfo<llvm::PHINode*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::PHINode* const&, unsigned int const&, std::pair<llvm::PHINode*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_7PHINodeEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::PHINode*, unsigned int, llvm::DenseMapInfo<llvm::PHINode*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_11InstructionEjNS_12DenseMapInfoIS3_EENS4_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Instruction const*, unsigned int, llvm::DenseMapInfo<llvm::Instruction const*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_10BasicBlockEjEPNS_7PHINodeENS_12DenseMapInfoIS4_EENS7_IS6_EEE16FindAndConstructERKS4_", "llvm::DenseMap<std::pair<llvm::BasicBlock*, unsigned int>, llvm::PHINode*, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::PHINode*> >::FindAndConstruct(std::pair<llvm::BasicBlock*, unsigned int> const&)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_10BasicBlockEjEPNS_7PHINodeENS_12DenseMapInfoIS4_EENS7_IS6_EEE16InsertIntoBucketERKS4_RKS6_PS1_IS4_S6_E", "llvm::DenseMap<std::pair<llvm::BasicBlock*, unsigned int>, llvm::PHINode*, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::PHINode*> >::InsertIntoBucket(std::pair<llvm::BasicBlock*, unsigned int> const&, llvm::PHINode* const&, std::pair<std::pair<llvm::BasicBlock*, unsigned int>, llvm::PHINode*>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_10BasicBlockEjEPNS_7PHINodeENS_12DenseMapInfoIS4_EENS7_IS6_EEE4growEj", "llvm::DenseMap<std::pair<llvm::BasicBlock*, unsigned int>, llvm::PHINode*, llvm::DenseMapInfo<std::pair<llvm::BasicBlock*, unsigned int> >, llvm::DenseMapInfo<llvm::PHINode*> >::grow(unsigned int)"},
-    {"_ZSt16__introsort_loopIPSt4pairIjPN4llvm10BasicBlockEElEvT_S6_T0_", "void std::__introsort_loop<std::pair<unsigned int, llvm::BasicBlock*>*, long>(std::pair<unsigned int, llvm::BasicBlock*>*, std::pair<unsigned int, llvm::BasicBlock*>*, long)"},
-    {"_ZSt22__final_insertion_sortIPSt4pairIjPN4llvm10BasicBlockEEEvT_S6_", "void std::__final_insertion_sort<std::pair<unsigned int, llvm::BasicBlock*>*>(std::pair<unsigned int, llvm::BasicBlock*>*, std::pair<unsigned int, llvm::BasicBlock*>*)"},
-    {"_ZSt16__insertion_sortIPSt4pairIjPN4llvm10BasicBlockEEEvT_S6_", "void std::__insertion_sort<std::pair<unsigned int, llvm::BasicBlock*>*>(std::pair<unsigned int, llvm::BasicBlock*>*, std::pair<unsigned int, llvm::BasicBlock*>*)"},
-    {"_ZSt13__heap_selectIPSt4pairIjPN4llvm10BasicBlockEEEvT_S6_S6_", "void std::__heap_select<std::pair<unsigned int, llvm::BasicBlock*>*>(std::pair<unsigned int, llvm::BasicBlock*>*, std::pair<unsigned int, llvm::BasicBlock*>*, std::pair<unsigned int, llvm::BasicBlock*>*)"},
-    {"_ZSt13__adjust_heapIPSt4pairIjPN4llvm10BasicBlockEElS4_EvT_T0_S7_T1_", "void std::__adjust_heap<std::pair<unsigned int, llvm::BasicBlock*>*, long, std::pair<unsigned int, llvm::BasicBlock*> >(std::pair<unsigned int, llvm::BasicBlock*>*, long, long, std::pair<unsigned int, llvm::BasicBlock*>)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIPNS_15DomTreeNodeBaseINS_10BasicBlockEEEjEEaSERKS7_", "llvm::SmallVectorImpl<std::pair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, unsigned int> >::operator=(llvm::SmallVectorImpl<std::pair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, unsigned int> > const&)"},
-    {"_ZN4llvm8DenseMapIPNS_10AllocaInstEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::AllocaInst*, unsigned int, llvm::DenseMapInfo<llvm::AllocaInst*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::AllocaInst* const&, unsigned int const&, std::pair<llvm::AllocaInst*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10AllocaInstEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::AllocaInst*, unsigned int, llvm::DenseMapInfo<llvm::AllocaInst*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_15DomTreeNodeBaseINS_10BasicBlockEEEjNS_12DenseMapInfoIS4_EENS5_IjEEE16InsertIntoBucketERKS4_RKjPSt4pairIS4_jE", "llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*, unsigned int, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::DomTreeNodeBase<llvm::BasicBlock>* const&, unsigned int const&, std::pair<llvm::DomTreeNodeBase<llvm::BasicBlock>*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_15DomTreeNodeBaseINS_10BasicBlockEEEjNS_12DenseMapInfoIS4_EENS5_IjEEE4growEj", "llvm::DenseMap<llvm::DomTreeNodeBase<llvm::BasicBlock>*, unsigned int, llvm::DenseMapInfo<llvm::DomTreeNodeBase<llvm::BasicBlock>*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZSt16__introsort_loopIPSt4pairIjPN4llvm9StoreInstEElEvT_S6_T0_", "void std::__introsort_loop<std::pair<unsigned int, llvm::StoreInst*>*, long>(std::pair<unsigned int, llvm::StoreInst*>*, std::pair<unsigned int, llvm::StoreInst*>*, long)"},
-    {"_ZSt22__final_insertion_sortIPSt4pairIjPN4llvm9StoreInstEEEvT_S6_", "void std::__final_insertion_sort<std::pair<unsigned int, llvm::StoreInst*>*>(std::pair<unsigned int, llvm::StoreInst*>*, std::pair<unsigned int, llvm::StoreInst*>*)"},
-    {"_ZSt16__insertion_sortIPSt4pairIjPN4llvm9StoreInstEEEvT_S6_", "void std::__insertion_sort<std::pair<unsigned int, llvm::StoreInst*>*>(std::pair<unsigned int, llvm::StoreInst*>*, std::pair<unsigned int, llvm::StoreInst*>*)"},
-    {"_ZSt13__heap_selectIPSt4pairIjPN4llvm9StoreInstEEEvT_S6_S6_", "void std::__heap_select<std::pair<unsigned int, llvm::StoreInst*>*>(std::pair<unsigned int, llvm::StoreInst*>*, std::pair<unsigned int, llvm::StoreInst*>*, std::pair<unsigned int, llvm::StoreInst*>*)"},
-    {"_ZSt13__adjust_heapIPSt4pairIjPN4llvm9StoreInstEElS4_EvT_T0_S7_T1_", "void std::__adjust_heap<std::pair<unsigned int, llvm::StoreInst*>*, long, std::pair<unsigned int, llvm::StoreInst*> >(std::pair<unsigned int, llvm::StoreInst*>*, long, long, std::pair<unsigned int, llvm::StoreInst*>)"},
-    {"_ZN4llvm8DenseMapIPKNS_11InstructionEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::Instruction const*, unsigned int, llvm::DenseMapInfo<llvm::Instruction const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::Instruction const* const&, unsigned int const&, std::pair<llvm::Instruction const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_11InstructionEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::Instruction const*, unsigned int, llvm::DenseMapInfo<llvm::Instruction const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm10SSAUpdaterC1EPNS_15SmallVectorImplIPNS_7PHINodeEEE", "llvm::SSAUpdater::SSAUpdater(llvm::SmallVectorImpl<llvm::PHINode*>*)"},
-    {"_ZN4llvm10SSAUpdaterC2EPNS_15SmallVectorImplIPNS_7PHINodeEEE", "llvm::SSAUpdater::SSAUpdater(llvm::SmallVectorImpl<llvm::PHINode*>*)"},
-    {"_ZN4llvm10SSAUpdaterD1Ev", "llvm::SSAUpdater::~SSAUpdater()"},
-    {"_ZN4llvm10SSAUpdaterD2Ev", "llvm::SSAUpdater::~SSAUpdater()"},
-    {"_ZN4llvm10SSAUpdater10InitializeEPKNS_4TypeENS_9StringRefE", "llvm::SSAUpdater::Initialize(llvm::Type const*, llvm::StringRef)"},
-    {"_ZNK4llvm10SSAUpdater16HasValueForBlockEPNS_10BasicBlockE", "llvm::SSAUpdater::HasValueForBlock(llvm::BasicBlock*) const"},
-    {"_ZN4llvm10SSAUpdater17AddAvailableValueEPNS_10BasicBlockEPNS_5ValueE", "llvm::SSAUpdater::AddAvailableValue(llvm::BasicBlock*, llvm::Value*)"},
-    {"_ZN4llvm10SSAUpdater20GetValueAtEndOfBlockEPNS_10BasicBlockE", "llvm::SSAUpdater::GetValueAtEndOfBlock(llvm::BasicBlock*)"},
-    {"_ZN4llvm10SSAUpdater28GetValueAtEndOfBlockInternalEPNS_10BasicBlockE", "llvm::SSAUpdater::GetValueAtEndOfBlockInternal(llvm::BasicBlock*)"},
-    {"_ZN4llvm10SSAUpdater23GetValueInMiddleOfBlockEPNS_10BasicBlockE", "llvm::SSAUpdater::GetValueInMiddleOfBlock(llvm::BasicBlock*)"},
-    {"_ZN4llvm10SSAUpdater10RewriteUseERNS_3UseE", "llvm::SSAUpdater::RewriteUse(llvm::Use&)"},
-    {"_ZN4llvm10SSAUpdater25RewriteUseAfterInsertionsERNS_3UseE", "llvm::SSAUpdater::RewriteUseAfterInsertions(llvm::Use&)"},
-    {"_ZN4llvm20LoadAndStorePromoterC1ERKNS_15SmallVectorImplIPNS_11InstructionEEERNS_10SSAUpdaterENS_9StringRefE", "llvm::LoadAndStorePromoter::LoadAndStorePromoter(llvm::SmallVectorImpl<llvm::Instruction*> const&, llvm::SSAUpdater&, llvm::StringRef)"},
-    {"_ZN4llvm20LoadAndStorePromoterC2ERKNS_15SmallVectorImplIPNS_11InstructionEEERNS_10SSAUpdaterENS_9StringRefE", "llvm::LoadAndStorePromoter::LoadAndStorePromoter(llvm::SmallVectorImpl<llvm::Instruction*> const&, llvm::SSAUpdater&, llvm::StringRef)"},
-    {"_ZNK4llvm20LoadAndStorePromoter3runERKNS_15SmallVectorImplIPNS_11InstructionEEE", "llvm::LoadAndStorePromoter::run(llvm::SmallVectorImpl<llvm::Instruction*> const&) const"},
-    {"_ZN4llvm14SSAUpdaterImplINS_10SSAUpdaterEE8GetValueEPNS_10BasicBlockE", "llvm::SSAUpdaterImpl<llvm::SSAUpdater>::GetValue(llvm::BasicBlock*)"},
-    {"_ZN4llvm20LoadAndStorePromoterD1Ev", "llvm::LoadAndStorePromoter::~LoadAndStorePromoter()"},
-    {"_ZN4llvm20LoadAndStorePromoterD0Ev", "llvm::LoadAndStorePromoter::~LoadAndStorePromoter()"},
-    {"_ZNK4llvm20LoadAndStorePromoter12isInstInListEPNS_11InstructionERKNS_15SmallVectorImplIS2_EE", "llvm::LoadAndStorePromoter::isInstInList(llvm::Instruction*, llvm::SmallVectorImpl<llvm::Instruction*> const&) const"},
-    {"_ZNK4llvm20LoadAndStorePromoter34doExtraRewritesBeforeFinalDeletionEv", "llvm::LoadAndStorePromoter::doExtraRewritesBeforeFinalDeletion() const"},
-    {"_ZNK4llvm20LoadAndStorePromoter20replaceLoadWithValueEPNS_8LoadInstEPNS_5ValueE", "llvm::LoadAndStorePromoter::replaceLoadWithValue(llvm::LoadInst*, llvm::Value*) const"},
-    {"_ZNK4llvm20LoadAndStorePromoter18instructionDeletedEPNS_11InstructionE", "llvm::LoadAndStorePromoter::instructionDeleted(llvm::Instruction*) const"},
-    {"_ZNSt6vectorIPN4llvm11InstructionESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Instruction**, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > >, llvm::Instruction* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockESt6vectorIPNS_11InstructionESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::BasicBlock*, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> >, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > > >::FindAndConstruct(llvm::BasicBlock* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockESt6vectorIPNS_11InstructionESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE16InsertIntoBucketERKS2_RKS7_PSt4pairIS2_S7_E", "llvm::DenseMap<llvm::BasicBlock*, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> >, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > > >::InsertIntoBucket(llvm::BasicBlock* const&, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > const&, std::pair<llvm::BasicBlock*, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > >*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockESt6vectorIPNS_11InstructionESaIS5_EENS_12DenseMapInfoIS2_EENS8_IS7_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> >, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<std::vector<llvm::Instruction*, std::allocator<llvm::Instruction*> > > >::grow(unsigned int)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_10SSAUpdaterEE14BuildBlockListEPNS_10BasicBlockEPNS_15SmallVectorImplIPNS2_6BBInfoEEE", "llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BuildBlockList(llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*>*)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_10SSAUpdaterEE14FindDominatorsEPNS_15SmallVectorImplIPNS2_6BBInfoEEES5_", "llvm::SSAUpdaterImpl<llvm::SSAUpdater>::FindDominators(llvm::SmallVectorImpl<llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*>*, llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_10SSAUpdaterEE17FindAvailableValsEPNS_15SmallVectorImplIPNS2_6BBInfoEEE", "llvm::SSAUpdaterImpl<llvm::SSAUpdater>::FindAvailableVals(llvm::SmallVectorImpl<llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_14SSAUpdaterImplINS_10SSAUpdaterEE6BBInfoENS_12DenseMapInfoIS2_EENS8_IS7_EEE16InsertIntoBucketERKS2_RKS7_PSt4pairIS2_S7_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo* const&, std::pair<llvm::BasicBlock*, llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_14SSAUpdaterImplINS_10SSAUpdaterEE6BBInfoENS_12DenseMapInfoIS2_EENS8_IS7_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::SSAUpdaterImpl<llvm::SSAUpdater>::BBInfo*> >::grow(unsigned int)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_10SSAUpdaterEE17CheckIfPHIMatchesEPNS_7PHINodeE", "llvm::SSAUpdaterImpl<llvm::SSAUpdater>::CheckIfPHIMatches(llvm::PHINode*)"},
-    {"_ZN4llvm14SSAUpdaterImplINS_10SSAUpdaterEE17RecordMatchingPHIEPNS_7PHINodeE", "llvm::SSAUpdaterImpl<llvm::SSAUpdater>::RecordMatchingPHI(llvm::PHINode*)"},
-    {"_ZN4llvm16SSAUpdaterTraitsINS_10SSAUpdaterEE21FindPredecessorBlocksEPNS_10BasicBlockEPNS_15SmallVectorImplIS4_EE", "llvm::SSAUpdaterTraits<llvm::SSAUpdater>::FindPredecessorBlocks(llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::BasicBlock*>*)"},
-    {"_ZN4llvm22FoldBranchToCommonDestEPNS_10BranchInstE", "llvm::FoldBranchToCommonDest(llvm::BranchInst*)"},
-    {"_Z22SafeToMergeTerminatorsPN4llvm14TerminatorInstES1_", "SafeToMergeTerminators(llvm::TerminatorInst*, llvm::TerminatorInst*)"},
-    {"_ZN4llvm11SimplifyCFGEPNS_10BasicBlockEPKNS_10DataLayoutE", "llvm::SimplifyCFG(llvm::BasicBlock*, llvm::DataLayout const*)"},
-    {"_ZN12_GLOBAL__N_114SimplifyCFGOpt3runEPN4llvm10BasicBlockE", "(anonymous namespace)::SimplifyCFGOpt::run(llvm::BasicBlock*)"},
-    {"_Z29EraseTerminatorInstAndDCECondPN4llvm14TerminatorInstE", "EraseTerminatorInstAndDCECond(llvm::TerminatorInst*)"},
-    {"_ZN12_GLOBAL__N_114SimplifyCFGOpt25isValueEqualityComparisonEPN4llvm14TerminatorInstE", "(anonymous namespace)::SimplifyCFGOpt::isValueEqualityComparison(llvm::TerminatorInst*)"},
-    {"_ZN12_GLOBAL__N_114SimplifyCFGOpt45SimplifyEqualityComparisonWithOnlyPredecessorEPN4llvm14TerminatorInstEPNS1_10BasicBlockE", "(anonymous namespace)::SimplifyCFGOpt::SimplifyEqualityComparisonWithOnlyPredecessor(llvm::TerminatorInst*, llvm::BasicBlock*)"},
-    {"_ZN12_GLOBAL__N_114SimplifyCFGOpt35FoldValueComparisonIntoPredecessorsEPN4llvm14TerminatorInstE", "(anonymous namespace)::SimplifyCFGOpt::FoldValueComparisonIntoPredecessors(llvm::TerminatorInst*)"},
-    {"_Z24ConstantIntSortPredicatePKvS0_", "ConstantIntSortPredicate(void const*, void const*)"},
-    {"_ZN12_GLOBAL__N_114SimplifyCFGOpt31GetValueEqualityComparisonCasesEPN4llvm14TerminatorInstERSt6vectorISt4pairIPNS1_11ConstantIntEPNS1_10BasicBlockEESaISA_EE", "(anonymous namespace)::SimplifyCFGOpt::GetValueEqualityComparisonCases(llvm::TerminatorInst*, std::vector<std::pair<llvm::ConstantInt*, llvm::BasicBlock*>, std::allocator<std::pair<llvm::ConstantInt*, llvm::BasicBlock*> > >&)"},
-    {"_ZNSt3setIPN4llvm11ConstantIntEN12_GLOBAL__N_119ConstantIntOrderingESaIS2_EE6insertERKS2_", "std::set<llvm::ConstantInt*, (anonymous namespace)::ConstantIntOrdering, std::allocator<llvm::ConstantInt*> >::insert(llvm::ConstantInt* const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm11ConstantIntES2_St9_IdentityIS2_EN12_GLOBAL__N_119ConstantIntOrderingESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<llvm::ConstantInt*, llvm::ConstantInt*, std::_Identity<llvm::ConstantInt*>, (anonymous namespace)::ConstantIntOrdering, std::allocator<llvm::ConstantInt*> >::_M_erase(std::_Rb_tree_node<llvm::ConstantInt*>*)"},
-    {"_Z14GetConstantIntPN4llvm5ValueEPKNS_10DataLayoutE", "GetConstantInt(llvm::Value*, llvm::DataLayout const*)"},
-    {"_ZN4llvm25array_pod_sort_comparatorISt4pairIPNS_11ConstantIntEPNS_10BasicBlockEEEEiPKvS8_", "int llvm::array_pod_sort_comparator<std::pair<llvm::ConstantInt*, llvm::BasicBlock*> >(void const*, void const*)"},
-    {"_Z22SpeculativelyExecuteBBPN4llvm10BranchInstEPNS_10BasicBlockE", "SpeculativelyExecuteBB(llvm::BranchInst*, llvm::BasicBlock*)"},
-    {"_Z19FoldCondBranchOnPHIPN4llvm10BranchInstEPKNS_10DataLayoutE", "FoldCondBranchOnPHI(llvm::BranchInst*, llvm::DataLayout const*)"},
-    {"_Z34BlockIsSimpleEnoughToThreadThroughPN4llvm10BasicBlockE", "BlockIsSimpleEnoughToThreadThrough(llvm::BasicBlock*)"},
-    {"_Z19isSafeToHoistInvokePN4llvm10BasicBlockES1_PNS_11InstructionES3_", "isSafeToHoistInvoke(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Instruction*, llvm::Instruction*)"},
-    {"_Z22GatherConstantComparesPN4llvm5ValueERSt6vectorIPNS_11ConstantIntESaIS4_EERS1_PKNS_10DataLayoutEbRj", "GatherConstantCompares(llvm::Value*, std::vector<llvm::ConstantInt*, std::allocator<llvm::ConstantInt*> >&, llvm::Value*&, llvm::DataLayout const*, bool, unsigned int&)"},
-    {"_Z19DominatesMergePointPN4llvm5ValueEPNS_10BasicBlockEPNS_11SmallPtrSetIPNS_11InstructionELj4EEE", "DominatesMergePoint(llvm::Value*, llvm::BasicBlock*, llvm::SmallPtrSet<llvm::Instruction*, 4u>*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, unsigned int>, std::_Select1st<std::pair<llvm::BasicBlock* const, unsigned int> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, unsigned int> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock* const, unsigned int> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS5_ERKS5_", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, unsigned int>, std::_Select1st<std::pair<llvm::BasicBlock* const, unsigned int> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, unsigned int> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::BasicBlock* const, unsigned int> >, std::pair<llvm::BasicBlock* const, unsigned int> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, unsigned int>, std::_Select1st<std::pair<llvm::BasicBlock* const, unsigned int> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, unsigned int> > >::_M_insert_unique(std::pair<llvm::BasicBlock* const, unsigned int> const&)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm11ConstantIntEPNS1_10BasicBlockEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<std::pair<llvm::ConstantInt*, llvm::BasicBlock*>, std::allocator<std::pair<llvm::ConstantInt*, llvm::BasicBlock*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::ConstantInt*, llvm::BasicBlock*>*, std::vector<std::pair<llvm::ConstantInt*, llvm::BasicBlock*>, std::allocator<std::pair<llvm::ConstantInt*, llvm::BasicBlock*> > > >, std::pair<llvm::ConstantInt*, llvm::BasicBlock*> const&)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm11ConstantIntEPNS1_10BasicBlockEESaIS6_EE7reserveEm", "std::vector<std::pair<llvm::ConstantInt*, llvm::BasicBlock*>, std::allocator<std::pair<llvm::ConstantInt*, llvm::BasicBlock*> > >::reserve(unsigned long)"},
-    {"_ZNSt8_Rb_treeISt4pairIPN4llvm5ValueES3_ES0_IKS4_PNS1_10SelectInstEESt10_Select1stIS8_ESt4lessIS4_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<std::pair<llvm::Value*, llvm::Value*>, std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*>, std::_Select1st<std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> >, std::less<std::pair<llvm::Value*, llvm::Value*> >, std::allocator<std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPN4llvm5ValueES3_ES0_IKS4_PNS1_10SelectInstEESt10_Select1stIS8_ESt4lessIS4_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<std::pair<llvm::Value*, llvm::Value*>, std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*>, std::_Select1st<std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> >, std::less<std::pair<llvm::Value*, llvm::Value*> >, std::allocator<std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> >, std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPN4llvm5ValueES3_ES0_IKS4_PNS1_10SelectInstEESt10_Select1stIS8_ESt4lessIS4_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<std::pair<llvm::Value*, llvm::Value*>, std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*>, std::_Select1st<std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> >, std::less<std::pair<llvm::Value*, llvm::Value*> >, std::allocator<std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> > >::_M_insert_unique(std::pair<std::pair<llvm::Value*, llvm::Value*> const, llvm::SelectInst*> const&)"},
-    {"_ZNSt6vectorIPN4llvm11ConstantIntESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::ConstantInt*, std::allocator<llvm::ConstantInt*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::ConstantInt**, std::vector<llvm::ConstantInt*, std::allocator<llvm::ConstantInt*> > >, unsigned long, llvm::ConstantInt* const&)"},
-    {"_ZN4llvm36initializeUnifyFunctionExitNodesPassERNS_12PassRegistryE", "llvm::initializeUnifyFunctionExitNodesPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm32createUnifyFunctionExitNodesPassEv", "llvm::createUnifyFunctionExitNodesPass()"},
-    {"_ZNK4llvm22UnifyFunctionExitNodes16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::UnifyFunctionExitNodes::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm22UnifyFunctionExitNodes13runOnFunctionERNS_8FunctionE", "llvm::UnifyFunctionExitNodes::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm22UnifyFunctionExitNodesD1Ev", "llvm::UnifyFunctionExitNodes::~UnifyFunctionExitNodes()"},
-    {"_ZN4llvm22UnifyFunctionExitNodesD0Ev", "llvm::UnifyFunctionExitNodes::~UnifyFunctionExitNodes()"},
-    {"_ZN4llvm15callDefaultCtorINS_22UnifyFunctionExitNodesEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::UnifyFunctionExitNodes>()"},
-    {"_ZN4llvm8MapValueEPKNS_5ValueERNS_8ValueMapIS2_NS_10TrackingVHIS0_EENS_14ValueMapConfigIS2_EENS_12DenseMapInfoIS5_EEEENS_10RemapFlagsE", "llvm::MapValue(llvm::Value const*, llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >&, llvm::RemapFlags)"},
-    {"_ZN4llvm16RemapInstructionEPNS_11InstructionERNS_8ValueMapIPKNS_5ValueENS_10TrackingVHIS3_EENS_14ValueMapConfigIS5_EENS_12DenseMapInfoIS7_EEEENS_10RemapFlagsE", "llvm::RemapInstruction(llvm::Instruction*, llvm::ValueMap<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >&, llvm::RemapFlags)"},
-    {"_ZN4llvm32initializeCallGraphAnalysisGroupERNS_12PassRegistryE", "llvm::initializeCallGraphAnalysisGroup(llvm::PassRegistry&)"},
-    {"_ZN4llvm28initializeBasicCallGraphPassERNS_12PassRegistryE", "llvm::initializeBasicCallGraphPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm9CallGraph10initializeERNS_6ModuleE", "llvm::CallGraph::initialize(llvm::Module&)"},
-    {"_ZN4llvm9CallGraph7destroyEv", "llvm::CallGraph::destroy()"},
-    {"_ZNK4llvm9CallGraph5printERNS_11raw_ostreamEPNS_6ModuleE", "llvm::CallGraph::print(llvm::raw_ostream&, llvm::Module*) const"},
-    {"_ZNK4llvm13CallGraphNode5printERNS_11raw_ostreamE", "llvm::CallGraphNode::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm9CallGraph4dumpEv", "llvm::CallGraph::dump() const"},
-    {"_ZN4llvm9CallGraph24removeFunctionFromModuleEPNS_13CallGraphNodeE", "llvm::CallGraph::removeFunctionFromModule(llvm::CallGraphNode*)"},
-    {"_ZN4llvm9CallGraph14spliceFunctionEPKNS_8FunctionES3_", "llvm::CallGraph::spliceFunction(llvm::Function const*, llvm::Function const*)"},
-    {"_ZN4llvm9CallGraph19getOrInsertFunctionEPKNS_8FunctionE", "llvm::CallGraph::getOrInsertFunction(llvm::Function const*)"},
-    {"_ZNK4llvm13CallGraphNode4dumpEv", "llvm::CallGraphNode::dump() const"},
-    {"_ZN4llvm13CallGraphNode17removeCallEdgeForENS_8CallSiteE", "llvm::CallGraphNode::removeCallEdgeFor(llvm::CallSite)"},
-    {"_ZN4llvm13CallGraphNode19removeAnyCallEdgeToEPS0_", "llvm::CallGraphNode::removeAnyCallEdgeTo(llvm::CallGraphNode*)"},
-    {"_ZN4llvm13CallGraphNode23removeOneAbstractEdgeToEPS0_", "llvm::CallGraphNode::removeOneAbstractEdgeTo(llvm::CallGraphNode*)"},
-    {"_ZN4llvm13CallGraphNode15replaceCallEdgeENS_8CallSiteES1_PS0_", "llvm::CallGraphNode::replaceCallEdge(llvm::CallSite, llvm::CallSite, llvm::CallGraphNode*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_114BasicCallGraphEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::BasicCallGraph>()"},
-    {"_ZN12_GLOBAL__N_114BasicCallGraphD1Ev", "(anonymous namespace)::BasicCallGraph::~BasicCallGraph()"},
-    {"_ZN12_GLOBAL__N_114BasicCallGraphD0Ev", "(anonymous namespace)::BasicCallGraph::~BasicCallGraph()"},
-    {"_ZNK12_GLOBAL__N_114BasicCallGraph5printERN4llvm11raw_ostreamEPKNS1_6ModuleE", "(anonymous namespace)::BasicCallGraph::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZNK12_GLOBAL__N_114BasicCallGraph16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::BasicCallGraph::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_114BasicCallGraph13releaseMemoryEv", "(anonymous namespace)::BasicCallGraph::releaseMemory()"},
-    {"_ZN12_GLOBAL__N_114BasicCallGraph26getAdjustedAnalysisPointerEPKv", "(anonymous namespace)::BasicCallGraph::getAdjustedAnalysisPointer(void const*)"},
-    {"_ZN12_GLOBAL__N_114BasicCallGraph11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::BasicCallGraph::runOnModule(llvm::Module&)"},
-    {"_ZNK12_GLOBAL__N_114BasicCallGraph22getExternalCallingNodeEv", "(anonymous namespace)::BasicCallGraph::getExternalCallingNode() const"},
-    {"_ZNK12_GLOBAL__N_114BasicCallGraph20getCallsExternalNodeEv", "(anonymous namespace)::BasicCallGraph::getCallsExternalNode() const"},
-    {"_ZN12_GLOBAL__N_114BasicCallGraph7getRootEv", "(anonymous namespace)::BasicCallGraph::getRoot()"},
-    {"_ZNK12_GLOBAL__N_114BasicCallGraph7getRootEv", "(anonymous namespace)::BasicCallGraph::getRoot() const"},
-    {"_ZN12_GLOBAL__N_114BasicCallGraph7destroyEv", "(anonymous namespace)::BasicCallGraph::destroy()"},
-    {"_ZThn32_NK12_GLOBAL__N_114BasicCallGraph22getExternalCallingNodeEv", "non-virtual thunk to (anonymous namespace)::BasicCallGraph::getExternalCallingNode() const"},
-    {"_ZThn32_NK12_GLOBAL__N_114BasicCallGraph20getCallsExternalNodeEv", "non-virtual thunk to (anonymous namespace)::BasicCallGraph::getCallsExternalNode() const"},
-    {"_ZThn32_N12_GLOBAL__N_114BasicCallGraph7getRootEv", "non-virtual thunk to (anonymous namespace)::BasicCallGraph::getRoot()"},
-    {"_ZThn32_NK12_GLOBAL__N_114BasicCallGraph7getRootEv", "non-virtual thunk to (anonymous namespace)::BasicCallGraph::getRoot() const"},
-    {"_ZThn32_N12_GLOBAL__N_114BasicCallGraphD1Ev", "non-virtual thunk to (anonymous namespace)::BasicCallGraph::~BasicCallGraph()"},
-    {"_ZThn32_N12_GLOBAL__N_114BasicCallGraphD0Ev", "non-virtual thunk to (anonymous namespace)::BasicCallGraph::~BasicCallGraph()"},
-    {"_ZThn32_N12_GLOBAL__N_114BasicCallGraph7destroyEv", "non-virtual thunk to (anonymous namespace)::BasicCallGraph::destroy()"},
-    {"_ZN4llvm13CallGraphNodeD1Ev", "llvm::CallGraphNode::~CallGraphNode()"},
-    {"_ZNK4llvm9CallGraph22getExternalCallingNodeEv", "llvm::CallGraph::getExternalCallingNode() const"},
-    {"_ZNK4llvm9CallGraph20getCallsExternalNodeEv", "llvm::CallGraph::getCallsExternalNode() const"},
-    {"_ZN4llvm9CallGraph7getRootEv", "llvm::CallGraph::getRoot()"},
-    {"_ZNK4llvm9CallGraph7getRootEv", "llvm::CallGraph::getRoot() const"},
-    {"_ZN4llvm9CallGraphD1Ev", "llvm::CallGraph::~CallGraph()"},
-    {"_ZN4llvm9CallGraphD0Ev", "llvm::CallGraph::~CallGraph()"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_PNS0_13CallGraphNodeEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, llvm::CallGraphNode*>, std::_Select1st<std::pair<llvm::Function const* const, llvm::CallGraphNode*> >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, llvm::CallGraphNode*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Function const* const, llvm::CallGraphNode*> >, std::pair<llvm::Function const* const, llvm::CallGraphNode*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_PNS0_13CallGraphNodeEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, llvm::CallGraphNode*>, std::_Select1st<std::pair<llvm::Function const* const, llvm::CallGraphNode*> >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, llvm::CallGraphNode*> > >::_M_insert_unique(std::pair<llvm::Function const* const, llvm::CallGraphNode*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_PNS0_13CallGraphNodeEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE5eraseESt17_Rb_tree_iteratorIS8_ESG_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, llvm::CallGraphNode*>, std::_Select1st<std::pair<llvm::Function const* const, llvm::CallGraphNode*> >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, llvm::CallGraphNode*> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::Function const* const, llvm::CallGraphNode*> >, std::_Rb_tree_iterator<std::pair<llvm::Function const* const, llvm::CallGraphNode*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_PNS0_13CallGraphNodeEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, llvm::CallGraphNode*>, std::_Select1st<std::pair<llvm::Function const* const, llvm::CallGraphNode*> >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, llvm::CallGraphNode*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Function const* const, llvm::CallGraphNode*> >*)"},
-    {"_ZN4llvm13CallGraphNode17addCalledFunctionENS_8CallSiteEPS0_", "llvm::CallGraphNode::addCalledFunction(llvm::CallSite, llvm::CallGraphNode*)"},
-    {"_ZNSt6vectorISt4pairIN4llvm6WeakVHEPNS1_13CallGraphNodeEESaIS5_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS5_S7_EERKS5_", "std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, std::pair<llvm::WeakVH, llvm::CallGraphNode*> const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPSt4pairIN4llvm6WeakVHEPNS4_13CallGraphNodeEES9_EET0_T_SB_SA_", "std::pair<llvm::WeakVH, llvm::CallGraphNode*>* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::pair<llvm::WeakVH, llvm::CallGraphNode*>*>(std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::pair<llvm::WeakVH, llvm::CallGraphNode*>*)"},
-    {"_ZN4llvm12CallGraphSCC11ReplaceNodeEPNS_13CallGraphNodeES2_", "llvm::CallGraphSCC::ReplaceNode(llvm::CallGraphNode*, llvm::CallGraphNode*)"},
-    {"_ZN4llvm16CallGraphSCCPass17assignPassManagerERNS_7PMStackENS_15PassManagerTypeE", "llvm::CallGraphSCCPass::assignPassManager(llvm::PMStack&, llvm::PassManagerType)"},
-    {"_ZNK4llvm16CallGraphSCCPass16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::CallGraphSCCPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNK4llvm16CallGraphSCCPass17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::CallGraphSCCPass::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZN12_GLOBAL__N_118PrintCallGraphPassD1Ev", "(anonymous namespace)::PrintCallGraphPass::~PrintCallGraphPass()"},
-    {"_ZN12_GLOBAL__N_118PrintCallGraphPassD0Ev", "(anonymous namespace)::PrintCallGraphPass::~PrintCallGraphPass()"},
-    {"_ZNK12_GLOBAL__N_118PrintCallGraphPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PrintCallGraphPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_118PrintCallGraphPass8runOnSCCERN4llvm12CallGraphSCCE", "(anonymous namespace)::PrintCallGraphPass::runOnSCC(llvm::CallGraphSCC&)"},
-    {"_ZN12_GLOBAL__N_113CGPassManagerD1Ev", "(anonymous namespace)::CGPassManager::~CGPassManager()"},
-    {"_ZN12_GLOBAL__N_113CGPassManagerD0Ev", "(anonymous namespace)::CGPassManager::~CGPassManager()"},
-    {"_ZNK12_GLOBAL__N_113CGPassManager11getPassNameEv", "(anonymous namespace)::CGPassManager::getPassName() const"},
-    {"_ZNK12_GLOBAL__N_113CGPassManager16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::CGPassManager::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_113CGPassManager18getAsPMDataManagerEv", "(anonymous namespace)::CGPassManager::getAsPMDataManager()"},
-    {"_ZN12_GLOBAL__N_113CGPassManager17dumpPassStructureEj", "(anonymous namespace)::CGPassManager::dumpPassStructure(unsigned int)"},
-    {"_ZN12_GLOBAL__N_113CGPassManager11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::CGPassManager::runOnModule(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_113CGPassManager9getAsPassEv", "(anonymous namespace)::CGPassManager::getAsPass()"},
-    {"_ZNK12_GLOBAL__N_113CGPassManager18getPassManagerTypeEv", "(anonymous namespace)::CGPassManager::getPassManagerType() const"},
-    {"_ZThn32_N12_GLOBAL__N_113CGPassManagerD1Ev", "non-virtual thunk to (anonymous namespace)::CGPassManager::~CGPassManager()"},
-    {"_ZThn32_N12_GLOBAL__N_113CGPassManagerD0Ev", "non-virtual thunk to (anonymous namespace)::CGPassManager::~CGPassManager()"},
-    {"_ZThn32_N12_GLOBAL__N_113CGPassManager9getAsPassEv", "non-virtual thunk to (anonymous namespace)::CGPassManager::getAsPass()"},
-    {"_ZThn32_NK12_GLOBAL__N_113CGPassManager18getPassManagerTypeEv", "non-virtual thunk to (anonymous namespace)::CGPassManager::getPassManagerType() const"},
-    {"_ZN12_GLOBAL__N_113CGPassManager16RefreshCallGraphERN4llvm12CallGraphSCCERNS1_9CallGraphEb", "(anonymous namespace)::CGPassManager::RefreshCallGraph(llvm::CallGraphSCC&, llvm::CallGraph&, bool)"},
-    {"_ZN4llvm12scc_iteratorIPNS_9CallGraphENS_11GraphTraitsIS2_EEE11ReplaceNodeEPNS_13CallGraphNodeES7_", "llvm::scc_iterator<llvm::CallGraph*, llvm::GraphTraits<llvm::CallGraph*> >::ReplaceNode(llvm::CallGraphNode*, llvm::CallGraphNode*)"},
-    {"_ZN4llvm8DenseMapIPNS_13CallGraphNodeEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::CallGraphNode*, unsigned int, llvm::DenseMapInfo<llvm::CallGraphNode*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::CallGraphNode* const&, unsigned int const&, std::pair<llvm::CallGraphNode*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_13CallGraphNodeEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::CallGraphNode*, unsigned int, llvm::DenseMapInfo<llvm::CallGraphNode*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm9scc_beginIPNS_9CallGraphEEENS_12scc_iteratorIT_NS_11GraphTraitsIS4_EEEERKS4_", "llvm::scc_iterator<llvm::CallGraph*, llvm::GraphTraits<llvm::CallGraph*> > llvm::scc_begin<llvm::CallGraph*>(llvm::CallGraph* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_13CallGraphNodeENS_12DenseMapInfoIS2_EENS5_IS4_EEE6insertERKSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Value*, llvm::CallGraphNode*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::CallGraphNode*> >::insert(std::pair<llvm::Value*, llvm::CallGraphNode*> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_13CallGraphNodeENS_12DenseMapInfoIS2_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Value*, llvm::CallGraphNode*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::CallGraphNode*> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_13CallGraphNodeENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Value*, llvm::CallGraphNode*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::CallGraphNode*> >::InsertIntoBucket(llvm::Value* const&, llvm::CallGraphNode* const&, std::pair<llvm::Value*, llvm::CallGraphNode*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_13CallGraphNodeENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Value*, llvm::CallGraphNode*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::CallGraphNode*> >::grow(unsigned int)"},
-    {"_ZN4llvm12scc_iteratorIPNS_9CallGraphENS_11GraphTraitsIS2_EEE10GetNextSCCEv", "llvm::scc_iterator<llvm::CallGraph*, llvm::GraphTraits<llvm::CallGraph*> >::GetNextSCC()"},
-    {"_ZN4llvm12scc_iteratorIPNS_9CallGraphENS_11GraphTraitsIS2_EEE16DFSVisitChildrenEv", "llvm::scc_iterator<llvm::CallGraph*, llvm::GraphTraits<llvm::CallGraph*> >::DFSVisitChildren()"},
-    {"_ZNSt6vectorIPN4llvm13CallGraphNodeESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::CallGraphNode*, std::allocator<llvm::CallGraphNode*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::CallGraphNode**, std::vector<llvm::CallGraphNode*, std::allocator<llvm::CallGraphNode*> > >, llvm::CallGraphNode* const&)"},
-    {"_ZN4llvm12scc_iteratorIPNS_9CallGraphENS_11GraphTraitsIS2_EEE11DFSVisitOneEPNS_13CallGraphNodeE", "llvm::scc_iterator<llvm::CallGraph*, llvm::GraphTraits<llvm::CallGraph*> >::DFSVisitOne(llvm::CallGraphNode*)"},
-    {"_ZN4llvm11GraphTraitsIPNS_13CallGraphNodeEE8CGNDerefESt4pairINS_6WeakVHES2_E", "llvm::GraphTraits<llvm::CallGraphNode*>::CGNDeref(std::pair<llvm::WeakVH, llvm::CallGraphNode*>)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm13CallGraphNodeENS1_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPS0_INS1_6WeakVHES3_ES_IS8_SaIS8_EEEESt25pointer_to_unary_functionIS8_S3_EEEESaISG_EE13_M_insert_auxENS6_IPSG_SI_EERKSG_", "std::vector<std::pair<llvm::CallGraphNode*, llvm::mapped_iterator<__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, std::pointer_to_unary_function<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, llvm::CallGraphNode*> > >, std::allocator<std::pair<llvm::CallGraphNode*, llvm::mapped_iterator<__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, std::pointer_to_unary_function<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, llvm::CallGraphNode*> > > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::CallGraphNode*, llvm::mapped_iterator<__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, std::pointer_to_unary_function<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, llvm::CallGraphNode*> > >*, std::vector<std::pair<llvm::CallGraphNode*, llvm::mapped_iterator<__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, std::pointer_to_unary_function<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, llvm::CallGraphNode*> > >, std::allocator<std::pair<llvm::CallGraphNode*, llvm::mapped_iterator<__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, std::pointer_to_unary_function<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, llvm::CallGraphNode*> > > > > >, std::pair<llvm::CallGraphNode*, llvm::mapped_iterator<__gnu_cxx::__normal_iterator<std::pair<llvm::WeakVH, llvm::CallGraphNode*>*, std::vector<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, std::allocator<std::pair<llvm::WeakVH, llvm::CallGraphNode*> > > >, std::pointer_to_unary_function<std::pair<llvm::WeakVH, llvm::CallGraphNode*>, llvm::CallGraphNode*> > > const&)"},
-    {"_ZNSt6vectorIPN4llvm13CallGraphNodeESaIS2_EE13_M_assign_auxIPKS2_EEvT_S8_St20forward_iterator_tag", "void std::vector<llvm::CallGraphNode*, std::allocator<llvm::CallGraphNode*> >::_M_assign_aux<llvm::CallGraphNode* const*>(llvm::CallGraphNode* const*, llvm::CallGraphNode* const*, std::forward_iterator_tag)"},
-    {"_ZN4llvm27initializeFindUsedTypesPassERNS_12PassRegistryE", "llvm::initializeFindUsedTypesPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm13FindUsedTypes15IncorporateTypeEPKNS_4TypeE", "llvm::FindUsedTypes::IncorporateType(llvm::Type const*)"},
-    {"_ZN4llvm13FindUsedTypes16IncorporateValueEPKNS_5ValueE", "llvm::FindUsedTypes::IncorporateValue(llvm::Value const*)"},
-    {"_ZN4llvm13FindUsedTypes11runOnModuleERNS_6ModuleE", "llvm::FindUsedTypes::runOnModule(llvm::Module&)"},
-    {"_ZNK4llvm13FindUsedTypes5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::FindUsedTypes::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZN4llvm13FindUsedTypesD1Ev", "llvm::FindUsedTypes::~FindUsedTypes()"},
-    {"_ZN4llvm13FindUsedTypesD0Ev", "llvm::FindUsedTypes::~FindUsedTypes()"},
-    {"_ZNK4llvm13FindUsedTypes16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::FindUsedTypes::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4TypeES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE16_M_insert_uniqueERKS3_", "std::_Rb_tree<llvm::Type const*, llvm::Type const*, std::_Identity<llvm::Type const*>, std::less<llvm::Type const*>, std::allocator<llvm::Type const*> >::_M_insert_unique(llvm::Type const* const&)"},
-    {"_ZN4llvm15callDefaultCtorINS_13FindUsedTypesEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::FindUsedTypes>()"},
-    {"_ZN4llvm36initializeAliasAnalysisAnalysisGroupERNS_12PassRegistryE", "llvm::initializeAliasAnalysisAnalysisGroup(llvm::PassRegistry&)"},
-    {"_ZN4llvm13AliasAnalysis5aliasERKNS0_8LocationES3_", "llvm::AliasAnalysis::alias(llvm::AliasAnalysis::Location const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN4llvm13AliasAnalysis22pointsToConstantMemoryERKNS0_8LocationEb", "llvm::AliasAnalysis::pointsToConstantMemory(llvm::AliasAnalysis::Location const&, bool)"},
-    {"_ZN4llvm13AliasAnalysis11deleteValueEPNS_5ValueE", "llvm::AliasAnalysis::deleteValue(llvm::Value*)"},
-    {"_ZN4llvm13AliasAnalysis9copyValueEPNS_5ValueES2_", "llvm::AliasAnalysis::copyValue(llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm13AliasAnalysis14addEscapingUseERNS_3UseE", "llvm::AliasAnalysis::addEscapingUse(llvm::Use&)"},
-    {"_ZN4llvm13AliasAnalysis13getModRefInfoENS_17ImmutableCallSiteERKNS0_8LocationE", "llvm::AliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN4llvm13AliasAnalysis13getModRefInfoENS_17ImmutableCallSiteES1_", "llvm::AliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::ImmutableCallSite)"},
-    {"_ZN4llvm13AliasAnalysis17getModRefBehaviorENS_17ImmutableCallSiteE", "llvm::AliasAnalysis::getModRefBehavior(llvm::ImmutableCallSite)"},
-    {"_ZN4llvm13AliasAnalysis17getModRefBehaviorEPKNS_8FunctionE", "llvm::AliasAnalysis::getModRefBehavior(llvm::Function const*)"},
-    {"_ZN4llvm13AliasAnalysis11getLocationEPKNS_8LoadInstE", "llvm::AliasAnalysis::getLocation(llvm::LoadInst const*)"},
-    {"_ZN4llvm13AliasAnalysis16getTypeStoreSizeEPKNS_4TypeE", "llvm::AliasAnalysis::getTypeStoreSize(llvm::Type const*)"},
-    {"_ZN4llvm13AliasAnalysis11getLocationEPKNS_9StoreInstE", "llvm::AliasAnalysis::getLocation(llvm::StoreInst const*)"},
-    {"_ZN4llvm13AliasAnalysis11getLocationEPKNS_9VAArgInstE", "llvm::AliasAnalysis::getLocation(llvm::VAArgInst const*)"},
-    {"_ZN4llvm13AliasAnalysis20getLocationForSourceEPKNS_15MemTransferInstE", "llvm::AliasAnalysis::getLocationForSource(llvm::MemTransferInst const*)"},
-    {"_ZN4llvm13AliasAnalysis18getLocationForDestEPKNS_12MemIntrinsicE", "llvm::AliasAnalysis::getLocationForDest(llvm::MemIntrinsic const*)"},
-    {"_ZN4llvm13AliasAnalysis13getModRefInfoEPKNS_8LoadInstERKNS0_8LocationE", "llvm::AliasAnalysis::getModRefInfo(llvm::LoadInst const*, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN4llvm13AliasAnalysis13getModRefInfoEPKNS_9StoreInstERKNS0_8LocationE", "llvm::AliasAnalysis::getModRefInfo(llvm::StoreInst const*, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN4llvm13AliasAnalysis13getModRefInfoEPKNS_9VAArgInstERKNS0_8LocationE", "llvm::AliasAnalysis::getModRefInfo(llvm::VAArgInst const*, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN4llvm13AliasAnalysisD0Ev", "llvm::AliasAnalysis::~AliasAnalysis()"},
-    {"_ZN4llvm13AliasAnalysisD1Ev", "llvm::AliasAnalysis::~AliasAnalysis()"},
-    {"_ZN4llvm13AliasAnalysisD2Ev", "llvm::AliasAnalysis::~AliasAnalysis()"},
-    {"_ZN4llvm13AliasAnalysis23InitializeAliasAnalysisEPNS_4PassE", "llvm::AliasAnalysis::InitializeAliasAnalysis(llvm::Pass*)"},
-    {"_ZNK4llvm13AliasAnalysis16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::AliasAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm13AliasAnalysis19canBasicBlockModifyERKNS_10BasicBlockERKNS0_8LocationE", "llvm::AliasAnalysis::canBasicBlockModify(llvm::BasicBlock const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN4llvm13AliasAnalysis25canInstructionRangeModifyERKNS_11InstructionES3_RKNS0_8LocationE", "llvm::AliasAnalysis::canInstructionRangeModify(llvm::Instruction const&, llvm::Instruction const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN4llvm13isNoAliasCallEPKNS_5ValueE", "llvm::isNoAliasCall(llvm::Value const*)"},
-    {"_ZN4llvm18isIdentifiedObjectEPKNS_5ValueE", "llvm::isIdentifiedObject(llvm::Value const*)"},
-    {"_ZN4llvm13AliasAnalysis13getModRefInfoEPKNS_11InstructionERKNS0_8LocationE", "llvm::AliasAnalysis::getModRefInfo(llvm::Instruction const*, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN4llvm8AliasSet10mergeSetInERS0_RNS_15AliasSetTrackerE", "llvm::AliasSet::mergeSetIn(llvm::AliasSet&, llvm::AliasSetTracker&)"},
-    {"_ZN4llvm15AliasSetTracker14removeAliasSetEPNS_8AliasSetE", "llvm::AliasSetTracker::removeAliasSet(llvm::AliasSet*)"},
-    {"_ZN4llvm8AliasSet17removeFromTrackerERNS_15AliasSetTrackerE", "llvm::AliasSet::removeFromTracker(llvm::AliasSetTracker&)"},
-    {"_ZN4llvm8AliasSet10addPointerERNS_15AliasSetTrackerERNS0_10PointerRecEyPKNS_6MDNodeEb", "llvm::AliasSet::addPointer(llvm::AliasSetTracker&, llvm::AliasSet::PointerRec&, unsigned long long, llvm::MDNode const*, bool)"},
-    {"_ZN4llvm8AliasSet11addCallSiteENS_8CallSiteERNS_13AliasAnalysisE", "llvm::AliasSet::addCallSite(llvm::CallSite, llvm::AliasAnalysis&)"},
-    {"_ZNK4llvm8AliasSet14aliasesPointerEPKNS_5ValueEyPKNS_6MDNodeERNS_13AliasAnalysisE", "llvm::AliasSet::aliasesPointer(llvm::Value const*, unsigned long long, llvm::MDNode const*, llvm::AliasAnalysis&) const"},
-    {"_ZNK4llvm8AliasSet15aliasesCallSiteENS_8CallSiteERNS_13AliasAnalysisE", "llvm::AliasSet::aliasesCallSite(llvm::CallSite, llvm::AliasAnalysis&) const"},
-    {"_ZN4llvm15AliasSetTracker5clearEv", "llvm::AliasSetTracker::clear()"},
-    {"_ZN4llvm15AliasSetTracker22findAliasSetForPointerEPKNS_5ValueEyPKNS_6MDNodeE", "llvm::AliasSetTracker::findAliasSetForPointer(llvm::Value const*, unsigned long long, llvm::MDNode const*)"},
-    {"_ZNK4llvm15AliasSetTracker15containsPointerEPNS_5ValueEyPKNS_6MDNodeE", "llvm::AliasSetTracker::containsPointer(llvm::Value*, unsigned long long, llvm::MDNode const*) const"},
-    {"_ZN4llvm15AliasSetTracker23findAliasSetForCallSiteENS_8CallSiteE", "llvm::AliasSetTracker::findAliasSetForCallSite(llvm::CallSite)"},
-    {"_ZN4llvm15AliasSetTracker21getAliasSetForPointerEPNS_5ValueEyPKNS_6MDNodeEPb", "llvm::AliasSetTracker::getAliasSetForPointer(llvm::Value*, unsigned long long, llvm::MDNode const*, bool*)"},
-    {"_ZN4llvm15AliasSetTracker3addEPNS_5ValueEyPKNS_6MDNodeE", "llvm::AliasSetTracker::add(llvm::Value*, unsigned long long, llvm::MDNode const*)"},
-    {"_ZN4llvm15AliasSetTracker3addEPNS_8LoadInstE", "llvm::AliasSetTracker::add(llvm::LoadInst*)"},
-    {"_ZN4llvm15AliasSetTracker3addEPNS_9StoreInstE", "llvm::AliasSetTracker::add(llvm::StoreInst*)"},
-    {"_ZN4llvm15AliasSetTracker3addEPNS_9VAArgInstE", "llvm::AliasSetTracker::add(llvm::VAArgInst*)"},
-    {"_ZN4llvm15AliasSetTracker3addENS_8CallSiteE", "llvm::AliasSetTracker::add(llvm::CallSite)"},
-    {"_ZN4llvm15AliasSetTracker3addEPNS_11InstructionE", "llvm::AliasSetTracker::add(llvm::Instruction*)"},
-    {"_ZN4llvm15AliasSetTracker3addERNS_10BasicBlockE", "llvm::AliasSetTracker::add(llvm::BasicBlock&)"},
-    {"_ZN4llvm15AliasSetTracker3addERKS0_", "llvm::AliasSetTracker::add(llvm::AliasSetTracker const&)"},
-    {"_ZN4llvm15AliasSetTracker6removeERNS_8AliasSetE", "llvm::AliasSetTracker::remove(llvm::AliasSet&)"},
-    {"_ZN4llvm15AliasSetTracker13ASTCallbackVHC1EPNS_5ValueEPS0_", "llvm::AliasSetTracker::ASTCallbackVH::ASTCallbackVH(llvm::Value*, llvm::AliasSetTracker*)"},
-    {"_ZN4llvm15AliasSetTracker6removeEPNS_5ValueEyPKNS_6MDNodeE", "llvm::AliasSetTracker::remove(llvm::Value*, unsigned long long, llvm::MDNode const*)"},
-    {"_ZN4llvm15AliasSetTracker6removeEPNS_8LoadInstE", "llvm::AliasSetTracker::remove(llvm::LoadInst*)"},
-    {"_ZN4llvm15AliasSetTracker6removeEPNS_9StoreInstE", "llvm::AliasSetTracker::remove(llvm::StoreInst*)"},
-    {"_ZN4llvm15AliasSetTracker6removeEPNS_9VAArgInstE", "llvm::AliasSetTracker::remove(llvm::VAArgInst*)"},
-    {"_ZN4llvm15AliasSetTracker6removeENS_8CallSiteE", "llvm::AliasSetTracker::remove(llvm::CallSite)"},
-    {"_ZN4llvm15AliasSetTracker6removeEPNS_11InstructionE", "llvm::AliasSetTracker::remove(llvm::Instruction*)"},
-    {"_ZN4llvm15AliasSetTracker11deleteValueEPNS_5ValueE", "llvm::AliasSetTracker::deleteValue(llvm::Value*)"},
-    {"_ZN4llvm15AliasSetTracker9copyValueEPNS_5ValueES2_", "llvm::AliasSetTracker::copyValue(llvm::Value*, llvm::Value*)"},
-    {"_ZNK4llvm8AliasSet5printERNS_11raw_ostreamE", "llvm::AliasSet::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm15AliasSetTracker5printERNS_11raw_ostreamE", "llvm::AliasSetTracker::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm8AliasSet4dumpEv", "llvm::AliasSet::dump() const"},
-    {"_ZNK4llvm15AliasSetTracker4dumpEv", "llvm::AliasSetTracker::dump() const"},
-    {"_ZN4llvm15AliasSetTracker13ASTCallbackVH7deletedEv", "llvm::AliasSetTracker::ASTCallbackVH::deleted()"},
-    {"_ZN4llvm15AliasSetTracker13ASTCallbackVHC2EPNS_5ValueEPS0_", "llvm::AliasSetTracker::ASTCallbackVH::ASTCallbackVH(llvm::Value*, llvm::AliasSetTracker*)"},
-    {"_ZN4llvm15AliasSetTracker13ASTCallbackVHaSEPNS_5ValueE", "llvm::AliasSetTracker::ASTCallbackVH::operator=(llvm::Value*)"},
-    {"_ZN4llvm29initializeAliasSetPrinterPassERNS_12PassRegistryE", "llvm::initializeAliasSetPrinterPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_115AliasSetPrinterEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::AliasSetPrinter>()"},
-    {"_ZN12_GLOBAL__N_115AliasSetPrinterD1Ev", "(anonymous namespace)::AliasSetPrinter::~AliasSetPrinter()"},
-    {"_ZN12_GLOBAL__N_115AliasSetPrinterD0Ev", "(anonymous namespace)::AliasSetPrinter::~AliasSetPrinter()"},
-    {"_ZNK12_GLOBAL__N_115AliasSetPrinter16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::AliasSetPrinter::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_115AliasSetPrinter13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::AliasSetPrinter::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE5beginEv", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::begin()"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE5clearEv", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::clear()"},
-    {"_ZN4llvm15AliasSetTracker11getEntryForEPNS_5ValueE", "llvm::AliasSetTracker::getEntryFor(llvm::Value*)"},
-    {"_ZN4llvm8AliasSet18getForwardedTargetERNS_15AliasSetTrackerE", "llvm::AliasSet::getForwardedTarget(llvm::AliasSetTracker&)"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE5eraseERKS2_", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::erase(llvm::AliasSetTracker::ASTCallbackVH const&)"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE4findERKS2_", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::find(llvm::AliasSetTracker::ASTCallbackVH const&)"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE5eraseENS_16DenseMapIteratorIS2_S5_S6_S8_Lb0EEE", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::erase(llvm::DenseMapIterator<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*>, false>)"},
-    {"_ZNK4llvm6iplistINS_8AliasSetENS_12ilist_traitsIS1_EEE3endEv", "llvm::iplist<llvm::AliasSet, llvm::ilist_traits<llvm::AliasSet> >::end() const"},
-    {"_ZNK4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE15LookupBucketForERKS2_RPSt4pairIS2_S5_E", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::LookupBucketFor(llvm::AliasSetTracker::ASTCallbackVH const&, std::pair<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*>*&) const"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::shrink_and_clear()"},
-    {"_ZNSt6vectorIN4llvm11AssertingVHINS0_11InstructionEEESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::AssertingVH<llvm::Instruction>, std::allocator<llvm::AssertingVH<llvm::Instruction> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::AssertingVH<llvm::Instruction>*, std::vector<llvm::AssertingVH<llvm::Instruction>, std::allocator<llvm::AssertingVH<llvm::Instruction> > > >, llvm::AssertingVH<llvm::Instruction> const&)"},
-    {"_ZNSt6vectorIN4llvm11AssertingVHINS0_11InstructionEEESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag", "void std::vector<llvm::AssertingVH<llvm::Instruction>, std::allocator<llvm::AssertingVH<llvm::Instruction> > >::_M_range_insert<__gnu_cxx::__normal_iterator<llvm::AssertingVH<llvm::Instruction>*, std::vector<llvm::AssertingVH<llvm::Instruction>, std::allocator<llvm::AssertingVH<llvm::Instruction> > > > >(__gnu_cxx::__normal_iterator<llvm::AssertingVH<llvm::Instruction>*, std::vector<llvm::AssertingVH<llvm::Instruction>, std::allocator<llvm::AssertingVH<llvm::Instruction> > > >, __gnu_cxx::__normal_iterator<llvm::AssertingVH<llvm::Instruction>*, std::vector<llvm::AssertingVH<llvm::Instruction>, std::allocator<llvm::AssertingVH<llvm::Instruction> > > >, __gnu_cxx::__normal_iterator<llvm::AssertingVH<llvm::Instruction>*, std::vector<llvm::AssertingVH<llvm::Instruction>, std::allocator<llvm::AssertingVH<llvm::Instruction> > > >, std::forward_iterator_tag)"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::InsertIntoBucket(llvm::AliasSetTracker::ASTCallbackVH const&, llvm::AliasSet::PointerRec* const&, std::pair<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*>*)"},
-    {"_ZN4llvm8DenseMapINS_15AliasSetTracker13ASTCallbackVHEPNS_8AliasSet10PointerRecENS1_25ASTCallbackVHDenseMapInfoENS_12DenseMapInfoIS5_EEE4growEj", "llvm::DenseMap<llvm::AliasSetTracker::ASTCallbackVH, llvm::AliasSet::PointerRec*, llvm::AliasSetTracker::ASTCallbackVHDenseMapInfo, llvm::DenseMapInfo<llvm::AliasSet::PointerRec*> >::grow(unsigned int)"},
-    {"_ZN4llvm32initializeBasicAliasAnalysisPassERNS_12PassRegistryE", "llvm::initializeBasicAliasAnalysisPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm28createBasicAliasAnalysisPassEv", "llvm::createBasicAliasAnalysisPass()"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysisD1Ev", "(anonymous namespace)::BasicAliasAnalysis::~BasicAliasAnalysis()"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysisD0Ev", "(anonymous namespace)::BasicAliasAnalysis::~BasicAliasAnalysis()"},
-    {"_ZNK12_GLOBAL__N_118BasicAliasAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::BasicAliasAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis26getAdjustedAnalysisPointerEPKv", "(anonymous namespace)::BasicAliasAnalysis::getAdjustedAnalysisPointer(void const*)"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis14initializePassEv", "(anonymous namespace)::BasicAliasAnalysis::initializePass()"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis5aliasERKN4llvm13AliasAnalysis8LocationES5_", "(anonymous namespace)::BasicAliasAnalysis::alias(llvm::AliasAnalysis::Location const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis13getModRefInfoEN4llvm17ImmutableCallSiteERKNS1_13AliasAnalysis8LocationE", "(anonymous namespace)::BasicAliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis13getModRefInfoEN4llvm17ImmutableCallSiteES2_", "(anonymous namespace)::BasicAliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::ImmutableCallSite)"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis22pointsToConstantMemoryERKN4llvm13AliasAnalysis8LocationEb", "(anonymous namespace)::BasicAliasAnalysis::pointsToConstantMemory(llvm::AliasAnalysis::Location const&, bool)"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis17getModRefBehaviorEN4llvm17ImmutableCallSiteE", "(anonymous namespace)::BasicAliasAnalysis::getModRefBehavior(llvm::ImmutableCallSite)"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis17getModRefBehaviorEPKN4llvm8FunctionE", "(anonymous namespace)::BasicAliasAnalysis::getModRefBehavior(llvm::Function const*)"},
-    {"_ZThn32_NK12_GLOBAL__N_118BasicAliasAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZThn32_N12_GLOBAL__N_118BasicAliasAnalysisD1Ev", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::~BasicAliasAnalysis()"},
-    {"_ZThn32_N12_GLOBAL__N_118BasicAliasAnalysisD0Ev", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::~BasicAliasAnalysis()"},
-    {"_ZThn32_N12_GLOBAL__N_118BasicAliasAnalysis5aliasERKN4llvm13AliasAnalysis8LocationES5_", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::alias(llvm::AliasAnalysis::Location const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZThn32_N12_GLOBAL__N_118BasicAliasAnalysis22pointsToConstantMemoryERKN4llvm13AliasAnalysis8LocationEb", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::pointsToConstantMemory(llvm::AliasAnalysis::Location const&, bool)"},
-    {"_ZThn32_N12_GLOBAL__N_118BasicAliasAnalysis17getModRefBehaviorEN4llvm17ImmutableCallSiteE", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::getModRefBehavior(llvm::ImmutableCallSite)"},
-    {"_ZThn32_N12_GLOBAL__N_118BasicAliasAnalysis17getModRefBehaviorEPKN4llvm8FunctionE", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::getModRefBehavior(llvm::Function const*)"},
-    {"_ZThn32_N12_GLOBAL__N_118BasicAliasAnalysis13getModRefInfoEN4llvm17ImmutableCallSiteERKNS1_13AliasAnalysis8LocationE", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::AliasAnalysis::Location const&)"},
-    {"_ZThn32_N12_GLOBAL__N_118BasicAliasAnalysis13getModRefInfoEN4llvm17ImmutableCallSiteES2_", "non-virtual thunk to (anonymous namespace)::BasicAliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::ImmutableCallSite)"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis10aliasCheckEPKN4llvm5ValueEyPKNS1_6MDNodeES4_yS7_", "(anonymous namespace)::BasicAliasAnalysis::aliasCheck(llvm::Value const*, unsigned long long, llvm::MDNode const*, llvm::Value const*, unsigned long long, llvm::MDNode const*)"},
-    {"_Z24isNonEscapingLocalObjectPKN4llvm5ValueE", "isNonEscapingLocalObject(llvm::Value const*)"},
-    {"_Z13getObjectSizePKN4llvm5ValueERKNS_10DataLayoutE", "getObjectSize(llvm::Value const*, llvm::DataLayout const&)"},
-    {"_Z22DecomposeGEPExpressionPKN4llvm5ValueERxRNS_15SmallVectorImplIN12_GLOBAL__N_116VariableGEPIndexEEEPKNS_10DataLayoutE", "DecomposeGEPExpression(llvm::Value const*, long long&, llvm::SmallVectorImpl<(anonymous namespace)::VariableGEPIndex>&, llvm::DataLayout const*)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_116VariableGEPIndexEE9push_backERKS2_", "llvm::SmallVectorImpl<(anonymous namespace)::VariableGEPIndex>::push_back((anonymous namespace)::VariableGEPIndex const&)"},
-    {"_Z19GetLinearExpressionPN4llvm5ValueERNS_5APIntES3_RN12_GLOBAL__N_113ExtensionKindERKNS_10DataLayoutEj", "GetLinearExpression(llvm::Value*, llvm::APInt&, llvm::APInt&, (anonymous namespace)::ExtensionKind&, llvm::DataLayout const&, unsigned int)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_118BasicAliasAnalysisEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::BasicAliasAnalysis>()"},
-    {"_ZN4llvm20PointerMayBeCapturedEPKNS_5ValueEbb", "llvm::PointerMayBeCaptured(llvm::Value const*, bool, bool)"},
-    {"_ZN4llvm28ConstantFoldLoadFromConstPtrEPNS_8ConstantEPKNS_10DataLayoutE", "llvm::ConstantFoldLoadFromConstPtr(llvm::Constant*, llvm::DataLayout const*)"},
-    {"_ZN4llvm38ConstantFoldLoadThroughGEPConstantExprEPNS_8ConstantEPNS_12ConstantExprE", "llvm::ConstantFoldLoadThroughGEPConstantExpr(llvm::Constant*, llvm::ConstantExpr*)"},
-    {"_Z31FoldReinterpretLoadFromConstPtrPN4llvm8ConstantERKNS_10DataLayoutE", "FoldReinterpretLoadFromConstPtr(llvm::Constant*, llvm::DataLayout const&)"},
-    {"_ZN4llvm23ConstantFoldInstructionEPNS_11InstructionEPKNS_10DataLayoutE", "llvm::ConstantFoldInstruction(llvm::Instruction*, llvm::DataLayout const*)"},
-    {"_ZN4llvm31ConstantFoldCompareInstOperandsEjPNS_8ConstantES1_PKNS_10DataLayoutE", "llvm::ConstantFoldCompareInstOperands(unsigned int, llvm::Constant*, llvm::Constant*, llvm::DataLayout const*)"},
-    {"_ZN4llvm24ConstantFoldInstOperandsEjPKNS_4TypeEPKPNS_8ConstantEjPKNS_10DataLayoutE", "llvm::ConstantFoldInstOperands(unsigned int, llvm::Type const*, llvm::Constant* const*, unsigned int, llvm::DataLayout const*)"},
-    {"_ZN4llvm30ConstantFoldConstantExpressionEPKNS_12ConstantExprEPKNS_10DataLayoutE", "llvm::ConstantFoldConstantExpression(llvm::ConstantExpr const*, llvm::DataLayout const*)"},
-    {"_ZN4llvm21canConstantFoldCallToEPKNS_8FunctionE", "llvm::canConstantFoldCallTo(llvm::Function const*)"},
-    {"_ZN4llvm16ConstantFoldCallEPNS_8FunctionEPKPNS_8ConstantEj", "llvm::ConstantFoldCall(llvm::Function*, llvm::Constant* const*, unsigned int)"},
-    {"_Z11FoldBitCastPN4llvm8ConstantEPKNS_4TypeERKNS_10DataLayoutE", "FoldBitCast(llvm::Constant*, llvm::Type const*, llvm::DataLayout const&)"},
-    {"_Z14ConstantFoldFPPFddEdPKN4llvm4TypeE", "ConstantFoldFP(double (*)(double), double, llvm::Type const*)"},
-    {"_Z20ConstantFoldBinaryFPPFdddEddPKN4llvm4TypeE", "ConstantFoldBinaryFP(double (*)(double, double), double, double, llvm::Type const*)"},
-    {"_Z26IsConstantOffsetFromGlobalPN4llvm8ConstantERPNS_11GlobalValueERxRKNS_10DataLayoutE", "IsConstantOffsetFromGlobal(llvm::Constant*, llvm::GlobalValue*&, long long&, llvm::DataLayout const&)"},
-    {"_Z18ReadDataFromGlobalPN4llvm8ConstantEyPhjRKNS_10DataLayoutE", "ReadDataFromGlobal(llvm::Constant*, unsigned long long, unsigned char*, unsigned int, llvm::DataLayout const&)"},
-    {"_ZN4llvm9DIBuilderC1ERNS_6ModuleE", "llvm::DIBuilder::DIBuilder(llvm::Module&)"},
-    {"_ZN4llvm9DIBuilderC2ERNS_6ModuleE", "llvm::DIBuilder::DIBuilder(llvm::Module&)"},
-    {"_ZN4llvm9DIBuilder17CreateCompileUnitEjNS_9StringRefES1_S1_bS1_j", "llvm::DIBuilder::CreateCompileUnit(unsigned int, llvm::StringRef, llvm::StringRef, llvm::StringRef, bool, llvm::StringRef, unsigned int)"},
-    {"_ZN4llvm9DIBuilder10CreateFileENS_9StringRefES1_", "llvm::DIBuilder::CreateFile(llvm::StringRef, llvm::StringRef)"},
-    {"_ZN4llvm9DIBuilder16CreateEnumeratorENS_9StringRefEy", "llvm::DIBuilder::CreateEnumerator(llvm::StringRef, unsigned long long)"},
-    {"_ZN4llvm9DIBuilder15CreateBasicTypeENS_9StringRefEyyj", "llvm::DIBuilder::CreateBasicType(llvm::StringRef, unsigned long long, unsigned long long, unsigned int)"},
-    {"_ZN4llvm9DIBuilder19CreateQualifiedTypeEjNS_6DITypeE", "llvm::DIBuilder::CreateQualifiedType(unsigned int, llvm::DIType)"},
-    {"_ZN4llvm9DIBuilder17CreatePointerTypeENS_6DITypeEyyNS_9StringRefE", "llvm::DIBuilder::CreatePointerType(llvm::DIType, unsigned long long, unsigned long long, llvm::StringRef)"},
-    {"_ZN4llvm9DIBuilder19CreateReferenceTypeENS_6DITypeE", "llvm::DIBuilder::CreateReferenceType(llvm::DIType)"},
-    {"_ZN4llvm9DIBuilder13CreateTypedefENS_6DITypeENS_9StringRefENS_6DIFileEj", "llvm::DIBuilder::CreateTypedef(llvm::DIType, llvm::StringRef, llvm::DIFile, unsigned int)"},
-    {"_ZN4llvm9DIBuilder12CreateFriendENS_6DITypeES1_", "llvm::DIBuilder::CreateFriend(llvm::DIType, llvm::DIType)"},
-    {"_ZN4llvm9DIBuilder17CreateInheritanceENS_6DITypeES1_yj", "llvm::DIBuilder::CreateInheritance(llvm::DIType, llvm::DIType, unsigned long long, unsigned int)"},
-    {"_ZN4llvm9DIBuilder16CreateMemberTypeENS_9StringRefENS_6DIFileEjyyyjNS_6DITypeE", "llvm::DIBuilder::CreateMemberType(llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned long long, unsigned int, llvm::DIType)"},
-    {"_ZN4llvm9DIBuilder15CreateClassTypeENS_12DIDescriptorENS_9StringRefENS_6DIFileEjyyyjNS_6DITypeENS_7DIArrayEPNS_6MDNodeES7_", "llvm::DIBuilder::CreateClassType(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned long long, unsigned int, llvm::DIType, llvm::DIArray, llvm::MDNode*, llvm::MDNode*)"},
-    {"_ZN4llvm9DIBuilder27CreateTemplateTypeParameterENS_12DIDescriptorENS_9StringRefENS_6DITypeEPNS_6MDNodeEjj", "llvm::DIBuilder::CreateTemplateTypeParameter(llvm::DIDescriptor, llvm::StringRef, llvm::DIType, llvm::MDNode*, unsigned int, unsigned int)"},
-    {"_ZN4llvm9DIBuilder28CreateTemplateValueParameterENS_12DIDescriptorENS_9StringRefENS_6DITypeEyPNS_6MDNodeEjj", "llvm::DIBuilder::CreateTemplateValueParameter(llvm::DIDescriptor, llvm::StringRef, llvm::DIType, unsigned long long, llvm::MDNode*, unsigned int, unsigned int)"},
-    {"_ZN4llvm9DIBuilder16CreateStructTypeENS_12DIDescriptorENS_9StringRefENS_6DIFileEjyyjNS_7DIArrayEj", "llvm::DIBuilder::CreateStructType(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned int, llvm::DIArray, unsigned int)"},
-    {"_ZN4llvm9DIBuilder15CreateUnionTypeENS_12DIDescriptorENS_9StringRefENS_6DIFileEjyyjNS_7DIArrayEj", "llvm::DIBuilder::CreateUnionType(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned int, llvm::DIArray, unsigned int)"},
-    {"_ZN4llvm9DIBuilder20CreateSubroutineTypeENS_6DIFileENS_7DIArrayE", "llvm::DIBuilder::CreateSubroutineType(llvm::DIFile, llvm::DIArray)"},
-    {"_ZN4llvm9DIBuilder21CreateEnumerationTypeENS_12DIDescriptorENS_9StringRefENS_6DIFileEjyyNS_7DIArrayE", "llvm::DIBuilder::CreateEnumerationType(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, llvm::DIArray)"},
-    {"_ZN4llvm9DIBuilder15CreateArrayTypeEyyNS_6DITypeENS_7DIArrayE", "llvm::DIBuilder::CreateArrayType(unsigned long long, unsigned long long, llvm::DIType, llvm::DIArray)"},
-    {"_ZN4llvm9DIBuilder16CreateVectorTypeEyyNS_6DITypeENS_7DIArrayE", "llvm::DIBuilder::CreateVectorType(unsigned long long, unsigned long long, llvm::DIType, llvm::DIArray)"},
-    {"_ZN4llvm9DIBuilder20CreateArtificialTypeENS_6DITypeE", "llvm::DIBuilder::CreateArtificialType(llvm::DIType)"},
-    {"_ZN4llvm9DIBuilder10RetainTypeENS_6DITypeE", "llvm::DIBuilder::RetainType(llvm::DIType)"},
-    {"_ZN4llvm9DIBuilder26CreateUnspecifiedParameterEv", "llvm::DIBuilder::CreateUnspecifiedParameter()"},
-    {"_ZN4llvm9DIBuilder19CreateTemporaryTypeEv", "llvm::DIBuilder::CreateTemporaryType()"},
-    {"_ZN4llvm9DIBuilder19CreateTemporaryTypeENS_6DIFileE", "llvm::DIBuilder::CreateTemporaryType(llvm::DIFile)"},
-    {"_ZN4llvm9DIBuilder16GetOrCreateArrayEPKPNS_5ValueEj", "llvm::DIBuilder::GetOrCreateArray(llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm9DIBuilder19GetOrCreateSubrangeExx", "llvm::DIBuilder::GetOrCreateSubrange(long long, long long)"},
-    {"_ZN4llvm9DIBuilder20CreateGlobalVariableENS_9StringRefENS_6DIFileEjNS_6DITypeEbPNS_5ValueE", "llvm::DIBuilder::CreateGlobalVariable(llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, llvm::Value*)"},
-    {"_ZN4llvm9DIBuilder20CreateStaticVariableENS_12DIDescriptorENS_9StringRefES2_NS_6DIFileEjNS_6DITypeEbPNS_5ValueE", "llvm::DIBuilder::CreateStaticVariable(llvm::DIDescriptor, llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, llvm::Value*)"},
-    {"_ZN4llvm9DIBuilder19CreateLocalVariableEjNS_12DIDescriptorENS_9StringRefENS_6DIFileEjNS_6DITypeEbj", "llvm::DIBuilder::CreateLocalVariable(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, unsigned int)"},
-    {"_ZN4llvm9DIBuilder21CreateComplexVariableEjNS_12DIDescriptorENS_9StringRefENS_6DIFileEjNS_6DITypeEPKPNS_5ValueEj", "llvm::DIBuilder::CreateComplexVariable(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm9DIBuilder14CreateFunctionENS_12DIDescriptorENS_9StringRefES2_NS_6DIFileEjNS_6DITypeEbbjbPNS_8FunctionE", "llvm::DIBuilder::CreateFunction(llvm::DIDescriptor, llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, bool, unsigned int, bool, llvm::Function*)"},
-    {"_ZN4llvm9DIBuilder12CreateMethodENS_12DIDescriptorENS_9StringRefES2_NS_6DIFileEjNS_6DITypeEbbjjPNS_6MDNodeEjbPNS_8FunctionE", "llvm::DIBuilder::CreateMethod(llvm::DIDescriptor, llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, bool, unsigned int, unsigned int, llvm::MDNode*, unsigned int, bool, llvm::Function*)"},
-    {"_ZN4llvm9DIBuilder15CreateNameSpaceENS_12DIDescriptorENS_9StringRefENS_6DIFileEj", "llvm::DIBuilder::CreateNameSpace(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int)"},
-    {"_ZN4llvm9DIBuilder18CreateLexicalBlockENS_12DIDescriptorENS_6DIFileEjj", "llvm::DIBuilder::CreateLexicalBlock(llvm::DIDescriptor, llvm::DIFile, unsigned int, unsigned int)"},
-    {"_ZN4llvm9DIBuilder13InsertDeclareEPNS_5ValueENS_10DIVariableEPNS_11InstructionE", "llvm::DIBuilder::InsertDeclare(llvm::Value*, llvm::DIVariable, llvm::Instruction*)"},
-    {"_ZN4llvm9DIBuilder13InsertDeclareEPNS_5ValueENS_10DIVariableEPNS_10BasicBlockE", "llvm::DIBuilder::InsertDeclare(llvm::Value*, llvm::DIVariable, llvm::BasicBlock*)"},
-    {"_ZN4llvm9DIBuilder23InsertDbgValueIntrinsicEPNS_5ValueEyNS_10DIVariableEPNS_11InstructionE", "llvm::DIBuilder::InsertDbgValueIntrinsic(llvm::Value*, unsigned long long, llvm::DIVariable, llvm::Instruction*)"},
-    {"_ZN4llvm9DIBuilder23InsertDbgValueIntrinsicEPNS_5ValueEyNS_10DIVariableEPNS_10BasicBlockE", "llvm::DIBuilder::InsertDbgValueIntrinsic(llvm::Value*, unsigned long long, llvm::DIVariable, llvm::BasicBlock*)"},
-    {"_ZN4llvm12DIDescriptorC1ENS_6DIFileE", "llvm::DIDescriptor::DIDescriptor(llvm::DIFile)"},
-    {"_ZN4llvm12DIDescriptorC2ENS_6DIFileE", "llvm::DIDescriptor::DIDescriptor(llvm::DIFile)"},
-    {"_ZN4llvm12DIDescriptorC1ENS_12DISubprogramE", "llvm::DIDescriptor::DIDescriptor(llvm::DISubprogram)"},
-    {"_ZN4llvm12DIDescriptorC2ENS_12DISubprogramE", "llvm::DIDescriptor::DIDescriptor(llvm::DISubprogram)"},
-    {"_ZN4llvm12DIDescriptorC1ENS_14DILexicalBlockE", "llvm::DIDescriptor::DIDescriptor(llvm::DILexicalBlock)"},
-    {"_ZN4llvm12DIDescriptorC2ENS_14DILexicalBlockE", "llvm::DIDescriptor::DIDescriptor(llvm::DILexicalBlock)"},
-    {"_ZN4llvm12DIDescriptorC1ENS_10DIVariableE", "llvm::DIDescriptor::DIDescriptor(llvm::DIVariable)"},
-    {"_ZN4llvm12DIDescriptorC2ENS_10DIVariableE", "llvm::DIDescriptor::DIDescriptor(llvm::DIVariable)"},
-    {"_ZN4llvm12DIDescriptorC1ENS_6DITypeE", "llvm::DIDescriptor::DIDescriptor(llvm::DIType)"},
-    {"_ZN4llvm12DIDescriptorC2ENS_6DITypeE", "llvm::DIDescriptor::DIDescriptor(llvm::DIType)"},
-    {"_ZNK4llvm12DIDescriptor14getStringFieldEj", "llvm::DIDescriptor::getStringField(unsigned int) const"},
-    {"_ZNK4llvm12DIDescriptor14getUInt64FieldEj", "llvm::DIDescriptor::getUInt64Field(unsigned int) const"},
-    {"_ZNK4llvm12DIDescriptor18getDescriptorFieldEj", "llvm::DIDescriptor::getDescriptorField(unsigned int) const"},
-    {"_ZNK4llvm12DIDescriptor22getGlobalVariableFieldEj", "llvm::DIDescriptor::getGlobalVariableField(unsigned int) const"},
-    {"_ZNK4llvm12DIDescriptor16getConstantFieldEj", "llvm::DIDescriptor::getConstantField(unsigned int) const"},
-    {"_ZNK4llvm12DIDescriptor16getFunctionFieldEj", "llvm::DIDescriptor::getFunctionField(unsigned int) const"},
-    {"_ZNK4llvm10DIVariable18getNumAddrElementsEv", "llvm::DIVariable::getNumAddrElements() const"},
-    {"_ZNK4llvm12DIDescriptor11isBasicTypeEv", "llvm::DIDescriptor::isBasicType() const"},
-    {"_ZNK4llvm12DIDescriptor13isDerivedTypeEv", "llvm::DIDescriptor::isDerivedType() const"},
-    {"_ZNK4llvm12DIDescriptor15isCompositeTypeEv", "llvm::DIDescriptor::isCompositeType() const"},
-    {"_ZNK4llvm12DIDescriptor10isVariableEv", "llvm::DIDescriptor::isVariable() const"},
-    {"_ZNK4llvm12DIDescriptor6isTypeEv", "llvm::DIDescriptor::isType() const"},
-    {"_ZNK4llvm12DIDescriptor12isSubprogramEv", "llvm::DIDescriptor::isSubprogram() const"},
-    {"_ZNK4llvm12DIDescriptor16isGlobalVariableEv", "llvm::DIDescriptor::isGlobalVariable() const"},
-    {"_ZNK4llvm12DIDescriptor8isGlobalEv", "llvm::DIDescriptor::isGlobal() const"},
-    {"_ZNK4llvm12DIDescriptor22isUnspecifiedParameterEv", "llvm::DIDescriptor::isUnspecifiedParameter() const"},
-    {"_ZNK4llvm12DIDescriptor7isScopeEv", "llvm::DIDescriptor::isScope() const"},
-    {"_ZNK4llvm12DIDescriptor23isTemplateTypeParameterEv", "llvm::DIDescriptor::isTemplateTypeParameter() const"},
-    {"_ZNK4llvm12DIDescriptor24isTemplateValueParameterEv", "llvm::DIDescriptor::isTemplateValueParameter() const"},
-    {"_ZNK4llvm12DIDescriptor13isCompileUnitEv", "llvm::DIDescriptor::isCompileUnit() const"},
-    {"_ZNK4llvm12DIDescriptor6isFileEv", "llvm::DIDescriptor::isFile() const"},
-    {"_ZNK4llvm12DIDescriptor11isNameSpaceEv", "llvm::DIDescriptor::isNameSpace() const"},
-    {"_ZNK4llvm12DIDescriptor14isLexicalBlockEv", "llvm::DIDescriptor::isLexicalBlock() const"},
-    {"_ZNK4llvm12DIDescriptor10isSubrangeEv", "llvm::DIDescriptor::isSubrange() const"},
-    {"_ZNK4llvm12DIDescriptor12isEnumeratorEv", "llvm::DIDescriptor::isEnumerator() const"},
-    {"_ZN4llvm6DITypeC1EPKNS_6MDNodeE", "llvm::DIType::DIType(llvm::MDNode const*)"},
-    {"_ZN4llvm6DITypeC2EPKNS_6MDNodeE", "llvm::DIType::DIType(llvm::MDNode const*)"},
-    {"_ZNK4llvm7DIArray14getNumElementsEv", "llvm::DIArray::getNumElements() const"},
-    {"_ZN4llvm6DIType18replaceAllUsesWithERNS_12DIDescriptorE", "llvm::DIType::replaceAllUsesWith(llvm::DIDescriptor&)"},
-    {"_ZN4llvm6DIType18replaceAllUsesWithEPNS_6MDNodeE", "llvm::DIType::replaceAllUsesWith(llvm::MDNode*)"},
-    {"_ZNK4llvm13DICompileUnit6VerifyEv", "llvm::DICompileUnit::Verify() const"},
-    {"_ZNK4llvm6DIType6VerifyEv", "llvm::DIType::Verify() const"},
-    {"_ZNK4llvm11DIBasicType6VerifyEv", "llvm::DIBasicType::Verify() const"},
-    {"_ZNK4llvm13DIDerivedType6VerifyEv", "llvm::DIDerivedType::Verify() const"},
-    {"_ZNK4llvm15DICompositeType6VerifyEv", "llvm::DICompositeType::Verify() const"},
-    {"_ZNK4llvm12DISubprogram6VerifyEv", "llvm::DISubprogram::Verify() const"},
-    {"_ZNK4llvm16DIGlobalVariable6VerifyEv", "llvm::DIGlobalVariable::Verify() const"},
-    {"_ZNK4llvm10DIVariable6VerifyEv", "llvm::DIVariable::Verify() const"},
-    {"_ZNK4llvm10DILocation6VerifyEv", "llvm::DILocation::Verify() const"},
-    {"_ZNK4llvm11DINameSpace6VerifyEv", "llvm::DINameSpace::Verify() const"},
-    {"_ZNK4llvm13DIDerivedType19getOriginalTypeSizeEv", "llvm::DIDerivedType::getOriginalTypeSize() const"},
-    {"_ZN4llvm10DIVariable19isInlinedFnArgumentEPKNS_8FunctionE", "llvm::DIVariable::isInlinedFnArgument(llvm::Function const*)"},
-    {"_ZN4llvm12DISubprogram9describesEPKNS_8FunctionE", "llvm::DISubprogram::describes(llvm::Function const*)"},
-    {"_ZNK4llvm12DISubprogram11isOptimizedEv", "llvm::DISubprogram::isOptimized() const"},
-    {"_ZNK4llvm7DIScope11getFilenameEv", "llvm::DIScope::getFilename() const"},
-    {"_ZNK4llvm7DIScope12getDirectoryEv", "llvm::DIScope::getDirectory() const"},
-    {"_ZNK4llvm12DIDescriptor5printERNS_11raw_ostreamE", "llvm::DIDescriptor::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm13DICompileUnit5printERNS_11raw_ostreamE", "llvm::DICompileUnit::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm6DIType5printERNS_11raw_ostreamE", "llvm::DIType::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm11DIBasicType5printERNS_11raw_ostreamE", "llvm::DIBasicType::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm13DIDerivedType5printERNS_11raw_ostreamE", "llvm::DIDerivedType::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm15DICompositeType5printERNS_11raw_ostreamE", "llvm::DICompositeType::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm12DISubprogram5printERNS_11raw_ostreamE", "llvm::DISubprogram::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm16DIGlobalVariable5printERNS_11raw_ostreamE", "llvm::DIGlobalVariable::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm10DIVariable5printERNS_11raw_ostreamE", "llvm::DIVariable::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm12DIDescriptor4dumpEv", "llvm::DIDescriptor::dump() const"},
-    {"_ZNK4llvm13DICompileUnit4dumpEv", "llvm::DICompileUnit::dump() const"},
-    {"_ZNK4llvm6DIType4dumpEv", "llvm::DIType::dump() const"},
-    {"_ZNK4llvm11DIBasicType4dumpEv", "llvm::DIBasicType::dump() const"},
-    {"_ZNK4llvm13DIDerivedType4dumpEv", "llvm::DIDerivedType::dump() const"},
-    {"_ZNK4llvm15DICompositeType4dumpEv", "llvm::DICompositeType::dump() const"},
-    {"_ZNK4llvm12DISubprogram4dumpEv", "llvm::DISubprogram::dump() const"},
-    {"_ZNK4llvm16DIGlobalVariable4dumpEv", "llvm::DIGlobalVariable::dump() const"},
-    {"_ZNK4llvm10DIVariable4dumpEv", "llvm::DIVariable::dump() const"},
-    {"_ZN4llvm9DIFactoryC1ERNS_6ModuleE", "llvm::DIFactory::DIFactory(llvm::Module&)"},
-    {"_ZN4llvm9DIFactoryC2ERNS_6ModuleE", "llvm::DIFactory::DIFactory(llvm::Module&)"},
-    {"_ZN4llvm9DIFactory14GetTagConstantEj", "llvm::DIFactory::GetTagConstant(unsigned int)"},
-    {"_ZN4llvm9DIFactory16GetOrCreateArrayEPNS_12DIDescriptorEj", "llvm::DIFactory::GetOrCreateArray(llvm::DIDescriptor*, unsigned int)"},
-    {"_ZN4llvm9DIFactory19GetOrCreateSubrangeExx", "llvm::DIFactory::GetOrCreateSubrange(long long, long long)"},
-    {"_ZN4llvm9DIFactory26CreateUnspecifiedParameterEv", "llvm::DIFactory::CreateUnspecifiedParameter()"},
-    {"_ZN4llvm9DIFactory17CreateCompileUnitEjNS_9StringRefES1_S1_bbS1_j", "llvm::DIFactory::CreateCompileUnit(unsigned int, llvm::StringRef, llvm::StringRef, llvm::StringRef, bool, bool, llvm::StringRef, unsigned int)"},
-    {"_ZN4llvm9DIFactory10CreateFileENS_9StringRefES1_NS_13DICompileUnitE", "llvm::DIFactory::CreateFile(llvm::StringRef, llvm::StringRef, llvm::DICompileUnit)"},
-    {"_ZN4llvm9DIFactory16CreateEnumeratorENS_9StringRefEy", "llvm::DIFactory::CreateEnumerator(llvm::StringRef, unsigned long long)"},
-    {"_ZN4llvm9DIFactory15CreateBasicTypeENS_12DIDescriptorENS_9StringRefENS_6DIFileEjyyyjj", "llvm::DIFactory::CreateBasicType(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned long long, unsigned int, unsigned int)"},
-    {"_ZN4llvm9DIFactory17CreateBasicTypeExENS_12DIDescriptorENS_9StringRefENS_6DIFileEjPNS_8ConstantES5_S5_jj", "llvm::DIFactory::CreateBasicTypeEx(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, llvm::Constant*, llvm::Constant*, llvm::Constant*, unsigned int, unsigned int)"},
-    {"_ZN4llvm9DIFactory20CreateArtificialTypeENS_6DITypeE", "llvm::DIFactory::CreateArtificialType(llvm::DIType)"},
-    {"_ZN4llvm9DIFactory17CreateDerivedTypeEjNS_12DIDescriptorENS_9StringRefENS_6DIFileEjyyyjNS_6DITypeE", "llvm::DIFactory::CreateDerivedType(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned long long, unsigned int, llvm::DIType)"},
-    {"_ZN4llvm9DIFactory19CreateDerivedTypeExEjNS_12DIDescriptorENS_9StringRefENS_6DIFileEjPNS_8ConstantES5_S5_jNS_6DITypeE", "llvm::DIFactory::CreateDerivedTypeEx(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, llvm::Constant*, llvm::Constant*, llvm::Constant*, unsigned int, llvm::DIType)"},
-    {"_ZN4llvm9DIFactory19CreateCompositeTypeEjNS_12DIDescriptorENS_9StringRefENS_6DIFileEjyyyjNS_6DITypeENS_7DIArrayEjPNS_6MDNodeE", "llvm::DIFactory::CreateCompositeType(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned long long, unsigned int, llvm::DIType, llvm::DIArray, unsigned int, llvm::MDNode*)"},
-    {"_ZN4llvm9DIFactory19CreateTemporaryTypeEv", "llvm::DIFactory::CreateTemporaryType()"},
-    {"_ZN4llvm9DIFactory19CreateTemporaryTypeENS_6DIFileE", "llvm::DIFactory::CreateTemporaryType(llvm::DIFile)"},
-    {"_ZN4llvm9DIFactory21CreateCompositeTypeExEjNS_12DIDescriptorENS_9StringRefENS_6DIFileEjPNS_8ConstantES5_S5_jNS_6DITypeENS_7DIArrayEjPNS_6MDNodeE", "llvm::DIFactory::CreateCompositeTypeEx(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, llvm::Constant*, llvm::Constant*, llvm::Constant*, unsigned int, llvm::DIType, llvm::DIArray, unsigned int, llvm::MDNode*)"},
-    {"_ZN4llvm9DIFactory16CreateSubprogramENS_12DIDescriptorENS_9StringRefES2_S2_NS_6DIFileEjNS_6DITypeEbbjjS4_jbPNS_8FunctionE", "llvm::DIFactory::CreateSubprogram(llvm::DIDescriptor, llvm::StringRef, llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, bool, unsigned int, unsigned int, llvm::DIType, unsigned int, bool, llvm::Function*)"},
-    {"_ZN4llvm9DIFactory26CreateSubprogramDefinitionERNS_12DISubprogramE", "llvm::DIFactory::CreateSubprogramDefinition(llvm::DISubprogram&)"},
-    {"_ZN4llvm9DIFactory20CreateGlobalVariableENS_12DIDescriptorENS_9StringRefES2_S2_NS_6DIFileEjNS_6DITypeEbbPNS_14GlobalVariableE", "llvm::DIFactory::CreateGlobalVariable(llvm::DIDescriptor, llvm::StringRef, llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, bool, llvm::GlobalVariable*)"},
-    {"_ZN4llvm9DIFactory20CreateGlobalVariableENS_12DIDescriptorENS_9StringRefES2_S2_NS_6DIFileEjNS_6DITypeEbbPNS_8ConstantE", "llvm::DIFactory::CreateGlobalVariable(llvm::DIDescriptor, llvm::StringRef, llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, bool, llvm::Constant*)"},
-    {"_ZN4llvm27getOrInsertFnSpecificMDNodeERNS_6ModuleENS_9StringRefE", "llvm::getOrInsertFnSpecificMDNode(llvm::Module&, llvm::StringRef)"},
-    {"_ZN4llvm19getFnSpecificMDNodeERKNS_6ModuleENS_9StringRefE", "llvm::getFnSpecificMDNode(llvm::Module const&, llvm::StringRef)"},
-    {"_ZN4llvm9DIFactory14CreateVariableEjNS_12DIDescriptorENS_9StringRefENS_6DIFileEjNS_6DITypeEbj", "llvm::DIFactory::CreateVariable(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, bool, unsigned int)"},
-    {"_ZN4llvm15getDISubprogramEPKNS_6MDNodeE", "llvm::getDISubprogram(llvm::MDNode const*)"},
-    {"_ZN4llvm9DIFactory21CreateComplexVariableEjNS_12DIDescriptorENS_9StringRefENS_6DIFileEjNS_6DITypeEPKPNS_5ValueEj", "llvm::DIFactory::CreateComplexVariable(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIType, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm9DIFactory18CreateLexicalBlockENS_12DIDescriptorENS_6DIFileEjj", "llvm::DIFactory::CreateLexicalBlock(llvm::DIDescriptor, llvm::DIFile, unsigned int, unsigned int)"},
-    {"_ZN4llvm9DIFactory15CreateNameSpaceENS_12DIDescriptorENS_9StringRefENS_6DIFileEj", "llvm::DIFactory::CreateNameSpace(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int)"},
-    {"_ZN4llvm9DIFactory14CreateLocationEjjNS_7DIScopeENS_10DILocationE", "llvm::DIFactory::CreateLocation(unsigned int, unsigned int, llvm::DIScope, llvm::DILocation)"},
-    {"_ZN4llvm9DIFactory13InsertDeclareEPNS_5ValueENS_10DIVariableEPNS_11InstructionE", "llvm::DIFactory::InsertDeclare(llvm::Value*, llvm::DIVariable, llvm::Instruction*)"},
-    {"_ZN4llvm9DIFactory13InsertDeclareEPNS_5ValueENS_10DIVariableEPNS_10BasicBlockE", "llvm::DIFactory::InsertDeclare(llvm::Value*, llvm::DIVariable, llvm::BasicBlock*)"},
-    {"_ZN4llvm9DIFactory23InsertDbgValueIntrinsicEPNS_5ValueEyNS_10DIVariableEPNS_11InstructionE", "llvm::DIFactory::InsertDbgValueIntrinsic(llvm::Value*, unsigned long long, llvm::DIVariable, llvm::Instruction*)"},
-    {"_ZN4llvm9DIFactory23InsertDbgValueIntrinsicEPNS_5ValueEyNS_10DIVariableEPNS_10BasicBlockE", "llvm::DIFactory::InsertDbgValueIntrinsic(llvm::Value*, unsigned long long, llvm::DIVariable, llvm::BasicBlock*)"},
-    {"_ZN4llvm9DIFactory10RecordTypeENS_6DITypeE", "llvm::DIFactory::RecordType(llvm::DIType)"},
-    {"_ZN4llvm15DebugInfoFinder13processModuleERNS_6ModuleE", "llvm::DebugInfoFinder::processModule(llvm::Module&)"},
-    {"_ZN4llvm15DebugInfoFinder14processDeclareEPNS_14DbgDeclareInstE", "llvm::DebugInfoFinder::processDeclare(llvm::DbgDeclareInst*)"},
-    {"_ZN4llvm15DebugInfoFinder14addCompileUnitENS_13DICompileUnitE", "llvm::DebugInfoFinder::addCompileUnit(llvm::DICompileUnit)"},
-    {"_ZN4llvm15DebugInfoFinder17processSubprogramENS_12DISubprogramE", "llvm::DebugInfoFinder::processSubprogram(llvm::DISubprogram)"},
-    {"_ZN4llvm15DebugInfoFinder19processLexicalBlockENS_14DILexicalBlockE", "llvm::DebugInfoFinder::processLexicalBlock(llvm::DILexicalBlock)"},
-    {"_ZN4llvm15DebugInfoFinder15processLocationENS_10DILocationE", "llvm::DebugInfoFinder::processLocation(llvm::DILocation)"},
-    {"_ZN4llvm15DebugInfoFinder17addGlobalVariableENS_16DIGlobalVariableE", "llvm::DebugInfoFinder::addGlobalVariable(llvm::DIGlobalVariable)"},
-    {"_ZN4llvm15DebugInfoFinder11processTypeENS_6DITypeE", "llvm::DebugInfoFinder::processType(llvm::DIType)"},
-    {"_ZN4llvm15DebugInfoFinder7addTypeENS_6DITypeE", "llvm::DebugInfoFinder::addType(llvm::DIType)"},
-    {"_ZN4llvm15DebugInfoFinder13addSubprogramENS_12DISubprogramE", "llvm::DebugInfoFinder::addSubprogram(llvm::DISubprogram)"},
-    {"_ZN4llvm15getLocationInfoEPKNS_5ValueERSsS3_RjS3_S3_", "llvm::getLocationInfo(llvm::Value const*, std::string&, std::string&, unsigned int&, std::string&, std::string&)"},
-    {"_ZN4llvm18getDICompositeTypeENS_6DITypeE", "llvm::getDICompositeType(llvm::DIType)"},
-    {"_ZNK4llvm6DIType11getFilenameEv", "llvm::DIType::getFilename() const"},
-    {"_ZNK4llvm6DIType14getCompileUnitEv", "llvm::DIType::getCompileUnit() const"},
-    {"_ZN4llvm13DICompileUnitD1Ev", "llvm::DICompileUnit::~DICompileUnit()"},
-    {"_ZNK4llvm12DISubprogram14getCompileUnitEv", "llvm::DISubprogram::getCompileUnit() const"},
-    {"_ZN4llvm15DICompositeTypeD1Ev", "llvm::DICompositeType::~DICompositeType()"},
-    {"_ZNK4llvm16DIGlobalVariable14getCompileUnitEv", "llvm::DIGlobalVariable::getCompileUnit() const"},
-    {"_ZN4llvm6DITypeD1Ev", "llvm::DIType::~DIType()"},
-    {"_ZNK4llvm10DIVariable14getCompileUnitEv", "llvm::DIVariable::getCompileUnit() const"},
-    {"_ZNK4llvm11DINameSpace14getCompileUnitEv", "llvm::DINameSpace::getCompileUnit() const"},
-    {"_ZNK4llvm6DIType7isValidEv", "llvm::DIType::isValid() const"},
-    {"_ZN4llvm13DIDerivedTypeD1Ev", "llvm::DIDerivedType::~DIDerivedType()"},
-    {"_ZNK4llvm14DILexicalBlock11getFilenameEv", "llvm::DILexicalBlock::getFilename() const"},
-    {"_ZN4llvm14DILexicalBlockD1Ev", "llvm::DILexicalBlock::~DILexicalBlock()"},
-    {"_ZNK4llvm12DISubprogram11getFilenameEv", "llvm::DISubprogram::getFilename() const"},
-    {"_ZNK4llvm11DINameSpace11getFilenameEv", "llvm::DINameSpace::getFilename() const"},
-    {"_ZN4llvm11DINameSpaceD1Ev", "llvm::DINameSpace::~DINameSpace()"},
-    {"_ZN4llvm6DIFileD1Ev", "llvm::DIFile::~DIFile()"},
-    {"_ZNK4llvm14DILexicalBlock12getDirectoryEv", "llvm::DILexicalBlock::getDirectory() const"},
-    {"_ZNK4llvm12DISubprogram12getDirectoryEv", "llvm::DISubprogram::getDirectory() const"},
-    {"_ZNK4llvm11DINameSpace12getDirectoryEv", "llvm::DINameSpace::getDirectory() const"},
-    {"_ZNK4llvm6DIType12getDirectoryEv", "llvm::DIType::getDirectory() const"},
-    {"_ZN4llvm11DIBasicTypeD1Ev", "llvm::DIBasicType::~DIBasicType()"},
-    {"_ZN4llvm6DITypeD0Ev", "llvm::DIType::~DIType()"},
-    {"_ZN4llvm8CallInstC2IPPNS_5ValueEEES3_T_S5_RKNS_5TwineEPNS_10BasicBlockE", "llvm::CallInst::CallInst<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CallInstC2IPPNS_5ValueEEES3_T_S5_RKNS_5TwineEPNS_11InstructionE", "llvm::CallInst::CallInst<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm15DICompositeTypeD0Ev", "llvm::DICompositeType::~DICompositeType()"},
-    {"_ZN4llvm13DIDerivedTypeD0Ev", "llvm::DIDerivedType::~DIDerivedType()"},
-    {"_ZN4llvm11DIBasicTypeD0Ev", "llvm::DIBasicType::~DIBasicType()"},
-    {"_ZN4llvm6DIFileD0Ev", "llvm::DIFile::~DIFile()"},
-    {"_ZN4llvm11DINameSpaceD0Ev", "llvm::DINameSpace::~DINameSpace()"},
-    {"_ZN4llvm13DICompileUnitD0Ev", "llvm::DICompileUnit::~DICompileUnit()"},
-    {"_ZN4llvm14DILexicalBlockD0Ev", "llvm::DILexicalBlock::~DILexicalBlock()"},
-    {"_ZNK4llvm12DIDescriptor10getFieldAsINS_15DICompositeTypeEEET_j", "llvm::DICompositeType llvm::DIDescriptor::getFieldAs<llvm::DICompositeType>(unsigned int) const"},
-    {"_ZN4llvm21initializeIVUsersPassERNS_12PassRegistryE", "llvm::initializeIVUsersPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm17createIVUsersPassEv", "llvm::createIVUsersPass()"},
-    {"_ZN4llvm7IVUsersC1Ev", "llvm::IVUsers::IVUsers()"},
-    {"_ZN4llvm7IVUsers21AddUsersIfInterestingEPNS_11InstructionE", "llvm::IVUsers::AddUsersIfInteresting(llvm::Instruction*)"},
-    {"_Z13isInterestingPKN4llvm4SCEVEPKNS_11InstructionEPKNS_4LoopEPNS_15ScalarEvolutionE", "isInteresting(llvm::SCEV const*, llvm::Instruction const*, llvm::Loop const*, llvm::ScalarEvolution*)"},
-    {"_ZN4llvm7IVUsers7AddUserEPNS_11InstructionEPNS_5ValueE", "llvm::IVUsers::AddUser(llvm::Instruction*, llvm::Value*)"},
-    {"_ZN4llvm7IVUsersC2Ev", "llvm::IVUsers::IVUsers()"},
-    {"_ZNK4llvm7IVUsers16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::IVUsers::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm7IVUsers9runOnLoopEPNS_4LoopERNS_13LPPassManagerE", "llvm::IVUsers::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZNK4llvm7IVUsers5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::IVUsers::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZNK4llvm7IVUsers18getReplacementExprERKNS_11IVStrideUseE", "llvm::IVUsers::getReplacementExpr(llvm::IVStrideUse const&) const"},
-    {"_ZNK4llvm7IVUsers4dumpEv", "llvm::IVUsers::dump() const"},
-    {"_ZN4llvm7IVUsers13releaseMemoryEv", "llvm::IVUsers::releaseMemory()"},
-    {"_ZNK4llvm7IVUsers7getExprERKNS_11IVStrideUseE", "llvm::IVUsers::getExpr(llvm::IVStrideUse const&) const"},
-    {"_ZNK4llvm7IVUsers9getStrideERKNS_11IVStrideUseEPKNS_4LoopE", "llvm::IVUsers::getStride(llvm::IVStrideUse const&, llvm::Loop const*) const"},
-    {"_Z17findAddRecForLoopPKN4llvm4SCEVEPKNS_4LoopE", "findAddRecForLoop(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm11IVStrideUse18transformToPostIncEPKNS_4LoopE", "llvm::IVStrideUse::transformToPostInc(llvm::Loop const*)"},
-    {"_ZN4llvm11IVStrideUse7deletedEv", "llvm::IVStrideUse::deleted()"},
-    {"_ZN4llvm11IVStrideUseD1Ev", "llvm::IVStrideUse::~IVStrideUse()"},
-    {"_ZN4llvm11IVStrideUseD0Ev", "llvm::IVStrideUse::~IVStrideUse()"},
-    {"_ZN4llvm7IVUsersD1Ev", "llvm::IVUsers::~IVUsers()"},
-    {"_ZN4llvm7IVUsersD0Ev", "llvm::IVUsers::~IVUsers()"},
-    {"_ZN4llvm15callDefaultCtorINS_7IVUsersEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::IVUsers>()"},
-    {"_ZN4llvm11callIsSmallEPKNS_8FunctionE", "llvm::callIsSmall(llvm::Function const*)"},
-    {"_ZN4llvm11CodeMetrics17analyzeBasicBlockEPKNS_10BasicBlockE", "llvm::CodeMetrics::analyzeBasicBlock(llvm::BasicBlock const*)"},
-    {"_ZN4llvm11CodeMetrics29CountCodeReductionForConstantEPNS_5ValueE", "llvm::CodeMetrics::CountCodeReductionForConstant(llvm::Value*)"},
-    {"_ZN4llvm11CodeMetrics27CountCodeReductionForAllocaEPNS_5ValueE", "llvm::CodeMetrics::CountCodeReductionForAlloca(llvm::Value*)"},
-    {"_ZN4llvm11CodeMetrics15analyzeFunctionEPNS_8FunctionE", "llvm::CodeMetrics::analyzeFunction(llvm::Function*)"},
-    {"_ZN4llvm18InlineCostAnalyzer12FunctionInfo15analyzeFunctionEPNS_8FunctionE", "llvm::InlineCostAnalyzer::FunctionInfo::analyzeFunction(llvm::Function*)"},
-    {"_ZN4llvm18InlineCostAnalyzer12FunctionInfo11NeverInlineEv", "llvm::InlineCostAnalyzer::FunctionInfo::NeverInline()"},
-    {"_ZN4llvm18InlineCostAnalyzer22getSpecializationBonusEPNS_8FunctionERNS_15SmallVectorImplIjEE", "llvm::InlineCostAnalyzer::getSpecializationBonus(llvm::Function*, llvm::SmallVectorImpl<unsigned int>&)"},
-    {"_ZN4llvm18InlineCostAnalyzer21CountBonusForConstantEPNS_5ValueEPNS_8ConstantE", "llvm::InlineCostAnalyzer::CountBonusForConstant(llvm::Value*, llvm::Constant*)"},
-    {"_ZN4llvm18InlineCostAnalyzer21ConstantFunctionBonusENS_8CallSiteEPNS_8ConstantE", "llvm::InlineCostAnalyzer::ConstantFunctionBonus(llvm::CallSite, llvm::Constant*)"},
-    {"_ZN4llvm18InlineCostAnalyzer13getInlineSizeENS_8CallSiteEPNS_8FunctionE", "llvm::InlineCostAnalyzer::getInlineSize(llvm::CallSite, llvm::Function*)"},
-    {"_ZN4llvm18InlineCostAnalyzer16getInlineBonusesENS_8CallSiteEPNS_8FunctionE", "llvm::InlineCostAnalyzer::getInlineBonuses(llvm::CallSite, llvm::Function*)"},
-    {"_ZN4llvm18InlineCostAnalyzer13getInlineCostENS_8CallSiteERNS_11SmallPtrSetIPKNS_8FunctionELj16EEE", "llvm::InlineCostAnalyzer::getInlineCost(llvm::CallSite, llvm::SmallPtrSet<llvm::Function const*, 16u>&)"},
-    {"_ZN4llvm18InlineCostAnalyzer13getInlineCostENS_8CallSiteEPNS_8FunctionERNS_11SmallPtrSetIPKS2_Lj16EEE", "llvm::InlineCostAnalyzer::getInlineCost(llvm::CallSite, llvm::Function*, llvm::SmallPtrSet<llvm::Function const*, 16u>&)"},
-    {"_ZN4llvm18InlineCostAnalyzer21getSpecializationCostEPNS_8FunctionERNS_15SmallVectorImplIjEE", "llvm::InlineCostAnalyzer::getSpecializationCost(llvm::Function*, llvm::SmallVectorImpl<unsigned int>&)"},
-    {"_ZN4llvm18InlineCostAnalyzer20getInlineFudgeFactorENS_8CallSiteE", "llvm::InlineCostAnalyzer::getInlineFudgeFactor(llvm::CallSite)"},
-    {"_ZN4llvm18InlineCostAnalyzer18growCachedCostInfoEPNS_8FunctionES2_", "llvm::InlineCostAnalyzer::growCachedCostInfo(llvm::Function*, llvm::Function*)"},
-    {"_ZN4llvm18InlineCostAnalyzer5clearEv", "llvm::InlineCostAnalyzer::clear()"},
-    {"_ZNSt6vectorIN4llvm18InlineCostAnalyzer7ArgInfoESaIS2_EE7reserveEm", "std::vector<llvm::InlineCostAnalyzer::ArgInfo, std::allocator<llvm::InlineCostAnalyzer::ArgInfo> >::reserve(unsigned long)"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E5clearEv", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::clear()"},
-    {"_ZN4llvm8DenseMapINS_18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS4_EENS_12DenseMapInfoIS6_EEEES6_NS9_ISB_EESA_E16shrink_and_clearEv", "llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >, llvm::InlineCostAnalyzer::FunctionInfo, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> > >, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >::shrink_and_clear()"},
-    {"_ZNSt6vectorIN4llvm18InlineCostAnalyzer7ArgInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::InlineCostAnalyzer::ArgInfo, std::allocator<llvm::InlineCostAnalyzer::ArgInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::InlineCostAnalyzer::ArgInfo*, std::vector<llvm::InlineCostAnalyzer::ArgInfo, std::allocator<llvm::InlineCostAnalyzer::ArgInfo> > >, llvm::InlineCostAnalyzer::ArgInfo const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_10BasicBlockEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::BasicBlock const*, unsigned int, llvm::DenseMapInfo<llvm::BasicBlock const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::BasicBlock const* const&, unsigned int const&, std::pair<llvm::BasicBlock const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_10BasicBlockEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::BasicBlock const*, unsigned int, llvm::DenseMapInfo<llvm::BasicBlock const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm15SimplifyAddInstEPNS_5ValueES1_bbPKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyAddInst(llvm::Value*, llvm::Value*, bool, bool, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z15SimplifyAddInstPN4llvm5ValueES1_bbPKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyAddInst(llvm::Value*, llvm::Value*, bool, bool, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm15SimplifySubInstEPNS_5ValueES1_bbPKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifySubInst(llvm::Value*, llvm::Value*, bool, bool, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z15SimplifySubInstPN4llvm5ValueES1_bbPKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifySubInst(llvm::Value*, llvm::Value*, bool, bool, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm15SimplifyMulInstEPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyMulInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z15SimplifyMulInstPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyMulInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm16SimplifySDivInstEPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifySDivInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_ZN4llvm16SimplifyUDivInstEPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyUDivInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_ZN4llvm16SimplifyFDivInstEPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyFDivInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_ZN4llvm15SimplifyShlInstEPNS_5ValueES1_bbPKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyShlInst(llvm::Value*, llvm::Value*, bool, bool, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z15SimplifyShlInstPN4llvm5ValueES1_bbPKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyShlInst(llvm::Value*, llvm::Value*, bool, bool, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm16SimplifyLShrInstEPNS_5ValueES1_bPKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyLShrInst(llvm::Value*, llvm::Value*, bool, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z16SimplifyLShrInstPN4llvm5ValueES1_bPKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyLShrInst(llvm::Value*, llvm::Value*, bool, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm16SimplifyAShrInstEPNS_5ValueES1_bPKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyAShrInst(llvm::Value*, llvm::Value*, bool, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z16SimplifyAShrInstPN4llvm5ValueES1_bPKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyAShrInst(llvm::Value*, llvm::Value*, bool, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm15SimplifyAndInstEPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyAndInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z15SimplifyAndInstPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyAndInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm14SimplifyOrInstEPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyOrInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z14SimplifyOrInstPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyOrInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm15SimplifyXorInstEPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyXorInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z15SimplifyXorInstPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyXorInst(llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm16SimplifyICmpInstEjPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyICmpInst(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z16SimplifyICmpInstjPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyICmpInst(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm16SimplifyFCmpInstEjPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyFCmpInst(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z16SimplifyFCmpInstjPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyFCmpInst(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm18SimplifySelectInstEPNS_5ValueES1_S1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifySelectInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_ZN4llvm15SimplifyGEPInstEPKPNS_5ValueEjPKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyGEPInst(llvm::Value* const*, unsigned int, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_ZN4llvm13SimplifyBinOpEjPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyBinOp(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z13SimplifyBinOpjPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyBinOp(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm15SimplifyCmpInstEjPNS_5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyCmpInst(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_ZN4llvm19SimplifyInstructionEPNS_11InstructionEPKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::SimplifyInstruction(llvm::Instruction*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_ZN4llvm25ReplaceAndSimplifyAllUsesEPNS_11InstructionEPNS_5ValueEPKNS_10DataLayoutEPKNS_13DominatorTreeE", "llvm::ReplaceAndSimplifyAllUses(llvm::Instruction*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*)"},
-    {"_Z24SimplifyAssociativeBinOpjPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyAssociativeBinOp(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_Z21ThreadBinOpOverSelectjPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "ThreadBinOpOverSelect(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_Z18ThreadBinOpOverPHIjPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "ThreadBinOpOverPHI(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_Z19ThreadCmpOverSelectN4llvm7CmpInst9PredicateEPNS_5ValueES3_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "ThreadCmpOverSelect(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_Z16ThreadCmpOverPHIN4llvm7CmpInst9PredicateEPNS_5ValueES3_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "ThreadCmpOverPHI(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_Z14FactorizeBinOpjPN4llvm5ValueES1_jPKNS_10DataLayoutEPKNS_13DominatorTreeEj", "FactorizeBinOp(unsigned int, llvm::Value*, llvm::Value*, unsigned int, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_Z11ExpandBinOpjPN4llvm5ValueES1_jPKNS_10DataLayoutEPKNS_13DominatorTreeEj", "ExpandBinOp(unsigned int, llvm::Value*, llvm::Value*, unsigned int, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_Z13SimplifyShiftjPN4llvm5ValueES1_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyShift(unsigned int, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_Z11SimplifyDivN4llvm11Instruction9BinaryOpsEPNS_5ValueES3_PKNS_10DataLayoutEPKNS_13DominatorTreeEj", "SimplifyDiv(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::DataLayout const*, llvm::DominatorTree const*, unsigned int)"},
-    {"_ZN4llvm12PatternMatch9not_matchINS0_14specificval_tyEE5matchINS_5ValueEEEbPT_", "bool llvm::PatternMatch::not_match<llvm::PatternMatch::specificval_ty>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch11cst_pred_tyINS0_11is_all_onesEE5matchINS_5ValueEEEbPT_", "bool llvm::PatternMatch::cst_pred_ty<llvm::PatternMatch::is_all_ones>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_14specificval_tyENS0_11cst_pred_tyINS0_6is_oneEEELj20EE5matchINS_5ValueEEEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::specificval_ty, llvm::PatternMatch::cst_pred_ty<llvm::PatternMatch::is_one>, 20u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch11cst_pred_tyINS0_6is_oneEE5matchINS_8ConstantEEEbPT_", "bool llvm::PatternMatch::cst_pred_ty<llvm::PatternMatch::is_one>::match<llvm::Constant>(llvm::Constant*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_14specificval_tyENS0_17constantint_matchILx2EEELj12EE5matchINS_5ValueEEEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::specificval_ty, llvm::PatternMatch::constantint_match<2ll>, 12u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm27initializeLazyValueInfoPassERNS_12PassRegistryE", "llvm::initializeLazyValueInfoPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm23createLazyValueInfoPassEv", "llvm::createLazyValueInfoPass()"},
-    {"_ZN4llvm13LazyValueInfo13runOnFunctionERNS_8FunctionE", "llvm::LazyValueInfo::runOnFunction(llvm::Function&)"},
-    {"_Z8getCacheRPv", "getCache(void*&)"},
-    {"_ZN4llvm13LazyValueInfo13releaseMemoryEv", "llvm::LazyValueInfo::releaseMemory()"},
-    {"_ZN4llvm13LazyValueInfo11getConstantEPNS_5ValueEPNS_10BasicBlockE", "llvm::LazyValueInfo::getConstant(llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm13LazyValueInfo17getConstantOnEdgeEPNS_5ValueEPNS_10BasicBlockES4_", "llvm::LazyValueInfo::getConstantOnEdge(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm13LazyValueInfo18getPredicateOnEdgeEjPNS_5ValueEPNS_8ConstantEPNS_10BasicBlockES6_", "llvm::LazyValueInfo::getPredicateOnEdge(unsigned int, llvm::Value*, llvm::Constant*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm13LazyValueInfo10threadEdgeEPNS_10BasicBlockES2_S2_", "llvm::LazyValueInfo::threadEdge(llvm::BasicBlock*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm13LazyValueInfo10eraseBlockEPNS_10BasicBlockE", "llvm::LazyValueInfo::eraseBlock(llvm::BasicBlock*)"},
-    {"_ZN12_GLOBAL__N_114LVIValueHandleD1Ev", "(anonymous namespace)::LVIValueHandle::~LVIValueHandle()"},
-    {"_ZN12_GLOBAL__N_114LVIValueHandleD0Ev", "(anonymous namespace)::LVIValueHandle::~LVIValueHandle()"},
-    {"_ZN12_GLOBAL__N_114LVIValueHandle7deletedEv", "(anonymous namespace)::LVIValueHandle::deleted()"},
-    {"_ZN12_GLOBAL__N_114LVIValueHandle19allUsesReplacedWithEPN4llvm5ValueE", "(anonymous namespace)::LVIValueHandle::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZNK4llvm8DenseMapIN12_GLOBAL__N_114LVIValueHandleESt3mapINS_11AssertingVHINS_10BasicBlockEEENS1_13LVILatticeValESt4lessIS6_ESaISt4pairIKS6_S7_EEENS_12DenseMapInfoIS2_EENSF_ISE_EEE15LookupBucketForERKS2_RPSA_IS2_SE_E", "llvm::DenseMap<(anonymous namespace)::LVIValueHandle, std::map<llvm::AssertingVH<llvm::BasicBlock>, (anonymous namespace)::LVILatticeVal, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > >, llvm::DenseMapInfo<(anonymous namespace)::LVIValueHandle>, llvm::DenseMapInfo<std::map<llvm::AssertingVH<llvm::BasicBlock>, (anonymous namespace)::LVILatticeVal, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > > > >::LookupBucketFor((anonymous namespace)::LVIValueHandle const&, std::pair<(anonymous namespace)::LVIValueHandle, std::map<llvm::AssertingVH<llvm::BasicBlock>, (anonymous namespace)::LVILatticeVal, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > > >*&) const"},
-    {"_ZNSt8_Rb_treeIN4llvm11AssertingVHINS0_10BasicBlockEEESt4pairIKS3_N12_GLOBAL__N_113LVILatticeValEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::AssertingVH<llvm::BasicBlock>, std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal>, std::_Select1st<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> >, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> >*)"},
-    {"_ZN4llvm8DenseMapIN12_GLOBAL__N_114LVIValueHandleESt3mapINS_11AssertingVHINS_10BasicBlockEEENS1_13LVILatticeValESt4lessIS6_ESaISt4pairIKS6_S7_EEENS_12DenseMapInfoIS2_EENSF_ISE_EEEixERKS2_", "llvm::DenseMap<(anonymous namespace)::LVIValueHandle, std::map<llvm::AssertingVH<llvm::BasicBlock>, (anonymous namespace)::LVILatticeVal, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > >, llvm::DenseMapInfo<(anonymous namespace)::LVIValueHandle>, llvm::DenseMapInfo<std::map<llvm::AssertingVH<llvm::BasicBlock>, (anonymous namespace)::LVILatticeVal, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > > > >::operator[]((anonymous namespace)::LVIValueHandle const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm11AssertingVHINS0_10BasicBlockEEESt4pairIKS3_N12_GLOBAL__N_113LVILatticeValEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE7_M_copyEPKSt13_Rb_tree_nodeIS8_EPSG_", "std::_Rb_tree<llvm::AssertingVH<llvm::BasicBlock>, std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal>, std::_Select1st<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> >, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > >::_M_copy(std::_Rb_tree_node<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > const*, std::_Rb_tree_node<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm11AssertingVHINS0_10BasicBlockEEESt4pairIKS3_N12_GLOBAL__N_113LVILatticeValEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE14_M_create_nodeERKS8_", "std::_Rb_tree<llvm::AssertingVH<llvm::BasicBlock>, std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal>, std::_Select1st<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> >, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > >::_M_create_node(std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> const&)"},
-    {"_ZN12_GLOBAL__N_118LazyValueInfoCache12getEdgeValueEPN4llvm5ValueEPNS1_10BasicBlockES5_RNS_13LVILatticeValE", "(anonymous namespace)::LazyValueInfoCache::getEdgeValue(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, (anonymous namespace)::LVILatticeVal&)"},
-    {"_ZN12_GLOBAL__N_118LazyValueInfoCache5solveEv", "(anonymous namespace)::LazyValueInfoCache::solve()"},
-    {"_ZNSt3mapIN4llvm11AssertingVHINS0_10BasicBlockEEEN12_GLOBAL__N_113LVILatticeValESt4lessIS3_ESaISt4pairIKS3_S5_EEEixERS9_", "std::map<llvm::AssertingVH<llvm::BasicBlock>, (anonymous namespace)::LVILatticeVal, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > >::operator[](llvm::AssertingVH<llvm::BasicBlock> const&)"},
-    {"_ZN12_GLOBAL__N_118LazyValueInfoCache13hasBlockValueEPN4llvm5ValueEPNS1_10BasicBlockE", "(anonymous namespace)::LazyValueInfoCache::hasBlockValue(llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN12_GLOBAL__N_118LazyValueInfoCache13getBlockValueEPN4llvm5ValueEPNS1_10BasicBlockE", "(anonymous namespace)::LazyValueInfoCache::getBlockValue(llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN12_GLOBAL__N_113LVILatticeVal17markConstantRangeEN4llvm13ConstantRangeE", "(anonymous namespace)::LVILatticeVal::markConstantRange(llvm::ConstantRange)"},
-    {"_ZN12_GLOBAL__N_113LVILatticeVal3getEPN4llvm8ConstantE", "(anonymous namespace)::LVILatticeVal::get(llvm::Constant*)"},
-    {"_ZN12_GLOBAL__N_113LVILatticeVal15markNotConstantEPN4llvm8ConstantE", "(anonymous namespace)::LVILatticeVal::markNotConstant(llvm::Constant*)"},
-    {"_ZN12_GLOBAL__N_113LVILatticeVal7mergeInERKS0_", "(anonymous namespace)::LVILatticeVal::mergeIn((anonymous namespace)::LVILatticeVal const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm11AssertingVHINS0_10BasicBlockEEESt4pairIKS3_N12_GLOBAL__N_113LVILatticeValEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::AssertingVH<llvm::BasicBlock>, std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal>, std::_Select1st<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> >, std::less<llvm::AssertingVH<llvm::BasicBlock> >, std::allocator<std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> > >::_M_insert_unique(std::pair<llvm::AssertingVH<llvm::BasicBlock> const, (anonymous namespace)::LVILatticeVal> const&)"},
-    {"_ZN12_GLOBAL__N_113LVILatticeVal8getRangeEN4llvm13ConstantRangeE", "(anonymous namespace)::LVILatticeVal::getRange(llvm::ConstantRange)"},
-    {"_ZN4llvm13LazyValueInfoD1Ev", "llvm::LazyValueInfo::~LazyValueInfo()"},
-    {"_ZN4llvm13LazyValueInfoD0Ev", "llvm::LazyValueInfo::~LazyValueInfo()"},
-    {"_ZNK4llvm13LazyValueInfo16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::LazyValueInfo::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE15_M_range_insertINS0_12SuccIteratorIPNS0_14TerminatorInstES1_EEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EET_SE_St20forward_iterator_tag", "void std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >::_M_range_insert<llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >(__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock>, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock>, std::forward_iterator_tag)"},
-    {"_ZN4llvm8DenseMapISt4pairINS_11AssertingVHINS_10BasicBlockEEEPNS_5ValueEEcNS_12DenseMapInfoIS7_EENS8_IcEEE4findERKS7_", "llvm::DenseMap<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*>, char, llvm::DenseMapInfo<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*> >, llvm::DenseMapInfo<char> >::find(std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEcNS_12DenseMapInfoIS2_EENS3_IcEEE6insertERKSt4pairIS2_cE", "llvm::DenseMap<llvm::Value*, char, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<char> >::insert(std::pair<llvm::Value*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEcNS_12DenseMapInfoIS2_EENS3_IcEEE16InsertIntoBucketERKS2_RKcPSt4pairIS2_cE", "llvm::DenseMap<llvm::Value*, char, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(llvm::Value* const&, char const&, std::pair<llvm::Value*, char>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEcNS_12DenseMapInfoIS2_EENS3_IcEEE4growEj", "llvm::DenseMap<llvm::Value*, char, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZNSt5dequeISt4pairIPN4llvm10BasicBlockEPNS1_5ValueEESaIS6_EE9push_backERKS6_", "std::deque<std::pair<llvm::BasicBlock*, llvm::Value*>, std::allocator<std::pair<llvm::BasicBlock*, llvm::Value*> > >::push_back(std::pair<llvm::BasicBlock*, llvm::Value*> const&)"},
-    {"_ZNSt5dequeISt4pairIPN4llvm10BasicBlockEPNS1_5ValueEESaIS6_EE17_M_reallocate_mapEmb", "std::deque<std::pair<llvm::BasicBlock*, llvm::Value*>, std::allocator<std::pair<llvm::BasicBlock*, llvm::Value*> > >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZN4llvm8DenseMapISt4pairINS_11AssertingVHINS_10BasicBlockEEEPNS_5ValueEEcNS_12DenseMapInfoIS7_EENS8_IcEEE6insertERKS1_IS7_cE", "llvm::DenseMap<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*>, char, llvm::DenseMapInfo<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*> >, llvm::DenseMapInfo<char> >::insert(std::pair<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*>, char> const&)"},
-    {"_ZN4llvm8DenseMapISt4pairINS_11AssertingVHINS_10BasicBlockEEEPNS_5ValueEEcNS_12DenseMapInfoIS7_EENS8_IcEEE16InsertIntoBucketERKS7_RKcPS1_IS7_cE", "llvm::DenseMap<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*>, char, llvm::DenseMapInfo<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*> >, llvm::DenseMapInfo<char> >::InsertIntoBucket(std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*> const&, char const&, std::pair<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*>, char>*)"},
-    {"_ZN4llvm8DenseMapISt4pairINS_11AssertingVHINS_10BasicBlockEEEPNS_5ValueEEcNS_12DenseMapInfoIS7_EENS8_IcEEE4growEj", "llvm::DenseMap<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*>, char, llvm::DenseMapInfo<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*> >, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseSetISt4pairINS_11AssertingVHINS_10BasicBlockEEEPNS_5ValueEENS_12DenseMapInfoIS7_EEE5clearEv", "llvm::DenseSet<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*>, llvm::DenseMapInfo<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*> > >::clear()"},
-    {"_ZN4llvm8DenseMapISt4pairINS_11AssertingVHINS_10BasicBlockEEEPNS_5ValueEEcNS_12DenseMapInfoIS7_EENS8_IcEEE16shrink_and_clearEv", "llvm::DenseMap<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*>, char, llvm::DenseMapInfo<std::pair<llvm::AssertingVH<llvm::BasicBlock>, llvm::Value*> >, llvm::DenseMapInfo<char> >::shrink_and_clear()"},
-    {"_ZNSt11_Deque_baseISt4pairIPN4llvm10BasicBlockEPNS1_5ValueEESaIS6_EE17_M_initialize_mapEm", "std::_Deque_base<std::pair<llvm::BasicBlock*, llvm::Value*>, std::allocator<std::pair<llvm::BasicBlock*, llvm::Value*> > >::_M_initialize_map(unsigned long)"},
-    {"_ZNSt5dequeISt4pairIPN4llvm10BasicBlockEPNS1_5ValueEESaIS6_EEC2ERKS8_", "std::deque<std::pair<llvm::BasicBlock*, llvm::Value*>, std::allocator<std::pair<llvm::BasicBlock*, llvm::Value*> > >::deque(std::deque<std::pair<llvm::BasicBlock*, llvm::Value*>, std::allocator<std::pair<llvm::BasicBlock*, llvm::Value*> > > const&)"},
-    {"_ZN4llvm15callDefaultCtorINS_13LazyValueInfoEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::LazyValueInfo>()"},
-    {"_ZN4llvm27isSafeToLoadUnconditionallyEPNS_5ValueEPNS_11InstructionEjPKNS_10DataLayoutE", "llvm::isSafeToLoadUnconditionally(llvm::Value*, llvm::Instruction*, unsigned int, llvm::DataLayout const*)"},
-    {"_ZN4llvm24FindAvailableLoadedValueEPNS_5ValueEPNS_10BasicBlockERNS_14ilist_iteratorINS_11InstructionEEEjPNS_13AliasAnalysisE", "llvm::FindAvailableLoadedValue(llvm::Value*, llvm::BasicBlock*, llvm::ilist_iterator<llvm::Instruction>&, unsigned int, llvm::AliasAnalysis*)"},
-    {"_ZN4llvm22initializeLoopInfoPassERNS_12PassRegistryE", "llvm::initializeLoopInfoPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm4Loop15isLoopInvariantEPNS_5ValueE", "llvm::Loop::isLoopInvariant(llvm::Value*) const"},
-    {"_ZNK4llvm4Loop24hasLoopInvariantOperandsEPNS_11InstructionE", "llvm::Loop::hasLoopInvariantOperands(llvm::Instruction*) const"},
-    {"_ZNK4llvm4Loop17makeLoopInvariantEPNS_5ValueERbPNS_11InstructionE", "llvm::Loop::makeLoopInvariant(llvm::Value*, bool&, llvm::Instruction*) const"},
-    {"_ZNK4llvm4Loop17makeLoopInvariantEPNS_11InstructionERbS2_", "llvm::Loop::makeLoopInvariant(llvm::Instruction*, bool&, llvm::Instruction*) const"},
-    {"_ZNK4llvm4Loop29getCanonicalInductionVariableEv", "llvm::Loop::getCanonicalInductionVariable() const"},
-    {"_ZNK4llvm4Loop12getTripCountEv", "llvm::Loop::getTripCount() const"},
-    {"_ZNK4llvm4Loop25getSmallConstantTripCountEv", "llvm::Loop::getSmallConstantTripCount() const"},
-    {"_ZNK4llvm4Loop28getSmallConstantTripMultipleEv", "llvm::Loop::getSmallConstantTripMultiple() const"},
-    {"_ZNK4llvm4Loop11isLCSSAFormERNS_13DominatorTreeE", "llvm::Loop::isLCSSAForm(llvm::DominatorTree&) const"},
-    {"_ZNK4llvm4Loop18isLoopSimplifyFormEv", "llvm::Loop::isLoopSimplifyForm() const"},
-    {"_ZNK4llvm4Loop17hasDedicatedExitsEv", "llvm::Loop::hasDedicatedExits() const"},
-    {"_ZNK4llvm4Loop19getUniqueExitBlocksERNS_15SmallVectorImplIPNS_10BasicBlockEEE", "llvm::Loop::getUniqueExitBlocks(llvm::SmallVectorImpl<llvm::BasicBlock*>&) const"},
-    {"_ZNK4llvm4Loop18getUniqueExitBlockEv", "llvm::Loop::getUniqueExitBlock() const"},
-    {"_ZNK4llvm4Loop4dumpEv", "llvm::Loop::dump() const"},
-    {"_ZN4llvm8LoopInfo13runOnFunctionERNS_8FunctionE", "llvm::LoopInfo::runOnFunction(llvm::Function&)"},
-    {"_ZNK4llvm8LoopInfo14verifyAnalysisEv", "llvm::LoopInfo::verifyAnalysis() const"},
-    {"_ZNK4llvm8LoopInfo16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::LoopInfo::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZNK4llvm8LoopInfo5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::LoopInfo::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZNK4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE5printERNS_11raw_ostreamEj", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::print(llvm::raw_ostream&, unsigned int) const"},
-    {"_ZN4llvm12LoopInfoBaseINS_10BasicBlockENS_4LoopEE9CalculateERNS_17DominatorTreeBaseIS1_EE", "llvm::LoopInfoBase<llvm::BasicBlock, llvm::Loop>::Calculate(llvm::DominatorTreeBase<llvm::BasicBlock>&)"},
-    {"_ZN4llvm8LoopInfoD1Ev", "llvm::LoopInfo::~LoopInfo()"},
-    {"_ZN4llvm8LoopInfoD0Ev", "llvm::LoopInfo::~LoopInfo()"},
-    {"_ZN4llvm8LoopInfo13releaseMemoryEv", "llvm::LoopInfo::releaseMemory()"},
-    {"_ZN4llvm12LoopInfoBaseINS_10BasicBlockENS_4LoopEE15ConsiderForLoopEPS1_RNS_17DominatorTreeBaseIS1_EE", "llvm::LoopInfoBase<llvm::BasicBlock, llvm::Loop>::ConsiderForLoop(llvm::BasicBlock*, llvm::DominatorTreeBase<llvm::BasicBlock>&)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_4LoopENS_12DenseMapInfoIS2_EENS5_IS4_EEE6insertERKSt4pairIS2_S4_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::Loop*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Loop*> >::insert(std::pair<llvm::BasicBlock*, llvm::Loop*> const&)"},
-    {"_ZN4llvm12LoopInfoBaseINS_10BasicBlockENS_4LoopEE19MoveSiblingLoopIntoEPS2_S4_", "llvm::LoopInfoBase<llvm::BasicBlock, llvm::Loop>::MoveSiblingLoopInto(llvm::Loop*, llvm::Loop*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_PNS0_4LoopEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, llvm::Loop*>, std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Loop*> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, llvm::Loop*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock* const, llvm::Loop*> >*)"},
-    {"_ZN4llvm12LoopInfoBaseINS_10BasicBlockENS_4LoopEE14InsertLoopIntoEPS2_S4_", "llvm::LoopInfoBase<llvm::BasicBlock, llvm::Loop>::InsertLoopInto(llvm::Loop*, llvm::Loop*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_PNS0_4LoopEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, llvm::Loop*>, std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Loop*> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, llvm::Loop*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::BasicBlock* const, llvm::Loop*> >, std::pair<llvm::BasicBlock* const, llvm::Loop*> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_PNS0_4LoopEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<llvm::BasicBlock*, std::pair<llvm::BasicBlock* const, llvm::Loop*>, std::_Select1st<std::pair<llvm::BasicBlock* const, llvm::Loop*> >, std::less<llvm::BasicBlock*>, std::allocator<std::pair<llvm::BasicBlock* const, llvm::Loop*> > >::_M_insert_unique(std::pair<llvm::BasicBlock* const, llvm::Loop*> const&)"},
-    {"_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE15_M_range_insertINS0_12PredIteratorIS1_NS0_18value_use_iteratorINS0_4UserEEEEEEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EET_SF_St20forward_iterator_tag", "void std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >::_M_range_insert<llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >(__gnu_cxx::__normal_iterator<llvm::BasicBlock**, std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> > >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >, std::forward_iterator_tag)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm4LoopESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::Loop**, std::vector<llvm::Loop*, std::allocator<llvm::Loop*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::Loop**, std::vector<llvm::Loop*, std::allocator<llvm::Loop*> > >, llvm::Loop*>(__gnu_cxx::__normal_iterator<llvm::Loop**, std::vector<llvm::Loop*, std::allocator<llvm::Loop*> > >, __gnu_cxx::__normal_iterator<llvm::Loop**, std::vector<llvm::Loop*, std::allocator<llvm::Loop*> > >, llvm::Loop* const&, std::random_access_iterator_tag)"},
-    {"_ZNK4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE13isLoopExitingEPKS1_", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::isLoopExiting(llvm::BasicBlock const*) const"},
-    {"_ZN4llvm12LoopInfoBaseINS_10BasicBlockENS_4LoopEE13releaseMemoryEv", "llvm::LoopInfoBase<llvm::BasicBlock, llvm::Loop>::releaseMemory()"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPNS_4LoopENS_12DenseMapInfoIS2_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::BasicBlock*, llvm::Loop*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Loop*> >::shrink_and_clear()"},
-    {"_ZN4llvm15callDefaultCtorINS_8LoopInfoEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::LoopInfo>()"},
-    {"_ZN4llvm8LoopInfoC2Ev", "llvm::LoopInfo::LoopInfo()"},
-    {"_ZN4llvm13LPPassManagerC1Ei", "llvm::LPPassManager::LPPassManager(int)"},
-    {"_ZN4llvm13LPPassManagerC2Ei", "llvm::LPPassManager::LPPassManager(int)"},
-    {"_ZN4llvm13LPPassManager19deleteLoopFromQueueEPNS_4LoopE", "llvm::LPPassManager::deleteLoopFromQueue(llvm::Loop*)"},
-    {"_ZN4llvm13LPPassManager10insertLoopEPNS_4LoopES2_", "llvm::LPPassManager::insertLoop(llvm::Loop*, llvm::Loop*)"},
-    {"_ZN4llvm13LPPassManager19insertLoopIntoQueueEPNS_4LoopE", "llvm::LPPassManager::insertLoopIntoQueue(llvm::Loop*)"},
-    {"_ZN4llvm13LPPassManager8redoLoopEPNS_4LoopE", "llvm::LPPassManager::redoLoop(llvm::Loop*)"},
-    {"_ZN4llvm13LPPassManager29cloneBasicBlockSimpleAnalysisEPNS_10BasicBlockES2_PNS_4LoopE", "llvm::LPPassManager::cloneBasicBlockSimpleAnalysis(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Loop*)"},
-    {"_ZN4llvm13LPPassManager25deleteSimpleAnalysisValueEPNS_5ValueEPNS_4LoopE", "llvm::LPPassManager::deleteSimpleAnalysisValue(llvm::Value*, llvm::Loop*)"},
-    {"_ZNK4llvm13LPPassManager16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::LPPassManager::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm13LPPassManager13runOnFunctionERNS_8FunctionE", "llvm::LPPassManager::runOnFunction(llvm::Function&)"},
-    {"_Z16addLoopIntoQueuePN4llvm4LoopERSt5dequeIS1_SaIS1_EE", "addLoopIntoQueue(llvm::Loop*, std::deque<llvm::Loop*, std::allocator<llvm::Loop*> >&)"},
-    {"_ZN4llvm13LPPassManager17dumpPassStructureEj", "llvm::LPPassManager::dumpPassStructure(unsigned int)"},
-    {"_ZNK4llvm8LoopPass17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::LoopPass::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZN4llvm8LoopPass18preparePassManagerERNS_7PMStackE", "llvm::LoopPass::preparePassManager(llvm::PMStack&)"},
-    {"_ZN4llvm8LoopPass17assignPassManagerERNS_7PMStackENS_15PassManagerTypeE", "llvm::LoopPass::assignPassManager(llvm::PMStack&, llvm::PassManagerType)"},
-    {"_ZN12_GLOBAL__N_113PrintLoopPassD1Ev", "(anonymous namespace)::PrintLoopPass::~PrintLoopPass()"},
-    {"_ZN12_GLOBAL__N_113PrintLoopPassD0Ev", "(anonymous namespace)::PrintLoopPass::~PrintLoopPass()"},
-    {"_ZNK12_GLOBAL__N_113PrintLoopPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PrintLoopPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_113PrintLoopPass9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE", "(anonymous namespace)::PrintLoopPass::runOnLoop(llvm::Loop*, llvm::LPPassManager&)"},
-    {"_ZNSt5dequeIPN4llvm4LoopESaIS2_EE5eraseESt15_Deque_iteratorIS2_RS2_PS2_E", "std::deque<llvm::Loop*, std::allocator<llvm::Loop*> >::erase(std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**>)"},
-    {"_ZNSt5dequeIPN4llvm4LoopESaIS2_EE9push_backERKS2_", "std::deque<llvm::Loop*, std::allocator<llvm::Loop*> >::push_back(llvm::Loop* const&)"},
-    {"_ZN4llvm13LPPassManagerD1Ev", "llvm::LPPassManager::~LPPassManager()"},
-    {"_ZN4llvm13LPPassManagerD0Ev", "llvm::LPPassManager::~LPPassManager()"},
-    {"_ZNK4llvm13LPPassManager11getPassNameEv", "llvm::LPPassManager::getPassName() const"},
-    {"_ZN4llvm13LPPassManager18getAsPMDataManagerEv", "llvm::LPPassManager::getAsPMDataManager()"},
-    {"_ZN4llvm13LPPassManager9getAsPassEv", "llvm::LPPassManager::getAsPass()"},
-    {"_ZNK4llvm13LPPassManager18getPassManagerTypeEv", "llvm::LPPassManager::getPassManagerType() const"},
-    {"_ZThn32_N4llvm13LPPassManagerD1Ev", "non-virtual thunk to llvm::LPPassManager::~LPPassManager()"},
-    {"_ZThn32_N4llvm13LPPassManagerD0Ev", "non-virtual thunk to llvm::LPPassManager::~LPPassManager()"},
-    {"_ZThn32_N4llvm13LPPassManager9getAsPassEv", "non-virtual thunk to llvm::LPPassManager::getAsPass()"},
-    {"_ZThn32_NK4llvm13LPPassManager18getPassManagerTypeEv", "non-virtual thunk to llvm::LPPassManager::getPassManagerType() const"},
-    {"_ZNSt5dequeIPN4llvm4LoopESaIS2_EE17_M_reallocate_mapEmb", "std::deque<llvm::Loop*, std::allocator<llvm::Loop*> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZNSt5dequeIPN4llvm4LoopESaIS2_EE14_M_fill_insertESt15_Deque_iteratorIS2_RS2_PS2_EmRKS2_", "std::deque<llvm::Loop*, std::allocator<llvm::Loop*> >::_M_fill_insert(std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**>, unsigned long, llvm::Loop* const&)"},
-    {"_ZNSt5dequeIPN4llvm4LoopESaIS2_EE13_M_insert_auxESt15_Deque_iteratorIS2_RS2_PS2_EmRKS2_", "std::deque<llvm::Loop*, std::allocator<llvm::Loop*> >::_M_insert_aux(std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**>, unsigned long, llvm::Loop* const&)"},
-    {"_ZSt4fillIPN4llvm4LoopEEvRKSt15_Deque_iteratorIT_RS4_PS4_ES9_RKS4_", "void std::fill<llvm::Loop*>(std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**> const&, std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**> const&, llvm::Loop* const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bISt15_Deque_iteratorIPN4llvm4LoopERS6_PS6_ES9_EET0_T_SB_SA_", "std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**> std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**>, std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**> >(std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**>, std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**>, std::_Deque_iterator<llvm::Loop*, llvm::Loop*&, llvm::Loop**>)"},
-    {"_ZNSt5dequeIPN4llvm4LoopESaIS2_EE23_M_new_elements_at_backEm", "std::deque<llvm::Loop*, std::allocator<llvm::Loop*> >::_M_new_elements_at_back(unsigned long)"},
-    {"_ZNSt5dequeIPN4llvm4LoopESaIS2_EE24_M_new_elements_at_frontEm", "std::deque<llvm::Loop*, std::allocator<llvm::Loop*> >::_M_new_elements_at_front(unsigned long)"},
-    {"_ZNSt6vectorIPN4llvm4LoopESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::Loop*, std::allocator<llvm::Loop*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Loop**, std::vector<llvm::Loop*, std::allocator<llvm::Loop*> > >, llvm::Loop* const&)"},
-    {"_ZNSt11_Deque_baseIPN4llvm4LoopESaIS2_EE17_M_initialize_mapEm", "std::_Deque_base<llvm::Loop*, std::allocator<llvm::Loop*> >::_M_initialize_map(unsigned long)"},
-    {"_ZN4llvm8LoopBaseINS_10BasicBlockENS_4LoopEED2Ev", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::~LoopBase()"},
-    {"_ZN4llvm8isMallocEPKNS_5ValueE", "llvm::isMalloc(llvm::Value const*)"},
-    {"_ZN4llvm17extractMallocCallEPKNS_5ValueE", "llvm::extractMallocCall(llvm::Value const*)"},
-    {"_ZN4llvm28extractMallocCallFromBitCastEPKNS_5ValueE", "llvm::extractMallocCallFromBitCast(llvm::Value const*)"},
-    {"_Z12isMallocCallPKN4llvm8CallInstE", "isMallocCall(llvm::CallInst const*)"},
-    {"_ZN4llvm17extractMallocCallEPNS_5ValueE", "llvm::extractMallocCall(llvm::Value*)"},
-    {"_ZN4llvm28extractMallocCallFromBitCastEPNS_5ValueE", "llvm::extractMallocCallFromBitCast(llvm::Value*)"},
-    {"_ZN4llvm13isArrayMallocEPKNS_5ValueEPKNS_10DataLayoutE", "llvm::isArrayMalloc(llvm::Value const*, llvm::DataLayout const*)"},
-    {"_Z16computeArraySizePKN4llvm8CallInstEPKNS_10DataLayoutEb", "computeArraySize(llvm::CallInst const*, llvm::DataLayout const*, bool)"},
-    {"_ZN4llvm13getMallocTypeEPKNS_8CallInstE", "llvm::getMallocType(llvm::CallInst const*)"},
-    {"_ZN4llvm22getMallocAllocatedTypeEPKNS_8CallInstE", "llvm::getMallocAllocatedType(llvm::CallInst const*)"},
-    {"_ZN4llvm18getMallocArraySizeEPNS_8CallInstEPKNS_10DataLayoutEb", "llvm::getMallocArraySize(llvm::CallInst*, llvm::DataLayout const*, bool)"},
-    {"_ZN4llvm10isFreeCallEPKNS_5ValueE", "llvm::isFreeCall(llvm::Value const*)"},
-    {"_ZN4llvm38initializeMemoryDependenceAnalysisPassERNS_12PassRegistryE", "llvm::initializeMemoryDependenceAnalysisPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm24MemoryDependenceAnalysisC1Ev", "llvm::MemoryDependenceAnalysis::MemoryDependenceAnalysis()"},
-    {"_ZN4llvm24MemoryDependenceAnalysisC2Ev", "llvm::MemoryDependenceAnalysis::MemoryDependenceAnalysis()"},
-    {"_ZN4llvm24MemoryDependenceAnalysisD0Ev", "llvm::MemoryDependenceAnalysis::~MemoryDependenceAnalysis()"},
-    {"_ZN4llvm24MemoryDependenceAnalysisD1Ev", "llvm::MemoryDependenceAnalysis::~MemoryDependenceAnalysis()"},
-    {"_ZN4llvm24MemoryDependenceAnalysisD2Ev", "llvm::MemoryDependenceAnalysis::~MemoryDependenceAnalysis()"},
-    {"_ZN4llvm24MemoryDependenceAnalysis13releaseMemoryEv", "llvm::MemoryDependenceAnalysis::releaseMemory()"},
-    {"_ZNK4llvm24MemoryDependenceAnalysis16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::MemoryDependenceAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm24MemoryDependenceAnalysis13runOnFunctionERNS_8FunctionE", "llvm::MemoryDependenceAnalysis::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis25getCallSiteDependencyFromENS_8CallSiteEbNS_14ilist_iteratorINS_11InstructionEEEPNS_10BasicBlockE", "llvm::MemoryDependenceAnalysis::getCallSiteDependencyFrom(llvm::CallSite, bool, llvm::ilist_iterator<llvm::Instruction>, llvm::BasicBlock*)"},
-    {"_Z11GetLocationPKN4llvm11InstructionERNS_13AliasAnalysis8LocationEPS3_", "GetLocation(llvm::Instruction const*, llvm::AliasAnalysis::Location&, llvm::AliasAnalysis*)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis24getPointerDependencyFromERKNS_13AliasAnalysis8LocationEbNS_14ilist_iteratorINS_11InstructionEEEPNS_10BasicBlockE", "llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(llvm::AliasAnalysis::Location const&, bool, llvm::ilist_iterator<llvm::Instruction>, llvm::BasicBlock*)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis13getDependencyEPNS_11InstructionE", "llvm::MemoryDependenceAnalysis::getDependency(llvm::Instruction*)"},
-    {"_Z20RemoveFromReverseMapIPN4llvm11InstructionEEvRNS0_8DenseMapIS2_NS0_11SmallPtrSetIT_Lj4EEENS0_12DenseMapInfoIS2_EENS7_IS6_EEEES2_S5_", "void RemoveFromReverseMap<llvm::Instruction*>(llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::Instruction*, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Instruction*, 4u> > >&, llvm::Instruction*, llvm::Instruction*)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis25getNonLocalCallDependencyENS_8CallSiteE", "llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(llvm::CallSite)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis28getNonLocalPointerDependencyERKNS_13AliasAnalysis8LocationEbPNS_10BasicBlockERNS_15SmallVectorImplINS_17NonLocalDepResultEEE", "llvm::MemoryDependenceAnalysis::getNonLocalPointerDependency(llvm::AliasAnalysis::Location const&, bool, llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::NonLocalDepResult>&)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis27getNonLocalPointerDepFromBBERKNS_12PHITransAddrERKNS_13AliasAnalysis8LocationEbPNS_10BasicBlockERNS_15SmallVectorImplINS_17NonLocalDepResultEEERNS_8DenseMapIS9_PNS_5ValueENS_12DenseMapInfoIS9_EENSH_ISG_EEEEb", "llvm::MemoryDependenceAnalysis::getNonLocalPointerDepFromBB(llvm::PHITransAddr const&, llvm::AliasAnalysis::Location const&, bool, llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::NonLocalDepResult>&, llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::Value*> >&, bool)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis23GetNonLocalInfoForBlockERKNS_13AliasAnalysis8LocationEbPNS_10BasicBlockEPSt6vectorINS_16NonLocalDepEntryESaIS8_EEj", "llvm::MemoryDependenceAnalysis::GetNonLocalInfoForBlock(llvm::AliasAnalysis::Location const&, bool, llvm::BasicBlock*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >*, unsigned int)"},
-    {"_Z20RemoveFromReverseMapIN4llvm14PointerIntPairIPKNS0_5ValueELj1EbNS0_21PointerLikeTypeTraitsIS4_EEEEEvRNS0_8DenseMapIPNS0_11InstructionENS0_11SmallPtrSetIT_Lj4EEENS0_12DenseMapInfoISA_EENSE_ISD_EEEESA_SC_", "void RemoveFromReverseMap<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > >(llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u> > >&, llvm::Instruction*, llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >)"},
-    {"_Z24SortNonLocalDepInfoCacheRSt6vectorIN4llvm16NonLocalDepEntryESaIS1_EEj", "SortNonLocalDepInfoCache(std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >&, unsigned int)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis39RemoveCachedNonLocalPointerDependenciesENS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS4_EEEE", "llvm::MemoryDependenceAnalysis::RemoveCachedNonLocalPointerDependencies(llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis27invalidateCachedPointerInfoEPNS_5ValueE", "llvm::MemoryDependenceAnalysis::invalidateCachedPointerInfo(llvm::Value*)"},
-    {"_ZN4llvm24MemoryDependenceAnalysis28invalidateCachedPredecessorsEv", "llvm::MemoryDependenceAnalysis::invalidateCachedPredecessors()"},
-    {"_ZN4llvm24MemoryDependenceAnalysis17removeInstructionEPNS_11InstructionE", "llvm::MemoryDependenceAnalysis::removeInstruction(llvm::Instruction*)"},
-    {"_ZNK4llvm24MemoryDependenceAnalysis13verifyRemovedEPNS_11InstructionE", "llvm::MemoryDependenceAnalysis::verifyRemoved(llvm::Instruction*) const"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt4pairISt6vectorINS_16NonLocalDepEntryESaIS5_EEbENS_12DenseMapInfoIS2_EENS9_IS8_EEE5clearEv", "llvm::DenseMap<llvm::Instruction*, std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool> > >::clear()"},
-    {"_ZN4llvm8DenseMapINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS4_EEEENS_24MemoryDependenceAnalysis19NonLocalPointerInfoENS_12DenseMapInfoIS7_EENSA_IS9_EEE5clearEv", "llvm::DenseMap<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > >, llvm::DenseMapInfo<llvm::MemoryDependenceAnalysis::NonLocalPointerInfo> >::clear()"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetIS2_Lj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE5clearEv", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::Instruction*, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Instruction*, 4u> > >::clear()"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS7_EEEELj4EEENS_12DenseMapInfoIS2_EENSC_ISB_EEE5clearEv", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u> > >::clear()"},
-    {"_ZN4llvm17PredIteratorCache5clearEv", "llvm::PredIteratorCache::clear()"},
-    {"_ZN4llvm17PredIteratorCache8GetPredsEPNS_10BasicBlockE", "llvm::PredIteratorCache::GetPreds(llvm::BasicBlock*)"},
-    {"_ZN4llvm8DenseMapINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS4_EEEENS_24MemoryDependenceAnalysis19NonLocalPointerInfoENS_12DenseMapInfoIS7_EENSA_IS9_EEE6insertERKSt4pairIS7_S9_E", "llvm::DenseMap<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > >, llvm::DenseMapInfo<llvm::MemoryDependenceAnalysis::NonLocalPointerInfo> >::insert(std::pair<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo> const&)"},
-    {"_ZN4llvm8DenseMapINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS4_EEEENS_24MemoryDependenceAnalysis19NonLocalPointerInfoENS_12DenseMapInfoIS7_EENSA_IS9_EEE16FindAndConstructERKS7_", "llvm::DenseMap<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > >, llvm::DenseMapInfo<llvm::MemoryDependenceAnalysis::NonLocalPointerInfo> >::FindAndConstruct(llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > const&)"},
-    {"_ZN4llvm8DenseMapINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS4_EEEENS_24MemoryDependenceAnalysis19NonLocalPointerInfoENS_12DenseMapInfoIS7_EENSA_IS9_EEE16InsertIntoBucketERKS7_RKS9_PSt4pairIS7_S9_E", "llvm::DenseMap<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > >, llvm::DenseMapInfo<llvm::MemoryDependenceAnalysis::NonLocalPointerInfo> >::InsertIntoBucket(llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > const&, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo const&, std::pair<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo>*)"},
-    {"_ZN4llvm8DenseMapINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS4_EEEENS_24MemoryDependenceAnalysis19NonLocalPointerInfoENS_12DenseMapInfoIS7_EENSA_IS9_EEE4growEj", "llvm::DenseMap<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > >, llvm::DenseMapInfo<llvm::MemoryDependenceAnalysis::NonLocalPointerInfo> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS7_EEEELj4EEENS_12DenseMapInfoIS2_EENSC_ISB_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u> > >::FindAndConstruct(llvm::Instruction* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS7_EEEELj4EEENS_12DenseMapInfoIS2_EENSC_ISB_EEE16InsertIntoBucketERKS2_RKSB_PSt4pairIS2_SB_E", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u> > >::InsertIntoBucket(llvm::Instruction* const&, llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u> const&, std::pair<llvm::Instruction*, llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS7_EEEELj4EEENS_12DenseMapInfoIS2_EENSC_ISB_EEE4growEj", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u> > >::grow(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_17NonLocalDepResultELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::NonLocalDepResult, false>::grow(unsigned long)"},
-    {"_ZNSt6vectorIN4llvm16NonLocalDepEntryESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, llvm::NonLocalDepEntry const&)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN4llvm16NonLocalDepEntryESt6vectorIS3_SaIS3_EEEElEvT_S9_T0_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, long>(__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, __gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, long)"},
-    {"_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4llvm16NonLocalDepEntryESt6vectorIS3_SaIS3_EEEEEvT_S9_", "void std::__final_insertion_sort<__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > > >(__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, __gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4llvm16NonLocalDepEntryESt6vectorIS3_SaIS3_EEEEEvT_S9_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > > >(__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, __gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >)"},
-    {"_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPN4llvm16NonLocalDepEntryESt6vectorIS3_SaIS3_EEEEEvT_S9_S9_", "void std::__heap_select<__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > > >(__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, __gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, __gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >)"},
-    {"_ZSt9sort_heapIN9__gnu_cxx17__normal_iteratorIPN4llvm16NonLocalDepEntryESt6vectorIS3_SaIS3_EEEEEvT_S9_", "void std::sort_heap<__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > > >(__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, __gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >)"},
-    {"_ZSt9make_heapIN9__gnu_cxx17__normal_iteratorIPN4llvm16NonLocalDepEntryESt6vectorIS3_SaIS3_EEEEEvT_S9_", "void std::make_heap<__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > > >(__gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >, __gnu_cxx::__normal_iterator<llvm::NonLocalDepEntry*, std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > >)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt4pairISt6vectorINS_16NonLocalDepEntryESaIS5_EEbENS_12DenseMapInfoIS2_EENS9_IS8_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::Instruction*, std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool> > >::FindAndConstruct(llvm::Instruction* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt4pairISt6vectorINS_16NonLocalDepEntryESaIS5_EEbENS_12DenseMapInfoIS2_EENS9_IS8_EEE16InsertIntoBucketERKS2_RKS8_PS3_IS2_S8_E", "llvm::DenseMap<llvm::Instruction*, std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool> > >::InsertIntoBucket(llvm::Instruction* const&, std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool> const&, std::pair<llvm::Instruction*, std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt4pairISt6vectorINS_16NonLocalDepEntryESaIS5_EEbENS_12DenseMapInfoIS2_EENS9_IS8_EEE4growEj", "llvm::DenseMap<llvm::Instruction*, std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool> > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm16NonLocalDepEntryESaIS1_EEC2ERKS3_", "std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >::vector(std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> > const&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetIS2_Lj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::Instruction*, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Instruction*, 4u> > >::FindAndConstruct(llvm::Instruction* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetIS2_Lj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::Instruction*, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Instruction*, 4u> > >::InsertIntoBucket(llvm::Instruction* const&, llvm::SmallPtrSet<llvm::Instruction*, 4u> const&, std::pair<llvm::Instruction*, llvm::SmallPtrSet<llvm::Instruction*, 4u> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetIS2_Lj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::Instruction*, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Instruction*, 4u> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_12MemDepResultENS_12DenseMapInfoIS2_EENS4_IS3_EEE16InsertIntoBucketERKS2_RKS3_PSt4pairIS2_S3_E", "llvm::DenseMap<llvm::Instruction*, llvm::MemDepResult, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::MemDepResult> >::InsertIntoBucket(llvm::Instruction* const&, llvm::MemDepResult const&, std::pair<llvm::Instruction*, llvm::MemDepResult>*)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_12MemDepResultENS_12DenseMapInfoIS2_EENS4_IS3_EEE4growEj", "llvm::DenseMap<llvm::Instruction*, llvm::MemDepResult, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::MemDepResult> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS7_EEEELj4EEENS_12DenseMapInfoIS2_EENSC_ISB_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, 4u> > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_11SmallPtrSetIS2_Lj4EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Instruction*, llvm::SmallPtrSet<llvm::Instruction*, 4u>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Instruction*, 4u> > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapINS_14PointerIntPairIPKNS_5ValueELj1EbNS_21PointerLikeTypeTraitsIS4_EEEENS_24MemoryDependenceAnalysis19NonLocalPointerInfoENS_12DenseMapInfoIS7_EENSA_IS9_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> >, llvm::MemoryDependenceAnalysis::NonLocalPointerInfo, llvm::DenseMapInfo<llvm::PointerIntPair<llvm::Value const*, 1u, bool, llvm::PointerLikeTypeTraits<llvm::Value const*> > >, llvm::DenseMapInfo<llvm::MemoryDependenceAnalysis::NonLocalPointerInfo> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionESt4pairISt6vectorINS_16NonLocalDepEntryESaIS5_EEbENS_12DenseMapInfoIS2_EENS9_IS8_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Instruction*, std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool>, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<std::pair<std::vector<llvm::NonLocalDepEntry, std::allocator<llvm::NonLocalDepEntry> >, bool> > >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_11InstructionENS_12MemDepResultENS_12DenseMapInfoIS2_EENS4_IS3_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Instruction*, llvm::MemDepResult, llvm::DenseMapInfo<llvm::Instruction*>, llvm::DenseMapInfo<llvm::MemDepResult> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::BasicBlock*, unsigned int, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::BasicBlock* const&, unsigned int const&, std::pair<llvm::BasicBlock*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, unsigned int, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPS2_NS_12DenseMapInfoIS2_EENS4_IS3_EEE16InsertIntoBucketERKS2_RKS3_PSt4pairIS2_S3_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::BasicBlock**, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock**> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::BasicBlock** const&, std::pair<llvm::BasicBlock*, llvm::BasicBlock**>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPS2_NS_12DenseMapInfoIS2_EENS4_IS3_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::BasicBlock**, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock**> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEjNS_12DenseMapInfoIS2_EENS3_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::BasicBlock*, unsigned int, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockEPS2_NS_12DenseMapInfoIS2_EENS4_IS3_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::BasicBlock*, llvm::BasicBlock**, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock**> >::shrink_and_clear()"},
-    {"_ZN4llvm15callDefaultCtorINS_24MemoryDependenceAnalysisEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::MemoryDependenceAnalysis>()"},
-    {"_ZN4llvm18initializeNoAAPassERNS_12PassRegistryE", "llvm::initializeNoAAPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm14createNoAAPassEv", "llvm::createNoAAPass()"},
-    {"_ZN12_GLOBAL__N_14NoAAD1Ev", "(anonymous namespace)::NoAA::~NoAA()"},
-    {"_ZN12_GLOBAL__N_14NoAAD0Ev", "(anonymous namespace)::NoAA::~NoAA()"},
-    {"_ZNK12_GLOBAL__N_14NoAA16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::NoAA::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_14NoAA26getAdjustedAnalysisPointerEPKv", "(anonymous namespace)::NoAA::getAdjustedAnalysisPointer(void const*)"},
-    {"_ZN12_GLOBAL__N_14NoAA14initializePassEv", "(anonymous namespace)::NoAA::initializePass()"},
-    {"_ZN12_GLOBAL__N_14NoAA5aliasERKN4llvm13AliasAnalysis8LocationES5_", "(anonymous namespace)::NoAA::alias(llvm::AliasAnalysis::Location const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN12_GLOBAL__N_14NoAA17getModRefBehaviorEN4llvm17ImmutableCallSiteE", "(anonymous namespace)::NoAA::getModRefBehavior(llvm::ImmutableCallSite)"},
-    {"_ZN12_GLOBAL__N_14NoAA17getModRefBehaviorEPKN4llvm8FunctionE", "(anonymous namespace)::NoAA::getModRefBehavior(llvm::Function const*)"},
-    {"_ZN12_GLOBAL__N_14NoAA22pointsToConstantMemoryERKN4llvm13AliasAnalysis8LocationEb", "(anonymous namespace)::NoAA::pointsToConstantMemory(llvm::AliasAnalysis::Location const&, bool)"},
-    {"_ZN12_GLOBAL__N_14NoAA13getModRefInfoEN4llvm17ImmutableCallSiteERKNS1_13AliasAnalysis8LocationE", "(anonymous namespace)::NoAA::getModRefInfo(llvm::ImmutableCallSite, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN12_GLOBAL__N_14NoAA13getModRefInfoEN4llvm17ImmutableCallSiteES2_", "(anonymous namespace)::NoAA::getModRefInfo(llvm::ImmutableCallSite, llvm::ImmutableCallSite)"},
-    {"_ZN12_GLOBAL__N_14NoAA11deleteValueEPN4llvm5ValueE", "(anonymous namespace)::NoAA::deleteValue(llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_14NoAA9copyValueEPN4llvm5ValueES3_", "(anonymous namespace)::NoAA::copyValue(llvm::Value*, llvm::Value*)"},
-    {"_ZN12_GLOBAL__N_14NoAA14addEscapingUseERN4llvm3UseE", "(anonymous namespace)::NoAA::addEscapingUse(llvm::Use&)"},
-    {"_ZThn32_NK12_GLOBAL__N_14NoAA16getAnalysisUsageERN4llvm13AnalysisUsageE", "non-virtual thunk to (anonymous namespace)::NoAA::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAAD1Ev", "non-virtual thunk to (anonymous namespace)::NoAA::~NoAA()"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAAD0Ev", "non-virtual thunk to (anonymous namespace)::NoAA::~NoAA()"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA5aliasERKN4llvm13AliasAnalysis8LocationES5_", "non-virtual thunk to (anonymous namespace)::NoAA::alias(llvm::AliasAnalysis::Location const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA22pointsToConstantMemoryERKN4llvm13AliasAnalysis8LocationEb", "non-virtual thunk to (anonymous namespace)::NoAA::pointsToConstantMemory(llvm::AliasAnalysis::Location const&, bool)"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA17getModRefBehaviorEN4llvm17ImmutableCallSiteE", "non-virtual thunk to (anonymous namespace)::NoAA::getModRefBehavior(llvm::ImmutableCallSite)"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA17getModRefBehaviorEPKN4llvm8FunctionE", "non-virtual thunk to (anonymous namespace)::NoAA::getModRefBehavior(llvm::Function const*)"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA13getModRefInfoEN4llvm17ImmutableCallSiteERKNS1_13AliasAnalysis8LocationE", "non-virtual thunk to (anonymous namespace)::NoAA::getModRefInfo(llvm::ImmutableCallSite, llvm::AliasAnalysis::Location const&)"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA13getModRefInfoEN4llvm17ImmutableCallSiteES2_", "non-virtual thunk to (anonymous namespace)::NoAA::getModRefInfo(llvm::ImmutableCallSite, llvm::ImmutableCallSite)"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA11deleteValueEPN4llvm5ValueE", "non-virtual thunk to (anonymous namespace)::NoAA::deleteValue(llvm::Value*)"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA9copyValueEPN4llvm5ValueES3_", "non-virtual thunk to (anonymous namespace)::NoAA::copyValue(llvm::Value*, llvm::Value*)"},
-    {"_ZThn32_N12_GLOBAL__N_14NoAA14addEscapingUseERN4llvm3UseE", "non-virtual thunk to (anonymous namespace)::NoAA::addEscapingUse(llvm::Use&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_14NoAAEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::NoAA>()"},
-    {"_ZNK4llvm12PHITransAddr4dumpEv", "llvm::PHITransAddr::dump() const"},
-    {"_ZNK4llvm12PHITransAddr6VerifyEv", "llvm::PHITransAddr::Verify() const"},
-    {"_Z13VerifySubExprPN4llvm5ValueERNS_15SmallVectorImplIPNS_11InstructionEEE", "VerifySubExpr(llvm::Value*, llvm::SmallVectorImpl<llvm::Instruction*>&)"},
-    {"_ZNK4llvm12PHITransAddr28IsPotentiallyPHITranslatableEv", "llvm::PHITransAddr::IsPotentiallyPHITranslatable() const"},
-    {"_ZN4llvm12PHITransAddr19PHITranslateSubExprEPNS_5ValueEPNS_10BasicBlockES4_PKNS_13DominatorTreeE", "llvm::PHITransAddr::PHITranslateSubExpr(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::DominatorTree const*)"},
-    {"_Z16RemoveInstInputsPN4llvm5ValueERNS_15SmallVectorImplIPNS_11InstructionEEE", "RemoveInstInputs(llvm::Value*, llvm::SmallVectorImpl<llvm::Instruction*>&)"},
-    {"_ZN4llvm12PHITransAddr17PHITranslateValueEPNS_10BasicBlockES2_PKNS_13DominatorTreeE", "llvm::PHITransAddr::PHITranslateValue(llvm::BasicBlock*, llvm::BasicBlock*, llvm::DominatorTree const*)"},
-    {"_ZN4llvm12PHITransAddr25PHITranslateWithInsertionEPNS_10BasicBlockES2_RKNS_13DominatorTreeERNS_15SmallVectorImplIPNS_11InstructionEEE", "llvm::PHITransAddr::PHITranslateWithInsertion(llvm::BasicBlock*, llvm::BasicBlock*, llvm::DominatorTree const&, llvm::SmallVectorImpl<llvm::Instruction*>&)"},
-    {"_ZN4llvm12PHITransAddr26InsertPHITranslatedSubExprEPNS_5ValueEPNS_10BasicBlockES4_RKNS_13DominatorTreeERNS_15SmallVectorImplIPNS_11InstructionEEE", "llvm::PHITransAddr::InsertPHITranslatedSubExpr(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::DominatorTree const&, llvm::SmallVectorImpl<llvm::Instruction*>&)"},
-    {"_ZN4llvm34initializeProfileInfoAnalysisGroupERNS_12PassRegistryE", "llvm::initializeProfileInfoAnalysisGroup(llvm::PassRegistry&)"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEEC1Ev", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::ProfileInfoT()"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEEC2Ev", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::ProfileInfoT()"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEED1Ev", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::~ProfileInfoT()"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEED2Ev", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::~ProfileInfoT()"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEEC1Ev", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::ProfileInfoT()"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEEC2Ev", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::ProfileInfoT()"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEED1Ev", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::~ProfileInfoT()"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEED2Ev", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::~ProfileInfoT()"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE17getExecutionCountEPKS2_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::getExecutionCount(llvm::BasicBlock const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEE17getExecutionCountEPKS2_", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::getExecutionCount(llvm::MachineBasicBlock const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE17getExecutionCountEPKS1_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::getExecutionCount(llvm::Function const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEE17getExecutionCountEPKS1_", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::getExecutionCount(llvm::MachineFunction const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE17setExecutionCountEPKS2_d", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::setExecutionCount(llvm::BasicBlock const*, double)"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEE17setExecutionCountEPKS2_d", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::setExecutionCount(llvm::MachineBasicBlock const*, double)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE13addEdgeWeightESt4pairIPKS2_S6_Ed", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::addEdgeWeight(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE17addExecutionCountEPKS2_d", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::addExecutionCount(llvm::BasicBlock const*, double)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE11removeBlockEPKS2_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::removeBlock(llvm::BasicBlock const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE10removeEdgeESt4pairIPKS2_S6_E", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::removeEdge(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE11replaceEdgeERKSt4pairIPKS2_S6_ES9_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::replaceEdge(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const&, std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const&)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE7GetPathEPKS2_S5_RSt3mapIS5_S5_St4lessIS5_ESaISt4pairIKS5_S5_EEEj", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::GetPath(llvm::BasicBlock const*, llvm::BasicBlock const*, std::map<llvm::BasicBlock const*, llvm::BasicBlock const*, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> > >&, unsigned int)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE10divertFlowERKSt4pairIPKS2_S6_ES9_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::divertFlow(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const&, std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const&)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE14replaceAllUsesEPKS2_S5_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::replaceAllUses(llvm::BasicBlock const*, llvm::BasicBlock const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE9splitEdgeEPKS2_S5_S5_b", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::splitEdge(llvm::BasicBlock const*, llvm::BasicBlock const*, llvm::BasicBlock const*, bool)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE10splitBlockEPKS2_S5_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::splitBlock(llvm::BasicBlock const*, llvm::BasicBlock const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE10splitBlockEPKS2_S5_PKPS2_j", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::splitBlock(llvm::BasicBlock const*, llvm::BasicBlock const*, llvm::BasicBlock* const*, unsigned int)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE8transferEPKS1_S5_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::transfer(llvm::Function const*, llvm::Function const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE20CalculateMissingEdgeEPKS2_RSt4pairIS5_S5_Eb", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::CalculateMissingEdge(llvm::BasicBlock const*, std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>&, bool)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE20EstimateMissingEdgesEPKS2_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::EstimateMissingEdges(llvm::BasicBlock const*)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE6repairEPKS1_", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::repair(llvm::Function const*)"},
-    {"_ZN4llvmlsERNS_11raw_ostreamEPKNS_8FunctionE", "llvm::operator<<(llvm::raw_ostream&, llvm::Function const*)"},
-    {"_ZN4llvmlsERNS_11raw_ostreamEPKNS_15MachineFunctionE", "llvm::operator<<(llvm::raw_ostream&, llvm::MachineFunction const*)"},
-    {"_ZN4llvmlsERNS_11raw_ostreamEPKNS_10BasicBlockE", "llvm::operator<<(llvm::raw_ostream&, llvm::BasicBlock const*)"},
-    {"_ZN4llvmlsERNS_11raw_ostreamEPKNS_17MachineBasicBlockE", "llvm::operator<<(llvm::raw_ostream&, llvm::MachineBasicBlock const*)"},
-    {"_ZN4llvmlsERNS_11raw_ostreamESt4pairIPKNS_10BasicBlockES5_E", "llvm::operator<<(llvm::raw_ostream&, std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>)"},
-    {"_ZN4llvmlsERNS_11raw_ostreamESt4pairIPKNS_17MachineBasicBlockES5_E", "llvm::operator<<(llvm::raw_ostream&, std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*>)"},
-    {"_ZN4llvm27initializeNoProfileInfoPassERNS_12PassRegistryE", "llvm::initializeNoProfileInfoPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm23createNoProfileInfoPassEv", "llvm::createNoProfileInfoPass()"},
-    {"_ZN12_GLOBAL__N_113NoProfileInfoD1Ev", "(anonymous namespace)::NoProfileInfo::~NoProfileInfo()"},
-    {"_ZN12_GLOBAL__N_113NoProfileInfoD0Ev", "(anonymous namespace)::NoProfileInfo::~NoProfileInfo()"},
-    {"_ZNK12_GLOBAL__N_113NoProfileInfo11getPassNameEv", "(anonymous namespace)::NoProfileInfo::getPassName() const"},
-    {"_ZN12_GLOBAL__N_113NoProfileInfo26getAdjustedAnalysisPointerEPKv", "(anonymous namespace)::NoProfileInfo::getAdjustedAnalysisPointer(void const*)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_113NoProfileInfoEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::NoProfileInfo>()"},
-    {"_ZNK4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE13getEdgeWeightESt4pairIPKS2_S6_E", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::getEdgeWeight(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>) const"},
-    {"_ZNSt3mapIPKN4llvm8FunctionES_IPKNS0_10BasicBlockEdSt4lessIS6_ESaISt4pairIKS6_dEEES7_IS3_ESaIS9_IKS3_SD_EEEixERSF_", "std::map<llvm::Function const*, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > > >::operator[](llvm::Function const* const&)"},
-    {"_ZNSt3mapIPKN4llvm15MachineFunctionES_IPKNS0_17MachineBasicBlockEdSt4lessIS6_ESaISt4pairIKS6_dEEES7_IS3_ESaIS9_IKS3_SD_EEEixERSF_", "std::map<llvm::MachineFunction const*, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > > >::operator[](llvm::MachineFunction const* const&)"},
-    {"_ZNSt3mapIPKN4llvm8FunctionES_ISt4pairIPKNS0_10BasicBlockES7_EdSt4lessIS8_ESaIS4_IKS8_dEEES9_IS3_ESaIS4_IKS3_SE_EEEixERSG_", "std::map<llvm::Function const*, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > > >::operator[](llvm::Function const* const&)"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE13setEdgeWeightESt4pairIPKS2_S6_Ed", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::setEdgeWeight(std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10BasicBlockES4_ES0_IKS5_dESt10_Select1stIS7_ESt4lessIS5_ESaIS7_EE7_M_copyEPKSt13_Rb_tree_nodeIS7_EPSF_", "std::_Rb_tree<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double>, std::_Select1st<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > >::_M_copy(std::_Rb_tree_node<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > const*, std::_Rb_tree_node<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E", "std::_Rb_tree<llvm::BasicBlock const*, llvm::BasicBlock const*, std::_Identity<llvm::BasicBlock const*>, std::less<llvm::BasicBlock const*>, std::allocator<llvm::BasicBlock const*> >::_M_erase(std::_Rb_tree_node<llvm::BasicBlock const*>*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10BasicBlockES4_ES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_ESD_", "std::_Rb_tree<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::_Identity<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::_Rb_tree_iterator<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE5eraseESt17_Rb_tree_iteratorIS3_ESB_", "std::_Rb_tree<llvm::BasicBlock const*, llvm::BasicBlock const*, std::_Identity<llvm::BasicBlock const*>, std::less<llvm::BasicBlock const*>, std::allocator<llvm::BasicBlock const*> >::erase(std::_Rb_tree_iterator<llvm::BasicBlock const*>, std::_Rb_tree_iterator<llvm::BasicBlock const*>)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseESt17_Rb_tree_iteratorIS6_ESE_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, double>, std::_Select1st<std::pair<llvm::Function const* const, double> >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, double> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::Function const* const, double> >, std::_Rb_tree_iterator<std::pair<llvm::Function const* const, double> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, double>, std::_Select1st<std::pair<llvm::Function const* const, double> >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, double> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Function const* const, double> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIPKNS0_10BasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE5eraseESt17_Rb_tree_iteratorISG_ESN_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >, std::_Rb_tree_iterator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, double>, std::_Select1st<std::pair<llvm::BasicBlock const* const, double> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock const* const, double> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIPKNS0_10BasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE8_M_eraseEPSt13_Rb_tree_nodeISG_E", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIS4_IPKNS0_10BasicBlockES9_EdSt4lessISA_ESaIS4_IKSA_dEEEESt10_Select1stISH_ESB_IS3_ESaISH_EE5eraseESt17_Rb_tree_iteratorISH_ESO_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >, std::_Rb_tree_iterator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIS4_IPKNS0_10BasicBlockES9_EdSt4lessISA_ESaIS4_IKSA_dEEEESt10_Select1stISH_ESB_IS3_ESaISH_EE8_M_eraseEPSt13_Rb_tree_nodeISH_E", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10BasicBlockES4_ES0_IKS5_dESt10_Select1stIS7_ESt4lessIS5_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double>, std::_Select1st<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*>, std::_Select1st<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> >, std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*>, std::_Select1st<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> > >::_M_insert_unique(std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> const&)"},
-    {"_ZNSt5dequeIPKN4llvm10BasicBlockESaIS3_EE9push_backERKS3_", "std::deque<llvm::BasicBlock const*, std::allocator<llvm::BasicBlock const*> >::push_back(llvm::BasicBlock const* const&)"},
-    {"_ZNSt5dequeIPKN4llvm10BasicBlockESaIS3_EE17_M_reallocate_mapEmb", "std::deque<llvm::BasicBlock const*, std::allocator<llvm::BasicBlock const*> >::_M_reallocate_map(unsigned long, bool)"},
-    {"_ZNSt11_Deque_baseIPKN4llvm10BasicBlockESaIS3_EE17_M_initialize_mapEm", "std::_Deque_base<llvm::BasicBlock const*, std::allocator<llvm::BasicBlock const*> >::_M_initialize_map(unsigned long)"},
-    {"_ZNSt5dequeIPKN4llvm10BasicBlockESaIS3_EEC2ERKS5_", "std::deque<llvm::BasicBlock const*, std::allocator<llvm::BasicBlock const*> >::deque(std::deque<llvm::BasicBlock const*, std::allocator<llvm::BasicBlock const*> > const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10BasicBlockES4_ES0_IKS5_dESt10_Select1stIS7_ESt4lessIS5_ESaIS7_EE5eraseESt17_Rb_tree_iteratorIS7_ESF_", "std::_Rb_tree<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double>, std::_Select1st<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > >::erase(std::_Rb_tree_iterator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >, std::_Rb_tree_iterator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE5eraseESt17_Rb_tree_iteratorIS6_ESE_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, double>, std::_Select1st<std::pair<llvm::BasicBlock const* const, double> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::BasicBlock const* const, double> >, std::_Rb_tree_iterator<std::pair<llvm::BasicBlock const* const, double> >)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10BasicBlockES4_ES0_IKS5_dESt10_Select1stIS7_ESt4lessIS5_ESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double>, std::_Select1st<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >, std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10BasicBlockES4_ES0_IKS5_dESt10_Select1stIS7_ESt4lessIS5_ESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double>, std::_Select1st<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> >, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > >::_M_insert_unique(std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIS4_IPKNS0_10BasicBlockES9_EdSt4lessISA_ESaIS4_IKSA_dEEEESt10_Select1stISH_ESB_IS3_ESaISH_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISH_ERKSH_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >, std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIS4_IPKNS0_10BasicBlockES9_EdSt4lessISA_ESaIS4_IKSA_dEEEESt10_Select1stISH_ESB_IS3_ESaISH_EE9_M_insertEPSt18_Rb_tree_node_baseSO_RKSH_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIS4_IPKNS0_10BasicBlockES9_EdSt4lessISA_ESaIS4_IKSA_dEEEESt10_Select1stISH_ESB_IS3_ESaISH_EE16_M_insert_uniqueERKSH_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > > >::_M_insert_unique(std::pair<llvm::Function const* const, std::map<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*>, double, std::less<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::BasicBlock const*, llvm::BasicBlock const*> const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm17MachineBasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::MachineBasicBlock const*, std::pair<llvm::MachineBasicBlock const* const, double>, std::_Select1st<std::pair<llvm::MachineBasicBlock const* const, double> >, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::MachineBasicBlock const* const, double> >, std::pair<llvm::MachineBasicBlock const* const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm17MachineBasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::MachineBasicBlock const*, std::pair<llvm::MachineBasicBlock const* const, double>, std::_Select1st<std::pair<llvm::MachineBasicBlock const* const, double> >, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > >::_M_insert_unique(std::pair<llvm::MachineBasicBlock const* const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm17MachineBasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::MachineBasicBlock const*, std::pair<llvm::MachineBasicBlock const* const, double>, std::_Select1st<std::pair<llvm::MachineBasicBlock const* const, double> >, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineBasicBlock const* const, double> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm17MachineBasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE7_M_copyEPKSt13_Rb_tree_nodeIS6_EPSE_", "std::_Rb_tree<llvm::MachineBasicBlock const*, std::pair<llvm::MachineBasicBlock const* const, double>, std::_Select1st<std::pair<llvm::MachineBasicBlock const* const, double> >, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > >::_M_copy(std::_Rb_tree_node<std::pair<llvm::MachineBasicBlock const* const, double> > const*, std::_Rb_tree_node<std::pair<llvm::MachineBasicBlock const* const, double> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm15MachineFunctionESt4pairIKS3_St3mapIPKNS0_17MachineBasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISG_ERKSG_", "std::_Rb_tree<llvm::MachineFunction const*, std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > >, std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm15MachineFunctionESt4pairIKS3_St3mapIPKNS0_17MachineBasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE9_M_insertEPSt18_Rb_tree_node_baseSN_RKSG_", "std::_Rb_tree<llvm::MachineFunction const*, std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm15MachineFunctionESt4pairIKS3_St3mapIPKNS0_17MachineBasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE16_M_insert_uniqueERKSG_", "std::_Rb_tree<llvm::MachineFunction const*, std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > > >::_M_insert_unique(std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm15MachineFunctionESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::MachineFunction const*, std::pair<llvm::MachineFunction const* const, double>, std::_Select1st<std::pair<llvm::MachineFunction const* const, double> >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, double> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::MachineFunction const* const, double> >, std::pair<llvm::MachineFunction const* const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm15MachineFunctionESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::MachineFunction const*, std::pair<llvm::MachineFunction const* const, double>, std::_Select1st<std::pair<llvm::MachineFunction const* const, double> >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, double> > >::_M_insert_unique(std::pair<llvm::MachineFunction const* const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, double>, std::_Select1st<std::pair<llvm::Function const* const, double> >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, double> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Function const* const, double> >, std::pair<llvm::Function const* const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, double>, std::_Select1st<std::pair<llvm::Function const* const, double> >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, double> > >::_M_insert_unique(std::pair<llvm::Function const* const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, double>, std::_Select1st<std::pair<llvm::BasicBlock const* const, double> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::BasicBlock const* const, double> >, std::pair<llvm::BasicBlock const* const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, double>, std::_Select1st<std::pair<llvm::BasicBlock const* const, double> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > >::_M_insert_unique(std::pair<llvm::BasicBlock const* const, double> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE7_M_copyEPKSt13_Rb_tree_nodeIS6_EPSE_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, double>, std::_Select1st<std::pair<llvm::BasicBlock const* const, double> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > >::_M_copy(std::_Rb_tree_node<std::pair<llvm::BasicBlock const* const, double> > const*, std::_Rb_tree_node<std::pair<llvm::BasicBlock const* const, double> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIPKNS0_10BasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISG_ERKSG_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >, std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIPKNS0_10BasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE9_M_insertEPSt18_Rb_tree_node_baseSN_RKSG_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm8FunctionESt4pairIKS3_St3mapIPKNS0_10BasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE16_M_insert_uniqueERKSG_", "std::_Rb_tree<llvm::Function const*, std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > >, std::less<llvm::Function const*>, std::allocator<std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > > >::_M_insert_unique(std::pair<llvm::Function const* const, std::map<llvm::BasicBlock const*, double, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, double> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE16_M_insert_uniqueERKS3_", "std::_Rb_tree<llvm::BasicBlock const*, llvm::BasicBlock const*, std::_Identity<llvm::BasicBlock const*>, std::less<llvm::BasicBlock const*>, std::allocator<llvm::BasicBlock const*> >::_M_insert_unique(llvm::BasicBlock const* const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*>, std::_Select1st<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock const* const, llvm::BasicBlock const*> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm15MachineFunctionESt4pairIKS3_St3mapIS4_IPKNS0_17MachineBasicBlockES9_EdSt4lessISA_ESaIS4_IKSA_dEEEESt10_Select1stISH_ESB_IS3_ESaISH_EE8_M_eraseEPSt13_Rb_tree_nodeISH_E", "std::_Rb_tree<llvm::MachineFunction const*, std::pair<llvm::MachineFunction const* const, std::map<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*>, double, std::less<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> const, double> > > >, std::_Select1st<std::pair<llvm::MachineFunction const* const, std::map<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*>, double, std::less<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> const, double> > > > >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, std::map<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*>, double, std::less<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> const, double> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineFunction const* const, std::map<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*>, double, std::less<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> const, double> > > > >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm17MachineBasicBlockES4_ES0_IKS5_dESt10_Select1stIS7_ESt4lessIS5_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*>, std::pair<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> const, double>, std::_Select1st<std::pair<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> const, double> >, std::less<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> >, std::allocator<std::pair<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> const, double> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*> const, double> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm15MachineFunctionESt4pairIKS3_St3mapIPKNS0_17MachineBasicBlockEdSt4lessIS9_ESaIS4_IKS9_dEEEESt10_Select1stISG_ESA_IS3_ESaISG_EE8_M_eraseEPSt13_Rb_tree_nodeISG_E", "std::_Rb_tree<llvm::MachineFunction const*, std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > >, std::_Select1st<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineFunction const* const, std::map<llvm::MachineBasicBlock const*, double, std::less<llvm::MachineBasicBlock const*>, std::allocator<std::pair<llvm::MachineBasicBlock const* const, double> > > > >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm15MachineFunctionESt4pairIKS3_dESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::MachineFunction const*, std::pair<llvm::MachineFunction const* const, double>, std::_Select1st<std::pair<llvm::MachineFunction const* const, double> >, std::less<llvm::MachineFunction const*>, std::allocator<std::pair<llvm::MachineFunction const* const, double> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::MachineFunction const* const, double> >*)"},
-    {"_ZN4llvm29initializeScalarEvolutionPassERNS_12PassRegistryE", "llvm::initializeScalarEvolutionPass(llvm::PassRegistry&)"},
-    {"_ZNK4llvm4SCEV4dumpEv", "llvm::SCEV::dump() const"},
-    {"_ZNK4llvm4SCEV5printERNS_11raw_ostreamE", "llvm::SCEV::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm4SCEV7getTypeEv", "llvm::SCEV::getType() const"},
-    {"_ZNK4llvm11SCEVUnknown8isSizeOfERPKNS_4TypeE", "llvm::SCEVUnknown::isSizeOf(llvm::Type const*&) const"},
-    {"_ZNK4llvm11SCEVUnknown9isAlignOfERPKNS_4TypeE", "llvm::SCEVUnknown::isAlignOf(llvm::Type const*&) const"},
-    {"_ZNK4llvm11SCEVUnknown10isOffsetOfERPKNS_4TypeERPNS_8ConstantE", "llvm::SCEVUnknown::isOffsetOf(llvm::Type const*&, llvm::Constant*&) const"},
-    {"_ZNK4llvm4SCEV6isZeroEv", "llvm::SCEV::isZero() const"},
-    {"_ZNK4llvm4SCEV5isOneEv", "llvm::SCEV::isOne() const"},
-    {"_ZNK4llvm4SCEV14isAllOnesValueEv", "llvm::SCEV::isAllOnesValue() const"},
-    {"_ZN4llvm19SCEVCouldNotComputeC1Ev", "llvm::SCEVCouldNotCompute::SCEVCouldNotCompute()"},
-    {"_ZN4llvm19SCEVCouldNotComputeC2Ev", "llvm::SCEVCouldNotCompute::SCEVCouldNotCompute()"},
-    {"_ZN4llvm19SCEVCouldNotCompute7classofEPKNS_4SCEVE", "llvm::SCEVCouldNotCompute::classof(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution11getConstantEPNS_11ConstantIntE", "llvm::ScalarEvolution::getConstant(llvm::ConstantInt*)"},
-    {"_ZN4llvm15ScalarEvolution11getConstantERKNS_5APIntE", "llvm::ScalarEvolution::getConstant(llvm::APInt const&)"},
-    {"_ZN4llvm15ScalarEvolution11getConstantEPKNS_4TypeEyb", "llvm::ScalarEvolution::getConstant(llvm::Type const*, unsigned long long, bool)"},
-    {"_ZNK4llvm15ScalarEvolution20getEffectiveSCEVTypeEPKNS_4TypeE", "llvm::ScalarEvolution::getEffectiveSCEVType(llvm::Type const*) const"},
-    {"_ZN4llvm12SCEVCastExprC1ENS_19FoldingSetNodeIDRefEjPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVCastExpr::SCEVCastExpr(llvm::FoldingSetNodeIDRef, unsigned int, llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm12SCEVCastExprC2ENS_19FoldingSetNodeIDRefEjPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVCastExpr::SCEVCastExpr(llvm::FoldingSetNodeIDRef, unsigned int, llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm16SCEVTruncateExprC1ENS_19FoldingSetNodeIDRefEPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVTruncateExpr::SCEVTruncateExpr(llvm::FoldingSetNodeIDRef, llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm16SCEVTruncateExprC2ENS_19FoldingSetNodeIDRefEPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVTruncateExpr::SCEVTruncateExpr(llvm::FoldingSetNodeIDRef, llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm18SCEVZeroExtendExprC1ENS_19FoldingSetNodeIDRefEPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVZeroExtendExpr::SCEVZeroExtendExpr(llvm::FoldingSetNodeIDRef, llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm18SCEVZeroExtendExprC2ENS_19FoldingSetNodeIDRefEPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVZeroExtendExpr::SCEVZeroExtendExpr(llvm::FoldingSetNodeIDRef, llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm18SCEVSignExtendExprC1ENS_19FoldingSetNodeIDRefEPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVSignExtendExpr::SCEVSignExtendExpr(llvm::FoldingSetNodeIDRef, llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm18SCEVSignExtendExprC2ENS_19FoldingSetNodeIDRefEPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVSignExtendExpr::SCEVSignExtendExpr(llvm::FoldingSetNodeIDRef, llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm11SCEVUnknown7deletedEv", "llvm::SCEVUnknown::deleted()"},
-    {"_ZN4llvm15ScalarEvolution21forgetMemoizedResultsEPKNS_4SCEVE", "llvm::ScalarEvolution::forgetMemoizedResults(llvm::SCEV const*)"},
-    {"_ZN4llvm11SCEVUnknown19allUsesReplacedWithEPNS_5ValueE", "llvm::SCEVUnknown::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZNK4llvm14SCEVAddRecExpr19evaluateAtIterationEPKNS_4SCEVERNS_15ScalarEvolutionE", "llvm::SCEVAddRecExpr::evaluateAtIteration(llvm::SCEV const*, llvm::ScalarEvolution&) const"},
-    {"_ZN4llvm15ScalarEvolution15getTruncateExprEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getTruncateExpr(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution23getTruncateOrSignExtendEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getTruncateOrSignExtend(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution23getTruncateOrZeroExtendEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getTruncateOrZeroExtend(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution10getAddExprERNS_15SmallVectorImplIPKNS_4SCEVEEEbb", "llvm::ScalarEvolution::getAddExpr(llvm::SmallVectorImpl<llvm::SCEV const*>&, bool, bool)"},
-    {"_ZN4llvm15ScalarEvolution10getMulExprERNS_15SmallVectorImplIPKNS_4SCEVEEEbb", "llvm::ScalarEvolution::getMulExpr(llvm::SmallVectorImpl<llvm::SCEV const*>&, bool, bool)"},
-    {"_ZN4llvm15ScalarEvolution13getAddRecExprERNS_15SmallVectorImplIPKNS_4SCEVEEEPKNS_4LoopEbb", "llvm::ScalarEvolution::getAddRecExpr(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::Loop const*, bool, bool)"},
-    {"_ZN4llvm15ScalarEvolution7getSCEVEPNS_5ValueE", "llvm::ScalarEvolution::getSCEV(llvm::Value*)"},
-    {"_ZN4llvm15ScalarEvolution17getZeroExtendExprEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getZeroExtendExpr(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution16getUnsignedRangeEPKNS_4SCEVE", "llvm::ScalarEvolution::getUnsignedRange(llvm::SCEV const*)"},
-    {"_ZNK4llvm15ScalarEvolution17getTypeSizeInBitsEPKNS_4TypeE", "llvm::ScalarEvolution::getTypeSizeInBits(llvm::Type const*) const"},
-    {"_ZN4llvm15ScalarEvolution13getAddRecExprEPKNS_4SCEVES3_PKNS_4LoopEbb", "llvm::ScalarEvolution::getAddRecExpr(llvm::SCEV const*, llvm::SCEV const*, llvm::Loop const*, bool, bool)"},
-    {"_ZN4llvm15ScalarEvolution24getMaxBackedgeTakenCountEPKNS_4LoopE", "llvm::ScalarEvolution::getMaxBackedgeTakenCount(llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution17getSignExtendExprEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getSignExtendExpr(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution15isKnownPositiveEPKNS_4SCEVE", "llvm::ScalarEvolution::isKnownPositive(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution27isLoopBackedgeGuardedByCondEPKNS_4LoopENS_7CmpInst9PredicateEPKNS_4SCEVES8_", "llvm::ScalarEvolution::isLoopBackedgeGuardedByCond(llvm::Loop const*, llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution24isLoopEntryGuardedByCondEPKNS_4LoopENS_7CmpInst9PredicateEPKNS_4SCEVES8_", "llvm::ScalarEvolution::isLoopEntryGuardedByCond(llvm::Loop const*, llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution15isKnownNegativeEPKNS_4SCEVE", "llvm::ScalarEvolution::isKnownNegative(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution14getSignedRangeEPKNS_4SCEVE", "llvm::ScalarEvolution::getSignedRange(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution18isKnownNonNegativeEPKNS_4SCEVE", "llvm::ScalarEvolution::isKnownNonNegative(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution16getAnyExtendExprEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getAnyExtendExpr(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution17getTruncateOrNoopEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getTruncateOrNoop(llvm::SCEV const*, llvm::Type const*)"},
-    {"_Z17GroupByComplexityRN4llvm15SmallVectorImplIPKNS_4SCEVEEEPNS_8LoopInfoE", "GroupByComplexity(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::LoopInfo*)"},
-    {"_Z28CollectAddOperandsWithScalesRN4llvm8DenseMapIPKNS_4SCEVENS_5APIntENS_12DenseMapInfoIS3_EENS5_IS4_EEEERNS_11SmallVectorIS3_Lj8EEERS4_PKS3_mRKS4_RNS_15ScalarEvolutionE", "CollectAddOperandsWithScales(llvm::DenseMap<llvm::SCEV const*, llvm::APInt, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::APInt> >&, llvm::SmallVector<llvm::SCEV const*, 8u>&, llvm::APInt&, llvm::SCEV const* const*, unsigned long, llvm::APInt const&, llvm::ScalarEvolution&)"},
-    {"_ZN4llvm15ScalarEvolution15isLoopInvariantEPKNS_4SCEVEPKNS_4LoopE", "llvm::ScalarEvolution::isLoopInvariant(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution11getUDivExprEPKNS_4SCEVES3_", "llvm::ScalarEvolution::getUDivExpr(llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution11getSMaxExprEPKNS_4SCEVES3_", "llvm::ScalarEvolution::getSMaxExpr(llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution11getSMaxExprERNS_15SmallVectorImplIPKNS_4SCEVEEE", "llvm::ScalarEvolution::getSMaxExpr(llvm::SmallVectorImpl<llvm::SCEV const*>&)"},
-    {"_ZN4llvm15ScalarEvolution16isKnownPredicateENS_7CmpInst9PredicateEPKNS_4SCEVES5_", "llvm::ScalarEvolution::isKnownPredicate(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution11getUMaxExprEPKNS_4SCEVES3_", "llvm::ScalarEvolution::getUMaxExpr(llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution11getUMaxExprERNS_15SmallVectorImplIPKNS_4SCEVEEE", "llvm::ScalarEvolution::getUMaxExpr(llvm::SmallVectorImpl<llvm::SCEV const*>&)"},
-    {"_ZN4llvm15ScalarEvolution11getSMinExprEPKNS_4SCEVES3_", "llvm::ScalarEvolution::getSMinExpr(llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution10getNotSCEVEPKNS_4SCEVE", "llvm::ScalarEvolution::getNotSCEV(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution11getUMinExprEPKNS_4SCEVES3_", "llvm::ScalarEvolution::getUMinExpr(llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution13getSizeOfExprEPKNS_4TypeE", "llvm::ScalarEvolution::getSizeOfExpr(llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution14getAlignOfExprEPKNS_4TypeE", "llvm::ScalarEvolution::getAlignOfExpr(llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution15getOffsetOfExprEPKNS_10StructTypeEj", "llvm::ScalarEvolution::getOffsetOfExpr(llvm::StructType const*, unsigned int)"},
-    {"_ZN4llvm15ScalarEvolution15getOffsetOfExprEPKNS_4TypeEPNS_8ConstantE", "llvm::ScalarEvolution::getOffsetOfExpr(llvm::Type const*, llvm::Constant*)"},
-    {"_ZN4llvm15ScalarEvolution10getUnknownEPNS_5ValueE", "llvm::ScalarEvolution::getUnknown(llvm::Value*)"},
-    {"_ZNK4llvm15ScalarEvolution10isSCEVableEPKNS_4TypeE", "llvm::ScalarEvolution::isSCEVable(llvm::Type const*) const"},
-    {"_ZN4llvm15ScalarEvolution18getCouldNotComputeEv", "llvm::ScalarEvolution::getCouldNotCompute()"},
-    {"_ZN4llvm15ScalarEvolution14SCEVCallbackVHC1EPNS_5ValueEPS0_", "llvm::ScalarEvolution::SCEVCallbackVH::SCEVCallbackVH(llvm::Value*, llvm::ScalarEvolution*)"},
-    {"_ZN4llvm15ScalarEvolution10createSCEVEPNS_5ValueE", "llvm::ScalarEvolution::createSCEV(llvm::Value*)"},
-    {"_ZN4llvm15ScalarEvolution15getNegativeSCEVEPKNS_4SCEVE", "llvm::ScalarEvolution::getNegativeSCEV(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution12getMinusSCEVEPKNS_4SCEVES3_bb", "llvm::ScalarEvolution::getMinusSCEV(llvm::SCEV const*, llvm::SCEV const*, bool, bool)"},
-    {"_ZN4llvm15ScalarEvolution19getNoopOrZeroExtendEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getNoopOrZeroExtend(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution19getNoopOrSignExtendEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getNoopOrSignExtend(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution18getNoopOrAnyExtendEPKNS_4SCEVEPKNS_4TypeE", "llvm::ScalarEvolution::getNoopOrAnyExtend(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm15ScalarEvolution26getUMaxFromMismatchedTypesEPKNS_4SCEVES3_", "llvm::ScalarEvolution::getUMaxFromMismatchedTypes(llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution26getUMinFromMismatchedTypesEPKNS_4SCEVES3_", "llvm::ScalarEvolution::getUMinFromMismatchedTypes(llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution18ForgetSymbolicNameEPNS_11InstructionEPKNS_4SCEVE", "llvm::ScalarEvolution::ForgetSymbolicName(llvm::Instruction*, llvm::SCEV const*)"},
-    {"_ZNK4llvm15ScalarEvolution10hasOperandEPKNS_4SCEVES3_", "llvm::ScalarEvolution::hasOperand(llvm::SCEV const*, llvm::SCEV const*) const"},
-    {"_ZN4llvm15ScalarEvolution16createNodeForPHIEPNS_7PHINodeE", "llvm::ScalarEvolution::createNodeForPHI(llvm::PHINode*)"},
-    {"_ZN4llvm15ScalarEvolution16createNodeForGEPEPNS_11GEPOperatorE", "llvm::ScalarEvolution::createNodeForGEP(llvm::GEPOperator*)"},
-    {"_ZN4llvm15ScalarEvolution19GetMinTrailingZerosEPKNS_4SCEVE", "llvm::ScalarEvolution::GetMinTrailingZeros(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution18isKnownNonPositiveEPKNS_4SCEVE", "llvm::ScalarEvolution::isKnownNonPositive(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution21getBackedgeTakenCountEPKNS_4LoopE", "llvm::ScalarEvolution::getBackedgeTakenCount(llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution20getBackedgeTakenInfoEPKNS_4LoopE", "llvm::ScalarEvolution::getBackedgeTakenInfo(llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution25ComputeBackedgeTakenCountEPKNS_4LoopE", "llvm::ScalarEvolution::ComputeBackedgeTakenCount(llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution10forgetLoopEPKNS_4LoopE", "llvm::ScalarEvolution::forgetLoop(llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution11forgetValueEPNS_5ValueE", "llvm::ScalarEvolution::forgetValue(llvm::Value*)"},
-    {"_ZN4llvm15ScalarEvolution33ComputeBackedgeTakenCountFromExitEPKNS_4LoopEPNS_10BasicBlockE", "llvm::ScalarEvolution::ComputeBackedgeTakenCountFromExit(llvm::Loop const*, llvm::BasicBlock*)"},
-    {"_ZN4llvm15ScalarEvolution37ComputeBackedgeTakenCountFromExitCondEPKNS_4LoopEPNS_5ValueEPNS_10BasicBlockES7_", "llvm::ScalarEvolution::ComputeBackedgeTakenCountFromExitCond(llvm::Loop const*, llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm15ScalarEvolution41ComputeBackedgeTakenCountFromExitCondICmpEPKNS_4LoopEPNS_8ICmpInstEPNS_10BasicBlockES7_", "llvm::ScalarEvolution::ComputeBackedgeTakenCountFromExitCondICmp(llvm::Loop const*, llvm::ICmpInst*, llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm15ScalarEvolution37ComputeBackedgeTakenCountExhaustivelyEPKNS_4LoopEPNS_5ValueEb", "llvm::ScalarEvolution::ComputeBackedgeTakenCountExhaustively(llvm::Loop const*, llvm::Value*, bool)"},
-    {"_ZN4llvm15ScalarEvolution44ComputeLoadConstantCompareBackedgeTakenCountEPNS_8LoadInstEPNS_8ConstantEPKNS_4LoopENS_7CmpInst9PredicateE", "llvm::ScalarEvolution::ComputeLoadConstantCompareBackedgeTakenCount(llvm::LoadInst*, llvm::Constant*, llvm::Loop const*, llvm::CmpInst::Predicate)"},
-    {"_ZN4llvm15ScalarEvolution14getSCEVAtScopeEPKNS_4SCEVEPKNS_4LoopE", "llvm::ScalarEvolution::getSCEVAtScope(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution20SimplifyICmpOperandsERNS_7CmpInst9PredicateERPKNS_4SCEVES7_", "llvm::ScalarEvolution::SimplifyICmpOperands(llvm::CmpInst::Predicate&, llvm::SCEV const*&, llvm::SCEV const*&)"},
-    {"_ZNK4llvm14SCEVAddRecExpr23getNumIterationsInRangeENS_13ConstantRangeERNS_15ScalarEvolutionE", "llvm::SCEVAddRecExpr::getNumIterationsInRange(llvm::ConstantRange, llvm::ScalarEvolution&) const"},
-    {"_ZN4llvm15ScalarEvolution12HowFarToZeroEPKNS_4SCEVEPKNS_4LoopE", "llvm::ScalarEvolution::HowFarToZero(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution15HowFarToNonZeroEPKNS_4SCEVEPKNS_4LoopE", "llvm::ScalarEvolution::HowFarToNonZero(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution16HowManyLessThansEPKNS_4SCEVES3_PKNS_4LoopEb", "llvm::ScalarEvolution::HowManyLessThans(llvm::SCEV const*, llvm::SCEV const*, llvm::Loop const*, bool)"},
-    {"_ZN4llvm15ScalarEvolution33getConstantEvolutionLoopExitValueEPNS_7PHINodeERKNS_5APIntEPKNS_4LoopE", "llvm::ScalarEvolution::getConstantEvolutionLoopExitValue(llvm::PHINode*, llvm::APInt const&, llvm::Loop const*)"},
-    {"_Z22getConstantEvolvingPHIPN4llvm5ValueEPKNS_4LoopE", "getConstantEvolvingPHI(llvm::Value*, llvm::Loop const*)"},
-    {"_Z18EvaluateExpressionPN4llvm5ValueEPNS_8ConstantEPKNS_10DataLayoutE", "EvaluateExpression(llvm::Value*, llvm::Constant*, llvm::DataLayout const*)"},
-    {"_ZN4llvm15ScalarEvolution18computeSCEVAtScopeEPKNS_4SCEVEPKNS_4LoopE", "llvm::ScalarEvolution::computeSCEVAtScope(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution14getSCEVAtScopeEPNS_5ValueEPKNS_4LoopE", "llvm::ScalarEvolution::getSCEVAtScope(llvm::Value*, llvm::Loop const*)"},
-    {"_Z22SolveQuadraticEquationPKN4llvm14SCEVAddRecExprERNS_15ScalarEvolutionE", "SolveQuadraticEquation(llvm::SCEVAddRecExpr const*, llvm::ScalarEvolution&)"},
-    {"_ZN4llvm15ScalarEvolution38getPredecessorWithUniqueSuccessorForBBEPNS_10BasicBlockE", "llvm::ScalarEvolution::getPredecessorWithUniqueSuccessorForBB(llvm::BasicBlock*)"},
-    {"_ZN4llvm15ScalarEvolution17properlyDominatesEPKNS_4SCEVEPKNS_10BasicBlockE", "llvm::ScalarEvolution::properlyDominates(llvm::SCEV const*, llvm::BasicBlock const*)"},
-    {"_Z12HasSameValuePKN4llvm4SCEVES2_", "HasSameValue(llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution14isKnownNonZeroEPKNS_4SCEVE", "llvm::ScalarEvolution::isKnownNonZero(llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution26isKnownPredicateWithRangesENS_7CmpInst9PredicateEPKNS_4SCEVES5_", "llvm::ScalarEvolution::isKnownPredicateWithRanges(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution13isImpliedCondENS_7CmpInst9PredicateEPKNS_4SCEVES5_PNS_5ValueEb", "llvm::ScalarEvolution::isImpliedCond(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*, llvm::Value*, bool)"},
-    {"_ZN4llvm15ScalarEvolution21isImpliedCondOperandsENS_7CmpInst9PredicateEPKNS_4SCEVES5_S5_S5_", "llvm::ScalarEvolution::isImpliedCondOperands(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution27isImpliedCondOperandsHelperENS_7CmpInst9PredicateEPKNS_4SCEVES5_S5_S5_", "llvm::ScalarEvolution::isImpliedCondOperandsHelper(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV const*)"},
-    {"_ZN4llvm15ScalarEvolution10getBECountEPKNS_4SCEVES3_S3_b", "llvm::ScalarEvolution::getBECount(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV const*, bool)"},
-    {"_ZN4llvm15ScalarEvolution14SCEVCallbackVH7deletedEv", "llvm::ScalarEvolution::SCEVCallbackVH::deleted()"},
-    {"_ZN4llvm15ScalarEvolution14SCEVCallbackVH19allUsesReplacedWithEPNS_5ValueE", "llvm::ScalarEvolution::SCEVCallbackVH::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZN4llvm15ScalarEvolution14SCEVCallbackVHC2EPNS_5ValueEPS0_", "llvm::ScalarEvolution::SCEVCallbackVH::SCEVCallbackVH(llvm::Value*, llvm::ScalarEvolution*)"},
-    {"_ZN4llvm15ScalarEvolutionC1Ev", "llvm::ScalarEvolution::ScalarEvolution()"},
-    {"_ZN4llvm15ScalarEvolutionC2Ev", "llvm::ScalarEvolution::ScalarEvolution()"},
-    {"_ZN4llvm15ScalarEvolution13runOnFunctionERNS_8FunctionE", "llvm::ScalarEvolution::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm15ScalarEvolution13releaseMemoryEv", "llvm::ScalarEvolution::releaseMemory()"},
-    {"_ZNK4llvm15ScalarEvolution16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::ScalarEvolution::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm15ScalarEvolution34hasLoopInvariantBackedgeTakenCountEPKNS_4LoopE", "llvm::ScalarEvolution::hasLoopInvariantBackedgeTakenCount(llvm::Loop const*)"},
-    {"_ZNK4llvm15ScalarEvolution5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::ScalarEvolution::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_Z13PrintLoopInfoRN4llvm11raw_ostreamEPNS_15ScalarEvolutionEPKNS_4LoopE", "PrintLoopInfo(llvm::raw_ostream&, llvm::ScalarEvolution*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution18getLoopDispositionEPKNS_4SCEVEPKNS_4LoopE", "llvm::ScalarEvolution::getLoopDisposition(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution22computeLoopDispositionEPKNS_4SCEVEPKNS_4LoopE", "llvm::ScalarEvolution::computeLoopDisposition(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution26hasComputableLoopEvolutionEPKNS_4SCEVEPKNS_4LoopE", "llvm::ScalarEvolution::hasComputableLoopEvolution(llvm::SCEV const*, llvm::Loop const*)"},
-    {"_ZN4llvm15ScalarEvolution19getBlockDispositionEPKNS_4SCEVEPKNS_10BasicBlockE", "llvm::ScalarEvolution::getBlockDisposition(llvm::SCEV const*, llvm::BasicBlock const*)"},
-    {"_ZN4llvm15ScalarEvolution23computeBlockDispositionEPKNS_4SCEVEPKNS_10BasicBlockE", "llvm::ScalarEvolution::computeBlockDisposition(llvm::SCEV const*, llvm::BasicBlock const*)"},
-    {"_ZN4llvm15ScalarEvolution9dominatesEPKNS_4SCEVEPKNS_10BasicBlockE", "llvm::ScalarEvolution::dominates(llvm::SCEV const*, llvm::BasicBlock const*)"},
-    {"_ZNSt8_Rb_treeIN4llvm5APIntESt4pairIKS1_NS0_11SmallVectorIPKNS0_4SCEVELj4EEEESt10_Select1stIS9_EN12_GLOBAL__N_112APIntCompareESaIS9_EE9_M_insertEPSt18_Rb_tree_node_baseSH_RKS9_", "std::_Rb_tree<llvm::APInt, std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> >, std::_Select1st<std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > >, (anonymous namespace)::APIntCompare, std::allocator<std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm5APIntESt4pairIKS1_NS0_11SmallVectorIPKNS0_4SCEVELj4EEEESt10_Select1stIS9_EN12_GLOBAL__N_112APIntCompareESaIS9_EE16_M_insert_uniqueERKS9_", "std::_Rb_tree<llvm::APInt, std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> >, std::_Select1st<std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > >, (anonymous namespace)::APIntCompare, std::allocator<std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > > >::_M_insert_unique(std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm5APIntESt4pairIKS1_NS0_11SmallVectorIPKNS0_4SCEVELj4EEEESt10_Select1stIS9_EN12_GLOBAL__N_112APIntCompareESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E", "std::_Rb_tree<llvm::APInt, std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> >, std::_Select1st<std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > >, (anonymous namespace)::APIntCompare, std::allocator<std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::APInt const, llvm::SmallVector<llvm::SCEV const*, 4u> > >*)"},
-    {"_ZSt21__inplace_stable_sortIPPKN4llvm4SCEVEN12_GLOBAL__N_121SCEVComplexityCompareEEvT_S7_T0_", "void std::__inplace_stable_sort<llvm::SCEV const**, (anonymous namespace)::SCEVComplexityCompare>(llvm::SCEV const**, llvm::SCEV const**, (anonymous namespace)::SCEVComplexityCompare)"},
-    {"_ZSt22__stable_sort_adaptiveIPPKN4llvm4SCEVES4_lN12_GLOBAL__N_121SCEVComplexityCompareEEvT_S7_T0_T1_T2_", "void std::__stable_sort_adaptive<llvm::SCEV const**, llvm::SCEV const**, long, (anonymous namespace)::SCEVComplexityCompare>(llvm::SCEV const**, llvm::SCEV const**, llvm::SCEV const**, long, (anonymous namespace)::SCEVComplexityCompare)"},
-    {"_ZSt24__merge_sort_with_bufferIPPKN4llvm4SCEVES4_N12_GLOBAL__N_121SCEVComplexityCompareEEvT_S7_T0_T1_", "void std::__merge_sort_with_buffer<llvm::SCEV const**, llvm::SCEV const**, (anonymous namespace)::SCEVComplexityCompare>(llvm::SCEV const**, llvm::SCEV const**, llvm::SCEV const**, (anonymous namespace)::SCEVComplexityCompare)"},
-    {"_ZSt16__merge_adaptiveIPPKN4llvm4SCEVElS4_N12_GLOBAL__N_121SCEVComplexityCompareEEvT_S7_S7_T0_S8_T1_S8_T2_", "void std::__merge_adaptive<llvm::SCEV const**, long, llvm::SCEV const**, (anonymous namespace)::SCEVComplexityCompare>(llvm::SCEV const**, llvm::SCEV const**, llvm::SCEV const**, long, long, llvm::SCEV const**, long, (anonymous namespace)::SCEVComplexityCompare)"},
-    {"_ZSt16__insertion_sortIPPKN4llvm4SCEVEN12_GLOBAL__N_121SCEVComplexityCompareEEvT_S7_T0_", "void std::__insertion_sort<llvm::SCEV const**, (anonymous namespace)::SCEVComplexityCompare>(llvm::SCEV const**, llvm::SCEV const**, (anonymous namespace)::SCEVComplexityCompare)"},
-    {"_ZSt22__merge_without_bufferIPPKN4llvm4SCEVElN12_GLOBAL__N_121SCEVComplexityCompareEEvT_S7_S7_T0_S8_T1_", "void std::__merge_without_buffer<llvm::SCEV const**, long, (anonymous namespace)::SCEVComplexityCompare>(llvm::SCEV const**, llvm::SCEV const**, llvm::SCEV const**, long, long, (anonymous namespace)::SCEVComplexityCompare)"},
-    {"_ZNK12_GLOBAL__N_121SCEVComplexityCompare7compareEPKN4llvm4SCEVES4_", "(anonymous namespace)::SCEVComplexityCompare::compare(llvm::SCEV const*, llvm::SCEV const*) const"},
-    {"_ZN4llvm15ScalarEvolution10getAddExprEPKNS_4SCEVES3_S3_bb", "llvm::ScalarEvolution::getAddExpr(llvm::SCEV const*, llvm::SCEV const*, llvm::SCEV const*, bool, bool)"},
-    {"_ZNK4llvm11ConstantInt10isMaxValueEb", "llvm::ConstantInt::isMaxValue(bool) const"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE4findERKS2_", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::find(llvm::ScalarEvolution::SCEVCallbackVH const&)"},
-    {"_ZN4llvm15ScalarEvolution14SCEVCallbackVHD1Ev", "llvm::ScalarEvolution::SCEVCallbackVH::~SCEVCallbackVH()"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE6insertERKSt4pairIS2_S5_E", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::insert(std::pair<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*> const&)"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE5eraseENS_16DenseMapIteratorIS2_S5_S9_SA_Lb0EEE", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::erase(llvm::DenseMapIterator<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*>, false>)"},
-    {"_ZN4llvm8LoopInfo29replacementPreservesLCSSAFormEPNS_11InstructionEPNS_5ValueE", "llvm::LoopInfo::replacementPreservesLCSSAForm(llvm::Instruction*, llvm::Value*)"},
-    {"_ZN4llvm15ScalarEvolution16setUnsignedRangeEPKNS_4SCEVERKNS_13ConstantRangeE", "llvm::ScalarEvolution::setUnsignedRange(llvm::SCEV const*, llvm::ConstantRange const&)"},
-    {"_ZN4llvm15ScalarEvolution14setSignedRangeEPKNS_4SCEVERKNS_13ConstantRangeE", "llvm::ScalarEvolution::setSignedRange(llvm::SCEV const*, llvm::ConstantRange const&)"},
-    {"_ZNK4llvm5APInt3ugtEy", "llvm::APInt::ugt(unsigned long long) const"},
-    {"_ZNSt3mapIPKN4llvm4SCEVES_IPKNS0_4LoopES3_St4lessIS6_ESaISt4pairIKS6_S3_EEES7_IS3_ESaIS9_IKS3_SD_EEEixERSF_", "std::map<llvm::SCEV const*, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > > >::operator[](llvm::SCEV const* const&)"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE5eraseERKS2_", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::erase(llvm::ScalarEvolution::SCEVCallbackVH const&)"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE5clearEv", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_13ConstantRangeENS_12DenseMapInfoIS3_EENS5_IS4_EEE5clearEv", "llvm::DenseMap<llvm::SCEV const*, llvm::ConstantRange, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::ConstantRange> >::clear()"},
-    {"_ZNSt3mapIPKN4llvm4SCEVES_IPKNS0_4LoopENS0_15ScalarEvolution15LoopDispositionESt4lessIS6_ESaISt4pairIKS6_S8_EEES9_IS3_ESaISB_IKS3_SF_EEEixERSH_", "std::map<llvm::SCEV const*, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > > >::operator[](llvm::SCEV const* const&)"},
-    {"_ZNSt3mapIPKN4llvm4SCEVES_IPKNS0_10BasicBlockENS0_15ScalarEvolution16BlockDispositionESt4lessIS6_ESaISt4pairIKS6_S8_EEES9_IS3_ESaISB_IKS3_SF_EEEixERSH_", "std::map<llvm::SCEV const*, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > > >::operator[](llvm::SCEV const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_13ConstantRangeENS_12DenseMapInfoIS3_EENS5_IS4_EEE5eraseERKS3_", "llvm::DenseMap<llvm::SCEV const*, llvm::ConstantRange, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::ConstantRange> >::erase(llvm::SCEV const* const&)"},
-    {"_ZN4llvm11SCEVUnknownD1Ev", "llvm::SCEVUnknown::~SCEVUnknown()"},
-    {"_ZN4llvm11SCEVUnknownD0Ev", "llvm::SCEVUnknown::~SCEVUnknown()"},
-    {"_ZN4llvm15ScalarEvolution14SCEVCallbackVHD0Ev", "llvm::ScalarEvolution::SCEVCallbackVH::~SCEVCallbackVH()"},
-    {"_ZN4llvm15ScalarEvolutionD1Ev", "llvm::ScalarEvolution::~ScalarEvolution()"},
-    {"_ZN4llvm15ScalarEvolutionD0Ev", "llvm::ScalarEvolution::~ScalarEvolution()"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_10BasicBlockENS0_15ScalarEvolution16BlockDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE5eraseESt17_Rb_tree_iteratorISI_ESP_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >, std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_NS0_15ScalarEvolution16BlockDispositionEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition>, std::_Select1st<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_10BasicBlockENS0_15ScalarEvolution16BlockDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE8_M_eraseEPSt13_Rb_tree_nodeISI_E", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopENS0_15ScalarEvolution15LoopDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE5eraseESt17_Rb_tree_iteratorISI_ESP_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >, std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_NS0_15ScalarEvolution15LoopDispositionEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopENS0_15ScalarEvolution15LoopDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE8_M_eraseEPSt13_Rb_tree_nodeISI_E", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopES3_St4lessIS9_ESaIS4_IKS9_S3_EEEESt10_Select1stISG_ESA_IS3_ESaISG_EE5eraseESt17_Rb_tree_iteratorISG_ESN_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >, std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_PKNS0_4SCEVEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::SCEV const*>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::SCEV const*> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Loop const* const, llvm::SCEV const*> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopES3_St4lessIS9_ESaIS4_IKS9_S3_EEEESt10_Select1stISG_ESA_IS3_ESaISG_EE8_M_eraseEPSt13_Rb_tree_nodeISG_E", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_NS0_15ScalarEvolution16BlockDispositionEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition>, std::_Select1st<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> >, std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_NS0_15ScalarEvolution16BlockDispositionEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition>, std::_Select1st<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > >::_M_insert_unique(std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm10BasicBlockESt4pairIKS3_NS0_15ScalarEvolution16BlockDispositionEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE7_M_copyEPKSt13_Rb_tree_nodeIS8_EPSG_", "std::_Rb_tree<llvm::BasicBlock const*, std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition>, std::_Select1st<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> >, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > >::_M_copy(std::_Rb_tree_node<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > const*, std::_Rb_tree_node<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_10BasicBlockENS0_15ScalarEvolution16BlockDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISI_ERKSI_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >, std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_10BasicBlockENS0_15ScalarEvolution16BlockDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE9_M_insertEPSt18_Rb_tree_node_baseSP_RKSI_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_10BasicBlockENS0_15ScalarEvolution16BlockDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE16_M_insert_uniqueERKSI_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > > >::_M_insert_unique(std::pair<llvm::SCEV const* const, std::map<llvm::BasicBlock const*, llvm::ScalarEvolution::BlockDisposition, std::less<llvm::BasicBlock const*>, std::allocator<std::pair<llvm::BasicBlock const* const, llvm::ScalarEvolution::BlockDisposition> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_NS0_15ScalarEvolution15LoopDispositionEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS8_ERKS8_", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> >, std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_NS0_15ScalarEvolution15LoopDispositionEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > >::_M_insert_unique(std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_NS0_15ScalarEvolution15LoopDispositionEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE7_M_copyEPKSt13_Rb_tree_nodeIS8_EPSG_", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > >::_M_copy(std::_Rb_tree_node<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > const*, std::_Rb_tree_node<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopENS0_15ScalarEvolution15LoopDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISI_ERKSI_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopENS0_15ScalarEvolution15LoopDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE9_M_insertEPSt18_Rb_tree_node_baseSP_RKSI_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopENS0_15ScalarEvolution15LoopDispositionESt4lessIS9_ESaIS4_IKS9_SB_EEEESt10_Select1stISI_ESC_IS3_ESaISI_EE16_M_insert_uniqueERKSI_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > > >::_M_insert_unique(std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::ScalarEvolution::LoopDisposition, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::LoopDisposition> > > > const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_13ConstantRangeENS_12DenseMapInfoIS3_EENS5_IS4_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::SCEV const*, llvm::ConstantRange, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::ConstantRange> >::shrink_and_clear()"},
-    {"_ZNSt8_Rb_treeIPN4llvm7PHINodeESt4pairIKS2_PNS0_8ConstantEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<llvm::PHINode*, std::pair<llvm::PHINode* const, llvm::Constant*>, std::_Select1st<std::pair<llvm::PHINode* const, llvm::Constant*> >, std::less<llvm::PHINode*>, std::allocator<std::pair<llvm::PHINode* const, llvm::Constant*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::PHINode* const, llvm::Constant*> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_NS0_15ScalarEvolution17BackedgeTakenInfoEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> >*)"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::shrink_and_clear()"},
-    {"_ZN4llvm10FoldingSetINS_4SCEVEED1Ev", "llvm::FoldingSet<llvm::SCEV>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetINS_4SCEVEED0Ev", "llvm::FoldingSet<llvm::SCEV>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_4SCEVEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::SCEV>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_4SCEVEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS6_", "llvm::FoldingSet<llvm::SCEV>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_4SCEVEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::SCEV>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE4initEj", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::init(unsigned int)"},
-    {"_ZNK4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE15LookupBucketForERKS2_RPSt4pairIS2_S5_E", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::LookupBucketFor(llvm::ScalarEvolution::SCEVCallbackVH const&, std::pair<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*>*&) const"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_PKNS0_4SCEVEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS9_ERKS9_", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::SCEV const*>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::SCEV const*> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Loop const* const, llvm::SCEV const*> >, std::pair<llvm::Loop const* const, llvm::SCEV const*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_PKNS0_4SCEVEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE16_M_insert_uniqueERKS9_", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::SCEV const*>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::SCEV const*> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > >::_M_insert_unique(std::pair<llvm::Loop const* const, llvm::SCEV const*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_PKNS0_4SCEVEESt10_Select1stIS9_ESt4lessIS3_ESaIS9_EE7_M_copyEPKSt13_Rb_tree_nodeIS9_EPSH_", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::SCEV const*>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::SCEV const*> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > >::_M_copy(std::_Rb_tree_node<std::pair<llvm::Loop const* const, llvm::SCEV const*> > const*, std::_Rb_tree_node<std::pair<llvm::Loop const* const, llvm::SCEV const*> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopES3_St4lessIS9_ESaIS4_IKS9_S3_EEEESt10_Select1stISG_ESA_IS3_ESaISG_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISG_ERKSG_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopES3_St4lessIS9_ESaIS4_IKS9_S3_EEEESt10_Select1stISG_ESA_IS3_ESaISG_EE9_M_insertEPSt18_Rb_tree_node_baseSN_RKSG_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4SCEVESt4pairIKS3_St3mapIPKNS0_4LoopES3_St4lessIS9_ESaIS4_IKS9_S3_EEEESt10_Select1stISG_ESA_IS3_ESaISG_EE16_M_insert_uniqueERKSG_", "std::_Rb_tree<llvm::SCEV const*, std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > >, std::_Select1st<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > >, std::less<llvm::SCEV const*>, std::allocator<std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > > >::_M_insert_unique(std::pair<llvm::SCEV const* const, std::map<llvm::Loop const*, llvm::SCEV const*, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::SCEV const*> > > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm7PHINodeESt4pairIKS2_PNS0_8ConstantEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<llvm::PHINode*, std::pair<llvm::PHINode* const, llvm::Constant*>, std::_Select1st<std::pair<llvm::PHINode* const, llvm::Constant*> >, std::less<llvm::PHINode*>, std::allocator<std::pair<llvm::PHINode* const, llvm::Constant*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::PHINode* const, llvm::Constant*> >, std::pair<llvm::PHINode* const, llvm::Constant*> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm7PHINodeESt4pairIKS2_PNS0_8ConstantEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<llvm::PHINode*, std::pair<llvm::PHINode* const, llvm::Constant*>, std::_Select1st<std::pair<llvm::PHINode* const, llvm::Constant*> >, std::less<llvm::PHINode*>, std::allocator<std::pair<llvm::PHINode* const, llvm::Constant*> > >::_M_insert_unique(std::pair<llvm::PHINode* const, llvm::Constant*> const&)"},
-    {"_ZNSt6vectorIPN4llvm11ConstantIntESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::ConstantInt*, std::allocator<llvm::ConstantInt*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::ConstantInt**, std::vector<llvm::ConstantInt*, std::allocator<llvm::ConstantInt*> > >, llvm::ConstantInt* const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_NS0_15ScalarEvolution17BackedgeTakenInfoEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE5eraseESt17_Rb_tree_iteratorIS8_ESG_", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> >, std::_Rb_tree_iterator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> >)"},
-    {"_ZNSt8_Rb_treeIPN4llvm7PHINodeESt4pairIKS2_PNS0_8ConstantEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE5eraseESt17_Rb_tree_iteratorIS7_ESF_", "std::_Rb_tree<llvm::PHINode*, std::pair<llvm::PHINode* const, llvm::Constant*>, std::_Select1st<std::pair<llvm::PHINode* const, llvm::Constant*> >, std::less<llvm::PHINode*>, std::allocator<std::pair<llvm::PHINode* const, llvm::Constant*> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::PHINode* const, llvm::Constant*> >, std::_Rb_tree_iterator<std::pair<llvm::PHINode* const, llvm::Constant*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4LoopESt4pairIKS3_NS0_15ScalarEvolution17BackedgeTakenInfoEESt10_Select1stIS8_ESt4lessIS3_ESaIS8_EE16_M_insert_uniqueERKS8_", "std::_Rb_tree<llvm::Loop const*, std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo>, std::_Select1st<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> >, std::less<llvm::Loop const*>, std::allocator<std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> > >::_M_insert_unique(std::pair<llvm::Loop const* const, llvm::ScalarEvolution::BackedgeTakenInfo> const&)"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::InsertIntoBucket(llvm::ScalarEvolution::SCEVCallbackVH const&, llvm::SCEV const* const&, std::pair<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*>*)"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapINS_15ScalarEvolution14SCEVCallbackVHEPKNS_4SCEVENS_12DenseMapInfoIPNS_5ValueEEENS6_IS5_EEED2Ev", "llvm::DenseMap<llvm::ScalarEvolution::SCEVCallbackVH, llvm::SCEV const*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::SCEV const*> >::~DenseMap()"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_13ConstantRangeENS_12DenseMapInfoIS3_EENS5_IS4_EEED2Ev", "llvm::DenseMap<llvm::SCEV const*, llvm::ConstantRange, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::ConstantRange> >::~DenseMap()"},
-    {"_ZNK4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE13getExitBlocksERNS_15SmallVectorImplIPS1_EE", "llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getExitBlocks(llvm::SmallVectorImpl<llvm::BasicBlock*>&) const"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_13ConstantRangeENS_12DenseMapInfoIS3_EENS5_IS4_EEE6insertERKSt4pairIS3_S4_E", "llvm::DenseMap<llvm::SCEV const*, llvm::ConstantRange, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::ConstantRange> >::insert(std::pair<llvm::SCEV const*, llvm::ConstantRange> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_13ConstantRangeENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<llvm::SCEV const*, llvm::ConstantRange, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::ConstantRange> >::InsertIntoBucket(llvm::SCEV const* const&, llvm::ConstantRange const&, std::pair<llvm::SCEV const*, llvm::ConstantRange>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_13ConstantRangeENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::SCEV const*, llvm::ConstantRange, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::ConstantRange> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_5APIntENS_12DenseMapInfoIS3_EENS5_IS4_EEE6insertERKSt4pairIS3_S4_E", "llvm::DenseMap<llvm::SCEV const*, llvm::APInt, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::APInt> >::insert(std::pair<llvm::SCEV const*, llvm::APInt> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_5APIntENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<llvm::SCEV const*, llvm::APInt, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::APInt> >::InsertIntoBucket(llvm::SCEV const* const&, llvm::APInt const&, std::pair<llvm::SCEV const*, llvm::APInt>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVENS_5APIntENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::SCEV const*, llvm::APInt, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::APInt> >::grow(unsigned int)"},
-    {"_ZSt8__rotateIPPKN4llvm4SCEVEEvT_S5_S5_St26random_access_iterator_tag", "void std::__rotate<llvm::SCEV const**>(llvm::SCEV const**, llvm::SCEV const**, llvm::SCEV const**, std::random_access_iterator_tag)"},
-    {"_ZN4llvm15callDefaultCtorINS_15ScalarEvolutionEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::ScalarEvolution>()"},
-    {"_ZN4llvm12SCEVExpander17ReuseOrCreateCastEPNS_5ValueEPKNS_4TypeENS_11Instruction7CastOpsENS_14ilist_iteratorIS6_EE", "llvm::SCEVExpander::ReuseOrCreateCast(llvm::Value*, llvm::Type const*, llvm::Instruction::CastOps, llvm::ilist_iterator<llvm::Instruction>)"},
-    {"_ZN4llvm12SCEVExpander19rememberInstructionEPNS_5ValueE", "llvm::SCEVExpander::rememberInstruction(llvm::Value*)"},
-    {"_ZN4llvm12SCEVExpander18InsertNoopCastOfToEPNS_5ValueEPKNS_4TypeE", "llvm::SCEVExpander::InsertNoopCastOfTo(llvm::Value*, llvm::Type const*)"},
-    {"_ZN4llvm12SCEVExpander11InsertBinopENS_11Instruction9BinaryOpsEPNS_5ValueES4_", "llvm::SCEVExpander::InsertBinop(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm12SCEVExpander18restoreInsertPointEPNS_10BasicBlockENS_14ilist_iteratorINS_11InstructionEEE", "llvm::SCEVExpander::restoreInsertPoint(llvm::BasicBlock*, llvm::ilist_iterator<llvm::Instruction>)"},
-    {"_ZN4llvm12SCEVExpander14expandAddToGEPEPKPKNS_4SCEVES5_PKNS_11PointerTypeEPKNS_4TypeEPNS_5ValueE", "llvm::SCEVExpander::expandAddToGEP(llvm::SCEV const* const*, llvm::SCEV const* const*, llvm::PointerType const*, llvm::Type const*, llvm::Value*)"},
-    {"_Z17FactorOutConstantRPKN4llvm4SCEVES3_S2_RNS_15ScalarEvolutionEPKNS_10DataLayoutE", "FactorOutConstant(llvm::SCEV const*&, llvm::SCEV const*&, llvm::SCEV const*, llvm::ScalarEvolution&, llvm::DataLayout const*)"},
-    {"_Z19SimplifyAddOperandsRN4llvm15SmallVectorImplIPKNS_4SCEVEEEPKNS_4TypeERNS_15ScalarEvolutionE", "SimplifyAddOperands(llvm::SmallVectorImpl<llvm::SCEV const*>&, llvm::Type const*, llvm::ScalarEvolution&)"},
-    {"_ZN4llvm12SCEVExpander13expandCodeForEPKNS_4SCEVEPKNS_4TypeE", "llvm::SCEVExpander::expandCodeFor(llvm::SCEV const*, llvm::Type const*)"},
-    {"_ZN4llvm12SCEVExpander6expandEPKNS_4SCEVE", "llvm::SCEVExpander::expand(llvm::SCEV const*)"},
-    {"_ZN4llvm12SCEVExpander15getRelevantLoopEPKNS_4SCEVE", "llvm::SCEVExpander::getRelevantLoop(llvm::SCEV const*)"},
-    {"_ZN4llvm12SCEVExpander12visitAddExprEPKNS_11SCEVAddExprE", "llvm::SCEVExpander::visitAddExpr(llvm::SCEVAddExpr const*)"},
-    {"_ZN4llvm12SCEVExpander12visitMulExprEPKNS_11SCEVMulExprE", "llvm::SCEVExpander::visitMulExpr(llvm::SCEVMulExpr const*)"},
-    {"_ZN4llvm12SCEVExpander13visitUDivExprEPKNS_12SCEVUDivExprE", "llvm::SCEVExpander::visitUDivExpr(llvm::SCEVUDivExpr const*)"},
-    {"_ZN4llvm12SCEVExpander25getAddRecExprPHILiterallyEPKNS_14SCEVAddRecExprEPKNS_4LoopEPKNS_4TypeES9_", "llvm::SCEVExpander::getAddRecExprPHILiterally(llvm::SCEVAddRecExpr const*, llvm::Loop const*, llvm::Type const*, llvm::Type const*)"},
-    {"_ZN4llvm12SCEVExpander13expandCodeForEPKNS_4SCEVEPKNS_4TypeEPNS_11InstructionE", "llvm::SCEVExpander::expandCodeFor(llvm::SCEV const*, llvm::Type const*, llvm::Instruction*)"},
-    {"_ZN4llvm12SCEVExpander25expandAddRecExprLiterallyEPKNS_14SCEVAddRecExprE", "llvm::SCEVExpander::expandAddRecExprLiterally(llvm::SCEVAddRecExpr const*)"},
-    {"_ZN4llvm12SCEVExpander15visitAddRecExprEPKNS_14SCEVAddRecExprE", "llvm::SCEVExpander::visitAddRecExpr(llvm::SCEVAddRecExpr const*)"},
-    {"_Z17ExposePointerBaseRPKN4llvm4SCEVES3_RNS_15ScalarEvolutionE", "ExposePointerBase(llvm::SCEV const*&, llvm::SCEV const*&, llvm::ScalarEvolution&)"},
-    {"_ZN4llvm12SCEVExpander17visitTruncateExprEPKNS_16SCEVTruncateExprE", "llvm::SCEVExpander::visitTruncateExpr(llvm::SCEVTruncateExpr const*)"},
-    {"_ZN4llvm12SCEVExpander19visitZeroExtendExprEPKNS_18SCEVZeroExtendExprE", "llvm::SCEVExpander::visitZeroExtendExpr(llvm::SCEVZeroExtendExpr const*)"},
-    {"_ZN4llvm12SCEVExpander19visitSignExtendExprEPKNS_18SCEVSignExtendExprE", "llvm::SCEVExpander::visitSignExtendExpr(llvm::SCEVSignExtendExpr const*)"},
-    {"_ZN4llvm12SCEVExpander13visitSMaxExprEPKNS_12SCEVSMaxExprE", "llvm::SCEVExpander::visitSMaxExpr(llvm::SCEVSMaxExpr const*)"},
-    {"_ZN4llvm12SCEVExpander13visitUMaxExprEPKNS_12SCEVUMaxExprE", "llvm::SCEVExpander::visitUMaxExpr(llvm::SCEVUMaxExpr const*)"},
-    {"_ZN4llvm12SCEVExpander37getOrInsertCanonicalInductionVariableEPKNS_4LoopEPKNS_4TypeE", "llvm::SCEVExpander::getOrInsertCanonicalInductionVariable(llvm::Loop const*, llvm::Type const*)"},
-    {"_ZSt21__inplace_stable_sortIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEEN12_GLOBAL__N_111LoopCompareEEvT_SC_T0_", "void std::__inplace_stable_sort<std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare)"},
-    {"_ZSt22__stable_sort_adaptiveIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEES9_lN12_GLOBAL__N_111LoopCompareEEvT_SC_T0_T1_T2_", "void std::__stable_sort_adaptive<std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, long, (anonymous namespace)::LoopCompare>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, long, (anonymous namespace)::LoopCompare)"},
-    {"_ZSt24__merge_sort_with_bufferIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEES9_N12_GLOBAL__N_111LoopCompareEEvT_SC_T0_T1_", "void std::__merge_sort_with_buffer<std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare)"},
-    {"_ZSt16__merge_adaptiveIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEElS9_N12_GLOBAL__N_111LoopCompareEEvT_SC_SC_T0_SD_T1_SD_T2_", "void std::__merge_adaptive<std::pair<llvm::Loop const*, llvm::SCEV const*>*, long, std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, long, long, std::pair<llvm::Loop const*, llvm::SCEV const*>*, long, (anonymous namespace)::LoopCompare)"},
-    {"_ZSt5mergeIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEES9_S9_N12_GLOBAL__N_111LoopCompareEET1_T_SD_T0_SE_SC_T2_", "std::pair<llvm::Loop const*, llvm::SCEV const*>* std::merge<std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare)"},
-    {"_ZNK12_GLOBAL__N_111LoopCompareclESt4pairIPKN4llvm4LoopEPKNS2_4SCEVEES9_", "(anonymous namespace)::LoopCompare::operator()(std::pair<llvm::Loop const*, llvm::SCEV const*>, std::pair<llvm::Loop const*, llvm::SCEV const*>) const"},
-    {"_ZSt16__insertion_sortIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEEN12_GLOBAL__N_111LoopCompareEEvT_SC_T0_", "void std::__insertion_sort<std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, (anonymous namespace)::LoopCompare)"},
-    {"_ZSt22__merge_without_bufferIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEElN12_GLOBAL__N_111LoopCompareEEvT_SC_SC_T0_SD_T1_", "void std::__merge_without_buffer<std::pair<llvm::Loop const*, llvm::SCEV const*>*, long, (anonymous namespace)::LoopCompare>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, long, long, (anonymous namespace)::LoopCompare)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE11CreateBinOpENS_11Instruction9BinaryOpsEPNS_5ValueES8_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateBinOp(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateGEPEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateGEP(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateGEPIPPNS_5ValueEEES7_S7_T_S9_RKNS_5TwineE", "llvm::Value* llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateGEP<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVEPKNS_4LoopENS_12DenseMapInfoIS3_EENS7_IS6_EEE6insertERKSt4pairIS3_S6_E", "llvm::DenseMap<llvm::SCEV const*, llvm::Loop const*, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::Loop const*> >::insert(std::pair<llvm::SCEV const*, llvm::Loop const*> const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreatePHIEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreatePHI(llvm::Type const*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateSubEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateSub(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateAddEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateAdd(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE9CreateMulEPNS_5ValueES6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateMul(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE12CreateSelectEPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateSelect(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPKNS_4SCEVE", "llvm::SCEVVisitor<llvm::SCEVExpander, llvm::Value*>::visit(llvm::SCEV const*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4SCEVEPNS1_11InstructionEES0_IKS7_NS1_11AssertingVHINS1_5ValueEEEESt10_Select1stISC_ESt4lessIS7_ESaISC_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISC_ERKSC_", "std::_Rb_tree<std::pair<llvm::SCEV const*, llvm::Instruction*>, std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> >, std::_Select1st<std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > >, std::less<std::pair<llvm::SCEV const*, llvm::Instruction*> >, std::allocator<std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > >, std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4SCEVEPNS1_11InstructionEES0_IKS7_NS1_11AssertingVHINS1_5ValueEEEESt10_Select1stISC_ESt4lessIS7_ESaISC_EE16_M_insert_uniqueERKSC_", "std::_Rb_tree<std::pair<llvm::SCEV const*, llvm::Instruction*>, std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> >, std::_Select1st<std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > >, std::less<std::pair<llvm::SCEV const*, llvm::Instruction*> >, std::allocator<std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > > >::_M_insert_unique(std::pair<std::pair<llvm::SCEV const*, llvm::Instruction*> const, llvm::AssertingVH<llvm::Value> > const&)"},
-    {"_ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE20visitCouldNotComputeEPKNS_19SCEVCouldNotComputeE", "llvm::SCEVVisitor<llvm::SCEVExpander, llvm::Value*>::visitCouldNotCompute(llvm::SCEVCouldNotCompute const*)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateICmpENS_7CmpInst9PredicateEPNS_5ValueES8_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateICmp(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZNK4llvm12TargetFolder12CreateSelectEPNS_8ConstantES2_S2_", "llvm::TargetFolder::CreateSelect(llvm::Constant*, llvm::Constant*, llvm::Constant*) const"},
-    {"_ZN4llvm9IRBuilderILb1ENS_12TargetFolderENS_24IRBuilderDefaultInserterILb1EEEE10CreateCastENS_11Instruction7CastOpsEPNS_5ValueEPKNS_4TypeERKNS_5TwineE", "llvm::IRBuilder<true, llvm::TargetFolder, llvm::IRBuilderDefaultInserter<true> >::CreateCast(llvm::Instruction::CastOps, llvm::Value*, llvm::Type const*, llvm::Twine const&)"},
-    {"_ZNK4llvm12TargetFolder10CreateCastENS_11Instruction7CastOpsEPNS_8ConstantEPKNS_4TypeE", "llvm::TargetFolder::CreateCast(llvm::Instruction::CastOps, llvm::Constant*, llvm::Type const*) const"},
-    {"_ZN4llvm11SmallVectorIPKNS_4SCEVELj4EEC2EjRKS3_", "llvm::SmallVector<llvm::SCEV const*, 4u>::SmallVector(unsigned int, llvm::SCEV const* const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm11AssertingVHINS0_5ValueEEES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE16_M_insert_uniqueERKS3_", "std::_Rb_tree<llvm::AssertingVH<llvm::Value>, llvm::AssertingVH<llvm::Value>, std::_Identity<llvm::AssertingVH<llvm::Value> >, std::less<llvm::AssertingVH<llvm::Value> >, std::allocator<llvm::AssertingVH<llvm::Value> > >::_M_insert_unique(llvm::AssertingVH<llvm::Value> const&)"},
-    {"_ZSt4copyIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEES9_ET0_T_SB_SA_", "std::pair<llvm::Loop const*, llvm::SCEV const*>* std::copy<std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*)"},
-    {"_ZSt17__rotate_adaptiveIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEES9_lET_SA_SA_SA_T1_SB_T0_SB_", "std::pair<llvm::Loop const*, llvm::SCEV const*>* std::__rotate_adaptive<std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, long>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, long, long, std::pair<llvm::Loop const*, llvm::SCEV const*>*, long)"},
-    {"_ZSt8__rotateIPSt4pairIPKN4llvm4LoopEPKNS1_4SCEVEEEvT_SA_SA_St26random_access_iterator_tag", "void std::__rotate<std::pair<llvm::Loop const*, llvm::SCEV const*>*>(std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::pair<llvm::Loop const*, llvm::SCEV const*>*, std::random_access_iterator_tag)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVEPKNS_4LoopENS_12DenseMapInfoIS3_EENS7_IS6_EEE16InsertIntoBucketERKS3_RKS6_PSt4pairIS3_S6_E", "llvm::DenseMap<llvm::SCEV const*, llvm::Loop const*, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::Loop const*> >::InsertIntoBucket(llvm::SCEV const* const&, llvm::Loop const* const&, std::pair<llvm::SCEV const*, llvm::Loop const*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4SCEVEPKNS_4LoopENS_12DenseMapInfoIS3_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::SCEV const*, llvm::Loop const*, llvm::DenseMapInfo<llvm::SCEV const*>, llvm::DenseMapInfo<llvm::Loop const*> >::grow(unsigned int)"},
-    {"_ZN4llvm22TransformForPostIncUseENS_13TransformKindEPKNS_4SCEVEPNS_11InstructionEPNS_5ValueERNS_11SmallPtrSetIPKNS_4LoopELj2EEERNS_15ScalarEvolutionERNS_13DominatorTreeE", "llvm::TransformForPostIncUse(llvm::TransformKind, llvm::SCEV const*, llvm::Instruction*, llvm::Value*, llvm::SmallPtrSet<llvm::Loop const*, 2u>&, llvm::ScalarEvolution&, llvm::DominatorTree&)"},
-    {"_ZN4llvm36initializeTypeBasedAliasAnalysisPassERNS_12PassRegistryE", "llvm::initializeTypeBasedAliasAnalysisPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm32createTypeBasedAliasAnalysisPassEv", "llvm::createTypeBasedAliasAnalysisPass()"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysisD1Ev", "(anonymous namespace)::TypeBasedAliasAnalysis::~TypeBasedAliasAnalysis()"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysisD0Ev", "(anonymous namespace)::TypeBasedAliasAnalysis::~TypeBasedAliasAnalysis()"},
-    {"_ZNK12_GLOBAL__N_122TypeBasedAliasAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::TypeBasedAliasAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis26getAdjustedAnalysisPointerEPKv", "(anonymous namespace)::TypeBasedAliasAnalysis::getAdjustedAnalysisPointer(void const*)"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis14initializePassEv", "(anonymous namespace)::TypeBasedAliasAnalysis::initializePass()"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis5aliasERKN4llvm13AliasAnalysis8LocationES5_", "(anonymous namespace)::TypeBasedAliasAnalysis::alias(llvm::AliasAnalysis::Location const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis22pointsToConstantMemoryERKN4llvm13AliasAnalysis8LocationEb", "(anonymous namespace)::TypeBasedAliasAnalysis::pointsToConstantMemory(llvm::AliasAnalysis::Location const&, bool)"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis17getModRefBehaviorEN4llvm17ImmutableCallSiteE", "(anonymous namespace)::TypeBasedAliasAnalysis::getModRefBehavior(llvm::ImmutableCallSite)"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis17getModRefBehaviorEPKN4llvm8FunctionE", "(anonymous namespace)::TypeBasedAliasAnalysis::getModRefBehavior(llvm::Function const*)"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis13getModRefInfoEN4llvm17ImmutableCallSiteERKNS1_13AliasAnalysis8LocationE", "(anonymous namespace)::TypeBasedAliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::AliasAnalysis::Location const&)"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis13getModRefInfoEN4llvm17ImmutableCallSiteES2_", "(anonymous namespace)::TypeBasedAliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::ImmutableCallSite)"},
-    {"_ZThn32_NK12_GLOBAL__N_122TypeBasedAliasAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZThn32_N12_GLOBAL__N_122TypeBasedAliasAnalysisD1Ev", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::~TypeBasedAliasAnalysis()"},
-    {"_ZThn32_N12_GLOBAL__N_122TypeBasedAliasAnalysisD0Ev", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::~TypeBasedAliasAnalysis()"},
-    {"_ZThn32_N12_GLOBAL__N_122TypeBasedAliasAnalysis5aliasERKN4llvm13AliasAnalysis8LocationES5_", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::alias(llvm::AliasAnalysis::Location const&, llvm::AliasAnalysis::Location const&)"},
-    {"_ZThn32_N12_GLOBAL__N_122TypeBasedAliasAnalysis22pointsToConstantMemoryERKN4llvm13AliasAnalysis8LocationEb", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::pointsToConstantMemory(llvm::AliasAnalysis::Location const&, bool)"},
-    {"_ZThn32_N12_GLOBAL__N_122TypeBasedAliasAnalysis17getModRefBehaviorEN4llvm17ImmutableCallSiteE", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::getModRefBehavior(llvm::ImmutableCallSite)"},
-    {"_ZThn32_N12_GLOBAL__N_122TypeBasedAliasAnalysis17getModRefBehaviorEPKN4llvm8FunctionE", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::getModRefBehavior(llvm::Function const*)"},
-    {"_ZThn32_N12_GLOBAL__N_122TypeBasedAliasAnalysis13getModRefInfoEN4llvm17ImmutableCallSiteERKNS1_13AliasAnalysis8LocationE", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::AliasAnalysis::Location const&)"},
-    {"_ZThn32_N12_GLOBAL__N_122TypeBasedAliasAnalysis13getModRefInfoEN4llvm17ImmutableCallSiteES2_", "non-virtual thunk to (anonymous namespace)::TypeBasedAliasAnalysis::getModRefInfo(llvm::ImmutableCallSite, llvm::ImmutableCallSite)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_122TypeBasedAliasAnalysisEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::TypeBasedAliasAnalysis>()"},
-    {"_ZN4llvm17ComputeMaskedBitsEPNS_5ValueERKNS_5APIntERS2_S5_PKNS_10DataLayoutEj", "llvm::ComputeMaskedBits(llvm::Value*, llvm::APInt const&, llvm::APInt&, llvm::APInt&, llvm::DataLayout const*, unsigned int)"},
-    {"_ZN4llvm14ComputeSignBitEPNS_5ValueERbS2_PKNS_10DataLayoutEj", "llvm::ComputeSignBit(llvm::Value*, bool&, bool&, llvm::DataLayout const*, unsigned int)"},
-    {"_ZN4llvm12isPowerOfTwoEPNS_5ValueEPKNS_10DataLayoutEj", "llvm::isPowerOfTwo(llvm::Value*, llvm::DataLayout const*, unsigned int)"},
-    {"_ZN4llvm14isKnownNonZeroEPNS_5ValueEPKNS_10DataLayoutEj", "llvm::isKnownNonZero(llvm::Value*, llvm::DataLayout const*, unsigned int)"},
-    {"_ZN4llvm17MaskedValueIsZeroEPNS_5ValueERKNS_5APIntEPKNS_10DataLayoutEj", "llvm::MaskedValueIsZero(llvm::Value*, llvm::APInt const&, llvm::DataLayout const*, unsigned int)"},
-    {"_ZN4llvm18ComputeNumSignBitsEPNS_5ValueEPKNS_10DataLayoutEj", "llvm::ComputeNumSignBits(llvm::Value*, llvm::DataLayout const*, unsigned int)"},
-    {"_ZN4llvm15ComputeMultipleEPNS_5ValueEjRS1_bj", "llvm::ComputeMultiple(llvm::Value*, unsigned int, llvm::Value*&, bool, unsigned int)"},
-    {"_ZN4llvm20CannotBeNegativeZeroEPKNS_5ValueEj", "llvm::CannotBeNegativeZero(llvm::Value const*, unsigned int)"},
-    {"_ZN4llvm15isBytewiseValueEPNS_5ValueE", "llvm::isBytewiseValue(llvm::Value*)"},
-    {"_ZN4llvm17FindInsertedValueEPNS_5ValueEPKjS3_PNS_11InstructionE", "llvm::FindInsertedValue(llvm::Value*, unsigned int const*, unsigned int const*, llvm::Instruction*)"},
-    {"_ZN4llvm32GetPointerBaseWithConstantOffsetEPNS_5ValueERxRKNS_10DataLayoutE", "llvm::GetPointerBaseWithConstantOffset(llvm::Value*, long long&, llvm::DataLayout const&)"},
-    {"_ZN4llvm21GetConstantStringInfoEPKNS_5ValueERSsyb", "llvm::GetConstantStringInfo(llvm::Value const*, std::string&, unsigned long long, bool)"},
-    {"_ZN4llvm15GetStringLengthEPNS_5ValueE", "llvm::GetStringLength(llvm::Value*)"},
-    {"_Z16GetStringLengthHPN4llvm5ValueERNS_11SmallPtrSetIPNS_7PHINodeELj32EEE", "GetStringLengthH(llvm::Value*, llvm::SmallPtrSet<llvm::PHINode*, 32u>&)"},
-    {"_ZN4llvm19GetUnderlyingObjectEPNS_5ValueEPKNS_10DataLayoutEj", "llvm::GetUnderlyingObject(llvm::Value*, llvm::DataLayout const*, unsigned int)"},
-    {"_Z17BuildSubAggregatePN4llvm5ValueES1_PKNS_4TypeERNS_11SmallVectorIjLj10EEEjPNS_11InstructionE", "BuildSubAggregate(llvm::Value*, llvm::Value*, llvm::Type const*, llvm::SmallVector<unsigned int, 10u>&, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm12PatternMatch11cst_pred_tyINS0_11is_sign_bitEE5matchINS_5ValueEEEbPT_", "bool llvm::PatternMatch::cst_pred_ty<llvm::PatternMatch::is_sign_bit>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm12PatternMatch11cst_pred_tyINS0_11is_sign_bitEE5matchINS_8ConstantEEEbPT_", "bool llvm::PatternMatch::cst_pred_ty<llvm::PatternMatch::is_sign_bit>::match<llvm::Constant>(llvm::Constant*)"},
-    {"_ZN4llvm12PatternMatch14BinaryOp_matchINS0_11cst_pred_tyINS0_6is_oneEEENS0_11class_matchINS_5ValueEEELj20EE5matchIS6_EEbPT_", "bool llvm::PatternMatch::BinaryOp_match<llvm::PatternMatch::cst_pred_ty<llvm::PatternMatch::is_one>, llvm::PatternMatch::class_match<llvm::Value>, 20u>::match<llvm::Value>(llvm::Value*)"},
-    {"_ZN4llvm7Mangler17getNameWithPrefixERNS_15SmallVectorImplIcEERKNS_5TwineENS0_15ManglerPrefixTyE", "llvm::Mangler::getNameWithPrefix(llvm::SmallVectorImpl<char>&, llvm::Twine const&, llvm::Mangler::ManglerPrefixTy)"},
-    {"_ZN4llvm7Mangler17getNameWithPrefixERNS_15SmallVectorImplIcEEPKNS_11GlobalValueEb", "llvm::Mangler::getNameWithPrefix(llvm::SmallVectorImpl<char>&, llvm::GlobalValue const*, bool)"},
-    {"_ZN4llvm7Mangler17getNameWithPrefixEPKNS_11GlobalValueEb", "llvm::Mangler::getNameWithPrefix(llvm::GlobalValue const*, bool)"},
-    {"_ZN4llvm7Mangler9getSymbolEPKNS_11GlobalValueE", "llvm::Mangler::getSymbol(llvm::GlobalValue const*)"},
-    {"_Z12MangleLetterRN4llvm15SmallVectorImplIcEEh", "MangleLetter(llvm::SmallVectorImpl<char>&, unsigned char)"},
-    {"_ZN4llvm15SmallVectorImplIcE6insertEPcRKc", "llvm::SmallVectorImpl<char>::insert(char*, char const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_11GlobalValueEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::GlobalValue const*, unsigned int, llvm::DenseMapInfo<llvm::GlobalValue const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::GlobalValue const* const&, unsigned int const&, std::pair<llvm::GlobalValue const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_11GlobalValueEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::GlobalValue const*, unsigned int, llvm::DenseMapInfo<llvm::GlobalValue const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm17SubtargetFeatures10AddFeatureERKSsb", "llvm::SubtargetFeatures::AddFeature(std::string const&, bool)"},
-    {"_ZN4llvm15LowercaseStringERKSs", "llvm::LowercaseString(std::string const&)"},
-    {"_ZN4llvm17SubtargetFeaturesC1ERKSs", "llvm::SubtargetFeatures::SubtargetFeatures(std::string const&)"},
-    {"_ZN4llvm17SubtargetFeaturesC2ERKSs", "llvm::SubtargetFeatures::SubtargetFeatures(std::string const&)"},
-    {"_Z5SplitRSt6vectorISsSaISsEERKSs", "Split(std::vector<std::string, std::allocator<std::string> >&, std::string const&)"},
-    {"_ZNK4llvm17SubtargetFeatures9getStringEv", "llvm::SubtargetFeatures::getString() const"},
-    {"_ZN4llvm17SubtargetFeatures9setStringERKSs", "llvm::SubtargetFeatures::setString(std::string const&)"},
-    {"_ZN4llvm17SubtargetFeatures6setCPUERKSs", "llvm::SubtargetFeatures::setCPU(std::string const&)"},
-    {"_ZN4llvm17SubtargetFeatures12setCPUIfNoneERKSs", "llvm::SubtargetFeatures::setCPUIfNone(std::string const&)"},
-    {"_ZNK4llvm17SubtargetFeatures6getCPUEv", "llvm::SubtargetFeatures::getCPU() const"},
-    {"_ZN4llvm17SubtargetFeatures7getBitsEPKNS_18SubtargetFeatureKVEmS3_m", "llvm::SubtargetFeatures::getBits(llvm::SubtargetFeatureKV const*, unsigned long, llvm::SubtargetFeatureKV const*, unsigned long)"},
-    {"_Z4HelpPKN4llvm18SubtargetFeatureKVEmS2_m", "Help(llvm::SubtargetFeatureKV const*, unsigned long, llvm::SubtargetFeatureKV const*, unsigned long)"},
-    {"_Z14SetImpliedBitsRjPKN4llvm18SubtargetFeatureKVES3_m", "SetImpliedBits(unsigned int&, llvm::SubtargetFeatureKV const*, llvm::SubtargetFeatureKV const*, unsigned long)"},
-    {"_Z16ClearImpliedBitsRjPKN4llvm18SubtargetFeatureKVES3_m", "ClearImpliedBits(unsigned int&, llvm::SubtargetFeatureKV const*, llvm::SubtargetFeatureKV const*, unsigned long)"},
-    {"_ZN4llvm17SubtargetFeatures7getInfoEPKNS_15SubtargetInfoKVEm", "llvm::SubtargetFeatures::getInfo(llvm::SubtargetInfoKV const*, unsigned long)"},
-    {"_ZNK4llvm17SubtargetFeatures5printERNS_11raw_ostreamE", "llvm::SubtargetFeatures::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm17SubtargetFeatures4dumpEv", "llvm::SubtargetFeatures::dump() const"},
-    {"_ZN4llvm17SubtargetFeatures27getDefaultSubtargetFeaturesERKSsRKNS_6TripleE", "llvm::SubtargetFeatures::getDefaultSubtargetFeatures(std::string const&, llvm::Triple const&)"},
-    {"_Z4FindIN4llvm18SubtargetFeatureKVEEPKT_RKSsS4_m", "llvm::SubtargetFeatureKV const* Find<llvm::SubtargetFeatureKV>(std::string const&, llvm::SubtargetFeatureKV const*, unsigned long)"},
-    {"_Z4FindIN4llvm15SubtargetInfoKVEEPKT_RKSsS4_m", "llvm::SubtargetInfoKV const* Find<llvm::SubtargetInfoKV>(std::string const&, llvm::SubtargetInfoKV const*, unsigned long)"},
-    {"_ZN4llvm13TargetAsmInfoC1ERKNS_13TargetMachineE", "llvm::TargetAsmInfo::TargetAsmInfo(llvm::TargetMachine const&)"},
-    {"_ZN4llvm13TargetAsmInfoC2ERKNS_13TargetMachineE", "llvm::TargetAsmInfo::TargetAsmInfo(llvm::TargetMachine const&)"},
-    {"_ZN4llvm14TargetAsmLexerC1ERKNS_6TargetE", "llvm::TargetAsmLexer::TargetAsmLexer(llvm::Target const&)"},
-    {"_ZN4llvm14TargetAsmLexerC2ERKNS_6TargetE", "llvm::TargetAsmLexer::TargetAsmLexer(llvm::Target const&)"},
-    {"_ZN4llvm14TargetAsmLexerD0Ev", "llvm::TargetAsmLexer::~TargetAsmLexer()"},
-    {"_ZN4llvm14TargetAsmLexerD1Ev", "llvm::TargetAsmLexer::~TargetAsmLexer()"},
-    {"_ZN4llvm14TargetAsmLexerD2Ev", "llvm::TargetAsmLexer::~TargetAsmLexer()"},
-    {"_ZN4llvm24initializeDataLayoutPassERNS_12PassRegistryE", "llvm::initializeDataLayoutPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm12StructLayoutC1EPKNS_10StructTypeERKNS_10DataLayoutE", "llvm::StructLayout::StructLayout(llvm::StructType const*, llvm::DataLayout const&)"},
-    {"_ZN4llvm12StructLayoutC2EPKNS_10StructTypeERKNS_10DataLayoutE", "llvm::StructLayout::StructLayout(llvm::StructType const*, llvm::DataLayout const&)"},
-    {"_ZNK4llvm10DataLayout19getABITypeAlignmentEPKNS_4TypeE", "llvm::DataLayout::getABITypeAlignment(llvm::Type const*) const"},
-    {"_ZNK4llvm12StructLayout26getElementContainingOffsetEy", "llvm::StructLayout::getElementContainingOffset(unsigned long long) const"},
-    {"_ZN4llvm15TargetAlignElem3getENS_13AlignTypeEnumEjjj", "llvm::TargetAlignElem::get(llvm::AlignTypeEnum, unsigned int, unsigned int, unsigned int)"},
-    {"_ZNK4llvm15TargetAlignElemeqERKS0_", "llvm::TargetAlignElem::operator==(llvm::TargetAlignElem const&) const"},
-    {"_ZN4llvm10DataLayout4initENS_9StringRefE", "llvm::DataLayout::init(llvm::StringRef)"},
-    {"_ZN4llvm10DataLayout12setAlignmentENS_13AlignTypeEnumEjjj", "llvm::DataLayout::setAlignment(llvm::AlignTypeEnum, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN4llvm10DataLayoutC1Ev", "llvm::DataLayout::DataLayout()"},
-    {"_ZN4llvm10DataLayoutC2Ev", "llvm::DataLayout::DataLayout()"},
-    {"_ZN4llvm10DataLayoutC1EPKNS_6ModuleE", "llvm::DataLayout::DataLayout(llvm::Module const*)"},
-    {"_ZN4llvm10DataLayoutC2EPKNS_6ModuleE", "llvm::DataLayout::DataLayout(llvm::Module const*)"},
-    {"_ZNK4llvm10DataLayout16getAlignmentInfoENS_13AlignTypeEnumEjbPKNS_4TypeE", "llvm::DataLayout::getAlignmentInfo(llvm::AlignTypeEnum, unsigned int, bool, llvm::Type const*) const"},
-    {"_ZN4llvm10DataLayoutD0Ev", "llvm::DataLayout::~DataLayout()"},
-    {"_ZN4llvm10DataLayoutD1Ev", "llvm::DataLayout::~DataLayout()"},
-    {"_ZN4llvm10DataLayoutD2Ev", "llvm::DataLayout::~DataLayout()"},
-    {"_ZNK4llvm10DataLayout15getStructLayoutEPKNS_10StructTypeE", "llvm::DataLayout::getStructLayout(llvm::StructType const*) const"},
-    {"_ZNK4llvm10DataLayout26InvalidateStructLayoutInfoEPKNS_10StructTypeE", "llvm::DataLayout::InvalidateStructLayoutInfo(llvm::StructType const*) const"},
-    {"_ZNK4llvm10DataLayout23getStringRepresentationEv", "llvm::DataLayout::getStringRepresentation() const"},
-    {"_ZNK4llvm10DataLayout17getTypeSizeInBitsEPKNS_4TypeE", "llvm::DataLayout::getTypeSizeInBits(llvm::Type const*) const"},
-    {"_ZNK4llvm10DataLayout12getAlignmentEPKNS_4TypeEb", "llvm::DataLayout::getAlignment(llvm::Type const*, bool) const"},
-    {"_ZNK4llvm10DataLayout26getABIIntegerTypeAlignmentEj", "llvm::DataLayout::getABIIntegerTypeAlignment(unsigned int) const"},
-    {"_ZNK4llvm10DataLayout25getCallFrameTypeAlignmentEPKNS_4TypeE", "llvm::DataLayout::getCallFrameTypeAlignment(llvm::Type const*) const"},
-    {"_ZNK4llvm10DataLayout20getPrefTypeAlignmentEPKNS_4TypeE", "llvm::DataLayout::getPrefTypeAlignment(llvm::Type const*) const"},
-    {"_ZNK4llvm10DataLayout30getPreferredTypeAlignmentShiftEPKNS_4TypeE", "llvm::DataLayout::getPreferredTypeAlignmentShift(llvm::Type const*) const"},
-    {"_ZNK4llvm10DataLayout13getIntPtrTypeERNS_11LLVMContextE", "llvm::DataLayout::getIntPtrType(llvm::LLVMContext&) const"},
-    {"_ZNK4llvm10DataLayout16getIndexedOffsetEPKNS_4TypeEPKPNS_5ValueEj", "llvm::DataLayout::getIndexedOffset(llvm::Type const*, llvm::Value* const*, unsigned int) const"},
-    {"_ZNK4llvm10DataLayout21getPreferredAlignmentEPKNS_14GlobalVariableE", "llvm::DataLayout::getPreferredAlignment(llvm::GlobalVariable const*) const"},
-    {"_ZNK4llvm10DataLayout24getPreferredAlignmentLogEPKNS_14GlobalVariableE", "llvm::DataLayout::getPreferredAlignmentLog(llvm::GlobalVariable const*) const"},
-    {"_ZN12_GLOBAL__N_115StructLayoutMapD1Ev", "(anonymous namespace)::StructLayoutMap::~StructLayoutMap()"},
-    {"_ZN12_GLOBAL__N_115StructLayoutMapD0Ev", "(anonymous namespace)::StructLayoutMap::~StructLayoutMap()"},
-    {"_ZN12_GLOBAL__N_115StructLayoutMap18refineAbstractTypeEPKN4llvm11DerivedTypeEPKNS1_4TypeE", "(anonymous namespace)::StructLayoutMap::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN12_GLOBAL__N_115StructLayoutMap18typeBecameConcreteEPKN4llvm11DerivedTypeE", "(anonymous namespace)::StructLayoutMap::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK12_GLOBAL__N_115StructLayoutMap4dumpEv", "(anonymous namespace)::StructLayoutMap::dump() const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_15TargetAlignElemELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::TargetAlignElem, false>::grow(unsigned long)"},
-    {"_ZN4llvm12PATypeHolderaSEPKNS_4TypeE", "llvm::PATypeHolder::operator=(llvm::Type const*)"},
-    {"_ZN4llvm8DenseMapIPKNS_10StructTypeEPNS_12StructLayoutENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::StructType const*, llvm::StructLayout*, llvm::DenseMapInfo<llvm::StructType const*>, llvm::DenseMapInfo<llvm::StructLayout*> >::InsertIntoBucket(llvm::StructType const* const&, llvm::StructLayout* const&, std::pair<llvm::StructType const*, llvm::StructLayout*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_10StructTypeEPNS_12StructLayoutENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::StructType const*, llvm::StructLayout*, llvm::DenseMapInfo<llvm::StructType const*>, llvm::DenseMapInfo<llvm::StructLayout*> >::grow(unsigned int)"},
-    {"_ZN4llvm15callDefaultCtorINS_10DataLayoutEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::DataLayout>()"},
-    {"_ZN4llvm19TargetELFWriterInfoC1Ebb", "llvm::TargetELFWriterInfo::TargetELFWriterInfo(bool, bool)"},
-    {"_ZN4llvm19TargetELFWriterInfoC2Ebb", "llvm::TargetELFWriterInfo::TargetELFWriterInfo(bool, bool)"},
-    {"_ZN4llvm19TargetELFWriterInfoD0Ev", "llvm::TargetELFWriterInfo::~TargetELFWriterInfo()"},
-    {"_ZN4llvm19TargetELFWriterInfoD1Ev", "llvm::TargetELFWriterInfo::~TargetELFWriterInfo()"},
-    {"_ZN4llvm19TargetELFWriterInfoD2Ev", "llvm::TargetELFWriterInfo::~TargetELFWriterInfo()"},
-    {"_ZN4llvm19TargetFrameLoweringD0Ev", "llvm::TargetFrameLowering::~TargetFrameLowering()"},
-    {"_ZN4llvm19TargetFrameLoweringD1Ev", "llvm::TargetFrameLowering::~TargetFrameLowering()"},
-    {"_ZN4llvm19TargetFrameLoweringD2Ev", "llvm::TargetFrameLowering::~TargetFrameLowering()"},
-    {"_ZNK4llvm19TargetFrameLowering20getInitialFrameStateERSt6vectorINS_11MachineMoveESaIS2_EE", "llvm::TargetFrameLowering::getInitialFrameState(std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> >&) const"},
-    {"_ZNK4llvm19TargetFrameLowering19getFrameIndexOffsetERKNS_15MachineFunctionEi", "llvm::TargetFrameLowering::getFrameIndexOffset(llvm::MachineFunction const&, int) const"},
-    {"_ZNK4llvm19TargetFrameLowering22getFrameIndexReferenceERKNS_15MachineFunctionEiRj", "llvm::TargetFrameLowering::getFrameIndexReference(llvm::MachineFunction const&, int, unsigned int&) const"},
-    {"_ZNK4llvm17TargetOperandInfo11getRegClassEPKNS_18TargetRegisterInfoE", "llvm::TargetOperandInfo::getRegClass(llvm::TargetRegisterInfo const*) const"},
-    {"_ZN4llvm15TargetInstrInfoC1EPKNS_15TargetInstrDescEj", "llvm::TargetInstrInfo::TargetInstrInfo(llvm::TargetInstrDesc const*, unsigned int)"},
-    {"_ZN4llvm15TargetInstrInfoC2EPKNS_15TargetInstrDescEj", "llvm::TargetInstrInfo::TargetInstrInfo(llvm::TargetInstrDesc const*, unsigned int)"},
-    {"_ZN4llvm15TargetInstrInfoD0Ev", "llvm::TargetInstrInfo::~TargetInstrInfo()"},
-    {"_ZN4llvm15TargetInstrInfoD1Ev", "llvm::TargetInstrInfo::~TargetInstrInfo()"},
-    {"_ZN4llvm15TargetInstrInfoD2Ev", "llvm::TargetInstrInfo::~TargetInstrInfo()"},
-    {"_ZNK4llvm15TargetInstrInfo14getNumMicroOpsEPKNS_18InstrItineraryDataEPKNS_12MachineInstrE", "llvm::TargetInstrInfo::getNumMicroOps(llvm::InstrItineraryData const*, llvm::MachineInstr const*) const"},
-    {"_ZNK4llvm15TargetInstrInfo17getOperandLatencyEPKNS_18InstrItineraryDataEPKNS_12MachineInstrEjS6_j", "llvm::TargetInstrInfo::getOperandLatency(llvm::InstrItineraryData const*, llvm::MachineInstr const*, unsigned int, llvm::MachineInstr const*, unsigned int) const"},
-    {"_ZNK4llvm15TargetInstrInfo17getOperandLatencyEPKNS_18InstrItineraryDataEPNS_6SDNodeEjS5_j", "llvm::TargetInstrInfo::getOperandLatency(llvm::InstrItineraryData const*, llvm::SDNode*, unsigned int, llvm::SDNode*, unsigned int) const"},
-    {"_ZNK4llvm15TargetInstrInfo15getInstrLatencyEPKNS_18InstrItineraryDataEPKNS_12MachineInstrEPj", "llvm::TargetInstrInfo::getInstrLatency(llvm::InstrItineraryData const*, llvm::MachineInstr const*, unsigned int*) const"},
-    {"_ZNK4llvm15TargetInstrInfo15getInstrLatencyEPKNS_18InstrItineraryDataEPNS_6SDNodeE", "llvm::TargetInstrInfo::getInstrLatency(llvm::InstrItineraryData const*, llvm::SDNode*) const"},
-    {"_ZNK4llvm15TargetInstrInfo16hasLowDefLatencyEPKNS_18InstrItineraryDataEPKNS_12MachineInstrEj", "llvm::TargetInstrInfo::hasLowDefLatency(llvm::InstrItineraryData const*, llvm::MachineInstr const*, unsigned int) const"},
-    {"_ZNK4llvm15TargetInstrInfo10insertNoopERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12MachineInstrEEE", "llvm::TargetInstrInfo::insertNoop(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>) const"},
-    {"_ZNK4llvm15TargetInstrInfo24isUnpredicatedTerminatorEPKNS_12MachineInstrE", "llvm::TargetInstrInfo::isUnpredicatedTerminator(llvm::MachineInstr const*) const"},
-    {"_ZNK4llvm15TargetInstrInfo18getInlineAsmLengthEPKcRKNS_9MCAsmInfoE", "llvm::TargetInstrInfo::getInlineAsmLength(char const*, llvm::MCAsmInfo const&) const"},
-    {"_ZN4llvm24TargetLoweringObjectFileC1Ev", "llvm::TargetLoweringObjectFile::TargetLoweringObjectFile()"},
-    {"_ZN4llvm24TargetLoweringObjectFileC2Ev", "llvm::TargetLoweringObjectFile::TargetLoweringObjectFile()"},
-    {"_ZN4llvm24TargetLoweringObjectFileD0Ev", "llvm::TargetLoweringObjectFile::~TargetLoweringObjectFile()"},
-    {"_ZN4llvm24TargetLoweringObjectFileD1Ev", "llvm::TargetLoweringObjectFile::~TargetLoweringObjectFile()"},
-    {"_ZN4llvm24TargetLoweringObjectFileD2Ev", "llvm::TargetLoweringObjectFile::~TargetLoweringObjectFile()"},
-    {"_ZN4llvm24TargetLoweringObjectFile16getKindForGlobalEPKNS_11GlobalValueERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFile::getKindForGlobal(llvm::GlobalValue const*, llvm::TargetMachine const&)"},
-    {"_ZNK4llvm24TargetLoweringObjectFile16SectionForGlobalEPKNS_11GlobalValueENS_11SectionKindEPNS_7ManglerERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFile::SectionForGlobal(llvm::GlobalValue const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile22SelectSectionForGlobalEPKNS_11GlobalValueENS_11SectionKindEPNS_7ManglerERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFile::SelectSectionForGlobal(llvm::GlobalValue const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&) const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile21getSectionForConstantENS_11SectionKindE", "llvm::TargetLoweringObjectFile::getSectionForConstant(llvm::SectionKind) const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile30getExprForDwarfGlobalReferenceEPKNS_11GlobalValueEPNS_7ManglerEPNS_17MachineModuleInfoEjRNS_10MCStreamerE", "llvm::TargetLoweringObjectFile::getExprForDwarfGlobalReference(llvm::GlobalValue const*, llvm::Mangler*, llvm::MachineModuleInfo*, unsigned int, llvm::MCStreamer&) const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile24getExprForDwarfReferenceEPKNS_8MCSymbolEPNS_7ManglerEPNS_17MachineModuleInfoEjRNS_10MCStreamerE", "llvm::TargetLoweringObjectFile::getExprForDwarfReference(llvm::MCSymbol const*, llvm::Mangler*, llvm::MachineModuleInfo*, unsigned int, llvm::MCStreamer&) const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile22getPersonalityEncodingEv", "llvm::TargetLoweringObjectFile::getPersonalityEncoding() const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile15getLSDAEncodingEv", "llvm::TargetLoweringObjectFile::getLSDAEncoding() const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile14getFDEEncodingEv", "llvm::TargetLoweringObjectFile::getFDEEncoding() const"},
-    {"_ZNK4llvm24TargetLoweringObjectFile16getTTypeEncodingEv", "llvm::TargetLoweringObjectFile::getTTypeEncoding() const"},
-    {"_ZN4llvm24TargetLoweringObjectFile10InitializeERNS_9MCContextERKNS_13TargetMachineE", "llvm::TargetLoweringObjectFile::Initialize(llvm::MCContext&, llvm::TargetMachine const&)"},
-    {"_ZN4llvm13TargetMachineC1ERKNS_6TargetE", "llvm::TargetMachine::TargetMachine(llvm::Target const&)"},
-    {"_ZN4llvm13TargetMachineC2ERKNS_6TargetE", "llvm::TargetMachine::TargetMachine(llvm::Target const&)"},
-    {"_ZN4llvm13TargetMachineD0Ev", "llvm::TargetMachine::~TargetMachine()"},
-    {"_ZN4llvm13TargetMachineD1Ev", "llvm::TargetMachine::~TargetMachine()"},
-    {"_ZN4llvm13TargetMachineD2Ev", "llvm::TargetMachine::~TargetMachine()"},
-    {"_ZN4llvm13TargetMachine18getRelocationModelEv", "llvm::TargetMachine::getRelocationModel()"},
-    {"_ZN4llvm13TargetMachine18setRelocationModelENS_5Reloc5ModelE", "llvm::TargetMachine::setRelocationModel(llvm::Reloc::Model)"},
-    {"_ZN4llvm13TargetMachine12getCodeModelEv", "llvm::TargetMachine::getCodeModel()"},
-    {"_ZN4llvm13TargetMachine12setCodeModelENS_9CodeModel5ModelE", "llvm::TargetMachine::setCodeModel(llvm::CodeModel::Model)"},
-    {"_ZN4llvm13TargetMachine22getAsmVerbosityDefaultEv", "llvm::TargetMachine::getAsmVerbosityDefault()"},
-    {"_ZN4llvm13TargetMachine22setAsmVerbosityDefaultEb", "llvm::TargetMachine::setAsmVerbosityDefault(bool)"},
-    {"_ZN4llvm13TargetMachine19getFunctionSectionsEv", "llvm::TargetMachine::getFunctionSections()"},
-    {"_ZN4llvm13TargetMachine15getDataSectionsEv", "llvm::TargetMachine::getDataSections()"},
-    {"_ZN4llvm13TargetMachine19setFunctionSectionsEb", "llvm::TargetMachine::setFunctionSections(bool)"},
-    {"_ZN4llvm13TargetMachine15setDataSectionsEb", "llvm::TargetMachine::setDataSections(bool)"},
-    {"_ZN4llvm23DisableFramePointerElimERKNS_15MachineFunctionE", "llvm::DisableFramePointerElim(llvm::MachineFunction const&)"},
-    {"_ZN4llvm16LessPreciseFPMADEv", "llvm::LessPreciseFPMAD()"},
-    {"_ZN4llvm32HonorSignDependentRoundingFPMathEv", "llvm::HonorSignDependentRoundingFPMath()"},
-    {"_ZN4llvm2cl3optIbLb1ENS0_6parserIbEEED1Ev", "llvm::cl::opt<bool, true, llvm::cl::parser<bool> >::~opt()"},
-    {"_ZN4llvm2cl3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS3_EEED1Ev", "llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >::~opt()"},
-    {"_ZN4llvm2cl3optINS_5Reloc5ModelELb1ENS0_6parserIS3_EEED1Ev", "llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >::~opt()"},
-    {"_ZN4llvm2cl3optINS_9CodeModel5ModelELb1ENS0_6parserIS3_EEED1Ev", "llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >::~opt()"},
-    {"_ZN4llvm2cl3optIjLb1ENS0_6parserIjEEED1Ev", "llvm::cl::opt<unsigned int, true, llvm::cl::parser<unsigned int> >::~opt()"},
-    {"_ZNK4llvm13TargetMachine25getEnableTailMergeDefaultEv", "llvm::TargetMachine::getEnableTailMergeDefault() const"},
-    {"_ZN4llvm13TargetMachine19addPassesToEmitFileERNS_15PassManagerBaseERNS_21formatted_raw_ostreamENS0_15CodeGenFileTypeENS_10CodeGenOpt5LevelEb", "llvm::TargetMachine::addPassesToEmitFile(llvm::PassManagerBase&, llvm::formatted_raw_ostream&, llvm::TargetMachine::CodeGenFileType, llvm::CodeGenOpt::Level, bool)"},
-    {"_ZN4llvm13TargetMachine26addPassesToEmitMachineCodeERNS_15PassManagerBaseERNS_14JITCodeEmitterENS_10CodeGenOpt5LevelEb", "llvm::TargetMachine::addPassesToEmitMachineCode(llvm::PassManagerBase&, llvm::JITCodeEmitter&, llvm::CodeGenOpt::Level, bool)"},
-    {"_ZN4llvm13TargetMachine17addPassesToEmitMCERNS_15PassManagerBaseERPNS_9MCContextENS_10CodeGenOpt5LevelEb", "llvm::TargetMachine::addPassesToEmitMC(llvm::PassManagerBase&, llvm::MCContext*&, llvm::CodeGenOpt::Level, bool)"},
-    {"_ZN4llvm2cl3optIbLb1ENS0_6parserIbEEE16handleOccurrenceEjNS_9StringRefES5_", "llvm::cl::opt<bool, true, llvm::cl::parser<bool> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIbLb1ENS0_6parserIbEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<bool, true, llvm::cl::parser<bool> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optIbLb1ENS0_6parserIbEEE14getOptionWidthEv", "llvm::cl::opt<bool, true, llvm::cl::parser<bool> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIbLb1ENS0_6parserIbEEE15printOptionInfoEm", "llvm::cl::opt<bool, true, llvm::cl::parser<bool> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIbLb1ENS0_6parserIbEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<bool, true, llvm::cl::parser<bool> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optIbLb1ENS0_6parserIbEEED0Ev", "llvm::cl::opt<bool, true, llvm::cl::parser<bool> >::~opt()"},
-    {"_ZN4llvm2cl3optIjLb1ENS0_6parserIjEEE16handleOccurrenceEjNS_9StringRefES5_", "llvm::cl::opt<unsigned int, true, llvm::cl::parser<unsigned int> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIjLb1ENS0_6parserIjEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<unsigned int, true, llvm::cl::parser<unsigned int> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optIjLb1ENS0_6parserIjEEE14getOptionWidthEv", "llvm::cl::opt<unsigned int, true, llvm::cl::parser<unsigned int> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIjLb1ENS0_6parserIjEEE15printOptionInfoEm", "llvm::cl::opt<unsigned int, true, llvm::cl::parser<unsigned int> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIjLb1ENS0_6parserIjEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<unsigned int, true, llvm::cl::parser<unsigned int> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optIjLb1ENS0_6parserIjEEED0Ev", "llvm::cl::opt<unsigned int, true, llvm::cl::parser<unsigned int> >::~opt()"},
-    {"_ZN4llvm2cl3optINS_9CodeModel5ModelELb1ENS0_6parserIS3_EEE16handleOccurrenceEjNS_9StringRefES7_", "llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optINS_9CodeModel5ModelELb1ENS0_6parserIS3_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optINS_9CodeModel5ModelELb1ENS0_6parserIS3_EEE14getOptionWidthEv", "llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optINS_9CodeModel5ModelELb1ENS0_6parserIS3_EEE15printOptionInfoEm", "llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optINS_9CodeModel5ModelELb1ENS0_6parserIS3_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optINS_9CodeModel5ModelELb1ENS0_6parserIS3_EEED0Ev", "llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >::~opt()"},
-    {"_ZN4llvm2cl19generic_parser_base19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::generic_parser_base::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl6parserINS_9CodeModel5ModelEE5parseERNS0_6OptionENS_9StringRefES7_RS3_", "llvm::cl::parser<llvm::CodeModel::Model>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, llvm::CodeModel::Model&)"},
-    {"_ZNK4llvm2cl11ValuesClassIiE5applyINS0_3optINS_9CodeModel5ModelELb1ENS0_6parserIS6_EEEEEEvRT_", "void llvm::cl::ValuesClass<int>::apply<llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> > >(llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserINS_9CodeModel5ModelEE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::CodeModel::Model>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm2cl6parserINS_9CodeModel5ModelEED1Ev", "llvm::cl::parser<llvm::CodeModel::Model>::~parser()"},
-    {"_ZN4llvm2cl6parserINS_9CodeModel5ModelEED0Ev", "llvm::cl::parser<llvm::CodeModel::Model>::~parser()"},
-    {"_ZNK4llvm2cl6parserINS_9CodeModel5ModelEE13getNumOptionsEv", "llvm::cl::parser<llvm::CodeModel::Model>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserINS_9CodeModel5ModelEE9getOptionEj", "llvm::cl::parser<llvm::CodeModel::Model>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserINS_9CodeModel5ModelEE14getDescriptionEj", "llvm::cl::parser<llvm::CodeModel::Model>::getDescription(unsigned int) const"},
-    {"_ZN4llvm2cl3optINS_5Reloc5ModelELb1ENS0_6parserIS3_EEE16handleOccurrenceEjNS_9StringRefES7_", "llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optINS_5Reloc5ModelELb1ENS0_6parserIS3_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optINS_5Reloc5ModelELb1ENS0_6parserIS3_EEE14getOptionWidthEv", "llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optINS_5Reloc5ModelELb1ENS0_6parserIS3_EEE15printOptionInfoEm", "llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optINS_5Reloc5ModelELb1ENS0_6parserIS3_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optINS_5Reloc5ModelELb1ENS0_6parserIS3_EEED0Ev", "llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >::~opt()"},
-    {"_ZN4llvm2cl6parserINS_5Reloc5ModelEE5parseERNS0_6OptionENS_9StringRefES7_RS3_", "llvm::cl::parser<llvm::Reloc::Model>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, llvm::Reloc::Model&)"},
-    {"_ZNK4llvm2cl11ValuesClassIiE5applyINS0_3optINS_5Reloc5ModelELb1ENS0_6parserIS6_EEEEEEvRT_", "void llvm::cl::ValuesClass<int>::apply<llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> > >(llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserINS_5Reloc5ModelEE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::Reloc::Model>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm2cl6parserINS_5Reloc5ModelEED1Ev", "llvm::cl::parser<llvm::Reloc::Model>::~parser()"},
-    {"_ZN4llvm2cl6parserINS_5Reloc5ModelEED0Ev", "llvm::cl::parser<llvm::Reloc::Model>::~parser()"},
-    {"_ZNK4llvm2cl6parserINS_5Reloc5ModelEE13getNumOptionsEv", "llvm::cl::parser<llvm::Reloc::Model>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserINS_5Reloc5ModelEE9getOptionEj", "llvm::cl::parser<llvm::Reloc::Model>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserINS_5Reloc5ModelEE14getDescriptionEj", "llvm::cl::parser<llvm::Reloc::Model>::getDescription(unsigned int) const"},
-    {"_ZN4llvm2cl3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS3_EEE16handleOccurrenceEjNS_9StringRefES7_", "llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS3_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS3_EEE14getOptionWidthEv", "llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS3_EEE15printOptionInfoEm", "llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS3_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS3_EEED0Ev", "llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >::~opt()"},
-    {"_ZN4llvm2cl6parserINS_8FloatABI7ABITypeEE5parseERNS0_6OptionENS_9StringRefES7_RS3_", "llvm::cl::parser<llvm::FloatABI::ABIType>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, llvm::FloatABI::ABIType&)"},
-    {"_ZNK4llvm2cl11ValuesClassIiE5applyINS0_3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS6_EEEEEEvRT_", "void llvm::cl::ValuesClass<int>::apply<llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> > >(llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserINS_8FloatABI7ABITypeEE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::FloatABI::ABIType>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm2cl6parserINS_8FloatABI7ABITypeEED1Ev", "llvm::cl::parser<llvm::FloatABI::ABIType>::~parser()"},
-    {"_ZN4llvm2cl6parserINS_8FloatABI7ABITypeEED0Ev", "llvm::cl::parser<llvm::FloatABI::ABIType>::~parser()"},
-    {"_ZNK4llvm2cl6parserINS_8FloatABI7ABITypeEE13getNumOptionsEv", "llvm::cl::parser<llvm::FloatABI::ABIType>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserINS_8FloatABI7ABITypeEE9getOptionEj", "llvm::cl::parser<llvm::FloatABI::ABIType>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserINS_8FloatABI7ABITypeEE14getDescriptionEj", "llvm::cl::parser<llvm::FloatABI::ABIType>::getDescription(unsigned int) const"},
-    {"_ZN4llvm18TargetRegisterInfoC1EPKNS_18TargetRegisterDescEjPKPKNS_19TargetRegisterClassES8_PKPKciiPKjjSE_j", "llvm::TargetRegisterInfo::TargetRegisterInfo(llvm::TargetRegisterDesc const*, unsigned int, llvm::TargetRegisterClass const* const*, llvm::TargetRegisterClass const* const*, char const* const*, int, int, unsigned int const*, unsigned int, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm18TargetRegisterInfoC2EPKNS_18TargetRegisterDescEjPKPKNS_19TargetRegisterClassES8_PKPKciiPKjjSE_j", "llvm::TargetRegisterInfo::TargetRegisterInfo(llvm::TargetRegisterDesc const*, unsigned int, llvm::TargetRegisterClass const* const*, llvm::TargetRegisterClass const* const*, char const* const*, int, int, unsigned int const*, unsigned int, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm18TargetRegisterInfoD0Ev", "llvm::TargetRegisterInfo::~TargetRegisterInfo()"},
-    {"_ZN4llvm18TargetRegisterInfoD1Ev", "llvm::TargetRegisterInfo::~TargetRegisterInfo()"},
-    {"_ZN4llvm18TargetRegisterInfoD2Ev", "llvm::TargetRegisterInfo::~TargetRegisterInfo()"},
-    {"_ZNK4llvm8PrintReg5printERNS_11raw_ostreamE", "llvm::PrintReg::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm18TargetRegisterInfo22getMinimalPhysRegClassEjNS_3EVTE", "llvm::TargetRegisterInfo::getMinimalPhysRegClass(unsigned int, llvm::EVT) const"},
-    {"_ZNK4llvm18TargetRegisterInfo17getAllocatableSetERKNS_15MachineFunctionEPKNS_19TargetRegisterClassE", "llvm::TargetRegisterInfo::getAllocatableSet(llvm::MachineFunction const&, llvm::TargetRegisterClass const*) const"},
-    {"_ZN4llvm17getCommonSubClassEPKNS_19TargetRegisterClassES2_", "llvm::getCommonSubClass(llvm::TargetRegisterClass const*, llvm::TargetRegisterClass const*)"},
-    {"_ZNK4llvm18TargetRegisterInfo20composeSubRegIndicesEjj", "llvm::TargetRegisterInfo::composeSubRegIndices(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm18TargetRegisterInfo21needsStackRealignmentERKNS_15MachineFunctionE", "llvm::TargetRegisterInfo::needsStackRealignment(llvm::MachineFunction const&) const"},
-    {"_ZN4llvm15TargetSubtargetC1Ev", "llvm::TargetSubtarget::TargetSubtarget()"},
-    {"_ZN4llvm15TargetSubtargetC2Ev", "llvm::TargetSubtarget::TargetSubtarget()"},
-    {"_ZN4llvm15TargetSubtargetD0Ev", "llvm::TargetSubtarget::~TargetSubtarget()"},
-    {"_ZN4llvm15TargetSubtargetD1Ev", "llvm::TargetSubtarget::~TargetSubtarget()"},
-    {"_ZN4llvm15TargetSubtargetD2Ev", "llvm::TargetSubtarget::~TargetSubtarget()"},
-    {"_ZNK4llvm15TargetSubtarget21enablePostRASchedulerENS_10CodeGenOpt5LevelERNS0_16AntiDepBreakModeERNS_15SmallVectorImplIPNS_19TargetRegisterClassEEE", "llvm::TargetSubtarget::enablePostRAScheduler(llvm::CodeGenOpt::Level, llvm::TargetSubtarget::AntiDepBreakMode&, llvm::SmallVectorImpl<llvm::TargetRegisterClass*>&) const"},
-    {"_ZN4llvm24AssemblyAnnotationWriterD0Ev", "llvm::AssemblyAnnotationWriter::~AssemblyAnnotationWriter()"},
-    {"_ZN4llvm24AssemblyAnnotationWriterD1Ev", "llvm::AssemblyAnnotationWriter::~AssemblyAnnotationWriter()"},
-    {"_ZN4llvm24AssemblyAnnotationWriterD2Ev", "llvm::AssemblyAnnotationWriter::~AssemblyAnnotationWriter()"},
-    {"_ZN4llvm12TypePrinting5clearEv", "llvm::TypePrinting::clear()"},
-    {"_ZNK4llvm12TypePrinting11hasTypeNameEPKNS_4TypeE", "llvm::TypePrinting::hasTypeName(llvm::Type const*) const"},
-    {"_ZN4llvm12TypePrinting11addTypeNameEPKNS_4TypeERKSs", "llvm::TypePrinting::addTypeName(llvm::Type const*, std::string const&)"},
-    {"_ZN4llvm12TypePrintingC1Ev", "llvm::TypePrinting::TypePrinting()"},
-    {"_ZN4llvm12TypePrintingC2Ev", "llvm::TypePrinting::TypePrinting()"},
-    {"_ZN4llvm12TypePrintingD1Ev", "llvm::TypePrinting::~TypePrinting()"},
-    {"_ZN4llvm12TypePrintingD2Ev", "llvm::TypePrinting::~TypePrinting()"},
-    {"_ZN4llvm12TypePrinting12CalcTypeNameEPKNS_4TypeERNS_15SmallVectorImplIS3_EERNS_11raw_ostreamEb", "llvm::TypePrinting::CalcTypeName(llvm::Type const*, llvm::SmallVectorImpl<llvm::Type const*>&, llvm::raw_ostream&, bool)"},
-    {"_ZN4llvm12TypePrinting5printEPKNS_4TypeERNS_11raw_ostreamEb", "llvm::TypePrinting::print(llvm::Type const*, llvm::raw_ostream&, bool)"},
-    {"_ZN4llvm17WriteTypeSymbolicERNS_11raw_ostreamEPKNS_4TypeEPKNS_6ModuleE", "llvm::WriteTypeSymbolic(llvm::raw_ostream&, llvm::Type const*, llvm::Module const*)"},
-    {"_Z23AddModuleTypesToPrinterRN4llvm12TypePrintingERSt6vectorIPKNS_4TypeESaIS5_EEPKNS_6ModuleE", "AddModuleTypesToPrinter(llvm::TypePrinting&, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> >&, llvm::Module const*)"},
-    {"_ZN4llvm14WriteAsOperandERNS_11raw_ostreamEPKNS_5ValueEbPKNS_6ModuleE", "llvm::WriteAsOperand(llvm::raw_ostream&, llvm::Value const*, bool, llvm::Module const*)"},
-    {"_Z22WriteAsOperandInternalRN4llvm11raw_ostreamEPKNS_5ValueEPNS_12TypePrintingEPN12_GLOBAL__N_111SlotTrackerEPKNS_6ModuleE", "WriteAsOperandInternal(llvm::raw_ostream&, llvm::Value const*, llvm::TypePrinting*, (anonymous namespace)::SlotTracker*, llvm::Module const*)"},
-    {"_ZNK4llvm6Module5printERNS_11raw_ostreamEPNS_24AssemblyAnnotationWriterE", "llvm::Module::print(llvm::raw_ostream&, llvm::AssemblyAnnotationWriter*) const"},
-    {"_ZN12_GLOBAL__N_111SlotTrackerC1EPKN4llvm6ModuleE", "(anonymous namespace)::SlotTracker::SlotTracker(llvm::Module const*)"},
-    {"_ZNK4llvm11NamedMDNode5printERNS_11raw_ostreamEPNS_24AssemblyAnnotationWriterE", "llvm::NamedMDNode::print(llvm::raw_ostream&, llvm::AssemblyAnnotationWriter*) const"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter16printNamedMDNodeEPKN4llvm11NamedMDNodeE", "(anonymous namespace)::AssemblyWriter::printNamedMDNode(llvm::NamedMDNode const*)"},
-    {"_ZNK4llvm4Type5printERNS_11raw_ostreamE", "llvm::Type::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm5Value5printERNS_11raw_ostreamEPNS_24AssemblyAnnotationWriterE", "llvm::Value::print(llvm::raw_ostream&, llvm::AssemblyAnnotationWriter*) const"},
-    {"_ZN12_GLOBAL__N_111SlotTrackerC1EPKN4llvm8FunctionE", "(anonymous namespace)::SlotTracker::SlotTracker(llvm::Function const*)"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter16printInstructionERKN4llvm11InstructionE", "(anonymous namespace)::AssemblyWriter::printInstruction(llvm::Instruction const&)"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter15printBasicBlockEPKN4llvm10BasicBlockE", "(anonymous namespace)::AssemblyWriter::printBasicBlock(llvm::BasicBlock const*)"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter11printGlobalEPKN4llvm14GlobalVariableE", "(anonymous namespace)::AssemblyWriter::printGlobal(llvm::GlobalVariable const*)"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter13printFunctionEPKN4llvm8FunctionE", "(anonymous namespace)::AssemblyWriter::printFunction(llvm::Function const*)"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter10printAliasEPKN4llvm11GlobalAliasE", "(anonymous namespace)::AssemblyWriter::printAlias(llvm::GlobalAlias const*)"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter15printMDNodeBodyEPKN4llvm6MDNodeE", "(anonymous namespace)::AssemblyWriter::printMDNodeBody(llvm::MDNode const*)"},
-    {"_Z21WriteConstantInternalRN4llvm11raw_ostreamEPKNS_8ConstantERNS_12TypePrintingEPN12_GLOBAL__N_111SlotTrackerEPKNS_6ModuleE", "WriteConstantInternal(llvm::raw_ostream&, llvm::Constant const*, llvm::TypePrinting&, (anonymous namespace)::SlotTracker*, llvm::Module const*)"},
-    {"_ZNK4llvm5Value11printCustomERNS_11raw_ostreamE", "llvm::Value::printCustom(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm5Value4dumpEv", "llvm::Value::dump() const"},
-    {"_ZNK4llvm4Type4dumpEPKNS_6ModuleE", "llvm::Type::dump(llvm::Module const*) const"},
-    {"_ZNK4llvm4Type4dumpEv", "llvm::Type::dump() const"},
-    {"_ZNK4llvm6Module4dumpEv", "llvm::Module::dump() const"},
-    {"_Z18PrintEscapedStringN4llvm9StringRefERNS_11raw_ostreamE", "PrintEscapedString(llvm::StringRef, llvm::raw_ostream&)"},
-    {"_Z21WriteOptimizationInfoRN4llvm11raw_ostreamEPKNS_4UserE", "WriteOptimizationInfo(llvm::raw_ostream&, llvm::User const*)"},
-    {"_Z23WriteMDNodeBodyInternalRN4llvm11raw_ostreamEPKNS_6MDNodeEPNS_12TypePrintingEPN12_GLOBAL__N_111SlotTrackerEPKNS_6ModuleE", "WriteMDNodeBodyInternal(llvm::raw_ostream&, llvm::MDNode const*, llvm::TypePrinting*, (anonymous namespace)::SlotTracker*, llvm::Module const*)"},
-    {"_Z12PrintLinkageN4llvm11GlobalValue12LinkageTypesERNS_21formatted_raw_ostreamE", "PrintLinkage(llvm::GlobalValue::LinkageTypes, llvm::formatted_raw_ostream&)"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter12writeOperandEPKN4llvm5ValueEb", "(anonymous namespace)::AssemblyWriter::writeOperand(llvm::Value const*, bool)"},
-    {"_Z13PrintLLVMNameRN4llvm11raw_ostreamENS_9StringRefE10PrefixType", "PrintLLVMName(llvm::raw_ostream&, llvm::StringRef, PrefixType)"},
-    {"_ZN12_GLOBAL__N_111SlotTracker10initializeEv", "(anonymous namespace)::SlotTracker::initialize()"},
-    {"_ZN12_GLOBAL__N_111SlotTracker18CreateMetadataSlotEPKN4llvm6MDNodeE", "(anonymous namespace)::SlotTracker::CreateMetadataSlot(llvm::MDNode const*)"},
-    {"_ZN12_GLOBAL__N_114AssemblyWriter17writeParamOperandEPKN4llvm5ValueEj", "(anonymous namespace)::AssemblyWriter::writeParamOperand(llvm::Value const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_110TypeFinder15IncorporateTypeEPKN4llvm4TypeE", "(anonymous namespace)::TypeFinder::IncorporateType(llvm::Type const*)"},
-    {"_ZN12_GLOBAL__N_110TypeFinder16IncorporateValueEPKN4llvm5ValueE", "(anonymous namespace)::TypeFinder::IncorporateValue(llvm::Value const*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeESsNS_12DenseMapInfoIS3_EENS4_ISsEEE5clearEv", "llvm::DenseMap<llvm::Type const*, std::string, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<std::string> >::clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeESsNS_12DenseMapInfoIS3_EENS4_ISsEEE6insertERKSt4pairIS3_SsE", "llvm::DenseMap<llvm::Type const*, std::string, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<std::string> >::insert(std::pair<llvm::Type const*, std::string> const&)"},
-    {"_ZN4llvm24AssemblyAnnotationWriter17emitFunctionAnnotEPKNS_8FunctionERNS_21formatted_raw_ostreamE", "llvm::AssemblyAnnotationWriter::emitFunctionAnnot(llvm::Function const*, llvm::formatted_raw_ostream&)"},
-    {"_ZN4llvm24AssemblyAnnotationWriter24emitBasicBlockStartAnnotEPKNS_10BasicBlockERNS_21formatted_raw_ostreamE", "llvm::AssemblyAnnotationWriter::emitBasicBlockStartAnnot(llvm::BasicBlock const*, llvm::formatted_raw_ostream&)"},
-    {"_ZN4llvm24AssemblyAnnotationWriter22emitBasicBlockEndAnnotEPKNS_10BasicBlockERNS_21formatted_raw_ostreamE", "llvm::AssemblyAnnotationWriter::emitBasicBlockEndAnnot(llvm::BasicBlock const*, llvm::formatted_raw_ostream&)"},
-    {"_ZN4llvm24AssemblyAnnotationWriter20emitInstructionAnnotEPKNS_11InstructionERNS_21formatted_raw_ostreamE", "llvm::AssemblyAnnotationWriter::emitInstructionAnnot(llvm::Instruction const*, llvm::formatted_raw_ostream&)"},
-    {"_ZN4llvm24AssemblyAnnotationWriter16printInfoCommentERKNS_5ValueERNS_21formatted_raw_ostreamE", "llvm::AssemblyAnnotationWriter::printInfoComment(llvm::Value const&, llvm::formatted_raw_ostream&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeESsNS_12DenseMapInfoIS3_EENS4_ISsEEE16InsertIntoBucketERKS3_RKSsPSt4pairIS3_SsE", "llvm::DenseMap<llvm::Type const*, std::string, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<std::string> >::InsertIntoBucket(llvm::Type const* const&, std::string const&, std::pair<llvm::Type const*, std::string>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeESsNS_12DenseMapInfoIS3_EENS4_ISsEEE4growEj", "llvm::DenseMap<llvm::Type const*, std::string, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<std::string> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeESsNS_12DenseMapInfoIS3_EENS4_ISsEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Type const*, std::string, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<std::string> >::shrink_and_clear()"},
-    {"_ZNK4llvm5APInt3ultEy", "llvm::APInt::ult(unsigned long long) const"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueEjNS_12DenseMapInfoIS3_EENS4_IjEEE16shrink_and_clearEv", "llvm::DenseMap<llvm::Value const*, unsigned int, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<unsigned int> >::shrink_and_clear()"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::MDNode const*, unsigned int, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::MDNode const* const&, unsigned int const&, std::pair<llvm::MDNode const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_6MDNodeEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::MDNode const*, unsigned int, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplIPKNS_6MDNodeEE6resizeEj", "llvm::SmallVectorImpl<llvm::MDNode const*>::resize(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueEcNS_12DenseMapInfoIS3_EENS4_IcEEE6insertERKSt4pairIS3_cE", "llvm::DenseMap<llvm::Value const*, char, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<char> >::insert(std::pair<llvm::Value const*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueEcNS_12DenseMapInfoIS3_EENS4_IcEEE16InsertIntoBucketERKS3_RKcPSt4pairIS3_cE", "llvm::DenseMap<llvm::Value const*, char, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(llvm::Value const* const&, char const&, std::pair<llvm::Value const*, char>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_5ValueEcNS_12DenseMapInfoIS3_EENS4_IcEEE4growEj", "llvm::DenseMap<llvm::Value const*, char, llvm::DenseMapInfo<llvm::Value const*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeEcNS_12DenseMapInfoIS3_EENS4_IcEEE6insertERKSt4pairIS3_cE", "llvm::DenseMap<llvm::Type const*, char, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<char> >::insert(std::pair<llvm::Type const*, char> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeEcNS_12DenseMapInfoIS3_EENS4_IcEEE16InsertIntoBucketERKS3_RKcPSt4pairIS3_cE", "llvm::DenseMap<llvm::Type const*, char, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<char> >::InsertIntoBucket(llvm::Type const* const&, char const&, std::pair<llvm::Type const*, char>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_4TypeEcNS_12DenseMapInfoIS3_EENS4_IcEEE4growEj", "llvm::DenseMap<llvm::Type const*, char, llvm::DenseMapInfo<llvm::Type const*>, llvm::DenseMapInfo<char> >::grow(unsigned int)"},
-    {"_ZN4llvm9Attribute11getAsStringEj", "llvm::Attribute::getAsString(unsigned int)"},
-    {"_ZN4llvm9Attribute16typeIncompatibleEPKNS_4TypeE", "llvm::Attribute::typeIncompatible(llvm::Type const*)"},
-    {"_ZN4llvm17AttributeListImplD1Ev", "llvm::AttributeListImpl::~AttributeListImpl()"},
-    {"_ZN4llvm17AttributeListImplD2Ev", "llvm::AttributeListImpl::~AttributeListImpl()"},
-    {"_ZN4llvm11AttrListPtr3getEPKNS_18AttributeWithIndexEj", "llvm::AttrListPtr::get(llvm::AttributeWithIndex const*, unsigned int)"},
-    {"_ZN4llvm11AttrListPtrC1EPNS_17AttributeListImplE", "llvm::AttrListPtr::AttrListPtr(llvm::AttributeListImpl*)"},
-    {"_ZN4llvm11AttrListPtrC2EPNS_17AttributeListImplE", "llvm::AttrListPtr::AttrListPtr(llvm::AttributeListImpl*)"},
-    {"_ZN4llvm11AttrListPtrC1ERKS0_", "llvm::AttrListPtr::AttrListPtr(llvm::AttrListPtr const&)"},
-    {"_ZN4llvm11AttrListPtrC2ERKS0_", "llvm::AttrListPtr::AttrListPtr(llvm::AttrListPtr const&)"},
-    {"_ZN4llvm11AttrListPtraSERKS0_", "llvm::AttrListPtr::operator=(llvm::AttrListPtr const&)"},
-    {"_ZN4llvm11AttrListPtrD1Ev", "llvm::AttrListPtr::~AttrListPtr()"},
-    {"_ZN4llvm11AttrListPtrD2Ev", "llvm::AttrListPtr::~AttrListPtr()"},
-    {"_ZNK4llvm11AttrListPtr11getNumSlotsEv", "llvm::AttrListPtr::getNumSlots() const"},
-    {"_ZNK4llvm11AttrListPtr7getSlotEj", "llvm::AttrListPtr::getSlot(unsigned int) const"},
-    {"_ZNK4llvm11AttrListPtr13getAttributesEj", "llvm::AttrListPtr::getAttributes(unsigned int) const"},
-    {"_ZNK4llvm11AttrListPtr16hasAttrSomewhereEj", "llvm::AttrListPtr::hasAttrSomewhere(unsigned int) const"},
-    {"_ZNK4llvm11AttrListPtr7addAttrEjj", "llvm::AttrListPtr::addAttr(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm11AttrListPtr10removeAttrEjj", "llvm::AttrListPtr::removeAttr(unsigned int, unsigned int) const"},
-    {"_ZNK4llvm11AttrListPtr4dumpEv", "llvm::AttrListPtr::dump() const"},
-    {"_ZN4llvm17AttributeListImpl6AddRefEv", "llvm::AttributeListImpl::AddRef()"},
-    {"_ZN4llvm17AttributeListImpl7DropRefEv", "llvm::AttributeListImpl::DropRef()"},
-    {"_ZN4llvm15SmallVectorImplINS_18AttributeWithIndexEE6insertIPKS1_EEPS1_S6_T_S7_", "llvm::AttributeWithIndex* llvm::SmallVectorImpl<llvm::AttributeWithIndex>::insert<llvm::AttributeWithIndex const*>(llvm::AttributeWithIndex*, llvm::AttributeWithIndex const*, llvm::AttributeWithIndex const*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_18AttributeWithIndexELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::AttributeWithIndex, false>::grow(unsigned long)"},
-    {"_ZN4llvm14object_creatorINS_10FoldingSetINS_17AttributeListImplEEEEEPvv", "void* llvm::object_creator<llvm::FoldingSet<llvm::AttributeListImpl> >()"},
-    {"_ZN4llvm14object_deleterINS_10FoldingSetINS_17AttributeListImplEEEE4callEPv", "llvm::object_deleter<llvm::FoldingSet<llvm::AttributeListImpl> >::call(void*)"},
-    {"_ZN4llvm10FoldingSetINS_17AttributeListImplEED1Ev", "llvm::FoldingSet<llvm::AttributeListImpl>::~FoldingSet()"},
-    {"_ZN4llvm10FoldingSetINS_17AttributeListImplEED0Ev", "llvm::FoldingSet<llvm::AttributeListImpl>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_17AttributeListImplEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::AttributeListImpl>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_17AttributeListImplEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS6_", "llvm::FoldingSet<llvm::AttributeListImpl>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_17AttributeListImplEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::AttributeListImpl>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm24UpgradeIntrinsicFunctionEPNS_8FunctionERS1_", "llvm::UpgradeIntrinsicFunction(llvm::Function*, llvm::Function*&)"},
-    {"_Z25UpgradeIntrinsicFunction1PN4llvm8FunctionERS1_", "UpgradeIntrinsicFunction1(llvm::Function*, llvm::Function*&)"},
-    {"_ZN4llvm21UpgradeGlobalVariableEPNS_14GlobalVariableE", "llvm::UpgradeGlobalVariable(llvm::GlobalVariable*)"},
-    {"_ZN4llvm20UpgradeIntrinsicCallEPNS_8CallInstEPNS_8FunctionE", "llvm::UpgradeIntrinsicCall(llvm::CallInst*, llvm::Function*)"},
-    {"_Z14ExtendNEONArgsPN4llvm8CallInstEPNS_5ValueES3_RS3_S4_", "ExtendNEONArgs(llvm::CallInst*, llvm::Value*, llvm::Value*, llvm::Value*&, llvm::Value*&)"},
-    {"_Z8CallVABDPN4llvm8CallInstEPNS_5ValueES3_", "CallVABD(llvm::CallInst*, llvm::Value*, llvm::Value*)"},
-    {"_Z20ConstructNewCallInstPN4llvm8FunctionEPNS_8CallInstEPPNS_5ValueEjb", "ConstructNewCallInst(llvm::Function*, llvm::CallInst*, llvm::Value**, unsigned int, bool)"},
-    {"_ZN4llvm23UpgradeCallsToIntrinsicEPNS_8FunctionE", "llvm::UpgradeCallsToIntrinsic(llvm::Function*)"},
-    {"_ZN4llvm24CheckDebugInfoIntrinsicsEPNS_6ModuleE", "llvm::CheckDebugInfoIntrinsics(llvm::Module*)"},
-    {"_ZN4llvm9IRBuilderILb1ENS_14ConstantFolderENS_24IRBuilderDefaultInserterILb1EEEE19CreateShuffleVectorEPNS_5ValueES6_S6_RKNS_5TwineE", "llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateShuffleVector(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm10BasicBlock19getValueSymbolTableEv", "llvm::BasicBlock::getValueSymbolTable()"},
-    {"_ZNK4llvm10BasicBlock10getContextEv", "llvm::BasicBlock::getContext() const"},
-    {"_ZN4llvm10BasicBlockC1ERNS_11LLVMContextERKNS_5TwineEPNS_8FunctionEPS0_", "llvm::BasicBlock::BasicBlock(llvm::LLVMContext&, llvm::Twine const&, llvm::Function*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10BasicBlockC2ERNS_11LLVMContextERKNS_5TwineEPNS_8FunctionEPS0_", "llvm::BasicBlock::BasicBlock(llvm::LLVMContext&, llvm::Twine const&, llvm::Function*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10BasicBlockD0Ev", "llvm::BasicBlock::~BasicBlock()"},
-    {"_ZN4llvm10BasicBlockD1Ev", "llvm::BasicBlock::~BasicBlock()"},
-    {"_ZN4llvm10BasicBlockD2Ev", "llvm::BasicBlock::~BasicBlock()"},
-    {"_ZN4llvm10BasicBlock17dropAllReferencesEv", "llvm::BasicBlock::dropAllReferences()"},
-    {"_ZN4llvm10BasicBlock9setParentEPNS_8FunctionE", "llvm::BasicBlock::setParent(llvm::Function*)"},
-    {"_ZN4llvm10BasicBlock16removeFromParentEv", "llvm::BasicBlock::removeFromParent()"},
-    {"_ZN4llvm10BasicBlock15eraseFromParentEv", "llvm::BasicBlock::eraseFromParent()"},
-    {"_ZN4llvm10BasicBlock10moveBeforeEPS0_", "llvm::BasicBlock::moveBefore(llvm::BasicBlock*)"},
-    {"_ZN4llvm10BasicBlock9moveAfterEPS0_", "llvm::BasicBlock::moveAfter(llvm::BasicBlock*)"},
-    {"_ZN4llvm10BasicBlock13getTerminatorEv", "llvm::BasicBlock::getTerminator()"},
-    {"_ZNK4llvm10BasicBlock13getTerminatorEv", "llvm::BasicBlock::getTerminator() const"},
-    {"_ZN4llvm10BasicBlock14getFirstNonPHIEv", "llvm::BasicBlock::getFirstNonPHI()"},
-    {"_ZN4llvm10BasicBlock19getFirstNonPHIOrDbgEv", "llvm::BasicBlock::getFirstNonPHIOrDbg()"},
-    {"_ZN4llvm10BasicBlock20getSinglePredecessorEv", "llvm::BasicBlock::getSinglePredecessor()"},
-    {"_ZN4llvm10BasicBlock20getUniquePredecessorEv", "llvm::BasicBlock::getUniquePredecessor()"},
-    {"_ZN4llvm10BasicBlock17removePredecessorEPS0_b", "llvm::BasicBlock::removePredecessor(llvm::BasicBlock*, bool)"},
-    {"_ZN4llvm10BasicBlock15splitBasicBlockENS_14ilist_iteratorINS_11InstructionEEERKNS_5TwineE", "llvm::BasicBlock::splitBasicBlock(llvm::ilist_iterator<llvm::Instruction>, llvm::Twine const&)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEEC1Ev", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEEC2Ev", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE12getListOwnerEv", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::getListOwner()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE7getListEPS2_", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::getList(llvm::BasicBlock*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE9getSymTabEPS2_", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::getSymTab(llvm::BasicBlock*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE5toPtrEPNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::toPtr(llvm::ValueSymbolTable*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE13addNodeToListEPS1_", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::addNodeToList(llvm::Instruction*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE18removeNodeFromListEPS1_", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::removeNodeFromList(llvm::Instruction*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE21transferNodesFromListERNS_12ilist_traitsIS1_EENS_14ilist_iteratorIS1_EES8_", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::transferNodesFromList(llvm::ilist_traits<llvm::Instruction>&, llvm::ilist_iterator<llvm::Instruction>, llvm::ilist_iterator<llvm::Instruction>)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE5toPtrERNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::toPtr(llvm::ValueSymbolTable&)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11InstructionENS_10BasicBlockEE15setSymTabObjectIPNS_8FunctionEEEvPT_S7_", "void llvm::SymbolTableListTraits<llvm::Instruction, llvm::BasicBlock>::setSymTabObject<llvm::Function*>(llvm::Function**, llvm::Function*)"},
-    {"_ZN4llvm6iplistINS_11InstructionENS_12ilist_traitsIS1_EEE5eraseENS_14ilist_iteratorIS1_EE", "llvm::iplist<llvm::Instruction, llvm::ilist_traits<llvm::Instruction> >::erase(llvm::ilist_iterator<llvm::Instruction>)"},
-    {"_ZN4llvm27ConstantFoldCastInstructionEjPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantFoldCastInstruction(unsigned int, llvm::Constant*, llvm::Type const*)"},
-    {"_Z15getFoldedSizeOfPKN4llvm4TypeES2_b", "getFoldedSizeOf(llvm::Type const*, llvm::Type const*, bool)"},
-    {"_Z16getFoldedAlignOfPKN4llvm4TypeES2_b", "getFoldedAlignOf(llvm::Type const*, llvm::Type const*, bool)"},
-    {"_Z20ExtractConstantBytesPN4llvm8ConstantEjj", "ExtractConstantBytes(llvm::Constant*, unsigned int, unsigned int)"},
-    {"_ZN4llvm29ConstantFoldSelectInstructionEPNS_8ConstantES1_S1_", "llvm::ConstantFoldSelectInstruction(llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm37ConstantFoldExtractElementInstructionEPNS_8ConstantES1_", "llvm::ConstantFoldExtractElementInstruction(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm36ConstantFoldInsertElementInstructionEPNS_8ConstantES1_S1_", "llvm::ConstantFoldInsertElementInstruction(llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm36ConstantFoldShuffleVectorInstructionEPNS_8ConstantES1_S1_", "llvm::ConstantFoldShuffleVectorInstruction(llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_Z16GetVectorElementPN4llvm8ConstantEj", "GetVectorElement(llvm::Constant*, unsigned int)"},
-    {"_ZN4llvm35ConstantFoldExtractValueInstructionEPNS_8ConstantEPKjj", "llvm::ConstantFoldExtractValueInstruction(llvm::Constant*, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm34ConstantFoldInsertValueInstructionEPNS_8ConstantES1_PKjj", "llvm::ConstantFoldInsertValueInstruction(llvm::Constant*, llvm::Constant*, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm29ConstantFoldBinaryInstructionEjPNS_8ConstantES1_", "llvm::ConstantFoldBinaryInstruction(unsigned int, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm30ConstantFoldCompareInstructionEtPNS_8ConstantES1_", "llvm::ConstantFoldCompareInstruction(unsigned short, llvm::Constant*, llvm::Constant*)"},
-    {"_Z20evaluateFCmpRelationPN4llvm8ConstantES1_", "evaluateFCmpRelation(llvm::Constant*, llvm::Constant*)"},
-    {"_Z20evaluateICmpRelationPN4llvm8ConstantES1_b", "evaluateICmpRelation(llvm::Constant*, llvm::Constant*, bool)"},
-    {"_ZN4llvm25ConstantFoldGetElementPtrEPNS_8ConstantEbPKS1_j", "llvm::ConstantFoldGetElementPtr(llvm::Constant*, bool, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm25ConstantFoldGetElementPtrEPNS_8ConstantEbPKPNS_5ValueEj", "llvm::ConstantFoldGetElementPtr(llvm::Constant*, bool, llvm::Value* const*, unsigned int)"},
-    {"_Z20isMaybeZeroSizedTypePKN4llvm4TypeE", "isMaybeZeroSizedType(llvm::Type const*)"},
-    {"_ZN4llvm8Constant12getNullValueEPKNS_4TypeE", "llvm::Constant::getNullValue(llvm::Type const*)"},
-    {"_ZN4llvm11ConstantInt3getEPKNS_4TypeEyb", "llvm::ConstantInt::get(llvm::Type const*, unsigned long long, bool)"},
-    {"_ZN4llvm10ConstantFP3getERNS_11LLVMContextERKNS_7APFloatE", "llvm::ConstantFP::get(llvm::LLVMContext&, llvm::APFloat const&)"},
-    {"_ZN4llvm19ConstantPointerNull3getEPKNS_11PointerTypeE", "llvm::ConstantPointerNull::get(llvm::PointerType const*)"},
-    {"_ZN4llvm21ConstantAggregateZero3getEPKNS_4TypeE", "llvm::ConstantAggregateZero::get(llvm::Type const*)"},
-    {"_ZN4llvm8Constant15getIntegerValueEPKNS_4TypeERKNS_5APIntE", "llvm::Constant::getIntegerValue(llvm::Type const*, llvm::APInt const&)"},
-    {"_ZN4llvm11ConstantInt3getERNS_11LLVMContextERKNS_5APIntE", "llvm::ConstantInt::get(llvm::LLVMContext&, llvm::APInt const&)"},
-    {"_ZN4llvm12ConstantExpr11getIntToPtrEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getIntToPtr(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm14ConstantVector3getERKSt6vectorIPNS_8ConstantESaIS3_EE", "llvm::ConstantVector::get(std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm8Constant15getAllOnesValueEPKNS_4TypeE", "llvm::Constant::getAllOnesValue(llvm::Type const*)"},
-    {"_ZN4llvm8Constant19destroyConstantImplEv", "llvm::Constant::destroyConstantImpl()"},
-    {"_ZNK4llvm8Constant7canTrapEv", "llvm::Constant::canTrap() const"},
-    {"_ZNK4llvm8Constant14isConstantUsedEv", "llvm::Constant::isConstantUsed() const"},
-    {"_ZNK4llvm8Constant17getRelocationInfoEv", "llvm::Constant::getRelocationInfo() const"},
-    {"_ZNK4llvm8Constant17getVectorElementsERNS_15SmallVectorImplIPS0_EE", "llvm::Constant::getVectorElements(llvm::SmallVectorImpl<llvm::Constant*>&) const"},
-    {"_ZN4llvm10UndefValue3getEPKNS_4TypeE", "llvm::UndefValue::get(llvm::Type const*)"},
-    {"_ZN4llvm11ConstantIntC1EPKNS_11IntegerTypeERKNS_5APIntE", "llvm::ConstantInt::ConstantInt(llvm::IntegerType const*, llvm::APInt const&)"},
-    {"_ZN4llvm11ConstantIntC2EPKNS_11IntegerTypeERKNS_5APIntE", "llvm::ConstantInt::ConstantInt(llvm::IntegerType const*, llvm::APInt const&)"},
-    {"_ZN4llvm11ConstantInt7getTrueERNS_11LLVMContextE", "llvm::ConstantInt::getTrue(llvm::LLVMContext&)"},
-    {"_ZN4llvm11ConstantInt3getEPKNS_11IntegerTypeEyb", "llvm::ConstantInt::get(llvm::IntegerType const*, unsigned long long, bool)"},
-    {"_ZN4llvm11ConstantInt8getFalseERNS_11LLVMContextE", "llvm::ConstantInt::getFalse(llvm::LLVMContext&)"},
-    {"_ZN4llvm11ConstantInt9getSignedEPKNS_11IntegerTypeEx", "llvm::ConstantInt::getSigned(llvm::IntegerType const*, long long)"},
-    {"_ZN4llvm11ConstantInt9getSignedEPKNS_4TypeEx", "llvm::ConstantInt::getSigned(llvm::Type const*, long long)"},
-    {"_ZN4llvm11ConstantInt3getEPKNS_4TypeERKNS_5APIntE", "llvm::ConstantInt::get(llvm::Type const*, llvm::APInt const&)"},
-    {"_ZN4llvm11ConstantInt3getEPKNS_11IntegerTypeENS_9StringRefEh", "llvm::ConstantInt::get(llvm::IntegerType const*, llvm::StringRef, unsigned char)"},
-    {"_ZN4llvm10ConstantFP3getEPKNS_4TypeEd", "llvm::ConstantFP::get(llvm::Type const*, double)"},
-    {"_ZN4llvm10ConstantFP3getEPKNS_4TypeENS_9StringRefE", "llvm::ConstantFP::get(llvm::Type const*, llvm::StringRef)"},
-    {"_ZN4llvm10ConstantFP15getNegativeZeroEPKNS_4TypeE", "llvm::ConstantFP::getNegativeZero(llvm::Type const*)"},
-    {"_ZN4llvm10ConstantFP23getZeroValueForNegationEPKNS_4TypeE", "llvm::ConstantFP::getZeroValueForNegation(llvm::Type const*)"},
-    {"_ZN4llvm14ConstantVector3getEPKNS_10VectorTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantVector::get(llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm10ConstantFPC1EPKNS_4TypeERKNS_7APFloatE", "llvm::ConstantFP::ConstantFP(llvm::Type const*, llvm::APFloat const&)"},
-    {"_ZN4llvm10ConstantFP11getInfinityEPKNS_4TypeEb", "llvm::ConstantFP::getInfinity(llvm::Type const*, bool)"},
-    {"_ZN4llvm10ConstantFPC2EPKNS_4TypeERKNS_7APFloatE", "llvm::ConstantFP::ConstantFP(llvm::Type const*, llvm::APFloat const&)"},
-    {"_ZNK4llvm10ConstantFP11isNullValueEv", "llvm::ConstantFP::isNullValue() const"},
-    {"_ZNK4llvm10ConstantFP14isExactlyValueERKNS_7APFloatE", "llvm::ConstantFP::isExactlyValue(llvm::APFloat const&) const"},
-    {"_ZN4llvm13ConstantArrayC1EPKNS_9ArrayTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantArray::ConstantArray(llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm13ConstantArrayC2EPKNS_9ArrayTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantArray::ConstantArray(llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm13ConstantArray3getEPKNS_9ArrayTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantArray::get(llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm13ConstantArray3getEPKNS_9ArrayTypeEPKPNS_8ConstantEj", "llvm::ConstantArray::get(llvm::ArrayType const*, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm13ConstantArray3getERNS_11LLVMContextENS_9StringRefEb", "llvm::ConstantArray::get(llvm::LLVMContext&, llvm::StringRef, bool)"},
-    {"_ZN4llvm14ConstantStructC1EPKNS_10StructTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantStruct::ConstantStruct(llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm14ConstantStructC2EPKNS_10StructTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantStruct::ConstantStruct(llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm14ConstantStruct3getEPKNS_10StructTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantStruct::get(llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm14ConstantStruct3getERNS_11LLVMContextERKSt6vectorIPNS_8ConstantESaIS5_EEb", "llvm::ConstantStruct::get(llvm::LLVMContext&, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&, bool)"},
-    {"_ZN4llvm14ConstantStruct3getERNS_11LLVMContextEPKPNS_8ConstantEjb", "llvm::ConstantStruct::get(llvm::LLVMContext&, llvm::Constant* const*, unsigned int, bool)"},
-    {"_ZN4llvm14ConstantVectorC1EPKNS_10VectorTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantVector::ConstantVector(llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm14ConstantVectorC2EPKNS_10VectorTypeERKSt6vectorIPNS_8ConstantESaIS6_EE", "llvm::ConstantVector::ConstantVector(llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm14ConstantVector3getEPKPNS_8ConstantEj", "llvm::ConstantVector::get(llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr9getNSWNegEPNS_8ConstantE", "llvm::ConstantExpr::getNSWNeg(llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getNSWSubEPNS_8ConstantES2_", "llvm::ConstantExpr::getNSWSub(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getNUWNegEPNS_8ConstantE", "llvm::ConstantExpr::getNUWNeg(llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getNUWSubEPNS_8ConstantES2_", "llvm::ConstantExpr::getNUWSub(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getNSWAddEPNS_8ConstantES2_", "llvm::ConstantExpr::getNSWAdd(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr5getTyEPKNS_4TypeEjPNS_8ConstantES5_j", "llvm::ConstantExpr::getTy(llvm::Type const*, unsigned int, llvm::Constant*, llvm::Constant*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr9getNUWAddEPNS_8ConstantES2_", "llvm::ConstantExpr::getNUWAdd(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getNSWMulEPNS_8ConstantES2_", "llvm::ConstantExpr::getNSWMul(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getNUWMulEPNS_8ConstantES2_", "llvm::ConstantExpr::getNUWMul(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getNSWShlEPNS_8ConstantES2_", "llvm::ConstantExpr::getNSWShl(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getNUWShlEPNS_8ConstantES2_", "llvm::ConstantExpr::getNUWShl(llvm::Constant*, llvm::Constant*)"},
-    {"_ZNK4llvm12ConstantExpr6isCastEv", "llvm::ConstantExpr::isCast() const"},
-    {"_ZNK4llvm12ConstantExpr9isCompareEv", "llvm::ConstantExpr::isCompare() const"},
-    {"_ZNK4llvm12ConstantExpr31isGEPWithNoNotionalOverIndexingEv", "llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing() const"},
-    {"_ZNK4llvm12ConstantExpr10hasIndicesEv", "llvm::ConstantExpr::hasIndices() const"},
-    {"_ZNK4llvm12ConstantExpr10getIndicesEv", "llvm::ConstantExpr::getIndices() const"},
-    {"_ZNK4llvm12ConstantExpr12getPredicateEv", "llvm::ConstantExpr::getPredicate() const"},
-    {"_ZNK4llvm12ConstantExpr22getWithOperandReplacedEjPNS_8ConstantE", "llvm::ConstantExpr::getWithOperandReplaced(unsigned int, llvm::Constant*) const"},
-    {"_ZN4llvm12ConstantExpr7getCastEjPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getCast(unsigned int, llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr16getInsertElementEPNS_8ConstantES2_S2_", "llvm::ConstantExpr::getInsertElement(llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr17getExtractElementEPNS_8ConstantES2_", "llvm::ConstantExpr::getExtractElement(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr16getShuffleVectorEPNS_8ConstantES2_S2_", "llvm::ConstantExpr::getShuffleVector(llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr24getInBoundsGetElementPtrEPNS_8ConstantEPKS2_j", "llvm::ConstantExpr::getInBoundsGetElementPtr(llvm::Constant*, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr16getGetElementPtrEPNS_8ConstantEPKS2_j", "llvm::ConstantExpr::getGetElementPtr(llvm::Constant*, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr3getEjPNS_8ConstantES2_j", "llvm::ConstantExpr::get(unsigned int, llvm::Constant*, llvm::Constant*, unsigned int)"},
-    {"_ZNK4llvm12ConstantExpr15getWithOperandsEPKPNS_8ConstantEj", "llvm::ConstantExpr::getWithOperands(llvm::Constant* const*, unsigned int) const"},
-    {"_ZN4llvm12ConstantExpr10getCompareEtPNS_8ConstantES2_", "llvm::ConstantExpr::getCompare(unsigned short, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm11ConstantInt19isValueValidForTypeEPKNS_4TypeEy", "llvm::ConstantInt::isValueValidForType(llvm::Type const*, unsigned long long)"},
-    {"_ZN4llvm11ConstantInt19isValueValidForTypeEPKNS_4TypeEx", "llvm::ConstantInt::isValueValidForType(llvm::Type const*, long long)"},
-    {"_ZN4llvm10ConstantFP19isValueValidForTypeEPKNS_4TypeERKNS_7APFloatE", "llvm::ConstantFP::isValueValidForType(llvm::Type const*, llvm::APFloat const&)"},
-    {"_ZN4llvm21ConstantAggregateZero15destroyConstantEv", "llvm::ConstantAggregateZero::destroyConstant()"},
-    {"_ZN4llvm13ConstantArray15destroyConstantEv", "llvm::ConstantArray::destroyConstant()"},
-    {"_ZNK4llvm13ConstantArray8isStringEv", "llvm::ConstantArray::isString() const"},
-    {"_ZNK4llvm13ConstantArray9isCStringEv", "llvm::ConstantArray::isCString() const"},
-    {"_ZNK4llvm13ConstantArray11getAsStringEv", "llvm::ConstantArray::getAsString() const"},
-    {"_ZN4llvm14ConstantStruct15destroyConstantEv", "llvm::ConstantStruct::destroyConstant()"},
-    {"_ZN4llvm14ConstantVector15destroyConstantEv", "llvm::ConstantVector::destroyConstant()"},
-    {"_ZNK4llvm14ConstantVector14isAllOnesValueEv", "llvm::ConstantVector::isAllOnesValue() const"},
-    {"_ZNK4llvm14ConstantVector13getSplatValueEv", "llvm::ConstantVector::getSplatValue() const"},
-    {"_ZN4llvm19ConstantPointerNull15destroyConstantEv", "llvm::ConstantPointerNull::destroyConstant()"},
-    {"_ZN4llvm10UndefValue15destroyConstantEv", "llvm::UndefValue::destroyConstant()"},
-    {"_ZN4llvm12BlockAddress3getEPNS_10BasicBlockE", "llvm::BlockAddress::get(llvm::BasicBlock*)"},
-    {"_ZN4llvm12BlockAddress3getEPNS_8FunctionEPNS_10BasicBlockE", "llvm::BlockAddress::get(llvm::Function*, llvm::BasicBlock*)"},
-    {"_ZN4llvm12BlockAddressC1EPNS_8FunctionEPNS_10BasicBlockE", "llvm::BlockAddress::BlockAddress(llvm::Function*, llvm::BasicBlock*)"},
-    {"_ZN4llvm12BlockAddressC2EPNS_8FunctionEPNS_10BasicBlockE", "llvm::BlockAddress::BlockAddress(llvm::Function*, llvm::BasicBlock*)"},
-    {"_ZN4llvm12BlockAddress15destroyConstantEv", "llvm::BlockAddress::destroyConstant()"},
-    {"_ZN4llvm12BlockAddress27replaceUsesOfWithOnConstantEPNS_5ValueES2_PNS_3UseE", "llvm::BlockAddress::replaceUsesOfWithOnConstant(llvm::Value*, llvm::Value*, llvm::Use*)"},
-    {"_ZN4llvm12ConstantExpr8getTruncEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getTrunc(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr7getZExtEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getZExt(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr7getSExtEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getSExt(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr10getFPTruncEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getFPTrunc(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr11getFPExtendEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getFPExtend(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr9getUIToFPEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getUIToFP(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr9getSIToFPEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getSIToFP(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr9getFPToUIEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getFPToUI(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr9getFPToSIEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getFPToSI(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr11getPtrToIntEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getPtrToInt(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr10getBitCastEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getBitCast(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr16getZExtOrBitCastEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getZExtOrBitCast(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr16getSExtOrBitCastEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getSExtOrBitCast(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr17getTruncOrBitCastEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getTruncOrBitCast(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr14getPointerCastEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getPointerCast(llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr14getIntegerCastEPNS_8ConstantEPKNS_4TypeEb", "llvm::ConstantExpr::getIntegerCast(llvm::Constant*, llvm::Type const*, bool)"},
-    {"_ZN4llvm12ConstantExpr9getFPCastEPNS_8ConstantEPKNS_4TypeE", "llvm::ConstantExpr::getFPCast(llvm::Constant*, llvm::Type const*)"},
-    {"_Z13getFoldedCastN4llvm11Instruction7CastOpsEPNS_8ConstantEPKNS_4TypeE", "getFoldedCast(llvm::Instruction::CastOps, llvm::Constant*, llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr12getCompareTyEtPNS_8ConstantES2_", "llvm::ConstantExpr::getCompareTy(unsigned short, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getFCmpEtPNS_8ConstantES2_", "llvm::ConstantExpr::getFCmp(unsigned short, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getICmpEtPNS_8ConstantES2_", "llvm::ConstantExpr::getICmp(unsigned short, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr9getSizeOfEPKNS_4TypeE", "llvm::ConstantExpr::getSizeOf(llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr10getAlignOfEPKNS_4TypeE", "llvm::ConstantExpr::getAlignOf(llvm::Type const*)"},
-    {"_ZN4llvm12ConstantExpr11getOffsetOfEPKNS_10StructTypeEj", "llvm::ConstantExpr::getOffsetOf(llvm::StructType const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr11getOffsetOfEPKNS_4TypeEPNS_8ConstantE", "llvm::ConstantExpr::getOffsetOf(llvm::Type const*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr11getSelectTyEPKNS_4TypeEPNS_8ConstantES5_S5_", "llvm::ConstantExpr::getSelectTy(llvm::Type const*, llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr16getGetElementPtrEPNS_8ConstantEPKPNS_5ValueEj", "llvm::ConstantExpr::getGetElementPtr(llvm::Constant*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr24getInBoundsGetElementPtrEPNS_8ConstantEPKPNS_5ValueEj", "llvm::ConstantExpr::getInBoundsGetElementPtr(llvm::Constant*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr19getExtractElementTyEPKNS_4TypeEPNS_8ConstantES5_", "llvm::ConstantExpr::getExtractElementTy(llvm::Type const*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr18getInsertElementTyEPKNS_4TypeEPNS_8ConstantES5_S5_", "llvm::ConstantExpr::getInsertElementTy(llvm::Type const*, llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr18getShuffleVectorTyEPKNS_4TypeEPNS_8ConstantES5_S5_", "llvm::ConstantExpr::getShuffleVectorTy(llvm::Type const*, llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr16getInsertValueTyEPKNS_4TypeEPNS_8ConstantES5_PKjj", "llvm::ConstantExpr::getInsertValueTy(llvm::Type const*, llvm::Constant*, llvm::Constant*, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr14getInsertValueEPNS_8ConstantES2_PKjj", "llvm::ConstantExpr::getInsertValue(llvm::Constant*, llvm::Constant*, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr17getExtractValueTyEPKNS_4TypeEPNS_8ConstantEPKjj", "llvm::ConstantExpr::getExtractValueTy(llvm::Type const*, llvm::Constant*, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr15getExtractValueEPNS_8ConstantEPKjj", "llvm::ConstantExpr::getExtractValue(llvm::Constant*, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr6getNegEPNS_8ConstantE", "llvm::ConstantExpr::getNeg(llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getFNegEPNS_8ConstantE", "llvm::ConstantExpr::getFNeg(llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr6getNotEPNS_8ConstantE", "llvm::ConstantExpr::getNot(llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr6getAddEPNS_8ConstantES2_", "llvm::ConstantExpr::getAdd(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getFAddEPNS_8ConstantES2_", "llvm::ConstantExpr::getFAdd(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr6getSubEPNS_8ConstantES2_", "llvm::ConstantExpr::getSub(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getFSubEPNS_8ConstantES2_", "llvm::ConstantExpr::getFSub(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr6getMulEPNS_8ConstantES2_", "llvm::ConstantExpr::getMul(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getFMulEPNS_8ConstantES2_", "llvm::ConstantExpr::getFMul(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getUDivEPNS_8ConstantES2_b", "llvm::ConstantExpr::getUDiv(llvm::Constant*, llvm::Constant*, bool)"},
-    {"_ZN4llvm12ConstantExpr7getSDivEPNS_8ConstantES2_b", "llvm::ConstantExpr::getSDiv(llvm::Constant*, llvm::Constant*, bool)"},
-    {"_ZN4llvm12ConstantExpr7getFDivEPNS_8ConstantES2_", "llvm::ConstantExpr::getFDiv(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getURemEPNS_8ConstantES2_", "llvm::ConstantExpr::getURem(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getSRemEPNS_8ConstantES2_", "llvm::ConstantExpr::getSRem(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getFRemEPNS_8ConstantES2_", "llvm::ConstantExpr::getFRem(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr6getAndEPNS_8ConstantES2_", "llvm::ConstantExpr::getAnd(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr5getOrEPNS_8ConstantES2_", "llvm::ConstantExpr::getOr(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr6getXorEPNS_8ConstantES2_", "llvm::ConstantExpr::getXor(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr6getShlEPNS_8ConstantES2_", "llvm::ConstantExpr::getShl(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm12ConstantExpr7getLShrEPNS_8ConstantES2_b", "llvm::ConstantExpr::getLShr(llvm::Constant*, llvm::Constant*, bool)"},
-    {"_ZN4llvm12ConstantExpr7getAShrEPNS_8ConstantES2_b", "llvm::ConstantExpr::getAShr(llvm::Constant*, llvm::Constant*, bool)"},
-    {"_ZN4llvm12ConstantExpr15destroyConstantEv", "llvm::ConstantExpr::destroyConstant()"},
-    {"_ZNK4llvm12ConstantExpr13getOpcodeNameEv", "llvm::ConstantExpr::getOpcodeName() const"},
-    {"_ZN4llvm25GetElementPtrConstantExprC1EPNS_8ConstantERKSt6vectorIS2_SaIS2_EEPKNS_4TypeE", "llvm::GetElementPtrConstantExpr::GetElementPtrConstantExpr(llvm::Constant*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&, llvm::Type const*)"},
-    {"_ZN4llvm25GetElementPtrConstantExprC2EPNS_8ConstantERKSt6vectorIS2_SaIS2_EEPKNS_4TypeE", "llvm::GetElementPtrConstantExpr::GetElementPtrConstantExpr(llvm::Constant*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&, llvm::Type const*)"},
-    {"_ZN4llvm13ConstantArray27replaceUsesOfWithOnConstantEPNS_5ValueES2_PNS_3UseE", "llvm::ConstantArray::replaceUsesOfWithOnConstant(llvm::Value*, llvm::Value*, llvm::Use*)"},
-    {"_ZN4llvm14ConstantStruct27replaceUsesOfWithOnConstantEPNS_5ValueES2_PNS_3UseE", "llvm::ConstantStruct::replaceUsesOfWithOnConstant(llvm::Value*, llvm::Value*, llvm::Use*)"},
-    {"_ZN4llvm14ConstantVector27replaceUsesOfWithOnConstantEPNS_5ValueES2_PNS_3UseE", "llvm::ConstantVector::replaceUsesOfWithOnConstant(llvm::Value*, llvm::Value*, llvm::Use*)"},
-    {"_ZN4llvm12ConstantExpr27replaceUsesOfWithOnConstantEPNS_5ValueES2_PNS_3UseE", "llvm::ConstantExpr::replaceUsesOfWithOnConstant(llvm::Value*, llvm::Value*, llvm::Use*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE11getOrCreateEPKS6_RKS5_", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::getOrCreate(llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE11getOrCreateEPKS6_RKS5_", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::getOrCreate(llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EE11getOrCreateEPKS6_RKS5_", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::getOrCreate(llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_8ConstantEE6resizeEj", "llvm::SmallVectorImpl<llvm::Constant*>::resize(unsigned int)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EE6removeEPS2_", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>::remove(llvm::ConstantAggregateZero*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE6removeEPS7_", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::remove(llvm::ConstantArray*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE6removeEPS7_", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::remove(llvm::ConstantStruct*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EE6removeEPS7_", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::remove(llvm::ConstantVector*)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EE6removeEPS2_", "llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>::remove(llvm::ConstantPointerNull*)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EE6removeEPS2_", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>::remove(llvm::UndefValue*)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EE11getOrCreateEPKS2_RKS1_", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::getOrCreate(llvm::Type const*, llvm::ExprMapKeyType const&)"},
-    {"_ZN4llvm12ConstantExpr20getGetElementPtrImplIPNS_5ValueEEEPNS_8ConstantES5_PKT_j", "llvm::Constant* llvm::ConstantExpr::getGetElementPtrImpl<llvm::Value*>(llvm::Constant*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr20getGetElementPtrImplIPNS_8ConstantEEES3_S3_PKT_j", "llvm::Constant* llvm::ConstantExpr::getGetElementPtrImpl<llvm::Constant*>(llvm::Constant*, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr28getInBoundsGetElementPtrImplIPNS_5ValueEEEPNS_8ConstantES5_PKT_j", "llvm::Constant* llvm::ConstantExpr::getInBoundsGetElementPtrImpl<llvm::Value*>(llvm::Constant*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr28getInBoundsGetElementPtrImplIPNS_8ConstantEEES3_S3_PKT_j", "llvm::Constant* llvm::ConstantExpr::getInBoundsGetElementPtrImpl<llvm::Constant*>(llvm::Constant*, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EE6removeEPS3_", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::remove(llvm::ConstantExpr*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE15InsertOrGetItemERSt4pairIS9_IPKS6_S5_EPS7_ERb", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::InsertOrGetItem(std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, llvm::ConstantArray*>&, bool&)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE21MoveConstantToNewSlotEPS7_St17_Rb_tree_iteratorISt4pairIKSB_IPKS6_S5_ES9_EE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::MoveConstantToNewSlot(llvm::ConstantArray*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE15InsertOrGetItemERSt4pairIS9_IPKS6_S5_EPS7_ERb", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::InsertOrGetItem(std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, llvm::ConstantStruct*>&, bool&)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE21MoveConstantToNewSlotEPS7_St17_Rb_tree_iteratorISt4pairIKSB_IPKS6_S5_ES9_EE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::MoveConstantToNewSlot(llvm::ConstantStruct*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >)"},
-    {"_ZN4llvm21ConstantAggregateZeroD1Ev", "llvm::ConstantAggregateZero::~ConstantAggregateZero()"},
-    {"_ZN4llvm21ConstantAggregateZeroD0Ev", "llvm::ConstantAggregateZero::~ConstantAggregateZero()"},
-    {"_ZNK4llvm21ConstantAggregateZero11isNullValueEv", "llvm::ConstantAggregateZero::isNullValue() const"},
-    {"_ZNK4llvm8Constant19isNegativeZeroValueEv", "llvm::Constant::isNegativeZeroValue() const"},
-    {"_ZN4llvm8Constant27replaceUsesOfWithOnConstantEPNS_5ValueES2_PNS_3UseE", "llvm::Constant::replaceUsesOfWithOnConstant(llvm::Value*, llvm::Value*, llvm::Use*)"},
-    {"_ZN4llvm19ConstantPointerNullD1Ev", "llvm::ConstantPointerNull::~ConstantPointerNull()"},
-    {"_ZN4llvm19ConstantPointerNullD0Ev", "llvm::ConstantPointerNull::~ConstantPointerNull()"},
-    {"_ZNK4llvm19ConstantPointerNull11isNullValueEv", "llvm::ConstantPointerNull::isNullValue() const"},
-    {"_ZN4llvm12ConstantExprD1Ev", "llvm::ConstantExpr::~ConstantExpr()"},
-    {"_ZN4llvm12ConstantExprD0Ev", "llvm::ConstantExpr::~ConstantExpr()"},
-    {"_ZNK4llvm12ConstantExpr11isNullValueEv", "llvm::ConstantExpr::isNullValue() const"},
-    {"_ZN4llvm10UndefValueD1Ev", "llvm::UndefValue::~UndefValue()"},
-    {"_ZN4llvm10UndefValueD0Ev", "llvm::UndefValue::~UndefValue()"},
-    {"_ZNK4llvm10UndefValue11isNullValueEv", "llvm::UndefValue::isNullValue() const"},
-    {"_ZN4llvm10ConstantFPD1Ev", "llvm::ConstantFP::~ConstantFP()"},
-    {"_ZN4llvm10ConstantFPD0Ev", "llvm::ConstantFP::~ConstantFP()"},
-    {"_ZNK4llvm10ConstantFP19isNegativeZeroValueEv", "llvm::ConstantFP::isNegativeZeroValue() const"},
-    {"_ZN4llvm8Constant15destroyConstantEv", "llvm::Constant::destroyConstant()"},
-    {"_ZN4llvm13ConstantArrayD1Ev", "llvm::ConstantArray::~ConstantArray()"},
-    {"_ZN4llvm13ConstantArrayD0Ev", "llvm::ConstantArray::~ConstantArray()"},
-    {"_ZNK4llvm13ConstantArray11isNullValueEv", "llvm::ConstantArray::isNullValue() const"},
-    {"_ZN4llvm14ConstantStructD1Ev", "llvm::ConstantStruct::~ConstantStruct()"},
-    {"_ZN4llvm14ConstantStructD0Ev", "llvm::ConstantStruct::~ConstantStruct()"},
-    {"_ZNK4llvm14ConstantStruct11isNullValueEv", "llvm::ConstantStruct::isNullValue() const"},
-    {"_ZN4llvm14ConstantVectorD1Ev", "llvm::ConstantVector::~ConstantVector()"},
-    {"_ZN4llvm14ConstantVectorD0Ev", "llvm::ConstantVector::~ConstantVector()"},
-    {"_ZNK4llvm14ConstantVector11isNullValueEv", "llvm::ConstantVector::isNullValue() const"},
-    {"_ZN4llvm12BlockAddressD1Ev", "llvm::BlockAddress::~BlockAddress()"},
-    {"_ZN4llvm12BlockAddressD0Ev", "llvm::BlockAddress::~BlockAddress()"},
-    {"_ZNK4llvm12BlockAddress11isNullValueEv", "llvm::BlockAddress::isNullValue() const"},
-    {"_ZN4llvm25GetElementPtrConstantExprD1Ev", "llvm::GetElementPtrConstantExpr::~GetElementPtrConstantExpr()"},
-    {"_ZN4llvm25GetElementPtrConstantExprD0Ev", "llvm::GetElementPtrConstantExpr::~GetElementPtrConstantExpr()"},
-    {"_ZN4llvm11ConstantIntD1Ev", "llvm::ConstantInt::~ConstantInt()"},
-    {"_ZN4llvm11ConstantIntD0Ev", "llvm::ConstantInt::~ConstantInt()"},
-    {"_ZNK4llvm11ConstantInt11isNullValueEv", "llvm::ConstantInt::isNullValue() const"},
-    {"_ZN4llvm8ConstantD1Ev", "llvm::Constant::~Constant()"},
-    {"_ZN4llvm8ConstantD0Ev", "llvm::Constant::~Constant()"},
-    {"_ZN4llvm4UserD1Ev", "llvm::User::~User()"},
-    {"_ZN4llvm4UserD0Ev", "llvm::User::~User()"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EE19FindExistingElementEPS3_", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::FindExistingElement(llvm::ConstantExpr*)"},
-    {"_ZN4llvm12ConstantExpr26getInBoundsGetElementPtrTyIPNS_8ConstantEEES3_PKNS_4TypeES3_PKT_j", "llvm::Constant* llvm::ConstantExpr::getInBoundsGetElementPtrTy<llvm::Constant*>(llvm::Type const*, llvm::Constant*, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr26getInBoundsGetElementPtrTyIPNS_5ValueEEEPNS_8ConstantEPKNS_4TypeES5_PKT_j", "llvm::Constant* llvm::ConstantExpr::getInBoundsGetElementPtrTy<llvm::Value*>(llvm::Type const*, llvm::Constant*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr18getGetElementPtrTyIPNS_8ConstantEEES3_PKNS_4TypeES3_PKT_j", "llvm::Constant* llvm::ConstantExpr::getGetElementPtrTy<llvm::Constant*>(llvm::Type const*, llvm::Constant*, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm12ConstantExpr18getGetElementPtrTyIPNS_5ValueEEEPNS_8ConstantEPKNS_4TypeES5_PKT_j", "llvm::Constant* llvm::ConstantExpr::getGetElementPtrTy<llvm::Value*>(llvm::Type const*, llvm::Constant*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EE6CreateEPKS2_RKS1_St17_Rb_tree_iteratorISt4pairIKSA_IS6_S1_EPS3_EE", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::Create(llvm::Type const*, llvm::ExprMapKeyType const&, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> >)"},
-    {"_ZN4llvm15ConstantCreatorINS_12ConstantExprENS_4TypeENS_14ExprMapKeyTypeEE6createEPKS2_RKS3_t", "llvm::ConstantCreator<llvm::ConstantExpr, llvm::Type, llvm::ExprMapKeyType>::create(llvm::Type const*, llvm::ExprMapKeyType const&, unsigned short)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeENS1_14ExprMapKeyTypeEES0_IKS6_PNS1_12ConstantExprEESt10_Select1stISA_ESt4lessIS6_ESaISA_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISA_ERKSA_", "std::_Rb_tree<std::pair<llvm::Type const*, llvm::ExprMapKeyType>, std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> >, std::less<std::pair<llvm::Type const*, llvm::ExprMapKeyType> >, std::allocator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> >, std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> const&)"},
-    {"_ZN4llvm19CompareConstantExprC2EPKNS_4TypeENS_11Instruction8OtherOpsEtPNS_8ConstantES7_", "llvm::CompareConstantExpr::CompareConstantExpr(llvm::Type const*, llvm::Instruction::OtherOps, unsigned short, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm19CompareConstantExprD1Ev", "llvm::CompareConstantExpr::~CompareConstantExpr()"},
-    {"_ZN4llvm19CompareConstantExprD0Ev", "llvm::CompareConstantExpr::~CompareConstantExpr()"},
-    {"_ZN4llvm24ExtractValueConstantExprC2EPNS_8ConstantERKNS_11SmallVectorIjLj4EEEPKNS_4TypeE", "llvm::ExtractValueConstantExpr::ExtractValueConstantExpr(llvm::Constant*, llvm::SmallVector<unsigned int, 4u> const&, llvm::Type const*)"},
-    {"_ZN4llvm24ExtractValueConstantExprD1Ev", "llvm::ExtractValueConstantExpr::~ExtractValueConstantExpr()"},
-    {"_ZN4llvm24ExtractValueConstantExprD0Ev", "llvm::ExtractValueConstantExpr::~ExtractValueConstantExpr()"},
-    {"_ZN4llvm23InsertValueConstantExprC2EPNS_8ConstantES2_RKNS_11SmallVectorIjLj4EEEPKNS_4TypeE", "llvm::InsertValueConstantExpr::InsertValueConstantExpr(llvm::Constant*, llvm::Constant*, llvm::SmallVector<unsigned int, 4u> const&, llvm::Type const*)"},
-    {"_ZN4llvm23InsertValueConstantExprD1Ev", "llvm::InsertValueConstantExpr::~InsertValueConstantExpr()"},
-    {"_ZN4llvm23InsertValueConstantExprD0Ev", "llvm::InsertValueConstantExpr::~InsertValueConstantExpr()"},
-    {"_ZN4llvm25ShuffleVectorConstantExprC2EPNS_8ConstantES2_S2_", "llvm::ShuffleVectorConstantExpr::ShuffleVectorConstantExpr(llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm25ShuffleVectorConstantExprD1Ev", "llvm::ShuffleVectorConstantExpr::~ShuffleVectorConstantExpr()"},
-    {"_ZN4llvm25ShuffleVectorConstantExprD0Ev", "llvm::ShuffleVectorConstantExpr::~ShuffleVectorConstantExpr()"},
-    {"_ZN4llvm25InsertElementConstantExprC2EPNS_8ConstantES2_S2_", "llvm::InsertElementConstantExpr::InsertElementConstantExpr(llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm25InsertElementConstantExprD1Ev", "llvm::InsertElementConstantExpr::~InsertElementConstantExpr()"},
-    {"_ZN4llvm25InsertElementConstantExprD0Ev", "llvm::InsertElementConstantExpr::~InsertElementConstantExpr()"},
-    {"_ZN4llvm26ExtractElementConstantExprC2EPNS_8ConstantES2_", "llvm::ExtractElementConstantExpr::ExtractElementConstantExpr(llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm26ExtractElementConstantExprD1Ev", "llvm::ExtractElementConstantExpr::~ExtractElementConstantExpr()"},
-    {"_ZN4llvm26ExtractElementConstantExprD0Ev", "llvm::ExtractElementConstantExpr::~ExtractElementConstantExpr()"},
-    {"_ZN4llvm18SelectConstantExprC2EPNS_8ConstantES2_S2_", "llvm::SelectConstantExpr::SelectConstantExpr(llvm::Constant*, llvm::Constant*, llvm::Constant*)"},
-    {"_ZN4llvm18SelectConstantExprD1Ev", "llvm::SelectConstantExpr::~SelectConstantExpr()"},
-    {"_ZN4llvm18SelectConstantExprD0Ev", "llvm::SelectConstantExpr::~SelectConstantExpr()"},
-    {"_ZN4llvm18BinaryConstantExprC2EjPNS_8ConstantES2_j", "llvm::BinaryConstantExpr::BinaryConstantExpr(unsigned int, llvm::Constant*, llvm::Constant*, unsigned int)"},
-    {"_ZN4llvm18BinaryConstantExprD1Ev", "llvm::BinaryConstantExpr::~BinaryConstantExpr()"},
-    {"_ZN4llvm18BinaryConstantExprD0Ev", "llvm::BinaryConstantExpr::~BinaryConstantExpr()"},
-    {"_ZN4llvm17UnaryConstantExprD1Ev", "llvm::UnaryConstantExpr::~UnaryConstantExpr()"},
-    {"_ZN4llvm17UnaryConstantExprD0Ev", "llvm::UnaryConstantExpr::~UnaryConstantExpr()"},
-    {"_ZNK4llvm8DenseMapISt4pairIPNS_8FunctionEPNS_10BasicBlockEEPNS_12BlockAddressENS_12DenseMapInfoIS6_EENS9_IS8_EEE15LookupBucketForERKS6_RPS1_IS6_S8_E", "llvm::DenseMap<std::pair<llvm::Function*, llvm::BasicBlock*>, llvm::BlockAddress*, llvm::DenseMapInfo<std::pair<llvm::Function*, llvm::BasicBlock*> >, llvm::DenseMapInfo<llvm::BlockAddress*> >::LookupBucketFor(std::pair<llvm::Function*, llvm::BasicBlock*> const&, std::pair<std::pair<llvm::Function*, llvm::BasicBlock*>, llvm::BlockAddress*>*&) const"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_8FunctionEPNS_10BasicBlockEEPNS_12BlockAddressENS_12DenseMapInfoIS6_EENS9_IS8_EEE16InsertIntoBucketERKS6_RKS8_PS1_IS6_S8_E", "llvm::DenseMap<std::pair<llvm::Function*, llvm::BasicBlock*>, llvm::BlockAddress*, llvm::DenseMapInfo<std::pair<llvm::Function*, llvm::BasicBlock*> >, llvm::DenseMapInfo<llvm::BlockAddress*> >::InsertIntoBucket(std::pair<llvm::Function*, llvm::BasicBlock*> const&, llvm::BlockAddress* const&, std::pair<std::pair<llvm::Function*, llvm::BasicBlock*>, llvm::BlockAddress*>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_8FunctionEPNS_10BasicBlockEEPNS_12BlockAddressENS_12DenseMapInfoIS6_EENS9_IS8_EEE4growEj", "llvm::DenseMap<std::pair<llvm::Function*, llvm::BasicBlock*>, llvm::BlockAddress*, llvm::DenseMapInfo<std::pair<llvm::Function*, llvm::BasicBlock*> >, llvm::DenseMapInfo<llvm::BlockAddress*> >::grow(unsigned int)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EE6CreateEPKS1_RKcSt17_Rb_tree_iteratorISt4pairIKS9_IS5_cEPS2_EE", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>::Create(llvm::Type const*, char const&, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeEcES0_IKS5_PNS1_10UndefValueEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS9_ERKS9_", "std::_Rb_tree<std::pair<llvm::Type const*, char>, std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> >, std::less<std::pair<llvm::Type const*, char> >, std::allocator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> >, std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> const&)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EE6CreateEPKS1_RKcSt17_Rb_tree_iteratorISt4pairIKS9_IS5_cEPS2_EE", "llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>::Create(llvm::PointerType const*, char const&, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm11PointerTypeEcES0_IKS5_PNS1_19ConstantPointerNullEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS9_ERKS9_", "std::_Rb_tree<std::pair<llvm::PointerType const*, char>, std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*>, std::_Select1st<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> >, std::less<std::pair<llvm::PointerType const*, char> >, std::allocator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> >, std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> const&)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EE19FindExistingElementEPS7_", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::FindExistingElement(llvm::ConstantVector*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm14ConstantStructESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_10StructTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE5eraseES5_ISI_ESP_", "std::_Rb_tree<llvm::ConstantStruct*, std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >, std::_Select1st<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::less<llvm::ConstantStruct*>, std::allocator<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::_Rb_tree_iterator<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >)"},
-    {"_ZNSt8_Rb_treeIPN4llvm13ConstantArrayESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_9ArrayTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE5eraseES5_ISI_ESP_", "std::_Rb_tree<llvm::ConstantArray*, std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >, std::_Select1st<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::less<llvm::ConstantArray*>, std::allocator<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::_Rb_tree_iterator<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EE6CreateEPKS1_RKcSt17_Rb_tree_iteratorISt4pairIKS9_IS5_cEPS2_EE", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>::Create(llvm::Type const*, char const&, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeEcES0_IKS5_PNS1_21ConstantAggregateZeroEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS9_ERKS9_", "std::_Rb_tree<std::pair<llvm::Type const*, char>, std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> >, std::less<std::pair<llvm::Type const*, char> >, std::allocator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> >, std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> const&)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EE6CreateEPKS6_RKS5_St17_Rb_tree_iteratorISt4pairIKSE_ISA_S5_EPS7_EE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::Create(llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10VectorTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantVectorEESt10_Select1stISE_ESt4lessISA_ESaISE_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISE_ERKSE_", "std::_Rb_tree<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*>, std::_Select1st<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >, std::less<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >, std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> const&)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE6CreateEPKS6_RKS5_St17_Rb_tree_iteratorISt4pairIKSE_ISA_S5_EPS7_EE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::Create(llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10StructTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantStructEESt10_Select1stISE_ESt4lessISA_ESaISE_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISE_ERKSE_", "std::_Rb_tree<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*>, std::_Select1st<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >, std::less<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >, std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> const&)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE6CreateEPKS6_RKS5_St17_Rb_tree_iteratorISt4pairIKSE_ISA_S5_EPS7_EE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::Create(llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm9ArrayTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_13ConstantArrayEESt10_Select1stISE_ESt4lessISA_ESaISE_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISE_ERKSE_", "std::_Rb_tree<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*>, std::_Select1st<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >, std::less<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >, std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> const&)"},
-    {"_ZNK4llvm8DenseMapINS_22DenseMapAPFloatKeyInfo5KeyTyEPNS_10ConstantFPES1_NS_12DenseMapInfoIS4_EEE15LookupBucketForERKS2_RPSt4pairIS2_S4_E", "llvm::DenseMap<llvm::DenseMapAPFloatKeyInfo::KeyTy, llvm::ConstantFP*, llvm::DenseMapAPFloatKeyInfo, llvm::DenseMapInfo<llvm::ConstantFP*> >::LookupBucketFor(llvm::DenseMapAPFloatKeyInfo::KeyTy const&, std::pair<llvm::DenseMapAPFloatKeyInfo::KeyTy, llvm::ConstantFP*>*&) const"},
-    {"_ZN4llvm8DenseMapINS_22DenseMapAPFloatKeyInfo5KeyTyEPNS_10ConstantFPES1_NS_12DenseMapInfoIS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::DenseMapAPFloatKeyInfo::KeyTy, llvm::ConstantFP*, llvm::DenseMapAPFloatKeyInfo, llvm::DenseMapInfo<llvm::ConstantFP*> >::InsertIntoBucket(llvm::DenseMapAPFloatKeyInfo::KeyTy const&, llvm::ConstantFP* const&, std::pair<llvm::DenseMapAPFloatKeyInfo::KeyTy, llvm::ConstantFP*>*)"},
-    {"_ZN4llvm8DenseMapINS_22DenseMapAPFloatKeyInfo5KeyTyEPNS_10ConstantFPES1_NS_12DenseMapInfoIS4_EEE4growEj", "llvm::DenseMap<llvm::DenseMapAPFloatKeyInfo::KeyTy, llvm::ConstantFP*, llvm::DenseMapAPFloatKeyInfo, llvm::DenseMapInfo<llvm::ConstantFP*> >::grow(unsigned int)"},
-    {"_ZNK4llvm8DenseMapINS_20DenseMapAPIntKeyInfo5KeyTyEPNS_11ConstantIntES1_NS_12DenseMapInfoIS4_EEE15LookupBucketForERKS2_RPSt4pairIS2_S4_E", "llvm::DenseMap<llvm::DenseMapAPIntKeyInfo::KeyTy, llvm::ConstantInt*, llvm::DenseMapAPIntKeyInfo, llvm::DenseMapInfo<llvm::ConstantInt*> >::LookupBucketFor(llvm::DenseMapAPIntKeyInfo::KeyTy const&, std::pair<llvm::DenseMapAPIntKeyInfo::KeyTy, llvm::ConstantInt*>*&) const"},
-    {"_ZN4llvm8DenseMapINS_20DenseMapAPIntKeyInfo5KeyTyEPNS_11ConstantIntES1_NS_12DenseMapInfoIS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::DenseMapAPIntKeyInfo::KeyTy, llvm::ConstantInt*, llvm::DenseMapAPIntKeyInfo, llvm::DenseMapInfo<llvm::ConstantInt*> >::InsertIntoBucket(llvm::DenseMapAPIntKeyInfo::KeyTy const&, llvm::ConstantInt* const&, std::pair<llvm::DenseMapAPIntKeyInfo::KeyTy, llvm::ConstantInt*>*)"},
-    {"_ZN4llvm8DenseMapINS_20DenseMapAPIntKeyInfo5KeyTyEPNS_11ConstantIntES1_NS_12DenseMapInfoIS4_EEE4growEj", "llvm::DenseMap<llvm::DenseMapAPIntKeyInfo::KeyTy, llvm::ConstantInt*, llvm::DenseMapAPIntKeyInfo, llvm::DenseMapInfo<llvm::ConstantInt*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPN4llvm8ConstantESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::Constant**, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, unsigned long, llvm::Constant* const&)"},
-    {"_ZNK4llvm8DebugLoc8getScopeERKNS_11LLVMContextE", "llvm::DebugLoc::getScope(llvm::LLVMContext const&) const"},
-    {"_ZNK4llvm8DebugLoc12getInlinedAtERKNS_11LLVMContextE", "llvm::DebugLoc::getInlinedAt(llvm::LLVMContext const&) const"},
-    {"_ZNK4llvm8DebugLoc20getScopeAndInlinedAtERPNS_6MDNodeES3_RKNS_11LLVMContextE", "llvm::DebugLoc::getScopeAndInlinedAt(llvm::MDNode*&, llvm::MDNode*&, llvm::LLVMContext const&) const"},
-    {"_ZN4llvm8DebugLoc3getEjjPNS_6MDNodeES2_", "llvm::DebugLoc::get(unsigned int, unsigned int, llvm::MDNode*, llvm::MDNode*)"},
-    {"_ZN4llvm15LLVMContextImpl27getOrAddScopeRecordIdxEntryEPNS_6MDNodeEi", "llvm::LLVMContextImpl::getOrAddScopeRecordIdxEntry(llvm::MDNode*, int)"},
-    {"_ZN4llvm15LLVMContextImpl30getOrAddScopeInlinedAtIdxEntryEPNS_6MDNodeES2_i", "llvm::LLVMContextImpl::getOrAddScopeInlinedAtIdxEntry(llvm::MDNode*, llvm::MDNode*, int)"},
-    {"_ZNK4llvm8DebugLoc11getAsMDNodeERKNS_11LLVMContextE", "llvm::DebugLoc::getAsMDNode(llvm::LLVMContext const&) const"},
-    {"_ZN4llvm8DebugLoc17getFromDILocationEPNS_6MDNodeE", "llvm::DebugLoc::getFromDILocation(llvm::MDNode*)"},
-    {"_ZN4llvm10DebugRecVH7deletedEv", "llvm::DebugRecVH::deleted()"},
-    {"_ZN4llvm10DebugRecVH19allUsesReplacedWithEPNS_5ValueE", "llvm::DebugRecVH::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZNSt6vectorIN4llvm10DebugRecVHESaIS1_EE7reserveEm", "std::vector<llvm::DebugRecVH, std::allocator<llvm::DebugRecVH> >::reserve(unsigned long)"},
-    {"_ZNSt6vectorISt4pairIN4llvm10DebugRecVHES2_ESaIS3_EE7reserveEm", "std::vector<std::pair<llvm::DebugRecVH, llvm::DebugRecVH>, std::allocator<std::pair<llvm::DebugRecVH, llvm::DebugRecVH> > >::reserve(unsigned long)"},
-    {"_ZNSt6vectorISt4pairIN4llvm10DebugRecVHES2_ESaIS3_EE9push_backERKS3_", "std::vector<std::pair<llvm::DebugRecVH, llvm::DebugRecVH>, std::allocator<std::pair<llvm::DebugRecVH, llvm::DebugRecVH> > >::push_back(std::pair<llvm::DebugRecVH, llvm::DebugRecVH> const&)"},
-    {"_ZNK4llvm8DenseMapISt4pairIPNS_6MDNodeES3_EiNS_12DenseMapInfoIS4_EENS5_IiEEE15LookupBucketForERKS4_RPS1_IS4_iE", "llvm::DenseMap<std::pair<llvm::MDNode*, llvm::MDNode*>, int, llvm::DenseMapInfo<std::pair<llvm::MDNode*, llvm::MDNode*> >, llvm::DenseMapInfo<int> >::LookupBucketFor(std::pair<llvm::MDNode*, llvm::MDNode*> const&, std::pair<std::pair<llvm::MDNode*, llvm::MDNode*>, int>*&) const"},
-    {"_ZNSt6vectorISt4pairIN4llvm10DebugRecVHES2_ESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<std::pair<llvm::DebugRecVH, llvm::DebugRecVH>, std::allocator<std::pair<llvm::DebugRecVH, llvm::DebugRecVH> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*, std::vector<std::pair<llvm::DebugRecVH, llvm::DebugRecVH>, std::allocator<std::pair<llvm::DebugRecVH, llvm::DebugRecVH> > > >, std::pair<llvm::DebugRecVH, llvm::DebugRecVH> const&)"},
-    {"_ZSt24__uninitialized_copy_auxIPSt4pairIN4llvm10DebugRecVHES2_ES4_ET0_T_S6_S5_St12__false_type", "std::pair<llvm::DebugRecVH, llvm::DebugRecVH>* std::__uninitialized_copy_aux<std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*, std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*>(std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*, std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*, std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*, std::__false_type)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPSt4pairIN4llvm10DebugRecVHES5_ES7_EET0_T_S9_S8_", "std::pair<llvm::DebugRecVH, llvm::DebugRecVH>* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*, std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*>(std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*, std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*, std::pair<llvm::DebugRecVH, llvm::DebugRecVH>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_6MDNodeES3_EiNS_12DenseMapInfoIS4_EENS5_IiEEE16InsertIntoBucketERKS4_RKiPS1_IS4_iE", "llvm::DenseMap<std::pair<llvm::MDNode*, llvm::MDNode*>, int, llvm::DenseMapInfo<std::pair<llvm::MDNode*, llvm::MDNode*> >, llvm::DenseMapInfo<int> >::InsertIntoBucket(std::pair<llvm::MDNode*, llvm::MDNode*> const&, int const&, std::pair<std::pair<llvm::MDNode*, llvm::MDNode*>, int>*)"},
-    {"_ZN4llvm8DenseMapISt4pairIPNS_6MDNodeES3_EiNS_12DenseMapInfoIS4_EENS5_IiEEE4growEj", "llvm::DenseMap<std::pair<llvm::MDNode*, llvm::MDNode*>, int, llvm::DenseMapInfo<std::pair<llvm::MDNode*, llvm::MDNode*> >, llvm::DenseMapInfo<int> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm10DebugRecVHESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::DebugRecVH, std::allocator<llvm::DebugRecVH> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::DebugRecVH*, std::vector<llvm::DebugRecVH, std::allocator<llvm::DebugRecVH> > >, llvm::DebugRecVH const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN4llvm10DebugRecVHES5_EET0_T_S7_S6_", "llvm::DebugRecVH* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<llvm::DebugRecVH*, llvm::DebugRecVH*>(llvm::DebugRecVH*, llvm::DebugRecVH*, llvm::DebugRecVH*)"},
-    {"_ZNSt6vectorIN4llvm10DebugRecVHESaIS1_EE20_M_allocate_and_copyIPS1_EES5_mT_S6_", "llvm::DebugRecVH* std::vector<llvm::DebugRecVH, std::allocator<llvm::DebugRecVH> >::_M_allocate_and_copy<llvm::DebugRecVH*>(unsigned long, llvm::DebugRecVH*, llvm::DebugRecVH*)"},
-    {"_ZN4llvm8DenseMapIPNS_6MDNodeEiNS_12DenseMapInfoIS2_EENS3_IiEEE16InsertIntoBucketERKS2_RKiPSt4pairIS2_iE", "llvm::DenseMap<llvm::MDNode*, int, llvm::DenseMapInfo<llvm::MDNode*>, llvm::DenseMapInfo<int> >::InsertIntoBucket(llvm::MDNode* const&, int const&, std::pair<llvm::MDNode*, int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_6MDNodeEiNS_12DenseMapInfoIS2_EENS3_IiEEE4growEj", "llvm::DenseMap<llvm::MDNode*, int, llvm::DenseMapInfo<llvm::MDNode*>, llvm::DenseMapInfo<int> >::grow(unsigned int)"},
-    {"_ZN4llvm12PrintDomTreeINS_10BasicBlockEEEvPKNS_15DomTreeNodeBaseIT_EERNS_11raw_ostreamEj", "void llvm::PrintDomTree<llvm::BasicBlock>(llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::raw_ostream&, unsigned int)"},
-    {"_ZN4llvm27initializeDominatorTreePassERNS_12PassRegistryE", "llvm::initializeDominatorTreePass(llvm::PassRegistry&)"},
-    {"_ZN4llvm13DominatorTree13runOnFunctionERNS_8FunctionE", "llvm::DominatorTree::runOnFunction(llvm::Function&)"},
-    {"_ZNK4llvm13DominatorTree14verifyAnalysisEv", "llvm::DominatorTree::verifyAnalysis() const"},
-    {"_ZNK4llvm13DominatorTree5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::DominatorTree::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZNK4llvm13DominatorTree9dominatesEPKNS_11InstructionES3_", "llvm::DominatorTree::dominates(llvm::Instruction const*, llvm::Instruction const*) const"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_10BasicBlockEE5beginEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::begin()"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_10BasicBlockEE3endEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::end()"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE5beginEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::begin() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE3endEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::end() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE8getBlockEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::getBlock() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE7getIDomEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::getIDom() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE11getChildrenEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::getChildren() const"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_10BasicBlockEEC1EPS1_PS2_", "llvm::DomTreeNodeBase<llvm::BasicBlock>::DomTreeNodeBase(llvm::BasicBlock*, llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_10BasicBlockEEC2EPS1_PS2_", "llvm::DomTreeNodeBase<llvm::BasicBlock>::DomTreeNodeBase(llvm::BasicBlock*, llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_10BasicBlockEE8addChildEPS2_", "llvm::DomTreeNodeBase<llvm::BasicBlock>::addChild(llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE14getNumChildrenEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::getNumChildren() const"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_10BasicBlockEE16clearAllChildrenEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::clearAllChildren()"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_10BasicBlockEE7compareEPS2_", "llvm::DomTreeNodeBase<llvm::BasicBlock>::compare(llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZN4llvm15DomTreeNodeBaseINS_10BasicBlockEE7setIDomEPS2_", "llvm::DomTreeNodeBase<llvm::BasicBlock>::setIDom(llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE11getDFSNumInEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::getDFSNumIn() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE12getDFSNumOutEv", "llvm::DomTreeNodeBase<llvm::BasicBlock>::getDFSNumOut() const"},
-    {"_ZNK4llvm15DomTreeNodeBaseINS_10BasicBlockEE11DominatedByEPKS2_", "llvm::DomTreeNodeBase<llvm::BasicBlock>::DominatedBy(llvm::DomTreeNodeBase<llvm::BasicBlock> const*) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE7InfoRecC1Ev", "llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec::InfoRec()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE7InfoRecC2Ev", "llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec::InfoRec()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE5resetEv", "llvm::DominatorTreeBase<llvm::BasicBlock>::reset()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEEC1Eb", "llvm::DominatorTreeBase<llvm::BasicBlock>::DominatorTreeBase(bool)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEEC2Eb", "llvm::DominatorTreeBase<llvm::BasicBlock>::DominatorTreeBase(bool)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEED0Ev", "llvm::DominatorTreeBase<llvm::BasicBlock>::~DominatorTreeBase()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEED1Ev", "llvm::DominatorTreeBase<llvm::BasicBlock>::~DominatorTreeBase()"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEED2Ev", "llvm::DominatorTreeBase<llvm::BasicBlock>::~DominatorTreeBase()"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_10BasicBlockEE7compareERS2_", "llvm::DominatorTreeBase<llvm::BasicBlock>::compare(llvm::DominatorTreeBase<llvm::BasicBlock>&) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE13releaseMemoryEv", "llvm::DominatorTreeBase<llvm::BasicBlock>::releaseMemory()"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_10BasicBlockEE7getNodeEPS1_", "llvm::DominatorTreeBase<llvm::BasicBlock>::getNode(llvm::BasicBlock*) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE11getRootNodeEv", "llvm::DominatorTreeBase<llvm::BasicBlock>::getRootNode()"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_10BasicBlockEE11getRootNodeEv", "llvm::DominatorTreeBase<llvm::BasicBlock>::getRootNode() const"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_10BasicBlockEE17properlyDominatesEPKNS_15DomTreeNodeBaseIS1_EES6_", "llvm::DominatorTreeBase<llvm::BasicBlock>::properlyDominates(llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::DomTreeNodeBase<llvm::BasicBlock> const*) const"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_10BasicBlockEE23dominatedBySlowTreeWalkEPKNS_15DomTreeNodeBaseIS1_EES6_", "llvm::DominatorTreeBase<llvm::BasicBlock>::dominatedBySlowTreeWalk(llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::DomTreeNodeBase<llvm::BasicBlock> const*) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE17properlyDominatesEPKS1_S4_", "llvm::DominatorTreeBase<llvm::BasicBlock>::properlyDominates(llvm::BasicBlock const*, llvm::BasicBlock const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE20isReachableFromEntryEPKS1_", "llvm::DominatorTreeBase<llvm::BasicBlock>::isReachableFromEntry(llvm::BasicBlock const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE9dominatesEPKS1_S4_", "llvm::DominatorTreeBase<llvm::BasicBlock>::dominates(llvm::BasicBlock const*, llvm::BasicBlock const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE9dominatesEPKNS_15DomTreeNodeBaseIS1_EES6_", "llvm::DominatorTreeBase<llvm::BasicBlock>::dominates(llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::DomTreeNodeBase<llvm::BasicBlock> const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE16updateDFSNumbersEv", "llvm::DominatorTreeBase<llvm::BasicBlock>::updateDFSNumbers()"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_10BasicBlockEE7getRootEv", "llvm::DominatorTreeBase<llvm::BasicBlock>::getRoot() const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE26findNearestCommonDominatorEPS1_S3_", "llvm::DominatorTreeBase<llvm::BasicBlock>::findNearestCommonDominator(llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE26findNearestCommonDominatorEPKS1_S4_", "llvm::DominatorTreeBase<llvm::BasicBlock>::findNearestCommonDominator(llvm::BasicBlock const*, llvm::BasicBlock const*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE11addNewBlockEPS1_S3_", "llvm::DominatorTreeBase<llvm::BasicBlock>::addNewBlock(llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE24changeImmediateDominatorEPNS_15DomTreeNodeBaseIS1_EES5_", "llvm::DominatorTreeBase<llvm::BasicBlock>::changeImmediateDominator(llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::DomTreeNodeBase<llvm::BasicBlock>*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE24changeImmediateDominatorEPS1_S3_", "llvm::DominatorTreeBase<llvm::BasicBlock>::changeImmediateDominator(llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE9eraseNodeEPS1_", "llvm::DominatorTreeBase<llvm::BasicBlock>::eraseNode(llvm::BasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE10removeNodeEPS1_", "llvm::DominatorTreeBase<llvm::BasicBlock>::removeNode(llvm::BasicBlock*)"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE10splitBlockEPS1_", "llvm::DominatorTreeBase<llvm::BasicBlock>::splitBlock(llvm::BasicBlock*)"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_10BasicBlockEE5printERNS_11raw_ostreamE", "llvm::DominatorTreeBase<llvm::BasicBlock>::print(llvm::raw_ostream&) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE15getNodeForBlockEPS1_", "llvm::DominatorTreeBase<llvm::BasicBlock>::getNodeForBlock(llvm::BasicBlock*)"},
-    {"_ZNK4llvm17DominatorTreeBaseINS_10BasicBlockEE7getIDomEPS1_", "llvm::DominatorTreeBase<llvm::BasicBlock>::getIDom(llvm::BasicBlock*) const"},
-    {"_ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE7addRootEPS1_", "llvm::DominatorTreeBase<llvm::BasicBlock>::addRoot(llvm::BasicBlock*)"},
-    {"_ZN4llvm13DominatorTreeD1Ev", "llvm::DominatorTree::~DominatorTree()"},
-    {"_ZN4llvm13DominatorTreeD0Ev", "llvm::DominatorTree::~DominatorTree()"},
-    {"_ZNK4llvm13DominatorTree16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::DominatorTree::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm13DominatorTree13releaseMemoryEv", "llvm::DominatorTree::releaseMemory()"},
-    {"_ZN4llvm9CalculateINS_8FunctionEPNS_10BasicBlockEEEvRNS_17DominatorTreeBaseINS_11GraphTraitsIT0_E8NodeTypeEEERT_", "void llvm::Calculate<llvm::Function, llvm::BasicBlock*>(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::BasicBlock*>::NodeType>&, llvm::Function&)"},
-    {"_ZN4llvm9CalculateINS_8FunctionENS_7InverseIPNS_10BasicBlockEEEEEvRNS_17DominatorTreeBaseINS_11GraphTraitsIT0_E8NodeTypeEEERT_", "void llvm::Calculate<llvm::Function, llvm::Inverse<llvm::BasicBlock*> >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> >::NodeType>&, llvm::Function&)"},
-    {"_ZN4llvm7DFSPassINS_11GraphTraitsINS_7InverseIPNS_10BasicBlockEEEEEEEjRNS_17DominatorTreeBaseINT_8NodeTypeEEEPS9_j", "unsigned int llvm::DFSPass<llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> >::NodeType>&, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> >::NodeType*, unsigned int)"},
-    {"_ZN4llvm4EvalINS_11GraphTraitsINS_7InverseIPNS_10BasicBlockEEEEEEEPNT_8NodeTypeERNS_17DominatorTreeBaseIS8_EES9_j", "llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> >::NodeType* llvm::Eval<llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> >::NodeType>&, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> >::NodeType*, unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockENS_17DominatorTreeBaseIS1_E7InfoRecENS_12DenseMapInfoIS2_EENS6_IS5_EEE16shrink_and_clearEv", "llvm::DenseMap<llvm::BasicBlock*, llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec> >::shrink_and_clear()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPNS_10BasicBlockENS_12PredIteratorIS2_NS_18value_use_iteratorINS_4UserEEEEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::BasicBlock*, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockENS_17DominatorTreeBaseIS1_E7InfoRecENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<llvm::BasicBlock*, llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec> >::InsertIntoBucket(llvm::BasicBlock* const&, llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec const&, std::pair<llvm::BasicBlock*, llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec>*)"},
-    {"_ZN4llvm8DenseMapIPNS_10BasicBlockENS_17DominatorTreeBaseIS1_E7InfoRecENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::BasicBlock*, llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::DominatorTreeBase<llvm::BasicBlock>::InfoRec> >::grow(unsigned int)"},
-    {"_ZN4llvm7DFSPassINS_11GraphTraitsIPNS_10BasicBlockEEEEEjRNS_17DominatorTreeBaseINT_8NodeTypeEEEPS7_j", "unsigned int llvm::DFSPass<llvm::GraphTraits<llvm::BasicBlock*> >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::BasicBlock*>::NodeType>&, llvm::GraphTraits<llvm::BasicBlock*>::NodeType*, unsigned int)"},
-    {"_ZN4llvm4EvalINS_11GraphTraitsIPNS_10BasicBlockEEEEEPNT_8NodeTypeERNS_17DominatorTreeBaseIS6_EES7_j", "llvm::GraphTraits<llvm::BasicBlock*>::NodeType* llvm::Eval<llvm::GraphTraits<llvm::BasicBlock*> >(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::BasicBlock*>::NodeType>&, llvm::GraphTraits<llvm::BasicBlock*>::NodeType*, unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIPNS_10BasicBlockENS_12SuccIteratorIPNS_14TerminatorInstES2_EEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<llvm::BasicBlock*, llvm::SuccIterator<llvm::TerminatorInst*, llvm::BasicBlock> >, false>::grow(unsigned long)"},
-    {"_ZN4llvm15callDefaultCtorINS_13DominatorTreeEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<llvm::DominatorTree>()"},
-    {"_ZN4llvm8Argument9setParentEPNS_8FunctionE", "llvm::Argument::setParent(llvm::Function*)"},
-    {"_ZN4llvm8ArgumentC1EPKNS_4TypeERKNS_5TwineEPNS_8FunctionE", "llvm::Argument::Argument(llvm::Type const*, llvm::Twine const&, llvm::Function*)"},
-    {"_ZN4llvm8ArgumentC2EPKNS_4TypeERKNS_5TwineEPNS_8FunctionE", "llvm::Argument::Argument(llvm::Type const*, llvm::Twine const&, llvm::Function*)"},
-    {"_ZNK4llvm8Argument8getArgNoEv", "llvm::Argument::getArgNo() const"},
-    {"_ZNK4llvm8Argument12hasByValAttrEv", "llvm::Argument::hasByValAttr() const"},
-    {"_ZNK4llvm8Argument11hasNestAttrEv", "llvm::Argument::hasNestAttr() const"},
-    {"_ZNK4llvm8Argument14hasNoAliasAttrEv", "llvm::Argument::hasNoAliasAttr() const"},
-    {"_ZNK4llvm8Argument16hasNoCaptureAttrEv", "llvm::Argument::hasNoCaptureAttr() const"},
-    {"_ZNK4llvm8Argument16hasStructRetAttrEv", "llvm::Argument::hasStructRetAttr() const"},
-    {"_ZN4llvm8Argument7addAttrEj", "llvm::Argument::addAttr(unsigned int)"},
-    {"_ZN4llvm8Function12addAttributeEjj", "llvm::Function::addAttribute(unsigned int, unsigned int)"},
-    {"_ZN4llvm8Argument10removeAttrEj", "llvm::Argument::removeAttr(unsigned int)"},
-    {"_ZN4llvm8Function15removeAttributeEjj", "llvm::Function::removeAttribute(unsigned int, unsigned int)"},
-    {"_ZNK4llvm8Function10getContextEv", "llvm::Function::getContext() const"},
-    {"_ZNK4llvm8Function15getFunctionTypeEv", "llvm::Function::getFunctionType() const"},
-    {"_ZNK4llvm8Function8isVarArgEv", "llvm::Function::isVarArg() const"},
-    {"_ZNK4llvm8Function13getReturnTypeEv", "llvm::Function::getReturnType() const"},
-    {"_ZN4llvm8Function16removeFromParentEv", "llvm::Function::removeFromParent()"},
-    {"_ZN4llvm8Function15eraseFromParentEv", "llvm::Function::eraseFromParent()"},
-    {"_ZN4llvm8FunctionC1EPKNS_12FunctionTypeENS_11GlobalValue12LinkageTypesERKNS_5TwineEPNS_6ModuleE", "llvm::Function::Function(llvm::FunctionType const*, llvm::GlobalValue::LinkageTypes, llvm::Twine const&, llvm::Module*)"},
-    {"_ZN4llvm8FunctionC2EPKNS_12FunctionTypeENS_11GlobalValue12LinkageTypesERKNS_5TwineEPNS_6ModuleE", "llvm::Function::Function(llvm::FunctionType const*, llvm::GlobalValue::LinkageTypes, llvm::Twine const&, llvm::Module*)"},
-    {"_ZNK4llvm8Function14getIntrinsicIDEv", "llvm::Function::getIntrinsicID() const"},
-    {"_ZN4llvm9Intrinsic13getAttributesENS0_2IDE", "llvm::Intrinsic::getAttributes(llvm::Intrinsic::ID)"},
-    {"_ZN4llvm8FunctionD0Ev", "llvm::Function::~Function()"},
-    {"_ZN4llvm8FunctionD1Ev", "llvm::Function::~Function()"},
-    {"_ZN4llvm8FunctionD2Ev", "llvm::Function::~Function()"},
-    {"_ZN4llvm8Function17dropAllReferencesEv", "llvm::Function::dropAllReferences()"},
-    {"_ZN4llvm8Function7clearGCEv", "llvm::Function::clearGC()"},
-    {"_ZNK4llvm8Function18BuildLazyArgumentsEv", "llvm::Function::BuildLazyArguments() const"},
-    {"_ZNK4llvm8Function8arg_sizeEv", "llvm::Function::arg_size() const"},
-    {"_ZNK4llvm8Function9arg_emptyEv", "llvm::Function::arg_empty() const"},
-    {"_ZN4llvm8Function9setParentEPNS_6ModuleE", "llvm::Function::setParent(llvm::Module*)"},
-    {"_ZNK4llvm8Function5hasGCEv", "llvm::Function::hasGC() const"},
-    {"_ZNK4llvm8Function5getGCEv", "llvm::Function::getGC() const"},
-    {"_ZN4llvm8Function5setGCEPKc", "llvm::Function::setGC(char const*)"},
-    {"_ZN4llvm8Function18copyAttributesFromEPKNS_11GlobalValueE", "llvm::Function::copyAttributesFrom(llvm::GlobalValue const*)"},
-    {"_ZN4llvm9Intrinsic7getNameENS0_2IDEPPKNS_4TypeEj", "llvm::Intrinsic::getName(llvm::Intrinsic::ID, llvm::Type const**, unsigned int)"},
-    {"_ZN4llvm9Intrinsic7getTypeERNS_11LLVMContextENS0_2IDEPPKNS_4TypeEj", "llvm::Intrinsic::getType(llvm::LLVMContext&, llvm::Intrinsic::ID, llvm::Type const**, unsigned int)"},
-    {"_ZN4llvm9Intrinsic12isOverloadedENS0_2IDE", "llvm::Intrinsic::isOverloaded(llvm::Intrinsic::ID)"},
-    {"_ZN4llvm9Intrinsic14getDeclarationEPNS_6ModuleENS0_2IDEPPKNS_4TypeEj", "llvm::Intrinsic::getDeclaration(llvm::Module*, llvm::Intrinsic::ID, llvm::Type const**, unsigned int)"},
-    {"_ZN4llvm9Intrinsic25getIntrinsicForGCCBuiltinEPKcS2_", "llvm::Intrinsic::getIntrinsicForGCCBuiltin(char const*, char const*)"},
-    {"_ZNK4llvm8Function15hasAddressTakenEPPKNS_4UserE", "llvm::Function::hasAddressTaken(llvm::User const**) const"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEEC1Ev", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEEC2Ev", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEE12getListOwnerEv", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::getListOwner()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEE7getListEPS2_", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::getList(llvm::Function*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEE9getSymTabEPS2_", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::getSymTab(llvm::Function*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEE5toPtrERNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::toPtr(llvm::ValueSymbolTable&)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEE13addNodeToListEPS1_", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::addNodeToList(llvm::Argument*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEE18removeNodeFromListEPS1_", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::removeNodeFromList(llvm::Argument*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEE21transferNodesFromListERNS_12ilist_traitsIS1_EENS_14ilist_iteratorIS1_EES8_", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::transferNodesFromList(llvm::ilist_traits<llvm::Argument>&, llvm::ilist_iterator<llvm::Argument>, llvm::ilist_iterator<llvm::Argument>)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8ArgumentENS_8FunctionEE5toPtrEPNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::Argument, llvm::Function>::toPtr(llvm::ValueSymbolTable*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEEC1Ev", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEEC2Ev", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEE12getListOwnerEv", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::getListOwner()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEE7getListEPS2_", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::getList(llvm::Function*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEE9getSymTabEPS2_", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::getSymTab(llvm::Function*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEE5toPtrERNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::toPtr(llvm::ValueSymbolTable&)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEE13addNodeToListEPS1_", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::addNodeToList(llvm::BasicBlock*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEE18removeNodeFromListEPS1_", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::removeNodeFromList(llvm::BasicBlock*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEE21transferNodesFromListERNS_12ilist_traitsIS1_EENS_14ilist_iteratorIS1_EES8_", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::transferNodesFromList(llvm::ilist_traits<llvm::BasicBlock>&, llvm::ilist_iterator<llvm::BasicBlock>, llvm::ilist_iterator<llvm::BasicBlock>)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_10BasicBlockENS_8FunctionEE5toPtrEPNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::BasicBlock, llvm::Function>::toPtr(llvm::ValueSymbolTable*)"},
-    {"_ZN4llvm6iplistINS_8ArgumentENS_12ilist_traitsIS1_EEE5clearEv", "llvm::iplist<llvm::Argument, llvm::ilist_traits<llvm::Argument> >::clear()"},
-    {"_ZN4llvm11GlobalValueD2Ev", "llvm::GlobalValue::~GlobalValue()"},
-    {"_ZN4llvm8DenseMapIPKNS_8FunctionENS_15PooledStringPtrENS_12DenseMapInfoIS3_EENS5_IS4_EEE5eraseERKS3_", "llvm::DenseMap<llvm::Function const*, llvm::PooledStringPtr, llvm::DenseMapInfo<llvm::Function const*>, llvm::DenseMapInfo<llvm::PooledStringPtr> >::erase(llvm::Function const* const&)"},
-    {"_ZNK4llvm11GlobalValue11isNullValueEv", "llvm::GlobalValue::isNullValue() const"},
-    {"_ZNK4llvm8Function13isDeclarationEv", "llvm::Function::isDeclaration() const"},
-    {"_ZN4llvm8ArgumentD1Ev", "llvm::Argument::~Argument()"},
-    {"_ZN4llvm8ArgumentD0Ev", "llvm::Argument::~Argument()"},
-    {"_ZN4llvm8DenseMapIPKNS_8FunctionENS_15PooledStringPtrENS_12DenseMapInfoIS3_EENS5_IS4_EEED2Ev", "llvm::DenseMap<llvm::Function const*, llvm::PooledStringPtr, llvm::DenseMapInfo<llvm::Function const*>, llvm::DenseMapInfo<llvm::PooledStringPtr> >::~DenseMap()"},
-    {"_ZN4llvm8DenseMapIPKNS_8FunctionENS_15PooledStringPtrENS_12DenseMapInfoIS3_EENS5_IS4_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::Function const*, llvm::PooledStringPtr, llvm::DenseMapInfo<llvm::Function const*>, llvm::DenseMapInfo<llvm::PooledStringPtr> >::FindAndConstruct(llvm::Function const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_8FunctionENS_15PooledStringPtrENS_12DenseMapInfoIS3_EENS5_IS4_EEE16InsertIntoBucketERKS3_RKS4_PSt4pairIS3_S4_E", "llvm::DenseMap<llvm::Function const*, llvm::PooledStringPtr, llvm::DenseMapInfo<llvm::Function const*>, llvm::DenseMapInfo<llvm::PooledStringPtr> >::InsertIntoBucket(llvm::Function const* const&, llvm::PooledStringPtr const&, std::pair<llvm::Function const*, llvm::PooledStringPtr>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_8FunctionENS_15PooledStringPtrENS_12DenseMapInfoIS3_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Function const*, llvm::PooledStringPtr, llvm::DenseMapInfo<llvm::Function const*>, llvm::DenseMapInfo<llvm::PooledStringPtr> >::grow(unsigned int)"},
-    {"_ZN4llvm14object_creatorINS_3sys12SmartRWMutexILb1EEEEEPvv", "void* llvm::object_creator<llvm::sys::SmartRWMutex<true> >()"},
-    {"_ZN4llvm14object_deleterINS_3sys12SmartRWMutexILb1EEEE4callEPv", "llvm::object_deleter<llvm::sys::SmartRWMutex<true> >::call(void*)"},
-    {"_ZN4llvm6iplistINS_10BasicBlockENS_12ilist_traitsIS1_EEE5eraseENS_14ilist_iteratorIS1_EE", "llvm::iplist<llvm::BasicBlock, llvm::ilist_traits<llvm::BasicBlock> >::erase(llvm::ilist_iterator<llvm::BasicBlock>)"},
-    {"_ZN4llvm11GlobalValueD1Ev", "llvm::GlobalValue::~GlobalValue()"},
-    {"_ZN4llvm11GlobalValueD0Ev", "llvm::GlobalValue::~GlobalValue()"},
-    {"_ZN4llvm14GVMaterializerD0Ev", "llvm::GVMaterializer::~GVMaterializer()"},
-    {"_ZN4llvm14GVMaterializerD1Ev", "llvm::GVMaterializer::~GVMaterializer()"},
-    {"_ZN4llvm14GVMaterializerD2Ev", "llvm::GVMaterializer::~GVMaterializer()"},
-    {"_ZNK4llvm11GlobalValue16isMaterializableEv", "llvm::GlobalValue::isMaterializable() const"},
-    {"_ZNK4llvm11GlobalValue18isDematerializableEv", "llvm::GlobalValue::isDematerializable() const"},
-    {"_ZN4llvm11GlobalValue11MaterializeEPSs", "llvm::GlobalValue::Materialize(std::string*)"},
-    {"_ZN4llvm11GlobalValue13DematerializeEv", "llvm::GlobalValue::Dematerialize()"},
-    {"_ZNK4llvm11GlobalValue23removeDeadConstantUsersEv", "llvm::GlobalValue::removeDeadConstantUsers() const"},
-    {"_Z25removeDeadUsersOfConstantPKN4llvm8ConstantE", "removeDeadUsersOfConstant(llvm::Constant const*)"},
-    {"_ZN4llvm11GlobalValue15destroyConstantEv", "llvm::GlobalValue::destroyConstant()"},
-    {"_ZN4llvm11GlobalValue18copyAttributesFromEPKS0_", "llvm::GlobalValue::copyAttributesFrom(llvm::GlobalValue const*)"},
-    {"_ZN4llvm11GlobalValue12setAlignmentEj", "llvm::GlobalValue::setAlignment(unsigned int)"},
-    {"_ZN4llvm14GlobalVariableC1EPKNS_4TypeEbNS_11GlobalValue12LinkageTypesEPNS_8ConstantERKNS_5TwineEbj", "llvm::GlobalVariable::GlobalVariable(llvm::Type const*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, llvm::Twine const&, bool, unsigned int)"},
-    {"_ZN4llvm14GlobalVariableC2EPKNS_4TypeEbNS_11GlobalValue12LinkageTypesEPNS_8ConstantERKNS_5TwineEbj", "llvm::GlobalVariable::GlobalVariable(llvm::Type const*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, llvm::Twine const&, bool, unsigned int)"},
-    {"_ZN4llvm14GlobalVariableC1ERNS_6ModuleEPKNS_4TypeEbNS_11GlobalValue12LinkageTypesEPNS_8ConstantERKNS_5TwineEPS0_bj", "llvm::GlobalVariable::GlobalVariable(llvm::Module&, llvm::Type const*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, llvm::Twine const&, llvm::GlobalVariable*, bool, unsigned int)"},
-    {"_ZN4llvm14GlobalVariableC2ERNS_6ModuleEPKNS_4TypeEbNS_11GlobalValue12LinkageTypesEPNS_8ConstantERKNS_5TwineEPS0_bj", "llvm::GlobalVariable::GlobalVariable(llvm::Module&, llvm::Type const*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, llvm::Twine const&, llvm::GlobalVariable*, bool, unsigned int)"},
-    {"_ZN4llvm14GlobalVariable9setParentEPNS_6ModuleE", "llvm::GlobalVariable::setParent(llvm::Module*)"},
-    {"_ZN4llvm14GlobalVariable16removeFromParentEv", "llvm::GlobalVariable::removeFromParent()"},
-    {"_ZN4llvm14GlobalVariable15eraseFromParentEv", "llvm::GlobalVariable::eraseFromParent()"},
-    {"_ZN4llvm14GlobalVariable27replaceUsesOfWithOnConstantEPNS_5ValueES2_PNS_3UseE", "llvm::GlobalVariable::replaceUsesOfWithOnConstant(llvm::Value*, llvm::Value*, llvm::Use*)"},
-    {"_ZN4llvm14GlobalVariable14setInitializerEPNS_8ConstantE", "llvm::GlobalVariable::setInitializer(llvm::Constant*)"},
-    {"_ZN4llvm14GlobalVariable18copyAttributesFromEPKNS_11GlobalValueE", "llvm::GlobalVariable::copyAttributesFrom(llvm::GlobalValue const*)"},
-    {"_ZN4llvm11GlobalAliasC1EPKNS_4TypeENS_11GlobalValue12LinkageTypesERKNS_5TwineEPNS_8ConstantEPNS_6ModuleE", "llvm::GlobalAlias::GlobalAlias(llvm::Type const*, llvm::GlobalValue::LinkageTypes, llvm::Twine const&, llvm::Constant*, llvm::Module*)"},
-    {"_ZN4llvm11GlobalAliasC2EPKNS_4TypeENS_11GlobalValue12LinkageTypesERKNS_5TwineEPNS_8ConstantEPNS_6ModuleE", "llvm::GlobalAlias::GlobalAlias(llvm::Type const*, llvm::GlobalValue::LinkageTypes, llvm::Twine const&, llvm::Constant*, llvm::Module*)"},
-    {"_ZN4llvm11GlobalAlias9setParentEPNS_6ModuleE", "llvm::GlobalAlias::setParent(llvm::Module*)"},
-    {"_ZN4llvm11GlobalAlias16removeFromParentEv", "llvm::GlobalAlias::removeFromParent()"},
-    {"_ZN4llvm11GlobalAlias15eraseFromParentEv", "llvm::GlobalAlias::eraseFromParent()"},
-    {"_ZNK4llvm11GlobalAlias13isDeclarationEv", "llvm::GlobalAlias::isDeclaration() const"},
-    {"_ZNK4llvm11GlobalAlias16getAliasedGlobalEv", "llvm::GlobalAlias::getAliasedGlobal() const"},
-    {"_ZN4llvm11GlobalAlias10setAliaseeEPNS_8ConstantE", "llvm::GlobalAlias::setAliasee(llvm::Constant*)"},
-    {"_ZNK4llvm11GlobalAlias20resolveAliasedGlobalEb", "llvm::GlobalAlias::resolveAliasedGlobal(bool) const"},
-    {"_ZN4llvm6iplistINS_14GlobalVariableENS_12ilist_traitsIS1_EEE9push_backEPS1_", "llvm::iplist<llvm::GlobalVariable, llvm::ilist_traits<llvm::GlobalVariable> >::push_back(llvm::GlobalVariable*)"},
-    {"_ZN4llvm6iplistINS_11GlobalAliasENS_12ilist_traitsIS1_EEE9push_backEPS1_", "llvm::iplist<llvm::GlobalAlias, llvm::ilist_traits<llvm::GlobalAlias> >::push_back(llvm::GlobalAlias*)"},
-    {"_ZN4llvm14GlobalVariableD1Ev", "llvm::GlobalVariable::~GlobalVariable()"},
-    {"_ZN4llvm14GlobalVariableD0Ev", "llvm::GlobalVariable::~GlobalVariable()"},
-    {"_ZNK4llvm14GlobalVariable13isDeclarationEv", "llvm::GlobalVariable::isDeclaration() const"},
-    {"_ZN4llvm11GlobalAliasD1Ev", "llvm::GlobalAlias::~GlobalAlias()"},
-    {"_ZN4llvm11GlobalAliasD0Ev", "llvm::GlobalAlias::~GlobalAlias()"},
-    {"_ZN4llvm13IRBuilderBase18CreateGlobalStringEPKcRKNS_5TwineE", "llvm::IRBuilderBase::CreateGlobalString(char const*, llvm::Twine const&)"},
-    {"_ZNK4llvm13IRBuilderBase28getCurrentFunctionReturnTypeEv", "llvm::IRBuilderBase::getCurrentFunctionReturnType() const"},
-    {"_ZN4llvm13IRBuilderBase21getCastedInt8PtrValueEPNS_5ValueE", "llvm::IRBuilderBase::getCastedInt8PtrValue(llvm::Value*)"},
-    {"_ZN4llvm13IRBuilderBase12CreateMemSetEPNS_5ValueES2_S2_jbPNS_6MDNodeE", "llvm::IRBuilderBase::CreateMemSet(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int, bool, llvm::MDNode*)"},
-    {"_Z16createCallHelperPN4llvm5ValueEPKS1_jPNS_13IRBuilderBaseE", "createCallHelper(llvm::Value*, llvm::Value* const*, unsigned int, llvm::IRBuilderBase*)"},
-    {"_ZN4llvm13IRBuilderBase12CreateMemCpyEPNS_5ValueES2_S2_jbPNS_6MDNodeE", "llvm::IRBuilderBase::CreateMemCpy(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int, bool, llvm::MDNode*)"},
-    {"_ZN4llvm13IRBuilderBase13CreateMemMoveEPNS_5ValueES2_S2_jbPNS_6MDNodeE", "llvm::IRBuilderBase::CreateMemMove(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int, bool, llvm::MDNode*)"},
-    {"_ZN4llvm9InlineAsmD0Ev", "llvm::InlineAsm::~InlineAsm()"},
-    {"_ZN4llvm9InlineAsmD1Ev", "llvm::InlineAsm::~InlineAsm()"},
-    {"_ZN4llvm9InlineAsmD2Ev", "llvm::InlineAsm::~InlineAsm()"},
-    {"_ZN4llvm9InlineAsm3getEPKNS_12FunctionTypeENS_9StringRefES4_bb", "llvm::InlineAsm::get(llvm::FunctionType const*, llvm::StringRef, llvm::StringRef, bool, bool)"},
-    {"_ZN4llvm9InlineAsmC1EPKNS_11PointerTypeERKSsS5_bb", "llvm::InlineAsm::InlineAsm(llvm::PointerType const*, std::string const&, std::string const&, bool, bool)"},
-    {"_ZN4llvm9InlineAsmC2EPKNS_11PointerTypeERKSsS5_bb", "llvm::InlineAsm::InlineAsm(llvm::PointerType const*, std::string const&, std::string const&, bool, bool)"},
-    {"_ZN4llvm9InlineAsm15destroyConstantEv", "llvm::InlineAsm::destroyConstant()"},
-    {"_ZNK4llvm9InlineAsm15getFunctionTypeEv", "llvm::InlineAsm::getFunctionType() const"},
-    {"_ZN4llvm9InlineAsm14ConstraintInfoC1Ev", "llvm::InlineAsm::ConstraintInfo::ConstraintInfo()"},
-    {"_ZN4llvm9InlineAsm14ConstraintInfoC2Ev", "llvm::InlineAsm::ConstraintInfo::ConstraintInfo()"},
-    {"_ZN4llvm9InlineAsm14ConstraintInfoC1ERKS1_", "llvm::InlineAsm::ConstraintInfo::ConstraintInfo(llvm::InlineAsm::ConstraintInfo const&)"},
-    {"_ZN4llvm9InlineAsm14ConstraintInfoC2ERKS1_", "llvm::InlineAsm::ConstraintInfo::ConstraintInfo(llvm::InlineAsm::ConstraintInfo const&)"},
-    {"_ZN4llvm9InlineAsm14ConstraintInfo5ParseENS_9StringRefERSt6vectorIS1_SaIS1_EE", "llvm::InlineAsm::ConstraintInfo::Parse(llvm::StringRef, std::vector<llvm::InlineAsm::ConstraintInfo, std::allocator<llvm::InlineAsm::ConstraintInfo> >&)"},
-    {"_ZN4llvm9InlineAsm14ConstraintInfo17selectAlternativeEj", "llvm::InlineAsm::ConstraintInfo::selectAlternative(unsigned int)"},
-    {"_ZN4llvm9InlineAsm16ParseConstraintsENS_9StringRefE", "llvm::InlineAsm::ParseConstraints(llvm::StringRef)"},
-    {"_ZN4llvm9InlineAsm6VerifyEPKNS_12FunctionTypeENS_9StringRefE", "llvm::InlineAsm::Verify(llvm::FunctionType const*, llvm::StringRef)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EE11getOrCreateEPKS2_RKS1_", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::getOrCreate(llvm::PointerType const*, llvm::InlineAsmKeyType const&)"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm14ConstraintInfoESaIS2_EE9push_backERKS2_", "std::vector<llvm::InlineAsm::ConstraintInfo, std::allocator<llvm::InlineAsm::ConstraintInfo> >::push_back(llvm::InlineAsm::ConstraintInfo const&)"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm14ConstraintInfoESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::InlineAsm::ConstraintInfo, std::allocator<llvm::InlineAsm::ConstraintInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::InlineAsm::ConstraintInfo*, std::vector<llvm::InlineAsm::ConstraintInfo, std::allocator<llvm::InlineAsm::ConstraintInfo> > >, llvm::InlineAsm::ConstraintInfo const&)"},
-    {"_ZNSt15__copy_backwardILb0ESt26random_access_iterator_tagE8__copy_bIPN4llvm9InlineAsm14ConstraintInfoES6_EET0_T_S8_S7_", "llvm::InlineAsm::ConstraintInfo* std::__copy_backward<false, std::random_access_iterator_tag>::__copy_b<llvm::InlineAsm::ConstraintInfo*, llvm::InlineAsm::ConstraintInfo*>(llvm::InlineAsm::ConstraintInfo*, llvm::InlineAsm::ConstraintInfo*, llvm::InlineAsm::ConstraintInfo*)"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm14ConstraintInfoESaIS2_EE15_M_erase_at_endEPS2_", "std::vector<llvm::InlineAsm::ConstraintInfo, std::allocator<llvm::InlineAsm::ConstraintInfo> >::_M_erase_at_end(llvm::InlineAsm::ConstraintInfo*)"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm17SubConstraintInfoESaIS2_EE15_M_erase_at_endEPS2_", "std::vector<llvm::InlineAsm::SubConstraintInfo, std::allocator<llvm::InlineAsm::SubConstraintInfo> >::_M_erase_at_end(llvm::InlineAsm::SubConstraintInfo*)"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm17SubConstraintInfoESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::InlineAsm::SubConstraintInfo, std::allocator<llvm::InlineAsm::SubConstraintInfo> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::InlineAsm::SubConstraintInfo*, std::vector<llvm::InlineAsm::SubConstraintInfo, std::allocator<llvm::InlineAsm::SubConstraintInfo> > >, unsigned long, llvm::InlineAsm::SubConstraintInfo const&)"},
-    {"_ZNSt6vectorIN4llvm9InlineAsm17SubConstraintInfoESaIS2_EEC2ERKS4_", "std::vector<llvm::InlineAsm::SubConstraintInfo, std::allocator<llvm::InlineAsm::SubConstraintInfo> >::vector(std::vector<llvm::InlineAsm::SubConstraintInfo, std::allocator<llvm::InlineAsm::SubConstraintInfo> > const&)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EE19FindExistingElementEPS3_", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::FindExistingElement(llvm::InlineAsm*)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EE6CreateEPKS2_RKS1_St17_Rb_tree_iteratorISt4pairIKSA_IS6_S1_EPS3_EE", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::Create(llvm::PointerType const*, llvm::InlineAsmKeyType const&, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm11PointerTypeENS1_16InlineAsmKeyTypeEES0_IKS6_PNS1_9InlineAsmEESt10_Select1stISA_ESt4lessIS6_ESaISA_EE16_M_insert_uniqueESt17_Rb_tree_iteratorISA_ERKSA_", "std::_Rb_tree<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType>, std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*>, std::_Select1st<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >, std::less<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> >, std::allocator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >, std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> const&)"},
-    {"_ZN4llvm11InstructionC1EPKNS_4TypeEjPNS_3UseEjPS0_", "llvm::Instruction::Instruction(llvm::Type const*, unsigned int, llvm::Use*, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm11InstructionC2EPKNS_4TypeEjPNS_3UseEjPS0_", "llvm::Instruction::Instruction(llvm::Type const*, unsigned int, llvm::Use*, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm11InstructionC1EPKNS_4TypeEjPNS_3UseEjPNS_10BasicBlockE", "llvm::Instruction::Instruction(llvm::Type const*, unsigned int, llvm::Use*, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm11InstructionC2EPKNS_4TypeEjPNS_3UseEjPNS_10BasicBlockE", "llvm::Instruction::Instruction(llvm::Type const*, unsigned int, llvm::Use*, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm11InstructionD0Ev", "llvm::Instruction::~Instruction()"},
-    {"_ZN4llvm11InstructionD1Ev", "llvm::Instruction::~Instruction()"},
-    {"_ZN4llvm11InstructionD2Ev", "llvm::Instruction::~Instruction()"},
-    {"_ZN4llvm11Instruction9setParentEPNS_10BasicBlockE", "llvm::Instruction::setParent(llvm::BasicBlock*)"},
-    {"_ZN4llvm11Instruction16removeFromParentEv", "llvm::Instruction::removeFromParent()"},
-    {"_ZN4llvm11Instruction15eraseFromParentEv", "llvm::Instruction::eraseFromParent()"},
-    {"_ZN4llvm11Instruction12insertBeforeEPS0_", "llvm::Instruction::insertBefore(llvm::Instruction*)"},
-    {"_ZN4llvm11Instruction11insertAfterEPS0_", "llvm::Instruction::insertAfter(llvm::Instruction*)"},
-    {"_ZN4llvm11Instruction10moveBeforeEPS0_", "llvm::Instruction::moveBefore(llvm::Instruction*)"},
-    {"_ZN4llvm11Instruction13getOpcodeNameEj", "llvm::Instruction::getOpcodeName(unsigned int)"},
-    {"_ZNK4llvm11Instruction13isIdenticalToEPKS0_", "llvm::Instruction::isIdenticalTo(llvm::Instruction const*) const"},
-    {"_ZNK4llvm11Instruction24isIdenticalToWhenDefinedEPKS0_", "llvm::Instruction::isIdenticalToWhenDefined(llvm::Instruction const*) const"},
-    {"_ZNK4llvm11Instruction17isSameOperationAsEPKS0_", "llvm::Instruction::isSameOperationAs(llvm::Instruction const*) const"},
-    {"_ZNK4llvm11Instruction20isUsedOutsideOfBlockEPKNS_10BasicBlockE", "llvm::Instruction::isUsedOutsideOfBlock(llvm::BasicBlock const*) const"},
-    {"_ZNK4llvm11Instruction17mayReadFromMemoryEv", "llvm::Instruction::mayReadFromMemory() const"},
-    {"_ZNK4llvm11Instruction16mayWriteToMemoryEv", "llvm::Instruction::mayWriteToMemory() const"},
-    {"_ZNK4llvm11Instruction8mayThrowEv", "llvm::Instruction::mayThrow() const"},
-    {"_ZN4llvm11Instruction13isAssociativeEj", "llvm::Instruction::isAssociative(unsigned int)"},
-    {"_ZN4llvm11Instruction13isCommutativeEj", "llvm::Instruction::isCommutative(unsigned int)"},
-    {"_ZNK4llvm11Instruction28isSafeToSpeculativelyExecuteEv", "llvm::Instruction::isSafeToSpeculativelyExecute() const"},
-    {"_ZNK4llvm11Instruction5cloneEv", "llvm::Instruction::clone() const"},
-    {"_ZNK4llvm8CallSite9getCalleeEv", "llvm::CallSite::getCallee() const"},
-    {"_ZN4llvm14TerminatorInstD0Ev", "llvm::TerminatorInst::~TerminatorInst()"},
-    {"_ZN4llvm14TerminatorInstD1Ev", "llvm::TerminatorInst::~TerminatorInst()"},
-    {"_ZN4llvm14TerminatorInstD2Ev", "llvm::TerminatorInst::~TerminatorInst()"},
-    {"_ZN4llvm16UnaryInstructionD0Ev", "llvm::UnaryInstruction::~UnaryInstruction()"},
-    {"_ZN4llvm16UnaryInstructionD1Ev", "llvm::UnaryInstruction::~UnaryInstruction()"},
-    {"_ZN4llvm16UnaryInstructionD2Ev", "llvm::UnaryInstruction::~UnaryInstruction()"},
-    {"_ZN4llvm10SelectInst18areInvalidOperandsEPNS_5ValueES2_S2_", "llvm::SelectInst::areInvalidOperands(llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm7PHINodeC1ERKS0_", "llvm::PHINode::PHINode(llvm::PHINode const&)"},
-    {"_ZN4llvm7PHINodeC2ERKS0_", "llvm::PHINode::PHINode(llvm::PHINode const&)"},
-    {"_ZN4llvm7PHINodeD0Ev", "llvm::PHINode::~PHINode()"},
-    {"_ZN4llvm7PHINodeD1Ev", "llvm::PHINode::~PHINode()"},
-    {"_ZN4llvm7PHINodeD2Ev", "llvm::PHINode::~PHINode()"},
-    {"_ZN4llvm7PHINode19removeIncomingValueEjb", "llvm::PHINode::removeIncomingValue(unsigned int, bool)"},
-    {"_ZN4llvm7PHINode14resizeOperandsEj", "llvm::PHINode::resizeOperands(unsigned int)"},
-    {"_ZNK4llvm7PHINode16hasConstantValueEv", "llvm::PHINode::hasConstantValue() const"},
-    {"_ZN4llvm8CallInstD0Ev", "llvm::CallInst::~CallInst()"},
-    {"_ZN4llvm8CallInstD1Ev", "llvm::CallInst::~CallInst()"},
-    {"_ZN4llvm8CallInstD2Ev", "llvm::CallInst::~CallInst()"},
-    {"_ZN4llvm8CallInst4initEPNS_5ValueEPKS2_j", "llvm::CallInst::init(llvm::Value*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm8CallInst4initEPNS_5ValueES2_S2_", "llvm::CallInst::init(llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm8CallInst4initEPNS_5ValueES2_", "llvm::CallInst::init(llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm8CallInst4initEPNS_5ValueE", "llvm::CallInst::init(llvm::Value*)"},
-    {"_ZN4llvm8CallInstC1EPNS_5ValueES2_RKNS_5TwineEPNS_11InstructionE", "llvm::CallInst::CallInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CallInstC2EPNS_5ValueES2_RKNS_5TwineEPNS_11InstructionE", "llvm::CallInst::CallInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CallInstC1EPNS_5ValueES2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::CallInst::CallInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CallInstC2EPNS_5ValueES2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::CallInst::CallInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CallInstC1EPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::CallInst::CallInst(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CallInstC2EPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::CallInst::CallInst(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CallInstC1EPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::CallInst::CallInst(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CallInstC2EPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::CallInst::CallInst(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CallInstC1ERKS0_", "llvm::CallInst::CallInst(llvm::CallInst const&)"},
-    {"_ZN4llvm8CallInstC2ERKS0_", "llvm::CallInst::CallInst(llvm::CallInst const&)"},
-    {"_ZN4llvm8CallInst12addAttributeEjj", "llvm::CallInst::addAttribute(unsigned int, unsigned int)"},
-    {"_ZN4llvm8CallInst15removeAttributeEjj", "llvm::CallInst::removeAttribute(unsigned int, unsigned int)"},
-    {"_ZNK4llvm8CallInst12paramHasAttrEjj", "llvm::CallInst::paramHasAttr(unsigned int, unsigned int) const"},
-    {"_ZN4llvm8CallInst12CreateMallocEPNS_11InstructionEPKNS_4TypeES5_PNS_5ValueES7_PNS_8FunctionERKNS_5TwineE", "llvm::CallInst::CreateMalloc(llvm::Instruction*, llvm::Type const*, llvm::Type const*, llvm::Value*, llvm::Value*, llvm::Function*, llvm::Twine const&)"},
-    {"_Z12createMallocPN4llvm11InstructionEPNS_10BasicBlockEPKNS_4TypeES6_PNS_5ValueES8_PNS_8FunctionERKNS_5TwineE", "createMalloc(llvm::Instruction*, llvm::BasicBlock*, llvm::Type const*, llvm::Type const*, llvm::Value*, llvm::Value*, llvm::Function*, llvm::Twine const&)"},
-    {"_ZN4llvm8CallInst12CreateMallocEPNS_10BasicBlockEPKNS_4TypeES5_PNS_5ValueES7_PNS_8FunctionERKNS_5TwineE", "llvm::CallInst::CreateMalloc(llvm::BasicBlock*, llvm::Type const*, llvm::Type const*, llvm::Value*, llvm::Value*, llvm::Function*, llvm::Twine const&)"},
-    {"_ZN4llvm8CallInst10CreateFreeEPNS_5ValueEPNS_11InstructionE", "llvm::CallInst::CreateFree(llvm::Value*, llvm::Instruction*)"},
-    {"_Z10createFreePN4llvm5ValueEPNS_11InstructionEPNS_10BasicBlockE", "createFree(llvm::Value*, llvm::Instruction*, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CallInst10CreateFreeEPNS_5ValueEPNS_10BasicBlockE", "llvm::CallInst::CreateFree(llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10InvokeInst4initEPNS_5ValueEPNS_10BasicBlockES4_PKS2_j", "llvm::InvokeInst::init(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm10InvokeInstC1ERKS0_", "llvm::InvokeInst::InvokeInst(llvm::InvokeInst const&)"},
-    {"_ZN4llvm10InvokeInstC2ERKS0_", "llvm::InvokeInst::InvokeInst(llvm::InvokeInst const&)"},
-    {"_ZNK4llvm10InvokeInst13getSuccessorVEj", "llvm::InvokeInst::getSuccessorV(unsigned int) const"},
-    {"_ZNK4llvm10InvokeInst17getNumSuccessorsVEv", "llvm::InvokeInst::getNumSuccessorsV() const"},
-    {"_ZN4llvm10InvokeInst13setSuccessorVEjPNS_10BasicBlockE", "llvm::InvokeInst::setSuccessorV(unsigned int, llvm::BasicBlock*)"},
-    {"_ZNK4llvm10InvokeInst12paramHasAttrEjj", "llvm::InvokeInst::paramHasAttr(unsigned int, unsigned int) const"},
-    {"_ZN4llvm10InvokeInst12addAttributeEjj", "llvm::InvokeInst::addAttribute(unsigned int, unsigned int)"},
-    {"_ZN4llvm10InvokeInst15removeAttributeEjj", "llvm::InvokeInst::removeAttribute(unsigned int, unsigned int)"},
-    {"_ZN4llvm10ReturnInstC1ERKS0_", "llvm::ReturnInst::ReturnInst(llvm::ReturnInst const&)"},
-    {"_ZN4llvm10ReturnInstC2ERKS0_", "llvm::ReturnInst::ReturnInst(llvm::ReturnInst const&)"},
-    {"_ZN4llvm10ReturnInstC1ERNS_11LLVMContextEPNS_5ValueEPNS_11InstructionE", "llvm::ReturnInst::ReturnInst(llvm::LLVMContext&, llvm::Value*, llvm::Instruction*)"},
-    {"_ZN4llvm10ReturnInstC2ERNS_11LLVMContextEPNS_5ValueEPNS_11InstructionE", "llvm::ReturnInst::ReturnInst(llvm::LLVMContext&, llvm::Value*, llvm::Instruction*)"},
-    {"_ZN4llvm10ReturnInstC1ERNS_11LLVMContextEPNS_5ValueEPNS_10BasicBlockE", "llvm::ReturnInst::ReturnInst(llvm::LLVMContext&, llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10ReturnInstC2ERNS_11LLVMContextEPNS_5ValueEPNS_10BasicBlockE", "llvm::ReturnInst::ReturnInst(llvm::LLVMContext&, llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10ReturnInstC1ERNS_11LLVMContextEPNS_10BasicBlockE", "llvm::ReturnInst::ReturnInst(llvm::LLVMContext&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10ReturnInstC2ERNS_11LLVMContextEPNS_10BasicBlockE", "llvm::ReturnInst::ReturnInst(llvm::LLVMContext&, llvm::BasicBlock*)"},
-    {"_ZNK4llvm10ReturnInst17getNumSuccessorsVEv", "llvm::ReturnInst::getNumSuccessorsV() const"},
-    {"_ZN4llvm10ReturnInst13setSuccessorVEjPNS_10BasicBlockE", "llvm::ReturnInst::setSuccessorV(unsigned int, llvm::BasicBlock*)"},
-    {"_ZNK4llvm10ReturnInst13getSuccessorVEj", "llvm::ReturnInst::getSuccessorV(unsigned int) const"},
-    {"_ZN4llvm10ReturnInstD0Ev", "llvm::ReturnInst::~ReturnInst()"},
-    {"_ZN4llvm10ReturnInstD1Ev", "llvm::ReturnInst::~ReturnInst()"},
-    {"_ZN4llvm10ReturnInstD2Ev", "llvm::ReturnInst::~ReturnInst()"},
-    {"_ZN4llvm10UnwindInstC1ERNS_11LLVMContextEPNS_11InstructionE", "llvm::UnwindInst::UnwindInst(llvm::LLVMContext&, llvm::Instruction*)"},
-    {"_ZN4llvm10UnwindInstC2ERNS_11LLVMContextEPNS_11InstructionE", "llvm::UnwindInst::UnwindInst(llvm::LLVMContext&, llvm::Instruction*)"},
-    {"_ZN4llvm10UnwindInstC1ERNS_11LLVMContextEPNS_10BasicBlockE", "llvm::UnwindInst::UnwindInst(llvm::LLVMContext&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10UnwindInstC2ERNS_11LLVMContextEPNS_10BasicBlockE", "llvm::UnwindInst::UnwindInst(llvm::LLVMContext&, llvm::BasicBlock*)"},
-    {"_ZNK4llvm10UnwindInst17getNumSuccessorsVEv", "llvm::UnwindInst::getNumSuccessorsV() const"},
-    {"_ZN4llvm10UnwindInst13setSuccessorVEjPNS_10BasicBlockE", "llvm::UnwindInst::setSuccessorV(unsigned int, llvm::BasicBlock*)"},
-    {"_ZNK4llvm10UnwindInst13getSuccessorVEj", "llvm::UnwindInst::getSuccessorV(unsigned int) const"},
-    {"_ZN4llvm15UnreachableInstC1ERNS_11LLVMContextEPNS_11InstructionE", "llvm::UnreachableInst::UnreachableInst(llvm::LLVMContext&, llvm::Instruction*)"},
-    {"_ZN4llvm15UnreachableInstC2ERNS_11LLVMContextEPNS_11InstructionE", "llvm::UnreachableInst::UnreachableInst(llvm::LLVMContext&, llvm::Instruction*)"},
-    {"_ZN4llvm15UnreachableInstC1ERNS_11LLVMContextEPNS_10BasicBlockE", "llvm::UnreachableInst::UnreachableInst(llvm::LLVMContext&, llvm::BasicBlock*)"},
-    {"_ZN4llvm15UnreachableInstC2ERNS_11LLVMContextEPNS_10BasicBlockE", "llvm::UnreachableInst::UnreachableInst(llvm::LLVMContext&, llvm::BasicBlock*)"},
-    {"_ZNK4llvm15UnreachableInst17getNumSuccessorsVEv", "llvm::UnreachableInst::getNumSuccessorsV() const"},
-    {"_ZN4llvm15UnreachableInst13setSuccessorVEjPNS_10BasicBlockE", "llvm::UnreachableInst::setSuccessorV(unsigned int, llvm::BasicBlock*)"},
-    {"_ZNK4llvm15UnreachableInst13getSuccessorVEj", "llvm::UnreachableInst::getSuccessorV(unsigned int) const"},
-    {"_ZN4llvm10BranchInst8AssertOKEv", "llvm::BranchInst::AssertOK()"},
-    {"_ZN4llvm10BranchInstC1EPNS_10BasicBlockEPNS_11InstructionE", "llvm::BranchInst::BranchInst(llvm::BasicBlock*, llvm::Instruction*)"},
-    {"_ZN4llvm10BranchInstC2EPNS_10BasicBlockEPNS_11InstructionE", "llvm::BranchInst::BranchInst(llvm::BasicBlock*, llvm::Instruction*)"},
-    {"_ZN4llvm10BranchInstC1EPNS_10BasicBlockES2_PNS_5ValueEPNS_11InstructionE", "llvm::BranchInst::BranchInst(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value*, llvm::Instruction*)"},
-    {"_ZN4llvm10BranchInstC2EPNS_10BasicBlockES2_PNS_5ValueEPNS_11InstructionE", "llvm::BranchInst::BranchInst(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value*, llvm::Instruction*)"},
-    {"_ZN4llvm10BranchInstC1EPNS_10BasicBlockES2_", "llvm::BranchInst::BranchInst(llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10BranchInstC2EPNS_10BasicBlockES2_", "llvm::BranchInst::BranchInst(llvm::BasicBlock*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10BranchInstC1EPNS_10BasicBlockES2_PNS_5ValueES2_", "llvm::BranchInst::BranchInst(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10BranchInstC2EPNS_10BasicBlockES2_PNS_5ValueES2_", "llvm::BranchInst::BranchInst(llvm::BasicBlock*, llvm::BasicBlock*, llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10BranchInstC1ERKS0_", "llvm::BranchInst::BranchInst(llvm::BranchInst const&)"},
-    {"_ZN4llvm10BranchInstC2ERKS0_", "llvm::BranchInst::BranchInst(llvm::BranchInst const&)"},
-    {"_ZNK4llvm10BranchInst13getSuccessorVEj", "llvm::BranchInst::getSuccessorV(unsigned int) const"},
-    {"_ZNK4llvm10BranchInst17getNumSuccessorsVEv", "llvm::BranchInst::getNumSuccessorsV() const"},
-    {"_ZN4llvm10BranchInst13setSuccessorVEjPNS_10BasicBlockE", "llvm::BranchInst::setSuccessorV(unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm10AllocaInstC1EPKNS_4TypeEPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10AllocaInstC2EPKNS_4TypeEPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10AllocaInst12setAlignmentEj", "llvm::AllocaInst::setAlignment(unsigned int)"},
-    {"_ZN4llvm10AllocaInstC1EPKNS_4TypeEPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10AllocaInstC2EPKNS_4TypeEPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10AllocaInstC1EPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10AllocaInstC2EPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10AllocaInstC1EPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10AllocaInstC2EPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10AllocaInstC1EPKNS_4TypeEPNS_5ValueEjRKNS_5TwineEPNS_11InstructionE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Value*, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10AllocaInstC2EPKNS_4TypeEPNS_5ValueEjRKNS_5TwineEPNS_11InstructionE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Value*, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10AllocaInstC1EPKNS_4TypeEPNS_5ValueEjRKNS_5TwineEPNS_10BasicBlockE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Value*, unsigned int, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10AllocaInstC2EPKNS_4TypeEPNS_5ValueEjRKNS_5TwineEPNS_10BasicBlockE", "llvm::AllocaInst::AllocaInst(llvm::Type const*, llvm::Value*, unsigned int, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10AllocaInstD0Ev", "llvm::AllocaInst::~AllocaInst()"},
-    {"_ZN4llvm10AllocaInstD1Ev", "llvm::AllocaInst::~AllocaInst()"},
-    {"_ZN4llvm10AllocaInstD2Ev", "llvm::AllocaInst::~AllocaInst()"},
-    {"_ZNK4llvm10AllocaInst17isArrayAllocationEv", "llvm::AllocaInst::isArrayAllocation() const"},
-    {"_ZNK4llvm10AllocaInst16getAllocatedTypeEv", "llvm::AllocaInst::getAllocatedType() const"},
-    {"_ZNK4llvm10AllocaInst14isStaticAllocaEv", "llvm::AllocaInst::isStaticAlloca() const"},
-    {"_ZN4llvm8LoadInst8AssertOKEv", "llvm::LoadInst::AssertOK()"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInst12setAlignmentEj", "llvm::LoadInst::setAlignment(unsigned int)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueERKNS_5TwineEbPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, bool, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueERKNS_5TwineEbPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, bool, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueERKNS_5TwineEbjPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, bool, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueERKNS_5TwineEbjPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, bool, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueERKNS_5TwineEbjPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, bool, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueERKNS_5TwineEbjPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, bool, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueERKNS_5TwineEbPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, bool, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueERKNS_5TwineEbPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, llvm::Twine const&, bool, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueEPKcPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, char const*, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueEPKcPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, char const*, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueEPKcPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, char const*, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueEPKcPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, char const*, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueEPKcbPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, char const*, bool, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueEPKcbPNS_11InstructionE", "llvm::LoadInst::LoadInst(llvm::Value*, char const*, bool, llvm::Instruction*)"},
-    {"_ZN4llvm8LoadInstC1EPNS_5ValueEPKcbPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, char const*, bool, llvm::BasicBlock*)"},
-    {"_ZN4llvm8LoadInstC2EPNS_5ValueEPKcbPNS_10BasicBlockE", "llvm::LoadInst::LoadInst(llvm::Value*, char const*, bool, llvm::BasicBlock*)"},
-    {"_ZN4llvm9StoreInst8AssertOKEv", "llvm::StoreInst::AssertOK()"},
-    {"_ZN4llvm9StoreInstC1EPNS_5ValueES2_PNS_11InstructionE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, llvm::Instruction*)"},
-    {"_ZN4llvm9StoreInstC2EPNS_5ValueES2_PNS_11InstructionE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, llvm::Instruction*)"},
-    {"_ZN4llvm9StoreInst12setAlignmentEj", "llvm::StoreInst::setAlignment(unsigned int)"},
-    {"_ZN4llvm9StoreInstC1EPNS_5ValueES2_PNS_10BasicBlockE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm9StoreInstC2EPNS_5ValueES2_PNS_10BasicBlockE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, llvm::BasicBlock*)"},
-    {"_ZN4llvm9StoreInstC1EPNS_5ValueES2_bPNS_11InstructionE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, llvm::Instruction*)"},
-    {"_ZN4llvm9StoreInstC2EPNS_5ValueES2_bPNS_11InstructionE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, llvm::Instruction*)"},
-    {"_ZN4llvm9StoreInstC1EPNS_5ValueES2_bjPNS_11InstructionE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm9StoreInstC2EPNS_5ValueES2_bjPNS_11InstructionE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm9StoreInstC1EPNS_5ValueES2_bjPNS_10BasicBlockE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm9StoreInstC2EPNS_5ValueES2_bjPNS_10BasicBlockE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm9StoreInstC1EPNS_5ValueES2_bPNS_10BasicBlockE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, llvm::BasicBlock*)"},
-    {"_ZN4llvm9StoreInstC2EPNS_5ValueES2_bPNS_10BasicBlockE", "llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, llvm::BasicBlock*)"},
-    {"_ZN4llvm17GetElementPtrInst4initEPNS_5ValueEPKS2_jRKNS_5TwineE", "llvm::GetElementPtrInst::init(llvm::Value*, llvm::Value* const*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm17GetElementPtrInst4initEPNS_5ValueES2_RKNS_5TwineE", "llvm::GetElementPtrInst::init(llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm17GetElementPtrInstC1ERKS0_", "llvm::GetElementPtrInst::GetElementPtrInst(llvm::GetElementPtrInst const&)"},
-    {"_ZN4llvm17GetElementPtrInstC2ERKS0_", "llvm::GetElementPtrInst::GetElementPtrInst(llvm::GetElementPtrInst const&)"},
-    {"_ZN4llvm17GetElementPtrInstC1EPNS_5ValueES2_RKNS_5TwineEPNS_11InstructionE", "llvm::GetElementPtrInst::GetElementPtrInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm17GetElementPtrInstC2EPNS_5ValueES2_RKNS_5TwineEPNS_11InstructionE", "llvm::GetElementPtrInst::GetElementPtrInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm17GetElementPtrInst14getIndexedTypeEPKNS_4TypeEPNS_5ValueE", "llvm::GetElementPtrInst::getIndexedType(llvm::Type const*, llvm::Value*)"},
-    {"_ZN4llvm17GetElementPtrInstC1EPNS_5ValueES2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::GetElementPtrInst::GetElementPtrInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm17GetElementPtrInstC2EPNS_5ValueES2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::GetElementPtrInst::GetElementPtrInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm17GetElementPtrInst14getIndexedTypeEPKNS_4TypeEPKPNS_5ValueEj", "llvm::GetElementPtrInst::getIndexedType(llvm::Type const*, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm17GetElementPtrInst14getIndexedTypeEPKNS_4TypeEPKPNS_8ConstantEj", "llvm::GetElementPtrInst::getIndexedType(llvm::Type const*, llvm::Constant* const*, unsigned int)"},
-    {"_ZN4llvm17GetElementPtrInst14getIndexedTypeEPKNS_4TypeEPKyj", "llvm::GetElementPtrInst::getIndexedType(llvm::Type const*, unsigned long long const*, unsigned int)"},
-    {"_ZNK4llvm17GetElementPtrInst17hasAllZeroIndicesEv", "llvm::GetElementPtrInst::hasAllZeroIndices() const"},
-    {"_ZNK4llvm17GetElementPtrInst21hasAllConstantIndicesEv", "llvm::GetElementPtrInst::hasAllConstantIndices() const"},
-    {"_ZN4llvm17GetElementPtrInst13setIsInBoundsEb", "llvm::GetElementPtrInst::setIsInBounds(bool)"},
-    {"_ZNK4llvm17GetElementPtrInst10isInBoundsEv", "llvm::GetElementPtrInst::isInBounds() const"},
-    {"_ZN4llvm18ExtractElementInstC1EPNS_5ValueES2_RKNS_5TwineEPNS_11InstructionE", "llvm::ExtractElementInst::ExtractElementInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm18ExtractElementInstC2EPNS_5ValueES2_RKNS_5TwineEPNS_11InstructionE", "llvm::ExtractElementInst::ExtractElementInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm18ExtractElementInstC1EPNS_5ValueES2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::ExtractElementInst::ExtractElementInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm18ExtractElementInstC2EPNS_5ValueES2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::ExtractElementInst::ExtractElementInst(llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm18ExtractElementInst15isValidOperandsEPKNS_5ValueES3_", "llvm::ExtractElementInst::isValidOperands(llvm::Value const*, llvm::Value const*)"},
-    {"_ZN4llvm17InsertElementInstC1EPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE", "llvm::InsertElementInst::InsertElementInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm17InsertElementInstC2EPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE", "llvm::InsertElementInst::InsertElementInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm17InsertElementInstC1EPNS_5ValueES2_S2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::InsertElementInst::InsertElementInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm17InsertElementInstC2EPNS_5ValueES2_S2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::InsertElementInst::InsertElementInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm17InsertElementInst15isValidOperandsEPKNS_5ValueES3_S3_", "llvm::InsertElementInst::isValidOperands(llvm::Value const*, llvm::Value const*, llvm::Value const*)"},
-    {"_ZN4llvm17ShuffleVectorInstC1EPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE", "llvm::ShuffleVectorInst::ShuffleVectorInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm17ShuffleVectorInstC2EPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE", "llvm::ShuffleVectorInst::ShuffleVectorInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm17ShuffleVectorInstC1EPNS_5ValueES2_S2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::ShuffleVectorInst::ShuffleVectorInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm17ShuffleVectorInstC2EPNS_5ValueES2_S2_RKNS_5TwineEPNS_10BasicBlockE", "llvm::ShuffleVectorInst::ShuffleVectorInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm17ShuffleVectorInst15isValidOperandsEPKNS_5ValueES3_S3_", "llvm::ShuffleVectorInst::isValidOperands(llvm::Value const*, llvm::Value const*, llvm::Value const*)"},
-    {"_ZNK4llvm17ShuffleVectorInst12getMaskValueEj", "llvm::ShuffleVectorInst::getMaskValue(unsigned int) const"},
-    {"_ZN4llvm15InsertValueInst4initEPNS_5ValueES2_PKjjRKNS_5TwineE", "llvm::InsertValueInst::init(llvm::Value*, llvm::Value*, unsigned int const*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm15InsertValueInst4initEPNS_5ValueES2_jRKNS_5TwineE", "llvm::InsertValueInst::init(llvm::Value*, llvm::Value*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm15InsertValueInstC1ERKS0_", "llvm::InsertValueInst::InsertValueInst(llvm::InsertValueInst const&)"},
-    {"_ZN4llvm15InsertValueInstC2ERKS0_", "llvm::InsertValueInst::InsertValueInst(llvm::InsertValueInst const&)"},
-    {"_ZN4llvm15InsertValueInstC1EPNS_5ValueES2_jRKNS_5TwineEPNS_11InstructionE", "llvm::InsertValueInst::InsertValueInst(llvm::Value*, llvm::Value*, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm15InsertValueInstC2EPNS_5ValueES2_jRKNS_5TwineEPNS_11InstructionE", "llvm::InsertValueInst::InsertValueInst(llvm::Value*, llvm::Value*, unsigned int, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm15InsertValueInstC1EPNS_5ValueES2_jRKNS_5TwineEPNS_10BasicBlockE", "llvm::InsertValueInst::InsertValueInst(llvm::Value*, llvm::Value*, unsigned int, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm15InsertValueInstC2EPNS_5ValueES2_jRKNS_5TwineEPNS_10BasicBlockE", "llvm::InsertValueInst::InsertValueInst(llvm::Value*, llvm::Value*, unsigned int, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm16ExtractValueInst4initEPKjjRKNS_5TwineE", "llvm::ExtractValueInst::init(unsigned int const*, unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm16ExtractValueInst4initEjRKNS_5TwineE", "llvm::ExtractValueInst::init(unsigned int, llvm::Twine const&)"},
-    {"_ZN4llvm16ExtractValueInstC1ERKS0_", "llvm::ExtractValueInst::ExtractValueInst(llvm::ExtractValueInst const&)"},
-    {"_ZN4llvm16ExtractValueInstC2ERKS0_", "llvm::ExtractValueInst::ExtractValueInst(llvm::ExtractValueInst const&)"},
-    {"_ZN4llvm16ExtractValueInst14getIndexedTypeEPKNS_4TypeEPKjj", "llvm::ExtractValueInst::getIndexedType(llvm::Type const*, unsigned int const*, unsigned int)"},
-    {"_ZN4llvm16ExtractValueInst14getIndexedTypeEPKNS_4TypeEj", "llvm::ExtractValueInst::getIndexedType(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm14BinaryOperatorC1ENS_11Instruction9BinaryOpsEPNS_5ValueES4_PKNS_4TypeERKNS_5TwineEPS1_", "llvm::BinaryOperator::BinaryOperator(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperatorC2ENS_11Instruction9BinaryOpsEPNS_5ValueES4_PKNS_4TypeERKNS_5TwineEPS1_", "llvm::BinaryOperator::BinaryOperator(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperator4initENS_11Instruction9BinaryOpsE", "llvm::BinaryOperator::init(llvm::Instruction::BinaryOps)"},
-    {"_ZN4llvm14BinaryOperatorC1ENS_11Instruction9BinaryOpsEPNS_5ValueES4_PKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::BinaryOperator::BinaryOperator(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm14BinaryOperatorC2ENS_11Instruction9BinaryOpsEPNS_5ValueES4_PKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::BinaryOperator::BinaryOperator(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm14BinaryOperator6CreateENS_11Instruction9BinaryOpsEPNS_5ValueES4_RKNS_5TwineEPS1_", "llvm::BinaryOperator::Create(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperator6CreateENS_11Instruction9BinaryOpsEPNS_5ValueES4_RKNS_5TwineEPNS_10BasicBlockE", "llvm::BinaryOperator::Create(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm14BinaryOperator9CreateNegEPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::BinaryOperator::CreateNeg(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperator9CreateNegEPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::BinaryOperator::CreateNeg(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm14BinaryOperator12CreateNSWNegEPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::BinaryOperator::CreateNSWNeg(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperator12CreateNSWNegEPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::BinaryOperator::CreateNSWNeg(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm14BinaryOperator12CreateNUWNegEPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::BinaryOperator::CreateNUWNeg(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperator12CreateNUWNegEPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::BinaryOperator::CreateNUWNeg(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm14BinaryOperator10CreateFNegEPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::BinaryOperator::CreateFNeg(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperator10CreateFNegEPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::BinaryOperator::CreateFNeg(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm14BinaryOperator9CreateNotEPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::BinaryOperator::CreateNot(llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperator9CreateNotEPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::BinaryOperator::CreateNot(llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm14BinaryOperator5isNegEPKNS_5ValueE", "llvm::BinaryOperator::isNeg(llvm::Value const*)"},
-    {"_ZN4llvm14BinaryOperator6isFNegEPKNS_5ValueE", "llvm::BinaryOperator::isFNeg(llvm::Value const*)"},
-    {"_ZN4llvm14BinaryOperator5isNotEPKNS_5ValueE", "llvm::BinaryOperator::isNot(llvm::Value const*)"},
-    {"_ZN4llvm14BinaryOperator14getNegArgumentEPNS_5ValueE", "llvm::BinaryOperator::getNegArgument(llvm::Value*)"},
-    {"_ZN4llvm14BinaryOperator14getNegArgumentEPKNS_5ValueE", "llvm::BinaryOperator::getNegArgument(llvm::Value const*)"},
-    {"_ZN4llvm14BinaryOperator15getFNegArgumentEPNS_5ValueE", "llvm::BinaryOperator::getFNegArgument(llvm::Value*)"},
-    {"_ZN4llvm14BinaryOperator15getFNegArgumentEPKNS_5ValueE", "llvm::BinaryOperator::getFNegArgument(llvm::Value const*)"},
-    {"_ZN4llvm14BinaryOperator14getNotArgumentEPNS_5ValueE", "llvm::BinaryOperator::getNotArgument(llvm::Value*)"},
-    {"_ZN4llvm14BinaryOperator14getNotArgumentEPKNS_5ValueE", "llvm::BinaryOperator::getNotArgument(llvm::Value const*)"},
-    {"_ZN4llvm14BinaryOperator12swapOperandsEv", "llvm::BinaryOperator::swapOperands()"},
-    {"_ZN4llvm14BinaryOperator20setHasNoUnsignedWrapEb", "llvm::BinaryOperator::setHasNoUnsignedWrap(bool)"},
-    {"_ZN4llvm14BinaryOperator18setHasNoSignedWrapEb", "llvm::BinaryOperator::setHasNoSignedWrap(bool)"},
-    {"_ZN4llvm14BinaryOperator10setIsExactEb", "llvm::BinaryOperator::setIsExact(bool)"},
-    {"_ZNK4llvm14BinaryOperator17hasNoUnsignedWrapEv", "llvm::BinaryOperator::hasNoUnsignedWrap() const"},
-    {"_ZNK4llvm14BinaryOperator15hasNoSignedWrapEv", "llvm::BinaryOperator::hasNoSignedWrap() const"},
-    {"_ZNK4llvm14BinaryOperator7isExactEv", "llvm::BinaryOperator::isExact() const"},
-    {"_ZNK4llvm8CastInst13isIntegerCastEv", "llvm::CastInst::isIntegerCast() const"},
-    {"_ZNK4llvm8CastInst14isLosslessCastEv", "llvm::CastInst::isLosslessCast() const"},
-    {"_ZN4llvm8CastInst10isNoopCastENS_11Instruction7CastOpsEPKNS_4TypeES5_S5_", "llvm::CastInst::isNoopCast(llvm::Instruction::CastOps, llvm::Type const*, llvm::Type const*, llvm::Type const*)"},
-    {"_ZNK4llvm8CastInst10isNoopCastEPKNS_4TypeE", "llvm::CastInst::isNoopCast(llvm::Type const*) const"},
-    {"_ZN4llvm8CastInst20isEliminableCastPairENS_11Instruction7CastOpsES2_PKNS_4TypeES5_S5_S5_", "llvm::CastInst::isEliminableCastPair(llvm::Instruction::CastOps, llvm::Instruction::CastOps, llvm::Type const*, llvm::Type const*, llvm::Type const*, llvm::Type const*)"},
-    {"_ZN4llvm8CastInst6CreateENS_11Instruction7CastOpsEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPS1_", "llvm::CastInst::Create(llvm::Instruction::CastOps, llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm9TruncInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::TruncInst::TruncInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8ZExtInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::ZExtInst::ZExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8SExtInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::SExtInst::SExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm11FPTruncInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::FPTruncInst::FPTruncInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm9FPExtInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::FPExtInst::FPExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10UIToFPInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::UIToFPInst::UIToFPInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10SIToFPInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::SIToFPInst::SIToFPInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10FPToUIInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::FPToUIInst::FPToUIInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10FPToSIInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::FPToSIInst::FPToSIInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm12PtrToIntInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::PtrToIntInst::PtrToIntInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm12IntToPtrInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::IntToPtrInst::IntToPtrInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm11BitCastInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::BitCastInst::BitCastInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CastInst6CreateENS_11Instruction7CastOpsEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::CastInst::Create(llvm::Instruction::CastOps, llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm9TruncInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::TruncInst::TruncInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8ZExtInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::ZExtInst::ZExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8SExtInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::SExtInst::SExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm11FPTruncInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::FPTruncInst::FPTruncInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm9FPExtInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::FPExtInst::FPExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10UIToFPInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::UIToFPInst::UIToFPInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10SIToFPInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::SIToFPInst::SIToFPInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10FPToUIInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::FPToUIInst::FPToUIInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10FPToSIInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::FPToSIInst::FPToSIInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm12PtrToIntInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::PtrToIntInst::PtrToIntInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm12IntToPtrInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::IntToPtrInst::IntToPtrInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm11BitCastInstC1EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::BitCastInst::BitCastInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CastInst19CreateZExtOrBitCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::CastInst::CreateZExtOrBitCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CastInst19CreateZExtOrBitCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::CastInst::CreateZExtOrBitCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CastInst19CreateSExtOrBitCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::CastInst::CreateSExtOrBitCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CastInst19CreateSExtOrBitCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::CastInst::CreateSExtOrBitCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CastInst20CreateTruncOrBitCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::CastInst::CreateTruncOrBitCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CastInst20CreateTruncOrBitCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::CastInst::CreateTruncOrBitCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CastInst17CreatePointerCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::CastInst::CreatePointerCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CastInst17CreatePointerCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::CastInst::CreatePointerCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CastInst17CreateIntegerCastEPNS_5ValueEPKNS_4TypeEbRKNS_5TwineEPNS_11InstructionE", "llvm::CastInst::CreateIntegerCast(llvm::Value*, llvm::Type const*, bool, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CastInst17CreateIntegerCastEPNS_5ValueEPKNS_4TypeEbRKNS_5TwineEPNS_10BasicBlockE", "llvm::CastInst::CreateIntegerCast(llvm::Value*, llvm::Type const*, bool, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CastInst12CreateFPCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::CastInst::CreateFPCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CastInst12CreateFPCastEPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::CastInst::CreateFPCast(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8CastInst10isCastableEPKNS_4TypeES3_", "llvm::CastInst::isCastable(llvm::Type const*, llvm::Type const*)"},
-    {"_ZN4llvm8CastInst13getCastOpcodeEPKNS_5ValueEbPKNS_4TypeEb", "llvm::CastInst::getCastOpcode(llvm::Value const*, bool, llvm::Type const*, bool)"},
-    {"_ZN4llvm8CastInst11castIsValidENS_11Instruction7CastOpsEPNS_5ValueEPKNS_4TypeE", "llvm::CastInst::castIsValid(llvm::Instruction::CastOps, llvm::Value*, llvm::Type const*)"},
-    {"_ZN4llvm9TruncInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::TruncInst::TruncInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm9TruncInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::TruncInst::TruncInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8ZExtInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::ZExtInst::ZExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8ZExtInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::ZExtInst::ZExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm8SExtInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::SExtInst::SExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8SExtInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::SExtInst::SExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm11FPTruncInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::FPTruncInst::FPTruncInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm11FPTruncInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::FPTruncInst::FPTruncInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm9FPExtInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::FPExtInst::FPExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm9FPExtInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::FPExtInst::FPExtInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10UIToFPInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::UIToFPInst::UIToFPInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10UIToFPInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::UIToFPInst::UIToFPInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10SIToFPInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::SIToFPInst::SIToFPInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10SIToFPInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::SIToFPInst::SIToFPInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10FPToUIInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::FPToUIInst::FPToUIInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10FPToUIInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::FPToUIInst::FPToUIInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm10FPToSIInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::FPToSIInst::FPToSIInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10FPToSIInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::FPToSIInst::FPToSIInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm12PtrToIntInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::PtrToIntInst::PtrToIntInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm12PtrToIntInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::PtrToIntInst::PtrToIntInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm12IntToPtrInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::IntToPtrInst::IntToPtrInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm12IntToPtrInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::IntToPtrInst::IntToPtrInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm11BitCastInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::BitCastInst::BitCastInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm11BitCastInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_10BasicBlockE", "llvm::BitCastInst::BitCastInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZNK4llvm7CmpInst6AnchorEv", "llvm::CmpInst::Anchor() const"},
-    {"_ZN4llvm7CmpInstC1EPKNS_4TypeENS_11Instruction8OtherOpsEtPNS_5ValueES7_RKNS_5TwineEPS4_", "llvm::CmpInst::CmpInst(llvm::Type const*, llvm::Instruction::OtherOps, unsigned short, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm7CmpInstC2EPKNS_4TypeENS_11Instruction8OtherOpsEtPNS_5ValueES7_RKNS_5TwineEPS4_", "llvm::CmpInst::CmpInst(llvm::Type const*, llvm::Instruction::OtherOps, unsigned short, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm7CmpInstC1EPKNS_4TypeENS_11Instruction8OtherOpsEtPNS_5ValueES7_RKNS_5TwineEPNS_10BasicBlockE", "llvm::CmpInst::CmpInst(llvm::Type const*, llvm::Instruction::OtherOps, unsigned short, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm7CmpInstC2EPKNS_4TypeENS_11Instruction8OtherOpsEtPNS_5ValueES7_RKNS_5TwineEPNS_10BasicBlockE", "llvm::CmpInst::CmpInst(llvm::Type const*, llvm::Instruction::OtherOps, unsigned short, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm7CmpInst6CreateENS_11Instruction8OtherOpsEtPNS_5ValueES4_RKNS_5TwineEPS1_", "llvm::CmpInst::Create(llvm::Instruction::OtherOps, unsigned short, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm7CmpInst6CreateENS_11Instruction8OtherOpsEtPNS_5ValueES4_RKNS_5TwineEPNS_10BasicBlockE", "llvm::CmpInst::Create(llvm::Instruction::OtherOps, unsigned short, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm7CmpInst12swapOperandsEv", "llvm::CmpInst::swapOperands()"},
-    {"_ZNK4llvm7CmpInst13isCommutativeEv", "llvm::CmpInst::isCommutative() const"},
-    {"_ZNK4llvm7CmpInst10isEqualityEv", "llvm::CmpInst::isEquality() const"},
-    {"_ZN4llvm7CmpInst19getInversePredicateENS0_9PredicateE", "llvm::CmpInst::getInversePredicate(llvm::CmpInst::Predicate)"},
-    {"_ZN4llvm8ICmpInst18getSignedPredicateENS_7CmpInst9PredicateE", "llvm::ICmpInst::getSignedPredicate(llvm::CmpInst::Predicate)"},
-    {"_ZN4llvm8ICmpInst20getUnsignedPredicateENS_7CmpInst9PredicateE", "llvm::ICmpInst::getUnsignedPredicate(llvm::CmpInst::Predicate)"},
-    {"_ZN4llvm8ICmpInst17makeConstantRangeENS_7CmpInst9PredicateERKNS_5APIntE", "llvm::ICmpInst::makeConstantRange(llvm::CmpInst::Predicate, llvm::APInt const&)"},
-    {"_ZN4llvm7CmpInst19getSwappedPredicateENS0_9PredicateE", "llvm::CmpInst::getSwappedPredicate(llvm::CmpInst::Predicate)"},
-    {"_ZN4llvm7CmpInst10isUnsignedEt", "llvm::CmpInst::isUnsigned(unsigned short)"},
-    {"_ZN4llvm7CmpInst8isSignedEt", "llvm::CmpInst::isSigned(unsigned short)"},
-    {"_ZN4llvm7CmpInst9isOrderedEt", "llvm::CmpInst::isOrdered(unsigned short)"},
-    {"_ZN4llvm7CmpInst11isUnorderedEt", "llvm::CmpInst::isUnordered(unsigned short)"},
-    {"_ZN4llvm7CmpInst15isTrueWhenEqualEt", "llvm::CmpInst::isTrueWhenEqual(unsigned short)"},
-    {"_ZN4llvm7CmpInst16isFalseWhenEqualEt", "llvm::CmpInst::isFalseWhenEqual(unsigned short)"},
-    {"_ZN4llvm10SwitchInst4initEPNS_5ValueEPNS_10BasicBlockEj", "llvm::SwitchInst::init(llvm::Value*, llvm::BasicBlock*, unsigned int)"},
-    {"_ZN4llvm10SwitchInstC1EPNS_5ValueEPNS_10BasicBlockEjPNS_11InstructionE", "llvm::SwitchInst::SwitchInst(llvm::Value*, llvm::BasicBlock*, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm10SwitchInstC2EPNS_5ValueEPNS_10BasicBlockEjPNS_11InstructionE", "llvm::SwitchInst::SwitchInst(llvm::Value*, llvm::BasicBlock*, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm10SwitchInstC1EPNS_5ValueEPNS_10BasicBlockEjS4_", "llvm::SwitchInst::SwitchInst(llvm::Value*, llvm::BasicBlock*, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm10SwitchInstC2EPNS_5ValueEPNS_10BasicBlockEjS4_", "llvm::SwitchInst::SwitchInst(llvm::Value*, llvm::BasicBlock*, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm10SwitchInstC1ERKS0_", "llvm::SwitchInst::SwitchInst(llvm::SwitchInst const&)"},
-    {"_ZN4llvm10SwitchInstC2ERKS0_", "llvm::SwitchInst::SwitchInst(llvm::SwitchInst const&)"},
-    {"_ZN4llvm10SwitchInstD0Ev", "llvm::SwitchInst::~SwitchInst()"},
-    {"_ZN4llvm10SwitchInstD1Ev", "llvm::SwitchInst::~SwitchInst()"},
-    {"_ZN4llvm10SwitchInstD2Ev", "llvm::SwitchInst::~SwitchInst()"},
-    {"_ZN4llvm10SwitchInst7addCaseEPNS_11ConstantIntEPNS_10BasicBlockE", "llvm::SwitchInst::addCase(llvm::ConstantInt*, llvm::BasicBlock*)"},
-    {"_ZN4llvm10SwitchInst14resizeOperandsEj", "llvm::SwitchInst::resizeOperands(unsigned int)"},
-    {"_ZN4llvm10SwitchInst10removeCaseEj", "llvm::SwitchInst::removeCase(unsigned int)"},
-    {"_ZNK4llvm10SwitchInst13getSuccessorVEj", "llvm::SwitchInst::getSuccessorV(unsigned int) const"},
-    {"_ZNK4llvm10SwitchInst17getNumSuccessorsVEv", "llvm::SwitchInst::getNumSuccessorsV() const"},
-    {"_ZN4llvm10SwitchInst13setSuccessorVEjPNS_10BasicBlockE", "llvm::SwitchInst::setSuccessorV(unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm14IndirectBrInst4initEPNS_5ValueEj", "llvm::IndirectBrInst::init(llvm::Value*, unsigned int)"},
-    {"_ZN4llvm14IndirectBrInst14resizeOperandsEj", "llvm::IndirectBrInst::resizeOperands(unsigned int)"},
-    {"_ZN4llvm14IndirectBrInstC1EPNS_5ValueEjPNS_11InstructionE", "llvm::IndirectBrInst::IndirectBrInst(llvm::Value*, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm14IndirectBrInstC2EPNS_5ValueEjPNS_11InstructionE", "llvm::IndirectBrInst::IndirectBrInst(llvm::Value*, unsigned int, llvm::Instruction*)"},
-    {"_ZN4llvm14IndirectBrInstC1EPNS_5ValueEjPNS_10BasicBlockE", "llvm::IndirectBrInst::IndirectBrInst(llvm::Value*, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm14IndirectBrInstC2EPNS_5ValueEjPNS_10BasicBlockE", "llvm::IndirectBrInst::IndirectBrInst(llvm::Value*, unsigned int, llvm::BasicBlock*)"},
-    {"_ZN4llvm14IndirectBrInstC1ERKS0_", "llvm::IndirectBrInst::IndirectBrInst(llvm::IndirectBrInst const&)"},
-    {"_ZN4llvm14IndirectBrInstC2ERKS0_", "llvm::IndirectBrInst::IndirectBrInst(llvm::IndirectBrInst const&)"},
-    {"_ZN4llvm14IndirectBrInstD0Ev", "llvm::IndirectBrInst::~IndirectBrInst()"},
-    {"_ZN4llvm14IndirectBrInstD1Ev", "llvm::IndirectBrInst::~IndirectBrInst()"},
-    {"_ZN4llvm14IndirectBrInstD2Ev", "llvm::IndirectBrInst::~IndirectBrInst()"},
-    {"_ZN4llvm14IndirectBrInst14addDestinationEPNS_10BasicBlockE", "llvm::IndirectBrInst::addDestination(llvm::BasicBlock*)"},
-    {"_ZN4llvm14IndirectBrInst17removeDestinationEj", "llvm::IndirectBrInst::removeDestination(unsigned int)"},
-    {"_ZNK4llvm14IndirectBrInst13getSuccessorVEj", "llvm::IndirectBrInst::getSuccessorV(unsigned int) const"},
-    {"_ZNK4llvm14IndirectBrInst17getNumSuccessorsVEv", "llvm::IndirectBrInst::getNumSuccessorsV() const"},
-    {"_ZN4llvm14IndirectBrInst13setSuccessorVEjPNS_10BasicBlockE", "llvm::IndirectBrInst::setSuccessorV(unsigned int, llvm::BasicBlock*)"},
-    {"_ZNK4llvm17GetElementPtrInst10clone_implEv", "llvm::GetElementPtrInst::clone_impl() const"},
-    {"_ZNK4llvm14BinaryOperator10clone_implEv", "llvm::BinaryOperator::clone_impl() const"},
-    {"_ZNK4llvm8FCmpInst10clone_implEv", "llvm::FCmpInst::clone_impl() const"},
-    {"_ZNK4llvm8ICmpInst10clone_implEv", "llvm::ICmpInst::clone_impl() const"},
-    {"_ZNK4llvm16ExtractValueInst10clone_implEv", "llvm::ExtractValueInst::clone_impl() const"},
-    {"_ZNK4llvm15InsertValueInst10clone_implEv", "llvm::InsertValueInst::clone_impl() const"},
-    {"_ZNK4llvm10AllocaInst10clone_implEv", "llvm::AllocaInst::clone_impl() const"},
-    {"_ZNK4llvm8LoadInst10clone_implEv", "llvm::LoadInst::clone_impl() const"},
-    {"_ZNK4llvm9StoreInst10clone_implEv", "llvm::StoreInst::clone_impl() const"},
-    {"_ZNK4llvm9TruncInst10clone_implEv", "llvm::TruncInst::clone_impl() const"},
-    {"_ZNK4llvm8ZExtInst10clone_implEv", "llvm::ZExtInst::clone_impl() const"},
-    {"_ZNK4llvm8SExtInst10clone_implEv", "llvm::SExtInst::clone_impl() const"},
-    {"_ZNK4llvm11FPTruncInst10clone_implEv", "llvm::FPTruncInst::clone_impl() const"},
-    {"_ZNK4llvm9FPExtInst10clone_implEv", "llvm::FPExtInst::clone_impl() const"},
-    {"_ZNK4llvm10UIToFPInst10clone_implEv", "llvm::UIToFPInst::clone_impl() const"},
-    {"_ZNK4llvm10SIToFPInst10clone_implEv", "llvm::SIToFPInst::clone_impl() const"},
-    {"_ZNK4llvm10FPToUIInst10clone_implEv", "llvm::FPToUIInst::clone_impl() const"},
-    {"_ZNK4llvm10FPToSIInst10clone_implEv", "llvm::FPToSIInst::clone_impl() const"},
-    {"_ZNK4llvm12PtrToIntInst10clone_implEv", "llvm::PtrToIntInst::clone_impl() const"},
-    {"_ZNK4llvm12IntToPtrInst10clone_implEv", "llvm::IntToPtrInst::clone_impl() const"},
-    {"_ZNK4llvm11BitCastInst10clone_implEv", "llvm::BitCastInst::clone_impl() const"},
-    {"_ZNK4llvm8CallInst10clone_implEv", "llvm::CallInst::clone_impl() const"},
-    {"_ZNK4llvm10SelectInst10clone_implEv", "llvm::SelectInst::clone_impl() const"},
-    {"_ZNK4llvm9VAArgInst10clone_implEv", "llvm::VAArgInst::clone_impl() const"},
-    {"_ZNK4llvm18ExtractElementInst10clone_implEv", "llvm::ExtractElementInst::clone_impl() const"},
-    {"_ZNK4llvm17InsertElementInst10clone_implEv", "llvm::InsertElementInst::clone_impl() const"},
-    {"_ZNK4llvm17ShuffleVectorInst10clone_implEv", "llvm::ShuffleVectorInst::clone_impl() const"},
-    {"_ZNK4llvm7PHINode10clone_implEv", "llvm::PHINode::clone_impl() const"},
-    {"_ZNK4llvm10ReturnInst10clone_implEv", "llvm::ReturnInst::clone_impl() const"},
-    {"_ZNK4llvm10BranchInst10clone_implEv", "llvm::BranchInst::clone_impl() const"},
-    {"_ZNK4llvm10SwitchInst10clone_implEv", "llvm::SwitchInst::clone_impl() const"},
-    {"_ZNK4llvm14IndirectBrInst10clone_implEv", "llvm::IndirectBrInst::clone_impl() const"},
-    {"_ZNK4llvm10InvokeInst10clone_implEv", "llvm::InvokeInst::clone_impl() const"},
-    {"_ZNK4llvm10UnwindInst10clone_implEv", "llvm::UnwindInst::clone_impl() const"},
-    {"_ZNK4llvm15UnreachableInst10clone_implEv", "llvm::UnreachableInst::clone_impl() const"},
-    {"_ZN4llvm8CastInstC2EPKNS_4TypeEjPNS_5ValueERKNS_5TwineEPNS_11InstructionE", "llvm::CastInst::CastInst(llvm::Type const*, unsigned int, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm8CastInstC2EPKNS_4TypeEjPNS_5ValueERKNS_5TwineEPNS_10BasicBlockE", "llvm::CastInst::CastInst(llvm::Type const*, unsigned int, llvm::Value*, llvm::Twine const&, llvm::BasicBlock*)"},
-    {"_ZN4llvm17GetElementPtrInstD1Ev", "llvm::GetElementPtrInst::~GetElementPtrInst()"},
-    {"_ZN4llvm17GetElementPtrInstD0Ev", "llvm::GetElementPtrInst::~GetElementPtrInst()"},
-    {"_ZN4llvm7CmpInstD1Ev", "llvm::CmpInst::~CmpInst()"},
-    {"_ZN4llvm7CmpInstD0Ev", "llvm::CmpInst::~CmpInst()"},
-    {"_ZN4llvm8ICmpInstD1Ev", "llvm::ICmpInst::~ICmpInst()"},
-    {"_ZN4llvm8ICmpInstD0Ev", "llvm::ICmpInst::~ICmpInst()"},
-    {"_ZN4llvm8FCmpInstD1Ev", "llvm::FCmpInst::~FCmpInst()"},
-    {"_ZN4llvm8FCmpInstD0Ev", "llvm::FCmpInst::~FCmpInst()"},
-    {"_ZN4llvm10SelectInstD1Ev", "llvm::SelectInst::~SelectInst()"},
-    {"_ZN4llvm10SelectInstD0Ev", "llvm::SelectInst::~SelectInst()"},
-    {"_ZN4llvm9VAArgInstD1Ev", "llvm::VAArgInst::~VAArgInst()"},
-    {"_ZN4llvm9VAArgInstD0Ev", "llvm::VAArgInst::~VAArgInst()"},
-    {"_ZN4llvm18ExtractElementInstD1Ev", "llvm::ExtractElementInst::~ExtractElementInst()"},
-    {"_ZN4llvm18ExtractElementInstD0Ev", "llvm::ExtractElementInst::~ExtractElementInst()"},
-    {"_ZN4llvm17InsertElementInstD1Ev", "llvm::InsertElementInst::~InsertElementInst()"},
-    {"_ZN4llvm17InsertElementInstD0Ev", "llvm::InsertElementInst::~InsertElementInst()"},
-    {"_ZN4llvm16ExtractValueInstD1Ev", "llvm::ExtractValueInst::~ExtractValueInst()"},
-    {"_ZN4llvm16ExtractValueInstD0Ev", "llvm::ExtractValueInst::~ExtractValueInst()"},
-    {"_ZN4llvm15InsertValueInstD1Ev", "llvm::InsertValueInst::~InsertValueInst()"},
-    {"_ZN4llvm15InsertValueInstD0Ev", "llvm::InsertValueInst::~InsertValueInst()"},
-    {"_ZN4llvm10BranchInstD1Ev", "llvm::BranchInst::~BranchInst()"},
-    {"_ZN4llvm10BranchInstD0Ev", "llvm::BranchInst::~BranchInst()"},
-    {"_ZN4llvm11BitCastInstD1Ev", "llvm::BitCastInst::~BitCastInst()"},
-    {"_ZN4llvm11BitCastInstD0Ev", "llvm::BitCastInst::~BitCastInst()"},
-    {"_ZN4llvm10InvokeInstD1Ev", "llvm::InvokeInst::~InvokeInst()"},
-    {"_ZN4llvm10InvokeInstD0Ev", "llvm::InvokeInst::~InvokeInst()"},
-    {"_ZN4llvm10UnwindInstD1Ev", "llvm::UnwindInst::~UnwindInst()"},
-    {"_ZN4llvm10UnwindInstD0Ev", "llvm::UnwindInst::~UnwindInst()"},
-    {"_ZN4llvm15UnreachableInstD1Ev", "llvm::UnreachableInst::~UnreachableInst()"},
-    {"_ZN4llvm15UnreachableInstD0Ev", "llvm::UnreachableInst::~UnreachableInst()"},
-    {"_ZN4llvm8LoadInstD1Ev", "llvm::LoadInst::~LoadInst()"},
-    {"_ZN4llvm8LoadInstD0Ev", "llvm::LoadInst::~LoadInst()"},
-    {"_ZN4llvm9StoreInstD1Ev", "llvm::StoreInst::~StoreInst()"},
-    {"_ZN4llvm9StoreInstD0Ev", "llvm::StoreInst::~StoreInst()"},
-    {"_ZN4llvm17ShuffleVectorInstD1Ev", "llvm::ShuffleVectorInst::~ShuffleVectorInst()"},
-    {"_ZN4llvm17ShuffleVectorInstD0Ev", "llvm::ShuffleVectorInst::~ShuffleVectorInst()"},
-    {"_ZN4llvm14BinaryOperatorD1Ev", "llvm::BinaryOperator::~BinaryOperator()"},
-    {"_ZN4llvm14BinaryOperatorD0Ev", "llvm::BinaryOperator::~BinaryOperator()"},
-    {"_ZN4llvm9TruncInstD1Ev", "llvm::TruncInst::~TruncInst()"},
-    {"_ZN4llvm9TruncInstD0Ev", "llvm::TruncInst::~TruncInst()"},
-    {"_ZN4llvm8ZExtInstD1Ev", "llvm::ZExtInst::~ZExtInst()"},
-    {"_ZN4llvm8ZExtInstD0Ev", "llvm::ZExtInst::~ZExtInst()"},
-    {"_ZN4llvm8SExtInstD1Ev", "llvm::SExtInst::~SExtInst()"},
-    {"_ZN4llvm8SExtInstD0Ev", "llvm::SExtInst::~SExtInst()"},
-    {"_ZN4llvm11FPTruncInstD1Ev", "llvm::FPTruncInst::~FPTruncInst()"},
-    {"_ZN4llvm11FPTruncInstD0Ev", "llvm::FPTruncInst::~FPTruncInst()"},
-    {"_ZN4llvm9FPExtInstD1Ev", "llvm::FPExtInst::~FPExtInst()"},
-    {"_ZN4llvm9FPExtInstD0Ev", "llvm::FPExtInst::~FPExtInst()"},
-    {"_ZN4llvm10UIToFPInstD1Ev", "llvm::UIToFPInst::~UIToFPInst()"},
-    {"_ZN4llvm10UIToFPInstD0Ev", "llvm::UIToFPInst::~UIToFPInst()"},
-    {"_ZN4llvm10SIToFPInstD1Ev", "llvm::SIToFPInst::~SIToFPInst()"},
-    {"_ZN4llvm10SIToFPInstD0Ev", "llvm::SIToFPInst::~SIToFPInst()"},
-    {"_ZN4llvm10FPToUIInstD1Ev", "llvm::FPToUIInst::~FPToUIInst()"},
-    {"_ZN4llvm10FPToUIInstD0Ev", "llvm::FPToUIInst::~FPToUIInst()"},
-    {"_ZN4llvm10FPToSIInstD1Ev", "llvm::FPToSIInst::~FPToSIInst()"},
-    {"_ZN4llvm10FPToSIInstD0Ev", "llvm::FPToSIInst::~FPToSIInst()"},
-    {"_ZN4llvm12PtrToIntInstD1Ev", "llvm::PtrToIntInst::~PtrToIntInst()"},
-    {"_ZN4llvm12PtrToIntInstD0Ev", "llvm::PtrToIntInst::~PtrToIntInst()"},
-    {"_ZN4llvm12IntToPtrInstD1Ev", "llvm::IntToPtrInst::~IntToPtrInst()"},
-    {"_ZN4llvm12IntToPtrInstD0Ev", "llvm::IntToPtrInst::~IntToPtrInst()"},
-    {"_ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPN4llvm3UseES5_EET0_T_S7_S6_", "llvm::Use* std::__copy<false, std::random_access_iterator_tag>::copy<llvm::Use*, llvm::Use*>(llvm::Use*, llvm::Use*, llvm::Use*)"},
-    {"_ZN4llvm8CastInstD1Ev", "llvm::CastInst::~CastInst()"},
-    {"_ZN4llvm8CastInstD0Ev", "llvm::CastInst::~CastInst()"},
-    {"_ZN4llvm9VAArgInstC2EPNS_5ValueEPKNS_4TypeERKNS_5TwineEPNS_11InstructionE", "llvm::VAArgInst::VAArgInst(llvm::Value*, llvm::Type const*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10SelectInstC2EPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE", "llvm::SelectInst::SelectInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm10SelectInst4initEPNS_5ValueES2_S2_", "llvm::SelectInst::init(llvm::Value*, llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm8FCmpInstC2ERNS_10BasicBlockENS_7CmpInst9PredicateEPNS_5ValueES6_RKNS_5TwineE", "llvm::FCmpInst::FCmpInst(llvm::BasicBlock&, llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm8FCmpInstC2ENS_7CmpInst9PredicateEPNS_5ValueES4_RKNS_5TwineE", "llvm::FCmpInst::FCmpInst(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm8FCmpInstC2EPNS_11InstructionENS_7CmpInst9PredicateEPNS_5ValueES6_RKNS_5TwineE", "llvm::FCmpInst::FCmpInst(llvm::Instruction*, llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm8ICmpInstC2ENS_7CmpInst9PredicateEPNS_5ValueES4_RKNS_5TwineE", "llvm::ICmpInst::ICmpInst(llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&)"},
-    {"_ZN4llvm14BinaryOperator9CreateNUWENS_11Instruction9BinaryOpsEPNS_5ValueES4_RKNS_5TwineEPS1_", "llvm::BinaryOperator::CreateNUW(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm14BinaryOperator9CreateNSWENS_11Instruction9BinaryOpsEPNS_5ValueES4_RKNS_5TwineEPS1_", "llvm::BinaryOperator::CreateNSW(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*)"},
-    {"_ZN4llvm16DbgInfoIntrinsic9StripCastEPNS_5ValueE", "llvm::DbgInfoIntrinsic::StripCast(llvm::Value*)"},
-    {"_ZNK4llvm14DbgDeclareInst10getAddressEv", "llvm::DbgDeclareInst::getAddress() const"},
-    {"_ZNK4llvm12DbgValueInst8getValueEv", "llvm::DbgValueInst::getValue() const"},
-    {"_ZN4llvm12DbgValueInst8getValueEv", "llvm::DbgValueInst::getValue()"},
-    {"_ZN4llvm16getGlobalContextEv", "llvm::getGlobalContext()"},
-    {"_ZN4llvm11LLVMContextC1Ev", "llvm::LLVMContext::LLVMContext()"},
-    {"_ZN4llvm11LLVMContextC2Ev", "llvm::LLVMContext::LLVMContext()"},
-    {"_ZNK4llvm11LLVMContext11getMDKindIDENS_9StringRefE", "llvm::LLVMContext::getMDKindID(llvm::StringRef) const"},
-    {"_ZN4llvm11LLVMContextD1Ev", "llvm::LLVMContext::~LLVMContext()"},
-    {"_ZN4llvm11LLVMContextD2Ev", "llvm::LLVMContext::~LLVMContext()"},
-    {"_ZN4llvm11LLVMContext9addModuleEPNS_6ModuleE", "llvm::LLVMContext::addModule(llvm::Module*)"},
-    {"_ZN4llvm11LLVMContext12removeModuleEPNS_6ModuleE", "llvm::LLVMContext::removeModule(llvm::Module*)"},
-    {"_ZN4llvm11LLVMContext29setInlineAsmDiagnosticHandlerEPFvRKNS_12SMDiagnosticEPvjES4_", "llvm::LLVMContext::setInlineAsmDiagnosticHandler(void (*)(llvm::SMDiagnostic const&, void*, unsigned int), void*)"},
-    {"_ZNK4llvm11LLVMContext29getInlineAsmDiagnosticHandlerEv", "llvm::LLVMContext::getInlineAsmDiagnosticHandler() const"},
-    {"_ZNK4llvm11LLVMContext29getInlineAsmDiagnosticContextEv", "llvm::LLVMContext::getInlineAsmDiagnosticContext() const"},
-    {"_ZN4llvm11LLVMContext9emitErrorENS_9StringRefE", "llvm::LLVMContext::emitError(llvm::StringRef)"},
-    {"_ZN4llvm11LLVMContext9emitErrorEjNS_9StringRefE", "llvm::LLVMContext::emitError(unsigned int, llvm::StringRef)"},
-    {"_ZN4llvm11LLVMContext9emitErrorEPKNS_11InstructionENS_9StringRefE", "llvm::LLVMContext::emitError(llvm::Instruction const*, llvm::StringRef)"},
-    {"_ZNK4llvm11LLVMContext14getMDKindNamesERNS_15SmallVectorImplINS_9StringRefEEE", "llvm::LLVMContext::getMDKindNames(llvm::SmallVectorImpl<llvm::StringRef>&) const"},
-    {"_ZN4llvm9StringMapIjNS_15MallocAllocatorEE16GetOrCreateValueIjEERNS_14StringMapEntryIjEENS_9StringRefET_", "llvm::StringMapEntry<unsigned int>& llvm::StringMap<unsigned int, llvm::MallocAllocator>::GetOrCreateValue<unsigned int>(llvm::StringRef, unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplINS_9StringRefEE6resizeEj", "llvm::SmallVectorImpl<llvm::StringRef>::resize(unsigned int)"},
-    {"_ZN4llvm14object_creatorINS_11LLVMContextEEEPvv", "void* llvm::object_creator<llvm::LLVMContext>()"},
-    {"_ZN4llvm14object_deleterINS_11LLVMContextEE4callEPv", "llvm::object_deleter<llvm::LLVMContext>::call(void*)"},
-    {"_ZN4llvm15LLVMContextImplC1ERNS_11LLVMContextE", "llvm::LLVMContextImpl::LLVMContextImpl(llvm::LLVMContext&)"},
-    {"_ZN4llvm15LLVMContextImplC2ERNS_11LLVMContextE", "llvm::LLVMContextImpl::LLVMContextImpl(llvm::LLVMContext&)"},
-    {"_ZN4llvm15LLVMContextImplD1Ev", "llvm::LLVMContextImpl::~LLVMContextImpl()"},
-    {"_ZN4llvm15LLVMContextImplD2Ev", "llvm::LLVMContextImpl::~LLVMContextImpl()"},
-    {"_ZN4llvm15SmallVectorImplIPNS_6MDNodeEE6appendINS_19SmallPtrSetIteratorIS2_EEEEvT_S7_", "void llvm::SmallVectorImpl<llvm::MDNode*>::append<llvm::SmallPtrSetIterator<llvm::MDNode*> >(llvm::SmallPtrSetIterator<llvm::MDNode*>, llvm::SmallPtrSetIterator<llvm::MDNode*>)"},
-    {"_ZN4llvm11IntegerTypeD1Ev", "llvm::IntegerType::~IntegerType()"},
-    {"_ZN4llvm4TypeD1Ev", "llvm::Type::~Type()"},
-    {"_ZN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EED1Ev", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EED1Ev", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EED1Ev", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EED1Ev", "llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EED1Ev", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EED1Ev", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EED1Ev", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EED1Ev", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm10FoldingSetINS_6MDNodeEED1Ev", "llvm::FoldingSet<llvm::MDNode>::~FoldingSet()"},
-    {"_ZN4llvm16DenseMapIteratorINS_22DenseMapAPFloatKeyInfo5KeyTyEPNS_10ConstantFPES1_NS_12DenseMapInfoIS4_EELb0EE23AdvancePastEmptyBucketsEv", "llvm::DenseMapIterator<llvm::DenseMapAPFloatKeyInfo::KeyTy, llvm::ConstantFP*, llvm::DenseMapAPFloatKeyInfo, llvm::DenseMapInfo<llvm::ConstantFP*>, false>::AdvancePastEmptyBuckets()"},
-    {"_ZN4llvm16DenseMapIteratorINS_20DenseMapAPIntKeyInfo5KeyTyEPNS_11ConstantIntES1_NS_12DenseMapInfoIS4_EELb0EE23AdvancePastEmptyBucketsEv", "llvm::DenseMapIterator<llvm::DenseMapAPIntKeyInfo::KeyTy, llvm::ConstantInt*, llvm::DenseMapAPIntKeyInfo, llvm::DenseMapInfo<llvm::ConstantInt*>, false>::AdvancePastEmptyBuckets()"},
-    {"_ZNSt6vectorIPN4llvm6ModuleESaIS2_EE19_M_range_initializeINS0_19SmallPtrSetIteratorIS2_EEEEvT_S8_St20forward_iterator_tag", "void std::vector<llvm::Module*, std::allocator<llvm::Module*> >::_M_range_initialize<llvm::SmallPtrSetIterator<llvm::Module*> >(llvm::SmallPtrSetIterator<llvm::Module*>, llvm::SmallPtrSetIterator<llvm::Module*>, std::forward_iterator_tag)"},
-    {"_ZN4llvm10DebugRecVHD1Ev", "llvm::DebugRecVH::~DebugRecVH()"},
-    {"_ZN4llvm10DebugRecVHD0Ev", "llvm::DebugRecVH::~DebugRecVH()"},
-    {"_ZN4llvm8DenseMapIPKNS_11InstructionENS_11SmallVectorISt4pairIjNS_10TrackingVHINS_6MDNodeEEEELj2EEENS_12DenseMapInfoIS3_EENSB_ISA_EEED2Ev", "llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u>, llvm::DenseMapInfo<llvm::Instruction const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u> > >::~DenseMap()"},
-    {"_ZN4llvm8DenseMapINS_22DenseMapAPFloatKeyInfo5KeyTyEPNS_10ConstantFPES1_NS_12DenseMapInfoIS4_EEED2Ev", "llvm::DenseMap<llvm::DenseMapAPFloatKeyInfo::KeyTy, llvm::ConstantFP*, llvm::DenseMapAPFloatKeyInfo, llvm::DenseMapInfo<llvm::ConstantFP*> >::~DenseMap()"},
-    {"_ZN4llvm8DenseMapINS_20DenseMapAPIntKeyInfo5KeyTyEPNS_11ConstantIntES1_NS_12DenseMapInfoIS4_EEED2Ev", "llvm::DenseMap<llvm::DenseMapAPIntKeyInfo::KeyTy, llvm::ConstantInt*, llvm::DenseMapAPIntKeyInfo, llvm::DenseMapInfo<llvm::ConstantInt*> >::~DenseMap()"},
-    {"_ZN4llvm10FoldingSetINS_6MDNodeEED0Ev", "llvm::FoldingSet<llvm::MDNode>::~FoldingSet()"},
-    {"_ZNK4llvm10FoldingSetINS_6MDNodeEE14GetNodeProfileEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::MDNode>::GetNodeProfile(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_6MDNodeEE10NodeEqualsEPNS_14FoldingSetImpl4NodeERKNS_16FoldingSetNodeIDERS6_", "llvm::FoldingSet<llvm::MDNode>::NodeEquals(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID const&, llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm10FoldingSetINS_6MDNodeEE15ComputeNodeHashEPNS_14FoldingSetImpl4NodeERNS_16FoldingSetNodeIDE", "llvm::FoldingSet<llvm::MDNode>::ComputeNodeHash(llvm::FoldingSetImpl::Node*, llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm8DenseMapINS_22DenseMapAPFloatKeyInfo5KeyTyEPNS_10ConstantFPES1_NS_12DenseMapInfoIS4_EEE4initEj", "llvm::DenseMap<llvm::DenseMapAPFloatKeyInfo::KeyTy, llvm::ConstantFP*, llvm::DenseMapAPFloatKeyInfo, llvm::DenseMapInfo<llvm::ConstantFP*> >::init(unsigned int)"},
-    {"_ZN4llvm8DenseMapINS_20DenseMapAPIntKeyInfo5KeyTyEPNS_11ConstantIntES1_NS_12DenseMapInfoIS4_EEE4initEj", "llvm::DenseMap<llvm::DenseMapAPIntKeyInfo::KeyTy, llvm::ConstantInt*, llvm::DenseMapAPIntKeyInfo, llvm::DenseMapInfo<llvm::ConstantInt*> >::init(unsigned int)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EED0Ev", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EE18refineAbstractTypeEPKNS_11DerivedTypeEPKS1_", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EE18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EE4dumpEv", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>::dump() const"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EE21UpdateAbstractTypeMapEPKNS_11DerivedTypeESt17_Rb_tree_iteratorISt4pairIKS8_IPKS1_cEPS2_EE", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>::UpdateAbstractTypeMap(llvm::DerivedType const*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeEcEPNS0_21ConstantAggregateZeroEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE16_M_insert_uniqueES6_ISG_ERKSG_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeEcEPNS0_21ConstantAggregateZeroEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE16_M_insert_uniqueERKSG_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > > >::_M_insert_unique(std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeEcEPNS0_21ConstantAggregateZeroEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE5eraseES6_ISG_ESN_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >, std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeEcEPNS0_21ConstantAggregateZeroEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE8_M_eraseEPSt13_Rb_tree_nodeISG_E", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeEcES0_IKS5_PNS1_21ConstantAggregateZeroEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE16_M_insert_uniqueERKS9_", "std::_Rb_tree<std::pair<llvm::Type const*, char>, std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> >, std::less<std::pair<llvm::Type const*, char> >, std::allocator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > >::_M_insert_unique(std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeEcES0_IKS5_PNS1_21ConstantAggregateZeroEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E", "std::_Rb_tree<std::pair<llvm::Type const*, char>, std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> >, std::less<std::pair<llvm::Type const*, char> >, std::allocator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm21ConstantAggregateZeroESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_4TypeEcES2_EEESt10_Select1stISD_ESt4lessIS2_ESaISD_EE8_M_eraseEPSt13_Rb_tree_nodeISD_E", "std::_Rb_tree<llvm::ConstantAggregateZero*, std::pair<llvm::ConstantAggregateZero* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > >, std::_Select1st<std::pair<llvm::ConstantAggregateZero* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >, std::less<llvm::ConstantAggregateZero*>, std::allocator<std::pair<llvm::ConstantAggregateZero* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::ConstantAggregateZero* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::ConstantAggregateZero*> > > >*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EED0Ev", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE4dumpEv", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::dump() const"},
-    {"_ZN4llvm15ConstantKeyDataINS_13ConstantArrayEE10getValTypeEPS1_", "llvm::ConstantKeyData<llvm::ConstantArray>::getValType(llvm::ConstantArray*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EE21UpdateAbstractTypeMapEPKNS_11DerivedTypeESt17_Rb_tree_iteratorISt4pairIKSD_IPKS6_S5_EPS7_EE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>::UpdateAbstractTypeMap(llvm::DerivedType const*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_9ArrayTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_13ConstantArrayEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE16_M_insert_uniqueES6_ISL_ERKSL_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_9ArrayTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_13ConstantArrayEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE16_M_insert_uniqueERKSL_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > > >::_M_insert_unique(std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm13ConstantArrayESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_9ArrayTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE16_M_insert_uniqueES5_ISI_ERKSI_", "std::_Rb_tree<llvm::ConstantArray*, std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >, std::_Select1st<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::less<llvm::ConstantArray*>, std::allocator<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm13ConstantArrayESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_9ArrayTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE16_M_insert_uniqueERKSI_", "std::_Rb_tree<llvm::ConstantArray*, std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >, std::_Select1st<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::less<llvm::ConstantArray*>, std::allocator<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > > >::_M_insert_unique(std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_9ArrayTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_13ConstantArrayEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE5eraseES6_ISL_ESS_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_9ArrayTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_13ConstantArrayEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE8_M_eraseEPSt13_Rb_tree_nodeISL_E", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm9ArrayTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_13ConstantArrayEESt10_Select1stISE_ESt4lessISA_ESaISE_EE4findERSB_", "std::_Rb_tree<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*>, std::_Select1st<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >, std::less<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >::find(std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm9ArrayTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_13ConstantArrayEESt10_Select1stISE_ESt4lessISA_ESaISE_EE16_M_insert_uniqueERKSE_", "std::_Rb_tree<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*>, std::_Select1st<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >, std::less<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >::_M_insert_unique(std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm9ArrayTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_13ConstantArrayEESt10_Select1stISE_ESt4lessISA_ESaISE_EE9_M_insertEPSt18_Rb_tree_node_baseSM_RKSE_", "std::_Rb_tree<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*>, std::_Select1st<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >, std::less<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm9ArrayTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_13ConstantArrayEESt10_Select1stISE_ESt4lessISA_ESaISE_EE14_M_create_nodeERKSE_", "std::_Rb_tree<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*>, std::_Select1st<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >, std::less<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >::_M_create_node(std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> const&)"},
-    {"_ZNSt6vectorIPN4llvm8ConstantESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Constant**, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, llvm::Constant* const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm9ArrayTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_13ConstantArrayEESt10_Select1stISE_ESt4lessISA_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E", "std::_Rb_tree<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*>, std::_Select1st<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >, std::less<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm13ConstantArrayESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_9ArrayTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE8_M_eraseEPSt13_Rb_tree_nodeISI_E", "std::_Rb_tree<llvm::ConstantArray*, std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > >, std::_Select1st<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >, std::less<llvm::ConstantArray*>, std::allocator<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::ConstantArray* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::ArrayType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantArray*> > > >*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EED0Ev", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE4dumpEv", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::dump() const"},
-    {"_ZN4llvm15ConstantKeyDataINS_14ConstantStructEE10getValTypeEPS1_", "llvm::ConstantKeyData<llvm::ConstantStruct>::getValType(llvm::ConstantStruct*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EE21UpdateAbstractTypeMapEPKNS_11DerivedTypeESt17_Rb_tree_iteratorISt4pairIKSD_IPKS6_S5_EPS7_EE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>::UpdateAbstractTypeMap(llvm::DerivedType const*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_10StructTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_14ConstantStructEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE16_M_insert_uniqueES6_ISL_ERKSL_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_10StructTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_14ConstantStructEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE16_M_insert_uniqueERKSL_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > > >::_M_insert_unique(std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm14ConstantStructESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_10StructTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE16_M_insert_uniqueES5_ISI_ERKSI_", "std::_Rb_tree<llvm::ConstantStruct*, std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >, std::_Select1st<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::less<llvm::ConstantStruct*>, std::allocator<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm14ConstantStructESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_10StructTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE16_M_insert_uniqueERKSI_", "std::_Rb_tree<llvm::ConstantStruct*, std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >, std::_Select1st<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::less<llvm::ConstantStruct*>, std::allocator<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > > >::_M_insert_unique(std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_10StructTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_14ConstantStructEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE5eraseES6_ISL_ESS_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_10StructTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_14ConstantStructEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE8_M_eraseEPSt13_Rb_tree_nodeISL_E", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10StructTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantStructEESt10_Select1stISE_ESt4lessISA_ESaISE_EE4findERSB_", "std::_Rb_tree<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*>, std::_Select1st<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >, std::less<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >::find(std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10StructTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantStructEESt10_Select1stISE_ESt4lessISA_ESaISE_EE16_M_insert_uniqueERKSE_", "std::_Rb_tree<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*>, std::_Select1st<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >, std::less<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >::_M_insert_unique(std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10StructTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantStructEESt10_Select1stISE_ESt4lessISA_ESaISE_EE9_M_insertEPSt18_Rb_tree_node_baseSM_RKSE_", "std::_Rb_tree<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*>, std::_Select1st<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >, std::less<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10StructTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantStructEESt10_Select1stISE_ESt4lessISA_ESaISE_EE14_M_create_nodeERKSE_", "std::_Rb_tree<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*>, std::_Select1st<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >, std::less<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >::_M_create_node(std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10StructTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantStructEESt10_Select1stISE_ESt4lessISA_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E", "std::_Rb_tree<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*>, std::_Select1st<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >, std::less<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm14ConstantStructESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_10StructTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE8_M_eraseEPSt13_Rb_tree_nodeISI_E", "std::_Rb_tree<llvm::ConstantStruct*, std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > >, std::_Select1st<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >, std::less<llvm::ConstantStruct*>, std::allocator<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::ConstantStruct* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::StructType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantStruct*> > > >*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EED0Ev", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EE18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EE18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EE4dumpEv", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::dump() const"},
-    {"_ZN4llvm15ConstantKeyDataINS_14ConstantVectorEE10getValTypeEPS1_", "llvm::ConstantKeyData<llvm::ConstantVector>::getValType(llvm::ConstantVector*)"},
-    {"_ZN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EE21UpdateAbstractTypeMapEPKNS_11DerivedTypeESt17_Rb_tree_iteratorISt4pairIKSD_IPKS6_S5_EPS7_EE", "llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>::UpdateAbstractTypeMap(llvm::DerivedType const*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_10VectorTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_14ConstantVectorEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE16_M_insert_uniqueES6_ISL_ERKSL_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_10VectorTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_14ConstantVectorEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE16_M_insert_uniqueERKSL_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > > >::_M_insert_unique(std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_10VectorTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_14ConstantVectorEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE5eraseES6_ISL_ESS_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >, std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_10VectorTypeESt6vectorIPNS0_8ConstantESaISC_EEEPNS0_14ConstantVectorEEEESt10_Select1stISL_ESt4lessIS3_ESaISL_EE8_M_eraseEPSt13_Rb_tree_nodeISL_E", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10VectorTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantVectorEESt10_Select1stISE_ESt4lessISA_ESaISE_EE4findERSB_", "std::_Rb_tree<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*>, std::_Select1st<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >, std::less<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >::find(std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10VectorTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantVectorEESt10_Select1stISE_ESt4lessISA_ESaISE_EE16_M_insert_uniqueERKSE_", "std::_Rb_tree<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*>, std::_Select1st<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >, std::less<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >::_M_insert_unique(std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10VectorTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantVectorEESt10_Select1stISE_ESt4lessISA_ESaISE_EE9_M_insertEPSt18_Rb_tree_node_baseSM_RKSE_", "std::_Rb_tree<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*>, std::_Select1st<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >, std::less<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10VectorTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantVectorEESt10_Select1stISE_ESt4lessISA_ESaISE_EE14_M_create_nodeERKSE_", "std::_Rb_tree<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*>, std::_Select1st<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >, std::less<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >::_M_create_node(std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm10VectorTypeESt6vectorIPNS1_8ConstantESaIS7_EEES0_IKSA_PNS1_14ConstantVectorEESt10_Select1stISE_ESt4lessISA_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E", "std::_Rb_tree<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > >, std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*>, std::_Select1st<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >, std::less<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > >, std::allocator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm14ConstantVectorESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_10VectorTypeESt6vectorIPNS0_8ConstantESaISB_EEES2_EEESt10_Select1stISI_ESt4lessIS2_ESaISI_EE8_M_eraseEPSt13_Rb_tree_nodeISI_E", "std::_Rb_tree<llvm::ConstantVector*, std::pair<llvm::ConstantVector* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > >, std::_Select1st<std::pair<llvm::ConstantVector* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >, std::less<llvm::ConstantVector*>, std::allocator<std::pair<llvm::ConstantVector* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::ConstantVector* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::VectorType const*, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > > const, llvm::ConstantVector*> > > >*)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EED0Ev", "llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EE18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EE18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EE4dumpEv", "llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>::dump() const"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EE21UpdateAbstractTypeMapEPKNS_11DerivedTypeESt17_Rb_tree_iteratorISt4pairIKS8_IPKS1_cEPS2_EE", "llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>::UpdateAbstractTypeMap(llvm::DerivedType const*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_11PointerTypeEcEPNS0_19ConstantPointerNullEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE16_M_insert_uniqueES6_ISG_ERKSG_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_11PointerTypeEcEPNS0_19ConstantPointerNullEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE16_M_insert_uniqueERKSG_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > > >::_M_insert_unique(std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_11PointerTypeEcEPNS0_19ConstantPointerNullEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE5eraseES6_ISG_ESN_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >, std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_11PointerTypeEcEPNS0_19ConstantPointerNullEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE8_M_eraseEPSt13_Rb_tree_nodeISG_E", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm11PointerTypeEcES0_IKS5_PNS1_19ConstantPointerNullEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE16_M_insert_uniqueERKS9_", "std::_Rb_tree<std::pair<llvm::PointerType const*, char>, std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*>, std::_Select1st<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> >, std::less<std::pair<llvm::PointerType const*, char> >, std::allocator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > >::_M_insert_unique(std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm11PointerTypeEcES0_IKS5_PNS1_19ConstantPointerNullEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E", "std::_Rb_tree<std::pair<llvm::PointerType const*, char>, std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*>, std::_Select1st<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> >, std::less<std::pair<llvm::PointerType const*, char> >, std::allocator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm19ConstantPointerNullESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_11PointerTypeEcES2_EEESt10_Select1stISD_ESt4lessIS2_ESaISD_EE8_M_eraseEPSt13_Rb_tree_nodeISD_E", "std::_Rb_tree<llvm::ConstantPointerNull*, std::pair<llvm::ConstantPointerNull* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > >, std::_Select1st<std::pair<llvm::ConstantPointerNull* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >, std::less<llvm::ConstantPointerNull*>, std::allocator<std::pair<llvm::ConstantPointerNull* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::ConstantPointerNull* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, char> const, llvm::ConstantPointerNull*> > > >*)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EED0Ev", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EE18refineAbstractTypeEPKNS_11DerivedTypeEPKS1_", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EE18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EE4dumpEv", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>::dump() const"},
-    {"_ZN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EE21UpdateAbstractTypeMapEPKNS_11DerivedTypeESt17_Rb_tree_iteratorISt4pairIKS8_IPKS1_cEPS2_EE", "llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>::UpdateAbstractTypeMap(llvm::DerivedType const*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeEcEPNS0_10UndefValueEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE16_M_insert_uniqueES6_ISG_ERKSG_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeEcEPNS0_10UndefValueEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE16_M_insert_uniqueERKSG_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > > >::_M_insert_unique(std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeEcEPNS0_10UndefValueEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE5eraseES6_ISG_ESN_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >, std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeEcEPNS0_10UndefValueEEEESt10_Select1stISG_ESt4lessIS3_ESaISG_EE8_M_eraseEPSt13_Rb_tree_nodeISG_E", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >*)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeEcES0_IKS5_PNS1_10UndefValueEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE16_M_insert_uniqueERKS9_", "std::_Rb_tree<std::pair<llvm::Type const*, char>, std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> >, std::less<std::pair<llvm::Type const*, char> >, std::allocator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > >::_M_insert_unique(std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeEcES0_IKS5_PNS1_10UndefValueEESt10_Select1stIS9_ESt4lessIS5_ESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E", "std::_Rb_tree<std::pair<llvm::Type const*, char>, std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> >, std::less<std::pair<llvm::Type const*, char> >, std::allocator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm10UndefValueESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_4TypeEcES2_EEESt10_Select1stISD_ESt4lessIS2_ESaISD_EE8_M_eraseEPSt13_Rb_tree_nodeISD_E", "std::_Rb_tree<llvm::UndefValue*, std::pair<llvm::UndefValue* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > >, std::_Select1st<std::pair<llvm::UndefValue* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >, std::less<llvm::UndefValue*>, std::allocator<std::pair<llvm::UndefValue* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::UndefValue* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, char> const, llvm::UndefValue*> > > >*)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EED0Ev", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EE18refineAbstractTypeEPKNS_11DerivedTypeEPKS2_", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EE18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EE4dumpEv", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::dump() const"},
-    {"_ZN4llvm15ConstantKeyDataINS_12ConstantExprEE10getValTypeEPS1_", "llvm::ConstantKeyData<llvm::ConstantExpr>::getValType(llvm::ConstantExpr*)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EE21UpdateAbstractTypeMapEPKNS_11DerivedTypeESt17_Rb_tree_iteratorISt4pairIKS9_IPKS2_S1_EPS3_EE", "llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>::UpdateAbstractTypeMap(llvm::DerivedType const*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeENS0_14ExprMapKeyTypeEEPNS0_12ConstantExprEEEESt10_Select1stISH_ESt4lessIS3_ESaISH_EE16_M_insert_uniqueES6_ISH_ERKSH_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeENS0_14ExprMapKeyTypeEEPNS0_12ConstantExprEEEESt10_Select1stISH_ESt4lessIS3_ESaISH_EE16_M_insert_uniqueERKSH_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > > >::_M_insert_unique(std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeENS0_14ExprMapKeyTypeEEPNS0_12ConstantExprEEEESt10_Select1stISH_ESt4lessIS3_ESaISH_EE5eraseES6_ISH_ESO_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >, std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_4TypeENS0_14ExprMapKeyTypeEEPNS0_12ConstantExprEEEESt10_Select1stISH_ESt4lessIS3_ESaISH_EE8_M_eraseEPSt13_Rb_tree_nodeISH_E", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >*)"},
-    {"_ZNK4llvm14ExprMapKeyTypeltERKS0_", "llvm::ExprMapKeyType::operator<(llvm::ExprMapKeyType const&) const"},
-    {"_ZNSt4pairIS_IPKN4llvm4TypeENS0_14ExprMapKeyTypeEEPNS0_12ConstantExprEEC2ERKS5_RKS7_", "std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType>, llvm::ConstantExpr*>::pair(std::pair<llvm::Type const*, llvm::ExprMapKeyType> const&, llvm::ConstantExpr* const&)"},
-    {"_ZNSt4pairIKS_IPKN4llvm4TypeENS0_14ExprMapKeyTypeEEPNS0_12ConstantExprEEC2IS5_S8_EERKS_IT_T0_E", "std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*>::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType>, llvm::ConstantExpr*>(std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType>, llvm::ConstantExpr*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeENS1_14ExprMapKeyTypeEES0_IKS6_PNS1_12ConstantExprEESt10_Select1stISA_ESt4lessIS6_ESaISA_EE16_M_insert_uniqueERKSA_", "std::_Rb_tree<std::pair<llvm::Type const*, llvm::ExprMapKeyType>, std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> >, std::less<std::pair<llvm::Type const*, llvm::ExprMapKeyType> >, std::allocator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > >::_M_insert_unique(std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> const&)"},
-    {"_ZN9__gnu_cxx13new_allocatorISt4pairIKS1_IPKN4llvm4TypeENS2_14ExprMapKeyTypeEEPNS2_12ConstantExprEEE9constructEPSB_RKSB_", "__gnu_cxx::new_allocator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> >::construct(std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*>*, std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> const&)"},
-    {"_ZN4llvm14ExprMapKeyTypeC2EjRKSt6vectorIPNS_8ConstantESaIS3_EEttRKNS_11SmallVectorIjLj4EEE", "llvm::ExprMapKeyType::ExprMapKeyType(unsigned int, std::vector<llvm::Constant*, std::allocator<llvm::Constant*> > const&, unsigned short, unsigned short, llvm::SmallVector<unsigned int, 4u> const&)"},
-    {"_ZNSt4pairIPKN4llvm4TypeENS0_14ExprMapKeyTypeEEC2ERKS3_RKS4_", "std::pair<llvm::Type const*, llvm::ExprMapKeyType>::pair(llvm::Type const* const&, llvm::ExprMapKeyType const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm4TypeENS1_14ExprMapKeyTypeEES0_IKS6_PNS1_12ConstantExprEESt10_Select1stISA_ESt4lessIS6_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E", "std::_Rb_tree<std::pair<llvm::Type const*, llvm::ExprMapKeyType>, std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*>, std::_Select1st<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> >, std::less<std::pair<llvm::Type const*, llvm::ExprMapKeyType> >, std::allocator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm12ConstantExprESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_4TypeENS0_14ExprMapKeyTypeEES2_EEESt10_Select1stISE_ESt4lessIS2_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E", "std::_Rb_tree<llvm::ConstantExpr*, std::pair<llvm::ConstantExpr* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > >, std::_Select1st<std::pair<llvm::ConstantExpr* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >, std::less<llvm::ConstantExpr*>, std::allocator<std::pair<llvm::ConstantExpr* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::ConstantExpr* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::Type const*, llvm::ExprMapKeyType> const, llvm::ConstantExpr*> > > >*)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EED0Ev", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::~ConstantUniqueMap()"},
-    {"_ZN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EE18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EE18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EE4dumpEv", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::dump() const"},
-    {"_ZN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EE21UpdateAbstractTypeMapEPKNS_11DerivedTypeESt17_Rb_tree_iteratorISt4pairIKS9_IPKS2_S1_EPS3_EE", "llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>::UpdateAbstractTypeMap(llvm::DerivedType const*, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_11PointerTypeENS0_16InlineAsmKeyTypeEEPNS0_9InlineAsmEEEESt10_Select1stISH_ESt4lessIS3_ESaISH_EE16_M_insert_uniqueES6_ISH_ERKSH_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_11PointerTypeENS0_16InlineAsmKeyTypeEEPNS0_9InlineAsmEEEESt10_Select1stISH_ESt4lessIS3_ESaISH_EE16_M_insert_uniqueERKSH_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > > >::_M_insert_unique(std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm11PointerTypeENS1_16InlineAsmKeyTypeEES0_IKS6_PNS1_9InlineAsmEESt10_Select1stISA_ESt4lessIS6_ESaISA_EE5eraseESt17_Rb_tree_iteratorISA_E", "std::_Rb_tree<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType>, std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*>, std::_Select1st<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >, std::less<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> >, std::allocator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >::erase(std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_11PointerTypeENS0_16InlineAsmKeyTypeEEPNS0_9InlineAsmEEEESt10_Select1stISH_ESt4lessIS3_ESaISH_EE5eraseES6_ISH_ESO_", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > > >::erase(std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >, std::_Rb_tree_iterator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm11DerivedTypeESt4pairIKS3_St17_Rb_tree_iteratorIS4_IKS4_IPKNS0_11PointerTypeENS0_16InlineAsmKeyTypeEEPNS0_9InlineAsmEEEESt10_Select1stISH_ESt4lessIS3_ESaISH_EE8_M_eraseEPSt13_Rb_tree_nodeISH_E", "std::_Rb_tree<llvm::DerivedType const*, std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >, std::_Select1st<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >, std::less<llvm::DerivedType const*>, std::allocator<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::DerivedType const* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >*)"},
-    {"_ZNK4llvm16InlineAsmKeyTypeltERKS0_", "llvm::InlineAsmKeyType::operator<(llvm::InlineAsmKeyType const&) const"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm11PointerTypeENS1_16InlineAsmKeyTypeEES0_IKS6_PNS1_9InlineAsmEESt10_Select1stISA_ESt4lessIS6_ESaISA_EE16_M_insert_uniqueERKSA_", "std::_Rb_tree<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType>, std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*>, std::_Select1st<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >, std::less<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> >, std::allocator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >::_M_insert_unique(std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm11PointerTypeENS1_16InlineAsmKeyTypeEES0_IKS6_PNS1_9InlineAsmEESt10_Select1stISA_ESt4lessIS6_ESaISA_EE9_M_insertEPSt18_Rb_tree_node_baseSI_RKSA_", "std::_Rb_tree<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType>, std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*>, std::_Select1st<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >, std::less<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> >, std::allocator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> const&)"},
-    {"_ZNSt8_Rb_treeISt4pairIPKN4llvm11PointerTypeENS1_16InlineAsmKeyTypeEES0_IKS6_PNS1_9InlineAsmEESt10_Select1stISA_ESt4lessIS6_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E", "std::_Rb_tree<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType>, std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*>, std::_Select1st<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >, std::less<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> >, std::allocator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> >*)"},
-    {"_ZNSt8_Rb_treeIPN4llvm9InlineAsmESt4pairIKS2_St17_Rb_tree_iteratorIS3_IKS3_IPKNS0_11PointerTypeENS0_16InlineAsmKeyTypeEES2_EEESt10_Select1stISE_ESt4lessIS2_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E", "std::_Rb_tree<llvm::InlineAsm*, std::pair<llvm::InlineAsm* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > >, std::_Select1st<std::pair<llvm::InlineAsm* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >, std::less<llvm::InlineAsm*>, std::allocator<std::pair<llvm::InlineAsm* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::InlineAsm* const, std::_Rb_tree_iterator<std::pair<std::pair<llvm::PointerType const*, llvm::InlineAsmKeyType> const, llvm::InlineAsm*> > > >*)"},
-    {"_ZN4llvm4TypeD0Ev", "llvm::Type::~Type()"},
-    {"_ZN4llvm11IntegerTypeD0Ev", "llvm::IntegerType::~IntegerType()"},
-    {"_ZNK4llvm11DerivedType4dumpEv", "llvm::DerivedType::dump() const"},
-    {"_ZN4llvm11DerivedTypeD1Ev", "llvm::DerivedType::~DerivedType()"},
-    {"_ZN4llvm11DerivedTypeD0Ev", "llvm::DerivedType::~DerivedType()"},
-    {"_ZN4llvm11TypeMapBaseD2Ev", "llvm::TypeMapBase::~TypeMapBase()"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjN4llvm12PATypeHolderEESt10_Select1stIS4_ESt4lessIjESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::PATypeHolder>, std::_Select1st<std::pair<unsigned int const, llvm::PATypeHolder> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::PATypeHolder> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, llvm::PATypeHolder> >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm12ArrayValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<llvm::ArrayValType, std::pair<llvm::ArrayValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> >, std::less<llvm::ArrayValType>, std::allocator<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm13VectorValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<llvm::VectorValType, std::pair<llvm::VectorValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::VectorValType const, llvm::PATypeHolder> >, std::less<llvm::VectorValType>, std::allocator<std::pair<llvm::VectorValType const, llvm::PATypeHolder> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::VectorValType const, llvm::PATypeHolder> >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm14PointerValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<llvm::PointerValType, std::pair<llvm::PointerValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::PointerValType const, llvm::PATypeHolder> >, std::less<llvm::PointerValType>, std::allocator<std::pair<llvm::PointerValType const, llvm::PATypeHolder> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::PointerValType const, llvm::PATypeHolder> >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm15FunctionValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<llvm::FunctionValType, std::pair<llvm::FunctionValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >, std::less<llvm::FunctionValType>, std::allocator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm13StructValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<llvm::StructValType, std::pair<llvm::StructValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::StructValType const, llvm::PATypeHolder> >, std::less<llvm::StructValType>, std::allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::StructValType const, llvm::PATypeHolder> >*)"},
-    {"_ZNSt8_Rb_treeIN4llvm14IntegerValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E", "std::_Rb_tree<llvm::IntegerValType, std::pair<llvm::IntegerValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::IntegerValType const, llvm::PATypeHolder> >, std::less<llvm::IntegerValType>, std::allocator<std::pair<llvm::IntegerValType const, llvm::PATypeHolder> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::IntegerValType const, llvm::PATypeHolder> >*)"},
-    {"_ZN4llvm8MDStringC1ERNS_11LLVMContextENS_9StringRefE", "llvm::MDString::MDString(llvm::LLVMContext&, llvm::StringRef)"},
-    {"_ZN4llvm8MDStringC2ERNS_11LLVMContextENS_9StringRefE", "llvm::MDString::MDString(llvm::LLVMContext&, llvm::StringRef)"},
-    {"_ZN4llvm8MDString3getERNS_11LLVMContextENS_9StringRefE", "llvm::MDString::get(llvm::LLVMContext&, llvm::StringRef)"},
-    {"_ZN4llvm13MDNodeOperand7deletedEv", "llvm::MDNodeOperand::deleted()"},
-    {"_ZN4llvm6MDNode14replaceOperandEPNS_13MDNodeOperandEPNS_5ValueE", "llvm::MDNode::replaceOperand(llvm::MDNodeOperand*, llvm::Value*)"},
-    {"_ZN4llvm13MDNodeOperand19allUsesReplacedWithEPNS_5ValueE", "llvm::MDNodeOperand::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZN4llvm6MDNodeC1ERNS_11LLVMContextEPKPNS_5ValueEjb", "llvm::MDNode::MDNode(llvm::LLVMContext&, llvm::Value* const*, unsigned int, bool)"},
-    {"_ZN4llvm6MDNodeC2ERNS_11LLVMContextEPKPNS_5ValueEjb", "llvm::MDNode::MDNode(llvm::LLVMContext&, llvm::Value* const*, unsigned int, bool)"},
-    {"_ZN4llvm6MDNodeD0Ev", "llvm::MDNode::~MDNode()"},
-    {"_ZN4llvm6MDNodeD1Ev", "llvm::MDNode::~MDNode()"},
-    {"_ZN4llvm6MDNodeD2Ev", "llvm::MDNode::~MDNode()"},
-    {"_ZNK4llvm6MDNode11getFunctionEv", "llvm::MDNode::getFunction() const"},
-    {"_Z19getFunctionForValuePN4llvm5ValueE", "getFunctionForValue(llvm::Value*)"},
-    {"_ZNK4llvm6MDNode10getOperandEj", "llvm::MDNode::getOperand(unsigned int) const"},
-    {"_ZN4llvm6MDNode7destroyEv", "llvm::MDNode::destroy()"},
-    {"_ZN4llvm6MDNode9getMDNodeERNS_11LLVMContextEPKPNS_5ValueEjNS0_17FunctionLocalnessEb", "llvm::MDNode::getMDNode(llvm::LLVMContext&, llvm::Value* const*, unsigned int, llvm::MDNode::FunctionLocalness, bool)"},
-    {"_ZN4llvm6MDNode3getERNS_11LLVMContextEPKPNS_5ValueEj", "llvm::MDNode::get(llvm::LLVMContext&, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm6MDNode21getWhenValsUnresolvedERNS_11LLVMContextEPKPNS_5ValueEjb", "llvm::MDNode::getWhenValsUnresolved(llvm::LLVMContext&, llvm::Value* const*, unsigned int, bool)"},
-    {"_ZN4llvm6MDNode11getIfExistsERNS_11LLVMContextEPKPNS_5ValueEj", "llvm::MDNode::getIfExists(llvm::LLVMContext&, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm6MDNode12getTemporaryERNS_11LLVMContextEPKPNS_5ValueEj", "llvm::MDNode::getTemporary(llvm::LLVMContext&, llvm::Value* const*, unsigned int)"},
-    {"_ZN4llvm6MDNode15deleteTemporaryEPS0_", "llvm::MDNode::deleteTemporary(llvm::MDNode*)"},
-    {"_ZNK4llvm6MDNode7ProfileERNS_16FoldingSetNodeIDE", "llvm::MDNode::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm6MDNode15setIsNotUniquedEv", "llvm::MDNode::setIsNotUniqued()"},
-    {"_ZN4llvm11NamedMDNodeC1ERKNS_5TwineE", "llvm::NamedMDNode::NamedMDNode(llvm::Twine const&)"},
-    {"_ZN4llvm11NamedMDNodeC2ERKNS_5TwineE", "llvm::NamedMDNode::NamedMDNode(llvm::Twine const&)"},
-    {"_ZN4llvm11NamedMDNodeD1Ev", "llvm::NamedMDNode::~NamedMDNode()"},
-    {"_ZN4llvm11NamedMDNodeD2Ev", "llvm::NamedMDNode::~NamedMDNode()"},
-    {"_ZN4llvm11NamedMDNode17dropAllReferencesEv", "llvm::NamedMDNode::dropAllReferences()"},
-    {"_ZNK4llvm11NamedMDNode14getNumOperandsEv", "llvm::NamedMDNode::getNumOperands() const"},
-    {"_ZNK4llvm11NamedMDNode10getOperandEj", "llvm::NamedMDNode::getOperand(unsigned int) const"},
-    {"_ZN4llvm11NamedMDNode10addOperandEPNS_6MDNodeE", "llvm::NamedMDNode::addOperand(llvm::MDNode*)"},
-    {"_ZN4llvm11NamedMDNode15eraseFromParentEv", "llvm::NamedMDNode::eraseFromParent()"},
-    {"_ZNK4llvm11NamedMDNode7getNameEv", "llvm::NamedMDNode::getName() const"},
-    {"_ZN4llvm11Instruction11setMetadataEPKcPNS_6MDNodeE", "llvm::Instruction::setMetadata(char const*, llvm::MDNode*)"},
-    {"_ZN4llvm11Instruction11setMetadataEjPNS_6MDNodeE", "llvm::Instruction::setMetadata(unsigned int, llvm::MDNode*)"},
-    {"_ZNK4llvm11Instruction15getMetadataImplEPKc", "llvm::Instruction::getMetadataImpl(char const*) const"},
-    {"_ZNK4llvm11Instruction15getMetadataImplEj", "llvm::Instruction::getMetadataImpl(unsigned int) const"},
-    {"_ZNK4llvm11Instruction18getAllMetadataImplERNS_15SmallVectorImplISt4pairIjPNS_6MDNodeEEEE", "llvm::Instruction::getAllMetadataImpl(llvm::SmallVectorImpl<std::pair<unsigned int, llvm::MDNode*> >&) const"},
-    {"_ZNK4llvm11Instruction35getAllMetadataOtherThanDebugLocImplERNS_15SmallVectorImplISt4pairIjPNS_6MDNodeEEEE", "llvm::Instruction::getAllMetadataOtherThanDebugLocImpl(llvm::SmallVectorImpl<std::pair<unsigned int, llvm::MDNode*> >&) const"},
-    {"_ZN4llvm11Instruction24clearMetadataHashEntriesEv", "llvm::Instruction::clearMetadataHashEntries()"},
-    {"_ZN4llvm25array_pod_sort_comparatorISt4pairIjPNS_6MDNodeEEEEiPKvS6_", "int llvm::array_pod_sort_comparator<std::pair<unsigned int, llvm::MDNode*> >(void const*, void const*)"},
-    {"_ZN4llvm8DenseMapIPKNS_11InstructionENS_11SmallVectorISt4pairIjNS_10TrackingVHINS_6MDNodeEEEELj2EEENS_12DenseMapInfoIS3_EENSB_ISA_EEE5eraseERKS3_", "llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u>, llvm::DenseMapInfo<llvm::Instruction const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u> > >::erase(llvm::Instruction const* const&)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIjPNS_6MDNodeEEE6appendIPKS1_IjNS_10TrackingVHIS2_EEEEEvT_SC_", "void llvm::SmallVectorImpl<std::pair<unsigned int, llvm::MDNode*> >::append<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> > const*>(std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> > const*, std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> > const*)"},
-    {"_ZN4llvm13MDNodeOperandD1Ev", "llvm::MDNodeOperand::~MDNodeOperand()"},
-    {"_ZN4llvm13MDNodeOperandD0Ev", "llvm::MDNodeOperand::~MDNodeOperand()"},
-    {"_ZN4llvm8MDStringD1Ev", "llvm::MDString::~MDString()"},
-    {"_ZN4llvm8MDStringD0Ev", "llvm::MDString::~MDString()"},
-    {"_ZN4llvm23SmallVectorTemplateBaseISt4pairIjNS_10TrackingVHINS_6MDNodeEEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, false>::grow(unsigned long)"},
-    {"_ZN4llvm8DenseMapIPKNS_11InstructionENS_11SmallVectorISt4pairIjNS_10TrackingVHINS_6MDNodeEEEELj2EEENS_12DenseMapInfoIS3_EENSB_ISA_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u>, llvm::DenseMapInfo<llvm::Instruction const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u> > >::FindAndConstruct(llvm::Instruction const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_11InstructionENS_11SmallVectorISt4pairIjNS_10TrackingVHINS_6MDNodeEEEELj2EEENS_12DenseMapInfoIS3_EENSB_ISA_EEE16InsertIntoBucketERKS3_RKSA_PS5_IS3_SA_E", "llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u>, llvm::DenseMapInfo<llvm::Instruction const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u> > >::InsertIntoBucket(llvm::Instruction const* const&, llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u> const&, std::pair<llvm::Instruction const*, llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u> >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_11InstructionENS_11SmallVectorISt4pairIjNS_10TrackingVHINS_6MDNodeEEEELj2EEENS_12DenseMapInfoIS3_EENSB_ISA_EEE4growEj", "llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u>, llvm::DenseMapInfo<llvm::Instruction const*>, llvm::DenseMapInfo<llvm::SmallVector<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> >, 2u> > >::grow(unsigned int)"},
-    {"_ZN4llvm15SmallVectorImplISt4pairIjNS_10TrackingVHINS_6MDNodeEEEEEaSERKS6_", "llvm::SmallVectorImpl<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> > >::operator=(llvm::SmallVectorImpl<std::pair<unsigned int, llvm::TrackingVH<llvm::MDNode> > > const&)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_10TrackingVHINS_6MDNodeEEELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::TrackingVH<llvm::MDNode>, false>::grow(unsigned long)"},
-    {"_ZN4llvm9StringMapIPNS_8MDStringENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::MDString*>& llvm::StringMap<llvm::MDString*, llvm::MallocAllocator>::GetOrCreateValue<llvm::MDString*>(llvm::StringRef, llvm::MDString*)"},
-    {"_ZN4llvm10CallbackVH7deletedEv", "llvm::CallbackVH::deleted()"},
-    {"_ZN4llvm10CallbackVH19allUsesReplacedWithEPNS_5ValueE", "llvm::CallbackVH::allUsesReplacedWith(llvm::Value*)"},
-    {"_ZN4llvm12ilist_traitsINS_14GlobalVariableEE14createSentinelEv", "llvm::ilist_traits<llvm::GlobalVariable>::createSentinel()"},
-    {"_ZN4llvm12ilist_traitsINS_11GlobalAliasEE14createSentinelEv", "llvm::ilist_traits<llvm::GlobalAlias>::createSentinel()"},
-    {"_ZN4llvm6ModuleC1ENS_9StringRefERNS_11LLVMContextE", "llvm::Module::Module(llvm::StringRef, llvm::LLVMContext&)"},
-    {"_ZN4llvm6ModuleC2ENS_9StringRefERNS_11LLVMContextE", "llvm::Module::Module(llvm::StringRef, llvm::LLVMContext&)"},
-    {"_ZN4llvm6ModuleD1Ev", "llvm::Module::~Module()"},
-    {"_ZN4llvm6ModuleD2Ev", "llvm::Module::~Module()"},
-    {"_ZN4llvm6Module17dropAllReferencesEv", "llvm::Module::dropAllReferences()"},
-    {"_ZNK4llvm6Module13getEndiannessEv", "llvm::Module::getEndianness() const"},
-    {"_ZNK4llvm6Module14getPointerSizeEv", "llvm::Module::getPointerSize() const"},
-    {"_ZNK4llvm6Module13getNamedValueENS_9StringRefE", "llvm::Module::getNamedValue(llvm::StringRef) const"},
-    {"_ZNK4llvm6Module11getMDKindIDENS_9StringRefE", "llvm::Module::getMDKindID(llvm::StringRef) const"},
-    {"_ZNK4llvm6Module14getMDKindNamesERNS_15SmallVectorImplINS_9StringRefEEE", "llvm::Module::getMDKindNames(llvm::SmallVectorImpl<llvm::StringRef>&) const"},
-    {"_ZN4llvm6Module19getOrInsertFunctionENS_9StringRefEPKNS_12FunctionTypeENS_11AttrListPtrE", "llvm::Module::getOrInsertFunction(llvm::StringRef, llvm::FunctionType const*, llvm::AttrListPtr)"},
-    {"_ZN4llvm6Module19getOrInsertFunctionENS_9StringRefEPKNS_12FunctionTypeE", "llvm::Module::getOrInsertFunction(llvm::StringRef, llvm::FunctionType const*)"},
-    {"_ZN4llvm6Module26getOrInsertTargetIntrinsicENS_9StringRefEPKNS_12FunctionTypeENS_11AttrListPtrE", "llvm::Module::getOrInsertTargetIntrinsic(llvm::StringRef, llvm::FunctionType const*, llvm::AttrListPtr)"},
-    {"_ZN4llvm6Module19getOrInsertFunctionENS_9StringRefENS_11AttrListPtrEPKNS_4TypeEz", "llvm::Module::getOrInsertFunction(llvm::StringRef, llvm::AttrListPtr, llvm::Type const*, ...)"},
-    {"_ZN4llvm6Module19getOrInsertFunctionENS_9StringRefEPKNS_4TypeEz", "llvm::Module::getOrInsertFunction(llvm::StringRef, llvm::Type const*, ...)"},
-    {"_ZNK4llvm6Module11getFunctionENS_9StringRefE", "llvm::Module::getFunction(llvm::StringRef) const"},
-    {"_ZNK4llvm6Module17getGlobalVariableENS_9StringRefEb", "llvm::Module::getGlobalVariable(llvm::StringRef, bool) const"},
-    {"_ZN4llvm6Module17getOrInsertGlobalENS_9StringRefEPKNS_4TypeE", "llvm::Module::getOrInsertGlobal(llvm::StringRef, llvm::Type const*)"},
-    {"_ZNK4llvm6Module13getNamedAliasENS_9StringRefE", "llvm::Module::getNamedAlias(llvm::StringRef) const"},
-    {"_ZNK4llvm6Module16getNamedMetadataERKNS_5TwineE", "llvm::Module::getNamedMetadata(llvm::Twine const&) const"},
-    {"_ZN4llvm6Module24getOrInsertNamedMetadataENS_9StringRefE", "llvm::Module::getOrInsertNamedMetadata(llvm::StringRef)"},
-    {"_ZN4llvm6Module18eraseNamedMetadataEPNS_11NamedMDNodeE", "llvm::Module::eraseNamedMetadata(llvm::NamedMDNode*)"},
-    {"_ZN4llvm6Module11addTypeNameENS_9StringRefEPKNS_4TypeE", "llvm::Module::addTypeName(llvm::StringRef, llvm::Type const*)"},
-    {"_ZNK4llvm6Module13getTypeByNameENS_9StringRefE", "llvm::Module::getTypeByName(llvm::StringRef) const"},
-    {"_ZNK4llvm6Module11getTypeNameEPKNS_4TypeE", "llvm::Module::getTypeName(llvm::Type const*) const"},
-    {"_ZN4llvm6Module15setMaterializerEPNS_14GVMaterializerE", "llvm::Module::setMaterializer(llvm::GVMaterializer*)"},
-    {"_ZNK4llvm6Module16isMaterializableEPKNS_11GlobalValueE", "llvm::Module::isMaterializable(llvm::GlobalValue const*) const"},
-    {"_ZNK4llvm6Module18isDematerializableEPKNS_11GlobalValueE", "llvm::Module::isDematerializable(llvm::GlobalValue const*) const"},
-    {"_ZN4llvm6Module11MaterializeEPNS_11GlobalValueEPSs", "llvm::Module::Materialize(llvm::GlobalValue*, std::string*)"},
-    {"_ZN4llvm6Module13DematerializeEPNS_11GlobalValueE", "llvm::Module::Dematerialize(llvm::GlobalValue*)"},
-    {"_ZN4llvm6Module14MaterializeAllEPSs", "llvm::Module::MaterializeAll(std::string*)"},
-    {"_ZN4llvm6Module25MaterializeAllPermanentlyEPSs", "llvm::Module::MaterializeAllPermanently(std::string*)"},
-    {"_ZN4llvm6Module10addLibraryENS_9StringRefE", "llvm::Module::addLibrary(llvm::StringRef)"},
-    {"_ZN4llvm6Module13removeLibraryENS_9StringRefE", "llvm::Module::removeLibrary(llvm::StringRef)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEEC1Ev", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEEC2Ev", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEE12getListOwnerEv", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::getListOwner()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEE7getListEPS2_", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::getList(llvm::Module*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEE9getSymTabEPS2_", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::getSymTab(llvm::Module*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEE5toPtrERNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::toPtr(llvm::ValueSymbolTable&)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEE13addNodeToListEPS1_", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::addNodeToList(llvm::GlobalVariable*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEE18removeNodeFromListEPS1_", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::removeNodeFromList(llvm::GlobalVariable*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEE21transferNodesFromListERNS_12ilist_traitsIS1_EENS_14ilist_iteratorIS1_EES8_", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::transferNodesFromList(llvm::ilist_traits<llvm::GlobalVariable>&, llvm::ilist_iterator<llvm::GlobalVariable>, llvm::ilist_iterator<llvm::GlobalVariable>)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_14GlobalVariableENS_6ModuleEE5toPtrEPNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::GlobalVariable, llvm::Module>::toPtr(llvm::ValueSymbolTable*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEEC1Ev", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEEC2Ev", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEE12getListOwnerEv", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::getListOwner()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEE7getListEPS2_", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::getList(llvm::Module*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEE9getSymTabEPS2_", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::getSymTab(llvm::Module*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEE5toPtrERNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::toPtr(llvm::ValueSymbolTable&)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEE13addNodeToListEPS1_", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::addNodeToList(llvm::Function*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEE18removeNodeFromListEPS1_", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::removeNodeFromList(llvm::Function*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEE21transferNodesFromListERNS_12ilist_traitsIS1_EENS_14ilist_iteratorIS1_EES8_", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::transferNodesFromList(llvm::ilist_traits<llvm::Function>&, llvm::ilist_iterator<llvm::Function>, llvm::ilist_iterator<llvm::Function>)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_8FunctionENS_6ModuleEE5toPtrEPNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::Function, llvm::Module>::toPtr(llvm::ValueSymbolTable*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEEC1Ev", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEEC2Ev", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::SymbolTableListTraits()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEE12getListOwnerEv", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::getListOwner()"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEE7getListEPS2_", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::getList(llvm::Module*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEE9getSymTabEPS2_", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::getSymTab(llvm::Module*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEE5toPtrERNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::toPtr(llvm::ValueSymbolTable&)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEE13addNodeToListEPS1_", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::addNodeToList(llvm::GlobalAlias*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEE18removeNodeFromListEPS1_", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::removeNodeFromList(llvm::GlobalAlias*)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEE21transferNodesFromListERNS_12ilist_traitsIS1_EENS_14ilist_iteratorIS1_EES8_", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::transferNodesFromList(llvm::ilist_traits<llvm::GlobalAlias>&, llvm::ilist_iterator<llvm::GlobalAlias>, llvm::ilist_iterator<llvm::GlobalAlias>)"},
-    {"_ZN4llvm21SymbolTableListTraitsINS_11GlobalAliasENS_6ModuleEE5toPtrEPNS_16ValueSymbolTableE", "llvm::SymbolTableListTraits<llvm::GlobalAlias, llvm::Module>::toPtr(llvm::ValueSymbolTable*)"},
-    {"_ZN4llvm9StringMapIPNS_11NamedMDNodeENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::NamedMDNode*>& llvm::StringMap<llvm::NamedMDNode*, llvm::MallocAllocator>::GetOrCreateValue<llvm::NamedMDNode*>(llvm::StringRef, llvm::NamedMDNode*)"},
-    {"_ZNSt6vectorIPKN4llvm4TypeESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::Type const*, std::allocator<llvm::Type const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Type const**, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > >, llvm::Type const* const&)"},
-    {"_ZN4llvm21ilist_sentinel_traitsINS_11GlobalAliasEE10ensureHeadERPS1_", "llvm::ilist_sentinel_traits<llvm::GlobalAlias>::ensureHead(llvm::GlobalAlias*&)"},
-    {"_ZN4llvm6iplistINS_11GlobalAliasENS_12ilist_traitsIS1_EEE5eraseENS_14ilist_iteratorIS1_EE", "llvm::iplist<llvm::GlobalAlias, llvm::ilist_traits<llvm::GlobalAlias> >::erase(llvm::ilist_iterator<llvm::GlobalAlias>)"},
-    {"_ZN4llvm6iplistINS_8FunctionENS_12ilist_traitsIS1_EEE5eraseENS_14ilist_iteratorIS1_EE", "llvm::iplist<llvm::Function, llvm::ilist_traits<llvm::Function> >::erase(llvm::ilist_iterator<llvm::Function>)"},
-    {"_ZN4llvm21ilist_sentinel_traitsINS_14GlobalVariableEE10ensureHeadERPS1_", "llvm::ilist_sentinel_traits<llvm::GlobalVariable>::ensureHead(llvm::GlobalVariable*&)"},
-    {"_ZN4llvm6iplistINS_14GlobalVariableENS_12ilist_traitsIS1_EEE5eraseENS_14ilist_iteratorIS1_EE", "llvm::iplist<llvm::GlobalVariable, llvm::ilist_traits<llvm::GlobalVariable> >::erase(llvm::ilist_iterator<llvm::GlobalVariable>)"},
-    {"_ZN4llvm6iplistINS_11GlobalAliasENS_12ilist_traitsIS1_EEED2Ev", "llvm::iplist<llvm::GlobalAlias, llvm::ilist_traits<llvm::GlobalAlias> >::~iplist()"},
-    {"_ZN4llvm6iplistINS_14GlobalVariableENS_12ilist_traitsIS1_EEED2Ev", "llvm::iplist<llvm::GlobalVariable, llvm::ilist_traits<llvm::GlobalVariable> >::~iplist()"},
-    {"_ZN4llvm4PassC1ENS_8PassKindERc", "llvm::Pass::Pass(llvm::PassKind, char&)"},
-    {"_ZN4llvm4PassC2ENS_8PassKindERc", "llvm::Pass::Pass(llvm::PassKind, char&)"},
-    {"_ZN4llvm4PassD0Ev", "llvm::Pass::~Pass()"},
-    {"_ZN4llvm4PassD1Ev", "llvm::Pass::~Pass()"},
-    {"_ZN4llvm4PassD2Ev", "llvm::Pass::~Pass()"},
-    {"_ZN4llvm10ModulePassD0Ev", "llvm::ModulePass::~ModulePass()"},
-    {"_ZN4llvm10ModulePassD1Ev", "llvm::ModulePass::~ModulePass()"},
-    {"_ZN4llvm10ModulePassD2Ev", "llvm::ModulePass::~ModulePass()"},
-    {"_ZNK4llvm10ModulePass17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::ModulePass::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZNK4llvm10ModulePass27getPotentialPassManagerTypeEv", "llvm::ModulePass::getPotentialPassManagerType() const"},
-    {"_ZNK4llvm4Pass22mustPreserveAnalysisIDERc", "llvm::Pass::mustPreserveAnalysisID(char&) const"},
-    {"_ZN4llvm4Pass17dumpPassStructureEj", "llvm::Pass::dumpPassStructure(unsigned int)"},
-    {"_ZNK4llvm4Pass11getPassNameEv", "llvm::Pass::getPassName() const"},
-    {"_ZN4llvm4Pass18preparePassManagerERNS_7PMStackE", "llvm::Pass::preparePassManager(llvm::PMStack&)"},
-    {"_ZNK4llvm4Pass27getPotentialPassManagerTypeEv", "llvm::Pass::getPotentialPassManagerType() const"},
-    {"_ZNK4llvm4Pass16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::Pass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm4Pass13releaseMemoryEv", "llvm::Pass::releaseMemory()"},
-    {"_ZNK4llvm4Pass14verifyAnalysisEv", "llvm::Pass::verifyAnalysis() const"},
-    {"_ZN4llvm4Pass26getAdjustedAnalysisPointerEPKv", "llvm::Pass::getAdjustedAnalysisPointer(void const*)"},
-    {"_ZN4llvm4Pass18getAsImmutablePassEv", "llvm::Pass::getAsImmutablePass()"},
-    {"_ZN4llvm4Pass18getAsPMDataManagerEv", "llvm::Pass::getAsPMDataManager()"},
-    {"_ZN4llvm4Pass11setResolverEPNS_16AnalysisResolverE", "llvm::Pass::setResolver(llvm::AnalysisResolver*)"},
-    {"_ZNK4llvm4Pass5printERNS_11raw_ostreamEPKNS_6ModuleE", "llvm::Pass::print(llvm::raw_ostream&, llvm::Module const*) const"},
-    {"_ZNK4llvm4Pass4dumpEv", "llvm::Pass::dump() const"},
-    {"_ZN4llvm13ImmutablePassD0Ev", "llvm::ImmutablePass::~ImmutablePass()"},
-    {"_ZN4llvm13ImmutablePassD1Ev", "llvm::ImmutablePass::~ImmutablePass()"},
-    {"_ZN4llvm13ImmutablePassD2Ev", "llvm::ImmutablePass::~ImmutablePass()"},
-    {"_ZN4llvm13ImmutablePass14initializePassEv", "llvm::ImmutablePass::initializePass()"},
-    {"_ZNK4llvm12FunctionPass17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::FunctionPass::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZN4llvm12FunctionPass16doInitializationERNS_6ModuleE", "llvm::FunctionPass::doInitialization(llvm::Module&)"},
-    {"_ZN4llvm12FunctionPass14doFinalizationERNS_6ModuleE", "llvm::FunctionPass::doFinalization(llvm::Module&)"},
-    {"_ZNK4llvm12FunctionPass27getPotentialPassManagerTypeEv", "llvm::FunctionPass::getPotentialPassManagerType() const"},
-    {"_ZNK4llvm14BasicBlockPass17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::BasicBlockPass::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZN4llvm14BasicBlockPass16doInitializationERNS_6ModuleE", "llvm::BasicBlockPass::doInitialization(llvm::Module&)"},
-    {"_ZN4llvm14BasicBlockPass16doInitializationERNS_8FunctionE", "llvm::BasicBlockPass::doInitialization(llvm::Function&)"},
-    {"_ZN4llvm14BasicBlockPass14doFinalizationERNS_8FunctionE", "llvm::BasicBlockPass::doFinalization(llvm::Function&)"},
-    {"_ZN4llvm14BasicBlockPass14doFinalizationERNS_6ModuleE", "llvm::BasicBlockPass::doFinalization(llvm::Module&)"},
-    {"_ZNK4llvm14BasicBlockPass27getPotentialPassManagerTypeEv", "llvm::BasicBlockPass::getPotentialPassManagerType() const"},
-    {"_ZN4llvm4Pass14lookupPassInfoEPKv", "llvm::Pass::lookupPassInfo(void const*)"},
-    {"_ZN4llvm4Pass14lookupPassInfoENS_9StringRefE", "llvm::Pass::lookupPassInfo(llvm::StringRef)"},
-    {"_ZNK4llvm8PassInfo10createPassEv", "llvm::PassInfo::createPass() const"},
-    {"_ZN4llvm14RegisterAGBaseC1EPKcPKvS4_b", "llvm::RegisterAGBase::RegisterAGBase(char const*, void const*, void const*, bool)"},
-    {"_ZN4llvm14RegisterAGBaseC2EPKcPKvS4_b", "llvm::RegisterAGBase::RegisterAGBase(char const*, void const*, void const*, bool)"},
-    {"_ZN4llvm24PassRegistrationListenerC1Ev", "llvm::PassRegistrationListener::PassRegistrationListener()"},
-    {"_ZN4llvm24PassRegistrationListenerD0Ev", "llvm::PassRegistrationListener::~PassRegistrationListener()"},
-    {"_ZN4llvm24PassRegistrationListenerD1Ev", "llvm::PassRegistrationListener::~PassRegistrationListener()"},
-    {"_ZN4llvm24PassRegistrationListenerD2Ev", "llvm::PassRegistrationListener::~PassRegistrationListener()"},
-    {"_ZThn16_N4llvm14PassNameParserD0Ev", "non-virtual thunk to llvm::PassNameParser::~PassNameParser()"},
-    {"_ZN4llvm14PassNameParserD0Ev", "llvm::PassNameParser::~PassNameParser()"},
-    {"_ZN4llvm14PassNameParserD1Ev", "llvm::PassNameParser::~PassNameParser()"},
-    {"_ZThn16_N4llvm14PassNameParserD1Ev", "non-virtual thunk to llvm::PassNameParser::~PassNameParser()"},
-    {"_ZN4llvm14PassNameParserD2Ev", "llvm::PassNameParser::~PassNameParser()"},
-    {"_ZN4llvm13AnalysisUsage15setPreservesCFGEv", "llvm::AnalysisUsage::setPreservesCFG()"},
-    {"_ZN12_GLOBAL__N_116GetCFGOnlyPassesD1Ev", "(anonymous namespace)::GetCFGOnlyPasses::~GetCFGOnlyPasses()"},
-    {"_ZN4llvm13AnalysisUsage12addPreservedENS_9StringRefE", "llvm::AnalysisUsage::addPreserved(llvm::StringRef)"},
-    {"_ZN4llvm13AnalysisUsage13addRequiredIDEPKv", "llvm::AnalysisUsage::addRequiredID(void const*)"},
-    {"_ZN4llvm13AnalysisUsage13addRequiredIDERc", "llvm::AnalysisUsage::addRequiredID(char&)"},
-    {"_ZN4llvm13AnalysisUsage23addRequiredTransitiveIDERc", "llvm::AnalysisUsage::addRequiredTransitiveID(char&)"},
-    {"_ZN12_GLOBAL__N_116GetCFGOnlyPassesD0Ev", "(anonymous namespace)::GetCFGOnlyPasses::~GetCFGOnlyPasses()"},
-    {"_ZN12_GLOBAL__N_116GetCFGOnlyPasses13passEnumerateEPKN4llvm8PassInfoE", "(anonymous namespace)::GetCFGOnlyPasses::passEnumerate(llvm::PassInfo const*)"},
-    {"_ZN4llvm4Pass17assignPassManagerERNS_7PMStackENS_15PassManagerTypeE", "llvm::Pass::assignPassManager(llvm::PMStack&, llvm::PassManagerType)"},
-    {"_ZN4llvm14BasicBlockPassD1Ev", "llvm::BasicBlockPass::~BasicBlockPass()"},
-    {"_ZN4llvm14BasicBlockPassD0Ev", "llvm::BasicBlockPass::~BasicBlockPass()"},
-    {"_ZN4llvm24PassRegistrationListener14passRegisteredEPKNS_8PassInfoE", "llvm::PassRegistrationListener::passRegistered(llvm::PassInfo const*)"},
-    {"_ZN4llvm24PassRegistrationListener13passEnumerateEPKNS_8PassInfoE", "llvm::PassRegistrationListener::passEnumerate(llvm::PassInfo const*)"},
-    {"_ZN4llvm14PassNameParser14passRegisteredEPKNS_8PassInfoE", "llvm::PassNameParser::passRegistered(llvm::PassInfo const*)"},
-    {"_ZN4llvm14PassNameParser13passEnumerateEPKNS_8PassInfoE", "llvm::PassNameParser::passEnumerate(llvm::PassInfo const*)"},
-    {"_ZNK4llvm14PassNameParser17ignorablePassImplEPKNS_8PassInfoE", "llvm::PassNameParser::ignorablePassImpl(llvm::PassInfo const*) const"},
-    {"_ZNK4llvm14PassNameParser15printOptionInfoERKNS_2cl6OptionEm", "llvm::PassNameParser::printOptionInfo(llvm::cl::Option const&, unsigned long) const"},
-    {"_ZNK4llvm2cl6parserIPKNS_8PassInfoEE13getNumOptionsEv", "llvm::cl::parser<llvm::PassInfo const*>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserIPKNS_8PassInfoEE9getOptionEj", "llvm::cl::parser<llvm::PassInfo const*>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserIPKNS_8PassInfoEE14getDescriptionEj", "llvm::cl::parser<llvm::PassInfo const*>::getDescription(unsigned int) const"},
-    {"_ZThn16_NK4llvm14PassNameParser15printOptionInfoERKNS_2cl6OptionEm", "non-virtual thunk to llvm::PassNameParser::printOptionInfo(llvm::cl::Option const&, unsigned long) const"},
-    {"_ZN4llvm14PassNameParser11ValLessThanEPKvS2_", "llvm::PassNameParser::ValLessThan(void const*, void const*)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserIPKNS_8PassInfoEE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::PassInfo const*>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm2cl6parserIPKNS_8PassInfoEED1Ev", "llvm::cl::parser<llvm::PassInfo const*>::~parser()"},
-    {"_ZN4llvm2cl6parserIPKNS_8PassInfoEED0Ev", "llvm::cl::parser<llvm::PassInfo const*>::~parser()"},
-    {"_ZNK4llvm13PMDataManager31isPassDebuggingExecutionsOrMoreEv", "llvm::PMDataManager::isPassDebuggingExecutionsOrMore() const"},
-    {"_ZNK4llvm27PassManagerPrettyStackEntry5printERNS_11raw_ostreamE", "llvm::PassManagerPrettyStackEntry::print(llvm::raw_ostream&) const"},
-    {"_ZN4llvm17PMTopLevelManagerC1EPNS_13PMDataManagerE", "llvm::PMTopLevelManager::PMTopLevelManager(llvm::PMDataManager*)"},
-    {"_ZN4llvm17PMTopLevelManagerC2EPNS_13PMDataManagerE", "llvm::PMTopLevelManager::PMTopLevelManager(llvm::PMDataManager*)"},
-    {"_ZN4llvm7PMStack4pushEPNS_13PMDataManagerE", "llvm::PMStack::push(llvm::PMDataManager*)"},
-    {"_ZN4llvm17PMTopLevelManager11setLastUserERKNS_15SmallVectorImplIPNS_4PassEEES3_", "llvm::PMTopLevelManager::setLastUser(llvm::SmallVectorImpl<llvm::Pass*> const&, llvm::Pass*)"},
-    {"_ZN4llvm17PMTopLevelManager17findAnalysisUsageEPNS_4PassE", "llvm::PMTopLevelManager::findAnalysisUsage(llvm::Pass*)"},
-    {"_ZN4llvm17PMTopLevelManager16findAnalysisPassEPKv", "llvm::PMTopLevelManager::findAnalysisPass(void const*)"},
-    {"_ZN4llvm17PMTopLevelManager15collectLastUsesERNS_15SmallVectorImplIPNS_4PassEEES3_", "llvm::PMTopLevelManager::collectLastUses(llvm::SmallVectorImpl<llvm::Pass*>&, llvm::Pass*)"},
-    {"_ZN4llvm17PMTopLevelManager12schedulePassEPNS_4PassE", "llvm::PMTopLevelManager::schedulePass(llvm::Pass*)"},
-    {"_ZN4llvm13PMDataManager16findAnalysisPassEPKvb", "llvm::PMDataManager::findAnalysisPass(void const*, bool)"},
-    {"_ZNK4llvm17PMTopLevelManager10dumpPassesEv", "llvm::PMTopLevelManager::dumpPasses() const"},
-    {"_ZNK4llvm17PMTopLevelManager13dumpArgumentsEv", "llvm::PMTopLevelManager::dumpArguments() const"},
-    {"_ZNK4llvm13PMDataManager17dumpPassArgumentsEv", "llvm::PMDataManager::dumpPassArguments() const"},
-    {"_ZN4llvm17PMTopLevelManager25initializeAllAnalysisInfoEv", "llvm::PMTopLevelManager::initializeAllAnalysisInfo()"},
-    {"_ZN4llvm17PMTopLevelManagerD0Ev", "llvm::PMTopLevelManager::~PMTopLevelManager()"},
-    {"_ZN4llvm17PMTopLevelManagerD1Ev", "llvm::PMTopLevelManager::~PMTopLevelManager()"},
-    {"_ZN4llvm17PMTopLevelManagerD2Ev", "llvm::PMTopLevelManager::~PMTopLevelManager()"},
-    {"_ZN4llvm13PMDataManager23recordAvailableAnalysisEPNS_4PassE", "llvm::PMDataManager::recordAvailableAnalysis(llvm::Pass*)"},
-    {"_ZN4llvm13PMDataManager27preserveHigherLevelAnalysisEPNS_4PassE", "llvm::PMDataManager::preserveHigherLevelAnalysis(llvm::Pass*)"},
-    {"_ZN4llvm13PMDataManager23verifyPreservedAnalysisEPNS_4PassE", "llvm::PMDataManager::verifyPreservedAnalysis(llvm::Pass*)"},
-    {"_ZN4llvm12getPassTimerEPNS_4PassE", "llvm::getPassTimer(llvm::Pass*)"},
-    {"_ZN4llvm13PMDataManager26removeNotPreservedAnalysisEPNS_4PassE", "llvm::PMDataManager::removeNotPreservedAnalysis(llvm::Pass*)"},
-    {"_ZN4llvm13PMDataManager16removeDeadPassesEPNS_4PassENS_9StringRefENS_19PassDebuggingStringE", "llvm::PMDataManager::removeDeadPasses(llvm::Pass*, llvm::StringRef, llvm::PassDebuggingString)"},
-    {"_ZN4llvm13PMDataManager8freePassEPNS_4PassENS_9StringRefENS_19PassDebuggingStringE", "llvm::PMDataManager::freePass(llvm::Pass*, llvm::StringRef, llvm::PassDebuggingString)"},
-    {"_ZN4llvm13PMDataManager12dumpPassInfoEPNS_4PassENS_19PassDebuggingStringES3_NS_9StringRefE", "llvm::PMDataManager::dumpPassInfo(llvm::Pass*, llvm::PassDebuggingString, llvm::PassDebuggingString, llvm::StringRef)"},
-    {"_ZN4llvm13PMDataManager3addEPNS_4PassEb", "llvm::PMDataManager::add(llvm::Pass*, bool)"},
-    {"_ZN4llvm13PMDataManager23collectRequiredAnalysisERNS_15SmallVectorImplIPNS_4PassEEERNS1_IPKvEES3_", "llvm::PMDataManager::collectRequiredAnalysis(llvm::SmallVectorImpl<llvm::Pass*>&, llvm::SmallVectorImpl<void const*>&, llvm::Pass*)"},
-    {"_ZN4llvm13PMDataManager22initializeAnalysisImplEPNS_4PassE", "llvm::PMDataManager::initializeAnalysisImpl(llvm::Pass*)"},
-    {"_ZNK4llvm13PMDataManager12dumpLastUsesEPNS_4PassEj", "llvm::PMDataManager::dumpLastUses(llvm::Pass*, unsigned int) const"},
-    {"_ZNK4llvm13PMDataManager15dumpRequiredSetEPKNS_4PassE", "llvm::PMDataManager::dumpRequiredSet(llvm::Pass const*) const"},
-    {"_ZNK4llvm13PMDataManager17dumpAnalysisUsageENS_9StringRefEPKNS_4PassERKNS_11SmallVectorIPKvLj32EEE", "llvm::PMDataManager::dumpAnalysisUsage(llvm::StringRef, llvm::Pass const*, llvm::SmallVector<void const*, 32u> const&) const"},
-    {"_ZNK4llvm13PMDataManager16dumpPreservedSetEPKNS_4PassE", "llvm::PMDataManager::dumpPreservedSet(llvm::Pass const*) const"},
-    {"_ZN4llvm13PMDataManager25addLowerLevelRequiredPassEPNS_4PassES2_", "llvm::PMDataManager::addLowerLevelRequiredPass(llvm::Pass*, llvm::Pass*)"},
-    {"_ZN4llvm13PMDataManager15getOnTheFlyPassEPNS_4PassEPKvRNS_8FunctionE", "llvm::PMDataManager::getOnTheFlyPass(llvm::Pass*, void const*, llvm::Function&)"},
-    {"_ZN4llvm13PMDataManagerD0Ev", "llvm::PMDataManager::~PMDataManager()"},
-    {"_ZN4llvm13PMDataManagerD1Ev", "llvm::PMDataManager::~PMDataManager()"},
-    {"_ZN4llvm13PMDataManagerD2Ev", "llvm::PMDataManager::~PMDataManager()"},
-    {"_ZNK4llvm16AnalysisResolver22getAnalysisIfAvailableEPKvb", "llvm::AnalysisResolver::getAnalysisIfAvailable(void const*, bool) const"},
-    {"_ZN4llvm16AnalysisResolver12findImplPassEPNS_4PassEPKvRNS_8FunctionE", "llvm::AnalysisResolver::findImplPass(llvm::Pass*, void const*, llvm::Function&)"},
-    {"_ZN4llvm19FunctionPassManagerC1EPNS_6ModuleE", "llvm::FunctionPassManager::FunctionPassManager(llvm::Module*)"},
-    {"_ZN4llvm19FunctionPassManagerC2EPNS_6ModuleE", "llvm::FunctionPassManager::FunctionPassManager(llvm::Module*)"},
-    {"_ZN4llvm19FunctionPassManagerD0Ev", "llvm::FunctionPassManager::~FunctionPassManager()"},
-    {"_ZN4llvm19FunctionPassManagerD1Ev", "llvm::FunctionPassManager::~FunctionPassManager()"},
-    {"_ZN4llvm19FunctionPassManagerD2Ev", "llvm::FunctionPassManager::~FunctionPassManager()"},
-    {"_ZN4llvm15PassManagerBaseD2Ev", "llvm::PassManagerBase::~PassManagerBase()"},
-    {"_ZN4llvm19FunctionPassManager7addImplEPNS_4PassE", "llvm::FunctionPassManager::addImpl(llvm::Pass*)"},
-    {"_ZN4llvm19FunctionPassManager3addEPNS_4PassE", "llvm::FunctionPassManager::add(llvm::Pass*)"},
-    {"_ZN4llvm19FunctionPassManager3runERNS_8FunctionE", "llvm::FunctionPassManager::run(llvm::Function&)"},
-    {"_ZN4llvm23FunctionPassManagerImpl3runERNS_8FunctionE", "llvm::FunctionPassManagerImpl::run(llvm::Function&)"},
-    {"_ZN4llvm19FunctionPassManager16doInitializationEv", "llvm::FunctionPassManager::doInitialization()"},
-    {"_ZN4llvm23FunctionPassManagerImpl16doInitializationERNS_6ModuleE", "llvm::FunctionPassManagerImpl::doInitialization(llvm::Module&)"},
-    {"_ZN4llvm19FunctionPassManager14doFinalizationEv", "llvm::FunctionPassManager::doFinalization()"},
-    {"_ZN4llvm23FunctionPassManagerImpl14doFinalizationERNS_6ModuleE", "llvm::FunctionPassManagerImpl::doFinalization(llvm::Module&)"},
-    {"_ZN4llvm13FPPassManager16doInitializationERNS_6ModuleE", "llvm::FPPassManager::doInitialization(llvm::Module&)"},
-    {"_ZN4llvm13FPPassManager14doFinalizationERNS_6ModuleE", "llvm::FPPassManager::doFinalization(llvm::Module&)"},
-    {"_ZN4llvm13FPPassManager7cleanupEv", "llvm::FPPassManager::cleanup()"},
-    {"_ZN4llvm23FunctionPassManagerImpl21releaseMemoryOnTheFlyEv", "llvm::FunctionPassManagerImpl::releaseMemoryOnTheFly()"},
-    {"_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE", "llvm::FPPassManager::runOnFunction(llvm::Function&)"},
-    {"_ZN4llvm13FPPassManager17dumpPassStructureEj", "llvm::FPPassManager::dumpPassStructure(unsigned int)"},
-    {"_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE", "llvm::FPPassManager::runOnModule(llvm::Module&)"},
-    {"_ZN4llvm13MPPassManager11runOnModuleERNS_6ModuleE", "llvm::MPPassManager::runOnModule(llvm::Module&)"},
-    {"_ZThn32_N4llvm13MPPassManager25addLowerLevelRequiredPassEPNS_4PassES2_", "non-virtual thunk to llvm::MPPassManager::addLowerLevelRequiredPass(llvm::Pass*, llvm::Pass*)"},
-    {"_ZN4llvm13MPPassManager25addLowerLevelRequiredPassEPNS_4PassES2_", "llvm::MPPassManager::addLowerLevelRequiredPass(llvm::Pass*, llvm::Pass*)"},
-    {"_ZThn32_N4llvm13MPPassManager15getOnTheFlyPassEPNS_4PassEPKvRNS_8FunctionE", "non-virtual thunk to llvm::MPPassManager::getOnTheFlyPass(llvm::Pass*, void const*, llvm::Function&)"},
-    {"_ZN4llvm13MPPassManager15getOnTheFlyPassEPNS_4PassEPKvRNS_8FunctionE", "llvm::MPPassManager::getOnTheFlyPass(llvm::Pass*, void const*, llvm::Function&)"},
-    {"_ZN4llvm15PassManagerImpl3runERNS_6ModuleE", "llvm::PassManagerImpl::run(llvm::Module&)"},
-    {"_ZN4llvm11PassManagerC1Ev", "llvm::PassManager::PassManager()"},
-    {"_ZN4llvm11PassManagerC2Ev", "llvm::PassManager::PassManager()"},
-    {"_ZN4llvm11PassManagerD0Ev", "llvm::PassManager::~PassManager()"},
-    {"_ZN4llvm11PassManagerD1Ev", "llvm::PassManager::~PassManager()"},
-    {"_ZN4llvm11PassManagerD2Ev", "llvm::PassManager::~PassManager()"},
-    {"_ZN4llvm11PassManager7addImplEPNS_4PassE", "llvm::PassManager::addImpl(llvm::Pass*)"},
-    {"_ZN4llvm11PassManager3addEPNS_4PassE", "llvm::PassManager::add(llvm::Pass*)"},
-    {"_ZN4llvm11PassManager3runERNS_6ModuleE", "llvm::PassManager::run(llvm::Module&)"},
-    {"_ZN4llvm7PMStack3popEv", "llvm::PMStack::pop()"},
-    {"_ZNK4llvm7PMStack4dumpEv", "llvm::PMStack::dump() const"},
-    {"_ZN4llvm10ModulePass17assignPassManagerERNS_7PMStackENS_15PassManagerTypeE", "llvm::ModulePass::assignPassManager(llvm::PMStack&, llvm::PassManagerType)"},
-    {"_ZN4llvm12FunctionPass17assignPassManagerERNS_7PMStackENS_15PassManagerTypeE", "llvm::FunctionPass::assignPassManager(llvm::PMStack&, llvm::PassManagerType)"},
-    {"_ZN4llvm14BasicBlockPass17assignPassManagerERNS_7PMStackENS_15PassManagerTypeE", "llvm::BasicBlockPass::assignPassManager(llvm::PMStack&, llvm::PassManagerType)"},
-    {"_ZN4llvm15PassManagerBaseD0Ev", "llvm::PassManagerBase::~PassManagerBase()"},
-    {"_ZN4llvm15PassManagerBaseD1Ev", "llvm::PassManagerBase::~PassManagerBase()"},
-    {"_ZN12_GLOBAL__N_113BBPassManagerD1Ev", "(anonymous namespace)::BBPassManager::~BBPassManager()"},
-    {"_ZN12_GLOBAL__N_113BBPassManagerD0Ev", "(anonymous namespace)::BBPassManager::~BBPassManager()"},
-    {"_ZN12_GLOBAL__N_113BBPassManager9getAsPassEv", "(anonymous namespace)::BBPassManager::getAsPass()"},
-    {"_ZNK12_GLOBAL__N_113BBPassManager18getPassManagerTypeEv", "(anonymous namespace)::BBPassManager::getPassManagerType() const"},
-    {"_ZN12_GLOBAL__N_113BBPassManager13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::BBPassManager::runOnFunction(llvm::Function&)"},
-    {"_ZNK12_GLOBAL__N_113BBPassManager16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::BBPassManager::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_113BBPassManager16doInitializationERN4llvm6ModuleE", "(anonymous namespace)::BBPassManager::doInitialization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_113BBPassManager14doFinalizationERN4llvm6ModuleE", "(anonymous namespace)::BBPassManager::doFinalization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_113BBPassManager18getAsPMDataManagerEv", "(anonymous namespace)::BBPassManager::getAsPMDataManager()"},
-    {"_ZNK12_GLOBAL__N_113BBPassManager11getPassNameEv", "(anonymous namespace)::BBPassManager::getPassName() const"},
-    {"_ZN12_GLOBAL__N_113BBPassManager17dumpPassStructureEj", "(anonymous namespace)::BBPassManager::dumpPassStructure(unsigned int)"},
-    {"_ZThn392_N12_GLOBAL__N_113BBPassManagerD1Ev", "non-virtual thunk to (anonymous namespace)::BBPassManager::~BBPassManager()"},
-    {"_ZThn392_N12_GLOBAL__N_113BBPassManagerD0Ev", "non-virtual thunk to (anonymous namespace)::BBPassManager::~BBPassManager()"},
-    {"_ZThn392_NK12_GLOBAL__N_113BBPassManager11getPassNameEv", "non-virtual thunk to (anonymous namespace)::BBPassManager::getPassName() const"},
-    {"_ZThn392_NK12_GLOBAL__N_113BBPassManager16getAnalysisUsageERN4llvm13AnalysisUsageE", "non-virtual thunk to (anonymous namespace)::BBPassManager::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZThn392_N12_GLOBAL__N_113BBPassManager18getAsPMDataManagerEv", "non-virtual thunk to (anonymous namespace)::BBPassManager::getAsPMDataManager()"},
-    {"_ZThn392_N12_GLOBAL__N_113BBPassManager17dumpPassStructureEj", "non-virtual thunk to (anonymous namespace)::BBPassManager::dumpPassStructure(unsigned int)"},
-    {"_ZThn392_N12_GLOBAL__N_113BBPassManager16doInitializationERN4llvm6ModuleE", "non-virtual thunk to (anonymous namespace)::BBPassManager::doInitialization(llvm::Module&)"},
-    {"_ZThn392_N12_GLOBAL__N_113BBPassManager13runOnFunctionERN4llvm8FunctionE", "non-virtual thunk to (anonymous namespace)::BBPassManager::runOnFunction(llvm::Function&)"},
-    {"_ZThn392_N12_GLOBAL__N_113BBPassManager14doFinalizationERN4llvm6ModuleE", "non-virtual thunk to (anonymous namespace)::BBPassManager::doFinalization(llvm::Module&)"},
-    {"_ZN4llvm14object_creatorIN12_GLOBAL__N_110TimingInfoEEEPvv", "void* llvm::object_creator<(anonymous namespace)::TimingInfo>()"},
-    {"_ZN4llvm14object_deleterIN12_GLOBAL__N_110TimingInfoEE4callEPv", "llvm::object_deleter<(anonymous namespace)::TimingInfo>::call(void*)"},
-    {"_ZN4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEED1Ev", "llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >::~opt()"},
-    {"_ZN4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEED1Ev", "llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>::~list()"},
-    {"_ZN4llvm27PassManagerPrettyStackEntryD1Ev", "llvm::PassManagerPrettyStackEntry::~PassManagerPrettyStackEntry()"},
-    {"_ZN4llvm27PassManagerPrettyStackEntryD0Ev", "llvm::PassManagerPrettyStackEntry::~PassManagerPrettyStackEntry()"},
-    {"_ZNK4llvm13PMDataManager21getNumContainedPassesEv", "llvm::PMDataManager::getNumContainedPasses() const"},
-    {"_ZNK4llvm13PMDataManager18getPassManagerTypeEv", "llvm::PMDataManager::getPassManagerType() const"},
-    {"_ZN4llvm13FPPassManagerD1Ev", "llvm::FPPassManager::~FPPassManager()"},
-    {"_ZN4llvm13FPPassManagerD0Ev", "llvm::FPPassManager::~FPPassManager()"},
-    {"_ZNK4llvm13FPPassManager11getPassNameEv", "llvm::FPPassManager::getPassName() const"},
-    {"_ZNK4llvm13FPPassManager16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::FPPassManager::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm13FPPassManager18getAsPMDataManagerEv", "llvm::FPPassManager::getAsPMDataManager()"},
-    {"_ZN4llvm13FPPassManager9getAsPassEv", "llvm::FPPassManager::getAsPass()"},
-    {"_ZNK4llvm13FPPassManager18getPassManagerTypeEv", "llvm::FPPassManager::getPassManagerType() const"},
-    {"_ZThn32_N4llvm13FPPassManagerD1Ev", "non-virtual thunk to llvm::FPPassManager::~FPPassManager()"},
-    {"_ZThn32_N4llvm13FPPassManagerD0Ev", "non-virtual thunk to llvm::FPPassManager::~FPPassManager()"},
-    {"_ZThn32_N4llvm13FPPassManager9getAsPassEv", "non-virtual thunk to llvm::FPPassManager::getAsPass()"},
-    {"_ZThn32_NK4llvm13FPPassManager18getPassManagerTypeEv", "non-virtual thunk to llvm::FPPassManager::getPassManagerType() const"},
-    {"_ZNK4llvm17PMTopLevelManager23getNumContainedManagersEv", "llvm::PMTopLevelManager::getNumContainedManagers() const"},
-    {"_ZN4llvm13MPPassManagerD1Ev", "llvm::MPPassManager::~MPPassManager()"},
-    {"_ZN4llvm13MPPassManagerD0Ev", "llvm::MPPassManager::~MPPassManager()"},
-    {"_ZNK4llvm13MPPassManager11getPassNameEv", "llvm::MPPassManager::getPassName() const"},
-    {"_ZNK4llvm13MPPassManager17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::MPPassManager::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZNK4llvm13MPPassManager16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::MPPassManager::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm13MPPassManager18getAsPMDataManagerEv", "llvm::MPPassManager::getAsPMDataManager()"},
-    {"_ZN4llvm13MPPassManager17dumpPassStructureEj", "llvm::MPPassManager::dumpPassStructure(unsigned int)"},
-    {"_ZN4llvm13MPPassManager9getAsPassEv", "llvm::MPPassManager::getAsPass()"},
-    {"_ZNK4llvm13MPPassManager18getPassManagerTypeEv", "llvm::MPPassManager::getPassManagerType() const"},
-    {"_ZThn32_N4llvm13MPPassManagerD1Ev", "non-virtual thunk to llvm::MPPassManager::~MPPassManager()"},
-    {"_ZThn32_N4llvm13MPPassManagerD0Ev", "non-virtual thunk to llvm::MPPassManager::~MPPassManager()"},
-    {"_ZThn32_N4llvm13MPPassManager9getAsPassEv", "non-virtual thunk to llvm::MPPassManager::getAsPass()"},
-    {"_ZThn32_NK4llvm13MPPassManager18getPassManagerTypeEv", "non-virtual thunk to llvm::MPPassManager::getPassManagerType() const"},
-    {"_ZNSt6vectorIPN4llvm13PMDataManagerESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::PMDataManager*, std::allocator<llvm::PMDataManager*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::PMDataManager**, std::vector<llvm::PMDataManager*, std::allocator<llvm::PMDataManager*> > >, llvm::PMDataManager* const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm4PassESt4pairIKS2_PNS0_23FunctionPassManagerImplEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<llvm::Pass*, std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*>, std::_Select1st<std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> >, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> >, std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> const&)"},
-    {"_ZNSt8_Rb_treeIPN4llvm4PassESt4pairIKS2_PNS0_23FunctionPassManagerImplEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<llvm::Pass*, std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*>, std::_Select1st<std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> >, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> > >::_M_insert_unique(std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> const&)"},
-    {"_ZNSt8_Rb_treeIPKvSt4pairIKS1_PN4llvm4PassEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE5eraseESt17_Rb_tree_iteratorIS7_ESF_", "std::_Rb_tree<void const*, std::pair<void const* const, llvm::Pass*>, std::_Select1st<std::pair<void const* const, llvm::Pass*> >, std::less<void const*>, std::allocator<std::pair<void const* const, llvm::Pass*> > >::erase(std::_Rb_tree_iterator<std::pair<void const* const, llvm::Pass*> >, std::_Rb_tree_iterator<std::pair<void const* const, llvm::Pass*> >)"},
-    {"_ZNSt8_Rb_treeIPKvSt4pairIKS1_PN4llvm4PassEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<void const*, std::pair<void const* const, llvm::Pass*>, std::_Select1st<std::pair<void const* const, llvm::Pass*> >, std::less<void const*>, std::allocator<std::pair<void const* const, llvm::Pass*> > >::_M_erase(std::_Rb_tree_node<std::pair<void const* const, llvm::Pass*> >*)"},
-    {"_ZSt6__findIPKPKvS1_ET_S4_S4_RKT0_St26random_access_iterator_tag", "void const* const* std::__find<void const* const*, void const*>(void const* const*, void const* const*, void const* const&, std::random_access_iterator_tag)"},
-    {"_ZNSt8_Rb_treeIPKvSt4pairIKS1_PN4llvm4PassEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS7_ERKS7_", "std::_Rb_tree<void const*, std::pair<void const* const, llvm::Pass*>, std::_Select1st<std::pair<void const* const, llvm::Pass*> >, std::less<void const*>, std::allocator<std::pair<void const* const, llvm::Pass*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<void const* const, llvm::Pass*> >, std::pair<void const* const, llvm::Pass*> const&)"},
-    {"_ZNSt8_Rb_treeIPKvSt4pairIKS1_PN4llvm4PassEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE16_M_insert_uniqueERKS7_", "std::_Rb_tree<void const*, std::pair<void const* const, llvm::Pass*>, std::_Select1st<std::pair<void const* const, llvm::Pass*> >, std::less<void const*>, std::allocator<std::pair<void const* const, llvm::Pass*> > >::_M_insert_unique(std::pair<void const* const, llvm::Pass*> const&)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassENS_11SmallPtrSetIS2_Lj8EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16FindAndConstructERKS2_", "llvm::DenseMap<llvm::Pass*, llvm::SmallPtrSet<llvm::Pass*, 8u>, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Pass*, 8u> > >::FindAndConstruct(llvm::Pass* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassENS_11SmallPtrSetIS2_Lj8EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Pass*, llvm::SmallPtrSet<llvm::Pass*, 8u>, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Pass*, 8u> > >::InsertIntoBucket(llvm::Pass* const&, llvm::SmallPtrSet<llvm::Pass*, 8u> const&, std::pair<llvm::Pass*, llvm::SmallPtrSet<llvm::Pass*, 8u> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassENS_11SmallPtrSetIS2_Lj8EEENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Pass*, llvm::SmallPtrSet<llvm::Pass*, 8u>, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::SmallPtrSet<llvm::Pass*, 8u> > >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassEPNS_13AnalysisUsageENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Pass*, llvm::AnalysisUsage*, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::AnalysisUsage*> >::InsertIntoBucket(llvm::Pass* const&, llvm::AnalysisUsage* const&, std::pair<llvm::Pass*, llvm::AnalysisUsage*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassEPNS_13AnalysisUsageENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Pass*, llvm::AnalysisUsage*, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::AnalysisUsage*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassES2_NS_12DenseMapInfoIS2_EES4_E16InsertIntoBucketERKS2_S7_PSt4pairIS2_S2_E", "llvm::DenseMap<llvm::Pass*, llvm::Pass*, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::Pass*> >::InsertIntoBucket(llvm::Pass* const&, llvm::Pass* const&, std::pair<llvm::Pass*, llvm::Pass*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassES2_NS_12DenseMapInfoIS2_EES4_E4growEj", "llvm::DenseMap<llvm::Pass*, llvm::Pass*, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::Pass*> >::grow(unsigned int)"},
-    {"_ZN4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEE16handleOccurrenceEjNS_9StringRefES7_", "llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEE27getValueExpectedFlagDefaultEv", "llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEE14getOptionWidthEv", "llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>::getOptionWidth() const"},
-    {"_ZNK4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEE15printOptionInfoEm", "llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEED0Ev", "llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>::~list()"},
-    {"_ZN4llvm2cl6parserIPKNS_8PassInfoEE5parseERNS0_6OptionENS_9StringRefES8_RS4_", "llvm::cl::parser<llvm::PassInfo const*>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, llvm::PassInfo const*&)"},
-    {"_ZNSt6vectorIPKN4llvm8PassInfoESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::PassInfo const*, std::allocator<llvm::PassInfo const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::PassInfo const**, std::vector<llvm::PassInfo const*, std::allocator<llvm::PassInfo const*> > >, llvm::PassInfo const* const&)"},
-    {"_ZN4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEE16handleOccurrenceEjNS_9StringRefES6_", "llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEE14getOptionWidthEv", "llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEE15printOptionInfoEm", "llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEED0Ev", "llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >::~opt()"},
-    {"_ZN4llvm2cl6parserINS_14PassDebugLevelEE5parseERNS0_6OptionENS_9StringRefES6_RS2_", "llvm::cl::parser<llvm::PassDebugLevel>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, llvm::PassDebugLevel&)"},
-    {"_ZNK4llvm2cl11ValuesClassIiE5applyINS0_3optINS_14PassDebugLevelELb0ENS0_6parserIS5_EEEEEEvRT_", "void llvm::cl::ValuesClass<int>::apply<llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> > >(llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >&) const"},
-    {"_ZN4llvm23SmallVectorTemplateBaseINS_2cl6parserINS_14PassDebugLevelEE10OptionInfoELb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::PassDebugLevel>::OptionInfo, false>::grow(unsigned long)"},
-    {"_ZN4llvm2cl6parserINS_14PassDebugLevelEED1Ev", "llvm::cl::parser<llvm::PassDebugLevel>::~parser()"},
-    {"_ZN4llvm2cl6parserINS_14PassDebugLevelEED0Ev", "llvm::cl::parser<llvm::PassDebugLevel>::~parser()"},
-    {"_ZNK4llvm2cl6parserINS_14PassDebugLevelEE13getNumOptionsEv", "llvm::cl::parser<llvm::PassDebugLevel>::getNumOptions() const"},
-    {"_ZNK4llvm2cl6parserINS_14PassDebugLevelEE9getOptionEj", "llvm::cl::parser<llvm::PassDebugLevel>::getOption(unsigned int) const"},
-    {"_ZNK4llvm2cl6parserINS_14PassDebugLevelEE14getDescriptionEj", "llvm::cl::parser<llvm::PassDebugLevel>::getDescription(unsigned int) const"},
-    {"_ZN4llvm13MPPassManagerD2Ev", "llvm::MPPassManager::~MPPassManager()"},
-    {"_ZNSt8_Rb_treeIPN4llvm4PassESt4pairIKS2_PNS0_23FunctionPassManagerImplEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E", "std::_Rb_tree<llvm::Pass*, std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*>, std::_Select1st<std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> >, std::less<llvm::Pass*>, std::allocator<std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Pass* const, llvm::FunctionPassManagerImpl*> >*)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassEPNS_5TimerENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Pass*, llvm::Timer*, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::Timer*> >::InsertIntoBucket(llvm::Pass* const&, llvm::Timer* const&, std::pair<llvm::Pass*, llvm::Timer*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_4PassEPNS_5TimerENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Pass*, llvm::Timer*, llvm::DenseMapInfo<llvm::Pass*>, llvm::DenseMapInfo<llvm::Timer*> >::grow(unsigned int)"},
-    {"_ZN4llvm15PassManagerImplC2Ei", "llvm::PassManagerImpl::PassManagerImpl(int)"},
-    {"_ZN4llvm15PassManagerImplD1Ev", "llvm::PassManagerImpl::~PassManagerImpl()"},
-    {"_ZN4llvm15PassManagerImplD0Ev", "llvm::PassManagerImpl::~PassManagerImpl()"},
-    {"_ZNK4llvm15PassManagerImpl17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::PassManagerImpl::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZNK4llvm15PassManagerImpl16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::PassManagerImpl::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm15PassManagerImpl18getAsPMDataManagerEv", "llvm::PassManagerImpl::getAsPMDataManager()"},
-    {"_ZN4llvm15PassManagerImpl15addTopLevelPassEPNS_4PassE", "llvm::PassManagerImpl::addTopLevelPass(llvm::Pass*)"},
-    {"_ZN4llvm15PassManagerImpl9getAsPassEv", "llvm::PassManagerImpl::getAsPass()"},
-    {"_ZThn32_N4llvm15PassManagerImplD1Ev", "non-virtual thunk to llvm::PassManagerImpl::~PassManagerImpl()"},
-    {"_ZThn32_N4llvm15PassManagerImplD0Ev", "non-virtual thunk to llvm::PassManagerImpl::~PassManagerImpl()"},
-    {"_ZThn32_N4llvm15PassManagerImpl9getAsPassEv", "non-virtual thunk to llvm::PassManagerImpl::getAsPass()"},
-    {"_ZThn432_N4llvm15PassManagerImpl15addTopLevelPassEPNS_4PassE", "non-virtual thunk to llvm::PassManagerImpl::addTopLevelPass(llvm::Pass*)"},
-    {"_ZThn432_N4llvm15PassManagerImplD1Ev", "non-virtual thunk to llvm::PassManagerImpl::~PassManagerImpl()"},
-    {"_ZThn432_N4llvm15PassManagerImplD0Ev", "non-virtual thunk to llvm::PassManagerImpl::~PassManagerImpl()"},
-    {"_ZN4llvm23FunctionPassManagerImplC2Ei", "llvm::FunctionPassManagerImpl::FunctionPassManagerImpl(int)"},
-    {"_ZN4llvm23FunctionPassManagerImplD1Ev", "llvm::FunctionPassManagerImpl::~FunctionPassManagerImpl()"},
-    {"_ZN4llvm23FunctionPassManagerImplD0Ev", "llvm::FunctionPassManagerImpl::~FunctionPassManagerImpl()"},
-    {"_ZNK4llvm23FunctionPassManagerImpl17createPrinterPassERNS_11raw_ostreamERKSs", "llvm::FunctionPassManagerImpl::createPrinterPass(llvm::raw_ostream&, std::string const&) const"},
-    {"_ZNK4llvm23FunctionPassManagerImpl16getAnalysisUsageERNS_13AnalysisUsageE", "llvm::FunctionPassManagerImpl::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN4llvm23FunctionPassManagerImpl18getAsPMDataManagerEv", "llvm::FunctionPassManagerImpl::getAsPMDataManager()"},
-    {"_ZN4llvm23FunctionPassManagerImpl9getAsPassEv", "llvm::FunctionPassManagerImpl::getAsPass()"},
-    {"_ZN4llvm23FunctionPassManagerImpl15addTopLevelPassEPNS_4PassE", "llvm::FunctionPassManagerImpl::addTopLevelPass(llvm::Pass*)"},
-    {"_ZThn32_N4llvm23FunctionPassManagerImplD1Ev", "non-virtual thunk to llvm::FunctionPassManagerImpl::~FunctionPassManagerImpl()"},
-    {"_ZThn32_N4llvm23FunctionPassManagerImplD0Ev", "non-virtual thunk to llvm::FunctionPassManagerImpl::~FunctionPassManagerImpl()"},
-    {"_ZThn32_N4llvm23FunctionPassManagerImpl9getAsPassEv", "non-virtual thunk to llvm::FunctionPassManagerImpl::getAsPass()"},
-    {"_ZThn432_N4llvm23FunctionPassManagerImpl15addTopLevelPassEPNS_4PassE", "non-virtual thunk to llvm::FunctionPassManagerImpl::addTopLevelPass(llvm::Pass*)"},
-    {"_ZThn432_N4llvm23FunctionPassManagerImplD1Ev", "non-virtual thunk to llvm::FunctionPassManagerImpl::~FunctionPassManagerImpl()"},
-    {"_ZThn432_N4llvm23FunctionPassManagerImplD0Ev", "non-virtual thunk to llvm::FunctionPassManagerImpl::~FunctionPassManagerImpl()"},
-    {"_ZNSt6vectorISt4pairIPKvPN4llvm4PassEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<std::pair<void const*, llvm::Pass*>, std::allocator<std::pair<void const*, llvm::Pass*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<void const*, llvm::Pass*>*, std::vector<std::pair<void const*, llvm::Pass*>, std::allocator<std::pair<void const*, llvm::Pass*> > > >, std::pair<void const*, llvm::Pass*> const&)"},
-    {"_ZN4llvm12PassRegistryD1Ev", "llvm::PassRegistry::~PassRegistry()"},
-    {"_ZN4llvm12PassRegistryD2Ev", "llvm::PassRegistry::~PassRegistry()"},
-    {"_ZNK4llvm12PassRegistry11getPassInfoEPKv", "llvm::PassRegistry::getPassInfo(void const*) const"},
-    {"_ZNK4llvm12PassRegistry11getPassInfoENS_9StringRefE", "llvm::PassRegistry::getPassInfo(llvm::StringRef) const"},
-    {"_ZN4llvm12PassRegistry12registerPassERKNS_8PassInfoEb", "llvm::PassRegistry::registerPass(llvm::PassInfo const&, bool)"},
-    {"_ZN4llvm12PassRegistry14unregisterPassERKNS_8PassInfoE", "llvm::PassRegistry::unregisterPass(llvm::PassInfo const&)"},
-    {"_ZN4llvm12PassRegistry21registerAnalysisGroupEPKvS2_RNS_8PassInfoEbb", "llvm::PassRegistry::registerAnalysisGroup(void const*, void const*, llvm::PassInfo&, bool, bool)"},
-    {"_ZN4llvm12PassRegistry26removeRegistrationListenerEPNS_24PassRegistrationListenerE", "llvm::PassRegistry::removeRegistrationListener(llvm::PassRegistrationListener*)"},
-    {"_ZN4llvm8DenseMapIPKvPKNS_8PassInfoENS_12DenseMapInfoIS2_EENS6_IS5_EEE6insertERKSt4pairIS2_S5_E", "llvm::DenseMap<void const*, llvm::PassInfo const*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<llvm::PassInfo const*> >::insert(std::pair<void const*, llvm::PassInfo const*> const&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm24PassRegistrationListenerESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::PassRegistrationListener**, std::vector<llvm::PassRegistrationListener*, std::allocator<llvm::PassRegistrationListener*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::PassRegistrationListener**, std::vector<llvm::PassRegistrationListener*, std::allocator<llvm::PassRegistrationListener*> > >, llvm::PassRegistrationListener*>(__gnu_cxx::__normal_iterator<llvm::PassRegistrationListener**, std::vector<llvm::PassRegistrationListener*, std::allocator<llvm::PassRegistrationListener*> > >, __gnu_cxx::__normal_iterator<llvm::PassRegistrationListener**, std::vector<llvm::PassRegistrationListener*, std::allocator<llvm::PassRegistrationListener*> > >, llvm::PassRegistrationListener* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm9StringMapIPKNS_8PassInfoENS_15MallocAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::PassInfo const*>& llvm::StringMap<llvm::PassInfo const*, llvm::MallocAllocator>::GetOrCreateValue<llvm::PassInfo const*>(llvm::StringRef, llvm::PassInfo const*)"},
-    {"_ZN4llvm8DenseMapIPKvPKNS_8PassInfoENS_12DenseMapInfoIS2_EENS6_IS5_EEE16InsertIntoBucketERKS2_RKS5_PSt4pairIS2_S5_E", "llvm::DenseMap<void const*, llvm::PassInfo const*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<llvm::PassInfo const*> >::InsertIntoBucket(void const* const&, llvm::PassInfo const* const&, std::pair<void const*, llvm::PassInfo const*>*)"},
-    {"_ZN4llvm8DenseMapIPKvPKNS_8PassInfoENS_12DenseMapInfoIS2_EENS6_IS5_EEE4growEj", "llvm::DenseMap<void const*, llvm::PassInfo const*, llvm::DenseMapInfo<void const*>, llvm::DenseMapInfo<llvm::PassInfo const*> >::grow(unsigned int)"},
-    {"_ZN4llvm14object_creatorINS_12PassRegistryEEEPvv", "void* llvm::object_creator<llvm::PassRegistry>()"},
-    {"_ZN4llvm14object_deleterINS_12PassRegistryEE4callEPv", "llvm::object_deleter<llvm::PassRegistry>::call(void*)"},
-    {"_ZN4llvm29initializePrintModulePassPassERNS_12PassRegistryE", "llvm::initializePrintModulePassPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm31initializePrintFunctionPassPassERNS_12PassRegistryE", "llvm::initializePrintFunctionPassPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm21createPrintModulePassEPNS_11raw_ostreamEbRKSs", "llvm::createPrintModulePass(llvm::raw_ostream*, bool, std::string const&)"},
-    {"_ZN4llvm23createPrintFunctionPassERKSsPNS_11raw_ostreamEb", "llvm::createPrintFunctionPass(std::string const&, llvm::raw_ostream*, bool)"},
-    {"_ZN12_GLOBAL__N_117PrintFunctionPassD1Ev", "(anonymous namespace)::PrintFunctionPass::~PrintFunctionPass()"},
-    {"_ZN12_GLOBAL__N_117PrintFunctionPassD0Ev", "(anonymous namespace)::PrintFunctionPass::~PrintFunctionPass()"},
-    {"_ZNK12_GLOBAL__N_117PrintFunctionPass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PrintFunctionPass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_117PrintFunctionPass13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::PrintFunctionPass::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_115PrintModulePassD1Ev", "(anonymous namespace)::PrintModulePass::~PrintModulePass()"},
-    {"_ZN12_GLOBAL__N_115PrintModulePassD0Ev", "(anonymous namespace)::PrintModulePass::~PrintModulePass()"},
-    {"_ZNK12_GLOBAL__N_115PrintModulePass16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PrintModulePass::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_115PrintModulePass11runOnModuleERN4llvm6ModuleE", "(anonymous namespace)::PrintModulePass::runOnModule(llvm::Module&)"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_117PrintFunctionPassEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::PrintFunctionPass>()"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_115PrintModulePassEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::PrintModulePass>()"},
-    {"_ZN4llvm16AbstractTypeUserD0Ev", "llvm::AbstractTypeUser::~AbstractTypeUser()"},
-    {"_ZN4llvm16AbstractTypeUserD1Ev", "llvm::AbstractTypeUser::~AbstractTypeUser()"},
-    {"_ZN4llvm16AbstractTypeUserD2Ev", "llvm::AbstractTypeUser::~AbstractTypeUser()"},
-    {"_ZN4llvm16AbstractTypeUser7setTypeEPNS_5ValueEPKNS_4TypeE", "llvm::AbstractTypeUser::setType(llvm::Value*, llvm::Type const*)"},
-    {"_ZNK4llvm4Type7destroyEv", "llvm::Type::destroy() const"},
-    {"_ZN4llvm4Type16getPrimitiveTypeERNS_11LLVMContextENS0_6TypeIDE", "llvm::Type::getPrimitiveType(llvm::LLVMContext&, llvm::Type::TypeID)"},
-    {"_ZN4llvm4Type9getVoidTyERNS_11LLVMContextE", "llvm::Type::getVoidTy(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type10getFloatTyERNS_11LLVMContextE", "llvm::Type::getFloatTy(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type11getDoubleTyERNS_11LLVMContextE", "llvm::Type::getDoubleTy(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type13getX86_FP80TyERNS_11LLVMContextE", "llvm::Type::getX86_FP80Ty(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type10getFP128TyERNS_11LLVMContextE", "llvm::Type::getFP128Ty(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type14getPPC_FP128TyERNS_11LLVMContextE", "llvm::Type::getPPC_FP128Ty(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type10getLabelTyERNS_11LLVMContextE", "llvm::Type::getLabelTy(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type13getMetadataTyERNS_11LLVMContextE", "llvm::Type::getMetadataTy(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type12getX86_MMXTyERNS_11LLVMContextE", "llvm::Type::getX86_MMXTy(llvm::LLVMContext&)"},
-    {"_ZNK4llvm4Type21getVAArgsPromotedTypeERNS_11LLVMContextE", "llvm::Type::getVAArgsPromotedType(llvm::LLVMContext&) const"},
-    {"_ZN4llvm4Type10getInt32TyERNS_11LLVMContextE", "llvm::Type::getInt32Ty(llvm::LLVMContext&)"},
-    {"_ZNK4llvm4Type13getScalarTypeEv", "llvm::Type::getScalarType() const"},
-    {"_ZNK4llvm4Type11isIntegerTyEj", "llvm::Type::isIntegerTy(unsigned int) const"},
-    {"_ZNK4llvm4Type18isIntOrIntVectorTyEv", "llvm::Type::isIntOrIntVectorTy() const"},
-    {"_ZNK4llvm4Type16isFPOrFPVectorTyEv", "llvm::Type::isFPOrFPVectorTy() const"},
-    {"_ZNK4llvm4Type22canLosslesslyBitCastToEPKS0_", "llvm::Type::canLosslesslyBitCastTo(llvm::Type const*) const"},
-    {"_ZNK4llvm4Type22getPrimitiveSizeInBitsEv", "llvm::Type::getPrimitiveSizeInBits() const"},
-    {"_ZNK4llvm4Type19getScalarSizeInBitsEv", "llvm::Type::getScalarSizeInBits() const"},
-    {"_ZNK4llvm4Type18getFPMantissaWidthEv", "llvm::Type::getFPMantissaWidth() const"},
-    {"_ZNK4llvm4Type18isSizedDerivedTypeEv", "llvm::Type::isSizedDerivedType() const"},
-    {"_ZNK4llvm4Type24getForwardedTypeInternalEv", "llvm::Type::getForwardedTypeInternal() const"},
-    {"_ZN4llvm4Type18refineAbstractTypeEPKNS_11DerivedTypeEPKS0_", "llvm::Type::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm4Type18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::Type::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm4Type14getDescriptionEv", "llvm::Type::getDescription() const"},
-    {"_ZNK4llvm10StructType10indexValidEPKNS_5ValueE", "llvm::StructType::indexValid(llvm::Value const*) const"},
-    {"_ZNK4llvm10StructType10indexValidEj", "llvm::StructType::indexValid(unsigned int) const"},
-    {"_ZNK4llvm10StructType14getTypeAtIndexEPKNS_5ValueE", "llvm::StructType::getTypeAtIndex(llvm::Value const*) const"},
-    {"_ZNK4llvm10StructType14getTypeAtIndexEj", "llvm::StructType::getTypeAtIndex(unsigned int) const"},
-    {"_ZN4llvm4Type9getIntNTyERNS_11LLVMContextEj", "llvm::Type::getIntNTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm11IntegerType3getERNS_11LLVMContextEj", "llvm::IntegerType::get(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type9getInt1TyERNS_11LLVMContextE", "llvm::Type::getInt1Ty(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type9getInt8TyERNS_11LLVMContextE", "llvm::Type::getInt8Ty(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type10getInt16TyERNS_11LLVMContextE", "llvm::Type::getInt16Ty(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type10getInt64TyERNS_11LLVMContextE", "llvm::Type::getInt64Ty(llvm::LLVMContext&)"},
-    {"_ZN4llvm4Type13getFloatPtrTyERNS_11LLVMContextEj", "llvm::Type::getFloatPtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZNK4llvm4Type12getPointerToEj", "llvm::Type::getPointerTo(unsigned int) const"},
-    {"_ZN4llvm4Type14getDoublePtrTyERNS_11LLVMContextEj", "llvm::Type::getDoublePtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type16getX86_FP80PtrTyERNS_11LLVMContextEj", "llvm::Type::getX86_FP80PtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type13getFP128PtrTyERNS_11LLVMContextEj", "llvm::Type::getFP128PtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type17getPPC_FP128PtrTyERNS_11LLVMContextEj", "llvm::Type::getPPC_FP128PtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type15getX86_MMXPtrTyERNS_11LLVMContextEj", "llvm::Type::getX86_MMXPtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type12getIntNPtrTyERNS_11LLVMContextEjj", "llvm::Type::getIntNPtrTy(llvm::LLVMContext&, unsigned int, unsigned int)"},
-    {"_ZN4llvm4Type12getInt1PtrTyERNS_11LLVMContextEj", "llvm::Type::getInt1PtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type12getInt8PtrTyERNS_11LLVMContextEj", "llvm::Type::getInt8PtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type13getInt16PtrTyERNS_11LLVMContextEj", "llvm::Type::getInt16PtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type13getInt32PtrTyERNS_11LLVMContextEj", "llvm::Type::getInt32PtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm4Type13getInt64PtrTyERNS_11LLVMContextEj", "llvm::Type::getInt64PtrTy(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm12FunctionType17isValidReturnTypeEPKNS_4TypeE", "llvm::FunctionType::isValidReturnType(llvm::Type const*)"},
-    {"_ZN4llvm12FunctionType19isValidArgumentTypeEPKNS_4TypeE", "llvm::FunctionType::isValidArgumentType(llvm::Type const*)"},
-    {"_ZN4llvm12FunctionTypeC1EPKNS_4TypeERKSt6vectorIS3_SaIS3_EEb", "llvm::FunctionType::FunctionType(llvm::Type const*, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > const&, bool)"},
-    {"_ZN4llvm12FunctionTypeC2EPKNS_4TypeERKSt6vectorIS3_SaIS3_EEb", "llvm::FunctionType::FunctionType(llvm::Type const*, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > const&, bool)"},
-    {"_ZN4llvm10StructTypeC1ERNS_11LLVMContextERKSt6vectorIPKNS_4TypeESaIS6_EEb", "llvm::StructType::StructType(llvm::LLVMContext&, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > const&, bool)"},
-    {"_ZN4llvm10StructTypeC2ERNS_11LLVMContextERKSt6vectorIPKNS_4TypeESaIS6_EEb", "llvm::StructType::StructType(llvm::LLVMContext&, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > const&, bool)"},
-    {"_ZN4llvm9ArrayTypeC1EPKNS_4TypeEy", "llvm::ArrayType::ArrayType(llvm::Type const*, unsigned long long)"},
-    {"_ZN4llvm9ArrayTypeC2EPKNS_4TypeEy", "llvm::ArrayType::ArrayType(llvm::Type const*, unsigned long long)"},
-    {"_ZN4llvm10VectorTypeC1EPKNS_4TypeEj", "llvm::VectorType::VectorType(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm10VectorTypeC2EPKNS_4TypeEj", "llvm::VectorType::VectorType(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm11PointerTypeC1EPKNS_4TypeEj", "llvm::PointerType::PointerType(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm11PointerTypeC2EPKNS_4TypeEj", "llvm::PointerType::PointerType(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm10OpaqueTypeC1ERNS_11LLVMContextE", "llvm::OpaqueType::OpaqueType(llvm::LLVMContext&)"},
-    {"_ZN4llvm10OpaqueTypeC2ERNS_11LLVMContextE", "llvm::OpaqueType::OpaqueType(llvm::LLVMContext&)"},
-    {"_ZN4llvm12PATypeHolder7destroyEv", "llvm::PATypeHolder::destroy()"},
-    {"_ZN4llvm11DerivedType15dropAllTypeUsesEv", "llvm::DerivedType::dropAllTypeUses()"},
-    {"_ZN4llvm4Type25PromoteAbstractToConcreteEv", "llvm::Type::PromoteAbstractToConcrete()"},
-    {"_ZN4llvm11DerivedType32notifyUsesThatTypeBecameConcreteEv", "llvm::DerivedType::notifyUsesThatTypeBecameConcrete()"},
-    {"_ZNK4llvm11IntegerType19isPowerOf2ByteWidthEv", "llvm::IntegerType::isPowerOf2ByteWidth() const"},
-    {"_ZNK4llvm11IntegerType7getMaskEv", "llvm::IntegerType::getMask() const"},
-    {"_ZN4llvm15FunctionValType3getEPKNS_12FunctionTypeE", "llvm::FunctionValType::get(llvm::FunctionType const*)"},
-    {"_ZN4llvm12FunctionType3getEPKNS_4TypeERKSt6vectorIS3_SaIS3_EEb", "llvm::FunctionType::get(llvm::Type const*, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > const&, bool)"},
-    {"_ZN4llvm9ArrayType3getEPKNS_4TypeEy", "llvm::ArrayType::get(llvm::Type const*, unsigned long long)"},
-    {"_ZN4llvm9ArrayType18isValidElementTypeEPKNS_4TypeE", "llvm::ArrayType::isValidElementType(llvm::Type const*)"},
-    {"_ZN4llvm10VectorType3getEPKNS_4TypeEj", "llvm::VectorType::get(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm10VectorType18isValidElementTypeEPKNS_4TypeE", "llvm::VectorType::isValidElementType(llvm::Type const*)"},
-    {"_ZN4llvm10StructType3getERNS_11LLVMContextERKSt6vectorIPKNS_4TypeESaIS6_EEb", "llvm::StructType::get(llvm::LLVMContext&, std::vector<llvm::Type const*, std::allocator<llvm::Type const*> > const&, bool)"},
-    {"_ZN4llvm10StructType3getERNS_11LLVMContextEPKNS_4TypeEz", "llvm::StructType::get(llvm::LLVMContext&, llvm::Type const*, ...)"},
-    {"_ZN4llvm10StructType18isValidElementTypeEPKNS_4TypeE", "llvm::StructType::isValidElementType(llvm::Type const*)"},
-    {"_ZN4llvm11PointerType3getEPKNS_4TypeEj", "llvm::PointerType::get(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm11PointerType18isValidElementTypeEPKNS_4TypeE", "llvm::PointerType::isValidElementType(llvm::Type const*)"},
-    {"_ZN4llvm10OpaqueType3getERNS_11LLVMContextE", "llvm::OpaqueType::get(llvm::LLVMContext&)"},
-    {"_ZNK4llvm4Type19addAbstractTypeUserEPNS_16AbstractTypeUserE", "llvm::Type::addAbstractTypeUser(llvm::AbstractTypeUser*) const"},
-    {"_ZNK4llvm4Type22removeAbstractTypeUserEPNS_16AbstractTypeUserE", "llvm::Type::removeAbstractTypeUser(llvm::AbstractTypeUser*) const"},
-    {"_ZN4llvm11DerivedType20refineAbstractTypeToEPKNS_4TypeE", "llvm::DerivedType::refineAbstractTypeTo(llvm::Type const*)"},
-    {"_ZN4llvm12FunctionType18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::FunctionType::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm12FunctionType18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::FunctionType::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZN4llvm9ArrayType18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::ArrayType::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm9ArrayType18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::ArrayType::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZN4llvm10VectorType18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::VectorType::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm10VectorType18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::VectorType::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZN4llvm10StructType18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::StructType::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm10StructType18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::StructType::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZN4llvm11PointerType18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::PointerType::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm11PointerType18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::PointerType::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm14SequentialType10indexValidEPKNS_5ValueE", "llvm::SequentialType::indexValid(llvm::Value const*) const"},
-    {"_ZN4llvmlsERNS_11raw_ostreamERKNS_4TypeE", "llvm::operator<<(llvm::raw_ostream&, llvm::Type const&)"},
-    {"_ZN4llvm25TypeHasCycleThroughItselfEPKNS_4TypeE", "llvm::TypeHasCycleThroughItself(llvm::Type const*)"},
-    {"_Z10TypesEqualPKN4llvm4TypeES2_RSt3mapIS2_S2_St4lessIS2_ESaISt4pairIKS2_S2_EEE", "TypesEqual(llvm::Type const*, llvm::Type const*, std::map<llvm::Type const*, llvm::Type const*, std::less<llvm::Type const*>, std::allocator<std::pair<llvm::Type const* const, llvm::Type const*> > >&)"},
-    {"_Z27AbstractTypeHasCycleThroughPKN4llvm4TypeES2_RNS_11SmallPtrSetIS2_Lj128EEE", "AbstractTypeHasCycleThrough(llvm::Type const*, llvm::Type const*, llvm::SmallPtrSet<llvm::Type const*, 128u>&)"},
-    {"_Z27ConcreteTypeHasCycleThroughPKN4llvm4TypeES2_RNS_11SmallPtrSetIS2_Lj128EEE", "ConcreteTypeHasCycleThrough(llvm::Type const*, llvm::Type const*, llvm::SmallPtrSet<llvm::Type const*, 128u>&)"},
-    {"_ZN4llvm12scc_iteratorIN12_GLOBAL__N_118TypePromotionGraphENS_11GraphTraitsIS2_EEE10GetNextSCCEv", "llvm::scc_iterator<(anonymous namespace)::TypePromotionGraph, llvm::GraphTraits<(anonymous namespace)::TypePromotionGraph> >::GetNextSCC()"},
-    {"_ZN4llvm12scc_iteratorIN12_GLOBAL__N_118TypePromotionGraphENS_11GraphTraitsIS2_EEE11DFSVisitOneEPNS_4TypeE", "llvm::scc_iterator<(anonymous namespace)::TypePromotionGraph, llvm::GraphTraits<(anonymous namespace)::TypePromotionGraph> >::DFSVisitOne(llvm::Type*)"},
-    {"_ZN4llvm12FunctionTypeD1Ev", "llvm::FunctionType::~FunctionType()"},
-    {"_ZN4llvm10StructTypeD1Ev", "llvm::StructType::~StructType()"},
-    {"_ZNK4llvm10VectorType11getBitWidthEv", "llvm::VectorType::getBitWidth() const"},
-    {"_ZNK4llvm4Type16getForwardedTypeEv", "llvm::Type::getForwardedType() const"},
-    {"_ZN4llvm14SequentialTypeC2ENS_4Type6TypeIDEPKS1_", "llvm::SequentialType::SequentialType(llvm::Type::TypeID, llvm::Type const*)"},
-    {"_ZN4llvm12PATypeHandleaSEPKNS_4TypeE", "llvm::PATypeHandle::operator=(llvm::Type const*)"},
-    {"_ZN4llvm7TypeMapINS_14IntegerValTypeENS_11IntegerTypeEE3addERKS1_PS2_", "llvm::TypeMap<llvm::IntegerValType, llvm::IntegerType>::add(llvm::IntegerValType const&, llvm::IntegerType*)"},
-    {"_ZN4llvm7TypeMapINS_15FunctionValTypeENS_12FunctionTypeEE3addERKS1_PS2_", "llvm::TypeMap<llvm::FunctionValType, llvm::FunctionType>::add(llvm::FunctionValType const&, llvm::FunctionType*)"},
-    {"_ZN4llvm7TypeMapINS_12ArrayValTypeENS_9ArrayTypeEE3addERKS1_PS2_", "llvm::TypeMap<llvm::ArrayValType, llvm::ArrayType>::add(llvm::ArrayValType const&, llvm::ArrayType*)"},
-    {"_ZN4llvm7TypeMapINS_13VectorValTypeENS_10VectorTypeEE3addERKS1_PS2_", "llvm::TypeMap<llvm::VectorValType, llvm::VectorType>::add(llvm::VectorValType const&, llvm::VectorType*)"},
-    {"_ZN4llvm7TypeMapINS_13StructValTypeENS_10StructTypeEE3addERKS1_PS2_", "llvm::TypeMap<llvm::StructValType, llvm::StructType>::add(llvm::StructValType const&, llvm::StructType*)"},
-    {"_ZN4llvm7TypeMapINS_14PointerValTypeENS_11PointerTypeEE3addERKS1_PS2_", "llvm::TypeMap<llvm::PointerValType, llvm::PointerType>::add(llvm::PointerValType const&, llvm::PointerType*)"},
-    {"_ZN4llvm7TypeMapINS_15FunctionValTypeENS_12FunctionTypeEE18RefineAbstractTypeEPS2_PKNS_11DerivedTypeEPKNS_4TypeE", "llvm::TypeMap<llvm::FunctionValType, llvm::FunctionType>::RefineAbstractType(llvm::FunctionType*, llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm11TypeMapBase18TypeBecameConcreteEPNS_11DerivedTypeEPKS1_", "llvm::TypeMapBase::TypeBecameConcrete(llvm::DerivedType*, llvm::DerivedType const*)"},
-    {"_ZN4llvm7TypeMapINS_12ArrayValTypeENS_9ArrayTypeEE18RefineAbstractTypeEPS2_PKNS_11DerivedTypeEPKNS_4TypeE", "llvm::TypeMap<llvm::ArrayValType, llvm::ArrayType>::RefineAbstractType(llvm::ArrayType*, llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm7TypeMapINS_13VectorValTypeENS_10VectorTypeEE18RefineAbstractTypeEPS2_PKNS_11DerivedTypeEPKNS_4TypeE", "llvm::TypeMap<llvm::VectorValType, llvm::VectorType>::RefineAbstractType(llvm::VectorType*, llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm7TypeMapINS_13StructValTypeENS_10StructTypeEE18RefineAbstractTypeEPS2_PKNS_11DerivedTypeEPKNS_4TypeE", "llvm::TypeMap<llvm::StructValType, llvm::StructType>::RefineAbstractType(llvm::StructType*, llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm7TypeMapINS_14PointerValTypeENS_11PointerTypeEE18RefineAbstractTypeEPS2_PKNS_11DerivedTypeEPKNS_4TypeE", "llvm::TypeMap<llvm::PointerValType, llvm::PointerType>::RefineAbstractType(llvm::PointerType*, llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm14SequentialTypeD1Ev", "llvm::SequentialType::~SequentialType()"},
-    {"_ZN4llvm14SequentialTypeD0Ev", "llvm::SequentialType::~SequentialType()"},
-    {"_ZNK4llvm14SequentialType14getTypeAtIndexEPKNS_5ValueE", "llvm::SequentialType::getTypeAtIndex(llvm::Value const*) const"},
-    {"_ZNK4llvm14SequentialType14getTypeAtIndexEj", "llvm::SequentialType::getTypeAtIndex(unsigned int) const"},
-    {"_ZNK4llvm14SequentialType10indexValidEj", "llvm::SequentialType::indexValid(unsigned int) const"},
-    {"_ZN4llvm12FunctionTypeD0Ev", "llvm::FunctionType::~FunctionType()"},
-    {"_ZN4llvm10StructTypeD0Ev", "llvm::StructType::~StructType()"},
-    {"_ZN4llvm9ArrayTypeD1Ev", "llvm::ArrayType::~ArrayType()"},
-    {"_ZN4llvm9ArrayTypeD0Ev", "llvm::ArrayType::~ArrayType()"},
-    {"_ZN4llvm10VectorTypeD1Ev", "llvm::VectorType::~VectorType()"},
-    {"_ZN4llvm10VectorTypeD0Ev", "llvm::VectorType::~VectorType()"},
-    {"_ZN4llvm11PointerTypeD1Ev", "llvm::PointerType::~PointerType()"},
-    {"_ZN4llvm11PointerTypeD0Ev", "llvm::PointerType::~PointerType()"},
-    {"_ZN4llvm10OpaqueTypeD1Ev", "llvm::OpaqueType::~OpaqueType()"},
-    {"_ZN4llvm10OpaqueTypeD0Ev", "llvm::OpaqueType::~OpaqueType()"},
-    {"_ZN4llvm11TypeMapBase21RemoveFromTypesByHashEjPKNS_4TypeE", "llvm::TypeMapBase::RemoveFromTypesByHash(unsigned int, llvm::Type const*)"},
-    {"_ZNSt8_Rb_treeIjSt4pairIKjN4llvm12PATypeHolderEESt10_Select1stIS4_ESt4lessIjESaIS4_EE15_M_insert_equalERKS4_", "std::_Rb_tree<unsigned int, std::pair<unsigned int const, llvm::PATypeHolder>, std::_Select1st<std::pair<unsigned int const, llvm::PATypeHolder> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, llvm::PATypeHolder> > >::_M_insert_equal(std::pair<unsigned int const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4TypeESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<llvm::Type const*, std::pair<llvm::Type const* const, llvm::Type const*>, std::_Select1st<std::pair<llvm::Type const* const, llvm::Type const*> >, std::less<llvm::Type const*>, std::allocator<std::pair<llvm::Type const* const, llvm::Type const*> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::Type const* const, llvm::Type const*> >*)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4TypeESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS6_ERKS6_", "std::_Rb_tree<llvm::Type const*, std::pair<llvm::Type const* const, llvm::Type const*>, std::_Select1st<std::pair<llvm::Type const* const, llvm::Type const*> >, std::less<llvm::Type const*>, std::allocator<std::pair<llvm::Type const* const, llvm::Type const*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<llvm::Type const* const, llvm::Type const*> >, std::pair<llvm::Type const* const, llvm::Type const*> const&)"},
-    {"_ZNSt8_Rb_treeIPKN4llvm4TypeESt4pairIKS3_S3_ESt10_Select1stIS6_ESt4lessIS3_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<llvm::Type const*, std::pair<llvm::Type const* const, llvm::Type const*>, std::_Select1st<std::pair<llvm::Type const* const, llvm::Type const*> >, std::less<llvm::Type const*>, std::allocator<std::pair<llvm::Type const* const, llvm::Type const*> > >::_M_insert_unique(std::pair<llvm::Type const* const, llvm::Type const*> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm14PointerValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<llvm::PointerValType, std::pair<llvm::PointerValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::PointerValType const, llvm::PATypeHolder> >, std::less<llvm::PointerValType>, std::allocator<std::pair<llvm::PointerValType const, llvm::PATypeHolder> > >::_M_insert_unique(std::pair<llvm::PointerValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm14PointerValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE9_M_insertEPSt18_Rb_tree_node_baseSD_RKS5_", "std::_Rb_tree<llvm::PointerValType, std::pair<llvm::PointerValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::PointerValType const, llvm::PATypeHolder> >, std::less<llvm::PointerValType>, std::allocator<std::pair<llvm::PointerValType const, llvm::PATypeHolder> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::PointerValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm14PointerValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_ESD_", "std::_Rb_tree<llvm::PointerValType, std::pair<llvm::PointerValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::PointerValType const, llvm::PATypeHolder> >, std::less<llvm::PointerValType>, std::allocator<std::pair<llvm::PointerValType const, llvm::PATypeHolder> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::PointerValType const, llvm::PATypeHolder> >, std::_Rb_tree_iterator<std::pair<llvm::PointerValType const, llvm::PATypeHolder> >)"},
-    {"_ZN4llvm13StructValType3getEPKNS_10StructTypeE", "llvm::StructValType::get(llvm::StructType const*)"},
-    {"_ZNSt4pairIKN4llvm13StructValTypeENS0_12PATypeHolderEEC2IS1_PNS0_10StructTypeEEERKS_IT_T0_E", "std::pair<llvm::StructValType const, llvm::PATypeHolder>::pair<llvm::StructValType, llvm::StructType*>(std::pair<llvm::StructValType, llvm::StructType*> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13StructValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<llvm::StructValType, std::pair<llvm::StructValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::StructValType const, llvm::PATypeHolder> >, std::less<llvm::StructValType>, std::allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> > >::_M_insert_unique(std::pair<llvm::StructValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13StructValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE9_M_insertEPSt18_Rb_tree_node_baseSD_RKS5_", "std::_Rb_tree<llvm::StructValType, std::pair<llvm::StructValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::StructValType const, llvm::PATypeHolder> >, std::less<llvm::StructValType>, std::allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::StructValType const, llvm::PATypeHolder> const&)"},
-    {"_ZN9__gnu_cxx13new_allocatorISt4pairIKN4llvm13StructValTypeENS2_12PATypeHolderEEE9constructEPS6_RKS6_", "__gnu_cxx::new_allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> >::construct(std::pair<llvm::StructValType const, llvm::PATypeHolder>*, std::pair<llvm::StructValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13StructValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE5eraseERS3_", "std::_Rb_tree<llvm::StructValType, std::pair<llvm::StructValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::StructValType const, llvm::PATypeHolder> >, std::less<llvm::StructValType>, std::allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> > >::erase(llvm::StructValType const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13StructValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_E", "std::_Rb_tree<llvm::StructValType, std::pair<llvm::StructValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::StructValType const, llvm::PATypeHolder> >, std::less<llvm::StructValType>, std::allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::StructValType const, llvm::PATypeHolder> >)"},
-    {"_ZNSt8_Rb_treeIN4llvm13StructValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE11lower_boundERS3_", "std::_Rb_tree<llvm::StructValType, std::pair<llvm::StructValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::StructValType const, llvm::PATypeHolder> >, std::less<llvm::StructValType>, std::allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> > >::lower_bound(llvm::StructValType const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13StructValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE11upper_boundERS3_", "std::_Rb_tree<llvm::StructValType, std::pair<llvm::StructValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::StructValType const, llvm::PATypeHolder> >, std::less<llvm::StructValType>, std::allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> > >::upper_bound(llvm::StructValType const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13VectorValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<llvm::VectorValType, std::pair<llvm::VectorValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::VectorValType const, llvm::PATypeHolder> >, std::less<llvm::VectorValType>, std::allocator<std::pair<llvm::VectorValType const, llvm::PATypeHolder> > >::_M_insert_unique(std::pair<llvm::VectorValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13VectorValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE9_M_insertEPSt18_Rb_tree_node_baseSD_RKS5_", "std::_Rb_tree<llvm::VectorValType, std::pair<llvm::VectorValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::VectorValType const, llvm::PATypeHolder> >, std::less<llvm::VectorValType>, std::allocator<std::pair<llvm::VectorValType const, llvm::PATypeHolder> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::VectorValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13VectorValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_ESD_", "std::_Rb_tree<llvm::VectorValType, std::pair<llvm::VectorValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::VectorValType const, llvm::PATypeHolder> >, std::less<llvm::VectorValType>, std::allocator<std::pair<llvm::VectorValType const, llvm::PATypeHolder> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::VectorValType const, llvm::PATypeHolder> >, std::_Rb_tree_iterator<std::pair<llvm::VectorValType const, llvm::PATypeHolder> >)"},
-    {"_ZNSt8_Rb_treeIN4llvm12ArrayValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<llvm::ArrayValType, std::pair<llvm::ArrayValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> >, std::less<llvm::ArrayValType>, std::allocator<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> > >::_M_insert_unique(std::pair<llvm::ArrayValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm12ArrayValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE9_M_insertEPSt18_Rb_tree_node_baseSD_RKS5_", "std::_Rb_tree<llvm::ArrayValType, std::pair<llvm::ArrayValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> >, std::less<llvm::ArrayValType>, std::allocator<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::ArrayValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm12ArrayValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_ESD_", "std::_Rb_tree<llvm::ArrayValType, std::pair<llvm::ArrayValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> >, std::less<llvm::ArrayValType>, std::allocator<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> >, std::_Rb_tree_iterator<std::pair<llvm::ArrayValType const, llvm::PATypeHolder> >)"},
-    {"_ZNSt4pairIKN4llvm15FunctionValTypeENS0_12PATypeHolderEEC2IS1_PNS0_12FunctionTypeEEERKS_IT_T0_E", "std::pair<llvm::FunctionValType const, llvm::PATypeHolder>::pair<llvm::FunctionValType, llvm::FunctionType*>(std::pair<llvm::FunctionValType, llvm::FunctionType*> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm15FunctionValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<llvm::FunctionValType, std::pair<llvm::FunctionValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >, std::less<llvm::FunctionValType>, std::allocator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> > >::_M_insert_unique(std::pair<llvm::FunctionValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm15FunctionValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE9_M_insertEPSt18_Rb_tree_node_baseSD_RKS5_", "std::_Rb_tree<llvm::FunctionValType, std::pair<llvm::FunctionValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >, std::less<llvm::FunctionValType>, std::allocator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<llvm::FunctionValType const, llvm::PATypeHolder> const&)"},
-    {"_ZN9__gnu_cxx13new_allocatorISt4pairIKN4llvm15FunctionValTypeENS2_12PATypeHolderEEE9constructEPS6_RKS6_", "__gnu_cxx::new_allocator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >::construct(std::pair<llvm::FunctionValType const, llvm::PATypeHolder>*, std::pair<llvm::FunctionValType const, llvm::PATypeHolder> const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm15FunctionValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE5eraseERS3_", "std::_Rb_tree<llvm::FunctionValType, std::pair<llvm::FunctionValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >, std::less<llvm::FunctionValType>, std::allocator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> > >::erase(llvm::FunctionValType const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm15FunctionValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE11equal_rangeERS3_", "std::_Rb_tree<llvm::FunctionValType, std::pair<llvm::FunctionValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >, std::less<llvm::FunctionValType>, std::allocator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> > >::equal_range(llvm::FunctionValType const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm15FunctionValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE5eraseESt17_Rb_tree_iteratorIS5_E", "std::_Rb_tree<llvm::FunctionValType, std::pair<llvm::FunctionValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >, std::less<llvm::FunctionValType>, std::allocator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> > >::erase(std::_Rb_tree_iterator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >)"},
-    {"_ZNSt6vectorIPN4llvm16AbstractTypeUserESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::AbstractTypeUser*, std::allocator<llvm::AbstractTypeUser*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::AbstractTypeUser**, std::vector<llvm::AbstractTypeUser*, std::allocator<llvm::AbstractTypeUser*> > >, llvm::AbstractTypeUser* const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm13StructValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE4findERS3_", "std::_Rb_tree<llvm::StructValType, std::pair<llvm::StructValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::StructValType const, llvm::PATypeHolder> >, std::less<llvm::StructValType>, std::allocator<std::pair<llvm::StructValType const, llvm::PATypeHolder> > >::find(llvm::StructValType const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm15FunctionValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE4findERS3_", "std::_Rb_tree<llvm::FunctionValType, std::pair<llvm::FunctionValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> >, std::less<llvm::FunctionValType>, std::allocator<std::pair<llvm::FunctionValType const, llvm::PATypeHolder> > >::find(llvm::FunctionValType const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm14IntegerValTypeESt4pairIKS1_NS0_12PATypeHolderEESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE16_M_insert_uniqueERKS5_", "std::_Rb_tree<llvm::IntegerValType, std::pair<llvm::IntegerValType const, llvm::PATypeHolder>, std::_Select1st<std::pair<llvm::IntegerValType const, llvm::PATypeHolder> >, std::less<llvm::IntegerValType>, std::allocator<std::pair<llvm::IntegerValType const, llvm::PATypeHolder> > >::_M_insert_unique(std::pair<llvm::IntegerValType const, llvm::PATypeHolder> const&)"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm4TypeESt6vectorIS4_SaIS4_EEEENS2_12PATypeHandleEET_SB_SB_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::Type**, std::vector<llvm::Type*, std::allocator<llvm::Type*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::Type**, std::vector<llvm::Type*, std::allocator<llvm::Type*> > >, llvm::PATypeHandle>(__gnu_cxx::__normal_iterator<llvm::Type**, std::vector<llvm::Type*, std::allocator<llvm::Type*> > >, __gnu_cxx::__normal_iterator<llvm::Type**, std::vector<llvm::Type*, std::allocator<llvm::Type*> > >, llvm::PATypeHandle const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIPN4llvm4TypeESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::Type*, std::allocator<llvm::Type*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Type**, std::vector<llvm::Type*, std::allocator<llvm::Type*> > >, llvm::Type* const&)"},
-    {"_ZN4llvm8DenseMapIPNS_4TypeEjNS_12DenseMapInfoIS2_EENS3_IjEEE16InsertIntoBucketERKS2_RKjPSt4pairIS2_jE", "llvm::DenseMap<llvm::Type*, unsigned int, llvm::DenseMapInfo<llvm::Type*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::Type* const&, unsigned int const&, std::pair<llvm::Type*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPNS_4TypeEjNS_12DenseMapInfoIS2_EENS3_IjEEE4growEj", "llvm::DenseMap<llvm::Type*, unsigned int, llvm::DenseMapInfo<llvm::Type*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt6vectorISt4pairIPN4llvm4TypeEPNS1_12PATypeHandleEESaIS6_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS6_S8_EERKS6_", "std::vector<std::pair<llvm::Type*, llvm::PATypeHandle*>, std::allocator<std::pair<llvm::Type*, llvm::PATypeHandle*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::Type*, llvm::PATypeHandle*>*, std::vector<std::pair<llvm::Type*, llvm::PATypeHandle*>, std::allocator<std::pair<llvm::Type*, llvm::PATypeHandle*> > > >, std::pair<llvm::Type*, llvm::PATypeHandle*> const&)"},
-    {"_ZN4llvm13CompositeTypeD1Ev", "llvm::CompositeType::~CompositeType()"},
-    {"_ZN4llvm13CompositeTypeD0Ev", "llvm::CompositeType::~CompositeType()"},
-    {"_ZN4llvm15TypeSymbolTableD0Ev", "llvm::TypeSymbolTable::~TypeSymbolTable()"},
-    {"_ZN4llvm15TypeSymbolTableD1Ev", "llvm::TypeSymbolTable::~TypeSymbolTable()"},
-    {"_ZN4llvm15TypeSymbolTableD2Ev", "llvm::TypeSymbolTable::~TypeSymbolTable()"},
-    {"_ZNK4llvm15TypeSymbolTable13getUniqueNameENS_9StringRefE", "llvm::TypeSymbolTable::getUniqueName(llvm::StringRef) const"},
-    {"_ZNK4llvm15TypeSymbolTable6lookupENS_9StringRefE", "llvm::TypeSymbolTable::lookup(llvm::StringRef) const"},
-    {"_ZN4llvm15TypeSymbolTable6removeESt17_Rb_tree_iteratorISt4pairIKSsPKNS_4TypeEEE", "llvm::TypeSymbolTable::remove(std::_Rb_tree_iterator<std::pair<std::string const, llvm::Type const*> >)"},
-    {"_ZN4llvm15TypeSymbolTable6insertENS_9StringRefEPKNS_4TypeE", "llvm::TypeSymbolTable::insert(llvm::StringRef, llvm::Type const*)"},
-    {"_ZN4llvm15TypeSymbolTable18refineAbstractTypeEPKNS_11DerivedTypeEPKNS_4TypeE", "llvm::TypeSymbolTable::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN4llvm15TypeSymbolTable18typeBecameConcreteEPKNS_11DerivedTypeE", "llvm::TypeSymbolTable::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK4llvm15TypeSymbolTable4dumpEv", "llvm::TypeSymbolTable::dump() const"},
-    {"_ZNSt8_Rb_treeIKSsSt4pairIS0_PKN4llvm4TypeEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE16_M_insert_uniqueERKS6_", "std::_Rb_tree<std::string const, std::pair<std::string const, llvm::Type const*>, std::_Select1st<std::pair<std::string const, llvm::Type const*> >, std::less<std::string const>, std::allocator<std::pair<std::string const, llvm::Type const*> > >::_M_insert_unique(std::pair<std::string const, llvm::Type const*> const&)"},
-    {"_ZNSt8_Rb_treeIKSsSt4pairIS0_PKN4llvm4TypeEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE9_M_insertEPSt18_Rb_tree_node_baseSE_RKS6_", "std::_Rb_tree<std::string const, std::pair<std::string const, llvm::Type const*>, std::_Select1st<std::pair<std::string const, llvm::Type const*> >, std::less<std::string const>, std::allocator<std::pair<std::string const, llvm::Type const*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, llvm::Type const*> const&)"},
-    {"_ZNKSt8_Rb_treeIKSsSt4pairIS0_PKN4llvm4TypeEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE4findERS0_", "std::_Rb_tree<std::string const, std::pair<std::string const, llvm::Type const*>, std::_Select1st<std::pair<std::string const, llvm::Type const*> >, std::less<std::string const>, std::allocator<std::pair<std::string const, llvm::Type const*> > >::find(std::string const&) const"},
-    {"_ZNSt8_Rb_treeIKSsSt4pairIS0_PKN4llvm4TypeEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E", "std::_Rb_tree<std::string const, std::pair<std::string const, llvm::Type const*>, std::_Select1st<std::pair<std::string const, llvm::Type const*> >, std::less<std::string const>, std::allocator<std::pair<std::string const, llvm::Type const*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, llvm::Type const*> >*)"},
-    {"_ZN4llvm3Use4swapERS0_", "llvm::Use::swap(llvm::Use&)"},
-    {"_ZNK4llvm3Use14getImpliedUserEv", "llvm::Use::getImpliedUser() const"},
-    {"_ZN4llvm3Use8initTagsEPS0_S1_", "llvm::Use::initTags(llvm::Use*, llvm::Use*)"},
-    {"_ZN4llvm3Use3zapEPS0_PKS0_b", "llvm::Use::zap(llvm::Use*, llvm::Use const*, bool)"},
-    {"_ZNK4llvm3Use7getUserEv", "llvm::Use::getUser() const"},
-    {"_ZN4llvm4User17replaceUsesOfWithEPNS_5ValueES2_", "llvm::User::replaceUsesOfWith(llvm::Value*, llvm::Value*)"},
-    {"_ZNK4llvm4User16allocHungoffUsesEj", "llvm::User::allocHungoffUses(unsigned int) const"},
-    {"_ZN4llvm4UsernwEmj", "llvm::User::operator new(unsigned long, unsigned int)"},
-    {"_ZN4llvm4UserdlEPv", "llvm::User::operator delete(void*)"},
-    {"_ZN4llvm5ValueC1EPKNS_4TypeEj", "llvm::Value::Value(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm5ValueC2EPKNS_4TypeEj", "llvm::Value::Value(llvm::Type const*, unsigned int)"},
-    {"_ZN4llvm5ValueD0Ev", "llvm::Value::~Value()"},
-    {"_ZN4llvm5ValueD1Ev", "llvm::Value::~Value()"},
-    {"_ZN4llvm5ValueD2Ev", "llvm::Value::~Value()"},
-    {"_ZN4llvm15ValueHandleBase14ValueIsDeletedEPNS_5ValueE", "llvm::ValueHandleBase::ValueIsDeleted(llvm::Value*)"},
-    {"_ZNK4llvm5Value8hasNUsesEj", "llvm::Value::hasNUses(unsigned int) const"},
-    {"_ZNK4llvm5Value14hasNUsesOrMoreEj", "llvm::Value::hasNUsesOrMore(unsigned int) const"},
-    {"_ZNK4llvm5Value18isUsedInBasicBlockEPKNS_10BasicBlockE", "llvm::Value::isUsedInBasicBlock(llvm::BasicBlock const*) const"},
-    {"_ZNK4llvm5Value10getNumUsesEv", "llvm::Value::getNumUses() const"},
-    {"_ZNK4llvm5Value7getNameEv", "llvm::Value::getName() const"},
-    {"_ZNK4llvm5Value10getNameStrEv", "llvm::Value::getNameStr() const"},
-    {"_ZN4llvm5Value7setNameERKNS_5TwineE", "llvm::Value::setName(llvm::Twine const&)"},
-    {"_ZN4llvm5Value8takeNameEPS0_", "llvm::Value::takeName(llvm::Value*)"},
-    {"_ZN4llvm5Value27uncheckedReplaceAllUsesWithEPS0_", "llvm::Value::uncheckedReplaceAllUsesWith(llvm::Value*)"},
-    {"_ZN4llvm15ValueHandleBase12ValueIsRAUWdEPNS_5ValueES2_", "llvm::ValueHandleBase::ValueIsRAUWd(llvm::Value*, llvm::Value*)"},
-    {"_ZN4llvm5Value18replaceAllUsesWithEPS0_", "llvm::Value::replaceAllUsesWith(llvm::Value*)"},
-    {"_ZN4llvm5Value17stripPointerCastsEv", "llvm::Value::stripPointerCasts()"},
-    {"_ZNK4llvm5Value24isDereferenceablePointerEv", "llvm::Value::isDereferenceablePointer() const"},
-    {"_ZN4llvm5Value16DoPHITranslationEPKNS_10BasicBlockES3_", "llvm::Value::DoPHITranslation(llvm::BasicBlock const*, llvm::BasicBlock const*)"},
-    {"_ZNK4llvm5Value10getContextEv", "llvm::Value::getContext() const"},
-    {"_ZN4llvm15ValueHandleBase20AddToExistingUseListEPPS0_", "llvm::ValueHandleBase::AddToExistingUseList(llvm::ValueHandleBase**)"},
-    {"_ZN4llvm15ValueHandleBase25AddToExistingUseListAfterEPS0_", "llvm::ValueHandleBase::AddToExistingUseListAfter(llvm::ValueHandleBase*)"},
-    {"_ZN4llvm15ValueHandleBase12AddToUseListEv", "llvm::ValueHandleBase::AddToUseList()"},
-    {"_ZN4llvm15ValueHandleBase17RemoveFromUseListEv", "llvm::ValueHandleBase::RemoveFromUseList()"},
-    {"_ZN4llvm10CallbackVHD0Ev", "llvm::CallbackVH::~CallbackVH()"},
-    {"_ZN4llvm10CallbackVHD1Ev", "llvm::CallbackVH::~CallbackVH()"},
-    {"_ZN4llvm10CallbackVHD2Ev", "llvm::CallbackVH::~CallbackVH()"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_15ValueHandleBaseENS_12DenseMapInfoIS2_EENS5_IS4_EEE16InsertIntoBucketERKS2_RKS4_PSt4pairIS2_S4_E", "llvm::DenseMap<llvm::Value*, llvm::ValueHandleBase*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::ValueHandleBase*> >::InsertIntoBucket(llvm::Value* const&, llvm::ValueHandleBase* const&, std::pair<llvm::Value*, llvm::ValueHandleBase*>*)"},
-    {"_ZN4llvm8DenseMapIPNS_5ValueEPNS_15ValueHandleBaseENS_12DenseMapInfoIS2_EENS5_IS4_EEE4growEj", "llvm::DenseMap<llvm::Value*, llvm::ValueHandleBase*, llvm::DenseMapInfo<llvm::Value*>, llvm::DenseMapInfo<llvm::ValueHandleBase*> >::grow(unsigned int)"},
-    {"_ZN4llvm16ValueSymbolTableD1Ev", "llvm::ValueSymbolTable::~ValueSymbolTable()"},
-    {"_ZN4llvm16ValueSymbolTableD2Ev", "llvm::ValueSymbolTable::~ValueSymbolTable()"},
-    {"_ZN4llvm16ValueSymbolTable13reinsertValueEPNS_5ValueE", "llvm::ValueSymbolTable::reinsertValue(llvm::Value*)"},
-    {"_ZN4llvm16ValueSymbolTable15removeValueNameEPNS_14StringMapEntryIPNS_5ValueEEE", "llvm::ValueSymbolTable::removeValueName(llvm::StringMapEntry<llvm::Value*>*)"},
-    {"_ZN4llvm16ValueSymbolTable15createValueNameENS_9StringRefEPNS_5ValueE", "llvm::ValueSymbolTable::createValueName(llvm::StringRef, llvm::Value*)"},
-    {"_ZNK4llvm16ValueSymbolTable4dumpEv", "llvm::ValueSymbolTable::dump() const"},
-    {"_ZN4llvm9StringMapIPNS_5ValueENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::Value*>& llvm::StringMap<llvm::Value*, llvm::MallocAllocator>::GetOrCreateValue<llvm::Value*>(llvm::StringRef, llvm::Value*)"},
-    {"_ZN4llvm3EVT20getExtendedIntegerVTERNS_11LLVMContextEj", "llvm::EVT::getExtendedIntegerVT(llvm::LLVMContext&, unsigned int)"},
-    {"_ZN4llvm3EVT19getExtendedVectorVTERNS_11LLVMContextES0_j", "llvm::EVT::getExtendedVectorVT(llvm::LLVMContext&, llvm::EVT, unsigned int)"},
-    {"_ZNK4llvm3EVT13getTypeForEVTERNS_11LLVMContextE", "llvm::EVT::getTypeForEVT(llvm::LLVMContext&) const"},
-    {"_ZNK4llvm3EVT23isExtendedFloatingPointEv", "llvm::EVT::isExtendedFloatingPoint() const"},
-    {"_ZNK4llvm3EVT17isExtendedIntegerEv", "llvm::EVT::isExtendedInteger() const"},
-    {"_ZNK4llvm3EVT16isExtendedVectorEv", "llvm::EVT::isExtendedVector() const"},
-    {"_ZNK4llvm3EVT21isExtended64BitVectorEv", "llvm::EVT::isExtended64BitVector() const"},
-    {"_ZNK4llvm3EVT22isExtended128BitVectorEv", "llvm::EVT::isExtended128BitVector() const"},
-    {"_ZNK4llvm3EVT22isExtended256BitVectorEv", "llvm::EVT::isExtended256BitVector() const"},
-    {"_ZNK4llvm3EVT22isExtended512BitVectorEv", "llvm::EVT::isExtended512BitVector() const"},
-    {"_ZNK4llvm3EVT28getExtendedVectorElementTypeEv", "llvm::EVT::getExtendedVectorElementType() const"},
-    {"_ZN4llvm3EVT6getEVTEPKNS_4TypeEb", "llvm::EVT::getEVT(llvm::Type const*, bool)"},
-    {"_ZNK4llvm3EVT28getExtendedVectorNumElementsEv", "llvm::EVT::getExtendedVectorNumElements() const"},
-    {"_ZNK4llvm3EVT21getExtendedSizeInBitsEv", "llvm::EVT::getExtendedSizeInBits() const"},
-    {"_ZNK4llvm3EVT12getEVTStringEv", "llvm::EVT::getEVTString() const"},
-    {"_ZN4llvm25initializePreVerifierPassERNS_12PassRegistryE", "llvm::initializePreVerifierPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm22initializeVerifierPassERNS_12PassRegistryE", "llvm::initializeVerifierPass(llvm::PassRegistry&)"},
-    {"_ZN4llvm18createVerifierPassENS_21VerifierFailureActionE", "llvm::createVerifierPass(llvm::VerifierFailureAction)"},
-    {"_ZN4llvm14verifyFunctionERKNS_8FunctionENS_21VerifierFailureActionE", "llvm::verifyFunction(llvm::Function const&, llvm::VerifierFailureAction)"},
-    {"_ZN4llvm12verifyModuleERKNS_6ModuleENS_21VerifierFailureActionEPSs", "llvm::verifyModule(llvm::Module const&, llvm::VerifierFailureAction, std::string*)"},
-    {"_ZN12_GLOBAL__N_18VerifierD1Ev", "(anonymous namespace)::Verifier::~Verifier()"},
-    {"_ZN12_GLOBAL__N_18VerifierD0Ev", "(anonymous namespace)::Verifier::~Verifier()"},
-    {"_ZNK12_GLOBAL__N_18Verifier16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::Verifier::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_18Verifier16doInitializationERN4llvm6ModuleE", "(anonymous namespace)::Verifier::doInitialization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_18Verifier13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::Verifier::runOnFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_18Verifier14doFinalizationERN4llvm6ModuleE", "(anonymous namespace)::Verifier::doFinalization(llvm::Module&)"},
-    {"_ZN12_GLOBAL__N_18Verifier16visitGlobalValueERN4llvm11GlobalValueE", "(anonymous namespace)::Verifier::visitGlobalValue(llvm::GlobalValue&)"},
-    {"_ZN12_GLOBAL__N_18Verifier13visitFunctionERN4llvm8FunctionE", "(anonymous namespace)::Verifier::visitFunction(llvm::Function&)"},
-    {"_ZN12_GLOBAL__N_18Verifier13abortIfBrokenEv", "(anonymous namespace)::Verifier::abortIfBroken()"},
-    {"_ZN12_GLOBAL__N_18Verifier11CheckFailedERKN4llvm5TwineEPKNS1_5ValueES7_S7_S7_", "(anonymous namespace)::Verifier::CheckFailed(llvm::Twine const&, llvm::Value const*, llvm::Value const*, llvm::Value const*, llvm::Value const*)"},
-    {"_ZN12_GLOBAL__N_18Verifier11visitMDNodeERN4llvm6MDNodeEPNS1_8FunctionE", "(anonymous namespace)::Verifier::visitMDNode(llvm::MDNode&, llvm::Function*)"},
-    {"_ZN12_GLOBAL__N_18Verifier11CheckFailedERKN4llvm5TwineEPKNS1_5ValueEPKNS1_4TypeES7_", "(anonymous namespace)::Verifier::CheckFailed(llvm::Twine const&, llvm::Value const*, llvm::Type const*, llvm::Value const*)"},
-    {"_ZN12_GLOBAL__N_18Verifier19VerifyFunctionAttrsEPKN4llvm12FunctionTypeERKNS1_11AttrListPtrEPKNS1_5ValueE", "(anonymous namespace)::Verifier::VerifyFunctionAttrs(llvm::FunctionType const*, llvm::AttrListPtr const&, llvm::Value const*)"},
-    {"_ZN12_GLOBAL__N_18Verifier20VerifyParameterAttrsEjPKN4llvm4TypeEbPKNS1_5ValueE", "(anonymous namespace)::Verifier::VerifyParameterAttrs(unsigned int, llvm::Type const*, bool, llvm::Value const*)"},
-    {"_ZN4llvm11InstVisitorIN12_GLOBAL__N_18VerifierEvE5visitERNS_11InstructionE", "llvm::InstVisitor<(anonymous namespace)::Verifier, void>::visit(llvm::Instruction&)"},
-    {"_ZN12_GLOBAL__N_18Verifier16visitInstructionERN4llvm11InstructionE", "(anonymous namespace)::Verifier::visitInstruction(llvm::Instruction&)"},
-    {"_ZN12_GLOBAL__N_18Verifier10VerifyTypeEPKN4llvm4TypeE", "(anonymous namespace)::Verifier::VerifyType(llvm::Type const*)"},
-    {"_ZN12_GLOBAL__N_18Verifier11CheckFailedERKN4llvm5TwineEPKNS1_4TypeES7_S7_", "(anonymous namespace)::Verifier::CheckFailed(llvm::Twine const&, llvm::Type const*, llvm::Type const*, llvm::Type const*)"},
-    {"_ZN12_GLOBAL__N_18Verifier14VerifyCallSiteEN4llvm8CallSiteE", "(anonymous namespace)::Verifier::VerifyCallSite(llvm::CallSite)"},
-    {"_ZN12_GLOBAL__N_18Verifier26visitIntrinsicFunctionCallEN4llvm9Intrinsic2IDERNS1_8CallInstE", "(anonymous namespace)::Verifier::visitIntrinsicFunctionCall(llvm::Intrinsic::ID, llvm::CallInst&)"},
-    {"_ZN12_GLOBAL__N_18Verifier24VerifyIntrinsicPrototypeEN4llvm9Intrinsic2IDEPNS1_8FunctionEjjz", "(anonymous namespace)::Verifier::VerifyIntrinsicPrototype(llvm::Intrinsic::ID, llvm::Function*, unsigned int, unsigned int, ...)"},
-    {"_ZN12_GLOBAL__N_18Verifier16PerformTypeCheckEN4llvm9Intrinsic2IDEPNS1_8FunctionEPKNS1_4TypeEijRSs", "(anonymous namespace)::Verifier::PerformTypeCheck(llvm::Intrinsic::ID, llvm::Function*, llvm::Type const*, int, unsigned int, std::string&)"},
-    {"_Z14IntrinsicParamjj", "IntrinsicParam(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_18Verifier19visitBinaryOperatorERN4llvm14BinaryOperatorE", "(anonymous namespace)::Verifier::visitBinaryOperator(llvm::BinaryOperator&)"},
-    {"_ZN12_GLOBAL__N_17TypeSetD1Ev", "(anonymous namespace)::TypeSet::~TypeSet()"},
-    {"_ZN12_GLOBAL__N_17TypeSetD0Ev", "(anonymous namespace)::TypeSet::~TypeSet()"},
-    {"_ZN12_GLOBAL__N_17TypeSet18refineAbstractTypeEPKN4llvm11DerivedTypeEPKNS1_4TypeE", "(anonymous namespace)::TypeSet::refineAbstractType(llvm::DerivedType const*, llvm::Type const*)"},
-    {"_ZN12_GLOBAL__N_17TypeSet18typeBecameConcreteEPKN4llvm11DerivedTypeE", "(anonymous namespace)::TypeSet::typeBecameConcrete(llvm::DerivedType const*)"},
-    {"_ZNK12_GLOBAL__N_17TypeSet4dumpEv", "(anonymous namespace)::TypeSet::dump() const"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_18VerifierEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::Verifier>()"},
-    {"_ZN4llvm15callDefaultCtorIN12_GLOBAL__N_111PreVerifierEEEPNS_4PassEv", "llvm::Pass* llvm::callDefaultCtor<(anonymous namespace)::PreVerifier>()"},
-    {"_ZN12_GLOBAL__N_111PreVerifierD1Ev", "(anonymous namespace)::PreVerifier::~PreVerifier()"},
-    {"_ZN12_GLOBAL__N_111PreVerifierD0Ev", "(anonymous namespace)::PreVerifier::~PreVerifier()"},
-    {"_ZNK12_GLOBAL__N_111PreVerifier16getAnalysisUsageERN4llvm13AnalysisUsageE", "(anonymous namespace)::PreVerifier::getAnalysisUsage(llvm::AnalysisUsage&) const"},
-    {"_ZN12_GLOBAL__N_111PreVerifier13runOnFunctionERN4llvm8FunctionE", "(anonymous namespace)::PreVerifier::runOnFunction(llvm::Function&)"},
-    {"_ZSt16__introsort_loopIPSt4pairIPN4llvm10BasicBlockEPNS1_5ValueEElEvT_S8_T0_", "void std::__introsort_loop<std::pair<llvm::BasicBlock*, llvm::Value*>*, long>(std::pair<llvm::BasicBlock*, llvm::Value*>*, std::pair<llvm::BasicBlock*, llvm::Value*>*, long)"},
-    {"_ZSt22__final_insertion_sortIPSt4pairIPN4llvm10BasicBlockEPNS1_5ValueEEEvT_S8_", "void std::__final_insertion_sort<std::pair<llvm::BasicBlock*, llvm::Value*>*>(std::pair<llvm::BasicBlock*, llvm::Value*>*, std::pair<llvm::BasicBlock*, llvm::Value*>*)"},
-    {"_ZSt16__insertion_sortIPSt4pairIPN4llvm10BasicBlockEPNS1_5ValueEEEvT_S8_", "void std::__insertion_sort<std::pair<llvm::BasicBlock*, llvm::Value*>*>(std::pair<llvm::BasicBlock*, llvm::Value*>*, std::pair<llvm::BasicBlock*, llvm::Value*>*)"},
-    {"_ZSt13__heap_selectIPSt4pairIPN4llvm10BasicBlockEPNS1_5ValueEEEvT_S8_S8_", "void std::__heap_select<std::pair<llvm::BasicBlock*, llvm::Value*>*>(std::pair<llvm::BasicBlock*, llvm::Value*>*, std::pair<llvm::BasicBlock*, llvm::Value*>*, std::pair<llvm::BasicBlock*, llvm::Value*>*)"},
-    {"_ZSt13__adjust_heapIPSt4pairIPN4llvm10BasicBlockEPNS1_5ValueEElS6_EvT_T0_S9_T1_", "void std::__adjust_heap<std::pair<llvm::BasicBlock*, llvm::Value*>*, long, std::pair<llvm::BasicBlock*, llvm::Value*> >(std::pair<llvm::BasicBlock*, llvm::Value*>*, long, long, std::pair<llvm::BasicBlock*, llvm::Value*>)"},
-    {"_ZN4llvm15SmallVectorImplIPNS_10BasicBlockEE6appendINS_12PredIteratorIS1_NS_18value_use_iteratorINS_4UserEEEEEEEvT_SA_", "void llvm::SmallVectorImpl<llvm::BasicBlock*>::append<llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >(llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >, llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >)"},
-    {"_ZSt6__findIPPKN4llvm4TypeES3_ET_S5_S5_RKT0_St26random_access_iterator_tag", "llvm::Type const** std::__find<llvm::Type const**, llvm::Type const*>(llvm::Type const**, llvm::Type const**, llvm::Type const* const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm14ARMInstPrinter16printInstructionEPKNS_6MCInstERNS_11raw_ostreamE", "llvm::ARMInstPrinter::printInstruction(llvm::MCInst const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter12printOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter24printSBitModifierOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printSBitModifierOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printPredicateOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printPredicateOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter17printSORegOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printSORegOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter15printPImmediateEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printPImmediate(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printCPSOptionOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printCPSOptionOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter15printMemBOptionEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printMemBOption(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter25printAddrModeImm12OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printAddrModeImm12Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printAddrMode2OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printAddrMode2Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printLdStmModeOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printLdStmModeOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter18printSetendOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printSetendOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter16printThumbITMaskEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printThumbITMask(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter30printMandatoryPredicateOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printMandatoryPredicateOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter15printCImmediateEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printCImmediate(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter20printNoHashImmediateEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printNoHashImmediate(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter19printMSRMaskOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printMSRMaskOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter22printThumbS4ImmOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printThumbS4ImmOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter17printSOImmOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printSOImmOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter22printNEONModImmOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printNEONModImmOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printAddrMode5OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printAddrMode5Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter26printT2AddrModeImm8OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printT2AddrModeImm8Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter27printT2AddrModeSoRegOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printT2AddrModeSoRegOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter17printRegisterListEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printRegisterList(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter30printBitfieldInvMaskImmOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printAddrMode3OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printAddrMode3Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter16printT2SOOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printT2SOOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter31printThumbAddrModeImm5S1OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printThumbAddrModeImm5S1Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter27printThumbAddrModeRROperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printThumbAddrModeRROperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter31printThumbAddrModeImm5S2OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printThumbAddrModeImm5S2Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter31printThumbAddrModeImm5S4OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printThumbAddrModeImm5S4Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter27printThumbAddrModeSPOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printThumbAddrModeSPOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter28printT2AddrModeImm8s4OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printT2AddrModeImm8s4Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printVFPf64ImmOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printVFPf64ImmOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printVFPf32ImmOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printVFPf32ImmOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter27printAddrMode2OffsetOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printAddrMode2OffsetOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter27printAddrMode3OffsetOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printAddrMode3OffsetOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter32printT2AddrModeImm8OffsetOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printT2AddrModeImm8OffsetOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter20printShiftImmOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printShiftImmOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter21printAddrMode6OperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printAddrMode6Operand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter27printAddrMode6OffsetOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printAddrMode6OffsetOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter34printT2AddrModeImm8s4OffsetOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printT2AddrModeImm8s4OffsetOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter15getRegisterNameEj", "llvm::ARMInstPrinter::getRegisterName(unsigned int)"},
-    {"_ZN4llvm14ARMInstPrinter18getInstructionNameEj", "llvm::ARMInstPrinter::getInstructionName(unsigned int)"},
-    {"_ZNK4llvm14ARMInstPrinter13getOpcodeNameEj", "llvm::ARMInstPrinter::getOpcodeName(unsigned int) const"},
-    {"_ZN4llvm14ARMInstPrinter9printInstEPKNS_6MCInstERNS_11raw_ostreamE", "llvm::ARMInstPrinter::printInst(llvm::MCInst const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter19printNegZeroOperandEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printNegZeroOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter12printPCLabelEPKNS_6MCInstEjRNS_11raw_ostreamE", "llvm::ARMInstPrinter::printPCLabel(llvm::MCInst const*, unsigned int, llvm::raw_ostream&)"},
-    {"_ZN4llvm14ARMInstPrinter30printThumbAddrModeImm5SOperandEPKNS_6MCInstEjRNS_11raw_ostreamEj", "llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(llvm::MCInst const*, unsigned int, llvm::raw_ostream&, unsigned int)"},
-    {"_ZN4llvm14ARMInstPrinterD1Ev", "llvm::ARMInstPrinter::~ARMInstPrinter()"},
-    {"_ZN4llvm14ARMInstPrinterD0Ev", "llvm::ARMInstPrinter::~ARMInstPrinter()"},
-    {"_ZN4llvm14RegisterTargetILNS_6Triple8ArchTypeE14ELb1EE21getTripleMatchQualityERKSs", "llvm::RegisterTarget<(llvm::Triple::ArchType)14, true>::getTripleMatchQuality(std::string const&)"},
-    {"_ZN4llvm14RegisterTargetILNS_6Triple8ArchTypeE2ELb1EE21getTripleMatchQualityERKSs", "llvm::RegisterTarget<(llvm::Triple::ArchType)2, true>::getTripleMatchQuality(std::string const&)"},
-    {"_ZN4llvm21createELFObjectWriterEPNS_23MCELFObjectTargetWriterERNS_11raw_ostreamEb", "llvm::createELFObjectWriter(llvm::MCELFObjectTargetWriter*, llvm::raw_ostream&, bool)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriterC2EPN4llvm23MCELFObjectTargetWriterERNS1_11raw_ostreamEb", "(anonymous namespace)::ELFObjectWriter::ELFObjectWriter(llvm::MCELFObjectTargetWriter*, llvm::raw_ostream&, bool)"},
-    {"_ZN12_GLOBAL__N_118X86ELFObjectWriterD1Ev", "(anonymous namespace)::X86ELFObjectWriter::~X86ELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_118X86ELFObjectWriterD0Ev", "(anonymous namespace)::X86ELFObjectWriter::~X86ELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter24ExecutePostLayoutBindingERN4llvm11MCAssemblerERKNS1_11MCAsmLayoutE", "(anonymous namespace)::ELFObjectWriter::ExecutePostLayoutBinding(llvm::MCAssembler&, llvm::MCAsmLayout const&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter16RecordRelocationERKN4llvm11MCAssemblerERKNS1_11MCAsmLayoutEPKNS1_10MCFragmentERKNS1_7MCFixupENS1_7MCValueERy", "(anonymous namespace)::ELFObjectWriter::RecordRelocation(llvm::MCAssembler const&, llvm::MCAsmLayout const&, llvm::MCFragment const*, llvm::MCFixup const&, llvm::MCValue, unsigned long long&)"},
-    {"_ZNK12_GLOBAL__N_115ELFObjectWriter38IsSymbolRefDifferenceFullyResolvedImplERKN4llvm11MCAssemblerERKNS1_12MCSymbolDataERKNS1_10MCFragmentEbb", "(anonymous namespace)::ELFObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl(llvm::MCAssembler const&, llvm::MCSymbolData const&, llvm::MCFragment const&, bool, bool) const"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter11WriteObjectERN4llvm11MCAssemblerERKNS1_11MCAsmLayoutE", "(anonymous namespace)::ELFObjectWriter::WriteObject(llvm::MCAssembler&, llvm::MCAsmLayout const&)"},
-    {"_ZNK12_GLOBAL__N_115ELFObjectWriter14ExplicitRelSymERKN4llvm11MCAssemblerERKNS1_7MCValueERKNS1_10MCFragmentEb", "(anonymous namespace)::ELFObjectWriter::ExplicitRelSym(llvm::MCAssembler const&, llvm::MCValue const&, llvm::MCFragment const&, bool) const"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter11WriteHeaderEyj", "(anonymous namespace)::ELFObjectWriter::WriteHeader(unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter11WriteEFlagsEv", "(anonymous namespace)::ELFObjectWriter::WriteEFlags()"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter16WriteSymbolEntryEPN4llvm14MCDataFragmentES3_yhyyhjb", "(anonymous namespace)::ELFObjectWriter::WriteSymbolEntry(llvm::MCDataFragment*, llvm::MCDataFragment*, unsigned long long, unsigned char, unsigned long long, unsigned long long, unsigned char, unsigned int, bool)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter11WriteSymbolEPN4llvm14MCDataFragmentES3_RNS0_13ELFSymbolDataERKNS1_11MCAsmLayoutE", "(anonymous namespace)::ELFObjectWriter::WriteSymbol(llvm::MCDataFragment*, llvm::MCDataFragment*, (anonymous namespace)::ELFObjectWriter::ELFSymbolData&, llvm::MCAsmLayout const&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter16WriteSymbolTableEPN4llvm14MCDataFragmentES3_RKNS1_11MCAssemblerERKNS1_11MCAsmLayoutERKNS1_8DenseMapIPKNS1_12MCSectionELFEjNS1_12DenseMapInfoISD_EENSE_IjEEEE", "(anonymous namespace)::ELFObjectWriter::WriteSymbolTable(llvm::MCDataFragment*, llvm::MCDataFragment*, llvm::MCAssembler const&, llvm::MCAsmLayout const&, llvm::DenseMap<llvm::MCSectionELF const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<unsigned int> > const&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter27getSymbolIndexInSymbolTableERKN4llvm11MCAssemblerEPKNS1_8MCSymbolE", "(anonymous namespace)::ELFObjectWriter::getSymbolIndexInSymbolTable(llvm::MCAssembler const&, llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter18ComputeSymbolTableERN4llvm11MCAssemblerERKNS1_8DenseMapIPKNS1_12MCSectionELFEjNS1_12DenseMapInfoIS7_EENS8_IjEEEENS4_IPKNS1_8MCSymbolES7_NS8_ISG_EES9_EE", "(anonymous namespace)::ELFObjectWriter::ComputeSymbolTable(llvm::MCAssembler&, llvm::DenseMap<llvm::MCSectionELF const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<unsigned int> > const&, llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSectionELF const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSectionELF const*> >)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter15ComputeIndexMapERN4llvm11MCAssemblerERNS1_8DenseMapIPKNS1_12MCSectionELFEjNS1_12DenseMapInfoIS7_EENS8_IjEEEE", "(anonymous namespace)::ELFObjectWriter::ComputeIndexMap(llvm::MCAssembler&, llvm::DenseMap<llvm::MCSectionELF const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<unsigned int> >&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter15WriteRelocationERN4llvm11MCAssemblerERNS1_11MCAsmLayoutERKNS1_13MCSectionDataE", "(anonymous namespace)::ELFObjectWriter::WriteRelocation(llvm::MCAssembler&, llvm::MCAsmLayout&, llvm::MCSectionData const&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter16WriteRelocationsERN4llvm11MCAssemblerERNS1_11MCAsmLayoutE", "(anonymous namespace)::ELFObjectWriter::WriteRelocations(llvm::MCAssembler&, llvm::MCAsmLayout&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter22CreateMetadataSectionsERN4llvm11MCAssemblerERNS1_11MCAsmLayoutERKNS1_8DenseMapIPKNS1_12MCSectionELFEjNS1_12DenseMapInfoIS9_EENSA_IjEEEE", "(anonymous namespace)::ELFObjectWriter::CreateMetadataSections(llvm::MCAssembler&, llvm::MCAsmLayout&, llvm::DenseMap<llvm::MCSectionELF const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<unsigned int> > const&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter21CreateIndexedSectionsERN4llvm11MCAssemblerERNS1_11MCAsmLayoutERNS1_8DenseMapIPKNS1_12MCSectionELFEPKNS1_8MCSymbolENS1_12DenseMapInfoIS9_EENSD_ISC_EEEERNS6_ISC_S9_SF_SE_EE", "(anonymous namespace)::ELFObjectWriter::CreateIndexedSections(llvm::MCAssembler&, llvm::MCAsmLayout&, llvm::DenseMap<llvm::MCSectionELF const*, llvm::MCSymbol const*, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<llvm::MCSymbol const*> >&, llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSectionELF const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSectionELF const*> >&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter16WriteSecHdrEntryEjjyyyyjjyy", "(anonymous namespace)::ELFObjectWriter::WriteSecHdrEntry(unsigned int, unsigned int, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned int, unsigned int, unsigned long long, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter24WriteRelocationsFragmentERKN4llvm11MCAssemblerEPNS1_14MCDataFragmentEPKNS1_13MCSectionDataE", "(anonymous namespace)::ELFObjectWriter::WriteRelocationsFragment(llvm::MCAssembler const&, llvm::MCDataFragment*, llvm::MCSectionData const*)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter12WriteSectionERN4llvm11MCAssemblerERKNS1_8DenseMapIPKNS1_12MCSectionELFEjNS1_12DenseMapInfoIS7_EENS8_IjEEEEjyyyRS6_", "(anonymous namespace)::ELFObjectWriter::WriteSection(llvm::MCAssembler&, llvm::DenseMap<llvm::MCSectionELF const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<unsigned int> > const&, unsigned int, unsigned long long, unsigned long long, unsigned long long, llvm::MCSectionELF const&)"},
-    {"_ZN12_GLOBAL__N_118X86ELFObjectWriter12GetRelocTypeERKN4llvm7MCValueERKNS1_7MCFixupEbbx", "(anonymous namespace)::X86ELFObjectWriter::GetRelocType(llvm::MCValue const&, llvm::MCFixup const&, bool, bool, long long)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataESt6vectorIN12_GLOBAL__N_115ELFObjectWriter18ELFRelocationEntryESaIS7_EENS_12DenseMapInfoIS3_EENSA_IS9_EEEixERKS3_", "llvm::DenseMap<llvm::MCSectionData const*, std::vector<(anonymous namespace)::ELFObjectWriter::ELFRelocationEntry, std::allocator<(anonymous namespace)::ELFObjectWriter::ELFRelocationEntry> >, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<std::vector<(anonymous namespace)::ELFObjectWriter::ELFRelocationEntry, std::allocator<(anonymous namespace)::ELFObjectWriter::ELFRelocationEntry> > > >::operator[](llvm::MCSectionData const* const&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriter8String64ERN4llvm14MCDataFragmentEy", "(anonymous namespace)::ELFObjectWriter::String64(llvm::MCDataFragment&, unsigned long long)"},
-    {"_ZN4llvm25array_pod_sort_comparatorIN12_GLOBAL__N_115ELFObjectWriter18ELFRelocationEntryEEEiPKvS5_", "int llvm::array_pod_sort_comparator<(anonymous namespace)::ELFObjectWriter::ELFRelocationEntry>(void const*, void const*)"},
-    {"_ZNSt6vectorIN12_GLOBAL__N_115ELFObjectWriter13ELFSymbolDataESaIS2_EE9push_backERKS2_", "std::vector<(anonymous namespace)::ELFObjectWriter::ELFSymbolData, std::allocator<(anonymous namespace)::ELFObjectWriter::ELFSymbolData> >::push_back((anonymous namespace)::ELFObjectWriter::ELFSymbolData const&)"},
-    {"_ZN4llvm25array_pod_sort_comparatorIN12_GLOBAL__N_115ELFObjectWriter13ELFSymbolDataEEEiPKvS5_", "int llvm::array_pod_sort_comparator<(anonymous namespace)::ELFObjectWriter::ELFSymbolData>(void const*, void const*)"},
-    {"_Z15DataSectionSizeRKN4llvm13MCSectionDataE", "DataSectionSize(llvm::MCSectionData const&)"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriterD2Ev", "(anonymous namespace)::ELFObjectWriter::~ELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriterD1Ev", "(anonymous namespace)::ELFObjectWriter::~ELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_115ELFObjectWriterD0Ev", "(anonymous namespace)::ELFObjectWriter::~ELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_121MBlazeELFObjectWriterD1Ev", "(anonymous namespace)::MBlazeELFObjectWriter::~MBlazeELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_121MBlazeELFObjectWriterD0Ev", "(anonymous namespace)::MBlazeELFObjectWriter::~MBlazeELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_121MBlazeELFObjectWriter12GetRelocTypeERKN4llvm7MCValueERKNS1_7MCFixupEbbx", "(anonymous namespace)::MBlazeELFObjectWriter::GetRelocType(llvm::MCValue const&, llvm::MCFixup const&, bool, bool, long long)"},
-    {"_ZN12_GLOBAL__N_118ARMELFObjectWriterD1Ev", "(anonymous namespace)::ARMELFObjectWriter::~ARMELFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_118ARMELFObjectWriterD0Ev", "(anonymous namespace)::ARMELFObjectWriter::~ARMELFObjectWriter()"},
-    {"_ZNK12_GLOBAL__N_118ARMELFObjectWriter14ExplicitRelSymERKN4llvm11MCAssemblerERKNS1_7MCValueERKNS1_10MCFragmentEb", "(anonymous namespace)::ARMELFObjectWriter::ExplicitRelSym(llvm::MCAssembler const&, llvm::MCValue const&, llvm::MCFragment const&, bool) const"},
-    {"_ZN12_GLOBAL__N_118ARMELFObjectWriter11WriteEFlagsEv", "(anonymous namespace)::ARMELFObjectWriter::WriteEFlags()"},
-    {"_ZN12_GLOBAL__N_118ARMELFObjectWriter12GetRelocTypeERKN4llvm7MCValueERKNS1_7MCFixupEbbx", "(anonymous namespace)::ARMELFObjectWriter::GetRelocType(llvm::MCValue const&, llvm::MCFixup const&, bool, bool, long long)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEyNS_12DenseMapInfoIS3_EENS4_IyEEE16InsertIntoBucketERKS3_RKyPSt4pairIS3_yE", "llvm::DenseMap<llvm::MCSection const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(llvm::MCSection const* const&, unsigned long long const&, std::pair<llvm::MCSection const*, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEyNS_12DenseMapInfoIS3_EENS4_IyEEE4growEj", "llvm::DenseMap<llvm::MCSection const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MCSectionELFEPKNS_8MCSymbolENS_12DenseMapInfoIS3_EENS7_IS6_EEE16InsertIntoBucketERKS3_RKS6_PSt4pairIS3_S6_E", "llvm::DenseMap<llvm::MCSectionELF const*, llvm::MCSymbol const*, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<llvm::MCSymbol const*> >::InsertIntoBucket(llvm::MCSectionELF const* const&, llvm::MCSymbol const* const&, std::pair<llvm::MCSectionELF const*, llvm::MCSymbol const*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MCSectionELFEPKNS_8MCSymbolENS_12DenseMapInfoIS3_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::MCSectionELF const*, llvm::MCSymbol const*, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<llvm::MCSymbol const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolEPKNS_12MCSectionELFENS_12DenseMapInfoIS3_EENS7_IS6_EEE16InsertIntoBucketERKS3_RKS6_PSt4pairIS3_S6_E", "llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSectionELF const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSectionELF const*> >::InsertIntoBucket(llvm::MCSymbol const* const&, llvm::MCSectionELF const* const&, std::pair<llvm::MCSymbol const*, llvm::MCSectionELF const*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolEPKNS_12MCSectionELFENS_12DenseMapInfoIS3_EENS7_IS6_EEE4growEj", "llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSectionELF const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSectionELF const*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MCSectionELFEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::MCSectionELF const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::MCSectionELF const* const&, unsigned int const&, std::pair<llvm::MCSectionELF const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_12MCSectionELFEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::MCSectionELF const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionELF const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIPKN4llvm12MCSectionELFESaIS3_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS3_S5_EEmRKS3_", "std::vector<llvm::MCSectionELF const*, std::allocator<llvm::MCSectionELF const*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::MCSectionELF const**, std::vector<llvm::MCSectionELF const*, std::allocator<llvm::MCSectionELF const*> > >, unsigned long, llvm::MCSectionELF const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolEPKNS_12MCSectionELFENS_12DenseMapInfoIS3_EENS7_IS6_EEE8CopyFromERKSA_", "llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSectionELF const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSectionELF const*> >::CopyFrom(llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSectionELF const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSectionELF const*> > const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolES3_NS_12DenseMapInfoIS3_EES5_E6insertERKSt4pairIS3_S3_E", "llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSymbol const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSymbol const*> >::insert(std::pair<llvm::MCSymbol const*, llvm::MCSymbol const*> const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolES3_NS_12DenseMapInfoIS3_EES5_E16InsertIntoBucketERKS3_S8_PSt4pairIS3_S3_E", "llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSymbol const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSymbol const*> >::InsertIntoBucket(llvm::MCSymbol const* const&, llvm::MCSymbol const* const&, std::pair<llvm::MCSymbol const*, llvm::MCSymbol const*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolES3_NS_12DenseMapInfoIS3_EES5_E4growEj", "llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSymbol const*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSymbol const*> >::grow(unsigned int)"},
-    {"_ZN4llvm9MCAsmInfoC1Ev", "llvm::MCAsmInfo::MCAsmInfo()"},
-    {"_ZN4llvm9MCAsmInfoC2Ev", "llvm::MCAsmInfo::MCAsmInfo()"},
-    {"_ZN4llvm9MCAsmInfoD0Ev", "llvm::MCAsmInfo::~MCAsmInfo()"},
-    {"_ZN4llvm9MCAsmInfoD1Ev", "llvm::MCAsmInfo::~MCAsmInfo()"},
-    {"_ZN4llvm9MCAsmInfoD2Ev", "llvm::MCAsmInfo::~MCAsmInfo()"},
-    {"_ZN4llvm9MCAsmInfo14getULEB128SizeEj", "llvm::MCAsmInfo::getULEB128Size(unsigned int)"},
-    {"_ZN4llvm9MCAsmInfo14getSLEB128SizeEi", "llvm::MCAsmInfo::getSLEB128Size(int)"},
-    {"_ZN4llvm13MCAsmInfoCOFFC1Ev", "llvm::MCAsmInfoCOFF::MCAsmInfoCOFF()"},
-    {"_ZN4llvm13MCAsmInfoCOFFC2Ev", "llvm::MCAsmInfoCOFF::MCAsmInfoCOFF()"},
-    {"_ZN4llvm15MCAsmInfoDarwinC1Ev", "llvm::MCAsmInfoDarwin::MCAsmInfoDarwin()"},
-    {"_ZN4llvm15MCAsmInfoDarwinC2Ev", "llvm::MCAsmInfoDarwin::MCAsmInfoDarwin()"},
-    {"_ZN4llvm17createAsmStreamerERNS_9MCContextERNS_21formatted_raw_ostreamEbbPNS_13MCInstPrinterEPNS_13MCCodeEmitterEPNS_16TargetAsmBackendEb", "llvm::createAsmStreamer(llvm::MCContext&, llvm::formatted_raw_ostream&, bool, bool, llvm::MCInstPrinter*, llvm::MCCodeEmitter*, llvm::TargetAsmBackend*, bool)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamerD1Ev", "(anonymous namespace)::MCAsmStreamer::~MCAsmStreamer()"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamerD0Ev", "(anonymous namespace)::MCAsmStreamer::~MCAsmStreamer()"},
-    {"_ZNK12_GLOBAL__N_113MCAsmStreamer12isVerboseAsmEv", "(anonymous namespace)::MCAsmStreamer::isVerboseAsm() const"},
-    {"_ZNK12_GLOBAL__N_113MCAsmStreamer17hasRawTextSupportEv", "(anonymous namespace)::MCAsmStreamer::hasRawTextSupport() const"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer10AddCommentERKN4llvm5TwineE", "(anonymous namespace)::MCAsmStreamer::AddComment(llvm::Twine const&)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer12GetCommentOSEv", "(anonymous namespace)::MCAsmStreamer::GetCommentOS()"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer12AddBlankLineEv", "(anonymous namespace)::MCAsmStreamer::AddBlankLine()"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer13SwitchSectionEPKN4llvm9MCSectionE", "(anonymous namespace)::MCAsmStreamer::SwitchSection(llvm::MCSection const*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer12InitSectionsEv", "(anonymous namespace)::MCAsmStreamer::InitSections()"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer9EmitLabelEPN4llvm8MCSymbolE", "(anonymous namespace)::MCAsmStreamer::EmitLabel(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer17EmitAssemblerFlagEN4llvm15MCAssemblerFlagE", "(anonymous namespace)::MCAsmStreamer::EmitAssemblerFlag(llvm::MCAssemblerFlag)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer13EmitThumbFuncEPN4llvm8MCSymbolE", "(anonymous namespace)::MCAsmStreamer::EmitThumbFunc(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer14EmitAssignmentEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCAsmStreamer::EmitAssignment(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer17EmitWeakReferenceEPN4llvm8MCSymbolEPKS2_", "(anonymous namespace)::MCAsmStreamer::EmitWeakReference(llvm::MCSymbol*, llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer19EmitSymbolAttributeEPN4llvm8MCSymbolENS1_12MCSymbolAttrE", "(anonymous namespace)::MCAsmStreamer::EmitSymbolAttribute(llvm::MCSymbol*, llvm::MCSymbolAttr)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer14EmitSymbolDescEPN4llvm8MCSymbolEj", "(anonymous namespace)::MCAsmStreamer::EmitSymbolDesc(llvm::MCSymbol*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer18BeginCOFFSymbolDefEPKN4llvm8MCSymbolE", "(anonymous namespace)::MCAsmStreamer::BeginCOFFSymbolDef(llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer26EmitCOFFSymbolStorageClassEi", "(anonymous namespace)::MCAsmStreamer::EmitCOFFSymbolStorageClass(int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer18EmitCOFFSymbolTypeEi", "(anonymous namespace)::MCAsmStreamer::EmitCOFFSymbolType(int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer16EndCOFFSymbolDefEv", "(anonymous namespace)::MCAsmStreamer::EndCOFFSymbolDef()"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer11EmitELFSizeEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCAsmStreamer::EmitELFSize(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer16EmitCommonSymbolEPN4llvm8MCSymbolEyj", "(anonymous namespace)::MCAsmStreamer::EmitCommonSymbol(llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer21EmitLocalCommonSymbolEPN4llvm8MCSymbolEy", "(anonymous namespace)::MCAsmStreamer::EmitLocalCommonSymbol(llvm::MCSymbol*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer12EmitZerofillEPKN4llvm9MCSectionEPNS1_8MCSymbolEjj", "(anonymous namespace)::MCAsmStreamer::EmitZerofill(llvm::MCSection const*, llvm::MCSymbol*, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer14EmitTBSSSymbolEPKN4llvm9MCSectionEPNS1_8MCSymbolEyj", "(anonymous namespace)::MCAsmStreamer::EmitTBSSSymbol(llvm::MCSection const*, llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer9EmitBytesEN4llvm9StringRefEj", "(anonymous namespace)::MCAsmStreamer::EmitBytes(llvm::StringRef, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer13EmitValueImplEPKN4llvm6MCExprEjbj", "(anonymous namespace)::MCAsmStreamer::EmitValueImpl(llvm::MCExpr const*, unsigned int, bool, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer12EmitIntValueEyjj", "(anonymous namespace)::MCAsmStreamer::EmitIntValue(unsigned long long, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer16EmitULEB128ValueEPKN4llvm6MCExprEj", "(anonymous namespace)::MCAsmStreamer::EmitULEB128Value(llvm::MCExpr const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer16EmitSLEB128ValueEPKN4llvm6MCExprEj", "(anonymous namespace)::MCAsmStreamer::EmitSLEB128Value(llvm::MCExpr const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer16EmitGPRel32ValueEPKN4llvm6MCExprE", "(anonymous namespace)::MCAsmStreamer::EmitGPRel32Value(llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer8EmitFillEyhj", "(anonymous namespace)::MCAsmStreamer::EmitFill(unsigned long long, unsigned char, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer20EmitValueToAlignmentEjxjj", "(anonymous namespace)::MCAsmStreamer::EmitValueToAlignment(unsigned int, long long, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer17EmitCodeAlignmentEjj", "(anonymous namespace)::MCAsmStreamer::EmitCodeAlignment(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer17EmitValueToOffsetEPKN4llvm6MCExprEh", "(anonymous namespace)::MCAsmStreamer::EmitValueToOffset(llvm::MCExpr const*, unsigned char)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer17EmitFileDirectiveEN4llvm9StringRefE", "(anonymous namespace)::MCAsmStreamer::EmitFileDirective(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer22EmitDwarfFileDirectiveEjN4llvm9StringRefE", "(anonymous namespace)::MCAsmStreamer::EmitDwarfFileDirective(unsigned int, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer21EmitDwarfLocDirectiveEjjjjjj", "(anonymous namespace)::MCAsmStreamer::EmitDwarfLocDirective(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer24EmitDwarfAdvanceLineAddrExPKN4llvm8MCSymbolES4_", "(anonymous namespace)::MCAsmStreamer::EmitDwarfAdvanceLineAddr(long long, llvm::MCSymbol const*, llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer16EmitCFIStartProcEv", "(anonymous namespace)::MCAsmStreamer::EmitCFIStartProc()"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer14EmitCFIEndProcEv", "(anonymous namespace)::MCAsmStreamer::EmitCFIEndProc()"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer19EmitCFIDefCfaOffsetEx", "(anonymous namespace)::MCAsmStreamer::EmitCFIDefCfaOffset(long long)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer21EmitCFIDefCfaRegisterEx", "(anonymous namespace)::MCAsmStreamer::EmitCFIDefCfaRegister(long long)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer13EmitCFIOffsetExx", "(anonymous namespace)::MCAsmStreamer::EmitCFIOffset(long long, long long)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer18EmitCFIPersonalityEPKN4llvm8MCSymbolEj", "(anonymous namespace)::MCAsmStreamer::EmitCFIPersonality(llvm::MCSymbol const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer11EmitCFILsdaEPKN4llvm8MCSymbolEj", "(anonymous namespace)::MCAsmStreamer::EmitCFILsda(llvm::MCSymbol const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer15EmitInstructionERKN4llvm6MCInstE", "(anonymous namespace)::MCAsmStreamer::EmitInstruction(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer11EmitRawTextEN4llvm9StringRefE", "(anonymous namespace)::MCAsmStreamer::EmitRawText(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer6FinishEv", "(anonymous namespace)::MCAsmStreamer::Finish()"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer18AddEncodingCommentERKN4llvm6MCInstE", "(anonymous namespace)::MCAsmStreamer::AddEncodingComment(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_113MCAsmStreamer7EmitEOLEv", "(anonymous namespace)::MCAsmStreamer::EmitEOL()"},
-    {"_Z17PrintQuotedStringN4llvm9StringRefERNS_11raw_ostreamE", "PrintQuotedString(llvm::StringRef, llvm::raw_ostream&)"},
-    {"_ZN4llvm14format_object1IhED1Ev", "llvm::format_object1<unsigned char>::~format_object1()"},
-    {"_ZNK4llvm14format_object1IhE7snprintEPcj", "llvm::format_object1<unsigned char>::snprint(char*, unsigned int) const"},
-    {"_ZN4llvm14format_object1IhED0Ev", "llvm::format_object1<unsigned char>::~format_object1()"},
-    {"_ZN4llvm11MCAsmLayoutC1ERNS_11MCAssemblerE", "llvm::MCAsmLayout::MCAsmLayout(llvm::MCAssembler&)"},
-    {"_ZN4llvm11MCAsmLayoutC2ERNS_11MCAssemblerE", "llvm::MCAsmLayout::MCAsmLayout(llvm::MCAssembler&)"},
-    {"_ZNK4llvm11MCAsmLayout18isFragmentUpToDateEPKNS_10MCFragmentE", "llvm::MCAsmLayout::isFragmentUpToDate(llvm::MCFragment const*) const"},
-    {"_ZN4llvm11MCAsmLayout10InvalidateEPNS_10MCFragmentE", "llvm::MCAsmLayout::Invalidate(llvm::MCFragment*)"},
-    {"_ZNK4llvm11MCAsmLayout11EnsureValidEPKNS_10MCFragmentE", "llvm::MCAsmLayout::EnsureValid(llvm::MCFragment const*) const"},
-    {"_ZN4llvm11MCAsmLayout14LayoutFragmentEPNS_10MCFragmentE", "llvm::MCAsmLayout::LayoutFragment(llvm::MCFragment*)"},
-    {"_ZNK4llvm11MCAsmLayout17getFragmentOffsetEPKNS_10MCFragmentE", "llvm::MCAsmLayout::getFragmentOffset(llvm::MCFragment const*) const"},
-    {"_ZNK4llvm11MCAsmLayout15getSymbolOffsetEPKNS_12MCSymbolDataE", "llvm::MCAsmLayout::getSymbolOffset(llvm::MCSymbolData const*) const"},
-    {"_ZNK4llvm11MCAsmLayout21getSectionAddressSizeEPKNS_13MCSectionDataE", "llvm::MCAsmLayout::getSectionAddressSize(llvm::MCSectionData const*) const"},
-    {"_ZNK4llvm11MCAssembler19ComputeFragmentSizeERKNS_11MCAsmLayoutERKNS_10MCFragmentE", "llvm::MCAssembler::ComputeFragmentSize(llvm::MCAsmLayout const&, llvm::MCFragment const&) const"},
-    {"_ZNK4llvm11MCAsmLayout18getSectionFileSizeEPKNS_13MCSectionDataE", "llvm::MCAsmLayout::getSectionFileSize(llvm::MCSectionData const*) const"},
-    {"_ZN4llvm10MCFragmentC1Ev", "llvm::MCFragment::MCFragment()"},
-    {"_ZN4llvm10MCFragmentC2Ev", "llvm::MCFragment::MCFragment()"},
-    {"_ZN4llvm10MCFragmentD0Ev", "llvm::MCFragment::~MCFragment()"},
-    {"_ZN4llvm10MCFragmentD1Ev", "llvm::MCFragment::~MCFragment()"},
-    {"_ZN4llvm10MCFragmentD2Ev", "llvm::MCFragment::~MCFragment()"},
-    {"_ZN4llvm10MCFragmentC1ENS0_12FragmentTypeEPNS_13MCSectionDataE", "llvm::MCFragment::MCFragment(llvm::MCFragment::FragmentType, llvm::MCSectionData*)"},
-    {"_ZN4llvm10MCFragmentC2ENS0_12FragmentTypeEPNS_13MCSectionDataE", "llvm::MCFragment::MCFragment(llvm::MCFragment::FragmentType, llvm::MCSectionData*)"},
-    {"_ZN4llvm13MCSectionDataC1Ev", "llvm::MCSectionData::MCSectionData()"},
-    {"_ZN4llvm13MCSectionDataC2Ev", "llvm::MCSectionData::MCSectionData()"},
-    {"_ZN4llvm13MCSectionDataC1ERKNS_9MCSectionEPNS_11MCAssemblerE", "llvm::MCSectionData::MCSectionData(llvm::MCSection const&, llvm::MCAssembler*)"},
-    {"_ZN4llvm13MCSectionDataC2ERKNS_9MCSectionEPNS_11MCAssemblerE", "llvm::MCSectionData::MCSectionData(llvm::MCSection const&, llvm::MCAssembler*)"},
-    {"_ZN4llvm12MCSymbolDataC1Ev", "llvm::MCSymbolData::MCSymbolData()"},
-    {"_ZN4llvm12MCSymbolDataC2Ev", "llvm::MCSymbolData::MCSymbolData()"},
-    {"_ZN4llvm12MCSymbolDataC1ERKNS_8MCSymbolEPNS_10MCFragmentEyPNS_11MCAssemblerE", "llvm::MCSymbolData::MCSymbolData(llvm::MCSymbol const&, llvm::MCFragment*, unsigned long long, llvm::MCAssembler*)"},
-    {"_ZN4llvm12MCSymbolDataC2ERKNS_8MCSymbolEPNS_10MCFragmentEyPNS_11MCAssemblerE", "llvm::MCSymbolData::MCSymbolData(llvm::MCSymbol const&, llvm::MCFragment*, unsigned long long, llvm::MCAssembler*)"},
-    {"_ZN4llvm11MCAssemblerC1ERNS_9MCContextERNS_16TargetAsmBackendERNS_13MCCodeEmitterERNS_14MCObjectWriterERNS_11raw_ostreamE", "llvm::MCAssembler::MCAssembler(llvm::MCContext&, llvm::TargetAsmBackend&, llvm::MCCodeEmitter&, llvm::MCObjectWriter&, llvm::raw_ostream&)"},
-    {"_ZN4llvm11MCAssemblerC2ERNS_9MCContextERNS_16TargetAsmBackendERNS_13MCCodeEmitterERNS_14MCObjectWriterERNS_11raw_ostreamE", "llvm::MCAssembler::MCAssembler(llvm::MCContext&, llvm::TargetAsmBackend&, llvm::MCCodeEmitter&, llvm::MCObjectWriter&, llvm::raw_ostream&)"},
-    {"_ZN4llvm11MCAssemblerD1Ev", "llvm::MCAssembler::~MCAssembler()"},
-    {"_ZN4llvm11MCAssemblerD2Ev", "llvm::MCAssembler::~MCAssembler()"},
-    {"_ZNK4llvm11MCAssembler21isSymbolLinkerVisibleERKNS_8MCSymbolE", "llvm::MCAssembler::isSymbolLinkerVisible(llvm::MCSymbol const&) const"},
-    {"_ZNK4llvm11MCAssembler7getAtomEPKNS_12MCSymbolDataE", "llvm::MCAssembler::getAtom(llvm::MCSymbolData const*) const"},
-    {"_ZNK4llvm11MCAssembler13EvaluateFixupERKNS_11MCAsmLayoutERKNS_7MCFixupEPKNS_10MCFragmentERNS_7MCValueERy", "llvm::MCAssembler::EvaluateFixup(llvm::MCAsmLayout const&, llvm::MCFixup const&, llvm::MCFragment const*, llvm::MCValue&, unsigned long long&) const"},
-    {"_ZNK4llvm11MCAssembler16WriteSectionDataEPKNS_13MCSectionDataERKNS_11MCAsmLayoutE", "llvm::MCAssembler::WriteSectionData(llvm::MCSectionData const*, llvm::MCAsmLayout const&) const"},
-    {"_ZN4llvm11MCAssembler11HandleFixupERKNS_11MCAsmLayoutERNS_10MCFragmentERKNS_7MCFixupE", "llvm::MCAssembler::HandleFixup(llvm::MCAsmLayout const&, llvm::MCFragment&, llvm::MCFixup const&)"},
-    {"_ZN4llvm11MCAssembler6FinishEv", "llvm::MCAssembler::Finish()"},
-    {"_ZN4llvm11MCAssembler10LayoutOnceERNS_11MCAsmLayoutE", "llvm::MCAssembler::LayoutOnce(llvm::MCAsmLayout&)"},
-    {"_ZN4llvm11MCAssembler12FinishLayoutERNS_11MCAsmLayoutE", "llvm::MCAssembler::FinishLayout(llvm::MCAsmLayout&)"},
-    {"_ZNK4llvm11MCAssembler20FixupNeedsRelaxationERKNS_7MCFixupEPKNS_10MCFragmentERKNS_11MCAsmLayoutE", "llvm::MCAssembler::FixupNeedsRelaxation(llvm::MCFixup const&, llvm::MCFragment const*, llvm::MCAsmLayout const&) const"},
-    {"_ZNK4llvm11MCAssembler23FragmentNeedsRelaxationEPKNS_14MCInstFragmentERKNS_11MCAsmLayoutE", "llvm::MCAssembler::FragmentNeedsRelaxation(llvm::MCInstFragment const*, llvm::MCAsmLayout const&) const"},
-    {"_ZN4llvm11MCAssembler16RelaxInstructionERNS_11MCAsmLayoutERNS_14MCInstFragmentE", "llvm::MCAssembler::RelaxInstruction(llvm::MCAsmLayout&, llvm::MCInstFragment&)"},
-    {"_ZN4llvm11MCAssembler8RelaxLEBERNS_11MCAsmLayoutERNS_13MCLEBFragmentE", "llvm::MCAssembler::RelaxLEB(llvm::MCAsmLayout&, llvm::MCLEBFragment&)"},
-    {"_ZN4llvm11MCAssembler18RelaxDwarfLineAddrERNS_11MCAsmLayoutERNS_23MCDwarfLineAddrFragmentE", "llvm::MCAssembler::RelaxDwarfLineAddr(llvm::MCAsmLayout&, llvm::MCDwarfLineAddrFragment&)"},
-    {"_ZN4llvm11MCAssembler27RelaxDwarfCallFrameFragmentERNS_11MCAsmLayoutERNS_24MCDwarfCallFrameFragmentE", "llvm::MCAssembler::RelaxDwarfCallFrameFragment(llvm::MCAsmLayout&, llvm::MCDwarfCallFrameFragment&)"},
-    {"_ZN4llvm11MCAssembler17LayoutSectionOnceERNS_11MCAsmLayoutERNS_13MCSectionDataE", "llvm::MCAssembler::LayoutSectionOnce(llvm::MCAsmLayout&, llvm::MCSectionData&)"},
-    {"_ZN4llvmlsERNS_11raw_ostreamERKNS_7MCFixupE", "llvm::operator<<(llvm::raw_ostream&, llvm::MCFixup const&)"},
-    {"_ZN4llvm10MCFragment4dumpEv", "llvm::MCFragment::dump()"},
-    {"_ZN4llvm13MCSectionData4dumpEv", "llvm::MCSectionData::dump()"},
-    {"_ZN4llvm12MCSymbolData4dumpEv", "llvm::MCSymbolData::dump()"},
-    {"_ZN4llvm11MCAssembler4dumpEv", "llvm::MCAssembler::dump()"},
-    {"_ZN4llvm6iplistINS_12MCSymbolDataENS_12ilist_traitsIS1_EEED2Ev", "llvm::iplist<llvm::MCSymbolData, llvm::ilist_traits<llvm::MCSymbolData> >::~iplist()"},
-    {"_ZN4llvm6iplistINS_13MCSectionDataENS_12ilist_traitsIS1_EEED2Ev", "llvm::iplist<llvm::MCSectionData, llvm::ilist_traits<llvm::MCSectionData> >::~iplist()"},
-    {"_ZN4llvm6iplistINS_10MCFragmentENS_12ilist_traitsIS1_EEED2Ev", "llvm::iplist<llvm::MCFragment, llvm::ilist_traits<llvm::MCFragment> >::~iplist()"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataEPNS_10MCFragmentENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MCSectionData const*, llvm::MCFragment*, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<llvm::MCFragment*> >::InsertIntoBucket(llvm::MCSectionData const* const&, llvm::MCFragment* const&, std::pair<llvm::MCSectionData const*, llvm::MCFragment*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataEPNS_10MCFragmentENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MCSectionData const*, llvm::MCFragment*, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<llvm::MCFragment*> >::grow(unsigned int)"},
-    {"_ZN4llvm14MCObjectWriter10WriteZerosEj", "llvm::MCObjectWriter::WriteZeros(unsigned int)"},
-    {"_ZN4llvm13MCCodeEmitterC1Ev", "llvm::MCCodeEmitter::MCCodeEmitter()"},
-    {"_ZN4llvm13MCCodeEmitterC2Ev", "llvm::MCCodeEmitter::MCCodeEmitter()"},
-    {"_ZN4llvm13MCCodeEmitterD0Ev", "llvm::MCCodeEmitter::~MCCodeEmitter()"},
-    {"_ZN4llvm13MCCodeEmitterD1Ev", "llvm::MCCodeEmitter::~MCCodeEmitter()"},
-    {"_ZN4llvm13MCCodeEmitterD2Ev", "llvm::MCCodeEmitter::~MCCodeEmitter()"},
-    {"_ZN4llvm9MCContextC1ERKNS_9MCAsmInfoEPKNS_13TargetAsmInfoE", "llvm::MCContext::MCContext(llvm::MCAsmInfo const&, llvm::TargetAsmInfo const*)"},
-    {"_ZN4llvm9MCContextC2ERKNS_9MCAsmInfoEPKNS_13TargetAsmInfoE", "llvm::MCContext::MCContext(llvm::MCAsmInfo const&, llvm::TargetAsmInfo const*)"},
-    {"_ZN4llvm9MCContextD1Ev", "llvm::MCContext::~MCContext()"},
-    {"_ZN4llvm9MCContextD2Ev", "llvm::MCContext::~MCContext()"},
-    {"_ZN4llvm9MCContext17GetOrCreateSymbolENS_9StringRefE", "llvm::MCContext::GetOrCreateSymbol(llvm::StringRef)"},
-    {"_ZN4llvm9MCContext12CreateSymbolENS_9StringRefE", "llvm::MCContext::CreateSymbol(llvm::StringRef)"},
-    {"_ZN4llvm9MCContext17GetOrCreateSymbolERKNS_5TwineE", "llvm::MCContext::GetOrCreateSymbol(llvm::Twine const&)"},
-    {"_ZN4llvm9MCContext16CreateTempSymbolEv", "llvm::MCContext::CreateTempSymbol()"},
-    {"_ZN4llvm9MCContext12NextInstanceEx", "llvm::MCContext::NextInstance(long long)"},
-    {"_ZN4llvm9MCContext11GetInstanceEx", "llvm::MCContext::GetInstance(long long)"},
-    {"_ZN4llvm9MCContext28CreateDirectionalLocalSymbolEx", "llvm::MCContext::CreateDirectionalLocalSymbol(long long)"},
-    {"_ZN4llvm9MCContext25GetDirectionalLocalSymbolExi", "llvm::MCContext::GetDirectionalLocalSymbol(long long, int)"},
-    {"_ZNK4llvm9MCContext12LookupSymbolENS_9StringRefE", "llvm::MCContext::LookupSymbol(llvm::StringRef) const"},
-    {"_ZN4llvm9MCContext15getMachOSectionENS_9StringRefES1_jjNS_11SectionKindE", "llvm::MCContext::getMachOSection(llvm::StringRef, llvm::StringRef, unsigned int, unsigned int, llvm::SectionKind)"},
-    {"_ZN4llvm9MCContext13getELFSectionENS_9StringRefEjjNS_11SectionKindE", "llvm::MCContext::getELFSection(llvm::StringRef, unsigned int, unsigned int, llvm::SectionKind)"},
-    {"_ZN4llvm9MCContext13getELFSectionENS_9StringRefEjjNS_11SectionKindEjS1_", "llvm::MCContext::getELFSection(llvm::StringRef, unsigned int, unsigned int, llvm::SectionKind, unsigned int, llvm::StringRef)"},
-    {"_ZN4llvm9MCContext21CreateELFGroupSectionEv", "llvm::MCContext::CreateELFGroupSection()"},
-    {"_ZN4llvm9MCContext14getCOFFSectionENS_9StringRefEjiNS_11SectionKindE", "llvm::MCContext::getCOFFSection(llvm::StringRef, unsigned int, int, llvm::SectionKind)"},
-    {"_ZN4llvm9MCContext12GetDwarfFileENS_9StringRefEj", "llvm::MCContext::GetDwarfFile(llvm::StringRef, unsigned int)"},
-    {"_ZN4llvm9MCContext22isValidDwarfFileNumberEj", "llvm::MCContext::isValidDwarfFileNumber(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm9StringRefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::StringRef, std::allocator<llvm::StringRef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::StringRef*, std::vector<llvm::StringRef, std::allocator<llvm::StringRef> > >, llvm::StringRef const&)"},
-    {"_ZNSt6vectorIPN4llvm11MCDwarfFileESaIS2_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS2_S4_EEmRKS2_", "std::vector<llvm::MCDwarfFile*, std::allocator<llvm::MCDwarfFile*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<llvm::MCDwarfFile**, std::vector<llvm::MCDwarfFile*, std::allocator<llvm::MCDwarfFile*> > >, unsigned long, llvm::MCDwarfFile* const&)"},
-    {"_ZN4llvm9StringMapIPKNS_13MCSectionCOFFENS_15MallocAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::MCSectionCOFF const*>& llvm::StringMap<llvm::MCSectionCOFF const*, llvm::MallocAllocator>::GetOrCreateValue<llvm::MCSectionCOFF const*>(llvm::StringRef, llvm::MCSectionCOFF const*)"},
-    {"_ZN4llvm9StringMapIPKNS_12MCSectionELFENS_15MallocAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::MCSectionELF const*>& llvm::StringMap<llvm::MCSectionELF const*, llvm::MallocAllocator>::GetOrCreateValue<llvm::MCSectionELF const*>(llvm::StringRef, llvm::MCSectionELF const*)"},
-    {"_ZN4llvm9StringMapIPKNS_14MCSectionMachOENS_15MallocAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::MCSectionMachO const*>& llvm::StringMap<llvm::MCSectionMachO const*, llvm::MallocAllocator>::GetOrCreateValue<llvm::MCSectionMachO const*>(llvm::StringRef, llvm::MCSectionMachO const*)"},
-    {"_ZN4llvm8DenseMapIjPNS_7MCLabelENS_12DenseMapInfoIjEENS3_IS2_EEE16InsertIntoBucketERKjRKS2_PSt4pairIjS2_E", "llvm::DenseMap<unsigned int, llvm::MCLabel*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MCLabel*> >::InsertIntoBucket(unsigned int const&, llvm::MCLabel* const&, std::pair<unsigned int, llvm::MCLabel*>*)"},
-    {"_ZN4llvm8DenseMapIjPNS_7MCLabelENS_12DenseMapInfoIjEENS3_IS2_EEE4growEj", "llvm::DenseMap<unsigned int, llvm::MCLabel*, llvm::DenseMapInfo<unsigned int>, llvm::DenseMapInfo<llvm::MCLabel*> >::grow(unsigned int)"},
-    {"_ZN4llvm9StringMapIbNS_15MallocAllocatorEE16GetOrCreateValueIbEERNS_14StringMapEntryIbEENS_9StringRefET_", "llvm::StringMapEntry<bool>& llvm::StringMap<bool, llvm::MallocAllocator>::GetOrCreateValue<bool>(llvm::StringRef, bool)"},
-    {"_ZN4llvm9StringMapIPNS_8MCSymbolENS_15MallocAllocatorEE16GetOrCreateValueIS2_EERNS_14StringMapEntryIS2_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::MCSymbol*>& llvm::StringMap<llvm::MCSymbol*, llvm::MallocAllocator>::GetOrCreateValue<llvm::MCSymbol*>(llvm::StringRef, llvm::MCSymbol*)"},
-    {"_ZNK4llvm9MCSection22isBaseAddressKnownZeroEv", "llvm::MCSection::isBaseAddressKnownZero() const"},
-    {"_ZNK4llvm12MCSectionELF22isBaseAddressKnownZeroEv", "llvm::MCSectionELF::isBaseAddressKnownZero() const"},
-    {"_ZN4llvm11MCLineEntry4MakeEPNS_10MCStreamerEPKNS_9MCSectionE", "llvm::MCLineEntry::Make(llvm::MCStreamer*, llvm::MCSection const*)"},
-    {"_ZN4llvm16MCDwarfFileTable4EmitEPNS_10MCStreamerE", "llvm::MCDwarfFileTable::Emit(llvm::MCStreamer*)"},
-    {"_ZN4llvm15MCDwarfLineAddr4EmitEPNS_10MCStreamerExy", "llvm::MCDwarfLineAddr::Emit(llvm::MCStreamer*, long long, unsigned long long)"},
-    {"_ZN4llvm15MCDwarfLineAddr5WriteEPNS_14MCObjectWriterExy", "llvm::MCDwarfLineAddr::Write(llvm::MCObjectWriter*, long long, unsigned long long)"},
-    {"_ZN4llvm15MCDwarfLineAddr6EncodeExyRNS_11raw_ostreamE", "llvm::MCDwarfLineAddr::Encode(long long, unsigned long long, llvm::raw_ostream&)"},
-    {"_ZNK4llvm11MCDwarfFile5printERNS_11raw_ostreamE", "llvm::MCDwarfFile::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm11MCDwarfFile4dumpEv", "llvm::MCDwarfFile::dump() const"},
-    {"_ZN4llvm19MCDwarfFrameEmitter4EmitERNS_10MCStreamerE", "llvm::MCDwarfFrameEmitter::Emit(llvm::MCStreamer&)"},
-    {"_ZN4llvm19MCDwarfFrameEmitter14EmitAdvanceLocERNS_10MCStreamerEy", "llvm::MCDwarfFrameEmitter::EmitAdvanceLoc(llvm::MCStreamer&, unsigned long long)"},
-    {"_ZN4llvm19MCDwarfFrameEmitter16EncodeAdvanceLocEyRNS_11raw_ostreamE", "llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(unsigned long long, llvm::raw_ostream&)"},
-    {"_ZNK4llvm8DenseMapIN12_GLOBAL__N_16CIEKeyEPKNS_8MCSymbolENS_12DenseMapInfoIS2_EENS6_IS5_EEE15LookupBucketForERKS2_RPSt4pairIS2_S5_E", "llvm::DenseMap<(anonymous namespace)::CIEKey, llvm::MCSymbol const*, llvm::DenseMapInfo<(anonymous namespace)::CIEKey>, llvm::DenseMapInfo<llvm::MCSymbol const*> >::LookupBucketFor((anonymous namespace)::CIEKey const&, std::pair<(anonymous namespace)::CIEKey, llvm::MCSymbol const*>*&) const"},
-    {"_Z19EmitCFIInstructionsRN4llvm10MCStreamerERKSt6vectorINS_16MCCFIInstructionESaIS3_EEPNS_8MCSymbolE", "EmitCFIInstructions(llvm::MCStreamer&, std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction> > const&, llvm::MCSymbol*)"},
-    {"_ZN4llvm9MCContext16addMCLineSectionEPKNS_9MCSectionEPNS_13MCLineSectionE", "llvm::MCContext::addMCLineSection(llvm::MCSection const*, llvm::MCLineSection*)"},
-    {"_ZNSt6vectorIN4llvm11MachineMoveESaIS1_EEC2ERKS3_", "std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> >::vector(std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove> > const&)"},
-    {"_ZNSt6vectorIN4llvm11MCLineEntryESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MCLineEntry, std::allocator<llvm::MCLineEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MCLineEntry*, std::vector<llvm::MCLineEntry, std::allocator<llvm::MCLineEntry> > >, llvm::MCLineEntry const&)"},
-    {"_ZNSt6vectorIPKN4llvm9MCSectionESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::MCSection const*, std::allocator<llvm::MCSection const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MCSection const**, std::vector<llvm::MCSection const*, std::allocator<llvm::MCSection const*> > >, llvm::MCSection const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEPNS_13MCLineSectionENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MCSection const*, llvm::MCLineSection*, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<llvm::MCLineSection*> >::InsertIntoBucket(llvm::MCSection const* const&, llvm::MCLineSection* const&, std::pair<llvm::MCSection const*, llvm::MCLineSection*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEPNS_13MCLineSectionENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MCSection const*, llvm::MCLineSection*, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<llvm::MCLineSection*> >::grow(unsigned int)"},
-    {"_ZN4llvm23MCELFObjectTargetWriterC1EbNS_6Triple6OSTypeEtb", "llvm::MCELFObjectTargetWriter::MCELFObjectTargetWriter(bool, llvm::Triple::OSType, unsigned short, bool)"},
-    {"_ZN4llvm23MCELFObjectTargetWriterC2EbNS_6Triple6OSTypeEtb", "llvm::MCELFObjectTargetWriter::MCELFObjectTargetWriter(bool, llvm::Triple::OSType, unsigned short, bool)"},
-    {"_ZN4llvm23MCELFObjectTargetWriterD0Ev", "llvm::MCELFObjectTargetWriter::~MCELFObjectTargetWriter()"},
-    {"_ZN4llvm23MCELFObjectTargetWriterD1Ev", "llvm::MCELFObjectTargetWriter::~MCELFObjectTargetWriter()"},
-    {"_ZN4llvm23MCELFObjectTargetWriterD2Ev", "llvm::MCELFObjectTargetWriter::~MCELFObjectTargetWriter()"},
-    {"_ZN4llvm17createELFStreamerERNS_9MCContextERNS_16TargetAsmBackendERNS_11raw_ostreamEPNS_13MCCodeEmitterEbb", "llvm::createELFStreamer(llvm::MCContext&, llvm::TargetAsmBackend&, llvm::raw_ostream&, llvm::MCCodeEmitter*, bool, bool)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamerD1Ev", "(anonymous namespace)::MCELFStreamer::~MCELFStreamer()"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamerD0Ev", "(anonymous namespace)::MCELFStreamer::~MCELFStreamer()"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer13SwitchSectionEPKN4llvm9MCSectionE", "(anonymous namespace)::MCELFStreamer::SwitchSection(llvm::MCSection const*)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer12InitSectionsEv", "(anonymous namespace)::MCELFStreamer::InitSections()"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer9EmitLabelEPN4llvm8MCSymbolE", "(anonymous namespace)::MCELFStreamer::EmitLabel(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer17EmitAssemblerFlagEN4llvm15MCAssemblerFlagE", "(anonymous namespace)::MCELFStreamer::EmitAssemblerFlag(llvm::MCAssemblerFlag)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer13EmitThumbFuncEPN4llvm8MCSymbolE", "(anonymous namespace)::MCELFStreamer::EmitThumbFunc(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer14EmitAssignmentEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCELFStreamer::EmitAssignment(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer17EmitWeakReferenceEPN4llvm8MCSymbolEPKS2_", "(anonymous namespace)::MCELFStreamer::EmitWeakReference(llvm::MCSymbol*, llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer19EmitSymbolAttributeEPN4llvm8MCSymbolENS1_12MCSymbolAttrE", "(anonymous namespace)::MCELFStreamer::EmitSymbolAttribute(llvm::MCSymbol*, llvm::MCSymbolAttr)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer14EmitSymbolDescEPN4llvm8MCSymbolEj", "(anonymous namespace)::MCELFStreamer::EmitSymbolDesc(llvm::MCSymbol*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer18BeginCOFFSymbolDefEPKN4llvm8MCSymbolE", "(anonymous namespace)::MCELFStreamer::BeginCOFFSymbolDef(llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer26EmitCOFFSymbolStorageClassEi", "(anonymous namespace)::MCELFStreamer::EmitCOFFSymbolStorageClass(int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer18EmitCOFFSymbolTypeEi", "(anonymous namespace)::MCELFStreamer::EmitCOFFSymbolType(int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer16EndCOFFSymbolDefEv", "(anonymous namespace)::MCELFStreamer::EndCOFFSymbolDef()"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer11EmitELFSizeEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCELFStreamer::EmitELFSize(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer16EmitCommonSymbolEPN4llvm8MCSymbolEyj", "(anonymous namespace)::MCELFStreamer::EmitCommonSymbol(llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer21EmitLocalCommonSymbolEPN4llvm8MCSymbolEy", "(anonymous namespace)::MCELFStreamer::EmitLocalCommonSymbol(llvm::MCSymbol*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer12EmitZerofillEPKN4llvm9MCSectionEPNS1_8MCSymbolEjj", "(anonymous namespace)::MCELFStreamer::EmitZerofill(llvm::MCSection const*, llvm::MCSymbol*, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer14EmitTBSSSymbolEPKN4llvm9MCSectionEPNS1_8MCSymbolEyj", "(anonymous namespace)::MCELFStreamer::EmitTBSSSymbol(llvm::MCSection const*, llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer9EmitBytesEN4llvm9StringRefEj", "(anonymous namespace)::MCELFStreamer::EmitBytes(llvm::StringRef, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer20EmitValueToAlignmentEjxjj", "(anonymous namespace)::MCELFStreamer::EmitValueToAlignment(unsigned int, long long, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer17EmitCodeAlignmentEjj", "(anonymous namespace)::MCELFStreamer::EmitCodeAlignment(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer17EmitFileDirectiveEN4llvm9StringRefE", "(anonymous namespace)::MCELFStreamer::EmitFileDirective(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer6FinishEv", "(anonymous namespace)::MCELFStreamer::Finish()"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer14EmitInstToDataERKN4llvm6MCInstE", "(anonymous namespace)::MCELFStreamer::EmitInstToData(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer18EmitInstToFragmentERKN4llvm6MCInstE", "(anonymous namespace)::MCELFStreamer::EmitInstToFragment(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_113MCELFStreamer21fixSymbolsInTLSFixupsEPKN4llvm6MCExprE", "(anonymous namespace)::MCELFStreamer::fixSymbolsInTLSFixups(llvm::MCExpr const*)"},
-    {"_ZNK4llvm6MCExpr5printERNS_11raw_ostreamE", "llvm::MCExpr::print(llvm::raw_ostream&) const"},
-    {"_ZN4llvm15MCSymbolRefExpr18getVariantKindNameENS0_11VariantKindE", "llvm::MCSymbolRefExpr::getVariantKindName(llvm::MCSymbolRefExpr::VariantKind)"},
-    {"_ZNK4llvm6MCExpr4dumpEv", "llvm::MCExpr::dump() const"},
-    {"_ZN4llvm12MCBinaryExpr6CreateENS0_6OpcodeEPKNS_6MCExprES4_RNS_9MCContextE", "llvm::MCBinaryExpr::Create(llvm::MCBinaryExpr::Opcode, llvm::MCExpr const*, llvm::MCExpr const*, llvm::MCContext&)"},
-    {"_ZN4llvm11MCUnaryExpr6CreateENS0_6OpcodeEPKNS_6MCExprERNS_9MCContextE", "llvm::MCUnaryExpr::Create(llvm::MCUnaryExpr::Opcode, llvm::MCExpr const*, llvm::MCContext&)"},
-    {"_ZN4llvm14MCConstantExpr6CreateExRNS_9MCContextE", "llvm::MCConstantExpr::Create(long long, llvm::MCContext&)"},
-    {"_ZN4llvm15MCSymbolRefExpr6CreateEPKNS_8MCSymbolENS0_11VariantKindERNS_9MCContextE", "llvm::MCSymbolRefExpr::Create(llvm::MCSymbol const*, llvm::MCSymbolRefExpr::VariantKind, llvm::MCContext&)"},
-    {"_ZN4llvm15MCSymbolRefExpr6CreateENS_9StringRefENS0_11VariantKindERNS_9MCContextE", "llvm::MCSymbolRefExpr::Create(llvm::StringRef, llvm::MCSymbolRefExpr::VariantKind, llvm::MCContext&)"},
-    {"_ZN4llvm15MCSymbolRefExpr21getVariantKindForNameENS_9StringRefE", "llvm::MCSymbolRefExpr::getVariantKindForName(llvm::StringRef)"},
-    {"_ZN4llvm12MCTargetExpr6AnchorEv", "llvm::MCTargetExpr::Anchor()"},
-    {"_ZNK4llvm6MCExpr18EvaluateAsAbsoluteERx", "llvm::MCExpr::EvaluateAsAbsolute(long long&) const"},
-    {"_ZNK4llvm6MCExpr18EvaluateAsAbsoluteERxPKNS_11MCAssemblerEPKNS_11MCAsmLayoutEPKNS_8DenseMapIPKNS_13MCSectionDataEyNS_12DenseMapInfoISB_EENSC_IyEEEE", "llvm::MCExpr::EvaluateAsAbsolute(long long&, llvm::MCAssembler const*, llvm::MCAsmLayout const*, llvm::DenseMap<llvm::MCSectionData const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned long long> > const*) const"},
-    {"_ZNK4llvm6MCExpr18EvaluateAsAbsoluteERxRKNS_11MCAsmLayoutE", "llvm::MCExpr::EvaluateAsAbsolute(long long&, llvm::MCAsmLayout const&) const"},
-    {"_ZNK4llvm6MCExpr18EvaluateAsAbsoluteERxRKNS_11MCAsmLayoutERKNS_8DenseMapIPKNS_13MCSectionDataEyNS_12DenseMapInfoIS8_EENS9_IyEEEE", "llvm::MCExpr::EvaluateAsAbsolute(long long&, llvm::MCAsmLayout const&, llvm::DenseMap<llvm::MCSectionData const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned long long> > const&) const"},
-    {"_ZNK4llvm6MCExpr18EvaluateAsAbsoluteERxRKNS_11MCAssemblerE", "llvm::MCExpr::EvaluateAsAbsolute(long long&, llvm::MCAssembler const&) const"},
-    {"_ZNK4llvm6MCExpr25EvaluateAsRelocatableImplERNS_7MCValueEPKNS_11MCAssemblerEPKNS_11MCAsmLayoutEPKNS_8DenseMapIPKNS_13MCSectionDataEyNS_12DenseMapInfoISC_EENSD_IyEEEEb", "llvm::MCExpr::EvaluateAsRelocatableImpl(llvm::MCValue&, llvm::MCAssembler const*, llvm::MCAsmLayout const*, llvm::DenseMap<llvm::MCSectionData const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned long long> > const*, bool) const"},
-    {"_ZNK4llvm6MCExpr21EvaluateAsRelocatableERNS_7MCValueERKNS_11MCAsmLayoutE", "llvm::MCExpr::EvaluateAsRelocatable(llvm::MCValue&, llvm::MCAsmLayout const&) const"},
-    {"_Z19EvaluateSymbolicAddPKN4llvm11MCAssemblerEPKNS_11MCAsmLayoutEPKNS_8DenseMapIPKNS_13MCSectionDataEyNS_12DenseMapInfoIS9_EENSA_IyEEEEbRKNS_7MCValueEPKNS_15MCSymbolRefExprESL_xRSG_", "EvaluateSymbolicAdd(llvm::MCAssembler const*, llvm::MCAsmLayout const*, llvm::DenseMap<llvm::MCSectionData const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned long long> > const*, bool, llvm::MCValue const&, llvm::MCSymbolRefExpr const*, llvm::MCSymbolRefExpr const*, long long, llvm::MCValue&)"},
-    {"_Z35AttemptToFoldSymbolOffsetDifferencePKN4llvm11MCAssemblerEPKNS_11MCAsmLayoutEPKNS_8DenseMapIPKNS_13MCSectionDataEyNS_12DenseMapInfoIS9_EENSA_IyEEEEbRPKNS_15MCSymbolRefExprESJ_Rx", "AttemptToFoldSymbolOffsetDifference(llvm::MCAssembler const*, llvm::MCAsmLayout const*, llvm::DenseMap<llvm::MCSectionData const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned long long> > const*, bool, llvm::MCSymbolRefExpr const*&, llvm::MCSymbolRefExpr const*&, long long&)"},
-    {"_ZN4llvm12MCTargetExprD1Ev", "llvm::MCTargetExpr::~MCTargetExpr()"},
-    {"_ZN4llvm12MCTargetExprD0Ev", "llvm::MCTargetExpr::~MCTargetExpr()"},
-    {"_ZNK4llvm9MCOperand5printERNS_11raw_ostreamEPKNS_9MCAsmInfoE", "llvm::MCOperand::print(llvm::raw_ostream&, llvm::MCAsmInfo const*) const"},
-    {"_ZNK4llvm9MCOperand4dumpEv", "llvm::MCOperand::dump() const"},
-    {"_ZNK4llvm6MCInst5printERNS_11raw_ostreamEPKNS_9MCAsmInfoE", "llvm::MCInst::print(llvm::raw_ostream&, llvm::MCAsmInfo const*) const"},
-    {"_ZNK4llvm6MCInst11dump_prettyERNS_11raw_ostreamEPKNS_9MCAsmInfoEPKNS_13MCInstPrinterENS_9StringRefE", "llvm::MCInst::dump_pretty(llvm::raw_ostream&, llvm::MCAsmInfo const*, llvm::MCInstPrinter const*, llvm::StringRef) const"},
-    {"_ZNK4llvm6MCInst4dumpEv", "llvm::MCInst::dump() const"},
-    {"_ZN4llvm13MCInstPrinterD0Ev", "llvm::MCInstPrinter::~MCInstPrinter()"},
-    {"_ZN4llvm13MCInstPrinterD1Ev", "llvm::MCInstPrinter::~MCInstPrinter()"},
-    {"_ZN4llvm13MCInstPrinterD2Ev", "llvm::MCInstPrinter::~MCInstPrinter()"},
-    {"_ZNK4llvm13MCInstPrinter13getOpcodeNameEj", "llvm::MCInstPrinter::getOpcodeName(unsigned int) const"},
-    {"_ZN4llvm21createLoggingStreamerEPNS_10MCStreamerERNS_11raw_ostreamE", "llvm::createLoggingStreamer(llvm::MCStreamer*, llvm::raw_ostream&)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamerD1Ev", "(anonymous namespace)::MCLoggingStreamer::~MCLoggingStreamer()"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamerD0Ev", "(anonymous namespace)::MCLoggingStreamer::~MCLoggingStreamer()"},
-    {"_ZNK12_GLOBAL__N_117MCLoggingStreamer12isVerboseAsmEv", "(anonymous namespace)::MCLoggingStreamer::isVerboseAsm() const"},
-    {"_ZNK12_GLOBAL__N_117MCLoggingStreamer17hasRawTextSupportEv", "(anonymous namespace)::MCLoggingStreamer::hasRawTextSupport() const"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer10AddCommentERKN4llvm5TwineE", "(anonymous namespace)::MCLoggingStreamer::AddComment(llvm::Twine const&)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer12GetCommentOSEv", "(anonymous namespace)::MCLoggingStreamer::GetCommentOS()"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer12AddBlankLineEv", "(anonymous namespace)::MCLoggingStreamer::AddBlankLine()"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer13SwitchSectionEPKN4llvm9MCSectionE", "(anonymous namespace)::MCLoggingStreamer::SwitchSection(llvm::MCSection const*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer12InitSectionsEv", "(anonymous namespace)::MCLoggingStreamer::InitSections()"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer9EmitLabelEPN4llvm8MCSymbolE", "(anonymous namespace)::MCLoggingStreamer::EmitLabel(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer17EmitAssemblerFlagEN4llvm15MCAssemblerFlagE", "(anonymous namespace)::MCLoggingStreamer::EmitAssemblerFlag(llvm::MCAssemblerFlag)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer13EmitThumbFuncEPN4llvm8MCSymbolE", "(anonymous namespace)::MCLoggingStreamer::EmitThumbFunc(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer14EmitAssignmentEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCLoggingStreamer::EmitAssignment(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer17EmitWeakReferenceEPN4llvm8MCSymbolEPKS2_", "(anonymous namespace)::MCLoggingStreamer::EmitWeakReference(llvm::MCSymbol*, llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer19EmitSymbolAttributeEPN4llvm8MCSymbolENS1_12MCSymbolAttrE", "(anonymous namespace)::MCLoggingStreamer::EmitSymbolAttribute(llvm::MCSymbol*, llvm::MCSymbolAttr)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer14EmitSymbolDescEPN4llvm8MCSymbolEj", "(anonymous namespace)::MCLoggingStreamer::EmitSymbolDesc(llvm::MCSymbol*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer18BeginCOFFSymbolDefEPKN4llvm8MCSymbolE", "(anonymous namespace)::MCLoggingStreamer::BeginCOFFSymbolDef(llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer26EmitCOFFSymbolStorageClassEi", "(anonymous namespace)::MCLoggingStreamer::EmitCOFFSymbolStorageClass(int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer18EmitCOFFSymbolTypeEi", "(anonymous namespace)::MCLoggingStreamer::EmitCOFFSymbolType(int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer16EndCOFFSymbolDefEv", "(anonymous namespace)::MCLoggingStreamer::EndCOFFSymbolDef()"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer11EmitELFSizeEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCLoggingStreamer::EmitELFSize(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer16EmitCommonSymbolEPN4llvm8MCSymbolEyj", "(anonymous namespace)::MCLoggingStreamer::EmitCommonSymbol(llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer21EmitLocalCommonSymbolEPN4llvm8MCSymbolEy", "(anonymous namespace)::MCLoggingStreamer::EmitLocalCommonSymbol(llvm::MCSymbol*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer12EmitZerofillEPKN4llvm9MCSectionEPNS1_8MCSymbolEjj", "(anonymous namespace)::MCLoggingStreamer::EmitZerofill(llvm::MCSection const*, llvm::MCSymbol*, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer14EmitTBSSSymbolEPKN4llvm9MCSectionEPNS1_8MCSymbolEyj", "(anonymous namespace)::MCLoggingStreamer::EmitTBSSSymbol(llvm::MCSection const*, llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer9EmitBytesEN4llvm9StringRefEj", "(anonymous namespace)::MCLoggingStreamer::EmitBytes(llvm::StringRef, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer13EmitValueImplEPKN4llvm6MCExprEjbj", "(anonymous namespace)::MCLoggingStreamer::EmitValueImpl(llvm::MCExpr const*, unsigned int, bool, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer16EmitULEB128ValueEPKN4llvm6MCExprEj", "(anonymous namespace)::MCLoggingStreamer::EmitULEB128Value(llvm::MCExpr const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer16EmitSLEB128ValueEPKN4llvm6MCExprEj", "(anonymous namespace)::MCLoggingStreamer::EmitSLEB128Value(llvm::MCExpr const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer16EmitGPRel32ValueEPKN4llvm6MCExprE", "(anonymous namespace)::MCLoggingStreamer::EmitGPRel32Value(llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer8EmitFillEyhj", "(anonymous namespace)::MCLoggingStreamer::EmitFill(unsigned long long, unsigned char, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer20EmitValueToAlignmentEjxjj", "(anonymous namespace)::MCLoggingStreamer::EmitValueToAlignment(unsigned int, long long, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer17EmitCodeAlignmentEjj", "(anonymous namespace)::MCLoggingStreamer::EmitCodeAlignment(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer17EmitValueToOffsetEPKN4llvm6MCExprEh", "(anonymous namespace)::MCLoggingStreamer::EmitValueToOffset(llvm::MCExpr const*, unsigned char)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer17EmitFileDirectiveEN4llvm9StringRefE", "(anonymous namespace)::MCLoggingStreamer::EmitFileDirective(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer22EmitDwarfFileDirectiveEjN4llvm9StringRefE", "(anonymous namespace)::MCLoggingStreamer::EmitDwarfFileDirective(unsigned int, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer21EmitDwarfLocDirectiveEjjjjjj", "(anonymous namespace)::MCLoggingStreamer::EmitDwarfLocDirective(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer24EmitDwarfAdvanceLineAddrExPKN4llvm8MCSymbolES4_", "(anonymous namespace)::MCLoggingStreamer::EmitDwarfAdvanceLineAddr(long long, llvm::MCSymbol const*, llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer15EmitInstructionERKN4llvm6MCInstE", "(anonymous namespace)::MCLoggingStreamer::EmitInstruction(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer11EmitRawTextEN4llvm9StringRefE", "(anonymous namespace)::MCLoggingStreamer::EmitRawText(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer6FinishEv", "(anonymous namespace)::MCLoggingStreamer::Finish()"},
-    {"_ZN12_GLOBAL__N_117MCLoggingStreamer7LogCallEPKcRKN4llvm5TwineE", "(anonymous namespace)::MCLoggingStreamer::LogCall(char const*, llvm::Twine const&)"},
-    {"_ZN4llvm19createMachOStreamerERNS_9MCContextERNS_16TargetAsmBackendERNS_11raw_ostreamEPNS_13MCCodeEmitterEb", "llvm::createMachOStreamer(llvm::MCContext&, llvm::TargetAsmBackend&, llvm::raw_ostream&, llvm::MCCodeEmitter*, bool)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamerD1Ev", "(anonymous namespace)::MCMachOStreamer::~MCMachOStreamer()"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamerD0Ev", "(anonymous namespace)::MCMachOStreamer::~MCMachOStreamer()"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer12InitSectionsEv", "(anonymous namespace)::MCMachOStreamer::InitSections()"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer9EmitLabelEPN4llvm8MCSymbolE", "(anonymous namespace)::MCMachOStreamer::EmitLabel(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer17EmitAssemblerFlagEN4llvm15MCAssemblerFlagE", "(anonymous namespace)::MCMachOStreamer::EmitAssemblerFlag(llvm::MCAssemblerFlag)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer13EmitThumbFuncEPN4llvm8MCSymbolE", "(anonymous namespace)::MCMachOStreamer::EmitThumbFunc(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer14EmitAssignmentEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCMachOStreamer::EmitAssignment(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer19EmitSymbolAttributeEPN4llvm8MCSymbolENS1_12MCSymbolAttrE", "(anonymous namespace)::MCMachOStreamer::EmitSymbolAttribute(llvm::MCSymbol*, llvm::MCSymbolAttr)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer14EmitSymbolDescEPN4llvm8MCSymbolEj", "(anonymous namespace)::MCMachOStreamer::EmitSymbolDesc(llvm::MCSymbol*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer18BeginCOFFSymbolDefEPKN4llvm8MCSymbolE", "(anonymous namespace)::MCMachOStreamer::BeginCOFFSymbolDef(llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer26EmitCOFFSymbolStorageClassEi", "(anonymous namespace)::MCMachOStreamer::EmitCOFFSymbolStorageClass(int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer18EmitCOFFSymbolTypeEi", "(anonymous namespace)::MCMachOStreamer::EmitCOFFSymbolType(int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer16EndCOFFSymbolDefEv", "(anonymous namespace)::MCMachOStreamer::EndCOFFSymbolDef()"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer11EmitELFSizeEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCMachOStreamer::EmitELFSize(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer16EmitCommonSymbolEPN4llvm8MCSymbolEyj", "(anonymous namespace)::MCMachOStreamer::EmitCommonSymbol(llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer21EmitLocalCommonSymbolEPN4llvm8MCSymbolEy", "(anonymous namespace)::MCMachOStreamer::EmitLocalCommonSymbol(llvm::MCSymbol*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer12EmitZerofillEPKN4llvm9MCSectionEPNS1_8MCSymbolEjj", "(anonymous namespace)::MCMachOStreamer::EmitZerofill(llvm::MCSection const*, llvm::MCSymbol*, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer14EmitTBSSSymbolEPKN4llvm9MCSectionEPNS1_8MCSymbolEyj", "(anonymous namespace)::MCMachOStreamer::EmitTBSSSymbol(llvm::MCSection const*, llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer9EmitBytesEN4llvm9StringRefEj", "(anonymous namespace)::MCMachOStreamer::EmitBytes(llvm::StringRef, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer20EmitValueToAlignmentEjxjj", "(anonymous namespace)::MCMachOStreamer::EmitValueToAlignment(unsigned int, long long, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer17EmitCodeAlignmentEjj", "(anonymous namespace)::MCMachOStreamer::EmitCodeAlignment(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer17EmitFileDirectiveEN4llvm9StringRefE", "(anonymous namespace)::MCMachOStreamer::EmitFileDirective(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer6FinishEv", "(anonymous namespace)::MCMachOStreamer::Finish()"},
-    {"_ZN12_GLOBAL__N_115MCMachOStreamer14EmitInstToDataERKN4llvm6MCInstE", "(anonymous namespace)::MCMachOStreamer::EmitInstToData(llvm::MCInst const&)"},
-    {"_ZNSt6vectorIN4llvm7MCFixupESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MCFixup, std::allocator<llvm::MCFixup> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MCFixup*, std::vector<llvm::MCFixup, std::allocator<llvm::MCFixup> > >, llvm::MCFixup const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_10MCFragmentEPNS_12MCSymbolDataENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MCFragment const*, llvm::MCSymbolData*, llvm::DenseMapInfo<llvm::MCFragment const*>, llvm::DenseMapInfo<llvm::MCSymbolData*> >::InsertIntoBucket(llvm::MCFragment const* const&, llvm::MCSymbolData* const&, std::pair<llvm::MCFragment const*, llvm::MCSymbolData*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_10MCFragmentEPNS_12MCSymbolDataENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MCFragment const*, llvm::MCSymbolData*, llvm::DenseMapInfo<llvm::MCFragment const*>, llvm::DenseMapInfo<llvm::MCSymbolData*> >::grow(unsigned int)"},
-    {"_ZN4llvm15MCAlignFragmentD1Ev", "llvm::MCAlignFragment::~MCAlignFragment()"},
-    {"_ZN4llvm15MCAlignFragmentD0Ev", "llvm::MCAlignFragment::~MCAlignFragment()"},
-    {"_ZN4llvm11MCAssembler22getOrCreateSectionDataERKNS_9MCSectionEPb", "llvm::MCAssembler::getOrCreateSectionData(llvm::MCSection const&, bool*)"},
-    {"_ZN4llvm11MCAssembler21getOrCreateSymbolDataERKNS_8MCSymbolEPb", "llvm::MCAssembler::getOrCreateSymbolData(llvm::MCSymbol const&, bool*)"},
-    {"_ZN4llvm14MCFillFragmentD1Ev", "llvm::MCFillFragment::~MCFillFragment()"},
-    {"_ZN4llvm14MCFillFragmentD0Ev", "llvm::MCFillFragment::~MCFillFragment()"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolEPNS_12MCSymbolDataENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSymbolData*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSymbolData*> >::InsertIntoBucket(llvm::MCSymbol const* const&, llvm::MCSymbolData* const&, std::pair<llvm::MCSymbol const*, llvm::MCSymbolData*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolEPNS_12MCSymbolDataENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MCSymbol const*, llvm::MCSymbolData*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<llvm::MCSymbolData*> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEPNS_13MCSectionDataENS_12DenseMapInfoIS3_EENS6_IS5_EEE16InsertIntoBucketERKS3_RKS5_PSt4pairIS3_S5_E", "llvm::DenseMap<llvm::MCSection const*, llvm::MCSectionData*, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<llvm::MCSectionData*> >::InsertIntoBucket(llvm::MCSection const* const&, llvm::MCSectionData* const&, std::pair<llvm::MCSection const*, llvm::MCSectionData*>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEPNS_13MCSectionDataENS_12DenseMapInfoIS3_EENS6_IS5_EEE4growEj", "llvm::DenseMap<llvm::MCSection const*, llvm::MCSectionData*, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<llvm::MCSectionData*> >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm18IndirectSymbolDataESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::IndirectSymbolData, std::allocator<llvm::IndirectSymbolData> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::IndirectSymbolData*, std::vector<llvm::IndirectSymbolData, std::allocator<llvm::IndirectSymbolData> > >, llvm::IndirectSymbolData const&)"},
-    {"_ZN4llvm14MCDataFragmentD1Ev", "llvm::MCDataFragment::~MCDataFragment()"},
-    {"_ZN4llvm14MCDataFragmentD0Ev", "llvm::MCDataFragment::~MCDataFragment()"},
-    {"_ZN4llvm24MCMachObjectTargetWriterC1Ebjjb", "llvm::MCMachObjectTargetWriter::MCMachObjectTargetWriter(bool, unsigned int, unsigned int, bool)"},
-    {"_ZN4llvm24MCMachObjectTargetWriterC2Ebjjb", "llvm::MCMachObjectTargetWriter::MCMachObjectTargetWriter(bool, unsigned int, unsigned int, bool)"},
-    {"_ZN4llvm24MCMachObjectTargetWriterD0Ev", "llvm::MCMachObjectTargetWriter::~MCMachObjectTargetWriter()"},
-    {"_ZN4llvm24MCMachObjectTargetWriterD1Ev", "llvm::MCMachObjectTargetWriter::~MCMachObjectTargetWriter()"},
-    {"_ZN4llvm24MCMachObjectTargetWriterD2Ev", "llvm::MCMachObjectTargetWriter::~MCMachObjectTargetWriter()"},
-    {"_ZN4llvm18createNullStreamerERNS_9MCContextE", "llvm::createNullStreamer(llvm::MCContext&)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamerD1Ev", "(anonymous namespace)::MCNullStreamer::~MCNullStreamer()"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamerD0Ev", "(anonymous namespace)::MCNullStreamer::~MCNullStreamer()"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer13SwitchSectionEPKN4llvm9MCSectionE", "(anonymous namespace)::MCNullStreamer::SwitchSection(llvm::MCSection const*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer12InitSectionsEv", "(anonymous namespace)::MCNullStreamer::InitSections()"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer9EmitLabelEPN4llvm8MCSymbolE", "(anonymous namespace)::MCNullStreamer::EmitLabel(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer17EmitAssemblerFlagEN4llvm15MCAssemblerFlagE", "(anonymous namespace)::MCNullStreamer::EmitAssemblerFlag(llvm::MCAssemblerFlag)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer13EmitThumbFuncEPN4llvm8MCSymbolE", "(anonymous namespace)::MCNullStreamer::EmitThumbFunc(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer14EmitAssignmentEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCNullStreamer::EmitAssignment(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer17EmitWeakReferenceEPN4llvm8MCSymbolEPKS2_", "(anonymous namespace)::MCNullStreamer::EmitWeakReference(llvm::MCSymbol*, llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer19EmitSymbolAttributeEPN4llvm8MCSymbolENS1_12MCSymbolAttrE", "(anonymous namespace)::MCNullStreamer::EmitSymbolAttribute(llvm::MCSymbol*, llvm::MCSymbolAttr)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer14EmitSymbolDescEPN4llvm8MCSymbolEj", "(anonymous namespace)::MCNullStreamer::EmitSymbolDesc(llvm::MCSymbol*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer18BeginCOFFSymbolDefEPKN4llvm8MCSymbolE", "(anonymous namespace)::MCNullStreamer::BeginCOFFSymbolDef(llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer26EmitCOFFSymbolStorageClassEi", "(anonymous namespace)::MCNullStreamer::EmitCOFFSymbolStorageClass(int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer18EmitCOFFSymbolTypeEi", "(anonymous namespace)::MCNullStreamer::EmitCOFFSymbolType(int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer16EndCOFFSymbolDefEv", "(anonymous namespace)::MCNullStreamer::EndCOFFSymbolDef()"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer11EmitELFSizeEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::MCNullStreamer::EmitELFSize(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer16EmitCommonSymbolEPN4llvm8MCSymbolEyj", "(anonymous namespace)::MCNullStreamer::EmitCommonSymbol(llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer21EmitLocalCommonSymbolEPN4llvm8MCSymbolEy", "(anonymous namespace)::MCNullStreamer::EmitLocalCommonSymbol(llvm::MCSymbol*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer12EmitZerofillEPKN4llvm9MCSectionEPNS1_8MCSymbolEjj", "(anonymous namespace)::MCNullStreamer::EmitZerofill(llvm::MCSection const*, llvm::MCSymbol*, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer14EmitTBSSSymbolEPKN4llvm9MCSectionEPNS1_8MCSymbolEyj", "(anonymous namespace)::MCNullStreamer::EmitTBSSSymbol(llvm::MCSection const*, llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer9EmitBytesEN4llvm9StringRefEj", "(anonymous namespace)::MCNullStreamer::EmitBytes(llvm::StringRef, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer13EmitValueImplEPKN4llvm6MCExprEjbj", "(anonymous namespace)::MCNullStreamer::EmitValueImpl(llvm::MCExpr const*, unsigned int, bool, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer16EmitULEB128ValueEPKN4llvm6MCExprEj", "(anonymous namespace)::MCNullStreamer::EmitULEB128Value(llvm::MCExpr const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer16EmitSLEB128ValueEPKN4llvm6MCExprEj", "(anonymous namespace)::MCNullStreamer::EmitSLEB128Value(llvm::MCExpr const*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer16EmitGPRel32ValueEPKN4llvm6MCExprE", "(anonymous namespace)::MCNullStreamer::EmitGPRel32Value(llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer20EmitValueToAlignmentEjxjj", "(anonymous namespace)::MCNullStreamer::EmitValueToAlignment(unsigned int, long long, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer17EmitCodeAlignmentEjj", "(anonymous namespace)::MCNullStreamer::EmitCodeAlignment(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer17EmitValueToOffsetEPKN4llvm6MCExprEh", "(anonymous namespace)::MCNullStreamer::EmitValueToOffset(llvm::MCExpr const*, unsigned char)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer17EmitFileDirectiveEN4llvm9StringRefE", "(anonymous namespace)::MCNullStreamer::EmitFileDirective(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer22EmitDwarfFileDirectiveEjN4llvm9StringRefE", "(anonymous namespace)::MCNullStreamer::EmitDwarfFileDirective(unsigned int, llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer21EmitDwarfLocDirectiveEjjjjjj", "(anonymous namespace)::MCNullStreamer::EmitDwarfLocDirective(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer24EmitDwarfAdvanceLineAddrExPKN4llvm8MCSymbolES4_", "(anonymous namespace)::MCNullStreamer::EmitDwarfAdvanceLineAddr(long long, llvm::MCSymbol const*, llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer15EmitInstructionERKN4llvm6MCInstE", "(anonymous namespace)::MCNullStreamer::EmitInstruction(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_114MCNullStreamer6FinishEv", "(anonymous namespace)::MCNullStreamer::Finish()"},
-    {"_ZNK4llvm10MCStreamer12isVerboseAsmEv", "llvm::MCStreamer::isVerboseAsm() const"},
-    {"_ZNK4llvm10MCStreamer17hasRawTextSupportEv", "llvm::MCStreamer::hasRawTextSupport() const"},
-    {"_ZN4llvm10MCStreamer10AddCommentERKNS_5TwineE", "llvm::MCStreamer::AddComment(llvm::Twine const&)"},
-    {"_ZN4llvm10MCStreamer12AddBlankLineEv", "llvm::MCStreamer::AddBlankLine()"},
-    {"_ZN4llvm10MCStreamer25EmitDwarfAdvanceFrameAddrEPKNS_8MCSymbolES3_", "llvm::MCStreamer::EmitDwarfAdvanceFrameAddr(llvm::MCSymbol const*, llvm::MCSymbol const*)"},
-    {"_ZN4llvm16MCObjectStreamerC1ERNS_9MCContextERNS_16TargetAsmBackendERNS_11raw_ostreamEPNS_13MCCodeEmitterE", "llvm::MCObjectStreamer::MCObjectStreamer(llvm::MCContext&, llvm::TargetAsmBackend&, llvm::raw_ostream&, llvm::MCCodeEmitter*)"},
-    {"_ZN4llvm16MCObjectStreamerC2ERNS_9MCContextERNS_16TargetAsmBackendERNS_11raw_ostreamEPNS_13MCCodeEmitterE", "llvm::MCObjectStreamer::MCObjectStreamer(llvm::MCContext&, llvm::TargetAsmBackend&, llvm::raw_ostream&, llvm::MCCodeEmitter*)"},
-    {"_ZN4llvm16MCObjectStreamerD0Ev", "llvm::MCObjectStreamer::~MCObjectStreamer()"},
-    {"_ZN4llvm16MCObjectStreamerD1Ev", "llvm::MCObjectStreamer::~MCObjectStreamer()"},
-    {"_ZN4llvm16MCObjectStreamerD2Ev", "llvm::MCObjectStreamer::~MCObjectStreamer()"},
-    {"_ZNK4llvm16MCObjectStreamer18getCurrentFragmentEv", "llvm::MCObjectStreamer::getCurrentFragment() const"},
-    {"_ZNK4llvm16MCObjectStreamer23getOrCreateDataFragmentEv", "llvm::MCObjectStreamer::getOrCreateDataFragment() const"},
-    {"_ZN4llvm16MCObjectStreamer15AddValueSymbolsEPKNS_6MCExprE", "llvm::MCObjectStreamer::AddValueSymbols(llvm::MCExpr const*)"},
-    {"_ZN4llvm16MCObjectStreamer13EmitValueImplEPKNS_6MCExprEjbj", "llvm::MCObjectStreamer::EmitValueImpl(llvm::MCExpr const*, unsigned int, bool, unsigned int)"},
-    {"_ZN4llvm16MCObjectStreamer9EmitLabelEPNS_8MCSymbolE", "llvm::MCObjectStreamer::EmitLabel(llvm::MCSymbol*)"},
-    {"_ZN4llvm16MCObjectStreamer16EmitULEB128ValueEPKNS_6MCExprEj", "llvm::MCObjectStreamer::EmitULEB128Value(llvm::MCExpr const*, unsigned int)"},
-    {"_ZN4llvm16MCObjectStreamer16EmitSLEB128ValueEPKNS_6MCExprEj", "llvm::MCObjectStreamer::EmitSLEB128Value(llvm::MCExpr const*, unsigned int)"},
-    {"_ZN4llvm16MCObjectStreamer17EmitWeakReferenceEPNS_8MCSymbolEPKS1_", "llvm::MCObjectStreamer::EmitWeakReference(llvm::MCSymbol*, llvm::MCSymbol const*)"},
-    {"_ZN4llvm16MCObjectStreamer13SwitchSectionEPKNS_9MCSectionE", "llvm::MCObjectStreamer::SwitchSection(llvm::MCSection const*)"},
-    {"_ZN4llvm16MCObjectStreamer15EmitInstructionERKNS_6MCInstE", "llvm::MCObjectStreamer::EmitInstruction(llvm::MCInst const&)"},
-    {"_ZN4llvm16MCObjectStreamer18EmitInstToFragmentERKNS_6MCInstE", "llvm::MCObjectStreamer::EmitInstToFragment(llvm::MCInst const&)"},
-    {"_ZN4llvm16MCObjectStreamer24EmitDwarfAdvanceLineAddrExPKNS_8MCSymbolES3_", "llvm::MCObjectStreamer::EmitDwarfAdvanceLineAddr(long long, llvm::MCSymbol const*, llvm::MCSymbol const*)"},
-    {"_ZN4llvm16MCObjectStreamer25EmitDwarfAdvanceFrameAddrEPKNS_8MCSymbolES3_", "llvm::MCObjectStreamer::EmitDwarfAdvanceFrameAddr(llvm::MCSymbol const*, llvm::MCSymbol const*)"},
-    {"_ZN4llvm16MCObjectStreamer17EmitValueToOffsetEPKNS_6MCExprEh", "llvm::MCObjectStreamer::EmitValueToOffset(llvm::MCExpr const*, unsigned char)"},
-    {"_ZN4llvm16MCObjectStreamer6FinishEv", "llvm::MCObjectStreamer::Finish()"},
-    {"_ZN4llvm13MCOrgFragmentD1Ev", "llvm::MCOrgFragment::~MCOrgFragment()"},
-    {"_ZN4llvm13MCOrgFragmentD0Ev", "llvm::MCOrgFragment::~MCOrgFragment()"},
-    {"_ZN4llvm24MCDwarfCallFrameFragmentD1Ev", "llvm::MCDwarfCallFrameFragment::~MCDwarfCallFrameFragment()"},
-    {"_ZN4llvm24MCDwarfCallFrameFragmentD0Ev", "llvm::MCDwarfCallFrameFragment::~MCDwarfCallFrameFragment()"},
-    {"_ZN4llvm23MCDwarfLineAddrFragmentD1Ev", "llvm::MCDwarfLineAddrFragment::~MCDwarfLineAddrFragment()"},
-    {"_ZN4llvm23MCDwarfLineAddrFragmentD0Ev", "llvm::MCDwarfLineAddrFragment::~MCDwarfLineAddrFragment()"},
-    {"_ZN4llvm13MCLEBFragmentD1Ev", "llvm::MCLEBFragment::~MCLEBFragment()"},
-    {"_ZN4llvm13MCLEBFragmentD0Ev", "llvm::MCLEBFragment::~MCLEBFragment()"},
-    {"_ZN4llvm14MCObjectWriterD0Ev", "llvm::MCObjectWriter::~MCObjectWriter()"},
-    {"_ZN4llvm14MCObjectWriterD1Ev", "llvm::MCObjectWriter::~MCObjectWriter()"},
-    {"_ZN4llvm14MCObjectWriterD2Ev", "llvm::MCObjectWriter::~MCObjectWriter()"},
-    {"_ZN4llvm14MCObjectWriter13EncodeSLEB128ExRNS_11raw_ostreamE", "llvm::MCObjectWriter::EncodeSLEB128(long long, llvm::raw_ostream&)"},
-    {"_ZN4llvm14MCObjectWriter13EncodeULEB128EyRNS_11raw_ostreamE", "llvm::MCObjectWriter::EncodeULEB128(unsigned long long, llvm::raw_ostream&)"},
-    {"_ZNK4llvm14MCObjectWriter34IsSymbolRefDifferenceFullyResolvedERKNS_11MCAssemblerEPKNS_15MCSymbolRefExprES6_b", "llvm::MCObjectWriter::IsSymbolRefDifferenceFullyResolved(llvm::MCAssembler const&, llvm::MCSymbolRefExpr const*, llvm::MCSymbolRefExpr const*, bool) const"},
-    {"_ZN4llvm9MCSectionD0Ev", "llvm::MCSection::~MCSection()"},
-    {"_ZN4llvm9MCSectionD1Ev", "llvm::MCSection::~MCSection()"},
-    {"_ZN4llvm9MCSectionD2Ev", "llvm::MCSection::~MCSection()"},
-    {"_ZN4llvm13MCSectionCOFFD0Ev", "llvm::MCSectionCOFF::~MCSectionCOFF()"},
-    {"_ZN4llvm13MCSectionCOFFD1Ev", "llvm::MCSectionCOFF::~MCSectionCOFF()"},
-    {"_ZN4llvm13MCSectionCOFFD2Ev", "llvm::MCSectionCOFF::~MCSectionCOFF()"},
-    {"_ZNK4llvm13MCSectionCOFF26ShouldOmitSectionDirectiveENS_9StringRefERKNS_9MCAsmInfoE", "llvm::MCSectionCOFF::ShouldOmitSectionDirective(llvm::StringRef, llvm::MCAsmInfo const&) const"},
-    {"_ZNK4llvm13MCSectionCOFF20PrintSwitchToSectionERKNS_9MCAsmInfoERNS_11raw_ostreamE", "llvm::MCSectionCOFF::PrintSwitchToSection(llvm::MCAsmInfo const&, llvm::raw_ostream&) const"},
-    {"_ZNK4llvm13MCSectionCOFF12UseCodeAlignEv", "llvm::MCSectionCOFF::UseCodeAlign() const"},
-    {"_ZNK4llvm13MCSectionCOFF16isVirtualSectionEv", "llvm::MCSectionCOFF::isVirtualSection() const"},
-    {"_ZN4llvm12MCSectionELFD0Ev", "llvm::MCSectionELF::~MCSectionELF()"},
-    {"_ZN4llvm12MCSectionELFD1Ev", "llvm::MCSectionELF::~MCSectionELF()"},
-    {"_ZN4llvm12MCSectionELFD2Ev", "llvm::MCSectionELF::~MCSectionELF()"},
-    {"_ZNK4llvm12MCSectionELF26ShouldOmitSectionDirectiveENS_9StringRefERKNS_9MCAsmInfoE", "llvm::MCSectionELF::ShouldOmitSectionDirective(llvm::StringRef, llvm::MCAsmInfo const&) const"},
-    {"_ZNK4llvm12MCSectionELF20PrintSwitchToSectionERKNS_9MCAsmInfoERNS_11raw_ostreamE", "llvm::MCSectionELF::PrintSwitchToSection(llvm::MCAsmInfo const&, llvm::raw_ostream&) const"},
-    {"_ZNK4llvm12MCSectionELF12UseCodeAlignEv", "llvm::MCSectionELF::UseCodeAlign() const"},
-    {"_ZNK4llvm12MCSectionELF16isVirtualSectionEv", "llvm::MCSectionELF::isVirtualSection() const"},
-    {"_ZNK4llvm12MCSectionELF16HasCommonSymbolsEv", "llvm::MCSectionELF::HasCommonSymbols() const"},
-    {"_ZN4llvm12MCSectionELF18DetermineEntrySizeENS_11SectionKindE", "llvm::MCSectionELF::DetermineEntrySize(llvm::SectionKind)"},
-    {"_ZN4llvm14MCSectionMachOC1ENS_9StringRefES1_jjNS_11SectionKindE", "llvm::MCSectionMachO::MCSectionMachO(llvm::StringRef, llvm::StringRef, unsigned int, unsigned int, llvm::SectionKind)"},
-    {"_ZN4llvm14MCSectionMachOC2ENS_9StringRefES1_jjNS_11SectionKindE", "llvm::MCSectionMachO::MCSectionMachO(llvm::StringRef, llvm::StringRef, unsigned int, unsigned int, llvm::SectionKind)"},
-    {"_ZNK4llvm14MCSectionMachO20PrintSwitchToSectionERKNS_9MCAsmInfoERNS_11raw_ostreamE", "llvm::MCSectionMachO::PrintSwitchToSection(llvm::MCAsmInfo const&, llvm::raw_ostream&) const"},
-    {"_ZNK4llvm14MCSectionMachO12UseCodeAlignEv", "llvm::MCSectionMachO::UseCodeAlign() const"},
-    {"_ZNK4llvm14MCSectionMachO16isVirtualSectionEv", "llvm::MCSectionMachO::isVirtualSection() const"},
-    {"_ZN4llvm14MCSectionMachO21ParseSectionSpecifierENS_9StringRefERS1_S2_RjS3_", "llvm::MCSectionMachO::ParseSectionSpecifier(llvm::StringRef, llvm::StringRef&, llvm::StringRef&, unsigned int&, unsigned int&)"},
-    {"_Z11StripSpacesRN4llvm9StringRefE", "StripSpaces(llvm::StringRef&)"},
-    {"_ZN4llvm14MCSectionMachOD1Ev", "llvm::MCSectionMachO::~MCSectionMachO()"},
-    {"_ZN4llvm14MCSectionMachOD0Ev", "llvm::MCSectionMachO::~MCSectionMachO()"},
-    {"_ZN4llvm10MCStreamerC1ERNS_9MCContextE", "llvm::MCStreamer::MCStreamer(llvm::MCContext&)"},
-    {"_ZN4llvm10MCStreamerC2ERNS_9MCContextE", "llvm::MCStreamer::MCStreamer(llvm::MCContext&)"},
-    {"_ZN4llvm10MCStreamerD0Ev", "llvm::MCStreamer::~MCStreamer()"},
-    {"_ZN4llvm10MCStreamerD1Ev", "llvm::MCStreamer::~MCStreamer()"},
-    {"_ZN4llvm10MCStreamerD2Ev", "llvm::MCStreamer::~MCStreamer()"},
-    {"_ZN4llvm10MCStreamer12GetCommentOSEv", "llvm::MCStreamer::GetCommentOS()"},
-    {"_ZN4llvm10MCStreamer20EmitDwarfSetLineAddrExPKNS_8MCSymbolEi", "llvm::MCStreamer::EmitDwarfSetLineAddr(long long, llvm::MCSymbol const*, int)"},
-    {"_ZN4llvm10MCStreamer19EmitULEB128IntValueEyj", "llvm::MCStreamer::EmitULEB128IntValue(unsigned long long, unsigned int)"},
-    {"_ZN4llvm10MCStreamer15EmitSymbolValueEPKNS_8MCSymbolEjj", "llvm::MCStreamer::EmitSymbolValue(llvm::MCSymbol const*, unsigned int, unsigned int)"},
-    {"_ZN4llvm10MCStreamer12EmitIntValueEyjj", "llvm::MCStreamer::EmitIntValue(unsigned long long, unsigned int, unsigned int)"},
-    {"_ZN4llvm10MCStreamer19EmitSLEB128IntValueExj", "llvm::MCStreamer::EmitSLEB128IntValue(long long, unsigned int)"},
-    {"_ZN4llvm10MCStreamer12EmitAbsValueEPKNS_6MCExprEjj", "llvm::MCStreamer::EmitAbsValue(llvm::MCExpr const*, unsigned int, unsigned int)"},
-    {"_ZN4llvm10MCStreamer9EmitValueEPKNS_6MCExprEjj", "llvm::MCStreamer::EmitValue(llvm::MCExpr const*, unsigned int, unsigned int)"},
-    {"_ZN4llvm10MCStreamer14EmitPCRelValueEPKNS_6MCExprEjj", "llvm::MCStreamer::EmitPCRelValue(llvm::MCExpr const*, unsigned int, unsigned int)"},
-    {"_ZN4llvm10MCStreamer15EmitSymbolValueEPKNS_8MCSymbolEjbj", "llvm::MCStreamer::EmitSymbolValue(llvm::MCSymbol const*, unsigned int, bool, unsigned int)"},
-    {"_ZN4llvm10MCStreamer20EmitPCRelSymbolValueEPKNS_8MCSymbolEjj", "llvm::MCStreamer::EmitPCRelSymbolValue(llvm::MCSymbol const*, unsigned int, unsigned int)"},
-    {"_ZN4llvm10MCStreamer16EmitGPRel32ValueEPKNS_6MCExprE", "llvm::MCStreamer::EmitGPRel32Value(llvm::MCExpr const*)"},
-    {"_ZN4llvm10MCStreamer8EmitFillEyhj", "llvm::MCStreamer::EmitFill(unsigned long long, unsigned char, unsigned int)"},
-    {"_ZN4llvm10MCStreamer22EmitDwarfFileDirectiveEjNS_9StringRefE", "llvm::MCStreamer::EmitDwarfFileDirective(unsigned int, llvm::StringRef)"},
-    {"_ZN4llvm10MCStreamer21EmitDwarfLocDirectiveEjjjjjj", "llvm::MCStreamer::EmitDwarfLocDirective(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)"},
-    {"_ZN4llvm10MCStreamer19getCurrentFrameInfoEv", "llvm::MCStreamer::getCurrentFrameInfo()"},
-    {"_ZN4llvm10MCStreamer16EnsureValidFrameEv", "llvm::MCStreamer::EnsureValidFrame()"},
-    {"_ZN4llvm10MCStreamer16EmitCFIStartProcEv", "llvm::MCStreamer::EmitCFIStartProc()"},
-    {"_ZN4llvm10MCStreamer14EmitCFIEndProcEv", "llvm::MCStreamer::EmitCFIEndProc()"},
-    {"_ZN4llvm10MCStreamer13EmitCFIDefCfaExx", "llvm::MCStreamer::EmitCFIDefCfa(long long, long long)"},
-    {"_ZN4llvm10MCStreamer19EmitCFIDefCfaOffsetEx", "llvm::MCStreamer::EmitCFIDefCfaOffset(long long)"},
-    {"_ZN4llvm10MCStreamer21EmitCFIDefCfaRegisterEx", "llvm::MCStreamer::EmitCFIDefCfaRegister(long long)"},
-    {"_ZN4llvm10MCStreamer13EmitCFIOffsetExx", "llvm::MCStreamer::EmitCFIOffset(long long, long long)"},
-    {"_ZN4llvm10MCStreamer18EmitCFIPersonalityEPKNS_8MCSymbolEj", "llvm::MCStreamer::EmitCFIPersonality(llvm::MCSymbol const*, unsigned int)"},
-    {"_ZN4llvm10MCStreamer11EmitCFILsdaEPKNS_8MCSymbolEj", "llvm::MCStreamer::EmitCFILsda(llvm::MCSymbol const*, unsigned int)"},
-    {"_ZN4llvm10MCStreamer20EmitCFIRememberStateEv", "llvm::MCStreamer::EmitCFIRememberState()"},
-    {"_ZN4llvm10MCStreamer19EmitCFIRestoreStateEv", "llvm::MCStreamer::EmitCFIRestoreState()"},
-    {"_ZN4llvm10MCStreamer11EmitRawTextENS_9StringRefE", "llvm::MCStreamer::EmitRawText(llvm::StringRef)"},
-    {"_ZN4llvm10MCStreamer11EmitRawTextERKNS_5TwineE", "llvm::MCStreamer::EmitRawText(llvm::Twine const&)"},
-    {"_ZNSt6vectorIN4llvm16MCCFIInstructionESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MCCFIInstruction*, std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction> > >, llvm::MCCFIInstruction const&)"},
-    {"_ZNSt6vectorIN4llvm16MCDwarfFrameInfoESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_", "std::vector<llvm::MCDwarfFrameInfo, std::allocator<llvm::MCDwarfFrameInfo> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::MCDwarfFrameInfo*, std::vector<llvm::MCDwarfFrameInfo, std::allocator<llvm::MCDwarfFrameInfo> > >, llvm::MCDwarfFrameInfo const&)"},
-    {"_ZNSt6vectorIN4llvm16MCCFIInstructionESaIS1_EEaSERKS3_", "std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction> >::operator=(std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction> > const&)"},
-    {"_ZNSt6vectorIN4llvm16MCCFIInstructionESaIS1_EEC2ERKS3_", "std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction> >::vector(std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction> > const&)"},
-    {"_ZNK4llvm8MCSymbol13AliasedSymbolEv", "llvm::MCSymbol::AliasedSymbol() const"},
-    {"_ZN4llvm8MCSymbol16setVariableValueEPKNS_6MCExprE", "llvm::MCSymbol::setVariableValue(llvm::MCExpr const*)"},
-    {"_ZNK4llvm8MCSymbol5printERNS_11raw_ostreamE", "llvm::MCSymbol::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm8MCSymbol4dumpEv", "llvm::MCSymbol::dump() const"},
-    {"_ZN4llvm22createMachObjectWriterEPNS_24MCMachObjectTargetWriterERNS_11raw_ostreamEb", "llvm::createMachObjectWriter(llvm::MCMachObjectTargetWriter*, llvm::raw_ostream&, bool)"},
-    {"_ZN12_GLOBAL__N_116MachObjectWriterD1Ev", "(anonymous namespace)::MachObjectWriter::~MachObjectWriter()"},
-    {"_ZN12_GLOBAL__N_116MachObjectWriterD0Ev", "(anonymous namespace)::MachObjectWriter::~MachObjectWriter()"},
-    {"_ZN12_GLOBAL__N_116MachObjectWriter24ExecutePostLayoutBindingERN4llvm11MCAssemblerERKNS1_11MCAsmLayoutE", "(anonymous namespace)::MachObjectWriter::ExecutePostLayoutBinding(llvm::MCAssembler&, llvm::MCAsmLayout const&)"},
-    {"_ZN12_GLOBAL__N_116MachObjectWriter16RecordRelocationERKN4llvm11MCAssemblerERKNS1_11MCAsmLayoutEPKNS1_10MCFragmentERKNS1_7MCFixupENS1_7MCValueERy", "(anonymous namespace)::MachObjectWriter::RecordRelocation(llvm::MCAssembler const&, llvm::MCAsmLayout const&, llvm::MCFragment const*, llvm::MCFixup const&, llvm::MCValue, unsigned long long&)"},
-    {"_ZNK12_GLOBAL__N_116MachObjectWriter38IsSymbolRefDifferenceFullyResolvedImplERKN4llvm11MCAssemblerERKNS1_12MCSymbolDataERKNS1_10MCFragmentEbb", "(anonymous namespace)::MachObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl(llvm::MCAssembler const&, llvm::MCSymbolData const&, llvm::MCFragment const&, bool, bool) const"},
-    {"_ZN12_GLOBAL__N_116MachObjectWriter11WriteObjectERN4llvm11MCAssemblerERKNS1_11MCAsmLayoutE", "(anonymous namespace)::MachObjectWriter::WriteObject(llvm::MCAssembler&, llvm::MCAsmLayout const&)"},
-    {"_ZNK12_GLOBAL__N_116MachObjectWriter14getPaddingSizeEPKN4llvm13MCSectionDataERKNS1_11MCAsmLayoutE", "(anonymous namespace)::MachObjectWriter::getPaddingSize(llvm::MCSectionData const*, llvm::MCAsmLayout const&) const"},
-    {"_ZN12_GLOBAL__N_116MachObjectWriter10WriteNlistERNS0_14MachSymbolDataERKN4llvm11MCAsmLayoutE", "(anonymous namespace)::MachObjectWriter::WriteNlist((anonymous namespace)::MachObjectWriter::MachSymbolData&, llvm::MCAsmLayout const&)"},
-    {"_ZN12_GLOBAL__N_116MachObjectWriter25RecordScatteredRelocationERKN4llvm11MCAssemblerERKNS1_11MCAsmLayoutEPKNS1_10MCFragmentERKNS1_7MCFixupENS1_7MCValueEjRy", "(anonymous namespace)::MachObjectWriter::RecordScatteredRelocation(llvm::MCAssembler const&, llvm::MCAsmLayout const&, llvm::MCFragment const*, llvm::MCFixup const&, llvm::MCValue, unsigned int, unsigned long long&)"},
-    {"_ZN12_GLOBAL__N_116MachObjectWriter28RecordARMScatteredRelocationERKN4llvm11MCAssemblerERKNS1_11MCAsmLayoutEPKNS1_10MCFragmentERKNS1_7MCFixupENS1_7MCValueEjRy", "(anonymous namespace)::MachObjectWriter::RecordARMScatteredRelocation(llvm::MCAssembler const&, llvm::MCAsmLayout const&, llvm::MCFragment const*, llvm::MCFixup const&, llvm::MCValue, unsigned int, unsigned long long&)"},
-    {"_ZNSt6vectorIN12_GLOBAL__N_116MachObjectWriter14MachSymbolDataESaIS2_EE9push_backERKS2_", "std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> >::push_back((anonymous namespace)::MachObjectWriter::MachSymbolData const&)"},
-    {"_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_116MachObjectWriter14MachSymbolDataESt6vectorIS4_SaIS4_EEEEEvT_SA_", "void std::sort<__gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > > >(__gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >)"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_116MachObjectWriter14MachSymbolDataESt6vectorIS4_SaIS4_EEEElEvT_SA_T0_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >, long>(__gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >, long)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_116MachObjectWriter14MachSymbolDataESt6vectorIS4_SaIS4_EEEEEvT_SA_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > > >(__gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >, __gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_116MachObjectWriter14MachSymbolDataESt6vectorIS4_SaIS4_EEEElS4_EvT_T0_SB_T1_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >, long, (anonymous namespace)::MachObjectWriter::MachSymbolData>(__gnu_cxx::__normal_iterator<(anonymous namespace)::MachObjectWriter::MachSymbolData*, std::vector<(anonymous namespace)::MachObjectWriter::MachSymbolData, std::allocator<(anonymous namespace)::MachObjectWriter::MachSymbolData> > >, long, long, (anonymous namespace)::MachObjectWriter::MachSymbolData)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataESt6vectorINS_6object5macho15RelocationEntryESaIS7_EENS_12DenseMapInfoIS3_EENSA_IS9_EEE16FindAndConstructERKS3_", "llvm::DenseMap<llvm::MCSectionData const*, std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> >, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> > > >::FindAndConstruct(llvm::MCSectionData const* const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataESt6vectorINS_6object5macho15RelocationEntryESaIS7_EENS_12DenseMapInfoIS3_EENSA_IS9_EEE16InsertIntoBucketERKS3_RKS9_PSt4pairIS3_S9_E", "llvm::DenseMap<llvm::MCSectionData const*, std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> >, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> > > >::InsertIntoBucket(llvm::MCSectionData const* const&, std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> > const&, std::pair<llvm::MCSectionData const*, std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> > >*)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataESt6vectorINS_6object5macho15RelocationEntryESaIS7_EENS_12DenseMapInfoIS3_EENSA_IS9_EEE4growEj", "llvm::DenseMap<llvm::MCSectionData const*, std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> >, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> > > >::grow(unsigned int)"},
-    {"_ZNSt6vectorIN4llvm6object5macho15RelocationEntryESaIS3_EEC2ERKS5_", "std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> >::vector(std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> > const&)"},
-    {"_ZNSt6vectorIN4llvm6object5macho15RelocationEntryESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::object::macho::RelocationEntry*, std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> > >, llvm::object::macho::RelocationEntry const&)"},
-    {"_ZN4llvm9StringMapIyNS_15MallocAllocatorEE16GetOrCreateValueIyEERNS_14StringMapEntryIyEENS_9StringRefET_", "llvm::StringMapEntry<unsigned long long>& llvm::StringMap<unsigned long long, llvm::MallocAllocator>::GetOrCreateValue<unsigned long long>(llvm::StringRef, unsigned long long)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEhNS_12DenseMapInfoIS3_EENS4_IhEEE16InsertIntoBucketERKS3_RKhPSt4pairIS3_hE", "llvm::DenseMap<llvm::MCSection const*, unsigned char, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<unsigned char> >::InsertIntoBucket(llvm::MCSection const* const&, unsigned char const&, std::pair<llvm::MCSection const*, unsigned char>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEhNS_12DenseMapInfoIS3_EENS4_IhEEE4growEj", "llvm::DenseMap<llvm::MCSection const*, unsigned char, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<unsigned char> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataEjNS_12DenseMapInfoIS3_EENS4_IjEEE16InsertIntoBucketERKS3_RKjPSt4pairIS3_jE", "llvm::DenseMap<llvm::MCSectionData const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned int> >::InsertIntoBucket(llvm::MCSectionData const* const&, unsigned int const&, std::pair<llvm::MCSectionData const*, unsigned int>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataEjNS_12DenseMapInfoIS3_EENS4_IjEEE4growEj", "llvm::DenseMap<llvm::MCSectionData const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataEyNS_12DenseMapInfoIS3_EENS4_IyEEE16InsertIntoBucketERKS3_RKyPSt4pairIS3_yE", "llvm::DenseMap<llvm::MCSectionData const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned long long> >::InsertIntoBucket(llvm::MCSectionData const* const&, unsigned long long const&, std::pair<llvm::MCSectionData const*, unsigned long long>*)"},
-    {"_ZN4llvm8DenseMapIPKNS_13MCSectionDataEyNS_12DenseMapInfoIS3_EENS4_IyEEE4growEj", "llvm::DenseMap<llvm::MCSectionData const*, unsigned long long, llvm::DenseMapInfo<llvm::MCSectionData const*>, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int)"},
-    {"_ZN4llvm16TargetAsmBackendC1Ev", "llvm::TargetAsmBackend::TargetAsmBackend()"},
-    {"_ZN4llvm16TargetAsmBackendC2Ev", "llvm::TargetAsmBackend::TargetAsmBackend()"},
-    {"_ZN4llvm16TargetAsmBackendD0Ev", "llvm::TargetAsmBackend::~TargetAsmBackend()"},
-    {"_ZN4llvm16TargetAsmBackendD1Ev", "llvm::TargetAsmBackend::~TargetAsmBackend()"},
-    {"_ZN4llvm16TargetAsmBackendD2Ev", "llvm::TargetAsmBackend::~TargetAsmBackend()"},
-    {"_ZNK4llvm16TargetAsmBackend16getFixupKindInfoENS_11MCFixupKindE", "llvm::TargetAsmBackend::getFixupKindInfo(llvm::MCFixupKind) const"},
-    {"_ZN4llvm25createWinCOFFObjectWriterERNS_11raw_ostreamEb", "llvm::createWinCOFFObjectWriter(llvm::raw_ostream&, bool)"},
-    {"_ZN12_GLOBAL__N_119WinCOFFObjectWriterD1Ev", "(anonymous namespace)::WinCOFFObjectWriter::~WinCOFFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_119WinCOFFObjectWriterD0Ev", "(anonymous namespace)::WinCOFFObjectWriter::~WinCOFFObjectWriter()"},
-    {"_ZN12_GLOBAL__N_119WinCOFFObjectWriter24ExecutePostLayoutBindingERN4llvm11MCAssemblerERKNS1_11MCAsmLayoutE", "(anonymous namespace)::WinCOFFObjectWriter::ExecutePostLayoutBinding(llvm::MCAssembler&, llvm::MCAsmLayout const&)"},
-    {"_ZN12_GLOBAL__N_119WinCOFFObjectWriter16RecordRelocationERKN4llvm11MCAssemblerERKNS1_11MCAsmLayoutEPKNS1_10MCFragmentERKNS1_7MCFixupENS1_7MCValueERy", "(anonymous namespace)::WinCOFFObjectWriter::RecordRelocation(llvm::MCAssembler const&, llvm::MCAsmLayout const&, llvm::MCFragment const*, llvm::MCFixup const&, llvm::MCValue, unsigned long long&)"},
-    {"_ZNK12_GLOBAL__N_119WinCOFFObjectWriter38IsSymbolRefDifferenceFullyResolvedImplERKN4llvm11MCAssemblerERKNS1_12MCSymbolDataERKNS1_10MCFragmentEbb", "(anonymous namespace)::WinCOFFObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl(llvm::MCAssembler const&, llvm::MCSymbolData const&, llvm::MCFragment const&, bool, bool) const"},
-    {"_ZN12_GLOBAL__N_119WinCOFFObjectWriter11WriteObjectERN4llvm11MCAssemblerERKNS1_11MCAsmLayoutE", "(anonymous namespace)::WinCOFFObjectWriter::WriteObject(llvm::MCAssembler&, llvm::MCAsmLayout const&)"},
-    {"_ZN4llvm8DenseMapIPKNS_9MCSectionEPN12_GLOBAL__N_111COFFSectionENS_12DenseMapInfoIS3_EENS7_IS6_EEEixERKS3_", "llvm::DenseMap<llvm::MCSection const*, (anonymous namespace)::COFFSection*, llvm::DenseMapInfo<llvm::MCSection const*>, llvm::DenseMapInfo<(anonymous namespace)::COFFSection*> >::operator[](llvm::MCSection const* const&)"},
-    {"_ZN12_GLOBAL__N_111StringTable6insertEN4llvm9StringRefE", "(anonymous namespace)::StringTable::insert(llvm::StringRef)"},
-    {"_ZN4llvm8DenseMapIPKNS_8MCSymbolEPN12_GLOBAL__N_110COFFSymbolENS_12DenseMapInfoIS3_EENS7_IS6_EEEixERKS3_", "llvm::DenseMap<llvm::MCSymbol const*, (anonymous namespace)::COFFSymbol*, llvm::DenseMapInfo<llvm::MCSymbol const*>, llvm::DenseMapInfo<(anonymous namespace)::COFFSymbol*> >::operator[](llvm::MCSymbol const* const&)"},
-    {"_ZN12_GLOBAL__N_119WinCOFFObjectWriter21GetOrCreateCOFFSymbolEPKN4llvm8MCSymbolE", "(anonymous namespace)::WinCOFFObjectWriter::GetOrCreateCOFFSymbol(llvm::MCSymbol const*)"},
-    {"_ZN4llvm15SmallVectorImplIN12_GLOBAL__N_19AuxSymbolEE6resizeEj", "llvm::SmallVectorImpl<(anonymous namespace)::AuxSymbol>::resize(unsigned int)"},
-    {"_ZN12_GLOBAL__N_119WinCOFFObjectWriter16createCOFFEntityINS_10COFFSymbolESt6vectorIPS2_SaIS4_EEEEPT_N4llvm9StringRefERT0_", "(anonymous namespace)::COFFSymbol* (anonymous namespace)::WinCOFFObjectWriter::createCOFFEntity<(anonymous namespace)::COFFSymbol, std::vector<(anonymous namespace)::COFFSymbol*, std::allocator<(anonymous namespace)::COFFSymbol*> > >(llvm::StringRef, std::vector<(anonymous namespace)::COFFSymbol*, std::allocator<(anonymous namespace)::COFFSymbol*> >&)"},
-    {"_ZN4llvm9StringMapImNS_15MallocAllocatorEE16GetOrCreateValueImEERNS_14StringMapEntryImEENS_9StringRefET_", "llvm::StringMapEntry<unsigned long>& llvm::StringMap<unsigned long, llvm::MallocAllocator>::GetOrCreateValue<unsigned long>(llvm::StringRef, unsigned long)"},
-    {"_ZNSt6vectorIcSaIcEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPcS1_EERKc", "std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&)"},
-    {"_ZNSt6vectorIcSaIcEE15_M_range_insertIPKcEEvN9__gnu_cxx17__normal_iteratorIPcS1_EET_S9_St20forward_iterator_tag", "void std::vector<char, std::allocator<char> >::_M_range_insert<char const*>(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const*, char const*, std::forward_iterator_tag)"},
-    {"_ZN4llvm21createWinCOFFStreamerERNS_9MCContextERNS_16TargetAsmBackendERNS_13MCCodeEmitterERNS_11raw_ostreamEb", "llvm::createWinCOFFStreamer(llvm::MCContext&, llvm::TargetAsmBackend&, llvm::MCCodeEmitter&, llvm::raw_ostream&, bool)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamerD1Ev", "(anonymous namespace)::WinCOFFStreamer::~WinCOFFStreamer()"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamerD0Ev", "(anonymous namespace)::WinCOFFStreamer::~WinCOFFStreamer()"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer12InitSectionsEv", "(anonymous namespace)::WinCOFFStreamer::InitSections()"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer9EmitLabelEPN4llvm8MCSymbolE", "(anonymous namespace)::WinCOFFStreamer::EmitLabel(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer17EmitAssemblerFlagEN4llvm15MCAssemblerFlagE", "(anonymous namespace)::WinCOFFStreamer::EmitAssemblerFlag(llvm::MCAssemblerFlag)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer13EmitThumbFuncEPN4llvm8MCSymbolE", "(anonymous namespace)::WinCOFFStreamer::EmitThumbFunc(llvm::MCSymbol*)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer14EmitAssignmentEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::WinCOFFStreamer::EmitAssignment(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer19EmitSymbolAttributeEPN4llvm8MCSymbolENS1_12MCSymbolAttrE", "(anonymous namespace)::WinCOFFStreamer::EmitSymbolAttribute(llvm::MCSymbol*, llvm::MCSymbolAttr)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer14EmitSymbolDescEPN4llvm8MCSymbolEj", "(anonymous namespace)::WinCOFFStreamer::EmitSymbolDesc(llvm::MCSymbol*, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer18BeginCOFFSymbolDefEPKN4llvm8MCSymbolE", "(anonymous namespace)::WinCOFFStreamer::BeginCOFFSymbolDef(llvm::MCSymbol const*)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer26EmitCOFFSymbolStorageClassEi", "(anonymous namespace)::WinCOFFStreamer::EmitCOFFSymbolStorageClass(int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer18EmitCOFFSymbolTypeEi", "(anonymous namespace)::WinCOFFStreamer::EmitCOFFSymbolType(int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer16EndCOFFSymbolDefEv", "(anonymous namespace)::WinCOFFStreamer::EndCOFFSymbolDef()"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer11EmitELFSizeEPN4llvm8MCSymbolEPKNS1_6MCExprE", "(anonymous namespace)::WinCOFFStreamer::EmitELFSize(llvm::MCSymbol*, llvm::MCExpr const*)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer16EmitCommonSymbolEPN4llvm8MCSymbolEyj", "(anonymous namespace)::WinCOFFStreamer::EmitCommonSymbol(llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer21EmitLocalCommonSymbolEPN4llvm8MCSymbolEy", "(anonymous namespace)::WinCOFFStreamer::EmitLocalCommonSymbol(llvm::MCSymbol*, unsigned long long)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer12EmitZerofillEPKN4llvm9MCSectionEPNS1_8MCSymbolEjj", "(anonymous namespace)::WinCOFFStreamer::EmitZerofill(llvm::MCSection const*, llvm::MCSymbol*, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer14EmitTBSSSymbolEPKN4llvm9MCSectionEPNS1_8MCSymbolEyj", "(anonymous namespace)::WinCOFFStreamer::EmitTBSSSymbol(llvm::MCSection const*, llvm::MCSymbol*, unsigned long long, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer9EmitBytesEN4llvm9StringRefEj", "(anonymous namespace)::WinCOFFStreamer::EmitBytes(llvm::StringRef, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer20EmitValueToAlignmentEjxjj", "(anonymous namespace)::WinCOFFStreamer::EmitValueToAlignment(unsigned int, long long, unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer17EmitCodeAlignmentEjj", "(anonymous namespace)::WinCOFFStreamer::EmitCodeAlignment(unsigned int, unsigned int)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer17EmitFileDirectiveEN4llvm9StringRefE", "(anonymous namespace)::WinCOFFStreamer::EmitFileDirective(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer15EmitInstructionERKN4llvm6MCInstE", "(anonymous namespace)::WinCOFFStreamer::EmitInstruction(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer6FinishEv", "(anonymous namespace)::WinCOFFStreamer::Finish()"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer14EmitInstToDataERKN4llvm6MCInstE", "(anonymous namespace)::WinCOFFStreamer::EmitInstToData(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer18EmitInstToFragmentERKN4llvm6MCInstE", "(anonymous namespace)::WinCOFFStreamer::EmitInstToFragment(llvm::MCInst const&)"},
-    {"_ZN12_GLOBAL__N_115WinCOFFStreamer15AddCommonSymbolEPN4llvm8MCSymbolEyjb", "(anonymous namespace)::WinCOFFStreamer::AddCommonSymbol(llvm::MCSymbol*, unsigned long long, unsigned int, bool)"},
-    {"_ZN4llvm14MCInstFragmentD1Ev", "llvm::MCInstFragment::~MCInstFragment()"},
-    {"_ZN4llvm14MCInstFragmentD0Ev", "llvm::MCInstFragment::~MCInstFragment()"},
-    {"_ZN4llvm7APFloat10initializeEPKNS_12fltSemanticsE", "llvm::APFloat::initialize(llvm::fltSemantics const*)"},
-    {"_ZNK4llvm7APFloat9partCountEv", "llvm::APFloat::partCount() const"},
-    {"_ZN4llvm7APFloat15freeSignificandEv", "llvm::APFloat::freeSignificand()"},
-    {"_ZN4llvm7APFloat6assignERKS0_", "llvm::APFloat::assign(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloat15copySignificandERKS0_", "llvm::APFloat::copySignificand(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloat16significandPartsEv", "llvm::APFloat::significandParts()"},
-    {"_ZNK4llvm7APFloat16significandPartsEv", "llvm::APFloat::significandParts() const"},
-    {"_ZN4llvm7APFloat7makeNaNEbbPKNS_5APIntE", "llvm::APFloat::makeNaN(bool, bool, llvm::APInt const*)"},
-    {"_ZN4llvm7APFloat7makeNaNERKNS_12fltSemanticsEbbPKNS_5APIntE", "llvm::APFloat::makeNaN(llvm::fltSemantics const&, bool, bool, llvm::APInt const*)"},
-    {"_ZN4llvm7APFloatC1ERKNS_12fltSemanticsENS0_16uninitializedTagE", "llvm::APFloat::APFloat(llvm::fltSemantics const&, llvm::APFloat::uninitializedTag)"},
-    {"_ZN4llvm7APFloatD1Ev", "llvm::APFloat::~APFloat()"},
-    {"_ZN4llvm7APFloataSERKS0_", "llvm::APFloat::operator=(llvm::APFloat const&)"},
-    {"_ZNK4llvm7APFloat14bitwiseIsEqualERKS0_", "llvm::APFloat::bitwiseIsEqual(llvm::APFloat const&) const"},
-    {"_ZN4llvm7APFloatC1ERKNS_12fltSemanticsEy", "llvm::APFloat::APFloat(llvm::fltSemantics const&, unsigned long long)"},
-    {"_ZN4llvm7APFloatC2ERKNS_12fltSemanticsEy", "llvm::APFloat::APFloat(llvm::fltSemantics const&, unsigned long long)"},
-    {"_ZN4llvm7APFloat15zeroSignificandEv", "llvm::APFloat::zeroSignificand()"},
-    {"_ZN4llvm7APFloat9normalizeENS0_12roundingModeENS_12lostFractionE", "llvm::APFloat::normalize(llvm::APFloat::roundingMode, llvm::lostFraction)"},
-    {"_ZN4llvm7APFloatC1ERKNS_12fltSemanticsE", "llvm::APFloat::APFloat(llvm::fltSemantics const&)"},
-    {"_ZN4llvm7APFloatC2ERKNS_12fltSemanticsE", "llvm::APFloat::APFloat(llvm::fltSemantics const&)"},
-    {"_ZN4llvm7APFloatC2ERKNS_12fltSemanticsENS0_16uninitializedTagE", "llvm::APFloat::APFloat(llvm::fltSemantics const&, llvm::APFloat::uninitializedTag)"},
-    {"_ZN4llvm7APFloatC1ERKNS_12fltSemanticsENS0_11fltCategoryEb", "llvm::APFloat::APFloat(llvm::fltSemantics const&, llvm::APFloat::fltCategory, bool)"},
-    {"_ZN4llvm7APFloatC2ERKNS_12fltSemanticsENS0_11fltCategoryEb", "llvm::APFloat::APFloat(llvm::fltSemantics const&, llvm::APFloat::fltCategory, bool)"},
-    {"_ZN4llvm7APFloatC1ERKNS_12fltSemanticsENS_9StringRefE", "llvm::APFloat::APFloat(llvm::fltSemantics const&, llvm::StringRef)"},
-    {"_ZN4llvm7APFloatC2ERKNS_12fltSemanticsENS_9StringRefE", "llvm::APFloat::APFloat(llvm::fltSemantics const&, llvm::StringRef)"},
-    {"_ZN4llvm7APFloat17convertFromStringENS_9StringRefENS0_12roundingModeE", "llvm::APFloat::convertFromString(llvm::StringRef, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloatC1ERKS0_", "llvm::APFloat::APFloat(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloatC2ERKS0_", "llvm::APFloat::APFloat(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloatD2Ev", "llvm::APFloat::~APFloat()"},
-    {"_ZNK4llvm7APFloat7ProfileERNS_16FoldingSetNodeIDE", "llvm::APFloat::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZNK4llvm7APFloat14bitcastToAPIntEv", "llvm::APFloat::bitcastToAPInt() const"},
-    {"_ZN4llvm7APFloat18semanticsPrecisionERKNS_12fltSemanticsE", "llvm::APFloat::semanticsPrecision(llvm::fltSemantics const&)"},
-    {"_ZN4llvm7APFloat20incrementSignificandEv", "llvm::APFloat::incrementSignificand()"},
-    {"_ZN4llvm7APFloat14addSignificandERKS0_", "llvm::APFloat::addSignificand(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloat19subtractSignificandERKS0_y", "llvm::APFloat::subtractSignificand(llvm::APFloat const&, unsigned long long)"},
-    {"_ZN4llvm7APFloat19multiplySignificandERKS0_PS1_", "llvm::APFloat::multiplySignificand(llvm::APFloat const&, llvm::APFloat const*)"},
-    {"_ZN4llvm7APFloat7convertERKNS_12fltSemanticsENS0_12roundingModeEPb", "llvm::APFloat::convert(llvm::fltSemantics const&, llvm::APFloat::roundingMode, bool*)"},
-    {"_ZN4llvm7APFloat24addOrSubtractSignificandERKS0_b", "llvm::APFloat::addOrSubtractSignificand(llvm::APFloat const&, bool)"},
-    {"_ZN4llvm7APFloat17divideSignificandERKS0_", "llvm::APFloat::divideSignificand(llvm::APFloat const&)"},
-    {"_ZNK4llvm7APFloat14significandMSBEv", "llvm::APFloat::significandMSB() const"},
-    {"_ZNK4llvm7APFloat14significandLSBEv", "llvm::APFloat::significandLSB() const"},
-    {"_ZN4llvm7APFloat21shiftSignificandRightEj", "llvm::APFloat::shiftSignificandRight(unsigned int)"},
-    {"_ZN4llvm7APFloat20shiftSignificandLeftEj", "llvm::APFloat::shiftSignificandLeft(unsigned int)"},
-    {"_ZNK4llvm7APFloat20compareAbsoluteValueERKS0_", "llvm::APFloat::compareAbsoluteValue(llvm::APFloat const&) const"},
-    {"_ZN4llvm7APFloat14handleOverflowENS0_12roundingModeE", "llvm::APFloat::handleOverflow(llvm::APFloat::roundingMode)"},
-    {"_ZNK4llvm7APFloat17roundAwayFromZeroENS0_12roundingModeENS_12lostFractionEj", "llvm::APFloat::roundAwayFromZero(llvm::APFloat::roundingMode, llvm::lostFraction, unsigned int) const"},
-    {"_ZN4llvm7APFloat21addOrSubtractSpecialsERKS0_b", "llvm::APFloat::addOrSubtractSpecials(llvm::APFloat const&, bool)"},
-    {"_ZN4llvm7APFloat16multiplySpecialsERKS0_", "llvm::APFloat::multiplySpecials(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloat14divideSpecialsERKS0_", "llvm::APFloat::divideSpecials(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloat11modSpecialsERKS0_", "llvm::APFloat::modSpecials(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloat10changeSignEv", "llvm::APFloat::changeSign()"},
-    {"_ZN4llvm7APFloat9clearSignEv", "llvm::APFloat::clearSign()"},
-    {"_ZN4llvm7APFloat8copySignERKS0_", "llvm::APFloat::copySign(llvm::APFloat const&)"},
-    {"_ZN4llvm7APFloat13addOrSubtractERKS0_NS0_12roundingModeEb", "llvm::APFloat::addOrSubtract(llvm::APFloat const&, llvm::APFloat::roundingMode, bool)"},
-    {"_ZN4llvm7APFloat3addERKS0_NS0_12roundingModeE", "llvm::APFloat::add(llvm::APFloat const&, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat8subtractERKS0_NS0_12roundingModeE", "llvm::APFloat::subtract(llvm::APFloat const&, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat8multiplyERKS0_NS0_12roundingModeE", "llvm::APFloat::multiply(llvm::APFloat const&, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat6divideERKS0_NS0_12roundingModeE", "llvm::APFloat::divide(llvm::APFloat const&, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat9remainderERKS0_", "llvm::APFloat::remainder(llvm::APFloat const&)"},
-    {"_ZNK4llvm7APFloat16convertToIntegerEPyjbNS0_12roundingModeEPb", "llvm::APFloat::convertToInteger(unsigned long long*, unsigned int, bool, llvm::APFloat::roundingMode, bool*) const"},
-    {"_ZN4llvm7APFloat30convertFromZeroExtendedIntegerEPKyjbNS0_12roundingModeE", "llvm::APFloat::convertFromZeroExtendedInteger(unsigned long long const*, unsigned int, bool, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat3modERKS0_NS0_12roundingModeE", "llvm::APFloat::mod(llvm::APFloat const&, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat16fusedMultiplyAddERKS0_S2_NS0_12roundingModeE", "llvm::APFloat::fusedMultiplyAdd(llvm::APFloat const&, llvm::APFloat const&, llvm::APFloat::roundingMode)"},
-    {"_ZNK4llvm7APFloat7compareERKS0_", "llvm::APFloat::compare(llvm::APFloat const&) const"},
-    {"_ZNK4llvm7APFloat28convertToSignExtendedIntegerEPyjbNS0_12roundingModeEPb", "llvm::APFloat::convertToSignExtendedInteger(unsigned long long*, unsigned int, bool, llvm::APFloat::roundingMode, bool*) const"},
-    {"_ZN4llvm7APFloat24convertFromUnsignedPartsEPKyjNS0_12roundingModeE", "llvm::APFloat::convertFromUnsignedParts(unsigned long long const*, unsigned int, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat16convertFromAPIntERKNS_5APIntEbNS0_12roundingModeE", "llvm::APFloat::convertFromAPInt(llvm::APInt const&, bool, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat30convertFromSignExtendedIntegerEPKyjbNS0_12roundingModeE", "llvm::APFloat::convertFromSignExtendedInteger(unsigned long long const*, unsigned int, bool, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat28convertFromHexadecimalStringENS_9StringRefENS0_12roundingModeE", "llvm::APFloat::convertFromHexadecimalString(llvm::StringRef, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat28roundSignificandWithExponentEPKyjiNS0_12roundingModeE", "llvm::APFloat::roundSignificandWithExponent(unsigned long long const*, unsigned int, int, llvm::APFloat::roundingMode)"},
-    {"_ZN4llvm7APFloat24convertFromDecimalStringENS_9StringRefENS0_12roundingModeE", "llvm::APFloat::convertFromDecimalString(llvm::StringRef, llvm::APFloat::roundingMode)"},
-    {"_ZNK4llvm7APFloat18convertToHexStringEPcjbNS0_12roundingModeE", "llvm::APFloat::convertToHexString(char*, unsigned int, bool, llvm::APFloat::roundingMode) const"},
-    {"_ZNK4llvm7APFloat24convertNormalToHexStringEPcjbNS0_12roundingModeE", "llvm::APFloat::convertNormalToHexString(char*, unsigned int, bool, llvm::APFloat::roundingMode) const"},
-    {"_ZNK4llvm7APFloat12getHashValueEv", "llvm::APFloat::getHashValue() const"},
-    {"_ZNK4llvm7APFloat34convertF80LongDoubleAPFloatToAPIntEv", "llvm::APFloat::convertF80LongDoubleAPFloatToAPInt() const"},
-    {"_ZNK4llvm7APFloat36convertPPCDoubleDoubleAPFloatToAPIntEv", "llvm::APFloat::convertPPCDoubleDoubleAPFloatToAPInt() const"},
-    {"_ZNK4llvm7APFloat30convertQuadrupleAPFloatToAPIntEv", "llvm::APFloat::convertQuadrupleAPFloatToAPInt() const"},
-    {"_ZNK4llvm7APFloat27convertDoubleAPFloatToAPIntEv", "llvm::APFloat::convertDoubleAPFloatToAPInt() const"},
-    {"_ZNK4llvm7APFloat26convertFloatAPFloatToAPIntEv", "llvm::APFloat::convertFloatAPFloatToAPInt() const"},
-    {"_ZNK4llvm7APFloat25convertHalfAPFloatToAPIntEv", "llvm::APFloat::convertHalfAPFloatToAPInt() const"},
-    {"_ZNK4llvm7APFloat14convertToFloatEv", "llvm::APFloat::convertToFloat() const"},
-    {"_ZNK4llvm7APFloat15convertToDoubleEv", "llvm::APFloat::convertToDouble() const"},
-    {"_ZN4llvm7APFloat26initFromF80LongDoubleAPIntERKNS_5APIntE", "llvm::APFloat::initFromF80LongDoubleAPInt(llvm::APInt const&)"},
-    {"_ZN4llvm7APFloat28initFromPPCDoubleDoubleAPIntERKNS_5APIntE", "llvm::APFloat::initFromPPCDoubleDoubleAPInt(llvm::APInt const&)"},
-    {"_ZN4llvm7APFloat22initFromQuadrupleAPIntERKNS_5APIntE", "llvm::APFloat::initFromQuadrupleAPInt(llvm::APInt const&)"},
-    {"_ZN4llvm7APFloat19initFromDoubleAPIntERKNS_5APIntE", "llvm::APFloat::initFromDoubleAPInt(llvm::APInt const&)"},
-    {"_ZN4llvm7APFloat18initFromFloatAPIntERKNS_5APIntE", "llvm::APFloat::initFromFloatAPInt(llvm::APInt const&)"},
-    {"_ZN4llvm7APFloat17initFromHalfAPIntERKNS_5APIntE", "llvm::APFloat::initFromHalfAPInt(llvm::APInt const&)"},
-    {"_ZN4llvm7APFloat13initFromAPIntERKNS_5APIntEb", "llvm::APFloat::initFromAPInt(llvm::APInt const&, bool)"},
-    {"_ZN4llvm7APFloat10getLargestERKNS_12fltSemanticsEb", "llvm::APFloat::getLargest(llvm::fltSemantics const&, bool)"},
-    {"_ZN4llvm7APFloat11getSmallestERKNS_12fltSemanticsEb", "llvm::APFloat::getSmallest(llvm::fltSemantics const&, bool)"},
-    {"_ZN4llvm7APFloat21getSmallestNormalizedERKNS_12fltSemanticsEb", "llvm::APFloat::getSmallestNormalized(llvm::fltSemantics const&, bool)"},
-    {"_ZN4llvm7APFloatC1ERKNS_5APIntEb", "llvm::APFloat::APFloat(llvm::APInt const&, bool)"},
-    {"_ZN4llvm7APFloatC2ERKNS_5APIntEb", "llvm::APFloat::APFloat(llvm::APInt const&, bool)"},
-    {"_ZN4llvm7APFloatC1Ef", "llvm::APFloat::APFloat(float)"},
-    {"_ZN4llvm7APFloatC2Ef", "llvm::APFloat::APFloat(float)"},
-    {"_ZN4llvm7APFloatC1Ed", "llvm::APFloat::APFloat(double)"},
-    {"_ZN4llvm7APFloatC2Ed", "llvm::APFloat::APFloat(double)"},
-    {"_ZNK4llvm7APFloat8toStringERNS_15SmallVectorImplIcEEjj", "llvm::APFloat::toString(llvm::SmallVectorImpl<char>&, unsigned int, unsigned int) const"},
-    {"_ZNK4llvm5APIntngEv", "llvm::APInt::operator-() const"},
-    {"_ZN4llvm5APIntlSEj", "llvm::APInt::operator<<=(unsigned int)"},
-    {"_ZN4llvm5APInt12initSlowCaseEjyb", "llvm::APInt::initSlowCase(unsigned int, unsigned long long, bool)"},
-    {"_ZN4llvm5APInt12initSlowCaseERKS0_", "llvm::APInt::initSlowCase(llvm::APInt const&)"},
-    {"_ZN4llvm5APIntC1EjjPKy", "llvm::APInt::APInt(unsigned int, unsigned int, unsigned long long const*)"},
-    {"_ZN4llvm5APIntC2EjjPKy", "llvm::APInt::APInt(unsigned int, unsigned int, unsigned long long const*)"},
-    {"_ZN4llvm5APIntC1EjNS_9StringRefEh", "llvm::APInt::APInt(unsigned int, llvm::StringRef, unsigned char)"},
-    {"_ZN4llvm5APIntC2EjNS_9StringRefEh", "llvm::APInt::APInt(unsigned int, llvm::StringRef, unsigned char)"},
-    {"_ZN4llvm5APInt10fromStringEjNS_9StringRefEh", "llvm::APInt::fromString(unsigned int, llvm::StringRef, unsigned char)"},
-    {"_ZN4llvm5APInt14AssignSlowCaseERKS0_", "llvm::APInt::AssignSlowCase(llvm::APInt const&)"},
-    {"_ZN4llvm5APIntaSEy", "llvm::APInt::operator=(unsigned long long)"},
-    {"_ZNK4llvm5APInt7ProfileERNS_16FoldingSetNodeIDE", "llvm::APInt::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm5APIntppEv", "llvm::APInt::operator++()"},
-    {"_ZN4llvm5APIntmmEv", "llvm::APInt::operator--()"},
-    {"_ZN4llvm5APIntpLERKS0_", "llvm::APInt::operator+=(llvm::APInt const&)"},
-    {"_ZN4llvm5APIntmIERKS0_", "llvm::APInt::operator-=(llvm::APInt const&)"},
-    {"_ZN4llvm5APIntmLERKS0_", "llvm::APInt::operator*=(llvm::APInt const&)"},
-    {"_ZN4llvm5APIntaNERKS0_", "llvm::APInt::operator&=(llvm::APInt const&)"},
-    {"_ZN4llvm5APIntoRERKS0_", "llvm::APInt::operator|=(llvm::APInt const&)"},
-    {"_ZN4llvm5APInteOERKS0_", "llvm::APInt::operator^=(llvm::APInt const&)"},
-    {"_ZNK4llvm5APInt11AndSlowCaseERKS0_", "llvm::APInt::AndSlowCase(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt10OrSlowCaseERKS0_", "llvm::APInt::OrSlowCase(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt11XorSlowCaseERKS0_", "llvm::APInt::XorSlowCase(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APIntntEv", "llvm::APInt::operator!() const"},
-    {"_ZNK4llvm5APIntmlERKS0_", "llvm::APInt::operator*(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APIntplERKS0_", "llvm::APInt::operator+(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APIntmiERKS0_", "llvm::APInt::operator-(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APIntixEj", "llvm::APInt::operator[](unsigned int) const"},
-    {"_ZNK4llvm5APInt13EqualSlowCaseERKS0_", "llvm::APInt::EqualSlowCase(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt13EqualSlowCaseEy", "llvm::APInt::EqualSlowCase(unsigned long long) const"},
-    {"_ZNK4llvm5APInt3ultERKS0_", "llvm::APInt::ult(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt3sltERKS0_", "llvm::APInt::slt(llvm::APInt const&) const"},
-    {"_ZN4llvm5APInt6setBitEj", "llvm::APInt::setBit(unsigned int)"},
-    {"_ZN4llvm5APInt8clearBitEj", "llvm::APInt::clearBit(unsigned int)"},
-    {"_ZN4llvm5APInt7flipBitEj", "llvm::APInt::flipBit(unsigned int)"},
-    {"_ZN4llvm5APInt13getBitsNeededENS_9StringRefEh", "llvm::APInt::getBitsNeeded(llvm::StringRef, unsigned char)"},
-    {"_ZNK4llvm5APInt12getHashValueEv", "llvm::APInt::getHashValue() const"},
-    {"_ZNK4llvm5APInt9getHiBitsEj", "llvm::APInt::getHiBits(unsigned int) const"},
-    {"_ZNK4llvm5APInt9getLoBitsEj", "llvm::APInt::getLoBits(unsigned int) const"},
-    {"_ZNK4llvm5APInt25countLeadingZerosSlowCaseEv", "llvm::APInt::countLeadingZerosSlowCase() const"},
-    {"_ZNK4llvm5APInt16countLeadingOnesEv", "llvm::APInt::countLeadingOnes() const"},
-    {"_ZNK4llvm5APInt18countTrailingZerosEv", "llvm::APInt::countTrailingZeros() const"},
-    {"_ZNK4llvm5APInt25countTrailingOnesSlowCaseEv", "llvm::APInt::countTrailingOnesSlowCase() const"},
-    {"_ZNK4llvm5APInt23countPopulationSlowCaseEv", "llvm::APInt::countPopulationSlowCase() const"},
-    {"_ZNK4llvm5APInt8byteSwapEv", "llvm::APInt::byteSwap() const"},
-    {"_ZN4llvm8APIntOps21GreatestCommonDivisorERKNS_5APIntES3_", "llvm::APIntOps::GreatestCommonDivisor(llvm::APInt const&, llvm::APInt const&)"},
-    {"_ZN4llvm8APIntOps18RoundDoubleToAPIntEdj", "llvm::APIntOps::RoundDoubleToAPInt(double, unsigned int)"},
-    {"_ZNK4llvm5APInt13roundToDoubleEb", "llvm::APInt::roundToDouble(bool) const"},
-    {"_ZNK4llvm5APInt5truncEj", "llvm::APInt::trunc(unsigned int) const"},
-    {"_ZNK4llvm5APInt4sextEj", "llvm::APInt::sext(unsigned int) const"},
-    {"_ZNK4llvm5APInt4zextEj", "llvm::APInt::zext(unsigned int) const"},
-    {"_ZNK4llvm5APInt11zextOrTruncEj", "llvm::APInt::zextOrTrunc(unsigned int) const"},
-    {"_ZNK4llvm5APInt11sextOrTruncEj", "llvm::APInt::sextOrTrunc(unsigned int) const"},
-    {"_ZNK4llvm5APInt4ashrERKS0_", "llvm::APInt::ashr(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt4ashrEj", "llvm::APInt::ashr(unsigned int) const"},
-    {"_ZNK4llvm5APInt4lshrERKS0_", "llvm::APInt::lshr(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt4lshrEj", "llvm::APInt::lshr(unsigned int) const"},
-    {"_ZNK4llvm5APInt3shlERKS0_", "llvm::APInt::shl(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt11shlSlowCaseEj", "llvm::APInt::shlSlowCase(unsigned int) const"},
-    {"_ZNK4llvm5APInt4rotlERKS0_", "llvm::APInt::rotl(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt4rotlEj", "llvm::APInt::rotl(unsigned int) const"},
-    {"_ZNK4llvm5APInt4rotrERKS0_", "llvm::APInt::rotr(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt4rotrEj", "llvm::APInt::rotr(unsigned int) const"},
-    {"_ZNK4llvm5APInt4sqrtEv", "llvm::APInt::sqrt() const"},
-    {"_ZNK4llvm5APInt4udivERKS0_", "llvm::APInt::udiv(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt21multiplicativeInverseERKS0_", "llvm::APInt::multiplicativeInverse(llvm::APInt const&) const"},
-    {"_ZN4llvm5APInt7udivremERKS0_S2_RS0_S3_", "llvm::APInt::udivrem(llvm::APInt const&, llvm::APInt const&, llvm::APInt&, llvm::APInt&)"},
-    {"_ZNK4llvm5APInt5magicEv", "llvm::APInt::magic() const"},
-    {"_ZNK4llvm5APInt4uremERKS0_", "llvm::APInt::urem(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt6magicuEv", "llvm::APInt::magicu() const"},
-    {"_ZN4llvm5APInt6divideES0_jRKS0_jPS0_S3_", "llvm::APInt::divide(llvm::APInt, unsigned int, llvm::APInt const&, unsigned int, llvm::APInt*, llvm::APInt*)"},
-    {"_ZNK4llvm5APInt7sadd_ovERKS0_Rb", "llvm::APInt::sadd_ov(llvm::APInt const&, bool&) const"},
-    {"_ZNK4llvm5APInt7uadd_ovERKS0_Rb", "llvm::APInt::uadd_ov(llvm::APInt const&, bool&) const"},
-    {"_ZNK4llvm5APInt7ssub_ovERKS0_Rb", "llvm::APInt::ssub_ov(llvm::APInt const&, bool&) const"},
-    {"_ZNK4llvm5APInt7usub_ovERKS0_Rb", "llvm::APInt::usub_ov(llvm::APInt const&, bool&) const"},
-    {"_ZNK4llvm5APInt7sdiv_ovERKS0_Rb", "llvm::APInt::sdiv_ov(llvm::APInt const&, bool&) const"},
-    {"_ZNK4llvm5APInt7smul_ovERKS0_Rb", "llvm::APInt::smul_ov(llvm::APInt const&, bool&) const"},
-    {"_ZNK4llvm5APInt7sshl_ovEjRb", "llvm::APInt::sshl_ov(unsigned int, bool&) const"},
-    {"_ZNK4llvm5APInt8toStringERNS_15SmallVectorImplIcEEjb", "llvm::APInt::toString(llvm::SmallVectorImpl<char>&, unsigned int, bool) const"},
-    {"_ZNK4llvm5APInt8toStringEjb", "llvm::APInt::toString(unsigned int, bool) const"},
-    {"_ZNK4llvm5APInt4dumpEv", "llvm::APInt::dump() const"},
-    {"_ZNK4llvm5APInt5printERNS_11raw_ostreamEb", "llvm::APInt::print(llvm::raw_ostream&, bool) const"},
-    {"_ZN4llvm5APInt5tcSetEPyyj", "llvm::APInt::tcSet(unsigned long long*, unsigned long long, unsigned int)"},
-    {"_ZN4llvm5APInt8tcAssignEPyPKyj", "llvm::APInt::tcAssign(unsigned long long*, unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt8tcIsZeroEPKyj", "llvm::APInt::tcIsZero(unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt12tcExtractBitEPKyj", "llvm::APInt::tcExtractBit(unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt8tcSetBitEPyj", "llvm::APInt::tcSetBit(unsigned long long*, unsigned int)"},
-    {"_ZN4llvm5APInt10tcClearBitEPyj", "llvm::APInt::tcClearBit(unsigned long long*, unsigned int)"},
-    {"_ZN4llvm5APInt5tcLSBEPKyj", "llvm::APInt::tcLSB(unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt5tcMSBEPKyj", "llvm::APInt::tcMSB(unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt9tcExtractEPyjPKyjj", "llvm::APInt::tcExtract(unsigned long long*, unsigned int, unsigned long long const*, unsigned int, unsigned int)"},
-    {"_ZN4llvm5APInt12tcShiftRightEPyjj", "llvm::APInt::tcShiftRight(unsigned long long*, unsigned int, unsigned int)"},
-    {"_ZN4llvm5APInt5tcAddEPyPKyyj", "llvm::APInt::tcAdd(unsigned long long*, unsigned long long const*, unsigned long long, unsigned int)"},
-    {"_ZN4llvm5APInt10tcSubtractEPyPKyyj", "llvm::APInt::tcSubtract(unsigned long long*, unsigned long long const*, unsigned long long, unsigned int)"},
-    {"_ZN4llvm5APInt8tcNegateEPyj", "llvm::APInt::tcNegate(unsigned long long*, unsigned int)"},
-    {"_ZN4llvm5APInt12tcComplementEPyj", "llvm::APInt::tcComplement(unsigned long long*, unsigned int)"},
-    {"_ZN4llvm5APInt11tcIncrementEPyj", "llvm::APInt::tcIncrement(unsigned long long*, unsigned int)"},
-    {"_ZN4llvm5APInt14tcMultiplyPartEPyPKyyyjjb", "llvm::APInt::tcMultiplyPart(unsigned long long*, unsigned long long const*, unsigned long long, unsigned long long, unsigned int, unsigned int, bool)"},
-    {"_ZN4llvm5APInt10tcMultiplyEPyPKyS3_j", "llvm::APInt::tcMultiply(unsigned long long*, unsigned long long const*, unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt14tcFullMultiplyEPyPKyS3_jj", "llvm::APInt::tcFullMultiply(unsigned long long*, unsigned long long const*, unsigned long long const*, unsigned int, unsigned int)"},
-    {"_ZN4llvm5APInt8tcDivideEPyPKyS1_S1_j", "llvm::APInt::tcDivide(unsigned long long*, unsigned long long const*, unsigned long long*, unsigned long long*, unsigned int)"},
-    {"_ZN4llvm5APInt11tcShiftLeftEPyjj", "llvm::APInt::tcShiftLeft(unsigned long long*, unsigned int, unsigned int)"},
-    {"_ZN4llvm5APInt9tcCompareEPKyS2_j", "llvm::APInt::tcCompare(unsigned long long const*, unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt5tcAndEPyPKyj", "llvm::APInt::tcAnd(unsigned long long*, unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt4tcOrEPyPKyj", "llvm::APInt::tcOr(unsigned long long*, unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt5tcXorEPyPKyj", "llvm::APInt::tcXor(unsigned long long*, unsigned long long const*, unsigned int)"},
-    {"_ZN4llvm5APInt25tcSetLeastSignificantBitsEPyjj", "llvm::APInt::tcSetLeastSignificantBits(unsigned long long*, unsigned int, unsigned int)"},
-    {"_ZN4llvm5APIntppEi", "llvm::APInt::operator++(int)"},
-    {"_ZNK4llvm5APInt3absEv", "llvm::APInt::abs() const"},
-    {"_ZNK4llvm5APInteqERKS0_", "llvm::APInt::operator==(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt16isMinSignedValueEv", "llvm::APInt::isMinSignedValue() const"},
-    {"_ZNK4llvm5APInt4sdivERKS0_", "llvm::APInt::sdiv(llvm::APInt const&) const"},
-    {"_ZNK4llvm5APInt17countLeadingZerosEv", "llvm::APInt::countLeadingZeros() const"},
-    {"_ZN4llvm5APIntmmEi", "llvm::APInt::operator--(int)"},
-    {"_ZN4llvm5APIntC2Ejyb", "llvm::APInt::APInt(unsigned int, unsigned long long, bool)"},
-    {"_ZNK4llvm6APSInt7ProfileERNS_16FoldingSetNodeIDE", "llvm::APSInt::Profile(llvm::FoldingSetNodeID&) const"},
-    {"_ZN4llvm16BumpPtrAllocatorC1EmmRNS_13SlabAllocatorE", "llvm::BumpPtrAllocator::BumpPtrAllocator(unsigned long, unsigned long, llvm::SlabAllocator&)"},
-    {"_ZN4llvm16BumpPtrAllocatorC2EmmRNS_13SlabAllocatorE", "llvm::BumpPtrAllocator::BumpPtrAllocator(unsigned long, unsigned long, llvm::SlabAllocator&)"},
-    {"_ZN4llvm16BumpPtrAllocatorD1Ev", "llvm::BumpPtrAllocator::~BumpPtrAllocator()"},
-    {"_ZN4llvm16BumpPtrAllocatorD2Ev", "llvm::BumpPtrAllocator::~BumpPtrAllocator()"},
-    {"_ZN4llvm16BumpPtrAllocator15DeallocateSlabsEPNS_7MemSlabE", "llvm::BumpPtrAllocator::DeallocateSlabs(llvm::MemSlab*)"},
-    {"_ZN4llvm16BumpPtrAllocator8AlignPtrEPcm", "llvm::BumpPtrAllocator::AlignPtr(char*, unsigned long)"},
-    {"_ZN4llvm16BumpPtrAllocator12StartNewSlabEv", "llvm::BumpPtrAllocator::StartNewSlab()"},
-    {"_ZN4llvm16BumpPtrAllocator5ResetEv", "llvm::BumpPtrAllocator::Reset()"},
-    {"_ZN4llvm16BumpPtrAllocator8AllocateEmm", "llvm::BumpPtrAllocator::Allocate(unsigned long, unsigned long)"},
-    {"_ZNK4llvm16BumpPtrAllocator11GetNumSlabsEv", "llvm::BumpPtrAllocator::GetNumSlabs() const"},
-    {"_ZNK4llvm16BumpPtrAllocator10PrintStatsEv", "llvm::BumpPtrAllocator::PrintStats() const"},
-    {"_ZN4llvm19MallocSlabAllocatorD1Ev", "llvm::MallocSlabAllocator::~MallocSlabAllocator()"},
-    {"_ZN4llvm13SlabAllocatorD0Ev", "llvm::SlabAllocator::~SlabAllocator()"},
-    {"_ZN4llvm13SlabAllocatorD1Ev", "llvm::SlabAllocator::~SlabAllocator()"},
-    {"_ZN4llvm13SlabAllocatorD2Ev", "llvm::SlabAllocator::~SlabAllocator()"},
-    {"_ZN4llvm19MallocSlabAllocatorD0Ev", "llvm::MallocSlabAllocator::~MallocSlabAllocator()"},
-    {"_ZN4llvm19MallocSlabAllocatorD2Ev", "llvm::MallocSlabAllocator::~MallocSlabAllocator()"},
-    {"_ZN4llvm19MallocSlabAllocator8AllocateEm", "llvm::MallocSlabAllocator::Allocate(unsigned long)"},
-    {"_ZN4llvm19MallocSlabAllocator10DeallocateEPNS_7MemSlabE", "llvm::MallocSlabAllocator::Deallocate(llvm::MemSlab*)"},
-    {"_ZN4llvm18PrintRecyclerStatsEmmm", "llvm::PrintRecyclerStats(unsigned long, unsigned long, unsigned long)"},
-    {"_ZN4llvm3sys14CompareAndSwapEPVjjj", "llvm::sys::CompareAndSwap(unsigned int volatile*, unsigned int, unsigned int)"},
-    {"_ZN4llvm3sys15AtomicIncrementEPVj", "llvm::sys::AtomicIncrement(unsigned int volatile*)"},
-    {"_ZN4llvm3sys15AtomicDecrementEPVj", "llvm::sys::AtomicDecrement(unsigned int volatile*)"},
-    {"_ZN4llvm3sys9AtomicAddEPVjj", "llvm::sys::AtomicAdd(unsigned int volatile*, unsigned int)"},
-    {"_ZN4llvm3sys9AtomicMulEPVjj", "llvm::sys::AtomicMul(unsigned int volatile*, unsigned int)"},
-    {"_ZN4llvm3sys9AtomicDivEPVjj", "llvm::sys::AtomicDiv(unsigned int volatile*, unsigned int)"},
-    {"_ZN4llvm2cl6parserIjE5parseERNS0_6OptionENS_9StringRefES5_Rj", "llvm::cl::parser<unsigned int>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, unsigned int&)"},
-    {"_ZNK4llvm2cl17basic_parser_impl14getOptionWidthERKNS0_6OptionE", "llvm::cl::basic_parser_impl::getOptionWidth(llvm::cl::Option const&) const"},
-    {"_ZNK4llvm2cl17basic_parser_impl15printOptionInfoERKNS0_6OptionEm", "llvm::cl::basic_parser_impl::printOptionInfo(llvm::cl::Option const&, unsigned long) const"},
-    {"_ZN4llvm2cl6parserIiE5parseERNS0_6OptionENS_9StringRefES5_Ri", "llvm::cl::parser<int>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, int&)"},
-    {"_ZN4llvm2cl6parserIbE5parseERNS0_6OptionENS_9StringRefES5_Rb", "llvm::cl::parser<bool>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, bool&)"},
-    {"_ZN4llvm2cl6Option6anchorEv", "llvm::cl::Option::anchor()"},
-    {"_ZN4llvm2cl17basic_parser_impl6anchorEv", "llvm::cl::basic_parser_impl::anchor()"},
-    {"_ZN4llvm2cl6parserIbE6anchorEv", "llvm::cl::parser<bool>::anchor()"},
-    {"_ZN4llvm2cl6parserINS0_13boolOrDefaultEE6anchorEv", "llvm::cl::parser<llvm::cl::boolOrDefault>::anchor()"},
-    {"_ZN4llvm2cl6parserIiE6anchorEv", "llvm::cl::parser<int>::anchor()"},
-    {"_ZN4llvm2cl6parserIjE6anchorEv", "llvm::cl::parser<unsigned int>::anchor()"},
-    {"_ZN4llvm2cl6parserIdE6anchorEv", "llvm::cl::parser<double>::anchor()"},
-    {"_ZN4llvm2cl6parserIfE6anchorEv", "llvm::cl::parser<float>::anchor()"},
-    {"_ZN4llvm2cl6parserISsE6anchorEv", "llvm::cl::parser<std::string>::anchor()"},
-    {"_ZN4llvm2cl6parserIcE6anchorEv", "llvm::cl::parser<char>::anchor()"},
-    {"_ZN4llvm2cl9extrahelpC1EPKc", "llvm::cl::extrahelp::extrahelp(char const*)"},
-    {"_ZN4llvm2cl9extrahelpC2EPKc", "llvm::cl::extrahelp::extrahelp(char const*)"},
-    {"_ZN4llvm2cl23ParseEnvironmentOptionsEPKcS2_S2_b", "llvm::cl::ParseEnvironmentOptions(char const*, char const*, char const*, bool)"},
-    {"_Z18ParseCStringVectorRSt6vectorIPcSaIS0_EEPKc", "ParseCStringVector(std::vector<char*, std::allocator<char*> >&, char const*)"},
-    {"_ZN4llvm2cl23ParseCommandLineOptionsEiPPcPKcb", "llvm::cl::ParseCommandLineOptions(int, char**, char const*, bool)"},
-    {"_Z13GetOptionInfoRN4llvm15SmallVectorImplIPNS_2cl6OptionEEES5_RNS_9StringMapIS3_NS_15MallocAllocatorEEE", "GetOptionInfo(llvm::SmallVectorImpl<llvm::cl::Option*>&, llvm::SmallVectorImpl<llvm::cl::Option*>&, llvm::StringMap<llvm::cl::Option*, llvm::MallocAllocator>&)"},
-    {"_ZN4llvm2cl6Option5errorERKNS_5TwineENS_9StringRefE", "llvm::cl::Option::error(llvm::Twine const&, llvm::StringRef)"},
-    {"_Z12LookupOptionRN4llvm9StringRefES1_RKNS_9StringMapIPNS_2cl6OptionENS_15MallocAllocatorEEE", "LookupOption(llvm::StringRef&, llvm::StringRef&, llvm::StringMap<llvm::cl::Option*, llvm::MallocAllocator> const&)"},
-    {"_ZN4llvm2cl6Option13addOccurrenceEjNS_9StringRefES2_b", "llvm::cl::Option::addOccurrence(unsigned int, llvm::StringRef, llvm::StringRef, bool)"},
-    {"_Z13ProvideOptionPN4llvm2cl6OptionENS_9StringRefES3_iPPcRi", "ProvideOption(llvm::cl::Option*, llvm::StringRef, llvm::StringRef, int, char**, int&)"},
-    {"_ZNK4llvm2cl5alias14getOptionWidthEv", "llvm::cl::alias::getOptionWidth() const"},
-    {"_ZNK4llvm2cl5alias15printOptionInfoEm", "llvm::cl::alias::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl6parserINS0_13boolOrDefaultEE5parseERNS0_6OptionENS_9StringRefES6_RS2_", "llvm::cl::parser<llvm::cl::boolOrDefault>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, llvm::cl::boolOrDefault&)"},
-    {"_ZN4llvm2cl6parserIdE5parseERNS0_6OptionENS_9StringRefES5_Rd", "llvm::cl::parser<double>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, double&)"},
-    {"_Z11parseDoubleRN4llvm2cl6OptionENS_9StringRefERd", "parseDouble(llvm::cl::Option&, llvm::StringRef, double&)"},
-    {"_ZN4llvm2cl6parserIfE5parseERNS0_6OptionENS_9StringRefES5_Rf", "llvm::cl::parser<float>::parse(llvm::cl::Option&, llvm::StringRef, llvm::StringRef, float&)"},
-    {"_ZN4llvm2cl19generic_parser_base10findOptionEPKc", "llvm::cl::generic_parser_base::findOption(char const*)"},
-    {"_ZNK4llvm2cl19generic_parser_base14getOptionWidthERKNS0_6OptionE", "llvm::cl::generic_parser_base::getOptionWidth(llvm::cl::Option const&) const"},
-    {"_ZNK4llvm2cl19generic_parser_base15printOptionInfoERKNS0_6OptionEm", "llvm::cl::generic_parser_base::printOptionInfo(llvm::cl::Option const&, unsigned long) const"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEED1Ev", "llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >::~opt()"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEED1Ev", "llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >::~opt()"},
-    {"_ZN4llvm2cl16PrintHelpMessageEv", "llvm::cl::PrintHelpMessage()"},
-    {"_ZN12_GLOBAL__N_111HelpPrinteraSEb", "(anonymous namespace)::HelpPrinter::operator=(bool)"},
-    {"_ZN4llvm2cl19PrintVersionMessageEv", "llvm::cl::PrintVersionMessage()"},
-    {"_ZN12_GLOBAL__N_114VersionPrinter5printEv", "(anonymous namespace)::VersionPrinter::print()"},
-    {"_ZN4llvm2cl17SetVersionPrinterEPFvvE", "llvm::cl::SetVersionPrinter(void (*)())"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEE16handleOccurrenceEjNS_9StringRefES7_", "llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEE14getOptionWidthEv", "llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEE15printOptionInfoEm", "llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEED0Ev", "llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >::~opt()"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEE16handleOccurrenceEjNS_9StringRefES7_", "llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEE14getOptionWidthEv", "llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEE15printOptionInfoEm", "llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEED0Ev", "llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >::~opt()"},
-    {"_Z17TargetArraySortFnPKvS0_", "TargetArraySortFn(void const*, void const*)"},
-    {"_Z14OptNameComparePKvS0_", "OptNameCompare(void const*, void const*)"},
-    {"_Z28CommaSeparateAndAddOccurencePN4llvm2cl6OptionEjNS_9StringRefES3_b", "CommaSeparateAndAddOccurence(llvm::cl::Option*, unsigned int, llvm::StringRef, llvm::StringRef, bool)"},
-    {"_Z13getOptionPredN4llvm9StringRefERmPFbPKNS_2cl6OptionEERKNS_9StringMapIPS3_NS_15MallocAllocatorEEE", "getOptionPred(llvm::StringRef, unsigned long&, bool (*)(llvm::cl::Option const*), llvm::StringMap<llvm::cl::Option*, llvm::MallocAllocator> const&)"},
-    {"_Z20isPrefixedOrGroupingPKN4llvm2cl6OptionE", "isPrefixedOrGrouping(llvm::cl::Option const*)"},
-    {"_Z10isGroupingPKN4llvm2cl6OptionE", "isGrouping(llvm::cl::Option const*)"},
-    {"_ZN4llvm2cl3optIjLb0ENS0_6parserIjEEE16handleOccurrenceEjNS_9StringRefES5_", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIjLb0ENS0_6parserIjEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::getValueExpectedFlagDefault() const"},
-    {"_ZN4llvm2cl3optIjLb0ENS0_6parserIjEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZNK4llvm2cl3optIjLb0ENS0_6parserIjEEE14getOptionWidthEv", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIjLb0ENS0_6parserIjEEE15printOptionInfoEm", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIjLb0ENS0_6parserIjEEE4doneEv", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::done()"},
-    {"_ZN4llvm2cl3optIjLb0ENS0_6parserIjEEE15setInitialValueERKj", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::setInitialValue(unsigned int const&)"},
-    {"_ZN4llvm2cl3optIjLb0ENS0_6parserIjEEE9getParserEv", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::getParser()"},
-    {"_ZN4llvm2cl3optIiLb0ENS0_6parserIiEEE16handleOccurrenceEjNS_9StringRefES5_", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIiLb0ENS0_6parserIiEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::getValueExpectedFlagDefault() const"},
-    {"_ZN4llvm2cl3optIiLb0ENS0_6parserIiEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZNK4llvm2cl3optIiLb0ENS0_6parserIiEEE14getOptionWidthEv", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIiLb0ENS0_6parserIiEEE15printOptionInfoEm", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIiLb0ENS0_6parserIiEEE4doneEv", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::done()"},
-    {"_ZN4llvm2cl3optIiLb0ENS0_6parserIiEEE15setInitialValueERKi", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::setInitialValue(int const&)"},
-    {"_ZN4llvm2cl3optIiLb0ENS0_6parserIiEEE9getParserEv", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::getParser()"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEE16handleOccurrenceEjNS_9StringRefES5_", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optISsLb0ENS0_6parserISsEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::getValueExpectedFlagDefault() const"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZNK4llvm2cl3optISsLb0ENS0_6parserISsEEE14getOptionWidthEv", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optISsLb0ENS0_6parserISsEEE15printOptionInfoEm", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEE4doneEv", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::done()"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEE15setInitialValueERKSs", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::setInitialValue(std::string const&)"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEE9getParserEv", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::getParser()"},
-    {"_ZN4llvm2cl3optIcLb0ENS0_6parserIcEEE16handleOccurrenceEjNS_9StringRefES5_", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIcLb0ENS0_6parserIcEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::getValueExpectedFlagDefault() const"},
-    {"_ZN4llvm2cl3optIcLb0ENS0_6parserIcEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZNK4llvm2cl3optIcLb0ENS0_6parserIcEEE14getOptionWidthEv", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIcLb0ENS0_6parserIcEEE15printOptionInfoEm", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIcLb0ENS0_6parserIcEEE4doneEv", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::done()"},
-    {"_ZN4llvm2cl3optIcLb0ENS0_6parserIcEEE15setInitialValueERKc", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::setInitialValue(char const&)"},
-    {"_ZN4llvm2cl3optIcLb0ENS0_6parserIcEEE9getParserEv", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::getParser()"},
-    {"_ZN4llvm2cl3optIbLb0ENS0_6parserIbEEE16handleOccurrenceEjNS_9StringRefES5_", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optIbLb0ENS0_6parserIbEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::getValueExpectedFlagDefault() const"},
-    {"_ZN4llvm2cl3optIbLb0ENS0_6parserIbEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZNK4llvm2cl3optIbLb0ENS0_6parserIbEEE14getOptionWidthEv", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optIbLb0ENS0_6parserIbEEE15printOptionInfoEm", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optIbLb0ENS0_6parserIbEEE4doneEv", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::done()"},
-    {"_ZN4llvm2cl3optIbLb0ENS0_6parserIbEEE15setInitialValueERKb", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::setInitialValue(bool const&)"},
-    {"_ZN4llvm2cl3optIbLb0ENS0_6parserIbEEE9getParserEv", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::getParser()"},
-    {"_ZN4llvm2cl19generic_parser_baseD1Ev", "llvm::cl::generic_parser_base::~generic_parser_base()"},
-    {"_ZN4llvm2cl19generic_parser_baseD0Ev", "llvm::cl::generic_parser_base::~generic_parser_base()"},
-    {"_ZN4llvm2cl12basic_parserIbED1Ev", "llvm::cl::basic_parser<bool>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIbED0Ev", "llvm::cl::basic_parser<bool>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserINS0_13boolOrDefaultEED1Ev", "llvm::cl::basic_parser<llvm::cl::boolOrDefault>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserINS0_13boolOrDefaultEED0Ev", "llvm::cl::basic_parser<llvm::cl::boolOrDefault>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIiED1Ev", "llvm::cl::basic_parser<int>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIiED0Ev", "llvm::cl::basic_parser<int>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIjED1Ev", "llvm::cl::basic_parser<unsigned int>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIjED0Ev", "llvm::cl::basic_parser<unsigned int>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIdED1Ev", "llvm::cl::basic_parser<double>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIdED0Ev", "llvm::cl::basic_parser<double>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIfED1Ev", "llvm::cl::basic_parser<float>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIfED0Ev", "llvm::cl::basic_parser<float>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserISsED1Ev", "llvm::cl::basic_parser<std::string>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserISsED0Ev", "llvm::cl::basic_parser<std::string>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIcED1Ev", "llvm::cl::basic_parser<char>::~basic_parser()"},
-    {"_ZN4llvm2cl12basic_parserIcED0Ev", "llvm::cl::basic_parser<char>::~basic_parser()"},
-    {"_ZN4llvm2cl3optIjLb0ENS0_6parserIjEEED1Ev", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::~opt()"},
-    {"_ZN4llvm2cl3optIjLb0ENS0_6parserIjEEED0Ev", "llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >::~opt()"},
-    {"_ZN4llvm2cl3optIiLb0ENS0_6parserIiEEED1Ev", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::~opt()"},
-    {"_ZN4llvm2cl3optIiLb0ENS0_6parserIiEEED0Ev", "llvm::cl::opt<int, false, llvm::cl::parser<int> >::~opt()"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEED1Ev", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::~opt()"},
-    {"_ZN4llvm2cl3optISsLb0ENS0_6parserISsEEED0Ev", "llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >::~opt()"},
-    {"_ZN4llvm2cl3optIcLb0ENS0_6parserIcEEED1Ev", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::~opt()"},
-    {"_ZN4llvm2cl3optIcLb0ENS0_6parserIcEEED0Ev", "llvm::cl::opt<char, false, llvm::cl::parser<char> >::~opt()"},
-    {"_ZN4llvm2cl3optIbLb0ENS0_6parserIbEEED0Ev", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::~opt()"},
-    {"_ZN4llvm2cl6parserINS0_13boolOrDefaultEED1Ev", "llvm::cl::parser<llvm::cl::boolOrDefault>::~parser()"},
-    {"_ZN4llvm2cl6parserINS0_13boolOrDefaultEED0Ev", "llvm::cl::parser<llvm::cl::boolOrDefault>::~parser()"},
-    {"_ZNK4llvm2cl6parserINS0_13boolOrDefaultEE12getValueNameEv", "llvm::cl::parser<llvm::cl::boolOrDefault>::getValueName() const"},
-    {"_ZN4llvm2cl6parserIiED1Ev", "llvm::cl::parser<int>::~parser()"},
-    {"_ZN4llvm2cl6parserIiED0Ev", "llvm::cl::parser<int>::~parser()"},
-    {"_ZNK4llvm2cl6parserIiE12getValueNameEv", "llvm::cl::parser<int>::getValueName() const"},
-    {"_ZN4llvm2cl6parserIjED1Ev", "llvm::cl::parser<unsigned int>::~parser()"},
-    {"_ZN4llvm2cl6parserIjED0Ev", "llvm::cl::parser<unsigned int>::~parser()"},
-    {"_ZNK4llvm2cl6parserIjE12getValueNameEv", "llvm::cl::parser<unsigned int>::getValueName() const"},
-    {"_ZN4llvm2cl6parserIdED1Ev", "llvm::cl::parser<double>::~parser()"},
-    {"_ZN4llvm2cl6parserIdED0Ev", "llvm::cl::parser<double>::~parser()"},
-    {"_ZNK4llvm2cl6parserIdE12getValueNameEv", "llvm::cl::parser<double>::getValueName() const"},
-    {"_ZN4llvm2cl6parserIfED1Ev", "llvm::cl::parser<float>::~parser()"},
-    {"_ZN4llvm2cl6parserIfED0Ev", "llvm::cl::parser<float>::~parser()"},
-    {"_ZNK4llvm2cl6parserIfE12getValueNameEv", "llvm::cl::parser<float>::getValueName() const"},
-    {"_ZN4llvm2cl6parserIcED1Ev", "llvm::cl::parser<char>::~parser()"},
-    {"_ZN4llvm2cl6parserIcED0Ev", "llvm::cl::parser<char>::~parser()"},
-    {"_ZNK4llvm2cl6parserIcE12getValueNameEv", "llvm::cl::parser<char>::getValueName() const"},
-    {"_ZN4llvm2cl5alias16handleOccurrenceEjNS_9StringRefES2_", "llvm::cl::alias::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZN4llvm2cl5aliasD1Ev", "llvm::cl::alias::~alias()"},
-    {"_ZN4llvm2cl5aliasD0Ev", "llvm::cl::alias::~alias()"},
-    {"_ZNSt6vectorIPcSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_", "std::vector<char*, std::allocator<char*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char**, std::vector<char*, std::allocator<char*> > >, char* const&)"},
-    {"_ZN4llvm14object_creatorISt6vectorIPKcSaIS3_EEEEPvv", "void* llvm::object_creator<std::vector<char const*, std::allocator<char const*> > >()"},
-    {"_ZN4llvm14object_deleterISt6vectorIPKcSaIS3_EEE4callEPv", "llvm::object_deleter<std::vector<char const*, std::allocator<char const*> > >::call(void*)"},
-    {"_ZNSt6vectorISt4pairIPKcPKN4llvm6TargetEESaIS7_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS7_S9_EERKS7_", "std::vector<std::pair<char const*, llvm::Target const*>, std::allocator<std::pair<char const*, llvm::Target const*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<char const*, llvm::Target const*>*, std::vector<std::pair<char const*, llvm::Target const*>, std::allocator<std::pair<char const*, llvm::Target const*> > > >, std::pair<char const*, llvm::Target const*> const&)"},
-    {"_ZN4llvm9StringMapIPNS_2cl6OptionENS_15MallocAllocatorEE16GetOrCreateValueIS3_EERNS_14StringMapEntryIS3_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::cl::Option*>& llvm::StringMap<llvm::cl::Option*, llvm::MallocAllocator>::GetOrCreateValue<llvm::cl::Option*>(llvm::StringRef, llvm::cl::Option*)"},
-    {"_ZN4llvm13ConstantRangeC1Ejb", "llvm::ConstantRange::ConstantRange(unsigned int, bool)"},
-    {"_ZN4llvm13ConstantRangeC2Ejb", "llvm::ConstantRange::ConstantRange(unsigned int, bool)"},
-    {"_ZN4llvm13ConstantRangeC1ERKNS_5APIntE", "llvm::ConstantRange::ConstantRange(llvm::APInt const&)"},
-    {"_ZN4llvm13ConstantRangeC2ERKNS_5APIntE", "llvm::ConstantRange::ConstantRange(llvm::APInt const&)"},
-    {"_ZN4llvm13ConstantRangeC1ERKNS_5APIntES3_", "llvm::ConstantRange::ConstantRange(llvm::APInt const&, llvm::APInt const&)"},
-    {"_ZN4llvm13ConstantRangeC2ERKNS_5APIntES3_", "llvm::ConstantRange::ConstantRange(llvm::APInt const&, llvm::APInt const&)"},
-    {"_ZN4llvm13ConstantRange14makeICmpRegionEjRKS0_", "llvm::ConstantRange::makeICmpRegion(unsigned int, llvm::ConstantRange const&)"},
-    {"_ZNK4llvm13ConstantRange10isEmptySetEv", "llvm::ConstantRange::isEmptySet() const"},
-    {"_ZNK4llvm13ConstantRange14getUnsignedMaxEv", "llvm::ConstantRange::getUnsignedMax() const"},
-    {"_ZNK4llvm13ConstantRange12getSignedMaxEv", "llvm::ConstantRange::getSignedMax() const"},
-    {"_ZNK4llvm13ConstantRange14getUnsignedMinEv", "llvm::ConstantRange::getUnsignedMin() const"},
-    {"_ZNK4llvm13ConstantRange12getSignedMinEv", "llvm::ConstantRange::getSignedMin() const"},
-    {"_ZNK4llvm13ConstantRange9isFullSetEv", "llvm::ConstantRange::isFullSet() const"},
-    {"_ZNK4llvm13ConstantRange12isWrappedSetEv", "llvm::ConstantRange::isWrappedSet() const"},
-    {"_ZNK4llvm13ConstantRange16isSignWrappedSetEv", "llvm::ConstantRange::isSignWrappedSet() const"},
-    {"_ZNK4llvm13ConstantRange8containsERKNS_5APIntE", "llvm::ConstantRange::contains(llvm::APInt const&) const"},
-    {"_ZNK4llvm13ConstantRange10getSetSizeEv", "llvm::ConstantRange::getSetSize() const"},
-    {"_ZNK4llvm13ConstantRange8containsERKS0_", "llvm::ConstantRange::contains(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange8subtractERKNS_5APIntE", "llvm::ConstantRange::subtract(llvm::APInt const&) const"},
-    {"_ZNK4llvm13ConstantRange13intersectWithERKS0_", "llvm::ConstantRange::intersectWith(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange9unionWithERKS0_", "llvm::ConstantRange::unionWith(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange10zeroExtendEj", "llvm::ConstantRange::zeroExtend(unsigned int) const"},
-    {"_ZNK4llvm13ConstantRange10signExtendEj", "llvm::ConstantRange::signExtend(unsigned int) const"},
-    {"_ZNK4llvm13ConstantRange8truncateEj", "llvm::ConstantRange::truncate(unsigned int) const"},
-    {"_ZNK4llvm13ConstantRange11zextOrTruncEj", "llvm::ConstantRange::zextOrTrunc(unsigned int) const"},
-    {"_ZNK4llvm13ConstantRange11sextOrTruncEj", "llvm::ConstantRange::sextOrTrunc(unsigned int) const"},
-    {"_ZNK4llvm13ConstantRange3addERKS0_", "llvm::ConstantRange::add(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange3subERKS0_", "llvm::ConstantRange::sub(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange8multiplyERKS0_", "llvm::ConstantRange::multiply(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange4smaxERKS0_", "llvm::ConstantRange::smax(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange4umaxERKS0_", "llvm::ConstantRange::umax(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange4udivERKS0_", "llvm::ConstantRange::udiv(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange9binaryAndERKS0_", "llvm::ConstantRange::binaryAnd(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange8binaryOrERKS0_", "llvm::ConstantRange::binaryOr(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange3shlERKS0_", "llvm::ConstantRange::shl(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange4lshrERKS0_", "llvm::ConstantRange::lshr(llvm::ConstantRange const&) const"},
-    {"_ZNK4llvm13ConstantRange7inverseEv", "llvm::ConstantRange::inverse() const"},
-    {"_ZNK4llvm13ConstantRange5printERNS_11raw_ostreamE", "llvm::ConstantRange::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm13ConstantRange4dumpEv", "llvm::ConstantRange::dump() const"},
-    {"_ZN4llvm3sys11ThreadLocalIKN12_GLOBAL__N_124CrashRecoveryContextImplEED1Ev", "llvm::sys::ThreadLocal<(anonymous namespace)::CrashRecoveryContextImpl const>::~ThreadLocal()"},
-    {"_ZN4llvm20CrashRecoveryContextD1Ev", "llvm::CrashRecoveryContext::~CrashRecoveryContext()"},
-    {"_ZN4llvm20CrashRecoveryContextD2Ev", "llvm::CrashRecoveryContext::~CrashRecoveryContext()"},
-    {"_ZN4llvm20CrashRecoveryContext10GetCurrentEv", "llvm::CrashRecoveryContext::GetCurrent()"},
-    {"_ZN4llvm20CrashRecoveryContext6EnableEv", "llvm::CrashRecoveryContext::Enable()"},
-    {"_Z26CrashRecoverySignalHandleri", "CrashRecoverySignalHandler(int)"},
-    {"_ZN4llvm20CrashRecoveryContext7DisableEv", "llvm::CrashRecoveryContext::Disable()"},
-    {"_ZN4llvm20CrashRecoveryContext9RunSafelyEPFvPvES1_", "llvm::CrashRecoveryContext::RunSafely(void (*)(void*), void*)"},
-    {"_ZN4llvm20CrashRecoveryContext11HandleCrashEv", "llvm::CrashRecoveryContext::HandleCrash()"},
-    {"_ZNK4llvm20CrashRecoveryContext12getBacktraceEv", "llvm::CrashRecoveryContext::getBacktrace() const"},
-    {"_ZN4llvm20CrashRecoveryContext17RunSafelyOnThreadEPFvPvES1_j", "llvm::CrashRecoveryContext::RunSafelyOnThread(void (*)(void*), void*, unsigned int)"},
-    {"_Z26RunSafelyOnThread_DispatchPv", "RunSafelyOnThread_Dispatch(void*)"},
-    {"_ZN4llvm3sys11ThreadLocalIKN12_GLOBAL__N_124CrashRecoveryContextImplEED0Ev", "llvm::sys::ThreadLocal<(anonymous namespace)::CrashRecoveryContextImpl const>::~ThreadLocal()"},
-    {"_ZN4llvm3sys10SmartMutexILb0EED1Ev", "llvm::sys::SmartMutex<false>::~SmartMutex()"},
-    {"_ZN4llvm4dbgsEv", "llvm::dbgs()"},
-    {"_ZN4llvm5dwarf9TagStringEj", "llvm::dwarf::TagString(unsigned int)"},
-    {"_ZN4llvm5dwarf14ChildrenStringEj", "llvm::dwarf::ChildrenString(unsigned int)"},
-    {"_ZN4llvm5dwarf15AttributeStringEj", "llvm::dwarf::AttributeString(unsigned int)"},
-    {"_ZN4llvm5dwarf18FormEncodingStringEj", "llvm::dwarf::FormEncodingString(unsigned int)"},
-    {"_ZN4llvm5dwarf23OperationEncodingStringEj", "llvm::dwarf::OperationEncodingString(unsigned int)"},
-    {"_ZN4llvm5dwarf23AttributeEncodingStringEj", "llvm::dwarf::AttributeEncodingString(unsigned int)"},
-    {"_ZN4llvm5dwarf17DecimalSignStringEj", "llvm::dwarf::DecimalSignString(unsigned int)"},
-    {"_ZN4llvm5dwarf15EndianityStringEj", "llvm::dwarf::EndianityString(unsigned int)"},
-    {"_ZN4llvm5dwarf19AccessibilityStringEj", "llvm::dwarf::AccessibilityString(unsigned int)"},
-    {"_ZN4llvm5dwarf16VisibilityStringEj", "llvm::dwarf::VisibilityString(unsigned int)"},
-    {"_ZN4llvm5dwarf16VirtualityStringEj", "llvm::dwarf::VirtualityString(unsigned int)"},
-    {"_ZN4llvm5dwarf14LanguageStringEj", "llvm::dwarf::LanguageString(unsigned int)"},
-    {"_ZN4llvm5dwarf10CaseStringEj", "llvm::dwarf::CaseString(unsigned int)"},
-    {"_ZN4llvm5dwarf16ConventionStringEj", "llvm::dwarf::ConventionString(unsigned int)"},
-    {"_ZN4llvm5dwarf16InlineCodeStringEj", "llvm::dwarf::InlineCodeString(unsigned int)"},
-    {"_ZN4llvm5dwarf16ArrayOrderStringEj", "llvm::dwarf::ArrayOrderString(unsigned int)"},
-    {"_ZN4llvm5dwarf18DiscriminantStringEj", "llvm::dwarf::DiscriminantString(unsigned int)"},
-    {"_ZN4llvm5dwarf16LNStandardStringEj", "llvm::dwarf::LNStandardString(unsigned int)"},
-    {"_ZN4llvm5dwarf16LNExtendedStringEj", "llvm::dwarf::LNExtendedString(unsigned int)"},
-    {"_ZN4llvm5dwarf13MacinfoStringEj", "llvm::dwarf::MacinfoString(unsigned int)"},
-    {"_ZN4llvm5dwarf15CallFrameStringEj", "llvm::dwarf::CallFrameString(unsigned int)"},
-    {"_ZN12_GLOBAL__N_122ExplicitSymbolsDeleterD1Ev", "(anonymous namespace)::ExplicitSymbolsDeleter::~ExplicitSymbolsDeleter()"},
-    {"_ZN4llvm3sys14DynamicLibrary9AddSymbolEPKcPv", "llvm::sys::DynamicLibrary::AddSymbol(char const*, void*)"},
-    {"_ZN4llvm3sys14DynamicLibrary22LoadLibraryPermanentlyEPKcPSs", "llvm::sys::DynamicLibrary::LoadLibraryPermanently(char const*, std::string*)"},
-    {"_ZN4llvm3sys14DynamicLibrary24SearchForAddressOfSymbolEPKc", "llvm::sys::DynamicLibrary::SearchForAddressOfSymbol(char const*)"},
-    {"_ZNSt3mapISsPvSt4lessISsESaISt4pairIKSsS0_EEEixERS4_", "std::map<std::string, void*, std::less<std::string>, std::allocator<std::pair<std::string const, void*> > >::operator[](std::string const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE4findERS1_", "std::_Rb_tree<std::string, std::pair<std::string const, void*>, std::_Select1st<std::pair<std::string const, void*> >, std::less<std::string>, std::allocator<std::pair<std::string const, void*> > >::find(std::string const&)"},
-    {"_ZNSt6vectorIPvSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_", "std::vector<void*, std::allocator<void*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<void**, std::vector<void*, std::allocator<void*> > >, void* const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE16_M_insert_uniqueESt17_Rb_tree_iteratorIS3_ERKS3_", "std::_Rb_tree<std::string, std::pair<std::string const, void*>, std::_Select1st<std::pair<std::string const, void*> >, std::less<std::string>, std::allocator<std::pair<std::string const, void*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<std::string const, void*> >, std::pair<std::string const, void*> const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE9_M_insertEPSt18_Rb_tree_node_baseSB_RKS3_", "std::_Rb_tree<std::string, std::pair<std::string const, void*>, std::_Select1st<std::pair<std::string const, void*> >, std::less<std::string>, std::allocator<std::pair<std::string const, void*> > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::string const, void*> const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE16_M_insert_uniqueERKS3_", "std::_Rb_tree<std::string, std::pair<std::string const, void*>, std::_Select1st<std::pair<std::string const, void*> >, std::less<std::string>, std::allocator<std::pair<std::string const, void*> > >::_M_insert_unique(std::pair<std::string const, void*> const&)"},
-    {"_ZNSt8_Rb_treeISsSt4pairIKSsPvESt10_Select1stIS3_ESt4lessISsESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E", "std::_Rb_tree<std::string, std::pair<std::string const, void*>, std::_Select1st<std::pair<std::string const, void*> >, std::less<std::string>, std::allocator<std::pair<std::string const, void*> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, void*> >*)"},
-    {"_ZN4llvm3sys8StrErrorEv", "llvm::sys::StrError()"},
-    {"_ZN4llvm3sys8StrErrorEi", "llvm::sys::StrError(int)"},
-    {"_ZN4llvm27install_fatal_error_handlerEPFvPvRKSsES0_", "llvm::install_fatal_error_handler(void (*)(void*, std::string const&), void*)"},
-    {"_ZN4llvm26remove_fatal_error_handlerEv", "llvm::remove_fatal_error_handler()"},
-    {"_ZN4llvm18report_fatal_errorEPKc", "llvm::report_fatal_error(char const*)"},
-    {"_ZN4llvm18report_fatal_errorERKNS_5TwineE", "llvm::report_fatal_error(llvm::Twine const&)"},
-    {"_ZN4llvm18report_fatal_errorERKSs", "llvm::report_fatal_error(std::string const&)"},
-    {"_ZN4llvm18report_fatal_errorENS_9StringRefE", "llvm::report_fatal_error(llvm::StringRef)"},
-    {"_ZN4llvm25llvm_unreachable_internalEPKcS1_j", "llvm::llvm_unreachable_internal(char const*, char const*, unsigned int)"},
-    {"_ZNK4llvm19FoldingSetNodeIDRef11ComputeHashEv", "llvm::FoldingSetNodeIDRef::ComputeHash() const"},
-    {"_ZNK4llvm19FoldingSetNodeIDRefeqES0_", "llvm::FoldingSetNodeIDRef::operator==(llvm::FoldingSetNodeIDRef) const"},
-    {"_ZN4llvm16FoldingSetNodeID10AddPointerEPKv", "llvm::FoldingSetNodeID::AddPointer(void const*)"},
-    {"_ZN4llvm16FoldingSetNodeID10AddIntegerEi", "llvm::FoldingSetNodeID::AddInteger(int)"},
-    {"_ZN4llvm16FoldingSetNodeID10AddIntegerEj", "llvm::FoldingSetNodeID::AddInteger(unsigned int)"},
-    {"_ZN4llvm16FoldingSetNodeID10AddIntegerEl", "llvm::FoldingSetNodeID::AddInteger(long)"},
-    {"_ZN4llvm16FoldingSetNodeID10AddIntegerEm", "llvm::FoldingSetNodeID::AddInteger(unsigned long)"},
-    {"_ZN4llvm16FoldingSetNodeID10AddIntegerEy", "llvm::FoldingSetNodeID::AddInteger(unsigned long long)"},
-    {"_ZN4llvm16FoldingSetNodeID10AddIntegerEx", "llvm::FoldingSetNodeID::AddInteger(long long)"},
-    {"_ZN4llvm16FoldingSetNodeID9AddStringENS_9StringRefE", "llvm::FoldingSetNodeID::AddString(llvm::StringRef)"},
-    {"_ZNK4llvm16FoldingSetNodeID11ComputeHashEv", "llvm::FoldingSetNodeID::ComputeHash() const"},
-    {"_ZNK4llvm16FoldingSetNodeIDeqERKS0_", "llvm::FoldingSetNodeID::operator==(llvm::FoldingSetNodeID const&) const"},
-    {"_ZNK4llvm16FoldingSetNodeIDeqENS_19FoldingSetNodeIDRefE", "llvm::FoldingSetNodeID::operator==(llvm::FoldingSetNodeIDRef) const"},
-    {"_ZNK4llvm16FoldingSetNodeID6InternERNS_16BumpPtrAllocatorE", "llvm::FoldingSetNodeID::Intern(llvm::BumpPtrAllocator&) const"},
-    {"_ZN4llvm14FoldingSetImplC1Ej", "llvm::FoldingSetImpl::FoldingSetImpl(unsigned int)"},
-    {"_ZN4llvm14FoldingSetImplC2Ej", "llvm::FoldingSetImpl::FoldingSetImpl(unsigned int)"},
-    {"_ZN4llvm14FoldingSetImplD0Ev", "llvm::FoldingSetImpl::~FoldingSetImpl()"},
-    {"_ZN4llvm14FoldingSetImplD1Ev", "llvm::FoldingSetImpl::~FoldingSetImpl()"},
-    {"_ZN4llvm14FoldingSetImplD2Ev", "llvm::FoldingSetImpl::~FoldingSetImpl()"},
-    {"_ZN4llvm14FoldingSetImpl5clearEv", "llvm::FoldingSetImpl::clear()"},
-    {"_ZN4llvm14FoldingSetImpl13GrowHashTableEv", "llvm::FoldingSetImpl::GrowHashTable()"},
-    {"_ZN4llvm14FoldingSetImpl10InsertNodeEPNS0_4NodeEPv", "llvm::FoldingSetImpl::InsertNode(llvm::FoldingSetImpl::Node*, void*)"},
-    {"_ZN4llvm14FoldingSetImpl19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERPv", "llvm::FoldingSetImpl::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void*&)"},
-    {"_ZN4llvm14FoldingSetImpl10RemoveNodeEPNS0_4NodeE", "llvm::FoldingSetImpl::RemoveNode(llvm::FoldingSetImpl::Node*)"},
-    {"_ZN4llvm14FoldingSetImpl15GetOrInsertNodeEPNS0_4NodeE", "llvm::FoldingSetImpl::GetOrInsertNode(llvm::FoldingSetImpl::Node*)"},
-    {"_ZN4llvm22FoldingSetIteratorImplC1EPPv", "llvm::FoldingSetIteratorImpl::FoldingSetIteratorImpl(void**)"},
-    {"_ZN4llvm22FoldingSetIteratorImplC2EPPv", "llvm::FoldingSetIteratorImpl::FoldingSetIteratorImpl(void**)"},
-    {"_ZN4llvm22FoldingSetIteratorImpl7advanceEv", "llvm::FoldingSetIteratorImpl::advance()"},
-    {"_ZN4llvm28FoldingSetBucketIteratorImplC1EPPv", "llvm::FoldingSetBucketIteratorImpl::FoldingSetBucketIteratorImpl(void**)"},
-    {"_ZN4llvm28FoldingSetBucketIteratorImplC2EPPv", "llvm::FoldingSetBucketIteratorImpl::FoldingSetBucketIteratorImpl(void**)"},
-    {"_ZN4llvm21formatted_raw_ostream13ComputeColumnEPKcm", "llvm::formatted_raw_ostream::ComputeColumn(char const*, unsigned long)"},
-    {"_ZN4llvm21formatted_raw_ostream11PadToColumnEj", "llvm::formatted_raw_ostream::PadToColumn(unsigned int)"},
-    {"_ZN4llvm21formatted_raw_ostream10write_implEPKcm", "llvm::formatted_raw_ostream::write_impl(char const*, unsigned long)"},
-    {"_ZN4llvm5foutsEv", "llvm::fouts()"},
-    {"_ZN4llvm5ferrsEv", "llvm::ferrs()"},
-    {"_ZN4llvm5fdbgsEv", "llvm::fdbgs()"},
-    {"_ZN4llvm3DOT12EscapeStringERKSs", "llvm::DOT::EscapeString(std::string const&)"},
-    {"_ZN4llvm12DisplayGraphERKNS_3sys4PathEbNS_12GraphProgram4NameE", "llvm::DisplayGraph(llvm::sys::Path const&, bool, llvm::GraphProgram::Name)"},
-    {"_ZN4llvm3sys13getHostTripleEv", "llvm::sys::getHostTriple()"},
-    {"_ZN4llvm3sys14getHostCPUNameEv", "llvm::sys::getHostCPUName()"},
-    {"_ZN4llvm3sys18getHostCPUFeaturesERNS_9StringMapIbNS_15MallocAllocatorEEE", "llvm::sys::getHostCPUFeatures(llvm::StringMap<bool, llvm::MallocAllocator>&)"},
-    {"_ZN4llvm12IntEqClasses4growEj", "llvm::IntEqClasses::grow(unsigned int)"},
-    {"_ZN4llvm12IntEqClasses4joinEjj", "llvm::IntEqClasses::join(unsigned int, unsigned int)"},
-    {"_ZNK4llvm12IntEqClasses10findLeaderEj", "llvm::IntEqClasses::findLeader(unsigned int) const"},
-    {"_ZN4llvm12IntEqClasses8compressEv", "llvm::IntEqClasses::compress()"},
-    {"_ZN4llvm12IntEqClasses10uncompressEv", "llvm::IntEqClasses::uncompress()"},
-    {"_ZN4llvm15IntervalMapImpl4Path11replaceRootEPvjSt4pairIjjE", "llvm::IntervalMapImpl::Path::replaceRoot(void*, unsigned int, std::pair<unsigned int, unsigned int>)"},
-    {"_ZNK4llvm15IntervalMapImpl4Path14getLeftSiblingEj", "llvm::IntervalMapImpl::Path::getLeftSibling(unsigned int) const"},
-    {"_ZN4llvm15IntervalMapImpl4Path8moveLeftEj", "llvm::IntervalMapImpl::Path::moveLeft(unsigned int)"},
-    {"_ZNK4llvm15IntervalMapImpl4Path15getRightSiblingEj", "llvm::IntervalMapImpl::Path::getRightSibling(unsigned int) const"},
-    {"_ZN4llvm15IntervalMapImpl4Path9moveRightEj", "llvm::IntervalMapImpl::Path::moveRight(unsigned int)"},
-    {"_ZN4llvm15IntervalMapImpl10distributeEjjjPKjPjjb", "llvm::IntervalMapImpl::distribute(unsigned int, unsigned int, unsigned int, unsigned int const*, unsigned int*, unsigned int, bool)"},
-    {"_ZN4llvm15SmallVectorImplINS_15IntervalMapImpl4Path5EntryEE6insertEPS3_RKS3_", "llvm::SmallVectorImpl<llvm::IntervalMapImpl::Path::Entry>::insert(llvm::IntervalMapImpl::Path::Entry*, llvm::IntervalMapImpl::Path::Entry const&)"},
-    {"_ZN4llvm15SmallVectorImplINS_15IntervalMapImpl4Path5EntryEE6resizeEjRKS3_", "llvm::SmallVectorImpl<llvm::IntervalMapImpl::Path::Entry>::resize(unsigned int, llvm::IntervalMapImpl::Path::Entry const&)"},
-    {"_ZNK4llvm17ManagedStaticBase7destroyEv", "llvm::ManagedStaticBase::destroy() const"},
-    {"_ZN4llvm13llvm_shutdownEv", "llvm::llvm_shutdown()"},
-    {"_ZN4llvm3sys6Memory11AllocateRWXEmPKNS0_11MemoryBlockEPSs", "llvm::sys::Memory::AllocateRWX(unsigned long, llvm::sys::MemoryBlock const*, std::string*)"},
-    {"_Z10MakeErrMsgPSsRKSsi", "MakeErrMsg(std::string*, std::string const&, int)"},
-    {"_ZN4llvm3sys6Memory10ReleaseRWXERNS0_11MemoryBlockEPSs", "llvm::sys::Memory::ReleaseRWX(llvm::sys::MemoryBlock&, std::string*)"},
-    {"_ZN4llvm3sys6Memory11setWritableERNS0_11MemoryBlockEPSs", "llvm::sys::Memory::setWritable(llvm::sys::MemoryBlock&, std::string*)"},
-    {"_ZN4llvm3sys6Memory13setExecutableERNS0_11MemoryBlockEPSs", "llvm::sys::Memory::setExecutable(llvm::sys::MemoryBlock&, std::string*)"},
-    {"_ZN4llvm3sys6Memory16setRangeWritableEPKvm", "llvm::sys::Memory::setRangeWritable(void const*, unsigned long)"},
-    {"_ZN4llvm3sys6Memory18setRangeExecutableEPKvm", "llvm::sys::Memory::setRangeExecutable(void const*, unsigned long)"},
-    {"_ZN4llvm3sys6Memory26InvalidateInstructionCacheEPKvm", "llvm::sys::Memory::InvalidateInstructionCache(void const*, unsigned long)"},
-    {"_ZN4llvm12MemoryBufferD0Ev", "llvm::MemoryBuffer::~MemoryBuffer()"},
-    {"_ZN4llvm12MemoryBufferD1Ev", "llvm::MemoryBuffer::~MemoryBuffer()"},
-    {"_ZN4llvm12MemoryBufferD2Ev", "llvm::MemoryBuffer::~MemoryBuffer()"},
-    {"_ZN4llvm12MemoryBuffer4initEPKcS2_", "llvm::MemoryBuffer::init(char const*, char const*)"},
-    {"_ZN4llvm12MemoryBuffer12getMemBufferENS_9StringRefES1_", "llvm::MemoryBuffer::getMemBuffer(llvm::StringRef, llvm::StringRef)"},
-    {"_ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_", "llvm::MemoryBuffer::getMemBufferCopy(llvm::StringRef, llvm::StringRef)"},
-    {"_ZN4llvm12MemoryBuffer21getNewUninitMemBufferEmNS_9StringRefE", "llvm::MemoryBuffer::getNewUninitMemBuffer(unsigned long, llvm::StringRef)"},
-    {"_ZN4llvm12MemoryBuffer15getNewMemBufferEmNS_9StringRefE", "llvm::MemoryBuffer::getNewMemBuffer(unsigned long, llvm::StringRef)"},
-    {"_ZN4llvm12MemoryBuffer14getFileOrSTDINENS_9StringRefERNS_9OwningPtrIS0_EEx", "llvm::MemoryBuffer::getFileOrSTDIN(llvm::StringRef, llvm::OwningPtr<llvm::MemoryBuffer>&, long long)"},
-    {"_ZN4llvm12MemoryBuffer8getSTDINERNS_9OwningPtrIS0_EE", "llvm::MemoryBuffer::getSTDIN(llvm::OwningPtr<llvm::MemoryBuffer>&)"},
-    {"_ZN4llvm12MemoryBuffer7getFileENS_9StringRefERNS_9OwningPtrIS0_EEx", "llvm::MemoryBuffer::getFile(llvm::StringRef, llvm::OwningPtr<llvm::MemoryBuffer>&, long long)"},
-    {"_ZN4llvm12MemoryBuffer14getFileOrSTDINEPKcRNS_9OwningPtrIS0_EEx", "llvm::MemoryBuffer::getFileOrSTDIN(char const*, llvm::OwningPtr<llvm::MemoryBuffer>&, long long)"},
-    {"_ZN4llvm12MemoryBuffer7getFileEPKcRNS_9OwningPtrIS0_EEx", "llvm::MemoryBuffer::getFile(char const*, llvm::OwningPtr<llvm::MemoryBuffer>&, long long)"},
-    {"_ZN4llvm12MemoryBuffer11getOpenFileEiPKcRNS_9OwningPtrIS0_EEx", "llvm::MemoryBuffer::getOpenFile(int, char const*, llvm::OwningPtr<llvm::MemoryBuffer>&, long long)"},
-    {"_ZN12_GLOBAL__N_120MemoryBufferMMapFileD1Ev", "(anonymous namespace)::MemoryBufferMMapFile::~MemoryBufferMMapFile()"},
-    {"_ZN12_GLOBAL__N_120MemoryBufferMMapFileD0Ev", "(anonymous namespace)::MemoryBufferMMapFile::~MemoryBufferMMapFile()"},
-    {"_ZNK12_GLOBAL__N_115MemoryBufferMem19getBufferIdentifierEv", "(anonymous namespace)::MemoryBufferMem::getBufferIdentifier() const"},
-    {"_ZN12_GLOBAL__N_115MemoryBufferMemD1Ev", "(anonymous namespace)::MemoryBufferMem::~MemoryBufferMem()"},
-    {"_ZN12_GLOBAL__N_115MemoryBufferMemD0Ev", "(anonymous namespace)::MemoryBufferMem::~MemoryBufferMem()"},
-    {"_ZNK4llvm12MemoryBuffer19getBufferIdentifierEv", "llvm::MemoryBuffer::getBufferIdentifier() const"},
-    {"_ZN4llvm3sys9MutexImplC1Eb", "llvm::sys::MutexImpl::MutexImpl(bool)"},
-    {"_ZN4llvm3sys9MutexImplD1Ev", "llvm::sys::MutexImpl::~MutexImpl()"},
-    {"_ZN4llvm3sys9MutexImplD2Ev", "llvm::sys::MutexImpl::~MutexImpl()"},
-    {"_ZN4llvm3sys9MutexImpl10tryacquireEv", "llvm::sys::MutexImpl::tryacquire()"},
-    {"_ZNK4llvm3sys4PatheqERKS1_", "llvm::sys::Path::operator==(llvm::sys::Path const&) const"},
-    {"_ZNK4llvm3sys4PathltERKS1_", "llvm::sys::Path::operator<(llvm::sys::Path const&) const"},
-    {"_ZN4llvm3sys4Path16GetLLVMConfigDirEv", "llvm::sys::Path::GetLLVMConfigDir()"},
-    {"_ZN4llvm3sys4Path3setENS_9StringRefE", "llvm::sys::Path::set(llvm::StringRef)"},
-    {"_ZN4llvm3sys4Path23GetLLVMDefaultConfigDirEv", "llvm::sys::Path::GetLLVMDefaultConfigDir()"},
-    {"_ZN4llvm3sys16IdentifyFileTypeEPKcj", "llvm::sys::IdentifyFileType(char const*, unsigned int)"},
-    {"_ZNK4llvm3sys4Path9isArchiveEv", "llvm::sys::Path::isArchive() const"},
-    {"_ZNK4llvm3sys4Path16isDynamicLibraryEv", "llvm::sys::Path::isDynamicLibrary() const"},
-    {"_ZNK4llvm3sys4Path12isObjectFileEv", "llvm::sys::Path::isObjectFile() const"},
-    {"_ZN4llvm3sys4Path11FindLibraryERSs", "llvm::sys::Path::FindLibrary(std::string&)"},
-    {"_ZN4llvm3sys4Path21GetSystemLibraryPathsERSt6vectorIS1_SaIS1_EE", "llvm::sys::Path::GetSystemLibraryPaths(std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> >&)"},
-    {"_ZN4llvm3sys4Path15appendComponentENS_9StringRefE", "llvm::sys::Path::appendComponent(llvm::StringRef)"},
-    {"_ZN4llvm3sys4Path11eraseSuffixEv", "llvm::sys::Path::eraseSuffix()"},
-    {"_ZN4llvm3sys4Path12appendSuffixENS_9StringRefE", "llvm::sys::Path::appendSuffix(llvm::StringRef)"},
-    {"_ZN4llvm3sys4Path12GetDLLSuffixEv", "llvm::sys::Path::GetDLLSuffix()"},
-    {"_ZNK4llvm3sys4Path13isBitcodeFileEv", "llvm::sys::Path::isBitcodeFile() const"},
-    {"_ZNK4llvm3sys4Path14hasMagicNumberENS_9StringRefE", "llvm::sys::Path::hasMagicNumber(llvm::StringRef) const"},
-    {"_ZNK4llvm3sys4Path14getMagicNumberERSsj", "llvm::sys::Path::getMagicNumber(std::string&, unsigned int) const"},
-    {"_ZN4llvm3sys4Path12GetEXESuffixEv", "llvm::sys::Path::GetEXESuffix()"},
-    {"_ZN4llvm3sys4PathC1ENS_9StringRefE", "llvm::sys::Path::Path(llvm::StringRef)"},
-    {"_ZN4llvm3sys4PathC2ENS_9StringRefE", "llvm::sys::Path::Path(llvm::StringRef)"},
-    {"_ZN4llvm3sys4PathC1EPKcj", "llvm::sys::Path::Path(char const*, unsigned int)"},
-    {"_ZN4llvm3sys4PathC2EPKcj", "llvm::sys::Path::Path(char const*, unsigned int)"},
-    {"_ZN4llvm3sys4PathaSENS_9StringRefE", "llvm::sys::Path::operator=(llvm::StringRef)"},
-    {"_ZNK4llvm3sys4Path7isValidEv", "llvm::sys::Path::isValid() const"},
-    {"_ZN4llvm3sys4Path10isAbsoluteEPKcj", "llvm::sys::Path::isAbsolute(char const*, unsigned int)"},
-    {"_ZNK4llvm3sys4Path10isAbsoluteEv", "llvm::sys::Path::isAbsolute() const"},
-    {"_ZN4llvm3sys4Path16GetRootDirectoryEv", "llvm::sys::Path::GetRootDirectory()"},
-    {"_ZN4llvm3sys4Path21GetTemporaryDirectoryEPSs", "llvm::sys::Path::GetTemporaryDirectory(std::string*)"},
-    {"_Z10MakeErrMsgPSsRKSsi", "MakeErrMsg(std::string*, std::string const&, int)"},
-    {"_Z11getPathListPKcRSt6vectorIN4llvm3sys4PathESaIS4_EE", "getPathList(char const*, std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> >&)"},
-    {"_ZN4llvm3sys4Path22GetBitcodeLibraryPathsERSt6vectorIS1_SaIS1_EE", "llvm::sys::Path::GetBitcodeLibraryPaths(std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> >&)"},
-    {"_ZNK4llvm3sys4Path7canReadEv", "llvm::sys::Path::canRead() const"},
-    {"_ZN4llvm3sys4Path20GetUserHomeDirectoryEv", "llvm::sys::Path::GetUserHomeDirectory()"},
-    {"_ZN4llvm3sys4Path19GetCurrentDirectoryEv", "llvm::sys::Path::GetCurrentDirectory()"},
-    {"_ZN4llvm3sys4Path17GetMainExecutableEPKcPv", "llvm::sys::Path::GetMainExecutable(char const*, void*)"},
-    {"_ZNK4llvm3sys4Path10getDirnameEv", "llvm::sys::Path::getDirname() const"},
-    {"_ZNK4llvm3sys4Path11getBasenameEv", "llvm::sys::Path::getBasename() const"},
-    {"_ZNK4llvm3sys4Path9getSuffixEv", "llvm::sys::Path::getSuffix() const"},
-    {"_ZNK4llvm3sys4Path6existsEv", "llvm::sys::Path::exists() const"},
-    {"_ZNK4llvm3sys4Path11isDirectoryEv", "llvm::sys::Path::isDirectory() const"},
-    {"_ZNK4llvm3sys4Path9isSymLinkEv", "llvm::sys::Path::isSymLink() const"},
-    {"_ZNK4llvm3sys4Path8canWriteEv", "llvm::sys::Path::canWrite() const"},
-    {"_ZNK4llvm3sys4Path13isRegularFileEv", "llvm::sys::Path::isRegularFile() const"},
-    {"_ZNK4llvm3sys4Path10canExecuteEv", "llvm::sys::Path::canExecute() const"},
-    {"_ZNK4llvm3sys4Path7getLastEv", "llvm::sys::Path::getLast() const"},
-    {"_ZNK4llvm3sys14PathWithStatus13getFileStatusEbPSs", "llvm::sys::PathWithStatus::getFileStatus(bool, std::string*) const"},
-    {"_ZN4llvm3sys4Path18makeReadableOnDiskEPSs", "llvm::sys::Path::makeReadableOnDisk(std::string*)"},
-    {"_ZN4llvm3sys4Path19makeWriteableOnDiskEPSs", "llvm::sys::Path::makeWriteableOnDisk(std::string*)"},
-    {"_ZN4llvm3sys4Path20makeExecutableOnDiskEPSs", "llvm::sys::Path::makeExecutableOnDisk(std::string*)"},
-    {"_ZNK4llvm3sys4Path20getDirectoryContentsERSt3setIS1_St4lessIS1_ESaIS1_EEPSs", "llvm::sys::Path::getDirectoryContents(std::set<llvm::sys::Path, std::less<llvm::sys::Path>, std::allocator<llvm::sys::Path> >&, std::string*) const"},
-    {"_ZN4llvm3sys4Path14eraseComponentEv", "llvm::sys::Path::eraseComponent()"},
-    {"_ZN4llvm3sys4Path21createDirectoryOnDiskEbPSs", "llvm::sys::Path::createDirectoryOnDisk(bool, std::string*)"},
-    {"_ZN4llvm21createDirectoryHelperEPcS0_b", "llvm::createDirectoryHelper(char*, char*, bool)"},
-    {"_ZN4llvm3sys4Path16createFileOnDiskEPSs", "llvm::sys::Path::createFileOnDisk(std::string*)"},
-    {"_ZN4llvm3sys4Path25createTemporaryFileOnDiskEbPSs", "llvm::sys::Path::createTemporaryFileOnDisk(bool, std::string*)"},
-    {"_ZN4llvm3sys4Path10makeUniqueEbPSs", "llvm::sys::Path::makeUnique(bool, std::string*)"},
-    {"_ZNK4llvm3sys4Path13eraseFromDiskEbPSs", "llvm::sys::Path::eraseFromDisk(bool, std::string*) const"},
-    {"_ZN4llvm3sys4Path16renamePathOnDiskERKS1_PSs", "llvm::sys::Path::renamePathOnDisk(llvm::sys::Path const&, std::string*)"},
-    {"_ZNK4llvm3sys4Path19setStatusInfoOnDiskERKNS0_10FileStatusEPSs", "llvm::sys::Path::setStatusInfoOnDisk(llvm::sys::FileStatus const&, std::string*) const"},
-    {"_ZN4llvm3sys8CopyFileERKNS0_4PathES3_PSs", "llvm::sys::CopyFile(llvm::sys::Path const&, llvm::sys::Path const&, std::string*)"},
-    {"_ZN4llvm3sys4Path14MapInFilePagesEiy", "llvm::sys::Path::MapInFilePages(int, unsigned long long)"},
-    {"_ZN4llvm3sys4Path14UnMapFilePagesEPKcy", "llvm::sys::Path::UnMapFilePages(char const*, unsigned long long)"},
-    {"_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc", "std::vector<char, std::allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, unsigned long, char const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm3sys4PathES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueERKS2_", "std::_Rb_tree<llvm::sys::Path, llvm::sys::Path, std::_Identity<llvm::sys::Path>, std::less<llvm::sys::Path>, std::allocator<llvm::sys::Path> >::_M_insert_unique(llvm::sys::Path const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm3sys4PathES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE9_M_insertEPSt18_Rb_tree_node_baseSA_RKS2_", "std::_Rb_tree<llvm::sys::Path, llvm::sys::Path, std::_Identity<llvm::sys::Path>, std::less<llvm::sys::Path>, std::allocator<llvm::sys::Path> >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, llvm::sys::Path const&)"},
-    {"_ZNSt8_Rb_treeIN4llvm3sys4PathES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E", "std::_Rb_tree<llvm::sys::Path, llvm::sys::Path, std::_Identity<llvm::sys::Path>, std::less<llvm::sys::Path>, std::allocator<llvm::sys::Path> >::_M_erase(std::_Rb_tree_node<llvm::sys::Path>*)"},
-    {"_ZN4llvm3sys4path5beginENS_9StringRefE", "llvm::sys::path::begin(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path3endENS_9StringRefE", "llvm::sys::path::end(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path14const_iteratorppEv", "llvm::sys::path::const_iterator::operator++()"},
-    {"_ZN4llvm3sys4path14const_iteratormmEv", "llvm::sys::path::const_iterator::operator--()"},
-    {"_ZNK4llvm3sys4path14const_iteratoreqERKS2_", "llvm::sys::path::const_iterator::operator==(llvm::sys::path::const_iterator const&) const"},
-    {"_ZNK4llvm3sys4path14const_iteratorneERKS2_", "llvm::sys::path::const_iterator::operator!=(llvm::sys::path::const_iterator const&) const"},
-    {"_ZNK4llvm3sys4path14const_iteratormiERKS2_", "llvm::sys::path::const_iterator::operator-(llvm::sys::path::const_iterator const&) const"},
-    {"_ZN4llvm3sys4path9root_pathENS_9StringRefE", "llvm::sys::path::root_path(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path9root_nameENS_9StringRefE", "llvm::sys::path::root_name(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path14root_directoryENS_9StringRefE", "llvm::sys::path::root_directory(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path13relative_pathENS_9StringRefE", "llvm::sys::path::relative_path(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path6appendERNS_15SmallVectorImplIcEERKNS_5TwineES7_S7_S7_", "llvm::sys::path::append(llvm::SmallVectorImpl<char>&, llvm::Twine const&, llvm::Twine const&, llvm::Twine const&, llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path13has_root_nameERKNS_5TwineE", "llvm::sys::path::has_root_name(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path11parent_pathENS_9StringRefE", "llvm::sys::path::parent_path(llvm::StringRef)"},
-    {"_ZN12_GLOBAL__N_115parent_path_endEN4llvm9StringRefE", "(anonymous namespace)::parent_path_end(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path15remove_filenameERNS_15SmallVectorImplIcEE", "llvm::sys::path::remove_filename(llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm3sys4path17replace_extensionERNS_15SmallVectorImplIcEERKNS_5TwineE", "llvm::sys::path::replace_extension(llvm::SmallVectorImpl<char>&, llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path6nativeERKNS_5TwineERNS_15SmallVectorImplIcEE", "llvm::sys::path::native(llvm::Twine const&, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm3sys4path8filenameENS_9StringRefE", "llvm::sys::path::filename(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path4stemENS_9StringRefE", "llvm::sys::path::stem(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path9extensionENS_9StringRefE", "llvm::sys::path::extension(llvm::StringRef)"},
-    {"_ZN4llvm3sys4path18has_root_directoryERKNS_5TwineE", "llvm::sys::path::has_root_directory(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path13has_root_pathERKNS_5TwineE", "llvm::sys::path::has_root_path(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path17has_relative_pathERKNS_5TwineE", "llvm::sys::path::has_relative_path(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path12has_filenameERKNS_5TwineE", "llvm::sys::path::has_filename(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path15has_parent_pathERKNS_5TwineE", "llvm::sys::path::has_parent_path(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path8has_stemERKNS_5TwineE", "llvm::sys::path::has_stem(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path13has_extensionERKNS_5TwineE", "llvm::sys::path::has_extension(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path11is_absoluteERKNS_5TwineE", "llvm::sys::path::is_absolute(llvm::Twine const&)"},
-    {"_ZN4llvm3sys4path11is_relativeERKNS_5TwineE", "llvm::sys::path::is_relative(llvm::Twine const&)"},
-    {"_ZN4llvm3sys2fs13make_absoluteERNS_15SmallVectorImplIcEE", "llvm::sys::fs::make_absolute(llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm3sys2fs12current_pathERNS_15SmallVectorImplIcEE", "llvm::sys::fs::current_path(llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm3sys2fs18create_directoriesERKNS_5TwineERb", "llvm::sys::fs::create_directories(llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs6existsERKNS_5TwineERb", "llvm::sys::fs::exists(llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs16create_directoryERKNS_5TwineERb", "llvm::sys::fs::create_directory(llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs6existsENS1_11file_statusE", "llvm::sys::fs::exists(llvm::sys::fs::file_status)"},
-    {"_ZN4llvm3sys2fs12status_knownENS1_11file_statusE", "llvm::sys::fs::status_known(llvm::sys::fs::file_status)"},
-    {"_ZN4llvm3sys2fs12is_directoryENS1_11file_statusE", "llvm::sys::fs::is_directory(llvm::sys::fs::file_status)"},
-    {"_ZN4llvm3sys2fs12is_directoryERKNS_5TwineERb", "llvm::sys::fs::is_directory(llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs6statusERKNS_5TwineERNS1_11file_statusE", "llvm::sys::fs::status(llvm::Twine const&, llvm::sys::fs::file_status&)"},
-    {"_ZN4llvm3sys2fs15is_regular_fileENS1_11file_statusE", "llvm::sys::fs::is_regular_file(llvm::sys::fs::file_status)"},
-    {"_ZN4llvm3sys2fs15is_regular_fileERKNS_5TwineERb", "llvm::sys::fs::is_regular_file(llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs10is_symlinkENS1_11file_statusE", "llvm::sys::fs::is_symlink(llvm::sys::fs::file_status)"},
-    {"_ZN4llvm3sys2fs10is_symlinkERKNS_5TwineERb", "llvm::sys::fs::is_symlink(llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs8is_otherENS1_11file_statusE", "llvm::sys::fs::is_other(llvm::sys::fs::file_status)"},
-    {"_ZN4llvm3sys2fs15directory_entry16replace_filenameERKNS_5TwineENS1_11file_statusES6_", "llvm::sys::fs::directory_entry::replace_filename(llvm::Twine const&, llvm::sys::fs::file_status, llvm::sys::fs::file_status)"},
-    {"_ZN4llvm3sys2fs9has_magicERKNS_5TwineES4_Rb", "llvm::sys::fs::has_magic(llvm::Twine const&, llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs9get_magicERKNS_5TwineEjRNS_15SmallVectorImplIcEE", "llvm::sys::fs::get_magic(llvm::Twine const&, unsigned int, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm3sys2fs14identify_magicERKNS_5TwineERNS0_12LLVMFileTypeE", "llvm::sys::fs::identify_magic(llvm::Twine const&, llvm::sys::LLVMFileType&)"},
-    {"_ZN4llvm3sys2fs10remove_allERKNS_5TwineERj", "llvm::sys::fs::remove_all(llvm::Twine const&, unsigned int&)"},
-    {"_ZN4llvm3sys2fs12_GLOBAL__N_112remove_all_rENS_9StringRefENS1_9file_typeERj", "llvm::sys::fs::(anonymous namespace)::remove_all_r(llvm::StringRef, llvm::sys::fs::file_type, unsigned int&)"},
-    {"_ZNK4llvm3sys2fs15directory_entry6statusERNS1_11file_statusE", "llvm::sys::fs::directory_entry::status(llvm::sys::fs::file_status&) const"},
-    {"_ZN4llvm3sys2fs9copy_fileERKNS_5TwineES4_NS1_11copy_optionE", "llvm::sys::fs::copy_file(llvm::Twine const&, llvm::Twine const&, llvm::sys::fs::copy_option)"},
-    {"_ZN4llvm3sys2fs16create_hard_linkERKNS_5TwineES4_", "llvm::sys::fs::create_hard_link(llvm::Twine const&, llvm::Twine const&)"},
-    {"_ZN4llvm3sys2fs14create_symlinkERKNS_5TwineES4_", "llvm::sys::fs::create_symlink(llvm::Twine const&, llvm::Twine const&)"},
-    {"_ZN4llvm3sys2fs6removeERKNS_5TwineERb", "llvm::sys::fs::remove(llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs6renameERKNS_5TwineES4_", "llvm::sys::fs::rename(llvm::Twine const&, llvm::Twine const&)"},
-    {"_ZN4llvm3sys2fs11resize_fileERKNS_5TwineEy", "llvm::sys::fs::resize_file(llvm::Twine const&, unsigned long long)"},
-    {"_ZN4llvm3sys2fs10equivalentERKNS_5TwineES4_Rb", "llvm::sys::fs::equivalent(llvm::Twine const&, llvm::Twine const&, bool&)"},
-    {"_ZN4llvm3sys2fs9file_sizeERKNS_5TwineERy", "llvm::sys::fs::file_size(llvm::Twine const&, unsigned long long&)"},
-    {"_ZN4llvm3sys2fs11unique_fileERKNS_5TwineERiRNS_15SmallVectorImplIcEE", "llvm::sys::fs::unique_file(llvm::Twine const&, int&, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm3sys2fs28directory_iterator_constructERNS1_18directory_iteratorENS_9StringRefE", "llvm::sys::fs::directory_iterator_construct(llvm::sys::fs::directory_iterator&, llvm::StringRef)"},
-    {"_ZN4llvm3sys2fs28directory_iterator_incrementERNS1_18directory_iteratorE", "llvm::sys::fs::directory_iterator_increment(llvm::sys::fs::directory_iterator&)"},
-    {"_ZN4llvm3sys2fs27directory_iterator_destructERNS1_18directory_iteratorE", "llvm::sys::fs::directory_iterator_destruct(llvm::sys::fs::directory_iterator&)"},
-    {"_ZN4llvm3sys4path9canonicalEPKcRNS_15SmallVectorImplIcEE", "llvm::sys::path::canonical(char const*, llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm15SmallVectorImplIcE4swapERS1_", "llvm::SmallVectorImpl<char>::swap(llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm21PrettyStackTraceEntryC1Ev", "llvm::PrettyStackTraceEntry::PrettyStackTraceEntry()"},
-    {"_ZN4llvm21PrettyStackTraceEntryC2Ev", "llvm::PrettyStackTraceEntry::PrettyStackTraceEntry()"},
-    {"_ZN4llvm21PrettyStackTraceEntryD0Ev", "llvm::PrettyStackTraceEntry::~PrettyStackTraceEntry()"},
-    {"_ZN4llvm21PrettyStackTraceEntryD1Ev", "llvm::PrettyStackTraceEntry::~PrettyStackTraceEntry()"},
-    {"_ZN4llvm21PrettyStackTraceEntryD2Ev", "llvm::PrettyStackTraceEntry::~PrettyStackTraceEntry()"},
-    {"_ZNK4llvm22PrettyStackTraceString5printERNS_11raw_ostreamE", "llvm::PrettyStackTraceString::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm23PrettyStackTraceProgram5printERNS_11raw_ostreamE", "llvm::PrettyStackTraceProgram::print(llvm::raw_ostream&) const"},
-    {"_Z12CrashHandlerPv", "CrashHandler(void*)"},
-    {"_Z10PrintStackPKN4llvm21PrettyStackTraceEntryERNS_11raw_ostreamE", "PrintStack(llvm::PrettyStackTraceEntry const*, llvm::raw_ostream&)"},
-    {"_ZN4llvm3sys11ThreadLocalIKNS_21PrettyStackTraceEntryEED1Ev", "llvm::sys::ThreadLocal<llvm::PrettyStackTraceEntry const>::~ThreadLocal()"},
-    {"_ZN4llvm3sys11ThreadLocalIKNS_21PrettyStackTraceEntryEED0Ev", "llvm::sys::ThreadLocal<llvm::PrettyStackTraceEntry const>::~ThreadLocal()"},
-    {"_ZN4llvm3sys7Process11GetPageSizeEv", "llvm::sys::Process::GetPageSize()"},
-    {"_ZN4llvm3sys7Process14GetMallocUsageEv", "llvm::sys::Process::GetMallocUsage()"},
-    {"_ZN4llvm3sys7Process19GetTotalMemoryUsageEv", "llvm::sys::Process::GetTotalMemoryUsage()"},
-    {"_ZN4llvm3sys7Process12GetTimeUsageERNS0_9TimeValueES3_S3_", "llvm::sys::Process::GetTimeUsage(llvm::sys::TimeValue&, llvm::sys::TimeValue&, llvm::sys::TimeValue&)"},
-    {"_ZN4llvm3sys7Process16GetCurrentUserIdEv", "llvm::sys::Process::GetCurrentUserId()"},
-    {"_ZN4llvm3sys7Process17GetCurrentGroupIdEv", "llvm::sys::Process::GetCurrentGroupId()"},
-    {"_ZN4llvm3sys7Process16PreventCoreFilesEv", "llvm::sys::Process::PreventCoreFiles()"},
-    {"_ZN4llvm3sys7Process21StandardInIsUserInputEv", "llvm::sys::Process::StandardInIsUserInput()"},
-    {"_ZN4llvm3sys7Process25FileDescriptorIsDisplayedEi", "llvm::sys::Process::FileDescriptorIsDisplayed(int)"},
-    {"_ZN4llvm3sys7Process22StandardOutIsDisplayedEv", "llvm::sys::Process::StandardOutIsDisplayed()"},
-    {"_ZN4llvm3sys7Process22StandardErrIsDisplayedEv", "llvm::sys::Process::StandardErrIsDisplayed()"},
-    {"_ZN4llvm3sys7Process18StandardOutColumnsEv", "llvm::sys::Process::StandardOutColumns()"},
-    {"_ZN4llvm3sys7Process18StandardErrColumnsEv", "llvm::sys::Process::StandardErrColumns()"},
-    {"_ZN4llvm3sys7Process20StandardOutHasColorsEv", "llvm::sys::Process::StandardOutHasColors()"},
-    {"_ZN4llvm3sys7Process20StandardErrHasColorsEv", "llvm::sys::Process::StandardErrHasColors()"},
-    {"_ZN4llvm3sys7Process15ColorNeedsFlushEv", "llvm::sys::Process::ColorNeedsFlush()"},
-    {"_ZN4llvm3sys7Process11OutputColorEcbb", "llvm::sys::Process::OutputColor(char, bool, bool)"},
-    {"_ZN4llvm3sys7Process10OutputBoldEb", "llvm::sys::Process::OutputBold(bool)"},
-    {"_ZN4llvm3sys7Process10ResetColorEv", "llvm::sys::Process::ResetColor()"},
-    {"_ZN4llvm3sys7Program14ExecuteAndWaitERKNS0_4PathEPPKcS7_PPS3_jjPSs", "llvm::sys::Program::ExecuteAndWait(llvm::sys::Path const&, char const**, char const**, llvm::sys::Path const**, unsigned int, unsigned int, std::string*)"},
-    {"_ZN4llvm3sys7ProgramC1Ev", "llvm::sys::Program::Program()"},
-    {"_ZN4llvm3sys7Program7ExecuteERKNS0_4PathEPPKcS7_PPS3_jPSs", "llvm::sys::Program::Execute(llvm::sys::Path const&, char const**, char const**, llvm::sys::Path const**, unsigned int, std::string*)"},
-    {"_ZN4llvm3sys7Program4WaitERKNS0_4PathEjPSs", "llvm::sys::Program::Wait(llvm::sys::Path const&, unsigned int, std::string*)"},
-    {"_ZN4llvm3sys7ProgramD1Ev", "llvm::sys::Program::~Program()"},
-    {"_ZN4llvm3sys7Program13ExecuteNoWaitERKNS0_4PathEPPKcS7_PPS3_jPSs", "llvm::sys::Program::ExecuteNoWait(llvm::sys::Path const&, char const**, char const**, llvm::sys::Path const**, unsigned int, std::string*)"},
-    {"_ZN4llvm3sys7ProgramC2Ev", "llvm::sys::Program::Program()"},
-    {"_ZN4llvm3sys7ProgramD2Ev", "llvm::sys::Program::~Program()"},
-    {"_ZNK4llvm3sys7Program6GetPidEv", "llvm::sys::Program::GetPid() const"},
-    {"_ZN4llvm3sys7Program17FindProgramByNameERKSs", "llvm::sys::Program::FindProgramByName(std::string const&)"},
-    {"_ZN4llvm13RedirectIO_PSEPKNS_3sys4PathEiPSsRPv", "llvm::RedirectIO_PS(llvm::sys::Path const*, int, std::string*, void*&)"},
-    {"_Z10MakeErrMsgPSsRKSsi", "MakeErrMsg(std::string*, std::string const&, int)"},
-    {"_ZN4llvm10RedirectIOEPKNS_3sys4PathEiPSs", "llvm::RedirectIO(llvm::sys::Path const*, int, std::string*)"},
-    {"_ZN4llvm14TimeOutHandlerEi", "llvm::TimeOutHandler(int)"},
-    {"_ZN4llvm3sys7Program4KillEPSs", "llvm::sys::Program::Kill(std::string*)"},
-    {"_ZN4llvm3sys7Program19ChangeStdinToBinaryEv", "llvm::sys::Program::ChangeStdinToBinary()"},
-    {"_ZN4llvm3sys7Program20ChangeStdoutToBinaryEv", "llvm::sys::Program::ChangeStdoutToBinary()"},
-    {"_ZN4llvm3sys7Program20ChangeStderrToBinaryEv", "llvm::sys::Program::ChangeStderrToBinary()"},
-    {"_ZN4llvm3sys11RWMutexImplC1Ev", "llvm::sys::RWMutexImpl::RWMutexImpl()"},
-    {"_ZN4llvm3sys11RWMutexImplC2Ev", "llvm::sys::RWMutexImpl::RWMutexImpl()"},
-    {"_ZN4llvm3sys11RWMutexImplD1Ev", "llvm::sys::RWMutexImpl::~RWMutexImpl()"},
-    {"_ZN4llvm3sys11RWMutexImplD2Ev", "llvm::sys::RWMutexImpl::~RWMutexImpl()"},
-    {"_ZN4llvm3sys11RWMutexImpl14reader_acquireEv", "llvm::sys::RWMutexImpl::reader_acquire()"},
-    {"_ZN4llvm3sys11RWMutexImpl14reader_releaseEv", "llvm::sys::RWMutexImpl::reader_release()"},
-    {"_ZN4llvm3sys11RWMutexImpl14writer_acquireEv", "llvm::sys::RWMutexImpl::writer_acquire()"},
-    {"_ZN4llvm3sys11RWMutexImpl14writer_releaseEv", "llvm::sys::RWMutexImpl::writer_release()"},
-    {"_ZN4llvm5RegexC1ENS_9StringRefEj", "llvm::Regex::Regex(llvm::StringRef, unsigned int)"},
-    {"_ZN4llvm5RegexC2ENS_9StringRefEj", "llvm::Regex::Regex(llvm::StringRef, unsigned int)"},
-    {"_ZN4llvm5RegexD1Ev", "llvm::Regex::~Regex()"},
-    {"_ZN4llvm5RegexD2Ev", "llvm::Regex::~Regex()"},
-    {"_ZN4llvm5Regex7isValidERSs", "llvm::Regex::isValid(std::string&)"},
-    {"_ZNK4llvm5Regex13getNumMatchesEv", "llvm::Regex::getNumMatches() const"},
-    {"_ZN4llvm5Regex5matchENS_9StringRefEPNS_15SmallVectorImplIS1_EE", "llvm::Regex::match(llvm::StringRef, llvm::SmallVectorImpl<llvm::StringRef>*)"},
-    {"_ZN4llvm5Regex3subENS_9StringRefES1_PSs", "llvm::Regex::sub(llvm::StringRef, llvm::StringRef, std::string*)"},
-    {"_ZN4llvm15SmallVectorImplI15llvm_regmatch_tE6resizeEj", "llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int)"},
-    {"_ZN4llvm23SmallVectorTemplateBaseI15llvm_regmatch_tLb0EE4growEm", "llvm::SmallVectorTemplateBase<llvm_regmatch_t, false>::grow(unsigned long)"},
-    {"_ZN4llvm31SearchForAddressOfSpecialSymbolEPKc", "llvm::SearchForAddressOfSpecialSymbol(char const*)"},
-    {"_ZN4llvm3sys20RunInterruptHandlersEv", "llvm::sys::RunInterruptHandlers()"},
-    {"_ZN4llvm3sys20SetInterruptFunctionEPFvvE", "llvm::sys::SetInterruptFunction(void (*)())"},
-    {"_ZN4llvm3sys18RemoveFileOnSignalERKNS0_4PathEPSs", "llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*)"},
-    {"_ZN4llvm3sys22DontRemoveFileOnSignalERKNS0_4PathE", "llvm::sys::DontRemoveFileOnSignal(llvm::sys::Path const&)"},
-    {"_ZN4llvm3sys16AddSignalHandlerEPFvPvES1_", "llvm::sys::AddSignalHandler(void (*)(void*), void*)"},
-    {"_ZN4llvm3sys28PrintStackTraceOnErrorSignalEv", "llvm::sys::PrintStackTraceOnErrorSignal()"},
-    {"_Z15PrintStackTracePv", "PrintStackTrace(void*)"},
-    {"_Z12__assert_rtnPKcS0_iS0_", "__assert_rtn(char const*, char const*, int, char const*)"},
-    {"_Z13SignalHandleri", "SignalHandler(int)"},
-    {"_ZN4llvm3sys10SmartMutexILb1EED1Ev", "llvm::sys::SmartMutex<true>::~SmartMutex()"},
-    {"_ZNSt6vectorIN4llvm3sys4PathESaIS2_EED1Ev", "std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> >::~vector()"},
-    {"_ZNSt6vectorISt4pairIPFvPvES1_ESaIS4_EED1Ev", "std::vector<std::pair<void (*)(void*), void*>, std::allocator<std::pair<void (*)(void*), void*> > >::~vector()"},
-    {"_ZNSt6vectorISt4pairIPFvPvES1_ESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_", "std::vector<std::pair<void (*)(void*), void*>, std::allocator<std::pair<void (*)(void*), void*> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<void (*)(void*), void*>*, std::vector<std::pair<void (*)(void*), void*>, std::allocator<std::pair<void (*)(void*), void*> > > >, std::pair<void (*)(void*), void*> const&)"},
-    {"_ZSt6__findISt16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPN4llvm3sys4PathESt6vectorIS5_SaIS5_EEEEES5_ET_SC_SC_RKT0_St26random_access_iterator_tag", "std::reverse_iterator<__gnu_cxx::__normal_iterator<llvm::sys::Path*, std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > > > std::__find<std::reverse_iterator<__gnu_cxx::__normal_iterator<llvm::sys::Path*, std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > > >, llvm::sys::Path>(std::reverse_iterator<__gnu_cxx::__normal_iterator<llvm::sys::Path*, std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > > >, std::reverse_iterator<__gnu_cxx::__normal_iterator<llvm::sys::Path*, std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > > >, llvm::sys::Path const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIN4llvm3sys4PathESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::sys::Path*, std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > >, llvm::sys::Path const&)"},
-    {"_ZSt6__findIPKiiET_S2_S2_RKT0_St26random_access_iterator_tag", "int const* std::__find<int const*, int>(int const*, int const*, int const&, std::random_access_iterator_tag)"},
-    {"_ZN4llvm15SmallPtrSetImpl16shrink_and_clearEv", "llvm::SmallPtrSetImpl::shrink_and_clear()"},
-    {"_ZN4llvm15SmallPtrSetImpl10insert_impEPKv", "llvm::SmallPtrSetImpl::insert_imp(void const*)"},
-    {"_ZN4llvm15SmallPtrSetImpl4GrowEv", "llvm::SmallPtrSetImpl::Grow()"},
-    {"_ZNK4llvm15SmallPtrSetImpl13FindBucketForEPKv", "llvm::SmallPtrSetImpl::FindBucketFor(void const*) const"},
-    {"_ZN4llvm15SmallPtrSetImpl9erase_impEPKv", "llvm::SmallPtrSetImpl::erase_imp(void const*)"},
-    {"_ZN4llvm15SmallPtrSetImplC1EPPKvRKS0_", "llvm::SmallPtrSetImpl::SmallPtrSetImpl(void const**, llvm::SmallPtrSetImpl const&)"},
-    {"_ZN4llvm15SmallPtrSetImplC2EPPKvRKS0_", "llvm::SmallPtrSetImpl::SmallPtrSetImpl(void const**, llvm::SmallPtrSetImpl const&)"},
-    {"_ZN4llvm15SmallPtrSetImpl8CopyFromERKS0_", "llvm::SmallPtrSetImpl::CopyFrom(llvm::SmallPtrSetImpl const&)"},
-    {"_ZN4llvm15SmallPtrSetImplD1Ev", "llvm::SmallPtrSetImpl::~SmallPtrSetImpl()"},
-    {"_ZN4llvm15SmallPtrSetImplD2Ev", "llvm::SmallPtrSetImpl::~SmallPtrSetImpl()"},
-    {"_ZN4llvm9SourceMgrD1Ev", "llvm::SourceMgr::~SourceMgr()"},
-    {"_ZN4llvm9SourceMgrD2Ev", "llvm::SourceMgr::~SourceMgr()"},
-    {"_ZN4llvm9SourceMgr14AddIncludeFileERKSsNS_5SMLocE", "llvm::SourceMgr::AddIncludeFile(std::string const&, llvm::SMLoc)"},
-    {"_ZNK4llvm9SourceMgr23FindBufferContainingLocENS_5SMLocE", "llvm::SourceMgr::FindBufferContainingLoc(llvm::SMLoc) const"},
-    {"_ZNK4llvm9SourceMgr14FindLineNumberENS_5SMLocEi", "llvm::SourceMgr::FindLineNumber(llvm::SMLoc, int) const"},
-    {"_ZNK4llvm9SourceMgr17PrintIncludeStackENS_5SMLocERNS_11raw_ostreamE", "llvm::SourceMgr::PrintIncludeStack(llvm::SMLoc, llvm::raw_ostream&) const"},
-    {"_ZNK4llvm9SourceMgr10GetMessageENS_5SMLocERKNS_5TwineEPKcb", "llvm::SourceMgr::GetMessage(llvm::SMLoc, llvm::Twine const&, char const*, bool) const"},
-    {"_ZNK4llvm9SourceMgr12PrintMessageENS_5SMLocERKNS_5TwineEPKcb", "llvm::SourceMgr::PrintMessage(llvm::SMLoc, llvm::Twine const&, char const*, bool) const"},
-    {"_ZNK4llvm12SMDiagnostic5PrintEPKcRNS_11raw_ostreamE", "llvm::SMDiagnostic::Print(char const*, llvm::raw_ostream&) const"},
-    {"_ZN4llvm9Statistic17RegisterStatisticEv", "llvm::Statistic::RegisterStatistic()"},
-    {"_ZN4llvm16EnableStatisticsEv", "llvm::EnableStatistics()"},
-    {"_ZN4llvm15PrintStatisticsERNS_11raw_ostreamE", "llvm::PrintStatistics(llvm::raw_ostream&)"},
-    {"_ZN4llvm15PrintStatisticsEv", "llvm::PrintStatistics()"},
-    {"_ZSt21__inplace_stable_sortIN9__gnu_cxx17__normal_iteratorIPPKN4llvm9StatisticESt6vectorIS5_SaIS5_EEEEN12_GLOBAL__N_111NameCompareEEvT_SD_T0_", "void std::__inplace_stable_sort<__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, (anonymous namespace)::NameCompare>(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, (anonymous namespace)::NameCompare)"},
-    {"_ZSt22__stable_sort_adaptiveIN9__gnu_cxx17__normal_iteratorIPPKN4llvm9StatisticESt6vectorIS5_SaIS5_EEEES6_lN12_GLOBAL__N_111NameCompareEEvT_SD_T0_T1_T2_", "void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, llvm::Statistic const**, long, (anonymous namespace)::NameCompare>(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, llvm::Statistic const**, long, (anonymous namespace)::NameCompare)"},
-    {"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPPKN4llvm9StatisticESt6vectorIS5_SaIS5_EEEES6_N12_GLOBAL__N_111NameCompareEEvT_SD_T0_T1_", "void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, llvm::Statistic const**, (anonymous namespace)::NameCompare>(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, llvm::Statistic const**, (anonymous namespace)::NameCompare)"},
-    {"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPPKN4llvm9StatisticESt6vectorIS5_SaIS5_EEEElS6_N12_GLOBAL__N_111NameCompareEEvT_SD_SD_T0_SE_T1_SE_T2_", "void std::__merge_adaptive<__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, long, llvm::Statistic const**, (anonymous namespace)::NameCompare>(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, long, long, llvm::Statistic const**, long, (anonymous namespace)::NameCompare)"},
-    {"_ZSt5mergeIPPKN4llvm9StatisticES4_N9__gnu_cxx17__normal_iteratorIS4_St6vectorIS3_SaIS3_EEEEN12_GLOBAL__N_111NameCompareEET1_T_SE_T0_SF_SD_T2_", "__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > > std::merge<llvm::Statistic const**, llvm::Statistic const**, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, (anonymous namespace)::NameCompare>(llvm::Statistic const**, llvm::Statistic const**, llvm::Statistic const**, llvm::Statistic const**, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, (anonymous namespace)::NameCompare)"},
-    {"_ZSt5mergeIN9__gnu_cxx17__normal_iteratorIPPKN4llvm9StatisticESt6vectorIS5_SaIS5_EEEESA_S6_N12_GLOBAL__N_111NameCompareEET1_T_SE_T0_SF_SD_T2_", "llvm::Statistic const** std::merge<__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, llvm::Statistic const**, (anonymous namespace)::NameCompare>(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, llvm::Statistic const**, (anonymous namespace)::NameCompare)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN4llvm9StatisticESt6vectorIS5_SaIS5_EEEEN12_GLOBAL__N_111NameCompareEEvT_SD_T0_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, (anonymous namespace)::NameCompare>(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, (anonymous namespace)::NameCompare)"},
-    {"_ZSt22__merge_without_bufferIN9__gnu_cxx17__normal_iteratorIPPKN4llvm9StatisticESt6vectorIS5_SaIS5_EEEElN12_GLOBAL__N_111NameCompareEEvT_SD_SD_T0_SE_T1_", "void std::__merge_without_buffer<__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, long, (anonymous namespace)::NameCompare>(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, long, long, (anonymous namespace)::NameCompare)"},
-    {"_ZN4llvm14object_creatorIN12_GLOBAL__N_113StatisticInfoEEEPvv", "void* llvm::object_creator<(anonymous namespace)::StatisticInfo>()"},
-    {"_ZN4llvm14object_deleterIN12_GLOBAL__N_113StatisticInfoEE4callEPv", "llvm::object_deleter<(anonymous namespace)::StatisticInfo>::call(void*)"},
-    {"_ZSt8__rotateIN9__gnu_cxx17__normal_iteratorIPPKN4llvm9StatisticESt6vectorIS5_SaIS5_EEEEEvT_SB_SB_St26random_access_iterator_tag", "void std::__rotate<__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > > >(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, __gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIPKN4llvm9StatisticESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Statistic const**, std::vector<llvm::Statistic const*, std::allocator<llvm::Statistic const*> > >, llvm::Statistic const* const&)"},
-    {"_ZN4llvm14StrInStrNoCaseENS_9StringRefES0_", "llvm::StrInStrNoCase(llvm::StringRef, llvm::StringRef)"},
-    {"_ZN4llvm8getTokenENS_9StringRefES0_", "llvm::getToken(llvm::StringRef, llvm::StringRef)"},
-    {"_ZN4llvm11SplitStringENS_9StringRefERNS_15SmallVectorImplIS0_EES0_", "llvm::SplitString(llvm::StringRef, llvm::SmallVectorImpl<llvm::StringRef>&, llvm::StringRef)"},
-    {"_ZNK4llvm9StringRef5splitERNS_15SmallVectorImplIS0_EES0_ib", "llvm::StringRef::split(llvm::SmallVectorImpl<llvm::StringRef>&, llvm::StringRef, int, bool) const"},
-    {"_ZN4llvm13StringMapImplC1Ejj", "llvm::StringMapImpl::StringMapImpl(unsigned int, unsigned int)"},
-    {"_ZN4llvm13StringMapImplC2Ejj", "llvm::StringMapImpl::StringMapImpl(unsigned int, unsigned int)"},
-    {"_ZN4llvm13StringMapImpl4initEj", "llvm::StringMapImpl::init(unsigned int)"},
-    {"_ZN4llvm13StringMapImpl15LookupBucketForENS_9StringRefE", "llvm::StringMapImpl::LookupBucketFor(llvm::StringRef)"},
-    {"_ZNK4llvm13StringMapImpl7FindKeyENS_9StringRefE", "llvm::StringMapImpl::FindKey(llvm::StringRef) const"},
-    {"_ZN4llvm13StringMapImpl9RemoveKeyEPNS_18StringMapEntryBaseE", "llvm::StringMapImpl::RemoveKey(llvm::StringMapEntryBase*)"},
-    {"_ZN4llvm13StringMapImpl9RemoveKeyENS_9StringRefE", "llvm::StringMapImpl::RemoveKey(llvm::StringRef)"},
-    {"_ZN4llvm13StringMapImpl11RehashTableEv", "llvm::StringMapImpl::RehashTable()"},
-    {"_ZN4llvm10StringPoolC1Ev", "llvm::StringPool::StringPool()"},
-    {"_ZN4llvm10StringPoolC2Ev", "llvm::StringPool::StringPool()"},
-    {"_ZN4llvm10StringPoolD1Ev", "llvm::StringPool::~StringPool()"},
-    {"_ZN4llvm10StringPoolD2Ev", "llvm::StringPool::~StringPool()"},
-    {"_ZN4llvm10StringPool6internENS_9StringRefE", "llvm::StringPool::intern(llvm::StringRef)"},
-    {"_ZNK4llvm9StringRef13compare_lowerES0_", "llvm::StringRef::compare_lower(llvm::StringRef) const"},
-    {"_ZNK4llvm9StringRef15compare_numericES0_", "llvm::StringRef::compare_numeric(llvm::StringRef) const"},
-    {"_ZN4llvm9StringRef13edit_distanceES0_bj", "llvm::StringRef::edit_distance(llvm::StringRef, bool, unsigned int)"},
-    {"_ZNK4llvm9StringRef4findES0_m", "llvm::StringRef::find(llvm::StringRef, unsigned long) const"},
-    {"_ZNK4llvm9StringRef5rfindES0_", "llvm::StringRef::rfind(llvm::StringRef) const"},
-    {"_ZNK4llvm9StringRef13find_first_ofES0_m", "llvm::StringRef::find_first_of(llvm::StringRef, unsigned long) const"},
-    {"_ZNK4llvm9StringRef17find_first_not_ofEcm", "llvm::StringRef::find_first_not_of(char, unsigned long) const"},
-    {"_ZNK4llvm9StringRef17find_first_not_ofES0_m", "llvm::StringRef::find_first_not_of(llvm::StringRef, unsigned long) const"},
-    {"_ZNK4llvm9StringRef12find_last_ofES0_m", "llvm::StringRef::find_last_of(llvm::StringRef, unsigned long) const"},
-    {"_ZNK4llvm9StringRef5countES0_", "llvm::StringRef::count(llvm::StringRef) const"},
-    {"_ZNK4llvm9StringRef12getAsIntegerEjRy", "llvm::StringRef::getAsInteger(unsigned int, unsigned long long&) const"},
-    {"_Z20GetAsUnsignedIntegerN4llvm9StringRefEjRy", "GetAsUnsignedInteger(llvm::StringRef, unsigned int, unsigned long long&)"},
-    {"_ZNK4llvm9StringRef12getAsIntegerEjRx", "llvm::StringRef::getAsInteger(unsigned int, long long&) const"},
-    {"_ZNK4llvm9StringRef12getAsIntegerEjRi", "llvm::StringRef::getAsInteger(unsigned int, int&) const"},
-    {"_ZNK4llvm9StringRef12getAsIntegerEjRj", "llvm::StringRef::getAsInteger(unsigned int, unsigned int&) const"},
-    {"_ZNK4llvm9StringRef12getAsIntegerEjRNS_5APIntE", "llvm::StringRef::getAsInteger(unsigned int, llvm::APInt&) const"},
-    {"_ZN4llvm14TargetRegistry5beginEv", "llvm::TargetRegistry::begin()"},
-    {"_ZN4llvm14TargetRegistry12lookupTargetERKSsRSs", "llvm::TargetRegistry::lookupTarget(std::string const&, std::string&)"},
-    {"_ZN4llvm14TargetRegistry14RegisterTargetERNS_6TargetEPKcS4_PFjRKSsEb", "llvm::TargetRegistry::RegisterTarget(llvm::Target&, char const*, char const*, unsigned int (*)(std::string const&), bool)"},
-    {"_ZN4llvm14TargetRegistry22getClosestTargetForJITERSs", "llvm::TargetRegistry::getClosestTargetForJIT(std::string&)"},
-    {"_ZN4llvm3sys15ThreadLocalImplC1Ev", "llvm::sys::ThreadLocalImpl::ThreadLocalImpl()"},
-    {"_ZN4llvm3sys15ThreadLocalImplD0Ev", "llvm::sys::ThreadLocalImpl::~ThreadLocalImpl()"},
-    {"_ZN4llvm3sys15ThreadLocalImplD1Ev", "llvm::sys::ThreadLocalImpl::~ThreadLocalImpl()"},
-    {"_ZN4llvm3sys15ThreadLocalImplD2Ev", "llvm::sys::ThreadLocalImpl::~ThreadLocalImpl()"},
-    {"_ZN4llvm3sys15ThreadLocalImpl11setInstanceEPKv", "llvm::sys::ThreadLocalImpl::setInstance(void const*)"},
-    {"_ZN4llvm3sys15ThreadLocalImpl11getInstanceEv", "llvm::sys::ThreadLocalImpl::getInstance()"},
-    {"_ZN4llvm3sys15ThreadLocalImpl14removeInstanceEv", "llvm::sys::ThreadLocalImpl::removeInstance()"},
-    {"_ZN4llvm24llvm_start_multithreadedEv", "llvm::llvm_start_multithreaded()"},
-    {"_ZN4llvm23llvm_stop_multithreadedEv", "llvm::llvm_stop_multithreaded()"},
-    {"_ZN4llvm22llvm_execute_on_threadEPFvPvES0_j", "llvm::llvm_execute_on_thread(void (*)(void*), void*, unsigned int)"},
-    {"_Z24ExecuteOnThread_DispatchPv", "ExecuteOnThread_Dispatch(void*)"},
-    {"_ZN4llvm3sys9TimeValue9normalizeEv", "llvm::sys::TimeValue::normalize()"},
-    {"_ZNK4llvm3sys9TimeValue3strEv", "llvm::sys::TimeValue::str() const"},
-    {"_ZN4llvm3sys9TimeValue3nowEv", "llvm::sys::TimeValue::now()"},
-    {"_ZN4llvm20CreateInfoOutputFileEv", "llvm::CreateInfoOutputFile()"},
-    {"_ZN4llvm5Timer4initENS_9StringRefE", "llvm::Timer::init(llvm::StringRef)"},
-    {"_ZN4llvm10TimerGroup8addTimerERNS_5TimerE", "llvm::TimerGroup::addTimer(llvm::Timer&)"},
-    {"_ZN4llvm5Timer4initENS_9StringRefERNS_10TimerGroupE", "llvm::Timer::init(llvm::StringRef, llvm::TimerGroup&)"},
-    {"_ZN4llvm5TimerD1Ev", "llvm::Timer::~Timer()"},
-    {"_ZN4llvm5TimerD2Ev", "llvm::Timer::~Timer()"},
-    {"_ZN4llvm10TimerGroup11removeTimerERNS_5TimerE", "llvm::TimerGroup::removeTimer(llvm::Timer&)"},
-    {"_ZN4llvm10TimeRecord14getCurrentTimeEb", "llvm::TimeRecord::getCurrentTime(bool)"},
-    {"_ZN4llvm5Timer10startTimerEv", "llvm::Timer::startTimer()"},
-    {"_ZN4llvm5Timer9stopTimerEv", "llvm::Timer::stopTimer()"},
-    {"_ZNK4llvm10TimeRecord5printERKS0_RNS_11raw_ostreamE", "llvm::TimeRecord::print(llvm::TimeRecord const&, llvm::raw_ostream&) const"},
-    {"_Z8printValddRN4llvm11raw_ostreamE", "printVal(double, double, llvm::raw_ostream&)"},
-    {"_ZN4llvm16NamedRegionTimerC1ENS_9StringRefEb", "llvm::NamedRegionTimer::NamedRegionTimer(llvm::StringRef, bool)"},
-    {"_ZN4llvm16NamedRegionTimerC2ENS_9StringRefEb", "llvm::NamedRegionTimer::NamedRegionTimer(llvm::StringRef, bool)"},
-    {"_ZN4llvm16NamedRegionTimerC1ENS_9StringRefES1_b", "llvm::NamedRegionTimer::NamedRegionTimer(llvm::StringRef, llvm::StringRef, bool)"},
-    {"_ZN4llvm16NamedRegionTimerC2ENS_9StringRefES1_b", "llvm::NamedRegionTimer::NamedRegionTimer(llvm::StringRef, llvm::StringRef, bool)"},
-    {"_ZN4llvm10TimerGroupC1ENS_9StringRefE", "llvm::TimerGroup::TimerGroup(llvm::StringRef)"},
-    {"_ZN4llvm10TimerGroupC2ENS_9StringRefE", "llvm::TimerGroup::TimerGroup(llvm::StringRef)"},
-    {"_ZN4llvm10TimerGroupD1Ev", "llvm::TimerGroup::~TimerGroup()"},
-    {"_ZN4llvm10TimerGroupD2Ev", "llvm::TimerGroup::~TimerGroup()"},
-    {"_ZN4llvm10TimerGroup17PrintQueuedTimersERNS_11raw_ostreamE", "llvm::TimerGroup::PrintQueuedTimers(llvm::raw_ostream&)"},
-    {"_ZN4llvm10TimerGroup5printERNS_11raw_ostreamE", "llvm::TimerGroup::print(llvm::raw_ostream&)"},
-    {"_ZN4llvm10TimerGroup8printAllERNS_11raw_ostreamE", "llvm::TimerGroup::printAll(llvm::raw_ostream&)"},
-    {"_ZN4llvm14object_creatorIN12_GLOBAL__N_112Name2PairMapEEEPvv", "void* llvm::object_creator<(anonymous namespace)::Name2PairMap>()"},
-    {"_ZN4llvm14object_deleterIN12_GLOBAL__N_112Name2PairMapEE4callEPv", "llvm::object_deleter<(anonymous namespace)::Name2PairMap>::call(void*)"},
-    {"_ZN4llvm2cl3optIbLb0ENS0_6parserIbEEED1Ev", "llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::~opt()"},
-    {"_ZN4llvm2cl3optISsLb1ENS0_6parserISsEEED1Ev", "llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >::~opt()"},
-    {"_ZN4llvm14format_object1IxED1Ev", "llvm::format_object1<long long>::~format_object1()"},
-    {"_ZN4llvm14format_object1IdED1Ev", "llvm::format_object1<double>::~format_object1()"},
-    {"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEElEvT_SB_T0_", "void std::__introsort_loop<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, long>(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, long)"},
-    {"_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEEEvT_SB_", "void std::__final_insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >)"},
-    {"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEEEvT_SB_", "void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >)"},
-    {"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEES5_EvT_T0_", "void std::__unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, std::pair<llvm::TimeRecord, std::string> >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, std::pair<llvm::TimeRecord, std::string>)"},
-    {"_ZSt21__unguarded_partitionIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_T0_", "__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > > std::__unguarded_partition<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, std::pair<llvm::TimeRecord, std::string> >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, std::pair<llvm::TimeRecord, std::string>)"},
-    {"_ZSt8__medianISt4pairIN4llvm10TimeRecordESsEERKT_S6_S6_S6_", "std::pair<llvm::TimeRecord, std::string> const& std::__median<std::pair<llvm::TimeRecord, std::string> >(std::pair<llvm::TimeRecord, std::string> const&, std::pair<llvm::TimeRecord, std::string> const&, std::pair<llvm::TimeRecord, std::string> const&)"},
-    {"_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEEEvT_SB_SB_", "void std::__heap_select<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >)"},
-    {"_ZSt8pop_heapIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEEEvT_SB_", "void std::pop_heap<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >)"},
-    {"_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEElS5_EvT_T0_SC_T1_", "void std::__adjust_heap<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, long, std::pair<llvm::TimeRecord, std::string> >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, long, long, std::pair<llvm::TimeRecord, std::string>)"},
-    {"_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEElS5_EvT_T0_SC_T1_", "void std::__push_heap<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, long, std::pair<llvm::TimeRecord, std::string> >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, long, long, std::pair<llvm::TimeRecord, std::string>)"},
-    {"_ZSt9make_heapIN9__gnu_cxx17__normal_iteratorIPSt4pairIN4llvm10TimeRecordESsESt6vectorIS5_SaIS5_EEEEEvT_SB_", "void std::make_heap<__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > > >(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, __gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >)"},
-    {"_ZNSt6vectorISt4pairIN4llvm10TimeRecordESsESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_", "std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::TimeRecord, std::string>*, std::vector<std::pair<llvm::TimeRecord, std::string>, std::allocator<std::pair<llvm::TimeRecord, std::string> > > >, std::pair<llvm::TimeRecord, std::string> const&)"},
-    {"_ZN4llvm9StringMapISt4pairIPNS_10TimerGroupENS0_INS_5TimerENS_15MallocAllocatorEEEES5_ED2Ev", "llvm::StringMap<std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> >, llvm::MallocAllocator>::~StringMap()"},
-    {"_ZN4llvm9StringMapINS_5TimerENS_15MallocAllocatorEE5clearEv", "llvm::StringMap<llvm::Timer, llvm::MallocAllocator>::clear()"},
-    {"_ZN4llvm14object_creatorINS_3sys10SmartMutexILb1EEEEEPvv", "void* llvm::object_creator<llvm::sys::SmartMutex<true> >()"},
-    {"_ZN4llvm14object_deleterINS_3sys10SmartMutexILb1EEEE4callEPv", "llvm::object_deleter<llvm::sys::SmartMutex<true> >::call(void*)"},
-    {"_ZNK4llvm14format_object1IxE7snprintEPcj", "llvm::format_object1<long long>::snprint(char*, unsigned int) const"},
-    {"_ZN4llvm14format_object1IxED0Ev", "llvm::format_object1<long long>::~format_object1()"},
-    {"_ZN4llvm18format_object_baseD1Ev", "llvm::format_object_base::~format_object_base()"},
-    {"_ZN4llvm18format_object_baseD0Ev", "llvm::format_object_base::~format_object_base()"},
-    {"_ZNK4llvm14format_object1IdE7snprintEPcj", "llvm::format_object1<double>::snprint(char*, unsigned int) const"},
-    {"_ZN4llvm14format_object1IdED0Ev", "llvm::format_object1<double>::~format_object1()"},
-    {"_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPPN4llvm5TimerESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_St26random_access_iterator_tag", "__gnu_cxx::__normal_iterator<llvm::Timer**, std::vector<llvm::Timer*, std::allocator<llvm::Timer*> > > std::__find<__gnu_cxx::__normal_iterator<llvm::Timer**, std::vector<llvm::Timer*, std::allocator<llvm::Timer*> > >, llvm::Timer*>(__gnu_cxx::__normal_iterator<llvm::Timer**, std::vector<llvm::Timer*, std::allocator<llvm::Timer*> > >, __gnu_cxx::__normal_iterator<llvm::Timer**, std::vector<llvm::Timer*, std::allocator<llvm::Timer*> > >, llvm::Timer* const&, std::random_access_iterator_tag)"},
-    {"_ZNSt6vectorIPN4llvm5TimerESaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_", "std::vector<llvm::Timer*, std::allocator<llvm::Timer*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::Timer**, std::vector<llvm::Timer*, std::allocator<llvm::Timer*> > >, llvm::Timer* const&)"},
-    {"_ZN4llvm14object_creatorISt6vectorIPNS_5TimerESaIS3_EEEEPvv", "void* llvm::object_creator<std::vector<llvm::Timer*, std::allocator<llvm::Timer*> > >()"},
-    {"_ZN4llvm14object_deleterISt6vectorIPNS_5TimerESaIS3_EEE4callEPv", "llvm::object_deleter<std::vector<llvm::Timer*, std::allocator<llvm::Timer*> > >::call(void*)"},
-    {"_ZN4llvm2cl3optISsLb1ENS0_6parserISsEEE16handleOccurrenceEjNS_9StringRefES5_", "llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >::handleOccurrence(unsigned int, llvm::StringRef, llvm::StringRef)"},
-    {"_ZNK4llvm2cl3optISsLb1ENS0_6parserISsEEE27getValueExpectedFlagDefaultEv", "llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >::getValueExpectedFlagDefault() const"},
-    {"_ZNK4llvm2cl3optISsLb1ENS0_6parserISsEEE14getOptionWidthEv", "llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >::getOptionWidth() const"},
-    {"_ZNK4llvm2cl3optISsLb1ENS0_6parserISsEEE15printOptionInfoEm", "llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >::printOptionInfo(unsigned long) const"},
-    {"_ZN4llvm2cl3optISsLb1ENS0_6parserISsEEE19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl3optISsLb1ENS0_6parserISsEEED0Ev", "llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >::~opt()"},
-    {"_ZN4llvm2cl6parserISsED1Ev", "llvm::cl::parser<std::string>::~parser()"},
-    {"_ZN4llvm2cl6parserISsED0Ev", "llvm::cl::parser<std::string>::~parser()"},
-    {"_ZNK4llvm2cl6parserISsE12getValueNameEv", "llvm::cl::parser<std::string>::getValueName() const"},
-    {"_ZN4llvm2cl17basic_parser_implD1Ev", "llvm::cl::basic_parser_impl::~basic_parser_impl()"},
-    {"_ZN4llvm2cl17basic_parser_implD0Ev", "llvm::cl::basic_parser_impl::~basic_parser_impl()"},
-    {"_ZNK4llvm2cl17basic_parser_impl12getValueNameEv", "llvm::cl::basic_parser_impl::getValueName() const"},
-    {"_ZNK4llvm2cl6Option27getValueExpectedFlagDefaultEv", "llvm::cl::Option::getValueExpectedFlagDefault() const"},
-    {"_ZN4llvm2cl6Option19getExtraOptionNamesERNS_15SmallVectorImplIPKcEE", "llvm::cl::Option::getExtraOptionNames(llvm::SmallVectorImpl<char const*>&)"},
-    {"_ZN4llvm2cl6OptionD1Ev", "llvm::cl::Option::~Option()"},
-    {"_ZN4llvm2cl6OptionD0Ev", "llvm::cl::Option::~Option()"},
-    {"_ZN4llvm2cl6parserIbED1Ev", "llvm::cl::parser<bool>::~parser()"},
-    {"_ZN4llvm2cl6parserIbED0Ev", "llvm::cl::parser<bool>::~parser()"},
-    {"_ZNK4llvm2cl6parserIbE12getValueNameEv", "llvm::cl::parser<bool>::getValueName() const"},
-    {"_ZN4llvm9StringMapINS_5TimerENS_15MallocAllocatorEE16GetOrCreateValueIS1_EERNS_14StringMapEntryIS1_EENS_9StringRefET_", "llvm::StringMapEntry<llvm::Timer>& llvm::StringMap<llvm::Timer, llvm::MallocAllocator>::GetOrCreateValue<llvm::Timer>(llvm::StringRef, llvm::Timer)"},
-    {"_ZN4llvm9StringMapISt4pairIPNS_10TimerGroupENS0_INS_5TimerENS_15MallocAllocatorEEEES5_E16GetOrCreateValueIS7_EERNS_14StringMapEntryIS7_EENS_9StringRefET_", "llvm::StringMapEntry<std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> > >& llvm::StringMap<std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> >, llvm::MallocAllocator>::GetOrCreateValue<std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> > >(llvm::StringRef, std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> >)"},
-    {"_ZN4llvm14StringMapEntryISt4pairIPNS_10TimerGroupENS_9StringMapINS_5TimerENS_15MallocAllocatorEEEEE6CreateIS6_S8_EEPS9_PKcSD_RT_T0_", "llvm::StringMapEntry<std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> > >* llvm::StringMapEntry<std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> > >::Create<llvm::MallocAllocator, std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> > >(char const*, char const*, llvm::MallocAllocator&, std::pair<llvm::TimerGroup*, llvm::StringMap<llvm::Timer, llvm::MallocAllocator> >)"},
-    {"_ZN4llvm14object_creatorINS_9StringMapINS_5TimerENS_15MallocAllocatorEEEEEPvv", "void* llvm::object_creator<llvm::StringMap<llvm::Timer, llvm::MallocAllocator> >()"},
-    {"_ZN4llvm14object_deleterINS_9StringMapINS_5TimerENS_15MallocAllocatorEEEE4callEPv", "llvm::object_deleter<llvm::StringMap<llvm::Timer, llvm::MallocAllocator> >::call(void*)"},
-    {"_ZN4llvm14object_creatorISsEEPvv", "void* llvm::object_creator<std::string>()"},
-    {"_ZN4llvm14object_deleterISsE4callEPv", "llvm::object_deleter<std::string>::call(void*)"},
-    {"_ZN4llvm6Triple15getArchTypeNameENS0_8ArchTypeE", "llvm::Triple::getArchTypeName(llvm::Triple::ArchType)"},
-    {"_ZN4llvm6Triple17getArchTypePrefixENS0_8ArchTypeE", "llvm::Triple::getArchTypePrefix(llvm::Triple::ArchType)"},
-    {"_ZN4llvm6Triple17getVendorTypeNameENS0_10VendorTypeE", "llvm::Triple::getVendorTypeName(llvm::Triple::VendorType)"},
-    {"_ZN4llvm6Triple13getOSTypeNameENS0_6OSTypeE", "llvm::Triple::getOSTypeName(llvm::Triple::OSType)"},
-    {"_ZN4llvm6Triple22getEnvironmentTypeNameENS0_15EnvironmentTypeE", "llvm::Triple::getEnvironmentTypeName(llvm::Triple::EnvironmentType)"},
-    {"_ZN4llvm6Triple22getArchTypeForLLVMNameENS_9StringRefE", "llvm::Triple::getArchTypeForLLVMName(llvm::StringRef)"},
-    {"_ZN4llvm6Triple28getArchTypeForDarwinArchNameENS_9StringRefE", "llvm::Triple::getArchTypeForDarwinArchName(llvm::StringRef)"},
-    {"_ZN4llvm6Triple23getArchNameForAssemblerEv", "llvm::Triple::getArchNameForAssembler()"},
-    {"_ZNK4llvm6Triple11getArchNameEv", "llvm::Triple::getArchName() const"},
-    {"_ZN4llvm6Triple9ParseArchENS_9StringRefE", "llvm::Triple::ParseArch(llvm::StringRef)"},
-    {"_ZN4llvm6Triple11ParseVendorENS_9StringRefE", "llvm::Triple::ParseVendor(llvm::StringRef)"},
-    {"_ZN4llvm6Triple7ParseOSENS_9StringRefE", "llvm::Triple::ParseOS(llvm::StringRef)"},
-    {"_ZN4llvm6Triple16ParseEnvironmentENS_9StringRefE", "llvm::Triple::ParseEnvironment(llvm::StringRef)"},
-    {"_ZNK4llvm6Triple5ParseEv", "llvm::Triple::Parse() const"},
-    {"_ZNK4llvm6Triple13getVendorNameEv", "llvm::Triple::getVendorName() const"},
-    {"_ZNK4llvm6Triple9getOSNameEv", "llvm::Triple::getOSName() const"},
-    {"_ZNK4llvm6Triple18getEnvironmentNameEv", "llvm::Triple::getEnvironmentName() const"},
-    {"_ZN4llvm6Triple9normalizeENS_9StringRefE", "llvm::Triple::normalize(llvm::StringRef)"},
-    {"_ZNK4llvm6Triple23getOSAndEnvironmentNameEv", "llvm::Triple::getOSAndEnvironmentName() const"},
-    {"_ZNK4llvm6Triple15getDarwinNumberERjS1_S1_", "llvm::Triple::getDarwinNumber(unsigned int&, unsigned int&, unsigned int&) const"},
-    {"_ZN4llvm6Triple9setTripleERKNS_5TwineE", "llvm::Triple::setTriple(llvm::Twine const&)"},
-    {"_ZN4llvm6Triple7setArchENS0_8ArchTypeE", "llvm::Triple::setArch(llvm::Triple::ArchType)"},
-    {"_ZN4llvm6Triple11setArchNameENS_9StringRefE", "llvm::Triple::setArchName(llvm::StringRef)"},
-    {"_ZN4llvm6Triple9setVendorENS0_10VendorTypeE", "llvm::Triple::setVendor(llvm::Triple::VendorType)"},
-    {"_ZN4llvm6Triple13setVendorNameENS_9StringRefE", "llvm::Triple::setVendorName(llvm::StringRef)"},
-    {"_ZN4llvm6Triple5setOSENS0_6OSTypeE", "llvm::Triple::setOS(llvm::Triple::OSType)"},
-    {"_ZN4llvm6Triple9setOSNameENS_9StringRefE", "llvm::Triple::setOSName(llvm::StringRef)"},
-    {"_ZN4llvm6Triple14setEnvironmentENS0_15EnvironmentTypeE", "llvm::Triple::setEnvironment(llvm::Triple::EnvironmentType)"},
-    {"_ZN4llvm6Triple18setEnvironmentNameENS_9StringRefE", "llvm::Triple::setEnvironmentName(llvm::StringRef)"},
-    {"_ZN4llvm6Triple23setOSAndEnvironmentNameENS_9StringRefE", "llvm::Triple::setOSAndEnvironmentName(llvm::StringRef)"},
-    {"_ZNK4llvm5Twine3strEv", "llvm::Twine::str() const"},
-    {"_ZNK4llvm5Twine11toStringRefERNS_15SmallVectorImplIcEE", "llvm::Twine::toStringRef(llvm::SmallVectorImpl<char>&) const"},
-    {"_ZNK4llvm5Twine8toVectorERNS_15SmallVectorImplIcEE", "llvm::Twine::toVector(llvm::SmallVectorImpl<char>&) const"},
-    {"_ZNK4llvm5Twine5printERNS_11raw_ostreamE", "llvm::Twine::print(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm5Twine25toNullTerminatedStringRefERNS_15SmallVectorImplIcEE", "llvm::Twine::toNullTerminatedStringRef(llvm::SmallVectorImpl<char>&) const"},
-    {"_ZNK4llvm5Twine13printOneChildERNS_11raw_ostreamEPKvNS0_8NodeKindE", "llvm::Twine::printOneChild(llvm::raw_ostream&, void const*, llvm::Twine::NodeKind) const"},
-    {"_ZNK4llvm5Twine17printOneChildReprERNS_11raw_ostreamEPKvNS0_8NodeKindE", "llvm::Twine::printOneChildRepr(llvm::raw_ostream&, void const*, llvm::Twine::NodeKind) const"},
-    {"_ZNK4llvm5Twine9printReprERNS_11raw_ostreamE", "llvm::Twine::printRepr(llvm::raw_ostream&) const"},
-    {"_ZNK4llvm5Twine4dumpEv", "llvm::Twine::dump() const"},
-    {"_ZNK4llvm5Twine8dumpReprEv", "llvm::Twine::dumpRepr() const"},
-    {"_ZN4llvm3sys17RunningOnValgrindEv", "llvm::sys::RunningOnValgrind()"},
-    {"_ZN4llvm3sys27ValgrindDiscardTranslationsEPKvm", "llvm::sys::ValgrindDiscardTranslations(void const*, unsigned long)"},
-    {"_ZN4llvm11raw_ostreamD0Ev", "llvm::raw_ostream::~raw_ostream()"},
-    {"_ZN4llvm11raw_ostreamD1Ev", "llvm::raw_ostream::~raw_ostream()"},
-    {"_ZN4llvm11raw_ostreamD2Ev", "llvm::raw_ostream::~raw_ostream()"},
-    {"_ZN4llvm11raw_ostream6handleEv", "llvm::raw_ostream::handle()"},
-    {"_ZNK4llvm11raw_ostream21preferred_buffer_sizeEv", "llvm::raw_ostream::preferred_buffer_size() const"},
-    {"_ZN4llvm11raw_ostream11SetBufferedEv", "llvm::raw_ostream::SetBuffered()"},
-    {"_ZN4llvm11raw_ostream16SetBufferAndModeEPcmNS0_10BufferKindE", "llvm::raw_ostream::SetBufferAndMode(char*, unsigned long, llvm::raw_ostream::BufferKind)"},
-    {"_ZN4llvm11raw_ostreamlsEm", "llvm::raw_ostream::operator<<(unsigned long)"},
-    {"_ZN4llvm11raw_ostream5writeEPKcm", "llvm::raw_ostream::write(char const*, unsigned long)"},
-    {"_ZN4llvm11raw_ostreamlsEl", "llvm::raw_ostream::operator<<(long)"},
-    {"_ZN4llvm11raw_ostreamlsEy", "llvm::raw_ostream::operator<<(unsigned long long)"},
-    {"_ZN4llvm11raw_ostreamlsEx", "llvm::raw_ostream::operator<<(long long)"},
-    {"_ZN4llvm11raw_ostream9write_hexEy", "llvm::raw_ostream::write_hex(unsigned long long)"},
-    {"_ZN4llvm11raw_ostream13write_escapedENS_9StringRefEb", "llvm::raw_ostream::write_escaped(llvm::StringRef, bool)"},
-    {"_ZN4llvm11raw_ostreamlsEPKv", "llvm::raw_ostream::operator<<(void const*)"},
-    {"_ZN4llvm11raw_ostreamlsEd", "llvm::raw_ostream::operator<<(double)"},
-    {"_ZN4llvm11raw_ostreamlsERKNS_18format_object_baseE", "llvm::raw_ostream::operator<<(llvm::format_object_base const&)"},
-    {"_ZN4llvm11raw_ostream14flush_nonemptyEv", "llvm::raw_ostream::flush_nonempty()"},
-    {"_ZN4llvm11raw_ostream5writeEh", "llvm::raw_ostream::write(unsigned char)"},
-    {"_ZN4llvm11raw_ostream14copy_to_bufferEPKcm", "llvm::raw_ostream::copy_to_buffer(char const*, unsigned long)"},
-    {"_ZN4llvm11raw_ostream6indentEj", "llvm::raw_ostream::indent(unsigned int)"},
-    {"_ZN4llvm18format_object_base4homeEv", "llvm::format_object_base::home()"},
-    {"_ZN4llvm14raw_fd_ostreamC1EPKcRSsj", "llvm::raw_fd_ostream::raw_fd_ostream(char const*, std::string&, unsigned int)"},
-    {"_ZN4llvm14raw_fd_ostreamC2EPKcRSsj", "llvm::raw_fd_ostream::raw_fd_ostream(char const*, std::string&, unsigned int)"},
-    {"_ZN4llvm14raw_fd_ostreamC1Eibb", "llvm::raw_fd_ostream::raw_fd_ostream(int, bool, bool)"},
-    {"_ZN4llvm14raw_fd_ostreamC2Eibb", "llvm::raw_fd_ostream::raw_fd_ostream(int, bool, bool)"},
-    {"_ZN4llvm14raw_fd_ostreamD0Ev", "llvm::raw_fd_ostream::~raw_fd_ostream()"},
-    {"_ZN4llvm14raw_fd_ostreamD1Ev", "llvm::raw_fd_ostream::~raw_fd_ostream()"},
-    {"_ZN4llvm14raw_fd_ostreamD2Ev", "llvm::raw_fd_ostream::~raw_fd_ostream()"},
-    {"_ZN4llvm14raw_fd_ostream10write_implEPKcm", "llvm::raw_fd_ostream::write_impl(char const*, unsigned long)"},
-    {"_ZN4llvm14raw_fd_ostream5closeEv", "llvm::raw_fd_ostream::close()"},
-    {"_ZN4llvm14raw_fd_ostream4seekEy", "llvm::raw_fd_ostream::seek(unsigned long long)"},
-    {"_ZNK4llvm14raw_fd_ostream21preferred_buffer_sizeEv", "llvm::raw_fd_ostream::preferred_buffer_size() const"},
-    {"_ZN4llvm14raw_fd_ostream11changeColorENS_11raw_ostream6ColorsEbb", "llvm::raw_fd_ostream::changeColor(llvm::raw_ostream::Colors, bool, bool)"},
-    {"_ZN4llvm14raw_fd_ostream10resetColorEv", "llvm::raw_fd_ostream::resetColor()"},
-    {"_ZNK4llvm14raw_fd_ostream12is_displayedEv", "llvm::raw_fd_ostream::is_displayed() const"},
-    {"_ZN4llvm4outsEv", "llvm::outs()"},
-    {"_ZN4llvm4errsEv", "llvm::errs()"},
-    {"_ZN4llvm5nullsEv", "llvm::nulls()"},
-    {"_ZN4llvm16raw_null_ostreamD1Ev", "llvm::raw_null_ostream::~raw_null_ostream()"},
-    {"_ZN4llvm18raw_string_ostreamD0Ev", "llvm::raw_string_ostream::~raw_string_ostream()"},
-    {"_ZN4llvm18raw_string_ostreamD1Ev", "llvm::raw_string_ostream::~raw_string_ostream()"},
-    {"_ZN4llvm18raw_string_ostreamD2Ev", "llvm::raw_string_ostream::~raw_string_ostream()"},
-    {"_ZN4llvm18raw_string_ostream10write_implEPKcm", "llvm::raw_string_ostream::write_impl(char const*, unsigned long)"},
-    {"_ZN4llvm19raw_svector_ostreamC1ERNS_15SmallVectorImplIcEE", "llvm::raw_svector_ostream::raw_svector_ostream(llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm19raw_svector_ostreamC2ERNS_15SmallVectorImplIcEE", "llvm::raw_svector_ostream::raw_svector_ostream(llvm::SmallVectorImpl<char>&)"},
-    {"_ZN4llvm19raw_svector_ostreamD0Ev", "llvm::raw_svector_ostream::~raw_svector_ostream()"},
-    {"_ZN4llvm19raw_svector_ostreamD1Ev", "llvm::raw_svector_ostream::~raw_svector_ostream()"},
-    {"_ZN4llvm19raw_svector_ostreamD2Ev", "llvm::raw_svector_ostream::~raw_svector_ostream()"},
-    {"_ZN4llvm19raw_svector_ostream6resyncEv", "llvm::raw_svector_ostream::resync()"},
-    {"_ZN4llvm19raw_svector_ostream10write_implEPKcm", "llvm::raw_svector_ostream::write_impl(char const*, unsigned long)"},
-    {"_ZNK4llvm19raw_svector_ostream11current_posEv", "llvm::raw_svector_ostream::current_pos() const"},
-    {"_ZN4llvm19raw_svector_ostream3strEv", "llvm::raw_svector_ostream::str()"},
-    {"_ZN4llvm16raw_null_ostreamD0Ev", "llvm::raw_null_ostream::~raw_null_ostream()"},
-    {"_ZN4llvm16raw_null_ostreamD2Ev", "llvm::raw_null_ostream::~raw_null_ostream()"},
-    {"_ZN4llvm16raw_null_ostream10write_implEPKcm", "llvm::raw_null_ostream::write_impl(char const*, unsigned long)"},
-    {"_ZNK4llvm16raw_null_ostream11current_posEv", "llvm::raw_null_ostream::current_pos() const"},
-    {"_ZNK4llvm14raw_fd_ostream11current_posEv", "llvm::raw_fd_ostream::current_pos() const"},
-    {"_ZN4llvm14error_categoryC1Ev", "llvm::error_category::error_category()"},
-    {"_ZN4llvm14error_categoryC2Ev", "llvm::error_category::error_category()"},
-    {"_ZN4llvm14error_categoryD0Ev", "llvm::error_category::~error_category()"},
-    {"_ZN4llvm14error_categoryD1Ev", "llvm::error_category::~error_category()"},
-    {"_ZN4llvm14error_categoryD2Ev", "llvm::error_category::~error_category()"},
-    {"_ZNK4llvm14error_category23default_error_conditionEi", "llvm::error_category::default_error_condition(int) const"},
-    {"_ZNK4llvm14error_category10equivalentEiRKNS_15error_conditionE", "llvm::error_category::equivalent(int, llvm::error_condition const&) const"},
-    {"_ZNK4llvm14error_category10equivalentERKNS_10error_codeEi", "llvm::error_category::equivalent(llvm::error_code const&, int) const"},
-    {"_ZNK4llvm11_do_message7messageEi", "llvm::_do_message::message(int) const"},
-    {"_ZNK4llvm23_generic_error_category4nameEv", "llvm::_generic_error_category::name() const"},
-    {"_ZNK4llvm23_generic_error_category7messageEi", "llvm::_generic_error_category::message(int) const"},
-    {"_ZN4llvm16generic_categoryEv", "llvm::generic_category()"},
-    {"_ZNK4llvm22_system_error_category4nameEv", "llvm::_system_error_category::name() const"},
-    {"_ZN4llvm14posix_categoryEv", "llvm::posix_category()"},
-    {"_ZNK4llvm15error_condition7messageEv", "llvm::error_condition::message() const"},
-    {"_ZNK4llvm10error_code7messageEv", "llvm::error_code::message() const"},
-    {"_ZNK4llvm22_system_error_category7messageEi", "llvm::_system_error_category::message(int) const"},
-    {"_ZNK4llvm22_system_error_category23default_error_conditionEi", "llvm::_system_error_category::default_error_condition(int) const"},
-    {"_ZN4llvm23_generic_error_categoryD1Ev", "llvm::_generic_error_category::~_generic_error_category()"},
-    {"_ZN4llvm22_system_error_categoryD1Ev", "llvm::_system_error_category::~_system_error_category()"},
-    {"_ZN4llvm11_do_messageD1Ev", "llvm::_do_message::~_do_message()"},
-    {"_ZN4llvm11_do_messageD0Ev", "llvm::_do_message::~_do_message()"},
-    {"_ZN4llvm23_generic_error_categoryD0Ev", "llvm::_generic_error_category::~_generic_error_category()"},
-    {"_ZN4llvm22_system_error_categoryD0Ev", "llvm::_system_error_category::~_system_error_category()"},
-    {"_ZZN4llvm3sys4Path21GetTemporaryDirectoryEPSsE8pathname", "llvm::sys::Path::GetTemporaryDirectory(std::string*)::pathname"},
-    {"_ZZN5clang6Parser30ParseTemplateTemplateParameterEjjE7EndToks", "clang::Parser::ParseTemplateTemplateParameter(unsigned int, unsigned int)::EndToks"},
-    {"_ZZN5clang4Sema27SemaBuiltinAtomicOverloadedENS_12ActionResultIPNS_4ExprELb1EEEE14BuiltinIndices", "clang::Sema::SemaBuiltinAtomicOverloaded(clang::ActionResult<clang::Expr*, true>)::BuiltinIndices"},
-    {"_ZZN5clang21GetConversionCategoryENS_22ImplicitConversionKindEE8Category", "clang::GetConversionCategory(clang::ImplicitConversionKind)::Category"},
-    {"_ZZN5clang17GetConversionRankENS_22ImplicitConversionKindEE4Rank", "clang::GetConversionRank(clang::ImplicitConversionKind)::Rank"},
-    {"_ZZN5clang12_GLOBAL__N_130BuiltinOperatorOverloadBuilder17getArithmeticTypeEjE15ArithmeticTypes", "clang::(anonymous namespace)::BuiltinOperatorOverloadBuilder::getArithmeticType(unsigned int)::ArithmeticTypes"},
-    {"_ZZN5clang12_GLOBAL__N_130BuiltinOperatorOverloadBuilder29getUsualArithmeticConversionsEjjE16ConversionsTable", "clang::(anonymous namespace)::BuiltinOperatorOverloadBuilder::getUsualArithmeticConversions(unsigned int, unsigned int)::ConversionsTable"},
-    {"_ZZ15GetCFNumberSizeRN5clang10ASTContextEyE9FixedSize", "GetCFNumberSize(clang::ASTContext&, unsigned long long)::FixedSize"},
-    {"_ZZN5clang15DeclarationName21getUsingDirectiveNameEvE9UDirExtra", "clang::DeclarationName::getUsingDirectiveName()::UDirExtra"},
-    {"_ZZN5clang14BinaryOperator21getOverloadedOperatorENS_18BinaryOperatorKindEE7OverOps", "clang::BinaryOperator::getOverloadedOperator(clang::BinaryOperatorKind)::OverOps"},
-    {"_ZZ15EncodeUCNEscapeRPKcS0_RPcRbN5clang13FullSourceLocEbPNS5_10DiagnosticERKNS5_11LangOptionsEE13firstByteMark", "EncodeUCNEscape(char const*&, char const*, char*&, bool&, clang::FullSourceLoc, bool, clang::Diagnostic*, clang::LangOptions const&)::firstByteMark"},
-    {"_ZZN5clang10TargetInfo9setCXXABIERKSsE7Unknown", "clang::TargetInfo::setCXXABI(std::string const&)::Unknown"},
-    {"_ZZNK12_GLOBAL__N_113X86AsmBackend12WriteNopDataEyPN4llvm14MCObjectWriterEE4Nops", "(anonymous namespace)::X86AsmBackend::WriteNopData(unsigned long long, llvm::MCObjectWriter*) const::Nops"},
-    {"_ZZN4llvm13X86AsmPrinter16EmitEndOfAsmFileERNS_6ModuleEE8HltInsts", "llvm::X86AsmPrinter::EmitEndOfAsmFile(llvm::Module&)::HltInsts"},
-    {"_ZZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE16emitMemModRMByteERKNS1_12MachineInstrEjjlE7SSTable", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitMemModRMByte(llvm::MachineInstr const&, unsigned int, unsigned int, long)::SSTable"},
-    {"_ZZ14RetCC_X86_32_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_X86_32_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ14RetCC_X86_32_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_X86_32_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList4", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList4"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList5", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList5"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList6", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList6"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList7", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList7"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList4", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList4"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList5", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList5"},
-    {"_ZZ14RetCC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ14RetCC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ14RetCC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ11CC_X86_32_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList6", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList6"},
-    {"_ZZ16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList7", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList7"},
-    {"_ZZ13CC_X86_32_GHCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_GHC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_X86_32_FastCCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_FastCC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_X86_32_FastCCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_32_FastCC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ18CC_X86_32_FastCalljN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_FastCall(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ11CC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ11CC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ11CC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "CC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ11CC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList4", "CC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList4"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList4", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList4"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList5", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList5"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList6", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList6"},
-    {"_ZZ13CC_X86_64_GHCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_64_GHC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ13CC_X86_64_GHCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_64_GHC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ22findDeadCallerSavedRegRN4llvm17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEERKNS_18TargetRegisterInfoEbE20CallerSavedRegs32Bit", "findDeadCallerSavedReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::TargetRegisterInfo const&, bool)::CallerSavedRegs32Bit"},
-    {"_ZZ22findDeadCallerSavedRegRN4llvm17MachineBasicBlockERNS_14ilist_iteratorINS_12MachineInstrEEERKNS_18TargetRegisterInfoEbE20CallerSavedRegs64Bit", "findDeadCallerSavedReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>&, llvm::TargetRegisterInfo const&, bool)::CallerSavedRegs64Bit"},
-    {"_ZZN12_GLOBAL__N_115X86DAGToDAGISel10SelectCodeEPN4llvm6SDNodeEE12MatcherTable", "(anonymous namespace)::X86DAGToDAGISel::SelectCode(llvm::SDNode*)::MatcherTable"},
-    {"_ZZNK4llvm17X86TargetLowering20LowerFormalArgumentsENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EEE17GPR64ArgRegsWin64", "llvm::X86TargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const::GPR64ArgRegsWin64"},
-    {"_ZZNK4llvm17X86TargetLowering20LowerFormalArgumentsENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EEE17GPR64ArgRegs64Bit", "llvm::X86TargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const::GPR64ArgRegs64Bit"},
-    {"_ZZNK4llvm17X86TargetLowering20LowerFormalArgumentsENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EEE15XMMArgRegs64Bit", "llvm::X86TargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const::XMMArgRegs64Bit"},
-    {"_ZZNK4llvm17X86TargetLowering9LowerCallENS_7SDValueES1_NS_11CallingConv2IDEbRbRKNS_15SmallVectorImplINS_3ISD9OutputArgEEERKNS5_IS1_EERKNS5_INS6_8InputArgEEENS_8DebugLocERNS_12SelectionDAGERSB_E10XMMArgRegs", "llvm::X86TargetLowering::LowerCall(llvm::SDValue, llvm::SDValue, llvm::CallingConv::ID, bool, bool&, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const::XMMArgRegs"},
-    {"_ZZ11CC_X86_32_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList6", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList6"},
-    {"_ZZ16CC_X86_32_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList7", "CC_X86_32_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList7"},
-    {"_ZZ13CC_X86_32_GHCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_GHC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_X86_32_FastCCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_FastCC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_X86_32_FastCCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_32_FastCC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ18CC_X86_32_FastCalljN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_32_FastCall(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ11CC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ11CC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ11CC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "CC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ11CC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList4", "CC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList4"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList4", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList4"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList5", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList5"},
-    {"_ZZ14CC_X86_Win64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList6", "CC_X86_Win64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList6"},
-    {"_ZZ13CC_X86_64_GHCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_X86_64_GHC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ13CC_X86_64_GHCjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_X86_64_GHC(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ14RetCC_X86_32_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_X86_32_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ14RetCC_X86_32_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_X86_32_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList4", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList4"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList5", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList5"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList6", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList6"},
-    {"_ZZ15RetCC_X86CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList7", "RetCC_X86Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList7"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList4", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList4"},
-    {"_ZZ17RetCC_X86_32_FastjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList5", "RetCC_X86_32_Fast(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList5"},
-    {"_ZZ14RetCC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ14RetCC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ14RetCC_X86_64_CjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_X86_64_C(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZN4llvm12X86InstrInfoC1ERNS_16X86TargetMachineEE10OpTbl2Addr", "llvm::X86InstrInfo::X86InstrInfo(llvm::X86TargetMachine&)::OpTbl2Addr"},
-    {"_ZZN4llvm12X86InstrInfoC1ERNS_16X86TargetMachineEE6OpTbl0", "llvm::X86InstrInfo::X86InstrInfo(llvm::X86TargetMachine&)::OpTbl0"},
-    {"_ZZN4llvm12X86InstrInfoC1ERNS_16X86TargetMachineEE6OpTbl1", "llvm::X86InstrInfo::X86InstrInfo(llvm::X86TargetMachine&)::OpTbl1"},
-    {"_ZZN4llvm12X86InstrInfoC1ERNS_16X86TargetMachineEE6OpTbl2", "llvm::X86InstrInfo::X86InstrInfo(llvm::X86TargetMachine&)::OpTbl2"},
-    {"_ZZNK12_GLOBAL__N_116X86MCCodeEmitter16EmitMemModRMByteERKN4llvm6MCInstEjjyRjRNS1_11raw_ostreamERNS1_15SmallVectorImplINS1_7MCFixupEEEE7SSTable", "(anonymous namespace)::X86MCCodeEmitter::EmitMemModRMByte(llvm::MCInst const&, unsigned int, unsigned int, unsigned long long, unsigned int&, llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&) const::SSTable"},
-    {"_ZZNK4llvm15X86RegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionEE18GhcCalleeSavedRegs", "llvm::X86RegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const::GhcCalleeSavedRegs"},
-    {"_ZZNK4llvm15X86RegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionEE20CalleeSavedRegs32Bit", "llvm::X86RegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const::CalleeSavedRegs32Bit"},
-    {"_ZZNK4llvm15X86RegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionEE22CalleeSavedRegs32EHRet", "llvm::X86RegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const::CalleeSavedRegs32EHRet"},
-    {"_ZZNK4llvm15X86RegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionEE20CalleeSavedRegs64Bit", "llvm::X86RegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const::CalleeSavedRegs64Bit"},
-    {"_ZZNK4llvm15X86RegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionEE22CalleeSavedRegs64EHRet", "llvm::X86RegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const::CalleeSavedRegs64EHRet"},
-    {"_ZZNK4llvm15X86RegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionEE20CalleeSavedRegsWin64", "llvm::X86RegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const::CalleeSavedRegsWin64"},
-    {"_ZZN4llvm17X86ATTInstPrinter16printInstructionEPKNS_6MCInstERNS_11raw_ostreamEE6OpInfo", "llvm::X86ATTInstPrinter::printInstruction(llvm::MCInst const*, llvm::raw_ostream&)::OpInfo"},
-    {"_ZZN4llvm17X86ATTInstPrinter15getRegisterNameEjE12RegAsmOffset", "llvm::X86ATTInstPrinter::getRegisterName(unsigned int)::RegAsmOffset"},
-    {"_ZZN4llvm17X86ATTInstPrinter18getInstructionNameEjE13InstAsmOffset", "llvm::X86ATTInstPrinter::getInstructionName(unsigned int)::InstAsmOffset"},
-    {"_ZZN4llvm19X86IntelInstPrinter16printInstructionEPKNS_6MCInstERNS_11raw_ostreamEE6OpInfo", "llvm::X86IntelInstPrinter::printInstruction(llvm::MCInst const*, llvm::raw_ostream&)::OpInfo"},
-    {"_ZZN4llvm19X86IntelInstPrinter15getRegisterNameEjE12RegAsmOffset", "llvm::X86IntelInstPrinter::getRegisterName(unsigned int)::RegAsmOffset"},
-    {"_ZZN4llvm19X86IntelInstPrinter18getInstructionNameEjE13InstAsmOffset", "llvm::X86IntelInstPrinter::getInstructionName(unsigned int)::InstAsmOffset"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionEE15CalleeSavedRegs", "llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const::CalleeSavedRegs"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getCalleeSavedRegsEPKNS_15MachineFunctionEE21DarwinCalleeSavedRegs", "llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(llvm::MachineFunction const*) const::DarwinCalleeSavedRegs"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE8GPREven1", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPREven1"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE7GPROdd1", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPROdd1"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE8GPREven2", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPREven2"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE7GPROdd2", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPROdd2"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE8GPREven3", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPREven3"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE7GPROdd3", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPROdd3"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE8GPREven4", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPREven4"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE7GPROdd4", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPROdd4"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE8GPREven5", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPREven5"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE7GPROdd5", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPROdd5"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE8GPREven6", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPREven6"},
-    {"_ZZNK4llvm19ARMBaseRegisterInfo18getAllocationOrderEPKNS_19TargetRegisterClassEjjRKNS_15MachineFunctionEE7GPROdd6", "llvm::ARMBaseRegisterInfo::getAllocationOrder(llvm::TargetRegisterClass const*, unsigned int, unsigned int, llvm::MachineFunction const&) const::GPROdd6"},
-    {"_ZZNK12_GLOBAL__N_114ARMCodeEmitter21getBinaryCodeForInstrERKN4llvm12MachineInstrEE8InstBits", "(anonymous namespace)::ARMCodeEmitter::getBinaryCodeForInstr(llvm::MachineInstr const&) const::InstBits"},
-    {"_ZZ11CC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZN4llvm13f64AssignAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEbE7RegList", "llvm::f64AssignAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)::RegList"},
-    {"_ZZ14RetCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ14RetCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZN4llvm12f64RetAssignERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEE9HiRegList", "llvm::f64RetAssign(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&)::HiRegList"},
-    {"_ZZN4llvm12f64RetAssignERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEE9LoRegList", "llvm::f64RetAssign(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&)::LoRegList"},
-    {"_ZZ19CC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ19CC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ19CC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "CC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZN4llvm14f64AssignAAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEbE9HiRegList", "llvm::f64AssignAAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)::HiRegList"},
-    {"_ZZN4llvm14f64AssignAAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEbE9LoRegList", "llvm::f64AssignAAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)::LoRegList"},
-    {"_ZZN4llvm14f64AssignAAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEbE13ShadowRegList", "llvm::f64AssignAAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)::ShadowRegList"},
-    {"_ZZ22RetCC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ22RetCC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ22RetCC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ16CC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ16CC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "CC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ19RetCC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ19RetCC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ19RetCC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE7Opcodes", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::Opcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8QOpcodes", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes1", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes1"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel10SelectCodeEPN4llvm6SDNodeEE12MatcherTable", "(anonymous namespace)::ARMDAGToDAGISel::SelectCode(llvm::SDNode*)::MatcherTable"},
-    {"_ZZNK4llvm17ARMTargetLowering20LowerFormalArgumentsENS_7SDValueENS_11CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_8DebugLocERNS_12SelectionDAGERNS4_IS1_EEE10GPRArgRegs", "llvm::ARMTargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const::GPRArgRegs"},
-    {"_ZZ19CC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ19CC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ19CC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "CC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZN4llvm14f64AssignAAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEbE9HiRegList", "llvm::f64AssignAAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)::HiRegList"},
-    {"_ZZN4llvm14f64AssignAAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEbE9LoRegList", "llvm::f64AssignAAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)::LoRegList"},
-    {"_ZZN4llvm14f64AssignAAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEbE13ShadowRegList", "llvm::f64AssignAAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)::ShadowRegList"},
-    {"_ZZ22RetCC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ22RetCC_ARM_AAPCS_CommonjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_ARM_AAPCS_Common(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZN4llvm12f64RetAssignERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEE9HiRegList", "llvm::f64RetAssign(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&)::HiRegList"},
-    {"_ZZN4llvm12f64RetAssignERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEE9LoRegList", "llvm::f64RetAssign(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&)::LoRegList"},
-    {"_ZZ11CC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZN4llvm13f64AssignAPCSERjRNS_3MVTES2_RNS_11CCValAssign7LocInfoERNS_7CCStateEbE7RegList", "llvm::f64AssignAPCS(unsigned int&, llvm::MVT&, llvm::MVT&, llvm::CCValAssign::LocInfo&, llvm::CCState&, bool)::RegList"},
-    {"_ZZ14RetCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ14RetCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ14RetCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ16CC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "CC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ16CC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "CC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ16CC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "CC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ19RetCC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetCC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ19RetCC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetCC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ19RetCC_ARM_AAPCS_VFPjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetCC_ARM_AAPCS_VFP(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ15FastCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "FastCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ15FastCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "FastCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ15FastCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "FastCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZ18RetFastCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList1", "RetFastCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList1"},
-    {"_ZZ18RetFastCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList2", "RetFastCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList2"},
-    {"_ZZ18RetFastCC_ARM_APCSjN4llvm3MVTES0_NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyERNS_7CCStateEE8RegList3", "RetFastCC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)::RegList3"},
-    {"_ZZNK12_GLOBAL__N_116ARMMCCodeEmitter21getBinaryCodeForInstrERKN4llvm6MCInstERNS1_15SmallVectorImplINS1_7MCFixupEEEE8InstBits", "(anonymous namespace)::ARMMCCodeEmitter::getBinaryCodeForInstr(llvm::MCInst const&, llvm::SmallVectorImpl<llvm::MCFixup>&) const::InstBits"},
-    {"_ZZN12_GLOBAL__N_116Thumb2SizeReduce13ReduceSpecialERN4llvm17MachineBasicBlockEPNS1_12MachineInstrERKNS_11ReduceEntryEbE11NarrowEntry", "(anonymous namespace)::Thumb2SizeReduce::ReduceSpecial(llvm::MachineBasicBlock&, llvm::MachineInstr*, (anonymous namespace)::ReduceEntry const&, bool)::NarrowEntry"},
-    {"_ZZN12_GLOBAL__N_120SelectionDAGLegalize10ExpandNodeEPN4llvm6SDNodeERNS1_15SmallVectorImplINS1_7SDValueEEEE3Ops", "(anonymous namespace)::SelectionDAGLegalize::ExpandNode(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&)::Ops"},
-    {"_ZZN4llvm16DAGTypeLegalizer25ExpandFloatRes_XINT_TO_FPEPNS_6SDNodeERNS_7SDValueES4_E6TwoE32", "llvm::DAGTypeLegalizer::ExpandFloatRes_XINT_TO_FP(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)::TwoE32"},
-    {"_ZZN4llvm16DAGTypeLegalizer25ExpandFloatRes_XINT_TO_FPEPNS_6SDNodeERNS_7SDValueES4_E6TwoE64", "llvm::DAGTypeLegalizer::ExpandFloatRes_XINT_TO_FP(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)::TwoE64"},
-    {"_ZZN4llvm16DAGTypeLegalizer25ExpandFloatRes_XINT_TO_FPEPNS_6SDNodeERNS_7SDValueES4_E7TwoE128", "llvm::DAGTypeLegalizer::ExpandFloatRes_XINT_TO_FP(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&)::TwoE128"},
-    {"_ZZN4llvm16DAGTypeLegalizer24ExpandFloatOp_FP_TO_UINTEPNS_6SDNodeEE6TwoE31", "llvm::DAGTypeLegalizer::ExpandFloatOp_FP_TO_UINT(llvm::SDNode*)::TwoE31"},
-    {"_ZZ10LowerCTPOPRN4llvm11LLVMContextEPNS_5ValueEPNS_11InstructionEE10MaskValues", "LowerCTPOP(llvm::LLVMContext&, llvm::Value*, llvm::Instruction*)::MaskValues"},
-    {"_ZN4llvm24RegisterCoalescerLinkVarE", "llvm::RegisterCoalescerLinkVar"},
-    {"_ZN4llvm31SimpleRegisterCoalescingLinkVarE", "llvm::SimpleRegisterCoalescingLinkVar"},
-    {"_ZN4llvm16CallGraphLinkVarE", "llvm::CallGraphLinkVar"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE12MissingValueE", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::MissingValue"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEE12MissingValueE", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::MissingValue"},
-    {"_ZTSN4llvm5ValueE", "typeinfo name for llvm::Value"},
-    {"_ZTSN4llvm4TypeE", "typeinfo name for llvm::Type"},
-    {"_ZTSN4llvm24AssemblyAnnotationWriterE", "typeinfo name for llvm::AssemblyAnnotationWriter"},
-    {"_ZTSN4llvm10FoldingSetINS_17AttributeListImplEEE", "typeinfo name for llvm::FoldingSet<llvm::AttributeListImpl>"},
-    {"_ZTSN4llvm10BasicBlockE", "typeinfo name for llvm::BasicBlock"},
-    {"_ZTSN4llvm10ilist_nodeINS_10BasicBlockEEE", "typeinfo name for llvm::ilist_node<llvm::BasicBlock>"},
-    {"_ZTSN4llvm15ilist_half_nodeINS_10BasicBlockEEE", "typeinfo name for llvm::ilist_half_node<llvm::BasicBlock>"},
-    {"_ZTSN4llvm21ConstantAggregateZeroE", "typeinfo name for llvm::ConstantAggregateZero"},
-    {"_ZTSN4llvm19ConstantPointerNullE", "typeinfo name for llvm::ConstantPointerNull"},
-    {"_ZTSN4llvm12ConstantExprE", "typeinfo name for llvm::ConstantExpr"},
-    {"_ZTSN4llvm10UndefValueE", "typeinfo name for llvm::UndefValue"},
-    {"_ZTSN4llvm10ConstantFPE", "typeinfo name for llvm::ConstantFP"},
-    {"_ZTSN4llvm13ConstantArrayE", "typeinfo name for llvm::ConstantArray"},
-    {"_ZTSN4llvm14ConstantStructE", "typeinfo name for llvm::ConstantStruct"},
-    {"_ZTSN4llvm14ConstantVectorE", "typeinfo name for llvm::ConstantVector"},
-    {"_ZTSN4llvm12BlockAddressE", "typeinfo name for llvm::BlockAddress"},
-    {"_ZTSN4llvm8ConstantE", "typeinfo name for llvm::Constant"},
-    {"_ZTSN4llvm25GetElementPtrConstantExprE", "typeinfo name for llvm::GetElementPtrConstantExpr"},
-    {"_ZTSN4llvm11ConstantIntE", "typeinfo name for llvm::ConstantInt"},
-    {"_ZTSN4llvm19CompareConstantExprE", "typeinfo name for llvm::CompareConstantExpr"},
-    {"_ZTSN4llvm24ExtractValueConstantExprE", "typeinfo name for llvm::ExtractValueConstantExpr"},
-    {"_ZTSN4llvm23InsertValueConstantExprE", "typeinfo name for llvm::InsertValueConstantExpr"},
-    {"_ZTSN4llvm25ShuffleVectorConstantExprE", "typeinfo name for llvm::ShuffleVectorConstantExpr"},
-    {"_ZTSN4llvm25InsertElementConstantExprE", "typeinfo name for llvm::InsertElementConstantExpr"},
-    {"_ZTSN4llvm26ExtractElementConstantExprE", "typeinfo name for llvm::ExtractElementConstantExpr"},
-    {"_ZTSN4llvm18SelectConstantExprE", "typeinfo name for llvm::SelectConstantExpr"},
-    {"_ZTSN4llvm18BinaryConstantExprE", "typeinfo name for llvm::BinaryConstantExpr"},
-    {"_ZTSN4llvm17UnaryConstantExprE", "typeinfo name for llvm::UnaryConstantExpr"},
-    {"_ZTSN4llvm10DebugRecVHE", "typeinfo name for llvm::DebugRecVH"},
-    {"_ZTSN4llvm17DominatorTreeBaseINS_10BasicBlockEEE", "typeinfo name for llvm::DominatorTreeBase<llvm::BasicBlock>"},
-    {"_ZTSN4llvm13DominatorBaseINS_10BasicBlockEEE", "typeinfo name for llvm::DominatorBase<llvm::BasicBlock>"},
-    {"_ZTSN4llvm13DominatorTreeE", "typeinfo name for llvm::DominatorTree"},
-    {"_ZZN4llvm9Intrinsic12isOverloadedENS0_2IDEE6OTable", "llvm::Intrinsic::isOverloaded(llvm::Intrinsic::ID)::OTable"},
-    {"_ZTSN4llvm8FunctionE", "typeinfo name for llvm::Function"},
-    {"_ZTSN4llvm10ilist_nodeINS_8FunctionEEE", "typeinfo name for llvm::ilist_node<llvm::Function>"},
-    {"_ZTSN4llvm15ilist_half_nodeINS_8FunctionEEE", "typeinfo name for llvm::ilist_half_node<llvm::Function>"},
-    {"_ZTSN4llvm8ArgumentE", "typeinfo name for llvm::Argument"},
-    {"_ZTSN4llvm10ilist_nodeINS_8ArgumentEEE", "typeinfo name for llvm::ilist_node<llvm::Argument>"},
-    {"_ZTSN4llvm15ilist_half_nodeINS_8ArgumentEEE", "typeinfo name for llvm::ilist_half_node<llvm::Argument>"},
-    {"_ZTSN4llvm14GVMaterializerE", "typeinfo name for llvm::GVMaterializer"},
-    {"_ZTSN4llvm11GlobalValueE", "typeinfo name for llvm::GlobalValue"},
-    {"_ZTSN4llvm14GlobalVariableE", "typeinfo name for llvm::GlobalVariable"},
-    {"_ZTSN4llvm11GlobalAliasE", "typeinfo name for llvm::GlobalAlias"},
-    {"_ZTSN4llvm10ilist_nodeINS_14GlobalVariableEEE", "typeinfo name for llvm::ilist_node<llvm::GlobalVariable>"},
-    {"_ZTSN4llvm15ilist_half_nodeINS_14GlobalVariableEEE", "typeinfo name for llvm::ilist_half_node<llvm::GlobalVariable>"},
-    {"_ZTSN4llvm10ilist_nodeINS_11GlobalAliasEEE", "typeinfo name for llvm::ilist_node<llvm::GlobalAlias>"},
-    {"_ZTSN4llvm15ilist_half_nodeINS_11GlobalAliasEEE", "typeinfo name for llvm::ilist_half_node<llvm::GlobalAlias>"},
-    {"_ZTSN4llvm9InlineAsmE", "typeinfo name for llvm::InlineAsm"},
-    {"_ZTSN4llvm11InstructionE", "typeinfo name for llvm::Instruction"},
-    {"_ZTSN4llvm4UserE", "typeinfo name for llvm::User"},
-    {"_ZTSN4llvm10ilist_nodeINS_11InstructionEEE", "typeinfo name for llvm::ilist_node<llvm::Instruction>"},
-    {"_ZTSN4llvm15ilist_half_nodeINS_11InstructionEEE", "typeinfo name for llvm::ilist_half_node<llvm::Instruction>"},
-    {"_ZZN4llvm8CastInst20isEliminableCastPairENS_11Instruction7CastOpsES2_PKNS_4TypeES5_S5_S5_E11CastResults", "llvm::CastInst::isEliminableCastPair(llvm::Instruction::CastOps, llvm::Instruction::CastOps, llvm::Type const*, llvm::Type const*, llvm::Type const*, llvm::Type const*)::CastResults"},
-    {"_ZTSN4llvm14TerminatorInstE", "typeinfo name for llvm::TerminatorInst"},
-    {"_ZTSN4llvm16UnaryInstructionE", "typeinfo name for llvm::UnaryInstruction"},
-    {"_ZTSN4llvm17GetElementPtrInstE", "typeinfo name for llvm::GetElementPtrInst"},
-    {"_ZTSN4llvm7CmpInstE", "typeinfo name for llvm::CmpInst"},
-    {"_ZTSN4llvm8ICmpInstE", "typeinfo name for llvm::ICmpInst"},
-    {"_ZTSN4llvm8FCmpInstE", "typeinfo name for llvm::FCmpInst"},
-    {"_ZTSN4llvm8CallInstE", "typeinfo name for llvm::CallInst"},
-    {"_ZTSN4llvm10SelectInstE", "typeinfo name for llvm::SelectInst"},
-    {"_ZTSN4llvm9VAArgInstE", "typeinfo name for llvm::VAArgInst"},
-    {"_ZTSN4llvm18ExtractElementInstE", "typeinfo name for llvm::ExtractElementInst"},
-    {"_ZTSN4llvm17InsertElementInstE", "typeinfo name for llvm::InsertElementInst"},
-    {"_ZTSN4llvm16ExtractValueInstE", "typeinfo name for llvm::ExtractValueInst"},
-    {"_ZTSN4llvm15InsertValueInstE", "typeinfo name for llvm::InsertValueInst"},
-    {"_ZTSN4llvm7PHINodeE", "typeinfo name for llvm::PHINode"},
-    {"_ZTSN4llvm10ReturnInstE", "typeinfo name for llvm::ReturnInst"},
-    {"_ZTSN4llvm10BranchInstE", "typeinfo name for llvm::BranchInst"},
-    {"_ZTSN4llvm10SwitchInstE", "typeinfo name for llvm::SwitchInst"},
-    {"_ZTSN4llvm14IndirectBrInstE", "typeinfo name for llvm::IndirectBrInst"},
-    {"_ZTSN4llvm11BitCastInstE", "typeinfo name for llvm::BitCastInst"},
-    {"_ZTSN4llvm10InvokeInstE", "typeinfo name for llvm::InvokeInst"},
-    {"_ZTSN4llvm10UnwindInstE", "typeinfo name for llvm::UnwindInst"},
-    {"_ZTSN4llvm15UnreachableInstE", "typeinfo name for llvm::UnreachableInst"},
-    {"_ZTSN4llvm10AllocaInstE", "typeinfo name for llvm::AllocaInst"},
-    {"_ZTSN4llvm8LoadInstE", "typeinfo name for llvm::LoadInst"},
-    {"_ZTSN4llvm9StoreInstE", "typeinfo name for llvm::StoreInst"},
-    {"_ZTSN4llvm17ShuffleVectorInstE", "typeinfo name for llvm::ShuffleVectorInst"},
-    {"_ZTSN4llvm14BinaryOperatorE", "typeinfo name for llvm::BinaryOperator"},
-    {"_ZTSN4llvm9TruncInstE", "typeinfo name for llvm::TruncInst"},
-    {"_ZTSN4llvm8ZExtInstE", "typeinfo name for llvm::ZExtInst"},
-    {"_ZTSN4llvm8SExtInstE", "typeinfo name for llvm::SExtInst"},
-    {"_ZTSN4llvm11FPTruncInstE", "typeinfo name for llvm::FPTruncInst"},
-    {"_ZTSN4llvm9FPExtInstE", "typeinfo name for llvm::FPExtInst"},
-    {"_ZTSN4llvm10UIToFPInstE", "typeinfo name for llvm::UIToFPInst"},
-    {"_ZTSN4llvm10SIToFPInstE", "typeinfo name for llvm::SIToFPInst"},
-    {"_ZTSN4llvm10FPToUIInstE", "typeinfo name for llvm::FPToUIInst"},
-    {"_ZTSN4llvm10FPToSIInstE", "typeinfo name for llvm::FPToSIInst"},
-    {"_ZTSN4llvm12PtrToIntInstE", "typeinfo name for llvm::PtrToIntInst"},
-    {"_ZTSN4llvm12IntToPtrInstE", "typeinfo name for llvm::IntToPtrInst"},
-    {"_ZTSN4llvm8CastInstE", "typeinfo name for llvm::CastInst"},
-    {"_ZTSN4llvm10FoldingSetINS_6MDNodeEEE", "typeinfo name for llvm::FoldingSet<llvm::MDNode>"},
-    {"_ZTSN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EEE", "typeinfo name for llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>"},
-    {"_ZTSN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EEE", "typeinfo name for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>"},
-    {"_ZTSN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EEE", "typeinfo name for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>"},
-    {"_ZTSN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EEE", "typeinfo name for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>"},
-    {"_ZTSN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EEE", "typeinfo name for llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>"},
-    {"_ZTSN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EEE", "typeinfo name for llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>"},
-    {"_ZTSN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EEE", "typeinfo name for llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>"},
-    {"_ZTSN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EEE", "typeinfo name for llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>"},
-    {"_ZTSN4llvm11IntegerTypeE", "typeinfo name for llvm::IntegerType"},
-    {"_ZTSN4llvm11DerivedTypeE", "typeinfo name for llvm::DerivedType"},
-    {"_ZTSN4llvm13MDNodeOperandE", "typeinfo name for llvm::MDNodeOperand"},
-    {"_ZTSN4llvm6MDNodeE", "typeinfo name for llvm::MDNode"},
-    {"_ZTSN4llvm15ValueHandleBaseE", "typeinfo name for llvm::ValueHandleBase"},
-    {"_ZTSN4llvm14FoldingSetImpl4NodeE", "typeinfo name for llvm::FoldingSetImpl::Node"},
-    {"_ZTSN4llvm8MDStringE", "typeinfo name for llvm::MDString"},
-    {"_ZTSN4llvm4PassE", "typeinfo name for llvm::Pass"},
-    {"_ZTSN4llvm10ModulePassE", "typeinfo name for llvm::ModulePass"},
-    {"_ZTSN4llvm13ImmutablePassE", "typeinfo name for llvm::ImmutablePass"},
-    {"_ZTSN4llvm12FunctionPassE", "typeinfo name for llvm::FunctionPass"},
-    {"_ZTSN4llvm14BasicBlockPassE", "typeinfo name for llvm::BasicBlockPass"},
-    {"_ZTSN4llvm24PassRegistrationListenerE", "typeinfo name for llvm::PassRegistrationListener"},
-    {"_ZTSN4llvm14PassNameParserE", "typeinfo name for llvm::PassNameParser"},
-    {"_ZTSN12_GLOBAL__N_116GetCFGOnlyPassesE", "typeinfo name for (anonymous namespace)::GetCFGOnlyPasses"},
-    {"_ZTSN4llvm2cl6parserIPKNS_8PassInfoEEE", "typeinfo name for llvm::cl::parser<llvm::PassInfo const*>"},
-    {"_ZTSN4llvm27PassManagerPrettyStackEntryE", "typeinfo name for llvm::PassManagerPrettyStackEntry"},
-    {"_ZTSN4llvm13PMDataManagerE", "typeinfo name for llvm::PMDataManager"},
-    {"_ZTSN4llvm13FPPassManagerE", "typeinfo name for llvm::FPPassManager"},
-    {"_ZTSN4llvm17PMTopLevelManagerE", "typeinfo name for llvm::PMTopLevelManager"},
-    {"_ZTSN4llvm13MPPassManagerE", "typeinfo name for llvm::MPPassManager"},
-    {"_ZTSN4llvm15PassManagerBaseE", "typeinfo name for llvm::PassManagerBase"},
-    {"_ZTSN4llvm19FunctionPassManagerE", "typeinfo name for llvm::FunctionPassManager"},
-    {"_ZTSN4llvm11PassManagerE", "typeinfo name for llvm::PassManager"},
-    {"_ZTSN12_GLOBAL__N_113BBPassManagerE", "typeinfo name for (anonymous namespace)::BBPassManager"},
-    {"_ZTSN4llvm2cl3optIbLb1ENS0_6parserIbEEEE", "typeinfo name for llvm::cl::opt<bool, true, llvm::cl::parser<bool> >"},
-    {"_ZTSN4llvm2cl11opt_storageIbLb1ELb0EEE", "typeinfo name for llvm::cl::opt_storage<bool, true, false>"},
-    {"_ZTSN4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEEE", "typeinfo name for llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>"},
-    {"_ZTSN4llvm2cl12list_storageIPKNS_8PassInfoEbEE", "typeinfo name for llvm::cl::list_storage<llvm::PassInfo const*, bool>"},
-    {"_ZTSSt6vectorIPKN4llvm8PassInfoESaIS3_EE", "typeinfo name for std::vector<llvm::PassInfo const*, std::allocator<llvm::PassInfo const*> >"},
-    {"_ZTSSt12_Vector_baseIPKN4llvm8PassInfoESaIS3_EE", "typeinfo name for std::_Vector_base<llvm::PassInfo const*, std::allocator<llvm::PassInfo const*> >"},
-    {"_ZTSN4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEEE", "typeinfo name for llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >"},
-    {"_ZTSN4llvm2cl11opt_storageINS_14PassDebugLevelELb0ELb0EEE", "typeinfo name for llvm::cl::opt_storage<llvm::PassDebugLevel, false, false>"},
-    {"_ZTSN4llvm2cl6parserINS_14PassDebugLevelEEE", "typeinfo name for llvm::cl::parser<llvm::PassDebugLevel>"},
-    {"_ZTSN4llvm15PassManagerImplE", "typeinfo name for llvm::PassManagerImpl"},
-    {"_ZTSN4llvm23FunctionPassManagerImplE", "typeinfo name for llvm::FunctionPassManagerImpl"},
-    {"_ZTSN12_GLOBAL__N_117PrintFunctionPassE", "typeinfo name for (anonymous namespace)::PrintFunctionPass"},
-    {"_ZTSN12_GLOBAL__N_115PrintModulePassE", "typeinfo name for (anonymous namespace)::PrintModulePass"},
-    {"_ZTSN4llvm16AbstractTypeUserE", "typeinfo name for llvm::AbstractTypeUser"},
-    {"_ZTSN4llvm14SequentialTypeE", "typeinfo name for llvm::SequentialType"},
-    {"_ZTSN4llvm12FunctionTypeE", "typeinfo name for llvm::FunctionType"},
-    {"_ZTSN4llvm10StructTypeE", "typeinfo name for llvm::StructType"},
-    {"_ZTSN4llvm9ArrayTypeE", "typeinfo name for llvm::ArrayType"},
-    {"_ZTSN4llvm10VectorTypeE", "typeinfo name for llvm::VectorType"},
-    {"_ZTSN4llvm11PointerTypeE", "typeinfo name for llvm::PointerType"},
-    {"_ZTSN4llvm13CompositeTypeE", "typeinfo name for llvm::CompositeType"},
-    {"_ZTSN4llvm10OpaqueTypeE", "typeinfo name for llvm::OpaqueType"},
-    {"_ZTSN4llvm15TypeSymbolTableE", "typeinfo name for llvm::TypeSymbolTable"},
-    {"_ZZN4llvm3Use8initTagsEPS0_S1_E4tags", "llvm::Use::initTags(llvm::Use*, llvm::Use*)::tags"},
-    {"_ZTSN4llvm10CallbackVHE", "typeinfo name for llvm::CallbackVH"},
-    {"_ZTSN12_GLOBAL__N_18VerifierE", "typeinfo name for (anonymous namespace)::Verifier"},
-    {"_ZTSN4llvm11InstVisitorIN12_GLOBAL__N_18VerifierEvEE", "typeinfo name for llvm::InstVisitor<(anonymous namespace)::Verifier, void>"},
-    {"_ZTSN12_GLOBAL__N_17TypeSetE", "typeinfo name for (anonymous namespace)::TypeSet"},
-    {"_ZTSN12_GLOBAL__N_111PreVerifierE", "typeinfo name for (anonymous namespace)::PreVerifier"},
-    {"_ZZN4llvm14ARMInstPrinter16printInstructionEPKNS_6MCInstERNS_11raw_ostreamEE6OpInfo", "llvm::ARMInstPrinter::printInstruction(llvm::MCInst const*, llvm::raw_ostream&)::OpInfo"},
-    {"_ZZN4llvm14ARMInstPrinter15getRegisterNameEjE12RegAsmOffset", "llvm::ARMInstPrinter::getRegisterName(unsigned int)::RegAsmOffset"},
-    {"_ZZN4llvm14ARMInstPrinter18getInstructionNameEjE13InstAsmOffset", "llvm::ARMInstPrinter::getInstructionName(unsigned int)::InstAsmOffset"},
-    {"_ZZN4llvm14MCObjectWriter10WriteZerosEjE5Zeros", "llvm::MCObjectWriter::WriteZeros(unsigned int)::Zeros"},
-    {"_ZZN4llvm14MCObjectWriter10WriteZerosEjE5Zeros", "llvm::MCObjectWriter::WriteZeros(unsigned int)::Zeros"},
-    {"_ZZN4llvm14MCObjectWriter10WriteZerosEjE5Zeros", "llvm::MCObjectWriter::WriteZeros(unsigned int)::Zeros"},
-    {"_ZZN4llvm14MCObjectWriter10WriteZerosEjE5Zeros", "llvm::MCObjectWriter::WriteZeros(unsigned int)::Zeros"},
-    {"_ZZN4llvm14MCObjectWriter10WriteZerosEjE5Zeros", "llvm::MCObjectWriter::WriteZeros(unsigned int)::Zeros"},
-    {"_ZZN4llvm7APFloat28roundSignificandWithExponentEPKyjiNS0_12roundingModeEE13calcSemantics", "llvm::APFloat::roundSignificandWithExponent(unsigned long long const*, unsigned int, int, llvm::APFloat::roundingMode)::calcSemantics"},
-    {"_ZZ8powerOf5PyjE16firstEightPowers", "powerOf5(unsigned long long*, unsigned int)::firstEightPowers"},
-    {"_ZZNK4llvm5APInt4sqrtEvE7results", "llvm::APInt::sqrt() const::results"},
-    {"_ZZNK4llvm5APInt8toStringERNS_15SmallVectorImplIcEEjbE6Digits", "llvm::APInt::toString(llvm::SmallVectorImpl<char>&, unsigned int, bool) const::Digits"},
-    {"_ZTSN4llvm13SlabAllocatorE", "typeinfo name for llvm::SlabAllocator"},
-    {"_ZTSN4llvm19MallocSlabAllocatorE", "typeinfo name for llvm::MallocSlabAllocator"},
-    {"_ZTSN4llvm2cl6OptionE", "typeinfo name for llvm::cl::Option"},
-    {"_ZTSN4llvm2cl19generic_parser_baseE", "typeinfo name for llvm::cl::generic_parser_base"},
-    {"_ZTSN4llvm2cl17basic_parser_implE", "typeinfo name for llvm::cl::basic_parser_impl"},
-    {"_ZTSN4llvm2cl6parserIbEE", "typeinfo name for llvm::cl::parser<bool>"},
-    {"_ZTSN4llvm2cl6parserINS0_13boolOrDefaultEEE", "typeinfo name for llvm::cl::parser<llvm::cl::boolOrDefault>"},
-    {"_ZTSN4llvm2cl6parserIiEE", "typeinfo name for llvm::cl::parser<int>"},
-    {"_ZTSN4llvm2cl6parserIjEE", "typeinfo name for llvm::cl::parser<unsigned int>"},
-    {"_ZTSN4llvm2cl6parserIdEE", "typeinfo name for llvm::cl::parser<double>"},
-    {"_ZTSN4llvm2cl6parserIfEE", "typeinfo name for llvm::cl::parser<float>"},
-    {"_ZTSN4llvm2cl6parserISsEE", "typeinfo name for llvm::cl::parser<std::string>"},
-    {"_ZTSN4llvm2cl6parserIcEE", "typeinfo name for llvm::cl::parser<char>"},
-    {"_ZTSN4llvm2cl5aliasE", "typeinfo name for llvm::cl::alias"},
-    {"_ZTSN4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEEE", "typeinfo name for llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >"},
-    {"_ZTSN4llvm2cl11opt_storageIN12_GLOBAL__N_114VersionPrinterELb1ELb1EEE", "typeinfo name for llvm::cl::opt_storage<(anonymous namespace)::VersionPrinter, true, true>"},
-    {"_ZTSN4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEEE", "typeinfo name for llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >"},
-    {"_ZTSN4llvm2cl11opt_storageIN12_GLOBAL__N_111HelpPrinterELb1ELb1EEE", "typeinfo name for llvm::cl::opt_storage<(anonymous namespace)::HelpPrinter, true, true>"},
-    {"_ZTSN4llvm2cl12basic_parserIbEE", "typeinfo name for llvm::cl::basic_parser<bool>"},
-    {"_ZTSN4llvm2cl12basic_parserINS0_13boolOrDefaultEEE", "typeinfo name for llvm::cl::basic_parser<llvm::cl::boolOrDefault>"},
-    {"_ZTSN4llvm2cl12basic_parserIiEE", "typeinfo name for llvm::cl::basic_parser<int>"},
-    {"_ZTSN4llvm2cl12basic_parserIjEE", "typeinfo name for llvm::cl::basic_parser<unsigned int>"},
-    {"_ZTSN4llvm2cl12basic_parserIdEE", "typeinfo name for llvm::cl::basic_parser<double>"},
-    {"_ZTSN4llvm2cl12basic_parserIfEE", "typeinfo name for llvm::cl::basic_parser<float>"},
-    {"_ZTSN4llvm2cl12basic_parserISsEE", "typeinfo name for llvm::cl::basic_parser<std::string>"},
-    {"_ZTSN4llvm2cl12basic_parserIcEE", "typeinfo name for llvm::cl::basic_parser<char>"},
-    {"_ZTSN4llvm2cl3optIjLb0ENS0_6parserIjEEEE", "typeinfo name for llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >"},
-    {"_ZTSN4llvm2cl11opt_storageIjLb0ELb0EEE", "typeinfo name for llvm::cl::opt_storage<unsigned int, false, false>"},
-    {"_ZTSN4llvm2cl3optIiLb0ENS0_6parserIiEEEE", "typeinfo name for llvm::cl::opt<int, false, llvm::cl::parser<int> >"},
-    {"_ZTSN4llvm2cl11opt_storageIiLb0ELb0EEE", "typeinfo name for llvm::cl::opt_storage<int, false, false>"},
-    {"_ZTSN4llvm2cl3optISsLb0ENS0_6parserISsEEEE", "typeinfo name for llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >"},
-    {"_ZTSN4llvm2cl11opt_storageISsLb0ELb1EEE", "typeinfo name for llvm::cl::opt_storage<std::string, false, true>"},
-    {"_ZTSSs", "typeinfo name for std::string"},
-    {"_ZTSN4llvm2cl3optIcLb0ENS0_6parserIcEEEE", "typeinfo name for llvm::cl::opt<char, false, llvm::cl::parser<char> >"},
-    {"_ZTSN4llvm2cl11opt_storageIcLb0ELb0EEE", "typeinfo name for llvm::cl::opt_storage<char, false, false>"},
-    {"_ZTSN4llvm2cl3optIbLb0ENS0_6parserIbEEEE", "typeinfo name for llvm::cl::opt<bool, false, llvm::cl::parser<bool> >"},
-    {"_ZTSN4llvm2cl11opt_storageIbLb0ELb0EEE", "typeinfo name for llvm::cl::opt_storage<bool, false, false>"},
-    {"_ZTSN4llvm3sys11ThreadLocalIKN12_GLOBAL__N_124CrashRecoveryContextImplEEE", "typeinfo name for llvm::sys::ThreadLocal<(anonymous namespace)::CrashRecoveryContextImpl const>"},
-    {"_ZTSN4llvm14FoldingSetImplE", "typeinfo name for llvm::FoldingSetImpl"},
-    {"_ZTSN4llvm21formatted_raw_ostreamE", "typeinfo name for llvm::formatted_raw_ostream"},
-    {"_ZTSN4llvm12MemoryBufferE", "typeinfo name for llvm::MemoryBuffer"},
-    {"_ZTSN12_GLOBAL__N_120MemoryBufferMMapFileE", "typeinfo name for (anonymous namespace)::MemoryBufferMMapFile"},
-    {"_ZTSN12_GLOBAL__N_115MemoryBufferMemE", "typeinfo name for (anonymous namespace)::MemoryBufferMem"},
-    {"_ZN4llvm3sys13PathSeparatorE", "llvm::sys::PathSeparator"},
-    {"_ZTSN4llvm21PrettyStackTraceEntryE", "typeinfo name for llvm::PrettyStackTraceEntry"},
-    {"_ZTSN4llvm22PrettyStackTraceStringE", "typeinfo name for llvm::PrettyStackTraceString"},
-    {"_ZTSN4llvm23PrettyStackTraceProgramE", "typeinfo name for llvm::PrettyStackTraceProgram"},
-    {"_ZTSN4llvm3sys11ThreadLocalIKNS_21PrettyStackTraceEntryEEE", "typeinfo name for llvm::sys::ThreadLocal<llvm::PrettyStackTraceEntry const>"},
-    {"_ZN4llvm9StringRef4nposE", "llvm::StringRef::npos"},
-    {"_ZTSN4llvm3sys15ThreadLocalImplE", "typeinfo name for llvm::sys::ThreadLocalImpl"},
-    {"_ZTSN4llvm14format_object1IxEE", "typeinfo name for llvm::format_object1<long long>"},
-    {"_ZTSN4llvm14format_object1IdEE", "typeinfo name for llvm::format_object1<double>"},
-    {"_ZTSN4llvm2cl3optISsLb1ENS0_6parserISsEEEE", "typeinfo name for llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >"},
-    {"_ZTSN4llvm2cl11opt_storageISsLb1ELb1EEE", "typeinfo name for llvm::cl::opt_storage<std::string, true, true>"},
-    {"_ZZN4llvm11raw_ostream6indentEjE6Spaces", "llvm::raw_ostream::indent(unsigned int)::Spaces"},
-    {"_ZTSN4llvm11raw_ostreamE", "typeinfo name for llvm::raw_ostream"},
-    {"_ZTSN4llvm18raw_string_ostreamE", "typeinfo name for llvm::raw_string_ostream"},
-    {"_ZTSN4llvm16raw_null_ostreamE", "typeinfo name for llvm::raw_null_ostream"},
-    {"_ZTSN4llvm18format_object_baseE", "typeinfo name for llvm::format_object_base"},
-    {"_ZTSN4llvm14raw_fd_ostreamE", "typeinfo name for llvm::raw_fd_ostream"},
-    {"_ZTSN4llvm19raw_svector_ostreamE", "typeinfo name for llvm::raw_svector_ostream"},
-    {"_ZTSN4llvm14error_categoryE", "typeinfo name for llvm::error_category"},
-    {"_ZTSN4llvm11_do_messageE", "typeinfo name for llvm::_do_message"},
-    {"_ZTSN4llvm23_generic_error_categoryE", "typeinfo name for llvm::_generic_error_category"},
-    {"_ZTSN4llvm22_system_error_categoryE", "typeinfo name for llvm::_system_error_category"},
-    {"_ZTVN12_GLOBAL__N_110ASTDumpXMLE", "vtable for (anonymous namespace)::ASTDumpXML"},
-    {"_ZTVN12_GLOBAL__N_117InheritanceViewerE", "vtable for (anonymous namespace)::InheritanceViewer"},
-    {"_ZTVN12_GLOBAL__N_118DeclContextPrinterE", "vtable for (anonymous namespace)::DeclContextPrinter"},
-    {"_ZTVN12_GLOBAL__N_19ASTViewerE", "vtable for (anonymous namespace)::ASTViewer"},
-    {"_ZTVN12_GLOBAL__N_113ASTPrinterXMLE", "vtable for (anonymous namespace)::ASTPrinterXML"},
-    {"_ZTVN12_GLOBAL__N_110ASTPrinterE", "vtable for (anonymous namespace)::ASTPrinter"},
-    {"_ZTVN5clang14ASTMergeActionE", "vtable for clang::ASTMergeAction"},
-    {"_ZTVN12_GLOBAL__N_129AugmentedCodeCompleteConsumerE", "vtable for (anonymous namespace)::AugmentedCodeCompleteConsumer"},
-    {"_ZTVN12_GLOBAL__N_122StoredDiagnosticClientE", "vtable for (anonymous namespace)::StoredDiagnosticClient"},
-    {"_ZTVN12_GLOBAL__N_124PrecompilePreambleActionE", "vtable for (anonymous namespace)::PrecompilePreambleAction"},
-    {"_ZTVN12_GLOBAL__N_126PrecompilePreambleConsumerE", "vtable for (anonymous namespace)::PrecompilePreambleConsumer"},
-    {"_ZTVN12_GLOBAL__N_125TopLevelDeclTrackerActionE", "vtable for (anonymous namespace)::TopLevelDeclTrackerAction"},
-    {"_ZTVN12_GLOBAL__N_127TopLevelDeclTrackerConsumerE", "vtable for (anonymous namespace)::TopLevelDeclTrackerConsumer"},
-    {"_ZTVN12_GLOBAL__N_116ASTInfoCollectorE", "vtable for (anonymous namespace)::ASTInfoCollector"},
-    {"_ZTVN5clang14BoostConActionE", "vtable for clang::BoostConAction"},
-    {"_ZTVN12_GLOBAL__N_119BoostConASTConsumerE", "vtable for (anonymous namespace)::BoostConASTConsumer"},
-    {"_ZTVN12_GLOBAL__N_112StatListenerE", "vtable for (anonymous namespace)::StatListener"},
-    {"_ZTVN12_GLOBAL__N_122DependencyFileCallbackE", "vtable for (anonymous namespace)::DependencyFileCallback"},
-    {"_ZTVN5clang14FrontendActionE", "vtable for clang::FrontendAction"},
-    {"_ZTVN5clang17ASTFrontendActionE", "vtable for clang::ASTFrontendAction"},
-    {"_ZTVN5clang26PreprocessorFrontendActionE", "vtable for clang::PreprocessorFrontendAction"},
-    {"_ZTVN12_GLOBAL__N_124DeserializedDeclsCheckerE", "vtable for (anonymous namespace)::DeserializedDeclsChecker"},
-    {"_ZTVN12_GLOBAL__N_123DeserializedDeclsDumperE", "vtable for (anonymous namespace)::DeserializedDeclsDumper"},
-    {"_ZTVN5clang14InitOnlyActionE", "vtable for clang::InitOnlyAction"},
-    {"_ZTVN5clang14ASTPrintActionE", "vtable for clang::ASTPrintAction"},
-    {"_ZTVN5clang17ASTPrintXMLActionE", "vtable for clang::ASTPrintXMLAction"},
-    {"_ZTVN5clang13ASTDumpActionE", "vtable for clang::ASTDumpAction"},
-    {"_ZTVN5clang16ASTDumpXMLActionE", "vtable for clang::ASTDumpXMLAction"},
-    {"_ZTVN5clang13ASTViewActionE", "vtable for clang::ASTViewAction"},
-    {"_ZTVN5clang22DeclContextPrintActionE", "vtable for clang::DeclContextPrintAction"},
-    {"_ZTVN5clang17GeneratePCHActionE", "vtable for clang::GeneratePCHAction"},
-    {"_ZTVN5clang21InheritanceViewActionE", "vtable for clang::InheritanceViewAction"},
-    {"_ZTVN5clang16SyntaxOnlyActionE", "vtable for clang::SyntaxOnlyAction"},
-    {"_ZTVN5clang19PrintPreambleActionE", "vtable for clang::PrintPreambleAction"},
-    {"_ZTVN5clang19DumpRawTokensActionE", "vtable for clang::DumpRawTokensAction"},
-    {"_ZTVN5clang16DumpTokensActionE", "vtable for clang::DumpTokensAction"},
-    {"_ZTVN5clang17GeneratePTHActionE", "vtable for clang::GeneratePTHAction"},
-    {"_ZTVN5clang20PreprocessOnlyActionE", "vtable for clang::PreprocessOnlyAction"},
-    {"_ZTVN5clang23PrintPreprocessedActionE", "vtable for clang::PrintPreprocessedAction"},
-    {"_ZTVN12_GLOBAL__N_122HeaderIncludesCallbackE", "vtable for (anonymous namespace)::HeaderIncludesCallback"},
-    {"_ZTVN5clang35MultiplexASTDeserializationListenerE", "vtable for clang::MultiplexASTDeserializationListener"},
-    {"_ZTVN5clang28MultiplexASTMutationListenerE", "vtable for clang::MultiplexASTMutationListener"},
-    {"_ZTVN5clang17MultiplexConsumerE", "vtable for clang::MultiplexConsumer"},
-    {"_ZTVN12_GLOBAL__N_120UnknownPragmaHandlerE", "vtable for (anonymous namespace)::UnknownPragmaHandler"},
-    {"_ZTVN12_GLOBAL__N_124PrintPPOutputPPCallbacksE", "vtable for (anonymous namespace)::PrintPPOutputPPCallbacks"},
-    {"_ZTVN5clang20TextDiagnosticBufferE", "vtable for clang::TextDiagnosticBuffer"},
-    {"_ZTVN5clang21TextDiagnosticPrinterE", "vtable for clang::TextDiagnosticPrinter"},
-    {"_ZTVN5clang23VerifyDiagnosticsClientE", "vtable for clang::VerifyDiagnosticsClient"},
-    {"_ZTVN12_GLOBAL__N_117StandardDirectiveE", "vtable for (anonymous namespace)::StandardDirective"},
-    {"_ZTVN12_GLOBAL__N_19DirectiveE", "vtable for (anonymous namespace)::Directive"},
-    {"_ZTVN12_GLOBAL__N_114RegexDirectiveE", "vtable for (anonymous namespace)::RegexDirective"},
-    {"_ZTVN5clang6driver6ActionE", "vtable for clang::driver::Action"},
-    {"_ZTVN5clang6driver7ArgListE", "vtable for clang::driver::ArgList"},
-    {"_ZTVN5clang6driver12InputArgListE", "vtable for clang::driver::InputArgList"},
-    {"_ZTVN5clang6driver14DerivedArgListE", "vtable for clang::driver::DerivedArgList"},
-    {"_ZTVN5clang6driver8HostInfoE", "vtable for clang::driver::HostInfo"},
-    {"_ZTVN12_GLOBAL__N_115UnknownHostInfoE", "vtable for (anonymous namespace)::UnknownHostInfo"},
-    {"_ZTVN12_GLOBAL__N_113MinGWHostInfoE", "vtable for (anonymous namespace)::MinGWHostInfo"},
-    {"_ZTVN12_GLOBAL__N_115WindowsHostInfoE", "vtable for (anonymous namespace)::WindowsHostInfo"},
-    {"_ZTVN12_GLOBAL__N_111TCEHostInfoE", "vtable for (anonymous namespace)::TCEHostInfo"},
-    {"_ZTVN12_GLOBAL__N_113LinuxHostInfoE", "vtable for (anonymous namespace)::LinuxHostInfo"},
-    {"_ZTVN12_GLOBAL__N_117DragonFlyHostInfoE", "vtable for (anonymous namespace)::DragonFlyHostInfo"},
-    {"_ZTVN12_GLOBAL__N_113MinixHostInfoE", "vtable for (anonymous namespace)::MinixHostInfo"},
-    {"_ZTVN12_GLOBAL__N_114NetBSDHostInfoE", "vtable for (anonymous namespace)::NetBSDHostInfo"},
-    {"_ZTVN12_GLOBAL__N_115FreeBSDHostInfoE", "vtable for (anonymous namespace)::FreeBSDHostInfo"},
-    {"_ZTVN12_GLOBAL__N_115OpenBSDHostInfoE", "vtable for (anonymous namespace)::OpenBSDHostInfo"},
-    {"_ZTVN12_GLOBAL__N_114DarwinHostInfoE", "vtable for (anonymous namespace)::DarwinHostInfo"},
-    {"_ZTVN12_GLOBAL__N_116AuroraUXHostInfoE", "vtable for (anonymous namespace)::AuroraUXHostInfo"},
-    {"_ZTVN5clang6driver3JobE", "vtable for clang::driver::Job"},
-    {"_ZTVN5clang6driver7JobListE", "vtable for clang::driver::JobList"},
-    {"_ZTVN5clang6driver6OptionE", "vtable for clang::driver::Option"},
-    {"_ZTVN5clang6driver11OptionGroupE", "vtable for clang::driver::OptionGroup"},
-    {"_ZTVN5clang6driver11InputOptionE", "vtable for clang::driver::InputOption"},
-    {"_ZTVN5clang6driver13UnknownOptionE", "vtable for clang::driver::UnknownOption"},
-    {"_ZTVN5clang6driver10FlagOptionE", "vtable for clang::driver::FlagOption"},
-    {"_ZTVN5clang6driver12JoinedOptionE", "vtable for clang::driver::JoinedOption"},
-    {"_ZTVN5clang6driver17CommaJoinedOptionE", "vtable for clang::driver::CommaJoinedOption"},
-    {"_ZTVN5clang6driver14SeparateOptionE", "vtable for clang::driver::SeparateOption"},
-    {"_ZTVN5clang6driver14MultiArgOptionE", "vtable for clang::driver::MultiArgOption"},
-    {"_ZTVN5clang6driver22JoinedOrSeparateOptionE", "vtable for clang::driver::JoinedOrSeparateOption"},
-    {"_ZTVN5clang6driver23JoinedAndSeparateOptionE", "vtable for clang::driver::JoinedAndSeparateOption"},
-    {"_ZTVN5clang6driver4ToolE", "vtable for clang::driver::Tool"},
-    {"_ZTVN5clang6driver9ToolChainE", "vtable for clang::driver::ToolChain"},
-    {"_ZTVN5clang6driver10toolchains6DarwinE", "vtable for clang::driver::toolchains::Darwin"},
-    {"_ZTVN5clang6driver10toolchains9DarwinGCCE", "vtable for clang::driver::toolchains::DarwinGCC"},
-    {"_ZTVN5clang6driver10toolchains11DarwinClangE", "vtable for clang::driver::toolchains::DarwinClang"},
-    {"_ZTVN5clang6driver10toolchains11Generic_GCCE", "vtable for clang::driver::toolchains::Generic_GCC"},
-    {"_ZTVN5clang6driver10toolchains12TCEToolChainE", "vtable for clang::driver::toolchains::TCEToolChain"},
-    {"_ZTVN5clang6driver10toolchains7OpenBSDE", "vtable for clang::driver::toolchains::OpenBSD"},
-    {"_ZTVN5clang6driver10toolchains7FreeBSDE", "vtable for clang::driver::toolchains::FreeBSD"},
-    {"_ZTVN5clang6driver10toolchains6NetBSDE", "vtable for clang::driver::toolchains::NetBSD"},
-    {"_ZTVN5clang6driver10toolchains5MinixE", "vtable for clang::driver::toolchains::Minix"},
-    {"_ZTVN5clang6driver10toolchains8AuroraUXE", "vtable for clang::driver::toolchains::AuroraUX"},
-    {"_ZTVN5clang6driver10toolchains5LinuxE", "vtable for clang::driver::toolchains::Linux"},
-    {"_ZZN5clang6driver10toolchains5LinuxC1ERKNS0_8HostInfoERKN4llvm6TripleEE11GccVersions", "clang::driver::toolchains::Linux::Linux(clang::driver::HostInfo const&, llvm::Triple const&)::GccVersions"},
-    {"_ZTVN5clang6driver10toolchains9DragonFlyE", "vtable for clang::driver::toolchains::DragonFly"},
-    {"_ZTVN5clang6driver10toolchains7WindowsE", "vtable for clang::driver::toolchains::Windows"},
-    {"_ZTVN5clang6driver10toolchains18Darwin_Generic_GCCE", "vtable for clang::driver::toolchains::Darwin_Generic_GCC"},
-    {"_ZTVN5clang6driver5tools5ClangE", "vtable for clang::driver::tools::Clang"},
-    {"_ZTVN5clang6driver5tools7ClangAsE", "vtable for clang::driver::tools::ClangAs"},
-    {"_ZTVN5clang6driver5tools3gcc6CommonE", "vtable for clang::driver::tools::gcc::Common"},
-    {"_ZTVN5clang6driver5tools3gcc10PreprocessE", "vtable for clang::driver::tools::gcc::Preprocess"},
-    {"_ZTVN5clang6driver5tools3gcc10PrecompileE", "vtable for clang::driver::tools::gcc::Precompile"},
-    {"_ZTVN5clang6driver5tools3gcc7CompileE", "vtable for clang::driver::tools::gcc::Compile"},
-    {"_ZTVN5clang6driver5tools3gcc8AssembleE", "vtable for clang::driver::tools::gcc::Assemble"},
-    {"_ZTVN5clang6driver5tools3gcc4LinkE", "vtable for clang::driver::tools::gcc::Link"},
-    {"_ZTVN5clang6driver5tools6darwin10PreprocessE", "vtable for clang::driver::tools::darwin::Preprocess"},
-    {"_ZTVN5clang6driver5tools6darwin7CompileE", "vtable for clang::driver::tools::darwin::Compile"},
-    {"_ZTVN5clang6driver5tools6darwin8AssembleE", "vtable for clang::driver::tools::darwin::Assemble"},
-    {"_ZTVN5clang6driver5tools6darwin4LinkE", "vtable for clang::driver::tools::darwin::Link"},
-    {"_ZTVN5clang6driver5tools6darwin4LipoE", "vtable for clang::driver::tools::darwin::Lipo"},
-    {"_ZTVN5clang6driver5tools6darwin8DsymutilE", "vtable for clang::driver::tools::darwin::Dsymutil"},
-    {"_ZTVN5clang6driver5tools7openbsd8AssembleE", "vtable for clang::driver::tools::openbsd::Assemble"},
-    {"_ZTVN5clang6driver5tools7openbsd4LinkE", "vtable for clang::driver::tools::openbsd::Link"},
-    {"_ZTVN5clang6driver5tools7freebsd8AssembleE", "vtable for clang::driver::tools::freebsd::Assemble"},
-    {"_ZTVN5clang6driver5tools7freebsd4LinkE", "vtable for clang::driver::tools::freebsd::Link"},
-    {"_ZTVN5clang6driver5tools6netbsd8AssembleE", "vtable for clang::driver::tools::netbsd::Assemble"},
-    {"_ZTVN5clang6driver5tools6netbsd4LinkE", "vtable for clang::driver::tools::netbsd::Link"},
-    {"_ZTVN5clang6driver5tools10linuxtools8AssembleE", "vtable for clang::driver::tools::linuxtools::Assemble"},
-    {"_ZTVN5clang6driver5tools10linuxtools4LinkE", "vtable for clang::driver::tools::linuxtools::Link"},
-    {"_ZTVN5clang6driver5tools5minix8AssembleE", "vtable for clang::driver::tools::minix::Assemble"},
-    {"_ZTVN5clang6driver5tools5minix4LinkE", "vtable for clang::driver::tools::minix::Link"},
-    {"_ZTVN5clang6driver5tools8auroraux8AssembleE", "vtable for clang::driver::tools::auroraux::Assemble"},
-    {"_ZTVN5clang6driver5tools8auroraux4LinkE", "vtable for clang::driver::tools::auroraux::Link"},
-    {"_ZTVN5clang6driver5tools9dragonfly8AssembleE", "vtable for clang::driver::tools::dragonfly::Assemble"},
-    {"_ZTVN5clang6driver5tools9dragonfly4LinkE", "vtable for clang::driver::tools::dragonfly::Link"},
-    {"_ZTVN5clang6driver5tools12visualstudio4LinkE", "vtable for clang::driver::tools::visualstudio::Link"},
-    {"_ZTVN5clang26ASTDeserializationListenerE", "vtable for clang::ASTDeserializationListener"},
-    {"_ZTVN5clang17ASTReaderListenerE", "vtable for clang::ASTReaderListener"},
-    {"_ZTVN5clang21ASTIdentifierIteratorE", "vtable for clang::ASTIdentifierIterator"},
-    {"_ZTVN5clang9ASTReaderE", "vtable for clang::ASTReader"},
-    {"_ZTVN5clang12PCHValidatorE", "vtable for clang::PCHValidator"},
-    {"_ZTVN12_GLOBAL__N_112ASTStatCacheE", "vtable for (anonymous namespace)::ASTStatCache"},
-    {"_ZTVN5clang9ASTWriterE", "vtable for clang::ASTWriter"},
-    {"_ZTVN5clang24ASTSerializationListenerE", "vtable for clang::ASTSerializationListener"},
-    {"_ZTVN5clang12PCHGeneratorE", "vtable for clang::PCHGenerator"},
-    {"_ZTVN5clang7CodeGen8CGCXXABIE", "vtable for clang::CodeGen::CGCXXABI"},
-    {"_ZTVN12_GLOBAL__N_113CallLocalDtorE", "vtable for (anonymous namespace)::CallLocalDtor"},
-    {"_ZTVN12_GLOBAL__N_113CallFieldDtorE", "vtable for (anonymous namespace)::CallFieldDtor"},
-    {"_ZTVN12_GLOBAL__N_118CallArrayFieldDtorE", "vtable for (anonymous namespace)::CallArrayFieldDtor"},
-    {"_ZTVN12_GLOBAL__N_114CallDtorDeleteE", "vtable for (anonymous namespace)::CallDtorDelete"},
-    {"_ZTVN12_GLOBAL__N_112CallBaseDtorE", "vtable for (anonymous namespace)::CallBaseDtor"},
-    {"_ZTVN12_GLOBAL__N_114CallMemberDtorE", "vtable for (anonymous namespace)::CallMemberDtor"},
-    {"_ZTVN5clang7CodeGen12EHScopeStack7CleanupE", "vtable for clang::CodeGen::EHScopeStack::Cleanup"},
-    {"_ZTVN12_GLOBAL__N_116CallBlockReleaseE", "vtable for (anonymous namespace)::CallBlockRelease"},
-    {"_ZTVN12_GLOBAL__N_119CallCleanupFunctionE", "vtable for (anonymous namespace)::CallCleanupFunction"},
-    {"_ZTVN12_GLOBAL__N_111CallVarDtorE", "vtable for (anonymous namespace)::CallVarDtor"},
-    {"_ZTVN12_GLOBAL__N_113CallArrayDtorE", "vtable for (anonymous namespace)::CallArrayDtor"},
-    {"_ZTVN12_GLOBAL__N_116CallStackRestoreE", "vtable for (anonymous namespace)::CallStackRestore"},
-    {"_ZTVN12_GLOBAL__N_114PerformFinallyE", "vtable for (anonymous namespace)::PerformFinally"},
-    {"_ZTVN12_GLOBAL__N_122CallEndCatchForFinallyE", "vtable for (anonymous namespace)::CallEndCatchForFinally"},
-    {"_ZTVN12_GLOBAL__N_111CallRethrowE", "vtable for (anonymous namespace)::CallRethrow"},
-    {"_ZTVN12_GLOBAL__N_112CallEndCatchE", "vtable for (anonymous namespace)::CallEndCatch"},
-    {"_ZTVN12_GLOBAL__N_116CallObjectDeleteE", "vtable for (anonymous namespace)::CallObjectDelete"},
-    {"_ZTVN12_GLOBAL__N_115CallArrayDeleteE", "vtable for (anonymous namespace)::CallArrayDelete"},
-    {"_ZTVN12_GLOBAL__N_130CallDeleteDuringConditionalNewE", "vtable for (anonymous namespace)::CallDeleteDuringConditionalNew"},
-    {"_ZTVN12_GLOBAL__N_119CallDeleteDuringNewE", "vtable for (anonymous namespace)::CallDeleteDuringNew"},
-    {"_ZTVN5clang7CodeGen13CGObjCRuntimeE", "vtable for clang::CodeGen::CGObjCRuntime"},
-    {"_ZTVN12_GLOBAL__N_19CGObjCGNUE", "vtable for (anonymous namespace)::CGObjCGNU"},
-    {"_ZTVN12_GLOBAL__N_112CallSyncExitE", "vtable for (anonymous namespace)::CallSyncExit"},
-    {"_ZTVN12_GLOBAL__N_122CGObjCNonFragileABIMacE", "vtable for (anonymous namespace)::CGObjCNonFragileABIMac"},
-    {"_ZTVN12_GLOBAL__N_116CallObjCEndCatchE", "vtable for (anonymous namespace)::CallObjCEndCatch"},
-    {"_ZTVN12_GLOBAL__N_112CallSyncExitE", "vtable for (anonymous namespace)::CallSyncExit"},
-    {"_ZTVN12_GLOBAL__N_115CGObjCCommonMacE", "vtable for (anonymous namespace)::CGObjCCommonMac"},
-    {"_ZTVN12_GLOBAL__N_19CGObjCMacE", "vtable for (anonymous namespace)::CGObjCMac"},
-    {"_ZTVN12_GLOBAL__N_121PerformFragileFinallyE", "vtable for (anonymous namespace)::PerformFragileFinally"},
-    {"_ZTVN5clang13CodeGenActionE", "vtable for clang::CodeGenAction"},
-    {"_ZTVN12_GLOBAL__N_19ARMCXXABIE", "vtable for (anonymous namespace)::ARMCXXABI"},
-    {"_ZTVN12_GLOBAL__N_114CallGuardAbortE", "vtable for (anonymous namespace)::CallGuardAbort"},
-    {"_ZTVN12_GLOBAL__N_113ItaniumCXXABIE", "vtable for (anonymous namespace)::ItaniumCXXABI"},
-    {"_ZTVN12_GLOBAL__N_115MicrosoftCXXABIE", "vtable for (anonymous namespace)::MicrosoftCXXABI"},
-    {"_ZTVN12_GLOBAL__N_117CodeGeneratorImplE", "vtable for (anonymous namespace)::CodeGeneratorImpl"},
-    {"_ZTVN5clang7ABIInfoE", "vtable for clang::ABIInfo"},
-    {"_ZTVN5clang17TargetCodeGenInfoE", "vtable for clang::TargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_123X86_64TargetCodeGenInfoE", "vtable for (anonymous namespace)::X86_64TargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_113X86_64ABIInfoE", "vtable for (anonymous namespace)::X86_64ABIInfo"},
-    {"_ZTVN12_GLOBAL__N_126WinX86_64TargetCodeGenInfoE", "vtable for (anonymous namespace)::WinX86_64TargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_116WinX86_64ABIInfoE", "vtable for (anonymous namespace)::WinX86_64ABIInfo"},
-    {"_ZTVN12_GLOBAL__N_123X86_32TargetCodeGenInfoE", "vtable for (anonymous namespace)::X86_32TargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_113X86_32ABIInfoE", "vtable for (anonymous namespace)::X86_32ABIInfo"},
-    {"_ZTVN12_GLOBAL__N_123MSP430TargetCodeGenInfoE", "vtable for (anonymous namespace)::MSP430TargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_114DefaultABIInfoE", "vtable for (anonymous namespace)::DefaultABIInfo"},
-    {"_ZTVN12_GLOBAL__N_123MBlazeTargetCodeGenInfoE", "vtable for (anonymous namespace)::MBlazeTargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_113MBlazeABIInfoE", "vtable for (anonymous namespace)::MBlazeABIInfo"},
-    {"_ZTVN12_GLOBAL__N_124SystemZTargetCodeGenInfoE", "vtable for (anonymous namespace)::SystemZTargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_114SystemZABIInfoE", "vtable for (anonymous namespace)::SystemZABIInfo"},
-    {"_ZTVN12_GLOBAL__N_122PPC32TargetCodeGenInfoE", "vtable for (anonymous namespace)::PPC32TargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_124DefaultTargetCodeGenInfoE", "vtable for (anonymous namespace)::DefaultTargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_120ARMTargetCodeGenInfoE", "vtable for (anonymous namespace)::ARMTargetCodeGenInfo"},
-    {"_ZTVN12_GLOBAL__N_110ARMABIInfoE", "vtable for (anonymous namespace)::ARMABIInfo"},
-    {"_ZTVN12_GLOBAL__N_121MIPSTargetCodeGenInfoE", "vtable for (anonymous namespace)::MIPSTargetCodeGenInfo"},
-    {"_ZTVN5clang6Parser21LateParsedDeclarationE", "vtable for clang::Parser::LateParsedDeclaration"},
-    {"_ZTVN5clang6Parser15LateParsedClassE", "vtable for clang::Parser::LateParsedClass"},
-    {"_ZTVN5clang6Parser11LexedMethodE", "vtable for clang::Parser::LexedMethod"},
-    {"_ZTVN5clang6Parser27LateParsedMethodDeclarationE", "vtable for clang::Parser::LateParsedMethodDeclaration"},
-    {"_ZTVZN5clang6Parser20ParseStructUnionBodyENS_14SourceLocationEjPNS_4DeclEE14CFieldCallback", "vtable for clang::Parser::ParseStructUnionBody(clang::SourceLocation, unsigned int, clang::Decl*)::CFieldCallback"},
-    {"_ZTVZN5clang6Parser31ParseObjCClassInstanceVariablesEPNS_4DeclENS_3tok15ObjCKeywordKindENS_14SourceLocationEE16ObjCIvarCallback", "vtable for clang::Parser::ParseObjCClassInstanceVariables(clang::Decl*, clang::tok::ObjCKeywordKind, clang::SourceLocation)::ObjCIvarCallback"},
-    {"_ZTVN5clang18PragmaAlignHandlerE", "vtable for clang::PragmaAlignHandler"},
-    {"_ZTVN5clang26PragmaGCCVisibilityHandlerE", "vtable for clang::PragmaGCCVisibilityHandler"},
-    {"_ZTVN5clang20PragmaOptionsHandlerE", "vtable for clang::PragmaOptionsHandler"},
-    {"_ZTVN5clang17PragmaPackHandlerE", "vtable for clang::PragmaPackHandler"},
-    {"_ZTVN5clang19PragmaUnusedHandlerE", "vtable for clang::PragmaUnusedHandler"},
-    {"_ZTVN5clang17PragmaWeakHandlerE", "vtable for clang::PragmaWeakHandler"},
-    {"_ZTVN5clang6ParserE", "vtable for clang::Parser"},
-    {"_ZTVN5clang27PrettyStackTraceParserEntryE", "vtable for clang::PrettyStackTraceParserEntry"},
-    {"_ZTVN5clang6Parser13FieldCallbackE", "vtable for clang::Parser::FieldCallback"},
-    {"_ZTVN12_GLOBAL__N_122UninitValsDiagReporterE", "vtable for (anonymous namespace)::UninitValsDiagReporter"},
-    {"_ZTVN12_GLOBAL__N_122UnreachableCodeHandlerE", "vtable for (anonymous namespace)::UnreachableCodeHandler"},
-    {"_ZTVN5clang20CodeCompleteConsumerE", "vtable for clang::CodeCompleteConsumer"},
-    {"_ZTVN5clang28PrintingCodeCompleteConsumerE", "vtable for clang::PrintingCodeCompleteConsumer"},
-    {"_ZTVN5clang4sema17FunctionScopeInfoE", "vtable for clang::sema::FunctionScopeInfo"},
-    {"_ZTVN5clang4sema14BlockScopeInfoE", "vtable for clang::sema::BlockScopeInfo"},
-    {"_ZTVN5clang18ExternalSemaSourceE", "vtable for clang::ExternalSemaSource"},
-    {"_ZTVN5clang25PrettyDeclStackTraceEntryE", "vtable for clang::PrettyDeclStackTraceEntry"},
-    {"_ZTVN12_GLOBAL__N_117CheckScanfHandlerE", "vtable for (anonymous namespace)::CheckScanfHandler"},
-    {"_ZTVN12_GLOBAL__N_118CheckFormatHandlerE", "vtable for (anonymous namespace)::CheckFormatHandler"},
-    {"_ZTVN12_GLOBAL__N_118CheckPrintfHandlerE", "vtable for (anonymous namespace)::CheckPrintfHandler"},
-    {"_ZTVN12_GLOBAL__N_126CodeCompletionDeclConsumerE", "vtable for (anonymous namespace)::CodeCompletionDeclConsumer"},
-    {"_ZTVN5clang19VisibleDeclConsumerE", "vtable for clang::VisibleDeclConsumer"},
-    {"_ZZN5clang4Sema11CorrectTypoERNS_12LookupResultEPNS_5ScopeEPNS_12CXXScopeSpecEPNS_11DeclContextEbNS0_18CorrectTypoContextEPKNS_21ObjCObjectPointerTypeEE10CTypeSpecs", "clang::Sema::CorrectTypo(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec*, clang::DeclContext*, bool, clang::Sema::CorrectTypoContext, clang::ObjCObjectPointerType const*)::CTypeSpecs"},
-    {"_ZZN5clang4Sema11CorrectTypoERNS_12LookupResultEPNS_5ScopeEPNS_12CXXScopeSpecEPNS_11DeclContextEbNS0_18CorrectTypoContextEPKNS_21ObjCObjectPointerTypeEE6CStmts", "clang::Sema::CorrectTypo(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec*, clang::DeclContext*, bool, clang::Sema::CorrectTypoContext, clang::ObjCObjectPointerType const*)::CStmts"},
-    {"_ZTVN12_GLOBAL__N_122TypoCorrectionConsumerE", "vtable for (anonymous namespace)::TypoCorrectionConsumer"},
-    {"_ZZN5clang25GetImplicitConversionNameENS_22ImplicitConversionKindEE4Name", "clang::GetImplicitConversionName(clang::ImplicitConversionKind)::Name"},
-    {"_ZTVN5clang20TargetAttributesSemaE", "vtable for clang::TargetAttributesSema"},
-    {"_ZTVN12_GLOBAL__N_117X86AttributesSemaE", "vtable for (anonymous namespace)::X86AttributesSema"},
-    {"_ZTVN12_GLOBAL__N_120MBlazeAttributesSemaE", "vtable for (anonymous namespace)::MBlazeAttributesSema"},
-    {"_ZTVN12_GLOBAL__N_120MSP430AttributesSemaE", "vtable for (anonymous namespace)::MSP430AttributesSema"},
-    {"_ZTVN12_GLOBAL__N_126AdjustedReturnValueCheckerE", "vtable for (anonymous namespace)::AdjustedReturnValueChecker"},
-    {"_ZTVN12_GLOBAL__N_111UbigraphVizE", "vtable for (anonymous namespace)::UbigraphViz"},
-    {"_ZTVN12_GLOBAL__N_116AnalysisConsumerE", "vtable for (anonymous namespace)::AnalysisConsumer"},
-    {"_ZTVN12_GLOBAL__N_120AnalyzerStatsCheckerE", "vtable for (anonymous namespace)::AnalyzerStatsChecker"},
-    {"_ZTVN12_GLOBAL__N_117ArrayBoundCheckerE", "vtable for (anonymous namespace)::ArrayBoundChecker"},
-    {"_ZTVN12_GLOBAL__N_119ArrayBoundCheckerV2E", "vtable for (anonymous namespace)::ArrayBoundCheckerV2"},
-    {"_ZTVN12_GLOBAL__N_118AttrNonNullCheckerE", "vtable for (anonymous namespace)::AttrNonNullChecker"},
-    {"_ZTVN12_GLOBAL__N_119ClassReleaseCheckerE", "vtable for (anonymous namespace)::ClassReleaseChecker"},
-    {"_ZTVN12_GLOBAL__N_19APIMisuseE", "vtable for (anonymous namespace)::APIMisuse"},
-    {"_ZTVN12_GLOBAL__N_122CFRetainReleaseCheckerE", "vtable for (anonymous namespace)::CFRetainReleaseChecker"},
-    {"_ZTVN12_GLOBAL__N_121CFNumberCreateCheckerE", "vtable for (anonymous namespace)::CFNumberCreateChecker"},
-    {"_ZTVN12_GLOBAL__N_113NilArgCheckerE", "vtable for (anonymous namespace)::NilArgChecker"},
-    {"_ZTVN12_GLOBAL__N_122BuiltinFunctionCheckerE", "vtable for (anonymous namespace)::BuiltinFunctionChecker"},
-    {"_ZTVN12_GLOBAL__N_114CStringCheckerE", "vtable for (anonymous namespace)::CStringChecker"},
-    {"_ZTVN12_GLOBAL__N_121CallAndMessageCheckerE", "vtable for (anonymous namespace)::CallAndMessageChecker"},
-    {"_ZTVN12_GLOBAL__N_115CastSizeCheckerE", "vtable for (anonymous namespace)::CastSizeChecker"},
-    {"_ZTVN12_GLOBAL__N_119CastToStructCheckerE", "vtable for (anonymous namespace)::CastToStructChecker"},
-    {"_ZZN12_GLOBAL__N_17WalkAST14CheckCall_randEPKN5clang8CallExprEPKNS1_12FunctionDeclEE11identifiers", "(anonymous namespace)::WalkAST::CheckCall_rand(clang::CallExpr const*, clang::FunctionDecl const*)::identifiers"},
-    {"_ZTVN12_GLOBAL__N_113ChrootCheckerE", "vtable for (anonymous namespace)::ChrootChecker"},
-    {"_ZTVN12_GLOBAL__N_112DeadStoreObsE", "vtable for (anonymous namespace)::DeadStoreObs"},
-    {"_ZTVN12_GLOBAL__N_118DereferenceCheckerE", "vtable for (anonymous namespace)::DereferenceChecker"},
-    {"_ZTVN12_GLOBAL__N_114DivZeroCheckerE", "vtable for (anonymous namespace)::DivZeroChecker"},
-    {"_ZTVN5clang4ento10ExprEngineE", "vtable for clang::ento::ExprEngine"},
-    {"_ZTVN12_GLOBAL__N_119FixedAddressCheckerE", "vtable for (anonymous namespace)::FixedAddressChecker"},
-    {"_ZTVN5clang4ento14AnalysisActionE", "vtable for clang::ento::AnalysisAction"},
-    {"_ZTVN12_GLOBAL__N_126IdempotentOperationCheckerE", "vtable for (anonymous namespace)::IdempotentOperationChecker"},
-    {"_ZTVZN12_GLOBAL__N_126IdempotentOperationChecker25PathWasCompletelyAnalyzedEPKN5clang3CFGEPKNS1_8CFGBlockEPKNS1_10CFGStmtMapERKNS1_4ento10CoreEngineEE7VisitWL", "vtable for (anonymous namespace)::IdempotentOperationChecker::PathWasCompletelyAnalyzed(clang::CFG const*, clang::CFGBlock const*, clang::CFGStmtMap const*, clang::ento::CoreEngine const&)::VisitWL"},
-    {"_ZTVN12_GLOBAL__N_116MacOSXAPICheckerE", "vtable for (anonymous namespace)::MacOSXAPIChecker"},
-    {"_ZTVN12_GLOBAL__N_113MallocCheckerE", "vtable for (anonymous namespace)::MallocChecker"},
-    {"_ZTVN12_GLOBAL__N_124NSAutoreleasePoolCheckerE", "vtable for (anonymous namespace)::NSAutoreleasePoolChecker"},
-    {"_ZTVN12_GLOBAL__N_114NSErrorCheckerE", "vtable for (anonymous namespace)::NSErrorChecker"},
-    {"_ZTVN12_GLOBAL__N_123NoReturnFunctionCheckerE", "vtable for (anonymous namespace)::NoReturnFunctionChecker"},
-    {"_ZTVN12_GLOBAL__N_115OSAtomicCheckerE", "vtable for (anonymous namespace)::OSAtomicChecker"},
-    {"_ZTVN12_GLOBAL__N_117ObjCAtSyncCheckerE", "vtable for (anonymous namespace)::ObjCAtSyncChecker"},
-    {"_ZTVN12_GLOBAL__N_119ObjCSelfInitCheckerE", "vtable for (anonymous namespace)::ObjCSelfInitChecker"},
-    {"_ZTVN12_GLOBAL__N_111InitSelfBugE", "vtable for (anonymous namespace)::InitSelfBug"},
-    {"_ZTVN12_GLOBAL__N_119PointerArithCheckerE", "vtable for (anonymous namespace)::PointerArithChecker"},
-    {"_ZTVN12_GLOBAL__N_117PointerSubCheckerE", "vtable for (anonymous namespace)::PointerSubChecker"},
-    {"_ZTVN12_GLOBAL__N_118PthreadLockCheckerE", "vtable for (anonymous namespace)::PthreadLockChecker"},
-    {"_ZTVN12_GLOBAL__N_125ReturnPointerRangeCheckerE", "vtable for (anonymous namespace)::ReturnPointerRangeChecker"},
-    {"_ZTVN12_GLOBAL__N_118ReturnUndefCheckerE", "vtable for (anonymous namespace)::ReturnUndefChecker"},
-    {"_ZTVN12_GLOBAL__N_120StackAddrLeakCheckerE", "vtable for (anonymous namespace)::StackAddrLeakChecker"},
-    {"_ZTVZN12_GLOBAL__N_120StackAddrLeakChecker11evalEndPathERN5clang4ento24EndOfFunctionNodeBuilderEPvRNS2_10ExprEngineEE8CallBack", "vtable for (anonymous namespace)::StackAddrLeakChecker::evalEndPath(clang::ento::EndOfFunctionNodeBuilder&, void*, clang::ento::ExprEngine&)::CallBack"},
-    {"_ZTVN12_GLOBAL__N_113StreamCheckerE", "vtable for (anonymous namespace)::StreamChecker"},
-    {"_ZTVN12_GLOBAL__N_118UndefBranchCheckerE", "vtable for (anonymous namespace)::UndefBranchChecker"},
-    {"_ZTVN12_GLOBAL__N_128UndefCapturedBlockVarCheckerE", "vtable for (anonymous namespace)::UndefCapturedBlockVarChecker"},
-    {"_ZTVN12_GLOBAL__N_118UndefResultCheckerE", "vtable for (anonymous namespace)::UndefResultChecker"},
-    {"_ZTVN12_GLOBAL__N_130UndefinedArraySubscriptCheckerE", "vtable for (anonymous namespace)::UndefinedArraySubscriptChecker"},
-    {"_ZTVN12_GLOBAL__N_126UndefinedAssignmentCheckerE", "vtable for (anonymous namespace)::UndefinedAssignmentChecker"},
-    {"_ZTVN12_GLOBAL__N_114UnixAPICheckerE", "vtable for (anonymous namespace)::UnixAPIChecker"},
-    {"_ZTVN12_GLOBAL__N_122UnreachableCodeCheckerE", "vtable for (anonymous namespace)::UnreachableCodeChecker"},
-    {"_ZTVN12_GLOBAL__N_114VLASizeCheckerE", "vtable for (anonymous namespace)::VLASizeChecker"},
-    {"_ZTVN12_GLOBAL__N_122BasicConstraintManagerE", "vtable for (anonymous namespace)::BasicConstraintManager"},
-    {"_ZTVN5clang4ento12StoreManager15BindingsHandlerE", "vtable for clang::ento::StoreManager::BindingsHandler"},
-    {"_ZTVN12_GLOBAL__N_117BasicStoreManagerE", "vtable for (anonymous namespace)::BasicStoreManager"},
-    {"_ZTVN12_GLOBAL__N_122BasicStoreSubRegionMapE", "vtable for (anonymous namespace)::BasicStoreSubRegionMap"},
-    {"_ZTVN5clang4ento18BugReporterVisitorE", "vtable for clang::ento::BugReporterVisitor"},
-    {"_ZTVN5clang4ento18BugReporterContextE", "vtable for clang::ento::BugReporterContext"},
-    {"_ZTVN5clang4ento7BugTypeE", "vtable for clang::ento::BugType"},
-    {"_ZTVN5clang4ento9BugReportE", "vtable for clang::ento::BugReport"},
-    {"_ZTVN5clang4ento15RangedBugReportE", "vtable for clang::ento::RangedBugReport"},
-    {"_ZTVN5clang4ento13GRBugReporterE", "vtable for clang::ento::GRBugReporter"},
-    {"_ZTVN5clang4ento15BugReporterDataE", "vtable for clang::ento::BugReporterData"},
-    {"_ZTVN5clang4ento11BugReporterE", "vtable for clang::ento::BugReporter"},
-    {"_ZTVN12_GLOBAL__N_121PathDiagnosticBuilderE", "vtable for (anonymous namespace)::PathDiagnosticBuilder"},
-    {"_ZTVN12_GLOBAL__N_114NodeMapClosureE", "vtable for (anonymous namespace)::NodeMapClosure"},
-    {"_ZTVN12_GLOBAL__N_118ScanNotableSymbolsE", "vtable for (anonymous namespace)::ScanNotableSymbols"},
-    {"_ZTVN12_GLOBAL__N_120NotableSymbolHandlerE", "vtable for (anonymous namespace)::NotableSymbolHandler"},
-    {"_ZTVN12_GLOBAL__N_118NilReceiverVisitorE", "vtable for (anonymous namespace)::NilReceiverVisitor"},
-    {"_ZTVN12_GLOBAL__N_122FindLastStoreBRVisitorE", "vtable for (anonymous namespace)::FindLastStoreBRVisitor"},
-    {"_ZTVN12_GLOBAL__N_124TrackConstraintBRVisitorE", "vtable for (anonymous namespace)::TrackConstraintBRVisitor"},
-    {"_ZTVN12_GLOBAL__N_110CFRefCountE", "vtable for (anonymous namespace)::CFRefCount"},
-    {"_ZTVN12_GLOBAL__N_111CFRefReportE", "vtable for (anonymous namespace)::CFRefReport"},
-    {"_ZTVN12_GLOBAL__N_115CFRefLeakReportE", "vtable for (anonymous namespace)::CFRefLeakReport"},
-    {"_ZTVN12_GLOBAL__N_117FindUniqueBindingE", "vtable for (anonymous namespace)::FindUniqueBinding"},
-    {"_ZTVN12_GLOBAL__N_120StopTrackingCallbackE", "vtable for (anonymous namespace)::StopTrackingCallback"},
-    {"_ZTVN12_GLOBAL__N_120RetainReleaseCheckerE", "vtable for (anonymous namespace)::RetainReleaseChecker"},
-    {"_ZTVN12_GLOBAL__N_118LeakWithinFunctionE", "vtable for (anonymous namespace)::LeakWithinFunction"},
-    {"_ZTVN12_GLOBAL__N_18CFRefBugE", "vtable for (anonymous namespace)::CFRefBug"},
-    {"_ZTVN12_GLOBAL__N_112LeakAtReturnE", "vtable for (anonymous namespace)::LeakAtReturn"},
-    {"_ZTVN12_GLOBAL__N_124ReturnedNotOwnedForOwnedE", "vtable for (anonymous namespace)::ReturnedNotOwnedForOwned"},
-    {"_ZTVN12_GLOBAL__N_115OverAutoreleaseE", "vtable for (anonymous namespace)::OverAutorelease"},
-    {"_ZTVN12_GLOBAL__N_115DeallocNotOwnedE", "vtable for (anonymous namespace)::DeallocNotOwned"},
-    {"_ZTVN12_GLOBAL__N_19DeallocGCE", "vtable for (anonymous namespace)::DeallocGC"},
-    {"_ZTVN12_GLOBAL__N_110BadReleaseE", "vtable for (anonymous namespace)::BadRelease"},
-    {"_ZTVN12_GLOBAL__N_115UseAfterReleaseE", "vtable for (anonymous namespace)::UseAfterRelease"},
-    {"_ZTVN12_GLOBAL__N_110CFRefCount15BindingsPrinterE", "vtable for (anonymous namespace)::CFRefCount::BindingsPrinter"},
-    {"_ZTVN5clang4ento7CheckerE", "vtable for clang::ento::Checker"},
-    {"_ZTVN5clang4ento8WorkList7VisitorE", "vtable for clang::ento::WorkList::Visitor"},
-    {"_ZTVN5clang4ento8WorkListE", "vtable for clang::ento::WorkList"},
-    {"_ZTVN12_GLOBAL__N_119BFSBlockDFSContentsE", "vtable for (anonymous namespace)::BFSBlockDFSContents"},
-    {"_ZTVN12_GLOBAL__N_13BFSE", "vtable for (anonymous namespace)::BFS"},
-    {"_ZTVN12_GLOBAL__N_13DFSE", "vtable for (anonymous namespace)::DFS"},
-    {"_ZTVN12_GLOBAL__N_116MarkLiveCallbackE", "vtable for (anonymous namespace)::MarkLiveCallback"},
-    {"_ZTVN5clang4ento12ExplodedNode7AuditorE", "vtable for clang::ento::ExplodedNode::Auditor"},
-    {"_ZTVN12_GLOBAL__N_116FlatStoreManagerE", "vtable for (anonymous namespace)::FlatStoreManager"},
-    {"_ZTVN5clang4ento17ConstraintManagerE", "vtable for clang::ento::ConstraintManager"},
-    {"_ZTVN12_GLOBAL__N_120ScanReachableSymbolsE", "vtable for (anonymous namespace)::ScanReachableSymbols"},
-    {"_ZTVN12_GLOBAL__N_115HTMLDiagnosticsE", "vtable for (anonymous namespace)::HTMLDiagnostics"},
-    {"_ZTVN5clang4ento9MemRegionE", "vtable for clang::ento::MemRegion"},
-    {"_ZTVN5clang4ento14MemSpaceRegionE", "vtable for clang::ento::MemSpaceRegion"},
-    {"_ZTVN5clang4ento23StaticGlobalSpaceRegionE", "vtable for clang::ento::StaticGlobalSpaceRegion"},
-    {"_ZTVN5clang4ento26NonStaticGlobalSpaceRegionE", "vtable for clang::ento::NonStaticGlobalSpaceRegion"},
-    {"_ZTVN5clang4ento16StackSpaceRegionE", "vtable for clang::ento::StackSpaceRegion"},
-    {"_ZTVN5clang4ento9SubRegionE", "vtable for clang::ento::SubRegion"},
-    {"_ZTVN5clang4ento12AllocaRegionE", "vtable for clang::ento::AllocaRegion"},
-    {"_ZTVN5clang4ento18FunctionTextRegionE", "vtable for clang::ento::FunctionTextRegion"},
-    {"_ZTVN5clang4ento15BlockTextRegionE", "vtable for clang::ento::BlockTextRegion"},
-    {"_ZTVN5clang4ento15BlockDataRegionE", "vtable for clang::ento::BlockDataRegion"},
-    {"_ZTVN5clang4ento14SymbolicRegionE", "vtable for clang::ento::SymbolicRegion"},
-    {"_ZTVN5clang4ento12StringRegionE", "vtable for clang::ento::StringRegion"},
-    {"_ZTVN5clang4ento21CompoundLiteralRegionE", "vtable for clang::ento::CompoundLiteralRegion"},
-    {"_ZTVN5clang4ento10DeclRegionE", "vtable for clang::ento::DeclRegion"},
-    {"_ZTVN5clang4ento9VarRegionE", "vtable for clang::ento::VarRegion"},
-    {"_ZTVN5clang4ento13CXXThisRegionE", "vtable for clang::ento::CXXThisRegion"},
-    {"_ZTVN5clang4ento11FieldRegionE", "vtable for clang::ento::FieldRegion"},
-    {"_ZTVN5clang4ento14ObjCIvarRegionE", "vtable for clang::ento::ObjCIvarRegion"},
-    {"_ZTVN5clang4ento13ElementRegionE", "vtable for clang::ento::ElementRegion"},
-    {"_ZTVN5clang4ento19CXXTempObjectRegionE", "vtable for clang::ento::CXXTempObjectRegion"},
-    {"_ZTVN5clang4ento19CXXBaseObjectRegionE", "vtable for clang::ento::CXXBaseObjectRegion"},
-    {"_ZTVN5clang4ento19PathDiagnosticPieceE", "vtable for clang::ento::PathDiagnosticPiece"},
-    {"_ZTVN5clang4ento24PathDiagnosticEventPieceE", "vtable for clang::ento::PathDiagnosticEventPiece"},
-    {"_ZTVN5clang4ento30PathDiagnosticControlFlowPieceE", "vtable for clang::ento::PathDiagnosticControlFlowPiece"},
-    {"_ZTVN5clang4ento24PathDiagnosticMacroPieceE", "vtable for clang::ento::PathDiagnosticMacroPiece"},
-    {"_ZTVN5clang4ento20PathDiagnosticClientE", "vtable for clang::ento::PathDiagnosticClient"},
-    {"_ZTVN5clang4ento23PathDiagnosticSpotPieceE", "vtable for clang::ento::PathDiagnosticSpotPiece"},
-    {"_ZTVN12_GLOBAL__N_116PlistDiagnosticsE", "vtable for (anonymous namespace)::PlistDiagnostics"},
-    {"_ZTVN12_GLOBAL__N_122RangeConstraintManagerE", "vtable for (anonymous namespace)::RangeConstraintManager"},
-    {"_ZTVN12_GLOBAL__N_118RegionStoreManagerE", "vtable for (anonymous namespace)::RegionStoreManager"},
-    {"_ZTVN12_GLOBAL__N_123RegionStoreSubRegionMapE", "vtable for (anonymous namespace)::RegionStoreSubRegionMap"},
-    {"_ZTVN5clang4ento23SimpleConstraintManagerE", "vtable for clang::ento::SimpleConstraintManager"},
-    {"_ZTVN12_GLOBAL__N_117SimpleSValBuilderE", "vtable for (anonymous namespace)::SimpleSValBuilder"},
-    {"_ZTVN5clang4ento12StoreManagerE", "vtable for clang::ento::StoreManager"},
-    {"_ZTVN5clang4ento13SymbolVisitorE", "vtable for clang::ento::SymbolVisitor"},
-    {"_ZTVN5clang4ento17SymbolRegionValueE", "vtable for clang::ento::SymbolRegionValue"},
-    {"_ZTVN5clang4ento14SymbolConjuredE", "vtable for clang::ento::SymbolConjured"},
-    {"_ZTVN5clang4ento13SymbolDerivedE", "vtable for clang::ento::SymbolDerived"},
-    {"_ZTVN5clang4ento12SymbolExtentE", "vtable for clang::ento::SymbolExtent"},
-    {"_ZTVN5clang4ento14SymbolMetadataE", "vtable for clang::ento::SymbolMetadata"},
-    {"_ZTVN5clang4ento10SymIntExprE", "vtable for clang::ento::SymIntExpr"},
-    {"_ZTVN5clang4ento10SymSymExprE", "vtable for clang::ento::SymSymExpr"},
-    {"_ZTVN12_GLOBAL__N_119TextPathDiagnosticsE", "vtable for (anonymous namespace)::TextPathDiagnostics"},
-    {"_ZTVN5clang15LocationContextE", "vtable for clang::LocationContext"},
-    {"_ZTVN5clang17StackFrameContextE", "vtable for clang::StackFrameContext"},
-    {"_ZTVN5clang12ScopeContextE", "vtable for clang::ScopeContext"},
-    {"_ZTVN5clang22BlockInvocationContextE", "vtable for clang::BlockInvocationContext"},
-    {"_ZTVN12_GLOBAL__N_117StmtPrinterHelperE", "vtable for (anonymous namespace)::StmtPrinterHelper"},
-    {"_ZTVN5clang21analyze_format_string19FormatStringHandlerE", "vtable for clang::analyze_format_string::FormatStringHandler"},
-    {"_ZTVN5clang30UninitializedValues_ValueTypes10ObserverTyE", "vtable for clang::UninitializedValues_ValueTypes::ObserverTy"},
-    {"_ZTVN12_GLOBAL__N_126UninitializedValuesCheckerE", "vtable for (anonymous namespace)::UninitializedValuesChecker"},
-    {"_ZTVN5clang22UninitVariablesHandlerE", "vtable for clang::UninitVariablesHandler"},
-    {"_ZTVN5clang3idx13EntityHandlerE", "vtable for clang::idx::EntityHandler"},
-    {"_ZTVN5clang3idx22TranslationUnitHandlerE", "vtable for clang::idx::TranslationUnitHandler"},
-    {"_ZTVN5clang3idx17TULocationHandlerE", "vtable for clang::idx::TULocationHandler"},
-    {"_ZTVN5clang3idx13IndexProviderE", "vtable for clang::idx::IndexProvider"},
-    {"_ZTVN5clang3idx7IndexerE", "vtable for clang::idx::Indexer"},
-    {"_ZTVN12_GLOBAL__N_113EntityIndexerE", "vtable for (anonymous namespace)::EntityIndexer"},
-    {"_ZTVN5clang3idx15TranslationUnitE", "vtable for clang::idx::TranslationUnit"},
-    {"_ZTVN5clang13FixItRewriterE", "vtable for clang::FixItRewriter"},
-    {"_ZTVN5clang12FixItOptionsE", "vtable for clang::FixItOptions"},
-    {"_ZTVN5clang11FixItActionE", "vtable for clang::FixItAction"},
-    {"_ZTVN5clang15HTMLPrintActionE", "vtable for clang::HTMLPrintAction"},
-    {"_ZTVN5clang17RewriteObjCActionE", "vtable for clang::RewriteObjCAction"},
-    {"_ZTVN5clang19RewriteMacrosActionE", "vtable for clang::RewriteMacrosAction"},
-    {"_ZTVN5clang17RewriteTestActionE", "vtable for clang::RewriteTestAction"},
-    {"_ZTVN12_GLOBAL__N_119FixItRewriteInPlaceE", "vtable for (anonymous namespace)::FixItRewriteInPlace"},
-    {"_ZTVN12_GLOBAL__N_125FixItActionSuffixInserterE", "vtable for (anonymous namespace)::FixItActionSuffixInserter"},
-    {"_ZTVN12_GLOBAL__N_111HTMLPrinterE", "vtable for (anonymous namespace)::HTMLPrinter"},
-    {"_ZTVN12_GLOBAL__N_118IgnoringDiagClientE", "vtable for (anonymous namespace)::IgnoringDiagClient"},
-    {"_ZTVN12_GLOBAL__N_111RewriteObjCE", "vtable for (anonymous namespace)::RewriteObjC"},
-    {"_ZTVN5clang11ASTConsumerE", "vtable for clang::ASTConsumer"},
-    {"_ZTVN5clang17ExternalASTSourceE", "vtable for clang::ExternalASTSource"},
-    {"_ZTVN5clang19ASTMutationListenerE", "vtable for clang::ASTMutationListener"},
-    {"_ZTVN5clang6CXXABIE", "vtable for clang::CXXABI"},
-    {"_ZTVN5clang11ASTImporterE", "vtable for clang::ASTImporter"},
-    {"_ZTVN5clang4AttrE", "vtable for clang::Attr"},
-    {"_ZTVN5clang9AliasAttrE", "vtable for clang::AliasAttr"},
-    {"_ZTVN5clang15AlignMac68kAttrE", "vtable for clang::AlignMac68kAttr"},
-    {"_ZTVN5clang11AlignedAttrE", "vtable for clang::AlignedAttr"},
-    {"_ZTVN5clang16AlwaysInlineAttrE", "vtable for clang::AlwaysInlineAttr"},
-    {"_ZTVN5clang20AnalyzerNoReturnAttrE", "vtable for clang::AnalyzerNoReturnAttr"},
-    {"_ZTVN5clang12AnnotateAttrE", "vtable for clang::AnnotateAttr"},
-    {"_ZTVN5clang12AsmLabelAttrE", "vtable for clang::AsmLabelAttr"},
-    {"_ZTVN5clang10BlocksAttrE", "vtable for clang::BlocksAttr"},
-    {"_ZTVN5clang9CDeclAttrE", "vtable for clang::CDeclAttr"},
-    {"_ZTVN5clang14CFConsumedAttrE", "vtable for clang::CFConsumedAttr"},
-    {"_ZTVN5clang24CFReturnsNotRetainedAttrE", "vtable for clang::CFReturnsNotRetainedAttr"},
-    {"_ZTVN5clang21CFReturnsRetainedAttrE", "vtable for clang::CFReturnsRetainedAttr"},
-    {"_ZTVN5clang16CUDAConstantAttrE", "vtable for clang::CUDAConstantAttr"},
-    {"_ZTVN5clang14CUDADeviceAttrE", "vtable for clang::CUDADeviceAttr"},
-    {"_ZTVN5clang14CUDAGlobalAttrE", "vtable for clang::CUDAGlobalAttr"},
-    {"_ZTVN5clang12CUDAHostAttrE", "vtable for clang::CUDAHostAttr"},
-    {"_ZTVN5clang20CUDALaunchBoundsAttrE", "vtable for clang::CUDALaunchBoundsAttr"},
-    {"_ZTVN5clang14CUDASharedAttrE", "vtable for clang::CUDASharedAttr"},
-    {"_ZTVN5clang21CarriesDependencyAttrE", "vtable for clang::CarriesDependencyAttr"},
-    {"_ZTVN5clang11CleanupAttrE", "vtable for clang::CleanupAttr"},
-    {"_ZTVN5clang10CommonAttrE", "vtable for clang::CommonAttr"},
-    {"_ZTVN5clang9ConstAttrE", "vtable for clang::ConstAttr"},
-    {"_ZTVN5clang15ConstructorAttrE", "vtable for clang::ConstructorAttr"},
-    {"_ZTVN5clang13DLLExportAttrE", "vtable for clang::DLLExportAttr"},
-    {"_ZTVN5clang13DLLImportAttrE", "vtable for clang::DLLImportAttr"},
-    {"_ZTVN5clang14DeprecatedAttrE", "vtable for clang::DeprecatedAttr"},
-    {"_ZTVN5clang14DestructorAttrE", "vtable for clang::DestructorAttr"},
-    {"_ZTVN5clang12ExplicitAttrE", "vtable for clang::ExplicitAttr"},
-    {"_ZTVN5clang12FastCallAttrE", "vtable for clang::FastCallAttr"},
-    {"_ZTVN5clang9FinalAttrE", "vtable for clang::FinalAttr"},
-    {"_ZTVN5clang10FormatAttrE", "vtable for clang::FormatAttr"},
-    {"_ZTVN5clang13FormatArgAttrE", "vtable for clang::FormatArgAttr"},
-    {"_ZTVN5clang13GNUInlineAttrE", "vtable for clang::GNUInlineAttr"},
-    {"_ZTVN5clang12IBActionAttrE", "vtable for clang::IBActionAttr"},
-    {"_ZTVN5clang12IBOutletAttrE", "vtable for clang::IBOutletAttr"},
-    {"_ZTVN5clang22IBOutletCollectionAttrE", "vtable for clang::IBOutletCollectionAttr"},
-    {"_ZTVN5clang16InitPriorityAttrE", "vtable for clang::InitPriorityAttr"},
-    {"_ZTVN5clang26MBlazeInterruptHandlerAttrE", "vtable for clang::MBlazeInterruptHandlerAttr"},
-    {"_ZTVN5clang23MBlazeSaveVolatilesAttrE", "vtable for clang::MBlazeSaveVolatilesAttr"},
-    {"_ZTVN5clang19MSP430InterruptAttrE", "vtable for clang::MSP430InterruptAttr"},
-    {"_ZTVN5clang10MallocAttrE", "vtable for clang::MallocAttr"},
-    {"_ZTVN5clang21MaxFieldAlignmentAttrE", "vtable for clang::MaxFieldAlignmentAttr"},
-    {"_ZTVN5clang12MayAliasAttrE", "vtable for clang::MayAliasAttr"},
-    {"_ZTVN5clang14NSConsumedAttrE", "vtable for clang::NSConsumedAttr"},
-    {"_ZTVN5clang18NSConsumesSelfAttrE", "vtable for clang::NSConsumesSelfAttr"},
-    {"_ZTVN5clang25NSReturnsAutoreleasedAttrE", "vtable for clang::NSReturnsAutoreleasedAttr"},
-    {"_ZTVN5clang24NSReturnsNotRetainedAttrE", "vtable for clang::NSReturnsNotRetainedAttr"},
-    {"_ZTVN5clang21NSReturnsRetainedAttrE", "vtable for clang::NSReturnsRetainedAttr"},
-    {"_ZTVN5clang9NakedAttrE", "vtable for clang::NakedAttr"},
-    {"_ZTVN5clang12NoCommonAttrE", "vtable for clang::NoCommonAttr"},
-    {"_ZTVN5clang11NoDebugAttrE", "vtable for clang::NoDebugAttr"},
-    {"_ZTVN5clang12NoInlineAttrE", "vtable for clang::NoInlineAttr"},
-    {"_ZTVN5clang24NoInstrumentFunctionAttrE", "vtable for clang::NoInstrumentFunctionAttr"},
-    {"_ZTVN5clang12NoReturnAttrE", "vtable for clang::NoReturnAttr"},
-    {"_ZTVN5clang11NoThrowAttrE", "vtable for clang::NoThrowAttr"},
-    {"_ZTVN5clang11NonNullAttrE", "vtable for clang::NonNullAttr"},
-    {"_ZTVN5clang17ObjCExceptionAttrE", "vtable for clang::ObjCExceptionAttr"},
-    {"_ZTVN5clang16ObjCNSObjectAttrE", "vtable for clang::ObjCNSObjectAttr"},
-    {"_ZTVN5clang16OverloadableAttrE", "vtable for clang::OverloadableAttr"},
-    {"_ZTVN5clang12OverrideAttrE", "vtable for clang::OverrideAttr"},
-    {"_ZTVN5clang13OwnershipAttrE", "vtable for clang::OwnershipAttr"},
-    {"_ZTVN5clang10PackedAttrE", "vtable for clang::PackedAttr"},
-    {"_ZTVN5clang10PascalAttrE", "vtable for clang::PascalAttr"},
-    {"_ZTVN5clang8PureAttrE", "vtable for clang::PureAttr"},
-    {"_ZTVN5clang11RegparmAttrE", "vtable for clang::RegparmAttr"},
-    {"_ZTVN5clang21ReqdWorkGroupSizeAttrE", "vtable for clang::ReqdWorkGroupSizeAttr"},
-    {"_ZTVN5clang11SectionAttrE", "vtable for clang::SectionAttr"},
-    {"_ZTVN5clang12SentinelAttrE", "vtable for clang::SentinelAttr"},
-    {"_ZTVN5clang11StdCallAttrE", "vtable for clang::StdCallAttr"},
-    {"_ZTVN5clang12ThisCallAttrE", "vtable for clang::ThisCallAttr"},
-    {"_ZTVN5clang20TransparentUnionAttrE", "vtable for clang::TransparentUnionAttr"},
-    {"_ZTVN5clang15UnavailableAttrE", "vtable for clang::UnavailableAttr"},
-    {"_ZTVN5clang10UnusedAttrE", "vtable for clang::UnusedAttr"},
-    {"_ZTVN5clang8UsedAttrE", "vtable for clang::UsedAttr"},
-    {"_ZTVN5clang8UuidAttrE", "vtable for clang::UuidAttr"},
-    {"_ZTVN5clang13VecReturnAttrE", "vtable for clang::VecReturnAttr"},
-    {"_ZTVN5clang14VisibilityAttrE", "vtable for clang::VisibilityAttr"},
-    {"_ZTVN5clang20WarnUnusedResultAttrE", "vtable for clang::WarnUnusedResultAttr"},
-    {"_ZTVN5clang8WeakAttrE", "vtable for clang::WeakAttr"},
-    {"_ZTVN5clang14WeakImportAttrE", "vtable for clang::WeakImportAttr"},
-    {"_ZTVN5clang11WeakRefAttrE", "vtable for clang::WeakRefAttr"},
-    {"_ZTVN5clang27X86ForceAlignArgPointerAttrE", "vtable for clang::X86ForceAlignArgPointerAttr"},
-    {"_ZTVN5clang10RecordDeclE", "vtable for clang::RecordDecl"},
-    {"_ZTVN5clang7VarDeclE", "vtable for clang::VarDecl"},
-    {"_ZTVN5clang12FunctionDeclE", "vtable for clang::FunctionDecl"},
-    {"_ZTVN5clang16EnumConstantDeclE", "vtable for clang::EnumConstantDecl"},
-    {"_ZTVN5clang7TagDeclE", "vtable for clang::TagDecl"},
-    {"_ZTVN5clang9BlockDeclE", "vtable for clang::BlockDecl"},
-    {"_ZTVN5clang4DeclE", "vtable for clang::Decl"},
-    {"_ZTVN5clang20PrettyStackTraceDeclE", "vtable for clang::PrettyStackTraceDecl"},
-    {"_ZTVN5clang13CXXRecordDeclE", "vtable for clang::CXXRecordDecl"},
-    {"_ZTVN5clang13ObjCClassDeclE", "vtable for clang::ObjCClassDecl"},
-    {"_ZTVN5clang14ObjCMethodDeclE", "vtable for clang::ObjCMethodDecl"},
-    {"_ZTVN5clang20ObjCPropertyImplDeclE", "vtable for clang::ObjCPropertyImplDecl"},
-    {"_ZTVN5clang23NonTypeTemplateParmDeclE", "vtable for clang::NonTypeTemplateParmDecl"},
-    {"_ZTVN5clang31ClassTemplateSpecializationDeclE", "vtable for clang::ClassTemplateSpecializationDecl"},
-    {"_ZTVN5clang24RedeclarableTemplateDeclE", "vtable for clang::RedeclarableTemplateDecl"},
-    {"_ZTVN5clang20FunctionTemplateDeclE", "vtable for clang::FunctionTemplateDecl"},
-    {"_ZTVN5clang17ClassTemplateDeclE", "vtable for clang::ClassTemplateDecl"},
-    {"_ZZNK5clang15DeclarationName9printNameERN4llvm11raw_ostreamEE13OperatorNames", "clang::DeclarationName::printName(llvm::raw_ostream&) const::OperatorNames"},
-    {"_ZTVN12_GLOBAL__N_19ARMCXXABIE", "vtable for (anonymous namespace)::ARMCXXABI"},
-    {"_ZTVN12_GLOBAL__N_113ItaniumCXXABIE", "vtable for (anonymous namespace)::ItaniumCXXABI"},
-    {"_ZTVN12_GLOBAL__N_120ItaniumMangleContextE", "vtable for (anonymous namespace)::ItaniumMangleContext"},
-    {"_ZTVN12_GLOBAL__N_115MicrosoftCXXABIE", "vtable for (anonymous namespace)::MicrosoftCXXABI"},
-    {"_ZTVN12_GLOBAL__N_122MicrosoftMangleContextE", "vtable for (anonymous namespace)::MicrosoftMangleContext"},
-    {"_ZTVN12_GLOBAL__N_119RecordLayoutBuilderE", "vtable for (anonymous namespace)::RecordLayoutBuilder"},
-    {"_ZTVN12_GLOBAL__N_121MSRecordLayoutBuilderE", "vtable for (anonymous namespace)::MSRecordLayoutBuilder"},
-    {"_ZTVN5clang13PrinterHelperE", "vtable for clang::PrinterHelper"},
-    {"_ZZN12_GLOBAL__N_111StmtPrinter24VisitCXXOperatorCallExprEPN5clang19CXXOperatorCallExprEE9OpStrings", "(anonymous namespace)::StmtPrinter::VisitCXXOperatorCallExpr(clang::CXXOperatorCallExpr*)::OpStrings"},
-    {"_ZTVN5clang11PPCallbacksE", "vtable for clang::PPCallbacks"},
-    {"_ZZ16ComputeDATE_TIMERN5clang14SourceLocationES1_RNS_12PreprocessorEE6Months", "ComputeDATE_TIME(clang::SourceLocation&, clang::SourceLocation&, clang::Preprocessor&)::Months"},
-    {"_ZTVN5clang8PTHLexerE", "vtable for clang::PTHLexer"},
-    {"_ZTVN5clang10PTHManagerE", "vtable for clang::PTHManager"},
-    {"_ZTVN12_GLOBAL__N_112PTHStatCacheE", "vtable for (anonymous namespace)::PTHStatCache"},
-    {"_ZTVN5clang13PragmaHandlerE", "vtable for clang::PragmaHandler"},
-    {"_ZTVN5clang18EmptyPragmaHandlerE", "vtable for clang::EmptyPragmaHandler"},
-    {"_ZTVN5clang15PragmaNamespaceE", "vtable for clang::PragmaNamespace"},
-    {"_ZTVN12_GLOBAL__N_120PragmaCommentHandlerE", "vtable for (anonymous namespace)::PragmaCommentHandler"},
-    {"_ZTVN12_GLOBAL__N_125PragmaSTDC_UnknownHandlerE", "vtable for (anonymous namespace)::PragmaSTDC_UnknownHandler"},
-    {"_ZTVN12_GLOBAL__N_134PragmaSTDC_CX_LIMITED_RANGEHandlerE", "vtable for (anonymous namespace)::PragmaSTDC_CX_LIMITED_RANGEHandler"},
-    {"_ZTVN12_GLOBAL__N_129PragmaSTDC_FENV_ACCESSHandlerE", "vtable for (anonymous namespace)::PragmaSTDC_FENV_ACCESSHandler"},
-    {"_ZTVN12_GLOBAL__N_129PragmaSTDC_FP_CONTRACTHandlerE", "vtable for (anonymous namespace)::PragmaSTDC_FP_CONTRACTHandler"},
-    {"_ZTVN12_GLOBAL__N_118PragmaDebugHandlerE", "vtable for (anonymous namespace)::PragmaDebugHandler"},
-    {"_ZTVN12_GLOBAL__N_123PragmaDiagnosticHandlerE", "vtable for (anonymous namespace)::PragmaDiagnosticHandler"},
-    {"_ZTVN12_GLOBAL__N_123PragmaDependencyHandlerE", "vtable for (anonymous namespace)::PragmaDependencyHandler"},
-    {"_ZTVN12_GLOBAL__N_125PragmaSystemHeaderHandlerE", "vtable for (anonymous namespace)::PragmaSystemHeaderHandler"},
-    {"_ZTVN12_GLOBAL__N_119PragmaPoisonHandlerE", "vtable for (anonymous namespace)::PragmaPoisonHandler"},
-    {"_ZTVN12_GLOBAL__N_120PragmaMessageHandlerE", "vtable for (anonymous namespace)::PragmaMessageHandler"},
-    {"_ZTVN12_GLOBAL__N_121PragmaPopMacroHandlerE", "vtable for (anonymous namespace)::PragmaPopMacroHandler"},
-    {"_ZTVN12_GLOBAL__N_122PragmaPushMacroHandlerE", "vtable for (anonymous namespace)::PragmaPushMacroHandler"},
-    {"_ZTVN12_GLOBAL__N_117PragmaMarkHandlerE", "vtable for (anonymous namespace)::PragmaMarkHandler"},
-    {"_ZTVN12_GLOBAL__N_117PragmaOnceHandlerE", "vtable for (anonymous namespace)::PragmaOnceHandler"},
-    {"_ZTVN5clang33ExternalPreprocessingRecordSourceE", "vtable for clang::ExternalPreprocessingRecordSource"},
-    {"_ZTVN5clang19PreprocessingRecordE", "vtable for clang::PreprocessingRecord"},
-    {"_ZTVN5clang26ExternalPreprocessorSourceE", "vtable for clang::ExternalPreprocessorSource"},
-    {"_ZTVN5clang14CommentHandlerE", "vtable for clang::CommentHandler"},
-    {"_ZTVN5clang21CodeCompletionHandlerE", "vtable for clang::CodeCompletionHandler"},
-    {"_ZTVN5clang16DiagnosticClientE", "vtable for clang::DiagnosticClient"},
-    {"_ZZN5clang13DiagnosticIDs21getCategoryNameFromIDEjE17CategoryNameTable", "clang::DiagnosticIDs::getCategoryNameFromID(unsigned int)::CategoryNameTable"},
-    {"_ZTVN5clang17MemorizeStatCallsE", "vtable for clang::MemorizeStatCalls"},
-    {"_ZTVN5clang18IdentifierIteratorE", "vtable for clang::IdentifierIterator"},
-    {"_ZTVN5clang20IdentifierInfoLookupE", "vtable for clang::IdentifierInfoLookup"},
-    {"_ZTVN5clang24ExternalIdentifierLookupE", "vtable for clang::ExternalIdentifierLookup"},
-    {"_ZTVN12_GLOBAL__N_119EmptyLookupIteratorE", "vtable for (anonymous namespace)::EmptyLookupIterator"},
-    {"_ZTVN5clang19PrettyStackTraceLocE", "vtable for clang::PrettyStackTraceLoc"},
-    {"_ZTVN5clang23ExternalSLocEntrySourceE", "vtable for clang::ExternalSLocEntrySource"},
-    {"_ZTVN5clang10TargetInfoE", "vtable for clang::TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116X86_64TargetInfoE", "vtable for (anonymous namespace)::X86_64TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_113X86TargetInfoE", "vtable for (anonymous namespace)::X86TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_135VisualStudioWindowsX86_64TargetInfoE", "vtable for (anonymous namespace)::VisualStudioWindowsX86_64TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_121MinGWX86_64TargetInfoE", "vtable for (anonymous namespace)::MinGWX86_64TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_117SolarisTargetInfoINS_16X86_64TargetInfoEEE", "vtable for (anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::X86_64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_117FreeBSDTargetInfoINS_16X86_64TargetInfoEEE", "vtable for (anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_123OpenBSDX86_64TargetInfoE", "vtable for (anonymous namespace)::OpenBSDX86_64TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116NetBSDTargetInfoINS_16X86_64TargetInfoEEE", "vtable for (anonymous namespace)::NetBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_122DragonFlyBSDTargetInfoINS_16X86_64TargetInfoEEE", "vtable for (anonymous namespace)::DragonFlyBSDTargetInfo<(anonymous namespace)::X86_64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_115LinuxTargetInfoINS_16X86_64TargetInfoEEE", "vtable for (anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::X86_64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_122DarwinX86_64TargetInfoE", "vtable for (anonymous namespace)::DarwinX86_64TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116DarwinTargetInfoINS_16X86_64TargetInfoEEE", "vtable for (anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_118AuroraUXTargetInfoINS_16X86_64TargetInfoEEE", "vtable for (anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::X86_64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_116X86_32TargetInfoE", "vtable for (anonymous namespace)::X86_32TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_121HaikuX86_32TargetInfoE", "vtable for (anonymous namespace)::HaikuX86_32TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_135VisualStudioWindowsX86_32TargetInfoE", "vtable for (anonymous namespace)::VisualStudioWindowsX86_32TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_121MinGWX86_32TargetInfoE", "vtable for (anonymous namespace)::MinGWX86_32TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_122CygwinX86_32TargetInfoE", "vtable for (anonymous namespace)::CygwinX86_32TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_117SolarisTargetInfoINS_16X86_32TargetInfoEEE", "vtable for (anonymous namespace)::SolarisTargetInfo<(anonymous namespace)::X86_32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_115MinixTargetInfoINS_16X86_32TargetInfoEEE", "vtable for (anonymous namespace)::MinixTargetInfo<(anonymous namespace)::X86_32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_117FreeBSDTargetInfoINS_16X86_32TargetInfoEEE", "vtable for (anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_121OpenBSDI386TargetInfoE", "vtable for (anonymous namespace)::OpenBSDI386TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116NetBSDTargetInfoINS_16X86_32TargetInfoEEE", "vtable for (anonymous namespace)::NetBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_122DragonFlyBSDTargetInfoINS_16X86_32TargetInfoEEE", "vtable for (anonymous namespace)::DragonFlyBSDTargetInfo<(anonymous namespace)::X86_32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_115LinuxTargetInfoINS_16X86_32TargetInfoEEE", "vtable for (anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::X86_32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_120DarwinI386TargetInfoE", "vtable for (anonymous namespace)::DarwinI386TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116DarwinTargetInfoINS_16X86_32TargetInfoEEE", "vtable for (anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::X86_32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_118AuroraUXTargetInfoINS_16X86_32TargetInfoEEE", "vtable for (anonymous namespace)::AuroraUXTargetInfo<(anonymous namespace)::X86_32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_113TCETargetInfoE", "vtable for (anonymous namespace)::TCETargetInfo"},
-    {"_ZTVN12_GLOBAL__N_117SystemZTargetInfoE", "vtable for (anonymous namespace)::SystemZTargetInfo"},
-    {"_ZN12_GLOBAL__N_117SystemZTargetInfo11GCCRegNamesE", "(anonymous namespace)::SystemZTargetInfo::GCCRegNames"},
-    {"_ZTVN12_GLOBAL__N_116PS3SPUTargetInfoINS_15PPC64TargetInfoEEE", "vtable for (anonymous namespace)::PS3SPUTargetInfo<(anonymous namespace)::PPC64TargetInfo>"},
-    {"_ZN12_GLOBAL__N_113PPCTargetInfo11GCCRegNamesE", "(anonymous namespace)::PPCTargetInfo::GCCRegNames"},
-    {"_ZTVN12_GLOBAL__N_115PPC64TargetInfoE", "vtable for (anonymous namespace)::PPC64TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_113PPCTargetInfoE", "vtable for (anonymous namespace)::PPCTargetInfo"},
-    {"_ZTVN12_GLOBAL__N_117SparcV8TargetInfoE", "vtable for (anonymous namespace)::SparcV8TargetInfo"},
-    {"_ZN12_GLOBAL__N_117SparcV8TargetInfo11GCCRegNamesE", "(anonymous namespace)::SparcV8TargetInfo::GCCRegNames"},
-    {"_ZTVN12_GLOBAL__N_124SolarisSparcV8TargetInfoE", "vtable for (anonymous namespace)::SolarisSparcV8TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_125AuroraUXSparcV8TargetInfoE", "vtable for (anonymous namespace)::AuroraUXSparcV8TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116MBlazeTargetInfoE", "vtable for (anonymous namespace)::MBlazeTargetInfo"},
-    {"_ZN12_GLOBAL__N_116MBlazeTargetInfo11GCCRegNamesE", "(anonymous namespace)::MBlazeTargetInfo::GCCRegNames"},
-    {"_ZTVN12_GLOBAL__N_117FreeBSDTargetInfoINS_15PPC64TargetInfoEEE", "vtable for (anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::PPC64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_116PS3PPUTargetInfoINS_15PPC64TargetInfoEEE", "vtable for (anonymous namespace)::PS3PPUTargetInfo<(anonymous namespace)::PPC64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_121DarwinPPC64TargetInfoE", "vtable for (anonymous namespace)::DarwinPPC64TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116DarwinTargetInfoINS_15PPC64TargetInfoEEE", "vtable for (anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC64TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_115PPC32TargetInfoE", "vtable for (anonymous namespace)::PPC32TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_117FreeBSDTargetInfoINS_15PPC32TargetInfoEEE", "vtable for (anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::PPC32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_121DarwinPPC32TargetInfoE", "vtable for (anonymous namespace)::DarwinPPC32TargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116DarwinTargetInfoINS_15PPC32TargetInfoEEE", "vtable for (anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::PPC32TargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_116MipselTargetInfoE", "vtable for (anonymous namespace)::MipselTargetInfo"},
-    {"_ZN12_GLOBAL__N_114MipsTargetInfo11GCCRegNamesE", "(anonymous namespace)::MipsTargetInfo::GCCRegNames"},
-    {"_ZTVN12_GLOBAL__N_114MipsTargetInfoE", "vtable for (anonymous namespace)::MipsTargetInfo"},
-    {"_ZTVN12_GLOBAL__N_115LinuxTargetInfoINS_16MipselTargetInfoEEE", "vtable for (anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::MipselTargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_113PSPTargetInfoINS_16MipselTargetInfoEEE", "vtable for (anonymous namespace)::PSPTargetInfo<(anonymous namespace)::MipselTargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_115LinuxTargetInfoINS_14MipsTargetInfoEEE", "vtable for (anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::MipsTargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_113PSPTargetInfoINS_14MipsTargetInfoEEE", "vtable for (anonymous namespace)::PSPTargetInfo<(anonymous namespace)::MipsTargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_116MSP430TargetInfoE", "vtable for (anonymous namespace)::MSP430TargetInfo"},
-    {"_ZN12_GLOBAL__N_116MSP430TargetInfo11GCCRegNamesE", "(anonymous namespace)::MSP430TargetInfo::GCCRegNames"},
-    {"_ZTVN12_GLOBAL__N_118BlackfinTargetInfoE", "vtable for (anonymous namespace)::BlackfinTargetInfo"},
-    {"_ZN12_GLOBAL__N_118BlackfinTargetInfo11GCCRegNamesE", "(anonymous namespace)::BlackfinTargetInfo::GCCRegNames"},
-    {"_ZTVN12_GLOBAL__N_113ARMTargetInfoE", "vtable for (anonymous namespace)::ARMTargetInfo"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfo11GCCRegNamesE", "(anonymous namespace)::ARMTargetInfo::GCCRegNames"},
-    {"_ZTVN12_GLOBAL__N_117FreeBSDTargetInfoINS_13ARMTargetInfoEEE", "vtable for (anonymous namespace)::FreeBSDTargetInfo<(anonymous namespace)::ARMTargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_119DarwinARMTargetInfoE", "vtable for (anonymous namespace)::DarwinARMTargetInfo"},
-    {"_ZTVN12_GLOBAL__N_116DarwinTargetInfoINS_13ARMTargetInfoEEE", "vtable for (anonymous namespace)::DarwinTargetInfo<(anonymous namespace)::ARMTargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_115LinuxTargetInfoINS_13ARMTargetInfoEEE", "vtable for (anonymous namespace)::LinuxTargetInfo<(anonymous namespace)::ARMTargetInfo>"},
-    {"_ZTVN12_GLOBAL__N_112ArgPromotionE", "vtable for (anonymous namespace)::ArgPromotion"},
-    {"_ZTVN12_GLOBAL__N_113ConstantMergeE", "vtable for (anonymous namespace)::ConstantMerge"},
-    {"_ZTVN12_GLOBAL__N_13DAHE", "vtable for (anonymous namespace)::DAH"},
-    {"_ZTVN12_GLOBAL__N_13DAEE", "vtable for (anonymous namespace)::DAE"},
-    {"_ZTVN12_GLOBAL__N_13DTEE", "vtable for (anonymous namespace)::DTE"},
-    {"_ZTVN12_GLOBAL__N_113FunctionAttrsE", "vtable for (anonymous namespace)::FunctionAttrs"},
-    {"_ZTVN12_GLOBAL__N_19GlobalDCEE", "vtable for (anonymous namespace)::GlobalDCE"},
-    {"_ZTVN12_GLOBAL__N_19GlobalOptE", "vtable for (anonymous namespace)::GlobalOpt"},
-    {"_ZTVN12_GLOBAL__N_113AlwaysInlinerE", "vtable for (anonymous namespace)::AlwaysInliner"},
-    {"_ZTVN12_GLOBAL__N_113SimpleInlinerE", "vtable for (anonymous namespace)::SimpleInliner"},
-    {"_ZTVN4llvm7InlinerE", "vtable for llvm::Inliner"},
-    {"_ZTVN12_GLOBAL__N_17PruneEHE", "vtable for (anonymous namespace)::PruneEH"},
-    {"_ZTVN12_GLOBAL__N_123StripDeadPrototypesPassE", "vtable for (anonymous namespace)::StripDeadPrototypesPass"},
-    {"_ZTVN12_GLOBAL__N_116WriteBitcodePassE", "vtable for (anonymous namespace)::WriteBitcodePass"},
-    {"_ZTVN4llvm13BitcodeReaderE", "vtable for llvm::BitcodeReader"},
-    {"_ZTVN4llvm12_GLOBAL__N_119ConstantPlaceHolderE", "vtable for llvm::(anonymous namespace)::ConstantPlaceHolder"},
-    {"_ZTVN12_GLOBAL__N_111X86AsmLexerE", "vtable for (anonymous namespace)::X86AsmLexer"},
-    {"_ZTVN12_GLOBAL__N_118X86_64ATTAsmParserE", "vtable for (anonymous namespace)::X86_64ATTAsmParser"},
-    {"_ZTVN12_GLOBAL__N_110X86OperandE", "vtable for (anonymous namespace)::X86Operand"},
-    {"_ZTVN12_GLOBAL__N_115X86ATTAsmParserE", "vtable for (anonymous namespace)::X86ATTAsmParser"},
-    {"_ZTVN12_GLOBAL__N_118X86_32ATTAsmParserE", "vtable for (anonymous namespace)::X86_32ATTAsmParser"},
-    {"_ZTVN12_GLOBAL__N_116SSEDomainFixPassE", "vtable for (anonymous namespace)::SSEDomainFixPass"},
-    {"_ZTVN12_GLOBAL__N_119ELFX86_64AsmBackendE", "vtable for (anonymous namespace)::ELFX86_64AsmBackend"},
-    {"_ZZNK12_GLOBAL__N_113X86AsmBackend16getFixupKindInfoEN4llvm11MCFixupKindEE5Infos", "(anonymous namespace)::X86AsmBackend::getFixupKindInfo(llvm::MCFixupKind) const::Infos"},
-    {"_ZTVN12_GLOBAL__N_118X86ELFObjectWriterE", "vtable for (anonymous namespace)::X86ELFObjectWriter"},
-    {"_ZTVN12_GLOBAL__N_113X86AsmBackendE", "vtable for (anonymous namespace)::X86AsmBackend"},
-    {"_ZTVN12_GLOBAL__N_122DarwinX86_64AsmBackendE", "vtable for (anonymous namespace)::DarwinX86_64AsmBackend"},
-    {"_ZTVN12_GLOBAL__N_119ELFX86_32AsmBackendE", "vtable for (anonymous namespace)::ELFX86_32AsmBackend"},
-    {"_ZTVN12_GLOBAL__N_120WindowsX86AsmBackendE", "vtable for (anonymous namespace)::WindowsX86AsmBackend"},
-    {"_ZTVN12_GLOBAL__N_122DarwinX86_32AsmBackendE", "vtable for (anonymous namespace)::DarwinX86_32AsmBackend"},
-    {"_ZTVN4llvm13X86AsmPrinterE", "vtable for llvm::X86AsmPrinter"},
-    {"_ZTVN4llvm24X86COFFMachineModuleInfoE", "vtable for llvm::X86COFFMachineModuleInfo"},
-    {"_ZTVN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEEE", "vtable for (anonymous namespace)::Emitter<llvm::JITCodeEmitter>"},
-    {"_ZTVN4llvm16X86ELFWriterInfoE", "vtable for llvm::X86ELFWriterInfo"},
-    {"_ZTVN12_GLOBAL__N_111X86FastISelE", "vtable for (anonymous namespace)::X86FastISel"},
-    {"_ZTVN12_GLOBAL__N_13FPSE", "vtable for (anonymous namespace)::FPS"},
-    {"_ZTVN4llvm16X86FrameLoweringE", "vtable for llvm::X86FrameLowering"},
-    {"_ZTVN12_GLOBAL__N_115X86DAGToDAGISelE", "vtable for (anonymous namespace)::X86DAGToDAGISel"},
-    {"_ZTVN4llvm17X86TargetLoweringE", "vtable for llvm::X86TargetLowering"},
-    {"_ZTVN4llvm12X86InstrInfoE", "vtable for llvm::X86InstrInfo"},
-    {"_ZTVN12_GLOBAL__N_14CGBRE", "vtable for (anonymous namespace)::CGBR"},
-    {"_ZTVN4llvm10X86JITInfoE", "vtable for llvm::X86JITInfo"},
-    {"_ZTVN4llvm15X86ELFMCAsmInfoE", "vtable for llvm::X86ELFMCAsmInfo"},
-    {"_ZTVN12_GLOBAL__N_116X86MCCodeEmitterE", "vtable for (anonymous namespace)::X86MCCodeEmitter"},
-    {"_ZTVN12_GLOBAL__N_119X86MachObjectWriterE", "vtable for (anonymous namespace)::X86MachObjectWriter"},
-    {"_ZTVN4llvm15X86RegisterInfoE", "vtable for llvm::X86RegisterInfo"},
-    {"_ZTVN4llvm3X868CCRClassE", "vtable for llvm::X86::CCRClass"},
-    {"_ZTVN4llvm3X869FR32ClassE", "vtable for llvm::X86::FR32Class"},
-    {"_ZTVN4llvm3X869FR64ClassE", "vtable for llvm::X86::FR64Class"},
-    {"_ZTVN4llvm3X869GR16ClassE", "vtable for llvm::X86::GR16Class"},
-    {"_ZTVN4llvm3X8615GR16_NOREXClassE", "vtable for llvm::X86::GR16_NOREXClass"},
-    {"_ZTVN4llvm3X869GR32ClassE", "vtable for llvm::X86::GR32Class"},
-    {"_ZTVN4llvm3X8615GR32_NOREXClassE", "vtable for llvm::X86::GR32_NOREXClass"},
-    {"_ZTVN4llvm3X8614GR32_NOSPClassE", "vtable for llvm::X86::GR32_NOSPClass"},
-    {"_ZTVN4llvm3X869GR64ClassE", "vtable for llvm::X86::GR64Class"},
-    {"_ZTVN4llvm3X8615GR64_NOREXClassE", "vtable for llvm::X86::GR64_NOREXClass"},
-    {"_ZTVN4llvm3X8620GR64_NOREX_NOSPClassE", "vtable for llvm::X86::GR64_NOREX_NOSPClass"},
-    {"_ZTVN4llvm3X8614GR64_NOSPClassE", "vtable for llvm::X86::GR64_NOSPClass"},
-    {"_ZTVN4llvm3X868GR8ClassE", "vtable for llvm::X86::GR8Class"},
-    {"_ZTVN4llvm3X8614GR8_NOREXClassE", "vtable for llvm::X86::GR8_NOREXClass"},
-    {"_ZTVN4llvm3X868RSTClassE", "vtable for llvm::X86::RSTClass"},
-    {"_ZTVN4llvm3X8610VR128ClassE", "vtable for llvm::X86::VR128Class"},
-    {"_ZTVN4llvm3X8610VR256ClassE", "vtable for llvm::X86::VR256Class"},
-    {"_ZTVN4llvm18X86GenRegisterInfoE", "vtable for llvm::X86GenRegisterInfo"},
-    {"_ZTVN12_GLOBAL__N_14MSAHE", "vtable for (anonymous namespace)::MSAH"},
-    {"_ZTVN4llvm19X86SelectionDAGInfoE", "vtable for llvm::X86SelectionDAGInfo"},
-    {"_ZTVN4llvm12X86SubtargetE", "vtable for llvm::X86Subtarget"},
-    {"_ZTVN4llvm16X86TargetMachineE", "vtable for llvm::X86TargetMachine"},
-    {"_ZTVN4llvm25X8632_ELFTargetObjectFileE", "vtable for llvm::X8632_ELFTargetObjectFile"},
-    {"_ZTVN4llvm25X8664_ELFTargetObjectFileE", "vtable for llvm::X8664_ELFTargetObjectFile"},
-    {"_ZTVN4llvm27X8664_MachoTargetObjectFileE", "vtable for llvm::X8664_MachoTargetObjectFile"},
-    {"_ZTVN4llvm17X86ATTInstPrinterE", "vtable for llvm::X86ATTInstPrinter"},
-    {"_ZTVN4llvm19X86IntelInstPrinterE", "vtable for llvm::X86IntelInstPrinter"},
-    {"_ZTVN12_GLOBAL__N_113ThumbAsmLexerE", "vtable for (anonymous namespace)::ThumbAsmLexer"},
-    {"_ZTVN12_GLOBAL__N_115ARMBaseAsmLexerE", "vtable for (anonymous namespace)::ARMBaseAsmLexer"},
-    {"_ZTVN12_GLOBAL__N_111ARMAsmLexerE", "vtable for (anonymous namespace)::ARMAsmLexer"},
-    {"_ZTVN12_GLOBAL__N_112ARMAsmParserE", "vtable for (anonymous namespace)::ARMAsmParser"},
-    {"_ZTVN12_GLOBAL__N_110ARMOperandE", "vtable for (anonymous namespace)::ARMOperand"},
-    {"_ZTVN12_GLOBAL__N_116ELFARMAsmBackendE", "vtable for (anonymous namespace)::ELFARMAsmBackend"},
-    {"_ZZNK12_GLOBAL__N_113ARMAsmBackend16getFixupKindInfoEN4llvm11MCFixupKindEE5Infos", "(anonymous namespace)::ARMAsmBackend::getFixupKindInfo(llvm::MCFixupKind) const::Infos"},
-    {"_ZTVN12_GLOBAL__N_118ARMELFObjectWriterE", "vtable for (anonymous namespace)::ARMELFObjectWriter"},
-    {"_ZTVN12_GLOBAL__N_113ARMAsmBackendE", "vtable for (anonymous namespace)::ARMAsmBackend"},
-    {"_ZTVN12_GLOBAL__N_119DarwinARMAsmBackendE", "vtable for (anonymous namespace)::DarwinARMAsmBackend"},
-    {"_ZTVN12_GLOBAL__N_119ARMMachObjectWriterE", "vtable for (anonymous namespace)::ARMMachObjectWriter"},
-    {"_ZTVN4llvm13ARMAsmPrinterE", "vtable for llvm::ARMAsmPrinter"},
-    {"_ZTVN12_GLOBAL__N_122ObjectAttributeEmitterE", "vtable for (anonymous namespace)::ObjectAttributeEmitter"},
-    {"_ZTVN12_GLOBAL__N_116AttributeEmitterE", "vtable for (anonymous namespace)::AttributeEmitter"},
-    {"_ZTVN12_GLOBAL__N_119AsmAttributeEmitterE", "vtable for (anonymous namespace)::AsmAttributeEmitter"},
-    {"_ZTVN4llvm16ARMBaseInstrInfoE", "vtable for llvm::ARMBaseInstrInfo"},
-    {"_ZTVN4llvm19ARMBaseRegisterInfoE", "vtable for llvm::ARMBaseRegisterInfo"},
-    {"_ZTVN4llvm3ARM8DPRClassE", "vtable for llvm::ARM::DPRClass"},
-    {"_ZTVN4llvm3ARM8GPRClassE", "vtable for llvm::ARM::GPRClass"},
-    {"_ZTVN4llvm3ARM8QPRClassE", "vtable for llvm::ARM::QPRClass"},
-    {"_ZTVN4llvm3ARM9QQPRClassE", "vtable for llvm::ARM::QQPRClass"},
-    {"_ZTVN4llvm3ARM11QQQQPRClassE", "vtable for llvm::ARM::QQQQPRClass"},
-    {"_ZTVN4llvm3ARM9rGPRClassE", "vtable for llvm::ARM::rGPRClass"},
-    {"_ZTVN4llvm3ARM10tcGPRClassE", "vtable for llvm::ARM::tcGPRClass"},
-    {"_ZTVN4llvm18ARMGenRegisterInfoE", "vtable for llvm::ARMGenRegisterInfo"},
-    {"_ZTVN12_GLOBAL__N_114ARMCodeEmitterE", "vtable for (anonymous namespace)::ARMCodeEmitter"},
-    {"_ZTVN12_GLOBAL__N_118ARMConstantIslandsE", "vtable for (anonymous namespace)::ARMConstantIslands"},
-    {"_ZTVN4llvm20ARMConstantPoolValueE", "vtable for llvm::ARMConstantPoolValue"},
-    {"_ZTVN4llvm16ARMELFWriterInfoE", "vtable for llvm::ARMELFWriterInfo"},
-    {"_ZTVN12_GLOBAL__N_115ARMExpandPseudoE", "vtable for (anonymous namespace)::ARMExpandPseudo"},
-    {"_ZTVN12_GLOBAL__N_111ARMFastISelE", "vtable for (anonymous namespace)::ARMFastISel"},
-    {"_ZTVN4llvm16ARMFrameLoweringE", "vtable for llvm::ARMFrameLowering"},
-    {"_ZTVN12_GLOBAL__N_114ARMGlobalMergeE", "vtable for (anonymous namespace)::ARMGlobalMerge"},
-    {"_ZTVN4llvm19ARMHazardRecognizerE", "vtable for llvm::ARMHazardRecognizer"},
-    {"_ZTVN12_GLOBAL__N_115ARMDAGToDAGISelE", "vtable for (anonymous namespace)::ARMDAGToDAGISel"},
-    {"_ZTVN4llvm17ARMTargetLoweringE", "vtable for llvm::ARMTargetLowering"},
-    {"_ZTVN4llvm12ARMInstrInfoE", "vtable for llvm::ARMInstrInfo"},
-    {"_ZTVN4llvm10ARMJITInfoE", "vtable for llvm::ARMJITInfo"},
-    {"_ZTVN12_GLOBAL__N_115ARMLoadStoreOptE", "vtable for (anonymous namespace)::ARMLoadStoreOpt"},
-    {"_ZTVN12_GLOBAL__N_123ARMPreAllocLoadStoreOptE", "vtable for (anonymous namespace)::ARMPreAllocLoadStoreOpt"},
-    {"_ZTVN12_GLOBAL__N_116ARMMCCodeEmitterE", "vtable for (anonymous namespace)::ARMMCCodeEmitter"},
-    {"_ZTVN4llvm9ARMMCExprE", "vtable for llvm::ARMMCExpr"},
-    {"_ZTVN4llvm19ARMSelectionDAGInfoE", "vtable for llvm::ARMSelectionDAGInfo"},
-    {"_ZTVN4llvm12ARMSubtargetE", "vtable for llvm::ARMSubtarget"},
-    {"_ZTVN4llvm20ARMBaseTargetMachineE", "vtable for llvm::ARMBaseTargetMachine"},
-    {"_ZTVN4llvm22ARMElfTargetObjectFileE", "vtable for llvm::ARMElfTargetObjectFile"},
-    {"_ZTVN12_GLOBAL__N_112MLxExpansionE", "vtable for (anonymous namespace)::MLxExpansion"},
-    {"_ZTVN12_GLOBAL__N_115NEONMoveFixPassE", "vtable for (anonymous namespace)::NEONMoveFixPass"},
-    {"_ZTVN4llvm19Thumb1FrameLoweringE", "vtable for llvm::Thumb1FrameLowering"},
-    {"_ZTVN4llvm15Thumb1InstrInfoE", "vtable for llvm::Thumb1InstrInfo"},
-    {"_ZTVN4llvm18Thumb1RegisterInfoE", "vtable for llvm::Thumb1RegisterInfo"},
-    {"_ZTVN12_GLOBAL__N_117Thumb2ITBlockPassE", "vtable for (anonymous namespace)::Thumb2ITBlockPass"},
-    {"_ZTVN4llvm15Thumb2InstrInfoE", "vtable for llvm::Thumb2InstrInfo"},
-    {"_ZTVN4llvm18Thumb2RegisterInfoE", "vtable for llvm::Thumb2RegisterInfo"},
-    {"_ZTVN12_GLOBAL__N_116Thumb2SizeReduceE", "vtable for (anonymous namespace)::Thumb2SizeReduce"},
-    {"_ZTVN12_GLOBAL__N_115WorkListRemoverE", "vtable for (anonymous namespace)::WorkListRemover"},
-    {"_ZTVN4llvm8FastISelE", "vtable for llvm::FastISel"},
-    {"_ZTVN12_GLOBAL__N_118NodeUpdateListenerE", "vtable for (anonymous namespace)::NodeUpdateListener"},
-    {"_ZTVN12_GLOBAL__N_115ScheduleDAGListE", "vtable for (anonymous namespace)::ScheduleDAGList"},
-    {"_ZTVN12_GLOBAL__N_125RegReductionPriorityQueueINS_14ilp_ls_rr_sortEEE", "vtable for (anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::ilp_ls_rr_sort>"},
-    {"_ZTVN12_GLOBAL__N_118RegReductionPQBaseE", "vtable for (anonymous namespace)::RegReductionPQBase"},
-    {"_ZTVN12_GLOBAL__N_125RegReductionPriorityQueueINS_17hybrid_ls_rr_sortEEE", "vtable for (anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::hybrid_ls_rr_sort>"},
-    {"_ZTVN12_GLOBAL__N_125RegReductionPriorityQueueINS_14src_ls_rr_sortEEE", "vtable for (anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::src_ls_rr_sort>"},
-    {"_ZTVN12_GLOBAL__N_125RegReductionPriorityQueueINS_13td_ls_rr_sortEEE", "vtable for (anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::td_ls_rr_sort>"},
-    {"_ZTVN12_GLOBAL__N_125RegReductionPriorityQueueINS_13bu_ls_rr_sortEEE", "vtable for (anonymous namespace)::RegReductionPriorityQueue<(anonymous namespace)::bu_ls_rr_sort>"},
-    {"_ZTVN12_GLOBAL__N_117ScheduleDAGRRListE", "vtable for (anonymous namespace)::ScheduleDAGRRList"},
-    {"_ZTVN4llvm18ScheduleDAGSDNodesE", "vtable for llvm::ScheduleDAGSDNodes"},
-    {"_ZTVN4llvm12SelectionDAG17DAGUpdateListenerE", "vtable for llvm::SelectionDAG::DAGUpdateListener"},
-    {"_ZTVN12_GLOBAL__N_118RAUWUpdateListenerE", "vtable for (anonymous namespace)::RAUWUpdateListener"},
-    {"_ZTVN4llvm16SelectionDAGISelE", "vtable for llvm::SelectionDAGISel"},
-    {"_ZZ19FunctionCallsSetJmpPKN4llvm8FunctionEE15ReturnsTwiceFns", "FunctionCallsSetJmp(llvm::Function const*)::ReturnsTwiceFns"},
-    {"_ZTVN4llvm14TargetLoweringE", "vtable for llvm::TargetLowering"},
-    {"_ZTVN4llvm22TargetSelectionDAGInfoE", "vtable for llvm::TargetSelectionDAGInfo"},
-    {"_ZTVN4llvm10AsmPrinterE", "vtable for llvm::AsmPrinter"},
-    {"_ZTVN4llvm3DIEE", "vtable for llvm::DIE"},
-    {"_ZTVN4llvm10DIEIntegerE", "vtable for llvm::DIEInteger"},
-    {"_ZTVN4llvm9DIEStringE", "vtable for llvm::DIEString"},
-    {"_ZTVN4llvm8DIELabelE", "vtable for llvm::DIELabel"},
-    {"_ZTVN4llvm8DIEDeltaE", "vtable for llvm::DIEDelta"},
-    {"_ZTVN4llvm8DIEEntryE", "vtable for llvm::DIEEntry"},
-    {"_ZTVN4llvm8DIEBlockE", "vtable for llvm::DIEBlock"},
-    {"_ZTVN4llvm17DwarfCFIExceptionE", "vtable for llvm::DwarfCFIException"},
-    {"_ZTVN4llvm8DbgScopeE", "vtable for llvm::DbgScope"},
-    {"_ZTVN4llvm14DwarfExceptionE", "vtable for llvm::DwarfException"},
-    {"_ZTVN4llvm19DwarfTableExceptionE", "vtable for llvm::DwarfTableException"},
-    {"_ZTVN4llvm8AsmLexerE", "vtable for llvm::AsmLexer"},
-    {"_ZTVN12_GLOBAL__N_19AsmParserE", "vtable for (anonymous namespace)::AsmParser"},
-    {"_ZTVN12_GLOBAL__N_116GenericAsmParserE", "vtable for (anonymous namespace)::GenericAsmParser"},
-    {"_ZTVN12_GLOBAL__N_113COFFAsmParserE", "vtable for (anonymous namespace)::COFFAsmParser"},
-    {"_ZTVN12_GLOBAL__N_115DarwinAsmParserE", "vtable for (anonymous namespace)::DarwinAsmParser"},
-    {"_ZTVN12_GLOBAL__N_112ELFAsmParserE", "vtable for (anonymous namespace)::ELFAsmParser"},
-    {"_ZTVN4llvm10MCAsmLexerE", "vtable for llvm::MCAsmLexer"},
-    {"_ZTVN4llvm11MCAsmParserE", "vtable for llvm::MCAsmParser"},
-    {"_ZTVN4llvm20MCAsmParserExtensionE", "vtable for llvm::MCAsmParserExtension"},
-    {"_ZTVN4llvm15TargetAsmParserE", "vtable for llvm::TargetAsmParser"},
-    {"_ZTVN4llvm24AggressiveAntiDepBreakerE", "vtable for llvm::AggressiveAntiDepBreaker"},
-    {"_ZTVN12_GLOBAL__N_116BranchFolderPassE", "vtable for (anonymous namespace)::BranchFolderPass"},
-    {"_ZTVN4llvm21CalculateSpillWeightsE", "vtable for llvm::CalculateSpillWeights"},
-    {"_ZTVN12_GLOBAL__N_116CodePlacementOptE", "vtable for (anonymous namespace)::CodePlacementOpt"},
-    {"_ZTVN4llvm22CriticalAntiDepBreakerE", "vtable for llvm::CriticalAntiDepBreaker"},
-    {"_ZTVN12_GLOBAL__N_126DeadMachineInstructionElimE", "vtable for (anonymous namespace)::DeadMachineInstructionElim"},
-    {"_ZTVN12_GLOBAL__N_114DwarfEHPrepareE", "vtable for (anonymous namespace)::DwarfEHPrepare"},
-    {"_ZN4llvm13EdgeBundlesIDE", "llvm::EdgeBundlesID"},
-    {"_ZTVN4llvm11EdgeBundlesE", "vtable for llvm::EdgeBundles"},
-    {"_ZTVN12_GLOBAL__N_117ExpandISelPseudosE", "vtable for (anonymous namespace)::ExpandISelPseudos"},
-    {"_ZTVN4llvm12GCModuleInfoE", "vtable for llvm::GCModuleInfo"},
-    {"_ZTVN12_GLOBAL__N_17DeleterE", "vtable for (anonymous namespace)::Deleter"},
-    {"_ZTVN12_GLOBAL__N_17PrinterE", "vtable for (anonymous namespace)::Printer"},
-    {"_ZTVN4llvm10GCStrategyE", "vtable for llvm::GCStrategy"},
-    {"_ZTVN12_GLOBAL__N_119MachineCodeAnalysisE", "vtable for (anonymous namespace)::MachineCodeAnalysis"},
-    {"_ZTVN12_GLOBAL__N_115LowerIntrinsicsE", "vtable for (anonymous namespace)::LowerIntrinsics"},
-    {"_ZTVN12_GLOBAL__N_111IfConverterE", "vtable for (anonymous namespace)::IfConverter"},
-    {"_ZTVN12_GLOBAL__N_113InlineSpillerE", "vtable for (anonymous namespace)::InlineSpiller"},
-    {"_ZTVN4llvm17LLVMTargetMachineE", "vtable for llvm::LLVMTargetMachine"},
-    {"_ZTVN4llvm20LatencyPriorityQueueE", "vtable for llvm::LatencyPriorityQueue"},
-    {"_ZTVN4llvm18LiveDebugVariablesE", "vtable for llvm::LiveDebugVariables"},
-    {"_ZTVN4llvm13LiveIntervalsE", "vtable for llvm::LiveIntervals"},
-    {"_ZN4llvm12LiveStacksIDE", "llvm::LiveStacksID"},
-    {"_ZTVN4llvm10LiveStacksE", "vtable for llvm::LiveStacks"},
-    {"_ZTVN4llvm13LiveVariablesE", "vtable for llvm::LiveVariables"},
-    {"_ZTVN12_GLOBAL__N_118LocalStackSlotPassE", "vtable for (anonymous namespace)::LocalStackSlotPass"},
-    {"_ZTVN12_GLOBAL__N_127LowerSubregsInstructionPassE", "vtable for (anonymous namespace)::LowerSubregsInstructionPass"},
-    {"_ZTVN12_GLOBAL__N_110MachineCSEE", "vtable for (anonymous namespace)::MachineCSE"},
-    {"_ZN4llvm19MachineDominatorsIDE", "llvm::MachineDominatorsID"},
-    {"_ZTVN4llvm20MachineDominatorTreeE", "vtable for llvm::MachineDominatorTree"},
-    {"_ZTVN4llvm19MachineFunctionInfoE", "vtable for llvm::MachineFunctionInfo"},
-    {"_ZTVN4llvm23MachineFunctionAnalysisE", "vtable for llvm::MachineFunctionAnalysis"},
-    {"_ZTVN4llvm19MachineFunctionPassE", "vtable for llvm::MachineFunctionPass"},
-    {"_ZTVN12_GLOBAL__N_126MachineFunctionPrinterPassE", "vtable for (anonymous namespace)::MachineFunctionPrinterPass"},
-    {"_ZTVN12_GLOBAL__N_111MachineLICME", "vtable for (anonymous namespace)::MachineLICM"},
-    {"_ZN4llvm17MachineLoopInfoIDE", "llvm::MachineLoopInfoID"},
-    {"_ZTVN4llvm15MachineLoopInfoE", "vtable for llvm::MachineLoopInfo"},
-    {"_ZTVN4llvm21MachineModuleInfoImplE", "vtable for llvm::MachineModuleInfoImpl"},
-    {"_ZTVN4llvm17MachineModuleInfoE", "vtable for llvm::MachineModuleInfo"},
-    {"_ZTVN4llvm26MMIAddrLabelMapCallbackPtrE", "vtable for llvm::MMIAddrLabelMapCallbackPtr"},
-    {"_ZTVN4llvm22MachineModuleInfoMachOE", "vtable for llvm::MachineModuleInfoMachO"},
-    {"_ZTVN4llvm20MachineModuleInfoELFE", "vtable for llvm::MachineModuleInfoELF"},
-    {"_ZTVN12_GLOBAL__N_114MachineSinkingE", "vtable for (anonymous namespace)::MachineSinking"},
-    {"_ZTVN12_GLOBAL__N_119MachineVerifierPassE", "vtable for (anonymous namespace)::MachineVerifierPass"},
-    {"_ZTVN12_GLOBAL__N_112OptimizePHIsE", "vtable for (anonymous namespace)::OptimizePHIs"},
-    {"_ZN4llvm16PHIEliminationIDE", "llvm::PHIEliminationID"},
-    {"_ZTVN12_GLOBAL__N_114PHIEliminationE", "vtable for (anonymous namespace)::PHIElimination"},
-    {"_ZTVN12_GLOBAL__N_117PeepholeOptimizerE", "vtable for (anonymous namespace)::PeepholeOptimizer"},
-    {"_ZTVN4llvm14AntiDepBreakerE", "vtable for llvm::AntiDepBreaker"},
-    {"_ZTVN12_GLOBAL__N_115PostRASchedulerE", "vtable for (anonymous namespace)::PostRAScheduler"},
-    {"_ZTVN12_GLOBAL__N_120SchedulePostRATDListE", "vtable for (anonymous namespace)::SchedulePostRATDList"},
-    {"_ZN4llvm19PreAllocSplittingIDE", "llvm::PreAllocSplittingID"},
-    {"_ZTVN12_GLOBAL__N_117PreAllocSplittingE", "vtable for (anonymous namespace)::PreAllocSplitting"},
-    {"_ZTVN4llvm19ProcessImplicitDefsE", "vtable for llvm::ProcessImplicitDefs"},
-    {"_ZTVN4llvm17PseudoSourceValueE", "vtable for llvm::PseudoSourceValue"},
-    {"_ZTVN4llvm27FixedStackPseudoSourceValueE", "vtable for llvm::FixedStackPseudoSourceValue"},
-    {"_ZTVN12_GLOBAL__N_16RAFastE", "vtable for (anonymous namespace)::RAFast"},
-    {"_ZTVN12_GLOBAL__N_19RALinScanE", "vtable for (anonymous namespace)::RALinScan"},
-    {"_ZTVN4llvm17RegisterCoalescerE", "vtable for llvm::RegisterCoalescer"},
-    {"_ZTVN4llvm11ScheduleDAGE", "vtable for llvm::ScheduleDAG"},
-    {"_ZTVN4llvm24ScheduleHazardRecognizerE", "vtable for llvm::ScheduleHazardRecognizer"},
-    {"_ZTVN4llvm17ScheduleDAGInstrsE", "vtable for llvm::ScheduleDAGInstrs"},
-    {"_ZTVN4llvm26ScoreboardHazardRecognizerE", "vtable for llvm::ScoreboardHazardRecognizer"},
-    {"_ZTVN4llvm3PEIE", "vtable for llvm::PEI"},
-    {"_ZN4llvm26SimpleRegisterCoalescingIDE", "llvm::SimpleRegisterCoalescingID"},
-    {"_ZTVN4llvm24SimpleRegisterCoalescingE", "vtable for llvm::SimpleRegisterCoalescing"},
-    {"_ZTVN12_GLOBAL__N_110SjLjEHPassE", "vtable for (anonymous namespace)::SjLjEHPass"},
-    {"_ZTVN4llvm11SlotIndexesE", "vtable for llvm::SlotIndexes"},
-    {"_ZTVN12_GLOBAL__N_115StandardSpillerE", "vtable for (anonymous namespace)::StandardSpiller"},
-    {"_ZTVN12_GLOBAL__N_114TrivialSpillerE", "vtable for (anonymous namespace)::TrivialSpiller"},
-    {"_ZTVN12_GLOBAL__N_111SpillerBaseE", "vtable for (anonymous namespace)::SpillerBase"},
-    {"_ZTVN12_GLOBAL__N_114StackProtectorE", "vtable for (anonymous namespace)::StackProtector"},
-    {"_ZTVN12_GLOBAL__N_117StackSlotColoringE", "vtable for (anonymous namespace)::StackSlotColoring"},
-    {"_ZN4llvm22StrongPHIEliminationIDE", "llvm::StrongPHIEliminationID"},
-    {"_ZTVN12_GLOBAL__N_120StrongPHIEliminationE", "vtable for (anonymous namespace)::StrongPHIElimination"},
-    {"_ZTVN12_GLOBAL__N_117TailDuplicatePassE", "vtable for (anonymous namespace)::TailDuplicatePass"},
-    {"_ZTVN4llvm19TargetInstrInfoImplE", "vtable for llvm::TargetInstrInfoImpl"},
-    {"_ZTVN4llvm27TargetLoweringObjectFileELFE", "vtable for llvm::TargetLoweringObjectFileELF"},
-    {"_ZTVN4llvm29TargetLoweringObjectFileMachOE", "vtable for llvm::TargetLoweringObjectFileMachO"},
-    {"_ZTVN4llvm28TargetLoweringObjectFileCOFFE", "vtable for llvm::TargetLoweringObjectFileCOFF"},
-    {"_ZN4llvm27TwoAddressInstructionPassIDE", "llvm::TwoAddressInstructionPassID"},
-    {"_ZTVN12_GLOBAL__N_125TwoAddressInstructionPassE", "vtable for (anonymous namespace)::TwoAddressInstructionPass"},
-    {"_ZN4llvm29UnreachableMachineBlockElimIDE", "llvm::UnreachableMachineBlockElimID"},
-    {"_ZTVN12_GLOBAL__N_127UnreachableMachineBlockElimE", "vtable for (anonymous namespace)::UnreachableMachineBlockElim"},
-    {"_ZTVN12_GLOBAL__N_120UnreachableBlockElimE", "vtable for (anonymous namespace)::UnreachableBlockElim"},
-    {"_ZTVN4llvm10VirtRegMapE", "vtable for llvm::VirtRegMap"},
-    {"_ZTVN4llvm15VirtRegRewriterE", "vtable for llvm::VirtRegRewriter"},
-    {"_ZTVN12_GLOBAL__N_115TrivialRewriterE", "vtable for (anonymous namespace)::TrivialRewriter"},
-    {"_ZTVN12_GLOBAL__N_113LocalRewriterE", "vtable for (anonymous namespace)::LocalRewriter"},
-    {"_ZTVN12_GLOBAL__N_14ADCEE", "vtable for (anonymous namespace)::ADCE"},
-    {"_ZTVN12_GLOBAL__N_114CodeGenPrepareE", "vtable for (anonymous namespace)::CodeGenPrepare"},
-    {"_ZTVN12_GLOBAL__N_131CodeGenPrepareFortifiedLibCallsE", "vtable for (anonymous namespace)::CodeGenPrepareFortifiedLibCalls"},
-    {"_ZTVN12_GLOBAL__N_126CorrelatedValuePropagationE", "vtable for (anonymous namespace)::CorrelatedValuePropagation"},
-    {"_ZTVN12_GLOBAL__N_13DSEE", "vtable for (anonymous namespace)::DSE"},
-    {"_ZTVN12_GLOBAL__N_18EarlyCSEE", "vtable for (anonymous namespace)::EarlyCSE"},
-    {"_ZTVN12_GLOBAL__N_111GEPSplitterE", "vtable for (anonymous namespace)::GEPSplitter"},
-    {"_ZTVN12_GLOBAL__N_13GVNE", "vtable for (anonymous namespace)::GVN"},
-    {"_ZTVN12_GLOBAL__N_114IndVarSimplifyE", "vtable for (anonymous namespace)::IndVarSimplify"},
-    {"_ZTVN12_GLOBAL__N_113JumpThreadingE", "vtable for (anonymous namespace)::JumpThreading"},
-    {"_ZTVN12_GLOBAL__N_14LICME", "vtable for (anonymous namespace)::LICM"},
-    {"_ZTVN12_GLOBAL__N_112LoopPromoterE", "vtable for (anonymous namespace)::LoopPromoter"},
-    {"_ZTVN12_GLOBAL__N_112LoopDeletionE", "vtable for (anonymous namespace)::LoopDeletion"},
-    {"_ZTVN12_GLOBAL__N_118LoopIdiomRecognizeE", "vtable for (anonymous namespace)::LoopIdiomRecognize"},
-    {"_ZTVN12_GLOBAL__N_110LoopRotateE", "vtable for (anonymous namespace)::LoopRotate"},
-    {"_ZTVN12_GLOBAL__N_118LoopStrengthReduceE", "vtable for (anonymous namespace)::LoopStrengthReduce"},
-    {"_ZTVN12_GLOBAL__N_110LoopUnrollE", "vtable for (anonymous namespace)::LoopUnroll"},
-    {"_ZTVN12_GLOBAL__N_112LoopUnswitchE", "vtable for (anonymous namespace)::LoopUnswitch"},
-    {"_ZTVN12_GLOBAL__N_19MemCpyOptE", "vtable for (anonymous namespace)::MemCpyOpt"},
-    {"_ZTVN12_GLOBAL__N_111ReassociateE", "vtable for (anonymous namespace)::Reassociate"},
-    {"_ZTVN12_GLOBAL__N_16IPSCCPE", "vtable for (anonymous namespace)::IPSCCP"},
-    {"_ZTVN12_GLOBAL__N_14SCCPE", "vtable for (anonymous namespace)::SCCP"},
-    {"_ZTVN12_GLOBAL__N_110SROA_SSAUpE", "vtable for (anonymous namespace)::SROA_SSAUp"},
-    {"_ZTVN12_GLOBAL__N_114AllocaPromoterE", "vtable for (anonymous namespace)::AllocaPromoter"},
-    {"_ZTVN12_GLOBAL__N_14SROAE", "vtable for (anonymous namespace)::SROA"},
-    {"_ZTVN12_GLOBAL__N_17SROA_DTE", "vtable for (anonymous namespace)::SROA_DT"},
-    {"_ZTVN12_GLOBAL__N_115CFGSimplifyPassE", "vtable for (anonymous namespace)::CFGSimplifyPass"},
-    {"_ZTVN12_GLOBAL__N_116SimplifyLibCallsE", "vtable for (anonymous namespace)::SimplifyLibCalls"},
-    {"_ZTVN12_GLOBAL__N_19StrCatOptE", "vtable for (anonymous namespace)::StrCatOpt"},
-    {"_ZTVN12_GLOBAL__N_119LibCallOptimizationE", "vtable for (anonymous namespace)::LibCallOptimization"},
-    {"_ZTVN12_GLOBAL__N_110StrNCatOptE", "vtable for (anonymous namespace)::StrNCatOpt"},
-    {"_ZTVN12_GLOBAL__N_19StrChrOptE", "vtable for (anonymous namespace)::StrChrOpt"},
-    {"_ZTVN12_GLOBAL__N_110StrRChrOptE", "vtable for (anonymous namespace)::StrRChrOpt"},
-    {"_ZTVN12_GLOBAL__N_19StrCmpOptE", "vtable for (anonymous namespace)::StrCmpOpt"},
-    {"_ZTVN12_GLOBAL__N_110StrNCmpOptE", "vtable for (anonymous namespace)::StrNCmpOpt"},
-    {"_ZTVN12_GLOBAL__N_19StrCpyOptE", "vtable for (anonymous namespace)::StrCpyOpt"},
-    {"_ZTVN12_GLOBAL__N_110StrNCpyOptE", "vtable for (anonymous namespace)::StrNCpyOpt"},
-    {"_ZTVN12_GLOBAL__N_19StrLenOptE", "vtable for (anonymous namespace)::StrLenOpt"},
-    {"_ZTVN12_GLOBAL__N_110StrPBrkOptE", "vtable for (anonymous namespace)::StrPBrkOpt"},
-    {"_ZTVN12_GLOBAL__N_18StrToOptE", "vtable for (anonymous namespace)::StrToOpt"},
-    {"_ZTVN12_GLOBAL__N_19StrSpnOptE", "vtable for (anonymous namespace)::StrSpnOpt"},
-    {"_ZTVN12_GLOBAL__N_110StrCSpnOptE", "vtable for (anonymous namespace)::StrCSpnOpt"},
-    {"_ZTVN12_GLOBAL__N_19StrStrOptE", "vtable for (anonymous namespace)::StrStrOpt"},
-    {"_ZTVN12_GLOBAL__N_19MemCmpOptE", "vtable for (anonymous namespace)::MemCmpOpt"},
-    {"_ZTVN12_GLOBAL__N_19MemCpyOptE", "vtable for (anonymous namespace)::MemCpyOpt"},
-    {"_ZTVN12_GLOBAL__N_110MemMoveOptE", "vtable for (anonymous namespace)::MemMoveOpt"},
-    {"_ZTVN12_GLOBAL__N_19MemSetOptE", "vtable for (anonymous namespace)::MemSetOpt"},
-    {"_ZTVN12_GLOBAL__N_16PowOptE", "vtable for (anonymous namespace)::PowOpt"},
-    {"_ZTVN12_GLOBAL__N_17Exp2OptE", "vtable for (anonymous namespace)::Exp2Opt"},
-    {"_ZTVN12_GLOBAL__N_116UnaryDoubleFPOptE", "vtable for (anonymous namespace)::UnaryDoubleFPOpt"},
-    {"_ZTVN12_GLOBAL__N_16FFSOptE", "vtable for (anonymous namespace)::FFSOpt"},
-    {"_ZTVN12_GLOBAL__N_16AbsOptE", "vtable for (anonymous namespace)::AbsOpt"},
-    {"_ZTVN12_GLOBAL__N_110IsDigitOptE", "vtable for (anonymous namespace)::IsDigitOpt"},
-    {"_ZTVN12_GLOBAL__N_110IsAsciiOptE", "vtable for (anonymous namespace)::IsAsciiOpt"},
-    {"_ZTVN12_GLOBAL__N_110ToAsciiOptE", "vtable for (anonymous namespace)::ToAsciiOpt"},
-    {"_ZTVN12_GLOBAL__N_110SPrintFOptE", "vtable for (anonymous namespace)::SPrintFOpt"},
-    {"_ZTVN12_GLOBAL__N_19PrintFOptE", "vtable for (anonymous namespace)::PrintFOpt"},
-    {"_ZTVN12_GLOBAL__N_19FWriteOptE", "vtable for (anonymous namespace)::FWriteOpt"},
-    {"_ZTVN12_GLOBAL__N_18FPutsOptE", "vtable for (anonymous namespace)::FPutsOpt"},
-    {"_ZTVN12_GLOBAL__N_110FPrintFOptE", "vtable for (anonymous namespace)::FPrintFOpt"},
-    {"_ZTVN12_GLOBAL__N_17PutsOptE", "vtable for (anonymous namespace)::PutsOpt"},
-    {"_ZTVN12_GLOBAL__N_112TailCallElimE", "vtable for (anonymous namespace)::TailCallElim"},
-    {"_ZTVN12_GLOBAL__N_128InstCombineFortifiedLibCallsE", "vtable for (anonymous namespace)::InstCombineFortifiedLibCalls"},
-    {"_ZTVN4llvm12InstCombinerE", "vtable for llvm::InstCombiner"},
-    {"_ZN4llvm20BreakCriticalEdgesIDE", "llvm::BreakCriticalEdgesID"},
-    {"_ZTVN12_GLOBAL__N_118BreakCriticalEdgesE", "vtable for (anonymous namespace)::BreakCriticalEdges"},
-    {"_ZTVN4llvm25SimplifyFortifiedLibCallsE", "vtable for llvm::SimplifyFortifiedLibCalls"},
-    {"_ZN4llvm7LCSSAIDE", "llvm::LCSSAID"},
-    {"_ZTVN12_GLOBAL__N_15LCSSAE", "vtable for (anonymous namespace)::LCSSA"},
-    {"_ZN4llvm14LoopSimplifyIDE", "llvm::LoopSimplifyID"},
-    {"_ZTVN12_GLOBAL__N_112LoopSimplifyE", "vtable for (anonymous namespace)::LoopSimplify"},
-    {"_ZN4llvm17LowerInvokePassIDE", "llvm::LowerInvokePassID"},
-    {"_ZTVN12_GLOBAL__N_111LowerInvokeE", "vtable for (anonymous namespace)::LowerInvoke"},
-    {"_ZN4llvm13LowerSwitchIDE", "llvm::LowerSwitchID"},
-    {"_ZTVN12_GLOBAL__N_111LowerSwitchE", "vtable for (anonymous namespace)::LowerSwitch"},
-    {"_ZTVN4llvm22UnifyFunctionExitNodesE", "vtable for llvm::UnifyFunctionExitNodes"},
-    {"_ZTVN4llvm9CallGraphE", "vtable for llvm::CallGraph"},
-    {"_ZTVN12_GLOBAL__N_114BasicCallGraphE", "vtable for (anonymous namespace)::BasicCallGraph"},
-    {"_ZTVN4llvm16CallGraphSCCPassE", "vtable for llvm::CallGraphSCCPass"},
-    {"_ZTVN12_GLOBAL__N_118PrintCallGraphPassE", "vtable for (anonymous namespace)::PrintCallGraphPass"},
-    {"_ZTVN12_GLOBAL__N_113CGPassManagerE", "vtable for (anonymous namespace)::CGPassManager"},
-    {"_ZTVN4llvm13FindUsedTypesE", "vtable for llvm::FindUsedTypes"},
-    {"_ZTVN4llvm13AliasAnalysisE", "vtable for llvm::AliasAnalysis"},
-    {"_ZTVN4llvm15AliasSetTracker13ASTCallbackVHE", "vtable for llvm::AliasSetTracker::ASTCallbackVH"},
-    {"_ZTVN12_GLOBAL__N_115AliasSetPrinterE", "vtable for (anonymous namespace)::AliasSetPrinter"},
-    {"_ZTVN12_GLOBAL__N_118BasicAliasAnalysisE", "vtable for (anonymous namespace)::BasicAliasAnalysis"},
-    {"_ZTVN4llvm7IVUsersE", "vtable for llvm::IVUsers"},
-    {"_ZTVN4llvm11IVStrideUseE", "vtable for llvm::IVStrideUse"},
-    {"_ZTVN4llvm13LazyValueInfoE", "vtable for llvm::LazyValueInfo"},
-    {"_ZTVN12_GLOBAL__N_114LVIValueHandleE", "vtable for (anonymous namespace)::LVIValueHandle"},
-    {"_ZTVN4llvm8LoopInfoE", "vtable for llvm::LoopInfo"},
-    {"_ZTVN4llvm13LPPassManagerE", "vtable for llvm::LPPassManager"},
-    {"_ZTVN4llvm8LoopPassE", "vtable for llvm::LoopPass"},
-    {"_ZTVN12_GLOBAL__N_113PrintLoopPassE", "vtable for (anonymous namespace)::PrintLoopPass"},
-    {"_ZTVN4llvm24MemoryDependenceAnalysisE", "vtable for llvm::MemoryDependenceAnalysis"},
-    {"_ZTVN12_GLOBAL__N_14NoAAE", "vtable for (anonymous namespace)::NoAA"},
-    {"_ZTVN12_GLOBAL__N_113NoProfileInfoE", "vtable for (anonymous namespace)::NoProfileInfo"},
-    {"_ZTVN4llvm15ScalarEvolution14SCEVCallbackVHE", "vtable for llvm::ScalarEvolution::SCEVCallbackVH"},
-    {"_ZTVN4llvm15ScalarEvolutionE", "vtable for llvm::ScalarEvolution"},
-    {"_ZTVN4llvm11SCEVUnknownE", "vtable for llvm::SCEVUnknown"},
-    {"_ZTVN12_GLOBAL__N_122TypeBasedAliasAnalysisE", "vtable for (anonymous namespace)::TypeBasedAliasAnalysis"},
-    {"_ZTVN4llvm14TargetAsmLexerE", "vtable for llvm::TargetAsmLexer"},
-    {"_ZTVN4llvm10DataLayoutE", "vtable for llvm::DataLayout"},
-    {"_ZTVN12_GLOBAL__N_115StructLayoutMapE", "vtable for (anonymous namespace)::StructLayoutMap"},
-    {"_ZTVN4llvm19TargetELFWriterInfoE", "vtable for llvm::TargetELFWriterInfo"},
-    {"_ZTVN4llvm19TargetFrameLoweringE", "vtable for llvm::TargetFrameLowering"},
-    {"_ZTVN4llvm15TargetInstrInfoE", "vtable for llvm::TargetInstrInfo"},
-    {"_ZTVN4llvm24TargetLoweringObjectFileE", "vtable for llvm::TargetLoweringObjectFile"},
-    {"_ZTVN4llvm13TargetMachineE", "vtable for llvm::TargetMachine"},
-    {"_ZTVN4llvm18TargetRegisterInfoE", "vtable for llvm::TargetRegisterInfo"},
-    {"_ZTVN4llvm15TargetSubtargetE", "vtable for llvm::TargetSubtarget"},
-    {"_ZTVN4llvm24AssemblyAnnotationWriterE", "vtable for llvm::AssemblyAnnotationWriter"},
-    {"_ZTVN4llvm5ValueE", "vtable for llvm::Value"},
-    {"_ZTIN4llvm5ValueE", "typeinfo for llvm::Value"},
-    {"_ZTVN4llvm4TypeE", "vtable for llvm::Type"},
-    {"_ZTIN4llvm4TypeE", "typeinfo for llvm::Type"},
-    {"_ZTIN4llvm24AssemblyAnnotationWriterE", "typeinfo for llvm::AssemblyAnnotationWriter"},
-    {"_ZTVN4llvm10BasicBlockE", "vtable for llvm::BasicBlock"},
-    {"_ZTIN4llvm10BasicBlockE", "typeinfo for llvm::BasicBlock"},
-    {"_ZTVN4llvm10ConstantFPE", "vtable for llvm::ConstantFP"},
-    {"_ZTVN4llvm13ConstantArrayE", "vtable for llvm::ConstantArray"},
-    {"_ZTVN4llvm14ConstantStructE", "vtable for llvm::ConstantStruct"},
-    {"_ZTVN4llvm14ConstantVectorE", "vtable for llvm::ConstantVector"},
-    {"_ZTVN4llvm12BlockAddressE", "vtable for llvm::BlockAddress"},
-    {"_ZTVN4llvm21ConstantAggregateZeroE", "vtable for llvm::ConstantAggregateZero"},
-    {"_ZTIN4llvm21ConstantAggregateZeroE", "typeinfo for llvm::ConstantAggregateZero"},
-    {"_ZTVN4llvm19ConstantPointerNullE", "vtable for llvm::ConstantPointerNull"},
-    {"_ZTIN4llvm19ConstantPointerNullE", "typeinfo for llvm::ConstantPointerNull"},
-    {"_ZTVN4llvm12ConstantExprE", "vtable for llvm::ConstantExpr"},
-    {"_ZTIN4llvm12ConstantExprE", "typeinfo for llvm::ConstantExpr"},
-    {"_ZTVN4llvm10UndefValueE", "vtable for llvm::UndefValue"},
-    {"_ZTIN4llvm10UndefValueE", "typeinfo for llvm::UndefValue"},
-    {"_ZTIN4llvm10ConstantFPE", "typeinfo for llvm::ConstantFP"},
-    {"_ZTIN4llvm13ConstantArrayE", "typeinfo for llvm::ConstantArray"},
-    {"_ZTIN4llvm14ConstantStructE", "typeinfo for llvm::ConstantStruct"},
-    {"_ZTIN4llvm14ConstantVectorE", "typeinfo for llvm::ConstantVector"},
-    {"_ZTIN4llvm12BlockAddressE", "typeinfo for llvm::BlockAddress"},
-    {"_ZTVN4llvm10DebugRecVHE", "vtable for llvm::DebugRecVH"},
-    {"_ZTIN4llvm10DebugRecVHE", "typeinfo for llvm::DebugRecVH"},
-    {"_ZTVN4llvm13DominatorTreeE", "vtable for llvm::DominatorTree"},
-    {"_ZTIN4llvm13DominatorTreeE", "typeinfo for llvm::DominatorTree"},
-    {"_ZTVN4llvm8FunctionE", "vtable for llvm::Function"},
-    {"_ZZN4llvm9Intrinsic7getNameENS0_2IDEPPKNS_4TypeEjE5Table", "llvm::Intrinsic::getName(llvm::Intrinsic::ID, llvm::Type const**, unsigned int)::Table"},
-    {"_ZTIN4llvm8FunctionE", "typeinfo for llvm::Function"},
-    {"_ZTVN4llvm14GVMaterializerE", "vtable for llvm::GVMaterializer"},
-    {"_ZTIN4llvm14GVMaterializerE", "typeinfo for llvm::GVMaterializer"},
-    {"_ZTVN4llvm14GlobalVariableE", "vtable for llvm::GlobalVariable"},
-    {"_ZTVN4llvm11GlobalAliasE", "vtable for llvm::GlobalAlias"},
-    {"_ZTVN4llvm11GlobalValueE", "vtable for llvm::GlobalValue"},
-    {"_ZTIN4llvm11GlobalValueE", "typeinfo for llvm::GlobalValue"},
-    {"_ZTIN4llvm14GlobalVariableE", "typeinfo for llvm::GlobalVariable"},
-    {"_ZTIN4llvm11GlobalAliasE", "typeinfo for llvm::GlobalAlias"},
-    {"_ZTVN4llvm9InlineAsmE", "vtable for llvm::InlineAsm"},
-    {"_ZTIN4llvm9InlineAsmE", "typeinfo for llvm::InlineAsm"},
-    {"_ZTVN4llvm11InstructionE", "vtable for llvm::Instruction"},
-    {"_ZTIN4llvm11InstructionE", "typeinfo for llvm::Instruction"},
-    {"_ZTVN4llvm14TerminatorInstE", "vtable for llvm::TerminatorInst"},
-    {"_ZTVN4llvm16UnaryInstructionE", "vtable for llvm::UnaryInstruction"},
-    {"_ZTVN4llvm7PHINodeE", "vtable for llvm::PHINode"},
-    {"_ZTVN4llvm8CallInstE", "vtable for llvm::CallInst"},
-    {"_ZTVN4llvm10InvokeInstE", "vtable for llvm::InvokeInst"},
-    {"_ZTVN4llvm10ReturnInstE", "vtable for llvm::ReturnInst"},
-    {"_ZTVN4llvm10UnwindInstE", "vtable for llvm::UnwindInst"},
-    {"_ZTVN4llvm15UnreachableInstE", "vtable for llvm::UnreachableInst"},
-    {"_ZTVN4llvm10BranchInstE", "vtable for llvm::BranchInst"},
-    {"_ZTVN4llvm10AllocaInstE", "vtable for llvm::AllocaInst"},
-    {"_ZTVN4llvm8LoadInstE", "vtable for llvm::LoadInst"},
-    {"_ZTVN4llvm9StoreInstE", "vtable for llvm::StoreInst"},
-    {"_ZTVN4llvm17GetElementPtrInstE", "vtable for llvm::GetElementPtrInst"},
-    {"_ZTVN4llvm18ExtractElementInstE", "vtable for llvm::ExtractElementInst"},
-    {"_ZTVN4llvm17InsertElementInstE", "vtable for llvm::InsertElementInst"},
-    {"_ZTVN4llvm17ShuffleVectorInstE", "vtable for llvm::ShuffleVectorInst"},
-    {"_ZTVN4llvm15InsertValueInstE", "vtable for llvm::InsertValueInst"},
-    {"_ZTVN4llvm16ExtractValueInstE", "vtable for llvm::ExtractValueInst"},
-    {"_ZTVN4llvm14BinaryOperatorE", "vtable for llvm::BinaryOperator"},
-    {"_ZTVN4llvm9TruncInstE", "vtable for llvm::TruncInst"},
-    {"_ZTVN4llvm8ZExtInstE", "vtable for llvm::ZExtInst"},
-    {"_ZTVN4llvm8SExtInstE", "vtable for llvm::SExtInst"},
-    {"_ZTVN4llvm11FPTruncInstE", "vtable for llvm::FPTruncInst"},
-    {"_ZTVN4llvm9FPExtInstE", "vtable for llvm::FPExtInst"},
-    {"_ZTVN4llvm10UIToFPInstE", "vtable for llvm::UIToFPInst"},
-    {"_ZTVN4llvm10SIToFPInstE", "vtable for llvm::SIToFPInst"},
-    {"_ZTVN4llvm10FPToUIInstE", "vtable for llvm::FPToUIInst"},
-    {"_ZTVN4llvm10FPToSIInstE", "vtable for llvm::FPToSIInst"},
-    {"_ZTVN4llvm12PtrToIntInstE", "vtable for llvm::PtrToIntInst"},
-    {"_ZTVN4llvm12IntToPtrInstE", "vtable for llvm::IntToPtrInst"},
-    {"_ZTVN4llvm11BitCastInstE", "vtable for llvm::BitCastInst"},
-    {"_ZTVN4llvm7CmpInstE", "vtable for llvm::CmpInst"},
-    {"_ZTVN4llvm10SwitchInstE", "vtable for llvm::SwitchInst"},
-    {"_ZTVN4llvm14IndirectBrInstE", "vtable for llvm::IndirectBrInst"},
-    {"_ZTIN4llvm14TerminatorInstE", "typeinfo for llvm::TerminatorInst"},
-    {"_ZTIN4llvm16UnaryInstructionE", "typeinfo for llvm::UnaryInstruction"},
-    {"_ZTIN4llvm17GetElementPtrInstE", "typeinfo for llvm::GetElementPtrInst"},
-    {"_ZTIN4llvm7CmpInstE", "typeinfo for llvm::CmpInst"},
-    {"_ZTVN4llvm8ICmpInstE", "vtable for llvm::ICmpInst"},
-    {"_ZTIN4llvm8ICmpInstE", "typeinfo for llvm::ICmpInst"},
-    {"_ZTVN4llvm8FCmpInstE", "vtable for llvm::FCmpInst"},
-    {"_ZTIN4llvm8FCmpInstE", "typeinfo for llvm::FCmpInst"},
-    {"_ZTIN4llvm8CallInstE", "typeinfo for llvm::CallInst"},
-    {"_ZTVN4llvm10SelectInstE", "vtable for llvm::SelectInst"},
-    {"_ZTIN4llvm10SelectInstE", "typeinfo for llvm::SelectInst"},
-    {"_ZTVN4llvm9VAArgInstE", "vtable for llvm::VAArgInst"},
-    {"_ZTIN4llvm9VAArgInstE", "typeinfo for llvm::VAArgInst"},
-    {"_ZTIN4llvm18ExtractElementInstE", "typeinfo for llvm::ExtractElementInst"},
-    {"_ZTIN4llvm17InsertElementInstE", "typeinfo for llvm::InsertElementInst"},
-    {"_ZTIN4llvm16ExtractValueInstE", "typeinfo for llvm::ExtractValueInst"},
-    {"_ZTIN4llvm15InsertValueInstE", "typeinfo for llvm::InsertValueInst"},
-    {"_ZTIN4llvm7PHINodeE", "typeinfo for llvm::PHINode"},
-    {"_ZTIN4llvm10ReturnInstE", "typeinfo for llvm::ReturnInst"},
-    {"_ZTIN4llvm10BranchInstE", "typeinfo for llvm::BranchInst"},
-    {"_ZTIN4llvm10SwitchInstE", "typeinfo for llvm::SwitchInst"},
-    {"_ZTIN4llvm14IndirectBrInstE", "typeinfo for llvm::IndirectBrInst"},
-    {"_ZTIN4llvm11BitCastInstE", "typeinfo for llvm::BitCastInst"},
-    {"_ZTIN4llvm10InvokeInstE", "typeinfo for llvm::InvokeInst"},
-    {"_ZTIN4llvm10UnwindInstE", "typeinfo for llvm::UnwindInst"},
-    {"_ZTIN4llvm15UnreachableInstE", "typeinfo for llvm::UnreachableInst"},
-    {"_ZTIN4llvm10AllocaInstE", "typeinfo for llvm::AllocaInst"},
-    {"_ZTIN4llvm8LoadInstE", "typeinfo for llvm::LoadInst"},
-    {"_ZTIN4llvm9StoreInstE", "typeinfo for llvm::StoreInst"},
-    {"_ZTIN4llvm17ShuffleVectorInstE", "typeinfo for llvm::ShuffleVectorInst"},
-    {"_ZTIN4llvm14BinaryOperatorE", "typeinfo for llvm::BinaryOperator"},
-    {"_ZTIN4llvm9TruncInstE", "typeinfo for llvm::TruncInst"},
-    {"_ZTIN4llvm8ZExtInstE", "typeinfo for llvm::ZExtInst"},
-    {"_ZTIN4llvm8SExtInstE", "typeinfo for llvm::SExtInst"},
-    {"_ZTIN4llvm11FPTruncInstE", "typeinfo for llvm::FPTruncInst"},
-    {"_ZTIN4llvm9FPExtInstE", "typeinfo for llvm::FPExtInst"},
-    {"_ZTIN4llvm10UIToFPInstE", "typeinfo for llvm::UIToFPInst"},
-    {"_ZTIN4llvm10SIToFPInstE", "typeinfo for llvm::SIToFPInst"},
-    {"_ZTIN4llvm10FPToUIInstE", "typeinfo for llvm::FPToUIInst"},
-    {"_ZTIN4llvm10FPToSIInstE", "typeinfo for llvm::FPToSIInst"},
-    {"_ZTIN4llvm12PtrToIntInstE", "typeinfo for llvm::PtrToIntInst"},
-    {"_ZTIN4llvm12IntToPtrInstE", "typeinfo for llvm::IntToPtrInst"},
-    {"_ZTVN4llvm6MDNodeE", "vtable for llvm::MDNode"},
-    {"_ZTVN4llvm13MDNodeOperandE", "vtable for llvm::MDNodeOperand"},
-    {"_ZTIN4llvm13MDNodeOperandE", "typeinfo for llvm::MDNodeOperand"},
-    {"_ZTIN4llvm6MDNodeE", "typeinfo for llvm::MDNode"},
-    {"_ZTVN4llvm4PassE", "vtable for llvm::Pass"},
-    {"_ZTVN4llvm10ModulePassE", "vtable for llvm::ModulePass"},
-    {"_ZTVN4llvm13ImmutablePassE", "vtable for llvm::ImmutablePass"},
-    {"_ZTVN4llvm24PassRegistrationListenerE", "vtable for llvm::PassRegistrationListener"},
-    {"_ZTVN4llvm14PassNameParserE", "vtable for llvm::PassNameParser"},
-    {"_ZTIN4llvm4PassE", "typeinfo for llvm::Pass"},
-    {"_ZTIN4llvm10ModulePassE", "typeinfo for llvm::ModulePass"},
-    {"_ZTIN4llvm13ImmutablePassE", "typeinfo for llvm::ImmutablePass"},
-    {"_ZTVN4llvm12FunctionPassE", "vtable for llvm::FunctionPass"},
-    {"_ZTIN4llvm12FunctionPassE", "typeinfo for llvm::FunctionPass"},
-    {"_ZTVN4llvm14BasicBlockPassE", "vtable for llvm::BasicBlockPass"},
-    {"_ZTIN4llvm14BasicBlockPassE", "typeinfo for llvm::BasicBlockPass"},
-    {"_ZTIN4llvm24PassRegistrationListenerE", "typeinfo for llvm::PassRegistrationListener"},
-    {"_ZTIN4llvm14PassNameParserE", "typeinfo for llvm::PassNameParser"},
-    {"_ZTVN12_GLOBAL__N_116GetCFGOnlyPassesE", "vtable for (anonymous namespace)::GetCFGOnlyPasses"},
-    {"_ZTIN12_GLOBAL__N_116GetCFGOnlyPassesE", "typeinfo for (anonymous namespace)::GetCFGOnlyPasses"},
-    {"_ZTVN4llvm17PMTopLevelManagerE", "vtable for llvm::PMTopLevelManager"},
-    {"_ZTVN4llvm13PMDataManagerE", "vtable for llvm::PMDataManager"},
-    {"_ZTVN4llvm19FunctionPassManagerE", "vtable for llvm::FunctionPassManager"},
-    {"_ZTVN4llvm11PassManagerE", "vtable for llvm::PassManager"},
-    {"_ZTVN4llvm15PassManagerBaseE", "vtable for llvm::PassManagerBase"},
-    {"_ZTVN4llvm27PassManagerPrettyStackEntryE", "vtable for llvm::PassManagerPrettyStackEntry"},
-    {"_ZTIN4llvm27PassManagerPrettyStackEntryE", "typeinfo for llvm::PassManagerPrettyStackEntry"},
-    {"_ZTIN4llvm13PMDataManagerE", "typeinfo for llvm::PMDataManager"},
-    {"_ZTVN4llvm13FPPassManagerE", "vtable for llvm::FPPassManager"},
-    {"_ZTIN4llvm13FPPassManagerE", "typeinfo for llvm::FPPassManager"},
-    {"_ZTIN4llvm17PMTopLevelManagerE", "typeinfo for llvm::PMTopLevelManager"},
-    {"_ZTVN4llvm13MPPassManagerE", "vtable for llvm::MPPassManager"},
-    {"_ZTIN4llvm13MPPassManagerE", "typeinfo for llvm::MPPassManager"},
-    {"_ZTIN4llvm15PassManagerBaseE", "typeinfo for llvm::PassManagerBase"},
-    {"_ZTIN4llvm19FunctionPassManagerE", "typeinfo for llvm::FunctionPassManager"},
-    {"_ZTIN4llvm11PassManagerE", "typeinfo for llvm::PassManager"},
-    {"_ZTVN12_GLOBAL__N_113BBPassManagerE", "vtable for (anonymous namespace)::BBPassManager"},
-    {"_ZTIN12_GLOBAL__N_113BBPassManagerE", "typeinfo for (anonymous namespace)::BBPassManager"},
-    {"_ZTVN12_GLOBAL__N_117PrintFunctionPassE", "vtable for (anonymous namespace)::PrintFunctionPass"},
-    {"_ZTIN12_GLOBAL__N_117PrintFunctionPassE", "typeinfo for (anonymous namespace)::PrintFunctionPass"},
-    {"_ZTVN12_GLOBAL__N_115PrintModulePassE", "vtable for (anonymous namespace)::PrintModulePass"},
-    {"_ZTIN12_GLOBAL__N_115PrintModulePassE", "typeinfo for (anonymous namespace)::PrintModulePass"},
-    {"_ZTVN4llvm16AbstractTypeUserE", "vtable for llvm::AbstractTypeUser"},
-    {"_ZTVN4llvm12FunctionTypeE", "vtable for llvm::FunctionType"},
-    {"_ZTVN4llvm10StructTypeE", "vtable for llvm::StructType"},
-    {"_ZTVN4llvm9ArrayTypeE", "vtable for llvm::ArrayType"},
-    {"_ZTVN4llvm10VectorTypeE", "vtable for llvm::VectorType"},
-    {"_ZTVN4llvm11PointerTypeE", "vtable for llvm::PointerType"},
-    {"_ZTIN4llvm16AbstractTypeUserE", "typeinfo for llvm::AbstractTypeUser"},
-    {"_ZTVN4llvm14SequentialTypeE", "vtable for llvm::SequentialType"},
-    {"_ZTIN4llvm14SequentialTypeE", "typeinfo for llvm::SequentialType"},
-    {"_ZTIN4llvm12FunctionTypeE", "typeinfo for llvm::FunctionType"},
-    {"_ZTIN4llvm10StructTypeE", "typeinfo for llvm::StructType"},
-    {"_ZTIN4llvm9ArrayTypeE", "typeinfo for llvm::ArrayType"},
-    {"_ZTIN4llvm10VectorTypeE", "typeinfo for llvm::VectorType"},
-    {"_ZTIN4llvm11PointerTypeE", "typeinfo for llvm::PointerType"},
-    {"_ZTVN4llvm15TypeSymbolTableE", "vtable for llvm::TypeSymbolTable"},
-    {"_ZTIN4llvm15TypeSymbolTableE", "typeinfo for llvm::TypeSymbolTable"},
-    {"_ZTVN4llvm10CallbackVHE", "vtable for llvm::CallbackVH"},
-    {"_ZTIN4llvm10CallbackVHE", "typeinfo for llvm::CallbackVH"},
-    {"_ZTVN12_GLOBAL__N_18VerifierE", "vtable for (anonymous namespace)::Verifier"},
-    {"_ZTIN4llvm11InstVisitorIN12_GLOBAL__N_18VerifierEvEE", "typeinfo for llvm::InstVisitor<(anonymous namespace)::Verifier, void>"},
-    {"_ZTIN12_GLOBAL__N_18VerifierE", "typeinfo for (anonymous namespace)::Verifier"},
-    {"_ZTVN12_GLOBAL__N_17TypeSetE", "vtable for (anonymous namespace)::TypeSet"},
-    {"_ZTIN12_GLOBAL__N_17TypeSetE", "typeinfo for (anonymous namespace)::TypeSet"},
-    {"_ZTVN12_GLOBAL__N_111PreVerifierE", "vtable for (anonymous namespace)::PreVerifier"},
-    {"_ZTIN12_GLOBAL__N_111PreVerifierE", "typeinfo for (anonymous namespace)::PreVerifier"},
-    {"_ZTVN4llvm14ARMInstPrinterE", "vtable for llvm::ARMInstPrinter"},
-    {"_ZTVN12_GLOBAL__N_118X86ELFObjectWriterE", "vtable for (anonymous namespace)::X86ELFObjectWriter"},
-    {"_ZTVN12_GLOBAL__N_115ELFObjectWriterE", "vtable for (anonymous namespace)::ELFObjectWriter"},
-    {"_ZTVN12_GLOBAL__N_121MBlazeELFObjectWriterE", "vtable for (anonymous namespace)::MBlazeELFObjectWriter"},
-    {"_ZTVN12_GLOBAL__N_118ARMELFObjectWriterE", "vtable for (anonymous namespace)::ARMELFObjectWriter"},
-    {"_ZTVN4llvm9MCAsmInfoE", "vtable for llvm::MCAsmInfo"},
-    {"_ZTVN12_GLOBAL__N_113MCAsmStreamerE", "vtable for (anonymous namespace)::MCAsmStreamer"},
-    {"_ZTVN4llvm10MCFragmentE", "vtable for llvm::MCFragment"},
-    {"_ZTVN4llvm13MCCodeEmitterE", "vtable for llvm::MCCodeEmitter"},
-    {"_ZTVN4llvm23MCELFObjectTargetWriterE", "vtable for llvm::MCELFObjectTargetWriter"},
-    {"_ZTVN12_GLOBAL__N_113MCELFStreamerE", "vtable for (anonymous namespace)::MCELFStreamer"},
-    {"_ZTVN4llvm12MCTargetExprE", "vtable for llvm::MCTargetExpr"},
-    {"_ZTVN4llvm13MCInstPrinterE", "vtable for llvm::MCInstPrinter"},
-    {"_ZTVN12_GLOBAL__N_117MCLoggingStreamerE", "vtable for (anonymous namespace)::MCLoggingStreamer"},
-    {"_ZTVN12_GLOBAL__N_115MCMachOStreamerE", "vtable for (anonymous namespace)::MCMachOStreamer"},
-    {"_ZTVN4llvm24MCMachObjectTargetWriterE", "vtable for llvm::MCMachObjectTargetWriter"},
-    {"_ZTVN12_GLOBAL__N_114MCNullStreamerE", "vtable for (anonymous namespace)::MCNullStreamer"},
-    {"_ZTVN4llvm16MCObjectStreamerE", "vtable for llvm::MCObjectStreamer"},
-    {"_ZTVN4llvm14MCObjectWriterE", "vtable for llvm::MCObjectWriter"},
-    {"_ZTVN4llvm9MCSectionE", "vtable for llvm::MCSection"},
-    {"_ZTVN4llvm13MCSectionCOFFE", "vtable for llvm::MCSectionCOFF"},
-    {"_ZTVN4llvm12MCSectionELFE", "vtable for llvm::MCSectionELF"},
-    {"_ZTVN4llvm14MCSectionMachOE", "vtable for llvm::MCSectionMachO"},
-    {"_ZTVN4llvm10MCStreamerE", "vtable for llvm::MCStreamer"},
-    {"_ZTVN12_GLOBAL__N_116MachObjectWriterE", "vtable for (anonymous namespace)::MachObjectWriter"},
-    {"_ZTVN4llvm16TargetAsmBackendE", "vtable for llvm::TargetAsmBackend"},
-    {"_ZZNK4llvm16TargetAsmBackend16getFixupKindInfoENS_11MCFixupKindEE8Builtins", "llvm::TargetAsmBackend::getFixupKindInfo(llvm::MCFixupKind) const::Builtins"},
-    {"_ZTVN12_GLOBAL__N_119WinCOFFObjectWriterE", "vtable for (anonymous namespace)::WinCOFFObjectWriter"},
-    {"_ZTVN12_GLOBAL__N_115WinCOFFStreamerE", "vtable for (anonymous namespace)::WinCOFFStreamer"},
-    {"_ZTVN4llvm13SlabAllocatorE", "vtable for llvm::SlabAllocator"},
-    {"_ZTVN4llvm19MallocSlabAllocatorE", "vtable for llvm::MallocSlabAllocator"},
-    {"_ZTIN4llvm13SlabAllocatorE", "typeinfo for llvm::SlabAllocator"},
-    {"_ZTIN4llvm19MallocSlabAllocatorE", "typeinfo for llvm::MallocSlabAllocator"},
-    {"_ZTVN4llvm2cl6OptionE", "vtable for llvm::cl::Option"},
-    {"_ZTIN4llvm2cl6OptionE", "typeinfo for llvm::cl::Option"},
-    {"_ZTVN4llvm2cl19generic_parser_baseE", "vtable for llvm::cl::generic_parser_base"},
-    {"_ZTIN4llvm2cl19generic_parser_baseE", "typeinfo for llvm::cl::generic_parser_base"},
-    {"_ZTIN4llvm2cl17basic_parser_implE", "typeinfo for llvm::cl::basic_parser_impl"},
-    {"_ZTVN4llvm2cl17basic_parser_implE", "vtable for llvm::cl::basic_parser_impl"},
-    {"_ZTVN4llvm2cl6parserIbEE", "vtable for llvm::cl::parser<bool>"},
-    {"_ZTIN4llvm2cl6parserIbEE", "typeinfo for llvm::cl::parser<bool>"},
-    {"_ZTVN4llvm2cl6parserINS0_13boolOrDefaultEEE", "vtable for llvm::cl::parser<llvm::cl::boolOrDefault>"},
-    {"_ZTIN4llvm2cl6parserINS0_13boolOrDefaultEEE", "typeinfo for llvm::cl::parser<llvm::cl::boolOrDefault>"},
-    {"_ZTVN4llvm2cl6parserIiEE", "vtable for llvm::cl::parser<int>"},
-    {"_ZTIN4llvm2cl6parserIiEE", "typeinfo for llvm::cl::parser<int>"},
-    {"_ZTVN4llvm2cl6parserIjEE", "vtable for llvm::cl::parser<unsigned int>"},
-    {"_ZTIN4llvm2cl6parserIjEE", "typeinfo for llvm::cl::parser<unsigned int>"},
-    {"_ZTVN4llvm2cl6parserIdEE", "vtable for llvm::cl::parser<double>"},
-    {"_ZTIN4llvm2cl6parserIdEE", "typeinfo for llvm::cl::parser<double>"},
-    {"_ZTVN4llvm2cl6parserIfEE", "vtable for llvm::cl::parser<float>"},
-    {"_ZTIN4llvm2cl6parserIfEE", "typeinfo for llvm::cl::parser<float>"},
-    {"_ZTVN4llvm2cl6parserISsEE", "vtable for llvm::cl::parser<std::string>"},
-    {"_ZTIN4llvm2cl6parserISsEE", "typeinfo for llvm::cl::parser<std::string>"},
-    {"_ZTVN4llvm2cl6parserIcEE", "vtable for llvm::cl::parser<char>"},
-    {"_ZTIN4llvm2cl6parserIcEE", "typeinfo for llvm::cl::parser<char>"},
-    {"_ZTVN4llvm2cl5aliasE", "vtable for llvm::cl::alias"},
-    {"_ZTIN4llvm2cl5aliasE", "typeinfo for llvm::cl::alias"},
-    {"_ZTIN4llvm2cl11opt_storageIN12_GLOBAL__N_114VersionPrinterELb1ELb1EEE", "typeinfo for llvm::cl::opt_storage<(anonymous namespace)::VersionPrinter, true, true>"},
-    {"_ZTIN4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEEE", "typeinfo for llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >"},
-    {"_ZTIN4llvm2cl11opt_storageIN12_GLOBAL__N_111HelpPrinterELb1ELb1EEE", "typeinfo for llvm::cl::opt_storage<(anonymous namespace)::HelpPrinter, true, true>"},
-    {"_ZTIN4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEEE", "typeinfo for llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >"},
-    {"_ZTIN4llvm3sys11ThreadLocalIKN12_GLOBAL__N_124CrashRecoveryContextImplEEE", "typeinfo for llvm::sys::ThreadLocal<(anonymous namespace)::CrashRecoveryContextImpl const>"},
-    {"_ZTVN4llvm14FoldingSetImplE", "vtable for llvm::FoldingSetImpl"},
-    {"_ZTIN4llvm14FoldingSetImplE", "typeinfo for llvm::FoldingSetImpl"},
-    {"_ZTVN4llvm21formatted_raw_ostreamE", "vtable for llvm::formatted_raw_ostream"},
-    {"_ZTIN4llvm21formatted_raw_ostreamE", "typeinfo for llvm::formatted_raw_ostream"},
-    {"_ZTVN4llvm12MemoryBufferE", "vtable for llvm::MemoryBuffer"},
-    {"_ZTIN4llvm12MemoryBufferE", "typeinfo for llvm::MemoryBuffer"},
-    {"_ZTVN12_GLOBAL__N_120MemoryBufferMMapFileE", "vtable for (anonymous namespace)::MemoryBufferMMapFile"},
-    {"_ZTIN12_GLOBAL__N_115MemoryBufferMemE", "typeinfo for (anonymous namespace)::MemoryBufferMem"},
-    {"_ZTIN12_GLOBAL__N_120MemoryBufferMMapFileE", "typeinfo for (anonymous namespace)::MemoryBufferMMapFile"},
-    {"_ZTVN12_GLOBAL__N_115MemoryBufferMemE", "vtable for (anonymous namespace)::MemoryBufferMem"},
-    {"_ZTVN4llvm21PrettyStackTraceEntryE", "vtable for llvm::PrettyStackTraceEntry"},
-    {"_ZTIN4llvm21PrettyStackTraceEntryE", "typeinfo for llvm::PrettyStackTraceEntry"},
-    {"_ZTVN4llvm22PrettyStackTraceStringE", "vtable for llvm::PrettyStackTraceString"},
-    {"_ZTIN4llvm22PrettyStackTraceStringE", "typeinfo for llvm::PrettyStackTraceString"},
-    {"_ZTVN4llvm23PrettyStackTraceProgramE", "vtable for llvm::PrettyStackTraceProgram"},
-    {"_ZTIN4llvm23PrettyStackTraceProgramE", "typeinfo for llvm::PrettyStackTraceProgram"},
-    {"_ZTVN4llvm3sys15ThreadLocalImplE", "vtable for llvm::sys::ThreadLocalImpl"},
-    {"_ZTIN4llvm3sys15ThreadLocalImplE", "typeinfo for llvm::sys::ThreadLocalImpl"},
-    {"_ZTVN4llvm11raw_ostreamE", "vtable for llvm::raw_ostream"},
-    {"_ZTVN4llvm14raw_fd_ostreamE", "vtable for llvm::raw_fd_ostream"},
-    {"_ZTVN4llvm18raw_string_ostreamE", "vtable for llvm::raw_string_ostream"},
-    {"_ZTVN4llvm19raw_svector_ostreamE", "vtable for llvm::raw_svector_ostream"},
-    {"_ZTVN4llvm16raw_null_ostreamE", "vtable for llvm::raw_null_ostream"},
-    {"_ZTIN4llvm11raw_ostreamE", "typeinfo for llvm::raw_ostream"},
-    {"_ZTIN4llvm18raw_string_ostreamE", "typeinfo for llvm::raw_string_ostream"},
-    {"_ZTIN4llvm16raw_null_ostreamE", "typeinfo for llvm::raw_null_ostream"},
-    {"_ZTVN4llvm18format_object_baseE", "vtable for llvm::format_object_base"},
-    {"_ZTIN4llvm18format_object_baseE", "typeinfo for llvm::format_object_base"},
-    {"_ZTIN4llvm14raw_fd_ostreamE", "typeinfo for llvm::raw_fd_ostream"},
-    {"_ZTIN4llvm19raw_svector_ostreamE", "typeinfo for llvm::raw_svector_ostream"},
-    {"_ZTVN4llvm14error_categoryE", "vtable for llvm::error_category"},
-    {"_ZTIN4llvm14error_categoryE", "typeinfo for llvm::error_category"},
-    {"_ZTVN4llvm11_do_messageE", "vtable for llvm::_do_message"},
-    {"_ZTIN4llvm11_do_messageE", "typeinfo for llvm::_do_message"},
-    {"_ZTVN4llvm23_generic_error_categoryE", "vtable for llvm::_generic_error_category"},
-    {"_ZTIN4llvm23_generic_error_categoryE", "typeinfo for llvm::_generic_error_category"},
-    {"_ZTVN4llvm22_system_error_categoryE", "vtable for llvm::_system_error_category"},
-    {"_ZTIN4llvm22_system_error_categoryE", "typeinfo for llvm::_system_error_category"},
-    {"_ZTVN5clang17PreprocessorLexerE", "vtable for clang::PreprocessorLexer"},
-    {"_ZTVN5clang6driver5tools6darwin10DarwinToolE", "vtable for clang::driver::tools::darwin::DarwinTool"},
-    {"_ZTVN5clang6driver5tools6darwin3CC1E", "vtable for clang::driver::tools::darwin::CC1"},
-    {"_ZTVN5clang19FileSystemStatCacheE", "vtable for clang::FileSystemStatCache"},
-    {"_ZTVN5clang13CodeGeneratorE", "vtable for clang::CodeGenerator"},
-    {"_ZTVN5clang14reachable_code8CallbackE", "vtable for clang::reachable_code::Callback"},
-    {"_ZTVN5clang15InheritableAttrE", "vtable for clang::InheritableAttr"},
-    {"_ZTVN5clang4ento9SubEngineE", "vtable for clang::ento::SubEngine"},
-    {"_ZTVN5clang4ento12SubRegionMapE", "vtable for clang::ento::SubRegionMap"},
-    {"_ZTVN5clang4ento9BugReport12NodeResolverE", "vtable for clang::ento::BugReport::NodeResolver"},
-    {"_ZTVN5clang4ento7GRState7PrinterE", "vtable for clang::ento::GRState::Printer"},
-    {"_ZTVN5clang4ento12SubRegionMap7VisitorE", "vtable for clang::ento::SubRegionMap::Visitor"},
-    {"_ZTVN5clang4ento11TypedRegionE", "vtable for clang::ento::TypedRegion"},
-    {"_ZTVN5clang4ento14CodeTextRegionE", "vtable for clang::ento::CodeTextRegion"},
-    {"_ZTVN5clang4ento11SValBuilderE", "vtable for clang::ento::SValBuilder"},
-    {"_ZTVN5clang4ento7SymExprE", "vtable for clang::ento::SymExpr"},
-    {"_ZTVN5clang4ento10SymbolDataE", "vtable for clang::ento::SymbolData"},
-    {"_ZTVN5clang13MangleContextE", "vtable for clang::MangleContext"},
-    {"_ZTVN4llvm18MCParsedAsmOperandE", "vtable for llvm::MCParsedAsmOperand"},
-    {"_ZTVN4llvm24MachineConstantPoolValueE", "vtable for llvm::MachineConstantPoolValue"},
-    {"_ZTVN4llvm13TargetJITInfoE", "vtable for llvm::TargetJITInfo"},
-    {"_ZTVN4llvm27MachinePassRegistryListenerE", "vtable for llvm::MachinePassRegistryListener"},
-    {"_ZTVN4llvm8DIEValueE", "vtable for llvm::DIEValue"},
-    {"_ZTVN4llvm23SchedulingPriorityQueueE", "vtable for llvm::SchedulingPriorityQueue"},
-    {"_ZTVN4llvm7SpillerE", "vtable for llvm::Spiller"},
-    {"_ZTIN4llvm10FoldingSetINS_17AttributeListImplEEE", "typeinfo for llvm::FoldingSet<llvm::AttributeListImpl>"},
-    {"_ZTIN4llvm15ilist_half_nodeINS_10BasicBlockEEE", "typeinfo for llvm::ilist_half_node<llvm::BasicBlock>"},
-    {"_ZTIN4llvm10ilist_nodeINS_10BasicBlockEEE", "typeinfo for llvm::ilist_node<llvm::BasicBlock>"},
-    {"_ZTIN4llvm4UserE", "typeinfo for llvm::User"},
-    {"_ZTIN4llvm8ConstantE", "typeinfo for llvm::Constant"},
-    {"_ZTIN4llvm25GetElementPtrConstantExprE", "typeinfo for llvm::GetElementPtrConstantExpr"},
-    {"_ZTIN4llvm11ConstantIntE", "typeinfo for llvm::ConstantInt"},
-    {"_ZTVN4llvm8ConstantE", "vtable for llvm::Constant"},
-    {"_ZTIN4llvm19CompareConstantExprE", "typeinfo for llvm::CompareConstantExpr"},
-    {"_ZTIN4llvm24ExtractValueConstantExprE", "typeinfo for llvm::ExtractValueConstantExpr"},
-    {"_ZTIN4llvm23InsertValueConstantExprE", "typeinfo for llvm::InsertValueConstantExpr"},
-    {"_ZTIN4llvm25ShuffleVectorConstantExprE", "typeinfo for llvm::ShuffleVectorConstantExpr"},
-    {"_ZTIN4llvm25InsertElementConstantExprE", "typeinfo for llvm::InsertElementConstantExpr"},
-    {"_ZTIN4llvm26ExtractElementConstantExprE", "typeinfo for llvm::ExtractElementConstantExpr"},
-    {"_ZTIN4llvm18SelectConstantExprE", "typeinfo for llvm::SelectConstantExpr"},
-    {"_ZTIN4llvm18BinaryConstantExprE", "typeinfo for llvm::BinaryConstantExpr"},
-    {"_ZTIN4llvm17UnaryConstantExprE", "typeinfo for llvm::UnaryConstantExpr"},
-    {"_ZTIN4llvm13DominatorBaseINS_10BasicBlockEEE", "typeinfo for llvm::DominatorBase<llvm::BasicBlock>"},
-    {"_ZTIN4llvm17DominatorTreeBaseINS_10BasicBlockEEE", "typeinfo for llvm::DominatorTreeBase<llvm::BasicBlock>"},
-    {"_ZTIN4llvm15ilist_half_nodeINS_8FunctionEEE", "typeinfo for llvm::ilist_half_node<llvm::Function>"},
-    {"_ZTIN4llvm10ilist_nodeINS_8FunctionEEE", "typeinfo for llvm::ilist_node<llvm::Function>"},
-    {"_ZTIN4llvm15ilist_half_nodeINS_8ArgumentEEE", "typeinfo for llvm::ilist_half_node<llvm::Argument>"},
-    {"_ZTIN4llvm10ilist_nodeINS_8ArgumentEEE", "typeinfo for llvm::ilist_node<llvm::Argument>"},
-    {"_ZTIN4llvm8ArgumentE", "typeinfo for llvm::Argument"},
-    {"_ZTIN4llvm15ilist_half_nodeINS_14GlobalVariableEEE", "typeinfo for llvm::ilist_half_node<llvm::GlobalVariable>"},
-    {"_ZTIN4llvm10ilist_nodeINS_14GlobalVariableEEE", "typeinfo for llvm::ilist_node<llvm::GlobalVariable>"},
-    {"_ZTIN4llvm15ilist_half_nodeINS_11GlobalAliasEEE", "typeinfo for llvm::ilist_half_node<llvm::GlobalAlias>"},
-    {"_ZTIN4llvm10ilist_nodeINS_11GlobalAliasEEE", "typeinfo for llvm::ilist_node<llvm::GlobalAlias>"},
-    {"_ZTIN4llvm15ilist_half_nodeINS_11InstructionEEE", "typeinfo for llvm::ilist_half_node<llvm::Instruction>"},
-    {"_ZTIN4llvm10ilist_nodeINS_11InstructionEEE", "typeinfo for llvm::ilist_node<llvm::Instruction>"},
-    {"_ZTIN4llvm8CastInstE", "typeinfo for llvm::CastInst"},
-    {"_ZTVN4llvm8CastInstE", "vtable for llvm::CastInst"},
-    {"_ZTIN4llvm15ValueHandleBaseE", "typeinfo for llvm::ValueHandleBase"},
-    {"_ZTIN4llvm10FoldingSetINS_6MDNodeEEE", "typeinfo for llvm::FoldingSet<llvm::MDNode>"},
-    {"_ZTIN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EEE", "typeinfo for llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>"},
-    {"_ZTIN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EEE", "typeinfo for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>"},
-    {"_ZTIN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EEE", "typeinfo for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>"},
-    {"_ZTIN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EEE", "typeinfo for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>"},
-    {"_ZTIN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EEE", "typeinfo for llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>"},
-    {"_ZTIN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EEE", "typeinfo for llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>"},
-    {"_ZTIN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EEE", "typeinfo for llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>"},
-    {"_ZTIN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EEE", "typeinfo for llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>"},
-    {"_ZTIN4llvm11DerivedTypeE", "typeinfo for llvm::DerivedType"},
-    {"_ZTIN4llvm11IntegerTypeE", "typeinfo for llvm::IntegerType"},
-    {"_ZTIN4llvm14FoldingSetImpl4NodeE", "typeinfo for llvm::FoldingSetImpl::Node"},
-    {"_ZTIN4llvm8MDStringE", "typeinfo for llvm::MDString"},
-    {"_ZTIN4llvm2cl6parserIPKNS_8PassInfoEEE", "typeinfo for llvm::cl::parser<llvm::PassInfo const*>"},
-    {"_ZTIN4llvm2cl11opt_storageIbLb1ELb0EEE", "typeinfo for llvm::cl::opt_storage<bool, true, false>"},
-    {"_ZTIN4llvm2cl3optIbLb1ENS0_6parserIbEEEE", "typeinfo for llvm::cl::opt<bool, true, llvm::cl::parser<bool> >"},
-    {"_ZTISt12_Vector_baseIPKN4llvm8PassInfoESaIS3_EE", "typeinfo for std::_Vector_base<llvm::PassInfo const*, std::allocator<llvm::PassInfo const*> >"},
-    {"_ZTISt6vectorIPKN4llvm8PassInfoESaIS3_EE", "typeinfo for std::vector<llvm::PassInfo const*, std::allocator<llvm::PassInfo const*> >"},
-    {"_ZTIN4llvm2cl12list_storageIPKNS_8PassInfoEbEE", "typeinfo for llvm::cl::list_storage<llvm::PassInfo const*, bool>"},
-    {"_ZTIN4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEEE", "typeinfo for llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>"},
-    {"_ZTIN4llvm2cl11opt_storageINS_14PassDebugLevelELb0ELb0EEE", "typeinfo for llvm::cl::opt_storage<llvm::PassDebugLevel, false, false>"},
-    {"_ZTIN4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEEE", "typeinfo for llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >"},
-    {"_ZTIN4llvm2cl6parserINS_14PassDebugLevelEEE", "typeinfo for llvm::cl::parser<llvm::PassDebugLevel>"},
-    {"_ZTIN4llvm15PassManagerImplE", "typeinfo for llvm::PassManagerImpl"},
-    {"_ZTIN4llvm23FunctionPassManagerImplE", "typeinfo for llvm::FunctionPassManagerImpl"},
-    {"_ZTIN4llvm13CompositeTypeE", "typeinfo for llvm::CompositeType"},
-    {"_ZTIN4llvm10OpaqueTypeE", "typeinfo for llvm::OpaqueType"},
-    {"_ZTVN4llvm13CompositeTypeE", "vtable for llvm::CompositeType"},
-    {"_ZTIN4llvm2cl12basic_parserIbEE", "typeinfo for llvm::cl::basic_parser<bool>"},
-    {"_ZTIN4llvm2cl12basic_parserINS0_13boolOrDefaultEEE", "typeinfo for llvm::cl::basic_parser<llvm::cl::boolOrDefault>"},
-    {"_ZTIN4llvm2cl12basic_parserIiEE", "typeinfo for llvm::cl::basic_parser<int>"},
-    {"_ZTIN4llvm2cl12basic_parserIjEE", "typeinfo for llvm::cl::basic_parser<unsigned int>"},
-    {"_ZTIN4llvm2cl12basic_parserIdEE", "typeinfo for llvm::cl::basic_parser<double>"},
-    {"_ZTIN4llvm2cl12basic_parserIfEE", "typeinfo for llvm::cl::basic_parser<float>"},
-    {"_ZTIN4llvm2cl12basic_parserISsEE", "typeinfo for llvm::cl::basic_parser<std::string>"},
-    {"_ZTIN4llvm2cl12basic_parserIcEE", "typeinfo for llvm::cl::basic_parser<char>"},
-    {"_ZTIN4llvm2cl11opt_storageIjLb0ELb0EEE", "typeinfo for llvm::cl::opt_storage<unsigned int, false, false>"},
-    {"_ZTIN4llvm2cl3optIjLb0ENS0_6parserIjEEEE", "typeinfo for llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >"},
-    {"_ZTIN4llvm2cl11opt_storageIiLb0ELb0EEE", "typeinfo for llvm::cl::opt_storage<int, false, false>"},
-    {"_ZTIN4llvm2cl3optIiLb0ENS0_6parserIiEEEE", "typeinfo for llvm::cl::opt<int, false, llvm::cl::parser<int> >"},
-    {"_ZTISs", "typeinfo for std::string"},
-    {"_ZTIN4llvm2cl11opt_storageISsLb0ELb1EEE", "typeinfo for llvm::cl::opt_storage<std::string, false, true>"},
-    {"_ZTIN4llvm2cl3optISsLb0ENS0_6parserISsEEEE", "typeinfo for llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >"},
-    {"_ZTIN4llvm2cl11opt_storageIcLb0ELb0EEE", "typeinfo for llvm::cl::opt_storage<char, false, false>"},
-    {"_ZTIN4llvm2cl3optIcLb0ENS0_6parserIcEEEE", "typeinfo for llvm::cl::opt<char, false, llvm::cl::parser<char> >"},
-    {"_ZTIN4llvm2cl11opt_storageIbLb0ELb0EEE", "typeinfo for llvm::cl::opt_storage<bool, false, false>"},
-    {"_ZTIN4llvm2cl3optIbLb0ENS0_6parserIbEEEE", "typeinfo for llvm::cl::opt<bool, false, llvm::cl::parser<bool> >"},
-    {"_ZTIN4llvm3sys11ThreadLocalIKNS_21PrettyStackTraceEntryEEE", "typeinfo for llvm::sys::ThreadLocal<llvm::PrettyStackTraceEntry const>"},
-    {"_ZTIN4llvm14format_object1IxEE", "typeinfo for llvm::format_object1<long long>"},
-    {"_ZTIN4llvm14format_object1IdEE", "typeinfo for llvm::format_object1<double>"},
-    {"_ZTIN4llvm2cl11opt_storageISsLb1ELb1EEE", "typeinfo for llvm::cl::opt_storage<std::string, true, true>"},
-    {"_ZTIN4llvm2cl3optISsLb1ENS0_6parserISsEEEE", "typeinfo for llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >"},
-    {"_ZN4llvm8RegistryIN5clang15PluginASTActionENS_14RegistryTraitsIS2_EEE4HeadE", "llvm::Registry<clang::PluginASTAction, llvm::RegistryTraits<clang::PluginASTAction> >::Head"},
-    {"_ZTVN5clang23ChainedDiagnosticClientE", "vtable for clang::ChainedDiagnosticClient"},
-    {"_ZTVN5clang5LexerE", "vtable for clang::Lexer"},
-    {"_ZTVN5clang12SemaConsumerE", "vtable for clang::SemaConsumer"},
-    {"_ZTVN5clang6driver11InputActionE", "vtable for clang::driver::InputAction"},
-    {"_ZTVN5clang6driver14BindArchActionE", "vtable for clang::driver::BindArchAction"},
-    {"_ZTVN5clang6driver9JobActionE", "vtable for clang::driver::JobAction"},
-    {"_ZTVN5clang6driver19PreprocessJobActionE", "vtable for clang::driver::PreprocessJobAction"},
-    {"_ZTVN5clang6driver19PrecompileJobActionE", "vtable for clang::driver::PrecompileJobAction"},
-    {"_ZTVN5clang6driver16AnalyzeJobActionE", "vtable for clang::driver::AnalyzeJobAction"},
-    {"_ZTVN5clang6driver16CompileJobActionE", "vtable for clang::driver::CompileJobAction"},
-    {"_ZTVN5clang6driver17AssembleJobActionE", "vtable for clang::driver::AssembleJobAction"},
-    {"_ZTVN5clang6driver13LinkJobActionE", "vtable for clang::driver::LinkJobAction"},
-    {"_ZTVN5clang6driver13LipoJobActionE", "vtable for clang::driver::LipoJobAction"},
-    {"_ZTVN5clang6driver17DsymutilJobActionE", "vtable for clang::driver::DsymutilJobAction"},
-    {"_ZTVN5clang6driver7CommandE", "vtable for clang::driver::Command"},
-    {"_ZTVN5clang6driver10toolchains11Generic_ELFE", "vtable for clang::driver::toolchains::Generic_ELF"},
-    {"_ZTVN5clang7CodeGen12EHScopeStack19ConditionalCleanup1IN12_GLOBAL__N_113FreeExceptionEPN4llvm5ValueEEE", "vtable for clang::CodeGen::EHScopeStack::ConditionalCleanup1<(anonymous namespace)::FreeException, llvm::Value*>"},
-    {"_ZTVN5clang7CodeGen12EHScopeStack21UnconditionalCleanup1IN12_GLOBAL__N_113FreeExceptionEPN4llvm5ValueEEE", "vtable for clang::CodeGen::EHScopeStack::UnconditionalCleanup1<(anonymous namespace)::FreeException, llvm::Value*>"},
-    {"_ZTVN5clang7CodeGen12EHScopeStack19ConditionalCleanup2IN12_GLOBAL__N_116DestroyTemporaryEPKNS_17CXXDestructorDeclEPN4llvm5ValueEEE", "vtable for clang::CodeGen::EHScopeStack::ConditionalCleanup2<(anonymous namespace)::DestroyTemporary, clang::CXXDestructorDecl const*, llvm::Value*>"},
-    {"_ZTVN5clang7CodeGen12EHScopeStack21UnconditionalCleanup2IN12_GLOBAL__N_116DestroyTemporaryEPKNS_17CXXDestructorDeclEPN4llvm5ValueEEE", "vtable for clang::CodeGen::EHScopeStack::UnconditionalCleanup2<(anonymous namespace)::DestroyTemporary, clang::CXXDestructorDecl const*, llvm::Value*>"},
-    {"_ZTVN5clang18EmitAssemblyActionE", "vtable for clang::EmitAssemblyAction"},
-    {"_ZTVN5clang12EmitBCActionE", "vtable for clang::EmitBCAction"},
-    {"_ZTVN5clang14EmitLLVMActionE", "vtable for clang::EmitLLVMAction"},
-    {"_ZTVN5clang18EmitLLVMOnlyActionE", "vtable for clang::EmitLLVMOnlyAction"},
-    {"_ZTVN5clang21EmitCodeGenOnlyActionE", "vtable for clang::EmitCodeGenOnlyAction"},
-    {"_ZTVN5clang13EmitObjActionE", "vtable for clang::EmitObjAction"},
-    {"_ZTVN5clang15BackendConsumerE", "vtable for clang::BackendConsumer"},
-    {"_ZTVN4llvm10FoldingSetIN5clang7CodeGen14CGFunctionInfoEEE", "vtable for llvm::FoldingSet<clang::CodeGen::CGFunctionInfo>"},
-    {"_ZTVN5clang6Parser20ObjCPropertyCallbackE", "vtable for clang::Parser::ObjCPropertyCallback"},
-    {"_ZTVN5clang15UsingShadowDeclE", "vtable for clang::UsingShadowDecl"},
-    {"_ZTVN5clang14AccessSpecDeclE", "vtable for clang::AccessSpecDecl"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126AdjustedReturnValueCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::AdjustedReturnValueChecker>"},
-    {"_ZTVN5clang4ento15AnalysisManagerE", "vtable for clang::ento::AnalysisManager"},
-    {"_ZTVN4llvm10FoldingSetIN5clang15LocationContextEEE", "vtable for llvm::FoldingSet<clang::LocationContext>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120AnalyzerStatsCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::AnalyzerStatsChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ArrayBoundCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundChecker>"},
-    {"_ZTVN5clang4ento10BuiltinBugE", "vtable for clang::ento::BuiltinBug"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ArrayBoundCheckerV2EEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::ArrayBoundCheckerV2>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118AttrNonNullCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::AttrNonNullChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ClassReleaseCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::ClassReleaseChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_122CFRetainReleaseCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::CFRetainReleaseChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CFNumberCreateCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::CFNumberCreateChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113NilArgCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::NilArgChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114CStringCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::CStringChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_121CallAndMessageCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::CallAndMessageChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_115CastSizeCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::CastSizeChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119CastToStructCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::CastToStructChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113ChrootCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::ChrootChecker>"},
-    {"_ZTVN5clang24LiveVariables_ValueTypes10ObserverTyE", "vtable for clang::LiveVariables_ValueTypes::ObserverTy"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114DivZeroCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::DivZeroChecker>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang4ento7GRStateEEE", "vtable for llvm::FoldingSet<clang::ento::GRState>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang4ento12ExplodedNodeEEE", "vtable for llvm::FoldingSet<clang::ento::ExplodedNode>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119FixedAddressCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::FixedAddressChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126IdempotentOperationCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::IdempotentOperationChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_116MacOSXAPICheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::MacOSXAPIChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113MallocCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::MallocChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_124NSAutoreleasePoolCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::NSAutoreleasePoolChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_123NoReturnFunctionCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::NoReturnFunctionChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117ObjCAtSyncCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::ObjCAtSyncChecker>"},
-    {"_ZZN5clang4ento12GRStateTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEjNS2_16ImutKeyValueInfoIS6_jEEEEE8GDMIndexEvE5index", "clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, unsigned int, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, unsigned int> > >::GDMIndex()::index"},
-    {"_ZTVN4llvm10FoldingSetIN5clang4ento19BugReportEquivClassEEE", "vtable for llvm::FoldingSet<clang::ento::BugReportEquivClass>"},
-    {"_ZTVN5clang4ento17EnhancedBugReportE", "vtable for clang::ento::EnhancedBugReport"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119ObjCSelfInitCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::ObjCSelfInitChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_119PointerArithCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::PointerArithChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_117PointerSubCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::PointerSubChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118PthreadLockCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::PthreadLockChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_125ReturnPointerRangeCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::ReturnPointerRangeChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118ReturnUndefCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::ReturnUndefChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120StackAddrLeakCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::StackAddrLeakChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_113StreamCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::StreamChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_128UndefCapturedBlockVarCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::UndefCapturedBlockVarChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_118UndefResultCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::UndefResultChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_130UndefinedArraySubscriptCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedArraySubscriptChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_126UndefinedAssignmentCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::UndefinedAssignmentChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114UnixAPICheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::UnixAPIChecker>"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_114VLASizeCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::VLASizeChecker>"},
-    {"_ZTVN4llvm21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES4_EEE", "vtable for llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> >"},
-    {"_ZTVN4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValES5_EEEEE", "vtable for llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, clang::ento::SVal> > >"},
-    {"_ZTVN4llvm21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEEE", "vtable for llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> >"},
-    {"_ZTVN4llvm10FoldingSetINS_21FoldingSetNodeWrapperISt4pairIN5clang4ento4SValEmEEEEE", "vtable for llvm::FoldingSet<llvm::FoldingSetNodeWrapper<std::pair<clang::ento::SVal, unsigned long> > >"},
-    {"_ZTVN4llvm21FoldingSetNodeWrapperINS_6APSIntEEE", "vtable for llvm::FoldingSetNodeWrapper<llvm::APSInt>"},
-    {"_ZTVN4llvm10FoldingSetINS_17ImmutableListImplIN5clang4ento4SValEEEEE", "vtable for llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SVal> >"},
-    {"_ZTVN4llvm10FoldingSetINS_21FoldingSetNodeWrapperINS_6APSIntEEEEE", "vtable for llvm::FoldingSet<llvm::FoldingSetNodeWrapper<llvm::APSInt> >"},
-    {"_ZTVN4llvm10FoldingSetIN5clang4ento15CompoundValDataEEE", "vtable for llvm::FoldingSet<clang::ento::CompoundValData>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang4ento19LazyCompoundValDataEEE", "vtable for llvm::FoldingSet<clang::ento::LazyCompoundValData>"},
-    {"_ZTVN4llvm10FoldingSetINS_17ImmutableListImplIPN5clang4ento18BugReporterVisitorEEEEE", "vtable for llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::BugReporterVisitor*> >"},
-    {"_ZTVN5clang4ento13DiagBugReportE", "vtable for clang::ento::DiagBugReport"},
-    {"_ZTVN4llvm10FoldingSetIN12_GLOBAL__N_113DiagCacheItemEEE", "vtable for llvm::FoldingSet<(anonymous namespace)::DiagCacheItem>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang4ento18BugReporterVisitorEEE", "vtable for llvm::FoldingSet<clang::ento::BugReporterVisitor>"},
-    {"_ZTVN4llvm10FoldingSetINS_17ImmutableListImplIPKN5clang4ento10SymbolDataEEEEE", "vtable for llvm::FoldingSet<llvm::ImmutableListImpl<clang::ento::SymbolData const*> >"},
-    {"_ZTVN5clang4ento14CheckerVisitorIN12_GLOBAL__N_120RetainReleaseCheckerEEE", "vtable for clang::ento::CheckerVisitor<(anonymous namespace)::RetainReleaseChecker>"},
-    {"_ZTVN5clang4ento13TransferFuncsE", "vtable for clang::ento::TransferFuncs"},
-    {"_ZTVN5clang4ento21InterExplodedGraphMapE", "vtable for clang::ento::InterExplodedGraphMap"},
-    {"_ZTVN5clang4ento18UnknownSpaceRegionE", "vtable for clang::ento::UnknownSpaceRegion"},
-    {"_ZTVN5clang4ento15HeapSpaceRegionE", "vtable for clang::ento::HeapSpaceRegion"},
-    {"_ZTVN5clang4ento18GlobalsSpaceRegionE", "vtable for clang::ento::GlobalsSpaceRegion"},
-    {"_ZTVN5clang4ento25StackArgumentsSpaceRegionE", "vtable for clang::ento::StackArgumentsSpaceRegion"},
-    {"_ZTVN5clang4ento22StackLocalsSpaceRegionE", "vtable for clang::ento::StackLocalsSpaceRegion"},
-    {"_ZTVN4llvm10FoldingSetIN5clang4ento9MemRegionEEE", "vtable for llvm::FoldingSet<clang::ento::MemRegion>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang4ento7SymExprEEE", "vtable for llvm::FoldingSet<clang::ento::SymExpr>"},
-    {"_ZTVN5clang24LiveVariables_ValueTypes14AnalysisDataTyE", "vtable for clang::LiveVariables_ValueTypes::AnalysisDataTy"},
-    {"_ZTVN5clang23StmtDeclBitVector_Types14AnalysisDataTyE", "vtable for clang::StmtDeclBitVector_Types::AnalysisDataTy"},
-    {"_ZTVN5clang19DeclBitVector_Types14AnalysisDataTyE", "vtable for clang::DeclBitVector_Types::AnalysisDataTy"},
-    {"_ZTVN4llvm14format_object1IjEE", "vtable for llvm::format_object1<unsigned int>"},
-    {"_ZTVN5clang30UninitializedValues_ValueTypes14AnalysisDataTyE", "vtable for clang::UninitializedValues_ValueTypes::AnalysisDataTy"},
-    {"_ZTVN4llvm10FoldingSetIN5clang3idx10EntityImplEEE", "vtable for llvm::FoldingSet<clang::idx::EntityImpl>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang10ASTContext29CanonicalTemplateTemplateParmEEE", "vtable for llvm::FoldingSet<clang::ASTContext::CanonicalTemplateTemplateParm>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang19NestedNameSpecifierEEE", "vtable for llvm::FoldingSet<clang::NestedNameSpecifier>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang36SubstTemplateTemplateParmPackStorageEEE", "vtable for llvm::FoldingSet<clang::SubstTemplateTemplateParmPackStorage>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang21DependentTemplateNameEEE", "vtable for llvm::FoldingSet<clang::DependentTemplateName>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang21QualifiedTemplateNameEEE", "vtable for llvm::FoldingSet<clang::QualifiedTemplateName>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang14AttributedTypeEEE", "vtable for llvm::FoldingSet<clang::AttributedType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang21ObjCObjectPointerTypeEEE", "vtable for llvm::FoldingSet<clang::ObjCObjectPointerType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang18ObjCObjectTypeImplEEE", "vtable for llvm::FoldingSet<clang::ObjCObjectTypeImpl>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang17PackExpansionTypeEEE", "vtable for llvm::FoldingSet<clang::PackExpansionType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang17DependentNameTypeEEE", "vtable for llvm::FoldingSet<clang::DependentNameType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang14ElaboratedTypeEEE", "vtable for llvm::FoldingSet<clang::ElaboratedType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang9ParenTypeEEE", "vtable for llvm::FoldingSet<clang::ParenType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang29SubstTemplateTypeParmPackTypeEEE", "vtable for llvm::FoldingSet<clang::SubstTemplateTypeParmPackType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang25SubstTemplateTypeParmTypeEEE", "vtable for llvm::FoldingSet<clang::SubstTemplateTypeParmType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang20TemplateTypeParmTypeEEE", "vtable for llvm::FoldingSet<clang::TemplateTypeParmType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang21DependentDecltypeTypeEEE", "vtable for llvm::FoldingSet<clang::DependentDecltypeType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang23DependentTypeOfExprTypeEEE", "vtable for llvm::FoldingSet<clang::DependentTypeOfExprType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang17FunctionProtoTypeEEE", "vtable for llvm::FoldingSet<clang::FunctionProtoType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang19FunctionNoProtoTypeEEE", "vtable for llvm::FoldingSet<clang::FunctionNoProtoType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang10VectorTypeEEE", "vtable for llvm::FoldingSet<clang::VectorType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang27DependentSizedExtVectorTypeEEE", "vtable for llvm::FoldingSet<clang::DependentSizedExtVectorType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang23DependentSizedArrayTypeEEE", "vtable for llvm::FoldingSet<clang::DependentSizedArrayType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang19IncompleteArrayTypeEEE", "vtable for llvm::FoldingSet<clang::IncompleteArrayType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang17ConstantArrayTypeEEE", "vtable for llvm::FoldingSet<clang::ConstantArrayType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang17MemberPointerTypeEEE", "vtable for llvm::FoldingSet<clang::MemberPointerType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang19RValueReferenceTypeEEE", "vtable for llvm::FoldingSet<clang::RValueReferenceType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang19LValueReferenceTypeEEE", "vtable for llvm::FoldingSet<clang::LValueReferenceType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang16BlockPointerTypeEEE", "vtable for llvm::FoldingSet<clang::BlockPointerType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang11PointerTypeEEE", "vtable for llvm::FoldingSet<clang::PointerType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang11ComplexTypeEEE", "vtable for llvm::FoldingSet<clang::ComplexType>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang8ExtQualsEEE", "vtable for llvm::FoldingSet<clang::ExtQuals>"},
-    {"_ZTVN4llvm20ContextualFoldingSetIN5clang35DependentTemplateSpecializationTypeERNS1_10ASTContextEEE", "vtable for llvm::ContextualFoldingSet<clang::DependentTemplateSpecializationType, clang::ASTContext&>"},
-    {"_ZTVN4llvm20ContextualFoldingSetIN5clang26TemplateSpecializationTypeERNS1_10ASTContextEEE", "vtable for llvm::ContextualFoldingSet<clang::TemplateSpecializationType, clang::ASTContext&>"},
-    {"_ZTVN5clang8TypeDeclE", "vtable for clang::TypeDecl"},
-    {"_ZTVN5clang9NamedDeclE", "vtable for clang::NamedDecl"},
-    {"_ZTVN5clang9ValueDeclE", "vtable for clang::ValueDecl"},
-    {"_ZTVN5clang14DeclaratorDeclE", "vtable for clang::DeclaratorDecl"},
-    {"_ZTVN5clang16FileScopeAsmDeclE", "vtable for clang::FileScopeAsmDecl"},
-    {"_ZTVN5clang11TypedefDeclE", "vtable for clang::TypedefDecl"},
-    {"_ZTVN5clang17IndirectFieldDeclE", "vtable for clang::IndirectFieldDecl"},
-    {"_ZTVN5clang17ImplicitParamDeclE", "vtable for clang::ImplicitParamDecl"},
-    {"_ZTVN5clang13NamespaceDeclE", "vtable for clang::NamespaceDecl"},
-    {"_ZTVN5clang19TranslationUnitDeclE", "vtable for clang::TranslationUnitDecl"},
-    {"_ZTVN5clang8EnumDeclE", "vtable for clang::EnumDecl"},
-    {"_ZTVN5clang9FieldDeclE", "vtable for clang::FieldDecl"},
-    {"_ZTVN5clang11ParmVarDeclE", "vtable for clang::ParmVarDecl"},
-    {"_ZTVN5clang16StaticAssertDeclE", "vtable for clang::StaticAssertDecl"},
-    {"_ZTVN5clang27UnresolvedUsingTypenameDeclE", "vtable for clang::UnresolvedUsingTypenameDecl"},
-    {"_ZTVN5clang24UnresolvedUsingValueDeclE", "vtable for clang::UnresolvedUsingValueDecl"},
-    {"_ZTVN5clang9UsingDeclE", "vtable for clang::UsingDecl"},
-    {"_ZTVN5clang18NamespaceAliasDeclE", "vtable for clang::NamespaceAliasDecl"},
-    {"_ZTVN5clang18UsingDirectiveDeclE", "vtable for clang::UsingDirectiveDecl"},
-    {"_ZTVN5clang15LinkageSpecDeclE", "vtable for clang::LinkageSpecDecl"},
-    {"_ZTVN5clang17CXXConversionDeclE", "vtable for clang::CXXConversionDecl"},
-    {"_ZTVN5clang13CXXMethodDeclE", "vtable for clang::CXXMethodDecl"},
-    {"_ZTVN5clang17CXXDestructorDeclE", "vtable for clang::CXXDestructorDecl"},
-    {"_ZTVN5clang18CXXConstructorDeclE", "vtable for clang::CXXConstructorDecl"},
-    {"_ZTVN5clang10FriendDeclE", "vtable for clang::FriendDecl"},
-    {"_ZTVN5clang17ObjCInterfaceDeclE", "vtable for clang::ObjCInterfaceDecl"},
-    {"_ZTVN5clang23ObjCForwardProtocolDeclE", "vtable for clang::ObjCForwardProtocolDecl"},
-    {"_ZTVN5clang17ObjCContainerDeclE", "vtable for clang::ObjCContainerDecl"},
-    {"_ZTVN5clang16ObjCPropertyDeclE", "vtable for clang::ObjCPropertyDecl"},
-    {"_ZTVN5clang23ObjCCompatibleAliasDeclE", "vtable for clang::ObjCCompatibleAliasDecl"},
-    {"_ZTVN5clang22ObjCImplementationDeclE", "vtable for clang::ObjCImplementationDecl"},
-    {"_ZTVN5clang12ObjCImplDeclE", "vtable for clang::ObjCImplDecl"},
-    {"_ZTVN5clang20ObjCCategoryImplDeclE", "vtable for clang::ObjCCategoryImplDecl"},
-    {"_ZTVN5clang16ObjCCategoryDeclE", "vtable for clang::ObjCCategoryDecl"},
-    {"_ZTVN5clang16ObjCProtocolDeclE", "vtable for clang::ObjCProtocolDecl"},
-    {"_ZTVN5clang19ObjCAtDefsFieldDeclE", "vtable for clang::ObjCAtDefsFieldDecl"},
-    {"_ZTVN5clang12ObjCIvarDeclE", "vtable for clang::ObjCIvarDecl"},
-    {"_ZTVN5clang12TemplateDeclE", "vtable for clang::TemplateDecl"},
-    {"_ZTVN5clang18FriendTemplateDeclE", "vtable for clang::FriendTemplateDecl"},
-    {"_ZTVN5clang38ClassTemplatePartialSpecializationDeclE", "vtable for clang::ClassTemplatePartialSpecializationDecl"},
-    {"_ZTVN5clang24TemplateTemplateParmDeclE", "vtable for clang::TemplateTemplateParmDecl"},
-    {"_ZTVN5clang20TemplateTypeParmDeclE", "vtable for clang::TemplateTypeParmDecl"},
-    {"_ZTVN4llvm10FoldingSetIN5clang38ClassTemplatePartialSpecializationDeclEEE", "vtable for llvm::FoldingSet<clang::ClassTemplatePartialSpecializationDecl>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang31ClassTemplateSpecializationDeclEEE", "vtable for llvm::FoldingSet<clang::ClassTemplateSpecializationDecl>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang34FunctionTemplateSpecializationInfoEEE", "vtable for llvm::FoldingSet<clang::FunctionTemplateSpecializationInfo>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang24CXXLiteralOperatorIdNameEEE", "vtable for llvm::FoldingSet<clang::CXXLiteralOperatorIdName>"},
-    {"_ZTVN4llvm10FoldingSetIN5clang14CXXSpecialNameEEE", "vtable for llvm::FoldingSet<clang::CXXSpecialName>"},
-    {"_ZTVN5clang18PPChainedCallbacksE", "vtable for clang::PPChainedCallbacks"},
-    {"_ZTVN4llvm10FoldingSetIN5clang20MultiKeywordSelectorEEE", "vtable for llvm::FoldingSet<clang::MultiKeywordSelector>"},
-    {"_ZN12_GLOBAL__N_113PPCTargetInfo11BuiltinInfoE", "(anonymous namespace)::PPCTargetInfo::BuiltinInfo"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfo11BuiltinInfoE", "(anonymous namespace)::ARMTargetInfo::BuiltinInfo"},
-    {"_ZN12_GLOBAL__N_113PPCTargetInfo13GCCRegAliasesE", "(anonymous namespace)::PPCTargetInfo::GCCRegAliases"},
-    {"_ZN12_GLOBAL__N_117SparcV8TargetInfo13GCCRegAliasesE", "(anonymous namespace)::SparcV8TargetInfo::GCCRegAliases"},
-    {"_ZN12_GLOBAL__N_116MBlazeTargetInfo13GCCRegAliasesE", "(anonymous namespace)::MBlazeTargetInfo::GCCRegAliases"},
-    {"_ZN12_GLOBAL__N_114MipsTargetInfo13GCCRegAliasesE", "(anonymous namespace)::MipsTargetInfo::GCCRegAliases"},
-    {"_ZN12_GLOBAL__N_113ARMTargetInfo13GCCRegAliasesE", "(anonymous namespace)::ARMTargetInfo::GCCRegAliases"},
-    {"_ZTVN4llvm18ValueMapCallbackVHIPKNS_8FunctionENS_18InlineCostAnalyzer12FunctionInfoENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEEE", "vtable for llvm::ValueMapCallbackVH<llvm::Function const*, llvm::InlineCostAnalyzer::FunctionInfo, llvm::ValueMapConfig<llvm::Function const*>, llvm::DenseMapInfo<llvm::InlineCostAnalyzer::FunctionInfo> >"},
-    {"_ZTVN4llvm12DISubprogramE", "vtable for llvm::DISubprogram"},
-    {"_ZTVN4llvm7DIScopeE", "vtable for llvm::DIScope"},
-    {"_ZTVN4llvm22X86MachineFunctionInfoE", "vtable for llvm::X86MachineFunctionInfo"},
-    {"_ZTVN4llvm18X86MCAsmInfoDarwinE", "vtable for llvm::X86MCAsmInfoDarwin"},
-    {"_ZTVN4llvm16X86MCAsmInfoCOFFE", "vtable for llvm::X86MCAsmInfoCOFF"},
-    {"_ZTVN4llvm15MCAsmInfoDarwinE", "vtable for llvm::MCAsmInfoDarwin"},
-    {"_ZTVN4llvm13MCAsmInfoCOFFE", "vtable for llvm::MCAsmInfoCOFF"},
-    {"_ZTVN4llvm2cl3optI17AsmWriterFlavorTyLb0ENS0_6parserIS2_EEEE", "vtable for llvm::cl::opt<AsmWriterFlavorTy, false, llvm::cl::parser<AsmWriterFlavorTy> >"},
-    {"_ZTVN4llvm2cl6parserI17AsmWriterFlavorTyEE", "vtable for llvm::cl::parser<AsmWriterFlavorTy>"},
-    {"_ZTVN4llvm3X8616CONTROL_REGClassE", "vtable for llvm::X86::CONTROL_REGClass"},
-    {"_ZTVN4llvm3X8614DEBUG_REGClassE", "vtable for llvm::X86::DEBUG_REGClass"},
-    {"_ZTVN4llvm3X8614GR16_ABCDClassE", "vtable for llvm::X86::GR16_ABCDClass"},
-    {"_ZTVN4llvm3X8614GR32_ABCDClassE", "vtable for llvm::X86::GR32_ABCDClass"},
-    {"_ZTVN4llvm3X8612GR32_ADClassE", "vtable for llvm::X86::GR32_ADClass"},
-    {"_ZTVN4llvm3X8612GR32_TCClassE", "vtable for llvm::X86::GR32_TCClass"},
-    {"_ZTVN4llvm3X8614GR64_ABCDClassE", "vtable for llvm::X86::GR64_ABCDClass"},
-    {"_ZTVN4llvm3X8612GR64_TCClassE", "vtable for llvm::X86::GR64_TCClass"},
-    {"_ZTVN4llvm3X8615GR64_TCW64ClassE", "vtable for llvm::X86::GR64_TCW64Class"},
-    {"_ZTVN4llvm3X8615GR8_ABCD_HClassE", "vtable for llvm::X86::GR8_ABCD_HClass"},
-    {"_ZTVN4llvm3X8615GR8_ABCD_LClassE", "vtable for llvm::X86::GR8_ABCD_LClass"},
-    {"_ZTVN4llvm3X8610RFP32ClassE", "vtable for llvm::X86::RFP32Class"},
-    {"_ZTVN4llvm3X8610RFP64ClassE", "vtable for llvm::X86::RFP64Class"},
-    {"_ZTVN4llvm3X8610RFP80ClassE", "vtable for llvm::X86::RFP80Class"},
-    {"_ZTVN4llvm3X8616SEGMENT_REGClassE", "vtable for llvm::X86::SEGMENT_REGClass"},
-    {"_ZTVN4llvm3X869VR64ClassE", "vtable for llvm::X86::VR64Class"},
-    {"_ZTVN4llvm19X86_32TargetMachineE", "vtable for llvm::X86_32TargetMachine"},
-    {"_ZTVN4llvm19X86_64TargetMachineE", "vtable for llvm::X86_64TargetMachine"},
-    {"_ZN4llvm15TheX86_32TargetE", "llvm::TheX86_32Target"},
-    {"_ZN4llvm15TheX86_64TargetE", "llvm::TheX86_64Target"},
-    {"_ZTVN4llvm15ARMFunctionInfoE", "vtable for llvm::ARMFunctionInfo"},
-    {"_ZTVN4llvm3ARM8CCRClassE", "vtable for llvm::ARM::CCRClass"},
-    {"_ZTVN4llvm3ARM10DPR_8ClassE", "vtable for llvm::ARM::DPR_8Class"},
-    {"_ZTVN4llvm3ARM13DPR_VFP2ClassE", "vtable for llvm::ARM::DPR_VFP2Class"},
-    {"_ZTVN4llvm3ARM10QPR_8ClassE", "vtable for llvm::ARM::QPR_8Class"},
-    {"_ZTVN4llvm3ARM13QPR_VFP2ClassE", "vtable for llvm::ARM::QPR_VFP2Class"},
-    {"_ZTVN4llvm3ARM14QQPR_VFP2ClassE", "vtable for llvm::ARM::QQPR_VFP2Class"},
-    {"_ZTVN4llvm3ARM8SPRClassE", "vtable for llvm::ARM::SPRClass"},
-    {"_ZTVN4llvm3ARM10SPR_8ClassE", "vtable for llvm::ARM::SPR_8Class"},
-    {"_ZTVN4llvm3ARM9tGPRClassE", "vtable for llvm::ARM::tGPRClass"},
-    {"_ZTVN4llvm19TargetRegisterClassE", "vtable for llvm::TargetRegisterClass"},
-    {"_ZTVN4llvm16SelectionDAGISel11ISelUpdaterE", "vtable for llvm::SelectionDAGISel::ISelUpdater"},
-    {"_ZTVN4llvm18ARMMCAsmInfoDarwinE", "vtable for llvm::ARMMCAsmInfoDarwin"},
-    {"_ZTVN4llvm15ARMELFMCAsmInfoE", "vtable for llvm::ARMELFMCAsmInfo"},
-    {"_ZTVN4llvm16ARMTargetMachineE", "vtable for llvm::ARMTargetMachine"},
-    {"_ZTVN4llvm18ThumbTargetMachineE", "vtable for llvm::ThumbTargetMachine"},
-    {"_ZTVN4llvm15ARMRegisterInfoE", "vtable for llvm::ARMRegisterInfo"},
-    {"_ZTVN4llvm10FoldingSetINS_6SDNodeEEE", "vtable for llvm::FoldingSet<llvm::SDNode>"},
-    {"_ZTVN4llvm2cl3optIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEELb0ENS_18RegisterPassParserINS_17RegisterSchedulerEEEEE", "vtable for llvm::cl::opt<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), false, llvm::RegisterPassParser<llvm::RegisterScheduler> >"},
-    {"_ZTVN4llvm18RegisterPassParserINS_17RegisterSchedulerEEE", "vtable for llvm::RegisterPassParser<llvm::RegisterScheduler>"},
-    {"_ZTVN4llvm2cl6parserIPFPNS_18ScheduleDAGSDNodesEPNS_16SelectionDAGISelENS_10CodeGenOpt5LevelEEEE", "vtable for llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>"},
-    {"_ZN4llvm8RegistryINS_17GCMetadataPrinterENS_14RegistryTraitsIS1_EEE4HeadE", "llvm::Registry<llvm::GCMetadataPrinter, llvm::RegistryTraits<llvm::GCMetadataPrinter> >::Head"},
-    {"_ZTVN4llvm14format_object1IyEE", "vtable for llvm::format_object1<unsigned long long>"},
-    {"_ZTVN4llvm10FoldingSetINS_9DIEAbbrevEEE", "vtable for llvm::FoldingSet<llvm::DIEAbbrev>"},
-    {"_ZTVN4llvm9DIEAbbrevE", "vtable for llvm::DIEAbbrev"},
-    {"_ZN4llvm8RegistryINS_10GCStrategyENS_14RegistryTraitsIS1_EEE4HeadE", "llvm::Registry<llvm::GCStrategy, llvm::RegistryTraits<llvm::GCStrategy> >::Head"},
-    {"_ZTVN4llvm2cl3optINS0_13boolOrDefaultELb0ENS0_6parserIS2_EEEE", "vtable for llvm::cl::opt<llvm::cl::boolOrDefault, false, llvm::cl::parser<llvm::cl::boolOrDefault> >"},
-    {"_ZTVN4llvm17DominatorTreeBaseINS_17MachineBasicBlockEEE", "vtable for llvm::DominatorTreeBase<llvm::MachineBasicBlock>"},
-    {"_ZTVN4llvm2cl3optIPFPNS_12FunctionPassEvELb0ENS_18RegisterPassParserINS_16RegisterRegAllocEEEEE", "vtable for llvm::cl::opt<llvm::FunctionPass* (*)(), false, llvm::RegisterPassParser<llvm::RegisterRegAlloc> >"},
-    {"_ZTVN4llvm18RegisterPassParserINS_16RegisterRegAllocEEE", "vtable for llvm::RegisterPassParser<llvm::RegisterRegAlloc>"},
-    {"_ZTVN4llvm2cl6parserIPFPNS_12FunctionPassEvEEE", "vtable for llvm::cl::parser<llvm::FunctionPass* (*)()>"},
-    {"_ZTVN4llvm2cl3optI20ShrinkWrapDebugLevelLb0ENS0_6parserIS2_EEEE", "vtable for llvm::cl::opt<ShrinkWrapDebugLevel, false, llvm::cl::parser<ShrinkWrapDebugLevel> >"},
-    {"_ZTVN4llvm2cl6parserI20ShrinkWrapDebugLevelEE", "vtable for llvm::cl::parser<ShrinkWrapDebugLevel>"},
-    {"_ZTVN4llvm2cl3optIN12_GLOBAL__N_111SpillerNameELb0ENS0_6parserIS3_EEEE", "vtable for llvm::cl::opt<(anonymous namespace)::SpillerName, false, llvm::cl::parser<(anonymous namespace)::SpillerName> >"},
-    {"_ZTVN4llvm2cl6parserIN12_GLOBAL__N_111SpillerNameEEE", "vtable for llvm::cl::parser<(anonymous namespace)::SpillerName>"},
-    {"_ZTVN4llvm2cl3optIN12_GLOBAL__N_112RewriterNameELb0ENS0_6parserIS3_EEEE", "vtable for llvm::cl::opt<(anonymous namespace)::RewriterName, false, llvm::cl::parser<(anonymous namespace)::RewriterName> >"},
-    {"_ZTVN4llvm2cl6parserIN12_GLOBAL__N_112RewriterNameEEE", "vtable for llvm::cl::parser<(anonymous namespace)::RewriterName>"},
-    {"_ZTVN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_10TrackingVHIS1_EENS_14ValueMapConfigIS3_EENS_12DenseMapInfoIS5_EEEE", "vtable for llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >"},
-    {"_ZTVN4llvm20LoadAndStorePromoterE", "vtable for llvm::LoadAndStorePromoter"},
-    {"_ZTVN4llvm6DITypeE", "vtable for llvm::DIType"},
-    {"_ZTVN4llvm15DICompositeTypeE", "vtable for llvm::DICompositeType"},
-    {"_ZTVN4llvm13DIDerivedTypeE", "vtable for llvm::DIDerivedType"},
-    {"_ZTVN4llvm11DIBasicTypeE", "vtable for llvm::DIBasicType"},
-    {"_ZTVN4llvm6DIFileE", "vtable for llvm::DIFile"},
-    {"_ZTVN4llvm11DINameSpaceE", "vtable for llvm::DINameSpace"},
-    {"_ZTVN4llvm13DICompileUnitE", "vtable for llvm::DICompileUnit"},
-    {"_ZTVN4llvm14DILexicalBlockE", "vtable for llvm::DILexicalBlock"},
-    {"_ZTVN4llvm10FoldingSetINS_4SCEVEEE", "vtable for llvm::FoldingSet<llvm::SCEV>"},
-    {"_ZTVN4llvm2cl3optIbLb1ENS0_6parserIbEEEE", "vtable for llvm::cl::opt<bool, true, llvm::cl::parser<bool> >"},
-    {"_ZTVN4llvm2cl3optIjLb1ENS0_6parserIjEEEE", "vtable for llvm::cl::opt<unsigned int, true, llvm::cl::parser<unsigned int> >"},
-    {"_ZTVN4llvm2cl3optINS_9CodeModel5ModelELb1ENS0_6parserIS3_EEEE", "vtable for llvm::cl::opt<llvm::CodeModel::Model, true, llvm::cl::parser<llvm::CodeModel::Model> >"},
-    {"_ZTVN4llvm2cl6parserINS_9CodeModel5ModelEEE", "vtable for llvm::cl::parser<llvm::CodeModel::Model>"},
-    {"_ZTVN4llvm2cl3optINS_5Reloc5ModelELb1ENS0_6parserIS3_EEEE", "vtable for llvm::cl::opt<llvm::Reloc::Model, true, llvm::cl::parser<llvm::Reloc::Model> >"},
-    {"_ZTVN4llvm2cl6parserINS_5Reloc5ModelEEE", "vtable for llvm::cl::parser<llvm::Reloc::Model>"},
-    {"_ZTVN4llvm2cl3optINS_8FloatABI7ABITypeELb1ENS0_6parserIS3_EEEE", "vtable for llvm::cl::opt<llvm::FloatABI::ABIType, true, llvm::cl::parser<llvm::FloatABI::ABIType> >"},
-    {"_ZTVN4llvm2cl6parserINS_8FloatABI7ABITypeEEE", "vtable for llvm::cl::parser<llvm::FloatABI::ABIType>"},
-    {"_ZTVN4llvm10FoldingSetINS_17AttributeListImplEEE", "vtable for llvm::FoldingSet<llvm::AttributeListImpl>"},
-    {"_ZTVN4llvm11ConstantIntE", "vtable for llvm::ConstantInt"},
-    {"_ZTVN4llvm25GetElementPtrConstantExprE", "vtable for llvm::GetElementPtrConstantExpr"},
-    {"_ZTVN4llvm4UserE", "vtable for llvm::User"},
-    {"_ZTVN4llvm19CompareConstantExprE", "vtable for llvm::CompareConstantExpr"},
-    {"_ZTVN4llvm24ExtractValueConstantExprE", "vtable for llvm::ExtractValueConstantExpr"},
-    {"_ZTVN4llvm23InsertValueConstantExprE", "vtable for llvm::InsertValueConstantExpr"},
-    {"_ZTVN4llvm25ShuffleVectorConstantExprE", "vtable for llvm::ShuffleVectorConstantExpr"},
-    {"_ZTVN4llvm25InsertElementConstantExprE", "vtable for llvm::InsertElementConstantExpr"},
-    {"_ZTVN4llvm26ExtractElementConstantExprE", "vtable for llvm::ExtractElementConstantExpr"},
-    {"_ZTVN4llvm18SelectConstantExprE", "vtable for llvm::SelectConstantExpr"},
-    {"_ZTVN4llvm18BinaryConstantExprE", "vtable for llvm::BinaryConstantExpr"},
-    {"_ZTVN4llvm17UnaryConstantExprE", "vtable for llvm::UnaryConstantExpr"},
-    {"_ZTVN4llvm17DominatorTreeBaseINS_10BasicBlockEEE", "vtable for llvm::DominatorTreeBase<llvm::BasicBlock>"},
-    {"_ZTVN4llvm8ArgumentE", "vtable for llvm::Argument"},
-    {"_ZTVN4llvm10FoldingSetINS_6MDNodeEEE", "vtable for llvm::FoldingSet<llvm::MDNode>"},
-    {"_ZTVN4llvm17ConstantUniqueMapIcNS_4TypeENS_21ConstantAggregateZeroELb0EEE", "vtable for llvm::ConstantUniqueMap<char, llvm::Type, llvm::ConstantAggregateZero, false>"},
-    {"_ZTVN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_9ArrayTypeENS_13ConstantArrayELb1EEE", "vtable for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::ArrayType, llvm::ConstantArray, true>"},
-    {"_ZTVN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10StructTypeENS_14ConstantStructELb1EEE", "vtable for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::StructType, llvm::ConstantStruct, true>"},
-    {"_ZTVN4llvm17ConstantUniqueMapISt6vectorIPNS_8ConstantESaIS3_EENS_10VectorTypeENS_14ConstantVectorELb0EEE", "vtable for llvm::ConstantUniqueMap<std::vector<llvm::Constant*, std::allocator<llvm::Constant*> >, llvm::VectorType, llvm::ConstantVector, false>"},
-    {"_ZTVN4llvm17ConstantUniqueMapIcNS_11PointerTypeENS_19ConstantPointerNullELb0EEE", "vtable for llvm::ConstantUniqueMap<char, llvm::PointerType, llvm::ConstantPointerNull, false>"},
-    {"_ZTVN4llvm17ConstantUniqueMapIcNS_4TypeENS_10UndefValueELb0EEE", "vtable for llvm::ConstantUniqueMap<char, llvm::Type, llvm::UndefValue, false>"},
-    {"_ZTVN4llvm17ConstantUniqueMapINS_14ExprMapKeyTypeENS_4TypeENS_12ConstantExprELb0EEE", "vtable for llvm::ConstantUniqueMap<llvm::ExprMapKeyType, llvm::Type, llvm::ConstantExpr, false>"},
-    {"_ZTVN4llvm17ConstantUniqueMapINS_16InlineAsmKeyTypeENS_11PointerTypeENS_9InlineAsmELb0EEE", "vtable for llvm::ConstantUniqueMap<llvm::InlineAsmKeyType, llvm::PointerType, llvm::InlineAsm, false>"},
-    {"_ZTVN4llvm11IntegerTypeE", "vtable for llvm::IntegerType"},
-    {"_ZTVN4llvm11DerivedTypeE", "vtable for llvm::DerivedType"},
-    {"_ZTVN4llvm8MDStringE", "vtable for llvm::MDString"},
-    {"_ZTVN4llvm2cl6parserIPKNS_8PassInfoEEE", "vtable for llvm::cl::parser<llvm::PassInfo const*>"},
-    {"_ZTVN4llvm2cl4listIPKNS_8PassInfoEbNS_14PassNameParserEEE", "vtable for llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>"},
-    {"_ZTVN4llvm2cl3optINS_14PassDebugLevelELb0ENS0_6parserIS2_EEEE", "vtable for llvm::cl::opt<llvm::PassDebugLevel, false, llvm::cl::parser<llvm::PassDebugLevel> >"},
-    {"_ZTVN4llvm2cl6parserINS_14PassDebugLevelEEE", "vtable for llvm::cl::parser<llvm::PassDebugLevel>"},
-    {"_ZTVN4llvm15PassManagerImplE", "vtable for llvm::PassManagerImpl"},
-    {"_ZTVN4llvm23FunctionPassManagerImplE", "vtable for llvm::FunctionPassManagerImpl"},
-    {"_ZTVN4llvm10OpaqueTypeE", "vtable for llvm::OpaqueType"},
-    {"_ZN4llvm12TheARMTargetE", "llvm::TheARMTarget"},
-    {"_ZN4llvm14TheThumbTargetE", "llvm::TheThumbTarget"},
-    {"_ZTVN4llvm14format_object1IhEE", "vtable for llvm::format_object1<unsigned char>"},
-    {"_ZTVN4llvm15MCAlignFragmentE", "vtable for llvm::MCAlignFragment"},
-    {"_ZTVN4llvm14MCFillFragmentE", "vtable for llvm::MCFillFragment"},
-    {"_ZTVN4llvm14MCDataFragmentE", "vtable for llvm::MCDataFragment"},
-    {"_ZTVN4llvm13MCOrgFragmentE", "vtable for llvm::MCOrgFragment"},
-    {"_ZTVN4llvm24MCDwarfCallFrameFragmentE", "vtable for llvm::MCDwarfCallFrameFragment"},
-    {"_ZTVN4llvm23MCDwarfLineAddrFragmentE", "vtable for llvm::MCDwarfLineAddrFragment"},
-    {"_ZTVN4llvm13MCLEBFragmentE", "vtable for llvm::MCLEBFragment"},
-    {"_ZN4llvm8MCSymbol21AbsolutePseudoSectionE", "llvm::MCSymbol::AbsolutePseudoSection"},
-    {"_ZTVN4llvm14MCInstFragmentE", "vtable for llvm::MCInstFragment"},
-    {"_ZN4llvm7APFloat8IEEEhalfE", "llvm::APFloat::IEEEhalf"},
-    {"_ZN4llvm7APFloat10IEEEsingleE", "llvm::APFloat::IEEEsingle"},
-    {"_ZN4llvm7APFloat10IEEEdoubleE", "llvm::APFloat::IEEEdouble"},
-    {"_ZN4llvm7APFloat8IEEEquadE", "llvm::APFloat::IEEEquad"},
-    {"_ZN4llvm7APFloat17x87DoubleExtendedE", "llvm::APFloat::x87DoubleExtended"},
-    {"_ZN4llvm7APFloat5BogusE", "llvm::APFloat::Bogus"},
-    {"_ZN4llvm7APFloat15PPCDoubleDoubleE", "llvm::APFloat::PPCDoubleDouble"},
-    {"_ZTVN4llvm2cl12basic_parserIbEE", "vtable for llvm::cl::basic_parser<bool>"},
-    {"_ZTVN4llvm2cl12basic_parserINS0_13boolOrDefaultEEE", "vtable for llvm::cl::basic_parser<llvm::cl::boolOrDefault>"},
-    {"_ZTVN4llvm2cl12basic_parserIiEE", "vtable for llvm::cl::basic_parser<int>"},
-    {"_ZTVN4llvm2cl12basic_parserIjEE", "vtable for llvm::cl::basic_parser<unsigned int>"},
-    {"_ZTVN4llvm2cl12basic_parserIdEE", "vtable for llvm::cl::basic_parser<double>"},
-    {"_ZTVN4llvm2cl12basic_parserIfEE", "vtable for llvm::cl::basic_parser<float>"},
-    {"_ZTVN4llvm2cl12basic_parserISsEE", "vtable for llvm::cl::basic_parser<std::string>"},
-    {"_ZTVN4llvm2cl12basic_parserIcEE", "vtable for llvm::cl::basic_parser<char>"},
-    {"_ZTVN4llvm2cl3optIjLb0ENS0_6parserIjEEEE", "vtable for llvm::cl::opt<unsigned int, false, llvm::cl::parser<unsigned int> >"},
-    {"_ZTVN4llvm2cl3optIiLb0ENS0_6parserIiEEEE", "vtable for llvm::cl::opt<int, false, llvm::cl::parser<int> >"},
-    {"_ZTVN4llvm2cl3optISsLb0ENS0_6parserISsEEEE", "vtable for llvm::cl::opt<std::string, false, llvm::cl::parser<std::string> >"},
-    {"_ZTVN4llvm2cl3optIcLb0ENS0_6parserIcEEEE", "vtable for llvm::cl::opt<char, false, llvm::cl::parser<char> >"},
-    {"_ZTVN4llvm2cl3optIbLb0ENS0_6parserIbEEEE", "vtable for llvm::cl::opt<bool, false, llvm::cl::parser<bool> >"},
-    {"_ZTVN4llvm2cl3optIN12_GLOBAL__N_114VersionPrinterELb1ENS0_6parserIbEEEE", "vtable for llvm::cl::opt<(anonymous namespace)::VersionPrinter, true, llvm::cl::parser<bool> >"},
-    {"_ZTVN4llvm2cl3optIN12_GLOBAL__N_111HelpPrinterELb1ENS0_6parserIbEEEE", "vtable for llvm::cl::opt<(anonymous namespace)::HelpPrinter, true, llvm::cl::parser<bool> >"},
-    {"_ZTVN4llvm3sys11ThreadLocalIKN12_GLOBAL__N_124CrashRecoveryContextImplEEE", "vtable for llvm::sys::ThreadLocal<(anonymous namespace)::CrashRecoveryContextImpl const>"},
-    {"_ZTVN4llvm3sys11ThreadLocalIKNS_21PrettyStackTraceEntryEEE", "vtable for llvm::sys::ThreadLocal<llvm::PrettyStackTraceEntry const>"},
-    {"_ZN4llvm3sys9TimeValue7MinTimeE", "llvm::sys::TimeValue::MinTime"},
-    {"_ZN4llvm3sys9TimeValue7MaxTimeE", "llvm::sys::TimeValue::MaxTime"},
-    {"_ZN4llvm3sys9TimeValue13PosixZeroTimeE", "llvm::sys::TimeValue::PosixZeroTime"},
-    {"_ZN4llvm3sys9TimeValue13Win32ZeroTimeE", "llvm::sys::TimeValue::Win32ZeroTime"},
-    {"_ZTVN4llvm14format_object1IxEE", "vtable for llvm::format_object1<long long>"},
-    {"_ZTVN4llvm14format_object1IdEE", "vtable for llvm::format_object1<double>"},
-    {"_ZTVN4llvm2cl3optISsLb1ENS0_6parserISsEEEE", "vtable for llvm::cl::opt<std::string, true, llvm::cl::parser<std::string> >"},
-    {"_ZZN5clang12_GLOBAL__N_18getNewIdENS0_7tIdTypeEE8idCounts", "clang::(anonymous namespace)::getNewId(clang::(anonymous namespace)::tIdType)::idCounts"},
-    {"_ZZN12_GLOBAL__N_126AdjustedReturnValueChecker6getTagEvE1x", "(anonymous namespace)::AdjustedReturnValueChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_120AnalyzerStatsChecker6getTagEvE1x", "(anonymous namespace)::AnalyzerStatsChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_117ArrayBoundChecker6getTagEvE1x", "(anonymous namespace)::ArrayBoundChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_119ArrayBoundCheckerV26getTagEvE1x", "(anonymous namespace)::ArrayBoundCheckerV2::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_118AttrNonNullChecker6getTagEvE1x", "(anonymous namespace)::AttrNonNullChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_119ClassReleaseChecker6getTagEvE1x", "(anonymous namespace)::ClassReleaseChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_122CFRetainReleaseChecker6getTagEvE1x", "(anonymous namespace)::CFRetainReleaseChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_121CFNumberCreateChecker6getTagEvE1x", "(anonymous namespace)::CFNumberCreateChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_113NilArgChecker6getTagEvE1x", "(anonymous namespace)::NilArgChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_122BuiltinFunctionChecker6getTagEvE3tag", "(anonymous namespace)::BuiltinFunctionChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_114CStringChecker6getTagEvE3tag", "(anonymous namespace)::CStringChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_121CallAndMessageChecker6getTagEvE1x", "(anonymous namespace)::CallAndMessageChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_115CastSizeChecker6getTagEvE1x", "(anonymous namespace)::CastSizeChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_119CastToStructChecker6getTagEvE1x", "(anonymous namespace)::CastToStructChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_113ChrootChecker6getTagEvE1x", "(anonymous namespace)::ChrootChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_118DereferenceChecker6getTagEvE3tag", "(anonymous namespace)::DereferenceChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_114DivZeroChecker6getTagEvE1x", "(anonymous namespace)::DivZeroChecker::getTag()::x"},
-    {"_ZZN5clang4ento10ExprEngine23processCFGBlockEntranceERNS0_15ExplodedNodeSetERNS0_18GenericNodeBuilderINS_13BlockEntranceEEEE3tag", "clang::ento::ExprEngine::processCFGBlockEntrance(clang::ento::ExplodedNodeSet&, clang::ento::GenericNodeBuilder<clang::BlockEntrance>&)::tag"},
-    {"_ZZN5clang4ento10ExprEngine8evalLoadERNS0_15ExplodedNodeSetEPKNS_4ExprEPNS0_12ExplodedNodeEPKNS0_7GRStateENS0_4SValEPKvNS_8QualTypeEE16loadReferenceTag", "clang::ento::ExprEngine::evalLoad(clang::ento::ExplodedNodeSet&, clang::Expr const*, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SVal, void const*, clang::QualType)::loadReferenceTag"},
-    {"_ZZN5clang4ento10ExprEngine15VisitReturnStmtEPKNS_10ReturnStmtEPNS0_12ExplodedNodeERNS0_15ExplodedNodeSetEE3tag", "clang::ento::ExprEngine::VisitReturnStmt(clang::ReturnStmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)::tag"},
-    {"_ZN12_GLOBAL__N_110ReturnExpr6TagIntE", "(anonymous namespace)::ReturnExpr::TagInt"},
-    {"_ZZN12_GLOBAL__N_119FixedAddressChecker6getTagEvE1x", "(anonymous namespace)::FixedAddressChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_126IdempotentOperationChecker6getTagEvE1x", "(anonymous namespace)::IdempotentOperationChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_116MacOSXAPIChecker6getTagEvE3tag", "(anonymous namespace)::MacOSXAPIChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_113MallocChecker6getTagEvE1x", "(anonymous namespace)::MallocChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_124NSAutoreleasePoolChecker6getTagEvE1x", "(anonymous namespace)::NSAutoreleasePoolChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_123NoReturnFunctionChecker6getTagEvE3tag", "(anonymous namespace)::NoReturnFunctionChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_115OSAtomicChecker6getTagEvE3tag", "(anonymous namespace)::OSAtomicChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_115OSAtomicChecker26evalOSAtomicCompareAndSwapERN5clang4ento14CheckerContextEPKNS1_8CallExprEE10magic_load", "(anonymous namespace)::OSAtomicChecker::evalOSAtomicCompareAndSwap(clang::ento::CheckerContext&, clang::CallExpr const*)::magic_load"},
-    {"_ZZN12_GLOBAL__N_115OSAtomicChecker26evalOSAtomicCompareAndSwapERN5clang4ento14CheckerContextEPKNS1_8CallExprEE11magic_store", "(anonymous namespace)::OSAtomicChecker::evalOSAtomicCompareAndSwap(clang::ento::CheckerContext&, clang::CallExpr const*)::magic_store"},
-    {"_ZZN12_GLOBAL__N_117ObjCAtSyncChecker6getTagEvE3tag", "(anonymous namespace)::ObjCAtSyncChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_119ObjCSelfInitChecker6getTagEvE3tag", "(anonymous namespace)::ObjCSelfInitChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_119PointerArithChecker6getTagEvE1x", "(anonymous namespace)::PointerArithChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_117PointerSubChecker6getTagEvE1x", "(anonymous namespace)::PointerSubChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_118PthreadLockChecker6getTagEvE1x", "(anonymous namespace)::PthreadLockChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_125ReturnPointerRangeChecker6getTagEvE1x", "(anonymous namespace)::ReturnPointerRangeChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_118ReturnUndefChecker6getTagEvE1x", "(anonymous namespace)::ReturnUndefChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_120StackAddrLeakChecker6getTagEvE1x", "(anonymous namespace)::StackAddrLeakChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_113StreamChecker6getTagEvE1x", "(anonymous namespace)::StreamChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_118UndefBranchChecker6getTagEvE1x", "(anonymous namespace)::UndefBranchChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_128UndefCapturedBlockVarChecker6getTagEvE3tag", "(anonymous namespace)::UndefCapturedBlockVarChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_118UndefResultChecker6getTagEvE3tag", "(anonymous namespace)::UndefResultChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_130UndefinedArraySubscriptChecker6getTagEvE1x", "(anonymous namespace)::UndefinedArraySubscriptChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_126UndefinedAssignmentChecker6getTagEvE1x", "(anonymous namespace)::UndefinedAssignmentChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_114UnixAPIChecker6getTagEvE3tag", "(anonymous namespace)::UnixAPIChecker::getTag()::tag"},
-    {"_ZZN12_GLOBAL__N_122UnreachableCodeChecker6getTagEvE1x", "(anonymous namespace)::UnreachableCodeChecker::getTag()::x"},
-    {"_ZZN12_GLOBAL__N_114VLASizeChecker6getTagEvE3tag", "(anonymous namespace)::VLASizeChecker::getTag()::tag"},
-    {"_ZZ18IsCachedDiagnosticPN5clang4ento9BugReportEPNS0_14PathDiagnosticEE2DC", "IsCachedDiagnostic(clang::ento::BugReport*, clang::ento::PathDiagnostic*)::DC"},
-    {"_ZGVZ18IsCachedDiagnosticPN5clang4ento9BugReportEPNS0_14PathDiagnosticEE2DC", "guard variable for IsCachedDiagnostic(clang::ento::BugReport*, clang::ento::PathDiagnostic*)::DC"},
-    {"_ZZNK12_GLOBAL__N_118NilReceiverVisitor7ProfileERN4llvm16FoldingSetNodeIDEE1x", "(anonymous namespace)::NilReceiverVisitor::Profile(llvm::FoldingSetNodeID&) const::x"},
-    {"_ZZNK12_GLOBAL__N_122FindLastStoreBRVisitor7ProfileERN4llvm16FoldingSetNodeIDEE3tag", "(anonymous namespace)::FindLastStoreBRVisitor::Profile(llvm::FoldingSetNodeID&) const::tag"},
-    {"_ZZNK12_GLOBAL__N_124TrackConstraintBRVisitor7ProfileERN4llvm16FoldingSetNodeIDEE3tag", "(anonymous namespace)::TrackConstraintBRVisitor::Profile(llvm::FoldingSetNodeID&) const::tag"},
-    {"_ZZN5clang4ento12GRStateTraitIN4llvm12ImmutableMapIPKNS0_10SymbolDataEN12_GLOBAL__N_16RefValENS2_16ImutKeyValueInfoIS6_S8_EEEEE8GDMIndexEvE9RefBIndex", "clang::ento::GRStateTrait<llvm::ImmutableMap<clang::ento::SymbolData const*, (anonymous namespace)::RefVal, llvm::ImutKeyValueInfo<clang::ento::SymbolData const*, (anonymous namespace)::RefVal> > >::GDMIndex()::RefBIndex"},
-    {"_ZZN12_GLOBAL__N_110CFRefCount10evalReturnERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderEPKNS1_10ReturnStmtEPNS2_12ExplodedNodeEE14autoreleasetag", "(anonymous namespace)::CFRefCount::evalReturn(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ReturnStmt const*, clang::ento::ExplodedNode*)::autoreleasetag"},
-    {"_ZZN12_GLOBAL__N_110CFRefCount10evalReturnERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderEPKNS1_10ReturnStmtEPNS2_12ExplodedNodeEE16ReturnOwnLeakTag", "(anonymous namespace)::CFRefCount::evalReturn(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ReturnStmt const*, clang::ento::ExplodedNode*)::ReturnOwnLeakTag"},
-    {"_ZZN12_GLOBAL__N_110CFRefCount10evalReturnERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderEPKNS1_10ReturnStmtEPNS2_12ExplodedNodeEE25ReturnNotOwnedForOwnedTag", "(anonymous namespace)::CFRefCount::evalReturn(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ReturnStmt const*, clang::ento::ExplodedNode*)::ReturnNotOwnedForOwnedTag"},
-    {"_ZZN12_GLOBAL__N_110CFRefCount15evalDeadSymbolsERN5clang4ento15ExplodedNodeSetERNS2_10ExprEngineERNS2_15StmtNodeBuilderEPNS2_12ExplodedNodeEPKNS2_7GRStateERNS2_12SymbolReaperEE9LeakPPTag", "(anonymous namespace)::CFRefCount::evalDeadSymbols(clang::ento::ExplodedNodeSet&, clang::ento::ExprEngine&, clang::ento::StmtNodeBuilder&, clang::ento::ExplodedNode*, clang::ento::GRState const*, clang::ento::SymbolReaper&)::LeakPPTag"},
-    {"_ZZN12_GLOBAL__N_120RetainReleaseChecker6getTagEvE1x", "(anonymous namespace)::RetainReleaseChecker::getTag()::x"},
-    {"_ZZN5clang4ento14CheckerContextD1EvE17autoTransitionTag", "clang::ento::CheckerContext::~CheckerContext()::autoTransitionTag"},
-    {"_ZZN12_GLOBAL__N_111RewriteObjC38RewriteFunctionBodyOrGlobalInitializerEPN5clang4StmtEE20uniqueByrefDeclCount", "(anonymous namespace)::RewriteObjC::RewriteFunctionBodyOrGlobalInitializer(clang::Stmt*)::uniqueByrefDeclCount"},
-    {"_ZZN5clang22getClangRepositoryPathEvE13SVNRepository", "clang::getClangRepositoryPath()::SVNRepository"},
-    {"_ZGVZN5clang22getClangRepositoryPathEvE13SVNRepository", "guard variable for clang::getClangRepositoryPath()::SVNRepository"},
-    {"_ZZN4llvm26initializeArgPromotionPassERNS_12PassRegistryEE11initialized", "llvm::initializeArgPromotionPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_112ArgPromotion2IDE", "(anonymous namespace)::ArgPromotion::ID"},
-    {"_ZZN4llvm27initializeConstantMergePassERNS_12PassRegistryEE11initialized", "llvm::initializeConstantMergePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_113ConstantMerge2IDE", "(anonymous namespace)::ConstantMerge::ID"},
-    {"_ZZN4llvm17initializeDAEPassERNS_12PassRegistryEE11initialized", "llvm::initializeDAEPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm17initializeDAHPassERNS_12PassRegistryEE11initialized", "llvm::initializeDAHPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_13DAH2IDE", "(anonymous namespace)::DAH::ID"},
-    {"_ZN12_GLOBAL__N_13DAE2IDE", "(anonymous namespace)::DAE::ID"},
-    {"_ZZN4llvm17initializeDTEPassERNS_12PassRegistryEE11initialized", "llvm::initializeDTEPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_13DTE2IDE", "(anonymous namespace)::DTE::ID"},
-    {"_ZZN4llvm27initializeFunctionAttrsPassERNS_12PassRegistryEE11initialized", "llvm::initializeFunctionAttrsPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_113FunctionAttrs2IDE", "(anonymous namespace)::FunctionAttrs::ID"},
-    {"_ZZN4llvm23initializeGlobalDCEPassERNS_12PassRegistryEE11initialized", "llvm::initializeGlobalDCEPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_19GlobalDCE2IDE", "(anonymous namespace)::GlobalDCE::ID"},
-    {"_ZZN4llvm23initializeGlobalOptPassERNS_12PassRegistryEE11initialized", "llvm::initializeGlobalOptPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_19GlobalOpt2IDE", "(anonymous namespace)::GlobalOpt::ID"},
-    {"_ZZN4llvm27initializeAlwaysInlinerPassERNS_12PassRegistryEE11initialized", "llvm::initializeAlwaysInlinerPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_113AlwaysInliner2IDE", "(anonymous namespace)::AlwaysInliner::ID"},
-    {"_ZZN4llvm27initializeSimpleInlinerPassERNS_12PassRegistryEE11initialized", "llvm::initializeSimpleInlinerPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_113SimpleInliner2IDE", "(anonymous namespace)::SimpleInliner::ID"},
-    {"_ZZN4llvm21initializePruneEHPassERNS_12PassRegistryEE11initialized", "llvm::initializePruneEHPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_17PruneEH2IDE", "(anonymous namespace)::PruneEH::ID"},
-    {"_ZZN4llvm37initializeStripDeadPrototypesPassPassERNS_12PassRegistryEE11initialized", "llvm::initializeStripDeadPrototypesPassPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_123StripDeadPrototypesPass2IDE", "(anonymous namespace)::StripDeadPrototypesPass::ID"},
-    {"_ZN12_GLOBAL__N_116WriteBitcodePass2IDE", "(anonymous namespace)::WriteBitcodePass::ID"},
-    {"_ZN12_GLOBAL__N_116SSEDomainFixPass2IDE", "(anonymous namespace)::SSEDomainFixPass::ID"},
-    {"_ZN12_GLOBAL__N_17EmitterIN4llvm14JITCodeEmitterEE2IDE", "(anonymous namespace)::Emitter<llvm::JITCodeEmitter>::ID"},
-    {"_ZN12_GLOBAL__N_13FPS2IDE", "(anonymous namespace)::FPS::ID"},
-    {"_ZZN4llvm17X86TargetLoweringC1ERNS_16X86TargetMachineEE6IntVTs", "llvm::X86TargetLowering::X86TargetLowering(llvm::X86TargetMachine&)::IntVTs"},
-    {"_ZGVZN4llvm17X86TargetLoweringC1ERNS_16X86TargetMachineEE6IntVTs", "guard variable for llvm::X86TargetLowering::X86TargetLowering(llvm::X86TargetMachine&)::IntVTs"},
-    {"_ZN12_GLOBAL__N_14CGBR2IDE", "(anonymous namespace)::CGBR::ID"},
-    {"_ZN12_GLOBAL__N_14MSAH2IDE", "(anonymous namespace)::MSAH::ID"},
-    {"_ZN12_GLOBAL__N_114ARMCodeEmitter2IDE", "(anonymous namespace)::ARMCodeEmitter::ID"},
-    {"_ZN12_GLOBAL__N_118ARMConstantIslands2IDE", "(anonymous namespace)::ARMConstantIslands::ID"},
-    {"_ZN12_GLOBAL__N_115ARMExpandPseudo2IDE", "(anonymous namespace)::ARMExpandPseudo::ID"},
-    {"_ZN12_GLOBAL__N_114ARMGlobalMerge2IDE", "(anonymous namespace)::ARMGlobalMerge::ID"},
-    {"_ZN12_GLOBAL__N_115ARMLoadStoreOpt2IDE", "(anonymous namespace)::ARMLoadStoreOpt::ID"},
-    {"_ZN12_GLOBAL__N_123ARMPreAllocLoadStoreOpt2IDE", "(anonymous namespace)::ARMPreAllocLoadStoreOpt::ID"},
-    {"_ZN12_GLOBAL__N_112MLxExpansion2IDE", "(anonymous namespace)::MLxExpansion::ID"},
-    {"_ZN12_GLOBAL__N_115NEONMoveFixPass2IDE", "(anonymous namespace)::NEONMoveFixPass::ID"},
-    {"_ZN12_GLOBAL__N_117Thumb2ITBlockPass2IDE", "(anonymous namespace)::Thumb2ITBlockPass::ID"},
-    {"_ZN12_GLOBAL__N_116Thumb2SizeReduce2IDE", "(anonymous namespace)::Thumb2SizeReduce::ID"},
-    {"_ZZN12_GLOBAL__N_120SelectionDAGLegalize10LegalizeOpEN4llvm7SDValueEE5depth", "(anonymous namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDValue)::depth"},
-    {"_ZZN4llvm10DwarfDebug21computeSizeAndOffsetsEvE6Offset", "llvm::DwarfDebug::computeSizeAndOffsets()::Offset"},
-    {"_ZGVZN4llvm10DwarfDebug21computeSizeAndOffsetsEvE6Offset", "guard variable for llvm::DwarfDebug::computeSizeAndOffsets()::Offset"},
-    {"_ZN12_GLOBAL__N_116BranchFolderPass2IDE", "(anonymous namespace)::BranchFolderPass::ID"},
-    {"_ZZN4llvm35initializeCalculateSpillWeightsPassERNS_12PassRegistryEE11initialized", "llvm::initializeCalculateSpillWeightsPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_116CodePlacementOpt2IDE", "(anonymous namespace)::CodePlacementOpt::ID"},
-    {"_ZZN4llvm40initializeDeadMachineInstructionElimPassERNS_12PassRegistryEE11initialized", "llvm::initializeDeadMachineInstructionElimPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_126DeadMachineInstructionElim2IDE", "(anonymous namespace)::DeadMachineInstructionElim::ID"},
-    {"_ZN12_GLOBAL__N_114DwarfEHPrepare2IDE", "(anonymous namespace)::DwarfEHPrepare::ID"},
-    {"_ZZN4llvm25initializeEdgeBundlesPassERNS_12PassRegistryEE11initialized", "llvm::initializeEdgeBundlesPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm31initializeExpandISelPseudosPassERNS_12PassRegistryEE11initialized", "llvm::initializeExpandISelPseudosPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_117ExpandISelPseudos2IDE", "(anonymous namespace)::ExpandISelPseudos::ID"},
-    {"_ZZN4llvm26initializeGCModuleInfoPassERNS_12PassRegistryEE11initialized", "llvm::initializeGCModuleInfoPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_17Deleter2IDE", "(anonymous namespace)::Deleter::ID"},
-    {"_ZN12_GLOBAL__N_17Printer2IDE", "(anonymous namespace)::Printer::ID"},
-    {"_ZZN4llvm29initializeLowerIntrinsicsPassERNS_12PassRegistryEE11initialized", "llvm::initializeLowerIntrinsicsPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_119MachineCodeAnalysis2IDE", "(anonymous namespace)::MachineCodeAnalysis::ID"},
-    {"_ZN12_GLOBAL__N_115LowerIntrinsics2IDE", "(anonymous namespace)::LowerIntrinsics::ID"},
-    {"_ZZN4llvm25initializeIfConverterPassERNS_12PassRegistryEE11initialized", "llvm::initializeIfConverterPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_111IfConverter2IDE", "(anonymous namespace)::IfConverter::ID"},
-    {"_ZZN4llvm32initializeLiveDebugVariablesPassERNS_12PassRegistryEE11initialized", "llvm::initializeLiveDebugVariablesPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm27initializeLiveIntervalsPassERNS_12PassRegistryEE11initialized", "llvm::initializeLiveIntervalsPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm24initializeLiveStacksPassERNS_12PassRegistryEE11initialized", "llvm::initializeLiveStacksPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm27initializeLiveVariablesPassERNS_12PassRegistryEE11initialized", "llvm::initializeLiveVariablesPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_118LocalStackSlotPass2IDE", "(anonymous namespace)::LocalStackSlotPass::ID"},
-    {"_ZN12_GLOBAL__N_127LowerSubregsInstructionPass2IDE", "(anonymous namespace)::LowerSubregsInstructionPass::ID"},
-    {"_ZZN4llvm24initializeMachineCSEPassERNS_12PassRegistryEE11initialized", "llvm::initializeMachineCSEPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_110MachineCSE2IDE", "(anonymous namespace)::MachineCSE::ID"},
-    {"_ZZN4llvm34initializeMachineDominatorTreePassERNS_12PassRegistryEE11initialized", "llvm::initializeMachineDominatorTreePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_126MachineFunctionPrinterPass2IDE", "(anonymous namespace)::MachineFunctionPrinterPass::ID"},
-    {"_ZZN4llvm25initializeMachineLICMPassERNS_12PassRegistryEE11initialized", "llvm::initializeMachineLICMPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_111MachineLICM2IDE", "(anonymous namespace)::MachineLICM::ID"},
-    {"_ZZN4llvm29initializeMachineLoopInfoPassERNS_12PassRegistryEE11initialized", "llvm::initializeMachineLoopInfoPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm31initializeMachineModuleInfoPassERNS_12PassRegistryEE11initialized", "llvm::initializeMachineModuleInfoPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm28initializeMachineSinkingPassERNS_12PassRegistryEE11initialized", "llvm::initializeMachineSinkingPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_114MachineSinking2IDE", "(anonymous namespace)::MachineSinking::ID"},
-    {"_ZZN4llvm33initializeMachineVerifierPassPassERNS_12PassRegistryEE11initialized", "llvm::initializeMachineVerifierPassPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_119MachineVerifierPass2IDE", "(anonymous namespace)::MachineVerifierPass::ID"},
-    {"_ZZN4llvm26initializeOptimizePHIsPassERNS_12PassRegistryEE11initialized", "llvm::initializeOptimizePHIsPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_112OptimizePHIs2IDE", "(anonymous namespace)::OptimizePHIs::ID"},
-    {"_ZZN4llvm28initializePHIEliminationPassERNS_12PassRegistryEE11initialized", "llvm::initializePHIEliminationPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_114PHIElimination2IDE", "(anonymous namespace)::PHIElimination::ID"},
-    {"_ZZN4llvm31initializePeepholeOptimizerPassERNS_12PassRegistryEE11initialized", "llvm::initializePeepholeOptimizerPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_117PeepholeOptimizer2IDE", "(anonymous namespace)::PeepholeOptimizer::ID"},
-    {"_ZN12_GLOBAL__N_115PostRAScheduler2IDE", "(anonymous namespace)::PostRAScheduler::ID"},
-    {"_ZZN4llvm31initializePreAllocSplittingPassERNS_12PassRegistryEE11initialized", "llvm::initializePreAllocSplittingPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_117PreAllocSplitting2IDE", "(anonymous namespace)::PreAllocSplitting::ID"},
-    {"_ZZN4llvm33initializeProcessImplicitDefsPassERNS_12PassRegistryEE11initialized", "llvm::initializeProcessImplicitDefsPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm17initializePEIPassERNS_12PassRegistryEE11initialized", "llvm::initializePEIPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_16RAFast2IDE", "(anonymous namespace)::RAFast::ID"},
-    {"_ZZN4llvm23initializeRALinScanPassERNS_12PassRegistryEE11initialized", "llvm::initializeRALinScanPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_19RALinScan2IDE", "(anonymous namespace)::RALinScan::ID"},
-    {"_ZZN4llvm40initializeRegisterCoalescerAnalysisGroupERNS_12PassRegistryEE11initialized", "llvm::initializeRegisterCoalescerAnalysisGroup(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm38initializeSimpleRegisterCoalescingPassERNS_12PassRegistryEE11initialized", "llvm::initializeSimpleRegisterCoalescingPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_110SjLjEHPass2IDE", "(anonymous namespace)::SjLjEHPass::ID"},
-    {"_ZN12_GLOBAL__N_122IndexListEntryEmptyKeyE", "(anonymous namespace)::IndexListEntryEmptyKey"},
-    {"_ZN12_GLOBAL__N_126IndexListEntryTombstoneKeyE", "(anonymous namespace)::IndexListEntryTombstoneKey"},
-    {"_ZZN4llvm25initializeSlotIndexesPassERNS_12PassRegistryEE11initialized", "llvm::initializeSlotIndexesPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm28initializeStackProtectorPassERNS_12PassRegistryEE11initialized", "llvm::initializeStackProtectorPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_114StackProtector2IDE", "(anonymous namespace)::StackProtector::ID"},
-    {"_ZZN4llvm31initializeStackSlotColoringPassERNS_12PassRegistryEE11initialized", "llvm::initializeStackSlotColoringPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_117StackSlotColoring2IDE", "(anonymous namespace)::StackSlotColoring::ID"},
-    {"_ZZN4llvm34initializeStrongPHIEliminationPassERNS_12PassRegistryEE11initialized", "llvm::initializeStrongPHIEliminationPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_120StrongPHIElimination2IDE", "(anonymous namespace)::StrongPHIElimination::ID"},
-    {"_ZN12_GLOBAL__N_117TailDuplicatePass2IDE", "(anonymous namespace)::TailDuplicatePass::ID"},
-    {"_ZZN4llvm39initializeTwoAddressInstructionPassPassERNS_12PassRegistryEE11initialized", "llvm::initializeTwoAddressInstructionPassPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_125TwoAddressInstructionPass2IDE", "(anonymous namespace)::TwoAddressInstructionPass::ID"},
-    {"_ZZN4llvm34initializeUnreachableBlockElimPassERNS_12PassRegistryEE11initialized", "llvm::initializeUnreachableBlockElimPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm41initializeUnreachableMachineBlockElimPassERNS_12PassRegistryEE11initialized", "llvm::initializeUnreachableMachineBlockElimPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_127UnreachableMachineBlockElim2IDE", "(anonymous namespace)::UnreachableMachineBlockElim::ID"},
-    {"_ZN12_GLOBAL__N_120UnreachableBlockElim2IDE", "(anonymous namespace)::UnreachableBlockElim::ID"},
-    {"_ZZN4llvm24initializeVirtRegMapPassERNS_12PassRegistryEE11initialized", "llvm::initializeVirtRegMapPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm18initializeADCEPassERNS_12PassRegistryEE11initialized", "llvm::initializeADCEPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_14ADCE2IDE", "(anonymous namespace)::ADCE::ID"},
-    {"_ZZN4llvm28initializeCodeGenPreparePassERNS_12PassRegistryEE11initialized", "llvm::initializeCodeGenPreparePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_114CodeGenPrepare2IDE", "(anonymous namespace)::CodeGenPrepare::ID"},
-    {"_ZZN4llvm40initializeCorrelatedValuePropagationPassERNS_12PassRegistryEE11initialized", "llvm::initializeCorrelatedValuePropagationPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_126CorrelatedValuePropagation2IDE", "(anonymous namespace)::CorrelatedValuePropagation::ID"},
-    {"_ZZN4llvm17initializeDSEPassERNS_12PassRegistryEE11initialized", "llvm::initializeDSEPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_13DSE2IDE", "(anonymous namespace)::DSE::ID"},
-    {"_ZZN4llvm22initializeEarlyCSEPassERNS_12PassRegistryEE11initialized", "llvm::initializeEarlyCSEPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_18EarlyCSE2IDE", "(anonymous namespace)::EarlyCSE::ID"},
-    {"_ZZN4llvm25initializeGEPSplitterPassERNS_12PassRegistryEE11initialized", "llvm::initializeGEPSplitterPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_111GEPSplitter2IDE", "(anonymous namespace)::GEPSplitter::ID"},
-    {"_ZZN4llvm17initializeGVNPassERNS_12PassRegistryEE11initialized", "llvm::initializeGVNPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_13GVN2IDE", "(anonymous namespace)::GVN::ID"},
-    {"_ZZN4llvm28initializeIndVarSimplifyPassERNS_12PassRegistryEE11initialized", "llvm::initializeIndVarSimplifyPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_114IndVarSimplify2IDE", "(anonymous namespace)::IndVarSimplify::ID"},
-    {"_ZZN4llvm27initializeJumpThreadingPassERNS_12PassRegistryEE11initialized", "llvm::initializeJumpThreadingPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_113JumpThreading2IDE", "(anonymous namespace)::JumpThreading::ID"},
-    {"_ZZN4llvm18initializeLICMPassERNS_12PassRegistryEE11initialized", "llvm::initializeLICMPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_14LICM2IDE", "(anonymous namespace)::LICM::ID"},
-    {"_ZZN4llvm26initializeLoopDeletionPassERNS_12PassRegistryEE11initialized", "llvm::initializeLoopDeletionPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_112LoopDeletion2IDE", "(anonymous namespace)::LoopDeletion::ID"},
-    {"_ZZN4llvm32initializeLoopIdiomRecognizePassERNS_12PassRegistryEE11initialized", "llvm::initializeLoopIdiomRecognizePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_118LoopIdiomRecognize2IDE", "(anonymous namespace)::LoopIdiomRecognize::ID"},
-    {"_ZZN4llvm24initializeLoopRotatePassERNS_12PassRegistryEE11initialized", "llvm::initializeLoopRotatePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_110LoopRotate2IDE", "(anonymous namespace)::LoopRotate::ID"},
-    {"_ZZN4llvm32initializeLoopStrengthReducePassERNS_12PassRegistryEE11initialized", "llvm::initializeLoopStrengthReducePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_118LoopStrengthReduce2IDE", "(anonymous namespace)::LoopStrengthReduce::ID"},
-    {"_ZZN4llvm24initializeLoopUnrollPassERNS_12PassRegistryEE11initialized", "llvm::initializeLoopUnrollPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_110LoopUnroll2IDE", "(anonymous namespace)::LoopUnroll::ID"},
-    {"_ZZN4llvm26initializeLoopUnswitchPassERNS_12PassRegistryEE11initialized", "llvm::initializeLoopUnswitchPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_112LoopUnswitch2IDE", "(anonymous namespace)::LoopUnswitch::ID"},
-    {"_ZZN4llvm23initializeMemCpyOptPassERNS_12PassRegistryEE11initialized", "llvm::initializeMemCpyOptPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_19MemCpyOpt2IDE", "(anonymous namespace)::MemCpyOpt::ID"},
-    {"_ZZN4llvm25initializeReassociatePassERNS_12PassRegistryEE11initialized", "llvm::initializeReassociatePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_111Reassociate2IDE", "(anonymous namespace)::Reassociate::ID"},
-    {"_ZZN4llvm18initializeSCCPPassERNS_12PassRegistryEE11initialized", "llvm::initializeSCCPPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm20initializeIPSCCPPassERNS_12PassRegistryEE11initialized", "llvm::initializeIPSCCPPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_16IPSCCP2IDE", "(anonymous namespace)::IPSCCP::ID"},
-    {"_ZN12_GLOBAL__N_14SCCP2IDE", "(anonymous namespace)::SCCP::ID"},
-    {"_ZZN4llvm21initializeSROA_DTPassERNS_12PassRegistryEE11initialized", "llvm::initializeSROA_DTPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm24initializeSROA_SSAUpPassERNS_12PassRegistryEE11initialized", "llvm::initializeSROA_SSAUpPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_110SROA_SSAUp2IDE", "(anonymous namespace)::SROA_SSAUp::ID"},
-    {"_ZN12_GLOBAL__N_17SROA_DT2IDE", "(anonymous namespace)::SROA_DT::ID"},
-    {"_ZZN4llvm29initializeCFGSimplifyPassPassERNS_12PassRegistryEE11initialized", "llvm::initializeCFGSimplifyPassPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_115CFGSimplifyPass2IDE", "(anonymous namespace)::CFGSimplifyPass::ID"},
-    {"_ZZN4llvm30initializeSimplifyLibCallsPassERNS_12PassRegistryEE11initialized", "llvm::initializeSimplifyLibCallsPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_116SimplifyLibCalls2IDE", "(anonymous namespace)::SimplifyLibCalls::ID"},
-    {"_ZZN4llvm26initializeTailCallElimPassERNS_12PassRegistryEE11initialized", "llvm::initializeTailCallElimPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_112TailCallElim2IDE", "(anonymous namespace)::TailCallElim::ID"},
-    {"_ZZN4llvm26initializeInstCombinerPassERNS_12PassRegistryEE11initialized", "llvm::initializeInstCombinerPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm32initializeBreakCriticalEdgesPassERNS_12PassRegistryEE11initialized", "llvm::initializeBreakCriticalEdgesPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_118BreakCriticalEdges2IDE", "(anonymous namespace)::BreakCriticalEdges::ID"},
-    {"_ZZN4llvm19initializeLCSSAPassERNS_12PassRegistryEE11initialized", "llvm::initializeLCSSAPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_15LCSSA2IDE", "(anonymous namespace)::LCSSA::ID"},
-    {"_ZZN4llvm26initializeLoopSimplifyPassERNS_12PassRegistryEE11initialized", "llvm::initializeLoopSimplifyPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_112LoopSimplify2IDE", "(anonymous namespace)::LoopSimplify::ID"},
-    {"_ZZN4llvm25initializeLowerInvokePassERNS_12PassRegistryEE11initialized", "llvm::initializeLowerInvokePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_111LowerInvoke2IDE", "(anonymous namespace)::LowerInvoke::ID"},
-    {"_ZZN4llvm25initializeLowerSwitchPassERNS_12PassRegistryEE11initialized", "llvm::initializeLowerSwitchPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_111LowerSwitch2IDE", "(anonymous namespace)::LowerSwitch::ID"},
-    {"_ZZN4llvm36initializeUnifyFunctionExitNodesPassERNS_12PassRegistryEE11initialized", "llvm::initializeUnifyFunctionExitNodesPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm32initializeCallGraphAnalysisGroupERNS_12PassRegistryEE11initialized", "llvm::initializeCallGraphAnalysisGroup(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm28initializeBasicCallGraphPassERNS_12PassRegistryEE11initialized", "llvm::initializeBasicCallGraphPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_114BasicCallGraph2IDE", "(anonymous namespace)::BasicCallGraph::ID"},
-    {"_ZN12_GLOBAL__N_118PrintCallGraphPass2IDE", "(anonymous namespace)::PrintCallGraphPass::ID"},
-    {"_ZN12_GLOBAL__N_113CGPassManager2IDE", "(anonymous namespace)::CGPassManager::ID"},
-    {"_ZZN4llvm27initializeFindUsedTypesPassERNS_12PassRegistryEE11initialized", "llvm::initializeFindUsedTypesPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm36initializeAliasAnalysisAnalysisGroupERNS_12PassRegistryEE11initialized", "llvm::initializeAliasAnalysisAnalysisGroup(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm29initializeAliasSetPrinterPassERNS_12PassRegistryEE11initialized", "llvm::initializeAliasSetPrinterPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_115AliasSetPrinter2IDE", "(anonymous namespace)::AliasSetPrinter::ID"},
-    {"_ZZN4llvm32initializeBasicAliasAnalysisPassERNS_12PassRegistryEE11initialized", "llvm::initializeBasicAliasAnalysisPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_118BasicAliasAnalysis2IDE", "(anonymous namespace)::BasicAliasAnalysis::ID"},
-    {"_ZZN4llvm9DIBuilder18CreateLexicalBlockENS_12DIDescriptorENS_6DIFileEjjE9unique_id", "llvm::DIBuilder::CreateLexicalBlock(llvm::DIDescriptor, llvm::DIFile, unsigned int, unsigned int)::unique_id"},
-    {"_ZZN4llvm9DIFactory18CreateLexicalBlockENS_12DIDescriptorENS_6DIFileEjjE9unique_id", "llvm::DIFactory::CreateLexicalBlock(llvm::DIDescriptor, llvm::DIFile, unsigned int, unsigned int)::unique_id"},
-    {"_ZZN4llvm21initializeIVUsersPassERNS_12PassRegistryEE11initialized", "llvm::initializeIVUsersPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm27initializeLazyValueInfoPassERNS_12PassRegistryEE11initialized", "llvm::initializeLazyValueInfoPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm22initializeLoopInfoPassERNS_12PassRegistryEE11initialized", "llvm::initializeLoopInfoPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_113PrintLoopPass2IDE", "(anonymous namespace)::PrintLoopPass::ID"},
-    {"_ZZN4llvm38initializeMemoryDependenceAnalysisPassERNS_12PassRegistryEE11initialized", "llvm::initializeMemoryDependenceAnalysisPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm18initializeNoAAPassERNS_12PassRegistryEE11initialized", "llvm::initializeNoAAPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_14NoAA2IDE", "(anonymous namespace)::NoAA::ID"},
-    {"_ZZN4llvm34initializeProfileInfoAnalysisGroupERNS_12PassRegistryEE11initialized", "llvm::initializeProfileInfoAnalysisGroup(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm27initializeNoProfileInfoPassERNS_12PassRegistryEE11initialized", "llvm::initializeNoProfileInfoPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_113NoProfileInfo2IDE", "(anonymous namespace)::NoProfileInfo::ID"},
-    {"_ZZN4llvm29initializeScalarEvolutionPassERNS_12PassRegistryEE11initialized", "llvm::initializeScalarEvolutionPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm36initializeTypeBasedAliasAnalysisPassERNS_12PassRegistryEE11initialized", "llvm::initializeTypeBasedAliasAnalysisPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_122TypeBasedAliasAnalysis2IDE", "(anonymous namespace)::TypeBasedAliasAnalysis::ID"},
-    {"_ZZN4llvm24initializeDataLayoutPassERNS_12PassRegistryEE11initialized", "llvm::initializeDataLayoutPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm27initializeDominatorTreePassERNS_12PassRegistryEE11initialized", "llvm::initializeDominatorTreePass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_113BBPassManager2IDE", "(anonymous namespace)::BBPassManager::ID"},
-    {"_ZZN12_GLOBAL__N_110TimingInfo17createTheTimeInfoEvE3TTI", "(anonymous namespace)::TimingInfo::createTheTimeInfo()::TTI"},
-    {"_ZZN4llvm29initializePrintModulePassPassERNS_12PassRegistryEE11initialized", "llvm::initializePrintModulePassPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm31initializePrintFunctionPassPassERNS_12PassRegistryEE11initialized", "llvm::initializePrintFunctionPassPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_117PrintFunctionPass2IDE", "(anonymous namespace)::PrintFunctionPass::ID"},
-    {"_ZN12_GLOBAL__N_115PrintModulePass2IDE", "(anonymous namespace)::PrintModulePass::ID"},
-    {"_ZZN4llvm25initializePreVerifierPassERNS_12PassRegistryEE11initialized", "llvm::initializePreVerifierPass(llvm::PassRegistry&)::initialized"},
-    {"_ZZN4llvm22initializeVerifierPassERNS_12PassRegistryEE11initialized", "llvm::initializeVerifierPass(llvm::PassRegistry&)::initialized"},
-    {"_ZN12_GLOBAL__N_18Verifier2IDE", "(anonymous namespace)::Verifier::ID"},
-    {"_ZN12_GLOBAL__N_111PreVerifier2IDE", "(anonymous namespace)::PreVerifier::ID"},
-    {"_ZZ8getMutexvE12HandlesMutex", "getMutex()::HandlesMutex"},
-    {"_ZGVZ8getMutexvE12HandlesMutex", "guard variable for getMutex()::HandlesMutex"},
-    {"_ZZN4llvm5foutsEvE1S", "llvm::fouts()::S"},
-    {"_ZGVZN4llvm5foutsEvE1S", "guard variable for llvm::fouts()::S"},
-    {"_ZZN4llvm5ferrsEvE1S", "llvm::ferrs()::S"},
-    {"_ZGVZN4llvm5ferrsEvE1S", "guard variable for llvm::ferrs()::S"},
-    {"_ZZN4llvm5fdbgsEvE1S", "llvm::fdbgs()::S"},
-    {"_ZGVZN4llvm5fdbgsEvE1S", "guard variable for llvm::fdbgs()::S"},
-    {"_ZGVZN4llvm21PrettyStackTraceEntryC1EvE17HandlerRegistered", "guard variable for llvm::PrettyStackTraceEntry::PrettyStackTraceEntry()::HandlerRegistered"},
-    {"_ZZ15PrintStackTracePvE10StackTrace", "PrintStackTrace(void*)::StackTrace"},
-    {"_ZZN4llvm4outsEvE1S", "llvm::outs()::S"},
-    {"_ZGVZN4llvm4outsEvE1S", "guard variable for llvm::outs()::S"},
-    {"_ZZN4llvm4errsEvE1S", "llvm::errs()::S"},
-    {"_ZGVZN4llvm4errsEvE1S", "guard variable for llvm::errs()::S"},
-    {"_ZZN4llvm5nullsEvE1S", "llvm::nulls()::S"},
-    {"_ZGVZN4llvm5nullsEvE1S", "guard variable for llvm::nulls()::S"},
-    {"_ZZN4llvm16generic_categoryEvE1s", "llvm::generic_category()::s"},
-    {"_ZGVZN4llvm16generic_categoryEvE1s", "guard variable for llvm::generic_category()::s"},
-    {"_ZZN4llvm15system_categoryEvE1s", "llvm::system_category()::s"},
-    {"_ZGVZN4llvm15system_categoryEvE1s", "guard variable for llvm::system_category()::s"},
-    {"_ZN5clang7CodeGen13EHPersonality5GNU_CE", "clang::CodeGen::EHPersonality::GNU_C"},
-    {"_ZN5clang7CodeGen13EHPersonality10GNU_C_SJLJE", "clang::CodeGen::EHPersonality::GNU_C_SJLJ"},
-    {"_ZN5clang7CodeGen13EHPersonality9NeXT_ObjCE", "clang::CodeGen::EHPersonality::NeXT_ObjC"},
-    {"_ZN5clang7CodeGen13EHPersonality13GNU_CPlusPlusE", "clang::CodeGen::EHPersonality::GNU_CPlusPlus"},
-    {"_ZN5clang7CodeGen13EHPersonality18GNU_CPlusPlus_SJLJE", "clang::CodeGen::EHPersonality::GNU_CPlusPlus_SJLJ"},
-    {"_ZN5clang7CodeGen13EHPersonality8GNU_ObjCE", "clang::CodeGen::EHPersonality::GNU_ObjC"},
-    {"_ZN5clang4ento15ManagerRegistry15StoreMgrCreatorE", "clang::ento::ManagerRegistry::StoreMgrCreator"},
-    {"_ZN5clang4ento15ManagerRegistry20ConstraintMgrCreatorE", "clang::ento::ManagerRegistry::ConstraintMgrCreator"},
-    {"_ZN5clang10ASTContext30NumImplicitDefaultConstructorsE", "clang::ASTContext::NumImplicitDefaultConstructors"},
-    {"_ZN5clang10ASTContext38NumImplicitDefaultConstructorsDeclaredE", "clang::ASTContext::NumImplicitDefaultConstructorsDeclared"},
-    {"_ZN5clang10ASTContext27NumImplicitCopyConstructorsE", "clang::ASTContext::NumImplicitCopyConstructors"},
-    {"_ZN5clang10ASTContext35NumImplicitCopyConstructorsDeclaredE", "clang::ASTContext::NumImplicitCopyConstructorsDeclared"},
-    {"_ZN5clang10ASTContext34NumImplicitCopyAssignmentOperatorsE", "clang::ASTContext::NumImplicitCopyAssignmentOperators"},
-    {"_ZN5clang10ASTContext42NumImplicitCopyAssignmentOperatorsDeclaredE", "clang::ASTContext::NumImplicitCopyAssignmentOperatorsDeclared"},
-    {"_ZN5clang10ASTContext22NumImplicitDestructorsE", "clang::ASTContext::NumImplicitDestructors"},
-    {"_ZN5clang10ASTContext30NumImplicitDestructorsDeclaredE", "clang::ASTContext::NumImplicitDestructorsDeclared"},
-    {"_ZN4llvm3X8611GR8RegClassE", "llvm::X86::GR8RegClass"},
-    {"_ZN4llvm3X8618GR8_ABCD_LRegClassE", "llvm::X86::GR8_ABCD_LRegClass"},
-    {"_ZN4llvm3X8618GR8_ABCD_HRegClassE", "llvm::X86::GR8_ABCD_HRegClass"},
-    {"_ZN4llvm3X8612GR64RegClassE", "llvm::X86::GR64RegClass"},
-    {"_ZN4llvm3X8617GR64_ABCDRegClassE", "llvm::X86::GR64_ABCDRegClass"},
-    {"_ZN4llvm3X8618GR64_NOREXRegClassE", "llvm::X86::GR64_NOREXRegClass"},
-    {"_ZN4llvm3X8617GR64_NOSPRegClassE", "llvm::X86::GR64_NOSPRegClass"},
-    {"_ZN4llvm3X8623GR64_NOREX_NOSPRegClassE", "llvm::X86::GR64_NOREX_NOSPRegClass"},
-    {"_ZN4llvm3X8612GR32RegClassE", "llvm::X86::GR32RegClass"},
-    {"_ZN4llvm3X8617GR32_ABCDRegClassE", "llvm::X86::GR32_ABCDRegClass"},
-    {"_ZN4llvm3X8618GR32_NOREXRegClassE", "llvm::X86::GR32_NOREXRegClass"},
-    {"_ZN4llvm3X8617GR32_NOSPRegClassE", "llvm::X86::GR32_NOSPRegClass"},
-    {"_ZN4llvm3X8612GR16RegClassE", "llvm::X86::GR16RegClass"},
-    {"_ZN4llvm3X8617GR16_ABCDRegClassE", "llvm::X86::GR16_ABCDRegClass"},
-    {"_ZN4llvm3X8618GR16_NOREXRegClassE", "llvm::X86::GR16_NOREXRegClass"},
-    {"_ZN4llvm3X8617GR8_NOREXRegClassE", "llvm::X86::GR8_NOREXRegClass"},
-    {"_ZN4llvm3X8612FR32RegClassE", "llvm::X86::FR32RegClass"},
-    {"_ZN4llvm3X8612FR64RegClassE", "llvm::X86::FR64RegClass"},
-    {"_ZN4llvm3X8613VR128RegClassE", "llvm::X86::VR128RegClass"},
-    {"_ZN4llvm3X8618GR64_TCW64RegClassE", "llvm::X86::GR64_TCW64RegClass"},
-    {"_ZN4llvm3X8615GR64_TCRegClassE", "llvm::X86::GR64_TCRegClass"},
-    {"_ZN4llvm3X8615GR32_TCRegClassE", "llvm::X86::GR32_TCRegClass"},
-    {"_ZN4llvm3X8611CCRRegClassE", "llvm::X86::CCRRegClass"},
-    {"_ZN4llvm3X8619CONTROL_REGRegClassE", "llvm::X86::CONTROL_REGRegClass"},
-    {"_ZN4llvm3X8617DEBUG_REGRegClassE", "llvm::X86::DEBUG_REGRegClass"},
-    {"_ZN4llvm3X8615GR32_ADRegClassE", "llvm::X86::GR32_ADRegClass"},
-    {"_ZN4llvm3X8613RFP32RegClassE", "llvm::X86::RFP32RegClass"},
-    {"_ZN4llvm3X8613RFP64RegClassE", "llvm::X86::RFP64RegClass"},
-    {"_ZN4llvm3X8613RFP80RegClassE", "llvm::X86::RFP80RegClass"},
-    {"_ZN4llvm3X8611RSTRegClassE", "llvm::X86::RSTRegClass"},
-    {"_ZN4llvm3X8619SEGMENT_REGRegClassE", "llvm::X86::SEGMENT_REGRegClass"},
-    {"_ZN4llvm3X8613VR256RegClassE", "llvm::X86::VR256RegClass"},
-    {"_ZN4llvm3X8612VR64RegClassE", "llvm::X86::VR64RegClass"},
-    {"_ZN4llvm3ARM13SPR_8RegClassE", "llvm::ARM::SPR_8RegClass"},
-    {"_ZN4llvm3ARM13DPR_8RegClassE", "llvm::ARM::DPR_8RegClass"},
-    {"_ZN4llvm3ARM16DPR_VFP2RegClassE", "llvm::ARM::DPR_VFP2RegClass"},
-    {"_ZN4llvm3ARM13QPR_8RegClassE", "llvm::ARM::QPR_8RegClass"},
-    {"_ZN4llvm3ARM16QPR_VFP2RegClassE", "llvm::ARM::QPR_VFP2RegClass"},
-    {"_ZN4llvm3ARM17QQPR_VFP2RegClassE", "llvm::ARM::QQPR_VFP2RegClass"},
-    {"_ZN4llvm3ARM11DPRRegClassE", "llvm::ARM::DPRRegClass"},
-    {"_ZN4llvm3ARM11QPRRegClassE", "llvm::ARM::QPRRegClass"},
-    {"_ZN4llvm3ARM11CCRRegClassE", "llvm::ARM::CCRRegClass"},
-    {"_ZN4llvm3ARM11GPRRegClassE", "llvm::ARM::GPRRegClass"},
-    {"_ZN4llvm3ARM12QQPRRegClassE", "llvm::ARM::QQPRRegClass"},
-    {"_ZN4llvm3ARM14QQQQPRRegClassE", "llvm::ARM::QQQQPRRegClass"},
-    {"_ZN4llvm3ARM11SPRRegClassE", "llvm::ARM::SPRRegClass"},
-    {"_ZN4llvm3ARM12rGPRRegClassE", "llvm::ARM::rGPRRegClass"},
-    {"_ZN4llvm3ARM12tGPRRegClassE", "llvm::ARM::tGPRRegClass"},
-    {"_ZN4llvm3ARM13tcGPRRegClassE", "llvm::ARM::tcGPRRegClass"},
-    {"_ZN4llvm17RegisterScheduler8RegistryE", "llvm::RegisterScheduler::Registry"},
-    {"_ZN4llvm16SelectionDAGISel2IDE", "llvm::SelectionDAGISel::ID"},
-    {"_ZN4llvm10AsmPrinter2IDE", "llvm::AsmPrinter::ID"},
-    {"_ZN4llvm21CalculateSpillWeights2IDE", "llvm::CalculateSpillWeights::ID"},
-    {"_ZN4llvm11EdgeBundles2IDE", "llvm::EdgeBundles::ID"},
-    {"_ZN4llvm12GCModuleInfo2IDE", "llvm::GCModuleInfo::ID"},
-    {"_ZN4llvm14EnableFastISelE", "llvm::EnableFastISel"},
-    {"_ZN4llvm18LiveDebugVariables2IDE", "llvm::LiveDebugVariables::ID"},
-    {"_ZN4llvm13LiveIntervals2IDE", "llvm::LiveIntervals::ID"},
-    {"_ZN4llvm10LiveStacks2IDE", "llvm::LiveStacks::ID"},
-    {"_ZN4llvm13LiveVariables2IDE", "llvm::LiveVariables::ID"},
-    {"_ZN4llvm20MachineDominatorTree2IDE", "llvm::MachineDominatorTree::ID"},
-    {"_ZN4llvm23MachineFunctionAnalysis2IDE", "llvm::MachineFunctionAnalysis::ID"},
-    {"_ZN4llvm15MachineLoopInfo2IDE", "llvm::MachineLoopInfo::ID"},
-    {"_ZN4llvm17MachineModuleInfo2IDE", "llvm::MachineModuleInfo::ID"},
-    {"_ZN4llvm16RegisterRegAlloc8RegistryE", "llvm::RegisterRegAlloc::Registry"},
-    {"_ZN4llvm19ProcessImplicitDefs2IDE", "llvm::ProcessImplicitDefs::ID"},
-    {"_ZN4llvm3PEI2IDE", "llvm::PEI::ID"},
-    {"_ZN4llvm17RegisterCoalescer2IDE", "llvm::RegisterCoalescer::ID"},
-    {"_ZN4llvm24SimpleRegisterCoalescing2IDE", "llvm::SimpleRegisterCoalescing::ID"},
-    {"_ZN4llvm11SlotIndexes2IDE", "llvm::SlotIndexes::ID"},
-    {"_ZN4llvm10VirtRegMap2IDE", "llvm::VirtRegMap::ID"},
-    {"_ZN4llvm12InstCombiner2IDE", "llvm::InstCombiner::ID"},
-    {"_ZN4llvm22UnifyFunctionExitNodes2IDE", "llvm::UnifyFunctionExitNodes::ID"},
-    {"_ZN4llvm9CallGraph2IDE", "llvm::CallGraph::ID"},
-    {"_ZN4llvm13FindUsedTypes2IDE", "llvm::FindUsedTypes::ID"},
-    {"_ZN4llvm13AliasAnalysis2IDE", "llvm::AliasAnalysis::ID"},
-    {"_ZN4llvm7IVUsers2IDE", "llvm::IVUsers::ID"},
-    {"_ZN4llvm13LazyValueInfo2IDE", "llvm::LazyValueInfo::ID"},
-    {"_ZN4llvm8LoopInfo2IDE", "llvm::LoopInfo::ID"},
-    {"_ZN4llvm13LPPassManager2IDE", "llvm::LPPassManager::ID"},
-    {"_ZN4llvm24MemoryDependenceAnalysis2IDE", "llvm::MemoryDependenceAnalysis::ID"},
-    {"_ZN4llvm12ProfileInfoTINS_8FunctionENS_10BasicBlockEE2IDE", "llvm::ProfileInfoT<llvm::Function, llvm::BasicBlock>::ID"},
-    {"_ZN4llvm12ProfileInfoTINS_15MachineFunctionENS_17MachineBasicBlockEE2IDE", "llvm::ProfileInfoT<llvm::MachineFunction, llvm::MachineBasicBlock>::ID"},
-    {"_ZN4llvm15ScalarEvolution2IDE", "llvm::ScalarEvolution::ID"},
-    {"_ZN4llvm10DataLayout2IDE", "llvm::DataLayout::ID"},
-    {"_ZN4llvm10DataLayout20InvalidAlignmentElemE", "llvm::DataLayout::InvalidAlignmentElem"},
-    {"_ZN4llvm22LessPreciseFPMADOptionE", "llvm::LessPreciseFPMADOption"},
-    {"_ZN4llvm16PrintMachineCodeE", "llvm::PrintMachineCode"},
-    {"_ZN4llvm18NoFramePointerElimE", "llvm::NoFramePointerElim"},
-    {"_ZN4llvm25NoFramePointerElimNonLeafE", "llvm::NoFramePointerElimNonLeaf"},
-    {"_ZN4llvm19NoExcessFPPrecisionE", "llvm::NoExcessFPPrecision"},
-    {"_ZN4llvm12UnsafeFPMathE", "llvm::UnsafeFPMath"},
-    {"_ZN4llvm12NoInfsFPMathE", "llvm::NoInfsFPMath"},
-    {"_ZN4llvm12NoNaNsFPMathE", "llvm::NoNaNsFPMath"},
-    {"_ZN4llvm38HonorSignDependentRoundingFPMathOptionE", "llvm::HonorSignDependentRoundingFPMathOption"},
-    {"_ZN4llvm12UseSoftFloatE", "llvm::UseSoftFloat"},
-    {"_ZN4llvm12FloatABITypeE", "llvm::FloatABIType"},
-    {"_ZN4llvm15NoImplicitFloatE", "llvm::NoImplicitFloat"},
-    {"_ZN4llvm12NoZerosInBSSE", "llvm::NoZerosInBSS"},
-    {"_ZN4llvm20JITExceptionHandlingE", "llvm::JITExceptionHandling"},
-    {"_ZN4llvm16JITEmitDebugInfoE", "llvm::JITEmitDebugInfo"},
-    {"_ZN4llvm22JITEmitDebugInfoToDiskE", "llvm::JITEmitDebugInfoToDisk"},
-    {"_ZN4llvm21UnwindTablesMandatoryE", "llvm::UnwindTablesMandatory"},
-    {"_ZN4llvm15RelocationModelE", "llvm::RelocationModel"},
-    {"_ZN4llvm7CMModelE", "llvm::CMModel"},
-    {"_ZN4llvm21GuaranteedTailCallOptE", "llvm::GuaranteedTailCallOpt"},
-    {"_ZN4llvm14StackAlignmentE", "llvm::StackAlignment"},
-    {"_ZN4llvm12RealignStackE", "llvm::RealignStack"},
-    {"_ZN4llvm17DisableJumpTablesE", "llvm::DisableJumpTables"},
-    {"_ZN4llvm13StrongPHIElimE", "llvm::StrongPHIElim"},
-    {"_ZN4llvm19AsmVerbosityDefaultE", "llvm::AsmVerbosityDefault"},
-    {"_ZN4llvm13DominatorTree2IDE", "llvm::DominatorTree::ID"},
-    {"_ZN4llvm23FunctionPassManagerImpl2IDE", "llvm::FunctionPassManagerImpl::ID"},
-    {"_ZN4llvm13MPPassManager2IDE", "llvm::MPPassManager::ID"},
-    {"_ZN4llvm15PassManagerImpl2IDE", "llvm::PassManagerImpl::ID"},
-    {"_ZN4llvm13FPPassManager2IDE", "llvm::FPPassManager::ID"},
-    {"_ZN4llvm19TimePassesIsEnabledE", "llvm::TimePassesIsEnabled"},
-    {"_ZN4llvm16BumpPtrAllocator20DefaultSlabAllocatorE", "llvm::BumpPtrAllocator::DefaultSlabAllocator"},
-    {"_ZN4llvm20EnableDebugBufferingE", "llvm::EnableDebugBuffering"},
-    {"_ZN4llvm23DisablePrettyStackTraceE", "llvm::DisablePrettyStackTrace"},
-    {"_ZN4llvm3sys9TimeValue8ZeroTimeE", "llvm::sys::TimeValue::ZeroTime"},
-    {"_ZNKSs13find_first_ofEPKcmm", "std::string::find_first_of(char const*, unsigned long, unsigned long) const"},
-    {"_ZNKSs4copyEPcmm", "std::string::copy(char*, unsigned long, unsigned long) const"},
-    {"_ZNKSs4findEPKcmm", "std::string::find(char const*, unsigned long, unsigned long) const"},
-    {"_ZNKSs4findEcm", "std::string::find(char, unsigned long) const"},
-    {"_ZNKSs5rfindEPKcmm", "std::string::rfind(char const*, unsigned long, unsigned long) const"},
-    {"_ZNKSs5rfindEcm", "std::string::rfind(char, unsigned long) const"},
-    {"_ZNKSs7compareEPKc", "std::string::compare(char const*) const"},
-    {"_ZNKSs7compareEmmPKc", "std::string::compare(unsigned long, unsigned long, char const*) const"},
-    {"_ZNKSs7compareEmmPKcm", "std::string::compare(unsigned long, unsigned long, char const*, unsigned long) const"},
-    {"_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc", "std::basic_ios<char, std::char_traits<char> >::widen(char) const"},
-    {"_ZNSo3putEc", "std::ostream::put(char)"},
-    {"_ZNSo5flushEv", "std::ostream::flush()"},
-    {"_ZNSs12_M_leak_hardEv", "std::string::_M_leak_hard()"},
-    {"_ZNSs14_M_replace_auxEmmmc", "std::string::_M_replace_aux(unsigned long, unsigned long, unsigned long, char)"},
-    {"_ZNSs4_Rep10_M_destroyERKSaIcE", "std::string::_Rep::_M_destroy(std::allocator<char> const&)"},
-    {"_ZNSs4_Rep11_S_terminalE", "std::string::_Rep::_S_terminal"},
-    {"_ZNSs4_Rep20_S_empty_rep_storageE", "std::string::_Rep::_S_empty_rep_storage"},
-    {"_ZNSs4_Rep9_S_createEmmRKSaIcE", "std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&)"},
-    {"_ZNSs4swapERSs", "std::string::swap(std::string&)"},
-    {"_ZNSs6appendEPKcm", "std::string::append(char const*, unsigned long)"},
-    {"_ZNSs6appendERKSs", "std::string::append(std::string const&)"},
-    {"_ZNSs6appendEmc", "std::string::append(unsigned long, char)"},
-    {"_ZNSs6assignEPKcm", "std::string::assign(char const*, unsigned long)"},
-    {"_ZNSs6assignERKSs", "std::string::assign(std::string const&)"},
-    {"_ZNSs6resizeEmc", "std::string::resize(unsigned long, char)"},
-    {"_ZNSs7replaceEmmPKcm", "std::string::replace(unsigned long, unsigned long, char const*, unsigned long)"},
-    {"_ZNSs7reserveEm", "std::string::reserve(unsigned long)"},
-    {"_ZNSs9_M_mutateEmmm", "std::string::_M_mutate(unsigned long, unsigned long, unsigned long)"},
-    {"_ZNSsC1EPKcRKSaIcE", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)"},
-    {"_ZNSsC1EPKcmRKSaIcE", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned long, std::allocator<char> const&)"},
-    {"_ZNSsC1ERKSs", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)"},
-    {"_ZNSsC1ERKSsmm", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned long, unsigned long)"},
-    {"_ZNSsC1EmcRKSaIcE", "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(unsigned long, char, std::allocator<char> const&)"},
-    {"_ZNSsixEm", "std::string::operator[](unsigned long)"},
-    {"_ZNSspLEPKc", "std::string::operator+=(char const*)"},
-    {"_ZNSspLEc", "std::string::operator+=(char)"},
-    {"_ZNSt15_List_node_base4hookEPS_", "std::_List_node_base::hook(std::_List_node_base*)"},
-    {"_ZNSt15_List_node_base4swapERS_S0_", "std::_List_node_base::swap(std::_List_node_base&, std::_List_node_base&)"},
-    {"_ZNSt15_List_node_base6unhookEv", "std::_List_node_base::unhook()"},
-    {"_ZNSt8ios_base4InitC1Ev", "std::ios_base::Init::Init()"},
-    {"_ZNSt8ios_base4InitD1Ev", "std::ios_base::Init::~Init()"},
-    {"_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l", "std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)"},
-    {"_ZSt17__throw_bad_allocv", "std::__throw_bad_alloc()"},
-    {"_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base", "std::_Rb_tree_decrement(std::_Rb_tree_node_base const*)"},
-    {"_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base", "std::_Rb_tree_decrement(std::_Rb_tree_node_base*)"},
-    {"_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base", "std::_Rb_tree_increment(std::_Rb_tree_node_base const*)"},
-    {"_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base", "std::_Rb_tree_increment(std::_Rb_tree_node_base*)"},
-    {"_ZSt19__throw_logic_errorPKc", "std::__throw_logic_error(char const*)"},
-    {"_ZSt20__throw_length_errorPKc", "std::__throw_length_error(char const*)"},
-    {"_ZSt20__throw_out_of_rangePKc", "std::__throw_out_of_range(char const*)"},
-    {"_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_", "std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)"},
-    {"_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_", "std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)"},
-    {"_ZSt4cout", "std::cout"},
-    {"_ZSt7nothrow", "std::nothrow"},
-    {"_ZTVN10__cxxabiv117__class_type_infoE", "vtable for __cxxabiv1::__class_type_info"},
-    {"_ZTVN10__cxxabiv120__si_class_type_infoE", "vtable for __cxxabiv1::__si_class_type_info"},
-    {"_ZTVN10__cxxabiv121__vmi_class_type_infoE", "vtable for __cxxabiv1::__vmi_class_type_info"},
-    {"_ZdaPv", "operator delete[](void*)"},
-    {"_ZdlPv", "operator delete(void*)"},
-    {"_ZdlPvRKSt9nothrow_t", "operator delete(void*, std::nothrow_t const&)"},
-    {"_Znam", "operator new[](unsigned long)"},
-    {"_Znwm", "operator new(unsigned long)"},
-    {"_ZnwmRKSt9nothrow_t", "operator new(unsigned long, std::nothrow_t const&)"},
-
-    // The following pairs are not supported by gcc's __cxa_demangle
-
-    {"_ZStL8__ioinit", "std::__ioinit"},
-    {"_ZL4NaNU", "NaNU"},
-    {"_ZL4NaNL", "NaNL"},
-    {"_ZL8CharInfo", "CharInfo"},
-    {"_ZL13DiagSubGroup0", "DiagSubGroup0"},
-    {"_ZL10DiagArray1", "DiagArray1"},
-    {"_ZL10DiagArray2", "DiagArray2"},
-    {"_ZL10DiagArray5", "DiagArray5"},
-    {"_ZL13DiagSubGroup7", "DiagSubGroup7"},
-    {"_ZL10DiagArray8", "DiagArray8"},
-    {"_ZL13DiagSubGroup9", "DiagSubGroup9"},
-    {"_ZL11DiagArray12", "DiagArray12"},
-    {"_ZL11DiagArray13", "DiagArray13"},
-    {"_ZL11DiagArray14", "DiagArray14"},
-    {"_ZL11DiagArray15", "DiagArray15"},
-    {"_ZL11DiagArray16", "DiagArray16"},
-    {"_ZL11DiagArray17", "DiagArray17"},
-    {"_ZL14DiagSubGroup17", "DiagSubGroup17"},
-    {"_ZL11DiagArray18", "DiagArray18"},
-    {"_ZL11DiagArray19", "DiagArray19"},
-    {"_ZL11DiagArray22", "DiagArray22"},
-    {"_ZL11DiagArray23", "DiagArray23"},
-    {"_ZL14DiagSubGroup24", "DiagSubGroup24"},
-    {"_ZL11DiagArray25", "DiagArray25"},
-    {"_ZL11DiagArray26", "DiagArray26"},
-    {"_ZL11DiagArray27", "DiagArray27"},
-    {"_ZL14DiagSubGroup27", "DiagSubGroup27"},
-    {"_ZL11DiagArray29", "DiagArray29"},
-    {"_ZL11DiagArray30", "DiagArray30"},
-    {"_ZL11DiagArray31", "DiagArray31"},
-    {"_ZL14DiagSubGroup31", "DiagSubGroup31"},
-    {"_ZL11DiagArray32", "DiagArray32"},
-    {"_ZL11DiagArray33", "DiagArray33"},
-    {"_ZL11DiagArray38", "DiagArray38"},
-    {"_ZL14DiagSubGroup39", "DiagSubGroup39"},
-    {"_ZL14DiagSubGroup40", "DiagSubGroup40"},
-    {"_ZL11DiagArray41", "DiagArray41"},
-    {"_ZL11DiagArray42", "DiagArray42"},
-    {"_ZL11DiagArray43", "DiagArray43"},
-    {"_ZL14DiagSubGroup43", "DiagSubGroup43"},
-    {"_ZL11DiagArray44", "DiagArray44"},
-    {"_ZL11DiagArray45", "DiagArray45"},
-    {"_ZL14DiagSubGroup45", "DiagSubGroup45"},
-    {"_ZL11DiagArray46", "DiagArray46"},
-    {"_ZL14DiagSubGroup46", "DiagSubGroup46"},
-    {"_ZL14DiagSubGroup47", "DiagSubGroup47"},
-    {"_ZL11DiagArray48", "DiagArray48"},
-    {"_ZL14DiagSubGroup49", "DiagSubGroup49"},
-    {"_ZL11DiagArray50", "DiagArray50"},
-    {"_ZL11DiagArray51", "DiagArray51"},
-    {"_ZL11DiagArray52", "DiagArray52"},
-    {"_ZL14DiagSubGroup52", "DiagSubGroup52"},
-    {"_ZL11DiagArray53", "DiagArray53"},
-    {"_ZL11DiagArray54", "DiagArray54"},
-    {"_ZL11DiagArray55", "DiagArray55"},
-    {"_ZL14DiagSubGroup56", "DiagSubGroup56"},
-    {"_ZL11DiagArray57", "DiagArray57"},
-    {"_ZL11DiagArray58", "DiagArray58"},
-    {"_ZL11DiagArray59", "DiagArray59"},
-    {"_ZL11DiagArray62", "DiagArray62"},
-    {"_ZL11DiagArray65", "DiagArray65"},
-    {"_ZL11DiagArray66", "DiagArray66"},
-    {"_ZL11DiagArray68", "DiagArray68"},
-    {"_ZL11DiagArray69", "DiagArray69"},
-    {"_ZL11DiagArray70", "DiagArray70"},
-    {"_ZL11DiagArray71", "DiagArray71"},
-    {"_ZL11DiagArray72", "DiagArray72"},
-    {"_ZL11DiagArray73", "DiagArray73"},
-    {"_ZL11DiagArray75", "DiagArray75"},
-    {"_ZL11DiagArray76", "DiagArray76"},
-    {"_ZL11DiagArray77", "DiagArray77"},
-    {"_ZL11DiagArray78", "DiagArray78"},
-    {"_ZL11DiagArray79", "DiagArray79"},
-    {"_ZL11DiagArray80", "DiagArray80"},
-    {"_ZL11DiagArray83", "DiagArray83"},
-    {"_ZL11DiagArray84", "DiagArray84"},
-    {"_ZL14DiagSubGroup85", "DiagSubGroup85"},
-    {"_ZL11DiagArray86", "DiagArray86"},
-    {"_ZL14DiagSubGroup89", "DiagSubGroup89"},
-    {"_ZL11DiagArray90", "DiagArray90"},
-    {"_ZL11DiagArray91", "DiagArray91"},
-    {"_ZL11DiagArray92", "DiagArray92"},
-    {"_ZL11DiagArray93", "DiagArray93"},
-    {"_ZL11DiagArray95", "DiagArray95"},
-    {"_ZL11DiagArray98", "DiagArray98"},
-    {"_ZL12DiagArray100", "DiagArray100"},
-    {"_ZL12DiagArray101", "DiagArray101"},
-    {"_ZL12DiagArray102", "DiagArray102"},
-    {"_ZL12DiagArray103", "DiagArray103"},
-    {"_ZL12DiagArray104", "DiagArray104"},
-    {"_ZL15DiagSubGroup104", "DiagSubGroup104"},
-    {"_ZL12DiagArray105", "DiagArray105"},
-    {"_ZL12DiagArray106", "DiagArray106"},
-    {"_ZL12DiagArray108", "DiagArray108"},
-    {"_ZL12DiagArray109", "DiagArray109"},
-    {"_ZL12DiagArray111", "DiagArray111"},
-    {"_ZL12DiagArray112", "DiagArray112"},
-    {"_ZL12DiagArray113", "DiagArray113"},
-    {"_ZL12DiagArray114", "DiagArray114"},
-    {"_ZL12DiagArray115", "DiagArray115"},
-    {"_ZL12DiagArray117", "DiagArray117"},
-    {"_ZL12DiagArray118", "DiagArray118"},
-    {"_ZL12DiagArray119", "DiagArray119"},
-    {"_ZL12DiagArray134", "DiagArray134"},
-    {"_ZL12DiagArray135", "DiagArray135"},
-    {"_ZL12DiagArray136", "DiagArray136"},
-    {"_ZL15DiagSubGroup136", "DiagSubGroup136"},
-    {"_ZL12DiagArray138", "DiagArray138"},
-    {"_ZL12DiagArray140", "DiagArray140"},
-    {"_ZL12DiagArray141", "DiagArray141"},
-    {"_ZL12DiagArray143", "DiagArray143"},
-    {"_ZL12DiagArray144", "DiagArray144"},
-    {"_ZL12DiagArray145", "DiagArray145"},
-    {"_ZL12DiagArray146", "DiagArray146"},
-    {"_ZL12DiagArray147", "DiagArray147"},
-    {"_ZL12DiagArray148", "DiagArray148"},
-    {"_ZL12DiagArray149", "DiagArray149"},
-    {"_ZL12DiagArray150", "DiagArray150"},
-    {"_ZL12DiagArray151", "DiagArray151"},
-    {"_ZL12DiagArray152", "DiagArray152"},
-    {"_ZL15DiagSubGroup153", "DiagSubGroup153"},
-    {"_ZL12DiagArray155", "DiagArray155"},
-    {"_ZL12DiagArray156", "DiagArray156"},
-    {"_ZL12DiagArray157", "DiagArray157"},
-    {"_ZL12DiagArray158", "DiagArray158"},
-    {"_ZL12DiagArray159", "DiagArray159"},
-    {"_ZL12DiagArray160", "DiagArray160"},
-    {"_ZL12DiagArray161", "DiagArray161"},
-    {"_ZL12DiagArray162", "DiagArray162"},
-    {"_ZL12DiagArray163", "DiagArray163"},
-    {"_ZL12DiagArray164", "DiagArray164"},
-    {"_ZL12DiagArray165", "DiagArray165"},
-    {"_ZL12DiagArray166", "DiagArray166"},
-    {"_ZL12DiagArray168", "DiagArray168"},
-    {"_ZN4llvmL13ImplicitList1E", "llvm::ImplicitList1"},
-    {"_ZN4llvmL13ImplicitList2E", "llvm::ImplicitList2"},
-    {"_ZN4llvmL13ImplicitList3E", "llvm::ImplicitList3"},
-    {"_ZN4llvmL13ImplicitList4E", "llvm::ImplicitList4"},
-    {"_ZN4llvmL13ImplicitList5E", "llvm::ImplicitList5"},
-    {"_ZN4llvmL13ImplicitList6E", "llvm::ImplicitList6"},
-    {"_ZN4llvmL13ImplicitList7E", "llvm::ImplicitList7"},
-    {"_ZN4llvmL13ImplicitList8E", "llvm::ImplicitList8"},
-    {"_ZN4llvmL13ImplicitList9E", "llvm::ImplicitList9"},
-    {"_ZN4llvmL14ImplicitList10E", "llvm::ImplicitList10"},
-    {"_ZN4llvmL14ImplicitList11E", "llvm::ImplicitList11"},
-    {"_ZN4llvmL14ImplicitList12E", "llvm::ImplicitList12"},
-    {"_ZN4llvmL14ImplicitList13E", "llvm::ImplicitList13"},
-    {"_ZN4llvmL14ImplicitList14E", "llvm::ImplicitList14"},
-    {"_ZN4llvmL14ImplicitList15E", "llvm::ImplicitList15"},
-    {"_ZN4llvmL14ImplicitList16E", "llvm::ImplicitList16"},
-    {"_ZN4llvmL14ImplicitList17E", "llvm::ImplicitList17"},
-    {"_ZN4llvmL14ImplicitList18E", "llvm::ImplicitList18"},
-    {"_ZN4llvmL14ImplicitList19E", "llvm::ImplicitList19"},
-    {"_ZN4llvmL14ImplicitList20E", "llvm::ImplicitList20"},
-    {"_ZN4llvmL14ImplicitList21E", "llvm::ImplicitList21"},
-    {"_ZN4llvmL14ImplicitList22E", "llvm::ImplicitList22"},
-    {"_ZN4llvmL14ImplicitList23E", "llvm::ImplicitList23"},
-    {"_ZN4llvmL14ImplicitList24E", "llvm::ImplicitList24"},
-    {"_ZN4llvmL14ImplicitList25E", "llvm::ImplicitList25"},
-    {"_ZN4llvmL14ImplicitList26E", "llvm::ImplicitList26"},
-    {"_ZN4llvmL14ImplicitList27E", "llvm::ImplicitList27"},
-    {"_ZN4llvmL14ImplicitList28E", "llvm::ImplicitList28"},
-    {"_ZN4llvmL14ImplicitList29E", "llvm::ImplicitList29"},
-    {"_ZN4llvmL14ImplicitList30E", "llvm::ImplicitList30"},
-    {"_ZN4llvmL14ImplicitList31E", "llvm::ImplicitList31"},
-    {"_ZN4llvmL14ImplicitList32E", "llvm::ImplicitList32"},
-    {"_ZN4llvmL14ImplicitList33E", "llvm::ImplicitList33"},
-    {"_ZN4llvmL14ImplicitList34E", "llvm::ImplicitList34"},
-    {"_ZN4llvmL14ImplicitList35E", "llvm::ImplicitList35"},
-    {"_ZN4llvmL14ImplicitList36E", "llvm::ImplicitList36"},
-    {"_ZN4llvmL14ImplicitList37E", "llvm::ImplicitList37"},
-    {"_ZN4llvmL14ImplicitList38E", "llvm::ImplicitList38"},
-    {"_ZN4llvmL14ImplicitList39E", "llvm::ImplicitList39"},
-    {"_ZN4llvmL14ImplicitList40E", "llvm::ImplicitList40"},
-    {"_ZN4llvmL14ImplicitList41E", "llvm::ImplicitList41"},
-    {"_ZN4llvmL14ImplicitList42E", "llvm::ImplicitList42"},
-    {"_ZN4llvmL14ImplicitList43E", "llvm::ImplicitList43"},
-    {"_ZN4llvmL14ImplicitList44E", "llvm::ImplicitList44"},
-    {"_ZN4llvmL14ImplicitList45E", "llvm::ImplicitList45"},
-    {"_ZN4llvmL14ImplicitList46E", "llvm::ImplicitList46"},
-    {"_ZN4llvmL14ImplicitList47E", "llvm::ImplicitList47"},
-    {"_ZN4llvmL14ImplicitList48E", "llvm::ImplicitList48"},
-    {"_ZN4llvmL14ImplicitList49E", "llvm::ImplicitList49"},
-    {"_ZN4llvmL14ImplicitList50E", "llvm::ImplicitList50"},
-    {"_ZN4llvmL14ImplicitList51E", "llvm::ImplicitList51"},
-    {"_ZN4llvmL14ImplicitList52E", "llvm::ImplicitList52"},
-    {"_ZN4llvmL14ImplicitList53E", "llvm::ImplicitList53"},
-    {"_ZN4llvmL14ImplicitList54E", "llvm::ImplicitList54"},
-    {"_ZN4llvmL14ImplicitList55E", "llvm::ImplicitList55"},
-    {"_ZN4llvmL14ImplicitList56E", "llvm::ImplicitList56"},
-    {"_ZN4llvmL14ImplicitList57E", "llvm::ImplicitList57"},
-    {"_ZN4llvmL14ImplicitList58E", "llvm::ImplicitList58"},
-    {"_ZN4llvmL14ImplicitList59E", "llvm::ImplicitList59"},
-    {"_ZN4llvmL14ImplicitList60E", "llvm::ImplicitList60"},
-    {"_ZN4llvmL14ImplicitList61E", "llvm::ImplicitList61"},
-    {"_ZN4llvmL14ImplicitList62E", "llvm::ImplicitList62"},
-    {"_ZN4llvmL14ImplicitList63E", "llvm::ImplicitList63"},
-    {"_ZN4llvmL14ImplicitList64E", "llvm::ImplicitList64"},
-    {"_ZN4llvmL14ImplicitList65E", "llvm::ImplicitList65"},
-    {"_ZL17ReplaceableInstrs", "ReplaceableInstrs"},
-    {"_ZN4llvm3X86L18CCRSuperRegClassesE", "llvm::X86::CCRSuperRegClasses"},
-    {"_ZN4llvm3X86L26CONTROL_REGSuperRegClassesE", "llvm::X86::CONTROL_REGSuperRegClasses"},
-    {"_ZN4llvm3X86L24DEBUG_REGSuperRegClassesE", "llvm::X86::DEBUG_REGSuperRegClasses"},
-    {"_ZN4llvm3X86L22GR32_ADSuperRegClassesE", "llvm::X86::GR32_ADSuperRegClasses"},
-    {"_ZN4llvm3X86L19GR64SuperRegClassesE", "llvm::X86::GR64SuperRegClasses"},
-    {"_ZN4llvm3X86L24GR64_ABCDSuperRegClassesE", "llvm::X86::GR64_ABCDSuperRegClasses"},
-    {"_ZN4llvm3X86L25GR64_NOREXSuperRegClassesE", "llvm::X86::GR64_NOREXSuperRegClasses"},
-    {"_ZN4llvm3X86L30GR64_NOREX_NOSPSuperRegClassesE", "llvm::X86::GR64_NOREX_NOSPSuperRegClasses"},
-    {"_ZN4llvm3X86L24GR64_NOSPSuperRegClassesE", "llvm::X86::GR64_NOSPSuperRegClasses"},
-    {"_ZN4llvm3X86L22GR64_TCSuperRegClassesE", "llvm::X86::GR64_TCSuperRegClasses"},
-    {"_ZN4llvm3X86L25GR64_TCW64SuperRegClassesE", "llvm::X86::GR64_TCW64SuperRegClasses"},
-    {"_ZN4llvm3X86L20RFP32SuperRegClassesE", "llvm::X86::RFP32SuperRegClasses"},
-    {"_ZN4llvm3X86L20RFP64SuperRegClassesE", "llvm::X86::RFP64SuperRegClasses"},
-    {"_ZN4llvm3X86L20RFP80SuperRegClassesE", "llvm::X86::RFP80SuperRegClasses"},
-    {"_ZN4llvm3X86L18RSTSuperRegClassesE", "llvm::X86::RSTSuperRegClasses"},
-    {"_ZN4llvm3X86L26SEGMENT_REGSuperRegClassesE", "llvm::X86::SEGMENT_REGSuperRegClasses"},
-    {"_ZN4llvm3X86L20VR256SuperRegClassesE", "llvm::X86::VR256SuperRegClasses"},
-    {"_ZN4llvm3X86L19VR64SuperRegClassesE", "llvm::X86::VR64SuperRegClasses"},
-    {"_ZN4llvm3X86L13CCRSubclassesE", "llvm::X86::CCRSubclasses"},
-    {"_ZN4llvm3X86L21CONTROL_REGSubclassesE", "llvm::X86::CONTROL_REGSubclasses"},
-    {"_ZN4llvm3X86L19DEBUG_REGSubclassesE", "llvm::X86::DEBUG_REGSubclasses"},
-    {"_ZN4llvm3X86L19GR16_ABCDSubclassesE", "llvm::X86::GR16_ABCDSubclasses"},
-    {"_ZN4llvm3X86L17GR32_ADSubclassesE", "llvm::X86::GR32_ADSubclasses"},
-    {"_ZN4llvm3X86L19GR64_ABCDSubclassesE", "llvm::X86::GR64_ABCDSubclasses"},
-    {"_ZN4llvm3X86L20GR64_TCW64SubclassesE", "llvm::X86::GR64_TCW64Subclasses"},
-    {"_ZN4llvm3X86L20GR8_ABCD_HSubclassesE", "llvm::X86::GR8_ABCD_HSubclasses"},
-    {"_ZN4llvm3X86L20GR8_ABCD_LSubclassesE", "llvm::X86::GR8_ABCD_LSubclasses"},
-    {"_ZN4llvm3X86L15RFP80SubclassesE", "llvm::X86::RFP80Subclasses"},
-    {"_ZN4llvm3X86L13RSTSubclassesE", "llvm::X86::RSTSubclasses"},
-    {"_ZN4llvm3X86L21SEGMENT_REGSubclassesE", "llvm::X86::SEGMENT_REGSubclasses"},
-    {"_ZN4llvm3X86L15VR128SubclassesE", "llvm::X86::VR128Subclasses"},
-    {"_ZN4llvm3X86L15VR256SubclassesE", "llvm::X86::VR256Subclasses"},
-    {"_ZN4llvm3X86L14VR64SubclassesE", "llvm::X86::VR64Subclasses"},
-    {"_ZN4llvm3X86L15CCRSuperclassesE", "llvm::X86::CCRSuperclasses"},
-    {"_ZN4llvm3X86L23CONTROL_REGSuperclassesE", "llvm::X86::CONTROL_REGSuperclasses"},
-    {"_ZN4llvm3X86L21DEBUG_REGSuperclassesE", "llvm::X86::DEBUG_REGSuperclasses"},
-    {"_ZN4llvm3X86L16FR32SuperclassesE", "llvm::X86::FR32Superclasses"},
-    {"_ZN4llvm3X86L16GR16SuperclassesE", "llvm::X86::GR16Superclasses"},
-    {"_ZN4llvm3X86L16GR32SuperclassesE", "llvm::X86::GR32Superclasses"},
-    {"_ZN4llvm3X86L16GR64SuperclassesE", "llvm::X86::GR64Superclasses"},
-    {"_ZN4llvm3X86L15GR8SuperclassesE", "llvm::X86::GR8Superclasses"},
-    {"_ZN4llvm3X86L17RFP32SuperclassesE", "llvm::X86::RFP32Superclasses"},
-    {"_ZN4llvm3X86L15RSTSuperclassesE", "llvm::X86::RSTSuperclasses"},
-    {"_ZN4llvm3X86L23SEGMENT_REGSuperclassesE", "llvm::X86::SEGMENT_REGSuperclasses"},
-    {"_ZN4llvm3X86L17VR256SuperclassesE", "llvm::X86::VR256Superclasses"},
-    {"_ZN4llvm3X86L16VR64SuperclassesE", "llvm::X86::VR64Superclasses"},
-    {"_ZN4llvm3X86L16CCRSubRegClassesE", "llvm::X86::CCRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L3CCRE", "llvm::(anonymous namespace)::CCR"},
-    {"_ZN4llvm3X86L24CONTROL_REGSubRegClassesE", "llvm::X86::CONTROL_REGSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L11CONTROL_REGE", "llvm::(anonymous namespace)::CONTROL_REG"},
-    {"_ZN4llvm3X86L22DEBUG_REGSubRegClassesE", "llvm::X86::DEBUG_REGSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L9DEBUG_REGE", "llvm::(anonymous namespace)::DEBUG_REG"},
-    {"_ZN4llvm3X86L17FR32SubRegClassesE", "llvm::X86::FR32SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L4FR32E", "llvm::(anonymous namespace)::FR32"},
-    {"_ZN4llvm3X86L17FR64SubRegClassesE", "llvm::X86::FR64SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L4FR64E", "llvm::(anonymous namespace)::FR64"},
-    {"_ZN4llvm3X86L14X86_GR16_AO_64E", "llvm::X86::X86_GR16_AO_64"},
-    {"_ZN4llvm12_GLOBAL__N_1L4GR16E", "llvm::(anonymous namespace)::GR16"},
-    {"_ZN4llvm12_GLOBAL__N_1L9GR16_ABCDE", "llvm::(anonymous namespace)::GR16_ABCD"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR16_NOREXE", "llvm::(anonymous namespace)::GR16_NOREX"},
-    {"_ZN4llvm3X86L14X86_GR32_AO_64E", "llvm::X86::X86_GR32_AO_64"},
-    {"_ZN4llvm12_GLOBAL__N_1L4GR32E", "llvm::(anonymous namespace)::GR32"},
-    {"_ZN4llvm12_GLOBAL__N_1L9GR32_ABCDE", "llvm::(anonymous namespace)::GR32_ABCD"},
-    {"_ZN4llvm12_GLOBAL__N_1L7GR32_ADE", "llvm::(anonymous namespace)::GR32_AD"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR32_NOREXE", "llvm::(anonymous namespace)::GR32_NOREX"},
-    {"_ZN4llvm3X86L19X86_GR32_NOSP_AO_64E", "llvm::X86::X86_GR32_NOSP_AO_64"},
-    {"_ZN4llvm12_GLOBAL__N_1L9GR32_NOSPE", "llvm::(anonymous namespace)::GR32_NOSP"},
-    {"_ZN4llvm12_GLOBAL__N_1L7GR32_TCE", "llvm::(anonymous namespace)::GR32_TC"},
-    {"_ZN4llvm12_GLOBAL__N_1L4GR64E", "llvm::(anonymous namespace)::GR64"},
-    {"_ZN4llvm12_GLOBAL__N_1L9GR64_ABCDE", "llvm::(anonymous namespace)::GR64_ABCD"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR64_NOREXE", "llvm::(anonymous namespace)::GR64_NOREX"},
-    {"_ZN4llvm12_GLOBAL__N_1L15GR64_NOREX_NOSPE", "llvm::(anonymous namespace)::GR64_NOREX_NOSP"},
-    {"_ZN4llvm12_GLOBAL__N_1L9GR64_NOSPE", "llvm::(anonymous namespace)::GR64_NOSP"},
-    {"_ZN4llvm12_GLOBAL__N_1L7GR64_TCE", "llvm::(anonymous namespace)::GR64_TC"},
-    {"_ZN4llvm3X86L23GR64_TCW64SubRegClassesE", "llvm::X86::GR64_TCW64SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR64_TCW64E", "llvm::(anonymous namespace)::GR64_TCW64"},
-    {"_ZN4llvm3X86L13X86_GR8_AO_64E", "llvm::X86::X86_GR8_AO_64"},
-    {"_ZN4llvm3X86L16GR8SubRegClassesE", "llvm::X86::GR8SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L3GR8E", "llvm::(anonymous namespace)::GR8"},
-    {"_ZN4llvm3X86L23GR8_ABCD_HSubRegClassesE", "llvm::X86::GR8_ABCD_HSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR8_ABCD_HE", "llvm::(anonymous namespace)::GR8_ABCD_H"},
-    {"_ZN4llvm3X86L23GR8_ABCD_LSubRegClassesE", "llvm::X86::GR8_ABCD_LSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR8_ABCD_LE", "llvm::(anonymous namespace)::GR8_ABCD_L"},
-    {"_ZN4llvm3X86L19X86_GR8_NOREX_AO_64E", "llvm::X86::X86_GR8_NOREX_AO_64"},
-    {"_ZN4llvm3X86L22GR8_NOREXSubRegClassesE", "llvm::X86::GR8_NOREXSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L9GR8_NOREXE", "llvm::(anonymous namespace)::GR8_NOREX"},
-    {"_ZN4llvm3X86L18RFP32SubRegClassesE", "llvm::X86::RFP32SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L5RFP32E", "llvm::(anonymous namespace)::RFP32"},
-    {"_ZN4llvm3X86L18RFP64SubRegClassesE", "llvm::X86::RFP64SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L5RFP64E", "llvm::(anonymous namespace)::RFP64"},
-    {"_ZN4llvm3X86L18RFP80SubRegClassesE", "llvm::X86::RFP80SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L5RFP80E", "llvm::(anonymous namespace)::RFP80"},
-    {"_ZN4llvm3X86L16RSTSubRegClassesE", "llvm::X86::RSTSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L3RSTE", "llvm::(anonymous namespace)::RST"},
-    {"_ZN4llvm3X86L24SEGMENT_REGSubRegClassesE", "llvm::X86::SEGMENT_REGSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L11SEGMENT_REGE", "llvm::(anonymous namespace)::SEGMENT_REG"},
-    {"_ZN4llvm12_GLOBAL__N_1L5VR128E", "llvm::(anonymous namespace)::VR128"},
-    {"_ZN4llvm12_GLOBAL__N_1L5VR256E", "llvm::(anonymous namespace)::VR256"},
-    {"_ZN4llvm3X86L17VR64SubRegClassesE", "llvm::X86::VR64SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L4VR64E", "llvm::(anonymous namespace)::VR64"},
-    {"_ZN4llvm12_GLOBAL__N_1L15SubregHashTableE", "llvm::(anonymous namespace)::SubregHashTable"},
-    {"_ZN4llvm12_GLOBAL__N_1L16AliasesHashTableE", "llvm::(anonymous namespace)::AliasesHashTable"},
-    {"_ZN4llvm12_GLOBAL__N_1L11AH_OverlapsE", "llvm::(anonymous namespace)::AH_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16Empty_SubRegsSetE", "llvm::(anonymous namespace)::Empty_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15AH_SuperRegsSetE", "llvm::(anonymous namespace)::AH_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11AL_OverlapsE", "llvm::(anonymous namespace)::AL_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15AL_SuperRegsSetE", "llvm::(anonymous namespace)::AL_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11AX_OverlapsE", "llvm::(anonymous namespace)::AX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13AX_SubRegsSetE", "llvm::(anonymous namespace)::AX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15AX_SuperRegsSetE", "llvm::(anonymous namespace)::AX_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11BH_OverlapsE", "llvm::(anonymous namespace)::BH_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15BH_SuperRegsSetE", "llvm::(anonymous namespace)::BH_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11BL_OverlapsE", "llvm::(anonymous namespace)::BL_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15BL_SuperRegsSetE", "llvm::(anonymous namespace)::BL_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11BP_OverlapsE", "llvm::(anonymous namespace)::BP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13BP_SubRegsSetE", "llvm::(anonymous namespace)::BP_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15BP_SuperRegsSetE", "llvm::(anonymous namespace)::BP_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12BPL_OverlapsE", "llvm::(anonymous namespace)::BPL_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16BPL_SuperRegsSetE", "llvm::(anonymous namespace)::BPL_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11BX_OverlapsE", "llvm::(anonymous namespace)::BX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13BX_SubRegsSetE", "llvm::(anonymous namespace)::BX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15BX_SuperRegsSetE", "llvm::(anonymous namespace)::BX_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11CH_OverlapsE", "llvm::(anonymous namespace)::CH_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15CH_SuperRegsSetE", "llvm::(anonymous namespace)::CH_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11CL_OverlapsE", "llvm::(anonymous namespace)::CL_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15CL_SuperRegsSetE", "llvm::(anonymous namespace)::CL_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR0_OverlapsE", "llvm::(anonymous namespace)::CR0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L18Empty_SuperRegsSetE", "llvm::(anonymous namespace)::Empty_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR1_OverlapsE", "llvm::(anonymous namespace)::CR1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR2_OverlapsE", "llvm::(anonymous namespace)::CR2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR3_OverlapsE", "llvm::(anonymous namespace)::CR3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR4_OverlapsE", "llvm::(anonymous namespace)::CR4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR5_OverlapsE", "llvm::(anonymous namespace)::CR5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR6_OverlapsE", "llvm::(anonymous namespace)::CR6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR7_OverlapsE", "llvm::(anonymous namespace)::CR7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR8_OverlapsE", "llvm::(anonymous namespace)::CR8_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12CR9_OverlapsE", "llvm::(anonymous namespace)::CR9_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13CR10_OverlapsE", "llvm::(anonymous namespace)::CR10_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13CR11_OverlapsE", "llvm::(anonymous namespace)::CR11_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13CR12_OverlapsE", "llvm::(anonymous namespace)::CR12_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13CR13_OverlapsE", "llvm::(anonymous namespace)::CR13_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13CR14_OverlapsE", "llvm::(anonymous namespace)::CR14_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13CR15_OverlapsE", "llvm::(anonymous namespace)::CR15_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11CS_OverlapsE", "llvm::(anonymous namespace)::CS_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11CX_OverlapsE", "llvm::(anonymous namespace)::CX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13CX_SubRegsSetE", "llvm::(anonymous namespace)::CX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15CX_SuperRegsSetE", "llvm::(anonymous namespace)::CX_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11DH_OverlapsE", "llvm::(anonymous namespace)::DH_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15DH_SuperRegsSetE", "llvm::(anonymous namespace)::DH_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11DI_OverlapsE", "llvm::(anonymous namespace)::DI_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13DI_SubRegsSetE", "llvm::(anonymous namespace)::DI_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15DI_SuperRegsSetE", "llvm::(anonymous namespace)::DI_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DIL_OverlapsE", "llvm::(anonymous namespace)::DIL_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16DIL_SuperRegsSetE", "llvm::(anonymous namespace)::DIL_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11DL_OverlapsE", "llvm::(anonymous namespace)::DL_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15DL_SuperRegsSetE", "llvm::(anonymous namespace)::DL_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DR0_OverlapsE", "llvm::(anonymous namespace)::DR0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DR1_OverlapsE", "llvm::(anonymous namespace)::DR1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DR2_OverlapsE", "llvm::(anonymous namespace)::DR2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DR3_OverlapsE", "llvm::(anonymous namespace)::DR3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DR4_OverlapsE", "llvm::(anonymous namespace)::DR4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DR5_OverlapsE", "llvm::(anonymous namespace)::DR5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DR6_OverlapsE", "llvm::(anonymous namespace)::DR6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DR7_OverlapsE", "llvm::(anonymous namespace)::DR7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11DS_OverlapsE", "llvm::(anonymous namespace)::DS_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11DX_OverlapsE", "llvm::(anonymous namespace)::DX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13DX_SubRegsSetE", "llvm::(anonymous namespace)::DX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15DX_SuperRegsSetE", "llvm::(anonymous namespace)::DX_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12EAX_OverlapsE", "llvm::(anonymous namespace)::EAX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14EAX_SubRegsSetE", "llvm::(anonymous namespace)::EAX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16EAX_SuperRegsSetE", "llvm::(anonymous namespace)::EAX_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12EBP_OverlapsE", "llvm::(anonymous namespace)::EBP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14EBP_SubRegsSetE", "llvm::(anonymous namespace)::EBP_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16EBP_SuperRegsSetE", "llvm::(anonymous namespace)::EBP_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12EBX_OverlapsE", "llvm::(anonymous namespace)::EBX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14EBX_SubRegsSetE", "llvm::(anonymous namespace)::EBX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16EBX_SuperRegsSetE", "llvm::(anonymous namespace)::EBX_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ECX_OverlapsE", "llvm::(anonymous namespace)::ECX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14ECX_SubRegsSetE", "llvm::(anonymous namespace)::ECX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16ECX_SuperRegsSetE", "llvm::(anonymous namespace)::ECX_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12EDI_OverlapsE", "llvm::(anonymous namespace)::EDI_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14EDI_SubRegsSetE", "llvm::(anonymous namespace)::EDI_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16EDI_SuperRegsSetE", "llvm::(anonymous namespace)::EDI_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12EDX_OverlapsE", "llvm::(anonymous namespace)::EDX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14EDX_SubRegsSetE", "llvm::(anonymous namespace)::EDX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16EDX_SuperRegsSetE", "llvm::(anonymous namespace)::EDX_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15EFLAGS_OverlapsE", "llvm::(anonymous namespace)::EFLAGS_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12EIP_OverlapsE", "llvm::(anonymous namespace)::EIP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14EIP_SubRegsSetE", "llvm::(anonymous namespace)::EIP_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16EIP_SuperRegsSetE", "llvm::(anonymous namespace)::EIP_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12EIZ_OverlapsE", "llvm::(anonymous namespace)::EIZ_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11ES_OverlapsE", "llvm::(anonymous namespace)::ES_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ESI_OverlapsE", "llvm::(anonymous namespace)::ESI_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14ESI_SubRegsSetE", "llvm::(anonymous namespace)::ESI_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16ESI_SuperRegsSetE", "llvm::(anonymous namespace)::ESI_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ESP_OverlapsE", "llvm::(anonymous namespace)::ESP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14ESP_SubRegsSetE", "llvm::(anonymous namespace)::ESP_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16ESP_SuperRegsSetE", "llvm::(anonymous namespace)::ESP_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12FP0_OverlapsE", "llvm::(anonymous namespace)::FP0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12FP1_OverlapsE", "llvm::(anonymous namespace)::FP1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12FP2_OverlapsE", "llvm::(anonymous namespace)::FP2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12FP3_OverlapsE", "llvm::(anonymous namespace)::FP3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12FP4_OverlapsE", "llvm::(anonymous namespace)::FP4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12FP5_OverlapsE", "llvm::(anonymous namespace)::FP5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12FP6_OverlapsE", "llvm::(anonymous namespace)::FP6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11FS_OverlapsE", "llvm::(anonymous namespace)::FS_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11GS_OverlapsE", "llvm::(anonymous namespace)::GS_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11IP_OverlapsE", "llvm::(anonymous namespace)::IP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15IP_SuperRegsSetE", "llvm::(anonymous namespace)::IP_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12MM0_OverlapsE", "llvm::(anonymous namespace)::MM0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12MM1_OverlapsE", "llvm::(anonymous namespace)::MM1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12MM2_OverlapsE", "llvm::(anonymous namespace)::MM2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12MM3_OverlapsE", "llvm::(anonymous namespace)::MM3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12MM4_OverlapsE", "llvm::(anonymous namespace)::MM4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12MM5_OverlapsE", "llvm::(anonymous namespace)::MM5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12MM6_OverlapsE", "llvm::(anonymous namespace)::MM6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12MM7_OverlapsE", "llvm::(anonymous namespace)::MM7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R8_OverlapsE", "llvm::(anonymous namespace)::R8_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R8_SubRegsSetE", "llvm::(anonymous namespace)::R8_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R8B_OverlapsE", "llvm::(anonymous namespace)::R8B_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16R8B_SuperRegsSetE", "llvm::(anonymous namespace)::R8B_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R8D_OverlapsE", "llvm::(anonymous namespace)::R8D_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R8D_SubRegsSetE", "llvm::(anonymous namespace)::R8D_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16R8D_SuperRegsSetE", "llvm::(anonymous namespace)::R8D_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R8W_OverlapsE", "llvm::(anonymous namespace)::R8W_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R8W_SubRegsSetE", "llvm::(anonymous namespace)::R8W_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16R8W_SuperRegsSetE", "llvm::(anonymous namespace)::R8W_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R9_OverlapsE", "llvm::(anonymous namespace)::R9_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R9_SubRegsSetE", "llvm::(anonymous namespace)::R9_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R9B_OverlapsE", "llvm::(anonymous namespace)::R9B_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16R9B_SuperRegsSetE", "llvm::(anonymous namespace)::R9B_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R9D_OverlapsE", "llvm::(anonymous namespace)::R9D_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R9D_SubRegsSetE", "llvm::(anonymous namespace)::R9D_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16R9D_SuperRegsSetE", "llvm::(anonymous namespace)::R9D_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R9W_OverlapsE", "llvm::(anonymous namespace)::R9W_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R9W_SubRegsSetE", "llvm::(anonymous namespace)::R9W_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16R9W_SuperRegsSetE", "llvm::(anonymous namespace)::R9W_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R10_OverlapsE", "llvm::(anonymous namespace)::R10_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R10_SubRegsSetE", "llvm::(anonymous namespace)::R10_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R10B_OverlapsE", "llvm::(anonymous namespace)::R10B_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R10B_SuperRegsSetE", "llvm::(anonymous namespace)::R10B_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R10D_OverlapsE", "llvm::(anonymous namespace)::R10D_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R10D_SubRegsSetE", "llvm::(anonymous namespace)::R10D_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R10D_SuperRegsSetE", "llvm::(anonymous namespace)::R10D_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R10W_OverlapsE", "llvm::(anonymous namespace)::R10W_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R10W_SubRegsSetE", "llvm::(anonymous namespace)::R10W_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R10W_SuperRegsSetE", "llvm::(anonymous namespace)::R10W_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R11_OverlapsE", "llvm::(anonymous namespace)::R11_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R11_SubRegsSetE", "llvm::(anonymous namespace)::R11_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R11B_OverlapsE", "llvm::(anonymous namespace)::R11B_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R11B_SuperRegsSetE", "llvm::(anonymous namespace)::R11B_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R11D_OverlapsE", "llvm::(anonymous namespace)::R11D_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R11D_SubRegsSetE", "llvm::(anonymous namespace)::R11D_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R11D_SuperRegsSetE", "llvm::(anonymous namespace)::R11D_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R11W_OverlapsE", "llvm::(anonymous namespace)::R11W_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R11W_SubRegsSetE", "llvm::(anonymous namespace)::R11W_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R11W_SuperRegsSetE", "llvm::(anonymous namespace)::R11W_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R12_OverlapsE", "llvm::(anonymous namespace)::R12_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R12_SubRegsSetE", "llvm::(anonymous namespace)::R12_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R12B_OverlapsE", "llvm::(anonymous namespace)::R12B_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R12B_SuperRegsSetE", "llvm::(anonymous namespace)::R12B_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R12D_OverlapsE", "llvm::(anonymous namespace)::R12D_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R12D_SubRegsSetE", "llvm::(anonymous namespace)::R12D_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R12D_SuperRegsSetE", "llvm::(anonymous namespace)::R12D_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R12W_OverlapsE", "llvm::(anonymous namespace)::R12W_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R12W_SubRegsSetE", "llvm::(anonymous namespace)::R12W_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R12W_SuperRegsSetE", "llvm::(anonymous namespace)::R12W_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R13_OverlapsE", "llvm::(anonymous namespace)::R13_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R13_SubRegsSetE", "llvm::(anonymous namespace)::R13_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R13B_OverlapsE", "llvm::(anonymous namespace)::R13B_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R13B_SuperRegsSetE", "llvm::(anonymous namespace)::R13B_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R13D_OverlapsE", "llvm::(anonymous namespace)::R13D_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R13D_SubRegsSetE", "llvm::(anonymous namespace)::R13D_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R13D_SuperRegsSetE", "llvm::(anonymous namespace)::R13D_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R13W_OverlapsE", "llvm::(anonymous namespace)::R13W_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R13W_SubRegsSetE", "llvm::(anonymous namespace)::R13W_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R13W_SuperRegsSetE", "llvm::(anonymous namespace)::R13W_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R14_OverlapsE", "llvm::(anonymous namespace)::R14_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R14_SubRegsSetE", "llvm::(anonymous namespace)::R14_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R14B_OverlapsE", "llvm::(anonymous namespace)::R14B_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R14B_SuperRegsSetE", "llvm::(anonymous namespace)::R14B_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R14D_OverlapsE", "llvm::(anonymous namespace)::R14D_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R14D_SubRegsSetE", "llvm::(anonymous namespace)::R14D_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R14D_SuperRegsSetE", "llvm::(anonymous namespace)::R14D_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R14W_OverlapsE", "llvm::(anonymous namespace)::R14W_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R14W_SubRegsSetE", "llvm::(anonymous namespace)::R14W_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R14W_SuperRegsSetE", "llvm::(anonymous namespace)::R14W_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R15_OverlapsE", "llvm::(anonymous namespace)::R15_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14R15_SubRegsSetE", "llvm::(anonymous namespace)::R15_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R15B_OverlapsE", "llvm::(anonymous namespace)::R15B_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R15B_SuperRegsSetE", "llvm::(anonymous namespace)::R15B_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R15D_OverlapsE", "llvm::(anonymous namespace)::R15D_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R15D_SubRegsSetE", "llvm::(anonymous namespace)::R15D_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R15D_SuperRegsSetE", "llvm::(anonymous namespace)::R15D_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13R15W_OverlapsE", "llvm::(anonymous namespace)::R15W_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15R15W_SubRegsSetE", "llvm::(anonymous namespace)::R15W_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L17R15W_SuperRegsSetE", "llvm::(anonymous namespace)::R15W_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RAX_OverlapsE", "llvm::(anonymous namespace)::RAX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RAX_SubRegsSetE", "llvm::(anonymous namespace)::RAX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RBP_OverlapsE", "llvm::(anonymous namespace)::RBP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RBP_SubRegsSetE", "llvm::(anonymous namespace)::RBP_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RBX_OverlapsE", "llvm::(anonymous namespace)::RBX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RBX_SubRegsSetE", "llvm::(anonymous namespace)::RBX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RCX_OverlapsE", "llvm::(anonymous namespace)::RCX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RCX_SubRegsSetE", "llvm::(anonymous namespace)::RCX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RDI_OverlapsE", "llvm::(anonymous namespace)::RDI_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RDI_SubRegsSetE", "llvm::(anonymous namespace)::RDI_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RDX_OverlapsE", "llvm::(anonymous namespace)::RDX_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RDX_SubRegsSetE", "llvm::(anonymous namespace)::RDX_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RIP_OverlapsE", "llvm::(anonymous namespace)::RIP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RIP_SubRegsSetE", "llvm::(anonymous namespace)::RIP_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RIZ_OverlapsE", "llvm::(anonymous namespace)::RIZ_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RSI_OverlapsE", "llvm::(anonymous namespace)::RSI_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RSI_SubRegsSetE", "llvm::(anonymous namespace)::RSI_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12RSP_OverlapsE", "llvm::(anonymous namespace)::RSP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14RSP_SubRegsSetE", "llvm::(anonymous namespace)::RSP_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11SI_OverlapsE", "llvm::(anonymous namespace)::SI_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13SI_SubRegsSetE", "llvm::(anonymous namespace)::SI_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15SI_SuperRegsSetE", "llvm::(anonymous namespace)::SI_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12SIL_OverlapsE", "llvm::(anonymous namespace)::SIL_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16SIL_SuperRegsSetE", "llvm::(anonymous namespace)::SIL_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11SP_OverlapsE", "llvm::(anonymous namespace)::SP_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13SP_SubRegsSetE", "llvm::(anonymous namespace)::SP_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15SP_SuperRegsSetE", "llvm::(anonymous namespace)::SP_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12SPL_OverlapsE", "llvm::(anonymous namespace)::SPL_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16SPL_SuperRegsSetE", "llvm::(anonymous namespace)::SPL_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11SS_OverlapsE", "llvm::(anonymous namespace)::SS_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ST0_OverlapsE", "llvm::(anonymous namespace)::ST0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ST1_OverlapsE", "llvm::(anonymous namespace)::ST1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ST2_OverlapsE", "llvm::(anonymous namespace)::ST2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ST3_OverlapsE", "llvm::(anonymous namespace)::ST3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ST4_OverlapsE", "llvm::(anonymous namespace)::ST4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ST5_OverlapsE", "llvm::(anonymous namespace)::ST5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ST6_OverlapsE", "llvm::(anonymous namespace)::ST6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12ST7_OverlapsE", "llvm::(anonymous namespace)::ST7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM0_OverlapsE", "llvm::(anonymous namespace)::XMM0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM0_SuperRegsSetE", "llvm::(anonymous namespace)::XMM0_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM1_OverlapsE", "llvm::(anonymous namespace)::XMM1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM1_SuperRegsSetE", "llvm::(anonymous namespace)::XMM1_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM2_OverlapsE", "llvm::(anonymous namespace)::XMM2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM2_SuperRegsSetE", "llvm::(anonymous namespace)::XMM2_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM3_OverlapsE", "llvm::(anonymous namespace)::XMM3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM3_SuperRegsSetE", "llvm::(anonymous namespace)::XMM3_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM4_OverlapsE", "llvm::(anonymous namespace)::XMM4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM4_SuperRegsSetE", "llvm::(anonymous namespace)::XMM4_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM5_OverlapsE", "llvm::(anonymous namespace)::XMM5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM5_SuperRegsSetE", "llvm::(anonymous namespace)::XMM5_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM6_OverlapsE", "llvm::(anonymous namespace)::XMM6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM6_SuperRegsSetE", "llvm::(anonymous namespace)::XMM6_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM7_OverlapsE", "llvm::(anonymous namespace)::XMM7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM7_SuperRegsSetE", "llvm::(anonymous namespace)::XMM7_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM8_OverlapsE", "llvm::(anonymous namespace)::XMM8_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM8_SuperRegsSetE", "llvm::(anonymous namespace)::XMM8_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13XMM9_OverlapsE", "llvm::(anonymous namespace)::XMM9_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L17XMM9_SuperRegsSetE", "llvm::(anonymous namespace)::XMM9_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14XMM10_OverlapsE", "llvm::(anonymous namespace)::XMM10_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L18XMM10_SuperRegsSetE", "llvm::(anonymous namespace)::XMM10_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14XMM11_OverlapsE", "llvm::(anonymous namespace)::XMM11_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L18XMM11_SuperRegsSetE", "llvm::(anonymous namespace)::XMM11_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14XMM12_OverlapsE", "llvm::(anonymous namespace)::XMM12_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L18XMM12_SuperRegsSetE", "llvm::(anonymous namespace)::XMM12_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14XMM13_OverlapsE", "llvm::(anonymous namespace)::XMM13_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L18XMM13_SuperRegsSetE", "llvm::(anonymous namespace)::XMM13_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14XMM14_OverlapsE", "llvm::(anonymous namespace)::XMM14_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L18XMM14_SuperRegsSetE", "llvm::(anonymous namespace)::XMM14_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14XMM15_OverlapsE", "llvm::(anonymous namespace)::XMM15_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L18XMM15_SuperRegsSetE", "llvm::(anonymous namespace)::XMM15_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM0_OverlapsE", "llvm::(anonymous namespace)::YMM0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM0_SubRegsSetE", "llvm::(anonymous namespace)::YMM0_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM1_OverlapsE", "llvm::(anonymous namespace)::YMM1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM1_SubRegsSetE", "llvm::(anonymous namespace)::YMM1_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM2_OverlapsE", "llvm::(anonymous namespace)::YMM2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM2_SubRegsSetE", "llvm::(anonymous namespace)::YMM2_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM3_OverlapsE", "llvm::(anonymous namespace)::YMM3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM3_SubRegsSetE", "llvm::(anonymous namespace)::YMM3_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM4_OverlapsE", "llvm::(anonymous namespace)::YMM4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM4_SubRegsSetE", "llvm::(anonymous namespace)::YMM4_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM5_OverlapsE", "llvm::(anonymous namespace)::YMM5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM5_SubRegsSetE", "llvm::(anonymous namespace)::YMM5_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM6_OverlapsE", "llvm::(anonymous namespace)::YMM6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM6_SubRegsSetE", "llvm::(anonymous namespace)::YMM6_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM7_OverlapsE", "llvm::(anonymous namespace)::YMM7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM7_SubRegsSetE", "llvm::(anonymous namespace)::YMM7_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM8_OverlapsE", "llvm::(anonymous namespace)::YMM8_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM8_SubRegsSetE", "llvm::(anonymous namespace)::YMM8_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L13YMM9_OverlapsE", "llvm::(anonymous namespace)::YMM9_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15YMM9_SubRegsSetE", "llvm::(anonymous namespace)::YMM9_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14YMM10_OverlapsE", "llvm::(anonymous namespace)::YMM10_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16YMM10_SubRegsSetE", "llvm::(anonymous namespace)::YMM10_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14YMM11_OverlapsE", "llvm::(anonymous namespace)::YMM11_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16YMM11_SubRegsSetE", "llvm::(anonymous namespace)::YMM11_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14YMM12_OverlapsE", "llvm::(anonymous namespace)::YMM12_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16YMM12_SubRegsSetE", "llvm::(anonymous namespace)::YMM12_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14YMM13_OverlapsE", "llvm::(anonymous namespace)::YMM13_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16YMM13_SubRegsSetE", "llvm::(anonymous namespace)::YMM13_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14YMM14_OverlapsE", "llvm::(anonymous namespace)::YMM14_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16YMM14_SubRegsSetE", "llvm::(anonymous namespace)::YMM14_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14YMM15_OverlapsE", "llvm::(anonymous namespace)::YMM15_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16YMM15_SubRegsSetE", "llvm::(anonymous namespace)::YMM15_SubRegsSet"},
-    {"_ZN4llvmL13ImplicitList1E", "llvm::ImplicitList1"},
-    {"_ZN4llvmL13ImplicitList2E", "llvm::ImplicitList2"},
-    {"_ZN4llvmL13ImplicitList3E", "llvm::ImplicitList3"},
-    {"_ZN4llvmL13ImplicitList4E", "llvm::ImplicitList4"},
-    {"_ZN4llvmL13ImplicitList5E", "llvm::ImplicitList5"},
-    {"_ZN4llvmL13ImplicitList6E", "llvm::ImplicitList6"},
-    {"_ZN4llvmL13ImplicitList7E", "llvm::ImplicitList7"},
-    {"_ZN4llvmL13ImplicitList8E", "llvm::ImplicitList8"},
-    {"_ZN4llvmL13ImplicitList9E", "llvm::ImplicitList9"},
-    {"_ZN4llvmL14ImplicitList10E", "llvm::ImplicitList10"},
-    {"_ZN4llvmL14ImplicitList11E", "llvm::ImplicitList11"},
-    {"_ZN4llvmL14ImplicitList12E", "llvm::ImplicitList12"},
-    {"_ZN4llvmL14ImplicitList13E", "llvm::ImplicitList13"},
-    {"_ZN4llvmL14ImplicitList14E", "llvm::ImplicitList14"},
-    {"_ZN4llvmL14ImplicitList15E", "llvm::ImplicitList15"},
-    {"_ZN4llvmL14ImplicitList16E", "llvm::ImplicitList16"},
-    {"_ZN4llvm3ARML18CCRSuperRegClassesE", "llvm::ARM::CCRSuperRegClasses"},
-    {"_ZN4llvm3ARML18GPRSuperRegClassesE", "llvm::ARM::GPRSuperRegClasses"},
-    {"_ZN4llvm3ARML20QPR_8SuperRegClassesE", "llvm::ARM::QPR_8SuperRegClasses"},
-    {"_ZN4llvm3ARML19QQPRSuperRegClassesE", "llvm::ARM::QQPRSuperRegClasses"},
-    {"_ZN4llvm3ARML24QQPR_VFP2SuperRegClassesE", "llvm::ARM::QQPR_VFP2SuperRegClasses"},
-    {"_ZN4llvm3ARML21QQQQPRSuperRegClassesE", "llvm::ARM::QQQQPRSuperRegClasses"},
-    {"_ZN4llvm3ARML19rGPRSuperRegClassesE", "llvm::ARM::rGPRSuperRegClasses"},
-    {"_ZN4llvm3ARML19tGPRSuperRegClassesE", "llvm::ARM::tGPRSuperRegClasses"},
-    {"_ZN4llvm3ARML20tcGPRSuperRegClassesE", "llvm::ARM::tcGPRSuperRegClasses"},
-    {"_ZN4llvm3ARML13CCRSubclassesE", "llvm::ARM::CCRSubclasses"},
-    {"_ZN4llvm3ARML15DPR_8SubclassesE", "llvm::ARM::DPR_8Subclasses"},
-    {"_ZN4llvm3ARML15QPR_8SubclassesE", "llvm::ARM::QPR_8Subclasses"},
-    {"_ZN4llvm3ARML19QQPR_VFP2SubclassesE", "llvm::ARM::QQPR_VFP2Subclasses"},
-    {"_ZN4llvm3ARML16QQQQPRSubclassesE", "llvm::ARM::QQQQPRSubclasses"},
-    {"_ZN4llvm3ARML15SPR_8SubclassesE", "llvm::ARM::SPR_8Subclasses"},
-    {"_ZN4llvm3ARML14tGPRSubclassesE", "llvm::ARM::tGPRSubclasses"},
-    {"_ZN4llvm3ARML15tcGPRSubclassesE", "llvm::ARM::tcGPRSubclasses"},
-    {"_ZN4llvm3ARML15CCRSuperclassesE", "llvm::ARM::CCRSuperclasses"},
-    {"_ZN4llvm3ARML15DPRSuperclassesE", "llvm::ARM::DPRSuperclasses"},
-    {"_ZN4llvm3ARML15GPRSuperclassesE", "llvm::ARM::GPRSuperclasses"},
-    {"_ZN4llvm3ARML15QPRSuperclassesE", "llvm::ARM::QPRSuperclasses"},
-    {"_ZN4llvm3ARML16QQPRSuperclassesE", "llvm::ARM::QQPRSuperclasses"},
-    {"_ZN4llvm3ARML18QQQQPRSuperclassesE", "llvm::ARM::QQQQPRSuperclasses"},
-    {"_ZN4llvm3ARML15SPRSuperclassesE", "llvm::ARM::SPRSuperclasses"},
-    {"_ZN4llvm3ARML16CCRSubRegClassesE", "llvm::ARM::CCRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L3CCRE", "llvm::(anonymous namespace)::CCR"},
-    {"_ZN4llvm3ARML12ARM_DPR_VFP3E", "llvm::ARM::ARM_DPR_VFP3"},
-    {"_ZN4llvm3ARML12ARM_DPR_VFP2E", "llvm::ARM::ARM_DPR_VFP2"},
-    {"_ZN4llvm3ARML16DPRSubRegClassesE", "llvm::ARM::DPRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L3DPRE", "llvm::(anonymous namespace)::DPR"},
-    {"_ZN4llvm12_GLOBAL__N_1L5DPR_8E", "llvm::(anonymous namespace)::DPR_8"},
-    {"_ZN4llvm12_GLOBAL__N_1L8DPR_VFP2E", "llvm::(anonymous namespace)::DPR_VFP2"},
-    {"_ZN4llvm3ARML12THUMB_GPR_AOE", "llvm::ARM::THUMB_GPR_AO"},
-    {"_ZN4llvm3ARML10ARM_GPR_AOE", "llvm::ARM::ARM_GPR_AO"},
-    {"_ZN4llvm3ARML16GPRSubRegClassesE", "llvm::ARM::GPRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L3GPRE", "llvm::(anonymous namespace)::GPR"},
-    {"_ZN4llvm3ARML7ARM_QPRE", "llvm::ARM::ARM_QPR"},
-    {"_ZN4llvm12_GLOBAL__N_1L3QPRE", "llvm::(anonymous namespace)::QPR"},
-    {"_ZN4llvm12_GLOBAL__N_1L5QPR_8E", "llvm::(anonymous namespace)::QPR_8"},
-    {"_ZN4llvm12_GLOBAL__N_1L8QPR_VFP2E", "llvm::(anonymous namespace)::QPR_VFP2"},
-    {"_ZN4llvm3ARML8ARM_QQPRE", "llvm::ARM::ARM_QQPR"},
-    {"_ZN4llvm12_GLOBAL__N_1L4QQPRE", "llvm::(anonymous namespace)::QQPR"},
-    {"_ZN4llvm12_GLOBAL__N_1L9QQPR_VFP2E", "llvm::(anonymous namespace)::QQPR_VFP2"},
-    {"_ZN4llvm3ARML10ARM_QQQQPRE", "llvm::ARM::ARM_QQQQPR"},
-    {"_ZN4llvm12_GLOBAL__N_1L6QQQQPRE", "llvm::(anonymous namespace)::QQQQPR"},
-    {"_ZN4llvm3ARML16SPRSubRegClassesE", "llvm::ARM::SPRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L3SPRE", "llvm::(anonymous namespace)::SPR"},
-    {"_ZN4llvm3ARML18SPR_8SubRegClassesE", "llvm::ARM::SPR_8SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L5SPR_8E", "llvm::(anonymous namespace)::SPR_8"},
-    {"_ZN4llvm3ARML13THUMB_rGPR_AOE", "llvm::ARM::THUMB_rGPR_AO"},
-    {"_ZN4llvm3ARML11ARM_rGPR_AOE", "llvm::ARM::ARM_rGPR_AO"},
-    {"_ZN4llvm3ARML17rGPRSubRegClassesE", "llvm::ARM::rGPRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L4rGPRE", "llvm::(anonymous namespace)::rGPR"},
-    {"_ZN4llvm3ARML17tGPRSubRegClassesE", "llvm::ARM::tGPRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L4tGPRE", "llvm::(anonymous namespace)::tGPR"},
-    {"_ZN4llvm3ARML15THUMB_GPR_AO_TCE", "llvm::ARM::THUMB_GPR_AO_TC"},
-    {"_ZN4llvm3ARML13ARM_GPR_R9_TCE", "llvm::ARM::ARM_GPR_R9_TC"},
-    {"_ZN4llvm3ARML15ARM_GPR_NOR9_TCE", "llvm::ARM::ARM_GPR_NOR9_TC"},
-    {"_ZN4llvm3ARML18tcGPRSubRegClassesE", "llvm::ARM::tcGPRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L5tcGPRE", "llvm::(anonymous namespace)::tcGPR"},
-    {"_ZN4llvm12_GLOBAL__N_1L15SubregHashTableE", "llvm::(anonymous namespace)::SubregHashTable"},
-    {"_ZN4llvm12_GLOBAL__N_1L16AliasesHashTableE", "llvm::(anonymous namespace)::AliasesHashTable"},
-    {"_ZN4llvm12_GLOBAL__N_1L13CPSR_OverlapsE", "llvm::(anonymous namespace)::CPSR_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16Empty_SubRegsSetE", "llvm::(anonymous namespace)::Empty_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L18Empty_SuperRegsSetE", "llvm::(anonymous namespace)::Empty_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D0_OverlapsE", "llvm::(anonymous namespace)::D0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D0_SubRegsSetE", "llvm::(anonymous namespace)::D0_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D0_SuperRegsSetE", "llvm::(anonymous namespace)::D0_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D1_OverlapsE", "llvm::(anonymous namespace)::D1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D1_SubRegsSetE", "llvm::(anonymous namespace)::D1_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D1_SuperRegsSetE", "llvm::(anonymous namespace)::D1_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D2_OverlapsE", "llvm::(anonymous namespace)::D2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D2_SubRegsSetE", "llvm::(anonymous namespace)::D2_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D2_SuperRegsSetE", "llvm::(anonymous namespace)::D2_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D3_OverlapsE", "llvm::(anonymous namespace)::D3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D3_SubRegsSetE", "llvm::(anonymous namespace)::D3_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D3_SuperRegsSetE", "llvm::(anonymous namespace)::D3_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D4_OverlapsE", "llvm::(anonymous namespace)::D4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D4_SubRegsSetE", "llvm::(anonymous namespace)::D4_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D4_SuperRegsSetE", "llvm::(anonymous namespace)::D4_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D5_OverlapsE", "llvm::(anonymous namespace)::D5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D5_SubRegsSetE", "llvm::(anonymous namespace)::D5_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D5_SuperRegsSetE", "llvm::(anonymous namespace)::D5_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D6_OverlapsE", "llvm::(anonymous namespace)::D6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D6_SubRegsSetE", "llvm::(anonymous namespace)::D6_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D6_SuperRegsSetE", "llvm::(anonymous namespace)::D6_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D7_OverlapsE", "llvm::(anonymous namespace)::D7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D7_SubRegsSetE", "llvm::(anonymous namespace)::D7_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D7_SuperRegsSetE", "llvm::(anonymous namespace)::D7_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D8_OverlapsE", "llvm::(anonymous namespace)::D8_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D8_SubRegsSetE", "llvm::(anonymous namespace)::D8_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D8_SuperRegsSetE", "llvm::(anonymous namespace)::D8_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11D9_OverlapsE", "llvm::(anonymous namespace)::D9_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13D9_SubRegsSetE", "llvm::(anonymous namespace)::D9_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15D9_SuperRegsSetE", "llvm::(anonymous namespace)::D9_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D10_OverlapsE", "llvm::(anonymous namespace)::D10_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14D10_SubRegsSetE", "llvm::(anonymous namespace)::D10_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D10_SuperRegsSetE", "llvm::(anonymous namespace)::D10_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D11_OverlapsE", "llvm::(anonymous namespace)::D11_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14D11_SubRegsSetE", "llvm::(anonymous namespace)::D11_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D11_SuperRegsSetE", "llvm::(anonymous namespace)::D11_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D12_OverlapsE", "llvm::(anonymous namespace)::D12_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14D12_SubRegsSetE", "llvm::(anonymous namespace)::D12_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D12_SuperRegsSetE", "llvm::(anonymous namespace)::D12_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D13_OverlapsE", "llvm::(anonymous namespace)::D13_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14D13_SubRegsSetE", "llvm::(anonymous namespace)::D13_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D13_SuperRegsSetE", "llvm::(anonymous namespace)::D13_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D14_OverlapsE", "llvm::(anonymous namespace)::D14_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14D14_SubRegsSetE", "llvm::(anonymous namespace)::D14_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D14_SuperRegsSetE", "llvm::(anonymous namespace)::D14_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D15_OverlapsE", "llvm::(anonymous namespace)::D15_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14D15_SubRegsSetE", "llvm::(anonymous namespace)::D15_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D15_SuperRegsSetE", "llvm::(anonymous namespace)::D15_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D16_OverlapsE", "llvm::(anonymous namespace)::D16_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D16_SuperRegsSetE", "llvm::(anonymous namespace)::D16_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D17_OverlapsE", "llvm::(anonymous namespace)::D17_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D17_SuperRegsSetE", "llvm::(anonymous namespace)::D17_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D18_OverlapsE", "llvm::(anonymous namespace)::D18_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D18_SuperRegsSetE", "llvm::(anonymous namespace)::D18_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D19_OverlapsE", "llvm::(anonymous namespace)::D19_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D19_SuperRegsSetE", "llvm::(anonymous namespace)::D19_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D20_OverlapsE", "llvm::(anonymous namespace)::D20_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D20_SuperRegsSetE", "llvm::(anonymous namespace)::D20_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D21_OverlapsE", "llvm::(anonymous namespace)::D21_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D21_SuperRegsSetE", "llvm::(anonymous namespace)::D21_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D22_OverlapsE", "llvm::(anonymous namespace)::D22_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D22_SuperRegsSetE", "llvm::(anonymous namespace)::D22_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D23_OverlapsE", "llvm::(anonymous namespace)::D23_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D23_SuperRegsSetE", "llvm::(anonymous namespace)::D23_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D24_OverlapsE", "llvm::(anonymous namespace)::D24_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D24_SuperRegsSetE", "llvm::(anonymous namespace)::D24_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D25_OverlapsE", "llvm::(anonymous namespace)::D25_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D25_SuperRegsSetE", "llvm::(anonymous namespace)::D25_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D26_OverlapsE", "llvm::(anonymous namespace)::D26_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D26_SuperRegsSetE", "llvm::(anonymous namespace)::D26_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D27_OverlapsE", "llvm::(anonymous namespace)::D27_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D27_SuperRegsSetE", "llvm::(anonymous namespace)::D27_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D28_OverlapsE", "llvm::(anonymous namespace)::D28_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D28_SuperRegsSetE", "llvm::(anonymous namespace)::D28_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D29_OverlapsE", "llvm::(anonymous namespace)::D29_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D29_SuperRegsSetE", "llvm::(anonymous namespace)::D29_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D30_OverlapsE", "llvm::(anonymous namespace)::D30_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D30_SuperRegsSetE", "llvm::(anonymous namespace)::D30_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12D31_OverlapsE", "llvm::(anonymous namespace)::D31_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16D31_SuperRegsSetE", "llvm::(anonymous namespace)::D31_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14FPEXC_OverlapsE", "llvm::(anonymous namespace)::FPEXC_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14FPSCR_OverlapsE", "llvm::(anonymous namespace)::FPSCR_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14FPSID_OverlapsE", "llvm::(anonymous namespace)::FPSID_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16ITSTATE_OverlapsE", "llvm::(anonymous namespace)::ITSTATE_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11LR_OverlapsE", "llvm::(anonymous namespace)::LR_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11PC_OverlapsE", "llvm::(anonymous namespace)::PC_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q0_OverlapsE", "llvm::(anonymous namespace)::Q0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q0_SubRegsSetE", "llvm::(anonymous namespace)::Q0_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q0_SuperRegsSetE", "llvm::(anonymous namespace)::Q0_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q1_OverlapsE", "llvm::(anonymous namespace)::Q1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q1_SubRegsSetE", "llvm::(anonymous namespace)::Q1_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q1_SuperRegsSetE", "llvm::(anonymous namespace)::Q1_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q2_OverlapsE", "llvm::(anonymous namespace)::Q2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q2_SubRegsSetE", "llvm::(anonymous namespace)::Q2_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q2_SuperRegsSetE", "llvm::(anonymous namespace)::Q2_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q3_OverlapsE", "llvm::(anonymous namespace)::Q3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q3_SubRegsSetE", "llvm::(anonymous namespace)::Q3_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q3_SuperRegsSetE", "llvm::(anonymous namespace)::Q3_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q4_OverlapsE", "llvm::(anonymous namespace)::Q4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q4_SubRegsSetE", "llvm::(anonymous namespace)::Q4_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q4_SuperRegsSetE", "llvm::(anonymous namespace)::Q4_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q5_OverlapsE", "llvm::(anonymous namespace)::Q5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q5_SubRegsSetE", "llvm::(anonymous namespace)::Q5_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q5_SuperRegsSetE", "llvm::(anonymous namespace)::Q5_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q6_OverlapsE", "llvm::(anonymous namespace)::Q6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q6_SubRegsSetE", "llvm::(anonymous namespace)::Q6_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q6_SuperRegsSetE", "llvm::(anonymous namespace)::Q6_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q7_OverlapsE", "llvm::(anonymous namespace)::Q7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q7_SubRegsSetE", "llvm::(anonymous namespace)::Q7_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q7_SuperRegsSetE", "llvm::(anonymous namespace)::Q7_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q8_OverlapsE", "llvm::(anonymous namespace)::Q8_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q8_SubRegsSetE", "llvm::(anonymous namespace)::Q8_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q8_SuperRegsSetE", "llvm::(anonymous namespace)::Q8_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11Q9_OverlapsE", "llvm::(anonymous namespace)::Q9_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L13Q9_SubRegsSetE", "llvm::(anonymous namespace)::Q9_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L15Q9_SuperRegsSetE", "llvm::(anonymous namespace)::Q9_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12Q10_OverlapsE", "llvm::(anonymous namespace)::Q10_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14Q10_SubRegsSetE", "llvm::(anonymous namespace)::Q10_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16Q10_SuperRegsSetE", "llvm::(anonymous namespace)::Q10_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12Q11_OverlapsE", "llvm::(anonymous namespace)::Q11_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14Q11_SubRegsSetE", "llvm::(anonymous namespace)::Q11_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16Q11_SuperRegsSetE", "llvm::(anonymous namespace)::Q11_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12Q12_OverlapsE", "llvm::(anonymous namespace)::Q12_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14Q12_SubRegsSetE", "llvm::(anonymous namespace)::Q12_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16Q12_SuperRegsSetE", "llvm::(anonymous namespace)::Q12_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12Q13_OverlapsE", "llvm::(anonymous namespace)::Q13_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14Q13_SubRegsSetE", "llvm::(anonymous namespace)::Q13_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16Q13_SuperRegsSetE", "llvm::(anonymous namespace)::Q13_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12Q14_OverlapsE", "llvm::(anonymous namespace)::Q14_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14Q14_SubRegsSetE", "llvm::(anonymous namespace)::Q14_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16Q14_SuperRegsSetE", "llvm::(anonymous namespace)::Q14_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12Q15_OverlapsE", "llvm::(anonymous namespace)::Q15_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14Q15_SubRegsSetE", "llvm::(anonymous namespace)::Q15_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16Q15_SuperRegsSetE", "llvm::(anonymous namespace)::Q15_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQ0_OverlapsE", "llvm::(anonymous namespace)::QQ0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQ0_SubRegsSetE", "llvm::(anonymous namespace)::QQ0_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQ0_SuperRegsSetE", "llvm::(anonymous namespace)::QQ0_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQ1_OverlapsE", "llvm::(anonymous namespace)::QQ1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQ1_SubRegsSetE", "llvm::(anonymous namespace)::QQ1_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQ1_SuperRegsSetE", "llvm::(anonymous namespace)::QQ1_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQ2_OverlapsE", "llvm::(anonymous namespace)::QQ2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQ2_SubRegsSetE", "llvm::(anonymous namespace)::QQ2_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQ2_SuperRegsSetE", "llvm::(anonymous namespace)::QQ2_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQ3_OverlapsE", "llvm::(anonymous namespace)::QQ3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQ3_SubRegsSetE", "llvm::(anonymous namespace)::QQ3_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQ3_SuperRegsSetE", "llvm::(anonymous namespace)::QQ3_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQ4_OverlapsE", "llvm::(anonymous namespace)::QQ4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQ4_SubRegsSetE", "llvm::(anonymous namespace)::QQ4_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQ4_SuperRegsSetE", "llvm::(anonymous namespace)::QQ4_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQ5_OverlapsE", "llvm::(anonymous namespace)::QQ5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQ5_SubRegsSetE", "llvm::(anonymous namespace)::QQ5_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQ5_SuperRegsSetE", "llvm::(anonymous namespace)::QQ5_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQ6_OverlapsE", "llvm::(anonymous namespace)::QQ6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQ6_SubRegsSetE", "llvm::(anonymous namespace)::QQ6_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQ6_SuperRegsSetE", "llvm::(anonymous namespace)::QQ6_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQ7_OverlapsE", "llvm::(anonymous namespace)::QQ7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQ7_SubRegsSetE", "llvm::(anonymous namespace)::QQ7_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQ7_SuperRegsSetE", "llvm::(anonymous namespace)::QQ7_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQQQ0_OverlapsE", "llvm::(anonymous namespace)::QQQQ0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQQQ0_SubRegsSetE", "llvm::(anonymous namespace)::QQQQ0_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQQQ1_OverlapsE", "llvm::(anonymous namespace)::QQQQ1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQQQ1_SubRegsSetE", "llvm::(anonymous namespace)::QQQQ1_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQQQ2_OverlapsE", "llvm::(anonymous namespace)::QQQQ2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQQQ2_SubRegsSetE", "llvm::(anonymous namespace)::QQQQ2_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L14QQQQ3_OverlapsE", "llvm::(anonymous namespace)::QQQQ3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16QQQQ3_SubRegsSetE", "llvm::(anonymous namespace)::QQQQ3_SubRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R0_OverlapsE", "llvm::(anonymous namespace)::R0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R1_OverlapsE", "llvm::(anonymous namespace)::R1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R2_OverlapsE", "llvm::(anonymous namespace)::R2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R3_OverlapsE", "llvm::(anonymous namespace)::R3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R4_OverlapsE", "llvm::(anonymous namespace)::R4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R5_OverlapsE", "llvm::(anonymous namespace)::R5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R6_OverlapsE", "llvm::(anonymous namespace)::R6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R7_OverlapsE", "llvm::(anonymous namespace)::R7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R8_OverlapsE", "llvm::(anonymous namespace)::R8_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11R9_OverlapsE", "llvm::(anonymous namespace)::R9_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R10_OverlapsE", "llvm::(anonymous namespace)::R10_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R11_OverlapsE", "llvm::(anonymous namespace)::R11_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L12R12_OverlapsE", "llvm::(anonymous namespace)::R12_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S0_OverlapsE", "llvm::(anonymous namespace)::S0_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S0_SuperRegsSetE", "llvm::(anonymous namespace)::S0_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S1_OverlapsE", "llvm::(anonymous namespace)::S1_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S1_SuperRegsSetE", "llvm::(anonymous namespace)::S1_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S2_OverlapsE", "llvm::(anonymous namespace)::S2_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S2_SuperRegsSetE", "llvm::(anonymous namespace)::S2_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S3_OverlapsE", "llvm::(anonymous namespace)::S3_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S3_SuperRegsSetE", "llvm::(anonymous namespace)::S3_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S4_OverlapsE", "llvm::(anonymous namespace)::S4_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S4_SuperRegsSetE", "llvm::(anonymous namespace)::S4_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S5_OverlapsE", "llvm::(anonymous namespace)::S5_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S5_SuperRegsSetE", "llvm::(anonymous namespace)::S5_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S6_OverlapsE", "llvm::(anonymous namespace)::S6_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S6_SuperRegsSetE", "llvm::(anonymous namespace)::S6_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S7_OverlapsE", "llvm::(anonymous namespace)::S7_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S7_SuperRegsSetE", "llvm::(anonymous namespace)::S7_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S8_OverlapsE", "llvm::(anonymous namespace)::S8_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S8_SuperRegsSetE", "llvm::(anonymous namespace)::S8_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11S9_OverlapsE", "llvm::(anonymous namespace)::S9_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L15S9_SuperRegsSetE", "llvm::(anonymous namespace)::S9_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S10_OverlapsE", "llvm::(anonymous namespace)::S10_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S10_SuperRegsSetE", "llvm::(anonymous namespace)::S10_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S11_OverlapsE", "llvm::(anonymous namespace)::S11_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S11_SuperRegsSetE", "llvm::(anonymous namespace)::S11_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S12_OverlapsE", "llvm::(anonymous namespace)::S12_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S12_SuperRegsSetE", "llvm::(anonymous namespace)::S12_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S13_OverlapsE", "llvm::(anonymous namespace)::S13_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S13_SuperRegsSetE", "llvm::(anonymous namespace)::S13_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S14_OverlapsE", "llvm::(anonymous namespace)::S14_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S14_SuperRegsSetE", "llvm::(anonymous namespace)::S14_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S15_OverlapsE", "llvm::(anonymous namespace)::S15_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S15_SuperRegsSetE", "llvm::(anonymous namespace)::S15_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S16_OverlapsE", "llvm::(anonymous namespace)::S16_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S16_SuperRegsSetE", "llvm::(anonymous namespace)::S16_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S17_OverlapsE", "llvm::(anonymous namespace)::S17_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S17_SuperRegsSetE", "llvm::(anonymous namespace)::S17_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S18_OverlapsE", "llvm::(anonymous namespace)::S18_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S18_SuperRegsSetE", "llvm::(anonymous namespace)::S18_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S19_OverlapsE", "llvm::(anonymous namespace)::S19_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S19_SuperRegsSetE", "llvm::(anonymous namespace)::S19_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S20_OverlapsE", "llvm::(anonymous namespace)::S20_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S20_SuperRegsSetE", "llvm::(anonymous namespace)::S20_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S21_OverlapsE", "llvm::(anonymous namespace)::S21_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S21_SuperRegsSetE", "llvm::(anonymous namespace)::S21_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S22_OverlapsE", "llvm::(anonymous namespace)::S22_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S22_SuperRegsSetE", "llvm::(anonymous namespace)::S22_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S23_OverlapsE", "llvm::(anonymous namespace)::S23_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S23_SuperRegsSetE", "llvm::(anonymous namespace)::S23_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S24_OverlapsE", "llvm::(anonymous namespace)::S24_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S24_SuperRegsSetE", "llvm::(anonymous namespace)::S24_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S25_OverlapsE", "llvm::(anonymous namespace)::S25_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S25_SuperRegsSetE", "llvm::(anonymous namespace)::S25_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S26_OverlapsE", "llvm::(anonymous namespace)::S26_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S26_SuperRegsSetE", "llvm::(anonymous namespace)::S26_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S27_OverlapsE", "llvm::(anonymous namespace)::S27_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S27_SuperRegsSetE", "llvm::(anonymous namespace)::S27_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S28_OverlapsE", "llvm::(anonymous namespace)::S28_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S28_SuperRegsSetE", "llvm::(anonymous namespace)::S28_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S29_OverlapsE", "llvm::(anonymous namespace)::S29_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S29_SuperRegsSetE", "llvm::(anonymous namespace)::S29_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S30_OverlapsE", "llvm::(anonymous namespace)::S30_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S30_SuperRegsSetE", "llvm::(anonymous namespace)::S30_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L12S31_OverlapsE", "llvm::(anonymous namespace)::S31_Overlaps"},
-    {"_ZN4llvm12_GLOBAL__N_1L16S31_SuperRegsSetE", "llvm::(anonymous namespace)::S31_SuperRegsSet"},
-    {"_ZN4llvm12_GLOBAL__N_1L11SP_OverlapsE", "llvm::(anonymous namespace)::SP_Overlaps"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE7Opcodes8", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::Opcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE7Opcodes9", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::Opcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE7Opcodes10", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::Opcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE7Opcodes11", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::Opcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE7Opcodes12", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::Opcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes13", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8QOpcodes14", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes15", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes16", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes118", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes1"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes19", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes21", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes23", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes25", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8QOpcodes26", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes27", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8QOpcodes28", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes29", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes131", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes1"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes32", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes134", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes1"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes35", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes37", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes39", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes41", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8QOpcodes42", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes43", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8QOpcodes44", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes45", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes046", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes0"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes147", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes1"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes48", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes049", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes0"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes150", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes1"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes51", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes53", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes55", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes57", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8QOpcodes58", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes59", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8QOpcodes60", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes61", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes062", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes0"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes163", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes1"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes64", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes065", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes0"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE9QOpcodes166", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::QOpcodes1"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes67", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes69", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZZN12_GLOBAL__N_115ARMDAGToDAGISel6SelectEPN4llvm6SDNodeEE8DOpcodes71", "(anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*)::DOpcodes"},
-    {"_ZL19PerfectShuffleTable", "PerfectShuffleTable"},
-    {"_ZL13OperandCycles", "OperandCycles"},
-    {"_ZL16ForwardingPathes", "ForwardingPathes"},
-    {"_ZZN12_GLOBAL__N_116Thumb2SizeReduce13ReduceSpecialERN4llvm17MachineBasicBlockEPNS1_12MachineInstrERKNS_11ReduceEntryEbE11NarrowEntry11", "(anonymous namespace)::Thumb2SizeReduce::ReduceSpecial(llvm::MachineBasicBlock&, llvm::MachineInstr*, (anonymous namespace)::ReduceEntry const&, bool)::NarrowEntry"},
-    {"_ZN4llvm9AttributeL20MutuallyIncompatibleE", "llvm::Attribute::MutuallyIncompatible"},
-    {"_ZL14hexDigitsUpper", "hexDigitsUpper"},
-    {"_ZL14hexDigitsLower", "hexDigitsLower"},
-    {"_ZL10colorcodes", "colorcodes"},
-    {"_ZL7IntSigs", "IntSigs"},
-    {"_ZL8KillSigs", "KillSigs"},
-    {"_ZN12_GLOBAL__N_1L11GCCRegNamesE", "(anonymous namespace)::GCCRegNames"},
-    {"_ZL8TokNames", "TokNames"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZL13x86_asm_table", "x86_asm_table"},
-    {"_ZN4llvm3X86L19FR32SuperRegClassesE", "llvm::X86::FR32SuperRegClasses"},
-    {"_ZN4llvm3X86L19FR64SuperRegClassesE", "llvm::X86::FR64SuperRegClasses"},
-    {"_ZN4llvm3X86L19GR16SuperRegClassesE", "llvm::X86::GR16SuperRegClasses"},
-    {"_ZN4llvm3X86L24GR16_ABCDSuperRegClassesE", "llvm::X86::GR16_ABCDSuperRegClasses"},
-    {"_ZN4llvm3X86L25GR16_NOREXSuperRegClassesE", "llvm::X86::GR16_NOREXSuperRegClasses"},
-    {"_ZN4llvm3X86L19GR32SuperRegClassesE", "llvm::X86::GR32SuperRegClasses"},
-    {"_ZN4llvm3X86L24GR32_ABCDSuperRegClassesE", "llvm::X86::GR32_ABCDSuperRegClasses"},
-    {"_ZN4llvm3X86L25GR32_NOREXSuperRegClassesE", "llvm::X86::GR32_NOREXSuperRegClasses"},
-    {"_ZN4llvm3X86L24GR32_NOSPSuperRegClassesE", "llvm::X86::GR32_NOSPSuperRegClasses"},
-    {"_ZN4llvm3X86L22GR32_TCSuperRegClassesE", "llvm::X86::GR32_TCSuperRegClasses"},
-    {"_ZN4llvm3X86L18GR8SuperRegClassesE", "llvm::X86::GR8SuperRegClasses"},
-    {"_ZN4llvm3X86L25GR8_ABCD_HSuperRegClassesE", "llvm::X86::GR8_ABCD_HSuperRegClasses"},
-    {"_ZN4llvm3X86L25GR8_ABCD_LSuperRegClassesE", "llvm::X86::GR8_ABCD_LSuperRegClasses"},
-    {"_ZN4llvm3X86L24GR8_NOREXSuperRegClassesE", "llvm::X86::GR8_NOREXSuperRegClasses"},
-    {"_ZN4llvm3X86L20VR128SuperRegClassesE", "llvm::X86::VR128SuperRegClasses"},
-    {"_ZN4llvm3X86L14FR32SubclassesE", "llvm::X86::FR32Subclasses"},
-    {"_ZN4llvm3X86L14FR64SubclassesE", "llvm::X86::FR64Subclasses"},
-    {"_ZN4llvm3X86L14GR16SubclassesE", "llvm::X86::GR16Subclasses"},
-    {"_ZN4llvm3X86L20GR16_NOREXSubclassesE", "llvm::X86::GR16_NOREXSubclasses"},
-    {"_ZN4llvm3X86L14GR32SubclassesE", "llvm::X86::GR32Subclasses"},
-    {"_ZN4llvm3X86L19GR32_ABCDSubclassesE", "llvm::X86::GR32_ABCDSubclasses"},
-    {"_ZN4llvm3X86L20GR32_NOREXSubclassesE", "llvm::X86::GR32_NOREXSubclasses"},
-    {"_ZN4llvm3X86L19GR32_NOSPSubclassesE", "llvm::X86::GR32_NOSPSubclasses"},
-    {"_ZN4llvm3X86L17GR32_TCSubclassesE", "llvm::X86::GR32_TCSubclasses"},
-    {"_ZN4llvm3X86L14GR64SubclassesE", "llvm::X86::GR64Subclasses"},
-    {"_ZN4llvm3X86L20GR64_NOREXSubclassesE", "llvm::X86::GR64_NOREXSubclasses"},
-    {"_ZN4llvm3X86L25GR64_NOREX_NOSPSubclassesE", "llvm::X86::GR64_NOREX_NOSPSubclasses"},
-    {"_ZN4llvm3X86L19GR64_NOSPSubclassesE", "llvm::X86::GR64_NOSPSubclasses"},
-    {"_ZN4llvm3X86L17GR64_TCSubclassesE", "llvm::X86::GR64_TCSubclasses"},
-    {"_ZN4llvm3X86L13GR8SubclassesE", "llvm::X86::GR8Subclasses"},
-    {"_ZN4llvm3X86L19GR8_NOREXSubclassesE", "llvm::X86::GR8_NOREXSubclasses"},
-    {"_ZN4llvm3X86L15RFP32SubclassesE", "llvm::X86::RFP32Subclasses"},
-    {"_ZN4llvm3X86L15RFP64SubclassesE", "llvm::X86::RFP64Subclasses"},
-    {"_ZN4llvm3X86L16FR64SuperclassesE", "llvm::X86::FR64Superclasses"},
-    {"_ZN4llvm3X86L21GR16_ABCDSuperclassesE", "llvm::X86::GR16_ABCDSuperclasses"},
-    {"_ZN4llvm3X86L22GR16_NOREXSuperclassesE", "llvm::X86::GR16_NOREXSuperclasses"},
-    {"_ZN4llvm3X86L21GR32_ABCDSuperclassesE", "llvm::X86::GR32_ABCDSuperclasses"},
-    {"_ZN4llvm3X86L19GR32_ADSuperclassesE", "llvm::X86::GR32_ADSuperclasses"},
-    {"_ZN4llvm3X86L22GR32_NOREXSuperclassesE", "llvm::X86::GR32_NOREXSuperclasses"},
-    {"_ZN4llvm3X86L21GR32_NOSPSuperclassesE", "llvm::X86::GR32_NOSPSuperclasses"},
-    {"_ZN4llvm3X86L19GR32_TCSuperclassesE", "llvm::X86::GR32_TCSuperclasses"},
-    {"_ZN4llvm3X86L21GR64_ABCDSuperclassesE", "llvm::X86::GR64_ABCDSuperclasses"},
-    {"_ZN4llvm3X86L22GR64_NOREXSuperclassesE", "llvm::X86::GR64_NOREXSuperclasses"},
-    {"_ZN4llvm3X86L27GR64_NOREX_NOSPSuperclassesE", "llvm::X86::GR64_NOREX_NOSPSuperclasses"},
-    {"_ZN4llvm3X86L21GR64_NOSPSuperclassesE", "llvm::X86::GR64_NOSPSuperclasses"},
-    {"_ZN4llvm3X86L19GR64_TCSuperclassesE", "llvm::X86::GR64_TCSuperclasses"},
-    {"_ZN4llvm3X86L22GR64_TCW64SuperclassesE", "llvm::X86::GR64_TCW64Superclasses"},
-    {"_ZN4llvm3X86L22GR8_ABCD_HSuperclassesE", "llvm::X86::GR8_ABCD_HSuperclasses"},
-    {"_ZN4llvm3X86L22GR8_ABCD_LSuperclassesE", "llvm::X86::GR8_ABCD_LSuperclasses"},
-    {"_ZN4llvm3X86L21GR8_NOREXSuperclassesE", "llvm::X86::GR8_NOREXSuperclasses"},
-    {"_ZN4llvm3X86L17RFP64SuperclassesE", "llvm::X86::RFP64Superclasses"},
-    {"_ZN4llvm3X86L17RFP80SuperclassesE", "llvm::X86::RFP80Superclasses"},
-    {"_ZN4llvm3X86L17VR128SuperclassesE", "llvm::X86::VR128Superclasses"},
-    {"_ZN4llvm3X86L17GR16SubRegClassesE", "llvm::X86::GR16SubRegClasses"},
-    {"_ZN4llvm3X86L22GR16_ABCDSubRegClassesE", "llvm::X86::GR16_ABCDSubRegClasses"},
-    {"_ZN4llvm3X86L23GR16_NOREXSubRegClassesE", "llvm::X86::GR16_NOREXSubRegClasses"},
-    {"_ZN4llvm3X86L17GR32SubRegClassesE", "llvm::X86::GR32SubRegClasses"},
-    {"_ZN4llvm3X86L22GR32_ABCDSubRegClassesE", "llvm::X86::GR32_ABCDSubRegClasses"},
-    {"_ZN4llvm3X86L20GR32_ADSubRegClassesE", "llvm::X86::GR32_ADSubRegClasses"},
-    {"_ZN4llvm3X86L23GR32_NOREXSubRegClassesE", "llvm::X86::GR32_NOREXSubRegClasses"},
-    {"_ZN4llvm3X86L22GR32_NOSPSubRegClassesE", "llvm::X86::GR32_NOSPSubRegClasses"},
-    {"_ZN4llvm3X86L20GR32_TCSubRegClassesE", "llvm::X86::GR32_TCSubRegClasses"},
-    {"_ZN4llvm3X86L17GR64SubRegClassesE", "llvm::X86::GR64SubRegClasses"},
-    {"_ZN4llvm3X86L22GR64_ABCDSubRegClassesE", "llvm::X86::GR64_ABCDSubRegClasses"},
-    {"_ZN4llvm3X86L23GR64_NOREXSubRegClassesE", "llvm::X86::GR64_NOREXSubRegClasses"},
-    {"_ZN4llvm3X86L28GR64_NOREX_NOSPSubRegClassesE", "llvm::X86::GR64_NOREX_NOSPSubRegClasses"},
-    {"_ZN4llvm3X86L22GR64_NOSPSubRegClassesE", "llvm::X86::GR64_NOSPSubRegClasses"},
-    {"_ZN4llvm3X86L20GR64_TCSubRegClassesE", "llvm::X86::GR64_TCSubRegClasses"},
-    {"_ZN4llvm3X86L18VR128SubRegClassesE", "llvm::X86::VR128SubRegClasses"},
-    {"_ZN4llvm3X86L18VR256SubRegClassesE", "llvm::X86::VR256SubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L15RegisterClassesE", "llvm::(anonymous namespace)::RegisterClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L16SubRegIndexTableE", "llvm::(anonymous namespace)::SubRegIndexTable"},
-    {"_ZN4llvm3ARML18DPRSuperRegClassesE", "llvm::ARM::DPRSuperRegClasses"},
-    {"_ZN4llvm3ARML20DPR_8SuperRegClassesE", "llvm::ARM::DPR_8SuperRegClasses"},
-    {"_ZN4llvm3ARML23DPR_VFP2SuperRegClassesE", "llvm::ARM::DPR_VFP2SuperRegClasses"},
-    {"_ZN4llvm3ARML18QPRSuperRegClassesE", "llvm::ARM::QPRSuperRegClasses"},
-    {"_ZN4llvm3ARML23QPR_VFP2SuperRegClassesE", "llvm::ARM::QPR_VFP2SuperRegClasses"},
-    {"_ZN4llvm3ARML18SPRSuperRegClassesE", "llvm::ARM::SPRSuperRegClasses"},
-    {"_ZN4llvm3ARML20SPR_8SuperRegClassesE", "llvm::ARM::SPR_8SuperRegClasses"},
-    {"_ZN4llvm3ARML13DPRSubclassesE", "llvm::ARM::DPRSubclasses"},
-    {"_ZN4llvm3ARML18DPR_VFP2SubclassesE", "llvm::ARM::DPR_VFP2Subclasses"},
-    {"_ZN4llvm3ARML13GPRSubclassesE", "llvm::ARM::GPRSubclasses"},
-    {"_ZN4llvm3ARML13QPRSubclassesE", "llvm::ARM::QPRSubclasses"},
-    {"_ZN4llvm3ARML18QPR_VFP2SubclassesE", "llvm::ARM::QPR_VFP2Subclasses"},
-    {"_ZN4llvm3ARML14QQPRSubclassesE", "llvm::ARM::QQPRSubclasses"},
-    {"_ZN4llvm3ARML13SPRSubclassesE", "llvm::ARM::SPRSubclasses"},
-    {"_ZN4llvm3ARML14rGPRSubclassesE", "llvm::ARM::rGPRSubclasses"},
-    {"_ZN4llvm3ARML17DPR_8SuperclassesE", "llvm::ARM::DPR_8Superclasses"},
-    {"_ZN4llvm3ARML20DPR_VFP2SuperclassesE", "llvm::ARM::DPR_VFP2Superclasses"},
-    {"_ZN4llvm3ARML17QPR_8SuperclassesE", "llvm::ARM::QPR_8Superclasses"},
-    {"_ZN4llvm3ARML20QPR_VFP2SuperclassesE", "llvm::ARM::QPR_VFP2Superclasses"},
-    {"_ZN4llvm3ARML21QQPR_VFP2SuperclassesE", "llvm::ARM::QQPR_VFP2Superclasses"},
-    {"_ZN4llvm3ARML17SPR_8SuperclassesE", "llvm::ARM::SPR_8Superclasses"},
-    {"_ZN4llvm3ARML16rGPRSuperclassesE", "llvm::ARM::rGPRSuperclasses"},
-    {"_ZN4llvm3ARML16tGPRSuperclassesE", "llvm::ARM::tGPRSuperclasses"},
-    {"_ZN4llvm3ARML17tcGPRSuperclassesE", "llvm::ARM::tcGPRSuperclasses"},
-    {"_ZN4llvm3ARML18DPR_8SubRegClassesE", "llvm::ARM::DPR_8SubRegClasses"},
-    {"_ZN4llvm3ARML21DPR_VFP2SubRegClassesE", "llvm::ARM::DPR_VFP2SubRegClasses"},
-    {"_ZN4llvm3ARML16QPRSubRegClassesE", "llvm::ARM::QPRSubRegClasses"},
-    {"_ZN4llvm3ARML18QPR_8SubRegClassesE", "llvm::ARM::QPR_8SubRegClasses"},
-    {"_ZN4llvm3ARML21QPR_VFP2SubRegClassesE", "llvm::ARM::QPR_VFP2SubRegClasses"},
-    {"_ZN4llvm3ARML17QQPRSubRegClassesE", "llvm::ARM::QQPRSubRegClasses"},
-    {"_ZN4llvm3ARML22QQPR_VFP2SubRegClassesE", "llvm::ARM::QQPR_VFP2SubRegClasses"},
-    {"_ZN4llvm3ARML19QQQQPRSubRegClassesE", "llvm::ARM::QQQQPRSubRegClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L15RegisterClassesE", "llvm::(anonymous namespace)::RegisterClasses"},
-    {"_ZN4llvm12_GLOBAL__N_1L16SubRegIndexTableE", "llvm::(anonymous namespace)::SubRegIndexTable"},
-    {"_ZL13arm_asm_table", "arm_asm_table"},
-    {"_ZN4llvmL24RegisterCoalescerLinkObjE", "llvm::RegisterCoalescerLinkObj"},
-    {"_ZN4llvmL31SimpleRegisterCoalescingLinkObjE", "llvm::SimpleRegisterCoalescingLinkObj"},
-    {"_ZL8PSVNames", "PSVNames"},
-    {"_ZN4llvmL24RegisterCoalescerLinkObjE", "llvm::RegisterCoalescerLinkObj"},
-    {"_ZN4llvmL31SimpleRegisterCoalescingLinkObjE", "llvm::SimpleRegisterCoalescingLinkObj"},
-    {"_ZN4llvmL24RegisterCoalescerLinkObjE", "llvm::RegisterCoalescerLinkObj"},
-    {"_ZN4llvmL31SimpleRegisterCoalescingLinkObjE", "llvm::SimpleRegisterCoalescingLinkObj"},
-    {"_ZN4llvmL24RegisterCoalescerLinkObjE", "llvm::RegisterCoalescerLinkObj"},
-    {"_ZN4llvmL31SimpleRegisterCoalescingLinkObjE", "llvm::SimpleRegisterCoalescingLinkObj"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZN4llvmL16CallGraphLinkObjE", "llvm::CallGraphLinkObj"},
-    {"_ZL22SectionTypeDescriptors", "SectionTypeDescriptors"},
-    {"_ZL22SectionAttrDescriptors", "SectionAttrDescriptors"},
-    {"_ZL9Lang_cuda", "Lang_cuda"},
-    {"_ZL11Lang_opencl", "Lang_opencl"},
-    {"_ZL13Lang_gnucxx0x", "Lang_gnucxx0x"},
-    {"_ZL10Lang_cxx0x", "Lang_cxx0x"},
-    {"_ZL13Lang_gnucxx98", "Lang_gnucxx98"},
-    {"_ZL10Lang_cxx98", "Lang_cxx98"},
-    {"_ZL10Lang_gnu9x", "Lang_gnu9x"},
-    {"_ZL10Lang_gnu99", "Lang_gnu99"},
-    {"_ZL17Lang_iso9899_199x", "Lang_iso9899_199x"},
-    {"_ZL17Lang_iso9899_1999", "Lang_iso9899_1999"},
-    {"_ZL8Lang_c9x", "Lang_c9x"},
-    {"_ZL8Lang_c99", "Lang_c99"},
-    {"_ZL10Lang_gnu89", "Lang_gnu89"},
-    {"_ZL8Lang_c94", "Lang_c94"},
-    {"_ZL17Lang_iso9899_1990", "Lang_iso9899_1990"},
-    {"_ZL8Lang_c90", "Lang_c90"},
-    {"_ZL8Lang_c89", "Lang_c89"},
-    {"_ZL14CC1AsInfoTable", "CC1AsInfoTable"},
-    {"_ZL12CC1InfoTable", "CC1InfoTable"},
-    {"_ZL9InfoTable", "InfoTable"},
-    {"_ZL9TypeInfos", "TypeInfos"},
-    {"_ZL16EagerlyAssumeTag", "EagerlyAssumeTag"},
-    {"_ZL4Msgs", "Msgs"},
-    {"_ZL11BuiltinInfo", "BuiltinInfo"},
-    {"_ZL14StaticDiagInfo", "StaticDiagInfo"},
-    {"_ZL11OptionTable", "OptionTable"},
-    {"_ZN12_GLOBAL__N_1L11BuiltinInfoE", "(anonymous namespace)::BuiltinInfo"},
-    {"_ZN12_GLOBAL__N_1L13GCCRegAliasesE", "(anonymous namespace)::GCCRegAliases"},
-    {"_ZL21NumAggregatesPromoted", "NumAggregatesPromoted"},
-    {"_ZL20NumArgumentsPromoted", "NumArgumentsPromoted"},
-    {"_ZL16NumArgumentsDead", "NumArgumentsDead"},
-    {"_ZL20NumByValArgsPromoted", "NumByValArgsPromoted"},
-    {"_ZL9NumMerged", "NumMerged"},
-    {"_ZL29NumArgumentsReplacedWithUndef", "NumArgumentsReplacedWithUndef"},
-    {"_ZL22NumArgumentsEliminated", "NumArgumentsEliminated"},
-    {"_ZL20NumRetValsEliminated", "NumRetValsEliminated"},
-    {"_ZL9NumKilled", "NumKilled"},
-    {"_ZL10NumNoAlias", "NumNoAlias"},
-    {"_ZL12NumNoCapture", "NumNoCapture"},
-    {"_ZL11NumReadNone", "NumReadNone"},
-    {"_ZL11NumReadOnly", "NumReadOnly"},
-    {"_ZL10NumAliases", "NumAliases"},
-    {"_ZL12NumVariables", "NumVariables"},
-    {"_ZL12NumFunctions", "NumFunctions"},
-    {"_ZL17NumAliasesRemoved", "NumAliasesRemoved"},
-    {"_ZL18NumAliasesResolved", "NumAliasesResolved"},
-    {"_ZL15NumShrunkToBool", "NumShrunkToBool"},
-    {"_ZL10NumHeapSRA", "NumHeapSRA"},
-    {"_ZL11NumGlobUses", "NumGlobUses"},
-    {"_ZL13NumSubstitute", "NumSubstitute"},
-    {"_ZL6NumSRA", "NumSRA"},
-    {"_ZL9NumMarked", "NumMarked"},
-    {"_ZL12NumLocalized", "NumLocalized"},
-    {"_ZL10NumUnnamed", "NumUnnamed"},
-    {"_ZL10NumDeleted", "NumDeleted"},
-    {"_ZL17NumCtorsEvaluated", "NumCtorsEvaluated"},
-    {"_ZL14NumNestRemoved", "NumNestRemoved"},
-    {"_ZL14NumFastCallFns", "NumFastCallFns"},
-    {"_ZL12NumFnDeleted", "NumFnDeleted"},
-    {"_ZL10NumDeleted", "NumDeleted"},
-    {"_ZL10NumInlined", "NumInlined"},
-    {"_ZL16NumMergedAllocas", "NumMergedAllocas"},
-    {"_ZL15NumCallsDeleted", "NumCallsDeleted"},
-    {"_ZL10NumUnreach", "NumUnreach"},
-    {"_ZL10NumRemoved", "NumRemoved"},
-    {"_ZL17NumDeadPrototypes", "NumDeadPrototypes"},
-    {"_ZL10MatchTable", "MatchTable"},
-    {"_ZL10NumEmitted", "NumEmitted"},
-    {"_ZL7NumFXCH", "NumFXCH"},
-    {"_ZL8PopTable", "PopTable"},
-    {"_ZL11OpcodeTable", "OpcodeTable"},
-    {"_ZL15ForwardST0Table", "ForwardST0Table"},
-    {"_ZL15ReverseST0Table", "ReverseST0Table"},
-    {"_ZL15ForwardSTiTable", "ForwardSTiTable"},
-    {"_ZL15ReverseSTiTable", "ReverseSTiTable"},
-    {"_ZL5NumFP", "NumFP"},
-    {"_ZL12NumLoadMoved", "NumLoadMoved"},
-    {"_ZL12NumTailCalls", "NumTailCalls"},
-    {"_ZN4llvmL9Barriers1E", "llvm::Barriers1"},
-    {"_ZN4llvmL9Barriers2E", "llvm::Barriers2"},
-    {"_ZN4llvmL9Barriers3E", "llvm::Barriers3"},
-    {"_ZN4llvmL9Barriers4E", "llvm::Barriers4"},
-    {"_ZN4llvmL9Barriers5E", "llvm::Barriers5"},
-    {"_ZN4llvmL9Barriers6E", "llvm::Barriers6"},
-    {"_ZN4llvmL9Barriers7E", "llvm::Barriers7"},
-    {"_ZN4llvmL9Barriers8E", "llvm::Barriers8"},
-    {"_ZN4llvmL12OperandInfo2E", "llvm::OperandInfo2"},
-    {"_ZN4llvmL12OperandInfo3E", "llvm::OperandInfo3"},
-    {"_ZN4llvmL12OperandInfo4E", "llvm::OperandInfo4"},
-    {"_ZN4llvmL12OperandInfo5E", "llvm::OperandInfo5"},
-    {"_ZN4llvmL12OperandInfo6E", "llvm::OperandInfo6"},
-    {"_ZN4llvmL12OperandInfo7E", "llvm::OperandInfo7"},
-    {"_ZN4llvmL12OperandInfo8E", "llvm::OperandInfo8"},
-    {"_ZN4llvmL12OperandInfo9E", "llvm::OperandInfo9"},
-    {"_ZN4llvmL13OperandInfo10E", "llvm::OperandInfo10"},
-    {"_ZN4llvmL13OperandInfo11E", "llvm::OperandInfo11"},
-    {"_ZN4llvmL13OperandInfo12E", "llvm::OperandInfo12"},
-    {"_ZN4llvmL13OperandInfo13E", "llvm::OperandInfo13"},
-    {"_ZN4llvmL13OperandInfo14E", "llvm::OperandInfo14"},
-    {"_ZN4llvmL13OperandInfo15E", "llvm::OperandInfo15"},
-    {"_ZN4llvmL13OperandInfo16E", "llvm::OperandInfo16"},
-    {"_ZN4llvmL13OperandInfo17E", "llvm::OperandInfo17"},
-    {"_ZN4llvmL13OperandInfo18E", "llvm::OperandInfo18"},
-    {"_ZN4llvmL13OperandInfo19E", "llvm::OperandInfo19"},
-    {"_ZN4llvmL13OperandInfo20E", "llvm::OperandInfo20"},
-    {"_ZN4llvmL13OperandInfo21E", "llvm::OperandInfo21"},
-    {"_ZN4llvmL13OperandInfo22E", "llvm::OperandInfo22"},
-    {"_ZN4llvmL13OperandInfo23E", "llvm::OperandInfo23"},
-    {"_ZN4llvmL13OperandInfo24E", "llvm::OperandInfo24"},
-    {"_ZN4llvmL13OperandInfo25E", "llvm::OperandInfo25"},
-    {"_ZN4llvmL13OperandInfo26E", "llvm::OperandInfo26"},
-    {"_ZN4llvmL13OperandInfo27E", "llvm::OperandInfo27"},
-    {"_ZN4llvmL13OperandInfo28E", "llvm::OperandInfo28"},
-    {"_ZN4llvmL13OperandInfo29E", "llvm::OperandInfo29"},
-    {"_ZN4llvmL13OperandInfo30E", "llvm::OperandInfo30"},
-    {"_ZN4llvmL13OperandInfo31E", "llvm::OperandInfo31"},
-    {"_ZN4llvmL13OperandInfo32E", "llvm::OperandInfo32"},
-    {"_ZN4llvmL13OperandInfo33E", "llvm::OperandInfo33"},
-    {"_ZN4llvmL13OperandInfo34E", "llvm::OperandInfo34"},
-    {"_ZN4llvmL13OperandInfo35E", "llvm::OperandInfo35"},
-    {"_ZN4llvmL13OperandInfo36E", "llvm::OperandInfo36"},
-    {"_ZN4llvmL13OperandInfo37E", "llvm::OperandInfo37"},
-    {"_ZN4llvmL13OperandInfo38E", "llvm::OperandInfo38"},
-    {"_ZN4llvmL13OperandInfo39E", "llvm::OperandInfo39"},
-    {"_ZN4llvmL13OperandInfo40E", "llvm::OperandInfo40"},
-    {"_ZN4llvmL13OperandInfo41E", "llvm::OperandInfo41"},
-    {"_ZN4llvmL13OperandInfo42E", "llvm::OperandInfo42"},
-    {"_ZN4llvmL13OperandInfo43E", "llvm::OperandInfo43"},
-    {"_ZN4llvmL13OperandInfo44E", "llvm::OperandInfo44"},
-    {"_ZN4llvmL13OperandInfo45E", "llvm::OperandInfo45"},
-    {"_ZN4llvmL13OperandInfo46E", "llvm::OperandInfo46"},
-    {"_ZN4llvmL13OperandInfo47E", "llvm::OperandInfo47"},
-    {"_ZN4llvmL13OperandInfo48E", "llvm::OperandInfo48"},
-    {"_ZN4llvmL13OperandInfo49E", "llvm::OperandInfo49"},
-    {"_ZN4llvmL13OperandInfo50E", "llvm::OperandInfo50"},
-    {"_ZN4llvmL13OperandInfo51E", "llvm::OperandInfo51"},
-    {"_ZN4llvmL13OperandInfo52E", "llvm::OperandInfo52"},
-    {"_ZN4llvmL13OperandInfo53E", "llvm::OperandInfo53"},
-    {"_ZN4llvmL13OperandInfo54E", "llvm::OperandInfo54"},
-    {"_ZN4llvmL13OperandInfo55E", "llvm::OperandInfo55"},
-    {"_ZN4llvmL13OperandInfo56E", "llvm::OperandInfo56"},
-    {"_ZN4llvmL13OperandInfo57E", "llvm::OperandInfo57"},
-    {"_ZN4llvmL13OperandInfo58E", "llvm::OperandInfo58"},
-    {"_ZN4llvmL13OperandInfo59E", "llvm::OperandInfo59"},
-    {"_ZN4llvmL13OperandInfo60E", "llvm::OperandInfo60"},
-    {"_ZN4llvmL13OperandInfo61E", "llvm::OperandInfo61"},
-    {"_ZN4llvmL13OperandInfo62E", "llvm::OperandInfo62"},
-    {"_ZN4llvmL13OperandInfo63E", "llvm::OperandInfo63"},
-    {"_ZN4llvmL13OperandInfo64E", "llvm::OperandInfo64"},
-    {"_ZN4llvmL13OperandInfo65E", "llvm::OperandInfo65"},
-    {"_ZN4llvmL13OperandInfo66E", "llvm::OperandInfo66"},
-    {"_ZN4llvmL13OperandInfo67E", "llvm::OperandInfo67"},
-    {"_ZN4llvmL13OperandInfo68E", "llvm::OperandInfo68"},
-    {"_ZN4llvmL13OperandInfo69E", "llvm::OperandInfo69"},
-    {"_ZN4llvmL13OperandInfo70E", "llvm::OperandInfo70"},
-    {"_ZN4llvmL13OperandInfo71E", "llvm::OperandInfo71"},
-    {"_ZN4llvmL13OperandInfo72E", "llvm::OperandInfo72"},
-    {"_ZN4llvmL13OperandInfo73E", "llvm::OperandInfo73"},
-    {"_ZN4llvmL13OperandInfo74E", "llvm::OperandInfo74"},
-    {"_ZN4llvmL13OperandInfo75E", "llvm::OperandInfo75"},
-    {"_ZN4llvmL13OperandInfo76E", "llvm::OperandInfo76"},
-    {"_ZN4llvmL13OperandInfo77E", "llvm::OperandInfo77"},
-    {"_ZN4llvmL13OperandInfo78E", "llvm::OperandInfo78"},
-    {"_ZN4llvmL13OperandInfo79E", "llvm::OperandInfo79"},
-    {"_ZN4llvmL13OperandInfo80E", "llvm::OperandInfo80"},
-    {"_ZN4llvmL13OperandInfo81E", "llvm::OperandInfo81"},
-    {"_ZN4llvmL13OperandInfo82E", "llvm::OperandInfo82"},
-    {"_ZN4llvmL13OperandInfo83E", "llvm::OperandInfo83"},
-    {"_ZN4llvmL13OperandInfo84E", "llvm::OperandInfo84"},
-    {"_ZN4llvmL13OperandInfo85E", "llvm::OperandInfo85"},
-    {"_ZN4llvmL13OperandInfo86E", "llvm::OperandInfo86"},
-    {"_ZN4llvmL13OperandInfo87E", "llvm::OperandInfo87"},
-    {"_ZN4llvmL13OperandInfo88E", "llvm::OperandInfo88"},
-    {"_ZN4llvmL13OperandInfo89E", "llvm::OperandInfo89"},
-    {"_ZN4llvmL13OperandInfo90E", "llvm::OperandInfo90"},
-    {"_ZN4llvmL13OperandInfo91E", "llvm::OperandInfo91"},
-    {"_ZN4llvmL13OperandInfo92E", "llvm::OperandInfo92"},
-    {"_ZN4llvmL13OperandInfo93E", "llvm::OperandInfo93"},
-    {"_ZN4llvmL13OperandInfo94E", "llvm::OperandInfo94"},
-    {"_ZN4llvmL13OperandInfo95E", "llvm::OperandInfo95"},
-    {"_ZN4llvmL13OperandInfo96E", "llvm::OperandInfo96"},
-    {"_ZN4llvmL13OperandInfo97E", "llvm::OperandInfo97"},
-    {"_ZN4llvmL13OperandInfo98E", "llvm::OperandInfo98"},
-    {"_ZN4llvmL13OperandInfo99E", "llvm::OperandInfo99"},
-    {"_ZN4llvmL14OperandInfo100E", "llvm::OperandInfo100"},
-    {"_ZN4llvmL14OperandInfo101E", "llvm::OperandInfo101"},
-    {"_ZN4llvmL14OperandInfo102E", "llvm::OperandInfo102"},
-    {"_ZN4llvmL14OperandInfo103E", "llvm::OperandInfo103"},
-    {"_ZN4llvmL14OperandInfo104E", "llvm::OperandInfo104"},
-    {"_ZN4llvmL14OperandInfo105E", "llvm::OperandInfo105"},
-    {"_ZN4llvmL14OperandInfo106E", "llvm::OperandInfo106"},
-    {"_ZN4llvmL14OperandInfo107E", "llvm::OperandInfo107"},
-    {"_ZN4llvmL14OperandInfo108E", "llvm::OperandInfo108"},
-    {"_ZN4llvmL14OperandInfo109E", "llvm::OperandInfo109"},
-    {"_ZN4llvmL14OperandInfo110E", "llvm::OperandInfo110"},
-    {"_ZN4llvmL14OperandInfo111E", "llvm::OperandInfo111"},
-    {"_ZN4llvmL14OperandInfo112E", "llvm::OperandInfo112"},
-    {"_ZN4llvmL14OperandInfo113E", "llvm::OperandInfo113"},
-    {"_ZN4llvmL14OperandInfo114E", "llvm::OperandInfo114"},
-    {"_ZN4llvmL14OperandInfo115E", "llvm::OperandInfo115"},
-    {"_ZN4llvmL14OperandInfo116E", "llvm::OperandInfo116"},
-    {"_ZN4llvmL14OperandInfo117E", "llvm::OperandInfo117"},
-    {"_ZN4llvmL14OperandInfo118E", "llvm::OperandInfo118"},
-    {"_ZN4llvmL14OperandInfo119E", "llvm::OperandInfo119"},
-    {"_ZN4llvmL14OperandInfo120E", "llvm::OperandInfo120"},
-    {"_ZN4llvmL14OperandInfo121E", "llvm::OperandInfo121"},
-    {"_ZN4llvmL14OperandInfo122E", "llvm::OperandInfo122"},
-    {"_ZN4llvmL14OperandInfo123E", "llvm::OperandInfo123"},
-    {"_ZN4llvmL14OperandInfo124E", "llvm::OperandInfo124"},
-    {"_ZN4llvmL14OperandInfo125E", "llvm::OperandInfo125"},
-    {"_ZN4llvmL14OperandInfo126E", "llvm::OperandInfo126"},
-    {"_ZN4llvmL14OperandInfo127E", "llvm::OperandInfo127"},
-    {"_ZN4llvmL14OperandInfo128E", "llvm::OperandInfo128"},
-    {"_ZN4llvmL14OperandInfo129E", "llvm::OperandInfo129"},
-    {"_ZN4llvmL14OperandInfo130E", "llvm::OperandInfo130"},
-    {"_ZN4llvmL14OperandInfo131E", "llvm::OperandInfo131"},
-    {"_ZN4llvmL14OperandInfo132E", "llvm::OperandInfo132"},
-    {"_ZN4llvmL14OperandInfo133E", "llvm::OperandInfo133"},
-    {"_ZN4llvmL14OperandInfo134E", "llvm::OperandInfo134"},
-    {"_ZN4llvmL14OperandInfo135E", "llvm::OperandInfo135"},
-    {"_ZN4llvmL14OperandInfo136E", "llvm::OperandInfo136"},
-    {"_ZN4llvmL14OperandInfo137E", "llvm::OperandInfo137"},
-    {"_ZN4llvmL14OperandInfo138E", "llvm::OperandInfo138"},
-    {"_ZN4llvmL14OperandInfo139E", "llvm::OperandInfo139"},
-    {"_ZN4llvmL14OperandInfo140E", "llvm::OperandInfo140"},
-    {"_ZN4llvmL14OperandInfo141E", "llvm::OperandInfo141"},
-    {"_ZN4llvmL14OperandInfo142E", "llvm::OperandInfo142"},
-    {"_ZN4llvmL14OperandInfo143E", "llvm::OperandInfo143"},
-    {"_ZN4llvmL14OperandInfo144E", "llvm::OperandInfo144"},
-    {"_ZN4llvmL14OperandInfo145E", "llvm::OperandInfo145"},
-    {"_ZN4llvmL14OperandInfo146E", "llvm::OperandInfo146"},
-    {"_ZN4llvmL14OperandInfo147E", "llvm::OperandInfo147"},
-    {"_ZN4llvmL14OperandInfo148E", "llvm::OperandInfo148"},
-    {"_ZN4llvmL14OperandInfo149E", "llvm::OperandInfo149"},
-    {"_ZN4llvmL14OperandInfo150E", "llvm::OperandInfo150"},
-    {"_ZN4llvmL14OperandInfo151E", "llvm::OperandInfo151"},
-    {"_ZN4llvmL14OperandInfo152E", "llvm::OperandInfo152"},
-    {"_ZN4llvmL14OperandInfo153E", "llvm::OperandInfo153"},
-    {"_ZN4llvmL14OperandInfo154E", "llvm::OperandInfo154"},
-    {"_ZN4llvmL14OperandInfo155E", "llvm::OperandInfo155"},
-    {"_ZN4llvmL14OperandInfo156E", "llvm::OperandInfo156"},
-    {"_ZN4llvmL14OperandInfo157E", "llvm::OperandInfo157"},
-    {"_ZN4llvmL14OperandInfo158E", "llvm::OperandInfo158"},
-    {"_ZN4llvmL14OperandInfo159E", "llvm::OperandInfo159"},
-    {"_ZN4llvmL14OperandInfo160E", "llvm::OperandInfo160"},
-    {"_ZN4llvmL14OperandInfo161E", "llvm::OperandInfo161"},
-    {"_ZN4llvmL14OperandInfo162E", "llvm::OperandInfo162"},
-    {"_ZN4llvmL14OperandInfo163E", "llvm::OperandInfo163"},
-    {"_ZN4llvmL14OperandInfo164E", "llvm::OperandInfo164"},
-    {"_ZN4llvmL14OperandInfo165E", "llvm::OperandInfo165"},
-    {"_ZN4llvmL14OperandInfo166E", "llvm::OperandInfo166"},
-    {"_ZN4llvmL14OperandInfo167E", "llvm::OperandInfo167"},
-    {"_ZN4llvmL14OperandInfo168E", "llvm::OperandInfo168"},
-    {"_ZN4llvmL14OperandInfo169E", "llvm::OperandInfo169"},
-    {"_ZN4llvmL14OperandInfo170E", "llvm::OperandInfo170"},
-    {"_ZN4llvmL14OperandInfo171E", "llvm::OperandInfo171"},
-    {"_ZN4llvmL14OperandInfo172E", "llvm::OperandInfo172"},
-    {"_ZN4llvmL14OperandInfo173E", "llvm::OperandInfo173"},
-    {"_ZN4llvmL14OperandInfo174E", "llvm::OperandInfo174"},
-    {"_ZN4llvmL14OperandInfo175E", "llvm::OperandInfo175"},
-    {"_ZN4llvmL14OperandInfo176E", "llvm::OperandInfo176"},
-    {"_ZN4llvmL14OperandInfo177E", "llvm::OperandInfo177"},
-    {"_ZN4llvmL14OperandInfo178E", "llvm::OperandInfo178"},
-    {"_ZN4llvmL14OperandInfo179E", "llvm::OperandInfo179"},
-    {"_ZN4llvmL14OperandInfo180E", "llvm::OperandInfo180"},
-    {"_ZN4llvmL14OperandInfo181E", "llvm::OperandInfo181"},
-    {"_ZN4llvmL14OperandInfo182E", "llvm::OperandInfo182"},
-    {"_ZN4llvmL14OperandInfo183E", "llvm::OperandInfo183"},
-    {"_ZN4llvmL14OperandInfo184E", "llvm::OperandInfo184"},
-    {"_ZN4llvmL14OperandInfo185E", "llvm::OperandInfo185"},
-    {"_ZN4llvmL14OperandInfo186E", "llvm::OperandInfo186"},
-    {"_ZN4llvmL14OperandInfo187E", "llvm::OperandInfo187"},
-    {"_ZN4llvmL14OperandInfo188E", "llvm::OperandInfo188"},
-    {"_ZN4llvmL14OperandInfo189E", "llvm::OperandInfo189"},
-    {"_ZN4llvmL14OperandInfo190E", "llvm::OperandInfo190"},
-    {"_ZN4llvmL14OperandInfo191E", "llvm::OperandInfo191"},
-    {"_ZN4llvmL14OperandInfo192E", "llvm::OperandInfo192"},
-    {"_ZN4llvmL14OperandInfo193E", "llvm::OperandInfo193"},
-    {"_ZN4llvmL14OperandInfo194E", "llvm::OperandInfo194"},
-    {"_ZN4llvmL14OperandInfo195E", "llvm::OperandInfo195"},
-    {"_ZN4llvmL14OperandInfo196E", "llvm::OperandInfo196"},
-    {"_ZN4llvmL14OperandInfo197E", "llvm::OperandInfo197"},
-    {"_ZN4llvmL14OperandInfo198E", "llvm::OperandInfo198"},
-    {"_ZN4llvmL14OperandInfo199E", "llvm::OperandInfo199"},
-    {"_ZN4llvmL14OperandInfo200E", "llvm::OperandInfo200"},
-    {"_ZN4llvmL14OperandInfo201E", "llvm::OperandInfo201"},
-    {"_ZN4llvmL14OperandInfo202E", "llvm::OperandInfo202"},
-    {"_ZN4llvmL14OperandInfo203E", "llvm::OperandInfo203"},
-    {"_ZN4llvmL14OperandInfo204E", "llvm::OperandInfo204"},
-    {"_ZN4llvmL14OperandInfo205E", "llvm::OperandInfo205"},
-    {"_ZN4llvmL14OperandInfo206E", "llvm::OperandInfo206"},
-    {"_ZN4llvmL14OperandInfo207E", "llvm::OperandInfo207"},
-    {"_ZN4llvmL14OperandInfo208E", "llvm::OperandInfo208"},
-    {"_ZN4llvmL14OperandInfo209E", "llvm::OperandInfo209"},
-    {"_ZN4llvmL14OperandInfo210E", "llvm::OperandInfo210"},
-    {"_ZN4llvmL14OperandInfo211E", "llvm::OperandInfo211"},
-    {"_ZN4llvmL14OperandInfo212E", "llvm::OperandInfo212"},
-    {"_ZN4llvmL14OperandInfo213E", "llvm::OperandInfo213"},
-    {"_ZN4llvmL14OperandInfo214E", "llvm::OperandInfo214"},
-    {"_ZN4llvmL14OperandInfo215E", "llvm::OperandInfo215"},
-    {"_ZN4llvmL14OperandInfo216E", "llvm::OperandInfo216"},
-    {"_ZN4llvmL14OperandInfo217E", "llvm::OperandInfo217"},
-    {"_ZN4llvmL14OperandInfo218E", "llvm::OperandInfo218"},
-    {"_ZN4llvmL14OperandInfo219E", "llvm::OperandInfo219"},
-    {"_ZN4llvmL14OperandInfo220E", "llvm::OperandInfo220"},
-    {"_ZN4llvmL14OperandInfo221E", "llvm::OperandInfo221"},
-    {"_ZN4llvmL14OperandInfo222E", "llvm::OperandInfo222"},
-    {"_ZN4llvmL14OperandInfo223E", "llvm::OperandInfo223"},
-    {"_ZN4llvmL14OperandInfo224E", "llvm::OperandInfo224"},
-    {"_ZN4llvmL14OperandInfo225E", "llvm::OperandInfo225"},
-    {"_ZN4llvmL14OperandInfo226E", "llvm::OperandInfo226"},
-    {"_ZN4llvmL14OperandInfo227E", "llvm::OperandInfo227"},
-    {"_ZN4llvmL14OperandInfo228E", "llvm::OperandInfo228"},
-    {"_ZN4llvmL14OperandInfo229E", "llvm::OperandInfo229"},
-    {"_ZN4llvmL14OperandInfo230E", "llvm::OperandInfo230"},
-    {"_ZN4llvmL14OperandInfo231E", "llvm::OperandInfo231"},
-    {"_ZN4llvmL14OperandInfo232E", "llvm::OperandInfo232"},
-    {"_ZN4llvmL14OperandInfo233E", "llvm::OperandInfo233"},
-    {"_ZN4llvmL14OperandInfo234E", "llvm::OperandInfo234"},
-    {"_ZN4llvmL14OperandInfo235E", "llvm::OperandInfo235"},
-    {"_ZN4llvmL14OperandInfo236E", "llvm::OperandInfo236"},
-    {"_ZN4llvmL14OperandInfo237E", "llvm::OperandInfo237"},
-    {"_ZN4llvmL14OperandInfo238E", "llvm::OperandInfo238"},
-    {"_ZN4llvmL14OperandInfo239E", "llvm::OperandInfo239"},
-    {"_ZN4llvmL14OperandInfo240E", "llvm::OperandInfo240"},
-    {"_ZN4llvmL14OperandInfo241E", "llvm::OperandInfo241"},
-    {"_ZN4llvmL14OperandInfo242E", "llvm::OperandInfo242"},
-    {"_ZN4llvmL14OperandInfo243E", "llvm::OperandInfo243"},
-    {"_ZN4llvmL14OperandInfo244E", "llvm::OperandInfo244"},
-    {"_ZN4llvmL14OperandInfo245E", "llvm::OperandInfo245"},
-    {"_ZN4llvmL14OperandInfo246E", "llvm::OperandInfo246"},
-    {"_ZN4llvmL14OperandInfo247E", "llvm::OperandInfo247"},
-    {"_ZN4llvmL14OperandInfo248E", "llvm::OperandInfo248"},
-    {"_ZN4llvmL14OperandInfo249E", "llvm::OperandInfo249"},
-    {"_ZN4llvmL14OperandInfo250E", "llvm::OperandInfo250"},
-    {"_ZN4llvmL14OperandInfo251E", "llvm::OperandInfo251"},
-    {"_ZN4llvmL14OperandInfo252E", "llvm::OperandInfo252"},
-    {"_ZN4llvmL14OperandInfo253E", "llvm::OperandInfo253"},
-    {"_ZN4llvmL14OperandInfo254E", "llvm::OperandInfo254"},
-    {"_ZN4llvmL14OperandInfo255E", "llvm::OperandInfo255"},
-    {"_ZN4llvmL14OperandInfo256E", "llvm::OperandInfo256"},
-    {"_ZN4llvmL14OperandInfo257E", "llvm::OperandInfo257"},
-    {"_ZN4llvmL14OperandInfo258E", "llvm::OperandInfo258"},
-    {"_ZN4llvmL14OperandInfo259E", "llvm::OperandInfo259"},
-    {"_ZN4llvmL14OperandInfo260E", "llvm::OperandInfo260"},
-    {"_ZN4llvmL14OperandInfo261E", "llvm::OperandInfo261"},
-    {"_ZN4llvmL8X86InstsE", "llvm::X86Insts"},
-    {"_ZN4llvm12_GLOBAL__N_1L19RegisterDescriptorsE", "llvm::(anonymous namespace)::RegisterDescriptors"},
-    {"_ZL9SubTypeKV", "SubTypeKV"},
-    {"_ZL9FeatureKV", "FeatureKV"},
-    {"_ZL10MatchTable", "MatchTable"},
-    {"_ZL17OperandMatchTable", "OperandMatchTable"},
-    {"_ZN4llvmL9Barriers1E", "llvm::Barriers1"},
-    {"_ZN4llvmL9Barriers2E", "llvm::Barriers2"},
-    {"_ZN4llvmL9Barriers3E", "llvm::Barriers3"},
-    {"_ZN4llvmL9Barriers4E", "llvm::Barriers4"},
-    {"_ZN4llvmL9Barriers5E", "llvm::Barriers5"},
-    {"_ZN4llvmL9Barriers6E", "llvm::Barriers6"},
-    {"_ZN4llvmL9Barriers7E", "llvm::Barriers7"},
-    {"_ZN4llvmL9Barriers8E", "llvm::Barriers8"},
-    {"_ZN4llvmL12OperandInfo2E", "llvm::OperandInfo2"},
-    {"_ZN4llvmL12OperandInfo3E", "llvm::OperandInfo3"},
-    {"_ZN4llvmL12OperandInfo4E", "llvm::OperandInfo4"},
-    {"_ZN4llvmL12OperandInfo5E", "llvm::OperandInfo5"},
-    {"_ZN4llvmL12OperandInfo6E", "llvm::OperandInfo6"},
-    {"_ZN4llvmL12OperandInfo7E", "llvm::OperandInfo7"},
-    {"_ZN4llvmL12OperandInfo8E", "llvm::OperandInfo8"},
-    {"_ZN4llvmL12OperandInfo9E", "llvm::OperandInfo9"},
-    {"_ZN4llvmL13OperandInfo10E", "llvm::OperandInfo10"},
-    {"_ZN4llvmL13OperandInfo11E", "llvm::OperandInfo11"},
-    {"_ZN4llvmL13OperandInfo12E", "llvm::OperandInfo12"},
-    {"_ZN4llvmL13OperandInfo13E", "llvm::OperandInfo13"},
-    {"_ZN4llvmL13OperandInfo14E", "llvm::OperandInfo14"},
-    {"_ZN4llvmL13OperandInfo15E", "llvm::OperandInfo15"},
-    {"_ZN4llvmL13OperandInfo16E", "llvm::OperandInfo16"},
-    {"_ZN4llvmL13OperandInfo17E", "llvm::OperandInfo17"},
-    {"_ZN4llvmL13OperandInfo18E", "llvm::OperandInfo18"},
-    {"_ZN4llvmL13OperandInfo19E", "llvm::OperandInfo19"},
-    {"_ZN4llvmL13OperandInfo20E", "llvm::OperandInfo20"},
-    {"_ZN4llvmL13OperandInfo21E", "llvm::OperandInfo21"},
-    {"_ZN4llvmL13OperandInfo22E", "llvm::OperandInfo22"},
-    {"_ZN4llvmL13OperandInfo23E", "llvm::OperandInfo23"},
-    {"_ZN4llvmL13OperandInfo24E", "llvm::OperandInfo24"},
-    {"_ZN4llvmL13OperandInfo25E", "llvm::OperandInfo25"},
-    {"_ZN4llvmL13OperandInfo26E", "llvm::OperandInfo26"},
-    {"_ZN4llvmL13OperandInfo27E", "llvm::OperandInfo27"},
-    {"_ZN4llvmL13OperandInfo28E", "llvm::OperandInfo28"},
-    {"_ZN4llvmL13OperandInfo29E", "llvm::OperandInfo29"},
-    {"_ZN4llvmL13OperandInfo30E", "llvm::OperandInfo30"},
-    {"_ZN4llvmL13OperandInfo31E", "llvm::OperandInfo31"},
-    {"_ZN4llvmL13OperandInfo32E", "llvm::OperandInfo32"},
-    {"_ZN4llvmL13OperandInfo33E", "llvm::OperandInfo33"},
-    {"_ZN4llvmL13OperandInfo34E", "llvm::OperandInfo34"},
-    {"_ZN4llvmL13OperandInfo35E", "llvm::OperandInfo35"},
-    {"_ZN4llvmL13OperandInfo36E", "llvm::OperandInfo36"},
-    {"_ZN4llvmL13OperandInfo37E", "llvm::OperandInfo37"},
-    {"_ZN4llvmL13OperandInfo38E", "llvm::OperandInfo38"},
-    {"_ZN4llvmL13OperandInfo39E", "llvm::OperandInfo39"},
-    {"_ZN4llvmL13OperandInfo40E", "llvm::OperandInfo40"},
-    {"_ZN4llvmL13OperandInfo41E", "llvm::OperandInfo41"},
-    {"_ZN4llvmL13OperandInfo42E", "llvm::OperandInfo42"},
-    {"_ZN4llvmL13OperandInfo43E", "llvm::OperandInfo43"},
-    {"_ZN4llvmL13OperandInfo44E", "llvm::OperandInfo44"},
-    {"_ZN4llvmL13OperandInfo45E", "llvm::OperandInfo45"},
-    {"_ZN4llvmL13OperandInfo46E", "llvm::OperandInfo46"},
-    {"_ZN4llvmL13OperandInfo47E", "llvm::OperandInfo47"},
-    {"_ZN4llvmL13OperandInfo48E", "llvm::OperandInfo48"},
-    {"_ZN4llvmL13OperandInfo49E", "llvm::OperandInfo49"},
-    {"_ZN4llvmL13OperandInfo50E", "llvm::OperandInfo50"},
-    {"_ZN4llvmL13OperandInfo51E", "llvm::OperandInfo51"},
-    {"_ZN4llvmL13OperandInfo52E", "llvm::OperandInfo52"},
-    {"_ZN4llvmL13OperandInfo53E", "llvm::OperandInfo53"},
-    {"_ZN4llvmL13OperandInfo54E", "llvm::OperandInfo54"},
-    {"_ZN4llvmL13OperandInfo55E", "llvm::OperandInfo55"},
-    {"_ZN4llvmL13OperandInfo56E", "llvm::OperandInfo56"},
-    {"_ZN4llvmL13OperandInfo57E", "llvm::OperandInfo57"},
-    {"_ZN4llvmL13OperandInfo58E", "llvm::OperandInfo58"},
-    {"_ZN4llvmL13OperandInfo59E", "llvm::OperandInfo59"},
-    {"_ZN4llvmL13OperandInfo60E", "llvm::OperandInfo60"},
-    {"_ZN4llvmL13OperandInfo61E", "llvm::OperandInfo61"},
-    {"_ZN4llvmL13OperandInfo62E", "llvm::OperandInfo62"},
-    {"_ZN4llvmL13OperandInfo63E", "llvm::OperandInfo63"},
-    {"_ZN4llvmL13OperandInfo64E", "llvm::OperandInfo64"},
-    {"_ZN4llvmL13OperandInfo65E", "llvm::OperandInfo65"},
-    {"_ZN4llvmL13OperandInfo66E", "llvm::OperandInfo66"},
-    {"_ZN4llvmL13OperandInfo67E", "llvm::OperandInfo67"},
-    {"_ZN4llvmL13OperandInfo68E", "llvm::OperandInfo68"},
-    {"_ZN4llvmL13OperandInfo69E", "llvm::OperandInfo69"},
-    {"_ZN4llvmL13OperandInfo70E", "llvm::OperandInfo70"},
-    {"_ZN4llvmL13OperandInfo71E", "llvm::OperandInfo71"},
-    {"_ZN4llvmL13OperandInfo72E", "llvm::OperandInfo72"},
-    {"_ZN4llvmL13OperandInfo73E", "llvm::OperandInfo73"},
-    {"_ZN4llvmL13OperandInfo74E", "llvm::OperandInfo74"},
-    {"_ZN4llvmL13OperandInfo75E", "llvm::OperandInfo75"},
-    {"_ZN4llvmL13OperandInfo76E", "llvm::OperandInfo76"},
-    {"_ZN4llvmL13OperandInfo77E", "llvm::OperandInfo77"},
-    {"_ZN4llvmL13OperandInfo78E", "llvm::OperandInfo78"},
-    {"_ZN4llvmL13OperandInfo79E", "llvm::OperandInfo79"},
-    {"_ZN4llvmL13OperandInfo80E", "llvm::OperandInfo80"},
-    {"_ZN4llvmL13OperandInfo81E", "llvm::OperandInfo81"},
-    {"_ZN4llvmL13OperandInfo82E", "llvm::OperandInfo82"},
-    {"_ZN4llvmL13OperandInfo83E", "llvm::OperandInfo83"},
-    {"_ZN4llvmL13OperandInfo84E", "llvm::OperandInfo84"},
-    {"_ZN4llvmL13OperandInfo85E", "llvm::OperandInfo85"},
-    {"_ZN4llvmL13OperandInfo86E", "llvm::OperandInfo86"},
-    {"_ZN4llvmL13OperandInfo87E", "llvm::OperandInfo87"},
-    {"_ZN4llvmL13OperandInfo88E", "llvm::OperandInfo88"},
-    {"_ZN4llvmL13OperandInfo89E", "llvm::OperandInfo89"},
-    {"_ZN4llvmL13OperandInfo90E", "llvm::OperandInfo90"},
-    {"_ZN4llvmL13OperandInfo91E", "llvm::OperandInfo91"},
-    {"_ZN4llvmL13OperandInfo92E", "llvm::OperandInfo92"},
-    {"_ZN4llvmL13OperandInfo93E", "llvm::OperandInfo93"},
-    {"_ZN4llvmL13OperandInfo94E", "llvm::OperandInfo94"},
-    {"_ZN4llvmL13OperandInfo95E", "llvm::OperandInfo95"},
-    {"_ZN4llvmL13OperandInfo96E", "llvm::OperandInfo96"},
-    {"_ZN4llvmL13OperandInfo97E", "llvm::OperandInfo97"},
-    {"_ZN4llvmL13OperandInfo98E", "llvm::OperandInfo98"},
-    {"_ZN4llvmL13OperandInfo99E", "llvm::OperandInfo99"},
-    {"_ZN4llvmL14OperandInfo100E", "llvm::OperandInfo100"},
-    {"_ZN4llvmL14OperandInfo101E", "llvm::OperandInfo101"},
-    {"_ZN4llvmL14OperandInfo102E", "llvm::OperandInfo102"},
-    {"_ZN4llvmL14OperandInfo103E", "llvm::OperandInfo103"},
-    {"_ZN4llvmL14OperandInfo104E", "llvm::OperandInfo104"},
-    {"_ZN4llvmL14OperandInfo105E", "llvm::OperandInfo105"},
-    {"_ZN4llvmL14OperandInfo106E", "llvm::OperandInfo106"},
-    {"_ZN4llvmL14OperandInfo107E", "llvm::OperandInfo107"},
-    {"_ZN4llvmL14OperandInfo108E", "llvm::OperandInfo108"},
-    {"_ZN4llvmL14OperandInfo109E", "llvm::OperandInfo109"},
-    {"_ZN4llvmL14OperandInfo110E", "llvm::OperandInfo110"},
-    {"_ZN4llvmL14OperandInfo111E", "llvm::OperandInfo111"},
-    {"_ZN4llvmL14OperandInfo112E", "llvm::OperandInfo112"},
-    {"_ZN4llvmL14OperandInfo113E", "llvm::OperandInfo113"},
-    {"_ZN4llvmL14OperandInfo114E", "llvm::OperandInfo114"},
-    {"_ZN4llvmL14OperandInfo115E", "llvm::OperandInfo115"},
-    {"_ZN4llvmL14OperandInfo116E", "llvm::OperandInfo116"},
-    {"_ZN4llvmL14OperandInfo117E", "llvm::OperandInfo117"},
-    {"_ZN4llvmL14OperandInfo118E", "llvm::OperandInfo118"},
-    {"_ZN4llvmL14OperandInfo119E", "llvm::OperandInfo119"},
-    {"_ZN4llvmL14OperandInfo120E", "llvm::OperandInfo120"},
-    {"_ZN4llvmL14OperandInfo121E", "llvm::OperandInfo121"},
-    {"_ZN4llvmL14OperandInfo122E", "llvm::OperandInfo122"},
-    {"_ZN4llvmL14OperandInfo123E", "llvm::OperandInfo123"},
-    {"_ZN4llvmL14OperandInfo124E", "llvm::OperandInfo124"},
-    {"_ZN4llvmL14OperandInfo125E", "llvm::OperandInfo125"},
-    {"_ZN4llvmL14OperandInfo126E", "llvm::OperandInfo126"},
-    {"_ZN4llvmL14OperandInfo127E", "llvm::OperandInfo127"},
-    {"_ZN4llvmL14OperandInfo128E", "llvm::OperandInfo128"},
-    {"_ZN4llvmL14OperandInfo129E", "llvm::OperandInfo129"},
-    {"_ZN4llvmL14OperandInfo130E", "llvm::OperandInfo130"},
-    {"_ZN4llvmL14OperandInfo131E", "llvm::OperandInfo131"},
-    {"_ZN4llvmL14OperandInfo132E", "llvm::OperandInfo132"},
-    {"_ZN4llvmL14OperandInfo133E", "llvm::OperandInfo133"},
-    {"_ZN4llvmL14OperandInfo134E", "llvm::OperandInfo134"},
-    {"_ZN4llvmL14OperandInfo135E", "llvm::OperandInfo135"},
-    {"_ZN4llvmL14OperandInfo136E", "llvm::OperandInfo136"},
-    {"_ZN4llvmL14OperandInfo137E", "llvm::OperandInfo137"},
-    {"_ZN4llvmL14OperandInfo138E", "llvm::OperandInfo138"},
-    {"_ZN4llvmL14OperandInfo139E", "llvm::OperandInfo139"},
-    {"_ZN4llvmL14OperandInfo140E", "llvm::OperandInfo140"},
-    {"_ZN4llvmL14OperandInfo141E", "llvm::OperandInfo141"},
-    {"_ZN4llvmL14OperandInfo142E", "llvm::OperandInfo142"},
-    {"_ZN4llvmL14OperandInfo143E", "llvm::OperandInfo143"},
-    {"_ZN4llvmL14OperandInfo144E", "llvm::OperandInfo144"},
-    {"_ZN4llvmL14OperandInfo145E", "llvm::OperandInfo145"},
-    {"_ZN4llvmL14OperandInfo146E", "llvm::OperandInfo146"},
-    {"_ZN4llvmL14OperandInfo147E", "llvm::OperandInfo147"},
-    {"_ZN4llvmL14OperandInfo148E", "llvm::OperandInfo148"},
-    {"_ZN4llvmL14OperandInfo149E", "llvm::OperandInfo149"},
-    {"_ZN4llvmL14OperandInfo150E", "llvm::OperandInfo150"},
-    {"_ZN4llvmL14OperandInfo151E", "llvm::OperandInfo151"},
-    {"_ZN4llvmL14OperandInfo152E", "llvm::OperandInfo152"},
-    {"_ZN4llvmL14OperandInfo153E", "llvm::OperandInfo153"},
-    {"_ZN4llvmL14OperandInfo154E", "llvm::OperandInfo154"},
-    {"_ZN4llvmL14OperandInfo155E", "llvm::OperandInfo155"},
-    {"_ZN4llvmL14OperandInfo156E", "llvm::OperandInfo156"},
-    {"_ZN4llvmL14OperandInfo157E", "llvm::OperandInfo157"},
-    {"_ZN4llvmL14OperandInfo158E", "llvm::OperandInfo158"},
-    {"_ZN4llvmL14OperandInfo159E", "llvm::OperandInfo159"},
-    {"_ZN4llvmL14OperandInfo160E", "llvm::OperandInfo160"},
-    {"_ZN4llvmL14OperandInfo161E", "llvm::OperandInfo161"},
-    {"_ZN4llvmL14OperandInfo162E", "llvm::OperandInfo162"},
-    {"_ZN4llvmL14OperandInfo163E", "llvm::OperandInfo163"},
-    {"_ZN4llvmL14OperandInfo164E", "llvm::OperandInfo164"},
-    {"_ZN4llvmL14OperandInfo165E", "llvm::OperandInfo165"},
-    {"_ZN4llvmL14OperandInfo166E", "llvm::OperandInfo166"},
-    {"_ZN4llvmL14OperandInfo167E", "llvm::OperandInfo167"},
-    {"_ZN4llvmL14OperandInfo168E", "llvm::OperandInfo168"},
-    {"_ZN4llvmL14OperandInfo169E", "llvm::OperandInfo169"},
-    {"_ZN4llvmL14OperandInfo170E", "llvm::OperandInfo170"},
-    {"_ZN4llvmL14OperandInfo171E", "llvm::OperandInfo171"},
-    {"_ZN4llvmL14OperandInfo172E", "llvm::OperandInfo172"},
-    {"_ZN4llvmL14OperandInfo173E", "llvm::OperandInfo173"},
-    {"_ZN4llvmL14OperandInfo174E", "llvm::OperandInfo174"},
-    {"_ZN4llvmL14OperandInfo175E", "llvm::OperandInfo175"},
-    {"_ZN4llvmL14OperandInfo176E", "llvm::OperandInfo176"},
-    {"_ZN4llvmL14OperandInfo177E", "llvm::OperandInfo177"},
-    {"_ZN4llvmL14OperandInfo178E", "llvm::OperandInfo178"},
-    {"_ZN4llvmL14OperandInfo179E", "llvm::OperandInfo179"},
-    {"_ZN4llvmL14OperandInfo180E", "llvm::OperandInfo180"},
-    {"_ZN4llvmL14OperandInfo181E", "llvm::OperandInfo181"},
-    {"_ZN4llvmL14OperandInfo182E", "llvm::OperandInfo182"},
-    {"_ZN4llvmL14OperandInfo183E", "llvm::OperandInfo183"},
-    {"_ZN4llvmL14OperandInfo184E", "llvm::OperandInfo184"},
-    {"_ZN4llvmL14OperandInfo185E", "llvm::OperandInfo185"},
-    {"_ZN4llvmL14OperandInfo186E", "llvm::OperandInfo186"},
-    {"_ZN4llvmL14OperandInfo187E", "llvm::OperandInfo187"},
-    {"_ZN4llvmL14OperandInfo188E", "llvm::OperandInfo188"},
-    {"_ZN4llvmL14OperandInfo189E", "llvm::OperandInfo189"},
-    {"_ZN4llvmL14OperandInfo190E", "llvm::OperandInfo190"},
-    {"_ZN4llvmL14OperandInfo191E", "llvm::OperandInfo191"},
-    {"_ZN4llvmL14OperandInfo192E", "llvm::OperandInfo192"},
-    {"_ZN4llvmL14OperandInfo193E", "llvm::OperandInfo193"},
-    {"_ZN4llvmL14OperandInfo194E", "llvm::OperandInfo194"},
-    {"_ZN4llvmL14OperandInfo195E", "llvm::OperandInfo195"},
-    {"_ZN4llvmL14OperandInfo196E", "llvm::OperandInfo196"},
-    {"_ZN4llvmL14OperandInfo197E", "llvm::OperandInfo197"},
-    {"_ZN4llvmL14OperandInfo198E", "llvm::OperandInfo198"},
-    {"_ZN4llvmL14OperandInfo199E", "llvm::OperandInfo199"},
-    {"_ZN4llvmL14OperandInfo200E", "llvm::OperandInfo200"},
-    {"_ZN4llvmL14OperandInfo201E", "llvm::OperandInfo201"},
-    {"_ZN4llvmL14OperandInfo202E", "llvm::OperandInfo202"},
-    {"_ZN4llvmL14OperandInfo203E", "llvm::OperandInfo203"},
-    {"_ZN4llvmL14OperandInfo204E", "llvm::OperandInfo204"},
-    {"_ZN4llvmL14OperandInfo205E", "llvm::OperandInfo205"},
-    {"_ZN4llvmL14OperandInfo206E", "llvm::OperandInfo206"},
-    {"_ZN4llvmL14OperandInfo207E", "llvm::OperandInfo207"},
-    {"_ZN4llvmL14OperandInfo208E", "llvm::OperandInfo208"},
-    {"_ZN4llvmL14OperandInfo209E", "llvm::OperandInfo209"},
-    {"_ZN4llvmL14OperandInfo210E", "llvm::OperandInfo210"},
-    {"_ZN4llvmL14OperandInfo211E", "llvm::OperandInfo211"},
-    {"_ZN4llvmL14OperandInfo212E", "llvm::OperandInfo212"},
-    {"_ZN4llvmL14OperandInfo213E", "llvm::OperandInfo213"},
-    {"_ZN4llvmL14OperandInfo214E", "llvm::OperandInfo214"},
-    {"_ZN4llvmL14OperandInfo215E", "llvm::OperandInfo215"},
-    {"_ZN4llvmL14OperandInfo216E", "llvm::OperandInfo216"},
-    {"_ZN4llvmL14OperandInfo217E", "llvm::OperandInfo217"},
-    {"_ZN4llvmL14OperandInfo218E", "llvm::OperandInfo218"},
-    {"_ZN4llvmL14OperandInfo219E", "llvm::OperandInfo219"},
-    {"_ZN4llvmL14OperandInfo220E", "llvm::OperandInfo220"},
-    {"_ZN4llvmL14OperandInfo221E", "llvm::OperandInfo221"},
-    {"_ZN4llvmL14OperandInfo222E", "llvm::OperandInfo222"},
-    {"_ZN4llvmL14OperandInfo223E", "llvm::OperandInfo223"},
-    {"_ZN4llvmL14OperandInfo224E", "llvm::OperandInfo224"},
-    {"_ZN4llvmL14OperandInfo225E", "llvm::OperandInfo225"},
-    {"_ZN4llvmL14OperandInfo226E", "llvm::OperandInfo226"},
-    {"_ZN4llvmL14OperandInfo227E", "llvm::OperandInfo227"},
-    {"_ZN4llvmL14OperandInfo228E", "llvm::OperandInfo228"},
-    {"_ZN4llvmL14OperandInfo229E", "llvm::OperandInfo229"},
-    {"_ZN4llvmL14OperandInfo230E", "llvm::OperandInfo230"},
-    {"_ZN4llvmL14OperandInfo231E", "llvm::OperandInfo231"},
-    {"_ZN4llvmL14OperandInfo232E", "llvm::OperandInfo232"},
-    {"_ZN4llvmL14OperandInfo233E", "llvm::OperandInfo233"},
-    {"_ZN4llvmL14OperandInfo234E", "llvm::OperandInfo234"},
-    {"_ZN4llvmL14OperandInfo235E", "llvm::OperandInfo235"},
-    {"_ZN4llvmL14OperandInfo236E", "llvm::OperandInfo236"},
-    {"_ZN4llvmL14OperandInfo237E", "llvm::OperandInfo237"},
-    {"_ZN4llvmL14OperandInfo238E", "llvm::OperandInfo238"},
-    {"_ZN4llvmL14OperandInfo239E", "llvm::OperandInfo239"},
-    {"_ZN4llvmL14OperandInfo240E", "llvm::OperandInfo240"},
-    {"_ZN4llvmL14OperandInfo241E", "llvm::OperandInfo241"},
-    {"_ZN4llvmL14OperandInfo242E", "llvm::OperandInfo242"},
-    {"_ZN4llvmL14OperandInfo243E", "llvm::OperandInfo243"},
-    {"_ZN4llvmL14OperandInfo244E", "llvm::OperandInfo244"},
-    {"_ZN4llvmL14OperandInfo245E", "llvm::OperandInfo245"},
-    {"_ZN4llvmL14OperandInfo246E", "llvm::OperandInfo246"},
-    {"_ZN4llvmL14OperandInfo247E", "llvm::OperandInfo247"},
-    {"_ZN4llvmL14OperandInfo248E", "llvm::OperandInfo248"},
-    {"_ZN4llvmL14OperandInfo249E", "llvm::OperandInfo249"},
-    {"_ZN4llvmL14OperandInfo250E", "llvm::OperandInfo250"},
-    {"_ZN4llvmL14OperandInfo251E", "llvm::OperandInfo251"},
-    {"_ZN4llvmL14OperandInfo252E", "llvm::OperandInfo252"},
-    {"_ZN4llvmL14OperandInfo253E", "llvm::OperandInfo253"},
-    {"_ZN4llvmL14OperandInfo254E", "llvm::OperandInfo254"},
-    {"_ZN4llvmL14OperandInfo255E", "llvm::OperandInfo255"},
-    {"_ZN4llvmL14OperandInfo256E", "llvm::OperandInfo256"},
-    {"_ZN4llvmL14OperandInfo257E", "llvm::OperandInfo257"},
-    {"_ZN4llvmL14OperandInfo258E", "llvm::OperandInfo258"},
-    {"_ZN4llvmL14OperandInfo259E", "llvm::OperandInfo259"},
-    {"_ZN4llvmL14OperandInfo260E", "llvm::OperandInfo260"},
-    {"_ZN4llvmL8ARMInstsE", "llvm::ARMInsts"},
-    {"_ZL12ARM_MLxTable", "ARM_MLxTable"},
-    {"_ZN4llvm12_GLOBAL__N_1L19RegisterDescriptorsE", "llvm::(anonymous namespace)::RegisterDescriptors"},
-    {"_ZL10NumEmitted", "NumEmitted"},
-    {"_ZL6NumTBs", "NumTBs"},
-    {"_ZL6NumCBZ", "NumCBZ"},
-    {"_ZL13NumT2BrShrunk", "NumT2BrShrunk"},
-    {"_ZL13NumT2CPShrunk", "NumT2CPShrunk"},
-    {"_ZL8NumSplit", "NumSplit"},
-    {"_ZL11NumCBrFixed", "NumCBrFixed"},
-    {"_ZL11NumUBrFixed", "NumUBrFixed"},
-    {"_ZL7NumCPEs", "NumCPEs"},
-    {"_ZL13NumJTInserted", "NumJTInserted"},
-    {"_ZL10NumJTMoved", "NumJTMoved"},
-    {"_ZL13NEONLdStTable", "NEONLdStTable"},
-    {"_ZL11NumMovwMovt", "NumMovwMovt"},
-    {"_ZL12NumTailCalls", "NumTailCalls"},
-    {"_ZL12NumVSTMGened", "NumVSTMGened"},
-    {"_ZL12NumVLDMGened", "NumVLDMGened"},
-    {"_ZL11NumSTMGened", "NumSTMGened"},
-    {"_ZL11NumLDMGened", "NumLDMGened"},
-    {"_ZL11NumSTRD2STR", "NumSTRD2STR"},
-    {"_ZL11NumLDRD2LDR", "NumLDRD2LDR"},
-    {"_ZL11NumSTRD2STM", "NumSTRD2STM"},
-    {"_ZL11NumLDRD2LDM", "NumLDRD2LDM"},
-    {"_ZL12NumLdStMoved", "NumLdStMoved"},
-    {"_ZL13NumSTRDFormed", "NumSTRDFormed"},
-    {"_ZL13NumLDRDFormed", "NumLDRDFormed"},
-    {"_ZL12MCNumEmitted", "MCNumEmitted"},
-    {"_ZL18MCNumCPRelocations", "MCNumCPRelocations"},
-    {"_ZL9SubTypeKV", "SubTypeKV"},
-    {"_ZL9FeatureKV", "FeatureKV"},
-    {"_ZL10ProcItinKV", "ProcItinKV"},
-    {"_ZL6Stages", "Stages"},
-    {"_ZL18GenericItineraries", "GenericItineraries"},
-    {"_ZL16ARMV6Itineraries", "ARMV6Itineraries"},
-    {"_ZL19CortexA8Itineraries", "CortexA8Itineraries"},
-    {"_ZL19CortexA9Itineraries", "CortexA9Itineraries"},
-    {"_ZL9NumExpand", "NumExpand"},
-    {"_ZL8NumVMovs", "NumVMovs"},
-    {"_ZL6NumITs", "NumITs"},
-    {"_ZL13NumMovedInsts", "NumMovedInsts"},
-    {"_ZL10NumNarrows", "NumNarrows"},
-    {"_ZL9Num2Addrs", "Num2Addrs"},
-    {"_ZL8NumLdSts", "NumLdSts"},
-    {"_ZN12_GLOBAL__N_1L11ReduceTableE", "(anonymous namespace)::ReduceTable"},
-    {"_ZL13NodesCombined", "NodesCombined"},
-    {"_ZL11OpsNarrowed", "OpsNarrowed"},
-    {"_ZL16PostIndexedNodes", "PostIndexedNodes"},
-    {"_ZL15PreIndexedNodes", "PreIndexedNodes"},
-    {"_ZL10LdStFP2Int", "LdStFP2Int"},
-    {"_ZL8NumNoops", "NumNoops"},
-    {"_ZL9NumStalls", "NumStalls"},
-    {"_ZL11NumPRCopies", "NumPRCopies"},
-    {"_ZL7NumDups", "NumDups"},
-    {"_ZL10NumUnfolds", "NumUnfolds"},
-    {"_ZL13NumBacktracks", "NumBacktracks"},
-    {"_ZL14LoadsClustered", "LoadsClustered"},
-    {"_ZL17NumDAGIselRetries", "NumDAGIselRetries"},
-    {"_ZL17NumFastIselBlocks", "NumFastIselBlocks"},
-    {"_ZL12NumDAGBlocks", "NumDAGBlocks"},
-    {"_ZL19NumFastIselFailures", "NumFastIselFailures"},
-    {"_ZL12EmittedInsts", "EmittedInsts"},
-    {"_ZL13NumBranchOpts", "NumBranchOpts"},
-    {"_ZL13NumDeadBlocks", "NumDeadBlocks"},
-    {"_ZL12NumTailMerge", "NumTailMerge"},
-    {"_ZL15NumLoopsAligned", "NumLoopsAligned"},
-    {"_ZL13NumIntraMoved", "NumIntraMoved"},
-    {"_ZL12NumIntraElim", "NumIntraElim"},
-    {"_ZL10NumDeletes", "NumDeletes"},
-    {"_ZL23NumExceptionValuesMoved", "NumExceptionValuesMoved"},
-    {"_ZL17NumUnwindsLowered", "NumUnwindsLowered"},
-    {"_ZL19NumLandingPadsSplit", "NumLandingPadsSplit"},
-    {"_ZL12NumIfConvBBs", "NumIfConvBBs"},
-    {"_ZL9NumDupBBs", "NumDupBBs"},
-    {"_ZL11NumDiamonds", "NumDiamonds"},
-    {"_ZL15NumTriangleFRev", "NumTriangleFRev"},
-    {"_ZL16NumTriangleFalse", "NumTriangleFalse"},
-    {"_ZL14NumTriangleRev", "NumTriangleRev"},
-    {"_ZL11NumTriangle", "NumTriangle"},
-    {"_ZL14NumSimpleFalse", "NumSimpleFalse"},
-    {"_ZL9NumSimple", "NumSimple"},
-    {"_ZL9numSplits", "numSplits"},
-    {"_ZL8numFolds", "numFolds"},
-    {"_ZL12numIntervals", "numIntervals"},
-    {"_ZL15NumReplacements", "NumReplacements"},
-    {"_ZL16NumBaseRegisters", "NumBaseRegisters"},
-    {"_ZL14NumAllocations", "NumAllocations"},
-    {"_ZL11NumCommutes", "NumCommutes"},
-    {"_ZL11NumPhysCSEs", "NumPhysCSEs"},
-    {"_ZL7NumCSEs", "NumCSEs"},
-    {"_ZL12NumCoalesces", "NumCoalesces"},
-    {"_ZL10NumHoisted", "NumHoisted"},
-    {"_ZL8NumCSEed", "NumCSEed"},
-    {"_ZL8NumLowRP", "NumLowRP"},
-    {"_ZL14NumHighLatency", "NumHighLatency"},
-    {"_ZL16NumPostRAHoisted", "NumPostRAHoisted"},
-    {"_ZL7NumSunk", "NumSunk"},
-    {"_ZL8NumSplit", "NumSplit"},
-    {"_ZL12NumCoalesces", "NumCoalesces"},
-    {"_ZL16NumDeadPHICycles", "NumDeadPHICycles"},
-    {"_ZL12NumPHICycles", "NumPHICycles"},
-    {"_ZL9NumReused", "NumReused"},
-    {"_ZL9NumAtomic", "NumAtomic"},
-    {"_ZL10NumImmFold", "NumImmFold"},
-    {"_ZL8NumReuse", "NumReuse"},
-    {"_ZL13NumEliminated", "NumEliminated"},
-    {"_ZL8NumNoops", "NumNoops"},
-    {"_ZL9NumStalls", "NumStalls"},
-    {"_ZL12NumFixedAnti", "NumFixedAnti"},
-    {"_ZL13NumDeadSpills", "NumDeadSpills"},
-    {"_ZL12NumRenumbers", "NumRenumbers"},
-    {"_ZL15NumRestoreFolds", "NumRestoreFolds"},
-    {"_ZL8NumFolds", "NumFolds"},
-    {"_ZL9NumRemats", "NumRemats"},
-    {"_ZL9NumSplits", "NumSplits"},
-    {"_ZL16NumScavengedRegs", "NumScavengedRegs"},
-    {"_ZL19NumVirtualFrameRegs", "NumVirtualFrameRegs"},
-    {"_ZL9NumCopies", "NumCopies"},
-    {"_ZL9NumStores", "NumStores"},
-    {"_ZL8NumLoads", "NumLoads"},
-    {"_ZL11NumCoalesce", "NumCoalesce"},
-    {"_ZL13NumBacktracks", "NumBacktracks"},
-    {"_ZL12NumDowngrade", "NumDowngrade"},
-    {"_ZL8NumIters", "NumIters"},
-    {"_ZL12numSRReduced", "numSRReduced"},
-    {"_ZL7numPeep", "numPeep"},
-    {"_ZL8numJoins", "numJoins"},
-    {"_ZL11numCrossRCs", "numCrossRCs"},
-    {"_ZL9numAborts", "numAborts"},
-    {"_ZL12numDeadValNo", "numDeadValNo"},
-    {"_ZL9NumReMats", "NumReMats"},
-    {"_ZL11numCommutes", "numCommutes"},
-    {"_ZL10numExtends", "numExtends"},
-    {"_ZL10NumSpilled", "NumSpilled"},
-    {"_ZL10NumUnwinds", "NumUnwinds"},
-    {"_ZL10NumInvokes", "NumInvokes"},
-    {"_ZL7NumDead", "NumDead"},
-    {"_ZL12NumStoreElim", "NumStoreElim"},
-    {"_ZL10NumRegRepl", "NumRegRepl"},
-    {"_ZL11NumLoadElim", "NumLoadElim"},
-    {"_ZL13NumEliminated", "NumEliminated"},
-    {"_ZL13NumDeadBlocks", "NumDeadBlocks"},
-    {"_ZL12NumInstrDups", "NumInstrDups"},
-    {"_ZL11NumTailDups", "NumTailDups"},
-    {"_ZL8NumTails", "NumTails"},
-    {"_ZL9NumReMats", "NumReMats"},
-    {"_ZL19NumConvertedTo3Addr", "NumConvertedTo3Addr"},
-    {"_ZL12Num3AddrSunk", "Num3AddrSunk"},
-    {"_ZL15NumAggrCommuted", "NumAggrCommuted"},
-    {"_ZL11NumCommuted", "NumCommuted"},
-    {"_ZL10NumDeletes", "NumDeletes"},
-    {"_ZL19NumTwoAddressInstrs", "NumTwoAddressInstrs"},
-    {"_ZL9NumSpills", "NumSpills"},
-    {"_ZL6NumDSS", "NumDSS"},
-    {"_ZL9NumStores", "NumStores"},
-    {"_ZL6NumDRM", "NumDRM"},
-    {"_ZL9NumReused", "NumReused"},
-    {"_ZL8NumLoads", "NumLoads"},
-    {"_ZL9NumReMats", "NumReMats"},
-    {"_ZL6NumDCE", "NumDCE"},
-    {"_ZL11NumCommutes", "NumCommutes"},
-    {"_ZL6NumDSE", "NumDSE"},
-    {"_ZL10NumSUnfold", "NumSUnfold"},
-    {"_ZL10NumAvoided", "NumAvoided"},
-    {"_ZL11NumCopified", "NumCopified"},
-    {"_ZL10NumOmitted", "NumOmitted"},
-    {"_ZL10NumPSpills", "NumPSpills"},
-    {"_ZL15NumModRefUnfold", "NumModRefUnfold"},
-    {"_ZL10NumRemoved", "NumRemoved"},
-    {"_ZL11NumGEPsElim", "NumGEPsElim"},
-    {"_ZL14NumMemoryInsts", "NumMemoryInsts"},
-    {"_ZL10NumCmpUses", "NumCmpUses"},
-    {"_ZL10NumExtUses", "NumExtUses"},
-    {"_ZL12NumExtsMoved", "NumExtsMoved"},
-    {"_ZL11NumCastUses", "NumCastUses"},
-    {"_ZL11NumPHIsElim", "NumPHIsElim"},
-    {"_ZL13NumBlocksElim", "NumBlocksElim"},
-    {"_ZL12NumMemAccess", "NumMemAccess"},
-    {"_ZL7NumCmps", "NumCmps"},
-    {"_ZL7NumPhis", "NumPhis"},
-    {"_ZL10NumSelects", "NumSelects"},
-    {"_ZL12NumFastOther", "NumFastOther"},
-    {"_ZL13NumFastStores", "NumFastStores"},
-    {"_ZL6NumDSE", "NumDSE"},
-    {"_ZL10NumCSECall", "NumCSECall"},
-    {"_ZL10NumCSELoad", "NumCSELoad"},
-    {"_ZL6NumCSE", "NumCSE"},
-    {"_ZL11NumSimplify", "NumSimplify"},
-    {"_ZL9NumGVNPRE", "NumGVNPRE"},
-    {"_ZL11NumGVNInstr", "NumGVNInstr"},
-    {"_ZL10NumPRELoad", "NumPRELoad"},
-    {"_ZL10NumGVNLoad", "NumGVNLoad"},
-    {"_ZL12NumGVNBlocks", "NumGVNBlocks"},
-    {"_ZL10NumRemoved", "NumRemoved"},
-    {"_ZL7NumLFTR", "NumLFTR"},
-    {"_ZL11NumInserted", "NumInserted"},
-    {"_ZL11NumReplaced", "NumReplaced"},
-    {"_ZL8NumDupes", "NumDupes"},
-    {"_ZL10NumThreads", "NumThreads"},
-    {"_ZL8NumFolds", "NumFolds"},
-    {"_ZL11NumPromoted", "NumPromoted"},
-    {"_ZL10NumHoisted", "NumHoisted"},
-    {"_ZL13NumMovedCalls", "NumMovedCalls"},
-    {"_ZL13NumMovedLoads", "NumMovedLoads"},
-    {"_ZL7NumSunk", "NumSunk"},
-    {"_ZL10NumDeleted", "NumDeleted"},
-    {"_ZL9NumMemSet", "NumMemSet"},
-    {"_ZL9NumMemCpy", "NumMemCpy"},
-    {"_ZL10NumRotated", "NumRotated"},
-    {"_ZL10NumSelects", "NumSelects"},
-    {"_ZL11NumSwitches", "NumSwitches"},
-    {"_ZL11NumBranches", "NumBranches"},
-    {"_ZL11NumSimplify", "NumSimplify"},
-    {"_ZL10NumTrivial", "NumTrivial"},
-    {"_ZL14NumMemCpyInstr", "NumMemCpyInstr"},
-    {"_ZL12NumMoveToCpy", "NumMoveToCpy"},
-    {"_ZL11NumCpyToSet", "NumCpyToSet"},
-    {"_ZL14NumMemSetInfer", "NumMemSetInfer"},
-    {"_ZL10NumChanged", "NumChanged"},
-    {"_ZL10NumAnnihil", "NumAnnihil"},
-    {"_ZL9NumFactor", "NumFactor"},
-    {"_ZL9NumLinear", "NumLinear"},
-    {"_ZL16IPNumGlobalConst", "IPNumGlobalConst"},
-    {"_ZL16IPNumInstRemoved", "IPNumInstRemoved"},
-    {"_ZL14NumInstRemoved", "NumInstRemoved"},
-    {"_ZL13NumDeadBlocks", "NumDeadBlocks"},
-    {"_ZL15IPNumArgsElimed", "IPNumArgsElimed"},
-    {"_ZL12NumConverted", "NumConverted"},
-    {"_ZL11NumReplaced", "NumReplaced"},
-    {"_ZL10NumGlobals", "NumGlobals"},
-    {"_ZL11NumPromoted", "NumPromoted"},
-    {"_ZL11NumAdjusted", "NumAdjusted"},
-    {"_ZL8NumSimpl", "NumSimpl"},
-    {"_ZL13NumSimplified", "NumSimplified"},
-    {"_ZL12NumAnnotated", "NumAnnotated"},
-    {"_ZL11NumRetDuped", "NumRetDuped"},
-    {"_ZL13NumEliminated", "NumEliminated"},
-    {"_ZL13NumAccumAdded", "NumAccumAdded"},
-    {"_ZL12NumDeadStore", "NumDeadStore"},
-    {"_ZL11NumCombined", "NumCombined"},
-    {"_ZL11NumSunkInst", "NumSunkInst"},
-    {"_ZL12NumConstProp", "NumConstProp"},
-    {"_ZL11NumDeadInst", "NumDeadInst"},
-    {"_ZL9NumExpand", "NumExpand"},
-    {"_ZL9NumFactor", "NumFactor"},
-    {"_ZL10NumReassoc", "NumReassoc"},
-    {"_ZL9NumBroken", "NumBroken"},
-    {"_ZL8NumLCSSA", "NumLCSSA"},
-    {"_ZL9NumNested", "NumNested"},
-    {"_ZL11NumInserted", "NumInserted"},
-    {"_ZL11NumUnrolled", "NumUnrolled"},
-    {"_ZL21NumCompletelyUnrolled", "NumCompletelyUnrolled"},
-    {"_ZL10NumUnwinds", "NumUnwinds"},
-    {"_ZL10NumInvokes", "NumInvokes"},
-    {"_ZL10NumSpilled", "NumSpilled"},
-    {"_ZL12NumPHIInsert", "NumPHIInsert"},
-    {"_ZL16NumLocalPromoted", "NumLocalPromoted"},
-    {"_ZL14NumSingleStore", "NumSingleStore"},
-    {"_ZL13NumDeadAlloca", "NumDeadAlloca"},
-    {"_ZL15NumSpeculations", "NumSpeculations"},
-    {"_ZL16MaxSCCIterations", "MaxSCCIterations"},
-    {"_ZL10NumReassoc", "NumReassoc"},
-    {"_ZL9NumFactor", "NumFactor"},
-    {"_ZL9NumExpand", "NumExpand"},
-    {"_ZL27NumCacheCompleteNonLocalPtr", "NumCacheCompleteNonLocalPtr"},
-    {"_ZL21NumUncacheNonLocalPtr", "NumUncacheNonLocalPtr"},
-    {"_ZL24NumCacheDirtyNonLocalPtr", "NumCacheDirtyNonLocalPtr"},
-    {"_ZL19NumCacheNonLocalPtr", "NumCacheNonLocalPtr"},
-    {"_ZL18NumUncacheNonLocal", "NumUncacheNonLocal"},
-    {"_ZL21NumCacheDirtyNonLocal", "NumCacheDirtyNonLocal"},
-    {"_ZL16NumCacheNonLocal", "NumCacheNonLocal"},
-    {"_ZL31NumBruteForceTripCountsComputed", "NumBruteForceTripCountsComputed"},
-    {"_ZL19NumArrayLenItCounts", "NumArrayLenItCounts"},
-    {"_ZL24NumTripCountsNotComputed", "NumTripCountsNotComputed"},
-    {"_ZL21NumTripCountsComputed", "NumTripCountsComputed"},
-    {"_ZN12_GLOBAL__N_15statsL15RelaxationStepsE", "(anonymous namespace)::stats::RelaxationSteps"},
-    {"_ZN12_GLOBAL__N_15statsL19RelaxedInstructionsE", "(anonymous namespace)::stats::RelaxedInstructions"},
-    {"_ZN12_GLOBAL__N_15statsL11ObjectBytesE", "(anonymous namespace)::stats::ObjectBytes"},
-    {"_ZN12_GLOBAL__N_15statsL16EmittedFragmentsE", "(anonymous namespace)::stats::EmittedFragments"},
-    {"_ZN12_GLOBAL__N_15statsL15FragmentLayoutsE", "(anonymous namespace)::stats::FragmentLayouts"},
-    {"_ZN12_GLOBAL__N_15statsL13EvaluateFixupE", "(anonymous namespace)::stats::EvaluateFixup"},
-    {"_ZN12_GLOBAL__N_15statsL14MCExprEvaluateE", "(anonymous namespace)::stats::MCExprEvaluate"},
-    {"_ZL11ProgramName", "ProgramName"},
-    {"_ZL20ActiveASTUnitObjects", "ActiveASTUnitObjects"},
-    {"_ZL12ConstEqIndex", "ConstEqIndex"},
-    {"_ZL15ConstNotEqIndex", "ConstNotEqIndex"},
-    {"_ZL11AutoRCIndex", "AutoRCIndex"},
-    {"_ZL11AutoRBIndex", "AutoRBIndex"},
-    {"_ZL20ConstraintRangeIndex", "ConstraintRangeIndex"},
-    {"_ZL12nAccessSpecs", "nAccessSpecs"},
-    {"_ZL7nBlocks", "nBlocks"},
-    {"_ZL14nFileScopeAsms", "nFileScopeAsms"},
-    {"_ZL8nFriends", "nFriends"},
-    {"_ZL16nFriendTemplates", "nFriendTemplates"},
-    {"_ZL13nLinkageSpecs", "nLinkageSpecs"},
-    {"_ZL11nNamespaces", "nNamespaces"},
-    {"_ZL16nNamespaceAliass", "nNamespaceAliass"},
-    {"_ZL21nObjCCompatibleAliass", "nObjCCompatibleAliass"},
-    {"_ZL14nObjCCategorys", "nObjCCategorys"},
-    {"_ZL18nObjCCategoryImpls", "nObjCCategoryImpls"},
-    {"_ZL20nObjCImplementations", "nObjCImplementations"},
-    {"_ZL15nObjCInterfaces", "nObjCInterfaces"},
-    {"_ZL14nObjCProtocols", "nObjCProtocols"},
-    {"_ZL12nObjCMethods", "nObjCMethods"},
-    {"_ZL14nObjCPropertys", "nObjCPropertys"},
-    {"_ZL15nClassTemplates", "nClassTemplates"},
-    {"_ZL18nFunctionTemplates", "nFunctionTemplates"},
-    {"_ZL22nTemplateTemplateParms", "nTemplateTemplateParms"},
-    {"_ZL6nEnums", "nEnums"},
-    {"_ZL8nRecords", "nRecords"},
-    {"_ZL11nCXXRecords", "nCXXRecords"},
-    {"_ZL29nClassTemplateSpecializations", "nClassTemplateSpecializations"},
-    {"_ZL36nClassTemplatePartialSpecializations", "nClassTemplatePartialSpecializations"},
-    {"_ZL18nTemplateTypeParms", "nTemplateTypeParms"},
-    {"_ZL9nTypedefs", "nTypedefs"},
-    {"_ZL25nUnresolvedUsingTypenames", "nUnresolvedUsingTypenames"},
-    {"_ZL7nUsings", "nUsings"},
-    {"_ZL16nUsingDirectives", "nUsingDirectives"},
-    {"_ZL13nUsingShadows", "nUsingShadows"},
-    {"_ZL7nFields", "nFields"},
-    {"_ZL17nObjCAtDefsFields", "nObjCAtDefsFields"},
-    {"_ZL10nObjCIvars", "nObjCIvars"},
-    {"_ZL10nFunctions", "nFunctions"},
-    {"_ZL11nCXXMethods", "nCXXMethods"},
-    {"_ZL16nCXXConstructors", "nCXXConstructors"},
-    {"_ZL15nCXXConversions", "nCXXConversions"},
-    {"_ZL15nCXXDestructors", "nCXXDestructors"},
-    {"_ZL21nNonTypeTemplateParms", "nNonTypeTemplateParms"},
-    {"_ZL5nVars", "nVars"},
-    {"_ZL15nImplicitParams", "nImplicitParams"},
-    {"_ZL9nParmVars", "nParmVars"},
-    {"_ZL14nEnumConstants", "nEnumConstants"},
-    {"_ZL15nIndirectFields", "nIndirectFields"},
-    {"_ZL22nUnresolvedUsingValues", "nUnresolvedUsingValues"},
-    {"_ZL11nObjCClasss", "nObjCClasss"},
-    {"_ZL21nObjCForwardProtocols", "nObjCForwardProtocols"},
-    {"_ZL18nObjCPropertyImpls", "nObjCPropertyImpls"},
-    {"_ZL14nStaticAsserts", "nStaticAsserts"},
-    {"_ZL17nTranslationUnits", "nTranslationUnits"},
-    {"_ZL13StmtClassInfo", "StmtClassInfo"},
-    {"_ZL11InlineLimit", "InlineLimit"},
-    {"_ZL13HintThreshold", "HintThreshold"},
-    {"_ZL13Disable256Bit", "Disable256Bit"},
-    {"_ZL8NoFusing", "NoFusing"},
-    {"_ZL17PrintFailedFusing", "PrintFailedFusing"},
-    {"_ZL16ReMatPICStubLoad", "ReMatPICStubLoad"},
-    {"_ZL19JITCompilerFunction", "JITCompilerFunction"},
-    {"_ZL15AsmWriterFlavor", "AsmWriterFlavor"},
-    {"_ZN4llvm12_GLOBAL__N_1L6CCRVTsE", "llvm::(anonymous namespace)::CCRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L14CONTROL_REGVTsE", "llvm::(anonymous namespace)::CONTROL_REGVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L12DEBUG_REGVTsE", "llvm::(anonymous namespace)::DEBUG_REGVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7FR32VTsE", "llvm::(anonymous namespace)::FR32VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7FR64VTsE", "llvm::(anonymous namespace)::FR64VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7GR16VTsE", "llvm::(anonymous namespace)::GR16VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L12GR16_ABCDVTsE", "llvm::(anonymous namespace)::GR16_ABCDVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L13GR16_NOREXVTsE", "llvm::(anonymous namespace)::GR16_NOREXVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7GR32VTsE", "llvm::(anonymous namespace)::GR32VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L12GR32_ABCDVTsE", "llvm::(anonymous namespace)::GR32_ABCDVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR32_ADVTsE", "llvm::(anonymous namespace)::GR32_ADVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L13GR32_NOREXVTsE", "llvm::(anonymous namespace)::GR32_NOREXVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L12GR32_NOSPVTsE", "llvm::(anonymous namespace)::GR32_NOSPVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR32_TCVTsE", "llvm::(anonymous namespace)::GR32_TCVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7GR64VTsE", "llvm::(anonymous namespace)::GR64VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L12GR64_ABCDVTsE", "llvm::(anonymous namespace)::GR64_ABCDVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L13GR64_NOREXVTsE", "llvm::(anonymous namespace)::GR64_NOREXVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L18GR64_NOREX_NOSPVTsE", "llvm::(anonymous namespace)::GR64_NOREX_NOSPVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L12GR64_NOSPVTsE", "llvm::(anonymous namespace)::GR64_NOSPVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L10GR64_TCVTsE", "llvm::(anonymous namespace)::GR64_TCVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L13GR64_TCW64VTsE", "llvm::(anonymous namespace)::GR64_TCW64VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L6GR8VTsE", "llvm::(anonymous namespace)::GR8VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L13GR8_ABCD_HVTsE", "llvm::(anonymous namespace)::GR8_ABCD_HVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L13GR8_ABCD_LVTsE", "llvm::(anonymous namespace)::GR8_ABCD_LVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L12GR8_NOREXVTsE", "llvm::(anonymous namespace)::GR8_NOREXVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8RFP32VTsE", "llvm::(anonymous namespace)::RFP32VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8RFP64VTsE", "llvm::(anonymous namespace)::RFP64VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8RFP80VTsE", "llvm::(anonymous namespace)::RFP80VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L6RSTVTsE", "llvm::(anonymous namespace)::RSTVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L14SEGMENT_REGVTsE", "llvm::(anonymous namespace)::SEGMENT_REGVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8VR128VTsE", "llvm::(anonymous namespace)::VR128VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8VR256VTsE", "llvm::(anonymous namespace)::VR256VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7VR64VTsE", "llvm::(anonymous namespace)::VR64VTs"},
-    {"_ZL14EnableARM3Addr", "EnableARM3Addr"},
-    {"_ZL20ForceAllBaseRegAlloc", "ForceAllBaseRegAlloc"},
-    {"_ZL21EnableLocalStackAlloc", "EnableLocalStackAlloc"},
-    {"_ZL17EnableBasePointer", "EnableBasePointer"},
-    {"_ZN4llvm12_GLOBAL__N_1L6CCRVTsE", "llvm::(anonymous namespace)::CCRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L6DPRVTsE", "llvm::(anonymous namespace)::DPRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8DPR_8VTsE", "llvm::(anonymous namespace)::DPR_8VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L11DPR_VFP2VTsE", "llvm::(anonymous namespace)::DPR_VFP2VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L6GPRVTsE", "llvm::(anonymous namespace)::GPRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L6QPRVTsE", "llvm::(anonymous namespace)::QPRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8QPR_8VTsE", "llvm::(anonymous namespace)::QPR_8VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L11QPR_VFP2VTsE", "llvm::(anonymous namespace)::QPR_VFP2VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7QQPRVTsE", "llvm::(anonymous namespace)::QQPRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L12QQPR_VFP2VTsE", "llvm::(anonymous namespace)::QQPR_VFP2VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L9QQQQPRVTsE", "llvm::(anonymous namespace)::QQQQPRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L6SPRVTsE", "llvm::(anonymous namespace)::SPRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8SPR_8VTsE", "llvm::(anonymous namespace)::SPR_8VTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7rGPRVTsE", "llvm::(anonymous namespace)::rGPRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L7tGPRVTsE", "llvm::(anonymous namespace)::tGPRVTs"},
-    {"_ZN4llvm12_GLOBAL__N_1L8tcGPRVTsE", "llvm::(anonymous namespace)::tcGPRVTs"},
-    {"_ZL21AdjustJumpTableBlocks", "AdjustJumpTableBlocks"},
-    {"_ZL18DisableARMFastISel", "DisableARMFastISel"},
-    {"_ZL16DisableShifterOp", "DisableShifterOp"},
-    {"_ZL15CheckVMLxHazard", "CheckVMLxHazard"},
-    {"_ZL18EnableARMTailCalls", "EnableARMTailCalls"},
-    {"_ZL15ARMInterworking", "ARMInterworking"},
-    {"_ZL19JITCompilerFunction", "JITCompilerFunction"},
-    {"_ZL9ReserveR9", "ReserveR9"},
-    {"_ZL13DarwinUseMOVT", "DarwinUseMOVT"},
-    {"_ZL11StrictAlign", "StrictAlign"},
-    {"_ZL9ExpandMLx", "ExpandMLx"},
-    {"_ZL11ForceExapnd", "ForceExapnd"},
-    {"_ZL11ExpandLimit", "ExpandLimit"},
-    {"_ZL10OldT2IfCvt", "OldT2IfCvt"},
-    {"_ZL11ReduceLimit", "ReduceLimit"},
-    {"_ZL16ReduceLimit2Addr", "ReduceLimit2Addr"},
-    {"_ZL15ReduceLimitLdSt", "ReduceLimitLdSt"},
-    {"_ZN12_GLOBAL__N_1L10CombinerAAE", "(anonymous namespace)::CombinerAA"},
-    {"_ZN12_GLOBAL__N_1L16CombinerGlobalAAE", "(anonymous namespace)::CombinerGlobalAA"},
-    {"_ZL21EnableExpensiveChecks", "EnableExpensiveChecks"},
-    {"_ZL18tdListDAGScheduler", "tdListDAGScheduler"},
-    {"_ZL20burrListDAGScheduler", "burrListDAGScheduler"},
-    {"_ZL20tdrListrDAGScheduler", "tdrListrDAGScheduler"},
-    {"_ZL22sourceListDAGScheduler", "sourceListDAGScheduler"},
-    {"_ZL22hybridListDAGScheduler", "hybridListDAGScheduler"},
-    {"_ZL19ILPListDAGScheduler", "ILPListDAGScheduler"},
-    {"_ZL18DisableSchedCycles", "DisableSchedCycles"},
-    {"_ZL4EVTs", "EVTs"},
-    {"_ZL13SimpleVTArray", "SimpleVTArray"},
-    {"_ZL7VTMutex", "VTMutex"},
-    {"_ZL16LimitFPPrecision", "LimitFPPrecision"},
-    {"_ZL19LimitFloatPrecision", "LimitFloatPrecision"},
-    {"_ZL17MaxParallelChains", "MaxParallelChains"},
-    {"_ZL21EnableFastISelVerbose", "EnableFastISelVerbose"},
-    {"_ZL19EnableFastISelAbort", "EnableFastISelAbort"},
-    {"_ZL11ISHeuristic", "ISHeuristic"},
-    {"_ZL23defaultListDAGScheduler", "defaultListDAGScheduler"},
-    {"_ZL13PrintDbgScope", "PrintDbgScope"},
-    {"_ZL24DisableDebugInfoPrinting", "DisableDebugInfoPrinting"},
-    {"_ZL16UnknownLocations", "UnknownLocations"},
-    {"_ZL8DebugDiv", "DebugDiv"},
-    {"_ZL8DebugMod", "DebugMod"},
-    {"_ZL19FlagEnableTailMerge", "FlagEnableTailMerge"},
-    {"_ZL18TailMergeThreshold", "TailMergeThreshold"},
-    {"_ZL13TailMergeSize", "TailMergeSize"},
-    {"_ZL15ViewEdgeBundles", "ViewEdgeBundles"},
-    {"_ZL12IfCvtFnStart", "IfCvtFnStart"},
-    {"_ZL11IfCvtFnStop", "IfCvtFnStop"},
-    {"_ZL10IfCvtLimit", "IfCvtLimit"},
-    {"_ZL13DisableSimple", "DisableSimple"},
-    {"_ZL14DisableSimpleF", "DisableSimpleF"},
-    {"_ZL15DisableTriangle", "DisableTriangle"},
-    {"_ZL16DisableTriangleR", "DisableTriangleR"},
-    {"_ZL16DisableTriangleF", "DisableTriangleF"},
-    {"_ZL17DisableTriangleFR", "DisableTriangleFR"},
-    {"_ZL14DisableDiamond", "DisableDiamond"},
-    {"_ZL15IfCvtBranchFold", "IfCvtBranchFold"},
-    {"_ZL12VerifySpills", "VerifySpills"},
-    {"_ZL13DisablePostRA", "DisablePostRA"},
-    {"_ZL17DisableBranchFold", "DisableBranchFold"},
-    {"_ZL20DisableTailDuplicate", "DisableTailDuplicate"},
-    {"_ZL19DisableEarlyTailDup", "DisableEarlyTailDup"},
-    {"_ZL16DisableCodePlace", "DisableCodePlace"},
-    {"_ZL10DisableSSC", "DisableSSC"},
-    {"_ZL18DisableMachineLICM", "DisableMachineLICM"},
-    {"_ZL24DisablePostRAMachineLICM", "DisablePostRAMachineLICM"},
-    {"_ZL18DisableMachineSink", "DisableMachineSink"},
-    {"_ZL10DisableLSR", "DisableLSR"},
-    {"_ZL10DisableCGP", "DisableCGP"},
-    {"_ZL8PrintLSR", "PrintLSR"},
-    {"_ZL14PrintISelInput", "PrintISelInput"},
-    {"_ZL11PrintGCInfo", "PrintGCInfo"},
-    {"_ZL14ShowMCEncoding", "ShowMCEncoding"},
-    {"_ZL10ShowMCInst", "ShowMCInst"},
-    {"_ZL15EnableMCLogging", "EnableMCLogging"},
-    {"_ZL17VerifyMachineCode", "VerifyMachineCode"},
-    {"_ZL10AsmVerbose", "AsmVerbose"},
-    {"_ZL20EnableFastISelOption", "EnableFastISelOption"},
-    {"_ZL17EnableSplitGEPGVN", "EnableSplitGEPGVN"},
-    {"_ZL9EnableLDV", "EnableLDV"},
-    {"_ZL12DisableReMat", "DisableReMat"},
-    {"_ZL10SplitEdges", "SplitEdges"},
-    {"_ZL15defaultRegAlloc", "defaultRegAlloc"},
-    {"_ZL8RegAlloc", "RegAlloc"},
-    {"_ZL10Aggressive", "Aggressive"},
-    {"_ZL15DisablePeephole", "DisablePeephole"},
-    {"_ZL21EnablePostRAScheduler", "EnablePostRAScheduler"},
-    {"_ZL21EnableAntiDepBreaking", "EnableAntiDepBreaking"},
-    {"_ZL8DebugDiv", "DebugDiv"},
-    {"_ZL8DebugMod", "DebugMod"},
-    {"_ZL13PreSplitLimit", "PreSplitLimit"},
-    {"_ZL14DeadSplitLimit", "DeadSplitLimit"},
-    {"_ZL16RestoreFoldLimit", "RestoreFoldLimit"},
-    {"_ZN12_GLOBAL__N_1L10PSVGlobalsE", "(anonymous namespace)::PSVGlobals"},
-    {"_ZL12fastRegAlloc", "fastRegAlloc"},
-    {"_ZL12NewHeuristic", "NewHeuristic"},
-    {"_ZL17PreSplitIntervals", "PreSplitIntervals"},
-    {"_ZL16TrivCoalesceEnds", "TrivCoalesceEnds"},
-    {"_ZL18linearscanRegAlloc", "linearscanRegAlloc"},
-    {"_ZN12_GLOBAL__N_1L19NumRecentlyUsedRegsE", "(anonymous namespace)::NumRecentlyUsedRegs"},
-    {"_ZL14ShrinkWrapping", "ShrinkWrapping"},
-    {"_ZL14ShrinkWrapFunc", "ShrinkWrapFunc"},
-    {"_ZL19ShrinkWrapDebugging", "ShrinkWrapDebugging"},
-    {"_ZL13EnableJoining", "EnableJoining"},
-    {"_ZL21DisableCrossClassJoin", "DisableCrossClassJoin"},
-    {"_ZL19DisablePhysicalJoin", "DisablePhysicalJoin"},
-    {"_ZL16VerifyCoalescing", "VerifyCoalescing"},
-    {"_ZL10spillerOpt", "spillerOpt"},
-    {"_ZL13SSPBufferSize", "SSPBufferSize"},
-    {"_ZL14DisableSharing", "DisableSharing"},
-    {"_ZL16ColorWithRegsOpt", "ColorWithRegsOpt"},
-    {"_ZL8DCELimit", "DCELimit"},
-    {"_ZL17TailDuplicateSize", "TailDuplicateSize"},
-    {"_ZL13TailDupVerify", "TailDupVerify"},
-    {"_ZL12TailDupLimit", "TailDupLimit"},
-    {"_ZL23DisableHazardRecognizer", "DisableHazardRecognizer"},
-    {"_ZL11RewriterOpt", "RewriterOpt"},
-    {"_ZL14ScheduleSpills", "ScheduleSpills"},
-    {"_ZL17CriticalEdgeSplit", "CriticalEdgeSplit"},
-    {"_ZL9EnablePRE", "EnablePRE"},
-    {"_ZL13EnableLoadPRE", "EnableLoadPRE"},
-    {"_ZL9Threshold", "Threshold"},
-    {"_ZL16DisablePromotion", "DisablePromotion"},
-    {"_ZL15UnrollThreshold", "UnrollThreshold"},
-    {"_ZL11UnrollCount", "UnrollCount"},
-    {"_ZL18UnrollAllowPartial", "UnrollAllowPartial"},
-    {"_ZL9Threshold", "Threshold"},
-    {"_ZL18ExpensiveEHSupport", "ExpensiveEHSupport"},
-    {"_ZL6DupRet", "DupRet"},
-    {"_ZL13MaxIterations", "MaxIterations"},
-    {"_ZL14VerifyLoopInfo", "VerifyLoopInfo"},
-    {"_ZL15VerifyLoopInfoX", "VerifyLoopInfoX"},
-    {"_ZL23MaxBruteForceIterations", "MaxBruteForceIterations"},
-    {"_ZL10EnableTBAA", "EnableTBAA"},
-    {"_ZL9PrintCode", "PrintCode"},
-    {"_ZL13DisableFPElim", "DisableFPElim"},
-    {"_ZL20DisableFPElimNonLeaf", "DisableFPElimNonLeaf"},
-    {"_ZL22DisableExcessPrecision", "DisableExcessPrecision"},
-    {"_ZL11EnableFPMAD", "EnableFPMAD"},
-    {"_ZL18EnableUnsafeFPMath", "EnableUnsafeFPMath"},
-    {"_ZL18EnableNoInfsFPMath", "EnableNoInfsFPMath"},
-    {"_ZL18EnableNoNaNsFPMath", "EnableNoNaNsFPMath"},
-    {"_ZL38EnableHonorSignDependentRoundingFPMath", "EnableHonorSignDependentRoundingFPMath"},
-    {"_ZL22GenerateSoftFloatCalls", "GenerateSoftFloatCalls"},
-    {"_ZL16FloatABIForCalls", "FloatABIForCalls"},
-    {"_ZL19DontPlaceZerosInBSS", "DontPlaceZerosInBSS"},
-    {"_ZL26EnableJITExceptionHandling", "EnableJITExceptionHandling"},
-    {"_ZL16EmitJitDebugInfo", "EmitJitDebugInfo"},
-    {"_ZL22EmitJitDebugInfoToDisk", "EmitJitDebugInfoToDisk"},
-    {"_ZL18EnableUnwindTables", "EnableUnwindTables"},
-    {"_ZL18DefRelocationModel", "DefRelocationModel"},
-    {"_ZL12DefCodeModel", "DefCodeModel"},
-    {"_ZL27EnableGuaranteedTailCallOpt", "EnableGuaranteedTailCallOpt"},
-    {"_ZL22OverrideStackAlignment", "OverrideStackAlignment"},
-    {"_ZL18EnableRealignStack", "EnableRealignStack"},
-    {"_ZL19DisableSwitchTables", "DisableSwitchTables"},
-    {"_ZL19EnableStrongPHIElim", "EnableStrongPHIElim"},
-    {"_ZL12DataSections", "DataSections"},
-    {"_ZL16FunctionSections", "FunctionSections"},
-    {"_ZL15AttributesLists", "AttributesLists"},
-    {"_ZN4llvmL7ALMutexE", "llvm::ALMutex"},
-    {"_ZL13VerifyDomInfo", "VerifyDomInfo"},
-    {"_ZL14VerifyDomInfoX", "VerifyDomInfoX"},
-    {"_ZL6GCLock", "GCLock"},
-    {"_ZL7GCNames", "GCNames"},
-    {"_ZL10GCNamePool", "GCNamePool"},
-    {"_ZL13GlobalContext", "GlobalContext"},
-    {"_ZN4llvmL13PassDebuggingE", "llvm::PassDebugging"},
-    {"_ZN4llvmL11PrintBeforeE", "llvm::PrintBefore"},
-    {"_ZN4llvmL10PrintAfterE", "llvm::PrintAfter"},
-    {"_ZN4llvmL14PrintBeforeAllE", "llvm::PrintBeforeAll"},
-    {"_ZN4llvmL13PrintAfterAllE", "llvm::PrintAfterAll"},
-    {"_ZN12_GLOBAL__N_1L15TimingInfoMutexE", "(anonymous namespace)::TimingInfoMutex"},
-    {"_ZL12EnableTiming", "EnableTiming"},
-    {"_ZL11TheTimeInfo", "TheTimeInfo"},
-    {"_ZL15PassRegistryObj", "PassRegistryObj"},
-    {"_ZL4Lock", "Lock"},
-    {"_ZL8MoreHelp", "MoreHelp"},
-    {"_ZL20RegisteredOptionList", "RegisteredOptionList"},
-    {"_ZL15ProgramOverview", "ProgramOverview"},
-    {"_ZL13NormalPrinter", "NormalPrinter"},
-    {"_ZL13HiddenPrinter", "HiddenPrinter"},
-    {"_ZL3HOp", "HOp"},
-    {"_ZL4HHOp", "HHOp"},
-    {"_ZL6VersOp", "VersOp"},
-    {"_ZL22VersionPrinterInstance", "VersionPrinterInstance"},
-    {"_ZL22OverrideVersionPrinter", "OverrideVersionPrinter"},
-    {"_ZN12_GLOBAL__N_1L14CurrentContextE", "(anonymous namespace)::CurrentContext"},
-    {"_ZL25gCrashRecoveryContexMutex", "gCrashRecoveryContexMutex"},
-    {"_ZL11PrevActions", "PrevActions"},
-    {"_ZL5Dummy", "Dummy"},
-    {"_ZL15ExplicitSymbols", "ExplicitSymbols"},
-    {"_ZL13OpenedHandles", "OpenedHandles"},
-    {"_ZL12ErrorHandler", "ErrorHandler"},
-    {"_ZL20ErrorHandlerUserData", "ErrorHandlerUserData"},
-    {"_ZL10StaticList", "StaticList"},
-    {"_ZN12_GLOBAL__N_1L7successE", "(anonymous namespace)::success"},
-    {"_ZN12_GLOBAL__N_1L10separatorsE", "(anonymous namespace)::separators"},
-    {"_ZN12_GLOBAL__N_1L7successE", "(anonymous namespace)::success"},
-    {"_ZL20PrettyStackTraceHead", "PrettyStackTraceHead"},
-    {"_ZL12SignalsMutex", "SignalsMutex"},
-    {"_ZL13FilesToRemove", "FilesToRemove"},
-    {"_ZL14CallBacksToRun", "CallBacksToRun"},
-    {"_ZL17InterruptFunction", "InterruptFunction"},
-    {"_ZL20NumRegisteredSignals", "NumRegisteredSignals"},
-    {"_ZL20RegisteredSignalInfo", "RegisteredSignalInfo"},
-    {"_ZL7Enabled", "Enabled"},
-    {"_ZL8StatInfo", "StatInfo"},
-    {"_ZL8StatLock", "StatLock"},
-    {"_ZL11FirstTarget", "FirstTarget"},
-    {"_ZL11global_lock", "global_lock"},
-    {"_ZL28LibSupportInfoOutputFilename", "LibSupportInfoOutputFilename"},
-    {"_ZL9TimerLock", "TimerLock"},
-    {"_ZN12_GLOBAL__N_1L10TrackSpaceE", "(anonymous namespace)::TrackSpace"},
-    {"_ZN12_GLOBAL__N_1L18InfoOutputFilenameE", "(anonymous namespace)::InfoOutputFilename"},
-    {"_ZL12ActiveTimers", "ActiveTimers"},
-    {"_ZL11NamedTimers", "NamedTimers"},
-    {"_ZL18NamedGroupedTimers", "NamedGroupedTimers"},
-    {"_ZL14TimerGroupList", "TimerGroupList"},
-    {"_ZL17DefaultTimerGroup", "DefaultTimerGroup"},
-    {"_ZL16NotUnderValgrind", "NotUnderValgrind"},
-    {"_ZN8Blizzard6Memory12voidp_returncvPT_IcEEv", "Blizzard::Memory::voidp_return::operator char*<char>()"},
-    {"_Z2f0PU3AS1c", "f0(char AS1*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXleT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) <= (4), void>::type*)"},
-    {"_ZN5Casts6cstyleILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE", "void Casts::cstyle<4u>(enable_if<(4u) <= ((unsigned int)(4)), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXaaT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) && (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXaNT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) &= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXaST_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) = (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXstT_EvE4typeE", "void Casts::implicit<4u>(enable_if<sizeof (4u), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXszT_EvE4typeE", "void Casts::implicit<4u>(enable_if<sizeof (4u), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXatT_EvE4typeE", "void Casts::implicit<4u>(enable_if<alignof (4u), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXazT_EvE4typeE", "void Casts::implicit<4u>(enable_if<alignof (4u), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXcmT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) , (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXcoT_EvE4typeE", "void Casts::implicit<4u>(enable_if<~(4u), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXdeT_EvE4typeE", "void Casts::implicit<4u>(enable_if<*(4u), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXdvT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) / (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXdVT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) /= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXeoT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) ^ (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXeOT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) ^= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXeqT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) == (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXgeT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) >= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXgtT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<((4u) > (4)), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXlsT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) << (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXlST_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) <<= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXltT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) < (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXmiT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) - (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXmIT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) -= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXmlT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) * (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXmLT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) *= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXmmT_EvE4typeE", "void Casts::implicit<4u>(enable_if<(4u)--, void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXneT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) != (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXngT_EvE4typeE", "void Casts::implicit<4u>(enable_if<-(4u), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXntT_EvE4typeE", "void Casts::implicit<4u>(enable_if<!(4u), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXooT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) || (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXorT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) | (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXoRT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) |= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXpmT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) ->* (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXplT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) + (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXpLT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) += (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXppT_EvE4typeE", "void Casts::implicit<4u>(enable_if<(4u)++, void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXpsT_EvE4typeE", "void Casts::implicit<4u>(enable_if<+(4u), void>::type*)"},
-//    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXptT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) -> (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXquT_Li4ELi5EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) ? (4) : (5), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXrmT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) % (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXrMT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) %= (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXrsT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) >> (4), void>::type*)"},
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXrST_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) >>= (4), void>::type*)"},
-    {"_Z1fPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP1XS13_S12_S11_S10_SZ_SY_SX_SW_SV_SU_ST_SS_SR_SQ_SP_SO_SN_SM_SL_SK_SJ_SI_SH_SG_SF_SE_SD_SC_SB_SA_S9_S8_S7_S6_S5_S4_S3_S2_S1_S0_S_", "f(X****************************************, X****************************************, X***************************************, X**************************************, X*************************************, X************************************, X***********************************, X**********************************, X*********************************, X********************************, X*******************************, X******************************, X*****************************, X****************************, X***************************, X**************************, X*************************, X************************, X***********************, X**********************, X*********************, X********************, X*******************, X******************, X*****************, X****************, X***************, X**************, X*************, X************, X***********, X**********, X*********, X********, X*******, X******, X*****, X****, X***, X**, X*, X)"},
-    {"_ZZN1J1KEvENK1C1FEv", "J::K()::C::F() const"},
-    {"_ZZNVK1J1KEvENK1C1FEv", "J::K() const volatile::C::F() const"},
-    {"_Z1fM1AKFvvE", "f(void (A::*)() const)"},
-    {"_ZNR1X1fEv", "X::f() &"},
-    {"_ZNKO1X1hEv", "X::h() const &&"},
-//    {"_Z1fM1XVKFivEMS_VFivEMS_KOFivE", "f(int (X::*)() const volatile, int (X::*)() volatile, int (X::*)() const &&)"},
-//    {"_Z1fM1XRFivEMS_OFivEMS_KOFivE", "f(int (X::*)() &, int (X::*)() &&, int (X::*)() const &&)"},
-    {"_ZN5test12f0ENS_1TILZNS_1xEEEE", "test1::f0(test1::T<test1::x>)"},
-    {"_ZN5test12f1ENS_2t1ILZNS_2f0EfEEE", "test1::f1(test1::t1<test1::f0(float)>)"},
-    {"_ZN5test22f1ENS_2t1IXadL_ZNS_2f0EfEEEE", "test2::f1(test2::t1<&(test2::f0(float))>)"},
-    {"_ZN5test32f1ENS_2t1ILZ8test3_f0EEE", "test3::f1(test3::t1<test3_f0>)"},
-    {"_ZN5test42f1ENS_2t1IXadL_Z8test4_f0EEEE", "test4::f1(test4::t1<&(test4_f0)>)"},
-    {"_ZN5test52f1ENS_2t1ILZ8test5_f0EEE", "test5::f1(test5::t1<test5_f0>)"},
-    {"_ZN5test52f2ENS_2t2ILZ4mainEEE", "test5::f2(test5::t2<main>)"},
-    {"_ZN5test52f2ENS_2t2ILZ4mainEEE", "test5::f2(test5::t2<main>)"},
-    {"_ZN5test62f0ENS_1TIXadL_ZNS_1A3im0EfEEEE", "test6::f0(test6::T<&(test6::A::im0(float))>)"},
-    {"_ZN5test71XIiEC1IdEEPT_PNS_5int_cIXplL_ZNS_4metaIiE5valueEEsrNS6_IS3_EE5valueEE4typeE", "test7::X<int>::X<double>(double*, test7::int_c<(test7::meta<int>::value) + (test7::meta<double>::value)>::type*)"},
-    {"_ZN5test81fIiEEvNS_5int_cIXsrNS_4metaIT_E4typeE5valueEEE", "void test8::f<int>(test8::int_c<test8::meta<int>::type::value>)"},
-    {"_ZN5test91fIiNS_1XEEENS_9supermetaIT_E5applyIT0_E4typeEv", "test9::supermeta<int>::apply<test9::X>::type test9::f<int, test9::X>()"},
-    {"_ZN6test101fIidEENS_1XIT_E10definitionIT0_EES2_S5_", "test10::X<int>::definition<double> test10::f<int, double>(int, double)"},
-    {"_ZZ2f5vE1a", "f5()::a"},
-    {"_ZZ2f6vE1b", "f6()::b"},
-    {"_ZNV3$_35test9Ev", "$_3::test9() volatile"},
-    {"_ZN5Test8I3$_2EC1ES0_", "Test8<$_2>::Test8($_2)"},
-    {"_Z3fooIZN3BarC1EvE3$_0EvT_", "void foo<Bar::Bar()::$_0>(Bar::Bar()::$_0)"},
-    {"_ZGVZN1N1gEvE1a", "guard variable for N::g()::a"},
-    {"_ZplRK1YRA100_P1X", "operator+(Y const&, X* (&) [100])"},
-    {"_Z1fno", "f(__int128, unsigned __int128)"},
-    {"_Z1fM1SKFvvE", "f(void (S::*)() const)"},
-    {"_Z3ft7IiEN11__enable_ifIXsr16__is_scalar_typeIT_EE7__valueEvE6__typeEv", "__enable_if<__is_scalar_type<int>::__value, void>::__type ft7<int>()"},
-    {"_Z3ft7IPvEN11__enable_ifIXsr16__is_scalar_typeIT_EE7__valueEvE6__typeEv", "__enable_if<__is_scalar_type<void*>::__value, void>::__type ft7<void*>()"},
-    {"_ZN6PR57968__fill_aIiEENS_11__enable_ifIXntsrNS_11__is_scalarIT_EE7__valueEvE6__typeEv", "PR5796::__enable_if<!(PR5796::__is_scalar<int>::__value), void>::__type PR5796::__fill_a<int>()"},
-    {"_ZN11Expressions2f1ILi1EEEvPAplngT_Li2E_i", "void Expressions::f1<1>(int (*) [(-(1)) + (2)])"},
-    {"_ZN11Expressions2f2ILi1EEEvPApsT__i", "void Expressions::f2<1>(int (*) [+(1)])"},
-    {"_ZN11Expressions2f3ILi1EEEvPAplT_T__i", "void Expressions::f3<1>(int (*) [(1) + (1)])"},
-    {"_ZN11Expressions2f4ILi1EEEvPAplplLi2ET_T__i", "void Expressions::f4<1>(int (*) [((2) + (1)) + (1)])"},
-    {"_ZN3OpsplERKS_", "Ops::operator+(Ops const&)"},
-    {"_ZN6PR58615AllocIcNS_6PolicyINS_1PELb1EEEE8allocateEiPKv", "PR5861::Alloc<char, PR5861::Policy<PR5861::P, true> >::allocate(int, void const*)"},
-    {"_ZN5test01fIdEEvT_RAszcl3ovlcvS1__EE_c", "void test0::f<double>(double, char (&) [sizeof (ovl((double)()))])"},
-    {"_ZN5test01fIiEEvT_RAszcl3ovlcvS1__EE_c", "void test0::f<int>(int, char (&) [sizeof (ovl((int)()))])"},
-    {"_ZN5test01jINS_1AEEEvRAszdtcvT__E6buffer_c", "void test0::j<test0::A>(char (&) [sizeof ((test0::A)().buffer)])"},
-    {"_ZN5test11fINS_1XEiEEvT_IT0_E", "void test1::f<test1::X, int>(test1::X<int>)"},
-    {"_ZN5test211read_memberINS_1AEEEDtptcvPT_Li0E6memberERS2_", "decltype((test2::A*)(0)->member) test2::read_member<test2::A>(test2::A&)"},
-    {"_ZN5test37get_p_1INS_7DerivedEEEDtptcvPT_Li0EsrNS_5Path1E1pERS2_", "decltype((test3::Derived*)(0)->test3::Path1::p) test3::get_p_1<test3::Derived>(test3::Derived&)"},
-    {"_ZN5test37get_p_1INS_7DerivedEEEDtptcvPT_Li0EsrNS_5Path2E1pERS2_", "decltype((test3::Derived*)(0)->test3::Path2::p) test3::get_p_1<test3::Derived>(test3::Derived&)"},
-    {"_ZN5test41gEPNS_3zedIXadL_ZNS_3foo3barEEEEE", "test4::g(test4::zed<&(test4::foo::bar)>*)"},
-    {"_ZN5test51gEPNS_3zedIXadL_ZNS_3foo3barEEEEE", "test5::g(test5::zed<&(test5::foo::bar)>*)"},
-    {"_ZN5test71gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE", "test7::g(test7::zed<&(test7::foo::bar())>*)"},
-    {"_ZN5test91fIiNS_3barEEEvRKNT0_3baz1XE", "void test9::f<int, test9::bar>(test9::bar::baz::X const&)"},
-    {"_ZN6test101fILc3EEEvNS_1SIXquLb0ELc97ET_EEE", "void test10::f<(char)3>(test10::S<(false) ? ((char)97) : ((char)3)>)"},
-    {"_ZN6test111fEz", "test11::f(...)"},
-    {"_ZN6test121fENS_1AILt33000EEE", "test12::f(test12::A<(unsigned short)33000>)"},
-    {"_ZN6test151fILi7EEEvNS_1SIXplT_LNS_1EE3EEEE", "void test15::f<7>(test15::S<(7) + ((test15::E)3)>)"},
-    {"_ZN6test174funcINS_1BEEENS_1AIXszclsrT_3fooEEEEv", "test17::A<sizeof (test17::B::foo())> test17::func<test17::B>()"},
-    {"_ZN6test181fINS_1AEEEvNS_1SIXadsrT_plEEE", "void test18::f<test18::A>(test18::S<&(test18::A::operator+)>)"},
-    {"_ZN6test181fINS_1AEEEvNS_1SIXadsrT_anEEE", "void test18::f<test18::A>(test18::S<&(test18::A::operator&)>)"},
-    {"_ZN6test191gINS_1AEEEvNS_1SIXadsrT_1fIiEEEE", "void test19::g<test19::A>(test19::S<&(test19::A::f<int>)>)"},
-    {"_ZN6test191gINS_1AEEEvNS_1SIXadsrT_plEEE", "void test19::g<test19::A>(test19::S<&(test19::A::operator+)>)"},
-    {"_ZN6test191gINS_1AEEEvNS_1SIXadsrT_cviEEE", "void test19::g<test19::A>(test19::S<&(test19::A::operator int)>)"},
-    {"_ZN6test191gINS_1AEEEvNS_1SIXadsrT_miIdEEEE", "void test19::g<test19::A>(test19::S<&(test19::A::operator-<double>)>)"},
-    {"_ZN6test205test0IiEEvDTcl1fIPT_ELi0EEE", "void test20::test0<int>(decltype(f<int*>(0)))"},
-    {"_ZN6test2112vla_arg_funcEiPA_i", "test21::vla_arg_func(int, int (*) [])"},
-    {"_ZN6test221fEDn", "test22::f(std::nullptr_t)"},
-    {"_ZN6test231fERA10_KPv", "test23::f(void* const (&) [10])"},
-    {"_ZN6test231fERA10_A5_VKPv", "test23::f(void* const volatile (&) [10][5])"},
-    {"_Z4testIcLj5ELj10ELj15EEvRAT0__AT1__AT2__T_", "void test<char, 5u, 10u, 15u>(char (&) [5u][10u][15u])"},
-    {"_ZN6test205test1IiEEvDTcl1fIEcvT__EEE", "void test20::test1<int>(decltype(f<>((int)())))"},
-    {"_Z2f0IJEEv1XIXsZT_EJDpRT_EE", "void f0<>(X<sizeof...()>)"},
-    {"_Z2f0IJifdEEv1XIXsZT_EJDpRT_EE", "void f0<int, float, double>(X<sizeof...(int, float, double), int&, float&, double&>)"},
-    {"_Z2f1IJEEvv", "void f1<>()"},
-    {"_Z2f1IJiEEvv", "void f1<int>()"},
-    {"_Z2f1IJifEEvv", "void f1<int, float>()"},
-    {"_Z2f2IJEEvDpT_", "void f2<>()"},
-    {"_Z2f2IJiEEvDpT_", "void f2<int>(int)"},
-    {"_Z2f2IJifEEvDpT_", "void f2<int, float>(int, float)"},
-    {"_Z2f3IJEEvDpPKT_", "void f3<>()"},
-    {"_Z2f3IJiEEvDpPKT_", "void f3<int>(int const*)"},
-    {"_Z2f3IJifEEvDpPKT_", "void f3<int, float>(int const*, float const*)"},
-    {"_Z2f4IJifdEE5tupleIJDpT_EEv", "tuple<int, float, double> f4<int, float, double>()"},
-    {"_Z2f5IiJifdEE8identityIFT_DpT0_EEv", "identity<int (int, float, double)> f5<int, int, float, double>()"},
-    {"_Z2f6IJLi1ELi2ELi3EEE9int_tupleIJXspT_EEEv", "int_tuple<1, 2, 3> f6<1, 2, 3>()"},
-    {"_Z2f7IJ8identity13add_referenceEE14template_tupleIJDpT_EEv", "template_tuple<identity, add_reference> f7<identity, add_reference>()"},
-    {"_ZNK10__cxxabiv111__libcxxabi5__sub20first_demangled_nameEPc.eh", "__cxxabiv1::__libcxxabi::__sub::first_demangled_name(char*) const (.eh)"},
-    {"_ZSt13copy_backwardIN9__gnu_cxx17__normal_iteratorIPNS0_19_Hashtable_iteratorISt4pairIK16CSCppSymbolOwnerP20CSCppSymbolOwnerDataES4_27CSCppSymbolOwnerHashFunctorSt10_Select1stIS8_E29CSCppSymbolOwnerEqualsFunctorSaIS7_EEESt6vectorISE_SaISE_EEEESJ_ET0_T_SL_SK_", "__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >*, std::vector<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >, std::allocator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> > > > > std::copy_backward<__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >*, std::vector<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >, std::allocator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> > > > >, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >*, std::vector<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >, std::allocator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> > > > > >(__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >*, std::vector<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >, std::allocator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> > > > >, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >*, std::vector<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >, std::allocator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> > > > >, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >*, std::vector<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> >, std::allocator<__gnu_cxx::_Hashtable_iterator<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*>, CSCppSymbolOwner, CSCppSymbolOwnerHashFunctor, std::_Select1st<std::pair<CSCppSymbolOwner const, CSCppSymbolOwnerData*> >, CSCppSymbolOwnerEqualsFunctor, std::allocator<CSCppSymbolOwnerData*> > > > >)"},
-    {"_ZTC14SSDatabaseImpl0_N8Security10CssmClient6DbImplE", "construction vtable for Security::CssmClient::DbImpl-in-SSDatabaseImpl"},
-    {"_ZGRZN1N1gEvE1a", "reference temporary for N::g()::a"},
-    {"_ZN5boost4bindIvN10libtorrent15peer_connectionEiRKNS1_11disk_io_jobENS1_12peer_requestENS_10shared_ptrINS1_7torrentEEENS_13intrusive_ptrIS2_EENS_3argILi1EEENSC_ILi2EEES6_S9_EENS_3_bi6bind_tIT_NS_4_mfi3mf4ISH_T0_T1_T2_T3_T4_EENSF_9list_av_5IT5_T6_T7_T8_T9_E4typeEEEMSK_FSH_SL_SM_SN_SO_ESR_SS_ST_SU_SV_", "boost::_bi::bind_t<void, boost::_mfi::mf4<void, libtorrent::peer_connection, int, libtorrent::disk_io_job const&, libtorrent::peer_request, boost::shared_ptr<libtorrent::torrent> >, boost::_bi::list_av_5<boost::intrusive_ptr<libtorrent::peer_connection>, boost::arg<1>, boost::arg<2>, libtorrent::peer_request, boost::shared_ptr<libtorrent::torrent> >::type> boost::bind<void, libtorrent::peer_connection, int, libtorrent::disk_io_job const&, libtorrent::peer_request, boost::shared_ptr<libtorrent::torrent>, boost::intrusive_ptr<libtorrent::peer_connection>, boost::arg<1>, boost::arg<2>, libtorrent::peer_request, boost::shared_ptr<libtorrent::torrent> >(void (libtorrent::peer_connection::*)(int, libtorrent::disk_io_job const&, libtorrent::peer_request, boost::shared_ptr<libtorrent::torrent>), boost::intrusive_ptr<libtorrent::peer_connection>, boost::arg<1>, boost::arg<2>, libtorrent::peer_request, boost::shared_ptr<libtorrent::torrent>)"},
-    {"_ZN7WebCore20createFileThreadTaskINS_15FileStreamProxyEN3WTF6StringERKS3_ddEENS2_10PassOwnPtrINS_10FileThread4TaskEEEPT_MSA_FvT1_T3_ERKT0_RKT2_", "WTF::PassOwnPtr<WebCore::FileThread::Task> WebCore::createFileThreadTask<WebCore::FileStreamProxy, WTF::String, WTF::String const&, double, double>(WebCore::FileStreamProxy*, void (WebCore::FileStreamProxy::*)(WTF::String const&, double), WTF::String const&, double const&)"},
-    {"_ZN3WTF15deleteAllValuesIPN7WebCore5XPath4Step8NodeTestEKNS_9HashTableIS5_S5_NS_17IdentityExtractorENS_7PtrHashIS5_EENS_10HashTraitsIS5_EESB_EEEEvRT0_", "void WTF::deleteAllValues<WebCore::XPath::Step::NodeTest*, WTF::HashTable<WebCore::XPath::Step::NodeTest*, WebCore::XPath::Step::NodeTest*, WTF::IdentityExtractor, WTF::PtrHash<WebCore::XPath::Step::NodeTest*>, WTF::HashTraits<WebCore::XPath::Step::NodeTest*>, WTF::HashTraits<WebCore::XPath::Step::NodeTest*> > const>(WTF::HashTable<WebCore::XPath::Step::NodeTest*, WebCore::XPath::Step::NodeTest*, WTF::IdentityExtractor, WTF::PtrHash<WebCore::XPath::Step::NodeTest*>, WTF::HashTraits<WebCore::XPath::Step::NodeTest*>, WTF::HashTraits<WebCore::XPath::Step::NodeTest*> > const&)"},
-    {"_Z13JVTLib_103270ILi1EEvPsDv2_xS1_", "void JVTLib_103270<1>(short*, long long vector[2], long long vector[2])"},
-    {"_ZN8platform20split_string_convertIcPFiRKSsEiSaIiESt6vectorEEjPKT_S9_S7_T0_RT3_IT1_T2_E", "unsigned int platform::split_string_convert<char, int (*)(std::string const&), int, std::allocator<int>, std::vector>(char const*, char const*, char, int (*)(std::string const&), std::vector<int, std::allocator<int> >&)"},
-    {"_ZN2MF12_GLOBAL__N_114WeakCallHelperINS0_15DecodeQueueImplEEEvRKN5boost8functionIFvvEEERKNS3_8weak_ptrIT_EE", "void MF::(anonymous namespace)::WeakCallHelper<MF::(anonymous namespace)::DecodeQueueImpl>(boost::function<void ()> const&, boost::weak_ptr<MF::(anonymous namespace)::DecodeQueueImpl> const&)"},
-    {"_ZZN4NIds4NStr14TCStrAggregateINS0_13TCTCStrTraitsINS0_11TCStrTraitsIcNS0_17CDefaultStrParamsEEENS0_14TCStrImp_FixedIS5_Lx256EEEEEE21f_AddFromIteratorUTF8INS0_16CStrIteratorUTF8EEEvRxRKT_ENKSA_ISB_EUlmE0_clEm", "void NIds::NStr::TCStrAggregate<NIds::NStr::TCTCStrTraits<NIds::NStr::TCStrTraits<char, NIds::NStr::CDefaultStrParams>, NIds::NStr::TCStrImp_Fixed<NIds::NStr::TCStrTraits<char, NIds::NStr::CDefaultStrParams>, 256ll> > >::f_AddFromIteratorUTF8<NIds::NStr::CStrIteratorUTF8>(long long&, NIds::NStr::CStrIteratorUTF8 const&)::NIds::NStr::TCStrAggregate<NIds::NStr::TCTCStrTraits<NIds::NStr::TCStrTraits<char, NIds::NStr::CDefaultStrParams>, NIds::NStr::TCStrImp_Fixed<NIds::NStr::TCStrTraits<char, NIds::NStr::CDefaultStrParams>, 256ll> > >::f_AddFromIteratorUTF8<NIds::NStr::CStrIteratorUTF8>::'lambda0'(unsigned long)::operator()(unsigned long) const"},
-    {"_ZZN4NIds4NStr14TCStrAggregateINS0_13TCTCStrTraitsINS0_11TCStrTraitsIcNS0_17CDefaultStrParamsEEENS0_14TCStrImp_FixedIS5_Lx256EEEEEE21f_AddFromIteratorUTF8INS0_16CStrIteratorUTF8EEEvRxRKT_ENKSA_ISB_EUt0_clEm", "void NIds::NStr::TCStrAggregate<NIds::NStr::TCTCStrTraits<NIds::NStr::TCStrTraits<char, NIds::NStr::CDefaultStrParams>, NIds::NStr::TCStrImp_Fixed<NIds::NStr::TCStrTraits<char, NIds::NStr::CDefaultStrParams>, 256ll> > >::f_AddFromIteratorUTF8<NIds::NStr::CStrIteratorUTF8>(long long&, NIds::NStr::CStrIteratorUTF8 const&)::NIds::NStr::TCStrAggregate<NIds::NStr::TCTCStrTraits<NIds::NStr::TCStrTraits<char, NIds::NStr::CDefaultStrParams>, NIds::NStr::TCStrImp_Fixed<NIds::NStr::TCStrTraits<char, NIds::NStr::CDefaultStrParams>, 256ll> > >::f_AddFromIteratorUTF8<NIds::NStr::CStrIteratorUTF8>::'unnamed0'::operator()(unsigned long) const"},
-    {"_ZNK3com9markzware2js11cJSArgumentcvRKT_I8cMyClassEEv", "com::markzware::js::cJSArgument::operator cMyClass const&<cMyClass>() const"},
-    {"_ZNKSt3__110__function6__funcIZN4DLCL8DLFutureIP15AnalysenManagerE3setINS_8functionIFS5_vEEEJEEEvT_DpOT0_EUlvE_NS_9allocatorISF_EEFvvEE7__cloneEv", "std::__1::__function::__func<void DLCL::DLFuture<AnalysenManager*>::set<std::__1::function<AnalysenManager* ()> >(std::__1::function<AnalysenManager* ()>)::'lambda'(), std::__1::allocator<void DLCL::DLFuture<AnalysenManager*>::set<std::__1::function<AnalysenManager* ()> >(std::__1::function<AnalysenManager* ()>)::'lambda'()>, void ()>::__clone() const"},
-    {"___ZN19URLConnectionClient33_clientInterface_cancelConnectionEP16dispatch_queue_sU13block_pointerFvvE_block_invoke14", "invocation function for block in URLConnectionClient::_clientInterface_cancelConnection(dispatch_queue_s*, void () block_pointer)"},
-    {"_Z1fIJicdEEPFvDpT_EPFvDpRPS0_ES8_S1_DpS4_S6_", "void (*f<int, char, double>(void (*)(int*&, char*&, double*&), void (*)(int*&, char*&, double*&), int, char, double, int*, char*, double*, int*&, char*&, double*&))(int, char, double)"},
-    {"_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKSbIS2_St11char_traitsIS2_ESaIS2_EESA_", "__gnu_cxx::__enable_if<__is_char<char>::__value, bool>::__type std::operator==<char>(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)"},
-    {"_ZZ10+[Foo bar]E3Baz", "+[Foo bar]::Baz"},
-    {"_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairISsbESt6vectorIS2_SaIS2_EEEC5ERKS4_", "__gnu_cxx::__normal_iterator<std::pair<std::string, bool> const*, std::vector<std::pair<std::string, bool>, std::allocator<std::pair<std::string, bool> > > >::__normal_iterator(std::pair<std::string, bool> const* const&)"},
-    {"_Z1fIiEDTeqfp_LDnEEPT_", "decltype((fp) == (std::nullptr_t)) f<int>(int*)"},
-    {"_Z1fIiEDTeqfp1_LDnEEicPT_", "decltype((fp1) == (std::nullptr_t)) f<int>(int, char, int*)"},
-    {"_ZZN1S1fEiiEd0_NKUlvE_clEv", "S::f(int, int)::'lambda'()::operator()() const"},
-    {"_Z3fooPM2ABi", "foo(int AB::**)"},
-    {"_Z1rM1GFivEMS_KFivES_M1HFivES1_4whatIKS_E5what2IS8_ES3_", "r(int (G::*)(), int (G::*)() const, G, int (H::*)(), int (G::*)(), what<G const>, what2<G const>, int (G::*)() const)"},
-    {"_Z1fPU11objcproto1A11objc_object", "f(id<A>)"},
-    {"_Z1fPKU11objcproto1A7NSArray", "f(NSArray<A> const*)"},
-    {"_ZNK1AIJ1Z1Y1XEEcv1BIJDpPT_EEIJS2_S1_S0_EEEv", "A<Z, Y, X>::operator B<X*, Y*, Z*><X, Y, Z>() const"},
-    {"_ZNK3Ncr6Silver7Utility6detail12CallOnThreadIZ53-[DeploymentSetupController handleManualServerEntry:]E3$_5EclIJEEEDTclclL_ZNS2_4getTIS4_EERT_vEEspclsr3stdE7forwardIT_Efp_EEEDpOSA_", "decltype(-[DeploymentSetupController handleManualServerEntry:]::$_5& Ncr::Silver::Utility::detail::getT<-[DeploymentSetupController handleManualServerEntry:]::$_5>()()(std::forward<-[DeploymentSetupController handleManualServerEntry:]::$_5>(fp)...)) Ncr::Silver::Utility::detail::CallOnThread<-[DeploymentSetupController handleManualServerEntry:]::$_5>::operator()<>(-[DeploymentSetupController handleManualServerEntry:]::$_5&&...) const"},
-    {"_Zli2_xy", "operator\"\" _x(unsigned long long)"},
-    {"_Z1fIiEDcT_", "decltype(auto) f<int>(int)"},
-    {"_ZZ4testvEN1g3fooE5Point", "test()::g::foo(Point)"},
-    {"_ZThn12_NSt9strstreamD0Ev",   "non-virtual thunk to std::strstream::~strstream()"},
-    {"_ZTv0_n12_NSt9strstreamD0Ev",     "virtual thunk to std::strstream::~strstream()"},
-
-    // NOTE: disable this test since it is a negative test case, you cannot demangle a non-mangled symbol
-    // {"\x6D", nullptr}, 	// This use to crash with ASAN
-    {"_ZTIU4_farrVKPi", "typeinfo for int* const volatile restrict _far"},
-
-    // mangled names can include type manglings too, which don't start with _Z:
-    {"i", "int"},
-
-    {"PKFvRiE", "void (*)(int&) const"},
-    {"PVFvRmOE", "void (*)(unsigned long&) volatile &&"},
-    {"PFvRmOE", "void (*)(unsigned long&) &&"},
-    {"_ZTW1x", "thread-local wrapper routine for x"},
-    {"_ZTHN3fooE", "thread-local initialization routine for foo"},
-
-    // attribute abi_tag
-    {"_Z1fB3foov", "f[abi:foo]()"},
-    {"_Z1fB3fooB3barv", "f[abi:foo][abi:bar]()"},
-    {"_ZN1SB5outer1fB5innerEv", "S[abi:outer]::f[abi:inner]()"},
-    {"_ZN1SC2B8ctor_tagEv", "S::S[abi:ctor_tag]()"},
-    {"_ZplB4MERP1SS_", "operator+[abi:MERP](S, S)"},
-
-    {"_Z1fIJifcEEvDp5unaryIT_E", "void f<int, float, char>(unary<int>, unary<float>, unary<char>)"},
-    {"_Z1fIJEJiEEvDpT_DpT0_", "void f<int>(int)"},
-    {"_Z1fIJicEEvDp7MuncherIAstT__S1_E", "void f<int, char>(Muncher<int [sizeof (int)]>, Muncher<char [sizeof (char)]>)"},
-    {"_ZN1SIJifcEE1fIJdjEEEiDp4MerpIJifcT_EE", "int S<int, float, char>::f<double, unsigned int>(Merp<int, float, char, double>, Merp<int, float, char, unsigned int>)"},
-    {"_Z1pIJicEEiDp4MerpIXsZT_EJT_EE", "int p<int, char>(Merp<sizeof...(int, char), int>, Merp<sizeof...(int, char), char>)"},
-
-    // Some expression symbols found in clang's test/CodeGenCXX/mangle-exprs.cpp
-    {"_ZN5Casts8implicitILj4EEEvPN9enable_ifIXleT_Li4EEvE4typeE", "void Casts::implicit<4u>(enable_if<(4u) <= (4), void>::type*)"},
-    {"_ZN5Casts6cstyleILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE", "void Casts::cstyle<4u>(enable_if<(4u) <= ((unsigned int)(4)), void>::type*)"},
-    {"_ZN5Casts10functionalILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE", "void Casts::functional<4u>(enable_if<(4u) <= ((unsigned int)(4)), void>::type*)"},
-    {"_ZN5Casts7static_ILj4EEEvPN9enable_ifIXleT_scjLi4EEvE4typeE", "void Casts::static_<4u>(enable_if<(4u) <= (static_cast<unsigned int>(4)), void>::type*)"},
-    {"_ZN5Casts12reinterpret_ILj4EiEEvPN9enable_ifIXleT_szrcPT0_Li0EEvE4typeE", "void Casts::reinterpret_<4u, int>(enable_if<(4u) <= (sizeof (reinterpret_cast<int*>(0))), void>::type*)"},
-    {"_ZN5Casts6const_IiXadL_ZNS_1iEEEEEvPN9enable_ifIXleLi0EszccPT_T0_EvE4typeE", "void Casts::const_<int, &(Casts::i)>(enable_if<(0) <= (sizeof (const_cast<int*>(&(Casts::i)))), void>::type*)"},
-    {"_ZN5Casts8dynamic_INS_1SEXadL_ZNS_1sEEEEEvPN9enable_ifIXleLi0EszdcPT_T0_EvE4typeE", "void Casts::dynamic_<Casts::S, &(Casts::s)>(enable_if<(0) <= (sizeof (dynamic_cast<Casts::S*>(&(Casts::s)))), void>::type*)"},
-    {"_ZN5Casts1fILi6EEENS_1TIXT_EEEv", "Casts::T<6> Casts::f<6>()"},
-    {"_ZN5Casts5auto_IiEEvDTnw_DapicvT__EEE", "void Casts::auto_<int>(decltype(new auto((int)())))"},
-    {"_ZN5Casts7scalar_IiEEvDTcmcvT__Ecvi_EE", "void Casts::scalar_<int>(decltype(((int)()) , ((int)())))"},
-    {"_ZN5test11aIsEEDTcl3foocvT__EEES1_", "decltype(foo((short)())) test1::a<short>(short)"},
-    {"_ZN5test21aIPFfvEEEvT_DTclfL0p_EE", "void test2::a<float (*)()>(float (*)(), decltype(fp()))"},
-    {"_ZN5test21bIPFfvEEEDTclfp_EET_", "decltype(fp()) test2::b<float (*)()>(float (*)())"},
-    {"_ZN5test21cIPFfvEEEvT_PFvDTclfL1p_EEE", "void test2::c<float (*)()>(float (*)(), void (*)(decltype(fp())))"},
-    {"_ZN5test21dIPFfvEEEvT_PFDTclfL0p_EEvE", "void test2::d<float (*)()>(float (*)(), decltype(fp()) (*)())"},
-    {"_ZN5test21eIPFfvEEEvPFDTclfp_EET_E", "void test2::e<float (*)()>(decltype(fp()) (*)(float (*)()))"},
-    {"_ZN5test21fIPFfvEEEvPFvT_DTclfL0p_EEE", "void test2::f<float (*)()>(void (*)(float (*)(), decltype(fp())))"},
-    {"_ZN5test21gIPFfvEEEvT_DTclfL0p_EE", "void test2::g<float (*)()>(float (*)(), decltype(fp()))"},
-    {"_ZN5test21hIPFfvEEEvT_DTcvPFDTclfL0p_EEvELi0EE", "void test2::h<float (*)()>(float (*)(), decltype((decltype(fp()) (*)())(0)))"},
-    {"_ZN5test21iIPFfvEEEvDTcvPFDTclfp_EET_ELi0EE", "void test2::i<float (*)()>(decltype((decltype(fp()) (*)(float (*)()))(0)))"},
-    {"_ZZN5test21gIPFfvEEEvT_DTclfL0p_EEE8variable", "void test2::g<float (*)()>(float (*)(), decltype(fp()))::variable"},
-    {"_ZN5test31aINS_1XEMS1_PiEEvT_T0_DTdsfL0p_fL0p0_E", "void test3::a<test3::X, int* test3::X::*>(test3::X, int* test3::X::*, decltype(fp.*fp0))"},
-    {"_ZN5test43tf1INS_1XEEEvDTnw_T_piLi1EEE", "void test4::tf1<test4::X>(decltype(new test4::X(1)))"},
-    {"_ZN5test51aIiEEvDTnxcvT__EE", "void test5::a<int>(decltype(noexcept ((int)())))"},
-    {"_ZN5test62f1IiEEvDTcvT_dtdtL_ZNS_1zEE2ua1iE", "void test6::f1<int>(decltype((int)(test6::z.ua.i)))"},
-    {"_ZN5test62f2IiEEvDTcvT_dtdtL_ZNS_1zEE2ub1iE", "void test6::f2<int>(decltype((int)(test6::z.ub.i)))"},
-    {"_ZN5test62f3IiEEvDTcvT_dtdtL_ZNS_1zEE1s1iE", "void test6::f3<int>(decltype((int)(test6::z.s.i)))"},
-    {"_ZN5test62f4IiEEvDTcvT_dtdtL_ZNS_1zEE4uuss1iE", "void test6::f4<int>(decltype((int)(test6::z.uuss.i)))"},
-    {"_ZN5test62f5IiEEvDTcvT_dtptL_ZNS_2zpEE2ua1iE", "void test6::f5<int>(decltype((int)(test6::zp->ua.i)))"},
-    {"_ZN5test62f6IiEEvDTcvT_dtptL_ZNS_2zpEE2ub1iE", "void test6::f6<int>(decltype((int)(test6::zp->ub.i)))"},
-    {"_ZN5test62f7IiEEvDTcvT_dtptL_ZNS_2zpEE1s1iE", "void test6::f7<int>(decltype((int)(test6::zp->s.i)))"},
-    {"_ZN5test62f8IiEEvDTcvT_dtptL_ZNS_2zpEE4uuss1iE", "void test6::f8<int>(decltype((int)(test6::zp->uuss.i)))"},
-    {"_ZN5test73fD2IiEEDTcmcvNS_1DEL_ZNS_1bEEcvT__EES2_", "decltype(((test7::D)(test7::b)) , ((int)())) test7::fD2<int>(int)"},
-    {"_ZN5test73fT2IiEEDTcvT__EES1_", "decltype((int)()) test7::fT2<int>(int)"},
-    {"_ZN5test73fT4IiEEDTcvT_Li1EES1_", "decltype((int)(1)) test7::fT4<int>(int)"},
-    {"_ZN5test73fT6INS_1BEEEDTcvT__Li1ELi2EEES2_", "decltype((test7::B)(1, 2)) test7::fT6<test7::B>(test7::B)"},
-    {"_ZNK5test81XIiE3barIiEEDTcl3fooIT_EEEv", "decltype(foo<int>()) test8::X<int>::bar<int>() const"},
-
-    // Multiple qualifiers on the same type should all get the same entry in the substitution table.
-    {"_Z1fPU3AS1KiS0_", "f(int const AS1*, int const AS1*)"},
-
-    {"_ZN6test471fINS_1SEEEvPTsNT_1cE", "void test47::f<test47::S>(struct test47::S::c*)"},
-    {"_ZN6test481fINS_1SEEEvPTuNT_1uE", "void test48::f<test48::S>(union test48::S::u*)"},
-    {"_ZN6test451fINS_1SEEEvPTeNT_1eE", "void test45::f<test45::S>(enum test45::S::e*)"},
-
-    // Initializer list expressions
-    {"_ZN5test43tf2INS_1XEEEvDTnw_T_piilLi1EEEE", "void test4::tf2<test4::X>(decltype(new test4::X({1})))"},
-    {"_ZN5test73fA1IiEEDTcmtlNS_1AELi1ELi2EEcvT__EES2_", "decltype((test7::A{1, 2}) , ((int)())) test7::fA1<int>(int)"},
-    {"_ZN5test73fA2IiEEDTcmcvNS_1AEilLi1ELi2EEcvT__EES2_", "decltype(((test7::A)({1, 2})) , ((int)())) test7::fA2<int>(int)"},
-    {"_ZN5test73fB1IiEEDTcmtlNS_1BELi1ELi2EEcvT__EES2_", "decltype((test7::B{1, 2}) , ((int)())) test7::fB1<int>(int)"},
-    {"_ZN5test73fB2IiEEDTcmcvNS_1BEilLi1ELi2EEcvT__EES2_", "decltype(((test7::B)({1, 2})) , ((int)())) test7::fB2<int>(int)"},
-    {"_ZN5test73fC1IiEEDTcmtlNS_1CEilLi1ELi2EEEcvT__EES2_", "decltype((test7::C{{1, 2}}) , ((int)())) test7::fC1<int>(int)"},
-    {"_ZN5test73fC2IiEEDTcmcvNS_1CEilLi1ELi2EEcvT__EES2_", "decltype(((test7::C)({1, 2})) , ((int)())) test7::fC2<int>(int)"},
-    {"_ZN5test73fD1IiEEDTcmtlNS_1DEL_ZNS_1bEEEcvT__EES2_", "decltype((test7::D{test7::b}) , ((int)())) test7::fD1<int>(int)"},
-    {"_ZN5test73fE1IiEEDTcmtlNS_1EELi1ELi2EEcvT__EES2_", "decltype((test7::E{1, 2}) , ((int)())) test7::fE1<int>(int)"},
-    {"_ZN5test73fE2IiEEDTcmcvNS_1EEilLi1ELi2EEcvT__EES2_", "decltype(((test7::E)({1, 2})) , ((int)())) test7::fE2<int>(int)"},
-    {"_ZN5test73fF1IiEEDTcmtlNS_1FEilLi1ELi2EEEcvT__EES2_", "decltype((test7::F{{1, 2}}) , ((int)())) test7::fF1<int>(int)"},
-    {"_ZN5test73fF2IiEEDTcmcvNS_1FEilLi1ELi2EEcvT__EES2_", "decltype(((test7::F)({1, 2})) , ((int)())) test7::fF2<int>(int)"},
-    {"_ZN5test73fT1IiEEDTtlT_EES1_", "decltype(int{}) test7::fT1<int>(int)"},
-    {"_ZN5test73fT3IiEEDTtlT_Li1EEES1_", "decltype(int{1}) test7::fT3<int>(int)"},
-    {"_ZN5test73fT5INS_1BEEEDTtlT_Li1ELi2EEES2_", "decltype(test7::B{1, 2}) test7::fT5<test7::B>(test7::B)"},
-    {"_ZN5test73fT7INS_1AEEEDTtlT_ilEEES2_", "decltype(test7::A{{}}) test7::fT7<test7::A>(test7::A)"},
-    {"_ZN5test73fT8INS_1AEEEDTcvT_ilEES2_", "decltype((test7::A)({})) test7::fT8<test7::A>(test7::A)"},
-    {"_ZN5test73fT9INS_1AEEEDTtlT_ilLi1EEEES2_", "decltype(test7::A{{1}}) test7::fT9<test7::A>(test7::A)"},
-    {"_ZN5test73fTAINS_1AEEEDTcvT_ilLi1EEES2_", "decltype((test7::A)({1})) test7::fTA<test7::A>(test7::A)"},
-    {"_ZN5test73fTBINS_1CEEEDTtlT_ilLi1ELi2EEEES2_", "decltype(test7::C{{1, 2}}) test7::fTB<test7::C>(test7::C)"},
-    {"_ZN5test73fTCINS_1CEEEDTcvT_ilLi1ELi2EEES2_", "decltype((test7::C)({1, 2})) test7::fTC<test7::C>(test7::C)"},
-
-    // Designated init expressions
-    {"_ZN15designated_init1fINS_1AEEEvDTtlT_di1adi1bdxLi3EdXLi1ELi4ELi9EEE", "void designated_init::f<designated_init::A>(decltype(designated_init::A{.a.b[3][1 ... 4] = 9}))"},
-    {"_Z1fIXtl1Xdi1adi1bdxLi3ELi1EEEE", "f<X{.a.b[3] = 1}>"},
-
-    // Inheriting constructors:
-    {"_ZN1BCI21AEi", "B::B(int)"},
-    {"_ZN1DCI21CIiEET_", "D::D(int)"},
-
-    // Exception specifiers:
-    {"_Z1bPDoFivE", "b(int (*)() noexcept)"},
-    {"_Z1fILb0EEvPDOT_EFivE", "void f<false>(int (*)() noexcept(false))"},
-    {"_Z1fILb1EEvPDOT_EFivE", "void f<true>(int (*)() noexcept(true))"},
-    {"_Z1gIJEEvPDwDpT_EFivE", "void g<>(int (*)() throw())"},
-    {"_Z1gIJfEEvPDwDpT_EFivE", "void g<float>(int (*)() throw(float))"},
-    {"_Z1hIJEEPDwDpT_iEFivEPDwiS1_EFivE", "int (*h<>(int (*)() throw(int)))() throw(int)"},
-    {"_Z1hIJfEEPDwDpT_iEFivEPDwiS1_EFivE", "int (*h<float>(int (*)() throw(int, float)))() throw(float, int)"},
-    {"_Z1iIJEEPDwiDpT_EFivEPS2_", "int (*i<>(int (*)() throw(int)))() throw(int)"},
-    {"_Z1iIJEEPDwiDpT_EFivES3_", "int (*i<>(int (*)() throw(int)))() throw(int)"},
-    {"_Z1iIJfEEPDwiDpT_EFivEPS2_", "int (*i<float>(int (*)() throw(int, float)))() throw(int, float)"},
-    {"_Z1iIJfEEPDwiDpT_EFivES3_", "int (*i<float>(int (*)() throw(int, float)))() throw(int, float)"},
-    {"_Z1pILb1EEiM1SKDOT_EFivRE", "int p<true>(int (S::*)() const & noexcept(true))"},
-    {"_Z1pIJicfEEiM1SVKDwDpT_EFivOE", "int p<int, char, float>(int (S::*)() const volatile && throw(int, char, float))"},
-    {"_Z1pM1SDoFivE", "p(int (S::*)() noexcept)"},
-
-    {"_ZNKR4llvm8OptionalINS_11MCFixupKindEEdeEv", "llvm::Optional<llvm::MCFixupKind>::operator*() const &"},
-    {"_ZZL23isValidCoroutineContextRN5clang4SemaENS_14SourceLocationEN4llvm9StringRefEENK3$_4clEZL23isValidCoroutineContextS1_S2_S4_E15InvalidFuncDiag", "isValidCoroutineContext(clang::Sema&, clang::SourceLocation, llvm::StringRef)::$_4::operator()(isValidCoroutineContext(clang::Sema&, clang::SourceLocation, llvm::StringRef)::InvalidFuncDiag) const"},
-
-    // ABI tags can apply to built-in substitutions.
-    {"_Z1fSsB1XS_", "f(std::string[abi:X], std::string[abi:X])"},
-
-    {"___Z10blocksNRVOv_block_invoke", "invocation function for block in blocksNRVO()"},
-
-    // Structured bindings:
-    {"_ZDC2a12a2E", "[a1, a2]"},
-    {"_ZN2NSDC1x1yEE", "NS::[x, y]"},
-
-    {"_ZGRDC1x1yE_", "reference temporary for [x, y]"},
-    {"_ZGR1bIvE2_", "reference temporary for b<void>"},
-
-    {"_ZZ18test_assign_throwsI20small_throws_on_copyLb0EEvvENKUlRNSt3__13anyEOT_E_clIRS0_EEDaS3_S5_", "auto void test_assign_throws<small_throws_on_copy, false>()::'lambda'(std::__1::any&, auto&&)::operator()<small_throws_on_copy&>(std::__1::any&, auto&&) const"},
-
-    // enable_if attributes:
-    {"_Z1fUa9enable_ifIXLi1EEEv", "f() [enable_if:1]"},
-    {"_ZN5test4IdE1fEUa9enable_ifIXeqfL0p_Li1EEXeqfL0p0_Li2EEEi", "test4<double>::f(int) [enable_if:(fp) == (1), (fp0) == (2)]"},
-    {"_Z3quxUa9enable_ifIXLi1EEXL_Z9TRUEFACTSEEEi", "qux(int) [enable_if:1, TRUEFACTS]"},
-
-    // Conversion operators:
-    {"_ZN5OuterI4MarpEcv7MuncherIJT_T0_DpT1_EEI4MerpS0_JicfEEEv", "Outer<Marp>::operator Muncher<Merp, Marp, int, char, float><Merp, Marp, int, char, float>()"},
-    {"_ZN5OuterI4MarpEcvT_I4MerpEEv", "Outer<Marp>::operator Merp<Merp>()"},
-    {"_ZZN5OuterI4MarpEcv7MuncherIJT_T0_DpT1_EEI4MerpS0_JicfEEEvEN1ScvS9_Ev", "Outer<Marp>::operator Muncher<Merp, Marp, int, char, float><Merp, Marp, int, char, float>()::S::operator Merp()"},
-    {"_ZN1Scv7MuncherIJDpPT_EEIJFivEA_iEEEv", "S::operator Muncher<int (*)(), int (*) []><int (), int []>()"},
-
-    {"_Z2f8IiJ8identityIiES0_IfEEEvRAsPiDpT0_T_DpNS3_4typeEE_i", "void f8<int, identity<int>, identity<float> >(int (&) [sizeof... (int, identity<int>, identity<float>, int, identity<int>::type, identity<float>::type)])"},
-
-    {"_ZNK13StaticMembersIfE1xMUlvE_clEv", "StaticMembers<float>::x::'lambda'()::operator()() const"},
-    {"_ZNK10inline_varMUlvE_clEv", "inline_var::'lambda'()::operator()() const"},
-    // C++1z fold expressions:
-    {"_Z6foldl1IJLi1ELi2ELi3EEEv1AIXfLplLi1ET_EE", "void foldl1<1, 2, 3>(A<(1 + ... + (1, 2, 3))>)"},
-    {"_Z6foldr1IJLi1ELi2ELi3EEEv1AIXfRplT_Li1EEE", "void foldr1<1, 2, 3>(A<((1, 2, 3) + ... + 1)>)"},
-    {"_Z5foldlIJLi1ELi2ELi3EEEv1AIXflplT_EE", "void foldl<1, 2, 3>(A<(... + (1, 2, 3))>)"},
-    {"_Z5foldrIJLi1ELi2ELi3EEEv1AIXfrplT_EE", "void foldr<1, 2, 3>(A<((1, 2, 3) + ...)>)"},
-    {"_ZN7PartialIJLi1ELi2EEE5foldrIJLi3ELi4EEEEv1AIXplLi1EplLi2EfRplT_plLi1EplLi2EfrplT_EE", "void Partial<1, 2>::foldr<3, 4>(A<(1) + ((2) + (((3, 4) + ... + (1) + ((2) + (((3, 4) + ...))))))>)"},
-
-    // reference collapsing:
-    {"_Z1fIR1SEiOT_", "int f<S&>(S&)"},
-    {"_Z1fIJR1SS0_EEiDpOT_", "int f<S&, S>(S&, S&&)"},
-
-    {"___Z3foo_block_invoke.25", "invocation function for block in foo"},
-
-    // Darwin adds leading underscores to symbols, just demangle them anyways.
-    {"____Z3foo_block_invoke.25", "invocation function for block in foo"},
-    {"__Z1fv", "f()"},
-
-    {"_Z2tfIZUb_E1SEiv", "int tf<'block-literal'::S>()"},
-
-    // Vendor extension types are substitution candidates.
-    {"_Z1fu3fooS_", "f(foo, foo)"},
-
-    {"_ZN3FooIXu8__uuidofzdeL_Z3sucEEEC1Ev", "Foo<__uuidof(*(suc))>::Foo()"},
-    {"_ZN3FooIXu8__uuidoft13SomeUUIDClassEEC1Ev", "Foo<__uuidof(SomeUUIDClass)>::Foo()"},
-
-    // C++2a char8_t:
-    {"_ZTSPDu", "typeinfo name for char8_t*"},
-};
-
-const unsigned N = sizeof(cases) / sizeof(cases[0]);
-
-struct FPLiteralCase {
-    const char *mangled;
-    // There are four possible demanglings of a given float.
-    std::string expecting[4];
-} fp_literal_cases[] =
-{
-    {"_ZN5test01gIfEEvRAszplcvT__ELf40a00000E_c", {
-        "void test0::g<float>(char (&) [sizeof (((float)()) + (0x1.4p+2f))])",
-        "void test0::g<float>(char (&) [sizeof (((float)()) + (0x2.8p+1f))])",
-        "void test0::g<float>(char (&) [sizeof (((float)()) + (0x5p+0f))])",
-        "void test0::g<float>(char (&) [sizeof (((float)()) + (0xap-1f))])",
-    }},
-    {"_ZN5test01hIfEEvRAszplcvT__ELd4014000000000000E_c", {
-        "void test0::h<float>(char (&) [sizeof (((float)()) + (0x1.4p+2))])",
-        "void test0::h<float>(char (&) [sizeof (((float)()) + (0x2.8p+1))])",
-        "void test0::h<float>(char (&) [sizeof (((float)()) + (0x5p+0))])",
-        "void test0::h<float>(char (&) [sizeof (((float)()) + (0xap-1))])",
-    }},
-#if LDBL_FP80
-    {"_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c", {
-        "void test0::h<float>(char (&) [(unsigned int)((sizeof (float)) + (0x1.4p+2L))])",
-        "void test0::h<float>(char (&) [(unsigned int)((sizeof (float)) + (0x2.8p+1L))])",
-        "void test0::h<float>(char (&) [(unsigned int)((sizeof (float)) + (0x5p+0L))])",
-        "void test0::h<float>(char (&) [(unsigned int)((sizeof (float)) + (0xap-1L))])",
-    }},
-#endif
-};
-const unsigned NF = sizeof(fp_literal_cases) / sizeof(fp_literal_cases[0]);
-const unsigned NEF = sizeof(fp_literal_cases[0].expecting) / sizeof(fp_literal_cases[0].expecting[0]);
-
-
-const char* invalid_cases[] =
-{
-    "_ZIPPreEncode",
-    "Agentt",
-    "NSoERj5E=Y1[uM:ga",
-    "Aon_PmKVPDk7?fg4XP5smMUL6;<WsI_mgbf23cCgsHbT<l8EE\0uVRkNOoXDrgdA4[8IU>Vl<>IL8ayHpiVDDDXTY;^o9;i",
-    "_ZNSt16allocator_traitsISaIN4llvm3sys2fs18directory_iteratorEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_",
-#if !LDBL_FP80
-    "_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c",
-#endif
-	// The following test cases were found by libFuzzer+ASAN
-    "\x44\x74\x70\x74\x71\x75\x34\x43\x41\x72\x4D\x6E\x65\x34\x9F\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x34\xD3\x73\x9E\x2A\x37",
-    "\x4D\x41\x72\x63\x4E\x39\x44\x76\x72\x4D\x34\x44\x53\x4B\x6F\x44\x54\x6E\x61\x37\x47\x77\x78\x38\x43\x27\x41\x5F\x73\x70\x69\x45*",
-    "\x41\x64\x6E\x32*",
-    "\x43\x46\x41\x67\x73*",
-    "\x72\x3A\x4E\x53\x64\x45\x39\x4F\x52\x4E\x1F\x43\x34\x64\x54\x5F\x49\x31\x41\x63\x6C\x37\x2A\x4D\x41\x67\x73\x76\x43\x54\x35\x5F\x49\x4B\x4C\x55\x6C\x73\x4C\x38\x64\x43\x41\x47\x4C\x5A\x28\x4F\x41\x6E\x77\x5F\x53\x6F\x70\x69\x45\x5F\x63\x47\x61\x4C\x31\x4F\x4C\x33\x3E\x41\x4C\x4B\x4C\x55\x6C\x73\x4C\x38\x64\x43\x66\x41\x47\x4C\x5A\x28\x4F\x41\x6E\x77\x5F\x53\x6F\x70\x69\x45\x5F\x37\x41*",
-    "\x2D\x5F\x63\x47\x4F\x63\xD3",
-    "\x44\x74\x70\x74\x71\x75\x32\x43\x41\x38\x65\x6E\x9B\x72\x4D\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\xC3\x53\xF9\x5F\x70\x74\x70\x69\x45\x38\xD3\x73\x9E\x2A\x37",
-    "\x4C\x5A\x4C\x55\x6C\x4D\x41\x5F\x41\x67\x74\x71\x75\x34\x4D\x41\x64\x73\x4C\x44\x76\x72\x4D\x34\x44\x4B\x44\x54\x6E\x61\x37\x47\x77\x78\x38\x43\x27\x41\x5F\x73\x70\x69\x45\x6D\x73\x72\x53\x41\x6F\x41\x7B",
-    "\x44\x74\x70\x74\x71\x75\x32\x43\x41\x38\x65\x6E\x9B\x72\x4D\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x2C\x53\xF9\x5F\x70\x74\x70\x69\x45\xB4\xD3\x73\x9F\x2A\x37",
-    "\x4C\x5A\x4C\x55\x6C\x69\x4D\x73\x72\x53\x6F\x7A\x41\x5F\x41\x67\x74\x71\x75\x32\x4D\x41\x64\x73\x39\x28\x76\x72\x4D\x34\x44\x4B\x45\x54\x6E\x61\x37\x47\x77\x78\x38\x43\x27\x41\x5F\x73\x70\x69\x45\x6F\x45\x49\x6D\x1A\x4C\x53\x38\x6A\x7A\x5A",
-    "\x44\x74\x63*",
-    "\x44\x74\x71\x75\x35\x2A\xDF\x74\x44\x61\x73\x63\x35\x2A\x3B\x41\x72\x4D\x6E\x65\x34\x9F\xC1\x63\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x33\x44\x76\x35",
-    "\x44\x74\x70\x74\x71\x75\x32\x43\x41\x38\x65\x6E\x9B\x72\x4D\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x38\xD3\x73\x9E\x2A\x37",
-    "\x46\x44\x74\x70\x74\x71\x75\x32\x43\x41\x72\x4D\x6E\x65\x34\x9F\xC1\x43\x41\x72\x4D\x6E\x77\x38\x9A\x8E\x44\x6F\x64\x6C\x53\xF9\x5F\x70\x74\x70\x69\x45\x34\xD3\x73\x9E\x2A\x37\x72\x33\x8E\x3A\x29\x8E\x44\x35",
-    "_ZcvCiIJEEDvT__FFFFT_vT_v",
-    "Z1JIJ1_T_EE3o00EUlT_E0",
-    "___Z2i_D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D",
-    "ZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIDv_ZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIDv_ZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIDv_Dv_Dv_Dv_Dv_dZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIDv_ZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIDv_ZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIZcvSdIDv_Dv_Dv_Dv_Dv_d",
-    "Z1 Z1 IJEEAcvZcvT_EcvT_T_",
-    "T_IZaaIJEEAnaaaT_T__",
-    "PT_IJPNT_IJEET_T_T_T_)J)JKE",
-    "1 IJEVNT_T_T_EE",
-    "AT__ZSiIJEEAnwscT_T__",
-    "FSiIJEENT_IoE ",
-    "ZTVSiIZTVSiIZTVSiIZTVSiINIJEET_T_T_T_T_ ",
-    "Ana_T_E_T_IJEffffffffffffffersfffffrsrsffffffbgE",
-};
-
-const unsigned NI = sizeof(invalid_cases) / sizeof(invalid_cases[0]);
-
-void test()
-{
-    std::size_t len = 0;
-    char* buf = nullptr;
-    bool failed = false;
-    for (unsigned i = 0; i < N; ++i)
-    {
-        int status;
-        char* demang = __cxxabiv1::__cxa_demangle(cases[i][0], buf, &len, &status);
-        if (demang == 0 || std::strcmp(demang, cases[i][1]) != 0)
-        {
-            std::cout << "ERROR demangling " << cases[i][0] << '\n'
-                      << "expected: " << cases[i][1] << std::endl;
-            if (demang)
-            {
-                std::cout << " reality: " << demang << '\n' << std::endl;
-                buf = demang;
-                failed = true;
-            }
-            else
-            {
-                std::cout << "Got instead: NULL, " << status << '\n';
-                failed = true;
-            }
-        }
-        else
-        {
-            buf = demang;
-        }
-    }
-    assert(!failed);
-    free(buf);
-}
-
-void test_invalid_cases()
-{
-    std::size_t len = 0;
-    char* buf = nullptr;
-    for (unsigned i = 0; i < NI; ++i)
-    {
-        int status;
-        char* demang = __cxxabiv1::__cxa_demangle(invalid_cases[i], buf, &len, &status);
-        if (status != -2)
-        {
-            std::cout << invalid_cases[i] << " should be invalid but is not\n" << " got status = " << status << '\n';
-            assert(status == -2);
-        }
-        else
-        {
-            buf = demang;
-        }
-    }
-    free(buf);
-}
-
-const char *xfail_cases[] = {
-    "_ZW6FooBarE2f3v", // C++ modules TS
-
-    // FIXME: Why does clang generate the "cp" expr?
-    "_ZN5test11bIsEEDTcp3foocvT__EEES1_",
-};
-
-const size_t num_xfails = sizeof(xfail_cases) / sizeof(xfail_cases[0]);
-
-void test_xfail_cases()
-{
-    std::size_t len = 0;
-    char* buf = nullptr;
-    for (std::size_t i = 0; i < num_xfails; ++i)
-    {
-        int status;
-        char* demang = __cxxabiv1::__cxa_demangle(xfail_cases[i], buf, &len, &status);
-        if (status != -2)
-        {
-            std::cout << xfail_cases[i] << " was documented as xfail but passed\n"
-                      << "got status = " << status << '\n';
-            assert(status == -2);
-        }
-        else
-        {
-            buf = demang;
-        }
-    }
-    free(buf);
-}
-
-void testFPLiterals()
-{
-    std::size_t len = 0;
-    char* buf = nullptr;
-    for (unsigned i = 0; i < NF; ++i)
-    {
-        FPLiteralCase *fpCase = fp_literal_cases+i;
-        int status;
-        char* demang = __cxxabiv1::__cxa_demangle(fpCase->mangled, buf, &len, &status);
-        if (demang == 0)
-        {
-            std::cout << fpCase->mangled << " -> " << fpCase->expecting[0] << '\n';
-            std::cout << "Got instead: NULL, " << status << '\n';
-            assert(false);
-            continue;
-        }
-        std::string *e_beg = fpCase->expecting;
-        std::string *e_end = fpCase->expecting + NEF;
-        if (std::find(e_beg, e_end, demang) == e_end)
-        {
-            std::cout << fpCase->mangled << " -> " << fpCase->expecting[0] << '\n';
-            std::cout << "Got instead: " << demang << '\n';
-            assert(false);
-            continue;
-        }
-        buf = demang;
-    }
-    free(buf);
-}
-
-int main()
-{
-    std::cout << "Testing " << N << " symbols." << std::endl;
-    {
-        timer t;
-        test();
-        test_invalid_cases();
-        test_xfail_cases();
-        testFPLiterals();
-    }
-#if 0
-    std::string input;
-    while (std::cin)
-    {
-        std::getline(std::cin, input);
-        if (std::cin.fail())
-            break;
-        std::size_t len = 0;
-        int status;
-        len = 0;
-        char* demang = abi::__cxa_demangle(input.c_str(), 0, &len, &status);
-        switch (status)
-        {
-        case -3:
-            std::cout << "Invalid arguments\n";
-            break;
-        case -2:
-            std::cout << "Invalid mangled name\n";
-            break;
-        case -1:
-            std::cout << "memory allocation failure\n";
-            break;
-        case 0:
-            std::cout << "len = " << len << '\n';
-            std::cout << demang << '\n';
-            std::free(demang);
-            break;
-        case 1:
-            std::cout << "not immplemented\n";
-            break;
-        }
-        std::cout << '\n';
-    }
-#endif
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_exception_address_alignment.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/test_exception_address_alignment.pass.cpp
deleted file mode 100644
index 16a896f..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/test_exception_address_alignment.pass.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-// UNSUPPORTED: c++98, c++03
-
-// The system unwind.h on OS X provides an incorrectly aligned _Unwind_Exception
-// type. That causes these tests to fail. This XFAIL is my best attempt at
-// working around this failure.
-// XFAIL: darwin && libcxxabi-has-system-unwinder
-
-// Test that the address of the exception object is properly aligned as required
-// by the relevant ABI
-
-#include <cstdint>
-#include <cassert>
-#include <__cxxabi_config.h>
-
-#include <unwind.h>
-
-struct __attribute__((aligned)) AlignedType {};
-
-// EHABI  : 8-byte aligned
-// Itanium: Largest supported alignment for the system
-#if defined(_LIBCXXABI_ARM_EHABI)
-#  define EXPECTED_ALIGNMENT 8
-#else
-#  define EXPECTED_ALIGNMENT alignof(AlignedType)
-#endif
-
-static_assert(alignof(_Unwind_Exception) == EXPECTED_ALIGNMENT,
-  "_Unwind_Exception is incorrectly aligned. This test is expected to fail");
-
-struct MinAligned {  };
-static_assert(alignof(MinAligned) == 1 && sizeof(MinAligned) == 1, "");
-
-int main() {
-  for (int i=0; i < 10; ++i) {
-    try {
-      throw MinAligned{};
-    } catch (MinAligned const& ref) {
-      assert(reinterpret_cast<uintptr_t>(&ref) % EXPECTED_ALIGNMENT == 0);
-    }
-  }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_vector2.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/test_vector2.pass.cpp
deleted file mode 100644
index e08abbb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/test_vector2.pass.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-//===--------------------------- test_vector2.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include "cxxabi.h"
-
-#include <iostream>
-#include <cstdlib>
-
-void my_terminate () { exit ( 0 ); }
-
-//  Wrapper routines
-void *my_alloc2 ( size_t sz ) {
-    void *p = std::malloc ( sz );
-//  std::printf ( "Allocated %ld bytes at %lx\n", sz, (unsigned long) p );  
-    return p;
-    }
-    
-void my_dealloc2 ( void *p ) {
-//  std::printf ( "Freeing %lx\n", (unsigned long) p ); 
-    std::free ( p ); 
-    }
-
-void my_dealloc3 ( void *p, size_t ) {
-//  std::printf ( "Freeing %lx (size %ld)\n", (unsigned long) p, sz );  
-    std::free ( p ); 
-    }
-
-void my_construct ( void *) {
-//  std::printf ( "Constructing %lx\n", (unsigned long) p );
-    }
-
-void my_destruct  ( void *) {
-//  std::printf ( "Destructing  %lx\n", (unsigned long) p );
-    }
-
-int gCounter;
-void count_construct ( void * ) { ++gCounter; }
-void count_destruct  ( void * ) { --gCounter; }
-
-
-int gConstructorCounter;
-int gConstructorThrowTarget;
-int gDestructorCounter;
-int gDestructorThrowTarget;
-void throw_construct ( void * ) { if ( gConstructorCounter   == gConstructorThrowTarget ) throw 1; ++gConstructorCounter; }
-void throw_destruct  ( void * ) { if ( ++gDestructorCounter  == gDestructorThrowTarget  ) throw 2; }
-
-struct vec_on_stack {
-    void *storage;
-    vec_on_stack () : storage ( __cxxabiv1::__cxa_vec_new    (            10, 40, 8, throw_construct, throw_destruct )) {}
-    ~vec_on_stack () {          __cxxabiv1::__cxa_vec_delete ( storage,       40, 8,                  throw_destruct );  }
-    };
-
-
-//  Make sure the constructors and destructors are matched
-void test_exception_in_destructor ( ) {
-
-//  Try throwing from a destructor while unwinding the stack -- should abort
-    gConstructorCounter = gDestructorCounter = 0;
-    gConstructorThrowTarget = -1;
-    gDestructorThrowTarget  = 5;
-    try {
-        vec_on_stack v;
-        throw 3;
-        }
-    catch ( int i ) {}
-
-    std::cerr << "should never get here" << std::endl;    
-    }
-
-
-
-int main () {
-    std::set_terminate ( my_terminate );
-    test_exception_in_destructor ();
-    return 1;       // we failed if we get here
-    }
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/test_vector3.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/test_vector3.pass.cpp
deleted file mode 100644
index 4068b7f..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/test_vector3.pass.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//===------------------------- test_vector3.cpp ---------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include "cxxabi.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <exception>
-
-#include <memory>
-
-// use dtors instead of try/catch
-namespace test1 {
-    struct B {
-         ~B() {
-            printf("should not be run\n");
-            exit(10);
-            }
-};
-
-struct A {
- ~A()
-#if __has_feature(cxx_noexcept)
-    noexcept(false)
-#endif
- {
-   B b;
-   throw 0;
- }
-};
-}  // test1
-
-void my_terminate() { exit(0); }
-
-template <class T>
-void destroy(void* v)
-{
-  T* t = static_cast<T*>(v);
-  t->~T();
-}
-
-int main()
-{
-  std::set_terminate(my_terminate);
-  {
-  typedef test1::A Array[10];
-  Array a[10]; // calls _cxa_vec_dtor
-  __cxxabiv1::__cxa_vec_dtor(a, 10, sizeof(test1::A), destroy<test1::A>);
-  assert(false);
-  }
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/testit b/r21/sources/cxx-stl/llvm-libc++abi/test/testit
deleted file mode 100755
index eca0b37..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/testit
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/bin/sh
-#===------------------------------ testit ----------------------------------===#
-#
-# 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
-#
-#===------------------------------------------------------------------------===#
-
-if [ -z "$CC" ]
-then
-	CC=clang++
-fi
-
-if [ -z "$OPTIONS" ]
-then
-	OPTIONS="-std=c++0x -stdlib=libc++"
-fi
-
-case $TRIPLE in
-  *-*-mingw* | *-*-cygwin* | *-*-win*)
-	TEST_EXE=test.exe
-    ;;
-  *)
-    TEST_EXE=a.out
-    ;;
-esac
-
-FAIL=0
-PASS=0
-UNIMPLEMENTED=0
-IMPLEMENTED_FAIL=0
-IMPLEMENTED_PASS=0
-
-afunc()
-{
-	fail=0
-	pass=0
-	if (ls *.fail.cpp > /dev/null 2>&1)
-	then
-		for FILE in $(ls *.fail.cpp); do
-			if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE > /dev/null 2>&1
-			then
-				rm ./$TEST_EXE
-				echo "$FILE should not compile"
-				fail=$(($fail + 1))
-			else
-				pass=$(($pass + 1))
-			fi
-		done
-	fi
-
-	if (ls *.cpp > /dev/null 2>&1)
-	then
-		for FILE in $(ls *.pass.cpp); do
-			if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE
-			then
-				if ./$TEST_EXE
-				then
-					rm ./$TEST_EXE
-					pass=$(($pass + 1))
-				else
-					echo "$FILE failed at run time"
-					fail=$(($fail + 1))
-					rm ./$TEST_EXE
-				fi
-			else
-				echo "$FILE failed to compile"
-				fail=$(($fail + 1))
-			fi
-		done
-	fi
-
-	if [ $fail -gt 0 ]
-	then
-		echo "failed $fail tests in `pwd`"
-		IMPLEMENTED_FAIL=$(($IMPLEMENTED_FAIL + 1))
-	fi
-	if [ $pass -gt 0 ]
-	then
-		echo "passed $pass tests in `pwd`"
-		if [ $fail -eq 0 ]
-		then
-			IMPLEMENTED_PASS=$(($IMPLEMENTED_PASS + 1))
-		fi
-	fi
-	if [ $fail -eq 0 -a $pass -eq 0 ]
-	then
-		echo "not implemented:  `pwd`"
-		UNIMPLEMENTED=$(($UNIMPLEMENTED + 1))
-	fi
-
-	FAIL=$(($FAIL + $fail))
-	PASS=$(($PASS + $pass))
-
-	for FILE in *
-	do
-		if [ -d "$FILE" ];
-		then
-			cd $FILE
-			afunc
-			cd ..
-		fi
-	done
-}
-
-afunc
-
-echo "****************************************************"
-echo "Results for `pwd`:"
-echo "using `$CC --version`"
-echo "with $OPTIONS $HEADER_INCLUDE $SOURCE_LIB"
-echo "----------------------------------------------------"
-echo "sections without tests   : $UNIMPLEMENTED"
-echo "sections with failures   : $IMPLEMENTED_FAIL"
-echo "sections without failures: $IMPLEMENTED_PASS"
-echo "                       +   ----"
-echo "total number of sections : $(($UNIMPLEMENTED+$IMPLEMENTED_FAIL+$IMPLEMENTED_PASS))"
-echo "----------------------------------------------------"
-echo "number of tests failed   : $FAIL"
-echo "number of tests passed   : $PASS"
-echo "                       +   ----"
-echo "total number of tests    : $(($FAIL+$PASS))"
-echo "****************************************************"
-
-exit $FAIL
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/uncaught_exception.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/uncaught_exception.pass.cpp
deleted file mode 100644
index 626f4cb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/uncaught_exception.pass.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//===------------------- uncaught_exceptions.pass.cpp ---------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-// This tests that libc++abi still provides __cxa_uncaught_exception() for
-// ABI compatibility, even though the Standard doesn't require it to.
-
-#include <cxxabi.h>
-#include <cassert>
-
-// namespace __cxxabiv1 {
-//      extern bool __cxa_uncaught_exception () throw();
-// }
-
-struct A {
-    ~A() { assert( __cxxabiv1::__cxa_uncaught_exception()); }
-};
-
-int main () {
-    try { A a; throw 3; assert(false); }
-    catch (int) {}
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/uncaught_exceptions.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/uncaught_exceptions.pass.cpp
deleted file mode 100644
index f4b2d36..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/uncaught_exceptions.pass.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//===------------------- uncaught_exceptions.pass.cpp ---------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <cxxabi.h>
-#include <cassert>
-
-// namespace __cxxabiv1 {
-//      extern unsigned int __cxa_uncaught_exceptions() throw();
-// }
-
-struct A {
-    A(unsigned cnt) : data_(cnt) {}
-    ~A() { assert( data_ == __cxxabiv1::__cxa_uncaught_exceptions()); }
-    unsigned data_;
-};
-
-int main () {
-    try { A a(1); throw 3; assert(false); }
-    catch (int) {}
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_01.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_01.pass.cpp
deleted file mode 100644
index 97e10eb..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_01.pass.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-//===------------------------- unwind_01.cpp ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <assert.h>
-
-#if defined(__GNUC__)
-#pragma GCC diagnostic ignored "-Wunreachable-code"
-#endif
-
-struct A
-{
-    static int count;
-    int id_;
-    A() : id_(++count) {}
-    ~A() {assert(id_ == count--);}
-
-private:
-    A(const A&);
-    A& operator=(const A&);
-};
-
-int A::count = 0;
-
-struct B
-{
-    static int count;
-    int id_;
-    B() : id_(++count) {}
-    ~B() {assert(id_ == count--);}
-
-private:
-    B(const B&);
-    B& operator=(const B&);
-};
-
-int B::count = 0;
-
-struct C
-{
-    static int count;
-    int id_;
-    C() : id_(++count) {}
-    ~C() {assert(id_ == count--);}
-
-private:
-    C(const C&);
-    C& operator=(const C&);
-};
-
-int C::count = 0;
-
-void f2()
-{
-    C c;
-    A a;
-    throw 55;
-    B b;
-}
-
-void f1()
-{
-    A a;
-    B b;
-    f2();
-    C c;
-}
-
-int main()
-{
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (int* i)
-    {
-        assert(false);
-    }
-    catch (long i)
-    {
-        assert(false);
-    }
-    catch (int i)
-    {
-        assert(i == 55);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-    assert(A::count == 0);
-    assert(B::count == 0);
-    assert(C::count == 0);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_02.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_02.pass.cpp
deleted file mode 100644
index e7a8479..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_02.pass.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-//===------------------------- unwind_02.cpp ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-// REQUIRES: c++98 || c++03 || c++11 || c++14
-
-#include <assert.h>
-
-#if defined(__GNUC__)
-#pragma GCC diagnostic ignored "-Wunreachable-code"
-#endif
-
-struct A
-{
-    static int count;
-    int id_;
-    A() : id_(++count) {}
-    ~A() {assert(id_ == count--);}
-
-private:
-    A(const A&);
-    A& operator=(const A&);
-};
-
-int A::count = 0;
-
-struct B
-{
-    static int count;
-    int id_;
-    B() : id_(++count) {}
-    ~B() {assert(id_ == count--);}
-
-private:
-    B(const B&);
-    B& operator=(const B&);
-};
-
-int B::count = 0;
-
-struct C
-{
-    static int count;
-    int id_;
-    C() : id_(++count) {}
-    ~C() {assert(id_ == count--);}
-
-private:
-    C(const C&);
-    C& operator=(const C&);
-};
-
-int C::count = 0;
-
-void f2()
-{
-    C c;
-    A a;
-    throw 55;
-    B b;
-}
-
-void f1() throw (long, char, int, double)
-{
-    A a;
-    B b;
-    f2();
-    C c;
-}
-
-int main()
-{
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (int* i)
-    {
-        assert(false);
-    }
-    catch (long i)
-    {
-        assert(false);
-    }
-    catch (int i)
-    {
-        assert(i == 55);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-    assert(A::count == 0);
-    assert(B::count == 0);
-    assert(C::count == 0);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_03.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_03.pass.cpp
deleted file mode 100644
index 38962c6..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_03.pass.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//===------------------------- unwind_03.cpp ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-// REQUIRES: c++98 || c++03 || c++11 || c++14
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-#if defined(__GNUC__)
-#pragma GCC diagnostic ignored "-Wunreachable-code"
-#endif
-
-struct A
-{
-    static int count;
-    int id_;
-    A() : id_(++count) {}
-    ~A() {assert(id_ == count--);}
-
-private:
-    A(const A&);
-    A& operator=(const A&);
-};
-
-int A::count = 0;
-
-struct B
-{
-    static int count;
-    int id_;
-    B() : id_(++count) {}
-    ~B() {assert(id_ == count--);}
-
-private:
-    B(const B&);
-    B& operator=(const B&);
-};
-
-int B::count = 0;
-
-struct C
-{
-    static int count;
-    int id_;
-    C() : id_(++count) {}
-    ~C() {assert(id_ == count--);}
-
-private:
-    C(const C&);
-    C& operator=(const C&);
-};
-
-int C::count = 0;
-
-void f2()
-{
-    C c;
-    A a;
-    throw 55;
-    B b;
-}
-
-void f1() throw (long, char, double)
-{
-    A a;
-    B b;
-    f2();
-    C c;
-}
-
-void u_handler()
-{
-    exit(0);
-}
-
-int main()
-{
-    std::set_unexpected(u_handler);
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (int* i)
-    {
-        assert(false);
-    }
-    catch (long i)
-    {
-        assert(false);
-    }
-    catch (int i)
-    {
-        assert(i == 55);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-    assert(false);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_04.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_04.pass.cpp
deleted file mode 100644
index 45669c3..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_04.pass.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-//===------------------------- unwind_04.cpp ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-// REQUIRES: c++98 || c++03 || c++11 || c++14
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-#if defined(__GNUC__)
-#pragma GCC diagnostic ignored "-Wunreachable-code"
-#endif
-
-struct A
-{
-    static int count;
-    int id_;
-    A() : id_(++count) {}
-    ~A() {assert(id_ == count--);}
-
-private:
-    A(const A&);
-    A& operator=(const A&);
-};
-
-int A::count = 0;
-
-struct B
-{
-    static int count;
-    int id_;
-    B() : id_(++count) {}
-    ~B() {assert(id_ == count--);}
-
-private:
-    B(const B&);
-    B& operator=(const B&);
-};
-
-int B::count = 0;
-
-struct C
-{
-    static int count;
-    int id_;
-    C() : id_(++count) {}
-    ~C() {assert(id_ == count--);}
-
-private:
-    C(const C&);
-    C& operator=(const C&);
-};
-
-int C::count = 0;
-
-void f2()
-{
-    C c;
-    A a;
-    throw 55;
-    B b;
-}
-
-void f1() throw (long, char, double)
-{
-    A a;
-    B b;
-    f2();
-    C c;
-}
-
-void u_handler()
-{
-    throw 'a';
-}
-
-int main()
-{
-    std::set_unexpected(u_handler);
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (int* i)
-    {
-        assert(false);
-    }
-    catch (long i)
-    {
-        assert(false);
-    }
-    catch (int i)
-    {
-        assert(false);
-    }
-    catch (char c)
-    {
-        assert(c == 'a');
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-    assert(A::count == 0);
-    assert(B::count == 0);
-    assert(C::count == 0);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_05.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_05.pass.cpp
deleted file mode 100644
index efd724a..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_05.pass.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-//===------------------------- unwind_05.cpp ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-// REQUIRES: c++98 || c++03 || c++11 || c++14
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-
-#if defined(__GNUC__)
-#pragma GCC diagnostic ignored "-Wunreachable-code"
-#endif
-
-struct A
-{
-    static int count;
-    int id_;
-    A() : id_(++count) {}
-    ~A() {assert(id_ == count--);}
-
-private:
-    A(const A&);
-    A& operator=(const A&);
-};
-
-int A::count = 0;
-
-struct B
-{
-    static int count;
-    int id_;
-    B() : id_(++count) {}
-    ~B() {assert(id_ == count--);}
-
-private:
-    B(const B&);
-    B& operator=(const B&);
-};
-
-int B::count = 0;
-
-struct C
-{
-    static int count;
-    int id_;
-    C() : id_(++count) {}
-    ~C() {assert(id_ == count--);}
-
-private:
-    C(const C&);
-    C& operator=(const C&);
-};
-
-int C::count = 0;
-
-void f2()
-{
-    C c;
-    A a;
-    throw 55;
-    B b;
-}
-
-void f1() throw (long, char, double, std::bad_exception)
-{
-    A a;
-    B b;
-    f2();
-    C c;
-}
-
-void u_handler()
-{
-    throw;
-}
-
-int main()
-{
-    std::set_unexpected(u_handler);
-    try
-    {
-        f1();
-        assert(false);
-    }
-    catch (int* i)
-    {
-        assert(false);
-    }
-    catch (long i)
-    {
-        assert(false);
-    }
-    catch (int i)
-    {
-        assert(false);
-    }
-    catch (char c)
-    {
-        assert(false);
-    }
-    catch (const std::bad_exception& e)
-    {
-        assert(true);
-    }
-    catch (...)
-    {
-        assert(false);
-    }
-    assert(A::count == 0);
-    assert(B::count == 0);
-    assert(C::count == 0);
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_06.pass.cpp b/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_06.pass.cpp
deleted file mode 100644
index e4c04e8..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/test/unwind_06.pass.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-//===------------------------- unwind_06.cpp ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-exceptions
-
-#include <exception>
-#include <stdlib.h>
-#include <assert.h>
-#include <stdio.h>
-
-// Compile with -Os to get compiler uses float registers to hold float variables
-
-double get_(int x) { return (double)x; }
-
-double (* volatile get)(int) = get_;
-
-volatile int counter;
-
-double try1(bool v) {
-  double a = get(0);
-  double b = get(1);
-  for (counter = 100; counter; --counter)
-    a += get(1) + b;
-  if (v) throw 10;
-  return get(0)+a+b;
-}
-
-double try2(bool v) {
-  double a = get(0);
-  double b = get(1);
-  double c = get(2);
-  for (counter = 100; counter; --counter)
-    a += get(1) + b + c;
-  if (v) throw 10;
-  return get(0)+a+b+c;
-}
-
-double try3(bool v) {
-  double a = get(0);
-  double b = get(1);
-  double c = get(2);
-  double d = get(3);
-  for (counter = 100; counter; --counter)
-    a += get(1) + b + c + d;
-  if (v) throw 10;
-  return get(0)+a+b+c+d;
-}
-
-double try4(bool v) {
-  double a = get(0);
-  double b = get(0);
-  double c = get(0);
-  double d = get(0);
-  double e = get(0);
-  for (counter = 100; counter; --counter)
-    a += get(1) + b+c+d+e;
-  if (v) throw 10;
-  return get(0)+a+b+c+d+e;
-}
-
-double try5(bool v) {
-  double a = get(0);
-  double b = get(0);
-  double c = get(0);
-  double d = get(0);
-  double e = get(0);
-  double f = get(0);
-  for (counter = 100; counter; --counter)
-    a += get(1) + b+c+d+e+f;
-  if (v) throw 10;
-  return get(0)+a+b+c+d+e+f;
-}
-
-double try6(bool v) {
-  double a = get(0);
-  double b = get(0);
-  double c = get(0);
-  double d = get(0);
-  double e = get(0);
-  double f = get(0);
-  double g = get(0);
-  for (counter = 100; counter; --counter)
-    a += get(1) + b+c+d+e+f+g;
-  if (v) throw 10;
-  return get(0)+a+b+c+d+e+f+g;
-}
-
-double try7(bool v) {
-  double a = get(0);
-  double b = get(0);
-  double c = get(0);
-  double d = get(0);
-  double e = get(0);
-  double f = get(0);
-  double g = get(0);
-  double h = get(0);
-  for (counter = 100; counter; --counter)
-    a += get(1) + b+c+d+e+f+g+h;
-  if (v) throw 10;
-  return get(0)+a+b+c+d+e+f+g+h;
-}
-
-double try8(bool v) {
-  double a = get(0);
-  double b = get(0);
-  double c = get(0);
-  double d = get(0);
-  double e = get(0);
-  double f = get(0);
-  double g = get(0);
-  double h = get(0);
-  double i = get(0);
-  for (counter = 100; counter; --counter)
-    a += get(1) + b+c+d+e+f+g+h+i;
-  if (v) throw 10;
-  return get(0)+a+b+c+d+e+f+g+h+i;
-}
-
-
-
-
-
-double foo()
-{
-  double a = get(1);
-  double b = get(2);
-  double c = get(3);
-  double d = get(4);
-  double e = get(5);
-  double f = get(6);
-  double g = get(7);
-  double h = get(8);
-  try {
-    try1(true);    
-  }
-  catch (int e) {
-  }
-  assert(a == get(1));
-  assert(b == get(2));
-  assert(c == get(3));
-  assert(d == get(4));
-  assert(e == get(5));
-  assert(f == get(6));
-  assert(g == get(7));
-  assert(h == get(8));
-  
-  try {
-    try2(true);    
-  }
-  catch (int e) {
-  }
-  assert(a == get(1));
-  assert(b == get(2));
-  assert(c == get(3));
-  assert(d == get(4));
-  assert(e == get(5));
-  assert(f == get(6));
-  assert(g == get(7));
-  assert(h == get(8));
-  
-  try {
-    try3(true);    
-  }
-  catch (int e) {
-  }
-  assert(a == get(1));
-  assert(b == get(2));
-  assert(c == get(3));
-  assert(d == get(4));
-  assert(e == get(5));
-  assert(f == get(6));
-  assert(g == get(7));
-  assert(h == get(8));
-  
-  try {
-    try4(true);    
-  }
-  catch (int e) {
-  }
-  assert(a == get(1));
-  assert(b == get(2));
-  assert(c == get(3));
-  assert(d == get(4));
-  assert(e == get(5));
-  assert(f == get(6));
-  assert(g == get(7));
-  assert(h == get(8));
-  
-  try {
-    try5(true);    
-  }
-  catch (int e) {
-  }
-  assert(a == get(1));
-  assert(b == get(2));
-  assert(c == get(3));
-  assert(d == get(4));
-  assert(e == get(5));
-  assert(f == get(6));
-  assert(g == get(7));
-  assert(h == get(8));
-  
-  try {
-    try6(true);    
-  }
-  catch (int e) {
-  }
-  assert(a == get(1));
-  assert(b == get(2));
-  assert(c == get(3));
-  assert(d == get(4));
-  assert(e == get(5));
-  assert(f == get(6));
-  assert(g == get(7));
-  assert(h == get(8));
-  
-  try {
-    try7(true);    
-  }
-  catch (int e) {
-  }
-  assert(a == get(1));
-  assert(b == get(2));
-  assert(c == get(3));
-  assert(d == get(4));
-  assert(e == get(5));
-  assert(f == get(6));
-  assert(g == get(7));
-  assert(h == get(8));
-  
-  try {
-    try8(true);    
-  }
-  catch (int e) {
-  }
-  assert(a == get(1));
-  assert(b == get(2));
-  assert(c == get(3));
-  assert(d == get(4));
-  assert(e == get(5));
-  assert(f == get(6));
-  assert(g == get(7));
-  assert(h == get(8));
-
-  return a+b+c+d+e+f+g+h;
-}
-
-
-
-int main()
-{
-  foo();
-}
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/www/index.html b/r21/sources/cxx-stl/llvm-libc++abi/www/index.html
deleted file mode 100644
index d178198..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/www/index.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
-          "http://www.w3.org/TR/html4/strict.dtd">
-<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
-<html>
-<head>
-  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-  <title>"libc++abi" C++ Standard Library Support</title>
-  <link type="text/css" rel="stylesheet" href="menu.css">
-  <link type="text/css" rel="stylesheet" href="content.css">
-</head>
-
-<body>
-<div id="menu">
-  <div>
-    <a href="http://llvm.org/">LLVM Home</a>
-  </div>
-
-  <div class="submenu">
-    <label>libc++abi Info</label>
-    <a href="/index.html">About</a>
-  </div>
-
-  <div class="submenu">
-    <label>Quick Links</label>
-    <a href="https://libcxx.llvm.org/">libc++</a>
-    <a href="http://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
-    <a href="http://lists.llvm.org/mailman/listinfo/libcxx-commits">libcxx-commits</a>
-    <a href="http://llvm.org/bugs/">Bug Reports</a>
-    <a href="https://github.com/llvm/llvm-project/tree/master/libcxxabi/">Browse Sources</a>
-  </div>
-</div>
-
-<div id="content">
-  <!--*********************************************************************-->
-  <h1>"libc++abi" C++ Standard Library Support</h1>
-  <!--*********************************************************************-->
-
-  <p>libc++abi is a new implementation of low level support for a standard
-     C++ library.</p>
-
-  <p>All of the code in libc++abi is <a
-     href="http://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
-     under the MIT license and the UIUC License (a BSD-like license).</p>
-
-  <!--=====================================================================-->
-  <h2 id="goals">Features and Goals</h2>
-  <!--=====================================================================-->
-
-    <ul>
-        <li>Correctness as defined by the C++11 standard.</li>
-        <li>Provide a portable sublayer to ease the porting of <a href="http://libcxx.llvm.org/">libc++</a></li>
-        <li>On Mac OS X, be ABI compatible with the existing low-level support.</li>
-    </ul>
-
-  <!--=====================================================================-->
-  <h2 id="requirements">Platform Support</h2>
-  <!--=====================================================================-->
-
-   <p>libc++abi is known to work on the following platforms, using clang.</p>
-
-    <ul>
-    <li>Darwin</li>
-    </ul>
-
-  <!--=====================================================================-->
-  <h2 id="dir-structure">Current Status</h2>
-  <!--=====================================================================-->
-
-   <p>libc++abi is complete.  <a href="spec.html">Here</a> is a
-   list of functionality.</p>
-
-  <!--=====================================================================-->
-  <h2>Get it and get involved!</h2>
-  <!--=====================================================================-->
-
-  <p>To check out the code (including llvm and others), use:</p>
-
-  <ul>
-  <li><code>git clone https://github.com/llvm/llvm-project.git</code></li>
-  </ul>
-
-  <p>To build:</p>
-  <ul>
-  <li><code>cd llvm-project</code></li>
-  <li><code>mkdir build &amp;&amp; cd build</code></li>
-  <li><code>cmake -DLLVM_ENABLE_PROJECTS=libcxxabi ../llvm # on linux you may need to specify -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++</code></li>
-  <li><code>make</code></li>
-  </ul>
-
-  <p>To do a standalone build:</p>
-  <ul>
-  <li>
-    Check out the source tree. This includes the other subprojects, but you'll only use the libcxxabi part.
-  </li>
-  <li><code>cd llvm-project</code></li>
-  <li><code>mkdir build-libcxxabi &amp;&amp; cd build-libcxxabi</code></li>
-  <li><code>cmake -DLIBCXXABI_LIBCXX_PATH=path/to/libcxx ../libcxxabi # on
-    linux you may need -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++</code></li>
-  <li><code>make</code></li>
-  </ul>
-  <p> By default CMake uses <code>llvm-config</code> to locate the required
-      LLVM sources. If CMake cannot find <code>llvm-config</code> then you must
-      configure CMake using either of the following options.
-  </p>
-  <ul>
-  <li><code>-DLLVM_CONFIG_PATH=path/to/llvm-config</code></li>
-  <li><code>-DLLVM_PATH=path/to/llvm-source-root</code></li>
-  </ul>
-
-  </p>
-
-  <p>To run the tests:</p>
-  <ul>
-  <li><code>make check-cxxabi</code></li>
-  </ul>
-  <p>Note: in a standalone build, the system's libc++ will be used for tests. If
-  the system's libc++ was statically linked against libc++abi (or linked against
-  a different ABI library), this may interfere with test results.</p>
-
-  <p>Send discussions to the
-  (<a href="http://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev mailing list</a>).</p>
-
-  <!--=====================================================================-->
-  <h2>Frequently asked questions</h2>
-  <!--=====================================================================-->
-
-  <p>Q: Why are the destructors for the standard exception classes defined in libc++abi?
-     They're just empty, can't they be defined inline?</p>
-  <p>A: The destructors for them live in libc++abi because they are "key" functions.
-     The Itanium ABI describes a "key" function as the first virtual declared.
-     And wherever the key function is defined, that is where the <code>type_info</code> gets defined.
-     And in libc++ types are the same type if and only if they have the same <code>type_info</code>
-     (as in there must be only one type info per type in the entire application).
-     And on OS X, libstdc++ and libc++ share these exception types.
-     So to be able to throw in one dylib and catch in another (a <code>std::exception</code> for example), 
-     there must be only one <code>std::exception type_info</code> in the entire app.
-     That typeinfo gets laid down beside <code>~exception()</code> in libc++abi (for both libstdc++ and libc++).</p>
-     <p>--Howard Hinnant</p>
-
-</div>
-</body>
-</html>
diff --git a/r21/sources/cxx-stl/llvm-libc++abi/www/spec.html b/r21/sources/cxx-stl/llvm-libc++abi/www/spec.html
deleted file mode 100644
index 2bb9ad9..0000000
--- a/r21/sources/cxx-stl/llvm-libc++abi/www/spec.html
+++ /dev/null
@@ -1,1016 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
-        "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-	<title>libc++abi spec</title>
-</head>
-<body>
-
-<table border=1>
-<tr>
-<th rowspan=2>libc++abi Specification</th>
-<th colspan=3>Completed ?</th>
-</tr>
-
-<tr>
-<th>darwin</th><th>linux</th><th>arm</th>
-</tr>
-
-<tr>
-<td  colspan=4 align="center">Memory management</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void* __cxa_allocate_exception(size_t thrown_size) throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Allocates memory to hold the exception to be thrown.
-<tt>thrown_size</tt> is the size of the exception object. Can allocate
-additional memory to hold private data. If memory can not be allocated, call
-<tt>std::terminate()</tt>.
-</p>
-<p>
-<i>Returns:</i> A pointer to the memory allocated for the exception object.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_free_exception(void * thrown_exception) throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Frees memory allocated by <tt>__cxa_allocate_exception</tt>.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void* __cxa_allocate_dependent_exception() throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Allocates memory to hold a "dependent" exception to be thrown.
-<tt>thrown_size</tt> is the size of the exception object. Can allocate
-additional memory to hold private data. If memory can not be allocated, call
-<tt>std::terminate()</tt>.
-</p>
-<p>
-<i>Returns:</i> A pointer to the memory allocated for the exception object.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_free_dependent_exception (void* dependent_exception) throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Frees memory allocated by <tt>__cxa_allocate_dependent_exception</tt>.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td  colspan=4 align="center">Exception Handling</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_throw(void* thrown_exception, struct std::type_info * tinfo, 
-                        void (*dest)(void*));</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void* __cxa_get_exception_ptr(void* exceptionObject) throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Returns:</i> The adjusted pointer to the exception object. (The adjusted
-pointer is typically computed by the personality routine during phase 1 and
-saved in the exception object.)
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void* __cxa_begin_catch(void* exceptionObject) throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-<ul>
-<li>Increment's the exception's handler count.</li>
-<li>Places the exception on the stack of currently-caught exceptions if it is
-not already there, linking the exception to the previous top of the stack.</li>
-<li>Decrements the uncaught_exception count.</li>
-</ul>
-<p>
-If the initialization of the catch parameter is trivial (e,g., there is no
-formal catch parameter, or the parameter has no copy constructor), the calls to
-<tt>__cxa_get_exception_ptr()</tt> and <tt>__cxa_begin_catch()</tt> may be
-combined into a single call to <tt>__cxa_begin_catch()</tt>.
-</p>
-<p>
-When the personality routine encounters a termination condition, it will call
-<tt>__cxa_begin_catch()</tt> to mark the exception as handled and then call
-<tt>terminate()</tt>, which shall not return to its caller.
-</p>
-<p>
-<i>Returns:</i> The adjusted pointer to the exception object.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_end_catch();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Locates the most recently caught exception and decrements its
-handler count. Removes the exception from the caughtÓexception stack, if the
-handler count goes to zero. Destroys the exception if the handler count goes to
-zero, and the exception was not re-thrown by throw. Collaboration between
-__cxa_rethrow() and __cxa_end_catch() is necessary to handle the last point.
-Though implementation-defined, one possibility is for __cxa_rethrow() to set a
-flag in the handlerCount member of the exception header to mark an exception
-being rethrown.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>std::type_info* __cxa_current_exception_type();</code>
-</p>
-<blockquote>
-<p>
-<i>Returns:</i> the type of the currently handled exception, or null if there
-are no caught exceptions.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_rethrow();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Marks the exception object on top of the caughtExceptions stack
-(in an implementation-defined way) as being rethrown. If the caughtExceptions
-stack is empty, it calls terminate() (see [C++FDIS] [except.throw], 15.1.8). It
-then returns to the handler that called it, which must call __cxa_end_catch(),
-perform any necessary cleanup, and finally call _Unwind_Resume() to continue
-unwinding.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void* __cxa_current_primary_exception() throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Increments the ownership count of the currently handled
-exception (if any) by one.
-</p>
-<p>
-<i>Returns:</i> the type of the currently handled exception, or null if there
-are no caught exceptions.  
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_decrement_exception_refcount(void* primary_exception) throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Decrements the ownership count of the exception by 1, and on
-zero calls <tt>_Unwind_DeleteException</tt> with the exception object.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>__cxa_eh_globals* __cxa_get_globals() throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Returns:</i> A pointer to the __cxa_eh_globals structure for the current
-thread, initializing it if necessary.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>__cxa_eh_globals* __cxa_get_globals_fast() throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Requires:</i> At least one prior call to __cxa_get_globals has been made from
-the current thread.
-</p>
-<p>
-<i>Returns:</i> A pointer to the __cxa_eh_globals structure for the current
-thread.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_increment_exception_refcount(void* primary_exception) throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Increments the ownership count of the referenced exception.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_rethrow_primary_exception(void* primary_exception);</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Implements <tt>std::rethrow_exception(exception_ptr p)</tt>.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>bool __cxa_uncaught_exception() throw();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-<p>
-<i>Returns:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>_Unwind_Reason_Code __gxx_personality_v0
-     (int, _Unwind_Action, _Unwind_Exception_Class,
-      struct _Unwind_Exception *, struct _Unwind_Context *);</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-<p>
-<i>Returns:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td colspan=4 align="center">Guard objects</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>int  __cxa_guard_acquire(uint64_t* guard_object);</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> This function is called before initialization takes place. If
-this function returns 1, either <code>__cxa_guard_release</code> or
-<code>__cxa_guard_abort</code> must be called with the same argument. The first
-byte of the <code>guard_object</code> is not modified by this function.
-</p>
-<p>
-On Darwin the implementation checks for deadlock.
-</p>
-<p>
-<i>Returns:</i> 1 if the initialization is not yet complete, otherwise 0.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_guard_release(uint64_t*);</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Sets the first byte of the guard object to a non-zero value.
-This function is called after initialization is complete. A thread-safe
-implementation will release the mutex acquired by __cxa_guard_acquire after
-setting the first byte of the guard object.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_guard_abort(uint64_t*);</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> This function is called if the initialization terminates by
-throwing an exception.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td colspan=4 align="center">Vector construction and destruction</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void* __cxa_vec_new(size_t element_count, 
-						   size_t element_size, 
-                           size_t padding_size, 
-						   void (*constructor)(void*),
-						   void (*destructor)(void*) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-<p>
-<i>Returns:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void* __cxa_vec_new2(size_t element_count,
- 						    size_t element_size, 
-                            size_t padding_size,
-						    void  (*constructor)(void*),
-						    void  (*destructor)(void*),
-                            void* (*alloc)(size_t), 
-                            void  (*dealloc)(void*) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-<p>
-<i>Returns:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void* __cxa_vec_new3(size_t element_count,
- 						    size_t element_size, 
-                            size_t padding_size,
-						    void  (*constructor)(void*),
-						    void  (*destructor)(void*),
-                            void* (*alloc)(size_t), 
-                            void  (*dealloc)(void*, size_t) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-<p>
-<i>Returns:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_vec_ctor(void*  array_address, 
-                           size_t element_count,
-                           size_t element_size, 
-						   void (*constructor)(void*),
-						   void (*destructor)(void*) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_vec_dtor(void*  array_address, 
-                           size_t element_count,
-						   size_t element_size, 
-						   void (*destructor)(void*) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_vec_cleanup(void* array_address, 
-                             size_t element_count,
-                             size_t element_size, 
-						     void (*destructor)(void*) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_vec_delete(void*  array_address, 
-                             size_t element_size, 
-                             size_t padding_size, 
-						     void  (*destructor)(void*) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_vec_delete2(void* array_address, 
-                             size_t element_size, 
-                             size_t padding_size, 
-						     void  (*destructor)(void*),
-                             void  (*dealloc)(void*) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_vec_delete3(void* __array_address, 
-                             size_t element_size, 
-                             size_t padding_size, 
-						     void  (*destructor)(void*),
-							 void  (*dealloc) (void*, size_t));</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_vec_cctor(void*  dest_array, 
-							void*  src_array, 
-							size_t element_count, 
-							size_t element_size, 
-							void  (*constructor) (void*, void*), 
-							void  (*destructor)(void*) );</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td colspan=4 align="center">Handlers</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void (*__cxa_new_handler)();</code>
-</p>
-<blockquote>
-<p>
-The currently installed new handler.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void (*__cxa_terminate_handler)();</code>
-</p>
-<blockquote>
-<p>
-The currently installed terminate handler.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void (*__cxa_unexpected_handler)();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-
-
-<tr>
-<td colspan=4 align="center">Utilities</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>[[noreturn]] void __cxa_bad_cast()</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>  Throws an exception of type <tt>bad_cast</tt>.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>[[noreturn]] void __cxa_bad_typeid();</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>  Throws an exception of type <tt>bad_typeid</tt>.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_pure_virtual(void);</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Called if the user calls a non-overridden pure virtual function,
-which has undefined behavior according to the C++ Standard. Ends the program.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void __cxa_call_unexpected (void*) __attribute__((noreturn));</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> Handles re-checking the exception specification if
-unexpectedHandler throws, and if <tt>bad_exception</tt> needs to be thrown. 
-Called from the compiler.
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>char* __cxa_demangle(const char* mangled_name, 
-							char*       output_buffer,
-							size_t*     length, 
-							int*        status);</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i> 
-</p>
-<p>
-<i>Returns:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-<tr>
-<td>
-<p>
-<code>void*
-  __dynamic_cast(const void* __src_ptr,
-		 const __class_type_info* __src_type,
-		 const __class_type_info* __dst_type,
-		 ptrdiff_t __src2dst);</code>
-</p>
-<blockquote>
-<p>
-<i>Effects:</i>
-</p>
-<p>
-<i>Returns:</i>
-</p>
-</blockquote>
-</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-<td>&#10003;</td>
-</tr>
-
-</table>
-
-<!-- 
-000000000000d570 (__DATA,__const) external typeinfo for char32_t
-000000000000cfd0 (__DATA,__const) external typeinfo for std::nullptr_t
-000000000000d520 (__DATA,__const) external typeinfo for char16_t
-000000000000d580 (__DATA,__const) external typeinfo for char32_t*
-000000000000cfe0 (__DATA,__const) external typeinfo for std::nullptr_t*
-000000000000d530 (__DATA,__const) external typeinfo for char16_t*
-000000000000d5a0 (__DATA,__const) external typeinfo for char32_t const*
-000000000000d000 (__DATA,__const) external typeinfo for std::nullptr_t const*
-000000000000d550 (__DATA,__const) external typeinfo for char16_t const*
-000000000000d190 (__DATA,__const) external typeinfo for signed char const*
-000000000000d050 (__DATA,__const) external typeinfo for bool const*
-000000000000d0f0 (__DATA,__const) external typeinfo for char const*
-000000000000d4b0 (__DATA,__const) external typeinfo for double const*
-000000000000d500 (__DATA,__const) external typeinfo for long double const*
-000000000000d460 (__DATA,__const) external typeinfo for float const*
-000000000000d140 (__DATA,__const) external typeinfo for unsigned char const*
-000000000000d280 (__DATA,__const) external typeinfo for int const*
-000000000000d2d0 (__DATA,__const) external typeinfo for unsigned int const*
-000000000000d320 (__DATA,__const) external typeinfo for long const*
-000000000000d370 (__DATA,__const) external typeinfo for unsigned long const*
-000000000000d1e0 (__DATA,__const) external typeinfo for short const*
-000000000000d230 (__DATA,__const) external typeinfo for unsigned short const*
-000000000000cfb0 (__DATA,__const) external typeinfo for void const*
-000000000000d0a0 (__DATA,__const) external typeinfo for wchar_t const*
-000000000000d3c0 (__DATA,__const) external typeinfo for long long const*
-000000000000d410 (__DATA,__const) external typeinfo for unsigned long long const*
-000000000000d170 (__DATA,__const) external typeinfo for signed char*
-000000000000d030 (__DATA,__const) external typeinfo for bool*
-000000000000d0d0 (__DATA,__const) external typeinfo for char*
-000000000000d490 (__DATA,__const) external typeinfo for double*
-000000000000d4e0 (__DATA,__const) external typeinfo for long double*
-000000000000d440 (__DATA,__const) external typeinfo for float*
-000000000000d120 (__DATA,__const) external typeinfo for unsigned char*
-000000000000d260 (__DATA,__const) external typeinfo for int*
-000000000000d2b0 (__DATA,__const) external typeinfo for unsigned int*
-000000000000d300 (__DATA,__const) external typeinfo for long*
-000000000000d350 (__DATA,__const) external typeinfo for unsigned long*
-000000000000d1c0 (__DATA,__const) external typeinfo for short*
-000000000000d210 (__DATA,__const) external typeinfo for unsigned short*
-000000000000cf90 (__DATA,__const) external typeinfo for void*
-000000000000d080 (__DATA,__const) external typeinfo for wchar_t*
-000000000000d3a0 (__DATA,__const) external typeinfo for long long*
-000000000000d3f0 (__DATA,__const) external typeinfo for unsigned long long*
-000000000000d160 (__DATA,__const) external typeinfo for signed char
-000000000000d020 (__DATA,__const) external typeinfo for bool
-000000000000d0c0 (__DATA,__const) external typeinfo for char
-000000000000d480 (__DATA,__const) external typeinfo for double
-000000000000d4d0 (__DATA,__const) external typeinfo for long double
-000000000000d430 (__DATA,__const) external typeinfo for float
-000000000000d110 (__DATA,__const) external typeinfo for unsigned char
-000000000000d250 (__DATA,__const) external typeinfo for int
-000000000000d2a0 (__DATA,__const) external typeinfo for unsigned int
-000000000000d2f0 (__DATA,__const) external typeinfo for long
-000000000000d340 (__DATA,__const) external typeinfo for unsigned long
-000000000000d1b0 (__DATA,__const) external typeinfo for short
-000000000000d200 (__DATA,__const) external typeinfo for unsigned short
-000000000000cf78 (__DATA,__const) external typeinfo for void
-000000000000d070 (__DATA,__const) external typeinfo for wchar_t
-000000000000d390 (__DATA,__const) external typeinfo for long long
-000000000000d3e0 (__DATA,__const) external typeinfo for unsigned long long
-00000000000093f9 (__TEXT,__cstring) external typeinfo name for char32_t
-0000000000009351 (__TEXT,__cstring) external typeinfo name for std::nullptr_t
-00000000000093ed (__TEXT,__cstring) external typeinfo name for char16_t
-0000000000009470 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__enum_type_info
-0000000000009410 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__array_type_info
-0000000000009290 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__class_type_info
-00000000000094a0 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__pbase_type_info
-00000000000094d0 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__pointer_type_info
-0000000000009440 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__function_type_info
-00000000000092c0 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__si_class_type_info
-00000000000092f0 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__vmi_class_type_info
-0000000000009320 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__fundamental_type_info
-0000000000009500 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__pointer_to_member_type_info
-00000000000093fc (__TEXT,__cstring) external typeinfo name for char32_t*
-0000000000009354 (__TEXT,__cstring) external typeinfo name for std::nullptr_t*
-00000000000093f0 (__TEXT,__cstring) external typeinfo name for char16_t*
-0000000000009400 (__TEXT,__cstring) external typeinfo name for char32_t const*
-0000000000009358 (__TEXT,__cstring) external typeinfo name for std::nullptr_t const*
-00000000000093f4 (__TEXT,__cstring) external typeinfo name for char16_t const*
-0000000000009386 (__TEXT,__cstring) external typeinfo name for signed char const*
-0000000000009362 (__TEXT,__cstring) external typeinfo name for bool const*
-0000000000009374 (__TEXT,__cstring) external typeinfo name for char const*
-00000000000093e0 (__TEXT,__cstring) external typeinfo name for double const*
-00000000000093e9 (__TEXT,__cstring) external typeinfo name for long double const*
-00000000000093d7 (__TEXT,__cstring) external typeinfo name for float const*
-000000000000937d (__TEXT,__cstring) external typeinfo name for unsigned char const*
-00000000000093a1 (__TEXT,__cstring) external typeinfo name for int const*
-00000000000093aa (__TEXT,__cstring) external typeinfo name for unsigned int const*
-00000000000093b3 (__TEXT,__cstring) external typeinfo name for long const*
-00000000000093bc (__TEXT,__cstring) external typeinfo name for unsigned long const*
-000000000000938f (__TEXT,__cstring) external typeinfo name for short const*
-0000000000009398 (__TEXT,__cstring) external typeinfo name for unsigned short const*
-000000000000934d (__TEXT,__cstring) external typeinfo name for void const*
-000000000000936b (__TEXT,__cstring) external typeinfo name for wchar_t const*
-00000000000093c5 (__TEXT,__cstring) external typeinfo name for long long const*
-00000000000093ce (__TEXT,__cstring) external typeinfo name for unsigned long long const*
-0000000000009383 (__TEXT,__cstring) external typeinfo name for signed char*
-000000000000935f (__TEXT,__cstring) external typeinfo name for bool*
-0000000000009371 (__TEXT,__cstring) external typeinfo name for char*
-00000000000093dd (__TEXT,__cstring) external typeinfo name for double*
-00000000000093e6 (__TEXT,__cstring) external typeinfo name for long double*
-00000000000093d4 (__TEXT,__cstring) external typeinfo name for float*
-000000000000937a (__TEXT,__cstring) external typeinfo name for unsigned char*
-000000000000939e (__TEXT,__cstring) external typeinfo name for int*
-00000000000093a7 (__TEXT,__cstring) external typeinfo name for unsigned int*
-00000000000093b0 (__TEXT,__cstring) external typeinfo name for long*
-00000000000093b9 (__TEXT,__cstring) external typeinfo name for unsigned long*
-000000000000938c (__TEXT,__cstring) external typeinfo name for short*
-0000000000009395 (__TEXT,__cstring) external typeinfo name for unsigned short*
-000000000000934a (__TEXT,__cstring) external typeinfo name for void*
-0000000000009368 (__TEXT,__cstring) external typeinfo name for wchar_t*
-00000000000093c2 (__TEXT,__cstring) external typeinfo name for long long*
-00000000000093cb (__TEXT,__cstring) external typeinfo name for unsigned long long*
-0000000000009381 (__TEXT,__cstring) external typeinfo name for signed char
-000000000000935d (__TEXT,__cstring) external typeinfo name for bool
-000000000000936f (__TEXT,__cstring) external typeinfo name for char
-00000000000093db (__TEXT,__cstring) external typeinfo name for double
-00000000000093e4 (__TEXT,__cstring) external typeinfo name for long double
-00000000000093d2 (__TEXT,__cstring) external typeinfo name for float
-0000000000009378 (__TEXT,__cstring) external typeinfo name for unsigned char
-000000000000939c (__TEXT,__cstring) external typeinfo name for int
-00000000000093a5 (__TEXT,__cstring) external typeinfo name for unsigned int
-00000000000093ae (__TEXT,__cstring) external typeinfo name for long
-00000000000093b7 (__TEXT,__cstring) external typeinfo name for unsigned long
-000000000000938a (__TEXT,__cstring) external typeinfo name for short
-0000000000009393 (__TEXT,__cstring) external typeinfo name for unsigned short
-0000000000009348 (__TEXT,__cstring) external typeinfo name for void
-0000000000009366 (__TEXT,__cstring) external typeinfo name for wchar_t
-00000000000093c0 (__TEXT,__cstring) external typeinfo name for long long
-00000000000093c9 (__TEXT,__cstring) external typeinfo name for unsigned long long
-000000000000ce30 (__DATA,__const) external vtable for __cxxabiv1::__enum_type_info
-000000000000cdb0 (__DATA,__const) external vtable for __cxxabiv1::__array_type_info
-000000000000cbe0 (__DATA,__const) external vtable for __cxxabiv1::__class_type_info
-000000000000ce70 (__DATA,__const) external vtable for __cxxabiv1::__pbase_type_info
-000000000000cec0 (__DATA,__const) external vtable for __cxxabiv1::__pointer_type_info
-000000000000cdf0 (__DATA,__const) external vtable for __cxxabiv1::__function_type_info
-000000000000cc40 (__DATA,__const) external vtable for __cxxabiv1::__si_class_type_info
-000000000000cca0 (__DATA,__const) external vtable for __cxxabiv1::__vmi_class_type_info
-000000000000cd70 (__DATA,__const) external vtable for __cxxabiv1::__fundamental_type_info
-000000000000cf10 (__DATA,__const) external vtable for __cxxabiv1::__pointer_to_member_type_info
-
-                 (undefined) external ___stack_chk_fail (from libSystem)
-                 (undefined) external ___stack_chk_guard (from libSystem)
-                 (undefined) external ___stderrp (from libSystem)
-                 (undefined) external ___strcat_chk (from libSystem)
-                 (undefined) external _abort (from libSystem)
-                 (undefined) external _calloc (from libSystem)
-                 (undefined) external _dlsym (from libSystem)
-                 (undefined) external _free (from libSystem)
-                 (undefined) external _malloc (from libSystem)
-                 (undefined) external _memcpy (from libSystem)
-                 (undefined) external _pthread_getspecific (from libSystem)
-                 (undefined) external _pthread_key_create (from libSystem)
-                 (undefined) external _pthread_mutex_init (from libSystem)
-                 (undefined) external _pthread_mutex_lock (from libSystem)
-                 (undefined) external _pthread_mutex_unlock (from libSystem)
-                 (undefined) external _pthread_mutexattr_init (from libSystem)
-                 (undefined) external _pthread_mutexattr_settype (from libSystem)
-                 (undefined) external _pthread_once (from libSystem)
-                 (undefined) external _pthread_setspecific (from libSystem)
-                 (undefined) external _realloc (from libSystem)
-                 (undefined) external _strcmp (from libSystem)
-                 (undefined) external _strcpy (from libSystem)
-                 (undefined) external _strlen (from libSystem)
-                 (undefined) external _strncmp (from libSystem)
-                 (undefined) external _vasprintf (from libSystem)
-                 (undefined) external _vfprintf (from libSystem)
-                 (undefined) external dyld_stub_binder (from libSystem)
-                 (undefined) external __Unwind_DeleteException (from libSystem)
-                 (undefined) external __Unwind_GetIP (from libSystem)
-                 (undefined) external __Unwind_GetLanguageSpecificData (from libSystem)
-                 (undefined) external __Unwind_GetRegionStart (from libSystem)
-                 (undefined) external __Unwind_RaiseException (from libSystem)
-                 (undefined) external __Unwind_Resume_or_Rethrow (from libSystem)
-                 (undefined) external __Unwind_SetGR (from libSystem)
-                 (undefined) external __Unwind_SetIP (from libSystem)
-                 (undefined) external ___bzero (from libSystem)
- -->
-
-</body>
-</html>
diff --git a/r21/sources/cxx-stl/system/include/cstdlib b/r21/sources/cxx-stl/system/include/cstdlib
deleted file mode 100644
index ef29fa7..0000000
--- a/r21/sources/cxx-stl/system/include/cstdlib
+++ /dev/null
@@ -1,123 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__
-#define BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__
-
-/*
- * Standard C++ Library wrapper around the C stdlib.h header file.
- */
-#include <stdlib.h>
-
-extern "C++" {
-
-namespace std {
-
-using ::exit;
-using ::abort;
-using ::atexit;
-#if 0 /* MISSING FROM BIONIC */
-using ::on_exit;
-#endif
-
-using ::getenv;
-using ::putenv;
-using ::setenv;
-using ::unsetenv;
-
-using ::mktemp;
-using ::mkstemp;
-
-using ::strtol;
-using ::strtoll;
-using ::strtoul;
-using ::strtoull;
-using ::strtod;
-using ::strtof;
-
-using ::atoi;
-using ::atol;
-using ::atoll;
-using ::atof;
-
-using ::abs;
-using ::labs;
-using ::llabs;
-
-using ::realpath;
-using ::system;
-
-using ::bsearch;
-using ::qsort;
-
-using ::jrand48;
-using ::mrand48;
-using ::nrand48;
-using ::lrand48;
-using ::seed48;
-using ::srand48;
-
-using ::rand;
-using ::srand;
-using ::random;
-using ::srandom;
-
-using ::malloc;
-using ::free;
-using ::calloc;
-using ::realloc;
-
-using ::unlockpt;
-using ::ptsname;
-using ::ptsname_r;
-using ::getpt;
-using ::grantpt;
-
-using ::div_t;
-using ::div;
-using ::ldiv_t;
-using ::ldiv;
-using ::lldiv_t;
-using ::lldiv;
-
-using ::mblen;
-using ::mbstowcs;
-using ::mbtowc;
-using ::wctomb;
-using ::wcstombs;
-
-#if __ANDROID_API__ >= 9
-using ::clearenv;
-#endif
-
-}  // namespace std
-
-}  // extern C++
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__
diff --git a/r23/sources/android/cpufeatures/Android.mk b/r23/sources/android/cpufeatures/Android.mk
deleted file mode 100644
index 7b53d23..0000000
--- a/r23/sources/android/cpufeatures/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := cpufeatures
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES := cpu-features.c
-LOCAL_CFLAGS := -Wall -Wextra -Werror
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
-LOCAL_EXPORT_LDLIBS := -ldl
-include $(BUILD_STATIC_LIBRARY)
diff --git a/r23/sources/android/cpufeatures/NOTICE b/r23/sources/android/cpufeatures/NOTICE
deleted file mode 100644
index d6c0922..0000000
--- a/r23/sources/android/cpufeatures/NOTICE
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (C) 2016 The Android Open Source Project
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/r23/sources/android/native_app_glue/Android.mk b/r23/sources/android/native_app_glue/Android.mk
deleted file mode 100644
index a41b80f..0000000
--- a/r23/sources/android/native_app_glue/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE:= android_native_app_glue
-LOCAL_LICENSE_KINDS:= SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS:= notice
-LOCAL_NOTICE_FILE:= $(LOCAL_PATH)/NOTICE
-LOCAL_SRC_FILES:= android_native_app_glue.c
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
-LOCAL_EXPORT_LDLIBS := -llog -landroid
-# The linker will strip this as "unused" since this is a static library, but we
-# need to keep it around since it's the interface for JNI.
-LOCAL_EXPORT_LDFLAGS := -u ANativeActivity_onCreate
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/r23/sources/android/support/NOTICE b/r23/sources/android/support/NOTICE
deleted file mode 100644
index 82ed67f..0000000
--- a/r23/sources/android/support/NOTICE
+++ /dev/null
@@ -1,482 +0,0 @@
-====================================================
-Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-Developed at SunPro, a Sun Microsystems, Inc. business.
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice
-is preserved.
-
--------------------------------------------------------------------
-
-====================================================
-Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-Developed at SunPro, a Sun Microsystems, Inc. business.
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice
-is preserved.
-====================================================
-
-Optimized by Bruce D. Evans.
-
--------------------------------------------------------------------
-
-====================================================
-Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-Developed at SunSoft, a Sun Microsystems, Inc. business.
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice
-is preserved.
-
--------------------------------------------------------------------
-
-====================================================
-Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
-
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice
-is preserved.
-
--------------------------------------------------------------------
-
-====================================================
-Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
-
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice
-is preserved.
-
--------------------------------------------------------------------
-
-Copyright (C) 2008 The Android Open Source Project
-All rights reserved.
-
-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 OWNER 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.
-
--------------------------------------------------------------------
-
-Copyright (C) 2013 The Android Open Source Project
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
--------------------------------------------------------------------
-
-Copyright (C) 2013 The Android Open Source Project
-All rights reserved.
-
-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 OWNER 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.
-
--------------------------------------------------------------------
-
-Copyright (C) 2014 The Android Open Source Project
-All rights reserved.
-
-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 OWNER 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.
-
--------------------------------------------------------------------
-
-Copyright (C) 2017 The Android Open Source Project
-All rights reserved.
-
-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 OWNER 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 1989, 1993
-   The Regents of the University of California.  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.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 1990, 1993
-   The Regents of the University of California.  All rights reserved.
-
-This code is derived from software contributed to Berkeley by
-Chris Torek.
-
-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.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 1998 Softweyr LLC.  All rights reserved.
-
-strtok_r, from Berkeley strtok
-Oct 13, 1998 by Wes Peters <wes@softweyr.com>
-
-Copyright (c) 1988, 1993
-   The Regents of the University of California.  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
-   notices, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notices, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY SOFTWEYR LLC, THE REGENTS 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 SOFTWEYR LLC, THE
-REGENTS, 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 2002 Tim J. Robbins
-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 AUTHOR 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 AUTHOR 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 2002-2004 Tim J. Robbins
-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 AUTHOR 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 AUTHOR 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 2002-2004 Tim J. Robbins.
-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 AUTHOR 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 AUTHOR 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
-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 AUTHOR 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 AUTHOR 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
-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 AUTHOR 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 AUTHOR 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 2007 David Schultz
-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 AUTHOR 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 AUTHOR 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.
-
--------------------------------------------------------------------
-
-Copyright (c) 2011 David Schultz <das@FreeBSD.ORG>
-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 AUTHOR 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 AUTHOR 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.
-
--------------------------------------------------------------------
-
-Copyright (c)1999 Citrus Project,
-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 AUTHOR 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 AUTHOR 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.
-
--------------------------------------------------------------------
-
diff --git a/r23/sources/android/support/regenerate-NOTICE.sh b/r23/sources/android/support/regenerate-NOTICE.sh
deleted file mode 100755
index 0d659c3..0000000
--- a/r23/sources/android/support/regenerate-NOTICE.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-# Change into the libandroid_support directory.
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-cd $DIR
-
-# Pull the notices from the files in libandroid_support itself (via `.`),
-# plus all the bionic files we pull in.
-sed '/$(BIONIC_PATH).*\.c/ { s| *$(BIONIC_PATH)|../../../../bionic/| ; s| *\\$|| ; p } ; d' Android.mk | \
-    xargs ../../../../bionic/libc/tools/generate-NOTICE.py . > NOTICE
-
-# Show the caller what we've done.
-git diff --exit-code HEAD ./NOTICE
-exit $?
diff --git a/r23/sources/android/support/src/locale_support.cpp b/r23/sources/android/support/src/locale_support.cpp
deleted file mode 100644
index a730fc6..0000000
--- a/r23/sources/android/support/src/locale_support.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdlib.h>
-#include <xlocale.h>
-
-long long strtoll_l(const char* nptr, char** endptr, int base, locale_t loc) {
-  return strtoll(nptr, endptr, base);
-}
-
-unsigned long long strtoull_l(const char* nptr, char** endptr, int base,
-                              locale_t loc) {
-  return strtoull(nptr, endptr, base);
-}
-
-long double strtold_l(const char* nptr, char** endptr,
-                      locale_t __unused locale) {
-  return strtold(nptr, endptr);
-}
diff --git a/r23/sources/android/support/src/posix_memalign.cpp b/r23/sources/android/support/src/posix_memalign.cpp
deleted file mode 100644
index cf7abbb..0000000
--- a/r23/sources/android/support/src/posix_memalign.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <errno.h>
-#include <malloc.h>
-#include <stdlib.h>
-
-int posix_memalign(void** memptr, size_t alignment, size_t size) {
-  if ((alignment & (alignment - 1)) != 0 || alignment == 0) {
-    return EINVAL;
-  }
-
-  if (alignment % sizeof(void*) != 0) {
-    return EINVAL;
-  }
-
-  *memptr = memalign(alignment, size);
-  if (*memptr == NULL) {
-    return errno;
-  }
-
-  return 0;
-}
diff --git a/r23/sources/android/support/src/support_preinclude.h b/r23/sources/android/support/src/support_preinclude.h
deleted file mode 100644
index bf090b0..0000000
--- a/r23/sources/android/support/src/support_preinclude.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#pragma once
-
-// Declare cimag and creal for use by __ldexp_cexp. libandroid_runtime doesn't
-// really need __ldexp_cexp, but it does need __ldexp_exp, and both functions
-// are defined in the same C file. complex.h doesn't declare cimag/creal when
-// building libandroid_support, because the functions are only available
-// starting with M, and libandroid_support is compiled for the oldest supported
-// NDK API.
-//
-// The two functions are trivial (and have __builtin_{cimag,creal}
-// equivalents). Clang inlines calls to these functions even with -O0.
-double cimag(double _Complex z);
-double creal(double _Complex z);
diff --git a/r23/sources/android/support/src/swprintf.cpp b/r23/sources/android/support/src/swprintf.cpp
deleted file mode 100644
index 01cfe5d..0000000
--- a/r23/sources/android/support/src/swprintf.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#include <stdio.h>
-#include <wchar.h>
-
-#include "UniquePtr.h"
-
-namespace {
-const size_t MBS_FAILURE = static_cast<size_t>(-1);
-}
-
-int swprintf(wchar_t* wcs, size_t maxlen, const wchar_t* format, ...) {
-  va_list ap;
-  va_start(ap, format);
-  int result = vswprintf(wcs, maxlen, format, ap);
-  va_end(ap);
-  return result;
-}
-
-int vswprintf(wchar_t* wcs, size_t maxlen, const wchar_t* fmt, va_list ap) {
-  mbstate_t mbstate;
-  memset(&mbstate, 0, sizeof(mbstate));
-
-  // At most, each wide character (UTF-32) can be expanded to four narrow
-  // characters (UTF-8).
-  const size_t max_mb_len = maxlen * 4;
-  const size_t mb_fmt_len = wcslen(fmt) * 4 + 1;
-  UniquePtr<char[]> mbfmt(new char[mb_fmt_len]);
-  if (wcsrtombs(mbfmt.get(), &fmt, mb_fmt_len, &mbstate) == MBS_FAILURE) {
-    return -1;
-  }
-
-  UniquePtr<char[]> mbs(new char[max_mb_len]);
-  int nprinted = vsnprintf(mbs.get(), max_mb_len, mbfmt.get(), ap);
-  if (nprinted == -1) {
-    return -1;
-  }
-
-  const char* mbsp = mbs.get();
-  if (mbsrtowcs(wcs, &mbsp, maxlen, &mbstate) == MBS_FAILURE) {
-    return -1;
-  }
-
-  // Can't use return value from vsnprintf because that number is in narrow
-  // characters, not wide characters.
-  int result = wcslen(wcs);
-
-  // swprintf differs from snprintf in that it returns -1 if the output was
-  // truncated.
-  //
-  // Truncation can occur in two places:
-  // 1) vsnprintf truncated, in which case the return value is greater than the
-  //    length we passed.
-  // 2) Since the char buffer we pass to vsnprintf might be oversized, that
-  //    might not truncate while mbsrtowcs will. In this case, mbsp will point
-  //    to the next unconverted character instead of nullptr.
-  if (nprinted >= max_mb_len || mbsp != nullptr) {
-    return -1;
-  }
-
-  return result;
-}
diff --git a/r23/sources/android/support/src/wcstox.cpp b/r23/sources/android/support/src/wcstox.cpp
deleted file mode 100644
index c799b3f..0000000
--- a/r23/sources/android/support/src/wcstox.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#include <inttypes.h>
-#include <stdlib.h>
-#include <wchar.h>
-
-#include "UniquePtr.h"
-
-namespace {
-constexpr size_t MBS_FAILURE = static_cast<size_t>(-1);
-}
-
-template <typename T>
-static T wcstox(T (*func)(const char*, char**, int), const wchar_t* wcs,
-                wchar_t** wcs_end, int base) {
-  mbstate_t mbstate;
-  memset(&mbstate, 0, sizeof(mbstate));
-
-  if (wcs_end != nullptr) {
-    *wcs_end = const_cast<wchar_t*>(wcs);
-  }
-
-  const size_t max_mb_len = wcslen(wcs) * 4 + 1;
-  UniquePtr<char[]> mbs(new char[max_mb_len]);
-  const wchar_t* s = wcs;
-  if (wcsrtombs(mbs.get(), &s, max_mb_len, &mbstate) == MBS_FAILURE) {
-    return static_cast<T>(0);
-  }
-
-  char* mbs_end;
-  T value = func(mbs.get(), &mbs_end, base);
-  if (wcs_end == nullptr) {
-    // If the user passed nullptr for the end pointer, we don't need to compute
-    // it and can return early.
-    return value;
-  }
-
-  // strto* can set ERANGE or EINVAL. Preserve the value of errno in case any of
-  // the things we're about to do to comput the end pointer don't clobber it.
-  int preserved_errno = errno;
-
-  // wcs_end needs to point to the character after the one converted. We don't
-  // know how many wide characters were converted, but we can figure that out by
-  // converting the multibyte string between mbs and mbs_end back to a wide
-  // character string.
-  size_t converted_len = mbs_end - mbs.get();
-  UniquePtr<char[]> converted_mbs(new char[converted_len + 1]);
-  strncpy(converted_mbs.get(), mbs.get(), converted_len);
-  converted_mbs[converted_len] = '\0';
-
-  const char* mbsp = converted_mbs.get();
-  size_t converted_wlen = mbsrtowcs(nullptr, &mbsp, 0, &mbstate);
-  if (converted_wlen == MBS_FAILURE) {
-    // This should be impossible.
-    abort();
-  }
-
-  *wcs_end = const_cast<wchar_t*>(wcs) + converted_wlen;
-  errno = preserved_errno;
-  return value;
-}
-
-static float strtof_wrapper(const char* s, char** p, int) {
-  return strtof(s, p);
-}
-
-float wcstof(const wchar_t* s, wchar_t** p) {
-  return wcstox(strtof_wrapper, s, p, 0);
-}
-
-static double strtod_wrapper(const char* s, char** p, int) {
-  return strtod(s, p);
-}
-
-double wcstod(const wchar_t *restrict s, wchar_t **restrict p) {
-  return wcstox(strtod_wrapper, s, p, 0);
-}
-
-long wcstol(const wchar_t *restrict s, wchar_t **restrict p, int base) {
-  return wcstox(strtol, s, p, base);
-}
-
-unsigned long wcstoul(const wchar_t *restrict s, wchar_t **restrict p, int base) {
-  return wcstox(strtoul, s, p, base);
-}
-
-long long wcstoll(const wchar_t *restrict s, wchar_t **restrict p, int base) {
-  return wcstox(strtoll, s, p, base);
-}
-
-unsigned long long wcstoull(const wchar_t *restrict s, wchar_t **restrict p, int base) {
-  return wcstox(strtoull, s, p, base);
-}
-
-intmax_t wcstoimax(const wchar_t *restrict s, wchar_t **restrict p, int base) {
-  return wcstox(strtoimax, s, p, base);
-}
-
-uintmax_t wcstoumax(const wchar_t *restrict s, wchar_t **restrict p, int base) {
-  return wcstox(strtoumax, s, p, base);
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__bsd_locale_defaults.h b/r23/sources/cxx-stl/llvm-libc++/include/__bsd_locale_defaults.h
deleted file mode 100644
index 2ace2a2..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__bsd_locale_defaults.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// -*- C++ -*-
-//===---------------------- __bsd_locale_defaults.h -----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-// The BSDs have lots of *_l functions.  We don't want to define those symbols
-// on other platforms though, for fear of conflicts with user code.  So here,
-// we will define the mapping from an internal macro to the real BSD symbol.
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_BSD_LOCALE_DEFAULTS_H
-#define _LIBCPP_BSD_LOCALE_DEFAULTS_H
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#define __libcpp_mb_cur_max_l(loc)                          MB_CUR_MAX_L(loc)
-#define __libcpp_btowc_l(ch, loc)                           btowc_l(ch, loc)
-#define __libcpp_wctob_l(wch, loc)                          wctob_l(wch, loc)
-#define __libcpp_wcsnrtombs_l(dst, src, nwc, len, ps, loc)  wcsnrtombs_l(dst, src, nwc, len, ps, loc)
-#define __libcpp_wcrtomb_l(src, wc, ps, loc)                wcrtomb_l(src, wc, ps, loc)
-#define __libcpp_mbsnrtowcs_l(dst, src, nms, len, ps, loc)  mbsnrtowcs_l(dst, src, nms, len, ps, loc)
-#define __libcpp_mbrtowc_l(pwc, s, n, ps, l)                mbrtowc_l(pwc, s, n, ps, l)
-#define __libcpp_mbtowc_l(pwc, pmb, max, l)                 mbtowc_l(pwc, pmb, max, l)
-#define __libcpp_mbrlen_l(s, n, ps, l)                      mbrlen_l(s, n, ps, l)
-#define __libcpp_localeconv_l(l)                            localeconv_l(l)
-#define __libcpp_mbsrtowcs_l(dest, src, len, ps, l)         mbsrtowcs_l(dest, src, len, ps, l)
-#define __libcpp_snprintf_l(...)                            snprintf_l(__VA_ARGS__)
-#define __libcpp_asprintf_l(...)                            asprintf_l(__VA_ARGS__)
-#define __libcpp_sscanf_l(...)                              sscanf_l(__VA_ARGS__)
-
-#endif // _LIBCPP_BSD_LOCALE_DEFAULTS_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__bsd_locale_fallbacks.h b/r23/sources/cxx-stl/llvm-libc++/include/__bsd_locale_fallbacks.h
deleted file mode 100644
index a807fe0..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__bsd_locale_fallbacks.h
+++ /dev/null
@@ -1,139 +0,0 @@
-// -*- C++ -*-
-//===---------------------- __bsd_locale_fallbacks.h ----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-// The BSDs have lots of *_l functions.  This file provides reimplementations
-// of those functions for non-BSD platforms.
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_BSD_LOCALE_FALLBACKS_DEFAULTS_H
-#define _LIBCPP_BSD_LOCALE_FALLBACKS_DEFAULTS_H
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <memory>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-inline _LIBCPP_INLINE_VISIBILITY
-decltype(MB_CUR_MAX) __libcpp_mb_cur_max_l(locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return MB_CUR_MAX;
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-wint_t __libcpp_btowc_l(int __c, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return btowc(__c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-int __libcpp_wctob_l(wint_t __c, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return wctob(__c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-size_t __libcpp_wcsnrtombs_l(char *__dest, const wchar_t **__src, size_t __nwc,
-                         size_t __len, mbstate_t *__ps, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return wcsnrtombs(__dest, __src, __nwc, __len, __ps);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-size_t __libcpp_wcrtomb_l(char *__s, wchar_t __wc, mbstate_t *__ps, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return wcrtomb(__s, __wc, __ps);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-size_t __libcpp_mbsnrtowcs_l(wchar_t * __dest, const char **__src, size_t __nms,
-                      size_t __len, mbstate_t *__ps, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return mbsnrtowcs(__dest, __src, __nms, __len, __ps);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-size_t __libcpp_mbrtowc_l(wchar_t *__pwc, const char *__s, size_t __n,
-                   mbstate_t *__ps, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return mbrtowc(__pwc, __s, __n, __ps);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-int __libcpp_mbtowc_l(wchar_t *__pwc, const char *__pmb, size_t __max, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return mbtowc(__pwc, __pmb, __max);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-size_t __libcpp_mbrlen_l(const char *__s, size_t __n, mbstate_t *__ps, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return mbrlen(__s, __n, __ps);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-lconv *__libcpp_localeconv_l(locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return localeconv();
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-size_t __libcpp_mbsrtowcs_l(wchar_t *__dest, const char **__src, size_t __len,
-                     mbstate_t *__ps, locale_t __l)
-{
-    __libcpp_locale_guard __current(__l);
-    return mbsrtowcs(__dest, __src, __len, __ps);
-}
-
-inline
-int __libcpp_snprintf_l(char *__s, size_t __n, locale_t __l, const char *__format, ...) {
-    va_list __va;
-    va_start(__va, __format);
-    __libcpp_locale_guard __current(__l);
-    int __res = vsnprintf(__s, __n, __format, __va);
-    va_end(__va);
-    return __res;
-}
-
-inline
-int __libcpp_asprintf_l(char **__s, locale_t __l, const char *__format, ...) {
-    va_list __va;
-    va_start(__va, __format);
-    __libcpp_locale_guard __current(__l);
-    int __res = vasprintf(__s, __format, __va);
-    va_end(__va);
-    return __res;
-}
-
-inline
-int __libcpp_sscanf_l(const char *__s, locale_t __l, const char *__format, ...) {
-    va_list __va;
-    va_start(__va, __format);
-    __libcpp_locale_guard __current(__l);
-    int __res = vsscanf(__s, __format, __va);
-    va_end(__va);
-    return __res;
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP_BSD_LOCALE_FALLBACKS_DEFAULTS_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__config_site.in b/r23/sources/cxx-stl/llvm-libc++/include/__config_site.in
deleted file mode 100644
index 1ccc158..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__config_site.in
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CONFIG_SITE
-#define _LIBCPP_CONFIG_SITE
-
-#cmakedefine _LIBCPP_ABI_VERSION @_LIBCPP_ABI_VERSION@
-#cmakedefine _LIBCPP_ABI_UNSTABLE
-#cmakedefine _LIBCPP_ABI_FORCE_ITANIUM
-#cmakedefine _LIBCPP_ABI_FORCE_MICROSOFT
-#cmakedefine _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT
-#cmakedefine _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
-#cmakedefine _LIBCPP_HAS_NO_STDIN
-#cmakedefine _LIBCPP_HAS_NO_STDOUT
-#cmakedefine _LIBCPP_HAS_NO_THREADS
-#cmakedefine _LIBCPP_HAS_NO_MONOTONIC_CLOCK
-#cmakedefine _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
-#cmakedefine _LIBCPP_HAS_MUSL_LIBC
-#cmakedefine _LIBCPP_HAS_THREAD_API_PTHREAD
-#cmakedefine _LIBCPP_HAS_THREAD_API_EXTERNAL
-#cmakedefine _LIBCPP_HAS_THREAD_API_WIN32
-#cmakedefine _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL
-#cmakedefine _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS
-#cmakedefine _LIBCPP_NO_VCRUNTIME
-#cmakedefine01 _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT
-#cmakedefine _LIBCPP_ABI_NAMESPACE @_LIBCPP_ABI_NAMESPACE@
-#cmakedefine _LIBCPP_HAS_PARALLEL_ALGORITHMS
-
-@_LIBCPP_ABI_DEFINES@
-
-#endif // _LIBCPP_CONFIG_SITE
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__errc b/r23/sources/cxx-stl/llvm-libc++/include/__errc
deleted file mode 100644
index a8ad29f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__errc
+++ /dev/null
@@ -1,217 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- __errc ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___ERRC
-#define _LIBCPP___ERRC
-
-/*
-    system_error synopsis
-
-namespace std
-{
-
-enum class errc
-{
-    address_family_not_supported,       // EAFNOSUPPORT
-    address_in_use,                     // EADDRINUSE
-    address_not_available,              // EADDRNOTAVAIL
-    already_connected,                  // EISCONN
-    argument_list_too_long,             // E2BIG
-    argument_out_of_domain,             // EDOM
-    bad_address,                        // EFAULT
-    bad_file_descriptor,                // EBADF
-    bad_message,                        // EBADMSG
-    broken_pipe,                        // EPIPE
-    connection_aborted,                 // ECONNABORTED
-    connection_already_in_progress,     // EALREADY
-    connection_refused,                 // ECONNREFUSED
-    connection_reset,                   // ECONNRESET
-    cross_device_link,                  // EXDEV
-    destination_address_required,       // EDESTADDRREQ
-    device_or_resource_busy,            // EBUSY
-    directory_not_empty,                // ENOTEMPTY
-    executable_format_error,            // ENOEXEC
-    file_exists,                        // EEXIST
-    file_too_large,                     // EFBIG
-    filename_too_long,                  // ENAMETOOLONG
-    function_not_supported,             // ENOSYS
-    host_unreachable,                   // EHOSTUNREACH
-    identifier_removed,                 // EIDRM
-    illegal_byte_sequence,              // EILSEQ
-    inappropriate_io_control_operation, // ENOTTY
-    interrupted,                        // EINTR
-    invalid_argument,                   // EINVAL
-    invalid_seek,                       // ESPIPE
-    io_error,                           // EIO
-    is_a_directory,                     // EISDIR
-    message_size,                       // EMSGSIZE
-    network_down,                       // ENETDOWN
-    network_reset,                      // ENETRESET
-    network_unreachable,                // ENETUNREACH
-    no_buffer_space,                    // ENOBUFS
-    no_child_process,                   // ECHILD
-    no_link,                            // ENOLINK
-    no_lock_available,                  // ENOLCK
-    no_message_available,               // ENODATA
-    no_message,                         // ENOMSG
-    no_protocol_option,                 // ENOPROTOOPT
-    no_space_on_device,                 // ENOSPC
-    no_stream_resources,                // ENOSR
-    no_such_device_or_address,          // ENXIO
-    no_such_device,                     // ENODEV
-    no_such_file_or_directory,          // ENOENT
-    no_such_process,                    // ESRCH
-    not_a_directory,                    // ENOTDIR
-    not_a_socket,                       // ENOTSOCK
-    not_a_stream,                       // ENOSTR
-    not_connected,                      // ENOTCONN
-    not_enough_memory,                  // ENOMEM
-    not_supported,                      // ENOTSUP
-    operation_canceled,                 // ECANCELED
-    operation_in_progress,              // EINPROGRESS
-    operation_not_permitted,            // EPERM
-    operation_not_supported,            // EOPNOTSUPP
-    operation_would_block,              // EWOULDBLOCK
-    owner_dead,                         // EOWNERDEAD
-    permission_denied,                  // EACCES
-    protocol_error,                     // EPROTO
-    protocol_not_supported,             // EPROTONOSUPPORT
-    read_only_file_system,              // EROFS
-    resource_deadlock_would_occur,      // EDEADLK
-    resource_unavailable_try_again,     // EAGAIN
-    result_out_of_range,                // ERANGE
-    state_not_recoverable,              // ENOTRECOVERABLE
-    stream_timeout,                     // ETIME
-    text_file_busy,                     // ETXTBSY
-    timed_out,                          // ETIMEDOUT
-    too_many_files_open_in_system,      // ENFILE
-    too_many_files_open,                // EMFILE
-    too_many_links,                     // EMLINK
-    too_many_symbolic_link_levels,      // ELOOP
-    value_too_large,                    // EOVERFLOW
-    wrong_protocol_type                 // EPROTOTYPE
-};
-
-*/
-
-#include <__config>
-#include <cerrno>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// Some error codes are not present on all platforms, so we provide equivalents
-// for them:
-
-//enum class errc
-_LIBCPP_DECLARE_STRONG_ENUM(errc)
-{
-    address_family_not_supported        = EAFNOSUPPORT,
-    address_in_use                      = EADDRINUSE,
-    address_not_available               = EADDRNOTAVAIL,
-    already_connected                   = EISCONN,
-    argument_list_too_long              = E2BIG,
-    argument_out_of_domain              = EDOM,
-    bad_address                         = EFAULT,
-    bad_file_descriptor                 = EBADF,
-    bad_message                         = EBADMSG,
-    broken_pipe                         = EPIPE,
-    connection_aborted                  = ECONNABORTED,
-    connection_already_in_progress      = EALREADY,
-    connection_refused                  = ECONNREFUSED,
-    connection_reset                    = ECONNRESET,
-    cross_device_link                   = EXDEV,
-    destination_address_required        = EDESTADDRREQ,
-    device_or_resource_busy             = EBUSY,
-    directory_not_empty                 = ENOTEMPTY,
-    executable_format_error             = ENOEXEC,
-    file_exists                         = EEXIST,
-    file_too_large                      = EFBIG,
-    filename_too_long                   = ENAMETOOLONG,
-    function_not_supported              = ENOSYS,
-    host_unreachable                    = EHOSTUNREACH,
-    identifier_removed                  = EIDRM,
-    illegal_byte_sequence               = EILSEQ,
-    inappropriate_io_control_operation  = ENOTTY,
-    interrupted                         = EINTR,
-    invalid_argument                    = EINVAL,
-    invalid_seek                        = ESPIPE,
-    io_error                            = EIO,
-    is_a_directory                      = EISDIR,
-    message_size                        = EMSGSIZE,
-    network_down                        = ENETDOWN,
-    network_reset                       = ENETRESET,
-    network_unreachable                 = ENETUNREACH,
-    no_buffer_space                     = ENOBUFS,
-    no_child_process                    = ECHILD,
-    no_link                             = ENOLINK,
-    no_lock_available                   = ENOLCK,
-#ifdef ENODATA
-    no_message_available                = ENODATA,
-#else
-    no_message_available                = ENOMSG,
-#endif
-    no_message                          = ENOMSG,
-    no_protocol_option                  = ENOPROTOOPT,
-    no_space_on_device                  = ENOSPC,
-#ifdef ENOSR
-    no_stream_resources                 = ENOSR,
-#else
-    no_stream_resources                 = ENOMEM,
-#endif
-    no_such_device_or_address           = ENXIO,
-    no_such_device                      = ENODEV,
-    no_such_file_or_directory           = ENOENT,
-    no_such_process                     = ESRCH,
-    not_a_directory                     = ENOTDIR,
-    not_a_socket                        = ENOTSOCK,
-#ifdef ENOSTR
-    not_a_stream                        = ENOSTR,
-#else
-    not_a_stream                        = EINVAL,
-#endif
-    not_connected                       = ENOTCONN,
-    not_enough_memory                   = ENOMEM,
-    not_supported                       = ENOTSUP,
-    operation_canceled                  = ECANCELED,
-    operation_in_progress               = EINPROGRESS,
-    operation_not_permitted             = EPERM,
-    operation_not_supported             = EOPNOTSUPP,
-    operation_would_block               = EWOULDBLOCK,
-    owner_dead                          = EOWNERDEAD,
-    permission_denied                   = EACCES,
-    protocol_error                      = EPROTO,
-    protocol_not_supported              = EPROTONOSUPPORT,
-    read_only_file_system               = EROFS,
-    resource_deadlock_would_occur       = EDEADLK,
-    resource_unavailable_try_again      = EAGAIN,
-    result_out_of_range                 = ERANGE,
-    state_not_recoverable               = ENOTRECOVERABLE,
-#ifdef ETIME
-    stream_timeout                      = ETIME,
-#else
-    stream_timeout                      = ETIMEDOUT,
-#endif
-    text_file_busy                      = ETXTBSY,
-    timed_out                           = ETIMEDOUT,
-    too_many_files_open_in_system       = ENFILE,
-    too_many_files_open                 = EMFILE,
-    too_many_links                      = EMLINK,
-    too_many_symbolic_link_levels       = ELOOP,
-    value_too_large                     = EOVERFLOW,
-    wrong_protocol_type                 = EPROTOTYPE
-};
-_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(errc)
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP___ERRC
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__functional_base_03 b/r23/sources/cxx-stl/llvm-libc++/include/__functional_base_03
deleted file mode 100644
index e6dac90..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__functional_base_03
+++ /dev/null
@@ -1,223 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FUNCTIONAL_BASE_03
-#define _LIBCPP_FUNCTIONAL_BASE_03
-
-// manual variadic expansion for <functional>
-
-// __invoke
-
-template <class _Ret, class _T1, bool _IsFunc, bool _IsBase>
-struct __enable_invoke_imp;
-
-template <class _Ret, class _T1>
-struct __enable_invoke_imp<_Ret, _T1, true, true> {
-    typedef _Ret _Bullet1;
-    typedef _Bullet1 type;
-};
-
-template <class _Ret, class _T1>
-struct __enable_invoke_imp<_Ret, _T1, true, false>  {
-    typedef _Ret _Bullet2;
-    typedef _Bullet2 type;
-};
-
-template <class _Ret, class _T1>
-struct __enable_invoke_imp<_Ret, _T1, false, true>  {
-    typedef typename add_lvalue_reference<
-                typename __apply_cv<_T1, _Ret>::type
-            >::type _Bullet3;
-    typedef _Bullet3 type;
-};
-
-template <class _Ret, class _T1>
-struct __enable_invoke_imp<_Ret, _T1, false, false>  {
-    typedef typename add_lvalue_reference<
-                typename __apply_cv<decltype(*_VSTD::declval<_T1>()), _Ret>::type
-            >::type _Bullet4;
-    typedef _Bullet4 type;
-};
-
-template <class _Ret, class _T1>
-struct __enable_invoke_imp<_Ret, _T1*, false, false>  {
-    typedef typename add_lvalue_reference<
-                typename __apply_cv<_T1, _Ret>::type
-            >::type _Bullet4;
-    typedef _Bullet4  type;
-};
-
-template <class _Fn, class _T1,
-          class _Traits = __member_pointer_traits<_Fn>,
-          class _Ret = typename _Traits::_ReturnType,
-          class _Class = typename _Traits::_ClassType>
-struct __enable_invoke : __enable_invoke_imp<
-    _Ret, _T1,
-    is_member_function_pointer<_Fn>::value,
-    is_base_of<_Class, typename remove_reference<_T1>::type>::value>
-{
-};
-
-__nat __invoke(__any, ...);
-
-// first bullet
-
-template <class _Fn, class _T1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet1
-__invoke(_Fn __f, _T1& __t1) {
-    return (__t1.*__f)();
-}
-
-template <class _Fn, class _T1, class _A0>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet1
-__invoke(_Fn __f, _T1& __t1, _A0& __a0) {
-    return (__t1.*__f)(__a0);
-}
-
-template <class _Fn, class _T1, class _A0, class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet1
-__invoke(_Fn __f, _T1& __t1, _A0& __a0, _A1& __a1) {
-    return (__t1.*__f)(__a0, __a1);
-}
-
-template <class _Fn, class _T1, class _A0, class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet1
-__invoke(_Fn __f, _T1& __t1, _A0& __a0, _A1& __a1, _A2& __a2) {
-    return (__t1.*__f)(__a0, __a1, __a2);
-}
-
-template <class _Fn, class _T1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet2
-__invoke(_Fn __f, _T1& __t1) {
-    return ((*__t1).*__f)();
-}
-
-template <class _Fn, class _T1, class _A0>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet2
-__invoke(_Fn __f, _T1& __t1, _A0& __a0) {
-    return ((*__t1).*__f)(__a0);
-}
-
-template <class _Fn, class _T1, class _A0, class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet2
-__invoke(_Fn __f, _T1& __t1, _A0& __a0, _A1& __a1) {
-    return ((*__t1).*__f)(__a0, __a1);
-}
-
-template <class _Fn, class _T1, class _A0, class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet2
-__invoke(_Fn __f, _T1& __t1, _A0& __a0, _A1& __a1, _A2& __a2) {
-    return ((*__t1).*__f)(__a0, __a1, __a2);
-}
-
-template <class _Fn, class _T1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet3
-__invoke(_Fn __f, _T1& __t1) {
-    return __t1.*__f;
-}
-
-template <class _Fn, class _T1>
-inline _LIBCPP_INLINE_VISIBILITY
-typename __enable_invoke<_Fn, _T1>::_Bullet4
-__invoke(_Fn __f, _T1& __t1) {
-    return (*__t1).*__f;
-}
-
-// fifth bullet
-
-template <class _Fp>
-inline _LIBCPP_INLINE_VISIBILITY
-decltype(_VSTD::declval<_Fp&>()())
-__invoke(_Fp& __f)
-{
-    return __f();
-}
-
-template <class _Fp, class _A0>
-inline _LIBCPP_INLINE_VISIBILITY
-decltype(_VSTD::declval<_Fp&>()(_VSTD::declval<_A0&>()))
-__invoke(_Fp& __f, _A0& __a0)
-{
-    return __f(__a0);
-}
-
-template <class _Fp, class _A0, class _A1>
-inline _LIBCPP_INLINE_VISIBILITY
-decltype(_VSTD::declval<_Fp&>()(_VSTD::declval<_A0&>(), _VSTD::declval<_A1&>()))
-__invoke(_Fp& __f, _A0& __a0, _A1& __a1)
-{
-    return __f(__a0, __a1);
-}
-
-template <class _Fp, class _A0, class _A1, class _A2>
-inline _LIBCPP_INLINE_VISIBILITY
-decltype(_VSTD::declval<_Fp&>()(_VSTD::declval<_A0&>(), _VSTD::declval<_A1&>(), _VSTD::declval<_A2&>()))
-__invoke(_Fp& __f, _A0& __a0, _A1& __a1, _A2& __a2)
-{
-    return __f(__a0, __a1, __a2);
-}
-
-template <class _Fp, bool = __has_result_type<__weak_result_type<_Fp> >::value>
-struct __invoke_return
-{
-    typedef typename __weak_result_type<_Fp>::result_type type;
-};
-
-template <class _Fp>
-struct __invoke_return<_Fp, false>
-{
-    typedef decltype(__invoke(_VSTD::declval<_Fp&>())) type;
-};
-
-template <class _Tp, class _A0>
-struct __invoke_return0
-{
-    typedef decltype(__invoke(_VSTD::declval<_Tp&>(), _VSTD::declval<_A0&>())) type;
-};
-
-template <class _Rp, class _Tp, class _A0>
-struct __invoke_return0<_Rp _Tp::*, _A0>
-{
-    typedef typename __enable_invoke<_Rp _Tp::*, _A0>::type type;
-};
-
-template <class _Tp, class _A0, class _A1>
-struct __invoke_return1
-{
-    typedef decltype(__invoke(_VSTD::declval<_Tp&>(), _VSTD::declval<_A0&>(),
-                                                      _VSTD::declval<_A1&>())) type;
-};
-
-template <class _Rp, class _Class, class _A0, class _A1>
-struct __invoke_return1<_Rp _Class::*, _A0, _A1> {
-    typedef typename __enable_invoke<_Rp _Class::*, _A0>::type type;
-};
-
-template <class _Tp, class _A0, class _A1, class _A2>
-struct __invoke_return2
-{
-    typedef decltype(__invoke(_VSTD::declval<_Tp&>(), _VSTD::declval<_A0&>(),
-                                                      _VSTD::declval<_A1&>(),
-                                                      _VSTD::declval<_A2&>())) type;
-};
-
-template <class _Ret, class _Class, class _A0, class _A1, class _A2>
-struct __invoke_return2<_Ret _Class::*, _A0, _A1, _A2> {
-    typedef typename __enable_invoke<_Ret _Class::*, _A0>::type type;
-};
-#endif  // _LIBCPP_FUNCTIONAL_BASE_03
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__node_handle b/r23/sources/cxx-stl/llvm-libc++/include/__node_handle
deleted file mode 100644
index be1fe17..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__node_handle
+++ /dev/null
@@ -1,208 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___NODE_HANDLE
-#define _LIBCPP___NODE_HANDLE
-
-#include <__config>
-#include <memory>
-#include <optional>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER > 14
-
-// Specialized in __tree & __hash_table for their _NodeType.
-template <class _NodeType, class _Alloc>
-struct __generic_container_node_destructor;
-
-template <class _NodeType, class _Alloc,
-          template <class, class> class _MapOrSetSpecifics>
-class _LIBCPP_TEMPLATE_VIS __basic_node_handle
-    : public _MapOrSetSpecifics<
-          _NodeType,
-          __basic_node_handle<_NodeType, _Alloc, _MapOrSetSpecifics>>
-{
-    template <class _Tp, class _Compare, class _Allocator>
-        friend class __tree;
-    template <class _Tp, class _Hash, class _Equal, class _Allocator>
-        friend class __hash_table;
-    friend struct _MapOrSetSpecifics<
-        _NodeType, __basic_node_handle<_NodeType, _Alloc, _MapOrSetSpecifics>>;
-
-    typedef allocator_traits<_Alloc> __alloc_traits;
-    typedef typename __rebind_pointer<typename __alloc_traits::void_pointer,
-                                      _NodeType>::type
-        __node_pointer_type;
-
-public:
-    typedef _Alloc allocator_type;
-
-private:
-    __node_pointer_type __ptr_ = nullptr;
-    optional<allocator_type> __alloc_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __release_ptr()
-    {
-        __ptr_ = nullptr;
-        __alloc_ = _VSTD::nullopt;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __destroy_node_pointer()
-    {
-        if (__ptr_ != nullptr)
-        {
-            typedef typename __allocator_traits_rebind<
-                allocator_type, _NodeType>::type __node_alloc_type;
-            __node_alloc_type __alloc(*__alloc_);
-            __generic_container_node_destructor<_NodeType, __node_alloc_type>(
-                __alloc, true)(__ptr_);
-            __ptr_ = nullptr;
-        }
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __basic_node_handle(__node_pointer_type __ptr,
-                        allocator_type const& __alloc)
-            : __ptr_(__ptr), __alloc_(__alloc)
-    {
-    }
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __basic_node_handle() = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __basic_node_handle(__basic_node_handle&& __other) noexcept
-            : __ptr_(__other.__ptr_),
-              __alloc_(_VSTD::move(__other.__alloc_))
-    {
-        __other.__ptr_ = nullptr;
-        __other.__alloc_ = _VSTD::nullopt;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __basic_node_handle& operator=(__basic_node_handle&& __other)
-    {
-        _LIBCPP_ASSERT(
-            __alloc_ == _VSTD::nullopt ||
-            __alloc_traits::propagate_on_container_move_assignment::value ||
-            __alloc_ == __other.__alloc_,
-            "node_type with incompatible allocator passed to "
-            "node_type::operator=(node_type&&)");
-
-        __destroy_node_pointer();
-        __ptr_ = __other.__ptr_;
-
-        if (__alloc_traits::propagate_on_container_move_assignment::value ||
-            __alloc_ == _VSTD::nullopt)
-            __alloc_ = _VSTD::move(__other.__alloc_);
-
-        __other.__ptr_ = nullptr;
-        __other.__alloc_ = _VSTD::nullopt;
-
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const { return *__alloc_; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit operator bool() const { return __ptr_ != nullptr; }
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const { return __ptr_ == nullptr; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(__basic_node_handle& __other) noexcept(
-        __alloc_traits::propagate_on_container_swap::value ||
-        __alloc_traits::is_always_equal::value)
-    {
-        using _VSTD::swap;
-        swap(__ptr_, __other.__ptr_);
-        if (__alloc_traits::propagate_on_container_swap::value ||
-            __alloc_ == _VSTD::nullopt || __other.__alloc_ == _VSTD::nullopt)
-            swap(__alloc_, __other.__alloc_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    friend void swap(__basic_node_handle& __a, __basic_node_handle& __b)
-        noexcept(noexcept(__a.swap(__b))) { __a.swap(__b); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__basic_node_handle()
-    {
-        __destroy_node_pointer();
-    }
-};
-
-template <class _NodeType, class _Derived>
-struct __set_node_handle_specifics
-{
-    typedef typename _NodeType::__node_value_type value_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    value_type& value() const
-    {
-        return static_cast<_Derived const*>(this)->__ptr_->__value_;
-    }
-};
-
-template <class _NodeType, class _Derived>
-struct __map_node_handle_specifics
-{
-    typedef typename _NodeType::__node_value_type::key_type key_type;
-    typedef typename _NodeType::__node_value_type::mapped_type mapped_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    key_type& key() const
-    {
-        return static_cast<_Derived const*>(this)->
-            __ptr_->__value_.__ref().first;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    mapped_type& mapped() const
-    {
-        return static_cast<_Derived const*>(this)->
-            __ptr_->__value_.__ref().second;
-    }
-};
-
-template <class _NodeType, class _Alloc>
-using __set_node_handle =
-    __basic_node_handle< _NodeType, _Alloc, __set_node_handle_specifics>;
-
-template <class _NodeType, class _Alloc>
-using __map_node_handle =
-    __basic_node_handle< _NodeType, _Alloc, __map_node_handle_specifics>;
-
-template <class _Iterator, class _NodeType>
-struct _LIBCPP_TEMPLATE_VIS __insert_return_type
-{
-    _Iterator position;
-    bool inserted;
-    _NodeType node;
-};
-
-#endif // _LIBCPP_STD_VER > 14
-
-_LIBCPP_END_NAMESPACE_STD
-_LIBCPP_POP_MACROS
-
-#endif
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__nullptr b/r23/sources/cxx-stl/llvm-libc++/include/__nullptr
deleted file mode 100644
index 45529a7..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__nullptr
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- __nullptr --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_NULLPTR
-#define _LIBCPP_NULLPTR
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef _LIBCPP_HAS_NO_NULLPTR
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-struct _LIBCPP_TEMPLATE_VIS nullptr_t
-{
-    void* __lx;
-
-    struct __nat {int __for_bool_;};
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR nullptr_t() : __lx(0) {}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR nullptr_t(int __nat::*) : __lx(0) {}
-
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR operator int __nat::*() const {return 0;}
-
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-        operator _Tp* () const {return 0;}
-
-    template <class _Tp, class _Up>
-        _LIBCPP_INLINE_VISIBILITY
-        operator _Tp _Up::* () const {return 0;}
-
-    friend _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR bool operator==(nullptr_t, nullptr_t) {return true;}
-    friend _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR bool operator!=(nullptr_t, nullptr_t) {return false;}
-};
-
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR nullptr_t __get_nullptr_t() {return nullptr_t(0);}
-
-#define nullptr _VSTD::__get_nullptr_t()
-
-_LIBCPP_END_NAMESPACE_STD
-
-#else  // _LIBCPP_HAS_NO_NULLPTR
-
-namespace std
-{
-    typedef decltype(nullptr) nullptr_t;
-}
-
-#endif  // _LIBCPP_HAS_NO_NULLPTR
-
-#endif  // _LIBCPP_NULLPTR
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__sso_allocator b/r23/sources/cxx-stl/llvm-libc++/include/__sso_allocator
deleted file mode 100644
index 3930128..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__sso_allocator
+++ /dev/null
@@ -1,76 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___SSO_ALLOCATOR
-#define _LIBCPP___SSO_ALLOCATOR
-
-#include <__config>
-#include <type_traits>
-#include <new>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp, size_t _Np> class _LIBCPP_HIDDEN __sso_allocator;
-
-template <size_t _Np>
-class _LIBCPP_HIDDEN __sso_allocator<void, _Np>
-{
-public:
-    typedef const void*       const_pointer;
-    typedef void              value_type;
-};
-
-template <class _Tp, size_t _Np>
-class _LIBCPP_HIDDEN __sso_allocator
-{
-    typename aligned_storage<sizeof(_Tp) * _Np>::type buf_;
-    bool __allocated_;
-public:
-    typedef size_t            size_type;
-    typedef _Tp*              pointer;
-    typedef _Tp               value_type;
-
-    _LIBCPP_INLINE_VISIBILITY __sso_allocator() throw() : __allocated_(false) {}
-    _LIBCPP_INLINE_VISIBILITY __sso_allocator(const __sso_allocator&) throw() : __allocated_(false) {}
-    template <class _Up> _LIBCPP_INLINE_VISIBILITY __sso_allocator(const __sso_allocator<_Up, _Np>&) throw()
-         : __allocated_(false) {}
-private:
-    __sso_allocator& operator=(const __sso_allocator&);
-public:
-    _LIBCPP_INLINE_VISIBILITY pointer allocate(size_type __n, typename __sso_allocator<void, _Np>::const_pointer = 0)
-    {
-        if (!__allocated_ && __n <= _Np)
-        {
-            __allocated_ = true;
-            return (pointer)&buf_;
-        }
-        return static_cast<pointer>(_VSTD::__libcpp_allocate(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)));
-    }
-    _LIBCPP_INLINE_VISIBILITY void deallocate(pointer __p, size_type __n)
-    {
-        if (__p == (pointer)&buf_)
-            __allocated_ = false;
-        else
-            _VSTD::__libcpp_deallocate(__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));
-    }
-    _LIBCPP_INLINE_VISIBILITY size_type max_size() const throw() {return size_type(~0) / sizeof(_Tp);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator==(__sso_allocator& __a) const {return &buf_ == &__a.buf_;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(__sso_allocator& __a) const {return &buf_ != &__a.buf_;}
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP___SSO_ALLOCATOR
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__std_stream b/r23/sources/cxx-stl/llvm-libc++/include/__std_stream
deleted file mode 100644
index 5a9a470..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__std_stream
+++ /dev/null
@@ -1,361 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___STD_STREAM
-#define _LIBCPP___STD_STREAM
-
-#include <__config>
-#include <ostream>
-#include <istream>
-#include <__locale>
-#include <cstdio>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-static const int __limit = 8;
-
-// __stdinbuf
-
-template <class _CharT>
-class _LIBCPP_HIDDEN __stdinbuf
-    : public basic_streambuf<_CharT, char_traits<_CharT> >
-{
-public:
-    typedef _CharT                           char_type;
-    typedef char_traits<char_type>           traits_type;
-    typedef typename traits_type::int_type   int_type;
-    typedef typename traits_type::pos_type   pos_type;
-    typedef typename traits_type::off_type   off_type;
-    typedef typename traits_type::state_type state_type;
-
-    __stdinbuf(FILE* __fp, state_type* __st);
-
-protected:
-    virtual int_type underflow();
-    virtual int_type uflow();
-    virtual int_type pbackfail(int_type __c = traits_type::eof());
-    virtual void imbue(const locale& __loc);
-
-private:
-
-    FILE* __file_;
-    const codecvt<char_type, char, state_type>* __cv_;
-    state_type* __st_;
-    int __encoding_;
-    int_type __last_consumed_;
-    bool __last_consumed_is_next_;
-    bool __always_noconv_;
-
-    __stdinbuf(const __stdinbuf&);
-    __stdinbuf& operator=(const __stdinbuf&);
-
-    int_type __getchar(bool __consume);
-};
-
-template <class _CharT>
-__stdinbuf<_CharT>::__stdinbuf(FILE* __fp, state_type* __st)
-    : __file_(__fp),
-      __st_(__st),
-      __last_consumed_(traits_type::eof()),
-      __last_consumed_is_next_(false)
-{
-    imbue(this->getloc());
-}
-
-template <class _CharT>
-void
-__stdinbuf<_CharT>::imbue(const locale& __loc)
-{
-    __cv_ = &use_facet<codecvt<char_type, char, state_type> >(__loc);
-    __encoding_ = __cv_->encoding();
-    __always_noconv_ = __cv_->always_noconv();
-    if (__encoding_ > __limit)
-        __throw_runtime_error("unsupported locale for standard input");
-}
-
-template <class _CharT>
-typename __stdinbuf<_CharT>::int_type
-__stdinbuf<_CharT>::underflow()
-{
-    return __getchar(false);
-}
-
-template <class _CharT>
-typename __stdinbuf<_CharT>::int_type
-__stdinbuf<_CharT>::uflow()
-{
-    return __getchar(true);
-}
-
-template <class _CharT>
-typename __stdinbuf<_CharT>::int_type
-__stdinbuf<_CharT>::__getchar(bool __consume)
-{
-    if (__last_consumed_is_next_)
-    {
-        int_type __result = __last_consumed_;
-        if (__consume)
-        {
-            __last_consumed_ = traits_type::eof();
-            __last_consumed_is_next_ = false;
-        }
-        return __result;
-    }
-    char __extbuf[__limit];
-    int __nread = _VSTD::max(1, __encoding_);
-    for (int __i = 0; __i < __nread; ++__i)
-    {
-        int __c = getc(__file_);
-        if (__c == EOF)
-            return traits_type::eof();
-        __extbuf[__i] = static_cast<char>(__c);
-    }
-    char_type __1buf;
-    if (__always_noconv_)
-        __1buf = static_cast<char_type>(__extbuf[0]);
-    else
-    {
-        const char* __enxt;
-        char_type* __inxt;
-        codecvt_base::result __r;
-        do
-        {
-            state_type __sv_st = *__st_;
-            __r = __cv_->in(*__st_, __extbuf, __extbuf + __nread, __enxt,
-                                   &__1buf, &__1buf + 1, __inxt);
-            switch (__r)
-            {
-            case _VSTD::codecvt_base::ok:
-                break;
-            case codecvt_base::partial:
-                *__st_ = __sv_st;
-                if (__nread == sizeof(__extbuf))
-                    return traits_type::eof();
-                {
-                    int __c = getc(__file_);
-                    if (__c == EOF)
-                        return traits_type::eof();
-                    __extbuf[__nread] = static_cast<char>(__c);
-                }
-                ++__nread;
-                break;
-            case codecvt_base::error:
-                return traits_type::eof();
-            case _VSTD::codecvt_base::noconv:
-                __1buf = static_cast<char_type>(__extbuf[0]);
-                break;
-            }
-        } while (__r == _VSTD::codecvt_base::partial);
-    }
-    if (!__consume)
-    {
-        for (int __i = __nread; __i > 0;)
-        {
-            if (ungetc(traits_type::to_int_type(__extbuf[--__i]), __file_) == EOF)
-                return traits_type::eof();
-        }
-    }
-    else
-        __last_consumed_ = traits_type::to_int_type(__1buf);
-    return traits_type::to_int_type(__1buf);
-}
-
-template <class _CharT>
-typename __stdinbuf<_CharT>::int_type
-__stdinbuf<_CharT>::pbackfail(int_type __c)
-{
-    if (traits_type::eq_int_type(__c, traits_type::eof()))
-    {
-        if (!__last_consumed_is_next_)
-        {
-            __c = __last_consumed_;
-            __last_consumed_is_next_ = !traits_type::eq_int_type(__last_consumed_,
-                                                                 traits_type::eof());
-        }
-        return __c;
-    }
-    if (__last_consumed_is_next_)
-    {
-        char __extbuf[__limit];
-        char* __enxt;
-        const char_type __ci = traits_type::to_char_type(__last_consumed_);
-        const char_type* __inxt;
-        switch (__cv_->out(*__st_, &__ci, &__ci + 1, __inxt,
-                                  __extbuf, __extbuf + sizeof(__extbuf), __enxt))
-        {
-        case _VSTD::codecvt_base::ok:
-            break;
-        case _VSTD::codecvt_base::noconv:
-            __extbuf[0] = static_cast<char>(__last_consumed_);
-            __enxt = __extbuf + 1;
-            break;
-        case codecvt_base::partial:
-        case codecvt_base::error:
-            return traits_type::eof();
-        }
-        while (__enxt > __extbuf)
-            if (ungetc(*--__enxt, __file_) == EOF)
-                return traits_type::eof();
-    }
-    __last_consumed_ = __c;
-    __last_consumed_is_next_ = true;
-    return __c;
-}
-
-// __stdoutbuf
-
-template <class _CharT>
-class _LIBCPP_HIDDEN __stdoutbuf
-    : public basic_streambuf<_CharT, char_traits<_CharT> >
-{
-public:
-    typedef _CharT                           char_type;
-    typedef char_traits<char_type>           traits_type;
-    typedef typename traits_type::int_type   int_type;
-    typedef typename traits_type::pos_type   pos_type;
-    typedef typename traits_type::off_type   off_type;
-    typedef typename traits_type::state_type state_type;
-
-    __stdoutbuf(FILE* __fp, state_type* __st);
-
-protected:
-    virtual int_type overflow (int_type __c = traits_type::eof());
-    virtual streamsize xsputn(const char_type* __s, streamsize __n);
-    virtual int sync();
-    virtual void imbue(const locale& __loc);
-
-private:
-    FILE* __file_;
-    const codecvt<char_type, char, state_type>* __cv_;
-    state_type* __st_;
-    bool __always_noconv_;
-
-    __stdoutbuf(const __stdoutbuf&);
-    __stdoutbuf& operator=(const __stdoutbuf&);
-};
-
-template <class _CharT>
-__stdoutbuf<_CharT>::__stdoutbuf(FILE* __fp, state_type* __st)
-    : __file_(__fp),
-      __cv_(&use_facet<codecvt<char_type, char, state_type> >(this->getloc())),
-      __st_(__st),
-      __always_noconv_(__cv_->always_noconv())
-{
-}
-
-template <class _CharT>
-typename __stdoutbuf<_CharT>::int_type
-__stdoutbuf<_CharT>::overflow(int_type __c)
-{
-    char __extbuf[__limit];
-    char_type __1buf;
-    if (!traits_type::eq_int_type(__c, traits_type::eof()))
-    {
-        __1buf = traits_type::to_char_type(__c);
-        if (__always_noconv_)
-        {
-            if (fwrite(&__1buf, sizeof(char_type), 1, __file_) != 1)
-                return traits_type::eof();
-        }
-        else
-        {
-            char* __extbe = __extbuf;
-            codecvt_base::result __r;
-            char_type* pbase = &__1buf;
-            char_type* pptr = pbase + 1;
-            do
-            {
-                const char_type* __e;
-                __r = __cv_->out(*__st_, pbase, pptr, __e,
-                                        __extbuf,
-                                        __extbuf + sizeof(__extbuf),
-                                        __extbe);
-                if (__e == pbase)
-                    return traits_type::eof();
-                if (__r == codecvt_base::noconv)
-                {
-                    if (fwrite(pbase, 1, 1, __file_) != 1)
-                        return traits_type::eof();
-                }
-                else if (__r == codecvt_base::ok || __r == codecvt_base::partial)
-                {
-                    size_t __nmemb = static_cast<size_t>(__extbe - __extbuf);
-                    if (fwrite(__extbuf, 1, __nmemb, __file_) != __nmemb)
-                        return traits_type::eof();
-                    if (__r == codecvt_base::partial)
-                    {
-                        pbase = const_cast<char_type*>(__e);
-                    }
-                }
-                else
-                    return traits_type::eof();
-            } while (__r == codecvt_base::partial);
-        }
-    }
-    return traits_type::not_eof(__c);
-}
-
-template <class _CharT>
-streamsize
-__stdoutbuf<_CharT>::xsputn(const char_type* __s, streamsize __n)
-{
-    if (__always_noconv_)
-        return fwrite(__s, sizeof(char_type), __n, __file_);
-    streamsize __i = 0;
-    for (; __i < __n; ++__i, ++__s)
-        if (overflow(traits_type::to_int_type(*__s)) == traits_type::eof())
-            break;
-    return __i;
-}
-
-template <class _CharT>
-int
-__stdoutbuf<_CharT>::sync()
-{
-    char __extbuf[__limit];
-    codecvt_base::result __r;
-    do
-    {
-        char* __extbe;
-        __r = __cv_->unshift(*__st_, __extbuf,
-                                    __extbuf + sizeof(__extbuf),
-                                    __extbe);
-        size_t __nmemb = static_cast<size_t>(__extbe - __extbuf);
-        if (fwrite(__extbuf, 1, __nmemb, __file_) != __nmemb)
-            return -1;
-    } while (__r == codecvt_base::partial);
-    if (__r == codecvt_base::error)
-        return -1;
-    if (fflush(__file_))
-        return -1;
-    return 0;
-}
-
-template <class _CharT>
-void
-__stdoutbuf<_CharT>::imbue(const locale& __loc)
-{
-    sync();
-    __cv_ = &use_facet<codecvt<char_type, char, state_type> >(__loc);
-    __always_noconv_ = __cv_->always_noconv();
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP___STD_STREAM
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/__undef_macros b/r23/sources/cxx-stl/llvm-libc++/include/__undef_macros
deleted file mode 100644
index 4923ee6..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/__undef_macros
+++ /dev/null
@@ -1,33 +0,0 @@
-// -*- C++ -*-
-//===------------------------ __undef_macros ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifdef min
-#if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS)
-#if defined(_LIBCPP_WARNING)
-_LIBCPP_WARNING("macro min is incompatible with C++.  Try #define NOMINMAX "
-                "before any Windows header. #undefing min")
-#else
-#warning: macro min is incompatible with C++.  #undefing min
-#endif
-#endif
-#undef min
-#endif
-
-#ifdef max
-#if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS)
-#if defined(_LIBCPP_WARNING)
-_LIBCPP_WARNING("macro max is incompatible with C++.  Try #define NOMINMAX "
-                "before any Windows header. #undefing max")
-#else
-#warning: macro max is incompatible with C++.  #undefing max
-#endif
-#endif
-#undef max
-#endif
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/any b/r23/sources/cxx-stl/llvm-libc++/include/any
deleted file mode 100644
index 36b07c9..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/any
+++ /dev/null
@@ -1,671 +0,0 @@
-// -*- C++ -*-
-//===------------------------------ any -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_ANY
-#define _LIBCPP_ANY
-
-/*
-   any synopsis
-
-namespace std {
-
-  class bad_any_cast : public bad_cast
-  {
-  public:
-    virtual const char* what() const noexcept;
-  };
-
-  class any
-  {
-  public:
-
-    // 6.3.1 any construct/destruct
-    any() noexcept;
-
-    any(const any& other);
-    any(any&& other) noexcept;
-
-    template <class ValueType>
-      any(ValueType&& value);
-
-    ~any();
-
-    // 6.3.2 any assignments
-    any& operator=(const any& rhs);
-    any& operator=(any&& rhs) noexcept;
-
-    template <class ValueType>
-      any& operator=(ValueType&& rhs);
-
-    // 6.3.3 any modifiers
-    template <class ValueType, class... Args>
-      decay_t<ValueType>& emplace(Args&&... args);
-    template <class ValueType, class U, class... Args>
-      decay_t<ValueType>& emplace(initializer_list<U>, Args&&...);
-    void reset() noexcept;
-    void swap(any& rhs) noexcept;
-
-    // 6.3.4 any observers
-    bool has_value() const noexcept;
-    const type_info& type() const noexcept;
-  };
-
-   // 6.4 Non-member functions
-  void swap(any& x, any& y) noexcept;
-
-  template <class T, class ...Args>
-    any make_any(Args&& ...args);
-  template <class T, class U, class ...Args>
-    any make_any(initializer_list<U>, Args&& ...args);
-
-  template<class ValueType>
-    ValueType any_cast(const any& operand);
-  template<class ValueType>
-    ValueType any_cast(any& operand);
-  template<class ValueType>
-    ValueType any_cast(any&& operand);
-
-  template<class ValueType>
-    const ValueType* any_cast(const any* operand) noexcept;
-  template<class ValueType>
-    ValueType* any_cast(any* operand) noexcept;
-
-} // namespace std
-
-*/
-
-#include <experimental/__config>
-#include <memory>
-#include <new>
-#include <typeinfo>
-#include <type_traits>
-#include <cstdlib>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-namespace std {
-class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_ANY_CAST bad_any_cast : public bad_cast
-{
-public:
-    virtual const char* what() const _NOEXCEPT;
-};
-} // namespace std
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER > 14
-
-_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
-void __throw_bad_any_cast()
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    throw bad_any_cast();
-#else
-    _VSTD::abort();
-#endif
-}
-
-// Forward declarations
-class _LIBCPP_TEMPLATE_VIS any;
-
-template <class _ValueType>
-_LIBCPP_INLINE_VISIBILITY
-add_pointer_t<add_const_t<_ValueType>>
-any_cast(any const *) _NOEXCEPT;
-
-template <class _ValueType>
-_LIBCPP_INLINE_VISIBILITY
-add_pointer_t<_ValueType> any_cast(any *) _NOEXCEPT;
-
-namespace __any_imp
-{
-  using _Buffer = aligned_storage_t<3*sizeof(void*), alignment_of<void*>::value>;
-
-  template <class _Tp>
-  using _IsSmallObject = integral_constant<bool
-        , sizeof(_Tp) <= sizeof(_Buffer)
-          && alignment_of<_Buffer>::value
-             % alignment_of<_Tp>::value == 0
-          && is_nothrow_move_constructible<_Tp>::value
-        >;
-
-  enum class _Action {
-    _Destroy,
-    _Copy,
-    _Move,
-    _Get,
-    _TypeInfo
-  };
-
-  template <class _Tp> struct _SmallHandler;
-  template <class _Tp> struct _LargeHandler;
-
-  template <class _Tp>
-  struct  _LIBCPP_TEMPLATE_VIS __unique_typeinfo { static constexpr int __id = 0; };
-  template <class _Tp> constexpr int __unique_typeinfo<_Tp>::__id;
-
-  template <class _Tp>
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr const void* __get_fallback_typeid() {
-      return &__unique_typeinfo<decay_t<_Tp>>::__id;
-  }
-
-  template <class _Tp>
-  inline _LIBCPP_INLINE_VISIBILITY
-  bool __compare_typeid(type_info const* __id, const void* __fallback_id)
-  {
-#if !defined(_LIBCPP_NO_RTTI)
-      if (__id && *__id == typeid(_Tp))
-          return true;
-#endif
-      if (!__id && __fallback_id == __any_imp::__get_fallback_typeid<_Tp>())
-          return true;
-      return false;
-  }
-
-  template <class _Tp>
-  using _Handler = conditional_t<
-    _IsSmallObject<_Tp>::value, _SmallHandler<_Tp>, _LargeHandler<_Tp>>;
-
-} // namespace __any_imp
-
-class _LIBCPP_TEMPLATE_VIS any
-{
-public:
-  // construct/destruct
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr any() _NOEXCEPT : __h(nullptr) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  any(any const & __other) : __h(nullptr)
-  {
-    if (__other.__h) __other.__call(_Action::_Copy, this);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  any(any && __other) _NOEXCEPT : __h(nullptr)
-  {
-    if (__other.__h) __other.__call(_Action::_Move, this);
-  }
-
-  template <
-      class _ValueType
-    , class _Tp = decay_t<_ValueType>
-    , class = enable_if_t<
-        !is_same<_Tp, any>::value &&
-        !__is_inplace_type<_ValueType>::value &&
-        is_copy_constructible<_Tp>::value>
-    >
-  _LIBCPP_INLINE_VISIBILITY
-  any(_ValueType && __value);
-
-  template <class _ValueType, class ..._Args,
-    class _Tp = decay_t<_ValueType>,
-    class = enable_if_t<
-        is_constructible<_Tp, _Args...>::value &&
-        is_copy_constructible<_Tp>::value
-    >
-  >
-  _LIBCPP_INLINE_VISIBILITY
-  explicit any(in_place_type_t<_ValueType>, _Args&&... __args);
-
-  template <class _ValueType, class _Up, class ..._Args,
-    class _Tp = decay_t<_ValueType>,
-    class = enable_if_t<
-        is_constructible<_Tp, initializer_list<_Up>&, _Args...>::value &&
-        is_copy_constructible<_Tp>::value>
-  >
-  _LIBCPP_INLINE_VISIBILITY
-  explicit any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&... __args);
-
-  _LIBCPP_INLINE_VISIBILITY
-  ~any() { this->reset(); }
-
-  // assignments
-  _LIBCPP_INLINE_VISIBILITY
-  any & operator=(any const & __rhs) {
-    any(__rhs).swap(*this);
-    return *this;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  any & operator=(any && __rhs) _NOEXCEPT {
-    any(_VSTD::move(__rhs)).swap(*this);
-    return *this;
-  }
-
-  template <
-      class _ValueType
-    , class _Tp = decay_t<_ValueType>
-    , class = enable_if_t<
-          !is_same<_Tp, any>::value
-          && is_copy_constructible<_Tp>::value>
-    >
-  _LIBCPP_INLINE_VISIBILITY
-  any & operator=(_ValueType && __rhs);
-
-  template <class _ValueType, class ..._Args,
-    class _Tp = decay_t<_ValueType>,
-    class = enable_if_t<
-        is_constructible<_Tp, _Args...>::value &&
-        is_copy_constructible<_Tp>::value>
-    >
-  _LIBCPP_INLINE_VISIBILITY
-  _Tp& emplace(_Args&&... args);
-
-  template <class _ValueType, class _Up, class ..._Args,
-    class _Tp = decay_t<_ValueType>,
-    class = enable_if_t<
-        is_constructible<_Tp, initializer_list<_Up>&, _Args...>::value &&
-        is_copy_constructible<_Tp>::value>
-  >
-  _LIBCPP_INLINE_VISIBILITY
-  _Tp& emplace(initializer_list<_Up>, _Args&&...);
-
-  // 6.3.3 any modifiers
-  _LIBCPP_INLINE_VISIBILITY
-  void reset() _NOEXCEPT { if (__h) this->__call(_Action::_Destroy); }
-
-  _LIBCPP_INLINE_VISIBILITY
-  void swap(any & __rhs) _NOEXCEPT;
-
-  // 6.3.4 any observers
-  _LIBCPP_INLINE_VISIBILITY
-  bool has_value() const _NOEXCEPT { return __h != nullptr; }
-
-#if !defined(_LIBCPP_NO_RTTI)
-  _LIBCPP_INLINE_VISIBILITY
-  const type_info & type() const _NOEXCEPT {
-    if (__h) {
-        return *static_cast<type_info const *>(this->__call(_Action::_TypeInfo));
-    } else {
-        return typeid(void);
-    }
-  }
-#endif
-
-private:
-    typedef __any_imp::_Action _Action;
-    using _HandleFuncPtr =  void* (*)(_Action, any const *, any *, const type_info *,
-      const void* __fallback_info);
-
-    union _Storage {
-        constexpr _Storage() : __ptr(nullptr) {}
-        void *  __ptr;
-        __any_imp::_Buffer __buf;
-    };
-
-    _LIBCPP_INLINE_VISIBILITY
-    void * __call(_Action __a, any * __other = nullptr,
-                  type_info const * __info = nullptr,
-                   const void* __fallback_info = nullptr) const
-    {
-        return __h(__a, this, __other, __info, __fallback_info);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void * __call(_Action __a, any * __other = nullptr,
-                  type_info const * __info = nullptr,
-                  const void* __fallback_info = nullptr)
-    {
-        return __h(__a, this, __other, __info, __fallback_info);
-    }
-
-    template <class>
-    friend struct __any_imp::_SmallHandler;
-    template <class>
-    friend struct __any_imp::_LargeHandler;
-
-    template <class _ValueType>
-    friend add_pointer_t<add_const_t<_ValueType>>
-    any_cast(any const *) _NOEXCEPT;
-
-    template <class _ValueType>
-    friend add_pointer_t<_ValueType>
-    any_cast(any *) _NOEXCEPT;
-
-    _HandleFuncPtr __h = nullptr;
-    _Storage __s;
-};
-
-namespace __any_imp
-{
-  template <class _Tp>
-  struct _LIBCPP_TEMPLATE_VIS _SmallHandler
-  {
-     _LIBCPP_INLINE_VISIBILITY
-     static void* __handle(_Action __act, any const * __this, any * __other,
-                           type_info const * __info, const void* __fallback_info)
-     {
-        switch (__act)
-        {
-        case _Action::_Destroy:
-          __destroy(const_cast<any &>(*__this));
-          return nullptr;
-        case _Action::_Copy:
-            __copy(*__this, *__other);
-            return nullptr;
-        case _Action::_Move:
-          __move(const_cast<any &>(*__this), *__other);
-          return nullptr;
-        case _Action::_Get:
-            return __get(const_cast<any &>(*__this), __info, __fallback_info);
-        case _Action::_TypeInfo:
-          return __type_info();
-        }
-    }
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    static _Tp& __create(any & __dest, _Args&&... __args) {
-        _Tp* __ret = ::new (static_cast<void*>(&__dest.__s.__buf)) _Tp(_VSTD::forward<_Args>(__args)...);
-        __dest.__h = &_SmallHandler::__handle;
-        return *__ret;
-    }
-
-  private:
-    _LIBCPP_INLINE_VISIBILITY
-    static void __destroy(any & __this) {
-        _Tp & __value = *static_cast<_Tp *>(static_cast<void*>(&__this.__s.__buf));
-        __value.~_Tp();
-        __this.__h = nullptr;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void __copy(any const & __this, any & __dest) {
-        _SmallHandler::__create(__dest, *static_cast<_Tp const *>(
-            static_cast<void const *>(&__this.__s.__buf)));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void __move(any & __this, any & __dest) {
-        _SmallHandler::__create(__dest, _VSTD::move(
-            *static_cast<_Tp*>(static_cast<void*>(&__this.__s.__buf))));
-        __destroy(__this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void* __get(any & __this,
-                       type_info const * __info,
-                       const void* __fallback_id)
-    {
-        if (__any_imp::__compare_typeid<_Tp>(__info, __fallback_id))
-            return static_cast<void*>(&__this.__s.__buf);
-        return nullptr;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void* __type_info()
-    {
-#if !defined(_LIBCPP_NO_RTTI)
-        return const_cast<void*>(static_cast<void const *>(&typeid(_Tp)));
-#else
-        return nullptr;
-#endif
-    }
-  };
-
-  template <class _Tp>
-  struct _LIBCPP_TEMPLATE_VIS _LargeHandler
-  {
-    _LIBCPP_INLINE_VISIBILITY
-    static void* __handle(_Action __act, any const * __this,
-                          any * __other, type_info const * __info,
-                          void const* __fallback_info)
-    {
-        switch (__act)
-        {
-        case _Action::_Destroy:
-          __destroy(const_cast<any &>(*__this));
-          return nullptr;
-        case _Action::_Copy:
-          __copy(*__this, *__other);
-          return nullptr;
-        case _Action::_Move:
-          __move(const_cast<any &>(*__this), *__other);
-          return nullptr;
-        case _Action::_Get:
-            return __get(const_cast<any &>(*__this), __info, __fallback_info);
-        case _Action::_TypeInfo:
-          return __type_info();
-        }
-    }
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    static _Tp& __create(any & __dest, _Args&&... __args) {
-        typedef allocator<_Tp> _Alloc;
-        typedef __allocator_destructor<_Alloc> _Dp;
-        _Alloc __a;
-        unique_ptr<_Tp, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
-        _Tp* __ret = ::new ((void*)__hold.get()) _Tp(_VSTD::forward<_Args>(__args)...);
-        __dest.__s.__ptr = __hold.release();
-        __dest.__h = &_LargeHandler::__handle;
-        return *__ret;
-    }
-
-  private:
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void __destroy(any & __this){
-        delete static_cast<_Tp*>(__this.__s.__ptr);
-        __this.__h = nullptr;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void __copy(any const & __this, any & __dest) {
-        _LargeHandler::__create(__dest, *static_cast<_Tp const *>(__this.__s.__ptr));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void __move(any & __this, any & __dest) {
-      __dest.__s.__ptr = __this.__s.__ptr;
-      __dest.__h = &_LargeHandler::__handle;
-      __this.__h = nullptr;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void* __get(any & __this, type_info const * __info,
-                       void const* __fallback_info)
-    {
-        if (__any_imp::__compare_typeid<_Tp>(__info, __fallback_info))
-            return static_cast<void*>(__this.__s.__ptr);
-        return nullptr;
-
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    static void* __type_info()
-    {
-#if !defined(_LIBCPP_NO_RTTI)
-        return const_cast<void*>(static_cast<void const *>(&typeid(_Tp)));
-#else
-        return nullptr;
-#endif
-    }
-  };
-
-} // namespace __any_imp
-
-
-template <class _ValueType, class _Tp, class>
-any::any(_ValueType && __v) : __h(nullptr)
-{
-  __any_imp::_Handler<_Tp>::__create(*this, _VSTD::forward<_ValueType>(__v));
-}
-
-template <class _ValueType, class ..._Args, class _Tp, class>
-any::any(in_place_type_t<_ValueType>, _Args&&... __args) {
-  __any_imp::_Handler<_Tp>::__create(*this, _VSTD::forward<_Args>(__args)...);
-}
-
-template <class _ValueType, class _Up, class ..._Args, class _Tp, class>
-any::any(in_place_type_t<_ValueType>, initializer_list<_Up> __il, _Args&&... __args) {
-  __any_imp::_Handler<_Tp>::__create(*this, __il, _VSTD::forward<_Args>(__args)...);
-}
-
-template <class _ValueType, class, class>
-inline _LIBCPP_INLINE_VISIBILITY
-any & any::operator=(_ValueType && __v)
-{
-  any(_VSTD::forward<_ValueType>(__v)).swap(*this);
-  return *this;
-}
-
-template <class _ValueType, class ..._Args, class _Tp, class>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp& any::emplace(_Args&&... __args) {
-  reset();
-  return __any_imp::_Handler<_Tp>::__create(*this, _VSTD::forward<_Args>(__args)...);
-}
-
-template <class _ValueType, class _Up, class ..._Args, class _Tp, class>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp& any::emplace(initializer_list<_Up> __il, _Args&&... __args) {
-  reset();
-  return __any_imp::_Handler<_Tp>::__create(*this, __il, _VSTD::forward<_Args>(__args)...);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void any::swap(any & __rhs) _NOEXCEPT
-{
-    if (this == &__rhs)
-      return;
-    if (__h && __rhs.__h) {
-        any __tmp;
-        __rhs.__call(_Action::_Move, &__tmp);
-        this->__call(_Action::_Move, &__rhs);
-        __tmp.__call(_Action::_Move, this);
-    }
-    else if (__h) {
-        this->__call(_Action::_Move, &__rhs);
-    }
-    else if (__rhs.__h) {
-        __rhs.__call(_Action::_Move, this);
-    }
-}
-
-// 6.4 Non-member functions
-
-inline _LIBCPP_INLINE_VISIBILITY
-void swap(any & __lhs, any & __rhs) _NOEXCEPT
-{
-    __lhs.swap(__rhs);
-}
-
-template <class _Tp, class ..._Args>
-inline _LIBCPP_INLINE_VISIBILITY
-any make_any(_Args&&... __args) {
-    return any(in_place_type<_Tp>, _VSTD::forward<_Args>(__args)...);
-}
-
-template <class _Tp, class _Up, class ..._Args>
-inline _LIBCPP_INLINE_VISIBILITY
-any make_any(initializer_list<_Up> __il, _Args&&... __args) {
-    return any(in_place_type<_Tp>, __il, _VSTD::forward<_Args>(__args)...);
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
-_ValueType any_cast(any const & __v)
-{
-    using _RawValueType = __uncvref_t<_ValueType>;
-    static_assert(is_constructible<_ValueType, _RawValueType const &>::value,
-                  "ValueType is required to be a const lvalue reference "
-                  "or a CopyConstructible type");
-    auto __tmp = _VSTD::any_cast<add_const_t<_RawValueType>>(&__v);
-    if (__tmp == nullptr)
-        __throw_bad_any_cast();
-    return static_cast<_ValueType>(*__tmp);
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
-_ValueType any_cast(any & __v)
-{
-    using _RawValueType = __uncvref_t<_ValueType>;
-    static_assert(is_constructible<_ValueType, _RawValueType &>::value,
-                  "ValueType is required to be an lvalue reference "
-                  "or a CopyConstructible type");
-    auto __tmp = _VSTD::any_cast<_RawValueType>(&__v);
-    if (__tmp == nullptr)
-        __throw_bad_any_cast();
-    return static_cast<_ValueType>(*__tmp);
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
-_ValueType any_cast(any && __v)
-{
-    using _RawValueType = __uncvref_t<_ValueType>;
-    static_assert(is_constructible<_ValueType, _RawValueType>::value,
-                  "ValueType is required to be an rvalue reference "
-                  "or a CopyConstructible type");
-    auto __tmp = _VSTD::any_cast<_RawValueType>(&__v);
-    if (__tmp == nullptr)
-        __throw_bad_any_cast();
-    return static_cast<_ValueType>(_VSTD::move(*__tmp));
-}
-
-template <class _ValueType>
-inline _LIBCPP_INLINE_VISIBILITY
-add_pointer_t<add_const_t<_ValueType>>
-any_cast(any const * __any) _NOEXCEPT
-{
-    static_assert(!is_reference<_ValueType>::value,
-                  "_ValueType may not be a reference.");
-    return _VSTD::any_cast<_ValueType>(const_cast<any *>(__any));
-}
-
-template <class _RetType>
-inline _LIBCPP_INLINE_VISIBILITY
-_RetType __pointer_or_func_cast(void* __p, /*IsFunction*/false_type) noexcept {
-  return static_cast<_RetType>(__p);
-}
-
-template <class _RetType>
-inline _LIBCPP_INLINE_VISIBILITY
-_RetType __pointer_or_func_cast(void*, /*IsFunction*/true_type) noexcept {
-  return nullptr;
-}
-
-template <class _ValueType>
-add_pointer_t<_ValueType>
-any_cast(any * __any) _NOEXCEPT
-{
-    using __any_imp::_Action;
-    static_assert(!is_reference<_ValueType>::value,
-                  "_ValueType may not be a reference.");
-    typedef typename add_pointer<_ValueType>::type _ReturnType;
-    if (__any && __any->__h) {
-      void *__p = __any->__call(_Action::_Get, nullptr,
-#if !defined(_LIBCPP_NO_RTTI)
-                          &typeid(_ValueType),
-#else
-                          nullptr,
-#endif
-                          __any_imp::__get_fallback_typeid<_ValueType>());
-        return _VSTD::__pointer_or_func_cast<_ReturnType>(
-            __p, is_function<_ValueType>{});
-    }
-    return nullptr;
-}
-
-#endif // _LIBCPP_STD_VER > 14
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP_ANY
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/bitset b/r23/sources/cxx-stl/llvm-libc++/include/bitset
deleted file mode 100644
index 4755fbe..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/bitset
+++ /dev/null
@@ -1,1109 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- bitset ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_BITSET
-#define _LIBCPP_BITSET
-
-/*
-    bitset synopsis
-
-namespace std
-{
-
-namespace std {
-
-template <size_t N>
-class bitset
-{
-public:
-    // bit reference:
-    class reference
-    {
-        friend class bitset;
-        reference() noexcept;
-    public:
-        ~reference() noexcept;
-        reference& operator=(bool x) noexcept;           // for b[i] = x;
-        reference& operator=(const reference&) noexcept; // for b[i] = b[j];
-        bool operator~() const noexcept;                 // flips the bit
-        operator bool() const noexcept;                  // for x = b[i];
-        reference& flip() noexcept;                      // for b[i].flip();
-    };
-
-    // 23.3.5.1 constructors:
-    constexpr bitset() noexcept;
-    constexpr bitset(unsigned long long val) noexcept;
-    template <class charT>
-        explicit bitset(const charT* str,
-                        typename basic_string<charT>::size_type n = basic_string<charT>::npos,
-                        charT zero = charT('0'), charT one = charT('1'));
-    template<class charT, class traits, class Allocator>
-        explicit bitset(const basic_string<charT,traits,Allocator>& str,
-                        typename basic_string<charT,traits,Allocator>::size_type pos = 0,
-                        typename basic_string<charT,traits,Allocator>::size_type n =
-                                 basic_string<charT,traits,Allocator>::npos,
-                        charT zero = charT('0'), charT one = charT('1'));
-
-    // 23.3.5.2 bitset operations:
-    bitset& operator&=(const bitset& rhs) noexcept;
-    bitset& operator|=(const bitset& rhs) noexcept;
-    bitset& operator^=(const bitset& rhs) noexcept;
-    bitset& operator<<=(size_t pos) noexcept;
-    bitset& operator>>=(size_t pos) noexcept;
-    bitset& set() noexcept;
-    bitset& set(size_t pos, bool val = true);
-    bitset& reset() noexcept;
-    bitset& reset(size_t pos);
-    bitset operator~() const noexcept;
-    bitset& flip() noexcept;
-    bitset& flip(size_t pos);
-
-    // element access:
-    constexpr bool operator[](size_t pos) const; // for b[i];
-    reference operator[](size_t pos);            // for b[i];
-    unsigned long to_ulong() const;
-    unsigned long long to_ullong() const;
-    template <class charT, class traits, class Allocator>
-        basic_string<charT, traits, Allocator> to_string(charT zero = charT('0'), charT one = charT('1')) const;
-    template <class charT, class traits>
-        basic_string<charT, traits, allocator<charT> > to_string(charT zero = charT('0'), charT one = charT('1')) const;
-    template <class charT>
-        basic_string<charT, char_traits<charT>, allocator<charT> > to_string(charT zero = charT('0'), charT one = charT('1')) const;
-    basic_string<char, char_traits<char>, allocator<char> > to_string(char zero = '0', char one = '1') const;
-    size_t count() const noexcept;
-    constexpr size_t size() const noexcept;
-    bool operator==(const bitset& rhs) const noexcept;
-    bool operator!=(const bitset& rhs) const noexcept;
-    bool test(size_t pos) const;
-    bool all() const noexcept;
-    bool any() const noexcept;
-    bool none() const noexcept;
-    bitset operator<<(size_t pos) const noexcept;
-    bitset operator>>(size_t pos) const noexcept;
-};
-
-// 23.3.5.3 bitset operators:
-template <size_t N>
-bitset<N> operator&(const bitset<N>&, const bitset<N>&) noexcept;
-
-template <size_t N>
-bitset<N> operator|(const bitset<N>&, const bitset<N>&) noexcept;
-
-template <size_t N>
-bitset<N> operator^(const bitset<N>&, const bitset<N>&) noexcept;
-
-template <class charT, class traits, size_t N>
-basic_istream<charT, traits>&
-operator>>(basic_istream<charT, traits>& is, bitset<N>& x);
-
-template <class charT, class traits, size_t N>
-basic_ostream<charT, traits>&
-operator<<(basic_ostream<charT, traits>& os, const bitset<N>& x);
-
-template <size_t N> struct hash<std::bitset<N>>;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__bit_reference>
-#include <cstddef>
-#include <climits>
-#include <string>
-#include <stdexcept>
-#include <iosfwd>
-#include <__functional_base>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <size_t _N_words, size_t _Size>
-class __bitset;
-
-template <size_t _N_words, size_t _Size>
-struct __has_storage_type<__bitset<_N_words, _Size> >
-{
-    static const bool value = true;
-};
-
-template <size_t _N_words, size_t _Size>
-class __bitset
-{
-public:
-    typedef ptrdiff_t              difference_type;
-    typedef size_t                 size_type;
-    typedef size_type              __storage_type;
-protected:
-    typedef __bitset __self;
-    typedef       __storage_type*  __storage_pointer;
-    typedef const __storage_type*  __const_storage_pointer;
-    static const unsigned __bits_per_word = static_cast<unsigned>(sizeof(__storage_type) * CHAR_BIT);
-
-    friend class __bit_reference<__bitset>;
-    friend class __bit_const_reference<__bitset>;
-    friend class __bit_iterator<__bitset, false>;
-    friend class __bit_iterator<__bitset, true>;
-    friend struct __bit_array<__bitset>;
-
-    __storage_type __first_[_N_words];
-
-    typedef __bit_reference<__bitset>                  reference;
-    typedef __bit_const_reference<__bitset>            const_reference;
-    typedef __bit_iterator<__bitset, false>            iterator;
-    typedef __bit_iterator<__bitset, true>             const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long __v) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t __pos) _NOEXCEPT
-        {return reference(__first_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR const_reference __make_ref(size_t __pos) const _NOEXCEPT
-        {return const_reference(__first_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);}
-    _LIBCPP_INLINE_VISIBILITY iterator __make_iter(size_t __pos) _NOEXCEPT
-        {return iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);}
-    _LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t __pos) const _NOEXCEPT
-        {return const_iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator&=(const __bitset& __v) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void operator|=(const __bitset& __v) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void operator^=(const __bitset& __v) _NOEXCEPT;
-
-    void flip() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY unsigned long to_ulong() const
-        {return to_ulong(integral_constant<bool, _Size < sizeof(unsigned long) * CHAR_BIT>());}
-    _LIBCPP_INLINE_VISIBILITY unsigned long long to_ullong() const
-        {return to_ullong(integral_constant<bool, _Size < sizeof(unsigned long long) * CHAR_BIT>());}
-
-    bool all() const _NOEXCEPT;
-    bool any() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    size_t __hash_code() const _NOEXCEPT;
-private:
-#ifdef _LIBCPP_CXX03_LANG
-    void __init(unsigned long long __v, false_type) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void __init(unsigned long long __v, true_type) _NOEXCEPT;
-#endif  // _LIBCPP_CXX03_LANG
-    unsigned long to_ulong(false_type) const;
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned long to_ulong(true_type) const;
-    unsigned long long to_ullong(false_type) const;
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned long long to_ullong(true_type) const;
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned long long to_ullong(true_type, false_type) const;
-    unsigned long long to_ullong(true_type, true_type) const;
-};
-
-template <size_t _N_words, size_t _Size>
-inline
-_LIBCPP_CONSTEXPR
-__bitset<_N_words, _Size>::__bitset() _NOEXCEPT
-#ifndef _LIBCPP_CXX03_LANG
-    : __first_{0}
-#endif
-{
-#ifdef _LIBCPP_CXX03_LANG
-    _VSTD::fill_n(__first_, _N_words, __storage_type(0));
-#endif
-}
-
-#ifdef _LIBCPP_CXX03_LANG
-
-template <size_t _N_words, size_t _Size>
-void
-__bitset<_N_words, _Size>::__init(unsigned long long __v, false_type) _NOEXCEPT
-{
-    __storage_type __t[sizeof(unsigned long long) / sizeof(__storage_type)];
-    size_t __sz = _Size;
-    for (size_t __i = 0; __i < sizeof(__t)/sizeof(__t[0]); ++__i, __v >>= __bits_per_word, __sz -= __bits_per_word )
-        if ( __sz < __bits_per_word)
-            __t[__i] = static_cast<__storage_type>(__v) & ( 1ULL << __sz ) - 1;
-        else
-            __t[__i] = static_cast<__storage_type>(__v);
-
-    _VSTD::copy(__t, __t + sizeof(__t)/sizeof(__t[0]), __first_);
-    _VSTD::fill(__first_ + sizeof(__t)/sizeof(__t[0]), __first_ + sizeof(__first_)/sizeof(__first_[0]),
-               __storage_type(0));
-}
-
-template <size_t _N_words, size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-__bitset<_N_words, _Size>::__init(unsigned long long __v, true_type) _NOEXCEPT
-{
-    __first_[0] = __v;
-    if (_Size < __bits_per_word)
-        __first_[0] &= ( 1ULL << _Size ) - 1;
-
-    _VSTD::fill(__first_ + 1, __first_ + sizeof(__first_)/sizeof(__first_[0]), __storage_type(0));
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <size_t _N_words, size_t _Size>
-inline
-_LIBCPP_CONSTEXPR
-__bitset<_N_words, _Size>::__bitset(unsigned long long __v) _NOEXCEPT
-#ifndef _LIBCPP_CXX03_LANG
-#if __SIZEOF_SIZE_T__ == 8
-    : __first_{__v}
-#elif __SIZEOF_SIZE_T__ == 4
-    : __first_{static_cast<__storage_type>(__v),
-                _Size >= 2 * __bits_per_word ? static_cast<__storage_type>(__v >> __bits_per_word)
-                : static_cast<__storage_type>((__v >> __bits_per_word) & (__storage_type(1) << (_Size - __bits_per_word)) - 1)}
-#else
-#error This constructor has not been ported to this platform
-#endif
-#endif
-{
-#ifdef _LIBCPP_CXX03_LANG
-    __init(__v, integral_constant<bool, sizeof(unsigned long long) == sizeof(__storage_type)>());
-#endif
-}
-
-template <size_t _N_words, size_t _Size>
-inline
-void
-__bitset<_N_words, _Size>::operator&=(const __bitset& __v) _NOEXCEPT
-{
-    for (size_type __i = 0; __i < _N_words; ++__i)
-        __first_[__i] &= __v.__first_[__i];
-}
-
-template <size_t _N_words, size_t _Size>
-inline
-void
-__bitset<_N_words, _Size>::operator|=(const __bitset& __v) _NOEXCEPT
-{
-    for (size_type __i = 0; __i < _N_words; ++__i)
-        __first_[__i] |= __v.__first_[__i];
-}
-
-template <size_t _N_words, size_t _Size>
-inline
-void
-__bitset<_N_words, _Size>::operator^=(const __bitset& __v) _NOEXCEPT
-{
-    for (size_type __i = 0; __i < _N_words; ++__i)
-        __first_[__i] ^= __v.__first_[__i];
-}
-
-template <size_t _N_words, size_t _Size>
-void
-__bitset<_N_words, _Size>::flip() _NOEXCEPT
-{
-    // do middle whole words
-    size_type __n = _Size;
-    __storage_pointer __p = __first_;
-    for (; __n >= __bits_per_word; ++__p, __n -= __bits_per_word)
-        *__p = ~*__p;
-    // do last partial word
-    if (__n > 0)
-    {
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        __storage_type __b = *__p & __m;
-        *__p &= ~__m;
-        *__p |= ~__b & __m;
-    }
-}
-
-template <size_t _N_words, size_t _Size>
-unsigned long
-__bitset<_N_words, _Size>::to_ulong(false_type) const
-{
-    const_iterator __e = __make_iter(_Size);
-    const_iterator __i = _VSTD::find(__make_iter(sizeof(unsigned long) * CHAR_BIT), __e, true);
-    if (__i != __e)
-        __throw_overflow_error("bitset to_ulong overflow error");
-
-    return __first_[0];
-}
-
-template <size_t _N_words, size_t _Size>
-inline
-unsigned long
-__bitset<_N_words, _Size>::to_ulong(true_type) const
-{
-    return __first_[0];
-}
-
-template <size_t _N_words, size_t _Size>
-unsigned long long
-__bitset<_N_words, _Size>::to_ullong(false_type) const
-{
-    const_iterator __e = __make_iter(_Size);
-    const_iterator __i = _VSTD::find(__make_iter(sizeof(unsigned long long) * CHAR_BIT), __e, true);
-    if (__i != __e)
-        __throw_overflow_error("bitset to_ullong overflow error");
-
-    return to_ullong(true_type());
-}
-
-template <size_t _N_words, size_t _Size>
-inline
-unsigned long long
-__bitset<_N_words, _Size>::to_ullong(true_type) const
-{
-    return to_ullong(true_type(), integral_constant<bool, sizeof(__storage_type) < sizeof(unsigned long long)>());
-}
-
-template <size_t _N_words, size_t _Size>
-inline
-unsigned long long
-__bitset<_N_words, _Size>::to_ullong(true_type, false_type) const
-{
-    return __first_[0];
-}
-
-template <size_t _N_words, size_t _Size>
-unsigned long long
-__bitset<_N_words, _Size>::to_ullong(true_type, true_type) const
-{
-    unsigned long long __r = __first_[0];
-    for (std::size_t __i = 1; __i < sizeof(unsigned long long) / sizeof(__storage_type); ++__i)
-        __r |= static_cast<unsigned long long>(__first_[__i]) << (sizeof(__storage_type) * CHAR_BIT);
-    return __r;
-}
-
-template <size_t _N_words, size_t _Size>
-bool
-__bitset<_N_words, _Size>::all() const _NOEXCEPT
-{
-    // do middle whole words
-    size_type __n = _Size;
-    __const_storage_pointer __p = __first_;
-    for (; __n >= __bits_per_word; ++__p, __n -= __bits_per_word)
-        if (~*__p)
-            return false;
-    // do last partial word
-    if (__n > 0)
-    {
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        if (~*__p & __m)
-            return false;
-    }
-    return true;
-}
-
-template <size_t _N_words, size_t _Size>
-bool
-__bitset<_N_words, _Size>::any() const _NOEXCEPT
-{
-    // do middle whole words
-    size_type __n = _Size;
-    __const_storage_pointer __p = __first_;
-    for (; __n >= __bits_per_word; ++__p, __n -= __bits_per_word)
-        if (*__p)
-            return true;
-    // do last partial word
-    if (__n > 0)
-    {
-        __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
-        if (*__p & __m)
-            return true;
-    }
-    return false;
-}
-
-template <size_t _N_words, size_t _Size>
-inline
-size_t
-__bitset<_N_words, _Size>::__hash_code() const _NOEXCEPT
-{
-    size_t __h = 0;
-    for (size_type __i = 0; __i < _N_words; ++__i)
-        __h ^= __first_[__i];
-    return __h;
-}
-
-template <size_t _Size>
-class __bitset<1, _Size>
-{
-public:
-    typedef ptrdiff_t              difference_type;
-    typedef size_t                 size_type;
-    typedef size_type              __storage_type;
-protected:
-    typedef __bitset __self;
-    typedef       __storage_type*  __storage_pointer;
-    typedef const __storage_type*  __const_storage_pointer;
-    static const unsigned __bits_per_word = static_cast<unsigned>(sizeof(__storage_type) * CHAR_BIT);
-
-    friend class __bit_reference<__bitset>;
-    friend class __bit_const_reference<__bitset>;
-    friend class __bit_iterator<__bitset, false>;
-    friend class __bit_iterator<__bitset, true>;
-    friend struct __bit_array<__bitset>;
-
-    __storage_type __first_;
-
-    typedef __bit_reference<__bitset>                  reference;
-    typedef __bit_const_reference<__bitset>            const_reference;
-    typedef __bit_iterator<__bitset, false>            iterator;
-    typedef __bit_iterator<__bitset, true>             const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long __v) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t __pos) _NOEXCEPT
-        {return reference(&__first_, __storage_type(1) << __pos);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR const_reference __make_ref(size_t __pos) const _NOEXCEPT
-        {return const_reference(&__first_, __storage_type(1) << __pos);}
-    _LIBCPP_INLINE_VISIBILITY iterator __make_iter(size_t __pos) _NOEXCEPT
-        {return iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);}
-    _LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t __pos) const _NOEXCEPT
-        {return const_iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator&=(const __bitset& __v) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void operator|=(const __bitset& __v) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void operator^=(const __bitset& __v) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void flip() _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned long to_ulong() const;
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned long long to_ullong() const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool all() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bool any() const _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t __hash_code() const _NOEXCEPT;
-};
-
-template <size_t _Size>
-inline
-_LIBCPP_CONSTEXPR
-__bitset<1, _Size>::__bitset() _NOEXCEPT
-    : __first_(0)
-{
-}
-
-template <size_t _Size>
-inline
-_LIBCPP_CONSTEXPR
-__bitset<1, _Size>::__bitset(unsigned long long __v) _NOEXCEPT
-    : __first_(
-        _Size == __bits_per_word ? static_cast<__storage_type>(__v)
-                                 : static_cast<__storage_type>(__v) & ((__storage_type(1) << _Size) - 1)
-    )
-{
-}
-
-template <size_t _Size>
-inline
-void
-__bitset<1, _Size>::operator&=(const __bitset& __v) _NOEXCEPT
-{
-    __first_ &= __v.__first_;
-}
-
-template <size_t _Size>
-inline
-void
-__bitset<1, _Size>::operator|=(const __bitset& __v) _NOEXCEPT
-{
-    __first_ |= __v.__first_;
-}
-
-template <size_t _Size>
-inline
-void
-__bitset<1, _Size>::operator^=(const __bitset& __v) _NOEXCEPT
-{
-    __first_ ^= __v.__first_;
-}
-
-template <size_t _Size>
-inline
-void
-__bitset<1, _Size>::flip() _NOEXCEPT
-{
-    __storage_type __m = ~__storage_type(0) >> (__bits_per_word - _Size);
-    __first_ = ~__first_;
-    __first_ &= __m;
-}
-
-template <size_t _Size>
-inline
-unsigned long
-__bitset<1, _Size>::to_ulong() const
-{
-    return __first_;
-}
-
-template <size_t _Size>
-inline
-unsigned long long
-__bitset<1, _Size>::to_ullong() const
-{
-    return __first_;
-}
-
-template <size_t _Size>
-inline
-bool
-__bitset<1, _Size>::all() const _NOEXCEPT
-{
-    __storage_type __m = ~__storage_type(0) >> (__bits_per_word - _Size);
-    return !(~__first_ & __m);
-}
-
-template <size_t _Size>
-inline
-bool
-__bitset<1, _Size>::any() const _NOEXCEPT
-{
-    __storage_type __m = ~__storage_type(0) >> (__bits_per_word - _Size);
-    return __first_ & __m;
-}
-
-template <size_t _Size>
-inline
-size_t
-__bitset<1, _Size>::__hash_code() const _NOEXCEPT
-{
-    return __first_;
-}
-
-template <>
-class __bitset<0, 0>
-{
-public:
-    typedef ptrdiff_t              difference_type;
-    typedef size_t                 size_type;
-    typedef size_type              __storage_type;
-protected:
-    typedef __bitset __self;
-    typedef       __storage_type*  __storage_pointer;
-    typedef const __storage_type*  __const_storage_pointer;
-    static const unsigned __bits_per_word = static_cast<unsigned>(sizeof(__storage_type) * CHAR_BIT);
-
-    friend class __bit_reference<__bitset>;
-    friend class __bit_const_reference<__bitset>;
-    friend class __bit_iterator<__bitset, false>;
-    friend class __bit_iterator<__bitset, true>;
-    friend struct __bit_array<__bitset>;
-
-    typedef __bit_reference<__bitset>                  reference;
-    typedef __bit_const_reference<__bitset>            const_reference;
-    typedef __bit_iterator<__bitset, false>            iterator;
-    typedef __bit_iterator<__bitset, true>             const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long) _NOEXCEPT;
-
-    _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t) _NOEXCEPT
-        {return reference(0, 1);}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR const_reference __make_ref(size_t) const _NOEXCEPT
-        {return const_reference(0, 1);}
-    _LIBCPP_INLINE_VISIBILITY iterator __make_iter(size_t) _NOEXCEPT
-        {return iterator(0, 0);}
-    _LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t) const _NOEXCEPT
-        {return const_iterator(0, 0);}
-
-    _LIBCPP_INLINE_VISIBILITY void operator&=(const __bitset&) _NOEXCEPT {}
-    _LIBCPP_INLINE_VISIBILITY void operator|=(const __bitset&) _NOEXCEPT {}
-    _LIBCPP_INLINE_VISIBILITY void operator^=(const __bitset&) _NOEXCEPT {}
-
-    _LIBCPP_INLINE_VISIBILITY void flip() _NOEXCEPT {}
-
-    _LIBCPP_INLINE_VISIBILITY unsigned long to_ulong() const {return 0;}
-    _LIBCPP_INLINE_VISIBILITY unsigned long long to_ullong() const {return 0;}
-
-    _LIBCPP_INLINE_VISIBILITY bool all() const _NOEXCEPT {return true;}
-    _LIBCPP_INLINE_VISIBILITY bool any() const _NOEXCEPT {return false;}
-
-    _LIBCPP_INLINE_VISIBILITY size_t __hash_code() const _NOEXCEPT {return 0;}
-};
-
-inline
-_LIBCPP_CONSTEXPR
-__bitset<0, 0>::__bitset() _NOEXCEPT
-{
-}
-
-inline
-_LIBCPP_CONSTEXPR
-__bitset<0, 0>::__bitset(unsigned long long) _NOEXCEPT
-{
-}
-
-template <size_t _Size> class _LIBCPP_TEMPLATE_VIS bitset;
-template <size_t _Size> struct hash<bitset<_Size> >;
-
-template <size_t _Size>
-class _LIBCPP_TEMPLATE_VIS bitset
-    : private __bitset<_Size == 0 ? 0 : (_Size - 1) / (sizeof(size_t) * CHAR_BIT) + 1, _Size>
-{
-public:
-    static const unsigned __n_words = _Size == 0 ? 0 : (_Size - 1) / (sizeof(size_t) * CHAR_BIT) + 1;
-    typedef __bitset<__n_words, _Size> base;
-
-public:
-    typedef typename base::reference       reference;
-    typedef typename base::const_reference const_reference;
-
-    // 23.3.5.1 constructors:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR bitset() _NOEXCEPT {}
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-        bitset(unsigned long long __v) _NOEXCEPT : base(__v) {}
-    template<class _CharT, class = _EnableIf<_IsCharLikeType<_CharT>::value> >
-        explicit bitset(const _CharT* __str,
-                        typename basic_string<_CharT>::size_type __n = basic_string<_CharT>::npos,
-                        _CharT __zero = _CharT('0'), _CharT __one = _CharT('1'));
-    template<class _CharT, class _Traits, class _Allocator>
-        explicit bitset(const basic_string<_CharT,_Traits,_Allocator>& __str,
-                        typename basic_string<_CharT,_Traits,_Allocator>::size_type __pos = 0,
-                        typename basic_string<_CharT,_Traits,_Allocator>::size_type __n =
-                                (basic_string<_CharT,_Traits,_Allocator>::npos),
-                        _CharT __zero = _CharT('0'), _CharT __one = _CharT('1'));
-
-    // 23.3.5.2 bitset operations:
-    _LIBCPP_INLINE_VISIBILITY
-    bitset& operator&=(const bitset& __rhs) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bitset& operator|=(const bitset& __rhs) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bitset& operator^=(const bitset& __rhs) _NOEXCEPT;
-    bitset& operator<<=(size_t __pos) _NOEXCEPT;
-    bitset& operator>>=(size_t __pos) _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bitset& set() _NOEXCEPT;
-    bitset& set(size_t __pos, bool __val = true);
-    _LIBCPP_INLINE_VISIBILITY
-    bitset& reset() _NOEXCEPT;
-    bitset& reset(size_t __pos);
-    _LIBCPP_INLINE_VISIBILITY
-    bitset  operator~() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bitset& flip() _NOEXCEPT;
-    bitset& flip(size_t __pos);
-
-    // element access:
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
-                              const_reference operator[](size_t __p) const {return base::__make_ref(__p);}
-    _LIBCPP_INLINE_VISIBILITY       reference operator[](size_t __p)       {return base::__make_ref(__p);}
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned long to_ulong() const;
-    _LIBCPP_INLINE_VISIBILITY
-    unsigned long long to_ullong() const;
-    template <class _CharT, class _Traits, class _Allocator>
-        basic_string<_CharT, _Traits, _Allocator> to_string(_CharT __zero = _CharT('0'),
-                                                            _CharT __one = _CharT('1')) const;
-    template <class _CharT, class _Traits>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_string<_CharT, _Traits, allocator<_CharT> > to_string(_CharT __zero = _CharT('0'),
-                                                                    _CharT __one = _CharT('1')) const;
-    template <class _CharT>
-        _LIBCPP_INLINE_VISIBILITY
-        basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > to_string(_CharT __zero = _CharT('0'),
-                                                                                _CharT __one = _CharT('1')) const;
-    _LIBCPP_INLINE_VISIBILITY
-    basic_string<char, char_traits<char>, allocator<char> > to_string(char __zero = '0',
-                                                                      char __one = '1') const;
-    _LIBCPP_INLINE_VISIBILITY
-    size_t count() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR size_t size() const _NOEXCEPT {return _Size;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const bitset& __rhs) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const bitset& __rhs) const _NOEXCEPT;
-    bool test(size_t __pos) const;
-    _LIBCPP_INLINE_VISIBILITY
-    bool all() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bool any() const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY bool none() const _NOEXCEPT {return !any();}
-    _LIBCPP_INLINE_VISIBILITY
-    bitset operator<<(size_t __pos) const _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    bitset operator>>(size_t __pos) const _NOEXCEPT;
-
-private:
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t __hash_code() const _NOEXCEPT {return base::__hash_code();}
-
-    friend struct hash<bitset>;
-};
-
-template <size_t _Size>
-template<class _CharT, class>
-bitset<_Size>::bitset(const _CharT* __str,
-                      typename basic_string<_CharT>::size_type __n,
-                      _CharT __zero, _CharT __one)
-{
-    size_t __rlen = _VSTD::min(__n, char_traits<_CharT>::length(__str));
-    for (size_t __i = 0; __i < __rlen; ++__i)
-        if (__str[__i] != __zero && __str[__i] != __one)
-            __throw_invalid_argument("bitset string ctor has invalid argument");
-
-    size_t _Mp = _VSTD::min(__rlen, _Size);
-    size_t __i = 0;
-    for (; __i < _Mp; ++__i)
-    {
-        _CharT __c = __str[_Mp - 1 - __i];
-        if (__c == __zero)
-            (*this)[__i] = false;
-        else
-            (*this)[__i] = true;
-    }
-    _VSTD::fill(base::__make_iter(__i), base::__make_iter(_Size), false);
-}
-
-template <size_t _Size>
-template<class _CharT, class _Traits, class _Allocator>
-bitset<_Size>::bitset(const basic_string<_CharT,_Traits,_Allocator>& __str,
-       typename basic_string<_CharT,_Traits,_Allocator>::size_type __pos,
-       typename basic_string<_CharT,_Traits,_Allocator>::size_type __n,
-       _CharT __zero, _CharT __one)
-{
-    if (__pos > __str.size())
-        __throw_out_of_range("bitset string pos out of range");
-
-    size_t __rlen = _VSTD::min(__n, __str.size() - __pos);
-    for (size_t __i = __pos; __i < __pos + __rlen; ++__i)
-        if (!_Traits::eq(__str[__i], __zero) && !_Traits::eq(__str[__i], __one))
-            __throw_invalid_argument("bitset string ctor has invalid argument");
-
-    size_t _Mp = _VSTD::min(__rlen, _Size);
-    size_t __i = 0;
-    for (; __i < _Mp; ++__i)
-    {
-        _CharT __c = __str[__pos + _Mp - 1 - __i];
-        if (_Traits::eq(__c, __zero))
-            (*this)[__i] = false;
-        else
-            (*this)[__i] = true;
-    }
-    _VSTD::fill(base::__make_iter(__i), base::__make_iter(_Size), false);
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>&
-bitset<_Size>::operator&=(const bitset& __rhs) _NOEXCEPT
-{
-    base::operator&=(__rhs);
-    return *this;
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>&
-bitset<_Size>::operator|=(const bitset& __rhs) _NOEXCEPT
-{
-    base::operator|=(__rhs);
-    return *this;
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>&
-bitset<_Size>::operator^=(const bitset& __rhs) _NOEXCEPT
-{
-    base::operator^=(__rhs);
-    return *this;
-}
-
-template <size_t _Size>
-bitset<_Size>&
-bitset<_Size>::operator<<=(size_t __pos) _NOEXCEPT
-{
-    __pos = _VSTD::min(__pos, _Size);
-    _VSTD::copy_backward(base::__make_iter(0), base::__make_iter(_Size - __pos), base::__make_iter(_Size));
-    _VSTD::fill_n(base::__make_iter(0), __pos, false);
-    return *this;
-}
-
-template <size_t _Size>
-bitset<_Size>&
-bitset<_Size>::operator>>=(size_t __pos) _NOEXCEPT
-{
-    __pos = _VSTD::min(__pos, _Size);
-    _VSTD::copy(base::__make_iter(__pos), base::__make_iter(_Size), base::__make_iter(0));
-    _VSTD::fill_n(base::__make_iter(_Size - __pos), __pos, false);
-    return *this;
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>&
-bitset<_Size>::set() _NOEXCEPT
-{
-    _VSTD::fill_n(base::__make_iter(0), _Size, true);
-    return *this;
-}
-
-template <size_t _Size>
-bitset<_Size>&
-bitset<_Size>::set(size_t __pos, bool __val)
-{
-    if (__pos >= _Size)
-        __throw_out_of_range("bitset set argument out of range");
-
-    (*this)[__pos] = __val;
-    return *this;
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>&
-bitset<_Size>::reset() _NOEXCEPT
-{
-    _VSTD::fill_n(base::__make_iter(0), _Size, false);
-    return *this;
-}
-
-template <size_t _Size>
-bitset<_Size>&
-bitset<_Size>::reset(size_t __pos)
-{
-    if (__pos >= _Size)
-        __throw_out_of_range("bitset reset argument out of range");
-
-    (*this)[__pos] = false;
-    return *this;
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>
-bitset<_Size>::operator~() const _NOEXCEPT
-{
-    bitset __x(*this);
-    __x.flip();
-    return __x;
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>&
-bitset<_Size>::flip() _NOEXCEPT
-{
-    base::flip();
-    return *this;
-}
-
-template <size_t _Size>
-bitset<_Size>&
-bitset<_Size>::flip(size_t __pos)
-{
-    if (__pos >= _Size)
-        __throw_out_of_range("bitset flip argument out of range");
-
-    reference r = base::__make_ref(__pos);
-    r = ~r;
-    return *this;
-}
-
-template <size_t _Size>
-inline
-unsigned long
-bitset<_Size>::to_ulong() const
-{
-    return base::to_ulong();
-}
-
-template <size_t _Size>
-inline
-unsigned long long
-bitset<_Size>::to_ullong() const
-{
-    return base::to_ullong();
-}
-
-template <size_t _Size>
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
-{
-    basic_string<_CharT, _Traits, _Allocator> __r(_Size, __zero);
-    for (size_t __i = 0; __i < _Size; ++__i)
-    {
-        if ((*this)[__i])
-            __r[_Size - 1 - __i] = __one;
-    }
-    return __r;
-}
-
-template <size_t _Size>
-template <class _CharT, class _Traits>
-inline
-basic_string<_CharT, _Traits, allocator<_CharT> >
-bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
-{
-    return to_string<_CharT, _Traits, allocator<_CharT> >(__zero, __one);
-}
-
-template <size_t _Size>
-template <class _CharT>
-inline
-basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >
-bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
-{
-    return to_string<_CharT, char_traits<_CharT>, allocator<_CharT> >(__zero, __one);
-}
-
-template <size_t _Size>
-inline
-basic_string<char, char_traits<char>, allocator<char> >
-bitset<_Size>::to_string(char __zero, char __one) const
-{
-    return to_string<char, char_traits<char>, allocator<char> >(__zero, __one);
-}
-
-template <size_t _Size>
-inline
-size_t
-bitset<_Size>::count() const _NOEXCEPT
-{
-    return static_cast<size_t>(__count_bool_true(base::__make_iter(0), _Size));
-}
-
-template <size_t _Size>
-inline
-bool
-bitset<_Size>::operator==(const bitset& __rhs) const _NOEXCEPT
-{
-    return _VSTD::equal(base::__make_iter(0), base::__make_iter(_Size), __rhs.__make_iter(0));
-}
-
-template <size_t _Size>
-inline
-bool
-bitset<_Size>::operator!=(const bitset& __rhs) const _NOEXCEPT
-{
-    return !(*this == __rhs);
-}
-
-template <size_t _Size>
-bool
-bitset<_Size>::test(size_t __pos) const
-{
-    if (__pos >= _Size)
-        __throw_out_of_range("bitset test argument out of range");
-
-    return (*this)[__pos];
-}
-
-template <size_t _Size>
-inline
-bool
-bitset<_Size>::all() const _NOEXCEPT
-{
-    return base::all();
-}
-
-template <size_t _Size>
-inline
-bool
-bitset<_Size>::any() const _NOEXCEPT
-{
-    return base::any();
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>
-bitset<_Size>::operator<<(size_t __pos) const _NOEXCEPT
-{
-    bitset __r = *this;
-    __r <<= __pos;
-    return __r;
-}
-
-template <size_t _Size>
-inline
-bitset<_Size>
-bitset<_Size>::operator>>(size_t __pos) const _NOEXCEPT
-{
-    bitset __r = *this;
-    __r >>= __pos;
-    return __r;
-}
-
-template <size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-bitset<_Size>
-operator&(const bitset<_Size>& __x, const bitset<_Size>& __y) _NOEXCEPT
-{
-    bitset<_Size> __r = __x;
-    __r &= __y;
-    return __r;
-}
-
-template <size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-bitset<_Size>
-operator|(const bitset<_Size>& __x, const bitset<_Size>& __y) _NOEXCEPT
-{
-    bitset<_Size> __r = __x;
-    __r |= __y;
-    return __r;
-}
-
-template <size_t _Size>
-inline _LIBCPP_INLINE_VISIBILITY
-bitset<_Size>
-operator^(const bitset<_Size>& __x, const bitset<_Size>& __y) _NOEXCEPT
-{
-    bitset<_Size> __r = __x;
-    __r ^= __y;
-    return __r;
-}
-
-template <size_t _Size>
-struct _LIBCPP_TEMPLATE_VIS hash<bitset<_Size> >
-    : public unary_function<bitset<_Size>, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const bitset<_Size>& __bs) const _NOEXCEPT
-        {return __bs.__hash_code();}
-};
-
-template <class _CharT, class _Traits, size_t _Size>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x);
-
-template <class _CharT, class _Traits, size_t _Size>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const bitset<_Size>& __x);
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_BITSET
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cassert b/r23/sources/cxx-stl/llvm-libc++/include/cassert
deleted file mode 100644
index 25a0a74..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cassert
+++ /dev/null
@@ -1,24 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- cassert -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-/*
-    cassert synopsis
-
-Macros:
-
-    assert
-
-*/
-
-#include <__config>
-#include <assert.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ccomplex b/r23/sources/cxx-stl/llvm-libc++/include/ccomplex
deleted file mode 100644
index 0d2e0f5..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/ccomplex
+++ /dev/null
@@ -1,28 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- ccomplex ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CCOMPLEX
-#define _LIBCPP_CCOMPLEX
-
-/*
-    ccomplex synopsis
-
-#include <complex>
-
-*/
-
-#include <complex>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-// hh 080623 Created
-
-#endif  // _LIBCPP_CCOMPLEX
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cctype b/r23/sources/cxx-stl/llvm-libc++/include/cctype
deleted file mode 100644
index 55fc9eb..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cctype
+++ /dev/null
@@ -1,120 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- cctype ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CCTYPE
-#define _LIBCPP_CCTYPE
-
-/*
-    cctype synopsis
-
-namespace std
-{
-
-int isalnum(int c);
-int isalpha(int c);
-int isblank(int c);  // C99
-int iscntrl(int c);
-int isdigit(int c);
-int isgraph(int c);
-int islower(int c);
-int isprint(int c);
-int ispunct(int c);
-int isspace(int c);
-int isupper(int c);
-int isxdigit(int c);
-int tolower(int c);
-int toupper(int c);
-
-}  // std
-*/
-
-#include <__config>
-#include <ctype.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifdef isalnum
-#undef isalnum
-#endif
-
-#ifdef isalpha
-#undef isalpha
-#endif
-
-#ifdef isblank
-#undef isblank
-#endif
-
-#ifdef iscntrl
-#undef iscntrl
-#endif
-
-#ifdef isdigit
-#undef isdigit
-#endif
-
-#ifdef isgraph
-#undef isgraph
-#endif
-
-#ifdef islower
-#undef islower
-#endif
-
-#ifdef isprint
-#undef isprint
-#endif
-
-#ifdef ispunct
-#undef ispunct
-#endif
-
-#ifdef isspace
-#undef isspace
-#endif
-
-#ifdef isupper
-#undef isupper
-#endif
-
-#ifdef isxdigit
-#undef isxdigit
-#endif
-
-#ifdef tolower
-#undef tolower
-#endif
-
-#ifdef toupper
-#undef toupper
-#endif
-
-
-using ::isalnum;
-using ::isalpha;
-using ::isblank;
-using ::iscntrl;
-using ::isdigit;
-using ::isgraph;
-using ::islower;
-using ::isprint;
-using ::ispunct;
-using ::isspace;
-using ::isupper;
-using ::isxdigit;
-using ::tolower;
-using ::toupper;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CCTYPE
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cerrno b/r23/sources/cxx-stl/llvm-libc++/include/cerrno
deleted file mode 100644
index a9268a2..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cerrno
+++ /dev/null
@@ -1,32 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- cerrno ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CERRNO
-#define _LIBCPP_CERRNO
-
-/*
-    cerrno synopsis
-
-Macros:
-
-    EDOM
-    EILSEQ  // C99
-    ERANGE
-    errno
-
-*/
-
-#include <__config>
-#include <errno.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#endif  // _LIBCPP_CERRNO
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cfenv b/r23/sources/cxx-stl/llvm-libc++/include/cfenv
deleted file mode 100644
index 6cd91db..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cfenv
+++ /dev/null
@@ -1,81 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- cfenv -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CFENV
-#define _LIBCPP_CFENV
-
-/*
-    cfenv synopsis
-
-This entire header is C99 / C++0X
-
-Macros:
-
-    FE_DIVBYZERO
-    FE_INEXACT
-    FE_INVALID
-    FE_OVERFLOW
-    FE_UNDERFLOW
-    FE_ALL_EXCEPT
-    FE_DOWNWARD
-    FE_TONEAREST
-    FE_TOWARDZERO
-    FE_UPWARD
-    FE_DFL_ENV
-
-namespace std
-{
-
-Types:
-
-    fenv_t
-    fexcept_t
-
-int feclearexcept(int excepts);
-int fegetexceptflag(fexcept_t* flagp, int excepts);
-int feraiseexcept(int excepts);
-int fesetexceptflag(const fexcept_t* flagp, int excepts);
-int fetestexcept(int excepts);
-int fegetround();
-int fesetround(int round);
-int fegetenv(fenv_t* envp);
-int feholdexcept(fenv_t* envp);
-int fesetenv(const fenv_t* envp);
-int feupdateenv(const fenv_t* envp);
-
-}  // std
-*/
-
-#include <__config>
-#include <fenv.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::fenv_t;
-using ::fexcept_t;
-
-using ::feclearexcept;
-using ::fegetexceptflag;
-using ::feraiseexcept;
-using ::fesetexceptflag;
-using ::fetestexcept;
-using ::fegetround;
-using ::fesetround;
-using ::fegetenv;
-using ::feholdexcept;
-using ::fesetenv;
-using ::feupdateenv;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CFENV
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cfloat b/r23/sources/cxx-stl/llvm-libc++/include/cfloat
deleted file mode 100644
index da22c6f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cfloat
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cfloat -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CFLOAT
-#define _LIBCPP_CFLOAT
-
-/*
-    cfloat synopsis
-
-Macros:
-
-    FLT_ROUNDS
-    FLT_EVAL_METHOD     // C99
-    FLT_RADIX
-
-    FLT_HAS_SUBNORM     // C11
-    DBL_HAS_SUBNORM     // C11
-    LDBL_HAS_SUBNORM    // C11
-
-    FLT_MANT_DIG
-    DBL_MANT_DIG
-    LDBL_MANT_DIG
-
-    DECIMAL_DIG         // C99
-    FLT_DECIMAL_DIG     // C11
-    DBL_DECIMAL_DIG     // C11
-    LDBL_DECIMAL_DIG    // C11
-
-    FLT_DIG
-    DBL_DIG
-    LDBL_DIG
-
-    FLT_MIN_EXP
-    DBL_MIN_EXP
-    LDBL_MIN_EXP
-
-    FLT_MIN_10_EXP
-    DBL_MIN_10_EXP
-    LDBL_MIN_10_EXP
-
-    FLT_MAX_EXP
-    DBL_MAX_EXP
-    LDBL_MAX_EXP
-
-    FLT_MAX_10_EXP
-    DBL_MAX_10_EXP
-    LDBL_MAX_10_EXP
-
-    FLT_MAX
-    DBL_MAX
-    LDBL_MAX
-
-    FLT_EPSILON
-    DBL_EPSILON
-    LDBL_EPSILON
-
-    FLT_MIN
-    DBL_MIN
-    LDBL_MIN
-
-    FLT_TRUE_MIN        // C11
-    DBL_TRUE_MIN        // C11
-    LDBL_TRUE_MIN       // C11
-*/
-
-#include <__config>
-#include <float.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#endif  // _LIBCPP_CFLOAT
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cinttypes b/r23/sources/cxx-stl/llvm-libc++/include/cinttypes
deleted file mode 100644
index 55af85c..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cinttypes
+++ /dev/null
@@ -1,257 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cinttypes --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CINTTYPES
-#define _LIBCPP_CINTTYPES
-
-/*
-    cinttypes synopsis
-
-This entire header is C99 / C++0X
-
-#include <cstdint>  // <cinttypes> includes <cstdint>
-
-Macros:
-
-    PRId8
-    PRId16
-    PRId32
-    PRId64
-
-    PRIdLEAST8
-    PRIdLEAST16
-    PRIdLEAST32
-    PRIdLEAST64
-
-    PRIdFAST8
-    PRIdFAST16
-    PRIdFAST32
-    PRIdFAST64
-
-    PRIdMAX
-    PRIdPTR
-
-    PRIi8
-    PRIi16
-    PRIi32
-    PRIi64
-
-    PRIiLEAST8
-    PRIiLEAST16
-    PRIiLEAST32
-    PRIiLEAST64
-
-    PRIiFAST8
-    PRIiFAST16
-    PRIiFAST32
-    PRIiFAST64
-
-    PRIiMAX
-    PRIiPTR
-
-    PRIo8
-    PRIo16
-    PRIo32
-    PRIo64
-
-    PRIoLEAST8
-    PRIoLEAST16
-    PRIoLEAST32
-    PRIoLEAST64
-
-    PRIoFAST8
-    PRIoFAST16
-    PRIoFAST32
-    PRIoFAST64
-
-    PRIoMAX
-    PRIoPTR
-
-    PRIu8
-    PRIu16
-    PRIu32
-    PRIu64
-
-    PRIuLEAST8
-    PRIuLEAST16
-    PRIuLEAST32
-    PRIuLEAST64
-
-    PRIuFAST8
-    PRIuFAST16
-    PRIuFAST32
-    PRIuFAST64
-
-    PRIuMAX
-    PRIuPTR
-
-    PRIx8
-    PRIx16
-    PRIx32
-    PRIx64
-
-    PRIxLEAST8
-    PRIxLEAST16
-    PRIxLEAST32
-    PRIxLEAST64
-
-    PRIxFAST8
-    PRIxFAST16
-    PRIxFAST32
-    PRIxFAST64
-
-    PRIxMAX
-    PRIxPTR
-
-    PRIX8
-    PRIX16
-    PRIX32
-    PRIX64
-
-    PRIXLEAST8
-    PRIXLEAST16
-    PRIXLEAST32
-    PRIXLEAST64
-
-    PRIXFAST8
-    PRIXFAST16
-    PRIXFAST32
-    PRIXFAST64
-
-    PRIXMAX
-    PRIXPTR
-
-    SCNd8
-    SCNd16
-    SCNd32
-    SCNd64
-
-    SCNdLEAST8
-    SCNdLEAST16
-    SCNdLEAST32
-    SCNdLEAST64
-
-    SCNdFAST8
-    SCNdFAST16
-    SCNdFAST32
-    SCNdFAST64
-
-    SCNdMAX
-    SCNdPTR
-
-    SCNi8
-    SCNi16
-    SCNi32
-    SCNi64
-
-    SCNiLEAST8
-    SCNiLEAST16
-    SCNiLEAST32
-    SCNiLEAST64
-
-    SCNiFAST8
-    SCNiFAST16
-    SCNiFAST32
-    SCNiFAST64
-
-    SCNiMAX
-    SCNiPTR
-
-    SCNo8
-    SCNo16
-    SCNo32
-    SCNo64
-
-    SCNoLEAST8
-    SCNoLEAST16
-    SCNoLEAST32
-    SCNoLEAST64
-
-    SCNoFAST8
-    SCNoFAST16
-    SCNoFAST32
-    SCNoFAST64
-
-    SCNoMAX
-    SCNoPTR
-
-    SCNu8
-    SCNu16
-    SCNu32
-    SCNu64
-
-    SCNuLEAST8
-    SCNuLEAST16
-    SCNuLEAST32
-    SCNuLEAST64
-
-    SCNuFAST8
-    SCNuFAST16
-    SCNuFAST32
-    SCNuFAST64
-
-    SCNuMAX
-    SCNuPTR
-
-    SCNx8
-    SCNx16
-    SCNx32
-    SCNx64
-
-    SCNxLEAST8
-    SCNxLEAST16
-    SCNxLEAST32
-    SCNxLEAST64
-
-    SCNxFAST8
-    SCNxFAST16
-    SCNxFAST32
-    SCNxFAST64
-
-    SCNxMAX
-    SCNxPTR
-
-namespace std
-{
-
-Types:
-
-    imaxdiv_t
-
-intmax_t  imaxabs(intmax_t j);
-imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
-intmax_t  strtoimax(const char* restrict nptr, char** restrict endptr, int base);
-uintmax_t strtoumax(const char* restrict nptr, char** restrict endptr, int base);
-intmax_t  wcstoimax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
-uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
-
-}  // std
-*/
-
-#include <__config>
-#include <cstdint>
-#include <inttypes.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using::imaxdiv_t;
-using::imaxabs;
-using::imaxdiv;
-using::strtoimax;
-using::strtoumax;
-using::wcstoimax;
-using::wcstoumax;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CINTTYPES
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ciso646 b/r23/sources/cxx-stl/llvm-libc++/include/ciso646
deleted file mode 100644
index 172f167..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/ciso646
+++ /dev/null
@@ -1,24 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- ciso646 ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CISO646
-#define _LIBCPP_CISO646
-
-/*
-    ciso646 synopsis
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#endif  // _LIBCPP_CISO646
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/climits b/r23/sources/cxx-stl/llvm-libc++/include/climits
deleted file mode 100644
index 43eb2d3..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/climits
+++ /dev/null
@@ -1,47 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- climits ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CLIMITS
-#define _LIBCPP_CLIMITS
-
-/*
-    climits synopsis
-
-Macros:
-
-    CHAR_BIT
-    SCHAR_MIN
-    SCHAR_MAX
-    UCHAR_MAX
-    CHAR_MIN
-    CHAR_MAX
-    MB_LEN_MAX
-    SHRT_MIN
-    SHRT_MAX
-    USHRT_MAX
-    INT_MIN
-    INT_MAX
-    UINT_MAX
-    LONG_MIN
-    LONG_MAX
-    ULONG_MAX
-    LLONG_MIN   // C99
-    LLONG_MAX   // C99
-    ULLONG_MAX  // C99
-
-*/
-
-#include <__config>
-#include <limits.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#endif  // _LIBCPP_CLIMITS
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/clocale b/r23/sources/cxx-stl/llvm-libc++/include/clocale
deleted file mode 100644
index bff4e92..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/clocale
+++ /dev/null
@@ -1,54 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- clocale ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CLOCALE
-#define _LIBCPP_CLOCALE
-
-/*
-    clocale synopsis
-
-Macros:
-
-    LC_ALL
-    LC_COLLATE
-    LC_CTYPE
-    LC_MONETARY
-    LC_NUMERIC
-    LC_TIME
-    NULL
-
-namespace std
-{
-
-struct lconv;
-char* setlocale(int category, const char* locale);
-lconv* localeconv();
-
-}  // std
-
-*/
-
-#include <__config>
-#include <locale.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::lconv;
-#ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
-using ::setlocale;
-#endif
-using ::localeconv;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CLOCALE
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/compare b/r23/sources/cxx-stl/llvm-libc++/include/compare
deleted file mode 100644
index e05257b..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/compare
+++ /dev/null
@@ -1,678 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- compare -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_COMPARE
-#define _LIBCPP_COMPARE
-
-/*
-    compare synopsis
-
-namespace std {
-  // [cmp.categories], comparison category types
-  class weak_equality;
-  class strong_equality;
-  class partial_ordering;
-  class weak_ordering;
-  class strong_ordering;
-
-  // named comparison functions
-  constexpr bool is_eq  (weak_equality cmp) noexcept    { return cmp == 0; }
-  constexpr bool is_neq (weak_equality cmp) noexcept    { return cmp != 0; }
-  constexpr bool is_lt  (partial_ordering cmp) noexcept { return cmp < 0; }
-  constexpr bool is_lteq(partial_ordering cmp) noexcept { return cmp <= 0; }
-  constexpr bool is_gt  (partial_ordering cmp) noexcept { return cmp > 0; }
-  constexpr bool is_gteq(partial_ordering cmp) noexcept { return cmp >= 0; }
-
-  // [cmp.common], common comparison category type
-  template<class... Ts>
-  struct common_comparison_category {
-    using type = see below;
-  };
-  template<class... Ts>
-    using common_comparison_category_t = typename common_comparison_category<Ts...>::type;
-
-  // [cmp.alg], comparison algorithms
-  template<class T> constexpr strong_ordering strong_order(const T& a, const T& b);
-  template<class T> constexpr weak_ordering weak_order(const T& a, const T& b);
-  template<class T> constexpr partial_ordering partial_order(const T& a, const T& b);
-  template<class T> constexpr strong_equality strong_equal(const T& a, const T& b);
-  template<class T> constexpr weak_equality weak_equal(const T& a, const T& b);
-}
-*/
-
-#include <__config>
-#include <type_traits>
-#include <array>
-
-#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER > 17
-
-// exposition only
-enum class _LIBCPP_ENUM_VIS _EqResult : unsigned char {
-  __zero = 0,
-  __equal = __zero,
-  __equiv = __equal,
-  __nonequal = 1,
-  __nonequiv = __nonequal
-};
-
-enum class _LIBCPP_ENUM_VIS _OrdResult : signed char {
-  __less = -1,
-  __greater = 1
-};
-
-enum class _LIBCPP_ENUM_VIS _NCmpResult : signed char {
-  __unordered = -127
-};
-
-struct _CmpUnspecifiedType;
-using _CmpUnspecifiedParam = void (_CmpUnspecifiedType::*)();
-
-class  weak_equality {
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr explicit weak_equality(_EqResult __val) noexcept : __value_(__val) {}
-
-public:
-  static const weak_equality equivalent;
-  static const weak_equality nonequivalent;
-
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(weak_equality __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(_CmpUnspecifiedParam, weak_equality __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(weak_equality __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(_CmpUnspecifiedParam, weak_equality __v) noexcept;
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-  _LIBCPP_INLINE_VISIBILITY friend constexpr weak_equality operator<=>(weak_equality __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr weak_equality operator<=>(_CmpUnspecifiedParam, weak_equality __v) noexcept;
-#endif
-
-private:
-  _EqResult __value_;
-};
-
-_LIBCPP_INLINE_VAR constexpr weak_equality weak_equality::equivalent(_EqResult::__equiv);
-_LIBCPP_INLINE_VAR constexpr weak_equality weak_equality::nonequivalent(_EqResult::__nonequiv);
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr bool operator==(weak_equality __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ == _EqResult::__zero;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr bool operator==(_CmpUnspecifiedParam, weak_equality __v) noexcept {
-  return __v.__value_ == _EqResult::__zero;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr bool operator!=(weak_equality __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ != _EqResult::__zero;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr bool operator!=(_CmpUnspecifiedParam, weak_equality __v) noexcept {
-  return __v.__value_ != _EqResult::__zero;
-}
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr weak_equality operator<=>(weak_equality __v, _CmpUnspecifiedParam) noexcept {
-  return __v;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-inline constexpr weak_equality operator<=>(_CmpUnspecifiedParam, weak_equality __v) noexcept {
-  return __v;
-}
-#endif
-
-class strong_equality {
-  _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr strong_equality(_EqResult __val) noexcept : __value_(__val) {}
-
-public:
-  static const strong_equality equal;
-  static const strong_equality nonequal;
-  static const strong_equality equivalent;
-  static const strong_equality nonequivalent;
-
-  // conversion
-  _LIBCPP_INLINE_VISIBILITY constexpr operator weak_equality() const noexcept {
-    return __value_ == _EqResult::__zero ? weak_equality::equivalent
-          : weak_equality::nonequivalent;
-  }
-
-  // comparisons
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(strong_equality __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(strong_equality __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(_CmpUnspecifiedParam, strong_equality __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(_CmpUnspecifiedParam, strong_equality __v) noexcept;
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-  _LIBCPP_INLINE_VISIBILITY friend constexpr strong_equality operator<=>(strong_equality __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr strong_equality operator<=>(_CmpUnspecifiedParam, strong_equality __v) noexcept;
-#endif
-private:
-  _EqResult __value_;
-};
-
-_LIBCPP_INLINE_VAR constexpr strong_equality strong_equality::equal(_EqResult::__equal);
-_LIBCPP_INLINE_VAR constexpr strong_equality strong_equality::nonequal(_EqResult::__nonequal);
-_LIBCPP_INLINE_VAR constexpr strong_equality strong_equality::equivalent(_EqResult::__equiv);
-_LIBCPP_INLINE_VAR constexpr strong_equality strong_equality::nonequivalent(_EqResult::__nonequiv);
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(strong_equality __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ == _EqResult::__zero;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(_CmpUnspecifiedParam, strong_equality __v) noexcept {
-  return __v.__value_ == _EqResult::__zero;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(strong_equality __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ != _EqResult::__zero;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(_CmpUnspecifiedParam, strong_equality __v) noexcept {
-  return __v.__value_ != _EqResult::__zero;
-}
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-_LIBCPP_INLINE_VISIBILITY
-constexpr strong_equality operator<=>(strong_equality __v, _CmpUnspecifiedParam) noexcept {
-  return __v;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr strong_equality operator<=>(_CmpUnspecifiedParam, strong_equality __v) noexcept {
-  return __v;
-}
-#endif // _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-
-class partial_ordering {
-  using _ValueT = signed char;
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr partial_ordering(_EqResult __v) noexcept
-      : __value_(_ValueT(__v)) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr partial_ordering(_OrdResult __v) noexcept
-      : __value_(_ValueT(__v)) {}
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr partial_ordering(_NCmpResult __v) noexcept
-      : __value_(_ValueT(__v)) {}
-
-  constexpr bool __is_ordered() const noexcept {
-    return __value_ != _ValueT(_NCmpResult::__unordered);
-  }
-public:
-  // valid values
-  static const partial_ordering less;
-  static const partial_ordering equivalent;
-  static const partial_ordering greater;
-  static const partial_ordering unordered;
-
-  // conversion
-  constexpr operator weak_equality() const noexcept {
-    return __value_ == 0 ? weak_equality::equivalent : weak_equality::nonequivalent;
-  }
-
-  // comparisons
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(partial_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(partial_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator< (partial_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator<=(partial_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator> (partial_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator>=(partial_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(_CmpUnspecifiedParam, partial_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(_CmpUnspecifiedParam, partial_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator< (_CmpUnspecifiedParam, partial_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator<=(_CmpUnspecifiedParam, partial_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator> (_CmpUnspecifiedParam, partial_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator>=(_CmpUnspecifiedParam, partial_ordering __v) noexcept;
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-  _LIBCPP_INLINE_VISIBILITY friend constexpr partial_ordering operator<=>(partial_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr partial_ordering operator<=>(_CmpUnspecifiedParam, partial_ordering __v) noexcept;
-#endif
-
-private:
-  _ValueT __value_;
-};
-
-_LIBCPP_INLINE_VAR constexpr partial_ordering partial_ordering::less(_OrdResult::__less);
-_LIBCPP_INLINE_VAR constexpr partial_ordering partial_ordering::equivalent(_EqResult::__equiv);
-_LIBCPP_INLINE_VAR constexpr partial_ordering partial_ordering::greater(_OrdResult::__greater);
-_LIBCPP_INLINE_VAR constexpr partial_ordering partial_ordering::unordered(_NCmpResult ::__unordered);
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(partial_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__is_ordered() && __v.__value_ == 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator< (partial_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__is_ordered() && __v.__value_ < 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<=(partial_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__is_ordered() && __v.__value_ <= 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator> (partial_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__is_ordered() && __v.__value_ > 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>=(partial_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__is_ordered() && __v.__value_ >= 0;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(_CmpUnspecifiedParam, partial_ordering __v) noexcept {
-  return __v.__is_ordered() && 0 == __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator< (_CmpUnspecifiedParam, partial_ordering __v) noexcept {
-  return __v.__is_ordered() && 0 < __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<=(_CmpUnspecifiedParam, partial_ordering __v) noexcept {
-  return __v.__is_ordered() && 0 <= __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator> (_CmpUnspecifiedParam, partial_ordering __v) noexcept {
-  return __v.__is_ordered() && 0 > __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>=(_CmpUnspecifiedParam, partial_ordering __v) noexcept {
-  return __v.__is_ordered() && 0 >= __v.__value_;
-}
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(partial_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return !__v.__is_ordered() || __v.__value_ != 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(_CmpUnspecifiedParam, partial_ordering __v) noexcept {
-  return !__v.__is_ordered() || __v.__value_ != 0;
-}
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-_LIBCPP_INLINE_VISIBILITY
-constexpr partial_ordering operator<=>(partial_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr partial_ordering operator<=>(_CmpUnspecifiedParam, partial_ordering __v) noexcept {
-  return __v < 0 ? partial_ordering::greater : (__v > 0 ? partial_ordering::less : __v);
-}
-#endif // _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-
-class weak_ordering {
-  using _ValueT = signed char;
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr weak_ordering(_EqResult __v) noexcept : __value_(_ValueT(__v)) {}
-  _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr weak_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {}
-
-public:
-  static const weak_ordering less;
-  static const weak_ordering equivalent;
-  static const weak_ordering greater;
-
-  // conversions
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr operator weak_equality() const noexcept {
-    return __value_ == 0 ? weak_equality::equivalent
-                         : weak_equality::nonequivalent;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr operator partial_ordering() const noexcept {
-    return __value_ == 0 ? partial_ordering::equivalent
-        : (__value_ < 0 ? partial_ordering::less : partial_ordering::greater);
-  }
-
-  // comparisons
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(weak_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(weak_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator< (weak_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator<=(weak_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator> (weak_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator>=(weak_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(_CmpUnspecifiedParam, weak_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(_CmpUnspecifiedParam, weak_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator< (_CmpUnspecifiedParam, weak_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator<=(_CmpUnspecifiedParam, weak_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator> (_CmpUnspecifiedParam, weak_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator>=(_CmpUnspecifiedParam, weak_ordering __v) noexcept;
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-  _LIBCPP_INLINE_VISIBILITY friend constexpr weak_ordering operator<=>(weak_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr weak_ordering operator<=>(_CmpUnspecifiedParam, weak_ordering __v) noexcept;
-#endif
-
-private:
-  _ValueT __value_;
-};
-
-_LIBCPP_INLINE_VAR constexpr weak_ordering weak_ordering::less(_OrdResult::__less);
-_LIBCPP_INLINE_VAR constexpr weak_ordering weak_ordering::equivalent(_EqResult::__equiv);
-_LIBCPP_INLINE_VAR constexpr weak_ordering weak_ordering::greater(_OrdResult::__greater);
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(weak_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ == 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(weak_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ != 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator< (weak_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ < 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<=(weak_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ <= 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator> (weak_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ > 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>=(weak_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ >= 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(_CmpUnspecifiedParam, weak_ordering __v) noexcept {
-  return 0 == __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(_CmpUnspecifiedParam, weak_ordering __v) noexcept {
-  return 0 != __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator< (_CmpUnspecifiedParam, weak_ordering __v) noexcept {
-  return 0 < __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<=(_CmpUnspecifiedParam, weak_ordering __v) noexcept {
-  return 0 <= __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator> (_CmpUnspecifiedParam, weak_ordering __v) noexcept {
-  return 0 > __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>=(_CmpUnspecifiedParam, weak_ordering __v) noexcept {
-  return 0 >= __v.__value_;
-}
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-_LIBCPP_INLINE_VISIBILITY
-constexpr weak_ordering operator<=>(weak_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr weak_ordering operator<=>(_CmpUnspecifiedParam, weak_ordering __v) noexcept {
-  return __v < 0 ? weak_ordering::greater : (__v > 0 ? weak_ordering::less : __v);
-}
-#endif // _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-
-class strong_ordering {
-  using _ValueT = signed char;
-
-  _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr strong_ordering(_EqResult __v) noexcept : __value_(_ValueT(__v)) {}
-  _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr strong_ordering(_OrdResult __v) noexcept : __value_(_ValueT(__v)) {}
-
-public:
-  static const strong_ordering less;
-  static const strong_ordering equal;
-  static const strong_ordering equivalent;
-  static const strong_ordering greater;
-
-  // conversions
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr operator weak_equality() const noexcept {
-    return __value_ == 0 ? weak_equality::equivalent
-                         : weak_equality::nonequivalent;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr operator strong_equality() const noexcept {
-    return __value_ == 0 ? strong_equality::equal
-                         : strong_equality::nonequal;
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr operator partial_ordering() const noexcept {
-    return __value_ == 0 ? partial_ordering::equivalent
-        : (__value_ < 0 ? partial_ordering::less : partial_ordering::greater);
-  }
-
-  _LIBCPP_INLINE_VISIBILITY
-  constexpr operator weak_ordering() const noexcept {
-    return __value_ == 0 ? weak_ordering::equivalent
-        : (__value_ < 0 ? weak_ordering::less : weak_ordering::greater);
-  }
-
-  // comparisons
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(strong_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(strong_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator< (strong_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator<=(strong_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator> (strong_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator>=(strong_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator==(_CmpUnspecifiedParam, strong_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator!=(_CmpUnspecifiedParam, strong_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator< (_CmpUnspecifiedParam, strong_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator<=(_CmpUnspecifiedParam, strong_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator> (_CmpUnspecifiedParam, strong_ordering __v) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr bool operator>=(_CmpUnspecifiedParam, strong_ordering __v) noexcept;
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-  _LIBCPP_INLINE_VISIBILITY friend constexpr strong_ordering operator<=>(strong_ordering __v, _CmpUnspecifiedParam) noexcept;
-  _LIBCPP_INLINE_VISIBILITY friend constexpr strong_ordering operator<=>(_CmpUnspecifiedParam, strong_ordering __v) noexcept;
-#endif
-
-private:
-  _ValueT __value_;
-};
-
-_LIBCPP_INLINE_VAR constexpr strong_ordering strong_ordering::less(_OrdResult::__less);
-_LIBCPP_INLINE_VAR constexpr strong_ordering strong_ordering::equal(_EqResult::__equal);
-_LIBCPP_INLINE_VAR constexpr strong_ordering strong_ordering::equivalent(_EqResult::__equiv);
-_LIBCPP_INLINE_VAR constexpr strong_ordering strong_ordering::greater(_OrdResult::__greater);
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(strong_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ == 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(strong_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ != 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator< (strong_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ < 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<=(strong_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ <= 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator> (strong_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ > 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>=(strong_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v.__value_ >= 0;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(_CmpUnspecifiedParam, strong_ordering __v) noexcept {
-  return 0 == __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(_CmpUnspecifiedParam, strong_ordering __v) noexcept {
-  return 0 != __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator< (_CmpUnspecifiedParam, strong_ordering __v) noexcept {
-  return 0 < __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<=(_CmpUnspecifiedParam, strong_ordering __v) noexcept {
-  return 0 <= __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator> (_CmpUnspecifiedParam, strong_ordering __v) noexcept {
-  return 0 > __v.__value_;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>=(_CmpUnspecifiedParam, strong_ordering __v) noexcept {
-  return 0 >= __v.__value_;
-}
-
-#ifndef _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-_LIBCPP_INLINE_VISIBILITY
-constexpr strong_ordering operator<=>(strong_ordering __v, _CmpUnspecifiedParam) noexcept {
-  return __v;
-}
-_LIBCPP_INLINE_VISIBILITY
-constexpr strong_ordering operator<=>(_CmpUnspecifiedParam, strong_ordering __v) noexcept {
-  return __v < 0 ? strong_ordering::greater : (__v > 0 ? strong_ordering::less : __v);
-}
-#endif // _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
-
-// named comparison functions
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool is_eq(weak_equality __cmp) noexcept    { return __cmp == 0; }
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool is_neq(weak_equality __cmp) noexcept    { return __cmp != 0; }
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool is_lt(partial_ordering __cmp) noexcept { return __cmp < 0; }
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool is_lteq(partial_ordering __cmp) noexcept { return __cmp <= 0; }
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool is_gt(partial_ordering __cmp) noexcept { return __cmp > 0; }
-
-_LIBCPP_INLINE_VISIBILITY
-constexpr bool is_gteq(partial_ordering __cmp) noexcept { return __cmp >= 0; }
-
-namespace __comp_detail {
-
-enum _ClassifyCompCategory : unsigned{
-  _None,
-  _WeakEq,
-  _StrongEq,
-  _PartialOrd,
-  _WeakOrd,
-  _StrongOrd,
-  _CCC_Size
-};
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-constexpr _ClassifyCompCategory __type_to_enum() noexcept {
-  if (is_same_v<_Tp, weak_equality>)
-    return _WeakEq;
-  if (is_same_v<_Tp, strong_equality>)
-    return _StrongEq;
-  if (is_same_v<_Tp, partial_ordering>)
-    return _PartialOrd;
-  if (is_same_v<_Tp, weak_ordering>)
-    return _WeakOrd;
-  if (is_same_v<_Tp, strong_ordering>)
-    return _StrongOrd;
-  return _None;
-}
-
-template <size_t _Size>
-constexpr _ClassifyCompCategory
-__compute_comp_type(std::array<_ClassifyCompCategory, _Size> __types) {
-  std::array<int, _CCC_Size> __seen = {};
-  for (auto __type : __types)
-    ++__seen[__type];
-  if (__seen[_None])
-    return _None;
-  if (__seen[_WeakEq])
-    return _WeakEq;
-  if (__seen[_StrongEq] && (__seen[_PartialOrd] || __seen[_WeakOrd]))
-    return _WeakEq;
-  if (__seen[_StrongEq])
-    return _StrongEq;
-  if (__seen[_PartialOrd])
-    return _PartialOrd;
-  if (__seen[_WeakOrd])
-    return _WeakOrd;
-  return _StrongOrd;
-}
-
-template <class ..._Ts>
-constexpr auto __get_comp_type() {
-  using _CCC = _ClassifyCompCategory;
-  constexpr array<_CCC, sizeof...(_Ts)> __type_kinds{{__comp_detail::__type_to_enum<_Ts>()...}};
-  constexpr _CCC _Cat = sizeof...(_Ts) == 0 ? _StrongOrd
-      : __compute_comp_type(__type_kinds);
-  if constexpr (_Cat == _None)
-    return void();
-  else if constexpr (_Cat == _WeakEq)
-    return weak_equality::equivalent;
-  else if constexpr (_Cat == _StrongEq)
-    return strong_equality::equivalent;
-  else if constexpr (_Cat == _PartialOrd)
-    return partial_ordering::equivalent;
-  else if constexpr (_Cat == _WeakOrd)
-    return weak_ordering::equivalent;
-  else if constexpr (_Cat == _StrongOrd)
-    return strong_ordering::equivalent;
-  else
-    static_assert(_Cat != _Cat, "unhandled case");
-}
-} // namespace __comp_detail
-
-// [cmp.common], common comparison category type
-template<class... _Ts>
-struct _LIBCPP_TEMPLATE_VIS common_comparison_category {
-  using type = decltype(__comp_detail::__get_comp_type<_Ts...>());
-};
-
-template<class... _Ts>
-using common_comparison_category_t = typename common_comparison_category<_Ts...>::type;
-
-// [cmp.alg], comparison algorithms
-// TODO: unimplemented
-template<class _Tp> constexpr strong_ordering strong_order(const _Tp& __lhs, const _Tp& __rhs);
-template<class _Tp> constexpr weak_ordering weak_order(const _Tp& __lhs, const _Tp& __rhs);
-template<class _Tp> constexpr partial_ordering partial_order(const _Tp& __lhs, const _Tp& __rhs);
-template<class _Tp> constexpr strong_equality strong_equal(const _Tp& __lhs, const _Tp& __rhs);
-template<class _Tp> constexpr weak_equality weak_equal(const _Tp& __lhs, const _Tp& __rhs);
-
-#endif // _LIBCPP_STD_VER > 17
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP_COMPARE
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/complex.h b/r23/sources/cxx-stl/llvm-libc++/include/complex.h
deleted file mode 100644
index b78733b..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/complex.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- complex.h --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_COMPLEX_H
-#define _LIBCPP_COMPLEX_H
-
-/*
-    complex.h synopsis
-
-#include <ccomplex>
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-
-#include <ccomplex>
-
-#else  // __cplusplus
-
-#include_next <complex.h>
-
-#endif  // __cplusplus
-
-#endif  // _LIBCPP_COMPLEX_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/condition_variable b/r23/sources/cxx-stl/llvm-libc++/include/condition_variable
deleted file mode 100644
index 8c73344..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/condition_variable
+++ /dev/null
@@ -1,268 +0,0 @@
-// -*- C++ -*-
-//===---------------------- condition_variable ----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CONDITION_VARIABLE
-#define _LIBCPP_CONDITION_VARIABLE
-
-/*
-    condition_variable synopsis
-
-namespace std
-{
-
-enum class cv_status { no_timeout, timeout };
-
-class condition_variable
-{
-public:
-    condition_variable();
-    ~condition_variable();
-
-    condition_variable(const condition_variable&) = delete;
-    condition_variable& operator=(const condition_variable&) = delete;
-
-    void notify_one() noexcept;
-    void notify_all() noexcept;
-
-    void wait(unique_lock<mutex>& lock);
-    template <class Predicate>
-        void wait(unique_lock<mutex>& lock, Predicate pred);
-
-    template <class Clock, class Duration>
-        cv_status
-        wait_until(unique_lock<mutex>& lock,
-                   const chrono::time_point<Clock, Duration>& abs_time);
-
-    template <class Clock, class Duration, class Predicate>
-        bool
-        wait_until(unique_lock<mutex>& lock,
-                   const chrono::time_point<Clock, Duration>& abs_time,
-                   Predicate pred);
-
-    template <class Rep, class Period>
-        cv_status
-        wait_for(unique_lock<mutex>& lock,
-                 const chrono::duration<Rep, Period>& rel_time);
-
-    template <class Rep, class Period, class Predicate>
-        bool
-        wait_for(unique_lock<mutex>& lock,
-                 const chrono::duration<Rep, Period>& rel_time,
-                 Predicate pred);
-
-    typedef pthread_cond_t* native_handle_type;
-    native_handle_type native_handle();
-};
-
-void notify_all_at_thread_exit(condition_variable& cond, unique_lock<mutex> lk);
-
-class condition_variable_any
-{
-public:
-    condition_variable_any();
-    ~condition_variable_any();
-
-    condition_variable_any(const condition_variable_any&) = delete;
-    condition_variable_any& operator=(const condition_variable_any&) = delete;
-
-    void notify_one() noexcept;
-    void notify_all() noexcept;
-
-    template <class Lock>
-        void wait(Lock& lock);
-    template <class Lock, class Predicate>
-        void wait(Lock& lock, Predicate pred);
-
-    template <class Lock, class Clock, class Duration>
-        cv_status
-        wait_until(Lock& lock,
-                   const chrono::time_point<Clock, Duration>& abs_time);
-
-    template <class Lock, class Clock, class Duration, class Predicate>
-        bool
-        wait_until(Lock& lock,
-                   const chrono::time_point<Clock, Duration>& abs_time,
-                   Predicate pred);
-
-    template <class Lock, class Rep, class Period>
-        cv_status
-        wait_for(Lock& lock,
-                 const chrono::duration<Rep, Period>& rel_time);
-
-    template <class Lock, class Rep, class Period, class Predicate>
-        bool
-        wait_for(Lock& lock,
-                 const chrono::duration<Rep, Period>& rel_time,
-                 Predicate pred);
-};
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__mutex_base>
-#include <memory>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifndef _LIBCPP_HAS_NO_THREADS
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-class _LIBCPP_TYPE_VIS condition_variable_any
-{
-    condition_variable __cv_;
-    shared_ptr<mutex>  __mut_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    condition_variable_any();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void notify_one() _NOEXCEPT;
-    _LIBCPP_INLINE_VISIBILITY
-    void notify_all() _NOEXCEPT;
-
-    template <class _Lock>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        void wait(_Lock& __lock);
-    template <class _Lock, class _Predicate>
-        _LIBCPP_INLINE_VISIBILITY
-        void wait(_Lock& __lock, _Predicate __pred);
-
-    template <class _Lock, class _Clock, class _Duration>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        cv_status
-        wait_until(_Lock& __lock,
-                   const chrono::time_point<_Clock, _Duration>& __t);
-
-    template <class _Lock, class _Clock, class _Duration, class _Predicate>
-        bool
-        _LIBCPP_INLINE_VISIBILITY
-        wait_until(_Lock& __lock,
-                   const chrono::time_point<_Clock, _Duration>& __t,
-                   _Predicate __pred);
-
-    template <class _Lock, class _Rep, class _Period>
-        cv_status
-        _LIBCPP_INLINE_VISIBILITY
-        wait_for(_Lock& __lock,
-                 const chrono::duration<_Rep, _Period>& __d);
-
-    template <class _Lock, class _Rep, class _Period, class _Predicate>
-        bool
-        _LIBCPP_INLINE_VISIBILITY
-        wait_for(_Lock& __lock,
-                 const chrono::duration<_Rep, _Period>& __d,
-                 _Predicate __pred);
-};
-
-inline
-condition_variable_any::condition_variable_any()
-    : __mut_(make_shared<mutex>()) {}
-
-inline
-void
-condition_variable_any::notify_one() _NOEXCEPT
-{
-    {lock_guard<mutex> __lx(*__mut_);}
-    __cv_.notify_one();
-}
-
-inline
-void
-condition_variable_any::notify_all() _NOEXCEPT
-{
-    {lock_guard<mutex> __lx(*__mut_);}
-    __cv_.notify_all();
-}
-
-struct __lock_external
-{
-    template <class _Lock>
-    void operator()(_Lock* __m) {__m->lock();}
-};
-
-template <class _Lock>
-void
-condition_variable_any::wait(_Lock& __lock)
-{
-    shared_ptr<mutex> __mut = __mut_;
-    unique_lock<mutex> __lk(*__mut);
-    __lock.unlock();
-    unique_ptr<_Lock, __lock_external> __lxx(&__lock);
-    lock_guard<unique_lock<mutex> > __lx(__lk, adopt_lock);
-    __cv_.wait(__lk);
-}  // __mut_.unlock(), __lock.lock()
-
-template <class _Lock, class _Predicate>
-inline
-void
-condition_variable_any::wait(_Lock& __lock, _Predicate __pred)
-{
-    while (!__pred())
-        wait(__lock);
-}
-
-template <class _Lock, class _Clock, class _Duration>
-cv_status
-condition_variable_any::wait_until(_Lock& __lock,
-                                   const chrono::time_point<_Clock, _Duration>& __t)
-{
-    shared_ptr<mutex> __mut = __mut_;
-    unique_lock<mutex> __lk(*__mut);
-    __lock.unlock();
-    unique_ptr<_Lock, __lock_external> __lxx(&__lock);
-    lock_guard<unique_lock<mutex> > __lx(__lk, adopt_lock);
-    return __cv_.wait_until(__lk, __t);
-}  // __mut_.unlock(), __lock.lock()
-
-template <class _Lock, class _Clock, class _Duration, class _Predicate>
-inline
-bool
-condition_variable_any::wait_until(_Lock& __lock,
-                                   const chrono::time_point<_Clock, _Duration>& __t,
-                                   _Predicate __pred)
-{
-    while (!__pred())
-        if (wait_until(__lock, __t) == cv_status::timeout)
-            return __pred();
-    return true;
-}
-
-template <class _Lock, class _Rep, class _Period>
-inline
-cv_status
-condition_variable_any::wait_for(_Lock& __lock,
-                                 const chrono::duration<_Rep, _Period>& __d)
-{
-    return wait_until(__lock, chrono::steady_clock::now() + __d);
-}
-
-template <class _Lock, class _Rep, class _Period, class _Predicate>
-inline
-bool
-condition_variable_any::wait_for(_Lock& __lock,
-                                 const chrono::duration<_Rep, _Period>& __d,
-                                 _Predicate __pred)
-{
-    return wait_until(__lock, chrono::steady_clock::now() + __d,
-                      _VSTD::move(__pred));
-}
-
-_LIBCPP_FUNC_VIS
-void notify_all_at_thread_exit(condition_variable& cond, unique_lock<mutex> lk);
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // !_LIBCPP_HAS_NO_THREADS
-
-#endif  // _LIBCPP_CONDITION_VARIABLE
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/csetjmp b/r23/sources/cxx-stl/llvm-libc++/include/csetjmp
deleted file mode 100644
index ed94b50..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/csetjmp
+++ /dev/null
@@ -1,47 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- csetjmp ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSETJMP
-#define _LIBCPP_CSETJMP
-
-/*
-    csetjmp synopsis
-
-Macros:
-
-    setjmp
-
-namespace std
-{
-
-Types:
-
-    jmp_buf
-
-void longjmp(jmp_buf env, int val);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <setjmp.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::jmp_buf;
-using ::longjmp;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CSETJMP
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/csignal b/r23/sources/cxx-stl/llvm-libc++/include/csignal
deleted file mode 100644
index 99abd02..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/csignal
+++ /dev/null
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- csignal ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSIGNAL
-#define _LIBCPP_CSIGNAL
-
-/*
-    csignal synopsis
-
-Macros:
-
-    SIG_DFL
-    SIG_ERR
-    SIG_IGN
-    SIGABRT
-    SIGFPE
-    SIGILL
-    SIGINT
-    SIGSEGV
-    SIGTERM
-
-namespace std
-{
-
-Types:
-
-    sig_atomic_t
-
-void (*signal(int sig, void (*func)(int)))(int);
-int raise(int sig);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <signal.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::sig_atomic_t;
-using ::signal;
-using ::raise;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CSIGNAL
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cstdarg b/r23/sources/cxx-stl/llvm-libc++/include/cstdarg
deleted file mode 100644
index e8147d4..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cstdarg
+++ /dev/null
@@ -1,47 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cstdarg ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSTDARG
-#define _LIBCPP_CSTDARG
-
-/*
-    cstdarg synopsis
-
-Macros:
-
-    type va_arg(va_list ap, type);
-    void va_copy(va_list dest, va_list src);  // C99
-    void va_end(va_list ap);
-    void va_start(va_list ap, parmN);
-
-namespace std
-{
-
-Types:
-
-    va_list
-
-}  // std
-
-*/
-
-#include <__config>
-#include <stdarg.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::va_list;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CSTDARG
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cstdbool b/r23/sources/cxx-stl/llvm-libc++/include/cstdbool
deleted file mode 100644
index fad4714..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cstdbool
+++ /dev/null
@@ -1,31 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cstdbool ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSTDBOOL
-#define _LIBCPP_CSTDBOOL
-
-/*
-    cstdbool synopsis
-
-Macros:
-
-    __bool_true_false_are_defined
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#undef __bool_true_false_are_defined
-#define __bool_true_false_are_defined 1
-
-#endif  // _LIBCPP_CSTDBOOL
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cstdint b/r23/sources/cxx-stl/llvm-libc++/include/cstdint
deleted file mode 100644
index f72fa06..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cstdint
+++ /dev/null
@@ -1,190 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cstdint ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSTDINT
-#define _LIBCPP_CSTDINT
-
-/*
-    cstdint synopsis
-
-Macros:
-
-    INT8_MIN
-    INT16_MIN
-    INT32_MIN
-    INT64_MIN
-
-    INT8_MAX
-    INT16_MAX
-    INT32_MAX
-    INT64_MAX
-
-    UINT8_MAX
-    UINT16_MAX
-    UINT32_MAX
-    UINT64_MAX
-
-    INT_LEAST8_MIN
-    INT_LEAST16_MIN
-    INT_LEAST32_MIN
-    INT_LEAST64_MIN
-
-    INT_LEAST8_MAX
-    INT_LEAST16_MAX
-    INT_LEAST32_MAX
-    INT_LEAST64_MAX
-
-    UINT_LEAST8_MAX
-    UINT_LEAST16_MAX
-    UINT_LEAST32_MAX
-    UINT_LEAST64_MAX
-
-    INT_FAST8_MIN
-    INT_FAST16_MIN
-    INT_FAST32_MIN
-    INT_FAST64_MIN
-
-    INT_FAST8_MAX
-    INT_FAST16_MAX
-    INT_FAST32_MAX
-    INT_FAST64_MAX
-
-    UINT_FAST8_MAX
-    UINT_FAST16_MAX
-    UINT_FAST32_MAX
-    UINT_FAST64_MAX
-
-    INTPTR_MIN
-    INTPTR_MAX
-    UINTPTR_MAX
-
-    INTMAX_MIN
-    INTMAX_MAX
-
-    UINTMAX_MAX
-
-    PTRDIFF_MIN
-    PTRDIFF_MAX
-
-    SIG_ATOMIC_MIN
-    SIG_ATOMIC_MAX
-
-    SIZE_MAX
-
-    WCHAR_MIN
-    WCHAR_MAX
-
-    WINT_MIN
-    WINT_MAX
-
-    INT8_C(value)
-    INT16_C(value)
-    INT32_C(value)
-    INT64_C(value)
-
-    UINT8_C(value)
-    UINT16_C(value)
-    UINT32_C(value)
-    UINT64_C(value)
-
-    INTMAX_C(value)
-    UINTMAX_C(value)
-
-namespace std
-{
-
-Types:
-
-    int8_t
-    int16_t
-    int32_t
-    int64_t
-
-    uint8_t
-    uint16_t
-    uint32_t
-    uint64_t
-
-    int_least8_t
-    int_least16_t
-    int_least32_t
-    int_least64_t
-
-    uint_least8_t
-    uint_least16_t
-    uint_least32_t
-    uint_least64_t
-
-    int_fast8_t
-    int_fast16_t
-    int_fast32_t
-    int_fast64_t
-
-    uint_fast8_t
-    uint_fast16_t
-    uint_fast32_t
-    uint_fast64_t
-
-    intptr_t
-    uintptr_t
-
-    intmax_t
-    uintmax_t
-
-}  // std
-*/
-
-#include <__config>
-#include <stdint.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using::int8_t;
-using::int16_t;
-using::int32_t;
-using::int64_t;
-
-using::uint8_t;
-using::uint16_t;
-using::uint32_t;
-using::uint64_t;
-
-using::int_least8_t;
-using::int_least16_t;
-using::int_least32_t;
-using::int_least64_t;
-
-using::uint_least8_t;
-using::uint_least16_t;
-using::uint_least32_t;
-using::uint_least64_t;
-
-using::int_fast8_t;
-using::int_fast16_t;
-using::int_fast32_t;
-using::int_fast64_t;
-
-using::uint_fast8_t;
-using::uint_fast16_t;
-using::uint_fast32_t;
-using::uint_fast64_t;
-
-using::intptr_t;
-using::uintptr_t;
-
-using::intmax_t;
-using::uintmax_t;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CSTDINT
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cstring b/r23/sources/cxx-stl/llvm-libc++/include/cstring
deleted file mode 100644
index 8bc96a0..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cstring
+++ /dev/null
@@ -1,96 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cstring ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CSTRING
-#define _LIBCPP_CSTRING
-
-/*
-    cstring synopsis
-
-Macros:
-
-    NULL
-
-namespace std
-{
-
-Types:
-
-    size_t
-
-void* memcpy(void* restrict s1, const void* restrict s2, size_t n);
-void* memmove(void* s1, const void* s2, size_t n);
-char* strcpy (char* restrict s1, const char* restrict s2);
-char* strncpy(char* restrict s1, const char* restrict s2, size_t n);
-char* strcat (char* restrict s1, const char* restrict s2);
-char* strncat(char* restrict s1, const char* restrict s2, size_t n);
-int memcmp(const void* s1, const void* s2, size_t n);
-int strcmp (const char* s1, const char* s2);
-int strncmp(const char* s1, const char* s2, size_t n);
-int strcoll(const char* s1, const char* s2);
-size_t strxfrm(char* restrict s1, const char* restrict s2, size_t n);
-const void* memchr(const void* s, int c, size_t n);
-      void* memchr(      void* s, int c, size_t n);
-const char* strchr(const char* s, int c);
-      char* strchr(      char* s, int c);
-size_t strcspn(const char* s1, const char* s2);
-const char* strpbrk(const char* s1, const char* s2);
-      char* strpbrk(      char* s1, const char* s2);
-const char* strrchr(const char* s, int c);
-      char* strrchr(      char* s, int c);
-size_t strspn(const char* s1, const char* s2);
-const char* strstr(const char* s1, const char* s2);
-      char* strstr(      char* s1, const char* s2);
-char* strtok(char* restrict s1, const char* restrict s2);
-void* memset(void* s, int c, size_t n);
-char* strerror(int errnum);
-size_t strlen(const char* s);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <string.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::size_t;
-using ::memcpy;
-using ::memmove;
-using ::strcpy;
-using ::strncpy;
-using ::strcat;
-using ::strncat;
-using ::memcmp;
-using ::strcmp;
-using ::strncmp;
-using ::strcoll;
-using ::strxfrm;
-using ::memchr;
-using ::strchr;
-using ::strcspn;
-using ::strpbrk;
-using ::strrchr;
-using ::strspn;
-using ::strstr;
-#ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
-using ::strtok;
-#endif
-using ::memset;
-using ::strerror;
-using ::strlen;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CSTRING
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ctgmath b/r23/sources/cxx-stl/llvm-libc++/include/ctgmath
deleted file mode 100644
index ba1eeea..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/ctgmath
+++ /dev/null
@@ -1,28 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- ctgmath -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CTGMATH
-#define _LIBCPP_CTGMATH
-
-/*
-    ctgmath synopsis
-
-#include <ccomplex>
-#include <cmath>
-
-*/
-
-#include <ccomplex>
-#include <cmath>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#endif  // _LIBCPP_CTGMATH
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ctype.h b/r23/sources/cxx-stl/llvm-libc++/include/ctype.h
deleted file mode 100644
index dcc7935..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/ctype.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- ctype.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CTYPE_H
-#define _LIBCPP_CTYPE_H
-
-/*
-    ctype.h synopsis
-
-int isalnum(int c);
-int isalpha(int c);
-int isblank(int c);  // C99
-int iscntrl(int c);
-int isdigit(int c);
-int isgraph(int c);
-int islower(int c);
-int isprint(int c);
-int ispunct(int c);
-int isspace(int c);
-int isupper(int c);
-int isxdigit(int c);
-int tolower(int c);
-int toupper(int c);
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <ctype.h>
-
-#ifdef __cplusplus
-
-#undef isalnum
-#undef isalpha
-#undef isblank
-#undef iscntrl
-#undef isdigit
-#undef isgraph
-#undef islower
-#undef isprint
-#undef ispunct
-#undef isspace
-#undef isupper
-#undef isxdigit
-#undef tolower
-#undef toupper
-
-#endif
-
-#endif  // _LIBCPP_CTYPE_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cwchar b/r23/sources/cxx-stl/llvm-libc++/include/cwchar
deleted file mode 100644
index 451c621..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cwchar
+++ /dev/null
@@ -1,192 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cwchar -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CWCHAR
-#define _LIBCPP_CWCHAR
-
-/*
-    cwchar synopsis
-
-Macros:
-
-    NULL
-    WCHAR_MAX
-    WCHAR_MIN
-    WEOF
-
-namespace std
-{
-
-Types:
-
-    mbstate_t
-    size_t
-    tm
-    wint_t
-
-int fwprintf(FILE* restrict stream, const wchar_t* restrict format, ...);
-int fwscanf(FILE* restrict stream, const wchar_t* restrict format, ...);
-int swprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, ...);
-int swscanf(const wchar_t* restrict s, const wchar_t* restrict format, ...);
-int vfwprintf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);
-int vfwscanf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);  // C99
-int vswprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, va_list arg);
-int vswscanf(const wchar_t* restrict s, const wchar_t* restrict format, va_list arg);  // C99
-int vwprintf(const wchar_t* restrict format, va_list arg);
-int vwscanf(const wchar_t* restrict format, va_list arg);  // C99
-int wprintf(const wchar_t* restrict format, ...);
-int wscanf(const wchar_t* restrict format, ...);
-wint_t fgetwc(FILE* stream);
-wchar_t* fgetws(wchar_t* restrict s, int n, FILE* restrict stream);
-wint_t fputwc(wchar_t c, FILE* stream);
-int fputws(const wchar_t* restrict s, FILE* restrict stream);
-int fwide(FILE* stream, int mode);
-wint_t getwc(FILE* stream);
-wint_t getwchar();
-wint_t putwc(wchar_t c, FILE* stream);
-wint_t putwchar(wchar_t c);
-wint_t ungetwc(wint_t c, FILE* stream);
-double wcstod(const wchar_t* restrict nptr, wchar_t** restrict endptr);
-float wcstof(const wchar_t* restrict nptr, wchar_t** restrict endptr);         // C99
-long double wcstold(const wchar_t* restrict nptr, wchar_t** restrict endptr);  // C99
-long wcstol(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
-long long wcstoll(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);  // C99
-unsigned long wcstoul(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
-unsigned long long wcstoull(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);  // C99
-wchar_t* wcscpy(wchar_t* restrict s1, const wchar_t* restrict s2);
-wchar_t* wcsncpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-wchar_t* wcscat(wchar_t* restrict s1, const wchar_t* restrict s2);
-wchar_t* wcsncat(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-int wcscmp(const wchar_t* s1, const wchar_t* s2);
-int wcscoll(const wchar_t* s1, const wchar_t* s2);
-int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n);
-size_t wcsxfrm(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-const wchar_t* wcschr(const wchar_t* s, wchar_t c);
-      wchar_t* wcschr(      wchar_t* s, wchar_t c);
-size_t wcscspn(const wchar_t* s1, const wchar_t* s2);
-size_t wcslen(const wchar_t* s);
-const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2);
-      wchar_t* wcspbrk(      wchar_t* s1, const wchar_t* s2);
-const wchar_t* wcsrchr(const wchar_t* s, wchar_t c);
-      wchar_t* wcsrchr(      wchar_t* s, wchar_t c);
-size_t wcsspn(const wchar_t* s1, const wchar_t* s2);
-const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2);
-      wchar_t* wcsstr(      wchar_t* s1, const wchar_t* s2);
-wchar_t* wcstok(wchar_t* restrict s1, const wchar_t* restrict s2, wchar_t** restrict ptr);
-const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n);
-      wchar_t* wmemchr(      wchar_t* s, wchar_t c, size_t n);
-int wmemcmp(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-wchar_t* wmemcpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
-wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);
-size_t wcsftime(wchar_t* restrict s, size_t maxsize, const wchar_t* restrict format,
-                const tm* restrict timeptr);
-wint_t btowc(int c);
-int wctob(wint_t c);
-int mbsinit(const mbstate_t* ps);
-size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps);
-size_t mbrtowc(wchar_t* restrict pwc, const char* restrict s, size_t n, mbstate_t* restrict ps);
-size_t wcrtomb(char* restrict s, wchar_t wc, mbstate_t* restrict ps);
-size_t mbsrtowcs(wchar_t* restrict dst, const char** restrict src, size_t len,
-                 mbstate_t* restrict ps);
-size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
-                 mbstate_t* restrict ps);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <cwctype>
-#include <wchar.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::mbstate_t;
-using ::size_t;
-using ::tm;
-using ::wint_t;
-using ::FILE;
-using ::fwprintf;
-using ::fwscanf;
-using ::swprintf;
-using ::vfwprintf;
-using ::vswprintf;
-using ::swscanf;
-using ::vfwscanf;
-using ::vswscanf;
-using ::fgetwc;
-using ::fgetws;
-using ::fputwc;
-using ::fputws;
-using ::fwide;
-using ::getwc;
-using ::putwc;
-using ::ungetwc;
-using ::wcstod;
-using ::wcstof;
-using ::wcstold;
-using ::wcstol;
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-using ::wcstoll;
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-using ::wcstoul;
-#ifndef _LIBCPP_HAS_NO_LONG_LONG
-using ::wcstoull;
-#endif // _LIBCPP_HAS_NO_LONG_LONG
-using ::wcscpy;
-using ::wcsncpy;
-using ::wcscat;
-using ::wcsncat;
-using ::wcscmp;
-using ::wcscoll;
-using ::wcsncmp;
-using ::wcsxfrm;
-using ::wcschr;
-using ::wcspbrk;
-using ::wcsrchr;
-using ::wcsstr;
-using ::wmemchr;
-using ::wcscspn;
-using ::wcslen;
-using ::wcsspn;
-using ::wcstok;
-using ::wmemcmp;
-using ::wmemcpy;
-using ::wmemmove;
-using ::wmemset;
-using ::wcsftime;
-using ::btowc;
-using ::wctob;
-using ::mbsinit;
-using ::mbrlen;
-using ::mbrtowc;
-using ::wcrtomb;
-using ::mbsrtowcs;
-using ::wcsrtombs;
-
-#ifndef _LIBCPP_HAS_NO_STDIN
-using ::getwchar;
-using ::vwscanf;
-using ::wscanf;
-#endif
-
-#ifndef _LIBCPP_HAS_NO_STDOUT
-using ::putwchar;
-using ::vwprintf;
-using ::wprintf;
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CWCHAR
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/cwctype b/r23/sources/cxx-stl/llvm-libc++/include/cwctype
deleted file mode 100644
index 575fd56..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/cwctype
+++ /dev/null
@@ -1,86 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- cwctype ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_CWCTYPE
-#define _LIBCPP_CWCTYPE
-
-/*
-    cwctype synopsis
-
-Macros:
-
-    WEOF
-
-namespace std
-{
-
-Types:
-
-    wint_t
-    wctrans_t
-    wctype_t
-
-int iswalnum(wint_t wc);
-int iswalpha(wint_t wc);
-int iswblank(wint_t wc);  // C99
-int iswcntrl(wint_t wc);
-int iswdigit(wint_t wc);
-int iswgraph(wint_t wc);
-int iswlower(wint_t wc);
-int iswprint(wint_t wc);
-int iswpunct(wint_t wc);
-int iswspace(wint_t wc);
-int iswupper(wint_t wc);
-int iswxdigit(wint_t wc);
-int iswctype(wint_t wc, wctype_t desc);
-wctype_t wctype(const char* property);
-wint_t towlower(wint_t wc);
-wint_t towupper(wint_t wc);
-wint_t towctrans(wint_t wc, wctrans_t desc);
-wctrans_t wctrans(const char* property);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <cctype>
-#include <wctype.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::wint_t;
-using ::wctrans_t;
-using ::wctype_t;
-using ::iswalnum;
-using ::iswalpha;
-using ::iswblank;
-using ::iswcntrl;
-using ::iswdigit;
-using ::iswgraph;
-using ::iswlower;
-using ::iswprint;
-using ::iswpunct;
-using ::iswspace;
-using ::iswupper;
-using ::iswxdigit;
-using ::iswctype;
-using ::wctype;
-using ::towlower;
-using ::towupper;
-using ::towctrans;
-using ::wctrans;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_CWCTYPE
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/errno.h b/r23/sources/cxx-stl/llvm-libc++/include/errno.h
deleted file mode 100644
index 447319e..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/errno.h
+++ /dev/null
@@ -1,397 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- errno.h -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_ERRNO_H
-#define _LIBCPP_ERRNO_H
-
-/*
-    errno.h synopsis
-
-Macros:
-
-    EDOM
-    EILSEQ  // C99
-    ERANGE
-    errno
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <errno.h>
-
-#ifdef __cplusplus
-
-#if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
-
-#ifdef ELAST
-
-static const int __elast1 = ELAST+1;
-static const int __elast2 = ELAST+2;
-
-#else
-
-static const int __elast1 = 104;
-static const int __elast2 = 105;
-
-#endif
-
-#ifdef ENOTRECOVERABLE
-
-#define EOWNERDEAD __elast1
-
-#ifdef ELAST
-#undef ELAST
-#define ELAST EOWNERDEAD
-#endif
-
-#elif defined(EOWNERDEAD)
-
-#define ENOTRECOVERABLE __elast1
-#ifdef ELAST
-#undef ELAST
-#define ELAST ENOTRECOVERABLE
-#endif
-
-#else  // defined(EOWNERDEAD)
-
-#define EOWNERDEAD __elast1
-#define ENOTRECOVERABLE __elast2
-#ifdef ELAST
-#undef ELAST
-#define ELAST ENOTRECOVERABLE
-#endif
-
-#endif  // defined(EOWNERDEAD)
-
-#endif  // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
-
-//  supply errno values likely to be missing, particularly on Windows
-
-#ifndef EAFNOSUPPORT
-#define EAFNOSUPPORT 9901
-#endif
-
-#ifndef EADDRINUSE
-#define EADDRINUSE 9902
-#endif
-
-#ifndef EADDRNOTAVAIL
-#define EADDRNOTAVAIL 9903
-#endif
-
-#ifndef EISCONN
-#define EISCONN 9904
-#endif
-
-#ifndef EBADMSG
-#define EBADMSG 9905
-#endif
-
-#ifndef ECONNABORTED
-#define ECONNABORTED 9906
-#endif
-
-#ifndef EALREADY
-#define EALREADY 9907
-#endif
-
-#ifndef ECONNREFUSED
-#define ECONNREFUSED 9908
-#endif
-
-#ifndef ECONNRESET
-#define ECONNRESET 9909
-#endif
-
-#ifndef EDESTADDRREQ
-#define EDESTADDRREQ 9910
-#endif
-
-#ifndef EHOSTUNREACH
-#define EHOSTUNREACH 9911
-#endif
-
-#ifndef EIDRM
-#define EIDRM 9912
-#endif
-
-#ifndef EMSGSIZE
-#define EMSGSIZE 9913
-#endif
-
-#ifndef ENETDOWN
-#define ENETDOWN 9914
-#endif
-
-#ifndef ENETRESET
-#define ENETRESET 9915
-#endif
-
-#ifndef ENETUNREACH
-#define ENETUNREACH 9916
-#endif
-
-#ifndef ENOBUFS
-#define ENOBUFS 9917
-#endif
-
-#ifndef ENOLINK
-#define ENOLINK 9918
-#endif
-
-#ifndef ENODATA
-#define ENODATA 9919
-#endif
-
-#ifndef ENOMSG
-#define ENOMSG 9920
-#endif
-
-#ifndef ENOPROTOOPT
-#define ENOPROTOOPT 9921
-#endif
-
-#ifndef ENOSR
-#define ENOSR 9922
-#endif
-
-#ifndef ENOTSOCK
-#define ENOTSOCK 9923
-#endif
-
-#ifndef ENOSTR
-#define ENOSTR 9924
-#endif
-
-#ifndef ENOTCONN
-#define ENOTCONN 9925
-#endif
-
-#ifndef ENOTSUP
-#define ENOTSUP 9926
-#endif
-
-#ifndef ECANCELED
-#define ECANCELED 9927
-#endif
-
-#ifndef EINPROGRESS
-#define EINPROGRESS 9928
-#endif
-
-#ifndef EOPNOTSUPP
-#define EOPNOTSUPP 9929
-#endif
-
-#ifndef EWOULDBLOCK
-#define EWOULDBLOCK 9930
-#endif
-
-#ifndef EOWNERDEAD
-#define EOWNERDEAD  9931
-#endif
-
-#ifndef EPROTO
-#define EPROTO 9932
-#endif
-
-#ifndef EPROTONOSUPPORT
-#define EPROTONOSUPPORT 9933
-#endif
-
-#ifndef ENOTRECOVERABLE
-#define ENOTRECOVERABLE 9934
-#endif
-
-#ifndef ETIME
-#define ETIME 9935
-#endif
-
-#ifndef ETXTBSY
-#define ETXTBSY 9936
-#endif
-
-#ifndef ETIMEDOUT
-#define ETIMEDOUT 9938
-#endif
-
-#ifndef ELOOP
-#define ELOOP 9939
-#endif
-
-#ifndef EOVERFLOW
-#define EOVERFLOW 9940
-#endif
-
-#ifndef EPROTOTYPE
-#define EPROTOTYPE 9941
-#endif
-
-#ifndef ENOSYS
-#define ENOSYS 9942
-#endif
-
-#ifndef EINVAL
-#define EINVAL 9943
-#endif
-
-#ifndef ERANGE
-#define ERANGE 9944
-#endif
-
-#ifndef EILSEQ
-#define EILSEQ 9945
-#endif
-
-//  Windows Mobile doesn't appear to define these:
-
-#ifndef E2BIG
-#define E2BIG 9946
-#endif
-
-#ifndef EDOM
-#define EDOM 9947
-#endif
-
-#ifndef EFAULT
-#define EFAULT 9948
-#endif
-
-#ifndef EBADF
-#define EBADF 9949
-#endif
-
-#ifndef EPIPE
-#define EPIPE 9950
-#endif
-
-#ifndef EXDEV
-#define EXDEV 9951
-#endif
-
-#ifndef EBUSY
-#define EBUSY 9952
-#endif
-
-#ifndef ENOTEMPTY
-#define ENOTEMPTY 9953
-#endif
-
-#ifndef ENOEXEC
-#define ENOEXEC 9954
-#endif
-
-#ifndef EEXIST
-#define EEXIST 9955
-#endif
-
-#ifndef EFBIG
-#define EFBIG 9956
-#endif
-
-#ifndef ENAMETOOLONG
-#define ENAMETOOLONG 9957
-#endif
-
-#ifndef ENOTTY
-#define ENOTTY 9958
-#endif
-
-#ifndef EINTR
-#define EINTR 9959
-#endif
-
-#ifndef ESPIPE
-#define ESPIPE 9960
-#endif
-
-#ifndef EIO
-#define EIO 9961
-#endif
-
-#ifndef EISDIR
-#define EISDIR 9962
-#endif
-
-#ifndef ECHILD
-#define ECHILD 9963
-#endif
-
-#ifndef ENOLCK
-#define ENOLCK 9964
-#endif
-
-#ifndef ENOSPC
-#define ENOSPC 9965
-#endif
-
-#ifndef ENXIO
-#define ENXIO 9966
-#endif
-
-#ifndef ENODEV
-#define ENODEV 9967
-#endif
-
-#ifndef ENOENT
-#define ENOENT 9968
-#endif
-
-#ifndef ESRCH
-#define ESRCH 9969
-#endif
-
-#ifndef ENOTDIR
-#define ENOTDIR 9970
-#endif
-
-#ifndef ENOMEM
-#define ENOMEM 9971
-#endif
-
-#ifndef EPERM
-#define EPERM 9972
-#endif
-
-#ifndef EACCES
-#define EACCES 9973
-#endif
-
-#ifndef EROFS
-#define EROFS 9974
-#endif
-
-#ifndef EDEADLK
-#define EDEADLK 9975
-#endif
-
-#ifndef EAGAIN
-#define EAGAIN 9976
-#endif
-
-#ifndef ENFILE
-#define ENFILE 9977
-#endif
-
-#ifndef EMFILE
-#define EMFILE 9978
-#endif
-
-#ifndef EMLINK
-#define EMLINK 9979
-#endif
-
-#endif // __cplusplus
-
-#endif  // _LIBCPP_ERRNO_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/execution b/r23/sources/cxx-stl/llvm-libc++/include/execution
deleted file mode 100644
index e25cb82..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/execution
+++ /dev/null
@@ -1,19 +0,0 @@
-// -*- C++ -*-
-//===------------------------- execution ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXECUTION
-#define _LIBCPP_EXECUTION
-
-#include <__config>
-
-#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17
-#   include <__pstl_execution>
-#endif
-
-#endif // _LIBCPP_EXECUTION
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/__config b/r23/sources/cxx-stl/llvm-libc++/include/experimental/__config
deleted file mode 100644
index 375dc37..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/__config
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- __config ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_CONFIG
-#define _LIBCPP_EXPERIMENTAL_CONFIG
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL namespace std { namespace experimental {
-#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL  } }
-#define _VSTD_EXPERIMENTAL std::experimental
-
-#define _LIBCPP_BEGIN_NAMESPACE_LFTS _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace fundamentals_v1 {
-#define _LIBCPP_END_NAMESPACE_LFTS  } } }
-#define _VSTD_LFTS _VSTD_EXPERIMENTAL::fundamentals_v1
-
-#define _LIBCPP_BEGIN_NAMESPACE_LFTS_V2 _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace fundamentals_v2 {
-#define _LIBCPP_END_NAMESPACE_LFTS_V2  } } }
-#define _VSTD_LFTS_V2 _VSTD_EXPERIMENTAL::fundamentals_v2
-
-#define _LIBCPP_BEGIN_NAMESPACE_LFTS_PMR _LIBCPP_BEGIN_NAMESPACE_LFTS namespace pmr {
-#define _LIBCPP_END_NAMESPACE_LFTS_PMR _LIBCPP_END_NAMESPACE_LFTS }
-#define _VSTD_LFTS_PMR _VSTD_LFTS::pmr
-
-#define _LIBCPP_BEGIN_NAMESPACE_CHRONO_LFTS _LIBCPP_BEGIN_NAMESPACE_STD        \
-  namespace chrono { namespace experimental { inline namespace fundamentals_v1 {
-#define _LIBCPP_END_NAMESPACE_CHRONO_LFTS _LIBCPP_END_NAMESPACE_STD } } }
-
-#if defined(_LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM)
-#   define _LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM /* nothing */
-#else
-#   define _LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM __attribute__((deprecated("std::experimental::filesystem has now been deprecated in favor of C++17's std::filesystem. Please stop using it and start using std::filesystem. This experimental version will be removed in LLVM 11. You can remove this warning by defining the _LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM macro.")))
-#endif
-
-#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_FILESYSTEM \
-    _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL namespace filesystem _LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM { \
-    inline namespace v1 {
-
-#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_FILESYSTEM \
-    } } _LIBCPP_END_NAMESPACE_EXPERIMENTAL
-
-#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_COROUTINES \
-  _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace coroutines_v1 {
-
-#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_COROUTINES \
-  } _LIBCPP_END_NAMESPACE_EXPERIMENTAL
-
-#define _VSTD_CORO _VSTD_EXPERIMENTAL::coroutines_v1
-
-#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD \
-    _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace parallelism_v2 {
-
-#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD \
-    } _LIBCPP_END_NAMESPACE_EXPERIMENTAL
-
-#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD_ABI \
-    _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD namespace simd_abi {
-
-#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD_ABI \
-    } _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD
-
-// TODO: support more targets
-#if defined(__AVX__)
-#define _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES 32
-#else
-#define _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES 16
-#endif
-
-#endif
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/__memory b/r23/sources/cxx-stl/llvm-libc++/include/experimental/__memory
deleted file mode 100644
index 4cf8978..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/__memory
+++ /dev/null
@@ -1,89 +0,0 @@
-// -*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL___MEMORY
-#define _LIBCPP_EXPERIMENTAL___MEMORY
-
-#include <experimental/__config>
-#include <experimental/utility> // for erased_type
-#include <__functional_base>
-#include <type_traits>
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS
-
-template <
-    class _Tp, class _Alloc
-  , bool = uses_allocator<_Tp, _Alloc>::value
-  , bool = __has_allocator_type<_Tp>::value
-  >
-struct __lfts_uses_allocator : public false_type {};
-
-template <class _Tp, class _Alloc>
-struct __lfts_uses_allocator<_Tp, _Alloc, false, false> : public false_type {};
-
-template <class _Tp, class _Alloc, bool HasAlloc>
-struct __lfts_uses_allocator<_Tp, _Alloc, true, HasAlloc> : public true_type {};
-
-template <class _Tp, class _Alloc>
-struct __lfts_uses_allocator<_Tp, _Alloc, false, true>
-  : public integral_constant<bool
-    , is_convertible<_Alloc, typename _Tp::allocator_type>::value
-      || is_same<erased_type, typename _Tp::allocator_type>::value
-    >
-{};
-
-template <bool _UsesAlloc, class _Tp, class _Alloc, class ..._Args>
-struct __lfts_uses_alloc_ctor_imp
-{
-    static const int value = 0;
-};
-
-template <class _Tp, class _Alloc, class ..._Args>
-struct __lfts_uses_alloc_ctor_imp<true, _Tp, _Alloc, _Args...>
-{
-    static const bool __ic_first
-        = is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value;
-
-    static const bool __ic_second =
-        conditional<
-            __ic_first,
-            false_type,
-            is_constructible<_Tp, _Args..., _Alloc>
-        >::type::value;
-
-    static_assert(__ic_first || __ic_second,
-                  "Request for uses allocator construction is ill-formed");
-
-    static const int value = __ic_first ? 1 : 2;
-};
-
-template <class _Tp, class _Alloc, class ..._Args>
-struct __lfts_uses_alloc_ctor
-  : integral_constant<int,
-        __lfts_uses_alloc_ctor_imp<
-            __lfts_uses_allocator<_Tp, _Alloc>::value
-          , _Tp, _Alloc, _Args...
-        >::value
-    >
-{};
-
-template <class _Tp, class _Alloc, class ..._Args>
-inline _LIBCPP_INLINE_VISIBILITY
-void __lfts_user_alloc_construct(
-    _Tp * __store, const _Alloc & __a, _Args &&... __args)
-{
-    _VSTD::__user_alloc_construct_impl(
-        typename __lfts_uses_alloc_ctor<_Tp, _Alloc, _Args...>::type()
-       , __store, __a, _VSTD::forward<_Args>(__args)...
-       );
-}
-
-_LIBCPP_END_NAMESPACE_LFTS
-
-#endif /* _LIBCPP_EXPERIMENTAL___MEMORY */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/algorithm b/r23/sources/cxx-stl/llvm-libc++/include/experimental/algorithm
deleted file mode 100644
index 79fd7b1..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/algorithm
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- algorithm ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_ALGORITHM
-#define _LIBCPP_EXPERIMENTAL_ALGORITHM
-
-/*
-   experimental/algorithm synopsis
-
-#include <algorithm>
-
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-
-template <class ForwardIterator, class Searcher>
-ForwardIterator search(ForwardIterator first, ForwardIterator last,
-                       const Searcher &searcher);
-
-// sample removed because it's now part of C++17
-
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
-*/
-
-#include <experimental/__config>
-#include <algorithm>
-#include <type_traits>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS
-
-template <class _ForwardIterator, class _Searcher>
-_LIBCPP_INLINE_VISIBILITY
-_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s)
-{ return __s(__f, __l).first; }
-
-_LIBCPP_END_NAMESPACE_LFTS
-
-_LIBCPP_POP_MACROS
-
-#endif /* _LIBCPP_EXPERIMENTAL_ALGORITHM */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/deque b/r23/sources/cxx-stl/llvm-libc++/include/experimental/deque
deleted file mode 100644
index 73c2787..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/deque
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- deque ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_DEQUE
-#define _LIBCPP_EXPERIMENTAL_DEQUE
-/*
-    experimental/deque synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class T>
-  using deque = std::deque<T,polymorphic_allocator<T>>;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <deque>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _ValueT>
-using deque = _VSTD::deque<_ValueT, polymorphic_allocator<_ValueT>>;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_DEQUE */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/filesystem b/r23/sources/cxx-stl/llvm-libc++/include/experimental/filesystem
deleted file mode 100644
index d2e6237..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/filesystem
+++ /dev/null
@@ -1,256 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- filesystem -------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_FILESYSTEM
-#define _LIBCPP_EXPERIMENTAL_FILESYSTEM
-/*
-    filesystem synopsis
-
-    namespace std { namespace experimental { namespace filesystem { inline namespace v1 {
-
-    class path;
-
-    void swap(path& lhs, path& rhs) noexcept;
-    size_t hash_value(const path& p) noexcept;
-
-    bool operator==(const path& lhs, const path& rhs) noexcept;
-    bool operator!=(const path& lhs, const path& rhs) noexcept;
-    bool operator< (const path& lhs, const path& rhs) noexcept;
-    bool operator<=(const path& lhs, const path& rhs) noexcept;
-    bool operator> (const path& lhs, const path& rhs) noexcept;
-    bool operator>=(const path& lhs, const path& rhs) noexcept;
-
-    path operator/ (const path& lhs, const path& rhs);
-
-    // fs.path.io operators are friends of path.
-    template <class charT, class traits>
-    friend basic_ostream<charT, traits>&
-    operator<<(basic_ostream<charT, traits>& os, const path& p);
-
-    template <class charT, class traits>
-    friend basic_istream<charT, traits>&
-    operator>>(basic_istream<charT, traits>& is, path& p);
-
-    template <class Source>
-      path u8path(const Source& source);
-    template <class InputIterator>
-      path u8path(InputIterator first, InputIterator last);
-
-    class filesystem_error;
-    class directory_entry;
-
-    class directory_iterator;
-
-    // enable directory_iterator range-based for statements
-    directory_iterator begin(directory_iterator iter) noexcept;
-    directory_iterator end(const directory_iterator&) noexcept;
-
-    class recursive_directory_iterator;
-
-    // enable recursive_directory_iterator range-based for statements
-    recursive_directory_iterator begin(recursive_directory_iterator iter) noexcept;
-    recursive_directory_iterator end(const recursive_directory_iterator&) noexcept;
-
-    class file_status;
-
-    struct space_info
-    {
-      uintmax_t capacity;
-      uintmax_t free;
-      uintmax_t available;
-    };
-
-    enum class file_type;
-    enum class perms;
-    enum class perm_options;
-    enum class copy_options;
-    enum class directory_options;
-
-    typedef chrono::time_point<trivial-clock>  file_time_type;
-
-    // operational functions
-
-    path absolute(const path& p);
-    path absolute(const path& p, error_code &ec);
-
-    path canonical(const path& p);
-    path canonical(const path& p, error_code& ec);
-
-    void copy(const path& from, const path& to);
-    void copy(const path& from, const path& to, error_code& ec);
-    void copy(const path& from, const path& to, copy_options options);
-    void copy(const path& from, const path& to, copy_options options,
-                   error_code& ec);
-
-    bool copy_file(const path& from, const path& to);
-    bool copy_file(const path& from, const path& to, error_code& ec);
-    bool copy_file(const path& from, const path& to, copy_options option);
-    bool copy_file(const path& from, const path& to, copy_options option,
-                           error_code& ec);
-
-    void copy_symlink(const path& existing_symlink, const path& new_symlink);
-    void copy_symlink(const path& existing_symlink, const path& new_symlink,
-                              error_code& ec) noexcept;
-
-    bool create_directories(const path& p);
-    bool create_directories(const path& p, error_code& ec);
-
-    bool create_directory(const path& p);
-    bool create_directory(const path& p, error_code& ec) noexcept;
-
-    bool create_directory(const path& p, const path& attributes);
-    bool create_directory(const path& p, const path& attributes,
-                                  error_code& ec) noexcept;
-
-    void create_directory_symlink(const path& to, const path& new_symlink);
-    void create_directory_symlink(const path& to, const path& new_symlink,
-                                          error_code& ec) noexcept;
-
-    void create_hard_link(const path& to, const path& new_hard_link);
-    void create_hard_link(const path& to, const path& new_hard_link,
-                                  error_code& ec) noexcept;
-
-    void create_symlink(const path& to, const path& new_symlink);
-    void create_symlink(const path& to, const path& new_symlink,
-                                error_code& ec) noexcept;
-
-    path current_path();
-    path current_path(error_code& ec);
-    void current_path(const path& p);
-    void current_path(const path& p, error_code& ec) noexcept;
-
-    bool exists(file_status s) noexcept;
-    bool exists(const path& p);
-    bool exists(const path& p, error_code& ec) noexcept;
-
-    bool equivalent(const path& p1, const path& p2);
-    bool equivalent(const path& p1, const path& p2, error_code& ec) noexcept;
-
-    uintmax_t    file_size(const path& p);
-    uintmax_t    file_size(const path& p, error_code& ec) noexcept;
-
-    uintmax_t    hard_link_count(const path& p);
-    uintmax_t    hard_link_count(const path& p, error_code& ec) noexcept;
-
-    bool is_block_file(file_status s) noexcept;
-    bool is_block_file(const path& p);
-    bool is_block_file(const path& p, error_code& ec) noexcept;
-
-    bool is_character_file(file_status s) noexcept;
-    bool is_character_file(const path& p);
-    bool is_character_file(const path& p, error_code& ec) noexcept;
-
-    bool is_directory(file_status s) noexcept;
-    bool is_directory(const path& p);
-    bool is_directory(const path& p, error_code& ec) noexcept;
-
-    bool is_empty(const path& p);
-    bool is_empty(const path& p, error_code& ec) noexcept;
-
-    bool is_fifo(file_status s) noexcept;
-    bool is_fifo(const path& p);
-    bool is_fifo(const path& p, error_code& ec) noexcept;
-
-    bool is_other(file_status s) noexcept;
-    bool is_other(const path& p);
-    bool is_other(const path& p, error_code& ec) noexcept;
-
-    bool is_regular_file(file_status s) noexcept;
-    bool is_regular_file(const path& p);
-    bool is_regular_file(const path& p, error_code& ec) noexcept;
-
-    bool is_socket(file_status s) noexcept;
-    bool is_socket(const path& p);
-    bool is_socket(const path& p, error_code& ec) noexcept;
-
-    bool is_symlink(file_status s) noexcept;
-    bool is_symlink(const path& p);
-    bool is_symlink(const path& p, error_code& ec) noexcept;
-
-    file_time_type  last_write_time(const path& p);
-    file_time_type  last_write_time(const path& p, error_code& ec) noexcept;
-    void last_write_time(const path& p, file_time_type new_time);
-    void last_write_time(const path& p, file_time_type new_time,
-                                 error_code& ec) noexcept;
-
-    void permissions(const path& p, perms prms,
-                     perm_options opts=perm_options::replace);
-    void permissions(const path& p, perms prms, error_code& ec) noexcept;
-    void permissions(const path& p, perms prms, perm_options opts,
-                     error_code& ec);
-
-    path proximate(const path& p, error_code& ec);
-    path proximate(const path& p, const path& base = current_path());
-    path proximate(const path& p, const path& base, error_code &ec);
-
-    path read_symlink(const path& p);
-    path read_symlink(const path& p, error_code& ec);
-
-    path relative(const path& p, error_code& ec);
-    path relative(const path& p, const path& base=current_path());
-    path relative(const path& p, const path& base, error_code& ec);
-
-    bool remove(const path& p);
-    bool remove(const path& p, error_code& ec) noexcept;
-
-    uintmax_t    remove_all(const path& p);
-    uintmax_t    remove_all(const path& p, error_code& ec);
-
-    void rename(const path& from, const path& to);
-    void rename(const path& from, const path& to, error_code& ec) noexcept;
-
-    void resize_file(const path& p, uintmax_t size);
-    void resize_file(const path& p, uintmax_t size, error_code& ec) noexcept;
-
-    space_info   space(const path& p);
-    space_info   space(const path& p, error_code& ec) noexcept;
-
-    file_status  status(const path& p);
-    file_status  status(const path& p, error_code& ec) noexcept;
-
-    bool status_known(file_status s) noexcept;
-
-    file_status  symlink_status(const path& p);
-    file_status  symlink_status(const path& p, error_code& ec) noexcept;
-
-    path temp_directory_path();
-    path temp_directory_path(error_code& ec);
-
-    path weakly_canonical(path const& p);
-    path weakly_canonical(path const& p, error_code& ec);
-
-
-} } } }  // namespaces std::experimental::filesystem::v1
-
-*/
-
-#include <experimental/__config>
-#include <filesystem>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-#ifndef _LIBCPP_CXX03_LANG
-
-#define __cpp_lib_experimental_filesystem 201406
-
-_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_FILESYSTEM
-
-using namespace _VSTD_FS;
-
-_LIBCPP_END_NAMESPACE_EXPERIMENTAL_FILESYSTEM
-
-#endif // !_LIBCPP_CXX03_LANG
-
-_LIBCPP_POP_MACROS
-
-#endif // _LIBCPP_EXPERIMENTAL_FILESYSTEM
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/forward_list b/r23/sources/cxx-stl/llvm-libc++/include/experimental/forward_list
deleted file mode 100644
index 93f6deb..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/forward_list
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- forward_list -----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_FORWARD_LIST
-#define _LIBCPP_EXPERIMENTAL_FORWARD_LIST
-/*
-    experimental/forward_list synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class T>
-  using forward_list = std::forward_list<T,polymorphic_allocator<T>>;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <forward_list>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _ValueT>
-using forward_list = _VSTD::forward_list<_ValueT, polymorphic_allocator<_ValueT>>;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_FORWARD_LIST */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/list b/r23/sources/cxx-stl/llvm-libc++/include/experimental/list
deleted file mode 100644
index adc64a8..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/list
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- list ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_LIST
-#define _LIBCPP_EXPERIMENTAL_LIST
-/*
-    experimental/list synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class T>
-  using list = std::list<T,polymorphic_allocator<T>>;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <list>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _ValueT>
-using list = _VSTD::list<_ValueT, polymorphic_allocator<_ValueT>>;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_LIST */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/map b/r23/sources/cxx-stl/llvm-libc++/include/experimental/map
deleted file mode 100644
index 965d758..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/map
+++ /dev/null
@@ -1,56 +0,0 @@
-// -*- C++ -*-
-//===----------------------------- map ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_MAP
-#define _LIBCPP_EXPERIMENTAL_MAP
-/*
-    experimental/map synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class Key, class T, class Compare = less<Key>>
-  using map = std::map<Key, T, Compare,
-                       polymorphic_allocator<pair<const Key,T>>>;
-
-  template <class Key, class T, class Compare = less<Key>>
-  using multimap = std::multimap<Key, T, Compare,
-                                 polymorphic_allocator<pair<const Key,T>>>;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <map>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _Key, class _Value, class  _Compare = less<_Key>>
-using map = _VSTD::map<_Key, _Value, _Compare,
-                        polymorphic_allocator<pair<const _Key, _Value>>>;
-
-template <class _Key, class _Value, class  _Compare = less<_Key>>
-using multimap = _VSTD::multimap<_Key, _Value, _Compare,
-                        polymorphic_allocator<pair<const _Key, _Value>>>;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_MAP */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/memory_resource b/r23/sources/cxx-stl/llvm-libc++/include/experimental/memory_resource
deleted file mode 100644
index f999fb9..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/memory_resource
+++ /dev/null
@@ -1,426 +0,0 @@
-// -*- C++ -*-
-//===------------------------ memory_resource -----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_MEMORY_RESOURCE
-#define _LIBCPP_EXPERIMENTAL_MEMORY_RESOURCE
-
-/**
-    experimental/memory_resource synopsis
-
-// C++1y
-
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  class memory_resource;
-
-  bool operator==(const memory_resource& a,
-                  const memory_resource& b) noexcept;
-  bool operator!=(const memory_resource& a,
-                  const memory_resource& b) noexcept;
-
-  template <class Tp> class polymorphic_allocator;
-
-  template <class T1, class T2>
-  bool operator==(const polymorphic_allocator<T1>& a,
-                  const polymorphic_allocator<T2>& b) noexcept;
-  template <class T1, class T2>
-  bool operator!=(const polymorphic_allocator<T1>& a,
-                  const polymorphic_allocator<T2>& b) noexcept;
-
-  // The name resource_adaptor_imp is for exposition only.
-  template <class Allocator> class resource_adaptor_imp;
-
-  template <class Allocator>
-    using resource_adaptor = resource_adaptor_imp<
-      allocator_traits<Allocator>::rebind_alloc<char>>;
-
-  // Global memory resources
-  memory_resource* new_delete_resource() noexcept;
-  memory_resource* null_memory_resource() noexcept;
-
-  // The default memory resource
-  memory_resource* set_default_resource(memory_resource* r) noexcept;
-  memory_resource* get_default_resource() noexcept;
-
-  // Standard memory resources
-  struct pool_options;
-  class synchronized_pool_resource;
-  class unsynchronized_pool_resource;
-  class monotonic_buffer_resource;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <experimental/__memory>
-#include <limits>
-#include <memory>
-#include <new>
-#include <stdexcept>
-#include <__tuple>
-#include <type_traits>
-#include <utility>
-#include <cstddef>
-#include <cstdlib>
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-// Round __s up to next multiple of __a.
-inline _LIBCPP_INLINE_VISIBILITY
-size_t __aligned_allocation_size(size_t __s, size_t __a) _NOEXCEPT
-{
-    _LIBCPP_ASSERT(__s + __a > __s, "aligned allocation size overflows");
-    return (__s + __a - 1) & ~(__a - 1);
-}
-
-// 8.5, memory.resource
-class _LIBCPP_TYPE_VIS memory_resource
-{
-    static const size_t __max_align = _LIBCPP_ALIGNOF(max_align_t);
-
-// 8.5.2, memory.resource.public
-public:
-    virtual ~memory_resource() = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    void* allocate(size_t __bytes, size_t __align = __max_align)
-        { return do_allocate(__bytes, __align); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void deallocate(void * __p, size_t __bytes, size_t __align = __max_align)
-        { do_deallocate(__p, __bytes, __align); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool is_equal(memory_resource const & __other) const _NOEXCEPT
-        { return do_is_equal(__other); }
-
-// 8.5.3, memory.resource.priv
-protected:
-    virtual void* do_allocate(size_t, size_t) = 0;
-    virtual void do_deallocate(void*, size_t, size_t) = 0;
-    virtual bool do_is_equal(memory_resource const &) const _NOEXCEPT = 0;
-};
-
-// 8.5.4, memory.resource.eq
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator==(memory_resource const & __lhs,
-                memory_resource const & __rhs) _NOEXCEPT
-{
-    return &__lhs == &__rhs || __lhs.is_equal(__rhs);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator!=(memory_resource const & __lhs,
-                memory_resource const & __rhs) _NOEXCEPT
-{
-    return !(__lhs == __rhs);
-}
-
-_LIBCPP_FUNC_VIS
-memory_resource * new_delete_resource() _NOEXCEPT;
-
-_LIBCPP_FUNC_VIS
-memory_resource * null_memory_resource() _NOEXCEPT;
-
-_LIBCPP_FUNC_VIS
-memory_resource * get_default_resource() _NOEXCEPT;
-
-_LIBCPP_FUNC_VIS
-memory_resource * set_default_resource(memory_resource * __new_res) _NOEXCEPT;
-
-// 8.6, memory.polymorphic.allocator.class
-
-// 8.6.1, memory.polymorphic.allocator.overview
-template <class _ValueType>
-class _LIBCPP_TEMPLATE_VIS polymorphic_allocator
-{
-public:
-    typedef _ValueType value_type;
-
-    // 8.6.2, memory.polymorphic.allocator.ctor
-    _LIBCPP_INLINE_VISIBILITY
-    polymorphic_allocator() _NOEXCEPT
-      : __res_(_VSTD_LFTS_PMR::get_default_resource())
-    {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    polymorphic_allocator(memory_resource * __r) _NOEXCEPT
-      : __res_(__r)
-    {}
-
-    polymorphic_allocator(polymorphic_allocator const &) = default;
-
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY
-    polymorphic_allocator(polymorphic_allocator<_Tp> const & __other) _NOEXCEPT
-      : __res_(__other.resource())
-    {}
-
-    polymorphic_allocator &
-    operator=(polymorphic_allocator const &) = delete;
-
-    // 8.6.3, memory.polymorphic.allocator.mem
-    _LIBCPP_INLINE_VISIBILITY
-    _ValueType* allocate(size_t __n) {
-        if (__n > __max_size()) {
-            __throw_length_error(
-                "std::experimental::pmr::polymorphic_allocator<T>::allocate(size_t n)"
-                " 'n' exceeds maximum supported size");
-        }
-        return static_cast<_ValueType*>(
-            __res_->allocate(__n * sizeof(_ValueType), _LIBCPP_ALIGNOF(_ValueType))
-        );
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void deallocate(_ValueType * __p, size_t __n) _NOEXCEPT {
-        _LIBCPP_ASSERT(__n <= __max_size(),
-                       "deallocate called for size which exceeds max_size()");
-        __res_->deallocate(__p, __n * sizeof(_ValueType), _LIBCPP_ALIGNOF(_ValueType));
-    }
-
-    template <class _Tp, class ..._Ts>
-    _LIBCPP_INLINE_VISIBILITY
-    void construct(_Tp* __p, _Ts &&... __args)
-    {
-        _VSTD_LFTS::__lfts_user_alloc_construct(
-            __p, *this, _VSTD::forward<_Ts>(__args)...
-          );
-    }
-
-    template <class _T1, class _T2, class ..._Args1, class ..._Args2>
-    _LIBCPP_INLINE_VISIBILITY
-    void construct(pair<_T1, _T2>* __p, piecewise_construct_t,
-                   tuple<_Args1...> __x, tuple<_Args2...> __y)
-    {
-        ::new ((void*)__p) pair<_T1, _T2>(piecewise_construct
-          , __transform_tuple(
-              typename __lfts_uses_alloc_ctor<
-                  _T1, polymorphic_allocator&, _Args1...
-              >::type()
-            , _VSTD::move(__x)
-            , typename __make_tuple_indices<sizeof...(_Args1)>::type{}
-          )
-          , __transform_tuple(
-              typename __lfts_uses_alloc_ctor<
-                  _T2, polymorphic_allocator&, _Args2...
-              >::type()
-            , _VSTD::move(__y)
-            , typename __make_tuple_indices<sizeof...(_Args2)>::type{}
-          )
-        );
-    }
-
-    template <class _T1, class _T2>
-    _LIBCPP_INLINE_VISIBILITY
-    void construct(pair<_T1, _T2>* __p) {
-        construct(__p, piecewise_construct, tuple<>(), tuple<>());
-    }
-
-    template <class _T1, class _T2, class _Up, class _Vp>
-    _LIBCPP_INLINE_VISIBILITY
-    void construct(pair<_T1, _T2> * __p, _Up && __u, _Vp && __v) {
-        construct(__p, piecewise_construct
-          , _VSTD::forward_as_tuple(_VSTD::forward<_Up>(__u))
-          , _VSTD::forward_as_tuple(_VSTD::forward<_Vp>(__v)));
-    }
-
-    template <class _T1, class _T2, class _U1, class _U2>
-    _LIBCPP_INLINE_VISIBILITY
-    void construct(pair<_T1, _T2> * __p, pair<_U1, _U2> const & __pr) {
-        construct(__p, piecewise_construct
-            , _VSTD::forward_as_tuple(__pr.first)
-            , _VSTD::forward_as_tuple(__pr.second));
-    }
-
-    template <class _T1, class _T2, class _U1, class _U2>
-    _LIBCPP_INLINE_VISIBILITY
-    void construct(pair<_T1, _T2> * __p, pair<_U1, _U2> && __pr){
-        construct(__p, piecewise_construct
-            , _VSTD::forward_as_tuple(_VSTD::forward<_U1>(__pr.first))
-            , _VSTD::forward_as_tuple(_VSTD::forward<_U2>(__pr.second)));
-    }
-
-    template <class _Tp>
-    _LIBCPP_INLINE_VISIBILITY
-    void destroy(_Tp * __p) _NOEXCEPT
-        { __p->~_Tp(); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    polymorphic_allocator
-    select_on_container_copy_construction() const _NOEXCEPT
-        { return polymorphic_allocator(); }
-
-    _LIBCPP_INLINE_VISIBILITY
-    memory_resource * resource() const _NOEXCEPT
-        { return __res_; }
-
-private:
-    template <class ..._Args, size_t ..._Idx>
-    _LIBCPP_INLINE_VISIBILITY
-    tuple<_Args&&...>
-    __transform_tuple(integral_constant<int, 0>, tuple<_Args...>&& __t,
-                      __tuple_indices<_Idx...>) const
-    {
-        return _VSTD::forward_as_tuple(_VSTD::get<_Idx>(_VSTD::move(__t))...);
-    }
-
-    template <class ..._Args, size_t ..._Idx>
-    _LIBCPP_INLINE_VISIBILITY
-    tuple<allocator_arg_t const&, polymorphic_allocator&, _Args&&...>
-    __transform_tuple(integral_constant<int, 1>, tuple<_Args...> && __t,
-                      __tuple_indices<_Idx...>)
-    {
-        using _Tup = tuple<allocator_arg_t const&, polymorphic_allocator&, _Args&&...>;
-        return _Tup(allocator_arg, *this,
-                    _VSTD::get<_Idx>(_VSTD::move(__t))...);
-    }
-
-    template <class ..._Args, size_t ..._Idx>
-    _LIBCPP_INLINE_VISIBILITY
-    tuple<_Args&&..., polymorphic_allocator&>
-    __transform_tuple(integral_constant<int, 2>, tuple<_Args...> && __t,
-                      __tuple_indices<_Idx...>)
-    {
-        using _Tup = tuple<_Args&&..., polymorphic_allocator&>;
-        return _Tup(_VSTD::get<_Idx>(_VSTD::move(__t))..., *this);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t __max_size() const _NOEXCEPT
-        { return numeric_limits<size_t>::max() / sizeof(value_type); }
-
-    memory_resource * __res_;
-};
-
-// 8.6.4, memory.polymorphic.allocator.eq
-
-template <class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator==(polymorphic_allocator<_Tp> const & __lhs,
-                polymorphic_allocator<_Up> const & __rhs) _NOEXCEPT
-{
-    return *__lhs.resource() == *__rhs.resource();
-}
-
-template <class _Tp, class _Up>
-inline _LIBCPP_INLINE_VISIBILITY
-bool operator!=(polymorphic_allocator<_Tp> const & __lhs,
-                polymorphic_allocator<_Up> const & __rhs) _NOEXCEPT
-{
-    return !(__lhs == __rhs);
-}
-
-// 8.7, memory.resource.adaptor
-
-// 8.7.1, memory.resource.adaptor.overview
-template <class _CharAlloc>
-class _LIBCPP_TEMPLATE_VIS __resource_adaptor_imp
-  : public memory_resource
-{
-    using _CTraits = allocator_traits<_CharAlloc>;
-    static_assert(is_same<typename _CTraits::value_type, char>::value
-               && is_same<typename _CTraits::pointer, char*>::value
-               && is_same<typename _CTraits::void_pointer, void*>::value, "");
-
-    static const size_t _MaxAlign = _LIBCPP_ALIGNOF(max_align_t);
-
-    using _Alloc = typename _CTraits::template rebind_alloc<
-            typename aligned_storage<_MaxAlign, _MaxAlign>::type
-        >;
-
-    using _ValueType = typename _Alloc::value_type;
-
-    _Alloc __alloc_;
-
-public:
-    typedef _CharAlloc allocator_type;
-
-    __resource_adaptor_imp() = default;
-    __resource_adaptor_imp(__resource_adaptor_imp const &) = default;
-    __resource_adaptor_imp(__resource_adaptor_imp &&) = default;
-
-    // 8.7.2, memory.resource.adaptor.ctor
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __resource_adaptor_imp(allocator_type const & __a)
-      : __alloc_(__a)
-    {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __resource_adaptor_imp(allocator_type && __a)
-      : __alloc_(_VSTD::move(__a))
-    {}
-
-    __resource_adaptor_imp &
-    operator=(__resource_adaptor_imp const &) = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const
-    { return __alloc_; }
-
-// 8.7.3, memory.resource.adaptor.mem
-protected:
-    virtual void * do_allocate(size_t __bytes, size_t)
-    {
-        if (__bytes > __max_size()) {
-            __throw_length_error(
-                "std::experimental::pmr::resource_adaptor<T>::do_allocate(size_t bytes, size_t align)"
-                " 'bytes' exceeds maximum supported size");
-        }
-        size_t __s = __aligned_allocation_size(__bytes, _MaxAlign) / _MaxAlign;
-        return __alloc_.allocate(__s);
-    }
-
-    virtual void do_deallocate(void * __p, size_t __bytes, size_t)
-    {
-        _LIBCPP_ASSERT(__bytes <= __max_size(),
-            "do_deallocate called for size which exceeds the maximum allocation size");
-        size_t __s = __aligned_allocation_size(__bytes, _MaxAlign) / _MaxAlign;
-        __alloc_.deallocate((_ValueType*)__p, __s);
-    }
-
-    virtual bool do_is_equal(memory_resource const & __other) const _NOEXCEPT {
-        __resource_adaptor_imp const * __p
-          = dynamic_cast<__resource_adaptor_imp const *>(&__other);
-        return __p  ? __alloc_ == __p->__alloc_ : false;
-    }
-
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    size_t __max_size() const _NOEXCEPT {
-        return numeric_limits<size_t>::max() - _MaxAlign;
-    }
-};
-
-template <class _Alloc>
-using resource_adaptor = __resource_adaptor_imp<
-    typename allocator_traits<_Alloc>::template rebind_alloc<char>
-  >;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-_LIBCPP_POP_MACROS
-
-#endif /* _LIBCPP_EXPERIMENTAL_MEMORY_RESOURCE */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/regex b/r23/sources/cxx-stl/llvm-libc++/include/experimental/regex
deleted file mode 100644
index 17193cf..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/regex
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//===----------------------------- regex ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_REGEX
-#define _LIBCPP_EXPERIMENTAL_REGEX
-/*
-    experimental/regex synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class BidirectionalIterator>
-  using match_results =
-    std::match_results<BidirectionalIterator,
-                       polymorphic_allocator<sub_match<BidirectionalIterator>>>;
-
-  typedef match_results<const char*> cmatch;
-  typedef match_results<const wchar_t*> wcmatch;
-  typedef match_results<string::const_iterator> smatch;
-  typedef match_results<wstring::const_iterator> wsmatch;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <regex>
-#include <experimental/string>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _BiDirIter>
-using match_results =
-    _VSTD::match_results<_BiDirIter,
-        polymorphic_allocator<_VSTD::sub_match<_BiDirIter>>>;
-
-typedef match_results<const char*> cmatch;
-typedef match_results<const wchar_t*> wcmatch;
-typedef match_results<_VSTD_LFTS_PMR::string::const_iterator> smatch;
-typedef match_results<_VSTD_LFTS_PMR::wstring::const_iterator> wsmatch;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_REGEX */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/set b/r23/sources/cxx-stl/llvm-libc++/include/experimental/set
deleted file mode 100644
index 52f4df3..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/set
+++ /dev/null
@@ -1,56 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- list ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_SET
-#define _LIBCPP_EXPERIMENTAL_SET
-/*
-    experimental/set synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class Key, class T, class Compare = less<Key>>
-  using set = std::set<Key, T, Compare,
-                       polymorphic_allocator<pair<const Key,T>>>;
-
-  template <class Key, class T, class Compare = less<Key>>
-  using multiset = std::multiset<Key, T, Compare,
-                                 polymorphic_allocator<pair<const Key,T>>>;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <set>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _Value, class  _Compare = less<_Value>>
-using set = _VSTD::set<_Value, _Compare,
-                        polymorphic_allocator<_Value>>;
-
-template <class _Value, class  _Compare = less<_Value>>
-using multiset = _VSTD::multiset<_Value, _Compare,
-                        polymorphic_allocator<_Value>>;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_SET */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/simd b/r23/sources/cxx-stl/llvm-libc++/include/experimental/simd
deleted file mode 100644
index 39ac35e..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/simd
+++ /dev/null
@@ -1,1569 +0,0 @@
-// -*- C++ -*-
-//===------------------------------- simd ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_SIMD
-#define _LIBCPP_EXPERIMENTAL_SIMD
-
-/*
-    experimental/simd synopsis
-
-namespace std::experimental {
-
-inline namespace parallelism_v2 {
-
-namespace simd_abi {
-
-struct scalar {};
-template <int N> struct fixed_size {};
-template <typename T> inline constexpr int max_fixed_size = implementation-defined;
-template <typename T> using compatible = implementation-defined;
-template <typename T> using native = implementation-defined;
-
-} // simd_abi
-
-struct element_aligned_tag {};
-struct vector_aligned_tag {};
-template <size_t> struct overaligned_tag {};
-inline constexpr element_aligned_tag element_aligned{};
-inline constexpr vector_aligned_tag vector_aligned{};
-template <size_t N> inline constexpr overaligned_tag<N> overaligned{};
-
-// traits [simd.traits]
-template <class T> struct is_abi_tag;
-template <class T> inline constexpr bool is_abi_tag_v = is_abi_tag<T>::value;
-
-template <class T> struct is_simd;
-template <class T> inline constexpr bool is_simd_v = is_simd<T>::value;
-
-template <class T> struct is_simd_mask;
-template <class T> inline constexpr bool is_simd_mask_v = is_simd_mask<T>::value;
-
-template <class T> struct is_simd_flag_type;
-template <class T> inline constexpr bool is_simd_flag_type_v = is_simd_flag_type<T>::value;
-
-template <class T, size_t N> struct abi_for_size { using type = see below; };
-template <class T, size_t N> using abi_for_size_t = typename abi_for_size<T, N>::type;
-
-template <class T, class Abi = simd_abi::compatible<T>> struct simd_size;
-template <class T, class Abi = simd_abi::compatible<T>>
-inline constexpr size_t simd_size_v = simd_size<T, Abi>::value;
-
-template <class T, class U = typename T::value_type> struct memory_alignment;
-template <class T, class U = typename T::value_type>
-inline constexpr size_t memory_alignment_v = memory_alignment<T, U>::value;
-
-// class template simd [simd.class]
-template <class T, class Abi = simd_abi::compatible<T>> class simd;
-template <class T> using native_simd = simd<T, simd_abi::native<T>>;
-template <class T, int N> using fixed_size_simd = simd<T, simd_abi::fixed_size<N>>;
-
-// class template simd_mask [simd.mask.class]
-template <class T, class Abi = simd_abi::compatible<T>> class simd_mask;
-template <class T> using native_simd_mask = simd_mask<T, simd_abi::native<T>>;
-template <class T, int N> using fixed_size_simd_mask = simd_mask<T, simd_abi::fixed_size<N>>;
-
-// casts [simd.casts]
-template <class T, class U, class Abi> see below simd_cast(const simd<U, Abi>&);
-template <class T, class U, class Abi> see below static_simd_cast(const simd<U, Abi>&);
-
-template <class T, class Abi>
-fixed_size_simd<T, simd_size_v<T, Abi>> to_fixed_size(const simd<T, Abi>&) noexcept;
-template <class T, class Abi>
-fixed_size_simd_mask<T, simd_size_v<T, Abi>> to_fixed_size(const simd_mask<T, Abi>&) noexcept;
-template <class T, size_t N> native_simd<T> to_native(const fixed_size_simd<T, N>&) noexcept;
-template <class T, size_t N>
-native_simd_mask<T> to_native(const fixed_size_simd_mask<T, N>> &) noexcept;
-template <class T, size_t N> simd<T> to_compatible(const fixed_size_simd<T, N>&) noexcept;
-template <class T, size_t N> simd_mask<T> to_compatible(const fixed_size_simd_mask<T, N>&) noexcept;
-
-template <size_t... Sizes, class T, class Abi>
-tuple<simd<T, abi_for_size_t<Sizes>>...> split(const simd<T, Abi>&);
-template <size_t... Sizes, class T, class Abi>
-tuple<simd_mask<T, abi_for_size_t<Sizes>>...> split(const simd_mask<T, Abi>&);
-template <class V, class Abi>
-array<V, simd_size_v<typename V::value_type, Abi> / V::size()> split(
-const simd<typename V::value_type, Abi>&);
-template <class V, class Abi>
-array<V, simd_size_v<typename V::value_type, Abi> / V::size()> split(
-const simd_mask<typename V::value_type, Abi>&);
-
-template <class T, class... Abis>
-simd<T, abi_for_size_t<T, (simd_size_v<T, Abis> + ...)>> concat(const simd<T, Abis>&...);
-template <class T, class... Abis>
-simd_mask<T, abi_for_size_t<T, (simd_size_v<T, Abis> + ...)>> concat(const simd_mask<T, Abis>&...);
-
-// reductions [simd.mask.reductions]
-template <class T, class Abi> bool all_of(const simd_mask<T, Abi>&) noexcept;
-template <class T, class Abi> bool any_of(const simd_mask<T, Abi>&) noexcept;
-template <class T, class Abi> bool none_of(const simd_mask<T, Abi>&) noexcept;
-template <class T, class Abi> bool some_of(const simd_mask<T, Abi>&) noexcept;
-template <class T, class Abi> int popcount(const simd_mask<T, Abi>&) noexcept;
-template <class T, class Abi> int find_first_set(const simd_mask<T, Abi>&);
-template <class T, class Abi> int find_last_set(const simd_mask<T, Abi>&);
-
-bool all_of(see below) noexcept;
-bool any_of(see below) noexcept;
-bool none_of(see below) noexcept;
-bool some_of(see below) noexcept;
-int popcount(see below) noexcept;
-int find_first_set(see below) noexcept;
-int find_last_set(see below) noexcept;
-
-// masked assignment [simd.whereexpr]
-template <class M, class T> class const_where_expression;
-template <class M, class T> class where_expression;
-
-// masked assignment [simd.mask.where]
-template <class T> struct nodeduce { using type = T; }; // exposition only
-
-template <class T> using nodeduce_t = typename nodeduce<T>::type; // exposition only
-
-template <class T, class Abi>
-where_expression<simd_mask<T, Abi>, simd<T, Abi>>
-where(const typename simd<T, Abi>::mask_type&, simd<T, Abi>&) noexcept;
-
-template <class T, class Abi>
-const_where_expression<simd_mask<T, Abi>, const simd<T, Abi>>
-where(const typename simd<T, Abi>::mask_type&, const simd<T, Abi>&) noexcept;
-
-template <class T, class Abi>
-where_expression<simd_mask<T, Abi>, simd_mask<T, Abi>>
-where(const nodeduce_t<simd_mask<T, Abi>>&, simd_mask<T, Abi>&) noexcept;
-
-template <class T, class Abi>
-const_where_expression<simd_mask<T, Abi>, const simd_mask<T, Abi>>
-where(const nodeduce_t<simd_mask<T, Abi>>&, const simd_mask<T, Abi>&) noexcept;
-
-template <class T> where_expression<bool, T> where(see below k, T& d) noexcept;
-
-template <class T>
-const_where_expression<bool, const T> where(see below k, const T& d) noexcept;
-
-// reductions [simd.reductions]
-template <class T, class Abi, class BinaryOperation = std::plus<>>
-T reduce(const simd<T, Abi>&, BinaryOperation = BinaryOperation());
-
-template <class M, class V, class BinaryOperation>
-typename V::value_type reduce(const const_where_expression<M, V>& x,
-typename V::value_type neutral_element, BinaryOperation binary_op);
-
-template <class M, class V>
-typename V::value_type reduce(const const_where_expression<M, V>& x, plus<> binary_op = plus<>());
-
-template <class M, class V>
-typename V::value_type reduce(const const_where_expression<M, V>& x, multiplies<> binary_op);
-
-template <class M, class V>
-typename V::value_type reduce(const const_where_expression<M, V>& x, bit_and<> binary_op);
-
-template <class M, class V>
-typename V::value_type reduce(const const_where_expression<M, V>& x, bit_or<> binary_op);
-
-template <class M, class V>
-typename V::value_type reduce(const const_where_expression<M, V>& x, bit_xor<> binary_op);
-
-template <class T, class Abi> T hmin(const simd<T, Abi>&);
-template <class M, class V> T hmin(const const_where_expression<M, V>&);
-template <class T, class Abi> T hmax(const simd<T, Abi>&);
-template <class M, class V> T hmax(const const_where_expression<M, V>&);
-
-// algorithms [simd.alg]
-template <class T, class Abi> simd<T, Abi> min(const simd<T, Abi>&, const simd<T, Abi>&) noexcept;
-
-template <class T, class Abi> simd<T, Abi> max(const simd<T, Abi>&, const simd<T, Abi>&) noexcept;
-
-template <class T, class Abi>
-std::pair<simd<T, Abi>, simd<T, Abi>> minmax(const simd<T, Abi>&, const simd<T, Abi>&) noexcept;
-
-template <class T, class Abi>
-simd<T, Abi> clamp(const simd<T, Abi>& v, const simd<T, Abi>& lo, const simd<T, Abi>& hi);
-
-// [simd.whereexpr]
-template <class M, class T>
-class const_where_expression {
-  const M& mask; // exposition only
-  T& data; // exposition only
-public:
-  const_where_expression(const const_where_expression&) = delete;
-  const_where_expression& operator=(const const_where_expression&) = delete;
-  remove_const_t<T> operator-() const &&;
-  template <class U, class Flags> void copy_to(U* mem, Flags f) const &&;
-};
-
-template <class M, class T>
-class where_expression : public const_where_expression<M, T> {
-public:
-  where_expression(const where_expression&) = delete;
-  where_expression& operator=(const where_expression&) = delete;
-  template <class U> void operator=(U&& x);
-  template <class U> void operator+=(U&& x);
-  template <class U> void operator-=(U&& x);
-  template <class U> void operator*=(U&& x);
-  template <class U> void operator/=(U&& x);
-  template <class U> void operator%=(U&& x);
-  template <class U> void operator&=(U&& x);
-  template <class U> void operator|=(U&& x);
-  template <class U> void operator^=(U&& x);
-  template <class U> void operator<<=(U&& x);
-  template <class U> void operator>>=(U&& x);
-  void operator++();
-  void operator++(int);
-  void operator--();
-  void operator--(int);
-  template <class U, class Flags> void copy_from(const U* mem, Flags);
-};
-
-// [simd.class]
-template <class T, class Abi> class simd {
-public:
-  using value_type = T;
-  using reference = see below;
-  using mask_type = simd_mask<T, Abi>;
-
-  using abi_type = Abi;
-  static constexpr size_t size() noexcept;
-  simd() = default;
-
-  // implicit type conversion constructor
-  template <class U> simd(const simd<U, simd_abi::fixed_size<size()>>&);
-
-  // implicit broadcast constructor (see below for constraints)
-  template <class U> simd(U&& value);
-
-  // generator constructor (see below for constraints)
-  template <class G> explicit simd(G&& gen);
-
-  // load constructor
-  template <class U, class Flags> simd(const U* mem, Flags f);
-
-  // loads [simd.load]
-  template <class U, class Flags> void copy_from(const U* mem, Flags f);
-
-  // stores [simd.store]
-  template <class U, class Flags> void copy_to(U* mem, Flags f) const;
-
-  // scalar access [simd.subscr]
-  reference operator[](size_t);
-  value_type operator[](size_t) const;
-
-  // unary operators [simd.unary]
-  simd& operator++();
-  simd operator++(int);
-  simd& operator--();
-  simd operator--(int);
-  mask_type operator!() const;
-  simd operator~() const; // see below
-  simd operator+() const;
-  simd operator-() const;
-
-  // binary operators [simd.binary]
-  friend simd operator+ (const simd&, const simd&);
-  friend simd operator- (const simd&, const simd&);
-  friend simd operator* (const simd&, const simd&);
-  friend simd operator/ (const simd&, const simd&);
-  friend simd operator% (const simd&, const simd&);
-  friend simd operator& (const simd&, const simd&);
-  friend simd operator| (const simd&, const simd&);
-  friend simd operator^ (const simd&, const simd&);
-  friend simd operator<<(const simd&, const simd&);
-  friend simd operator>>(const simd&, const simd&);
-  friend simd operator<<(const simd&, int);
-  friend simd operator>>(const simd&, int);
-
-  // compound assignment [simd.cassign]
-  friend simd& operator+= (simd&, const simd&);
-  friend simd& operator-= (simd&, const simd&);
-  friend simd& operator*= (simd&, const simd&);
-  friend simd& operator/= (simd&, const simd&);
-  friend simd& operator%= (simd&, const simd&);
-
-  friend simd& operator&= (simd&, const simd&);
-  friend simd& operator|= (simd&, const simd&);
-  friend simd& operator^= (simd&, const simd&);
-  friend simd& operator<<=(simd&, const simd&);
-  friend simd& operator>>=(simd&, const simd&);
-  friend simd& operator<<=(simd&, int);
-  friend simd& operator>>=(simd&, int);
-
-  // compares [simd.comparison]
-  friend mask_type operator==(const simd&, const simd&);
-  friend mask_type operator!=(const simd&, const simd&);
-  friend mask_type operator>=(const simd&, const simd&);
-  friend mask_type operator<=(const simd&, const simd&);
-  friend mask_type operator> (const simd&, const simd&);
-  friend mask_type operator< (const simd&, const simd&);
-};
-
-// [simd.math]
-template <class Abi> using scharv = simd<signed char, Abi>; // exposition only
-template <class Abi> using shortv = simd<short, Abi>; // exposition only
-template <class Abi> using intv = simd<int, Abi>; // exposition only
-template <class Abi> using longv = simd<long int, Abi>; // exposition only
-template <class Abi> using llongv = simd<long long int, Abi>; // exposition only
-template <class Abi> using floatv = simd<float, Abi>; // exposition only
-template <class Abi> using doublev = simd<double, Abi>; // exposition only
-template <class Abi> using ldoublev = simd<long double, Abi>; // exposition only
-template <class T, class V> using samesize = fixed_size_simd<T, V::size()>; // exposition only
-
-template <class Abi> floatv<Abi> acos(floatv<Abi> x);
-template <class Abi> doublev<Abi> acos(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> acos(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> asin(floatv<Abi> x);
-template <class Abi> doublev<Abi> asin(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> asin(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> atan(floatv<Abi> x);
-template <class Abi> doublev<Abi> atan(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> atan(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> atan2(floatv<Abi> y, floatv<Abi> x);
-template <class Abi> doublev<Abi> atan2(doublev<Abi> y, doublev<Abi> x);
-template <class Abi> ldoublev<Abi> atan2(ldoublev<Abi> y, ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> cos(floatv<Abi> x);
-template <class Abi> doublev<Abi> cos(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> cos(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> sin(floatv<Abi> x);
-template <class Abi> doublev<Abi> sin(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> sin(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> tan(floatv<Abi> x);
-template <class Abi> doublev<Abi> tan(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> tan(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> acosh(floatv<Abi> x);
-template <class Abi> doublev<Abi> acosh(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> acosh(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> asinh(floatv<Abi> x);
-template <class Abi> doublev<Abi> asinh(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> asinh(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> atanh(floatv<Abi> x);
-template <class Abi> doublev<Abi> atanh(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> atanh(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> cosh(floatv<Abi> x);
-template <class Abi> doublev<Abi> cosh(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> cosh(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> sinh(floatv<Abi> x);
-template <class Abi> doublev<Abi> sinh(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> sinh(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> tanh(floatv<Abi> x);
-template <class Abi> doublev<Abi> tanh(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> tanh(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> exp(floatv<Abi> x);
-template <class Abi> doublev<Abi> exp(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> exp(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> exp2(floatv<Abi> x);
-template <class Abi> doublev<Abi> exp2(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> exp2(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> expm1(floatv<Abi> x);
-template <class Abi> doublev<Abi> expm1(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> expm1(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> frexp(floatv<Abi> value, samesize<int, floatv<Abi>>* exp);
-template <class Abi> doublev<Abi> frexp(doublev<Abi> value, samesize<int, doublev<Abi>>* exp);
-template <class Abi> ldoublev<Abi> frexp(ldoublev<Abi> value, samesize<int, ldoublev<Abi>>* exp);
-
-template <class Abi> samesize<int, floatv<Abi>> ilogb(floatv<Abi> x);
-template <class Abi> samesize<int, doublev<Abi>> ilogb(doublev<Abi> x);
-template <class Abi> samesize<int, ldoublev<Abi>> ilogb(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> ldexp(floatv<Abi> x, samesize<int, floatv<Abi>> exp);
-template <class Abi> doublev<Abi> ldexp(doublev<Abi> x, samesize<int, doublev<Abi>> exp);
-template <class Abi> ldoublev<Abi> ldexp(ldoublev<Abi> x, samesize<int, ldoublev<Abi>> exp);
-
-template <class Abi> floatv<Abi> log(floatv<Abi> x);
-template <class Abi> doublev<Abi> log(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> log(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> log10(floatv<Abi> x);
-template <class Abi> doublev<Abi> log10(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> log10(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> log1p(floatv<Abi> x);
-template <class Abi> doublev<Abi> log1p(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> log1p(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> log2(floatv<Abi> x);
-template <class Abi> doublev<Abi> log2(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> log2(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> logb(floatv<Abi> x);
-template <class Abi> doublev<Abi> logb(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> logb(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> modf(floatv<Abi> value, floatv<Abi>* iptr);
-template <class Abi> doublev<Abi> modf(doublev<Abi> value, doublev<Abi>* iptr);
-template <class Abi> ldoublev<Abi> modf(ldoublev<Abi> value, ldoublev<Abi>* iptr);
-
-template <class Abi> floatv<Abi> scalbn(floatv<Abi> x, samesize<int, floatv<Abi>> n);
-template <class Abi> doublev<Abi> scalbn(doublev<Abi> x, samesize<int, doublev<Abi>> n);
-template <class Abi> ldoublev<Abi> scalbn(ldoublev<Abi> x, samesize<int, ldoublev<Abi>> n);
-template <class Abi> floatv<Abi> scalbln(floatv<Abi> x, samesize<long int, floatv<Abi>> n);
-template <class Abi> doublev<Abi> scalbln(doublev<Abi> x, samesize<long int, doublev<Abi>> n);
-template <class Abi> ldoublev<Abi> scalbln(ldoublev<Abi> x, samesize<long int, ldoublev<Abi>> n);
-
-template <class Abi> floatv<Abi> cbrt(floatv<Abi> x);
-template <class Abi> doublev<Abi> cbrt(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> cbrt(ldoublev<Abi> x);
-
-template <class Abi> scharv<Abi> abs(scharv<Abi> j);
-template <class Abi> shortv<Abi> abs(shortv<Abi> j);
-template <class Abi> intv<Abi> abs(intv<Abi> j);
-template <class Abi> longv<Abi> abs(longv<Abi> j);
-template <class Abi> llongv<Abi> abs(llongv<Abi> j);
-template <class Abi> floatv<Abi> abs(floatv<Abi> j);
-template <class Abi> doublev<Abi> abs(doublev<Abi> j);
-template <class Abi> ldoublev<Abi> abs(ldoublev<Abi> j);
-
-template <class Abi> floatv<Abi> hypot(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> hypot(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> hypot(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> floatv<Abi> hypot(floatv<Abi> x, floatv<Abi> y, floatv<Abi> z);
-template <class Abi> doublev<Abi> hypot(doublev<Abi> x, doublev<Abi> y, doublev<Abi> z);
-template <class Abi> ldoublev<Abi> hypot(ldoublev<Abi> x, ldoublev<Abi> y, ldoublev<Abi> z);
-
-template <class Abi> floatv<Abi> pow(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> pow(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> pow(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> floatv<Abi> sqrt(floatv<Abi> x);
-template <class Abi> doublev<Abi> sqrt(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> sqrt(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> erf(floatv<Abi> x);
-template <class Abi> doublev<Abi> erf(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> erf(ldoublev<Abi> x);
-template <class Abi> floatv<Abi> erfc(floatv<Abi> x);
-template <class Abi> doublev<Abi> erfc(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> erfc(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> lgamma(floatv<Abi> x);
-template <class Abi> doublev<Abi> lgamma(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> lgamma(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> tgamma(floatv<Abi> x);
-template <class Abi> doublev<Abi> tgamma(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> tgamma(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> ceil(floatv<Abi> x);
-template <class Abi> doublev<Abi> ceil(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> ceil(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> floor(floatv<Abi> x);
-template <class Abi> doublev<Abi> floor(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> floor(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> nearbyint(floatv<Abi> x);
-template <class Abi> doublev<Abi> nearbyint(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> nearbyint(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> rint(floatv<Abi> x);
-template <class Abi> doublev<Abi> rint(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> rint(ldoublev<Abi> x);
-
-template <class Abi> samesize<long int, floatv<Abi>> lrint(floatv<Abi> x);
-template <class Abi> samesize<long int, doublev<Abi>> lrint(doublev<Abi> x);
-template <class Abi> samesize<long int, ldoublev<Abi>> lrint(ldoublev<Abi> x);
-template <class Abi> samesize<long long int, floatv<Abi>> llrint(floatv<Abi> x);
-template <class Abi> samesize<long long int, doublev<Abi>> llrint(doublev<Abi> x);
-template <class Abi> samesize<long long int, ldoublev<Abi>> llrint(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> round(floatv<Abi> x);
-template <class Abi> doublev<Abi> round(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> round(ldoublev<Abi> x);
-template <class Abi> samesize<long int, floatv<Abi>> lround(floatv<Abi> x);
-template <class Abi> samesize<long int, doublev<Abi>> lround(doublev<Abi> x);
-template <class Abi> samesize<long int, ldoublev<Abi>> lround(ldoublev<Abi> x);
-template <class Abi> samesize<long long int, floatv<Abi>> llround(floatv<Abi> x);
-template <class Abi> samesize<long long int, doublev<Abi>> llround(doublev<Abi> x);
-template <class Abi> samesize<long long int, ldoublev<Abi>> llround(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> trunc(floatv<Abi> x);
-template <class Abi> doublev<Abi> trunc(doublev<Abi> x);
-template <class Abi> ldoublev<Abi> trunc(ldoublev<Abi> x);
-
-template <class Abi> floatv<Abi> fmod(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> fmod(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> fmod(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> floatv<Abi> remainder(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> remainder(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> remainder(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> floatv<Abi> remquo(floatv<Abi> x, floatv<Abi> y, samesize<int, floatv<Abi>>* quo);
-template <class Abi> doublev<Abi> remquo(doublev<Abi> x, doublev<Abi> y, samesize<int, doublev<Abi>>* quo);
-template <class Abi> ldoublev<Abi> remquo(ldoublev<Abi> x, ldoublev<Abi> y, samesize<int, ldoublev<Abi>>* quo);
-
-template <class Abi> floatv<Abi> copysign(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> copysign(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> copysign(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> doublev<Abi> nan(const char* tagp);
-template <class Abi> floatv<Abi> nanf(const char* tagp);
-template <class Abi> ldoublev<Abi> nanl(const char* tagp);
-
-template <class Abi> floatv<Abi> nextafter(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> nextafter(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> nextafter(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> floatv<Abi> nexttoward(floatv<Abi> x, ldoublev<Abi> y);
-template <class Abi> doublev<Abi> nexttoward(doublev<Abi> x, ldoublev<Abi> y);
-template <class Abi> ldoublev<Abi> nexttoward(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> floatv<Abi> fdim(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> fdim(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> fdim(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> floatv<Abi> fmax(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> fmax(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> fmax(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> floatv<Abi> fmin(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> doublev<Abi> fmin(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> ldoublev<Abi> fmin(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> floatv<Abi> fma(floatv<Abi> x, floatv<Abi> y, floatv<Abi> z);
-template <class Abi> doublev<Abi> fma(doublev<Abi> x, doublev<Abi> y, doublev<Abi> z);
-template <class Abi> ldoublev<Abi> fma(ldoublev<Abi> x, ldoublev<Abi> y, ldoublev<Abi> z);
-
-template <class Abi> samesize<int, floatv<Abi>> fpclassify(floatv<Abi> x);
-template <class Abi> samesize<int, doublev<Abi>> fpclassify(doublev<Abi> x);
-template <class Abi> samesize<int, ldoublev<Abi>> fpclassify(ldoublev<Abi> x);
-
-template <class Abi> simd_mask<float, Abi> isfinite(floatv<Abi> x);
-template <class Abi> simd_mask<double, Abi> isfinite(doublev<Abi> x);
-template <class Abi> simd_mask<long double, Abi> isfinite(ldoublev<Abi> x);
-
-template <class Abi> simd_mask<float, Abi> isinf(floatv<Abi> x);
-template <class Abi> simd_mask<double, Abi> isinf(doublev<Abi> x);
-template <class Abi> simd_mask<long double, Abi> isinf(ldoublev<Abi> x);
-
-template <class Abi> simd_mask<float, Abi> isnan(floatv<Abi> x);
-template <class Abi> simd_mask<double, Abi> isnan(doublev<Abi> x);
-template <class Abi> simd_mask<long double, Abi> isnan(ldoublev<Abi> x);
-
-template <class Abi> simd_mask<float, Abi> isnormal(floatv<Abi> x);
-template <class Abi> simd_mask<double, Abi> isnormal(doublev<Abi> x);
-template <class Abi> simd_mask<long double, Abi> isnormal(ldoublev<Abi> x);
-
-template <class Abi> simd_mask<float, Abi> signbit(floatv<Abi> x);
-template <class Abi> simd_mask<double, Abi> signbit(doublev<Abi> x);
-template <class Abi> simd_mask<long double, Abi> signbit(ldoublev<Abi> x);
-
-template <class Abi> simd_mask<float, Abi> isgreater(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> simd_mask<double, Abi> isgreater(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> simd_mask<long double, Abi> isgreater(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> simd_mask<float, Abi> isgreaterequal(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> simd_mask<double, Abi> isgreaterequal(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> simd_mask<long double, Abi> isgreaterequal(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> simd_mask<float, Abi> isless(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> simd_mask<double, Abi> isless(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> simd_mask<long double, Abi> isless(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> simd_mask<float, Abi> islessequal(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> simd_mask<double, Abi> islessequal(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> simd_mask<long double, Abi> islessequal(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> simd_mask<float, Abi> islessgreater(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> simd_mask<double, Abi> islessgreater(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> simd_mask<long double, Abi> islessgreater(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class Abi> simd_mask<float, Abi> isunordered(floatv<Abi> x, floatv<Abi> y);
-template <class Abi> simd_mask<double, Abi> isunordered(doublev<Abi> x, doublev<Abi> y);
-template <class Abi> simd_mask<long double, Abi> isunordered(ldoublev<Abi> x, ldoublev<Abi> y);
-
-template <class V> struct simd_div_t { V quot, rem; };
-template <class Abi> simd_div_t<scharv<Abi>> div(scharv<Abi> numer, scharv<Abi> denom);
-template <class Abi> simd_div_t<shortv<Abi>> div(shortv<Abi> numer, shortv<Abi> denom);
-template <class Abi> simd_div_t<intv<Abi>> div(intv<Abi> numer, intv<Abi> denom);
-template <class Abi> simd_div_t<longv<Abi>> div(longv<Abi> numer, longv<Abi> denom);
-template <class Abi> simd_div_t<llongv<Abi>> div(llongv<Abi> numer, llongv<Abi> denom);
-
-// [simd.mask.class]
-template <class T, class Abi>
-class simd_mask {
-public:
-  using value_type = bool;
-  using reference = see below;
-  using simd_type = simd<T, Abi>;
-  using abi_type = Abi;
-  static constexpr size_t size() noexcept;
-  simd_mask() = default;
-
-  // broadcast constructor
-  explicit simd_mask(value_type) noexcept;
-
-  // implicit type conversion constructor
-  template <class U> simd_mask(const simd_mask<U, simd_abi::fixed_size<size()>>&) noexcept;
-
-  // load constructor
-  template <class Flags> simd_mask(const value_type* mem, Flags);
-
-  // loads [simd.mask.copy]
-  template <class Flags> void copy_from(const value_type* mem, Flags);
-  template <class Flags> void copy_to(value_type* mem, Flags) const;
-
-  // scalar access [simd.mask.subscr]
-  reference operator[](size_t);
-  value_type operator[](size_t) const;
-
-  // unary operators [simd.mask.unary]
-  simd_mask operator!() const noexcept;
-
-  // simd_mask binary operators [simd.mask.binary]
-  friend simd_mask operator&&(const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator||(const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator& (const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator| (const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator^ (const simd_mask&, const simd_mask&) noexcept;
-
-  // simd_mask compound assignment [simd.mask.cassign]
-  friend simd_mask& operator&=(simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask& operator|=(simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask& operator^=(simd_mask&, const simd_mask&) noexcept;
-
-  // simd_mask compares [simd.mask.comparison]
-  friend simd_mask operator==(const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator!=(const simd_mask&, const simd_mask&) noexcept;
-};
-
-} // parallelism_v2
-} // std::experimental
-
-*/
-
-#include <experimental/__config>
-#include <algorithm>
-#include <array>
-#include <cstddef>
-#include <functional>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD
-
-#if _LIBCPP_STD_VER >= 17
-
-enum class _StorageKind {
-  _Scalar,
-  _Array,
-  _VecExt,
-};
-
-template <_StorageKind __kind, int _Np>
-struct __simd_abi {};
-
-template <class _Tp, class _Abi>
-class __simd_storage {};
-
-template <class _Tp, int __num_element>
-class __simd_storage<_Tp, __simd_abi<_StorageKind::_Array, __num_element>> {
-  std::array<_Tp, __num_element> __storage_;
-
-  template <class, class>
-  friend struct simd;
-
-  template <class, class>
-  friend struct simd_mask;
-
-public:
-  _Tp __get(size_t __index) const noexcept { return __storage_[__index]; };
-  void __set(size_t __index, _Tp __val) noexcept {
-    __storage_[__index] = __val;
-  }
-};
-
-template <class _Tp>
-class __simd_storage<_Tp, __simd_abi<_StorageKind::_Scalar, 1>> {
-  _Tp __storage_;
-
-  template <class, class>
-  friend struct simd;
-
-  template <class, class>
-  friend struct simd_mask;
-
-public:
-  _Tp __get(size_t __index) const noexcept { return (&__storage_)[__index]; };
-  void __set(size_t __index, _Tp __val) noexcept {
-    (&__storage_)[__index] = __val;
-  }
-};
-
-#ifndef _LIBCPP_HAS_NO_VECTOR_EXTENSION
-
-constexpr size_t __floor_pow_of_2(size_t __val) {
-  return ((__val - 1) & __val) == 0 ? __val
-                                    : __floor_pow_of_2((__val - 1) & __val);
-}
-
-constexpr size_t __ceil_pow_of_2(size_t __val) {
-  return __val == 1 ? 1 : __floor_pow_of_2(__val - 1) << 1;
-}
-
-template <class _Tp, size_t __bytes>
-struct __vec_ext_traits {
-#if !defined(_LIBCPP_COMPILER_CLANG)
-  typedef _Tp type __attribute__((vector_size(__ceil_pow_of_2(__bytes))));
-#endif
-};
-
-#if defined(_LIBCPP_COMPILER_CLANG)
-#define _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, _NUM_ELEMENT)                        \
-  template <>                                                                  \
-  struct __vec_ext_traits<_TYPE, sizeof(_TYPE) * _NUM_ELEMENT> {               \
-    using type =                                                               \
-        _TYPE __attribute__((vector_size(sizeof(_TYPE) * _NUM_ELEMENT)));      \
-  }
-
-#define _LIBCPP_SPECIALIZE_VEC_EXT_32(_TYPE)                                   \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 1);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 2);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 3);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 4);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 5);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 6);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 7);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 8);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 9);                                        \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 10);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 11);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 12);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 13);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 14);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 15);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 16);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 17);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 18);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 19);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 20);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 21);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 22);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 23);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 24);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 25);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 26);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 27);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 28);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 29);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 30);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 31);                                       \
-  _LIBCPP_SPECIALIZE_VEC_EXT(_TYPE, 32);
-
-_LIBCPP_SPECIALIZE_VEC_EXT_32(char);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(char16_t);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(char32_t);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(wchar_t);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(signed char);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(signed short);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(signed int);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(signed long);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(signed long long);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(unsigned char);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(unsigned short);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(unsigned int);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(unsigned long);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(unsigned long long);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(float);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(double);
-_LIBCPP_SPECIALIZE_VEC_EXT_32(long double);
-
-#undef _LIBCPP_SPECIALIZE_VEC_EXT_32
-#undef _LIBCPP_SPECIALIZE_VEC_EXT
-#endif
-
-template <class _Tp, int __num_element>
-class __simd_storage<_Tp, __simd_abi<_StorageKind::_VecExt, __num_element>> {
-  using _StorageType =
-      typename __vec_ext_traits<_Tp, sizeof(_Tp) * __num_element>::type;
-
-  _StorageType __storage_;
-
-  template <class, class>
-  friend struct simd;
-
-  template <class, class>
-  friend struct simd_mask;
-
-public:
-  _Tp __get(size_t __index) const noexcept { return __storage_[__index]; };
-  void __set(size_t __index, _Tp __val) noexcept {
-    __storage_[__index] = __val;
-  }
-};
-
-#endif // _LIBCPP_HAS_NO_VECTOR_EXTENSION
-
-template <class _Vp, class _Tp, class _Abi>
-class __simd_reference {
-  static_assert(std::is_same<_Vp, _Tp>::value, "");
-
-  template <class, class>
-  friend struct simd;
-
-  template <class, class>
-  friend struct simd_mask;
-
-  __simd_storage<_Tp, _Abi>* __ptr_;
-  size_t __index_;
-
-  __simd_reference(__simd_storage<_Tp, _Abi>* __ptr, size_t __index)
-      : __ptr_(__ptr), __index_(__index) {}
-
-  __simd_reference(const __simd_reference&) = default;
-
-public:
-  __simd_reference() = delete;
-  __simd_reference& operator=(const __simd_reference&) = delete;
-
-  operator _Vp() const { return __ptr_->__get(__index_); }
-
-  __simd_reference operator=(_Vp __value) && {
-    __ptr_->__set(__index_, __value);
-    return *this;
-  }
-
-  __simd_reference operator++() && {
-    return std::move(*this) = __ptr_->__get(__index_) + 1;
-  }
-
-  _Vp operator++(int) && {
-    auto __val = __ptr_->__get(__index_);
-    __ptr_->__set(__index_, __val + 1);
-    return __val;
-  }
-
-  __simd_reference operator--() && {
-    return std::move(*this) = __ptr_->__get(__index_) - 1;
-  }
-
-  _Vp operator--(int) && {
-    auto __val = __ptr_->__get(__index_);
-    __ptr_->__set(__index_, __val - 1);
-    return __val;
-  }
-
-  __simd_reference operator+=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) + __value;
-  }
-
-  __simd_reference operator-=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) - __value;
-  }
-
-  __simd_reference operator*=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) * __value;
-  }
-
-  __simd_reference operator/=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) / __value;
-  }
-
-  __simd_reference operator%=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) % __value;
-  }
-
-  __simd_reference operator>>=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) >> __value;
-  }
-
-  __simd_reference operator<<=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) << __value;
-  }
-
-  __simd_reference operator&=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) & __value;
-  }
-
-  __simd_reference operator|=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) | __value;
-  }
-
-  __simd_reference operator^=(_Vp __value) && {
-    return std::move(*this) = __ptr_->__get(__index_) ^ __value;
-  }
-};
-
-template <class _To, class _From>
-constexpr decltype(_To{std::declval<_From>()}, true)
-__is_non_narrowing_convertible_impl(_From) {
-  return true;
-}
-
-template <class _To>
-constexpr bool __is_non_narrowing_convertible_impl(...) {
-  return false;
-}
-
-template <class _From, class _To>
-constexpr typename std::enable_if<std::is_arithmetic<_To>::value &&
-                                      std::is_arithmetic<_From>::value,
-                                  bool>::type
-__is_non_narrowing_arithmetic_convertible() {
-  return __is_non_narrowing_convertible_impl<_To>(_From{});
-}
-
-template <class _From, class _To>
-constexpr typename std::enable_if<!(std::is_arithmetic<_To>::value &&
-                                    std::is_arithmetic<_From>::value),
-                                  bool>::type
-__is_non_narrowing_arithmetic_convertible() {
-  return false;
-}
-
-template <class _Tp>
-constexpr _Tp __variadic_sum() {
-  return _Tp{};
-}
-
-template <class _Tp, class _Up, class... _Args>
-constexpr _Tp __variadic_sum(_Up __first, _Args... __rest) {
-  return static_cast<_Tp>(__first) + __variadic_sum<_Tp>(__rest...);
-}
-
-template <class _Tp>
-struct __nodeduce {
-  using type = _Tp;
-};
-
-template <class _Tp>
-constexpr bool __vectorizable() {
-  return std::is_arithmetic<_Tp>::value && !std::is_const<_Tp>::value &&
-         !std::is_volatile<_Tp>::value && !std::is_same<_Tp, bool>::value;
-}
-
-_LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD
-_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD_ABI
-
-using scalar = __simd_abi<_StorageKind::_Scalar, 1>;
-
-template <int _Np>
-using fixed_size = __simd_abi<_StorageKind::_Array, _Np>;
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr size_t max_fixed_size = 32;
-
-template <class _Tp>
-using compatible = fixed_size<16 / sizeof(_Tp)>;
-
-#ifndef _LIBCPP_HAS_NO_VECTOR_EXTENSION
-template <class _Tp>
-using native = __simd_abi<_StorageKind::_VecExt,
-                          _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES / sizeof(_Tp)>;
-#else
-template <class _Tp>
-using native =
-    fixed_size<_Tp, _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES / sizeof(_Tp)>;
-#endif // _LIBCPP_HAS_NO_VECTOR_EXTENSION
-
-_LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD_ABI
-_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD
-
-template <class _Tp, class _Abi = simd_abi::compatible<_Tp>>
-class simd;
-template <class _Tp, class _Abi = simd_abi::compatible<_Tp>>
-class simd_mask;
-
-struct element_aligned_tag {};
-struct vector_aligned_tag {};
-template <size_t>
-struct overaligned_tag {};
-_LIBCPP_INLINE_VAR constexpr element_aligned_tag element_aligned{};
-_LIBCPP_INLINE_VAR constexpr vector_aligned_tag vector_aligned{};
-template <size_t _Np>
-_LIBCPP_INLINE_VAR constexpr overaligned_tag<_Np> overaligned{};
-
-// traits [simd.traits]
-template <class _Tp>
-struct is_abi_tag : std::integral_constant<bool, false> {};
-
-template <_StorageKind __kind, int _Np>
-struct is_abi_tag<__simd_abi<__kind, _Np>>
-    : std::integral_constant<bool, true> {};
-
-template <class _Tp>
-struct is_simd : std::integral_constant<bool, false> {};
-
-template <class _Tp, class _Abi>
-struct is_simd<simd<_Tp, _Abi>> : std::integral_constant<bool, true> {};
-
-template <class _Tp>
-struct is_simd_mask : std::integral_constant<bool, false> {};
-
-template <class _Tp, class _Abi>
-struct is_simd_mask<simd_mask<_Tp, _Abi>> : std::integral_constant<bool, true> {
-};
-
-template <class _Tp>
-struct is_simd_flag_type : std::integral_constant<bool, false> {};
-
-template <>
-struct is_simd_flag_type<element_aligned_tag>
-    : std::integral_constant<bool, true> {};
-
-template <>
-struct is_simd_flag_type<vector_aligned_tag>
-    : std::integral_constant<bool, true> {};
-
-template <size_t _Align>
-struct is_simd_flag_type<overaligned_tag<_Align>>
-    : std::integral_constant<bool, true> {};
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr bool is_abi_tag_v = is_abi_tag<_Tp>::value;
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr bool is_simd_v = is_simd<_Tp>::value;
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr bool is_simd_mask_v = is_simd_mask<_Tp>::value;
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr bool is_simd_flag_type_v =
-    is_simd_flag_type<_Tp>::value;
-template <class _Tp, size_t _Np>
-struct abi_for_size {
-  using type = simd_abi::fixed_size<_Np>;
-};
-template <class _Tp, size_t _Np>
-using abi_for_size_t = typename abi_for_size<_Tp, _Np>::type;
-
-template <class _Tp, class _Abi = simd_abi::compatible<_Tp>>
-struct simd_size;
-
-template <class _Tp, _StorageKind __kind, int _Np>
-struct simd_size<_Tp, __simd_abi<__kind, _Np>>
-    : std::integral_constant<size_t, _Np> {
-  static_assert(
-      std::is_arithmetic<_Tp>::value &&
-          !std::is_same<typename std::remove_const<_Tp>::type, bool>::value,
-      "Element type should be vectorizable");
-};
-
-// TODO: implement it.
-template <class _Tp, class _Up = typename _Tp::value_type>
-struct memory_alignment;
-
-template <class _Tp, class _Abi = simd_abi::compatible<_Tp>>
-_LIBCPP_INLINE_VAR constexpr size_t simd_size_v = simd_size<_Tp, _Abi>::value;
-
-template <class _Tp, class _Up = typename _Tp::value_type>
-_LIBCPP_INLINE_VAR constexpr size_t memory_alignment_v =
-    memory_alignment<_Tp, _Up>::value;
-
-// class template simd [simd.class]
-template <class _Tp>
-using native_simd = simd<_Tp, simd_abi::native<_Tp>>;
-template <class _Tp, int _Np>
-using fixed_size_simd = simd<_Tp, simd_abi::fixed_size<_Np>>;
-
-// class template simd_mask [simd.mask.class]
-template <class _Tp>
-using native_simd_mask = simd_mask<_Tp, simd_abi::native<_Tp>>;
-
-template <class _Tp, int _Np>
-using fixed_size_simd_mask = simd_mask<_Tp, simd_abi::fixed_size<_Np>>;
-
-// casts [simd.casts]
-template <class _Tp>
-struct __static_simd_cast_traits {
-  template <class _Up, class _Abi>
-  static simd<_Tp, _Abi> __apply(const simd<_Up, _Abi>& __v);
-};
-
-template <class _Tp, class _NewAbi>
-struct __static_simd_cast_traits<simd<_Tp, _NewAbi>> {
-  template <class _Up, class _Abi>
-  static typename std::enable_if<simd<_Up, _Abi>::size() ==
-                                     simd<_Tp, _NewAbi>::size(),
-                                 simd<_Tp, _NewAbi>>::type
-  __apply(const simd<_Up, _Abi>& __v);
-};
-
-template <class _Tp>
-struct __simd_cast_traits {
-  template <class _Up, class _Abi>
-  static typename std::enable_if<
-      __is_non_narrowing_arithmetic_convertible<_Up, _Tp>(),
-      simd<_Tp, _Abi>>::type
-  __apply(const simd<_Up, _Abi>& __v);
-};
-
-template <class _Tp, class _NewAbi>
-struct __simd_cast_traits<simd<_Tp, _NewAbi>> {
-  template <class _Up, class _Abi>
-  static typename std::enable_if<
-      __is_non_narrowing_arithmetic_convertible<_Up, _Tp>() &&
-          simd<_Up, _Abi>::size() == simd<_Tp, _NewAbi>::size(),
-      simd<_Tp, _NewAbi>>::type
-  __apply(const simd<_Up, _Abi>& __v);
-};
-
-template <class _Tp, class _Up, class _Abi>
-auto simd_cast(const simd<_Up, _Abi>& __v)
-    -> decltype(__simd_cast_traits<_Tp>::__apply(__v)) {
-  return __simd_cast_traits<_Tp>::__apply(__v);
-}
-
-template <class _Tp, class _Up, class _Abi>
-auto static_simd_cast(const simd<_Up, _Abi>& __v)
-    -> decltype(__static_simd_cast_traits<_Tp>::__apply(__v)) {
-  return __static_simd_cast_traits<_Tp>::__apply(__v);
-}
-
-template <class _Tp, class _Abi>
-fixed_size_simd<_Tp, simd_size<_Tp, _Abi>::value>
-to_fixed_size(const simd<_Tp, _Abi>&) noexcept;
-
-template <class _Tp, class _Abi>
-fixed_size_simd_mask<_Tp, simd_size<_Tp, _Abi>::value>
-to_fixed_size(const simd_mask<_Tp, _Abi>&) noexcept;
-
-template <class _Tp, size_t _Np>
-native_simd<_Tp> to_native(const fixed_size_simd<_Tp, _Np>&) noexcept;
-
-template <class _Tp, size_t _Np>
-native_simd_mask<_Tp> to_native(const fixed_size_simd_mask<_Tp, _Np>&) noexcept;
-
-template <class _Tp, size_t _Np>
-simd<_Tp> to_compatible(const fixed_size_simd<_Tp, _Np>&) noexcept;
-
-template <class _Tp, size_t _Np>
-simd_mask<_Tp> to_compatible(const fixed_size_simd_mask<_Tp, _Np>&) noexcept;
-
-template <size_t... __sizes, class _Tp, class _Abi>
-tuple<simd<_Tp, abi_for_size_t<_Tp, __sizes>>...> split(const simd<_Tp, _Abi>&);
-
-template <size_t... __sizes, class _Tp, class _Abi>
-tuple<simd_mask<_Tp, abi_for_size_t<_Tp, __sizes>>...>
-split(const simd_mask<_Tp, _Abi>&);
-
-template <class _SimdType, class _Abi>
-array<_SimdType, simd_size<typename _SimdType::value_type, _Abi>::value /
-                     _SimdType::size()>
-split(const simd<typename _SimdType::value_type, _Abi>&);
-
-template <class _SimdType, class _Abi>
-array<_SimdType, simd_size<typename _SimdType::value_type, _Abi>::value /
-                     _SimdType::size()>
-split(const simd_mask<typename _SimdType::value_type, _Abi>&);
-
-template <class _Tp, class... _Abis>
-simd<_Tp, abi_for_size_t<_Tp, __variadic_sum(simd_size<_Tp, _Abis>::value...)>>
-concat(const simd<_Tp, _Abis>&...);
-
-template <class _Tp, class... _Abis>
-simd_mask<_Tp,
-          abi_for_size_t<_Tp, __variadic_sum(simd_size<_Tp, _Abis>::value...)>>
-concat(const simd_mask<_Tp, _Abis>&...);
-
-// reductions [simd.mask.reductions]
-template <class _Tp, class _Abi>
-bool all_of(const simd_mask<_Tp, _Abi>&) noexcept;
-template <class _Tp, class _Abi>
-bool any_of(const simd_mask<_Tp, _Abi>&) noexcept;
-template <class _Tp, class _Abi>
-bool none_of(const simd_mask<_Tp, _Abi>&) noexcept;
-template <class _Tp, class _Abi>
-bool some_of(const simd_mask<_Tp, _Abi>&) noexcept;
-template <class _Tp, class _Abi>
-int popcount(const simd_mask<_Tp, _Abi>&) noexcept;
-template <class _Tp, class _Abi>
-int find_first_set(const simd_mask<_Tp, _Abi>&);
-template <class _Tp, class _Abi>
-int find_last_set(const simd_mask<_Tp, _Abi>&);
-bool all_of(bool) noexcept;
-bool any_of(bool) noexcept;
-bool none_of(bool) noexcept;
-bool some_of(bool) noexcept;
-int popcount(bool) noexcept;
-int find_first_set(bool) noexcept;
-int find_last_set(bool) noexcept;
-
-// masked assignment [simd.whereexpr]
-template <class _MaskType, class _Tp>
-class const_where_expression;
-template <class _MaskType, class _Tp>
-class where_expression;
-
-// masked assignment [simd.mask.where]
-template <class _Tp, class _Abi>
-where_expression<simd_mask<_Tp, _Abi>, simd<_Tp, _Abi>>
-where(const typename simd<_Tp, _Abi>::mask_type&, simd<_Tp, _Abi>&) noexcept;
-
-template <class _Tp, class _Abi>
-const_where_expression<simd_mask<_Tp, _Abi>, const simd<_Tp, _Abi>>
-where(const typename simd<_Tp, _Abi>::mask_type&,
-      const simd<_Tp, _Abi>&) noexcept;
-
-template <class _Tp, class _Abi>
-where_expression<simd_mask<_Tp, _Abi>, simd_mask<_Tp, _Abi>>
-where(const typename __nodeduce<simd_mask<_Tp, _Abi>>::type&,
-      simd_mask<_Tp, _Abi>&) noexcept;
-
-template <class _Tp, class _Abi>
-const_where_expression<simd_mask<_Tp, _Abi>, const simd_mask<_Tp, _Abi>>
-where(const typename __nodeduce<simd_mask<_Tp, _Abi>>::type&,
-      const simd_mask<_Tp, _Abi>&) noexcept;
-
-template <class _Tp>
-where_expression<bool, _Tp> where(bool, _Tp&) noexcept;
-
-template <class _Tp>
-const_where_expression<bool, const _Tp> where(bool, const _Tp&) noexcept;
-
-// reductions [simd.reductions]
-template <class _Tp, class _Abi, class _BinaryOp = std::plus<_Tp>>
-_Tp reduce(const simd<_Tp, _Abi>&, _BinaryOp = _BinaryOp());
-
-template <class _MaskType, class _SimdType, class _BinaryOp>
-typename _SimdType::value_type
-reduce(const const_where_expression<_MaskType, _SimdType>&,
-       typename _SimdType::value_type neutral_element, _BinaryOp binary_op);
-
-template <class _MaskType, class _SimdType>
-typename _SimdType::value_type
-reduce(const const_where_expression<_MaskType, _SimdType>&,
-       plus<typename _SimdType::value_type> binary_op = {});
-
-template <class _MaskType, class _SimdType>
-typename _SimdType::value_type
-reduce(const const_where_expression<_MaskType, _SimdType>&,
-       multiplies<typename _SimdType::value_type> binary_op);
-
-template <class _MaskType, class _SimdType>
-typename _SimdType::value_type
-reduce(const const_where_expression<_MaskType, _SimdType>&,
-       bit_and<typename _SimdType::value_type> binary_op);
-
-template <class _MaskType, class _SimdType>
-typename _SimdType::value_type
-reduce(const const_where_expression<_MaskType, _SimdType>&,
-       bit_or<typename _SimdType::value_type> binary_op);
-
-template <class _MaskType, class _SimdType>
-typename _SimdType::value_type
-reduce(const const_where_expression<_MaskType, _SimdType>&,
-       bit_xor<typename _SimdType::value_type> binary_op);
-
-template <class _Tp, class _Abi>
-_Tp hmin(const simd<_Tp, _Abi>&);
-template <class _MaskType, class _SimdType>
-typename _SimdType::value_type
-hmin(const const_where_expression<_MaskType, _SimdType>&);
-template <class _Tp, class _Abi>
-_Tp hmax(const simd<_Tp, _Abi>&);
-template <class _MaskType, class _SimdType>
-typename _SimdType::value_type
-hmax(const const_where_expression<_MaskType, _SimdType>&);
-
-// algorithms [simd.alg]
-template <class _Tp, class _Abi>
-simd<_Tp, _Abi> min(const simd<_Tp, _Abi>&, const simd<_Tp, _Abi>&) noexcept;
-
-template <class _Tp, class _Abi>
-simd<_Tp, _Abi> max(const simd<_Tp, _Abi>&, const simd<_Tp, _Abi>&) noexcept;
-
-template <class _Tp, class _Abi>
-std::pair<simd<_Tp, _Abi>, simd<_Tp, _Abi>>
-minmax(const simd<_Tp, _Abi>&, const simd<_Tp, _Abi>&) noexcept;
-
-template <class _Tp, class _Abi>
-simd<_Tp, _Abi> clamp(const simd<_Tp, _Abi>&, const simd<_Tp, _Abi>&,
-                      const simd<_Tp, _Abi>&);
-
-// [simd.whereexpr]
-// TODO implement where expressions.
-template <class _MaskType, class _Tp>
-class const_where_expression {
-public:
-  const_where_expression(const const_where_expression&) = delete;
-  const_where_expression& operator=(const const_where_expression&) = delete;
-  typename remove_const<_Tp>::type operator-() const&&;
-  template <class _Up, class _Flags>
-  void copy_to(_Up*, _Flags) const&&;
-};
-
-template <class _MaskType, class _Tp>
-class where_expression : public const_where_expression<_MaskType, _Tp> {
-public:
-  where_expression(const where_expression&) = delete;
-  where_expression& operator=(const where_expression&) = delete;
-  template <class _Up>
-  void operator=(_Up&&);
-  template <class _Up>
-  void operator+=(_Up&&);
-  template <class _Up>
-  void operator-=(_Up&&);
-  template <class _Up>
-  void operator*=(_Up&&);
-  template <class _Up>
-  void operator/=(_Up&&);
-  template <class _Up>
-  void operator%=(_Up&&);
-  template <class _Up>
-  void operator&=(_Up&&);
-  template <class _Up>
-  void operator|=(_Up&&);
-  template <class _Up>
-  void operator^=(_Up&&);
-  template <class _Up>
-  void operator<<=(_Up&&);
-  template <class _Up>
-  void operator>>=(_Up&&);
-  void operator++();
-  void operator++(int);
-  void operator--();
-  void operator--(int);
-  template <class _Up, class _Flags>
-  void copy_from(const _Up*, _Flags);
-};
-
-// [simd.class]
-// TODO: implement simd
-template <class _Tp, class _Abi>
-class simd {
-public:
-  using value_type = _Tp;
-  using reference = __simd_reference<_Tp, _Tp, _Abi>;
-  using mask_type = simd_mask<_Tp, _Abi>;
-  using abi_type = _Abi;
-
-  simd() = default;
-  simd(const simd&) = default;
-  simd& operator=(const simd&) = default;
-
-  static constexpr size_t size() noexcept {
-    return simd_size<_Tp, _Abi>::value;
-  }
-
-private:
-  __simd_storage<_Tp, _Abi> __s_;
-
-  template <class _Up>
-  static constexpr bool __can_broadcast() {
-    return (std::is_arithmetic<_Up>::value &&
-            __is_non_narrowing_arithmetic_convertible<_Up, _Tp>()) ||
-           (!std::is_arithmetic<_Up>::value &&
-            std::is_convertible<_Up, _Tp>::value) ||
-           std::is_same<typename std::remove_const<_Up>::type, int>::value ||
-           (std::is_same<typename std::remove_const<_Up>::type,
-                         unsigned int>::value &&
-            std::is_unsigned<_Tp>::value);
-  }
-
-  template <class _Generator, size_t... __indicies>
-  static constexpr decltype(
-      std::forward_as_tuple(std::declval<_Generator>()(
-          std::integral_constant<size_t, __indicies>())...),
-      bool())
-  __can_generate(std::index_sequence<__indicies...>) {
-    return !__variadic_sum<bool>(
-        !__can_broadcast<decltype(std::declval<_Generator>()(
-            std::integral_constant<size_t, __indicies>()))>()...);
-  }
-
-  template <class _Generator>
-  static bool __can_generate(...) {
-    return false;
-  }
-
-  template <class _Generator, size_t... __indicies>
-  void __generator_init(_Generator&& __g, std::index_sequence<__indicies...>) {
-    int __not_used[]{((*this)[__indicies] =
-                          __g(std::integral_constant<size_t, __indicies>()),
-                      0)...};
-    (void)__not_used;
-  }
-
-public:
-  // implicit type conversion constructor
-  template <class _Up,
-            class = typename std::enable_if<
-                std::is_same<_Abi, simd_abi::fixed_size<size()>>::value &&
-                __is_non_narrowing_arithmetic_convertible<_Up, _Tp>()>::type>
-  simd(const simd<_Up, simd_abi::fixed_size<size()>>& __v) {
-    for (size_t __i = 0; __i < size(); __i++) {
-      (*this)[__i] = static_cast<_Tp>(__v[__i]);
-    }
-  }
-
-  // implicit broadcast constructor
-  template <class _Up,
-            class = typename std::enable_if<__can_broadcast<_Up>()>::type>
-  simd(_Up&& __rv) {
-    auto __v = static_cast<_Tp>(__rv);
-    for (size_t __i = 0; __i < size(); __i++) {
-      (*this)[__i] = __v;
-    }
-  }
-
-  // generator constructor
-  template <class _Generator,
-            int = typename std::enable_if<
-                __can_generate<_Generator>(std::make_index_sequence<size()>()),
-                int>::type()>
-  explicit simd(_Generator&& __g) {
-    __generator_init(std::forward<_Generator>(__g),
-                     std::make_index_sequence<size()>());
-  }
-
-  // load constructor
-  template <
-      class _Up, class _Flags,
-      class = typename std::enable_if<__vectorizable<_Up>()>::type,
-      class = typename std::enable_if<is_simd_flag_type<_Flags>::value>::type>
-  simd(const _Up* __buffer, _Flags) {
-    // TODO: optimize for overaligned flags
-    for (size_t __i = 0; __i < size(); __i++) {
-      (*this)[__i] = static_cast<_Tp>(__buffer[__i]);
-    }
-  }
-
-  // loads [simd.load]
-  template <class _Up, class _Flags>
-  typename std::enable_if<__vectorizable<_Up>() &&
-                          is_simd_flag_type<_Flags>::value>::type
-  copy_from(const _Up* __buffer, _Flags) {
-    *this = simd(__buffer, _Flags());
-  }
-
-  // stores [simd.store]
-  template <class _Up, class _Flags>
-  typename std::enable_if<__vectorizable<_Up>() &&
-                          is_simd_flag_type<_Flags>::value>::type
-  copy_to(_Up* __buffer, _Flags) const {
-    // TODO: optimize for overaligned flags
-    for (size_t __i = 0; __i < size(); __i++) {
-      __buffer[__i] = static_cast<_Up>((*this)[__i]);
-    }
-  }
-
-  // scalar access [simd.subscr]
-  reference operator[](size_t __i) { return reference(&__s_, __i); }
-
-  value_type operator[](size_t __i) const { return __s_.__get(__i); }
-
-  // unary operators [simd.unary]
-  simd& operator++();
-  simd operator++(int);
-  simd& operator--();
-  simd operator--(int);
-  mask_type operator!() const;
-  simd operator~() const;
-  simd operator+() const;
-  simd operator-() const;
-
-  // binary operators [simd.binary]
-  friend simd operator+(const simd&, const simd&);
-  friend simd operator-(const simd&, const simd&);
-  friend simd operator*(const simd&, const simd&);
-  friend simd operator/(const simd&, const simd&);
-  friend simd operator%(const simd&, const simd&);
-  friend simd operator&(const simd&, const simd&);
-  friend simd operator|(const simd&, const simd&);
-  friend simd operator^(const simd&, const simd&);
-  friend simd operator<<(const simd&, const simd&);
-  friend simd operator>>(const simd&, const simd&);
-  friend simd operator<<(const simd&, int);
-  friend simd operator>>(const simd&, int);
-
-  // compound assignment [simd.cassign]
-  friend simd& operator+=(simd&, const simd&);
-  friend simd& operator-=(simd&, const simd&);
-  friend simd& operator*=(simd&, const simd&);
-  friend simd& operator/=(simd&, const simd&);
-  friend simd& operator%=(simd&, const simd&);
-
-  friend simd& operator&=(simd&, const simd&);
-  friend simd& operator|=(simd&, const simd&);
-  friend simd& operator^=(simd&, const simd&);
-  friend simd& operator<<=(simd&, const simd&);
-  friend simd& operator>>=(simd&, const simd&);
-  friend simd& operator<<=(simd&, int);
-  friend simd& operator>>=(simd&, int);
-
-  // compares [simd.comparison]
-  friend mask_type operator==(const simd&, const simd&);
-  friend mask_type operator!=(const simd&, const simd&);
-  friend mask_type operator>=(const simd&, const simd&);
-  friend mask_type operator<=(const simd&, const simd&);
-  friend mask_type operator>(const simd&, const simd&);
-  friend mask_type operator<(const simd&, const simd&);
-};
-
-// [simd.mask.class]
-template <class _Tp, class _Abi>
-// TODO: implement simd_mask
-class simd_mask {
-public:
-  using value_type = bool;
-  // TODO: this is strawman implementation. Turn it into a proxy type.
-  using reference = bool&;
-  using simd_type = simd<_Tp, _Abi>;
-  using abi_type = _Abi;
-  static constexpr size_t size() noexcept;
-  simd_mask() = default;
-
-  // broadcast constructor
-  explicit simd_mask(value_type) noexcept;
-
-  // implicit type conversion constructor
-  template <class _Up>
-  simd_mask(const simd_mask<_Up, simd_abi::fixed_size<size()>>&) noexcept;
-
-  // load constructor
-  template <class _Flags>
-  simd_mask(const value_type*, _Flags);
-
-  // loads [simd.mask.copy]
-  template <class _Flags>
-  void copy_from(const value_type*, _Flags);
-  template <class _Flags>
-  void copy_to(value_type*, _Flags) const;
-
-  // scalar access [simd.mask.subscr]
-  reference operator[](size_t);
-  value_type operator[](size_t) const;
-
-  // unary operators [simd.mask.unary]
-  simd_mask operator!() const noexcept;
-
-  // simd_mask binary operators [simd.mask.binary]
-  friend simd_mask operator&&(const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator||(const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator&(const simd_mask&, const simd_mask&)noexcept;
-  friend simd_mask operator|(const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator^(const simd_mask&, const simd_mask&) noexcept;
-
-  // simd_mask compound assignment [simd.mask.cassign]
-  friend simd_mask& operator&=(simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask& operator|=(simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask& operator^=(simd_mask&, const simd_mask&) noexcept;
-
-  // simd_mask compares [simd.mask.comparison]
-  friend simd_mask operator==(const simd_mask&, const simd_mask&) noexcept;
-  friend simd_mask operator!=(const simd_mask&, const simd_mask&) noexcept;
-};
-
-#endif // _LIBCPP_STD_VER >= 17
-
-_LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD
-
-#endif /* _LIBCPP_EXPERIMENTAL_SIMD */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/string b/r23/sources/cxx-stl/llvm-libc++/include/experimental/string
deleted file mode 100644
index 264ff92..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/string
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- string ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_STRING
-#define _LIBCPP_EXPERIMENTAL_STRING
-/*
-    experimental/string synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  // basic_string using polymorphic allocator in namespace pmr
-  template <class charT, class traits = char_traits<charT>>
-   using basic_string =
-     std::basic_string<charT, traits, polymorphic_allocator<charT>>;
-
-  // basic_string typedef names using polymorphic allocator in namespace
-  // std::experimental::pmr
-  typedef basic_string<char> string;
-  typedef basic_string<char16_t> u16string;
-  typedef basic_string<char32_t> u32string;
-  typedef basic_string<wchar_t> wstring;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <string>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _CharT, class _Traits = char_traits<_CharT>>
-using basic_string =
-    _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>;
-
-typedef basic_string<char> string;
-typedef basic_string<char16_t> u16string;
-typedef basic_string<char32_t> u32string;
-typedef basic_string<wchar_t> wstring;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_STRING */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/unordered_map b/r23/sources/cxx-stl/llvm-libc++/include/experimental/unordered_map
deleted file mode 100644
index eca9cea..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/unordered_map
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- C++ -*-
-//===------------------------- unordered_map ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_UNORDERED_MAP
-#define _LIBCPP_EXPERIMENTAL_UNORDERED_MAP
-/*
-    experimental/unordered_map synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class Key, class T,
-            class Hash = hash<Key>,
-            class Pred = equal_to<Key>>
-  using unordered_map =
-    std::unordered_map<Key, T, Hash, Pred,
-                       polymorphic_allocator<pair<const Key,T>>>;
-
-  template <class Key, class T,
-            class Hash = hash<Key>,
-            class Pred = equal_to<Key>>
-  using unordered_multimap =
-    std::unordered_multimap<Key, T, Hash, Pred,
-                            polymorphic_allocator<pair<const Key,T>>>;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <unordered_map>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _Key, class _Value,
-          class _Hash = hash<_Key>, class _Pred = equal_to<_Key>>
-using unordered_map = _VSTD::unordered_map<_Key, _Value, _Hash, _Pred,
-                        polymorphic_allocator<pair<const _Key, _Value>>>;
-
-template <class _Key, class _Value,
-          class _Hash = hash<_Key>, class _Pred = equal_to<_Key>>
-using unordered_multimap = _VSTD::unordered_multimap<_Key, _Value, _Hash, _Pred,
-                        polymorphic_allocator<pair<const _Key, _Value>>>;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_UNORDERED_MAP */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/unordered_set b/r23/sources/cxx-stl/llvm-libc++/include/experimental/unordered_set
deleted file mode 100644
index 323868f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/unordered_set
+++ /dev/null
@@ -1,58 +0,0 @@
-// -*- C++ -*-
-//===------------------------- unordered_set ------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_UNORDERED_SET
-#define _LIBCPP_EXPERIMENTAL_UNORDERED_SET
-/*
-    experimental/unordered_set synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class T, class Hash = hash<T>, class Pred = equal_to<T>>
-  using unordered_set = std::unordered_set<T, Hash, Pred,
-                       polymorphic_allocator<T>>;
-
-  template <class T, class Hash = hash<T>, class Pred = equal_to<T>>
-  using unordered_multiset = std::unordered_multiset<T, Hash, Pred,
-                       polymorphic_allocator<T>>;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <unordered_set>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _Value,
-          class _Hash = hash<_Value>, class _Pred = equal_to<_Value>>
-using unordered_set = _VSTD::unordered_set<_Value, _Hash, _Pred,
-                        polymorphic_allocator<_Value>>;
-
-template <class _Value,
-          class _Hash = hash<_Value>, class _Pred = equal_to<_Value>>
-using unordered_multiset = _VSTD::unordered_multiset<_Value, _Hash, _Pred,
-                        polymorphic_allocator<_Value>>;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_UNORDERED_SET */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/utility b/r23/sources/cxx-stl/llvm-libc++/include/experimental/utility
deleted file mode 100644
index 0bca0f7..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/utility
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- utility ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_UTILITY
-#define _LIBCPP_EXPERIMENTAL_UTILITY
-
-/*
-    experimental/utility synopsis
-
-// C++1y
-
-#include <utility>
-
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-
-  3.1.2, erased-type placeholder
-  struct erased_type { };
-
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <utility>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS
-
-  struct _LIBCPP_TEMPLATE_VIS erased_type { };
-
-_LIBCPP_END_NAMESPACE_LFTS
-
-#endif /* _LIBCPP_EXPERIMENTAL_UTILITY */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/experimental/vector b/r23/sources/cxx-stl/llvm-libc++/include/experimental/vector
deleted file mode 100644
index 9b81012..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/experimental/vector
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- vector ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXPERIMENTAL_VECTOR
-#define _LIBCPP_EXPERIMENTAL_VECTOR
-/*
-    experimental/vector synopsis
-
-// C++1z
-namespace std {
-namespace experimental {
-inline namespace fundamentals_v1 {
-namespace pmr {
-
-  template <class T>
-  using vector = std::vector<T, polymorphic_allocator<T>>;
-
-} // namespace pmr
-} // namespace fundamentals_v1
-} // namespace experimental
-} // namespace std
-
- */
-
-#include <experimental/__config>
-#include <vector>
-#include <experimental/memory_resource>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
-
-template <class _ValueT>
-using vector = _VSTD::vector<_ValueT, polymorphic_allocator<_ValueT>>;
-
-_LIBCPP_END_NAMESPACE_LFTS_PMR
-
-#endif /* _LIBCPP_EXPERIMENTAL_VECTOR */
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ext/__hash b/r23/sources/cxx-stl/llvm-libc++/include/ext/__hash
deleted file mode 100644
index d03f101..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/ext/__hash
+++ /dev/null
@@ -1,133 +0,0 @@
-// -*- C++ -*-
-//===------------------------- hash_set ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_EXT_HASH
-#define _LIBCPP_EXT_HASH
-
-#pragma GCC system_header
-
-#include <string>
-#include <cstring>
-
-namespace __gnu_cxx {
-
-template <typename _Tp> struct _LIBCPP_TEMPLATE_VIS hash { };
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<const char*>
- : public std::unary_function<const char*, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const char *__c) const _NOEXCEPT
-    {
-        return std::__do_string_hash(__c, __c + strlen(__c));
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<char *>
- : public std::unary_function<char*, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(char *__c) const _NOEXCEPT
-    {
-        return std::__do_string_hash<const char *>(__c, __c + strlen(__c));
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<char>
- : public std::unary_function<char, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(char __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<signed char>
- : public std::unary_function<signed char, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(signed char __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<unsigned char>
- : public std::unary_function<unsigned char, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(unsigned char __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<short>
- : public std::unary_function<short, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(short __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<unsigned short>
- : public std::unary_function<unsigned short, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(unsigned short __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<int>
-    : public std::unary_function<int, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(int __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<unsigned int>
-    : public std::unary_function<unsigned int, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(unsigned int __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<long>
-    : public std::unary_function<long, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(long __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-
-template <> struct _LIBCPP_TEMPLATE_VIS hash<unsigned long>
-    : public std::unary_function<unsigned long, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(unsigned long __c) const _NOEXCEPT
-    {
-        return __c;
-    }
-};
-}
-
-#endif  // _LIBCPP_EXT_HASH
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ext/hash_set b/r23/sources/cxx-stl/llvm-libc++/include/ext/hash_set
deleted file mode 100644
index f0ba8d8..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/ext/hash_set
+++ /dev/null
@@ -1,659 +0,0 @@
-// -*- C++ -*-
-//===------------------------- hash_set ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_HASH_SET
-#define _LIBCPP_HASH_SET
-
-/*
-
-    hash_set synopsis
-
-namespace __gnu_cxx
-{
-
-template <class Value, class Hash = hash<Value>, class Pred = equal_to<Value>,
-          class Alloc = allocator<Value>>
-class hash_set
-{
-public:
-    // types
-    typedef Value                                                      key_type;
-    typedef key_type                                                   value_type;
-    typedef Hash                                                       hasher;
-    typedef Pred                                                       key_equal;
-    typedef Alloc                                                      allocator_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef /unspecified/ iterator;
-    typedef /unspecified/ const_iterator;
-
-    explicit hash_set(size_type n = 193, const hasher& hf = hasher(),
-                           const key_equal& eql = key_equal(),
-                           const allocator_type& a = allocator_type());
-    template <class InputIterator>
-        hash_set(InputIterator f, InputIterator l,
-                      size_type n = 193, const hasher& hf = hasher(),
-                      const key_equal& eql = key_equal(),
-                      const allocator_type& a = allocator_type());
-    hash_set(const hash_set&);
-    ~hash_set();
-    hash_set& operator=(const hash_set&);
-
-    allocator_type get_allocator() const;
-
-    bool      empty() const;
-    size_type size() const;
-    size_type max_size() const;
-
-    iterator       begin();
-    iterator       end();
-    const_iterator begin()  const;
-    const_iterator end()    const;
-
-    pair<iterator, bool> insert(const value_type& obj);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-
-    void erase(const_iterator position);
-    size_type erase(const key_type& k);
-    void erase(const_iterator first, const_iterator last);
-    void clear();
-
-    void swap(hash_set&);
-
-    hasher hash_funct() const;
-    key_equal key_eq() const;
-
-    iterator       find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    size_type count(const key_type& k) const;
-    pair<iterator, iterator>             equal_range(const key_type& k);
-    pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
-
-    size_type bucket_count() const;
-    size_type max_bucket_count() const;
-
-    size_type elems_in_bucket(size_type n) const;
-
-    void resize(size_type n);
-};
-
-template <class Value, class Hash, class Pred, class Alloc>
-    void swap(hash_set<Value, Hash, Pred, Alloc>& x,
-              hash_set<Value, Hash, Pred, Alloc>& y);
-
-template <class Value, class Hash, class Pred, class Alloc>
-    bool
-    operator==(const hash_set<Value, Hash, Pred, Alloc>& x,
-               const hash_set<Value, Hash, Pred, Alloc>& y);
-
-template <class Value, class Hash, class Pred, class Alloc>
-    bool
-    operator!=(const hash_set<Value, Hash, Pred, Alloc>& x,
-               const hash_set<Value, Hash, Pred, Alloc>& y);
-
-template <class Value, class Hash = hash<Value>, class Pred = equal_to<Value>,
-          class Alloc = allocator<Value>>
-class hash_multiset
-{
-public:
-    // types
-    typedef Value                                                      key_type;
-    typedef key_type                                                   value_type;
-    typedef Hash                                                       hasher;
-    typedef Pred                                                       key_equal;
-    typedef Alloc                                                      allocator_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef /unspecified/ iterator;
-    typedef /unspecified/ const_iterator;
-
-    explicit hash_multiset(size_type n = 193, const hasher& hf = hasher(),
-                           const key_equal& eql = key_equal(),
-                           const allocator_type& a = allocator_type());
-    template <class InputIterator>
-        hash_multiset(InputIterator f, InputIterator l,
-                      size_type n = 193, const hasher& hf = hasher(),
-                      const key_equal& eql = key_equal(),
-                      const allocator_type& a = allocator_type());
-    hash_multiset(const hash_multiset&);
-    ~hash_multiset();
-    hash_multiset& operator=(const hash_multiset&);
-
-    allocator_type get_allocator() const;
-
-    bool      empty() const;
-    size_type size() const;
-    size_type max_size() const;
-
-    iterator       begin();
-    iterator       end();
-    const_iterator begin()  const;
-    const_iterator end()    const;
-
-    iterator insert(const value_type& obj);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-
-    void erase(const_iterator position);
-    size_type erase(const key_type& k);
-    void erase(const_iterator first, const_iterator last);
-    void clear();
-
-    void swap(hash_multiset&);
-
-    hasher hash_funct() const;
-    key_equal key_eq() const;
-
-    iterator       find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    size_type count(const key_type& k) const;
-    pair<iterator, iterator>             equal_range(const key_type& k);
-    pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
-
-    size_type bucket_count() const;
-    size_type max_bucket_count() const;
-
-    size_type elems_in_bucket(size_type n) const;
-
-    void resize(size_type n);
-};
-
-template <class Value, class Hash, class Pred, class Alloc>
-    void swap(hash_multiset<Value, Hash, Pred, Alloc>& x,
-              hash_multiset<Value, Hash, Pred, Alloc>& y);
-
-template <class Value, class Hash, class Pred, class Alloc>
-    bool
-    operator==(const hash_multiset<Value, Hash, Pred, Alloc>& x,
-               const hash_multiset<Value, Hash, Pred, Alloc>& y);
-
-template <class Value, class Hash, class Pred, class Alloc>
-    bool
-    operator!=(const hash_multiset<Value, Hash, Pred, Alloc>& x,
-               const hash_multiset<Value, Hash, Pred, Alloc>& y);
-}  // __gnu_cxx
-
-*/
-
-#include <__config>
-#include <__hash_table>
-#include <functional>
-#include <ext/__hash>
-
-#if __DEPRECATED
-#if defined(_LIBCPP_WARNING)
-    _LIBCPP_WARNING("Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>")
-#else
-#   warning Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>
-#endif
-#endif
-
-namespace __gnu_cxx {
-
-
-template <class _Value, class _Hash = hash<_Value>, class _Pred = std::equal_to<_Value>,
-          class _Alloc = std::allocator<_Value> >
-class _LIBCPP_TEMPLATE_VIS hash_set
-{
-public:
-    // types
-    typedef _Value                                                     key_type;
-    typedef key_type                                                   value_type;
-    typedef _Hash                                                      hasher;
-    typedef _Pred                                                      key_equal;
-    typedef _Alloc                                                     allocator_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-
-private:
-    typedef std::__hash_table<value_type, hasher, key_equal, allocator_type> __table;
-
-    __table __table_;
-
-public:
-    typedef typename __table::pointer         pointer;
-    typedef typename __table::const_pointer   const_pointer;
-    typedef typename __table::size_type       size_type;
-    typedef typename __table::difference_type difference_type;
-
-    typedef typename __table::const_iterator       iterator;
-    typedef typename __table::const_iterator       const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    hash_set() { }
-    explicit hash_set(size_type __n, const hasher& __hf = hasher(),
-                           const key_equal& __eql = key_equal());
-    hash_set(size_type __n, const hasher& __hf, const key_equal& __eql,
-                  const allocator_type& __a);
-    template <class _InputIterator>
-        hash_set(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        hash_set(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf = hasher(),
-                      const key_equal& __eql = key_equal());
-    template <class _InputIterator>
-        hash_set(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf, const key_equal& __eql,
-                      const allocator_type& __a);
-    hash_set(const hash_set& __u);
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const
-        {return allocator_type(__table_.__node_alloc());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const {return __table_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const  {return __table_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const {return __table_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin()        {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end()          {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const {return __table_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<iterator, bool> insert(const value_type& __x)
-        {return __table_.__insert_unique(__x);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator, const value_type& __x) {return insert(__x).first;}
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __first, _InputIterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void erase(const_iterator __p) {__table_.erase(__p);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    void erase(const_iterator __first, const_iterator __last)
-        {__table_.erase(__first, __last);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() {__table_.clear();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(hash_set& __u) {__table_.swap(__u.__table_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher hash_funct() const {return __table_.hash_function();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal key_eq() const {return __table_.key_eq();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       find(const key_type& __k)       {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type count(const key_type& __k) const {return __table_.__count_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<iterator, iterator>             equal_range(const key_type& __k)
-        {return __table_.__equal_range_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
-        {return __table_.__equal_range_unique(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const {return __table_.bucket_count();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const {return __table_.max_bucket_count();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type elems_in_bucket(size_type __n) const {return __table_.bucket_size(__n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void resize(size_type __n) {__table_.rehash(__n);}
-};
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-    __table_.rehash(__n);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-    __table_.rehash(__n);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(
-        _InputIterator __first, _InputIterator __last)
-{
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(
-        const hash_set& __u)
-    : __table_(__u.__table_)
-{
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-inline
-void
-hash_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
-                                                    _InputIterator __last)
-{
-    for (; __first != __last; ++__first)
-        __table_.__insert_unique(*__first);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(hash_set<_Value, _Hash, _Pred, _Alloc>& __x,
-     hash_set<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-bool
-operator==(const hash_set<_Value, _Hash, _Pred, _Alloc>& __x,
-           const hash_set<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    if (__x.size() != __y.size())
-        return false;
-    typedef typename hash_set<_Value, _Hash, _Pred, _Alloc>::const_iterator
-                                                                 const_iterator;
-    for (const_iterator __i = __x.begin(), __ex = __x.end(), __ey = __y.end();
-            __i != __ex; ++__i)
-    {
-        const_iterator __j = __y.find(*__i);
-        if (__j == __ey || !(*__i == *__j))
-            return false;
-    }
-    return true;
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const hash_set<_Value, _Hash, _Pred, _Alloc>& __x,
-           const hash_set<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Value, class _Hash = hash<_Value>, class _Pred = std::equal_to<_Value>,
-          class _Alloc = std::allocator<_Value> >
-class _LIBCPP_TEMPLATE_VIS hash_multiset
-{
-public:
-    // types
-    typedef _Value                                                     key_type;
-    typedef key_type                                                   value_type;
-    typedef _Hash                                                      hasher;
-    typedef _Pred                                                      key_equal;
-    typedef _Alloc                                                     allocator_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-
-private:
-    typedef std::__hash_table<value_type, hasher, key_equal, allocator_type> __table;
-
-    __table __table_;
-
-public:
-    typedef typename __table::pointer         pointer;
-    typedef typename __table::const_pointer   const_pointer;
-    typedef typename __table::size_type       size_type;
-    typedef typename __table::difference_type difference_type;
-
-    typedef typename __table::const_iterator       iterator;
-    typedef typename __table::const_iterator       const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    hash_multiset() { }
-    explicit hash_multiset(size_type __n, const hasher& __hf = hasher(),
-                                const key_equal& __eql = key_equal());
-    hash_multiset(size_type __n, const hasher& __hf,
-                       const key_equal& __eql, const allocator_type& __a);
-    template <class _InputIterator>
-        hash_multiset(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        hash_multiset(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf = hasher(),
-                      const key_equal& __eql = key_equal());
-    template <class _InputIterator>
-        hash_multiset(_InputIterator __first, _InputIterator __last,
-                      size_type __n , const hasher& __hf,
-                      const key_equal& __eql, const allocator_type& __a);
-    hash_multiset(const hash_multiset& __u);
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const
-        {return allocator_type(__table_.__node_alloc());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const {return __table_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const  {return __table_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const {return __table_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin()        {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end()          {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const {return __table_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator, const value_type& __x) {return insert(__x);}
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __first, _InputIterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    void erase(const_iterator __p) {__table_.erase(__p);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __table_.__erase_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    void erase(const_iterator __first, const_iterator __last)
-        {__table_.erase(__first, __last);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() {__table_.clear();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(hash_multiset& __u) {__table_.swap(__u.__table_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher hash_funct() const {return __table_.hash_function();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal key_eq() const {return __table_.key_eq();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       find(const key_type& __k)       {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type count(const key_type& __k) const {return __table_.__count_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<iterator, iterator>             equal_range(const key_type& __k)
-        {return __table_.__equal_range_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    std::pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
-        {return __table_.__equal_range_multi(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const {return __table_.bucket_count();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const {return __table_.max_bucket_count();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type elems_in_bucket(size_type __n) const {return __table_.bucket_size(__n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void resize(size_type __n) {__table_.rehash(__n);}
-};
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(
-        size_type __n, const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-    __table_.rehash(__n);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(
-        size_type __n, const hasher& __hf, const key_equal& __eql,
-        const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-    __table_.rehash(__n);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(
-        _InputIterator __first, _InputIterator __last)
-{
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(
-        const hash_multiset& __u)
-    : __table_(__u.__table_)
-{
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-inline
-void
-hash_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
-                                                    _InputIterator __last)
-{
-    for (; __first != __last; ++__first)
-        __table_.__insert_multi(*__first);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(hash_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
-     hash_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-bool
-operator==(const hash_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
-           const hash_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    if (__x.size() != __y.size())
-        return false;
-    typedef typename hash_multiset<_Value, _Hash, _Pred, _Alloc>::const_iterator
-                                                                 const_iterator;
-    typedef std::pair<const_iterator, const_iterator> _EqRng;
-    for (const_iterator __i = __x.begin(), __ex = __x.end(); __i != __ex;)
-    {
-        _EqRng __xeq = __x.equal_range(*__i);
-        _EqRng __yeq = __y.equal_range(*__i);
-        if (_VSTD::distance(__xeq.first, __xeq.second) !=
-            _VSTD::distance(__yeq.first, __yeq.second) ||
-                  !_VSTD::is_permutation(__xeq.first, __xeq.second, __yeq.first))
-            return false;
-        __i = __xeq.second;
-    }
-    return true;
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const hash_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
-           const hash_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-} // __gnu_cxx
-
-#endif  // _LIBCPP_HASH_SET
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/fenv.h b/r23/sources/cxx-stl/llvm-libc++/include/fenv.h
deleted file mode 100644
index 988cd9b..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/fenv.h
+++ /dev/null
@@ -1,116 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- math.h ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FENV_H
-#define _LIBCPP_FENV_H
-
-
-/*
-    fenv.h synopsis
-
-This entire header is C99 / C++0X
-
-Macros:
-
-    FE_DIVBYZERO
-    FE_INEXACT
-    FE_INVALID
-    FE_OVERFLOW
-    FE_UNDERFLOW
-    FE_ALL_EXCEPT
-    FE_DOWNWARD
-    FE_TONEAREST
-    FE_TOWARDZERO
-    FE_UPWARD
-    FE_DFL_ENV
-
-Types:
-
-    fenv_t
-    fexcept_t
-
-int feclearexcept(int excepts);
-int fegetexceptflag(fexcept_t* flagp, int excepts);
-int feraiseexcept(int excepts);
-int fesetexceptflag(const fexcept_t* flagp, int excepts);
-int fetestexcept(int excepts);
-int fegetround();
-int fesetround(int round);
-int fegetenv(fenv_t* envp);
-int feholdexcept(fenv_t* envp);
-int fesetenv(const fenv_t* envp);
-int feupdateenv(const fenv_t* envp);
-
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <fenv.h>
-
-#ifdef __cplusplus
-
-extern "C++" {
-
-#ifdef feclearexcept
-#undef feclearexcept
-#endif
-
-#ifdef fegetexceptflag
-#undef fegetexceptflag
-#endif
-
-
-#ifdef feraiseexcept
-#undef feraiseexcept
-#endif
-
-#ifdef fesetexceptflag
-#undef fesetexceptflag
-#endif
-
-
-#ifdef fetestexcept
-#undef fetestexcept
-#endif
-
-#ifdef fegetround
-#undef fegetround
-#endif
-
-#ifdef fesetround
-#undef fesetround
-#endif
-
-#ifdef fegetenv
-#undef fegetenv
-#endif
-
-#ifdef feholdexcept
-#undef feholdexcept
-#endif
-
-
-#ifdef fesetenv
-#undef fesetenv
-#endif
-
-#ifdef feupdateenv
-#undef feupdateenv
-#endif
-
-} // extern "C++"
-
-#endif // defined(__cplusplus)
-
-#endif // _LIBCPP_FENV_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/float.h b/r23/sources/cxx-stl/llvm-libc++/include/float.h
deleted file mode 100644
index 5c1e1db..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/float.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- float.h ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_FLOAT_H
-#define _LIBCPP_FLOAT_H
-
-/*
-    float.h synopsis
-
-Macros:
-
-    FLT_ROUNDS
-    FLT_EVAL_METHOD     // C99
-    FLT_RADIX
-
-    FLT_MANT_DIG
-    DBL_MANT_DIG
-    LDBL_MANT_DIG
-
-    FLT_HAS_SUBNORM     // C11
-    DBL_HAS_SUBNORM     // C11
-    LDBL_HAS_SUBNORM    // C11
-
-    DECIMAL_DIG         // C99
-    FLT_DECIMAL_DIG     // C11
-    DBL_DECIMAL_DIG     // C11
-    LDBL_DECIMAL_DIG    // C11
-
-    FLT_DIG
-    DBL_DIG
-    LDBL_DIG
-
-    FLT_MIN_EXP
-    DBL_MIN_EXP
-    LDBL_MIN_EXP
-
-    FLT_MIN_10_EXP
-    DBL_MIN_10_EXP
-    LDBL_MIN_10_EXP
-
-    FLT_MAX_EXP
-    DBL_MAX_EXP
-    LDBL_MAX_EXP
-
-    FLT_MAX_10_EXP
-    DBL_MAX_10_EXP
-    LDBL_MAX_10_EXP
-
-    FLT_MAX
-    DBL_MAX
-    LDBL_MAX
-
-    FLT_EPSILON
-    DBL_EPSILON
-    LDBL_EPSILON
-
-    FLT_MIN
-    DBL_MIN
-    LDBL_MIN
-
-    FLT_TRUE_MIN        // C11
-    DBL_TRUE_MIN        // C11
-    LDBL_TRUE_MIN       // C11
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <float.h>
-
-#ifdef __cplusplus
-
-#ifndef FLT_EVAL_METHOD
-#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
-#endif
-
-#ifndef DECIMAL_DIG
-#define DECIMAL_DIG __DECIMAL_DIG__
-#endif
-
-#endif // __cplusplus
-
-#endif  // _LIBCPP_FLOAT_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/initializer_list b/r23/sources/cxx-stl/llvm-libc++/include/initializer_list
deleted file mode 100644
index 893736f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/initializer_list
+++ /dev/null
@@ -1,117 +0,0 @@
-// -*- C++ -*-
-//===----------------------- initializer_list -----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_INITIALIZER_LIST
-#define _LIBCPP_INITIALIZER_LIST
-
-/*
-    initializer_list synopsis
-
-namespace std
-{
-
-template<class E>
-class initializer_list
-{
-public:
-    typedef E        value_type;
-    typedef const E& reference;
-    typedef const E& const_reference;
-    typedef size_t   size_type;
-
-    typedef const E* iterator;
-    typedef const E* const_iterator;
-
-    initializer_list() noexcept; // constexpr in C++14
-
-    size_t   size()  const noexcept; // constexpr in C++14
-    const E* begin() const noexcept; // constexpr in C++14
-    const E* end()   const noexcept; // constexpr in C++14
-};
-
-template<class E> const E* begin(initializer_list<E> il) noexcept; // constexpr in C++14
-template<class E> const E* end(initializer_list<E> il) noexcept; // constexpr in C++14
-
-}  // std
-
-*/
-
-#include <__config>
-#include <cstddef>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-namespace std  // purposefully not versioned
-{
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _Ep>
-class _LIBCPP_TEMPLATE_VIS initializer_list
-{
-    const _Ep* __begin_;
-    size_t    __size_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR_AFTER_CXX11
-    initializer_list(const _Ep* __b, size_t __s) _NOEXCEPT
-        : __begin_(__b),
-          __size_(__s)
-        {}
-public:
-    typedef _Ep        value_type;
-    typedef const _Ep& reference;
-    typedef const _Ep& const_reference;
-    typedef size_t    size_type;
-
-    typedef const _Ep* iterator;
-    typedef const _Ep* const_iterator;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR_AFTER_CXX11
-    initializer_list() _NOEXCEPT : __begin_(nullptr), __size_(0) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR_AFTER_CXX11
-    size_t    size()  const _NOEXCEPT {return __size_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const _Ep* begin() const _NOEXCEPT {return __begin_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_CONSTEXPR_AFTER_CXX11
-    const _Ep* end()   const _NOEXCEPT {return __begin_ + __size_;}
-};
-
-template<class _Ep>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Ep*
-begin(initializer_list<_Ep> __il) _NOEXCEPT
-{
-    return __il.begin();
-}
-
-template<class _Ep>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_CONSTEXPR_AFTER_CXX11
-const _Ep*
-end(initializer_list<_Ep> __il) _NOEXCEPT
-{
-    return __il.end();
-}
-
-#endif  // !defined(_LIBCPP_CXX03_LANG)
-
-}  // std
-
-#endif  // _LIBCPP_INITIALIZER_LIST
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/inttypes.h b/r23/sources/cxx-stl/llvm-libc++/include/inttypes.h
deleted file mode 100644
index e136b23..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/inttypes.h
+++ /dev/null
@@ -1,262 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- inttypes.h -------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_INTTYPES_H
-// AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T
-// is defined until an inclusion of it without _STD_TYPES_T occurs, in which
-// case the header guard macro is defined.
-#if !defined(_AIX) || !defined(_STD_TYPES_T)
-#define _LIBCPP_INTTYPES_H
-#endif // _STD_TYPES_T
-
-/*
-    inttypes.h synopsis
-
-This entire header is C99 / C++0X
-
-#include <stdint.h>  // <cinttypes> includes <cstdint>
-
-Macros:
-
-    PRId8
-    PRId16
-    PRId32
-    PRId64
-
-    PRIdLEAST8
-    PRIdLEAST16
-    PRIdLEAST32
-    PRIdLEAST64
-
-    PRIdFAST8
-    PRIdFAST16
-    PRIdFAST32
-    PRIdFAST64
-
-    PRIdMAX
-    PRIdPTR
-
-    PRIi8
-    PRIi16
-    PRIi32
-    PRIi64
-
-    PRIiLEAST8
-    PRIiLEAST16
-    PRIiLEAST32
-    PRIiLEAST64
-
-    PRIiFAST8
-    PRIiFAST16
-    PRIiFAST32
-    PRIiFAST64
-
-    PRIiMAX
-    PRIiPTR
-
-    PRIo8
-    PRIo16
-    PRIo32
-    PRIo64
-
-    PRIoLEAST8
-    PRIoLEAST16
-    PRIoLEAST32
-    PRIoLEAST64
-
-    PRIoFAST8
-    PRIoFAST16
-    PRIoFAST32
-    PRIoFAST64
-
-    PRIoMAX
-    PRIoPTR
-
-    PRIu8
-    PRIu16
-    PRIu32
-    PRIu64
-
-    PRIuLEAST8
-    PRIuLEAST16
-    PRIuLEAST32
-    PRIuLEAST64
-
-    PRIuFAST8
-    PRIuFAST16
-    PRIuFAST32
-    PRIuFAST64
-
-    PRIuMAX
-    PRIuPTR
-
-    PRIx8
-    PRIx16
-    PRIx32
-    PRIx64
-
-    PRIxLEAST8
-    PRIxLEAST16
-    PRIxLEAST32
-    PRIxLEAST64
-
-    PRIxFAST8
-    PRIxFAST16
-    PRIxFAST32
-    PRIxFAST64
-
-    PRIxMAX
-    PRIxPTR
-
-    PRIX8
-    PRIX16
-    PRIX32
-    PRIX64
-
-    PRIXLEAST8
-    PRIXLEAST16
-    PRIXLEAST32
-    PRIXLEAST64
-
-    PRIXFAST8
-    PRIXFAST16
-    PRIXFAST32
-    PRIXFAST64
-
-    PRIXMAX
-    PRIXPTR
-
-    SCNd8
-    SCNd16
-    SCNd32
-    SCNd64
-
-    SCNdLEAST8
-    SCNdLEAST16
-    SCNdLEAST32
-    SCNdLEAST64
-
-    SCNdFAST8
-    SCNdFAST16
-    SCNdFAST32
-    SCNdFAST64
-
-    SCNdMAX
-    SCNdPTR
-
-    SCNi8
-    SCNi16
-    SCNi32
-    SCNi64
-
-    SCNiLEAST8
-    SCNiLEAST16
-    SCNiLEAST32
-    SCNiLEAST64
-
-    SCNiFAST8
-    SCNiFAST16
-    SCNiFAST32
-    SCNiFAST64
-
-    SCNiMAX
-    SCNiPTR
-
-    SCNo8
-    SCNo16
-    SCNo32
-    SCNo64
-
-    SCNoLEAST8
-    SCNoLEAST16
-    SCNoLEAST32
-    SCNoLEAST64
-
-    SCNoFAST8
-    SCNoFAST16
-    SCNoFAST32
-    SCNoFAST64
-
-    SCNoMAX
-    SCNoPTR
-
-    SCNu8
-    SCNu16
-    SCNu32
-    SCNu64
-
-    SCNuLEAST8
-    SCNuLEAST16
-    SCNuLEAST32
-    SCNuLEAST64
-
-    SCNuFAST8
-    SCNuFAST16
-    SCNuFAST32
-    SCNuFAST64
-
-    SCNuMAX
-    SCNuPTR
-
-    SCNx8
-    SCNx16
-    SCNx32
-    SCNx64
-
-    SCNxLEAST8
-    SCNxLEAST16
-    SCNxLEAST32
-    SCNxLEAST64
-
-    SCNxFAST8
-    SCNxFAST16
-    SCNxFAST32
-    SCNxFAST64
-
-    SCNxMAX
-    SCNxPTR
-
-Types:
-
-    imaxdiv_t
-
-intmax_t  imaxabs(intmax_t j);
-imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
-intmax_t  strtoimax(const char* restrict nptr, char** restrict endptr, int base);
-uintmax_t strtoumax(const char* restrict nptr, char** restrict endptr, int base);
-intmax_t  wcstoimax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
-uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-/* C99 stdlib (e.g. glibc < 2.18) does not provide format macros needed
-   for C++11 unless __STDC_FORMAT_MACROS is defined
-*/
-#if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS)
-#   define __STDC_FORMAT_MACROS
-#endif
-
-#include_next <inttypes.h>
-
-#ifdef __cplusplus
-
-#include <stdint.h>
-
-#undef imaxabs
-#undef imaxdiv
-
-#endif // __cplusplus
-
-#endif  // _LIBCPP_INTTYPES_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/iomanip b/r23/sources/cxx-stl/llvm-libc++/include/iomanip
deleted file mode 100644
index 3f78f4d..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/iomanip
+++ /dev/null
@@ -1,670 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- iomanip ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_IOMANIP
-#define _LIBCPP_IOMANIP
-
-/*
-    iomanip synopsis
-
-namespace std {
-
-// types T1, T2, ... are unspecified implementation types
-T1 resetiosflags(ios_base::fmtflags mask);
-T2 setiosflags (ios_base::fmtflags mask);
-T3 setbase(int base);
-template<charT> T4 setfill(charT c);
-T5 setprecision(int n);
-T6 setw(int n);
-template <class moneyT> T7 get_money(moneyT& mon, bool intl = false);
-template <class charT, class moneyT> T8 put_money(const moneyT& mon, bool intl = false);
-template <class charT> T9 get_time(struct tm* tmb, const charT* fmt);
-template <class charT> T10 put_time(const struct tm* tmb, const charT* fmt);
-
-template <class charT>
-  T11 quoted(const charT* s, charT delim=charT('"'), charT escape=charT('\\')); // C++14
-
-template <class charT, class traits, class Allocator>
-  T12 quoted(const basic_string<charT, traits, Allocator>& s,
-             charT delim=charT('"'), charT escape=charT('\\')); // C++14
-
-template <class charT, class traits, class Allocator>
-  T13 quoted(basic_string<charT, traits, Allocator>& s,
-             charT delim=charT('"'), charT escape=charT('\\')); // C++14
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__string>
-#include <istream>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// resetiosflags
-
-class __iom_t1
-{
-    ios_base::fmtflags __mask_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __iom_t1(ios_base::fmtflags __m) : __mask_(__m) {}
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t1& __x)
-    {
-        __is.unsetf(__x.__mask_);
-        return __is;
-    }
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t1& __x)
-    {
-        __os.unsetf(__x.__mask_);
-        return __os;
-    }
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t1
-resetiosflags(ios_base::fmtflags __mask)
-{
-    return __iom_t1(__mask);
-}
-
-// setiosflags
-
-class __iom_t2
-{
-    ios_base::fmtflags __mask_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __iom_t2(ios_base::fmtflags __m) : __mask_(__m) {}
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t2& __x)
-    {
-        __is.setf(__x.__mask_);
-        return __is;
-    }
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t2& __x)
-    {
-        __os.setf(__x.__mask_);
-        return __os;
-    }
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t2
-setiosflags(ios_base::fmtflags __mask)
-{
-    return __iom_t2(__mask);
-}
-
-// setbase
-
-class __iom_t3
-{
-    int __base_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __iom_t3(int __b) : __base_(__b) {}
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t3& __x)
-    {
-        __is.setf(__x.__base_ == 8  ? ios_base::oct :
-                  __x.__base_ == 10 ? ios_base::dec :
-                  __x.__base_ == 16 ? ios_base::hex :
-                  ios_base::fmtflags(0), ios_base::basefield);
-        return __is;
-    }
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t3& __x)
-    {
-        __os.setf(__x.__base_ == 8  ? ios_base::oct :
-                  __x.__base_ == 10 ? ios_base::dec :
-                  __x.__base_ == 16 ? ios_base::hex :
-                  ios_base::fmtflags(0), ios_base::basefield);
-        return __os;
-    }
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t3
-setbase(int __base)
-{
-    return __iom_t3(__base);
-}
-
-// setfill
-
-template<class _CharT>
-class __iom_t4
-{
-    _CharT __fill_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __iom_t4(_CharT __c) : __fill_(__c) {}
-
-    template <class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t4& __x)
-    {
-        __os.fill(__x.__fill_);
-        return __os;
-    }
-};
-
-template<class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t4<_CharT>
-setfill(_CharT __c)
-{
-    return __iom_t4<_CharT>(__c);
-}
-
-// setprecision
-
-class __iom_t5
-{
-    int __n_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __iom_t5(int __n) : __n_(__n) {}
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t5& __x)
-    {
-        __is.precision(__x.__n_);
-        return __is;
-    }
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t5& __x)
-    {
-        __os.precision(__x.__n_);
-        return __os;
-    }
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t5
-setprecision(int __n)
-{
-    return __iom_t5(__n);
-}
-
-// setw
-
-class __iom_t6
-{
-    int __n_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __iom_t6(int __n) : __n_(__n) {}
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t6& __x)
-    {
-        __is.width(__x.__n_);
-        return __is;
-    }
-
-    template <class _CharT, class _Traits>
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t6& __x)
-    {
-        __os.width(__x.__n_);
-        return __os;
-    }
-};
-
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t6
-setw(int __n)
-{
-    return __iom_t6(__n);
-}
-
-// get_money
-
-template <class _MoneyT> class __iom_t7;
-
-template <class _CharT, class _Traits, class _MoneyT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t7<_MoneyT>& __x);
-
-template <class _MoneyT>
-class __iom_t7
-{
-    _MoneyT& __mon_;
-    bool __intl_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __iom_t7(_MoneyT& __mon, bool __intl)
-        : __mon_(__mon), __intl_(__intl) {}
-
-    template <class _CharT, class _Traits, class _Mp>
-    friend
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t7<_Mp>& __x);
-};
-
-template <class _CharT, class _Traits, class _MoneyT>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t7<_MoneyT>& __x)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typename basic_istream<_CharT, _Traits>::sentry __s(__is);
-        if (__s)
-        {
-            typedef istreambuf_iterator<_CharT, _Traits> _Ip;
-            typedef money_get<_CharT, _Ip> _Fp;
-            ios_base::iostate __err = ios_base::goodbit;
-            const _Fp& __mf = use_facet<_Fp>(__is.getloc());
-            __mf.get(_Ip(__is), _Ip(), __x.__intl_, __is, __err, __x.__mon_);
-            __is.setstate(__err);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __is.__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return __is;
-}
-
-template <class _MoneyT>
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t7<_MoneyT>
-get_money(_MoneyT& __mon, bool __intl = false)
-{
-    return __iom_t7<_MoneyT>(__mon, __intl);
-}
-
-// put_money
-
-template <class _MoneyT> class __iom_t8;
-
-template <class _CharT, class _Traits, class _MoneyT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t8<_MoneyT>& __x);
-
-template <class _MoneyT>
-class __iom_t8
-{
-    const _MoneyT& __mon_;
-    bool __intl_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __iom_t8(const _MoneyT& __mon, bool __intl)
-        : __mon_(__mon), __intl_(__intl) {}
-
-    template <class _CharT, class _Traits, class _Mp>
-    friend
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t8<_Mp>& __x);
-};
-
-template <class _CharT, class _Traits, class _MoneyT>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t8<_MoneyT>& __x)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
-        if (__s)
-        {
-            typedef ostreambuf_iterator<_CharT, _Traits> _Op;
-            typedef money_put<_CharT, _Op> _Fp;
-            const _Fp& __mf = use_facet<_Fp>(__os.getloc());
-            if (__mf.put(_Op(__os), __x.__intl_, __os, __os.fill(), __x.__mon_).failed())
-                __os.setstate(ios_base::badbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __os.__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return __os;
-}
-
-template <class _MoneyT>
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t8<_MoneyT>
-put_money(const _MoneyT& __mon, bool __intl = false)
-{
-    return __iom_t8<_MoneyT>(__mon, __intl);
-}
-
-// get_time
-
-template <class _CharT> class __iom_t9;
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t9<_CharT>& __x);
-
-template <class _CharT>
-class __iom_t9
-{
-    tm* __tm_;
-    const _CharT* __fmt_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __iom_t9(tm* __tm, const _CharT* __fmt)
-        : __tm_(__tm), __fmt_(__fmt) {}
-
-    template <class _Cp, class _Traits>
-    friend
-    basic_istream<_Cp, _Traits>&
-    operator>>(basic_istream<_Cp, _Traits>& __is, const __iom_t9<_Cp>& __x);
-};
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t9<_CharT>& __x)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typename basic_istream<_CharT, _Traits>::sentry __s(__is);
-        if (__s)
-        {
-            typedef istreambuf_iterator<_CharT, _Traits> _Ip;
-            typedef time_get<_CharT, _Ip> _Fp;
-            ios_base::iostate __err = ios_base::goodbit;
-            const _Fp& __tf = use_facet<_Fp>(__is.getloc());
-            __tf.get(_Ip(__is), _Ip(), __is, __err, __x.__tm_,
-                     __x.__fmt_, __x.__fmt_ + _Traits::length(__x.__fmt_));
-            __is.setstate(__err);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __is.__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return __is;
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t9<_CharT>
-get_time(tm* __tm, const _CharT* __fmt)
-{
-    return __iom_t9<_CharT>(__tm, __fmt);
-}
-
-// put_time
-
-template <class _CharT> class __iom_t10;
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t10<_CharT>& __x);
-
-template <class _CharT>
-class __iom_t10
-{
-    const tm* __tm_;
-    const _CharT* __fmt_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __iom_t10(const tm* __tm, const _CharT* __fmt)
-        : __tm_(__tm), __fmt_(__fmt) {}
-
-    template <class _Cp, class _Traits>
-    friend
-    basic_ostream<_Cp, _Traits>&
-    operator<<(basic_ostream<_Cp, _Traits>& __os, const __iom_t10<_Cp>& __x);
-};
-
-template <class _CharT, class _Traits>
-basic_ostream<_CharT, _Traits>&
-operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t10<_CharT>& __x)
-{
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
-        if (__s)
-        {
-            typedef ostreambuf_iterator<_CharT, _Traits> _Op;
-            typedef time_put<_CharT, _Op> _Fp;
-            const _Fp& __tf = use_facet<_Fp>(__os.getloc());
-            if (__tf.put(_Op(__os), __os, __os.fill(), __x.__tm_,
-                         __x.__fmt_, __x.__fmt_ + _Traits::length(__x.__fmt_)).failed())
-                __os.setstate(ios_base::badbit);
-        }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        __os.__set_badbit_and_consider_rethrow();
-    }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    return __os;
-}
-
-template <class _CharT>
-inline _LIBCPP_INLINE_VISIBILITY
-__iom_t10<_CharT>
-put_time(const tm* __tm, const _CharT* __fmt)
-{
-    return __iom_t10<_CharT>(__tm, __fmt);
-}
-
-template <class _CharT, class _Traits, class _ForwardIterator>
-std::basic_ostream<_CharT, _Traits> &
-__quoted_output ( basic_ostream<_CharT, _Traits> &__os,
-        _ForwardIterator __first, _ForwardIterator __last, _CharT __delim, _CharT __escape )
-{
-    _VSTD::basic_string<_CharT, _Traits> __str;
-    __str.push_back(__delim);
-    for ( ; __first != __last; ++ __first )
-    {
-        if (_Traits::eq (*__first, __escape) || _Traits::eq (*__first, __delim))
-            __str.push_back(__escape);
-        __str.push_back(*__first);
-    }
-    __str.push_back(__delim);
-    return __put_character_sequence(__os, __str.data(), __str.size());
-}
-
-template <class _CharT, class _Traits, class _String>
-basic_istream<_CharT, _Traits> &
-__quoted_input ( basic_istream<_CharT, _Traits> &__is, _String & __string, _CharT __delim, _CharT __escape )
-{
-    __string.clear ();
-    _CharT __c;
-    __is >> __c;
-    if ( __is.fail ())
-        return __is;
-
-    if (!_Traits::eq (__c, __delim))    // no delimiter, read the whole string
-    {
-        __is.unget ();
-        __is >> __string;
-        return __is;
-    }
-
-    __save_flags<_CharT, _Traits> sf(__is);
-    noskipws (__is);
-    while (true)
-        {
-        __is >> __c;
-        if ( __is.fail ())
-            break;
-        if (_Traits::eq (__c, __escape))
-        {
-            __is >> __c;
-            if ( __is.fail ())
-                break;
-        }
-        else if (_Traits::eq (__c, __delim))
-            break;
-        __string.push_back ( __c );
-        }
-    return __is;
-}
-
-
-template <class _CharT, class _Traits, class _Iter>
-basic_ostream<_CharT, _Traits>& operator<<(
-         basic_ostream<_CharT, _Traits>& __os,
-         const __quoted_output_proxy<_CharT, _Iter, _Traits> & __proxy)
-{
-    return __quoted_output (__os, __proxy.__first, __proxy.__last, __proxy.__delim, __proxy.__escape);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-struct __quoted_proxy
-{
-    basic_string<_CharT, _Traits, _Allocator> &__string;
-    _CharT  __delim;
-    _CharT  __escape;
-
-    __quoted_proxy(basic_string<_CharT, _Traits, _Allocator> &__s, _CharT __d, _CharT __e)
-    : __string(__s), __delim(__d), __escape(__e) {}
-};
-
-template <class _CharT, class _Traits, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY
-basic_ostream<_CharT, _Traits>& operator<<(
-        basic_ostream<_CharT, _Traits>& __os,
-        const __quoted_proxy<_CharT, _Traits, _Allocator> & __proxy)
-{
-    return __quoted_output (__os, __proxy.__string.cbegin (), __proxy.__string.cend (), __proxy.__delim, __proxy.__escape);
-}
-
-//  extractor for non-const basic_string& proxies
-template <class _CharT, class _Traits, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>& operator>>(
-        basic_istream<_CharT, _Traits>& __is,
-        const __quoted_proxy<_CharT, _Traits, _Allocator> & __proxy)
-{
-    return __quoted_input ( __is, __proxy.__string, __proxy.__delim, __proxy.__escape );
-}
-
-
-template <class _CharT>
-_LIBCPP_INLINE_VISIBILITY
-__quoted_output_proxy<_CharT, const _CharT *>
-quoted ( const _CharT *__s, _CharT __delim = _CharT('"'), _CharT __escape =_CharT('\\'))
-{
-    const _CharT *__end = __s;
-    while ( *__end ) ++__end;
-    return __quoted_output_proxy<_CharT, const _CharT *> ( __s, __end, __delim, __escape );
-}
-
-
-template <class _CharT, class _Traits, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY
-__quoted_output_proxy<_CharT, typename basic_string <_CharT, _Traits, _Allocator>::const_iterator>
-__quoted ( const basic_string <_CharT, _Traits, _Allocator> &__s, _CharT __delim = _CharT('"'), _CharT __escape=_CharT('\\'))
-{
-    return __quoted_output_proxy<_CharT,
-            typename basic_string <_CharT, _Traits, _Allocator>::const_iterator>
-                    ( __s.cbegin(), __s.cend (), __delim, __escape );
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY
-__quoted_proxy<_CharT, _Traits, _Allocator>
-__quoted ( basic_string <_CharT, _Traits, _Allocator> &__s, _CharT __delim = _CharT('"'), _CharT __escape=_CharT('\\'))
-{
-    return __quoted_proxy<_CharT, _Traits, _Allocator>( __s, __delim, __escape );
-}
-
-
-#if _LIBCPP_STD_VER > 11
-
-template <class _CharT, class _Traits, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY
-__quoted_output_proxy<_CharT, typename basic_string <_CharT, _Traits, _Allocator>::const_iterator>
-quoted ( const basic_string <_CharT, _Traits, _Allocator> &__s, _CharT __delim = _CharT('"'), _CharT __escape=_CharT('\\'))
-{
-    return __quoted(__s, __delim, __escape);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY
-__quoted_proxy<_CharT, _Traits, _Allocator>
-quoted ( basic_string <_CharT, _Traits, _Allocator> &__s, _CharT __delim = _CharT('"'), _CharT __escape=_CharT('\\'))
-{
-    return __quoted(__s, __delim, __escape);
-}
-
-template <class _CharT, class _Traits>
-__quoted_output_proxy<_CharT, const _CharT *, _Traits>
-quoted (basic_string_view <_CharT, _Traits> __sv,
-             _CharT __delim = _CharT('"'), _CharT __escape=_CharT('\\'))
-{
-    return __quoted_output_proxy<_CharT, const _CharT *, _Traits>
-         ( __sv.data(), __sv.data() + __sv.size(), __delim, __escape );
-}
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_IOMANIP
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/iosfwd b/r23/sources/cxx-stl/llvm-libc++/include/iosfwd
deleted file mode 100644
index 0ffe75f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/iosfwd
+++ /dev/null
@@ -1,220 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- iosfwd -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_IOSFWD
-#define _LIBCPP_IOSFWD
-
-/*
-    iosfwd synopsis
-
-namespace std
-{
-
-template<class charT> struct char_traits;
-template<>            struct char_traits<char>;
-template<>            struct char_traits<char8_t>;  // C++20
-template<>            struct char_traits<char16_t>;
-template<>            struct char_traits<char32_t>;
-template<>            struct char_traits<wchar_t>;
-
-template<class T>     class allocator;
-
-class ios_base;
-template <class charT, class traits = char_traits<charT> > class basic_ios;
-
-template <class charT, class traits = char_traits<charT> > class basic_streambuf;
-template <class charT, class traits = char_traits<charT> > class basic_istream;
-template <class charT, class traits = char_traits<charT> > class basic_ostream;
-template <class charT, class traits = char_traits<charT> > class basic_iostream;
-
-template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-    class basic_stringbuf;
-template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-    class basic_istringstream;
-template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-    class basic_ostringstream;
-template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-    class basic_stringstream;
-
-template <class charT, class traits = char_traits<charT> > class basic_filebuf;
-template <class charT, class traits = char_traits<charT> > class basic_ifstream;
-template <class charT, class traits = char_traits<charT> > class basic_ofstream;
-template <class charT, class traits = char_traits<charT> > class basic_fstream;
-
-template <class charT, class traits = char_traits<charT> > class istreambuf_iterator;
-template <class charT, class traits = char_traits<charT> > class ostreambuf_iterator;
-
-typedef basic_ios<char>              ios;
-typedef basic_ios<wchar_t>           wios;
-
-typedef basic_streambuf<char>        streambuf;
-typedef basic_istream<char>          istream;
-typedef basic_ostream<char>          ostream;
-typedef basic_iostream<char>         iostream;
-
-typedef basic_stringbuf<char>        stringbuf;
-typedef basic_istringstream<char>    istringstream;
-typedef basic_ostringstream<char>    ostringstream;
-typedef basic_stringstream<char>     stringstream;
-
-typedef basic_filebuf<char>          filebuf;
-typedef basic_ifstream<char>         ifstream;
-typedef basic_ofstream<char>         ofstream;
-typedef basic_fstream<char>          fstream;
-
-typedef basic_streambuf<wchar_t>     wstreambuf;
-typedef basic_istream<wchar_t>       wistream;
-typedef basic_ostream<wchar_t>       wostream;
-typedef basic_iostream<wchar_t>      wiostream;
-
-typedef basic_stringbuf<wchar_t>     wstringbuf;
-typedef basic_istringstream<wchar_t> wistringstream;
-typedef basic_ostringstream<wchar_t> wostringstream;
-typedef basic_stringstream<wchar_t>  wstringstream;
-
-typedef basic_filebuf<wchar_t>       wfilebuf;
-typedef basic_ifstream<wchar_t>      wifstream;
-typedef basic_ofstream<wchar_t>      wofstream;
-typedef basic_fstream<wchar_t>       wfstream;
-
-template <class state> class fpos;
-typedef fpos<char_traits<char>::state_type>    streampos;
-typedef fpos<char_traits<wchar_t>::state_type> wstreampos;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <wchar.h>  // for mbstate_t
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-class _LIBCPP_TYPE_VIS ios_base;
-
-template<class _CharT>  struct _LIBCPP_TEMPLATE_VIS char_traits;
-template<> struct char_traits<char>;
-#ifndef _LIBCPP_NO_HAS_CHAR8_T
-template<> struct char_traits<char8_t>;
-#endif
-template<> struct char_traits<char16_t>;
-template<> struct char_traits<char32_t>;
-template<> struct char_traits<wchar_t>;
-
-template<class _Tp>     class _LIBCPP_TEMPLATE_VIS allocator;
-
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_ios;
-
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_streambuf;
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_istream;
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_ostream;
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_iostream;
-
-template <class _CharT, class _Traits = char_traits<_CharT>,
-          class _Allocator = allocator<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_stringbuf;
-template <class _CharT, class _Traits = char_traits<_CharT>,
-          class _Allocator = allocator<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_istringstream;
-template <class _CharT, class _Traits = char_traits<_CharT>,
-          class _Allocator = allocator<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_ostringstream;
-template <class _CharT, class _Traits = char_traits<_CharT>,
-          class _Allocator = allocator<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_stringstream;
-
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_filebuf;
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_ifstream;
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_ofstream;
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_fstream;
-
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS istreambuf_iterator;
-template <class _CharT, class _Traits = char_traits<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator;
-
-typedef basic_ios<char>              ios;
-typedef basic_ios<wchar_t>           wios;
-
-typedef basic_streambuf<char>        streambuf;
-typedef basic_istream<char>          istream;
-typedef basic_ostream<char>          ostream;
-typedef basic_iostream<char>         iostream;
-
-typedef basic_stringbuf<char>        stringbuf;
-typedef basic_istringstream<char>    istringstream;
-typedef basic_ostringstream<char>    ostringstream;
-typedef basic_stringstream<char>     stringstream;
-
-typedef basic_filebuf<char>          filebuf;
-typedef basic_ifstream<char>         ifstream;
-typedef basic_ofstream<char>         ofstream;
-typedef basic_fstream<char>          fstream;
-
-typedef basic_streambuf<wchar_t>     wstreambuf;
-typedef basic_istream<wchar_t>       wistream;
-typedef basic_ostream<wchar_t>       wostream;
-typedef basic_iostream<wchar_t>      wiostream;
-
-typedef basic_stringbuf<wchar_t>     wstringbuf;
-typedef basic_istringstream<wchar_t> wistringstream;
-typedef basic_ostringstream<wchar_t> wostringstream;
-typedef basic_stringstream<wchar_t>  wstringstream;
-
-typedef basic_filebuf<wchar_t>       wfilebuf;
-typedef basic_ifstream<wchar_t>      wifstream;
-typedef basic_ofstream<wchar_t>      wofstream;
-typedef basic_fstream<wchar_t>       wfstream;
-
-template <class _State>             class _LIBCPP_TEMPLATE_VIS fpos;
-typedef fpos<mbstate_t>    streampos;
-typedef fpos<mbstate_t>    wstreampos;
-#ifndef _LIBCPP_NO_HAS_CHAR8_T
-typedef fpos<mbstate_t>    u8streampos;
-#endif
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-typedef fpos<mbstate_t>    u16streampos;
-typedef fpos<mbstate_t>    u32streampos;
-#endif  // _LIBCPP_HAS_NO_UNICODE_CHARS
-
-#if defined(_NEWLIB_VERSION)
-// On newlib, off_t is 'long int'
-typedef long int streamoff;         // for char_traits in <string>
-#else
-typedef long long streamoff;        // for char_traits in <string>
-#endif
-
-template <class _CharT,             // for <stdexcept>
-          class _Traits = char_traits<_CharT>,
-          class _Allocator = allocator<_CharT> >
-    class _LIBCPP_TEMPLATE_VIS basic_string;
-typedef basic_string<char, char_traits<char>, allocator<char> > string;
-typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring;
-
-
-// Include other forward declarations here
-template <class _Tp, class _Alloc = allocator<_Tp> >
-class _LIBCPP_TEMPLATE_VIS vector;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_IOSFWD
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/iostream b/r23/sources/cxx-stl/llvm-libc++/include/iostream
deleted file mode 100644
index 595620b..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/iostream
+++ /dev/null
@@ -1,63 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- iostream ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_IOSTREAM
-#define _LIBCPP_IOSTREAM
-
-/*
-    iostream synopsis
-
-#include <ios>
-#include <streambuf>
-#include <istream>
-#include <ostream>
-
-namespace std {
-
-extern istream cin;
-extern ostream cout;
-extern ostream cerr;
-extern ostream clog;
-extern wistream wcin;
-extern wostream wcout;
-extern wostream wcerr;
-extern wostream wclog;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <ios>
-#include <streambuf>
-#include <istream>
-#include <ostream>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifndef _LIBCPP_HAS_NO_STDIN
-extern _LIBCPP_FUNC_VIS istream cin;
-extern _LIBCPP_FUNC_VIS wistream wcin;
-#endif
-#ifndef _LIBCPP_HAS_NO_STDOUT
-extern _LIBCPP_FUNC_VIS ostream cout;
-extern _LIBCPP_FUNC_VIS wostream wcout;
-#endif
-extern _LIBCPP_FUNC_VIS ostream cerr;
-extern _LIBCPP_FUNC_VIS wostream wcerr;
-extern _LIBCPP_FUNC_VIS ostream clog;
-extern _LIBCPP_FUNC_VIS wostream wclog;
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_IOSTREAM
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/istream b/r23/sources/cxx-stl/llvm-libc++/include/istream
deleted file mode 100644
index bfbe5f2..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/istream
+++ /dev/null
@@ -1,1651 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- istream ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_ISTREAM
-#define _LIBCPP_ISTREAM
-
-/*
-    istream synopsis
-
-template <class charT, class traits = char_traits<charT> >
-class basic_istream
-    : virtual public basic_ios<charT,traits>
-{
-public:
-    // types (inherited from basic_ios (27.5.4)):
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    // 27.7.1.1.1 Constructor/destructor:
-    explicit basic_istream(basic_streambuf<char_type, traits_type>* sb);
-    basic_istream(basic_istream&& rhs);
-    virtual ~basic_istream();
-
-    // 27.7.1.1.2 Assign/swap:
-    basic_istream& operator=(basic_istream&& rhs);
-    void swap(basic_istream& rhs);
-
-    // 27.7.1.1.3 Prefix/suffix:
-    class sentry;
-
-    // 27.7.1.2 Formatted input:
-    basic_istream& operator>>(basic_istream& (*pf)(basic_istream&));
-    basic_istream& operator>>(basic_ios<char_type, traits_type>&
-                              (*pf)(basic_ios<char_type, traits_type>&));
-    basic_istream& operator>>(ios_base& (*pf)(ios_base&));
-    basic_istream& operator>>(basic_streambuf<char_type, traits_type>* sb);
-    basic_istream& operator>>(bool& n);
-    basic_istream& operator>>(short& n);
-    basic_istream& operator>>(unsigned short& n);
-    basic_istream& operator>>(int& n);
-    basic_istream& operator>>(unsigned int& n);
-    basic_istream& operator>>(long& n);
-    basic_istream& operator>>(unsigned long& n);
-    basic_istream& operator>>(long long& n);
-    basic_istream& operator>>(unsigned long long& n);
-    basic_istream& operator>>(float& f);
-    basic_istream& operator>>(double& f);
-    basic_istream& operator>>(long double& f);
-    basic_istream& operator>>(void*& p);
-
-    // 27.7.1.3 Unformatted input:
-    streamsize gcount() const;
-    int_type get();
-    basic_istream& get(char_type& c);
-    basic_istream& get(char_type* s, streamsize n);
-    basic_istream& get(char_type* s, streamsize n, char_type delim);
-    basic_istream& get(basic_streambuf<char_type,traits_type>& sb);
-    basic_istream& get(basic_streambuf<char_type,traits_type>& sb, char_type delim);
-
-    basic_istream& getline(char_type* s, streamsize n);
-    basic_istream& getline(char_type* s, streamsize n, char_type delim);
-
-    basic_istream& ignore(streamsize n = 1, int_type delim = traits_type::eof());
-    int_type peek();
-    basic_istream& read (char_type* s, streamsize n);
-    streamsize readsome(char_type* s, streamsize n);
-
-    basic_istream& putback(char_type c);
-    basic_istream& unget();
-    int sync();
-
-    pos_type tellg();
-    basic_istream& seekg(pos_type);
-    basic_istream& seekg(off_type, ios_base::seekdir);
-protected:
-    basic_istream(const basic_istream& rhs) = delete;
-    basic_istream(basic_istream&& rhs);
-    // 27.7.2.1.2 Assign/swap:
-    basic_istream& operator=(const basic_istream& rhs) = delete;
-    basic_istream& operator=(basic_istream&& rhs);
-    void swap(basic_istream& rhs);
-};
-
-// 27.7.1.2.3 character extraction templates:
-template<class charT, class traits>
-  basic_istream<charT,traits>& operator>>(basic_istream<charT,traits>&, charT&);
-
-template<class traits>
-  basic_istream<char,traits>& operator>>(basic_istream<char,traits>&, unsigned char&);
-
-template<class traits>
-  basic_istream<char,traits>& operator>>(basic_istream<char,traits>&, signed char&);
-
-template<class charT, class traits>
-  basic_istream<charT,traits>& operator>>(basic_istream<charT,traits>&, charT*);
-
-template<class traits>
-  basic_istream<char,traits>& operator>>(basic_istream<char,traits>&, unsigned char*);
-
-template<class traits>
-  basic_istream<char,traits>& operator>>(basic_istream<char,traits>&, signed char*);
-
-template <class charT, class traits>
-  void
-  swap(basic_istream<charT, traits>& x, basic_istream<charT, traits>& y);
-
-typedef basic_istream<char> istream;
-typedef basic_istream<wchar_t> wistream;
-
-template <class charT, class traits = char_traits<charT> >
-class basic_iostream :
-    public basic_istream<charT,traits>,
-    public basic_ostream<charT,traits>
-{
-public:
-    // types:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    // constructor/destructor
-    explicit basic_iostream(basic_streambuf<char_type, traits_type>* sb);
-    basic_iostream(basic_iostream&& rhs);
-    virtual ~basic_iostream();
-
-    // assign/swap
-    basic_iostream& operator=(basic_iostream&& rhs);
-    void swap(basic_iostream& rhs);
-};
-
-template <class charT, class traits>
-  void
-  swap(basic_iostream<charT, traits>& x, basic_iostream<charT, traits>& y);
-
-typedef basic_iostream<char> iostream;
-typedef basic_iostream<wchar_t> wiostream;
-
-template <class charT, class traits>
-  basic_istream<charT,traits>&
-  ws(basic_istream<charT,traits>& is);
-
-template <class charT, class traits, class T>
-  basic_istream<charT, traits>&
-  operator>>(basic_istream<charT, traits>&& is, T& x);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <version>
-#include <ostream>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_istream
-    : virtual public basic_ios<_CharT, _Traits>
-{
-    streamsize __gc_;
-public:
-    // types (inherited from basic_ios (27.5.4)):
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    // 27.7.1.1.1 Constructor/destructor:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    explicit basic_istream(basic_streambuf<char_type, traits_type>* __sb) : __gc_(0)
-    { this->init(__sb); }
-    virtual ~basic_istream();
-protected:
-#ifndef _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_istream(basic_istream&& __rhs);
-
-    // 27.7.1.1.2 Assign/swap:
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_istream& operator=(basic_istream&& __rhs);
-#endif
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    void swap(basic_istream& __rhs) {
-      _VSTD::swap(__gc_, __rhs.__gc_);
-      basic_ios<char_type, traits_type>::swap(__rhs);
-    }
-
-#ifndef _LIBCPP_CXX03_LANG
-    basic_istream           (const basic_istream& __rhs) = delete;
-    basic_istream& operator=(const basic_istream& __rhs) = delete;
-#endif
-public:
-
-    // 27.7.1.1.3 Prefix/suffix:
-    class _LIBCPP_TEMPLATE_VIS sentry;
-
-    // 27.7.1.2 Formatted input:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_istream& operator>>(basic_istream& (*__pf)(basic_istream&))
-    { return __pf(*this); }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_istream& operator>>(basic_ios<char_type, traits_type>&
-                              (*__pf)(basic_ios<char_type, traits_type>&))
-    { __pf(*this); return *this; }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_istream& operator>>(ios_base& (*__pf)(ios_base&))
-    { __pf(*this); return *this; }
-
-    basic_istream& operator>>(basic_streambuf<char_type, traits_type>* __sb);
-    basic_istream& operator>>(bool& __n);
-    basic_istream& operator>>(short& __n);
-    basic_istream& operator>>(unsigned short& __n);
-    basic_istream& operator>>(int& __n);
-    basic_istream& operator>>(unsigned int& __n);
-    basic_istream& operator>>(long& __n);
-    basic_istream& operator>>(unsigned long& __n);
-    basic_istream& operator>>(long long& __n);
-    basic_istream& operator>>(unsigned long long& __n);
-    basic_istream& operator>>(float& __f);
-    basic_istream& operator>>(double& __f);
-    basic_istream& operator>>(long double& __f);
-    basic_istream& operator>>(void*& __p);
-
-    // 27.7.1.3 Unformatted input:
-    _LIBCPP_INLINE_VISIBILITY
-    streamsize gcount() const {return __gc_;}
-    int_type get();
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_istream& get(char_type& __c) {
-      int_type __ch = get();
-      if (__ch != traits_type::eof())
-        __c = traits_type::to_char_type(__ch);
-      return *this;
-    }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_istream& get(char_type* __s, streamsize __n)
-    { return get(__s, __n, this->widen('\n')); }
-
-    basic_istream& get(char_type* __s, streamsize __n, char_type __dlm);
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_istream& get(basic_streambuf<char_type, traits_type>& __sb)
-    { return get(__sb, this->widen('\n')); }
-
-    basic_istream& get(basic_streambuf<char_type, traits_type>& __sb, char_type __dlm);
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_istream& getline(char_type* __s, streamsize __n)
-    { return getline(__s, __n, this->widen('\n')); }
-
-    basic_istream& getline(char_type* __s, streamsize __n, char_type __dlm);
-
-    basic_istream& ignore(streamsize __n = 1, int_type __dlm = traits_type::eof());
-    int_type peek();
-    basic_istream& read (char_type* __s, streamsize __n);
-    streamsize readsome(char_type* __s, streamsize __n);
-
-    basic_istream& putback(char_type __c);
-    basic_istream& unget();
-    int sync();
-
-    pos_type tellg();
-    basic_istream& seekg(pos_type __pos);
-    basic_istream& seekg(off_type __off, ios_base::seekdir __dir);
-};
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_istream<_CharT, _Traits>::sentry
-{
-    bool __ok_;
-
-    sentry(const sentry&); // = delete;
-    sentry& operator=(const sentry&); // = delete;
-
-public:
-    explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
-//    ~sentry() = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-        _LIBCPP_EXPLICIT
-        operator bool() const {return __ok_;}
-};
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>::sentry::sentry(basic_istream<_CharT, _Traits>& __is,
-                                               bool __noskipws)
-    : __ok_(false)
-{
-    if (__is.good())
-    {
-        if (__is.tie())
-            __is.tie()->flush();
-        if (!__noskipws && (__is.flags() & ios_base::skipws))
-        {
-            typedef istreambuf_iterator<_CharT, _Traits> _Ip;
-            const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__is.getloc());
-            _Ip __i(__is);
-            _Ip __eof;
-            for (; __i != __eof; ++__i)
-                if (!__ct.is(__ct.space, *__i))
-                    break;
-            if (__i == __eof)
-                __is.setstate(ios_base::failbit | ios_base::eofbit);
-        }
-        __ok_ = __is.good();
-    }
-    else
-        __is.setstate(ios_base::failbit);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>::basic_istream(basic_istream&& __rhs)
-    : __gc_(__rhs.__gc_)
-{
-    __rhs.__gc_ = 0;
-    this->move(__rhs);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator=(basic_istream&& __rhs)
-{
-    swap(__rhs);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>::~basic_istream()
-{
-}
-
-template <class _Tp, class _CharT, class _Traits>
-_LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-__input_arithmetic(basic_istream<_CharT, _Traits>& __is, _Tp& __n) {
-    ios_base::iostate __state = ios_base::goodbit;
-    typename basic_istream<_CharT, _Traits>::sentry __s(__is);
-    if (__s)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            typedef istreambuf_iterator<_CharT, _Traits> _Ip;
-            typedef num_get<_CharT, _Ip> _Fp;
-            use_facet<_Fp>(__is.getloc()).get(_Ip(__is), _Ip(), __is, __state, __n);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            __is.__setstate_nothrow(__state);
-            if (__is.exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif
-        __is.setstate(__state);
-    }
-    return __is;
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(unsigned short& __n)
-{
-    return _VSTD::__input_arithmetic<unsigned short>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(unsigned int& __n)
-{
-    return _VSTD::__input_arithmetic<unsigned int>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(long& __n)
-{
-    return _VSTD::__input_arithmetic<long>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(unsigned long& __n)
-{
-    return _VSTD::__input_arithmetic<unsigned long>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(long long& __n)
-{
-    return _VSTD::__input_arithmetic<long long>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(unsigned long long& __n)
-{
-    return _VSTD::__input_arithmetic<unsigned long long>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(float& __n)
-{
-    return _VSTD::__input_arithmetic<float>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(double& __n)
-{
-    return _VSTD::__input_arithmetic<double>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(long double& __n)
-{
-    return _VSTD::__input_arithmetic<long double>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(bool& __n)
-{
-    return _VSTD::__input_arithmetic<bool>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(void*& __n)
-{
-    return _VSTD::__input_arithmetic<void*>(*this, __n);
-}
-
-template <class _Tp, class _CharT, class _Traits>
-_LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-__input_arithmetic_with_numeric_limits(basic_istream<_CharT, _Traits>& __is, _Tp& __n) {
-    ios_base::iostate __state = ios_base::goodbit;
-    typename basic_istream<_CharT, _Traits>::sentry __s(__is);
-    if (__s)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            typedef istreambuf_iterator<_CharT, _Traits> _Ip;
-            typedef num_get<_CharT, _Ip> _Fp;
-            long __temp;
-            use_facet<_Fp>(__is.getloc()).get(_Ip(__is), _Ip(), __is, __state, __temp);
-            if (__temp < numeric_limits<_Tp>::min())
-            {
-                __state |= ios_base::failbit;
-                __n = numeric_limits<_Tp>::min();
-            }
-            else if (__temp > numeric_limits<_Tp>::max())
-            {
-                __state |= ios_base::failbit;
-                __n = numeric_limits<_Tp>::max();
-            }
-            else
-            {
-                __n = static_cast<_Tp>(__temp);
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            __is.__setstate_nothrow(__state);
-            if (__is.exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __is.setstate(__state);
-    }
-    return __is;
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(short& __n)
-{
-    return _VSTD::__input_arithmetic_with_numeric_limits<short>(*this, __n);
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(int& __n)
-{
-    return _VSTD::__input_arithmetic_with_numeric_limits<int>(*this, __n);
-}
-
-template<class _CharT, class _Traits>
-_LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-__input_c_string(basic_istream<_CharT, _Traits>& __is, _CharT* __p, size_t __n)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif
-            _CharT* __s = __p;
-            const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__is.getloc());
-            while (__s != __p + (__n-1))
-            {
-                typename _Traits::int_type __i = __is.rdbuf()->sgetc();
-                if (_Traits::eq_int_type(__i, _Traits::eof()))
-                {
-                   __state |= ios_base::eofbit;
-                   break;
-                }
-                _CharT __ch = _Traits::to_char_type(__i);
-                if (__ct.is(__ct.space, __ch))
-                    break;
-                *__s++ = __ch;
-                 __is.rdbuf()->sbumpc();
-            }
-            *__s = _CharT();
-            __is.width(0);
-            if (__s == __p)
-               __state |= ios_base::failbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            __is.__setstate_nothrow(__state);
-            if (__is.exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif
-        __is.setstate(__state);
-    }
-    return __is;
-}
-
-#if _LIBCPP_STD_VER > 17
-
-template<class _CharT, class _Traits, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, _CharT (&__buf)[_Np])
-{
-    size_t __n = _Np;
-    if (__is.width() > 0)
-        __n = _VSTD::min(size_t(__is.width()), _Np);
-    return _VSTD::__input_c_string(__is, __buf, __n);
-}
-
-template<class _Traits, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<char, _Traits>&
-operator>>(basic_istream<char, _Traits>& __is, unsigned char (&__buf)[_Np])
-{
-    return __is >> (char(&)[_Np])__buf;
-}
-
-template<class _Traits, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<char, _Traits>&
-operator>>(basic_istream<char, _Traits>& __is, signed char (&__buf)[_Np])
-{
-    return __is >> (char(&)[_Np])__buf;
-}
-
-#else
-
-template<class _CharT, class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, _CharT* __s)
-{
-    streamsize __n = __is.width();
-    if (__n <= 0)
-        __n = numeric_limits<streamsize>::max() / sizeof(_CharT) - 1;
-    return _VSTD::__input_c_string(__is, __s, size_t(__n));
-}
-
-template<class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<char, _Traits>&
-operator>>(basic_istream<char, _Traits>& __is, unsigned char* __s)
-{
-    return __is >> (char*)__s;
-}
-
-template<class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<char, _Traits>&
-operator>>(basic_istream<char, _Traits>& __is, signed char* __s)
-{
-    return __is >> (char*)__s;
-}
-
-#endif  // _LIBCPP_STD_VER > 17
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, _CharT& __c)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif
-            typename _Traits::int_type __i = __is.rdbuf()->sbumpc();
-            if (_Traits::eq_int_type(__i, _Traits::eof()))
-                __state |= ios_base::eofbit | ios_base::failbit;
-            else
-                __c = _Traits::to_char_type(__i);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            __is.__setstate_nothrow(__state);
-            if (__is.exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif
-        __is.setstate(__state);
-    }
-    return __is;
-}
-
-template<class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<char, _Traits>&
-operator>>(basic_istream<char, _Traits>& __is, unsigned char& __c)
-{
-    return __is >> (char&)__c;
-}
-
-template<class _Traits>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<char, _Traits>&
-operator>>(basic_istream<char, _Traits>& __is, signed char& __c)
-{
-    return __is >> (char&)__c;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::operator>>(basic_streambuf<char_type, traits_type>* __sb)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    sentry __s(*this, true);
-    if (__s)
-    {
-        if (__sb)
-        {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-            try
-            {
-#endif // _LIBCPP_NO_EXCEPTIONS
-                while (true)
-                {
-                    typename traits_type::int_type __i = this->rdbuf()->sgetc();
-                    if (traits_type::eq_int_type(__i, _Traits::eof()))
-                    {
-                       __state |= ios_base::eofbit;
-                       break;
-                    }
-                    if (traits_type::eq_int_type(
-                            __sb->sputc(traits_type::to_char_type(__i)),
-                            traits_type::eof()))
-                        break;
-                    ++__gc_;
-                    this->rdbuf()->sbumpc();
-                }
-                if (__gc_ == 0)
-                   __state |= ios_base::failbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-            }
-            catch (...)
-            {
-                __state |= ios_base::badbit;
-                if (__gc_ == 0)
-                    __state |= ios_base::failbit;
-
-                this->__setstate_nothrow(__state);
-                if (this->exceptions() & ios_base::failbit || this->exceptions() & ios_base::badbit)
-                {
-                    throw;
-                }
-            }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        }
-        else
-        {
-            __state |= ios_base::failbit;
-        }
-        this->setstate(__state);
-    }
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-typename basic_istream<_CharT, _Traits>::int_type
-basic_istream<_CharT, _Traits>::get()
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    int_type __r = traits_type::eof();
-    sentry __s(*this, true);
-    if (__s)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif
-            __r = this->rdbuf()->sbumpc();
-            if (traits_type::eq_int_type(__r, traits_type::eof()))
-               __state |= ios_base::failbit | ios_base::eofbit;
-            else
-                __gc_ = 1;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            this->__setstate_nothrow(this->rdstate() | ios_base::badbit);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif
-        this->setstate(__state);
-    }
-    return __r;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::get(char_type* __s, streamsize __n, char_type __dlm)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-        if (__n > 0)
-        {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-            try
-            {
-#endif
-                while (__gc_ < __n-1)
-                {
-                    int_type __i = this->rdbuf()->sgetc();
-                    if (traits_type::eq_int_type(__i, traits_type::eof()))
-                    {
-                       __state |= ios_base::eofbit;
-                       break;
-                    }
-                    char_type __ch = traits_type::to_char_type(__i);
-                    if (traits_type::eq(__ch, __dlm))
-                        break;
-                    *__s++ = __ch;
-                    ++__gc_;
-                     this->rdbuf()->sbumpc();
-                }
-                if (__gc_ == 0)
-                   __state |= ios_base::failbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-            }
-            catch (...)
-            {
-                __state |= ios_base::badbit;
-                this->__setstate_nothrow(__state);
-                if (this->exceptions() & ios_base::badbit)
-                {
-                    if (__n > 0)
-                        *__s = char_type();
-                    throw;
-                }
-            }
-#endif
-        }
-        else
-        {
-            __state |= ios_base::failbit;
-        }
-
-        if (__n > 0)
-            *__s = char_type();
-        this->setstate(__state);
-    }
-    if (__n > 0)
-        *__s = char_type();
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __sb,
-                                    char_type __dlm)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            while (true)
-            {
-                typename traits_type::int_type __i = this->rdbuf()->sgetc();
-                if (traits_type::eq_int_type(__i, traits_type::eof()))
-                {
-                   __state |= ios_base::eofbit;
-                   break;
-                }
-                char_type __ch = traits_type::to_char_type(__i);
-                if (traits_type::eq(__ch, __dlm))
-                    break;
-                if (traits_type::eq_int_type(__sb.sputc(__ch), traits_type::eof()))
-                    break;
-                ++__gc_;
-                this->rdbuf()->sbumpc();
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            // according to the spec, exceptions here are caught but not rethrown
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        if (__gc_ == 0)
-           __state |= ios_base::failbit;
-        this->setstate(__state);
-    }
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n, char_type __dlm)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            while (true)
-            {
-                typename traits_type::int_type __i = this->rdbuf()->sgetc();
-                if (traits_type::eq_int_type(__i, traits_type::eof()))
-                {
-                   __state |= ios_base::eofbit;
-                   break;
-                }
-                char_type __ch = traits_type::to_char_type(__i);
-                if (traits_type::eq(__ch, __dlm))
-                {
-                    this->rdbuf()->sbumpc();
-                    ++__gc_;
-                    break;
-                }
-                if (__gc_ >= __n-1)
-                {
-                    __state |= ios_base::failbit;
-                    break;
-                }
-                *__s++ = __ch;
-                this->rdbuf()->sbumpc();
-                ++__gc_;
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                if (__n > 0)
-                    *__s = char_type();
-                if (__gc_ == 0)
-                    __state |= ios_base::failbit;
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-    if (__n > 0)
-        *__s = char_type();
-    if (__gc_ == 0)
-        __state |= ios_base::failbit;
-    this->setstate(__state);
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::ignore(streamsize __n, int_type __dlm)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            if (__n == numeric_limits<streamsize>::max())
-            {
-                while (true)
-                {
-                    typename traits_type::int_type __i = this->rdbuf()->sbumpc();
-                    if (traits_type::eq_int_type(__i, traits_type::eof()))
-                    {
-                       __state |= ios_base::eofbit;
-                       break;
-                    }
-                    ++__gc_;
-                    if (traits_type::eq_int_type(__i, __dlm))
-                        break;
-                }
-            }
-            else
-            {
-                while (__gc_ < __n)
-                {
-                    typename traits_type::int_type __i = this->rdbuf()->sbumpc();
-                    if (traits_type::eq_int_type(__i, traits_type::eof()))
-                    {
-                       __state |= ios_base::eofbit;
-                       break;
-                    }
-                    ++__gc_;
-                    if (traits_type::eq_int_type(__i, __dlm))
-                        break;
-                }
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        this->setstate(__state);
-    }
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-typename basic_istream<_CharT, _Traits>::int_type
-basic_istream<_CharT, _Traits>::peek()
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    int_type __r = traits_type::eof();
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            __r = this->rdbuf()->sgetc();
-            if (traits_type::eq_int_type(__r, traits_type::eof()))
-                __state |= ios_base::eofbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        this->setstate(__state);
-    }
-    return __r;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::read(char_type* __s, streamsize __n)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            __gc_ = this->rdbuf()->sgetn(__s, __n);
-            if (__gc_ != __n)
-                __state |= ios_base::failbit | ios_base::eofbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-    else
-    {
-        __state |= ios_base::failbit;
-    }
-    this->setstate(__state);
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-streamsize
-basic_istream<_CharT, _Traits>::readsome(char_type* __s, streamsize __n)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    __gc_ = 0;
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            streamsize __c = this->rdbuf()->in_avail();
-            switch (__c)
-            {
-            case -1:
-                __state |= ios_base::eofbit;
-                break;
-            case 0:
-                break;
-            default:
-                __n = _VSTD::min(__c, __n);
-                __gc_ = this->rdbuf()->sgetn(__s, __n);
-                if (__gc_ != __n)
-                    __state |= ios_base::failbit | ios_base::eofbit;
-                break;
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-    else
-    {
-        __state |= ios_base::failbit;
-    }
-    this->setstate(__state);
-    return __gc_;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::putback(char_type __c)
-{
-    ios_base::iostate __state = this->rdstate() & ~ios_base::eofbit;
-    __gc_ = 0;
-    this->clear(__state);
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            if (this->rdbuf() == 0 || this->rdbuf()->sputbackc(__c) == traits_type::eof())
-                __state |= ios_base::badbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-    else
-    {
-        __state |= ios_base::failbit;
-    }
-    this->setstate(__state);
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::unget()
-{
-    ios_base::iostate __state = this->rdstate() & ~ios_base::eofbit;
-    __gc_ = 0;
-    this->clear(__state);
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            if (this->rdbuf() == 0 || this->rdbuf()->sungetc() == traits_type::eof())
-                __state |= ios_base::badbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-    }
-    else
-    {
-        __state |= ios_base::failbit;
-    }
-    this->setstate(__state);
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-int
-basic_istream<_CharT, _Traits>::sync()
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    int __r = 0;
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            if (this->rdbuf() == 0)
-                return -1;
-            if (this->rdbuf()->pubsync() == -1)
-            {
-                __state |= ios_base::badbit;
-                return -1;
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        this->setstate(__state);
-    }
-    return __r;
-}
-
-template<class _CharT, class _Traits>
-typename basic_istream<_CharT, _Traits>::pos_type
-basic_istream<_CharT, _Traits>::tellg()
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    pos_type __r(-1);
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __r = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in);
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        this->setstate(__state);
-    }
-    return __r;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::seekg(pos_type __pos)
-{
-    ios_base::iostate __state = this->rdstate() & ~ios_base::eofbit;
-    this->clear(__state);
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            if (this->rdbuf()->pubseekpos(__pos, ios_base::in) == pos_type(-1))
-                __state |= ios_base::failbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        this->setstate(__state);
-    }
-    return *this;
-}
-
-template<class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-basic_istream<_CharT, _Traits>::seekg(off_type __off, ios_base::seekdir __dir)
-{
-    ios_base::iostate __state = this->rdstate() & ~ios_base::eofbit;
-    this->clear(__state);
-    sentry __sen(*this, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            if (this->rdbuf()->pubseekoff(__off, __dir, ios_base::in) == pos_type(-1))
-                __state |= ios_base::failbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            this->__setstate_nothrow(__state);
-            if (this->exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        this->setstate(__state);
-    }
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-basic_istream<_CharT, _Traits>&
-ws(basic_istream<_CharT, _Traits>& __is)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    typename basic_istream<_CharT, _Traits>::sentry __sen(__is, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-            const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__is.getloc());
-            while (true)
-            {
-                typename _Traits::int_type __i = __is.rdbuf()->sgetc();
-                if (_Traits::eq_int_type(__i, _Traits::eof()))
-                {
-                   __state |= ios_base::eofbit;
-                   break;
-                }
-                if (!__ct.is(__ct.space, _Traits::to_char_type(__i)))
-                    break;
-                __is.rdbuf()->sbumpc();
-            }
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            __is.__setstate_nothrow(__state);
-            if (__is.exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        __is.setstate(__state);
-    }
-    return __is;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp&& __x)
-{
-    __is >> _VSTD::forward<_Tp>(__x);
-    return __is;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_iostream
-    : public basic_istream<_CharT, _Traits>,
-      public basic_ostream<_CharT, _Traits>
-{
-public:
-    // types:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    // constructor/destructor
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    explicit basic_iostream(basic_streambuf<char_type, traits_type>* __sb)
-      : basic_istream<_CharT, _Traits>(__sb)
-    {}
-
-    virtual ~basic_iostream();
-protected:
-#ifndef _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_iostream(basic_iostream&& __rhs);
-
-    // assign/swap
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_iostream& operator=(basic_iostream&& __rhs);
-#endif
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    void swap(basic_iostream& __rhs)
-    { basic_istream<char_type, traits_type>::swap(__rhs); }
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-basic_iostream<_CharT, _Traits>::basic_iostream(basic_iostream&& __rhs)
-    : basic_istream<_CharT, _Traits>(_VSTD::move(__rhs))
-{
-}
-
-template <class _CharT, class _Traits>
-basic_iostream<_CharT, _Traits>&
-basic_iostream<_CharT, _Traits>::operator=(basic_iostream&& __rhs)
-{
-    swap(__rhs);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits>
-basic_iostream<_CharT, _Traits>::~basic_iostream()
-{
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is,
-           basic_string<_CharT, _Traits, _Allocator>& __str)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif
-            __str.clear();
-            streamsize __n = __is.width();
-            if (__n <= 0)
-                __n = __str.max_size();
-            if (__n <= 0)
-                __n = numeric_limits<streamsize>::max();
-            streamsize __c = 0;
-            const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__is.getloc());
-            while (__c < __n)
-            {
-                typename _Traits::int_type __i = __is.rdbuf()->sgetc();
-                if (_Traits::eq_int_type(__i, _Traits::eof()))
-                {
-                   __state |= ios_base::eofbit;
-                   break;
-                }
-                _CharT __ch = _Traits::to_char_type(__i);
-                if (__ct.is(__ct.space, __ch))
-                    break;
-                __str.push_back(__ch);
-                ++__c;
-                 __is.rdbuf()->sbumpc();
-            }
-            __is.width(0);
-            if (__c == 0)
-               __state |= ios_base::failbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            __is.__setstate_nothrow(__state);
-            if (__is.exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif
-        __is.setstate(__state);
-    }
-    return __is;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-basic_istream<_CharT, _Traits>&
-getline(basic_istream<_CharT, _Traits>& __is,
-        basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    typename basic_istream<_CharT, _Traits>::sentry __sen(__is, true);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif
-            __str.clear();
-            streamsize __extr = 0;
-            while (true)
-            {
-                typename _Traits::int_type __i = __is.rdbuf()->sbumpc();
-                if (_Traits::eq_int_type(__i, _Traits::eof()))
-                {
-                   __state |= ios_base::eofbit;
-                   break;
-                }
-                ++__extr;
-                _CharT __ch = _Traits::to_char_type(__i);
-                if (_Traits::eq(__ch, __dlm))
-                    break;
-                __str.push_back(__ch);
-                if (__str.size() == __str.max_size())
-                {
-                    __state |= ios_base::failbit;
-                    break;
-                }
-            }
-            if (__extr == 0)
-               __state |= ios_base::failbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            __is.__setstate_nothrow(__state);
-            if (__is.exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif
-        __is.setstate(__state);
-    }
-    return __is;
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-getline(basic_istream<_CharT, _Traits>& __is,
-        basic_string<_CharT, _Traits, _Allocator>& __str)
-{
-    return getline(__is, __str, __is.widen('\n'));
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-getline(basic_istream<_CharT, _Traits>&& __is,
-        basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
-{
-    return getline(__is, __str, __dlm);
-}
-
-template<class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-basic_istream<_CharT, _Traits>&
-getline(basic_istream<_CharT, _Traits>&& __is,
-        basic_string<_CharT, _Traits, _Allocator>& __str)
-{
-    return getline(__is, __str, __is.widen('\n'));
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, size_t _Size>
-basic_istream<_CharT, _Traits>&
-operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x)
-{
-    ios_base::iostate __state = ios_base::goodbit;
-    typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
-    if (__sen)
-    {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        try
-        {
-#endif
-            basic_string<_CharT, _Traits> __str;
-            const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__is.getloc());
-            size_t __c = 0;
-            _CharT __zero = __ct.widen('0');
-            _CharT __one = __ct.widen('1');
-            while (__c < _Size)
-            {
-                typename _Traits::int_type __i = __is.rdbuf()->sgetc();
-                if (_Traits::eq_int_type(__i, _Traits::eof()))
-                {
-                   __state |= ios_base::eofbit;
-                   break;
-                }
-                _CharT __ch = _Traits::to_char_type(__i);
-                if (!_Traits::eq(__ch, __zero) && !_Traits::eq(__ch, __one))
-                    break;
-                __str.push_back(__ch);
-                ++__c;
-                 __is.rdbuf()->sbumpc();
-            }
-            __x = bitset<_Size>(__str);
-            if (_Size > 0 && __c == 0)
-               __state |= ios_base::failbit;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        }
-        catch (...)
-        {
-            __state |= ios_base::badbit;
-            __is.__setstate_nothrow(__state);
-            if (__is.exceptions() & ios_base::badbit)
-            {
-                throw;
-            }
-        }
-#endif
-        __is.setstate(__state);
-    }
-    return __is;
-}
-
-#ifndef _LIBCPP_DO_NOT_ASSUME_STREAMS_EXPLICIT_INSTANTIATION_IN_DYLIB
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istream<char>)
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istream<wchar_t>)
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_iostream<char>)
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_ISTREAM
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/limits b/r23/sources/cxx-stl/llvm-libc++/include/limits
deleted file mode 100644
index 6d5d1e1..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/limits
+++ /dev/null
@@ -1,818 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- limits ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_LIMITS
-#define _LIBCPP_LIMITS
-
-/*
-    limits synopsis
-
-namespace std
-{
-
-template<class T>
-class numeric_limits
-{
-public:
-    static constexpr bool is_specialized = false;
-    static constexpr T min() noexcept;
-    static constexpr T max() noexcept;
-    static constexpr T lowest() noexcept;
-
-    static constexpr int  digits = 0;
-    static constexpr int  digits10 = 0;
-    static constexpr int  max_digits10 = 0;
-    static constexpr bool is_signed = false;
-    static constexpr bool is_integer = false;
-    static constexpr bool is_exact = false;
-    static constexpr int  radix = 0;
-    static constexpr T epsilon() noexcept;
-    static constexpr T round_error() noexcept;
-
-    static constexpr int  min_exponent = 0;
-    static constexpr int  min_exponent10 = 0;
-    static constexpr int  max_exponent = 0;
-    static constexpr int  max_exponent10 = 0;
-
-    static constexpr bool has_infinity = false;
-    static constexpr bool has_quiet_NaN = false;
-    static constexpr bool has_signaling_NaN = false;
-    static constexpr float_denorm_style has_denorm = denorm_absent;
-    static constexpr bool has_denorm_loss = false;
-    static constexpr T infinity() noexcept;
-    static constexpr T quiet_NaN() noexcept;
-    static constexpr T signaling_NaN() noexcept;
-    static constexpr T denorm_min() noexcept;
-
-    static constexpr bool is_iec559 = false;
-    static constexpr bool is_bounded = false;
-    static constexpr bool is_modulo = false;
-
-    static constexpr bool traps = false;
-    static constexpr bool tinyness_before = false;
-    static constexpr float_round_style round_style = round_toward_zero;
-};
-
-enum float_round_style
-{
-    round_indeterminate       = -1,
-    round_toward_zero         =  0,
-    round_to_nearest          =  1,
-    round_toward_infinity     =  2,
-    round_toward_neg_infinity =  3
-};
-
-enum float_denorm_style
-{
-    denorm_indeterminate = -1,
-    denorm_absent = 0,
-    denorm_present = 1
-};
-
-template<> class numeric_limits<cv bool>;
-
-template<> class numeric_limits<cv char>;
-template<> class numeric_limits<cv signed char>;
-template<> class numeric_limits<cv unsigned char>;
-template<> class numeric_limits<cv wchar_t>;
-template<> class numeric_limits<cv char8_t>; // C++20
-template<> class numeric_limits<cv char16_t>;
-template<> class numeric_limits<cv char32_t>;
-
-template<> class numeric_limits<cv short>;
-template<> class numeric_limits<cv int>;
-template<> class numeric_limits<cv long>;
-template<> class numeric_limits<cv long long>;
-template<> class numeric_limits<cv unsigned short>;
-template<> class numeric_limits<cv unsigned int>;
-template<> class numeric_limits<cv unsigned long>;
-template<> class numeric_limits<cv unsigned long long>;
-
-template<> class numeric_limits<cv float>;
-template<> class numeric_limits<cv double>;
-template<> class numeric_limits<cv long double>;
-
-}  // std
-
-*/
-#include <__config>
-#include <type_traits>
-
-#if defined(_LIBCPP_COMPILER_MSVC)
-#include "support/win32/limits_msvc_win32.h"
-#endif // _LIBCPP_MSVCRT
-
-#if defined(__IBMCPP__)
-#include "support/ibm/limits.h"
-#endif // __IBMCPP__
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-#include <version>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-enum float_round_style
-{
-    round_indeterminate       = -1,
-    round_toward_zero         =  0,
-    round_to_nearest          =  1,
-    round_toward_infinity     =  2,
-    round_toward_neg_infinity =  3
-};
-
-enum float_denorm_style
-{
-    denorm_indeterminate = -1,
-    denorm_absent = 0,
-    denorm_present = 1
-};
-
-template <class _Tp, bool = is_arithmetic<_Tp>::value>
-class __libcpp_numeric_limits
-{
-protected:
-    typedef _Tp type;
-
-    static _LIBCPP_CONSTEXPR const  bool is_specialized = false;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return type();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return type();}
-
-    static _LIBCPP_CONSTEXPR const int  digits = 0;
-    static _LIBCPP_CONSTEXPR const int  digits10 = 0;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = 0;
-    static _LIBCPP_CONSTEXPR const bool is_signed = false;
-    static _LIBCPP_CONSTEXPR const bool is_integer = false;
-    static _LIBCPP_CONSTEXPR const bool is_exact = false;
-    static _LIBCPP_CONSTEXPR const int  radix = 0;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return type();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return type();}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = 0;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = 0;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = 0;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = 0;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = false;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = false;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = false;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return type();}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = false;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = false;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = false;
-
-    static _LIBCPP_CONSTEXPR const bool traps = false;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = round_toward_zero;
-};
-
-template <class _Tp, int __digits, bool _IsSigned>
-struct __libcpp_compute_min
-{
-    static _LIBCPP_CONSTEXPR const _Tp value = _Tp(_Tp(1) << __digits);
-};
-
-template <class _Tp, int __digits>
-struct __libcpp_compute_min<_Tp, __digits, false>
-{
-    static _LIBCPP_CONSTEXPR const _Tp value = _Tp(0);
-};
-
-template <class _Tp>
-class __libcpp_numeric_limits<_Tp, true>
-{
-protected:
-    typedef _Tp type;
-
-    static _LIBCPP_CONSTEXPR const bool is_specialized = true;
-
-    static _LIBCPP_CONSTEXPR const bool is_signed = type(-1) < type(0);
-    static _LIBCPP_CONSTEXPR const int  digits = static_cast<int>(sizeof(type) * __CHAR_BIT__ - is_signed);
-    static _LIBCPP_CONSTEXPR const int  digits10 = digits * 3 / 10;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = 0;
-    static _LIBCPP_CONSTEXPR const type __min = __libcpp_compute_min<type, digits, is_signed>::value;
-    static _LIBCPP_CONSTEXPR const type __max = is_signed ? type(type(~0) ^ __min) : type(~0);
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __min;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __max;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return min();}
-
-    static _LIBCPP_CONSTEXPR const bool is_integer = true;
-    static _LIBCPP_CONSTEXPR const bool is_exact = true;
-    static _LIBCPP_CONSTEXPR const int  radix = 2;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return type(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return type(0);}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = 0;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = 0;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = 0;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = 0;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = false;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = false;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = false;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return type(0);}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = false;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = true;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = !_VSTD::is_signed<_Tp>::value;
-
-#if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__) || \
-    defined(__wasm__)
-    static _LIBCPP_CONSTEXPR const bool traps = true;
-#else
-    static _LIBCPP_CONSTEXPR const bool traps = false;
-#endif
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = round_toward_zero;
-};
-
-template <>
-class __libcpp_numeric_limits<bool, true>
-{
-protected:
-    typedef bool type;
-
-    static _LIBCPP_CONSTEXPR const bool is_specialized = true;
-
-    static _LIBCPP_CONSTEXPR const bool is_signed = false;
-    static _LIBCPP_CONSTEXPR const int  digits = 1;
-    static _LIBCPP_CONSTEXPR const int  digits10 = 0;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = 0;
-    static _LIBCPP_CONSTEXPR const type __min = false;
-    static _LIBCPP_CONSTEXPR const type __max = true;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __min;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __max;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return min();}
-
-    static _LIBCPP_CONSTEXPR const bool is_integer = true;
-    static _LIBCPP_CONSTEXPR const bool is_exact = true;
-    static _LIBCPP_CONSTEXPR const int  radix = 2;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return type(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return type(0);}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = 0;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = 0;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = 0;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = 0;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = false;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = false;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = false;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type(0);}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return type(0);}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = false;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = true;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = false;
-
-    static _LIBCPP_CONSTEXPR const bool traps = false;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = round_toward_zero;
-};
-
-template <>
-class __libcpp_numeric_limits<float, true>
-{
-protected:
-    typedef float type;
-
-    static _LIBCPP_CONSTEXPR const bool is_specialized = true;
-
-    static _LIBCPP_CONSTEXPR const bool is_signed = true;
-    static _LIBCPP_CONSTEXPR const int  digits = __FLT_MANT_DIG__;
-    static _LIBCPP_CONSTEXPR const int  digits10 = __FLT_DIG__;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = 2+(digits * 30103l)/100000l;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __FLT_MIN__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __FLT_MAX__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return -max();}
-
-    static _LIBCPP_CONSTEXPR const bool is_integer = false;
-    static _LIBCPP_CONSTEXPR const bool is_exact = false;
-    static _LIBCPP_CONSTEXPR const int  radix = __FLT_RADIX__;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return __FLT_EPSILON__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return 0.5F;}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = __FLT_MIN_EXP__;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = __FLT_MIN_10_EXP__;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = __FLT_MAX_EXP__;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = __FLT_MAX_10_EXP__;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = true;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = true;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = true;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __builtin_huge_valf();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __builtin_nanf("");}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansf("");}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __FLT_DENORM_MIN__;}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = true;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = true;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = false;
-
-    static _LIBCPP_CONSTEXPR const bool traps = false;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = round_to_nearest;
-};
-
-template <>
-class __libcpp_numeric_limits<double, true>
-{
-protected:
-    typedef double type;
-
-    static _LIBCPP_CONSTEXPR const bool is_specialized = true;
-
-    static _LIBCPP_CONSTEXPR const bool is_signed = true;
-    static _LIBCPP_CONSTEXPR const int  digits = __DBL_MANT_DIG__;
-    static _LIBCPP_CONSTEXPR const int  digits10 = __DBL_DIG__;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = 2+(digits * 30103l)/100000l;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __DBL_MIN__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __DBL_MAX__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return -max();}
-
-    static _LIBCPP_CONSTEXPR const bool is_integer = false;
-    static _LIBCPP_CONSTEXPR const bool is_exact = false;
-    static _LIBCPP_CONSTEXPR const int  radix = __FLT_RADIX__;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return __DBL_EPSILON__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return 0.5;}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = __DBL_MIN_EXP__;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = __DBL_MIN_10_EXP__;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = __DBL_MAX_EXP__;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = __DBL_MAX_10_EXP__;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = true;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = true;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = true;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __builtin_huge_val();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __builtin_nan("");}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nans("");}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __DBL_DENORM_MIN__;}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = true;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = true;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = false;
-
-    static _LIBCPP_CONSTEXPR const bool traps = false;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = round_to_nearest;
-};
-
-template <>
-class __libcpp_numeric_limits<long double, true>
-{
-protected:
-    typedef long double type;
-
-    static _LIBCPP_CONSTEXPR const bool is_specialized = true;
-
-    static _LIBCPP_CONSTEXPR const bool is_signed = true;
-    static _LIBCPP_CONSTEXPR const int  digits = __LDBL_MANT_DIG__;
-    static _LIBCPP_CONSTEXPR const int  digits10 = __LDBL_DIG__;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = 2+(digits * 30103l)/100000l;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __LDBL_MIN__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __LDBL_MAX__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return -max();}
-
-    static _LIBCPP_CONSTEXPR const bool is_integer = false;
-    static _LIBCPP_CONSTEXPR const bool is_exact = false;
-    static _LIBCPP_CONSTEXPR const int  radix = __FLT_RADIX__;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return __LDBL_EPSILON__;}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return 0.5L;}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = __LDBL_MIN_EXP__;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = __LDBL_MIN_10_EXP__;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = __LDBL_MAX_EXP__;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = __LDBL_MAX_10_EXP__;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = true;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = true;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = true;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __builtin_huge_vall();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __builtin_nanl("");}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansl("");}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __LDBL_DENORM_MIN__;}
-
-#if (defined(__ppc__) || defined(__ppc64__))
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = false;
-#else
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = true;
-#endif
-    static _LIBCPP_CONSTEXPR const bool is_bounded = true;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = false;
-
-    static _LIBCPP_CONSTEXPR const bool traps = false;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = round_to_nearest;
-};
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS numeric_limits
-    : private __libcpp_numeric_limits<typename remove_cv<_Tp>::type>
-{
-    typedef __libcpp_numeric_limits<typename remove_cv<_Tp>::type> __base;
-    typedef typename __base::type type;
-public:
-    static _LIBCPP_CONSTEXPR const bool is_specialized = __base::is_specialized;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __base::min();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return __base::lowest();}
-
-    static _LIBCPP_CONSTEXPR const int  digits = __base::digits;
-    static _LIBCPP_CONSTEXPR const int  digits10 = __base::digits10;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = __base::max_digits10;
-    static _LIBCPP_CONSTEXPR const bool is_signed = __base::is_signed;
-    static _LIBCPP_CONSTEXPR const bool is_integer = __base::is_integer;
-    static _LIBCPP_CONSTEXPR const bool is_exact = __base::is_exact;
-    static _LIBCPP_CONSTEXPR const int  radix = __base::radix;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return __base::epsilon();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return __base::round_error();}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = __base::min_exponent;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = __base::min_exponent10;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = __base::max_exponent;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = __base::max_exponent10;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = __base::has_infinity;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = __base::has_quiet_NaN;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = __base::has_signaling_NaN;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __base::infinity();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __base::quiet_NaN();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __base::signaling_NaN();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __base::denorm_min();}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = __base::is_iec559;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = __base::is_bounded;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = __base::is_modulo;
-
-    static _LIBCPP_CONSTEXPR const bool traps = __base::traps;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = __base::tinyness_before;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = __base::round_style;
-};
-
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_specialized;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::digits;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::digits10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::max_digits10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_signed;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_integer;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_exact;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::radix;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::min_exponent;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::min_exponent10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::max_exponent;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::max_exponent10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::has_infinity;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::has_quiet_NaN;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::has_signaling_NaN;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const float_denorm_style numeric_limits<_Tp>::has_denorm;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::has_denorm_loss;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_iec559;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_bounded;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_modulo;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::traps;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::tinyness_before;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const float_round_style numeric_limits<_Tp>::round_style;
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS numeric_limits<const _Tp>
-    : private numeric_limits<_Tp>
-{
-    typedef numeric_limits<_Tp> __base;
-    typedef _Tp type;
-public:
-    static _LIBCPP_CONSTEXPR const bool is_specialized = __base::is_specialized;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __base::min();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return __base::lowest();}
-
-    static _LIBCPP_CONSTEXPR const int  digits = __base::digits;
-    static _LIBCPP_CONSTEXPR const int  digits10 = __base::digits10;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = __base::max_digits10;
-    static _LIBCPP_CONSTEXPR const bool is_signed = __base::is_signed;
-    static _LIBCPP_CONSTEXPR const bool is_integer = __base::is_integer;
-    static _LIBCPP_CONSTEXPR const bool is_exact = __base::is_exact;
-    static _LIBCPP_CONSTEXPR const int  radix = __base::radix;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return __base::epsilon();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return __base::round_error();}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = __base::min_exponent;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = __base::min_exponent10;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = __base::max_exponent;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = __base::max_exponent10;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = __base::has_infinity;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = __base::has_quiet_NaN;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = __base::has_signaling_NaN;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __base::infinity();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __base::quiet_NaN();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __base::signaling_NaN();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __base::denorm_min();}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = __base::is_iec559;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = __base::is_bounded;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = __base::is_modulo;
-
-    static _LIBCPP_CONSTEXPR const bool traps = __base::traps;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = __base::tinyness_before;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = __base::round_style;
-};
-
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_specialized;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::digits;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::digits10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::max_digits10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_signed;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_integer;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_exact;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::radix;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::min_exponent;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::min_exponent10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::max_exponent;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::max_exponent10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::has_infinity;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::has_quiet_NaN;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::has_signaling_NaN;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const float_denorm_style numeric_limits<const _Tp>::has_denorm;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::has_denorm_loss;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_iec559;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_bounded;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_modulo;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::traps;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::tinyness_before;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const float_round_style numeric_limits<const _Tp>::round_style;
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS numeric_limits<volatile _Tp>
-    : private numeric_limits<_Tp>
-{
-    typedef numeric_limits<_Tp> __base;
-    typedef _Tp type;
-public:
-    static _LIBCPP_CONSTEXPR const bool is_specialized = __base::is_specialized;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __base::min();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return __base::lowest();}
-
-    static _LIBCPP_CONSTEXPR const int  digits = __base::digits;
-    static _LIBCPP_CONSTEXPR const int  digits10 = __base::digits10;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = __base::max_digits10;
-    static _LIBCPP_CONSTEXPR const bool is_signed = __base::is_signed;
-    static _LIBCPP_CONSTEXPR const bool is_integer = __base::is_integer;
-    static _LIBCPP_CONSTEXPR const bool is_exact = __base::is_exact;
-    static _LIBCPP_CONSTEXPR const int  radix = __base::radix;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return __base::epsilon();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return __base::round_error();}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = __base::min_exponent;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = __base::min_exponent10;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = __base::max_exponent;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = __base::max_exponent10;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = __base::has_infinity;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = __base::has_quiet_NaN;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = __base::has_signaling_NaN;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __base::infinity();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __base::quiet_NaN();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __base::signaling_NaN();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __base::denorm_min();}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = __base::is_iec559;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = __base::is_bounded;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = __base::is_modulo;
-
-    static _LIBCPP_CONSTEXPR const bool traps = __base::traps;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = __base::tinyness_before;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = __base::round_style;
-};
-
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_specialized;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::digits;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::digits10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::max_digits10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_signed;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_integer;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_exact;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::radix;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::min_exponent;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::min_exponent10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::max_exponent;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::max_exponent10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::has_infinity;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::has_quiet_NaN;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::has_signaling_NaN;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const float_denorm_style numeric_limits<volatile _Tp>::has_denorm;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::has_denorm_loss;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_iec559;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_bounded;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_modulo;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::traps;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::tinyness_before;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const float_round_style numeric_limits<volatile _Tp>::round_style;
-
-template <class _Tp>
-class _LIBCPP_TEMPLATE_VIS numeric_limits<const volatile _Tp>
-    : private numeric_limits<_Tp>
-{
-    typedef numeric_limits<_Tp> __base;
-    typedef _Tp type;
-public:
-    static _LIBCPP_CONSTEXPR const bool is_specialized = __base::is_specialized;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return __base::min();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return __base::lowest();}
-
-    static _LIBCPP_CONSTEXPR const int  digits = __base::digits;
-    static _LIBCPP_CONSTEXPR const int  digits10 = __base::digits10;
-    static _LIBCPP_CONSTEXPR const int  max_digits10 = __base::max_digits10;
-    static _LIBCPP_CONSTEXPR const bool is_signed = __base::is_signed;
-    static _LIBCPP_CONSTEXPR const bool is_integer = __base::is_integer;
-    static _LIBCPP_CONSTEXPR const bool is_exact = __base::is_exact;
-    static _LIBCPP_CONSTEXPR const int  radix = __base::radix;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return __base::epsilon();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return __base::round_error();}
-
-    static _LIBCPP_CONSTEXPR const int  min_exponent = __base::min_exponent;
-    static _LIBCPP_CONSTEXPR const int  min_exponent10 = __base::min_exponent10;
-    static _LIBCPP_CONSTEXPR const int  max_exponent = __base::max_exponent;
-    static _LIBCPP_CONSTEXPR const int  max_exponent10 = __base::max_exponent10;
-
-    static _LIBCPP_CONSTEXPR const bool has_infinity = __base::has_infinity;
-    static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = __base::has_quiet_NaN;
-    static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = __base::has_signaling_NaN;
-    static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm;
-    static _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss;
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __base::infinity();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __base::quiet_NaN();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __base::signaling_NaN();}
-    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __base::denorm_min();}
-
-    static _LIBCPP_CONSTEXPR const bool is_iec559 = __base::is_iec559;
-    static _LIBCPP_CONSTEXPR const bool is_bounded = __base::is_bounded;
-    static _LIBCPP_CONSTEXPR const bool is_modulo = __base::is_modulo;
-
-    static _LIBCPP_CONSTEXPR const bool traps = __base::traps;
-    static _LIBCPP_CONSTEXPR const bool tinyness_before = __base::tinyness_before;
-    static _LIBCPP_CONSTEXPR const float_round_style round_style = __base::round_style;
-};
-
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_specialized;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::digits;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::digits10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::max_digits10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_signed;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_integer;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_exact;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::radix;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::min_exponent;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::min_exponent10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::max_exponent;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::max_exponent10;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::has_infinity;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::has_quiet_NaN;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::has_signaling_NaN;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const float_denorm_style numeric_limits<const volatile _Tp>::has_denorm;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::has_denorm_loss;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_iec559;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_bounded;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_modulo;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::traps;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::tinyness_before;
-template <class _Tp>
-    _LIBCPP_CONSTEXPR const float_round_style numeric_limits<const volatile _Tp>::round_style;
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_LIMITS
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/limits.h b/r23/sources/cxx-stl/llvm-libc++/include/limits.h
deleted file mode 100644
index 4a212f8..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/limits.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- limits.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_LIMITS_H
-#define _LIBCPP_LIMITS_H
-
-/*
-    limits.h synopsis
-
-Macros:
-
-    CHAR_BIT
-    SCHAR_MIN
-    SCHAR_MAX
-    UCHAR_MAX
-    CHAR_MIN
-    CHAR_MAX
-    MB_LEN_MAX
-    SHRT_MIN
-    SHRT_MAX
-    USHRT_MAX
-    INT_MIN
-    INT_MAX
-    UINT_MAX
-    LONG_MIN
-    LONG_MAX
-    ULONG_MAX
-    LLONG_MIN   // C99
-    LLONG_MAX   // C99
-    ULLONG_MAX  // C99
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifndef __GNUC__
-#include_next <limits.h>
-#else
-// GCC header limits.h recursively includes itself through another header called
-// syslimits.h for some reason. This setup breaks down if we directly
-// #include_next GCC's limits.h (reasons not entirely clear to me). Therefore,
-// we manually re-create the necessary include sequence below:
-
-// Get the system limits.h defines (force recurse into the next level)
-#define _GCC_LIMITS_H_
-#define _GCC_NEXT_LIMITS_H
-#include_next <limits.h>
-
-// Get the ISO C defines
-#undef _GCC_LIMITS_H_
-#include_next <limits.h>
-#endif // __GNUC__
-
-#endif  // _LIBCPP_LIMITS_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/locale b/r23/sources/cxx-stl/llvm-libc++/include/locale
deleted file mode 100644
index 3fe4430..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/locale
+++ /dev/null
@@ -1,4353 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- locale ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_LOCALE
-#define _LIBCPP_LOCALE
-
-/*
-    locale synopsis
-
-namespace std
-{
-
-class locale
-{
-public:
-    // types:
-    class facet;
-    class id;
-
-    typedef int category;
-    static const category // values assigned here are for exposition only
-        none     = 0x000,
-        collate  = 0x010,
-        ctype    = 0x020,
-        monetary = 0x040,
-        numeric  = 0x080,
-        time     = 0x100,
-        messages = 0x200,
-        all = collate | ctype | monetary | numeric | time | messages;
-
-    // construct/copy/destroy:
-    locale() noexcept;
-    locale(const locale& other) noexcept;
-    explicit locale(const char* std_name);
-    explicit locale(const string& std_name);
-    locale(const locale& other, const char* std_name, category);
-    locale(const locale& other, const string& std_name, category);
-    template <class Facet> locale(const locale& other, Facet* f);
-    locale(const locale& other, const locale& one, category);
-
-    ~locale(); // not virtual
-
-    const locale& operator=(const locale& other) noexcept;
-
-    template <class Facet> locale combine(const locale& other) const;
-
-    // locale operations:
-    basic_string<char> name() const;
-    bool operator==(const locale& other) const;
-    bool operator!=(const locale& other) const;
-    template <class charT, class Traits, class Allocator>
-      bool operator()(const basic_string<charT,Traits,Allocator>& s1,
-                      const basic_string<charT,Traits,Allocator>& s2) const;
-
-    // global locale objects:
-    static locale global(const locale&);
-    static const locale& classic();
-};
-
-template <class Facet> const Facet& use_facet(const locale&);
-template <class Facet> bool has_facet(const locale&) noexcept;
-
-// 22.3.3, convenience interfaces:
-template <class charT> bool isspace (charT c, const locale& loc);
-template <class charT> bool isprint (charT c, const locale& loc);
-template <class charT> bool iscntrl (charT c, const locale& loc);
-template <class charT> bool isupper (charT c, const locale& loc);
-template <class charT> bool islower (charT c, const locale& loc);
-template <class charT> bool isalpha (charT c, const locale& loc);
-template <class charT> bool isdigit (charT c, const locale& loc);
-template <class charT> bool ispunct (charT c, const locale& loc);
-template <class charT> bool isxdigit(charT c, const locale& loc);
-template <class charT> bool isalnum (charT c, const locale& loc);
-template <class charT> bool isgraph (charT c, const locale& loc);
-template <class charT> charT toupper(charT c, const locale& loc);
-template <class charT> charT tolower(charT c, const locale& loc);
-
-template<class Codecvt, class Elem = wchar_t,
-         class Wide_alloc = allocator<Elem>,
-         class Byte_alloc = allocator<char>>
-class wstring_convert
-{
-public:
-    typedef basic_string<char, char_traits<char>, Byte_alloc> byte_string;
-    typedef basic_string<Elem, char_traits<Elem>, Wide_alloc> wide_string;
-    typedef typename Codecvt::state_type                      state_type;
-    typedef typename wide_string::traits_type::int_type       int_type;
-
-    explicit wstring_convert(Codecvt* pcvt = new Codecvt);          // explicit in C++14
-    wstring_convert(Codecvt* pcvt, state_type state);
-    explicit wstring_convert(const byte_string& byte_err,           // explicit in C++14
-                    const wide_string& wide_err = wide_string());
-    wstring_convert(const wstring_convert&) = delete;               // C++14
-    wstring_convert & operator=(const wstring_convert &) = delete;  // C++14
-    ~wstring_convert();
-
-    wide_string from_bytes(char byte);
-    wide_string from_bytes(const char* ptr);
-    wide_string from_bytes(const byte_string& str);
-    wide_string from_bytes(const char* first, const char* last);
-
-    byte_string to_bytes(Elem wchar);
-    byte_string to_bytes(const Elem* wptr);
-    byte_string to_bytes(const wide_string& wstr);
-    byte_string to_bytes(const Elem* first, const Elem* last);
-
-    size_t converted() const; // noexcept in C++14
-    state_type state() const;
-};
-
-template <class Codecvt, class Elem = wchar_t, class Tr = char_traits<Elem>>
-class wbuffer_convert
-    : public basic_streambuf<Elem, Tr>
-{
-public:
-    typedef typename Tr::state_type state_type;
-
-    explicit wbuffer_convert(streambuf* bytebuf = 0, Codecvt* pcvt = new Codecvt,
-                    state_type state = state_type());       // explicit in C++14
-    wbuffer_convert(const wbuffer_convert&) = delete;               // C++14
-    wbuffer_convert & operator=(const wbuffer_convert &) = delete;  // C++14
-    ~wbuffer_convert();                                             // C++14
-
-    streambuf* rdbuf() const;
-    streambuf* rdbuf(streambuf* bytebuf);
-
-    state_type state() const;
-};
-
-// 22.4.1 and 22.4.1.3, ctype:
-class ctype_base;
-template <class charT> class ctype;
-template <> class ctype<char>; // specialization
-template <class charT> class ctype_byname;
-template <> class ctype_byname<char>; // specialization
-
-class codecvt_base;
-template <class internT, class externT, class stateT> class codecvt;
-template <class internT, class externT, class stateT> class codecvt_byname;
-
-// 22.4.2 and 22.4.3, numeric:
-template <class charT, class InputIterator> class num_get;
-template <class charT, class OutputIterator> class num_put;
-template <class charT> class numpunct;
-template <class charT> class numpunct_byname;
-
-// 22.4.4, col lation:
-template <class charT> class collate;
-template <class charT> class collate_byname;
-
-// 22.4.5, date and time:
-class time_base;
-template <class charT, class InputIterator> class time_get;
-template <class charT, class InputIterator> class time_get_byname;
-template <class charT, class OutputIterator> class time_put;
-template <class charT, class OutputIterator> class time_put_byname;
-
-// 22.4.6, money:
-class money_base;
-template <class charT, class InputIterator> class money_get;
-template <class charT, class OutputIterator> class money_put;
-template <class charT, bool Intl> class moneypunct;
-template <class charT, bool Intl> class moneypunct_byname;
-
-// 22.4.7, message retrieval:
-class messages_base;
-template <class charT> class messages;
-template <class charT> class messages_byname;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__locale>
-#include <__debug>
-#include <algorithm>
-#include <memory>
-#include <ios>
-#include <streambuf>
-#include <iterator>
-#include <limits>
-#include <version>
-#ifndef __APPLE__
-#include <cstdarg>
-#endif
-#include <cstdlib>
-#include <ctime>
-#include <cstdio>
-#ifdef _LIBCPP_HAS_CATOPEN
-#include <nl_types.h>
-#endif
-
-#ifdef __APPLE__
-#include <Availability.h>
-#endif
-
-#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
-#include <__bsd_locale_defaults.h>
-#else
-#include <__bsd_locale_fallbacks.h>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if defined(__APPLE__) || defined(__FreeBSD__)
-#  define _LIBCPP_GET_C_LOCALE 0
-#elif defined(__CloudABI__) || defined(__NetBSD__)
-#  define _LIBCPP_GET_C_LOCALE LC_C_LOCALE
-#else
-#  define _LIBCPP_GET_C_LOCALE __cloc()
-   // Get the C locale object
-   _LIBCPP_FUNC_VIS locale_t __cloc();
-#define __cloc_defined
-#endif
-
-// __scan_keyword
-// Scans [__b, __e) until a match is found in the basic_strings range
-//  [__kb, __ke) or until it can be shown that there is no match in [__kb, __ke).
-//  __b will be incremented (visibly), consuming CharT until a match is found
-//  or proved to not exist.  A keyword may be "", in which will match anything.
-//  If one keyword is a prefix of another, and the next CharT in the input
-//  might match another keyword, the algorithm will attempt to find the longest
-//  matching keyword.  If the longer matching keyword ends up not matching, then
-//  no keyword match is found.  If no keyword match is found, __ke is returned
-//  and failbit is set in __err.
-//  Else an iterator pointing to the matching keyword is found.  If more than
-//  one keyword matches, an iterator to the first matching keyword is returned.
-//  If on exit __b == __e, eofbit is set in __err.  If __case_sensitive is false,
-//  __ct is used to force to lower case before comparing characters.
-//  Examples:
-//  Keywords:  "a", "abb"
-//  If the input is "a", the first keyword matches and eofbit is set.
-//  If the input is "abc", no match is found and "ab" are consumed.
-template <class _InputIterator, class _ForwardIterator, class _Ctype>
-_LIBCPP_HIDDEN
-_ForwardIterator
-__scan_keyword(_InputIterator& __b, _InputIterator __e,
-               _ForwardIterator __kb, _ForwardIterator __ke,
-               const _Ctype& __ct, ios_base::iostate& __err,
-               bool __case_sensitive = true)
-{
-    typedef typename iterator_traits<_InputIterator>::value_type _CharT;
-    size_t __nkw = static_cast<size_t>(_VSTD::distance(__kb, __ke));
-    const unsigned char __doesnt_match = '\0';
-    const unsigned char __might_match = '\1';
-    const unsigned char __does_match = '\2';
-    unsigned char __statbuf[100];
-    unsigned char* __status = __statbuf;
-    unique_ptr<unsigned char, void(*)(void*)> __stat_hold(0, free);
-    if (__nkw > sizeof(__statbuf))
-    {
-        __status = (unsigned char*)malloc(__nkw);
-        if (__status == 0)
-            __throw_bad_alloc();
-        __stat_hold.reset(__status);
-    }
-    size_t __n_might_match = __nkw;  // At this point, any keyword might match
-    size_t __n_does_match = 0;       // but none of them definitely do
-    // Initialize all statuses to __might_match, except for "" keywords are __does_match
-    unsigned char* __st = __status;
-    for (_ForwardIterator __ky = __kb; __ky != __ke; ++__ky, (void) ++__st)
-    {
-        if (!__ky->empty())
-            *__st = __might_match;
-        else
-        {
-            *__st = __does_match;
-            --__n_might_match;
-            ++__n_does_match;
-        }
-    }
-    // While there might be a match, test keywords against the next CharT
-    for (size_t __indx = 0; __b != __e && __n_might_match > 0; ++__indx)
-    {
-        // Peek at the next CharT but don't consume it
-        _CharT __c = *__b;
-        if (!__case_sensitive)
-            __c = __ct.toupper(__c);
-        bool __consume = false;
-        // For each keyword which might match, see if the __indx character is __c
-        // If a match if found, consume __c
-        // If a match is found, and that is the last character in the keyword,
-        //    then that keyword matches.
-        // If the keyword doesn't match this character, then change the keyword
-        //    to doesn't match
-        __st = __status;
-        for (_ForwardIterator __ky = __kb; __ky != __ke; ++__ky, (void) ++__st)
-        {
-            if (*__st == __might_match)
-            {
-                _CharT __kc = (*__ky)[__indx];
-                if (!__case_sensitive)
-                    __kc = __ct.toupper(__kc);
-                if (__c == __kc)
-                {
-                    __consume = true;
-                    if (__ky->size() == __indx+1)
-                    {
-                        *__st = __does_match;
-                        --__n_might_match;
-                        ++__n_does_match;
-                    }
-                }
-                else
-                {
-                    *__st = __doesnt_match;
-                    --__n_might_match;
-                }
-            }
-        }
-        // consume if we matched a character
-        if (__consume)
-        {
-            ++__b;
-            // If we consumed a character and there might be a matched keyword that
-            //   was marked matched on a previous iteration, then such keywords
-            //   which are now marked as not matching.
-            if (__n_might_match + __n_does_match > 1)
-            {
-                __st = __status;
-                for (_ForwardIterator __ky = __kb; __ky != __ke; ++__ky, (void) ++__st)
-                {
-                    if (*__st == __does_match && __ky->size() != __indx+1)
-                    {
-                        *__st = __doesnt_match;
-                        --__n_does_match;
-                    }
-                }
-            }
-        }
-    }
-    // We've exited the loop because we hit eof and/or we have no more "might matches".
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    // Return the first matching result
-    for (__st = __status; __kb != __ke; ++__kb, (void) ++__st)
-        if (*__st == __does_match)
-            break;
-    if (__kb == __ke)
-        __err |= ios_base::failbit;
-    return __kb;
-}
-
-struct _LIBCPP_TYPE_VIS __num_get_base
-{
-    static const int __num_get_buf_sz = 40;
-
-    static int __get_base(ios_base&);
-    static const char __src[33];
-};
-
-_LIBCPP_FUNC_VIS
-void __check_grouping(const string& __grouping, unsigned* __g, unsigned* __g_end,
-                      ios_base::iostate& __err);
-
-template <class _CharT>
-struct __num_get
-    : protected __num_get_base
-{
-    static string __stage2_float_prep(ios_base& __iob, _CharT* __atoms, _CharT& __decimal_point,
-                                      _CharT& __thousands_sep);
-
-    static int __stage2_float_loop(_CharT __ct, bool& __in_units, char& __exp,
-                                   char* __a, char*& __a_end,
-                                   _CharT __decimal_point, _CharT __thousands_sep,
-                                   const string& __grouping, unsigned* __g,
-                                   unsigned*& __g_end, unsigned& __dc, _CharT* __atoms);
-#ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
-    static string __stage2_int_prep(ios_base& __iob, _CharT* __atoms, _CharT& __thousands_sep);
-    static int __stage2_int_loop(_CharT __ct, int __base, char* __a, char*& __a_end,
-                  unsigned& __dc, _CharT __thousands_sep, const string& __grouping,
-                  unsigned* __g, unsigned*& __g_end, _CharT* __atoms);
-
-#else
-    static string __stage2_int_prep(ios_base& __iob, _CharT& __thousands_sep)
-    {
-        locale __loc = __iob.getloc();
-        const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
-        __thousands_sep = __np.thousands_sep();
-        return __np.grouping();
-    }
-
-    const _CharT* __do_widen(ios_base& __iob, _CharT* __atoms) const
-    {
-      return __do_widen_p(__iob, __atoms);
-    }
-
-
-    static int __stage2_int_loop(_CharT __ct, int __base, char* __a, char*& __a_end,
-                  unsigned& __dc, _CharT __thousands_sep, const string& __grouping,
-                  unsigned* __g, unsigned*& __g_end, const _CharT* __atoms);
-private:
-    template<typename T>
-    const T* __do_widen_p(ios_base& __iob, T* __atoms) const
-    {
-      locale __loc = __iob.getloc();
-      use_facet<ctype<T> >(__loc).widen(__src, __src + 26, __atoms);
-      return __atoms;
-    }
-
-    const char* __do_widen_p(ios_base& __iob, char* __atoms) const
-    {
-      (void)__iob;
-      (void)__atoms;
-      return __src;
-    }
-#endif
-};
-
-#ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
-template <class _CharT>
-string
-__num_get<_CharT>::__stage2_int_prep(ios_base& __iob, _CharT* __atoms, _CharT& __thousands_sep)
-{
-    locale __loc = __iob.getloc();
-    use_facet<ctype<_CharT> >(__loc).widen(__src, __src + 26, __atoms);
-    const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
-    __thousands_sep = __np.thousands_sep();
-    return __np.grouping();
-}
-#endif
-
-template <class _CharT>
-string
-__num_get<_CharT>::__stage2_float_prep(ios_base& __iob, _CharT* __atoms, _CharT& __decimal_point,
-                    _CharT& __thousands_sep)
-{
-    locale __loc = __iob.getloc();
-    use_facet<ctype<_CharT> >(__loc).widen(__src, __src + 32, __atoms);
-    const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
-    __decimal_point = __np.decimal_point();
-    __thousands_sep = __np.thousands_sep();
-    return __np.grouping();
-}
-
-template <class _CharT>
-int
-#ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
-__num_get<_CharT>::__stage2_int_loop(_CharT __ct, int __base, char* __a, char*& __a_end,
-                  unsigned& __dc, _CharT __thousands_sep, const string& __grouping,
-                  unsigned* __g, unsigned*& __g_end, _CharT* __atoms)
-#else
-__num_get<_CharT>::__stage2_int_loop(_CharT __ct, int __base, char* __a, char*& __a_end,
-                  unsigned& __dc, _CharT __thousands_sep, const string& __grouping,
-                  unsigned* __g, unsigned*& __g_end, const _CharT* __atoms)
-
-#endif
-{
-    if (__a_end == __a && (__ct == __atoms[24] || __ct == __atoms[25]))
-    {
-        *__a_end++ = __ct == __atoms[24] ? '+' : '-';
-        __dc = 0;
-        return 0;
-    }
-    if (__grouping.size() != 0 && __ct == __thousands_sep)
-    {
-        if (__g_end-__g < __num_get_buf_sz)
-        {
-            *__g_end++ = __dc;
-            __dc = 0;
-        }
-        return 0;
-    }
-    ptrdiff_t __f = find(__atoms, __atoms + 26, __ct) - __atoms;
-    if (__f >= 24)
-        return -1;
-    switch (__base)
-    {
-    case 8:
-    case 10:
-        if (__f >= __base)
-            return -1;
-        break;
-    case 16:
-        if (__f < 22)
-            break;
-        if (__a_end != __a && __a_end - __a <= 2 && __a_end[-1] == '0')
-        {
-            __dc = 0;
-            *__a_end++ = __src[__f];
-            return 0;
-        }
-        return -1;
-    }
-    *__a_end++ = __src[__f];
-    ++__dc;
-    return 0;
-}
-
-template <class _CharT>
-int
-__num_get<_CharT>::__stage2_float_loop(_CharT __ct, bool& __in_units, char& __exp, char* __a, char*& __a_end,
-                    _CharT __decimal_point, _CharT __thousands_sep, const string& __grouping,
-                    unsigned* __g, unsigned*& __g_end, unsigned& __dc, _CharT* __atoms)
-{
-    if (__ct == __decimal_point)
-    {
-        if (!__in_units)
-            return -1;
-        __in_units = false;
-        *__a_end++ = '.';
-        if (__grouping.size() != 0 && __g_end-__g < __num_get_buf_sz)
-            *__g_end++ = __dc;
-        return 0;
-    }
-    if (__ct == __thousands_sep && __grouping.size() != 0)
-    {
-        if (!__in_units)
-            return -1;
-        if (__g_end-__g < __num_get_buf_sz)
-        {
-            *__g_end++ = __dc;
-            __dc = 0;
-        }
-        return 0;
-    }
-    ptrdiff_t __f = find(__atoms, __atoms + 32, __ct) - __atoms;
-    if (__f >= 32)
-        return -1;
-    char __x = __src[__f];
-    if (__x == '-' || __x == '+')
-    {
-        if (__a_end == __a || (__a_end[-1] & 0x5F) == (__exp & 0x7F))
-        {
-            *__a_end++ = __x;
-            return 0;
-        }
-        return -1;
-    }
-    if (__x == 'x' || __x == 'X')
-        __exp = 'P';
-    else if ((__x & 0x5F) == __exp)
-    {
-        __exp |= (char) 0x80;
-        if (__in_units)
-        {
-            __in_units = false;
-            if (__grouping.size() != 0 && __g_end-__g < __num_get_buf_sz)
-                *__g_end++ = __dc;
-        }
-    }
-    *__a_end++ = __x;
-    if (__f >= 22)
-        return 0;
-    ++__dc;
-    return 0;
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_get<char>)
-_LIBCPP_EXTERN_TEMPLATE2(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_get<wchar_t>)
-
-template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
-class _LIBCPP_TEMPLATE_VIS num_get
-    : public locale::facet,
-      private __num_get<_CharT>
-{
-public:
-    typedef _CharT char_type;
-    typedef _InputIterator iter_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit num_get(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, bool& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, long& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, long long& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, unsigned short& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, unsigned int& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, unsigned long& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, unsigned long long& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, float& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, double& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, long double& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, void*& __v) const
-    {
-        return do_get(__b, __e, __iob, __err, __v);
-    }
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~num_get() {}
-
-    template <class _Fp>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    iter_type __do_get_floating_point
-                            (iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, _Fp& __v) const;
-
-    template <class _Signed>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    iter_type __do_get_signed
-                            (iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, _Signed& __v) const;
-
-    template <class _Unsigned>
-    _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-    iter_type __do_get_unsigned
-                            (iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, _Unsigned& __v) const;
-
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, bool& __v) const;
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, long& __v) const
-    { return this->__do_get_signed ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, long long& __v) const
-    { return this->__do_get_signed ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, unsigned short& __v) const
-    { return this->__do_get_unsigned ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, unsigned int& __v) const
-    { return this->__do_get_unsigned ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, unsigned long& __v) const
-    { return this->__do_get_unsigned ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, unsigned long long& __v) const
-    { return this->__do_get_unsigned ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, float& __v) const
-    { return this->__do_get_floating_point ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, double& __v) const
-    { return this->__do_get_floating_point ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, long double& __v) const
-    { return this->__do_get_floating_point ( __b, __e, __iob, __err, __v ); }
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, void*& __v) const;
-};
-
-template <class _CharT, class _InputIterator>
-locale::id
-num_get<_CharT, _InputIterator>::id;
-
-template <class _Tp>
-_LIBCPP_HIDDEN _Tp
-__num_get_signed_integral(const char* __a, const char* __a_end,
-                          ios_base::iostate& __err, int __base)
-{
-    if (__a != __a_end)
-    {
-        typename remove_reference<decltype(errno)>::type __save_errno = errno;
-        errno = 0;
-        char *__p2;
-        long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
-        typename remove_reference<decltype(errno)>::type __current_errno = errno;
-        if (__current_errno == 0)
-            errno = __save_errno;
-        if (__p2 != __a_end)
-        {
-            __err = ios_base::failbit;
-            return 0;
-        }
-        else if (__current_errno == ERANGE         ||
-                 __ll < numeric_limits<_Tp>::min() ||
-                 numeric_limits<_Tp>::max() < __ll)
-        {
-            __err = ios_base::failbit;
-            if (__ll > 0)
-                return numeric_limits<_Tp>::max();
-            else
-                return numeric_limits<_Tp>::min();
-        }
-        return static_cast<_Tp>(__ll);
-    }
-    __err = ios_base::failbit;
-    return 0;
-}
-
-template <class _Tp>
-_LIBCPP_HIDDEN _Tp
-__num_get_unsigned_integral(const char* __a, const char* __a_end,
-                            ios_base::iostate& __err, int __base)
-{
-    if (__a != __a_end)
-    {
-        const bool __negate = *__a == '-';
-        if (__negate && ++__a == __a_end) {
-          __err = ios_base::failbit;
-          return 0;
-        }
-        typename remove_reference<decltype(errno)>::type __save_errno = errno;
-        errno = 0;
-        char *__p2;
-        unsigned long long __ll = strtoull_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
-        typename remove_reference<decltype(errno)>::type __current_errno = errno;
-        if (__current_errno == 0)
-            errno = __save_errno;
-        if (__p2 != __a_end)
-        {
-            __err = ios_base::failbit;
-            return 0;
-        }
-        else if (__current_errno == ERANGE || numeric_limits<_Tp>::max() < __ll)
-        {
-            __err = ios_base::failbit;
-            return numeric_limits<_Tp>::max();
-        }
-        _Tp __res = static_cast<_Tp>(__ll);
-        if (__negate) __res = -__res;
-        return __res;
-    }
-    __err = ios_base::failbit;
-    return 0;
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY
-_Tp __do_strtod(const char* __a, char** __p2);
-
-template <>
-inline _LIBCPP_INLINE_VISIBILITY
-float __do_strtod<float>(const char* __a, char** __p2) {
-    return strtof_l(__a, __p2, _LIBCPP_GET_C_LOCALE);
-}
-
-template <>
-inline _LIBCPP_INLINE_VISIBILITY
-double __do_strtod<double>(const char* __a, char** __p2) {
-    return strtod_l(__a, __p2, _LIBCPP_GET_C_LOCALE);
-}
-
-template <>
-inline _LIBCPP_INLINE_VISIBILITY
-long double __do_strtod<long double>(const char* __a, char** __p2) {
-    return strtold_l(__a, __p2, _LIBCPP_GET_C_LOCALE);
-}
-
-template <class _Tp>
-_LIBCPP_HIDDEN
-_Tp
-__num_get_float(const char* __a, const char* __a_end, ios_base::iostate& __err)
-{
-    if (__a != __a_end)
-    {
-        typename remove_reference<decltype(errno)>::type __save_errno = errno;
-        errno = 0;
-        char *__p2;
-        _Tp __ld = __do_strtod<_Tp>(__a, &__p2);
-        typename remove_reference<decltype(errno)>::type __current_errno = errno;
-        if (__current_errno == 0)
-            errno = __save_errno;
-        if (__p2 != __a_end)
-        {
-            __err = ios_base::failbit;
-            return 0;
-        }
-        else if (__current_errno == ERANGE)
-            __err = ios_base::failbit;
-        return __ld;
-    }
-    __err = ios_base::failbit;
-    return 0;
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
-                                        ios_base& __iob,
-                                        ios_base::iostate& __err,
-                                        bool& __v) const
-{
-    if ((__iob.flags() & ios_base::boolalpha) == 0)
-    {
-        long __lv = -1;
-        __b = do_get(__b, __e, __iob, __err, __lv);
-        switch (__lv)
-        {
-        case 0:
-            __v = false;
-            break;
-        case 1:
-            __v = true;
-            break;
-        default:
-            __v = true;
-            __err = ios_base::failbit;
-            break;
-        }
-        return __b;
-    }
-    const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__iob.getloc());
-    const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__iob.getloc());
-    typedef typename numpunct<_CharT>::string_type string_type;
-    const string_type __names[2] = {__np.truename(), __np.falsename()};
-    const string_type* __i = __scan_keyword(__b, __e, __names, __names+2,
-                                            __ct, __err);
-    __v = __i == __names;
-    return __b;
-}
-
-// signed
-
-template <class _CharT, class _InputIterator>
-template <class _Signed>
-_InputIterator
-num_get<_CharT, _InputIterator>::__do_get_signed(iter_type __b, iter_type __e,
-                                        ios_base& __iob,
-                                        ios_base::iostate& __err,
-                                        _Signed& __v) const
-{
-    // Stage 1
-    int __base = this->__get_base(__iob);
-    // Stage 2
-    char_type __thousands_sep;
-    const int __atoms_size = 26;
-#ifdef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
-    char_type __atoms1[__atoms_size];
-    const char_type *__atoms = this->__do_widen(__iob, __atoms1);
-    string __grouping = this->__stage2_int_prep(__iob, __thousands_sep);
-#else
-    char_type __atoms[__atoms_size];
-    string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
-#endif
-    string __buf;
-    __buf.resize(__buf.capacity());
-    char* __a = &__buf[0];
-    char* __a_end = __a;
-    unsigned __g[__num_get_base::__num_get_buf_sz];
-    unsigned* __g_end = __g;
-    unsigned __dc = 0;
-    for (; __b != __e; ++__b)
-    {
-        if (__a_end == __a + __buf.size())
-        {
-            size_t __tmp = __buf.size();
-            __buf.resize(2*__buf.size());
-            __buf.resize(__buf.capacity());
-            __a = &__buf[0];
-            __a_end = __a + __tmp;
-        }
-        if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
-                                    __thousands_sep, __grouping, __g, __g_end,
-                                    __atoms))
-            break;
-    }
-    if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
-        *__g_end++ = __dc;
-    // Stage 3
-    __v = __num_get_signed_integral<_Signed>(__a, __a_end, __err, __base);
-    // Digit grouping checked
-    __check_grouping(__grouping, __g, __g_end, __err);
-    // EOF checked
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    return __b;
-}
-
-// unsigned
-
-template <class _CharT, class _InputIterator>
-template <class _Unsigned>
-_InputIterator
-num_get<_CharT, _InputIterator>::__do_get_unsigned(iter_type __b, iter_type __e,
-                                        ios_base& __iob,
-                                        ios_base::iostate& __err,
-                                        _Unsigned& __v) const
-{
-    // Stage 1
-    int __base = this->__get_base(__iob);
-    // Stage 2
-    char_type __thousands_sep;
-    const int __atoms_size = 26;
-#ifdef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
-    char_type __atoms1[__atoms_size];
-    const char_type *__atoms = this->__do_widen(__iob, __atoms1);
-    string __grouping = this->__stage2_int_prep(__iob, __thousands_sep);
-#else
-    char_type __atoms[__atoms_size];
-    string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
-#endif
-    string __buf;
-    __buf.resize(__buf.capacity());
-    char* __a = &__buf[0];
-    char* __a_end = __a;
-    unsigned __g[__num_get_base::__num_get_buf_sz];
-    unsigned* __g_end = __g;
-    unsigned __dc = 0;
-    for (; __b != __e; ++__b)
-    {
-        if (__a_end == __a + __buf.size())
-        {
-            size_t __tmp = __buf.size();
-            __buf.resize(2*__buf.size());
-            __buf.resize(__buf.capacity());
-            __a = &__buf[0];
-            __a_end = __a + __tmp;
-        }
-        if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
-                                    __thousands_sep, __grouping, __g, __g_end,
-                                    __atoms))
-            break;
-    }
-    if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
-        *__g_end++ = __dc;
-    // Stage 3
-    __v = __num_get_unsigned_integral<_Unsigned>(__a, __a_end, __err, __base);
-    // Digit grouping checked
-    __check_grouping(__grouping, __g, __g_end, __err);
-    // EOF checked
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    return __b;
-}
-
-// floating point
-
-template <class _CharT, class _InputIterator>
-template <class _Fp>
-_InputIterator
-num_get<_CharT, _InputIterator>::__do_get_floating_point(iter_type __b, iter_type __e,
-                                        ios_base& __iob,
-                                        ios_base::iostate& __err,
-                                        _Fp& __v) const
-{
-    // Stage 1, nothing to do
-    // Stage 2
-    char_type __atoms[32];
-    char_type __decimal_point;
-    char_type __thousands_sep;
-    string __grouping = this->__stage2_float_prep(__iob, __atoms,
-                                                  __decimal_point,
-                                                  __thousands_sep);
-    string __buf;
-    __buf.resize(__buf.capacity());
-    char* __a = &__buf[0];
-    char* __a_end = __a;
-    unsigned __g[__num_get_base::__num_get_buf_sz];
-    unsigned* __g_end = __g;
-    unsigned __dc = 0;
-    bool __in_units = true;
-    char __exp = 'E';
-    for (; __b != __e; ++__b)
-    {
-        if (__a_end == __a + __buf.size())
-        {
-            size_t __tmp = __buf.size();
-            __buf.resize(2*__buf.size());
-            __buf.resize(__buf.capacity());
-            __a = &__buf[0];
-            __a_end = __a + __tmp;
-        }
-        if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
-                                      __decimal_point, __thousands_sep,
-                                      __grouping, __g, __g_end,
-                                      __dc, __atoms))
-            break;
-    }
-    if (__grouping.size() != 0 && __in_units && __g_end-__g < __num_get_base::__num_get_buf_sz)
-        *__g_end++ = __dc;
-    // Stage 3
-    __v = __num_get_float<_Fp>(__a, __a_end, __err);
-    // Digit grouping checked
-    __check_grouping(__grouping, __g, __g_end, __err);
-    // EOF checked
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    return __b;
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
-                                        ios_base& __iob,
-                                        ios_base::iostate& __err,
-                                        void*& __v) const
-{
-    // Stage 1
-    int __base = 16;
-    // Stage 2
-    char_type __atoms[26];
-    char_type __thousands_sep = 0;
-    string __grouping;
-    use_facet<ctype<_CharT> >(__iob.getloc()).widen(__num_get_base::__src,
-                                                    __num_get_base::__src + 26, __atoms);
-    string __buf;
-    __buf.resize(__buf.capacity());
-    char* __a = &__buf[0];
-    char* __a_end = __a;
-    unsigned __g[__num_get_base::__num_get_buf_sz];
-    unsigned* __g_end = __g;
-    unsigned __dc = 0;
-    for (; __b != __e; ++__b)
-    {
-        if (__a_end == __a + __buf.size())
-        {
-            size_t __tmp = __buf.size();
-            __buf.resize(2*__buf.size());
-            __buf.resize(__buf.capacity());
-            __a = &__buf[0];
-            __a_end = __a + __tmp;
-        }
-        if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
-                                    __thousands_sep, __grouping,
-                                    __g, __g_end, __atoms))
-            break;
-    }
-    // Stage 3
-    __buf.resize(__a_end - __a);
-    if (__libcpp_sscanf_l(__buf.c_str(), _LIBCPP_GET_C_LOCALE, "%p", &__v) != 1)
-        __err = ios_base::failbit;
-    // EOF checked
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    return __b;
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_get<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_get<wchar_t>)
-
-struct _LIBCPP_TYPE_VIS __num_put_base
-{
-protected:
-    static void __format_int(char* __fmt, const char* __len, bool __signd,
-                             ios_base::fmtflags __flags);
-    static bool __format_float(char* __fmt, const char* __len,
-                               ios_base::fmtflags __flags);
-    static char* __identify_padding(char* __nb, char* __ne,
-                                    const ios_base& __iob);
-};
-
-template <class _CharT>
-struct __num_put
-    : protected __num_put_base
-{
-    static void __widen_and_group_int(char* __nb, char* __np, char* __ne,
-                                      _CharT* __ob, _CharT*& __op, _CharT*& __oe,
-                                      const locale& __loc);
-    static void __widen_and_group_float(char* __nb, char* __np, char* __ne,
-                                        _CharT* __ob, _CharT*& __op, _CharT*& __oe,
-                                        const locale& __loc);
-};
-
-template <class _CharT>
-void
-__num_put<_CharT>::__widen_and_group_int(char* __nb, char* __np, char* __ne,
-                                         _CharT* __ob, _CharT*& __op, _CharT*& __oe,
-                                         const locale& __loc)
-{
-    const ctype<_CharT>&    __ct = use_facet<ctype<_CharT> >   (__loc);
-    const numpunct<_CharT>& __npt = use_facet<numpunct<_CharT> >(__loc);
-    string __grouping = __npt.grouping();
-    if (__grouping.empty())
-    {
-        __ct.widen(__nb, __ne, __ob);
-        __oe = __ob + (__ne - __nb);
-    }
-    else
-    {
-        __oe = __ob;
-        char* __nf = __nb;
-        if (*__nf == '-' || *__nf == '+')
-            *__oe++ = __ct.widen(*__nf++);
-        if (__ne - __nf >= 2 && __nf[0] == '0' && (__nf[1] == 'x' ||
-                                                   __nf[1] == 'X'))
-        {
-            *__oe++ = __ct.widen(*__nf++);
-            *__oe++ = __ct.widen(*__nf++);
-        }
-        reverse(__nf, __ne);
-        _CharT __thousands_sep = __npt.thousands_sep();
-        unsigned __dc = 0;
-        unsigned __dg = 0;
-        for (char* __p = __nf; __p < __ne; ++__p)
-        {
-            if (static_cast<unsigned>(__grouping[__dg]) > 0 &&
-                __dc == static_cast<unsigned>(__grouping[__dg]))
-            {
-                *__oe++ = __thousands_sep;
-                __dc = 0;
-                if (__dg < __grouping.size()-1)
-                    ++__dg;
-            }
-            *__oe++ = __ct.widen(*__p);
-            ++__dc;
-        }
-        reverse(__ob + (__nf - __nb), __oe);
-    }
-    if (__np == __ne)
-        __op = __oe;
-    else
-        __op = __ob + (__np - __nb);
-}
-
-template <class _CharT>
-void
-__num_put<_CharT>::__widen_and_group_float(char* __nb, char* __np, char* __ne,
-                                           _CharT* __ob, _CharT*& __op, _CharT*& __oe,
-                                           const locale& __loc)
-{
-    const ctype<_CharT>&    __ct = use_facet<ctype<_CharT> >   (__loc);
-    const numpunct<_CharT>& __npt = use_facet<numpunct<_CharT> >(__loc);
-    string __grouping = __npt.grouping();
-    __oe = __ob;
-    char* __nf = __nb;
-    if (*__nf == '-' || *__nf == '+')
-        *__oe++ = __ct.widen(*__nf++);
-    char* __ns;
-    if (__ne - __nf >= 2 && __nf[0] == '0' && (__nf[1] == 'x' ||
-                                               __nf[1] == 'X'))
-    {
-        *__oe++ = __ct.widen(*__nf++);
-        *__oe++ = __ct.widen(*__nf++);
-        for (__ns = __nf; __ns < __ne; ++__ns)
-            if (!isxdigit_l(*__ns, _LIBCPP_GET_C_LOCALE))
-                break;
-    }
-    else
-    {
-        for (__ns = __nf; __ns < __ne; ++__ns)
-            if (!isdigit_l(*__ns, _LIBCPP_GET_C_LOCALE))
-                break;
-    }
-    if (__grouping.empty())
-    {
-        __ct.widen(__nf, __ns, __oe);
-        __oe += __ns - __nf;
-    }
-    else
-    {
-        reverse(__nf, __ns);
-        _CharT __thousands_sep = __npt.thousands_sep();
-        unsigned __dc = 0;
-        unsigned __dg = 0;
-        for (char* __p = __nf; __p < __ns; ++__p)
-        {
-            if (__grouping[__dg] > 0 && __dc == static_cast<unsigned>(__grouping[__dg]))
-            {
-                *__oe++ = __thousands_sep;
-                __dc = 0;
-                if (__dg < __grouping.size()-1)
-                    ++__dg;
-            }
-            *__oe++ = __ct.widen(*__p);
-            ++__dc;
-        }
-        reverse(__ob + (__nf - __nb), __oe);
-    }
-    for (__nf = __ns; __nf < __ne; ++__nf)
-    {
-        if (*__nf == '.')
-        {
-            *__oe++ = __npt.decimal_point();
-            ++__nf;
-            break;
-        }
-        else
-            *__oe++ = __ct.widen(*__nf);
-    }
-    __ct.widen(__nf, __ne, __oe);
-    __oe += __ne - __nf;
-    if (__np == __ne)
-        __op = __oe;
-    else
-        __op = __ob + (__np - __nb);
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_put<char>)
-_LIBCPP_EXTERN_TEMPLATE2(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_put<wchar_t>)
-
-template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
-class _LIBCPP_TEMPLATE_VIS num_put
-    : public locale::facet,
-      private __num_put<_CharT>
-{
-public:
-    typedef _CharT char_type;
-    typedef _OutputIterator iter_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit num_put(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  bool __v) const
-    {
-        return do_put(__s, __iob, __fl, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  long __v) const
-    {
-        return do_put(__s, __iob, __fl, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  long long __v) const
-    {
-        return do_put(__s, __iob, __fl, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  unsigned long __v) const
-    {
-        return do_put(__s, __iob, __fl, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  unsigned long long __v) const
-    {
-        return do_put(__s, __iob, __fl, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  double __v) const
-    {
-        return do_put(__s, __iob, __fl, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  long double __v) const
-    {
-        return do_put(__s, __iob, __fl, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  const void* __v) const
-    {
-        return do_put(__s, __iob, __fl, __v);
-    }
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~num_put() {}
-
-    virtual iter_type do_put(iter_type __s, ios_base& __iob, char_type __fl,
-                             bool __v) const;
-    virtual iter_type do_put(iter_type __s, ios_base& __iob, char_type __fl,
-                             long __v) const;
-    virtual iter_type do_put(iter_type __s, ios_base& __iob, char_type __fl,
-                             long long __v) const;
-    virtual iter_type do_put(iter_type __s, ios_base& __iob, char_type __fl,
-                             unsigned long) const;
-    virtual iter_type do_put(iter_type __s, ios_base& __iob, char_type __fl,
-                             unsigned long long) const;
-    virtual iter_type do_put(iter_type __s, ios_base& __iob, char_type __fl,
-                             double __v) const;
-    virtual iter_type do_put(iter_type __s, ios_base& __iob, char_type __fl,
-                             long double __v) const;
-    virtual iter_type do_put(iter_type __s, ios_base& __iob, char_type __fl,
-                             const void* __v) const;
-};
-
-template <class _CharT, class _OutputIterator>
-locale::id
-num_put<_CharT, _OutputIterator>::id;
-
-template <class _CharT, class _OutputIterator>
-_LIBCPP_HIDDEN
-_OutputIterator
-__pad_and_output(_OutputIterator __s,
-                 const _CharT* __ob, const _CharT* __op, const _CharT* __oe,
-                 ios_base& __iob, _CharT __fl)
-{
-    streamsize __sz = __oe - __ob;
-    streamsize __ns = __iob.width();
-    if (__ns > __sz)
-        __ns -= __sz;
-    else
-        __ns = 0;
-    for (;__ob < __op; ++__ob, ++__s)
-        *__s = *__ob;
-    for (; __ns; --__ns, ++__s)
-        *__s = __fl;
-    for (; __ob < __oe; ++__ob, ++__s)
-        *__s = *__ob;
-    __iob.width(0);
-    return __s;
-}
-
-template <class _CharT, class _Traits>
-_LIBCPP_HIDDEN
-ostreambuf_iterator<_CharT, _Traits>
-__pad_and_output(ostreambuf_iterator<_CharT, _Traits> __s,
-                 const _CharT* __ob, const _CharT* __op, const _CharT* __oe,
-                 ios_base& __iob, _CharT __fl)
-{
-    if (__s.__sbuf_ == nullptr)
-        return __s;
-    streamsize __sz = __oe - __ob;
-    streamsize __ns = __iob.width();
-    if (__ns > __sz)
-        __ns -= __sz;
-    else
-        __ns = 0;
-    streamsize __np = __op - __ob;
-    if (__np > 0)
-    {
-        if (__s.__sbuf_->sputn(__ob, __np) != __np)
-        {
-            __s.__sbuf_ = nullptr;
-            return __s;
-        }
-    }
-    if (__ns > 0)
-    {
-        basic_string<_CharT, _Traits> __sp(__ns, __fl);
-        if (__s.__sbuf_->sputn(__sp.data(), __ns) != __ns)
-        {
-            __s.__sbuf_ = nullptr;
-            return __s;
-        }
-    }
-    __np = __oe - __op;
-    if (__np > 0)
-    {
-        if (__s.__sbuf_->sputn(__op, __np) != __np)
-        {
-            __s.__sbuf_ = nullptr;
-            return __s;
-        }
-    }
-    __iob.width(0);
-    return __s;
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
-                                         char_type __fl, bool __v) const
-{
-    if ((__iob.flags() & ios_base::boolalpha) == 0)
-        return do_put(__s, __iob, __fl, (unsigned long)__v);
-    const numpunct<char_type>& __np = use_facet<numpunct<char_type> >(__iob.getloc());
-    typedef typename numpunct<char_type>::string_type string_type;
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    string_type __tmp(__v ? __np.truename() : __np.falsename());
-    string_type __nm = _VSTD::move(__tmp);
-#else
-    string_type __nm = __v ? __np.truename() : __np.falsename();
-#endif
-    for (typename string_type::iterator __i = __nm.begin(); __i != __nm.end(); ++__i, ++__s)
-        *__s = *__i;
-    return __s;
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
-                                         char_type __fl, long __v) const
-{
-    // Stage 1 - Get number in narrow char
-    char __fmt[6] = {'%', 0};
-    const char* __len = "l";
-    this->__format_int(__fmt+1, __len, true, __iob.flags());
-    const unsigned __nbuf = (numeric_limits<long>::digits / 3)
-                          + ((numeric_limits<long>::digits % 3) != 0)
-                          + ((__iob.flags() & ios_base::showbase) != 0)
-                          + 2;
-    char __nar[__nbuf];
-    int __nc = __libcpp_snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
-    char* __ne = __nar + __nc;
-    char* __np = this->__identify_padding(__nar, __ne, __iob);
-    // Stage 2 - Widen __nar while adding thousands separators
-    char_type __o[2*(__nbuf-1) - 1];
-    char_type* __op;  // pad here
-    char_type* __oe;  // end of output
-    this->__widen_and_group_int(__nar, __np, __ne, __o, __op, __oe, __iob.getloc());
-    // [__o, __oe) contains thousands_sep'd wide number
-    // Stage 3 & 4
-    return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
-                                         char_type __fl, long long __v) const
-{
-    // Stage 1 - Get number in narrow char
-    char __fmt[8] = {'%', 0};
-    const char* __len = "ll";
-    this->__format_int(__fmt+1, __len, true, __iob.flags());
-    const unsigned __nbuf = (numeric_limits<long long>::digits / 3)
-                          + ((numeric_limits<long long>::digits % 3) != 0)
-                          + ((__iob.flags() & ios_base::showbase) != 0)
-                          + 2;
-    char __nar[__nbuf];
-    int __nc = __libcpp_snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
-    char* __ne = __nar + __nc;
-    char* __np = this->__identify_padding(__nar, __ne, __iob);
-    // Stage 2 - Widen __nar while adding thousands separators
-    char_type __o[2*(__nbuf-1) - 1];
-    char_type* __op;  // pad here
-    char_type* __oe;  // end of output
-    this->__widen_and_group_int(__nar, __np, __ne, __o, __op, __oe, __iob.getloc());
-    // [__o, __oe) contains thousands_sep'd wide number
-    // Stage 3 & 4
-    return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
-                                         char_type __fl, unsigned long __v) const
-{
-    // Stage 1 - Get number in narrow char
-    char __fmt[6] = {'%', 0};
-    const char* __len = "l";
-    this->__format_int(__fmt+1, __len, false, __iob.flags());
-    const unsigned __nbuf = (numeric_limits<unsigned long>::digits / 3)
-                          + ((numeric_limits<unsigned long>::digits % 3) != 0)
-                          + ((__iob.flags() & ios_base::showbase) != 0)
-                          + 1;
-    char __nar[__nbuf];
-    int __nc = __libcpp_snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
-    char* __ne = __nar + __nc;
-    char* __np = this->__identify_padding(__nar, __ne, __iob);
-    // Stage 2 - Widen __nar while adding thousands separators
-    char_type __o[2*(__nbuf-1) - 1];
-    char_type* __op;  // pad here
-    char_type* __oe;  // end of output
-    this->__widen_and_group_int(__nar, __np, __ne, __o, __op, __oe, __iob.getloc());
-    // [__o, __oe) contains thousands_sep'd wide number
-    // Stage 3 & 4
-    return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
-                                         char_type __fl, unsigned long long __v) const
-{
-    // Stage 1 - Get number in narrow char
-    char __fmt[8] = {'%', 0};
-    const char* __len = "ll";
-    this->__format_int(__fmt+1, __len, false, __iob.flags());
-    const unsigned __nbuf = (numeric_limits<unsigned long long>::digits / 3)
-                          + ((numeric_limits<unsigned long long>::digits % 3) != 0)
-                          + ((__iob.flags() & ios_base::showbase) != 0)
-                          + 1;
-    char __nar[__nbuf];
-    int __nc = __libcpp_snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
-    char* __ne = __nar + __nc;
-    char* __np = this->__identify_padding(__nar, __ne, __iob);
-    // Stage 2 - Widen __nar while adding thousands separators
-    char_type __o[2*(__nbuf-1) - 1];
-    char_type* __op;  // pad here
-    char_type* __oe;  // end of output
-    this->__widen_and_group_int(__nar, __np, __ne, __o, __op, __oe, __iob.getloc());
-    // [__o, __oe) contains thousands_sep'd wide number
-    // Stage 3 & 4
-    return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
-                                         char_type __fl, double __v) const
-{
-    // Stage 1 - Get number in narrow char
-    char __fmt[8] = {'%', 0};
-    const char* __len = "";
-    bool __specify_precision = this->__format_float(__fmt+1, __len, __iob.flags());
-    const unsigned __nbuf = 30;
-    char __nar[__nbuf];
-    char* __nb = __nar;
-    int __nc;
-    if (__specify_precision)
-        __nc = __libcpp_snprintf_l(__nb, __nbuf, _LIBCPP_GET_C_LOCALE, __fmt,
-                                   (int)__iob.precision(), __v);
-    else
-        __nc = __libcpp_snprintf_l(__nb, __nbuf, _LIBCPP_GET_C_LOCALE, __fmt, __v);
-    unique_ptr<char, void(*)(void*)> __nbh(0, free);
-    if (__nc > static_cast<int>(__nbuf-1))
-    {
-        if (__specify_precision)
-            __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, (int)__iob.precision(), __v);
-        else
-            __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, __v);
-        if (__nb == 0)
-            __throw_bad_alloc();
-        __nbh.reset(__nb);
-    }
-    char* __ne = __nb + __nc;
-    char* __np = this->__identify_padding(__nb, __ne, __iob);
-    // Stage 2 - Widen __nar while adding thousands separators
-    char_type __o[2*(__nbuf-1) - 1];
-    char_type* __ob = __o;
-    unique_ptr<char_type, void(*)(void*)> __obh(0, free);
-    if (__nb != __nar)
-    {
-        __ob = (char_type*)malloc(2*static_cast<size_t>(__nc)*sizeof(char_type));
-        if (__ob == 0)
-            __throw_bad_alloc();
-        __obh.reset(__ob);
-    }
-    char_type* __op;  // pad here
-    char_type* __oe;  // end of output
-    this->__widen_and_group_float(__nb, __np, __ne, __ob, __op, __oe, __iob.getloc());
-    // [__o, __oe) contains thousands_sep'd wide number
-    // Stage 3 & 4
-    __s = __pad_and_output(__s, __ob, __op, __oe, __iob, __fl);
-    return __s;
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
-                                         char_type __fl, long double __v) const
-{
-    // Stage 1 - Get number in narrow char
-    char __fmt[8] = {'%', 0};
-    const char* __len = "L";
-    bool __specify_precision = this->__format_float(__fmt+1, __len, __iob.flags());
-    const unsigned __nbuf = 30;
-    char __nar[__nbuf];
-    char* __nb = __nar;
-    int __nc;
-    if (__specify_precision)
-        __nc = __libcpp_snprintf_l(__nb, __nbuf, _LIBCPP_GET_C_LOCALE, __fmt,
-                                   (int)__iob.precision(), __v);
-    else
-        __nc = __libcpp_snprintf_l(__nb, __nbuf, _LIBCPP_GET_C_LOCALE, __fmt, __v);
-    unique_ptr<char, void(*)(void*)> __nbh(0, free);
-    if (__nc > static_cast<int>(__nbuf-1))
-    {
-        if (__specify_precision)
-            __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, (int)__iob.precision(), __v);
-        else
-            __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, __v);
-        if (__nb == 0)
-            __throw_bad_alloc();
-        __nbh.reset(__nb);
-    }
-    char* __ne = __nb + __nc;
-    char* __np = this->__identify_padding(__nb, __ne, __iob);
-    // Stage 2 - Widen __nar while adding thousands separators
-    char_type __o[2*(__nbuf-1) - 1];
-    char_type* __ob = __o;
-    unique_ptr<char_type, void(*)(void*)> __obh(0, free);
-    if (__nb != __nar)
-    {
-        __ob = (char_type*)malloc(2*static_cast<size_t>(__nc)*sizeof(char_type));
-        if (__ob == 0)
-            __throw_bad_alloc();
-        __obh.reset(__ob);
-    }
-    char_type* __op;  // pad here
-    char_type* __oe;  // end of output
-    this->__widen_and_group_float(__nb, __np, __ne, __ob, __op, __oe, __iob.getloc());
-    // [__o, __oe) contains thousands_sep'd wide number
-    // Stage 3 & 4
-    __s = __pad_and_output(__s, __ob, __op, __oe, __iob, __fl);
-    return __s;
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
-                                         char_type __fl, const void* __v) const
-{
-    // Stage 1 - Get pointer in narrow char
-    char __fmt[6] = "%p";
-    const unsigned __nbuf = 20;
-    char __nar[__nbuf];
-    int __nc = __libcpp_snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
-    char* __ne = __nar + __nc;
-    char* __np = this->__identify_padding(__nar, __ne, __iob);
-    // Stage 2 - Widen __nar
-    char_type __o[2*(__nbuf-1) - 1];
-    char_type* __op;  // pad here
-    char_type* __oe;  // end of output
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__iob.getloc());
-    __ct.widen(__nar, __ne, __o);
-    __oe = __o + (__ne - __nar);
-    if (__np == __ne)
-        __op = __oe;
-    else
-        __op = __o + (__np - __nar);
-    // [__o, __oe) contains wide number
-    // Stage 3 & 4
-    return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<wchar_t>)
-
-template <class _CharT, class _InputIterator>
-_LIBCPP_HIDDEN
-int
-__get_up_to_n_digits(_InputIterator& __b, _InputIterator __e,
-                     ios_base::iostate& __err, const ctype<_CharT>& __ct, int __n)
-{
-    // Precondition:  __n >= 1
-    if (__b == __e)
-    {
-        __err |= ios_base::eofbit | ios_base::failbit;
-        return 0;
-    }
-    // get first digit
-    _CharT __c = *__b;
-    if (!__ct.is(ctype_base::digit, __c))
-    {
-        __err |= ios_base::failbit;
-        return 0;
-    }
-    int __r = __ct.narrow(__c, 0) - '0';
-    for (++__b, (void) --__n; __b != __e && __n > 0; ++__b, (void) --__n)
-    {
-        // get next digit
-        __c = *__b;
-        if (!__ct.is(ctype_base::digit, __c))
-            return __r;
-        __r = __r * 10 + __ct.narrow(__c, 0) - '0';
-    }
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    return __r;
-}
-
-class _LIBCPP_TYPE_VIS time_base
-{
-public:
-    enum dateorder {no_order, dmy, mdy, ymd, ydm};
-};
-
-template <class _CharT>
-class _LIBCPP_TEMPLATE_VIS __time_get_c_storage
-{
-protected:
-    typedef basic_string<_CharT> string_type;
-
-    virtual const string_type* __weeks() const;
-    virtual const string_type* __months() const;
-    virtual const string_type* __am_pm() const;
-    virtual const string_type& __c() const;
-    virtual const string_type& __r() const;
-    virtual const string_type& __x() const;
-    virtual const string_type& __X() const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__time_get_c_storage() {}
-};
-
-template <> _LIBCPP_FUNC_VIS const string* __time_get_c_storage<char>::__weeks() const;
-template <> _LIBCPP_FUNC_VIS const string* __time_get_c_storage<char>::__months() const;
-template <> _LIBCPP_FUNC_VIS const string* __time_get_c_storage<char>::__am_pm() const;
-template <> _LIBCPP_FUNC_VIS const string& __time_get_c_storage<char>::__c() const;
-template <> _LIBCPP_FUNC_VIS const string& __time_get_c_storage<char>::__r() const;
-template <> _LIBCPP_FUNC_VIS const string& __time_get_c_storage<char>::__x() const;
-template <> _LIBCPP_FUNC_VIS const string& __time_get_c_storage<char>::__X() const;
-
-template <> _LIBCPP_FUNC_VIS const wstring* __time_get_c_storage<wchar_t>::__weeks() const;
-template <> _LIBCPP_FUNC_VIS const wstring* __time_get_c_storage<wchar_t>::__months() const;
-template <> _LIBCPP_FUNC_VIS const wstring* __time_get_c_storage<wchar_t>::__am_pm() const;
-template <> _LIBCPP_FUNC_VIS const wstring& __time_get_c_storage<wchar_t>::__c() const;
-template <> _LIBCPP_FUNC_VIS const wstring& __time_get_c_storage<wchar_t>::__r() const;
-template <> _LIBCPP_FUNC_VIS const wstring& __time_get_c_storage<wchar_t>::__x() const;
-template <> _LIBCPP_FUNC_VIS const wstring& __time_get_c_storage<wchar_t>::__X() const;
-
-template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
-class _LIBCPP_TEMPLATE_VIS time_get
-    : public locale::facet,
-      public time_base,
-      private __time_get_c_storage<_CharT>
-{
-public:
-    typedef _CharT                  char_type;
-    typedef _InputIterator          iter_type;
-    typedef time_base::dateorder    dateorder;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit time_get(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    dateorder date_order() const
-    {
-        return this->do_date_order();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get_time(iter_type __b, iter_type __e, ios_base& __iob,
-                       ios_base::iostate& __err, tm* __tm) const
-    {
-        return do_get_time(__b, __e, __iob, __err, __tm);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get_date(iter_type __b, iter_type __e, ios_base& __iob,
-                       ios_base::iostate& __err, tm* __tm) const
-    {
-        return do_get_date(__b, __e, __iob, __err, __tm);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get_weekday(iter_type __b, iter_type __e, ios_base& __iob,
-                          ios_base::iostate& __err, tm* __tm) const
-    {
-        return do_get_weekday(__b, __e, __iob, __err, __tm);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get_monthname(iter_type __b, iter_type __e, ios_base& __iob,
-                            ios_base::iostate& __err, tm* __tm) const
-    {
-        return do_get_monthname(__b, __e, __iob, __err, __tm);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get_year(iter_type __b, iter_type __e, ios_base& __iob,
-                       ios_base::iostate& __err, tm* __tm) const
-    {
-        return do_get_year(__b, __e, __iob, __err, __tm);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, tm *__tm,
-                  char __fmt, char __mod = 0) const
-    {
-        return do_get(__b, __e, __iob, __err, __tm, __fmt, __mod);
-    }
-
-    iter_type get(iter_type __b, iter_type __e, ios_base& __iob,
-                  ios_base::iostate& __err, tm* __tm,
-                  const char_type* __fmtb, const char_type* __fmte) const;
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~time_get() {}
-
-    virtual dateorder do_date_order() const;
-    virtual iter_type do_get_time(iter_type __b, iter_type __e, ios_base& __iob,
-                                  ios_base::iostate& __err, tm* __tm) const;
-    virtual iter_type do_get_date(iter_type __b, iter_type __e, ios_base& __iob,
-                                  ios_base::iostate& __err, tm* __tm) const;
-    virtual iter_type do_get_weekday(iter_type __b, iter_type __e, ios_base& __iob,
-                                     ios_base::iostate& __err, tm* __tm) const;
-    virtual iter_type do_get_monthname(iter_type __b, iter_type __e, ios_base& __iob,
-                                       ios_base::iostate& __err, tm* __tm) const;
-    virtual iter_type do_get_year(iter_type __b, iter_type __e, ios_base& __iob,
-                                  ios_base::iostate& __err, tm* __tm) const;
-    virtual iter_type do_get(iter_type __b, iter_type __e, ios_base& __iob,
-                             ios_base::iostate& __err, tm* __tm,
-                             char __fmt, char __mod) const;
-private:
-    void __get_white_space(iter_type& __b, iter_type __e,
-                           ios_base::iostate& __err, const ctype<char_type>& __ct) const;
-    void __get_percent(iter_type& __b, iter_type __e, ios_base::iostate& __err,
-                       const ctype<char_type>& __ct) const;
-
-    void __get_weekdayname(int& __m,
-                           iter_type& __b, iter_type __e,
-                           ios_base::iostate& __err,
-                           const ctype<char_type>& __ct) const;
-    void __get_monthname(int& __m,
-                         iter_type& __b, iter_type __e,
-                         ios_base::iostate& __err,
-                         const ctype<char_type>& __ct) const;
-    void __get_day(int& __d,
-                   iter_type& __b, iter_type __e,
-                   ios_base::iostate& __err,
-                   const ctype<char_type>& __ct) const;
-    void __get_month(int& __m,
-                     iter_type& __b, iter_type __e,
-                     ios_base::iostate& __err,
-                     const ctype<char_type>& __ct) const;
-    void __get_year(int& __y,
-                   iter_type& __b, iter_type __e,
-                   ios_base::iostate& __err,
-                   const ctype<char_type>& __ct) const;
-    void __get_year4(int& __y,
-                    iter_type& __b, iter_type __e,
-                    ios_base::iostate& __err,
-                    const ctype<char_type>& __ct) const;
-    void __get_hour(int& __d,
-                    iter_type& __b, iter_type __e,
-                    ios_base::iostate& __err,
-                    const ctype<char_type>& __ct) const;
-    void __get_12_hour(int& __h,
-                       iter_type& __b, iter_type __e,
-                       ios_base::iostate& __err,
-                       const ctype<char_type>& __ct) const;
-    void __get_am_pm(int& __h,
-                     iter_type& __b, iter_type __e,
-                     ios_base::iostate& __err,
-                     const ctype<char_type>& __ct) const;
-    void __get_minute(int& __m,
-                      iter_type& __b, iter_type __e,
-                      ios_base::iostate& __err,
-                      const ctype<char_type>& __ct) const;
-    void __get_second(int& __s,
-                      iter_type& __b, iter_type __e,
-                      ios_base::iostate& __err,
-                      const ctype<char_type>& __ct) const;
-    void __get_weekday(int& __w,
-                       iter_type& __b, iter_type __e,
-                       ios_base::iostate& __err,
-                       const ctype<char_type>& __ct) const;
-    void __get_day_year_num(int& __w,
-                            iter_type& __b, iter_type __e,
-                            ios_base::iostate& __err,
-                            const ctype<char_type>& __ct) const;
-};
-
-template <class _CharT, class _InputIterator>
-locale::id
-time_get<_CharT, _InputIterator>::id;
-
-// time_get primitives
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_weekdayname(int& __w,
-                                                    iter_type& __b, iter_type __e,
-                                                    ios_base::iostate& __err,
-                                                    const ctype<char_type>& __ct) const
-{
-    // Note:  ignoring case comes from the POSIX strptime spec
-    const string_type* __wk = this->__weeks();
-    ptrdiff_t __i = __scan_keyword(__b, __e, __wk, __wk+14, __ct, __err, false) - __wk;
-    if (__i < 14)
-        __w = __i % 7;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_monthname(int& __m,
-                                                  iter_type& __b, iter_type __e,
-                                                  ios_base::iostate& __err,
-                                                  const ctype<char_type>& __ct) const
-{
-    // Note:  ignoring case comes from the POSIX strptime spec
-    const string_type* __month = this->__months();
-    ptrdiff_t __i = __scan_keyword(__b, __e, __month, __month+24, __ct, __err, false) - __month;
-    if (__i < 24)
-        __m = __i % 12;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_day(int& __d,
-                                            iter_type& __b, iter_type __e,
-                                            ios_base::iostate& __err,
-                                            const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 2);
-    if (!(__err & ios_base::failbit) && 1 <= __t && __t <= 31)
-        __d = __t;
-    else
-        __err |= ios_base::failbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_month(int& __m,
-                                              iter_type& __b, iter_type __e,
-                                              ios_base::iostate& __err,
-                                              const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 2) - 1;
-    if (!(__err & ios_base::failbit) && __t <= 11)
-        __m = __t;
-    else
-        __err |= ios_base::failbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_year(int& __y,
-                                             iter_type& __b, iter_type __e,
-                                             ios_base::iostate& __err,
-                                             const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 4);
-    if (!(__err & ios_base::failbit))
-    {
-        if (__t < 69)
-            __t += 2000;
-        else if (69 <= __t && __t <= 99)
-            __t += 1900;
-        __y = __t - 1900;
-    }
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_year4(int& __y,
-                                              iter_type& __b, iter_type __e,
-                                              ios_base::iostate& __err,
-                                              const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 4);
-    if (!(__err & ios_base::failbit))
-        __y = __t - 1900;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_hour(int& __h,
-                                             iter_type& __b, iter_type __e,
-                                             ios_base::iostate& __err,
-                                             const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 2);
-    if (!(__err & ios_base::failbit) && __t <= 23)
-        __h = __t;
-    else
-        __err |= ios_base::failbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_12_hour(int& __h,
-                                                iter_type& __b, iter_type __e,
-                                                ios_base::iostate& __err,
-                                                const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 2);
-    if (!(__err & ios_base::failbit) && 1 <= __t && __t <= 12)
-        __h = __t;
-    else
-        __err |= ios_base::failbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_minute(int& __m,
-                                               iter_type& __b, iter_type __e,
-                                               ios_base::iostate& __err,
-                                               const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 2);
-    if (!(__err & ios_base::failbit) && __t <= 59)
-        __m = __t;
-    else
-        __err |= ios_base::failbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_second(int& __s,
-                                               iter_type& __b, iter_type __e,
-                                               ios_base::iostate& __err,
-                                               const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 2);
-    if (!(__err & ios_base::failbit) && __t <= 60)
-        __s = __t;
-    else
-        __err |= ios_base::failbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_weekday(int& __w,
-                                                iter_type& __b, iter_type __e,
-                                                ios_base::iostate& __err,
-                                                const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 1);
-    if (!(__err & ios_base::failbit) && __t <= 6)
-        __w = __t;
-    else
-        __err |= ios_base::failbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_day_year_num(int& __d,
-                                                     iter_type& __b, iter_type __e,
-                                                     ios_base::iostate& __err,
-                                                     const ctype<char_type>& __ct) const
-{
-    int __t = __get_up_to_n_digits(__b, __e, __err, __ct, 3);
-    if (!(__err & ios_base::failbit) && __t <= 365)
-        __d = __t;
-    else
-        __err |= ios_base::failbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_white_space(iter_type& __b, iter_type __e,
-                                                    ios_base::iostate& __err,
-                                                    const ctype<char_type>& __ct) const
-{
-    for (; __b != __e && __ct.is(ctype_base::space, *__b); ++__b)
-        ;
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_am_pm(int& __h,
-                                              iter_type& __b, iter_type __e,
-                                              ios_base::iostate& __err,
-                                              const ctype<char_type>& __ct) const
-{
-    const string_type* __ap = this->__am_pm();
-    if (__ap[0].size() + __ap[1].size() == 0)
-    {
-        __err |= ios_base::failbit;
-        return;
-    }
-    ptrdiff_t __i = __scan_keyword(__b, __e, __ap, __ap+2, __ct, __err, false) - __ap;
-    if (__i == 0 && __h == 12)
-        __h = 0;
-    else if (__i == 1 && __h < 12)
-        __h += 12;
-}
-
-template <class _CharT, class _InputIterator>
-void
-time_get<_CharT, _InputIterator>::__get_percent(iter_type& __b, iter_type __e,
-                                                ios_base::iostate& __err,
-                                                const ctype<char_type>& __ct) const
-{
-    if (__b == __e)
-    {
-        __err |= ios_base::eofbit | ios_base::failbit;
-        return;
-    }
-    if (__ct.narrow(*__b, 0) != '%')
-        __err |= ios_base::failbit;
-    else if(++__b == __e)
-        __err |= ios_base::eofbit;
-}
-
-// time_get end primitives
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-time_get<_CharT, _InputIterator>::get(iter_type __b, iter_type __e,
-                                      ios_base& __iob,
-                                      ios_base::iostate& __err, tm* __tm,
-                                      const char_type* __fmtb, const char_type* __fmte) const
-{
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__iob.getloc());
-    __err = ios_base::goodbit;
-    while (__fmtb != __fmte && __err == ios_base::goodbit)
-    {
-        if (__b == __e)
-        {
-            __err = ios_base::failbit;
-            break;
-        }
-        if (__ct.narrow(*__fmtb, 0) == '%')
-        {
-            if (++__fmtb == __fmte)
-            {
-                __err = ios_base::failbit;
-                break;
-            }
-            char __cmd = __ct.narrow(*__fmtb, 0);
-            char __opt = '\0';
-            if (__cmd == 'E' || __cmd == '0')
-            {
-                if (++__fmtb == __fmte)
-                {
-                    __err = ios_base::failbit;
-                    break;
-                }
-                __opt = __cmd;
-                __cmd = __ct.narrow(*__fmtb, 0);
-            }
-            __b = do_get(__b, __e, __iob, __err, __tm, __cmd, __opt);
-            ++__fmtb;
-        }
-        else if (__ct.is(ctype_base::space, *__fmtb))
-        {
-            for (++__fmtb; __fmtb != __fmte && __ct.is(ctype_base::space, *__fmtb); ++__fmtb)
-                ;
-            for (        ;    __b != __e    && __ct.is(ctype_base::space, *__b);    ++__b)
-                ;
-        }
-        else if (__ct.toupper(*__b) == __ct.toupper(*__fmtb))
-        {
-            ++__b;
-            ++__fmtb;
-        }
-        else
-            __err = ios_base::failbit;
-    }
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    return __b;
-}
-
-template <class _CharT, class _InputIterator>
-typename time_get<_CharT, _InputIterator>::dateorder
-time_get<_CharT, _InputIterator>::do_date_order() const
-{
-    return mdy;
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-time_get<_CharT, _InputIterator>::do_get_time(iter_type __b, iter_type __e,
-                                              ios_base& __iob,
-                                              ios_base::iostate& __err,
-                                              tm* __tm) const
-{
-    const char_type __fmt[] = {'%', 'H', ':', '%', 'M', ':', '%', 'S'};
-    return get(__b, __e, __iob, __err, __tm, __fmt, __fmt + sizeof(__fmt)/sizeof(__fmt[0]));
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-time_get<_CharT, _InputIterator>::do_get_date(iter_type __b, iter_type __e,
-                                              ios_base& __iob,
-                                              ios_base::iostate& __err,
-                                              tm* __tm) const
-{
-    const string_type& __fmt = this->__x();
-    return get(__b, __e, __iob, __err, __tm, __fmt.data(), __fmt.data() + __fmt.size());
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-time_get<_CharT, _InputIterator>::do_get_weekday(iter_type __b, iter_type __e,
-                                                 ios_base& __iob,
-                                                 ios_base::iostate& __err,
-                                                 tm* __tm) const
-{
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__iob.getloc());
-    __get_weekdayname(__tm->tm_wday, __b, __e, __err, __ct);
-    return __b;
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-time_get<_CharT, _InputIterator>::do_get_monthname(iter_type __b, iter_type __e,
-                                                   ios_base& __iob,
-                                                   ios_base::iostate& __err,
-                                                   tm* __tm) const
-{
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__iob.getloc());
-    __get_monthname(__tm->tm_mon, __b, __e, __err, __ct);
-    return __b;
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-time_get<_CharT, _InputIterator>::do_get_year(iter_type __b, iter_type __e,
-                                              ios_base& __iob,
-                                              ios_base::iostate& __err,
-                                              tm* __tm) const
-{
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__iob.getloc());
-    __get_year(__tm->tm_year, __b, __e, __err, __ct);
-    return __b;
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-time_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
-                                         ios_base& __iob,
-                                         ios_base::iostate& __err, tm* __tm,
-                                         char __fmt, char) const
-{
-    __err = ios_base::goodbit;
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__iob.getloc());
-    switch (__fmt)
-    {
-    case 'a':
-    case 'A':
-        __get_weekdayname(__tm->tm_wday, __b, __e, __err, __ct);
-        break;
-    case 'b':
-    case 'B':
-    case 'h':
-        __get_monthname(__tm->tm_mon, __b, __e, __err, __ct);
-        break;
-    case 'c':
-        {
-        const string_type& __fm = this->__c();
-        __b = get(__b, __e, __iob, __err, __tm, __fm.data(), __fm.data() + __fm.size());
-        }
-        break;
-    case 'd':
-    case 'e':
-        __get_day(__tm->tm_mday, __b, __e, __err, __ct);
-        break;
-    case 'D':
-        {
-        const char_type __fm[] = {'%', 'm', '/', '%', 'd', '/', '%', 'y'};
-        __b = get(__b, __e, __iob, __err, __tm, __fm, __fm + sizeof(__fm)/sizeof(__fm[0]));
-        }
-        break;
-    case 'F':
-        {
-        const char_type __fm[] = {'%', 'Y', '-', '%', 'm', '-', '%', 'd'};
-        __b = get(__b, __e, __iob, __err, __tm, __fm, __fm + sizeof(__fm)/sizeof(__fm[0]));
-        }
-        break;
-    case 'H':
-        __get_hour(__tm->tm_hour, __b, __e, __err, __ct);
-        break;
-    case 'I':
-        __get_12_hour(__tm->tm_hour, __b, __e, __err, __ct);
-        break;
-    case 'j':
-        __get_day_year_num(__tm->tm_yday, __b, __e, __err, __ct);
-        break;
-    case 'm':
-        __get_month(__tm->tm_mon, __b, __e, __err, __ct);
-        break;
-    case 'M':
-        __get_minute(__tm->tm_min, __b, __e, __err, __ct);
-        break;
-    case 'n':
-    case 't':
-        __get_white_space(__b, __e, __err, __ct);
-        break;
-    case 'p':
-        __get_am_pm(__tm->tm_hour, __b, __e, __err, __ct);
-        break;
-    case 'r':
-        {
-        const char_type __fm[] = {'%', 'I', ':', '%', 'M', ':', '%', 'S', ' ', '%', 'p'};
-        __b = get(__b, __e, __iob, __err, __tm, __fm, __fm + sizeof(__fm)/sizeof(__fm[0]));
-        }
-        break;
-    case 'R':
-        {
-        const char_type __fm[] = {'%', 'H', ':', '%', 'M'};
-        __b = get(__b, __e, __iob, __err, __tm, __fm, __fm + sizeof(__fm)/sizeof(__fm[0]));
-        }
-        break;
-    case 'S':
-        __get_second(__tm->tm_sec, __b, __e, __err, __ct);
-        break;
-    case 'T':
-        {
-        const char_type __fm[] = {'%', 'H', ':', '%', 'M', ':', '%', 'S'};
-        __b = get(__b, __e, __iob, __err, __tm, __fm, __fm + sizeof(__fm)/sizeof(__fm[0]));
-        }
-        break;
-    case 'w':
-        __get_weekday(__tm->tm_wday, __b, __e, __err, __ct);
-        break;
-    case 'x':
-        return do_get_date(__b, __e, __iob, __err, __tm);
-    case 'X':
-        {
-        const string_type& __fm = this->__X();
-        __b = get(__b, __e, __iob, __err, __tm, __fm.data(), __fm.data() + __fm.size());
-        }
-        break;
-    case 'y':
-        __get_year(__tm->tm_year, __b, __e, __err, __ct);
-        break;
-    case 'Y':
-        __get_year4(__tm->tm_year, __b, __e, __err, __ct);
-        break;
-    case '%':
-        __get_percent(__b, __e, __err, __ct);
-        break;
-    default:
-        __err |= ios_base::failbit;
-    }
-    return __b;
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get<wchar_t>)
-
-class _LIBCPP_TYPE_VIS __time_get
-{
-protected:
-    locale_t __loc_;
-
-    __time_get(const char* __nm);
-    __time_get(const string& __nm);
-    ~__time_get();
-};
-
-template <class _CharT>
-class _LIBCPP_TEMPLATE_VIS __time_get_storage
-    : public __time_get
-{
-protected:
-    typedef basic_string<_CharT> string_type;
-
-    string_type __weeks_[14];
-    string_type __months_[24];
-    string_type __am_pm_[2];
-    string_type __c_;
-    string_type __r_;
-    string_type __x_;
-    string_type __X_;
-
-    explicit __time_get_storage(const char* __nm);
-    explicit __time_get_storage(const string& __nm);
-
-    _LIBCPP_INLINE_VISIBILITY ~__time_get_storage() {}
-
-    time_base::dateorder __do_date_order() const;
-
-private:
-    void init(const ctype<_CharT>&);
-    string_type __analyze(char __fmt, const ctype<_CharT>&);
-};
-
-#define _LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION(_CharT) \
-template <> _LIBCPP_FUNC_VIS time_base::dateorder __time_get_storage<_CharT>::__do_date_order() const; \
-template <> _LIBCPP_FUNC_VIS __time_get_storage<_CharT>::__time_get_storage(const char*); \
-template <> _LIBCPP_FUNC_VIS __time_get_storage<_CharT>::__time_get_storage(const string&); \
-template <> _LIBCPP_FUNC_VIS void __time_get_storage<_CharT>::init(const ctype<_CharT>&); \
-template <> _LIBCPP_FUNC_VIS __time_get_storage<_CharT>::string_type __time_get_storage<_CharT>::__analyze(char, const ctype<_CharT>&); \
-extern template _LIBCPP_FUNC_VIS time_base::dateorder __time_get_storage<_CharT>::__do_date_order() const; \
-extern template _LIBCPP_FUNC_VIS __time_get_storage<_CharT>::__time_get_storage(const char*); \
-extern template _LIBCPP_FUNC_VIS __time_get_storage<_CharT>::__time_get_storage(const string&); \
-extern template _LIBCPP_FUNC_VIS void __time_get_storage<_CharT>::init(const ctype<_CharT>&); \
-extern template _LIBCPP_FUNC_VIS __time_get_storage<_CharT>::string_type __time_get_storage<_CharT>::__analyze(char, const ctype<_CharT>&); \
-/**/
-
-_LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION(char)
-_LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION(wchar_t)
-#undef _LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION
-
-template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
-class _LIBCPP_TEMPLATE_VIS time_get_byname
-    : public time_get<_CharT, _InputIterator>,
-      private __time_get_storage<_CharT>
-{
-public:
-    typedef time_base::dateorder    dateorder;
-    typedef _InputIterator          iter_type;
-    typedef _CharT                  char_type;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit time_get_byname(const char* __nm, size_t __refs = 0)
-        : time_get<_CharT, _InputIterator>(__refs),
-          __time_get_storage<_CharT>(__nm) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit time_get_byname(const string& __nm, size_t __refs = 0)
-        : time_get<_CharT, _InputIterator>(__refs),
-          __time_get_storage<_CharT>(__nm) {}
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~time_get_byname() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    virtual dateorder do_date_order() const {return this->__do_date_order();}
-private:
-    _LIBCPP_INLINE_VISIBILITY
-    virtual const string_type* __weeks() const  {return this->__weeks_;}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual const string_type* __months() const {return this->__months_;}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual const string_type* __am_pm() const  {return this->__am_pm_;}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual const string_type& __c() const      {return this->__c_;}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual const string_type& __r() const      {return this->__r_;}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual const string_type& __x() const      {return this->__x_;}
-    _LIBCPP_INLINE_VISIBILITY
-    virtual const string_type& __X() const      {return this->__X_;}
-};
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get_byname<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get_byname<wchar_t>)
-
-class _LIBCPP_TYPE_VIS __time_put
-{
-    locale_t __loc_;
-protected:
-    _LIBCPP_INLINE_VISIBILITY __time_put() : __loc_(_LIBCPP_GET_C_LOCALE) {}
-    __time_put(const char* __nm);
-    __time_put(const string& __nm);
-    ~__time_put();
-    void __do_put(char* __nb, char*& __ne, const tm* __tm,
-                  char __fmt, char __mod) const;
-    void __do_put(wchar_t* __wb, wchar_t*& __we, const tm* __tm,
-                  char __fmt, char __mod) const;
-};
-
-template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
-class _LIBCPP_TEMPLATE_VIS time_put
-    : public locale::facet,
-      private __time_put
-{
-public:
-    typedef _CharT char_type;
-    typedef _OutputIterator iter_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit time_put(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl, const tm* __tm,
-                  const char_type* __pb, const char_type* __pe) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, ios_base& __iob, char_type __fl,
-                  const tm* __tm, char __fmt, char __mod = 0) const
-    {
-        return do_put(__s, __iob, __fl, __tm, __fmt, __mod);
-    }
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~time_put() {}
-    virtual iter_type do_put(iter_type __s, ios_base&, char_type, const tm* __tm,
-                             char __fmt, char __mod) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit time_put(const char* __nm, size_t __refs)
-        : locale::facet(__refs),
-          __time_put(__nm) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit time_put(const string& __nm, size_t __refs)
-        : locale::facet(__refs),
-          __time_put(__nm) {}
-};
-
-template <class _CharT, class _OutputIterator>
-locale::id
-time_put<_CharT, _OutputIterator>::id;
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-time_put<_CharT, _OutputIterator>::put(iter_type __s, ios_base& __iob,
-                                       char_type __fl, const tm* __tm,
-                                       const char_type* __pb,
-                                       const char_type* __pe) const
-{
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__iob.getloc());
-    for (; __pb != __pe; ++__pb)
-    {
-        if (__ct.narrow(*__pb, 0) == '%')
-        {
-            if (++__pb == __pe)
-            {
-                *__s++ = __pb[-1];
-                break;
-            }
-            char __mod = 0;
-            char __fmt = __ct.narrow(*__pb, 0);
-            if (__fmt == 'E' || __fmt == 'O')
-            {
-                if (++__pb == __pe)
-                {
-                    *__s++ = __pb[-2];
-                    *__s++ = __pb[-1];
-                    break;
-                }
-                __mod = __fmt;
-                __fmt = __ct.narrow(*__pb, 0);
-            }
-            __s = do_put(__s, __iob, __fl, __tm, __fmt, __mod);
-        }
-        else
-            *__s++ = *__pb;
-    }
-    return __s;
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-time_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base&,
-                                          char_type, const tm* __tm,
-                                          char __fmt, char __mod) const
-{
-    char_type __nar[100];
-    char_type* __nb = __nar;
-    char_type* __ne = __nb + 100;
-    __do_put(__nb, __ne, __tm, __fmt, __mod);
-    return _VSTD::copy(__nb, __ne, __s);
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put<wchar_t>)
-
-template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
-class _LIBCPP_TEMPLATE_VIS time_put_byname
-    : public time_put<_CharT, _OutputIterator>
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit time_put_byname(const char* __nm, size_t __refs = 0)
-        : time_put<_CharT, _OutputIterator>(__nm, __refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit time_put_byname(const string& __nm, size_t __refs = 0)
-        : time_put<_CharT, _OutputIterator>(__nm, __refs) {}
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~time_put_byname() {}
-};
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<wchar_t>)
-
-// money_base
-
-class _LIBCPP_TYPE_VIS money_base
-{
-public:
-    enum part {none, space, symbol, sign, value};
-    struct pattern {char field[4];};
-
-    _LIBCPP_INLINE_VISIBILITY money_base() {}
-};
-
-// moneypunct
-
-template <class _CharT, bool _International = false>
-class _LIBCPP_TEMPLATE_VIS moneypunct
-    : public locale::facet,
-      public money_base
-{
-public:
-    typedef _CharT                  char_type;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit moneypunct(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY char_type   decimal_point() const {return do_decimal_point();}
-    _LIBCPP_INLINE_VISIBILITY char_type   thousands_sep() const {return do_thousands_sep();}
-    _LIBCPP_INLINE_VISIBILITY string      grouping()      const {return do_grouping();}
-    _LIBCPP_INLINE_VISIBILITY string_type curr_symbol()   const {return do_curr_symbol();}
-    _LIBCPP_INLINE_VISIBILITY string_type positive_sign() const {return do_positive_sign();}
-    _LIBCPP_INLINE_VISIBILITY string_type negative_sign() const {return do_negative_sign();}
-    _LIBCPP_INLINE_VISIBILITY int         frac_digits()   const {return do_frac_digits();}
-    _LIBCPP_INLINE_VISIBILITY pattern     pos_format()    const {return do_pos_format();}
-    _LIBCPP_INLINE_VISIBILITY pattern     neg_format()    const {return do_neg_format();}
-
-    static locale::id id;
-    static const bool intl = _International;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~moneypunct() {}
-
-    virtual char_type   do_decimal_point() const {return numeric_limits<char_type>::max();}
-    virtual char_type   do_thousands_sep() const {return numeric_limits<char_type>::max();}
-    virtual string      do_grouping()      const {return string();}
-    virtual string_type do_curr_symbol()   const {return string_type();}
-    virtual string_type do_positive_sign() const {return string_type();}
-    virtual string_type do_negative_sign() const {return string_type(1, '-');}
-    virtual int         do_frac_digits()   const {return 0;}
-    virtual pattern     do_pos_format()    const
-        {pattern __p = {{symbol, sign, none, value}}; return __p;}
-    virtual pattern     do_neg_format()    const
-        {pattern __p = {{symbol, sign, none, value}}; return __p;}
-};
-
-template <class _CharT, bool _International>
-locale::id
-moneypunct<_CharT, _International>::id;
-
-template <class _CharT, bool _International>
-const bool
-moneypunct<_CharT, _International>::intl;
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<char, false>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<char, true>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<wchar_t, false>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<wchar_t, true>)
-
-// moneypunct_byname
-
-template <class _CharT, bool _International = false>
-class _LIBCPP_TEMPLATE_VIS moneypunct_byname
-    : public moneypunct<_CharT, _International>
-{
-public:
-    typedef money_base::pattern  pattern;
-    typedef _CharT                  char_type;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit moneypunct_byname(const char* __nm, size_t __refs = 0)
-        : moneypunct<_CharT, _International>(__refs) {init(__nm);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit moneypunct_byname(const string& __nm, size_t __refs = 0)
-        : moneypunct<_CharT, _International>(__refs) {init(__nm.c_str());}
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~moneypunct_byname() {}
-
-    virtual char_type   do_decimal_point() const {return __decimal_point_;}
-    virtual char_type   do_thousands_sep() const {return __thousands_sep_;}
-    virtual string      do_grouping()      const {return __grouping_;}
-    virtual string_type do_curr_symbol()   const {return __curr_symbol_;}
-    virtual string_type do_positive_sign() const {return __positive_sign_;}
-    virtual string_type do_negative_sign() const {return __negative_sign_;}
-    virtual int         do_frac_digits()   const {return __frac_digits_;}
-    virtual pattern     do_pos_format()    const {return __pos_format_;}
-    virtual pattern     do_neg_format()    const {return __neg_format_;}
-
-private:
-    char_type   __decimal_point_;
-    char_type   __thousands_sep_;
-    string      __grouping_;
-    string_type __curr_symbol_;
-    string_type __positive_sign_;
-    string_type __negative_sign_;
-    int         __frac_digits_;
-    pattern     __pos_format_;
-    pattern     __neg_format_;
-
-    void init(const char*);
-};
-
-template<> _LIBCPP_FUNC_VIS void moneypunct_byname<char, false>::init(const char*);
-template<> _LIBCPP_FUNC_VIS void moneypunct_byname<char, true>::init(const char*);
-template<> _LIBCPP_FUNC_VIS void moneypunct_byname<wchar_t, false>::init(const char*);
-template<> _LIBCPP_FUNC_VIS void moneypunct_byname<wchar_t, true>::init(const char*);
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<char, false>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<char, true>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<wchar_t, false>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<wchar_t, true>)
-
-// money_get
-
-template <class _CharT>
-class __money_get
-{
-protected:
-    typedef _CharT                  char_type;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY __money_get() {}
-
-    static void __gather_info(bool __intl, const locale& __loc,
-                              money_base::pattern& __pat, char_type& __dp,
-                              char_type& __ts, string& __grp,
-                              string_type& __sym, string_type& __psn,
-                              string_type& __nsn, int& __fd);
-};
-
-template <class _CharT>
-void
-__money_get<_CharT>::__gather_info(bool __intl, const locale& __loc,
-                                   money_base::pattern& __pat, char_type& __dp,
-                                   char_type& __ts, string& __grp,
-                                   string_type& __sym, string_type& __psn,
-                                   string_type& __nsn, int& __fd)
-{
-    if (__intl)
-    {
-        const moneypunct<char_type, true>& __mp =
-            use_facet<moneypunct<char_type, true> >(__loc);
-        __pat = __mp.neg_format();
-        __nsn = __mp.negative_sign();
-        __psn = __mp.positive_sign();
-        __dp = __mp.decimal_point();
-        __ts = __mp.thousands_sep();
-        __grp = __mp.grouping();
-        __sym = __mp.curr_symbol();
-        __fd = __mp.frac_digits();
-    }
-    else
-    {
-        const moneypunct<char_type, false>& __mp =
-            use_facet<moneypunct<char_type, false> >(__loc);
-        __pat = __mp.neg_format();
-        __nsn = __mp.negative_sign();
-        __psn = __mp.positive_sign();
-        __dp = __mp.decimal_point();
-        __ts = __mp.thousands_sep();
-        __grp = __mp.grouping();
-        __sym = __mp.curr_symbol();
-        __fd = __mp.frac_digits();
-    }
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_get<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_get<wchar_t>)
-
-template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
-class _LIBCPP_TEMPLATE_VIS money_get
-    : public locale::facet,
-      private __money_get<_CharT>
-{
-public:
-    typedef _CharT                  char_type;
-    typedef _InputIterator          iter_type;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit money_get(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, bool __intl, ios_base& __iob,
-                  ios_base::iostate& __err, long double& __v) const
-    {
-        return do_get(__b, __e, __intl, __iob, __err, __v);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type get(iter_type __b, iter_type __e, bool __intl, ios_base& __iob,
-                  ios_base::iostate& __err, string_type& __v) const
-    {
-        return do_get(__b, __e, __intl, __iob, __err, __v);
-    }
-
-    static locale::id id;
-
-protected:
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~money_get() {}
-
-    virtual iter_type do_get(iter_type __b, iter_type __e, bool __intl,
-                             ios_base& __iob, ios_base::iostate& __err,
-                             long double& __v) const;
-    virtual iter_type do_get(iter_type __b, iter_type __e, bool __intl,
-                             ios_base& __iob, ios_base::iostate& __err,
-                             string_type& __v) const;
-
-private:
-    static bool __do_get(iter_type& __b, iter_type __e,
-                         bool __intl, const locale& __loc,
-                         ios_base::fmtflags __flags, ios_base::iostate& __err,
-                         bool& __neg, const ctype<char_type>& __ct,
-                         unique_ptr<char_type, void(*)(void*)>& __wb,
-                         char_type*& __wn, char_type* __we);
-};
-
-template <class _CharT, class _InputIterator>
-locale::id
-money_get<_CharT, _InputIterator>::id;
-
-_LIBCPP_FUNC_VIS void __do_nothing(void*);
-
-template <class _Tp>
-_LIBCPP_HIDDEN
-void
-__double_or_nothing(unique_ptr<_Tp, void(*)(void*)>& __b, _Tp*& __n, _Tp*& __e)
-{
-    bool __owns = __b.get_deleter() != __do_nothing;
-    size_t __cur_cap = static_cast<size_t>(__e-__b.get()) * sizeof(_Tp);
-    size_t __new_cap = __cur_cap < numeric_limits<size_t>::max() / 2 ?
-                       2 * __cur_cap : numeric_limits<size_t>::max();
-    if (__new_cap == 0)
-        __new_cap = sizeof(_Tp);
-    size_t __n_off = static_cast<size_t>(__n - __b.get());
-    _Tp* __t = (_Tp*)realloc(__owns ? __b.get() : 0, __new_cap);
-    if (__t == 0)
-        __throw_bad_alloc();
-    if (__owns)
-        __b.release();
-    __b = unique_ptr<_Tp, void(*)(void*)>(__t, free);
-    __new_cap /= sizeof(_Tp);
-    __n = __b.get() + __n_off;
-    __e = __b.get() + __new_cap;
-}
-
-// true == success
-template <class _CharT, class _InputIterator>
-bool
-money_get<_CharT, _InputIterator>::__do_get(iter_type& __b, iter_type __e,
-                                            bool __intl, const locale& __loc,
-                                            ios_base::fmtflags __flags,
-                                            ios_base::iostate& __err,
-                                            bool& __neg,
-                                            const ctype<char_type>& __ct,
-                                            unique_ptr<char_type, void(*)(void*)>& __wb,
-                                            char_type*& __wn, char_type* __we)
-{
-    const unsigned __bz = 100;
-    unsigned __gbuf[__bz];
-    unique_ptr<unsigned, void(*)(void*)> __gb(__gbuf, __do_nothing);
-    unsigned* __gn = __gb.get();
-    unsigned* __ge = __gn + __bz;
-    money_base::pattern __pat;
-    char_type __dp;
-    char_type __ts;
-    string __grp;
-    string_type __sym;
-    string_type __psn;
-    string_type __nsn;
-    // Capture the spaces read into money_base::{space,none} so they
-    // can be compared to initial spaces in __sym.
-    string_type __spaces;
-    int __fd;
-    __money_get<_CharT>::__gather_info(__intl, __loc, __pat, __dp, __ts, __grp,
-                                       __sym, __psn, __nsn, __fd);
-    const string_type* __trailing_sign = 0;
-    __wn = __wb.get();
-    for (unsigned __p = 0; __p < 4 && __b != __e; ++__p)
-    {
-        switch (__pat.field[__p])
-        {
-        case money_base::space:
-            if (__p != 3)
-            {
-                if (__ct.is(ctype_base::space, *__b))
-                    __spaces.push_back(*__b++);
-                else
-                {
-                    __err |= ios_base::failbit;
-                    return false;
-                }
-            }
-            _LIBCPP_FALLTHROUGH();
-        case money_base::none:
-            if (__p != 3)
-            {
-                while (__b != __e && __ct.is(ctype_base::space, *__b))
-                    __spaces.push_back(*__b++);
-            }
-            break;
-        case money_base::sign:
-            if (__psn.size() + __nsn.size() > 0)
-            {
-                if (__psn.size() == 0 || __nsn.size() == 0)
-                {   // sign is optional
-                    if (__psn.size() > 0)
-                    {   // __nsn.size() == 0
-                        if (*__b == __psn[0])
-                        {
-                            ++__b;
-                            if (__psn.size() > 1)
-                                __trailing_sign = &__psn;
-                        }
-                        else
-                            __neg = true;
-                    }
-                    else if (*__b == __nsn[0])  // __nsn.size() > 0 &&  __psn.size() == 0
-                    {
-                        ++__b;
-                        __neg = true;
-                        if (__nsn.size() > 1)
-                            __trailing_sign = &__nsn;
-                    }
-                }
-                else  // sign is required
-                {
-                    if (*__b == __psn[0])
-                    {
-                        ++__b;
-                        if (__psn.size() > 1)
-                            __trailing_sign = &__psn;
-                    }
-                    else if (*__b == __nsn[0])
-                    {
-                        ++__b;
-                        __neg = true;
-                        if (__nsn.size() > 1)
-                            __trailing_sign = &__nsn;
-                    }
-                    else
-                    {
-                        __err |= ios_base::failbit;
-                        return false;
-                    }
-                }
-            }
-            break;
-        case money_base::symbol:
-            {
-            bool __more_needed = __trailing_sign ||
-                                 (__p < 2)       ||
-                                 (__p == 2 && __pat.field[3] != static_cast<char>(money_base::none));
-            bool __sb = (__flags & ios_base::showbase) != 0;
-            if (__sb || __more_needed)
-            {
-                typename string_type::const_iterator __sym_space_end = __sym.begin();
-                if (__p > 0 && (__pat.field[__p - 1] == money_base::none ||
-                                __pat.field[__p - 1] == money_base::space)) {
-                    // Match spaces we've already read against spaces at
-                    // the beginning of __sym.
-                    while (__sym_space_end != __sym.end() &&
-                           __ct.is(ctype_base::space, *__sym_space_end))
-                        ++__sym_space_end;
-                    const size_t __num_spaces = __sym_space_end - __sym.begin();
-                    if (__num_spaces > __spaces.size() ||
-                        !equal(__spaces.end() - __num_spaces, __spaces.end(),
-                               __sym.begin())) {
-                        // No match. Put __sym_space_end back at the
-                        // beginning of __sym, which will prevent a
-                        // match in the next loop.
-                        __sym_space_end = __sym.begin();
-                    }
-                }
-                typename string_type::const_iterator __sym_curr_char = __sym_space_end;
-                while (__sym_curr_char != __sym.end() && __b != __e &&
-                       *__b == *__sym_curr_char) {
-                    ++__b;
-                    ++__sym_curr_char;
-                }
-                if (__sb && __sym_curr_char != __sym.end())
-                {
-                    __err |= ios_base::failbit;
-                    return false;
-                }
-            }
-            }
-            break;
-        case money_base::value:
-            {
-            unsigned __ng = 0;
-            for (; __b != __e; ++__b)
-            {
-                char_type __c = *__b;
-                if (__ct.is(ctype_base::digit, __c))
-                {
-                    if (__wn == __we)
-                        __double_or_nothing(__wb, __wn, __we);
-                    *__wn++ = __c;
-                    ++__ng;
-                }
-                else if (__grp.size() > 0 && __ng > 0 && __c == __ts)
-                {
-                    if (__gn == __ge)
-                        __double_or_nothing(__gb, __gn, __ge);
-                    *__gn++ = __ng;
-                    __ng = 0;
-                }
-                else
-                    break;
-            }
-            if (__gb.get() != __gn && __ng > 0)
-            {
-                if (__gn == __ge)
-                    __double_or_nothing(__gb, __gn, __ge);
-                *__gn++ = __ng;
-            }
-            if (__fd > 0)
-            {
-                if (__b == __e || *__b != __dp)
-                {
-                    __err |= ios_base::failbit;
-                    return false;
-                }
-                for (++__b; __fd > 0; --__fd, ++__b)
-                {
-                    if (__b == __e || !__ct.is(ctype_base::digit, *__b))
-                    {
-                        __err |= ios_base::failbit;
-                        return false;
-                    }
-                    if (__wn == __we)
-                        __double_or_nothing(__wb, __wn, __we);
-                    *__wn++ = *__b;
-                }
-            }
-            if (__wn == __wb.get())
-            {
-                __err |= ios_base::failbit;
-                return false;
-            }
-            }
-            break;
-        }
-    }
-    if (__trailing_sign)
-    {
-        for (unsigned __i = 1; __i < __trailing_sign->size(); ++__i, ++__b)
-        {
-            if (__b == __e || *__b != (*__trailing_sign)[__i])
-            {
-                __err |= ios_base::failbit;
-                return false;
-            }
-        }
-    }
-    if (__gb.get() != __gn)
-    {
-        ios_base::iostate __et = ios_base::goodbit;
-        __check_grouping(__grp, __gb.get(), __gn, __et);
-        if (__et)
-        {
-            __err |= ios_base::failbit;
-            return false;
-        }
-    }
-    return true;
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-money_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
-                                          bool __intl, ios_base& __iob,
-                                          ios_base::iostate& __err,
-                                          long double& __v) const
-{
-    const int __bz = 100;
-    char_type __wbuf[__bz];
-    unique_ptr<char_type, void(*)(void*)> __wb(__wbuf, __do_nothing);
-    char_type* __wn;
-    char_type* __we = __wbuf + __bz;
-    locale __loc = __iob.getloc();
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__loc);
-    bool __neg = false;
-    if (__do_get(__b, __e, __intl, __loc, __iob.flags(), __err, __neg, __ct,
-                 __wb, __wn, __we))
-    {
-        const char __src[] = "0123456789";
-        char_type __atoms[sizeof(__src)-1];
-        __ct.widen(__src, __src + (sizeof(__src)-1), __atoms);
-        char __nbuf[__bz];
-        char* __nc = __nbuf;
-        unique_ptr<char, void(*)(void*)> __h(0, free);
-        if (__wn - __wb.get() > __bz-2)
-        {
-            __h.reset((char*)malloc(static_cast<size_t>(__wn - __wb.get() + 2)));
-            if (__h.get() == 0)
-                __throw_bad_alloc();
-            __nc = __h.get();
-        }
-        if (__neg)
-            *__nc++ = '-';
-        for (const char_type* __w = __wb.get(); __w < __wn; ++__w, ++__nc)
-            *__nc = __src[find(__atoms, _VSTD::end(__atoms), *__w) - __atoms];
-        *__nc = char();
-        if (sscanf(__nbuf, "%Lf", &__v) != 1)
-            __throw_runtime_error("money_get error");
-    }
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    return __b;
-}
-
-template <class _CharT, class _InputIterator>
-_InputIterator
-money_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
-                                          bool __intl, ios_base& __iob,
-                                          ios_base::iostate& __err,
-                                          string_type& __v) const
-{
-    const int __bz = 100;
-    char_type __wbuf[__bz];
-    unique_ptr<char_type, void(*)(void*)> __wb(__wbuf, __do_nothing);
-    char_type* __wn;
-    char_type* __we = __wbuf + __bz;
-    locale __loc = __iob.getloc();
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__loc);
-    bool __neg = false;
-    if (__do_get(__b, __e, __intl, __loc, __iob.flags(), __err, __neg, __ct,
-                 __wb, __wn, __we))
-    {
-        __v.clear();
-        if (__neg)
-            __v.push_back(__ct.widen('-'));
-        char_type __z = __ct.widen('0');
-        char_type* __w;
-        for (__w = __wb.get(); __w < __wn-1; ++__w)
-            if (*__w != __z)
-                break;
-        __v.append(__w, __wn);
-    }
-    if (__b == __e)
-        __err |= ios_base::eofbit;
-    return __b;
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_get<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_get<wchar_t>)
-
-// money_put
-
-template <class _CharT>
-class __money_put
-{
-protected:
-    typedef _CharT                  char_type;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY __money_put() {}
-
-    static void __gather_info(bool __intl, bool __neg, const locale& __loc,
-                              money_base::pattern& __pat, char_type& __dp,
-                              char_type& __ts, string& __grp,
-                              string_type& __sym, string_type& __sn,
-                              int& __fd);
-    static void __format(char_type* __mb, char_type*& __mi, char_type*& __me,
-                         ios_base::fmtflags __flags,
-                         const char_type* __db, const char_type* __de,
-                         const ctype<char_type>& __ct, bool __neg,
-                         const money_base::pattern& __pat, char_type __dp,
-                         char_type __ts, const string& __grp,
-                         const string_type& __sym, const string_type& __sn,
-                         int __fd);
-};
-
-template <class _CharT>
-void
-__money_put<_CharT>::__gather_info(bool __intl, bool __neg, const locale& __loc,
-                                   money_base::pattern& __pat, char_type& __dp,
-                                   char_type& __ts, string& __grp,
-                                   string_type& __sym, string_type& __sn,
-                                   int& __fd)
-{
-    if (__intl)
-    {
-        const moneypunct<char_type, true>& __mp =
-            use_facet<moneypunct<char_type, true> >(__loc);
-        if (__neg)
-        {
-            __pat = __mp.neg_format();
-            __sn = __mp.negative_sign();
-        }
-        else
-        {
-            __pat = __mp.pos_format();
-            __sn = __mp.positive_sign();
-        }
-        __dp = __mp.decimal_point();
-        __ts = __mp.thousands_sep();
-        __grp = __mp.grouping();
-        __sym = __mp.curr_symbol();
-        __fd = __mp.frac_digits();
-    }
-    else
-    {
-        const moneypunct<char_type, false>& __mp =
-            use_facet<moneypunct<char_type, false> >(__loc);
-        if (__neg)
-        {
-            __pat = __mp.neg_format();
-            __sn = __mp.negative_sign();
-        }
-        else
-        {
-            __pat = __mp.pos_format();
-            __sn = __mp.positive_sign();
-        }
-        __dp = __mp.decimal_point();
-        __ts = __mp.thousands_sep();
-        __grp = __mp.grouping();
-        __sym = __mp.curr_symbol();
-        __fd = __mp.frac_digits();
-    }
-}
-
-template <class _CharT>
-void
-__money_put<_CharT>::__format(char_type* __mb, char_type*& __mi, char_type*& __me,
-                              ios_base::fmtflags __flags,
-                              const char_type* __db, const char_type* __de,
-                              const ctype<char_type>& __ct, bool __neg,
-                              const money_base::pattern& __pat, char_type __dp,
-                              char_type __ts, const string& __grp,
-                              const string_type& __sym, const string_type& __sn,
-                              int __fd)
-{
-    __me = __mb;
-    for (unsigned __p = 0; __p < 4; ++__p)
-    {
-        switch (__pat.field[__p])
-        {
-        case money_base::none:
-            __mi = __me;
-            break;
-        case money_base::space:
-            __mi = __me;
-            *__me++ = __ct.widen(' ');
-            break;
-        case money_base::sign:
-            if (!__sn.empty())
-                *__me++ = __sn[0];
-            break;
-        case money_base::symbol:
-            if (!__sym.empty() && (__flags & ios_base::showbase))
-                __me = _VSTD::copy(__sym.begin(), __sym.end(), __me);
-            break;
-        case money_base::value:
-            {
-            // remember start of value so we can reverse it
-            char_type* __t = __me;
-            // find beginning of digits
-            if (__neg)
-                ++__db;
-            // find end of digits
-            const char_type* __d;
-            for (__d = __db; __d < __de; ++__d)
-                if (!__ct.is(ctype_base::digit, *__d))
-                    break;
-            // print fractional part
-            if (__fd > 0)
-            {
-                int __f;
-                for (__f = __fd; __d > __db && __f > 0; --__f)
-                    *__me++ = *--__d;
-                char_type __z = __f > 0 ? __ct.widen('0') : char_type();
-                for (; __f > 0; --__f)
-                    *__me++ = __z;
-                *__me++ = __dp;
-            }
-            // print units part
-            if (__d == __db)
-            {
-                *__me++ = __ct.widen('0');
-            }
-            else
-            {
-                unsigned __ng = 0;
-                unsigned __ig = 0;
-                unsigned __gl = __grp.empty() ? numeric_limits<unsigned>::max()
-                                              : static_cast<unsigned>(__grp[__ig]);
-                while (__d != __db)
-                {
-                    if (__ng == __gl)
-                    {
-                        *__me++ = __ts;
-                        __ng = 0;
-                        if (++__ig < __grp.size())
-                            __gl = __grp[__ig] == numeric_limits<char>::max() ?
-                                        numeric_limits<unsigned>::max() :
-                                        static_cast<unsigned>(__grp[__ig]);
-                    }
-                    *__me++ = *--__d;
-                    ++__ng;
-                }
-            }
-            // reverse it
-            reverse(__t, __me);
-            }
-            break;
-        }
-    }
-    // print rest of sign, if any
-    if (__sn.size() > 1)
-        __me = _VSTD::copy(__sn.begin()+1, __sn.end(), __me);
-    // set alignment
-    if ((__flags & ios_base::adjustfield) == ios_base::left)
-        __mi = __me;
-    else if ((__flags & ios_base::adjustfield) != ios_base::internal)
-        __mi = __mb;
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_put<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_put<wchar_t>)
-
-template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
-class _LIBCPP_TEMPLATE_VIS money_put
-    : public locale::facet,
-      private __money_put<_CharT>
-{
-public:
-    typedef _CharT                  char_type;
-    typedef _OutputIterator         iter_type;
-    typedef basic_string<char_type> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit money_put(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, bool __intl, ios_base& __iob, char_type __fl,
-                  long double __units) const
-    {
-        return do_put(__s, __intl, __iob, __fl, __units);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iter_type put(iter_type __s, bool __intl, ios_base& __iob, char_type __fl,
-                  const string_type& __digits) const
-    {
-        return do_put(__s, __intl, __iob, __fl, __digits);
-    }
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~money_put() {}
-
-    virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __iob,
-                             char_type __fl, long double __units) const;
-    virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __iob,
-                             char_type __fl, const string_type& __digits) const;
-};
-
-template <class _CharT, class _OutputIterator>
-locale::id
-money_put<_CharT, _OutputIterator>::id;
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,
-                                           ios_base& __iob, char_type __fl,
-                                           long double __units) const
-{
-    // convert to char
-    const size_t __bs = 100;
-    char __buf[__bs];
-    char* __bb = __buf;
-    char_type __digits[__bs];
-    char_type* __db = __digits;
-    size_t __n = static_cast<size_t>(snprintf(__bb, __bs, "%.0Lf", __units));
-    unique_ptr<char, void(*)(void*)> __hn(0, free);
-    unique_ptr<char_type, void(*)(void*)> __hd(0, free);
-    // secure memory for digit storage
-    if (__n > __bs-1)
-    {
-        __n = static_cast<size_t>(__libcpp_asprintf_l(&__bb, _LIBCPP_GET_C_LOCALE, "%.0Lf", __units));
-        if (__bb == 0)
-            __throw_bad_alloc();
-        __hn.reset(__bb);
-        __hd.reset((char_type*)malloc(__n * sizeof(char_type)));
-        if (__hd == nullptr)
-            __throw_bad_alloc();
-        __db = __hd.get();
-    }
-    // gather info
-    locale __loc = __iob.getloc();
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__loc);
-    __ct.widen(__bb, __bb + __n, __db);
-    bool __neg = __n > 0 && __bb[0] == '-';
-    money_base::pattern __pat;
-    char_type __dp;
-    char_type __ts;
-    string __grp;
-    string_type __sym;
-    string_type __sn;
-    int __fd;
-    this->__gather_info(__intl, __neg, __loc, __pat, __dp, __ts, __grp, __sym, __sn, __fd);
-    // secure memory for formatting
-    char_type __mbuf[__bs];
-    char_type* __mb = __mbuf;
-    unique_ptr<char_type, void(*)(void*)> __hw(0, free);
-    size_t __exn = static_cast<int>(__n) > __fd ?
-                   (__n - static_cast<size_t>(__fd)) * 2 + __sn.size() +
-                    __sym.size() + static_cast<size_t>(__fd) + 1
-                 : __sn.size() + __sym.size() + static_cast<size_t>(__fd) + 2;
-    if (__exn > __bs)
-    {
-        __hw.reset((char_type*)malloc(__exn * sizeof(char_type)));
-        __mb = __hw.get();
-        if (__mb == 0)
-            __throw_bad_alloc();
-    }
-    // format
-    char_type* __mi;
-    char_type* __me;
-    this->__format(__mb, __mi, __me, __iob.flags(),
-                   __db, __db + __n, __ct,
-                   __neg, __pat, __dp, __ts, __grp, __sym, __sn, __fd);
-    return __pad_and_output(__s, __mb, __mi, __me, __iob, __fl);
-}
-
-template <class _CharT, class _OutputIterator>
-_OutputIterator
-money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,
-                                           ios_base& __iob, char_type __fl,
-                                           const string_type& __digits) const
-{
-    // gather info
-    locale __loc = __iob.getloc();
-    const ctype<char_type>& __ct = use_facet<ctype<char_type> >(__loc);
-    bool __neg = __digits.size() > 0 && __digits[0] == __ct.widen('-');
-    money_base::pattern __pat;
-    char_type __dp;
-    char_type __ts;
-    string __grp;
-    string_type __sym;
-    string_type __sn;
-    int __fd;
-    this->__gather_info(__intl, __neg, __loc, __pat, __dp, __ts, __grp, __sym, __sn, __fd);
-    // secure memory for formatting
-    char_type __mbuf[100];
-    char_type* __mb = __mbuf;
-    unique_ptr<char_type, void(*)(void*)> __h(0, free);
-    size_t __exn = static_cast<int>(__digits.size()) > __fd ?
-                   (__digits.size() - static_cast<size_t>(__fd)) * 2 +
-                    __sn.size() + __sym.size() + static_cast<size_t>(__fd) + 1
-                 : __sn.size() + __sym.size() + static_cast<size_t>(__fd) + 2;
-    if (__exn > 100)
-    {
-        __h.reset((char_type*)malloc(__exn * sizeof(char_type)));
-        __mb = __h.get();
-        if (__mb == 0)
-            __throw_bad_alloc();
-    }
-    // format
-    char_type* __mi;
-    char_type* __me;
-    this->__format(__mb, __mi, __me, __iob.flags(),
-                   __digits.data(), __digits.data() + __digits.size(), __ct,
-                   __neg, __pat, __dp, __ts, __grp, __sym, __sn, __fd);
-    return __pad_and_output(__s, __mb, __mi, __me, __iob, __fl);
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<wchar_t>)
-
-// messages
-
-class _LIBCPP_TYPE_VIS messages_base
-{
-public:
-    typedef ptrdiff_t catalog;
-
-    _LIBCPP_INLINE_VISIBILITY messages_base() {}
-};
-
-template <class _CharT>
-class _LIBCPP_TEMPLATE_VIS messages
-    : public locale::facet,
-      public messages_base
-{
-public:
-    typedef _CharT               char_type;
-    typedef basic_string<_CharT> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit messages(size_t __refs = 0)
-        : locale::facet(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    catalog open(const basic_string<char>& __nm, const locale& __loc) const
-    {
-        return do_open(__nm, __loc);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    string_type get(catalog __c, int __set, int __msgid,
-                    const string_type& __dflt) const
-    {
-        return do_get(__c, __set, __msgid, __dflt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void close(catalog __c) const
-    {
-        do_close(__c);
-    }
-
-    static locale::id id;
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~messages() {}
-
-    virtual catalog do_open(const basic_string<char>&, const locale&) const;
-    virtual string_type do_get(catalog, int __set, int __msgid,
-                               const string_type& __dflt) const;
-    virtual void do_close(catalog) const;
-};
-
-template <class _CharT>
-locale::id
-messages<_CharT>::id;
-
-template <class _CharT>
-typename messages<_CharT>::catalog
-messages<_CharT>::do_open(const basic_string<char>& __nm, const locale&) const
-{
-#ifdef _LIBCPP_HAS_CATOPEN
-    catalog __cat = (catalog)catopen(__nm.c_str(), NL_CAT_LOCALE);
-    if (__cat != -1)
-        __cat = static_cast<catalog>((static_cast<size_t>(__cat) >> 1));
-    return __cat;
-#else // !_LIBCPP_HAS_CATOPEN
-    _LIBCPP_UNUSED_VAR(__nm);
-    return -1;
-#endif // _LIBCPP_HAS_CATOPEN
-}
-
-template <class _CharT>
-typename messages<_CharT>::string_type
-messages<_CharT>::do_get(catalog __c, int __set, int __msgid,
-                         const string_type& __dflt) const
-{
-#ifdef _LIBCPP_HAS_CATOPEN
-    string __ndflt;
-    __narrow_to_utf8<sizeof(char_type)*__CHAR_BIT__>()(back_inserter(__ndflt),
-                                                       __dflt.c_str(),
-                                                       __dflt.c_str() + __dflt.size());
-    if (__c != -1)
-        __c <<= 1;
-    nl_catd __cat = (nl_catd)__c;
-    char* __n = catgets(__cat, __set, __msgid, __ndflt.c_str());
-    string_type __w;
-    __widen_from_utf8<sizeof(char_type)*__CHAR_BIT__>()(back_inserter(__w),
-                                                        __n, __n + strlen(__n));
-    return __w;
-#else // !_LIBCPP_HAS_CATOPEN
-    _LIBCPP_UNUSED_VAR(__c);
-    _LIBCPP_UNUSED_VAR(__set);
-    _LIBCPP_UNUSED_VAR(__msgid);
-    return __dflt;
-#endif // _LIBCPP_HAS_CATOPEN
-}
-
-template <class _CharT>
-void
-messages<_CharT>::do_close(catalog __c) const
-{
-#ifdef _LIBCPP_HAS_CATOPEN
-    if (__c != -1)
-        __c <<= 1;
-    nl_catd __cat = (nl_catd)__c;
-    catclose(__cat);
-#else // !_LIBCPP_HAS_CATOPEN
-    _LIBCPP_UNUSED_VAR(__c);
-#endif // _LIBCPP_HAS_CATOPEN
-}
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages<wchar_t>)
-
-template <class _CharT>
-class _LIBCPP_TEMPLATE_VIS messages_byname
-    : public messages<_CharT>
-{
-public:
-    typedef messages_base::catalog catalog;
-    typedef basic_string<_CharT> string_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit messages_byname(const char*, size_t __refs = 0)
-        : messages<_CharT>(__refs) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit messages_byname(const string&, size_t __refs = 0)
-        : messages<_CharT>(__refs) {}
-
-protected:
-    _LIBCPP_INLINE_VISIBILITY
-    ~messages_byname() {}
-};
-
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<char>)
-_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<wchar_t>)
-
-template<class _Codecvt, class _Elem = wchar_t,
-         class _Wide_alloc = allocator<_Elem>,
-         class _Byte_alloc = allocator<char> >
-class _LIBCPP_TEMPLATE_VIS wstring_convert
-{
-public:
-    typedef basic_string<char, char_traits<char>, _Byte_alloc>   byte_string;
-    typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string;
-    typedef typename _Codecvt::state_type                        state_type;
-    typedef typename wide_string::traits_type::int_type          int_type;
-
-private:
-    byte_string __byte_err_string_;
-    wide_string __wide_err_string_;
-    _Codecvt* __cvtptr_;
-    state_type __cvtstate_;
-    size_t __cvtcount_;
-
-    wstring_convert(const wstring_convert& __wc);
-    wstring_convert& operator=(const wstring_convert& __wc);
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(_Codecvt* __pcvt = new _Codecvt);
-    _LIBCPP_INLINE_VISIBILITY
-    wstring_convert(_Codecvt* __pcvt, state_type __state);
-    _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(const byte_string& __byte_err,
-                    const wide_string& __wide_err = wide_string());
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    wstring_convert(wstring_convert&& __wc);
-#endif
-    ~wstring_convert();
-
-    _LIBCPP_INLINE_VISIBILITY
-    wide_string from_bytes(char __byte)
-        {return from_bytes(&__byte, &__byte+1);}
-    _LIBCPP_INLINE_VISIBILITY
-    wide_string from_bytes(const char* __ptr)
-        {return from_bytes(__ptr, __ptr + char_traits<char>::length(__ptr));}
-    _LIBCPP_INLINE_VISIBILITY
-    wide_string from_bytes(const byte_string& __str)
-        {return from_bytes(__str.data(), __str.data() + __str.size());}
-    wide_string from_bytes(const char* __first, const char* __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    byte_string to_bytes(_Elem __wchar)
-        {return to_bytes(&__wchar, &__wchar+1);}
-    _LIBCPP_INLINE_VISIBILITY
-    byte_string to_bytes(const _Elem* __wptr)
-        {return to_bytes(__wptr, __wptr + char_traits<_Elem>::length(__wptr));}
-    _LIBCPP_INLINE_VISIBILITY
-    byte_string to_bytes(const wide_string& __wstr)
-        {return to_bytes(__wstr.data(), __wstr.data() + __wstr.size());}
-    byte_string to_bytes(const _Elem* __first, const _Elem* __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t converted() const _NOEXCEPT {return __cvtcount_;}
-    _LIBCPP_INLINE_VISIBILITY
-    state_type state() const {return __cvtstate_;}
-};
-
-template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
-inline
-wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
-    wstring_convert(_Codecvt* __pcvt)
-        : __cvtptr_(__pcvt), __cvtstate_(), __cvtcount_(0)
-{
-}
-
-template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
-inline
-wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
-    wstring_convert(_Codecvt* __pcvt, state_type __state)
-        : __cvtptr_(__pcvt), __cvtstate_(__state), __cvtcount_(0)
-{
-}
-
-template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
-wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
-    wstring_convert(const byte_string& __byte_err, const wide_string& __wide_err)
-        : __byte_err_string_(__byte_err), __wide_err_string_(__wide_err),
-          __cvtstate_(), __cvtcount_(0)
-{
-    __cvtptr_ = new _Codecvt;
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
-inline
-wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
-    wstring_convert(wstring_convert&& __wc)
-        : __byte_err_string_(_VSTD::move(__wc.__byte_err_string_)),
-          __wide_err_string_(_VSTD::move(__wc.__wide_err_string_)),
-          __cvtptr_(__wc.__cvtptr_),
-          __cvtstate_(__wc.__cvtstate_), __cvtcount_(__wc.__cvtcount_)
-{
-    __wc.__cvtptr_ = nullptr;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
-wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::~wstring_convert()
-{
-    delete __cvtptr_;
-}
-
-template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
-typename wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::wide_string
-wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
-    from_bytes(const char* __frm, const char* __frm_end)
-{
-    __cvtcount_ = 0;
-    if (__cvtptr_ != nullptr)
-    {
-        wide_string __ws(2*(__frm_end - __frm), _Elem());
-        if (__frm != __frm_end)
-            __ws.resize(__ws.capacity());
-        codecvt_base::result __r = codecvt_base::ok;
-        state_type __st = __cvtstate_;
-        if (__frm != __frm_end)
-        {
-            _Elem* __to = &__ws[0];
-            _Elem* __to_end = __to + __ws.size();
-            const char* __frm_nxt;
-            do
-            {
-                _Elem* __to_nxt;
-                __r = __cvtptr_->in(__st, __frm, __frm_end, __frm_nxt,
-                                          __to, __to_end, __to_nxt);
-                __cvtcount_ += __frm_nxt - __frm;
-                if (__frm_nxt == __frm)
-                {
-                    __r = codecvt_base::error;
-                }
-                else if (__r == codecvt_base::noconv)
-                {
-                    __ws.resize(__to - &__ws[0]);
-                    // This only gets executed if _Elem is char
-                    __ws.append((const _Elem*)__frm, (const _Elem*)__frm_end);
-                    __frm = __frm_nxt;
-                    __r = codecvt_base::ok;
-                }
-                else if (__r == codecvt_base::ok)
-                {
-                    __ws.resize(__to_nxt - &__ws[0]);
-                    __frm = __frm_nxt;
-                }
-                else if (__r == codecvt_base::partial)
-                {
-                    ptrdiff_t __s = __to_nxt - &__ws[0];
-                    __ws.resize(2 * __s);
-                    __to = &__ws[0] + __s;
-                    __to_end = &__ws[0] + __ws.size();
-                    __frm = __frm_nxt;
-                }
-            } while (__r == codecvt_base::partial && __frm_nxt < __frm_end);
-        }
-        if (__r == codecvt_base::ok)
-            return __ws;
-    }
-
-    if (__wide_err_string_.empty())
-        __throw_range_error("wstring_convert: from_bytes error");
-
-    return __wide_err_string_;
-}
-
-template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
-typename wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::byte_string
-wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
-    to_bytes(const _Elem* __frm, const _Elem* __frm_end)
-{
-    __cvtcount_ = 0;
-    if (__cvtptr_ != nullptr)
-    {
-        byte_string __bs(2*(__frm_end - __frm), char());
-        if (__frm != __frm_end)
-            __bs.resize(__bs.capacity());
-        codecvt_base::result __r = codecvt_base::ok;
-        state_type __st = __cvtstate_;
-        if (__frm != __frm_end)
-        {
-            char* __to = &__bs[0];
-            char* __to_end = __to + __bs.size();
-            const _Elem* __frm_nxt;
-            do
-            {
-                char* __to_nxt;
-                __r = __cvtptr_->out(__st, __frm, __frm_end, __frm_nxt,
-                                           __to, __to_end, __to_nxt);
-                __cvtcount_ += __frm_nxt - __frm;
-                if (__frm_nxt == __frm)
-                {
-                    __r = codecvt_base::error;
-                }
-                else if (__r == codecvt_base::noconv)
-                {
-                    __bs.resize(__to - &__bs[0]);
-                    // This only gets executed if _Elem is char
-                    __bs.append((const char*)__frm, (const char*)__frm_end);
-                    __frm = __frm_nxt;
-                    __r = codecvt_base::ok;
-                }
-                else if (__r == codecvt_base::ok)
-                {
-                    __bs.resize(__to_nxt - &__bs[0]);
-                    __frm = __frm_nxt;
-                }
-                else if (__r == codecvt_base::partial)
-                {
-                    ptrdiff_t __s = __to_nxt - &__bs[0];
-                    __bs.resize(2 * __s);
-                    __to = &__bs[0] + __s;
-                    __to_end = &__bs[0] + __bs.size();
-                    __frm = __frm_nxt;
-                }
-            } while (__r == codecvt_base::partial && __frm_nxt < __frm_end);
-        }
-        if (__r == codecvt_base::ok)
-        {
-            size_t __s = __bs.size();
-            __bs.resize(__bs.capacity());
-            char* __to = &__bs[0] + __s;
-            char* __to_end = __to + __bs.size();
-            do
-            {
-                char* __to_nxt;
-                __r = __cvtptr_->unshift(__st, __to, __to_end, __to_nxt);
-                if (__r == codecvt_base::noconv)
-                {
-                    __bs.resize(__to - &__bs[0]);
-                    __r = codecvt_base::ok;
-                }
-                else if (__r == codecvt_base::ok)
-                {
-                    __bs.resize(__to_nxt - &__bs[0]);
-                }
-                else if (__r == codecvt_base::partial)
-                {
-                    ptrdiff_t __sp = __to_nxt - &__bs[0];
-                    __bs.resize(2 * __sp);
-                    __to = &__bs[0] + __sp;
-                    __to_end = &__bs[0] + __bs.size();
-                }
-            } while (__r == codecvt_base::partial);
-            if (__r == codecvt_base::ok)
-                return __bs;
-        }
-    }
-
-    if (__byte_err_string_.empty())
-        __throw_range_error("wstring_convert: to_bytes error");
-
-    return __byte_err_string_;
-}
-
-template <class _Codecvt, class _Elem = wchar_t, class _Tr = char_traits<_Elem> >
-class _LIBCPP_TEMPLATE_VIS wbuffer_convert
-    : public basic_streambuf<_Elem, _Tr>
-{
-public:
-    // types:
-    typedef _Elem                          char_type;
-    typedef _Tr                            traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef typename _Codecvt::state_type  state_type;
-
-private:
-    char*       __extbuf_;
-    const char* __extbufnext_;
-    const char* __extbufend_;
-    char __extbuf_min_[8];
-    size_t __ebs_;
-    char_type* __intbuf_;
-    size_t __ibs_;
-    streambuf* __bufptr_;
-    _Codecvt* __cv_;
-    state_type __st_;
-    ios_base::openmode __cm_;
-    bool __owns_eb_;
-    bool __owns_ib_;
-    bool __always_noconv_;
-
-    wbuffer_convert(const wbuffer_convert&);
-    wbuffer_convert& operator=(const wbuffer_convert&);
-public:
-    _LIBCPP_EXPLICIT_AFTER_CXX11 wbuffer_convert(streambuf* __bytebuf = 0,
-            _Codecvt* __pcvt = new _Codecvt, state_type __state = state_type());
-    ~wbuffer_convert();
-
-    _LIBCPP_INLINE_VISIBILITY
-    streambuf* rdbuf() const {return __bufptr_;}
-    _LIBCPP_INLINE_VISIBILITY
-    streambuf* rdbuf(streambuf* __bytebuf)
-    {
-        streambuf* __r = __bufptr_;
-        __bufptr_ = __bytebuf;
-        return __r;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    state_type state() const {return __st_;}
-
-protected:
-    virtual int_type underflow();
-    virtual int_type pbackfail(int_type __c = traits_type::eof());
-    virtual int_type overflow (int_type __c = traits_type::eof());
-    virtual basic_streambuf<char_type, traits_type>* setbuf(char_type* __s,
-                                                            streamsize __n);
-    virtual pos_type seekoff(off_type __off, ios_base::seekdir __way,
-                             ios_base::openmode __wch = ios_base::in | ios_base::out);
-    virtual pos_type seekpos(pos_type __sp,
-                             ios_base::openmode __wch = ios_base::in | ios_base::out);
-    virtual int sync();
-
-private:
-    bool __read_mode();
-    void __write_mode();
-    wbuffer_convert* __close();
-};
-
-template <class _Codecvt, class _Elem, class _Tr>
-wbuffer_convert<_Codecvt, _Elem, _Tr>::
-    wbuffer_convert(streambuf* __bytebuf, _Codecvt* __pcvt, state_type __state)
-    : __extbuf_(0),
-      __extbufnext_(0),
-      __extbufend_(0),
-      __ebs_(0),
-      __intbuf_(0),
-      __ibs_(0),
-      __bufptr_(__bytebuf),
-      __cv_(__pcvt),
-      __st_(__state),
-      __cm_(0),
-      __owns_eb_(false),
-      __owns_ib_(false),
-      __always_noconv_(__cv_ ? __cv_->always_noconv() : false)
-{
-    setbuf(0, 4096);
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-wbuffer_convert<_Codecvt, _Elem, _Tr>::~wbuffer_convert()
-{
-    __close();
-    delete __cv_;
-    if (__owns_eb_)
-        delete [] __extbuf_;
-    if (__owns_ib_)
-        delete [] __intbuf_;
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-typename wbuffer_convert<_Codecvt, _Elem, _Tr>::int_type
-wbuffer_convert<_Codecvt, _Elem, _Tr>::underflow()
-{
-    if (__cv_ == 0 || __bufptr_ == 0)
-        return traits_type::eof();
-    bool __initial = __read_mode();
-    char_type __1buf;
-    if (this->gptr() == 0)
-        this->setg(&__1buf, &__1buf+1, &__1buf+1);
-    const size_t __unget_sz = __initial ? 0 : min<size_t>((this->egptr() - this->eback()) / 2, 4);
-    int_type __c = traits_type::eof();
-    if (this->gptr() == this->egptr())
-    {
-        memmove(this->eback(), this->egptr() - __unget_sz, __unget_sz * sizeof(char_type));
-        if (__always_noconv_)
-        {
-            streamsize __nmemb = static_cast<streamsize>(this->egptr() - this->eback() - __unget_sz);
-            __nmemb = __bufptr_->sgetn((char*)this->eback() + __unget_sz, __nmemb);
-            if (__nmemb != 0)
-            {
-                this->setg(this->eback(),
-                           this->eback() + __unget_sz,
-                           this->eback() + __unget_sz + __nmemb);
-                __c = *this->gptr();
-            }
-        }
-        else
-        {
-             _LIBCPP_ASSERT(!(__extbufnext_ == NULL && (__extbufend_ != __extbufnext_)), "underflow moving from NULL" );
-             if (__extbufend_ != __extbufnext_)
-                memmove(__extbuf_, __extbufnext_, __extbufend_ - __extbufnext_);
-            __extbufnext_ = __extbuf_ + (__extbufend_ - __extbufnext_);
-            __extbufend_ = __extbuf_ + (__extbuf_ == __extbuf_min_ ? sizeof(__extbuf_min_) : __ebs_);
-            streamsize __nmemb = _VSTD::min(static_cast<streamsize>(this->egptr() - this->eback() - __unget_sz),
-                                 static_cast<streamsize>(__extbufend_ - __extbufnext_));
-            codecvt_base::result __r;
-            // FIXME: Do we ever need to restore the state here?
-            //state_type __svs = __st_;
-            streamsize __nr = __bufptr_->sgetn(const_cast<char*>(__extbufnext_), __nmemb);
-            if (__nr != 0)
-            {
-                __extbufend_ = __extbufnext_ + __nr;
-                char_type*  __inext;
-                __r = __cv_->in(__st_, __extbuf_, __extbufend_, __extbufnext_,
-                                       this->eback() + __unget_sz,
-                                       this->egptr(), __inext);
-                if (__r == codecvt_base::noconv)
-                {
-                    this->setg((char_type*)__extbuf_, (char_type*)__extbuf_,
-                               (char_type*) const_cast<char *>(__extbufend_));
-                    __c = *this->gptr();
-                }
-                else if (__inext != this->eback() + __unget_sz)
-                {
-                    this->setg(this->eback(), this->eback() + __unget_sz, __inext);
-                    __c = *this->gptr();
-                }
-            }
-        }
-    }
-    else
-        __c = *this->gptr();
-    if (this->eback() == &__1buf)
-        this->setg(0, 0, 0);
-    return __c;
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-typename wbuffer_convert<_Codecvt, _Elem, _Tr>::int_type
-wbuffer_convert<_Codecvt, _Elem, _Tr>::pbackfail(int_type __c)
-{
-    if (__cv_ != 0 && __bufptr_ != 0 && this->eback() < this->gptr())
-    {
-        if (traits_type::eq_int_type(__c, traits_type::eof()))
-        {
-            this->gbump(-1);
-            return traits_type::not_eof(__c);
-        }
-        if (traits_type::eq(traits_type::to_char_type(__c), this->gptr()[-1]))
-        {
-            this->gbump(-1);
-            *this->gptr() = traits_type::to_char_type(__c);
-            return __c;
-        }
-    }
-    return traits_type::eof();
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-typename wbuffer_convert<_Codecvt, _Elem, _Tr>::int_type
-wbuffer_convert<_Codecvt, _Elem, _Tr>::overflow(int_type __c)
-{
-    if (__cv_ == 0 || __bufptr_ == 0)
-        return traits_type::eof();
-    __write_mode();
-    char_type __1buf;
-    char_type* __pb_save = this->pbase();
-    char_type* __epb_save = this->epptr();
-    if (!traits_type::eq_int_type(__c, traits_type::eof()))
-    {
-        if (this->pptr() == 0)
-            this->setp(&__1buf, &__1buf+1);
-        *this->pptr() = traits_type::to_char_type(__c);
-        this->pbump(1);
-    }
-    if (this->pptr() != this->pbase())
-    {
-        if (__always_noconv_)
-        {
-            streamsize __nmemb = static_cast<streamsize>(this->pptr() - this->pbase());
-            if (__bufptr_->sputn((const char*)this->pbase(), __nmemb) != __nmemb)
-                return traits_type::eof();
-        }
-        else
-        {
-            char* __extbe = __extbuf_;
-            codecvt_base::result __r;
-            do
-            {
-                const char_type* __e;
-                __r = __cv_->out(__st_, this->pbase(), this->pptr(), __e,
-                                        __extbuf_, __extbuf_ + __ebs_, __extbe);
-                if (__e == this->pbase())
-                    return traits_type::eof();
-                if (__r == codecvt_base::noconv)
-                {
-                    streamsize __nmemb = static_cast<size_t>(this->pptr() - this->pbase());
-                    if (__bufptr_->sputn((const char*)this->pbase(), __nmemb) != __nmemb)
-                        return traits_type::eof();
-                }
-                else if (__r == codecvt_base::ok || __r == codecvt_base::partial)
-                {
-                    streamsize __nmemb = static_cast<size_t>(__extbe - __extbuf_);
-                    if (__bufptr_->sputn(__extbuf_, __nmemb) != __nmemb)
-                        return traits_type::eof();
-                    if (__r == codecvt_base::partial)
-                    {
-                        this->setp(const_cast<char_type *>(__e), this->pptr());
-                        this->__pbump(this->epptr() - this->pbase());
-                    }
-                }
-                else
-                    return traits_type::eof();
-            } while (__r == codecvt_base::partial);
-        }
-        this->setp(__pb_save, __epb_save);
-    }
-    return traits_type::not_eof(__c);
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-basic_streambuf<_Elem, _Tr>*
-wbuffer_convert<_Codecvt, _Elem, _Tr>::setbuf(char_type* __s, streamsize __n)
-{
-    this->setg(0, 0, 0);
-    this->setp(0, 0);
-    if (__owns_eb_)
-        delete [] __extbuf_;
-    if (__owns_ib_)
-        delete [] __intbuf_;
-    __ebs_ = __n;
-    if (__ebs_ > sizeof(__extbuf_min_))
-    {
-        if (__always_noconv_ && __s)
-        {
-            __extbuf_ = (char*)__s;
-            __owns_eb_ = false;
-        }
-        else
-        {
-            __extbuf_ = new char[__ebs_];
-            __owns_eb_ = true;
-        }
-    }
-    else
-    {
-        __extbuf_ = __extbuf_min_;
-        __ebs_ = sizeof(__extbuf_min_);
-        __owns_eb_ = false;
-    }
-    if (!__always_noconv_)
-    {
-        __ibs_ = max<streamsize>(__n, sizeof(__extbuf_min_));
-        if (__s && __ibs_ >= sizeof(__extbuf_min_))
-        {
-            __intbuf_ = __s;
-            __owns_ib_ = false;
-        }
-        else
-        {
-            __intbuf_ = new char_type[__ibs_];
-            __owns_ib_ = true;
-        }
-    }
-    else
-    {
-        __ibs_ = 0;
-        __intbuf_ = 0;
-        __owns_ib_ = false;
-    }
-    return this;
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-typename wbuffer_convert<_Codecvt, _Elem, _Tr>::pos_type
-wbuffer_convert<_Codecvt, _Elem, _Tr>::seekoff(off_type __off, ios_base::seekdir __way,
-                                        ios_base::openmode __om)
-{
-    int __width = __cv_->encoding();
-    if (__cv_ == 0 || __bufptr_ == 0 || (__width <= 0 && __off != 0) || sync())
-        return pos_type(off_type(-1));
-    // __width > 0 || __off == 0, now check __way
-    if (__way != ios_base::beg && __way != ios_base::cur && __way != ios_base::end)
-        return pos_type(off_type(-1));
-    pos_type __r = __bufptr_->pubseekoff(__width * __off, __way, __om);
-    __r.state(__st_);
-    return __r;
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-typename wbuffer_convert<_Codecvt, _Elem, _Tr>::pos_type
-wbuffer_convert<_Codecvt, _Elem, _Tr>::seekpos(pos_type __sp, ios_base::openmode __wch)
-{
-    if (__cv_ == 0 || __bufptr_ == 0 || sync())
-        return pos_type(off_type(-1));
-    if (__bufptr_->pubseekpos(__sp, __wch) == pos_type(off_type(-1)))
-        return pos_type(off_type(-1));
-    return __sp;
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-int
-wbuffer_convert<_Codecvt, _Elem, _Tr>::sync()
-{
-    if (__cv_ == 0 || __bufptr_ == 0)
-        return 0;
-    if (__cm_ & ios_base::out)
-    {
-        if (this->pptr() != this->pbase())
-            if (overflow() == traits_type::eof())
-                return -1;
-        codecvt_base::result __r;
-        do
-        {
-            char* __extbe;
-            __r = __cv_->unshift(__st_, __extbuf_, __extbuf_ + __ebs_, __extbe);
-            streamsize __nmemb = static_cast<streamsize>(__extbe - __extbuf_);
-            if (__bufptr_->sputn(__extbuf_, __nmemb) != __nmemb)
-                return -1;
-        } while (__r == codecvt_base::partial);
-        if (__r == codecvt_base::error)
-            return -1;
-        if (__bufptr_->pubsync())
-            return -1;
-    }
-    else if (__cm_ & ios_base::in)
-    {
-        off_type __c;
-        if (__always_noconv_)
-            __c = this->egptr() - this->gptr();
-        else
-        {
-            int __width = __cv_->encoding();
-            __c = __extbufend_ - __extbufnext_;
-            if (__width > 0)
-                __c += __width * (this->egptr() - this->gptr());
-            else
-            {
-                if (this->gptr() != this->egptr())
-                {
-                    reverse(this->gptr(), this->egptr());
-                    codecvt_base::result __r;
-                    const char_type* __e = this->gptr();
-                    char* __extbe;
-                    do
-                    {
-                        __r = __cv_->out(__st_, __e, this->egptr(), __e,
-                                         __extbuf_, __extbuf_ + __ebs_, __extbe);
-                        switch (__r)
-                        {
-                        case codecvt_base::noconv:
-                            __c += this->egptr() - this->gptr();
-                            break;
-                        case codecvt_base::ok:
-                        case codecvt_base::partial:
-                            __c += __extbe - __extbuf_;
-                            break;
-                        default:
-                            return -1;
-                        }
-                    } while (__r == codecvt_base::partial);
-                }
-            }
-        }
-        if (__bufptr_->pubseekoff(-__c, ios_base::cur, __cm_) == pos_type(off_type(-1)))
-            return -1;
-        this->setg(0, 0, 0);
-        __cm_ = 0;
-    }
-    return 0;
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-bool
-wbuffer_convert<_Codecvt, _Elem, _Tr>::__read_mode()
-{
-    if (!(__cm_ & ios_base::in))
-    {
-        this->setp(0, 0);
-        if (__always_noconv_)
-            this->setg((char_type*)__extbuf_,
-                       (char_type*)__extbuf_ + __ebs_,
-                       (char_type*)__extbuf_ + __ebs_);
-        else
-            this->setg(__intbuf_, __intbuf_ + __ibs_, __intbuf_ + __ibs_);
-        __cm_ = ios_base::in;
-        return true;
-    }
-    return false;
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-void
-wbuffer_convert<_Codecvt, _Elem, _Tr>::__write_mode()
-{
-    if (!(__cm_ & ios_base::out))
-    {
-        this->setg(0, 0, 0);
-        if (__ebs_ > sizeof(__extbuf_min_))
-        {
-            if (__always_noconv_)
-                this->setp((char_type*)__extbuf_,
-                           (char_type*)__extbuf_ + (__ebs_ - 1));
-            else
-                this->setp(__intbuf_, __intbuf_ + (__ibs_ - 1));
-        }
-        else
-            this->setp(0, 0);
-        __cm_ = ios_base::out;
-    }
-}
-
-template <class _Codecvt, class _Elem, class _Tr>
-wbuffer_convert<_Codecvt, _Elem, _Tr>*
-wbuffer_convert<_Codecvt, _Elem, _Tr>::__close()
-{
-    wbuffer_convert* __rt = 0;
-    if (__cv_ != 0 && __bufptr_ != 0)
-    {
-        __rt = this;
-        if ((__cm_ & ios_base::out) && sync())
-            __rt = 0;
-    }
-    return __rt;
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_LOCALE
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/locale.h b/r23/sources/cxx-stl/llvm-libc++/include/locale.h
deleted file mode 100644
index a21ee38..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/locale.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- locale.h --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_LOCALE_H
-#define _LIBCPP_LOCALE_H
-
-/*
-    locale.h synopsis
-
-Macros:
-
-    LC_ALL
-    LC_COLLATE
-    LC_CTYPE
-    LC_MONETARY
-    LC_NUMERIC
-    LC_TIME
-
-Types:
-
-    lconv
-
-Functions:
-
-   setlocale
-   localeconv
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <locale.h>
-
-#endif  // _LIBCPP_LOCALE_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/map b/r23/sources/cxx-stl/llvm-libc++/include/map
deleted file mode 100644
index b6f89bf..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/map
+++ /dev/null
@@ -1,2246 +0,0 @@
-// -*- C++ -*-
-//===----------------------------- map ------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_MAP
-#define _LIBCPP_MAP
-
-/*
-
-    map synopsis
-
-namespace std
-{
-
-template <class Key, class T, class Compare = less<Key>,
-          class Allocator = allocator<pair<const Key, T>>>
-class map
-{
-public:
-    // types:
-    typedef Key                                      key_type;
-    typedef T                                        mapped_type;
-    typedef pair<const key_type, mapped_type>        value_type;
-    typedef Compare                                  key_compare;
-    typedef Allocator                                allocator_type;
-    typedef typename allocator_type::reference       reference;
-    typedef typename allocator_type::const_reference const_reference;
-    typedef typename allocator_type::pointer         pointer;
-    typedef typename allocator_type::const_pointer   const_pointer;
-    typedef typename allocator_type::size_type       size_type;
-    typedef typename allocator_type::difference_type difference_type;
-
-    typedef implementation-defined                   iterator;
-    typedef implementation-defined                   const_iterator;
-    typedef std::reverse_iterator<iterator>          reverse_iterator;
-    typedef std::reverse_iterator<const_iterator>    const_reverse_iterator;
-    typedef unspecified                              node_type;              // C++17
-    typedef INSERT_RETURN_TYPE<iterator, node_type>  insert_return_type;     // C++17
-
-    class value_compare
-        : public binary_function<value_type, value_type, bool>
-    {
-        friend class map;
-    protected:
-        key_compare comp;
-
-        value_compare(key_compare c);
-    public:
-        bool operator()(const value_type& x, const value_type& y) const;
-    };
-
-    // construct/copy/destroy:
-    map()
-        noexcept(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_default_constructible<key_compare>::value &&
-            is_nothrow_copy_constructible<key_compare>::value);
-    explicit map(const key_compare& comp);
-    map(const key_compare& comp, const allocator_type& a);
-    template <class InputIterator>
-        map(InputIterator first, InputIterator last,
-            const key_compare& comp = key_compare());
-    template <class InputIterator>
-        map(InputIterator first, InputIterator last,
-            const key_compare& comp, const allocator_type& a);
-    map(const map& m);
-    map(map&& m)
-        noexcept(
-            is_nothrow_move_constructible<allocator_type>::value &&
-            is_nothrow_move_constructible<key_compare>::value);
-    explicit map(const allocator_type& a);
-    map(const map& m, const allocator_type& a);
-    map(map&& m, const allocator_type& a);
-    map(initializer_list<value_type> il, const key_compare& comp = key_compare());
-    map(initializer_list<value_type> il, const key_compare& comp, const allocator_type& a);
-    template <class InputIterator>
-        map(InputIterator first, InputIterator last, const allocator_type& a)
-            : map(first, last, Compare(), a) {}  // C++14
-    map(initializer_list<value_type> il, const allocator_type& a)
-        : map(il, Compare(), a) {}  // C++14
-   ~map();
-
-    map& operator=(const map& m);
-    map& operator=(map&& m)
-        noexcept(
-            allocator_type::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<allocator_type>::value &&
-            is_nothrow_move_assignable<key_compare>::value);
-    map& operator=(initializer_list<value_type> il);
-
-    // iterators:
-          iterator begin() noexcept;
-    const_iterator begin() const noexcept;
-          iterator end() noexcept;
-    const_iterator end()   const noexcept;
-
-          reverse_iterator rbegin() noexcept;
-    const_reverse_iterator rbegin() const noexcept;
-          reverse_iterator rend() noexcept;
-    const_reverse_iterator rend()   const noexcept;
-
-    const_iterator         cbegin()  const noexcept;
-    const_iterator         cend()    const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend()   const noexcept;
-
-    // capacity:
-    bool      empty()    const noexcept;
-    size_type size()     const noexcept;
-    size_type max_size() const noexcept;
-
-    // element access:
-    mapped_type& operator[](const key_type& k);
-    mapped_type& operator[](key_type&& k);
-
-          mapped_type& at(const key_type& k);
-    const mapped_type& at(const key_type& k) const;
-
-    // modifiers:
-    template <class... Args>
-        pair<iterator, bool> emplace(Args&&... args);
-    template <class... Args>
-        iterator emplace_hint(const_iterator position, Args&&... args);
-    pair<iterator, bool> insert(const value_type& v);
-    pair<iterator, bool> insert(      value_type&& v);                                // C++17
-    template <class P>
-        pair<iterator, bool> insert(P&& p);
-    iterator insert(const_iterator position, const value_type& v);
-    iterator insert(const_iterator position,       value_type&& v);                   // C++17
-    template <class P>
-        iterator insert(const_iterator position, P&& p);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-    void insert(initializer_list<value_type> il);
-
-    node_type extract(const_iterator position);                                       // C++17
-    node_type extract(const key_type& x);                                             // C++17
-    insert_return_type insert(node_type&& nh);                                        // C++17
-    iterator insert(const_iterator hint, node_type&& nh);                             // C++17
-
-    template <class... Args>
-        pair<iterator, bool> try_emplace(const key_type& k, Args&&... args);          // C++17
-    template <class... Args>
-        pair<iterator, bool> try_emplace(key_type&& k, Args&&... args);               // C++17
-    template <class... Args>
-        iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args); // C++17
-    template <class... Args>
-        iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args);      // C++17
-    template <class M>
-        pair<iterator, bool> insert_or_assign(const key_type& k, M&& obj);            // C++17
-    template <class M>
-        pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj);                 // C++17
-    template <class M>
-        iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj);   // C++17
-    template <class M>
-        iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj);        // C++17
-
-    iterator  erase(const_iterator position);
-    iterator  erase(iterator position); // C++14
-    size_type erase(const key_type& k);
-    iterator  erase(const_iterator first, const_iterator last);
-    void clear() noexcept;
-
-    template<class C2>
-      void merge(map<Key, T, C2, Allocator>& source);         // C++17
-    template<class C2>
-      void merge(map<Key, T, C2, Allocator>&& source);        // C++17
-    template<class C2>
-      void merge(multimap<Key, T, C2, Allocator>& source);    // C++17
-    template<class C2>
-      void merge(multimap<Key, T, C2, Allocator>&& source);   // C++17
-
-    void swap(map& m)
-        noexcept(allocator_traits<allocator_type>::is_always_equal::value &&
-            is_nothrow_swappable<key_compare>::value); // C++17
-
-    // observers:
-    allocator_type get_allocator() const noexcept;
-    key_compare    key_comp()      const;
-    value_compare  value_comp()    const;
-
-    // map operations:
-          iterator find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    template<typename K>
-        iterator find(const K& x);              // C++14
-    template<typename K>
-        const_iterator find(const K& x) const;  // C++14
-    template<typename K>
-      size_type count(const K& x) const;        // C++14
-    size_type      count(const key_type& k) const;
-        bool contains(const key_type& x) const; // C++20
-          iterator lower_bound(const key_type& k);
-    const_iterator lower_bound(const key_type& k) const;
-    template<typename K>
-        iterator lower_bound(const K& x);              // C++14
-    template<typename K>
-        const_iterator lower_bound(const K& x) const;  // C++14
-
-          iterator upper_bound(const key_type& k);
-    const_iterator upper_bound(const key_type& k) const;
-    template<typename K>
-        iterator upper_bound(const K& x);              // C++14
-    template<typename K>
-        const_iterator upper_bound(const K& x) const;  // C++14
-
-    pair<iterator,iterator>             equal_range(const key_type& k);
-    pair<const_iterator,const_iterator> equal_range(const key_type& k) const;
-    template<typename K>
-        pair<iterator,iterator>             equal_range(const K& x);        // C++14
-    template<typename K>
-        pair<const_iterator,const_iterator> equal_range(const K& x) const;  // C++14
-};
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator==(const map<Key, T, Compare, Allocator>& x,
-           const map<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator< (const map<Key, T, Compare, Allocator>& x,
-           const map<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator!=(const map<Key, T, Compare, Allocator>& x,
-           const map<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator> (const map<Key, T, Compare, Allocator>& x,
-           const map<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator>=(const map<Key, T, Compare, Allocator>& x,
-           const map<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator<=(const map<Key, T, Compare, Allocator>& x,
-           const map<Key, T, Compare, Allocator>& y);
-
-// specialized algorithms:
-template <class Key, class T, class Compare, class Allocator>
-void
-swap(map<Key, T, Compare, Allocator>& x, map<Key, T, Compare, Allocator>& y)
-    noexcept(noexcept(x.swap(y)));
-
-template <class Key, class T, class Compare, class Allocator, class Predicate>
-  void erase_if(map<Key, T, Compare, Allocator>& c, Predicate pred);  // C++20
-
-
-template <class Key, class T, class Compare = less<Key>,
-          class Allocator = allocator<pair<const Key, T>>>
-class multimap
-{
-public:
-    // types:
-    typedef Key                                      key_type;
-    typedef T                                        mapped_type;
-    typedef pair<const key_type,mapped_type>         value_type;
-    typedef Compare                                  key_compare;
-    typedef Allocator                                allocator_type;
-    typedef typename allocator_type::reference       reference;
-    typedef typename allocator_type::const_reference const_reference;
-    typedef typename allocator_type::size_type       size_type;
-    typedef typename allocator_type::difference_type difference_type;
-    typedef typename allocator_type::pointer         pointer;
-    typedef typename allocator_type::const_pointer   const_pointer;
-
-    typedef implementation-defined                   iterator;
-    typedef implementation-defined                   const_iterator;
-    typedef std::reverse_iterator<iterator>          reverse_iterator;
-    typedef std::reverse_iterator<const_iterator>    const_reverse_iterator;
-    typedef unspecified                              node_type;              // C++17
-
-    class value_compare
-        : public binary_function<value_type,value_type,bool>
-    {
-        friend class multimap;
-    protected:
-        key_compare comp;
-        value_compare(key_compare c);
-    public:
-        bool operator()(const value_type& x, const value_type& y) const;
-    };
-
-    // construct/copy/destroy:
-    multimap()
-        noexcept(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_default_constructible<key_compare>::value &&
-            is_nothrow_copy_constructible<key_compare>::value);
-    explicit multimap(const key_compare& comp);
-    multimap(const key_compare& comp, const allocator_type& a);
-    template <class InputIterator>
-        multimap(InputIterator first, InputIterator last, const key_compare& comp);
-    template <class InputIterator>
-        multimap(InputIterator first, InputIterator last, const key_compare& comp,
-                 const allocator_type& a);
-    multimap(const multimap& m);
-    multimap(multimap&& m)
-        noexcept(
-            is_nothrow_move_constructible<allocator_type>::value &&
-            is_nothrow_move_constructible<key_compare>::value);
-    explicit multimap(const allocator_type& a);
-    multimap(const multimap& m, const allocator_type& a);
-    multimap(multimap&& m, const allocator_type& a);
-    multimap(initializer_list<value_type> il, const key_compare& comp = key_compare());
-    multimap(initializer_list<value_type> il, const key_compare& comp,
-             const allocator_type& a);
-    template <class InputIterator>
-        multimap(InputIterator first, InputIterator last, const allocator_type& a)
-            : multimap(first, last, Compare(), a) {} // C++14
-    multimap(initializer_list<value_type> il, const allocator_type& a)
-        : multimap(il, Compare(), a) {} // C++14
-    ~multimap();
-
-    multimap& operator=(const multimap& m);
-    multimap& operator=(multimap&& m)
-        noexcept(
-            allocator_type::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<allocator_type>::value &&
-            is_nothrow_move_assignable<key_compare>::value);
-    multimap& operator=(initializer_list<value_type> il);
-
-    // iterators:
-          iterator begin() noexcept;
-    const_iterator begin() const noexcept;
-          iterator end() noexcept;
-    const_iterator end()   const noexcept;
-
-          reverse_iterator rbegin() noexcept;
-    const_reverse_iterator rbegin() const noexcept;
-          reverse_iterator rend() noexcept;
-    const_reverse_iterator rend()   const noexcept;
-
-    const_iterator         cbegin()  const noexcept;
-    const_iterator         cend()    const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend()   const noexcept;
-
-    // capacity:
-    bool      empty()    const noexcept;
-    size_type size()     const noexcept;
-    size_type max_size() const noexcept;
-
-    // modifiers:
-    template <class... Args>
-        iterator emplace(Args&&... args);
-    template <class... Args>
-        iterator emplace_hint(const_iterator position, Args&&... args);
-    iterator insert(const value_type& v);
-    iterator insert(      value_type&& v);                                            // C++17
-    template <class P>
-        iterator insert(P&& p);
-    iterator insert(const_iterator position, const value_type& v);
-    iterator insert(const_iterator position,       value_type&& v);                   // C++17
-    template <class P>
-        iterator insert(const_iterator position, P&& p);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-    void insert(initializer_list<value_type> il);
-
-    node_type extract(const_iterator position);                                       // C++17
-    node_type extract(const key_type& x);                                             // C++17
-    iterator insert(node_type&& nh);                                                  // C++17
-    iterator insert(const_iterator hint, node_type&& nh);                             // C++17
-
-    iterator  erase(const_iterator position);
-    iterator  erase(iterator position); // C++14
-    size_type erase(const key_type& k);
-    iterator  erase(const_iterator first, const_iterator last);
-    void clear() noexcept;
-
-    template<class C2>
-      void merge(multimap<Key, T, C2, Allocator>& source);    // C++17
-    template<class C2>
-      void merge(multimap<Key, T, C2, Allocator>&& source);   // C++17
-    template<class C2>
-      void merge(map<Key, T, C2, Allocator>& source);         // C++17
-    template<class C2>
-      void merge(map<Key, T, C2, Allocator>&& source);        // C++17
-
-    void swap(multimap& m)
-        noexcept(allocator_traits<allocator_type>::is_always_equal::value &&
-            is_nothrow_swappable<key_compare>::value); // C++17
-
-    // observers:
-    allocator_type get_allocator() const noexcept;
-    key_compare    key_comp()      const;
-    value_compare  value_comp()    const;
-
-    // map operations:
-          iterator find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    template<typename K>
-        iterator find(const K& x);              // C++14
-    template<typename K>
-        const_iterator find(const K& x) const;  // C++14
-    template<typename K>
-      size_type count(const K& x) const;        // C++14
-    size_type      count(const key_type& k) const;
-        bool contains(const key_type& x) const; // C++20
-          iterator lower_bound(const key_type& k);
-    const_iterator lower_bound(const key_type& k) const;
-    template<typename K>
-        iterator lower_bound(const K& x);              // C++14
-    template<typename K>
-        const_iterator lower_bound(const K& x) const;  // C++14
-
-          iterator upper_bound(const key_type& k);
-    const_iterator upper_bound(const key_type& k) const;
-    template<typename K>
-        iterator upper_bound(const K& x);              // C++14
-    template<typename K>
-        const_iterator upper_bound(const K& x) const;  // C++14
-
-    pair<iterator,iterator>             equal_range(const key_type& k);
-    pair<const_iterator,const_iterator> equal_range(const key_type& k) const;
-    template<typename K>
-        pair<iterator,iterator>             equal_range(const K& x);        // C++14
-    template<typename K>
-        pair<const_iterator,const_iterator> equal_range(const K& x) const;  // C++14
-};
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator==(const multimap<Key, T, Compare, Allocator>& x,
-           const multimap<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator< (const multimap<Key, T, Compare, Allocator>& x,
-           const multimap<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator!=(const multimap<Key, T, Compare, Allocator>& x,
-           const multimap<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator> (const multimap<Key, T, Compare, Allocator>& x,
-           const multimap<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator>=(const multimap<Key, T, Compare, Allocator>& x,
-           const multimap<Key, T, Compare, Allocator>& y);
-
-template <class Key, class T, class Compare, class Allocator>
-bool
-operator<=(const multimap<Key, T, Compare, Allocator>& x,
-           const multimap<Key, T, Compare, Allocator>& y);
-
-// specialized algorithms:
-template <class Key, class T, class Compare, class Allocator>
-void
-swap(multimap<Key, T, Compare, Allocator>& x,
-     multimap<Key, T, Compare, Allocator>& y)
-    noexcept(noexcept(x.swap(y)));
-
-template <class Key, class T, class Compare, class Allocator, class Predicate>
-  void erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred);  // C++20
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__tree>
-#include <__node_handle>
-#include <iterator>
-#include <memory>
-#include <utility>
-#include <functional>
-#include <initializer_list>
-#include <type_traits>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Key, class _CP, class _Compare,
-          bool = is_empty<_Compare>::value && !__libcpp_is_final<_Compare>::value>
-class __map_value_compare
-    : private _Compare
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __map_value_compare()
-        _NOEXCEPT_(is_nothrow_default_constructible<_Compare>::value)
-        : _Compare() {}
-    _LIBCPP_INLINE_VISIBILITY
-    __map_value_compare(_Compare c)
-        _NOEXCEPT_(is_nothrow_copy_constructible<_Compare>::value)
-        : _Compare(c) {}
-    _LIBCPP_INLINE_VISIBILITY
-    const _Compare& key_comp() const _NOEXCEPT {return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _CP& __x, const _CP& __y) const
-        {return static_cast<const _Compare&>(*this)(__x.__get_value().first, __y.__get_value().first);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _CP& __x, const _Key& __y) const
-        {return static_cast<const _Compare&>(*this)(__x.__get_value().first, __y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Key& __x, const _CP& __y) const
-        {return static_cast<const _Compare&>(*this)(__x, __y.__get_value().first);}
-    void swap(__map_value_compare&__y)
-        _NOEXCEPT_(__is_nothrow_swappable<_Compare>::value)
-    {
-      using _VSTD::swap;
-      swap(static_cast<_Compare&>(*this), static_cast<_Compare&>(__y));
-    }
-
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value, bool>::type
-    operator () ( const _K2& __x, const _CP& __y ) const
-        {return static_cast<const _Compare&>(*this) (__x, __y.__get_value().first);}
-
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value, bool>::type
-    operator () (const _CP& __x, const _K2& __y) const
-        {return static_cast<const _Compare&>(*this) (__x.__get_value().first, __y);}
-#endif
-};
-
-template <class _Key, class _CP, class _Compare>
-class __map_value_compare<_Key, _CP, _Compare, false>
-{
-    _Compare comp;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __map_value_compare()
-        _NOEXCEPT_(is_nothrow_default_constructible<_Compare>::value)
-        : comp() {}
-    _LIBCPP_INLINE_VISIBILITY
-    __map_value_compare(_Compare c)
-        _NOEXCEPT_(is_nothrow_copy_constructible<_Compare>::value)
-        : comp(c) {}
-    _LIBCPP_INLINE_VISIBILITY
-    const _Compare& key_comp() const _NOEXCEPT {return comp;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _CP& __x, const _CP& __y) const
-        {return comp(__x.__get_value().first, __y.__get_value().first);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _CP& __x, const _Key& __y) const
-        {return comp(__x.__get_value().first, __y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Key& __x, const _CP& __y) const
-        {return comp(__x, __y.__get_value().first);}
-    void swap(__map_value_compare&__y)
-        _NOEXCEPT_(__is_nothrow_swappable<_Compare>::value)
-    {
-        using _VSTD::swap;
-        swap(comp, __y.comp);
-    }
-
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value, bool>::type
-    operator () ( const _K2& __x, const _CP& __y ) const
-        {return comp (__x, __y.__get_value().first);}
-
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value, bool>::type
-    operator () (const _CP& __x, const _K2& __y) const
-        {return comp (__x.__get_value().first, __y);}
-#endif
-};
-
-template <class _Key, class _CP, class _Compare, bool __b>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__map_value_compare<_Key, _CP, _Compare, __b>& __x,
-     __map_value_compare<_Key, _CP, _Compare, __b>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-template <class _Allocator>
-class __map_node_destructor
-{
-    typedef _Allocator                          allocator_type;
-    typedef allocator_traits<allocator_type>    __alloc_traits;
-
-public:
-    typedef typename __alloc_traits::pointer    pointer;
-
-private:
-    allocator_type& __na_;
-
-    __map_node_destructor& operator=(const __map_node_destructor&);
-
-public:
-    bool __first_constructed;
-    bool __second_constructed;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __map_node_destructor(allocator_type& __na) _NOEXCEPT
-        : __na_(__na),
-          __first_constructed(false),
-          __second_constructed(false)
-        {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __map_node_destructor(__tree_node_destructor<allocator_type>&& __x) _NOEXCEPT
-        : __na_(__x.__na_),
-          __first_constructed(__x.__value_constructed),
-          __second_constructed(__x.__value_constructed)
-        {
-            __x.__value_constructed = false;
-        }
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()(pointer __p) _NOEXCEPT
-    {
-        if (__second_constructed)
-            __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.__get_value().second));
-        if (__first_constructed)
-            __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.__get_value().first));
-        if (__p)
-            __alloc_traits::deallocate(__na_, __p, 1);
-    }
-};
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-    class map;
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-    class multimap;
-template <class _TreeIterator> class __map_const_iterator;
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Tp>
-struct __value_type
-{
-    typedef _Key                                     key_type;
-    typedef _Tp                                      mapped_type;
-    typedef pair<const key_type, mapped_type>        value_type;
-    typedef pair<key_type&, mapped_type&>            __nc_ref_pair_type;
-    typedef pair<key_type&&, mapped_type&&>          __nc_rref_pair_type;
-
-private:
-    value_type __cc;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    value_type& __get_value()
-    {
-#if _LIBCPP_STD_VER > 14
-        return *_VSTD::launder(_VSTD::addressof(__cc));
-#else
-        return __cc;
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type& __get_value() const
-    {
-#if _LIBCPP_STD_VER > 14
-        return *_VSTD::launder(_VSTD::addressof(__cc));
-#else
-        return __cc;
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __nc_ref_pair_type __ref()
-    {
-        value_type& __v = __get_value();
-        return __nc_ref_pair_type(const_cast<key_type&>(__v.first), __v.second);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __nc_rref_pair_type __move()
-    {
-        value_type& __v = __get_value();
-        return __nc_rref_pair_type(
-            _VSTD::move(const_cast<key_type&>(__v.first)),
-            _VSTD::move(__v.second));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __value_type& operator=(const __value_type& __v)
-    {
-        __ref() = __v.__get_value();
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __value_type& operator=(__value_type&& __v)
-    {
-        __ref() = __v.__move();
-        return *this;
-    }
-
-    template <class _ValueTp,
-              class = typename enable_if<
-                    __is_same_uncvref<_ValueTp, value_type>::value
-                 >::type
-             >
-    _LIBCPP_INLINE_VISIBILITY
-    __value_type& operator=(_ValueTp&& __v)
-    {
-        __ref() = _VSTD::forward<_ValueTp>(__v);
-        return *this;
-    }
-
-private:
-    __value_type() _LIBCPP_EQUAL_DELETE;
-    ~__value_type() _LIBCPP_EQUAL_DELETE;
-    __value_type(const __value_type& __v) _LIBCPP_EQUAL_DELETE;
-    __value_type(__value_type&& __v) _LIBCPP_EQUAL_DELETE;
-};
-
-#else
-
-template <class _Key, class _Tp>
-struct __value_type
-{
-    typedef _Key                                     key_type;
-    typedef _Tp                                      mapped_type;
-    typedef pair<const key_type, mapped_type>        value_type;
-
-private:
-    value_type __cc;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    value_type& __get_value() { return __cc; }
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type& __get_value() const { return __cc; }
-
-private:
-   __value_type();
-   __value_type(__value_type const&);
-   __value_type& operator=(__value_type const&);
-   ~__value_type();
-};
-
-#endif // _LIBCPP_CXX03_LANG
-
-template <class _Tp>
-struct __extract_key_value_types;
-
-template <class _Key, class _Tp>
-struct __extract_key_value_types<__value_type<_Key, _Tp> >
-{
-  typedef _Key const __key_type;
-  typedef _Tp        __mapped_type;
-};
-
-template <class _TreeIterator>
-class _LIBCPP_TEMPLATE_VIS __map_iterator
-{
-    typedef typename _TreeIterator::_NodeTypes                   _NodeTypes;
-    typedef typename _TreeIterator::__pointer_traits             __pointer_traits;
-
-    _TreeIterator __i_;
-
-public:
-    typedef bidirectional_iterator_tag                           iterator_category;
-    typedef typename _NodeTypes::__map_value_type                value_type;
-    typedef typename _TreeIterator::difference_type              difference_type;
-    typedef value_type&                                          reference;
-    typedef typename _NodeTypes::__map_value_type_pointer        pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __map_iterator() _NOEXCEPT {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __map_iterator(_TreeIterator __i) _NOEXCEPT : __i_(__i) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {return __i_->__get_value();}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {return pointer_traits<pointer>::pointer_to(__i_->__get_value());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __map_iterator& operator++() {++__i_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    __map_iterator operator++(int)
-    {
-        __map_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __map_iterator& operator--() {--__i_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    __map_iterator operator--(int)
-    {
-        __map_iterator __t(*this);
-        --(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __map_iterator& __x, const __map_iterator& __y)
-        {return __x.__i_ == __y.__i_;}
-    friend
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __map_iterator& __x, const __map_iterator& __y)
-        {return __x.__i_ != __y.__i_;}
-
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS map;
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS multimap;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __map_const_iterator;
-};
-
-template <class _TreeIterator>
-class _LIBCPP_TEMPLATE_VIS __map_const_iterator
-{
-    typedef typename _TreeIterator::_NodeTypes                   _NodeTypes;
-    typedef typename _TreeIterator::__pointer_traits             __pointer_traits;
-
-    _TreeIterator __i_;
-
-public:
-    typedef bidirectional_iterator_tag                           iterator_category;
-    typedef typename _NodeTypes::__map_value_type                value_type;
-    typedef typename _TreeIterator::difference_type              difference_type;
-    typedef const value_type&                                    reference;
-    typedef typename _NodeTypes::__const_map_value_type_pointer  pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __map_const_iterator() _NOEXCEPT {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __map_const_iterator(_TreeIterator __i) _NOEXCEPT : __i_(__i) {}
-    _LIBCPP_INLINE_VISIBILITY
-    __map_const_iterator(__map_iterator<
-        typename _TreeIterator::__non_const_iterator> __i) _NOEXCEPT
-        : __i_(__i.__i_) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {return __i_->__get_value();}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {return pointer_traits<pointer>::pointer_to(__i_->__get_value());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __map_const_iterator& operator++() {++__i_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    __map_const_iterator operator++(int)
-    {
-        __map_const_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __map_const_iterator& operator--() {--__i_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    __map_const_iterator operator--(int)
-    {
-        __map_const_iterator __t(*this);
-        --(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const __map_const_iterator& __x, const __map_const_iterator& __y)
-        {return __x.__i_ == __y.__i_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const __map_const_iterator& __x, const __map_const_iterator& __y)
-        {return __x.__i_ != __y.__i_;}
-
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS map;
-    template <class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS multimap;
-    template <class, class, class> friend class _LIBCPP_TEMPLATE_VIS __tree_const_iterator;
-};
-
-template <class _Key, class _Tp, class _Compare = less<_Key>,
-          class _Allocator = allocator<pair<const _Key, _Tp> > >
-class _LIBCPP_TEMPLATE_VIS map
-{
-public:
-    // types:
-    typedef _Key                                     key_type;
-    typedef _Tp                                      mapped_type;
-    typedef pair<const key_type, mapped_type>        value_type;
-    typedef typename __identity<_Compare>::type      key_compare;
-    typedef typename __identity<_Allocator>::type    allocator_type;
-    typedef value_type&                              reference;
-    typedef const value_type&                        const_reference;
-
-    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
-                  "Allocator::value_type must be same type as value_type");
-
-    class _LIBCPP_TEMPLATE_VIS value_compare
-        : public binary_function<value_type, value_type, bool>
-    {
-        friend class map;
-    protected:
-        key_compare comp;
-
-        _LIBCPP_INLINE_VISIBILITY value_compare(key_compare c) : comp(c) {}
-    public:
-        _LIBCPP_INLINE_VISIBILITY
-        bool operator()(const value_type& __x, const value_type& __y) const
-            {return comp(__x.first, __y.first);}
-    };
-
-private:
-
-    typedef _VSTD::__value_type<key_type, mapped_type>             __value_type;
-    typedef __map_value_compare<key_type, __value_type, key_compare> __vc;
-    typedef typename __rebind_alloc_helper<allocator_traits<allocator_type>,
-                                                 __value_type>::type __allocator_type;
-    typedef __tree<__value_type, __vc, __allocator_type>   __base;
-    typedef typename __base::__node_traits                 __node_traits;
-    typedef allocator_traits<allocator_type>               __alloc_traits;
-
-    __base __tree_;
-
-public:
-    typedef typename __alloc_traits::pointer               pointer;
-    typedef typename __alloc_traits::const_pointer         const_pointer;
-    typedef typename __alloc_traits::size_type             size_type;
-    typedef typename __alloc_traits::difference_type       difference_type;
-    typedef __map_iterator<typename __base::iterator>             iterator;
-    typedef __map_const_iterator<typename __base::const_iterator> const_iterator;
-    typedef _VSTD::reverse_iterator<iterator>               reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator>         const_reverse_iterator;
-
-#if _LIBCPP_STD_VER > 14
-    typedef __map_node_handle<typename __base::__node, allocator_type> node_type;
-    typedef __insert_return_type<iterator, node_type> insert_return_type;
-#endif
-
-    template <class _Key2, class _Value2, class _Comp2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS map;
-    template <class _Key2, class _Value2, class _Comp2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS multimap;
-
-    _LIBCPP_INLINE_VISIBILITY
-    map()
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_default_constructible<key_compare>::value &&
-            is_nothrow_copy_constructible<key_compare>::value)
-        : __tree_(__vc(key_compare())) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit map(const key_compare& __comp)
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_copy_constructible<key_compare>::value)
-        : __tree_(__vc(__comp)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit map(const key_compare& __comp, const allocator_type& __a)
-        : __tree_(__vc(__comp), typename __base::allocator_type(__a)) {}
-
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-        map(_InputIterator __f, _InputIterator __l,
-            const key_compare& __comp = key_compare())
-        : __tree_(__vc(__comp))
-        {
-            insert(__f, __l);
-        }
-
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-        map(_InputIterator __f, _InputIterator __l,
-            const key_compare& __comp, const allocator_type& __a)
-        : __tree_(__vc(__comp), typename __base::allocator_type(__a))
-        {
-            insert(__f, __l);
-        }
-
-#if _LIBCPP_STD_VER > 11
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-    map(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
-        : map(__f, __l, key_compare(), __a) {}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    map(const map& __m)
-        : __tree_(__m.__tree_)
-        {
-            insert(__m.begin(), __m.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    map& operator=(const map& __m)
-        {
-#ifndef _LIBCPP_CXX03_LANG
-            __tree_ = __m.__tree_;
-#else
-            if (this != &__m) {
-                __tree_.clear();
-                __tree_.value_comp() = __m.__tree_.value_comp();
-                __tree_.__copy_assign_alloc(__m.__tree_);
-                insert(__m.begin(), __m.end());
-            }
-#endif
-            return *this;
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    map(map&& __m)
-        _NOEXCEPT_(is_nothrow_move_constructible<__base>::value)
-        : __tree_(_VSTD::move(__m.__tree_))
-        {
-        }
-
-    map(map&& __m, const allocator_type& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    map& operator=(map&& __m)
-        _NOEXCEPT_(is_nothrow_move_assignable<__base>::value)
-        {
-            __tree_ = _VSTD::move(__m.__tree_);
-            return *this;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    map(initializer_list<value_type> __il, const key_compare& __comp = key_compare())
-        : __tree_(__vc(__comp))
-        {
-            insert(__il.begin(), __il.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    map(initializer_list<value_type> __il, const key_compare& __comp, const allocator_type& __a)
-        : __tree_(__vc(__comp), typename __base::allocator_type(__a))
-        {
-            insert(__il.begin(), __il.end());
-        }
-
-#if _LIBCPP_STD_VER > 11
-    _LIBCPP_INLINE_VISIBILITY
-    map(initializer_list<value_type> __il, const allocator_type& __a)
-        : map(__il, key_compare(), __a) {}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    map& operator=(initializer_list<value_type> __il)
-        {
-            __tree_.__assign_unique(__il.begin(), __il.end());
-            return *this;
-        }
-
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit map(const allocator_type& __a)
-        : __tree_(typename __base::allocator_type(__a))
-        {
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    map(const map& __m, const allocator_type& __a)
-        : __tree_(__m.__tree_.value_comp(), typename __base::allocator_type(__a))
-        {
-            insert(__m.begin(), __m.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~map() {
-        static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), "");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-          iterator begin() _NOEXCEPT {return __tree_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT {return __tree_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-          iterator end() _NOEXCEPT {return __tree_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT {return __tree_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rbegin() _NOEXCEPT {return reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin() const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rend() _NOEXCEPT
-            {return       reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend() const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT {return begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend() const _NOEXCEPT {return end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend() const _NOEXCEPT {return rend();}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const _NOEXCEPT {return __tree_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT {return __tree_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __tree_.max_size();}
-
-    mapped_type& operator[](const key_type& __k);
-#ifndef _LIBCPP_CXX03_LANG
-    mapped_type& operator[](key_type&& __k);
-#endif
-
-          mapped_type& at(const key_type& __k);
-    const mapped_type& at(const key_type& __k) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT {return allocator_type(__tree_.__alloc());}
-    _LIBCPP_INLINE_VISIBILITY
-    key_compare    key_comp()      const {return __tree_.value_comp().key_comp();}
-    _LIBCPP_INLINE_VISIBILITY
-    value_compare  value_comp()    const {return value_compare(__tree_.value_comp().key_comp());}
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> emplace(_Args&& ...__args) {
-        return __tree_.__emplace_unique(_VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator emplace_hint(const_iterator __p, _Args&& ...__args) {
-        return __tree_.__emplace_hint_unique(__p.__i_, _VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class _Pp,
-              class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> insert(_Pp&& __p)
-            {return __tree_.__insert_unique(_VSTD::forward<_Pp>(__p));}
-
-    template <class _Pp,
-              class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator insert(const_iterator __pos, _Pp&& __p)
-            {return __tree_.__insert_unique(__pos.__i_, _VSTD::forward<_Pp>(__p));}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-        insert(const value_type& __v) {return __tree_.__insert_unique(__v);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator
-        insert(const_iterator __p, const value_type& __v)
-            {return __tree_.__insert_unique(__p.__i_, __v);}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool>
-    insert(value_type&& __v) {return __tree_.__insert_unique(_VSTD::move(__v));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p,  value_type&& __v)
-    {return __tree_.__insert_unique(__p.__i_, _VSTD::move(__v));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(initializer_list<value_type> __il)
-        {insert(__il.begin(), __il.end());}
-#endif
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __f, _InputIterator __l)
-        {
-            for (const_iterator __e = cend(); __f != __l; ++__f)
-                insert(__e.__i_, *__f);
-        }
-
-#if _LIBCPP_STD_VER > 14
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> try_emplace(const key_type& __k, _Args&&... __args)
-    {
-        return __tree_.__emplace_unique_key_args(__k,
-            _VSTD::piecewise_construct,
-            _VSTD::forward_as_tuple(__k),
-            _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...));
-    }
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> try_emplace(key_type&& __k, _Args&&... __args)
-    {
-        return __tree_.__emplace_unique_key_args(__k,
-            _VSTD::piecewise_construct,
-            _VSTD::forward_as_tuple(_VSTD::move(__k)),
-            _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...));
-    }
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator try_emplace(const_iterator __h, const key_type& __k, _Args&&... __args)
-    {
-        return __tree_.__emplace_hint_unique_key_args(__h.__i_, __k,
-            _VSTD::piecewise_construct,
-            _VSTD::forward_as_tuple(__k),
-            _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...));
-    }
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator try_emplace(const_iterator __h, key_type&& __k, _Args&&... __args)
-    {
-        return __tree_.__emplace_hint_unique_key_args(__h.__i_, __k,
-            _VSTD::piecewise_construct,
-            _VSTD::forward_as_tuple(_VSTD::move(__k)),
-            _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...));
-    }
-
-    template <class _Vp>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> insert_or_assign(const key_type& __k, _Vp&& __v)
-    {
-        iterator __p = lower_bound(__k);
-        if ( __p != end() && !key_comp()(__k, __p->first))
-        {
-            __p->second = _VSTD::forward<_Vp>(__v);
-            return _VSTD::make_pair(__p, false);
-        }
-        return _VSTD::make_pair(emplace_hint(__p, __k, _VSTD::forward<_Vp>(__v)), true);
-    }
-
-    template <class _Vp>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> insert_or_assign(key_type&& __k, _Vp&& __v)
-    {
-        iterator __p = lower_bound(__k);
-        if ( __p != end() && !key_comp()(__k, __p->first))
-        {
-            __p->second = _VSTD::forward<_Vp>(__v);
-            return _VSTD::make_pair(__p, false);
-        }
-        return _VSTD::make_pair(emplace_hint(__p, _VSTD::move(__k), _VSTD::forward<_Vp>(__v)), true);
-    }
-
-    template <class _Vp>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator insert_or_assign(const_iterator __h, const key_type& __k, _Vp&& __v)
-     {
-        iterator __p = lower_bound(__k);
-        if ( __p != end() && !key_comp()(__k, __p->first))
-        {
-            __p->second = _VSTD::forward<_Vp>(__v);
-            return __p;
-        }
-        return emplace_hint(__h, __k, _VSTD::forward<_Vp>(__v));
-     }
-
-    template <class _Vp>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator insert_or_assign(const_iterator __h, key_type&& __k, _Vp&& __v)
-     {
-        iterator __p = lower_bound(__k);
-        if ( __p != end() && !key_comp()(__k, __p->first))
-        {
-            __p->second = _VSTD::forward<_Vp>(__v);
-            return __p;
-        }
-        return emplace_hint(__h, _VSTD::move(__k), _VSTD::forward<_Vp>(__v));
-     }
-
-#endif // _LIBCPP_STD_VER > 14
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(iterator __p)       {return __tree_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k)
-        {return __tree_.__erase_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator  erase(const_iterator __f, const_iterator __l)
-        {return __tree_.erase(__f.__i_, __l.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__tree_.clear();}
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    insert_return_type insert(node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to map::insert()");
-        return __tree_.template __node_handle_insert_unique<
-            node_type, insert_return_type>(_VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __hint, node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to map::insert()");
-        return __tree_.template __node_handle_insert_unique<node_type>(
-            __hint.__i_, _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(key_type const& __key)
-    {
-        return __tree_.template __node_handle_extract<node_type>(__key);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(const_iterator __it)
-    {
-        return __tree_.template __node_handle_extract<node_type>(__it.__i_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(map<key_type, mapped_type, _Compare2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_unique(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(map<key_type, mapped_type, _Compare2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_unique(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_unique(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_unique(__source.__tree_);
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(map& __m)
-        _NOEXCEPT_(__is_nothrow_swappable<__base>::value)
-        {__tree_.swap(__m.__tree_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator find(const key_type& __k)             {return __tree_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __tree_.find(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    find(const _K2& __k)                           {return __tree_.find(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    find(const _K2& __k) const                     {return __tree_.find(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type      count(const key_type& __k) const
-        {return __tree_.__count_unique(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,size_type>::type
-    count(const _K2& __k) const {return __tree_.__count_multi(__k);}
-#endif
-
-#if _LIBCPP_STD_VER > 17
-    _LIBCPP_INLINE_VISIBILITY
-    bool contains(const key_type& __k) const {return find(__k) != end();}
-#endif // _LIBCPP_STD_VER > 17
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator lower_bound(const key_type& __k)
-        {return __tree_.lower_bound(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator lower_bound(const key_type& __k) const
-        {return __tree_.lower_bound(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    lower_bound(const _K2& __k)       {return __tree_.lower_bound(__k);}
-
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    lower_bound(const _K2& __k) const {return __tree_.lower_bound(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator upper_bound(const key_type& __k)
-        {return __tree_.upper_bound(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator upper_bound(const key_type& __k) const
-        {return __tree_.upper_bound(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    upper_bound(const _K2& __k)       {return __tree_.upper_bound(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    upper_bound(const _K2& __k) const {return __tree_.upper_bound(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator,iterator> equal_range(const key_type& __k)
-        {return __tree_.__equal_range_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    pair<const_iterator,const_iterator> equal_range(const key_type& __k) const
-        {return __tree_.__equal_range_unique(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,pair<iterator,iterator>>::type
-    equal_range(const _K2& __k)       {return __tree_.__equal_range_multi(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,pair<const_iterator,const_iterator>>::type
-    equal_range(const _K2& __k) const {return __tree_.__equal_range_multi(__k);}
-#endif
-
-private:
-    typedef typename __base::__node                    __node;
-    typedef typename __base::__node_allocator          __node_allocator;
-    typedef typename __base::__node_pointer            __node_pointer;
-    typedef typename __base::__node_base_pointer       __node_base_pointer;
-    typedef typename __base::__parent_pointer          __parent_pointer;
-
-    typedef __map_node_destructor<__node_allocator> _Dp;
-    typedef unique_ptr<__node, _Dp> __node_holder;
-
-#ifdef _LIBCPP_CXX03_LANG
-    __node_holder __construct_node_with_key(const key_type& __k);
-#endif
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator, class _Compare = less<__iter_key_type<_InputIterator>>,
-         class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
-         class = _EnableIf<!__is_allocator<_Compare>::value, void>,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-map(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-  -> map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Compare, _Allocator>;
-
-template<class _Key, class _Tp, class _Compare = less<remove_const_t<_Key>>,
-         class _Allocator = allocator<pair<const _Key, _Tp>>,
-         class = _EnableIf<!__is_allocator<_Compare>::value, void>,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-map(initializer_list<pair<_Key, _Tp>>, _Compare = _Compare(), _Allocator = _Allocator())
-  -> map<remove_const_t<_Key>, _Tp, _Compare, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-map(_InputIterator, _InputIterator, _Allocator)
-  -> map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-         less<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-map(initializer_list<pair<_Key, _Tp>>, _Allocator)
-  -> map<remove_const_t<_Key>, _Tp, less<remove_const_t<_Key>>, _Allocator>;
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-map<_Key, _Tp, _Compare, _Allocator>::map(map&& __m, const allocator_type& __a)
-    : __tree_(_VSTD::move(__m.__tree_), typename __base::allocator_type(__a))
-{
-    if (__a != __m.get_allocator())
-    {
-        const_iterator __e = cend();
-        while (!__m.empty())
-            __tree_.__insert_unique(__e.__i_,
-                    __m.__tree_.remove(__m.begin().__i_)->__value_.__move());
-    }
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-_Tp&
-map<_Key, _Tp, _Compare, _Allocator>::operator[](const key_type& __k)
-{
-    return __tree_.__emplace_unique_key_args(__k,
-        _VSTD::piecewise_construct,
-        _VSTD::forward_as_tuple(__k),
-        _VSTD::forward_as_tuple()).first->__get_value().second;
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-_Tp&
-map<_Key, _Tp, _Compare, _Allocator>::operator[](key_type&& __k)
-{
-    return __tree_.__emplace_unique_key_args(__k,
-        _VSTD::piecewise_construct,
-        _VSTD::forward_as_tuple(_VSTD::move(__k)),
-        _VSTD::forward_as_tuple()).first->__get_value().second;
-}
-
-#else // _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-typename map<_Key, _Tp, _Compare, _Allocator>::__node_holder
-map<_Key, _Tp, _Compare, _Allocator>::__construct_node_with_key(const key_type& __k)
-{
-    __node_allocator& __na = __tree_.__node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__get_value().first), __k);
-    __h.get_deleter().__first_constructed = true;
-    __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__get_value().second));
-    __h.get_deleter().__second_constructed = true;
-    return _LIBCPP_EXPLICIT_MOVE(__h);  // explicitly moved for C++03
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-_Tp&
-map<_Key, _Tp, _Compare, _Allocator>::operator[](const key_type& __k)
-{
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __tree_.__find_equal(__parent, __k);
-    __node_pointer __r = static_cast<__node_pointer>(__child);
-    if (__child == nullptr)
-    {
-        __node_holder __h = __construct_node_with_key(__k);
-        __tree_.__insert_node_at(__parent, __child, static_cast<__node_base_pointer>(__h.get()));
-        __r = __h.release();
-    }
-    return __r->__value_.__get_value().second;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-_Tp&
-map<_Key, _Tp, _Compare, _Allocator>::at(const key_type& __k)
-{
-    __parent_pointer __parent;
-    __node_base_pointer& __child = __tree_.__find_equal(__parent, __k);
-    if (__child == nullptr)
-        __throw_out_of_range("map::at:  key not found");
-    return static_cast<__node_pointer>(__child)->__value_.__get_value().second;
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-const _Tp&
-map<_Key, _Tp, _Compare, _Allocator>::at(const key_type& __k) const
-{
-    __parent_pointer __parent;
-    __node_base_pointer __child = __tree_.__find_equal(__parent, __k);
-    if (__child == nullptr)
-        __throw_out_of_range("map::at:  key not found");
-    return static_cast<__node_pointer>(__child)->__value_.__get_value().second;
-}
-
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const map<_Key, _Tp, _Compare, _Allocator>& __x,
-           const map<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return __x.size() == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const map<_Key, _Tp, _Compare, _Allocator>& __x,
-           const map<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const map<_Key, _Tp, _Compare, _Allocator>& __x,
-           const map<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const map<_Key, _Tp, _Compare, _Allocator>& __x,
-           const map<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const map<_Key, _Tp, _Compare, _Allocator>& __x,
-           const map<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const map<_Key, _Tp, _Compare, _Allocator>& __x,
-           const map<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(map<_Key, _Tp, _Compare, _Allocator>& __x,
-     map<_Key, _Tp, _Compare, _Allocator>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Key, class _Tp, class _Compare, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(map<_Key, _Tp, _Compare, _Allocator>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
-#endif
-
-
-template <class _Key, class _Tp, class _Compare = less<_Key>,
-          class _Allocator = allocator<pair<const _Key, _Tp> > >
-class _LIBCPP_TEMPLATE_VIS multimap
-{
-public:
-    // types:
-    typedef _Key                                     key_type;
-    typedef _Tp                                      mapped_type;
-    typedef pair<const key_type, mapped_type>        value_type;
-    typedef typename __identity<_Compare>::type      key_compare;
-    typedef typename __identity<_Allocator>::type    allocator_type;
-    typedef value_type&                              reference;
-    typedef const value_type&                        const_reference;
-
-    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
-                  "Allocator::value_type must be same type as value_type");
-
-    class _LIBCPP_TEMPLATE_VIS value_compare
-        : public binary_function<value_type, value_type, bool>
-    {
-        friend class multimap;
-    protected:
-        key_compare comp;
-
-        _LIBCPP_INLINE_VISIBILITY
-        value_compare(key_compare c) : comp(c) {}
-    public:
-        _LIBCPP_INLINE_VISIBILITY
-        bool operator()(const value_type& __x, const value_type& __y) const
-            {return comp(__x.first, __y.first);}
-    };
-
-private:
-
-    typedef _VSTD::__value_type<key_type, mapped_type>             __value_type;
-    typedef __map_value_compare<key_type, __value_type, key_compare> __vc;
-    typedef typename __rebind_alloc_helper<allocator_traits<allocator_type>,
-                                                 __value_type>::type __allocator_type;
-    typedef __tree<__value_type, __vc, __allocator_type>            __base;
-    typedef typename __base::__node_traits                          __node_traits;
-    typedef allocator_traits<allocator_type>                        __alloc_traits;
-
-    __base __tree_;
-
-public:
-    typedef typename __alloc_traits::pointer               pointer;
-    typedef typename __alloc_traits::const_pointer         const_pointer;
-    typedef typename __alloc_traits::size_type             size_type;
-    typedef typename __alloc_traits::difference_type       difference_type;
-    typedef __map_iterator<typename __base::iterator>      iterator;
-    typedef __map_const_iterator<typename __base::const_iterator> const_iterator;
-    typedef _VSTD::reverse_iterator<iterator>               reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator>         const_reverse_iterator;
-
-#if _LIBCPP_STD_VER > 14
-    typedef __map_node_handle<typename __base::__node, allocator_type> node_type;
-#endif
-
-    template <class _Key2, class _Value2, class _Comp2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS map;
-    template <class _Key2, class _Value2, class _Comp2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS multimap;
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap()
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_default_constructible<key_compare>::value &&
-            is_nothrow_copy_constructible<key_compare>::value)
-        : __tree_(__vc(key_compare())) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit multimap(const key_compare& __comp)
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_copy_constructible<key_compare>::value)
-        : __tree_(__vc(__comp)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit multimap(const key_compare& __comp, const allocator_type& __a)
-        : __tree_(__vc(__comp), typename __base::allocator_type(__a)) {}
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        multimap(_InputIterator __f, _InputIterator __l,
-            const key_compare& __comp = key_compare())
-        : __tree_(__vc(__comp))
-        {
-            insert(__f, __l);
-        }
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        multimap(_InputIterator __f, _InputIterator __l,
-            const key_compare& __comp, const allocator_type& __a)
-        : __tree_(__vc(__comp), typename __base::allocator_type(__a))
-        {
-            insert(__f, __l);
-        }
-
-#if _LIBCPP_STD_VER > 11
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-    multimap(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
-        : multimap(__f, __l, key_compare(), __a) {}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap(const multimap& __m)
-        : __tree_(__m.__tree_.value_comp(),
-          __alloc_traits::select_on_container_copy_construction(__m.__tree_.__alloc()))
-        {
-            insert(__m.begin(), __m.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap& operator=(const multimap& __m)
-        {
-#ifndef _LIBCPP_CXX03_LANG
-            __tree_ = __m.__tree_;
-#else
-            if (this != &__m) {
-                __tree_.clear();
-                __tree_.value_comp() = __m.__tree_.value_comp();
-                __tree_.__copy_assign_alloc(__m.__tree_);
-                insert(__m.begin(), __m.end());
-            }
-#endif
-            return *this;
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap(multimap&& __m)
-        _NOEXCEPT_(is_nothrow_move_constructible<__base>::value)
-        : __tree_(_VSTD::move(__m.__tree_))
-        {
-        }
-
-    multimap(multimap&& __m, const allocator_type& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap& operator=(multimap&& __m)
-        _NOEXCEPT_(is_nothrow_move_assignable<__base>::value)
-        {
-            __tree_ = _VSTD::move(__m.__tree_);
-            return *this;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap(initializer_list<value_type> __il, const key_compare& __comp = key_compare())
-        : __tree_(__vc(__comp))
-        {
-            insert(__il.begin(), __il.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap(initializer_list<value_type> __il, const key_compare& __comp, const allocator_type& __a)
-        : __tree_(__vc(__comp), typename __base::allocator_type(__a))
-        {
-            insert(__il.begin(), __il.end());
-        }
-
-#if _LIBCPP_STD_VER > 11
-    _LIBCPP_INLINE_VISIBILITY
-    multimap(initializer_list<value_type> __il, const allocator_type& __a)
-        : multimap(__il, key_compare(), __a) {}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap& operator=(initializer_list<value_type> __il)
-        {
-            __tree_.__assign_multi(__il.begin(), __il.end());
-            return *this;
-        }
-
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit multimap(const allocator_type& __a)
-        : __tree_(typename __base::allocator_type(__a))
-        {
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    multimap(const multimap& __m, const allocator_type& __a)
-        : __tree_(__m.__tree_.value_comp(), typename __base::allocator_type(__a))
-        {
-            insert(__m.begin(), __m.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~multimap() {
-        static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), "");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-          iterator begin() _NOEXCEPT {return __tree_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT {return __tree_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-          iterator end() _NOEXCEPT {return __tree_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end() const _NOEXCEPT {return __tree_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rbegin() _NOEXCEPT {return reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin() const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rend() _NOEXCEPT {return reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend() const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin()  const _NOEXCEPT {return begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend() const _NOEXCEPT {return end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend() const _NOEXCEPT {return rend();}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT {return __tree_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT {return __tree_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __tree_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT {return allocator_type(__tree_.__alloc());}
-    _LIBCPP_INLINE_VISIBILITY
-    key_compare    key_comp() const {return __tree_.value_comp().key_comp();}
-    _LIBCPP_INLINE_VISIBILITY
-    value_compare  value_comp() const
-        {return value_compare(__tree_.value_comp().key_comp());}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator emplace(_Args&& ...__args) {
-        return __tree_.__emplace_multi(_VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class ..._Args>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator emplace_hint(const_iterator __p, _Args&& ...__args) {
-        return __tree_.__emplace_hint_multi(__p.__i_, _VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class _Pp,
-              class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator insert(_Pp&& __p)
-            {return __tree_.__insert_multi(_VSTD::forward<_Pp>(__p));}
-
-    template <class _Pp,
-              class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator insert(const_iterator __pos, _Pp&& __p)
-            {return __tree_.__insert_multi(__pos.__i_, _VSTD::forward<_Pp>(__p));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(value_type&& __v)
-        {return __tree_.__insert_multi(_VSTD::move(__v));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, value_type&& __v)
-        {return __tree_.__insert_multi(__p.__i_, _VSTD::move(__v));}
-
-
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(initializer_list<value_type> __il)
-        {insert(__il.begin(), __il.end());}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const value_type& __v) {return __tree_.__insert_multi(__v);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, const value_type& __v)
-            {return __tree_.__insert_multi(__p.__i_, __v);}
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __f, _InputIterator __l)
-        {
-            for (const_iterator __e = cend(); __f != __l; ++__f)
-                __tree_.__insert_multi(__e.__i_, *__f);
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(iterator __p)       {return __tree_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __tree_.__erase_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator  erase(const_iterator __f, const_iterator __l)
-        {return __tree_.erase(__f.__i_, __l.__i_);}
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to multimap::insert()");
-        return __tree_.template __node_handle_insert_multi<node_type>(
-            _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __hint, node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to multimap::insert()");
-        return __tree_.template __node_handle_insert_multi<node_type>(
-            __hint.__i_, _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(key_type const& __key)
-    {
-        return __tree_.template __node_handle_extract<node_type>(__key);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(const_iterator __it)
-    {
-        return __tree_.template __node_handle_extract<node_type>(
-            __it.__i_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __tree_.__node_handle_merge_multi(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __tree_.__node_handle_merge_multi(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(map<key_type, mapped_type, _Compare2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __tree_.__node_handle_merge_multi(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(map<key_type, mapped_type, _Compare2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __tree_.__node_handle_merge_multi(__source.__tree_);
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__tree_.clear();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(multimap& __m)
-        _NOEXCEPT_(__is_nothrow_swappable<__base>::value)
-        {__tree_.swap(__m.__tree_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator find(const key_type& __k)             {return __tree_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __tree_.find(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    find(const _K2& __k)                           {return __tree_.find(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    find(const _K2& __k) const                     {return __tree_.find(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type      count(const key_type& __k) const
-        {return __tree_.__count_multi(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,size_type>::type
-    count(const _K2& __k) const {return __tree_.__count_multi(__k);}
-#endif
-
-#if _LIBCPP_STD_VER > 17
-    _LIBCPP_INLINE_VISIBILITY
-    bool contains(const key_type& __k) const {return find(__k) != end();}
-#endif // _LIBCPP_STD_VER > 17
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator lower_bound(const key_type& __k)
-        {return __tree_.lower_bound(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator lower_bound(const key_type& __k) const
-            {return __tree_.lower_bound(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    lower_bound(const _K2& __k)       {return __tree_.lower_bound(__k);}
-
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    lower_bound(const _K2& __k) const {return __tree_.lower_bound(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator upper_bound(const key_type& __k)
-            {return __tree_.upper_bound(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator upper_bound(const key_type& __k) const
-            {return __tree_.upper_bound(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    upper_bound(const _K2& __k)       {return __tree_.upper_bound(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    upper_bound(const _K2& __k) const {return __tree_.upper_bound(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator,iterator>             equal_range(const key_type& __k)
-            {return __tree_.__equal_range_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    pair<const_iterator,const_iterator> equal_range(const key_type& __k) const
-            {return __tree_.__equal_range_multi(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,pair<iterator,iterator>>::type
-    equal_range(const _K2& __k)       {return __tree_.__equal_range_multi(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,pair<const_iterator,const_iterator>>::type
-    equal_range(const _K2& __k) const {return __tree_.__equal_range_multi(__k);}
-#endif
-
-private:
-    typedef typename __base::__node                    __node;
-    typedef typename __base::__node_allocator          __node_allocator;
-    typedef typename __base::__node_pointer            __node_pointer;
-
-    typedef __map_node_destructor<__node_allocator> _Dp;
-    typedef unique_ptr<__node, _Dp> __node_holder;
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator, class _Compare = less<__iter_key_type<_InputIterator>>,
-         class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
-         class = _EnableIf<!__is_allocator<_Compare>::value, void>,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-multimap(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-  -> multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Compare, _Allocator>;
-
-template<class _Key, class _Tp, class _Compare = less<remove_const_t<_Key>>,
-         class _Allocator = allocator<pair<const _Key, _Tp>>,
-         class = _EnableIf<!__is_allocator<_Compare>::value, void>,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-multimap(initializer_list<pair<_Key, _Tp>>, _Compare = _Compare(), _Allocator = _Allocator())
-  -> multimap<remove_const_t<_Key>, _Tp, _Compare, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-multimap(_InputIterator, _InputIterator, _Allocator)
-  -> multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-         less<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
-  -> multimap<remove_const_t<_Key>, _Tp, less<remove_const_t<_Key>>, _Allocator>;
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-multimap<_Key, _Tp, _Compare, _Allocator>::multimap(multimap&& __m, const allocator_type& __a)
-    : __tree_(_VSTD::move(__m.__tree_), typename __base::allocator_type(__a))
-{
-    if (__a != __m.get_allocator())
-    {
-        const_iterator __e = cend();
-        while (!__m.empty())
-            __tree_.__insert_multi(__e.__i_,
-                    _VSTD::move(__m.__tree_.remove(__m.begin().__i_)->__value_.__move()));
-    }
-}
-#endif
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
-           const multimap<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return __x.size() == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
-           const multimap<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
-           const multimap<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
-           const multimap<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
-           const multimap<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
-           const multimap<_Key, _Tp, _Compare, _Allocator>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Key, class _Tp, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(multimap<_Key, _Tp, _Compare, _Allocator>& __x,
-     multimap<_Key, _Tp, _Compare, _Allocator>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Key, class _Tp, class _Compare, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(multimap<_Key, _Tp, _Compare, _Allocator>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_MAP
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/optional b/r23/sources/cxx-stl/llvm-libc++/include/optional
deleted file mode 100644
index a147d69..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/optional
+++ /dev/null
@@ -1,1420 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- optional ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_OPTIONAL
-#define _LIBCPP_OPTIONAL
-
-/*
-    optional synopsis
-
-// C++1z
-
-namespace std {
-  // 23.6.3, optional for object types
-  template <class T> class optional;
-
-  // 23.6.4, no-value state indicator
-  struct nullopt_t{see below };
-  inline constexpr nullopt_t nullopt(unspecified );
-
-  // 23.6.5, class bad_optional_access
-  class bad_optional_access;
-
-  // 23.6.6, relational operators
-  template <class T, class U>
-  constexpr bool operator==(const optional<T>&, const optional<U>&);
-  template <class T, class U>
-  constexpr bool operator!=(const optional<T>&, const optional<U>&);
-  template <class T, class U>
-  constexpr bool operator<(const optional<T>&, const optional<U>&);
-  template <class T, class U>
-  constexpr bool operator>(const optional<T>&, const optional<U>&);
-  template <class T, class U>
-  constexpr bool operator<=(const optional<T>&, const optional<U>&);
-  template <class T, class U>
-  constexpr bool operator>=(const optional<T>&, const optional<U>&);
-
-  // 23.6.7 comparison with nullopt
-  template <class T> constexpr bool operator==(const optional<T>&, nullopt_t) noexcept;
-  template <class T> constexpr bool operator==(nullopt_t, const optional<T>&) noexcept;
-  template <class T> constexpr bool operator!=(const optional<T>&, nullopt_t) noexcept;
-  template <class T> constexpr bool operator!=(nullopt_t, const optional<T>&) noexcept;
-  template <class T> constexpr bool operator<(const optional<T>&, nullopt_t) noexcept;
-  template <class T> constexpr bool operator<(nullopt_t, const optional<T>&) noexcept;
-  template <class T> constexpr bool operator<=(const optional<T>&, nullopt_t) noexcept;
-  template <class T> constexpr bool operator<=(nullopt_t, const optional<T>&) noexcept;
-  template <class T> constexpr bool operator>(const optional<T>&, nullopt_t) noexcept;
-  template <class T> constexpr bool operator>(nullopt_t, const optional<T>&) noexcept;
-  template <class T> constexpr bool operator>=(const optional<T>&, nullopt_t) noexcept;
-  template <class T> constexpr bool operator>=(nullopt_t, const optional<T>&) noexcept;
-
-  // 23.6.8, comparison with T
-  template <class T, class U> constexpr bool operator==(const optional<T>&, const U&);
-  template <class T, class U> constexpr bool operator==(const T&, const optional<U>&);
-  template <class T, class U> constexpr bool operator!=(const optional<T>&, const U&);
-  template <class T, class U> constexpr bool operator!=(const T&, const optional<U>&);
-  template <class T, class U> constexpr bool operator<(const optional<T>&, const U&);
-  template <class T, class U> constexpr bool operator<(const T&, const optional<U>&);
-  template <class T, class U> constexpr bool operator<=(const optional<T>&, const U&);
-  template <class T, class U> constexpr bool operator<=(const T&, const optional<U>&);
-  template <class T, class U> constexpr bool operator>(const optional<T>&, const U&);
-  template <class T, class U> constexpr bool operator>(const T&, const optional<U>&);
-  template <class T, class U> constexpr bool operator>=(const optional<T>&, const U&);
-  template <class T, class U> constexpr bool operator>=(const T&, const optional<U>&);
-
-  // 23.6.9, specialized algorithms
-  template <class T> void swap(optional<T>&, optional<T>&) noexcept(see below );
-  template <class T> constexpr optional<see below > make_optional(T&&);
-  template <class T, class... Args>
-    constexpr optional<T> make_optional(Args&&... args);
-  template <class T, class U, class... Args>
-    constexpr optional<T> make_optional(initializer_list<U> il, Args&&... args);
-
-  // 23.6.10, hash support
-  template <class T> struct hash;
-  template <class T> struct hash<optional<T>>;
-
-  template <class T> class optional {
-  public:
-    using value_type = T;
-
-    // 23.6.3.1, constructors
-    constexpr optional() noexcept;
-    constexpr optional(nullopt_t) noexcept;
-    optional(const optional &);
-    optional(optional &&) noexcept(see below);
-    template <class... Args> constexpr explicit optional(in_place_t, Args &&...);
-    template <class U, class... Args>
-      constexpr explicit optional(in_place_t, initializer_list<U>, Args &&...);
-    template <class U = T>
-      constexpr EXPLICIT optional(U &&);
-    template <class U>
-      constexpr EXPLICIT optional(const optional<U> &);
-    template <class U>
-      constexpr EXPLICIT optional(optional<U> &&);
-
-    // 23.6.3.2, destructor
-    ~optional();
-
-    // 23.6.3.3, assignment
-    optional &operator=(nullopt_t) noexcept;
-    optional &operator=(const optional &);                // constexpr in C++20
-    optional &operator=(optional &&) noexcept(see below); // constexpr in C++20
-    template <class U = T> optional &operator=(U &&);
-    template <class U> optional &operator=(const optional<U> &);
-    template <class U> optional &operator=(optional<U> &&);
-    template <class... Args> T& emplace(Args &&...);
-    template <class U, class... Args>
-      T& emplace(initializer_list<U>, Args &&...);
-
-    // 23.6.3.4, swap
-    void swap(optional &) noexcept(see below );
-
-    // 23.6.3.5, observers
-    constexpr T const *operator->() const;
-    constexpr T *operator->();
-    constexpr T const &operator*() const &;
-    constexpr T &operator*() &;
-    constexpr T &&operator*() &&;
-    constexpr const T &&operator*() const &&;
-    constexpr explicit operator bool() const noexcept;
-    constexpr bool has_value() const noexcept;
-    constexpr T const &value() const &;
-    constexpr T &value() &;
-    constexpr T &&value() &&;
-    constexpr const T &&value() const &&;
-    template <class U> constexpr T value_or(U &&) const &;
-    template <class U> constexpr T value_or(U &&) &&;
-
-    // 23.6.3.6, modifiers
-    void reset() noexcept;
-
-  private:
-    T *val; // exposition only
-  };
-
-template<class T>
-  optional(T) -> optional<T>;
-
-} // namespace std
-
-*/
-
-#include <__config>
-#include <__debug>
-#include <__functional_base>
-#include <functional>
-#include <initializer_list>
-#include <new>
-#include <stdexcept>
-#include <type_traits>
-#include <utility>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-namespace std  // purposefully not using versioning namespace
-{
-
-class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access
-    : public exception
-{
-public:
-    // Get the key function ~bad_optional_access() into the dylib
-    virtual ~bad_optional_access() _NOEXCEPT;
-    virtual const char* what() const _NOEXCEPT;
-};
-
-}  // std
-
-#if _LIBCPP_STD_VER > 14
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-_LIBCPP_NORETURN
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
-void __throw_bad_optional_access() {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        throw bad_optional_access();
-#else
-        _VSTD::abort();
-#endif
-}
-
-struct nullopt_t
-{
-    struct __secret_tag { _LIBCPP_INLINE_VISIBILITY explicit __secret_tag() = default; };
-    _LIBCPP_INLINE_VISIBILITY constexpr explicit nullopt_t(__secret_tag, __secret_tag) noexcept {}
-};
-
-_LIBCPP_INLINE_VAR constexpr nullopt_t nullopt{nullopt_t::__secret_tag{}, nullopt_t::__secret_tag{}};
-
-template <class _Tp, bool = is_trivially_destructible<_Tp>::value>
-struct __optional_destruct_base;
-
-template <class _Tp>
-struct __optional_destruct_base<_Tp, false>
-{
-    typedef _Tp value_type;
-    static_assert(is_object_v<value_type>,
-        "instantiation of optional with a non-object type is undefined behavior");
-    union
-    {
-        char __null_state_;
-        value_type __val_;
-    };
-    bool __engaged_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~__optional_destruct_base()
-    {
-        if (__engaged_)
-            __val_.~value_type();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr __optional_destruct_base() noexcept
-        :  __null_state_(),
-           __engaged_(false) {}
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr explicit __optional_destruct_base(in_place_t, _Args&&... __args)
-        :  __val_(_VSTD::forward<_Args>(__args)...),
-           __engaged_(true) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() noexcept
-    {
-        if (__engaged_)
-        {
-            __val_.~value_type();
-            __engaged_ = false;
-        }
-    }
-};
-
-template <class _Tp>
-struct __optional_destruct_base<_Tp, true>
-{
-    typedef _Tp value_type;
-    static_assert(is_object_v<value_type>,
-        "instantiation of optional with a non-object type is undefined behavior");
-    union
-    {
-        char __null_state_;
-        value_type __val_;
-    };
-    bool __engaged_;
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr __optional_destruct_base() noexcept
-        :  __null_state_(),
-           __engaged_(false) {}
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr explicit __optional_destruct_base(in_place_t, _Args&&... __args)
-        :  __val_(_VSTD::forward<_Args>(__args)...),
-           __engaged_(true) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() noexcept
-    {
-        if (__engaged_)
-        {
-            __engaged_ = false;
-        }
-    }
-};
-
-template <class _Tp, bool = is_reference<_Tp>::value>
-struct __optional_storage_base : __optional_destruct_base<_Tp>
-{
-    using __base = __optional_destruct_base<_Tp>;
-    using value_type = _Tp;
-    using __base::__base;
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr bool has_value() const noexcept
-    {
-        return this->__engaged_;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr value_type& __get() & noexcept
-    {
-        return this->__val_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr const value_type& __get() const& noexcept
-    {
-        return this->__val_;
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr value_type&& __get() && noexcept
-    {
-        return _VSTD::move(this->__val_);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr const value_type&& __get() const&& noexcept
-    {
-        return _VSTD::move(this->__val_);
-    }
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    void __construct(_Args&&... __args)
-    {
-        _LIBCPP_ASSERT(!has_value(), "__construct called for engaged __optional_storage");
-        ::new((void*)_VSTD::addressof(this->__val_)) value_type(_VSTD::forward<_Args>(__args)...);
-        this->__engaged_ = true;
-    }
-
-    template <class _That>
-    _LIBCPP_INLINE_VISIBILITY
-    void __construct_from(_That&& __opt)
-    {
-        if (__opt.has_value())
-            __construct(_VSTD::forward<_That>(__opt).__get());
-    }
-
-    template <class _That>
-    _LIBCPP_INLINE_VISIBILITY
-    void __assign_from(_That&& __opt)
-    {
-        if (this->__engaged_ == __opt.has_value())
-        {
-            if (this->__engaged_)
-                this->__val_ = _VSTD::forward<_That>(__opt).__get();
-        }
-        else
-        {
-            if (this->__engaged_)
-                this->reset();
-            else
-                __construct(_VSTD::forward<_That>(__opt).__get());
-        }
-    }
-};
-
-// optional<T&> is currently required ill-formed, however it may to be in the
-// future. For this reason it has already been implemented to ensure we can
-// make the change in an ABI compatible manner.
-template <class _Tp>
-struct __optional_storage_base<_Tp, true>
-{
-    using value_type = _Tp;
-    using __raw_type = remove_reference_t<_Tp>;
-    __raw_type* __value_;
-
-    template <class _Up>
-    static constexpr bool __can_bind_reference() {
-        using _RawUp = typename remove_reference<_Up>::type;
-        using _UpPtr = _RawUp*;
-        using _RawTp = typename remove_reference<_Tp>::type;
-        using _TpPtr = _RawTp*;
-        using _CheckLValueArg = integral_constant<bool,
-            (is_lvalue_reference<_Up>::value && is_convertible<_UpPtr, _TpPtr>::value)
-        ||  is_same<_RawUp, reference_wrapper<_RawTp>>::value
-        ||  is_same<_RawUp, reference_wrapper<typename remove_const<_RawTp>::type>>::value
-        >;
-        return (is_lvalue_reference<_Tp>::value && _CheckLValueArg::value)
-            || (is_rvalue_reference<_Tp>::value && !is_lvalue_reference<_Up>::value &&
-                is_convertible<_UpPtr, _TpPtr>::value);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr __optional_storage_base() noexcept
-        :  __value_(nullptr) {}
-
-    template <class _UArg>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr explicit __optional_storage_base(in_place_t, _UArg&& __uarg)
-        :  __value_(_VSTD::addressof(__uarg))
-    {
-      static_assert(__can_bind_reference<_UArg>(),
-        "Attempted to construct a reference element in tuple from a "
-        "possible temporary");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void reset() noexcept { __value_ = nullptr; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr bool has_value() const noexcept
-      { return __value_ != nullptr; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr value_type& __get() const& noexcept
-      { return *__value_; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr value_type&& __get() const&& noexcept
-      { return _VSTD::forward<value_type>(*__value_); }
-
-    template <class _UArg>
-    _LIBCPP_INLINE_VISIBILITY
-    void __construct(_UArg&& __val)
-    {
-        _LIBCPP_ASSERT(!has_value(), "__construct called for engaged __optional_storage");
-        static_assert(__can_bind_reference<_UArg>(),
-            "Attempted to construct a reference element in tuple from a "
-            "possible temporary");
-        __value_ = _VSTD::addressof(__val);
-    }
-
-    template <class _That>
-    _LIBCPP_INLINE_VISIBILITY
-    void __construct_from(_That&& __opt)
-    {
-        if (__opt.has_value())
-            __construct(_VSTD::forward<_That>(__opt).__get());
-    }
-
-    template <class _That>
-    _LIBCPP_INLINE_VISIBILITY
-    void __assign_from(_That&& __opt)
-    {
-        if (has_value() == __opt.has_value())
-        {
-            if (has_value())
-                *__value_ = _VSTD::forward<_That>(__opt).__get();
-        }
-        else
-        {
-            if (has_value())
-                reset();
-            else
-                __construct(_VSTD::forward<_That>(__opt).__get());
-        }
-    }
-};
-
-template <class _Tp, bool = is_trivially_copy_constructible<_Tp>::value>
-struct __optional_copy_base : __optional_storage_base<_Tp>
-{
-    using __optional_storage_base<_Tp>::__optional_storage_base;
-};
-
-template <class _Tp>
-struct __optional_copy_base<_Tp, false> : __optional_storage_base<_Tp>
-{
-    using __optional_storage_base<_Tp>::__optional_storage_base;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_base() = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_base(const __optional_copy_base& __opt)
-    {
-        this->__construct_from(__opt);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_base(__optional_copy_base&&) = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_base& operator=(const __optional_copy_base&) = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_base& operator=(__optional_copy_base&&) = default;
-};
-
-template <class _Tp, bool = is_trivially_move_constructible<_Tp>::value>
-struct __optional_move_base : __optional_copy_base<_Tp>
-{
-    using __optional_copy_base<_Tp>::__optional_copy_base;
-};
-
-template <class _Tp>
-struct __optional_move_base<_Tp, false> : __optional_copy_base<_Tp>
-{
-    using value_type = _Tp;
-    using __optional_copy_base<_Tp>::__optional_copy_base;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_base() = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_base(const __optional_move_base&) = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_base(__optional_move_base&& __opt)
-        noexcept(is_nothrow_move_constructible_v<value_type>)
-    {
-        this->__construct_from(_VSTD::move(__opt));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_base& operator=(const __optional_move_base&) = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_base& operator=(__optional_move_base&&) = default;
-};
-
-template <class _Tp, bool =
-    is_trivially_destructible<_Tp>::value &&
-    is_trivially_copy_constructible<_Tp>::value &&
-    is_trivially_copy_assignable<_Tp>::value>
-struct __optional_copy_assign_base : __optional_move_base<_Tp>
-{
-    using __optional_move_base<_Tp>::__optional_move_base;
-};
-
-template <class _Tp>
-struct __optional_copy_assign_base<_Tp, false> : __optional_move_base<_Tp>
-{
-    using __optional_move_base<_Tp>::__optional_move_base;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_assign_base() = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_assign_base(const __optional_copy_assign_base&) = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_assign_base(__optional_copy_assign_base&&) = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_assign_base& operator=(const __optional_copy_assign_base& __opt)
-    {
-        this->__assign_from(__opt);
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_copy_assign_base& operator=(__optional_copy_assign_base&&) = default;
-};
-
-template <class _Tp, bool =
-    is_trivially_destructible<_Tp>::value &&
-    is_trivially_move_constructible<_Tp>::value &&
-    is_trivially_move_assignable<_Tp>::value>
-struct __optional_move_assign_base : __optional_copy_assign_base<_Tp>
-{
-    using __optional_copy_assign_base<_Tp>::__optional_copy_assign_base;
-};
-
-template <class _Tp>
-struct __optional_move_assign_base<_Tp, false> : __optional_copy_assign_base<_Tp>
-{
-    using value_type = _Tp;
-    using __optional_copy_assign_base<_Tp>::__optional_copy_assign_base;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_assign_base() = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_assign_base(const __optional_move_assign_base& __opt) = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_assign_base(__optional_move_assign_base&&) = default;
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_assign_base& operator=(const __optional_move_assign_base&) = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __optional_move_assign_base& operator=(__optional_move_assign_base&& __opt)
-        noexcept(is_nothrow_move_assignable_v<value_type> &&
-                 is_nothrow_move_constructible_v<value_type>)
-    {
-        this->__assign_from(_VSTD::move(__opt));
-        return *this;
-    }
-};
-
-template <class _Tp>
-using __optional_sfinae_ctor_base_t = __sfinae_ctor_base<
-    is_copy_constructible<_Tp>::value,
-    is_move_constructible<_Tp>::value
->;
-
-template <class _Tp>
-using __optional_sfinae_assign_base_t = __sfinae_assign_base<
-    (is_copy_constructible<_Tp>::value && is_copy_assignable<_Tp>::value),
-    (is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value)
->;
-
-template <class _Tp>
-class optional
-    : private __optional_move_assign_base<_Tp>
-    , private __optional_sfinae_ctor_base_t<_Tp>
-    , private __optional_sfinae_assign_base_t<_Tp>
-{
-    using __base = __optional_move_assign_base<_Tp>;
-public:
-    using value_type = _Tp;
-
-private:
-     // Disable the reference extension using this static assert.
-    static_assert(!is_same_v<__uncvref_t<value_type>, in_place_t>,
-        "instantiation of optional with in_place_t is ill-formed");
-    static_assert(!is_same_v<__uncvref_t<value_type>, nullopt_t>,
-        "instantiation of optional with nullopt_t is ill-formed");
-    static_assert(!is_reference_v<value_type>,
-        "instantiation of optional with a reference type is ill-formed");
-    static_assert(is_destructible_v<value_type>,
-        "instantiation of optional with a non-destructible type is ill-formed");
-    static_assert(!is_array_v<value_type>,
-        "instantiation of optional with an array type is ill-formed");
-
-    // LWG2756: conditionally explicit conversion from _Up
-    struct _CheckOptionalArgsConstructor {
-      template <class _Up>
-      static constexpr bool __enable_implicit() {
-          return is_constructible_v<_Tp, _Up&&> &&
-                 is_convertible_v<_Up&&, _Tp>;
-      }
-
-      template <class _Up>
-      static constexpr bool __enable_explicit() {
-          return is_constructible_v<_Tp, _Up&&> &&
-                 !is_convertible_v<_Up&&, _Tp>;
-      }
-    };
-    template <class _Up>
-    using _CheckOptionalArgsCtor = _If<
-        _IsNotSame<__uncvref_t<_Up>, in_place_t>::value &&
-        _IsNotSame<__uncvref_t<_Up>, optional>::value,
-        _CheckOptionalArgsConstructor,
-        __check_tuple_constructor_fail
-    >;
-    template <class _QualUp>
-    struct _CheckOptionalLikeConstructor {
-      template <class _Up, class _Opt = optional<_Up>>
-      using __check_constructible_from_opt = _Or<
-          is_constructible<_Tp, _Opt&>,
-          is_constructible<_Tp, _Opt const&>,
-          is_constructible<_Tp, _Opt&&>,
-          is_constructible<_Tp, _Opt const&&>,
-          is_convertible<_Opt&, _Tp>,
-          is_convertible<_Opt const&, _Tp>,
-          is_convertible<_Opt&&, _Tp>,
-          is_convertible<_Opt const&&, _Tp>
-      >;
-      template <class _Up, class _Opt = optional<_Up>>
-      using __check_assignable_from_opt = _Or<
-          is_assignable<_Tp&, _Opt&>,
-          is_assignable<_Tp&, _Opt const&>,
-          is_assignable<_Tp&, _Opt&&>,
-          is_assignable<_Tp&, _Opt const&&>
-      >;
-      template <class _Up, class _QUp = _QualUp>
-      static constexpr bool __enable_implicit() {
-          return is_convertible<_QUp, _Tp>::value &&
-              !__check_constructible_from_opt<_Up>::value;
-      }
-      template <class _Up, class _QUp = _QualUp>
-      static constexpr bool __enable_explicit() {
-          return !is_convertible<_QUp, _Tp>::value &&
-              !__check_constructible_from_opt<_Up>::value;
-      }
-      template <class _Up, class _QUp = _QualUp>
-      static constexpr bool __enable_assign() {
-          // Construction and assignability of _Qup to _Tp has already been
-          // checked.
-          return !__check_constructible_from_opt<_Up>::value &&
-              !__check_assignable_from_opt<_Up>::value;
-      }
-    };
-
-    template <class _Up, class _QualUp>
-    using _CheckOptionalLikeCtor = _If<
-      _And<
-         _IsNotSame<_Up, _Tp>,
-          is_constructible<_Tp, _QualUp>
-      >::value,
-      _CheckOptionalLikeConstructor<_QualUp>,
-      __check_tuple_constructor_fail
-    >;
-    template <class _Up, class _QualUp>
-    using _CheckOptionalLikeAssign = _If<
-      _And<
-          _IsNotSame<_Up, _Tp>,
-          is_constructible<_Tp, _QualUp>,
-          is_assignable<_Tp&, _QualUp>
-      >::value,
-      _CheckOptionalLikeConstructor<_QualUp>,
-      __check_tuple_constructor_fail
-    >;
-public:
-
-    _LIBCPP_INLINE_VISIBILITY constexpr optional() noexcept {}
-    _LIBCPP_INLINE_VISIBILITY constexpr optional(const optional&) = default;
-    _LIBCPP_INLINE_VISIBILITY constexpr optional(optional&&) = default;
-    _LIBCPP_INLINE_VISIBILITY constexpr optional(nullopt_t) noexcept {}
-
-    template <class _InPlaceT, class... _Args, class = _EnableIf<
-          _And<
-              _IsSame<_InPlaceT, in_place_t>,
-              is_constructible<value_type, _Args...>
-            >::value
-        >
-    >
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr explicit optional(_InPlaceT, _Args&&... __args)
-        : __base(in_place, _VSTD::forward<_Args>(__args)...) {}
-
-    template <class _Up, class... _Args, class = _EnableIf<
-        is_constructible_v<value_type, initializer_list<_Up>&, _Args...>>
-    >
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr explicit optional(in_place_t, initializer_list<_Up> __il, _Args&&... __args)
-        : __base(in_place, __il, _VSTD::forward<_Args>(__args)...) {}
-
-    template <class _Up = value_type, _EnableIf<
-        _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>()
-    , int> = 0>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr optional(_Up&& __v)
-        : __base(in_place, _VSTD::forward<_Up>(__v)) {}
-
-    template <class _Up, _EnableIf<
-        _CheckOptionalArgsCtor<_Up>::template __enable_explicit<_Up>()
-    , int> = 0>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr explicit optional(_Up&& __v)
-        : __base(in_place, _VSTD::forward<_Up>(__v)) {}
-
-    // LWG2756: conditionally explicit conversion from const optional<_Up>&
-    template <class _Up, _EnableIf<
-        _CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_implicit<_Up>()
-    , int> = 0>
-    _LIBCPP_INLINE_VISIBILITY
-    optional(const optional<_Up>& __v)
-    {
-        this->__construct_from(__v);
-    }
-    template <class _Up, _EnableIf<
-        _CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_explicit<_Up>()
-    , int> = 0>
-    _LIBCPP_INLINE_VISIBILITY
-    explicit optional(const optional<_Up>& __v)
-    {
-        this->__construct_from(__v);
-    }
-
-    // LWG2756: conditionally explicit conversion from optional<_Up>&&
-    template <class _Up, _EnableIf<
-        _CheckOptionalLikeCtor<_Up, _Up &&>::template __enable_implicit<_Up>()
-    , int> = 0>
-    _LIBCPP_INLINE_VISIBILITY
-    optional(optional<_Up>&& __v)
-    {
-        this->__construct_from(_VSTD::move(__v));
-    }
-    template <class _Up, _EnableIf<
-        _CheckOptionalLikeCtor<_Up, _Up &&>::template __enable_explicit<_Up>()
-    , int> = 0>
-    _LIBCPP_INLINE_VISIBILITY
-    explicit optional(optional<_Up>&& __v)
-    {
-        this->__construct_from(_VSTD::move(__v));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    optional& operator=(nullopt_t) noexcept
-    {
-        reset();
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY optional& operator=(const optional&) = default;
-    _LIBCPP_INLINE_VISIBILITY optional& operator=(optional&&) = default;
-
-    // LWG2756
-    template <class _Up = value_type,
-              class = _EnableIf<
-                      _And<
-                          _IsNotSame<__uncvref_t<_Up>, optional>,
-                          _Or<
-                              _IsNotSame<__uncvref_t<_Up>, value_type>,
-                              _Not<is_scalar<value_type>>
-                          >,
-                          is_constructible<value_type, _Up>,
-                          is_assignable<value_type&, _Up>
-                      >::value>
-             >
-    _LIBCPP_INLINE_VISIBILITY
-    optional&
-    operator=(_Up&& __v)
-    {
-        if (this->has_value())
-            this->__get() = _VSTD::forward<_Up>(__v);
-        else
-            this->__construct(_VSTD::forward<_Up>(__v));
-        return *this;
-    }
-
-    // LWG2756
-    template <class _Up, _EnableIf<
-        _CheckOptionalLikeAssign<_Up, _Up const&>::template __enable_assign<_Up>()
-    , int> = 0>
-    _LIBCPP_INLINE_VISIBILITY
-    optional&
-    operator=(const optional<_Up>& __v)
-    {
-        this->__assign_from(__v);
-        return *this;
-    }
-
-    // LWG2756
-    template <class _Up, _EnableIf<
-        _CheckOptionalLikeCtor<_Up, _Up &&>::template __enable_assign<_Up>()
-    , int> = 0>
-    _LIBCPP_INLINE_VISIBILITY
-    optional&
-    operator=(optional<_Up>&& __v)
-    {
-        this->__assign_from(_VSTD::move(__v));
-        return *this;
-    }
-
-    template <class... _Args,
-              class = _EnableIf
-                      <
-                          is_constructible_v<value_type, _Args...>
-                      >
-             >
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp &
-    emplace(_Args&&... __args)
-    {
-        reset();
-        this->__construct(_VSTD::forward<_Args>(__args)...);
-        return this->__get();
-    }
-
-    template <class _Up, class... _Args,
-              class = _EnableIf
-                      <
-                          is_constructible_v<value_type, initializer_list<_Up>&, _Args...>
-                      >
-             >
-    _LIBCPP_INLINE_VISIBILITY
-    _Tp &
-    emplace(initializer_list<_Up> __il, _Args&&... __args)
-    {
-        reset();
-        this->__construct(__il, _VSTD::forward<_Args>(__args)...);
-        return this->__get();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(optional& __opt)
-        noexcept(is_nothrow_move_constructible_v<value_type> &&
-                 is_nothrow_swappable_v<value_type>)
-    {
-        if (this->has_value() == __opt.has_value())
-        {
-            using _VSTD::swap;
-            if (this->has_value())
-                swap(this->__get(), __opt.__get());
-        }
-        else
-        {
-            if (this->has_value())
-            {
-                __opt.__construct(_VSTD::move(this->__get()));
-                reset();
-            }
-            else
-            {
-                this->__construct(_VSTD::move(__opt.__get()));
-                __opt.reset();
-            }
-        }
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr
-    add_pointer_t<value_type const>
-    operator->() const
-    {
-        _LIBCPP_ASSERT(this->has_value(), "optional operator-> called for disengaged value");
-#ifndef _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF
-        return _VSTD::addressof(this->__get());
-#else
-        return __operator_arrow(__has_operator_addressof<value_type>{}, this->__get());
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr
-    add_pointer_t<value_type>
-    operator->()
-    {
-        _LIBCPP_ASSERT(this->has_value(), "optional operator-> called for disengaged value");
-#ifndef _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF
-        return _VSTD::addressof(this->__get());
-#else
-        return __operator_arrow(__has_operator_addressof<value_type>{}, this->__get());
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr
-    const value_type&
-    operator*() const&
-    {
-        _LIBCPP_ASSERT(this->has_value(), "optional operator* called for disengaged value");
-        return this->__get();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr
-    value_type&
-    operator*() &
-    {
-        _LIBCPP_ASSERT(this->has_value(), "optional operator* called for disengaged value");
-        return this->__get();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr
-    value_type&&
-    operator*() &&
-    {
-        _LIBCPP_ASSERT(this->has_value(), "optional operator* called for disengaged value");
-        return _VSTD::move(this->__get());
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr
-    const value_type&&
-    operator*() const&&
-    {
-        _LIBCPP_ASSERT(this->has_value(), "optional operator* called for disengaged value");
-        return _VSTD::move(this->__get());
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr explicit operator bool() const noexcept { return has_value(); }
-
-    using __base::has_value;
-    using __base::__get;
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
-    constexpr value_type const& value() const&
-    {
-        if (!this->has_value())
-            __throw_bad_optional_access();
-        return this->__get();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
-    constexpr value_type& value() &
-    {
-        if (!this->has_value())
-            __throw_bad_optional_access();
-        return this->__get();
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
-    constexpr value_type&& value() &&
-    {
-        if (!this->has_value())
-            __throw_bad_optional_access();
-        return _VSTD::move(this->__get());
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
-    constexpr value_type const&& value() const&&
-    {
-        if (!this->has_value())
-            __throw_bad_optional_access();
-        return _VSTD::move(this->__get());
-    }
-
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr value_type value_or(_Up&& __v) const&
-    {
-        static_assert(is_copy_constructible_v<value_type>,
-                      "optional<T>::value_or: T must be copy constructible");
-        static_assert(is_convertible_v<_Up, value_type>,
-                      "optional<T>::value_or: U must be convertible to T");
-        return this->has_value() ? this->__get() :
-                                  static_cast<value_type>(_VSTD::forward<_Up>(__v));
-    }
-
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    constexpr value_type value_or(_Up&& __v) &&
-    {
-        static_assert(is_move_constructible_v<value_type>,
-                      "optional<T>::value_or: T must be move constructible");
-        static_assert(is_convertible_v<_Up, value_type>,
-                      "optional<T>::value_or: U must be convertible to T");
-        return this->has_value() ? _VSTD::move(this->__get()) :
-                                  static_cast<value_type>(_VSTD::forward<_Up>(__v));
-    }
-
-    using __base::reset;
-
-private:
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    static _Up*
-    __operator_arrow(true_type, _Up& __x)
-    {
-        return _VSTD::addressof(__x);
-    }
-
-    template <class _Up>
-    _LIBCPP_INLINE_VISIBILITY
-    static constexpr _Up*
-    __operator_arrow(false_type, _Up& __x)
-    {
-        return &__x;
-    }
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class T>
-    optional(T) -> optional<T>;
-#endif
-
-// Comparisons between optionals
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() ==
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator==(const optional<_Tp>& __x, const optional<_Up>& __y)
-{
-    if (static_cast<bool>(__x) != static_cast<bool>(__y))
-        return false;
-    if (!static_cast<bool>(__x))
-        return true;
-    return *__x == *__y;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() !=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator!=(const optional<_Tp>& __x, const optional<_Up>& __y)
-{
-    if (static_cast<bool>(__x) != static_cast<bool>(__y))
-        return true;
-    if (!static_cast<bool>(__x))
-        return false;
-    return *__x != *__y;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() <
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator<(const optional<_Tp>& __x, const optional<_Up>& __y)
-{
-    if (!static_cast<bool>(__y))
-        return false;
-    if (!static_cast<bool>(__x))
-        return true;
-    return *__x < *__y;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() >
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator>(const optional<_Tp>& __x, const optional<_Up>& __y)
-{
-    if (!static_cast<bool>(__x))
-        return false;
-    if (!static_cast<bool>(__y))
-        return true;
-    return *__x > *__y;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() <=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator<=(const optional<_Tp>& __x, const optional<_Up>& __y)
-{
-    if (!static_cast<bool>(__x))
-        return true;
-    if (!static_cast<bool>(__y))
-        return false;
-    return *__x <= *__y;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() >=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator>=(const optional<_Tp>& __x, const optional<_Up>& __y)
-{
-    if (!static_cast<bool>(__y))
-        return true;
-    if (!static_cast<bool>(__x))
-        return false;
-    return *__x >= *__y;
-}
-
-// Comparisons with nullopt
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator==(const optional<_Tp>& __x, nullopt_t) noexcept
-{
-    return !static_cast<bool>(__x);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator==(nullopt_t, const optional<_Tp>& __x) noexcept
-{
-    return !static_cast<bool>(__x);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator!=(const optional<_Tp>& __x, nullopt_t) noexcept
-{
-    return static_cast<bool>(__x);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator!=(nullopt_t, const optional<_Tp>& __x) noexcept
-{
-    return static_cast<bool>(__x);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator<(const optional<_Tp>&, nullopt_t) noexcept
-{
-    return false;
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator<(nullopt_t, const optional<_Tp>& __x) noexcept
-{
-    return static_cast<bool>(__x);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator<=(const optional<_Tp>& __x, nullopt_t) noexcept
-{
-    return !static_cast<bool>(__x);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator<=(nullopt_t, const optional<_Tp>&) noexcept
-{
-    return true;
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator>(const optional<_Tp>& __x, nullopt_t) noexcept
-{
-    return static_cast<bool>(__x);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator>(nullopt_t, const optional<_Tp>&) noexcept
-{
-    return false;
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator>=(const optional<_Tp>&, nullopt_t) noexcept
-{
-    return true;
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-bool
-operator>=(nullopt_t, const optional<_Tp>& __x) noexcept
-{
-    return !static_cast<bool>(__x);
-}
-
-// Comparisons with T
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() ==
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator==(const optional<_Tp>& __x, const _Up& __v)
-{
-    return static_cast<bool>(__x) ? *__x == __v : false;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() ==
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator==(const _Tp& __v, const optional<_Up>& __x)
-{
-    return static_cast<bool>(__x) ? __v == *__x : false;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() !=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator!=(const optional<_Tp>& __x, const _Up& __v)
-{
-    return static_cast<bool>(__x) ? *__x != __v : true;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() !=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator!=(const _Tp& __v, const optional<_Up>& __x)
-{
-    return static_cast<bool>(__x) ? __v != *__x : true;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() <
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator<(const optional<_Tp>& __x, const _Up& __v)
-{
-    return static_cast<bool>(__x) ? *__x < __v : true;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() <
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator<(const _Tp& __v, const optional<_Up>& __x)
-{
-    return static_cast<bool>(__x) ? __v < *__x : false;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() <=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator<=(const optional<_Tp>& __x, const _Up& __v)
-{
-    return static_cast<bool>(__x) ? *__x <= __v : true;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() <=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator<=(const _Tp& __v, const optional<_Up>& __x)
-{
-    return static_cast<bool>(__x) ? __v <= *__x : false;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() >
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator>(const optional<_Tp>& __x, const _Up& __v)
-{
-    return static_cast<bool>(__x) ? *__x > __v : false;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() >
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator>(const _Tp& __v, const optional<_Up>& __x)
-{
-    return static_cast<bool>(__x) ? __v > *__x : true;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() >=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator>=(const optional<_Tp>& __x, const _Up& __v)
-{
-    return static_cast<bool>(__x) ? *__x >= __v : false;
-}
-
-template <class _Tp, class _Up>
-_LIBCPP_INLINE_VISIBILITY constexpr
-_EnableIf<
-    is_convertible_v<decltype(_VSTD::declval<const _Tp&>() >=
-        _VSTD::declval<const _Up&>()), bool>,
-    bool
->
-operator>=(const _Tp& __v, const optional<_Up>& __x)
-{
-    return static_cast<bool>(__x) ? __v >= *__x : true;
-}
-
-
-template <class _Tp>
-inline _LIBCPP_INLINE_VISIBILITY
-_EnableIf<
-    is_move_constructible_v<_Tp> && is_swappable_v<_Tp>,
-    void
->
-swap(optional<_Tp>& __x, optional<_Tp>& __y) noexcept(noexcept(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-template <class _Tp>
-_LIBCPP_INLINE_VISIBILITY constexpr
-optional<decay_t<_Tp>> make_optional(_Tp&& __v)
-{
-    return optional<decay_t<_Tp>>(_VSTD::forward<_Tp>(__v));
-}
-
-template <class _Tp, class... _Args>
-_LIBCPP_INLINE_VISIBILITY constexpr
-optional<_Tp> make_optional(_Args&&... __args)
-{
-    return optional<_Tp>(in_place, _VSTD::forward<_Args>(__args)...);
-}
-
-template <class _Tp, class _Up, class... _Args>
-_LIBCPP_INLINE_VISIBILITY constexpr
-optional<_Tp> make_optional(initializer_list<_Up> __il,  _Args&&... __args)
-{
-    return optional<_Tp>(in_place, __il, _VSTD::forward<_Args>(__args)...);
-}
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS hash<
-    __enable_hash_helper<optional<_Tp>, remove_const_t<_Tp>>
->
-{
-    typedef optional<_Tp> argument_type;
-    typedef size_t        result_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    result_type operator()(const argument_type& __opt) const
-    {
-        return static_cast<bool>(__opt) ? hash<remove_const_t<_Tp>>()(*__opt) : 0;
-    }
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_STD_VER > 14
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_OPTIONAL
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/ratio b/r23/sources/cxx-stl/llvm-libc++/include/ratio
deleted file mode 100644
index fa7a4bb..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/ratio
+++ /dev/null
@@ -1,532 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- ratio -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_RATIO
-#define _LIBCPP_RATIO
-
-/*
-    ratio synopsis
-
-namespace std
-{
-
-template <intmax_t N, intmax_t D = 1>
-class ratio
-{
-public:
-    static constexpr intmax_t num;
-    static constexpr intmax_t den;
-    typedef ratio<num, den> type;
-};
-
-// ratio arithmetic
-template <class R1, class R2> using ratio_add = ...;
-template <class R1, class R2> using ratio_subtract = ...;
-template <class R1, class R2> using ratio_multiply = ...;
-template <class R1, class R2> using ratio_divide = ...;
-
-// ratio comparison
-template <class R1, class R2> struct ratio_equal;
-template <class R1, class R2> struct ratio_not_equal;
-template <class R1, class R2> struct ratio_less;
-template <class R1, class R2> struct ratio_less_equal;
-template <class R1, class R2> struct ratio_greater;
-template <class R1, class R2> struct ratio_greater_equal;
-
-// convenience SI typedefs
-typedef ratio<1, 1000000000000000000000000> yocto;  // not supported
-typedef ratio<1,    1000000000000000000000> zepto;  // not supported
-typedef ratio<1,       1000000000000000000> atto;
-typedef ratio<1,          1000000000000000> femto;
-typedef ratio<1,             1000000000000> pico;
-typedef ratio<1,                1000000000> nano;
-typedef ratio<1,                   1000000> micro;
-typedef ratio<1,                      1000> milli;
-typedef ratio<1,                       100> centi;
-typedef ratio<1,                        10> deci;
-typedef ratio<                       10, 1> deca;
-typedef ratio<                      100, 1> hecto;
-typedef ratio<                     1000, 1> kilo;
-typedef ratio<                  1000000, 1> mega;
-typedef ratio<               1000000000, 1> giga;
-typedef ratio<            1000000000000, 1> tera;
-typedef ratio<         1000000000000000, 1> peta;
-typedef ratio<      1000000000000000000, 1> exa;
-typedef ratio<   1000000000000000000000, 1> zetta;  // not supported
-typedef ratio<1000000000000000000000000, 1> yotta;  // not supported
-
-  // 20.11.5, ratio comparison
-  template <class R1, class R2> inline constexpr bool ratio_equal_v
-    = ratio_equal<R1, R2>::value;                                       // C++17
-  template <class R1, class R2> inline constexpr bool ratio_not_equal_v
-    = ratio_not_equal<R1, R2>::value;                                   // C++17
-  template <class R1, class R2> inline constexpr bool ratio_less_v
-    = ratio_less<R1, R2>::value;                                        // C++17
-  template <class R1, class R2> inline constexpr bool ratio_less_equal_v
-    = ratio_less_equal<R1, R2>::value;                                  // C++17
-  template <class R1, class R2> inline constexpr bool ratio_greater_v
-    = ratio_greater<R1, R2>::value;                                     // C++17
-  template <class R1, class R2> inline constexpr bool ratio_greater_equal_v
-    = ratio_greater_equal<R1, R2>::value;                               // C++17
-}
-*/
-
-#include <__config>
-#include <cstdint>
-#include <climits>
-#include <type_traits>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// __static_gcd
-
-template <intmax_t _Xp, intmax_t _Yp>
-struct __static_gcd
-{
-    static const intmax_t value = __static_gcd<_Yp, _Xp % _Yp>::value;
-};
-
-template <intmax_t _Xp>
-struct __static_gcd<_Xp, 0>
-{
-    static const intmax_t value = _Xp;
-};
-
-template <>
-struct __static_gcd<0, 0>
-{
-    static const intmax_t value = 1;
-};
-
-// __static_lcm
-
-template <intmax_t _Xp, intmax_t _Yp>
-struct __static_lcm
-{
-    static const intmax_t value = _Xp / __static_gcd<_Xp, _Yp>::value * _Yp;
-};
-
-template <intmax_t _Xp>
-struct __static_abs
-{
-    static const intmax_t value = _Xp < 0 ? -_Xp : _Xp;
-};
-
-template <intmax_t _Xp>
-struct __static_sign
-{
-    static const intmax_t value = _Xp == 0 ? 0 : (_Xp < 0 ? -1 : 1);
-};
-
-template <intmax_t _Xp, intmax_t _Yp, intmax_t = __static_sign<_Yp>::value>
-class __ll_add;
-
-template <intmax_t _Xp, intmax_t _Yp>
-class __ll_add<_Xp, _Yp, 1>
-{
-    static const intmax_t min = (1LL << (sizeof(intmax_t) * CHAR_BIT - 1)) + 1;
-    static const intmax_t max = -min;
-
-    static_assert(_Xp <= max - _Yp, "overflow in __ll_add");
-public:
-    static const intmax_t value = _Xp + _Yp;
-};
-
-template <intmax_t _Xp, intmax_t _Yp>
-class __ll_add<_Xp, _Yp, 0>
-{
-public:
-    static const intmax_t value = _Xp;
-};
-
-template <intmax_t _Xp, intmax_t _Yp>
-class __ll_add<_Xp, _Yp, -1>
-{
-    static const intmax_t min = (1LL << (sizeof(intmax_t) * CHAR_BIT - 1)) + 1;
-    static const intmax_t max = -min;
-
-    static_assert(min - _Yp <= _Xp, "overflow in __ll_add");
-public:
-    static const intmax_t value = _Xp + _Yp;
-};
-
-template <intmax_t _Xp, intmax_t _Yp, intmax_t = __static_sign<_Yp>::value>
-class __ll_sub;
-
-template <intmax_t _Xp, intmax_t _Yp>
-class __ll_sub<_Xp, _Yp, 1>
-{
-    static const intmax_t min = (1LL << (sizeof(intmax_t) * CHAR_BIT - 1)) + 1;
-    static const intmax_t max = -min;
-
-    static_assert(min + _Yp <= _Xp, "overflow in __ll_sub");
-public:
-    static const intmax_t value = _Xp - _Yp;
-};
-
-template <intmax_t _Xp, intmax_t _Yp>
-class __ll_sub<_Xp, _Yp, 0>
-{
-public:
-    static const intmax_t value = _Xp;
-};
-
-template <intmax_t _Xp, intmax_t _Yp>
-class __ll_sub<_Xp, _Yp, -1>
-{
-    static const intmax_t min = (1LL << (sizeof(intmax_t) * CHAR_BIT - 1)) + 1;
-    static const intmax_t max = -min;
-
-    static_assert(_Xp <= max + _Yp, "overflow in __ll_sub");
-public:
-    static const intmax_t value = _Xp - _Yp;
-};
-
-template <intmax_t _Xp, intmax_t _Yp>
-class __ll_mul
-{
-    static const intmax_t nan = (1LL << (sizeof(intmax_t) * CHAR_BIT - 1));
-    static const intmax_t min = nan + 1;
-    static const intmax_t max = -min;
-    static const intmax_t __a_x = __static_abs<_Xp>::value;
-    static const intmax_t __a_y = __static_abs<_Yp>::value;
-
-    static_assert(_Xp != nan && _Yp != nan && __a_x <= max / __a_y, "overflow in __ll_mul");
-public:
-    static const intmax_t value = _Xp * _Yp;
-};
-
-template <intmax_t _Yp>
-class __ll_mul<0, _Yp>
-{
-public:
-    static const intmax_t value = 0;
-};
-
-template <intmax_t _Xp>
-class __ll_mul<_Xp, 0>
-{
-public:
-    static const intmax_t value = 0;
-};
-
-template <>
-class __ll_mul<0, 0>
-{
-public:
-    static const intmax_t value = 0;
-};
-
-// Not actually used but left here in case needed in future maintenance
-template <intmax_t _Xp, intmax_t _Yp>
-class __ll_div
-{
-    static const intmax_t nan = (1LL << (sizeof(intmax_t) * CHAR_BIT - 1));
-    static const intmax_t min = nan + 1;
-    static const intmax_t max = -min;
-
-    static_assert(_Xp != nan && _Yp != nan && _Yp != 0, "overflow in __ll_div");
-public:
-    static const intmax_t value = _Xp / _Yp;
-};
-
-template <intmax_t _Num, intmax_t _Den = 1>
-class _LIBCPP_TEMPLATE_VIS ratio
-{
-    static_assert(__static_abs<_Num>::value >= 0, "ratio numerator is out of range");
-    static_assert(_Den != 0, "ratio divide by 0");
-    static_assert(__static_abs<_Den>::value >  0, "ratio denominator is out of range");
-    static _LIBCPP_CONSTEXPR const intmax_t __na = __static_abs<_Num>::value;
-    static _LIBCPP_CONSTEXPR const intmax_t __da = __static_abs<_Den>::value;
-    static _LIBCPP_CONSTEXPR const intmax_t __s = __static_sign<_Num>::value * __static_sign<_Den>::value;
-    static _LIBCPP_CONSTEXPR const intmax_t __gcd = __static_gcd<__na, __da>::value;
-public:
-    static _LIBCPP_CONSTEXPR const intmax_t num = __s * __na / __gcd;
-    static _LIBCPP_CONSTEXPR const intmax_t den = __da / __gcd;
-
-    typedef ratio<num, den> type;
-};
-
-template <intmax_t _Num, intmax_t _Den>
-_LIBCPP_CONSTEXPR const intmax_t ratio<_Num, _Den>::num;
-
-template <intmax_t _Num, intmax_t _Den>
-_LIBCPP_CONSTEXPR const intmax_t ratio<_Num, _Den>::den;
-
-template <class _Tp>                    struct __is_ratio                     : false_type {};
-template <intmax_t _Num, intmax_t _Den> struct __is_ratio<ratio<_Num, _Den> > : true_type  {};
-
-typedef ratio<1LL, 1000000000000000000LL> atto;
-typedef ratio<1LL,    1000000000000000LL> femto;
-typedef ratio<1LL,       1000000000000LL> pico;
-typedef ratio<1LL,          1000000000LL> nano;
-typedef ratio<1LL,             1000000LL> micro;
-typedef ratio<1LL,                1000LL> milli;
-typedef ratio<1LL,                 100LL> centi;
-typedef ratio<1LL,                  10LL> deci;
-typedef ratio<                 10LL, 1LL> deca;
-typedef ratio<                100LL, 1LL> hecto;
-typedef ratio<               1000LL, 1LL> kilo;
-typedef ratio<            1000000LL, 1LL> mega;
-typedef ratio<         1000000000LL, 1LL> giga;
-typedef ratio<      1000000000000LL, 1LL> tera;
-typedef ratio<   1000000000000000LL, 1LL> peta;
-typedef ratio<1000000000000000000LL, 1LL> exa;
-
-template <class _R1, class _R2>
-struct __ratio_multiply
-{
-private:
-    static const intmax_t __gcd_n1_d2 = __static_gcd<_R1::num, _R2::den>::value;
-    static const intmax_t __gcd_d1_n2 = __static_gcd<_R1::den, _R2::num>::value;
-public:
-    typedef typename ratio
-        <
-            __ll_mul<_R1::num / __gcd_n1_d2, _R2::num / __gcd_d1_n2>::value,
-            __ll_mul<_R2::den / __gcd_n1_d2, _R1::den / __gcd_d1_n2>::value
-        >::type type;
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2> using ratio_multiply
-                                    = typename __ratio_multiply<_R1, _R2>::type;
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_multiply
-    : public __ratio_multiply<_R1, _R2>::type {};
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2>
-struct __ratio_divide
-{
-private:
-    static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value;
-    static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value;
-public:
-    typedef typename ratio
-        <
-            __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value,
-            __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value
-        >::type type;
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2> using ratio_divide
-                                      = typename __ratio_divide<_R1, _R2>::type;
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_divide
-    : public __ratio_divide<_R1, _R2>::type {};
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2>
-struct __ratio_add
-{
-private:
-    static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value;
-    static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value;
-public:
-    typedef typename ratio_multiply
-        <
-            ratio<__gcd_n1_n2, _R1::den / __gcd_d1_d2>,
-            ratio
-            <
-                __ll_add
-                <
-                    __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value,
-                    __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value
-                >::value,
-                _R2::den
-            >
-        >::type type;
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2> using ratio_add
-                                         = typename __ratio_add<_R1, _R2>::type;
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_add
-    : public __ratio_add<_R1, _R2>::type {};
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2>
-struct __ratio_subtract
-{
-private:
-    static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value;
-    static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value;
-public:
-    typedef typename ratio_multiply
-        <
-            ratio<__gcd_n1_n2, _R1::den / __gcd_d1_d2>,
-            ratio
-            <
-                __ll_sub
-                <
-                    __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value,
-                    __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value
-                >::value,
-                _R2::den
-            >
-        >::type type;
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2> using ratio_subtract
-                                    = typename __ratio_subtract<_R1, _R2>::type;
-
-#else  // _LIBCPP_CXX03_LANG
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_subtract
-    : public __ratio_subtract<_R1, _R2>::type {};
-
-#endif  // _LIBCPP_CXX03_LANG
-
-// ratio_equal
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_equal
-    : public _LIBCPP_BOOL_CONSTANT((_R1::num == _R2::num && _R1::den == _R2::den)) {};
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_not_equal
-    : public _LIBCPP_BOOL_CONSTANT((!ratio_equal<_R1, _R2>::value)) {};
-
-// ratio_less
-
-template <class _R1, class _R2, bool _Odd = false,
-          intmax_t _Q1 = _R1::num / _R1::den, intmax_t _M1 = _R1::num % _R1::den,
-          intmax_t _Q2 = _R2::num / _R2::den, intmax_t _M2 = _R2::num % _R2::den>
-struct __ratio_less1
-{
-    static const bool value = _Odd ? _Q2 < _Q1 : _Q1 < _Q2;
-};
-
-template <class _R1, class _R2, bool _Odd, intmax_t _Qp>
-struct __ratio_less1<_R1, _R2, _Odd, _Qp, 0, _Qp, 0>
-{
-    static const bool value = false;
-};
-
-template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M2>
-struct __ratio_less1<_R1, _R2, _Odd, _Qp, 0, _Qp, _M2>
-{
-    static const bool value = !_Odd;
-};
-
-template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M1>
-struct __ratio_less1<_R1, _R2, _Odd, _Qp, _M1, _Qp, 0>
-{
-    static const bool value = _Odd;
-};
-
-template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M1,
-                                                        intmax_t _M2>
-struct __ratio_less1<_R1, _R2, _Odd, _Qp, _M1, _Qp, _M2>
-{
-    static const bool value = __ratio_less1<ratio<_R1::den, _M1>,
-                                            ratio<_R2::den, _M2>, !_Odd>::value;
-};
-
-template <class _R1, class _R2, intmax_t _S1 = __static_sign<_R1::num>::value,
-                                intmax_t _S2 = __static_sign<_R2::num>::value>
-struct __ratio_less
-{
-    static const bool value = _S1 < _S2;
-};
-
-template <class _R1, class _R2>
-struct __ratio_less<_R1, _R2, 1LL, 1LL>
-{
-    static const bool value = __ratio_less1<_R1, _R2>::value;
-};
-
-template <class _R1, class _R2>
-struct __ratio_less<_R1, _R2, -1LL, -1LL>
-{
-    static const bool value = __ratio_less1<ratio<-_R2::num, _R2::den>, ratio<-_R1::num, _R1::den> >::value;
-};
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_less
-    : public _LIBCPP_BOOL_CONSTANT((__ratio_less<_R1, _R2>::value)) {};
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_less_equal
-    : public _LIBCPP_BOOL_CONSTANT((!ratio_less<_R2, _R1>::value)) {};
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_greater
-    : public _LIBCPP_BOOL_CONSTANT((ratio_less<_R2, _R1>::value)) {};
-
-template <class _R1, class _R2>
-struct _LIBCPP_TEMPLATE_VIS ratio_greater_equal
-    : public _LIBCPP_BOOL_CONSTANT((!ratio_less<_R1, _R2>::value)) {};
-
-template <class _R1, class _R2>
-struct __ratio_gcd
-{
-    typedef ratio<__static_gcd<_R1::num, _R2::num>::value,
-                  __static_lcm<_R1::den, _R2::den>::value> type;
-};
-
-#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES)
-template <class _R1, class _R2>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_equal_v
-    = ratio_equal<_R1, _R2>::value;
-
-template <class _R1, class _R2>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_not_equal_v
-    = ratio_not_equal<_R1, _R2>::value;
-
-template <class _R1, class _R2>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_less_v
-    = ratio_less<_R1, _R2>::value;
-
-template <class _R1, class _R2>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_less_equal_v
-    = ratio_less_equal<_R1, _R2>::value;
-
-template <class _R1, class _R2>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_greater_v
-    = ratio_greater<_R1, _R2>::value;
-
-template <class _R1, class _R2>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_greater_equal_v
-    = ratio_greater_equal<_R1, _R2>::value;
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_RATIO
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/scoped_allocator b/r23/sources/cxx-stl/llvm-libc++/include/scoped_allocator
deleted file mode 100644
index 237cd42..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/scoped_allocator
+++ /dev/null
@@ -1,683 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- scoped_allocator --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SCOPED_ALLOCATOR
-#define _LIBCPP_SCOPED_ALLOCATOR
-
-/*
-    scoped_allocator synopsis
-
-namespace std
-{
-
-template <class OuterAlloc, class... InnerAllocs>
-class scoped_allocator_adaptor : public OuterAlloc
-{
-    typedef allocator_traits<OuterAlloc> OuterTraits; // exposition only
-    scoped_allocator_adaptor<InnerAllocs...> inner;   // exposition only
-public:
-
-    typedef OuterAlloc outer_allocator_type;
-    typedef see below inner_allocator_type;
-
-    typedef typename OuterTraits::value_type value_type;
-    typedef typename OuterTraits::size_type size_type;
-    typedef typename OuterTraits::difference_type difference_type;
-    typedef typename OuterTraits::pointer pointer;
-    typedef typename OuterTraits::const_pointer const_pointer;
-    typedef typename OuterTraits::void_pointer void_pointer;
-    typedef typename OuterTraits::const_void_pointer const_void_pointer;
-
-    typedef see below propagate_on_container_copy_assignment;
-    typedef see below propagate_on_container_move_assignment;
-    typedef see below propagate_on_container_swap;
-    typedef see below is_always_equal;
-
-    template <class Tp>
-        struct rebind
-        {
-            typedef scoped_allocator_adaptor<
-                OuterTraits::template rebind_alloc<Tp>, InnerAllocs...> other;
-        };
-
-    scoped_allocator_adaptor();
-    template <class OuterA2>
-        scoped_allocator_adaptor(OuterA2&& outerAlloc,
-                                 const InnerAllocs&... innerAllocs) noexcept;
-    scoped_allocator_adaptor(const scoped_allocator_adaptor& other) noexcept;
-    scoped_allocator_adaptor(scoped_allocator_adaptor&& other) noexcept;
-    template <class OuterA2>
-        scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& other) noexcept;
-    template <class OuterA2>
-        scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2, InnerAllocs...>&& other) noexcept;
-
-    scoped_allocator_adaptor& operator=(const scoped_allocator_adaptor&) = default;
-    scoped_allocator_adaptor& operator=(scoped_allocator_adaptor&&) = default;
-    ~scoped_allocator_adaptor();
-
-    inner_allocator_type& inner_allocator() noexcept;
-    const inner_allocator_type& inner_allocator() const noexcept;
-
-    outer_allocator_type& outer_allocator() noexcept;
-    const outer_allocator_type& outer_allocator() const noexcept;
-
-    pointer allocate(size_type n);                           // [[nodiscard]] in C++20
-    pointer allocate(size_type n, const_void_pointer hint);  // [[nodiscard]] in C++20
-    void deallocate(pointer p, size_type n) noexcept;
-
-    size_type max_size() const;
-    template <class T, class... Args> void construct(T* p, Args&& args);
-    template <class T1, class T2, class... Args1, class... Args2>
-        void construct(pair<T1, T2>* p, piecewise_construct t, tuple<Args1...> x,
-                       tuple<Args2...> y);
-    template <class T1, class T2>
-        void construct(pair<T1, T2>* p);
-    template <class T1, class T2, class U, class V>
-        void construct(pair<T1, T2>* p, U&& x, V&& y);
-    template <class T1, class T2, class U, class V>
-        void construct(pair<T1, T2>* p, const pair<U, V>& x);
-    template <class T1, class T2, class U, class V>
-        void construct(pair<T1, T2>* p, pair<U, V>&& x);
-    template <class T> void destroy(T* p);
-
-    template <class T> void destroy(T* p) noexcept;
-
-    scoped_allocator_adaptor select_on_container_copy_construction() const noexcept;
-};
-
-template <class OuterA1, class OuterA2, class... InnerAllocs>
-    bool
-    operator==(const scoped_allocator_adaptor<OuterA1, InnerAllocs...>& a,
-               const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& b) noexcept;
-
-template <class OuterA1, class OuterA2, class... InnerAllocs>
-    bool
-    operator!=(const scoped_allocator_adaptor<OuterA1, InnerAllocs...>& a,
-               const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& b) noexcept;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <memory>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if !defined(_LIBCPP_CXX03_LANG)
-
-// scoped_allocator_adaptor
-
-template <class ..._Allocs>
-class scoped_allocator_adaptor;
-
-template <class ..._Allocs> struct __get_poc_copy_assignment;
-
-template <class _A0>
-struct __get_poc_copy_assignment<_A0>
-{
-    static const bool value = allocator_traits<_A0>::
-                              propagate_on_container_copy_assignment::value;
-};
-
-template <class _A0, class ..._Allocs>
-struct __get_poc_copy_assignment<_A0, _Allocs...>
-{
-    static const bool value =
-        allocator_traits<_A0>::propagate_on_container_copy_assignment::value ||
-        __get_poc_copy_assignment<_Allocs...>::value;
-};
-
-template <class ..._Allocs> struct __get_poc_move_assignment;
-
-template <class _A0>
-struct __get_poc_move_assignment<_A0>
-{
-    static const bool value = allocator_traits<_A0>::
-                              propagate_on_container_move_assignment::value;
-};
-
-template <class _A0, class ..._Allocs>
-struct __get_poc_move_assignment<_A0, _Allocs...>
-{
-    static const bool value =
-        allocator_traits<_A0>::propagate_on_container_move_assignment::value ||
-        __get_poc_move_assignment<_Allocs...>::value;
-};
-
-template <class ..._Allocs> struct __get_poc_swap;
-
-template <class _A0>
-struct __get_poc_swap<_A0>
-{
-    static const bool value = allocator_traits<_A0>::
-                              propagate_on_container_swap::value;
-};
-
-template <class _A0, class ..._Allocs>
-struct __get_poc_swap<_A0, _Allocs...>
-{
-    static const bool value =
-        allocator_traits<_A0>::propagate_on_container_swap::value ||
-        __get_poc_swap<_Allocs...>::value;
-};
-
-template <class ..._Allocs> struct __get_is_always_equal;
-
-template <class _A0>
-struct __get_is_always_equal<_A0>
-{
-    static const bool value = allocator_traits<_A0>::is_always_equal::value;
-};
-
-template <class _A0, class ..._Allocs>
-struct __get_is_always_equal<_A0, _Allocs...>
-{
-    static const bool value =
-        allocator_traits<_A0>::is_always_equal::value &&
-        __get_is_always_equal<_Allocs...>::value;
-};
-
-template <class ..._Allocs>
-class __scoped_allocator_storage;
-
-template <class _OuterAlloc, class... _InnerAllocs>
-class __scoped_allocator_storage<_OuterAlloc, _InnerAllocs...>
-    : public _OuterAlloc
-{
-    typedef _OuterAlloc outer_allocator_type;
-protected:
-    typedef scoped_allocator_adaptor<_InnerAllocs...> inner_allocator_type;
-
-private:
-    inner_allocator_type __inner_;
-
-protected:
-
-    _LIBCPP_INLINE_VISIBILITY
-    __scoped_allocator_storage() _NOEXCEPT {}
-
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, _OuterA2>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        __scoped_allocator_storage(_OuterA2&& __outerAlloc,
-                                   const _InnerAllocs& ...__innerAllocs) _NOEXCEPT
-            : outer_allocator_type(_VSTD::forward<_OuterA2>(__outerAlloc)),
-              __inner_(__innerAllocs...) {}
-
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, const _OuterA2&>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        __scoped_allocator_storage(
-            const __scoped_allocator_storage<_OuterA2, _InnerAllocs...>& __other) _NOEXCEPT
-            : outer_allocator_type(__other.outer_allocator()),
-              __inner_(__other.inner_allocator()) {}
-
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, _OuterA2>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        __scoped_allocator_storage(
-            __scoped_allocator_storage<_OuterA2, _InnerAllocs...>&& __other) _NOEXCEPT
-            : outer_allocator_type(_VSTD::move(__other.outer_allocator())),
-              __inner_(_VSTD::move(__other.inner_allocator())) {}
-
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, _OuterA2>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        __scoped_allocator_storage(_OuterA2&& __o,
-                                   const inner_allocator_type& __i) _NOEXCEPT
-            : outer_allocator_type(_VSTD::forward<_OuterA2>(__o)),
-              __inner_(__i)
-        {
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    inner_allocator_type& inner_allocator() _NOEXCEPT             {return __inner_;}
-    _LIBCPP_INLINE_VISIBILITY
-    const inner_allocator_type& inner_allocator() const _NOEXCEPT {return __inner_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    outer_allocator_type& outer_allocator() _NOEXCEPT
-        {return static_cast<outer_allocator_type&>(*this);}
-    _LIBCPP_INLINE_VISIBILITY
-    const outer_allocator_type& outer_allocator() const _NOEXCEPT
-        {return static_cast<const outer_allocator_type&>(*this);}
-
-    scoped_allocator_adaptor<outer_allocator_type, _InnerAllocs...>
-    _LIBCPP_INLINE_VISIBILITY
-    select_on_container_copy_construction() const _NOEXCEPT
-        {
-            return scoped_allocator_adaptor<outer_allocator_type, _InnerAllocs...>
-            (
-                allocator_traits<outer_allocator_type>::
-                    select_on_container_copy_construction(outer_allocator()),
-                allocator_traits<inner_allocator_type>::
-                    select_on_container_copy_construction(inner_allocator())
-            );
-        }
-
-    template <class...> friend class __scoped_allocator_storage;
-};
-
-template <class _OuterAlloc>
-class __scoped_allocator_storage<_OuterAlloc>
-    : public _OuterAlloc
-{
-    typedef _OuterAlloc outer_allocator_type;
-protected:
-    typedef scoped_allocator_adaptor<_OuterAlloc> inner_allocator_type;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __scoped_allocator_storage() _NOEXCEPT {}
-
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, _OuterA2>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        __scoped_allocator_storage(_OuterA2&& __outerAlloc) _NOEXCEPT
-            : outer_allocator_type(_VSTD::forward<_OuterA2>(__outerAlloc)) {}
-
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, const _OuterA2&>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        __scoped_allocator_storage(
-            const __scoped_allocator_storage<_OuterA2>& __other) _NOEXCEPT
-            : outer_allocator_type(__other.outer_allocator()) {}
-
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, _OuterA2>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        __scoped_allocator_storage(
-            __scoped_allocator_storage<_OuterA2>&& __other) _NOEXCEPT
-            : outer_allocator_type(_VSTD::move(__other.outer_allocator())) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    inner_allocator_type& inner_allocator() _NOEXCEPT
-        {return static_cast<inner_allocator_type&>(*this);}
-    _LIBCPP_INLINE_VISIBILITY
-    const inner_allocator_type& inner_allocator() const _NOEXCEPT
-        {return static_cast<const inner_allocator_type&>(*this);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    outer_allocator_type& outer_allocator() _NOEXCEPT
-        {return static_cast<outer_allocator_type&>(*this);}
-    _LIBCPP_INLINE_VISIBILITY
-    const outer_allocator_type& outer_allocator() const _NOEXCEPT
-        {return static_cast<const outer_allocator_type&>(*this);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    scoped_allocator_adaptor<outer_allocator_type>
-    select_on_container_copy_construction() const _NOEXCEPT
-        {return scoped_allocator_adaptor<outer_allocator_type>(
-            allocator_traits<outer_allocator_type>::
-                select_on_container_copy_construction(outer_allocator())
-        );}
-
-    __scoped_allocator_storage(const outer_allocator_type& __o,
-                               const inner_allocator_type& __i) _NOEXCEPT;
-
-    template <class...> friend class __scoped_allocator_storage;
-};
-
-// __outermost
-
-template <class _Alloc>
-decltype(declval<_Alloc>().outer_allocator(), true_type())
-__has_outer_allocator_test(_Alloc&& __a);
-
-template <class _Alloc>
-false_type
-__has_outer_allocator_test(const volatile _Alloc& __a);
-
-template <class _Alloc>
-struct __has_outer_allocator
-    : public common_type
-             <
-                 decltype(__has_outer_allocator_test(declval<_Alloc&>()))
-             >::type
-{
-};
-
-template <class _Alloc, bool = __has_outer_allocator<_Alloc>::value>
-struct __outermost
-{
-    typedef _Alloc type;
-    _LIBCPP_INLINE_VISIBILITY
-    type& operator()(type& __a) const _NOEXCEPT {return __a;}
-};
-
-template <class _Alloc>
-struct __outermost<_Alloc, true>
-{
-    typedef typename remove_reference
-                     <
-                        decltype(_VSTD::declval<_Alloc>().outer_allocator())
-                     >::type                                    _OuterAlloc;
-    typedef typename __outermost<_OuterAlloc>::type             type;
-    _LIBCPP_INLINE_VISIBILITY
-    type& operator()(_Alloc& __a) const _NOEXCEPT
-        {return __outermost<_OuterAlloc>()(__a.outer_allocator());}
-};
-
-template <class _OuterAlloc, class... _InnerAllocs>
-class _LIBCPP_TEMPLATE_VIS scoped_allocator_adaptor<_OuterAlloc, _InnerAllocs...>
-    : public __scoped_allocator_storage<_OuterAlloc, _InnerAllocs...>
-{
-    typedef __scoped_allocator_storage<_OuterAlloc, _InnerAllocs...> base;
-    typedef allocator_traits<_OuterAlloc>             _OuterTraits;
-public:
-    typedef _OuterAlloc                               outer_allocator_type;
-    typedef typename base::inner_allocator_type       inner_allocator_type;
-    typedef typename _OuterTraits::size_type          size_type;
-    typedef typename _OuterTraits::difference_type    difference_type;
-    typedef typename _OuterTraits::pointer            pointer;
-    typedef typename _OuterTraits::const_pointer      const_pointer;
-    typedef typename _OuterTraits::void_pointer       void_pointer;
-    typedef typename _OuterTraits::const_void_pointer const_void_pointer;
-
-    typedef integral_constant
-            <
-                bool,
-                __get_poc_copy_assignment<outer_allocator_type,
-                                          _InnerAllocs...>::value
-            > propagate_on_container_copy_assignment;
-    typedef integral_constant
-            <
-                bool,
-                __get_poc_move_assignment<outer_allocator_type,
-                                          _InnerAllocs...>::value
-            > propagate_on_container_move_assignment;
-    typedef integral_constant
-            <
-                bool,
-                __get_poc_swap<outer_allocator_type, _InnerAllocs...>::value
-            > propagate_on_container_swap;
-    typedef integral_constant
-            <
-                bool,
-                __get_is_always_equal<outer_allocator_type, _InnerAllocs...>::value
-            > is_always_equal;
-
-    template <class _Tp>
-    struct rebind
-    {
-        typedef scoped_allocator_adaptor
-        <
-            typename _OuterTraits::template rebind_alloc<_Tp>, _InnerAllocs...
-        > other;
-    };
-
-    _LIBCPP_INLINE_VISIBILITY
-    scoped_allocator_adaptor() _NOEXCEPT {}
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, _OuterA2>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        scoped_allocator_adaptor(_OuterA2&& __outerAlloc,
-                                 const _InnerAllocs& ...__innerAllocs) _NOEXCEPT
-            : base(_VSTD::forward<_OuterA2>(__outerAlloc), __innerAllocs...) {}
-    // scoped_allocator_adaptor(const scoped_allocator_adaptor& __other) = default;
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, const _OuterA2&>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        scoped_allocator_adaptor(
-            const scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>& __other) _NOEXCEPT
-                : base(__other) {}
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, _OuterA2>::value
-                      >::type>
-        _LIBCPP_INLINE_VISIBILITY
-        scoped_allocator_adaptor(
-            scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>&& __other) _NOEXCEPT
-                : base(_VSTD::move(__other)) {}
-
-    // scoped_allocator_adaptor& operator=(const scoped_allocator_adaptor&) = default;
-    // scoped_allocator_adaptor& operator=(scoped_allocator_adaptor&&) = default;
-    // ~scoped_allocator_adaptor() = default;
-
-    _LIBCPP_INLINE_VISIBILITY
-    inner_allocator_type& inner_allocator() _NOEXCEPT
-        {return base::inner_allocator();}
-    _LIBCPP_INLINE_VISIBILITY
-    const inner_allocator_type& inner_allocator() const _NOEXCEPT
-        {return base::inner_allocator();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    outer_allocator_type& outer_allocator() _NOEXCEPT
-        {return base::outer_allocator();}
-    _LIBCPP_INLINE_VISIBILITY
-    const outer_allocator_type& outer_allocator() const _NOEXCEPT
-        {return base::outer_allocator();}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    pointer allocate(size_type __n)
-        {return allocator_traits<outer_allocator_type>::
-            allocate(outer_allocator(), __n);}
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    pointer allocate(size_type __n, const_void_pointer __hint)
-        {return allocator_traits<outer_allocator_type>::
-            allocate(outer_allocator(), __n, __hint);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void deallocate(pointer __p, size_type __n) _NOEXCEPT
-        {allocator_traits<outer_allocator_type>::
-            deallocate(outer_allocator(), __p, __n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const
-        {return allocator_traits<outer_allocator_type>::max_size(outer_allocator());}
-
-    template <class _Tp, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        void construct(_Tp* __p, _Args&& ...__args)
-            {__construct(__uses_alloc_ctor<_Tp, inner_allocator_type&, _Args...>(),
-                         __p, _VSTD::forward<_Args>(__args)...);}
-
-    template <class _T1, class _T2, class... _Args1, class... _Args2>
-    void construct(pair<_T1, _T2>* __p, piecewise_construct_t,
-                       tuple<_Args1...> __x, tuple<_Args2...> __y)
-    {
-        typedef __outermost<outer_allocator_type> _OM;
-        allocator_traits<typename _OM::type>::construct(
-            _OM()(outer_allocator()), __p, piecewise_construct
-          , __transform_tuple(
-              typename __uses_alloc_ctor<
-                  _T1, inner_allocator_type&, _Args1...
-              >::type()
-            , _VSTD::move(__x)
-            , typename __make_tuple_indices<sizeof...(_Args1)>::type{}
-          )
-          , __transform_tuple(
-              typename __uses_alloc_ctor<
-                  _T2, inner_allocator_type&, _Args2...
-              >::type()
-            , _VSTD::move(__y)
-            , typename __make_tuple_indices<sizeof...(_Args2)>::type{}
-          )
-        );
-    }
-
-    template <class _T1, class _T2>
-    void construct(pair<_T1, _T2>* __p)
-    { construct(__p, piecewise_construct, tuple<>{}, tuple<>{}); }
-
-    template <class _T1, class _T2, class _Up, class _Vp>
-    void construct(pair<_T1, _T2>* __p, _Up&& __x, _Vp&& __y) {
-        construct(__p, piecewise_construct,
-                  _VSTD::forward_as_tuple(_VSTD::forward<_Up>(__x)),
-                  _VSTD::forward_as_tuple(_VSTD::forward<_Vp>(__y)));
-    }
-
-    template <class _T1, class _T2, class _Up, class _Vp>
-    void construct(pair<_T1, _T2>* __p, const pair<_Up, _Vp>& __x) {
-        construct(__p, piecewise_construct,
-                  _VSTD::forward_as_tuple(__x.first),
-                  _VSTD::forward_as_tuple(__x.second));
-    }
-
-    template <class _T1, class _T2, class _Up, class _Vp>
-    void construct(pair<_T1, _T2>* __p, pair<_Up, _Vp>&& __x) {
-        construct(__p, piecewise_construct,
-                  _VSTD::forward_as_tuple(_VSTD::forward<_Up>(__x.first)),
-                  _VSTD::forward_as_tuple(_VSTD::forward<_Vp>(__x.second)));
-    }
-
-    template <class _Tp>
-        _LIBCPP_INLINE_VISIBILITY
-        void destroy(_Tp* __p)
-            {
-                typedef __outermost<outer_allocator_type> _OM;
-                allocator_traits<typename _OM::type>::
-                                         destroy(_OM()(outer_allocator()), __p);
-            }
-
-    _LIBCPP_INLINE_VISIBILITY
-    scoped_allocator_adaptor select_on_container_copy_construction() const _NOEXCEPT
-        {return base::select_on_container_copy_construction();}
-
-private:
-
-
-    template <class _OuterA2,
-              class = typename enable_if<
-                        is_constructible<outer_allocator_type, _OuterA2>::value
-                      >::type>
-    _LIBCPP_INLINE_VISIBILITY
-    scoped_allocator_adaptor(_OuterA2&& __o,
-                             const inner_allocator_type& __i) _NOEXCEPT
-        : base(_VSTD::forward<_OuterA2>(__o), __i) {}
-
-    template <class _Tp, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        void __construct(integral_constant<int, 0>, _Tp* __p, _Args&& ...__args)
-            {
-                typedef __outermost<outer_allocator_type> _OM;
-                allocator_traits<typename _OM::type>::construct
-                (
-                    _OM()(outer_allocator()),
-                    __p,
-                    _VSTD::forward<_Args>(__args)...
-                );
-            }
-
-    template <class _Tp, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        void __construct(integral_constant<int, 1>, _Tp* __p, _Args&& ...__args)
-            {
-                typedef __outermost<outer_allocator_type> _OM;
-                allocator_traits<typename _OM::type>::construct
-                (
-                    _OM()(outer_allocator()),
-                    __p, allocator_arg, inner_allocator(),
-                    _VSTD::forward<_Args>(__args)...
-                );
-            }
-
-    template <class _Tp, class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        void __construct(integral_constant<int, 2>, _Tp* __p, _Args&& ...__args)
-            {
-                typedef __outermost<outer_allocator_type> _OM;
-                allocator_traits<typename _OM::type>::construct
-                (
-                    _OM()(outer_allocator()),
-                    __p,
-                    _VSTD::forward<_Args>(__args)...,
-                    inner_allocator()
-                );
-            }
-
-    template <class ..._Args, size_t ..._Idx>
-    _LIBCPP_INLINE_VISIBILITY
-    tuple<_Args&&...>
-    __transform_tuple(integral_constant<int, 0>, tuple<_Args...>&& __t,
-                      __tuple_indices<_Idx...>)
-    {
-        return _VSTD::forward_as_tuple(_VSTD::get<_Idx>(_VSTD::move(__t))...);
-    }
-
-    template <class ..._Args, size_t ..._Idx>
-    _LIBCPP_INLINE_VISIBILITY
-    tuple<allocator_arg_t, inner_allocator_type&, _Args&&...>
-    __transform_tuple(integral_constant<int, 1>, tuple<_Args...> && __t,
-                      __tuple_indices<_Idx...>)
-    {
-        using _Tup = tuple<allocator_arg_t, inner_allocator_type&, _Args&&...>;
-        return _Tup(allocator_arg, inner_allocator(),
-                    _VSTD::get<_Idx>(_VSTD::move(__t))...);
-    }
-
-    template <class ..._Args, size_t ..._Idx>
-    _LIBCPP_INLINE_VISIBILITY
-    tuple<_Args&&..., inner_allocator_type&>
-    __transform_tuple(integral_constant<int, 2>, tuple<_Args...> && __t,
-                      __tuple_indices<_Idx...>)
-    {
-        using _Tup = tuple<_Args&&..., inner_allocator_type&>;
-        return _Tup(_VSTD::get<_Idx>(_VSTD::move(__t))..., inner_allocator());
-    }
-
-    template <class...> friend class __scoped_allocator_storage;
-};
-
-template <class _OuterA1, class _OuterA2>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const scoped_allocator_adaptor<_OuterA1>& __a,
-           const scoped_allocator_adaptor<_OuterA2>& __b) _NOEXCEPT
-{
-    return __a.outer_allocator() == __b.outer_allocator();
-}
-
-template <class _OuterA1, class _OuterA2, class _InnerA0, class... _InnerAllocs>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const scoped_allocator_adaptor<_OuterA1, _InnerA0, _InnerAllocs...>& __a,
-           const scoped_allocator_adaptor<_OuterA2, _InnerA0, _InnerAllocs...>& __b) _NOEXCEPT
-{
-    return __a.outer_allocator() == __b.outer_allocator() &&
-           __a.inner_allocator() == __b.inner_allocator();
-}
-
-template <class _OuterA1, class _OuterA2, class... _InnerAllocs>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const scoped_allocator_adaptor<_OuterA1, _InnerAllocs...>& __a,
-           const scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>& __b) _NOEXCEPT
-{
-    return !(__a == __b);
-}
-
-#endif  // !defined(_LIBCPP_CXX03_LANG)
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_SCOPED_ALLOCATOR
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/set b/r23/sources/cxx-stl/llvm-libc++/include/set
deleted file mode 100644
index ac3fbbe..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/set
+++ /dev/null
@@ -1,1493 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- set -------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SET
-#define _LIBCPP_SET
-
-/*
-
-    set synopsis
-
-namespace std
-{
-
-template <class Key, class Compare = less<Key>,
-          class Allocator = allocator<Key>>
-class set
-{
-public:
-    // types:
-    typedef Key                                      key_type;
-    typedef key_type                                 value_type;
-    typedef Compare                                  key_compare;
-    typedef key_compare                              value_compare;
-    typedef Allocator                                allocator_type;
-    typedef typename allocator_type::reference       reference;
-    typedef typename allocator_type::const_reference const_reference;
-    typedef typename allocator_type::size_type       size_type;
-    typedef typename allocator_type::difference_type difference_type;
-    typedef typename allocator_type::pointer         pointer;
-    typedef typename allocator_type::const_pointer   const_pointer;
-
-    typedef implementation-defined                   iterator;
-    typedef implementation-defined                   const_iterator;
-    typedef std::reverse_iterator<iterator>          reverse_iterator;
-    typedef std::reverse_iterator<const_iterator>    const_reverse_iterator;
-    typedef unspecified                              node_type;               // C++17
-    typedef INSERT_RETURN_TYPE<iterator, node_type>  insert_return_type;      // C++17
-
-    // construct/copy/destroy:
-    set()
-        noexcept(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_default_constructible<key_compare>::value &&
-            is_nothrow_copy_constructible<key_compare>::value);
-    explicit set(const value_compare& comp);
-    set(const value_compare& comp, const allocator_type& a);
-    template <class InputIterator>
-        set(InputIterator first, InputIterator last,
-            const value_compare& comp = value_compare());
-    template <class InputIterator>
-        set(InputIterator first, InputIterator last, const value_compare& comp,
-            const allocator_type& a);
-    set(const set& s);
-    set(set&& s)
-        noexcept(
-            is_nothrow_move_constructible<allocator_type>::value &&
-            is_nothrow_move_constructible<key_compare>::value);
-    explicit set(const allocator_type& a);
-    set(const set& s, const allocator_type& a);
-    set(set&& s, const allocator_type& a);
-    set(initializer_list<value_type> il, const value_compare& comp = value_compare());
-    set(initializer_list<value_type> il, const value_compare& comp,
-        const allocator_type& a);
-    template <class InputIterator>
-        set(InputIterator first, InputIterator last, const allocator_type& a)
-            : set(first, last, Compare(), a) {}  // C++14
-    set(initializer_list<value_type> il, const allocator_type& a)
-        : set(il, Compare(), a) {}  // C++14
-    ~set();
-
-    set& operator=(const set& s);
-    set& operator=(set&& s)
-        noexcept(
-            allocator_type::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<allocator_type>::value &&
-            is_nothrow_move_assignable<key_compare>::value);
-    set& operator=(initializer_list<value_type> il);
-
-    // iterators:
-          iterator begin() noexcept;
-    const_iterator begin() const noexcept;
-          iterator end() noexcept;
-    const_iterator end()   const noexcept;
-
-          reverse_iterator rbegin() noexcept;
-    const_reverse_iterator rbegin() const noexcept;
-          reverse_iterator rend() noexcept;
-    const_reverse_iterator rend()   const noexcept;
-
-    const_iterator         cbegin()  const noexcept;
-    const_iterator         cend()    const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend()   const noexcept;
-
-    // capacity:
-    bool      empty()    const noexcept;
-    size_type size()     const noexcept;
-    size_type max_size() const noexcept;
-
-    // modifiers:
-    template <class... Args>
-        pair<iterator, bool> emplace(Args&&... args);
-    template <class... Args>
-        iterator emplace_hint(const_iterator position, Args&&... args);
-    pair<iterator,bool> insert(const value_type& v);
-    pair<iterator,bool> insert(value_type&& v);
-    iterator insert(const_iterator position, const value_type& v);
-    iterator insert(const_iterator position, value_type&& v);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-    void insert(initializer_list<value_type> il);
-
-    node_type extract(const_iterator position);                                       // C++17
-    node_type extract(const key_type& x);                                             // C++17
-    insert_return_type insert(node_type&& nh);                                        // C++17
-    iterator insert(const_iterator hint, node_type&& nh);                             // C++17
-
-    iterator  erase(const_iterator position);
-    iterator  erase(iterator position);  // C++14
-    size_type erase(const key_type& k);
-    iterator  erase(const_iterator first, const_iterator last);
-    void clear() noexcept;
-
-    template<class C2>
-      void merge(set<Key, C2, Allocator>& source);         // C++17
-    template<class C2>
-      void merge(set<Key, C2, Allocator>&& source);        // C++17
-    template<class C2>
-      void merge(multiset<Key, C2, Allocator>& source);    // C++17
-    template<class C2>
-      void merge(multiset<Key, C2, Allocator>&& source);   // C++17
-
-    void swap(set& s)
-        noexcept(
-            __is_nothrow_swappable<key_compare>::value &&
-            (!allocator_type::propagate_on_container_swap::value ||
-             __is_nothrow_swappable<allocator_type>::value));
-
-    // observers:
-    allocator_type get_allocator() const noexcept;
-    key_compare    key_comp()      const;
-    value_compare  value_comp()    const;
-
-    // set operations:
-          iterator find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    template<typename K>
-        iterator find(const K& x);
-    template<typename K>
-        const_iterator find(const K& x) const;  // C++14
-    template<typename K>
-        size_type count(const K& x) const;        // C++14
-    size_type      count(const key_type& k) const;
-        bool contains(const key_type& x) const; // C++20
-          iterator lower_bound(const key_type& k);
-    const_iterator lower_bound(const key_type& k) const;
-    template<typename K>
-        iterator lower_bound(const K& x);              // C++14
-    template<typename K>
-        const_iterator lower_bound(const K& x) const;  // C++14
-
-          iterator upper_bound(const key_type& k);
-    const_iterator upper_bound(const key_type& k) const;
-    template<typename K>
-        iterator upper_bound(const K& x);              // C++14
-    template<typename K>
-        const_iterator upper_bound(const K& x) const;  // C++14
-    pair<iterator,iterator>             equal_range(const key_type& k);
-    pair<const_iterator,const_iterator> equal_range(const key_type& k) const;
-    template<typename K>
-        pair<iterator,iterator>             equal_range(const K& x);        // C++14
-    template<typename K>
-        pair<const_iterator,const_iterator> equal_range(const K& x) const;  // C++14
-};
-
-template <class Key, class Compare, class Allocator>
-bool
-operator==(const set<Key, Compare, Allocator>& x,
-           const set<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator< (const set<Key, Compare, Allocator>& x,
-           const set<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator!=(const set<Key, Compare, Allocator>& x,
-           const set<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator> (const set<Key, Compare, Allocator>& x,
-           const set<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator>=(const set<Key, Compare, Allocator>& x,
-           const set<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator<=(const set<Key, Compare, Allocator>& x,
-           const set<Key, Compare, Allocator>& y);
-
-// specialized algorithms:
-template <class Key, class Compare, class Allocator>
-void
-swap(set<Key, Compare, Allocator>& x, set<Key, Compare, Allocator>& y)
-    noexcept(noexcept(x.swap(y)));
-
-template <class Key, class Compare, class Allocator, class Predicate>
-  void erase_if(set<Key, Compare, Allocator>& c, Predicate pred);  // C++20
-
-template <class Key, class Compare = less<Key>,
-          class Allocator = allocator<Key>>
-class multiset
-{
-public:
-    // types:
-    typedef Key                                      key_type;
-    typedef key_type                                 value_type;
-    typedef Compare                                  key_compare;
-    typedef key_compare                              value_compare;
-    typedef Allocator                                allocator_type;
-    typedef typename allocator_type::reference       reference;
-    typedef typename allocator_type::const_reference const_reference;
-    typedef typename allocator_type::size_type       size_type;
-    typedef typename allocator_type::difference_type difference_type;
-    typedef typename allocator_type::pointer         pointer;
-    typedef typename allocator_type::const_pointer   const_pointer;
-
-    typedef implementation-defined                   iterator;
-    typedef implementation-defined                   const_iterator;
-    typedef std::reverse_iterator<iterator>          reverse_iterator;
-    typedef std::reverse_iterator<const_iterator>    const_reverse_iterator;
-    typedef unspecified                              node_type;               // C++17
-
-    // construct/copy/destroy:
-    multiset()
-        noexcept(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_default_constructible<key_compare>::value &&
-            is_nothrow_copy_constructible<key_compare>::value);
-    explicit multiset(const value_compare& comp);
-    multiset(const value_compare& comp, const allocator_type& a);
-    template <class InputIterator>
-        multiset(InputIterator first, InputIterator last,
-                 const value_compare& comp = value_compare());
-    template <class InputIterator>
-        multiset(InputIterator first, InputIterator last,
-                 const value_compare& comp, const allocator_type& a);
-    multiset(const multiset& s);
-    multiset(multiset&& s)
-        noexcept(
-            is_nothrow_move_constructible<allocator_type>::value &&
-            is_nothrow_move_constructible<key_compare>::value);
-    explicit multiset(const allocator_type& a);
-    multiset(const multiset& s, const allocator_type& a);
-    multiset(multiset&& s, const allocator_type& a);
-    multiset(initializer_list<value_type> il, const value_compare& comp = value_compare());
-    multiset(initializer_list<value_type> il, const value_compare& comp,
-             const allocator_type& a);
-    template <class InputIterator>
-        multiset(InputIterator first, InputIterator last, const allocator_type& a)
-            : set(first, last, Compare(), a) {}  // C++14
-    multiset(initializer_list<value_type> il, const allocator_type& a)
-        : set(il, Compare(), a) {}  // C++14
-    ~multiset();
-
-    multiset& operator=(const multiset& s);
-    multiset& operator=(multiset&& s)
-        noexcept(
-            allocator_type::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<allocator_type>::value &&
-            is_nothrow_move_assignable<key_compare>::value);
-    multiset& operator=(initializer_list<value_type> il);
-
-    // iterators:
-          iterator begin() noexcept;
-    const_iterator begin() const noexcept;
-          iterator end() noexcept;
-    const_iterator end()   const noexcept;
-
-          reverse_iterator rbegin() noexcept;
-    const_reverse_iterator rbegin() const noexcept;
-          reverse_iterator rend() noexcept;
-    const_reverse_iterator rend()   const noexcept;
-
-    const_iterator         cbegin()  const noexcept;
-    const_iterator         cend()    const noexcept;
-    const_reverse_iterator crbegin() const noexcept;
-    const_reverse_iterator crend()   const noexcept;
-
-    // capacity:
-    bool      empty()    const noexcept;
-    size_type size()     const noexcept;
-    size_type max_size() const noexcept;
-
-    // modifiers:
-    template <class... Args>
-        iterator emplace(Args&&... args);
-    template <class... Args>
-        iterator emplace_hint(const_iterator position, Args&&... args);
-    iterator insert(const value_type& v);
-    iterator insert(value_type&& v);
-    iterator insert(const_iterator position, const value_type& v);
-    iterator insert(const_iterator position, value_type&& v);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-    void insert(initializer_list<value_type> il);
-
-    node_type extract(const_iterator position);                                       // C++17
-    node_type extract(const key_type& x);                                             // C++17
-    iterator insert(node_type&& nh);                                                  // C++17
-    iterator insert(const_iterator hint, node_type&& nh);                             // C++17
-
-    iterator  erase(const_iterator position);
-    iterator  erase(iterator position);  // C++14
-    size_type erase(const key_type& k);
-    iterator  erase(const_iterator first, const_iterator last);
-    void clear() noexcept;
-
-    template<class C2>
-      void merge(multiset<Key, C2, Allocator>& source);    // C++17
-    template<class C2>
-      void merge(multiset<Key, C2, Allocator>&& source);   // C++17
-    template<class C2>
-      void merge(set<Key, C2, Allocator>& source);         // C++17
-    template<class C2>
-      void merge(set<Key, C2, Allocator>&& source);        // C++17
-
-    void swap(multiset& s)
-        noexcept(
-            __is_nothrow_swappable<key_compare>::value &&
-            (!allocator_type::propagate_on_container_swap::value ||
-             __is_nothrow_swappable<allocator_type>::value));
-
-    // observers:
-    allocator_type get_allocator() const noexcept;
-    key_compare    key_comp()      const;
-    value_compare  value_comp()    const;
-
-    // set operations:
-          iterator find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    template<typename K>
-        iterator find(const K& x);
-    template<typename K>
-        const_iterator find(const K& x) const;  // C++14
-    template<typename K>
-        size_type count(const K& x) const;      // C++14
-    size_type      count(const key_type& k) const;
-        bool contains(const key_type& x) const; // C++20
-          iterator lower_bound(const key_type& k);
-    const_iterator lower_bound(const key_type& k) const;
-    template<typename K>
-        iterator lower_bound(const K& x);              // C++14
-    template<typename K>
-        const_iterator lower_bound(const K& x) const;  // C++14
-
-          iterator upper_bound(const key_type& k);
-    const_iterator upper_bound(const key_type& k) const;
-    template<typename K>
-        iterator upper_bound(const K& x);              // C++14
-    template<typename K>
-        const_iterator upper_bound(const K& x) const;  // C++14
-
-    pair<iterator,iterator>             equal_range(const key_type& k);
-    pair<const_iterator,const_iterator> equal_range(const key_type& k) const;
-    template<typename K>
-        pair<iterator,iterator>             equal_range(const K& x);        // C++14
-    template<typename K>
-        pair<const_iterator,const_iterator> equal_range(const K& x) const;  // C++14
-};
-
-template <class Key, class Compare, class Allocator>
-bool
-operator==(const multiset<Key, Compare, Allocator>& x,
-           const multiset<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator< (const multiset<Key, Compare, Allocator>& x,
-           const multiset<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator!=(const multiset<Key, Compare, Allocator>& x,
-           const multiset<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator> (const multiset<Key, Compare, Allocator>& x,
-           const multiset<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator>=(const multiset<Key, Compare, Allocator>& x,
-           const multiset<Key, Compare, Allocator>& y);
-
-template <class Key, class Compare, class Allocator>
-bool
-operator<=(const multiset<Key, Compare, Allocator>& x,
-           const multiset<Key, Compare, Allocator>& y);
-
-// specialized algorithms:
-template <class Key, class Compare, class Allocator>
-void
-swap(multiset<Key, Compare, Allocator>& x, multiset<Key, Compare, Allocator>& y)
-    noexcept(noexcept(x.swap(y)));
-
-template <class Key, class Compare, class Allocator, class Predicate>
-  void erase_if(multiset<Key, Compare, Allocator>& c, Predicate pred);  // C++20
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__tree>
-#include <__node_handle>
-#include <functional>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Key, class _Compare, class _Allocator>
-class multiset;
-
-template <class _Key, class _Compare = less<_Key>,
-          class _Allocator = allocator<_Key> >
-class _LIBCPP_TEMPLATE_VIS set
-{
-public:
-    // types:
-    typedef _Key                                     key_type;
-    typedef key_type                                 value_type;
-    typedef _Compare                                 key_compare;
-    typedef key_compare                              value_compare;
-    typedef typename __identity<_Allocator>::type    allocator_type;
-    typedef value_type&                              reference;
-    typedef const value_type&                        const_reference;
-
-    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
-                  "Allocator::value_type must be same type as value_type");
-
-private:
-    typedef __tree<value_type, value_compare, allocator_type> __base;
-    typedef allocator_traits<allocator_type>                  __alloc_traits;
-    typedef typename __base::__node_holder                    __node_holder;
-
-    __base __tree_;
-
-public:
-    typedef typename __base::pointer               pointer;
-    typedef typename __base::const_pointer         const_pointer;
-    typedef typename __base::size_type             size_type;
-    typedef typename __base::difference_type       difference_type;
-    typedef typename __base::const_iterator        iterator;
-    typedef typename __base::const_iterator        const_iterator;
-    typedef _VSTD::reverse_iterator<iterator>       reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator;
-
-#if _LIBCPP_STD_VER > 14
-    typedef __set_node_handle<typename __base::__node, allocator_type> node_type;
-    typedef __insert_return_type<iterator, node_type> insert_return_type;
-#endif
-
-    template <class _Key2, class _Compare2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS set;
-    template <class _Key2, class _Compare2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS multiset;
-
-    _LIBCPP_INLINE_VISIBILITY
-    set()
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_default_constructible<key_compare>::value &&
-            is_nothrow_copy_constructible<key_compare>::value)
-        : __tree_(value_compare()) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit set(const value_compare& __comp)
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_copy_constructible<key_compare>::value)
-        : __tree_(__comp) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit set(const value_compare& __comp, const allocator_type& __a)
-        : __tree_(__comp, __a) {}
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        set(_InputIterator __f, _InputIterator __l,
-            const value_compare& __comp = value_compare())
-        : __tree_(__comp)
-        {
-            insert(__f, __l);
-        }
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        set(_InputIterator __f, _InputIterator __l, const value_compare& __comp,
-            const allocator_type& __a)
-        : __tree_(__comp, __a)
-        {
-            insert(__f, __l);
-        }
-
-#if _LIBCPP_STD_VER > 11
-        template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        set(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
-            : set(__f, __l, key_compare(), __a) {}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    set(const set& __s)
-        : __tree_(__s.__tree_)
-        {
-            insert(__s.begin(), __s.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    set& operator=(const set& __s)
-        {
-            __tree_ = __s.__tree_;
-            return *this;
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    set(set&& __s)
-        _NOEXCEPT_(is_nothrow_move_constructible<__base>::value)
-        : __tree_(_VSTD::move(__s.__tree_)) {}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit set(const allocator_type& __a)
-        : __tree_(__a) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    set(const set& __s, const allocator_type& __a)
-        : __tree_(__s.__tree_.value_comp(), __a)
-        {
-            insert(__s.begin(), __s.end());
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-    set(set&& __s, const allocator_type& __a);
-
-    _LIBCPP_INLINE_VISIBILITY
-    set(initializer_list<value_type> __il, const value_compare& __comp = value_compare())
-        : __tree_(__comp)
-        {
-            insert(__il.begin(), __il.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    set(initializer_list<value_type> __il, const value_compare& __comp,
-        const allocator_type& __a)
-        : __tree_(__comp, __a)
-        {
-            insert(__il.begin(), __il.end());
-        }
-
-#if _LIBCPP_STD_VER > 11
-    _LIBCPP_INLINE_VISIBILITY
-    set(initializer_list<value_type> __il, const allocator_type& __a)
-        : set(__il, key_compare(), __a) {}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    set& operator=(initializer_list<value_type> __il)
-        {
-            __tree_.__assign_unique(__il.begin(), __il.end());
-            return *this;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    set& operator=(set&& __s)
-        _NOEXCEPT_(is_nothrow_move_assignable<__base>::value)
-        {
-            __tree_ = _VSTD::move(__s.__tree_);
-            return *this;
-        }
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~set() {
-        static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), "");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-          iterator begin() _NOEXCEPT       {return __tree_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT {return __tree_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-          iterator end() _NOEXCEPT         {return __tree_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()   const _NOEXCEPT {return __tree_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rbegin() _NOEXCEPT
-            {return reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin() const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rend() _NOEXCEPT
-            {return reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend() const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin()  const _NOEXCEPT {return begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend() const _NOEXCEPT {return end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend() const _NOEXCEPT {return rend();}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT {return __tree_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT {return __tree_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __tree_.max_size();}
-
-    // modifiers:
-#ifndef _LIBCPP_CXX03_LANG
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> emplace(_Args&&... __args)
-            {return __tree_.__emplace_unique(_VSTD::forward<_Args>(__args)...);}
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator emplace_hint(const_iterator __p, _Args&&... __args)
-            {return __tree_.__emplace_hint_unique(__p, _VSTD::forward<_Args>(__args)...);}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator,bool> insert(const value_type& __v)
-        {return __tree_.__insert_unique(__v);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, const value_type& __v)
-        {return __tree_.__insert_unique(__p, __v);}
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __f, _InputIterator __l)
-        {
-            for (const_iterator __e = cend(); __f != __l; ++__f)
-                __tree_.__insert_unique(__e, *__f);
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator,bool> insert(value_type&& __v)
-        {return __tree_.__insert_unique(_VSTD::move(__v));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, value_type&& __v)
-        {return __tree_.__insert_unique(__p, _VSTD::move(__v));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(initializer_list<value_type> __il)
-        {insert(__il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator  erase(const_iterator __p) {return __tree_.erase(__p);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k)
-        {return __tree_.__erase_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator  erase(const_iterator __f, const_iterator __l)
-        {return __tree_.erase(__f, __l);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__tree_.clear();}
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    insert_return_type insert(node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to set::insert()");
-        return __tree_.template __node_handle_insert_unique<
-            node_type, insert_return_type>(_VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __hint, node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to set::insert()");
-        return __tree_.template __node_handle_insert_unique<node_type>(
-            __hint, _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(key_type const& __key)
-    {
-        return __tree_.template __node_handle_extract<node_type>(__key);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(const_iterator __it)
-    {
-        return __tree_.template __node_handle_extract<node_type>(__it);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(set<key_type, _Compare2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_unique(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(set<key_type, _Compare2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_unique(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(multiset<key_type, _Compare2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_unique(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(multiset<key_type, _Compare2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_unique(__source.__tree_);
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(set& __s) _NOEXCEPT_(__is_nothrow_swappable<__base>::value)
-        {__tree_.swap(__s.__tree_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT {return __tree_.__alloc();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_compare    key_comp()      const {return __tree_.value_comp();}
-    _LIBCPP_INLINE_VISIBILITY
-    value_compare  value_comp()    const {return __tree_.value_comp();}
-
-    // set operations:
-    _LIBCPP_INLINE_VISIBILITY
-    iterator find(const key_type& __k)             {return __tree_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __tree_.find(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    find(const _K2& __k)                           {return __tree_.find(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    find(const _K2& __k) const                     {return __tree_.find(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type      count(const key_type& __k) const
-        {return __tree_.__count_unique(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,size_type>::type
-    count(const _K2& __k) const                    {return __tree_.__count_multi(__k);}
-#endif
-
-#if _LIBCPP_STD_VER > 17
-    _LIBCPP_INLINE_VISIBILITY
-    bool contains(const key_type& __k) const {return find(__k) != end();}
-#endif // _LIBCPP_STD_VER > 17
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator lower_bound(const key_type& __k)
-        {return __tree_.lower_bound(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator lower_bound(const key_type& __k) const
-        {return __tree_.lower_bound(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    lower_bound(const _K2& __k)       {return __tree_.lower_bound(__k);}
-
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    lower_bound(const _K2& __k) const {return __tree_.lower_bound(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator upper_bound(const key_type& __k)
-        {return __tree_.upper_bound(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator upper_bound(const key_type& __k) const
-        {return __tree_.upper_bound(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,iterator>::type
-    upper_bound(const _K2& __k)       {return __tree_.upper_bound(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    upper_bound(const _K2& __k) const {return __tree_.upper_bound(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator,iterator> equal_range(const key_type& __k)
-        {return __tree_.__equal_range_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    pair<const_iterator,const_iterator> equal_range(const key_type& __k) const
-        {return __tree_.__equal_range_unique(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,pair<iterator,iterator>>::type
-    equal_range(const _K2& __k)       {return __tree_.__equal_range_multi(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,pair<const_iterator,const_iterator>>::type
-    equal_range(const _K2& __k) const {return __tree_.__equal_range_multi(__k);}
-#endif
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Compare = less<typename iterator_traits<_InputIterator>::value_type>,
-         class _Allocator = allocator<typename iterator_traits<_InputIterator>::value_type>,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>,
-         class = _EnableIf<!__is_allocator<_Compare>::value, void>>
-set(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-  -> set<typename iterator_traits<_InputIterator>::value_type, _Compare, _Allocator>;
-
-template<class _Key, class _Compare = less<_Key>,
-         class _Allocator = allocator<_Key>,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>,
-         class = _EnableIf<!__is_allocator<_Compare>::value, void>>
-set(initializer_list<_Key>, _Compare = _Compare(), _Allocator = _Allocator())
-  -> set<_Key, _Compare, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-set(_InputIterator, _InputIterator, _Allocator)
-  -> set<typename iterator_traits<_InputIterator>::value_type,
-         less<typename iterator_traits<_InputIterator>::value_type>, _Allocator>;
-
-template<class _Key, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-set(initializer_list<_Key>, _Allocator)
-  -> set<_Key, less<_Key>, _Allocator>;
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Compare, class _Allocator>
-set<_Key, _Compare, _Allocator>::set(set&& __s, const allocator_type& __a)
-    : __tree_(_VSTD::move(__s.__tree_), __a)
-{
-    if (__a != __s.get_allocator())
-    {
-        const_iterator __e = cend();
-        while (!__s.empty())
-            insert(__e, _VSTD::move(__s.__tree_.remove(__s.begin())->__value_));
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const set<_Key, _Compare, _Allocator>& __x,
-           const set<_Key, _Compare, _Allocator>& __y)
-{
-    return __x.size() == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const set<_Key, _Compare, _Allocator>& __x,
-           const set<_Key, _Compare, _Allocator>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const set<_Key, _Compare, _Allocator>& __x,
-           const set<_Key, _Compare, _Allocator>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const set<_Key, _Compare, _Allocator>& __x,
-           const set<_Key, _Compare, _Allocator>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const set<_Key, _Compare, _Allocator>& __x,
-           const set<_Key, _Compare, _Allocator>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const set<_Key, _Compare, _Allocator>& __x,
-           const set<_Key, _Compare, _Allocator>& __y)
-{
-    return !(__y < __x);
-}
-
-// specialized algorithms:
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(set<_Key, _Compare, _Allocator>& __x,
-     set<_Key, _Compare, _Allocator>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Key, class _Compare, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(set<_Key, _Compare, _Allocator>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
-#endif
-
-template <class _Key, class _Compare = less<_Key>,
-          class _Allocator = allocator<_Key> >
-class _LIBCPP_TEMPLATE_VIS multiset
-{
-public:
-    // types:
-    typedef _Key                                      key_type;
-    typedef key_type                                 value_type;
-    typedef _Compare                                  key_compare;
-    typedef key_compare                              value_compare;
-    typedef typename __identity<_Allocator>::type    allocator_type;
-    typedef value_type&                              reference;
-    typedef const value_type&                        const_reference;
-
-    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
-                  "Allocator::value_type must be same type as value_type");
-
-private:
-    typedef __tree<value_type, value_compare, allocator_type> __base;
-    typedef allocator_traits<allocator_type>                  __alloc_traits;
-    typedef typename __base::__node_holder                    __node_holder;
-
-    __base __tree_;
-
-public:
-    typedef typename __base::pointer               pointer;
-    typedef typename __base::const_pointer         const_pointer;
-    typedef typename __base::size_type             size_type;
-    typedef typename __base::difference_type       difference_type;
-    typedef typename __base::const_iterator        iterator;
-    typedef typename __base::const_iterator        const_iterator;
-    typedef _VSTD::reverse_iterator<iterator>       reverse_iterator;
-    typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator;
-
-#if _LIBCPP_STD_VER > 14
-    typedef __set_node_handle<typename __base::__node, allocator_type> node_type;
-#endif
-
-    template <class _Key2, class _Compare2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS set;
-    template <class _Key2, class _Compare2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS multiset;
-
-    // construct/copy/destroy:
-    _LIBCPP_INLINE_VISIBILITY
-    multiset()
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_default_constructible<key_compare>::value &&
-            is_nothrow_copy_constructible<key_compare>::value)
-        : __tree_(value_compare()) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit multiset(const value_compare& __comp)
-        _NOEXCEPT_(
-            is_nothrow_default_constructible<allocator_type>::value &&
-            is_nothrow_copy_constructible<key_compare>::value)
-        : __tree_(__comp) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit multiset(const value_compare& __comp, const allocator_type& __a)
-        : __tree_(__comp, __a) {}
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        multiset(_InputIterator __f, _InputIterator __l,
-                 const value_compare& __comp = value_compare())
-        : __tree_(__comp)
-        {
-            insert(__f, __l);
-        }
-
-#if _LIBCPP_STD_VER > 11
-        template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        multiset(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
-            : multiset(__f, __l, key_compare(), __a) {}
-#endif
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        multiset(_InputIterator __f, _InputIterator __l,
-                 const value_compare& __comp, const allocator_type& __a)
-        : __tree_(__comp, __a)
-        {
-            insert(__f, __l);
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    multiset(const multiset& __s)
-        : __tree_(__s.__tree_.value_comp(),
-          __alloc_traits::select_on_container_copy_construction(__s.__tree_.__alloc()))
-        {
-            insert(__s.begin(), __s.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    multiset& operator=(const multiset& __s)
-        {
-            __tree_ = __s.__tree_;
-            return *this;
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    multiset(multiset&& __s)
-        _NOEXCEPT_(is_nothrow_move_constructible<__base>::value)
-        : __tree_(_VSTD::move(__s.__tree_)) {}
-
-    multiset(multiset&& __s, const allocator_type& __a);
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    explicit multiset(const allocator_type& __a)
-        : __tree_(__a) {}
-    _LIBCPP_INLINE_VISIBILITY
-    multiset(const multiset& __s, const allocator_type& __a)
-        : __tree_(__s.__tree_.value_comp(), __a)
-        {
-            insert(__s.begin(), __s.end());
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    multiset(initializer_list<value_type> __il, const value_compare& __comp = value_compare())
-        : __tree_(__comp)
-        {
-            insert(__il.begin(), __il.end());
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    multiset(initializer_list<value_type> __il, const value_compare& __comp,
-        const allocator_type& __a)
-        : __tree_(__comp, __a)
-        {
-            insert(__il.begin(), __il.end());
-        }
-
-#if _LIBCPP_STD_VER > 11
-    _LIBCPP_INLINE_VISIBILITY
-    multiset(initializer_list<value_type> __il, const allocator_type& __a)
-        : multiset(__il, key_compare(), __a) {}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    multiset& operator=(initializer_list<value_type> __il)
-        {
-            __tree_.__assign_multi(__il.begin(), __il.end());
-            return *this;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    multiset& operator=(multiset&& __s)
-        _NOEXCEPT_(is_nothrow_move_assignable<__base>::value)
-        {
-            __tree_ = _VSTD::move(__s.__tree_);
-            return *this;
-        }
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~multiset() {
-        static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), "");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-          iterator begin() _NOEXCEPT       {return __tree_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin() const _NOEXCEPT {return __tree_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-          iterator end() _NOEXCEPT         {return __tree_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()   const _NOEXCEPT {return __tree_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rbegin() _NOEXCEPT
-            {return reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rbegin() const _NOEXCEPT
-        {return const_reverse_iterator(end());}
-    _LIBCPP_INLINE_VISIBILITY
-          reverse_iterator rend() _NOEXCEPT
-            {return       reverse_iterator(begin());}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator rend() const _NOEXCEPT
-        {return const_reverse_iterator(begin());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin()  const _NOEXCEPT {return begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend() const _NOEXCEPT {return end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crbegin() const _NOEXCEPT {return rbegin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reverse_iterator crend() const _NOEXCEPT {return rend();}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty() const _NOEXCEPT {return __tree_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT {return __tree_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __tree_.max_size();}
-
-    // modifiers:
-#ifndef _LIBCPP_CXX03_LANG
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator emplace(_Args&&... __args)
-            {return __tree_.__emplace_multi(_VSTD::forward<_Args>(__args)...);}
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator emplace_hint(const_iterator __p, _Args&&... __args)
-            {return __tree_.__emplace_hint_multi(__p, _VSTD::forward<_Args>(__args)...);}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const value_type& __v)
-        {return __tree_.__insert_multi(__v);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, const value_type& __v)
-        {return __tree_.__insert_multi(__p, __v);}
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __f, _InputIterator __l)
-        {
-            for (const_iterator __e = cend(); __f != __l; ++__f)
-                __tree_.__insert_multi(__e, *__f);
-        }
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(value_type&& __v)
-        {return __tree_.__insert_multi(_VSTD::move(__v));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, value_type&& __v)
-        {return __tree_.__insert_multi(__p, _VSTD::move(__v));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(initializer_list<value_type> __il)
-        {insert(__il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator  erase(const_iterator __p) {return __tree_.erase(__p);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __tree_.__erase_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator  erase(const_iterator __f, const_iterator __l)
-        {return __tree_.erase(__f, __l);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__tree_.clear();}
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to multiset::insert()");
-        return __tree_.template __node_handle_insert_multi<node_type>(
-            _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __hint, node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to multiset::insert()");
-        return __tree_.template __node_handle_insert_multi<node_type>(
-            __hint, _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(key_type const& __key)
-    {
-        return __tree_.template __node_handle_extract<node_type>(__key);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(const_iterator __it)
-    {
-        return __tree_.template __node_handle_extract<node_type>(__it);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(multiset<key_type, _Compare2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_multi(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(multiset<key_type, _Compare2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_multi(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(set<key_type, _Compare2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_multi(__source.__tree_);
-    }
-    template <class _Compare2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(set<key_type, _Compare2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __tree_.__node_handle_merge_multi(__source.__tree_);
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(multiset& __s)
-        _NOEXCEPT_(__is_nothrow_swappable<__base>::value)
-        {__tree_.swap(__s.__tree_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT {return __tree_.__alloc();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_compare    key_comp()      const {return __tree_.value_comp();}
-    _LIBCPP_INLINE_VISIBILITY
-    value_compare  value_comp()    const {return __tree_.value_comp();}
-
-    // set operations:
-    _LIBCPP_INLINE_VISIBILITY
-    iterator find(const key_type& __k)             {return __tree_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __tree_.find(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,iterator>::type
-    find(const _K2& __k)                           {return __tree_.find(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    find(const _K2& __k) const                     {return __tree_.find(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type      count(const key_type& __k) const
-        {return __tree_.__count_multi(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename enable_if<__is_transparent<_Compare, _K2>::value,size_type>::type
-    count(const _K2& __k) const            {return __tree_.__count_multi(__k);}
-#endif
-
-#if _LIBCPP_STD_VER > 17
-    _LIBCPP_INLINE_VISIBILITY
-    bool contains(const key_type& __k) const {return find(__k) != end();}
-#endif // _LIBCPP_STD_VER > 17
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator lower_bound(const key_type& __k)
-        {return __tree_.lower_bound(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator lower_bound(const key_type& __k) const
-            {return __tree_.lower_bound(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,iterator>::type
-    lower_bound(const _K2& __k)       {return __tree_.lower_bound(__k);}
-
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    lower_bound(const _K2& __k) const {return __tree_.lower_bound(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator upper_bound(const key_type& __k)
-            {return __tree_.upper_bound(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator upper_bound(const key_type& __k) const
-            {return __tree_.upper_bound(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,iterator>::type
-    upper_bound(const _K2& __k)       {return __tree_.upper_bound(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,const_iterator>::type
-    upper_bound(const _K2& __k) const {return __tree_.upper_bound(__k);}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator,iterator>             equal_range(const key_type& __k)
-            {return __tree_.__equal_range_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    pair<const_iterator,const_iterator> equal_range(const key_type& __k) const
-            {return __tree_.__equal_range_multi(__k);}
-#if _LIBCPP_STD_VER > 11
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,pair<iterator,iterator>>::type
-    equal_range(const _K2& __k)       {return __tree_.__equal_range_multi(__k);}
-    template <typename _K2>
-    _LIBCPP_INLINE_VISIBILITY
-    typename _VSTD::enable_if<_VSTD::__is_transparent<_Compare, _K2>::value,pair<const_iterator,const_iterator>>::type
-    equal_range(const _K2& __k) const {return __tree_.__equal_range_multi(__k);}
-#endif
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Compare = less<typename iterator_traits<_InputIterator>::value_type>,
-         class _Allocator = allocator<typename iterator_traits<_InputIterator>::value_type>,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>,
-         class = _EnableIf<!__is_allocator<_Compare>::value, void>>
-multiset(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-  -> multiset<typename iterator_traits<_InputIterator>::value_type, _Compare, _Allocator>;
-
-template<class _Key, class _Compare = less<_Key>,
-         class _Allocator = allocator<_Key>,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>,
-         class = _EnableIf<!__is_allocator<_Compare>::value, void>>
-multiset(initializer_list<_Key>, _Compare = _Compare(), _Allocator = _Allocator())
-  -> multiset<_Key, _Compare, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-multiset(_InputIterator, _InputIterator, _Allocator)
-  -> multiset<typename iterator_traits<_InputIterator>::value_type,
-         less<typename iterator_traits<_InputIterator>::value_type>, _Allocator>;
-
-template<class _Key, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value, void>>
-multiset(initializer_list<_Key>, _Allocator)
-  -> multiset<_Key, less<_Key>, _Allocator>;
-#endif
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Compare, class _Allocator>
-multiset<_Key, _Compare, _Allocator>::multiset(multiset&& __s, const allocator_type& __a)
-    : __tree_(_VSTD::move(__s.__tree_), __a)
-{
-    if (__a != __s.get_allocator())
-    {
-        const_iterator __e = cend();
-        while (!__s.empty())
-            insert(__e, _VSTD::move(__s.__tree_.remove(__s.begin())->__value_));
-    }
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const multiset<_Key, _Compare, _Allocator>& __x,
-           const multiset<_Key, _Compare, _Allocator>& __y)
-{
-    return __x.size() == __y.size() && _VSTD::equal(__x.begin(), __x.end(), __y.begin());
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const multiset<_Key, _Compare, _Allocator>& __x,
-           const multiset<_Key, _Compare, _Allocator>& __y)
-{
-    return _VSTD::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end());
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const multiset<_Key, _Compare, _Allocator>& __x,
-           const multiset<_Key, _Compare, _Allocator>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const multiset<_Key, _Compare, _Allocator>& __x,
-           const multiset<_Key, _Compare, _Allocator>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const multiset<_Key, _Compare, _Allocator>& __x,
-           const multiset<_Key, _Compare, _Allocator>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const multiset<_Key, _Compare, _Allocator>& __x,
-           const multiset<_Key, _Compare, _Allocator>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Key, class _Compare, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(multiset<_Key, _Compare, _Allocator>& __x,
-     multiset<_Key, _Compare, _Allocator>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Key, class _Compare, class _Allocator, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(multiset<_Key, _Compare, _Allocator>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_SET
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/setjmp.h b/r23/sources/cxx-stl/llvm-libc++/include/setjmp.h
deleted file mode 100644
index f30a8d4..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/setjmp.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- setjmp.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SETJMP_H
-#define _LIBCPP_SETJMP_H
-
-/*
-    setjmp.h synopsis
-
-Macros:
-
-    setjmp
-
-Types:
-
-    jmp_buf
-
-void longjmp(jmp_buf env, int val);
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <setjmp.h>
-
-#ifdef __cplusplus
-
-#ifndef setjmp
-#define setjmp(env) setjmp(env)
-#endif
-
-#endif // __cplusplus
-
-#endif  // _LIBCPP_SETJMP_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/shared_mutex b/r23/sources/cxx-stl/llvm-libc++/include/shared_mutex
deleted file mode 100644
index fcafd8c..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/shared_mutex
+++ /dev/null
@@ -1,508 +0,0 @@
-// -*- C++ -*-
-//===------------------------ shared_mutex --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SHARED_MUTEX
-#define _LIBCPP_SHARED_MUTEX
-
-/*
-    shared_mutex synopsis
-
-// C++1y
-
-namespace std
-{
-
-class shared_mutex      // C++17
-{
-public:
-    shared_mutex();
-    ~shared_mutex();
-
-    shared_mutex(const shared_mutex&) = delete;
-    shared_mutex& operator=(const shared_mutex&) = delete;
-
-    // Exclusive ownership
-    void lock(); // blocking
-    bool try_lock();
-    void unlock();
-
-    // Shared ownership
-    void lock_shared(); // blocking
-    bool try_lock_shared();
-    void unlock_shared();
-
-    typedef implementation-defined native_handle_type; // See 30.2.3
-    native_handle_type native_handle(); // See 30.2.3
-};
-
-class shared_timed_mutex
-{
-public:
-    shared_timed_mutex();
-    ~shared_timed_mutex();
-
-    shared_timed_mutex(const shared_timed_mutex&) = delete;
-    shared_timed_mutex& operator=(const shared_timed_mutex&) = delete;
-
-    // Exclusive ownership
-    void lock(); // blocking
-    bool try_lock();
-    template <class Rep, class Period>
-        bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
-    template <class Clock, class Duration>
-        bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
-    void unlock();
-
-    // Shared ownership
-    void lock_shared(); // blocking
-    bool try_lock_shared();
-    template <class Rep, class Period>
-        bool
-        try_lock_shared_for(const chrono::duration<Rep, Period>& rel_time);
-    template <class Clock, class Duration>
-        bool
-        try_lock_shared_until(const chrono::time_point<Clock, Duration>& abs_time);
-    void unlock_shared();
-};
-
-template <class Mutex>
-class shared_lock
-{
-public:
-    typedef Mutex mutex_type;
-
-    // Shared locking
-    shared_lock() noexcept;
-    explicit shared_lock(mutex_type& m); // blocking
-    shared_lock(mutex_type& m, defer_lock_t) noexcept;
-    shared_lock(mutex_type& m, try_to_lock_t);
-    shared_lock(mutex_type& m, adopt_lock_t);
-    template <class Clock, class Duration>
-        shared_lock(mutex_type& m,
-                    const chrono::time_point<Clock, Duration>& abs_time);
-    template <class Rep, class Period>
-        shared_lock(mutex_type& m,
-                    const chrono::duration<Rep, Period>& rel_time);
-    ~shared_lock();
-
-    shared_lock(shared_lock const&) = delete;
-    shared_lock& operator=(shared_lock const&) = delete;
-
-    shared_lock(shared_lock&& u) noexcept;
-    shared_lock& operator=(shared_lock&& u) noexcept;
-
-    void lock(); // blocking
-    bool try_lock();
-    template <class Rep, class Period>
-        bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
-    template <class Clock, class Duration>
-        bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
-    void unlock();
-
-    // Setters
-    void swap(shared_lock& u) noexcept;
-    mutex_type* release() noexcept;
-
-    // Getters
-    bool owns_lock() const noexcept;
-    explicit operator bool () const noexcept;
-    mutex_type* mutex() const noexcept;
-};
-
-template <class Mutex>
-    void swap(shared_lock<Mutex>& x, shared_lock<Mutex>& y) noexcept;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <version>
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-#if _LIBCPP_STD_VER > 11 || defined(_LIBCPP_BUILDING_LIBRARY)
-
-#include <__mutex_base>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef _LIBCPP_HAS_NO_THREADS
-#error <shared_mutex> is not supported on this single threaded system
-#else // !_LIBCPP_HAS_NO_THREADS
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-struct _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX _LIBCPP_THREAD_SAFETY_ANNOTATION(capability("shared_mutex"))
-__shared_mutex_base
-{
-    mutex               __mut_;
-    condition_variable  __gate1_;
-    condition_variable  __gate2_;
-    unsigned            __state_;
-
-    static const unsigned __write_entered_ = 1U << (sizeof(unsigned)*__CHAR_BIT__ - 1);
-    static const unsigned __n_readers_ = ~__write_entered_;
-
-    __shared_mutex_base();
-    _LIBCPP_INLINE_VISIBILITY ~__shared_mutex_base() = default;
-
-    __shared_mutex_base(const __shared_mutex_base&) = delete;
-    __shared_mutex_base& operator=(const __shared_mutex_base&) = delete;
-
-    // Exclusive ownership
-    void lock() _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability()); // blocking
-    bool try_lock() _LIBCPP_THREAD_SAFETY_ANNOTATION(try_acquire_capability(true));
-    void unlock() _LIBCPP_THREAD_SAFETY_ANNOTATION(release_capability());
-
-    // Shared ownership
-    void lock_shared() _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_shared_capability()); // blocking
-    bool try_lock_shared() _LIBCPP_THREAD_SAFETY_ANNOTATION(try_acquire_shared_capability(true));
-    void unlock_shared() _LIBCPP_THREAD_SAFETY_ANNOTATION(release_shared_capability());
-
-//     typedef implementation-defined native_handle_type; // See 30.2.3
-//     native_handle_type native_handle(); // See 30.2.3
-};
-
-
-#if _LIBCPP_STD_VER > 14
-class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_mutex
-{
-    __shared_mutex_base __base;
-public:
-    _LIBCPP_INLINE_VISIBILITY shared_mutex() : __base() {}
-    _LIBCPP_INLINE_VISIBILITY ~shared_mutex() = default;
-
-    shared_mutex(const shared_mutex&) = delete;
-    shared_mutex& operator=(const shared_mutex&) = delete;
-
-    // Exclusive ownership
-    _LIBCPP_INLINE_VISIBILITY void lock()     { return __base.lock(); }
-    _LIBCPP_INLINE_VISIBILITY bool try_lock() { return __base.try_lock(); }
-    _LIBCPP_INLINE_VISIBILITY void unlock()   { return __base.unlock(); }
-
-    // Shared ownership
-    _LIBCPP_INLINE_VISIBILITY void lock_shared()     { return __base.lock_shared(); }
-    _LIBCPP_INLINE_VISIBILITY bool try_lock_shared() { return __base.try_lock_shared(); }
-    _LIBCPP_INLINE_VISIBILITY void unlock_shared()   { return __base.unlock_shared(); }
-
-//     typedef __shared_mutex_base::native_handle_type native_handle_type;
-//     _LIBCPP_INLINE_VISIBILITY native_handle_type native_handle() { return __base::unlock_shared(); }
-};
-#endif
-
-
-class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
-{
-    __shared_mutex_base __base;
-public:
-    shared_timed_mutex();
-    _LIBCPP_INLINE_VISIBILITY ~shared_timed_mutex() = default;
-
-    shared_timed_mutex(const shared_timed_mutex&) = delete;
-    shared_timed_mutex& operator=(const shared_timed_mutex&) = delete;
-
-    // Exclusive ownership
-    void lock();
-    bool try_lock();
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        bool
-        try_lock_for(const chrono::duration<_Rep, _Period>& __rel_time)
-        {
-            return try_lock_until(chrono::steady_clock::now() + __rel_time);
-        }
-    template <class _Clock, class _Duration>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        bool
-        try_lock_until(const chrono::time_point<_Clock, _Duration>& __abs_time);
-    void unlock();
-
-    // Shared ownership
-    void lock_shared();
-    bool try_lock_shared();
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        bool
-        try_lock_shared_for(const chrono::duration<_Rep, _Period>& __rel_time)
-        {
-            return try_lock_shared_until(chrono::steady_clock::now() + __rel_time);
-        }
-    template <class _Clock, class _Duration>
-        _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
-        bool
-        try_lock_shared_until(const chrono::time_point<_Clock, _Duration>& __abs_time);
-    void unlock_shared();
-};
-
-template <class _Clock, class _Duration>
-bool
-shared_timed_mutex::try_lock_until(
-                        const chrono::time_point<_Clock, _Duration>& __abs_time)
-{
-    unique_lock<mutex> __lk(__base.__mut_);
-    if (__base.__state_ & __base.__write_entered_)
-    {
-        while (true)
-        {
-            cv_status __status = __base.__gate1_.wait_until(__lk, __abs_time);
-            if ((__base.__state_ & __base.__write_entered_) == 0)
-                break;
-            if (__status == cv_status::timeout)
-                return false;
-        }
-    }
-    __base.__state_ |= __base.__write_entered_;
-    if (__base.__state_ & __base.__n_readers_)
-    {
-        while (true)
-        {
-            cv_status __status = __base.__gate2_.wait_until(__lk, __abs_time);
-            if ((__base.__state_ & __base.__n_readers_) == 0)
-                break;
-            if (__status == cv_status::timeout)
-            {
-                __base.__state_ &= ~__base.__write_entered_;
-                __base.__gate1_.notify_all();
-                return false;
-            }
-        }
-    }
-    return true;
-}
-
-template <class _Clock, class _Duration>
-bool
-shared_timed_mutex::try_lock_shared_until(
-                        const chrono::time_point<_Clock, _Duration>& __abs_time)
-{
-    unique_lock<mutex> __lk(__base.__mut_);
-    if ((__base.__state_ & __base.__write_entered_) || (__base.__state_ & __base.__n_readers_) == __base.__n_readers_)
-    {
-        while (true)
-        {
-            cv_status status = __base.__gate1_.wait_until(__lk, __abs_time);
-            if ((__base.__state_ & __base.__write_entered_) == 0 &&
-                                       (__base.__state_ & __base.__n_readers_) < __base.__n_readers_)
-                break;
-            if (status == cv_status::timeout)
-                return false;
-        }
-    }
-    unsigned __num_readers = (__base.__state_ & __base.__n_readers_) + 1;
-    __base.__state_ &= ~__base.__n_readers_;
-    __base.__state_ |= __num_readers;
-    return true;
-}
-
-template <class _Mutex>
-class shared_lock
-{
-public:
-    typedef _Mutex mutex_type;
-
-private:
-    mutex_type* __m_;
-    bool __owns_;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    shared_lock() _NOEXCEPT
-        : __m_(nullptr),
-          __owns_(false)
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit shared_lock(mutex_type& __m)
-        : __m_(_VSTD::addressof(__m)),
-          __owns_(true)
-        {__m_->lock_shared();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    shared_lock(mutex_type& __m, defer_lock_t) _NOEXCEPT
-        : __m_(_VSTD::addressof(__m)),
-          __owns_(false)
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    shared_lock(mutex_type& __m, try_to_lock_t)
-        : __m_(_VSTD::addressof(__m)),
-          __owns_(__m.try_lock_shared())
-        {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    shared_lock(mutex_type& __m, adopt_lock_t)
-        : __m_(_VSTD::addressof(__m)),
-          __owns_(true)
-        {}
-
-    template <class _Clock, class _Duration>
-        _LIBCPP_INLINE_VISIBILITY
-        shared_lock(mutex_type& __m,
-                    const chrono::time_point<_Clock, _Duration>& __abs_time)
-            : __m_(_VSTD::addressof(__m)),
-              __owns_(__m.try_lock_shared_until(__abs_time))
-            {}
-
-    template <class _Rep, class _Period>
-        _LIBCPP_INLINE_VISIBILITY
-        shared_lock(mutex_type& __m,
-                    const chrono::duration<_Rep, _Period>& __rel_time)
-            : __m_(_VSTD::addressof(__m)),
-              __owns_(__m.try_lock_shared_for(__rel_time))
-            {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    ~shared_lock()
-    {
-        if (__owns_)
-            __m_->unlock_shared();
-    }
-
-    shared_lock(shared_lock const&) = delete;
-    shared_lock& operator=(shared_lock const&) = delete;
-
-    _LIBCPP_INLINE_VISIBILITY
-    shared_lock(shared_lock&& __u) _NOEXCEPT
-        : __m_(__u.__m_),
-          __owns_(__u.__owns_)
-        {
-            __u.__m_ = nullptr;
-            __u.__owns_ = false;
-        }
-
-    _LIBCPP_INLINE_VISIBILITY
-    shared_lock& operator=(shared_lock&& __u) _NOEXCEPT
-    {
-        if (__owns_)
-            __m_->unlock_shared();
-        __m_ = nullptr;
-        __owns_ = false;
-        __m_ = __u.__m_;
-        __owns_ = __u.__owns_;
-        __u.__m_ = nullptr;
-        __u.__owns_ = false;
-        return *this;
-    }
-
-    void lock();
-    bool try_lock();
-    template <class Rep, class Period>
-        bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
-    template <class Clock, class Duration>
-        bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
-    void unlock();
-
-    // Setters
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(shared_lock& __u) _NOEXCEPT
-    {
-        _VSTD::swap(__m_, __u.__m_);
-        _VSTD::swap(__owns_, __u.__owns_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    mutex_type* release() _NOEXCEPT
-    {
-        mutex_type* __m = __m_;
-        __m_ = nullptr;
-        __owns_ = false;
-        return __m;
-    }
-
-    // Getters
-    _LIBCPP_INLINE_VISIBILITY
-    bool owns_lock() const _NOEXCEPT {return __owns_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit operator bool () const _NOEXCEPT {return __owns_;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    mutex_type* mutex() const _NOEXCEPT {return __m_;}
-};
-
-template <class _Mutex>
-void
-shared_lock<_Mutex>::lock()
-{
-    if (__m_ == nullptr)
-        __throw_system_error(EPERM, "shared_lock::lock: references null mutex");
-    if (__owns_)
-        __throw_system_error(EDEADLK, "shared_lock::lock: already locked");
-    __m_->lock_shared();
-    __owns_ = true;
-}
-
-template <class _Mutex>
-bool
-shared_lock<_Mutex>::try_lock()
-{
-    if (__m_ == nullptr)
-        __throw_system_error(EPERM, "shared_lock::try_lock: references null mutex");
-    if (__owns_)
-        __throw_system_error(EDEADLK, "shared_lock::try_lock: already locked");
-    __owns_ = __m_->try_lock_shared();
-    return __owns_;
-}
-
-template <class _Mutex>
-template <class _Rep, class _Period>
-bool
-shared_lock<_Mutex>::try_lock_for(const chrono::duration<_Rep, _Period>& __d)
-{
-    if (__m_ == nullptr)
-        __throw_system_error(EPERM, "shared_lock::try_lock_for: references null mutex");
-    if (__owns_)
-        __throw_system_error(EDEADLK, "shared_lock::try_lock_for: already locked");
-    __owns_ = __m_->try_lock_shared_for(__d);
-    return __owns_;
-}
-
-template <class _Mutex>
-template <class _Clock, class _Duration>
-bool
-shared_lock<_Mutex>::try_lock_until(const chrono::time_point<_Clock, _Duration>& __t)
-{
-    if (__m_ == nullptr)
-        __throw_system_error(EPERM, "shared_lock::try_lock_until: references null mutex");
-    if (__owns_)
-        __throw_system_error(EDEADLK, "shared_lock::try_lock_until: already locked");
-    __owns_ = __m_->try_lock_shared_until(__t);
-    return __owns_;
-}
-
-template <class _Mutex>
-void
-shared_lock<_Mutex>::unlock()
-{
-    if (!__owns_)
-        __throw_system_error(EPERM, "shared_lock::unlock: not locked");
-    __m_->unlock_shared();
-    __owns_ = false;
-}
-
-template <class _Mutex>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(shared_lock<_Mutex>& __x, shared_lock<_Mutex>& __y) _NOEXCEPT
-    {__x.swap(__y);}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // !_LIBCPP_HAS_NO_THREADS
-
-#endif  // _LIBCPP_STD_VER > 11
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_SHARED_MUTEX
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/sstream b/r23/sources/cxx-stl/llvm-libc++/include/sstream
deleted file mode 100644
index 14c9197..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/sstream
+++ /dev/null
@@ -1,985 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- sstream ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SSTREAM
-#define _LIBCPP_SSTREAM
-
-/*
-    sstream synopsis
-
-template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-class basic_stringbuf
-    : public basic_streambuf<charT, traits>
-{
-public:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef Allocator                      allocator_type;
-
-    // 27.8.1.1 Constructors:
-    explicit basic_stringbuf(ios_base::openmode which = ios_base::in | ios_base::out);
-    explicit basic_stringbuf(const basic_string<char_type, traits_type, allocator_type>& str,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-    basic_stringbuf(basic_stringbuf&& rhs);
-
-    // 27.8.1.2 Assign and swap:
-    basic_stringbuf& operator=(basic_stringbuf&& rhs);
-    void swap(basic_stringbuf& rhs);
-
-    // 27.8.1.3 Get and set:
-    basic_string<char_type, traits_type, allocator_type> str() const;
-    void str(const basic_string<char_type, traits_type, allocator_type>& s);
-
-protected:
-    // 27.8.1.4 Overridden virtual functions:
-    virtual int_type underflow();
-    virtual int_type pbackfail(int_type c = traits_type::eof());
-    virtual int_type overflow (int_type c = traits_type::eof());
-    virtual basic_streambuf<char_type, traits_type>* setbuf(char_type*, streamsize);
-    virtual pos_type seekoff(off_type off, ios_base::seekdir way,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-    virtual pos_type seekpos(pos_type sp,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-};
-
-template <class charT, class traits, class Allocator>
-  void swap(basic_stringbuf<charT, traits, Allocator>& x,
-            basic_stringbuf<charT, traits, Allocator>& y);
-
-typedef basic_stringbuf<char>    stringbuf;
-typedef basic_stringbuf<wchar_t> wstringbuf;
-
-template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-class basic_istringstream
-    : public basic_istream<charT, traits>
-{
-public:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef Allocator                      allocator_type;
-
-    // 27.8.2.1 Constructors:
-    explicit basic_istringstream(ios_base::openmode which = ios_base::in);
-    explicit basic_istringstream(const basic_string<char_type, traits_type,allocator_type>& str,
-                                 ios_base::openmode which = ios_base::in);
-    basic_istringstream(basic_istringstream&& rhs);
-
-    // 27.8.2.2 Assign and swap:
-    basic_istringstream& operator=(basic_istringstream&& rhs);
-    void swap(basic_istringstream& rhs);
-
-    // 27.8.2.3 Members:
-    basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
-    basic_string<char_type, traits_type, allocator_type> str() const;
-    void str(const basic_string<char_type, traits_type, allocator_type>& s);
-};
-
-template <class charT, class traits, class Allocator>
-  void swap(basic_istringstream<charT, traits, Allocator>& x,
-            basic_istringstream<charT, traits, Allocator>& y);
-
-typedef basic_istringstream<char>    istringstream;
-typedef basic_istringstream<wchar_t> wistringstream;
-
-template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-class basic_ostringstream
-    : public basic_ostream<charT, traits>
-{
-public:
-    // types:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef Allocator                      allocator_type;
-
-    // 27.8.3.1 Constructors/destructor:
-    explicit basic_ostringstream(ios_base::openmode which = ios_base::out);
-    explicit basic_ostringstream(const basic_string<char_type, traits_type, allocator_type>& str,
-                                 ios_base::openmode which = ios_base::out);
-    basic_ostringstream(basic_ostringstream&& rhs);
-
-    // 27.8.3.2 Assign/swap:
-    basic_ostringstream& operator=(basic_ostringstream&& rhs);
-    void swap(basic_ostringstream& rhs);
-
-    // 27.8.3.3 Members:
-    basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
-    basic_string<char_type, traits_type, allocator_type> str() const;
-    void str(const basic_string<char_type, traits_type, allocator_type>& s);
-};
-
-template <class charT, class traits, class Allocator>
-  void swap(basic_ostringstream<charT, traits, Allocator>& x,
-            basic_ostringstream<charT, traits, Allocator>& y);
-
-typedef basic_ostringstream<char>    ostringstream;
-typedef basic_ostringstream<wchar_t> wostringstream;
-
-template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
-class basic_stringstream
-    : public basic_iostream<charT, traits>
-{
-public:
-    // types:
-    typedef charT                          char_type;
-    typedef traits                         traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef Allocator                      allocator_type;
-
-    // constructors/destructor
-    explicit basic_stringstream(ios_base::openmode which = ios_base::out|ios_base::in);
-    explicit basic_stringstream(const basic_string<char_type, traits_type, allocator_type>& str,
-                                ios_base::openmode which = ios_base::out|ios_base::in);
-    basic_stringstream(basic_stringstream&& rhs);
-
-    // 27.8.5.1 Assign/swap:
-    basic_stringstream& operator=(basic_stringstream&& rhs);
-    void swap(basic_stringstream& rhs);
-
-    // Members:
-    basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
-    basic_string<char_type, traits_type, allocator_type> str() const;
-    void str(const basic_string<char_type, traits_type, allocator_type>& str);
-};
-
-template <class charT, class traits, class Allocator>
-  void swap(basic_stringstream<charT, traits, Allocator>& x,
-            basic_stringstream<charT, traits, Allocator>& y);
-
-typedef basic_stringstream<char>    stringstream;
-typedef basic_stringstream<wchar_t> wstringstream;
-
-}  // std
-
-*/
-
-#include <__config>
-#include <ostream>
-#include <istream>
-#include <string>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// basic_stringbuf
-
-template <class _CharT, class _Traits, class _Allocator>
-class _LIBCPP_TEMPLATE_VIS basic_stringbuf
-    : public basic_streambuf<_CharT, _Traits>
-{
-public:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef _Allocator                     allocator_type;
-
-    typedef basic_string<char_type, traits_type, allocator_type> string_type;
-
-private:
-
-    string_type __str_;
-    mutable char_type* __hm_;
-    ios_base::openmode __mode_;
-
-public:
-    // 27.8.1.1 Constructors:
-    inline _LIBCPP_INLINE_VISIBILITY
-    explicit basic_stringbuf(ios_base::openmode __wch = ios_base::in | ios_base::out);
-    inline _LIBCPP_INLINE_VISIBILITY
-    explicit basic_stringbuf(const string_type& __s,
-                             ios_base::openmode __wch = ios_base::in | ios_base::out);
-#ifndef _LIBCPP_CXX03_LANG
-    basic_stringbuf(basic_stringbuf&& __rhs);
-
-    // 27.8.1.2 Assign and swap:
-    basic_stringbuf& operator=(basic_stringbuf&& __rhs);
-#endif
-    void swap(basic_stringbuf& __rhs);
-
-    // 27.8.1.3 Get and set:
-    string_type str() const;
-    void str(const string_type& __s);
-
-protected:
-    // 27.8.1.4 Overridden virtual functions:
-    virtual int_type underflow();
-    virtual int_type pbackfail(int_type __c = traits_type::eof());
-    virtual int_type overflow (int_type __c = traits_type::eof());
-    virtual pos_type seekoff(off_type __off, ios_base::seekdir __way,
-                             ios_base::openmode __wch = ios_base::in | ios_base::out);
-    inline _LIBCPP_INLINE_VISIBILITY
-    virtual pos_type seekpos(pos_type __sp,
-                             ios_base::openmode __wch = ios_base::in | ios_base::out);
-};
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(ios_base::openmode __wch)
-    : __hm_(0),
-      __mode_(__wch)
-{
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(const string_type& __s,
-                             ios_base::openmode __wch)
-    : __str_(__s.get_allocator()),
-      __hm_(0),
-      __mode_(__wch)
-{
-    str(__s);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(basic_stringbuf&& __rhs)
-    : __mode_(__rhs.__mode_)
-{
-    char_type* __p = const_cast<char_type*>(__rhs.__str_.data());
-    ptrdiff_t __binp = -1;
-    ptrdiff_t __ninp = -1;
-    ptrdiff_t __einp = -1;
-    if (__rhs.eback() != nullptr)
-    {
-        __binp = __rhs.eback() - __p;
-        __ninp = __rhs.gptr() - __p;
-        __einp = __rhs.egptr() - __p;
-    }
-    ptrdiff_t __bout = -1;
-    ptrdiff_t __nout = -1;
-    ptrdiff_t __eout = -1;
-    if (__rhs.pbase() != nullptr)
-    {
-        __bout = __rhs.pbase() - __p;
-        __nout = __rhs.pptr() - __p;
-        __eout = __rhs.epptr() - __p;
-    }
-    ptrdiff_t __hm = __rhs.__hm_ == nullptr ? -1 : __rhs.__hm_ - __p;
-    __str_ = _VSTD::move(__rhs.__str_);
-    __p = const_cast<char_type*>(__str_.data());
-    if (__binp != -1)
-        this->setg(__p + __binp, __p + __ninp, __p + __einp);
-    if (__bout != -1)
-    {
-        this->setp(__p + __bout, __p + __eout);
-        this->__pbump(__nout);
-    }
-    __hm_ = __hm == -1 ? nullptr : __p + __hm;
-    __p = const_cast<char_type*>(__rhs.__str_.data());
-    __rhs.setg(__p, __p, __p);
-    __rhs.setp(__p, __p);
-    __rhs.__hm_ = __p;
-    this->pubimbue(__rhs.getloc());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringbuf<_CharT, _Traits, _Allocator>&
-basic_stringbuf<_CharT, _Traits, _Allocator>::operator=(basic_stringbuf&& __rhs)
-{
-    char_type* __p = const_cast<char_type*>(__rhs.__str_.data());
-    ptrdiff_t __binp = -1;
-    ptrdiff_t __ninp = -1;
-    ptrdiff_t __einp = -1;
-    if (__rhs.eback() != nullptr)
-    {
-        __binp = __rhs.eback() - __p;
-        __ninp = __rhs.gptr() - __p;
-        __einp = __rhs.egptr() - __p;
-    }
-    ptrdiff_t __bout = -1;
-    ptrdiff_t __nout = -1;
-    ptrdiff_t __eout = -1;
-    if (__rhs.pbase() != nullptr)
-    {
-        __bout = __rhs.pbase() - __p;
-        __nout = __rhs.pptr() - __p;
-        __eout = __rhs.epptr() - __p;
-    }
-    ptrdiff_t __hm = __rhs.__hm_ == nullptr ? -1 : __rhs.__hm_ - __p;
-    __str_ = _VSTD::move(__rhs.__str_);
-    __p = const_cast<char_type*>(__str_.data());
-    if (__binp != -1)
-        this->setg(__p + __binp, __p + __ninp, __p + __einp);
-    else
-        this->setg(nullptr, nullptr, nullptr);
-    if (__bout != -1)
-    {
-        this->setp(__p + __bout, __p + __eout);
-        this->__pbump(__nout);
-    }
-    else
-        this->setp(nullptr, nullptr);
-
-    __hm_ = __hm == -1 ? nullptr : __p + __hm;
-    __mode_ = __rhs.__mode_;
-    __p = const_cast<char_type*>(__rhs.__str_.data());
-    __rhs.setg(__p, __p, __p);
-    __rhs.setp(__p, __p);
-    __rhs.__hm_ = __p;
-    this->pubimbue(__rhs.getloc());
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_stringbuf<_CharT, _Traits, _Allocator>::swap(basic_stringbuf& __rhs)
-{
-    char_type* __p = const_cast<char_type*>(__rhs.__str_.data());
-    ptrdiff_t __rbinp = -1;
-    ptrdiff_t __rninp = -1;
-    ptrdiff_t __reinp = -1;
-    if (__rhs.eback() != nullptr)
-    {
-        __rbinp = __rhs.eback() - __p;
-        __rninp = __rhs.gptr() - __p;
-        __reinp = __rhs.egptr() - __p;
-    }
-    ptrdiff_t __rbout = -1;
-    ptrdiff_t __rnout = -1;
-    ptrdiff_t __reout = -1;
-    if (__rhs.pbase() != nullptr)
-    {
-        __rbout = __rhs.pbase() - __p;
-        __rnout = __rhs.pptr() - __p;
-        __reout = __rhs.epptr() - __p;
-    }
-    ptrdiff_t __rhm = __rhs.__hm_ == nullptr ? -1 : __rhs.__hm_ - __p;
-    __p = const_cast<char_type*>(__str_.data());
-    ptrdiff_t __lbinp = -1;
-    ptrdiff_t __lninp = -1;
-    ptrdiff_t __leinp = -1;
-    if (this->eback() != nullptr)
-    {
-        __lbinp = this->eback() - __p;
-        __lninp = this->gptr() - __p;
-        __leinp = this->egptr() - __p;
-    }
-    ptrdiff_t __lbout = -1;
-    ptrdiff_t __lnout = -1;
-    ptrdiff_t __leout = -1;
-    if (this->pbase() != nullptr)
-    {
-        __lbout = this->pbase() - __p;
-        __lnout = this->pptr() - __p;
-        __leout = this->epptr() - __p;
-    }
-    ptrdiff_t __lhm = __hm_ == nullptr ? -1 : __hm_ - __p;
-    _VSTD::swap(__mode_, __rhs.__mode_);
-    __str_.swap(__rhs.__str_);
-    __p = const_cast<char_type*>(__str_.data());
-    if (__rbinp != -1)
-        this->setg(__p + __rbinp, __p + __rninp, __p + __reinp);
-    else
-        this->setg(nullptr, nullptr, nullptr);
-    if (__rbout != -1)
-    {
-        this->setp(__p + __rbout, __p + __reout);
-        this->__pbump(__rnout);
-    }
-    else
-        this->setp(nullptr, nullptr);
-    __hm_ = __rhm == -1 ? nullptr : __p + __rhm;
-    __p = const_cast<char_type*>(__rhs.__str_.data());
-    if (__lbinp != -1)
-        __rhs.setg(__p + __lbinp, __p + __lninp, __p + __leinp);
-    else
-        __rhs.setg(nullptr, nullptr, nullptr);
-    if (__lbout != -1)
-    {
-        __rhs.setp(__p + __lbout, __p + __leout);
-        __rhs.__pbump(__lnout);
-    }
-    else
-        __rhs.setp(nullptr, nullptr);
-    __rhs.__hm_ = __lhm == -1 ? nullptr : __p + __lhm;
-    locale __tl = __rhs.getloc();
-    __rhs.pubimbue(this->getloc());
-    this->pubimbue(__tl);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
-     basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-basic_stringbuf<_CharT, _Traits, _Allocator>::str() const
-{
-    if (__mode_ & ios_base::out)
-    {
-        if (__hm_ < this->pptr())
-            __hm_ = this->pptr();
-        return string_type(this->pbase(), __hm_, __str_.get_allocator());
-    }
-    else if (__mode_ & ios_base::in)
-        return string_type(this->eback(), this->egptr(), __str_.get_allocator());
-    return string_type(__str_.get_allocator());
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_stringbuf<_CharT, _Traits, _Allocator>::str(const string_type& __s)
-{
-    __str_ = __s;
-    __hm_ = 0;
-    if (__mode_ & ios_base::in)
-    {
-        __hm_ = const_cast<char_type*>(__str_.data()) + __str_.size();
-        this->setg(const_cast<char_type*>(__str_.data()),
-                   const_cast<char_type*>(__str_.data()),
-                   __hm_);
-    }
-    if (__mode_ & ios_base::out)
-    {
-        typename string_type::size_type __sz = __str_.size();
-        __hm_ = const_cast<char_type*>(__str_.data()) + __sz;
-        __str_.resize(__str_.capacity());
-        this->setp(const_cast<char_type*>(__str_.data()),
-                   const_cast<char_type*>(__str_.data()) + __str_.size());
-        if (__mode_ & (ios_base::app | ios_base::ate))
-        {
-            while (__sz > INT_MAX)
-            {
-                this->pbump(INT_MAX);
-                __sz -= INT_MAX;
-            }
-            if (__sz > 0)
-                this->pbump(__sz);
-        }
-    }
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_stringbuf<_CharT, _Traits, _Allocator>::int_type
-basic_stringbuf<_CharT, _Traits, _Allocator>::underflow()
-{
-    if (__hm_ < this->pptr())
-        __hm_ = this->pptr();
-    if (__mode_ & ios_base::in)
-    {
-        if (this->egptr() < __hm_)
-            this->setg(this->eback(), this->gptr(), __hm_);
-        if (this->gptr() < this->egptr())
-            return traits_type::to_int_type(*this->gptr());
-    }
-    return traits_type::eof();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_stringbuf<_CharT, _Traits, _Allocator>::int_type
-basic_stringbuf<_CharT, _Traits, _Allocator>::pbackfail(int_type __c)
-{
-    if (__hm_ < this->pptr())
-        __hm_ = this->pptr();
-    if (this->eback() < this->gptr())
-    {
-        if (traits_type::eq_int_type(__c, traits_type::eof()))
-        {
-            this->setg(this->eback(), this->gptr()-1, __hm_);
-            return traits_type::not_eof(__c);
-        }
-        if ((__mode_ & ios_base::out) ||
-            traits_type::eq(traits_type::to_char_type(__c), this->gptr()[-1]))
-        {
-            this->setg(this->eback(), this->gptr()-1, __hm_);
-            *this->gptr() = traits_type::to_char_type(__c);
-            return __c;
-        }
-    }
-    return traits_type::eof();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_stringbuf<_CharT, _Traits, _Allocator>::int_type
-basic_stringbuf<_CharT, _Traits, _Allocator>::overflow(int_type __c)
-{
-    if (!traits_type::eq_int_type(__c, traits_type::eof()))
-    {
-        ptrdiff_t __ninp = this->gptr()  - this->eback();
-        if (this->pptr() == this->epptr())
-        {
-            if (!(__mode_ & ios_base::out))
-                return traits_type::eof();
-#ifndef _LIBCPP_NO_EXCEPTIONS
-            try
-            {
-#endif  // _LIBCPP_NO_EXCEPTIONS
-                ptrdiff_t __nout = this->pptr()  - this->pbase();
-                ptrdiff_t __hm = __hm_ - this->pbase();
-                __str_.push_back(char_type());
-                __str_.resize(__str_.capacity());
-                char_type* __p = const_cast<char_type*>(__str_.data());
-                this->setp(__p, __p + __str_.size());
-                this->__pbump(__nout);
-                __hm_ = this->pbase() + __hm;
-#ifndef _LIBCPP_NO_EXCEPTIONS
-            }
-            catch (...)
-            {
-                return traits_type::eof();
-            }
-#endif  // _LIBCPP_NO_EXCEPTIONS
-        }
-        __hm_ = _VSTD::max(this->pptr() + 1, __hm_);
-        if (__mode_ & ios_base::in)
-        {
-            char_type* __p = const_cast<char_type*>(__str_.data());
-            this->setg(__p, __p + __ninp, __hm_);
-        }
-        return this->sputc(traits_type::to_char_type(__c));
-    }
-    return traits_type::not_eof(__c);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_stringbuf<_CharT, _Traits, _Allocator>::pos_type
-basic_stringbuf<_CharT, _Traits, _Allocator>::seekoff(off_type __off,
-                                                      ios_base::seekdir __way,
-                                                      ios_base::openmode __wch)
-{
-    if (__hm_ < this->pptr())
-        __hm_ = this->pptr();
-    if ((__wch & (ios_base::in | ios_base::out)) == 0)
-        return pos_type(-1);
-    if ((__wch & (ios_base::in | ios_base::out)) == (ios_base::in | ios_base::out)
-        && __way == ios_base::cur)
-        return pos_type(-1);
-    const ptrdiff_t __hm = __hm_ == nullptr ? 0 : __hm_ - __str_.data();
-    off_type __noff;
-    switch (__way)
-    {
-    case ios_base::beg:
-        __noff = 0;
-        break;
-    case ios_base::cur:
-        if (__wch & ios_base::in)
-            __noff = this->gptr() - this->eback();
-        else
-            __noff = this->pptr() - this->pbase();
-        break;
-    case ios_base::end:
-        __noff = __hm;
-        break;
-    default:
-        return pos_type(-1);
-    }
-    __noff += __off;
-    if (__noff < 0 || __hm < __noff)
-        return pos_type(-1);
-    if (__noff != 0)
-    {
-        if ((__wch & ios_base::in) && this->gptr() == 0)
-            return pos_type(-1);
-        if ((__wch & ios_base::out) && this->pptr() == 0)
-            return pos_type(-1);
-    }
-    if (__wch & ios_base::in)
-        this->setg(this->eback(), this->eback() + __noff, __hm_);
-    if (__wch & ios_base::out)
-    {
-        this->setp(this->pbase(), this->epptr());
-        this->pbump(__noff);
-    }
-    return pos_type(__noff);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-typename basic_stringbuf<_CharT, _Traits, _Allocator>::pos_type
-basic_stringbuf<_CharT, _Traits, _Allocator>::seekpos(pos_type __sp,
-                                                      ios_base::openmode __wch)
-{
-    return seekoff(__sp, ios_base::beg, __wch);
-}
-
-// basic_istringstream
-
-template <class _CharT, class _Traits, class _Allocator>
-class _LIBCPP_TEMPLATE_VIS basic_istringstream
-    : public basic_istream<_CharT, _Traits>
-{
-public:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef _Allocator                     allocator_type;
-
-    typedef basic_string<char_type, traits_type, allocator_type> string_type;
-
-private:
-    basic_stringbuf<char_type, traits_type, allocator_type> __sb_;
-
-public:
-    // 27.8.2.1 Constructors:
-    inline _LIBCPP_INLINE_VISIBILITY
-    explicit basic_istringstream(ios_base::openmode __wch = ios_base::in);
-    inline _LIBCPP_INLINE_VISIBILITY
-    explicit basic_istringstream(const string_type& __s,
-                                 ios_base::openmode __wch = ios_base::in);
-#ifndef _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_istringstream(basic_istringstream&& __rhs);
-
-    // 27.8.2.2 Assign and swap:
-    basic_istringstream& operator=(basic_istringstream&& __rhs);
-#endif  // _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_istringstream& __rhs);
-
-    // 27.8.2.3 Members:
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
-    inline _LIBCPP_INLINE_VISIBILITY
-    string_type str() const;
-    inline _LIBCPP_INLINE_VISIBILITY
-    void str(const string_type& __s);
-};
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(ios_base::openmode __wch)
-    : basic_istream<_CharT, _Traits>(&__sb_),
-      __sb_(__wch | ios_base::in)
-{
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(const string_type& __s,
-                                                                      ios_base::openmode __wch)
-    : basic_istream<_CharT, _Traits>(&__sb_),
-      __sb_(__s, __wch | ios_base::in)
-{
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(basic_istringstream&& __rhs)
-    : basic_istream<_CharT, _Traits>(_VSTD::move(__rhs)),
-      __sb_(_VSTD::move(__rhs.__sb_))
-{
-    basic_istream<_CharT, _Traits>::set_rdbuf(&__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_istringstream<_CharT, _Traits, _Allocator>&
-basic_istringstream<_CharT, _Traits, _Allocator>::operator=(basic_istringstream&& __rhs)
-{
-    basic_istream<char_type, traits_type>::operator=(_VSTD::move(__rhs));
-    __sb_ = _VSTD::move(__rhs.__sb_);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-void basic_istringstream<_CharT, _Traits, _Allocator>::swap(basic_istringstream& __rhs)
-{
-    basic_istream<char_type, traits_type>::swap(__rhs);
-    __sb_.swap(__rhs.__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
-     basic_istringstream<_CharT, _Traits, _Allocator>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringbuf<_CharT, _Traits, _Allocator>*
-basic_istringstream<_CharT, _Traits, _Allocator>::rdbuf() const
-{
-    return const_cast<basic_stringbuf<char_type, traits_type, allocator_type>*>(&__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-basic_istringstream<_CharT, _Traits, _Allocator>::str() const
-{
-    return __sb_.str();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void basic_istringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
-{
-    __sb_.str(__s);
-}
-
-// basic_ostringstream
-
-template <class _CharT, class _Traits, class _Allocator>
-class _LIBCPP_TEMPLATE_VIS basic_ostringstream
-    : public basic_ostream<_CharT, _Traits>
-{
-public:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef _Allocator                     allocator_type;
-
-    typedef basic_string<char_type, traits_type, allocator_type> string_type;
-
-private:
-    basic_stringbuf<char_type, traits_type, allocator_type> __sb_;
-
-public:
-    // 27.8.2.1 Constructors:
-    inline _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ostringstream(ios_base::openmode __wch = ios_base::out);
-    inline _LIBCPP_INLINE_VISIBILITY
-    explicit basic_ostringstream(const string_type& __s,
-                                 ios_base::openmode __wch = ios_base::out);
-#ifndef _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_ostringstream(basic_ostringstream&& __rhs);
-
-    // 27.8.2.2 Assign and swap:
-    basic_ostringstream& operator=(basic_ostringstream&& __rhs);
-#endif  // _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_ostringstream& __rhs);
-
-    // 27.8.2.3 Members:
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
-    inline _LIBCPP_INLINE_VISIBILITY
-    string_type str() const;
-    inline _LIBCPP_INLINE_VISIBILITY
-    void str(const string_type& __s);
-};
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(ios_base::openmode __wch)
-    : basic_ostream<_CharT, _Traits>(&__sb_),
-      __sb_(__wch | ios_base::out)
-{
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(const string_type& __s,
-                                                                      ios_base::openmode __wch)
-    : basic_ostream<_CharT, _Traits>(&__sb_),
-      __sb_(__s, __wch | ios_base::out)
-{
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(basic_ostringstream&& __rhs)
-    : basic_ostream<_CharT, _Traits>(_VSTD::move(__rhs)),
-      __sb_(_VSTD::move(__rhs.__sb_))
-{
-    basic_ostream<_CharT, _Traits>::set_rdbuf(&__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_ostringstream<_CharT, _Traits, _Allocator>&
-basic_ostringstream<_CharT, _Traits, _Allocator>::operator=(basic_ostringstream&& __rhs)
-{
-    basic_ostream<char_type, traits_type>::operator=(_VSTD::move(__rhs));
-    __sb_ = _VSTD::move(__rhs.__sb_);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_ostringstream<_CharT, _Traits, _Allocator>::swap(basic_ostringstream& __rhs)
-{
-    basic_ostream<char_type, traits_type>::swap(__rhs);
-    __sb_.swap(__rhs.__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
-     basic_ostringstream<_CharT, _Traits, _Allocator>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringbuf<_CharT, _Traits, _Allocator>*
-basic_ostringstream<_CharT, _Traits, _Allocator>::rdbuf() const
-{
-    return const_cast<basic_stringbuf<char_type, traits_type, allocator_type>*>(&__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-basic_ostringstream<_CharT, _Traits, _Allocator>::str() const
-{
-    return __sb_.str();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_ostringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
-{
-    __sb_.str(__s);
-}
-
-// basic_stringstream
-
-template <class _CharT, class _Traits, class _Allocator>
-class _LIBCPP_TEMPLATE_VIS basic_stringstream
-    : public basic_iostream<_CharT, _Traits>
-{
-public:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-    typedef _Allocator                     allocator_type;
-
-    typedef basic_string<char_type, traits_type, allocator_type> string_type;
-
-private:
-    basic_stringbuf<char_type, traits_type, allocator_type> __sb_;
-
-public:
-    // 27.8.2.1 Constructors:
-    inline _LIBCPP_INLINE_VISIBILITY
-    explicit basic_stringstream(ios_base::openmode __wch = ios_base::in | ios_base::out);
-    inline _LIBCPP_INLINE_VISIBILITY
-    explicit basic_stringstream(const string_type& __s,
-                                ios_base::openmode __wch = ios_base::in | ios_base::out);
-#ifndef _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_stringstream(basic_stringstream&& __rhs);
-
-    // 27.8.2.2 Assign and swap:
-    basic_stringstream& operator=(basic_stringstream&& __rhs);
-#endif  // _LIBCPP_CXX03_LANG
-    inline _LIBCPP_INLINE_VISIBILITY
-    void swap(basic_stringstream& __rhs);
-
-    // 27.8.2.3 Members:
-    inline _LIBCPP_INLINE_VISIBILITY
-    basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
-    inline _LIBCPP_INLINE_VISIBILITY
-    string_type str() const;
-    inline _LIBCPP_INLINE_VISIBILITY
-    void str(const string_type& __s);
-};
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(ios_base::openmode __wch)
-    : basic_iostream<_CharT, _Traits>(&__sb_),
-      __sb_(__wch)
-{
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(const string_type& __s,
-                                                                    ios_base::openmode __wch)
-    : basic_iostream<_CharT, _Traits>(&__sb_),
-      __sb_(__s, __wch)
-{
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(basic_stringstream&& __rhs)
-    : basic_iostream<_CharT, _Traits>(_VSTD::move(__rhs)),
-      __sb_(_VSTD::move(__rhs.__sb_))
-{
-    basic_istream<_CharT, _Traits>::set_rdbuf(&__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringstream<_CharT, _Traits, _Allocator>&
-basic_stringstream<_CharT, _Traits, _Allocator>::operator=(basic_stringstream&& __rhs)
-{
-    basic_iostream<char_type, traits_type>::operator=(_VSTD::move(__rhs));
-    __sb_ = _VSTD::move(__rhs.__sb_);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_stringstream<_CharT, _Traits, _Allocator>::swap(basic_stringstream& __rhs)
-{
-    basic_iostream<char_type, traits_type>::swap(__rhs);
-    __sb_.swap(__rhs.__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
-     basic_stringstream<_CharT, _Traits, _Allocator>& __y)
-{
-    __x.swap(__y);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_stringbuf<_CharT, _Traits, _Allocator>*
-basic_stringstream<_CharT, _Traits, _Allocator>::rdbuf() const
-{
-    return const_cast<basic_stringbuf<char_type, traits_type, allocator_type>*>(&__sb_);
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-basic_string<_CharT, _Traits, _Allocator>
-basic_stringstream<_CharT, _Traits, _Allocator>::str() const
-{
-    return __sb_.str();
-}
-
-template <class _CharT, class _Traits, class _Allocator>
-void
-basic_stringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
-{
-    __sb_.str(__s);
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_SSTREAM
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/stack b/r23/sources/cxx-stl/llvm-libc++/include/stack
deleted file mode 100644
index 2a2b350..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/stack
+++ /dev/null
@@ -1,321 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- stack -----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STACK
-#define _LIBCPP_STACK
-
-/*
-    stack synopsis
-
-namespace std
-{
-
-template <class T, class Container = deque<T>>
-class stack
-{
-public:
-    typedef Container                                container_type;
-    typedef typename container_type::value_type      value_type;
-    typedef typename container_type::reference       reference;
-    typedef typename container_type::const_reference const_reference;
-    typedef typename container_type::size_type       size_type;
-
-protected:
-    container_type c;
-
-public:
-    stack() = default;
-    ~stack() = default;
-
-    stack(const stack& q) = default;
-    stack(stack&& q) = default;
-
-    stack& operator=(const stack& q) = default;
-    stack& operator=(stack&& q) = default;
-
-    explicit stack(const container_type& c);
-    explicit stack(container_type&& c);
-    template <class Alloc> explicit stack(const Alloc& a);
-    template <class Alloc> stack(const container_type& c, const Alloc& a);
-    template <class Alloc> stack(container_type&& c, const Alloc& a);
-    template <class Alloc> stack(const stack& c, const Alloc& a);
-    template <class Alloc> stack(stack&& c, const Alloc& a);
-
-    bool empty() const;
-    size_type size() const;
-    reference top();
-    const_reference top() const;
-
-    void push(const value_type& x);
-    void push(value_type&& x);
-    template <class... Args> reference emplace(Args&&... args); // reference in C++17
-    void pop();
-
-    void swap(stack& c) noexcept(is_nothrow_swappable_v<Container>)
-};
-
-template<class Container>
-  stack(Container) -> stack<typename Container::value_type, Container>;  // C++17
-
-template<class Container, class Allocator>
-  stack(Container, Allocator) -> stack<typename Container::value_type, Container>; // C++17
-
-template <class T, class Container>
-  bool operator==(const stack<T, Container>& x, const stack<T, Container>& y);
-template <class T, class Container>
-  bool operator< (const stack<T, Container>& x, const stack<T, Container>& y);
-template <class T, class Container>
-  bool operator!=(const stack<T, Container>& x, const stack<T, Container>& y);
-template <class T, class Container>
-  bool operator> (const stack<T, Container>& x, const stack<T, Container>& y);
-template <class T, class Container>
-  bool operator>=(const stack<T, Container>& x, const stack<T, Container>& y);
-template <class T, class Container>
-  bool operator<=(const stack<T, Container>& x, const stack<T, Container>& y);
-
-template <class T, class Container>
-  void swap(stack<T, Container>& x, stack<T, Container>& y)
-  noexcept(noexcept(x.swap(y)));
-
-}  // std
-
-*/
-
-#include <__config>
-#include <deque>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Tp, class _Container = deque<_Tp> > class _LIBCPP_TEMPLATE_VIS stack;
-
-template <class _Tp, class _Container>
-_LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y);
-
-template <class _Tp, class _Container>
-_LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y);
-
-template <class _Tp, class _Container /*= deque<_Tp>*/>
-class _LIBCPP_TEMPLATE_VIS stack
-{
-public:
-    typedef _Container                               container_type;
-    typedef typename container_type::value_type      value_type;
-    typedef typename container_type::reference       reference;
-    typedef typename container_type::const_reference const_reference;
-    typedef typename container_type::size_type       size_type;
-    static_assert((is_same<_Tp, value_type>::value), "" );
-
-protected:
-    container_type c;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    stack()
-        _NOEXCEPT_(is_nothrow_default_constructible<container_type>::value)
-        : c() {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    stack(const stack& __q) : c(__q.c) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    stack& operator=(const stack& __q) {c = __q.c; return *this;}
-
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    stack(stack&& __q)
-        _NOEXCEPT_(is_nothrow_move_constructible<container_type>::value)
-        : c(_VSTD::move(__q.c)) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    stack& operator=(stack&& __q)
-        _NOEXCEPT_(is_nothrow_move_assignable<container_type>::value)
-        {c = _VSTD::move(__q.c); return *this;}
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit stack(container_type&& __c) : c(_VSTD::move(__c)) {}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit stack(const container_type& __c) : c(__c) {}
-
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        explicit stack(const _Alloc& __a,
-                       typename enable_if<uses_allocator<container_type,
-                                                         _Alloc>::value>::type* = 0)
-            : c(__a) {}
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        stack(const container_type& __c, const _Alloc& __a,
-              typename enable_if<uses_allocator<container_type,
-                                                _Alloc>::value>::type* = 0)
-            : c(__c, __a) {}
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        stack(const stack& __s, const _Alloc& __a,
-              typename enable_if<uses_allocator<container_type,
-                                                _Alloc>::value>::type* = 0)
-            : c(__s.c, __a) {}
-#ifndef _LIBCPP_CXX03_LANG
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        stack(container_type&& __c, const _Alloc& __a,
-              typename enable_if<uses_allocator<container_type,
-                                                _Alloc>::value>::type* = 0)
-            : c(_VSTD::move(__c), __a) {}
-    template <class _Alloc>
-        _LIBCPP_INLINE_VISIBILITY
-        stack(stack&& __s, const _Alloc& __a,
-              typename enable_if<uses_allocator<container_type,
-                                                _Alloc>::value>::type* = 0)
-            : c(_VSTD::move(__s.c), __a) {}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool empty()     const      {return c.empty();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const      {return c.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    reference top()             {return c.back();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_reference top() const {return c.back();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void push(const value_type& __v) {c.push_back(__v);}
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void push(value_type&& __v) {c.push_back(_VSTD::move(__v));}
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-#if _LIBCPP_STD_VER > 14
-        decltype(auto) emplace(_Args&&... __args)
-        { return c.emplace_back(_VSTD::forward<_Args>(__args)...);}
-#else
-        void      emplace(_Args&&... __args)
-        {        c.emplace_back(_VSTD::forward<_Args>(__args)...);}
-#endif
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    void pop() {c.pop_back();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(stack& __s)
-        _NOEXCEPT_(__is_nothrow_swappable<container_type>::value)
-    {
-        using _VSTD::swap;
-        swap(c, __s.c);
-    }
-
-    template <class T1, class _C1>
-    friend
-    bool
-    operator==(const stack<T1, _C1>& __x, const stack<T1, _C1>& __y);
-
-    template <class T1, class _C1>
-    friend
-    bool
-    operator< (const stack<T1, _C1>& __x, const stack<T1, _C1>& __y);
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _Container,
-         class = typename enable_if<!__is_allocator<_Container>::value, nullptr_t>::type
->
-stack(_Container)
-    -> stack<typename _Container::value_type, _Container>;
-
-template<class _Container,
-         class _Alloc,
-         class = typename enable_if<!__is_allocator<_Container>::value, nullptr_t>::type,
-         class = typename enable_if< __is_allocator<_Alloc>::value, nullptr_t>::type
-         >
-stack(_Container, _Alloc)
-    -> stack<typename _Container::value_type, _Container>;
-#endif
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator==(const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y)
-{
-    return __x.c == __y.c;
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator< (const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y)
-{
-    return __x.c < __y.c;
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator> (const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y)
-{
-    return __y < __x;
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator>=(const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y)
-{
-    return !(__x < __y);
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator<=(const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y)
-{
-    return !(__y < __x);
-}
-
-template <class _Tp, class _Container>
-inline _LIBCPP_INLINE_VISIBILITY
-typename enable_if<
-    __is_swappable<_Container>::value,
-    void
->::type
-swap(stack<_Tp, _Container>& __x, stack<_Tp, _Container>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-template <class _Tp, class _Container, class _Alloc>
-struct _LIBCPP_TEMPLATE_VIS uses_allocator<stack<_Tp, _Container>, _Alloc>
-    : public uses_allocator<_Container, _Alloc>
-{
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_STACK
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/stdbool.h b/r23/sources/cxx-stl/llvm-libc++/include/stdbool.h
deleted file mode 100644
index 81a7cb3..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/stdbool.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- stdbool.h --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STDBOOL_H
-#define _LIBCPP_STDBOOL_H
-
-
-/*
-    stdbool.h synopsis
-
-Macros:
-
-    __bool_true_false_are_defined
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <stdbool.h>
-
-#ifdef __cplusplus
-#undef bool
-#undef true
-#undef false
-#undef __bool_true_false_are_defined
-#define __bool_true_false_are_defined 1
-#endif
-
-#endif  // _LIBCPP_STDBOOL_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/stdint.h b/r23/sources/cxx-stl/llvm-libc++/include/stdint.h
deleted file mode 100644
index d7b6902..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/stdint.h
+++ /dev/null
@@ -1,125 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- stdint.h --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STDINT_H
-// AIX system headers need stdint.h to be re-enterable while _STD_TYPES_T
-// is defined until an inclusion of it without _STD_TYPES_T occurs, in which
-// case the header guard macro is defined.
-#if !defined(_AIX) || !defined(_STD_TYPES_T)
-#define _LIBCPP_STDINT_H
-#endif // _STD_TYPES_T
-
-/*
-    stdint.h synopsis
-
-Macros:
-
-    INT8_MIN
-    INT16_MIN
-    INT32_MIN
-    INT64_MIN
-
-    INT8_MAX
-    INT16_MAX
-    INT32_MAX
-    INT64_MAX
-
-    UINT8_MAX
-    UINT16_MAX
-    UINT32_MAX
-    UINT64_MAX
-
-    INT_LEAST8_MIN
-    INT_LEAST16_MIN
-    INT_LEAST32_MIN
-    INT_LEAST64_MIN
-
-    INT_LEAST8_MAX
-    INT_LEAST16_MAX
-    INT_LEAST32_MAX
-    INT_LEAST64_MAX
-
-    UINT_LEAST8_MAX
-    UINT_LEAST16_MAX
-    UINT_LEAST32_MAX
-    UINT_LEAST64_MAX
-
-    INT_FAST8_MIN
-    INT_FAST16_MIN
-    INT_FAST32_MIN
-    INT_FAST64_MIN
-
-    INT_FAST8_MAX
-    INT_FAST16_MAX
-    INT_FAST32_MAX
-    INT_FAST64_MAX
-
-    UINT_FAST8_MAX
-    UINT_FAST16_MAX
-    UINT_FAST32_MAX
-    UINT_FAST64_MAX
-
-    INTPTR_MIN
-    INTPTR_MAX
-    UINTPTR_MAX
-
-    INTMAX_MIN
-    INTMAX_MAX
-
-    UINTMAX_MAX
-
-    PTRDIFF_MIN
-    PTRDIFF_MAX
-
-    SIG_ATOMIC_MIN
-    SIG_ATOMIC_MAX
-
-    SIZE_MAX
-
-    WCHAR_MIN
-    WCHAR_MAX
-
-    WINT_MIN
-    WINT_MAX
-
-    INT8_C(value)
-    INT16_C(value)
-    INT32_C(value)
-    INT64_C(value)
-
-    UINT8_C(value)
-    UINT16_C(value)
-    UINT32_C(value)
-    UINT64_C(value)
-
-    INTMAX_C(value)
-    UINTMAX_C(value)
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-/* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed
-   for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS
-   are defined
-*/
-#if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS)
-#   define __STDC_LIMIT_MACROS
-#endif
-#if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS)
-#   define __STDC_CONSTANT_MACROS
-#endif
-
-#include_next <stdint.h>
-
-#endif  // _LIBCPP_STDINT_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/stdio.h b/r23/sources/cxx-stl/llvm-libc++/include/stdio.h
deleted file mode 100644
index e08e6bc..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/stdio.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- stdio.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#if defined(__need_FILE) || defined(__need___FILE)
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <stdio.h>
-
-#elif !defined(_LIBCPP_STDIO_H)
-#define _LIBCPP_STDIO_H
-
-/*
-    stdio.h synopsis
-
-Macros:
-
-    BUFSIZ
-    EOF
-    FILENAME_MAX
-    FOPEN_MAX
-    L_tmpnam
-    NULL
-    SEEK_CUR
-    SEEK_END
-    SEEK_SET
-    TMP_MAX
-    _IOFBF
-    _IOLBF
-    _IONBF
-    stderr
-    stdin
-    stdout
-
-Types:
-
-FILE
-fpos_t
-size_t
-
-int remove(const char* filename);
-int rename(const char* old, const char* new);
-FILE* tmpfile(void);
-char* tmpnam(char* s);
-int fclose(FILE* stream);
-int fflush(FILE* stream);
-FILE* fopen(const char* restrict filename, const char* restrict mode);
-FILE* freopen(const char* restrict filename, const char * restrict mode,
-              FILE * restrict stream);
-void setbuf(FILE* restrict stream, char* restrict buf);
-int setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size);
-int fprintf(FILE* restrict stream, const char* restrict format, ...);
-int fscanf(FILE* restrict stream, const char * restrict format, ...);
-int printf(const char* restrict format, ...);
-int scanf(const char* restrict format, ...);
-int snprintf(char* restrict s, size_t n, const char* restrict format, ...);    // C99
-int sprintf(char* restrict s, const char* restrict format, ...);
-int sscanf(const char* restrict s, const char* restrict format, ...);
-int vfprintf(FILE* restrict stream, const char* restrict format, va_list arg);
-int vfscanf(FILE* restrict stream, const char* restrict format, va_list arg);  // C99
-int vprintf(const char* restrict format, va_list arg);
-int vscanf(const char* restrict format, va_list arg);                          // C99
-int vsnprintf(char* restrict s, size_t n, const char* restrict format,         // C99
-              va_list arg);
-int vsprintf(char* restrict s, const char* restrict format, va_list arg);
-int vsscanf(const char* restrict s, const char* restrict format, va_list arg); // C99
-int fgetc(FILE* stream);
-char* fgets(char* restrict s, int n, FILE* restrict stream);
-int fputc(int c, FILE* stream);
-int fputs(const char* restrict s, FILE* restrict stream);
-int getc(FILE* stream);
-int getchar(void);
-char* gets(char* s);  // removed in C++14
-int putc(int c, FILE* stream);
-int putchar(int c);
-int puts(const char* s);
-int ungetc(int c, FILE* stream);
-size_t fread(void* restrict ptr, size_t size, size_t nmemb,
-             FILE* restrict stream);
-size_t fwrite(const void* restrict ptr, size_t size, size_t nmemb,
-              FILE* restrict stream);
-int fgetpos(FILE* restrict stream, fpos_t* restrict pos);
-int fseek(FILE* stream, long offset, int whence);
-int fsetpos(FILE*stream, const fpos_t* pos);
-long ftell(FILE* stream);
-void rewind(FILE* stream);
-void clearerr(FILE* stream);
-int feof(FILE* stream);
-int ferror(FILE* stream);
-void perror(const char* s);
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <stdio.h>
-
-#ifdef __cplusplus
-
-#undef getc
-#undef putc
-#undef clearerr
-#undef feof
-#undef ferror
-
-#endif
-
-#endif  // _LIBCPP_STDIO_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/stdlib.h b/r23/sources/cxx-stl/llvm-libc++/include/stdlib.h
deleted file mode 100644
index 1d68275..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/stdlib.h
+++ /dev/null
@@ -1,103 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- stdlib.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#if defined(__need_malloc_and_calloc) || defined(_LIBCPP_STDLIB_INCLUDE_NEXT)
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#if defined(_LIBCPP_STDLIB_INCLUDE_NEXT)
-#undef _LIBCPP_STDLIB_INCLUDE_NEXT
-#endif
-
-#include_next <stdlib.h>
-
-#elif !defined(_LIBCPP_STDLIB_H)
-#define _LIBCPP_STDLIB_H
-
-/*
-    stdlib.h synopsis
-
-Macros:
-
-    EXIT_FAILURE
-    EXIT_SUCCESS
-    MB_CUR_MAX
-    NULL
-    RAND_MAX
-
-Types:
-
-    size_t
-    div_t
-    ldiv_t
-    lldiv_t                                                               // C99
-
-double    atof (const char* nptr);
-int       atoi (const char* nptr);
-long      atol (const char* nptr);
-long long atoll(const char* nptr);                                        // C99
-double             strtod  (const char* restrict nptr, char** restrict endptr);
-float              strtof  (const char* restrict nptr, char** restrict endptr); // C99
-long double        strtold (const char* restrict nptr, char** restrict endptr); // C99
-long               strtol  (const char* restrict nptr, char** restrict endptr, int base);
-long long          strtoll (const char* restrict nptr, char** restrict endptr, int base); // C99
-unsigned long      strtoul (const char* restrict nptr, char** restrict endptr, int base);
-unsigned long long strtoull(const char* restrict nptr, char** restrict endptr, int base); // C99
-int rand(void);
-void srand(unsigned int seed);
-void* calloc(size_t nmemb, size_t size);
-void free(void* ptr);
-void* malloc(size_t size);
-void* realloc(void* ptr, size_t size);
-void abort(void);
-int atexit(void (*func)(void));
-void exit(int status);
-void _Exit(int status);
-char* getenv(const char* name);
-int system(const char* string);
-void* bsearch(const void* key, const void* base, size_t nmemb, size_t size,
-              int (*compar)(const void *, const void *));
-void qsort(void* base, size_t nmemb, size_t size,
-           int (*compar)(const void *, const void *));
-int         abs(      int j);
-long        abs(     long j);
-long long   abs(long long j);                                             // C++0X
-long       labs(     long j);
-long long llabs(long long j);                                             // C99
-div_t     div(      int numer,       int denom);
-ldiv_t    div(     long numer,      long denom);
-lldiv_t   div(long long numer, long long denom);                          // C++0X
-ldiv_t   ldiv(     long numer,      long denom);
-lldiv_t lldiv(long long numer, long long denom);                          // C99
-int mblen(const char* s, size_t n);
-int mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n);
-int wctomb(char* s, wchar_t wchar);
-size_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n);
-size_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n);
-int at_quick_exit(void (*func)(void))                                     // C++11
-void quick_exit(int status);                                              // C++11
-void *aligned_alloc(size_t alignment, size_t size);                       // C11
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <stdlib.h>
-
-#ifdef __cplusplus
-#include <math.h>
-#endif  // __cplusplus
-
-#endif  // _LIBCPP_STDLIB_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/streambuf b/r23/sources/cxx-stl/llvm-libc++/include/streambuf
deleted file mode 100644
index 48c07d5..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/streambuf
+++ /dev/null
@@ -1,500 +0,0 @@
-// -*- C++ -*-
-//===------------------------- streambuf ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STEAMBUF
-#define _LIBCPP_STEAMBUF
-
-/*
-    streambuf synopsis
-
-namespace std
-{
-
-template <class charT, class traits = char_traits<charT> >
-class basic_streambuf
-{
-public:
-    // types:
-    typedef charT char_type;
-    typedef traits traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    virtual ~basic_streambuf();
-
-    // 27.6.2.2.1 locales:
-    locale pubimbue(const locale& loc);
-    locale getloc() const;
-
-    // 27.6.2.2.2 buffer and positioning:
-    basic_streambuf* pubsetbuf(char_type* s, streamsize n);
-    pos_type pubseekoff(off_type off, ios_base::seekdir way,
-                        ios_base::openmode which = ios_base::in | ios_base::out);
-    pos_type pubseekpos(pos_type sp,
-                        ios_base::openmode which = ios_base::in | ios_base::out);
-    int pubsync();
-
-    // Get and put areas:
-    // 27.6.2.2.3 Get area:
-    streamsize in_avail();
-    int_type snextc();
-    int_type sbumpc();
-    int_type sgetc();
-    streamsize sgetn(char_type* s, streamsize n);
-
-    // 27.6.2.2.4 Putback:
-    int_type sputbackc(char_type c);
-    int_type sungetc();
-
-    // 27.6.2.2.5 Put area:
-    int_type sputc(char_type c);
-    streamsize sputn(const char_type* s, streamsize n);
-
-protected:
-    basic_streambuf();
-    basic_streambuf(const basic_streambuf& rhs);
-    basic_streambuf& operator=(const basic_streambuf& rhs);
-    void swap(basic_streambuf& rhs);
-
-    // 27.6.2.3.2 Get area:
-    char_type* eback() const;
-    char_type* gptr() const;
-    char_type* egptr() const;
-    void gbump(int n);
-    void setg(char_type* gbeg, char_type* gnext, char_type* gend);
-
-    // 27.6.2.3.3 Put area:
-    char_type* pbase() const;
-    char_type* pptr() const;
-    char_type* epptr() const;
-    void pbump(int n);
-    void setp(char_type* pbeg, char_type* pend);
-
-    // 27.6.2.4 virtual functions:
-    // 27.6.2.4.1 Locales:
-    virtual void imbue(const locale& loc);
-
-    // 27.6.2.4.2 Buffer management and positioning:
-    virtual basic_streambuf* setbuf(char_type* s, streamsize n);
-    virtual pos_type seekoff(off_type off, ios_base::seekdir way,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-    virtual pos_type seekpos(pos_type sp,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-    virtual int sync();
-
-    // 27.6.2.4.3 Get area:
-    virtual streamsize showmanyc();
-    virtual streamsize xsgetn(char_type* s, streamsize n);
-    virtual int_type underflow();
-    virtual int_type uflow();
-
-    // 27.6.2.4.4 Putback:
-    virtual int_type pbackfail(int_type c = traits_type::eof());
-
-    // 27.6.2.4.5 Put area:
-    virtual streamsize xsputn(const char_type* s, streamsize n);
-    virtual int_type overflow (int_type c = traits_type::eof());
-};
-
-}  // std
-
-*/
-
-#include <__config>
-#include <iosfwd>
-#include <ios>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _CharT, class _Traits>
-class _LIBCPP_TEMPLATE_VIS basic_streambuf
-{
-public:
-    // types:
-    typedef _CharT                         char_type;
-    typedef _Traits                        traits_type;
-    typedef typename traits_type::int_type int_type;
-    typedef typename traits_type::pos_type pos_type;
-    typedef typename traits_type::off_type off_type;
-
-    static_assert((is_same<_CharT, typename traits_type::char_type>::value),
-                  "traits_type::char_type must be the same type as CharT");
-
-    virtual ~basic_streambuf();
-
-    // 27.6.2.2.1 locales:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    locale pubimbue(const locale& __loc) {
-        imbue(__loc);
-        locale __r = __loc_;
-        __loc_ = __loc;
-        return __r;
-    }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    locale getloc() const { return __loc_; }
-
-    // 27.6.2.2.2 buffer and positioning:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    basic_streambuf* pubsetbuf(char_type* __s, streamsize __n)
-    { return setbuf(__s, __n); }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    pos_type pubseekoff(off_type __off, ios_base::seekdir __way,
-                        ios_base::openmode __which = ios_base::in | ios_base::out)
-    { return seekoff(__off, __way, __which); }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    pos_type pubseekpos(pos_type __sp,
-                        ios_base::openmode __which = ios_base::in | ios_base::out)
-    { return seekpos(__sp, __which); }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    int pubsync() { return sync(); }
-
-    // Get and put areas:
-    // 27.6.2.2.3 Get area:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    streamsize in_avail() {
-        if (__ninp_ < __einp_)
-            return static_cast<streamsize>(__einp_ - __ninp_);
-        return showmanyc();
-    }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    int_type snextc() {
-        if (sbumpc() == traits_type::eof())
-            return traits_type::eof();
-        return sgetc();
-    }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    int_type sbumpc() {
-        if (__ninp_ == __einp_)
-            return uflow();
-        return traits_type::to_int_type(*__ninp_++);
-    }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    int_type sgetc() {
-        if (__ninp_ == __einp_)
-            return underflow();
-        return traits_type::to_int_type(*__ninp_);
-    }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    streamsize sgetn(char_type* __s, streamsize __n)
-    { return xsgetn(__s, __n); }
-
-    // 27.6.2.2.4 Putback:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    int_type sputbackc(char_type __c) {
-        if (__binp_ == __ninp_ || !traits_type::eq(__c, __ninp_[-1]))
-            return pbackfail(traits_type::to_int_type(__c));
-        return traits_type::to_int_type(*--__ninp_);
-    }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    int_type sungetc() {
-        if (__binp_ == __ninp_)
-          return pbackfail();
-        return traits_type::to_int_type(*--__ninp_);
-    }
-
-    // 27.6.2.2.5 Put area:
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    int_type sputc(char_type __c) {
-        if (__nout_ == __eout_)
-            return overflow(traits_type::to_int_type(__c));
-        *__nout_++ = __c;
-        return traits_type::to_int_type(__c);
-    }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    streamsize sputn(const char_type* __s, streamsize __n)
-    { return xsputn(__s, __n); }
-
-protected:
-    basic_streambuf();
-    basic_streambuf(const basic_streambuf& __rhs);
-    basic_streambuf& operator=(const basic_streambuf& __rhs);
-    void swap(basic_streambuf& __rhs);
-
-    // 27.6.2.3.2 Get area:
-    _LIBCPP_INLINE_VISIBILITY char_type* eback() const {return __binp_;}
-    _LIBCPP_INLINE_VISIBILITY char_type* gptr()  const {return __ninp_;}
-    _LIBCPP_INLINE_VISIBILITY char_type* egptr() const {return __einp_;}
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    void gbump(int __n) { __ninp_ += __n; }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    void setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) {
-        __binp_ = __gbeg;
-        __ninp_ = __gnext;
-        __einp_ = __gend;
-    }
-
-    // 27.6.2.3.3 Put area:
-    _LIBCPP_INLINE_VISIBILITY char_type* pbase() const {return __bout_;}
-    _LIBCPP_INLINE_VISIBILITY char_type* pptr()  const {return __nout_;}
-    _LIBCPP_INLINE_VISIBILITY char_type* epptr() const {return __eout_;}
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    void pbump(int __n) { __nout_ += __n; }
-
-    _LIBCPP_INLINE_VISIBILITY
-    void __pbump(streamsize __n) { __nout_ += __n; }
-
-    inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1
-    void setp(char_type* __pbeg, char_type* __pend) {
-        __bout_ = __nout_ = __pbeg;
-        __eout_ = __pend;
-    }
-
-    // 27.6.2.4 virtual functions:
-    // 27.6.2.4.1 Locales:
-    virtual void imbue(const locale& __loc);
-
-    // 27.6.2.4.2 Buffer management and positioning:
-    virtual basic_streambuf* setbuf(char_type* __s, streamsize __n);
-    virtual pos_type seekoff(off_type __off, ios_base::seekdir __way,
-                             ios_base::openmode __which = ios_base::in | ios_base::out);
-    virtual pos_type seekpos(pos_type __sp,
-                             ios_base::openmode __which = ios_base::in | ios_base::out);
-    virtual int sync();
-
-    // 27.6.2.4.3 Get area:
-    virtual streamsize showmanyc();
-    virtual streamsize xsgetn(char_type* __s, streamsize __n);
-    virtual int_type underflow();
-    virtual int_type uflow();
-
-    // 27.6.2.4.4 Putback:
-    virtual int_type pbackfail(int_type __c = traits_type::eof());
-
-    // 27.6.2.4.5 Put area:
-    virtual streamsize xsputn(const char_type* __s, streamsize __n);
-    virtual int_type overflow(int_type __c = traits_type::eof());
-
-private:
-    locale __loc_;
-    char_type* __binp_;
-    char_type* __ninp_;
-    char_type* __einp_;
-    char_type* __bout_;
-    char_type* __nout_;
-    char_type* __eout_;
-};
-
-template <class _CharT, class _Traits>
-basic_streambuf<_CharT, _Traits>::~basic_streambuf()
-{
-}
-
-template <class _CharT, class _Traits>
-basic_streambuf<_CharT, _Traits>::basic_streambuf()
-    : __binp_(0),
-      __ninp_(0),
-      __einp_(0),
-      __bout_(0),
-      __nout_(0),
-      __eout_(0)
-{
-}
-
-template <class _CharT, class _Traits>
-basic_streambuf<_CharT, _Traits>::basic_streambuf(const basic_streambuf& __sb)
-    : __loc_(__sb.__loc_),
-      __binp_(__sb.__binp_),
-      __ninp_(__sb.__ninp_),
-      __einp_(__sb.__einp_),
-      __bout_(__sb.__bout_),
-      __nout_(__sb.__nout_),
-      __eout_(__sb.__eout_)
-{
-}
-
-template <class _CharT, class _Traits>
-basic_streambuf<_CharT, _Traits>&
-basic_streambuf<_CharT, _Traits>::operator=(const basic_streambuf& __sb)
-{
-    __loc_ = __sb.__loc_;
-    __binp_ = __sb.__binp_;
-    __ninp_ = __sb.__ninp_;
-    __einp_ = __sb.__einp_;
-    __bout_ = __sb.__bout_;
-    __nout_ = __sb.__nout_;
-    __eout_ = __sb.__eout_;
-    return *this;
-}
-
-template <class _CharT, class _Traits>
-void
-basic_streambuf<_CharT, _Traits>::swap(basic_streambuf& __sb)
-{
-    _VSTD::swap(__loc_, __sb.__loc_);
-    _VSTD::swap(__binp_, __sb.__binp_);
-    _VSTD::swap(__ninp_, __sb.__ninp_);
-    _VSTD::swap(__einp_, __sb.__einp_);
-    _VSTD::swap(__bout_, __sb.__bout_);
-    _VSTD::swap(__nout_, __sb.__nout_);
-    _VSTD::swap(__eout_, __sb.__eout_);
-}
-
-template <class _CharT, class _Traits>
-void
-basic_streambuf<_CharT, _Traits>::imbue(const locale&)
-{
-}
-
-template <class _CharT, class _Traits>
-basic_streambuf<_CharT, _Traits>*
-basic_streambuf<_CharT, _Traits>::setbuf(char_type*, streamsize)
-{
-    return this;
-}
-
-template <class _CharT, class _Traits>
-typename basic_streambuf<_CharT, _Traits>::pos_type
-basic_streambuf<_CharT, _Traits>::seekoff(off_type, ios_base::seekdir,
-                                          ios_base::openmode)
-{
-    return pos_type(off_type(-1));
-}
-
-template <class _CharT, class _Traits>
-typename basic_streambuf<_CharT, _Traits>::pos_type
-basic_streambuf<_CharT, _Traits>::seekpos(pos_type, ios_base::openmode)
-{
-    return pos_type(off_type(-1));
-}
-
-template <class _CharT, class _Traits>
-int
-basic_streambuf<_CharT, _Traits>::sync()
-{
-    return 0;
-}
-
-template <class _CharT, class _Traits>
-streamsize
-basic_streambuf<_CharT, _Traits>::showmanyc()
-{
-    return 0;
-}
-
-template <class _CharT, class _Traits>
-streamsize
-basic_streambuf<_CharT, _Traits>::xsgetn(char_type* __s, streamsize __n)
-{
-    const int_type __eof = traits_type::eof();
-    int_type __c;
-    streamsize __i = 0;
-    while(__i < __n)
-    {
-        if (__ninp_ < __einp_)
-        {
-            const streamsize __len = _VSTD::min(static_cast<streamsize>(INT_MAX),
-                                _VSTD::min(__einp_ - __ninp_, __n - __i));
-            traits_type::copy(__s, __ninp_, __len);
-            __s +=  __len;
-            __i +=  __len;
-            this->gbump(__len);
-        }
-        else if ((__c = uflow()) != __eof)
-        {
-            *__s = traits_type::to_char_type(__c);
-            ++__s;
-            ++__i;
-        }
-        else
-            break;
-    }
-    return __i;
-}
-
-template <class _CharT, class _Traits>
-typename basic_streambuf<_CharT, _Traits>::int_type
-basic_streambuf<_CharT, _Traits>::underflow()
-{
-    return traits_type::eof();
-}
-
-template <class _CharT, class _Traits>
-typename basic_streambuf<_CharT, _Traits>::int_type
-basic_streambuf<_CharT, _Traits>::uflow()
-{
-    if (underflow() == traits_type::eof())
-        return traits_type::eof();
-    return traits_type::to_int_type(*__ninp_++);
-}
-
-template <class _CharT, class _Traits>
-typename basic_streambuf<_CharT, _Traits>::int_type
-basic_streambuf<_CharT, _Traits>::pbackfail(int_type)
-{
-    return traits_type::eof();
-}
-
-template <class _CharT, class _Traits>
-streamsize
-basic_streambuf<_CharT, _Traits>::xsputn(const char_type* __s, streamsize __n)
-{
-    streamsize __i = 0;
-    int_type __eof = traits_type::eof();
-    while( __i < __n)
-    {
-        if (__nout_ >= __eout_)
-        {
-            if (overflow(traits_type::to_int_type(*__s)) == __eof)
-                break;
-            ++__s;
-            ++__i;
-        }
-        else
-        {
-            streamsize __chunk_size = _VSTD::min(__eout_ - __nout_, __n - __i);
-            traits_type::copy(__nout_, __s, __chunk_size);
-            __nout_ += __chunk_size;
-            __s     += __chunk_size;
-            __i     += __chunk_size;
-        }
-    }
-    return __i;
-}
-
-template <class _CharT, class _Traits>
-typename basic_streambuf<_CharT, _Traits>::int_type
-basic_streambuf<_CharT, _Traits>::overflow(int_type)
-{
-    return traits_type::eof();
-}
-
-#ifndef _LIBCPP_DO_NOT_ASSUME_STREAMS_EXPLICIT_INSTANTIATION_IN_DYLIB
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_streambuf<char>)
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_streambuf<wchar_t>)
-
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<char>)
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<wchar_t>)
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_STEAMBUF
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/string.h b/r23/sources/cxx-stl/llvm-libc++/include/string.h
deleted file mode 100644
index e09251d..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/string.h
+++ /dev/null
@@ -1,109 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- string.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STRING_H
-#define _LIBCPP_STRING_H
-
-/*
-    string.h synopsis
-
-Macros:
-
-    NULL
-
-Types:
-
-    size_t
-
-void* memcpy(void* restrict s1, const void* restrict s2, size_t n);
-void* memmove(void* s1, const void* s2, size_t n);
-char* strcpy (char* restrict s1, const char* restrict s2);
-char* strncpy(char* restrict s1, const char* restrict s2, size_t n);
-char* strcat (char* restrict s1, const char* restrict s2);
-char* strncat(char* restrict s1, const char* restrict s2, size_t n);
-int memcmp(const void* s1, const void* s2, size_t n);
-int strcmp (const char* s1, const char* s2);
-int strncmp(const char* s1, const char* s2, size_t n);
-int strcoll(const char* s1, const char* s2);
-size_t strxfrm(char* restrict s1, const char* restrict s2, size_t n);
-const void* memchr(const void* s, int c, size_t n);
-      void* memchr(      void* s, int c, size_t n);
-const char* strchr(const char* s, int c);
-      char* strchr(      char* s, int c);
-size_t strcspn(const char* s1, const char* s2);
-const char* strpbrk(const char* s1, const char* s2);
-      char* strpbrk(      char* s1, const char* s2);
-const char* strrchr(const char* s, int c);
-      char* strrchr(      char* s, int c);
-size_t strspn(const char* s1, const char* s2);
-const char* strstr(const char* s1, const char* s2);
-      char* strstr(      char* s1, const char* s2);
-char* strtok(char* restrict s1, const char* restrict s2);
-void* memset(void* s, int c, size_t n);
-char* strerror(int errnum);
-size_t strlen(const char* s);
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <string.h>
-
-// MSVCRT, GNU libc and its derivates may already have the correct prototype in
-// <string.h>. This macro can be defined by users if their C library provides
-// the right signature.
-#if defined(__CORRECT_ISO_CPP_STRING_H_PROTO) || defined(_LIBCPP_MSVCRT) || \
-    defined(__sun__) || defined(_STRING_H_CPLUSPLUS_98_CONFORMANCE_)
-#define _LIBCPP_STRING_H_HAS_CONST_OVERLOADS
-#endif
-
-#if defined(__cplusplus) && !defined(_LIBCPP_STRING_H_HAS_CONST_OVERLOADS) && defined(_LIBCPP_PREFERRED_OVERLOAD)
-extern "C++" {
-inline _LIBCPP_INLINE_VISIBILITY
-char* __libcpp_strchr(const char* __s, int __c) {return (char*)strchr(__s, __c);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const char* strchr(const char* __s, int __c) {return __libcpp_strchr(__s, __c);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      char* strchr(      char* __s, int __c) {return __libcpp_strchr(__s, __c);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-char* __libcpp_strpbrk(const char* __s1, const char* __s2) {return (char*)strpbrk(__s1, __s2);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const char* strpbrk(const char* __s1, const char* __s2) {return __libcpp_strpbrk(__s1, __s2);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      char* strpbrk(      char* __s1, const char* __s2) {return __libcpp_strpbrk(__s1, __s2);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-char* __libcpp_strrchr(const char* __s, int __c) {return (char*)strrchr(__s, __c);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const char* strrchr(const char* __s, int __c) {return __libcpp_strrchr(__s, __c);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      char* strrchr(      char* __s, int __c) {return __libcpp_strrchr(__s, __c);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-void* __libcpp_memchr(const void* __s, int __c, size_t __n) {return (void*)memchr(__s, __c, __n);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const void* memchr(const void* __s, int __c, size_t __n) {return __libcpp_memchr(__s, __c, __n);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      void* memchr(      void* __s, int __c, size_t __n) {return __libcpp_memchr(__s, __c, __n);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-char* __libcpp_strstr(const char* __s1, const char* __s2) {return (char*)strstr(__s1, __s2);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const char* strstr(const char* __s1, const char* __s2) {return __libcpp_strstr(__s1, __s2);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      char* strstr(      char* __s1, const char* __s2) {return __libcpp_strstr(__s1, __s2);}
-}
-#endif
-
-#endif  // _LIBCPP_STRING_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/strstream b/r23/sources/cxx-stl/llvm-libc++/include/strstream
deleted file mode 100644
index 31999bb..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/strstream
+++ /dev/null
@@ -1,399 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- strstream --------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_STRSTREAM
-#define _LIBCPP_STRSTREAM
-
-/*
-    strstream synopsis
-
-class strstreambuf
-    : public basic_streambuf<char>
-{
-public:
-    explicit strstreambuf(streamsize alsize_arg = 0);
-    strstreambuf(void* (*palloc_arg)(size_t), void (*pfree_arg)(void*));
-    strstreambuf(char* gnext_arg, streamsize n, char* pbeg_arg = 0);
-    strstreambuf(const char* gnext_arg, streamsize n);
-
-    strstreambuf(signed char* gnext_arg, streamsize n, signed char* pbeg_arg = 0);
-    strstreambuf(const signed char* gnext_arg, streamsize n);
-    strstreambuf(unsigned char* gnext_arg, streamsize n, unsigned char* pbeg_arg = 0);
-    strstreambuf(const unsigned char* gnext_arg, streamsize n);
-
-    strstreambuf(strstreambuf&& rhs);
-    strstreambuf& operator=(strstreambuf&& rhs);
-
-    virtual ~strstreambuf();
-
-    void swap(strstreambuf& rhs);
-
-    void freeze(bool freezefl = true);
-    char* str();
-    int pcount() const;
-
-protected:
-    virtual int_type overflow (int_type c = EOF);
-    virtual int_type pbackfail(int_type c = EOF);
-    virtual int_type underflow();
-    virtual pos_type seekoff(off_type off, ios_base::seekdir way,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-    virtual pos_type seekpos(pos_type sp,
-                             ios_base::openmode which = ios_base::in | ios_base::out);
-    virtual streambuf* setbuf(char* s, streamsize n);
-
-private:
-    typedef T1 strstate;                // exposition only
-    static const strstate allocated;    // exposition only
-    static const strstate constant;     // exposition only
-    static const strstate dynamic;      // exposition only
-    static const strstate frozen;       // exposition only
-    strstate strmode;                   // exposition only
-    streamsize alsize;                  // exposition only
-    void* (*palloc)(size_t);            // exposition only
-    void (*pfree)(void*);               // exposition only
-};
-
-class istrstream
-    : public basic_istream<char>
-{
-public:
-    explicit istrstream(const char* s);
-    explicit istrstream(char* s);
-    istrstream(const char* s, streamsize n);
-    istrstream(char* s, streamsize n);
-
-    virtual ~istrstream();
-
-    strstreambuf* rdbuf() const;
-    char *str();
-
-private:
-    strstreambuf sb; // exposition only
-};
-
-class ostrstream
-    : public basic_ostream<char>
-{
-public:
-    ostrstream();
-    ostrstream(char* s, int n, ios_base::openmode mode = ios_base::out);
-
-    virtual ~ostrstream();
-
-    strstreambuf* rdbuf() const;
-    void freeze(bool freezefl = true);
-    char* str();
-    int pcount() const;
-
-private:
-    strstreambuf sb; // exposition only
-};
-
-class strstream
-    : public basic_iostream<char>
-{
-public:
-    // Types
-    typedef char                        char_type;
-    typedef char_traits<char>::int_type int_type;
-    typedef char_traits<char>::pos_type pos_type;
-    typedef char_traits<char>::off_type off_type;
-
-    // constructors/destructor
-    strstream();
-    strstream(char* s, int n, ios_base::openmode mode = ios_base::in | ios_base::out);
-
-    virtual ~strstream();
-
-    // Members:
-    strstreambuf* rdbuf() const;
-    void freeze(bool freezefl = true);
-    int pcount() const;
-    char* str();
-
-private:
-    strstreambuf sb; // exposition only
-};
-
-}  // std
-
-*/
-
-#include <__config>
-#include <ostream>
-#include <istream>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-class _LIBCPP_TYPE_VIS strstreambuf
-    : public streambuf
-{
-public:
-    explicit strstreambuf(streamsize __alsize = 0);
-    strstreambuf(void* (*__palloc)(size_t), void (*__pfree)(void*));
-    strstreambuf(char* __gnext, streamsize __n, char* __pbeg = 0);
-    strstreambuf(const char* __gnext, streamsize __n);
-
-    strstreambuf(signed char* __gnext, streamsize __n, signed char* __pbeg = 0);
-    strstreambuf(const signed char* __gnext, streamsize __n);
-    strstreambuf(unsigned char* __gnext, streamsize __n, unsigned char* __pbeg = 0);
-    strstreambuf(const unsigned char* __gnext, streamsize __n);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    strstreambuf(strstreambuf&& __rhs);
-    _LIBCPP_INLINE_VISIBILITY
-    strstreambuf& operator=(strstreambuf&& __rhs);
-#endif  // _LIBCPP_CXX03_LANG
-
-    virtual ~strstreambuf();
-
-    void swap(strstreambuf& __rhs);
-
-    void freeze(bool __freezefl = true);
-    char* str();
-    int pcount() const;
-
-protected:
-    virtual int_type overflow (int_type __c = EOF);
-    virtual int_type pbackfail(int_type __c = EOF);
-    virtual int_type underflow();
-    virtual pos_type seekoff(off_type __off, ios_base::seekdir __way,
-                             ios_base::openmode __which = ios_base::in | ios_base::out);
-    virtual pos_type seekpos(pos_type __sp,
-                             ios_base::openmode __which = ios_base::in | ios_base::out);
-
-private:
-    typedef unsigned __mode_type;
-    static const __mode_type __allocated = 0x01;
-    static const __mode_type __constant  = 0x02;
-    static const __mode_type __dynamic   = 0x04;
-    static const __mode_type __frozen    = 0x08;
-    static const streamsize    __default_alsize = 4096;
-
-    __mode_type __strmode_;
-    streamsize __alsize_;
-    void* (*__palloc_)(size_t);
-    void (*__pfree_)(void*);
-
-    void __init(char* __gnext, streamsize __n, char* __pbeg);
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-
-inline _LIBCPP_INLINE_VISIBILITY
-strstreambuf::strstreambuf(strstreambuf&& __rhs)
-    : streambuf(__rhs),
-      __strmode_(__rhs.__strmode_),
-      __alsize_(__rhs.__alsize_),
-      __palloc_(__rhs.__palloc_),
-      __pfree_(__rhs.__pfree_)
-{
-    __rhs.setg(nullptr, nullptr, nullptr);
-    __rhs.setp(nullptr, nullptr);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY
-strstreambuf&
-strstreambuf::operator=(strstreambuf&& __rhs)
-{
-    if (eback() && (__strmode_ & __allocated) != 0 && (__strmode_ & __frozen) == 0)
-    {
-        if (__pfree_)
-            __pfree_(eback());
-        else
-            delete [] eback();
-    }
-    streambuf::operator=(__rhs);
-    __strmode_ = __rhs.__strmode_;
-    __alsize_ = __rhs.__alsize_;
-    __palloc_ = __rhs.__palloc_;
-    __pfree_ = __rhs.__pfree_;
-    __rhs.setg(nullptr, nullptr, nullptr);
-    __rhs.setp(nullptr, nullptr);
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-class _LIBCPP_TYPE_VIS istrstream
-    : public istream
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    explicit istrstream(const char* __s)
-        : istream(&__sb_), __sb_(__s, 0) {}
-    _LIBCPP_INLINE_VISIBILITY
-    explicit istrstream(char* __s)
-        : istream(&__sb_), __sb_(__s, 0) {}
-    _LIBCPP_INLINE_VISIBILITY
-    istrstream(const char* __s, streamsize __n)
-        : istream(&__sb_), __sb_(__s, __n) {}
-    _LIBCPP_INLINE_VISIBILITY
-    istrstream(char* __s, streamsize __n)
-        : istream(&__sb_), __sb_(__s, __n) {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    istrstream(istrstream&& __rhs)
-        : istream(_VSTD::move(__rhs)),
-          __sb_(_VSTD::move(__rhs.__sb_))
-    {
-        istream::set_rdbuf(&__sb_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    istrstream& operator=(istrstream&& __rhs)
-    {
-        istream::operator=(_VSTD::move(__rhs));
-        __sb_ = _VSTD::move(__rhs.__sb_);
-        return *this;
-    }
-#endif  // _LIBCPP_CXX03_LANG
-
-    virtual ~istrstream();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(istrstream& __rhs)
-    {
-        istream::swap(__rhs);
-        __sb_.swap(__rhs.__sb_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    strstreambuf* rdbuf() const {return const_cast<strstreambuf*>(&__sb_);}
-    _LIBCPP_INLINE_VISIBILITY
-    char *str() {return __sb_.str();}
-
-private:
-    strstreambuf __sb_;
-};
-
-class _LIBCPP_TYPE_VIS ostrstream
-    : public ostream
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    ostrstream()
-        : ostream(&__sb_) {}
-    _LIBCPP_INLINE_VISIBILITY
-    ostrstream(char* __s, int __n, ios_base::openmode __mode = ios_base::out)
-        : ostream(&__sb_),
-          __sb_(__s, __n, __s + (__mode & ios::app ? strlen(__s) : 0))
-        {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    ostrstream(ostrstream&& __rhs)
-        : ostream(_VSTD::move(__rhs)),
-          __sb_(_VSTD::move(__rhs.__sb_))
-    {
-        ostream::set_rdbuf(&__sb_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    ostrstream& operator=(ostrstream&& __rhs)
-    {
-        ostream::operator=(_VSTD::move(__rhs));
-        __sb_ = _VSTD::move(__rhs.__sb_);
-        return *this;
-    }
-#endif  // _LIBCPP_CXX03_LANG
-
-    virtual ~ostrstream();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(ostrstream& __rhs)
-    {
-        ostream::swap(__rhs);
-        __sb_.swap(__rhs.__sb_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    strstreambuf* rdbuf() const {return const_cast<strstreambuf*>(&__sb_);}
-    _LIBCPP_INLINE_VISIBILITY
-    void freeze(bool __freezefl = true) {__sb_.freeze(__freezefl);}
-    _LIBCPP_INLINE_VISIBILITY
-    char* str()         {return __sb_.str();}
-    _LIBCPP_INLINE_VISIBILITY
-    int pcount() const  {return __sb_.pcount();}
-
-private:
-    strstreambuf __sb_; // exposition only
-};
-
-class _LIBCPP_TYPE_VIS strstream
-    : public iostream
-{
-public:
-    // Types
-    typedef char                        char_type;
-    typedef char_traits<char>::int_type int_type;
-    typedef char_traits<char>::pos_type pos_type;
-    typedef char_traits<char>::off_type off_type;
-
-    // constructors/destructor
-    _LIBCPP_INLINE_VISIBILITY
-    strstream()
-        : iostream(&__sb_) {}
-    _LIBCPP_INLINE_VISIBILITY
-    strstream(char* __s, int __n, ios_base::openmode __mode = ios_base::in | ios_base::out)
-        : iostream(&__sb_),
-          __sb_(__s, __n, __s + (__mode & ios::app ? strlen(__s) : 0))
-        {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    strstream(strstream&& __rhs)
-        : iostream(_VSTD::move(__rhs)),
-          __sb_(_VSTD::move(__rhs.__sb_))
-    {
-        iostream::set_rdbuf(&__sb_);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    strstream& operator=(strstream&& __rhs)
-    {
-        iostream::operator=(_VSTD::move(__rhs));
-        __sb_ = _VSTD::move(__rhs.__sb_);
-        return *this;
-    }
-#endif  // _LIBCPP_CXX03_LANG
-
-    virtual ~strstream();
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(strstream& __rhs)
-    {
-        iostream::swap(__rhs);
-        __sb_.swap(__rhs.__sb_);
-    }
-
-    // Members:
-    _LIBCPP_INLINE_VISIBILITY
-    strstreambuf* rdbuf() const {return const_cast<strstreambuf*>(&__sb_);}
-    _LIBCPP_INLINE_VISIBILITY
-    void freeze(bool __freezefl = true) {__sb_.freeze(__freezefl);}
-    _LIBCPP_INLINE_VISIBILITY
-    int pcount() const {return __sb_.pcount();}
-    _LIBCPP_INLINE_VISIBILITY
-    char* str()        {return __sb_.str();}
-
-private:
-    strstreambuf __sb_; // exposition only
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_STRSTREAM
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/fuchsia/xlocale.h b/r23/sources/cxx-stl/llvm-libc++/include/support/fuchsia/xlocale.h
deleted file mode 100644
index b86ce9e..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/fuchsia/xlocale.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// -*- C++ -*-
-//===------------------- support/fuchsia/xlocale.h ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
-#define _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
-
-#if defined(__Fuchsia__)
-
-#include <cstdlib>
-#include <cwchar>
-#include <support/xlocale/__posix_l_fallback.h>
-#include <support/xlocale/__strtonum_fallback.h>
-
-#endif // defined(__Fuchsia__)
-
-#endif // _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/limits.h b/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/limits.h
deleted file mode 100644
index d1c59f0..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/limits.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// -*- C++ -*-
-//===--------------------- support/ibm/limits.h ---------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_IBM_LIMITS_H
-#define _LIBCPP_SUPPORT_IBM_LIMITS_H
-
-#if !defined(_AIX) // Linux
-#include <math.h> // for HUGE_VAL, HUGE_VALF, HUGE_VALL, and NAN
-
-static const unsigned int _QNAN_F = 0x7fc00000;
-#define NANF (*((float *)(&_QNAN_F)))
-static const unsigned int _QNAN_LDBL128[4] = {0x7ff80000, 0x0, 0x0, 0x0};
-#define NANL (*((long double *)(&_QNAN_LDBL128)))
-static const unsigned int _SNAN_F= 0x7f855555;
-#define NANSF (*((float *)(&_SNAN_F)))
-static const unsigned int _SNAN_D[2] = {0x7ff55555, 0x55555555};
-#define NANS (*((double *)(&_SNAN_D)))
-static const unsigned int _SNAN_LDBL128[4] = {0x7ff55555, 0x55555555, 0x0, 0x0};
-#define NANSL (*((long double *)(&_SNAN_LDBL128)))
-
-#define __builtin_huge_val()     HUGE_VAL
-#define __builtin_huge_valf()    HUGE_VALF
-#define __builtin_huge_vall()    HUGE_VALL
-#define __builtin_nan(__dummy)   NAN
-#define __builtin_nanf(__dummy)  NANF
-#define __builtin_nanl(__dummy)  NANL
-#define __builtin_nans(__dummy)  NANS
-#define __builtin_nansf(__dummy) NANSF
-#define __builtin_nansl(__dummy) NANSL
-
-#else
-
-#include <math.h>
-#include <float.h> // limit constants
-
-#define __builtin_huge_val()     HUGE_VAL  //0x7ff0000000000000
-#define __builtin_huge_valf()    HUGE_VALF //0x7f800000
-#define __builtin_huge_vall()    HUGE_VALL //0x7ff0000000000000
-#define __builtin_nan(__dummy)   nan(__dummy) //0x7ff8000000000000
-#define __builtin_nanf(__dummy)  nanf(__dummy) // 0x7ff80000
-#define __builtin_nanl(__dummy)  nanl(__dummy) //0x7ff8000000000000
-#define __builtin_nans(__dummy)  DBL_SNAN //0x7ff5555555555555
-#define __builtin_nansf(__dummy) FLT_SNAN //0x7f855555
-#define __builtin_nansl(__dummy) DBL_SNAN //0x7ff5555555555555
-
-#define __FLT_MANT_DIG__   FLT_MANT_DIG
-#define __FLT_DIG__        FLT_DIG
-#define __FLT_RADIX__      FLT_RADIX
-#define __FLT_MIN_EXP__    FLT_MIN_EXP
-#define __FLT_MIN_10_EXP__ FLT_MIN_10_EXP
-#define __FLT_MAX_EXP__    FLT_MAX_EXP
-#define __FLT_MAX_10_EXP__ FLT_MAX_10_EXP
-#define __FLT_MIN__        FLT_MIN
-#define __FLT_MAX__        FLT_MAX
-#define __FLT_EPSILON__    FLT_EPSILON
-// predefined by XLC on LoP
-#define __FLT_DENORM_MIN__ 1.40129846e-45F
-
-#define __DBL_MANT_DIG__   DBL_MANT_DIG
-#define __DBL_DIG__        DBL_DIG
-#define __DBL_MIN_EXP__    DBL_MIN_EXP
-#define __DBL_MIN_10_EXP__ DBL_MIN_10_EXP
-#define __DBL_MAX_EXP__    DBL_MAX_EXP
-#define __DBL_MAX_10_EXP__ DBL_MAX_10_EXP
-#define __DBL_MIN__        DBL_MIN
-#define __DBL_MAX__        DBL_MAX
-#define __DBL_EPSILON__    DBL_EPSILON
-// predefined by XLC on LoP
-#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
-
-#define __LDBL_MANT_DIG__   LDBL_MANT_DIG
-#define __LDBL_DIG__        LDBL_DIG
-#define __LDBL_MIN_EXP__    LDBL_MIN_EXP
-#define __LDBL_MIN_10_EXP__ LDBL_MIN_10_EXP
-#define __LDBL_MAX_EXP__    LDBL_MAX_EXP
-#define __LDBL_MAX_10_EXP__ LDBL_MAX_10_EXP
-#define __LDBL_MIN__        LDBL_MIN
-#define __LDBL_MAX__        LDBL_MAX
-#define __LDBL_EPSILON__    LDBL_EPSILON
-// predefined by XLC on LoP
-#if __LONGDOUBLE128
-#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
-#else
-#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
-#endif
-
-// predefined by XLC on LoP
-#define __CHAR_BIT__    8
-
-#endif // _AIX
-
-#endif // _LIBCPP_SUPPORT_IBM_LIMITS_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/locale_mgmt_aix.h b/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/locale_mgmt_aix.h
deleted file mode 100644
index e452dc3..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/locale_mgmt_aix.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// -*- C++ -*-
-//===------------------- support/ibm/locale_mgmt_aix.h --------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
-#define _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
-
-#if defined(_AIX)
-#include "cstdlib"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined(_AIX71)
-// AIX 7.1 and higher has these definitions.  Definitions and stubs
-// are provied here as a temporary workaround on AIX 6.1.
-
-#define LC_COLLATE_MASK         1
-#define LC_CTYPE_MASK           2
-#define LC_MESSAGES_MASK        4
-#define LC_MONETARY_MASK        8
-#define LC_NUMERIC_MASK         16
-#define LC_TIME_MASK            32
-#define LC_ALL_MASK             (LC_COLLATE_MASK | LC_CTYPE_MASK | \
-                                 LC_MESSAGES_MASK | LC_MONETARY_MASK |\
-                                 LC_NUMERIC_MASK | LC_TIME_MASK)
-
-typedef void* locale_t;
-
-// The following are stubs.  They are not supported on AIX 6.1.
-static inline
-locale_t newlocale(int category_mask, const char *locale, locale_t base)
-{
-  _LC_locale_t *newloc, *loc;
-  if ((loc = (_LC_locale_t *)__xopen_locale(locale)) == NULL)
-  {
-    errno = EINVAL;
-    return (locale_t)0;
-  }
-  if ((newloc = (_LC_locale_t *)calloc(1, sizeof(_LC_locale_t))) == NULL)
-  {
-    errno = ENOMEM;
-    return (locale_t)0;
-  }
-  if (!base)
-    base = (_LC_locale_t *)__xopen_locale("C");
-  memcpy(newloc, base, sizeof (_LC_locale_t));
-  if (category_mask & LC_COLLATE_MASK)
-    newloc->lc_collate = loc->lc_collate;
-  if (category_mask & LC_CTYPE_MASK)
-    newloc->lc_ctype = loc->lc_ctype;
-  //if (category_mask & LC_MESSAGES_MASK)
-  //  newloc->lc_messages = loc->lc_messages;
-  if (category_mask & LC_MONETARY_MASK)
-    newloc->lc_monetary = loc->lc_monetary;
-  if (category_mask & LC_TIME_MASK)
-    newloc->lc_time = loc->lc_time;
-  if (category_mask & LC_NUMERIC_MASK)
-    newloc->lc_numeric = loc->lc_numeric;
-  return (locale_t)newloc;
-}
-static inline
-void freelocale(locale_t locobj)
-{
-  free(locobj);
-}
-static inline
-locale_t uselocale(locale_t newloc)
-{
-  return (locale_t)0;
-}
-#endif // !defined(_AIX71)
-
-#ifdef __cplusplus
-}
-#endif
-#endif // defined(_AIX)
-#endif // _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/support.h b/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/support.h
deleted file mode 100644
index 0569cbe..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/ibm/support.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//===----------------------- support/ibm/support.h ----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_IBM_SUPPORT_H
-#define _LIBCPP_SUPPORT_IBM_SUPPORT_H
-
-extern "builtin" int __popcnt4(unsigned int);
-extern "builtin" int __popcnt8(unsigned long long);
-extern "builtin" unsigned int __cnttz4(unsigned int);
-extern "builtin" unsigned int __cnttz8(unsigned long long);
-extern "builtin" unsigned int __cntlz4(unsigned int);
-extern "builtin" unsigned int __cntlz8(unsigned long long);
-
-// Builtin functions for counting population
-#define __builtin_popcount(x) __popcnt4(x)
-#define __builtin_popcountll(x) __popcnt8(x)
-#if defined(__64BIT__)
-#define __builtin_popcountl(x) __builtin_popcountll(x)
-#else
-#define __builtin_popcountl(x) __builtin_popcount(x)
-#endif
-
-// Builtin functions for counting trailing zeros
-#define __builtin_ctz(x) __cnttz4(x)
-#define __builtin_ctzll(x) __cnttz8(x)
-#if defined(__64BIT__)
-#define __builtin_ctzl(x) __builtin_ctzll(x)
-#else
-#define __builtin_ctzl(x) __builtin_ctz(x)
-#endif
-
-// Builtin functions for counting leading zeros
-#define __builtin_clz(x) __cntlz4(x)
-#define __builtin_clzll(x) __cntlz8(x)
-#if defined(__64BIT__)
-#define __builtin_clzl(x) __builtin_clzll(x)
-#else
-#define __builtin_clzl(x) __builtin_clz(x)
-#endif
-
-#if defined(__64BIT__)
-#define __SIZE_WIDTH__ 64
-#else
-#define __SIZE_WIDTH__ 32
-#endif
-
-#endif // _LIBCPP_SUPPORT_IBM_SUPPORT_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/musl/xlocale.h b/r23/sources/cxx-stl/llvm-libc++/include/support/musl/xlocale.h
deleted file mode 100644
index 722d13f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/musl/xlocale.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-//===------------------- support/musl/xlocale.h ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-// This adds support for the extended locale functions that are currently
-// missing from the Musl C library.
-//
-// This only works when the specified locale is "C" or "POSIX", but that's
-// about as good as we can do without implementing full xlocale support
-// in Musl.
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_MUSL_XLOCALE_H
-#define _LIBCPP_SUPPORT_MUSL_XLOCALE_H
-
-#include <cstdlib>
-#include <cwchar>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static inline long long strtoll_l(const char *nptr, char **endptr, int base,
-                                  locale_t) {
-  return strtoll(nptr, endptr, base);
-}
-
-static inline unsigned long long strtoull_l(const char *nptr, char **endptr,
-                                            int base, locale_t) {
-  return strtoull(nptr, endptr, base);
-}
-
-static inline long long wcstoll_l(const wchar_t *nptr, wchar_t **endptr,
-                                  int base, locale_t) {
-  return wcstoll(nptr, endptr, base);
-}
-
-static inline unsigned long long wcstoull_l(const wchar_t *nptr,
-                                            wchar_t **endptr, int base,
-                                            locale_t) {
-  return wcstoull(nptr, endptr, base);
-}
-
-static inline long double wcstold_l(const wchar_t *nptr, wchar_t **endptr,
-                                    locale_t) {
-  return wcstold(nptr, endptr);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _LIBCPP_SUPPORT_MUSL_XLOCALE_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/newlib/xlocale.h b/r23/sources/cxx-stl/llvm-libc++/include/support/newlib/xlocale.h
deleted file mode 100644
index 25fa798..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/newlib/xlocale.h
+++ /dev/null
@@ -1,27 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_NEWLIB_XLOCALE_H
-#define _LIBCPP_SUPPORT_NEWLIB_XLOCALE_H
-
-#if defined(_NEWLIB_VERSION)
-
-#include <cstdlib>
-#include <clocale>
-#include <cwctype>
-#include <ctype.h>
-#if !defined(__NEWLIB__) || __NEWLIB__ < 2 || \
-    __NEWLIB__ == 2 && __NEWLIB_MINOR__ < 5
-#include <support/xlocale/__nop_locale_mgmt.h>
-#include <support/xlocale/__posix_l_fallback.h>
-#include <support/xlocale/__strtonum_fallback.h>
-#endif
-
-#endif // _NEWLIB_VERSION
-
-#endif
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/solaris/floatingpoint.h b/r23/sources/cxx-stl/llvm-libc++/include/support/solaris/floatingpoint.h
deleted file mode 100644
index 5f1628f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/solaris/floatingpoint.h
+++ /dev/null
@@ -1,13 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#define atof sun_atof
-#define strtod sun_strtod
-#include_next "floatingpoint.h"
-#undef atof
-#undef strtod
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/solaris/xlocale.h b/r23/sources/cxx-stl/llvm-libc++/include/support/solaris/xlocale.h
deleted file mode 100644
index 05131f0..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/solaris/xlocale.h
+++ /dev/null
@@ -1,76 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-////////////////////////////////////////////////////////////////////////////////
-// Minimal xlocale implementation for Solaris.  This implements the subset of
-// the xlocale APIs that libc++ depends on.
-////////////////////////////////////////////////////////////////////////////////
-#ifndef __XLOCALE_H_INCLUDED
-#define __XLOCALE_H_INCLUDED
-
-#include <stdlib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-int snprintf_l(char *__s, size_t __n, locale_t __l, const char *__format, ...);
-int asprintf_l(char **__s, locale_t __l, const char *__format, ...);
-
-int sscanf_l(const char *__s, locale_t __l, const char *__format, ...);
-
-int toupper_l(int __c, locale_t __l);
-int tolower_l(int __c, locale_t __l);
-
-struct lconv *localeconv(void);
-struct lconv *localeconv_l(locale_t __l);
-
-// FIXME: These are quick-and-dirty hacks to make things pretend to work
-static inline
-long long strtoll_l(const char *__nptr, char **__endptr,
-    int __base, locale_t __loc) {
-  return strtoll(__nptr, __endptr, __base);
-}
-static inline
-long strtol_l(const char *__nptr, char **__endptr,
-    int __base, locale_t __loc) {
-  return strtol(__nptr, __endptr, __base);
-}
-static inline
-unsigned long long strtoull_l(const char *__nptr, char **__endptr,
-    int __base, locale_t __loc) {
-  return strtoull(__nptr, __endptr, __base);
-}
-static inline
-unsigned long strtoul_l(const char *__nptr, char **__endptr,
-    int __base, locale_t __loc) {
-  return strtoul(__nptr, __endptr, __base);
-}
-static inline
-float strtof_l(const char *__nptr, char **__endptr,
-    locale_t __loc) {
-  return strtof(__nptr, __endptr);
-}
-static inline
-double strtod_l(const char *__nptr, char **__endptr,
-    locale_t __loc) {
-  return strtod(__nptr, __endptr);
-}
-static inline
-long double strtold_l(const char *__nptr, char **__endptr,
-    locale_t __loc) {
-  return strtold(__nptr, __endptr);
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/win32/limits_msvc_win32.h b/r23/sources/cxx-stl/llvm-libc++/include/support/win32/limits_msvc_win32.h
deleted file mode 100644
index 7bb8355..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/win32/limits_msvc_win32.h
+++ /dev/null
@@ -1,71 +0,0 @@
-// -*- C++ -*-
-//===------------------ support/win32/limits_msvc_win32.h -----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
-#define _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
-
-#if !defined(_LIBCPP_MSVCRT)
-#error "This header complements the Microsoft C Runtime library, and should not be included otherwise."
-#endif
-#if defined(__clang__)
-#error "This header should only be included when using Microsofts C1XX frontend"
-#endif
-
-#include <limits.h> // CHAR_BIT
-#include <float.h> // limit constants
-#include <math.h> // HUGE_VAL
-#include <ymath.h> // internal MSVC header providing the needed functionality
-
-#define __CHAR_BIT__       CHAR_BIT
-
-#define __FLT_MANT_DIG__   FLT_MANT_DIG
-#define __FLT_DIG__        FLT_DIG
-#define __FLT_RADIX__      FLT_RADIX
-#define __FLT_MIN_EXP__    FLT_MIN_EXP
-#define __FLT_MIN_10_EXP__ FLT_MIN_10_EXP
-#define __FLT_MAX_EXP__    FLT_MAX_EXP
-#define __FLT_MAX_10_EXP__ FLT_MAX_10_EXP
-#define __FLT_MIN__        FLT_MIN
-#define __FLT_MAX__        FLT_MAX
-#define __FLT_EPSILON__    FLT_EPSILON
-// predefined by MinGW GCC
-#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F
-
-#define __DBL_MANT_DIG__   DBL_MANT_DIG
-#define __DBL_DIG__        DBL_DIG
-#define __DBL_RADIX__      DBL_RADIX
-#define __DBL_MIN_EXP__    DBL_MIN_EXP
-#define __DBL_MIN_10_EXP__ DBL_MIN_10_EXP
-#define __DBL_MAX_EXP__    DBL_MAX_EXP
-#define __DBL_MAX_10_EXP__ DBL_MAX_10_EXP
-#define __DBL_MIN__        DBL_MIN
-#define __DBL_MAX__        DBL_MAX
-#define __DBL_EPSILON__    DBL_EPSILON
-// predefined by MinGW GCC
-#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L)
-
-#define __LDBL_MANT_DIG__   LDBL_MANT_DIG
-#define __LDBL_DIG__        LDBL_DIG
-#define __LDBL_RADIX__      LDBL_RADIX
-#define __LDBL_MIN_EXP__    LDBL_MIN_EXP
-#define __LDBL_MIN_10_EXP__ LDBL_MIN_10_EXP
-#define __LDBL_MAX_EXP__    LDBL_MAX_EXP
-#define __LDBL_MAX_10_EXP__ LDBL_MAX_10_EXP
-#define __LDBL_MIN__        LDBL_MIN
-#define __LDBL_MAX__        LDBL_MAX
-#define __LDBL_EPSILON__    LDBL_EPSILON
-// predefined by MinGW GCC
-#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
-
-// __builtin replacements/workarounds
-#define __builtin_huge_vall()    _LInf._Long_double
-#define __builtin_nanl(__dummmy) _LNan._Long_double
-#define __builtin_nansl(__dummy) _LSnan._Long_double
-
-#endif // _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__nop_locale_mgmt.h b/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__nop_locale_mgmt.h
deleted file mode 100644
index f33d389..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__nop_locale_mgmt.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// -*- C++ -*-
-//===------------  support/xlocale/__nop_locale_mgmt.h -----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
-#define _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Patch over lack of extended locale support
-typedef void *locale_t;
-static inline locale_t duplocale(locale_t) {
-  return NULL;
-}
-
-static inline void freelocale(locale_t) {
-}
-
-static inline locale_t newlocale(int, const char *, locale_t) {
-  return NULL;
-}
-
-static inline locale_t uselocale(locale_t) {
-  return NULL;
-}
-
-#define LC_COLLATE_MASK  (1 << LC_COLLATE)
-#define LC_CTYPE_MASK    (1 << LC_CTYPE)
-#define LC_MESSAGES_MASK (1 << LC_MESSAGES)
-#define LC_MONETARY_MASK (1 << LC_MONETARY)
-#define LC_NUMERIC_MASK  (1 << LC_NUMERIC)
-#define LC_TIME_MASK     (1 << LC_TIME)
-#define LC_ALL_MASK (LC_COLLATE_MASK|\
-                     LC_CTYPE_MASK|\
-                     LC_MONETARY_MASK|\
-                     LC_NUMERIC_MASK|\
-                     LC_TIME_MASK|\
-                     LC_MESSAGES_MASK)
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__posix_l_fallback.h b/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__posix_l_fallback.h
deleted file mode 100644
index f3df6c4..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__posix_l_fallback.h
+++ /dev/null
@@ -1,164 +0,0 @@
-// -*- C++ -*-
-//===--------------- support/xlocale/__posix_l_fallback.h -----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-// These are reimplementations of some extended locale functions ( *_l ) that
-// are normally part of POSIX.  This shared implementation provides parts of the
-// extended locale support for libc's that normally don't have any (like
-// Android's bionic and Newlib).
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
-#define _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-inline _LIBCPP_INLINE_VISIBILITY int isalnum_l(int c, locale_t) {
-  return ::isalnum(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int isalpha_l(int c, locale_t) {
-  return ::isalpha(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int isblank_l(int c, locale_t) {
-  return ::isblank(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iscntrl_l(int c, locale_t) {
-  return ::iscntrl(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int isdigit_l(int c, locale_t) {
-  return ::isdigit(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int isgraph_l(int c, locale_t) {
-  return ::isgraph(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int islower_l(int c, locale_t) {
-  return ::islower(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int isprint_l(int c, locale_t) {
-  return ::isprint(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int ispunct_l(int c, locale_t) {
-  return ::ispunct(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int isspace_l(int c, locale_t) {
-  return ::isspace(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int isupper_l(int c, locale_t) {
-  return ::isupper(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int isxdigit_l(int c, locale_t) {
-  return ::isxdigit(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswalnum_l(wint_t c, locale_t) {
-  return ::iswalnum(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswalpha_l(wint_t c, locale_t) {
-  return ::iswalpha(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswblank_l(wint_t c, locale_t) {
-  return ::iswblank(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswcntrl_l(wint_t c, locale_t) {
-  return ::iswcntrl(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswdigit_l(wint_t c, locale_t) {
-  return ::iswdigit(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswgraph_l(wint_t c, locale_t) {
-  return ::iswgraph(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswlower_l(wint_t c, locale_t) {
-  return ::iswlower(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswprint_l(wint_t c, locale_t) {
-  return ::iswprint(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswpunct_l(wint_t c, locale_t) {
-  return ::iswpunct(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswspace_l(wint_t c, locale_t) {
-  return ::iswspace(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswupper_l(wint_t c, locale_t) {
-  return ::iswupper(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int iswxdigit_l(wint_t c, locale_t) {
-  return ::iswxdigit(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int toupper_l(int c, locale_t) {
-  return ::toupper(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int tolower_l(int c, locale_t) {
-  return ::tolower(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY wint_t towupper_l(wint_t c, locale_t) {
-  return ::towupper(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY wint_t towlower_l(wint_t c, locale_t) {
-  return ::towlower(c);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int strcoll_l(const char *s1, const char *s2,
-                                               locale_t) {
-  return ::strcoll(s1, s2);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY size_t strxfrm_l(char *dest, const char *src,
-                                                  size_t n, locale_t) {
-  return ::strxfrm(dest, src, n);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY size_t strftime_l(char *s, size_t max,
-                                                   const char *format,
-                                                   const struct tm *tm, locale_t) {
-  return ::strftime(s, max, format, tm);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY int wcscoll_l(const wchar_t *ws1,
-                                               const wchar_t *ws2, locale_t) {
-  return ::wcscoll(ws1, ws2);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY size_t wcsxfrm_l(wchar_t *dest, const wchar_t *src,
-                                                  size_t n, locale_t) {
-  return ::wcsxfrm(dest, src, n);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__strtonum_fallback.h b/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__strtonum_fallback.h
deleted file mode 100644
index df38598..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/support/xlocale/__strtonum_fallback.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-//===-------------- support/xlocale/__strtonum_fallback.h -----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-// These are reimplementations of some extended locale functions ( *_l ) that
-// aren't part of POSIX.  They are widely available though (GLIBC, BSD, maybe
-// others).  The unifying aspect in this case is that all of these functions
-// convert strings to some numeric type.
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
-#define _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-inline _LIBCPP_INLINE_VISIBILITY float strtof_l(const char *nptr,
-                                                char **endptr, locale_t) {
-  return ::strtof(nptr, endptr);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY double strtod_l(const char *nptr,
-                                                 char **endptr, locale_t) {
-  return ::strtod(nptr, endptr);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY long double strtold_l(const char *nptr,
-                                                       char **endptr, locale_t) {
-  return ::strtold(nptr, endptr);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY long long
-strtoll_l(const char *nptr, char **endptr, int base, locale_t) {
-  return ::strtoll(nptr, endptr, base);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY unsigned long long
-strtoull_l(const char *nptr, char **endptr, int base, locale_t) {
-  return ::strtoull(nptr, endptr, base);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY long long
-wcstoll_l(const wchar_t *nptr, wchar_t **endptr, int base, locale_t) {
-  return ::wcstoll(nptr, endptr, base);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY unsigned long long
-wcstoull_l(const wchar_t *nptr, wchar_t **endptr, int base, locale_t) {
-  return ::wcstoull(nptr, endptr, base);
-}
-
-inline _LIBCPP_INLINE_VISIBILITY long double wcstold_l(const wchar_t *nptr,
-                                                       wchar_t **endptr, locale_t) {
-  return ::wcstold(nptr, endptr);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/tgmath.h b/r23/sources/cxx-stl/llvm-libc++/include/tgmath.h
deleted file mode 100644
index 2dc1f77..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/tgmath.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- tgmath.h ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_TGMATH_H
-#define _LIBCPP_TGMATH_H
-
-/*
-    tgmath.h synopsis
-
-#include <ctgmath>
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-
-#include <ctgmath>
-
-#else  // __cplusplus
-
-#include_next <tgmath.h>
-
-#endif  // __cplusplus
-
-#endif  // _LIBCPP_TGMATH_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/typeindex b/r23/sources/cxx-stl/llvm-libc++/include/typeindex
deleted file mode 100644
index bff1e65..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/typeindex
+++ /dev/null
@@ -1,102 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- typeindex ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_TYPEINDEX
-#define _LIBCPP_TYPEINDEX
-
-/*
-
-    typeindex synopsis
-
-namespace std
-{
-
-class type_index
-{
-public:
-    type_index(const type_info& rhs) noexcept;
-
-    bool operator==(const type_index& rhs) const noexcept;
-    bool operator!=(const type_index& rhs) const noexcept;
-    bool operator< (const type_index& rhs) const noexcept;
-    bool operator<=(const type_index& rhs) const noexcept;
-    bool operator> (const type_index& rhs) const noexcept;
-    bool operator>=(const type_index& rhs) const noexcept;
-
-    size_t hash_code() const noexcept;
-    const char* name() const noexcept;
-};
-
-template <>
-struct hash<type_index>
-    : public unary_function<type_index, size_t>
-{
-    size_t operator()(type_index index) const noexcept;
-};
-
-}  // std
-
-*/
-
-#include <__config>
-#include <typeinfo>
-#include <__functional_base>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-class _LIBCPP_TEMPLATE_VIS type_index
-{
-    const type_info* __t_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    type_index(const type_info& __y) _NOEXCEPT : __t_(&__y) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator==(const type_index& __y) const _NOEXCEPT
-        {return *__t_ == *__y.__t_;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator!=(const type_index& __y) const _NOEXCEPT
-        {return *__t_ != *__y.__t_;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator< (const type_index& __y) const _NOEXCEPT
-        {return  __t_->before(*__y.__t_);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator<=(const type_index& __y) const _NOEXCEPT
-        {return !__y.__t_->before(*__t_);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator> (const type_index& __y) const _NOEXCEPT
-        {return  __y.__t_->before(*__t_);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator>=(const type_index& __y) const _NOEXCEPT
-        {return !__t_->before(*__y.__t_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_t hash_code() const _NOEXCEPT {return __t_->hash_code();}
-    _LIBCPP_INLINE_VISIBILITY
-    const char* name() const _NOEXCEPT {return __t_->name();}
-};
-
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS hash;
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<type_index>
-    : public unary_function<type_index, size_t>
-{
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(type_index __index) const _NOEXCEPT
-        {return __index.hash_code();}
-};
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_TYPEINDEX
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/unordered_map b/r23/sources/cxx-stl/llvm-libc++/include/unordered_map
deleted file mode 100644
index ad17f77..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/unordered_map
+++ /dev/null
@@ -1,2445 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- unordered_map -----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_UNORDERED_MAP
-#define _LIBCPP_UNORDERED_MAP
-
-/*
-
-    unordered_map synopsis
-
-#include <initializer_list>
-
-namespace std
-{
-
-template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>,
-          class Alloc = allocator<pair<const Key, T>>>
-class unordered_map
-{
-public:
-    // types
-    typedef Key                                                        key_type;
-    typedef T                                                          mapped_type;
-    typedef Hash                                                       hasher;
-    typedef Pred                                                       key_equal;
-    typedef Alloc                                                      allocator_type;
-    typedef pair<const key_type, mapped_type>                          value_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef /unspecified/ iterator;
-    typedef /unspecified/ const_iterator;
-    typedef /unspecified/ local_iterator;
-    typedef /unspecified/ const_local_iterator;
-
-    typedef unspecified                             node_type;            // C++17
-    typedef INSERT_RETURN_TYPE<iterator, node_type> insert_return_type;   // C++17
-
-    unordered_map()
-        noexcept(
-            is_nothrow_default_constructible<hasher>::value &&
-            is_nothrow_default_constructible<key_equal>::value &&
-            is_nothrow_default_constructible<allocator_type>::value);
-    explicit unordered_map(size_type n, const hasher& hf = hasher(),
-                           const key_equal& eql = key_equal(),
-                           const allocator_type& a = allocator_type());
-    template <class InputIterator>
-        unordered_map(InputIterator f, InputIterator l,
-                      size_type n = 0, const hasher& hf = hasher(),
-                      const key_equal& eql = key_equal(),
-                      const allocator_type& a = allocator_type());
-    explicit unordered_map(const allocator_type&);
-    unordered_map(const unordered_map&);
-    unordered_map(const unordered_map&, const Allocator&);
-    unordered_map(unordered_map&&)
-        noexcept(
-            is_nothrow_move_constructible<hasher>::value &&
-            is_nothrow_move_constructible<key_equal>::value &&
-            is_nothrow_move_constructible<allocator_type>::value);
-    unordered_map(unordered_map&&, const Allocator&);
-    unordered_map(initializer_list<value_type>, size_type n = 0,
-                  const hasher& hf = hasher(), const key_equal& eql = key_equal(),
-                  const allocator_type& a = allocator_type());
-    unordered_map(size_type n, const allocator_type& a)
-      : unordered_map(n, hasher(), key_equal(), a) {}  // C++14
-    unordered_map(size_type n, const hasher& hf, const allocator_type& a)
-      : unordered_map(n, hf, key_equal(), a) {}  // C++14
-    template <class InputIterator>
-      unordered_map(InputIterator f, InputIterator l, size_type n, const allocator_type& a)
-      : unordered_map(f, l, n, hasher(), key_equal(), a) {}  // C++14
-    template <class InputIterator>
-      unordered_map(InputIterator f, InputIterator l, size_type n, const hasher& hf,
-        const allocator_type& a)
-      : unordered_map(f, l, n, hf, key_equal(), a) {}  // C++14
-    unordered_map(initializer_list<value_type> il, size_type n, const allocator_type& a)
-      : unordered_map(il, n, hasher(), key_equal(), a) {}  // C++14
-    unordered_map(initializer_list<value_type> il, size_type n, const hasher& hf,
-      const allocator_type& a)
-      : unordered_map(il, n, hf, key_equal(), a) {}  // C++14
-    ~unordered_map();
-    unordered_map& operator=(const unordered_map&);
-    unordered_map& operator=(unordered_map&&)
-        noexcept(
-            allocator_type::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<allocator_type>::value &&
-            is_nothrow_move_assignable<hasher>::value &&
-            is_nothrow_move_assignable<key_equal>::value);
-    unordered_map& operator=(initializer_list<value_type>);
-
-    allocator_type get_allocator() const noexcept;
-
-    bool      empty() const noexcept;
-    size_type size() const noexcept;
-    size_type max_size() const noexcept;
-
-    iterator       begin() noexcept;
-    iterator       end() noexcept;
-    const_iterator begin()  const noexcept;
-    const_iterator end()    const noexcept;
-    const_iterator cbegin() const noexcept;
-    const_iterator cend()   const noexcept;
-
-    template <class... Args>
-        pair<iterator, bool> emplace(Args&&... args);
-    template <class... Args>
-        iterator emplace_hint(const_iterator position, Args&&... args);
-    pair<iterator, bool> insert(const value_type& obj);
-    template <class P>
-        pair<iterator, bool> insert(P&& obj);
-    iterator insert(const_iterator hint, const value_type& obj);
-    template <class P>
-        iterator insert(const_iterator hint, P&& obj);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-    void insert(initializer_list<value_type>);
-
-    node_type extract(const_iterator position);                                       // C++17
-    node_type extract(const key_type& x);                                             // C++17
-    insert_return_type insert(node_type&& nh);                                        // C++17
-    iterator           insert(const_iterator hint, node_type&& nh);                   // C++17
-
-    template <class... Args>
-        pair<iterator, bool> try_emplace(const key_type& k, Args&&... args);          // C++17
-    template <class... Args>
-        pair<iterator, bool> try_emplace(key_type&& k, Args&&... args);               // C++17
-    template <class... Args>
-        iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args); // C++17
-    template <class... Args>
-        iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args);      // C++17
-    template <class M>
-        pair<iterator, bool> insert_or_assign(const key_type& k, M&& obj);            // C++17
-    template <class M>
-        pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj);                 // C++17
-    template <class M>
-        iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj);   // C++17
-    template <class M>
-        iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj);        // C++17
-
-    iterator erase(const_iterator position);
-    iterator erase(iterator position);  // C++14
-    size_type erase(const key_type& k);
-    iterator erase(const_iterator first, const_iterator last);
-    void clear() noexcept;
-
-    template<class H2, class P2>
-      void merge(unordered_map<Key, T, H2, P2, Allocator>& source);         // C++17
-    template<class H2, class P2>
-      void merge(unordered_map<Key, T, H2, P2, Allocator>&& source);        // C++17
-    template<class H2, class P2>
-      void merge(unordered_multimap<Key, T, H2, P2, Allocator>& source);    // C++17
-    template<class H2, class P2>
-      void merge(unordered_multimap<Key, T, H2, P2, Allocator>&& source);   // C++17
-
-    void swap(unordered_map&)
-        noexcept(
-            (!allocator_type::propagate_on_container_swap::value ||
-             __is_nothrow_swappable<allocator_type>::value) &&
-            __is_nothrow_swappable<hasher>::value &&
-            __is_nothrow_swappable<key_equal>::value);
-
-    hasher hash_function() const;
-    key_equal key_eq() const;
-
-    iterator       find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    size_type count(const key_type& k) const;
-    bool contains(const key_type& k) const; // C++20
-    pair<iterator, iterator>             equal_range(const key_type& k);
-    pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
-
-    mapped_type& operator[](const key_type& k);
-    mapped_type& operator[](key_type&& k);
-
-    mapped_type&       at(const key_type& k);
-    const mapped_type& at(const key_type& k) const;
-
-    size_type bucket_count() const noexcept;
-    size_type max_bucket_count() const noexcept;
-
-    size_type bucket_size(size_type n) const;
-    size_type bucket(const key_type& k) const;
-
-    local_iterator       begin(size_type n);
-    local_iterator       end(size_type n);
-    const_local_iterator begin(size_type n) const;
-    const_local_iterator end(size_type n) const;
-    const_local_iterator cbegin(size_type n) const;
-    const_local_iterator cend(size_type n) const;
-
-    float load_factor() const noexcept;
-    float max_load_factor() const noexcept;
-    void max_load_factor(float z);
-    void rehash(size_type n);
-    void reserve(size_type n);
-};
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    void swap(unordered_map<Key, T, Hash, Pred, Alloc>& x,
-              unordered_map<Key, T, Hash, Pred, Alloc>& y)
-              noexcept(noexcept(x.swap(y)));
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    bool
-    operator==(const unordered_map<Key, T, Hash, Pred, Alloc>& x,
-               const unordered_map<Key, T, Hash, Pred, Alloc>& y);
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    bool
-    operator!=(const unordered_map<Key, T, Hash, Pred, Alloc>& x,
-               const unordered_map<Key, T, Hash, Pred, Alloc>& y);
-
-template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>,
-          class Alloc = allocator<pair<const Key, T>>>
-class unordered_multimap
-{
-public:
-    // types
-    typedef Key                                                        key_type;
-    typedef T                                                          mapped_type;
-    typedef Hash                                                       hasher;
-    typedef Pred                                                       key_equal;
-    typedef Alloc                                                      allocator_type;
-    typedef pair<const key_type, mapped_type>                          value_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef /unspecified/ iterator;
-    typedef /unspecified/ const_iterator;
-    typedef /unspecified/ local_iterator;
-    typedef /unspecified/ const_local_iterator;
-
-    typedef unspecified node_type;    // C++17
-
-    unordered_multimap()
-        noexcept(
-            is_nothrow_default_constructible<hasher>::value &&
-            is_nothrow_default_constructible<key_equal>::value &&
-            is_nothrow_default_constructible<allocator_type>::value);
-    explicit unordered_multimap(size_type n, const hasher& hf = hasher(),
-                           const key_equal& eql = key_equal(),
-                           const allocator_type& a = allocator_type());
-    template <class InputIterator>
-        unordered_multimap(InputIterator f, InputIterator l,
-                      size_type n = 0, const hasher& hf = hasher(),
-                      const key_equal& eql = key_equal(),
-                      const allocator_type& a = allocator_type());
-    explicit unordered_multimap(const allocator_type&);
-    unordered_multimap(const unordered_multimap&);
-    unordered_multimap(const unordered_multimap&, const Allocator&);
-    unordered_multimap(unordered_multimap&&)
-        noexcept(
-            is_nothrow_move_constructible<hasher>::value &&
-            is_nothrow_move_constructible<key_equal>::value &&
-            is_nothrow_move_constructible<allocator_type>::value);
-    unordered_multimap(unordered_multimap&&, const Allocator&);
-    unordered_multimap(initializer_list<value_type>, size_type n = 0,
-                  const hasher& hf = hasher(), const key_equal& eql = key_equal(),
-                  const allocator_type& a = allocator_type());
-    unordered_multimap(size_type n, const allocator_type& a)
-      : unordered_multimap(n, hasher(), key_equal(), a) {}  // C++14
-    unordered_multimap(size_type n, const hasher& hf, const allocator_type& a)
-      : unordered_multimap(n, hf, key_equal(), a) {}  // C++14
-    template <class InputIterator>
-      unordered_multimap(InputIterator f, InputIterator l, size_type n, const allocator_type& a)
-      : unordered_multimap(f, l, n, hasher(), key_equal(), a) {}  // C++14
-    template <class InputIterator>
-      unordered_multimap(InputIterator f, InputIterator l, size_type n, const hasher& hf,
-        const allocator_type& a)
-      : unordered_multimap(f, l, n, hf, key_equal(), a) {}  // C++14
-    unordered_multimap(initializer_list<value_type> il, size_type n, const allocator_type& a)
-      : unordered_multimap(il, n, hasher(), key_equal(), a) {}  // C++14
-    unordered_multimap(initializer_list<value_type> il, size_type n, const hasher& hf,
-      const allocator_type& a)
-      : unordered_multimap(il, n, hf, key_equal(), a) {}  // C++14
-    ~unordered_multimap();
-    unordered_multimap& operator=(const unordered_multimap&);
-    unordered_multimap& operator=(unordered_multimap&&)
-        noexcept(
-            allocator_type::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<allocator_type>::value &&
-            is_nothrow_move_assignable<hasher>::value &&
-            is_nothrow_move_assignable<key_equal>::value);
-    unordered_multimap& operator=(initializer_list<value_type>);
-
-    allocator_type get_allocator() const noexcept;
-
-    bool      empty() const noexcept;
-    size_type size() const noexcept;
-    size_type max_size() const noexcept;
-
-    iterator       begin() noexcept;
-    iterator       end() noexcept;
-    const_iterator begin()  const noexcept;
-    const_iterator end()    const noexcept;
-    const_iterator cbegin() const noexcept;
-    const_iterator cend()   const noexcept;
-
-    template <class... Args>
-        iterator emplace(Args&&... args);
-    template <class... Args>
-        iterator emplace_hint(const_iterator position, Args&&... args);
-    iterator insert(const value_type& obj);
-    template <class P>
-        iterator insert(P&& obj);
-    iterator insert(const_iterator hint, const value_type& obj);
-    template <class P>
-        iterator insert(const_iterator hint, P&& obj);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-    void insert(initializer_list<value_type>);
-
-    node_type extract(const_iterator position);                // C++17
-    node_type extract(const key_type& x);                      // C++17
-    iterator insert(node_type&& nh);                           // C++17
-    iterator insert(const_iterator hint, node_type&& nh);      // C++17
-
-    iterator erase(const_iterator position);
-    iterator erase(iterator position);  // C++14
-    size_type erase(const key_type& k);
-    iterator erase(const_iterator first, const_iterator last);
-    void clear() noexcept;
-
-    template<class H2, class P2>
-      void merge(unordered_multimap<Key, T, H2, P2, Allocator>& source);    // C++17
-    template<class H2, class P2>
-      void merge(unordered_multimap<Key, T, H2, P2, Allocator>&& source);   // C++17
-    template<class H2, class P2>
-      void merge(unordered_map<Key, T, H2, P2, Allocator>& source);         // C++17
-    template<class H2, class P2>
-      void merge(unordered_map<Key, T, H2, P2, Allocator>&& source);        // C++17
-
-    void swap(unordered_multimap&)
-        noexcept(
-            (!allocator_type::propagate_on_container_swap::value ||
-             __is_nothrow_swappable<allocator_type>::value) &&
-            __is_nothrow_swappable<hasher>::value &&
-            __is_nothrow_swappable<key_equal>::value);
-
-    hasher hash_function() const;
-    key_equal key_eq() const;
-
-    iterator       find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    size_type count(const key_type& k) const;
-    bool contains(const key_type& k) const; // C++20
-    pair<iterator, iterator>             equal_range(const key_type& k);
-    pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
-
-    size_type bucket_count() const noexcept;
-    size_type max_bucket_count() const noexcept;
-
-    size_type bucket_size(size_type n) const;
-    size_type bucket(const key_type& k) const;
-
-    local_iterator       begin(size_type n);
-    local_iterator       end(size_type n);
-    const_local_iterator begin(size_type n) const;
-    const_local_iterator end(size_type n) const;
-    const_local_iterator cbegin(size_type n) const;
-    const_local_iterator cend(size_type n) const;
-
-    float load_factor() const noexcept;
-    float max_load_factor() const noexcept;
-    void max_load_factor(float z);
-    void rehash(size_type n);
-    void reserve(size_type n);
-};
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    void swap(unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
-              unordered_multimap<Key, T, Hash, Pred, Alloc>& y)
-              noexcept(noexcept(x.swap(y)));
-
-template <class K, class T, class H, class P, class A, class Predicate>
-    void erase_if(unordered_set<K, T, H, P, A>& c, Predicate pred);       // C++20
-
-template <class K, class T, class H, class P, class A, class Predicate>
-    void erase_if(unordered_multiset<K, T, H, P, A>& c, Predicate pred);  // C++20
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    bool
-    operator==(const unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
-               const unordered_multimap<Key, T, Hash, Pred, Alloc>& y);
-
-template <class Key, class T, class Hash, class Pred, class Alloc>
-    bool
-    operator!=(const unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
-               const unordered_multimap<Key, T, Hash, Pred, Alloc>& y);
-
-}  // std
-
-*/
-
-#include <__config>
-#include <__hash_table>
-#include <__node_handle>
-#include <functional>
-#include <stdexcept>
-#include <tuple>
-#include <version>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Key, class _Cp, class _Hash,
-          bool = is_empty<_Hash>::value && !__libcpp_is_final<_Hash>::value>
-class __unordered_map_hasher
-    : private _Hash
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __unordered_map_hasher()
-        _NOEXCEPT_(is_nothrow_default_constructible<_Hash>::value)
-        : _Hash() {}
-    _LIBCPP_INLINE_VISIBILITY
-    __unordered_map_hasher(const _Hash& __h)
-        _NOEXCEPT_(is_nothrow_copy_constructible<_Hash>::value)
-        : _Hash(__h) {}
-    _LIBCPP_INLINE_VISIBILITY
-    const _Hash& hash_function() const _NOEXCEPT {return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const _Cp& __x) const
-        {return static_cast<const _Hash&>(*this)(__x.__get_value().first);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const _Key& __x) const
-        {return static_cast<const _Hash&>(*this)(__x);}
-    void swap(__unordered_map_hasher&__y)
-        _NOEXCEPT_(__is_nothrow_swappable<_Hash>::value)
-    {
-        using _VSTD::swap;
-        swap(static_cast<_Hash&>(*this), static_cast<_Hash&>(__y));
-    }
-};
-
-template <class _Key, class _Cp, class _Hash>
-class __unordered_map_hasher<_Key, _Cp, _Hash, false>
-{
-    _Hash __hash_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __unordered_map_hasher()
-        _NOEXCEPT_(is_nothrow_default_constructible<_Hash>::value)
-        : __hash_() {}
-    _LIBCPP_INLINE_VISIBILITY
-    __unordered_map_hasher(const _Hash& __h)
-        _NOEXCEPT_(is_nothrow_copy_constructible<_Hash>::value)
-        : __hash_(__h) {}
-    _LIBCPP_INLINE_VISIBILITY
-    const _Hash& hash_function() const _NOEXCEPT {return __hash_;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const _Cp& __x) const
-        {return __hash_(__x.__get_value().first);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_t operator()(const _Key& __x) const
-        {return __hash_(__x);}
-    void swap(__unordered_map_hasher&__y)
-        _NOEXCEPT_(__is_nothrow_swappable<_Hash>::value)
-    {
-        using _VSTD::swap;
-        swap(__hash_, __y.__hash_);
-    }
-};
-
-template <class _Key, class _Cp, class _Hash, bool __b>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__unordered_map_hasher<_Key, _Cp, _Hash, __b>& __x,
-     __unordered_map_hasher<_Key, _Cp, _Hash, __b>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-template <class _Key, class _Cp, class _Pred,
-          bool = is_empty<_Pred>::value && !__libcpp_is_final<_Pred>::value>
-class __unordered_map_equal
-    : private _Pred
-{
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __unordered_map_equal()
-        _NOEXCEPT_(is_nothrow_default_constructible<_Pred>::value)
-        : _Pred() {}
-    _LIBCPP_INLINE_VISIBILITY
-    __unordered_map_equal(const _Pred& __p)
-        _NOEXCEPT_(is_nothrow_copy_constructible<_Pred>::value)
-        : _Pred(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    const _Pred& key_eq() const _NOEXCEPT {return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Cp& __x, const _Cp& __y) const
-        {return static_cast<const _Pred&>(*this)(__x.__get_value().first, __y.__get_value().first);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Cp& __x, const _Key& __y) const
-        {return static_cast<const _Pred&>(*this)(__x.__get_value().first, __y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Key& __x, const _Cp& __y) const
-        {return static_cast<const _Pred&>(*this)(__x, __y.__get_value().first);}
-    void swap(__unordered_map_equal&__y)
-        _NOEXCEPT_(__is_nothrow_swappable<_Pred>::value)
-    {
-        using _VSTD::swap;
-        swap(static_cast<_Pred&>(*this), static_cast<_Pred&>(__y));
-    }
-};
-
-template <class _Key, class _Cp, class _Pred>
-class __unordered_map_equal<_Key, _Cp, _Pred, false>
-{
-    _Pred __pred_;
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    __unordered_map_equal()
-        _NOEXCEPT_(is_nothrow_default_constructible<_Pred>::value)
-        : __pred_() {}
-    _LIBCPP_INLINE_VISIBILITY
-    __unordered_map_equal(const _Pred& __p)
-        _NOEXCEPT_(is_nothrow_copy_constructible<_Pred>::value)
-        : __pred_(__p) {}
-    _LIBCPP_INLINE_VISIBILITY
-    const _Pred& key_eq() const _NOEXCEPT {return __pred_;}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Cp& __x, const _Cp& __y) const
-        {return __pred_(__x.__get_value().first, __y.__get_value().first);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Cp& __x, const _Key& __y) const
-        {return __pred_(__x.__get_value().first, __y);}
-    _LIBCPP_INLINE_VISIBILITY
-    bool operator()(const _Key& __x, const _Cp& __y) const
-        {return __pred_(__x, __y.__get_value().first);}
-    void swap(__unordered_map_equal&__y)
-        _NOEXCEPT_(__is_nothrow_swappable<_Pred>::value)
-    {
-        using _VSTD::swap;
-        swap(__pred_, __y.__pred_);
-    }
-};
-
-template <class _Key, class _Cp, class _Pred, bool __b>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(__unordered_map_equal<_Key, _Cp, _Pred, __b>& __x,
-     __unordered_map_equal<_Key, _Cp, _Pred, __b>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-template <class _Alloc>
-class __hash_map_node_destructor
-{
-    typedef _Alloc                              allocator_type;
-    typedef allocator_traits<allocator_type>    __alloc_traits;
-
-public:
-
-    typedef typename __alloc_traits::pointer       pointer;
-private:
-
-    allocator_type& __na_;
-
-    __hash_map_node_destructor& operator=(const __hash_map_node_destructor&);
-
-public:
-    bool __first_constructed;
-    bool __second_constructed;
-
-    _LIBCPP_INLINE_VISIBILITY
-    explicit __hash_map_node_destructor(allocator_type& __na) _NOEXCEPT
-        : __na_(__na),
-          __first_constructed(false),
-          __second_constructed(false)
-        {}
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_node_destructor(__hash_node_destructor<allocator_type>&& __x)
-        _NOEXCEPT
-        : __na_(__x.__na_),
-          __first_constructed(__x.__value_constructed),
-          __second_constructed(__x.__value_constructed)
-        {
-            __x.__value_constructed = false;
-        }
-#else  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_node_destructor(const __hash_node_destructor<allocator_type>& __x)
-        : __na_(__x.__na_),
-          __first_constructed(__x.__value_constructed),
-          __second_constructed(__x.__value_constructed)
-        {
-            const_cast<bool&>(__x.__value_constructed) = false;
-        }
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    void operator()(pointer __p) _NOEXCEPT
-    {
-        if (__second_constructed)
-            __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.__get_value().second));
-        if (__first_constructed)
-            __alloc_traits::destroy(__na_, _VSTD::addressof(__p->__value_.__get_value().first));
-        if (__p)
-            __alloc_traits::deallocate(__na_, __p, 1);
-    }
-};
-
-#ifndef _LIBCPP_CXX03_LANG
-template <class _Key, class _Tp>
-struct __hash_value_type
-{
-    typedef _Key                                     key_type;
-    typedef _Tp                                      mapped_type;
-    typedef pair<const key_type, mapped_type>        value_type;
-    typedef pair<key_type&, mapped_type&>            __nc_ref_pair_type;
-    typedef pair<key_type&&, mapped_type&&>          __nc_rref_pair_type;
-
-private:
-    value_type __cc;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    value_type& __get_value()
-    {
-#if _LIBCPP_STD_VER > 14
-        return *_VSTD::launder(_VSTD::addressof(__cc));
-#else
-        return __cc;
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type& __get_value() const
-    {
-#if _LIBCPP_STD_VER > 14
-        return *_VSTD::launder(_VSTD::addressof(__cc));
-#else
-        return __cc;
-#endif
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __nc_ref_pair_type __ref()
-    {
-        value_type& __v = __get_value();
-        return __nc_ref_pair_type(const_cast<key_type&>(__v.first), __v.second);
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __nc_rref_pair_type __move()
-    {
-        value_type& __v = __get_value();
-        return __nc_rref_pair_type(
-            _VSTD::move(const_cast<key_type&>(__v.first)),
-            _VSTD::move(__v.second));
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_value_type& operator=(const __hash_value_type& __v)
-    {
-        __ref() = __v.__get_value();
-        return *this;
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_value_type& operator=(__hash_value_type&& __v)
-    {
-        __ref() = __v.__move();
-        return *this;
-    }
-
-    template <class _ValueTp,
-              class = typename enable_if<
-                    __is_same_uncvref<_ValueTp, value_type>::value
-                 >::type
-             >
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_value_type& operator=(_ValueTp&& __v)
-    {
-        __ref() = _VSTD::forward<_ValueTp>(__v);
-        return *this;
-    }
-
-private:
-    __hash_value_type(const __hash_value_type& __v) = delete;
-    __hash_value_type(__hash_value_type&& __v) = delete;
-    template <class ..._Args>
-    explicit __hash_value_type(_Args&& ...__args) = delete;
-
-    ~__hash_value_type() = delete;
-};
-
-#else
-
-template <class _Key, class _Tp>
-struct __hash_value_type
-{
-    typedef _Key                                     key_type;
-    typedef _Tp                                      mapped_type;
-    typedef pair<const key_type, mapped_type>        value_type;
-
-private:
-    value_type __cc;
-
-public:
-    _LIBCPP_INLINE_VISIBILITY
-    value_type& __get_value() { return __cc; }
-    _LIBCPP_INLINE_VISIBILITY
-    const value_type& __get_value() const { return __cc; }
-
-private:
-   ~__hash_value_type();
-};
-
-#endif
-
-template <class _HashIterator>
-class _LIBCPP_TEMPLATE_VIS __hash_map_iterator
-{
-    _HashIterator __i_;
-
-    typedef  __hash_node_types_from_iterator<_HashIterator> _NodeTypes;
-
-public:
-    typedef forward_iterator_tag                                 iterator_category;
-    typedef typename _NodeTypes::__map_value_type                value_type;
-    typedef typename _NodeTypes::difference_type                 difference_type;
-    typedef value_type&                                          reference;
-    typedef typename _NodeTypes::__map_value_type_pointer       pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_iterator() _NOEXCEPT {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_iterator(_HashIterator __i) _NOEXCEPT : __i_(__i) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {return __i_->__get_value();}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {return pointer_traits<pointer>::pointer_to(__i_->__get_value());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_iterator& operator++() {++__i_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_iterator operator++(int)
-    {
-        __hash_map_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const __hash_map_iterator& __x, const __hash_map_iterator& __y)
-        {return __x.__i_ == __y.__i_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const __hash_map_iterator& __x, const __hash_map_iterator& __y)
-        {return __x.__i_ != __y.__i_;}
-
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_map;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_multimap;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator;
-};
-
-template <class _HashIterator>
-class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator
-{
-    _HashIterator __i_;
-
-    typedef  __hash_node_types_from_iterator<_HashIterator> _NodeTypes;
-
-public:
-    typedef forward_iterator_tag                                 iterator_category;
-    typedef typename _NodeTypes::__map_value_type                value_type;
-    typedef typename _NodeTypes::difference_type                 difference_type;
-    typedef const value_type&                                    reference;
-    typedef typename _NodeTypes::__const_map_value_type_pointer  pointer;
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator() _NOEXCEPT {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator(_HashIterator __i) _NOEXCEPT : __i_(__i) {}
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator(
-            __hash_map_iterator<typename _HashIterator::__non_const_iterator> __i)
-                 _NOEXCEPT
-                : __i_(__i.__i_) {}
-
-    _LIBCPP_INLINE_VISIBILITY
-    reference operator*() const {return __i_->__get_value();}
-    _LIBCPP_INLINE_VISIBILITY
-    pointer operator->() const {return pointer_traits<pointer>::pointer_to(__i_->__get_value());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator& operator++() {++__i_; return *this;}
-    _LIBCPP_INLINE_VISIBILITY
-    __hash_map_const_iterator operator++(int)
-    {
-        __hash_map_const_iterator __t(*this);
-        ++(*this);
-        return __t;
-    }
-
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator==(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y)
-        {return __x.__i_ == __y.__i_;}
-    friend _LIBCPP_INLINE_VISIBILITY
-        bool operator!=(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y)
-        {return __x.__i_ != __y.__i_;}
-
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_map;
-    template <class, class, class, class, class> friend class _LIBCPP_TEMPLATE_VIS unordered_multimap;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator;
-    template <class> friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator;
-};
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-class unordered_multimap;
-
-template <class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = equal_to<_Key>,
-          class _Alloc = allocator<pair<const _Key, _Tp> > >
-class _LIBCPP_TEMPLATE_VIS unordered_map
-{
-public:
-    // types
-    typedef _Key                                           key_type;
-    typedef _Tp                                            mapped_type;
-    typedef typename __identity<_Hash>::type               hasher;
-    typedef typename __identity<_Pred>::type               key_equal;
-    typedef typename __identity<_Alloc>::type              allocator_type;
-    typedef pair<const key_type, mapped_type>              value_type;
-    typedef value_type&                                    reference;
-    typedef const value_type&                              const_reference;
-    static_assert((is_same<value_type, typename allocator_type::value_type>::value),
-                  "Invalid allocator::value_type");
-
-private:
-    typedef __hash_value_type<key_type, mapped_type>                 __value_type;
-    typedef __unordered_map_hasher<key_type, __value_type, hasher>   __hasher;
-    typedef __unordered_map_equal<key_type, __value_type, key_equal> __key_equal;
-    typedef typename __rebind_alloc_helper<allocator_traits<allocator_type>,
-                                                 __value_type>::type __allocator_type;
-
-    typedef __hash_table<__value_type, __hasher,
-                         __key_equal,  __allocator_type>   __table;
-
-    __table __table_;
-
-    typedef typename __table::_NodeTypes                   _NodeTypes;
-    typedef typename __table::__node_pointer               __node_pointer;
-    typedef typename __table::__node_const_pointer         __node_const_pointer;
-    typedef typename __table::__node_traits                __node_traits;
-    typedef typename __table::__node_allocator             __node_allocator;
-    typedef typename __table::__node                       __node;
-    typedef __hash_map_node_destructor<__node_allocator>   _Dp;
-    typedef unique_ptr<__node, _Dp>                         __node_holder;
-    typedef allocator_traits<allocator_type>               __alloc_traits;
-
-    static_assert((is_same<typename __table::__container_value_type, value_type>::value), "");
-    static_assert((is_same<typename __table::__node_value_type, __value_type>::value), "");
-public:
-    typedef typename __alloc_traits::pointer         pointer;
-    typedef typename __alloc_traits::const_pointer   const_pointer;
-    typedef typename __table::size_type              size_type;
-    typedef typename __table::difference_type        difference_type;
-
-    typedef __hash_map_iterator<typename __table::iterator>       iterator;
-    typedef __hash_map_const_iterator<typename __table::const_iterator> const_iterator;
-    typedef __hash_map_iterator<typename __table::local_iterator> local_iterator;
-    typedef __hash_map_const_iterator<typename __table::const_local_iterator> const_local_iterator;
-
-#if _LIBCPP_STD_VER > 14
-    typedef __map_node_handle<__node, allocator_type> node_type;
-    typedef __insert_return_type<iterator, node_type> insert_return_type;
-#endif
-
-    template <class _Key2, class _Tp2, class _Hash2, class _Pred2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS unordered_map;
-    template <class _Key2, class _Tp2, class _Hash2, class _Pred2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS unordered_multimap;
-
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map()
-        _NOEXCEPT_(is_nothrow_default_constructible<__table>::value)
-        {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-            __get_db()->__insert_c(this);
-#endif
-        }
-    explicit unordered_map(size_type __n, const hasher& __hf = hasher(),
-                           const key_equal& __eql = key_equal());
-    unordered_map(size_type __n, const hasher& __hf,
-                  const key_equal& __eql,
-                  const allocator_type& __a);
-    template <class _InputIterator>
-        unordered_map(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        unordered_map(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf = hasher(),
-                      const key_equal& __eql = key_equal());
-    template <class _InputIterator>
-        unordered_map(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf,
-                      const key_equal& __eql,
-                      const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    explicit unordered_map(const allocator_type& __a);
-    unordered_map(const unordered_map& __u);
-    unordered_map(const unordered_map& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map(unordered_map&& __u)
-        _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
-    unordered_map(unordered_map&& __u, const allocator_type& __a);
-    unordered_map(initializer_list<value_type> __il);
-    unordered_map(initializer_list<value_type> __il, size_type __n,
-                  const hasher& __hf = hasher(), const key_equal& __eql = key_equal());
-    unordered_map(initializer_list<value_type> __il, size_type __n,
-                  const hasher& __hf, const key_equal& __eql,
-                  const allocator_type& __a);
-#endif  // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER > 11
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map(size_type __n, const allocator_type& __a)
-      : unordered_map(__n, hasher(), key_equal(), __a) {}
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map(size_type __n, const hasher& __hf, const allocator_type& __a)
-      : unordered_map(__n, __hf, key_equal(), __a) {}
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-      unordered_map(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a)
-      : unordered_map(__first, __last, __n, hasher(), key_equal(), __a) {}
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-      unordered_map(_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf,
-        const allocator_type& __a)
-      : unordered_map(__first, __last, __n, __hf, key_equal(), __a) {}
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
-      : unordered_map(__il, __n, hasher(), key_equal(), __a) {}
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map(initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-      const allocator_type& __a)
-      : unordered_map(__il, __n, __hf, key_equal(), __a) {}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    ~unordered_map() {
-        static_assert(sizeof(__diagnose_unordered_container_requirements<_Key, _Hash, _Pred>(0)), "");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map& operator=(const unordered_map& __u)
-    {
-#ifndef _LIBCPP_CXX03_LANG
-        __table_ = __u.__table_;
-#else
-        if (this != &__u) {
-            __table_.clear();
-            __table_.hash_function() = __u.__table_.hash_function();
-            __table_.key_eq() = __u.__table_.key_eq();
-            __table_.max_load_factor() = __u.__table_.max_load_factor();
-            __table_.__copy_assign_alloc(__u.__table_);
-            insert(__u.begin(), __u.end());
-        }
-#endif
-        return *this;
-    }
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map& operator=(unordered_map&& __u)
-        _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_map& operator=(initializer_list<value_type> __il);
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT
-        {return allocator_type(__table_.__node_alloc());}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const _NOEXCEPT {return __table_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT  {return __table_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __table_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin() _NOEXCEPT        {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end() _NOEXCEPT          {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const _NOEXCEPT {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const _NOEXCEPT {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend()   const _NOEXCEPT {return __table_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> insert(const value_type& __x)
-        {return __table_.__insert_unique(__x);}
-
-    iterator insert(const_iterator __p, const value_type& __x) {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-            "unordered_map::insert(const_iterator, const value_type&) called with an iterator not"
-            " referring to this unordered_map");
-#else
-        ((void)__p);
-#endif
-        return insert(__x).first;
-    }
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __first, _InputIterator __last);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(initializer_list<value_type> __il)
-        {insert(__il.begin(), __il.end());}
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> insert(value_type&& __x)
-        {return __table_.__insert_unique(_VSTD::move(__x));}
-
-    iterator insert(const_iterator __p, value_type&& __x) {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-            "unordered_map::insert(const_iterator, const value_type&) called with an iterator not"
-            " referring to this unordered_map");
-#else
-        ((void)__p);
-#endif
-        return __table_.__insert_unique(_VSTD::move(__x)).first;
-    }
-
-    template <class _Pp,
-              class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> insert(_Pp&& __x)
-            {return __table_.__insert_unique(_VSTD::forward<_Pp>(__x));}
-
-    template <class _Pp,
-              class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator insert(const_iterator __p, _Pp&& __x)
-        {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-            _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-                "unordered_map::insert(const_iterator, value_type&&) called with an iterator not"
-                " referring to this unordered_map");
-#else
-          ((void)__p);
-#endif
-            return insert(_VSTD::forward<_Pp>(__x)).first;
-        }
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> emplace(_Args&&... __args) {
-        return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class... _Args>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator emplace_hint(const_iterator __p, _Args&&... __args) {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-            "unordered_map::emplace_hint(const_iterator, args...) called with an iterator not"
-            " referring to this unordered_map");
-#else
-          ((void)__p);
-#endif
-        return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...).first;
-    }
-
-#endif  // _LIBCPP_CXX03_LANG
-
-#if _LIBCPP_STD_VER > 14
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> try_emplace(const key_type& __k, _Args&&... __args)
-    {
-        return __table_.__emplace_unique_key_args(__k, _VSTD::piecewise_construct,
-            _VSTD::forward_as_tuple(__k),
-            _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...));
-    }
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> try_emplace(key_type&& __k, _Args&&... __args)
-    {
-        return __table_.__emplace_unique_key_args(__k, _VSTD::piecewise_construct,
-            _VSTD::forward_as_tuple(_VSTD::move(__k)),
-            _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...));
-    }
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator try_emplace(const_iterator __h, const key_type& __k, _Args&&... __args)
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__h) == this,
-            "unordered_map::try_emplace(const_iterator, key, args...) called with an iterator not"
-            " referring to this unordered_map");
-#else
-        ((void)__h);
-#endif
-        return try_emplace(__k, _VSTD::forward<_Args>(__args)...).first;
-    }
-
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator try_emplace(const_iterator __h, key_type&& __k, _Args&&... __args)
-    {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__h) == this,
-            "unordered_map::try_emplace(const_iterator, key, args...) called with an iterator not"
-            " referring to this unordered_map");
-#else
-        ((void)__h);
-#endif
-        return try_emplace(_VSTD::move(__k), _VSTD::forward<_Args>(__args)...).first;
-    }
-
-    template <class _Vp>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> insert_or_assign(const key_type& __k, _Vp&& __v)
-    {
-        pair<iterator, bool> __res = __table_.__emplace_unique_key_args(__k,
-            __k, _VSTD::forward<_Vp>(__v));
-        if (!__res.second) {
-            __res.first->second = _VSTD::forward<_Vp>(__v);
-        }
-        return __res;
-    }
-
-    template <class _Vp>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> insert_or_assign(key_type&& __k, _Vp&& __v)
-    {
-        pair<iterator, bool> __res = __table_.__emplace_unique_key_args(__k,
-            _VSTD::move(__k), _VSTD::forward<_Vp>(__v));
-        if (!__res.second) {
-            __res.first->second = _VSTD::forward<_Vp>(__v);
-        }
-        return __res;
-    }
-
-    template <class _Vp>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator insert_or_assign(const_iterator, const key_type& __k, _Vp&& __v)
-     {
-          // FIXME: Add debug mode checking for the iterator input
-          return insert_or_assign(__k, _VSTD::forward<_Vp>(__v)).first;
-     }
-
-    template <class _Vp>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator insert_or_assign(const_iterator, key_type&& __k, _Vp&& __v)
-     {
-        // FIXME: Add debug mode checking for the iterator input
-        return insert_or_assign(_VSTD::move(__k), _VSTD::forward<_Vp>(__v)).first;
-     }
-#endif // _LIBCPP_STD_VER > 14
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __p) {return __table_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(iterator __p)       {return __table_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __first, const_iterator __last)
-        {return __table_.erase(__first.__i_, __last.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-        void clear() _NOEXCEPT {__table_.clear();}
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    insert_return_type insert(node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to unordered_map::insert()");
-        return __table_.template __node_handle_insert_unique<
-            node_type, insert_return_type>(_VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __hint, node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to unordered_map::insert()");
-        return __table_.template __node_handle_insert_unique<node_type>(
-            __hint.__i_, _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(key_type const& __key)
-    {
-        return __table_.template __node_handle_extract<node_type>(__key);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(const_iterator __it)
-    {
-        return __table_.template __node_handle_extract<node_type>(
-            __it.__i_);
-    }
-
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_map<key_type, mapped_type, _H2, _P2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_unique(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_map<key_type, mapped_type, _H2, _P2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_unique(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_multimap<key_type, mapped_type, _H2, _P2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_unique(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_multimap<key_type, mapped_type, _H2, _P2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_unique(__source.__table_);
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(unordered_map& __u)
-        _NOEXCEPT_(__is_nothrow_swappable<__table>::value)
-        { __table_.swap(__u.__table_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher hash_function() const
-        {return __table_.hash_function().hash_function();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal key_eq() const
-        {return __table_.key_eq().key_eq();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       find(const key_type& __k)       {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type count(const key_type& __k) const {return __table_.__count_unique(__k);}
-    #if _LIBCPP_STD_VER > 17
-        _LIBCPP_INLINE_VISIBILITY
-        bool contains(const key_type& __k) const {return find(__k) != end();}
-    #endif // _LIBCPP_STD_VER > 17
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, iterator>             equal_range(const key_type& __k)
-        {return __table_.__equal_range_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
-        {return __table_.__equal_range_unique(__k);}
-
-    mapped_type& operator[](const key_type& __k);
-#ifndef _LIBCPP_CXX03_LANG
-    mapped_type& operator[](key_type&& __k);
-#endif
-
-    mapped_type&       at(const key_type& __k);
-    const mapped_type& at(const key_type& __k) const;
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const _NOEXCEPT {return __table_.bucket_count();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const _NOEXCEPT {return __table_.max_bucket_count();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_size(size_type __n) const
-        {return __table_.bucket_size(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket(const key_type& __k) const {return __table_.bucket(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator       begin(size_type __n)        {return __table_.begin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator       end(size_type __n)          {return __table_.end(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator begin(size_type __n) const  {return __table_.cbegin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator end(size_type __n) const    {return __table_.cend(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator cbegin(size_type __n) const {return __table_.cbegin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator cend(size_type __n) const   {return __table_.cend(__n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    float load_factor() const _NOEXCEPT {return __table_.load_factor();}
-    _LIBCPP_INLINE_VISIBILITY
-    float max_load_factor() const _NOEXCEPT {return __table_.max_load_factor();}
-    _LIBCPP_INLINE_VISIBILITY
-    void max_load_factor(float __mlf) {__table_.max_load_factor(__mlf);}
-    _LIBCPP_INLINE_VISIBILITY
-    void rehash(size_type __n) {__table_.rehash(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    void reserve(size_type __n) {__table_.reserve(__n);}
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    bool __dereferenceable(const const_iterator* __i) const
-        {return __table_.__dereferenceable(&__i->__i_);}
-    bool __decrementable(const const_iterator* __i) const
-        {return __table_.__decrementable(&__i->__i_);}
-    bool __addable(const const_iterator* __i, ptrdiff_t __n) const
-        {return __table_.__addable(&__i->__i_, __n);}
-    bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const
-        {return __table_.__addable(&__i->__i_, __n);}
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-private:
-
-#ifdef _LIBCPP_CXX03_LANG
-    __node_holder __construct_node_with_key(const key_type& __k);
-#endif
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Hash = hash<__iter_key_type<_InputIterator>>,
-         class _Pred = equal_to<__iter_key_type<_InputIterator>>,
-         class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<!__is_allocator<_Pred>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_map(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type = 0,
-              _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
-  -> unordered_map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Hash, _Pred, _Allocator>;
-
-template<class _Key, class _Tp, class _Hash = hash<remove_const_t<_Key>>,
-         class _Pred = equal_to<remove_const_t<_Key>>,
-         class _Allocator = allocator<pair<const _Key, _Tp>>,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<!__is_allocator<_Pred>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_map(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type = 0,
-              _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
-  -> unordered_map<remove_const_t<_Key>, _Tp, _Hash, _Pred, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_map(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type, _Allocator)
-  -> unordered_map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-                   hash<__iter_key_type<_InputIterator>>, equal_to<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_map(_InputIterator, _InputIterator, _Allocator)
-  -> unordered_map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-                   hash<__iter_key_type<_InputIterator>>, equal_to<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _InputIterator, class _Hash, class _Allocator,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_map(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-  -> unordered_map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-                   _Hash, equal_to<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_map(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type, _Allocator)
-  -> unordered_map<remove_const_t<_Key>, _Tp,
-                   hash<remove_const_t<_Key>>,
-                   equal_to<remove_const_t<_Key>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_map(initializer_list<pair<_Key, _Tp>>, _Allocator)
-  -> unordered_map<remove_const_t<_Key>, _Tp,
-                   hash<remove_const_t<_Key>>,
-                   equal_to<remove_const_t<_Key>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Hash, class _Allocator,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_map(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-  -> unordered_map<remove_const_t<_Key>, _Tp, _Hash,
-                   equal_to<remove_const_t<_Key>>, _Allocator>;
-#endif
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        size_type __n, const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        size_type __n, const hasher& __hf, const key_equal& __eql,
-        const allocator_type& __a)
-    : __table_(__hf, __eql, typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        const allocator_type& __a)
-    : __table_(typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        _InputIterator __first, _InputIterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        const unordered_map& __u)
-    : __table_(__u.__table_)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        const unordered_map& __u, const allocator_type& __a)
-    : __table_(__u.__table_, typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        unordered_map&& __u)
-    _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
-    : __table_(_VSTD::move(__u.__table_))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-    __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        unordered_map&& __u, const allocator_type& __a)
-    : __table_(_VSTD::move(__u.__table_), typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__a != __u.get_allocator())
-    {
-        iterator __i = __u.begin();
-        while (__u.size() != 0) {
-            __table_.__emplace_unique(
-                __u.__table_.remove((__i++).__i_)->__value_.__move());
-        }
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    else
-        __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        initializer_list<value_type> __il)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-        const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
-        initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-        const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_map&& __u)
-    _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
-{
-    __table_ = _VSTD::move(__u.__table_);
-    return *this;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(
-        initializer_list<value_type> __il)
-{
-    __table_.__assign_unique(__il.begin(), __il.end());
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-inline
-void
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
-                                                       _InputIterator __last)
-{
-    for (; __first != __last; ++__first)
-        __table_.__insert_unique(*__first);
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-_Tp&
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type& __k)
-{
-    return __table_.__emplace_unique_key_args(__k,
-        std::piecewise_construct, std::forward_as_tuple(__k),
-                                  std::forward_as_tuple()).first->__get_value().second;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-_Tp&
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](key_type&& __k)
-{
-    return __table_.__emplace_unique_key_args(__k,
-        std::piecewise_construct, std::forward_as_tuple(std::move(__k)),
-                                  std::forward_as_tuple()).first->__get_value().second;
-}
-#else // _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node_with_key(const key_type& __k)
-{
-    __node_allocator& __na = __table_.__node_alloc();
-    __node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
-    __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__get_value().first), __k);
-    __h.get_deleter().__first_constructed = true;
-    __node_traits::construct(__na, _VSTD::addressof(__h->__value_.__get_value().second));
-    __h.get_deleter().__second_constructed = true;
-    return _LIBCPP_EXPLICIT_MOVE(__h);  // explicitly moved for C++03
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-_Tp&
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type& __k)
-{
-    iterator __i = find(__k);
-    if (__i != end())
-        return __i->second;
-    __node_holder __h = __construct_node_with_key(__k);
-    pair<iterator, bool> __r = __table_.__node_insert_unique(__h.get());
-    __h.release();
-    return __r.first->second;
-}
-
-#endif  // _LIBCPP_CXX03_MODE
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-_Tp&
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::at(const key_type& __k)
-{
-    iterator __i = find(__k);
-    if (__i == end())
-        __throw_out_of_range("unordered_map::at: key not found");
-    return __i->second;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-const _Tp&
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::at(const key_type& __k) const
-{
-    const_iterator __i = find(__k);
-    if (__i == end())
-        __throw_out_of_range("unordered_map::at: key not found");
-    return __i->second;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-     unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
-#endif
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-bool
-operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-           const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    if (__x.size() != __y.size())
-        return false;
-    typedef typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator
-                                                                 const_iterator;
-    for (const_iterator __i = __x.begin(), __ex = __x.end(), __ey = __y.end();
-            __i != __ex; ++__i)
-    {
-        const_iterator __j = __y.find(__i->first);
-        if (__j == __ey || !(*__i == *__j))
-            return false;
-    }
-    return true;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-           const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = equal_to<_Key>,
-          class _Alloc = allocator<pair<const _Key, _Tp> > >
-class _LIBCPP_TEMPLATE_VIS unordered_multimap
-{
-public:
-    // types
-    typedef _Key                                           key_type;
-    typedef _Tp                                            mapped_type;
-    typedef typename __identity<_Hash>::type               hasher;
-    typedef typename __identity<_Pred>::type               key_equal;
-    typedef typename __identity<_Alloc>::type              allocator_type;
-    typedef pair<const key_type, mapped_type>              value_type;
-    typedef value_type&                                    reference;
-    typedef const value_type&                              const_reference;
-    static_assert((is_same<value_type, typename allocator_type::value_type>::value),
-                  "Invalid allocator::value_type");
-
-private:
-    typedef __hash_value_type<key_type, mapped_type>                 __value_type;
-    typedef __unordered_map_hasher<key_type, __value_type, hasher>   __hasher;
-    typedef __unordered_map_equal<key_type, __value_type, key_equal> __key_equal;
-    typedef typename __rebind_alloc_helper<allocator_traits<allocator_type>,
-                                                 __value_type>::type __allocator_type;
-
-    typedef __hash_table<__value_type, __hasher,
-                         __key_equal,  __allocator_type>   __table;
-
-    __table __table_;
-
-    typedef typename __table::_NodeTypes                   _NodeTypes;
-    typedef typename __table::__node_traits                __node_traits;
-    typedef typename __table::__node_allocator             __node_allocator;
-    typedef typename __table::__node                       __node;
-    typedef __hash_map_node_destructor<__node_allocator>   _Dp;
-    typedef unique_ptr<__node, _Dp>                         __node_holder;
-    typedef allocator_traits<allocator_type>               __alloc_traits;
-    static_assert((is_same<typename __node_traits::size_type,
-                          typename __alloc_traits::size_type>::value),
-                 "Allocator uses different size_type for different types");
-public:
-    typedef typename __alloc_traits::pointer         pointer;
-    typedef typename __alloc_traits::const_pointer   const_pointer;
-    typedef typename __table::size_type              size_type;
-    typedef typename __table::difference_type        difference_type;
-
-    typedef __hash_map_iterator<typename __table::iterator>       iterator;
-    typedef __hash_map_const_iterator<typename __table::const_iterator> const_iterator;
-    typedef __hash_map_iterator<typename __table::local_iterator> local_iterator;
-    typedef __hash_map_const_iterator<typename __table::const_local_iterator> const_local_iterator;
-
-#if _LIBCPP_STD_VER > 14
-    typedef __map_node_handle<__node, allocator_type> node_type;
-#endif
-
-    template <class _Key2, class _Tp2, class _Hash2, class _Pred2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS unordered_map;
-    template <class _Key2, class _Tp2, class _Hash2, class _Pred2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS unordered_multimap;
-
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap()
-        _NOEXCEPT_(is_nothrow_default_constructible<__table>::value)
-        {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-            __get_db()->__insert_c(this);
-#endif
-        }
-    explicit unordered_multimap(size_type __n, const hasher& __hf = hasher(),
-                                const key_equal& __eql = key_equal());
-    unordered_multimap(size_type __n, const hasher& __hf,
-                                const key_equal& __eql,
-                                const allocator_type& __a);
-    template <class _InputIterator>
-        unordered_multimap(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        unordered_multimap(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf = hasher(),
-                      const key_equal& __eql = key_equal());
-    template <class _InputIterator>
-        unordered_multimap(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf,
-                      const key_equal& __eql,
-                      const allocator_type& __a);
-    _LIBCPP_INLINE_VISIBILITY
-    explicit unordered_multimap(const allocator_type& __a);
-    unordered_multimap(const unordered_multimap& __u);
-    unordered_multimap(const unordered_multimap& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap(unordered_multimap&& __u)
-        _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
-    unordered_multimap(unordered_multimap&& __u, const allocator_type& __a);
-    unordered_multimap(initializer_list<value_type> __il);
-    unordered_multimap(initializer_list<value_type> __il, size_type __n,
-                       const hasher& __hf = hasher(),
-                       const key_equal& __eql = key_equal());
-    unordered_multimap(initializer_list<value_type> __il, size_type __n,
-                       const hasher& __hf, const key_equal& __eql,
-                       const allocator_type& __a);
-#endif  // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER > 11
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap(size_type __n, const allocator_type& __a)
-      : unordered_multimap(__n, hasher(), key_equal(), __a) {}
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap(size_type __n, const hasher& __hf, const allocator_type& __a)
-      : unordered_multimap(__n, __hf, key_equal(), __a) {}
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-      unordered_multimap(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a)
-      : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a) {}
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-      unordered_multimap(_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf,
-        const allocator_type& __a)
-      : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a) {}
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
-      : unordered_multimap(__il, __n, hasher(), key_equal(), __a) {}
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap(initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-      const allocator_type& __a)
-      : unordered_multimap(__il, __n, __hf, key_equal(), __a) {}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    ~unordered_multimap() {
-        static_assert(sizeof(__diagnose_unordered_container_requirements<_Key, _Hash, _Pred>(0)), "");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap& operator=(const unordered_multimap& __u)
-    {
-#ifndef _LIBCPP_CXX03_LANG
-        __table_ = __u.__table_;
-#else
-        if (this != &__u) {
-            __table_.clear();
-            __table_.hash_function() = __u.__table_.hash_function();
-            __table_.key_eq() = __u.__table_.key_eq();
-            __table_.max_load_factor() = __u.__table_.max_load_factor();
-            __table_.__copy_assign_alloc(__u.__table_);
-            insert(__u.begin(), __u.end());
-        }
-#endif
-        return *this;
-    }
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap& operator=(unordered_multimap&& __u)
-        _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multimap& operator=(initializer_list<value_type> __il);
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT
-        {return allocator_type(__table_.__node_alloc());}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const _NOEXCEPT {return __table_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT  {return __table_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __table_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin() _NOEXCEPT        {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end() _NOEXCEPT          {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const _NOEXCEPT {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const _NOEXCEPT {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend()   const _NOEXCEPT {return __table_.end();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, const value_type& __x)
-        {return __table_.__insert_multi(__p.__i_, __x);}
-
-    template <class _InputIterator>
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(_InputIterator __first, _InputIterator __last);
-
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(initializer_list<value_type> __il)
-        {insert(__il.begin(), __il.end());}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(value_type&& __x) {return __table_.__insert_multi(_VSTD::move(__x));}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, value_type&& __x)
-        {return __table_.__insert_multi(__p.__i_, _VSTD::move(__x));}
-
-    template <class _Pp,
-              class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(_Pp&& __x)
-        {return __table_.__insert_multi(_VSTD::forward<_Pp>(__x));}
-
-    template <class _Pp,
-              class = typename enable_if<is_constructible<value_type, _Pp>::value>::type>
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, _Pp&& __x)
-        {return __table_.__insert_multi(__p.__i_, _VSTD::forward<_Pp>(__x));}
-
-    template <class... _Args>
-    iterator emplace(_Args&&... __args) {
-        return __table_.__emplace_multi(_VSTD::forward<_Args>(__args)...);
-    }
-
-    template <class... _Args>
-    iterator emplace_hint(const_iterator __p, _Args&&... __args) {
-        return __table_.__emplace_hint_multi(__p.__i_, _VSTD::forward<_Args>(__args)...);
-    }
-#endif  // _LIBCPP_CXX03_LANG
-
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __p) {return __table_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(iterator __p)       {return __table_.erase(__p.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __table_.__erase_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __first, const_iterator __last)
-        {return __table_.erase(__first.__i_, __last.__i_);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__table_.clear();}
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to unordered_multimap::insert()");
-        return __table_.template __node_handle_insert_multi<node_type>(
-            _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __hint, node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to unordered_multimap::insert()");
-        return __table_.template __node_handle_insert_multi<node_type>(
-            __hint.__i_, _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(key_type const& __key)
-    {
-        return __table_.template __node_handle_extract<node_type>(__key);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(const_iterator __it)
-    {
-        return __table_.template __node_handle_extract<node_type>(
-            __it.__i_);
-    }
-
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_multimap<key_type, mapped_type, _H2, _P2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_multi(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_multimap<key_type, mapped_type, _H2, _P2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_multi(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_map<key_type, mapped_type, _H2, _P2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_multi(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_map<key_type, mapped_type, _H2, _P2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_multi(__source.__table_);
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(unordered_multimap& __u)
-        _NOEXCEPT_(__is_nothrow_swappable<__table>::value)
-        {__table_.swap(__u.__table_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher hash_function() const
-        {return __table_.hash_function().hash_function();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal key_eq() const
-        {return __table_.key_eq().key_eq();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       find(const key_type& __k)       {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type count(const key_type& __k) const {return __table_.__count_multi(__k);}
-    #if _LIBCPP_STD_VER > 17
-        _LIBCPP_INLINE_VISIBILITY
-        bool contains(const key_type& __k) const {return find(__k) != end();}
-    #endif // _LIBCPP_STD_VER > 17
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, iterator>             equal_range(const key_type& __k)
-        {return __table_.__equal_range_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
-        {return __table_.__equal_range_multi(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const _NOEXCEPT {return __table_.bucket_count();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const _NOEXCEPT
-        {return __table_.max_bucket_count();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_size(size_type __n) const
-        {return __table_.bucket_size(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket(const key_type& __k) const {return __table_.bucket(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator       begin(size_type __n)        {return __table_.begin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator       end(size_type __n)          {return __table_.end(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator begin(size_type __n) const  {return __table_.cbegin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator end(size_type __n) const    {return __table_.cend(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator cbegin(size_type __n) const {return __table_.cbegin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator cend(size_type __n) const   {return __table_.cend(__n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    float load_factor() const _NOEXCEPT {return __table_.load_factor();}
-    _LIBCPP_INLINE_VISIBILITY
-    float max_load_factor() const _NOEXCEPT {return __table_.max_load_factor();}
-    _LIBCPP_INLINE_VISIBILITY
-    void max_load_factor(float __mlf) {__table_.max_load_factor(__mlf);}
-    _LIBCPP_INLINE_VISIBILITY
-    void rehash(size_type __n) {__table_.rehash(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    void reserve(size_type __n) {__table_.reserve(__n);}
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    bool __dereferenceable(const const_iterator* __i) const
-        {return __table_.__dereferenceable(&__i->__i_);}
-    bool __decrementable(const const_iterator* __i) const
-        {return __table_.__decrementable(&__i->__i_);}
-    bool __addable(const const_iterator* __i, ptrdiff_t __n) const
-        {return __table_.__addable(&__i->__i_, __n);}
-    bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const
-        {return __table_.__addable(&__i->__i_, __n);}
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Hash = hash<__iter_key_type<_InputIterator>>,
-         class _Pred = equal_to<__iter_key_type<_InputIterator>>,
-         class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<!__is_allocator<_Pred>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multimap(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type = 0,
-                   _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
-  -> unordered_multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Hash, _Pred, _Allocator>;
-
-template<class _Key, class _Tp, class _Hash = hash<remove_const_t<_Key>>,
-         class _Pred = equal_to<remove_const_t<_Key>>,
-         class _Allocator = allocator<pair<const _Key, _Tp>>,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<!__is_allocator<_Pred>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multimap(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type = 0,
-                   _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
-  -> unordered_multimap<remove_const_t<_Key>, _Tp, _Hash, _Pred, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multimap(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type, _Allocator)
-  -> unordered_multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-                        hash<__iter_key_type<_InputIterator>>, equal_to<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multimap(_InputIterator, _InputIterator, _Allocator)
-  -> unordered_multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-                        hash<__iter_key_type<_InputIterator>>, equal_to<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _InputIterator, class _Hash, class _Allocator,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multimap(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-  -> unordered_multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-                        _Hash, equal_to<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multimap(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type, _Allocator)
-  -> unordered_multimap<remove_const_t<_Key>, _Tp,
-                        hash<remove_const_t<_Key>>,
-                        equal_to<remove_const_t<_Key>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
-  -> unordered_multimap<remove_const_t<_Key>, _Tp,
-                        hash<remove_const_t<_Key>>,
-                        equal_to<remove_const_t<_Key>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Hash, class _Allocator,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multimap(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-  -> unordered_multimap<remove_const_t<_Key>, _Tp, _Hash,
-                        equal_to<remove_const_t<_Key>>, _Allocator>;
-#endif
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        size_type __n, const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        size_type __n, const hasher& __hf, const key_equal& __eql,
-        const allocator_type& __a)
-    : __table_(__hf, __eql, typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        _InputIterator __first, _InputIterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        const allocator_type& __a)
-    : __table_(typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        const unordered_multimap& __u)
-    : __table_(__u.__table_)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        const unordered_multimap& __u, const allocator_type& __a)
-    : __table_(__u.__table_, typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        unordered_multimap&& __u)
-    _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
-    : __table_(_VSTD::move(__u.__table_))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-    __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        unordered_multimap&& __u, const allocator_type& __a)
-    : __table_(_VSTD::move(__u.__table_), typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__a != __u.get_allocator())
-    {
-        iterator __i = __u.begin();
-        while (__u.size() != 0)
-        {
-            __table_.__insert_multi(
-                __u.__table_.remove((__i++).__i_)->__value_.__move());
-        }
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    else
-        __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        initializer_list<value_type> __il)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-        const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
-        initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-        const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, typename __table::allocator_type(__a))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_multimap&& __u)
-    _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
-{
-    __table_ = _VSTD::move(__u.__table_);
-    return *this;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(
-        initializer_list<value_type> __il)
-{
-    __table_.__assign_multi(__il.begin(), __il.end());
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-inline
-void
-unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
-                                                            _InputIterator __last)
-{
-    for (; __first != __last; ++__first)
-        __table_.__insert_multi(*__first);
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-     unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
-#endif
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-bool
-operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-           const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    if (__x.size() != __y.size())
-        return false;
-    typedef typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator
-                                                                 const_iterator;
-    typedef pair<const_iterator, const_iterator> _EqRng;
-    for (const_iterator __i = __x.begin(), __ex = __x.end(); __i != __ex;)
-    {
-        _EqRng __xeq = __x.equal_range(__i->first);
-        _EqRng __yeq = __y.equal_range(__i->first);
-        if (_VSTD::distance(__xeq.first, __xeq.second) !=
-            _VSTD::distance(__yeq.first, __yeq.second) ||
-                  !_VSTD::is_permutation(__xeq.first, __xeq.second, __yeq.first))
-            return false;
-        __i = __xeq.second;
-    }
-    return true;
-}
-
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
-           const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_UNORDERED_MAP
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/unordered_set b/r23/sources/cxx-stl/llvm-libc++/include/unordered_set
deleted file mode 100644
index 68f777a..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/unordered_set
+++ /dev/null
@@ -1,1680 +0,0 @@
-// -*- C++ -*-
-//===-------------------------- unordered_set -----------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_UNORDERED_SET
-#define _LIBCPP_UNORDERED_SET
-
-/*
-
-    unordered_set synopsis
-
-#include <initializer_list>
-
-namespace std
-{
-
-template <class Value, class Hash = hash<Value>, class Pred = equal_to<Value>,
-          class Alloc = allocator<Value>>
-class unordered_set
-{
-public:
-    // types
-    typedef Value                                                      key_type;
-    typedef key_type                                                   value_type;
-    typedef Hash                                                       hasher;
-    typedef Pred                                                       key_equal;
-    typedef Alloc                                                      allocator_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef /unspecified/ iterator;
-    typedef /unspecified/ const_iterator;
-    typedef /unspecified/ local_iterator;
-    typedef /unspecified/ const_local_iterator;
-
-    typedef unspecified node_type unspecified;                            // C++17
-    typedef INSERT_RETURN_TYPE<iterator, node_type> insert_return_type;   // C++17
-
-    unordered_set()
-        noexcept(
-            is_nothrow_default_constructible<hasher>::value &&
-            is_nothrow_default_constructible<key_equal>::value &&
-            is_nothrow_default_constructible<allocator_type>::value);
-    explicit unordered_set(size_type n, const hasher& hf = hasher(),
-                           const key_equal& eql = key_equal(),
-                           const allocator_type& a = allocator_type());
-    template <class InputIterator>
-        unordered_set(InputIterator f, InputIterator l,
-                      size_type n = 0, const hasher& hf = hasher(),
-                      const key_equal& eql = key_equal(),
-                      const allocator_type& a = allocator_type());
-    explicit unordered_set(const allocator_type&);
-    unordered_set(const unordered_set&);
-    unordered_set(const unordered_set&, const Allocator&);
-    unordered_set(unordered_set&&)
-        noexcept(
-            is_nothrow_move_constructible<hasher>::value &&
-            is_nothrow_move_constructible<key_equal>::value &&
-            is_nothrow_move_constructible<allocator_type>::value);
-    unordered_set(unordered_set&&, const Allocator&);
-    unordered_set(initializer_list<value_type>, size_type n = 0,
-                  const hasher& hf = hasher(), const key_equal& eql = key_equal(),
-                  const allocator_type& a = allocator_type());
-    unordered_set(size_type n, const allocator_type& a); // C++14
-    unordered_set(size_type n, const hasher& hf, const allocator_type& a); // C++14
-    template <class InputIterator>
-      unordered_set(InputIterator f, InputIterator l, size_type n, const allocator_type& a); // C++14
-    template <class InputIterator>
-      unordered_set(InputIterator f, InputIterator l, size_type n,
-                    const hasher& hf,  const allocator_type& a); // C++14
-    unordered_set(initializer_list<value_type> il, size_type n, const allocator_type& a); // C++14
-    unordered_set(initializer_list<value_type> il, size_type n,
-                  const hasher& hf,  const allocator_type& a); // C++14
-    ~unordered_set();
-    unordered_set& operator=(const unordered_set&);
-    unordered_set& operator=(unordered_set&&)
-        noexcept(
-            allocator_type::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<allocator_type>::value &&
-            is_nothrow_move_assignable<hasher>::value &&
-            is_nothrow_move_assignable<key_equal>::value);
-    unordered_set& operator=(initializer_list<value_type>);
-
-    allocator_type get_allocator() const noexcept;
-
-    bool      empty() const noexcept;
-    size_type size() const noexcept;
-    size_type max_size() const noexcept;
-
-    iterator       begin() noexcept;
-    iterator       end() noexcept;
-    const_iterator begin()  const noexcept;
-    const_iterator end()    const noexcept;
-    const_iterator cbegin() const noexcept;
-    const_iterator cend()   const noexcept;
-
-    template <class... Args>
-        pair<iterator, bool> emplace(Args&&... args);
-    template <class... Args>
-        iterator emplace_hint(const_iterator position, Args&&... args);
-    pair<iterator, bool> insert(const value_type& obj);
-    pair<iterator, bool> insert(value_type&& obj);
-    iterator insert(const_iterator hint, const value_type& obj);
-    iterator insert(const_iterator hint, value_type&& obj);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-    void insert(initializer_list<value_type>);
-
-    node_type extract(const_iterator position);                       // C++17
-    node_type extract(const key_type& x);                             // C++17
-    insert_return_type insert(node_type&& nh);                        // C++17
-    iterator           insert(const_iterator hint, node_type&& nh);   // C++17
-
-    iterator erase(const_iterator position);
-    iterator erase(iterator position);  // C++14
-    size_type erase(const key_type& k);
-    iterator erase(const_iterator first, const_iterator last);
-    void clear() noexcept;
-
-    template<class H2, class P2>
-      void merge(unordered_set<Key, H2, P2, Allocator>& source);         // C++17
-    template<class H2, class P2>
-      void merge(unordered_set<Key, H2, P2, Allocator>&& source);        // C++17
-    template<class H2, class P2>
-      void merge(unordered_multiset<Key, H2, P2, Allocator>& source);    // C++17
-    template<class H2, class P2>
-      void merge(unordered_multiset<Key, H2, P2, Allocator>&& source);   // C++17
-
-    void swap(unordered_set&)
-       noexcept(allocator_traits<Allocator>::is_always_equal::value &&
-                 noexcept(swap(declval<hasher&>(), declval<hasher&>())) &&
-                 noexcept(swap(declval<key_equal&>(), declval<key_equal&>()))); // C++17
-
-    hasher hash_function() const;
-    key_equal key_eq() const;
-
-    iterator       find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    size_type count(const key_type& k) const;
-    bool contains(const key_type& k) const; // C++20
-    pair<iterator, iterator>             equal_range(const key_type& k);
-    pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
-
-    size_type bucket_count() const noexcept;
-    size_type max_bucket_count() const noexcept;
-
-    size_type bucket_size(size_type n) const;
-    size_type bucket(const key_type& k) const;
-
-    local_iterator       begin(size_type n);
-    local_iterator       end(size_type n);
-    const_local_iterator begin(size_type n) const;
-    const_local_iterator end(size_type n) const;
-    const_local_iterator cbegin(size_type n) const;
-    const_local_iterator cend(size_type n) const;
-
-    float load_factor() const noexcept;
-    float max_load_factor() const noexcept;
-    void max_load_factor(float z);
-    void rehash(size_type n);
-    void reserve(size_type n);
-};
-
-template <class Value, class Hash, class Pred, class Alloc>
-    void swap(unordered_set<Value, Hash, Pred, Alloc>& x,
-              unordered_set<Value, Hash, Pred, Alloc>& y)
-              noexcept(noexcept(x.swap(y)));
-
-template <class Value, class Hash, class Pred, class Alloc>
-    bool
-    operator==(const unordered_set<Value, Hash, Pred, Alloc>& x,
-               const unordered_set<Value, Hash, Pred, Alloc>& y);
-
-template <class Value, class Hash, class Pred, class Alloc>
-    bool
-    operator!=(const unordered_set<Value, Hash, Pred, Alloc>& x,
-               const unordered_set<Value, Hash, Pred, Alloc>& y);
-
-template <class Value, class Hash = hash<Value>, class Pred = equal_to<Value>,
-          class Alloc = allocator<Value>>
-class unordered_multiset
-{
-public:
-    // types
-    typedef Value                                                      key_type;
-    typedef key_type                                                   value_type;
-    typedef Hash                                                       hasher;
-    typedef Pred                                                       key_equal;
-    typedef Alloc                                                      allocator_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    typedef typename allocator_traits<allocator_type>::pointer         pointer;
-    typedef typename allocator_traits<allocator_type>::const_pointer   const_pointer;
-    typedef typename allocator_traits<allocator_type>::size_type       size_type;
-    typedef typename allocator_traits<allocator_type>::difference_type difference_type;
-
-    typedef /unspecified/ iterator;
-    typedef /unspecified/ const_iterator;
-    typedef /unspecified/ local_iterator;
-    typedef /unspecified/ const_local_iterator;
-
-    typedef unspecified node_type unspecified;   // C++17
-
-    unordered_multiset()
-        noexcept(
-            is_nothrow_default_constructible<hasher>::value &&
-            is_nothrow_default_constructible<key_equal>::value &&
-            is_nothrow_default_constructible<allocator_type>::value);
-    explicit unordered_multiset(size_type n, const hasher& hf = hasher(),
-                           const key_equal& eql = key_equal(),
-                           const allocator_type& a = allocator_type());
-    template <class InputIterator>
-        unordered_multiset(InputIterator f, InputIterator l,
-                      size_type n = 0, const hasher& hf = hasher(),
-                      const key_equal& eql = key_equal(),
-                      const allocator_type& a = allocator_type());
-    explicit unordered_multiset(const allocator_type&);
-    unordered_multiset(const unordered_multiset&);
-    unordered_multiset(const unordered_multiset&, const Allocator&);
-    unordered_multiset(unordered_multiset&&)
-        noexcept(
-            is_nothrow_move_constructible<hasher>::value &&
-            is_nothrow_move_constructible<key_equal>::value &&
-            is_nothrow_move_constructible<allocator_type>::value);
-    unordered_multiset(unordered_multiset&&, const Allocator&);
-    unordered_multiset(initializer_list<value_type>, size_type n = /see below/,
-                  const hasher& hf = hasher(), const key_equal& eql = key_equal(),
-                  const allocator_type& a = allocator_type());
-    unordered_multiset(size_type n, const allocator_type& a); // C++14
-    unordered_multiset(size_type n, const hasher& hf, const allocator_type& a); // C++14
-    template <class InputIterator>
-      unordered_multiset(InputIterator f, InputIterator l, size_type n, const allocator_type& a); // C++14
-    template <class InputIterator>
-      unordered_multiset(InputIterator f, InputIterator l, size_type n,
-                         const hasher& hf, const allocator_type& a); // C++14
-    unordered_multiset(initializer_list<value_type> il, size_type n, const allocator_type& a); // C++14
-    unordered_multiset(initializer_list<value_type> il, size_type n,
-                       const hasher& hf,  const allocator_type& a); // C++14
-    ~unordered_multiset();
-    unordered_multiset& operator=(const unordered_multiset&);
-    unordered_multiset& operator=(unordered_multiset&&)
-        noexcept(
-            allocator_type::propagate_on_container_move_assignment::value &&
-            is_nothrow_move_assignable<allocator_type>::value &&
-            is_nothrow_move_assignable<hasher>::value &&
-            is_nothrow_move_assignable<key_equal>::value);
-    unordered_multiset& operator=(initializer_list<value_type>);
-
-    allocator_type get_allocator() const noexcept;
-
-    bool      empty() const noexcept;
-    size_type size() const noexcept;
-    size_type max_size() const noexcept;
-
-    iterator       begin() noexcept;
-    iterator       end() noexcept;
-    const_iterator begin()  const noexcept;
-    const_iterator end()    const noexcept;
-    const_iterator cbegin() const noexcept;
-    const_iterator cend()   const noexcept;
-
-    template <class... Args>
-        iterator emplace(Args&&... args);
-    template <class... Args>
-        iterator emplace_hint(const_iterator position, Args&&... args);
-    iterator insert(const value_type& obj);
-    iterator insert(value_type&& obj);
-    iterator insert(const_iterator hint, const value_type& obj);
-    iterator insert(const_iterator hint, value_type&& obj);
-    template <class InputIterator>
-        void insert(InputIterator first, InputIterator last);
-    void insert(initializer_list<value_type>);
-
-    node_type extract(const_iterator position);             // C++17
-    node_type extract(const key_type& x);                   // C++17
-    iterator insert(node_type&& nh);                        // C++17
-    iterator insert(const_iterator hint, node_type&& nh);   // C++17
-
-    iterator erase(const_iterator position);
-    iterator erase(iterator position);  // C++14
-    size_type erase(const key_type& k);
-    iterator erase(const_iterator first, const_iterator last);
-    void clear() noexcept;
-
-    template<class H2, class P2>
-      void merge(unordered_multiset<Key, H2, P2, Allocator>& source);    // C++17
-    template<class H2, class P2>
-      void merge(unordered_multiset<Key, H2, P2, Allocator>&& source);   // C++17
-    template<class H2, class P2>
-      void merge(unordered_set<Key, H2, P2, Allocator>& source);         // C++17
-    template<class H2, class P2>
-      void merge(unordered_set<Key, H2, P2, Allocator>&& source);        // C++17
-
-    void swap(unordered_multiset&)
-       noexcept(allocator_traits<Allocator>::is_always_equal::value &&
-                 noexcept(swap(declval<hasher&>(), declval<hasher&>())) &&
-                 noexcept(swap(declval<key_equal&>(), declval<key_equal&>()))); // C++17
-
-    hasher hash_function() const;
-    key_equal key_eq() const;
-
-    iterator       find(const key_type& k);
-    const_iterator find(const key_type& k) const;
-    size_type count(const key_type& k) const;
-    bool contains(const key_type& k) const; // C++20
-    pair<iterator, iterator>             equal_range(const key_type& k);
-    pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
-
-    size_type bucket_count() const noexcept;
-    size_type max_bucket_count() const noexcept;
-
-    size_type bucket_size(size_type n) const;
-    size_type bucket(const key_type& k) const;
-
-    local_iterator       begin(size_type n);
-    local_iterator       end(size_type n);
-    const_local_iterator begin(size_type n) const;
-    const_local_iterator end(size_type n) const;
-    const_local_iterator cbegin(size_type n) const;
-    const_local_iterator cend(size_type n) const;
-
-    float load_factor() const noexcept;
-    float max_load_factor() const noexcept;
-    void max_load_factor(float z);
-    void rehash(size_type n);
-    void reserve(size_type n);
-};
-
-template <class Value, class Hash, class Pred, class Alloc>
-    void swap(unordered_multiset<Value, Hash, Pred, Alloc>& x,
-              unordered_multiset<Value, Hash, Pred, Alloc>& y)
-              noexcept(noexcept(x.swap(y)));
-
-template <class K, class T, class H, class P, class A, class Predicate>
-    void erase_if(unordered_set<K, T, H, P, A>& c, Predicate pred);       // C++20
-
-template <class K, class T, class H, class P, class A, class Predicate>
-    void erase_if(unordered_multiset<K, T, H, P, A>& c, Predicate pred);  // C++20
-
-
-template <class Value, class Hash, class Pred, class Alloc>
-    bool
-    operator==(const unordered_multiset<Value, Hash, Pred, Alloc>& x,
-               const unordered_multiset<Value, Hash, Pred, Alloc>& y);
-
-template <class Value, class Hash, class Pred, class Alloc>
-    bool
-    operator!=(const unordered_multiset<Value, Hash, Pred, Alloc>& x,
-               const unordered_multiset<Value, Hash, Pred, Alloc>& y);
-}  // std
-
-*/
-
-#include <__config>
-#include <__hash_table>
-#include <__node_handle>
-#include <functional>
-#include <version>
-
-#include <__debug>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-class unordered_multiset;
-
-template <class _Value, class _Hash = hash<_Value>, class _Pred = equal_to<_Value>,
-          class _Alloc = allocator<_Value> >
-class _LIBCPP_TEMPLATE_VIS unordered_set
-{
-public:
-    // types
-    typedef _Value                                                     key_type;
-    typedef key_type                                                   value_type;
-    typedef typename __identity<_Hash>::type                           hasher;
-    typedef typename __identity<_Pred>::type                           key_equal;
-    typedef typename __identity<_Alloc>::type                          allocator_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    static_assert((is_same<value_type, typename allocator_type::value_type>::value),
-                  "Invalid allocator::value_type");
-
-private:
-    typedef __hash_table<value_type, hasher, key_equal, allocator_type> __table;
-
-    __table __table_;
-
-public:
-    typedef typename __table::pointer         pointer;
-    typedef typename __table::const_pointer   const_pointer;
-    typedef typename __table::size_type       size_type;
-    typedef typename __table::difference_type difference_type;
-
-    typedef typename __table::const_iterator       iterator;
-    typedef typename __table::const_iterator       const_iterator;
-    typedef typename __table::const_local_iterator local_iterator;
-    typedef typename __table::const_local_iterator const_local_iterator;
-
-#if _LIBCPP_STD_VER > 14
-    typedef __set_node_handle<typename __table::__node, allocator_type> node_type;
-    typedef __insert_return_type<iterator, node_type> insert_return_type;
-#endif
-
-    template <class _Value2, class _Hash2, class _Pred2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS unordered_set;
-    template <class _Value2, class _Hash2, class _Pred2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS unordered_multiset;
-
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_set()
-        _NOEXCEPT_(is_nothrow_default_constructible<__table>::value)
-        {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-            __get_db()->__insert_c(this);
-#endif
-        }
-    explicit unordered_set(size_type __n, const hasher& __hf = hasher(),
-                           const key_equal& __eql = key_equal());
-#if _LIBCPP_STD_VER > 11
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_set(size_type __n, const allocator_type& __a)
-        : unordered_set(__n, hasher(), key_equal(), __a) {}
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_set(size_type __n, const hasher& __hf, const allocator_type& __a)
-        : unordered_set(__n, __hf, key_equal(), __a) {}
-#endif
-    unordered_set(size_type __n, const hasher& __hf, const key_equal& __eql,
-                  const allocator_type& __a);
-    template <class _InputIterator>
-        unordered_set(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        unordered_set(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf = hasher(),
-                      const key_equal& __eql = key_equal());
-    template <class _InputIterator>
-        unordered_set(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf, const key_equal& __eql,
-                      const allocator_type& __a);
-#if _LIBCPP_STD_VER > 11
-    template <class _InputIterator>
-    inline _LIBCPP_INLINE_VISIBILITY
-        unordered_set(_InputIterator __first, _InputIterator __last,
-                    size_type __n, const allocator_type& __a)
-            : unordered_set(__first, __last, __n, hasher(), key_equal(), __a) {}
-    template <class _InputIterator>
-        unordered_set(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf, const allocator_type& __a)
-            : unordered_set(__first, __last, __n, __hf, key_equal(), __a) {}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    explicit unordered_set(const allocator_type& __a);
-    unordered_set(const unordered_set& __u);
-    unordered_set(const unordered_set& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_set(unordered_set&& __u)
-        _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
-    unordered_set(unordered_set&& __u, const allocator_type& __a);
-    unordered_set(initializer_list<value_type> __il);
-    unordered_set(initializer_list<value_type> __il, size_type __n,
-                  const hasher& __hf = hasher(),
-                  const key_equal& __eql = key_equal());
-    unordered_set(initializer_list<value_type> __il, size_type __n,
-                  const hasher& __hf, const key_equal& __eql,
-                  const allocator_type& __a);
-#if _LIBCPP_STD_VER > 11
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_set(initializer_list<value_type> __il, size_type __n,
-                                                      const allocator_type& __a)
-        : unordered_set(__il, __n, hasher(), key_equal(), __a) {}
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_set(initializer_list<value_type> __il, size_type __n,
-                                  const hasher& __hf, const allocator_type& __a)
-        : unordered_set(__il, __n, __hf, key_equal(), __a) {}
-#endif
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    ~unordered_set() {
-        static_assert(sizeof(__diagnose_unordered_container_requirements<_Value, _Hash, _Pred>(0)), "");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_set& operator=(const unordered_set& __u)
-    {
-        __table_ = __u.__table_;
-        return *this;
-    }
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_set& operator=(unordered_set&& __u)
-        _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_set& operator=(initializer_list<value_type> __il);
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT
-        {return allocator_type(__table_.__node_alloc());}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const _NOEXCEPT {return __table_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT  {return __table_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __table_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin() _NOEXCEPT        {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end() _NOEXCEPT          {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const _NOEXCEPT {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const _NOEXCEPT {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend()   const _NOEXCEPT {return __table_.end();}
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        pair<iterator, bool> emplace(_Args&&... __args)
-            {return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...);}
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-#if _LIBCPP_DEBUG_LEVEL >= 2
-        iterator emplace_hint(const_iterator __p, _Args&&... __args)
-        {
-            _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-                "unordered_set::emplace_hint(const_iterator, args...) called with an iterator not"
-                " referring to this unordered_set");
-            return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...).first;
-        }
-#else
-        iterator emplace_hint(const_iterator, _Args&&... __args)
-            {return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...).first;}
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> insert(value_type&& __x)
-        {return __table_.__insert_unique(_VSTD::move(__x));}
-    _LIBCPP_INLINE_VISIBILITY
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    iterator insert(const_iterator __p, value_type&& __x)
-        {
-            _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-                "unordered_set::insert(const_iterator, value_type&&) called with an iterator not"
-                " referring to this unordered_set");
-            return insert(_VSTD::move(__x)).first;
-        }
-#else
-    iterator insert(const_iterator, value_type&& __x)
-        {return insert(_VSTD::move(__x)).first;}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(initializer_list<value_type> __il)
-        {insert(__il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, bool> insert(const value_type& __x)
-        {return __table_.__insert_unique(__x);}
-
-    _LIBCPP_INLINE_VISIBILITY
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    iterator insert(const_iterator __p, const value_type& __x)
-        {
-            _LIBCPP_ASSERT(__get_const_db()->__find_c_from_i(&__p) == this,
-                "unordered_set::insert(const_iterator, const value_type&) called with an iterator not"
-                " referring to this unordered_set");
-            return insert(__x).first;
-        }
-#else
-    iterator insert(const_iterator, const value_type& __x)
-        {return insert(__x).first;}
-#endif
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __first, _InputIterator __last);
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __p) {return __table_.erase(__p);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __first, const_iterator __last)
-        {return __table_.erase(__first, __last);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__table_.clear();}
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    insert_return_type insert(node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to unordered_set::insert()");
-        return __table_.template __node_handle_insert_unique<
-            node_type, insert_return_type>(_VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __h, node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to unordered_set::insert()");
-        return __table_.template __node_handle_insert_unique<node_type>(
-            __h, _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(key_type const& __key)
-    {
-        return __table_.template __node_handle_extract<node_type>(__key);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(const_iterator __it)
-    {
-        return __table_.template __node_handle_extract<node_type>(__it);
-    }
-
-    template<class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_set<key_type, _H2, _P2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __table_.__node_handle_merge_unique(__source.__table_);
-    }
-    template<class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_set<key_type, _H2, _P2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __table_.__node_handle_merge_unique(__source.__table_);
-    }
-    template<class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_multiset<key_type, _H2, _P2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __table_.__node_handle_merge_unique(__source.__table_);
-    }
-    template<class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_multiset<key_type, _H2, _P2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        __table_.__node_handle_merge_unique(__source.__table_);
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(unordered_set& __u)
-        _NOEXCEPT_(__is_nothrow_swappable<__table>::value)
-        {__table_.swap(__u.__table_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher hash_function() const {return __table_.hash_function();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal key_eq() const {return __table_.key_eq();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       find(const key_type& __k)       {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type count(const key_type& __k) const {return __table_.__count_unique(__k);}
-    #if _LIBCPP_STD_VER > 17
-        _LIBCPP_INLINE_VISIBILITY
-        bool contains(const key_type& __k) const {return find(__k) != end();}
-    #endif // _LIBCPP_STD_VER > 17
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, iterator>             equal_range(const key_type& __k)
-        {return __table_.__equal_range_unique(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
-        {return __table_.__equal_range_unique(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const _NOEXCEPT {return __table_.bucket_count();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const _NOEXCEPT {return __table_.max_bucket_count();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_size(size_type __n) const {return __table_.bucket_size(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket(const key_type& __k) const {return __table_.bucket(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator       begin(size_type __n)        {return __table_.begin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator       end(size_type __n)          {return __table_.end(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator begin(size_type __n) const  {return __table_.cbegin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator end(size_type __n) const    {return __table_.cend(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator cbegin(size_type __n) const {return __table_.cbegin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator cend(size_type __n) const   {return __table_.cend(__n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    float load_factor() const _NOEXCEPT {return __table_.load_factor();}
-    _LIBCPP_INLINE_VISIBILITY
-    float max_load_factor() const _NOEXCEPT {return __table_.max_load_factor();}
-    _LIBCPP_INLINE_VISIBILITY
-    void max_load_factor(float __mlf) {__table_.max_load_factor(__mlf);}
-    _LIBCPP_INLINE_VISIBILITY
-    void rehash(size_type __n) {__table_.rehash(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    void reserve(size_type __n) {__table_.reserve(__n);}
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    bool __dereferenceable(const const_iterator* __i) const
-        {return __table_.__dereferenceable(__i);}
-    bool __decrementable(const const_iterator* __i) const
-        {return __table_.__decrementable(__i);}
-    bool __addable(const const_iterator* __i, ptrdiff_t __n) const
-        {return __table_.__addable(__i, __n);}
-    bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const
-        {return __table_.__addable(__i, __n);}
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Hash = hash<__iter_value_type<_InputIterator>>,
-         class _Pred = equal_to<__iter_value_type<_InputIterator>>,
-         class _Allocator = allocator<__iter_value_type<_InputIterator>>,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<!__is_allocator<_Pred>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_set(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type = 0,
-              _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
-  -> unordered_set<__iter_value_type<_InputIterator>, _Hash, _Pred, _Allocator>;
-
-template<class _Tp, class _Hash = hash<_Tp>,
-         class _Pred = equal_to<_Tp>,
-         class _Allocator = allocator<_Tp>,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<!__is_allocator<_Pred>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_set(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type = 0,
-              _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
-  -> unordered_set<_Tp, _Hash, _Pred, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_set(_InputIterator, _InputIterator,
-              typename allocator_traits<_Allocator>::size_type, _Allocator)
-  -> unordered_set<__iter_value_type<_InputIterator>,
-                   hash<__iter_value_type<_InputIterator>>,
-                   equal_to<__iter_value_type<_InputIterator>>,
-                   _Allocator>;
-
-template<class _InputIterator, class _Hash, class _Allocator,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_set(_InputIterator, _InputIterator,
-              typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-  -> unordered_set<__iter_value_type<_InputIterator>, _Hash,
-                   equal_to<__iter_value_type<_InputIterator>>,
-                   _Allocator>;
-
-template<class _Tp, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_set(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type, _Allocator)
-  -> unordered_set<_Tp, hash<_Tp>, equal_to<_Tp>, _Allocator>;
-
-template<class _Tp, class _Hash, class _Allocator,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_set(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-  -> unordered_set<_Tp, _Hash, equal_to<_Tp>, _Allocator>;
-#endif
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        _InputIterator __first, _InputIterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        const allocator_type& __a)
-    : __table_(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        const unordered_set& __u)
-    : __table_(__u.__table_)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        const unordered_set& __u, const allocator_type& __a)
-    : __table_(__u.__table_, __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        unordered_set&& __u)
-    _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
-    : __table_(_VSTD::move(__u.__table_))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-    __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        unordered_set&& __u, const allocator_type& __a)
-    : __table_(_VSTD::move(__u.__table_), __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__a != __u.get_allocator())
-    {
-        iterator __i = __u.begin();
-        while (__u.size() != 0)
-            __table_.__insert_unique(_VSTD::move(__u.__table_.remove(__i++)->__value_));
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    else
-        __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        initializer_list<value_type> __il)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-        const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
-        initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-        const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_set<_Value, _Hash, _Pred, _Alloc>&
-unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(unordered_set&& __u)
-    _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
-{
-    __table_ = _VSTD::move(__u.__table_);
-    return *this;
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_set<_Value, _Hash, _Pred, _Alloc>&
-unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(
-        initializer_list<value_type> __il)
-{
-    __table_.__assign_unique(__il.begin(), __il.end());
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-inline
-void
-unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
-                                                    _InputIterator __last)
-{
-    for (; __first != __last; ++__first)
-        __table_.__insert_unique(*__first);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
-     unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Value, class _Hash, class _Pred, class _Alloc, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(unordered_set<_Value, _Hash, _Pred, _Alloc>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
-#endif
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-bool
-operator==(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
-           const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    if (__x.size() != __y.size())
-        return false;
-    typedef typename unordered_set<_Value, _Hash, _Pred, _Alloc>::const_iterator
-                                                                 const_iterator;
-    for (const_iterator __i = __x.begin(), __ex = __x.end(), __ey = __y.end();
-            __i != __ex; ++__i)
-    {
-        const_iterator __j = __y.find(*__i);
-        if (__j == __ey || !(*__i == *__j))
-            return false;
-    }
-    return true;
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
-           const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-template <class _Value, class _Hash = hash<_Value>, class _Pred = equal_to<_Value>,
-          class _Alloc = allocator<_Value> >
-class _LIBCPP_TEMPLATE_VIS unordered_multiset
-{
-public:
-    // types
-    typedef _Value                                                     key_type;
-    typedef key_type                                                   value_type;
-    typedef typename __identity<_Hash>::type                           hasher;
-    typedef typename __identity<_Pred>::type                           key_equal;
-    typedef typename __identity<_Alloc>::type                          allocator_type;
-    typedef value_type&                                                reference;
-    typedef const value_type&                                          const_reference;
-    static_assert((is_same<value_type, typename allocator_type::value_type>::value),
-                  "Invalid allocator::value_type");
-
-private:
-    typedef __hash_table<value_type, hasher, key_equal, allocator_type> __table;
-
-    __table __table_;
-
-public:
-    typedef typename __table::pointer         pointer;
-    typedef typename __table::const_pointer   const_pointer;
-    typedef typename __table::size_type       size_type;
-    typedef typename __table::difference_type difference_type;
-
-    typedef typename __table::const_iterator       iterator;
-    typedef typename __table::const_iterator       const_iterator;
-    typedef typename __table::const_local_iterator local_iterator;
-    typedef typename __table::const_local_iterator const_local_iterator;
-
-#if _LIBCPP_STD_VER > 14
-    typedef __set_node_handle<typename __table::__node, allocator_type> node_type;
-#endif
-
-    template <class _Value2, class _Hash2, class _Pred2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS unordered_set;
-    template <class _Value2, class _Hash2, class _Pred2, class _Alloc2>
-        friend class _LIBCPP_TEMPLATE_VIS unordered_multiset;
-
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset()
-        _NOEXCEPT_(is_nothrow_default_constructible<__table>::value)
-        {
-#if _LIBCPP_DEBUG_LEVEL >= 2
-            __get_db()->__insert_c(this);
-#endif
-        }
-    explicit unordered_multiset(size_type __n, const hasher& __hf = hasher(),
-                                const key_equal& __eql = key_equal());
-    unordered_multiset(size_type __n, const hasher& __hf,
-                       const key_equal& __eql, const allocator_type& __a);
-#if _LIBCPP_STD_VER > 11
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset(size_type __n, const allocator_type& __a)
-        : unordered_multiset(__n, hasher(), key_equal(), __a) {}
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset(size_type __n, const hasher& __hf, const allocator_type& __a)
-        : unordered_multiset(__n, __hf, key_equal(), __a) {}
-#endif
-    template <class _InputIterator>
-        unordered_multiset(_InputIterator __first, _InputIterator __last);
-    template <class _InputIterator>
-        unordered_multiset(_InputIterator __first, _InputIterator __last,
-                      size_type __n, const hasher& __hf = hasher(),
-                      const key_equal& __eql = key_equal());
-    template <class _InputIterator>
-        unordered_multiset(_InputIterator __first, _InputIterator __last,
-                      size_type __n , const hasher& __hf,
-                      const key_equal& __eql, const allocator_type& __a);
-#if _LIBCPP_STD_VER > 11
-    template <class _InputIterator>
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset(_InputIterator __first, _InputIterator __last,
-                       size_type __n, const allocator_type& __a)
-        : unordered_multiset(__first, __last, __n, hasher(), key_equal(), __a) {}
-    template <class _InputIterator>
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset(_InputIterator __first, _InputIterator __last,
-                       size_type __n, const hasher& __hf, const allocator_type& __a)
-        : unordered_multiset(__first, __last, __n, __hf, key_equal(), __a) {}
-#endif
-    _LIBCPP_INLINE_VISIBILITY
-    explicit unordered_multiset(const allocator_type& __a);
-    unordered_multiset(const unordered_multiset& __u);
-    unordered_multiset(const unordered_multiset& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset(unordered_multiset&& __u)
-        _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
-    unordered_multiset(unordered_multiset&& __u, const allocator_type& __a);
-    unordered_multiset(initializer_list<value_type> __il);
-    unordered_multiset(initializer_list<value_type> __il, size_type __n,
-                       const hasher& __hf = hasher(),
-                       const key_equal& __eql = key_equal());
-    unordered_multiset(initializer_list<value_type> __il, size_type __n,
-                       const hasher& __hf, const key_equal& __eql,
-                       const allocator_type& __a);
-#if _LIBCPP_STD_VER > 11
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
-      : unordered_multiset(__il, __n, hasher(), key_equal(), __a) {}
-    inline _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset(initializer_list<value_type> __il, size_type __n, const hasher& __hf, const allocator_type& __a)
-      : unordered_multiset(__il, __n, __hf, key_equal(), __a) {}
-#endif
-#endif  // _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    ~unordered_multiset() {
-        static_assert(sizeof(__diagnose_unordered_container_requirements<_Value, _Hash, _Pred>(0)), "");
-    }
-
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset& operator=(const unordered_multiset& __u)
-    {
-        __table_ = __u.__table_;
-        return *this;
-    }
-#ifndef _LIBCPP_CXX03_LANG
-    _LIBCPP_INLINE_VISIBILITY
-    unordered_multiset& operator=(unordered_multiset&& __u)
-        _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
-    unordered_multiset& operator=(initializer_list<value_type> __il);
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    allocator_type get_allocator() const _NOEXCEPT
-        {return allocator_type(__table_.__node_alloc());}
-
-    _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
-    bool      empty() const _NOEXCEPT {return __table_.size() == 0;}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type size() const _NOEXCEPT  {return __table_.size();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_size() const _NOEXCEPT {return __table_.max_size();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       begin() _NOEXCEPT        {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       end() _NOEXCEPT          {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator begin()  const _NOEXCEPT {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator end()    const _NOEXCEPT {return __table_.end();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cbegin() const _NOEXCEPT {return __table_.begin();}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator cend()   const _NOEXCEPT {return __table_.end();}
-
-#ifndef _LIBCPP_CXX03_LANG
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator emplace(_Args&&... __args)
-            {return __table_.__emplace_multi(_VSTD::forward<_Args>(__args)...);}
-    template <class... _Args>
-        _LIBCPP_INLINE_VISIBILITY
-        iterator emplace_hint(const_iterator __p, _Args&&... __args)
-            {return __table_.__emplace_hint_multi(__p, _VSTD::forward<_Args>(__args)...);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(value_type&& __x) {return __table_.__insert_multi(_VSTD::move(__x));}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, value_type&& __x)
-        {return __table_.__insert_multi(__p, _VSTD::move(__x));}
-    _LIBCPP_INLINE_VISIBILITY
-    void insert(initializer_list<value_type> __il)
-        {insert(__il.begin(), __il.end());}
-#endif  // _LIBCPP_CXX03_LANG
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __p, const value_type& __x)
-        {return __table_.__insert_multi(__p, __x);}
-
-    template <class _InputIterator>
-        _LIBCPP_INLINE_VISIBILITY
-        void insert(_InputIterator __first, _InputIterator __last);
-
-#if _LIBCPP_STD_VER > 14
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to unordered_multiset::insert()");
-        return __table_.template __node_handle_insert_multi<node_type>(
-            _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    iterator insert(const_iterator __hint, node_type&& __nh)
-    {
-        _LIBCPP_ASSERT(__nh.empty() || __nh.get_allocator() == get_allocator(),
-            "node_type with incompatible allocator passed to unordered_multiset::insert()");
-        return __table_.template __node_handle_insert_multi<node_type>(
-            __hint, _VSTD::move(__nh));
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(const_iterator __position)
-    {
-        return __table_.template __node_handle_extract<node_type>(
-            __position);
-    }
-    _LIBCPP_INLINE_VISIBILITY
-    node_type extract(key_type const& __key)
-    {
-        return __table_.template __node_handle_extract<node_type>(__key);
-    }
-
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_multiset<key_type, _H2, _P2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_multi(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_multiset<key_type, _H2, _P2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_multi(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_set<key_type, _H2, _P2, allocator_type>& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_multi(__source.__table_);
-    }
-    template <class _H2, class _P2>
-    _LIBCPP_INLINE_VISIBILITY
-    void merge(unordered_set<key_type, _H2, _P2, allocator_type>&& __source)
-    {
-        _LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
-                       "merging container with incompatible allocator");
-        return __table_.__node_handle_merge_multi(__source.__table_);
-    }
-#endif
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __p) {return __table_.erase(__p);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type erase(const key_type& __k) {return __table_.__erase_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    iterator erase(const_iterator __first, const_iterator __last)
-        {return __table_.erase(__first, __last);}
-    _LIBCPP_INLINE_VISIBILITY
-    void clear() _NOEXCEPT {__table_.clear();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    void swap(unordered_multiset& __u)
-        _NOEXCEPT_(__is_nothrow_swappable<__table>::value)
-        {__table_.swap(__u.__table_);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    hasher hash_function() const {return __table_.hash_function();}
-    _LIBCPP_INLINE_VISIBILITY
-    key_equal key_eq() const {return __table_.key_eq();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    iterator       find(const key_type& __k)       {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_iterator find(const key_type& __k) const {return __table_.find(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type count(const key_type& __k) const {return __table_.__count_multi(__k);}
-    #if _LIBCPP_STD_VER > 17
-        _LIBCPP_INLINE_VISIBILITY
-        bool contains(const key_type& __k) const {return find(__k) != end();}
-    #endif // _LIBCPP_STD_VER > 17
-    _LIBCPP_INLINE_VISIBILITY
-    pair<iterator, iterator>             equal_range(const key_type& __k)
-        {return __table_.__equal_range_multi(__k);}
-    _LIBCPP_INLINE_VISIBILITY
-    pair<const_iterator, const_iterator> equal_range(const key_type& __k) const
-        {return __table_.__equal_range_multi(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_count() const _NOEXCEPT {return __table_.bucket_count();}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type max_bucket_count() const _NOEXCEPT {return __table_.max_bucket_count();}
-
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket_size(size_type __n) const {return __table_.bucket_size(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    size_type bucket(const key_type& __k) const {return __table_.bucket(__k);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator       begin(size_type __n)        {return __table_.begin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    local_iterator       end(size_type __n)          {return __table_.end(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator begin(size_type __n) const  {return __table_.cbegin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator end(size_type __n) const    {return __table_.cend(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator cbegin(size_type __n) const {return __table_.cbegin(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    const_local_iterator cend(size_type __n) const   {return __table_.cend(__n);}
-
-    _LIBCPP_INLINE_VISIBILITY
-    float load_factor() const _NOEXCEPT {return __table_.load_factor();}
-    _LIBCPP_INLINE_VISIBILITY
-    float max_load_factor() const _NOEXCEPT {return __table_.max_load_factor();}
-    _LIBCPP_INLINE_VISIBILITY
-    void max_load_factor(float __mlf) {__table_.max_load_factor(__mlf);}
-    _LIBCPP_INLINE_VISIBILITY
-    void rehash(size_type __n) {__table_.rehash(__n);}
-    _LIBCPP_INLINE_VISIBILITY
-    void reserve(size_type __n) {__table_.reserve(__n);}
-
-#if _LIBCPP_DEBUG_LEVEL >= 2
-
-    bool __dereferenceable(const const_iterator* __i) const
-        {return __table_.__dereferenceable(__i);}
-    bool __decrementable(const const_iterator* __i) const
-        {return __table_.__decrementable(__i);}
-    bool __addable(const const_iterator* __i, ptrdiff_t __n) const
-        {return __table_.__addable(__i, __n);}
-    bool __subscriptable(const const_iterator* __i, ptrdiff_t __n) const
-        {return __table_.__addable(__i, __n);}
-
-#endif  // _LIBCPP_DEBUG_LEVEL >= 2
-
-};
-
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator,
-         class _Hash = hash<__iter_value_type<_InputIterator>>,
-         class _Pred = equal_to<__iter_value_type<_InputIterator>>,
-         class _Allocator = allocator<__iter_value_type<_InputIterator>>,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<!__is_allocator<_Pred>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multiset(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type = 0,
-              _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
-  -> unordered_multiset<__iter_value_type<_InputIterator>, _Hash, _Pred, _Allocator>;
-
-template<class _Tp, class _Hash = hash<_Tp>,
-         class _Pred = equal_to<_Tp>, class _Allocator = allocator<_Tp>,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<!__is_allocator<_Pred>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multiset(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type = 0,
-              _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
-  -> unordered_multiset<_Tp, _Hash, _Pred, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multiset(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type, _Allocator)
-  -> unordered_multiset<__iter_value_type<_InputIterator>,
-                   hash<__iter_value_type<_InputIterator>>,
-                   equal_to<__iter_value_type<_InputIterator>>,
-                   _Allocator>;
-
-template<class _InputIterator, class _Hash, class _Allocator,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multiset(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type,
-              _Hash, _Allocator)
-  -> unordered_multiset<__iter_value_type<_InputIterator>, _Hash,
-                   equal_to<__iter_value_type<_InputIterator>>,
-                   _Allocator>;
-
-template<class _Tp, class _Allocator,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multiset(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type, _Allocator)
-  -> unordered_multiset<_Tp, hash<_Tp>, equal_to<_Tp>, _Allocator>;
-
-template<class _Tp, class _Hash, class _Allocator,
-         class = _EnableIf<!__is_allocator<_Hash>::value>,
-         class = _EnableIf<!is_integral<_Hash>::value>,
-         class = _EnableIf<__is_allocator<_Allocator>::value>>
-unordered_multiset(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-  -> unordered_multiset<_Tp, _Hash, equal_to<_Tp>, _Allocator>;
-#endif
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        size_type __n, const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        size_type __n, const hasher& __hf, const key_equal& __eql,
-        const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        _InputIterator __first, _InputIterator __last)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        _InputIterator __first, _InputIterator __last, size_type __n,
-        const hasher& __hf, const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__first, __last);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        const allocator_type& __a)
-    : __table_(__a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        const unordered_multiset& __u)
-    : __table_(__u.__table_)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        const unordered_multiset& __u, const allocator_type& __a)
-    : __table_(__u.__table_, __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__u.bucket_count());
-    insert(__u.begin(), __u.end());
-}
-
-#ifndef _LIBCPP_CXX03_LANG
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        unordered_multiset&& __u)
-    _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
-    : __table_(_VSTD::move(__u.__table_))
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-    __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        unordered_multiset&& __u, const allocator_type& __a)
-    : __table_(_VSTD::move(__u.__table_), __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    if (__a != __u.get_allocator())
-    {
-        iterator __i = __u.begin();
-        while (__u.size() != 0)
-            __table_.__insert_multi(_VSTD::move(__u.__table_.remove(__i++)->__value_));
-    }
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    else
-        __get_db()->swap(this, &__u);
-#endif
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        initializer_list<value_type> __il)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-        const key_equal& __eql)
-    : __table_(__hf, __eql)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
-        initializer_list<value_type> __il, size_type __n, const hasher& __hf,
-        const key_equal& __eql, const allocator_type& __a)
-    : __table_(__hf, __eql, __a)
-{
-#if _LIBCPP_DEBUG_LEVEL >= 2
-    __get_db()->__insert_c(this);
-#endif
-    __table_.rehash(__n);
-    insert(__il.begin(), __il.end());
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>&
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=(
-        unordered_multiset&& __u)
-    _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
-{
-    __table_ = _VSTD::move(__u.__table_);
-    return *this;
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>&
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=(
-        initializer_list<value_type> __il)
-{
-    __table_.__assign_multi(__il.begin(), __il.end());
-    return *this;
-}
-
-#endif  // _LIBCPP_CXX03_LANG
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-template <class _InputIterator>
-inline
-void
-unordered_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
-                                                         _InputIterator __last)
-{
-    for (; __first != __last; ++__first)
-        __table_.__insert_multi(*__first);
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-void
-swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
-     unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
-    _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
-{
-    __x.swap(__y);
-}
-
-#if _LIBCPP_STD_VER > 17
-template <class _Value, class _Hash, class _Pred, class _Alloc, class _Predicate>
-inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
-#endif
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-bool
-operator==(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
-           const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    if (__x.size() != __y.size())
-        return false;
-    typedef typename unordered_multiset<_Value, _Hash, _Pred, _Alloc>::const_iterator
-                                                                 const_iterator;
-    typedef pair<const_iterator, const_iterator> _EqRng;
-    for (const_iterator __i = __x.begin(), __ex = __x.end(); __i != __ex;)
-    {
-        _EqRng __xeq = __x.equal_range(*__i);
-        _EqRng __yeq = __y.equal_range(*__i);
-        if (_VSTD::distance(__xeq.first, __xeq.second) !=
-            _VSTD::distance(__yeq.first, __yeq.second) ||
-                  !_VSTD::is_permutation(__xeq.first, __xeq.second, __yeq.first))
-            return false;
-        __i = __xeq.second;
-    }
-    return true;
-}
-
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-inline _LIBCPP_INLINE_VISIBILITY
-bool
-operator!=(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
-           const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
-{
-    return !(__x == __y);
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif  // _LIBCPP_UNORDERED_SET
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/variant b/r23/sources/cxx-stl/llvm-libc++/include/variant
deleted file mode 100644
index 98a62c9..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/variant
+++ /dev/null
@@ -1,1668 +0,0 @@
-// -*- C++ -*-
-//===------------------------------ variant -------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_VARIANT
-#define _LIBCPP_VARIANT
-
-/*
-   variant synopsis
-
-namespace std {
-
-  // 20.7.2, class template variant
-  template <class... Types>
-  class variant {
-  public:
-
-    // 20.7.2.1, constructors
-    constexpr variant() noexcept(see below);
-    variant(const variant&);                // constexpr in C++20
-    variant(variant&&) noexcept(see below); // constexpr in C++20
-
-    template <class T> constexpr variant(T&&) noexcept(see below);
-
-    template <class T, class... Args>
-    constexpr explicit variant(in_place_type_t<T>, Args&&...);
-
-    template <class T, class U, class... Args>
-    constexpr explicit variant(
-        in_place_type_t<T>, initializer_list<U>, Args&&...);
-
-    template <size_t I, class... Args>
-    constexpr explicit variant(in_place_index_t<I>, Args&&...);
-
-    template <size_t I, class U, class... Args>
-    constexpr explicit variant(
-        in_place_index_t<I>, initializer_list<U>, Args&&...);
-
-    // 20.7.2.2, destructor
-    ~variant();
-
-    // 20.7.2.3, assignment
-    variant& operator=(const variant&);                // constexpr in C++20
-    variant& operator=(variant&&) noexcept(see below); // constexpr in C++20
-
-    template <class T> variant& operator=(T&&) noexcept(see below);
-
-    // 20.7.2.4, modifiers
-    template <class T, class... Args>
-    T& emplace(Args&&...);
-
-    template <class T, class U, class... Args>
-    T& emplace(initializer_list<U>, Args&&...);
-
-    template <size_t I, class... Args>
-    variant_alternative_t<I, variant>& emplace(Args&&...);
-
-    template <size_t I, class U, class...  Args>
-    variant_alternative_t<I, variant>& emplace(initializer_list<U>, Args&&...);
-
-    // 20.7.2.5, value status
-    constexpr bool valueless_by_exception() const noexcept;
-    constexpr size_t index() const noexcept;
-
-    // 20.7.2.6, swap
-    void swap(variant&) noexcept(see below);
-  };
-
-  // 20.7.3, variant helper classes
-  template <class T> struct variant_size; // undefined
-
-  template <class T>
-  inline constexpr size_t variant_size_v = variant_size<T>::value;
-
-  template <class T> struct variant_size<const T>;
-  template <class T> struct variant_size<volatile T>;
-  template <class T> struct variant_size<const volatile T>;
-
-  template <class... Types>
-  struct variant_size<variant<Types...>>;
-
-  template <size_t I, class T> struct variant_alternative; // undefined
-
-  template <size_t I, class T>
-  using variant_alternative_t = typename variant_alternative<I, T>::type;
-
-  template <size_t I, class T> struct variant_alternative<I, const T>;
-  template <size_t I, class T> struct variant_alternative<I, volatile T>;
-  template <size_t I, class T> struct variant_alternative<I, const volatile T>;
-
-  template <size_t I, class... Types>
-  struct variant_alternative<I, variant<Types...>>;
-
-  inline constexpr size_t variant_npos = -1;
-
-  // 20.7.4, value access
-  template <class T, class... Types>
-  constexpr bool holds_alternative(const variant<Types...>&) noexcept;
-
-  template <size_t I, class... Types>
-  constexpr variant_alternative_t<I, variant<Types...>>&
-  get(variant<Types...>&);
-
-  template <size_t I, class... Types>
-  constexpr variant_alternative_t<I, variant<Types...>>&&
-  get(variant<Types...>&&);
-
-  template <size_t I, class... Types>
-  constexpr variant_alternative_t<I, variant<Types...>> const&
-  get(const variant<Types...>&);
-
-  template <size_t I, class... Types>
-  constexpr variant_alternative_t<I, variant<Types...>> const&&
-  get(const variant<Types...>&&);
-
-  template <class T, class...  Types>
-  constexpr T& get(variant<Types...>&);
-
-  template <class T, class... Types>
-  constexpr T&& get(variant<Types...>&&);
-
-  template <class T, class... Types>
-  constexpr const T& get(const variant<Types...>&);
-
-  template <class T, class... Types>
-  constexpr const T&& get(const variant<Types...>&&);
-
-  template <size_t I, class... Types>
-  constexpr add_pointer_t<variant_alternative_t<I, variant<Types...>>>
-  get_if(variant<Types...>*) noexcept;
-
-  template <size_t I, class... Types>
-  constexpr add_pointer_t<const variant_alternative_t<I, variant<Types...>>>
-  get_if(const variant<Types...>*) noexcept;
-
-  template <class T, class... Types>
-  constexpr add_pointer_t<T>
-  get_if(variant<Types...>*) noexcept;
-
-  template <class T, class... Types>
-  constexpr add_pointer_t<const T>
-  get_if(const variant<Types...>*) noexcept;
-
-  // 20.7.5, relational operators
-  template <class... Types>
-  constexpr bool operator==(const variant<Types...>&, const variant<Types...>&);
-
-  template <class... Types>
-  constexpr bool operator!=(const variant<Types...>&, const variant<Types...>&);
-
-  template <class... Types>
-  constexpr bool operator<(const variant<Types...>&, const variant<Types...>&);
-
-  template <class... Types>
-  constexpr bool operator>(const variant<Types...>&, const variant<Types...>&);
-
-  template <class... Types>
-  constexpr bool operator<=(const variant<Types...>&, const variant<Types...>&);
-
-  template <class... Types>
-  constexpr bool operator>=(const variant<Types...>&, const variant<Types...>&);
-
-  // 20.7.6, visitation
-  template <class Visitor, class... Variants>
-  constexpr see below visit(Visitor&&, Variants&&...);
-
-  // 20.7.7, class monostate
-  struct monostate;
-
-  // 20.7.8, monostate relational operators
-  constexpr bool operator<(monostate, monostate) noexcept;
-  constexpr bool operator>(monostate, monostate) noexcept;
-  constexpr bool operator<=(monostate, monostate) noexcept;
-  constexpr bool operator>=(monostate, monostate) noexcept;
-  constexpr bool operator==(monostate, monostate) noexcept;
-  constexpr bool operator!=(monostate, monostate) noexcept;
-
-  // 20.7.9, specialized algorithms
-  template <class... Types>
-  void swap(variant<Types...>&, variant<Types...>&) noexcept(see below);
-
-  // 20.7.10, class bad_variant_access
-  class bad_variant_access;
-
-  // 20.7.11, hash support
-  template <class T> struct hash;
-  template <class... Types> struct hash<variant<Types...>>;
-  template <> struct hash<monostate>;
-
-} // namespace std
-
-*/
-
-#include <__config>
-#include <__tuple>
-#include <array>
-#include <exception>
-#include <functional>
-#include <initializer_list>
-#include <new>
-#include <tuple>
-#include <type_traits>
-#include <utility>
-#include <limits>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-
-namespace std { // explicitly not using versioning namespace
-
-class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS bad_variant_access : public exception {
-public:
-  virtual const char* what() const _NOEXCEPT;
-};
-
-} // namespace std
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_STD_VER > 14
-
-_LIBCPP_NORETURN
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-void __throw_bad_variant_access() {
-#ifndef _LIBCPP_NO_EXCEPTIONS
-        throw bad_variant_access();
-#else
-        _VSTD::abort();
-#endif
-}
-
-template <class... _Types>
-class _LIBCPP_TEMPLATE_VIS variant;
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS variant_size;
-
-template <class _Tp>
-_LIBCPP_INLINE_VAR constexpr size_t variant_size_v = variant_size<_Tp>::value;
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS variant_size<const _Tp> : variant_size<_Tp> {};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS variant_size<volatile _Tp> : variant_size<_Tp> {};
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS variant_size<const volatile _Tp>
-    : variant_size<_Tp> {};
-
-template <class... _Types>
-struct _LIBCPP_TEMPLATE_VIS variant_size<variant<_Types...>>
-    : integral_constant<size_t, sizeof...(_Types)> {};
-
-template <size_t _Ip, class _Tp>
-struct _LIBCPP_TEMPLATE_VIS variant_alternative;
-
-template <size_t _Ip, class _Tp>
-using variant_alternative_t = typename variant_alternative<_Ip, _Tp>::type;
-
-template <size_t _Ip, class _Tp>
-struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, const _Tp>
-    : add_const<variant_alternative_t<_Ip, _Tp>> {};
-
-template <size_t _Ip, class _Tp>
-struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, volatile _Tp>
-    : add_volatile<variant_alternative_t<_Ip, _Tp>> {};
-
-template <size_t _Ip, class _Tp>
-struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, const volatile _Tp>
-    : add_cv<variant_alternative_t<_Ip, _Tp>> {};
-
-template <size_t _Ip, class... _Types>
-struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, variant<_Types...>> {
-  static_assert(_Ip < sizeof...(_Types), "Index out of bounds in std::variant_alternative<>");
-  using type = __type_pack_element<_Ip, _Types...>;
-};
-
-_LIBCPP_INLINE_VAR constexpr size_t variant_npos = static_cast<size_t>(-1);
-
-constexpr int __choose_index_type(unsigned int __num_elem) {
-  if (__num_elem < std::numeric_limits<unsigned char>::max())
-    return 0;
-  if (__num_elem < std::numeric_limits<unsigned short>::max())
-    return 1;
-  return 2;
-}
-
-template <size_t _NumAlts>
-using __variant_index_t =
-#ifndef _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION
-  unsigned int;
-#else
-  std::tuple_element_t<
-      __choose_index_type(_NumAlts),
-      std::tuple<unsigned char, unsigned short, unsigned int>
-  >;
-#endif
-
-template <class _IndexType>
-constexpr _IndexType __variant_npos = static_cast<_IndexType>(-1);
-
-namespace __find_detail {
-
-template <class _Tp, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr size_t __find_index() {
-  constexpr bool __matches[] = {is_same_v<_Tp, _Types>...};
-  size_t __result = __not_found;
-  for (size_t __i = 0; __i < sizeof...(_Types); ++__i) {
-    if (__matches[__i]) {
-      if (__result != __not_found) {
-        return __ambiguous;
-      }
-      __result = __i;
-    }
-  }
-  return __result;
-}
-
-template <size_t _Index>
-struct __find_unambiguous_index_sfinae_impl
-    : integral_constant<size_t, _Index> {};
-
-template <>
-struct __find_unambiguous_index_sfinae_impl<__not_found> {};
-
-template <>
-struct __find_unambiguous_index_sfinae_impl<__ambiguous> {};
-
-template <class _Tp, class... _Types>
-struct __find_unambiguous_index_sfinae
-    : __find_unambiguous_index_sfinae_impl<__find_index<_Tp, _Types...>()> {};
-
-} // namespace __find_detail
-
-namespace __variant_detail {
-
-struct __valueless_t {};
-
-enum class _Trait { _TriviallyAvailable, _Available, _Unavailable };
-
-template <typename _Tp,
-          template <typename> class _IsTriviallyAvailable,
-          template <typename> class _IsAvailable>
-constexpr _Trait __trait =
-    _IsTriviallyAvailable<_Tp>::value
-        ? _Trait::_TriviallyAvailable
-        : _IsAvailable<_Tp>::value ? _Trait::_Available : _Trait::_Unavailable;
-
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr _Trait __common_trait(initializer_list<_Trait> __traits) {
-  _Trait __result = _Trait::_TriviallyAvailable;
-  for (_Trait __t : __traits) {
-    if (static_cast<int>(__t) > static_cast<int>(__result)) {
-      __result = __t;
-    }
-  }
-  return __result;
-}
-
-template <typename... _Types>
-struct __traits {
-  static constexpr _Trait __copy_constructible_trait =
-      __common_trait({__trait<_Types,
-                              is_trivially_copy_constructible,
-                              is_copy_constructible>...});
-
-  static constexpr _Trait __move_constructible_trait =
-      __common_trait({__trait<_Types,
-                              is_trivially_move_constructible,
-                              is_move_constructible>...});
-
-  static constexpr _Trait __copy_assignable_trait = __common_trait(
-      {__copy_constructible_trait,
-       __trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});
-
-  static constexpr _Trait __move_assignable_trait = __common_trait(
-      {__move_constructible_trait,
-       __trait<_Types, is_trivially_move_assignable, is_move_assignable>...});
-
-  static constexpr _Trait __destructible_trait = __common_trait(
-      {__trait<_Types, is_trivially_destructible, is_destructible>...});
-};
-
-namespace __access {
-
-struct __union {
-  template <class _Vp>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto&& __get_alt(_Vp&& __v, in_place_index_t<0>) {
-    return _VSTD::forward<_Vp>(__v).__head;
-  }
-
-  template <class _Vp, size_t _Ip>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto&& __get_alt(_Vp&& __v, in_place_index_t<_Ip>) {
-    return __get_alt(_VSTD::forward<_Vp>(__v).__tail, in_place_index<_Ip - 1>);
-  }
-};
-
-struct __base {
-  template <size_t _Ip, class _Vp>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto&& __get_alt(_Vp&& __v) {
-    return __union::__get_alt(_VSTD::forward<_Vp>(__v).__data,
-                              in_place_index<_Ip>);
-  }
-};
-
-struct __variant {
-  template <size_t _Ip, class _Vp>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto&& __get_alt(_Vp&& __v) {
-    return __base::__get_alt<_Ip>(_VSTD::forward<_Vp>(__v).__impl);
-  }
-};
-
-} // namespace __access
-
-namespace __visitation {
-
-struct __base {
-  template <class _Visitor, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr decltype(auto)
-  __visit_alt_at(size_t __index, _Visitor&& __visitor, _Vs&&... __vs) {
-    constexpr auto __fdiagonal =
-        __make_fdiagonal<_Visitor&&,
-                         decltype(_VSTD::forward<_Vs>(__vs).__as_base())...>();
-    return __fdiagonal[__index](_VSTD::forward<_Visitor>(__visitor),
-                                _VSTD::forward<_Vs>(__vs).__as_base()...);
-  }
-
-  template <class _Visitor, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr decltype(auto) __visit_alt(_Visitor&& __visitor,
-                                              _Vs&&... __vs) {
-    constexpr auto __fmatrix =
-        __make_fmatrix<_Visitor&&,
-                       decltype(_VSTD::forward<_Vs>(__vs).__as_base())...>();
-    return __at(__fmatrix, __vs.index()...)(
-        _VSTD::forward<_Visitor>(__visitor),
-        _VSTD::forward<_Vs>(__vs).__as_base()...);
-  }
-
-private:
-  template <class _Tp>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr const _Tp& __at(const _Tp& __elem) { return __elem; }
-
-  template <class _Tp, size_t _Np, typename... _Indices>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto&& __at(const array<_Tp, _Np>& __elems,
-                               size_t __index, _Indices... __indices) {
-    return __at(__elems[__index], __indices...);
-  }
-
-  template <class _Fp, class... _Fs>
-  static constexpr void __std_visit_visitor_return_type_check() {
-    static_assert(
-        __all<is_same_v<_Fp, _Fs>...>::value,
-        "`std::visit` requires the visitor to have a single return type.");
-  }
-
-  template <class... _Fs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_farray(_Fs&&... __fs) {
-    __std_visit_visitor_return_type_check<__uncvref_t<_Fs>...>();
-    using __result = array<common_type_t<__uncvref_t<_Fs>...>, sizeof...(_Fs)>;
-    return __result{{_VSTD::forward<_Fs>(__fs)...}};
-  }
-
-  template <std::size_t... _Is>
-  struct __dispatcher {
-    template <class _Fp, class... _Vs>
-    inline _LIBCPP_INLINE_VISIBILITY
-    static constexpr decltype(auto) __dispatch(_Fp __f, _Vs... __vs) {
-        return __invoke_constexpr(
-            static_cast<_Fp>(__f),
-            __access::__base::__get_alt<_Is>(static_cast<_Vs>(__vs))...);
-    }
-  };
-
-  template <class _Fp, class... _Vs, size_t... _Is>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_dispatch(index_sequence<_Is...>) {
-    return __dispatcher<_Is...>::template __dispatch<_Fp, _Vs...>;
-  }
-
-  template <size_t _Ip, class _Fp, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_fdiagonal_impl() {
-    return __make_dispatch<_Fp, _Vs...>(
-        index_sequence<(__identity<_Vs>{}, _Ip)...>{});
-  }
-
-  template <class _Fp, class... _Vs, size_t... _Is>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_fdiagonal_impl(index_sequence<_Is...>) {
-    return __base::__make_farray(__make_fdiagonal_impl<_Is, _Fp, _Vs...>()...);
-  }
-
-  template <class _Fp, class _Vp, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_fdiagonal() {
-    constexpr size_t _Np = __uncvref_t<_Vp>::__size();
-    static_assert(__all<(_Np == __uncvref_t<_Vs>::__size())...>::value);
-    return __make_fdiagonal_impl<_Fp, _Vp, _Vs...>(make_index_sequence<_Np>{});
-  }
-
-  template <class _Fp, class... _Vs, size_t... _Is>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_fmatrix_impl(index_sequence<_Is...> __is) {
-    return __make_dispatch<_Fp, _Vs...>(__is);
-  }
-
-  template <class _Fp, class... _Vs, size_t... _Is, size_t... _Js, class... _Ls>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_fmatrix_impl(index_sequence<_Is...>,
-                                            index_sequence<_Js...>,
-                                            _Ls... __ls) {
-    return __base::__make_farray(__make_fmatrix_impl<_Fp, _Vs...>(
-        index_sequence<_Is..., _Js>{}, __ls...)...);
-  }
-
-  template <class _Fp, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_fmatrix() {
-    return __make_fmatrix_impl<_Fp, _Vs...>(
-        index_sequence<>{}, make_index_sequence<__uncvref_t<_Vs>::__size()>{}...);
-  }
-};
-
-struct __variant {
-  template <class _Visitor, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr decltype(auto)
-  __visit_alt_at(size_t __index, _Visitor&& __visitor, _Vs&&... __vs) {
-    return __base::__visit_alt_at(__index,
-                                  _VSTD::forward<_Visitor>(__visitor),
-                                  _VSTD::forward<_Vs>(__vs).__impl...);
-  }
-
-  template <class _Visitor, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr decltype(auto) __visit_alt(_Visitor&& __visitor,
-                                              _Vs&&... __vs) {
-    return __base::__visit_alt(_VSTD::forward<_Visitor>(__visitor),
-                               _VSTD::forward<_Vs>(__vs).__impl...);
-  }
-
-  template <class _Visitor, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr decltype(auto)
-  __visit_value_at(size_t __index, _Visitor&& __visitor, _Vs&&... __vs) {
-    return __visit_alt_at(
-        __index,
-        __make_value_visitor(_VSTD::forward<_Visitor>(__visitor)),
-        _VSTD::forward<_Vs>(__vs)...);
-  }
-
-  template <class _Visitor, class... _Vs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr decltype(auto) __visit_value(_Visitor&& __visitor,
-                                                _Vs&&... __vs) {
-    return __visit_alt(
-        __make_value_visitor(_VSTD::forward<_Visitor>(__visitor)),
-        _VSTD::forward<_Vs>(__vs)...);
-  }
-
-private:
-  template <class _Visitor, class... _Values>
-  static constexpr void __std_visit_exhaustive_visitor_check() {
-    static_assert(is_invocable_v<_Visitor, _Values...>,
-                  "`std::visit` requires the visitor to be exhaustive.");
-  }
-
-  template <class _Visitor>
-  struct __value_visitor {
-    template <class... _Alts>
-    inline _LIBCPP_INLINE_VISIBILITY
-    constexpr decltype(auto) operator()(_Alts&&... __alts) const {
-      __std_visit_exhaustive_visitor_check<
-          _Visitor,
-          decltype((_VSTD::forward<_Alts>(__alts).__value))...>();
-      return __invoke_constexpr(_VSTD::forward<_Visitor>(__visitor),
-                                _VSTD::forward<_Alts>(__alts).__value...);
-    }
-    _Visitor&& __visitor;
-  };
-
-  template <class _Visitor>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr auto __make_value_visitor(_Visitor&& __visitor) {
-    return __value_visitor<_Visitor>{_VSTD::forward<_Visitor>(__visitor)};
-  }
-};
-
-} // namespace __visitation
-
-template <size_t _Index, class _Tp>
-struct _LIBCPP_TEMPLATE_VIS __alt {
-  using __value_type = _Tp;
-
-  template <class... _Args>
-  inline _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr __alt(in_place_t, _Args&&... __args)
-      : __value(_VSTD::forward<_Args>(__args)...) {}
-
-  __value_type __value;
-};
-
-template <_Trait _DestructibleTrait, size_t _Index, class... _Types>
-union _LIBCPP_TEMPLATE_VIS __union;
-
-template <_Trait _DestructibleTrait, size_t _Index>
-union _LIBCPP_TEMPLATE_VIS __union<_DestructibleTrait, _Index> {};
-
-#define _LIBCPP_VARIANT_UNION(destructible_trait, destructor)                  \
-  template <size_t _Index, class _Tp, class... _Types>                         \
-  union _LIBCPP_TEMPLATE_VIS __union<destructible_trait,                      \
-                                      _Index,                                  \
-                                      _Tp,                                     \
-                                      _Types...> {                             \
-  public:                                                                      \
-    inline _LIBCPP_INLINE_VISIBILITY                                           \
-    explicit constexpr __union(__valueless_t) noexcept : __dummy{} {}          \
-                                                                               \
-    template <class... _Args>                                                  \
-    inline _LIBCPP_INLINE_VISIBILITY                                           \
-    explicit constexpr __union(in_place_index_t<0>, _Args&&... __args)         \
-        : __head(in_place, _VSTD::forward<_Args>(__args)...) {}                \
-                                                                               \
-    template <size_t _Ip, class... _Args>                                      \
-    inline _LIBCPP_INLINE_VISIBILITY                                           \
-    explicit constexpr __union(in_place_index_t<_Ip>, _Args&&... __args)       \
-        : __tail(in_place_index<_Ip - 1>, _VSTD::forward<_Args>(__args)...) {} \
-                                                                               \
-    __union(const __union&) = default;                                         \
-    __union(__union&&) = default;                                              \
-                                                                               \
-    destructor                                                                 \
-                                                                               \
-    __union& operator=(const __union&) = default;                              \
-    __union& operator=(__union&&) = default;                                   \
-                                                                               \
-  private:                                                                     \
-    char __dummy;                                                              \
-    __alt<_Index, _Tp> __head;                                                 \
-    __union<destructible_trait, _Index + 1, _Types...> __tail;                 \
-                                                                               \
-    friend struct __access::__union;                                           \
-  }
-
-_LIBCPP_VARIANT_UNION(_Trait::_TriviallyAvailable, ~__union() = default;);
-_LIBCPP_VARIANT_UNION(_Trait::_Available, ~__union() {});
-_LIBCPP_VARIANT_UNION(_Trait::_Unavailable, ~__union() = delete;);
-
-#undef _LIBCPP_VARIANT_UNION
-
-template <_Trait _DestructibleTrait, class... _Types>
-class _LIBCPP_TEMPLATE_VIS __base {
-public:
-  using __index_t = __variant_index_t<sizeof...(_Types)>;
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr __base(__valueless_t tag) noexcept
-      : __data(tag), __index(__variant_npos<__index_t>) {}
-
-  template <size_t _Ip, class... _Args>
-  inline _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr __base(in_place_index_t<_Ip>, _Args&&... __args)
-      :
-        __data(in_place_index<_Ip>, _VSTD::forward<_Args>(__args)...),
-        __index(_Ip) {}
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr bool valueless_by_exception() const noexcept {
-    return index() == variant_npos;
-  }
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr size_t index() const noexcept {
-    return __index == __variant_npos<__index_t> ? variant_npos : __index;
-  }
-
-protected:
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr auto&& __as_base() & { return *this; }
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr auto&& __as_base() && { return _VSTD::move(*this); }
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr auto&& __as_base() const & { return *this; }
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr auto&& __as_base() const && { return _VSTD::move(*this); }
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  static constexpr size_t __size() { return sizeof...(_Types); }
-
-  __union<_DestructibleTrait, 0, _Types...> __data;
-  __index_t __index;
-
-  friend struct __access::__base;
-  friend struct __visitation::__base;
-};
-
-template <class _Traits, _Trait = _Traits::__destructible_trait>
-class _LIBCPP_TEMPLATE_VIS __destructor;
-
-#define _LIBCPP_VARIANT_DESTRUCTOR(destructible_trait, destructor, destroy)    \
-  template <class... _Types>                                                   \
-  class _LIBCPP_TEMPLATE_VIS __destructor<__traits<_Types...>,                 \
-                                           destructible_trait>                 \
-      : public __base<destructible_trait, _Types...> {                         \
-    using __base_type = __base<destructible_trait, _Types...>;                 \
-    using __index_t = typename __base_type::__index_t;                         \
-                                                                               \
-  public:                                                                      \
-    using __base_type::__base_type;                                            \
-    using __base_type::operator=;                                              \
-                                                                               \
-    __destructor(const __destructor&) = default;                               \
-    __destructor(__destructor&&) = default;                                    \
-    destructor                                                                 \
-    __destructor& operator=(const __destructor&) = default;                    \
-    __destructor& operator=(__destructor&&) = default;                         \
-                                                                               \
-  protected:                                                                   \
-    inline _LIBCPP_INLINE_VISIBILITY                                           \
-    destroy                                                                    \
-  }
-
-_LIBCPP_VARIANT_DESTRUCTOR(
-    _Trait::_TriviallyAvailable,
-    ~__destructor() = default;,
-    void __destroy() noexcept { this->__index = __variant_npos<__index_t>; });
-
-_LIBCPP_VARIANT_DESTRUCTOR(
-    _Trait::_Available,
-    ~__destructor() { __destroy(); },
-    void __destroy() noexcept {
-      if (!this->valueless_by_exception()) {
-        __visitation::__base::__visit_alt(
-            [](auto& __alt) noexcept {
-              using __alt_type = __uncvref_t<decltype(__alt)>;
-              __alt.~__alt_type();
-            },
-            *this);
-      }
-      this->__index = __variant_npos<__index_t>;
-    });
-
-_LIBCPP_VARIANT_DESTRUCTOR(
-    _Trait::_Unavailable,
-    ~__destructor() = delete;,
-    void __destroy() noexcept = delete;);
-
-#undef _LIBCPP_VARIANT_DESTRUCTOR
-
-template <class _Traits>
-class _LIBCPP_TEMPLATE_VIS __constructor : public __destructor<_Traits> {
-  using __base_type = __destructor<_Traits>;
-
-public:
-  using __base_type::__base_type;
-  using __base_type::operator=;
-
-protected:
-  template <size_t _Ip, class _Tp, class... _Args>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static _Tp& __construct_alt(__alt<_Ip, _Tp>& __a, _Args&&... __args) {
-    ::new ((void*)_VSTD::addressof(__a))
-        __alt<_Ip, _Tp>(in_place, _VSTD::forward<_Args>(__args)...);
-    return __a.__value;
-  }
-
-  template <class _Rhs>
-  inline _LIBCPP_INLINE_VISIBILITY
-  static void __generic_construct(__constructor& __lhs, _Rhs&& __rhs) {
-    __lhs.__destroy();
-    if (!__rhs.valueless_by_exception()) {
-      __visitation::__base::__visit_alt_at(
-          __rhs.index(),
-          [](auto& __lhs_alt, auto&& __rhs_alt) {
-            __construct_alt(
-                __lhs_alt,
-                _VSTD::forward<decltype(__rhs_alt)>(__rhs_alt).__value);
-          },
-          __lhs, _VSTD::forward<_Rhs>(__rhs));
-      __lhs.__index = __rhs.index();
-    }
-  }
-};
-
-template <class _Traits, _Trait = _Traits::__move_constructible_trait>
-class _LIBCPP_TEMPLATE_VIS __move_constructor;
-
-#define _LIBCPP_VARIANT_MOVE_CONSTRUCTOR(move_constructible_trait,             \
-                                         move_constructor)                     \
-  template <class... _Types>                                                   \
-  class _LIBCPP_TEMPLATE_VIS __move_constructor<__traits<_Types...>,          \
-                                                 move_constructible_trait>     \
-      : public __constructor<__traits<_Types...>> {                            \
-    using __base_type = __constructor<__traits<_Types...>>;                    \
-                                                                               \
-  public:                                                                      \
-    using __base_type::__base_type;                                            \
-    using __base_type::operator=;                                              \
-                                                                               \
-    __move_constructor(const __move_constructor&) = default;                   \
-    move_constructor                                                           \
-    ~__move_constructor() = default;                                           \
-    __move_constructor& operator=(const __move_constructor&) = default;        \
-    __move_constructor& operator=(__move_constructor&&) = default;             \
-  }
-
-_LIBCPP_VARIANT_MOVE_CONSTRUCTOR(
-    _Trait::_TriviallyAvailable,
-    __move_constructor(__move_constructor&& __that) = default;);
-
-_LIBCPP_VARIANT_MOVE_CONSTRUCTOR(
-    _Trait::_Available,
-    __move_constructor(__move_constructor&& __that) noexcept(
-        __all<is_nothrow_move_constructible_v<_Types>...>::value)
-        : __move_constructor(__valueless_t{}) {
-      this->__generic_construct(*this, _VSTD::move(__that));
-    });
-
-_LIBCPP_VARIANT_MOVE_CONSTRUCTOR(
-    _Trait::_Unavailable,
-    __move_constructor(__move_constructor&&) = delete;);
-
-#undef _LIBCPP_VARIANT_MOVE_CONSTRUCTOR
-
-template <class _Traits, _Trait = _Traits::__copy_constructible_trait>
-class _LIBCPP_TEMPLATE_VIS __copy_constructor;
-
-#define _LIBCPP_VARIANT_COPY_CONSTRUCTOR(copy_constructible_trait,             \
-                                         copy_constructor)                     \
-  template <class... _Types>                                                   \
-  class _LIBCPP_TEMPLATE_VIS __copy_constructor<__traits<_Types...>,          \
-                                                 copy_constructible_trait>     \
-      : public __move_constructor<__traits<_Types...>> {                       \
-    using __base_type = __move_constructor<__traits<_Types...>>;               \
-                                                                               \
-  public:                                                                      \
-    using __base_type::__base_type;                                            \
-    using __base_type::operator=;                                              \
-                                                                               \
-    copy_constructor                                                           \
-    __copy_constructor(__copy_constructor&&) = default;                        \
-    ~__copy_constructor() = default;                                           \
-    __copy_constructor& operator=(const __copy_constructor&) = default;        \
-    __copy_constructor& operator=(__copy_constructor&&) = default;             \
-  }
-
-_LIBCPP_VARIANT_COPY_CONSTRUCTOR(
-    _Trait::_TriviallyAvailable,
-    __copy_constructor(const __copy_constructor& __that) = default;);
-
-_LIBCPP_VARIANT_COPY_CONSTRUCTOR(
-    _Trait::_Available,
-    __copy_constructor(const __copy_constructor& __that)
-        : __copy_constructor(__valueless_t{}) {
-      this->__generic_construct(*this, __that);
-    });
-
-_LIBCPP_VARIANT_COPY_CONSTRUCTOR(
-    _Trait::_Unavailable,
-    __copy_constructor(const __copy_constructor&) = delete;);
-
-#undef _LIBCPP_VARIANT_COPY_CONSTRUCTOR
-
-template <class _Traits>
-class _LIBCPP_TEMPLATE_VIS __assignment : public __copy_constructor<_Traits> {
-  using __base_type = __copy_constructor<_Traits>;
-
-public:
-  using __base_type::__base_type;
-  using __base_type::operator=;
-
-  template <size_t _Ip, class... _Args>
-  inline _LIBCPP_INLINE_VISIBILITY
-  auto& __emplace(_Args&&... __args) {
-    this->__destroy();
-    auto& __res = this->__construct_alt(__access::__base::__get_alt<_Ip>(*this),
-                          _VSTD::forward<_Args>(__args)...);
-    this->__index = _Ip;
-    return __res;
-  }
-
-protected:
-  template <size_t _Ip, class _Tp, class _Arg>
-  inline _LIBCPP_INLINE_VISIBILITY
-  void __assign_alt(__alt<_Ip, _Tp>& __a, _Arg&& __arg) {
-    if (this->index() == _Ip) {
-      __a.__value = _VSTD::forward<_Arg>(__arg);
-    } else {
-      struct {
-        void operator()(true_type) const {
-          __this->__emplace<_Ip>(_VSTD::forward<_Arg>(__arg));
-        }
-        void operator()(false_type) const {
-          __this->__emplace<_Ip>(_Tp(_VSTD::forward<_Arg>(__arg)));
-        }
-        __assignment* __this;
-        _Arg&& __arg;
-      } __impl{this, _VSTD::forward<_Arg>(__arg)};
-      __impl(bool_constant<is_nothrow_constructible_v<_Tp, _Arg> ||
-                           !is_nothrow_move_constructible_v<_Tp>>{});
-    }
-  }
-
-  template <class _That>
-  inline _LIBCPP_INLINE_VISIBILITY
-  void __generic_assign(_That&& __that) {
-    if (this->valueless_by_exception() && __that.valueless_by_exception()) {
-      // do nothing.
-    } else if (__that.valueless_by_exception()) {
-      this->__destroy();
-    } else {
-      __visitation::__base::__visit_alt_at(
-          __that.index(),
-          [this](auto& __this_alt, auto&& __that_alt) {
-            this->__assign_alt(
-                __this_alt,
-                _VSTD::forward<decltype(__that_alt)>(__that_alt).__value);
-          },
-          *this, _VSTD::forward<_That>(__that));
-    }
-  }
-};
-
-template <class _Traits, _Trait = _Traits::__move_assignable_trait>
-class _LIBCPP_TEMPLATE_VIS __move_assignment;
-
-#define _LIBCPP_VARIANT_MOVE_ASSIGNMENT(move_assignable_trait,                 \
-                                        move_assignment)                       \
-  template <class... _Types>                                                   \
-  class _LIBCPP_TEMPLATE_VIS __move_assignment<__traits<_Types...>,           \
-                                                move_assignable_trait>         \
-      : public __assignment<__traits<_Types...>> {                             \
-    using __base_type = __assignment<__traits<_Types...>>;                     \
-                                                                               \
-  public:                                                                      \
-    using __base_type::__base_type;                                            \
-    using __base_type::operator=;                                              \
-                                                                               \
-    __move_assignment(const __move_assignment&) = default;                     \
-    __move_assignment(__move_assignment&&) = default;                          \
-    ~__move_assignment() = default;                                            \
-    __move_assignment& operator=(const __move_assignment&) = default;          \
-    move_assignment                                                            \
-  }
-
-_LIBCPP_VARIANT_MOVE_ASSIGNMENT(
-    _Trait::_TriviallyAvailable,
-    __move_assignment& operator=(__move_assignment&& __that) = default;);
-
-_LIBCPP_VARIANT_MOVE_ASSIGNMENT(
-    _Trait::_Available,
-    __move_assignment& operator=(__move_assignment&& __that) noexcept(
-        __all<(is_nothrow_move_constructible_v<_Types> &&
-               is_nothrow_move_assignable_v<_Types>)...>::value) {
-      this->__generic_assign(_VSTD::move(__that));
-      return *this;
-    });
-
-_LIBCPP_VARIANT_MOVE_ASSIGNMENT(
-    _Trait::_Unavailable,
-    __move_assignment& operator=(__move_assignment&&) = delete;);
-
-#undef _LIBCPP_VARIANT_MOVE_ASSIGNMENT
-
-template <class _Traits, _Trait = _Traits::__copy_assignable_trait>
-class _LIBCPP_TEMPLATE_VIS __copy_assignment;
-
-#define _LIBCPP_VARIANT_COPY_ASSIGNMENT(copy_assignable_trait,                 \
-                                        copy_assignment)                       \
-  template <class... _Types>                                                   \
-  class _LIBCPP_TEMPLATE_VIS __copy_assignment<__traits<_Types...>,           \
-                                                copy_assignable_trait>         \
-      : public __move_assignment<__traits<_Types...>> {                        \
-    using __base_type = __move_assignment<__traits<_Types...>>;                \
-                                                                               \
-  public:                                                                      \
-    using __base_type::__base_type;                                            \
-    using __base_type::operator=;                                              \
-                                                                               \
-    __copy_assignment(const __copy_assignment&) = default;                     \
-    __copy_assignment(__copy_assignment&&) = default;                          \
-    ~__copy_assignment() = default;                                            \
-    copy_assignment                                                            \
-    __copy_assignment& operator=(__copy_assignment&&) = default;               \
-  }
-
-_LIBCPP_VARIANT_COPY_ASSIGNMENT(
-    _Trait::_TriviallyAvailable,
-    __copy_assignment& operator=(const __copy_assignment& __that) = default;);
-
-_LIBCPP_VARIANT_COPY_ASSIGNMENT(
-    _Trait::_Available,
-    __copy_assignment& operator=(const __copy_assignment& __that) {
-      this->__generic_assign(__that);
-      return *this;
-    });
-
-_LIBCPP_VARIANT_COPY_ASSIGNMENT(
-    _Trait::_Unavailable,
-    __copy_assignment& operator=(const __copy_assignment&) = delete;);
-
-#undef _LIBCPP_VARIANT_COPY_ASSIGNMENT
-
-template <class... _Types>
-class _LIBCPP_TEMPLATE_VIS __impl
-    : public __copy_assignment<__traits<_Types...>> {
-  using __base_type = __copy_assignment<__traits<_Types...>>;
-
-public:
-  using __base_type::__base_type;
-  using __base_type::operator=;
-
-  template <size_t _Ip, class _Arg>
-  inline _LIBCPP_INLINE_VISIBILITY
-  void __assign(_Arg&& __arg) {
-    this->__assign_alt(__access::__base::__get_alt<_Ip>(*this),
-                       _VSTD::forward<_Arg>(__arg));
-  }
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  void __swap(__impl& __that)  {
-    if (this->valueless_by_exception() && __that.valueless_by_exception()) {
-      // do nothing.
-    } else if (this->index() == __that.index()) {
-      __visitation::__base::__visit_alt_at(
-          this->index(),
-          [](auto& __this_alt, auto& __that_alt) {
-            using _VSTD::swap;
-            swap(__this_alt.__value, __that_alt.__value);
-          },
-          *this,
-          __that);
-    } else {
-      __impl* __lhs = this;
-      __impl* __rhs = _VSTD::addressof(__that);
-      if (__lhs->__move_nothrow() && !__rhs->__move_nothrow()) {
-        _VSTD::swap(__lhs, __rhs);
-      }
-      __impl __tmp(_VSTD::move(*__rhs));
-#ifndef _LIBCPP_NO_EXCEPTIONS
-      // EXTENSION: When the move construction of `__lhs` into `__rhs` throws
-      // and `__tmp` is nothrow move constructible then we move `__tmp` back
-      // into `__rhs` and provide the strong exception safety guarantee.
-      try {
-        this->__generic_construct(*__rhs, _VSTD::move(*__lhs));
-      } catch (...) {
-        if (__tmp.__move_nothrow()) {
-          this->__generic_construct(*__rhs, _VSTD::move(__tmp));
-        }
-        throw;
-      }
-#else
-      this->__generic_construct(*__rhs, _VSTD::move(*__lhs));
-#endif
-      this->__generic_construct(*__lhs, _VSTD::move(__tmp));
-    }
-  }
-
-private:
-  inline _LIBCPP_INLINE_VISIBILITY
-  bool __move_nothrow() const {
-    constexpr bool __results[] = {is_nothrow_move_constructible_v<_Types>...};
-    return this->valueless_by_exception() || __results[this->index()];
-  }
-};
-
-struct __no_narrowing_check {
-  template <class _Dest, class _Source>
-  using _Apply = __identity<_Dest>;
-};
-
-struct __narrowing_check {
-  template <class _Dest>
-  static auto __test_impl(_Dest (&&)[1]) -> __identity<_Dest>;
-  template <class _Dest, class _Source>
-  using _Apply _LIBCPP_NODEBUG_TYPE = decltype(__test_impl<_Dest>({std::declval<_Source>()}));
-};
-
-template <class _Dest, class _Source>
-using __check_for_narrowing _LIBCPP_NODEBUG_TYPE =
-  typename _If<
-#ifdef _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT
-    false &&
-#endif
-    is_arithmetic<_Dest>::value,
-    __narrowing_check,
-    __no_narrowing_check
-  >::template _Apply<_Dest, _Source>;
-
-template <class _Tp, size_t _Idx>
-struct __overload {
-  template <class _Up>
-  auto operator()(_Tp, _Up&&) const -> __check_for_narrowing<_Tp, _Up>;
-};
-
-template <class _Tp, size_t>
-struct __overload_bool  {
-  template <class _Up, class _Ap = __uncvref_t<_Up>>
-  auto operator()(bool, _Up&&) const
-      -> enable_if_t<is_same_v<_Ap, bool>, __identity<_Tp>>;
-};
-
-template <size_t _Idx>
-struct __overload<bool, _Idx> : __overload_bool<bool, _Idx> {};
-template <size_t _Idx>
-struct __overload<bool const, _Idx> : __overload_bool<bool const, _Idx> {};
-template <size_t _Idx>
-struct __overload<bool volatile, _Idx> : __overload_bool<bool volatile, _Idx> {};
-template <size_t _Idx>
-struct __overload<bool const volatile, _Idx> : __overload_bool<bool const volatile, _Idx> {};
-
-template <class ..._Bases>
-struct __all_overloads : _Bases... {
-  void operator()() const;
-  using _Bases::operator()...;
-};
-
-template <class IdxSeq>
-struct __make_overloads_imp;
-
-template <size_t ..._Idx>
-struct __make_overloads_imp<__tuple_indices<_Idx...> > {
-  template <class ..._Types>
-  using _Apply _LIBCPP_NODEBUG_TYPE = __all_overloads<__overload<_Types, _Idx>...>;
-};
-
-template <class ..._Types>
-using _MakeOverloads _LIBCPP_NODEBUG_TYPE = typename __make_overloads_imp<
-    __make_indices_imp<sizeof...(_Types), 0> >::template _Apply<_Types...>;
-
-template <class _Tp, class... _Types>
-using __best_match_t =
-    typename invoke_result_t<_MakeOverloads<_Types...>, _Tp, _Tp>::type;
-
-} // __variant_detail
-
-template <class... _Types>
-class _LIBCPP_TEMPLATE_VIS variant
-    : private __sfinae_ctor_base<
-          __all<is_copy_constructible_v<_Types>...>::value,
-          __all<is_move_constructible_v<_Types>...>::value>,
-      private __sfinae_assign_base<
-          __all<(is_copy_constructible_v<_Types> &&
-                 is_copy_assignable_v<_Types>)...>::value,
-          __all<(is_move_constructible_v<_Types> &&
-                 is_move_assignable_v<_Types>)...>::value> {
-  static_assert(0 < sizeof...(_Types),
-                "variant must consist of at least one alternative.");
-
-  static_assert(__all<!is_array_v<_Types>...>::value,
-                "variant can not have an array type as an alternative.");
-
-  static_assert(__all<!is_reference_v<_Types>...>::value,
-                "variant can not have a reference type as an alternative.");
-
-  static_assert(__all<!is_void_v<_Types>...>::value,
-                "variant can not have a void type as an alternative.");
-
-  using __first_type = variant_alternative_t<0, variant>;
-
-public:
-  template <bool _Dummy = true,
-            enable_if_t<__dependent_type<is_default_constructible<__first_type>,
-                                         _Dummy>::value,
-                        int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr variant() noexcept(is_nothrow_default_constructible_v<__first_type>)
-      : __impl(in_place_index<0>) {}
-
-  variant(const variant&) = default;
-  variant(variant&&) = default;
-
-  template <
-      class _Arg,
-      enable_if_t<!is_same_v<__uncvref_t<_Arg>, variant>, int> = 0,
-      enable_if_t<!__is_inplace_type<__uncvref_t<_Arg>>::value, int> = 0,
-      enable_if_t<!__is_inplace_index<__uncvref_t<_Arg>>::value, int> = 0,
-      class _Tp = __variant_detail::__best_match_t<_Arg, _Types...>,
-      size_t _Ip =
-          __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
-      enable_if_t<is_constructible_v<_Tp, _Arg>, int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr variant(_Arg&& __arg) noexcept(
-      is_nothrow_constructible_v<_Tp, _Arg>)
-      : __impl(in_place_index<_Ip>, _VSTD::forward<_Arg>(__arg)) {}
-
-  template <size_t _Ip, class... _Args,
-            class = enable_if_t<(_Ip < sizeof...(_Types)), int>,
-            class _Tp = variant_alternative_t<_Ip, variant<_Types...>>,
-            enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr variant(
-      in_place_index_t<_Ip>,
-      _Args&&... __args) noexcept(is_nothrow_constructible_v<_Tp, _Args...>)
-      : __impl(in_place_index<_Ip>, _VSTD::forward<_Args>(__args)...) {}
-
-  template <
-      size_t _Ip,
-      class _Up,
-      class... _Args,
-      enable_if_t<(_Ip < sizeof...(_Types)), int> = 0,
-      class _Tp = variant_alternative_t<_Ip, variant<_Types...>>,
-      enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>,
-                  int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr variant(
-      in_place_index_t<_Ip>,
-      initializer_list<_Up> __il,
-      _Args&&... __args) noexcept(
-      is_nothrow_constructible_v<_Tp, initializer_list<_Up>&, _Args...>)
-      : __impl(in_place_index<_Ip>, __il, _VSTD::forward<_Args>(__args)...) {}
-
-  template <
-      class _Tp,
-      class... _Args,
-      size_t _Ip =
-          __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
-      enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr variant(in_place_type_t<_Tp>, _Args&&... __args) noexcept(
-      is_nothrow_constructible_v<_Tp, _Args...>)
-      : __impl(in_place_index<_Ip>, _VSTD::forward<_Args>(__args)...) {}
-
-  template <
-      class _Tp,
-      class _Up,
-      class... _Args,
-      size_t _Ip =
-          __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
-      enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>,
-                  int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  explicit constexpr variant(
-      in_place_type_t<_Tp>,
-      initializer_list<_Up> __il,
-      _Args&&... __args) noexcept(
-      is_nothrow_constructible_v<_Tp, initializer_list< _Up>&, _Args...>)
-      : __impl(in_place_index<_Ip>, __il, _VSTD::forward<_Args>(__args)...) {}
-
-  ~variant() = default;
-
-  variant& operator=(const variant&) = default;
-  variant& operator=(variant&&) = default;
-
-  template <
-      class _Arg,
-      enable_if_t<!is_same_v<__uncvref_t<_Arg>, variant>, int> = 0,
-      class _Tp = __variant_detail::__best_match_t<_Arg, _Types...>,
-      size_t _Ip =
-          __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
-      enable_if_t<is_assignable_v<_Tp&, _Arg> && is_constructible_v<_Tp, _Arg>,
-                  int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  variant& operator=(_Arg&& __arg) noexcept(
-      is_nothrow_assignable_v<_Tp&, _Arg> &&
-      is_nothrow_constructible_v<_Tp, _Arg>) {
-    __impl.template __assign<_Ip>(_VSTD::forward<_Arg>(__arg));
-    return *this;
-  }
-
-  template <
-      size_t _Ip,
-      class... _Args,
-      enable_if_t<(_Ip < sizeof...(_Types)), int> = 0,
-      class _Tp = variant_alternative_t<_Ip, variant<_Types...>>,
-      enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  _Tp& emplace(_Args&&... __args) {
-    return __impl.template __emplace<_Ip>(_VSTD::forward<_Args>(__args)...);
-  }
-
-  template <
-      size_t _Ip,
-      class _Up,
-      class... _Args,
-      enable_if_t<(_Ip < sizeof...(_Types)), int> = 0,
-      class _Tp = variant_alternative_t<_Ip, variant<_Types...>>,
-      enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>,
-                  int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) {
-    return __impl.template __emplace<_Ip>(__il, _VSTD::forward<_Args>(__args)...);
-  }
-
-  template <
-      class _Tp,
-      class... _Args,
-      size_t _Ip =
-          __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
-      enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  _Tp& emplace(_Args&&... __args) {
-    return __impl.template __emplace<_Ip>(_VSTD::forward<_Args>(__args)...);
-  }
-
-  template <
-      class _Tp,
-      class _Up,
-      class... _Args,
-      size_t _Ip =
-          __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
-      enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>,
-                  int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) {
-    return __impl.template __emplace<_Ip>(__il, _VSTD::forward<_Args>(__args)...);
-  }
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr bool valueless_by_exception() const noexcept {
-    return __impl.valueless_by_exception();
-  }
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  constexpr size_t index() const noexcept { return __impl.index(); }
-
-  template <
-      bool _Dummy = true,
-      enable_if_t<
-          __all<(
-              __dependent_type<is_move_constructible<_Types>, _Dummy>::value &&
-              __dependent_type<is_swappable<_Types>, _Dummy>::value)...>::value,
-          int> = 0>
-  inline _LIBCPP_INLINE_VISIBILITY
-  void swap(variant& __that) noexcept(
-      __all<(is_nothrow_move_constructible_v<_Types> &&
-             is_nothrow_swappable_v<_Types>)...>::value) {
-    __impl.__swap(__that.__impl);
-  }
-
-private:
-  __variant_detail::__impl<_Types...> __impl;
-
-  friend struct __variant_detail::__access::__variant;
-  friend struct __variant_detail::__visitation::__variant;
-};
-
-template <size_t _Ip, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool __holds_alternative(const variant<_Types...>& __v) noexcept {
-  return __v.index() == _Ip;
-}
-
-template <class _Tp, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool holds_alternative(const variant<_Types...>& __v) noexcept {
-  return __holds_alternative<__find_exactly_one_t<_Tp, _Types...>::value>(__v);
-}
-
-template <size_t _Ip, class _Vp>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr auto&& __generic_get(_Vp&& __v) {
-  using __variant_detail::__access::__variant;
-  if (!__holds_alternative<_Ip>(__v)) {
-    __throw_bad_variant_access();
-  }
-  return __variant::__get_alt<_Ip>(_VSTD::forward<_Vp>(__v)).__value;
-}
-
-template <size_t _Ip, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr variant_alternative_t<_Ip, variant<_Types...>>& get(
-    variant<_Types...>& __v) {
-  static_assert(_Ip < sizeof...(_Types));
-  static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>);
-  return __generic_get<_Ip>(__v);
-}
-
-template <size_t _Ip, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr variant_alternative_t<_Ip, variant<_Types...>>&& get(
-    variant<_Types...>&& __v) {
-  static_assert(_Ip < sizeof...(_Types));
-  static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>);
-  return __generic_get<_Ip>(_VSTD::move(__v));
-}
-
-template <size_t _Ip, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr const variant_alternative_t<_Ip, variant<_Types...>>& get(
-    const variant<_Types...>& __v) {
-  static_assert(_Ip < sizeof...(_Types));
-  static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>);
-  return __generic_get<_Ip>(__v);
-}
-
-template <size_t _Ip, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr const variant_alternative_t<_Ip, variant<_Types...>>&& get(
-    const variant<_Types...>&& __v) {
-  static_assert(_Ip < sizeof...(_Types));
-  static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>);
-  return __generic_get<_Ip>(_VSTD::move(__v));
-}
-
-template <class _Tp, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr _Tp& get(variant<_Types...>& __v) {
-  static_assert(!is_void_v<_Tp>);
-  return _VSTD::get<__find_exactly_one_t<_Tp, _Types...>::value>(__v);
-}
-
-template <class _Tp, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr _Tp&& get(variant<_Types...>&& __v) {
-  static_assert(!is_void_v<_Tp>);
-  return _VSTD::get<__find_exactly_one_t<_Tp, _Types...>::value>(
-      _VSTD::move(__v));
-}
-
-template <class _Tp, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr const _Tp& get(const variant<_Types...>& __v) {
-  static_assert(!is_void_v<_Tp>);
-  return _VSTD::get<__find_exactly_one_t<_Tp, _Types...>::value>(__v);
-}
-
-template <class _Tp, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr const _Tp&& get(const variant<_Types...>&& __v) {
-  static_assert(!is_void_v<_Tp>);
-  return _VSTD::get<__find_exactly_one_t<_Tp, _Types...>::value>(
-      _VSTD::move(__v));
-}
-
-template <size_t _Ip, class _Vp>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr auto* __generic_get_if(_Vp* __v) noexcept {
-  using __variant_detail::__access::__variant;
-  return __v && __holds_alternative<_Ip>(*__v)
-             ? _VSTD::addressof(__variant::__get_alt<_Ip>(*__v).__value)
-             : nullptr;
-}
-
-template <size_t _Ip, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr add_pointer_t<variant_alternative_t<_Ip, variant<_Types...>>>
-get_if(variant<_Types...>* __v) noexcept {
-  static_assert(_Ip < sizeof...(_Types));
-  static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>);
-  return __generic_get_if<_Ip>(__v);
-}
-
-template <size_t _Ip, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr add_pointer_t<const variant_alternative_t<_Ip, variant<_Types...>>>
-get_if(const variant<_Types...>* __v) noexcept {
-  static_assert(_Ip < sizeof...(_Types));
-  static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>);
-  return __generic_get_if<_Ip>(__v);
-}
-
-template <class _Tp, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr add_pointer_t<_Tp>
-get_if(variant<_Types...>* __v) noexcept {
-  static_assert(!is_void_v<_Tp>);
-  return _VSTD::get_if<__find_exactly_one_t<_Tp, _Types...>::value>(__v);
-}
-
-template <class _Tp, class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr add_pointer_t<const _Tp>
-get_if(const variant<_Types...>* __v) noexcept {
-  static_assert(!is_void_v<_Tp>);
-  return _VSTD::get_if<__find_exactly_one_t<_Tp, _Types...>::value>(__v);
-}
-
-template <class _Operator>
-struct __convert_to_bool {
-  template <class _T1, class _T2>
-  _LIBCPP_INLINE_VISIBILITY constexpr bool operator()(_T1 && __t1, _T2&& __t2) const {
-    static_assert(std::is_convertible<decltype(_Operator{}(_VSTD::forward<_T1>(__t1), _VSTD::forward<_T2>(__t2))), bool>::value,
-        "the relational operator does not return a type which is implicitly convertible to bool");
-    return _Operator{}(_VSTD::forward<_T1>(__t1), _VSTD::forward<_T2>(__t2));
-  }
-};
-
-template <class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(const variant<_Types...>& __lhs,
-                          const variant<_Types...>& __rhs) {
-  using __variant_detail::__visitation::__variant;
-  if (__lhs.index() != __rhs.index()) return false;
-  if (__lhs.valueless_by_exception()) return true;
-  return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<equal_to<>>{}, __lhs, __rhs);
-}
-
-template <class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(const variant<_Types...>& __lhs,
-                          const variant<_Types...>& __rhs) {
-  using __variant_detail::__visitation::__variant;
-  if (__lhs.index() != __rhs.index()) return true;
-  if (__lhs.valueless_by_exception()) return false;
-  return __variant::__visit_value_at(
-      __lhs.index(), __convert_to_bool<not_equal_to<>>{}, __lhs, __rhs);
-}
-
-template <class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<(const variant<_Types...>& __lhs,
-                         const variant<_Types...>& __rhs) {
-  using __variant_detail::__visitation::__variant;
-  if (__rhs.valueless_by_exception()) return false;
-  if (__lhs.valueless_by_exception()) return true;
-  if (__lhs.index() < __rhs.index()) return true;
-  if (__lhs.index() > __rhs.index()) return false;
-  return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<less<>>{}, __lhs, __rhs);
-}
-
-template <class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>(const variant<_Types...>& __lhs,
-                         const variant<_Types...>& __rhs) {
-  using __variant_detail::__visitation::__variant;
-  if (__lhs.valueless_by_exception()) return false;
-  if (__rhs.valueless_by_exception()) return true;
-  if (__lhs.index() > __rhs.index()) return true;
-  if (__lhs.index() < __rhs.index()) return false;
-  return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<greater<>>{}, __lhs, __rhs);
-}
-
-template <class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<=(const variant<_Types...>& __lhs,
-                          const variant<_Types...>& __rhs) {
-  using __variant_detail::__visitation::__variant;
-  if (__lhs.valueless_by_exception()) return true;
-  if (__rhs.valueless_by_exception()) return false;
-  if (__lhs.index() < __rhs.index()) return true;
-  if (__lhs.index() > __rhs.index()) return false;
-  return __variant::__visit_value_at(
-      __lhs.index(), __convert_to_bool<less_equal<>>{}, __lhs, __rhs);
-}
-
-template <class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>=(const variant<_Types...>& __lhs,
-                          const variant<_Types...>& __rhs) {
-  using __variant_detail::__visitation::__variant;
-  if (__rhs.valueless_by_exception()) return true;
-  if (__lhs.valueless_by_exception()) return false;
-  if (__lhs.index() > __rhs.index()) return true;
-  if (__lhs.index() < __rhs.index()) return false;
-  return __variant::__visit_value_at(
-      __lhs.index(), __convert_to_bool<greater_equal<>>{}, __lhs, __rhs);
-}
-
-template <class _Visitor, class... _Vs>
-inline _LIBCPP_INLINE_VISIBILITY
-_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
-constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) {
-  using __variant_detail::__visitation::__variant;
-  bool __results[] = {__vs.valueless_by_exception()...};
-  for (bool __result : __results) {
-    if (__result) {
-      __throw_bad_variant_access();
-    }
-  }
-  return __variant::__visit_value(_VSTD::forward<_Visitor>(__visitor),
-                                  _VSTD::forward<_Vs>(__vs)...);
-}
-
-struct _LIBCPP_TEMPLATE_VIS monostate {};
-
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<(monostate, monostate) noexcept { return false; }
-
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>(monostate, monostate) noexcept { return false; }
-
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator<=(monostate, monostate) noexcept { return true; }
-
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator>=(monostate, monostate) noexcept { return true; }
-
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator==(monostate, monostate) noexcept { return true; }
-
-inline _LIBCPP_INLINE_VISIBILITY
-constexpr bool operator!=(monostate, monostate) noexcept { return false; }
-
-template <class... _Types>
-inline _LIBCPP_INLINE_VISIBILITY
-auto swap(variant<_Types...>& __lhs,
-          variant<_Types...>& __rhs) noexcept(noexcept(__lhs.swap(__rhs)))
-    -> decltype(__lhs.swap(__rhs)) {
-  __lhs.swap(__rhs);
-}
-
-template <class... _Types>
-struct _LIBCPP_TEMPLATE_VIS hash<
-    __enable_hash_helper<variant<_Types...>, remove_const_t<_Types>...>> {
-  using argument_type = variant<_Types...>;
-  using result_type = size_t;
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  result_type operator()(const argument_type& __v) const {
-    using __variant_detail::__visitation::__variant;
-    size_t __res =
-        __v.valueless_by_exception()
-               ? 299792458 // Random value chosen by the universe upon creation
-               : __variant::__visit_alt(
-                     [](const auto& __alt) {
-                       using __alt_type = __uncvref_t<decltype(__alt)>;
-                       using __value_type = remove_const_t<
-                         typename __alt_type::__value_type>;
-                       return hash<__value_type>{}(__alt.__value);
-                     },
-                     __v);
-    return __hash_combine(__res, hash<size_t>{}(__v.index()));
-  }
-};
-
-template <>
-struct _LIBCPP_TEMPLATE_VIS hash<monostate> {
-  using argument_type = monostate;
-  using result_type = size_t;
-
-  inline _LIBCPP_INLINE_VISIBILITY
-  result_type operator()(const argument_type&) const _NOEXCEPT {
-    return 66740831; // return a fundamentally attractive random value.
-  }
-};
-
-#endif  // _LIBCPP_STD_VER > 14
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-#endif  // _LIBCPP_VARIANT
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/wchar.h b/r23/sources/cxx-stl/llvm-libc++/include/wchar.h
deleted file mode 100644
index 353c979..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/wchar.h
+++ /dev/null
@@ -1,181 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- wchar.h ----------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#if defined(__need_wint_t) || defined(__need_mbstate_t)
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <wchar.h>
-
-#elif !defined(_LIBCPP_WCHAR_H)
-#define _LIBCPP_WCHAR_H
-
-/*
-    wchar.h synopsis
-
-Macros:
-
-    NULL
-    WCHAR_MAX
-    WCHAR_MIN
-    WEOF
-
-Types:
-
-    mbstate_t
-    size_t
-    tm
-    wint_t
-
-int fwprintf(FILE* restrict stream, const wchar_t* restrict format, ...);
-int fwscanf(FILE* restrict stream, const wchar_t* restrict format, ...);
-int swprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, ...);
-int swscanf(const wchar_t* restrict s, const wchar_t* restrict format, ...);
-int vfwprintf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);
-int vfwscanf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);  // C99
-int vswprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, va_list arg);
-int vswscanf(const wchar_t* restrict s, const wchar_t* restrict format, va_list arg);  // C99
-int vwprintf(const wchar_t* restrict format, va_list arg);
-int vwscanf(const wchar_t* restrict format, va_list arg);  // C99
-int wprintf(const wchar_t* restrict format, ...);
-int wscanf(const wchar_t* restrict format, ...);
-wint_t fgetwc(FILE* stream);
-wchar_t* fgetws(wchar_t* restrict s, int n, FILE* restrict stream);
-wint_t fputwc(wchar_t c, FILE* stream);
-int fputws(const wchar_t* restrict s, FILE* restrict stream);
-int fwide(FILE* stream, int mode);
-wint_t getwc(FILE* stream);
-wint_t getwchar();
-wint_t putwc(wchar_t c, FILE* stream);
-wint_t putwchar(wchar_t c);
-wint_t ungetwc(wint_t c, FILE* stream);
-double wcstod(const wchar_t* restrict nptr, wchar_t** restrict endptr);
-float wcstof(const wchar_t* restrict nptr, wchar_t** restrict endptr);         // C99
-long double wcstold(const wchar_t* restrict nptr, wchar_t** restrict endptr);  // C99
-long wcstol(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
-long long wcstoll(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);  // C99
-unsigned long wcstoul(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
-unsigned long long wcstoull(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);  // C99
-wchar_t* wcscpy(wchar_t* restrict s1, const wchar_t* restrict s2);
-wchar_t* wcsncpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-wchar_t* wcscat(wchar_t* restrict s1, const wchar_t* restrict s2);
-wchar_t* wcsncat(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-int wcscmp(const wchar_t* s1, const wchar_t* s2);
-int wcscoll(const wchar_t* s1, const wchar_t* s2);
-int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n);
-size_t wcsxfrm(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-const wchar_t* wcschr(const wchar_t* s, wchar_t c);
-      wchar_t* wcschr(      wchar_t* s, wchar_t c);
-size_t wcscspn(const wchar_t* s1, const wchar_t* s2);
-size_t wcslen(const wchar_t* s);
-const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2);
-      wchar_t* wcspbrk(      wchar_t* s1, const wchar_t* s2);
-const wchar_t* wcsrchr(const wchar_t* s, wchar_t c);
-      wchar_t* wcsrchr(      wchar_t* s, wchar_t c);
-size_t wcsspn(const wchar_t* s1, const wchar_t* s2);
-const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2);
-      wchar_t* wcsstr(      wchar_t* s1, const wchar_t* s2);
-wchar_t* wcstok(wchar_t* restrict s1, const wchar_t* restrict s2, wchar_t** restrict ptr);
-const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n);
-      wchar_t* wmemchr(      wchar_t* s, wchar_t c, size_t n);
-int wmemcmp(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-wchar_t* wmemcpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
-wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
-wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);
-size_t wcsftime(wchar_t* restrict s, size_t maxsize, const wchar_t* restrict format,
-                const tm* restrict timeptr);
-wint_t btowc(int c);
-int wctob(wint_t c);
-int mbsinit(const mbstate_t* ps);
-size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps);
-size_t mbrtowc(wchar_t* restrict pwc, const char* restrict s, size_t n, mbstate_t* restrict ps);
-size_t wcrtomb(char* restrict s, wchar_t wc, mbstate_t* restrict ps);
-size_t mbsrtowcs(wchar_t* restrict dst, const char** restrict src, size_t len,
-                 mbstate_t* restrict ps);
-size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
-                 mbstate_t* restrict ps);
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
-#endif
-
-#include_next <wchar.h>
-
-// Determine whether we have const-correct overloads for wcschr and friends.
-#if defined(_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_)
-#  define _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS 1
-#elif defined(__GLIBC_PREREQ)
-#  if __GLIBC_PREREQ(2, 10)
-#    define _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS 1
-#  endif
-#elif defined(_LIBCPP_MSVCRT)
-#  if defined(_CRT_CONST_CORRECT_OVERLOADS)
-#    define _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS 1
-#  endif
-#endif
-
-#if defined(__cplusplus) && !defined(_LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS) && defined(_LIBCPP_PREFERRED_OVERLOAD)
-extern "C++" {
-inline _LIBCPP_INLINE_VISIBILITY
-wchar_t* __libcpp_wcschr(const wchar_t* __s, wchar_t __c) {return (wchar_t*)wcschr(__s, __c);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const wchar_t* wcschr(const wchar_t* __s, wchar_t __c) {return __libcpp_wcschr(__s, __c);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      wchar_t* wcschr(      wchar_t* __s, wchar_t __c) {return __libcpp_wcschr(__s, __c);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-wchar_t* __libcpp_wcspbrk(const wchar_t* __s1, const wchar_t* __s2) {return (wchar_t*)wcspbrk(__s1, __s2);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const wchar_t* wcspbrk(const wchar_t* __s1, const wchar_t* __s2) {return __libcpp_wcspbrk(__s1, __s2);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      wchar_t* wcspbrk(      wchar_t* __s1, const wchar_t* __s2) {return __libcpp_wcspbrk(__s1, __s2);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-wchar_t* __libcpp_wcsrchr(const wchar_t* __s, wchar_t __c) {return (wchar_t*)wcsrchr(__s, __c);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const wchar_t* wcsrchr(const wchar_t* __s, wchar_t __c) {return __libcpp_wcsrchr(__s, __c);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      wchar_t* wcsrchr(      wchar_t* __s, wchar_t __c) {return __libcpp_wcsrchr(__s, __c);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-wchar_t* __libcpp_wcsstr(const wchar_t* __s1, const wchar_t* __s2) {return (wchar_t*)wcsstr(__s1, __s2);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const wchar_t* wcsstr(const wchar_t* __s1, const wchar_t* __s2) {return __libcpp_wcsstr(__s1, __s2);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      wchar_t* wcsstr(      wchar_t* __s1, const wchar_t* __s2) {return __libcpp_wcsstr(__s1, __s2);}
-
-inline _LIBCPP_INLINE_VISIBILITY
-wchar_t* __libcpp_wmemchr(const wchar_t* __s, wchar_t __c, size_t __n) {return (wchar_t*)wmemchr(__s, __c, __n);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-const wchar_t* wmemchr(const wchar_t* __s, wchar_t __c, size_t __n) {return __libcpp_wmemchr(__s, __c, __n);}
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
-      wchar_t* wmemchr(      wchar_t* __s, wchar_t __c, size_t __n) {return __libcpp_wmemchr(__s, __c, __n);}
-}
-#endif
-
-#if defined(__cplusplus) && defined(_LIBCPP_MSVCRT_LIKE)
-extern "C" {
-size_t mbsnrtowcs(wchar_t *__restrict dst, const char **__restrict src,
-                  size_t nmc, size_t len, mbstate_t *__restrict ps);
-size_t wcsnrtombs(char *__restrict dst, const wchar_t **__restrict src,
-                  size_t nwc, size_t len, mbstate_t *__restrict ps);
-}  // extern "C++"
-#endif  // __cplusplus && _LIBCPP_MSVCRT
-
-#endif  // _LIBCPP_WCHAR_H
diff --git a/r23/sources/cxx-stl/llvm-libc++/include/wctype.h b/r23/sources/cxx-stl/llvm-libc++/include/wctype.h
deleted file mode 100644
index bdcf372..0000000
--- a/r23/sources/cxx-stl/llvm-libc++/include/wctype.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// -*- C++ -*-
-//===--------------------------- wctype.h ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_WCTYPE_H
-#define _LIBCPP_WCTYPE_H
-
-/*
-    wctype.h synopsis
-
-Macros:
-
-    WEOF
-
-Types:
-
-    wint_t
-    wctrans_t
-    wctype_t
-
-int iswalnum(wint_t wc);
-int iswalpha(wint_t wc);
-int iswblank(wint_t wc);  // C99
-int iswcntrl(wint_t wc);
-int iswdigit(wint_t wc);
-int iswgraph(wint_t wc);
-int iswlower(wint_t wc);
-int iswprint(wint_t wc);
-int iswpunct(wint_t wc);
-int iswspace(wint_t wc);
-int iswupper(wint_t wc);
-int iswxdigit(wint_t wc);
-int iswctype(wint_t wc, wctype_t desc);
-wctype_t wctype(const char* property);
-wint_t towlower(wint_t wc);
-wint_t towupper(wint_t wc);
-wint_t towctrans(wint_t wc, wctrans_t desc);
-wctrans_t wctrans(const char* property);
-
-*/
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#pragma GCC system_header
-#endif
-
-#include_next <wctype.h>
-
-#ifdef __cplusplus
-
-#undef iswalnum
-#undef iswalpha
-#undef iswblank
-#undef iswcntrl
-#undef iswdigit
-#undef iswgraph
-#undef iswlower
-#undef iswprint
-#undef iswpunct
-#undef iswspace
-#undef iswupper
-#undef iswxdigit
-#undef iswctype
-#undef wctype
-#undef towlower
-#undef towupper
-#undef towctrans
-#undef wctrans
-
-#endif  // __cplusplus
-
-#endif  // _LIBCPP_WCTYPE_H
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/.clang-format b/r23/sources/cxx-stl/llvm-libc++abi/.clang-format
deleted file mode 100644
index 2d1d3be..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/.clang-format
+++ /dev/null
@@ -1,12 +0,0 @@
-BasedOnStyle: LLVM
-
----
-Language: Cpp
-
-AlwaysBreakTemplateDeclarations: true
-PointerAlignment: Left
-
-# Disable formatting options which may break tests.
-SortIncludes: false
-ReflowComments: false
----
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/CREDITS.TXT b/r23/sources/cxx-stl/llvm-libc++abi/CREDITS.TXT
deleted file mode 100644
index fbb6cbf..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/CREDITS.TXT
+++ /dev/null
@@ -1,71 +0,0 @@
-This file is a partial list of people who have contributed to the LLVM/libc++abi
-project.  If you have contributed a patch or made some other contribution to
-LLVM/libc++abi, please submit a patch to this file to add yourself, and it will be
-done!
-
-The list is sorted by surname and formatted to allow easy grepping and
-beautification by scripts.  The fields are: name (N), email (E), web-address
-(W), PGP key ID and fingerprint (P), description (D), and snail-mail address
-(S).
-
-N: Aaron Ballman
-E: aaron@aaronballman.com
-D: Minor patches
-
-N: Logan Chien
-E: logan.chien@mediatek.com
-D: ARM EHABI Unwind & Exception Handling
-
-N: Marshall Clow
-E: mclow.lists@gmail.com
-E: marshall@idio.com
-D: Architect and primary coauthor of libc++abi
-
-N: Matthew Dempsky
-E: matthew@dempsky.org
-D: Minor patches and bug fixes.
-
-N: Nowar Gu
-E: wenhan.gu@gmail.com
-D: Minor patches and fixes
-
-N: Howard Hinnant
-E: hhinnant@apple.com
-D: Architect and primary coauthor of libc++abi
-
-N: Dana Jansens
-E: danakj@chromium.org
-D: ARM EHABI Unwind & Exception Handling
-
-N: Nick Kledzik
-E: kledzik@apple.com
-
-N: Antoine Labour
-E: piman@chromium.org
-D: ARM EHABI Unwind & Exception Handling
-
-N: Bruce Mitchener, Jr.
-E: bruce.mitchener@gmail.com
-D: Minor typo fixes
-
-N: Andrew Morrow
-E: andrew.c.morrow@gmail.com
-D: Minor patches and fixes
-
-N: Erik Olofsson
-E: erik.olofsson@hansoft.se
-E: erik@olofsson.info
-D: Minor patches and fixes
-
-N: Jon Roelofs
-E: jroelofs@jroelofs.com
-D: ARM EHABI Unwind & Exception Handling, Bare-metal
-
-N: Nico Weber
-E: thakis@chromium.org
-D: ARM EHABI Unwind & Exception Handling
-
-N: Albert J. Wong
-E: ajwong@google.com
-D: ARM EHABI Unwind & Exception Handling
-
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/LICENSE.TXT b/r23/sources/cxx-stl/llvm-libc++abi/LICENSE.TXT
deleted file mode 100644
index b75c044..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/LICENSE.TXT
+++ /dev/null
@@ -1,311 +0,0 @@
-==============================================================================
-The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
-==============================================================================
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-    1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-    2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-    3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-    4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-    5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-    6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-    7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-    8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-    9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-    END OF TERMS AND CONDITIONS
-
-    APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-    Copyright [yyyy] [name of copyright owner]
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
-
----- LLVM Exceptions to the Apache 2.0 License ----
-
-As an exception, if, as a result of your compiling your source code, portions
-of this Software are embedded into an Object form of such source code, you
-may redistribute such embedded portions in such Object form without complying
-with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
-
-In addition, if you combine or link compiled forms of this Software with
-software that is licensed under the GPLv2 ("Combined Software") and if a
-court of competent jurisdiction determines that the patent provision (Section
-3), the indemnity provision (Section 9) or other Section of the License
-conflicts with the conditions of the GPLv2, you may retroactively and
-prospectively choose to deem waived or otherwise exclude such Section(s) of
-the License, but only in their entirety and only with respect to the Combined
-Software.
-
-==============================================================================
-Software from third parties included in the LLVM Project:
-==============================================================================
-The LLVM Project contains third party software which is under different license
-terms. All such code will be identified clearly using at least one of two
-mechanisms:
-1) It will be in a separate directory tree with its own `LICENSE.txt` or
-   `LICENSE` file at the top containing the specific license and restrictions
-   which apply to that software, or
-2) It will contain specific license and restriction terms at the top of every
-   file.
-
-==============================================================================
-Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
-==============================================================================
-
-The libc++abi library is dual licensed under both the University of Illinois
-"BSD-Like" license and the MIT license.  As a user of this code you may choose
-to use it under either license.  As a contributor, you agree to allow your code
-to be used under both.
-
-Full text of the relevant licenses is included below.
-
-==============================================================================
-
-University of Illinois/NCSA
-Open Source License
-
-Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT
-
-All rights reserved.
-
-Developed by:
-
-    LLVM Team
-
-    University of Illinois at Urbana-Champaign
-
-    http://llvm.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal with
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimers.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimers in the
-      documentation and/or other materials provided with the distribution.
-
-    * Neither the names of the LLVM Team, University of Illinois at
-      Urbana-Champaign, nor the names of its contributors may be used to
-      endorse or promote products derived from this Software without specific
-      prior written permission.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
-SOFTWARE.
-
-==============================================================================
-
-Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleCompilerRT.cmake b/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleCompilerRT.cmake
deleted file mode 100644
index 1f95327..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleCompilerRT.cmake
+++ /dev/null
@@ -1,64 +0,0 @@
-function(find_compiler_rt_library name dest)
-  if (NOT DEFINED LIBCXXABI_COMPILE_FLAGS)
-    message(FATAL_ERROR "LIBCXXABI_COMPILE_FLAGS must be defined when using this function")
-  endif()
-  set(dest "" PARENT_SCOPE)
-  set(CLANG_COMMAND ${CMAKE_CXX_COMPILER} ${LIBCXXABI_COMPILE_FLAGS}
-      "--rtlib=compiler-rt" "--print-libgcc-file-name")
-  if (CMAKE_CXX_COMPILER_ID MATCHES Clang AND CMAKE_CXX_COMPILER_TARGET)
-    list(APPEND CLANG_COMMAND "--target=${CMAKE_CXX_COMPILER_TARGET}")
-  endif()
-  get_property(LIBCXXABI_CXX_FLAGS CACHE CMAKE_CXX_FLAGS PROPERTY VALUE)
-  string(REPLACE " " ";" LIBCXXABI_CXX_FLAGS "${LIBCXXABI_CXX_FLAGS}")
-  list(APPEND CLANG_COMMAND ${LIBCXXABI_CXX_FLAGS})
-  execute_process(
-      COMMAND ${CLANG_COMMAND}
-      RESULT_VARIABLE HAD_ERROR
-      OUTPUT_VARIABLE LIBRARY_FILE
-  )
-  string(STRIP "${LIBRARY_FILE}" LIBRARY_FILE)
-  file(TO_CMAKE_PATH "${LIBRARY_FILE}" LIBRARY_FILE)
-  string(REPLACE "builtins" "${name}" LIBRARY_FILE "${LIBRARY_FILE}")
-  if (NOT HAD_ERROR AND EXISTS "${LIBRARY_FILE}")
-    message(STATUS "Found compiler-rt library: ${LIBRARY_FILE}")
-    set(${dest} "${LIBRARY_FILE}" PARENT_SCOPE)
-  else()
-    message(STATUS "Failed to find compiler-rt library")
-  endif()
-endfunction()
-
-function(find_compiler_rt_dir dest)
-  if (NOT DEFINED LIBCXXABI_COMPILE_FLAGS)
-    message(FATAL_ERROR "LIBCXXABI_COMPILE_FLAGS must be defined when using this function")
-  endif()
-  set(dest "" PARENT_SCOPE)
-  if (APPLE)
-    set(CLANG_COMMAND ${CMAKE_CXX_COMPILER} ${LIBCXXABI_COMPILE_FLAGS}
-        "-print-file-name=lib")
-    execute_process(
-        COMMAND ${CLANG_COMMAND}
-        RESULT_VARIABLE HAD_ERROR
-        OUTPUT_VARIABLE LIBRARY_DIR
-    )
-    string(STRIP "${LIBRARY_DIR}" LIBRARY_DIR)
-    file(TO_CMAKE_PATH "${LIBRARY_DIR}" LIBRARY_DIR)
-    set(LIBRARY_DIR "${LIBRARY_DIR}/darwin")
-  else()
-    set(CLANG_COMMAND ${CMAKE_CXX_COMPILER} ${LIBCXXABI_COMPILE_FLAGS}
-        "--rtlib=compiler-rt" "--print-libgcc-file-name")
-    execute_process(
-        COMMAND ${CLANG_COMMAND}
-        RESULT_VARIABLE HAD_ERROR
-        OUTPUT_VARIABLE LIBRARY_FILE
-    )
-    string(STRIP "${LIBRARY_FILE}" LIBRARY_FILE)
-    file(TO_CMAKE_PATH "${LIBRARY_FILE}" LIBRARY_FILE)
-    get_filename_component(LIBRARY_DIR "${LIBRARY_FILE}" DIRECTORY)
-  endif()
-  if (NOT HAD_ERROR AND EXISTS "${LIBRARY_DIR}")
-    message(STATUS "Found compiler-rt directory: ${LIBRARY_DIR}")
-    set(${dest} "${LIBRARY_DIR}" PARENT_SCOPE)
-  else()
-    message(STATUS "Failed to find compiler-rt directory")
-  endif()
-endfunction()
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleLibcxxabiFlags.cmake b/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleLibcxxabiFlags.cmake
deleted file mode 100644
index 19d6e93..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleLibcxxabiFlags.cmake
+++ /dev/null
@@ -1,231 +0,0 @@
-# HandleLibcxxFlags - A set of macros used to setup the flags used to compile
-# and link libc++abi. These macros add flags to the following CMake variables.
-# - LIBCXXABI_COMPILE_FLAGS: flags used to compile libc++abi
-# - LIBCXXABI_LINK_FLAGS: flags used to link libc++abi
-# - LIBCXXABI_LIBRARIES: libraries to link libc++abi to.
-
-include(CheckCXXCompilerFlag)
-
-unset(add_flag_if_supported)
-
-# Mangle the name of a compiler flag into a valid CMake identifier.
-# Ex: --std=c++11 -> STD_EQ_CXX11
-macro(mangle_name str output)
-  string(STRIP "${str}" strippedStr)
-  string(REGEX REPLACE "^/" "" strippedStr "${strippedStr}")
-  string(REGEX REPLACE "^-+" "" strippedStr "${strippedStr}")
-  string(REGEX REPLACE "-+$" "" strippedStr "${strippedStr}")
-  string(REPLACE "-" "_" strippedStr "${strippedStr}")
-  string(REPLACE "=" "_EQ_" strippedStr "${strippedStr}")
-  string(REPLACE "+" "X" strippedStr "${strippedStr}")
-  string(TOUPPER "${strippedStr}" ${output})
-endmacro()
-
-# Remove a list of flags from all CMake variables that affect compile flags.
-# This can be used to remove unwanted flags specified on the command line
-# or added in other parts of LLVM's cmake configuration.
-macro(remove_flags)
-  foreach(var ${ARGN})
-    string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
-    string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
-    string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
-    string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
-    string(REPLACE "${var}" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-    string(REPLACE "${var}" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
-    string(REPLACE "${var}" "" CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
-    string(REPLACE "${var}" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-    string(REPLACE "${var}" "" CMAKE_SHARED_MODULE_FLAGS "${CMAKE_SHARED_MODULE_FLAGS}")
-    remove_definitions(${var})
-  endforeach()
-endmacro(remove_flags)
-
-macro(check_flag_supported flag)
-    mangle_name("${flag}" flagname)
-    check_cxx_compiler_flag("${flag}" "LIBCXXABI_SUPPORTS_${flagname}_FLAG")
-endmacro()
-
-macro(append_flags DEST)
-  foreach(value ${ARGN})
-    list(APPEND ${DEST} ${value})
-    list(APPEND ${DEST} ${value})
-  endforeach()
-endmacro()
-
-# If the specified 'condition' is true then append the specified list of flags to DEST
-macro(append_flags_if condition DEST)
-  if (${condition})
-    list(APPEND ${DEST} ${ARGN})
-  endif()
-endmacro()
-
-# Add each flag in the list specified by DEST if that flag is supported by the current compiler.
-macro(append_flags_if_supported DEST)
-  foreach(flag ${ARGN})
-    mangle_name("${flag}" flagname)
-    check_cxx_compiler_flag("${flag}" "LIBCXXABI_SUPPORTS_${flagname}_FLAG")
-    append_flags_if(LIBCXXABI_SUPPORTS_${flagname}_FLAG ${DEST} ${flag})
-  endforeach()
-endmacro()
-
-# Add a macro definition if condition is true.
-macro(define_if condition def)
-  if (${condition})
-    add_definitions(${def})
-  endif()
-endmacro()
-
-# Add a macro definition if condition is not true.
-macro(define_if_not condition def)
-  if (NOT ${condition})
-    add_definitions(${def})
-  endif()
-endmacro()
-
-# Add a macro definition to the __config_site file if the specified condition
-# is 'true'. Note that '-D${def}' is not added. Instead it is expected that
-# the build include the '__config_site' header.
-macro(config_define_if condition def)
-  if (${condition})
-    set(${def} ON)
-    set(LIBCXXABI_NEEDS_SITE_CONFIG ON)
-  endif()
-endmacro()
-
-macro(config_define_if_not condition def)
-  if (NOT ${condition})
-    set(${def} ON)
-    set(LIBCXXABI_NEEDS_SITE_CONFIG ON)
-  endif()
-endmacro()
-
-macro(config_define value def)
-  set(${def} ${value})
-  set(LIBCXXABI_NEEDS_SITE_CONFIG ON)
-endmacro()
-
-# Add a list of flags to all of 'CMAKE_CXX_FLAGS', 'CMAKE_C_FLAGS',
-# 'LIBCXXABI_COMPILE_FLAGS' and 'LIBCXXABI_LINK_FLAGS'.
-macro(add_target_flags)
-  foreach(value ${ARGN})
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${value}")
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${value}")
-    list(APPEND LIBCXXABI_COMPILE_FLAGS ${value})
-    list(APPEND LIBCXXABI_LINK_FLAGS ${value})
-  endforeach()
-endmacro()
-
-# If the specified 'condition' is true then add a list of flags to
-# all of 'CMAKE_CXX_FLAGS', 'CMAKE_C_FLAGS', 'LIBCXXABI_COMPILE_FLAGS'
-# and 'LIBCXXABI_LINK_FLAGS'.
-macro(add_target_flags_if condition)
-  if (${condition})
-    add_target_flags(${ARGN})
-  endif()
-endmacro()
-
-# Add a specified list of flags to both 'LIBCXXABI_COMPILE_FLAGS' and
-# 'LIBCXXABI_LINK_FLAGS'.
-macro(add_flags)
-  foreach(value ${ARGN})
-    list(APPEND LIBCXXABI_COMPILE_FLAGS ${value})
-    list(APPEND LIBCXXABI_LINK_FLAGS ${value})
-  endforeach()
-endmacro()
-
-# If the specified 'condition' is true then add a list of flags to both
-# 'LIBCXXABI_COMPILE_FLAGS' and 'LIBCXXABI_LINK_FLAGS'.
-macro(add_flags_if condition)
-  if (${condition})
-    add_flags(${ARGN})
-  endif()
-endmacro()
-
-# Add each flag in the list to LIBCXXABI_COMPILE_FLAGS and LIBCXXABI_LINK_FLAGS
-# if that flag is supported by the current compiler.
-macro(add_flags_if_supported)
-  foreach(flag ${ARGN})
-      mangle_name("${flag}" flagname)
-      check_cxx_compiler_flag("${flag}" "LIBCXXABI_SUPPORTS_${flagname}_FLAG")
-      add_flags_if(LIBCXXABI_SUPPORTS_${flagname}_FLAG ${flag})
-  endforeach()
-endmacro()
-
-# Add a list of flags to 'LIBCXXABI_COMPILE_FLAGS'.
-macro(add_compile_flags)
-  foreach(f ${ARGN})
-    list(APPEND LIBCXXABI_COMPILE_FLAGS ${f})
-  endforeach()
-endmacro()
-
-# If 'condition' is true then add the specified list of flags to
-# 'LIBCXXABI_COMPILE_FLAGS'
-macro(add_compile_flags_if condition)
-  if (${condition})
-    add_compile_flags(${ARGN})
-  endif()
-endmacro()
-
-# For each specified flag, add that flag to 'LIBCXXABI_COMPILE_FLAGS' if the
-# flag is supported by the C++ compiler.
-macro(add_compile_flags_if_supported)
-  foreach(flag ${ARGN})
-      mangle_name("${flag}" flagname)
-      check_cxx_compiler_flag("${flag}" "LIBCXXABI_SUPPORTS_${flagname}_FLAG")
-      add_compile_flags_if(LIBCXXABI_SUPPORTS_${flagname}_FLAG ${flag})
-  endforeach()
-endmacro()
-
-# For each specified flag, add that flag to 'LIBCXXABI_COMPILE_FLAGS' if the
-# flag is supported by the C compiler.
-macro(add_c_compile_flags_if_supported)
-  foreach(flag ${ARGN})
-      mangle_name("${flag}" flagname)
-      check_c_compiler_flag("${flag}" "LIBCXXABI_SUPPORTS_${flagname}_FLAG")
-      add_compile_flags_if(LIBCXXABI_SUPPORTS_${flagname}_FLAG ${flag})
-  endforeach()
-endmacro()
-
-# Add a list of flags to 'LIBCXXABI_LINK_FLAGS'.
-macro(add_link_flags)
-  foreach(f ${ARGN})
-    list(APPEND LIBCXXABI_LINK_FLAGS ${f})
-  endforeach()
-endmacro()
-
-# If 'condition' is true then add the specified list of flags to
-# 'LIBCXXABI_LINK_FLAGS'
-macro(add_link_flags_if condition)
-  if (${condition})
-    add_link_flags(${ARGN})
-  endif()
-endmacro()
-
-# For each specified flag, add that flag to 'LIBCXXABI_LINK_FLAGS' if the
-# flag is supported by the C++ compiler.
-macro(add_link_flags_if_supported)
-  foreach(flag ${ARGN})
-    mangle_name("${flag}" flagname)
-    check_cxx_compiler_flag("${flag}" "LIBCXXABI_SUPPORTS_${flagname}_FLAG")
-    add_link_flags_if(LIBCXXABI_SUPPORTS_${flagname}_FLAG ${flag})
-  endforeach()
-endmacro()
-
-# Add a list of libraries or link flags to 'LIBCXXABI_LIBRARIES'.
-macro(add_library_flags)
-  foreach(lib ${ARGN})
-    list(APPEND LIBCXXABI_LIBRARIES ${lib})
-  endforeach()
-endmacro()
-
-# if 'condition' is true then add the specified list of libraries and flags
-# to 'LIBCXXABI_LIBRARIES'.
-macro(add_library_flags_if condition)
-  if(${condition})
-    add_library_flags(${ARGN})
-  endif()
-endmacro()
-
-# Turn a comma separated CMake list into a space separated string.
-macro(split_list listname)
-  string(REPLACE ";" " " ${listname} "${${listname}}")
-endmacro()
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleOutOfTreeLLVM.cmake b/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleOutOfTreeLLVM.cmake
deleted file mode 100644
index c43308e..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/HandleOutOfTreeLLVM.cmake
+++ /dev/null
@@ -1,142 +0,0 @@
-macro(find_llvm_parts)
-# Rely on llvm-config.
-  set(CONFIG_OUTPUT)
-  if(NOT LLVM_CONFIG_PATH)
-    find_program(LLVM_CONFIG_PATH "llvm-config")
-  endif()
-  if(DEFINED LLVM_PATH)
-    set(LLVM_INCLUDE_DIR ${LLVM_INCLUDE_DIR} CACHE PATH "Path to llvm/include")
-    set(LLVM_PATH ${LLVM_PATH} CACHE PATH "Path to LLVM source tree")
-    set(LLVM_MAIN_SRC_DIR ${LLVM_PATH})
-    set(LLVM_CMAKE_PATH "${LLVM_PATH}/cmake/modules")
-    if (NOT IS_DIRECTORY "${LLVM_PATH}")
-      message(FATAL_ERROR "The provided LLVM_PATH (${LLVM_PATH}) is not a valid directory")
-    endif()
-  elseif(LLVM_CONFIG_PATH)
-    message(STATUS "Found LLVM_CONFIG_PATH as ${LLVM_CONFIG_PATH}")
-    set(LIBCXXABI_USING_INSTALLED_LLVM 1)
-    set(CONFIG_COMMAND ${LLVM_CONFIG_PATH}
-      "--includedir"
-      "--prefix"
-      "--src-root")
-    execute_process(
-      COMMAND ${CONFIG_COMMAND}
-      RESULT_VARIABLE HAD_ERROR
-      OUTPUT_VARIABLE CONFIG_OUTPUT
-    )
-    if(NOT HAD_ERROR)
-      string(REGEX REPLACE
-        "[ \t]*[\r\n]+[ \t]*" ";"
-        CONFIG_OUTPUT ${CONFIG_OUTPUT})
-    else()
-      string(REPLACE ";" " " CONFIG_COMMAND_STR "${CONFIG_COMMAND}")
-      message(STATUS "${CONFIG_COMMAND_STR}")
-      message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}")
-    endif()
-
-    list(GET CONFIG_OUTPUT 0 INCLUDE_DIR)
-    list(GET CONFIG_OUTPUT 1 LLVM_OBJ_ROOT)
-    list(GET CONFIG_OUTPUT 2 MAIN_SRC_DIR)
-
-    set(LLVM_INCLUDE_DIR ${INCLUDE_DIR} CACHE PATH "Path to llvm/include")
-    set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
-    set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
-
-    # --cmakedir is supported since llvm r291218 (4.0 release)
-    execute_process(
-      COMMAND ${LLVM_CONFIG_PATH} --cmakedir
-      RESULT_VARIABLE HAD_ERROR
-      OUTPUT_VARIABLE CONFIG_OUTPUT
-      ERROR_QUIET)
-    if(NOT HAD_ERROR)
-      string(STRIP "${CONFIG_OUTPUT}" LLVM_CMAKE_PATH_FROM_LLVM_CONFIG)
-      file(TO_CMAKE_PATH "${LLVM_CMAKE_PATH_FROM_LLVM_CONFIG}" LLVM_CMAKE_PATH)
-    else()
-      file(TO_CMAKE_PATH "${LLVM_BINARY_DIR}" LLVM_BINARY_DIR_CMAKE_STYLE)
-      set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR_CMAKE_STYLE}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
-    endif()
-  else()
-    set(LLVM_FOUND OFF)
-    message(WARNING "UNSUPPORTED LIBCXXABI CONFIGURATION DETECTED: "
-                    "llvm-config not found and LLVM_PATH not defined.\n"
-                    "Reconfigure with -DLLVM_CONFIG_PATH=path/to/llvm-config "
-                    "or -DLLVM_PATH=path/to/llvm-source-root.")
-    return()
-  endif()
-
-  if (EXISTS "${LLVM_CMAKE_PATH}")
-    list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
-  elseif (EXISTS "${LLVM_MAIN_SRC_DIR}/cmake/modules")
-    list(APPEND CMAKE_MODULE_PATH "${LLVM_MAIN_SRC_DIR}/cmake/modules")
-  else()
-    set(LLVM_FOUND OFF)
-    message(WARNING "Neither ${LLVM_CMAKE_PATH} nor ${LLVM_MAIN_SRC_DIR}/cmake/modules found")
-    return()
-  endif()
-
-  set(LLVM_FOUND ON)
-endmacro(find_llvm_parts)
-
-macro(configure_out_of_tree_llvm)
-  message(STATUS "Configuring for standalone build.")
-  set(LIBCXXABI_STANDALONE_BUILD 1)
-
-  find_llvm_parts()
-
-  # Add LLVM Functions --------------------------------------------------------
-  if (LLVM_FOUND AND LIBCXXABI_USING_INSTALLED_LLVM)
-    include(LLVMConfig) # For TARGET_TRIPLE
-  else()
-    if (WIN32)
-      set(LLVM_ON_UNIX 0)
-      set(LLVM_ON_WIN32 1)
-    else()
-      set(LLVM_ON_UNIX 1)
-      set(LLVM_ON_WIN32 0)
-    endif()
-  endif()
-  if (LLVM_FOUND)
-    include(AddLLVM OPTIONAL)
-  endif()
-
-  # LLVM Options --------------------------------------------------------------
-  if (NOT DEFINED LLVM_INCLUDE_TESTS)
-    set(LLVM_INCLUDE_TESTS ${LLVM_FOUND})
-  endif()
-  if (NOT DEFINED LLVM_INCLUDE_DOCS)
-    set(LLVM_INCLUDE_DOCS ${LLVM_FOUND})
-  endif()
-  if (NOT DEFINED LLVM_ENABLE_SPHINX)
-    set(LLVM_ENABLE_SPHINX OFF)
-  endif()
-
-  # In a standalone build, we don't have llvm to automatically generate the
-  # llvm-lit script for us.  So we need to provide an explicit directory that
-  # the configurator should write the script into.
-  set(LLVM_LIT_OUTPUT_DIR "${libcxxabi_BINARY_DIR}/bin")
-
-  if (LLVM_INCLUDE_TESTS)
-    # Required LIT Configuration ------------------------------------------------
-    # Define the default arguments to use with 'lit', and an option for the user
-    # to override.
-    set(LLVM_DEFAULT_EXTERNAL_LIT "${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py")
-    set(LIT_ARGS_DEFAULT "-sv --show-xfail --show-unsupported")
-    if (MSVC OR XCODE)
-      set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar")
-    endif()
-    set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}" CACHE STRING "Default options for lit")
-  endif()
-
-  # Required doc configuration
-  if (LLVM_ENABLE_SPHINX)
-    find_package(Sphinx REQUIRED)
-  endif()
-
-  if (LLVM_ON_UNIX AND NOT APPLE)
-    set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
-  else()
-    set(LLVM_HAVE_LINK_VERSION_SCRIPT 0)
-  endif()
-endmacro(configure_out_of_tree_llvm)
-
-configure_out_of_tree_llvm()
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake b/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake
deleted file mode 100644
index e75002b..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-# MACRO_ENSURE_OUT_OF_SOURCE_BUILD(<errorMessage>)
-
-macro( MACRO_ENSURE_OUT_OF_SOURCE_BUILD _errorMessage )
-
-string( COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" _insource )
-if( _insource )
- message( SEND_ERROR "${_errorMessage}" )
- message( FATAL_ERROR
- "In-source builds are not allowed.
- CMake would overwrite the makefiles distributed with libcxxabi.
- Please create a directory and run cmake from there, passing the path
- to this source directory as the last argument.
- This process created the file `CMakeCache.txt' and the directory `CMakeFiles'.
- Please delete them."
- )
-endif( _insource )
-
-endmacro( MACRO_ENSURE_OUT_OF_SOURCE_BUILD )
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/fuzz/CMakeLists.txt b/r23/sources/cxx-stl/llvm-libc++abi/fuzz/CMakeLists.txt
deleted file mode 100644
index 017427e..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/fuzz/CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-# See http://llvm.org/docs/LibFuzzer.html
-if( LLVM_USE_SANITIZE_COVERAGE )
-  add_executable(cxa_demangle_fuzzer
-    cxa_demangle_fuzzer.cpp
-    ../src/cxa_demangle.cpp
-    )
-
-  target_link_libraries(cxa_demangle_fuzzer
-    LLVMFuzzer
-    )
-endif()
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/fuzz/cxa_demangle_fuzzer.cpp b/r23/sources/cxx-stl/llvm-libc++abi/fuzz/cxa_demangle_fuzzer.cpp
deleted file mode 100644
index cc9b193..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/fuzz/cxa_demangle_fuzzer.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdint.h>
-#include <stddef.h>
-#include <string.h>
-#include <stdlib.h>
-extern "C" char *
-__cxa_demangle(const char *mangled_name, char *buf, size_t *n, int *status);
-
-extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
-  char *str = new char[size+1];
-  memcpy(str, data, size);
-  str[size] = 0;
-  free(__cxa_demangle(str, 0, 0, 0));
-  delete [] str;
-  return 0;
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/include/__cxxabi_config.h b/r23/sources/cxx-stl/llvm-libc++abi/include/__cxxabi_config.h
deleted file mode 100644
index cbbb1c1..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/include/__cxxabi_config.h
+++ /dev/null
@@ -1,79 +0,0 @@
-//===-------------------------- __cxxabi_config.h -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef ____CXXABI_CONFIG_H
-#define ____CXXABI_CONFIG_H
-
-#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) &&                 \
-    !defined(__ARM_DWARF_EH__)
-#define _LIBCXXABI_ARM_EHABI
-#endif
-
-#if !defined(__has_attribute)
-#define __has_attribute(_attribute_) 0
-#endif
-
-#if defined(_WIN32)
- #if defined(_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS)
-  #define _LIBCXXABI_HIDDEN
-  #define _LIBCXXABI_DATA_VIS
-  #define _LIBCXXABI_FUNC_VIS
-  #define _LIBCXXABI_TYPE_VIS
- #elif defined(_LIBCXXABI_BUILDING_LIBRARY)
-  #define _LIBCXXABI_HIDDEN
-  #define _LIBCXXABI_DATA_VIS __declspec(dllexport)
-  #define _LIBCXXABI_FUNC_VIS __declspec(dllexport)
-  #define _LIBCXXABI_TYPE_VIS __declspec(dllexport)
- #else
-  #define _LIBCXXABI_HIDDEN
-  #define _LIBCXXABI_DATA_VIS __declspec(dllimport)
-  #define _LIBCXXABI_FUNC_VIS __declspec(dllimport)
-  #define _LIBCXXABI_TYPE_VIS __declspec(dllimport)
- #endif
-#else
- #if !defined(_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS)
-  #define _LIBCXXABI_HIDDEN __attribute__((__visibility__("hidden")))
-  #define _LIBCXXABI_DATA_VIS __attribute__((__visibility__("default")))
-  #define _LIBCXXABI_FUNC_VIS __attribute__((__visibility__("default")))
-  #if __has_attribute(__type_visibility__)
-   #define _LIBCXXABI_TYPE_VIS __attribute__((__type_visibility__("default")))
-  #else
-   #define _LIBCXXABI_TYPE_VIS __attribute__((__visibility__("default")))
-  #endif
- #else
-  #define _LIBCXXABI_HIDDEN
-  #define _LIBCXXABI_DATA_VIS
-  #define _LIBCXXABI_FUNC_VIS
-  #define _LIBCXXABI_TYPE_VIS
- #endif
-#endif
-
-#if defined(_WIN32)
-#define _LIBCXXABI_WEAK
-#else
-#define _LIBCXXABI_WEAK __attribute__((__weak__))
-#endif
-
-#if defined(__clang__)
-#define _LIBCXXABI_COMPILER_CLANG
-#elif defined(__GNUC__)
-#define _LIBCXXABI_COMPILER_GCC
-#endif
-
-#if __has_attribute(__no_sanitize__) && defined(_LIBCXXABI_COMPILER_CLANG)
-#define _LIBCXXABI_NO_CFI __attribute__((__no_sanitize__("cfi")))
-#else
-#define _LIBCXXABI_NO_CFI
-#endif
-
-// wasm32 follows the arm32 ABI convention of using 32-bit guard.
-#if defined(__arm__) || defined(__wasm32__)
-#  define _LIBCXXABI_GUARD_ABI_ARM
-#endif
-
-#endif // ____CXXABI_CONFIG_H
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/lib/new-delete.exp b/r23/sources/cxx-stl/llvm-libc++abi/lib/new-delete.exp
deleted file mode 100644
index 086d2fe..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/lib/new-delete.exp
+++ /dev/null
@@ -1,20 +0,0 @@
-__Znwm
-__ZnwmRKSt9nothrow_t
-__ZnwmSt11align_val_t
-__ZnwmSt11align_val_tRKSt9nothrow_t
-__ZdaPv
-__ZdaPvm
-__ZdaPvmSt11align_val_t
-__ZdaPvRKSt9nothrow_t
-__ZdaPvSt11align_val_t
-__ZdaPvSt11align_val_tRKSt9nothrow_t
-__ZdlPv
-__ZdlPvm
-__ZdlPvmSt11align_val_t
-__ZdlPvRKSt9nothrow_t
-__ZdlPvSt11align_val_t
-__ZdlPvSt11align_val_tRKSt9nothrow_t
-__Znam
-__ZnamRKSt9nothrow_t
-__ZnamSt11align_val_t
-__ZnamSt11align_val_tRKSt9nothrow_t
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/lib/personality-sjlj.exp b/r23/sources/cxx-stl/llvm-libc++abi/lib/personality-sjlj.exp
deleted file mode 100644
index be0bfac..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/lib/personality-sjlj.exp
+++ /dev/null
@@ -1 +0,0 @@
-___gxx_personality_sj0
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/lib/personality-v0.exp b/r23/sources/cxx-stl/llvm-libc++abi/lib/personality-v0.exp
deleted file mode 100644
index 610e4e3..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/lib/personality-v0.exp
+++ /dev/null
@@ -1 +0,0 @@
-___gxx_personality_v0
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/abort_message.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/abort_message.cpp
deleted file mode 100644
index d556af1..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/abort_message.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//===------------------------- abort_message.cpp --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include "abort_message.h"
-
-#ifdef __BIONIC__
-#include <android/api-level.h>
-#if __ANDROID_API__ >= 21
-#include <syslog.h>
-extern "C" void android_set_abort_message(const char* msg);
-#else
-#include <assert.h>
-#endif // __ANDROID_API__ >= 21
-#endif // __BIONIC__
-
-#ifdef __APPLE__
-#   if defined(__has_include) && __has_include(<CrashReporterClient.h>)
-#       define HAVE_CRASHREPORTERCLIENT_H
-#       include <CrashReporterClient.h>
-#   endif
-#endif
-
-void abort_message(const char* format, ...)
-{
-    // write message to stderr
-#if !defined(NDEBUG) || !defined(LIBCXXABI_BAREMETAL)
-#ifdef __APPLE__
-    fprintf(stderr, "libc++abi.dylib: ");
-#endif
-    va_list list;
-    va_start(list, format);
-    vfprintf(stderr, format, list);
-    va_end(list);
-    fprintf(stderr, "\n");
-#endif
-
-#if defined(__APPLE__) && defined(HAVE_CRASHREPORTERCLIENT_H)
-    // record message in crash report
-    char* buffer;
-    va_list list2;
-    va_start(list2, format);
-    vasprintf(&buffer, format, list2);
-    va_end(list2);
-    CRSetCrashLogMessage(buffer);
-#elif defined(__BIONIC__)
-    char* buffer;
-    va_list list2;
-    va_start(list2, format);
-    vasprintf(&buffer, format, list2);
-    va_end(list2);
-
-#if __ANDROID_API__ >= 21
-    // Show error in tombstone.
-    android_set_abort_message(buffer);
-
-    // Show error in logcat.
-    openlog("libc++abi", 0, 0);
-    syslog(LOG_CRIT, "%s", buffer);
-    closelog();
-#else
-    // The good error reporting wasn't available in Android until L. Since we're
-    // about to abort anyway, just call __assert2, which will log _somewhere_
-    // (tombstone and/or logcat) in older releases.
-    __assert2(__FILE__, __LINE__, __func__, buffer);
-#endif // __ANDROID_API__ >= 21
-#endif // __BIONIC__
-
-    abort();
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_aux_runtime.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_aux_runtime.cpp
deleted file mode 100644
index 0ed1a72..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_aux_runtime.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//===------------------------ cxa_aux_runtime.cpp -------------------------===//
-//
-// 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
-//
-//
-// This file implements the "Auxiliary Runtime APIs"
-// https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html#cxx-aux
-//===----------------------------------------------------------------------===//
-
-#include "cxxabi.h"
-#include <new>
-#include <typeinfo>
-
-namespace __cxxabiv1 {
-extern "C" {
-_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_bad_cast(void) {
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-  throw std::bad_cast();
-#else
-  std::terminate();
-#endif
-}
-
-_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_bad_typeid(void) {
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-  throw std::bad_typeid();
-#else
-  std::terminate();
-#endif
-}
-
-_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void
-__cxa_throw_bad_array_new_length(void) {
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-  throw std::bad_array_new_length();
-#else
-  std::terminate();
-#endif
-}
-} // extern "C"
-} // abi
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_guard.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_guard.cpp
deleted file mode 100644
index 5d1cf23..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_guard.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//===---------------------------- cxa_guard.cpp ---------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "__cxxabi_config.h"
-#include "cxxabi.h"
-
-// Tell the implementation that we're building the actual implementation
-// (and not testing it)
-#define BUILDING_CXA_GUARD
-#include "cxa_guard_impl.h"
-
-/*
-    This implementation must be careful to not call code external to this file
-    which will turn around and try to call __cxa_guard_acquire reentrantly.
-    For this reason, the headers of this file are as restricted as possible.
-    Previous implementations of this code for __APPLE__ have used
-    std::__libcpp_mutex_lock and the abort_message utility without problem. This
-    implementation also uses std::__libcpp_condvar_wait which has tested
-    to not be a problem.
-*/
-
-namespace __cxxabiv1 {
-
-#if defined(_LIBCXXABI_GUARD_ABI_ARM)
-using guard_type = uint32_t;
-#else
-using guard_type = uint64_t;
-#endif
-
-extern "C"
-{
-_LIBCXXABI_FUNC_VIS int __cxa_guard_acquire(guard_type* raw_guard_object) {
-  SelectedImplementation imp(raw_guard_object);
-  return static_cast<int>(imp.cxa_guard_acquire());
-}
-
-_LIBCXXABI_FUNC_VIS void __cxa_guard_release(guard_type *raw_guard_object) {
-  SelectedImplementation imp(raw_guard_object);
-  imp.cxa_guard_release();
-}
-
-_LIBCXXABI_FUNC_VIS void __cxa_guard_abort(guard_type *raw_guard_object) {
-  SelectedImplementation imp(raw_guard_object);
-  imp.cxa_guard_abort();
-}
-}  // extern "C"
-
-}  // __cxxabiv1
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.cpp
deleted file mode 100644
index f520a4d..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_handlers.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-//===------------------------- cxa_handlers.cpp ---------------------------===//
-//
-// 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
-//
-//
-// This file implements the functionality associated with the terminate_handler,
-//   unexpected_handler, and new_handler.
-//===----------------------------------------------------------------------===//
-
-#include <stdexcept>
-#include <new>
-#include <exception>
-#include "abort_message.h"
-#include "cxxabi.h"
-#include "cxa_handlers.h"
-#include "cxa_exception.h"
-#include "private_typeinfo.h"
-#include "include/atomic_support.h"
-
-namespace std
-{
-
-unexpected_handler
-get_unexpected() _NOEXCEPT
-{
-    return __libcpp_atomic_load(&__cxa_unexpected_handler, _AO_Acquire);
-}
-
-void
-__unexpected(unexpected_handler func)
-{
-    func();
-    // unexpected handler should not return
-    abort_message("unexpected_handler unexpectedly returned");
-}
-
-__attribute__((noreturn))
-void
-unexpected()
-{
-    __unexpected(get_unexpected());
-}
-
-terminate_handler
-get_terminate() _NOEXCEPT
-{
-    return __libcpp_atomic_load(&__cxa_terminate_handler, _AO_Acquire);
-}
-
-void
-__terminate(terminate_handler func) _NOEXCEPT
-{
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-        func();
-        // handler should not return
-        abort_message("terminate_handler unexpectedly returned");
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-        // handler should not throw exception
-        abort_message("terminate_handler unexpectedly threw an exception");
-    }
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-}
-
-__attribute__((noreturn))
-void
-terminate() _NOEXCEPT
-{
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    // If there might be an uncaught exception
-    using namespace __cxxabiv1;
-    __cxa_eh_globals* globals = __cxa_get_globals_fast();
-    if (globals)
-    {
-        __cxa_exception* exception_header = globals->caughtExceptions;
-        if (exception_header)
-        {
-            _Unwind_Exception* unwind_exception =
-                reinterpret_cast<_Unwind_Exception*>(exception_header + 1) - 1;
-            if (__isOurExceptionClass(unwind_exception))
-                __terminate(exception_header->terminateHandler);
-        }
-    }
-#endif
-    __terminate(get_terminate());
-}
-
-extern "C" {
-new_handler __cxa_new_handler = 0;
-}
-
-new_handler
-set_new_handler(new_handler handler) _NOEXCEPT
-{
-    return __libcpp_atomic_exchange(&__cxa_new_handler, handler, _AO_Acq_Rel);
-}
-
-new_handler
-get_new_handler() _NOEXCEPT
-{
-    return __libcpp_atomic_load(&__cxa_new_handler, _AO_Acquire);
-}
-
-}  // std
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_unexpected.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_unexpected.cpp
deleted file mode 100644
index bbfa668..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_unexpected.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//===------------------------- cxa_unexpected.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <exception>
-#include "cxxabi.h"
-#include "cxa_exception.h"
-
-namespace __cxxabiv1
-{
-
-extern "C"
-{
-
-}
-
-}  // namespace __cxxabiv1
-
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_virtual.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_virtual.cpp
deleted file mode 100644
index 9214c1f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/cxa_virtual.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//===-------------------------- cxa_virtual.cpp ---------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "cxxabi.h"
-#include "abort_message.h"
-
-namespace __cxxabiv1 {
-extern "C" {
-_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN
-void __cxa_pure_virtual(void) {
-  abort_message("Pure virtual function called!");
-}
-
-_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN
-void __cxa_deleted_virtual(void) {
-  abort_message("Deleted virtual function called!");
-}
-} // extern "C"
-} // abi
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/.clang-format b/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/.clang-format
deleted file mode 100644
index 5bead5f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/.clang-format
+++ /dev/null
@@ -1,2 +0,0 @@
-BasedOnStyle: LLVM
-
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/DemangleConfig.h b/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/DemangleConfig.h
deleted file mode 100644
index 9d81853..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/DemangleConfig.h
+++ /dev/null
@@ -1,97 +0,0 @@
-//===--- DemangleConfig.h --------------------------------------*- 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
-//
-// This file is contains a subset of macros copied from
-// llvm/include/llvm/Demangle/DemangleConfig.h
-//===----------------------------------------------------------------------===//
-
-#ifndef LIBCXXABI_DEMANGLE_DEMANGLE_CONFIG_H
-#define LIBCXXABI_DEMANGLE_DEMANGLE_CONFIG_H
-
-#include <ciso646>
-
-#ifdef _MSC_VER
-// snprintf is implemented in VS 2015
-#if _MSC_VER < 1900
-#define snprintf _snprintf_s
-#endif
-#endif
-
-#ifndef __has_feature
-#define __has_feature(x) 0
-#endif
-
-#ifndef __has_cpp_attribute
-#define __has_cpp_attribute(x) 0
-#endif
-
-#ifndef __has_attribute
-#define __has_attribute(x) 0
-#endif
-
-#ifndef __has_builtin
-#define __has_builtin(x) 0
-#endif
-
-#ifndef DEMANGLE_GNUC_PREREQ
-#if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
-#define DEMANGLE_GNUC_PREREQ(maj, min, patch)                           \
-  ((__GNUC__ << 20) + (__GNUC_MINOR__ << 10) + __GNUC_PATCHLEVEL__ >=          \
-   ((maj) << 20) + ((min) << 10) + (patch))
-#elif defined(__GNUC__) && defined(__GNUC_MINOR__)
-#define DEMANGLE_GNUC_PREREQ(maj, min, patch)                           \
-  ((__GNUC__ << 20) + (__GNUC_MINOR__ << 10) >= ((maj) << 20) + ((min) << 10))
-#else
-#define DEMANGLE_GNUC_PREREQ(maj, min, patch) 0
-#endif
-#endif
-
-#if __has_attribute(used) || DEMANGLE_GNUC_PREREQ(3, 1, 0)
-#define DEMANGLE_ATTRIBUTE_USED __attribute__((__used__))
-#else
-#define DEMANGLE_ATTRIBUTE_USED
-#endif
-
-#if __has_builtin(__builtin_unreachable) || DEMANGLE_GNUC_PREREQ(4, 5, 0)
-#define DEMANGLE_UNREACHABLE __builtin_unreachable()
-#elif defined(_MSC_VER)
-#define DEMANGLE_UNREACHABLE __assume(false)
-#else
-#define DEMANGLE_UNREACHABLE
-#endif
-
-#if __has_attribute(noinline) || DEMANGLE_GNUC_PREREQ(3, 4, 0)
-#define DEMANGLE_ATTRIBUTE_NOINLINE __attribute__((noinline))
-#elif defined(_MSC_VER)
-#define DEMANGLE_ATTRIBUTE_NOINLINE __declspec(noinline)
-#else
-#define DEMANGLE_ATTRIBUTE_NOINLINE
-#endif
-
-#if !defined(NDEBUG)
-#define DEMANGLE_DUMP_METHOD DEMANGLE_ATTRIBUTE_NOINLINE DEMANGLE_ATTRIBUTE_USED
-#else
-#define DEMANGLE_DUMP_METHOD DEMANGLE_ATTRIBUTE_NOINLINE
-#endif
-
-#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
-#define DEMANGLE_FALLTHROUGH [[fallthrough]]
-#elif __has_cpp_attribute(gnu::fallthrough)
-#define DEMANGLE_FALLTHROUGH [[gnu::fallthrough]]
-#elif !__cplusplus
-// Workaround for llvm.org/PR23435, since clang 3.6 and below emit a spurious
-// error when __has_cpp_attribute is given a scoped attribute in C mode.
-#define DEMANGLE_FALLTHROUGH
-#elif __has_cpp_attribute(clang::fallthrough)
-#define DEMANGLE_FALLTHROUGH [[clang::fallthrough]]
-#else
-#define DEMANGLE_FALLTHROUGH
-#endif
-
-#define DEMANGLE_NAMESPACE_BEGIN namespace { namespace itanium_demangle {
-#define DEMANGLE_NAMESPACE_END } }
-
-#endif // LIBCXXABI_DEMANGLE_DEMANGLE_CONFIG_H
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/README.txt b/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/README.txt
deleted file mode 100644
index 514ff6d..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/README.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-Itanium Name Demangler Library
-==============================
-
-Introduction
-------------
-
-This directory contains the generic itanium name demangler library. The main
-purpose of the library is to demangle C++ symbols, i.e. convert the string
-"_Z1fv" into "f()". You can also use the CRTP base ManglingParser to perform
-some simple analysis on the mangled name, or (in LLVM) use the opaque
-ItaniumPartialDemangler to query the demangled AST.
-
-Why are there multiple copies of the this library in the source tree?
----------------------------------------------------------------------
-
-This directory is mirrored between libcxxabi/demangle and
-llvm/include/llvm/Demangle. The simple reason for this is that both projects
-need to demangle symbols, but neither can depend on each other. libcxxabi needs
-the demangler to implement __cxa_demangle, which is part of the itanium ABI
-spec. LLVM needs a copy for a bunch of places, but doesn't want to use the
-system's __cxa_demangle because it a) might not be available (i.e., on Windows),
-and b) probably isn't that up-to-date on the latest language features.
-
-The copy of the demangler in LLVM has some extra stuff that aren't needed in
-libcxxabi (ie, the MSVC demangler, ItaniumPartialDemangler), which depend on the
-shared generic components. Despite these differences, we want to keep the "core"
-generic demangling library identical between both copies to simplify development
-and testing.
-
-If you're working on the generic library, then do the work first in libcxxabi,
-then run the cp-to-llvm.sh script in src/demangle. This script takes as an
-argument the path to llvm, and re-copies the changes you made to libcxxabi over.
-Note that this script just blindly overwrites all changes to the generic library
-in llvm, so be careful.
-
-Because the core demangler needs to work in libcxxabi, everything needs to be
-declared in an anonymous namespace (see DEMANGLE_NAMESPACE_BEGIN), and you can't
-introduce any code that depends on the libcxx dylib.
-
-Hopefully, when LLVM becomes a monorepo, we can de-duplicate this code, and have
-both LLVM and libcxxabi depend on a shared demangler library.
-
-Testing
--------
-
-The tests are split up between libcxxabi/test/{unit,}test_demangle.cpp, and
-llvm/unittest/Demangle. The llvm directory should only get tests for stuff not
-included in the core library. In the future though, we should probably move all
-the tests to LLVM.
-
-It is also a really good idea to run libFuzzer after non-trivial changes, see
-libcxxabi/fuzz/cxa_demangle_fuzzer.cpp and https://llvm.org/docs/LibFuzzer.html.
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/StringView.h b/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/StringView.h
deleted file mode 100644
index ceb6c79..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/StringView.h
+++ /dev/null
@@ -1,126 +0,0 @@
-//===--- StringView.h -------------------------------------------*- 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
-//
-//===----------------------------------------------------------------------===//
-//
-// FIXME: Use std::string_view instead when we support C++17.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef DEMANGLE_STRINGVIEW_H
-#define DEMANGLE_STRINGVIEW_H
-
-#include "DemangleConfig.h"
-#include <algorithm>
-#include <cassert>
-#include <cstring>
-
-DEMANGLE_NAMESPACE_BEGIN
-
-class StringView {
-  const char *First;
-  const char *Last;
-
-public:
-  static const size_t npos = ~size_t(0);
-
-  template <size_t N>
-  StringView(const char (&Str)[N]) : First(Str), Last(Str + N - 1) {}
-  StringView(const char *First_, const char *Last_)
-      : First(First_), Last(Last_) {}
-  StringView(const char *First_, size_t Len)
-      : First(First_), Last(First_ + Len) {}
-  StringView(const char *Str) : First(Str), Last(Str + std::strlen(Str)) {}
-  StringView() : First(nullptr), Last(nullptr) {}
-
-  StringView substr(size_t From) const {
-    return StringView(begin() + From, size() - From);
-  }
-
-  size_t find(char C, size_t From = 0) const {
-    size_t FindBegin = std::min(From, size());
-    // Avoid calling memchr with nullptr.
-    if (FindBegin < size()) {
-      // Just forward to memchr, which is faster than a hand-rolled loop.
-      if (const void *P = ::memchr(First + FindBegin, C, size() - FindBegin))
-        return size_t(static_cast<const char *>(P) - First);
-    }
-    return npos;
-  }
-
-  StringView substr(size_t From, size_t To) const {
-    if (To >= size())
-      To = size() - 1;
-    if (From >= size())
-      From = size() - 1;
-    return StringView(First + From, First + To);
-  }
-
-  StringView dropFront(size_t N = 1) const {
-    if (N >= size())
-      N = size();
-    return StringView(First + N, Last);
-  }
-
-  StringView dropBack(size_t N = 1) const {
-    if (N >= size())
-      N = size();
-    return StringView(First, Last - N);
-  }
-
-  char front() const {
-    assert(!empty());
-    return *begin();
-  }
-
-  char back() const {
-    assert(!empty());
-    return *(end() - 1);
-  }
-
-  char popFront() {
-    assert(!empty());
-    return *First++;
-  }
-
-  bool consumeFront(char C) {
-    if (!startsWith(C))
-      return false;
-    *this = dropFront(1);
-    return true;
-  }
-
-  bool consumeFront(StringView S) {
-    if (!startsWith(S))
-      return false;
-    *this = dropFront(S.size());
-    return true;
-  }
-
-  bool startsWith(char C) const { return !empty() && *begin() == C; }
-
-  bool startsWith(StringView Str) const {
-    if (Str.size() > size())
-      return false;
-    return std::equal(Str.begin(), Str.end(), begin());
-  }
-
-  const char &operator[](size_t Idx) const { return *(begin() + Idx); }
-
-  const char *begin() const { return First; }
-  const char *end() const { return Last; }
-  size_t size() const { return static_cast<size_t>(Last - First); }
-  bool empty() const { return First == Last; }
-};
-
-inline bool operator==(const StringView &LHS, const StringView &RHS) {
-  return LHS.size() == RHS.size() &&
-         std::equal(LHS.begin(), LHS.end(), RHS.begin());
-}
-
-DEMANGLE_NAMESPACE_END
-
-#endif
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/cp-to-llvm.sh b/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/cp-to-llvm.sh
deleted file mode 100755
index 808abbc..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/demangle/cp-to-llvm.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-# Copies the 'demangle' library, excluding 'DemangleConfig.h', to llvm. If no
-# llvm directory is specified, then assume a monorepo layout.
-
-set -e
-
-FILES="ItaniumDemangle.h StringView.h Utility.h README.txt"
-LLVM_DEMANGLE_DIR=$1
-
-if [[ -z "$LLVM_DEMANGLE_DIR" ]]; then
-    LLVM_DEMANGLE_DIR="../../../llvm/include/llvm/Demangle"
-fi
-
-if [[ ! -d "$LLVM_DEMANGLE_DIR" ]]; then
-    echo "No such directory: $LLVM_DEMANGLE_DIR" >&2
-    exit 1
-fi
-
-read -p "This will overwrite the copies of $FILES in $LLVM_DEMANGLE_DIR; are you sure? [y/N]" -n 1 -r ANSWER
-echo
-
-if [[ $ANSWER =~ ^[Yy]$ ]]; then
-    for I in $FILES ; do
-        cp $I $LLVM_DEMANGLE_DIR/$I
-    done
-fi
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/include/refstring.h b/r23/sources/cxx-stl/llvm-libc++abi/src/include/refstring.h
deleted file mode 100644
index 5905b5c..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/include/refstring.h
+++ /dev/null
@@ -1,131 +0,0 @@
-//===------------------------ __refstring ---------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// FIXME: This file is copied from libcxx/src/include/refstring.h. Instead of
-// duplicating the file in libc++abi we should require that the libc++ sources
-// are available when building libc++abi.
-
-#ifndef _LIBCPPABI_REFSTRING_H
-#define _LIBCPPABI_REFSTRING_H
-
-#include <__config>
-#include <stdexcept>
-#include <cstddef>
-#include <cstring>
-#ifdef __APPLE__
-#include <dlfcn.h>
-#include <mach-o/dyld.h>
-#endif
-#include "atomic_support.h"
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-namespace __refstring_imp { namespace {
-typedef int count_t;
-
-struct _Rep_base {
-    std::size_t len;
-    std::size_t cap;
-    count_t     count;
-};
-
-inline _Rep_base* rep_from_data(const char *data_) noexcept {
-    char *data = const_cast<char *>(data_);
-    return reinterpret_cast<_Rep_base *>(data - sizeof(_Rep_base));
-}
-
-inline char * data_from_rep(_Rep_base *rep) noexcept {
-    char *data = reinterpret_cast<char *>(rep);
-    return data + sizeof(*rep);
-}
-
-#if defined(__APPLE__)
-inline
-const char* compute_gcc_empty_string_storage() _NOEXCEPT
-{
-    void* handle = dlopen("/usr/lib/libstdc++.6.dylib", RTLD_NOLOAD);
-    if (handle == nullptr)
-        return nullptr;
-    void* sym = dlsym(handle, "_ZNSs4_Rep20_S_empty_rep_storageE");
-    if (sym == nullptr)
-        return nullptr;
-    return data_from_rep(reinterpret_cast<_Rep_base *>(sym));
-}
-
-inline
-const char*
-get_gcc_empty_string_storage() _NOEXCEPT
-{
-    static const char* p = compute_gcc_empty_string_storage();
-    return p;
-}
-#endif
-
-}} // namespace __refstring_imp
-
-using namespace __refstring_imp;
-
-inline
-__libcpp_refstring::__libcpp_refstring(const char* msg) {
-    std::size_t len = strlen(msg);
-    _Rep_base* rep = static_cast<_Rep_base *>(::operator new(sizeof(*rep) + len + 1));
-    rep->len = len;
-    rep->cap = len;
-    rep->count = 0;
-    char *data = data_from_rep(rep);
-    std::memcpy(data, msg, len + 1);
-    __imp_ = data;
-}
-
-inline
-__libcpp_refstring::__libcpp_refstring(const __libcpp_refstring &s) _NOEXCEPT
-    : __imp_(s.__imp_)
-{
-    if (__uses_refcount())
-        __libcpp_atomic_add(&rep_from_data(__imp_)->count, 1);
-}
-
-inline
-__libcpp_refstring& __libcpp_refstring::operator=(__libcpp_refstring const& s) _NOEXCEPT {
-    bool adjust_old_count = __uses_refcount();
-    struct _Rep_base *old_rep = rep_from_data(__imp_);
-    __imp_ = s.__imp_;
-    if (__uses_refcount())
-        __libcpp_atomic_add(&rep_from_data(__imp_)->count, 1);
-    if (adjust_old_count)
-    {
-        if (__libcpp_atomic_add(&old_rep->count, count_t(-1)) < 0)
-        {
-            ::operator delete(old_rep);
-        }
-    }
-    return *this;
-}
-
-inline
-__libcpp_refstring::~__libcpp_refstring() {
-    if (__uses_refcount()) {
-        _Rep_base* rep = rep_from_data(__imp_);
-        if (__libcpp_atomic_add(&rep->count, count_t(-1)) < 0) {
-            ::operator delete(rep);
-        }
-    }
-}
-
-inline
-bool __libcpp_refstring::__uses_refcount() const {
-#ifdef __APPLE__
-    return __imp_ != get_gcc_empty_string_storage();
-#else
-    return true;
-#endif
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif //_LIBCPPABI_REFSTRING_H
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_exception.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_exception.cpp
deleted file mode 100644
index 88d911d..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_exception.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//===---------------------------- exception.cpp ---------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#define _LIBCPP_BUILDING_LIBRARY
-#include <new>
-#include <exception>
-
-namespace std
-{
-
-// exception
-
-exception::~exception() _NOEXCEPT
-{
-}
-
-const char* exception::what() const _NOEXCEPT
-{
-  return "std::exception";
-}
-
-// bad_exception
-
-bad_exception::~bad_exception() _NOEXCEPT
-{
-}
-
-const char* bad_exception::what() const _NOEXCEPT
-{
-  return "std::bad_exception";
-}
-
-
-//  bad_alloc
-
-bad_alloc::bad_alloc() _NOEXCEPT
-{
-}
-
-bad_alloc::~bad_alloc() _NOEXCEPT
-{
-}
-
-const char*
-bad_alloc::what() const _NOEXCEPT
-{
-    return "std::bad_alloc";
-}
-
-// bad_array_new_length
-
-bad_array_new_length::bad_array_new_length() _NOEXCEPT
-{
-}
-
-bad_array_new_length::~bad_array_new_length() _NOEXCEPT
-{
-}
-
-const char*
-bad_array_new_length::what() const _NOEXCEPT
-{
-    return "bad_array_new_length";
-}
-
-}  // std
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_new_delete.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_new_delete.cpp
deleted file mode 100644
index 698c5f7..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_new_delete.cpp
+++ /dev/null
@@ -1,262 +0,0 @@
-//===--------------------- stdlib_new_delete.cpp --------------------------===//
-//
-// 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
-//
-//
-// This file implements the new and delete operators.
-//===----------------------------------------------------------------------===//
-
-#define _LIBCPP_BUILDING_LIBRARY
-#include "__cxxabi_config.h"
-#include <new>
-#include <cstdlib>
-
-#if !defined(_THROW_BAD_ALLOC) || !defined(_NOEXCEPT) || !defined(_LIBCXXABI_WEAK)
-#error The _THROW_BAD_ALLOC, _NOEXCEPT, and _LIBCXXABI_WEAK libc++ macros must \
-       already be defined by libc++.
-#endif
-// Implement all new and delete operators as weak definitions
-// in this shared library, so that they can be overridden by programs
-// that define non-weak copies of the functions.
-
-_LIBCXXABI_WEAK
-void *
-operator new(std::size_t size) _THROW_BAD_ALLOC
-{
-    if (size == 0)
-        size = 1;
-    void* p;
-    while ((p = ::malloc(size)) == 0)
-    {
-        // If malloc fails and there is a new_handler,
-        // call it to try free up memory.
-        std::new_handler nh = std::get_new_handler();
-        if (nh)
-            nh();
-        else
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-            throw std::bad_alloc();
-#else
-            break;
-#endif
-    }
-    return p;
-}
-
-_LIBCXXABI_WEAK
-void*
-operator new(size_t size, const std::nothrow_t&) _NOEXCEPT
-{
-    void* p = 0;
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-        p = ::operator new(size);
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-    }
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-    return p;
-}
-
-_LIBCXXABI_WEAK
-void*
-operator new[](size_t size) _THROW_BAD_ALLOC
-{
-    return ::operator new(size);
-}
-
-_LIBCXXABI_WEAK
-void*
-operator new[](size_t size, const std::nothrow_t&) _NOEXCEPT
-{
-    void* p = 0;
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-        p = ::operator new[](size);
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-    }
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-    return p;
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete(void* ptr) _NOEXCEPT
-{
-    if (ptr)
-        ::free(ptr);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete(void* ptr, const std::nothrow_t&) _NOEXCEPT
-{
-    ::operator delete(ptr);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete(void* ptr, size_t) _NOEXCEPT
-{
-    ::operator delete(ptr);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete[] (void* ptr) _NOEXCEPT
-{
-    ::operator delete(ptr);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete[] (void* ptr, const std::nothrow_t&) _NOEXCEPT
-{
-    ::operator delete[](ptr);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete[] (void* ptr, size_t) _NOEXCEPT
-{
-    ::operator delete[](ptr);
-}
-
-#if !defined(_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION)
-
-_LIBCXXABI_WEAK
-void *
-operator new(std::size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC
-{
-    if (size == 0)
-        size = 1;
-    if (static_cast<size_t>(alignment) < sizeof(void*))
-      alignment = std::align_val_t(sizeof(void*));
-    void* p;
-#if defined(_LIBCPP_WIN32API)
-    while ((p = _aligned_malloc(size, static_cast<size_t>(alignment))) == nullptr)
-#else
-    while (::posix_memalign(&p, static_cast<size_t>(alignment), size) != 0)
-#endif
-    {
-        // If posix_memalign fails and there is a new_handler,
-        // call it to try free up memory.
-        std::new_handler nh = std::get_new_handler();
-        if (nh)
-            nh();
-        else {
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-            throw std::bad_alloc();
-#else
-            p = nullptr; // posix_memalign doesn't initialize 'p' on failure
-            break;
-#endif
-        }
-    }
-    return p;
-}
-
-_LIBCXXABI_WEAK
-void*
-operator new(size_t size, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT
-{
-    void* p = 0;
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-        p = ::operator new(size, alignment);
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-    }
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-    return p;
-}
-
-_LIBCXXABI_WEAK
-void*
-operator new[](size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC
-{
-    return ::operator new(size, alignment);
-}
-
-_LIBCXXABI_WEAK
-void*
-operator new[](size_t size, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT
-{
-    void* p = 0;
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    try
-    {
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-        p = ::operator new[](size, alignment);
-#ifndef _LIBCXXABI_NO_EXCEPTIONS
-    }
-    catch (...)
-    {
-    }
-#endif  // _LIBCXXABI_NO_EXCEPTIONS
-    return p;
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete(void* ptr, std::align_val_t) _NOEXCEPT
-{
-    if (ptr)
-#if defined(_LIBCPP_WIN32API)
-        ::_aligned_free(ptr);
-#else
-        ::free(ptr);
-#endif
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete(void* ptr, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT
-{
-    ::operator delete(ptr, alignment);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete(void* ptr, size_t, std::align_val_t alignment) _NOEXCEPT
-{
-    ::operator delete(ptr, alignment);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete[] (void* ptr, std::align_val_t alignment) _NOEXCEPT
-{
-    ::operator delete(ptr, alignment);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete[] (void* ptr, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT
-{
-    ::operator delete[](ptr, alignment);
-}
-
-_LIBCXXABI_WEAK
-void
-operator delete[] (void* ptr, size_t, std::align_val_t alignment) _NOEXCEPT
-{
-    ::operator delete[](ptr, alignment);
-}
-
-#endif // !_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_stdexcept.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_stdexcept.cpp
deleted file mode 100644
index 2cff8ee..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_stdexcept.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//===------------------------ stdexcept.cpp -------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "include/refstring.h"
-#include "stdexcept"
-#include "new"
-#include <cstdlib>
-#include <cstring>
-#include <cstdint>
-#include <cstddef>
-
-static_assert(sizeof(std::__libcpp_refstring) == sizeof(const char *), "");
-
-namespace std  // purposefully not using versioning namespace
-{
-
-logic_error::~logic_error() _NOEXCEPT {}
-
-const char*
-logic_error::what() const _NOEXCEPT
-{
-    return __imp_.c_str();
-}
-
-runtime_error::~runtime_error() _NOEXCEPT {}
-
-const char*
-runtime_error::what() const _NOEXCEPT
-{
-    return __imp_.c_str();
-}
-
-domain_error::~domain_error() _NOEXCEPT {}
-invalid_argument::~invalid_argument() _NOEXCEPT {}
-length_error::~length_error() _NOEXCEPT {}
-out_of_range::~out_of_range() _NOEXCEPT {}
-
-range_error::~range_error() _NOEXCEPT {}
-overflow_error::~overflow_error() _NOEXCEPT {}
-underflow_error::~underflow_error() _NOEXCEPT {}
-
-}  // std
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_typeinfo.cpp b/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_typeinfo.cpp
deleted file mode 100644
index dbb9623..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/src/stdlib_typeinfo.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//===----------------------------- typeinfo.cpp ---------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <typeinfo>
-
-namespace std
-{
-
-// type_info
-
-type_info::~type_info()
-{
-}
-
-// bad_cast
-
-bad_cast::bad_cast() _NOEXCEPT
-{
-}
-
-bad_cast::~bad_cast() _NOEXCEPT
-{
-}
-
-const char*
-bad_cast::what() const _NOEXCEPT
-{
-  return "std::bad_cast";
-}
-
-// bad_typeid
-
-bad_typeid::bad_typeid() _NOEXCEPT
-{
-}
-
-bad_typeid::~bad_typeid() _NOEXCEPT
-{
-}
-
-const char*
-bad_typeid::what() const _NOEXCEPT
-{
-  return "std::bad_typeid";
-}
-
-}  // std
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_cast.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_cast.pass.cpp
deleted file mode 100644
index ad38882..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_cast.pass.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//===----------------------- cxa_bad_cast.pass.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-
-#include <cxxabi.h>
-#include <cassert>
-#include <stdlib.h>
-#include <exception>
-#include <typeinfo>
-
-class Base {
-  virtual void foo() {};
-};
-
-class Derived : public Base {};
-
-Derived &test_bad_cast(Base& b) {
-  return dynamic_cast<Derived&>(b);
-}
-
-Base gB;
-
-void my_terminate() { exit(0); }
-
-int main ()
-{
-    // swap-out the terminate handler
-    void (*default_handler)() = std::get_terminate(); 
-    std::set_terminate(my_terminate);
-
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-    try {
-#endif
-        Derived &d = test_bad_cast(gB);
-        assert(false);
-        ((void)d);
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-    } catch (std::bad_cast) {
-        // success
-        return 0;
-    } catch (...) {
-        assert(false);
-    }
-#endif
-
-    // failure, restore the default terminate handler and fire
-    std::set_terminate(default_handler);
-    std::terminate();
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_typeid.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_typeid.pass.cpp
deleted file mode 100644
index 62a3c27..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_bad_typeid.pass.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//===----------------------- cxa_bad_typeid.pass.cpp ------------------------===//
-//
-// 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
-//
-//===------------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-
-#include <cxxabi.h>
-#include <cassert>
-#include <stdlib.h>
-#include <exception>
-#include <typeinfo>
-#include <string>
-#include <iostream>
-
-class Base {
-  virtual void foo() {};
-};
-
-class Derived : public Base {};
-
-std::string test_bad_typeid(Derived *p) {
-    return typeid(*p).name();
-}
-
-void my_terminate() { std::cout << "A" << std::endl; exit(0); }
-
-int main ()
-{
-    // swap-out the terminate handler
-    void (*default_handler)() = std::get_terminate(); 
-    std::set_terminate(my_terminate);
-
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-    try {
-#endif
-        test_bad_typeid(nullptr);
-        assert(false);
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-    } catch (std::bad_typeid) {
-        // success
-        return 0;
-    } catch (...) {
-        assert(false);
-    }
-#endif
-
-    // failure, restore the default terminate handler and fire
-    std::set_terminate(default_handler);
-    std::terminate();
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_thread_atexit_test.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_thread_atexit_test.pass.cpp
deleted file mode 100644
index f167e3d..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/cxa_thread_atexit_test.pass.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//===--------------------- cxa_thread_atexit_test.cpp ---------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: libcxxabi-no-threads
-// REQUIRES: linux
-
-#include <assert.h>
-#include <cxxabi.h>
-
-static bool AtexitImplCalled = false;
-
-extern "C" int __cxa_thread_atexit_impl(void (*dtor)(void *), void *obj,
-                                        void *dso_symbol) {
-  assert(dtor == reinterpret_cast<void (*)(void *)>(1));
-  assert(obj == reinterpret_cast<void *>(2));
-  assert(dso_symbol == reinterpret_cast<void *>(3));
-  AtexitImplCalled = true;
-  return 4;
-}
-
-int main() {
-  int RV = __cxxabiv1::__cxa_thread_atexit(
-      reinterpret_cast<void (*)(void *)>(1), reinterpret_cast<void *>(2),
-      reinterpret_cast<void *>(3));
-  assert(RV == 4);
-  assert(AtexitImplCalled);
-  return 0;
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast.pass.cpp
deleted file mode 100644
index 429f3da..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast.pass.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-//===------------------------- dynamic_cast.pass.cpp ----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <cassert>
-
-// This test explicitly tests dynamic cast with types that have inaccessible
-// bases.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Winaccessible-base"
-#endif
-
-typedef char Pad1[43981];
-typedef char Pad2[34981];
-typedef char Pad3[93481];
-typedef char Pad4[13489];
-typedef char Pad5[81349];
-typedef char Pad6[34819];
-typedef char Pad7[3489];
-
-namespace t1
-{
-
-// PR33425
-struct C3 { virtual ~C3() {} Pad1 _; };
-struct C5 : protected virtual C3 { Pad2 _; };
-struct C6 : virtual C5 { Pad3 _; };
-struct C7 : virtual C3 { Pad4 _; };
-struct C9 : C6, C7 { Pad5 _; };
-
-C9 c9;
-C3 *c3 = &c9;
-
-void test()
-{
-    assert(dynamic_cast<C3*>(c3) == static_cast<C3*>(&c9));
-    assert(dynamic_cast<C5*>(c3) == static_cast<C5*>(&c9));
-    assert(dynamic_cast<C6*>(c3) == static_cast<C6*>(&c9));
-    assert(dynamic_cast<C7*>(c3) == static_cast<C7*>(&c9));
-    assert(dynamic_cast<C9*>(c3) == static_cast<C9*>(&c9));
-}
-
-}  // t1
-
-namespace t2
-{
-
-// PR33425
-struct Src { virtual ~Src() {} Pad1 _; };
-struct Mask : protected virtual Src { Pad2 _; };
-struct Dest : Mask { Pad3 _; };
-struct Root : Dest, virtual Src { Pad4 _; };
-
-Root root;
-Src *src = &root;
-
-void test()
-{
-    assert(dynamic_cast<Src*>(src) == static_cast<Src*>(&root));
-    assert(dynamic_cast<Mask*>(src) == static_cast<Mask*>(&root));
-    assert(dynamic_cast<Dest*>(src) == static_cast<Dest*>(&root));
-    assert(dynamic_cast<Root*>(src) == static_cast<Root*>(&root));
-}
-
-}  // t2
-
-namespace t3
-{
-
-// PR33487
-struct Class1 { virtual ~Class1() {} Pad1 _; };
-struct Shared : virtual Class1 { Pad2 _; };
-struct Class6 : virtual Shared { Pad3 _; };
-struct Left : Class6 { Pad4 _; };
-struct Right : Class6 { Pad5 _; };
-struct Main : Left, Right { Pad6 _; };
-
-Main m;
-Class1 *c1 = &m;
-
-void test()
-{
-    assert(dynamic_cast<Class1*>(c1) == static_cast<Class1*>(&m));
-    assert(dynamic_cast<Shared*>(c1) == static_cast<Shared*>(&m));
-    assert(dynamic_cast<Class6*>(c1) == 0);
-    assert(dynamic_cast<Left*>(c1) == static_cast<Left*>(&m));
-    assert(dynamic_cast<Right*>(c1) == static_cast<Right*>(&m));
-    assert(dynamic_cast<Main*>(c1) == static_cast<Main*>(&m));
-}
-
-}  // t3
-
-namespace t4
-{
-
-// PR33439
-struct C2 { virtual ~C2() {} Pad1 _; };
-struct C3 { virtual ~C3() {} Pad2 _; };
-struct C4 : C3 { Pad3 _; };
-struct C8 : C2, virtual C4 { Pad4 _; };
-struct C9 : C4, C8 { Pad5 _; };
-
-C9 c9;
-C2 *c2 = &c9;
-
-void test()
-{
-    assert(dynamic_cast<C2*>(c2) == static_cast<C2*>(&c9));
-    assert(dynamic_cast<C3*>(c2) == 0);
-    assert(dynamic_cast<C4*>(c2) == 0);
-    assert(dynamic_cast<C8*>(c2) == static_cast<C8*>(&c9));
-    assert(dynamic_cast<C9*>(c2) == static_cast<C9*>(&c9));
-}
-
-}  // t4
-
-namespace t5
-{
-
-// PR33439
-struct Dummy { virtual ~Dummy() {} Pad1 _; };
-struct Src { virtual ~Src() {} Pad2 _; };
-struct Dest : Dummy { Pad3 _; };
-struct A1 : Dest { Pad4 _; };
-struct A2 : Dest { Pad5 _; };
-struct Root : Src, A1, A2 { Pad6 _; };
-
-Root root;
-Src *src = &root;
-
-void test()
-{
-    assert(dynamic_cast<Dummy*>(src) == 0);
-    assert(dynamic_cast<Src*>(src) == static_cast<Src*>(&root));
-    assert(dynamic_cast<Dest*>(src) == 0);
-    assert(dynamic_cast<A1*>(src) == static_cast<A1*>(&root));
-    assert(dynamic_cast<A2*>(src) == static_cast<A2*>(&root));
-}
-
-}  // t5
-
-int main()
-{
-    t1::test();
-    t2::test();
-    t3::test();
-    t4::test();
-    t5::test();
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast14.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast14.pass.cpp
deleted file mode 100644
index 57a4f26..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast14.pass.cpp
+++ /dev/null
@@ -1,2181 +0,0 @@
-//===------------------------- dynamic_cast14.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <cassert>
-#include "support/timer.h"
-
-namespace t1
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1_3() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public virtual A2,
-      public A1
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1_4() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      public A4
-{
-    char _[13489];
-    virtual ~A5() {}
-
-    A1* getA1_3() {return A3::getA1();}
-    A1* getA1_4() {return A4::getA1();}
-    A2* getA2() {return A3::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-struct A6
-    : public A1
-{
-    char _[81349];
-    virtual ~A6() {}
-
-    A1* getA1_6() {return A1::getA1();}
-    A6* getA6() {return this;}
-};
-
-struct A7
-    : public A5,
-      public A6
-{
-    char _[34819];
-    virtual ~A7() {}
-
-    A1* getA1_3() {return A5::getA1_3();}
-    A1* getA1_4() {return A5::getA1_4();}
-    A1* getA1_6() {return A6::getA1_6();}
-    A2* getA2() {return A5::getA2();}
-    A3* getA3() {return A5::getA3();}
-    A4* getA4() {return A5::getA4();}
-    A5* getA5() {return A5::getA5();}
-    A6* getA6() {return A6::getA6();}
-    A7* getA7() {return this;}
-};
-
-struct A8
-    : public A7
-{
-    char _[3489];
-    virtual ~A8() {}
-
-    A1* getA1_3() {return A7::getA1_3();}
-    A1* getA1_4() {return A7::getA1_4();}
-    A1* getA1_6() {return A7::getA1_6();}
-    A2* getA2() {return A7::getA2();}
-    A3* getA3() {return A7::getA3();}
-    A4* getA4() {return A7::getA4();}
-    A5* getA5() {return A7::getA5();}
-    A6* getA6() {return A7::getA6();}
-    A7* getA7() {return A7::getA7();}
-    A8* getA8() {return this;}
-};
-
-struct A9
-    : public A1
-{
-    char _[3481];
-    virtual ~A9() {}
-
-    A1* getA1_9() {return A1::getA1();}
-    A9* getA9() {return this;}
-};
-
-struct A10
-    : public virtual A8
-{
-    char _[4831];
-    virtual ~A10() {}
-
-    A1* getA1_3() {return A8::getA1_3();}
-    A1* getA1_4() {return A8::getA1_4();}
-    A1* getA1_6() {return A8::getA1_6();}
-    A2* getA2() {return A8::getA2();}
-    A3* getA3() {return A8::getA3();}
-    A4* getA4() {return A8::getA4();}
-    A5* getA5() {return A8::getA5();}
-    A6* getA6() {return A8::getA6();}
-    A7* getA7() {return A8::getA7();}
-    A8* getA8() {return A8::getA8();}
-    A10* getA10() {return this;}
-};
-
-struct A11
-    : public virtual A8,
-      public A9
-{
-    char _[6483];
-    virtual ~A11() {}
-
-    A1* getA1_3() {return A8::getA1_3();}
-    A1* getA1_4() {return A8::getA1_4();}
-    A1* getA1_6() {return A8::getA1_6();}
-    A1* getA1_9() {return A9::getA1_9();}
-    A2* getA2() {return A8::getA2();}
-    A3* getA3() {return A8::getA3();}
-    A4* getA4() {return A8::getA4();}
-    A5* getA5() {return A8::getA5();}
-    A6* getA6() {return A8::getA6();}
-    A7* getA7() {return A8::getA7();}
-    A8* getA8() {return A8::getA8();}
-    A9* getA9() {return A9::getA9();}
-    A11* getA11() {return this;}
-};
-
-struct A12
-    : public A10,
-      public A11
-{
-    char _[2283];
-    virtual ~A12() {}
-
-    A1* getA1_3() {return A10::getA1_3();}
-    A1* getA1_4() {return A10::getA1_4();}
-    A1* getA1_6() {return A10::getA1_6();}
-    A1* getA1_9() {return A11::getA1_9();}
-    A2* getA2() {return A10::getA2();}
-    A3* getA3() {return A10::getA3();}
-    A4* getA4() {return A10::getA4();}
-    A5* getA5() {return A10::getA5();}
-    A6* getA6() {return A10::getA6();}
-    A7* getA7() {return A10::getA7();}
-    A8* getA8() {return A10::getA8();}
-    A9* getA9() {return A11::getA9();}
-    A10* getA10() {return A10::getA10();}
-    A11* getA11() {return A11::getA11();}
-    A12* getA12() {return this;}
-};
-
-struct A13
-    : public A12
-{
-    char _[1283];
-    virtual ~A13() {}
-
-    A1* getA1_3() {return A12::getA1_3();}
-    A1* getA1_4() {return A12::getA1_4();}
-    A1* getA1_6() {return A12::getA1_6();}
-    A1* getA1_9() {return A12::getA1_9();}
-    A2* getA2() {return A12::getA2();}
-    A3* getA3() {return A12::getA3();}
-    A4* getA4() {return A12::getA4();}
-    A5* getA5() {return A12::getA5();}
-    A6* getA6() {return A12::getA6();}
-    A7* getA7() {return A12::getA7();}
-    A8* getA8() {return A12::getA8();}
-    A9* getA9() {return A12::getA9();}
-    A10* getA10() {return A12::getA10();}
-    A11* getA11() {return A12::getA11();}
-    A12* getA12() {return A12::getA12();}
-    A13* getA13() {return this;}
-};
-
-A3 a3;
-A4 a4;
-A5 a5;
-A6 a6;
-A7 a7;
-A8 a8;
-A9 a9;
-A10 a10;
-A11 a11;
-A12 a12;
-A13 a13;
-
-void test()
-{
-    assert(dynamic_cast<A3*>(a3.getA1_3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-
-    assert(dynamic_cast<A3*>(a4.getA1_4()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-
-    assert(dynamic_cast<A3*>(a5.getA1_3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a5.getA1_3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a5.getA1_3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-
-    assert(dynamic_cast<A3*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A4*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A5*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6());
-
-    assert(dynamic_cast<A3*>(a7.getA1_3()) == a7.getA3());
-    assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3());
-    assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3());
-
-    assert(dynamic_cast<A4*>(a7.getA1_3()) == a7.getA4());
-    assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4());
-    assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4());
-    assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4());
-
-    assert(dynamic_cast<A5*>(a7.getA1_3()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5());
-
-    assert(dynamic_cast<A6*>(a7.getA1_3()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6());
-
-    assert(dynamic_cast<A7*>(a7.getA1_3()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7());
-
-    assert(dynamic_cast<A3*>(a8.getA1_3()) == a8.getA3());
-    assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3());
-    assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3());
-
-    assert(dynamic_cast<A4*>(a8.getA1_3()) == a8.getA4());
-    assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4());
-    assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4());
-    assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4());
-
-    assert(dynamic_cast<A5*>(a8.getA1_3()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5());
-
-    assert(dynamic_cast<A6*>(a8.getA1_3()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6());
-
-    assert(dynamic_cast<A7*>(a8.getA1_3()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7());
-
-    assert(dynamic_cast<A8*>(a8.getA1_3()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8());
-
-    assert(dynamic_cast<A3*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A4*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A5*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A6*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A7*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A8*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9());
-
-    assert(dynamic_cast<A3*>(a10.getA1_3()) == a10.getA3());
-    assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3());
-    assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3());
-    assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3());
-
-    assert(dynamic_cast<A4*>(a10.getA1_3()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4());
-
-    assert(dynamic_cast<A5*>(a10.getA1_3()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5());
-
-    assert(dynamic_cast<A6*>(a10.getA1_3()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6());
-
-    assert(dynamic_cast<A7*>(a10.getA1_3()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7());
-
-    assert(dynamic_cast<A8*>(a10.getA1_3()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8());
-
-    assert(dynamic_cast<A9*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA1_4()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA1_6()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA2()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA3()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA4()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA5()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA6()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA7()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA8()) == 0);
-
-    assert(dynamic_cast<A10*>(a10.getA1_3()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10());
-
-    assert(dynamic_cast<A3*>(a11.getA1_3()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3());
-
-    assert(dynamic_cast<A4*>(a11.getA1_3()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4());
-
-    assert(dynamic_cast<A5*>(a11.getA1_3()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5());
-
-    assert(dynamic_cast<A6*>(a11.getA1_3()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6());
-
-    assert(dynamic_cast<A7*>(a11.getA1_3()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7());
-
-    assert(dynamic_cast<A8*>(a11.getA1_3()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8());
-
-    assert(dynamic_cast<A9*>(a11.getA1_3()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9());
-
-    assert(dynamic_cast<A10*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_4()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_6()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_9()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA2()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA3()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA4()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA5()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA6()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA7()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA8()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA9()) == 0);
-
-    assert(dynamic_cast<A11*>(a11.getA1_3()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11());
-
-    assert(dynamic_cast<A3*>(a12.getA1_3()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3());
-
-    assert(dynamic_cast<A4*>(a12.getA1_3()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4());
-
-    assert(dynamic_cast<A5*>(a12.getA1_3()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5());
-
-    assert(dynamic_cast<A6*>(a12.getA1_3()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6());
-
-    assert(dynamic_cast<A7*>(a12.getA1_3()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7());
-
-    assert(dynamic_cast<A8*>(a12.getA1_3()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8());
-
-    assert(dynamic_cast<A9*>(a12.getA1_3()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9());
-
-    assert(dynamic_cast<A10*>(a12.getA1_3()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10());
-
-    assert(dynamic_cast<A11*>(a12.getA1_3()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11());
-
-    assert(dynamic_cast<A12*>(a12.getA1_3()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12());
-
-    assert(dynamic_cast<A3*>(a13.getA1_3()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3());
-
-    assert(dynamic_cast<A4*>(a13.getA1_3()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4());
-
-    assert(dynamic_cast<A5*>(a13.getA1_3()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5());
-
-    assert(dynamic_cast<A6*>(a13.getA1_3()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6());
-
-    assert(dynamic_cast<A7*>(a13.getA1_3()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7());
-
-    assert(dynamic_cast<A8*>(a13.getA1_3()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8());
-
-    assert(dynamic_cast<A9*>(a13.getA1_3()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9());
-
-    assert(dynamic_cast<A10*>(a13.getA1_3()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10());
-
-    assert(dynamic_cast<A11*>(a13.getA1_3()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11());
-
-    assert(dynamic_cast<A12*>(a13.getA1_3()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12());
-
-    assert(dynamic_cast<A13*>(a13.getA1_3()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13());
-}
-
-}  // t1
-
-namespace t2
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : protected A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1_3() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public virtual A2,
-      public A1
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1_4() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      public A4
-{
-    char _[13489];
-    virtual ~A5() {}
-
-    A1* getA1_3() {return A3::getA1();}
-    A1* getA1_4() {return A4::getA1();}
-    A2* getA2() {return A3::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-struct A6
-    : public A1
-{
-    char _[81349];
-    virtual ~A6() {}
-
-    A1* getA1_6() {return A1::getA1();}
-    A6* getA6() {return this;}
-};
-
-struct A7
-    : public A5,
-      public A6
-{
-    char _[34819];
-    virtual ~A7() {}
-
-    A1* getA1_3() {return A5::getA1_3();}
-    A1* getA1_4() {return A5::getA1_4();}
-    A1* getA1_6() {return A6::getA1_6();}
-    A2* getA2() {return A5::getA2();}
-    A3* getA3() {return A5::getA3();}
-    A4* getA4() {return A5::getA4();}
-    A5* getA5() {return A5::getA5();}
-    A6* getA6() {return A6::getA6();}
-    A7* getA7() {return this;}
-};
-
-struct A8
-    : public A7
-{
-    char _[3489];
-    virtual ~A8() {}
-
-    A1* getA1_3() {return A7::getA1_3();}
-    A1* getA1_4() {return A7::getA1_4();}
-    A1* getA1_6() {return A7::getA1_6();}
-    A2* getA2() {return A7::getA2();}
-    A3* getA3() {return A7::getA3();}
-    A4* getA4() {return A7::getA4();}
-    A5* getA5() {return A7::getA5();}
-    A6* getA6() {return A7::getA6();}
-    A7* getA7() {return A7::getA7();}
-    A8* getA8() {return this;}
-};
-
-struct A9
-    : public A1
-{
-    char _[3481];
-    virtual ~A9() {}
-
-    A1* getA1_9() {return A1::getA1();}
-    A9* getA9() {return this;}
-};
-
-struct A10
-    : public virtual A8
-{
-    char _[4831];
-    virtual ~A10() {}
-
-    A1* getA1_3() {return A8::getA1_3();}
-    A1* getA1_4() {return A8::getA1_4();}
-    A1* getA1_6() {return A8::getA1_6();}
-    A2* getA2() {return A8::getA2();}
-    A3* getA3() {return A8::getA3();}
-    A4* getA4() {return A8::getA4();}
-    A5* getA5() {return A8::getA5();}
-    A6* getA6() {return A8::getA6();}
-    A7* getA7() {return A8::getA7();}
-    A8* getA8() {return A8::getA8();}
-    A10* getA10() {return this;}
-};
-
-struct A11
-    : public virtual A8,
-      public A9
-{
-    char _[6483];
-    virtual ~A11() {}
-
-    A1* getA1_3() {return A8::getA1_3();}
-    A1* getA1_4() {return A8::getA1_4();}
-    A1* getA1_6() {return A8::getA1_6();}
-    A1* getA1_9() {return A9::getA1_9();}
-    A2* getA2() {return A8::getA2();}
-    A3* getA3() {return A8::getA3();}
-    A4* getA4() {return A8::getA4();}
-    A5* getA5() {return A8::getA5();}
-    A6* getA6() {return A8::getA6();}
-    A7* getA7() {return A8::getA7();}
-    A8* getA8() {return A8::getA8();}
-    A9* getA9() {return A9::getA9();}
-    A11* getA11() {return this;}
-};
-
-struct A12
-    : public A10,
-      public A11
-{
-    char _[2283];
-    virtual ~A12() {}
-
-    A1* getA1_3() {return A10::getA1_3();}
-    A1* getA1_4() {return A10::getA1_4();}
-    A1* getA1_6() {return A10::getA1_6();}
-    A1* getA1_9() {return A11::getA1_9();}
-    A2* getA2() {return A10::getA2();}
-    A3* getA3() {return A10::getA3();}
-    A4* getA4() {return A10::getA4();}
-    A5* getA5() {return A10::getA5();}
-    A6* getA6() {return A10::getA6();}
-    A7* getA7() {return A10::getA7();}
-    A8* getA8() {return A10::getA8();}
-    A9* getA9() {return A11::getA9();}
-    A10* getA10() {return A10::getA10();}
-    A11* getA11() {return A11::getA11();}
-    A12* getA12() {return this;}
-};
-
-struct A13
-    : public A12
-{
-    char _[1283];
-    virtual ~A13() {}
-
-    A1* getA1_3() {return A12::getA1_3();}
-    A1* getA1_4() {return A12::getA1_4();}
-    A1* getA1_6() {return A12::getA1_6();}
-    A1* getA1_9() {return A12::getA1_9();}
-    A2* getA2() {return A12::getA2();}
-    A3* getA3() {return A12::getA3();}
-    A4* getA4() {return A12::getA4();}
-    A5* getA5() {return A12::getA5();}
-    A6* getA6() {return A12::getA6();}
-    A7* getA7() {return A12::getA7();}
-    A8* getA8() {return A12::getA8();}
-    A9* getA9() {return A12::getA9();}
-    A10* getA10() {return A12::getA10();}
-    A11* getA11() {return A12::getA11();}
-    A12* getA12() {return A12::getA12();}
-    A13* getA13() {return this;}
-};
-
-A3 a3;
-A4 a4;
-A5 a5;
-A6 a6;
-A7 a7;
-A8 a8;
-A9 a9;
-A10 a10;
-A11 a11;
-A12 a12;
-A13 a13;
-
-void test()
-{
-    assert(dynamic_cast<A3*>(a3.getA1_3()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-
-    assert(dynamic_cast<A3*>(a4.getA1_4()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-
-    assert(dynamic_cast<A3*>(a5.getA1_3()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a5.getA1_3()) == 0);
-    assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a5.getA1_3()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-
-    assert(dynamic_cast<A3*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A4*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A5*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6());
-
-    assert(dynamic_cast<A3*>(a7.getA1_3()) == 0);
-    assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3());
-    assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3());
-
-    assert(dynamic_cast<A4*>(a7.getA1_3()) == 0);
-    assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4());
-    assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4());
-    assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4());
-
-    assert(dynamic_cast<A5*>(a7.getA1_3()) == 0);
-    assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5());
-
-    assert(dynamic_cast<A6*>(a7.getA1_3()) == 0);
-    assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6());
-
-    assert(dynamic_cast<A7*>(a7.getA1_3()) == 0);
-    assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7());
-
-    assert(dynamic_cast<A3*>(a8.getA1_3()) == 0);
-    assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3());
-    assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3());
-
-    assert(dynamic_cast<A4*>(a8.getA1_3()) == 0);
-    assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4());
-    assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4());
-    assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4());
-
-    assert(dynamic_cast<A5*>(a8.getA1_3()) == 0);
-    assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5());
-
-    assert(dynamic_cast<A6*>(a8.getA1_3()) == 0);
-    assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6());
-
-    assert(dynamic_cast<A7*>(a8.getA1_3()) == 0);
-    assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7());
-
-    assert(dynamic_cast<A8*>(a8.getA1_3()) == 0);
-    assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8());
-
-    assert(dynamic_cast<A3*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A4*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A5*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A6*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A7*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A8*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9());
-
-    assert(dynamic_cast<A3*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3());
-    assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3());
-    assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3());
-
-    assert(dynamic_cast<A4*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4());
-
-    assert(dynamic_cast<A5*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5());
-
-    assert(dynamic_cast<A6*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6());
-
-    assert(dynamic_cast<A7*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7());
-
-    assert(dynamic_cast<A8*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8());
-
-    assert(dynamic_cast<A9*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA1_4()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA1_6()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA2()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA3()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA4()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA5()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA6()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA7()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA8()) == 0);
-
-    assert(dynamic_cast<A10*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10());
-
-    assert(dynamic_cast<A3*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3());
-
-    assert(dynamic_cast<A4*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4());
-
-    assert(dynamic_cast<A5*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5());
-
-    assert(dynamic_cast<A6*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6());
-
-    assert(dynamic_cast<A7*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7());
-
-    assert(dynamic_cast<A8*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8());
-
-    assert(dynamic_cast<A9*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9());
-
-    assert(dynamic_cast<A10*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_4()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_6()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_9()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA2()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA3()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA4()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA5()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA6()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA7()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA8()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA9()) == 0);
-
-    assert(dynamic_cast<A11*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11());
-
-    assert(dynamic_cast<A3*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3());
-
-    assert(dynamic_cast<A4*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4());
-
-    assert(dynamic_cast<A5*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5());
-
-    assert(dynamic_cast<A6*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6());
-
-    assert(dynamic_cast<A7*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7());
-
-    assert(dynamic_cast<A8*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8());
-
-    assert(dynamic_cast<A9*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9());
-
-    assert(dynamic_cast<A10*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10());
-
-    assert(dynamic_cast<A11*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11());
-
-    assert(dynamic_cast<A12*>(a12.getA1_3()) == 0);
-    assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12());
-
-    assert(dynamic_cast<A3*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3());
-
-    assert(dynamic_cast<A4*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4());
-
-    assert(dynamic_cast<A5*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5());
-
-    assert(dynamic_cast<A6*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6());
-
-    assert(dynamic_cast<A7*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7());
-
-    assert(dynamic_cast<A8*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8());
-
-    assert(dynamic_cast<A9*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9());
-
-    assert(dynamic_cast<A10*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10());
-
-    assert(dynamic_cast<A11*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11());
-
-    assert(dynamic_cast<A12*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12());
-
-    assert(dynamic_cast<A13*>(a13.getA1_3()) == 0);
-    assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13());
-}
-
-}  // t2
-
-namespace t3
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      protected virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1_3() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public virtual A2,
-      public A1
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1_4() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      public A4
-{
-    char _[13489];
-    virtual ~A5() {}
-
-    A1* getA1_3() {return A3::getA1();}
-    A1* getA1_4() {return A4::getA1();}
-    A2* getA2() {return A3::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-struct A6
-    : public A1
-{
-    char _[81349];
-    virtual ~A6() {}
-
-    A1* getA1_6() {return A1::getA1();}
-    A6* getA6() {return this;}
-};
-
-struct A7
-    : public A5,
-      public A6
-{
-    char _[34819];
-    virtual ~A7() {}
-
-    A1* getA1_3() {return A5::getA1_3();}
-    A1* getA1_4() {return A5::getA1_4();}
-    A1* getA1_6() {return A6::getA1_6();}
-    A2* getA2() {return A5::getA2();}
-    A3* getA3() {return A5::getA3();}
-    A4* getA4() {return A5::getA4();}
-    A5* getA5() {return A5::getA5();}
-    A6* getA6() {return A6::getA6();}
-    A7* getA7() {return this;}
-};
-
-struct A8
-    : public A7
-{
-    char _[3489];
-    virtual ~A8() {}
-
-    A1* getA1_3() {return A7::getA1_3();}
-    A1* getA1_4() {return A7::getA1_4();}
-    A1* getA1_6() {return A7::getA1_6();}
-    A2* getA2() {return A7::getA2();}
-    A3* getA3() {return A7::getA3();}
-    A4* getA4() {return A7::getA4();}
-    A5* getA5() {return A7::getA5();}
-    A6* getA6() {return A7::getA6();}
-    A7* getA7() {return A7::getA7();}
-    A8* getA8() {return this;}
-};
-
-struct A9
-    : public A1
-{
-    char _[3481];
-    virtual ~A9() {}
-
-    A1* getA1_9() {return A1::getA1();}
-    A9* getA9() {return this;}
-};
-
-struct A10
-    : public virtual A8
-{
-    char _[4831];
-    virtual ~A10() {}
-
-    A1* getA1_3() {return A8::getA1_3();}
-    A1* getA1_4() {return A8::getA1_4();}
-    A1* getA1_6() {return A8::getA1_6();}
-    A2* getA2() {return A8::getA2();}
-    A3* getA3() {return A8::getA3();}
-    A4* getA4() {return A8::getA4();}
-    A5* getA5() {return A8::getA5();}
-    A6* getA6() {return A8::getA6();}
-    A7* getA7() {return A8::getA7();}
-    A8* getA8() {return A8::getA8();}
-    A10* getA10() {return this;}
-};
-
-struct A11
-    : public virtual A8,
-      public A9
-{
-    char _[6483];
-    virtual ~A11() {}
-
-    A1* getA1_3() {return A8::getA1_3();}
-    A1* getA1_4() {return A8::getA1_4();}
-    A1* getA1_6() {return A8::getA1_6();}
-    A1* getA1_9() {return A9::getA1_9();}
-    A2* getA2() {return A8::getA2();}
-    A3* getA3() {return A8::getA3();}
-    A4* getA4() {return A8::getA4();}
-    A5* getA5() {return A8::getA5();}
-    A6* getA6() {return A8::getA6();}
-    A7* getA7() {return A8::getA7();}
-    A8* getA8() {return A8::getA8();}
-    A9* getA9() {return A9::getA9();}
-    A11* getA11() {return this;}
-};
-
-struct A12
-    : public A10,
-      public A11
-{
-    char _[2283];
-    virtual ~A12() {}
-
-    A1* getA1_3() {return A10::getA1_3();}
-    A1* getA1_4() {return A10::getA1_4();}
-    A1* getA1_6() {return A10::getA1_6();}
-    A1* getA1_9() {return A11::getA1_9();}
-    A2* getA2() {return A10::getA2();}
-    A3* getA3() {return A10::getA3();}
-    A4* getA4() {return A10::getA4();}
-    A5* getA5() {return A10::getA5();}
-    A6* getA6() {return A10::getA6();}
-    A7* getA7() {return A10::getA7();}
-    A8* getA8() {return A10::getA8();}
-    A9* getA9() {return A11::getA9();}
-    A10* getA10() {return A10::getA10();}
-    A11* getA11() {return A11::getA11();}
-    A12* getA12() {return this;}
-};
-
-struct A13
-    : public A12
-{
-    char _[1283];
-    virtual ~A13() {}
-
-    A1* getA1_3() {return A12::getA1_3();}
-    A1* getA1_4() {return A12::getA1_4();}
-    A1* getA1_6() {return A12::getA1_6();}
-    A1* getA1_9() {return A12::getA1_9();}
-    A2* getA2() {return A12::getA2();}
-    A3* getA3() {return A12::getA3();}
-    A4* getA4() {return A12::getA4();}
-    A5* getA5() {return A12::getA5();}
-    A6* getA6() {return A12::getA6();}
-    A7* getA7() {return A12::getA7();}
-    A8* getA8() {return A12::getA8();}
-    A9* getA9() {return A12::getA9();}
-    A10* getA10() {return A12::getA10();}
-    A11* getA11() {return A12::getA11();}
-    A12* getA12() {return A12::getA12();}
-    A13* getA13() {return this;}
-};
-
-A3 a3;
-A4 a4;
-A5 a5;
-A6 a6;
-A7 a7;
-A8 a8;
-A9 a9;
-A10 a10;
-A11 a11;
-A12 a12;
-A13 a13;
-
-void test()
-{
-    assert(dynamic_cast<A3*>(a3.getA1_3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-
-    assert(dynamic_cast<A3*>(a4.getA1_4()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-
-    assert(dynamic_cast<A3*>(a5.getA1_3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a5.getA1_3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a5.getA1_3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-
-    assert(dynamic_cast<A3*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A4*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A5*>(a6.getA1_6()) == 0);
-
-    assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6());
-
-    assert(dynamic_cast<A3*>(a7.getA1_3()) == a7.getA3());
-    assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3());
-    assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3());
-
-    assert(dynamic_cast<A4*>(a7.getA1_3()) == a7.getA4());
-    assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4());
-    assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4());
-    assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4());
-
-    assert(dynamic_cast<A5*>(a7.getA1_3()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5());
-    assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5());
-
-    assert(dynamic_cast<A6*>(a7.getA1_3()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6());
-    assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6());
-
-    assert(dynamic_cast<A7*>(a7.getA1_3()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7());
-    assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7());
-
-    assert(dynamic_cast<A3*>(a8.getA1_3()) == a8.getA3());
-    assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3());
-    assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3());
-
-    assert(dynamic_cast<A4*>(a8.getA1_3()) == a8.getA4());
-    assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4());
-    assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4());
-    assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4());
-
-    assert(dynamic_cast<A5*>(a8.getA1_3()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5());
-    assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5());
-
-    assert(dynamic_cast<A6*>(a8.getA1_3()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6());
-    assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6());
-
-    assert(dynamic_cast<A7*>(a8.getA1_3()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7());
-    assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7());
-
-    assert(dynamic_cast<A8*>(a8.getA1_3()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8());
-    assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8());
-
-    assert(dynamic_cast<A3*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A4*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A5*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A6*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A7*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A8*>(a9.getA1_9()) == 0);
-
-    assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9());
-
-    assert(dynamic_cast<A3*>(a10.getA1_3()) == a10.getA3());
-    assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3());
-    assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3());
-    assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3());
-
-    assert(dynamic_cast<A4*>(a10.getA1_3()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4());
-    assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4());
-
-    assert(dynamic_cast<A5*>(a10.getA1_3()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5());
-    assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5());
-
-    assert(dynamic_cast<A6*>(a10.getA1_3()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6());
-    assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6());
-
-    assert(dynamic_cast<A7*>(a10.getA1_3()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7());
-    assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7());
-
-    assert(dynamic_cast<A8*>(a10.getA1_3()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8());
-    assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8());
-
-    assert(dynamic_cast<A9*>(a10.getA1_3()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA1_4()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA1_6()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA2()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA3()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA4()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA5()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA6()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA7()) == 0);
-    assert(dynamic_cast<A9*>(a10.getA8()) == 0);
-
-    assert(dynamic_cast<A10*>(a10.getA1_3()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10());
-    assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10());
-
-    assert(dynamic_cast<A3*>(a11.getA1_3()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3());
-    assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3());
-
-    assert(dynamic_cast<A4*>(a11.getA1_3()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4());
-    assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4());
-
-    assert(dynamic_cast<A5*>(a11.getA1_3()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5());
-    assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5());
-
-    assert(dynamic_cast<A6*>(a11.getA1_3()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6());
-    assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6());
-
-    assert(dynamic_cast<A7*>(a11.getA1_3()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7());
-    assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7());
-
-    assert(dynamic_cast<A8*>(a11.getA1_3()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8());
-    assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8());
-
-    assert(dynamic_cast<A9*>(a11.getA1_3()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9());
-    assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9());
-
-    assert(dynamic_cast<A10*>(a11.getA1_3()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_4()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_6()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA1_9()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA2()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA3()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA4()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA5()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA6()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA7()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA8()) == 0);
-    assert(dynamic_cast<A10*>(a11.getA9()) == 0);
-
-    assert(dynamic_cast<A11*>(a11.getA1_3()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11());
-    assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11());
-
-    assert(dynamic_cast<A3*>(a12.getA1_3()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3());
-    assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3());
-
-    assert(dynamic_cast<A4*>(a12.getA1_3()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4());
-    assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4());
-
-    assert(dynamic_cast<A5*>(a12.getA1_3()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5());
-    assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5());
-
-    assert(dynamic_cast<A6*>(a12.getA1_3()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6());
-    assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6());
-
-    assert(dynamic_cast<A7*>(a12.getA1_3()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7());
-    assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7());
-
-    assert(dynamic_cast<A8*>(a12.getA1_3()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8());
-    assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8());
-
-    assert(dynamic_cast<A9*>(a12.getA1_3()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9());
-    assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9());
-
-    assert(dynamic_cast<A10*>(a12.getA1_3()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10());
-    assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10());
-
-    assert(dynamic_cast<A11*>(a12.getA1_3()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11());
-    assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11());
-
-    assert(dynamic_cast<A12*>(a12.getA1_3()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12());
-    assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12());
-
-    assert(dynamic_cast<A3*>(a13.getA1_3()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3());
-    assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3());
-
-    assert(dynamic_cast<A4*>(a13.getA1_3()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4());
-    assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4());
-
-    assert(dynamic_cast<A5*>(a13.getA1_3()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5());
-    assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5());
-
-    assert(dynamic_cast<A6*>(a13.getA1_3()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6());
-    assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6());
-
-    assert(dynamic_cast<A7*>(a13.getA1_3()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7());
-    assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7());
-
-    assert(dynamic_cast<A8*>(a13.getA1_3()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8());
-    assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8());
-
-    assert(dynamic_cast<A9*>(a13.getA1_3()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9());
-    assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9());
-
-    assert(dynamic_cast<A10*>(a13.getA1_3()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10());
-    assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10());
-
-    assert(dynamic_cast<A11*>(a13.getA1_3()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11());
-    assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11());
-
-    assert(dynamic_cast<A12*>(a13.getA1_3()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12());
-    assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12());
-
-    assert(dynamic_cast<A13*>(a13.getA1_3()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13());
-    assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13());
-}
-
-}  // t3
-
-int main()
-{
-    timer t;
-    t1::test();
-    t2::test();
-    t3::test();
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast3.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast3.pass.cpp
deleted file mode 100644
index d569d5a..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast3.pass.cpp
+++ /dev/null
@@ -1,2459 +0,0 @@
-//===------------------------- dynamic_cast3.cpp --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <cassert>
-#include "support/timer.h"
-
-// This test explicitly tests dynamic cast with types that have inaccessible
-// bases.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Winaccessible-base"
-#endif
-
-/*
-
-A1   A2   A3
-
-*/
-
-namespace t1
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t1
-
-/*
-
-A1   A2
-|
-A3
-
-*/
-
-namespace t2
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA3()) == 0);
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t2
-
-namespace t3
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA3()) == 0);
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t3
-
-namespace t4
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A1
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA3()) == 0);
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t4
-
-namespace t5
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA3()) == 0);
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t5
-
-/*
-
-A1   A2
- \  /
-  A3
-
-*/
-
-namespace t6
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t6
-
-namespace t7
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t7
-
-namespace t8
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t8
-
-namespace t9
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t9
-
-namespace t10
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t10
-
-namespace t11
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t11
-
-namespace t12
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t12
-
-namespace t13
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t13
-
-namespace t14
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t14
-
-namespace t15
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1,
-      private virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t15
-
-/*
-
-A1
-|
-A2
-|
-A3
-
-*/
-
-namespace t16
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t16
-
-namespace t17
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t17
-
-namespace t18
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t18
-
-namespace t19
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : protected virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t19
-
-namespace t20
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t20
-
-namespace t21
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t21
-
-namespace t22
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : protected virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t22
-
-namespace t23
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    t23::A1* getA1() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t23
-
-namespace t24
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : protected virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    t24::A1* getA1() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t24
-
-namespace t25
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : protected virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    t25::A1* getA1() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t25
-
-/*
-
-A1 A1
-|  |
-A2 |
- \ |  
-  A3
-
-*/
-
-namespace t26
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA12() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA12()) == a3.getA12());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA12());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA12()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA12()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t26
-
-namespace t27
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA12() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA12()) == a3.getA12());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t27
-
-namespace t28
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA12() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA12());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA12()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA12()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t28
-
-namespace t29
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA12() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA12());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA12()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t29
-
-namespace t30
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA12() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA12()) == a3.getA12());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA12());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA12()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t30
-
-namespace t31
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA12() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA12()) == a3.getA12());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t31
-
-namespace t32
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA12() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA12()) == a3.getA12());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t32
-
-namespace t33
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA12() {return A2::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA12()) == a3.getA12());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA12()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t33
-
-/*
-
-A1
-| \
-A2 \
- \ |  
-  A3
-
-*/
-
-namespace t34
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t34
-
-namespace t35
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t35
-
-namespace t36
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t36
-
-namespace t37
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t37
-
-namespace t38
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : public virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t38
-
-namespace t39
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t39
-
-namespace t40
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t40
-
-namespace t41
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-    : private virtual A1
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A1* getA1() {return this;}
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : private virtual A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return this;}
-    A3* getA3() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA1()) == a2.getA1());
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-}
-
-}  // t41
-
-int main()
-{
-    timer t;
-    t1::test();
-    t2::test();
-    t3::test();
-    t4::test();
-    t5::test();
-    t6::test();
-    t7::test();
-    t8::test();
-    t9::test();
-    t10::test();
-    t11::test();
-    t12::test();
-    t13::test();
-    t14::test();
-    t15::test();
-    t16::test();
-    t17::test();
-    t18::test();
-    t19::test();
-    t20::test();
-    t21::test();
-    t22::test();
-    t23::test();
-    t24::test();
-    t25::test();
-    t26::test();
-    t27::test();
-    t28::test();
-    t29::test();
-    t30::test();
-    t31::test();
-    t32::test();
-    t33::test();
-    t34::test();
-    t35::test();
-    t36::test();
-    t37::test();
-    t38::test();
-    t39::test();
-    t40::test();
-    t41::test();
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast5.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast5.pass.cpp
deleted file mode 100644
index a8e6d96..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast5.pass.cpp
+++ /dev/null
@@ -1,1320 +0,0 @@
-//===------------------------- dynamic_cast5.cpp --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <cassert>
-#include "support/timer.h"
-
-// This test explicitly tests dynamic cast with types that have inaccessible
-// bases.
-#if defined(__clang__)
-#pragma clang diagnostic ignored "-Winaccessible-base"
-#endif
-
-namespace t1
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1,
-      private A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public A3,
-      public A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    t1::A1* getA1() {return A3::getA1();}
-    A2* getA2() {return A3::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A4,
-      public A3
-{
-    char _[13489];
-    virtual ~A5() {}
-
-    t1::A1* getA1() {return A4::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A4::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a4.getA3()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a5.getA1()) == a5.getA1());
-    assert(dynamic_cast<A1*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA1());
-    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA1());
-    assert(dynamic_cast<A1*>(a5.getA5()) == a5.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-//    assert(dynamic_cast<A2*>(a3.getA3()) == 0);  // cast to private base
-    assert(dynamic_cast<A2*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-//    assert(dynamic_cast<A2*>(a4.getA3()) == 0);  // cast to private base
-//    assert(dynamic_cast<A2*>(a4.getA4()) == 0);  // cast to ambiguous base
-    assert(dynamic_cast<A2*>(a5.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-//    assert(dynamic_cast<A2*>(a5.getA3()) == 0);  // cast to private base
-//    assert(dynamic_cast<A2*>(a5.getA4()) == 0);  // cast to ambiguous base
-//    assert(dynamic_cast<A2*>(a5.getA5()) == 0);  // cast to ambiguous base
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == a4.getA3());
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA3()) == a4.getA3());
-    assert(dynamic_cast<A3*>(a4.getA4()) == a4.getA3());
-    assert(dynamic_cast<A3*>(a5.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == a5.getA3());
-//    assert(dynamic_cast<A3*>(a5.getA5()) == 0);  // cast to ambiguous base
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA3()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA1()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA1()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t1
-
-namespace t2
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public virtual A1,
-      public A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public A3,
-      public A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    t2::A1* getA1() {return A3::getA1();}
-    A2* getA2() {return A3::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A4,
-      public A3
-{
-    char _[13489];
-    virtual ~A5() {}
-
-    t2::A1* getA1() {return A4::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A4::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA3()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a5.getA1()) == a5.getA1());
-    assert(dynamic_cast<A1*>(a5.getA2()) == a5.getA1());
-    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA1());
-    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA1());
-    assert(dynamic_cast<A1*>(a5.getA5()) == a5.getA1());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA3()) == a4.getA2());
-//    assert(dynamic_cast<A2*>(a4.getA4()) == 0);  // cast to ambiguous base
-    assert(dynamic_cast<A2*>(a5.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA3()) == a5.getA2());
-//    assert(dynamic_cast<A2*>(a5.getA4()) == 0);  // cast to ambiguous base
-//    assert(dynamic_cast<A2*>(a5.getA5()) == 0);  // cast to ambiguous base
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == a4.getA3());
-    assert(dynamic_cast<A3*>(a4.getA2()) == a4.getA3());
-    assert(dynamic_cast<A3*>(a4.getA3()) == a4.getA3());
-    assert(dynamic_cast<A3*>(a4.getA4()) == a4.getA3());
-    assert(dynamic_cast<A3*>(a5.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == a5.getA3());
-//    assert(dynamic_cast<A3*>(a5.getA5()) == 0);  // cast to ambiguous base
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA3()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA1()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA2()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA1()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA2()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t2
-
-namespace t3
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public A1,
-      public virtual A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      public A4
-{
-    char _[41389];
-    virtual ~A5() {}
-
-    A1* getA14() {return A4::getA1();}
-    A1* getA13() {return A3::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a5.getA14()) == a5.getA14());
-    assert(dynamic_cast<A1*>(a5.getA13()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA14());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a4.getA1()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA4()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a5.getA14()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA13()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA3()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA4()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA5()) == a5.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA14()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA13()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA5()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA14()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA13()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA2()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA14()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA13()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA2()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t3
-
-namespace t4
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : protected A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public A1,
-      public virtual A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      public A4
-{
-    char _[41389];
-    virtual ~A5() {}
-
-    A1* getA14() {return A4::getA1();}
-    A1* getA13() {return A3::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-//    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());  // cast to protected base
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a5.getA14()) == a5.getA14());
-    assert(dynamic_cast<A1*>(a5.getA13()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA2()) == 0);
-//    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA13());  // cast to protected base
-    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA14());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a4.getA1()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA4()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a5.getA14()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA13()) == 0);
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA3()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA4()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA5()) == a5.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA14()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA13()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA5()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA14()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA13()) == 0);
-    assert(dynamic_cast<A4*>(a5.getA2()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA14()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA13()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA2()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t4
-
-namespace t5
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      protected virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public A1,
-      public virtual A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      public A4
-{
-    char _[41389];
-    virtual ~A5() {}
-
-    A1* getA14() {return A4::getA1();}
-    A1* getA13() {return A3::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a5.getA14()) == a5.getA14());
-    assert(dynamic_cast<A1*>(a5.getA13()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA14());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-//    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());  // cast to protected base
-    assert(dynamic_cast<A2*>(a4.getA1()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA4()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a5.getA14()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA13()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-//    assert(dynamic_cast<A2*>(a5.getA3()) == a5.getA2());  // cast to protected base
-    assert(dynamic_cast<A2*>(a5.getA4()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA5()) == a5.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA14()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA13()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA5()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA14()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA13()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA2()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA14()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA13()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA2()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t5
-
-namespace t6
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : protected A1,
-      public virtual A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      public A4
-{
-    char _[41389];
-    virtual ~A5() {}
-
-    A1* getA14() {return A4::getA1();}
-    A1* getA13() {return A3::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == 0);
-//    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());  // cast to protected base
-    assert(dynamic_cast<A1*>(a5.getA14()) == a5.getA14());
-    assert(dynamic_cast<A1*>(a5.getA13()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA13());
-//    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA14());  // cast to protected base
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA4()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a5.getA14()) == 0);
-    assert(dynamic_cast<A2*>(a5.getA13()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA3()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA4()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA5()) == a5.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA14()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA13()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA5()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA14()) == 0);
-    assert(dynamic_cast<A4*>(a5.getA13()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA2()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA14()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA13()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA2()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t6
-
-namespace t7
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public A1,
-      protected virtual A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      public A4
-{
-    char _[41389];
-    virtual ~A5() {}
-
-    A1* getA14() {return A4::getA1();}
-    A1* getA13() {return A3::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a5.getA14()) == a5.getA14());
-    assert(dynamic_cast<A1*>(a5.getA13()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA14());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-//    assert(dynamic_cast<A2*>(a4.getA4()) == a4.getA2());  // cast to protected base
-    assert(dynamic_cast<A2*>(a5.getA14()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA13()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA3()) == a5.getA2());
-//    assert(dynamic_cast<A2*>(a5.getA4()) == a5.getA2());  // cast to protected base
-    assert(dynamic_cast<A2*>(a5.getA5()) == a5.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA14()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA13()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA5()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA14()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA13()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA2()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA14()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA13()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA2()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t7
-
-namespace t8
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public A1,
-      public virtual A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : protected A3,
-      public A4
-{
-    char _[41389];
-    virtual ~A5() {}
-
-    A1* getA14() {return A4::getA1();}
-    A1* getA13() {return A3::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a5.getA14()) == a5.getA14());
-    assert(dynamic_cast<A1*>(a5.getA13()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA14());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a4.getA1()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA4()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a5.getA14()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA13()) == 0);
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA3()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA4()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA5()) == a5.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA14()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA13()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == 0);
-//    assert(dynamic_cast<A3*>(a5.getA5()) == a5.getA3());  // cast to protected base
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA14()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA13()) == 0);
-    assert(dynamic_cast<A4*>(a5.getA2()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA14()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA13()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA2()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t8
-
-namespace t9
-{
-
-struct A1
-{
-    char _[43981];
-    virtual ~A1() {}
-
-    A1* getA1() {return this;}
-};
-
-struct A2
-{
-    char _[34981];
-    virtual ~A2() {}
-
-    A2* getA2() {return this;}
-};
-
-struct A3
-    : public A1,
-      public virtual A2
-{
-    char _[93481];
-    virtual ~A3() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A3* getA3() {return this;}
-};
-
-struct A4
-    : public A1,
-      public virtual A2
-{
-    char _[13489];
-    virtual ~A4() {}
-
-    A1* getA1() {return A1::getA1();}
-    A2* getA2() {return A2::getA2();}
-    A4* getA4() {return this;}
-};
-
-struct A5
-    : public A3,
-      protected A4
-{
-    char _[41389];
-    virtual ~A5() {}
-
-    A1* getA14() {return A4::getA1();}
-    A1* getA13() {return A3::getA1();}
-    A2* getA2() {return A4::getA2();}
-    A3* getA3() {return A3::getA3();}
-    A4* getA4() {return A4::getA4();}
-    A5* getA5() {return this;}
-};
-
-void test()
-{
-    A1 a1;
-    A2 a2;
-    A3 a3;
-    A4 a4;
-    A5 a5;
-
-    assert(dynamic_cast<A1*>(a1.getA1()) == a1.getA1());
-    assert(dynamic_cast<A1*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a3.getA1()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA2()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a3.getA3()) == a3.getA1());
-    assert(dynamic_cast<A1*>(a4.getA1()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA2()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a4.getA4()) == a4.getA1());
-    assert(dynamic_cast<A1*>(a5.getA14()) == a5.getA14());
-    assert(dynamic_cast<A1*>(a5.getA13()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA2()) == 0);
-    assert(dynamic_cast<A1*>(a5.getA3()) == a5.getA13());
-    assert(dynamic_cast<A1*>(a5.getA4()) == a5.getA14());
-
-    assert(dynamic_cast<A2*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A2*>(a2.getA2()) == a2.getA2());
-    assert(dynamic_cast<A2*>(a3.getA1()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA2()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a3.getA3()) == a3.getA2());
-    assert(dynamic_cast<A2*>(a4.getA1()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA2()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a4.getA4()) == a4.getA2());
-    assert(dynamic_cast<A2*>(a5.getA14()) == 0);
-    assert(dynamic_cast<A2*>(a5.getA13()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA2()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA3()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA4()) == a5.getA2());
-    assert(dynamic_cast<A2*>(a5.getA5()) == a5.getA2());
-
-    assert(dynamic_cast<A3*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a3.getA1()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a3.getA3()) == a3.getA3());
-    assert(dynamic_cast<A3*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A3*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA14()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA13()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA3()) == a5.getA3());
-    assert(dynamic_cast<A3*>(a5.getA4()) == 0);
-    assert(dynamic_cast<A3*>(a5.getA5()) == a5.getA3());
-
-    assert(dynamic_cast<A4*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A4*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a4.getA1()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a4.getA4()) == a4.getA4());
-    assert(dynamic_cast<A4*>(a5.getA14()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA13()) == 0);
-    assert(dynamic_cast<A4*>(a5.getA2()) == a5.getA4());
-    assert(dynamic_cast<A4*>(a5.getA3()) == 0);
-    assert(dynamic_cast<A4*>(a5.getA4()) == a5.getA4());
-//    assert(dynamic_cast<A4*>(a5.getA5()) == a5.getA4());  // cast to protected base
-
-    assert(dynamic_cast<A5*>(a1.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a2.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a3.getA3()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA1()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA2()) == 0);
-    assert(dynamic_cast<A5*>(a4.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA14()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA13()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA2()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
-    assert(dynamic_cast<A5*>(a5.getA4()) == 0);
-    assert(dynamic_cast<A5*>(a5.getA5()) == a5.getA5());
-}
-
-}  // t9
-
-
-int main()
-{
-    timer t;
-    t1::test();
-    t2::test();
-    t3::test();
-    t4::test();
-    t5::test();
-    t6::test();
-    t7::test();
-    t8::test();
-    t9::test();
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast_stress.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast_stress.pass.cpp
deleted file mode 100644
index 73b398f..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/dynamic_cast_stress.pass.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//===------------------------- dynamic_cast_stress.cpp --------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-
-#include <cassert>
-#include <tuple>
-#include "support/timer.h"
-
-template <std::size_t Indx, std::size_t Depth>
-struct C
-    : public virtual C<Indx, Depth-1>,
-      public virtual C<Indx+1, Depth-1>
-{
-    virtual ~C() {}
-};
-
-template <std::size_t Indx>
-struct C<Indx, 0>
-{
-    virtual ~C() {}
-};
-
-template <std::size_t Indx, std::size_t Depth>
-struct B
-    : public virtual C<Indx, Depth-1>,
-      public virtual C<Indx+1, Depth-1>
-{
-};
-
-template <class Indx, std::size_t Depth>
-struct makeB;
-
-template <std::size_t ...Indx, std::size_t Depth>
-struct makeB<std::__tuple_indices<Indx...>, Depth>
-    : public B<Indx, Depth>...
-{
-};
-
-template <std::size_t Width, std::size_t Depth>
-struct A
-    : public makeB<typename std::__make_tuple_indices<Width>::type, Depth>
-{
-};
-
-void test()
-{
-    const std::size_t Width = 10;
-    const std::size_t Depth = 5;
-    A<Width, Depth> a;
-    typedef B<Width/2, Depth> Destination;
-//    typedef A<Width, Depth> Destination;
-    Destination *b = nullptr;
-    {
-        timer t;
-        b = dynamic_cast<Destination*>((C<Width/2, 0>*)&a);
-    }
-    assert(b != 0);
-}
-
-int main()
-{
-    test();
-}
-
-/*
-Timing results I'm seeing (median of 3 microseconds):
-
-                          libc++abi    gcc's dynamic_cast
-B<Width/2, Depth> -O3      48.334         93.190           libc++abi 93% faster
-B<Width/2, Depth> -Os      58.535         94.103           libc++abi 61% faster
-A<Width, Depth>   -O3      11.515         33.134           libc++abi 188% faster
-A<Width, Depth>   -Os      12.631         31.553           libc++abi 150% faster
-
-*/
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/__init__.py b/r23/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/__init__.py
+++ /dev/null
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/__init__.py b/r23/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/libcxxabi/test/__init__.py
+++ /dev/null
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/lit.local.cfg b/r23/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/lit.local.cfg
deleted file mode 100644
index 1b2c20c..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/native/arm-linux-eabi/lit.local.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-def is_arm_linux_eabi(triple):
-    return ('arm' in triple) and ('linux' in triple) and ('eabi' in triple)
-
-is_native = config.root.host_triple == config.root.target_triple
-if not is_native or not is_arm_linux_eabi(config.root.host_triple):
-    config.unsupported = True
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/support/timer.h b/r23/sources/cxx-stl/llvm-libc++abi/test/support/timer.h
deleted file mode 100644
index 98a5dc0..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/support/timer.h
+++ /dev/null
@@ -1,54 +0,0 @@
-//===----------------------------------------------------------------------===////
-//
-// 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
-//
-//===----------------------------------------------------------------------===////
-
-#ifndef TIMER_H
-#define TIMER_H
-
-// Define LIBCXXABI_NO_TIMER to disable testing with a timer.
-#ifndef LIBCXXABI_NO_TIMER
-
-#include <chrono>
-#include <iostream>
-
-class timer
-{
-    typedef std::chrono::high_resolution_clock Clock;
-    typedef Clock::time_point TimePoint;
-    typedef std::chrono::microseconds MicroSeconds;
-public:
-    timer() : m_start(Clock::now()) {}
-
-    timer(timer const &) = delete;
-    timer & operator=(timer const &) = delete;
-
-    ~timer()
-    {
-        using std::chrono::duration_cast;
-        TimePoint end = Clock::now();
-        MicroSeconds us = duration_cast<MicroSeconds>(end - m_start);
-        std::cout << us.count() << " microseconds\n";
-    }
-
-private:
-    TimePoint m_start;
-};
-
-#else /* LIBCXXABI_NO_TIMER */
-
-class timer
-{
-public:
-    timer() {}
-    timer(timer const &) = delete;
-    timer & operator=(timer const &) = delete;
-    ~timer() {}
-};
-
-#endif /* LIBCXXABI_NO_TIMER */
-
-#endif /* TIMER_H */
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_exception_storage.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/test_exception_storage.pass.cpp
deleted file mode 100644
index 305a970..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/test_exception_storage.pass.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//===-------------------- test_exception_storage.cpp ----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <cstdlib>
-#include <algorithm>
-#include <iostream>
-#include <__threading_support>
-#include <unistd.h>
-
-#include "../src/cxa_exception.h"
-
-typedef __cxxabiv1::__cxa_eh_globals globals_t ;
-
-void *thread_code (void *parm) {
-    size_t *result = (size_t *) parm;
-    globals_t *glob1, *glob2;
-    
-    glob1 = __cxxabiv1::__cxa_get_globals ();
-    if ( NULL == glob1 )
-        std::cerr << "Got null result from __cxa_get_globals" << std::endl;
-
-    glob2 = __cxxabiv1::__cxa_get_globals_fast ();
-    if ( glob1 != glob2 )
-        std::cerr << "Got different globals!" << std::endl;
-    
-    *result = (size_t) glob1;
-    sleep ( 1 );
-    return parm;
-    }
-
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-#define NUMTHREADS  10
-size_t                 thread_globals [ NUMTHREADS ] = { 0 };
-std::__libcpp_thread_t   threads        [ NUMTHREADS ];
-#endif
-
-int main () {
-    int retVal = 0;
-
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-//  Make the threads, let them run, and wait for them to finish
-    for ( int i = 0; i < NUMTHREADS; ++i )
-        std::__libcpp_thread_create ( threads + i, thread_code, (void *) (thread_globals + i));
-    for ( int i = 0; i < NUMTHREADS; ++i )
-        std::__libcpp_thread_join ( &threads [ i ] );
-
-    for ( int i = 0; i < NUMTHREADS; ++i )
-        if ( 0 == thread_globals [ i ] ) {
-            std::cerr << "Thread #" << i << " had a zero global" << std::endl;
-            retVal = 1;
-            }
-        
-    std::sort ( thread_globals, thread_globals + NUMTHREADS );
-    for ( int i = 1; i < NUMTHREADS; ++i )
-        if ( thread_globals [ i - 1 ] == thread_globals [ i ] ) {
-            std::cerr << "Duplicate thread globals (" << i-1 << " and " << i << ")" << std::endl;
-            retVal = 2;
-            }
-#else // _LIBCXXABI_HAS_NO_THREADS
-    size_t thread_globals;
-    // Check that __cxa_get_globals() is not NULL.
-    if (thread_code(&thread_globals) == 0) {
-        retVal = 1;
-    }
-#endif // !_LIBCXXABI_HAS_NO_THREADS
-    return retVal;
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_fallback_malloc.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/test_fallback_malloc.pass.cpp
deleted file mode 100644
index 3b3fd9b..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/test_fallback_malloc.pass.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-//===--------------------- test_fallback_malloc.cpp -----------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include <iostream>
-#include <deque>
-
-#include <__threading_support>
-
-typedef std::deque<void *> container;
-
-// #define  DEBUG_FALLBACK_MALLOC
-#define INSTRUMENT_FALLBACK_MALLOC
-#include "../src/fallback_malloc.cpp"
-
-container alloc_series ( size_t sz ) {
-    container ptrs;
-    void *p;
-    
-    while ( NULL != ( p = fallback_malloc ( sz )))
-        ptrs.push_back ( p );
-    return ptrs;
-    }
-
-container alloc_series ( size_t sz, float growth ) {
-    container ptrs;
-    void *p;
-    
-    while ( NULL != ( p = fallback_malloc ( sz ))) {
-        ptrs.push_back ( p );
-        sz *= growth;
-        }
-
-    return ptrs;
-    }
-
-container alloc_series ( const size_t *first, size_t len ) {
-    container ptrs;
-    const size_t *last = first + len;
-    void * p;
-    
-    for ( const size_t *iter = first; iter != last; ++iter ) {
-        if ( NULL == (p = fallback_malloc ( *iter )))
-            break;
-        ptrs.push_back ( p );
-        }
-
-    return ptrs;
-    }
-
-void *pop ( container &c, bool from_end ) {
-    void *ptr;
-    if ( from_end ) {
-        ptr = c.back ();
-        c.pop_back ();
-        }
-    else {
-        ptr = c.front ();
-        c.pop_front ();
-        }
-    return ptr;
-    }
-
-void exhaustion_test1 () {
-    container ptrs;
-    
-    init_heap ();
-    std::cout << "Constant exhaustion tests" << std::endl;
-    
-//  Delete in allocation order
-    ptrs = alloc_series ( 32 );
-    std::cout << "Allocated " << ptrs.size () << " 32 byte chunks" << std::endl;
-    print_free_list ();
-    for ( container::iterator iter = ptrs.begin (); iter != ptrs.end (); ++iter )
-        fallback_free ( *iter );
-    print_free_list ();
-    std::cout << "----" << std::endl;
-
-//  Delete in reverse order
-    ptrs = alloc_series ( 32 );
-    std::cout << "Allocated " << ptrs.size () << " 32 byte chunks" << std::endl;
-    for ( container::reverse_iterator iter = ptrs.rbegin (); iter != ptrs.rend (); ++iter )
-        fallback_free ( *iter );
-    print_free_list ();
-    std::cout << "----" << std::endl;
-
-//  Alternate deletions
-    ptrs = alloc_series ( 32 );
-    std::cout << "Allocated " << ptrs.size () << " 32 byte chunks" << std::endl;
-    while ( ptrs.size () > 0 )
-        fallback_free ( pop ( ptrs, ptrs.size () % 1 == 1 ));
-    print_free_list ();
-    }
-            
-void exhaustion_test2 () {
-    container ptrs;
-    init_heap ();
-    
-    std::cout << "Growing exhaustion tests" << std::endl;
-
-//  Delete in allocation order
-    ptrs = alloc_series ( 32, 1.5 );
-    std::cout << "Allocated " << ptrs.size () << " { 32, 48, 72, 108, 162 ... }  byte chunks" << std::endl;
-    print_free_list ();
-    for ( container::iterator iter = ptrs.begin (); iter != ptrs.end (); ++iter )
-        fallback_free ( *iter );
-    print_free_list ();
-    std::cout << "----" << std::endl;
-    
-//  Delete in reverse order
-    print_free_list ();
-    ptrs = alloc_series ( 32, 1.5 );
-    std::cout << "Allocated " << ptrs.size () << " { 32, 48, 72, 108, 162 ... }  byte chunks" << std::endl;
-    for ( container::reverse_iterator iter = ptrs.rbegin (); iter != ptrs.rend (); ++iter )
-        fallback_free ( *iter );
-    print_free_list ();
-    std::cout << "----" << std::endl;
-
-//  Alternate deletions
-    ptrs = alloc_series ( 32, 1.5 );
-    std::cout << "Allocated " << ptrs.size () << " { 32, 48, 72, 108, 162 ... }  byte chunks" << std::endl;
-    while ( ptrs.size () > 0 )
-        fallback_free ( pop ( ptrs, ptrs.size () % 1 == 1 ));
-    print_free_list (); 
-    
-    }
-
-void exhaustion_test3 () {
-    const size_t allocs [] = { 124, 60, 252, 60, 4 };
-    container ptrs;
-    init_heap ();
-    
-    std::cout << "Complete exhaustion tests" << std::endl;
-
-//  Delete in allocation order
-    ptrs = alloc_series ( allocs, sizeof ( allocs ) / sizeof ( allocs[0] ));
-    std::cout << "Allocated " << ptrs.size () << " chunks" << std::endl;
-    print_free_list ();
-    for ( container::iterator iter = ptrs.begin (); iter != ptrs.end (); ++iter )
-        fallback_free ( *iter );
-    print_free_list ();
-    std::cout << "----" << std::endl;
-    
-//  Delete in reverse order
-    print_free_list ();
-    ptrs = alloc_series ( allocs, sizeof ( allocs ) / sizeof ( allocs[0] ));
-    std::cout << "Allocated " << ptrs.size () << " chunks" << std::endl;
-    for ( container::reverse_iterator iter = ptrs.rbegin (); iter != ptrs.rend (); ++iter )
-        fallback_free ( *iter );
-    print_free_list ();
-    std::cout << "----" << std::endl;
-
-//  Alternate deletions
-    ptrs = alloc_series ( allocs, sizeof ( allocs ) / sizeof ( allocs[0] ));
-    std::cout << "Allocated " << ptrs.size () << " chunks" << std::endl;
-    while ( ptrs.size () > 0 )
-        fallback_free ( pop ( ptrs, ptrs.size () % 1 == 1 ));
-    print_free_list (); 
-    
-    }
-
-    
-int main () {
-    print_free_list ();
-
-    char *p = (char *) fallback_malloc ( 1024 );    // too big!
-    std::cout << "fallback_malloc ( 1024 ) --> " << (unsigned long ) p << std::endl;
-    print_free_list ();
-    
-    p = (char *) fallback_malloc ( 32 );
-    std::cout << "fallback_malloc ( 32 ) --> " << (unsigned long) (p - heap) << std::endl;
-    if ( !is_fallback_ptr ( p ))
-        std::cout << "### p is not a fallback pointer!!" << std::endl;
-    
-    print_free_list ();
-    fallback_free ( p );
-    print_free_list ();
-    
-    std::cout << std::endl;
-    exhaustion_test1 (); std::cout << std::endl;
-    exhaustion_test2 (); std::cout << std::endl;
-    exhaustion_test3 (); std::cout << std::endl;
-    return 0;
-    }
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_guard.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/test_guard.pass.cpp
deleted file mode 100644
index 73f3559..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/test_guard.pass.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-//===----------------------------- test_guard.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "cxxabi.h"
-
-#include <cassert>
-
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-#include <thread>
-#endif
-
-// Ensure that we initialize each variable once and only once.
-namespace test1 {
-    static int run_count = 0;
-    int increment() {
-        ++run_count;
-        return 0;
-    }
-    void helper() {
-        static int a = increment();
-        ((void)a);
-    }
-    void test() {
-        static int a = increment(); ((void)a);
-        assert(run_count == 1);
-        static int b = increment(); ((void)b);
-        assert(run_count == 2);
-        helper();
-        assert(run_count == 3);
-        helper();
-        assert(run_count == 3);
-    }
-}
-
-// When initialization fails, ensure that we try to initialize it again next
-// time.
-namespace test2 {
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-    static int run_count = 0;
-    int increment() {
-        ++run_count;
-        throw 0;
-    }
-    void helper() {
-        try {
-            static int a = increment();
-            assert(false);
-            ((void)a);
-        } catch (...) {}
-    }
-    void test() {
-        helper();
-        assert(run_count == 1);
-        helper();
-        assert(run_count == 2);
-    }
-#else
-   void test() {}
-#endif
-}
-
-// Check that we can initialize a second value while initializing a first.
-namespace test3 {
-    int zero() {
-        return 0;
-    }
-
-    int one() {
-        static int b = zero(); ((void)b);
-        return 0;
-    }
-
-    void test() {
-        static int a = one(); ((void)a);
-    }
-}
-
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-// A simple thread test of two threads racing to initialize a variable. This
-// isn't guaranteed to catch any particular threading problems.
-namespace test4 {
-    static int run_count = 0;
-    int increment() {
-        ++run_count;
-        return 0;
-    }
-
-    void helper() {
-        static int a = increment(); ((void)a);
-    }
-
-    void test() {
-        std::thread t1(helper), t2(helper);
-        t1.join();
-        t2.join();
-        assert(run_count == 1);
-    }
-}
-
-// Check that we don't re-initialize a static variable even when it's
-// encountered from two different threads.
-namespace test5 {
-    static int run_count = 0;
-    int zero() {
-        ++run_count;
-        return 0;
-    }
-
-    int one() {
-        static int b = zero(); ((void)b);
-        return 0;
-    }
-
-    void another_helper() {
-        static int a = one(); ((void)a);
-    }
-
-    void helper() {
-        static int a = one(); ((void)a);
-        std::thread t(another_helper);
-        t.join();
-    }
-
-    void test() {
-        std::thread t(helper);
-        t.join();
-        assert(run_count == 1);
-    }
-}
-#endif /* _LIBCXXABI_HAS_NO_THREADS */
-
-int main()
-{
-    test1::test();
-    test2::test();
-    test3::test();
-#ifndef _LIBCXXABI_HAS_NO_THREADS
-    test4::test();
-    test5::test();
-#endif
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/test_vector1.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/test_vector1.pass.cpp
deleted file mode 100644
index 841d1ab..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/test_vector1.pass.cpp
+++ /dev/null
@@ -1,280 +0,0 @@
-//===---------------------------- test_vector.cpp -------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "cxxabi.h"
-
-#include <iostream>
-#include <cstdlib>
-#include <cassert>
-
-//  Wrapper routines
-void *my_alloc2 ( size_t sz ) {
-    void *p = std::malloc ( sz );
-//  std::printf ( "Allocated %ld bytes at %lx\n", sz, (unsigned long) p );  
-    return p;
-    }
-    
-void my_dealloc2 ( void *p ) {
-//  std::printf ( "Freeing %lx\n", (unsigned long) p ); 
-    std::free ( p ); 
-    }
-
-void my_dealloc3 ( void *p, size_t ) {
-//  std::printf ( "Freeing %lx (size %ld)\n", (unsigned long) p, sz );  
-    std::free ( p ); 
-    }
-
-void my_construct ( void * ) {
-//  std::printf ( "Constructing %lx\n", (unsigned long) p );
-    }
-
-void my_destruct  ( void * ) {
-//  std::printf ( "Destructing  %lx\n", (unsigned long) p );
-    }
-
-int gCounter;
-void count_construct ( void * ) { ++gCounter; }
-void count_destruct  ( void * ) { --gCounter; }
-
-
-int gConstructorCounter;
-int gConstructorThrowTarget;
-int gDestructorCounter;
-int gDestructorThrowTarget;
-void throw_construct ( void * ) {
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-    if ( gConstructorCounter   == gConstructorThrowTarget )
-        throw 1;
-    ++gConstructorCounter;
-#endif
-}
-void throw_destruct  ( void * ) {
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-    if ( ++gDestructorCounter  == gDestructorThrowTarget  )
-        throw 2;
-#endif
-}
-
-#if __cplusplus >= 201103L
-#   define CAN_THROW noexcept(false)
-#else
-#   define CAN_THROW
-#endif
-
-struct vec_on_stack {
-    void *storage;
-    vec_on_stack () : storage ( __cxxabiv1::__cxa_vec_new    (            10, 40, 8, throw_construct, throw_destruct )) {}
-    ~vec_on_stack () CAN_THROW {__cxxabiv1::__cxa_vec_delete ( storage,       40, 8,                  throw_destruct );  }
-    };
-
-//  Test calls with empty constructors and destructors
-int test_empty ( ) {
-    void *one, *two, *three;
-
-//  Try with no padding and no con/destructors
-    one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 0, NULL, NULL );
-    two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 0, NULL, NULL, my_alloc2, my_dealloc2 );
-    three   = __cxxabiv1::__cxa_vec_new3( 10, 40, 0, NULL, NULL, my_alloc2, my_dealloc3 );
-
-    __cxxabiv1::__cxa_vec_delete ( one,       40, 0, NULL );
-    __cxxabiv1::__cxa_vec_delete2( two,       40, 0, NULL, my_dealloc2 );
-    __cxxabiv1::__cxa_vec_delete3( three,     40, 0, NULL, my_dealloc3 );
-    
-//  Try with no padding
-    one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 0, my_construct, my_destruct );
-    two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 0, my_construct, my_destruct, my_alloc2, my_dealloc2 );
-    three   = __cxxabiv1::__cxa_vec_new3( 10, 40, 0, my_construct, my_destruct, my_alloc2, my_dealloc3 );
-
-    __cxxabiv1::__cxa_vec_delete ( one,       40, 0, my_destruct );
-    __cxxabiv1::__cxa_vec_delete2( two,       40, 0, my_destruct, my_dealloc2 );
-    __cxxabiv1::__cxa_vec_delete3( three,     40, 0, my_destruct, my_dealloc3 );
-
-//  Padding and no con/destructors 
-    one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 8, NULL, NULL );
-    two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 8, NULL, NULL, my_alloc2, my_dealloc2 );
-    three   = __cxxabiv1::__cxa_vec_new3( 10, 40, 8, NULL, NULL, my_alloc2, my_dealloc3 );
-
-    __cxxabiv1::__cxa_vec_delete ( one,       40, 8, NULL );
-    __cxxabiv1::__cxa_vec_delete2( two,       40, 8, NULL, my_dealloc2 );
-    __cxxabiv1::__cxa_vec_delete3( three,     40, 8, NULL, my_dealloc3 );
-
-//  Padding with con/destructors 
-    one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 8, my_construct, my_destruct );
-    two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 8, my_construct, my_destruct, my_alloc2, my_dealloc2 );
-    three   = __cxxabiv1::__cxa_vec_new3( 10, 40, 8, my_construct, my_destruct, my_alloc2, my_dealloc3 );
-
-    __cxxabiv1::__cxa_vec_delete ( one,       40, 8, my_destruct );
-    __cxxabiv1::__cxa_vec_delete2( two,       40, 8, my_destruct, my_dealloc2 );
-    __cxxabiv1::__cxa_vec_delete3( three,     40, 8, my_destruct, my_dealloc3 );
-
-    return 0;
-    }
-
-//  Make sure the constructors and destructors are matched
-int test_counted ( ) {
-    int retVal = 0;
-    void *one, *two, *three;
-
-//  Try with no padding
-    gCounter = 0;   
-    one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 0, count_construct, count_destruct );
-    two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 0, count_construct, count_destruct, my_alloc2, my_dealloc2 );
-    three   = __cxxabiv1::__cxa_vec_new3( 10, 40, 0, count_construct, count_destruct, my_alloc2, my_dealloc3 );
-    
-    __cxxabiv1::__cxa_vec_delete ( one,       40, 0, count_destruct );
-    __cxxabiv1::__cxa_vec_delete2( two,       40, 0, count_destruct, my_dealloc2 );
-    __cxxabiv1::__cxa_vec_delete3( three,     40, 0, count_destruct, my_dealloc3 );
-    
-//  Since there was no padding, the # of elements in the array are not stored 
-//  and the destructors are not called.
-    if ( gCounter != 30 ) {
-        std::cerr << "Mismatched Constructor/Destructor calls (1)" << std::endl;
-        std::cerr << "  Expected 30, got " << gCounter << std::endl;
-        retVal = 1;
-        }
-    
-    gCounter = 0;   
-    one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 8, count_construct, count_destruct );
-    two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 8, count_construct, count_destruct, my_alloc2, my_dealloc2 );
-    three   = __cxxabiv1::__cxa_vec_new3( 10, 40, 8, count_construct, count_destruct, my_alloc2, my_dealloc3 );
-
-    __cxxabiv1::__cxa_vec_delete ( one,       40, 8, count_destruct );
-    __cxxabiv1::__cxa_vec_delete2( two,       40, 8, count_destruct, my_dealloc2 );
-    __cxxabiv1::__cxa_vec_delete3( three,     40, 8, count_destruct, my_dealloc3 );
-
-    if ( gCounter != 0 ) {
-        std::cerr << "Mismatched Constructor/Destructor calls (2)" << std::endl;
-        std::cerr << "  Expected 0, got " << gCounter << std::endl;
-        retVal = 1;
-        }
-
-    return retVal;
-    }
-    
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-//  Make sure the constructors and destructors are matched
-int test_exception_in_constructor ( ) {
-    int retVal = 0;
-    void *one, *two, *three;
-
-//  Try with no padding
-    gConstructorCounter = gDestructorCounter = 0;
-    gConstructorThrowTarget = 15;
-    gDestructorThrowTarget  = -1;
-    try {
-        one = two = three = NULL;
-        one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 0, throw_construct, throw_destruct );
-        two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 0, throw_construct, throw_destruct, my_alloc2, my_dealloc2 );
-        three   = __cxxabiv1::__cxa_vec_new3( 10, 40, 0, throw_construct, throw_destruct, my_alloc2, my_dealloc3 );
-        }
-    catch ( int i ) {}
-    
-    __cxxabiv1::__cxa_vec_delete ( one,       40, 0, throw_destruct );
-    __cxxabiv1::__cxa_vec_delete2( two,       40, 0, throw_destruct, my_dealloc2 );
-    __cxxabiv1::__cxa_vec_delete3( three,     40, 0, throw_destruct, my_dealloc3 );
-    
-//  Since there was no padding, the # of elements in the array are not stored 
-//  and the destructors are not called.
-//  Since we threw after 15 calls to the constructor, we should see 5 calls to
-//      the destructor from the partially constructed array.
-    if ( gConstructorCounter - gDestructorCounter != 10 ) {
-        std::cerr << "Mismatched Constructor/Destructor calls (1C)" << std::endl;
-        std::cerr << gConstructorCounter << " constructors, but " << 
-                gDestructorCounter << " destructors" << std::endl;
-        retVal = 1;
-        }
-    
-    gConstructorCounter = gDestructorCounter = 0;
-    gConstructorThrowTarget = 15;
-    gDestructorThrowTarget  = -1;
-    try {
-        one = two = three = NULL;
-        one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 8, throw_construct, throw_destruct );
-        two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 8, throw_construct, throw_destruct, my_alloc2, my_dealloc2 );
-        three   = __cxxabiv1::__cxa_vec_new3( 10, 40, 8, throw_construct, throw_destruct, my_alloc2, my_dealloc3 );
-        }
-    catch ( int i ) {}
-    
-    __cxxabiv1::__cxa_vec_delete ( one,       40, 8, throw_destruct );
-    __cxxabiv1::__cxa_vec_delete2( two,       40, 8, throw_destruct, my_dealloc2 );
-    __cxxabiv1::__cxa_vec_delete3( three,     40, 8, throw_destruct, my_dealloc3 );
-
-    if ( gConstructorCounter != gDestructorCounter ) {
-        std::cerr << "Mismatched Constructor/Destructor calls (2C)" << std::endl;
-        std::cerr << gConstructorCounter << " constructors, but " << 
-                gDestructorCounter << " destructors" << std::endl;
-        retVal = 1;
-        }
-
-    return retVal;
-    }
-#endif
-
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-//  Make sure the constructors and destructors are matched
-int test_exception_in_destructor ( ) {
-    int retVal = 0;
-    void *one, *two, *three;
-    one = two = three = NULL;
-
-//  Throw from within a destructor
-    gConstructorCounter = gDestructorCounter = 0;
-    gConstructorThrowTarget = -1;
-    gDestructorThrowTarget  = 15;
-    try {
-        one = two = NULL;
-        one     = __cxxabiv1::__cxa_vec_new ( 10, 40, 8, throw_construct, throw_destruct );
-        two     = __cxxabiv1::__cxa_vec_new2( 10, 40, 8, throw_construct, throw_destruct, my_alloc2, my_dealloc2 );
-        }
-    catch ( int i ) {}
-    
-    try {
-        __cxxabiv1::__cxa_vec_delete ( one,       40, 8, throw_destruct );
-        __cxxabiv1::__cxa_vec_delete2( two,       40, 8, throw_destruct, my_dealloc2 );
-        assert(false);
-        }
-    catch ( int i ) {}
-    
-//  We should have thrown in the middle of cleaning up "two", which means that
-//  there should be 20 calls to the destructor and the try block should exit
-//  before the assertion.
-    if ( gConstructorCounter != 20 || gDestructorCounter != 20 ) {
-        std::cerr << "Unexpected Constructor/Destructor calls (1D)" << std::endl;
-        std::cerr << "Expected (20, 20), but got (" << gConstructorCounter << ", " <<
-                gDestructorCounter << ")" << std::endl;
-        retVal = 1;
-        }
-
-//  Try throwing from a destructor - should be fine.
-    gConstructorCounter = gDestructorCounter = 0;
-    gConstructorThrowTarget = -1;
-    gDestructorThrowTarget  = 5;
-    try { vec_on_stack v; }
-    catch ( int i ) {}
-    
-    if ( gConstructorCounter != gDestructorCounter ) {
-        std::cerr << "Mismatched Constructor/Destructor calls (2D)" << std::endl;
-        std::cerr << gConstructorCounter << " constructors, but " << 
-                gDestructorCounter << " destructors" << std::endl;
-        retVal = 1;
-        }
-
-    return retVal;
-    }
-#endif
-
-int main () {
-    int retVal = 0;
-    retVal += test_empty ();
-    retVal += test_counted ();
-#ifndef LIBCXXABI_HAS_NO_EXCEPTIONS
-    retVal += test_exception_in_constructor ();
-    retVal += test_exception_in_destructor ();
-#endif
-    return retVal;
-    }
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/thread_local_destruction_order.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/thread_local_destruction_order.pass.cpp
deleted file mode 100644
index 388cdc4..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/thread_local_destruction_order.pass.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-//===-------------- thread_local_destruction_order.pass.cpp ---------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// Darwin TLV finalization routines fail when creating a thread-local variable
-// in the destructor for another thread-local variable:
-// http://lists.llvm.org/pipermail/cfe-dev/2016-November/051376.html
-// XFAIL: darwin
-// UNSUPPORTED: c++98, c++03
-// UNSUPPORTED: libcxxabi-no-threads
-
-#include <cassert>
-#include <thread>
-
-int seq = 0;
-
-class OrderChecker {
-public:
-  explicit OrderChecker(int n) : n_{n} { }
-
-  ~OrderChecker() {
-    assert(seq++ == n_);
-  }
-
-private:
-  int n_;
-};
-
-template <int ID>
-class CreatesThreadLocalInDestructor {
-public:
-  ~CreatesThreadLocalInDestructor() {
-    thread_local OrderChecker checker{ID};
-  }
-};
-
-OrderChecker global{7};
-
-void thread_fn() {
-  static OrderChecker fn_static{5};
-  thread_local CreatesThreadLocalInDestructor<2> creates_tl2;
-  thread_local OrderChecker fn_thread_local{1};
-  thread_local CreatesThreadLocalInDestructor<0> creates_tl0;
-}
-
-int main() {
-  static OrderChecker fn_static{6};
-
-  std::thread{thread_fn}.join();
-  assert(seq == 3);
-
-  thread_local OrderChecker fn_thread_local{4};
-  thread_local CreatesThreadLocalInDestructor<3> creates_tl;
-
-  return 0;
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/test/unittest_demangle.pass.cpp b/r23/sources/cxx-stl/llvm-libc++abi/test/unittest_demangle.pass.cpp
deleted file mode 100644
index 0e7ff5c..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/test/unittest_demangle.pass.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-//===----------------------- unittest_demangle.cpp ------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-
-#include "../src/cxa_demangle.cpp"
-
-using namespace __cxxabiv1;
-
-void testPODSmallVector() {
-  { // {push/pop}_back
-    PODSmallVector<int, 1> PSV;
-    PSV.push_back(0);
-    PSV.push_back(1);
-    PSV.push_back(2);
-    PSV.push_back(3);
-    for (int i = 0; i < 4; ++i)
-      assert(PSV[i] == i);
-    PSV.pop_back();
-    for (int i = 0; i < 3; ++i)
-      assert(PSV[i] == i);
-    PSV.pop_back();
-    PSV.pop_back();
-    assert(!PSV.empty() && PSV.size() == 1);
-    PSV.pop_back();
-    assert(PSV.empty() && PSV.size() == 0);
-  }
-
-  {
-    PODSmallVector<int, 1> PSV1;
-    PSV1.push_back(1);
-    PSV1.push_back(2);
-    PSV1.push_back(3);
-
-    PODSmallVector<int, 1> PSV2;
-    std::swap(PSV1, PSV2);
-    assert(PSV1.size() == 0);
-    assert(PSV2.size() == 3);
-    int i = 1;
-    for (int x : PSV2) {
-      assert(x == i);
-      ++i;
-    }
-    assert(i == 4);
-    std::swap(PSV1, PSV2);
-    assert(PSV1.size() == 3);
-    assert(PSV2.size() == 0);
-    i = 1;
-    for (int x : PSV1) {
-      assert(x == i);
-      ++i;
-    }
-    assert(i == 4);
-  }
-
-  {
-    PODSmallVector<int, 10> PSV1;
-    PODSmallVector<int, 10> PSV2;
-    PSV1.push_back(0);
-    PSV1.push_back(1);
-    PSV1.push_back(2);
-    assert(PSV1.size() == 3);
-    assert(PSV2.size() == 0);
-    std::swap(PSV1, PSV2);
-    assert(PSV1.size() == 0);
-    assert(PSV2.size() == 3);
-    int i = 0;
-    for (int x : PSV2) {
-      assert(x == i);
-      ++i;
-    }
-    for (int x : PSV1) {
-      assert(false);
-      (void)x;
-    }
-  }
-}
-
-int main() {
-  testPODSmallVector();
-}
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/www/content.css b/r23/sources/cxx-stl/llvm-libc++abi/www/content.css
deleted file mode 100644
index dca6a32..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/www/content.css
+++ /dev/null
@@ -1,27 +0,0 @@
-html { margin: 0px; } body { margin: 8px; }
-
-html, body {
-  padding:0px;
-  font-size:small; font-family:"Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, Helvetica, sans-serif; background-color: #fff; color: #222;
-  line-height:1.5;
-}
-
-h1, h2, h3, tt { color: #000 }
-
-h1 { padding-top:0px; margin-top:0px;}
-h2 { color:#333333; padding-top:0.5em; }
-h3 { padding-top: 0.5em; margin-bottom: -0.25em; color:#2d58b7}
-li { padding-bottom: 0.5em; }
-ul { padding-left:1.5em; }
-
-/* Slides */
-IMG.img_slide {
-    display: block;
-    margin-left: auto;
-    margin-right: auto
-}
-
-.itemTitle { color:#2d58b7 }
-
-/* Tables */
-tr { vertical-align:top }
diff --git a/r23/sources/cxx-stl/llvm-libc++abi/www/menu.css b/r23/sources/cxx-stl/llvm-libc++abi/www/menu.css
deleted file mode 100644
index 4a887b1..0000000
--- a/r23/sources/cxx-stl/llvm-libc++abi/www/menu.css
+++ /dev/null
@@ -1,39 +0,0 @@
-/***************/
-/* page layout */
-/***************/
-
-[id=menu] {
-	position:fixed;
-	width:25ex;
-}
-[id=content] {
-	/* *****  EDIT THIS VALUE IF CONTENT OVERLAPS MENU ***** */
-	position:absolute;
-  left:29ex;
-	padding-right:4ex;
-}
-
-/**************/
-/* menu style */
-/**************/
-
-#menu .submenu {
-	padding-top:1em;
-	display:block;
-}
-
-#menu label {
-	display:block;
-	font-weight: bold;
-	text-align: center;
-	background-color: rgb(192,192,192);
-}
-#menu a {
-	padding:0 .2em;
-	display:block;
-	text-align: center;
-	background-color: rgb(235,235,235);
-}
-#menu a:visited {
-	color:rgb(100,50,100);
-}
diff --git a/r23/sources/cxx-stl/system/MODULE_LICENSE_BSD b/r23/sources/cxx-stl/system/MODULE_LICENSE_BSD
deleted file mode 100644
index e69de29..0000000
--- a/r23/sources/cxx-stl/system/MODULE_LICENSE_BSD
+++ /dev/null
diff --git a/r23/sources/cxx-stl/system/NOTICE b/r23/sources/cxx-stl/system/NOTICE
deleted file mode 100644
index c6e5253..0000000
--- a/r23/sources/cxx-stl/system/NOTICE
+++ /dev/null
@@ -1,79 +0,0 @@
-Copyright (C) 2009 The Android Open Source Project
-All rights reserved.
-
-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 OWNER 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.
-
-
-
-Copyright (C) 2008 The Android Open Source Project
-All rights reserved.
-
-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 OWNER 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.
-
-
-
-Copyright (c) 1994
-Hewlett-Packard Company
-
-Permission to use, copy, modify, distribute and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and
-that both that copyright notice and this permission notice appear
-in supporting documentation.  Hewlett-Packard Company makes no
-representations about the suitability of this software for any
-purpose.  It is provided "as is" without express or implied warranty.
-
-
-
-Copyright (c) 1996,1997
-Silicon Graphics Computer Systems, Inc.
-
-Permission to use, copy, modify, distribute and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and
-that both that copyright notice and this permission notice appear
-in supporting documentation.  Silicon Graphics makes no
-representations about the suitability of this software for any
-purpose.  It is provided "as is" without express or implied warranty.
diff --git a/r23/sources/cxx-stl/system/include/cassert b/r23/sources/cxx-stl/system/include/cassert
deleted file mode 100644
index 5753e34..0000000
--- a/r23/sources/cxx-stl/system/include/cassert
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-/*
- * Standard C++ Library wrapper around the C assert.h header file.  This file
- * can be included multiple times with different definition of NDEBUG, hence the
- * absence of include guards.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CASSERT__
-#define BIONIC_LIBSTDCPP_INCLUDE_CASSERT__
-#endif
-#include <assert.h>
diff --git a/r23/sources/cxx-stl/system/include/cctype b/r23/sources/cxx-stl/system/include/cctype
deleted file mode 100644
index e0eb981..0000000
--- a/r23/sources/cxx-stl/system/include/cctype
+++ /dev/null
@@ -1,60 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CCTYPE__
-#define BIONIC_LIBSTDCPP_INCLUDE_CCTYPE__
-
-/*
- * Standard C++ Library wrapper around the C ctype.h header file.
- */
-
-#include <ctype.h>
-
-extern "C++" {
-
-namespace std 
-{
-using ::isalnum;
-using ::isalpha;
-using ::iscntrl;
-using ::isdigit;
-using ::isgraph;
-using ::islower;
-using ::isprint;
-using ::ispunct;
-using ::isspace;
-using ::isupper;
-using ::isxdigit;
-using ::tolower;
-using ::toupper;
-}  // namespace std
-
-}  // extern C++
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CCTYPE__
diff --git a/r23/sources/cxx-stl/system/include/cerrno b/r23/sources/cxx-stl/system/include/cerrno
deleted file mode 100644
index e53ca25..0000000
--- a/r23/sources/cxx-stl/system/include/cerrno
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CERRNO__
-#define BIONIC_LIBSTDCPP_INCLUDE_CERRNO__
-
-/*
- * Standard C++ Library wrapper around the C errno.h header file.
- */
-#include <errno.h>
-
-// errno is a macro, so we can't define std::errno
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CERRNO__
diff --git a/r23/sources/cxx-stl/system/include/cfloat b/r23/sources/cxx-stl/system/include/cfloat
deleted file mode 100644
index 21c01d9..0000000
--- a/r23/sources/cxx-stl/system/include/cfloat
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CFLOAT__
-#define BIONIC_LIBSTDCPP_INCLUDE_CFLOAT__
-
-/*
- * Standard C++ Library wrapper around the C float.h header file.
- */
-#include <sys/limits.h>
-#include <float.h>
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CFLOAT__
diff --git a/r23/sources/cxx-stl/system/include/climits b/r23/sources/cxx-stl/system/include/climits
deleted file mode 100644
index df85cb9..0000000
--- a/r23/sources/cxx-stl/system/include/climits
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CLIMITS__
-#define BIONIC_LIBSTDCPP_INCLUDE_CLIMITS__
-
-/*
- * Standard C++ Library wrapper around the C limits.h header file.
- */
-
-#include <limits.h>
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CLIMITS__
diff --git a/r23/sources/cxx-stl/system/include/cmath b/r23/sources/cxx-stl/system/include/cmath
deleted file mode 100644
index be70343..0000000
--- a/r23/sources/cxx-stl/system/include/cmath
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CMATH__
-#define BIONIC_LIBSTDCPP_INCLUDE_CMATH__
-
-/*
- * Standard C++ Library wrapper around the C time.h header file.
- */
-
-#include <cstddef>
-#include <math.h>
-
-extern "C++" {
-
-namespace std
-{
-// Functions.
-using ::cos;
-using ::sin;
-using ::tan;
-using ::acos;
-using ::asin;
-using ::atan;
-using ::atan2;
-
-using ::cosh;
-using ::sinh;
-using ::tanh;
-
-using ::exp;
-using ::frexp;
-using ::ldexp;
-using ::log;
-using ::log10;
-using ::modf;
-
-using ::pow;
-using ::sqrt;
-
-using ::ceil;
-using ::fabs;
-using ::floor;
-using ::fmod;
-}  // namespace std
-
-}  // extern C++
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CMATH__
diff --git a/r23/sources/cxx-stl/system/include/csetjmp b/r23/sources/cxx-stl/system/include/csetjmp
deleted file mode 100644
index ba82144..0000000
--- a/r23/sources/cxx-stl/system/include/csetjmp
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSETJMP__
-#define BIONIC_LIBSTDCPP_INCLUDE_CSETJMP__
-
-/*
- * Standard C++ Library wrapper around the C setjmp.h header file.
- */
-
-#include <setjmp.h>
-
-extern "C++" {
-
-#ifndef setjmp
-#define setjmp(env) setjmp (env)
-#endif
-
-namespace std
-{
-using ::jmp_buf;
-using ::longjmp;
-}  // namespace std
-
-}  // extern C++
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CSETJMP__
diff --git a/r23/sources/cxx-stl/system/include/csignal b/r23/sources/cxx-stl/system/include/csignal
deleted file mode 100644
index 84f0e1d..0000000
--- a/r23/sources/cxx-stl/system/include/csignal
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSIGNAL__
-#define BIONIC_LIBSTDCPP_INCLUDE_CSIGNAL__
-
-/*
- * Standard C++ Library wrapper around the C signal.h header file.
- */
-
-#include <signal.h>
-
-extern "C++" {
-
-namespace std
-{
-using ::sig_atomic_t;
-using ::signal;
-using ::raise;
-}  // namespace std
-
-}  // extern C++
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CSIGNAL__
diff --git a/r23/sources/cxx-stl/system/include/cstddef b/r23/sources/cxx-stl/system/include/cstddef
deleted file mode 100644
index 91fb7af..0000000
--- a/r23/sources/cxx-stl/system/include/cstddef
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTDDEF__
-#define BIONIC_LIBSTDCPP_INCLUDE_CSTDDEF__
-
-#include <stddef.h>
-
-extern "C++" {
-
-namespace std {
-
-using ::ptrdiff_t;
-using ::size_t;
-
-#if __cplusplus >= 201103L
-typedef decltype(nullptr) nullptr_t;
-#endif
-
-}
-
-}
-
-#endif
diff --git a/r23/sources/cxx-stl/system/include/cstdint b/r23/sources/cxx-stl/system/include/cstdint
deleted file mode 100644
index 3df56df..0000000
--- a/r23/sources/cxx-stl/system/include/cstdint
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTDINT__
-#define BIONIC_LIBSTDCPP_INCLUDE_CSTDINT__
-
-/*
- * Standard C++ Library wrapper around the C stdint.h header file.
- */
-
-#include <stdint.h>
-
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CSTDINT__
diff --git a/r23/sources/cxx-stl/system/include/cstdio b/r23/sources/cxx-stl/system/include/cstdio
deleted file mode 100644
index 0a0e0f5..0000000
--- a/r23/sources/cxx-stl/system/include/cstdio
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTDIO__
-#define BIONIC_LIBSTDCPP_INCLUDE_CSTDIO__
-
-/*
- * Standard C++ Library wrapper around the C stdio.h header file.
- */
-#include <cstddef>
-#include <stdio.h>
-
-extern "C++" {
-
-namespace std {
-using ::FILE;
-using ::fpos_t;
-
-using ::clearerr;
-using ::fclose;
-using ::feof;
-using ::ferror;
-using ::fflush;
-using ::fgetc;
-using ::fgetpos;
-using ::fgets;
-using ::fopen;
-using ::fprintf;
-using ::fputc;
-using ::fputs;
-using ::fread;
-using ::freopen;
-using ::fscanf;
-using ::fseek;
-using ::fsetpos;
-using ::ftell;
-using ::fwrite;
-using ::getc;
-using ::getchar;
-#if __cplusplus <= 201103L
-using ::gets;
-#endif
-using ::perror;
-using ::printf;
-using ::putc;
-using ::putchar;
-using ::puts;
-using ::remove;
-using ::rename;
-using ::rewind;
-using ::scanf;
-using ::setbuf;
-using ::setvbuf;
-using ::sprintf;
-using ::sscanf;
-using ::tmpfile;
-using ::tmpnam;
-using ::ungetc;
-using ::vfprintf;
-using ::vprintf;
-using ::vsprintf;
-
-using ::snprintf;
-using ::vfscanf;
-using ::vscanf;
-using ::vsnprintf;
-using ::vsscanf;
-}  // namespace std
-
-}  // extern C++
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CSTDIO__
diff --git a/r23/sources/cxx-stl/system/include/cstring b/r23/sources/cxx-stl/system/include/cstring
deleted file mode 100644
index d3d9387..0000000
--- a/r23/sources/cxx-stl/system/include/cstring
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTRING__
-#define BIONIC_LIBSTDCPP_INCLUDE_CSTRING__
-
-/*
- * Standard C++ Library wrapper around the C string.h header file.
- */
-
-#include <cstddef>
-#include <string.h>
-
-extern "C++" {
-
-namespace std
-{
-using ::memchr;
-using ::memcmp;
-using ::memcpy;
-using ::memmove;
-using ::memset;
-using ::strcat;
-using ::strchr;
-using ::strcmp;
-using ::strcoll;
-using ::strcpy;
-using ::strcspn;
-using ::strerror;
-using ::strlen;
-using ::strncat;
-using ::strncmp;
-using ::strncpy;
-using ::strpbrk;
-using ::strrchr;
-using ::strspn;
-using ::strstr;
-using ::strtok;
-using ::strxfrm;
-}  // namespace std
-
-}  // extern C++
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CSTRING__
diff --git a/r23/sources/cxx-stl/system/include/ctime b/r23/sources/cxx-stl/system/include/ctime
deleted file mode 100644
index 9e6744f..0000000
--- a/r23/sources/cxx-stl/system/include/ctime
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-#ifndef BIONIC_LIBSTDCPP_INCLUDE_CTIME__
-#define BIONIC_LIBSTDCPP_INCLUDE_CTIME__
-
-/*
- * Standard C++ Library wrapper around the C time.h header file.
- */
-
-#include <cstddef>
-#include <time.h>
-
-extern "C++" {
-
-namespace std 
-{
-// Types.
-using ::clock_t;
-using ::time_t;
-using ::tm;
-
-// Functions.
-using ::clock;
-using ::difftime;
-using ::mktime;
-using ::time;
-using ::asctime;
-using ::ctime;
-using ::gmtime;
-using ::localtime;
-using ::strftime;
-}  // namespace std
-
-}  // extern C++
-
-#endif  // BIONIC_LIBSTDCPP_INCLUDE_CTIME__
diff --git a/r23/sources/cxx-stl/system/include/cwchar b/r23/sources/cxx-stl/system/include/cwchar
deleted file mode 100644
index a4f9f42..0000000
--- a/r23/sources/cxx-stl/system/include/cwchar
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-/* IMPORTANT: cwchar and cwctype are not supported. See comment in
- * bionic/libc/include/wchar.h */
diff --git a/r23/sources/cxx-stl/system/include/cwctype_is_not_supported b/r23/sources/cxx-stl/system/include/cwctype_is_not_supported
deleted file mode 100644
index a4f9f42..0000000
--- a/r23/sources/cxx-stl/system/include/cwctype_is_not_supported
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (C) 2009 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-
-/* IMPORTANT: cwchar and cwctype are not supported. See comment in
- * bionic/libc/include/wchar.h */
diff --git a/r23/sources/cxx-stl/system/include/new b/r23/sources/cxx-stl/system/include/new
deleted file mode 100644
index 0253e8b..0000000
--- a/r23/sources/cxx-stl/system/include/new
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- c++ -*- */
-#ifndef __NEW__
-#define __NEW__
-
-#include <cstddef>
-
-extern "C++" {
-
-namespace std {
-    struct nothrow_t {};
-    extern const nothrow_t nothrow;
-}
-
-void* operator new(std::size_t);
-void* operator new[](std::size_t);
-void  operator delete(void*);
-void  operator delete[](void*);
-void* operator new(std::size_t, const std::nothrow_t&);
-void* operator new[](std::size_t, const std::nothrow_t&);
-void  operator delete(void*, const std::nothrow_t&);
-void  operator delete[](void*, const std::nothrow_t&);
-
-inline void* operator new(std::size_t, void* p) { return p; }
-inline void* operator new[](std::size_t, void* p) { return p; }
-
-// these next two are not really required, since exceptions are off
-inline void  operator delete(void*, void*) { }
-inline void  operator delete[](void*, void*) { }
-
-}  // extern C++
-
-#endif // __NEW__
diff --git a/r23/sources/cxx-stl/system/include/stl_pair.h b/r23/sources/cxx-stl/system/include/stl_pair.h
deleted file mode 100644
index 648f213..0000000
--- a/r23/sources/cxx-stl/system/include/stl_pair.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- */
-
-/* NOTE: This is an internal header file, included by other STL headers.
- *   You should not attempt to use it directly.
- */
-
-#ifndef __SGI_STL_INTERNAL_PAIR_H
-#define __SGI_STL_INTERNAL_PAIR_H
-
-#ifndef __STL_BEGIN_NAMESPACE
-#define __STL_BEGIN_NAMESPACE namespace std {
-#endif
-
-#ifndef __STL_END_NAMESPACE
-#define __STL_END_NAMESPACE   }
-#endif
-
-__STL_BEGIN_NAMESPACE
-
-template <class _T1, class _T2>
-struct pair {
-  typedef _T1 first_type;
-  typedef _T2 second_type;
-
-  _T1 first;
-  _T2 second;
-  pair() : first(), second() {}
-  pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {}
-
-  template <class _U1, class _U2>
-  pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {}
-};
-
-template <class _T1, class _T2>
-inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
-{
-  return __x.first == __y.first && __x.second == __y.second;
-}
-
-template <class _T1, class _T2>
-inline bool operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
-{
-  return __x.first < __y.first ||
-         (!(__y.first < __x.first) && __x.second < __y.second);
-}
-
-template <class _T1, class _T2>
-inline bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
-  return !(__x == __y);
-}
-
-template <class _T1, class _T2>
-inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
-  return __y < __x;
-}
-
-template <class _T1, class _T2>
-inline bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
-  return !(__y < __x);
-}
-
-template <class _T1, class _T2>
-inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
-  return !(__x < __y);
-}
-
-template <class _T1, class _T2>
-inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y)
-{
-  return pair<_T1, _T2>(__x, __y);
-}
-
-__STL_END_NAMESPACE
-
-#endif /* __SGI_STL_INTERNAL_PAIR_H */
-
-// Local Variables:
-// mode:C++
-// End:
diff --git a/r23/sources/cxx-stl/system/include/typeinfo b/r23/sources/cxx-stl/system/include/typeinfo
deleted file mode 100644
index 4b48a79..0000000
--- a/r23/sources/cxx-stl/system/include/typeinfo
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _TYPEINFO_HEADER_GAURD
-#define _TYPEINFO_HEADER_GAURD
-
-extern "C++" {
-
-namespace std {
-    class type_info;
-    class bad_cast;
-    class bad_typeid;
-};
-
-
-class type_info {
-public:
-    type_info();
-    virtual ~type_info();
-
-    char const * name() const;
-
-    bool operator==(type_info const & right) const;
-    bool operator!=(type_info const & right) const;
-    bool before(type_info const & right) const;
-
-private:
-    type_info(type_info const & right);
-    type_info & operator=(type_info const & right);
-};
-
-}  // C++
-
-#endif
diff --git a/r23/sources/cxx-stl/system/include/utility b/r23/sources/cxx-stl/system/include/utility
deleted file mode 100644
index 12044a7..0000000
--- a/r23/sources/cxx-stl/system/include/utility
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * 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 OWNER 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.
- */
-#ifndef _CPP_UTILITY
-#define _CPP_UTILITY
-
-#pragma GCC system_header
-
-#define  __STL_BEGIN_NAMESPACE  namespace std {
-#define  __STL_END_NAMESPACE    }
-
-#include <stl_pair.h>
-
-#endif /* _CPP_UTILITY */